Merge remote-tracking branch 'origin/new/bug_8525'
authorPaul Poulain <paul.poulain@biblibre.com>
Fri, 19 Oct 2012 16:03:36 +0000 (18:03 +0200)
committerPaul Poulain <paul.poulain@biblibre.com>
Fri, 19 Oct 2012 16:03:36 +0000 (18:03 +0200)
3338 files changed:
C4/Accounts.pm
C4/Acquisition.pm
C4/Auth.pm
C4/Auth_with_ldap.pm
C4/AuthoritiesMarc.pm
C4/BackgroundJob.pm
C4/Barcodes.pm
C4/Barcodes/EAN13.pm
C4/Barcodes/hbyymmincr.pm
C4/Biblio.pm
C4/Branch.pm
C4/Breeding.pm
C4/Budgets.pm
C4/Calendar.pm
C4/Circulation.pm
C4/Context.pm
C4/Creators/PDF.pm
C4/Csv.pm
C4/External/BakerTaylor.pm
C4/HoldsQueue.pm [new file with mode: 0755]
C4/ILSDI/Services.pm
C4/ImportBatch.pm
C4/ImportExportFramework.pm
C4/Installer.pm
C4/Installer/PerlDependencies.pm
C4/ItemCirculationAlertPreference.pm
C4/Items.pm
C4/Koha.pm
C4/Letters.pm
C4/Linker/Default.pm
C4/Matcher.pm
C4/Members.pm
C4/Message.pm
C4/Output.pm
C4/Print.pm
C4/Record.pm
C4/Reports/Guided.pm
C4/Reserves.pm
C4/SIP/ILS.pm
C4/SIP/ILS/Transaction/Checkout.pm
C4/SIP/ILS/Transaction/Renew.pm
C4/SIP/ILS/Transaction/RenewAll.pm
C4/SIP/Sip/MsgType.pm
C4/SQLHelper.pm
C4/Search.pm
C4/Serials.pm
C4/ShelfBrowser.pm
C4/Stats.pm
C4/Tags.pm
C4/Templates.pm
C4/Utils.pm
C4/VirtualShelves.pm
C4/VirtualShelves/Page.pm
C4/XSLT.pm
INSTALL.ubuntu.12.04 [new file with mode: 0644]
Koha/Authority.pm [new file with mode: 0644]
Koha/Calendar.pm
Koha/DateUtils.pm
Koha/Filter/MARC/EmbedSeeFromHeadings.pm [new file with mode: 0644]
Koha/Filter/MARC/Null.pm [new file with mode: 0644]
Koha/RecordProcessor.pm [new file with mode: 0644]
Koha/RecordProcessor/Base.pm [new file with mode: 0644]
Koha/SearchEngine/Solr/Index.pm
Koha/SuggestionEngine.pm [new file with mode: 0644]
Koha/SuggestionEngine/Base.pm [new file with mode: 0644]
Koha/SuggestionEngine/Plugin/AuthorityFile.pm [new file with mode: 0644]
Koha/SuggestionEngine/Plugin/ExplodedTerms.pm [new file with mode: 0644]
Koha/SuggestionEngine/Plugin/Null.pm [new file with mode: 0644]
Koha/Template/Plugin/KohaAuthorisedValues.pm [new file with mode: 0644]
Makefile.PL
about.pl
acqui/addorder.pl
acqui/addorderiso2709.pl
acqui/basket.pl
acqui/basketgroup.pl
acqui/basketheader.pl
acqui/fetch_sort_dropbox.pl
acqui/finishreceive.pl
acqui/histsearch.pl
acqui/invoice.pl [new file with mode: 0755]
acqui/invoices.pl [new file with mode: 0755]
acqui/lateorders.pl
acqui/neworderempty.pl
acqui/orderreceive.pl
acqui/parcel.pl
acqui/parcels.pl
acqui/pdfformat/layout3pages.pm
acqui/spent.pl
acqui/supplier.pl
acqui/updatesupplier.pl
acqui/z3950_search.pl
admin/aqbudgetperiods.pl
admin/authorised_values.pl
admin/didyoumean.pl [new file with mode: 0755]
admin/fieldmapping.pl
admin/marc_subfields_structure.pl
admin/marctagstructure.pl
admin/matching-rules.pl
admin/preferences.pl
admin/smart-rules.pl
admin/systempreferences.pl
admin/transport-cost-matrix.pl [new file with mode: 0755]
admin/z3950servers.pl
authorities/auth_finder.pl
authorities/authorities-home.pl
authorities/authorities.pl
authorities/blinddetail-biblio-search.pl
authorities/detail-biblio-search.pl
authorities/detail.pl
catalogue/MARCdetail.pl
catalogue/detail.pl
catalogue/imageviewer.pl
catalogue/issuehistory.pl
catalogue/moredetail.pl
catalogue/search.pl
cataloguing/additem.pl
cataloguing/merge.pl
cataloguing/merge_ajax.pl
cataloguing/value_builder/marc21_field_008_authorities.pl
cataloguing/value_builder/marc21_linking_section.pl [new file with mode: 0644]
cataloguing/value_builder/stocknumberAV.pl [new file with mode: 0755]
cataloguing/z3950_search.pl
circ/circulation.pl
circ/pendingreserves.pl
circ/returns.pl
circ/view_holdsqueue.pl
debian/rules
docs/history.txt
edithelp.pl
etc/koha-conf.xml
etc/zebradb/authorities/etc/bib1.att
etc/zebradb/marc_defs/marc21/authorities/authority-koha-indexdefs.xml
etc/zebradb/marc_defs/marc21/authorities/authority-zebra-indexdefs.xsl
etc/zebradb/marc_defs/marc21/authorities/record.abs
etc/zebradb/marc_defs/marc21/biblios/biblio-koha-indexdefs.xml
etc/zebradb/marc_defs/marc21/biblios/biblio-zebra-indexdefs.xsl
etc/zebradb/marc_defs/marc21/biblios/record.abs
etc/zebradb/marc_defs/unimarc/biblios/biblio-koha-indexdefs.xml
etc/zebradb/marc_defs/unimarc/biblios/record.abs
etc/zebradb/xsl/koha-indexdefs-to-zebra.xsl
help.pl
install_misc/ubuntu-pkg-check.sh
install_misc/ubuntu.10.04.packages [new file with mode: 0644]
install_misc/ubuntu.10.10.packages [new file with mode: 0644]
install_misc/ubuntu.12.04.packages [new file with mode: 0644]
install_misc/ubuntu.packages
install_misc/ubuntu_maverick.packages [deleted file]
installer/data/mysql/atomicupdate/importauthorities.pl [new file with mode: 0755]
installer/data/mysql/de-DE/optional/sample_z3950_servers.sql
installer/data/mysql/en/optional/sample_holidays.sql
installer/data/mysql/en/optional/sample_z3950_servers.sql
installer/data/mysql/es-ES/optional/sample_z3950_servers.sql
installer/data/mysql/fr-FR/1-Obligatoire/unimarc_standard_system_preferences.sql
installer/data/mysql/kohastructure.sql
installer/data/mysql/pl-PL/optional/sample_z3950_servers.sql
installer/data/mysql/sysprefs.sql
installer/data/mysql/updatedatabase.pl
koha-tmpl/intranet-tmpl/lib/jquery/plugins/jquery.jstree.js [new file with mode: 0644]
koha-tmpl/intranet-tmpl/lib/jquery/plugins/themes/classic/d.gif [new file with mode: 0644]
koha-tmpl/intranet-tmpl/lib/jquery/plugins/themes/classic/d.png [new file with mode: 0644]
koha-tmpl/intranet-tmpl/lib/jquery/plugins/themes/classic/dot_for_ie.gif [new file with mode: 0644]
koha-tmpl/intranet-tmpl/lib/jquery/plugins/themes/classic/style.css [new file with mode: 0644]
koha-tmpl/intranet-tmpl/lib/jquery/plugins/themes/classic/throbber.gif [new file with mode: 0644]
koha-tmpl/intranet-tmpl/prog/en/css/datatables.css
koha-tmpl/intranet-tmpl/prog/en/css/staff-global.css
koha-tmpl/intranet-tmpl/prog/en/includes/acquisitions-menu.inc
koha-tmpl/intranet-tmpl/prog/en/includes/acquisitions-toolbar.inc
koha-tmpl/intranet-tmpl/prog/en/includes/admin-menu.inc
koha-tmpl/intranet-tmpl/prog/en/includes/auth-finder-search.inc
koha-tmpl/intranet-tmpl/prog/en/includes/authorities-search-results.inc
koha-tmpl/intranet-tmpl/prog/en/includes/authorities-search.inc
koha-tmpl/intranet-tmpl/prog/en/includes/authorities.inc [new file with mode: 0644]
koha-tmpl/intranet-tmpl/prog/en/includes/biblio-view-menu.inc
koha-tmpl/intranet-tmpl/prog/en/includes/calendar.inc
koha-tmpl/intranet-tmpl/prog/en/includes/cat-toolbar.inc
koha-tmpl/intranet-tmpl/prog/en/includes/checkouts-table-footer.inc
koha-tmpl/intranet-tmpl/prog/en/includes/facets.inc
koha-tmpl/intranet-tmpl/prog/en/includes/form-blocks.inc [new file with mode: 0644]
koha-tmpl/intranet-tmpl/prog/en/includes/header.inc
koha-tmpl/intranet-tmpl/prog/en/includes/patron-title.inc
koha-tmpl/intranet-tmpl/prog/en/includes/prefs-admin-search.inc
koha-tmpl/intranet-tmpl/prog/en/includes/search_indexes.inc
koha-tmpl/intranet-tmpl/prog/en/includes/serials-search.inc
koha-tmpl/intranet-tmpl/prog/en/includes/sysprefs-admin-search.inc [deleted file]
koha-tmpl/intranet-tmpl/prog/en/includes/tools-menu.inc
koha-tmpl/intranet-tmpl/prog/en/js/acq.js
koha-tmpl/intranet-tmpl/prog/en/js/datatables.js
koha-tmpl/intranet-tmpl/prog/en/lib/jquery/images/ui-bg_flat_0_aaaaaa_40x100.png [new file with mode: 0644]
koha-tmpl/intranet-tmpl/prog/en/lib/jquery/images/ui-bg_flat_75_ffffff_40x100.png [new file with mode: 0644]
koha-tmpl/intranet-tmpl/prog/en/lib/jquery/images/ui-bg_glass_55_fbf9ee_1x400.png [new file with mode: 0644]
koha-tmpl/intranet-tmpl/prog/en/lib/jquery/images/ui-bg_glass_65_ffffff_1x400.png [new file with mode: 0644]
koha-tmpl/intranet-tmpl/prog/en/lib/jquery/images/ui-bg_glass_75_dadada_1x400.png [new file with mode: 0644]
koha-tmpl/intranet-tmpl/prog/en/lib/jquery/images/ui-bg_glass_75_e6e6e6_1x400.png [new file with mode: 0644]
koha-tmpl/intranet-tmpl/prog/en/lib/jquery/images/ui-bg_glass_95_fef1ec_1x400.png [new file with mode: 0644]
koha-tmpl/intranet-tmpl/prog/en/lib/jquery/images/ui-bg_highlight-soft_75_cccccc_1x100.png [new file with mode: 0644]
koha-tmpl/intranet-tmpl/prog/en/lib/jquery/images/ui-icons_2e83ff_256x240.png [new file with mode: 0644]
koha-tmpl/intranet-tmpl/prog/en/lib/jquery/images/ui-icons_888888_256x240.png [new file with mode: 0644]
koha-tmpl/intranet-tmpl/prog/en/lib/jquery/images/ui-icons_cd0a0a_256x240.png [new file with mode: 0644]
koha-tmpl/intranet-tmpl/prog/en/lib/jquery/jquery-ui.css
koha-tmpl/intranet-tmpl/prog/en/lib/jquery/jquery-ui.js
koha-tmpl/intranet-tmpl/prog/en/modules/about.tt
koha-tmpl/intranet-tmpl/prog/en/modules/acqui/addorderiso2709.tt
koha-tmpl/intranet-tmpl/prog/en/modules/acqui/basket.tt
koha-tmpl/intranet-tmpl/prog/en/modules/acqui/basketgroup.tt
koha-tmpl/intranet-tmpl/prog/en/modules/acqui/basketheader.tt
koha-tmpl/intranet-tmpl/prog/en/modules/acqui/histsearch.tt
koha-tmpl/intranet-tmpl/prog/en/modules/acqui/invoice.tt [new file with mode: 0644]
koha-tmpl/intranet-tmpl/prog/en/modules/acqui/invoices.tt [new file with mode: 0644]
koha-tmpl/intranet-tmpl/prog/en/modules/acqui/neworderempty.tt
koha-tmpl/intranet-tmpl/prog/en/modules/acqui/orderreceive.tt
koha-tmpl/intranet-tmpl/prog/en/modules/acqui/parcel.tt
koha-tmpl/intranet-tmpl/prog/en/modules/acqui/parcels.tt
koha-tmpl/intranet-tmpl/prog/en/modules/acqui/spent.tt
koha-tmpl/intranet-tmpl/prog/en/modules/acqui/supplier.tt
koha-tmpl/intranet-tmpl/prog/en/modules/acqui/z3950_search.tt
koha-tmpl/intranet-tmpl/prog/en/modules/admin/admin-home.tt
koha-tmpl/intranet-tmpl/prog/en/modules/admin/aqbudgetperiods.tt
koha-tmpl/intranet-tmpl/prog/en/modules/admin/aqcontract.tt
koha-tmpl/intranet-tmpl/prog/en/modules/admin/authorised_values.tt
koha-tmpl/intranet-tmpl/prog/en/modules/admin/didyoumean.tt [new file with mode: 0644]
koha-tmpl/intranet-tmpl/prog/en/modules/admin/fieldmapping.tt
koha-tmpl/intranet-tmpl/prog/en/modules/admin/matching-rules.tt
koha-tmpl/intranet-tmpl/prog/en/modules/admin/preferences.tt
koha-tmpl/intranet-tmpl/prog/en/modules/admin/preferences/acquisitions.pref
koha-tmpl/intranet-tmpl/prog/en/modules/admin/preferences/authorities.pref
koha-tmpl/intranet-tmpl/prog/en/modules/admin/preferences/cataloguing.pref
koha-tmpl/intranet-tmpl/prog/en/modules/admin/preferences/circulation.pref
koha-tmpl/intranet-tmpl/prog/en/modules/admin/preferences/opac.pref
koha-tmpl/intranet-tmpl/prog/en/modules/admin/preferences/searching.pref
koha-tmpl/intranet-tmpl/prog/en/modules/admin/smart-rules.tt
koha-tmpl/intranet-tmpl/prog/en/modules/admin/systempreferences.tt
koha-tmpl/intranet-tmpl/prog/en/modules/admin/transport-cost-matrix.tt [new file with mode: 0644]
koha-tmpl/intranet-tmpl/prog/en/modules/authorities/authorities.tt
koha-tmpl/intranet-tmpl/prog/en/modules/authorities/blinddetail-biblio-search.tt
koha-tmpl/intranet-tmpl/prog/en/modules/authorities/detail.tt
koha-tmpl/intranet-tmpl/prog/en/modules/authorities/searchresultlist-auth.tt
koha-tmpl/intranet-tmpl/prog/en/modules/authorities/searchresultlist.tt
koha-tmpl/intranet-tmpl/prog/en/modules/catalogue/detail.tt
koha-tmpl/intranet-tmpl/prog/en/modules/catalogue/issuehistory.tt
koha-tmpl/intranet-tmpl/prog/en/modules/catalogue/moredetail.tt
koha-tmpl/intranet-tmpl/prog/en/modules/catalogue/results.tt
koha-tmpl/intranet-tmpl/prog/en/modules/cataloguing/addbiblio.tt
koha-tmpl/intranet-tmpl/prog/en/modules/cataloguing/merge.tt
koha-tmpl/intranet-tmpl/prog/en/modules/cataloguing/value_builder/marc21_linking_section.tt [new file with mode: 0644]
koha-tmpl/intranet-tmpl/prog/en/modules/cataloguing/z3950_search.tt
koha-tmpl/intranet-tmpl/prog/en/modules/circ/circulation.tt
koha-tmpl/intranet-tmpl/prog/en/modules/circ/pendingreserves.tt
koha-tmpl/intranet-tmpl/prog/en/modules/circ/returns.tt
koha-tmpl/intranet-tmpl/prog/en/modules/circ/waitingreserves.tt
koha-tmpl/intranet-tmpl/prog/en/modules/labels/label-print.tt
koha-tmpl/intranet-tmpl/prog/en/modules/members/boraccount.tt
koha-tmpl/intranet-tmpl/prog/en/modules/members/member.tt
koha-tmpl/intranet-tmpl/prog/en/modules/members/memberentrygen.tt
koha-tmpl/intranet-tmpl/prog/en/modules/members/moremember.tt
koha-tmpl/intranet-tmpl/prog/en/modules/members/pay.tt
koha-tmpl/intranet-tmpl/prog/en/modules/members/paycollect.tt
koha-tmpl/intranet-tmpl/prog/en/modules/members/readingrec.tt
koha-tmpl/intranet-tmpl/prog/en/modules/reports/dictionary.tt
koha-tmpl/intranet-tmpl/prog/en/modules/reports/guided_reports_start.tt
koha-tmpl/intranet-tmpl/prog/en/modules/reports/serials_stats.tt
koha-tmpl/intranet-tmpl/prog/en/modules/serials/claims.tt
koha-tmpl/intranet-tmpl/prog/en/modules/serials/routing.tt
koha-tmpl/intranet-tmpl/prog/en/modules/serials/serial-issues.tt
koha-tmpl/intranet-tmpl/prog/en/modules/serials/serials-collection.tt
koha-tmpl/intranet-tmpl/prog/en/modules/serials/serials-edit.tt
koha-tmpl/intranet-tmpl/prog/en/modules/serials/serials-home.tt
koha-tmpl/intranet-tmpl/prog/en/modules/serials/serials-search.tt [new file with mode: 0644]
koha-tmpl/intranet-tmpl/prog/en/modules/serials/subscription-detail.tt
koha-tmpl/intranet-tmpl/prog/en/modules/serials/viewalerts.tt
koha-tmpl/intranet-tmpl/prog/en/modules/suggestion/suggestion.tt
koha-tmpl/intranet-tmpl/prog/en/modules/tools/batchMod-del.tt
koha-tmpl/intranet-tmpl/prog/en/modules/tools/batchMod-edit.tt
koha-tmpl/intranet-tmpl/prog/en/modules/tools/export.tt
koha-tmpl/intranet-tmpl/prog/en/modules/tools/holidays.tt
koha-tmpl/intranet-tmpl/prog/en/modules/tools/manage-marc-import.tt
koha-tmpl/intranet-tmpl/prog/en/modules/tools/stage-marc-import.tt
koha-tmpl/intranet-tmpl/prog/en/xslt/MARC21slim2intranetDetail.xsl
koha-tmpl/intranet-tmpl/prog/en/xslt/MARC21slim2intranetResults.xsl
koha-tmpl/intranet-tmpl/prog/en/xslt/MARC21slimUtils.xsl
koha-tmpl/intranet-tmpl/prog/en/xslt/NORMARCslim2intranetDetail.xsl
koha-tmpl/intranet-tmpl/prog/en/xslt/NORMARCslim2intranetResults.xsl
koha-tmpl/intranet-tmpl/prog/en/xslt/UNIMARCslim2intranetDetail.xsl
koha-tmpl/intranet-tmpl/prog/en/xslt/UNIMARCslim2intranetResults.xsl
koha-tmpl/intranet-tmpl/prog/img/clear-field.png [new file with mode: 0644]
koha-tmpl/intranet-tmpl/prog/img/clone-field.png [new file with mode: 0644]
koha-tmpl/intranet-tmpl/prog/img/famfamfam/GR.png [new file with mode: 0644]
koha-tmpl/intranet-tmpl/prog/img/famfamfam/TD.png [new file with mode: 0644]
koha-tmpl/intranet-tmpl/prog/img/itemtypeimg/colors/000000.png [new file with mode: 0644]
koha-tmpl/intranet-tmpl/prog/img/itemtypeimg/colors/006600.png [new file with mode: 0644]
koha-tmpl/intranet-tmpl/prog/img/itemtypeimg/colors/3333cc.png [new file with mode: 0644]
koha-tmpl/intranet-tmpl/prog/img/itemtypeimg/colors/660000.png [new file with mode: 0644]
koha-tmpl/intranet-tmpl/prog/img/itemtypeimg/colors/6600cc.png [new file with mode: 0644]
koha-tmpl/intranet-tmpl/prog/img/itemtypeimg/colors/663333.png [new file with mode: 0644]
koha-tmpl/intranet-tmpl/prog/img/itemtypeimg/colors/6666cc.png [new file with mode: 0644]
koha-tmpl/intranet-tmpl/prog/img/itemtypeimg/colors/66cc66.png [new file with mode: 0644]
koha-tmpl/intranet-tmpl/prog/img/itemtypeimg/colors/990000.png [new file with mode: 0644]
koha-tmpl/intranet-tmpl/prog/img/itemtypeimg/colors/996633.png [new file with mode: 0644]
koha-tmpl/intranet-tmpl/prog/img/itemtypeimg/colors/999999.png [new file with mode: 0644]
koha-tmpl/intranet-tmpl/prog/img/itemtypeimg/colors/9999cc.png [new file with mode: 0644]
koha-tmpl/intranet-tmpl/prog/img/itemtypeimg/colors/99cc33.png [new file with mode: 0644]
koha-tmpl/intranet-tmpl/prog/img/itemtypeimg/colors/cc3333.png [new file with mode: 0644]
koha-tmpl/intranet-tmpl/prog/img/itemtypeimg/colors/cc6666.png [new file with mode: 0644]
koha-tmpl/intranet-tmpl/prog/img/itemtypeimg/colors/cc66cc.png [new file with mode: 0644]
koha-tmpl/intranet-tmpl/prog/img/itemtypeimg/colors/cc9999.png [new file with mode: 0644]
koha-tmpl/intranet-tmpl/prog/img/itemtypeimg/colors/cc99cc.png [new file with mode: 0644]
koha-tmpl/intranet-tmpl/prog/img/itemtypeimg/colors/cccc00.png [new file with mode: 0644]
koha-tmpl/intranet-tmpl/prog/img/itemtypeimg/colors/ffff33.png [new file with mode: 0644]
koha-tmpl/intranet-tmpl/prog/img/itemtypeimg/colors/ffffcc.png [new file with mode: 0644]
koha-tmpl/intranet-tmpl/prog/img/itemtypeimg/colors/ffffff.png [new file with mode: 0644]
koha-tmpl/opac-tmpl/ccsr/en/css/babeltheque.css [new file with mode: 0644]
koha-tmpl/opac-tmpl/ccsr/en/css/colors.css [new file with mode: 0644]
koha-tmpl/opac-tmpl/ccsr/en/css/datatables.css [new file with mode: 0644]
koha-tmpl/opac-tmpl/ccsr/en/css/hierarchy.css [new file with mode: 0644]
koha-tmpl/opac-tmpl/ccsr/en/css/jquery.rating.css [new file with mode: 0644]
koha-tmpl/opac-tmpl/ccsr/en/css/mobile.css [new file with mode: 0644]
koha-tmpl/opac-tmpl/ccsr/en/css/opac.css [new file with mode: 0644]
koha-tmpl/opac-tmpl/ccsr/en/css/print.css [new file with mode: 0644]
koha-tmpl/opac-tmpl/ccsr/en/css/sanop.css [new file with mode: 0644]
koha-tmpl/opac-tmpl/ccsr/en/css/sco.css [new file with mode: 0644]
koha-tmpl/opac-tmpl/ccsr/en/includes/doc-head-close.inc [new file with mode: 0644]
koha-tmpl/opac-tmpl/ccsr/en/includes/masthead.inc [new file with mode: 0644]
koha-tmpl/opac-tmpl/ccsr/en/includes/navigation.inc [new file with mode: 0644]
koha-tmpl/opac-tmpl/ccsr/en/includes/opac-bottom.inc [new file with mode: 0644]
koha-tmpl/opac-tmpl/ccsr/en/includes/usermenu.inc [new file with mode: 0644]
koha-tmpl/opac-tmpl/ccsr/en/js/amazonimages.js [new file with mode: 0644]
koha-tmpl/opac-tmpl/ccsr/en/js/bakertaylorimages.js [new file with mode: 0644]
koha-tmpl/opac-tmpl/ccsr/en/js/basket.js [new file with mode: 0644]
koha-tmpl/opac-tmpl/ccsr/en/js/datatables.js [new file with mode: 0644]
koha-tmpl/opac-tmpl/ccsr/en/js/google-jackets.js [new file with mode: 0644]
koha-tmpl/opac-tmpl/ccsr/en/js/googleindictransliteration.js [new file with mode: 0644]
koha-tmpl/opac-tmpl/ccsr/en/js/localcovers.js [new file with mode: 0644]
koha-tmpl/opac-tmpl/ccsr/en/js/openlibrary.js [new file with mode: 0644]
koha-tmpl/opac-tmpl/ccsr/en/js/script.js [new file with mode: 0644]
koha-tmpl/opac-tmpl/ccsr/en/js/tags.js [new file with mode: 0644]
koha-tmpl/opac-tmpl/ccsr/en/lib/greybox/AJS.js [new file with mode: 0644]
koha-tmpl/opac-tmpl/ccsr/en/lib/greybox/AJS_fx.js [new file with mode: 0644]
koha-tmpl/opac-tmpl/ccsr/en/lib/greybox/GreyBox_v5_5.zip [new file with mode: 0644]
koha-tmpl/opac-tmpl/ccsr/en/lib/greybox/GreyBox_v5_5/LGPL.txt [new file with mode: 0644]
koha-tmpl/opac-tmpl/ccsr/en/lib/greybox/GreyBox_v5_5/about.html [new file with mode: 0644]
koha-tmpl/opac-tmpl/ccsr/en/lib/greybox/GreyBox_v5_5/adobe_images/nav_buttons.psd [new file with mode: 0644]
koha-tmpl/opac-tmpl/ccsr/en/lib/greybox/GreyBox_v5_5/advance_usage.html [new file with mode: 0644]
koha-tmpl/opac-tmpl/ccsr/en/lib/greybox/GreyBox_v5_5/combiner.py [new file with mode: 0644]
koha-tmpl/opac-tmpl/ccsr/en/lib/greybox/GreyBox_v5_5/compressing_greybox.html [new file with mode: 0644]
koha-tmpl/opac-tmpl/ccsr/en/lib/greybox/GreyBox_v5_5/compression_lib/AJS_minify.py [new file with mode: 0644]
koha-tmpl/opac-tmpl/ccsr/en/lib/greybox/GreyBox_v5_5/compression_lib/__init__.py [new file with mode: 0644]
koha-tmpl/opac-tmpl/ccsr/en/lib/greybox/GreyBox_v5_5/examples.html [new file with mode: 0644]
koha-tmpl/opac-tmpl/ccsr/en/lib/greybox/GreyBox_v5_5/greybox_source/auto_deco.js [new file with mode: 0644]
koha-tmpl/opac-tmpl/ccsr/en/lib/greybox/GreyBox_v5_5/greybox_source/base/AJS.js [new file with mode: 0644]
koha-tmpl/opac-tmpl/ccsr/en/lib/greybox/GreyBox_v5_5/greybox_source/base/AJS_fx.js [new file with mode: 0644]
koha-tmpl/opac-tmpl/ccsr/en/lib/greybox/GreyBox_v5_5/greybox_source/base/base.css [new file with mode: 0644]
koha-tmpl/opac-tmpl/ccsr/en/lib/greybox/GreyBox_v5_5/greybox_source/base/base.js [new file with mode: 0644]
koha-tmpl/opac-tmpl/ccsr/en/lib/greybox/GreyBox_v5_5/greybox_source/base/indicator.gif [new file with mode: 0644]
koha-tmpl/opac-tmpl/ccsr/en/lib/greybox/GreyBox_v5_5/greybox_source/base/loader_frame.html [new file with mode: 0644]
koha-tmpl/opac-tmpl/ccsr/en/lib/greybox/GreyBox_v5_5/greybox_source/gallery/g_close.gif [new file with mode: 0644]
koha-tmpl/opac-tmpl/ccsr/en/lib/greybox/GreyBox_v5_5/greybox_source/gallery/gallery.css [new file with mode: 0644]
koha-tmpl/opac-tmpl/ccsr/en/lib/greybox/GreyBox_v5_5/greybox_source/gallery/gallery.js [new file with mode: 0644]
koha-tmpl/opac-tmpl/ccsr/en/lib/greybox/GreyBox_v5_5/greybox_source/set/next.gif [new file with mode: 0644]
koha-tmpl/opac-tmpl/ccsr/en/lib/greybox/GreyBox_v5_5/greybox_source/set/prev.gif [new file with mode: 0644]
koha-tmpl/opac-tmpl/ccsr/en/lib/greybox/GreyBox_v5_5/greybox_source/set/set.css [new file with mode: 0644]
koha-tmpl/opac-tmpl/ccsr/en/lib/greybox/GreyBox_v5_5/greybox_source/set/set.js [new file with mode: 0644]
koha-tmpl/opac-tmpl/ccsr/en/lib/greybox/GreyBox_v5_5/greybox_source/window/header_bg.gif [new file with mode: 0644]
koha-tmpl/opac-tmpl/ccsr/en/lib/greybox/GreyBox_v5_5/greybox_source/window/w_close.gif [new file with mode: 0644]
koha-tmpl/opac-tmpl/ccsr/en/lib/greybox/GreyBox_v5_5/greybox_source/window/window.css [new file with mode: 0644]
koha-tmpl/opac-tmpl/ccsr/en/lib/greybox/GreyBox_v5_5/greybox_source/window/window.js [new file with mode: 0644]
koha-tmpl/opac-tmpl/ccsr/en/lib/greybox/GreyBox_v5_5/installation.html [new file with mode: 0644]
koha-tmpl/opac-tmpl/ccsr/en/lib/greybox/GreyBox_v5_5/normal_usage.html [new file with mode: 0644]
koha-tmpl/opac-tmpl/ccsr/en/lib/greybox/GreyBox_v5_5/static_files/help.css [new file with mode: 0644]
koha-tmpl/opac-tmpl/ccsr/en/lib/greybox/GreyBox_v5_5/static_files/help.js [new file with mode: 0644]
koha-tmpl/opac-tmpl/ccsr/en/lib/greybox/GreyBox_v5_5/static_files/logo.gif [new file with mode: 0644]
koha-tmpl/opac-tmpl/ccsr/en/lib/greybox/GreyBox_v5_5/static_files/night_valley.jpg [new file with mode: 0644]
koha-tmpl/opac-tmpl/ccsr/en/lib/greybox/GreyBox_v5_5/static_files/night_valley_thumb.gif [new file with mode: 0644]
koha-tmpl/opac-tmpl/ccsr/en/lib/greybox/GreyBox_v5_5/static_files/night_valley_thumb.jpg [new file with mode: 0644]
koha-tmpl/opac-tmpl/ccsr/en/lib/greybox/GreyBox_v5_5/static_files/salt.jpg [new file with mode: 0644]
koha-tmpl/opac-tmpl/ccsr/en/lib/greybox/GreyBox_v5_5/static_files/salt_thumb.gif [new file with mode: 0644]
koha-tmpl/opac-tmpl/ccsr/en/lib/greybox/g_close.gif [new file with mode: 0644]
koha-tmpl/opac-tmpl/ccsr/en/lib/greybox/gb_scripts.js [new file with mode: 0644]
koha-tmpl/opac-tmpl/ccsr/en/lib/greybox/gb_styles.css [new file with mode: 0644]
koha-tmpl/opac-tmpl/ccsr/en/lib/greybox/header_bg.gif [new file with mode: 0644]
koha-tmpl/opac-tmpl/ccsr/en/lib/greybox/indicator.gif [new file with mode: 0644]
koha-tmpl/opac-tmpl/ccsr/en/lib/greybox/loader_frame.html [new file with mode: 0644]
koha-tmpl/opac-tmpl/ccsr/en/lib/greybox/next.gif [new file with mode: 0644]
koha-tmpl/opac-tmpl/ccsr/en/lib/greybox/prev.gif [new file with mode: 0644]
koha-tmpl/opac-tmpl/ccsr/en/lib/greybox/w_close.gif [new file with mode: 0644]
koha-tmpl/opac-tmpl/ccsr/en/lib/jquery/images/ui-icons_222222_256x240.png [new file with mode: 0644]
koha-tmpl/opac-tmpl/ccsr/en/lib/jquery/images/ui-icons_454545_256x240.png [new file with mode: 0644]
koha-tmpl/opac-tmpl/ccsr/en/lib/jquery/jquery-ui.css [new file with mode: 0644]
koha-tmpl/opac-tmpl/ccsr/en/lib/jquery/jquery-ui.js [new file with mode: 0644]
koha-tmpl/opac-tmpl/ccsr/en/lib/jquery/jquery.js [new file with mode: 0644]
koha-tmpl/opac-tmpl/ccsr/en/lib/jquery/plugins/jquery.checkboxes.min.js [new file with mode: 0644]
koha-tmpl/opac-tmpl/ccsr/en/lib/jquery/plugins/jquery.dataTables.min.js [new file with mode: 0644]
koha-tmpl/opac-tmpl/ccsr/en/lib/jquery/plugins/jquery.highlight-3.js [new file with mode: 0644]
koha-tmpl/opac-tmpl/ccsr/en/lib/jquery/plugins/jquery.hoverIntent.minified.js [new file with mode: 0644]
koha-tmpl/opac-tmpl/ccsr/en/lib/jquery/plugins/jquery.metadata.min.js [new file with mode: 0644]
koha-tmpl/opac-tmpl/ccsr/en/lib/jquery/plugins/jquery.rating.js [new file with mode: 0644]
koha-tmpl/opac-tmpl/ccsr/en/lib/jquery/plugins/jquery.tablesorter.min.js [new file with mode: 0644]
koha-tmpl/opac-tmpl/ccsr/en/lib/jquery/plugins/jquery.tools.min.js [new file with mode: 0644]
koha-tmpl/opac-tmpl/ccsr/images/Star0.gif [new file with mode: 0644]
koha-tmpl/opac-tmpl/ccsr/images/Star1.gif [new file with mode: 0644]
koha-tmpl/opac-tmpl/ccsr/images/Star2.gif [new file with mode: 0644]
koha-tmpl/opac-tmpl/ccsr/images/Star3.gif [new file with mode: 0644]
koha-tmpl/opac-tmpl/ccsr/images/Star4.gif [new file with mode: 0644]
koha-tmpl/opac-tmpl/ccsr/images/Star5.gif [new file with mode: 0644]
koha-tmpl/opac-tmpl/ccsr/images/arrow-right-grey-11x6.png [new file with mode: 0644]
koha-tmpl/opac-tmpl/ccsr/images/arrow-right-grey-logo.png [new file with mode: 0644]
koha-tmpl/opac-tmpl/ccsr/images/asc.gif [new file with mode: 0644]
koha-tmpl/opac-tmpl/ccsr/images/ascdesc.gif [new file with mode: 0644]
koha-tmpl/opac-tmpl/ccsr/images/bg-result-light.png [new file with mode: 0644]
koha-tmpl/opac-tmpl/ccsr/images/bg-results-control.png [new file with mode: 0644]
koha-tmpl/opac-tmpl/ccsr/images/bg-search-bar.png [new file with mode: 0644]
koha-tmpl/opac-tmpl/ccsr/images/bonus.png [new file with mode: 0644]
koha-tmpl/opac-tmpl/ccsr/images/browse-next.gif [new file with mode: 0644]
koha-tmpl/opac-tmpl/ccsr/images/browse-prev.gif [new file with mode: 0644]
koha-tmpl/opac-tmpl/ccsr/images/btn-search-bar.png [new file with mode: 0644]
koha-tmpl/opac-tmpl/ccsr/images/caret.gif [new file with mode: 0644]
koha-tmpl/opac-tmpl/ccsr/images/datatables/back_disabled.jpg [new file with mode: 0644]
koha-tmpl/opac-tmpl/ccsr/images/datatables/back_enabled.jpg [new file with mode: 0644]
koha-tmpl/opac-tmpl/ccsr/images/datatables/forward_disabled.jpg [new file with mode: 0644]
koha-tmpl/opac-tmpl/ccsr/images/datatables/forward_enabled.jpg [new file with mode: 0644]
koha-tmpl/opac-tmpl/ccsr/images/datatables/sort_asc.png [new file with mode: 0644]
koha-tmpl/opac-tmpl/ccsr/images/datatables/sort_asc_disabled.png [new file with mode: 0644]
koha-tmpl/opac-tmpl/ccsr/images/datatables/sort_both.png [new file with mode: 0644]
koha-tmpl/opac-tmpl/ccsr/images/datatables/sort_desc.png [new file with mode: 0644]
koha-tmpl/opac-tmpl/ccsr/images/datatables/sort_desc_disabled.png [new file with mode: 0644]
koha-tmpl/opac-tmpl/ccsr/images/delete.gif [new file with mode: 0755]
koha-tmpl/opac-tmpl/ccsr/images/desc.gif [new file with mode: 0644]
koha-tmpl/opac-tmpl/ccsr/images/feed-icon-16x16.png [new file with mode: 0644]
koha-tmpl/opac-tmpl/ccsr/images/filefind.png [new file with mode: 0644]
koha-tmpl/opac-tmpl/ccsr/images/img_bg_header.png [new file with mode: 0644]
koha-tmpl/opac-tmpl/ccsr/images/img_bg_login-bottom.png [new file with mode: 0644]
koha-tmpl/opac-tmpl/ccsr/images/img_bg_login-top.png [new file with mode: 0644]
koha-tmpl/opac-tmpl/ccsr/images/img_bg_login.png [new file with mode: 0644]
koha-tmpl/opac-tmpl/ccsr/images/img_bg_search-control-left.png [new file with mode: 0644]
koha-tmpl/opac-tmpl/ccsr/images/img_bg_search-control-right.png [new file with mode: 0644]
koha-tmpl/opac-tmpl/ccsr/images/img_bg_search-left.png [new file with mode: 0644]
koha-tmpl/opac-tmpl/ccsr/images/img_bg_search-right.png [new file with mode: 0644]
koha-tmpl/opac-tmpl/ccsr/images/img_bg_submit.png [new file with mode: 0644]
koha-tmpl/opac-tmpl/ccsr/images/img_logo_koha.jpg [new file with mode: 0644]
koha-tmpl/opac-tmpl/ccsr/images/img_puce_liste.png [new file with mode: 0644]
koha-tmpl/opac-tmpl/ccsr/images/img_puce_search.png [new file with mode: 0644]
koha-tmpl/opac-tmpl/ccsr/images/img_select-puce.png [new file with mode: 0644]
koha-tmpl/opac-tmpl/ccsr/images/img_sep_account-bottom.png [new file with mode: 0644]
koha-tmpl/opac-tmpl/ccsr/images/img_sep_account-top.png [new file with mode: 0644]
koha-tmpl/opac-tmpl/ccsr/images/img_sep_account.png [new file with mode: 0644]
koha-tmpl/opac-tmpl/ccsr/images/img_sep_footer.png [new file with mode: 0644]
koha-tmpl/opac-tmpl/ccsr/images/img_sep_header.png [new file with mode: 0644]
koha-tmpl/opac-tmpl/ccsr/images/img_sep_search-bottom.png [new file with mode: 0644]
koha-tmpl/opac-tmpl/ccsr/images/img_sep_search-top.png [new file with mode: 0644]
koha-tmpl/opac-tmpl/ccsr/images/img_sep_search.png [new file with mode: 0644]
koha-tmpl/opac-tmpl/ccsr/images/img_sep_tabs.png [new file with mode: 0644]
koha-tmpl/opac-tmpl/ccsr/images/img_toolbar-button-cart.png [new file with mode: 0644]
koha-tmpl/opac-tmpl/ccsr/images/img_toolbar-button-lists.png [new file with mode: 0644]
koha-tmpl/opac-tmpl/ccsr/images/item-bullet.gif [new file with mode: 0644]
koha-tmpl/opac-tmpl/ccsr/images/koha-logo.gif [new file with mode: 0644]
koha-tmpl/opac-tmpl/ccsr/images/loading.gif [new file with mode: 0644]
koha-tmpl/opac-tmpl/ccsr/images/logo-koha.png [new file with mode: 0644]
koha-tmpl/opac-tmpl/ccsr/images/mobile-menu-button.png [new file with mode: 0644]
koha-tmpl/opac-tmpl/ccsr/images/socnet/delicious16.gif [new file with mode: 0644]
koha-tmpl/opac-tmpl/ccsr/images/socnet/facebook16.png [new file with mode: 0644]
koha-tmpl/opac-tmpl/ccsr/images/socnet/linkedin16.png [new file with mode: 0644]
koha-tmpl/opac-tmpl/ccsr/images/socnet/mailto16.png [new file with mode: 0644]
koha-tmpl/opac-tmpl/ccsr/images/socnet/twitter16.png [new file with mode: 0644]
koha-tmpl/opac-tmpl/ccsr/images/sprite.png [new file with mode: 0644]
koha-tmpl/opac-tmpl/ccsr/images/star-ratings-empty.gif [new file with mode: 0644]
koha-tmpl/opac-tmpl/ccsr/images/star-ratings.gif [new file with mode: 0644]
koha-tmpl/opac-tmpl/ccsr/images/star.gif [new file with mode: 0644]
koha-tmpl/opac-tmpl/ccsr/images/tag-small-disabled.png [new file with mode: 0644]
koha-tmpl/opac-tmpl/ccsr/images/tag-small.png [new file with mode: 0644]
koha-tmpl/opac-tmpl/ccsr/itemtypeimg/Seshat/AV.gif [new file with mode: 0644]
koha-tmpl/opac-tmpl/ccsr/itemtypeimg/Seshat/AV.jpg [new file with mode: 0644]
koha-tmpl/opac-tmpl/ccsr/itemtypeimg/Seshat/DVD.gif [new file with mode: 0644]
koha-tmpl/opac-tmpl/ccsr/itemtypeimg/Seshat/DVDreserve.gif [new file with mode: 0644]
koha-tmpl/opac-tmpl/ccsr/itemtypeimg/Seshat/ILL.gif [new file with mode: 0644]
koha-tmpl/opac-tmpl/ccsr/itemtypeimg/Seshat/ILL.jpg [new file with mode: 0644]
koha-tmpl/opac-tmpl/ccsr/itemtypeimg/Seshat/archivalCD.gif [new file with mode: 0644]
koha-tmpl/opac-tmpl/ccsr/itemtypeimg/Seshat/archivalDVD.gif [new file with mode: 0644]
koha-tmpl/opac-tmpl/ccsr/itemtypeimg/Seshat/archivalVHS.gif [new file with mode: 0644]
koha-tmpl/opac-tmpl/ccsr/itemtypeimg/Seshat/archivalVHS.jpg [new file with mode: 0644]
koha-tmpl/opac-tmpl/ccsr/itemtypeimg/Seshat/archivaltape.gif [new file with mode: 0644]
koha-tmpl/opac-tmpl/ccsr/itemtypeimg/Seshat/book.gif [new file with mode: 0644]
koha-tmpl/opac-tmpl/ccsr/itemtypeimg/Seshat/cd.gif [new file with mode: 0644]
koha-tmpl/opac-tmpl/ccsr/itemtypeimg/Seshat/cdrom.gif [new file with mode: 0644]
koha-tmpl/opac-tmpl/ccsr/itemtypeimg/Seshat/cdromreserve.gif [new file with mode: 0644]
koha-tmpl/opac-tmpl/ccsr/itemtypeimg/Seshat/download.gif [new file with mode: 0644]
koha-tmpl/opac-tmpl/ccsr/itemtypeimg/Seshat/ebook.gif [new file with mode: 0644]
koha-tmpl/opac-tmpl/ccsr/itemtypeimg/Seshat/key.gif [new file with mode: 0644]
koha-tmpl/opac-tmpl/ccsr/itemtypeimg/Seshat/key.jpg [new file with mode: 0644]
koha-tmpl/opac-tmpl/ccsr/itemtypeimg/Seshat/newbook.gif [new file with mode: 0644]
koha-tmpl/opac-tmpl/ccsr/itemtypeimg/Seshat/referencebook.gif [new file with mode: 0644]
koha-tmpl/opac-tmpl/ccsr/itemtypeimg/Seshat/reservebook.gif [new file with mode: 0644]
koha-tmpl/opac-tmpl/ccsr/itemtypeimg/Seshat/reservecd.gif [new file with mode: 0644]
koha-tmpl/opac-tmpl/ccsr/itemtypeimg/Seshat/reservetape.gif [new file with mode: 0644]
koha-tmpl/opac-tmpl/ccsr/itemtypeimg/Seshat/reservevhs.gif [new file with mode: 0644]
koha-tmpl/opac-tmpl/ccsr/itemtypeimg/Seshat/tape.gif [new file with mode: 0644]
koha-tmpl/opac-tmpl/ccsr/itemtypeimg/Seshat/vhs.gif [new file with mode: 0644]
koha-tmpl/opac-tmpl/ccsr/itemtypeimg/bridge/2d_art.gif [new file with mode: 0644]
koha-tmpl/opac-tmpl/ccsr/itemtypeimg/bridge/3d_art.gif [new file with mode: 0644]
koha-tmpl/opac-tmpl/ccsr/itemtypeimg/bridge/7Day_book.gif [new file with mode: 0644]
koha-tmpl/opac-tmpl/ccsr/itemtypeimg/bridge/archive.gif [new file with mode: 0644]
koha-tmpl/opac-tmpl/ccsr/itemtypeimg/bridge/audio.gif [new file with mode: 0644]
koha-tmpl/opac-tmpl/ccsr/itemtypeimg/bridge/book.gif [new file with mode: 0644]
koha-tmpl/opac-tmpl/ccsr/itemtypeimg/bridge/cd_music.gif [new file with mode: 0644]
koha-tmpl/opac-tmpl/ccsr/itemtypeimg/bridge/computer_file.gif [new file with mode: 0644]
koha-tmpl/opac-tmpl/ccsr/itemtypeimg/bridge/digital_audio.gif [new file with mode: 0644]
koha-tmpl/opac-tmpl/ccsr/itemtypeimg/bridge/dvd.gif [new file with mode: 0644]
koha-tmpl/opac-tmpl/ccsr/itemtypeimg/bridge/e_book.gif [new file with mode: 0644]
koha-tmpl/opac-tmpl/ccsr/itemtypeimg/bridge/e_journal.gif [new file with mode: 0644]
koha-tmpl/opac-tmpl/ccsr/itemtypeimg/bridge/e_video.gif [new file with mode: 0644]
koha-tmpl/opac-tmpl/ccsr/itemtypeimg/bridge/journal.gif [new file with mode: 0644]
koha-tmpl/opac-tmpl/ccsr/itemtypeimg/bridge/juvenile_book.gif [new file with mode: 0644]
koha-tmpl/opac-tmpl/ccsr/itemtypeimg/bridge/kit.gif [new file with mode: 0644]
koha-tmpl/opac-tmpl/ccsr/itemtypeimg/bridge/laserdisk.gif [new file with mode: 0644]
koha-tmpl/opac-tmpl/ccsr/itemtypeimg/bridge/map.gif [new file with mode: 0644]
koha-tmpl/opac-tmpl/ccsr/itemtypeimg/bridge/noncirc_book.gif [new file with mode: 0644]
koha-tmpl/opac-tmpl/ccsr/itemtypeimg/bridge/noncirc_dvd.gif [new file with mode: 0644]
koha-tmpl/opac-tmpl/ccsr/itemtypeimg/bridge/periodical.gif [new file with mode: 0644]
koha-tmpl/opac-tmpl/ccsr/itemtypeimg/bridge/realia.gif [new file with mode: 0644]
koha-tmpl/opac-tmpl/ccsr/itemtypeimg/bridge/reference.gif [new file with mode: 0644]
koha-tmpl/opac-tmpl/ccsr/itemtypeimg/bridge/reserve_book.gif [new file with mode: 0644]
koha-tmpl/opac-tmpl/ccsr/itemtypeimg/bridge/score.gif [new file with mode: 0644]
koha-tmpl/opac-tmpl/ccsr/itemtypeimg/bridge/software.gif [new file with mode: 0644]
koha-tmpl/opac-tmpl/ccsr/itemtypeimg/bridge/sound.gif [new file with mode: 0644]
koha-tmpl/opac-tmpl/ccsr/itemtypeimg/bridge/tape_music.gif [new file with mode: 0644]
koha-tmpl/opac-tmpl/ccsr/itemtypeimg/bridge/vhs.gif [new file with mode: 0644]
koha-tmpl/opac-tmpl/ccsr/itemtypeimg/bridge/vinyl_music.gif [new file with mode: 0644]
koha-tmpl/opac-tmpl/ccsr/itemtypeimg/bridge/web.gif [new file with mode: 0644]
koha-tmpl/opac-tmpl/ccsr/itemtypeimg/carredart/bd.png [new file with mode: 0644]
koha-tmpl/opac-tmpl/ccsr/itemtypeimg/carredart/cd.png [new file with mode: 0644]
koha-tmpl/opac-tmpl/ccsr/itemtypeimg/carredart/cdrom.png [new file with mode: 0644]
koha-tmpl/opac-tmpl/ccsr/itemtypeimg/carredart/dossier_de_presse.png [new file with mode: 0644]
koha-tmpl/opac-tmpl/ccsr/itemtypeimg/carredart/dvd.png [new file with mode: 0644]
koha-tmpl/opac-tmpl/ccsr/itemtypeimg/carredart/dvd_musical.png [new file with mode: 0644]
koha-tmpl/opac-tmpl/ccsr/itemtypeimg/carredart/livre.png [new file with mode: 0644]
koha-tmpl/opac-tmpl/ccsr/itemtypeimg/carredart/livre_ancien.png [new file with mode: 0644]
koha-tmpl/opac-tmpl/ccsr/itemtypeimg/carredart/livre_artiste.png [new file with mode: 0644]
koha-tmpl/opac-tmpl/ccsr/itemtypeimg/carredart/livre_audio.png [new file with mode: 0644]
koha-tmpl/opac-tmpl/ccsr/itemtypeimg/carredart/livre_en_gros_caracteres.png [new file with mode: 0644]
koha-tmpl/opac-tmpl/ccsr/itemtypeimg/carredart/livre_multimedia.png [new file with mode: 0644]
koha-tmpl/opac-tmpl/ccsr/itemtypeimg/carredart/partition.png [new file with mode: 0644]
koha-tmpl/opac-tmpl/ccsr/itemtypeimg/carredart/revue.png [new file with mode: 0644]
koha-tmpl/opac-tmpl/ccsr/itemtypeimg/carredart/vhs.png [new file with mode: 0644]
koha-tmpl/opac-tmpl/ccsr/itemtypeimg/crystal-clear/Internet_Connection_Tools.png [new file with mode: 0644]
koha-tmpl/opac-tmpl/ccsr/itemtypeimg/crystal-clear/Quicktime.png [new file with mode: 0644]
koha-tmpl/opac-tmpl/ccsr/itemtypeimg/crystal-clear/_COPYING.txt [new file with mode: 0644]
koha-tmpl/opac-tmpl/ccsr/itemtypeimg/crystal-clear/_README.txt [new file with mode: 0644]
koha-tmpl/opac-tmpl/ccsr/itemtypeimg/crystal-clear/aktion.png [new file with mode: 0644]
koha-tmpl/opac-tmpl/ccsr/itemtypeimg/crystal-clear/binary.png [new file with mode: 0644]
koha-tmpl/opac-tmpl/ccsr/itemtypeimg/crystal-clear/blockdevice.png [new file with mode: 0644]
koha-tmpl/opac-tmpl/ccsr/itemtypeimg/crystal-clear/bookmark.png [new file with mode: 0644]
koha-tmpl/opac-tmpl/ccsr/itemtypeimg/crystal-clear/books-closed-32.png [new file with mode: 0644]
koha-tmpl/opac-tmpl/ccsr/itemtypeimg/crystal-clear/books-open-32.png [new file with mode: 0644]
koha-tmpl/opac-tmpl/ccsr/itemtypeimg/crystal-clear/books-open-cd-32.png [new file with mode: 0644]
koha-tmpl/opac-tmpl/ccsr/itemtypeimg/crystal-clear/browser.png [new file with mode: 0644]
koha-tmpl/opac-tmpl/ccsr/itemtypeimg/crystal-clear/build.png [new file with mode: 0644]
koha-tmpl/opac-tmpl/ccsr/itemtypeimg/crystal-clear/calc.png [new file with mode: 0644]
koha-tmpl/opac-tmpl/ccsr/itemtypeimg/crystal-clear/camera.png [new file with mode: 0644]
koha-tmpl/opac-tmpl/ccsr/itemtypeimg/crystal-clear/cardgame.png [new file with mode: 0644]
koha-tmpl/opac-tmpl/ccsr/itemtypeimg/crystal-clear/cdimage.png [new file with mode: 0644]
koha-tmpl/opac-tmpl/ccsr/itemtypeimg/crystal-clear/cdrom_mount.png [new file with mode: 0644]
koha-tmpl/opac-tmpl/ccsr/itemtypeimg/crystal-clear/cdrom_unmount.png [new file with mode: 0644]
koha-tmpl/opac-tmpl/ccsr/itemtypeimg/crystal-clear/cdtrack.png [new file with mode: 0644]
koha-tmpl/opac-tmpl/ccsr/itemtypeimg/crystal-clear/cdwriter_mount.png [new file with mode: 0644]
koha-tmpl/opac-tmpl/ccsr/itemtypeimg/crystal-clear/cdwriter_unmount.png [new file with mode: 0644]
koha-tmpl/opac-tmpl/ccsr/itemtypeimg/crystal-clear/decrypted.png [new file with mode: 0644]
koha-tmpl/opac-tmpl/ccsr/itemtypeimg/crystal-clear/demo.png [new file with mode: 0644]
koha-tmpl/opac-tmpl/ccsr/itemtypeimg/crystal-clear/desktopshare.png [new file with mode: 0644]
koha-tmpl/opac-tmpl/ccsr/itemtypeimg/crystal-clear/display.png [new file with mode: 0644]
koha-tmpl/opac-tmpl/ccsr/itemtypeimg/crystal-clear/document.png [new file with mode: 0644]
koha-tmpl/opac-tmpl/ccsr/itemtypeimg/crystal-clear/document2.png [new file with mode: 0644]
koha-tmpl/opac-tmpl/ccsr/itemtypeimg/crystal-clear/download_manager.png [new file with mode: 0644]
koha-tmpl/opac-tmpl/ccsr/itemtypeimg/crystal-clear/dvd_mount.png [new file with mode: 0644]
koha-tmpl/opac-tmpl/ccsr/itemtypeimg/crystal-clear/dvd_mount_2.png [new file with mode: 0644]
koha-tmpl/opac-tmpl/ccsr/itemtypeimg/crystal-clear/dvd_unmount.png [new file with mode: 0644]
koha-tmpl/opac-tmpl/ccsr/itemtypeimg/crystal-clear/edit.png [new file with mode: 0644]
koha-tmpl/opac-tmpl/ccsr/itemtypeimg/crystal-clear/editpaste.png [new file with mode: 0644]
koha-tmpl/opac-tmpl/ccsr/itemtypeimg/crystal-clear/encrypted.png [new file with mode: 0644]
koha-tmpl/opac-tmpl/ccsr/itemtypeimg/crystal-clear/file_temporary.png [new file with mode: 0644]
koha-tmpl/opac-tmpl/ccsr/itemtypeimg/crystal-clear/floppy_mount.png [new file with mode: 0644]
koha-tmpl/opac-tmpl/ccsr/itemtypeimg/crystal-clear/floppy_unmount.png [new file with mode: 0644]
koha-tmpl/opac-tmpl/ccsr/itemtypeimg/crystal-clear/folder_blue.png [new file with mode: 0644]
koha-tmpl/opac-tmpl/ccsr/itemtypeimg/crystal-clear/folder_green.png [new file with mode: 0644]
koha-tmpl/opac-tmpl/ccsr/itemtypeimg/crystal-clear/folder_grey.png [new file with mode: 0644]
koha-tmpl/opac-tmpl/ccsr/itemtypeimg/crystal-clear/folder_grey_open.png [new file with mode: 0644]
koha-tmpl/opac-tmpl/ccsr/itemtypeimg/crystal-clear/folder_html.png [new file with mode: 0644]
koha-tmpl/opac-tmpl/ccsr/itemtypeimg/crystal-clear/folder_image.png [new file with mode: 0644]
koha-tmpl/opac-tmpl/ccsr/itemtypeimg/crystal-clear/folder_images.png [new file with mode: 0644]
koha-tmpl/opac-tmpl/ccsr/itemtypeimg/crystal-clear/folder_locked.png [new file with mode: 0644]
koha-tmpl/opac-tmpl/ccsr/itemtypeimg/crystal-clear/folder_music.png [new file with mode: 0644]
koha-tmpl/opac-tmpl/ccsr/itemtypeimg/crystal-clear/folder_print.png [new file with mode: 0644]
koha-tmpl/opac-tmpl/ccsr/itemtypeimg/crystal-clear/folder_red.png [new file with mode: 0644]
koha-tmpl/opac-tmpl/ccsr/itemtypeimg/crystal-clear/folder_sound.png [new file with mode: 0644]
koha-tmpl/opac-tmpl/ccsr/itemtypeimg/crystal-clear/folder_txt.png [new file with mode: 0644]
koha-tmpl/opac-tmpl/ccsr/itemtypeimg/crystal-clear/folder_video.png [new file with mode: 0644]
koha-tmpl/opac-tmpl/ccsr/itemtypeimg/crystal-clear/folder_yellow.png [new file with mode: 0644]
koha-tmpl/opac-tmpl/ccsr/itemtypeimg/crystal-clear/hdd_mount.png [new file with mode: 0644]
koha-tmpl/opac-tmpl/ccsr/itemtypeimg/crystal-clear/html.png [new file with mode: 0644]
koha-tmpl/opac-tmpl/ccsr/itemtypeimg/crystal-clear/image.png [new file with mode: 0644]
koha-tmpl/opac-tmpl/ccsr/itemtypeimg/crystal-clear/image2.png [new file with mode: 0644]
koha-tmpl/opac-tmpl/ccsr/itemtypeimg/crystal-clear/info.png [new file with mode: 0644]
koha-tmpl/opac-tmpl/ccsr/itemtypeimg/crystal-clear/internet.png [new file with mode: 0644]
koha-tmpl/opac-tmpl/ccsr/itemtypeimg/crystal-clear/joystick.png [new file with mode: 0644]
koha-tmpl/opac-tmpl/ccsr/itemtypeimg/crystal-clear/kaddressbook.png [new file with mode: 0644]
koha-tmpl/opac-tmpl/ccsr/itemtypeimg/crystal-clear/kbackgammon.png [new file with mode: 0644]
koha-tmpl/opac-tmpl/ccsr/itemtypeimg/crystal-clear/kcmdf.png [new file with mode: 0644]
koha-tmpl/opac-tmpl/ccsr/itemtypeimg/crystal-clear/kcmmidi.png [new file with mode: 0644]
koha-tmpl/opac-tmpl/ccsr/itemtypeimg/crystal-clear/kcoloredit.png [new file with mode: 0644]
koha-tmpl/opac-tmpl/ccsr/itemtypeimg/crystal-clear/kdict.png [new file with mode: 0644]
koha-tmpl/opac-tmpl/ccsr/itemtypeimg/crystal-clear/kedit.png [new file with mode: 0644]
koha-tmpl/opac-tmpl/ccsr/itemtypeimg/crystal-clear/keyboard.png [new file with mode: 0644]
koha-tmpl/opac-tmpl/ccsr/itemtypeimg/crystal-clear/klaptop.png [new file with mode: 0644]
koha-tmpl/opac-tmpl/ccsr/itemtypeimg/crystal-clear/kmid.png [new file with mode: 0644]
koha-tmpl/opac-tmpl/ccsr/itemtypeimg/crystal-clear/korganizer.png [new file with mode: 0644]
koha-tmpl/opac-tmpl/ccsr/itemtypeimg/crystal-clear/kpackage.png [new file with mode: 0644]
koha-tmpl/opac-tmpl/ccsr/itemtypeimg/crystal-clear/kpat.png [new file with mode: 0644]
koha-tmpl/opac-tmpl/ccsr/itemtypeimg/crystal-clear/kpoker.png [new file with mode: 0644]
koha-tmpl/opac-tmpl/ccsr/itemtypeimg/crystal-clear/kscd.png [new file with mode: 0644]
koha-tmpl/opac-tmpl/ccsr/itemtypeimg/crystal-clear/ksnapshot.png [new file with mode: 0644]
koha-tmpl/opac-tmpl/ccsr/itemtypeimg/crystal-clear/kuser2.png [new file with mode: 0644]
koha-tmpl/opac-tmpl/ccsr/itemtypeimg/crystal-clear/kwrite.png [new file with mode: 0644]
koha-tmpl/opac-tmpl/ccsr/itemtypeimg/crystal-clear/kxkb.png [new file with mode: 0644]
koha-tmpl/opac-tmpl/ccsr/itemtypeimg/crystal-clear/lock-silver.png [new file with mode: 0644]
koha-tmpl/opac-tmpl/ccsr/itemtypeimg/crystal-clear/lock.png [new file with mode: 0644]
koha-tmpl/opac-tmpl/ccsr/itemtypeimg/crystal-clear/lock_-_pink.png [new file with mode: 0644]
koha-tmpl/opac-tmpl/ccsr/itemtypeimg/crystal-clear/log.png [new file with mode: 0644]
koha-tmpl/opac-tmpl/ccsr/itemtypeimg/crystal-clear/lsongs.png [new file with mode: 0644]
koha-tmpl/opac-tmpl/ccsr/itemtypeimg/crystal-clear/make.png [new file with mode: 0644]
koha-tmpl/opac-tmpl/ccsr/itemtypeimg/crystal-clear/man.png [new file with mode: 0644]
koha-tmpl/opac-tmpl/ccsr/itemtypeimg/crystal-clear/message.png [new file with mode: 0644]
koha-tmpl/opac-tmpl/ccsr/itemtypeimg/crystal-clear/mime-postscript.png [new file with mode: 0644]
koha-tmpl/opac-tmpl/ccsr/itemtypeimg/crystal-clear/mime_txt.png [new file with mode: 0644]
koha-tmpl/opac-tmpl/ccsr/itemtypeimg/crystal-clear/mp3player.png [new file with mode: 0644]
koha-tmpl/opac-tmpl/ccsr/itemtypeimg/crystal-clear/mp3player2.png [new file with mode: 0644]
koha-tmpl/opac-tmpl/ccsr/itemtypeimg/crystal-clear/musicstore.png [new file with mode: 0644]
koha-tmpl/opac-tmpl/ccsr/itemtypeimg/crystal-clear/musicstore2.png [new file with mode: 0644]
koha-tmpl/opac-tmpl/ccsr/itemtypeimg/crystal-clear/mymac.png [new file with mode: 0644]
koha-tmpl/opac-tmpl/ccsr/itemtypeimg/crystal-clear/nfs_mount.png [new file with mode: 0644]
koha-tmpl/opac-tmpl/ccsr/itemtypeimg/crystal-clear/nfs_unmount.png [new file with mode: 0644]
koha-tmpl/opac-tmpl/ccsr/itemtypeimg/crystal-clear/palm.png [new file with mode: 0644]
koha-tmpl/opac-tmpl/ccsr/itemtypeimg/crystal-clear/pda.png [new file with mode: 0644]
koha-tmpl/opac-tmpl/ccsr/itemtypeimg/crystal-clear/pda_black.png [new file with mode: 0644]
koha-tmpl/opac-tmpl/ccsr/itemtypeimg/crystal-clear/pda_blue.png [new file with mode: 0644]
koha-tmpl/opac-tmpl/ccsr/itemtypeimg/crystal-clear/print_class.png [new file with mode: 0644]
koha-tmpl/opac-tmpl/ccsr/itemtypeimg/crystal-clear/readme.png [new file with mode: 0644]
koha-tmpl/opac-tmpl/ccsr/itemtypeimg/crystal-clear/reminders.png [new file with mode: 0644]
koha-tmpl/opac-tmpl/ccsr/itemtypeimg/crystal-clear/scanner.png [new file with mode: 0644]
koha-tmpl/opac-tmpl/ccsr/itemtypeimg/crystal-clear/schedule.png [new file with mode: 0644]
koha-tmpl/opac-tmpl/ccsr/itemtypeimg/crystal-clear/starthere.png [new file with mode: 0644]
koha-tmpl/opac-tmpl/ccsr/itemtypeimg/crystal-clear/tablet.png [new file with mode: 0644]
koha-tmpl/opac-tmpl/ccsr/itemtypeimg/crystal-clear/tutorials.png [new file with mode: 0644]
koha-tmpl/opac-tmpl/ccsr/itemtypeimg/crystal-clear/tv.png [new file with mode: 0644]
koha-tmpl/opac-tmpl/ccsr/itemtypeimg/crystal-clear/usb.png [new file with mode: 0644]
koha-tmpl/opac-tmpl/ccsr/itemtypeimg/crystal-clear/usbpendrive_mount.png [new file with mode: 0644]
koha-tmpl/opac-tmpl/ccsr/itemtypeimg/crystal-clear/usbpendrive_unmount.png [new file with mode: 0644]
koha-tmpl/opac-tmpl/ccsr/itemtypeimg/crystal-clear/viewmag.png [new file with mode: 0644]
koha-tmpl/opac-tmpl/ccsr/itemtypeimg/crystal-clear/voice-support.png [new file with mode: 0644]
koha-tmpl/opac-tmpl/ccsr/itemtypeimg/crystal-clear/xmms.png [new file with mode: 0644]
koha-tmpl/opac-tmpl/ccsr/itemtypeimg/crystal-clear/zip_mount.png [new file with mode: 0644]
koha-tmpl/opac-tmpl/ccsr/itemtypeimg/crystal-clear/zip_unmount.png [new file with mode: 0644]
koha-tmpl/opac-tmpl/ccsr/itemtypeimg/liblime-kids/addtobasket.gif [new file with mode: 0644]
koha-tmpl/opac-tmpl/ccsr/itemtypeimg/liblime-kids/addtocart.png [new file with mode: 0644]
koha-tmpl/opac-tmpl/ccsr/itemtypeimg/liblime-kids/addtoshelf.gif [new file with mode: 0644]
koha-tmpl/opac-tmpl/ccsr/itemtypeimg/liblime-kids/addtoshelf.png [new file with mode: 0644]
koha-tmpl/opac-tmpl/ccsr/itemtypeimg/liblime-kids/audiobook-cd.gif [new file with mode: 0644]
koha-tmpl/opac-tmpl/ccsr/itemtypeimg/liblime-kids/audiobook-cd.png [new file with mode: 0644]
koha-tmpl/opac-tmpl/ccsr/itemtypeimg/liblime-kids/audiobook.gif [new file with mode: 0644]
koha-tmpl/opac-tmpl/ccsr/itemtypeimg/liblime-kids/audiobook.png [new file with mode: 0644]
koha-tmpl/opac-tmpl/ccsr/itemtypeimg/liblime-kids/beginner-reader-book.gif [new file with mode: 0644]
koha-tmpl/opac-tmpl/ccsr/itemtypeimg/liblime-kids/beginner-reader.png [new file with mode: 0644]
koha-tmpl/opac-tmpl/ccsr/itemtypeimg/liblime-kids/big-book-icon.gif [new file with mode: 0644]
koha-tmpl/opac-tmpl/ccsr/itemtypeimg/liblime-kids/big-book-icon.png [new file with mode: 0644]
koha-tmpl/opac-tmpl/ccsr/itemtypeimg/liblime-kids/book-bag-icon.png [new file with mode: 0644]
koha-tmpl/opac-tmpl/ccsr/itemtypeimg/liblime-kids/book-bag.gif [new file with mode: 0644]
koha-tmpl/opac-tmpl/ccsr/itemtypeimg/liblime-kids/book-icon-60px.gif [new file with mode: 0644]
koha-tmpl/opac-tmpl/ccsr/itemtypeimg/liblime-kids/book-icon-author-search.gif [new file with mode: 0644]
koha-tmpl/opac-tmpl/ccsr/itemtypeimg/liblime-kids/book-icon-author-search.png [new file with mode: 0644]
koha-tmpl/opac-tmpl/ccsr/itemtypeimg/liblime-kids/book-icon-biography.gif [new file with mode: 0644]
koha-tmpl/opac-tmpl/ccsr/itemtypeimg/liblime-kids/book-icon-biography.png [new file with mode: 0644]
koha-tmpl/opac-tmpl/ccsr/itemtypeimg/liblime-kids/book-icon-call-number.gif [new file with mode: 0644]
koha-tmpl/opac-tmpl/ccsr/itemtypeimg/liblime-kids/book-icon-mystery.gif [new file with mode: 0644]
koha-tmpl/opac-tmpl/ccsr/itemtypeimg/liblime-kids/book-icon-mystery.png [new file with mode: 0644]
koha-tmpl/opac-tmpl/ccsr/itemtypeimg/liblime-kids/book-icon-mystery2.gif [new file with mode: 0644]
koha-tmpl/opac-tmpl/ccsr/itemtypeimg/liblime-kids/book-icon-non-fiction.gif [new file with mode: 0644]
koha-tmpl/opac-tmpl/ccsr/itemtypeimg/liblime-kids/book-icon-non-fiction.png [new file with mode: 0644]
koha-tmpl/opac-tmpl/ccsr/itemtypeimg/liblime-kids/book-icon-scifi-60px.gif [new file with mode: 0644]
koha-tmpl/opac-tmpl/ccsr/itemtypeimg/liblime-kids/book-icon-sifi.png [new file with mode: 0644]
koha-tmpl/opac-tmpl/ccsr/itemtypeimg/liblime-kids/book-icon-subject-search.gif [new file with mode: 0644]
koha-tmpl/opac-tmpl/ccsr/itemtypeimg/liblime-kids/book-icon-subject-search.png [new file with mode: 0644]
koha-tmpl/opac-tmpl/ccsr/itemtypeimg/liblime-kids/book-icon-title-search.gif [new file with mode: 0644]
koha-tmpl/opac-tmpl/ccsr/itemtypeimg/liblime-kids/book-icon-title-search.png [new file with mode: 0644]
koha-tmpl/opac-tmpl/ccsr/itemtypeimg/liblime-kids/book-icon-western.gif [new file with mode: 0644]
koha-tmpl/opac-tmpl/ccsr/itemtypeimg/liblime-kids/book-icon-western.png [new file with mode: 0644]
koha-tmpl/opac-tmpl/ccsr/itemtypeimg/liblime-kids/book-icon.png [new file with mode: 0644]
koha-tmpl/opac-tmpl/ccsr/itemtypeimg/liblime-kids/book-large-print.gif [new file with mode: 0644]
koha-tmpl/opac-tmpl/ccsr/itemtypeimg/liblime-kids/book-large-print.png [new file with mode: 0644]
koha-tmpl/opac-tmpl/ccsr/itemtypeimg/liblime-kids/brief..gif [new file with mode: 0644]
koha-tmpl/opac-tmpl/ccsr/itemtypeimg/liblime-kids/card.gif [new file with mode: 0644]
koha-tmpl/opac-tmpl/ccsr/itemtypeimg/liblime-kids/card.png [new file with mode: 0644]
koha-tmpl/opac-tmpl/ccsr/itemtypeimg/liblime-kids/cd-rom-icon.png [new file with mode: 0644]
koha-tmpl/opac-tmpl/ccsr/itemtypeimg/liblime-kids/clear-book-bag.gif [new file with mode: 0644]
koha-tmpl/opac-tmpl/ccsr/itemtypeimg/liblime-kids/clear-book-bag.png [new file with mode: 0644]
koha-tmpl/opac-tmpl/ccsr/itemtypeimg/liblime-kids/detail.gif [new file with mode: 0644]
koha-tmpl/opac-tmpl/ccsr/itemtypeimg/liblime-kids/detail.png [new file with mode: 0644]
koha-tmpl/opac-tmpl/ccsr/itemtypeimg/liblime-kids/faculty-course-manual.png [new file with mode: 0644]
koha-tmpl/opac-tmpl/ccsr/itemtypeimg/liblime-kids/faculty-course-materials.gif [new file with mode: 0644]
koha-tmpl/opac-tmpl/ccsr/itemtypeimg/liblime-kids/icon-reference.gif [new file with mode: 0644]
koha-tmpl/opac-tmpl/ccsr/itemtypeimg/liblime-kids/icon-refrence.png [new file with mode: 0644]
koha-tmpl/opac-tmpl/ccsr/itemtypeimg/liblime-kids/keyword-search.gif [new file with mode: 0644]
koha-tmpl/opac-tmpl/ccsr/itemtypeimg/liblime-kids/keyword-search.png [new file with mode: 0644]
koha-tmpl/opac-tmpl/ccsr/itemtypeimg/liblime-kids/music-CD.gif [new file with mode: 0644]
koha-tmpl/opac-tmpl/ccsr/itemtypeimg/liblime-kids/music-cd.png [new file with mode: 0644]
koha-tmpl/opac-tmpl/ccsr/itemtypeimg/liblime-kids/newspaper-icon.gif [new file with mode: 0644]
koha-tmpl/opac-tmpl/ccsr/itemtypeimg/liblime-kids/newspaper-icon.png [new file with mode: 0644]
koha-tmpl/opac-tmpl/ccsr/itemtypeimg/liblime-kids/videocassette.gif [new file with mode: 0644]
koha-tmpl/opac-tmpl/ccsr/itemtypeimg/liblime-kids/videocassette.png [new file with mode: 0644]
koha-tmpl/opac-tmpl/ccsr/itemtypeimg/liblime-kids/vinyl-sound-recordings.gif [new file with mode: 0644]
koha-tmpl/opac-tmpl/ccsr/itemtypeimg/liblime-kids/vynal-sound-recording.png [new file with mode: 0644]
koha-tmpl/opac-tmpl/ccsr/itemtypeimg/npl/AVA.gif [new file with mode: 0644]
koha-tmpl/opac-tmpl/ccsr/itemtypeimg/npl/Adult-nonfiction-book-on-cassette.gif [new file with mode: 0644]
koha-tmpl/opac-tmpl/ccsr/itemtypeimg/npl/Audiobook.gif [new file with mode: 0644]
koha-tmpl/opac-tmpl/ccsr/itemtypeimg/npl/Biography.gif [new file with mode: 0644]
koha-tmpl/opac-tmpl/ccsr/itemtypeimg/npl/Book-on-CD.gif [new file with mode: 0644]
koha-tmpl/opac-tmpl/ccsr/itemtypeimg/npl/Book-on-Tape.gif [new file with mode: 0644]
koha-tmpl/opac-tmpl/ccsr/itemtypeimg/npl/CD-ROM-software.gif [new file with mode: 0644]
koha-tmpl/opac-tmpl/ccsr/itemtypeimg/npl/DVD-Juvenile-nonfiction.gif [new file with mode: 0644]
koha-tmpl/opac-tmpl/ccsr/itemtypeimg/npl/DVD-Juvenile.gif [new file with mode: 0644]
koha-tmpl/opac-tmpl/ccsr/itemtypeimg/npl/DVD-nonfiction.gif [new file with mode: 0644]
koha-tmpl/opac-tmpl/ccsr/itemtypeimg/npl/DVD.gif [new file with mode: 0644]
koha-tmpl/opac-tmpl/ccsr/itemtypeimg/npl/EDLS.gif [new file with mode: 0644]
koha-tmpl/opac-tmpl/ccsr/itemtypeimg/npl/Ed.-Curriculum.gif [new file with mode: 0644]
koha-tmpl/opac-tmpl/ccsr/itemtypeimg/npl/FLAG.gif [new file with mode: 0644]
koha-tmpl/opac-tmpl/ccsr/itemtypeimg/npl/Faculty-Course-Materials.gif [new file with mode: 0644]
koha-tmpl/opac-tmpl/ccsr/itemtypeimg/npl/Fiction-large-print.gif [new file with mode: 0644]
koha-tmpl/opac-tmpl/ccsr/itemtypeimg/npl/Fiction.gif [new file with mode: 0644]
koha-tmpl/opac-tmpl/ccsr/itemtypeimg/npl/Juvenile-audiobook.gif [new file with mode: 0644]
koha-tmpl/opac-tmpl/ccsr/itemtypeimg/npl/Juvenile-biography.gif [new file with mode: 0644]
koha-tmpl/opac-tmpl/ccsr/itemtypeimg/npl/Juvenile-book-tape-kit.gif [new file with mode: 0644]
koha-tmpl/opac-tmpl/ccsr/itemtypeimg/npl/Juvenile-fiction.gif [new file with mode: 0644]
koha-tmpl/opac-tmpl/ccsr/itemtypeimg/npl/Juvenile-non-fiction.gif [new file with mode: 0644]
koha-tmpl/opac-tmpl/ccsr/itemtypeimg/npl/Juvenile-nonfiction-book-on-CD.gif [new file with mode: 0644]
koha-tmpl/opac-tmpl/ccsr/itemtypeimg/npl/Juvenile-nonfiction-book-on-cassette.gif [new file with mode: 0644]
koha-tmpl/opac-tmpl/ccsr/itemtypeimg/npl/Juvenile-picture-books.gif [new file with mode: 0644]
koha-tmpl/opac-tmpl/ccsr/itemtypeimg/npl/Juvenile-reference.gif [new file with mode: 0644]
koha-tmpl/opac-tmpl/ccsr/itemtypeimg/npl/Local-history.gif [new file with mode: 0644]
koha-tmpl/opac-tmpl/ccsr/itemtypeimg/npl/Magazine.gif [new file with mode: 0644]
koha-tmpl/opac-tmpl/ccsr/itemtypeimg/npl/Microfiche.gif [new file with mode: 0644]
koha-tmpl/opac-tmpl/ccsr/itemtypeimg/npl/Microfilm.gif [new file with mode: 0644]
koha-tmpl/opac-tmpl/ccsr/itemtypeimg/npl/Music-CD.gif [new file with mode: 0644]
koha-tmpl/opac-tmpl/ccsr/itemtypeimg/npl/Mystery.gif [new file with mode: 0644]
koha-tmpl/opac-tmpl/ccsr/itemtypeimg/npl/Non-fiction-large-print.gif [new file with mode: 0644]
koha-tmpl/opac-tmpl/ccsr/itemtypeimg/npl/Non-fiction.gif [new file with mode: 0644]
koha-tmpl/opac-tmpl/ccsr/itemtypeimg/npl/Pamphlet.gif [new file with mode: 0644]
koha-tmpl/opac-tmpl/ccsr/itemtypeimg/npl/Paperback-romance.gif [new file with mode: 0644]
koha-tmpl/opac-tmpl/ccsr/itemtypeimg/npl/Rare-Book.gif [new file with mode: 0644]
koha-tmpl/opac-tmpl/ccsr/itemtypeimg/npl/Reference.gif [new file with mode: 0644]
koha-tmpl/opac-tmpl/ccsr/itemtypeimg/npl/SIRS.gif [new file with mode: 0644]
koha-tmpl/opac-tmpl/ccsr/itemtypeimg/npl/SS.gif [new file with mode: 0644]
koha-tmpl/opac-tmpl/ccsr/itemtypeimg/npl/ScienceFictionFantasy.gif [new file with mode: 0644]
koha-tmpl/opac-tmpl/ccsr/itemtypeimg/npl/Videocassette-juvenile-non-fiction.gif [new file with mode: 0644]
koha-tmpl/opac-tmpl/ccsr/itemtypeimg/npl/Videocassette-juvenile.gif [new file with mode: 0644]
koha-tmpl/opac-tmpl/ccsr/itemtypeimg/npl/Videocassette-non-fiction.gif [new file with mode: 0644]
koha-tmpl/opac-tmpl/ccsr/itemtypeimg/npl/Videocassette.gif [new file with mode: 0644]
koha-tmpl/opac-tmpl/ccsr/itemtypeimg/npl/Vinyl-Sound-Recordings.gif [new file with mode: 0644]
koha-tmpl/opac-tmpl/ccsr/itemtypeimg/npl/WEB.gif [new file with mode: 0644]
koha-tmpl/opac-tmpl/ccsr/itemtypeimg/npl/Western.gif [new file with mode: 0644]
koha-tmpl/opac-tmpl/ccsr/itemtypeimg/npl/YAC.gif [new file with mode: 0644]
koha-tmpl/opac-tmpl/ccsr/itemtypeimg/npl/Young-Adult-fiction.gif [new file with mode: 0644]
koha-tmpl/opac-tmpl/ccsr/itemtypeimg/npl/Young-Adult-non-fiction.gif [new file with mode: 0644]
koha-tmpl/opac-tmpl/ccsr/itemtypeimg/npl/Young-adult-fiction-book-on-CD.gif [new file with mode: 0644]
koha-tmpl/opac-tmpl/ccsr/itemtypeimg/npl/Young-adult-nonfiction-book-on-CD.gif [new file with mode: 0644]
koha-tmpl/opac-tmpl/ccsr/itemtypeimg/npl/Young-adult-nonfiction-book-on-cassette.gif [new file with mode: 0644]
koha-tmpl/opac-tmpl/ccsr/itemtypeimg/vokal/ACT-32px.png [new file with mode: 0644]
koha-tmpl/opac-tmpl/ccsr/itemtypeimg/vokal/ACT.png [new file with mode: 0644]
koha-tmpl/opac-tmpl/ccsr/itemtypeimg/vokal/BLURAY-32px.png [new file with mode: 0644]
koha-tmpl/opac-tmpl/ccsr/itemtypeimg/vokal/BLURAY.png [new file with mode: 0644]
koha-tmpl/opac-tmpl/ccsr/itemtypeimg/vokal/Book-32px.png [new file with mode: 0644]
koha-tmpl/opac-tmpl/ccsr/itemtypeimg/vokal/Book-On-CD-32px.png [new file with mode: 0644]
koha-tmpl/opac-tmpl/ccsr/itemtypeimg/vokal/Book-On-Tape-32px.png [new file with mode: 0644]
koha-tmpl/opac-tmpl/ccsr/itemtypeimg/vokal/Book.png [new file with mode: 0644]
koha-tmpl/opac-tmpl/ccsr/itemtypeimg/vokal/BookOnCD.png [new file with mode: 0644]
koha-tmpl/opac-tmpl/ccsr/itemtypeimg/vokal/BookOnTape.png [new file with mode: 0644]
koha-tmpl/opac-tmpl/ccsr/itemtypeimg/vokal/DVD-32px.png [new file with mode: 0644]
koha-tmpl/opac-tmpl/ccsr/itemtypeimg/vokal/DVD.png [new file with mode: 0644]
koha-tmpl/opac-tmpl/ccsr/itemtypeimg/vokal/Download-Audio-32px.png [new file with mode: 0644]
koha-tmpl/opac-tmpl/ccsr/itemtypeimg/vokal/DownloadableAudio.png [new file with mode: 0644]
koha-tmpl/opac-tmpl/ccsr/itemtypeimg/vokal/EDUC-32px.png [new file with mode: 0644]
koha-tmpl/opac-tmpl/ccsr/itemtypeimg/vokal/EDUC.png [new file with mode: 0644]
koha-tmpl/opac-tmpl/ccsr/itemtypeimg/vokal/EQUIP-32px.png [new file with mode: 0644]
koha-tmpl/opac-tmpl/ccsr/itemtypeimg/vokal/EQUIP.png [new file with mode: 0644]
koha-tmpl/opac-tmpl/ccsr/itemtypeimg/vokal/FIC-32px.png [new file with mode: 0644]
koha-tmpl/opac-tmpl/ccsr/itemtypeimg/vokal/FIC.png [new file with mode: 0644]
koha-tmpl/opac-tmpl/ccsr/itemtypeimg/vokal/HOLIDAY-32px.png [new file with mode: 0644]
koha-tmpl/opac-tmpl/ccsr/itemtypeimg/vokal/HOLIDAY.png [new file with mode: 0644]
koha-tmpl/opac-tmpl/ccsr/itemtypeimg/vokal/Hardware-32px.png [new file with mode: 0644]
koha-tmpl/opac-tmpl/ccsr/itemtypeimg/vokal/Hardware.png [new file with mode: 0644]
koha-tmpl/opac-tmpl/ccsr/itemtypeimg/vokal/ILL-32px.png [new file with mode: 0644]
koha-tmpl/opac-tmpl/ccsr/itemtypeimg/vokal/ILL.png [new file with mode: 0644]
koha-tmpl/opac-tmpl/ccsr/itemtypeimg/vokal/Kit-32px.png [new file with mode: 0644]
koha-tmpl/opac-tmpl/ccsr/itemtypeimg/vokal/Kit.png [new file with mode: 0644]
koha-tmpl/opac-tmpl/ccsr/itemtypeimg/vokal/Kit_Backpack_Image.png [new file with mode: 0644]
koha-tmpl/opac-tmpl/ccsr/itemtypeimg/vokal/Kit_Backpack_Word.png [new file with mode: 0644]
koha-tmpl/opac-tmpl/ccsr/itemtypeimg/vokal/Kit_Bag_Image.png [new file with mode: 0644]
koha-tmpl/opac-tmpl/ccsr/itemtypeimg/vokal/Kit_Bag_Word-32px.png [new file with mode: 0644]
koha-tmpl/opac-tmpl/ccsr/itemtypeimg/vokal/Kit_Bag_Word.png [new file with mode: 0644]
koha-tmpl/opac-tmpl/ccsr/itemtypeimg/vokal/LargePrint-32px.png [new file with mode: 0644]
koha-tmpl/opac-tmpl/ccsr/itemtypeimg/vokal/LargePrint.png [new file with mode: 0644]
koha-tmpl/opac-tmpl/ccsr/itemtypeimg/vokal/MuseumPass-32px.png [new file with mode: 0644]
koha-tmpl/opac-tmpl/ccsr/itemtypeimg/vokal/MuseumPass.png [new file with mode: 0644]
koha-tmpl/opac-tmpl/ccsr/itemtypeimg/vokal/Music-32px.png [new file with mode: 0644]
koha-tmpl/opac-tmpl/ccsr/itemtypeimg/vokal/Music.png [new file with mode: 0644]
koha-tmpl/opac-tmpl/ccsr/itemtypeimg/vokal/NEWBK-32px.png [new file with mode: 0644]
koha-tmpl/opac-tmpl/ccsr/itemtypeimg/vokal/NEWBK.png [new file with mode: 0644]
koha-tmpl/opac-tmpl/ccsr/itemtypeimg/vokal/NFIC-32px.png [new file with mode: 0644]
koha-tmpl/opac-tmpl/ccsr/itemtypeimg/vokal/NFIC.png [new file with mode: 0644]
koha-tmpl/opac-tmpl/ccsr/itemtypeimg/vokal/Periodical-32px.png [new file with mode: 0644]
koha-tmpl/opac-tmpl/ccsr/itemtypeimg/vokal/Periodical.png [new file with mode: 0644]
koha-tmpl/opac-tmpl/ccsr/itemtypeimg/vokal/PlayAway-32px.png [new file with mode: 0644]
koha-tmpl/opac-tmpl/ccsr/itemtypeimg/vokal/PlayAway.png [new file with mode: 0644]
koha-tmpl/opac-tmpl/ccsr/itemtypeimg/vokal/Reference-32px.png [new file with mode: 0644]
koha-tmpl/opac-tmpl/ccsr/itemtypeimg/vokal/Reference.png [new file with mode: 0644]
koha-tmpl/opac-tmpl/ccsr/itemtypeimg/vokal/Special-32px.png [new file with mode: 0644]
koha-tmpl/opac-tmpl/ccsr/itemtypeimg/vokal/Special.png [new file with mode: 0644]
koha-tmpl/opac-tmpl/ccsr/itemtypeimg/vokal/VHS-32px.png [new file with mode: 0644]
koha-tmpl/opac-tmpl/ccsr/itemtypeimg/vokal/VHS.png [new file with mode: 0644]
koha-tmpl/opac-tmpl/lib/famfamfam/AR.png [new file with mode: 0644]
koha-tmpl/opac-tmpl/lib/famfamfam/BK.png [new file with mode: 0644]
koha-tmpl/opac-tmpl/lib/famfamfam/CF.png [new file with mode: 0644]
koha-tmpl/opac-tmpl/lib/famfamfam/GR.png [new file with mode: 0644]
koha-tmpl/opac-tmpl/lib/famfamfam/MM.png [new file with mode: 0644]
koha-tmpl/opac-tmpl/lib/famfamfam/MP.png [new file with mode: 0644]
koha-tmpl/opac-tmpl/lib/famfamfam/MU.png [new file with mode: 0644]
koha-tmpl/opac-tmpl/lib/famfamfam/MX.png [new file with mode: 0644]
koha-tmpl/opac-tmpl/lib/famfamfam/PR.png [new file with mode: 0644]
koha-tmpl/opac-tmpl/lib/famfamfam/SE.png [new file with mode: 0644]
koha-tmpl/opac-tmpl/lib/famfamfam/ST.png [new file with mode: 0644]
koha-tmpl/opac-tmpl/lib/famfamfam/TD.png [new file with mode: 0644]
koha-tmpl/opac-tmpl/lib/famfamfam/VM.png [new file with mode: 0644]
koha-tmpl/opac-tmpl/lib/famfamfam/mini/action_back.gif [new file with mode: 0644]
koha-tmpl/opac-tmpl/lib/famfamfam/mini/action_forward.gif [new file with mode: 0644]
koha-tmpl/opac-tmpl/lib/famfamfam/mini/action_go.gif [new file with mode: 0644]
koha-tmpl/opac-tmpl/lib/famfamfam/mini/action_paste.gif [new file with mode: 0644]
koha-tmpl/opac-tmpl/lib/famfamfam/mini/action_print.gif [new file with mode: 0644]
koha-tmpl/opac-tmpl/lib/famfamfam/mini/action_refresh.gif [new file with mode: 0644]
koha-tmpl/opac-tmpl/lib/famfamfam/mini/action_refresh_blue.gif [new file with mode: 0644]
koha-tmpl/opac-tmpl/lib/famfamfam/mini/action_save.gif [new file with mode: 0644]
koha-tmpl/opac-tmpl/lib/famfamfam/mini/action_stop.gif [new file with mode: 0644]
koha-tmpl/opac-tmpl/lib/famfamfam/mini/application_dreamweaver.gif [new file with mode: 0644]
koha-tmpl/opac-tmpl/lib/famfamfam/mini/application_firefox.gif [new file with mode: 0644]
koha-tmpl/opac-tmpl/lib/famfamfam/mini/application_flash.gif [new file with mode: 0644]
koha-tmpl/opac-tmpl/lib/famfamfam/mini/arrow_down.gif [new file with mode: 0644]
koha-tmpl/opac-tmpl/lib/famfamfam/mini/arrow_left.gif [new file with mode: 0644]
koha-tmpl/opac-tmpl/lib/famfamfam/mini/arrow_right.gif [new file with mode: 0644]
koha-tmpl/opac-tmpl/lib/famfamfam/mini/arrow_up.gif [new file with mode: 0644]
koha-tmpl/opac-tmpl/lib/famfamfam/mini/box.gif [new file with mode: 0644]
koha-tmpl/opac-tmpl/lib/famfamfam/mini/calendar.gif [new file with mode: 0644]
koha-tmpl/opac-tmpl/lib/famfamfam/mini/comment.gif [new file with mode: 0644]
koha-tmpl/opac-tmpl/lib/famfamfam/mini/comment_blue.gif [new file with mode: 0644]
koha-tmpl/opac-tmpl/lib/famfamfam/mini/comment_delete.gif [new file with mode: 0644]
koha-tmpl/opac-tmpl/lib/famfamfam/mini/comment_new.gif [new file with mode: 0644]
koha-tmpl/opac-tmpl/lib/famfamfam/mini/comment_yellow.gif [new file with mode: 0644]
koha-tmpl/opac-tmpl/lib/famfamfam/mini/copy.gif [new file with mode: 0644]
koha-tmpl/opac-tmpl/lib/famfamfam/mini/cut.gif [new file with mode: 0644]
koha-tmpl/opac-tmpl/lib/famfamfam/mini/date.gif [new file with mode: 0644]
koha-tmpl/opac-tmpl/lib/famfamfam/mini/date_delete.gif [new file with mode: 0644]
koha-tmpl/opac-tmpl/lib/famfamfam/mini/date_new.gif [new file with mode: 0644]
koha-tmpl/opac-tmpl/lib/famfamfam/mini/file_acrobat.gif [new file with mode: 0644]
koha-tmpl/opac-tmpl/lib/famfamfam/mini/file_font.gif [new file with mode: 0644]
koha-tmpl/opac-tmpl/lib/famfamfam/mini/file_font_truetype.gif [new file with mode: 0644]
koha-tmpl/opac-tmpl/lib/famfamfam/mini/flag_blue.gif [new file with mode: 0644]
koha-tmpl/opac-tmpl/lib/famfamfam/mini/flag_green.gif [new file with mode: 0644]
koha-tmpl/opac-tmpl/lib/famfamfam/mini/flag_orange.gif [new file with mode: 0644]
koha-tmpl/opac-tmpl/lib/famfamfam/mini/flag_red.gif [new file with mode: 0644]
koha-tmpl/opac-tmpl/lib/famfamfam/mini/flag_white.gif [new file with mode: 0644]
koha-tmpl/opac-tmpl/lib/famfamfam/mini/folder.gif [new file with mode: 0644]
koha-tmpl/opac-tmpl/lib/famfamfam/mini/folder_delete.gif [new file with mode: 0644]
koha-tmpl/opac-tmpl/lib/famfamfam/mini/folder_images.gif [new file with mode: 0644]
koha-tmpl/opac-tmpl/lib/famfamfam/mini/folder_lock.gif [new file with mode: 0644]
koha-tmpl/opac-tmpl/lib/famfamfam/mini/folder_new.gif [new file with mode: 0644]
koha-tmpl/opac-tmpl/lib/famfamfam/mini/folder_page.gif [new file with mode: 0644]
koha-tmpl/opac-tmpl/lib/famfamfam/mini/icon_accept.gif [new file with mode: 0644]
koha-tmpl/opac-tmpl/lib/famfamfam/mini/icon_airmail.gif [new file with mode: 0644]
koha-tmpl/opac-tmpl/lib/famfamfam/mini/icon_alert.gif [new file with mode: 0644]
koha-tmpl/opac-tmpl/lib/famfamfam/mini/icon_attachment.gif [new file with mode: 0644]
koha-tmpl/opac-tmpl/lib/famfamfam/mini/icon_clock.gif [new file with mode: 0644]
koha-tmpl/opac-tmpl/lib/famfamfam/mini/icon_component.gif [new file with mode: 0644]
koha-tmpl/opac-tmpl/lib/famfamfam/mini/icon_download.gif [new file with mode: 0644]
koha-tmpl/opac-tmpl/lib/famfamfam/mini/icon_email.gif [new file with mode: 0644]
koha-tmpl/opac-tmpl/lib/famfamfam/mini/icon_extension.gif [new file with mode: 0644]
koha-tmpl/opac-tmpl/lib/famfamfam/mini/icon_favourites.gif [new file with mode: 0644]
koha-tmpl/opac-tmpl/lib/famfamfam/mini/icon_get_world.gif [new file with mode: 0644]
koha-tmpl/opac-tmpl/lib/famfamfam/mini/icon_history.gif [new file with mode: 0644]
koha-tmpl/opac-tmpl/lib/famfamfam/mini/icon_home.gif [new file with mode: 0644]
koha-tmpl/opac-tmpl/lib/famfamfam/mini/icon_info.gif [new file with mode: 0644]
koha-tmpl/opac-tmpl/lib/famfamfam/mini/icon_key.gif [new file with mode: 0644]
koha-tmpl/opac-tmpl/lib/famfamfam/mini/icon_link.gif [new file with mode: 0644]
koha-tmpl/opac-tmpl/lib/famfamfam/mini/icon_mail.gif [new file with mode: 0644]
koha-tmpl/opac-tmpl/lib/famfamfam/mini/icon_monitor_mac.gif [new file with mode: 0644]
koha-tmpl/opac-tmpl/lib/famfamfam/mini/icon_monitor_pc.gif [new file with mode: 0644]
koha-tmpl/opac-tmpl/lib/famfamfam/mini/icon_network.gif [new file with mode: 0644]
koha-tmpl/opac-tmpl/lib/famfamfam/mini/icon_package.gif [new file with mode: 0644]
koha-tmpl/opac-tmpl/lib/famfamfam/mini/icon_package_get.gif [new file with mode: 0644]
koha-tmpl/opac-tmpl/lib/famfamfam/mini/icon_package_open.gif [new file with mode: 0644]
koha-tmpl/opac-tmpl/lib/famfamfam/mini/icon_padlock.gif [new file with mode: 0644]
koha-tmpl/opac-tmpl/lib/famfamfam/mini/icon_security.gif [new file with mode: 0644]
koha-tmpl/opac-tmpl/lib/famfamfam/mini/icon_settings.gif [new file with mode: 0644]
koha-tmpl/opac-tmpl/lib/famfamfam/mini/icon_user.gif [new file with mode: 0644]
koha-tmpl/opac-tmpl/lib/famfamfam/mini/icon_wand.gif [new file with mode: 0644]
koha-tmpl/opac-tmpl/lib/famfamfam/mini/icon_world.gif [new file with mode: 0644]
koha-tmpl/opac-tmpl/lib/famfamfam/mini/icon_world_dynamic.gif [new file with mode: 0644]
koha-tmpl/opac-tmpl/lib/famfamfam/mini/image.gif [new file with mode: 0644]
koha-tmpl/opac-tmpl/lib/famfamfam/mini/image_new.gif [new file with mode: 0644]
koha-tmpl/opac-tmpl/lib/famfamfam/mini/interface_browser.gif [new file with mode: 0644]
koha-tmpl/opac-tmpl/lib/famfamfam/mini/interface_dialog.gif [new file with mode: 0644]
koha-tmpl/opac-tmpl/lib/famfamfam/mini/interface_installer.gif [new file with mode: 0644]
koha-tmpl/opac-tmpl/lib/famfamfam/mini/list_comments.gif [new file with mode: 0644]
koha-tmpl/opac-tmpl/lib/famfamfam/mini/list_components.gif [new file with mode: 0644]
koha-tmpl/opac-tmpl/lib/famfamfam/mini/list_errors.gif [new file with mode: 0644]
koha-tmpl/opac-tmpl/lib/famfamfam/mini/list_extensions.gif [new file with mode: 0644]
koha-tmpl/opac-tmpl/lib/famfamfam/mini/list_images.gif [new file with mode: 0644]
koha-tmpl/opac-tmpl/lib/famfamfam/mini/list_keys.gif [new file with mode: 0644]
koha-tmpl/opac-tmpl/lib/famfamfam/mini/list_links.gif [new file with mode: 0644]
koha-tmpl/opac-tmpl/lib/famfamfam/mini/list_packages.gif [new file with mode: 0644]
koha-tmpl/opac-tmpl/lib/famfamfam/mini/list_security.gif [new file with mode: 0644]
koha-tmpl/opac-tmpl/lib/famfamfam/mini/list_settings.gif [new file with mode: 0644]
koha-tmpl/opac-tmpl/lib/famfamfam/mini/list_users.gif [new file with mode: 0644]
koha-tmpl/opac-tmpl/lib/famfamfam/mini/list_world.gif [new file with mode: 0644]
koha-tmpl/opac-tmpl/lib/famfamfam/mini/note.gif [new file with mode: 0644]
koha-tmpl/opac-tmpl/lib/famfamfam/mini/note_delete.gif [new file with mode: 0644]
koha-tmpl/opac-tmpl/lib/famfamfam/mini/note_new.gif [new file with mode: 0644]
koha-tmpl/opac-tmpl/lib/famfamfam/mini/page.gif [new file with mode: 0644]
koha-tmpl/opac-tmpl/lib/famfamfam/mini/page_alert.gif [new file with mode: 0644]
koha-tmpl/opac-tmpl/lib/famfamfam/mini/page_attachment.gif [new file with mode: 0644]
koha-tmpl/opac-tmpl/lib/famfamfam/mini/page_bookmark.gif [new file with mode: 0644]
koha-tmpl/opac-tmpl/lib/famfamfam/mini/page_boy.gif [new file with mode: 0644]
koha-tmpl/opac-tmpl/lib/famfamfam/mini/page_code.gif [new file with mode: 0644]
koha-tmpl/opac-tmpl/lib/famfamfam/mini/page_colors.gif [new file with mode: 0644]
koha-tmpl/opac-tmpl/lib/famfamfam/mini/page_component.gif [new file with mode: 0644]
koha-tmpl/opac-tmpl/lib/famfamfam/mini/page_cross.gif [new file with mode: 0644]
koha-tmpl/opac-tmpl/lib/famfamfam/mini/page_delete.gif [new file with mode: 0644]
koha-tmpl/opac-tmpl/lib/famfamfam/mini/page_deny.gif [new file with mode: 0644]
koha-tmpl/opac-tmpl/lib/famfamfam/mini/page_down.gif [new file with mode: 0644]
koha-tmpl/opac-tmpl/lib/famfamfam/mini/page_dynamic.gif [new file with mode: 0644]
koha-tmpl/opac-tmpl/lib/famfamfam/mini/page_edit.gif [new file with mode: 0644]
koha-tmpl/opac-tmpl/lib/famfamfam/mini/page_extension.gif [new file with mode: 0644]
koha-tmpl/opac-tmpl/lib/famfamfam/mini/page_favourites.gif [new file with mode: 0644]
koha-tmpl/opac-tmpl/lib/famfamfam/mini/page_find.gif [new file with mode: 0644]
koha-tmpl/opac-tmpl/lib/famfamfam/mini/page_flash.gif [new file with mode: 0644]
koha-tmpl/opac-tmpl/lib/famfamfam/mini/page_girl.gif [new file with mode: 0644]
koha-tmpl/opac-tmpl/lib/famfamfam/mini/page_html.gif [new file with mode: 0644]
koha-tmpl/opac-tmpl/lib/famfamfam/mini/page_java.gif [new file with mode: 0644]
koha-tmpl/opac-tmpl/lib/famfamfam/mini/page_key.gif [new file with mode: 0644]
koha-tmpl/opac-tmpl/lib/famfamfam/mini/page_left.gif [new file with mode: 0644]
koha-tmpl/opac-tmpl/lib/famfamfam/mini/page_link.gif [new file with mode: 0644]
koha-tmpl/opac-tmpl/lib/famfamfam/mini/page_lock.gif [new file with mode: 0644]
koha-tmpl/opac-tmpl/lib/famfamfam/mini/page_new.gif [new file with mode: 0644]
koha-tmpl/opac-tmpl/lib/famfamfam/mini/page_next.gif [new file with mode: 0644]
koha-tmpl/opac-tmpl/lib/famfamfam/mini/page_package.gif [new file with mode: 0644]
koha-tmpl/opac-tmpl/lib/famfamfam/mini/page_php.gif [new file with mode: 0644]
koha-tmpl/opac-tmpl/lib/famfamfam/mini/page_prev.gif [new file with mode: 0644]
koha-tmpl/opac-tmpl/lib/famfamfam/mini/page_refresh.gif [new file with mode: 0644]
koha-tmpl/opac-tmpl/lib/famfamfam/mini/page_right.gif [new file with mode: 0644]
koha-tmpl/opac-tmpl/lib/famfamfam/mini/page_script.gif [new file with mode: 0644]
koha-tmpl/opac-tmpl/lib/famfamfam/mini/page_security.gif [new file with mode: 0644]
koha-tmpl/opac-tmpl/lib/famfamfam/mini/page_settings.gif [new file with mode: 0644]
koha-tmpl/opac-tmpl/lib/famfamfam/mini/page_sound.gif [new file with mode: 0644]
koha-tmpl/opac-tmpl/lib/famfamfam/mini/page_tag_blue.gif [new file with mode: 0644]
koha-tmpl/opac-tmpl/lib/famfamfam/mini/page_tag_red.gif [new file with mode: 0644]
koha-tmpl/opac-tmpl/lib/famfamfam/mini/page_text.gif [new file with mode: 0644]
koha-tmpl/opac-tmpl/lib/famfamfam/mini/page_text_delete.gif [new file with mode: 0644]
koha-tmpl/opac-tmpl/lib/famfamfam/mini/page_tick.gif [new file with mode: 0644]
koha-tmpl/opac-tmpl/lib/famfamfam/mini/page_tree.gif [new file with mode: 0644]
koha-tmpl/opac-tmpl/lib/famfamfam/mini/page_up.gif [new file with mode: 0644]
koha-tmpl/opac-tmpl/lib/famfamfam/mini/page_url.gif [new file with mode: 0644]
koha-tmpl/opac-tmpl/lib/famfamfam/mini/page_user.gif [new file with mode: 0644]
koha-tmpl/opac-tmpl/lib/famfamfam/mini/page_user_dark.gif [new file with mode: 0644]
koha-tmpl/opac-tmpl/lib/famfamfam/mini/page_user_light.gif [new file with mode: 0644]
koha-tmpl/opac-tmpl/lib/famfamfam/mini/page_video.gif [new file with mode: 0644]
koha-tmpl/opac-tmpl/lib/famfamfam/mini/page_wizard.gif [new file with mode: 0644]
koha-tmpl/opac-tmpl/lib/famfamfam/mini/readme.txt [new file with mode: 0644]
koha-tmpl/opac-tmpl/lib/famfamfam/mini/table.gif [new file with mode: 0644]
koha-tmpl/opac-tmpl/lib/famfamfam/mini/table_delete.gif [new file with mode: 0644]
koha-tmpl/opac-tmpl/lib/famfamfam/mini/tables.gif [new file with mode: 0644]
koha-tmpl/opac-tmpl/lib/famfamfam/readme.txt [new file with mode: 0644]
koha-tmpl/opac-tmpl/lib/famfamfam/silk/accept.png [new file with mode: 0644]
koha-tmpl/opac-tmpl/lib/famfamfam/silk/add.png [new file with mode: 0644]
koha-tmpl/opac-tmpl/lib/famfamfam/silk/anchor.png [new file with mode: 0644]
koha-tmpl/opac-tmpl/lib/famfamfam/silk/application.png [new file with mode: 0644]
koha-tmpl/opac-tmpl/lib/famfamfam/silk/application_add.png [new file with mode: 0644]
koha-tmpl/opac-tmpl/lib/famfamfam/silk/application_cascade.png [new file with mode: 0644]
koha-tmpl/opac-tmpl/lib/famfamfam/silk/application_delete.png [new file with mode: 0644]
koha-tmpl/opac-tmpl/lib/famfamfam/silk/application_double.png [new file with mode: 0644]
koha-tmpl/opac-tmpl/lib/famfamfam/silk/application_edit.png [new file with mode: 0644]
koha-tmpl/opac-tmpl/lib/famfamfam/silk/application_error.png [new file with mode: 0644]
koha-tmpl/opac-tmpl/lib/famfamfam/silk/application_form.png [new file with mode: 0644]
koha-tmpl/opac-tmpl/lib/famfamfam/silk/application_form_add.png [new file with mode: 0644]
koha-tmpl/opac-tmpl/lib/famfamfam/silk/application_form_delete.png [new file with mode: 0644]
koha-tmpl/opac-tmpl/lib/famfamfam/silk/application_form_edit.png [new file with mode: 0644]
koha-tmpl/opac-tmpl/lib/famfamfam/silk/application_form_magnify.png [new file with mode: 0644]
koha-tmpl/opac-tmpl/lib/famfamfam/silk/application_get.png [new file with mode: 0644]
koha-tmpl/opac-tmpl/lib/famfamfam/silk/application_go.png [new file with mode: 0644]
koha-tmpl/opac-tmpl/lib/famfamfam/silk/application_home.png [new file with mode: 0644]
koha-tmpl/opac-tmpl/lib/famfamfam/silk/application_key.png [new file with mode: 0644]
koha-tmpl/opac-tmpl/lib/famfamfam/silk/application_lightning.png [new file with mode: 0644]
koha-tmpl/opac-tmpl/lib/famfamfam/silk/application_link.png [new file with mode: 0644]
koha-tmpl/opac-tmpl/lib/famfamfam/silk/application_osx.png [new file with mode: 0644]
koha-tmpl/opac-tmpl/lib/famfamfam/silk/application_osx_terminal.png [new file with mode: 0644]
koha-tmpl/opac-tmpl/lib/famfamfam/silk/application_put.png [new file with mode: 0644]
koha-tmpl/opac-tmpl/lib/famfamfam/silk/application_side_boxes.png [new file with mode: 0644]
koha-tmpl/opac-tmpl/lib/famfamfam/silk/application_side_contract.png [new file with mode: 0644]
koha-tmpl/opac-tmpl/lib/famfamfam/silk/application_side_expand.png [new file with mode: 0644]
koha-tmpl/opac-tmpl/lib/famfamfam/silk/application_side_list.png [new file with mode: 0644]
koha-tmpl/opac-tmpl/lib/famfamfam/silk/application_side_tree.png [new file with mode: 0644]
koha-tmpl/opac-tmpl/lib/famfamfam/silk/application_split.png [new file with mode: 0644]
koha-tmpl/opac-tmpl/lib/famfamfam/silk/application_tile_horizontal.png [new file with mode: 0644]
koha-tmpl/opac-tmpl/lib/famfamfam/silk/application_tile_vertical.png [new file with mode: 0644]
koha-tmpl/opac-tmpl/lib/famfamfam/silk/application_view_columns.png [new file with mode: 0644]
koha-tmpl/opac-tmpl/lib/famfamfam/silk/application_view_detail.png [new file with mode: 0644]
koha-tmpl/opac-tmpl/lib/famfamfam/silk/application_view_gallery.png [new file with mode: 0644]
koha-tmpl/opac-tmpl/lib/famfamfam/silk/application_view_icons.png [new file with mode: 0644]
koha-tmpl/opac-tmpl/lib/famfamfam/silk/application_view_list.png [new file with mode: 0644]
koha-tmpl/opac-tmpl/lib/famfamfam/silk/application_view_tile.png [new file with mode: 0644]
koha-tmpl/opac-tmpl/lib/famfamfam/silk/application_xp.png [new file with mode: 0644]
koha-tmpl/opac-tmpl/lib/famfamfam/silk/application_xp_terminal.png [new file with mode: 0644]
koha-tmpl/opac-tmpl/lib/famfamfam/silk/arrow_branch.png [new file with mode: 0644]
koha-tmpl/opac-tmpl/lib/famfamfam/silk/arrow_divide.png [new file with mode: 0644]
koha-tmpl/opac-tmpl/lib/famfamfam/silk/arrow_down.png [new file with mode: 0644]
koha-tmpl/opac-tmpl/lib/famfamfam/silk/arrow_in.png [new file with mode: 0644]
koha-tmpl/opac-tmpl/lib/famfamfam/silk/arrow_inout.png [new file with mode: 0644]
koha-tmpl/opac-tmpl/lib/famfamfam/silk/arrow_join.png [new file with mode: 0644]
koha-tmpl/opac-tmpl/lib/famfamfam/silk/arrow_left.png [new file with mode: 0644]
koha-tmpl/opac-tmpl/lib/famfamfam/silk/arrow_merge.png [new file with mode: 0644]
koha-tmpl/opac-tmpl/lib/famfamfam/silk/arrow_out.png [new file with mode: 0644]
koha-tmpl/opac-tmpl/lib/famfamfam/silk/arrow_redo.png [new file with mode: 0644]
koha-tmpl/opac-tmpl/lib/famfamfam/silk/arrow_refresh.png [new file with mode: 0644]
koha-tmpl/opac-tmpl/lib/famfamfam/silk/arrow_refresh_small.png [new file with mode: 0644]
koha-tmpl/opac-tmpl/lib/famfamfam/silk/arrow_right.png [new file with mode: 0644]
koha-tmpl/opac-tmpl/lib/famfamfam/silk/arrow_rotate_anticlockwise.png [new file with mode: 0644]
koha-tmpl/opac-tmpl/lib/famfamfam/silk/arrow_rotate_clockwise.png [new file with mode: 0644]
koha-tmpl/opac-tmpl/lib/famfamfam/silk/arrow_switch.png [new file with mode: 0644]
koha-tmpl/opac-tmpl/lib/famfamfam/silk/arrow_turn_left.png [new file with mode: 0644]
koha-tmpl/opac-tmpl/lib/famfamfam/silk/arrow_turn_right.png [new file with mode: 0644]
koha-tmpl/opac-tmpl/lib/famfamfam/silk/arrow_undo.png [new file with mode: 0644]
koha-tmpl/opac-tmpl/lib/famfamfam/silk/arrow_up.png [new file with mode: 0644]
koha-tmpl/opac-tmpl/lib/famfamfam/silk/asterisk_orange.png [new file with mode: 0644]
koha-tmpl/opac-tmpl/lib/famfamfam/silk/asterisk_yellow.png [new file with mode: 0644]
koha-tmpl/opac-tmpl/lib/famfamfam/silk/attach.png [new file with mode: 0644]
koha-tmpl/opac-tmpl/lib/famfamfam/silk/award_star_add.png [new file with mode: 0644]
koha-tmpl/opac-tmpl/lib/famfamfam/silk/award_star_bronze_1.png [new file with mode: 0644]
koha-tmpl/opac-tmpl/lib/famfamfam/silk/award_star_bronze_2.png [new file with mode: 0644]
koha-tmpl/opac-tmpl/lib/famfamfam/silk/award_star_bronze_3.png [new file with mode: 0644]
koha-tmpl/opac-tmpl/lib/famfamfam/silk/award_star_delete.png [new file with mode: 0644]
koha-tmpl/opac-tmpl/lib/famfamfam/silk/award_star_gold_1.png [new file with mode: 0644]
koha-tmpl/opac-tmpl/lib/famfamfam/silk/award_star_gold_2.png [new file with mode: 0644]
koha-tmpl/opac-tmpl/lib/famfamfam/silk/award_star_gold_3.png [new file with mode: 0644]
koha-tmpl/opac-tmpl/lib/famfamfam/silk/award_star_silver_1.png [new file with mode: 0644]
koha-tmpl/opac-tmpl/lib/famfamfam/silk/award_star_silver_2.png [new file with mode: 0644]
koha-tmpl/opac-tmpl/lib/famfamfam/silk/award_star_silver_3.png [new file with mode: 0644]
koha-tmpl/opac-tmpl/lib/famfamfam/silk/basket.png [new file with mode: 0644]
koha-tmpl/opac-tmpl/lib/famfamfam/silk/basket_add.png [new file with mode: 0644]
koha-tmpl/opac-tmpl/lib/famfamfam/silk/basket_delete.png [new file with mode: 0644]
koha-tmpl/opac-tmpl/lib/famfamfam/silk/basket_edit.png [new file with mode: 0644]
koha-tmpl/opac-tmpl/lib/famfamfam/silk/basket_error.png [new file with mode: 0644]
koha-tmpl/opac-tmpl/lib/famfamfam/silk/basket_go.png [new file with mode: 0644]
koha-tmpl/opac-tmpl/lib/famfamfam/silk/basket_put.png [new file with mode: 0644]
koha-tmpl/opac-tmpl/lib/famfamfam/silk/basket_remove.png [new file with mode: 0644]
koha-tmpl/opac-tmpl/lib/famfamfam/silk/bell.png [new file with mode: 0644]
koha-tmpl/opac-tmpl/lib/famfamfam/silk/bell_add.png [new file with mode: 0644]
koha-tmpl/opac-tmpl/lib/famfamfam/silk/bell_delete.png [new file with mode: 0644]
koha-tmpl/opac-tmpl/lib/famfamfam/silk/bell_error.png [new file with mode: 0644]
koha-tmpl/opac-tmpl/lib/famfamfam/silk/bell_go.png [new file with mode: 0644]
koha-tmpl/opac-tmpl/lib/famfamfam/silk/bell_link.png [new file with mode: 0644]
koha-tmpl/opac-tmpl/lib/famfamfam/silk/bin.png [new file with mode: 0644]
koha-tmpl/opac-tmpl/lib/famfamfam/silk/bin_closed.png [new file with mode: 0644]
koha-tmpl/opac-tmpl/lib/famfamfam/silk/bin_empty.png [new file with mode: 0644]
koha-tmpl/opac-tmpl/lib/famfamfam/silk/bomb.png [new file with mode: 0644]
koha-tmpl/opac-tmpl/lib/famfamfam/silk/book.png [new file with mode: 0644]
koha-tmpl/opac-tmpl/lib/famfamfam/silk/book_add.png [new file with mode: 0644]
koha-tmpl/opac-tmpl/lib/famfamfam/silk/book_addresses.png [new file with mode: 0644]
koha-tmpl/opac-tmpl/lib/famfamfam/silk/book_delete.png [new file with mode: 0644]
koha-tmpl/opac-tmpl/lib/famfamfam/silk/book_edit.png [new file with mode: 0644]
koha-tmpl/opac-tmpl/lib/famfamfam/silk/book_error.png [new file with mode: 0644]
koha-tmpl/opac-tmpl/lib/famfamfam/silk/book_go.png [new file with mode: 0644]
koha-tmpl/opac-tmpl/lib/famfamfam/silk/book_key.png [new file with mode: 0644]
koha-tmpl/opac-tmpl/lib/famfamfam/silk/book_link.png [new file with mode: 0644]
koha-tmpl/opac-tmpl/lib/famfamfam/silk/book_next.png [new file with mode: 0644]
koha-tmpl/opac-tmpl/lib/famfamfam/silk/book_open.png [new file with mode: 0644]
koha-tmpl/opac-tmpl/lib/famfamfam/silk/book_previous.png [new file with mode: 0644]
koha-tmpl/opac-tmpl/lib/famfamfam/silk/box.png [new file with mode: 0644]
koha-tmpl/opac-tmpl/lib/famfamfam/silk/brick.png [new file with mode: 0644]
koha-tmpl/opac-tmpl/lib/famfamfam/silk/brick_add.png [new file with mode: 0644]
koha-tmpl/opac-tmpl/lib/famfamfam/silk/brick_delete.png [new file with mode: 0644]
koha-tmpl/opac-tmpl/lib/famfamfam/silk/brick_edit.png [new file with mode: 0644]
koha-tmpl/opac-tmpl/lib/famfamfam/silk/brick_error.png [new file with mode: 0644]
koha-tmpl/opac-tmpl/lib/famfamfam/silk/brick_go.png [new file with mode: 0644]
koha-tmpl/opac-tmpl/lib/famfamfam/silk/brick_link.png [new file with mode: 0644]
koha-tmpl/opac-tmpl/lib/famfamfam/silk/bricks.png [new file with mode: 0644]
koha-tmpl/opac-tmpl/lib/famfamfam/silk/briefcase.png [new file with mode: 0644]
koha-tmpl/opac-tmpl/lib/famfamfam/silk/bug.png [new file with mode: 0644]
koha-tmpl/opac-tmpl/lib/famfamfam/silk/bug_add.png [new file with mode: 0644]
koha-tmpl/opac-tmpl/lib/famfamfam/silk/bug_delete.png [new file with mode: 0644]
koha-tmpl/opac-tmpl/lib/famfamfam/silk/bug_edit.png [new file with mode: 0644]
koha-tmpl/opac-tmpl/lib/famfamfam/silk/bug_error.png [new file with mode: 0644]
koha-tmpl/opac-tmpl/lib/famfamfam/silk/bug_go.png [new file with mode: 0644]
koha-tmpl/opac-tmpl/lib/famfamfam/silk/bug_link.png [new file with mode: 0644]
koha-tmpl/opac-tmpl/lib/famfamfam/silk/building.png [new file with mode: 0644]
koha-tmpl/opac-tmpl/lib/famfamfam/silk/building_add.png [new file with mode: 0644]
koha-tmpl/opac-tmpl/lib/famfamfam/silk/building_delete.png [new file with mode: 0644]
koha-tmpl/opac-tmpl/lib/famfamfam/silk/building_edit.png [new file with mode: 0644]
koha-tmpl/opac-tmpl/lib/famfamfam/silk/building_error.png [new file with mode: 0644]
koha-tmpl/opac-tmpl/lib/famfamfam/silk/building_go.png [new file with mode: 0644]
koha-tmpl/opac-tmpl/lib/famfamfam/silk/building_key.png [new file with mode: 0644]
koha-tmpl/opac-tmpl/lib/famfamfam/silk/building_link.png [new file with mode: 0644]
koha-tmpl/opac-tmpl/lib/famfamfam/silk/bullet_add.png [new file with mode: 0644]
koha-tmpl/opac-tmpl/lib/famfamfam/silk/bullet_arrow_bottom.png [new file with mode: 0644]
koha-tmpl/opac-tmpl/lib/famfamfam/silk/bullet_arrow_down.png [new file with mode: 0644]
koha-tmpl/opac-tmpl/lib/famfamfam/silk/bullet_arrow_top.png [new file with mode: 0644]
koha-tmpl/opac-tmpl/lib/famfamfam/silk/bullet_arrow_up.png [new file with mode: 0644]
koha-tmpl/opac-tmpl/lib/famfamfam/silk/bullet_black.png [new file with mode: 0644]
koha-tmpl/opac-tmpl/lib/famfamfam/silk/bullet_blue.png [new file with mode: 0644]
koha-tmpl/opac-tmpl/lib/famfamfam/silk/bullet_delete.png [new file with mode: 0644]
koha-tmpl/opac-tmpl/lib/famfamfam/silk/bullet_disk.png [new file with mode: 0644]
koha-tmpl/opac-tmpl/lib/famfamfam/silk/bullet_error.png [new file with mode: 0644]
koha-tmpl/opac-tmpl/lib/famfamfam/silk/bullet_feed.png [new file with mode: 0644]
koha-tmpl/opac-tmpl/lib/famfamfam/silk/bullet_go.png [new file with mode: 0644]
koha-tmpl/opac-tmpl/lib/famfamfam/silk/bullet_green.png [new file with mode: 0644]
koha-tmpl/opac-tmpl/lib/famfamfam/silk/bullet_key.png [new file with mode: 0644]
koha-tmpl/opac-tmpl/lib/famfamfam/silk/bullet_orange.png [new file with mode: 0644]
koha-tmpl/opac-tmpl/lib/famfamfam/silk/bullet_picture.png [new file with mode: 0644]
koha-tmpl/opac-tmpl/lib/famfamfam/silk/bullet_pink.png [new file with mode: 0644]
koha-tmpl/opac-tmpl/lib/famfamfam/silk/bullet_purple.png [new file with mode: 0644]
koha-tmpl/opac-tmpl/lib/famfamfam/silk/bullet_red.png [new file with mode: 0644]
koha-tmpl/opac-tmpl/lib/famfamfam/silk/bullet_star.png [new file with mode: 0644]
koha-tmpl/opac-tmpl/lib/famfamfam/silk/bullet_toggle_minus.png [new file with mode: 0644]
koha-tmpl/opac-tmpl/lib/famfamfam/silk/bullet_toggle_plus.png [new file with mode: 0644]
koha-tmpl/opac-tmpl/lib/famfamfam/silk/bullet_white.png [new file with mode: 0644]
koha-tmpl/opac-tmpl/lib/famfamfam/silk/bullet_wrench.png [new file with mode: 0644]
koha-tmpl/opac-tmpl/lib/famfamfam/silk/bullet_yellow.png [new file with mode: 0644]
koha-tmpl/opac-tmpl/lib/famfamfam/silk/cake.png [new file with mode: 0644]
koha-tmpl/opac-tmpl/lib/famfamfam/silk/calculator.png [new file with mode: 0644]
koha-tmpl/opac-tmpl/lib/famfamfam/silk/calculator_add.png [new file with mode: 0644]
koha-tmpl/opac-tmpl/lib/famfamfam/silk/calculator_delete.png [new file with mode: 0644]
koha-tmpl/opac-tmpl/lib/famfamfam/silk/calculator_edit.png [new file with mode: 0644]
koha-tmpl/opac-tmpl/lib/famfamfam/silk/calculator_error.png [new file with mode: 0644]
koha-tmpl/opac-tmpl/lib/famfamfam/silk/calculator_link.png [new file with mode: 0644]
koha-tmpl/opac-tmpl/lib/famfamfam/silk/calendar.png [new file with mode: 0644]
koha-tmpl/opac-tmpl/lib/famfamfam/silk/calendar_add.png [new file with mode: 0644]
koha-tmpl/opac-tmpl/lib/famfamfam/silk/calendar_delete.png [new file with mode: 0644]
koha-tmpl/opac-tmpl/lib/famfamfam/silk/calendar_edit.png [new file with mode: 0644]
koha-tmpl/opac-tmpl/lib/famfamfam/silk/calendar_link.png [new file with mode: 0644]
koha-tmpl/opac-tmpl/lib/famfamfam/silk/calendar_view_day.png [new file with mode: 0644]
koha-tmpl/opac-tmpl/lib/famfamfam/silk/calendar_view_month.png [new file with mode: 0644]
koha-tmpl/opac-tmpl/lib/famfamfam/silk/calendar_view_week.png [new file with mode: 0644]
koha-tmpl/opac-tmpl/lib/famfamfam/silk/camera.png [new file with mode: 0644]
koha-tmpl/opac-tmpl/lib/famfamfam/silk/camera_add.png [new file with mode: 0644]
koha-tmpl/opac-tmpl/lib/famfamfam/silk/camera_delete.png [new file with mode: 0644]
koha-tmpl/opac-tmpl/lib/famfamfam/silk/camera_edit.png [new file with mode: 0644]
koha-tmpl/opac-tmpl/lib/famfamfam/silk/camera_error.png [new file with mode: 0644]
koha-tmpl/opac-tmpl/lib/famfamfam/silk/camera_go.png [new file with mode: 0644]
koha-tmpl/opac-tmpl/lib/famfamfam/silk/camera_link.png [new file with mode: 0644]
koha-tmpl/opac-tmpl/lib/famfamfam/silk/camera_small.png [new file with mode: 0644]
koha-tmpl/opac-tmpl/lib/famfamfam/silk/cancel.png [new file with mode: 0644]
koha-tmpl/opac-tmpl/lib/famfamfam/silk/car.png [new file with mode: 0644]
koha-tmpl/opac-tmpl/lib/famfamfam/silk/car_add.png [new file with mode: 0644]
koha-tmpl/opac-tmpl/lib/famfamfam/silk/car_delete.png [new file with mode: 0644]
koha-tmpl/opac-tmpl/lib/famfamfam/silk/cart.png [new file with mode: 0644]
koha-tmpl/opac-tmpl/lib/famfamfam/silk/cart_add.png [new file with mode: 0644]
koha-tmpl/opac-tmpl/lib/famfamfam/silk/cart_delete.png [new file with mode: 0644]
koha-tmpl/opac-tmpl/lib/famfamfam/silk/cart_edit.png [new file with mode: 0644]
koha-tmpl/opac-tmpl/lib/famfamfam/silk/cart_error.png [new file with mode: 0644]
koha-tmpl/opac-tmpl/lib/famfamfam/silk/cart_go.png [new file with mode: 0644]
koha-tmpl/opac-tmpl/lib/famfamfam/silk/cart_put.png [new file with mode: 0644]
koha-tmpl/opac-tmpl/lib/famfamfam/silk/cart_remove.png [new file with mode: 0644]
koha-tmpl/opac-tmpl/lib/famfamfam/silk/cd.png [new file with mode: 0644]
koha-tmpl/opac-tmpl/lib/famfamfam/silk/cd_add.png [new file with mode: 0644]
koha-tmpl/opac-tmpl/lib/famfamfam/silk/cd_burn.png [new file with mode: 0644]
koha-tmpl/opac-tmpl/lib/famfamfam/silk/cd_delete.png [new file with mode: 0644]
koha-tmpl/opac-tmpl/lib/famfamfam/silk/cd_edit.png [new file with mode: 0644]
koha-tmpl/opac-tmpl/lib/famfamfam/silk/cd_eject.png [new file with mode: 0644]
koha-tmpl/opac-tmpl/lib/famfamfam/silk/cd_go.png [new file with mode: 0644]
koha-tmpl/opac-tmpl/lib/famfamfam/silk/chart_bar.png [new file with mode: 0644]
koha-tmpl/opac-tmpl/lib/famfamfam/silk/chart_bar_add.png [new file with mode: 0644]
koha-tmpl/opac-tmpl/lib/famfamfam/silk/chart_bar_delete.png [new file with mode: 0644]
koha-tmpl/opac-tmpl/lib/famfamfam/silk/chart_bar_edit.png [new file with mode: 0644]
koha-tmpl/opac-tmpl/lib/famfamfam/silk/chart_bar_error.png [new file with mode: 0644]
koha-tmpl/opac-tmpl/lib/famfamfam/silk/chart_bar_link.png [new file with mode: 0644]
koha-tmpl/opac-tmpl/lib/famfamfam/silk/chart_curve.png [new file with mode: 0644]
koha-tmpl/opac-tmpl/lib/famfamfam/silk/chart_curve_add.png [new file with mode: 0644]
koha-tmpl/opac-tmpl/lib/famfamfam/silk/chart_curve_delete.png [new file with mode: 0644]
koha-tmpl/opac-tmpl/lib/famfamfam/silk/chart_curve_edit.png [new file with mode: 0644]
koha-tmpl/opac-tmpl/lib/famfamfam/silk/chart_curve_error.png [new file with mode: 0644]
koha-tmpl/opac-tmpl/lib/famfamfam/silk/chart_curve_go.png [new file with mode: 0644]
koha-tmpl/opac-tmpl/lib/famfamfam/silk/chart_curve_link.png [new file with mode: 0644]
koha-tmpl/opac-tmpl/lib/famfamfam/silk/chart_line.png [new file with mode: 0644]
koha-tmpl/opac-tmpl/lib/famfamfam/silk/chart_line_add.png [new file with mode: 0644]
koha-tmpl/opac-tmpl/lib/famfamfam/silk/chart_line_delete.png [new file with mode: 0644]
koha-tmpl/opac-tmpl/lib/famfamfam/silk/chart_line_edit.png [new file with mode: 0644]
koha-tmpl/opac-tmpl/lib/famfamfam/silk/chart_line_error.png [new file with mode: 0644]
koha-tmpl/opac-tmpl/lib/famfamfam/silk/chart_line_link.png [new file with mode: 0644]
koha-tmpl/opac-tmpl/lib/famfamfam/silk/chart_organisation.png [new file with mode: 0644]
koha-tmpl/opac-tmpl/lib/famfamfam/silk/chart_organisation_add.png [new file with mode: 0644]
koha-tmpl/opac-tmpl/lib/famfamfam/silk/chart_organisation_delete.png [new file with mode: 0644]
koha-tmpl/opac-tmpl/lib/famfamfam/silk/chart_pie.png [new file with mode: 0644]
koha-tmpl/opac-tmpl/lib/famfamfam/silk/chart_pie_add.png [new file with mode: 0644]
koha-tmpl/opac-tmpl/lib/famfamfam/silk/chart_pie_delete.png [new file with mode: 0644]
koha-tmpl/opac-tmpl/lib/famfamfam/silk/chart_pie_edit.png [new file with mode: 0644]
koha-tmpl/opac-tmpl/lib/famfamfam/silk/chart_pie_error.png [new file with mode: 0644]
koha-tmpl/opac-tmpl/lib/famfamfam/silk/chart_pie_link.png [new file with mode: 0644]
koha-tmpl/opac-tmpl/lib/famfamfam/silk/clock.png [new file with mode: 0644]
koha-tmpl/opac-tmpl/lib/famfamfam/silk/clock_add.png [new file with mode: 0644]
koha-tmpl/opac-tmpl/lib/famfamfam/silk/clock_delete.png [new file with mode: 0644]
koha-tmpl/opac-tmpl/lib/famfamfam/silk/clock_edit.png [new file with mode: 0644]
koha-tmpl/opac-tmpl/lib/famfamfam/silk/clock_error.png [new file with mode: 0644]
koha-tmpl/opac-tmpl/lib/famfamfam/silk/clock_go.png [new file with mode: 0644]
koha-tmpl/opac-tmpl/lib/famfamfam/silk/clock_link.png [new file with mode: 0644]
koha-tmpl/opac-tmpl/lib/famfamfam/silk/clock_pause.png [new file with mode: 0644]
koha-tmpl/opac-tmpl/lib/famfamfam/silk/clock_play.png [new file with mode: 0644]
koha-tmpl/opac-tmpl/lib/famfamfam/silk/clock_red.png [new file with mode: 0644]
koha-tmpl/opac-tmpl/lib/famfamfam/silk/clock_stop.png [new file with mode: 0644]
koha-tmpl/opac-tmpl/lib/famfamfam/silk/cog.png [new file with mode: 0644]
koha-tmpl/opac-tmpl/lib/famfamfam/silk/cog_add.png [new file with mode: 0644]
koha-tmpl/opac-tmpl/lib/famfamfam/silk/cog_delete.png [new file with mode: 0644]
koha-tmpl/opac-tmpl/lib/famfamfam/silk/cog_edit.png [new file with mode: 0644]
koha-tmpl/opac-tmpl/lib/famfamfam/silk/cog_error.png [new file with mode: 0644]
koha-tmpl/opac-tmpl/lib/famfamfam/silk/cog_go.png [new file with mode: 0644]
koha-tmpl/opac-tmpl/lib/famfamfam/silk/coins.png [new file with mode: 0644]
koha-tmpl/opac-tmpl/lib/famfamfam/silk/coins_add.png [new file with mode: 0644]
koha-tmpl/opac-tmpl/lib/famfamfam/silk/coins_delete.png [new file with mode: 0644]
koha-tmpl/opac-tmpl/lib/famfamfam/silk/color_swatch.png [new file with mode: 0644]
koha-tmpl/opac-tmpl/lib/famfamfam/silk/color_wheel.png [new file with mode: 0644]
koha-tmpl/opac-tmpl/lib/famfamfam/silk/comment.png [new file with mode: 0644]
koha-tmpl/opac-tmpl/lib/famfamfam/silk/comment_add.png [new file with mode: 0644]
koha-tmpl/opac-tmpl/lib/famfamfam/silk/comment_delete.png [new file with mode: 0644]
koha-tmpl/opac-tmpl/lib/famfamfam/silk/comment_edit.png [new file with mode: 0644]
koha-tmpl/opac-tmpl/lib/famfamfam/silk/comments.png [new file with mode: 0644]
koha-tmpl/opac-tmpl/lib/famfamfam/silk/comments_add.png [new file with mode: 0644]
koha-tmpl/opac-tmpl/lib/famfamfam/silk/comments_delete.png [new file with mode: 0644]
koha-tmpl/opac-tmpl/lib/famfamfam/silk/compress.png [new file with mode: 0644]
koha-tmpl/opac-tmpl/lib/famfamfam/silk/computer.png [new file with mode: 0644]
koha-tmpl/opac-tmpl/lib/famfamfam/silk/computer_add.png [new file with mode: 0644]
koha-tmpl/opac-tmpl/lib/famfamfam/silk/computer_delete.png [new file with mode: 0644]
koha-tmpl/opac-tmpl/lib/famfamfam/silk/computer_edit.png [new file with mode: 0644]
koha-tmpl/opac-tmpl/lib/famfamfam/silk/computer_error.png [new file with mode: 0644]
koha-tmpl/opac-tmpl/lib/famfamfam/silk/computer_go.png [new file with mode: 0644]
koha-tmpl/opac-tmpl/lib/famfamfam/silk/computer_key.png [new file with mode: 0644]
koha-tmpl/opac-tmpl/lib/famfamfam/silk/computer_link.png [new file with mode: 0644]
koha-tmpl/opac-tmpl/lib/famfamfam/silk/connect.png [new file with mode: 0644]
koha-tmpl/opac-tmpl/lib/famfamfam/silk/contrast.png [new file with mode: 0644]
koha-tmpl/opac-tmpl/lib/famfamfam/silk/contrast_decrease.png [new file with mode: 0644]
koha-tmpl/opac-tmpl/lib/famfamfam/silk/contrast_high.png [new file with mode: 0644]
koha-tmpl/opac-tmpl/lib/famfamfam/silk/contrast_increase.png [new file with mode: 0644]
koha-tmpl/opac-tmpl/lib/famfamfam/silk/contrast_low.png [new file with mode: 0644]
koha-tmpl/opac-tmpl/lib/famfamfam/silk/control_eject.png [new file with mode: 0644]
koha-tmpl/opac-tmpl/lib/famfamfam/silk/control_eject_blue.png [new file with mode: 0644]
koha-tmpl/opac-tmpl/lib/famfamfam/silk/control_end.png [new file with mode: 0644]
koha-tmpl/opac-tmpl/lib/famfamfam/silk/control_end_blue.png [new file with mode: 0644]
koha-tmpl/opac-tmpl/lib/famfamfam/silk/control_equalizer.png [new file with mode: 0644]
koha-tmpl/opac-tmpl/lib/famfamfam/silk/control_equalizer_blue.png [new file with mode: 0644]
koha-tmpl/opac-tmpl/lib/famfamfam/silk/control_fastforward.png [new file with mode: 0644]
koha-tmpl/opac-tmpl/lib/famfamfam/silk/control_fastforward_blue.png [new file with mode: 0644]
koha-tmpl/opac-tmpl/lib/famfamfam/silk/control_pause.png [new file with mode: 0644]
koha-tmpl/opac-tmpl/lib/famfamfam/silk/control_pause_blue.png [new file with mode: 0644]
koha-tmpl/opac-tmpl/lib/famfamfam/silk/control_play.png [new file with mode: 0644]
koha-tmpl/opac-tmpl/lib/famfamfam/silk/control_play_blue.png [new file with mode: 0644]
koha-tmpl/opac-tmpl/lib/famfamfam/silk/control_repeat.png [new file with mode: 0644]
koha-tmpl/opac-tmpl/lib/famfamfam/silk/control_repeat_blue.png [new file with mode: 0644]
koha-tmpl/opac-tmpl/lib/famfamfam/silk/control_rewind.png [new file with mode: 0644]
koha-tmpl/opac-tmpl/lib/famfamfam/silk/control_rewind_blue.png [new file with mode: 0644]
koha-tmpl/opac-tmpl/lib/famfamfam/silk/control_start.png [new file with mode: 0644]
koha-tmpl/opac-tmpl/lib/famfamfam/silk/control_start_blue.png [new file with mode: 0644]
koha-tmpl/opac-tmpl/lib/famfamfam/silk/control_stop.png [new file with mode: 0644]
koha-tmpl/opac-tmpl/lib/famfamfam/silk/control_stop_blue.png [new file with mode: 0644]
koha-tmpl/opac-tmpl/lib/famfamfam/silk/controller.png [new file with mode: 0644]
koha-tmpl/opac-tmpl/lib/famfamfam/silk/controller_add.png [new file with mode: 0644]
koha-tmpl/opac-tmpl/lib/famfamfam/silk/controller_delete.png [new file with mode: 0644]
koha-tmpl/opac-tmpl/lib/famfamfam/silk/controller_error.png [new file with mode: 0644]
koha-tmpl/opac-tmpl/lib/famfamfam/silk/creditcards.png [new file with mode: 0644]
koha-tmpl/opac-tmpl/lib/famfamfam/silk/cross.png [new file with mode: 0644]
koha-tmpl/opac-tmpl/lib/famfamfam/silk/css.png [new file with mode: 0644]
koha-tmpl/opac-tmpl/lib/famfamfam/silk/css_add.png [new file with mode: 0644]
koha-tmpl/opac-tmpl/lib/famfamfam/silk/css_delete.png [new file with mode: 0644]
koha-tmpl/opac-tmpl/lib/famfamfam/silk/css_go.png [new file with mode: 0644]
koha-tmpl/opac-tmpl/lib/famfamfam/silk/css_valid.png [new file with mode: 0644]
koha-tmpl/opac-tmpl/lib/famfamfam/silk/cup.png [new file with mode: 0644]
koha-tmpl/opac-tmpl/lib/famfamfam/silk/cup_add.png [new file with mode: 0644]
koha-tmpl/opac-tmpl/lib/famfamfam/silk/cup_delete.png [new file with mode: 0644]
koha-tmpl/opac-tmpl/lib/famfamfam/silk/cup_edit.png [new file with mode: 0644]
koha-tmpl/opac-tmpl/lib/famfamfam/silk/cup_error.png [new file with mode: 0644]
koha-tmpl/opac-tmpl/lib/famfamfam/silk/cup_go.png [new file with mode: 0644]
koha-tmpl/opac-tmpl/lib/famfamfam/silk/cup_key.png [new file with mode: 0644]
koha-tmpl/opac-tmpl/lib/famfamfam/silk/cup_link.png [new file with mode: 0644]
koha-tmpl/opac-tmpl/lib/famfamfam/silk/cursor.png [new file with mode: 0644]
koha-tmpl/opac-tmpl/lib/famfamfam/silk/cut.png [new file with mode: 0644]
koha-tmpl/opac-tmpl/lib/famfamfam/silk/cut_red.png [new file with mode: 0644]
koha-tmpl/opac-tmpl/lib/famfamfam/silk/database.png [new file with mode: 0644]
koha-tmpl/opac-tmpl/lib/famfamfam/silk/database_add.png [new file with mode: 0644]
koha-tmpl/opac-tmpl/lib/famfamfam/silk/database_connect.png [new file with mode: 0644]
koha-tmpl/opac-tmpl/lib/famfamfam/silk/database_delete.png [new file with mode: 0644]
koha-tmpl/opac-tmpl/lib/famfamfam/silk/database_edit.png [new file with mode: 0644]
koha-tmpl/opac-tmpl/lib/famfamfam/silk/database_error.png [new file with mode: 0644]
koha-tmpl/opac-tmpl/lib/famfamfam/silk/database_gear.png [new file with mode: 0644]
koha-tmpl/opac-tmpl/lib/famfamfam/silk/database_go.png [new file with mode: 0644]
koha-tmpl/opac-tmpl/lib/famfamfam/silk/database_key.png [new file with mode: 0644]
koha-tmpl/opac-tmpl/lib/famfamfam/silk/database_lightning.png [new file with mode: 0644]
koha-tmpl/opac-tmpl/lib/famfamfam/silk/database_link.png [new file with mode: 0644]
koha-tmpl/opac-tmpl/lib/famfamfam/silk/database_refresh.png [new file with mode: 0644]
koha-tmpl/opac-tmpl/lib/famfamfam/silk/database_save.png [new file with mode: 0644]
koha-tmpl/opac-tmpl/lib/famfamfam/silk/database_table.png [new file with mode: 0644]
koha-tmpl/opac-tmpl/lib/famfamfam/silk/date.png [new file with mode: 0644]
koha-tmpl/opac-tmpl/lib/famfamfam/silk/date_add.png [new file with mode: 0644]
koha-tmpl/opac-tmpl/lib/famfamfam/silk/date_delete.png [new file with mode: 0644]
koha-tmpl/opac-tmpl/lib/famfamfam/silk/date_edit.png [new file with mode: 0644]
koha-tmpl/opac-tmpl/lib/famfamfam/silk/date_error.png [new file with mode: 0644]
koha-tmpl/opac-tmpl/lib/famfamfam/silk/date_go.png [new file with mode: 0644]
koha-tmpl/opac-tmpl/lib/famfamfam/silk/date_link.png [new file with mode: 0644]
koha-tmpl/opac-tmpl/lib/famfamfam/silk/date_magnify.png [new file with mode: 0644]
koha-tmpl/opac-tmpl/lib/famfamfam/silk/date_next.png [new file with mode: 0644]
koha-tmpl/opac-tmpl/lib/famfamfam/silk/date_previous.png [new file with mode: 0644]
koha-tmpl/opac-tmpl/lib/famfamfam/silk/delete.png [new file with mode: 0644]
koha-tmpl/opac-tmpl/lib/famfamfam/silk/disconnect.png [new file with mode: 0644]
koha-tmpl/opac-tmpl/lib/famfamfam/silk/disk.png [new file with mode: 0644]
koha-tmpl/opac-tmpl/lib/famfamfam/silk/disk_multiple.png [new file with mode: 0644]
koha-tmpl/opac-tmpl/lib/famfamfam/silk/door.png [new file with mode: 0644]
koha-tmpl/opac-tmpl/lib/famfamfam/silk/door_in.png [new file with mode: 0644]
koha-tmpl/opac-tmpl/lib/famfamfam/silk/door_open.png [new file with mode: 0644]
koha-tmpl/opac-tmpl/lib/famfamfam/silk/door_out.png [new file with mode: 0644]
koha-tmpl/opac-tmpl/lib/famfamfam/silk/drink.png [new file with mode: 0644]
koha-tmpl/opac-tmpl/lib/famfamfam/silk/drink_empty.png [new file with mode: 0644]
koha-tmpl/opac-tmpl/lib/famfamfam/silk/drive.png [new file with mode: 0644]
koha-tmpl/opac-tmpl/lib/famfamfam/silk/drive_add.png [new file with mode: 0644]
koha-tmpl/opac-tmpl/lib/famfamfam/silk/drive_burn.png [new file with mode: 0644]
koha-tmpl/opac-tmpl/lib/famfamfam/silk/drive_cd.png [new file with mode: 0644]
koha-tmpl/opac-tmpl/lib/famfamfam/silk/drive_cd_empty.png [new file with mode: 0644]
koha-tmpl/opac-tmpl/lib/famfamfam/silk/drive_delete.png [new file with mode: 0644]
koha-tmpl/opac-tmpl/lib/famfamfam/silk/drive_disk.png [new file with mode: 0644]
koha-tmpl/opac-tmpl/lib/famfamfam/silk/drive_edit.png [new file with mode: 0644]
koha-tmpl/opac-tmpl/lib/famfamfam/silk/drive_error.png [new file with mode: 0644]
koha-tmpl/opac-tmpl/lib/famfamfam/silk/drive_go.png [new file with mode: 0644]
koha-tmpl/opac-tmpl/lib/famfamfam/silk/drive_key.png [new file with mode: 0644]
koha-tmpl/opac-tmpl/lib/famfamfam/silk/drive_link.png [new file with mode: 0644]
koha-tmpl/opac-tmpl/lib/famfamfam/silk/drive_magnify.png [new file with mode: 0644]
koha-tmpl/opac-tmpl/lib/famfamfam/silk/drive_network.png [new file with mode: 0644]
koha-tmpl/opac-tmpl/lib/famfamfam/silk/drive_rename.png [new file with mode: 0644]
koha-tmpl/opac-tmpl/lib/famfamfam/silk/drive_user.png [new file with mode: 0644]
koha-tmpl/opac-tmpl/lib/famfamfam/silk/drive_web.png [new file with mode: 0644]
koha-tmpl/opac-tmpl/lib/famfamfam/silk/dvd.png [new file with mode: 0644]
koha-tmpl/opac-tmpl/lib/famfamfam/silk/dvd_add.png [new file with mode: 0644]
koha-tmpl/opac-tmpl/lib/famfamfam/silk/dvd_delete.png [new file with mode: 0644]
koha-tmpl/opac-tmpl/lib/famfamfam/silk/dvd_edit.png [new file with mode: 0644]
koha-tmpl/opac-tmpl/lib/famfamfam/silk/dvd_error.png [new file with mode: 0644]
koha-tmpl/opac-tmpl/lib/famfamfam/silk/dvd_go.png [new file with mode: 0644]
koha-tmpl/opac-tmpl/lib/famfamfam/silk/dvd_key.png [new file with mode: 0644]
koha-tmpl/opac-tmpl/lib/famfamfam/silk/dvd_link.png [new file with mode: 0644]
koha-tmpl/opac-tmpl/lib/famfamfam/silk/email.png [new file with mode: 0644]
koha-tmpl/opac-tmpl/lib/famfamfam/silk/email_add.png [new file with mode: 0644]
koha-tmpl/opac-tmpl/lib/famfamfam/silk/email_attach.png [new file with mode: 0644]
koha-tmpl/opac-tmpl/lib/famfamfam/silk/email_delete.png [new file with mode: 0644]
koha-tmpl/opac-tmpl/lib/famfamfam/silk/email_edit.png [new file with mode: 0644]
koha-tmpl/opac-tmpl/lib/famfamfam/silk/email_error.png [new file with mode: 0644]
koha-tmpl/opac-tmpl/lib/famfamfam/silk/email_go.png [new file with mode: 0644]
koha-tmpl/opac-tmpl/lib/famfamfam/silk/email_link.png [new file with mode: 0644]
koha-tmpl/opac-tmpl/lib/famfamfam/silk/email_open.png [new file with mode: 0644]
koha-tmpl/opac-tmpl/lib/famfamfam/silk/email_open_image.png [new file with mode: 0644]
koha-tmpl/opac-tmpl/lib/famfamfam/silk/emoticon_evilgrin.png [new file with mode: 0644]
koha-tmpl/opac-tmpl/lib/famfamfam/silk/emoticon_grin.png [new file with mode: 0644]
koha-tmpl/opac-tmpl/lib/famfamfam/silk/emoticon_happy.png [new file with mode: 0644]
koha-tmpl/opac-tmpl/lib/famfamfam/silk/emoticon_smile.png [new file with mode: 0644]
koha-tmpl/opac-tmpl/lib/famfamfam/silk/emoticon_surprised.png [new file with mode: 0644]
koha-tmpl/opac-tmpl/lib/famfamfam/silk/emoticon_tongue.png [new file with mode: 0644]
koha-tmpl/opac-tmpl/lib/famfamfam/silk/emoticon_unhappy.png [new file with mode: 0644]
koha-tmpl/opac-tmpl/lib/famfamfam/silk/emoticon_waii.png [new file with mode: 0644]
koha-tmpl/opac-tmpl/lib/famfamfam/silk/emoticon_wink.png [new file with mode: 0644]
koha-tmpl/opac-tmpl/lib/famfamfam/silk/error.png [new file with mode: 0644]
koha-tmpl/opac-tmpl/lib/famfamfam/silk/error_add.png [new file with mode: 0644]
koha-tmpl/opac-tmpl/lib/famfamfam/silk/error_delete.png [new file with mode: 0644]
koha-tmpl/opac-tmpl/lib/famfamfam/silk/error_go.png [new file with mode: 0644]
koha-tmpl/opac-tmpl/lib/famfamfam/silk/exclamation.png [new file with mode: 0644]
koha-tmpl/opac-tmpl/lib/famfamfam/silk/eye.png [new file with mode: 0644]
koha-tmpl/opac-tmpl/lib/famfamfam/silk/feed.png [new file with mode: 0644]
koha-tmpl/opac-tmpl/lib/famfamfam/silk/feed_add.png [new file with mode: 0644]
koha-tmpl/opac-tmpl/lib/famfamfam/silk/feed_delete.png [new file with mode: 0644]
koha-tmpl/opac-tmpl/lib/famfamfam/silk/feed_disk.png [new file with mode: 0644]
koha-tmpl/opac-tmpl/lib/famfamfam/silk/feed_edit.png [new file with mode: 0644]
koha-tmpl/opac-tmpl/lib/famfamfam/silk/feed_error.png [new file with mode: 0644]
koha-tmpl/opac-tmpl/lib/famfamfam/silk/feed_go.png [new file with mode: 0644]
koha-tmpl/opac-tmpl/lib/famfamfam/silk/feed_key.png [new file with mode: 0644]
koha-tmpl/opac-tmpl/lib/famfamfam/silk/feed_link.png [new file with mode: 0644]
koha-tmpl/opac-tmpl/lib/famfamfam/silk/feed_magnify.png [new file with mode: 0644]
koha-tmpl/opac-tmpl/lib/famfamfam/silk/female.png [new file with mode: 0644]
koha-tmpl/opac-tmpl/lib/famfamfam/silk/film.png [new file with mode: 0644]
koha-tmpl/opac-tmpl/lib/famfamfam/silk/film_add.png [new file with mode: 0644]
koha-tmpl/opac-tmpl/lib/famfamfam/silk/film_delete.png [new file with mode: 0644]
koha-tmpl/opac-tmpl/lib/famfamfam/silk/film_edit.png [new file with mode: 0644]
koha-tmpl/opac-tmpl/lib/famfamfam/silk/film_error.png [new file with mode: 0644]
koha-tmpl/opac-tmpl/lib/famfamfam/silk/film_go.png [new file with mode: 0644]
koha-tmpl/opac-tmpl/lib/famfamfam/silk/film_key.png [new file with mode: 0644]
koha-tmpl/opac-tmpl/lib/famfamfam/silk/film_link.png [new file with mode: 0644]
koha-tmpl/opac-tmpl/lib/famfamfam/silk/film_save.png [new file with mode: 0644]
koha-tmpl/opac-tmpl/lib/famfamfam/silk/find.png [new file with mode: 0644]
koha-tmpl/opac-tmpl/lib/famfamfam/silk/flag_blue.png [new file with mode: 0644]
koha-tmpl/opac-tmpl/lib/famfamfam/silk/flag_green.png [new file with mode: 0644]
koha-tmpl/opac-tmpl/lib/famfamfam/silk/flag_orange.png [new file with mode: 0644]
koha-tmpl/opac-tmpl/lib/famfamfam/silk/flag_pink.png [new file with mode: 0644]
koha-tmpl/opac-tmpl/lib/famfamfam/silk/flag_purple.png [new file with mode: 0644]
koha-tmpl/opac-tmpl/lib/famfamfam/silk/flag_red.png [new file with mode: 0644]
koha-tmpl/opac-tmpl/lib/famfamfam/silk/flag_yellow.png [new file with mode: 0644]
koha-tmpl/opac-tmpl/lib/famfamfam/silk/folder.png [new file with mode: 0644]
koha-tmpl/opac-tmpl/lib/famfamfam/silk/folder_add.png [new file with mode: 0644]
koha-tmpl/opac-tmpl/lib/famfamfam/silk/folder_bell.png [new file with mode: 0644]
koha-tmpl/opac-tmpl/lib/famfamfam/silk/folder_brick.png [new file with mode: 0644]
koha-tmpl/opac-tmpl/lib/famfamfam/silk/folder_bug.png [new file with mode: 0644]
koha-tmpl/opac-tmpl/lib/famfamfam/silk/folder_camera.png [new file with mode: 0644]
koha-tmpl/opac-tmpl/lib/famfamfam/silk/folder_database.png [new file with mode: 0644]
koha-tmpl/opac-tmpl/lib/famfamfam/silk/folder_delete.png [new file with mode: 0644]
koha-tmpl/opac-tmpl/lib/famfamfam/silk/folder_edit.png [new file with mode: 0644]
koha-tmpl/opac-tmpl/lib/famfamfam/silk/folder_error.png [new file with mode: 0644]
koha-tmpl/opac-tmpl/lib/famfamfam/silk/folder_explore.png [new file with mode: 0644]
koha-tmpl/opac-tmpl/lib/famfamfam/silk/folder_feed.png [new file with mode: 0644]
koha-tmpl/opac-tmpl/lib/famfamfam/silk/folder_find.png [new file with mode: 0644]
koha-tmpl/opac-tmpl/lib/famfamfam/silk/folder_go.png [new file with mode: 0644]
koha-tmpl/opac-tmpl/lib/famfamfam/silk/folder_heart.png [new file with mode: 0644]
koha-tmpl/opac-tmpl/lib/famfamfam/silk/folder_image.png [new file with mode: 0644]
koha-tmpl/opac-tmpl/lib/famfamfam/silk/folder_key.png [new file with mode: 0644]
koha-tmpl/opac-tmpl/lib/famfamfam/silk/folder_lightbulb.png [new file with mode: 0644]
koha-tmpl/opac-tmpl/lib/famfamfam/silk/folder_link.png [new file with mode: 0644]
koha-tmpl/opac-tmpl/lib/famfamfam/silk/folder_magnify.png [new file with mode: 0644]
koha-tmpl/opac-tmpl/lib/famfamfam/silk/folder_page.png [new file with mode: 0644]
koha-tmpl/opac-tmpl/lib/famfamfam/silk/folder_page_white.png [new file with mode: 0644]
koha-tmpl/opac-tmpl/lib/famfamfam/silk/folder_palette.png [new file with mode: 0644]
koha-tmpl/opac-tmpl/lib/famfamfam/silk/folder_picture.png [new file with mode: 0644]
koha-tmpl/opac-tmpl/lib/famfamfam/silk/folder_star.png [new file with mode: 0644]
koha-tmpl/opac-tmpl/lib/famfamfam/silk/folder_table.png [new file with mode: 0644]
koha-tmpl/opac-tmpl/lib/famfamfam/silk/folder_user.png [new file with mode: 0644]
koha-tmpl/opac-tmpl/lib/famfamfam/silk/folder_wrench.png [new file with mode: 0644]
koha-tmpl/opac-tmpl/lib/famfamfam/silk/font.png [new file with mode: 0644]
koha-tmpl/opac-tmpl/lib/famfamfam/silk/font_add.png [new file with mode: 0644]
koha-tmpl/opac-tmpl/lib/famfamfam/silk/font_delete.png [new file with mode: 0644]
koha-tmpl/opac-tmpl/lib/famfamfam/silk/font_go.png [new file with mode: 0644]
koha-tmpl/opac-tmpl/lib/famfamfam/silk/group.png [new file with mode: 0644]
koha-tmpl/opac-tmpl/lib/famfamfam/silk/group_add.png [new file with mode: 0644]
koha-tmpl/opac-tmpl/lib/famfamfam/silk/group_delete.png [new file with mode: 0644]
koha-tmpl/opac-tmpl/lib/famfamfam/silk/group_edit.png [new file with mode: 0644]
koha-tmpl/opac-tmpl/lib/famfamfam/silk/group_error.png [new file with mode: 0644]
koha-tmpl/opac-tmpl/lib/famfamfam/silk/group_gear.png [new file with mode: 0644]
koha-tmpl/opac-tmpl/lib/famfamfam/silk/group_go.png [new file with mode: 0644]
koha-tmpl/opac-tmpl/lib/famfamfam/silk/group_key.png [new file with mode: 0644]
koha-tmpl/opac-tmpl/lib/famfamfam/silk/group_link.png [new file with mode: 0644]
koha-tmpl/opac-tmpl/lib/famfamfam/silk/heart.png [new file with mode: 0644]
koha-tmpl/opac-tmpl/lib/famfamfam/silk/heart_add.png [new file with mode: 0644]
koha-tmpl/opac-tmpl/lib/famfamfam/silk/heart_delete.png [new file with mode: 0644]
koha-tmpl/opac-tmpl/lib/famfamfam/silk/help.png [new file with mode: 0644]
koha-tmpl/opac-tmpl/lib/famfamfam/silk/hourglass.png [new file with mode: 0644]
koha-tmpl/opac-tmpl/lib/famfamfam/silk/hourglass_add.png [new file with mode: 0644]
koha-tmpl/opac-tmpl/lib/famfamfam/silk/hourglass_delete.png [new file with mode: 0644]
koha-tmpl/opac-tmpl/lib/famfamfam/silk/hourglass_go.png [new file with mode: 0644]
koha-tmpl/opac-tmpl/lib/famfamfam/silk/hourglass_link.png [new file with mode: 0644]
koha-tmpl/opac-tmpl/lib/famfamfam/silk/house.png [new file with mode: 0644]
koha-tmpl/opac-tmpl/lib/famfamfam/silk/house_go.png [new file with mode: 0644]
koha-tmpl/opac-tmpl/lib/famfamfam/silk/house_link.png [new file with mode: 0644]
koha-tmpl/opac-tmpl/lib/famfamfam/silk/html.png [new file with mode: 0644]
koha-tmpl/opac-tmpl/lib/famfamfam/silk/html_add.png [new file with mode: 0644]
koha-tmpl/opac-tmpl/lib/famfamfam/silk/html_delete.png [new file with mode: 0644]
koha-tmpl/opac-tmpl/lib/famfamfam/silk/html_go.png [new file with mode: 0644]
koha-tmpl/opac-tmpl/lib/famfamfam/silk/html_valid.png [new file with mode: 0644]
koha-tmpl/opac-tmpl/lib/famfamfam/silk/image.png [new file with mode: 0644]
koha-tmpl/opac-tmpl/lib/famfamfam/silk/image_add.png [new file with mode: 0644]
koha-tmpl/opac-tmpl/lib/famfamfam/silk/image_delete.png [new file with mode: 0644]
koha-tmpl/opac-tmpl/lib/famfamfam/silk/image_edit.png [new file with mode: 0644]
koha-tmpl/opac-tmpl/lib/famfamfam/silk/image_link.png [new file with mode: 0644]
koha-tmpl/opac-tmpl/lib/famfamfam/silk/images.png [new file with mode: 0644]
koha-tmpl/opac-tmpl/lib/famfamfam/silk/information.png [new file with mode: 0644]
koha-tmpl/opac-tmpl/lib/famfamfam/silk/ipod.png [new file with mode: 0644]
koha-tmpl/opac-tmpl/lib/famfamfam/silk/ipod_cast.png [new file with mode: 0644]
koha-tmpl/opac-tmpl/lib/famfamfam/silk/ipod_cast_add.png [new file with mode: 0644]
koha-tmpl/opac-tmpl/lib/famfamfam/silk/ipod_cast_delete.png [new file with mode: 0644]
koha-tmpl/opac-tmpl/lib/famfamfam/silk/ipod_sound.png [new file with mode: 0644]
koha-tmpl/opac-tmpl/lib/famfamfam/silk/joystick.png [new file with mode: 0644]
koha-tmpl/opac-tmpl/lib/famfamfam/silk/joystick_add.png [new file with mode: 0644]
koha-tmpl/opac-tmpl/lib/famfamfam/silk/joystick_delete.png [new file with mode: 0644]
koha-tmpl/opac-tmpl/lib/famfamfam/silk/joystick_error.png [new file with mode: 0644]
koha-tmpl/opac-tmpl/lib/famfamfam/silk/key.png [new file with mode: 0644]
koha-tmpl/opac-tmpl/lib/famfamfam/silk/key_add.png [new file with mode: 0644]
koha-tmpl/opac-tmpl/lib/famfamfam/silk/key_delete.png [new file with mode: 0644]
koha-tmpl/opac-tmpl/lib/famfamfam/silk/key_go.png [new file with mode: 0644]
koha-tmpl/opac-tmpl/lib/famfamfam/silk/keyboard.png [new file with mode: 0644]
koha-tmpl/opac-tmpl/lib/famfamfam/silk/keyboard_add.png [new file with mode: 0644]
koha-tmpl/opac-tmpl/lib/famfamfam/silk/keyboard_delete.png [new file with mode: 0644]
koha-tmpl/opac-tmpl/lib/famfamfam/silk/keyboard_magnify.png [new file with mode: 0644]
koha-tmpl/opac-tmpl/lib/famfamfam/silk/layers.png [new file with mode: 0644]
koha-tmpl/opac-tmpl/lib/famfamfam/silk/layout.png [new file with mode: 0644]
koha-tmpl/opac-tmpl/lib/famfamfam/silk/layout_add.png [new file with mode: 0644]
koha-tmpl/opac-tmpl/lib/famfamfam/silk/layout_content.png [new file with mode: 0644]
koha-tmpl/opac-tmpl/lib/famfamfam/silk/layout_delete.png [new file with mode: 0644]
koha-tmpl/opac-tmpl/lib/famfamfam/silk/layout_edit.png [new file with mode: 0644]
koha-tmpl/opac-tmpl/lib/famfamfam/silk/layout_error.png [new file with mode: 0644]
koha-tmpl/opac-tmpl/lib/famfamfam/silk/layout_header.png [new file with mode: 0644]
koha-tmpl/opac-tmpl/lib/famfamfam/silk/layout_link.png [new file with mode: 0644]
koha-tmpl/opac-tmpl/lib/famfamfam/silk/layout_sidebar.png [new file with mode: 0644]
koha-tmpl/opac-tmpl/lib/famfamfam/silk/lightbulb.png [new file with mode: 0644]
koha-tmpl/opac-tmpl/lib/famfamfam/silk/lightbulb_add.png [new file with mode: 0644]
koha-tmpl/opac-tmpl/lib/famfamfam/silk/lightbulb_delete.png [new file with mode: 0644]
koha-tmpl/opac-tmpl/lib/famfamfam/silk/lightbulb_off.png [new file with mode: 0644]
koha-tmpl/opac-tmpl/lib/famfamfam/silk/lightning.png [new file with mode: 0644]
koha-tmpl/opac-tmpl/lib/famfamfam/silk/lightning_add.png [new file with mode: 0644]
koha-tmpl/opac-tmpl/lib/famfamfam/silk/lightning_delete.png [new file with mode: 0644]
koha-tmpl/opac-tmpl/lib/famfamfam/silk/lightning_go.png [new file with mode: 0644]
koha-tmpl/opac-tmpl/lib/famfamfam/silk/link.png [new file with mode: 0644]
koha-tmpl/opac-tmpl/lib/famfamfam/silk/link_add.png [new file with mode: 0644]
koha-tmpl/opac-tmpl/lib/famfamfam/silk/link_break.png [new file with mode: 0644]
koha-tmpl/opac-tmpl/lib/famfamfam/silk/link_delete.png [new file with mode: 0644]
koha-tmpl/opac-tmpl/lib/famfamfam/silk/link_edit.png [new file with mode: 0644]
koha-tmpl/opac-tmpl/lib/famfamfam/silk/link_error.png [new file with mode: 0644]
koha-tmpl/opac-tmpl/lib/famfamfam/silk/link_go.png [new file with mode: 0644]
koha-tmpl/opac-tmpl/lib/famfamfam/silk/lock.png [new file with mode: 0644]
koha-tmpl/opac-tmpl/lib/famfamfam/silk/lock_add.png [new file with mode: 0644]
koha-tmpl/opac-tmpl/lib/famfamfam/silk/lock_break.png [new file with mode: 0644]
koha-tmpl/opac-tmpl/lib/famfamfam/silk/lock_delete.png [new file with mode: 0644]
koha-tmpl/opac-tmpl/lib/famfamfam/silk/lock_edit.png [new file with mode: 0644]
koha-tmpl/opac-tmpl/lib/famfamfam/silk/lock_go.png [new file with mode: 0644]
koha-tmpl/opac-tmpl/lib/famfamfam/silk/lock_open.png [new file with mode: 0644]
koha-tmpl/opac-tmpl/lib/famfamfam/silk/lorry.png [new file with mode: 0644]
koha-tmpl/opac-tmpl/lib/famfamfam/silk/lorry_add.png [new file with mode: 0644]
koha-tmpl/opac-tmpl/lib/famfamfam/silk/lorry_delete.png [new file with mode: 0644]
koha-tmpl/opac-tmpl/lib/famfamfam/silk/lorry_error.png [new file with mode: 0644]
koha-tmpl/opac-tmpl/lib/famfamfam/silk/lorry_flatbed.png [new file with mode: 0644]
koha-tmpl/opac-tmpl/lib/famfamfam/silk/lorry_go.png [new file with mode: 0644]
koha-tmpl/opac-tmpl/lib/famfamfam/silk/lorry_link.png [new file with mode: 0644]
koha-tmpl/opac-tmpl/lib/famfamfam/silk/magifier_zoom_out.png [new file with mode: 0644]
koha-tmpl/opac-tmpl/lib/famfamfam/silk/magnifier.png [new file with mode: 0644]
koha-tmpl/opac-tmpl/lib/famfamfam/silk/magnifier_zoom_in.png [new file with mode: 0644]
koha-tmpl/opac-tmpl/lib/famfamfam/silk/male.png [new file with mode: 0644]
koha-tmpl/opac-tmpl/lib/famfamfam/silk/map.png [new file with mode: 0644]
koha-tmpl/opac-tmpl/lib/famfamfam/silk/map_add.png [new file with mode: 0644]
koha-tmpl/opac-tmpl/lib/famfamfam/silk/map_delete.png [new file with mode: 0644]
koha-tmpl/opac-tmpl/lib/famfamfam/silk/map_edit.png [new file with mode: 0644]
koha-tmpl/opac-tmpl/lib/famfamfam/silk/map_go.png [new file with mode: 0644]
koha-tmpl/opac-tmpl/lib/famfamfam/silk/map_magnify.png [new file with mode: 0644]
koha-tmpl/opac-tmpl/lib/famfamfam/silk/medal_bronze_1.png [new file with mode: 0644]
koha-tmpl/opac-tmpl/lib/famfamfam/silk/medal_bronze_2.png [new file with mode: 0644]
koha-tmpl/opac-tmpl/lib/famfamfam/silk/medal_bronze_3.png [new file with mode: 0644]
koha-tmpl/opac-tmpl/lib/famfamfam/silk/medal_bronze_add.png [new file with mode: 0644]
koha-tmpl/opac-tmpl/lib/famfamfam/silk/medal_bronze_delete.png [new file with mode: 0644]
koha-tmpl/opac-tmpl/lib/famfamfam/silk/medal_gold_1.png [new file with mode: 0644]
koha-tmpl/opac-tmpl/lib/famfamfam/silk/medal_gold_2.png [new file with mode: 0644]
koha-tmpl/opac-tmpl/lib/famfamfam/silk/medal_gold_3.png [new file with mode: 0644]
koha-tmpl/opac-tmpl/lib/famfamfam/silk/medal_gold_add.png [new file with mode: 0644]
koha-tmpl/opac-tmpl/lib/famfamfam/silk/medal_gold_delete.png [new file with mode: 0644]
koha-tmpl/opac-tmpl/lib/famfamfam/silk/medal_silver_1.png [new file with mode: 0644]
koha-tmpl/opac-tmpl/lib/famfamfam/silk/medal_silver_2.png [new file with mode: 0644]
koha-tmpl/opac-tmpl/lib/famfamfam/silk/medal_silver_3.png [new file with mode: 0644]
koha-tmpl/opac-tmpl/lib/famfamfam/silk/medal_silver_add.png [new file with mode: 0644]
koha-tmpl/opac-tmpl/lib/famfamfam/silk/medal_silver_delete.png [new file with mode: 0644]
koha-tmpl/opac-tmpl/lib/famfamfam/silk/money.png [new file with mode: 0644]
koha-tmpl/opac-tmpl/lib/famfamfam/silk/money_add.png [new file with mode: 0644]
koha-tmpl/opac-tmpl/lib/famfamfam/silk/money_delete.png [new file with mode: 0644]
koha-tmpl/opac-tmpl/lib/famfamfam/silk/money_dollar.png [new file with mode: 0644]
koha-tmpl/opac-tmpl/lib/famfamfam/silk/money_euro.png [new file with mode: 0644]
koha-tmpl/opac-tmpl/lib/famfamfam/silk/money_pound.png [new file with mode: 0644]
koha-tmpl/opac-tmpl/lib/famfamfam/silk/money_yen.png [new file with mode: 0644]
koha-tmpl/opac-tmpl/lib/famfamfam/silk/monitor.png [new file with mode: 0644]
koha-tmpl/opac-tmpl/lib/famfamfam/silk/monitor_add.png [new file with mode: 0644]
koha-tmpl/opac-tmpl/lib/famfamfam/silk/monitor_delete.png [new file with mode: 0644]
koha-tmpl/opac-tmpl/lib/famfamfam/silk/monitor_edit.png [new file with mode: 0644]
koha-tmpl/opac-tmpl/lib/famfamfam/silk/monitor_error.png [new file with mode: 0644]
koha-tmpl/opac-tmpl/lib/famfamfam/silk/monitor_go.png [new file with mode: 0644]
koha-tmpl/opac-tmpl/lib/famfamfam/silk/monitor_lightning.png [new file with mode: 0644]
koha-tmpl/opac-tmpl/lib/famfamfam/silk/monitor_link.png [new file with mode: 0644]
koha-tmpl/opac-tmpl/lib/famfamfam/silk/mouse.png [new file with mode: 0644]
koha-tmpl/opac-tmpl/lib/famfamfam/silk/mouse_add.png [new file with mode: 0644]
koha-tmpl/opac-tmpl/lib/famfamfam/silk/mouse_delete.png [new file with mode: 0644]
koha-tmpl/opac-tmpl/lib/famfamfam/silk/mouse_error.png [new file with mode: 0644]
koha-tmpl/opac-tmpl/lib/famfamfam/silk/music.png [new file with mode: 0644]
koha-tmpl/opac-tmpl/lib/famfamfam/silk/new.png [new file with mode: 0644]
koha-tmpl/opac-tmpl/lib/famfamfam/silk/newspaper.png [new file with mode: 0644]
koha-tmpl/opac-tmpl/lib/famfamfam/silk/newspaper_add.png [new file with mode: 0644]
koha-tmpl/opac-tmpl/lib/famfamfam/silk/newspaper_delete.png [new file with mode: 0644]
koha-tmpl/opac-tmpl/lib/famfamfam/silk/newspaper_go.png [new file with mode: 0644]
koha-tmpl/opac-tmpl/lib/famfamfam/silk/newspaper_link.png [new file with mode: 0644]
koha-tmpl/opac-tmpl/lib/famfamfam/silk/note.png [new file with mode: 0644]
koha-tmpl/opac-tmpl/lib/famfamfam/silk/note_add.png [new file with mode: 0644]
koha-tmpl/opac-tmpl/lib/famfamfam/silk/note_delete.png [new file with mode: 0644]
koha-tmpl/opac-tmpl/lib/famfamfam/silk/note_edit.png [new file with mode: 0644]
koha-tmpl/opac-tmpl/lib/famfamfam/silk/note_error.png [new file with mode: 0644]
koha-tmpl/opac-tmpl/lib/famfamfam/silk/note_go.png [new file with mode: 0644]
koha-tmpl/opac-tmpl/lib/famfamfam/silk/overlays.png [new file with mode: 0644]
koha-tmpl/opac-tmpl/lib/famfamfam/silk/package.png [new file with mode: 0644]
koha-tmpl/opac-tmpl/lib/famfamfam/silk/package_add.png [new file with mode: 0644]
koha-tmpl/opac-tmpl/lib/famfamfam/silk/package_delete.png [new file with mode: 0644]
koha-tmpl/opac-tmpl/lib/famfamfam/silk/package_go.png [new file with mode: 0644]
koha-tmpl/opac-tmpl/lib/famfamfam/silk/package_green.png [new file with mode: 0644]
koha-tmpl/opac-tmpl/lib/famfamfam/silk/package_link.png [new file with mode: 0644]
koha-tmpl/opac-tmpl/lib/famfamfam/silk/page.png [new file with mode: 0644]
koha-tmpl/opac-tmpl/lib/famfamfam/silk/page_add.png [new file with mode: 0644]
koha-tmpl/opac-tmpl/lib/famfamfam/silk/page_attach.png [new file with mode: 0644]
koha-tmpl/opac-tmpl/lib/famfamfam/silk/page_code.png [new file with mode: 0644]
koha-tmpl/opac-tmpl/lib/famfamfam/silk/page_copy.png [new file with mode: 0644]
koha-tmpl/opac-tmpl/lib/famfamfam/silk/page_delete.png [new file with mode: 0644]
koha-tmpl/opac-tmpl/lib/famfamfam/silk/page_edit.png [new file with mode: 0644]
koha-tmpl/opac-tmpl/lib/famfamfam/silk/page_error.png [new file with mode: 0644]
koha-tmpl/opac-tmpl/lib/famfamfam/silk/page_excel.png [new file with mode: 0644]
koha-tmpl/opac-tmpl/lib/famfamfam/silk/page_find.png [new file with mode: 0644]
koha-tmpl/opac-tmpl/lib/famfamfam/silk/page_gear.png [new file with mode: 0644]
koha-tmpl/opac-tmpl/lib/famfamfam/silk/page_go.png [new file with mode: 0644]
koha-tmpl/opac-tmpl/lib/famfamfam/silk/page_green.png [new file with mode: 0644]
koha-tmpl/opac-tmpl/lib/famfamfam/silk/page_key.png [new file with mode: 0644]
koha-tmpl/opac-tmpl/lib/famfamfam/silk/page_lightning.png [new file with mode: 0644]
koha-tmpl/opac-tmpl/lib/famfamfam/silk/page_link.png [new file with mode: 0644]
koha-tmpl/opac-tmpl/lib/famfamfam/silk/page_paintbrush.png [new file with mode: 0644]
koha-tmpl/opac-tmpl/lib/famfamfam/silk/page_paste.png [new file with mode: 0644]
koha-tmpl/opac-tmpl/lib/famfamfam/silk/page_red.png [new file with mode: 0644]
koha-tmpl/opac-tmpl/lib/famfamfam/silk/page_refresh.png [new file with mode: 0644]
koha-tmpl/opac-tmpl/lib/famfamfam/silk/page_save.png [new file with mode: 0644]
koha-tmpl/opac-tmpl/lib/famfamfam/silk/page_white.png [new file with mode: 0644]
koha-tmpl/opac-tmpl/lib/famfamfam/silk/page_white_acrobat.png [new file with mode: 0644]
koha-tmpl/opac-tmpl/lib/famfamfam/silk/page_white_actionscript.png [new file with mode: 0644]
koha-tmpl/opac-tmpl/lib/famfamfam/silk/page_white_add.png [new file with mode: 0644]
koha-tmpl/opac-tmpl/lib/famfamfam/silk/page_white_c.png [new file with mode: 0644]
koha-tmpl/opac-tmpl/lib/famfamfam/silk/page_white_camera.png [new file with mode: 0644]
koha-tmpl/opac-tmpl/lib/famfamfam/silk/page_white_cd.png [new file with mode: 0644]
koha-tmpl/opac-tmpl/lib/famfamfam/silk/page_white_code.png [new file with mode: 0644]
koha-tmpl/opac-tmpl/lib/famfamfam/silk/page_white_code_red.png [new file with mode: 0644]
koha-tmpl/opac-tmpl/lib/famfamfam/silk/page_white_coldfusion.png [new file with mode: 0644]
koha-tmpl/opac-tmpl/lib/famfamfam/silk/page_white_compressed.png [new file with mode: 0644]
koha-tmpl/opac-tmpl/lib/famfamfam/silk/page_white_copy.png [new file with mode: 0644]
koha-tmpl/opac-tmpl/lib/famfamfam/silk/page_white_cplusplus.png [new file with mode: 0644]
koha-tmpl/opac-tmpl/lib/famfamfam/silk/page_white_csharp.png [new file with mode: 0644]
koha-tmpl/opac-tmpl/lib/famfamfam/silk/page_white_cup.png [new file with mode: 0644]
koha-tmpl/opac-tmpl/lib/famfamfam/silk/page_white_database.png [new file with mode: 0644]
koha-tmpl/opac-tmpl/lib/famfamfam/silk/page_white_delete.png [new file with mode: 0644]
koha-tmpl/opac-tmpl/lib/famfamfam/silk/page_white_dvd.png [new file with mode: 0644]
koha-tmpl/opac-tmpl/lib/famfamfam/silk/page_white_edit.png [new file with mode: 0644]
koha-tmpl/opac-tmpl/lib/famfamfam/silk/page_white_error.png [new file with mode: 0644]
koha-tmpl/opac-tmpl/lib/famfamfam/silk/page_white_excel.png [new file with mode: 0644]
koha-tmpl/opac-tmpl/lib/famfamfam/silk/page_white_find.png [new file with mode: 0644]
koha-tmpl/opac-tmpl/lib/famfamfam/silk/page_white_flash.png [new file with mode: 0644]
koha-tmpl/opac-tmpl/lib/famfamfam/silk/page_white_freehand.png [new file with mode: 0644]
koha-tmpl/opac-tmpl/lib/famfamfam/silk/page_white_gear.png [new file with mode: 0644]
koha-tmpl/opac-tmpl/lib/famfamfam/silk/page_white_get.png [new file with mode: 0644]
koha-tmpl/opac-tmpl/lib/famfamfam/silk/page_white_go.png [new file with mode: 0644]
koha-tmpl/opac-tmpl/lib/famfamfam/silk/page_white_h.png [new file with mode: 0644]
koha-tmpl/opac-tmpl/lib/famfamfam/silk/page_white_horizontal.png [new file with mode: 0644]
koha-tmpl/opac-tmpl/lib/famfamfam/silk/page_white_key.png [new file with mode: 0644]
koha-tmpl/opac-tmpl/lib/famfamfam/silk/page_white_lightning.png [new file with mode: 0644]
koha-tmpl/opac-tmpl/lib/famfamfam/silk/page_white_link.png [new file with mode: 0644]
koha-tmpl/opac-tmpl/lib/famfamfam/silk/page_white_magnify.png [new file with mode: 0644]
koha-tmpl/opac-tmpl/lib/famfamfam/silk/page_white_medal.png [new file with mode: 0644]
koha-tmpl/opac-tmpl/lib/famfamfam/silk/page_white_office.png [new file with mode: 0644]
koha-tmpl/opac-tmpl/lib/famfamfam/silk/page_white_paint.png [new file with mode: 0644]
koha-tmpl/opac-tmpl/lib/famfamfam/silk/page_white_paintbrush.png [new file with mode: 0644]
koha-tmpl/opac-tmpl/lib/famfamfam/silk/page_white_paste.png [new file with mode: 0644]
koha-tmpl/opac-tmpl/lib/famfamfam/silk/page_white_php.png [new file with mode: 0644]
koha-tmpl/opac-tmpl/lib/famfamfam/silk/page_white_picture.png [new file with mode: 0644]
koha-tmpl/opac-tmpl/lib/famfamfam/silk/page_white_powerpoint.png [new file with mode: 0644]
koha-tmpl/opac-tmpl/lib/famfamfam/silk/page_white_put.png [new file with mode: 0644]
koha-tmpl/opac-tmpl/lib/famfamfam/silk/page_white_ruby.png [new file with mode: 0644]
koha-tmpl/opac-tmpl/lib/famfamfam/silk/page_white_stack.png [new file with mode: 0644]
koha-tmpl/opac-tmpl/lib/famfamfam/silk/page_white_star.png [new file with mode: 0644]
koha-tmpl/opac-tmpl/lib/famfamfam/silk/page_white_swoosh.png [new file with mode: 0644]
koha-tmpl/opac-tmpl/lib/famfamfam/silk/page_white_text.png [new file with mode: 0644]
koha-tmpl/opac-tmpl/lib/famfamfam/silk/page_white_text_width.png [new file with mode: 0644]
koha-tmpl/opac-tmpl/lib/famfamfam/silk/page_white_tux.png [new file with mode: 0644]
koha-tmpl/opac-tmpl/lib/famfamfam/silk/page_white_vector.png [new file with mode: 0644]
koha-tmpl/opac-tmpl/lib/famfamfam/silk/page_white_visualstudio.png [new file with mode: 0644]
koha-tmpl/opac-tmpl/lib/famfamfam/silk/page_white_width.png [new file with mode: 0644]
koha-tmpl/opac-tmpl/lib/famfamfam/silk/page_white_word.png [new file with mode: 0644]
koha-tmpl/opac-tmpl/lib/famfamfam/silk/page_white_world.png [new file with mode: 0644]
koha-tmpl/opac-tmpl/lib/famfamfam/silk/page_white_wrench.png [new file with mode: 0644]
koha-tmpl/opac-tmpl/lib/famfamfam/silk/page_white_zip.png [new file with mode: 0644]
koha-tmpl/opac-tmpl/lib/famfamfam/silk/page_word.png [new file with mode: 0644]
koha-tmpl/opac-tmpl/lib/famfamfam/silk/page_world.png [new file with mode: 0644]
koha-tmpl/opac-tmpl/lib/famfamfam/silk/paintbrush.png [new file with mode: 0644]
koha-tmpl/opac-tmpl/lib/famfamfam/silk/paintcan.png [new file with mode: 0644]
koha-tmpl/opac-tmpl/lib/famfamfam/silk/palette.png [new file with mode: 0644]
koha-tmpl/opac-tmpl/lib/famfamfam/silk/paste_plain.png [new file with mode: 0644]
koha-tmpl/opac-tmpl/lib/famfamfam/silk/paste_word.png [new file with mode: 0644]
koha-tmpl/opac-tmpl/lib/famfamfam/silk/pencil.png [new file with mode: 0644]
koha-tmpl/opac-tmpl/lib/famfamfam/silk/pencil_add.png [new file with mode: 0644]
koha-tmpl/opac-tmpl/lib/famfamfam/silk/pencil_delete.png [new file with mode: 0644]
koha-tmpl/opac-tmpl/lib/famfamfam/silk/pencil_go.png [new file with mode: 0644]
koha-tmpl/opac-tmpl/lib/famfamfam/silk/phone.png [new file with mode: 0644]
koha-tmpl/opac-tmpl/lib/famfamfam/silk/phone_add.png [new file with mode: 0644]
koha-tmpl/opac-tmpl/lib/famfamfam/silk/phone_delete.png [new file with mode: 0644]
koha-tmpl/opac-tmpl/lib/famfamfam/silk/phone_sound.png [new file with mode: 0644]
koha-tmpl/opac-tmpl/lib/famfamfam/silk/photo.png [new file with mode: 0644]
koha-tmpl/opac-tmpl/lib/famfamfam/silk/photo_add.png [new file with mode: 0644]
koha-tmpl/opac-tmpl/lib/famfamfam/silk/photo_delete.png [new file with mode: 0644]
koha-tmpl/opac-tmpl/lib/famfamfam/silk/photo_link.png [new file with mode: 0644]
koha-tmpl/opac-tmpl/lib/famfamfam/silk/photos.png [new file with mode: 0644]
koha-tmpl/opac-tmpl/lib/famfamfam/silk/picture.png [new file with mode: 0644]
koha-tmpl/opac-tmpl/lib/famfamfam/silk/picture_add.png [new file with mode: 0644]
koha-tmpl/opac-tmpl/lib/famfamfam/silk/picture_delete.png [new file with mode: 0644]
koha-tmpl/opac-tmpl/lib/famfamfam/silk/picture_edit.png [new file with mode: 0644]
koha-tmpl/opac-tmpl/lib/famfamfam/silk/picture_empty.png [new file with mode: 0644]
koha-tmpl/opac-tmpl/lib/famfamfam/silk/picture_error.png [new file with mode: 0644]
koha-tmpl/opac-tmpl/lib/famfamfam/silk/picture_go.png [new file with mode: 0644]
koha-tmpl/opac-tmpl/lib/famfamfam/silk/picture_key.png [new file with mode: 0644]
koha-tmpl/opac-tmpl/lib/famfamfam/silk/picture_link.png [new file with mode: 0644]
koha-tmpl/opac-tmpl/lib/famfamfam/silk/picture_save.png [new file with mode: 0644]
koha-tmpl/opac-tmpl/lib/famfamfam/silk/pictures.png [new file with mode: 0644]
koha-tmpl/opac-tmpl/lib/famfamfam/silk/pilcrow.png [new file with mode: 0644]
koha-tmpl/opac-tmpl/lib/famfamfam/silk/pill.png [new file with mode: 0644]
koha-tmpl/opac-tmpl/lib/famfamfam/silk/pill_add.png [new file with mode: 0644]
koha-tmpl/opac-tmpl/lib/famfamfam/silk/pill_delete.png [new file with mode: 0644]
koha-tmpl/opac-tmpl/lib/famfamfam/silk/pill_go.png [new file with mode: 0644]
koha-tmpl/opac-tmpl/lib/famfamfam/silk/plugin.png [new file with mode: 0644]
koha-tmpl/opac-tmpl/lib/famfamfam/silk/plugin_add.png [new file with mode: 0644]
koha-tmpl/opac-tmpl/lib/famfamfam/silk/plugin_delete.png [new file with mode: 0644]
koha-tmpl/opac-tmpl/lib/famfamfam/silk/plugin_disabled.png [new file with mode: 0644]
koha-tmpl/opac-tmpl/lib/famfamfam/silk/plugin_edit.png [new file with mode: 0644]
koha-tmpl/opac-tmpl/lib/famfamfam/silk/plugin_error.png [new file with mode: 0644]
koha-tmpl/opac-tmpl/lib/famfamfam/silk/plugin_go.png [new file with mode: 0644]
koha-tmpl/opac-tmpl/lib/famfamfam/silk/plugin_link.png [new file with mode: 0644]
koha-tmpl/opac-tmpl/lib/famfamfam/silk/printer.png [new file with mode: 0644]
koha-tmpl/opac-tmpl/lib/famfamfam/silk/printer_add.png [new file with mode: 0644]
koha-tmpl/opac-tmpl/lib/famfamfam/silk/printer_delete.png [new file with mode: 0644]
koha-tmpl/opac-tmpl/lib/famfamfam/silk/printer_empty.png [new file with mode: 0644]
koha-tmpl/opac-tmpl/lib/famfamfam/silk/printer_error.png [new file with mode: 0644]
koha-tmpl/opac-tmpl/lib/famfamfam/silk/rainbow.png [new file with mode: 0644]
koha-tmpl/opac-tmpl/lib/famfamfam/silk/report.png [new file with mode: 0644]
koha-tmpl/opac-tmpl/lib/famfamfam/silk/report_add.png [new file with mode: 0644]
koha-tmpl/opac-tmpl/lib/famfamfam/silk/report_delete.png [new file with mode: 0644]
koha-tmpl/opac-tmpl/lib/famfamfam/silk/report_disk.png [new file with mode: 0644]
koha-tmpl/opac-tmpl/lib/famfamfam/silk/report_edit.png [new file with mode: 0644]
koha-tmpl/opac-tmpl/lib/famfamfam/silk/report_go.png [new file with mode: 0644]
koha-tmpl/opac-tmpl/lib/famfamfam/silk/report_key.png [new file with mode: 0644]
koha-tmpl/opac-tmpl/lib/famfamfam/silk/report_link.png [new file with mode: 0644]
koha-tmpl/opac-tmpl/lib/famfamfam/silk/report_magnify.png [new file with mode: 0644]
koha-tmpl/opac-tmpl/lib/famfamfam/silk/report_picture.png [new file with mode: 0644]
koha-tmpl/opac-tmpl/lib/famfamfam/silk/report_user.png [new file with mode: 0644]
koha-tmpl/opac-tmpl/lib/famfamfam/silk/report_word.png [new file with mode: 0644]
koha-tmpl/opac-tmpl/lib/famfamfam/silk/resultset_first.png [new file with mode: 0644]
koha-tmpl/opac-tmpl/lib/famfamfam/silk/resultset_last.png [new file with mode: 0644]
koha-tmpl/opac-tmpl/lib/famfamfam/silk/resultset_next.png [new file with mode: 0644]
koha-tmpl/opac-tmpl/lib/famfamfam/silk/resultset_previous.png [new file with mode: 0644]
koha-tmpl/opac-tmpl/lib/famfamfam/silk/rosette.png [new file with mode: 0644]
koha-tmpl/opac-tmpl/lib/famfamfam/silk/rss.png [new file with mode: 0644]
koha-tmpl/opac-tmpl/lib/famfamfam/silk/rss_add.png [new file with mode: 0644]
koha-tmpl/opac-tmpl/lib/famfamfam/silk/rss_delete.png [new file with mode: 0644]
koha-tmpl/opac-tmpl/lib/famfamfam/silk/rss_go.png [new file with mode: 0644]
koha-tmpl/opac-tmpl/lib/famfamfam/silk/rss_valid.png [new file with mode: 0644]
koha-tmpl/opac-tmpl/lib/famfamfam/silk/ruby.png [new file with mode: 0644]
koha-tmpl/opac-tmpl/lib/famfamfam/silk/ruby_add.png [new file with mode: 0644]
koha-tmpl/opac-tmpl/lib/famfamfam/silk/ruby_delete.png [new file with mode: 0644]
koha-tmpl/opac-tmpl/lib/famfamfam/silk/ruby_gear.png [new file with mode: 0644]
koha-tmpl/opac-tmpl/lib/famfamfam/silk/ruby_get.png [new file with mode: 0644]
koha-tmpl/opac-tmpl/lib/famfamfam/silk/ruby_go.png [new file with mode: 0644]
koha-tmpl/opac-tmpl/lib/famfamfam/silk/ruby_key.png [new file with mode: 0644]
koha-tmpl/opac-tmpl/lib/famfamfam/silk/ruby_link.png [new file with mode: 0644]
koha-tmpl/opac-tmpl/lib/famfamfam/silk/ruby_put.png [new file with mode: 0644]
koha-tmpl/opac-tmpl/lib/famfamfam/silk/script.png [new file with mode: 0644]
koha-tmpl/opac-tmpl/lib/famfamfam/silk/script_add.png [new file with mode: 0644]
koha-tmpl/opac-tmpl/lib/famfamfam/silk/script_code.png [new file with mode: 0644]
koha-tmpl/opac-tmpl/lib/famfamfam/silk/script_code_red.png [new file with mode: 0644]
koha-tmpl/opac-tmpl/lib/famfamfam/silk/script_delete.png [new file with mode: 0644]
koha-tmpl/opac-tmpl/lib/famfamfam/silk/script_edit.png [new file with mode: 0644]
koha-tmpl/opac-tmpl/lib/famfamfam/silk/script_error.png [new file with mode: 0644]
koha-tmpl/opac-tmpl/lib/famfamfam/silk/script_gear.png [new file with mode: 0644]
koha-tmpl/opac-tmpl/lib/famfamfam/silk/script_go.png [new file with mode: 0644]
koha-tmpl/opac-tmpl/lib/famfamfam/silk/script_key.png [new file with mode: 0644]
koha-tmpl/opac-tmpl/lib/famfamfam/silk/script_lightning.png [new file with mode: 0644]
koha-tmpl/opac-tmpl/lib/famfamfam/silk/script_link.png [new file with mode: 0644]
koha-tmpl/opac-tmpl/lib/famfamfam/silk/script_palette.png [new file with mode: 0644]
koha-tmpl/opac-tmpl/lib/famfamfam/silk/script_save.png [new file with mode: 0644]
koha-tmpl/opac-tmpl/lib/famfamfam/silk/server.png [new file with mode: 0644]
koha-tmpl/opac-tmpl/lib/famfamfam/silk/server_add.png [new file with mode: 0644]
koha-tmpl/opac-tmpl/lib/famfamfam/silk/server_chart.png [new file with mode: 0644]
koha-tmpl/opac-tmpl/lib/famfamfam/silk/server_compressed.png [new file with mode: 0644]
koha-tmpl/opac-tmpl/lib/famfamfam/silk/server_connect.png [new file with mode: 0644]
koha-tmpl/opac-tmpl/lib/famfamfam/silk/server_database.png [new file with mode: 0644]
koha-tmpl/opac-tmpl/lib/famfamfam/silk/server_delete.png [new file with mode: 0644]
koha-tmpl/opac-tmpl/lib/famfamfam/silk/server_edit.png [new file with mode: 0644]
koha-tmpl/opac-tmpl/lib/famfamfam/silk/server_error.png [new file with mode: 0644]
koha-tmpl/opac-tmpl/lib/famfamfam/silk/server_go.png [new file with mode: 0644]
koha-tmpl/opac-tmpl/lib/famfamfam/silk/server_key.png [new file with mode: 0644]
koha-tmpl/opac-tmpl/lib/famfamfam/silk/server_lightning.png [new file with mode: 0644]
koha-tmpl/opac-tmpl/lib/famfamfam/silk/server_link.png [new file with mode: 0644]
koha-tmpl/opac-tmpl/lib/famfamfam/silk/server_uncompressed.png [new file with mode: 0644]
koha-tmpl/opac-tmpl/lib/famfamfam/silk/shading.png [new file with mode: 0644]
koha-tmpl/opac-tmpl/lib/famfamfam/silk/shape_align_bottom.png [new file with mode: 0644]
koha-tmpl/opac-tmpl/lib/famfamfam/silk/shape_align_center.png [new file with mode: 0644]
koha-tmpl/opac-tmpl/lib/famfamfam/silk/shape_align_left.png [new file with mode: 0644]
koha-tmpl/opac-tmpl/lib/famfamfam/silk/shape_align_middle.png [new file with mode: 0644]
koha-tmpl/opac-tmpl/lib/famfamfam/silk/shape_align_right.png [new file with mode: 0644]
koha-tmpl/opac-tmpl/lib/famfamfam/silk/shape_align_top.png [new file with mode: 0644]
koha-tmpl/opac-tmpl/lib/famfamfam/silk/shape_flip_horizontal.png [new file with mode: 0644]
koha-tmpl/opac-tmpl/lib/famfamfam/silk/shape_flip_vertical.png [new file with mode: 0644]
koha-tmpl/opac-tmpl/lib/famfamfam/silk/shape_group.png [new file with mode: 0644]
koha-tmpl/opac-tmpl/lib/famfamfam/silk/shape_handles.png [new file with mode: 0644]
koha-tmpl/opac-tmpl/lib/famfamfam/silk/shape_move_back.png [new file with mode: 0644]
koha-tmpl/opac-tmpl/lib/famfamfam/silk/shape_move_backwards.png [new file with mode: 0644]
koha-tmpl/opac-tmpl/lib/famfamfam/silk/shape_move_forwards.png [new file with mode: 0644]
koha-tmpl/opac-tmpl/lib/famfamfam/silk/shape_move_front.png [new file with mode: 0644]
koha-tmpl/opac-tmpl/lib/famfamfam/silk/shape_rotate_anticlockwise.png [new file with mode: 0644]
koha-tmpl/opac-tmpl/lib/famfamfam/silk/shape_rotate_clockwise.png [new file with mode: 0644]
koha-tmpl/opac-tmpl/lib/famfamfam/silk/shape_square.png [new file with mode: 0644]
koha-tmpl/opac-tmpl/lib/famfamfam/silk/shape_square_add.png [new file with mode: 0644]
koha-tmpl/opac-tmpl/lib/famfamfam/silk/shape_square_delete.png [new file with mode: 0644]
koha-tmpl/opac-tmpl/lib/famfamfam/silk/shape_square_edit.png [new file with mode: 0644]
koha-tmpl/opac-tmpl/lib/famfamfam/silk/shape_square_error.png [new file with mode: 0644]
koha-tmpl/opac-tmpl/lib/famfamfam/silk/shape_square_go.png [new file with mode: 0644]
koha-tmpl/opac-tmpl/lib/famfamfam/silk/shape_square_key.png [new file with mode: 0644]
koha-tmpl/opac-tmpl/lib/famfamfam/silk/shape_square_link.png [new file with mode: 0644]
koha-tmpl/opac-tmpl/lib/famfamfam/silk/shape_ungroup.png [new file with mode: 0644]
koha-tmpl/opac-tmpl/lib/famfamfam/silk/shield.png [new file with mode: 0644]
koha-tmpl/opac-tmpl/lib/famfamfam/silk/shield_add.png [new file with mode: 0644]
koha-tmpl/opac-tmpl/lib/famfamfam/silk/shield_delete.png [new file with mode: 0644]
koha-tmpl/opac-tmpl/lib/famfamfam/silk/shield_go.png [new file with mode: 0644]
koha-tmpl/opac-tmpl/lib/famfamfam/silk/sitemap.png [new file with mode: 0644]
koha-tmpl/opac-tmpl/lib/famfamfam/silk/sitemap_color.png [new file with mode: 0644]
koha-tmpl/opac-tmpl/lib/famfamfam/silk/sound.png [new file with mode: 0644]
koha-tmpl/opac-tmpl/lib/famfamfam/silk/sound_add.png [new file with mode: 0644]
koha-tmpl/opac-tmpl/lib/famfamfam/silk/sound_delete.png [new file with mode: 0644]
koha-tmpl/opac-tmpl/lib/famfamfam/silk/sound_low.png [new file with mode: 0644]
koha-tmpl/opac-tmpl/lib/famfamfam/silk/sound_mute.png [new file with mode: 0644]
koha-tmpl/opac-tmpl/lib/famfamfam/silk/sound_none.png [new file with mode: 0644]
koha-tmpl/opac-tmpl/lib/famfamfam/silk/spellcheck.png [new file with mode: 0644]
koha-tmpl/opac-tmpl/lib/famfamfam/silk/sport_8ball.png [new file with mode: 0644]
koha-tmpl/opac-tmpl/lib/famfamfam/silk/sport_basketball.png [new file with mode: 0644]
koha-tmpl/opac-tmpl/lib/famfamfam/silk/sport_football.png [new file with mode: 0644]
koha-tmpl/opac-tmpl/lib/famfamfam/silk/sport_golf.png [new file with mode: 0644]
koha-tmpl/opac-tmpl/lib/famfamfam/silk/sport_raquet.png [new file with mode: 0644]
koha-tmpl/opac-tmpl/lib/famfamfam/silk/sport_shuttlecock.png [new file with mode: 0644]
koha-tmpl/opac-tmpl/lib/famfamfam/silk/sport_soccer.png [new file with mode: 0644]
koha-tmpl/opac-tmpl/lib/famfamfam/silk/sport_tennis.png [new file with mode: 0644]
koha-tmpl/opac-tmpl/lib/famfamfam/silk/star.png [new file with mode: 0644]
koha-tmpl/opac-tmpl/lib/famfamfam/silk/status_away.png [new file with mode: 0644]
koha-tmpl/opac-tmpl/lib/famfamfam/silk/status_busy.png [new file with mode: 0644]
koha-tmpl/opac-tmpl/lib/famfamfam/silk/status_offline.png [new file with mode: 0644]
koha-tmpl/opac-tmpl/lib/famfamfam/silk/status_online.png [new file with mode: 0644]
koha-tmpl/opac-tmpl/lib/famfamfam/silk/stop.png [new file with mode: 0644]
koha-tmpl/opac-tmpl/lib/famfamfam/silk/style.png [new file with mode: 0644]
koha-tmpl/opac-tmpl/lib/famfamfam/silk/style_add.png [new file with mode: 0644]
koha-tmpl/opac-tmpl/lib/famfamfam/silk/style_delete.png [new file with mode: 0644]
koha-tmpl/opac-tmpl/lib/famfamfam/silk/style_edit.png [new file with mode: 0644]
koha-tmpl/opac-tmpl/lib/famfamfam/silk/style_go.png [new file with mode: 0644]
koha-tmpl/opac-tmpl/lib/famfamfam/silk/sum.png [new file with mode: 0644]
koha-tmpl/opac-tmpl/lib/famfamfam/silk/tab.png [new file with mode: 0644]
koha-tmpl/opac-tmpl/lib/famfamfam/silk/tab_add.png [new file with mode: 0644]
koha-tmpl/opac-tmpl/lib/famfamfam/silk/tab_delete.png [new file with mode: 0644]
koha-tmpl/opac-tmpl/lib/famfamfam/silk/tab_edit.png [new file with mode: 0644]
koha-tmpl/opac-tmpl/lib/famfamfam/silk/tab_go.png [new file with mode: 0644]
koha-tmpl/opac-tmpl/lib/famfamfam/silk/table.png [new file with mode: 0644]
koha-tmpl/opac-tmpl/lib/famfamfam/silk/table_add.png [new file with mode: 0644]
koha-tmpl/opac-tmpl/lib/famfamfam/silk/table_delete.png [new file with mode: 0644]
koha-tmpl/opac-tmpl/lib/famfamfam/silk/table_edit.png [new file with mode: 0644]
koha-tmpl/opac-tmpl/lib/famfamfam/silk/table_error.png [new file with mode: 0644]
koha-tmpl/opac-tmpl/lib/famfamfam/silk/table_gear.png [new file with mode: 0644]
koha-tmpl/opac-tmpl/lib/famfamfam/silk/table_go.png [new file with mode: 0644]
koha-tmpl/opac-tmpl/lib/famfamfam/silk/table_key.png [new file with mode: 0644]
koha-tmpl/opac-tmpl/lib/famfamfam/silk/table_lightning.png [new file with mode: 0644]
koha-tmpl/opac-tmpl/lib/famfamfam/silk/table_link.png [new file with mode: 0644]
koha-tmpl/opac-tmpl/lib/famfamfam/silk/table_multiple.png [new file with mode: 0644]
koha-tmpl/opac-tmpl/lib/famfamfam/silk/table_refresh.png [new file with mode: 0644]
koha-tmpl/opac-tmpl/lib/famfamfam/silk/table_relationship.png [new file with mode: 0644]
koha-tmpl/opac-tmpl/lib/famfamfam/silk/table_row_delete.png [new file with mode: 0644]
koha-tmpl/opac-tmpl/lib/famfamfam/silk/table_row_insert.png [new file with mode: 0644]
koha-tmpl/opac-tmpl/lib/famfamfam/silk/table_save.png [new file with mode: 0644]
koha-tmpl/opac-tmpl/lib/famfamfam/silk/table_sort.png [new file with mode: 0644]
koha-tmpl/opac-tmpl/lib/famfamfam/silk/tag.png [new file with mode: 0644]
koha-tmpl/opac-tmpl/lib/famfamfam/silk/tag_blue.png [new file with mode: 0644]
koha-tmpl/opac-tmpl/lib/famfamfam/silk/tag_blue_add.png [new file with mode: 0644]
koha-tmpl/opac-tmpl/lib/famfamfam/silk/tag_blue_delete.png [new file with mode: 0644]
koha-tmpl/opac-tmpl/lib/famfamfam/silk/tag_blue_edit.png [new file with mode: 0644]
koha-tmpl/opac-tmpl/lib/famfamfam/silk/tag_green.png [new file with mode: 0644]
koha-tmpl/opac-tmpl/lib/famfamfam/silk/tag_orange.png [new file with mode: 0644]
koha-tmpl/opac-tmpl/lib/famfamfam/silk/tag_pink.png [new file with mode: 0644]
koha-tmpl/opac-tmpl/lib/famfamfam/silk/tag_purple.png [new file with mode: 0644]
koha-tmpl/opac-tmpl/lib/famfamfam/silk/tag_red.png [new file with mode: 0644]
koha-tmpl/opac-tmpl/lib/famfamfam/silk/tag_yellow.png [new file with mode: 0644]
koha-tmpl/opac-tmpl/lib/famfamfam/silk/telephone.png [new file with mode: 0644]
koha-tmpl/opac-tmpl/lib/famfamfam/silk/telephone_add.png [new file with mode: 0644]
koha-tmpl/opac-tmpl/lib/famfamfam/silk/telephone_delete.png [new file with mode: 0644]
koha-tmpl/opac-tmpl/lib/famfamfam/silk/telephone_edit.png [new file with mode: 0644]
koha-tmpl/opac-tmpl/lib/famfamfam/silk/telephone_error.png [new file with mode: 0644]
koha-tmpl/opac-tmpl/lib/famfamfam/silk/telephone_go.png [new file with mode: 0644]
koha-tmpl/opac-tmpl/lib/famfamfam/silk/telephone_key.png [new file with mode: 0644]
koha-tmpl/opac-tmpl/lib/famfamfam/silk/telephone_link.png [new file with mode: 0644]
koha-tmpl/opac-tmpl/lib/famfamfam/silk/television.png [new file with mode: 0644]
koha-tmpl/opac-tmpl/lib/famfamfam/silk/television_add.png [new file with mode: 0644]
koha-tmpl/opac-tmpl/lib/famfamfam/silk/television_delete.png [new file with mode: 0644]
koha-tmpl/opac-tmpl/lib/famfamfam/silk/text_align_center.png [new file with mode: 0644]
koha-tmpl/opac-tmpl/lib/famfamfam/silk/text_align_justify.png [new file with mode: 0644]
koha-tmpl/opac-tmpl/lib/famfamfam/silk/text_align_left.png [new file with mode: 0644]
koha-tmpl/opac-tmpl/lib/famfamfam/silk/text_align_right.png [new file with mode: 0644]
koha-tmpl/opac-tmpl/lib/famfamfam/silk/text_allcaps.png [new file with mode: 0644]
koha-tmpl/opac-tmpl/lib/famfamfam/silk/text_bold.png [new file with mode: 0644]
koha-tmpl/opac-tmpl/lib/famfamfam/silk/text_columns.png [new file with mode: 0644]
koha-tmpl/opac-tmpl/lib/famfamfam/silk/text_dropcaps.png [new file with mode: 0644]
koha-tmpl/opac-tmpl/lib/famfamfam/silk/text_heading_1.png [new file with mode: 0644]
koha-tmpl/opac-tmpl/lib/famfamfam/silk/text_heading_2.png [new file with mode: 0644]
koha-tmpl/opac-tmpl/lib/famfamfam/silk/text_heading_3.png [new file with mode: 0644]
koha-tmpl/opac-tmpl/lib/famfamfam/silk/text_heading_4.png [new file with mode: 0644]
koha-tmpl/opac-tmpl/lib/famfamfam/silk/text_heading_5.png [new file with mode: 0644]
koha-tmpl/opac-tmpl/lib/famfamfam/silk/text_heading_6.png [new file with mode: 0644]
koha-tmpl/opac-tmpl/lib/famfamfam/silk/text_horizontalrule.png [new file with mode: 0644]
koha-tmpl/opac-tmpl/lib/famfamfam/silk/text_indent.png [new file with mode: 0644]
koha-tmpl/opac-tmpl/lib/famfamfam/silk/text_indent_remove.png [new file with mode: 0644]
koha-tmpl/opac-tmpl/lib/famfamfam/silk/text_italic.png [new file with mode: 0644]
koha-tmpl/opac-tmpl/lib/famfamfam/silk/text_kerning.png [new file with mode: 0644]
koha-tmpl/opac-tmpl/lib/famfamfam/silk/text_letter_omega.png [new file with mode: 0644]
koha-tmpl/opac-tmpl/lib/famfamfam/silk/text_letterspacing.png [new file with mode: 0644]
koha-tmpl/opac-tmpl/lib/famfamfam/silk/text_linespacing.png [new file with mode: 0644]
koha-tmpl/opac-tmpl/lib/famfamfam/silk/text_list_bullets.png [new file with mode: 0644]
koha-tmpl/opac-tmpl/lib/famfamfam/silk/text_list_numbers.png [new file with mode: 0644]
koha-tmpl/opac-tmpl/lib/famfamfam/silk/text_lowercase.png [new file with mode: 0644]
koha-tmpl/opac-tmpl/lib/famfamfam/silk/text_padding_bottom.png [new file with mode: 0644]
koha-tmpl/opac-tmpl/lib/famfamfam/silk/text_padding_left.png [new file with mode: 0644]
koha-tmpl/opac-tmpl/lib/famfamfam/silk/text_padding_right.png [new file with mode: 0644]
koha-tmpl/opac-tmpl/lib/famfamfam/silk/text_padding_top.png [new file with mode: 0644]
koha-tmpl/opac-tmpl/lib/famfamfam/silk/text_replace.png [new file with mode: 0644]
koha-tmpl/opac-tmpl/lib/famfamfam/silk/text_signature.png [new file with mode: 0644]
koha-tmpl/opac-tmpl/lib/famfamfam/silk/text_smallcaps.png [new file with mode: 0644]
koha-tmpl/opac-tmpl/lib/famfamfam/silk/text_strikethrough.png [new file with mode: 0644]
koha-tmpl/opac-tmpl/lib/famfamfam/silk/text_subscript.png [new file with mode: 0644]
koha-tmpl/opac-tmpl/lib/famfamfam/silk/text_superscript.png [new file with mode: 0644]
koha-tmpl/opac-tmpl/lib/famfamfam/silk/text_underline.png [new file with mode: 0644]
koha-tmpl/opac-tmpl/lib/famfamfam/silk/text_uppercase.png [new file with mode: 0644]
koha-tmpl/opac-tmpl/lib/famfamfam/silk/textfield.png [new file with mode: 0644]
koha-tmpl/opac-tmpl/lib/famfamfam/silk/textfield_add.png [new file with mode: 0644]
koha-tmpl/opac-tmpl/lib/famfamfam/silk/textfield_delete.png [new file with mode: 0644]
koha-tmpl/opac-tmpl/lib/famfamfam/silk/textfield_key.png [new file with mode: 0644]
koha-tmpl/opac-tmpl/lib/famfamfam/silk/textfield_rename.png [new file with mode: 0644]
koha-tmpl/opac-tmpl/lib/famfamfam/silk/thumb_down.png [new file with mode: 0644]
koha-tmpl/opac-tmpl/lib/famfamfam/silk/thumb_up.png [new file with mode: 0644]
koha-tmpl/opac-tmpl/lib/famfamfam/silk/tick.png [new file with mode: 0644]
koha-tmpl/opac-tmpl/lib/famfamfam/silk/time.png [new file with mode: 0644]
koha-tmpl/opac-tmpl/lib/famfamfam/silk/time_add.png [new file with mode: 0644]
koha-tmpl/opac-tmpl/lib/famfamfam/silk/time_delete.png [new file with mode: 0644]
koha-tmpl/opac-tmpl/lib/famfamfam/silk/time_go.png [new file with mode: 0644]
koha-tmpl/opac-tmpl/lib/famfamfam/silk/timeline_marker.png [new file with mode: 0644]
koha-tmpl/opac-tmpl/lib/famfamfam/silk/transmit.png [new file with mode: 0644]
koha-tmpl/opac-tmpl/lib/famfamfam/silk/transmit_add.png [new file with mode: 0644]
koha-tmpl/opac-tmpl/lib/famfamfam/silk/transmit_blue.png [new file with mode: 0644]
koha-tmpl/opac-tmpl/lib/famfamfam/silk/transmit_delete.png [new file with mode: 0644]
koha-tmpl/opac-tmpl/lib/famfamfam/silk/transmit_edit.png [new file with mode: 0644]
koha-tmpl/opac-tmpl/lib/famfamfam/silk/transmit_error.png [new file with mode: 0644]
koha-tmpl/opac-tmpl/lib/famfamfam/silk/transmit_go.png [new file with mode: 0644]
koha-tmpl/opac-tmpl/lib/famfamfam/silk/tux.png [new file with mode: 0644]
koha-tmpl/opac-tmpl/lib/famfamfam/silk/user.png [new file with mode: 0644]
koha-tmpl/opac-tmpl/lib/famfamfam/silk/user_add.png [new file with mode: 0644]
koha-tmpl/opac-tmpl/lib/famfamfam/silk/user_comment.png [new file with mode: 0644]
koha-tmpl/opac-tmpl/lib/famfamfam/silk/user_delete.png [new file with mode: 0644]
koha-tmpl/opac-tmpl/lib/famfamfam/silk/user_edit.png [new file with mode: 0644]
koha-tmpl/opac-tmpl/lib/famfamfam/silk/user_female.png [new file with mode: 0644]
koha-tmpl/opac-tmpl/lib/famfamfam/silk/user_go.png [new file with mode: 0644]
koha-tmpl/opac-tmpl/lib/famfamfam/silk/user_gray.png [new file with mode: 0644]
koha-tmpl/opac-tmpl/lib/famfamfam/silk/user_green.png [new file with mode: 0644]
koha-tmpl/opac-tmpl/lib/famfamfam/silk/user_orange.png [new file with mode: 0644]
koha-tmpl/opac-tmpl/lib/famfamfam/silk/user_red.png [new file with mode: 0644]
koha-tmpl/opac-tmpl/lib/famfamfam/silk/user_suit.png [new file with mode: 0644]
koha-tmpl/opac-tmpl/lib/famfamfam/silk/vcard.png [new file with mode: 0644]
koha-tmpl/opac-tmpl/lib/famfamfam/silk/vcard_add.png [new file with mode: 0644]
koha-tmpl/opac-tmpl/lib/famfamfam/silk/vcard_delete.png [new file with mode: 0644]
koha-tmpl/opac-tmpl/lib/famfamfam/silk/vcard_edit.png [new file with mode: 0644]
koha-tmpl/opac-tmpl/lib/famfamfam/silk/vector.png [new file with mode: 0644]
koha-tmpl/opac-tmpl/lib/famfamfam/silk/vector_add.png [new file with mode: 0644]
koha-tmpl/opac-tmpl/lib/famfamfam/silk/vector_delete.png [new file with mode: 0644]
koha-tmpl/opac-tmpl/lib/famfamfam/silk/wand.png [new file with mode: 0644]
koha-tmpl/opac-tmpl/lib/famfamfam/silk/weather_clouds.png [new file with mode: 0644]
koha-tmpl/opac-tmpl/lib/famfamfam/silk/weather_cloudy.png [new file with mode: 0644]
koha-tmpl/opac-tmpl/lib/famfamfam/silk/weather_lightning.png [new file with mode: 0644]
koha-tmpl/opac-tmpl/lib/famfamfam/silk/weather_rain.png [new file with mode: 0644]
koha-tmpl/opac-tmpl/lib/famfamfam/silk/weather_snow.png [new file with mode: 0644]
koha-tmpl/opac-tmpl/lib/famfamfam/silk/weather_sun.png [new file with mode: 0644]
koha-tmpl/opac-tmpl/lib/famfamfam/silk/webcam.png [new file with mode: 0644]
koha-tmpl/opac-tmpl/lib/famfamfam/silk/webcam_add.png [new file with mode: 0644]
koha-tmpl/opac-tmpl/lib/famfamfam/silk/webcam_delete.png [new file with mode: 0644]
koha-tmpl/opac-tmpl/lib/famfamfam/silk/webcam_error.png [new file with mode: 0644]
koha-tmpl/opac-tmpl/lib/famfamfam/silk/world.png [new file with mode: 0644]
koha-tmpl/opac-tmpl/lib/famfamfam/silk/world_add.png [new file with mode: 0644]
koha-tmpl/opac-tmpl/lib/famfamfam/silk/world_delete.png [new file with mode: 0644]
koha-tmpl/opac-tmpl/lib/famfamfam/silk/world_edit.png [new file with mode: 0644]
koha-tmpl/opac-tmpl/lib/famfamfam/silk/world_go.png [new file with mode: 0644]
koha-tmpl/opac-tmpl/lib/famfamfam/silk/world_link.png [new file with mode: 0644]
koha-tmpl/opac-tmpl/lib/famfamfam/silk/wrench.png [new file with mode: 0644]
koha-tmpl/opac-tmpl/lib/famfamfam/silk/wrench_orange.png [new file with mode: 0644]
koha-tmpl/opac-tmpl/lib/famfamfam/silk/xhtml.png [new file with mode: 0644]
koha-tmpl/opac-tmpl/lib/famfamfam/silk/xhtml_add.png [new file with mode: 0644]
koha-tmpl/opac-tmpl/lib/famfamfam/silk/xhtml_delete.png [new file with mode: 0644]
koha-tmpl/opac-tmpl/lib/famfamfam/silk/xhtml_go.png [new file with mode: 0644]
koha-tmpl/opac-tmpl/lib/famfamfam/silk/xhtml_valid.png [new file with mode: 0644]
koha-tmpl/opac-tmpl/lib/famfamfam/silk/zoom.png [new file with mode: 0644]
koha-tmpl/opac-tmpl/lib/famfamfam/silk/zoom_in.png [new file with mode: 0644]
koha-tmpl/opac-tmpl/lib/famfamfam/silk/zoom_out.png [new file with mode: 0644]
koha-tmpl/opac-tmpl/lib/jquery/plugins/jquery.jqtransform_select.js [new file with mode: 0644]
koha-tmpl/opac-tmpl/lib/jquery/plugins/jquery.jstree.js [new file with mode: 0644]
koha-tmpl/opac-tmpl/lib/jquery/plugins/themes/classic/d.gif [new file with mode: 0644]
koha-tmpl/opac-tmpl/lib/jquery/plugins/themes/classic/d.png [new file with mode: 0644]
koha-tmpl/opac-tmpl/lib/jquery/plugins/themes/classic/dot_for_ie.gif [new file with mode: 0644]
koha-tmpl/opac-tmpl/lib/jquery/plugins/themes/classic/style.css [new file with mode: 0644]
koha-tmpl/opac-tmpl/lib/jquery/plugins/themes/classic/throbber.gif [new file with mode: 0644]
koha-tmpl/opac-tmpl/lib/yui/button.css [new file with mode: 0644]
koha-tmpl/opac-tmpl/lib/yui/container.css [new file with mode: 0644]
koha-tmpl/opac-tmpl/lib/yui/container/container-min.js [new file with mode: 0644]
koha-tmpl/opac-tmpl/lib/yui/container/container_core-min.js [new file with mode: 0644]
koha-tmpl/opac-tmpl/lib/yui/menu.css [new file with mode: 0644]
koha-tmpl/opac-tmpl/lib/yui/menu/menu-min.js [new file with mode: 0644]
koha-tmpl/opac-tmpl/lib/yui/reset-fonts-grids.css [new file with mode: 0644]
koha-tmpl/opac-tmpl/lib/yui/skin.css [new file with mode: 0644]
koha-tmpl/opac-tmpl/lib/yui/utilities/utilities.js [new file with mode: 0644]
koha-tmpl/opac-tmpl/lib/yui/yui-sprite.png [new file with mode: 0644]
koha-tmpl/opac-tmpl/prog/en/css/jquery.rating.css
koha-tmpl/opac-tmpl/prog/en/css/opac.css
koha-tmpl/opac-tmpl/prog/en/css/sco.css
koha-tmpl/opac-tmpl/prog/en/includes/authorities-search-results.inc
koha-tmpl/opac-tmpl/prog/en/includes/doc-head-close.inc
koha-tmpl/opac-tmpl/prog/en/includes/item-status.inc
koha-tmpl/opac-tmpl/prog/en/includes/opac-authorities.inc [new file with mode: 0644]
koha-tmpl/opac-tmpl/prog/en/includes/opac-facets.inc
koha-tmpl/opac-tmpl/prog/en/includes/page-numbers.inc
koha-tmpl/opac-tmpl/prog/en/js/script.js
koha-tmpl/opac-tmpl/prog/en/lib/jquery/jquery-ui.css
koha-tmpl/opac-tmpl/prog/en/lib/jquery/jquery-ui.js
koha-tmpl/opac-tmpl/prog/en/lib/yui/button.css [deleted file]
koha-tmpl/opac-tmpl/prog/en/lib/yui/container.css [deleted file]
koha-tmpl/opac-tmpl/prog/en/lib/yui/container/container-min.js [deleted file]
koha-tmpl/opac-tmpl/prog/en/lib/yui/container/container_core-min.js [deleted file]
koha-tmpl/opac-tmpl/prog/en/lib/yui/menu.css [deleted file]
koha-tmpl/opac-tmpl/prog/en/lib/yui/menu/menu-min.js [deleted file]
koha-tmpl/opac-tmpl/prog/en/lib/yui/reset-fonts-grids.css [deleted file]
koha-tmpl/opac-tmpl/prog/en/lib/yui/skin.css [deleted file]
koha-tmpl/opac-tmpl/prog/en/lib/yui/utilities/utilities.js [deleted file]
koha-tmpl/opac-tmpl/prog/en/lib/yui/yui-sprite.png [deleted file]
koha-tmpl/opac-tmpl/prog/en/modules/opac-account.tt
koha-tmpl/opac-tmpl/prog/en/modules/opac-advsearch.tt
koha-tmpl/opac-tmpl/prog/en/modules/opac-auth-MARCdetail.tt
koha-tmpl/opac-tmpl/prog/en/modules/opac-auth-detail.tt
koha-tmpl/opac-tmpl/prog/en/modules/opac-authorities-home.tt
koha-tmpl/opac-tmpl/prog/en/modules/opac-authoritiessearchresultlist.tt
koha-tmpl/opac-tmpl/prog/en/modules/opac-basket.tt
koha-tmpl/opac-tmpl/prog/en/modules/opac-detail.tt
koha-tmpl/opac-tmpl/prog/en/modules/opac-main.tt
koha-tmpl/opac-tmpl/prog/en/modules/opac-messaging.tt
koha-tmpl/opac-tmpl/prog/en/modules/opac-opensearch.tt
koha-tmpl/opac-tmpl/prog/en/modules/opac-passwd.tt
koha-tmpl/opac-tmpl/prog/en/modules/opac-privacy.tt
koha-tmpl/opac-tmpl/prog/en/modules/opac-readingrecord.tt
koha-tmpl/opac-tmpl/prog/en/modules/opac-reserve.tt
koha-tmpl/opac-tmpl/prog/en/modules/opac-results.tt
koha-tmpl/opac-tmpl/prog/en/modules/opac-review.tt
koha-tmpl/opac-tmpl/prog/en/modules/opac-shelves.tt
koha-tmpl/opac-tmpl/prog/en/modules/opac-showreviews-rss.tt
koha-tmpl/opac-tmpl/prog/en/modules/opac-tags.tt
koha-tmpl/opac-tmpl/prog/en/modules/opac-user.tt
koha-tmpl/opac-tmpl/prog/en/modules/opac-userdetails.tt
koha-tmpl/opac-tmpl/prog/en/modules/opac-userupdate.tt
koha-tmpl/opac-tmpl/prog/en/modules/sco/help.tt
koha-tmpl/opac-tmpl/prog/en/modules/sco/sco-main.tt
koha-tmpl/opac-tmpl/prog/en/modules/search/results.tt
koha-tmpl/opac-tmpl/prog/en/modules/svc/suggestion.tt [new file with mode: 0644]
koha-tmpl/opac-tmpl/prog/en/modules/text/explodedterms.tt [new file with mode: 0644]
koha-tmpl/opac-tmpl/prog/en/xslt/MARC21slim2OPACDetail.xsl
koha-tmpl/opac-tmpl/prog/en/xslt/MARC21slim2OPACResults.xsl
koha-tmpl/opac-tmpl/prog/en/xslt/MARC21slimUtils.xsl
koha-tmpl/opac-tmpl/prog/en/xslt/NORMARCslim2OPACDetail.xsl
koha-tmpl/opac-tmpl/prog/en/xslt/NORMARCslim2OPACResults.xsl
koha-tmpl/opac-tmpl/prog/en/xslt/UNIMARCslim2OPACDetail.xsl
koha-tmpl/opac-tmpl/prog/en/xslt/UNIMARCslim2OPACResults.xsl
koha-tmpl/opac-tmpl/prog/en/xslt/UNIMARCslimUtils.xsl
koha-tmpl/opac-tmpl/prog/famfamfam/AR.png [deleted file]
koha-tmpl/opac-tmpl/prog/famfamfam/BK.png [deleted file]
koha-tmpl/opac-tmpl/prog/famfamfam/CF.png [deleted file]
koha-tmpl/opac-tmpl/prog/famfamfam/MM.png [deleted file]
koha-tmpl/opac-tmpl/prog/famfamfam/MP.png [deleted file]
koha-tmpl/opac-tmpl/prog/famfamfam/MU.png [deleted file]
koha-tmpl/opac-tmpl/prog/famfamfam/MX.png [deleted file]
koha-tmpl/opac-tmpl/prog/famfamfam/SE.png [deleted file]
koha-tmpl/opac-tmpl/prog/famfamfam/ST.png [deleted file]
koha-tmpl/opac-tmpl/prog/famfamfam/VM.png [deleted file]
koha-tmpl/opac-tmpl/prog/famfamfam/mini/action_back.gif [deleted file]
koha-tmpl/opac-tmpl/prog/famfamfam/mini/action_forward.gif [deleted file]
koha-tmpl/opac-tmpl/prog/famfamfam/mini/action_go.gif [deleted file]
koha-tmpl/opac-tmpl/prog/famfamfam/mini/action_paste.gif [deleted file]
koha-tmpl/opac-tmpl/prog/famfamfam/mini/action_print.gif [deleted file]
koha-tmpl/opac-tmpl/prog/famfamfam/mini/action_refresh.gif [deleted file]
koha-tmpl/opac-tmpl/prog/famfamfam/mini/action_refresh_blue.gif [deleted file]
koha-tmpl/opac-tmpl/prog/famfamfam/mini/action_save.gif [deleted file]
koha-tmpl/opac-tmpl/prog/famfamfam/mini/action_stop.gif [deleted file]
koha-tmpl/opac-tmpl/prog/famfamfam/mini/application_dreamweaver.gif [deleted file]
koha-tmpl/opac-tmpl/prog/famfamfam/mini/application_firefox.gif [deleted file]
koha-tmpl/opac-tmpl/prog/famfamfam/mini/application_flash.gif [deleted file]
koha-tmpl/opac-tmpl/prog/famfamfam/mini/arrow_down.gif [deleted file]
koha-tmpl/opac-tmpl/prog/famfamfam/mini/arrow_left.gif [deleted file]
koha-tmpl/opac-tmpl/prog/famfamfam/mini/arrow_right.gif [deleted file]
koha-tmpl/opac-tmpl/prog/famfamfam/mini/arrow_up.gif [deleted file]
koha-tmpl/opac-tmpl/prog/famfamfam/mini/box.gif [deleted file]
koha-tmpl/opac-tmpl/prog/famfamfam/mini/calendar.gif [deleted file]
koha-tmpl/opac-tmpl/prog/famfamfam/mini/comment.gif [deleted file]
koha-tmpl/opac-tmpl/prog/famfamfam/mini/comment_blue.gif [deleted file]
koha-tmpl/opac-tmpl/prog/famfamfam/mini/comment_delete.gif [deleted file]
koha-tmpl/opac-tmpl/prog/famfamfam/mini/comment_new.gif [deleted file]
koha-tmpl/opac-tmpl/prog/famfamfam/mini/comment_yellow.gif [deleted file]
koha-tmpl/opac-tmpl/prog/famfamfam/mini/copy.gif [deleted file]
koha-tmpl/opac-tmpl/prog/famfamfam/mini/cut.gif [deleted file]
koha-tmpl/opac-tmpl/prog/famfamfam/mini/date.gif [deleted file]
koha-tmpl/opac-tmpl/prog/famfamfam/mini/date_delete.gif [deleted file]
koha-tmpl/opac-tmpl/prog/famfamfam/mini/date_new.gif [deleted file]
koha-tmpl/opac-tmpl/prog/famfamfam/mini/file_acrobat.gif [deleted file]
koha-tmpl/opac-tmpl/prog/famfamfam/mini/file_font.gif [deleted file]
koha-tmpl/opac-tmpl/prog/famfamfam/mini/file_font_truetype.gif [deleted file]
koha-tmpl/opac-tmpl/prog/famfamfam/mini/flag_blue.gif [deleted file]
koha-tmpl/opac-tmpl/prog/famfamfam/mini/flag_green.gif [deleted file]
koha-tmpl/opac-tmpl/prog/famfamfam/mini/flag_orange.gif [deleted file]
koha-tmpl/opac-tmpl/prog/famfamfam/mini/flag_red.gif [deleted file]
koha-tmpl/opac-tmpl/prog/famfamfam/mini/flag_white.gif [deleted file]
koha-tmpl/opac-tmpl/prog/famfamfam/mini/folder.gif [deleted file]
koha-tmpl/opac-tmpl/prog/famfamfam/mini/folder_delete.gif [deleted file]
koha-tmpl/opac-tmpl/prog/famfamfam/mini/folder_images.gif [deleted file]
koha-tmpl/opac-tmpl/prog/famfamfam/mini/folder_lock.gif [deleted file]
koha-tmpl/opac-tmpl/prog/famfamfam/mini/folder_new.gif [deleted file]
koha-tmpl/opac-tmpl/prog/famfamfam/mini/folder_page.gif [deleted file]
koha-tmpl/opac-tmpl/prog/famfamfam/mini/icon_accept.gif [deleted file]
koha-tmpl/opac-tmpl/prog/famfamfam/mini/icon_airmail.gif [deleted file]
koha-tmpl/opac-tmpl/prog/famfamfam/mini/icon_alert.gif [deleted file]
koha-tmpl/opac-tmpl/prog/famfamfam/mini/icon_attachment.gif [deleted file]
koha-tmpl/opac-tmpl/prog/famfamfam/mini/icon_clock.gif [deleted file]
koha-tmpl/opac-tmpl/prog/famfamfam/mini/icon_component.gif [deleted file]
koha-tmpl/opac-tmpl/prog/famfamfam/mini/icon_download.gif [deleted file]
koha-tmpl/opac-tmpl/prog/famfamfam/mini/icon_email.gif [deleted file]
koha-tmpl/opac-tmpl/prog/famfamfam/mini/icon_extension.gif [deleted file]
koha-tmpl/opac-tmpl/prog/famfamfam/mini/icon_favourites.gif [deleted file]
koha-tmpl/opac-tmpl/prog/famfamfam/mini/icon_get_world.gif [deleted file]
koha-tmpl/opac-tmpl/prog/famfamfam/mini/icon_history.gif [deleted file]
koha-tmpl/opac-tmpl/prog/famfamfam/mini/icon_home.gif [deleted file]
koha-tmpl/opac-tmpl/prog/famfamfam/mini/icon_info.gif [deleted file]
koha-tmpl/opac-tmpl/prog/famfamfam/mini/icon_key.gif [deleted file]
koha-tmpl/opac-tmpl/prog/famfamfam/mini/icon_link.gif [deleted file]
koha-tmpl/opac-tmpl/prog/famfamfam/mini/icon_mail.gif [deleted file]
koha-tmpl/opac-tmpl/prog/famfamfam/mini/icon_monitor_mac.gif [deleted file]
koha-tmpl/opac-tmpl/prog/famfamfam/mini/icon_monitor_pc.gif [deleted file]
koha-tmpl/opac-tmpl/prog/famfamfam/mini/icon_network.gif [deleted file]
koha-tmpl/opac-tmpl/prog/famfamfam/mini/icon_package.gif [deleted file]
koha-tmpl/opac-tmpl/prog/famfamfam/mini/icon_package_get.gif [deleted file]
koha-tmpl/opac-tmpl/prog/famfamfam/mini/icon_package_open.gif [deleted file]
koha-tmpl/opac-tmpl/prog/famfamfam/mini/icon_padlock.gif [deleted file]
koha-tmpl/opac-tmpl/prog/famfamfam/mini/icon_security.gif [deleted file]
koha-tmpl/opac-tmpl/prog/famfamfam/mini/icon_settings.gif [deleted file]
koha-tmpl/opac-tmpl/prog/famfamfam/mini/icon_user.gif [deleted file]
koha-tmpl/opac-tmpl/prog/famfamfam/mini/icon_wand.gif [deleted file]
koha-tmpl/opac-tmpl/prog/famfamfam/mini/icon_world.gif [deleted file]
koha-tmpl/opac-tmpl/prog/famfamfam/mini/icon_world_dynamic.gif [deleted file]
koha-tmpl/opac-tmpl/prog/famfamfam/mini/image.gif [deleted file]
koha-tmpl/opac-tmpl/prog/famfamfam/mini/image_new.gif [deleted file]
koha-tmpl/opac-tmpl/prog/famfamfam/mini/interface_browser.gif [deleted file]
koha-tmpl/opac-tmpl/prog/famfamfam/mini/interface_dialog.gif [deleted file]
koha-tmpl/opac-tmpl/prog/famfamfam/mini/interface_installer.gif [deleted file]
koha-tmpl/opac-tmpl/prog/famfamfam/mini/list_comments.gif [deleted file]
koha-tmpl/opac-tmpl/prog/famfamfam/mini/list_components.gif [deleted file]
koha-tmpl/opac-tmpl/prog/famfamfam/mini/list_errors.gif [deleted file]
koha-tmpl/opac-tmpl/prog/famfamfam/mini/list_extensions.gif [deleted file]
koha-tmpl/opac-tmpl/prog/famfamfam/mini/list_images.gif [deleted file]
koha-tmpl/opac-tmpl/prog/famfamfam/mini/list_keys.gif [deleted file]
koha-tmpl/opac-tmpl/prog/famfamfam/mini/list_links.gif [deleted file]
koha-tmpl/opac-tmpl/prog/famfamfam/mini/list_packages.gif [deleted file]
koha-tmpl/opac-tmpl/prog/famfamfam/mini/list_security.gif [deleted file]
koha-tmpl/opac-tmpl/prog/famfamfam/mini/list_settings.gif [deleted file]
koha-tmpl/opac-tmpl/prog/famfamfam/mini/list_users.gif [deleted file]
koha-tmpl/opac-tmpl/prog/famfamfam/mini/list_world.gif [deleted file]
koha-tmpl/opac-tmpl/prog/famfamfam/mini/note.gif [deleted file]
koha-tmpl/opac-tmpl/prog/famfamfam/mini/note_delete.gif [deleted file]
koha-tmpl/opac-tmpl/prog/famfamfam/mini/note_new.gif [deleted file]
koha-tmpl/opac-tmpl/prog/famfamfam/mini/page.gif [deleted file]
koha-tmpl/opac-tmpl/prog/famfamfam/mini/page_alert.gif [deleted file]
koha-tmpl/opac-tmpl/prog/famfamfam/mini/page_attachment.gif [deleted file]
koha-tmpl/opac-tmpl/prog/famfamfam/mini/page_bookmark.gif [deleted file]
koha-tmpl/opac-tmpl/prog/famfamfam/mini/page_boy.gif [deleted file]
koha-tmpl/opac-tmpl/prog/famfamfam/mini/page_code.gif [deleted file]
koha-tmpl/opac-tmpl/prog/famfamfam/mini/page_colors.gif [deleted file]
koha-tmpl/opac-tmpl/prog/famfamfam/mini/page_component.gif [deleted file]
koha-tmpl/opac-tmpl/prog/famfamfam/mini/page_cross.gif [deleted file]
koha-tmpl/opac-tmpl/prog/famfamfam/mini/page_delete.gif [deleted file]
koha-tmpl/opac-tmpl/prog/famfamfam/mini/page_deny.gif [deleted file]
koha-tmpl/opac-tmpl/prog/famfamfam/mini/page_down.gif [deleted file]
koha-tmpl/opac-tmpl/prog/famfamfam/mini/page_dynamic.gif [deleted file]
koha-tmpl/opac-tmpl/prog/famfamfam/mini/page_edit.gif [deleted file]
koha-tmpl/opac-tmpl/prog/famfamfam/mini/page_extension.gif [deleted file]
koha-tmpl/opac-tmpl/prog/famfamfam/mini/page_favourites.gif [deleted file]
koha-tmpl/opac-tmpl/prog/famfamfam/mini/page_find.gif [deleted file]
koha-tmpl/opac-tmpl/prog/famfamfam/mini/page_flash.gif [deleted file]
koha-tmpl/opac-tmpl/prog/famfamfam/mini/page_girl.gif [deleted file]
koha-tmpl/opac-tmpl/prog/famfamfam/mini/page_html.gif [deleted file]
koha-tmpl/opac-tmpl/prog/famfamfam/mini/page_java.gif [deleted file]
koha-tmpl/opac-tmpl/prog/famfamfam/mini/page_key.gif [deleted file]
koha-tmpl/opac-tmpl/prog/famfamfam/mini/page_left.gif [deleted file]
koha-tmpl/opac-tmpl/prog/famfamfam/mini/page_link.gif [deleted file]
koha-tmpl/opac-tmpl/prog/famfamfam/mini/page_lock.gif [deleted file]
koha-tmpl/opac-tmpl/prog/famfamfam/mini/page_new.gif [deleted file]
koha-tmpl/opac-tmpl/prog/famfamfam/mini/page_next.gif [deleted file]
koha-tmpl/opac-tmpl/prog/famfamfam/mini/page_package.gif [deleted file]
koha-tmpl/opac-tmpl/prog/famfamfam/mini/page_php.gif [deleted file]
koha-tmpl/opac-tmpl/prog/famfamfam/mini/page_prev.gif [deleted file]
koha-tmpl/opac-tmpl/prog/famfamfam/mini/page_refresh.gif [deleted file]
koha-tmpl/opac-tmpl/prog/famfamfam/mini/page_right.gif [deleted file]
koha-tmpl/opac-tmpl/prog/famfamfam/mini/page_script.gif [deleted file]
koha-tmpl/opac-tmpl/prog/famfamfam/mini/page_security.gif [deleted file]
koha-tmpl/opac-tmpl/prog/famfamfam/mini/page_settings.gif [deleted file]
koha-tmpl/opac-tmpl/prog/famfamfam/mini/page_sound.gif [deleted file]
koha-tmpl/opac-tmpl/prog/famfamfam/mini/page_tag_blue.gif [deleted file]
koha-tmpl/opac-tmpl/prog/famfamfam/mini/page_tag_red.gif [deleted file]
koha-tmpl/opac-tmpl/prog/famfamfam/mini/page_text.gif [deleted file]
koha-tmpl/opac-tmpl/prog/famfamfam/mini/page_text_delete.gif [deleted file]
koha-tmpl/opac-tmpl/prog/famfamfam/mini/page_tick.gif [deleted file]
koha-tmpl/opac-tmpl/prog/famfamfam/mini/page_tree.gif [deleted file]
koha-tmpl/opac-tmpl/prog/famfamfam/mini/page_up.gif [deleted file]
koha-tmpl/opac-tmpl/prog/famfamfam/mini/page_url.gif [deleted file]
koha-tmpl/opac-tmpl/prog/famfamfam/mini/page_user.gif [deleted file]
koha-tmpl/opac-tmpl/prog/famfamfam/mini/page_user_dark.gif [deleted file]
koha-tmpl/opac-tmpl/prog/famfamfam/mini/page_user_light.gif [deleted file]
koha-tmpl/opac-tmpl/prog/famfamfam/mini/page_video.gif [deleted file]
koha-tmpl/opac-tmpl/prog/famfamfam/mini/page_wizard.gif [deleted file]
koha-tmpl/opac-tmpl/prog/famfamfam/mini/readme.txt [deleted file]
koha-tmpl/opac-tmpl/prog/famfamfam/mini/table.gif [deleted file]
koha-tmpl/opac-tmpl/prog/famfamfam/mini/table_delete.gif [deleted file]
koha-tmpl/opac-tmpl/prog/famfamfam/mini/tables.gif [deleted file]
koha-tmpl/opac-tmpl/prog/famfamfam/readme.txt [deleted file]
koha-tmpl/opac-tmpl/prog/famfamfam/silk/accept.png [deleted file]
koha-tmpl/opac-tmpl/prog/famfamfam/silk/add.png [deleted file]
koha-tmpl/opac-tmpl/prog/famfamfam/silk/anchor.png [deleted file]
koha-tmpl/opac-tmpl/prog/famfamfam/silk/application.png [deleted file]
koha-tmpl/opac-tmpl/prog/famfamfam/silk/application_add.png [deleted file]
koha-tmpl/opac-tmpl/prog/famfamfam/silk/application_cascade.png [deleted file]
koha-tmpl/opac-tmpl/prog/famfamfam/silk/application_delete.png [deleted file]
koha-tmpl/opac-tmpl/prog/famfamfam/silk/application_double.png [deleted file]
koha-tmpl/opac-tmpl/prog/famfamfam/silk/application_edit.png [deleted file]
koha-tmpl/opac-tmpl/prog/famfamfam/silk/application_error.png [deleted file]
koha-tmpl/opac-tmpl/prog/famfamfam/silk/application_form.png [deleted file]
koha-tmpl/opac-tmpl/prog/famfamfam/silk/application_form_add.png [deleted file]
koha-tmpl/opac-tmpl/prog/famfamfam/silk/application_form_delete.png [deleted file]
koha-tmpl/opac-tmpl/prog/famfamfam/silk/application_form_edit.png [deleted file]
koha-tmpl/opac-tmpl/prog/famfamfam/silk/application_form_magnify.png [deleted file]
koha-tmpl/opac-tmpl/prog/famfamfam/silk/application_get.png [deleted file]
koha-tmpl/opac-tmpl/prog/famfamfam/silk/application_go.png [deleted file]
koha-tmpl/opac-tmpl/prog/famfamfam/silk/application_home.png [deleted file]
koha-tmpl/opac-tmpl/prog/famfamfam/silk/application_key.png [deleted file]
koha-tmpl/opac-tmpl/prog/famfamfam/silk/application_lightning.png [deleted file]
koha-tmpl/opac-tmpl/prog/famfamfam/silk/application_link.png [deleted file]
koha-tmpl/opac-tmpl/prog/famfamfam/silk/application_osx.png [deleted file]
koha-tmpl/opac-tmpl/prog/famfamfam/silk/application_osx_terminal.png [deleted file]
koha-tmpl/opac-tmpl/prog/famfamfam/silk/application_put.png [deleted file]
koha-tmpl/opac-tmpl/prog/famfamfam/silk/application_side_boxes.png [deleted file]
koha-tmpl/opac-tmpl/prog/famfamfam/silk/application_side_contract.png [deleted file]
koha-tmpl/opac-tmpl/prog/famfamfam/silk/application_side_expand.png [deleted file]
koha-tmpl/opac-tmpl/prog/famfamfam/silk/application_side_list.png [deleted file]
koha-tmpl/opac-tmpl/prog/famfamfam/silk/application_side_tree.png [deleted file]
koha-tmpl/opac-tmpl/prog/famfamfam/silk/application_split.png [deleted file]
koha-tmpl/opac-tmpl/prog/famfamfam/silk/application_tile_horizontal.png [deleted file]
koha-tmpl/opac-tmpl/prog/famfamfam/silk/application_tile_vertical.png [deleted file]
koha-tmpl/opac-tmpl/prog/famfamfam/silk/application_view_columns.png [deleted file]
koha-tmpl/opac-tmpl/prog/famfamfam/silk/application_view_detail.png [deleted file]
koha-tmpl/opac-tmpl/prog/famfamfam/silk/application_view_gallery.png [deleted file]
koha-tmpl/opac-tmpl/prog/famfamfam/silk/application_view_icons.png [deleted file]
koha-tmpl/opac-tmpl/prog/famfamfam/silk/application_view_list.png [deleted file]
koha-tmpl/opac-tmpl/prog/famfamfam/silk/application_view_tile.png [deleted file]
koha-tmpl/opac-tmpl/prog/famfamfam/silk/application_xp.png [deleted file]
koha-tmpl/opac-tmpl/prog/famfamfam/silk/application_xp_terminal.png [deleted file]
koha-tmpl/opac-tmpl/prog/famfamfam/silk/arrow_branch.png [deleted file]
koha-tmpl/opac-tmpl/prog/famfamfam/silk/arrow_divide.png [deleted file]
koha-tmpl/opac-tmpl/prog/famfamfam/silk/arrow_down.png [deleted file]
koha-tmpl/opac-tmpl/prog/famfamfam/silk/arrow_in.png [deleted file]
koha-tmpl/opac-tmpl/prog/famfamfam/silk/arrow_inout.png [deleted file]
koha-tmpl/opac-tmpl/prog/famfamfam/silk/arrow_join.png [deleted file]
koha-tmpl/opac-tmpl/prog/famfamfam/silk/arrow_left.png [deleted file]
koha-tmpl/opac-tmpl/prog/famfamfam/silk/arrow_merge.png [deleted file]
koha-tmpl/opac-tmpl/prog/famfamfam/silk/arrow_out.png [deleted file]
koha-tmpl/opac-tmpl/prog/famfamfam/silk/arrow_redo.png [deleted file]
koha-tmpl/opac-tmpl/prog/famfamfam/silk/arrow_refresh.png [deleted file]
koha-tmpl/opac-tmpl/prog/famfamfam/silk/arrow_refresh_small.png [deleted file]
koha-tmpl/opac-tmpl/prog/famfamfam/silk/arrow_right.png [deleted file]
koha-tmpl/opac-tmpl/prog/famfamfam/silk/arrow_rotate_anticlockwise.png [deleted file]
koha-tmpl/opac-tmpl/prog/famfamfam/silk/arrow_rotate_clockwise.png [deleted file]
koha-tmpl/opac-tmpl/prog/famfamfam/silk/arrow_switch.png [deleted file]
koha-tmpl/opac-tmpl/prog/famfamfam/silk/arrow_turn_left.png [deleted file]
koha-tmpl/opac-tmpl/prog/famfamfam/silk/arrow_turn_right.png [deleted file]
koha-tmpl/opac-tmpl/prog/famfamfam/silk/arrow_undo.png [deleted file]
koha-tmpl/opac-tmpl/prog/famfamfam/silk/arrow_up.png [deleted file]
koha-tmpl/opac-tmpl/prog/famfamfam/silk/asterisk_orange.png [deleted file]
koha-tmpl/opac-tmpl/prog/famfamfam/silk/asterisk_yellow.png [deleted file]
koha-tmpl/opac-tmpl/prog/famfamfam/silk/attach.png [deleted file]
koha-tmpl/opac-tmpl/prog/famfamfam/silk/award_star_add.png [deleted file]
koha-tmpl/opac-tmpl/prog/famfamfam/silk/award_star_bronze_1.png [deleted file]
koha-tmpl/opac-tmpl/prog/famfamfam/silk/award_star_bronze_2.png [deleted file]
koha-tmpl/opac-tmpl/prog/famfamfam/silk/award_star_bronze_3.png [deleted file]
koha-tmpl/opac-tmpl/prog/famfamfam/silk/award_star_delete.png [deleted file]
koha-tmpl/opac-tmpl/prog/famfamfam/silk/award_star_gold_1.png [deleted file]
koha-tmpl/opac-tmpl/prog/famfamfam/silk/award_star_gold_2.png [deleted file]
koha-tmpl/opac-tmpl/prog/famfamfam/silk/award_star_gold_3.png [deleted file]
koha-tmpl/opac-tmpl/prog/famfamfam/silk/award_star_silver_1.png [deleted file]
koha-tmpl/opac-tmpl/prog/famfamfam/silk/award_star_silver_2.png [deleted file]
koha-tmpl/opac-tmpl/prog/famfamfam/silk/award_star_silver_3.png [deleted file]
koha-tmpl/opac-tmpl/prog/famfamfam/silk/basket.png [deleted file]
koha-tmpl/opac-tmpl/prog/famfamfam/silk/basket_add.png [deleted file]
koha-tmpl/opac-tmpl/prog/famfamfam/silk/basket_delete.png [deleted file]
koha-tmpl/opac-tmpl/prog/famfamfam/silk/basket_edit.png [deleted file]
koha-tmpl/opac-tmpl/prog/famfamfam/silk/basket_error.png [deleted file]
koha-tmpl/opac-tmpl/prog/famfamfam/silk/basket_go.png [deleted file]
koha-tmpl/opac-tmpl/prog/famfamfam/silk/basket_put.png [deleted file]
koha-tmpl/opac-tmpl/prog/famfamfam/silk/basket_remove.png [deleted file]
koha-tmpl/opac-tmpl/prog/famfamfam/silk/bell.png [deleted file]
koha-tmpl/opac-tmpl/prog/famfamfam/silk/bell_add.png [deleted file]
koha-tmpl/opac-tmpl/prog/famfamfam/silk/bell_delete.png [deleted file]
koha-tmpl/opac-tmpl/prog/famfamfam/silk/bell_error.png [deleted file]
koha-tmpl/opac-tmpl/prog/famfamfam/silk/bell_go.png [deleted file]
koha-tmpl/opac-tmpl/prog/famfamfam/silk/bell_link.png [deleted file]
koha-tmpl/opac-tmpl/prog/famfamfam/silk/bin.png [deleted file]
koha-tmpl/opac-tmpl/prog/famfamfam/silk/bin_closed.png [deleted file]
koha-tmpl/opac-tmpl/prog/famfamfam/silk/bin_empty.png [deleted file]
koha-tmpl/opac-tmpl/prog/famfamfam/silk/bomb.png [deleted file]
koha-tmpl/opac-tmpl/prog/famfamfam/silk/book.png [deleted file]
koha-tmpl/opac-tmpl/prog/famfamfam/silk/book_add.png [deleted file]
koha-tmpl/opac-tmpl/prog/famfamfam/silk/book_addresses.png [deleted file]
koha-tmpl/opac-tmpl/prog/famfamfam/silk/book_delete.png [deleted file]
koha-tmpl/opac-tmpl/prog/famfamfam/silk/book_edit.png [deleted file]
koha-tmpl/opac-tmpl/prog/famfamfam/silk/book_error.png [deleted file]
koha-tmpl/opac-tmpl/prog/famfamfam/silk/book_go.png [deleted file]
koha-tmpl/opac-tmpl/prog/famfamfam/silk/book_key.png [deleted file]
koha-tmpl/opac-tmpl/prog/famfamfam/silk/book_link.png [deleted file]
koha-tmpl/opac-tmpl/prog/famfamfam/silk/book_next.png [deleted file]
koha-tmpl/opac-tmpl/prog/famfamfam/silk/book_open.png [deleted file]
koha-tmpl/opac-tmpl/prog/famfamfam/silk/book_previous.png [deleted file]
koha-tmpl/opac-tmpl/prog/famfamfam/silk/box.png [deleted file]
koha-tmpl/opac-tmpl/prog/famfamfam/silk/brick.png [deleted file]
koha-tmpl/opac-tmpl/prog/famfamfam/silk/brick_add.png [deleted file]
koha-tmpl/opac-tmpl/prog/famfamfam/silk/brick_delete.png [deleted file]
koha-tmpl/opac-tmpl/prog/famfamfam/silk/brick_edit.png [deleted file]
koha-tmpl/opac-tmpl/prog/famfamfam/silk/brick_error.png [deleted file]
koha-tmpl/opac-tmpl/prog/famfamfam/silk/brick_go.png [deleted file]
koha-tmpl/opac-tmpl/prog/famfamfam/silk/brick_link.png [deleted file]
koha-tmpl/opac-tmpl/prog/famfamfam/silk/bricks.png [deleted file]
koha-tmpl/opac-tmpl/prog/famfamfam/silk/briefcase.png [deleted file]
koha-tmpl/opac-tmpl/prog/famfamfam/silk/bug.png [deleted file]
koha-tmpl/opac-tmpl/prog/famfamfam/silk/bug_add.png [deleted file]
koha-tmpl/opac-tmpl/prog/famfamfam/silk/bug_delete.png [deleted file]
koha-tmpl/opac-tmpl/prog/famfamfam/silk/bug_edit.png [deleted file]
koha-tmpl/opac-tmpl/prog/famfamfam/silk/bug_error.png [deleted file]
koha-tmpl/opac-tmpl/prog/famfamfam/silk/bug_go.png [deleted file]
koha-tmpl/opac-tmpl/prog/famfamfam/silk/bug_link.png [deleted file]
koha-tmpl/opac-tmpl/prog/famfamfam/silk/building.png [deleted file]
koha-tmpl/opac-tmpl/prog/famfamfam/silk/building_add.png [deleted file]
koha-tmpl/opac-tmpl/prog/famfamfam/silk/building_delete.png [deleted file]
koha-tmpl/opac-tmpl/prog/famfamfam/silk/building_edit.png [deleted file]
koha-tmpl/opac-tmpl/prog/famfamfam/silk/building_error.png [deleted file]
koha-tmpl/opac-tmpl/prog/famfamfam/silk/building_go.png [deleted file]
koha-tmpl/opac-tmpl/prog/famfamfam/silk/building_key.png [deleted file]
koha-tmpl/opac-tmpl/prog/famfamfam/silk/building_link.png [deleted file]
koha-tmpl/opac-tmpl/prog/famfamfam/silk/bullet_add.png [deleted file]
koha-tmpl/opac-tmpl/prog/famfamfam/silk/bullet_arrow_bottom.png [deleted file]
koha-tmpl/opac-tmpl/prog/famfamfam/silk/bullet_arrow_down.png [deleted file]
koha-tmpl/opac-tmpl/prog/famfamfam/silk/bullet_arrow_top.png [deleted file]
koha-tmpl/opac-tmpl/prog/famfamfam/silk/bullet_arrow_up.png [deleted file]
koha-tmpl/opac-tmpl/prog/famfamfam/silk/bullet_black.png [deleted file]
koha-tmpl/opac-tmpl/prog/famfamfam/silk/bullet_blue.png [deleted file]
koha-tmpl/opac-tmpl/prog/famfamfam/silk/bullet_delete.png [deleted file]
koha-tmpl/opac-tmpl/prog/famfamfam/silk/bullet_disk.png [deleted file]
koha-tmpl/opac-tmpl/prog/famfamfam/silk/bullet_error.png [deleted file]
koha-tmpl/opac-tmpl/prog/famfamfam/silk/bullet_feed.png [deleted file]
koha-tmpl/opac-tmpl/prog/famfamfam/silk/bullet_go.png [deleted file]
koha-tmpl/opac-tmpl/prog/famfamfam/silk/bullet_green.png [deleted file]
koha-tmpl/opac-tmpl/prog/famfamfam/silk/bullet_key.png [deleted file]
koha-tmpl/opac-tmpl/prog/famfamfam/silk/bullet_orange.png [deleted file]
koha-tmpl/opac-tmpl/prog/famfamfam/silk/bullet_picture.png [deleted file]
koha-tmpl/opac-tmpl/prog/famfamfam/silk/bullet_pink.png [deleted file]
koha-tmpl/opac-tmpl/prog/famfamfam/silk/bullet_purple.png [deleted file]
koha-tmpl/opac-tmpl/prog/famfamfam/silk/bullet_red.png [deleted file]
koha-tmpl/opac-tmpl/prog/famfamfam/silk/bullet_star.png [deleted file]
koha-tmpl/opac-tmpl/prog/famfamfam/silk/bullet_toggle_minus.png [deleted file]
koha-tmpl/opac-tmpl/prog/famfamfam/silk/bullet_toggle_plus.png [deleted file]
koha-tmpl/opac-tmpl/prog/famfamfam/silk/bullet_white.png [deleted file]
koha-tmpl/opac-tmpl/prog/famfamfam/silk/bullet_wrench.png [deleted file]
koha-tmpl/opac-tmpl/prog/famfamfam/silk/bullet_yellow.png [deleted file]
koha-tmpl/opac-tmpl/prog/famfamfam/silk/cake.png [deleted file]
koha-tmpl/opac-tmpl/prog/famfamfam/silk/calculator.png [deleted file]
koha-tmpl/opac-tmpl/prog/famfamfam/silk/calculator_add.png [deleted file]
koha-tmpl/opac-tmpl/prog/famfamfam/silk/calculator_delete.png [deleted file]
koha-tmpl/opac-tmpl/prog/famfamfam/silk/calculator_edit.png [deleted file]
koha-tmpl/opac-tmpl/prog/famfamfam/silk/calculator_error.png [deleted file]
koha-tmpl/opac-tmpl/prog/famfamfam/silk/calculator_link.png [deleted file]
koha-tmpl/opac-tmpl/prog/famfamfam/silk/calendar.png [deleted file]
koha-tmpl/opac-tmpl/prog/famfamfam/silk/calendar_add.png [deleted file]
koha-tmpl/opac-tmpl/prog/famfamfam/silk/calendar_delete.png [deleted file]
koha-tmpl/opac-tmpl/prog/famfamfam/silk/calendar_edit.png [deleted file]
koha-tmpl/opac-tmpl/prog/famfamfam/silk/calendar_link.png [deleted file]
koha-tmpl/opac-tmpl/prog/famfamfam/silk/calendar_view_day.png [deleted file]
koha-tmpl/opac-tmpl/prog/famfamfam/silk/calendar_view_month.png [deleted file]
koha-tmpl/opac-tmpl/prog/famfamfam/silk/calendar_view_week.png [deleted file]
koha-tmpl/opac-tmpl/prog/famfamfam/silk/camera.png [deleted file]
koha-tmpl/opac-tmpl/prog/famfamfam/silk/camera_add.png [deleted file]
koha-tmpl/opac-tmpl/prog/famfamfam/silk/camera_delete.png [deleted file]
koha-tmpl/opac-tmpl/prog/famfamfam/silk/camera_edit.png [deleted file]
koha-tmpl/opac-tmpl/prog/famfamfam/silk/camera_error.png [deleted file]
koha-tmpl/opac-tmpl/prog/famfamfam/silk/camera_go.png [deleted file]
koha-tmpl/opac-tmpl/prog/famfamfam/silk/camera_link.png [deleted file]
koha-tmpl/opac-tmpl/prog/famfamfam/silk/camera_small.png [deleted file]
koha-tmpl/opac-tmpl/prog/famfamfam/silk/cancel.png [deleted file]
koha-tmpl/opac-tmpl/prog/famfamfam/silk/car.png [deleted file]
koha-tmpl/opac-tmpl/prog/famfamfam/silk/car_add.png [deleted file]
koha-tmpl/opac-tmpl/prog/famfamfam/silk/car_delete.png [deleted file]
koha-tmpl/opac-tmpl/prog/famfamfam/silk/cart.png [deleted file]
koha-tmpl/opac-tmpl/prog/famfamfam/silk/cart_add.png [deleted file]
koha-tmpl/opac-tmpl/prog/famfamfam/silk/cart_delete.png [deleted file]
koha-tmpl/opac-tmpl/prog/famfamfam/silk/cart_edit.png [deleted file]
koha-tmpl/opac-tmpl/prog/famfamfam/silk/cart_error.png [deleted file]
koha-tmpl/opac-tmpl/prog/famfamfam/silk/cart_go.png [deleted file]
koha-tmpl/opac-tmpl/prog/famfamfam/silk/cart_put.png [deleted file]
koha-tmpl/opac-tmpl/prog/famfamfam/silk/cart_remove.png [deleted file]
koha-tmpl/opac-tmpl/prog/famfamfam/silk/cd.png [deleted file]
koha-tmpl/opac-tmpl/prog/famfamfam/silk/cd_add.png [deleted file]
koha-tmpl/opac-tmpl/prog/famfamfam/silk/cd_burn.png [deleted file]
koha-tmpl/opac-tmpl/prog/famfamfam/silk/cd_delete.png [deleted file]
koha-tmpl/opac-tmpl/prog/famfamfam/silk/cd_edit.png [deleted file]
koha-tmpl/opac-tmpl/prog/famfamfam/silk/cd_eject.png [deleted file]
koha-tmpl/opac-tmpl/prog/famfamfam/silk/cd_go.png [deleted file]
koha-tmpl/opac-tmpl/prog/famfamfam/silk/chart_bar.png [deleted file]
koha-tmpl/opac-tmpl/prog/famfamfam/silk/chart_bar_add.png [deleted file]
koha-tmpl/opac-tmpl/prog/famfamfam/silk/chart_bar_delete.png [deleted file]
koha-tmpl/opac-tmpl/prog/famfamfam/silk/chart_bar_edit.png [deleted file]
koha-tmpl/opac-tmpl/prog/famfamfam/silk/chart_bar_error.png [deleted file]
koha-tmpl/opac-tmpl/prog/famfamfam/silk/chart_bar_link.png [deleted file]
koha-tmpl/opac-tmpl/prog/famfamfam/silk/chart_curve.png [deleted file]
koha-tmpl/opac-tmpl/prog/famfamfam/silk/chart_curve_add.png [deleted file]
koha-tmpl/opac-tmpl/prog/famfamfam/silk/chart_curve_delete.png [deleted file]
koha-tmpl/opac-tmpl/prog/famfamfam/silk/chart_curve_edit.png [deleted file]
koha-tmpl/opac-tmpl/prog/famfamfam/silk/chart_curve_error.png [deleted file]
koha-tmpl/opac-tmpl/prog/famfamfam/silk/chart_curve_go.png [deleted file]
koha-tmpl/opac-tmpl/prog/famfamfam/silk/chart_curve_link.png [deleted file]
koha-tmpl/opac-tmpl/prog/famfamfam/silk/chart_line.png [deleted file]
koha-tmpl/opac-tmpl/prog/famfamfam/silk/chart_line_add.png [deleted file]
koha-tmpl/opac-tmpl/prog/famfamfam/silk/chart_line_delete.png [deleted file]
koha-tmpl/opac-tmpl/prog/famfamfam/silk/chart_line_edit.png [deleted file]
koha-tmpl/opac-tmpl/prog/famfamfam/silk/chart_line_error.png [deleted file]
koha-tmpl/opac-tmpl/prog/famfamfam/silk/chart_line_link.png [deleted file]
koha-tmpl/opac-tmpl/prog/famfamfam/silk/chart_organisation.png [deleted file]
koha-tmpl/opac-tmpl/prog/famfamfam/silk/chart_organisation_add.png [deleted file]
koha-tmpl/opac-tmpl/prog/famfamfam/silk/chart_organisation_delete.png [deleted file]
koha-tmpl/opac-tmpl/prog/famfamfam/silk/chart_pie.png [deleted file]
koha-tmpl/opac-tmpl/prog/famfamfam/silk/chart_pie_add.png [deleted file]
koha-tmpl/opac-tmpl/prog/famfamfam/silk/chart_pie_delete.png [deleted file]
koha-tmpl/opac-tmpl/prog/famfamfam/silk/chart_pie_edit.png [deleted file]
koha-tmpl/opac-tmpl/prog/famfamfam/silk/chart_pie_error.png [deleted file]
koha-tmpl/opac-tmpl/prog/famfamfam/silk/chart_pie_link.png [deleted file]
koha-tmpl/opac-tmpl/prog/famfamfam/silk/clock.png [deleted file]
koha-tmpl/opac-tmpl/prog/famfamfam/silk/clock_add.png [deleted file]
koha-tmpl/opac-tmpl/prog/famfamfam/silk/clock_delete.png [deleted file]
koha-tmpl/opac-tmpl/prog/famfamfam/silk/clock_edit.png [deleted file]
koha-tmpl/opac-tmpl/prog/famfamfam/silk/clock_error.png [deleted file]
koha-tmpl/opac-tmpl/prog/famfamfam/silk/clock_go.png [deleted file]
koha-tmpl/opac-tmpl/prog/famfamfam/silk/clock_link.png [deleted file]
koha-tmpl/opac-tmpl/prog/famfamfam/silk/clock_pause.png [deleted file]
koha-tmpl/opac-tmpl/prog/famfamfam/silk/clock_play.png [deleted file]
koha-tmpl/opac-tmpl/prog/famfamfam/silk/clock_red.png [deleted file]
koha-tmpl/opac-tmpl/prog/famfamfam/silk/clock_stop.png [deleted file]
koha-tmpl/opac-tmpl/prog/famfamfam/silk/cog.png [deleted file]
koha-tmpl/opac-tmpl/prog/famfamfam/silk/cog_add.png [deleted file]
koha-tmpl/opac-tmpl/prog/famfamfam/silk/cog_delete.png [deleted file]
koha-tmpl/opac-tmpl/prog/famfamfam/silk/cog_edit.png [deleted file]
koha-tmpl/opac-tmpl/prog/famfamfam/silk/cog_error.png [deleted file]
koha-tmpl/opac-tmpl/prog/famfamfam/silk/cog_go.png [deleted file]
koha-tmpl/opac-tmpl/prog/famfamfam/silk/coins.png [deleted file]
koha-tmpl/opac-tmpl/prog/famfamfam/silk/coins_add.png [deleted file]
koha-tmpl/opac-tmpl/prog/famfamfam/silk/coins_delete.png [deleted file]
koha-tmpl/opac-tmpl/prog/famfamfam/silk/color_swatch.png [deleted file]
koha-tmpl/opac-tmpl/prog/famfamfam/silk/color_wheel.png [deleted file]
koha-tmpl/opac-tmpl/prog/famfamfam/silk/comment.png [deleted file]
koha-tmpl/opac-tmpl/prog/famfamfam/silk/comment_add.png [deleted file]
koha-tmpl/opac-tmpl/prog/famfamfam/silk/comment_delete.png [deleted file]
koha-tmpl/opac-tmpl/prog/famfamfam/silk/comment_edit.png [deleted file]
koha-tmpl/opac-tmpl/prog/famfamfam/silk/comments.png [deleted file]
koha-tmpl/opac-tmpl/prog/famfamfam/silk/comments_add.png [deleted file]
koha-tmpl/opac-tmpl/prog/famfamfam/silk/comments_delete.png [deleted file]
koha-tmpl/opac-tmpl/prog/famfamfam/silk/compress.png [deleted file]
koha-tmpl/opac-tmpl/prog/famfamfam/silk/computer.png [deleted file]
koha-tmpl/opac-tmpl/prog/famfamfam/silk/computer_add.png [deleted file]
koha-tmpl/opac-tmpl/prog/famfamfam/silk/computer_delete.png [deleted file]
koha-tmpl/opac-tmpl/prog/famfamfam/silk/computer_edit.png [deleted file]
koha-tmpl/opac-tmpl/prog/famfamfam/silk/computer_error.png [deleted file]
koha-tmpl/opac-tmpl/prog/famfamfam/silk/computer_go.png [deleted file]
koha-tmpl/opac-tmpl/prog/famfamfam/silk/computer_key.png [deleted file]
koha-tmpl/opac-tmpl/prog/famfamfam/silk/computer_link.png [deleted file]
koha-tmpl/opac-tmpl/prog/famfamfam/silk/connect.png [deleted file]
koha-tmpl/opac-tmpl/prog/famfamfam/silk/contrast.png [deleted file]
koha-tmpl/opac-tmpl/prog/famfamfam/silk/contrast_decrease.png [deleted file]
koha-tmpl/opac-tmpl/prog/famfamfam/silk/contrast_high.png [deleted file]
koha-tmpl/opac-tmpl/prog/famfamfam/silk/contrast_increase.png [deleted file]
koha-tmpl/opac-tmpl/prog/famfamfam/silk/contrast_low.png [deleted file]
koha-tmpl/opac-tmpl/prog/famfamfam/silk/control_eject.png [deleted file]
koha-tmpl/opac-tmpl/prog/famfamfam/silk/control_eject_blue.png [deleted file]
koha-tmpl/opac-tmpl/prog/famfamfam/silk/control_end.png [deleted file]
koha-tmpl/opac-tmpl/prog/famfamfam/silk/control_end_blue.png [deleted file]
koha-tmpl/opac-tmpl/prog/famfamfam/silk/control_equalizer.png [deleted file]
koha-tmpl/opac-tmpl/prog/famfamfam/silk/control_equalizer_blue.png [deleted file]
koha-tmpl/opac-tmpl/prog/famfamfam/silk/control_fastforward.png [deleted file]
koha-tmpl/opac-tmpl/prog/famfamfam/silk/control_fastforward_blue.png [deleted file]
koha-tmpl/opac-tmpl/prog/famfamfam/silk/control_pause.png [deleted file]
koha-tmpl/opac-tmpl/prog/famfamfam/silk/control_pause_blue.png [deleted file]
koha-tmpl/opac-tmpl/prog/famfamfam/silk/control_play.png [deleted file]
koha-tmpl/opac-tmpl/prog/famfamfam/silk/control_play_blue.png [deleted file]
koha-tmpl/opac-tmpl/prog/famfamfam/silk/control_repeat.png [deleted file]
koha-tmpl/opac-tmpl/prog/famfamfam/silk/control_repeat_blue.png [deleted file]
koha-tmpl/opac-tmpl/prog/famfamfam/silk/control_rewind.png [deleted file]
koha-tmpl/opac-tmpl/prog/famfamfam/silk/control_rewind_blue.png [deleted file]
koha-tmpl/opac-tmpl/prog/famfamfam/silk/control_start.png [deleted file]
koha-tmpl/opac-tmpl/prog/famfamfam/silk/control_start_blue.png [deleted file]
koha-tmpl/opac-tmpl/prog/famfamfam/silk/control_stop.png [deleted file]
koha-tmpl/opac-tmpl/prog/famfamfam/silk/control_stop_blue.png [deleted file]
koha-tmpl/opac-tmpl/prog/famfamfam/silk/controller.png [deleted file]
koha-tmpl/opac-tmpl/prog/famfamfam/silk/controller_add.png [deleted file]
koha-tmpl/opac-tmpl/prog/famfamfam/silk/controller_delete.png [deleted file]
koha-tmpl/opac-tmpl/prog/famfamfam/silk/controller_error.png [deleted file]
koha-tmpl/opac-tmpl/prog/famfamfam/silk/creditcards.png [deleted file]
koha-tmpl/opac-tmpl/prog/famfamfam/silk/cross.png [deleted file]
koha-tmpl/opac-tmpl/prog/famfamfam/silk/css.png [deleted file]
koha-tmpl/opac-tmpl/prog/famfamfam/silk/css_add.png [deleted file]
koha-tmpl/opac-tmpl/prog/famfamfam/silk/css_delete.png [deleted file]
koha-tmpl/opac-tmpl/prog/famfamfam/silk/css_go.png [deleted file]
koha-tmpl/opac-tmpl/prog/famfamfam/silk/css_valid.png [deleted file]
koha-tmpl/opac-tmpl/prog/famfamfam/silk/cup.png [deleted file]
koha-tmpl/opac-tmpl/prog/famfamfam/silk/cup_add.png [deleted file]
koha-tmpl/opac-tmpl/prog/famfamfam/silk/cup_delete.png [deleted file]
koha-tmpl/opac-tmpl/prog/famfamfam/silk/cup_edit.png [deleted file]
koha-tmpl/opac-tmpl/prog/famfamfam/silk/cup_error.png [deleted file]
koha-tmpl/opac-tmpl/prog/famfamfam/silk/cup_go.png [deleted file]
koha-tmpl/opac-tmpl/prog/famfamfam/silk/cup_key.png [deleted file]
koha-tmpl/opac-tmpl/prog/famfamfam/silk/cup_link.png [deleted file]
koha-tmpl/opac-tmpl/prog/famfamfam/silk/cursor.png [deleted file]
koha-tmpl/opac-tmpl/prog/famfamfam/silk/cut.png [deleted file]
koha-tmpl/opac-tmpl/prog/famfamfam/silk/cut_red.png [deleted file]
koha-tmpl/opac-tmpl/prog/famfamfam/silk/database.png [deleted file]
koha-tmpl/opac-tmpl/prog/famfamfam/silk/database_add.png [deleted file]
koha-tmpl/opac-tmpl/prog/famfamfam/silk/database_connect.png [deleted file]
koha-tmpl/opac-tmpl/prog/famfamfam/silk/database_delete.png [deleted file]
koha-tmpl/opac-tmpl/prog/famfamfam/silk/database_edit.png [deleted file]
koha-tmpl/opac-tmpl/prog/famfamfam/silk/database_error.png [deleted file]
koha-tmpl/opac-tmpl/prog/famfamfam/silk/database_gear.png [deleted file]
koha-tmpl/opac-tmpl/prog/famfamfam/silk/database_go.png [deleted file]
koha-tmpl/opac-tmpl/prog/famfamfam/silk/database_key.png [deleted file]
koha-tmpl/opac-tmpl/prog/famfamfam/silk/database_lightning.png [deleted file]
koha-tmpl/opac-tmpl/prog/famfamfam/silk/database_link.png [deleted file]
koha-tmpl/opac-tmpl/prog/famfamfam/silk/database_refresh.png [deleted file]
koha-tmpl/opac-tmpl/prog/famfamfam/silk/database_save.png [deleted file]
koha-tmpl/opac-tmpl/prog/famfamfam/silk/database_table.png [deleted file]
koha-tmpl/opac-tmpl/prog/famfamfam/silk/date.png [deleted file]
koha-tmpl/opac-tmpl/prog/famfamfam/silk/date_add.png [deleted file]
koha-tmpl/opac-tmpl/prog/famfamfam/silk/date_delete.png [deleted file]
koha-tmpl/opac-tmpl/prog/famfamfam/silk/date_edit.png [deleted file]
koha-tmpl/opac-tmpl/prog/famfamfam/silk/date_error.png [deleted file]
koha-tmpl/opac-tmpl/prog/famfamfam/silk/date_go.png [deleted file]
koha-tmpl/opac-tmpl/prog/famfamfam/silk/date_link.png [deleted file]
koha-tmpl/opac-tmpl/prog/famfamfam/silk/date_magnify.png [deleted file]
koha-tmpl/opac-tmpl/prog/famfamfam/silk/date_next.png [deleted file]
koha-tmpl/opac-tmpl/prog/famfamfam/silk/date_previous.png [deleted file]
koha-tmpl/opac-tmpl/prog/famfamfam/silk/delete.png [deleted file]
koha-tmpl/opac-tmpl/prog/famfamfam/silk/disconnect.png [deleted file]
koha-tmpl/opac-tmpl/prog/famfamfam/silk/disk.png [deleted file]
koha-tmpl/opac-tmpl/prog/famfamfam/silk/disk_multiple.png [deleted file]
koha-tmpl/opac-tmpl/prog/famfamfam/silk/door.png [deleted file]
koha-tmpl/opac-tmpl/prog/famfamfam/silk/door_in.png [deleted file]
koha-tmpl/opac-tmpl/prog/famfamfam/silk/door_open.png [deleted file]
koha-tmpl/opac-tmpl/prog/famfamfam/silk/door_out.png [deleted file]
koha-tmpl/opac-tmpl/prog/famfamfam/silk/drink.png [deleted file]
koha-tmpl/opac-tmpl/prog/famfamfam/silk/drink_empty.png [deleted file]
koha-tmpl/opac-tmpl/prog/famfamfam/silk/drive.png [deleted file]
koha-tmpl/opac-tmpl/prog/famfamfam/silk/drive_add.png [deleted file]
koha-tmpl/opac-tmpl/prog/famfamfam/silk/drive_burn.png [deleted file]
koha-tmpl/opac-tmpl/prog/famfamfam/silk/drive_cd.png [deleted file]
koha-tmpl/opac-tmpl/prog/famfamfam/silk/drive_cd_empty.png [deleted file]
koha-tmpl/opac-tmpl/prog/famfamfam/silk/drive_delete.png [deleted file]
koha-tmpl/opac-tmpl/prog/famfamfam/silk/drive_disk.png [deleted file]
koha-tmpl/opac-tmpl/prog/famfamfam/silk/drive_edit.png [deleted file]
koha-tmpl/opac-tmpl/prog/famfamfam/silk/drive_error.png [deleted file]
koha-tmpl/opac-tmpl/prog/famfamfam/silk/drive_go.png [deleted file]
koha-tmpl/opac-tmpl/prog/famfamfam/silk/drive_key.png [deleted file]
koha-tmpl/opac-tmpl/prog/famfamfam/silk/drive_link.png [deleted file]
koha-tmpl/opac-tmpl/prog/famfamfam/silk/drive_magnify.png [deleted file]
koha-tmpl/opac-tmpl/prog/famfamfam/silk/drive_network.png [deleted file]
koha-tmpl/opac-tmpl/prog/famfamfam/silk/drive_rename.png [deleted file]
koha-tmpl/opac-tmpl/prog/famfamfam/silk/drive_user.png [deleted file]
koha-tmpl/opac-tmpl/prog/famfamfam/silk/drive_web.png [deleted file]
koha-tmpl/opac-tmpl/prog/famfamfam/silk/dvd.png [deleted file]
koha-tmpl/opac-tmpl/prog/famfamfam/silk/dvd_add.png [deleted file]
koha-tmpl/opac-tmpl/prog/famfamfam/silk/dvd_delete.png [deleted file]
koha-tmpl/opac-tmpl/prog/famfamfam/silk/dvd_edit.png [deleted file]
koha-tmpl/opac-tmpl/prog/famfamfam/silk/dvd_error.png [deleted file]
koha-tmpl/opac-tmpl/prog/famfamfam/silk/dvd_go.png [deleted file]
koha-tmpl/opac-tmpl/prog/famfamfam/silk/dvd_key.png [deleted file]
koha-tmpl/opac-tmpl/prog/famfamfam/silk/dvd_link.png [deleted file]
koha-tmpl/opac-tmpl/prog/famfamfam/silk/email.png [deleted file]
koha-tmpl/opac-tmpl/prog/famfamfam/silk/email_add.png [deleted file]
koha-tmpl/opac-tmpl/prog/famfamfam/silk/email_attach.png [deleted file]
koha-tmpl/opac-tmpl/prog/famfamfam/silk/email_delete.png [deleted file]
koha-tmpl/opac-tmpl/prog/famfamfam/silk/email_edit.png [deleted file]
koha-tmpl/opac-tmpl/prog/famfamfam/silk/email_error.png [deleted file]
koha-tmpl/opac-tmpl/prog/famfamfam/silk/email_go.png [deleted file]
koha-tmpl/opac-tmpl/prog/famfamfam/silk/email_link.png [deleted file]
koha-tmpl/opac-tmpl/prog/famfamfam/silk/email_open.png [deleted file]
koha-tmpl/opac-tmpl/prog/famfamfam/silk/email_open_image.png [deleted file]
koha-tmpl/opac-tmpl/prog/famfamfam/silk/emoticon_evilgrin.png [deleted file]
koha-tmpl/opac-tmpl/prog/famfamfam/silk/emoticon_grin.png [deleted file]
koha-tmpl/opac-tmpl/prog/famfamfam/silk/emoticon_happy.png [deleted file]
koha-tmpl/opac-tmpl/prog/famfamfam/silk/emoticon_smile.png [deleted file]
koha-tmpl/opac-tmpl/prog/famfamfam/silk/emoticon_surprised.png [deleted file]
koha-tmpl/opac-tmpl/prog/famfamfam/silk/emoticon_tongue.png [deleted file]
koha-tmpl/opac-tmpl/prog/famfamfam/silk/emoticon_unhappy.png [deleted file]
koha-tmpl/opac-tmpl/prog/famfamfam/silk/emoticon_waii.png [deleted file]
koha-tmpl/opac-tmpl/prog/famfamfam/silk/emoticon_wink.png [deleted file]
koha-tmpl/opac-tmpl/prog/famfamfam/silk/error.png [deleted file]
koha-tmpl/opac-tmpl/prog/famfamfam/silk/error_add.png [deleted file]
koha-tmpl/opac-tmpl/prog/famfamfam/silk/error_delete.png [deleted file]
koha-tmpl/opac-tmpl/prog/famfamfam/silk/error_go.png [deleted file]
koha-tmpl/opac-tmpl/prog/famfamfam/silk/exclamation.png [deleted file]
koha-tmpl/opac-tmpl/prog/famfamfam/silk/eye.png [deleted file]
koha-tmpl/opac-tmpl/prog/famfamfam/silk/feed.png [deleted file]
koha-tmpl/opac-tmpl/prog/famfamfam/silk/feed_add.png [deleted file]
koha-tmpl/opac-tmpl/prog/famfamfam/silk/feed_delete.png [deleted file]
koha-tmpl/opac-tmpl/prog/famfamfam/silk/feed_disk.png [deleted file]
koha-tmpl/opac-tmpl/prog/famfamfam/silk/feed_edit.png [deleted file]
koha-tmpl/opac-tmpl/prog/famfamfam/silk/feed_error.png [deleted file]
koha-tmpl/opac-tmpl/prog/famfamfam/silk/feed_go.png [deleted file]
koha-tmpl/opac-tmpl/prog/famfamfam/silk/feed_key.png [deleted file]
koha-tmpl/opac-tmpl/prog/famfamfam/silk/feed_link.png [deleted file]
koha-tmpl/opac-tmpl/prog/famfamfam/silk/feed_magnify.png [deleted file]
koha-tmpl/opac-tmpl/prog/famfamfam/silk/female.png [deleted file]
koha-tmpl/opac-tmpl/prog/famfamfam/silk/film.png [deleted file]
koha-tmpl/opac-tmpl/prog/famfamfam/silk/film_add.png [deleted file]
koha-tmpl/opac-tmpl/prog/famfamfam/silk/film_delete.png [deleted file]
koha-tmpl/opac-tmpl/prog/famfamfam/silk/film_edit.png [deleted file]
koha-tmpl/opac-tmpl/prog/famfamfam/silk/film_error.png [deleted file]
koha-tmpl/opac-tmpl/prog/famfamfam/silk/film_go.png [deleted file]
koha-tmpl/opac-tmpl/prog/famfamfam/silk/film_key.png [deleted file]
koha-tmpl/opac-tmpl/prog/famfamfam/silk/film_link.png [deleted file]
koha-tmpl/opac-tmpl/prog/famfamfam/silk/film_save.png [deleted file]
koha-tmpl/opac-tmpl/prog/famfamfam/silk/find.png [deleted file]
koha-tmpl/opac-tmpl/prog/famfamfam/silk/flag_blue.png [deleted file]
koha-tmpl/opac-tmpl/prog/famfamfam/silk/flag_green.png [deleted file]
koha-tmpl/opac-tmpl/prog/famfamfam/silk/flag_orange.png [deleted file]
koha-tmpl/opac-tmpl/prog/famfamfam/silk/flag_pink.png [deleted file]
koha-tmpl/opac-tmpl/prog/famfamfam/silk/flag_purple.png [deleted file]
koha-tmpl/opac-tmpl/prog/famfamfam/silk/flag_red.png [deleted file]
koha-tmpl/opac-tmpl/prog/famfamfam/silk/flag_yellow.png [deleted file]
koha-tmpl/opac-tmpl/prog/famfamfam/silk/folder.png [deleted file]
koha-tmpl/opac-tmpl/prog/famfamfam/silk/folder_add.png [deleted file]
koha-tmpl/opac-tmpl/prog/famfamfam/silk/folder_bell.png [deleted file]
koha-tmpl/opac-tmpl/prog/famfamfam/silk/folder_brick.png [deleted file]
koha-tmpl/opac-tmpl/prog/famfamfam/silk/folder_bug.png [deleted file]
koha-tmpl/opac-tmpl/prog/famfamfam/silk/folder_camera.png [deleted file]
koha-tmpl/opac-tmpl/prog/famfamfam/silk/folder_database.png [deleted file]
koha-tmpl/opac-tmpl/prog/famfamfam/silk/folder_delete.png [deleted file]
koha-tmpl/opac-tmpl/prog/famfamfam/silk/folder_edit.png [deleted file]
koha-tmpl/opac-tmpl/prog/famfamfam/silk/folder_error.png [deleted file]
koha-tmpl/opac-tmpl/prog/famfamfam/silk/folder_explore.png [deleted file]
koha-tmpl/opac-tmpl/prog/famfamfam/silk/folder_feed.png [deleted file]
koha-tmpl/opac-tmpl/prog/famfamfam/silk/folder_find.png [deleted file]
koha-tmpl/opac-tmpl/prog/famfamfam/silk/folder_go.png [deleted file]
koha-tmpl/opac-tmpl/prog/famfamfam/silk/folder_heart.png [deleted file]
koha-tmpl/opac-tmpl/prog/famfamfam/silk/folder_image.png [deleted file]
koha-tmpl/opac-tmpl/prog/famfamfam/silk/folder_key.png [deleted file]
koha-tmpl/opac-tmpl/prog/famfamfam/silk/folder_lightbulb.png [deleted file]
koha-tmpl/opac-tmpl/prog/famfamfam/silk/folder_link.png [deleted file]
koha-tmpl/opac-tmpl/prog/famfamfam/silk/folder_magnify.png [deleted file]
koha-tmpl/opac-tmpl/prog/famfamfam/silk/folder_page.png [deleted file]
koha-tmpl/opac-tmpl/prog/famfamfam/silk/folder_page_white.png [deleted file]
koha-tmpl/opac-tmpl/prog/famfamfam/silk/folder_palette.png [deleted file]
koha-tmpl/opac-tmpl/prog/famfamfam/silk/folder_picture.png [deleted file]
koha-tmpl/opac-tmpl/prog/famfamfam/silk/folder_star.png [deleted file]
koha-tmpl/opac-tmpl/prog/famfamfam/silk/folder_table.png [deleted file]
koha-tmpl/opac-tmpl/prog/famfamfam/silk/folder_user.png [deleted file]
koha-tmpl/opac-tmpl/prog/famfamfam/silk/folder_wrench.png [deleted file]
koha-tmpl/opac-tmpl/prog/famfamfam/silk/font.png [deleted file]
koha-tmpl/opac-tmpl/prog/famfamfam/silk/font_add.png [deleted file]
koha-tmpl/opac-tmpl/prog/famfamfam/silk/font_delete.png [deleted file]
koha-tmpl/opac-tmpl/prog/famfamfam/silk/font_go.png [deleted file]
koha-tmpl/opac-tmpl/prog/famfamfam/silk/group.png [deleted file]
koha-tmpl/opac-tmpl/prog/famfamfam/silk/group_add.png [deleted file]
koha-tmpl/opac-tmpl/prog/famfamfam/silk/group_delete.png [deleted file]
koha-tmpl/opac-tmpl/prog/famfamfam/silk/group_edit.png [deleted file]
koha-tmpl/opac-tmpl/prog/famfamfam/silk/group_error.png [deleted file]
koha-tmpl/opac-tmpl/prog/famfamfam/silk/group_gear.png [deleted file]
koha-tmpl/opac-tmpl/prog/famfamfam/silk/group_go.png [deleted file]
koha-tmpl/opac-tmpl/prog/famfamfam/silk/group_key.png [deleted file]
koha-tmpl/opac-tmpl/prog/famfamfam/silk/group_link.png [deleted file]
koha-tmpl/opac-tmpl/prog/famfamfam/silk/heart.png [deleted file]
koha-tmpl/opac-tmpl/prog/famfamfam/silk/heart_add.png [deleted file]
koha-tmpl/opac-tmpl/prog/famfamfam/silk/heart_delete.png [deleted file]
koha-tmpl/opac-tmpl/prog/famfamfam/silk/help.png [deleted file]
koha-tmpl/opac-tmpl/prog/famfamfam/silk/hourglass.png [deleted file]
koha-tmpl/opac-tmpl/prog/famfamfam/silk/hourglass_add.png [deleted file]
koha-tmpl/opac-tmpl/prog/famfamfam/silk/hourglass_delete.png [deleted file]
koha-tmpl/opac-tmpl/prog/famfamfam/silk/hourglass_go.png [deleted file]
koha-tmpl/opac-tmpl/prog/famfamfam/silk/hourglass_link.png [deleted file]
koha-tmpl/opac-tmpl/prog/famfamfam/silk/house.png [deleted file]
koha-tmpl/opac-tmpl/prog/famfamfam/silk/house_go.png [deleted file]
koha-tmpl/opac-tmpl/prog/famfamfam/silk/house_link.png [deleted file]
koha-tmpl/opac-tmpl/prog/famfamfam/silk/html.png [deleted file]
koha-tmpl/opac-tmpl/prog/famfamfam/silk/html_add.png [deleted file]
koha-tmpl/opac-tmpl/prog/famfamfam/silk/html_delete.png [deleted file]
koha-tmpl/opac-tmpl/prog/famfamfam/silk/html_go.png [deleted file]
koha-tmpl/opac-tmpl/prog/famfamfam/silk/html_valid.png [deleted file]
koha-tmpl/opac-tmpl/prog/famfamfam/silk/image.png [deleted file]
koha-tmpl/opac-tmpl/prog/famfamfam/silk/image_add.png [deleted file]
koha-tmpl/opac-tmpl/prog/famfamfam/silk/image_delete.png [deleted file]
koha-tmpl/opac-tmpl/prog/famfamfam/silk/image_edit.png [deleted file]
koha-tmpl/opac-tmpl/prog/famfamfam/silk/image_link.png [deleted file]
koha-tmpl/opac-tmpl/prog/famfamfam/silk/images.png [deleted file]
koha-tmpl/opac-tmpl/prog/famfamfam/silk/information.png [deleted file]
koha-tmpl/opac-tmpl/prog/famfamfam/silk/ipod.png [deleted file]
koha-tmpl/opac-tmpl/prog/famfamfam/silk/ipod_cast.png [deleted file]
koha-tmpl/opac-tmpl/prog/famfamfam/silk/ipod_cast_add.png [deleted file]
koha-tmpl/opac-tmpl/prog/famfamfam/silk/ipod_cast_delete.png [deleted file]
koha-tmpl/opac-tmpl/prog/famfamfam/silk/ipod_sound.png [deleted file]
koha-tmpl/opac-tmpl/prog/famfamfam/silk/joystick.png [deleted file]
koha-tmpl/opac-tmpl/prog/famfamfam/silk/joystick_add.png [deleted file]
koha-tmpl/opac-tmpl/prog/famfamfam/silk/joystick_delete.png [deleted file]
koha-tmpl/opac-tmpl/prog/famfamfam/silk/joystick_error.png [deleted file]
koha-tmpl/opac-tmpl/prog/famfamfam/silk/key.png [deleted file]
koha-tmpl/opac-tmpl/prog/famfamfam/silk/key_add.png [deleted file]
koha-tmpl/opac-tmpl/prog/famfamfam/silk/key_delete.png [deleted file]
koha-tmpl/opac-tmpl/prog/famfamfam/silk/key_go.png [deleted file]
koha-tmpl/opac-tmpl/prog/famfamfam/silk/keyboard.png [deleted file]
koha-tmpl/opac-tmpl/prog/famfamfam/silk/keyboard_add.png [deleted file]
koha-tmpl/opac-tmpl/prog/famfamfam/silk/keyboard_delete.png [deleted file]
koha-tmpl/opac-tmpl/prog/famfamfam/silk/keyboard_magnify.png [deleted file]
koha-tmpl/opac-tmpl/prog/famfamfam/silk/layers.png [deleted file]
koha-tmpl/opac-tmpl/prog/famfamfam/silk/layout.png [deleted file]
koha-tmpl/opac-tmpl/prog/famfamfam/silk/layout_add.png [deleted file]
koha-tmpl/opac-tmpl/prog/famfamfam/silk/layout_content.png [deleted file]
koha-tmpl/opac-tmpl/prog/famfamfam/silk/layout_delete.png [deleted file]
koha-tmpl/opac-tmpl/prog/famfamfam/silk/layout_edit.png [deleted file]
koha-tmpl/opac-tmpl/prog/famfamfam/silk/layout_error.png [deleted file]
koha-tmpl/opac-tmpl/prog/famfamfam/silk/layout_header.png [deleted file]
koha-tmpl/opac-tmpl/prog/famfamfam/silk/layout_link.png [deleted file]
koha-tmpl/opac-tmpl/prog/famfamfam/silk/layout_sidebar.png [deleted file]
koha-tmpl/opac-tmpl/prog/famfamfam/silk/lightbulb.png [deleted file]
koha-tmpl/opac-tmpl/prog/famfamfam/silk/lightbulb_add.png [deleted file]
koha-tmpl/opac-tmpl/prog/famfamfam/silk/lightbulb_delete.png [deleted file]
koha-tmpl/opac-tmpl/prog/famfamfam/silk/lightbulb_off.png [deleted file]
koha-tmpl/opac-tmpl/prog/famfamfam/silk/lightning.png [deleted file]
koha-tmpl/opac-tmpl/prog/famfamfam/silk/lightning_add.png [deleted file]
koha-tmpl/opac-tmpl/prog/famfamfam/silk/lightning_delete.png [deleted file]
koha-tmpl/opac-tmpl/prog/famfamfam/silk/lightning_go.png [deleted file]
koha-tmpl/opac-tmpl/prog/famfamfam/silk/link.png [deleted file]
koha-tmpl/opac-tmpl/prog/famfamfam/silk/link_add.png [deleted file]
koha-tmpl/opac-tmpl/prog/famfamfam/silk/link_break.png [deleted file]
koha-tmpl/opac-tmpl/prog/famfamfam/silk/link_delete.png [deleted file]
koha-tmpl/opac-tmpl/prog/famfamfam/silk/link_edit.png [deleted file]
koha-tmpl/opac-tmpl/prog/famfamfam/silk/link_error.png [deleted file]
koha-tmpl/opac-tmpl/prog/famfamfam/silk/link_go.png [deleted file]
koha-tmpl/opac-tmpl/prog/famfamfam/silk/lock.png [deleted file]
koha-tmpl/opac-tmpl/prog/famfamfam/silk/lock_add.png [deleted file]
koha-tmpl/opac-tmpl/prog/famfamfam/silk/lock_break.png [deleted file]
koha-tmpl/opac-tmpl/prog/famfamfam/silk/lock_delete.png [deleted file]
koha-tmpl/opac-tmpl/prog/famfamfam/silk/lock_edit.png [deleted file]
koha-tmpl/opac-tmpl/prog/famfamfam/silk/lock_go.png [deleted file]
koha-tmpl/opac-tmpl/prog/famfamfam/silk/lock_open.png [deleted file]
koha-tmpl/opac-tmpl/prog/famfamfam/silk/lorry.png [deleted file]
koha-tmpl/opac-tmpl/prog/famfamfam/silk/lorry_add.png [deleted file]
koha-tmpl/opac-tmpl/prog/famfamfam/silk/lorry_delete.png [deleted file]
koha-tmpl/opac-tmpl/prog/famfamfam/silk/lorry_error.png [deleted file]
koha-tmpl/opac-tmpl/prog/famfamfam/silk/lorry_flatbed.png [deleted file]
koha-tmpl/opac-tmpl/prog/famfamfam/silk/lorry_go.png [deleted file]
koha-tmpl/opac-tmpl/prog/famfamfam/silk/lorry_link.png [deleted file]
koha-tmpl/opac-tmpl/prog/famfamfam/silk/magifier_zoom_out.png [deleted file]
koha-tmpl/opac-tmpl/prog/famfamfam/silk/magnifier.png [deleted file]
koha-tmpl/opac-tmpl/prog/famfamfam/silk/magnifier_zoom_in.png [deleted file]
koha-tmpl/opac-tmpl/prog/famfamfam/silk/male.png [deleted file]
koha-tmpl/opac-tmpl/prog/famfamfam/silk/map.png [deleted file]
koha-tmpl/opac-tmpl/prog/famfamfam/silk/map_add.png [deleted file]
koha-tmpl/opac-tmpl/prog/famfamfam/silk/map_delete.png [deleted file]
koha-tmpl/opac-tmpl/prog/famfamfam/silk/map_edit.png [deleted file]
koha-tmpl/opac-tmpl/prog/famfamfam/silk/map_go.png [deleted file]
koha-tmpl/opac-tmpl/prog/famfamfam/silk/map_magnify.png [deleted file]
koha-tmpl/opac-tmpl/prog/famfamfam/silk/medal_bronze_1.png [deleted file]
koha-tmpl/opac-tmpl/prog/famfamfam/silk/medal_bronze_2.png [deleted file]
koha-tmpl/opac-tmpl/prog/famfamfam/silk/medal_bronze_3.png [deleted file]
koha-tmpl/opac-tmpl/prog/famfamfam/silk/medal_bronze_add.png [deleted file]
koha-tmpl/opac-tmpl/prog/famfamfam/silk/medal_bronze_delete.png [deleted file]
koha-tmpl/opac-tmpl/prog/famfamfam/silk/medal_gold_1.png [deleted file]
koha-tmpl/opac-tmpl/prog/famfamfam/silk/medal_gold_2.png [deleted file]
koha-tmpl/opac-tmpl/prog/famfamfam/silk/medal_gold_3.png [deleted file]
koha-tmpl/opac-tmpl/prog/famfamfam/silk/medal_gold_add.png [deleted file]
koha-tmpl/opac-tmpl/prog/famfamfam/silk/medal_gold_delete.png [deleted file]
koha-tmpl/opac-tmpl/prog/famfamfam/silk/medal_silver_1.png [deleted file]
koha-tmpl/opac-tmpl/prog/famfamfam/silk/medal_silver_2.png [deleted file]
koha-tmpl/opac-tmpl/prog/famfamfam/silk/medal_silver_3.png [deleted file]
koha-tmpl/opac-tmpl/prog/famfamfam/silk/medal_silver_add.png [deleted file]
koha-tmpl/opac-tmpl/prog/famfamfam/silk/medal_silver_delete.png [deleted file]
koha-tmpl/opac-tmpl/prog/famfamfam/silk/money.png [deleted file]
koha-tmpl/opac-tmpl/prog/famfamfam/silk/money_add.png [deleted file]
koha-tmpl/opac-tmpl/prog/famfamfam/silk/money_delete.png [deleted file]
koha-tmpl/opac-tmpl/prog/famfamfam/silk/money_dollar.png [deleted file]
koha-tmpl/opac-tmpl/prog/famfamfam/silk/money_euro.png [deleted file]
koha-tmpl/opac-tmpl/prog/famfamfam/silk/money_pound.png [deleted file]
koha-tmpl/opac-tmpl/prog/famfamfam/silk/money_yen.png [deleted file]
koha-tmpl/opac-tmpl/prog/famfamfam/silk/monitor.png [deleted file]
koha-tmpl/opac-tmpl/prog/famfamfam/silk/monitor_add.png [deleted file]
koha-tmpl/opac-tmpl/prog/famfamfam/silk/monitor_delete.png [deleted file]
koha-tmpl/opac-tmpl/prog/famfamfam/silk/monitor_edit.png [deleted file]
koha-tmpl/opac-tmpl/prog/famfamfam/silk/monitor_error.png [deleted file]
koha-tmpl/opac-tmpl/prog/famfamfam/silk/monitor_go.png [deleted file]
koha-tmpl/opac-tmpl/prog/famfamfam/silk/monitor_lightning.png [deleted file]
koha-tmpl/opac-tmpl/prog/famfamfam/silk/monitor_link.png [deleted file]
koha-tmpl/opac-tmpl/prog/famfamfam/silk/mouse.png [deleted file]
koha-tmpl/opac-tmpl/prog/famfamfam/silk/mouse_add.png [deleted file]
koha-tmpl/opac-tmpl/prog/famfamfam/silk/mouse_delete.png [deleted file]
koha-tmpl/opac-tmpl/prog/famfamfam/silk/mouse_error.png [deleted file]
koha-tmpl/opac-tmpl/prog/famfamfam/silk/music.png [deleted file]
koha-tmpl/opac-tmpl/prog/famfamfam/silk/new.png [deleted file]
koha-tmpl/opac-tmpl/prog/famfamfam/silk/newspaper.png [deleted file]
koha-tmpl/opac-tmpl/prog/famfamfam/silk/newspaper_add.png [deleted file]
koha-tmpl/opac-tmpl/prog/famfamfam/silk/newspaper_delete.png [deleted file]
koha-tmpl/opac-tmpl/prog/famfamfam/silk/newspaper_go.png [deleted file]
koha-tmpl/opac-tmpl/prog/famfamfam/silk/newspaper_link.png [deleted file]
koha-tmpl/opac-tmpl/prog/famfamfam/silk/note.png [deleted file]
koha-tmpl/opac-tmpl/prog/famfamfam/silk/note_add.png [deleted file]
koha-tmpl/opac-tmpl/prog/famfamfam/silk/note_delete.png [deleted file]
koha-tmpl/opac-tmpl/prog/famfamfam/silk/note_edit.png [deleted file]
koha-tmpl/opac-tmpl/prog/famfamfam/silk/note_error.png [deleted file]
koha-tmpl/opac-tmpl/prog/famfamfam/silk/note_go.png [deleted file]
koha-tmpl/opac-tmpl/prog/famfamfam/silk/overlays.png [deleted file]
koha-tmpl/opac-tmpl/prog/famfamfam/silk/package.png [deleted file]
koha-tmpl/opac-tmpl/prog/famfamfam/silk/package_add.png [deleted file]
koha-tmpl/opac-tmpl/prog/famfamfam/silk/package_delete.png [deleted file]
koha-tmpl/opac-tmpl/prog/famfamfam/silk/package_go.png [deleted file]
koha-tmpl/opac-tmpl/prog/famfamfam/silk/package_green.png [deleted file]
koha-tmpl/opac-tmpl/prog/famfamfam/silk/package_link.png [deleted file]
koha-tmpl/opac-tmpl/prog/famfamfam/silk/page.png [deleted file]
koha-tmpl/opac-tmpl/prog/famfamfam/silk/page_add.png [deleted file]
koha-tmpl/opac-tmpl/prog/famfamfam/silk/page_attach.png [deleted file]
koha-tmpl/opac-tmpl/prog/famfamfam/silk/page_code.png [deleted file]
koha-tmpl/opac-tmpl/prog/famfamfam/silk/page_copy.png [deleted file]
koha-tmpl/opac-tmpl/prog/famfamfam/silk/page_delete.png [deleted file]
koha-tmpl/opac-tmpl/prog/famfamfam/silk/page_edit.png [deleted file]
koha-tmpl/opac-tmpl/prog/famfamfam/silk/page_error.png [deleted file]
koha-tmpl/opac-tmpl/prog/famfamfam/silk/page_excel.png [deleted file]
koha-tmpl/opac-tmpl/prog/famfamfam/silk/page_find.png [deleted file]
koha-tmpl/opac-tmpl/prog/famfamfam/silk/page_gear.png [deleted file]
koha-tmpl/opac-tmpl/prog/famfamfam/silk/page_go.png [deleted file]
koha-tmpl/opac-tmpl/prog/famfamfam/silk/page_green.png [deleted file]
koha-tmpl/opac-tmpl/prog/famfamfam/silk/page_key.png [deleted file]
koha-tmpl/opac-tmpl/prog/famfamfam/silk/page_lightning.png [deleted file]
koha-tmpl/opac-tmpl/prog/famfamfam/silk/page_link.png [deleted file]
koha-tmpl/opac-tmpl/prog/famfamfam/silk/page_paintbrush.png [deleted file]
koha-tmpl/opac-tmpl/prog/famfamfam/silk/page_paste.png [deleted file]
koha-tmpl/opac-tmpl/prog/famfamfam/silk/page_red.png [deleted file]
koha-tmpl/opac-tmpl/prog/famfamfam/silk/page_refresh.png [deleted file]
koha-tmpl/opac-tmpl/prog/famfamfam/silk/page_save.png [deleted file]
koha-tmpl/opac-tmpl/prog/famfamfam/silk/page_white.png [deleted file]
koha-tmpl/opac-tmpl/prog/famfamfam/silk/page_white_acrobat.png [deleted file]
koha-tmpl/opac-tmpl/prog/famfamfam/silk/page_white_actionscript.png [deleted file]
koha-tmpl/opac-tmpl/prog/famfamfam/silk/page_white_add.png [deleted file]
koha-tmpl/opac-tmpl/prog/famfamfam/silk/page_white_c.png [deleted file]
koha-tmpl/opac-tmpl/prog/famfamfam/silk/page_white_camera.png [deleted file]
koha-tmpl/opac-tmpl/prog/famfamfam/silk/page_white_cd.png [deleted file]
koha-tmpl/opac-tmpl/prog/famfamfam/silk/page_white_code.png [deleted file]
koha-tmpl/opac-tmpl/prog/famfamfam/silk/page_white_code_red.png [deleted file]
koha-tmpl/opac-tmpl/prog/famfamfam/silk/page_white_coldfusion.png [deleted file]
koha-tmpl/opac-tmpl/prog/famfamfam/silk/page_white_compressed.png [deleted file]
koha-tmpl/opac-tmpl/prog/famfamfam/silk/page_white_copy.png [deleted file]
koha-tmpl/opac-tmpl/prog/famfamfam/silk/page_white_cplusplus.png [deleted file]
koha-tmpl/opac-tmpl/prog/famfamfam/silk/page_white_csharp.png [deleted file]
koha-tmpl/opac-tmpl/prog/famfamfam/silk/page_white_cup.png [deleted file]
koha-tmpl/opac-tmpl/prog/famfamfam/silk/page_white_database.png [deleted file]
koha-tmpl/opac-tmpl/prog/famfamfam/silk/page_white_delete.png [deleted file]
koha-tmpl/opac-tmpl/prog/famfamfam/silk/page_white_dvd.png [deleted file]
koha-tmpl/opac-tmpl/prog/famfamfam/silk/page_white_edit.png [deleted file]
koha-tmpl/opac-tmpl/prog/famfamfam/silk/page_white_error.png [deleted file]
koha-tmpl/opac-tmpl/prog/famfamfam/silk/page_white_excel.png [deleted file]
koha-tmpl/opac-tmpl/prog/famfamfam/silk/page_white_find.png [deleted file]
koha-tmpl/opac-tmpl/prog/famfamfam/silk/page_white_flash.png [deleted file]
koha-tmpl/opac-tmpl/prog/famfamfam/silk/page_white_freehand.png [deleted file]
koha-tmpl/opac-tmpl/prog/famfamfam/silk/page_white_gear.png [deleted file]
koha-tmpl/opac-tmpl/prog/famfamfam/silk/page_white_get.png [deleted file]
koha-tmpl/opac-tmpl/prog/famfamfam/silk/page_white_go.png [deleted file]
koha-tmpl/opac-tmpl/prog/famfamfam/silk/page_white_h.png [deleted file]
koha-tmpl/opac-tmpl/prog/famfamfam/silk/page_white_horizontal.png [deleted file]
koha-tmpl/opac-tmpl/prog/famfamfam/silk/page_white_key.png [deleted file]
koha-tmpl/opac-tmpl/prog/famfamfam/silk/page_white_lightning.png [deleted file]
koha-tmpl/opac-tmpl/prog/famfamfam/silk/page_white_link.png [deleted file]
koha-tmpl/opac-tmpl/prog/famfamfam/silk/page_white_magnify.png [deleted file]
koha-tmpl/opac-tmpl/prog/famfamfam/silk/page_white_medal.png [deleted file]
koha-tmpl/opac-tmpl/prog/famfamfam/silk/page_white_office.png [deleted file]
koha-tmpl/opac-tmpl/prog/famfamfam/silk/page_white_paint.png [deleted file]
koha-tmpl/opac-tmpl/prog/famfamfam/silk/page_white_paintbrush.png [deleted file]
koha-tmpl/opac-tmpl/prog/famfamfam/silk/page_white_paste.png [deleted file]
koha-tmpl/opac-tmpl/prog/famfamfam/silk/page_white_php.png [deleted file]
koha-tmpl/opac-tmpl/prog/famfamfam/silk/page_white_picture.png [deleted file]
koha-tmpl/opac-tmpl/prog/famfamfam/silk/page_white_powerpoint.png [deleted file]
koha-tmpl/opac-tmpl/prog/famfamfam/silk/page_white_put.png [deleted file]
koha-tmpl/opac-tmpl/prog/famfamfam/silk/page_white_ruby.png [deleted file]
koha-tmpl/opac-tmpl/prog/famfamfam/silk/page_white_stack.png [deleted file]
koha-tmpl/opac-tmpl/prog/famfamfam/silk/page_white_star.png [deleted file]
koha-tmpl/opac-tmpl/prog/famfamfam/silk/page_white_swoosh.png [deleted file]
koha-tmpl/opac-tmpl/prog/famfamfam/silk/page_white_text.png [deleted file]
koha-tmpl/opac-tmpl/prog/famfamfam/silk/page_white_text_width.png [deleted file]
koha-tmpl/opac-tmpl/prog/famfamfam/silk/page_white_tux.png [deleted file]
koha-tmpl/opac-tmpl/prog/famfamfam/silk/page_white_vector.png [deleted file]
koha-tmpl/opac-tmpl/prog/famfamfam/silk/page_white_visualstudio.png [deleted file]
koha-tmpl/opac-tmpl/prog/famfamfam/silk/page_white_width.png [deleted file]
koha-tmpl/opac-tmpl/prog/famfamfam/silk/page_white_word.png [deleted file]
koha-tmpl/opac-tmpl/prog/famfamfam/silk/page_white_world.png [deleted file]
koha-tmpl/opac-tmpl/prog/famfamfam/silk/page_white_wrench.png [deleted file]
koha-tmpl/opac-tmpl/prog/famfamfam/silk/page_white_zip.png [deleted file]
koha-tmpl/opac-tmpl/prog/famfamfam/silk/page_word.png [deleted file]
koha-tmpl/opac-tmpl/prog/famfamfam/silk/page_world.png [deleted file]
koha-tmpl/opac-tmpl/prog/famfamfam/silk/paintbrush.png [deleted file]
koha-tmpl/opac-tmpl/prog/famfamfam/silk/paintcan.png [deleted file]
koha-tmpl/opac-tmpl/prog/famfamfam/silk/palette.png [deleted file]
koha-tmpl/opac-tmpl/prog/famfamfam/silk/paste_plain.png [deleted file]
koha-tmpl/opac-tmpl/prog/famfamfam/silk/paste_word.png [deleted file]
koha-tmpl/opac-tmpl/prog/famfamfam/silk/pencil.png [deleted file]
koha-tmpl/opac-tmpl/prog/famfamfam/silk/pencil_add.png [deleted file]
koha-tmpl/opac-tmpl/prog/famfamfam/silk/pencil_delete.png [deleted file]
koha-tmpl/opac-tmpl/prog/famfamfam/silk/pencil_go.png [deleted file]
koha-tmpl/opac-tmpl/prog/famfamfam/silk/phone.png [deleted file]
koha-tmpl/opac-tmpl/prog/famfamfam/silk/phone_add.png [deleted file]
koha-tmpl/opac-tmpl/prog/famfamfam/silk/phone_delete.png [deleted file]
koha-tmpl/opac-tmpl/prog/famfamfam/silk/phone_sound.png [deleted file]
koha-tmpl/opac-tmpl/prog/famfamfam/silk/photo.png [deleted file]
koha-tmpl/opac-tmpl/prog/famfamfam/silk/photo_add.png [deleted file]
koha-tmpl/opac-tmpl/prog/famfamfam/silk/photo_delete.png [deleted file]
koha-tmpl/opac-tmpl/prog/famfamfam/silk/photo_link.png [deleted file]
koha-tmpl/opac-tmpl/prog/famfamfam/silk/photos.png [deleted file]
koha-tmpl/opac-tmpl/prog/famfamfam/silk/picture.png [deleted file]
koha-tmpl/opac-tmpl/prog/famfamfam/silk/picture_add.png [deleted file]
koha-tmpl/opac-tmpl/prog/famfamfam/silk/picture_delete.png [deleted file]
koha-tmpl/opac-tmpl/prog/famfamfam/silk/picture_edit.png [deleted file]
koha-tmpl/opac-tmpl/prog/famfamfam/silk/picture_empty.png [deleted file]
koha-tmpl/opac-tmpl/prog/famfamfam/silk/picture_error.png [deleted file]
koha-tmpl/opac-tmpl/prog/famfamfam/silk/picture_go.png [deleted file]
koha-tmpl/opac-tmpl/prog/famfamfam/silk/picture_key.png [deleted file]
koha-tmpl/opac-tmpl/prog/famfamfam/silk/picture_link.png [deleted file]
koha-tmpl/opac-tmpl/prog/famfamfam/silk/picture_save.png [deleted file]
koha-tmpl/opac-tmpl/prog/famfamfam/silk/pictures.png [deleted file]
koha-tmpl/opac-tmpl/prog/famfamfam/silk/pilcrow.png [deleted file]
koha-tmpl/opac-tmpl/prog/famfamfam/silk/pill.png [deleted file]
koha-tmpl/opac-tmpl/prog/famfamfam/silk/pill_add.png [deleted file]
koha-tmpl/opac-tmpl/prog/famfamfam/silk/pill_delete.png [deleted file]
koha-tmpl/opac-tmpl/prog/famfamfam/silk/pill_go.png [deleted file]
koha-tmpl/opac-tmpl/prog/famfamfam/silk/plugin.png [deleted file]
koha-tmpl/opac-tmpl/prog/famfamfam/silk/plugin_add.png [deleted file]
koha-tmpl/opac-tmpl/prog/famfamfam/silk/plugin_delete.png [deleted file]
koha-tmpl/opac-tmpl/prog/famfamfam/silk/plugin_disabled.png [deleted file]
koha-tmpl/opac-tmpl/prog/famfamfam/silk/plugin_edit.png [deleted file]
koha-tmpl/opac-tmpl/prog/famfamfam/silk/plugin_error.png [deleted file]
koha-tmpl/opac-tmpl/prog/famfamfam/silk/plugin_go.png [deleted file]
koha-tmpl/opac-tmpl/prog/famfamfam/silk/plugin_link.png [deleted file]
koha-tmpl/opac-tmpl/prog/famfamfam/silk/printer.png [deleted file]
koha-tmpl/opac-tmpl/prog/famfamfam/silk/printer_add.png [deleted file]
koha-tmpl/opac-tmpl/prog/famfamfam/silk/printer_delete.png [deleted file]
koha-tmpl/opac-tmpl/prog/famfamfam/silk/printer_empty.png [deleted file]
koha-tmpl/opac-tmpl/prog/famfamfam/silk/printer_error.png [deleted file]
koha-tmpl/opac-tmpl/prog/famfamfam/silk/rainbow.png [deleted file]
koha-tmpl/opac-tmpl/prog/famfamfam/silk/report.png [deleted file]
koha-tmpl/opac-tmpl/prog/famfamfam/silk/report_add.png [deleted file]
koha-tmpl/opac-tmpl/prog/famfamfam/silk/report_delete.png [deleted file]
koha-tmpl/opac-tmpl/prog/famfamfam/silk/report_disk.png [deleted file]
koha-tmpl/opac-tmpl/prog/famfamfam/silk/report_edit.png [deleted file]
koha-tmpl/opac-tmpl/prog/famfamfam/silk/report_go.png [deleted file]
koha-tmpl/opac-tmpl/prog/famfamfam/silk/report_key.png [deleted file]
koha-tmpl/opac-tmpl/prog/famfamfam/silk/report_link.png [deleted file]
koha-tmpl/opac-tmpl/prog/famfamfam/silk/report_magnify.png [deleted file]
koha-tmpl/opac-tmpl/prog/famfamfam/silk/report_picture.png [deleted file]
koha-tmpl/opac-tmpl/prog/famfamfam/silk/report_user.png [deleted file]
koha-tmpl/opac-tmpl/prog/famfamfam/silk/report_word.png [deleted file]
koha-tmpl/opac-tmpl/prog/famfamfam/silk/resultset_first.png [deleted file]
koha-tmpl/opac-tmpl/prog/famfamfam/silk/resultset_last.png [deleted file]
koha-tmpl/opac-tmpl/prog/famfamfam/silk/resultset_next.png [deleted file]
koha-tmpl/opac-tmpl/prog/famfamfam/silk/resultset_previous.png [deleted file]
koha-tmpl/opac-tmpl/prog/famfamfam/silk/rosette.png [deleted file]
koha-tmpl/opac-tmpl/prog/famfamfam/silk/rss.png [deleted file]
koha-tmpl/opac-tmpl/prog/famfamfam/silk/rss_add.png [deleted file]
koha-tmpl/opac-tmpl/prog/famfamfam/silk/rss_delete.png [deleted file]
koha-tmpl/opac-tmpl/prog/famfamfam/silk/rss_go.png [deleted file]
koha-tmpl/opac-tmpl/prog/famfamfam/silk/rss_valid.png [deleted file]
koha-tmpl/opac-tmpl/prog/famfamfam/silk/ruby.png [deleted file]
koha-tmpl/opac-tmpl/prog/famfamfam/silk/ruby_add.png [deleted file]
koha-tmpl/opac-tmpl/prog/famfamfam/silk/ruby_delete.png [deleted file]
koha-tmpl/opac-tmpl/prog/famfamfam/silk/ruby_gear.png [deleted file]
koha-tmpl/opac-tmpl/prog/famfamfam/silk/ruby_get.png [deleted file]
koha-tmpl/opac-tmpl/prog/famfamfam/silk/ruby_go.png [deleted file]
koha-tmpl/opac-tmpl/prog/famfamfam/silk/ruby_key.png [deleted file]
koha-tmpl/opac-tmpl/prog/famfamfam/silk/ruby_link.png [deleted file]
koha-tmpl/opac-tmpl/prog/famfamfam/silk/ruby_put.png [deleted file]
koha-tmpl/opac-tmpl/prog/famfamfam/silk/script.png [deleted file]
koha-tmpl/opac-tmpl/prog/famfamfam/silk/script_add.png [deleted file]
koha-tmpl/opac-tmpl/prog/famfamfam/silk/script_code.png [deleted file]
koha-tmpl/opac-tmpl/prog/famfamfam/silk/script_code_red.png [deleted file]
koha-tmpl/opac-tmpl/prog/famfamfam/silk/script_delete.png [deleted file]
koha-tmpl/opac-tmpl/prog/famfamfam/silk/script_edit.png [deleted file]
koha-tmpl/opac-tmpl/prog/famfamfam/silk/script_error.png [deleted file]
koha-tmpl/opac-tmpl/prog/famfamfam/silk/script_gear.png [deleted file]
koha-tmpl/opac-tmpl/prog/famfamfam/silk/script_go.png [deleted file]
koha-tmpl/opac-tmpl/prog/famfamfam/silk/script_key.png [deleted file]
koha-tmpl/opac-tmpl/prog/famfamfam/silk/script_lightning.png [deleted file]
koha-tmpl/opac-tmpl/prog/famfamfam/silk/script_link.png [deleted file]
koha-tmpl/opac-tmpl/prog/famfamfam/silk/script_palette.png [deleted file]
koha-tmpl/opac-tmpl/prog/famfamfam/silk/script_save.png [deleted file]
koha-tmpl/opac-tmpl/prog/famfamfam/silk/server.png [deleted file]
koha-tmpl/opac-tmpl/prog/famfamfam/silk/server_add.png [deleted file]
koha-tmpl/opac-tmpl/prog/famfamfam/silk/server_chart.png [deleted file]
koha-tmpl/opac-tmpl/prog/famfamfam/silk/server_compressed.png [deleted file]
koha-tmpl/opac-tmpl/prog/famfamfam/silk/server_connect.png [deleted file]
koha-tmpl/opac-tmpl/prog/famfamfam/silk/server_database.png [deleted file]
koha-tmpl/opac-tmpl/prog/famfamfam/silk/server_delete.png [deleted file]
koha-tmpl/opac-tmpl/prog/famfamfam/silk/server_edit.png [deleted file]
koha-tmpl/opac-tmpl/prog/famfamfam/silk/server_error.png [deleted file]
koha-tmpl/opac-tmpl/prog/famfamfam/silk/server_go.png [deleted file]
koha-tmpl/opac-tmpl/prog/famfamfam/silk/server_key.png [deleted file]
koha-tmpl/opac-tmpl/prog/famfamfam/silk/server_lightning.png [deleted file]
koha-tmpl/opac-tmpl/prog/famfamfam/silk/server_link.png [deleted file]
koha-tmpl/opac-tmpl/prog/famfamfam/silk/server_uncompressed.png [deleted file]
koha-tmpl/opac-tmpl/prog/famfamfam/silk/shading.png [deleted file]
koha-tmpl/opac-tmpl/prog/famfamfam/silk/shape_align_bottom.png [deleted file]
koha-tmpl/opac-tmpl/prog/famfamfam/silk/shape_align_center.png [deleted file]
koha-tmpl/opac-tmpl/prog/famfamfam/silk/shape_align_left.png [deleted file]
koha-tmpl/opac-tmpl/prog/famfamfam/silk/shape_align_middle.png [deleted file]
koha-tmpl/opac-tmpl/prog/famfamfam/silk/shape_align_right.png [deleted file]
koha-tmpl/opac-tmpl/prog/famfamfam/silk/shape_align_top.png [deleted file]
koha-tmpl/opac-tmpl/prog/famfamfam/silk/shape_flip_horizontal.png [deleted file]
koha-tmpl/opac-tmpl/prog/famfamfam/silk/shape_flip_vertical.png [deleted file]
koha-tmpl/opac-tmpl/prog/famfamfam/silk/shape_group.png [deleted file]
koha-tmpl/opac-tmpl/prog/famfamfam/silk/shape_handles.png [deleted file]
koha-tmpl/opac-tmpl/prog/famfamfam/silk/shape_move_back.png [deleted file]
koha-tmpl/opac-tmpl/prog/famfamfam/silk/shape_move_backwards.png [deleted file]
koha-tmpl/opac-tmpl/prog/famfamfam/silk/shape_move_forwards.png [deleted file]
koha-tmpl/opac-tmpl/prog/famfamfam/silk/shape_move_front.png [deleted file]
koha-tmpl/opac-tmpl/prog/famfamfam/silk/shape_rotate_anticlockwise.png [deleted file]
koha-tmpl/opac-tmpl/prog/famfamfam/silk/shape_rotate_clockwise.png [deleted file]
koha-tmpl/opac-tmpl/prog/famfamfam/silk/shape_square.png [deleted file]
koha-tmpl/opac-tmpl/prog/famfamfam/silk/shape_square_add.png [deleted file]
koha-tmpl/opac-tmpl/prog/famfamfam/silk/shape_square_delete.png [deleted file]
koha-tmpl/opac-tmpl/prog/famfamfam/silk/shape_square_edit.png [deleted file]
koha-tmpl/opac-tmpl/prog/famfamfam/silk/shape_square_error.png [deleted file]
koha-tmpl/opac-tmpl/prog/famfamfam/silk/shape_square_go.png [deleted file]
koha-tmpl/opac-tmpl/prog/famfamfam/silk/shape_square_key.png [deleted file]
koha-tmpl/opac-tmpl/prog/famfamfam/silk/shape_square_link.png [deleted file]
koha-tmpl/opac-tmpl/prog/famfamfam/silk/shape_ungroup.png [deleted file]
koha-tmpl/opac-tmpl/prog/famfamfam/silk/shield.png [deleted file]
koha-tmpl/opac-tmpl/prog/famfamfam/silk/shield_add.png [deleted file]
koha-tmpl/opac-tmpl/prog/famfamfam/silk/shield_delete.png [deleted file]
koha-tmpl/opac-tmpl/prog/famfamfam/silk/shield_go.png [deleted file]
koha-tmpl/opac-tmpl/prog/famfamfam/silk/sitemap.png [deleted file]
koha-tmpl/opac-tmpl/prog/famfamfam/silk/sitemap_color.png [deleted file]
koha-tmpl/opac-tmpl/prog/famfamfam/silk/sound.png [deleted file]
koha-tmpl/opac-tmpl/prog/famfamfam/silk/sound_add.png [deleted file]
koha-tmpl/opac-tmpl/prog/famfamfam/silk/sound_delete.png [deleted file]
koha-tmpl/opac-tmpl/prog/famfamfam/silk/sound_low.png [deleted file]
koha-tmpl/opac-tmpl/prog/famfamfam/silk/sound_mute.png [deleted file]
koha-tmpl/opac-tmpl/prog/famfamfam/silk/sound_none.png [deleted file]
koha-tmpl/opac-tmpl/prog/famfamfam/silk/spellcheck.png [deleted file]
koha-tmpl/opac-tmpl/prog/famfamfam/silk/sport_8ball.png [deleted file]
koha-tmpl/opac-tmpl/prog/famfamfam/silk/sport_basketball.png [deleted file]
koha-tmpl/opac-tmpl/prog/famfamfam/silk/sport_football.png [deleted file]
koha-tmpl/opac-tmpl/prog/famfamfam/silk/sport_golf.png [deleted file]
koha-tmpl/opac-tmpl/prog/famfamfam/silk/sport_raquet.png [deleted file]
koha-tmpl/opac-tmpl/prog/famfamfam/silk/sport_shuttlecock.png [deleted file]
koha-tmpl/opac-tmpl/prog/famfamfam/silk/sport_soccer.png [deleted file]
koha-tmpl/opac-tmpl/prog/famfamfam/silk/sport_tennis.png [deleted file]
koha-tmpl/opac-tmpl/prog/famfamfam/silk/star.png [deleted file]
koha-tmpl/opac-tmpl/prog/famfamfam/silk/status_away.png [deleted file]
koha-tmpl/opac-tmpl/prog/famfamfam/silk/status_busy.png [deleted file]
koha-tmpl/opac-tmpl/prog/famfamfam/silk/status_offline.png [deleted file]
koha-tmpl/opac-tmpl/prog/famfamfam/silk/status_online.png [deleted file]
koha-tmpl/opac-tmpl/prog/famfamfam/silk/stop.png [deleted file]
koha-tmpl/opac-tmpl/prog/famfamfam/silk/style.png [deleted file]
koha-tmpl/opac-tmpl/prog/famfamfam/silk/style_add.png [deleted file]
koha-tmpl/opac-tmpl/prog/famfamfam/silk/style_delete.png [deleted file]
koha-tmpl/opac-tmpl/prog/famfamfam/silk/style_edit.png [deleted file]
koha-tmpl/opac-tmpl/prog/famfamfam/silk/style_go.png [deleted file]
koha-tmpl/opac-tmpl/prog/famfamfam/silk/sum.png [deleted file]
koha-tmpl/opac-tmpl/prog/famfamfam/silk/tab.png [deleted file]
koha-tmpl/opac-tmpl/prog/famfamfam/silk/tab_add.png [deleted file]
koha-tmpl/opac-tmpl/prog/famfamfam/silk/tab_delete.png [deleted file]
koha-tmpl/opac-tmpl/prog/famfamfam/silk/tab_edit.png [deleted file]
koha-tmpl/opac-tmpl/prog/famfamfam/silk/tab_go.png [deleted file]
koha-tmpl/opac-tmpl/prog/famfamfam/silk/table.png [deleted file]
koha-tmpl/opac-tmpl/prog/famfamfam/silk/table_add.png [deleted file]
koha-tmpl/opac-tmpl/prog/famfamfam/silk/table_delete.png [deleted file]
koha-tmpl/opac-tmpl/prog/famfamfam/silk/table_edit.png [deleted file]
koha-tmpl/opac-tmpl/prog/famfamfam/silk/table_error.png [deleted file]
koha-tmpl/opac-tmpl/prog/famfamfam/silk/table_gear.png [deleted file]
koha-tmpl/opac-tmpl/prog/famfamfam/silk/table_go.png [deleted file]
koha-tmpl/opac-tmpl/prog/famfamfam/silk/table_key.png [deleted file]
koha-tmpl/opac-tmpl/prog/famfamfam/silk/table_lightning.png [deleted file]
koha-tmpl/opac-tmpl/prog/famfamfam/silk/table_link.png [deleted file]
koha-tmpl/opac-tmpl/prog/famfamfam/silk/table_multiple.png [deleted file]
koha-tmpl/opac-tmpl/prog/famfamfam/silk/table_refresh.png [deleted file]
koha-tmpl/opac-tmpl/prog/famfamfam/silk/table_relationship.png [deleted file]
koha-tmpl/opac-tmpl/prog/famfamfam/silk/table_row_delete.png [deleted file]
koha-tmpl/opac-tmpl/prog/famfamfam/silk/table_row_insert.png [deleted file]
koha-tmpl/opac-tmpl/prog/famfamfam/silk/table_save.png [deleted file]
koha-tmpl/opac-tmpl/prog/famfamfam/silk/table_sort.png [deleted file]
koha-tmpl/opac-tmpl/prog/famfamfam/silk/tag.png [deleted file]
koha-tmpl/opac-tmpl/prog/famfamfam/silk/tag_blue.png [deleted file]
koha-tmpl/opac-tmpl/prog/famfamfam/silk/tag_blue_add.png [deleted file]
koha-tmpl/opac-tmpl/prog/famfamfam/silk/tag_blue_delete.png [deleted file]
koha-tmpl/opac-tmpl/prog/famfamfam/silk/tag_blue_edit.png [deleted file]
koha-tmpl/opac-tmpl/prog/famfamfam/silk/tag_green.png [deleted file]
koha-tmpl/opac-tmpl/prog/famfamfam/silk/tag_orange.png [deleted file]
koha-tmpl/opac-tmpl/prog/famfamfam/silk/tag_pink.png [deleted file]
koha-tmpl/opac-tmpl/prog/famfamfam/silk/tag_purple.png [deleted file]
koha-tmpl/opac-tmpl/prog/famfamfam/silk/tag_red.png [deleted file]
koha-tmpl/opac-tmpl/prog/famfamfam/silk/tag_yellow.png [deleted file]
koha-tmpl/opac-tmpl/prog/famfamfam/silk/telephone.png [deleted file]
koha-tmpl/opac-tmpl/prog/famfamfam/silk/telephone_add.png [deleted file]
koha-tmpl/opac-tmpl/prog/famfamfam/silk/telephone_delete.png [deleted file]
koha-tmpl/opac-tmpl/prog/famfamfam/silk/telephone_edit.png [deleted file]
koha-tmpl/opac-tmpl/prog/famfamfam/silk/telephone_error.png [deleted file]
koha-tmpl/opac-tmpl/prog/famfamfam/silk/telephone_go.png [deleted file]
koha-tmpl/opac-tmpl/prog/famfamfam/silk/telephone_key.png [deleted file]
koha-tmpl/opac-tmpl/prog/famfamfam/silk/telephone_link.png [deleted file]
koha-tmpl/opac-tmpl/prog/famfamfam/silk/television.png [deleted file]
koha-tmpl/opac-tmpl/prog/famfamfam/silk/television_add.png [deleted file]
koha-tmpl/opac-tmpl/prog/famfamfam/silk/television_delete.png [deleted file]
koha-tmpl/opac-tmpl/prog/famfamfam/silk/text_align_center.png [deleted file]
koha-tmpl/opac-tmpl/prog/famfamfam/silk/text_align_justify.png [deleted file]
koha-tmpl/opac-tmpl/prog/famfamfam/silk/text_align_left.png [deleted file]
koha-tmpl/opac-tmpl/prog/famfamfam/silk/text_align_right.png [deleted file]
koha-tmpl/opac-tmpl/prog/famfamfam/silk/text_allcaps.png [deleted file]
koha-tmpl/opac-tmpl/prog/famfamfam/silk/text_bold.png [deleted file]
koha-tmpl/opac-tmpl/prog/famfamfam/silk/text_columns.png [deleted file]
koha-tmpl/opac-tmpl/prog/famfamfam/silk/text_dropcaps.png [deleted file]
koha-tmpl/opac-tmpl/prog/famfamfam/silk/text_heading_1.png [deleted file]
koha-tmpl/opac-tmpl/prog/famfamfam/silk/text_heading_2.png [deleted file]
koha-tmpl/opac-tmpl/prog/famfamfam/silk/text_heading_3.png [deleted file]
koha-tmpl/opac-tmpl/prog/famfamfam/silk/text_heading_4.png [deleted file]
koha-tmpl/opac-tmpl/prog/famfamfam/silk/text_heading_5.png [deleted file]
koha-tmpl/opac-tmpl/prog/famfamfam/silk/text_heading_6.png [deleted file]
koha-tmpl/opac-tmpl/prog/famfamfam/silk/text_horizontalrule.png [deleted file]
koha-tmpl/opac-tmpl/prog/famfamfam/silk/text_indent.png [deleted file]
koha-tmpl/opac-tmpl/prog/famfamfam/silk/text_indent_remove.png [deleted file]
koha-tmpl/opac-tmpl/prog/famfamfam/silk/text_italic.png [deleted file]
koha-tmpl/opac-tmpl/prog/famfamfam/silk/text_kerning.png [deleted file]
koha-tmpl/opac-tmpl/prog/famfamfam/silk/text_letter_omega.png [deleted file]
koha-tmpl/opac-tmpl/prog/famfamfam/silk/text_letterspacing.png [deleted file]
koha-tmpl/opac-tmpl/prog/famfamfam/silk/text_linespacing.png [deleted file]
koha-tmpl/opac-tmpl/prog/famfamfam/silk/text_list_bullets.png [deleted file]
koha-tmpl/opac-tmpl/prog/famfamfam/silk/text_list_numbers.png [deleted file]
koha-tmpl/opac-tmpl/prog/famfamfam/silk/text_lowercase.png [deleted file]
koha-tmpl/opac-tmpl/prog/famfamfam/silk/text_padding_bottom.png [deleted file]
koha-tmpl/opac-tmpl/prog/famfamfam/silk/text_padding_left.png [deleted file]
koha-tmpl/opac-tmpl/prog/famfamfam/silk/text_padding_right.png [deleted file]
koha-tmpl/opac-tmpl/prog/famfamfam/silk/text_padding_top.png [deleted file]
koha-tmpl/opac-tmpl/prog/famfamfam/silk/text_replace.png [deleted file]
koha-tmpl/opac-tmpl/prog/famfamfam/silk/text_signature.png [deleted file]
koha-tmpl/opac-tmpl/prog/famfamfam/silk/text_smallcaps.png [deleted file]
koha-tmpl/opac-tmpl/prog/famfamfam/silk/text_strikethrough.png [deleted file]
koha-tmpl/opac-tmpl/prog/famfamfam/silk/text_subscript.png [deleted file]
koha-tmpl/opac-tmpl/prog/famfamfam/silk/text_superscript.png [deleted file]
koha-tmpl/opac-tmpl/prog/famfamfam/silk/text_underline.png [deleted file]
koha-tmpl/opac-tmpl/prog/famfamfam/silk/text_uppercase.png [deleted file]
koha-tmpl/opac-tmpl/prog/famfamfam/silk/textfield.png [deleted file]
koha-tmpl/opac-tmpl/prog/famfamfam/silk/textfield_add.png [deleted file]
koha-tmpl/opac-tmpl/prog/famfamfam/silk/textfield_delete.png [deleted file]
koha-tmpl/opac-tmpl/prog/famfamfam/silk/textfield_key.png [deleted file]
koha-tmpl/opac-tmpl/prog/famfamfam/silk/textfield_rename.png [deleted file]
koha-tmpl/opac-tmpl/prog/famfamfam/silk/thumb_down.png [deleted file]
koha-tmpl/opac-tmpl/prog/famfamfam/silk/thumb_up.png [deleted file]
koha-tmpl/opac-tmpl/prog/famfamfam/silk/tick.png [deleted file]
koha-tmpl/opac-tmpl/prog/famfamfam/silk/time.png [deleted file]
koha-tmpl/opac-tmpl/prog/famfamfam/silk/time_add.png [deleted file]
koha-tmpl/opac-tmpl/prog/famfamfam/silk/time_delete.png [deleted file]
koha-tmpl/opac-tmpl/prog/famfamfam/silk/time_go.png [deleted file]
koha-tmpl/opac-tmpl/prog/famfamfam/silk/timeline_marker.png [deleted file]
koha-tmpl/opac-tmpl/prog/famfamfam/silk/transmit.png [deleted file]
koha-tmpl/opac-tmpl/prog/famfamfam/silk/transmit_add.png [deleted file]
koha-tmpl/opac-tmpl/prog/famfamfam/silk/transmit_blue.png [deleted file]
koha-tmpl/opac-tmpl/prog/famfamfam/silk/transmit_delete.png [deleted file]
koha-tmpl/opac-tmpl/prog/famfamfam/silk/transmit_edit.png [deleted file]
koha-tmpl/opac-tmpl/prog/famfamfam/silk/transmit_error.png [deleted file]
koha-tmpl/opac-tmpl/prog/famfamfam/silk/transmit_go.png [deleted file]
koha-tmpl/opac-tmpl/prog/famfamfam/silk/tux.png [deleted file]
koha-tmpl/opac-tmpl/prog/famfamfam/silk/user.png [deleted file]
koha-tmpl/opac-tmpl/prog/famfamfam/silk/user_add.png [deleted file]
koha-tmpl/opac-tmpl/prog/famfamfam/silk/user_comment.png [deleted file]
koha-tmpl/opac-tmpl/prog/famfamfam/silk/user_delete.png [deleted file]
koha-tmpl/opac-tmpl/prog/famfamfam/silk/user_edit.png [deleted file]
koha-tmpl/opac-tmpl/prog/famfamfam/silk/user_female.png [deleted file]
koha-tmpl/opac-tmpl/prog/famfamfam/silk/user_go.png [deleted file]
koha-tmpl/opac-tmpl/prog/famfamfam/silk/user_gray.png [deleted file]
koha-tmpl/opac-tmpl/prog/famfamfam/silk/user_green.png [deleted file]
koha-tmpl/opac-tmpl/prog/famfamfam/silk/user_orange.png [deleted file]
koha-tmpl/opac-tmpl/prog/famfamfam/silk/user_red.png [deleted file]
koha-tmpl/opac-tmpl/prog/famfamfam/silk/user_suit.png [deleted file]
koha-tmpl/opac-tmpl/prog/famfamfam/silk/vcard.png [deleted file]
koha-tmpl/opac-tmpl/prog/famfamfam/silk/vcard_add.png [deleted file]
koha-tmpl/opac-tmpl/prog/famfamfam/silk/vcard_delete.png [deleted file]
koha-tmpl/opac-tmpl/prog/famfamfam/silk/vcard_edit.png [deleted file]
koha-tmpl/opac-tmpl/prog/famfamfam/silk/vector.png [deleted file]
koha-tmpl/opac-tmpl/prog/famfamfam/silk/vector_add.png [deleted file]
koha-tmpl/opac-tmpl/prog/famfamfam/silk/vector_delete.png [deleted file]
koha-tmpl/opac-tmpl/prog/famfamfam/silk/wand.png [deleted file]
koha-tmpl/opac-tmpl/prog/famfamfam/silk/weather_clouds.png [deleted file]
koha-tmpl/opac-tmpl/prog/famfamfam/silk/weather_cloudy.png [deleted file]
koha-tmpl/opac-tmpl/prog/famfamfam/silk/weather_lightning.png [deleted file]
koha-tmpl/opac-tmpl/prog/famfamfam/silk/weather_rain.png [deleted file]
koha-tmpl/opac-tmpl/prog/famfamfam/silk/weather_snow.png [deleted file]
koha-tmpl/opac-tmpl/prog/famfamfam/silk/weather_sun.png [deleted file]
koha-tmpl/opac-tmpl/prog/famfamfam/silk/webcam.png [deleted file]
koha-tmpl/opac-tmpl/prog/famfamfam/silk/webcam_add.png [deleted file]
koha-tmpl/opac-tmpl/prog/famfamfam/silk/webcam_delete.png [deleted file]
koha-tmpl/opac-tmpl/prog/famfamfam/silk/webcam_error.png [deleted file]
koha-tmpl/opac-tmpl/prog/famfamfam/silk/world.png [deleted file]
koha-tmpl/opac-tmpl/prog/famfamfam/silk/world_add.png [deleted file]
koha-tmpl/opac-tmpl/prog/famfamfam/silk/world_delete.png [deleted file]
koha-tmpl/opac-tmpl/prog/famfamfam/silk/world_edit.png [deleted file]
koha-tmpl/opac-tmpl/prog/famfamfam/silk/world_go.png [deleted file]
koha-tmpl/opac-tmpl/prog/famfamfam/silk/world_link.png [deleted file]
koha-tmpl/opac-tmpl/prog/famfamfam/silk/wrench.png [deleted file]
koha-tmpl/opac-tmpl/prog/famfamfam/silk/wrench_orange.png [deleted file]
koha-tmpl/opac-tmpl/prog/famfamfam/silk/xhtml.png [deleted file]
koha-tmpl/opac-tmpl/prog/famfamfam/silk/xhtml_add.png [deleted file]
koha-tmpl/opac-tmpl/prog/famfamfam/silk/xhtml_delete.png [deleted file]
koha-tmpl/opac-tmpl/prog/famfamfam/silk/xhtml_go.png [deleted file]
koha-tmpl/opac-tmpl/prog/famfamfam/silk/xhtml_valid.png [deleted file]
koha-tmpl/opac-tmpl/prog/famfamfam/silk/zoom.png [deleted file]
koha-tmpl/opac-tmpl/prog/famfamfam/silk/zoom_in.png [deleted file]
koha-tmpl/opac-tmpl/prog/famfamfam/silk/zoom_out.png [deleted file]
koha-tmpl/opac-tmpl/prog/images/browse-next.gif [deleted file]
koha-tmpl/opac-tmpl/prog/images/browse-prev.gif [deleted file]
koha-tmpl/opac-tmpl/prog/images/caret.gif [deleted file]
koha-tmpl/opac-tmpl/prog/images/delete.gif [deleted file]
koha-tmpl/opac-tmpl/prog/images/item-bullet.gif [deleted file]
koha-tmpl/opac-tmpl/prog/images/social-sprite.png [new file with mode: 0644]
koha-tmpl/opac-tmpl/prog/images/socnet/delicious16.gif [deleted file]
koha-tmpl/opac-tmpl/prog/images/socnet/facebook16.png [deleted file]
koha-tmpl/opac-tmpl/prog/images/socnet/linkedin16.png [deleted file]
koha-tmpl/opac-tmpl/prog/images/socnet/mailto16.png [deleted file]
koha-tmpl/opac-tmpl/prog/images/socnet/twitter16.png [deleted file]
koha-tmpl/opac-tmpl/prog/images/sprite.png
koha-tmpl/opac-tmpl/prog/images/star-ratings-sprite.png [new file with mode: 0644]
koha-tmpl/opac-tmpl/prog/images/star.gif [deleted file]
koha-tmpl/opac-tmpl/prog/itemtypeimg/colors/000000.png [new file with mode: 0644]
koha-tmpl/opac-tmpl/prog/itemtypeimg/colors/006600.png [new file with mode: 0644]
koha-tmpl/opac-tmpl/prog/itemtypeimg/colors/3333cc.png [new file with mode: 0644]
koha-tmpl/opac-tmpl/prog/itemtypeimg/colors/660000.png [new file with mode: 0644]
koha-tmpl/opac-tmpl/prog/itemtypeimg/colors/6600cc.png [new file with mode: 0644]
koha-tmpl/opac-tmpl/prog/itemtypeimg/colors/663333.png [new file with mode: 0644]
koha-tmpl/opac-tmpl/prog/itemtypeimg/colors/6666cc.png [new file with mode: 0644]
koha-tmpl/opac-tmpl/prog/itemtypeimg/colors/66cc66.png [new file with mode: 0644]
koha-tmpl/opac-tmpl/prog/itemtypeimg/colors/990000.png [new file with mode: 0644]
koha-tmpl/opac-tmpl/prog/itemtypeimg/colors/996633.png [new file with mode: 0644]
koha-tmpl/opac-tmpl/prog/itemtypeimg/colors/999999.png [new file with mode: 0644]
koha-tmpl/opac-tmpl/prog/itemtypeimg/colors/9999cc.png [new file with mode: 0644]
koha-tmpl/opac-tmpl/prog/itemtypeimg/colors/99cc33.png [new file with mode: 0644]
koha-tmpl/opac-tmpl/prog/itemtypeimg/colors/cc3333.png [new file with mode: 0644]
koha-tmpl/opac-tmpl/prog/itemtypeimg/colors/cc6666.png [new file with mode: 0644]
koha-tmpl/opac-tmpl/prog/itemtypeimg/colors/cc66cc.png [new file with mode: 0644]
koha-tmpl/opac-tmpl/prog/itemtypeimg/colors/cc9999.png [new file with mode: 0644]
koha-tmpl/opac-tmpl/prog/itemtypeimg/colors/cc99cc.png [new file with mode: 0644]
koha-tmpl/opac-tmpl/prog/itemtypeimg/colors/cccc00.png [new file with mode: 0644]
koha-tmpl/opac-tmpl/prog/itemtypeimg/colors/ffff33.png [new file with mode: 0644]
koha-tmpl/opac-tmpl/prog/itemtypeimg/colors/ffffcc.png [new file with mode: 0644]
koha-tmpl/opac-tmpl/prog/itemtypeimg/colors/ffffff.png [new file with mode: 0644]
kohaversion.pl
members/boraccount.pl
members/files.pl
members/member.pl
members/memberentry.pl
members/pay.pl
members/paycollect.pl
members/printinvoice.pl
members/readingrec.pl
members/statistics.pl
misc/batchdeletebiblios.pl [new file with mode: 0755]
misc/bin/connexion_import_daemon.pl
misc/bin/set-selinux-labels.sh [new file with mode: 0755]
misc/commit_biblios_file.pl [deleted file]
misc/commit_file.pl [new file with mode: 0755]
misc/cronjobs/check-url-quick.pl [new file with mode: 0755]
misc/cronjobs/check-url.pl
misc/cronjobs/crontab.example
misc/cronjobs/holds/build_holds_queue.pl
misc/cronjobs/import_webservice_batch.pl
misc/cronjobs/overdue_notices.pl
misc/cronjobs/runreport.pl
misc/cronjobs/staticfines.pl
misc/cronjobs/thirdparty/TalkingTech_itiva_outbound.pl
misc/link_bibs_to_authorities.pl
misc/maintenance/process_record_through_filter.pl [new file with mode: 0755]
misc/migration_tools/rebuild_zebra.pl
misc/migration_tools/rebuild_zebra_sliced.sh
misc/stage_biblios_file.pl [deleted file]
misc/stage_file.pl [new file with mode: 0755]
misc/translator/LangInstaller.pm
opac/opac-authorities-home.pl
opac/opac-authoritiesdetail.pl
opac/opac-detail.pl
opac/opac-imageviewer.pl
opac/opac-main.pl
opac/opac-readingrecord.pl
opac/opac-reserve.pl
opac/opac-search.pl
opac/opac-tags.pl
opac/opac-user.pl
opac/svc/report
opac/svc/suggestion [new file with mode: 0755]
reports/dictionary.pl
reports/guided_reports.pl
reports/serials_stats.pl
reserve/renewscript.pl
serials/serials-collection.pl
serials/serials-edit.pl
serials/serials-home.pl
serials/serials-search.pl [new file with mode: 0755]
serials/subscription-detail.pl
svc/import_bib
svc/report
t/Acquisition/Invoice.t [new file with mode: 0755]
t/AuthoritiesMarc.t
t/DateUtils.t
t/Images.t [new file with mode: 0644]
t/Installer_PerlModules.t
t/ItemType.t
t/Letters.t
t/Matcher.t
t/Members_AttributeTypes.t
t/RecordProcessor.t [new file with mode: 0755]
t/SocialData.t [new file with mode: 0644]
t/SuggestionEngine.t [new file with mode: 0755]
t/SuggestionEngine_AuthorityFile.t [new file with mode: 0755]
t/SuggestionEngine_ExplodedTerms.t [new file with mode: 0755]
t/db_dependent/Acquisition.t
t/db_dependent/HoldsQueue.t [new file with mode: 0755]
t/db_dependent/Holidays.t [new file with mode: 0755]
t/db_dependent/Items.t
t/db_dependent/Koha_Authority.t [new file with mode: 0755]
t/db_dependent/RecordProcessor_EmbedSeeFromHeadings.t [new file with mode: 0755]
t/db_dependent/Reports/Guided.t [new file with mode: 0644]
t/db_dependent/Reserves.t
t/db_dependent/Search.t
t/db_dependent/Tags.t
t/db_dependent/data/zebraexport/authority/exported_records [new file with mode: 0644]
t/db_dependent/data/zebraexport/biblio/exported_records [new file with mode: 0644]
t/db_dependent/lib/KohaTest/Acquisition/GetParcel.pm
t/db_dependent/lib/KohaTest/Acquisition/GetParcels.pm
t/db_dependent/zebra_config.pl [new file with mode: 0755]
tools/batchMod.pl
tools/exceptionHolidays.pl
tools/export.pl
tools/manage-marc-import.pl
tools/newHolidays.pl
tools/picture-upload.pl
tools/stage-marc-import.pl

index 3606393..8a0212f 100644 (file)
@@ -72,7 +72,7 @@ patron.
 
 Record payment by a patron. C<$borrowernumber> is the patron's
 borrower number. C<$payment> is a floating-point number, giving the
-amount that was paid. 
+amount that was paid.
 
 Amounts owed are paid off oldest first. That is, if the patron has a
 $1 fine from Feb. 1, another $1 fine from Mar. 1, and makes a payment
@@ -115,12 +115,12 @@ sub recordpayment {
             $newamtos   = $accdata->{'amountoutstanding'} - $amountleft;
             $amountleft = 0;
         }
-        my $thisacct = $accdata->{accountno};
+        my $thisacct = $accdata->{accountlines_id};
         my $usth     = $dbh->prepare(
             "UPDATE accountlines SET amountoutstanding= ?
-     WHERE (borrowernumber = ?) AND (accountno=?)"
+     WHERE (accountlines_id = ?)"
         );
-        $usth->execute( $newamtos, $borrowernumber, $thisacct );
+        $usth->execute( $newamtos, $thisacct );
         $usth->finish;
 #        $usth = $dbh->prepare(
 #            "INSERT INTO accountoffsets
@@ -146,7 +146,7 @@ sub recordpayment {
 
 =head2 makepayment
 
-  &makepayment($borrowernumber, $acctnumber, $amount, $branchcode);
+  &makepayment($accountlines_id, $borrowernumber, $acctnumber, $amount, $branchcode);
 
 Records the fact that a patron has paid off the entire amount he or
 she owes.
@@ -167,7 +167,7 @@ sub makepayment {
     #here we update both the accountoffsets and the account lines
     #updated to check, if they are paying off a lost item, we return the item
     # from their card, and put a note on the item record
-    my ( $borrowernumber, $accountno, $amount, $user, $branch ) = @_;
+    my ( $accountlines_id, $borrowernumber, $accountno, $amount, $user, $branch ) = @_;
     my $dbh = C4::Context->dbh;
     my $manager_id = 0;
     $manager_id = C4::Context->userenv->{'number'} if C4::Context->userenv; 
@@ -175,10 +175,8 @@ sub makepayment {
     # begin transaction
     my $nextaccntno = getnextacctno($borrowernumber);
     my $newamtos    = 0;
-    my $sth =
-      $dbh->prepare(
-        "SELECT * FROM accountlines WHERE  borrowernumber=? AND accountno=?");
-    $sth->execute( $borrowernumber, $accountno );
+    my $sth         = $dbh->prepare("SELECT * FROM accountlines WHERE accountlines_id=?");
+    $sth->execute( $accountlines_id );
     my $data = $sth->fetchrow_hashref;
     $sth->finish;
 
@@ -187,22 +185,20 @@ sub makepayment {
             $dbh->prepare(
                 "UPDATE accountlines
                     SET amountoutstanding = 0, description = 'Payment,thanks'
-                    WHERE borrowernumber = ?
-                    AND accountno = ?
+                    WHERE accountlines_id = ?
                 "
             );
-        $udp->execute($borrowernumber, $accountno );
+        $udp->execute($accountlines_id);
         $udp->finish;
     }else{
         my $udp =              
             $dbh->prepare(
                 "UPDATE accountlines
                     SET amountoutstanding = 0
-                    WHERE borrowernumber = ?
-                    AND accountno = ?
+                    WHERE accountlines_id = ?
                 "
             );
-        $udp->execute($borrowernumber, $accountno );
+        $udp->execute($accountlines_id);
         $udp->finish;
 
          # create new line
@@ -229,6 +225,11 @@ sub makepayment {
     if ( $data->{'accounttype'} eq 'Rep' || $data->{'accounttype'} eq 'L' ) {
         C4::Circulation::ReturnLostItem( $borrowernumber, $data->{'itemnumber'} );
     }
+    my $sthr = $dbh->prepare("SELECT max(accountlines_id) AS lastinsertid FROM accountlines");
+    $sthr->execute();
+    my $datalastinsertid = $sthr->fetchrow_hashref;
+    $sthr->finish;
+    return $datalastinsertid->{'lastinsertid'};
 }
 
 =head2 getnextacctno
@@ -242,13 +243,13 @@ borrower number.
 
 #'
 # FIXME - Okay, so what does the above actually _mean_?
-sub getnextacctno ($) {
-    my ($borrowernumber) = shift or return undef;
+sub getnextacctno {
+    my ($borrowernumber) = shift or return;
     my $sth = C4::Context->dbh->prepare(
         "SELECT accountno+1 FROM accountlines
-         WHERE    (borrowernumber = ?)
-         ORDER BY accountno DESC
-                LIMIT 1"
+            WHERE    (borrowernumber = ?)
+            ORDER BY accountno DESC
+            LIMIT 1"
     );
     $sth->execute($borrowernumber);
     return ($sth->fetchrow || 1);
@@ -256,18 +257,17 @@ sub getnextacctno ($) {
 
 =head2 fixaccounts (removed)
 
-  &fixaccounts($borrowernumber, $accountnumber, $amount);
+  &fixaccounts($accountlines_id, $borrowernumber, $accountnumber, $amount);
 
 #'
 # FIXME - I don't understand what this function does.
 sub fixaccounts {
-    my ( $borrowernumber, $accountno, $amount ) = @_;
+    my ( $accountlines_id, $borrowernumber, $accountno, $amount ) = @_;
     my $dbh = C4::Context->dbh;
     my $sth = $dbh->prepare(
-        "SELECT * FROM accountlines WHERE borrowernumber=?
-     AND accountno=?"
+        "SELECT * FROM accountlines WHERE accountlines_id=?"
     );
-    $sth->execute( $borrowernumber, $accountno );
+    $sth->execute( $accountlines_id );
     my $data = $sth->fetchrow_hashref;
 
     # FIXME - Error-checking
@@ -279,8 +279,7 @@ sub fixaccounts {
         UPDATE  accountlines
         SET     amount = '$amount',
                 amountoutstanding = '$outstanding'
-        WHERE   borrowernumber = $borrowernumber
-          AND   accountno = $accountno
+        WHERE   accountlines_id = $accountlines_id
 EOT
        # FIXME: exceedingly bad form.  Use prepare with placholders ("?") in query and execute args.
 }
@@ -460,12 +459,12 @@ sub fixcredit {
             $newamtos   = $accdata->{'amountoutstanding'} - $amountleft;
             $amountleft = 0;
         }
-        my $thisacct = $accdata->{accountno};
+        my $thisacct = $accdata->{accountlines_id};
         my $usth     = $dbh->prepare(
             "UPDATE accountlines SET amountoutstanding= ?
-     WHERE (borrowernumber = ?) AND (accountno=?)"
+     WHERE (accountlines_id = ?)"
         );
-        $usth->execute( $newamtos, $borrowernumber, $thisacct );
+        $usth->execute( $newamtos, $thisacct );
         $usth->finish;
         $usth = $dbh->prepare(
             "INSERT INTO accountoffsets
@@ -499,12 +498,12 @@ sub fixcredit {
             $newamtos   = $accdata->{'amountoutstanding'} - $amountleft;
             $amountleft = 0;
         }
-        my $thisacct = $accdata->{accountno};
+        my $thisacct = $accdata->{accountlines_id};
         my $usth     = $dbh->prepare(
             "UPDATE accountlines SET amountoutstanding= ?
-     WHERE (borrowernumber = ?) AND (accountno=?)"
+     WHERE (accountlines_id = ?)"
         );
-        $usth->execute( $newamtos, $borrowernumber, $thisacct );
+        $usth->execute( $newamtos, $thisacct );
         $usth->finish;
         $usth = $dbh->prepare(
             "INSERT INTO accountoffsets
@@ -565,12 +564,12 @@ sub refund {
         }
 
         #     print $amountleft;
-        my $thisacct = $accdata->{accountno};
+        my $thisacct = $accdata->{accountlines_id};
         my $usth     = $dbh->prepare(
             "UPDATE accountlines SET amountoutstanding= ?
-     WHERE (borrowernumber = ?) AND (accountno=?)"
+     WHERE (accountlines_id = ?)"
         );
-        $usth->execute( $newamtos, $borrowernumber, $thisacct );
+        $usth->execute( $newamtos, $thisacct );
         $usth->finish;
         $usth = $dbh->prepare(
             "INSERT INTO accountoffsets
@@ -603,10 +602,10 @@ sub getcharges {
 }
 
 sub ModNote {
-    my ( $borrowernumber, $accountno, $note ) = @_;
+    my ( $accountlines_id, $note ) = @_;
     my $dbh = C4::Context->dbh;
-    my $sth = $dbh->prepare('UPDATE accountlines SET note = ? WHERE borrowernumber = ? AND accountno = ?');
-    $sth->execute( $note, $borrowernumber, $accountno );
+    my $sth = $dbh->prepare('UPDATE accountlines SET note = ? WHERE accountlines_id = ?');
+    $sth->execute( $note, $accountlines_id );
 }
 
 sub getcredits {
@@ -651,21 +650,21 @@ sub getrefunds {
 }
 
 sub ReversePayment {
-  my ( $borrowernumber, $accountno ) = @_;
-  my $dbh = C4::Context->dbh;
-  
-  my $sth = $dbh->prepare('SELECT amountoutstanding FROM accountlines WHERE borrowernumber = ? AND accountno = ?');
-  $sth->execute( $borrowernumber, $accountno );
-  my $row = $sth->fetchrow_hashref();
-  my $amount_outstanding = $row->{'amountoutstanding'};
-  
-  if ( $amount_outstanding <= 0 ) {
-    $sth = $dbh->prepare('UPDATE accountlines SET amountoutstanding = amount * -1, description = CONCAT( description, " Reversed -" ) WHERE borrowernumber = ? AND accountno = ?');
-    $sth->execute( $borrowernumber, $accountno );
-  } else {
-    $sth = $dbh->prepare('UPDATE accountlines SET amountoutstanding = 0, description = CONCAT( description, " Reversed -" ) WHERE borrowernumber = ? AND accountno = ?');
-    $sth->execute( $borrowernumber, $accountno );
-  }
+    my ( $accountlines_id ) = @_;
+    my $dbh = C4::Context->dbh;
+
+    my $sth = $dbh->prepare('SELECT amountoutstanding FROM accountlines WHERE accountlines_id = ?');
+    $sth->execute( $accountlines_id );
+    my $row = $sth->fetchrow_hashref();
+    my $amount_outstanding = $row->{'amountoutstanding'};
+
+    if ( $amount_outstanding <= 0 ) {
+        $sth = $dbh->prepare('UPDATE accountlines SET amountoutstanding = amount * -1, description = CONCAT( description, " Reversed -" ) WHERE accountlines_id = ?');
+        $sth->execute( $accountlines_id );
+    } else {
+        $sth = $dbh->prepare('UPDATE accountlines SET amountoutstanding = 0, description = CONCAT( description, " Reversed -" ) WHERE accountlines_id = ?');
+        $sth->execute( $accountlines_id );
+    }
 }
 
 =head2 recordpayment_selectaccts
@@ -709,7 +708,7 @@ sub recordpayment_selectaccts {
 
     # offset transactions
     my $sth     = $dbh->prepare('UPDATE accountlines SET amountoutstanding= ? ' .
-        'WHERE (borrowernumber = ?) AND (accountno=?)');
+        'WHERE accountlines_id=?');
     for my $accdata ( @{$rows} ) {
         if ($amountleft == 0) {
             last;
@@ -722,8 +721,8 @@ sub recordpayment_selectaccts {
             $newamtos   = $accdata->{amountoutstanding} - $amountleft;
             $amountleft = 0;
         }
-        my $thisacct = $accdata->{accountno};
-        $sth->execute( $newamtos, $borrowernumber, $thisacct );
+        my $thisacct = $accdata->{accountlines_id};
+        $sth->execute( $newamtos, $thisacct );
     }
 
     # create new line
@@ -738,7 +737,7 @@ sub recordpayment_selectaccts {
 # makepayment needs to be fixed to handle partials till then this separate subroutine
 # fills in
 sub makepartialpayment {
-    my ( $borrowernumber, $accountno, $amount, $user, $branch ) = @_;
+    my ( $accountlines_id, $borrowernumber, $accountno, $amount, $user, $branch ) = @_;
     my $manager_id = 0;
     $manager_id = C4::Context->userenv->{'number'} if C4::Context->userenv;
     if (!$amount || $amount < 0) {
@@ -750,19 +749,18 @@ sub makepartialpayment {
     my $newamtos    = 0;
 
     my $data = $dbh->selectrow_hashref(
-        'SELECT * FROM accountlines WHERE  borrowernumber=? AND accountno=?',undef,$borrowernumber,$accountno);
+        'SELECT * FROM accountlines WHERE  accountlines_id=?',undef,$accountlines_id);
     my $new_outstanding = $data->{amountoutstanding} - $amount;
 
-    my $update = 'UPDATE  accountlines SET amountoutstanding = ?  WHERE   borrowernumber = ? '
-    . ' AND   accountno = ?';
-    $dbh->do( $update, undef, $new_outstanding, $borrowernumber, $accountno);
+    my $update = 'UPDATE  accountlines SET amountoutstanding = ?  WHERE   accountlines_id = ? ';
+    $dbh->do( $update, undef, $new_outstanding, $accountlines_id);
 
     # create new line
     my $insert = 'INSERT INTO accountlines (borrowernumber, accountno, date, amount, '
     .  'description, accounttype, amountoutstanding, itemnumber, manager_id) '
     . ' VALUES (?, ?, now(), ?, ?, ?, 0, ?, ?)';
 
-    $dbh->do(  $insert, undef, $borrowernumber, $nextaccntno, $amount,
+    $dbh->do(  $insert, undef, $borrowernumber, $nextaccntno, 0 - $amount,
         "Payment, thanks - $user", 'Pay', $data->{'itemnumber'}, $manager_id);
 
     UpdateStats( $user, 'payment', $amount, '', '', '', $borrowernumber, $accountno );
index f6f5805..83031be 100644 (file)
@@ -56,7 +56,7 @@ BEGIN {
         &NewOrder &DelOrder &ModOrder &GetPendingOrders &GetOrder &GetOrders
         &GetOrderNumber &GetLateOrders &GetOrderFromItemnumber
         &SearchOrder &GetHistory &GetRecentAcqui
-        &ModReceiveOrder &ModOrderBiblioitemNumber
+        &ModReceiveOrder &CancelReceipt &ModOrderBiblioitemNumber
         &GetCancelledOrders
 
         &NewOrderItem &ModOrderItem &ModItemOrder
@@ -64,6 +64,14 @@ BEGIN {
         &GetParcels &GetParcel
         &GetContracts &GetContract
 
+        &GetInvoices
+        &GetInvoice
+        &GetInvoiceDetails
+        &AddInvoice
+        &ModInvoice
+        &CloseInvoice
+        &ReopenInvoice
+
         &GetItemnumbersFromOrder
 
         &AddClaim
@@ -165,7 +173,7 @@ sub GetBasket {
 =head3 NewBasket
 
   $basket = &NewBasket( $booksellerid, $authorizedby, $basketname, 
-      $basketnote, $basketbooksellernote, $basketcontractnumber );
+      $basketnote, $basketbooksellernote, $basketcontractnumber, $deliveryplace, $billingplace );
 
 Create a new basket in aqbasket table
 
@@ -181,10 +189,8 @@ The other parameters are optional, see ModBasketHeader for more info on them.
 
 =cut
 
-# FIXME : this function seems to be unused.
-
 sub NewBasket {
-    my ( $booksellerid, $authorisedby, $basketname, $basketnote, $basketbooksellernote, $basketcontractnumber ) = @_;
+    my ( $booksellerid, $authorisedby, $basketname, $basketnote, $basketbooksellernote, $basketcontractnumber, $deliveryplace, $billingplace ) = @_;
     my $dbh = C4::Context->dbh;
     my $query = "
         INSERT INTO aqbasket
@@ -195,7 +201,7 @@ sub NewBasket {
     $dbh->do($query);
 #find & return basketno MYSQL dependant, but $dbh->last_insert_id always returns null :-(
     my $basket = $dbh->{'mysql_insertid'};
-    ModBasketHeader($basket, $basketname || '', $basketnote || '', $basketbooksellernote || '', $basketcontractnumber || undef, $booksellerid);
+    ModBasketHeader($basket, $basketname || '', $basketnote || '', $basketbooksellernote || '', $basketcontractnumber || undef, $booksellerid, $deliveryplace || undef, $billingplace || undef );
     return $basket;
 }
 
@@ -257,8 +263,8 @@ sub GetBasketAsCSV {
             notes => $order->{'notes'},
             quantity => $order->{'quantity'},
             rrp => $order->{'rrp'},
-            deliveryplace => $basket->{'deliveryplace'},
-            billingplace => $basket->{'billingplace'}
+            deliveryplace => C4::Branch::GetBranchName( $basket->{'deliveryplace'} ),
+            billingplace => C4::Branch::GetBranchName( $basket->{'billingplace'} ),
         };
         foreach(qw(
             contractname author title publishercode collectiontitle notes
@@ -307,6 +313,7 @@ sub GetBasketGroupAsCSV {
         my @orders     = GetOrders( $$basket{basketno} );
         my $contract   = GetContract( $$basket{contractnumber} );
         my $bookseller = GetBookSellerFromId( $$basket{booksellerid} );
+        my $basketgroup = GetBasketgroup( $$basket{basketgroupid} );
 
         foreach my $order (@orders) {
             my $bd = GetBiblioData( $order->{'biblionumber'} );
@@ -331,6 +338,10 @@ sub GetBasketGroupAsCSV {
                 booksellerpostal => $bookseller->{postal},
                 contractnumber => $contract->{contractnumber},
                 contractname => $contract->{contractname},
+                basketgroupdeliveryplace => C4::Branch::GetBranchName( $basketgroup->{deliveryplace} ),
+                basketgroupbillingplace => C4::Branch::GetBranchName( $basketgroup->{billingplace} ),
+                basketdeliveryplace => C4::Branch::GetBranchName( $basket->{deliveryplace} ),
+                basketbillingplace => C4::Branch::GetBranchName( $basket->{billingplace} ),
             };
             foreach(qw(
                 basketname author title publishercode collectiontitle notes
@@ -478,17 +489,25 @@ Modifies a basket's header.
 
 =item C<$booksellerid> is the id (foreign) key in the "aqbooksellers" table for the vendor.
 
+=item C<$deliveryplace> is the "deliveryplace" field in the aqbasket table.
+
+=item C<$billingplace> is the "billingplace" field in the aqbasket table.
+
 =back
 
 =cut
 
 sub ModBasketHeader {
-    my ($basketno, $basketname, $note, $booksellernote, $contractnumber, $booksellerid) = @_;
+    my ($basketno, $basketname, $note, $booksellernote, $contractnumber, $booksellerid, $deliveryplace, $billingplace) = @_;
+    my $query = qq{
+        UPDATE aqbasket
+        SET basketname=?, note=?, booksellernote=?, booksellerid=?, deliveryplace=?, billingplace=?
+        WHERE basketno=?
+    };
 
-    my $query = "UPDATE aqbasket SET basketname=?, note=?, booksellernote=?, booksellerid=? WHERE basketno=?";
     my $dbh = C4::Context->dbh;
     my $sth = $dbh->prepare($query);
-    $sth->execute($basketname,$note,$booksellernote,$booksellerid,$basketno);
+    $sth->execute($basketname, $note, $booksellernote, $booksellerid, $deliveryplace, $billingplace, $basketno);
 
     if ( $contractnumber ) {
         my $query2 ="UPDATE aqbasket SET contractnumber=? WHERE basketno=?";
@@ -799,29 +818,23 @@ sub GetBasketgroups {
 
 =head3 GetPendingOrders
 
-  $orders = &GetPendingOrders($booksellerid, $grouped, $owner);
+$orders = &GetPendingOrders($supplierid,$grouped,$owner,$basketno,$ordernumber,$search,$ean);
 
 Finds pending orders from the bookseller with the given ID. Ignores
 completed and cancelled orders.
 
 C<$booksellerid> contains the bookseller identifier
-C<$grouped> contains 0 or 1. 0 means returns the list, 1 means return the total
 C<$owner> contains 0 or 1. 0 means any owner. 1 means only the list of orders entered by the user itself.
-
-C<$orders> is a reference-to-array; each element is a
-reference-to-hash with the following fields:
 C<$grouped> is a boolean that, if set to 1 will group all order lines of the same basket
 in a single result line
+C<$orders> is a reference-to-array; each element is a reference-to-hash.
 
-=over
-
-=item C<authorizedby>
+Used also by the filter in parcel.pl
+I have added:
 
-=item C<entrydate>
-
-=item C<basketno>
-
-=back
+C<$ordernumber>
+C<$search>
+C<$ean>
 
 These give the value of the corresponding field in the aqorders table
 of the Koha database.
@@ -831,41 +844,55 @@ Results are ordered from most to least recent.
 =cut
 
 sub GetPendingOrders {
-    my ($supplierid,$grouped,$owner,$basketno) = @_;
+    my ($supplierid,$grouped,$owner,$basketno,$ordernumber,$search,$ean) = @_;
     my $dbh = C4::Context->dbh;
     my $strsth = "
-        SELECT    ".($grouped?"count(*),":"")."aqbasket.basketno,
-                    surname,firstname,biblio.*,biblioitems.isbn,
-                    aqbasket.closedate, aqbasket.creationdate, aqbasket.basketname,
-                    aqorders.*
-        FROM      aqorders
+        SELECT ".($grouped?"count(*),":"")."aqbasket.basketno,
+               surname,firstname,biblio.*,biblioitems.isbn,
+               aqbasket.closedate, aqbasket.creationdate, aqbasket.basketname,
+               aqorders.*
+        FROM aqorders
         LEFT JOIN aqbasket ON aqbasket.basketno=aqorders.basketno
         LEFT JOIN borrowers ON aqbasket.authorisedby=borrowers.borrowernumber
         LEFT JOIN biblio ON biblio.biblionumber=aqorders.biblionumber
         LEFT JOIN biblioitems ON biblioitems.biblionumber=biblio.biblionumber
-        WHERE booksellerid=?
-            AND (quantity > quantityreceived OR quantityreceived is NULL)
-            AND datecancellationprinted IS NULL";
-    my @query_params = ( $supplierid );
+        WHERE (quantity > quantityreceived OR quantityreceived is NULL)
+        AND datecancellationprinted IS NULL";
+    my @query_params;
     my $userenv = C4::Context->userenv;
     if ( C4::Context->preference("IndependantBranches") ) {
         if ( ($userenv) && ( $userenv->{flags} != 1 ) ) {
-            $strsth .= " and (borrowers.branchcode = ?
+            $strsth .= " AND (borrowers.branchcode = ?
                         or borrowers.branchcode  = '')";
             push @query_params, $userenv->{branch};
         }
     }
-    if ($owner) {
-        $strsth .= " AND aqbasket.authorisedby=? ";
-        push @query_params, $userenv->{'number'};
+    if ($supplierid) {
+        $strsth .= " AND aqbasket.booksellerid = ?";
+        push @query_params, $supplierid;
+    }
+    if($ordernumber){
+        $strsth .= " AND (aqorders.ordernumber=?)";
+        push @query_params, $ordernumber;
+    }
+    if($search){
+        $strsth .= " AND (biblio.title like ? OR biblio.author LIKE ? OR biblioitems.isbn like ?)";
+        push @query_params, ("%$search%","%$search%","%$search%");
+    }
+    if ($ean) {
+        $strsth .= " AND biblioitems.ean = ?";
+        push @query_params, $ean;
     }
     if ($basketno) {
         $strsth .= " AND aqbasket.basketno=? ";
         push @query_params, $basketno;
     }
+    if ($owner) {
+        $strsth .= " AND aqbasket.authorisedby=? ";
+        push @query_params, $userenv->{'number'};
+    }
     $strsth .= " group by aqbasket.basketno" if $grouped;
     $strsth .= " order by aqbasket.basketno";
-
     my $sth = $dbh->prepare($strsth);
     $sth->execute( @query_params );
     my $results = $sth->fetchall_arrayref({});
@@ -1005,7 +1032,7 @@ Else, the upcoming July 1st is used.
 
 =item defaults entrydate to Now
 
-The following keys are used: "biblionumber", "title", "basketno", "quantity", "notes", "biblioitemnumber", "rrp", "ecost", "gst", "unitprice", "subscription", "sort1", "sort2", "booksellerinvoicenumber", "listprice", "budgetdate", "purchaseordernumber", "branchcode", "booksellerinvoicenumber", "bookfundid".
+The following keys are used: "biblionumber", "title", "basketno", "quantity", "notes", "biblioitemnumber", "rrp", "ecost", "gstrate", "unitprice", "subscription", "sort1", "sort2", "booksellerinvoicenumber", "listprice", "budgetdate", "purchaseordernumber", "branchcode", "booksellerinvoicenumber", "bookfundid".
 
 =back
 
@@ -1034,6 +1061,14 @@ sub NewOrder {
     }
 
     my $ordernumber=InsertInTable("aqorders",$orderinfo);
+    if (not $orderinfo->{parent_ordernumber}) {
+        my $sth = $dbh->prepare("
+            UPDATE aqorders
+            SET parent_ordernumber = ordernumber
+            WHERE ordernumber = ?
+        ");
+        $sth->execute($ordernumber);
+    }
     return ( $orderinfo->{'basketno'}, $ordernumber );
 }
 
@@ -1229,15 +1264,14 @@ sub GetCancelledOrders {
 =head3 ModReceiveOrder
 
   &ModReceiveOrder($biblionumber, $ordernumber, $quantityreceived, $user,
-    $unitprice, $booksellerinvoicenumber, $biblioitemnumber,
-    $freight, $bookfund, $rrp);
+    $unitprice, $invoiceid, $biblioitemnumber,
+    $bookfund, $rrp, \@received_itemnumbers);
 
 Updates an order, to reflect the fact that it was received, at least
 in part. All arguments not mentioned below update the fields with the
 same name in the aqorders table of the Koha database.
 
-If a partial order is received, splits the order into two.  The received
-portion must have a booksellerinvoicenumber.
+If a partial order is received, splits the order into two.
 
 Updates the order with bibilionumber C<$biblionumber> and ordernumber
 C<$ordernumber>.
@@ -1247,10 +1281,11 @@ C<$ordernumber>.
 
 sub ModReceiveOrder {
     my (
-        $biblionumber,    $ordernumber,  $quantrec, $user, $cost,
-        $invoiceno, $freight, $rrp, $budget_id, $datereceived, $received_items
+        $biblionumber,    $ordernumber,  $quantrec, $user, $cost, $ecost,
+        $invoiceid, $rrp, $budget_id, $datereceived, $received_items
     )
     = @_;
+
     my $dbh = C4::Context->dbh;
     $datereceived = C4::Dates->output('iso') unless $datereceived;
     my $suggestionid = GetSuggestionFromBiblionumber( $biblionumber );
@@ -1269,50 +1304,163 @@ sub ModReceiveOrder {
     my $order = $sth->fetchrow_hashref();
     $sth->finish();
 
+    my $new_ordernumber = $ordernumber;
     if ( $order->{quantity} > $quantrec ) {
+        # Split order line in two parts: the first is the original order line
+        # without received items (the quantity is decreased),
+        # the second part is a new order line with quantity=quantityrec
+        # (entirely received)
         $sth=$dbh->prepare("
             UPDATE aqorders
-            SET quantityreceived=?
-                , datereceived=?
-                , booksellerinvoicenumber=?
-                , unitprice=?
-                , freight=?
-                , rrp=?
-                , quantity=?
-            WHERE biblionumber=? AND ordernumber=?");
-
-        $sth->execute($quantrec,$datereceived,$invoiceno,$cost,$freight,$rrp,$quantrec,$biblionumber,$ordernumber);
+            SET quantity = ?
+            WHERE ordernumber = ?
+        ");
+
+        $sth->execute($order->{quantity} - $quantrec, $ordernumber);
+
         $sth->finish;
 
-        # create a new order for the remaining items, and set its bookfund.
-        foreach my $orderkey ( "linenumber", "allocation" ) {
-            delete($order->{'$orderkey'});
-        }
-        $order->{'quantity'} -= $quantrec;
-        $order->{'quantityreceived'} = 0;
-        my $newOrder = NewOrder($order);
-        # Change ordernumber in aqorders_items for items not received
-        my @orderitems = GetItemnumbersFromOrder( $order->{'ordernumber'} );
-        my $count = scalar @orderitems;
-
-        for (my $i=0; $i<$count; $i++){
-            foreach (@$received_items){
-                splice (@orderitems, $i, 1) if ($orderitems[$i] == $_);
+        delete $order->{'ordernumber'};
+        $order->{'quantity'} = $quantrec;
+        $order->{'quantityreceived'} = $quantrec;
+        $order->{'datereceived'} = $datereceived;
+        $order->{'invoiceid'} = $invoiceid;
+        $order->{'unitprice'} = $cost;
+        $order->{'rrp'} = $rrp;
+        $order->{ecost} = $ecost;
+        $order->{'orderstatus'} = 3;    # totally received
+        $new_ordernumber = NewOrder($order);
+
+        if ($received_items) {
+            foreach my $itemnumber (@$received_items) {
+                ModItemOrder($itemnumber, $new_ordernumber);
             }
         }
-        foreach (@orderitems) {
-            ModItemOrder($_, $newOrder);
-        }
     } else {
         $sth=$dbh->prepare("update aqorders
-                            set quantityreceived=?,datereceived=?,booksellerinvoicenumber=?,
-                                unitprice=?,freight=?,rrp=?
+                            set quantityreceived=?,datereceived=?,invoiceid=?,
+                                unitprice=?,rrp=?,ecost=?
                             where biblionumber=? and ordernumber=?");
-        $sth->execute($quantrec,$datereceived,$invoiceno,$cost,$freight,$rrp,$biblionumber,$ordernumber);
+        $sth->execute($quantrec,$datereceived,$invoiceid,$cost,$rrp,$ecost,$biblionumber,$ordernumber);
         $sth->finish;
     }
-    return $datereceived;
+    return ($datereceived, $new_ordernumber);
+}
+
+=head3 CancelReceipt
+
+    my $parent_ordernumber = CancelReceipt($ordernumber);
+
+    Cancel an order line receipt and update the parent order line, as if no
+    receipt was made.
+    If items are created at receipt (AcqCreateItem = receiving) then delete
+    these items.
+
+=cut
+
+sub CancelReceipt {
+    my $ordernumber = shift;
+
+    return unless $ordernumber;
+
+    my $dbh = C4::Context->dbh;
+    my $query = qq{
+        SELECT datereceived, parent_ordernumber, quantity
+        FROM aqorders
+        WHERE ordernumber = ?
+    };
+    my $sth = $dbh->prepare($query);
+    $sth->execute($ordernumber);
+    my $order = $sth->fetchrow_hashref;
+    unless($order) {
+        warn "CancelReceipt: order $ordernumber does not exist";
+        return;
+    }
+    unless($order->{'datereceived'}) {
+        warn "CancelReceipt: order $ordernumber is not received";
+        return;
+    }
+
+    my $parent_ordernumber = $order->{'parent_ordernumber'};
+
+    if($parent_ordernumber == $ordernumber || not $parent_ordernumber) {
+        # The order line has no parent, just mark it as not received
+        $query = qq{
+            UPDATE aqorders
+            SET quantityreceived = ?,
+                datereceived = ?,
+                invoiceid = ?
+            WHERE ordernumber = ?
+        };
+        $sth = $dbh->prepare($query);
+        $sth->execute(0, undef, undef, $ordernumber);
+    } else {
+        # The order line has a parent, increase parent quantity and delete
+        # the order line.
+        $query = qq{
+            SELECT quantity, datereceived
+            FROM aqorders
+            WHERE ordernumber = ?
+        };
+        $sth = $dbh->prepare($query);
+        $sth->execute($parent_ordernumber);
+        my $parent_order = $sth->fetchrow_hashref;
+        unless($parent_order) {
+            warn "Parent order $parent_ordernumber does not exist.";
+            return;
+        }
+        if($parent_order->{'datereceived'}) {
+            warn "CancelReceipt: parent order is received.".
+                " Can't cancel receipt.";
+            return;
+        }
+        $query = qq{
+            UPDATE aqorders
+            SET quantity = ?
+            WHERE ordernumber = ?
+        };
+        $sth = $dbh->prepare($query);
+        my $rv = $sth->execute(
+            $order->{'quantity'} + $parent_order->{'quantity'},
+            $parent_ordernumber
+        );
+        unless($rv) {
+            warn "Cannot update parent order line, so do not cancel".
+                " receipt";
+            return;
+        }
+        if(C4::Context->preference('AcqCreateItem') eq 'receiving') {
+            # Remove items that were created at receipt
+            $query = qq{
+                DELETE FROM items, aqorders_items
+                USING items, aqorders_items
+                WHERE items.itemnumber = ? AND aqorders_items.itemnumber = ?
+            };
+            $sth = $dbh->prepare($query);
+            my @itemnumbers = GetItemnumbersFromOrder($ordernumber);
+            foreach my $itemnumber (@itemnumbers) {
+                $sth->execute($itemnumber, $itemnumber);
+            }
+        } else {
+            # Update items
+            my @itemnumbers = GetItemnumbersFromOrder($ordernumber);
+            foreach my $itemnumber (@itemnumbers) {
+                ModItemOrder($itemnumber, $parent_ordernumber);
+            }
+        }
+        # Delete order line
+        $query = qq{
+            DELETE FROM aqorders
+            WHERE ordernumber = ?
+        };
+        $sth = $dbh->prepare($query);
+        $sth->execute($ordernumber);
+
+    }
+
+    return $parent_ordernumber;
 }
+
 #------------------------------------------------------------#
 
 =head3 SearchOrder
@@ -1456,20 +1604,23 @@ sub GetParcel {
                 firstname,
                 aqorders.biblionumber,
                 aqorders.ordernumber,
+                aqorders.parent_ordernumber,
                 aqorders.quantity,
                 aqorders.quantityreceived,
                 aqorders.unitprice,
                 aqorders.listprice,
                 aqorders.rrp,
                 aqorders.ecost,
+                aqorders.gstrate,
                 biblio.title
         FROM aqorders
         LEFT JOIN aqbasket ON aqbasket.basketno=aqorders.basketno
         LEFT JOIN borrowers ON aqbasket.authorisedby=borrowers.borrowernumber
         LEFT JOIN biblio ON aqorders.biblionumber=biblio.biblionumber
+        LEFT JOIN aqinvoices ON aqorders.invoiceid = aqinvoices.invoiceid
         WHERE
             aqbasket.booksellerid = ?
-            AND aqorders.booksellerinvoicenumber LIKE ?
+            AND aqinvoices.invoicenumber LIKE ?
             AND aqorders.datereceived = ? ";
 
     my @query_params = ( $supplierid, $code, $datereceived );
@@ -1542,18 +1693,19 @@ sub GetParcels {
     my $dbh    = C4::Context->dbh;
     my @query_params = ();
     my $strsth ="
-        SELECT  aqorders.booksellerinvoicenumber,
+        SELECT  aqinvoices.invoicenumber,
                 datereceived,purchaseordernumber,
                 count(DISTINCT biblionumber) AS biblio,
                 sum(quantity) AS itemsexpected,
                 sum(quantityreceived) AS itemsreceived
         FROM   aqorders LEFT JOIN aqbasket ON aqbasket.basketno = aqorders.basketno
+        LEFT JOIN aqinvoices ON aqorders.invoiceid = aqinvoices.invoiceid
         WHERE aqbasket.booksellerid = ? and datereceived IS NOT NULL
     ";
     push @query_params, $bookseller;
 
     if ( defined $code ) {
-        $strsth .= ' and aqorders.booksellerinvoicenumber like ? ';
+        $strsth .= ' and aqinvoices.invoicenumber like ? ';
         # add a % to the end of the code to allow stemming.
         push @query_params, "$code%";
     }
@@ -1568,7 +1720,7 @@ sub GetParcels {
         push @query_params, $dateto;
     }
 
-    $strsth .= "group by aqorders.booksellerinvoicenumber,datereceived ";
+    $strsth .= "group by aqinvoices.invoicenumber,datereceived ";
 
     # can't use a placeholder to place this column name.
     # but, we could probably be checking to make sure it is a column that will be fetched.
@@ -1676,16 +1828,19 @@ sub GetLateOrders {
         $from .= ' AND borrowers.branchcode LIKE ? ';
         push @query_params, $branch;
     }
+
+    if ( defined $estimateddeliverydatefrom or defined $estimateddeliverydateto ) {
+        $from .= ' AND aqbooksellers.deliverytime IS NOT NULL ';
+    }
     if ( defined $estimateddeliverydatefrom ) {
-        $from .= '
-            AND aqbooksellers.deliverytime IS NOT NULL
-            AND ADDDATE(aqbasket.closedate, INTERVAL aqbooksellers.deliverytime DAY) >= ?';
+        $from .= ' AND ADDDATE(aqbasket.closedate, INTERVAL aqbooksellers.deliverytime DAY) >= ?';
         push @query_params, $estimateddeliverydatefrom;
     }
-    if ( defined $estimateddeliverydatefrom and defined $estimateddeliverydateto ) {
+    if ( defined $estimateddeliverydateto ) {
         $from .= ' AND ADDDATE(aqbasket.closedate, INTERVAL aqbooksellers.deliverytime DAY) <= ?';
         push @query_params, $estimateddeliverydateto;
-    } elsif ( defined $estimateddeliverydatefrom ) {
+    }
+    if ( defined $estimateddeliverydatefrom and not defined $estimateddeliverydateto ) {
         $from .= ' AND ADDDATE(aqbasket.closedate, INTERVAL aqbooksellers.deliverytime DAY) <= CAST(now() AS date)';
     }
     if (C4::Context->preference("IndependantBranches")
@@ -1761,6 +1916,7 @@ sub GetHistory {
     my $to_placed_on = $params{to_placed_on};
     my $basket = $params{basket};
     my $booksellerinvoicenumber = $params{booksellerinvoicenumber};
+    my $basketgroupname = $params{basketgroupname};
     my @order_loop;
     my $total_qty         = 0;
     my $total_qtyreceived = 0;
@@ -1784,7 +1940,7 @@ sub GetHistory {
             aqorders.quantityreceived,
             aqorders.ecost,
             aqorders.ordernumber,
-            aqorders.booksellerinvoicenumber as invoicenumber,
+            aqinvoices.invoicenumber,
             aqbooksellers.id as id,
             aqorders.biblionumber
         FROM aqorders
@@ -1792,7 +1948,8 @@ sub GetHistory {
         LEFT JOIN aqbasketgroups ON aqbasket.basketgroupid=aqbasketgroups.id
         LEFT JOIN aqbooksellers ON aqbasket.booksellerid=aqbooksellers.id
        LEFT JOIN biblioitems ON biblioitems.biblionumber=aqorders.biblionumber
-        LEFT JOIN biblio ON biblio.biblionumber=aqorders.biblionumber";
+        LEFT JOIN biblio ON biblio.biblionumber=aqorders.biblionumber
+    LEFT JOIN aqinvoices ON aqorders.invoiceid = aqinvoices.invoiceid";
 
     $query .= " LEFT JOIN borrowers ON aqbasket.authorisedby=borrowers.borrowernumber"
     if ( C4::Context->preference("IndependantBranches") );
@@ -1846,8 +2003,13 @@ sub GetHistory {
     }
 
     if ($booksellerinvoicenumber) {
-        $query .= " AND (aqorders.booksellerinvoicenumber LIKE ? OR aqbasket.booksellerinvoicenumber LIKE ?)";
-        push @query_params, "%$booksellerinvoicenumber%", "%$booksellerinvoicenumber%";
+        $query .= " AND aqinvoices.invoicenumber LIKE ? ";
+        push @query_params, "%$booksellerinvoicenumber%";
+    }
+
+    if ($basketgroupname) {
+        $query .= " AND aqbasketgroups.name LIKE ? ";
+        push @query_params, "%$basketgroupname%";
     }
 
     if ( C4::Context->preference("IndependantBranches") ) {
@@ -1988,7 +2150,345 @@ sub AddClaim {
         ";
     my $sth = $dbh->prepare($query);
     $sth->execute($ordernumber);
+}
+
+=head3 GetInvoices
+
+    my @invoices = GetInvoices(
+        invoicenumber => $invoicenumber,
+        suppliername => $suppliername,
+        shipmentdatefrom => $shipmentdatefrom, # ISO format
+        shipmentdateto => $shipmentdateto, # ISO format
+        billingdatefrom => $billingdatefrom, # ISO format
+        billingdateto => $billingdateto, # ISO format
+        isbneanissn => $isbn_or_ean_or_issn,
+        title => $title,
+        author => $author,
+        publisher => $publisher,
+        publicationyear => $publicationyear,
+        branchcode => $branchcode,
+        order_by => $order_by
+    );
+
+Return a list of invoices that match all given criteria.
 
+$order_by is "column_name (asc|desc)", where column_name is any of
+'invoicenumber', 'booksellerid', 'shipmentdate', 'billingdate', 'closedate',
+'shipmentcost', 'shipmentcost_budgetid'.
+
+asc is the default if omitted
+
+=cut
+
+sub GetInvoices {
+    my %args = @_;
+
+    my @columns = qw(invoicenumber booksellerid shipmentdate billingdate
+        closedate shipmentcost shipmentcost_budgetid);
+
+    my $dbh = C4::Context->dbh;
+    my $query = qq{
+        SELECT aqinvoices.*, aqbooksellers.name AS suppliername,
+          COUNT(
+            DISTINCT IF(
+              aqorders.datereceived IS NOT NULL,
+              aqorders.biblionumber,
+              NULL
+            )
+          ) AS receivedbiblios,
+          SUM(aqorders.quantityreceived) AS receiveditems
+        FROM aqinvoices
+          LEFT JOIN aqbooksellers ON aqbooksellers.id = aqinvoices.booksellerid
+          LEFT JOIN aqorders ON aqorders.invoiceid = aqinvoices.invoiceid
+          LEFT JOIN biblio ON aqorders.biblionumber = biblio.biblionumber
+          LEFT JOIN biblioitems ON biblio.biblionumber = biblioitems.biblionumber
+          LEFT JOIN subscription ON biblio.biblionumber = subscription.biblionumber
+    };
+
+    my @bind_args;
+    my @bind_strs;
+    if($args{supplierid}) {
+        push @bind_strs, " aqinvoices.booksellerid = ? ";
+        push @bind_args, $args{supplierid};
+    }
+    if($args{invoicenumber}) {
+        push @bind_strs, " aqinvoices.invoicenumber LIKE ? ";
+        push @bind_args, "%$args{invoicenumber}%";
+    }
+    if($args{suppliername}) {
+        push @bind_strs, " aqbooksellers.name LIKE ? ";
+        push @bind_args, "%$args{suppliername}%";
+    }
+    if($args{shipmentdatefrom}) {
+        push @bind_strs, " aqinvoices.shipementdate >= ? ";
+        push @bind_args, $args{shipmentdatefrom};
+    }
+    if($args{shipmentdateto}) {
+        push @bind_strs, " aqinvoices.shipementdate <= ? ";
+        push @bind_args, $args{shipmentdateto};
+    }
+    if($args{billingdatefrom}) {
+        push @bind_strs, " aqinvoices.billingdate >= ? ";
+        push @bind_args, $args{billingdatefrom};
+    }
+    if($args{billingdateto}) {
+        push @bind_strs, " aqinvoices.billingdate <= ? ";
+        push @bind_args, $args{billingdateto};
+    }
+    if($args{isbneanissn}) {
+        push @bind_strs, " (biblioitems.isbn LIKE ? OR biblioitems.ean LIKE ? OR biblioitems.issn LIKE ? ) ";
+        push @bind_args, $args{isbneanissn}, $args{isbneanissn}, $args{isbneanissn};
+    }
+    if($args{title}) {
+        push @bind_strs, " biblio.title LIKE ? ";
+        push @bind_args, $args{title};
+    }
+    if($args{author}) {
+        push @bind_strs, " biblio.author LIKE ? ";
+        push @bind_args, $args{author};
+    }
+    if($args{publisher}) {
+        push @bind_strs, " biblioitems.publishercode LIKE ? ";
+        push @bind_args, $args{publisher};
+    }
+    if($args{publicationyear}) {
+        push @bind_strs, " biblioitems.publicationyear = ? ";
+        push @bind_args, $args{publicationyear};
+    }
+    if($args{branchcode}) {
+        push @bind_strs, " aqorders.branchcode = ? ";
+        push @bind_args, $args{branchcode};
+    }
+
+    $query .= " WHERE " . join(" AND ", @bind_strs) if @bind_strs;
+    $query .= " GROUP BY aqinvoices.invoiceid ";
+
+    if($args{order_by}) {
+        my ($column, $direction) = split / /, $args{order_by};
+        if(grep /^$column$/, @columns) {
+            $direction ||= 'ASC';
+            $query .= " ORDER BY $column $direction";
+        }
+    }
+
+    my $sth = $dbh->prepare($query);
+    $sth->execute(@bind_args);
+
+    my $results = $sth->fetchall_arrayref({});
+    return @$results;
+}
+
+=head3 GetInvoice
+
+    my $invoice = GetInvoice($invoiceid);
+
+Get informations about invoice with given $invoiceid
+
+Return a hash filled with aqinvoices.* fields
+
+=cut
+
+sub GetInvoice {
+    my ($invoiceid) = @_;
+    my $invoice;
+
+    return unless $invoiceid;
+
+    my $dbh = C4::Context->dbh;
+    my $query = qq{
+        SELECT *
+        FROM aqinvoices
+        WHERE invoiceid = ?
+    };
+    my $sth = $dbh->prepare($query);
+    $sth->execute($invoiceid);
+
+    $invoice = $sth->fetchrow_hashref;
+    return $invoice;
+}
+
+=head3 GetInvoiceDetails
+
+    my $invoice = GetInvoiceDetails($invoiceid)
+
+Return informations about an invoice + the list of related order lines
+
+Orders informations are in $invoice->{orders} (array ref)
+
+=cut
+
+sub GetInvoiceDetails {
+    my ($invoiceid) = @_;
+    my $invoice;
+
+    return unless $invoiceid;
+
+    my $dbh = C4::Context->dbh;
+    my $query = qq{
+        SELECT aqinvoices.*, aqbooksellers.name AS suppliername
+        FROM aqinvoices
+          LEFT JOIN aqbooksellers ON aqinvoices.booksellerid = aqbooksellers.id
+        WHERE invoiceid = ?
+    };
+    my $sth = $dbh->prepare($query);
+    $sth->execute($invoiceid);
+
+    $invoice = $sth->fetchrow_hashref;
+
+    $query = qq{
+        SELECT aqorders.*, biblio.*
+        FROM aqorders
+          LEFT JOIN biblio ON aqorders.biblionumber = biblio.biblionumber
+        WHERE invoiceid = ?
+    };
+    $sth = $dbh->prepare($query);
+    $sth->execute($invoiceid);
+    $invoice->{orders} = $sth->fetchall_arrayref({});
+    $invoice->{orders} ||= []; # force an empty arrayref if fetchall_arrayref fails
+
+    return $invoice;
+}
+
+=head3 AddInvoice
+
+    my $invoiceid = AddInvoice(
+        invoicenumber => $invoicenumber,
+        booksellerid => $booksellerid,
+        shipmentdate => $shipmentdate,
+        billingdate => $billingdate,
+        closedate => $closedate,
+        shipmentcost => $shipmentcost,
+        shipmentcost_budgetid => $shipmentcost_budgetid
+    );
+
+Create a new invoice and return its id or undef if it fails.
+
+=cut
+
+sub AddInvoice {
+    my %invoice = @_;
+
+    return unless(%invoice and $invoice{invoicenumber});
+
+    my @columns = qw(invoicenumber booksellerid shipmentdate billingdate
+        closedate shipmentcost shipmentcost_budgetid);
+
+    my @set_strs;
+    my @set_args;
+    foreach my $key (keys %invoice) {
+        if(0 < grep(/^$key$/, @columns)) {
+            push @set_strs, "$key = ?";
+            push @set_args, ($invoice{$key} || undef);
+        }
+    }
+
+    my $rv;
+    if(@set_args > 0) {
+        my $dbh = C4::Context->dbh;
+        my $query = "INSERT INTO aqinvoices SET ";
+        $query .= join (",", @set_strs);
+        my $sth = $dbh->prepare($query);
+        $rv = $sth->execute(@set_args);
+        if($rv) {
+            $rv = $dbh->last_insert_id(undef, undef, 'aqinvoices', undef);
+        }
+    }
+    return $rv;
+}
+
+=head3 ModInvoice
+
+    ModInvoice(
+        invoiceid => $invoiceid,    # Mandatory
+        invoicenumber => $invoicenumber,
+        booksellerid => $booksellerid,
+        shipmentdate => $shipmentdate,
+        billingdate => $billingdate,
+        closedate => $closedate,
+        shipmentcost => $shipmentcost,
+        shipmentcost_budgetid => $shipmentcost_budgetid
+    );
+
+Modify an invoice, invoiceid is mandatory.
+
+Return undef if it fails.
+
+=cut
+
+sub ModInvoice {
+    my %invoice = @_;
+
+    return unless(%invoice and $invoice{invoiceid});
+
+    my @columns = qw(invoicenumber booksellerid shipmentdate billingdate
+        closedate shipmentcost shipmentcost_budgetid);
+
+    my @set_strs;
+    my @set_args;
+    foreach my $key (keys %invoice) {
+        if(0 < grep(/^$key$/, @columns)) {
+            push @set_strs, "$key = ?";
+            push @set_args, ($invoice{$key} || undef);
+        }
+    }
+
+    my $dbh = C4::Context->dbh;
+    my $query = "UPDATE aqinvoices SET ";
+    $query .= join(",", @set_strs);
+    $query .= " WHERE invoiceid = ?";
+
+    my $sth = $dbh->prepare($query);
+    $sth->execute(@set_args, $invoice{invoiceid});
+}
+
+=head3 CloseInvoice
+
+    CloseInvoice($invoiceid);
+
+Close an invoice.
+
+Equivalent to ModInvoice(invoiceid => $invoiceid, closedate => undef);
+
+=cut
+
+sub CloseInvoice {
+    my ($invoiceid) = @_;
+
+    return unless $invoiceid;
+
+    my $dbh = C4::Context->dbh;
+    my $query = qq{
+        UPDATE aqinvoices
+        SET closedate = CAST(NOW() AS DATE)
+        WHERE invoiceid = ?
+    };
+    my $sth = $dbh->prepare($query);
+    $sth->execute($invoiceid);
+}
+
+=head3 ReopenInvoice
+
+    ReopenInvoice($invoiceid);
+
+Reopen an invoice
+
+Equivalent to ModInvoice(invoiceid => $invoiceid, closedate => C4::Dates->new()->output('iso'))
+
+=cut
+
+sub ReopenInvoice {
+    my ($invoiceid) = @_;
+
+    return unless $invoiceid;
+
+    my $dbh = C4::Context->dbh;
+    my $query = qq{
+        UPDATE aqinvoices
+        SET closedate = NULL
+        WHERE invoiceid = ?
+    };
+    my $sth = $dbh->prepare($query);
+    $sth->execute($invoiceid);
 }
 
 1;
index 59c9955..4a8e955 100644 (file)
@@ -18,7 +18,7 @@ package C4::Auth;
 # 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
 
 use strict;
-#use warnings; FIXME - Bug 2505
+use warnings;
 use Digest::MD5 qw(md5_base64);
 use Storable qw(thaw freeze);
 use URI::Escape;
@@ -129,6 +129,7 @@ my $SEARCH_HISTORY_INSERT_SQL =<<EOQ;
 INSERT INTO search_history(userid, sessionid, query_desc, query_cgi, total, time            )
 VALUES                    (     ?,         ?,          ?,         ?,          ?, FROM_UNIXTIME(?))
 EOQ
+
 sub get_template_and_user {
     my $in       = shift;
     my $template =
@@ -402,6 +403,7 @@ sub get_template_and_user {
             OpacShowRecentComments    => C4::Context->preference("OpacShowRecentComments"),
             OPACURLOpenInNewWindow    => "" . C4::Context->preference("OPACURLOpenInNewWindow"),
             OPACUserCSS               => "". C4::Context->preference("OPACUserCSS"),
+            OPACMobileUserCSS         => "". C4::Context->preference("OPACMobileUserCSS"),
             OPACViewOthersSuggestions => "" . C4::Context->preference("OPACViewOthersSuggestions"),
             OpacAuthorities           => C4::Context->preference("OpacAuthorities"),
             OPACBaseURL               => ($in->{'query'}->https() ? "https://" : "http://") . $ENV{'SERVER_NAME'} .
@@ -413,6 +415,9 @@ sub get_template_and_user {
             OpacCloud                 => C4::Context->preference("OpacCloud"),
             OpacKohaUrl               => C4::Context->preference("OpacKohaUrl"),
             OpacMainUserBlock         => "" . C4::Context->preference("OpacMainUserBlock"),
+            OpacMainUserBlockMobile   => "" . C4::Context->preference("OpacMainUserBlockMobile"),
+            OpacShowFiltersPulldownMobile => C4::Context->preference("OpacShowFiltersPulldownMobile"),
+            OpacShowLibrariesPulldownMobile => C4::Context->preference("OpacShowLibrariesPulldownMobile"),
             OpacNav                   => "" . C4::Context->preference("OpacNav"),
             OpacNavRight              => "" . C4::Context->preference("OpacNavRight"),
             OpacNavBottom             => "" . C4::Context->preference("OpacNavBottom"),
@@ -542,7 +547,7 @@ has authenticated.
 
 =cut
 
-sub _version_check ($$) {
+sub _version_check {
     my $type = shift;
     my $query = shift;
     my $version;
@@ -587,9 +592,18 @@ sub _version_check ($$) {
 
 sub _session_log {
     (@_) or return 0;
-    open L, ">>/tmp/sessionlog" or warn "ERROR: Cannot append to /tmp/sessionlog";
-    printf L join("\n",@_);
-    close L;
+    open my $fh, '>>', "/tmp/sessionlog" or warn "ERROR: Cannot append to /tmp/sessionlog";
+    printf $fh join("\n",@_);
+    close $fh;
+}
+
+sub _timeout_syspref {
+    my $timeout = C4::Context->preference('timeout') || 600;
+    # value in days, convert in seconds
+    if ($timeout =~ /(\d+)[dD]/) {
+        $timeout = $1 * 86400;
+    };
+    return $timeout;
 }
 
 sub checkauth {
@@ -602,12 +616,7 @@ sub checkauth {
     $type = 'opac' unless $type;
 
     my $dbh     = C4::Context->dbh;
-    my $timeout = C4::Context->preference('timeout');
-    # days
-    if ($timeout =~ /(\d+)[dD]/) {
-        $timeout = $1 * 86400;
-    };
-    $timeout = 600 unless $timeout;
+    my $timeout = _timeout_syspref();
 
     _version_check($type,$query);
     # state variables
@@ -648,7 +657,7 @@ sub checkauth {
             $ip       = $session->param('ip');
             $lasttime = $session->param('lasttime');
             $userid   = $session->param('id');
-                       $sessiontype = $session->param('sessiontype');
+            $sessiontype = $session->param('sessiontype') || '';
         }
         if ( ( ($query->param('koha_login_context')) && ($query->param('userid') ne $session->param('id')) )
           || ( $cas && $query->param('ticket') ) ) {
@@ -964,6 +973,7 @@ sub checkauth {
         intranetstylesheet => C4::Context->preference("intranetstylesheet"),
         intranetbookbag    => C4::Context->preference("intranetbookbag"),
         IntranetNav        => C4::Context->preference("IntranetNav"),
+        IntranetFavicon    => C4::Context->preference("IntranetFavicon"),
         intranetuserjs     => C4::Context->preference("intranetuserjs"),
         IndependantBranches=> C4::Context->preference("IndependantBranches"),
         AutoLocation       => C4::Context->preference("AutoLocation"),
@@ -1053,8 +1063,7 @@ sub check_api_auth {
     my $flagsrequired = shift;
 
     my $dbh     = C4::Context->dbh;
-    my $timeout = C4::Context->preference('timeout');
-    $timeout = 600 unless $timeout;
+    my $timeout = _timeout_syspref();
 
     unless (C4::Context->preference('Version')) {
         # database has not been installed yet
@@ -1286,8 +1295,7 @@ sub check_cookie_auth {
     my $flagsrequired = shift;
 
     my $dbh     = C4::Context->dbh;
-    my $timeout = C4::Context->preference('timeout');
-    $timeout = 600 unless $timeout;
+    my $timeout = _timeout_syspref();
 
     unless (C4::Context->preference('Version')) {
         # database has not been installed yet
@@ -1487,7 +1495,13 @@ sub getuserflags {
     my $userid  = shift;
     my $dbh     = @_ ? shift : C4::Context->dbh;
     my $userflags;
-    $flags = 0 unless $flags;
+    {
+        # I don't want to do this, but if someone logs in as the database
+        # user, it would be preferable not to spam them to death with
+        # numeric warnings. So, we make $flags numeric.
+        no warnings 'numeric';
+        $flags += 0;
+    }
     my $sth = $dbh->prepare("SELECT bit, flag, defaulton FROM userflags");
     $sth->execute;
 
index 0d00218..2f2bb27 100644 (file)
@@ -47,7 +47,7 @@ BEGIN {
 # ~ then gets the LDAP entry
 # ~ and calls the memberadd if necessary
 
-sub ldapserver_error ($) {
+sub ldapserver_error {
        return sprintf('No ldapserver "%s" defined in KOHA_CONF: ' . $ENV{KOHA_CONF}, shift);
 }
 
@@ -70,8 +70,8 @@ my %config = (
        update => defined($ldap->{update}   ) ? $ldap->{update}    : 1,  # update from LDAP to Koha database for existing user
 );
 
-sub description ($) {
-       my $result = shift or return undef;
+sub description {
+       my $result = shift or return;
        return "LDAP error #" . $result->code
                        . ": " . $result->error_name . "\n"
                        . "# " . $result->error_text . "\n";
@@ -197,7 +197,7 @@ return(1, $cardnumber, $userid);
 # Edit KOHA_CONF so $memberhash{'xxx'} fits your ldap structure.
 # Ensure that mandatory fields are correctly filled!
 #
-sub ldap_entry_2_hash ($$) {
+sub ldap_entry_2_hash {
        my $userldapentry = shift;
        my %borrower = ( cardnumber => shift );
        my %memberhash;
@@ -209,7 +209,7 @@ sub ldap_entry_2_hash ($$) {
                        hashdump("LDAP key: ",$userldapentry->{$_});
                }
        }
-       my $x = $userldapentry->{attrs} or return undef;
+       my $x = $userldapentry->{attrs} or return;
        foreach (keys %$x) {
                $memberhash{$_} = join ' ', @{$x->{$_}};        
                $debug and print STDERR sprintf("building \$memberhash{%s} = ", $_, join(' ', @{$x->{$_}})), "\n";
@@ -242,7 +242,7 @@ sub ldap_entry_2_hash ($$) {
        return %borrower;
 }
 
-sub exists_local($) {
+sub exists_local {
        my $arg = shift;
        my $dbh = C4::Context->dbh;
        my $select = "SELECT borrowernumber,cardnumber,userid,password FROM borrowers ";
@@ -271,16 +271,16 @@ sub _do_changepassword {
                my ($md5password, $cardnum) = $sth->fetchrow;
         ($digest eq $md5password) and return $cardnum;
                warn "Password mismatch after update to cardnumber=$cardnum (borrowernumber=$borrowerid)";
-               return undef;
+               return;
        }
        die "Unexpected error after password update to userid/borrowernumber: $userid / $borrowerid.";
 }
 
-sub update_local($$$$) {
-       my   $userid   = shift             or return undef;
-       my   $digest   = md5_base64(shift) or return undef;
-       my $borrowerid = shift             or return undef;
-       my $borrower   = shift             or return undef;
+sub update_local {
+       my   $userid   = shift             or return;
+       my   $digest   = md5_base64(shift) or return;
+       my $borrowerid = shift             or return;
+       my $borrower   = shift             or return;
        my @keys = keys %$borrower;
        my $dbh = C4::Context->dbh;
        my $query = "UPDATE  borrowers\nSET     " . 
index 1f440df..2671cd4 100644 (file)
@@ -26,6 +26,7 @@ use C4::AuthoritiesMarc::MARC21;
 use C4::AuthoritiesMarc::UNIMARC;
 use C4::Charset;
 use C4::Log;
+use Koha::Authority;
 
 use vars qw($VERSION @ISA @EXPORT);
 
@@ -52,8 +53,9 @@ BEGIN {
        &SearchAuthorities
     
         &BuildSummary
-       &BuildUnimarcHierarchies
-       &BuildUnimarcHierarchy
+        &BuildAuthHierarchies
+        &BuildAuthHierarchy
+        &GenerateHierarchy
     
        &merge
        &FindDuplicateAuthority
@@ -199,22 +201,24 @@ sub SearchAuthorities {
         }
     } else {
         my $query;
-        my $attr;
+        my $attr = '';
             # the marclist may contain "mainentry". In this case, search the tag_to_report, that depends on
             # the authtypecode. Then, search on $a of this tag_to_report
             # also store main entry MARC tag, to extract it at end of search
         my $mainentrytag;
         ##first set the authtype search and may be multiple authorities
-        my $n=0;
-        my @authtypecode;
-        my @auths=split / /,$authtypecode ;
-        foreach my  $auth (@auths){
-            $query .=" \@attr 1=authtype \@attr 5=100 ".$auth; ##No truncation on authtype
-            push @authtypecode ,$auth;
-            $n++;
-        }
-        if ($n>1){
-            while ($n>1){$query= "\@or ".$query;$n--;}
+        if ($authtypecode) {
+            my $n=0;
+            my @authtypecode;
+            my @auths=split / /,$authtypecode ;
+            foreach my  $auth (@auths){
+                $query .=" \@attr 1=authtype \@attr 5=100 ".$auth; ##No truncation on authtype
+                    push @authtypecode ,$auth;
+                $n++;
+            }
+            if ($n>1){
+                while ($n>1){$query= "\@or ".$query;$n--;}
+            }
         }
         
         my $dosearch;
@@ -230,9 +234,6 @@ sub SearchAuthorities {
                 elsif ( @$tags[$i] eq "mainentry" ) {
                     $attr = " \@attr 1=Heading ";
                 }
-                elsif ( @$tags[$i] eq "any" ) {
-                    $attr = " \@attr 1=Any ";
-                }
                 elsif ( @$tags[$i] eq "match" ) {
                     $attr = " \@attr 1=Match ";
                 }
@@ -245,6 +246,9 @@ sub SearchAuthorities {
                 elsif ( @$tags[$i] eq "thesaurus" ) {
                     $attr = " \@attr 1=Subject-heading-thesaurus ";
                 }
+                else { # Assume any if no index was specified
+                    $attr = " \@attr 1=Any ";
+                }
                 if ( @$operator[$i] eq 'is' ) {
                     $attr .= " \@attr 4=1  \@attr 5=100 "
                       ; ##Phrase, No truncation,all of subfield field must match
@@ -263,6 +267,9 @@ sub SearchAuthorities {
                 else {
                     $attr .= " \@attr 5=1 \@attr 4=6 "
                       ;    ## Word list, right truncated, anywhere
+                      if ($sortby eq 'Relevance') {
+                          $attr .= "\@attr 2=102 ";
+                      }
                 }
                 @$value[$i] =~ s/"/\\"/g; # Escape the double-quotes in the search value
                 $attr =$attr."\"".@$value[$i]."\"";
@@ -848,19 +855,8 @@ Returns MARC::Record of the authority passed in parameter.
 
 sub GetAuthority {
     my ($authid)=@_;
-    my $dbh=C4::Context->dbh;
-    my $sth=$dbh->prepare("select authtypecode, marcxml from auth_header where authid=?");
-    $sth->execute($authid);
-    my ($authtypecode, $marcxml) = $sth->fetchrow;
-    my $record=eval {MARC::Record->new_from_xml(StripNonXmlChars($marcxml),'UTF-8',
-        (C4::Context->preference("marcflavour") eq "UNIMARC"?"UNIMARCAUTH":C4::Context->preference("marcflavour")))};
-    return undef if ($@);
-    $record->encoding('UTF-8');
-    if (C4::Context->preference("marcflavour") eq "MARC21") {
-      my ($auth_type_tag, $auth_type_subfield) = get_auth_type_location($authtypecode);
-      C4::AuthoritiesMarc::MARC21::fix_marc21_auth_type_location($record, $auth_type_tag, $auth_type_subfield);
-    }
-    return ($record);
+    my $authority = Koha::Authority->get_from_authid($authid);
+    return ($authority->record);
 }
 
 =head2 GetAuthType 
@@ -952,7 +948,7 @@ sub BuildSummary {
         $summary{type} = $authref->{authtypetext};
         $summary{summary} = $authref->{summary};
     }
-    my $marc21subfields = 'abcdfghjklmnopqrstuvxyz';
+    my $marc21subfields = 'abcdfghjklmnopqrstuvxyz68';
     my %marc21controlrefs = ( 'a' => 'earlier',
         'b' => 'later',
         'd' => 'acronym',
@@ -1030,11 +1026,29 @@ sub BuildSummary {
 # see :
         foreach my $field ($record->field('5..')) {
             if (($field->subfield('5')) && ($field->subfield('a')) && ($field->subfield('5') eq 'g')) {
-                push @seealso, { $field->as_string('abcdefgjxyz'), type => 'broader', field => $field->tag() };
+                push @seealso, {
+                    heading => $field->as_string('abcdefgjxyz'),
+                    type => 'broader',
+                    field => $field->tag(),
+                    search => $field->as_string('abcdefgjxyz'),
+                    authid => $field->subfield('9')
+                };
             } elsif (($field->subfield('5')) && ($field->as_string) && ($field->subfield('5') eq 'h')){
-                push @seealso, { heading => $field->as_string('abcdefgjxyz'), type => 'narrower', field => $field->tag() };
+                push @seealso, {
+                    heading => $field->as_string('abcdefgjxyz'),
+                    type => 'narrower',
+                    field => $field->tag(),
+                    search => $field->as_string('abcdefgjxyz'),
+                    authid => $field->subfield('9')
+                };
             } elsif ($field->subfield('a')) {
-                push @seealso, { heading => $field->as_string('abcdefgxyz'), type => 'seealso', field => $field->tag() };
+                push @seealso, {
+                    heading => $field->as_string('abcdefgxyz'),
+                    type => 'seealso',
+                    field => $field->tag(),
+                    search => $field->as_string('abcdefgjxyz'),
+                    authid => $field->subfield('9')
+                };
             }
         }
 # // form
@@ -1086,28 +1100,40 @@ sub BuildSummary {
         }
         foreach my $field ($record->field('4..')) { #See From
             my $type = 'seefrom';
-            $type = $marc21controlrefs{substr $field->subfield('w'), 0, 1} if ($field->subfield('w'));
+            $type = ($marc21controlrefs{substr $field->subfield('w'), 0, 1} || '') if ($field->subfield('w'));
             if ($type eq 'notapplicable') {
                 $type = substr $field->subfield('w'), 2, 1;
                 $type = 'earlier' if $type && $type ne 'n';
             }
             if ($type eq 'subfi') {
-                push @seefrom, { heading => $field->as_string($marc21subfields), type => $field->subfield('i'), field => $field->tag() };
+                push @seefrom, { heading => $field->as_string($marc21subfields), type => ($field->subfield('i') || ''), field => $field->tag() };
             } else {
                 push @seefrom, { heading => $field->as_string($marc21subfields), type => $type, field => $field->tag() };
             }
         }
         foreach my $field ($record->field('5..')) { #See Also
             my $type = 'seealso';
-            $type = $marc21controlrefs{substr $field->subfield('w'), 0, 1} if ($field->subfield('w'));
+            $type = ($marc21controlrefs{substr $field->subfield('w'), 0, 1} || '') if ($field->subfield('w'));
             if ($type eq 'notapplicable') {
                 $type = substr $field->subfield('w'), 2, 1;
                 $type = 'earlier' if $type && $type ne 'n';
             }
             if ($type eq 'subfi') {
-                push @seealso, { heading => $field->as_string($marc21subfields), type => $field->subfield('i'), field => $field->tag() };
+                push @seealso, {
+                    heading => $field->as_string($marc21subfields),
+                    type => $field->subfield('i'),
+                    field => $field->tag(),
+                    search => $field->as_string($marc21subfields) || '',
+                    authid => $field->subfield('9') || ''
+                };
             } else {
-                push @seealso, { heading => $field->as_string($marc21subfields), type => $type, field => $field->tag() };
+                push @seealso, {
+                    heading => $field->as_string($marc21subfields),
+                    type => $type,
+                    field => $field->tag(),
+                    search => $field->as_string($marc21subfields) || '',
+                    authid => $field->subfield('9') || ''
+                };
             }
         }
         foreach my $field ($record->field('6..')) {
@@ -1142,9 +1168,72 @@ sub BuildSummary {
     return \%summary;
 }
 
-=head2 BuildUnimarcHierarchies
+=head2 GetAuthorizedHeading
 
-  $text= &BuildUnimarcHierarchies( $authid, $force)
+  $heading = &GetAuthorizedHeading({ record => $record, authid => $authid })
+
+Takes a MARC::Record object describing an authority record or an authid, and
+returns a string representation of the first authorized heading. This routine
+should be considered a temporary shim to ease the future migration of authority
+data from C4::AuthoritiesMarc to the object-oriented Koha::*::Authority.
+
+=cut
+
+sub GetAuthorizedHeading {
+    my $args = shift;
+    my $record;
+    unless ($record = $args->{record}) {
+        return unless $args->{authid};
+        $record = GetAuthority($args->{authid});
+    }
+    if (C4::Context->preference('marcflavour') eq 'UNIMARC') {
+# construct UNIMARC summary, that is quite different from MARC21 one
+# accepted form
+        foreach my $field ($record->field('2..')) {
+            return $field->as_string('abcdefghijlmnopqrstuvwxyz');
+        }
+    } else {
+        foreach my $field ($record->field('1..')) {
+            my $tag = $field->tag();
+            next if "152" eq $tag;
+# FIXME - 152 is not a good tag to use
+# in MARC21 -- purely local tags really ought to be
+# 9XX
+            if ($tag eq '100') {
+                return $field->as_string('abcdefghjklmnopqrstvxyz68');
+            } elsif ($tag eq '110') {
+                return $field->as_string('abcdefghklmnoprstvxyz68');
+            } elsif ($tag eq '111') {
+                return $field->as_string('acdefghklnpqstvxyz68');
+            } elsif ($tag eq '130') {
+                return $field->as_string('adfghklmnoprstvxyz68');
+            } elsif ($tag eq '148') {
+                return $field->as_string('abvxyz68');
+            } elsif ($tag eq '150') {
+                return $field->as_string('abvxyz68');
+            } elsif ($tag eq '151') {
+                return $field->as_string('avxyz68');
+            } elsif ($tag eq '155') {
+                return $field->as_string('abvxyz68');
+            } elsif ($tag eq '180') {
+                return $field->as_string('vxyz68');
+            } elsif ($tag eq '181') {
+                return $field->as_string('vxyz68');
+            } elsif ($tag eq '182') {
+                return $field->as_string('vxyz68');
+            } elsif ($tag eq '185') {
+                return $field->as_string('vxyz68');
+            } else {
+                return $field->as_string();
+            }
+        }
+    }
+    return;
+}
+
+=head2 BuildAuthHierarchies
+
+  $text= &BuildAuthHierarchies( $authid, $force)
 
 return text containing trees for hierarchies
 for them to be stored in auth_header
@@ -1154,54 +1243,59 @@ Example of text:
 
 =cut
 
-sub BuildUnimarcHierarchies{
-  my $authid = shift @_;
+sub BuildAuthHierarchies{
+    my $authid = shift @_;
 #   warn "authid : $authid";
-  my $force = shift @_;
-  my @globalresult;
-  my $dbh=C4::Context->dbh;
-  my $hierarchies;
-  my $data = GetHeaderAuthority($authid);
-  if ($data->{'authtrees'} and not $force){
-    return $data->{'authtrees'};
+    my $force = shift @_ || (C4::Context->preference('marcflavour') eq 'UNIMARC' ? 0 : 1);
+    my @globalresult;
+    my $dbh=C4::Context->dbh;
+    my $hierarchies;
+    my $data = GetHeaderAuthority($authid);
+    if ($data->{'authtrees'} and not $force){
+        return $data->{'authtrees'};
 #  } elsif ($data->{'authtrees'}){
 #    $hierarchies=$data->{'authtrees'};
-  } else {
-    my $record = GetAuthority($authid);
-    my $found;
-    return unless $record;
-    foreach my $field ($record->field('5..')){
-      if ($field->subfield('5') && $field->subfield('5') eq 'g'){
-               my $subfauthid=_get_authid_subfield($field);
-        next if ($subfauthid eq $authid);
-        my $parentrecord = GetAuthority($subfauthid);
-        my $localresult=$hierarchies;
-        my $trees;
-        $trees = BuildUnimarcHierarchies($subfauthid);
-        my @trees;
-        if ($trees=~/;/){
-           @trees = split(/;/,$trees);
-        } else {
-           push @trees, $trees;
-        }
-        foreach (@trees){
-          $_.= ",$authid";
+    } else {
+        my $record = GetAuthority($authid);
+        my $found;
+        return unless $record;
+        foreach my $field ($record->field('5..')){
+            my $broader = 0;
+            $broader = 1 if (
+                    (C4::Context->preference('marcflavour') eq 'UNIMARC' && $field->subfield('5') && $field->subfield('5') eq 'g') ||
+                    (C4::Context->preference('marcflavour') ne 'UNIMARC' && $field->subfield('w') && substr($field->subfield('w'), 0, 1) eq 'g'));
+            if ($broader) {
+                my $subfauthid=_get_authid_subfield($field) || '';
+                next if ($subfauthid eq $authid);
+                my $parentrecord = GetAuthority($subfauthid);
+                next unless $parentrecord;
+                my $localresult=$hierarchies;
+                my $trees;
+                $trees = BuildAuthHierarchies($subfauthid);
+                my @trees;
+                if ($trees=~/;/){
+                    @trees = split(/;/,$trees);
+                } else {
+                    push @trees, $trees;
+                }
+                foreach (@trees){
+                    $_.= ",$authid";
+                }
+                @globalresult = (@globalresult,@trees);
+                $found=1;
+            }
+            $hierarchies=join(";",@globalresult);
         }
-        @globalresult = (@globalresult,@trees);
-        $found=1;
-      }
-      $hierarchies=join(";",@globalresult);
+#Unless there is no ancestor, I am alone.
+        $hierarchies="$authid" unless ($hierarchies);
     }
-    #Unless there is no ancestor, I am alone.
-    $hierarchies="$authid" unless ($hierarchies);
-  }
-  AddAuthorityTrees($authid,$hierarchies);
-  return $hierarchies;
+    AddAuthorityTrees($authid,$hierarchies);
+    return $hierarchies;
 }
 
-=head2 BuildUnimarcHierarchy
+=head2 BuildAuthHierarchy
 
-  $ref= &BuildUnimarcHierarchy( $record, $class,$authid)
+  $ref= &BuildAuthHierarchy( $record, $class,$authid)
 
 return a hashref in order to display hierarchy for record and final Authid $authid
 
@@ -1212,42 +1306,101 @@ return a hashref in order to display hierarchy for record and final Authid $auth
 "current_value"
 "value"
 
-"ifparents"  
-"ifchildren" 
-Those two latest ones should disappear soon.
+=cut
+
+sub BuildAuthHierarchy{
+    my $record = shift @_;
+    my $class = shift @_;
+    my $authid_constructed = shift @_;
+    return unless ($record && $record->field('001'));
+    my $authid=$record->field('001')->data();
+    my %cell;
+    my $parents=""; my $children="";
+    my (@loopparents,@loopchildren);
+    my $marcflavour = C4::Context->preference('marcflavour');
+    my $relationshipsf = $marcflavour eq 'UNIMARC' ? '5' : 'w';
+    foreach my $field ($record->field('5..')){
+        my $subfauthid=_get_authid_subfield($field);
+        if ($subfauthid && $field->subfield($relationshipsf) && $field->subfield('a')){
+            my $relationship = substr($field->subfield($relationshipsf), 0, 1);
+            if ($relationship eq 'h'){
+                push @loopchildren, { "authid"=>$subfauthid,"value"=>$field->subfield('a')};
+            }
+            elsif ($relationship eq 'g'){
+                push @loopparents, { "authid"=>$subfauthid,"value"=>$field->subfield('a')};
+            }
+# brothers could get in there with an else
+        }
+    }
+    $cell{"parents"}=\@loopparents;
+    $cell{"children"}=\@loopchildren;
+    $cell{"class"}=$class;
+    $cell{"authid"}=$authid;
+    $cell{"current_value"} =1 if ($authid eq $authid_constructed);
+    $cell{"value"}=C4::Context->preference('marcflavour') eq 'UNIMARC' ? $record->subfield('2..',"a") : $record->subfield('1..', 'a');
+    return \%cell;
+}
+
+=head2 BuildAuthHierarchyBranch
+
+  $branch = &BuildAuthHierarchyBranch( $tree, $authid[, $cnt])
+
+Return a data structure representing an authority hierarchy
+given a list of authorities representing a single branch in
+an authority hierarchy tree. $authid is the current node in
+the tree (which may or may not be somewhere in the middle).
+$cnt represents the level of the upper-most item, and is only
+used when BuildAuthHierarchyBranch is called recursively (i.e.,
+don't ever pass in anything but zero to it).
 
 =cut
 
-sub BuildUnimarcHierarchy{
-  my $record = shift @_;
-  my $class = shift @_;
-  my $authid_constructed = shift @_;
-  return undef unless ($record);
-  my $authid=$record->field('001')->data();
-  my %cell;
-  my $parents=""; my $children="";
-  my (@loopparents,@loopchildren);
-  foreach my $field ($record->field('5..')){
-      my $subfauthid=_get_authid_subfield($field);
-      if ($subfauthid && $field->subfield('5') && $field->subfield('a')){
-          if ($field->subfield('5') eq 'h'){
-              push @loopchildren, { "childauthid"=>$field->subfield('3'),"childvalue"=>$field->subfield('a')};
-         }
-         elsif ($field->subfield('5') eq 'g'){
-             push @loopparents, { "parentauthid"=>$field->subfield('3'),"parentvalue"=>$field->subfield('a')};
-         }
-          # brothers could get in there with an else
-      }
-  }
-  $cell{"ifparents"}=1 if (scalar(@loopparents)>0);
-  $cell{"ifchildren"}=1 if (scalar(@loopchildren)>0);
-  $cell{"loopparents"}=\@loopparents if (scalar(@loopparents)>0);
-  $cell{"loopchildren"}=\@loopchildren if (scalar(@loopchildren)>0);
-  $cell{"class"}=$class;
-  $cell{"loopauthid"}=$authid;
-  $cell{"current_value"} =1 if $authid eq $authid_constructed;
-  $cell{"value"}=$record->subfield('2..',"a");
-  return \%cell;
+sub BuildAuthHierarchyBranch {
+    my ($tree, $authid, $cnt) = @_;
+    $cnt |= 0;
+    my $elementdata = GetAuthority(shift @$tree);
+    my $branch = BuildAuthHierarchy($elementdata,"child".$cnt, $authid);
+    if (scalar @$tree > 0) {
+        my $nextBranch = BuildAuthHierarchyBranch($tree, $authid, ++$cnt);
+        my $nextAuthid = $nextBranch->{authid};
+        my $found;
+        # If we already have the next branch listed as a child, let's
+        # replace the old listing with the new one. If not, we will add
+        # the branch at the end.
+        foreach my $cell (@{$branch->{children}}) {
+            if ($cell->{authid} eq $nextAuthid) {
+                $cell = $nextBranch;
+                $found = 1;
+                last;
+            }
+        }
+        push @{$branch->{children}}, $nextBranch unless $found;
+    }
+    return $branch;
+}
+
+=head2 GenerateHierarchy
+
+  $hierarchy = &GenerateHierarchy($authid);
+
+Return an arrayref holding one or more "trees" representing
+authority hierarchies.
+
+=cut
+
+sub GenerateHierarchy {
+    my ($authid) = @_;
+    my $trees    = BuildAuthHierarchies($authid);
+    my @trees    = split /;/,$trees ;
+    push @trees,$trees unless (@trees);
+    my @loophierarchies;
+    foreach my $tree (@trees){
+        my @tree=split /,/,$tree;
+        push @tree, $tree unless (@tree);
+        my $branch = BuildAuthHierarchyBranch(\@tree, $authid);
+        push @loophierarchies, [ $branch ];
+    }
+    return \@loophierarchies;
 }
 
 sub _get_authid_subfield{
@@ -1340,8 +1493,8 @@ sub merge {
     } else {
         #zebra connection  
         my $oConnection=C4::Context->Zconn("biblioserver",0);
-        my $oldSyntax = $oConnection->option("preferredRecordSyntax");
-        $oConnection->option("preferredRecordSyntax"=>"XML");
+        # We used to use XML syntax here, but that no longer works.
+        # Thankfully, we don't need it.
         my $query;
         $query= "an=".$mergefrom;
         my $oResult = $oConnection->search(new ZOOM::Query::CCL2RPN( $query, $oConnection ));
@@ -1354,7 +1507,7 @@ sub merge {
             my $rec;
             $rec=$oResult->record($z);
             my $marcdata = $rec->raw();
-            my $marcrecordzebra= MARC::Record->new_from_xml($marcdata,"utf8",C4::Context->preference("marcflavour"));
+            my $marcrecordzebra= MARC::Record->new_from_usmarc($marcdata);
             my ( $biblionumbertagfield, $biblionumbertagsubfield ) = &GetMarcFromKohaField( "biblio.biblionumber", '' );
             my $i = ($biblionumbertagfield < 10) ? $marcrecordzebra->field($biblionumbertagfield)->data : $marcrecordzebra->subfield($biblionumbertagfield, $biblionumbertagsubfield);
             my $marcrecorddb=GetMarcBiblio($i);
@@ -1362,7 +1515,6 @@ sub merge {
             $z++;
         }
         $oResult->destroy();
-        $oConnection->option("preferredRecordSyntax"=>$oldSyntax);
     }
     #warn scalar(@reccache)." biblios to update";
     # Get All candidate Tags for the change 
@@ -1387,12 +1539,13 @@ sub merge {
         foreach my $tagfield (@tags_using_authtype){
 #             warn "tagfield : $tagfield ";
             foreach my $field ($marcrecord->field($tagfield)){
+                # biblio is linked to authority with $9 subfield containing authid
                 my $auth_number=$field->subfield("9");
                 my $tag=$field->tag();          
                 if ($auth_number==$mergefrom) {
                 my $field_to=MARC::Field->new(($tag_to?$tag_to:$tag),$field->indicator(1),$field->indicator(2),"9"=>$mergeto);
                my $exclude='9';
-                foreach my $subfield (@record_to) {
+                foreach my $subfield (grep {$_->[0] ne '9'} @record_to) {
                     $field_to->add_subfields($subfield->[0] =>$subfield->[1]);
                    $exclude.= $subfield->[0];
                 }
index efea3f5..6830565 100644 (file)
@@ -231,7 +231,7 @@ if the job status is not 'completed'.
 
 sub results {
     my $self = shift;
-    return undef unless $self->{'status'} eq 'completed';
+    return unless $self->{'status'} eq 'completed';
     return $self->{'results'};
 }
 
@@ -253,7 +253,7 @@ sub fetch {
     my $session = get_session($sessionID);
     my $prefix = "job_$jobID";
     unless (defined $session->param($prefix)) {
-        return undef;
+        return;
     }
     my $self = $session->param($prefix);
     bless $self, $class;
index 2e81da6..b08d660 100644 (file)
@@ -55,7 +55,7 @@ sub initial {
        return '0000001';
 }
 sub width {
-       return undef;
+       return;
 }
 sub process_head {     # (self,head,whole,specific)
        my $self = shift;
@@ -129,7 +129,7 @@ sub next_value {
        my ($head,$incr,$tail) = $self->parse($max);    # for incremental, you'd get ('',the_whole_barcode,'')
        unless (defined $incr) {
                warn "No incrementing part of barcode ($max) returned by parse.";
-               return undef;
+               return;
        }
        my $x = length($incr);          # number of digits
        $incr =~ /^9+$/ and $x++;       # if they're all 9's, we need an extra.
@@ -145,17 +145,17 @@ sub next_value {
        return $next_value;
 }
 sub next {
-       my $self = shift or return undef;
+       my $self = shift or return;
        (@_) and $self->{next} = shift;
        return $self->{next};
 }
 sub previous {
-       my $self = shift or return undef;
+       my $self = shift or return;
        (@_) and $self->{previous} = shift;
        return $self->{previous};
 }
 sub serial {
-       my $self = shift or return undef;
+       my $self = shift or return;
        (@_) and $self->{serial} = shift;
        return $self->{serial};
 }
@@ -192,11 +192,11 @@ sub new {
        $autoBarcodeType =~ s/^.*:://;  # in case we get C4::Barcodes::incremental, we just want 'incremental'
        unless ($autoBarcodeType) {
                carp "No autoBarcode format found.";
-               return undef;
+               return;
        }
        unless (defined $types->{$autoBarcodeType}) {
                carp "The autoBarcode format '$autoBarcodeType' is unrecognized.";
-               return undef;
+               return;
        }
        carp "autoBarcode format = $autoBarcodeType" if $debug;
        my $self;
@@ -227,7 +227,7 @@ sub new {
                return $self;
        }
        carp "Failed new C4::Barcodes::$autoBarcodeType";
-       return undef;
+       return;
 }
 
 sub new_object {
index da27c41..adc1283 100644 (file)
@@ -24,6 +24,7 @@ use C4::Context;
 use C4::Debug;
 
 use Algorithm::CheckDigits;
+use Carp;
 
 use vars qw($VERSION @ISA);
 use vars qw($debug $cgi_debug);        # from C4::Debug, of course
@@ -40,7 +41,8 @@ sub parse {
     if ( $ean->is_valid($barcode) ) {
         return ( '', $ean->basenumber($barcode), $ean->checkdigit($barcode) );
     } else {
-        die "$barcode not valid EAN-13 barcode";
+        carp "$barcode not valid EAN-13 barcode";
+        return ( '', $barcode, '' );
     }
 }
 
index ca3149f..258a1a5 100644 (file)
@@ -42,7 +42,7 @@ INIT {
 # Generates barcode where hb = home branch Code, yymm = year/month catalogued, incr = incremental number,
 #      increment resets yearly -fbcit
 
-sub db_max ($;$) {
+sub db_max {
        my $self = shift;
        my $query = "SELECT MAX(SUBSTRING(barcode,-$width)), barcode FROM items WHERE barcode REGEXP ? GROUP BY barcode";
        $debug and print STDERR "(hbyymmincr) db_max query: $query\n";
@@ -71,14 +71,14 @@ sub db_max ($;$) {
        return ($max || 0);
 }
 
-sub initial () {
+sub initial {
        my $self = shift;
        # FIXME: populated branch?
        my $iso = C4::Dates->new->output('iso');        # like "2008-07-02"
        return $self->branch . substr($iso,2,2) . substr($iso,5,2) . sprintf('%' . "$width.$width" . 'd',1);
 }
 
-sub parse ($;$) {   # return 3 parts of barcode: non-incrementing, incrementing, non-incrementing
+sub parse {   # return 3 parts of barcode: non-incrementing, incrementing, non-incrementing
        my $self = shift;
        my $barcode = (@_) ? shift : $self->value;
        my $branch = $self->branch;
@@ -90,17 +90,17 @@ sub parse ($;$) {   # return 3 parts of barcode: non-incrementing, incrementing,
        return ($1,$2,'');  # the third part is in anticipation of barcodes that include checkdigits
 }
 
-sub branch ($;$) {
+sub branch {
        my $self = shift;
        (@_) and $self->{branch} = shift;
        return $self->{branch};
 }
-sub width ($;$) {
+sub width {
        my $self = shift;
        (@_) and $width = shift;        # hitting the class variable.
        return $width;
 }
-sub process_head($$;$$) {      # (self,head,whole,specific)
+sub process_head {     # (self,head,whole,specific)
        my ($self,$head,$whole,$specific) = @_;
        $specific and return $head;     # if this is built off an existing barcode, just return the head unchanged.
        $head =~ s/\d{4}$//;            # else strip the old yymm
index c479502..231baf3 100644 (file)
@@ -28,6 +28,7 @@ use MARC::Record;
 use MARC::File::USMARC;
 use MARC::File::XML;
 use POSIX qw(strftime);
+use Module::Load::Conditional qw(can_load);
 
 use C4::Koha;
 use C4::Dates qw/format_date/;
@@ -491,13 +492,11 @@ sub BiblioAutoLink {
 
     my $linker_module =
       "C4::Linker::" . ( C4::Context->preference("LinkerModule") || 'Default' );
-    eval { eval "require $linker_module"; };
-    if ($@) {
+    unless ( can_load( modules => { $linker_module => undef } ) ) {
         $linker_module = 'C4::Linker::Default';
-        eval "require $linker_module";
-    }
-    if ($@) {
-        return 0, 0;
+        unless ( can_load( modules => { $linker_module => undef } ) ) {
+            return 0, 0;
+        }
     }
 
     my $linker = $linker_module->new(
@@ -890,7 +889,7 @@ Return the ISBD view which can be included in opac and intranet
 sub GetISBDView {
     my ( $biblionumber, $template ) = @_;
     my $record   = GetMarcBiblio($biblionumber, 1);
-    return undef unless defined $record;
+    return unless defined $record;
     my $itemtype = &GetFrameworkCode($biblionumber);
     my ( $holdingbrtagf, $holdingbrtagsubf ) = &GetMarcFromKohaField( "items.holdingbranch", $itemtype );
     my $tagslib = &GetMarcStructure( 1, $itemtype );
@@ -999,7 +998,7 @@ sub GetISBDView {
 
 =head2 GetBiblio
 
-  ( $count, @results ) = &GetBiblio($biblionumber);
+  my $biblio = &GetBiblio($biblionumber);
 
 =cut
 
@@ -1010,12 +1009,10 @@ sub GetBiblio {
     my $count          = 0;
     my @results;
     $sth->execute($biblionumber);
-    while ( my $data = $sth->fetchrow_hashref ) {
-        $results[$count] = $data;
-        $count++;
-    }    # while
-    $sth->finish;
-    return ( $count, @results );
+    if ( my $data = $sth->fetchrow_hashref ) {
+        return $data;
+    }
+    return;
 }    # sub GetBiblio
 
 =head2 GetBiblioItemInfosOf
@@ -1147,7 +1144,7 @@ C<$frameworkcode> is the framework code.
 
 =cut
 
-sub GetUsedMarcStructure($) {
+sub GetUsedMarcStructure {
     my $frameworkcode = shift || '';
     my $query = qq/
         SELECT *
@@ -1212,7 +1209,7 @@ sub GetMarcBiblio {
 
         return $record;
     } else {
-        return undef;
+        return;
     }
 }
 
@@ -1682,65 +1679,75 @@ The subjects are stored in different fields depending on MARC flavour
 
 sub GetMarcSubjects {
     my ( $record, $marcflavour ) = @_;
-    my ( $mintag, $maxtag );
+    my ( $mintag, $maxtag, $fields_filter );
     if ( $marcflavour eq "UNIMARC" ) {
         $mintag = "600";
         $maxtag = "611";
-    } else {    # assume marc21 if not unimarc
+        $fields_filter = '6..';
+    } else { # marc21/normarc
         $mintag = "600";
         $maxtag = "699";
+        $fields_filter = '6..';
     }
 
     my @marcsubjects;
-    my $subject  = "";
-    my $subfield = "";
-    my $marcsubject;
 
     my $subject_limit = C4::Context->preference("TraceCompleteSubfields") ? 'su,complete-subfield' : 'su';
+    my $authoritysep = C4::Context->preference('authoritysep');
 
-    foreach my $field ( $record->field('6..') ) {
-        next unless $field->tag() >= $mintag && $field->tag() <= $maxtag;
+    foreach my $field ( $record->field($fields_filter) ) {
+        next unless ($field->tag() >= $mintag && $field->tag() <= $maxtag);
         my @subfields_loop;
         my @subfields = $field->subfields();
-        my $counter   = 0;
         my @link_loop;
 
-        # if there is an authority link, build the link with an= subfield9
-        my $found9 = 0;
+        # if there is an authority link, build the links with an= subfield9
+        my $subfield9 = $field->subfield('9');
+        my $authoritylink;
+        if ($subfield9) {
+            my $linkvalue = $subfield9;
+            $linkvalue =~ s/(\(|\))//g;
+            @link_loop = ( { limit => 'an', 'link' => $linkvalue } );
+            $authoritylink = $linkvalue
+        }
+
+        # other subfields
         for my $subject_subfield (@subfields) {
+            next if ( $subject_subfield->[0] eq '9' );
 
             # don't load unimarc subfields 3,4,5
             next if ( ( $marcflavour eq "UNIMARC" ) and ( $subject_subfield->[0] =~ /2|3|4|5/ ) );
-
             # don't load MARC21 subfields 2 (FIXME: any more subfields??)
             next if ( ( $marcflavour eq "MARC21" ) and ( $subject_subfield->[0] =~ /2/ ) );
+
             my $code      = $subject_subfield->[0];
             my $value     = $subject_subfield->[1];
             my $linkvalue = $value;
             $linkvalue =~ s/(\(|\))//g;
-            my $operator;
-            if ( $counter != 0 ) {
-                $operator = ' and ';
-            }
-            if ( $code eq 9 ) {
-                $found9 = 1;
-                @link_loop = ( { 'limit' => 'an', link => "$linkvalue" } );
-            }
-            if ( not $found9 ) {
-                push @link_loop, { 'limit' => $subject_limit, link => $linkvalue, operator => $operator };
-            }
-            my $separator;
-            if ( $counter != 0 ) {
-                $separator = C4::Context->preference('authoritysep');
+            # if no authority link, build a search query
+            unless ($subfield9) {
+                push @link_loop, {
+                    limit    => $subject_limit,
+                    'link'   => $linkvalue,
+                    operator => (scalar @link_loop) ? ' and ' : undef
+                };
             }
-
-            # ignore $9
             my @this_link_loop = @link_loop;
-            push @subfields_loop, { code => $code, value => $value, link_loop => \@this_link_loop, separator => $separator } unless ( $subject_subfield->[0] eq 9 || $subject_subfield->[0] eq '0' );
-            $counter++;
+            # do not display $0
+            unless ( $code eq '0' ) {
+                push @subfields_loop, {
+                    code      => $code,
+                    value     => $value,
+                    link_loop => \@this_link_loop,
+                    separator => (scalar @subfields_loop) ? $authoritysep : ''
+                };
+            }
         }
 
-        push @marcsubjects, { MARCSUBJECT_SUBFIELDS_LOOP => \@subfields_loop };
+        push @marcsubjects, {
+            MARCSUBJECT_SUBFIELDS_LOOP => \@subfields_loop,
+            authoritylink => $authoritylink,
+        };
 
     }
     return \@marcsubjects;
@@ -1757,7 +1764,7 @@ The authors are stored in different fields depending on MARC flavour
 
 sub GetMarcAuthors {
     my ( $record, $marcflavour ) = @_;
-    my ( $mintag, $maxtag );
+    my ( $mintag, $maxtag, $fields_filter );
 
     # tagslib useful for UNIMARC author reponsabilities
     my $tagslib =
@@ -1765,15 +1772,17 @@ sub GetMarcAuthors {
     if ( $marcflavour eq "UNIMARC" ) {
         $mintag = "700";
         $maxtag = "712";
-    } elsif ( $marcflavour eq "MARC21" || $marcflavour eq "NORMARC" ) { # assume marc21 or normarc if not unimarc
+        $fields_filter = '7..';
+    } else { # marc21/normarc
         $mintag = "700";
         $maxtag = "720";
-    } else {
-        return;
+        $fields_filter = '7..';
     }
+
     my @marcauthors;
+    my $authoritysep = C4::Context->preference('authoritysep');
 
-    foreach my $field ( $record->fields ) {
+    foreach my $field ( $record->field($fields_filter) ) {
         next unless $field->tag() >= $mintag && $field->tag() <= $maxtag;
         my @subfields_loop;
         my @link_loop;
@@ -1782,48 +1791,52 @@ sub GetMarcAuthors {
 
         # if there is an authority link, build the link with Koha-Auth-Number: subfield9
         my $subfield9 = $field->subfield('9');
+        if ($subfield9) {
+            my $linkvalue = $subfield9;
+            $linkvalue =~ s/(\(|\))//g;
+            @link_loop = ( { 'limit' => 'an', 'link' => $linkvalue } );
+        }
+
+        # other subfields
         for my $authors_subfield (@subfields) {
+            next if ( $authors_subfield->[0] eq '9' );
 
             # don't load unimarc subfields 3, 5
             next if ( $marcflavour eq 'UNIMARC' and ( $authors_subfield->[0] =~ /3|5/ ) );
-            my $subfieldcode = $authors_subfield->[0];
+
+            my $code = $authors_subfield->[0];
             my $value        = $authors_subfield->[1];
             my $linkvalue    = $value;
             $linkvalue =~ s/(\(|\))//g;
-            my $operator;
-            if ( $count_auth != 0 ) {
-                $operator = ' and ';
-            }
-
-            # if we have an authority link, use that as the link, otherwise use standard searching
-            if ($subfield9) {
-                @link_loop = ( { 'limit' => 'an', link => "$subfield9" } );
-            } else {
-
-                # reset $linkvalue if UNIMARC author responsibility
-                if ( $marcflavour eq 'UNIMARC' and ( $authors_subfield->[0] eq "4" ) ) {
-                    $linkvalue = "(" . GetAuthorisedValueDesc( $field->tag(), $authors_subfield->[0], $authors_subfield->[1], '', $tagslib ) . ")";
-                }
-                push @link_loop, { 'limit' => 'au', link => $linkvalue, operator => $operator };
+            # UNIMARC author responsibility
+            if ( $marcflavour eq 'UNIMARC' and $code eq '4' ) {
+                $value = GetAuthorisedValueDesc( $field->tag(), $code, $value, '', $tagslib );
+                $linkvalue = "($value)";
+            }
+            # if no authority link, build a search query
+            unless ($subfield9) {
+                push @link_loop, {
+                    limit    => 'au',
+                    'link'   => $linkvalue,
+                    operator => (scalar @link_loop) ? ' and ' : undef
+                };
             }
-            $value = GetAuthorisedValueDesc( $field->tag(), $authors_subfield->[0], $authors_subfield->[1], '', $tagslib )
-              if ( $marcflavour eq 'UNIMARC' and ( $authors_subfield->[0] =~ /4/ ) );
             my @this_link_loop = @link_loop;
-            my $separator;
-            if ( $count_auth != 0 ) {
-                $separator = C4::Context->preference('authoritysep');
+            # do not display $0
+            unless ( $code eq '0') {
+                push @subfields_loop, {
+                    tag       => $field->tag(),
+                    code      => $code,
+                    value     => $value,
+                    link_loop => \@this_link_loop,
+                    separator => (scalar @subfields_loop) ? $authoritysep : ''
+                };
             }
-            push @subfields_loop,
-              { tag       => $field->tag(),
-                code      => $subfieldcode,
-                value     => $value,
-                link_loop => \@this_link_loop,
-                separator => $separator
-              }
-              unless ( $authors_subfield->[0] eq '9' || $authors_subfield->[0] eq '0');
-            $count_auth++;
-        }
-        push @marcauthors, { MARCAUTHOR_SUBFIELDS_LOOP => \@subfields_loop };
+        }
+        push @marcauthors, {
+            MARCAUTHOR_SUBFIELDS_LOOP => \@subfields_loop,
+            authoritylink => $subfield9,
+        };
     }
     return \@marcauthors;
 }
@@ -1894,76 +1907,63 @@ The series are stored in different fields depending on MARC flavour
 
 sub GetMarcSeries {
     my ( $record, $marcflavour ) = @_;
-    my ( $mintag, $maxtag );
+    my ( $mintag, $maxtag, $fields_filter );
     if ( $marcflavour eq "UNIMARC" ) {
         $mintag = "600";
         $maxtag = "619";
-    } else {    # assume marc21 if not unimarc
+        $fields_filter = '6..';
+    } else {    # marc21/normarc
         $mintag = "440";
         $maxtag = "490";
+        $fields_filter = '4..';
     }
 
     my @marcseries;
-    my $subjct   = "";
-    my $subfield = "";
-    my $marcsubjct;
+    my $authoritysep = C4::Context->preference('authoritysep');
 
-    foreach my $field ( $record->field('440'), $record->field('490') ) {
+    foreach my $field ( $record->field($fields_filter) ) {
+        next unless $field->tag() >= $mintag && $field->tag() <= $maxtag;
         my @subfields_loop;
-
-        #my $value = $field->subfield('a');
-        #$marcsubjct = {MARCSUBJCT => $value,};
         my @subfields = $field->subfields();
-
-        #warn "subfields:".join " ", @$subfields;
-        my $counter = 0;
         my @link_loop;
+
         for my $series_subfield (@subfields) {
-            my $volume_number;
-            undef $volume_number;
 
-            # see if this is an instance of a volume
-            if ( $series_subfield->[0] eq 'v' ) {
-                $volume_number = 1;
-            }
+            # ignore $9, used for authority link
+            next if ( $series_subfield->[0] eq '9' );
 
+            my $volume_number;
             my $code      = $series_subfield->[0];
             my $value     = $series_subfield->[1];
             my $linkvalue = $value;
             $linkvalue =~ s/(\(|\))//g;
-            if ( $counter != 0 ) {
-                push @link_loop, { link => $linkvalue, operator => ' and ', };
-            } else {
-                push @link_loop, { link => $linkvalue, operator => undef, };
-            }
-            my $separator;
-            if ( $counter != 0 ) {
-                $separator = C4::Context->preference('authoritysep');
+
+            # see if this is an instance of a volume
+            if ( $code eq 'v' ) {
+                $volume_number = 1;
             }
+
+            push @link_loop, {
+                'link' => $linkvalue,
+                operator => (scalar @link_loop) ? ' and ' : undef
+            };
+
             if ($volume_number) {
                 push @subfields_loop, { volumenum => $value };
             } else {
-                if ( $series_subfield->[0] ne '9' ) {
-                    push @subfields_loop, {
-                        code      => $code,
-                        value     => $value,
-                        link_loop => \@link_loop,
-                        separator => $separator,
-                        volumenum => $volume_number,
-                    };
+                push @subfields_loop, {
+                    code      => $code,
+                    value     => $value,
+                    link_loop => \@link_loop,
+                    separator => (scalar @subfields_loop) ? $authoritysep : '',
+                    volumenum => $volume_number,
                 }
             }
-            $counter++;
         }
         push @marcseries, { MARCSERIES_SUBFIELDS_LOOP => \@subfields_loop };
 
-        #$marcsubjct = {MARCSUBJCT => $field->as_string(),};
-        #push @marcsubjcts, $marcsubjct;
-        #$subjct = $value;
-
     }
-    my $marcseriessarray = \@marcseries;
-    return $marcseriessarray;
+    return \@marcseries;
 }    #end getMARCseriess
 
 =head2 GetMarcHosts
@@ -2791,16 +2791,17 @@ sub GetNoZebraIndexes {
 
 =head2 EmbedItemsInMarcBiblio
 
-    EmbedItemsInMarcBiblio($marc, $biblionumber);
+    EmbedItemsInMarcBiblio($marc, $biblionumber, $itemnumbers);
 
 Given a MARC::Record object containing a bib record,
 modify it to include the items attached to it as 9XX
 per the bib's MARC framework.
+if $itemnumbers is defined, only specified itemnumbers are embedded
 
 =cut
 
 sub EmbedItemsInMarcBiblio {
-    my ($marc, $biblionumber) = @_;
+    my ($marc, $biblionumber, $itemnumbers) = @_;
     croak "No MARC record" unless $marc;
 
     my $frameworkcode = GetFrameworkCode($biblionumber);
@@ -2813,6 +2814,7 @@ sub EmbedItemsInMarcBiblio {
     my @item_fields;
     my ( $itemtag, $itemsubfield ) = GetMarcFromKohaField( "items.itemnumber", $frameworkcode );
     while (my ($itemnumber) = $sth->fetchrow_array) {
+        next if $itemnumbers and not grep { $_ == $itemnumber } @$itemnumbers;
         require C4::Items;
         my $item_marc = C4::Items::GetMarcItem($biblionumber, $itemnumber);
         push @item_fields, $item_marc->field($itemtag);
@@ -3104,7 +3106,7 @@ sub _koha_marc_update_bib_ids {
     my ( $biblio_tag,     $biblio_subfield )     = GetMarcFromKohaField( "biblio.biblionumber",          $frameworkcode );
     die qq{No biblionumber tag for framework "$frameworkcode"} unless $biblio_tag;
     my ( $biblioitem_tag, $biblioitem_subfield ) = GetMarcFromKohaField( "biblioitems.biblioitemnumber", $frameworkcode );
-    die qq{No biblioitemnumber tag for framework "$frameworkcode"} unless $biblio_tag;
+    die qq{No biblioitemnumber tag for framework "$frameworkcode"} unless $biblioitem_tag;
 
     if ( $biblio_tag == $biblioitem_tag ) {
 
@@ -3319,7 +3321,8 @@ sub _koha_modify_biblioitem_nonmarc {
         cn_suffix       = ?,
         cn_sort         = ?,
         totalissues     = ?,
-    ean             = ?
+        ean             = ?,
+        agerestriction  = ?
         where biblioitemnumber = ?
         ";
     my $sth = $dbh->prepare($query);
@@ -3331,8 +3334,7 @@ sub _koha_modify_biblioitem_nonmarc {
         $biblioitem->{'pages'},            $biblioitem->{'bnotes'},           $biblioitem->{'size'},                  $biblioitem->{'place'},
         $biblioitem->{'lccn'},             $biblioitem->{'url'},              $biblioitem->{'biblioitems.cn_source'}, $biblioitem->{'cn_class'},
         $biblioitem->{'cn_item'},          $biblioitem->{'cn_suffix'},        $cn_sort,                               $biblioitem->{'totalissues'},
-    $biblioitem->{'ean'},
-        $biblioitem->{'biblioitemnumber'}
+        $biblioitem->{'ean'},              $biblioitem->{'agerestriction'},   $biblioitem->{'biblioitemnumber'}
     );
     if ( $dbh->errstr ) {
         $error .= "ERROR in _koha_modify_biblioitem_nonmarc $query" . $dbh->errstr;
@@ -3384,7 +3386,8 @@ sub _koha_add_biblioitem {
         cn_suffix       = ?,
         cn_sort         = ?,
         totalissues     = ?,
-    ean             = ?
+        ean             = ?,
+        agerestriction  = ?
         ";
     my $sth = $dbh->prepare($query);
     $sth->execute(
@@ -3395,7 +3398,7 @@ sub _koha_add_biblioitem {
         $biblioitem->{'pages'},            $biblioitem->{'bnotes'},           $biblioitem->{'size'},                  $biblioitem->{'place'},
         $biblioitem->{'lccn'},             $biblioitem->{'marc'},             $biblioitem->{'url'},                   $biblioitem->{'biblioitems.cn_source'},
         $biblioitem->{'cn_class'},         $biblioitem->{'cn_item'},          $biblioitem->{'cn_suffix'},             $cn_sort,
-        $biblioitem->{'totalissues'},      $biblioitem->{'ean'}
+        $biblioitem->{'totalissues'},      $biblioitem->{'ean'},              $biblioitem->{'agerestriction'}
     );
     my $bibitemnum = $dbh->{'mysql_insertid'};
 
@@ -3454,7 +3457,7 @@ sub _koha_delete_biblio {
         $sth2->finish;
     }
     $sth->finish;
-    return undef;
+    return;
 }
 
 =head2 _koha_delete_biblioitems
@@ -3503,7 +3506,7 @@ sub _koha_delete_biblioitems {
         $sth2->finish;
     }
     $sth->finish;
-    return undef;
+    return;
 }
 
 =head1 UNEXPORTED FUNCTIONS
index 1959a3d..d765c99 100644 (file)
@@ -46,6 +46,7 @@ BEGIN {
                &DelBranchCategory
                &CheckCategoryUnique
                &mybranch
+               &GetBranchesCount
        );
        @EXPORT_OK = qw( &onlymine &mybranch get_branch_code_from_name );
 }
@@ -154,7 +155,7 @@ sub mybranch {
     return C4::Context->userenv->{branch} || '';
 }
 
-sub GetBranchesLoop (;$$) {  # since this is what most pages want anyway
+sub GetBranchesLoop {  # since this is what most pages want anyway
     my $branch   = @_ ? shift : mybranch();     # optional first argument is branchcode of "my branch", if preselection is wanted.
     my $onlymine = @_ ? shift : onlymine();
     my $branches = GetBranches($onlymine);
@@ -372,7 +373,7 @@ the categories were already here, and minimally used.
 =cut
 
        #TODO  manage category types.  rename possibly to 'agency domains' ? as borrowergroups are called categories.
-sub GetCategoryTypes() {
+sub GetCategoryTypes {
        return ( 'searchdomain','properties');
 }
 
@@ -382,7 +383,7 @@ $branch = GetBranch( $query, $branches );
 
 =cut
 
-sub GetBranch ($$) {
+sub GetBranch {
     my ( $query, $branches ) = @_;    # get branch for this query from branches
     my $branch = $query->param('branch');
     my %cookie = $query->cookie('userenv');
@@ -415,7 +416,7 @@ Returns a href:  keys %$branches eq (branchcode,branchname) .
 
 =cut
 
-sub GetBranchesInCategory($) {
+sub GetBranchesInCategory {
     my ($categorycode) = @_;
        my @branches;
        my $dbh = C4::Context->dbh();
@@ -580,6 +581,15 @@ sub get_branch_code_from_name {
    return $sth->fetchrow_array;
 }
 
+sub GetBranchesCount {
+    my $dbh = C4::Context->dbh();
+    my $query = "SELECT COUNT(*) AS branches_count FROM branches";
+    my $sth = $dbh->prepare( $query );
+    $sth->execute();
+    my $row = $sth->fetchrow_hashref();
+    return $row->{'branches_count'};
+}
+
 1;
 __END__
 
index 19bb7e2..9dedc4d 100644 (file)
@@ -94,6 +94,9 @@ sub ImportBreeding {
         ($marcrecord, $charset_result, $charset_errors) = 
             MarcToUTF8Record($marcarray[$i]."\x1D", C4::Context->preference("marcflavour"), $encoding);
         
+        # Normalize the record so it doesn't have separated diacritics
+        SetUTF8Flag($marcrecord);
+
 #         warn "$i : $marcarray[$i]";
         # FIXME - currently this does nothing 
         my @warnings = $marcrecord->warnings();
@@ -179,16 +182,16 @@ sub BreedingSearch {
         $query .= "z3950random = ?";
         @bind=($z3950random);
     } else {
-        $search =~ s/(\s+)/\%/g;
         @bind=();
-    if ($search) {
+        if (defined($search) && length($search)>0) {
+            $search =~ s/(\s+)/\%/g;
             $query .= "title like ? OR author like ?";
             push(@bind,"%$search%", "%$search%");
         }
-        if ($search && $isbn) {
+        if ($#bind!=-1 && defined($isbn) && length($isbn)>0) {
             $query .= " and ";
         }
-        if ($isbn) {
+        if (defined($isbn) && length($isbn)>0) {
             $query .= "isbn like ?";
             push(@bind,"$isbn%");
         }
index e9732ac..d07dc75 100644 (file)
@@ -314,9 +314,19 @@ sub GetBudgetSpent {
             quantityreceived > 0 AND
             datecancellationprinted IS NULL
     |);
-
        $sth->execute($budget_id);
        my $sum =  $sth->fetchrow_array;
+
+    $sth = $dbh->prepare(qq|
+        SELECT SUM(shipmentcost) AS sum
+        FROM aqinvoices
+        WHERE shipmentcost_budgetid = ?
+          AND closedate IS NOT NULL
+    |);
+    $sth->execute($budget_id);
+    my ($shipmentcost_sum) = $sth->fetchrow_array;
+    $sum += $shipmentcost_sum;
+
        return $sum;
 }
 
@@ -330,9 +340,19 @@ sub GetBudgetOrdered {
             quantityreceived = 0 AND
             datecancellationprinted IS NULL
     |);
-
        $sth->execute($budget_id);
        my $sum =  $sth->fetchrow_array;
+
+    $sth = $dbh->prepare(qq|
+        SELECT SUM(shipmentcost) AS sum
+        FROM aqinvoices
+        WHERE shipmentcost_budgetid = ?
+          AND closedate IS NULL
+    |);
+    $sth->execute($budget_id);
+    my ($shipmentcost_sum) = $sth->fetchrow_array;
+    $sum += $shipmentcost_sum;
+
        return $sum;
 }
 
index a9d39dc..1e687db 100644 (file)
@@ -514,6 +514,78 @@ sub delete_holiday {
     }
     return $self;
 }
+=head2 delete_holiday_range
+
+    delete_holiday_range(day => $day,
+                   month => $month,
+                   year => $year);
+
+Delete a holiday range of dates for $self->{branchcode}.
+
+C<$day> Is the day month to make the date to delete.
+
+C<$month> Is month to make the date to delete.
+
+C<$year> Is year to make the date to delete.
+
+=cut
+
+sub delete_holiday_range {
+    my $self = shift;
+    my %options = @_;
+
+    my $dbh = C4::Context->dbh();
+    my $sth = $dbh->prepare("DELETE FROM special_holidays WHERE (branchcode = ?) AND (day = ?) AND (month = ?) AND (year = ?)");
+    $sth->execute($self->{branchcode}, $options{day}, $options{month}, $options{year});
+}
+
+=head2 delete_holiday_range_repeatable
+
+    delete_holiday_range_repeatable(day => $day,
+                   month => $month);
+
+Delete a holiday for $self->{branchcode}.
+
+C<$day> Is the day month to make the date to delete.
+
+C<$month> Is month to make the date to delete.
+
+=cut
+
+sub delete_holiday_range_repeatable {
+    my $self = shift;
+    my %options = @_;
+
+    my $dbh = C4::Context->dbh();
+    my $sth = $dbh->prepare("DELETE FROM repeatable_holidays WHERE (branchcode = ?) AND (day = ?) AND (month = ?)");
+    $sth->execute($self->{branchcode}, $options{day}, $options{month});
+}
+
+=head2 delete_exception_holiday_range
+
+    delete_exception_holiday_range(weekday => $weekday
+                   day => $day,
+                   month => $month,
+                   year => $year);
+
+Delete a holiday for $self->{branchcode}.
+
+C<$day> Is the day month to make the date to delete.
+
+C<$month> Is month to make the date to delete.
+
+C<$year> Is year to make the date to delete.
+
+=cut
+
+sub delete_exception_holiday_range {
+    my $self = shift;
+    my %options = @_;
+
+    my $dbh = C4::Context->dbh();
+    my $sth = $dbh->prepare("DELETE FROM special_holidays WHERE (branchcode = ?) AND (isexception = 1) AND (day = ?) AND (month = ?) AND (year = ?)");
+    $sth->execute($self->{branchcode}, $options{day}, $options{month}, $options{year});
+}
 
 =head2 isHoliday
 
index cf7e927..7485de5 100644 (file)
@@ -44,7 +44,15 @@ use Data::Dumper;
 use Koha::DateUtils;
 use Koha::Calendar;
 use Carp;
-
+use Date::Calc qw(
+  Today
+  Today_and_Now
+  Add_Delta_YM
+  Add_Delta_DHMS
+  Date_to_Days
+  Day_of_Week
+  Add_Delta_Days
+);
 use vars qw($VERSION @ISA @EXPORT @EXPORT_OK %EXPORT_TAGS);
 
 BEGIN {
@@ -724,7 +732,7 @@ sub CanBookBeIssued {
     #
     if ( $borrower->{'category_type'} eq 'X' && (  $item->{barcode}  )) { 
        # stats only borrower -- add entry to statistics table, and return issuingimpossible{STATS} = 1  .
-        &UpdateStats(C4::Context->userenv->{'branch'},'localuse','','',$item->{'itemnumber'},$item->{'itemtype'},$borrower->{'borrowernumber'});
+        &UpdateStats(C4::Context->userenv->{'branch'},'localuse','','',$item->{'itemnumber'},$item->{'itemtype'},$borrower->{'borrowernumber'}, undef, $item->{'ccode'});
         ModDateLastSeen( $item->{'itemnumber'} );
         return( { STATS => 1 }, {});
     }
@@ -941,9 +949,174 @@ sub CanBookBeIssued {
             }
         }
     }
+    #
+    # CHECK AGE RESTRICTION
+    #
+
+    # get $marker from preferences. Could be something like "FSK|PEGI|Alter|Age:"
+    my $markers = C4::Context->preference('AgeRestrictionMarker' );
+    my $bibvalues = $biblioitem->{'agerestriction'};
+    if (($markers)&&($bibvalues))
+    {
+        # Split $bibvalues to something like FSK 16 or PEGI 6
+        my @values = split ' ', $bibvalues;
+
+        # Search first occurence of one of the markers
+        my @markers = split /\|/, $markers;
+        my $index = 0;
+        my $take = -1;
+        for my $value (@values) {
+            $index ++;
+            for my $marker (@markers) {
+                $marker =~ s/^\s+//; #remove leading spaces
+                $marker =~ s/\s+$//; #remove trailing spaces
+                if (uc($marker) eq uc($value)) {
+                    $take = $index;
+                    last;
+                }
+            }
+            if ($take > -1) {
+                last;
+            }
+        }
+        # Index points to the next value
+        my $restrictionyear = 0;
+        if (($take <= $#values) && ($take >= 0)){
+            $restrictionyear += $values[$take];
+        }
+
+        if ($restrictionyear > 0) {
+            if ( $borrower->{'dateofbirth'}  ) {
+                my @alloweddate =  split /-/,$borrower->{'dateofbirth'} ;
+                $alloweddate[0] += $restrictionyear;
+                #Prevent runime eror on leap year (invalid date)
+                if (($alloweddate[1] == 2) && ($alloweddate[2] == 29)) {
+                    $alloweddate[2] = 28;
+                }
+
+                if ( Date_to_Days(Today) <  Date_to_Days(@alloweddate) -1  ) {
+                    if (C4::Context->preference('AgeRestrictionOverride' )) {
+                        $needsconfirmation{AGE_RESTRICTION} = "$bibvalues";
+                    }
+                    else {
+                        $issuingimpossible{AGE_RESTRICTION} = "$bibvalues";
+                    }
+                }
+            }
+        }
+    }
+
+## check for high holds decreasing loan period
+    my $decrease_loan = C4::Context->preference('decreaseLoanHighHolds');
+    if ( $decrease_loan && $decrease_loan == 1 ) {
+        my ( $reserved, $num, $duration, $returndate ) =
+          checkHighHolds( $item, $borrower );
+
+        if ( $num >= C4::Context->preference('decreaseLoanHighHoldsValue') ) {
+            $needsconfirmation{HIGHHOLDS} = {
+                num_holds  => $num,
+                duration   => $duration,
+                returndate => output_pref($returndate),
+            };
+        }
+    }
+
     return ( \%issuingimpossible, \%needsconfirmation, \%alerts );
 }
 
+=head2 CanBookBeReturned
+
+  ($returnallowed, $message) = CanBookBeReturned($item, $branch)
+
+Check whether the item can be returned to the provided branch
+
+=over 4
+
+=item C<$item> is a hash of item information as returned from GetItem
+
+=item C<$branch> is the branchcode where the return is taking place
+
+=back
+
+Returns:
+
+=over 4
+
+=item C<$returnallowed> is 0 or 1, corresponding to whether the return is allowed (1) or not (0)
+
+=item C<$message> is the branchcode where the item SHOULD be returned, if the return is not allowed
+
+=back
+
+=cut
+
+sub CanBookBeReturned {
+  my ($item, $branch) = @_;
+  my $allowreturntobranch = C4::Context->preference("AllowReturnToBranch") || 'anywhere';
+
+  # assume return is allowed to start
+  my $allowed = 1;
+  my $message;
+
+  # identify all cases where return is forbidden
+  if ($allowreturntobranch eq 'homebranch' && $branch ne $item->{'homebranch'}) {
+     $allowed = 0;
+     $message = $item->{'homebranch'};
+  } elsif ($allowreturntobranch eq 'holdingbranch' && $branch ne $item->{'holdingbranch'}) {
+     $allowed = 0;
+     $message = $item->{'holdingbranch'};
+  } elsif ($allowreturntobranch eq 'homeorholdingbranch' && $branch ne $item->{'homebranch'} && $branch ne $item->{'holdingbranch'}) {
+     $allowed = 0;
+     $message = $item->{'homebranch'}; # FIXME: choice of homebranch is arbitrary
+  }
+
+  return ($allowed, $message);
+}
+
+=head2 CheckHighHolds
+
+    used when syspref decreaseLoanHighHolds is active. Returns 1 or 0 to define whether the minimum value held in
+    decreaseLoanHighHoldsValue is exceeded, the total number of outstanding holds, the number of days the loan
+    has been decreased to (held in syspref decreaseLoanHighHoldsValue), and the new due date
+
+=cut
+
+sub checkHighHolds {
+    my ( $item, $borrower ) = @_;
+    my $biblio = GetBiblioFromItemNumber( $item->{itemnumber} );
+    my $branch = _GetCircControlBranch( $item, $borrower );
+    my $dbh    = C4::Context->dbh;
+    my $sth    = $dbh->prepare(
+'select count(borrowernumber) as num_holds from reserves where biblionumber=?'
+    );
+    $sth->execute( $item->{'biblionumber'} );
+    my ($holds) = $sth->fetchrow_array;
+    if ($holds) {
+        my $issuedate = DateTime->now( time_zone => C4::Context->tz() );
+
+        my $calendar = Koha::Calendar->new( branchcode => $branch );
+
+        my $itype =
+          ( C4::Context->preference('item-level_itypes') )
+          ? $biblio->{'itype'}
+          : $biblio->{'itemtype'};
+        my $orig_due =
+          C4::Circulation::CalcDateDue( $issuedate, $itype, $branch,
+            $borrower );
+
+        my $reduced_datedue =
+          $calendar->addDate( $issuedate,
+            C4::Context->preference('decreaseLoanHighHoldsDuration') );
+
+        if ( DateTime->compare( $reduced_datedue, $orig_due ) == -1 ) {
+            return ( 1, $holds,
+                C4::Context->preference('decreaseLoanHighHoldsDuration'),
+                $reduced_datedue );
+        }
+    }
+    return ( 0, 0, 0, undef );
+}
+
 =head2 AddIssue
 
   &AddIssue($borrower, $barcode, [$datedue], [$cancelreserve], [$issuedate])
@@ -1001,7 +1174,7 @@ sub AddIssue {
     }
        if ($borrower and $barcode and $barcodecheck ne '0'){#??? wtf
                # find which item we issue
-               my $item = GetItem('', $barcode) or return undef;       # if we don't get an Item, abort.
+               my $item = GetItem('', $barcode) or return;     # if we don't get an Item, abort.
                my $branch = _GetCircControlBranch($item,$borrower);
                
                # get actual issuing if there is one
@@ -1108,7 +1281,7 @@ sub AddIssue {
             C4::Context->userenv->{'branch'},
             'issue', $charge,
             ($sipmode ? "SIP-$sipmode" : ''), $item->{'itemnumber'},
-            $item->{'itype'}, $borrower->{'borrowernumber'}
+            $item->{'itype'}, $borrower->{'borrowernumber'}, undef, $item->{'ccode'}
         );
 
         # Send a checkout slip.
@@ -1276,7 +1449,7 @@ sub GetIssuingRule {
     return $irule if defined($irule) ;
 
     # if no rule matches,
-    return undef;
+    return;
 }
 
 =head2 GetBranchBorrowerCircRule
@@ -1413,7 +1586,8 @@ sub GetBranchItemRule {
 
     foreach my $attempt (@attempts) {
         my ($query, @bind_params) = @{$attempt};
-        my $search_result = $dbh->selectrow_hashref ( $query , {}, @bind_params );
+        my $search_result = $dbh->selectrow_hashref ( $query , {}, @bind_params )
+          or next;
 
         # Since branch/category and branch/itemtype use the same per-branch
         # defaults tables, we have to check that the key we want is set, not
@@ -1558,29 +1732,25 @@ sub AddReturn {
         $branches->{$hbr}->{PE} and $messages->{'IsPermanent'} = $hbr;
     }
 
-    # if indy branches and returning to different branch, refuse the return unless canreservefromotherbranches is turned on
-    if ($hbr ne $branch && C4::Context->preference("IndependantBranches") && !(C4::Context->preference("canreservefromotherbranches"))){
+    # check if the return is allowed at this branch
+    my ($returnallowed, $message) = CanBookBeReturned($item, $branch);
+    unless ($returnallowed){
         $messages->{'Wrongbranch'} = {
             Wrongbranch => $branch,
-            Rightbranch => $hbr,
+            Rightbranch => $message
         };
         $doreturn = 0;
-        # bailing out here - in this case, current desired behavior
-        # is to act as if no return ever happened at all.
-        # FIXME - even in an indy branches situation, there should
-        # still be an option for the library to accept the item
-        # and transfer it to its owning library.
         return ( $doreturn, $messages, $issue, $borrower );
     }
 
     if ( $item->{'wthdrawn'} ) { # book has been cancelled
         $messages->{'wthdrawn'} = 1;
-        $doreturn = 0;
+        $doreturn = 0 if C4::Context->preference("BlockReturnOfWithdrawnItems");
     }
 
     # case of a return of document (deal with issues and holdingbranch)
-    if ($doreturn) {
     my $today = DateTime->now( time_zone => C4::Context->tz() );
+    if ($doreturn) {
     my $datedue = $issue->{date_due};
         $borrower or warn "AddReturn without current borrower";
                my $circControlBranch;
@@ -1590,7 +1760,6 @@ sub AddReturn {
             # FIXME: check issuedate > returndate, factoring in holidays
             #$circControlBranch = _GetCircControlBranch($item,$borrower) unless ( $item->{'issuedate'} eq C4::Dates->today('iso') );;
             $circControlBranch = _GetCircControlBranch($item,$borrower);
-        my $datedue = $issue->{date_due};
         $issue->{'overdue'} = DateTime->compare($issue->{'date_due'}, $today ) == -1 ? 1 : 0;
         }
 
@@ -1654,14 +1823,18 @@ sub AddReturn {
         my $fix = _FixOverduesOnReturn($borrowernumber, $item->{itemnumber}, $exemptfine, $dropbox);
         defined($fix) or warn "_FixOverduesOnReturn($borrowernumber, $item->{itemnumber}...) failed!";  # zero is OK, check defined
         
-        # fix fine days
-        my $debardate = _FixFineDaysOnReturn( $borrower, $item, $issue->{date_due} );
-        $messages->{'Debarred'} = $debardate if ($debardate);
+        if ( $issue->{overdue} && $issue->{date_due} ) {
+# fix fine days
+            my $debardate =
+              _debar_user_on_return( $borrower, $item, $issue->{date_due}, $today );
+            $messages->{Debarred} = $debardate if ($debardate);
+        }
     }
 
     # find reserves.....
     # if we don't have a reserve with the status W, we launch the Checkreserves routine
-    my ($resfound, $resrec, undef) = C4::Reserves::CheckReserves( $item->{'itemnumber'} );
+    my ($resfound, $resrec);
+    ($resfound, $resrec, undef) = C4::Reserves::CheckReserves( $item->{'itemnumber'} ) unless ( $item->{'wthdrawn'} );
     if ($resfound) {
           $resrec->{'ResFound'} = $resfound;
         $messages->{'ResFound'} = $resrec;
@@ -1673,7 +1846,7 @@ sub AddReturn {
         $branch, $stat_type, '0', '',
         $item->{'itemnumber'},
         $biblio->{'itemtype'},
-        $borrowernumber
+        $borrowernumber, undef, $item->{'ccode'}
     );
 
     # Send a check-in slip. # NOTE: borrower may be undef.  probably shouldn't try to send messages then.
@@ -1781,26 +1954,27 @@ sub MarkIssueReturned {
     $sth_del->execute($borrowernumber, $itemnumber);
 }
 
-=head2 _FixFineDaysOnReturn
+=head2 _debar_user_on_return
 
-    &_FixFineDaysOnReturn($borrower, $item, $datedue);
+    _debar_user_on_return($borrower, $item, $datedue, today);
 
 C<$borrower> borrower hashref
 
 C<$item> item hashref
 
-C<$datedue> date due
+C<$datedue> date due DateTime object
 
-Internal function, called only by AddReturn that calculate and update the user fine days, and debars him
+C<$today> DateTime object representing the return time
+
+Internal function, called only by AddReturn that calculates and updates
+ the user fine days, and debars him if necessary.
+
+Should only be called for overdue returns
 
 =cut
 
-sub _FixFineDaysOnReturn {
-    my ( $borrower, $item, $datedue ) = @_;
-    return unless ($datedue);
-    
-    my $dt_due =  dt_from_string( $datedue );
-    my $dt_today = DateTime->now( time_zone => C4::Context->tz() );
+sub _debar_user_on_return {
+    my ( $borrower, $item, $dt_due, $dt_today ) = @_;
 
     my $branchcode = _GetCircControlBranch( $item, $borrower );
     my $calendar = Koha::Calendar->new( branchcode => $branchcode );
@@ -1809,35 +1983,41 @@ sub _FixFineDaysOnReturn {
     my $deltadays = $calendar->days_between( $dt_due, $dt_today );
 
     my $circcontrol = C4::Context::preference('CircControl');
-    my $issuingrule = GetIssuingRule( $borrower->{categorycode}, $item->{itype}, $branchcode );
-    my $finedays    = $issuingrule->{finedays};
-    my $unit        = $issuingrule->{lengthunit};
-
-    # exit if no finedays defined
-    return unless $finedays;
-    # finedays is in days, so hourly loans must multiply by 24
-    # thus 1 hour late equals 1 day suspension * finedays rate
-    $finedays       = $finedays * 24 if ($unit eq 'hours');
-
-    # grace period is measured in the same units as the loan
-    my $grace = DateTime::Duration->new( $unit => $issuingrule->{firstremind} );
-
-    if ( ( $deltadays - $grace )->is_positive ) { # you can't compare DateTime::Durations with logical operators
-        my $new_debar_dt = $dt_today->clone()->add_duration( $deltadays * $finedays );
-        my $borrower_debar_dt = dt_from_string( $borrower->{debarred} );
-        # check to see if the current debar date is a valid date
-        if ( $borrower->{debarred} && $borrower_debar_dt ) {
-        # if so, is it before the new date?  update only if true
-            if ( DateTime->compare( $borrower_debar_dt, $new_debar_dt ) == -1 ) {
-                C4::Members::DebarMember( $borrower->{borrowernumber}, $new_debar_dt->ymd() );
-                return $new_debar_dt->ymd();
+    my $issuingrule =
+      GetIssuingRule( $borrower->{categorycode}, $item->{itype}, $branchcode );
+    my $finedays = $issuingrule->{finedays};
+    my $unit     = $issuingrule->{lengthunit};
+
+    if ($finedays) {
+
+        # finedays is in days, so hourly loans must multiply by 24
+        # thus 1 hour late equals 1 day suspension * finedays rate
+        $finedays = $finedays * 24 if ( $unit eq 'hours' );
+
+        # grace period is measured in the same units as the loan
+        my $grace =
+          DateTime::Duration->new( $unit => $issuingrule->{firstremind} );
+        if ( $deltadays->subtract($grace)->is_positive() ) {
+
+            my $new_debar_dt =
+              $dt_today->clone()->add_duration( $deltadays * $finedays );
+            if ( $borrower->{debarred} ) {
+                my $borrower_debar_dt = dt_from_string( $borrower->{debarred} );
+
+                # Update patron only if new date > old
+                if ( DateTime->compare( $borrower_debar_dt, $new_debar_dt ) !=
+                    -1 )
+                {
+                    return;
+                }
+
             }
-        # if the borrower's debar date is not set or valid, debar them
-        } else {
-            C4::Members::DebarMember( $borrower->{borrowernumber}, $new_debar_dt->ymd() );
+            C4::Members::DebarMember( $borrower->{borrowernumber},
+                $new_debar_dt->ymd() );
             return $new_debar_dt->ymd();
         }
     }
+    return;
 }
 
 =head2 _FixOverduesOnReturn
@@ -1879,7 +2059,7 @@ sub _FixOverduesOnReturn {
     return 0 unless $data;    # no warning, there's just nothing to fix
 
     my $uquery;
-    my @bind = ($borrowernumber, $item, $data->{'accountno'});
+    my @bind = ($data->{'accountlines_id'});
     if ($exemptfine) {
         $uquery = "update accountlines set accounttype='FFOR', amountoutstanding=0";
         if (C4::Context->preference("FinesLog")) {
@@ -1899,7 +2079,7 @@ sub _FixOverduesOnReturn {
     } else {
         $uquery = "update accountlines set accounttype='F' ";
     }
-    $uquery .= " where (borrowernumber = ?) and (itemnumber = ?) and (accountno = ?)";
+    $uquery .= " where (accountlines_id = ?)";
     my $usth = $dbh->prepare($uquery);
     return $usth->execute(@bind);
 }
@@ -1942,9 +2122,8 @@ sub _FixAccountForLostAndReturned {
         $amountleft = $data->{'amountoutstanding'} - $amount;   # Um, isn't this the same as ZERO?  We just tested those two things are ==
     }
     my $usth = $dbh->prepare("UPDATE accountlines SET accounttype = 'LR',amountoutstanding='0'
-        WHERE (borrowernumber = ?)
-        AND (itemnumber = ?) AND (accountno = ?) ");
-    $usth->execute($data->{'borrowernumber'},$itemnumber,$acctno);      # We might be adjusting an account for some OTHER borrowernumber now.  Not the one we passed in.  
+        WHERE (accountlines_id = ?)");
+    $usth->execute($data->{'accountlines_id'});      # We might be adjusting an account for some OTHER borrowernumber now.  Not the one we passed in.
     #check if any credit is left if so writeoff other accounts
     my $nextaccntno = getnextacctno($data->{'borrowernumber'});
     $amountleft *= -1 if ($amountleft < 0);
@@ -1963,12 +2142,11 @@ sub _FixAccountForLostAndReturned {
                 $newamtos = $accdata->{'amountoutstanding'} - $amountleft;
                 $amountleft = 0;
             }
-            my $thisacct = $accdata->{'accountno'};
+            my $thisacct = $accdata->{'accountlines_id'};
             # FIXME: move prepares outside while loop!
             my $usth = $dbh->prepare("UPDATE accountlines SET amountoutstanding= ?
-                    WHERE (borrowernumber = ?)
-                    AND (accountno=?)");
-            $usth->execute($newamtos,$data->{'borrowernumber'},'$thisacct');    # FIXME: '$thisacct' is a string literal!
+                    WHERE (accountlines_id = ?)");
+            $usth->execute($newamtos,'$thisacct');    # FIXME: '$thisacct' is a string literal!
             $usth = $dbh->prepare("INSERT INTO accountoffsets
                 (borrowernumber, accountno, offsetaccount,  offsetamount)
                 VALUES
@@ -2151,7 +2329,7 @@ tables issues and the firstname,surname & cardnumber from borrowers.
 
 sub GetBiblioIssues {
     my $biblionumber = shift;
-    return undef unless $biblionumber;
+    return unless $biblionumber;
     my $dbh   = C4::Context->dbh;
     my $query = "
         SELECT issues.*,items.barcode,biblio.biblionumber,biblio.title, biblio.author,borrowers.cardnumber,borrowers.surname,borrowers.firstname
@@ -2329,13 +2507,13 @@ from the book's item type.
 =cut
 
 sub AddRenewal {
-    my $borrowernumber  = shift or return undef;
-    my $itemnumber      = shift or return undef;
+    my $borrowernumber  = shift or return;
+    my $itemnumber      = shift or return;
     my $branch          = shift;
     my $datedue         = shift;
     my $lastreneweddate = shift || DateTime->now(time_zone => C4::Context->tz)->ymd();
-    my $item   = GetItem($itemnumber) or return undef;
-    my $biblio = GetBiblioFromItemNumber($itemnumber) or return undef;
+    my $item   = GetItem($itemnumber) or return;
+    my $biblio = GetBiblioFromItemNumber($itemnumber) or return;
 
     my $dbh = C4::Context->dbh;
     # Find the issues record for this book
@@ -2356,7 +2534,7 @@ sub AddRenewal {
     # based on the value of the RenewalPeriodBase syspref.
     unless ($datedue) {
 
-        my $borrower = C4::Members::GetMember( borrowernumber => $borrowernumber ) or return undef;
+        my $borrower = C4::Members::GetMember( borrowernumber => $borrowernumber ) or return;
         my $itemtype = (C4::Context->preference('item-level_itypes')) ? $biblio->{'itype'} : $biblio->{'itemtype'};
 
         $datedue = (C4::Context->preference('RenewalPeriodBase') eq 'date_due') ?
@@ -2398,7 +2576,7 @@ sub AddRenewal {
             'Rent', $charge, $itemnumber );
     }
     # Log the renewal
-    UpdateStats( $branch, 'renew', $charge, '', $itemnumber, $item->{itype}, $borrowernumber);
+    UpdateStats( $branch, 'renew', $charge, '', $itemnumber, $item->{itype}, $borrowernumber, undef, $item->{'ccode'});
        return $datedue;
 }
 
@@ -3064,10 +3242,12 @@ sub ReturnLostItem{
 
     MarkIssueReturned( $borrowernumber, $itemnum );
     my $borrower = C4::Members::GetMember( 'borrowernumber'=>$borrowernumber );
+    my $item = C4::Items::GetItem( $itemnum );
+    my $old_note = ($item->{'paidfor'} && ($item->{'paidfor'} ne q{})) ? $item->{'paidfor'}.' / ' : q{};
     my @datearr = localtime(time);
     my $date = ( 1900 + $datearr[5] ) . "-" . ( $datearr[4] + 1 ) . "-" . $datearr[3];
     my $bor = "$borrower->{'firstname'} $borrower->{'surname'} $borrower->{'cardnumber'}";
-    ModItem({ paidfor =>  "Paid for by $bor $date" }, undef, $itemnum);
+    ModItem({ paidfor =>  $old_note."Paid for by $bor $date" }, undef, $itemnum);
 }
 
 
index 9ce6c74..a95c6b6 100644 (file)
@@ -276,7 +276,7 @@ sub memcached {
     if ($ismemcached) {
       return $memcached;
     } else {
-      return undef;
+      return;
     }
 }
 
@@ -293,7 +293,7 @@ sub db_scheme2dbi {
         if (/Postgres|Pg|PostgresSQL/) { return("Pg"); }
         if (/oracle/) { return("Oracle"); }
     }
-    return undef;         # Just in case
+    return;         # Just in case
 }
 
 sub import {
@@ -358,7 +358,7 @@ sub new {
             $conf_fname = CONFIG_FNAME;
         } else {
             warn "unable to locate Koha configuration file koha-conf.xml";
-            return undef;
+            return;
         }
     }
     
@@ -376,7 +376,7 @@ sub new {
 
     $self->{"config_file"} = $conf_fname;
     warn "read_config_file($conf_fname) returned undef" if !defined($self->{"config"});
-    return undef if !defined($self->{"config"});
+    return if !defined($self->{"config"});
 
     $self->{"dbh"} = undef;        # Database handle
     $self->{"Zconn"} = undef;    # Zebra Connections
@@ -480,10 +480,10 @@ C<C4::Config-E<gt>new> will not return it.
 
 =cut
 
-sub _common_config ($$) {
+sub _common_config {
        my $var = shift;
        my $term = shift;
-    return undef if !defined($context->{$term});
+    return if !defined($context->{$term});
        # Presumably $self->{$term} might be
        # undefined if the config file given to &new
        # didn't exist, and the caller didn't bother
@@ -545,7 +545,7 @@ END_SQL
     return $sysprefs{$var};
 }
 
-sub boolean_preference ($) {
+sub boolean_preference {
     my $self = shift;
     my $var = shift;        # The system preference to return
     my $it = preference($self, $var);
@@ -1009,7 +1009,7 @@ set_userenv is called in Auth.pm
 #'
 sub set_userenv {
     my ($usernum, $userid, $usercnum, $userfirstname, $usersurname, $userbranch, $branchname, $userflags, $emailaddress, $branchprinter)= @_;
-    my $var=$context->{"activeuser"};
+    my $var=$context->{"activeuser"} || '';
     my $cell = {
         "number"     => $usernum,
         "id"         => $userid,
@@ -1027,19 +1027,19 @@ sub set_userenv {
     return $cell;
 }
 
-sub set_shelves_userenv ($$) {
-       my ($type, $shelves) = @_ or return undef;
-       my $activeuser = $context->{activeuser} or return undef;
+sub set_shelves_userenv {
+       my ($type, $shelves) = @_ or return;
+       my $activeuser = $context->{activeuser} or return;
        $context->{userenv}->{$activeuser}->{barshelves} = $shelves if $type eq 'bar';
        $context->{userenv}->{$activeuser}->{pubshelves} = $shelves if $type eq 'pub';
        $context->{userenv}->{$activeuser}->{totshelves} = $shelves if $type eq 'tot';
 }
 
-sub get_shelves_userenv () {
+sub get_shelves_userenv {
        my $active;
        unless ($active = $context->{userenv}->{$context->{activeuser}}) {
                $debug and warn "get_shelves_userenv cannot retrieve context->{userenv}->{context->{activeuser}}";
-               return undef;
+               return;
        }
        my $totshelves = $active->{totshelves} or undef;
        my $pubshelves = $active->{pubshelves} or undef;
index 41ff548..871e32b 100644 (file)
@@ -168,7 +168,7 @@ sub prAltJpeg
 {  my ($iData, $iWidth, $iHeight, $iFormat,$aiData, $aiWidth, $aiHeight, $aiFormat) = @_;
    my ($namnet, $utrad);
    if (! $PDF::Reuse::pos)                    # If no output is active, it is no use to continue
-   {   return undef;
+   {   return;
    }
    prJpegBlob($aiData, $aiWidth, $aiHeight, $aiFormat);
    my $altObjNr = $PDF::Reuse::objNr;
@@ -198,7 +198,7 @@ sub prJpegBlob
 {  my ($iData, $iWidth, $iHeight, $iFormat, $altArrayObjNr) = @_;
    my ($iLangd, $namnet, $utrad);
    if (! $PDF::Reuse::pos)                    # If no output is active, it is no use to continue
-   {   return undef;
+   {   return;
    }
    my $checkidOld = $PDF::Reuse::checkId;
    if (!$iFormat)
@@ -209,16 +209,16 @@ sub prJpegBlob
           $namnet = 'Ig' . $PDF::Reuse::imageNr;
           $PDF::Reuse::objNr++;
           $PDF::Reuse::objekt[$PDF::Reuse::objNr] = $PDF::Reuse::pos;
-          open (BILDFIL, "<$iFile") || errLog("Couldn't open $iFile, $!, aborts");
-          binmode BILDFIL;
+          open (my $fh, '<', "$iFile") || errLog("Couldn't open $iFile, $!, aborts");
+          binmode $fh;
           my $iStream;
-          sysread BILDFIL, $iStream, $iLangd;
+          sysread $fh, $iStream, $iLangd;
           $utrad = "$PDF::Reuse::objNr 0 obj\n<</Type/XObject/Subtype/Image/Name/$namnet" .
                     "/Width $iWidth /Height $iHeight /BitsPerComponent 8 " .
                     ($altArrayObjNr ? "/Alternates $altArrayObjNr 0 R " : "") .
                     "/Filter/DCTDecode/ColorSpace/DeviceRGB"
                     . "/Length $iLangd >>stream\n$iStream\nendstream\nendobj\n";
-          close BILDFIL;
+          close $fh;
           $PDF::Reuse::pos += syswrite $PDF::Reuse::UTFIL, $utrad;
           if ($PDF::Reuse::runfil)
           {  $PDF::Reuse::log .= "Cid~$PDF::Reuse::checkId\n";
index 95cf634..74270ff 100644 (file)
--- a/C4/Csv.pm
+++ b/C4/Csv.pm
@@ -35,6 +35,7 @@ $VERSION = 3.07.00.049;
 @EXPORT = qw(
   &GetCsvProfiles
   &GetCsvProfile
+  &GetCsvProfileId
   &GetCsvProfilesLoop
   &GetMarcFieldsForCsv
 );
@@ -64,6 +65,18 @@ sub GetCsvProfile {
     return ($sth->fetchrow_hashref);
 }
 
+# Returns id of csv profile about a given csv profile name
+sub GetCsvProfileId {
+    my ($name)  = @_;
+    my $dbh   = C4::Context->dbh;
+    my $query = "SELECT export_format_id FROM export_format WHERE profile=?";
+
+    $sth = $dbh->prepare($query);
+    $sth->execute($name);
+
+    return ( $sth->fetchrow );
+}
+
 # Returns fields to extract for the given csv profile
 sub GetMarcFieldsForCsv {
 
index d752677..d49aa8d 100644 (file)
@@ -50,26 +50,26 @@ sub initialize {
                        #"Mozilla/4.76 [en] (Win98; U)",        #  if for some reason you want to go stealth, you might prefer this
 }
 
-sub image_url (;$) {
-       ($user and $pass) or return undef;
+sub image_url {
+       ($user and $pass) or return;
        my $isbn = (@_ ? shift : '');
        $isbn =~ s/(p|-)//g;    # sanitize
        return $image_url . $isbn;
 }
-sub link_url (;$) {
+sub link_url {
        my $isbn = (@_ ? shift : '');
        $isbn =~ s/(p|-)//g;    # sanitize
-       $link_url or return undef;
+       $link_url or return;
        return $link_url . $isbn;
 }
-sub content_cafe_url ($) {
-       ($user and $pass) or return undef;
+sub content_cafe_url {
+       ($user and $pass) or return;
        my $isbn = (@_ ? shift : '');
        $isbn =~ s/(p|-)//g;    # sanitize
        return "http://contentcafe2.btol.com/ContentCafeClient/ContentCafe.aspx?UserID=$user&Password=$pass&Options=Y&ItemKey=$isbn";
 }
-sub http_jacket_link ($) {
-       my $isbn = shift or return undef;
+sub http_jacket_link {
+       my $isbn = shift or return;
        $isbn =~ s/(p|-)//g;    # sanitize
        my $image = availability($isbn);
        my $alt = "Buy this book";
@@ -79,9 +79,9 @@ sub http_jacket_link ($) {
        return sprintf qq(<a class="btlink" href="%s">%s</a>),$link,($image||$alt);
 }
 
-sub availability ($) {
-       my $isbn = shift or return undef;
-       ($user and $pass) or return undef;
+sub availability {
+       my $isbn = shift or return;
+       ($user and $pass) or return;
        $isbn =~ s/(p|-)//g;    # sanitize
        my $url = "http://contentcafe2.btol.com/ContentCafe/InventoryAvailability.asmx/CheckInventory?UserID=$user&Password=$pass&Value=$isbn";
        $debug and warn __PACKAGE__ . " request:\n$url\n";
diff --git a/C4/HoldsQueue.pm b/C4/HoldsQueue.pm
new file mode 100755 (executable)
index 0000000..608732f
--- /dev/null
@@ -0,0 +1,622 @@
+package C4::HoldsQueue;
+
+# Copyright 2011 Catalyst IT
+#
+# This file is part of Koha.
+#
+# Koha is free software; you can redistribute it and/or modify it under the
+# terms of the GNU General Public License as published by the Free Software
+# Foundation; either version 2 of the License, or (at your option) any later
+# version.
+#
+# Koha is distributed in the hope that it will be useful, but WITHOUT ANY
+# WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR
+# A PARTICULAR PURPOSE.  See the GNU General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License along
+# with Koha; if not, write to the Free Software Foundation, Inc.,
+# 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
+
+# FIXME: expand perldoc, explain intended logic
+
+use strict;
+use warnings;
+
+use C4::Context;
+use C4::Search;
+use C4::Items;
+use C4::Branch;
+use C4::Circulation;
+use C4::Members;
+use C4::Biblio;
+use C4::Dates qw/format_date/;
+
+use List::Util qw(shuffle);
+use Data::Dumper;
+
+use vars qw($VERSION @ISA @EXPORT @EXPORT_OK %EXPORT_TAGS);
+BEGIN {
+    $VERSION = 3.03;
+    require Exporter;
+    @ISA = qw(Exporter);
+    @EXPORT_OK = qw(
+        &CreateQueue
+        &GetHoldsQueueItems
+
+        &TransportCostMatrix
+        &UpdateTransportCostMatrix
+     );
+}
+
+# XXX This is not safe in a persistant environment
+my $dbh   = C4::Context->dbh;
+
+=head1 FUNCTIONS
+
+=head2 TransportCostMatrix
+
+  TransportCostMatrix();
+
+Returns Transport Cost Matrix as a hashref <to branch code> => <from branch code> => cost
+
+=cut
+
+sub TransportCostMatrix {
+    my $transport_costs = $dbh->selectall_arrayref("SELECT * FROM transport_cost",{ Slice => {} });
+
+    my %transport_cost_matrix;
+    foreach (@$transport_costs) {
+        my $from = $_->{frombranch};
+        my $to = $_->{tobranch};
+        my $cost = $_->{cost};
+        my $disabled = $_->{disable_transfer};
+        $transport_cost_matrix{$to}{$from} = { cost => $cost, disable_transfer => $disabled };
+    }
+    return \%transport_cost_matrix;
+}
+
+=head2 UpdateTransportCostMatrix
+
+  UpdateTransportCostMatrix($records);
+
+Updates full Transport Cost Matrix table. $records is an arrayref of records.
+Records: { frombranch => <code>, tobranch => <code>, cost => <figure>, disable_transfer => <0,1> }
+
+=cut
+
+sub UpdateTransportCostMatrix {
+    my ($records) = @_;
+
+    my $sth = $dbh->prepare("INSERT INTO transport_cost (frombranch, tobranch, cost, disable_transfer) VALUES (?, ?, ?, ?)");
+
+    $dbh->do("TRUNCATE TABLE transport_cost");
+    foreach (@$records) {
+        my $cost = $_->{cost};
+        my $from = $_->{frombranch};
+        my $to = $_->{tobranch};
+        if ($_->{disable_transfer}) {
+            $cost ||= 0;
+        }
+        elsif ( !defined ($cost) || ($cost !~ m/(0|[1-9][0-9]*)(\.[0-9]*)?/o) ) {
+            warn  "Invalid $from -> $to cost $cost - must be a number >= 0, disablig";
+            $cost = 0;
+            $_->{disable_transfer} = 1;
+        }
+        $sth->execute( $from, $to, $cost, $_->{disable_transfer} ? 1 : 0 );
+    }
+}
+
+=head2 GetHoldsQueueItems
+
+  GetHoldsQueueItems($branch);
+
+Returns hold queue for a holding branch. If branch is omitted, then whole queue is returned
+
+=cut
+
+sub GetHoldsQueueItems {
+    my ($branchlimit) = @_;
+
+    my @bind_params = ();
+    my $query = q/SELECT tmp_holdsqueue.*, biblio.author, items.ccode, items.location, items.enumchron, items.cn_sort, biblioitems.publishercode,biblio.copyrightdate,biblioitems.publicationyear,biblioitems.pages,biblioitems.size,biblioitems.publicationyear,biblioitems.isbn,items.copynumber
+                  FROM tmp_holdsqueue
+                       JOIN biblio      USING (biblionumber)
+                  LEFT JOIN biblioitems USING (biblionumber)
+                  LEFT JOIN items       USING (  itemnumber)
+                /;
+    if ($branchlimit) {
+        $query .=" WHERE tmp_holdsqueue.holdingbranch = ?";
+        push @bind_params, $branchlimit;
+    }
+    $query .= " ORDER BY ccode, location, cn_sort, author, title, pickbranch, reservedate";
+    my $sth = $dbh->prepare($query);
+    $sth->execute(@bind_params);
+    my $items = [];
+    while ( my $row = $sth->fetchrow_hashref ){
+        $row->{reservedate} = format_date($row->{reservedate});
+        my $record = GetMarcBiblio($row->{biblionumber});
+        if ($record){
+            $row->{subtitle} = GetRecordValue('subtitle',$record,'')->[0]->{subfield};
+            $row->{parts} = GetRecordValue('parts',$record,'')->[0]->{subfield};
+            $row->{numbers} = GetRecordValue('numbers',$record,'')->[0]->{subfield};
+        }
+        push @$items, $row;
+    }
+    return $items;
+}
+
+=head2 CreateQueue
+
+  CreateQueue();
+
+Top level function that turns reserves into tmp_holdsqueue and hold_fill_targets.
+
+=cut
+
+sub CreateQueue {
+
+    $dbh->do("DELETE FROM tmp_holdsqueue");  # clear the old table for new info
+    $dbh->do("DELETE FROM hold_fill_targets");
+
+    my $total_bibs            = 0;
+    my $total_requests        = 0;
+    my $total_available_items = 0;
+    my $num_items_mapped      = 0;
+
+    my $branches_to_use;
+    my $transport_cost_matrix;
+    my $use_transport_cost_matrix = C4::Context->preference("UseTransportCostMatrix");
+    if ($use_transport_cost_matrix) {
+        $transport_cost_matrix = TransportCostMatrix();
+        unless (keys %$transport_cost_matrix) {
+            warn "UseTransportCostMatrix set to yes, but matrix not populated";
+            undef $transport_cost_matrix;
+        }
+    }
+    unless ($transport_cost_matrix) {
+        $branches_to_use = load_branches_to_pull_from();
+    }
+
+    my $bibs_with_pending_requests = GetBibsWithPendingHoldRequests();
+
+    foreach my $biblionumber (@$bibs_with_pending_requests) {
+        $total_bibs++;
+        my $hold_requests   = GetPendingHoldRequestsForBib($biblionumber);
+        my $available_items = GetItemsAvailableToFillHoldRequestsForBib($biblionumber, $branches_to_use);
+        $total_requests        += scalar(@$hold_requests);
+        $total_available_items += scalar(@$available_items);
+
+        my $item_map = MapItemsToHoldRequests($hold_requests, $available_items, $branches_to_use, $transport_cost_matrix);
+        $item_map  or next;
+        my $item_map_size = scalar(keys %$item_map)
+          or next;
+
+        $num_items_mapped += $item_map_size;
+        CreatePicklistFromItemMap($item_map);
+        AddToHoldTargetMap($item_map);
+        if (($item_map_size < scalar(@$hold_requests  )) and
+            ($item_map_size < scalar(@$available_items))) {
+            # DOUBLE CHECK, but this is probably OK - unfilled item-level requests
+            # FIXME
+            #warn "unfilled requests for $biblionumber";
+            #warn Dumper($hold_requests), Dumper($available_items), Dumper($item_map);
+        }
+    }
+}
+
+=head2 GetBibsWithPendingHoldRequests
+
+  my $biblionumber_aref = GetBibsWithPendingHoldRequests();
+
+Return an arrayref of the biblionumbers of all bibs
+that have one or more unfilled hold requests.
+
+=cut
+
+sub GetBibsWithPendingHoldRequests {
+    my $dbh = C4::Context->dbh;
+
+    my $bib_query = "SELECT DISTINCT biblionumber
+                     FROM reserves
+                     WHERE found IS NULL
+                     AND priority > 0
+                     AND reservedate <= CURRENT_DATE()";
+    my $sth = $dbh->prepare($bib_query);
+
+    $sth->execute();
+    my $biblionumbers = $sth->fetchall_arrayref();
+
+    return [ map { $_->[0] } @$biblionumbers ];
+}
+
+=head2 GetPendingHoldRequestsForBib
+
+  my $requests = GetPendingHoldRequestsForBib($biblionumber);
+
+Returns an arrayref of hashrefs to pending, unfilled hold requests
+on the bib identified by $biblionumber.  The following keys
+are present in each hashref:
+
+    biblionumber
+    borrowernumber
+    itemnumber
+    priority
+    branchcode
+    reservedate
+    reservenotes
+    borrowerbranch
+
+The arrayref is sorted in order of increasing priority.
+
+=cut
+
+sub GetPendingHoldRequestsForBib {
+    my $biblionumber = shift;
+
+    my $dbh = C4::Context->dbh;
+
+    my $request_query = "SELECT biblionumber, borrowernumber, itemnumber, priority, reserves.branchcode,
+                                reservedate, reservenotes, borrowers.branchcode AS borrowerbranch
+                         FROM reserves
+                         JOIN borrowers USING (borrowernumber)
+                         WHERE biblionumber = ?
+                         AND found IS NULL
+                         AND priority > 0
+                         AND reservedate <= CURRENT_DATE()
+                         ORDER BY priority";
+    my $sth = $dbh->prepare($request_query);
+    $sth->execute($biblionumber);
+
+    my $requests = $sth->fetchall_arrayref({});
+    return $requests;
+
+}
+
+=head2 GetItemsAvailableToFillHoldRequestsForBib
+
+  my $available_items = GetItemsAvailableToFillHoldRequestsForBib($biblionumber, $branches_ar);
+
+Returns an arrayref of items available to fill hold requests
+for the bib identified by C<$biblionumber>.  An item is available
+to fill a hold request if and only if:
+
+    * it is not on loan
+    * it is not withdrawn
+    * it is not marked notforloan
+    * it is not currently in transit
+    * it is not lost
+    * it is not sitting on the hold shelf
+
+=cut
+
+sub GetItemsAvailableToFillHoldRequestsForBib {
+    my ($biblionumber, $branches_to_use) = @_;
+
+    my $dbh = C4::Context->dbh;
+    my $items_query = "SELECT itemnumber, homebranch, holdingbranch, itemtypes.itemtype AS itype
+                       FROM items ";
+
+    if (C4::Context->preference('item-level_itypes')) {
+        $items_query .=   "LEFT JOIN itemtypes ON (itemtypes.itemtype = items.itype) ";
+    } else {
+        $items_query .=   "JOIN biblioitems USING (biblioitemnumber)
+                           LEFT JOIN itemtypes USING (itemtype) ";
+    }
+    $items_query .=   "WHERE items.notforloan = 0
+                       AND holdingbranch IS NOT NULL
+                       AND itemlost = 0
+                       AND wthdrawn = 0";
+    $items_query .= "  AND damaged = 0" unless C4::Context->preference('AllowHoldsOnDamagedItems');
+    $items_query .= "  AND items.onloan IS NULL
+                       AND (itemtypes.notforloan IS NULL OR itemtypes.notforloan = 0)
+                       AND itemnumber NOT IN (
+                           SELECT itemnumber
+                           FROM reserves
+                           WHERE biblionumber = ?
+                           AND itemnumber IS NOT NULL
+                           AND (found IS NOT NULL OR priority = 0)
+                        )
+                       AND items.biblionumber = ?";
+    $items_query .=  " AND damaged = 0 "
+      unless C4::Context->preference('AllowHoldsOnDamagedItems');
+
+    my @params = ($biblionumber, $biblionumber);
+    if ($branches_to_use && @$branches_to_use) {
+        $items_query .= " AND holdingbranch IN (" . join (",", map { "?" } @$branches_to_use) . ")";
+        push @params, @$branches_to_use;
+    }
+    my $sth = $dbh->prepare($items_query);
+    $sth->execute(@params);
+
+    my $itm = $sth->fetchall_arrayref({});
+    my @items = grep { ! scalar GetTransfers($_->{itemnumber}) } @$itm;
+    return [ grep {
+        my $rule = GetBranchItemRule($_->{homebranch}, $_->{itype});
+        $_->{holdallowed} = $rule->{holdallowed} != 0
+    } @items ];
+}
+
+=head2 MapItemsToHoldRequests
+
+  MapItemsToHoldRequests($hold_requests, $available_items, $branches, $transport_cost_matrix)
+
+=cut
+
+sub MapItemsToHoldRequests {
+    my ($hold_requests, $available_items, $branches_to_use, $transport_cost_matrix) = @_;
+
+    # handle trival cases
+    return unless scalar(@$hold_requests) > 0;
+    return unless scalar(@$available_items) > 0;
+
+    my $automatic_return = C4::Context->preference("AutomaticItemReturn");
+
+    # identify item-level requests
+    my %specific_items_requested = map { $_->{itemnumber} => 1 }
+                                   grep { defined($_->{itemnumber}) }
+                                   @$hold_requests;
+
+    # group available items by itemnumber
+    my %items_by_itemnumber = map { $_->{itemnumber} => $_ } @$available_items;
+
+    # items already allocated
+    my %allocated_items = ();
+
+    # map of items to hold requests
+    my %item_map = ();
+
+    # figure out which item-level requests can be filled
+    my $num_items_remaining = scalar(@$available_items);
+    foreach my $request (@$hold_requests) {
+        last if $num_items_remaining == 0;
+
+        # is this an item-level request?
+        if (defined($request->{itemnumber})) {
+            # fill it if possible; if not skip it
+            if (exists $items_by_itemnumber{$request->{itemnumber}} and
+                not exists $allocated_items{$request->{itemnumber}}) {
+                $item_map{$request->{itemnumber}} = {
+                    borrowernumber => $request->{borrowernumber},
+                    biblionumber => $request->{biblionumber},
+                    holdingbranch =>  $items_by_itemnumber{$request->{itemnumber}}->{holdingbranch},
+                    pickup_branch => $request->{branchcode} || $request->{borrowerbranch},
+                    item_level => 1,
+                    reservedate => $request->{reservedate},
+                    reservenotes => $request->{reservenotes},
+                };
+                $allocated_items{$request->{itemnumber}}++;
+                $num_items_remaining--;
+            }
+        } else {
+            # it's title-level request that will take up one item
+            $num_items_remaining--;
+        }
+    }
+
+    # group available items by branch
+    my %items_by_branch = ();
+    foreach my $item (@$available_items) {
+        next unless $item->{holdallowed};
+
+        push @{ $items_by_branch{  $automatic_return ? $item->{homebranch}
+                                                     : $item->{holdingbranch} } }, $item
+          unless exists $allocated_items{ $item->{itemnumber} };
+    }
+    return unless keys %items_by_branch;
+
+    # now handle the title-level requests
+    $num_items_remaining = scalar(@$available_items) - scalar(keys %allocated_items);
+    my $pull_branches;
+    foreach my $request (@$hold_requests) {
+        last if $num_items_remaining == 0;
+        next if defined($request->{itemnumber}); # already handled these
+
+        # look for local match first
+        my $pickup_branch = $request->{branchcode} || $request->{borrowerbranch};
+        my ($itemnumber, $holdingbranch);
+
+        my $holding_branch_items = $automatic_return ? undef : $items_by_branch{$pickup_branch};
+        if ( $holding_branch_items ) {
+            foreach my $item (@$holding_branch_items) {
+                if ( $request->{borrowerbranch} eq $item->{homebranch} ) {
+                    $itemnumber = $item->{itemnumber};
+                    last;
+                }
+            }
+            $holdingbranch = $pickup_branch;
+            $itemnumber ||= $holding_branch_items->[0]->{itemnumber};
+        }
+        elsif ($transport_cost_matrix) {
+            $pull_branches = [keys %items_by_branch];
+            $holdingbranch = least_cost_branch( $pickup_branch, $pull_branches, $transport_cost_matrix );
+            if ( $holdingbranch ) {
+
+                my $holding_branch_items = $items_by_branch{$holdingbranch};
+                foreach my $item (@$holding_branch_items) {
+                    next if $request->{borrowerbranch} ne $item->{homebranch};
+
+                    $itemnumber = $item->{itemnumber};
+                    last;
+                }
+                $itemnumber ||= $holding_branch_items->[0]->{itemnumber};
+            }
+            else {
+                warn "No transport costs for $pickup_branch";
+            }
+        }
+
+        unless ($itemnumber) {
+            # not found yet, fall back to basics
+            if ($branches_to_use) {
+                $pull_branches = $branches_to_use;
+            } else {
+                $pull_branches = [keys %items_by_branch];
+            }
+            PULL_BRANCHES:
+            foreach my $branch (@$pull_branches) {
+                my $holding_branch_items = $items_by_branch{$branch}
+                  or next;
+
+                $holdingbranch ||= $branch;
+                foreach my $item (@$holding_branch_items) {
+                    next if $pickup_branch ne $item->{homebranch};
+
+                    $itemnumber = $item->{itemnumber};
+                    $holdingbranch = $branch;
+                    last PULL_BRANCHES;
+                }
+            }
+            $itemnumber ||= $items_by_branch{$holdingbranch}->[0]->{itemnumber}
+              if $holdingbranch;
+        }
+
+        if ($itemnumber) {
+            my $holding_branch_items = $items_by_branch{$holdingbranch}
+              or die "Have $itemnumber, $holdingbranch, but no items!";
+            @$holding_branch_items = grep { $_->{itemnumber} != $itemnumber } @$holding_branch_items;
+            delete $items_by_branch{$holdingbranch} unless @$holding_branch_items;
+
+            $item_map{$itemnumber} = {
+                borrowernumber => $request->{borrowernumber},
+                biblionumber => $request->{biblionumber},
+                holdingbranch => $holdingbranch,
+                pickup_branch => $pickup_branch,
+                item_level => 0,
+                reservedate => $request->{reservedate},
+                reservenotes => $request->{reservenotes},
+            };
+            $num_items_remaining--;
+        }
+    }
+    return \%item_map;
+}
+
+=head2 CreatePickListFromItemMap
+
+=cut
+
+sub CreatePicklistFromItemMap {
+    my $item_map = shift;
+
+    my $dbh = C4::Context->dbh;
+
+    my $sth_load=$dbh->prepare("
+        INSERT INTO tmp_holdsqueue (biblionumber,itemnumber,barcode,surname,firstname,phone,borrowernumber,
+                                    cardnumber,reservedate,title, itemcallnumber,
+                                    holdingbranch,pickbranch,notes, item_level_request)
+        VALUES (?,?,?,?,?,?,?,?,?,?,?,?,?,?,?)
+    ");
+
+    foreach my $itemnumber  (sort keys %$item_map) {
+        my $mapped_item = $item_map->{$itemnumber};
+        my $biblionumber = $mapped_item->{biblionumber};
+        my $borrowernumber = $mapped_item->{borrowernumber};
+        my $pickbranch = $mapped_item->{pickup_branch};
+        my $holdingbranch = $mapped_item->{holdingbranch};
+        my $reservedate = $mapped_item->{reservedate};
+        my $reservenotes = $mapped_item->{reservenotes};
+        my $item_level = $mapped_item->{item_level};
+
+        my $item = GetItem($itemnumber);
+        my $barcode = $item->{barcode};
+        my $itemcallnumber = $item->{itemcallnumber};
+
+        my $borrower = GetMember('borrowernumber'=>$borrowernumber);
+        my $cardnumber = $borrower->{'cardnumber'};
+        my $surname = $borrower->{'surname'};
+        my $firstname = $borrower->{'firstname'};
+        my $phone = $borrower->{'phone'};
+
+        my $bib = GetBiblioData($biblionumber);
+        my $title = $bib->{title};
+
+        $sth_load->execute($biblionumber, $itemnumber, $barcode, $surname, $firstname, $phone, $borrowernumber,
+                           $cardnumber, $reservedate, $title, $itemcallnumber,
+                           $holdingbranch, $pickbranch, $reservenotes, $item_level);
+    }
+}
+
+=head2 AddToHoldTargetMap
+
+=cut
+
+sub AddToHoldTargetMap {
+    my $item_map = shift;
+
+    my $dbh = C4::Context->dbh;
+
+    my $insert_sql = q(
+        INSERT INTO hold_fill_targets (borrowernumber, biblionumber, itemnumber, source_branchcode, item_level_request)
+                               VALUES (?, ?, ?, ?, ?)
+    );
+    my $sth_insert = $dbh->prepare($insert_sql);
+
+    foreach my $itemnumber (keys %$item_map) {
+        my $mapped_item = $item_map->{$itemnumber};
+        $sth_insert->execute($mapped_item->{borrowernumber}, $mapped_item->{biblionumber}, $itemnumber,
+                             $mapped_item->{holdingbranch}, $mapped_item->{item_level});
+    }
+}
+
+# Helper functions, not part of any interface
+
+sub _trim {
+    return $_[0] unless $_[0];
+    $_[0] =~ s/^\s+//;
+    $_[0] =~ s/\s+$//;
+    $_[0];
+}
+
+sub load_branches_to_pull_from {
+    my $static_branch_list = C4::Context->preference("StaticHoldsQueueWeight")
+      or return;
+
+    my @branches_to_use = map _trim($_), split /,/, $static_branch_list;
+
+    @branches_to_use = shuffle(@branches_to_use) if  C4::Context->preference("RandomizeHoldsQueueWeight");
+
+    return \@branches_to_use;
+}
+
+sub least_cost_branch {
+
+    #$from - arrayref
+    my ($to, $from, $transport_cost_matrix) = @_;
+
+# Nothing really spectacular: supply to branch, a list of potential from branches
+# and find the minimum from - to value from the transport_cost_matrix
+    return $from->[0] if @$from == 1;
+
+    my ($least_cost, @branch);
+    foreach (@$from) {
+        my $cell = $transport_cost_matrix->{$to}{$_};
+        next if $cell->{disable_transfer};
+
+        my $cost = $cell->{cost};
+        next unless defined $cost; # XXX should this be reported?
+
+        unless (defined $least_cost) {
+            $least_cost = $cost;
+            push @branch, $_;
+            next;
+        }
+
+        next if $cost > $least_cost;
+
+        if ($cost == $least_cost) {
+            push @branch, $_;
+            next;
+        }
+
+        @branch = ($_);
+        $least_cost = $cost;
+    }
+
+    return $branch[0];
+
+    # XXX return a random @branch with minimum cost instead of the first one;
+    # return $branch[0] if @branch == 1;
+}
+
+
+1;
index 4eed936..5a62954 100644 (file)
@@ -26,7 +26,7 @@ use C4::Circulation;
 use C4::Branch;
 use C4::Accounts;
 use C4::Biblio;
-use C4::Reserves qw(AddReserve CancelReserve GetReservesFromBiblionumber GetReservesFromBorrowernumber);
+use C4::Reserves qw(AddReserve CancelReserve GetReservesFromBiblionumber GetReservesFromBorrowernumber CanBookBeReserved CanItemBeReserved);
 use C4::Context;
 use C4::AuthoritiesMarc;
 use C4::ILSDI::Utility;
@@ -411,7 +411,7 @@ sub GetPatronInfo {
             # Add additional fields
             $reserve->{'item'}       = $item;
             $reserve->{'branchname'} = $branchname;
-            $reserve->{'title'}      = ( GetBiblio( $reserve->{'biblionumber'} ) )[1]->{'title'};
+            $reserve->{'title'}      = GetBiblio( $reserve->{'biblionumber'} )->{'title'};
         }
         $borrower->{'holds'}->{'hold'} = \@reserves;
     }
@@ -419,6 +419,10 @@ sub GetPatronInfo {
     # Issues management
     if ( $cgi->param('show_loans') eq "1" ) {
         my $issues = GetPendingIssues($borrowernumber);
+        foreach my $issue ( @$issues ){
+            $issue->{'issuedate'} = $issue->{'issuedate'}->strftime('%Y-%m-%d %H:%M');
+            $issue->{'date_due'} = $issue->{'date_due'}->strftime('%Y-%m-%d %H:%M');
+        }
         $borrower->{'loans'}->{'loan'} = $issues;
     }
 
@@ -597,7 +601,7 @@ sub HoldTitle {
 
     # Get the biblio record, or return an error code
     my $biblionumber = $cgi->param('bib_id');
-    my ( $count, $biblio ) = GetBiblio( $biblionumber );
+    my $biblio = GetBiblio( $biblionumber );
     return { code => 'RecordNotFound' } unless $$biblio{biblionumber};
     
     my $title = $$biblio{title};
@@ -662,7 +666,7 @@ sub HoldItem {
 
     # Get the biblio or return an error code
     my $biblionumber = $cgi->param('bib_id');
-    my ( $count, $biblio ) = GetBiblio($biblionumber);
+    my $biblio = GetBiblio($biblionumber);
     return { code => 'RecordNotFound' } unless $$biblio{biblionumber};
 
     my $title = $$biblio{title};
index a64a0d2..15f1acb 100644 (file)
@@ -1,6 +1,6 @@
 package C4::ImportBatch;
 
-# Copyright (C) 2007 LibLime
+# Copyright (C) 2007 LibLime, 2012 C & P Bibliography Services
 #
 # This file is part of Koha.
 #
@@ -25,6 +25,7 @@ use C4::Koha;
 use C4::Biblio;
 use C4::Items;
 use C4::Charset;
+use C4::AuthoritiesMarc;
 
 use vars qw($VERSION @ISA @EXPORT @EXPORT_OK %EXPORT_TAGS);
 
@@ -40,21 +41,23 @@ BEGIN {
     GetImportRecordMarcXML
     AddImportBatch
     GetImportBatch
+    AddAuthToBatch
     AddBiblioToBatch
     AddItemsToImportBiblio
+    ModAuthorityInBatch
     ModBiblioInBatch
 
     BatchStageMarcRecords
-    BatchFindBibDuplicates
-    BatchCommitBibRecords
-    BatchRevertBibRecords
+    BatchFindDuplicates
+    BatchCommitRecords
+    BatchRevertRecords
     CleanBatch
 
     GetAllImportBatches
     GetStagedWebserviceBatches
     GetImportBatchRangeDesc
     GetNumberOfNonZ3950ImportBatches
-    GetImportBibliosRange
+    GetImportRecordsRange
        GetItemNumbersFromImportBatch
     
     GetImportBatchStatus
@@ -202,7 +205,7 @@ sub AddImportBatch {
     my (@fields, @vals);
     foreach (qw( matcher_id template_id branchcode
                  overlay_action nomatch_action item_action
-                 import_status batch_type file_name comments )) {
+                 import_status batch_type file_name comments record_type )) {
         if (exists $params->{$_}) {
             push @fields, $_;
             push @vals, $params->{$_};
@@ -252,7 +255,7 @@ sub AddBiblioToBatch {
     my $z3950random = shift;
     my $update_counts = @_ ? shift : 1;
 
-    my $import_record_id = _create_import_record($batch_id, $record_sequence, $marc_record, 'biblio', $encoding, $z3950random);
+    my $import_record_id = _create_import_record($batch_id, $record_sequence, $marc_record, 'biblio', $encoding, $z3950random, C4::Context->preference('marcflavour'));
     _add_biblio_fields($import_record_id, $marc_record);
     _update_batch_record_counts($batch_id) if $update_counts;
     return $import_record_id;
@@ -267,15 +270,53 @@ sub AddBiblioToBatch {
 sub ModBiblioInBatch {
     my ($import_record_id, $marc_record) = @_;
 
-    _update_import_record_marc($import_record_id, $marc_record);
+    _update_import_record_marc($import_record_id, $marc_record, C4::Context->preference('marcflavour'));
     _update_biblio_fields($import_record_id, $marc_record);
 
 }
 
+=head2 AddAuthToBatch
+
+  my $import_record_id = AddAuthToBatch($batch_id, $record_sequence,
+                $marc_record, $encoding, $z3950random, $update_counts, [$marc_type]);
+
+=cut
+
+sub AddAuthToBatch {
+    my $batch_id = shift;
+    my $record_sequence = shift;
+    my $marc_record = shift;
+    my $encoding = shift;
+    my $z3950random = shift;
+    my $update_counts = @_ ? shift : 1;
+    my $marc_type = shift || C4::Context->preference('marcflavour');
+
+    $marc_type = 'UNIMARCAUTH' if $marc_type eq 'UNIMARC';
+
+    my $import_record_id = _create_import_record($batch_id, $record_sequence, $marc_record, 'auth', $encoding, $z3950random, $marc_type);
+    _add_auth_fields($import_record_id, $marc_record);
+    _update_batch_record_counts($batch_id) if $update_counts;
+    return $import_record_id;
+}
+
+=head2 ModAuthInBatch
+
+  ModAuthInBatch($import_record_id, $marc_record);
+
+=cut
+
+sub ModAuthInBatch {
+    my ($import_record_id, $marc_record) = @_;
+
+    my $marcflavour = C4::Context->preference('marcflavour');
+    _update_import_record_marc($import_record_id, $marc_record, $marcflavour eq 'UNIMARC' ? 'UNIMARCAUTH' : 'USMARC');
+
+}
+
 =head2 BatchStageMarcRecords
 
   ($batch_id, $num_records, $num_items, @invalid_records) = 
-    BatchStageMarcRecords($encoding, $marc_records, $file_name, 
+    BatchStageMarcRecords($record_type, $encoding, $marc_records, $file_name,
                           $comments, $branch_code, $parse_items,
                           $leave_as_staging, 
                           $progress_interval, $progress_callback);
@@ -283,6 +324,7 @@ sub ModBiblioInBatch {
 =cut
 
 sub  BatchStageMarcRecords {
+    my $record_type = shift;
     my $encoding = shift;
     my $marc_records = shift;
     my $file_name = shift;
@@ -290,7 +332,7 @@ sub  BatchStageMarcRecords {
     my $branch_code = shift;
     my $parse_items = shift;
     my $leave_as_staging = shift;
-   
+
     # optional callback to monitor status 
     # of job
     my $progress_interval = 0;
@@ -308,6 +350,7 @@ sub  BatchStageMarcRecords {
             batch_type => 'batch',
             file_name => $file_name,
             comments => $comments,
+            record_type => $record_type,
         } );
     if ($parse_items) {
         SetImportBatchItemAction($batch_id, 'always_add');
@@ -315,6 +358,8 @@ sub  BatchStageMarcRecords {
         SetImportBatchItemAction($batch_id, 'ignore');
     }
 
+    my $marc_type = C4::Context->preference('marcflavour');
+    $marc_type .= 'AUTH' if ($marc_type eq 'UNIMARC' && $record_type eq 'auth');
     my @invalid_records = ();
     my $num_valid = 0;
     my $num_items = 0;
@@ -329,7 +374,7 @@ sub  BatchStageMarcRecords {
             &$progress_callback($rec_num);
         }
         my ($marc_record, $charset_guessed, $char_errors) =
-            MarcToUTF8Record($marc_blob, C4::Context->preference("marcflavour"), $encoding);
+            MarcToUTF8Record($marc_blob, $marc_type, $encoding);
 
         $encoding = $charset_guessed unless $encoding;
 
@@ -337,11 +382,19 @@ sub  BatchStageMarcRecords {
         if (scalar($marc_record->fields()) == 0) {
             push @invalid_records, $marc_blob;
         } else {
+
+            # Normalize the record so it doesn't have separated diacritics
+            SetUTF8Flag($marc_record);
+
             $num_valid++;
-            $import_record_id = AddBiblioToBatch($batch_id, $rec_num, $marc_record, $encoding, int(rand(99999)), 0);
-            if ($parse_items) {
-                my @import_items_ids = AddItemsToImportBiblio($batch_id, $import_record_id, $marc_record, 0);
-                $num_items += scalar(@import_items_ids);
+            if ($record_type eq 'biblio') {
+                $import_record_id = AddBiblioToBatch($batch_id, $rec_num, $marc_record, $encoding, int(rand(99999)), 0);
+                if ($parse_items) {
+                    my @import_items_ids = AddItemsToImportBiblio($batch_id, $import_record_id, $marc_record, 0);
+                    $num_items += scalar(@import_items_ids);
+                }
+            } elsif ($record_type eq 'auth') {
+                $import_record_id = AddAuthToBatch($batch_id, $rec_num, $marc_record, $encoding, int(rand(99999)), 0, $marc_type);
             }
         }
     }
@@ -387,14 +440,14 @@ sub AddItemsToImportBiblio {
 
     if ($#import_items_ids > -1) {
         _update_batch_record_counts($batch_id) if $update_counts;
-        _update_import_record_marc($import_record_id, $marc_record);
+        _update_import_record_marc($import_record_id, $marc_record, C4::Context->preference('marcflavour'));
     }
     return @import_items_ids;
 }
 
-=head2 BatchFindBibDuplicates
+=head2 BatchFindDuplicates
 
-  my $num_with_matches = BatchFindBibDuplicates($batch_id, $matcher, 
+  my $num_with_matches = BatchFindDuplicates($batch_id, $matcher,
              $max_matches, $progress_interval, $progress_callback);
 
 Goes through the records loaded in the batch and attempts to 
@@ -412,7 +465,7 @@ singular argument.
 
 =cut
 
-sub BatchFindBibDuplicates {
+sub BatchFindDuplicates {
     my $batch_id = shift;
     my $matcher = shift;
     my $max_matches = @_ ? shift : 10;
@@ -430,9 +483,8 @@ sub BatchFindBibDuplicates {
 
     my $dbh = C4::Context->dbh;
 
-    my $sth = $dbh->prepare("SELECT import_record_id, marc
+    my $sth = $dbh->prepare("SELECT import_record_id, record_type, marc
                              FROM import_records
-                             JOIN import_biblios USING (import_record_id)
                              WHERE import_batch_id = ?");
     $sth->execute($batch_id);
     my $num_with_matches = 0;
@@ -460,15 +512,15 @@ sub BatchFindBibDuplicates {
     return $num_with_matches;
 }
 
-=head2 BatchCommitBibRecords
+=head2 BatchCommitRecords
 
-  my ($num_added, $num_updated, $num_items_added, $num_items_errored, 
-      $num_ignored) = BatchCommitBibRecords($batch_id, $framework,
-                      $progress_interval, $progress_callback);
+  my ($num_added, $num_updated, $num_items_added, $num_items_errored, $num_ignored) =
+        BatchCommitRecords($batch_id, $framework,
+        $progress_interval, $progress_callback);
 
 =cut
 
-sub BatchCommitBibRecords {
+sub BatchCommitRecords {
     my $batch_id = shift;
     my $framework = shift;
 
@@ -483,25 +535,30 @@ sub BatchCommitBibRecords {
         $progress_interval = 0 unless 'CODE' eq ref $progress_callback;
     }
 
+    my $record_type;
     my $num_added = 0;
     my $num_updated = 0;
     my $num_items_added = 0;
     my $num_items_errored = 0;
     my $num_ignored = 0;
     # commit (i.e., save, all records in the batch)
-    # FIXME biblio only at the moment
     SetImportBatchStatus('importing');
     my $overlay_action = GetImportBatchOverlayAction($batch_id);
     my $nomatch_action = GetImportBatchNoMatchAction($batch_id);
     my $item_action = GetImportBatchItemAction($batch_id);
+    my $item_tag;
+    my $item_subfield;
     my $dbh = C4::Context->dbh;
-    my $sth = $dbh->prepare("SELECT import_record_id, status, overlay_status, marc, encoding
+    my $sth = $dbh->prepare("SELECT import_records.import_record_id, record_type, status, overlay_status, marc, encoding
                              FROM import_records
-                             JOIN import_biblios USING (import_record_id)
+                             LEFT JOIN import_auths ON (import_records.import_record_id=import_auths.import_record_id)
+                             LEFT JOIN import_biblios ON (import_records.import_record_id=import_biblios.import_record_id)
                              WHERE import_batch_id = ?");
     $sth->execute($batch_id);
+    my $marcflavour = C4::Context->preference('marcflavour');
     my $rec_num = 0;
     while (my $rowref = $sth->fetchrow_hashref) {
+        $record_type = $rowref->{'record_type'};
         $rec_num++;
         if ($progress_interval and (0 == ($rec_num % $progress_interval))) {
             &$progress_callback($rec_num);
@@ -511,69 +568,97 @@ sub BatchCommitBibRecords {
             next;
         }
 
+        my $marc_type;
+        if ($marcflavour eq 'UNIMARC' && $record_type eq 'auth') {
+            $marc_type = 'UNIMARCAUTH';
+        } elsif ($marcflavour eq 'UNIMARC') {
+            $marc_type = 'UNIMARC';
+        } else {
+            $marc_type = 'USMARC';
+        }
         my $marc_record = MARC::Record->new_from_usmarc($rowref->{'marc'});
 
-        # remove any item tags - rely on BatchCommitItems
-        my ($item_tag,$item_subfield) = &GetMarcFromKohaField("items.itemnumber",'');
-        foreach my $item_field ($marc_record->field($item_tag)) {
-            $marc_record->delete_field($item_field);
+        if ($record_type eq 'biblio') {
+            # remove any item tags - rely on BatchCommitItems
+            ($item_tag,$item_subfield) = &GetMarcFromKohaField("items.itemnumber",'');
+            foreach my $item_field ($marc_record->field($item_tag)) {
+                $marc_record->delete_field($item_field);
+            }
         }
 
-        # decide what what to do with the bib and item records
-        my ($bib_result, $item_result, $bib_match) = 
+        my ($record_result, $item_result, $record_match) =
             _get_commit_action($overlay_action, $nomatch_action, $item_action, 
-                               $rowref->{'overlay_status'}, $rowref->{'import_record_id'});
+                               $rowref->{'overlay_status'}, $rowref->{'import_record_id'}, $record_type);
 
-        if ($bib_result eq 'create_new') {
+        my $recordid;
+        my $query;
+        if ($record_result eq 'create_new') {
             $num_added++;
-            my ($biblionumber, $biblioitemnumber) = AddBiblio($marc_record, $framework);
-            my $sth = $dbh->prepare_cached("UPDATE import_biblios SET matched_biblionumber = ? WHERE import_record_id = ?");
-            $sth->execute($biblionumber, $rowref->{'import_record_id'});
-            $sth->finish();
-            if ($item_result eq 'create_new') {
-                my ($bib_items_added, $bib_items_errored) = BatchCommitItems($rowref->{'import_record_id'}, $biblionumber);
-                $num_items_added += $bib_items_added;
-                $num_items_errored += $bib_items_errored;
+            if ($record_type eq 'biblio') {
+                my $biblioitemnumber;
+                ($recordid, $biblioitemnumber) = AddBiblio($marc_record, $framework);
+                $query = "UPDATE import_biblios SET matched_biblionumber = ? WHERE import_record_id = ?";
+                if ($item_result eq 'create_new') {
+                    my ($bib_items_added, $bib_items_errored) = BatchCommitItems($rowref->{'import_record_id'}, $recordid);
+                    $num_items_added += $bib_items_added;
+                    $num_items_errored += $bib_items_errored;
+                }
+            } else {
+                $recordid = AddAuthority($marc_record, undef, GuessAuthTypeCode($marc_record));
+                $query = "UPDATE import_auths SET matched_authid = ? WHERE import_record_id = ?";
             }
+            my $sth = $dbh->prepare_cached($query);
+            $sth->execute($recordid, $rowref->{'import_record_id'});
+            $sth->finish();
             SetImportRecordStatus($rowref->{'import_record_id'}, 'imported');
-        } elsif ($bib_result eq 'replace') {
+        } elsif ($record_result eq 'replace') {
             $num_updated++;
-            my $biblionumber = $bib_match;
-            my ($count, $oldbiblio) = GetBiblio($biblionumber);
-            my $oldxml = GetXmlBiblio($biblionumber);
-
-            # remove item fields so that they don't get
-            # added again if record is reverted
-            my $old_marc = MARC::Record->new_from_xml(StripNonXmlChars($oldxml), 'UTF-8', $rowref->{'encoding'});
-            foreach my $item_field ($old_marc->field($item_tag)) {
-                $old_marc->delete_field($item_field);
-            }
+            $recordid = $record_match;
+            my $oldxml;
+            if ($record_type eq 'biblio') {
+                my ($count, $oldbiblio) = GetBiblio($recordid);
+                $oldxml = GetXmlBiblio($recordid);
+
+                # remove item fields so that they don't get
+                # added again if record is reverted
+                my $old_marc = MARC::Record->new_from_xml(StripNonXmlChars($oldxml), 'UTF-8', $rowref->{'encoding'}, $marc_type);
+                foreach my $item_field ($old_marc->field($item_tag)) {
+                    $old_marc->delete_field($item_field);
+                }
+                $oldxml = $old_marc->as_xml($marc_type);
+
+                ModBiblio($marc_record, $recordid, $oldbiblio->{'frameworkcode'});
+                $query = "UPDATE import_biblios SET matched_biblionumber = ? WHERE import_record_id = ?";
+
+                if ($item_result eq 'create_new') {
+                    my ($bib_items_added, $bib_items_errored) = BatchCommitItems($rowref->{'import_record_id'}, $recordid);
+                    $num_items_added += $bib_items_added;
+                    $num_items_errored += $bib_items_errored;
+                }
+            } else {
+                $oldxml = GetAuthorityXML($recordid);
 
-            ModBiblio($marc_record, $biblionumber, $oldbiblio->{'frameworkcode'});
+                ModAuthority($recordid, $marc_record, GuessAuthTypeCode($marc_record));
+                $query = "UPDATE import_auths SET matched_authid = ? WHERE import_record_id = ?";
+            }
             my $sth = $dbh->prepare_cached("UPDATE import_records SET marcxml_old = ? WHERE import_record_id = ?");
-            $sth->execute($old_marc->as_xml(), $rowref->{'import_record_id'});
+            $sth->execute($oldxml, $rowref->{'import_record_id'});
             $sth->finish();
-            my $sth2 = $dbh->prepare_cached("UPDATE import_biblios SET matched_biblionumber = ? WHERE import_record_id = ?");
-            $sth2->execute($biblionumber, $rowref->{'import_record_id'});
+            my $sth2 = $dbh->prepare_cached($query);
+            $sth2->execute($recordid, $rowref->{'import_record_id'});
             $sth2->finish();
-            if ($item_result eq 'create_new') {
-                my ($bib_items_added, $bib_items_errored) = BatchCommitItems($rowref->{'import_record_id'}, $biblionumber);
-                $num_items_added += $bib_items_added;
-                $num_items_errored += $bib_items_errored;
-            }
             SetImportRecordOverlayStatus($rowref->{'import_record_id'}, 'match_applied');
             SetImportRecordStatus($rowref->{'import_record_id'}, 'imported');
-        } elsif ($bib_result eq 'ignore') {
+        } elsif ($record_result eq 'ignore') {
             $num_ignored++;
-            my $biblionumber = $bib_match;
-            if (defined $biblionumber and $item_result eq 'create_new') {
-                my ($bib_items_added, $bib_items_errored) = BatchCommitItems($rowref->{'import_record_id'}, $biblionumber);
+            if ($record_type eq 'biblio' and defined $recordid and $item_result eq 'create_new') {
+                my ($bib_items_added, $bib_items_errored) = BatchCommitItems($rowref->{'import_record_id'}, $recordid);
                 $num_items_added += $bib_items_added;
                 $num_items_errored += $bib_items_errored;
                 # still need to record the matched biblionumber so that the
                 # items can be reverted
                 my $sth2 = $dbh->prepare_cached("UPDATE import_biblios SET matched_biblionumber = ? WHERE import_record_id = ?");
-                $sth2->execute($biblionumber, $rowref->{'import_record_id'});
+                $sth2->execute($recordid, $rowref->{'import_record_id'});
                 SetImportRecordOverlayStatus($rowref->{'import_record_id'}, 'match_applied');
             }
             SetImportRecordStatus($rowref->{'import_record_id'}, 'ignored');
@@ -632,63 +717,93 @@ sub BatchCommitItems {
     return ($num_items_added, $num_items_errored);
 }
 
-=head2 BatchRevertBibRecords
+=head2 BatchRevertRecords
 
   my ($num_deleted, $num_errors, $num_reverted, $num_items_deleted, 
-      $num_ignored) = BatchRevertBibRecords($batch_id);
+      $num_ignored) = BatchRevertRecords($batch_id);
 
 =cut
 
-sub BatchRevertBibRecords {
+sub BatchRevertRecords {
     my $batch_id = shift;
 
+    my $record_type;
     my $num_deleted = 0;
     my $num_errors = 0;
     my $num_reverted = 0;
-    my $num_items_deleted = 0;
     my $num_ignored = 0;
+    my $num_items_deleted = 0;
     # commit (i.e., save, all records in the batch)
-    # FIXME biblio only at the moment
     SetImportBatchStatus('reverting');
     my $overlay_action = GetImportBatchOverlayAction($batch_id);
     my $nomatch_action = GetImportBatchNoMatchAction($batch_id);
     my $dbh = C4::Context->dbh;
-    my $sth = $dbh->prepare("SELECT import_record_id, status, overlay_status, marcxml_old, encoding, matched_biblionumber
+    my $sth = $dbh->prepare("SELECT import_records.import_record_id, record_type, status, overlay_status, marcxml_old, encoding, matched_biblionumber, matched_authid
                              FROM import_records
-                             JOIN import_biblios USING (import_record_id)
+                             LEFT JOIN import_auths ON (import_records.import_record_id=import_auths.import_record_id)
+                             LEFT JOIN import_biblios ON (import_records.import_record_id=import_biblios.import_record_id)
                              WHERE import_batch_id = ?");
     $sth->execute($batch_id);
+    my $marc_type;
+    my $marcflavour = C4::Context->preference('marcflavour');
     while (my $rowref = $sth->fetchrow_hashref) {
+        $record_type = $rowref->{'record_type'};
         if ($rowref->{'status'} eq 'error' or $rowref->{'status'} eq 'reverted') {
             $num_ignored++;
             next;
         }
+        if ($marcflavour eq 'UNIMARC' && $record_type eq 'auth') {
+            $marc_type = 'UNIMARCAUTH';
+        } elsif ($marcflavour eq 'UNIMARC') {
+            $marc_type = 'UNIMARC';
+        } else {
+            $marc_type = 'USMARC';
+        }
 
-        my $bib_result = _get_revert_action($overlay_action, $rowref->{'overlay_status'}, $rowref->{'status'});
+        my $record_result = _get_revert_action($overlay_action, $rowref->{'overlay_status'}, $rowref->{'status'});
 
-        if ($bib_result eq 'delete') {
-            $num_items_deleted += BatchRevertItems($rowref->{'import_record_id'}, $rowref->{'matched_biblionumber'});
-            my $error = DelBiblio($rowref->{'matched_biblionumber'});
+        if ($record_result eq 'delete') {
+            my $error = undef;
+            if  ($record_type eq 'biblio') {
+                $num_items_deleted += BatchRevertItems($rowref->{'import_record_id'}, $rowref->{'matched_biblionumber'});
+                $error = DelBiblio($rowref->{'matched_biblionumber'});
+            } else {
+                my $deletedauthid = DelAuthority($rowref->{'matched_authid'});
+            }
             if (defined $error) {
                 $num_errors++;
             } else {
                 $num_deleted++;
                 SetImportRecordStatus($rowref->{'import_record_id'}, 'reverted');
             }
-        } elsif ($bib_result eq 'restore') {
+        } elsif ($record_result eq 'restore') {
             $num_reverted++;
-            my $old_record = MARC::Record->new_from_xml(StripNonXmlChars($rowref->{'marcxml_old'}), 'UTF-8', $rowref->{'encoding'});
-            my $biblionumber = $rowref->{'matched_biblionumber'};
-            my ($count, $oldbiblio) = GetBiblio($biblionumber);
-            $num_items_deleted += BatchRevertItems($rowref->{'import_record_id'}, $rowref->{'matched_biblionumber'});
-            ModBiblio($old_record, $biblionumber, $oldbiblio->{'frameworkcode'});
+            my $old_record = MARC::Record->new_from_xml(StripNonXmlChars($rowref->{'marcxml_old'}), 'UTF-8', $rowref->{'encoding'}, $marc_type);
+            if ($record_type eq 'biblio') {
+                my $biblionumber = $rowref->{'matched_biblionumber'};
+                my ($count, $oldbiblio) = GetBiblio($biblionumber);
+                $num_items_deleted += BatchRevertItems($rowref->{'import_record_id'}, $rowref->{'matched_biblionumber'});
+                ModBiblio($old_record, $biblionumber, $oldbiblio->{'frameworkcode'});
+            } else {
+                my $authid = $rowref->{'matched_authid'};
+                ModAuthority($authid, $old_record, GuessAuthTypeCode($old_record));
+            }
             SetImportRecordStatus($rowref->{'import_record_id'}, 'reverted');
-        } elsif ($bib_result eq 'ignore') {
-            $num_items_deleted += BatchRevertItems($rowref->{'import_record_id'}, $rowref->{'matched_biblionumber'});
+        } elsif ($record_result eq 'ignore') {
+            if ($record_type eq 'biblio') {
+                $num_items_deleted += BatchRevertItems($rowref->{'import_record_id'}, $rowref->{'matched_biblionumber'});
+            }
             SetImportRecordStatus($rowref->{'import_record_id'}, 'reverted');
         }
-        # remove matched_biblionumber only if there is no 'imported' item left
-        my $sth2 = $dbh->prepare_cached("UPDATE import_biblios SET matched_biblionumber = NULL WHERE import_record_id = ?  AND NOT EXISTS (SELECT * FROM import_items WHERE import_items.import_record_id=import_biblios.import_record_id and status='imported')" );
+        my $query;
+        if ($record_type eq 'biblio') {
+            # remove matched_biblionumber only if there is no 'imported' item left
+            $query = "UPDATE import_biblios SET matched_biblionumber = NULL WHERE import_record_id = ?";
+            $query = "UPDATE import_biblios SET matched_biblionumber = NULL WHERE import_record_id = ?  AND NOT EXISTS (SELECT * FROM import_items WHERE import_items.import_record_id=import_biblios.import_record_id and status='imported')";
+        } else {
+            $query = "UPDATE import_auths SET matched_authid = NULL WHERE import_record_id = ?";
+        }
+        my $sth2 = $dbh->prepare_cached($query);
         $sth2->execute($rowref->{'import_record_id'});
     }
 
@@ -862,24 +977,26 @@ sub GetNumberOfNonZ3950ImportBatches {
     return $count;
 }
 
-=head2 GetImportBibliosRange
+=head2 GetImportRecordsRange
 
-  my $results = GetImportBibliosRange($batch_id, $offset, $results_per_group);
+  my $results = GetImportRecordsRange($batch_id, $offset, $results_per_group);
 
 Returns a reference to an array of hash references corresponding to
-import_biblios/import_records rows for a given batch
+import_biblios/import_auths/import_records rows for a given batch
 starting at the given offset.
 
 =cut
 
-sub GetImportBibliosRange {
+sub GetImportRecordsRange {
     my ($batch_id, $offset, $results_per_group, $status) = @_;
 
     my $dbh = C4::Context->dbh;
-    my $query = "SELECT title, author, isbn, issn, import_record_id, record_sequence,
-                                           status, overlay_status, matched_biblionumber
+    my $query = "SELECT title, author, isbn, issn, authorized_heading, import_records.import_record_id,
+                                           record_sequence, status, overlay_status,
+                                           matched_biblionumber, matched_authid, record_type
                                     FROM   import_records
-                                    JOIN   import_biblios USING (import_record_id)
+                                    LEFT JOIN import_auths ON (import_records.import_record_id=import_auths.import_record_id)
+                                    LEFT JOIN import_biblios ON (import_records.import_record_id=import_biblios.import_record_id)
                                     WHERE  import_batch_id = ?";
     my @params;
     push(@params, $batch_id);
@@ -1181,16 +1298,21 @@ sub GetImportRecordMatches {
 
     my $dbh = C4::Context->dbh;
     # FIXME currently biblio only
-    my $sth = $dbh->prepare_cached("SELECT title, author, biblionumber, score
+    my $sth = $dbh->prepare_cached("SELECT title, author, biblionumber,
+                                    candidate_match_id, score, record_type
                                     FROM import_records
                                     JOIN import_record_matches USING (import_record_id)
-                                    JOIN biblio ON (biblionumber = candidate_match_id)
+                                    LEFT JOIN biblio ON (biblionumber = candidate_match_id)
                                     WHERE import_record_id = ?
                                     ORDER BY score DESC, biblionumber DESC");
     $sth->bind_param(1, $import_record_id);
     my $results = [];
     $sth->execute();
     while (my $row = $sth->fetchrow_hashref) {
+        if ($row->{'record_type'} eq 'auth') {
+            $row->{'authorized_heading'} = C4::AuthoritiesMarc::GetAuthorizedHeading( { authid => $row->{'candidate_match_id'} } );
+        }
+        next if ($row->{'record_type'} eq 'biblio' && not $row->{'biblionumber'});
         push @$results, $row;
         last if $best_only;
     }
@@ -1227,13 +1349,13 @@ sub SetImportRecordMatches {
 # internal functions
 
 sub _create_import_record {
-    my ($batch_id, $record_sequence, $marc_record, $record_type, $encoding, $z3950random) = @_;
+    my ($batch_id, $record_sequence, $marc_record, $record_type, $encoding, $z3950random, $marc_type) = @_;
 
     my $dbh = C4::Context->dbh;
     my $sth = $dbh->prepare("INSERT INTO import_records (import_batch_id, record_sequence, marc, marcxml, 
                                                          record_type, encoding, z3950random)
                                     VALUES (?, ?, ?, ?, ?, ?, ?)");
-    $sth->execute($batch_id, $record_sequence, $marc_record->as_usmarc(), $marc_record->as_xml(),
+    $sth->execute($batch_id, $record_sequence, $marc_record->as_usmarc(), $marc_record->as_xml($marc_type),
                   $record_type, $encoding, $z3950random);
     my $import_record_id = $dbh->{'mysql_insertid'};
     $sth->finish();
@@ -1241,12 +1363,26 @@ sub _create_import_record {
 }
 
 sub _update_import_record_marc {
-    my ($import_record_id, $marc_record) = @_;
+    my ($import_record_id, $marc_record, $marc_type) = @_;
 
     my $dbh = C4::Context->dbh;
     my $sth = $dbh->prepare("UPDATE import_records SET marc = ?, marcxml = ?
                              WHERE  import_record_id = ?");
-    $sth->execute($marc_record->as_usmarc(), $marc_record->as_xml(C4::Context->preference('marcflavour')), $import_record_id);
+    $sth->execute($marc_record->as_usmarc(), $marc_record->as_xml($marc_type), $import_record_id);
+    $sth->finish();
+}
+
+sub _add_auth_fields {
+    my ($import_record_id, $marc_record) = @_;
+
+    my $controlnumber;
+    if ($marc_record->field('001')) {
+        $controlnumber = $marc_record->field('001')->data();
+    }
+    my $authorized_heading = C4::AuthoritiesMarc::GetAuthorizedHeading({ record => $marc_record });
+    my $dbh = C4::Context->dbh;
+    my $sth = $dbh->prepare("INSERT INTO import_auths (import_record_id, control_number, authorized_heading) VALUES (?, ?, ?)");
+    $sth->execute($import_record_id, $controlnumber, $authorized_heading);
     $sth->finish();
 }
 
@@ -1293,11 +1429,10 @@ sub _update_batch_record_counts {
 
     my $dbh = C4::Context->dbh;
     my $sth = $dbh->prepare_cached("UPDATE import_batches SET
-                                        num_biblios = (
+                                        num_records = (
                                             SELECT COUNT(*)
                                             FROM import_records
-                                            WHERE import_batch_id = import_batches.import_batch_id
-                                            AND record_type = 'biblio'),
+                                            WHERE import_batch_id = import_batches.import_batch_id),
                                         num_items = (
                                             SELECT COUNT(*)
                                             FROM import_records
@@ -1311,26 +1446,45 @@ sub _update_batch_record_counts {
 }
 
 sub _get_commit_action {
-    my ($overlay_action, $nomatch_action, $item_action, $overlay_status, $import_record_id) = @_;
+    my ($overlay_action, $nomatch_action, $item_action, $overlay_status, $import_record_id, $record_type) = @_;
     
-    my ($bib_result, $bib_match, $item_result);
-
-    if ($overlay_status ne 'no_match') {
-        $bib_match = GetBestRecordMatch($import_record_id);
-        if ($overlay_action eq 'replace') {
-            $bib_result  = defined($bib_match) ? 'replace' : 'create_new';
-        } elsif ($overlay_action eq 'create_new') {
-            $bib_result  = 'create_new';
-        } elsif ($overlay_action eq 'ignore') {
-            $bib_result  = 'ignore';
-        } 
-        $item_result = ($item_action eq 'always_add' or $item_action eq 'add_only_for_matches') ? 'create_new' : 'ignore';
-    } else {
-        $bib_result = $nomatch_action;
-        $item_result = ($item_action eq 'always_add' or $item_action eq 'add_only_for_new')     ? 'create_new' : 'ignore';
-    }
+    if ($record_type eq 'biblio') {
+        my ($bib_result, $bib_match, $item_result);
+
+        if ($overlay_status ne 'no_match') {
+            $bib_match = GetBestRecordMatch($import_record_id);
+            if ($overlay_action eq 'replace') {
+                $bib_result  = defined($bib_match) ? 'replace' : 'create_new';
+            } elsif ($overlay_action eq 'create_new') {
+                $bib_result  = 'create_new';
+            } elsif ($overlay_action eq 'ignore') {
+                $bib_result  = 'ignore';
+            }
+            $item_result = ($item_action eq 'always_add' or $item_action eq 'add_only_for_matches') ? 'create_new' : 'ignore';
+        } else {
+            $bib_result = $nomatch_action;
+            $item_result = ($item_action eq 'always_add' or $item_action eq 'add_only_for_new')     ? 'create_new' : 'ignore';
+        }
+        return ($bib_result, $item_result, $bib_match);
+    } else { # must be auths
+        my ($auth_result, $auth_match);
+
+        if ($overlay_status ne 'no_match') {
+            $auth_match = GetBestRecordMatch($import_record_id);
+            if ($overlay_action eq 'replace') {
+                $auth_result  = defined($auth_match) ? 'replace' : 'create_new';
+            } elsif ($overlay_action eq 'create_new') {
+                $auth_result  = 'create_new';
+            } elsif ($overlay_action eq 'ignore') {
+                $auth_result  = 'ignore';
+            }
+        } else {
+            $auth_result = $nomatch_action;
+        }
 
-    return ($bib_result, $item_result, $bib_match);
+        return ($auth_result, undef, $auth_match);
+
+    }
 }
 
 sub _get_revert_action {
index b81b393..72873f2 100644 (file)
@@ -515,7 +515,7 @@ sub _createTmpDir
         mkdir $tempdir;
     };
     if ($@) {
-        return undef;
+        return;
     } else {
         return $tempdir;
     }
@@ -547,27 +547,28 @@ sub createODS
         $tempdir = _createTmpDir($tmp);
     }
     if ($tempdir) {
+        my $fh;
         # populate tempdir directory with the ods elements
         eval {
-            if (open(OUT, "> $tempdir/content.xml")) {
-                print OUT $strContent;
-                close(OUT);
+            if (open($fh, '>',  "$tempdir/content.xml")) {
+                print {$fh} $strContent;
+                close($fh);
             }
-            if (open(OUT, "> $tempdir/mimetype")) {
-                print OUT 'application/vnd.oasis.opendocument.spreadsheet';
-                close(OUT);
+            if (open($fh, '>', "$tempdir/mimetype")) {
+                print {$fh} 'application/vnd.oasis.opendocument.spreadsheet';
+                close($fh);
             }
-            if (open(OUT, "> $tempdir/meta.xml")) {
-                print OUT _getMeta($lang);
-                close(OUT);
+            if (open($fh, '>', "$tempdir/meta.xml")) {
+                print {$fh} _getMeta($lang);
+                close($fh);
             }
-            if (open(OUT, "> $tempdir/styles.xml")) {
-                print OUT ODS_STYLES_STR;
-                close(OUT);
+            if (open($fh, '>', "$tempdir/styles.xml")) {
+                print {$fh} ODS_STYLES_STR;
+                close($fh);
             }
-            if (open(OUT, "> $tempdir/settings.xml")) {
-                print OUT ODS_SETTINGS_STR;
-                close(OUT);
+            if (open($fh, '>', "$tempdir/settings.xml")) {
+                print {$fh} ODS_SETTINGS_STR;
+                close($fh);
             }
             mkdir($tempdir.'/META-INF/');
             mkdir($tempdir.'/Configurations2/');
@@ -579,9 +580,10 @@ sub createODS
             mkdir($tempdir.'/Configurations2/menubar/');
             mkdir($tempdir.'/Configurations2/progressbar/');
             mkdir($tempdir.'/Configurations2/toolbar/');
-            if (open(OUT, "> $tempdir/META-INF/manifest.xml")) {
-                print OUT ODS_MANIFEST_STR;
-                close(OUT);
+
+            if (open($fh, '>', "$tempdir/META-INF/manifest.xml")) {
+                print {$fh} ODS_MANIFEST_STR;
+                close($fh);
             }
         };
         if ($@) {
@@ -604,13 +606,13 @@ sub createODS
             my $ok = 0;
             # read ods file and return as a string
             if (-f "$tempdir/new.ods") {
-                if (open (MYFILE, "$tempdir/new.ods")) {
-                    binmode MYFILE;
+                if (open ($fh, '<', "$tempdir/new.ods")) {
+                    binmode $fh;
                     my $buffer;
-                    while (read (MYFILE, $buffer, 65536)) {
+                    while (read ($fh, $buffer, 65536)) {
                         $$strODSRef .= $buffer;
                     }
-                    close(MYFILE);
+                    close($fh);
                     $ok = 1;
                 }
             }
index c1f356f..304698e 100644 (file)
@@ -154,8 +154,8 @@ sub marc_framework_sql_list {
         my @frameworklist;
         map {
             my $name = substr( $_, 0, -4 );
-            open FILE, "<:utf8","$dir/$requirelevel/$name.txt";
-            my $lines = <FILE>;
+            open my $fh, "<:encoding(UTF-8)", "$dir/$requirelevel/$name.txt";
+            my $lines = <$fh>;
             $lines =~ s/\n|\r/<br \/>/g;
             use utf8;
             utf8::encode($lines) unless ( utf8::is_utf8($lines) );
@@ -232,8 +232,8 @@ sub sample_data_sql_list {
         my @frameworklist;
         map {
             my $name = substr( $_, 0, -4 );
-            open FILE, "<:utf8","$dir/$requirelevel/$name.txt";
-            my $lines = <FILE>;
+            open my $fh , "<:encoding(UTF-8)", "$dir/$requirelevel/$name.txt";
+            my $lines = <$fh>;
             $lines =~ s/\n|\r/<br \/>/g;
             use utf8;
             utf8::encode($lines) unless ( utf8::is_utf8($lines) );
index 6b1bb4b..5cfb059 100644 (file)
@@ -202,7 +202,7 @@ our $PERL_DEPS = {
     'DateTime::TimeZone' => {
         'usage'    => 'Core',
         'required' => '1',
-        'min_ver'  => '1.26'
+        'min_ver'  => '1.20'
     },
     'DateTime::Format::DateParse' => {
         'usage'    => 'Core',
@@ -574,16 +574,30 @@ our $PERL_DEPS = {
         'required' => '0',
         'min_ver'  => '1.7',
     },
+    'DBD::Mock' => {
+        'usage'    => 'Core',
+        'required' => '0',
+        'min_ver'  => '1.39'
+    },
     'Test::MockModule' => {
         'usage'    => 'Core',
         'required' => '0',
         'min_ver'  => '0.05',
     },
+    'Test::Warn' => {
+        'usage'    => 'Core',
+        'required' => '0',
+        'min_ver'  => '0.21',
+    },
     'Test::Strict' => {
         'usage'    => 'Core',
         'required' => '0',
         'min_ver'  => '0.14',
-
+    },
+    'Test::Deep' => {
+        'usage'    => 'Core',
+        'required' => '0',
+        'min_ver'  => '0.106',
     },
     'Test::YAML::Valid' => {
         'usage'    => 'Core',
@@ -600,6 +614,16 @@ our $PERL_DEPS = {
         'required' => '1',
         'min_ver'  => '1.23',
     },
+    'AnyEvent' => {
+        'usage'    => 'Command line scripts',
+        'required' => '0',
+        'min_ver'  => '5.0',
+    },
+    'AnyEvent::HTTP' => {
+        'usage'    => 'Command line scripts',
+        'required' => '0',
+        'min_ver'  => '2.13',
+    },
 };
 
 1;
index 3d8bed4..4d88fec 100644 (file)
@@ -167,7 +167,7 @@ sub create {
             return $class->new($self);
         } else {
             carp $dbh->errstr;
-            return undef;
+            return;
         }
     }
 }
@@ -404,7 +404,7 @@ sub AUTOLOAD {
     if (exists $self->{$attr}) {
         return $self->{$attr};
     } else {
-        return undef;
+        return;
     }
 }
 
index e9af3dd..c114e63 100644 (file)
@@ -530,7 +530,7 @@ sub ModItem {
         $item->{'more_subfields_xml'} = _get_unlinked_subfields_xml($unlinked_item_subfields);
     };
 
-    $item->{'itemnumber'} = $itemnumber or return undef;
+    $item->{'itemnumber'} = $itemnumber or return;
 
     $item->{onloan} = undef if $item->{itemlost};
 
@@ -2293,7 +2293,7 @@ sub _koha_delete_item {
     # delete from items table
     $sth = $dbh->prepare("DELETE FROM items WHERE itemnumber=?");
     $sth->execute($itemnum);
-    return undef;
+    return;
 }
 
 =head2 _marc_from_item_hash
@@ -2668,7 +2668,10 @@ sub PrepareItemrecordDisplay {
                 if (   ( $tagslib->{$tag}->{$subfield}->{kohafield} eq 'items.location' )
                     && $defaultvalues
                     && $defaultvalues->{'location'} ) {
-                    my $temp = $itemrecord->field($subfield) if ($itemrecord);
+
+                    my $temp; # make perlcritic happy :)
+                    $temp = $itemrecord->field($subfield) if ($itemrecord);
+
                     unless ($temp) {
                         $defaultvalue = $defaultvalues->{location} if $defaultvalues;
                     }
index 22afed6..07c80c6 100644 (file)
@@ -24,7 +24,7 @@ use strict;
 #use warnings; FIXME - Bug 2505
 
 use C4::Context;
-
+use C4::Branch qw(GetBranchesCount);
 use Memoize;
 use DateTime;
 use DateTime::Format::MySQL;
@@ -112,7 +112,7 @@ sub slashifyDate {
 }
 
 # FIXME.. this should be moved to a MARC-specific module
-sub subfield_is_koha_internal_p ($) {
+sub subfield_is_koha_internal_p {
     my ($subfield) = @_;
 
     # We could match on 'lib' and 'tab' (and 'mandatory', & more to come!)
@@ -471,7 +471,7 @@ sub getitemtypeimagesrc {
        }
 }
 
-sub getitemtypeimagelocation($$) {
+sub getitemtypeimagelocation {
        my ( $src, $image ) = @_;
 
        return '' if ( !$image );
@@ -630,7 +630,7 @@ sub GetPrinters {
 
 =cut
 
-sub GetPrinter ($$) {
+sub GetPrinter {
     my ( $query, $printers ) = @_;    # get printer for this query from printers
     my $printer = $query->param('printer');
     my %cookie = $query->cookie('userenv');
@@ -674,6 +674,7 @@ sub getallthemes {
     opendir D, "$htdocs";
     my @dirlist = readdir D;
     foreach my $directory (@dirlist) {
+        next if $directory eq 'lib';
         -d "$htdocs/$directory/en" and push @themes, $directory;
     }
     return @themes;
@@ -713,14 +714,23 @@ sub getFacets {
                 tags  => [ qw/ 225a / ],
                 sep   => ', ',
             },
-        ];
-        my $library_facet = {
-            idx   => 'branch',
-            label => 'Libraries',
-            tags  => [ qw/ 995b / ],
-            expanded => '1',
-        };
-        push @$facets, $library_facet unless C4::Context->preference("singleBranchMode");
+            ];
+
+            my $library_facet;
+            unless ( C4::Context->preference("singleBranchMode") || GetBranchesCount() == 1 ) {
+                $library_facet = {
+                    idx  => 'branch',
+                    label => 'Libraries',
+                    tags        => [ qw/ 995b / ],
+                };
+            } else {
+                $library_facet = {
+                    idx  => 'location',
+                    label => 'Location',
+                    tags        => [ qw/ 995c / ],
+                };
+            }
+            push( @$facets, $library_facet );
     }
     else {
         $facets = [
@@ -767,15 +777,22 @@ sub getFacets {
                 sep   => ', ',
             },
             ];
+
             my $library_facet;
-            $library_facet = {
-                idx   => 'branch',
-                label => 'Libraries',
-                tags  => [ qw/ 952b / ],
-                sep   => ', ',
-                expanded    => '1',
-            };
-            push @$facets, $library_facet unless C4::Context->preference("singleBranchMode");
+            unless ( C4::Context->preference("singleBranchMode") || GetBranchesCount() == 1 ) {
+                $library_facet = {
+                    idx  => 'branch',
+                    label => 'Libraries',
+                    tags        => [ qw / 952b / ],
+                };
+            } else {
+                $library_facet = {
+                    idx => 'location',
+                    label => 'Location',
+                    tags => [ qw / 952c / ],
+                };
+            }
+            push( @$facets, $library_facet );
     }
     return $facets;
 }
@@ -1073,13 +1090,14 @@ by the passed category and code
 =cut
 
 sub GetAuthorisedValueByCode {
-    my ( $category, $authvalcode ) = @_;
+    my ( $category, $authvalcode, $opac ) = @_;
 
+    my $field = $opac ? 'lib_opac' : 'lib';
     my $dbh = C4::Context->dbh;
-    my $sth = $dbh->prepare("SELECT lib FROM authorised_values WHERE category=? AND authorised_value =?");
+    my $sth = $dbh->prepare("SELECT $field FROM authorised_values WHERE category=? AND authorised_value =?");
     $sth->execute( $category, $authvalcode );
     while ( my $data = $sth->fetchrow_hashref ) {
-        return $data->{'lib'};
+        return $data->{ $field };
     }
 }
 
@@ -1109,7 +1127,7 @@ sub GetKohaAuthorisedValues {
        }
        return \%values;
   } else {
-       return undef;
+       return;
   }
 }
 
@@ -1140,7 +1158,7 @@ sub GetKohaAuthorisedValuesFromField {
        }
        return \%values;
   } else {
-       return undef;
+       return;
   }
 }
 
@@ -1242,7 +1260,7 @@ sub GetNormalizedISBN {
         $isbn =~ s/(.*)( \| )(.*)/$1/;
         return _isbn_cleanup($isbn);
     }
-    return undef unless $record;
+    return unless $record;
 
     if ($marcflavour eq 'UNIMARC') {
         @fields = $record->field('010');
@@ -1251,7 +1269,7 @@ sub GetNormalizedISBN {
             if ($isbn) {
                 return _isbn_cleanup($isbn);
             } else {
-                return undef;
+                return;
             }
         }
     }
@@ -1262,7 +1280,7 @@ sub GetNormalizedISBN {
             if ($isbn) {
                 return _isbn_cleanup($isbn);
             } else {
-                return undef;
+                return;
             }
         }
     }
@@ -1307,7 +1325,7 @@ sub GetNormalizedOCLCNumber {
                 $oclc =~ s/\(OCoLC\)//;
                 return $oclc;
             } else {
-                return undef;
+                return;
             }
         }
     }
index b17cb08..f646241 100644 (file)
@@ -31,6 +31,7 @@ use C4::SMS;
 use C4::Debug;
 use Date::Calc qw( Add_Delta_Days );
 use Encode;
+use Unicode::Normalize;
 use Carp;
 
 use vars qw($VERSION @ISA @EXPORT @EXPORT_OK %EXPORT_TAGS);
@@ -116,13 +117,43 @@ sub GetLetters {
     return \%letters;
 }
 
+=head2 GetLetter( %params )
+
+    retrieves the letter template
+
+    %params hash:
+      module => letter module, mandatory
+      letter_code => letter code, mandatory
+      branchcode => for letter selection, if missing default system letter taken
+    Return value:
+      letter fields hashref (title & content useful)
+
+=cut
+
+sub GetLetter {
+    my %params = @_;
+
+    my $module      = $params{module} or croak "No module";
+    my $letter_code = $params{letter_code} or croak "No letter_code";
+    my $branchcode  = $params{branchcode} || '';
+
+    my $letter = getletter( $module, $letter_code, $branchcode )
+        or warn( "No $module $letter_code letter"),
+            return;
+
+    return $letter;
+}
+
 my %letter;
 sub getletter {
     my ( $module, $code, $branchcode ) = @_;
 
+    $branchcode ||= '';
+
     if ( C4::Context->preference('IndependantBranches')
             and $branchcode
             and C4::Context->userenv ) {
+
         $branchcode = C4::Context->userenv->{'branch'};
     }
 
@@ -409,6 +440,8 @@ sub SendAlerts {
 
 =head2 GetPreparedLetter( %params )
 
+    retrieves letter template and performs substituion processing
+
     %params hash:
       module => letter module, mandatory
       letter_code => letter code, mandatory
@@ -436,14 +469,65 @@ sub GetPreparedLetter {
     my $module      = $params{module} or croak "No module";
     my $letter_code = $params{letter_code} or croak "No letter_code";
     my $branchcode  = $params{branchcode} || '';
+    my $tables = $params{tables};
+    my $substitute = $params{substitute};
+    my $repeat = $params{repeat};
 
     my $letter = getletter( $module, $letter_code, $branchcode )
         or warn( "No $module $letter_code letter"),
             return;
 
+    my $prepared_letter = GetProcessedLetter(
+        module => $module,
+        letter_code => $letter_code,
+        letter => $letter,
+        branchcode => $branchcode,
+        tables => $tables,
+        substitute => $substitute,
+        repeat => $repeat
+    );
+
+    return $prepared_letter;
+}
+
+=head2 GetProcessedLetter( %params )
+
+    given a letter, with possible pre-processing do standard processing
+    allows one to perform letter template processing beforehand
+
+    %params hash:
+      module => letter module, mandatory
+      letter_code => letter code, mandatory
+      letter => letter, mandatory
+      branchcode => for letter selection, if missing default system letter taken
+      tables => a hashref with table names as keys. Values are either:
+        - a scalar - primary key value
+        - an arrayref - primary key values
+        - a hashref - full record
+      substitute => custom substitution key/value pairs
+      repeat => records to be substituted on consecutive lines:
+        - an arrayref - tries to guess what needs substituting by
+          taking remaining << >> tokensr; not recommended
+        - a hashref token => @tables - replaces <token> << >> << >> </token>
+          subtemplate for each @tables row; table is a hashref as above
+      want_librarian => boolean,  if set to true triggers librarian details
+        substitution from the userenv
+    Return value:
+      letter fields hashref (title & content useful)
+
+=cut
+
+sub GetProcessedLetter {
+    my %params = @_;
+
+    my $module      = $params{module} or croak "No module";
+    my $letter_code = $params{letter_code} or croak "No letter_code";
+    my $letter = $params{letter} or croak "No letter";
+    my $branchcode  = $params{branchcode} || '';
     my $tables = $params{tables};
     my $substitute = $params{substitute};
     my $repeat = $params{repeat};
+
     $tables || $substitute || $repeat
       or carp( "ERROR: nothing to substitute - both 'tables' and 'substitute' are empty" ),
          return;
@@ -682,6 +766,12 @@ sub EnqueueLetter {
         return;
     }
 
+    # It was found that the some utf8 codes, cause the text to be truncated from that point onward when stored,
+    # so we normalize utf8 with NFC so that mysql will store 'all' of the content in its TEXT column type
+    # Note: It is also done in _add_attachments accordingly.
+    $params->{'letter'}->{'title'} = NFC($params->{'letter'}->{'title'});     # subject
+    $params->{'letter'}->{'content'} = NFC($params->{'letter'}->{'content'});
+
     # If we have any attachments we should encode then into the body.
     if ( $params->{'attachments'} ) {
         $params->{'letter'} = _add_attachments(
@@ -852,11 +942,17 @@ sub _add_attachments {
     $message->attach(
         Type => $letter->{'content-type'} || 'TEXT',
         Data => $letter->{'is_html'}
-            ? _wrap_html($letter->{'content'}, $letter->{'title'})
-            : $letter->{'content'},
+            ? _wrap_html($letter->{'content'}, NFC($letter->{'title'}))
+            : NFC($letter->{'content'}),
     );
 
     foreach my $attachment ( @$attachments ) {
+
+        if ($attachment->{'content'} =~ m/text/o) { # NFC normailze any "text" related  content-type attachments
+            $attachment->{'content'} = NFC($attachment->{'content'});
+        }
+        $attachment->{'filename'} = NFC($attachment->{'filename'});
+
         $message->attach(
             Type     => $attachment->{'type'},
             Data     => $attachment->{'content'},
index 653dabd..445b408 100644 (file)
@@ -56,17 +56,16 @@ sub get_link {
 
         if ( !defined $authid && $self->{'broader_headings'} ) {
             my $field     = $heading->field();
-            my @subfields = $field->subfields();
+            my @subfields = grep { $_->[0] ne '9' } $field->subfields();
             if ( scalar @subfields > 1 ) {
                 pop @subfields;
-                $field->replace_with(
+                $field =
                     MARC::Field->new(
                         $field->tag,
                         $field->indicator(1),
                         $field->indicator(2),
-                        map { $_[0] => $_[1] } @subfields
-                    )
-                );
+                        map { $_->[0] => $_->[1] } @subfields
+                    );
                 ( $authid, $fuzzy ) =
                   $self->get_link( C4::Heading->new_from_bib_field($field),
                     $behavior );
index 59b5876..c0634ec 100644 (file)
@@ -1,6 +1,6 @@
 package C4::Matcher;
 
-# Copyright (C) 2007 LibLime
+# Copyright (C) 2007 LibLime, 2012 C & P Bibliography Services
 #
 # This file is part of Koha.
 #
@@ -22,8 +22,6 @@ use warnings;
 
 use C4::Context;
 use MARC::Record;
-use C4::Search;
-use C4::Biblio;
 
 use vars qw($VERSION);
 
@@ -384,6 +382,20 @@ sub delete {
     $sth->execute($matcher_id); # relying on cascading deletes to clean up everything
 }
 
+=head2 record_type
+
+  $matcher->record_type('biblio');
+  my $record_type = $matcher->record_type();
+
+Accessor method.
+
+=cut
+
+sub record_type {
+    my $self = shift;
+    @_ ? $self->{'record_type'} = shift : $self->{'record_type'};
+}
+
 =head2 threshold
 
   $matcher->threshold(1000);
@@ -582,7 +594,7 @@ sub add_simple_required_check {
     );
 }
 
-=head2 find_matches
+=head2 get_matches
 
   my @matches = $matcher->get_matches($marc_record, $max_matches);
   foreach $match (@matches) {
@@ -618,9 +630,37 @@ sub get_matches {
         my @source_keys = _get_match_keys($source_record, $matchpoint);
         next if scalar(@source_keys) == 0;
         # build query
-        my $query = join(" or ", map { "$matchpoint->{'index'}=$_" } @source_keys);
-        # FIXME only searching biblio index at the moment
-        my ($error, $searchresults, $total_hits) = SimpleSearch($query, 0, $max_matches);
+        my $query;
+        my $error;
+        my $searchresults;
+        my $total_hits;
+        if ($self->{'record_type'} eq 'biblio') {
+            $query = join(" or ", map { "$matchpoint->{'index'}=$_" } @source_keys);
+# FIXME only searching biblio index at the moment
+            require C4::Search;
+            ($error, $searchresults, $total_hits) = C4::Search::SimpleSearch($query, 0, $max_matches);
+        } elsif ($self->{'record_type'} eq 'authority') {
+            my $authresults;
+            my @marclist;
+            my @and_or;
+            my @excluding = [];
+            my @operator;
+            my @value;
+            foreach my $key (@source_keys) {
+                push @marclist, $matchpoint->{'index'};
+                push @and_or, 'or';
+                push @operator, 'exact';
+                push @value, $key;
+            }
+            require C4::AuthoritiesMarc;
+            ($authresults, $total_hits) = C4::AuthoritiesMarc::SearchAuthorities(
+                    \@marclist, \@and_or, \@excluding, \@operator,
+                    \@value, 0, 20, undef, 'AuthidAsc', 1
+            );
+            foreach my $result (@$authresults) {
+                push @$searchresults, $result->{'authid'};
+            }
+        }
 
         if (defined $error ) {
             warn "search failed ($query) $error";
@@ -636,16 +676,23 @@ sub get_matches {
 
     # get rid of any that don't meet the required checks
     %matches = map { _passes_required_checks($source_record, $_, $self->{'required_checks'}) ?  ($_ => $matches{$_}) : () } 
-                keys %matches;
+                keys %matches unless ($self->{'record_type'} eq 'auth');
 
     my @results = ();
-    foreach my $marcblob (keys %matches) {
-        my $target_record = MARC::Record->new_from_usmarc($marcblob);
-        my $result = TransformMarcToKoha(C4::Context->dbh, $target_record, '');
-        # FIXME - again, bibliospecific
-        # also, can search engine be induced to give just the number in the first place?
-        my $record_number = $result->{'biblionumber'};
-        push @results, { 'record_id' => $record_number, 'score' => $matches{$marcblob} };
+    if ($self->{'record_type'} eq 'biblio') {
+        require C4::Biblio;
+        foreach my $marcblob (keys %matches) {
+            my $target_record = MARC::Record->new_from_usmarc($marcblob);
+            my $record_number;
+            my $result = C4::Biblio::TransformMarcToKoha(C4::Context->dbh, $target_record, '');
+            $record_number = $result->{'biblionumber'};
+            push @results, { 'record_id' => $record_number, 'score' => $matches{$marcblob} };
+        }
+    } elsif ($self->{'record_type'} eq 'authority') {
+        require C4::AuthoritiesMarc;
+        foreach my $authid (keys %matches) {
+            push @results, { 'record_id' => $authid, 'score' => $matches{$authid} };
+        }
     }
     @results = sort { $b->{'score'} cmp $a->{'score'} } @results;
     if (scalar(@results) > $max_matches) {
@@ -673,6 +720,7 @@ sub dump {
     $result->{'matcher_id'} = $self->{'id'};
     $result->{'code'} = $self->{'code'};
     $result->{'description'} = $self->{'description'};
+    $result->{'record_type'} = $self->{'record_type'};
 
     $result->{'matchpoints'} = [];
     foreach my $matchpoint (@{ $self->{'matchpoints'} }) {
index 2e315aa..b2f45b9 100644 (file)
@@ -1072,10 +1072,9 @@ C<items> tables of the Koha database.
 sub GetAllIssues {
     my ( $borrowernumber, $order, $limit ) = @_;
 
-    #FIXME: sanity-check order and limit
-    my $dbh   = C4::Context->dbh;
+    my $dbh = C4::Context->dbh;
     my $query =
-  "SELECT *, issues.timestamp as issuestimestamp, issues.renewals AS renewals,items.renewals AS totalrenewals,items.timestamp AS itemstimestamp 
+'SELECT *, issues.timestamp as issuestimestamp, issues.renewals AS renewals,items.renewals AS totalrenewals,items.timestamp AS itemstimestamp
   FROM issues 
   LEFT JOIN items on items.itemnumber=issues.itemnumber
   LEFT JOIN biblio ON items.biblionumber=biblio.biblionumber
@@ -1088,20 +1087,14 @@ sub GetAllIssues {
   LEFT JOIN biblio ON items.biblionumber=biblio.biblionumber
   LEFT JOIN biblioitems ON items.biblioitemnumber=biblioitems.biblioitemnumber
   WHERE borrowernumber=? AND old_issues.itemnumber IS NOT NULL
-  order by $order";
-    if ( $limit != 0 ) {
+  order by ' . $order;
+    if ($limit) {
         $query .= " limit $limit";
     }
 
     my $sth = $dbh->prepare($query);
-    $sth->execute($borrowernumber, $borrowernumber);
-    my @result;
-    my $i = 0;
-    while ( my $data = $sth->fetchrow_hashref ) {
-        push @result, $data;
-    }
-
-    return \@result;
+    $sth->execute( $borrowernumber, $borrowernumber );
+    return $sth->fetchall_arrayref( {} );
 }
 
 
index 5386968..a63b3ca 100644 (file)
@@ -106,7 +106,7 @@ sub find {
     if (@$msgs) {
         return $class->new($msgs->[0]);
     } else {
-        return undef;
+        return;
     }
 }
 
@@ -142,7 +142,7 @@ sub find_last_message {
     if (@$msgs) {
         return $class->new($msgs->[0]);
     } else {
-        return undef;
+        return;
     }
 }
 
@@ -316,7 +316,7 @@ sub append {
     }
     if (not $self->metadata) {
         carp "Can't append to messages that don't have metadata.";
-        return undef;
+        return;
     }
     my $metadata = $self->metadata;
     push @{$metadata->{body}}, $item;
index 8cfa351..e1be3e7 100644 (file)
@@ -42,13 +42,13 @@ BEGIN {
 
  @ISA    = qw(Exporter);
     @EXPORT_OK = qw(&is_ajax ajax_fail); # More stuff should go here instead
-    %EXPORT_TAGS = ( all =>[qw(&themelanguage &gettemplate setlanguagecookie pagination_bar &gettemplate
+    %EXPORT_TAGS = ( all =>[qw(setlanguagecookie pagination_bar
                                 &output_with_http_headers &output_ajax_with_http_headers &output_html_with_http_headers)],
                     ajax =>[qw(&output_with_http_headers &output_ajax_with_http_headers is_ajax)],
                     html =>[qw(&output_with_http_headers &output_html_with_http_headers)]
                 );
     push @EXPORT, qw(
-        &themelanguage &gettemplate setlanguagecookie getlanguagecookie pagination_bar &gettemplate
+        setlanguagecookie getlanguagecookie pagination_bar
     );
     push @EXPORT, qw(
         &output_html_with_http_headers &output_ajax_with_http_headers &output_with_http_headers FormatData FormatNumber
@@ -125,7 +125,7 @@ This function returns HTML, without any language dependency.
 =cut
 
 sub pagination_bar {
-       my $base_url = (@_ ? shift : $ENV{SCRIPT_NAME} . $ENV{QUERY_STRING}) or return undef;
+       my $base_url = (@_ ? shift : $ENV{SCRIPT_NAME} . $ENV{QUERY_STRING}) or return;
     my $nb_pages       = (@_) ? shift : 1;
     my $current_page   = (@_) ? shift : undef; # delay default until later
     my $startfrom_name = (@_) ? shift : 'page';
@@ -267,7 +267,7 @@ $status is an HTTP status message, like '403 Authentication Required'. It defaul
 
 =cut
 
-sub output_with_http_headers($$$$;$) {
+sub output_with_http_headers {
     my ( $query, $cookie, $data, $content_type, $status ) = @_;
     $status ||= '200 OK';
 
@@ -305,7 +305,7 @@ sub output_with_http_headers($$$$;$) {
     print $query->header($options), $data;
 }
 
-sub output_html_with_http_headers ($$$;$) {
+sub output_html_with_http_headers {
     my ( $query, $cookie, $data, $status ) = @_;
     output_with_http_headers( $query, $cookie, $data, 'html', $status );
 }
index 12aa107..6683119 100644 (file)
@@ -67,9 +67,11 @@ sub NetworkPrint {
     # set the queue to "file" (or " file", if real queues aren't allowed
     # to have spaces in them). Or perhaps if $queue eq "" and
     # $env->{file} ne "", then that should mean "print to $env->{file}".
+
+    my $fh;
     if ( $queue eq "" || $queue eq 'nulllp' ) {
         return;
-       #open( PRINTER, ">/tmp/kohaiss" );
+       #open( $fh, ">/tmp/kohaiss" );
     }
     else {
 
@@ -77,15 +79,15 @@ sub NetworkPrint {
         # This is a reasonable assumption, but only because every other
         # printing package has a wrapper script called 'lpr'. It'd still
         # be better to be able to customize this.
-        open( PRINTER, "| lpr -P $queue > /dev/null" )
+        open( $fh, "-|", "lpr -P $queue > /dev/null" )
           or die "Couldn't write to queue:$queue!\n";
     }
 
     #  print $queue;
     #open (FILE,">/tmp/$file");
-    print PRINTER $text;
-    print PRINTER "\r\n" x 7 ;
-    close PRINTER;
+    print $fh $text;
+    print $fh "\r\n" x 7 ;
+    close $fh;
 
     #system("lpr /tmp/$file");
 }
index a07fcfc..f75195f 100644 (file)
@@ -358,7 +358,7 @@ sub marc2endnote {
 
 =head2 marc2csv - Convert several records from UNIMARC to CSV
 
-  my ($csv) = marc2csv($biblios, $csvprofileid);
+  my ($csv) = marc2csv($biblios, $csvprofileid, $itemnumbers);
 
 Pre and postprocessing can be done through a YAML file
 
@@ -368,10 +368,12 @@ C<$biblio> - a list of biblionumbers
 
 C<$csvprofileid> - the id of the CSV profile to use for the export (see export_format.export_format_id and the GetCsvProfiles function in C4::Csv)
 
+C<$itemnumbers> - a list of itemnumbers to export
+
 =cut
 
 sub marc2csv {
-    my ($biblios, $id) = @_;
+    my ($biblios, $id, $itemnumbers) = @_;
     my $output;
     my $csv = Text::CSV::Encoded->new();
 
@@ -386,9 +388,17 @@ sub marc2csv {
     eval $preprocess if ($preprocess);
 
     my $firstpass = 1;
-    foreach my $biblio (@$biblios) {
-       $output .= marcrecord2csv($biblio, $id, $firstpass, $csv, $fieldprocessing) ;
-       $firstpass = 0;
+    if ( $itemnumbers ) {
+        for my $itemnumber ( @$itemnumbers) {
+            my $biblionumber = GetBiblionumberFromItemnumber $itemnumber;
+            $output .= marcrecord2csv( $biblionumber, $id, $firstpass, $csv, $fieldprocessing, [$itemnumber] );
+            $firstpass = 0;
+        }
+    } else {
+        foreach my $biblio (@$biblios) {
+            $output .= marcrecord2csv( $biblio, $id, $firstpass, $csv, $fieldprocessing );
+            $firstpass = 0;
+        }
     }
 
     # Postprocessing
@@ -411,16 +421,21 @@ C<$header> - true if the headers are to be printed (typically at first pass)
 
 C<$csv> - an already initialised Text::CSV object
 
+C<$fieldprocessing>
+
+C<$itemnumbers> a list of itemnumbers to export
+
 =cut
 
 
 sub marcrecord2csv {
-    my ($biblio, $id, $header, $csv, $fieldprocessing) = @_;
+    my ($biblio, $id, $header, $csv, $fieldprocessing, $itemnumbers) = @_;
     my $output;
 
     # Getting the record
-    my $record = GetMarcBiblio($biblio, 1);
+    my $record = GetMarcBiblio($biblio);
     next unless $record;
+    C4::Biblio::EmbedItemsInMarcBiblio( $record, $biblio, $itemnumbers );
     # Getting the framework
     my $frameworkcode = GetFrameworkCode($biblio);
 
@@ -527,18 +542,28 @@ sub marcrecord2csv {
            my @fields = ($record->field($marcfield));
            my $authvalues = GetKohaAuthorisedValuesFromField($marcfield, undef, $frameworkcode, undef);
 
-           my @valuesarray;
-           foreach (@fields) {
-               my $value;
-
-               # Getting authorised value
-               $value = defined $authvalues->{$_->as_string} ? $authvalues->{$_->as_string} : $_->as_string;
+        my @valuesarray;
+        foreach (@fields) {
+            my $value;
+
+            # If it is a control field
+            if ($_->is_control_field) {
+                $value = defined $authvalues->{$_->as_string} ? $authvalues->{$_->as_string} : $_->as_string;
+            } else {
+                # If it is a field, we gather all subfields, joined by the subfield separator
+                my @subvaluesarray;
+                my @subfields = $_->subfields;
+                foreach my $subfield (@subfields) {
+                    push (@subvaluesarray, defined $authvalues->{$subfield->[1]} ? $authvalues->{$subfield->[1]} : $subfield->[1]);
+                }
+                $value = join ($subfieldseparator, @subvaluesarray);
+            }
 
-               # Field processing
-               eval $fieldprocessing if ($fieldprocessing);
+            # Field processing
+            eval $fieldprocessing if ($fieldprocessing);
 
-               push @valuesarray, $value;
-           }
+            push @valuesarray, $value;
+        }
            push (@fieldstab, join($fieldseparator, @valuesarray)); 
         }
     };
index fbc25d8..279ac57 100644 (file)
@@ -26,7 +26,8 @@ use vars qw($VERSION @ISA @EXPORT @EXPORT_OK %EXPORT_TAGS);
 use C4::Context;
 use C4::Dates qw/format_date format_date_in_iso/;
 use C4::Templates qw/themelanguage/;
-use C4::Dates;
+use C4::Koha;
+use C4::Output;
 use XML::Simple;
 use XML::Dumper;
 use C4::Debug;
@@ -34,75 +35,17 @@ use C4::Debug;
 # use Data::Dumper;
 
 BEGIN {
-       # set the version for version checking
+    # set the version for version checking
     $VERSION = 3.07.00.049;
-       require Exporter;
-       @ISA = qw(Exporter);
-       @EXPORT = qw(
-               get_report_types get_report_areas get_columns build_query get_criteria
-           save_report get_saved_reports execute_query get_saved_report create_compound run_compound
-               get_column_type get_distinct_values save_dictionary get_from_dictionary
-               delete_definition delete_report format_results get_sql
-        nb_rows update_sql
-       );
-}
-
-our %table_areas;
-$table_areas{'1'} =
-  [ 'borrowers', 'statistics','items', 'biblioitems' ];    # circulation
-$table_areas{'2'} = [ 'items', 'biblioitems', 'biblio' ];   # catalogue
-$table_areas{'3'} = [ 'borrowers' ];        # patrons
-$table_areas{'4'} = ['aqorders', 'biblio', 'items'];        # acquisitions
-$table_areas{'5'} = [ 'borrowers', 'accountlines' ];        # accounts
-our %keys;
-$keys{'1'} = [
-    'statistics.borrowernumber=borrowers.borrowernumber',
-    'items.itemnumber = statistics.itemnumber',
-    'biblioitems.biblioitemnumber = items.biblioitemnumber'
-];
-$keys{'2'} = [
-    'items.biblioitemnumber=biblioitems.biblioitemnumber',
-    'biblioitems.biblionumber=biblio.biblionumber'
-];
-$keys{'3'} = [ ];
-$keys{'4'} = [
-       'aqorders.biblionumber=biblio.biblionumber',
-       'biblio.biblionumber=items.biblionumber'
-];
-$keys{'5'} = ['borrowers.borrowernumber=accountlines.borrowernumber'];
-
-# have to do someting here to know if its dropdown, free text, date etc
-
-our %criteria;
-# reports on circulation
-$criteria{'1'} = [
-    'statistics.type',   'borrowers.categorycode',
-    'statistics.branch',
-    'biblioitems.publicationyear|date',
-    'items.dateaccessioned|date'
-];
-# reports on catalogue
-$criteria{'2'} =
-  [ 'items.itemnumber|textrange',   'items.biblionumber|textrange',   'items.barcode|textrange', 
-    'biblio.frameworkcode',         'items.holdingbranch',            'items.homebranch', 
-  'biblio.datecreated|daterange',   'biblio.timestamp|daterange',     'items.onloan|daterange', 
-  'items.ccode',                    'items.itemcallnumber|textrange', 'items.itype', 
-  'items.itemlost',                 'items.location' ];
-# reports on borrowers
-$criteria{'3'} = ['borrowers.branchcode', 'borrowers.categorycode'];
-# reports on acquisition
-$criteria{'4'} = ['aqorders.datereceived|date'];
-
-# reports on accounting
-$criteria{'5'} = ['borrowers.branchcode', 'borrowers.categorycode'];
-
-# Adds itemtypes to criteria, according to the syspref
-if (C4::Context->preference('item-level_itypes')) {
-    unshift @{ $criteria{'1'} }, 'items.itype';
-    unshift @{ $criteria{'2'} }, 'items.itype';
-} else {
-    unshift @{ $criteria{'1'} }, 'biblioitems.itemtype';
-    unshift @{ $criteria{'2'} }, 'biblioitems.itemtype';
+    require Exporter;
+    @ISA    = qw(Exporter);
+    @EXPORT = qw(
+      get_report_types get_report_areas get_report_groups get_columns build_query get_criteria
+      save_report get_saved_reports execute_query get_saved_report create_compound run_compound
+      get_column_type get_distinct_values save_dictionary get_from_dictionary
+      delete_definition delete_report format_results get_sql
+      nb_rows update_sql build_authorised_value_list
+    );
 }
 
 =head1 NAME
@@ -121,8 +64,71 @@ C4::Reports::Guided - Module for generating guided reports
 
 =over 2
 
+=item get_report_areas()
+
+This will return a list of all the available report areas
+
 =cut
 
+my @REPORT_AREA = (
+    [CIRC => "Circulation"],
+    [CAT  => "Catalogue"],
+    [PAT  => "Patrons"],
+    [ACQ  => "Acquisition"],
+    [ACC  => "Accounts"],
+);
+my $AREA_NAME_SQL_SNIPPET
+  = "CASE report_area " .
+    join (" ", map "WHEN '$_->[0]' THEN '$_->[1]'", @REPORT_AREA) .
+    " END AS areaname";
+sub get_report_areas {
+    return \@REPORT_AREA
+}
+
+my %table_areas = (
+    CIRC => [ 'borrowers', 'statistics', 'items', 'biblioitems' ],
+    CAT  => [ 'items', 'biblioitems', 'biblio' ],
+    PAT  => ['borrowers'],
+    ACQ  => [ 'aqorders', 'biblio', 'items' ],
+    ACC  => [ 'borrowers', 'accountlines' ],
+);
+my %keys = (
+    CIRC => [ 'statistics.borrowernumber=borrowers.borrowernumber',
+              'items.itemnumber = statistics.itemnumber',
+              'biblioitems.biblioitemnumber = items.biblioitemnumber' ],
+    CAT  => [ 'items.biblioitemnumber=biblioitems.biblioitemnumber',
+              'biblioitems.biblionumber=biblio.biblionumber' ],
+    PAT  => [],
+    ACQ  => [ 'aqorders.biblionumber=biblio.biblionumber',
+              'biblio.biblionumber=items.biblionumber' ],
+    ACC  => ['borrowers.borrowernumber=accountlines.borrowernumber'],
+);
+
+# have to do someting here to know if its dropdown, free text, date etc
+my %criteria = (
+    CIRC => [ 'statistics.type', 'borrowers.categorycode', 'statistics.branch',
+              'biblioitems.publicationyear|date', 'items.dateaccessioned|date' ],
+    CAT  => [ 'items.itemnumber|textrange', 'items.biblionumber|textrange',
+              'items.barcode|textrange', 'biblio.frameworkcode',
+              'items.holdingbranch', 'items.homebranch',
+              'biblio.datecreated|daterange', 'biblio.timestamp|daterange',
+              'items.onloan|daterange', 'items.ccode',
+              'items.itemcallnumber|textrange', 'items.itype', 'items.itemlost',
+              'items.location' ],
+    PAT  => [ 'borrowers.branchcode', 'borrowers.categorycode' ],
+    ACQ  => ['aqorders.datereceived|date'],
+    ACC  => [ 'borrowers.branchcode', 'borrowers.categorycode' ],
+);
+
+# Adds itemtypes to criteria, according to the syspref
+if ( C4::Context->preference('item-level_itypes') ) {
+    unshift @{ $criteria{'CIRC'} }, 'items.itype';
+    unshift @{ $criteria{'CAT'} }, 'items.itype';
+} else {
+    unshift @{ $criteria{'CIRC'} }, 'biblioitems.itemtype';
+    unshift @{ $criteria{'CAT'} }, 'biblioitems.itemtype';
+}
+
 =item get_report_types()
 
 This will return a list of all the available report types
@@ -145,26 +151,33 @@ sub get_report_types {
 
 }
 
-=item get_report_areas()
+=item get_report_groups()
 
-This will return a list of all the available report areas
+This will return a list of all the available report areas with groups
 
 =cut
 
-sub get_report_areas {
+sub get_report_groups {
     my $dbh = C4::Context->dbh();
 
-    # FIXME these should be in the database
-    my @reports = ( 'Circulation', 'Catalog', 'Patrons', 'Acquisitions', 'Accounts');
-    my @reports2;
-    for ( my $i = 0 ; $i < 5 ; $i++ ) {
-        my %hashrep;
-        $hashrep{id}   = $i + 1;
-        $hashrep{name} = $reports[$i];
-        push @reports2, \%hashrep;
+    my $groups = GetAuthorisedValues('REPORT_GROUP');
+    my $subgroups = GetAuthorisedValues('REPORT_SUBGROUP');
+
+    my %groups_with_subgroups = map { $_->{authorised_value} => {
+                        name => $_->{lib},
+                        groups => {}
+                    } } @$groups;
+    foreach (@$subgroups) {
+        my $sg = $_->{authorised_value};
+        my $g = $_->{lib_opac}
+          or warn( qq{REPORT_SUBGROUP "$sg" without REPORT_GROUP (lib_opac)} ),
+             next;
+        my $g_sg = $groups_with_subgroups{$g}
+          or warn( qq{REPORT_SUBGROUP "$sg" with invalid REPORT_GROUP "$g"} ),
+             next;
+        $g_sg->{subgroups}{$sg} = $_->{lib};
     }
-    return ( \@reports2 );
-
+    return \%groups_with_subgroups
 }
 
 =item get_all_tables()
@@ -196,8 +209,10 @@ This will return a list of all columns for a report area
 sub get_columns {
 
     # this calls the internal fucntion _get_columns
-    my ($area,$cgi) = @_;
-    my $tables = $table_areas{$area};
+    my ( $area, $cgi ) = @_;
+    my $tables = $table_areas{$area}
+      or die qq{Unsuported report area "$area"};
+
     my @allcolumns;
     my $first = 1;
     foreach my $table (@$tables) {
@@ -383,7 +398,7 @@ sub nb_rows($) {
 
 =item execute_query
 
-  ($results, $total, $error) = execute_query($sql, $offset, $limit)
+  ($results, $error) = execute_query($sql, $offset, $limit)
 
 
 When passed C<$sql>, this function returns an array ref containing a result set
@@ -413,11 +428,44 @@ sub select_2_select_count ($) {
     $sql =~ s/\bSELECT\W+(?:\w+\W+){1,}?FROM\b|\bSELECT\W\*\WFROM\b/SELECT count(*) FROM /ig;
     return $sql;
 }
-sub strip_limit ($) {
-    my $sql = shift or return;
-    ($sql =~ /\bLIMIT\b/i) or return ($sql, 0, undef);
-    $sql =~ s/\bLIMIT\b\s*(\d+)(\s*\,\s*(\d+))?\s*/ /ig;
-    return ($sql, (defined $2 ? $1 : 0), (defined $3 ? $3 : $1));   # offset can default to 0, LIMIT cannot!
+
+# This removes the LIMIT from the query so that a custom one can be specified.
+# Usage:
+#   ($new_sql, $offset, $limit) = strip_limit($sql);
+#
+# Where:
+#   $sql is the query to modify
+#   $new_sql is the resulting query
+#   $offset is the offset value, if the LIMIT was the two-argument form,
+#       0 if it wasn't otherwise given.
+#   $limit is the limit value
+#
+# Notes:
+#   * This makes an effort to not break subqueries that have their own
+#     LIMIT specified. It does that by only removing a LIMIT if it comes after
+#     a WHERE clause (which isn't perfect, but at least should make more cases
+#     work - subqueries with a limit in the WHERE will still break.)
+#   * If your query doesn't have a WHERE clause then all LIMITs will be
+#     removed. This may break some subqueries, but is hopefully rare enough
+#     to not be a big issue.
+sub strip_limit {
+    my ($sql) = @_;
+
+    return unless $sql;
+    return ($sql, 0, undef) unless $sql =~ /\bLIMIT\b/i;
+
+    # Two options: if there's no WHERE clause in the SQL, we simply capture
+    # any LIMIT that's there. If there is a WHERE, we make sure that we only
+    # capture a LIMIT after the last one. This prevents stomping on subqueries.
+    if ($sql !~ /\bWHERE\b/i) {
+        (my $res = $sql) =~ s/\bLIMIT\b\s*(\d+)(\s*\,\s*(\d+))?\s*/ /ig;
+        return ($res, (defined $2 ? $1 : 0), (defined $3 ? $3 : $1));
+    } else {
+        my $res = $sql;
+        $res =~ m/.*\bWHERE\b/gsi;
+        $res =~ s/\G(.*)\bLIMIT\b\s*(\d+)(\s*\,\s*(\d+))?\s*/$1 /is;
+        return ($res, (defined $3 ? $2 : 0), (defined $4 ? $4 : $2));
+    }
 }
 
 sub execute_query ($;$$$) {
@@ -472,37 +520,47 @@ Returns id of the newly created report
 =cut
 
 sub save_report {
-    my ( $borrowernumber, $sql, $name, $type, $notes, $cache_expiry, $public ) = @_;
-    $cache_expiry ||= 300;
+    my ($fields) = @_;
+    my $borrowernumber = $fields->{borrowernumber};
+    my $sql = $fields->{sql};
+    my $name = $fields->{name};
+    my $type = $fields->{type};
+    my $notes = $fields->{notes};
+    my $area = $fields->{area};
+    my $group = $fields->{group};
+    my $subgroup = $fields->{subgroup};
+    my $cache_expiry = $fields->{cache_expiry} || 300;
+    my $public = $fields->{public};
+
     my $dbh = C4::Context->dbh();
-    $sql =~ s/(\s*\;\s*)$//; # removes trailing whitespace and /;/
-    my $query =
-"INSERT INTO saved_sql (borrowernumber,date_created,last_modified,savedsql,report_name,type,notes,cache_expiry, public)  VALUES (?,now(),now(),?,?,?,?,?,?)";
-    $dbh->do( $query, undef, $borrowernumber, $sql, $name, $type, $notes, $cache_expiry, $public );
+    $sql =~ s/(\s*\;\s*)$//;    # removes trailing whitespace and /;/
+    my $query = "INSERT INTO saved_sql (borrowernumber,date_created,last_modified,savedsql,report_name,report_area,report_group,report_subgroup,type,notes,cache_expiry,public)  VALUES (?,now(),now(),?,?,?,?,?,?,?,?,?)";
+    $dbh->do($query, undef, $borrowernumber, $sql, $name, $area, $group, $subgroup, $type, $notes, $cache_expiry, $public);
+
     my $id = $dbh->selectrow_array("SELECT max(id) FROM saved_sql WHERE borrowernumber=? AND report_name=?", undef,
                                    $borrowernumber, $name);
     return $id;
 }
 
 sub update_sql {
-    my $id = shift || croak "No Id given";
-    my $sql = shift;
-    my $reportname = shift;
-    my $notes = shift;
-    my $cache_expiry = shift;
-    my $public = shift;
-
-    # not entirely a magic number, Cache::Memcached::Set assumed any expiry >= (60*60*24*30) is an absolute unix timestamp (rather than relative seconds)
+    my $id         = shift || croak "No Id given";
+    my $fields     = shift;
+    my $sql = $fields->{sql};
+    my $name = $fields->{name};
+    my $notes = $fields->{notes};
+    my $group = $fields->{group};
+    my $subgroup = $fields->{subgroup};
+    my $cache_expiry = $fields->{cache_expiry};
+    my $public = $fields->{public};
+
     if( $cache_expiry >= 2592000 ){
       die "Please specify a cache expiry less than 30 days\n";
     }
 
-    my $dbh = C4::Context->dbh();
-    $sql =~ s/(\s*\;\s*)$//; # removes trailing whitespace and /;/
-    my $query = "UPDATE saved_sql SET savedsql = ?, last_modified = now(), report_name = ?, notes = ?, cache_expiry = ?, public = ? WHERE id = ? ";
-    my $sth = $dbh->prepare($query);
-    $sth->execute( $sql, $reportname, $notes, $cache_expiry, $public, $id );
-    $sth->finish();
+    my $dbh        = C4::Context->dbh();
+    $sql =~ s/(\s*\;\s*)$//;    # removes trailing whitespace and /;/
+    my $query = "UPDATE saved_sql SET savedsql = ?, last_modified = now(), report_name = ?, report_group = ?, report_subgroup = ?, notes = ?, cache_expiry = ?, public = ? WHERE id = ? ";
+    $dbh->do($query, undef, $sql, $name, $group, $subgroup, $notes, $cache_expiry, $public, $id );
 }
 
 sub store_results {
@@ -549,30 +607,34 @@ sub format_results {
 }      
 
 sub delete_report {
-       my ( $id ) = @_;
-       my $dbh = C4::Context->dbh();
-       my $query = "DELETE FROM saved_sql WHERE id = ?";
-       my $sth = $dbh->prepare($query);
-       $sth->execute($id);
+    my ($id)  = @_;
+    my $dbh   = C4::Context->dbh();
+    my $query = "DELETE FROM saved_sql WHERE id = ?";
+    my $sth   = $dbh->prepare($query);
+    $sth->execute($id);
 }      
 
-# $filter is either { date => $d, author => $a, keyword => $kw }
-# or $keyword. Optional.
+
+my $SAVED_REPORTS_BASE_QRY = <<EOQ;
+SELECT s.*, r.report, r.date_run, $AREA_NAME_SQL_SNIPPET, av_g.lib AS groupname, av_sg.lib AS subgroupname,
+b.firstname AS borrowerfirstname, b.surname AS borrowersurname
+FROM saved_sql s
+LEFT JOIN saved_reports r ON r.report_id = s.id
+LEFT OUTER JOIN authorised_values av_g ON (av_g.category = 'REPORT_GROUP' AND av_g.authorised_value = s.report_group)
+LEFT OUTER JOIN authorised_values av_sg ON (av_sg.category = 'REPORT_SUBGROUP' AND av_sg.lib_opac = s.report_group AND av_sg.authorised_value = s.report_subgroup)
+LEFT OUTER JOIN borrowers b USING (borrowernumber)
+EOQ
 my $DATE_FORMAT = "%d/%m/%Y";
 sub get_saved_reports {
+# $filter is either { date => $d, author => $a, keyword => $kw, }
+# or $keyword. Optional.
     my ($filter) = @_;
     $filter = { keyword => $filter } if $filter && !ref( $filter );
+    my ($group, $subgroup) = @_;
 
     my $dbh   = C4::Context->dbh();
+    my $query = $SAVED_REPORTS_BASE_QRY;
     my (@cond,@args);
-    my $query = "SELECT saved_sql.id, report_id, report,
-                        date_run, date_created, last_modified, savedsql, last_run,
-                        report_name, type, notes,
-                        borrowernumber, surname as borrowersurname, firstname as borrowerfirstname,
-                        cache_expiry, public
-                 FROM saved_sql 
-                 LEFT JOIN saved_reports ON saved_reports.report_id = saved_sql.id
-                 LEFT OUTER JOIN borrowers USING (borrowernumber)";
     if ($filter) {
         if (my $date = $filter->{date}) {
             $date = format_date_in_iso($date);
@@ -596,6 +658,14 @@ sub get_saved_reports {
                          savedsql LIKE ?";
             push @args, $keyword, $keyword, $keyword, $keyword;
         }
+        if ($filter->{group}) {
+            push @cond, "report_group = ?";
+            push @args, $filter->{group};
+        }
+        if ($filter->{subgroup}) {
+            push @cond, "report_subgroup = ?";
+            push @args, $filter->{subgroup};
+        }
     }
     $query .= " WHERE ".join( " AND ", map "($_)", @cond ) if @cond;
     $query .= " ORDER by date_created";
@@ -609,7 +679,6 @@ sub get_saved_reports {
 sub get_saved_report {
     my $dbh   = C4::Context->dbh();
     my $query;
-    my $sth;
     my $report_arg;
     if ($#_ == 0 && ref $_[0] ne 'HASH') {
         ($report_arg) = @_;
@@ -628,10 +697,7 @@ sub get_saved_report {
     } else {
         return;
     }
-    $sth   = $dbh->prepare($query);
-    $sth->execute($report_arg);
-    my $data = $sth->fetchrow_hashref();
-    return ( $data->{'savedsql'}, $data->{'type'}, $data->{'report_name'}, $data->{'notes'}, $data->{'cache_expiry'}, $data->{'public'}, $data->{'id'} );
+    return $dbh->selectrow_hashref($query, undef, $report_arg);
 }
 
 =item create_compound($masterID,$subreportID)
@@ -641,22 +707,27 @@ This will take 2 reports and create a compound report using both of them
 =cut
 
 sub create_compound {
-       my ($masterID,$subreportID) = @_;
-       my $dbh = C4::Context->dbh();
-       # get the reports
-       my ($mastersql,$mastertype) = get_saved_report($masterID);
-       my ($subsql,$subtype) = get_saved_report($subreportID);
-       
-       # now we have to do some checking to see how these two will fit together
-       # or if they will
-       my ($mastertables,$subtables);
-       if ($mastersql =~ / from (.*) where /i){ 
-               $mastertables = $1;
-       }
-       if ($subsql =~ / from (.*) where /i){
-               $subtables = $1;
-       }
-       return ($mastertables,$subtables);
+    my ( $masterID, $subreportID ) = @_;
+    my $dbh = C4::Context->dbh();
+
+    # get the reports
+    my $master = get_saved_report($masterID);
+    my $mastersql = $master->{savedsql};
+    my $mastertype = $master->{type};
+    my $sub = get_saved_report($subreportID);
+    my $subsql = $master->{savedsql};
+    my $subtype = $master->{type};
+
+    # now we have to do some checking to see how these two will fit together
+    # or if they will
+    my ( $mastertables, $subtables );
+    if ( $mastersql =~ / from (.*) where /i ) {
+        $mastertables = $1;
+    }
+    if ( $subsql =~ / from (.*) where /i ) {
+        $subtables = $1;
+    }
+    return ( $mastertables, $subtables );
 }
 
 =item get_column_type($column)
@@ -706,43 +777,41 @@ sub get_distinct_values {
 }      
 
 sub save_dictionary {
-       my ($name,$description,$sql,$area) = @_;
-       my $dbh = C4::Context->dbh();
-       my $query = "INSERT INTO reports_dictionary (name,description,saved_sql,area,date_created,date_modified)
+    my ( $name, $description, $sql, $area ) = @_;
+    my $dbh   = C4::Context->dbh();
+    my $query = "INSERT INTO reports_dictionary (name,description,saved_sql,report_area,date_created,date_modified)
   VALUES (?,?,?,?,now(),now())";
     my $sth = $dbh->prepare($query);
     $sth->execute($name,$description,$sql,$area) || return 0;
     return 1;
 }
 
+my $DICTIONARY_BASE_QRY = <<EOQ;
+SELECT d.*, $AREA_NAME_SQL_SNIPPET
+FROM reports_dictionary d
+EOQ
 sub get_from_dictionary {
-       my ($area,$id) = @_;
-       my $dbh = C4::Context->dbh();
-       my $query = "SELECT * FROM reports_dictionary";
-       if ($area){
-               $query.= " WHERE area = ?";
-       }
-       elsif ($id){
-               $query.= " WHERE id = ?"
-       }
-       my $sth = $dbh->prepare($query);
-       if ($id){
-               $sth->execute($id);
-       }
-       elsif ($area) {
-               $sth->execute($area);
-       }
-       else {
-               $sth->execute();
-       }
-       my @loop;
-       my @reports = ( 'Circulation', 'Catalog', 'Patrons', 'Acquisitions', 'Accounts');
-       while (my $data = $sth->fetchrow_hashref()){
-               $data->{'areaname'}=$reports[$data->{'area'}-1];
-               push @loop,$data;
-               
-       }
-       return (\@loop);
+    my ( $area, $id ) = @_;
+    my $dbh   = C4::Context->dbh();
+    my $query = $DICTIONARY_BASE_QRY;
+    if ($area) {
+        $query .= " WHERE report_area = ?";
+    } elsif ($id) {
+        $query .= " WHERE id = ?";
+    }
+    my $sth = $dbh->prepare($query);
+    if ($id) {
+        $sth->execute($id);
+    } elsif ($area) {
+        $sth->execute($area);
+    } else {
+        $sth->execute();
+    }
+    my @loop;
+    while ( my $data = $sth->fetchrow_hashref() ) {
+        push @loop, $data;
+    }
+    return ( \@loop );
 }
 
 sub delete_definition {
@@ -769,7 +838,7 @@ sub _get_column_defs {
        my $columns_def_file = "columns.def";
        my $htdocs = C4::Context->config('intrahtdocs');                       
        my $section='intranet';
-       my ($theme, $lang) = C4::Templates::themelanguage($htdocs, $columns_def_file, $section,$cgi);
+    my ($theme, $lang, $availablethemes) = C4::Templates::themelanguage($htdocs, $columns_def_file, $section,$cgi);
 
        my $full_path_to_columns_def_file="$htdocs/$theme/$lang/$columns_def_file";    
        open (COLUMNS,$full_path_to_columns_def_file);
@@ -782,6 +851,72 @@ sub _get_column_defs {
        close COLUMNS;
        return \%columns;
 }
+
+=item build_authorised_value_list($authorised_value)
+
+Returns an arrayref - hashref pair. The hashref consists of
+various code => name lists depending on the $authorised_value.
+The arrayref is the hashref keys, in appropriate order
+
+=cut
+
+sub build_authorised_value_list {
+    my ( $authorised_value ) = @_;
+
+    my $dbh = C4::Context->dbh;
+    my @authorised_values;
+    my %authorised_lib;
+
+    # builds list, depending on authorised value...
+    if ( $authorised_value eq "branches" ) {
+        my $branches = GetBranchesLoop();
+        foreach my $thisbranch (@$branches) {
+            push @authorised_values, $thisbranch->{value};
+            $authorised_lib{ $thisbranch->{value} } = $thisbranch->{branchname};
+        }
+    } elsif ( $authorised_value eq "itemtypes" ) {
+        my $sth = $dbh->prepare("SELECT itemtype,description FROM itemtypes ORDER BY description");
+        $sth->execute;
+        while ( my ( $itemtype, $description ) = $sth->fetchrow_array ) {
+            push @authorised_values, $itemtype;
+            $authorised_lib{$itemtype} = $description;
+        }
+    } elsif ( $authorised_value eq "cn_source" ) {
+        my $class_sources  = GetClassSources();
+        my $default_source = C4::Context->preference("DefaultClassificationSource");
+        foreach my $class_source ( sort keys %$class_sources ) {
+            next
+              unless $class_sources->{$class_source}->{'used'}
+                  or ( $class_source eq $default_source );
+            push @authorised_values, $class_source;
+            $authorised_lib{$class_source} = $class_sources->{$class_source}->{'description'};
+        }
+    } elsif ( $authorised_value eq "categorycode" ) {
+        my $sth = $dbh->prepare("SELECT categorycode, description FROM categories ORDER BY description");
+        $sth->execute;
+        while ( my ( $categorycode, $description ) = $sth->fetchrow_array ) {
+            push @authorised_values, $categorycode;
+            $authorised_lib{$categorycode} = $description;
+        }
+
+        #---- "true" authorised value
+    } else {
+        my $authorised_values_sth = $dbh->prepare("SELECT authorised_value,lib FROM authorised_values WHERE category=? ORDER BY lib");
+
+        $authorised_values_sth->execute($authorised_value);
+
+        while ( my ( $value, $lib ) = $authorised_values_sth->fetchrow_array ) {
+            push @authorised_values, $value;
+            $authorised_lib{$value} = $lib;
+
+            # For item location, we show the code and the libelle
+            $authorised_lib{$value} = $lib;
+        }
+    }
+
+    return (\@authorised_values, \%authorised_lib);
+}
+
 1;
 __END__
 
index 585d1e5..1dc6f72 100644 (file)
@@ -2081,9 +2081,9 @@ sub ReserveSlip {
         tables => {
             'reserves'    => $reserve,
             'branches'    => $reserve->{branchcode},
-            'borrowers'   => $reserve,
-            'biblio'      => $reserve,
-            'items'       => $reserve,
+            'borrowers'   => $reserve->{borrowernumber},
+            'biblio'      => $reserve->{biblionumber},
+            'items'       => $reserve->{itemnumber},
         },
     );
 }
index f046568..5d59850 100644 (file)
@@ -428,17 +428,12 @@ sub renew {
     if (!defined($item)) {
                $trans->screen_msg("Item not checked out to " . $patron->name);     # not checked out to $patron_id
         $trans->ok(0);
-    } elsif (!$item->available($patron_id)) {
-               $trans->screen_msg("Item unavailable due to outstanding holds");
-        $trans->ok(0);
     } else {
-               $trans->renewal_ok(1);
-               $trans->desensitize(0); # It's already checked out
-               $trans->do_renew();
-               syslog("LOG_DEBUG", "done renew (ok:%s): %s renews %s", $trans->renewal_ok, $patron_id, $item_id);
-
-#              $item->{due_date} = $nb_due_date if $no_block eq 'Y';
-#              $item->{sip_item_properties} = $item_props if $item_props;
+        $trans->do_renew();
+        if ($trans->renewal_ok()) {
+            $item->{due_date} = $trans->{due};
+            $trans->desensitize(0);
+        }
     }
 
     return $trans;
index 38951fc..da7a1b0 100644 (file)
@@ -54,6 +54,7 @@ sub do_checkout {
        my $shelf          = $self->{item}->hold_shelf;
        my $barcode        = $self->{item}->id;
        my $patron_barcode = $self->{patron}->id;
+        my $overridden_duedate; # usually passed as undef to AddIssue
        $debug and warn "do_checkout: patron (" . $patron_barcode . ")";
        my $borrower = $self->{patron}->getmemberdetails_object();
        $debug and warn "do_checkout borrower: . " . Dumper $borrower;
@@ -72,7 +73,7 @@ sub do_checkout {
             $noerror = 0;
         }
     } else {
-        foreach my $confirmation (keys %$needsconfirmation) {
+        foreach my $confirmation (keys %{$needsconfirmation}) {
             if ($confirmation eq 'RENEW_ISSUE'){
                 $self->screen_msg("Item already checked out to you: renewing item.");
             } elsif ($confirmation eq 'RESERVED' or $confirmation eq 'RESERVE_WAITING') {
@@ -87,6 +88,9 @@ sub do_checkout {
                 $self->screen_msg("Item already checked out to another patron.  Please return item for check-in.");
                 $noerror = 0;
             } elsif ($confirmation eq 'DEBT') {     # don't do anything, it's the minor debt, and alarms fire elsewhere
+            } elsif ($confirmation eq 'HIGHHOLDS') {
+                $overridden_duedate = $needsconfirmation->{$confirmation}->{returndate};
+                $self->screen_msg('Loan period reduced for high-demand item');
             } else {
                 $self->screen_msg($needsconfirmation->{$confirmation});
                 $noerror = 0;
@@ -118,10 +122,10 @@ sub do_checkout {
         # TODO: adjust representation in $self->item
     }
        # can issue
-       $debug and warn "do_checkout: calling AddIssue(\$borrower,$barcode, undef, 0)\n"
+       $debug and warn "do_checkout: calling AddIssue(\$borrower,$barcode, $overridden_duedate, 0)\n"
                # . "w/ \$borrower: " . Dumper($borrower)
                . "w/ C4::Context->userenv: " . Dumper(C4::Context->userenv);
-       my $due_dt  = AddIssue($borrower, $barcode, undef, 0);
+       my $due_dt  = AddIssue($borrower, $barcode, $overridden_duedate, 0);
     if ($due_dt) {
         $self->{due} = $due_dt->clone();
     } else {
index 57db003..1f0f567 100644 (file)
@@ -8,49 +8,53 @@ use warnings;
 use strict;
 
 use ILS;
-use ILS::Transaction;
 
 use C4::Circulation;
 use C4::Members;
 
-our @ISA = qw(ILS::Transaction);
+use base qw(ILS::Transaction);
 
 my %fields = (
-       renewal_ok => 0,
+    renewal_ok => 0,
 );
 
 sub new {
-       my $class = shift;
-       my $self = $class->SUPER::new();
+    my $class = shift;
+    my $self = $class->SUPER::new();
 
     foreach my $element (keys %fields) {
-               $self->{_permitted}->{$element} = $fields{$element};
-       }
+        $self->{_permitted}->{$element} = $fields{$element};
+    }
 
-       @{$self}{keys %fields} = values %fields;        # overkill?
-       return bless $self, $class;
+    @{$self}{keys %fields} = values %fields;   # overkill?
+    return bless $self, $class;
 }
 
 sub do_renew_for  {
-       my $self = shift;
-       my $borrower = shift;
-       my ($renewokay,$renewerror) = CanBookBeRenewed($borrower->{borrowernumber},$self->{item}->{itemnumber});
-       if ($renewokay){
-               $self->{due} = AddIssue( $borrower, $self->{item}->id, undef, 0 );
-               $self->renewal_ok(1);
-       } else {
-               $self->screen_msg(($self->screen_msg || '') . " " . $renewerror);
-               $self->renewal_ok(0);
-       }
-    $! and warn "do_renew_for error: $!";
-       $self->ok(1) unless $!;
-       return $self;
+    my $self = shift;
+    my $borrower = shift;
+    my ($renewokay,$renewerror) = CanBookBeRenewed($borrower->{borrowernumber},$self->{item}->{itemnumber});
+    if ($renewokay){
+        $self->{due} = undef;
+        my $due_date = AddIssue( $borrower, $self->{item}->id, undef, 0 );
+        if ($due_date) {
+            $self->{due} = $due_date;
+        }
+        $self->renewal_ok(1);
+    } else {
+        $renewerror=~s/on_reserve/Item unavailable due to outstanding holds/;
+        $renewerror=~s/too_many/Item has reached maximum renewals/;
+        $self->screen_msg($renewerror);
+        $self->renewal_ok(0);
+    }
+    $self->ok(1);
+    return;
 }
 
 sub do_renew {
-       my $self = shift;
-       my $borrower = GetMember( 'cardnumber'=>$self->{patron}->id);
-       return $self->do_renew_for($borrower);
-}      
+    my $self = shift;
+    my $borrower = GetMember( cardnumber => $self->{patron}->id );
+    return $self->do_renew_for($borrower);
+}
 
 1;
index adc467a..c7be96b 100644 (file)
@@ -1,4 +1,4 @@
-# 
+#
 # RenewAll: class to manage status of "Renew All" transaction
 
 package ILS::Transaction::RenewAll;
@@ -9,57 +9,63 @@ use warnings;
 use Sys::Syslog qw(syslog);
 
 use ILS::Item;
-use ILS::Transaction::Renew;
 
-use C4::Members;       # GetMember
+use C4::Members qw( GetMember );
 
-our @ISA = qw(ILS::Transaction::Renew);
+use base qw(ILS::Transaction::Renew);
 
 my %fields = (
-         renewed => [],
-       unrenewed => [],
+    renewed   => [],
+    unrenewed => [],
 );
 
 sub new {
-       my $class = shift;
-       my $self = $class->SUPER::new();
+    my $class = shift;
+    my $self  = $class->SUPER::new();
 
-    foreach my $element (keys %fields) {
-               $self->{_permitted}->{$element} = $fields{$element};
-       }
+    foreach my $element ( keys %fields ) {
+        $self->{_permitted}->{$element} = $fields{$element};
+    }
 
-       @{$self}{keys %fields} = values %fields;
-       return bless $self, $class;
+    @{$self}{ keys %fields } = values %fields;
+    return bless $self, $class;
 }
 
 sub do_renew_all {
-       my $self = shift;
-       my $patron = $self->{patron};                                                   # SIP's  patron
-       my $borrower = GetMember('cardnumber'=>$patron->id);    # Koha's patron
-       my $all_ok = 1;
-    $self->{renewed} = [];
+    my $self     = shift;
+    my $patron   = $self->{patron};                           # SIP's  patron
+    my $borrower = GetMember( cardnumber => $patron->id );    # Koha's patron
+    my $all_ok   = 1;
+    $self->{renewed}   = [];
     $self->{unrenewed} = [];
-       foreach my $itemx (@{$patron->{items}}) {
-               my $item_id = $itemx->{barcode};
-               my $item = new ILS::Item $item_id;
-               if (!defined($item)) {
-                       syslog("LOG_WARNING",
-                               "renew_all: Invalid item id '%s' associated with patron '%s'",
-                               $item_id, $patron->id);
-                       $all_ok = 0;
-                       next;
-               }
-               $self->{item} = $item;
-               $self->do_renew_for($borrower);
-               if ($self->ok) {
-                   $item->{due_date} = $self->{due}->clone();
-                   push @{$self->renewed  }, $item_id;
-               } else {
-            push @{$self->{unrenewed}}, $item_id;
-               }
-       }
-       $self->ok($all_ok);
-       return $self;
+    foreach my $itemx ( @{ $patron->{items} } ) {
+        my $item_id = $itemx->{barcode};
+        my $item    = ILS::Item->new($item_id);
+        if ( !defined($item) ) {
+            syslog(
+                'LOG_WARNING',
+                q|renew_all: Invalid item id '%s' associated with patron '%s'|,
+                $item_id,
+                $patron->id
+            );
+
+            # $all_ok = 0; Do net set as still ok
+            push @{ $self->unrenewed }, $item_id;
+            next;
+        }
+        $self->{item} = $item;
+        $self->do_renew_for($borrower);
+        if ( $self->renewal_ok ) {
+            $item->{due_date} = $self->{due};
+            push @{ $self->{renewed} }, $item_id;
+        }
+        else {
+            push @{ $self->{unrenewed} }, $item_id;
+        }
+        $self->screen_msg(q{});    # clear indiv message
+    }
+    $self->ok($all_ok);
+    return $self;
 }
 
 1;
index c8b39a3..43f48dc 100644 (file)
@@ -1346,7 +1346,7 @@ sub handle_renew {
     $patron = $status->patron;
     $item   = $status->item;
 
-    if ($status->ok) {
+    if ($status->renewal_ok) {
        $resp .= '1';
        $resp .= $status->renewal_ok ? 'Y' : 'N';
        if ($ils->supports('magnetic media')) {
@@ -1359,7 +1359,11 @@ sub handle_renew {
        $resp .= add_field(FID_PATRON_ID, $patron->id);
        $resp .= add_field(FID_ITEM_ID,  $item->id);
        $resp .= add_field(FID_TITLE_ID, $item->title_id);
-       $resp .= add_field(FID_DUE_DATE, Sip::timestamp($item->due_date));
+    if ($item->due_date) {
+        $resp .= add_field(FID_DUE_DATE, Sip::timestamp($item->due_date));
+    } else {
+        $resp .= add_field(FID_DUE_DATE, q{});
+    }
        if ($ils->supports('security inhibit')) {
            $resp .= add_field(FID_SECURITY_INHIBIT,
                               $status->security_inhibit);
index 703c28d..21f5fa1 100644 (file)
@@ -248,7 +248,7 @@ Get the Primary Key field names of the table
 
 =cut
 
-sub GetPrimaryKeys($) {
+sub GetPrimaryKeys {
        my $tablename=shift;
        my $hash_columns=_get_columns($tablename);
        return  grep { $hash_columns->{$_}->{'Key'} =~/PRI/i}  keys %$hash_columns;
@@ -284,7 +284,7 @@ With
 
 =cut
 
-sub _get_columns($) {
+sub _get_columns {
     my ($tablename) = @_;
     unless ( exists( $hashref->{$tablename} ) ) {
         my $dbh = C4::Context->dbh;
@@ -314,7 +314,7 @@ If it is not for research purpose, filter primary keys
 
 =cut
 
-sub _filter_columns ($$;$) {
+sub _filter_columns {
        my ($tablename,$research, $filtercolumns)=@_;
        if ($filtercolumns){
                return (@$filtercolumns);
index b0085c4..7c20780 100644 (file)
@@ -34,6 +34,8 @@ use C4::Charset;
 use YAML;
 use URI::Escape;
 use Business::ISBN;
+use MARC::Record;
+use MARC::Field;
 
 use vars qw($VERSION @ISA @EXPORT @EXPORT_OK %EXPORT_TAGS $DEBUG);
 
@@ -248,7 +250,7 @@ sub SimpleSearch {
                   . $@->code() . ") "
                   . $@->addinfo() . " "
                   . $@->diagset();
-                warn $error;
+                warn $error." for query: $query";
                 return ( $error, undef, undef );
             }
         }
@@ -301,8 +303,8 @@ See verbse embedded documentation.
 sub getRecords {
     my (
         $koha_query,       $simple_query, $sort_by_ref,    $servers_ref,
-        $results_per_page, $offset,       $expanded_facet, $branches,$itemtypes,
-        $query_type,       $scan
+        $results_per_page, $offset,       $expanded_facet, $branches,
+        $itemtypes,        $query_type,   $scan,           $opac
     ) = @_;
 
     my @servers = @$servers_ref;
@@ -477,7 +479,8 @@ sub getRecords {
                                 # avoid first line
                                 my $tag_num = substr($tag, 0, 3);
                                 my $letters = substr($tag, 3);
-                                my $field_pattern = '\n' . $tag_num . ' ([^\n]+)';
+                                my $field_pattern = '\n' . $tag_num . ' ([^z][^\n]+)';
+                                $field_pattern = '\n' . $tag_num . ' ([^\n]+)' if (int($tag_num) < 10);
                                 my @field_tokens = ( $render_record =~ /$field_pattern/g ) ;
                                 foreach my $field_token (@field_tokens) {
                                     my @subf = ( $field_token =~ /\$([a-zA-Z0-9]) ([^\$]+)/g );
@@ -567,6 +570,11 @@ sub getRecords {
                                 }
                             }
 
+                            # also, if it's a location code, use the name instead of the code
+                            if ( $link_value =~ /location/ ) {
+                                $facet_label_value = GetKohaAuthorisedValueLib('LOC', $one_facet, $opac);
+                            }
+
                             # but we're down with the whole label being in the link's title.
                             push @this_facets_array, {
                                 facet_count       => $facets_counter->{$link_value}->{$one_facet},
@@ -574,7 +582,7 @@ sub getRecords {
                                 facet_title_value => $one_facet,
                                 facet_link_value  => $facet_link_value,
                                 type_link_value   => $link_value,
-                            };
+                            } if ( $facet_label_value );
                         }
                     }
 
@@ -1028,6 +1036,104 @@ sub getIndexes{
     return \@indexes;
 }
 
+=head2 _handle_exploding_index
+
+    my $query = _handle_exploding_index($index, $term)
+
+Callback routine to generate the search for "exploding" indexes (i.e.
+those indexes which are turned into multiple or-connected searches based
+on authority data).
+
+=cut
+
+sub _handle_exploding_index {
+    my ( $index, $term ) = @_;
+
+    return unless ($index =~ m/(su-br|su-na|su-rl)/ && $term);
+
+    my $marcflavour = C4::Context->preference('marcflavour');
+
+    my $codesubfield = $marcflavour eq 'UNIMARC' ? '5' : 'w';
+    my $wantedcodes = '';
+    my @subqueries = ( "(su=\"$term\")");
+    my ($error, $results, $total_hits) = SimpleSearch( "Heading,wrdl=$term", undef, undef, [ "authorityserver" ] );
+    foreach my $auth (@$results) {
+        my $record = MARC::Record->new_from_usmarc($auth);
+        my @references = $record->field('5..');
+        if (@references) {
+            if ($index eq 'su-br') {
+                $wantedcodes = 'g';
+            } elsif ($index eq 'su-na') {
+                $wantedcodes = 'h';
+            } elsif ($index eq 'su-rl') {
+                $wantedcodes = '';
+            }
+            foreach my $reference (@references) {
+                my $codes = $reference->subfield($codesubfield);
+                push @subqueries, '(su="' . $reference->as_string('abcdefghijlmnopqrstuvxyz') . '")' if (($codes && $codes eq $wantedcodes) || !$wantedcodes);
+            }
+        }
+    }
+    return join(' or ', @subqueries);
+}
+
+=head2 parseQuery
+
+    ( $operators, $operands, $indexes, $limits,
+      $sort_by, $scan, $lang ) =
+            buildQuery ( $operators, $operands, $indexes, $limits, $sort_by, $scan, $lang);
+
+Shim function to ease the transition from buildQuery to a new QueryParser.
+This function is called at the beginning of buildQuery, and modifies
+buildQuery's input. If it can handle the input, it returns a query that
+buildQuery will not try to parse.
+=cut
+
+sub parseQuery {
+    my ( $operators, $operands, $indexes, $limits, $sort_by, $scan, $lang) = @_;
+
+    my @operators = $operators ? @$operators : ();
+    my @indexes   = $indexes   ? @$indexes   : ();
+    my @operands  = $operands  ? @$operands  : ();
+    my @limits    = $limits    ? @$limits    : ();
+    my @sort_by   = $sort_by   ? @$sort_by   : ();
+
+    my $query = $operands[0];
+    my $index;
+    my $term;
+
+# TODO: once we are using QueryParser, all this special case code for
+#       exploded search indexes will be replaced by a callback to
+#       _handle_exploding_index
+    if ( $query =~ m/^(.*)\b(su-br|su-na|su-rl)[:=](\w.*)$/ ) {
+        $query = $1;
+        $index = $2;
+        $term  = $3;
+    } else {
+        $query = '';
+        for ( my $i = 0 ; $i <= @operands ; $i++ ) {
+            if ($operands[$i] && $indexes[$i] =~ m/(su-br|su-na|su-rl)/) {
+                $index = $indexes[$i];
+                $term = $operands[$i];
+            } elsif ($operands[$i]) {
+                $query .= $operators[$i] eq 'or' ? ' or ' : ' and ' if ($query);
+                $query .= "($indexes[$i]:$operands[$i])";
+            }
+        }
+    }
+
+    if ($index) {
+        my $queryPart = _handle_exploding_index($index, $term);
+        if ($queryPart) {
+            $query .= "($queryPart)";
+        }
+        $operators = ();
+        $operands[0] = "ccl=$query";
+    }
+
+    return ( $operators, \@operands, $indexes, $limits, $sort_by, $scan, $lang);
+}
+
 =head2 buildQuery
 
 ( $error, $query,
@@ -1049,6 +1155,8 @@ sub buildQuery {
 
     warn "---------\nEnter buildQuery\n---------" if $DEBUG;
 
+    ( $operators, $operands, $indexes, $limits, $sort_by, $scan, $lang) = parseQuery($operators, $operands, $indexes, $limits, $sort_by, $scan, $lang);
+
     # dereference
     my @operators = $operators ? @$operators : ();
     my @indexes   = $indexes   ? @$indexes   : ();
@@ -1100,7 +1208,8 @@ sub buildQuery {
         my $q=$';
         # This is needed otherwise ccl= and &limit won't work together, and
         # this happens when selecting a subject on the opac-detail page
-        if (@limits) {
+        @limits = grep {!/^$/} @limits;
+        if ( @limits ) {
             $q .= ' and '.join(' and ', @limits);
         }
         return ( undef, $q, $q, "q=ccl=$q", $q, '', '', '', '', 'ccl' );
@@ -1317,6 +1426,7 @@ sub buildQuery {
     my %group_OR_limits;
     my $availability_limit;
     foreach my $this_limit (@limits) {
+        next unless $this_limit;
         if ( $this_limit =~ /available/ ) {
 #
 ## 'available' is defined as (items.onloan is NULL) and (items.itemlost = 0)
@@ -1415,7 +1525,7 @@ sub buildQuery {
 
   my @search_results = searchResults($search_context, $searchdesc, $hits, 
                                      $results_per_page, $offset, $scan, 
-                                     @marcresults, $hidelostitems);
+                                     @marcresults);
 
 Format results in a form suitable for passing to the template
 
@@ -1624,9 +1734,9 @@ sub searchResults {
         my $items_count           = scalar(@fields);
         my $maxitems_pref = C4::Context->preference('maxItemsinSearchResults');
         my $maxitems = $maxitems_pref ? $maxitems_pref - 1 : 1;
+        my @hiddenitems; # hidden itemnumbers based on OpacHiddenItems syspref
 
         # loop through every item
-             my @hiddenitems;
         foreach my $field (@fields) {
             my $item;
 
@@ -1636,11 +1746,20 @@ sub searchResults {
             }
             $item->{description} = $itemtypes{ $item->{itype} }{description};
 
-               # Hidden items
+               # OPAC hidden items
             if ($is_opac) {
+                # hidden because lost
+                if ($hidelostitems && $item->{itemlost}) {
+                    $hideatopac_count++;
+                    next;
+                }
+                # hidden based on OpacHiddenItems syspref
                 my @hi = C4::Items::GetHiddenItemnumbers($item);
-                $item->{'hideatopac'} = @hi;
-                push @hiddenitems, @hi;
+                if (scalar @hi) {
+                    push @hiddenitems, @hi;
+                    $hideatopac_count++;
+                    next;
+                }
             }
 
             my $hbranch     = C4::Context->preference('HomeOrHoldingBranch') eq 'homebranch' ? 'homebranch'    : 'holdingbranch';
@@ -1719,14 +1838,12 @@ sub searchResults {
                     || $item->{itemlost}
                     || $item->{damaged}
                     || $item->{notforloan} > 0
-                    || $item->{hideatopac}
                    || $reservestatus eq 'Waiting'
                     || ($transfertwhen ne ''))
                 {
                     $wthdrawn_count++        if $item->{wthdrawn};
                     $itemlost_count++        if $item->{itemlost};
                     $itemdamaged_count++     if $item->{damaged};
-                    $hideatopac_count++      if $item->{hideatopac};
                     $item_in_transit_count++ if $transfertwhen ne '';
                    $item_onhold_count++     if $reservestatus eq 'Waiting';
                     $item->{status} = $item->{wthdrawn} . "-" . $item->{itemlost} . "-" . $item->{damaged} . "-" . $item->{notforloan};
@@ -1742,7 +1859,7 @@ sub searchResults {
                     $other_count++;
 
                     my $key = $prefix . $item->{status};
-                    foreach (qw(wthdrawn itemlost damaged branchname itemcallnumber hideatopac)) {
+                    foreach (qw(wthdrawn itemlost damaged branchname itemcallnumber)) {
                         $other_items->{$key}->{$_} = $item->{$_};
                     }
                     $other_items->{$key}->{intransit} = ( $transfertwhen ne '' ) ? 1 : 0;
@@ -1758,7 +1875,7 @@ sub searchResults {
                     $can_place_holds = 1;
                     $available_count++;
                                        $available_items->{$prefix}->{count}++ if $item->{$hbranch};
-                                       foreach (qw(branchname itemcallnumber hideatopac description)) {
+                                       foreach (qw(branchname itemcallnumber description)) {
                        $available_items->{$prefix}->{$_} = $item->{$_};
                                        }
                                        $available_items->{$prefix}->{location} = $shelflocations->{ $item->{location} };
@@ -1766,10 +1883,12 @@ sub searchResults {
                 }
             }
         }    # notforloan, item level and biblioitem level
-       if ($items_count > 0) {
-        next if $is_opac       && $hideatopac_count >= $items_count;
-        next if $hidelostitems && $itemlost_count   >= $items_count;
-       }
+
+        # if all items are hidden, do not show the record
+        if ($items_count > 0 && $hideatopac_count == $items_count) {
+            next;
+        }
+
         my ( $availableitemscount, $onloanitemscount, $otheritemscount );
         for my $key ( sort keys %$onloan_items ) {
             (++$onloanitemscount > $maxitems) and last;
index 98660e9..cedbcff 100644 (file)
@@ -36,6 +36,7 @@ BEGIN {
     @EXPORT = qw(
       &NewSubscription    &ModSubscription    &DelSubscription    &GetSubscriptions
       &GetSubscription    &CountSubscriptionFromBiblionumber      &GetSubscriptionsFromBiblionumber
+      &SearchSubscriptions
       &GetFullSubscriptionsFromBiblionumber   &GetFullSubscription &ModSubscriptionHistory
       &HasSubscriptionStrictlyExpired &HasSubscriptionExpired &GetExpirationDate &abouttoexpire
 
@@ -159,7 +160,7 @@ After this function, don't forget to execute it by using $sth->execute($subscrip
 
 =cut
 
-sub GetSubscriptionHistoryFromSubscriptionId() {
+sub GetSubscriptionHistoryFromSubscriptionId {
     my $dbh   = C4::Context->dbh;
     my $query = qq|
         SELECT *
@@ -179,7 +180,7 @@ $sth = $dbh->prepare($query).
 
 =cut
 
-sub GetSerialStatusFromSerialId() {
+sub GetSerialStatusFromSerialId {
     my $dbh   = C4::Context->dbh;
     my $query = qq|
         SELECT status
@@ -631,6 +632,74 @@ sub GetSubscriptions {
     return @results;
 }
 
+=head2 SearchSubscriptions
+
+@results = SearchSubscriptions($args);
+$args is a hashref. Its keys can be contained: title, issn, ean, publisher, bookseller and branchcode
+
+this function gets all subscriptions which have title like $title, ISSN like $issn, EAN like $ean, publisher like $publisher, bookseller like $bookseller AND branchcode eq $branch.
+
+return:
+a table of hashref. Each hash containt the subscription.
+
+=cut
+
+sub SearchSubscriptions {
+    my ( $args ) = @_;
+
+    my $query = qq{
+        SELECT subscription.*, subscriptionhistory.*, biblio.*, biblioitems.issn
+        FROM subscription
+            LEFT JOIN subscriptionhistory USING(subscriptionid)
+            LEFT JOIN biblio ON biblio.biblionumber = subscription.biblionumber
+            LEFT JOIN biblioitems ON biblioitems.biblionumber = subscription.biblionumber
+            LEFT JOIN aqbooksellers ON subscription.aqbooksellerid = aqbooksellers.id
+    };
+    my @where_strs;
+    my @where_args;
+    if( $args->{biblionumber} ) {
+        push @where_strs, "biblio.biblionumber = ?";
+        push @where_args, $args->{biblionumber};
+    }
+    if( $args->{title} ){
+        push @where_strs, "biblio.title LIKE ?";
+        push @where_args, "%$args->{title}%";
+    }
+    if( $args->{issn} ){
+        push @where_strs, "biblioitems.issn LIKE ?";
+        push @where_args, "%$args->{issn}%";
+    }
+    if( $args->{ean} ){
+        push @where_strs, "biblioitems.ean LIKE ?";
+        push @where_args, "%$args->{ean}%";
+    }
+    if( $args->{publisher} ){
+        push @where_strs, "biblioitems.publishercode LIKE ?";
+        push @where_args, "%$args->{publisher}%";
+    }
+    if( $args->{bookseller} ){
+        push @where_strs, "aqbooksellers.name LIKE ?";
+        push @where_args, "%$args->{bookseller}%";
+    }
+    if( $args->{branch} ){
+        push @where_strs, "subscription.branchcode = ?";
+        push @where_args, "$args->{branch}";
+    }
+
+    if(@where_strs){
+        $query .= " WHERE " . join(" AND ", @where_strs);
+    }
+
+    my $dbh = C4::Context->dbh;
+    my $sth = $dbh->prepare($query);
+    $sth->execute(@where_args);
+    my $results = $sth->fetchall_arrayref( {} );
+    $sth->finish;
+
+    return @$results;
+}
+
+
 =head2 GetSerials
 
 ($totalissues,@serials) = GetSerials($subscriptionid);
@@ -1110,7 +1179,7 @@ $nextexepected = {
 
 =cut
 
-sub GetNextExpected($) {
+sub GetNextExpected {
     my ($subscriptionid) = @_;
     my $dbh              = C4::Context->dbh;
     my $sth              = $dbh->prepare('SELECT serialid, planneddate FROM serial WHERE subscriptionid=? AND status=?');
@@ -1145,7 +1214,7 @@ returns 0
 
 =cut
 
-sub ModNextExpected($$) {
+sub ModNextExpected {
     my ( $subscriptionid, $date ) = @_;
     my $dbh = C4::Context->dbh;
 
@@ -1303,7 +1372,7 @@ sub NewSubscription {
     logaction( "SERIAL", "ADD", $subscriptionid, "" ) if C4::Context->preference("SubscriptionLog");
 
     #set serial flag on biblio if not already set.
-    my ( $null, ($bib) ) = GetBiblio($biblionumber);
+    my $bib = GetBiblio($biblionumber);
     if ( !$bib->{'serial'} ) {
         my $record = GetMarcBiblio($biblionumber);
         my ( $tag, $subf ) = GetMarcFromKohaField( 'biblio.serial', $bib->{'frameworkcode'} );
@@ -2226,7 +2295,7 @@ Return 0 if periodicity==0
 
 =cut
 
-sub GetNextDate(@) {
+sub GetNextDate {
     my ( $planneddate, $subscription ) = @_;
     my @irreg = split( /\,/, $subscription->{irregularity} );
 
index 449190f..c885d90 100644 (file)
@@ -180,11 +180,16 @@ sub GetNearbyItems {
     my @prev_items = reverse GetShelfInfo($sth_prev_items, $marcflavour);
     my @next_items = GetShelfInfo($sth_next_items, $marcflavour);
 
-    my $next_itemnumber = $next_items[-1]->{itemnumber} if @next_items;
-    my $next_biblionumber = $next_items[-1]->{biblionumber} if @next_items;
+    my (
+        $next_itemnumber, $next_biblionumber,
+        $prev_itemnumber, $prev_biblionumber
+    );
+
+    $next_itemnumber = $next_items[-1]->{itemnumber} if @next_items;
+    $next_biblionumber = $next_items[-1]->{biblionumber} if @next_items;
 
-    my $prev_itemnumber = $prev_items[0]->{itemnumber} if @prev_items;
-    my $prev_biblionumber = $prev_items[0]->{biblionumber} if @prev_items;
+    $prev_itemnumber = $prev_items[0]->{itemnumber} if @prev_items;
+    $prev_biblionumber = $prev_items[0]->{biblionumber} if @prev_items;
 
     my %result = (
         next                => \@next_items,
index 7457983..e1cbd42 100644 (file)
@@ -76,20 +76,20 @@ sub UpdateStats {
     my (
         $branch,         $type,
         $amount,   $other,          $itemnum,
-        $itemtype, $borrowernumber, $accountno
+        $itemtype, $borrowernumber, $accountno, $ccode
       )
       = @_;
     my $dbh = C4::Context->dbh;
     my $sth = $dbh->prepare(
         "INSERT INTO statistics
         (datetime, branch, type, value,
-         other, itemnumber, itemtype, borrowernumber, proccode)
-         VALUES (now(),?,?,?,?,?,?,?,?)"
+         other, itemnumber, itemtype, borrowernumber, proccode, ccode)
+         VALUES (now(),?,?,?,?,?,?,?,?,?)"
     );
     $sth->execute(
         $branch,    $type,    $amount,
         $other,     $itemnum, $itemtype, $borrowernumber,
-               $accountno
+               $accountno, $ccode
     );
 }
 
index 4786b2c..d74dbf8 100644 (file)
@@ -33,21 +33,21 @@ use vars qw($ext_dict $select_all @fields);
 BEGIN {
     $VERSION = 3.07.00.049;
        @ISA = qw(Exporter);
-       @EXPORT_OK = qw(
-               &get_tag &get_tags &get_tag_rows
-               &add_tags &add_tag
-               &delete_tag_row_by_id
-               &remove_tag
-               &delete_tag_rows_by_ids
-               &rectify_weights
-               &get_approval_rows
-               &blacklist
-               &whitelist
-               &is_approved
-               &approval_counts
-               &get_count_by_tag_status
-               &get_filters
-       );
+    @EXPORT_OK = qw(
+      &get_tag &get_tags &get_tag_rows
+      &add_tags &add_tag
+      &delete_tag_row_by_id
+      &remove_tag
+      &delete_tag_rows_by_ids
+      &get_approval_rows
+      &blacklist
+      &whitelist
+      &is_approved
+      &approval_counts
+      &get_count_by_tag_status
+      &get_filters
+      stratify_tags
+    );
        # %EXPORT_TAGS = ();
        $ext_dict = C4::Context->preference('TagsExternalDictionary');
        if ($debug) {
@@ -61,6 +61,12 @@ BEGIN {
        }
 }
 
+=head1 C4::Tags.pm - Support for user tagging of biblios.
+
+More verose debugging messages are sent in the presence of non-zero $ENV{"DEBUG"}.
+
+=cut
+
 INIT {
     $ext_dict and $Lingua::Ispell::path = $ext_dict;
     $debug and print STDERR "\$Lingua::Ispell::path = $Lingua::Ispell::path\n";
@@ -117,13 +123,13 @@ sub get_count_by_tag_status  {
 }
 
 sub remove_tag {
-       my $tag_id  = shift or return undef;
+       my $tag_id  = shift or return;
        my $user_id = (@_) ? shift : undef;
        my $rows = (defined $user_id) ?
                        get_tag_rows({tag_id=>$tag_id, borrowernumber=>$user_id}) :
                        get_tag_rows({tag_id=>$tag_id}) ;
        $rows or return 0;
-       (scalar(@$rows) == 1) or return undef;  # should never happen (duplicate ids)
+       (scalar(@$rows) == 1) or return;        # should never happen (duplicate ids)
        my $row = shift(@$rows);
        ($tag_id == $row->{tag_id}) or return 0;
        my $tags = get_tags({term=>$row->{term}, biblionumber=>$row->{biblionumber}});
@@ -145,25 +151,25 @@ sub remove_tag {
 }
 
 sub delete_tag_index {
-       (@_) or return undef;
+       (@_) or return;
        my $sth = C4::Context->dbh->prepare("DELETE FROM tags_index WHERE term = ? AND biblionumber = ? LIMIT 1");
        $sth->execute(@_);
        return $sth->rows || 0;
 }
 sub delete_tag_approval {
-       (@_) or return undef;
+       (@_) or return;
        my $sth = C4::Context->dbh->prepare("DELETE FROM tags_approval WHERE term = ? LIMIT 1");
        $sth->execute(shift);
        return $sth->rows || 0;
 }
 sub delete_tag_row_by_id {
-       (@_) or return undef;
+       (@_) or return;
        my $sth = C4::Context->dbh->prepare("DELETE FROM tags_all WHERE tag_id = ? LIMIT 1");
        $sth->execute(shift);
        return $sth->rows || 0;
 }
 sub delete_tag_rows_by_ids {
-       (@_) or return undef;
+       (@_) or return;
        my $i=0;
        foreach(@_) {
                $i += delete_tag_row_by_id($_);
@@ -359,7 +365,7 @@ sub get_approval_rows {             # i.e., from tags_approval
 }
 
 sub is_approved {
-       my $term = shift or return undef;
+       my $term = shift or return;
        my $sth = C4::Context->dbh->prepare("SELECT approved FROM tags_approval WHERE term = ?");
        $sth->execute($term);
        unless ($sth->rows) {
@@ -370,7 +376,7 @@ sub is_approved {
 }
 
 sub get_tag_index {
-       my $term = shift or return undef;
+       my $term = shift or return;
        my $sth;
        if (@_) {
                $sth = C4::Context->dbh->prepare("SELECT * FROM tags_index WHERE term = ? AND biblionumber = ?");
@@ -384,7 +390,7 @@ sub get_tag_index {
 
 sub whitelist {
        my $operator = shift;
-       defined $operator or return undef; # have to test defined to allow =0 (kohaadmin)
+       defined $operator or return; # have to test defined to allow =0 (kohaadmin)
        if ($ext_dict) {
                foreach (@_) {
                        spellcheck($_) or next;
@@ -406,7 +412,7 @@ sub whitelist {
 # a term mistakenly, you can still reverse it. But there is no going back to "neutral".
 sub blacklist {
        my $operator = shift;
-       defined $operator or return undef; # have to test defined to allow =0 (kohaadmin)
+       defined $operator or return; # have to test defined to allow =0 (kohaadmin)
        foreach (@_) {
                my $aref = get_approval_rows({term=>$_});
                if ($aref and scalar @$aref) {
@@ -419,14 +425,14 @@ sub blacklist {
 }
 sub add_filter {
        my $operator = shift;
-       defined $operator or return undef; # have to test defined to allow =0 (kohaadmin)
+       defined $operator or return; # have to test defined to allow =0 (kohaadmin)
        my $query = "INSERT INTO tags_blacklist (regexp,y,z) VALUES (?,?,?)";
        # my $sth = C4::Context->dbh->prepare($query);
        return scalar @_;
 }
 sub remove_filter {
        my $operator = shift;
-       defined $operator or return undef; # have to test defined to allow =0 (kohaadmin)
+       defined $operator or return; # have to test defined to allow =0 (kohaadmin)
        my $query = "REMOVE FROM tags_blacklist WHERE blacklist_id = ?";
        # my $sth = C4::Context->dbh->prepare($query);
        # $sth->execute($term);
@@ -435,7 +441,7 @@ sub remove_filter {
 
 sub add_tag_approval { # or disapproval
        $debug and warn "add_tag_approval(" . join(", ",map {defined($_) ? $_ : 'UNDEF'} @_) . ")";
-       my $term = shift or return undef;
+       my $term = shift or return;
        my $query = "SELECT * FROM tags_approval WHERE term = ?";
        my $sth = C4::Context->dbh->prepare($query);
        $sth->execute($term);
@@ -460,8 +466,8 @@ sub add_tag_approval {      # or disapproval
 
 sub mod_tag_approval {
        my $operator = shift;
-       defined $operator or return undef; # have to test defined to allow =0 (kohaadmin)
-       my $term     = shift or return undef;
+       defined $operator or return; # have to test defined to allow =0 (kohaadmin)
+       my $term     = shift or return;
        my $approval = (scalar @_ ? shift : 1); # default is to approve
        my $query = "UPDATE tags_approval SET approved_by=?, approved=?, date_approved=NOW() WHERE term = ?";
        $debug and print STDERR "mod_tag_approval query: $query\nmod_tag_approval args: ($operator,$approval,$term)\n";
@@ -470,8 +476,8 @@ sub mod_tag_approval {
 }
 
 sub add_tag_index {
-       my $term         = shift or return undef;
-       my $biblionumber = shift or return undef;
+       my $term         = shift or return;
+       my $biblionumber = shift or return;
        my $query = "SELECT * FROM tags_index WHERE term = ? AND biblionumber = ?";
        my $sth = C4::Context->dbh->prepare($query);
        $sth->execute($term,$biblionumber);
@@ -484,39 +490,12 @@ sub add_tag_index {
 }
 
 sub get_tag {          # by tag_id
-       (@_) or return undef;
+       (@_) or return;
        my $sth = C4::Context->dbh->prepare("$select_all WHERE tag_id = ?");
        $sth->execute(shift);
        return $sth->fetchrow_hashref;
 }
 
-sub rectify_weights {
-       my $dbh = C4::Context->dbh;
-       my $sth;
-       my $query = "
-       SELECT term,biblionumber,count(*) as count
-       FROM   tags_all
-       ";
-       (@_) and $query .= " WHERE term =? ";
-       $query .= " GROUP BY term,biblionumber ";
-       $sth = $dbh->prepare($query);
-       if (@_) {
-               $sth->execute(shift);
-       } else {
-               $sth->execute();
-       }
-       my $results = $sth->fetchall_arrayref({}) or return undef;
-       my %tally = ();
-       foreach (@$results) {
-               _set_weight($_->{count},$_->{term},$_->{biblionumber});
-               $tally{$_->{term}} += $_->{count};
-       }
-       foreach (keys %tally) {
-               _set_weight_total($tally{$_},$_);
-       }
-       return ($results,\%tally);
-}
-
 sub increment_weights {
        increment_weight(@_);
        increment_weight_total(shift);
@@ -557,12 +536,12 @@ sub _set_weight {
 }
 
 sub add_tag {  # biblionumber,term,[borrowernumber,approvernumber]
-       my $biblionumber = shift or return undef;
-       my $term         = shift or return undef;
+       my $biblionumber = shift or return;
+       my $term         = shift or return;
        my $borrowernumber = (@_) ? shift : 0;          # the user, default to kohaadmin
        $term =~ s/^\s+//;
        $term =~ s/\s+$//;
-       ($term) or return undef;        # must be more than whitespace
+       ($term) or return;      # must be more than whitespace
        my $rows = get_tag_rows({biblionumber=>$biblionumber, borrowernumber=>$borrowernumber, term=>$term, limit=>1});
        my $query = "INSERT INTO tags_all
        (borrowernumber,biblionumber,term,date_created)
@@ -571,7 +550,7 @@ sub add_tag {       # biblionumber,term,[borrowernumber,approvernumber]
                                                        "add_tag query args: ($borrowernumber,$biblionumber,$term)\n";
        if (scalar @$rows) {
                $debug and carp "Duplicate tag detected.  Tag not added.";      
-               return undef;
+               return;
        }
        # add to tags_all regardless of approaval
        my $sth = C4::Context->dbh->prepare($query);
@@ -594,13 +573,46 @@ sub add_tag {     # biblionumber,term,[borrowernumber,approvernumber]
        }
 }
 
+# This takes a set of tags, as returned by C<get_approval_rows> and divides
+# them up into a number of "strata" based on their weight. This is useful
+# to display them in a number of different sizes.
+#
+# Usage:
+#   ($min, $max) = stratify_tags($strata, $tags);
+# $stratum: the number of divisions you want
+# $tags: the tags, as provided by get_approval_rows
+# $min: the minumum stratum value
+# $max: the maximum stratum value. This may be the same as $min if there
+# is only one weight. Beware of divide by zeros.
+# This will add a field to the tag called "stratum" containing the calculated
+# value.
+sub stratify_tags {
+    my ( $strata, $tags ) = @_;
+
+    my ( $min, $max );
+    foreach (@$tags) {
+        my $w = $_->{weight_total};
+        $min = $w if ( !defined($min) || $min > $w );
+        $max = $w if ( !defined($max) || $max < $w );
+    }
+
+    # normalise min to zero
+    $max = $max - $min;
+    my $orig_min = $min;
+    $min = 0;
+
+    # if min and max are the same, just make it 1
+    my $span = ( $strata - 1 ) / ( $max || 1 );
+    foreach (@$tags) {
+        my $w = $_->{weight_total};
+        $_->{stratum} = int( ( $w - $orig_min ) * $span );
+    }
+    return ( $min, $max );
+}
+
 1;
 __END__
 
-=head1 C4::Tags.pm - Support for user tagging of biblios.
-
-More verose debugging messages are sent in the presence of non-zero $ENV{"DEBUG"}.
-
 =head2 add_tag(biblionumber,term[,borrowernumber])
 
 =head3 TO DO: Add real perldoc
index e0baf2f..507e077 100644 (file)
@@ -36,7 +36,7 @@ use C4::Languages qw(getTranslatedLanguages get_bidi regex_lang_subtags language
 
 use C4::Context;
 
-__PACKAGE__->mk_accessors(qw( theme lang filename htdocs interface vars));
+__PACKAGE__->mk_accessors(qw( theme activethemes preferredtheme lang filename htdocs interface vars));
 
 
 
@@ -53,17 +53,19 @@ sub new {
     else {
         $htdocs = C4::Context->config('intrahtdocs');
     }
-    my ($theme, $lang)= themelanguage( $htdocs, $tmplbase, $interface, $query);
+    my ($theme, $lang, $activethemes)= themelanguage( $htdocs, $tmplbase, $interface, $query);
+    my @includes;
+    foreach (@$activethemes) {
+        push @includes, "$htdocs/$_/$lang/includes";
+        push @includes, "$htdocs/$_/en/includes" unless $lang eq 'en';
+    }
     my $template = Template->new(
         {   EVAL_PERL    => 1,
             ABSOLUTE     => 1,
             PLUGIN_BASE => 'Koha::Template::Plugin',
             COMPILE_EXT => C4::Context->config('template_cache_dir')?'.ttc':'',
             COMPILE_DIR => C4::Context->config('template_cache_dir')?C4::Context->config('template_cache_dir'):'',,
-            INCLUDE_PATH => [
-                "$htdocs/$theme/$lang/includes",
-                "$htdocs/$theme/en/includes"
-            ],
+            INCLUDE_PATH => \@includes,
             FILTERS => {},
         }
     ) or die Template->error();
@@ -74,6 +76,8 @@ sub new {
     bless $self, $class;
     $self->theme($theme);
     $self->lang($lang);
+    $self->activethemes($activethemes);
+    $self->preferredtheme($activethemes->[0]);
     $self->filename($filename);
     $self->htdocs($htdocs);
     $self->interface($interface);
@@ -95,10 +99,10 @@ sub output {
         $vars->{themelang} = '/opac-tmpl';
     }
     $vars->{lang} = $self->lang;
-    $vars->{themelang} .= '/' . $self->theme . '/' . $self->lang;
+    $vars->{themelang} .= '/' . $self->preferredtheme . '/' . $self->lang;
     $vars->{yuipath} =
       ( C4::Context->preference("yuipath") eq "local"
-        ? $vars->{themelang} . "/lib/yui"
+        ? ( $self->interface eq 'intranet' ? $vars->{themelang} . "/lib/yui" : "/opac-tmpl/lib/yui" )
         : C4::Context->preference("yuipath") );
     $vars->{interface} =
       ( $self->{interface} ne 'intranet' ? '/opac-tmpl' : '/intranet-tmpl' );
@@ -211,7 +215,7 @@ sub _get_template_file {
 
     my $is_intranet = $interface eq 'intranet';
     my $htdocs = C4::Context->config($is_intranet ? 'intrahtdocs' : 'opachtdocs');
-    my ($theme, $lang) = themelanguage($htdocs, $tmplbase, $interface, $query);
+    my ($theme, $lang, $availablethemes) = themelanguage($htdocs, $tmplbase, $interface, $query);
 
     # if the template doesn't exist, load the English one as a last resort
     my $filename = "$htdocs/$theme/$lang/modules/$tmplbase";
@@ -231,19 +235,21 @@ sub gettemplate {
     my ($htdocs, $theme, $lang, $filename)
        =  _get_template_file($tmplbase, $interface, $query);
     my $template = C4::Templates->new($interface, $filename, $tmplbase, $query);
-    my $is_intranet = $interface eq 'intranet';
-    my $themelang =
-        ($is_intranet ? '/intranet-tmpl' : '/opac-tmpl') .
-        "/$theme/$lang";
-    $template->param(
-        themelang => $themelang,
-        yuipath   => C4::Context->preference("yuipath") eq "local"
-                     ? "$themelang/lib/yui"
-                     : C4::Context->preference("yuipath"),
-        interface => $is_intranet ? '/intranet-tmpl' : '/opac-tmpl',
-        theme     => $theme,
-        lang      => $lang
-    );
+# NOTE: Commenting these out rather than deleting them so that those who need
+# to know how we previously shimmed these directories will be able to understand.
+#    my $is_intranet = $interface eq 'intranet';
+#    my $themelang =
+#        ($is_intranet ? '/intranet-tmpl' : '/opac-tmpl') .
+#        "/$theme/$lang";
+#    $template->param(
+#        themelang => $themelang,
+#        yuipath   => C4::Context->preference("yuipath") eq "local"
+#                     ? "$themelang/lib/yui"
+#                     : C4::Context->preference("yuipath"),
+#        interface => $is_intranet ? '/intranet-tmpl' : '/opac-tmpl',
+#        theme     => $theme,
+#        lang      => $lang
+#    );
 
     # Bidirectionality
     my $current_lang = regex_lang_subtags($lang);
@@ -286,11 +292,11 @@ sub themelanguage {
     for my $theme (@themes) {
         if ( -e "$htdocs/$theme/$lang/modules/$tmpl" ) {
             $_current_language = $lang;
-            return ($theme, $lang)
+            return ($theme, $lang, \@themes)
         }
     }
     # Otherwise, return prog theme in English 'en'
-    return ('prog', 'en');
+    return ('prog', 'en', \@themes);
 }
 
 
index 31d50eb..dac9423 100644 (file)
@@ -35,12 +35,12 @@ BEGIN {
 }
 
 
-sub maxwidth (@) {
+sub maxwidth {
        (@_) or return 0;
        return (sort {$a <=> $b} map {length} @_)[-1];
 }
 
-sub hashdump ($$) {
+sub hashdump {
        my $pre = shift;
        my $val  = shift;
        if (ref($val) =~ /HASH/) {
index 20f3620..90a00a5 100644 (file)
@@ -221,7 +221,7 @@ Returns the above-mentioned fields for passed virtual shelf number.
 
 =cut
 
-sub GetShelf ($) {
+sub GetShelf {
     my ($shelfnumber) = @_;
     my $query = qq(
         SELECT shelfnumber, shelfname, owner, category, sortfield,
@@ -252,7 +252,7 @@ from C4::Circulation.
 
 =cut
 
-sub GetShelfContents ($;$$$) {
+sub GetShelfContents {
     my ($shelfnumber, $row_count, $offset, $sortfield) = @_;
     my $dbh=C4::Context->dbh();
     my $sth1 = $dbh->prepare("SELECT count(*) FROM virtualshelfcontents WHERE shelfnumber = ?");
@@ -267,7 +267,7 @@ sub GetShelfContents ($;$$$) {
        " SELECT vc.biblionumber, vc.shelfnumber, vc.dateadded, itemtypes.*,
             biblio.*, biblioitems.itemtype, biblioitems.publicationyear as year, biblioitems.publishercode, biblioitems.place, biblioitems.size, biblioitems.pages
          FROM   virtualshelfcontents vc
-         LEFT JOIN biblio      ON      vc.biblionumber =      biblio.biblionumber
+         JOIN biblio      ON      vc.biblionumber =      biblio.biblionumber
          LEFT JOIN biblioitems ON  biblio.biblionumber = biblioitems.biblionumber
          LEFT JOIN itemtypes   ON biblioitems.itemtype = itemtypes.itemtype
          WHERE  vc.shelfnumber=? ";
@@ -351,7 +351,7 @@ sub AddToShelf {
     my $sth = $dbh->prepare($query);
 
     $sth->execute( $shelfnumber, $biblionumber );
-    ($sth->rows) and return undef; # already on shelf
+    ($sth->rows) and return; # already on shelf
     $query = qq(
         INSERT INTO virtualshelfcontents
             (shelfnumber, biblionumber, flags, borrowernumber)
@@ -464,7 +464,7 @@ sub ShelfPossibleAction {
     $sth->execute($user, $shelfnumber);
     my $shelf= $sth->fetchrow_hashref;
 
-    return 0 unless $shelf && ($shelf->{category}==2 || $shelf->{owner}==$user || $shelf->{borrowernumber}==$user);
+    return 0 unless $shelf && ($shelf->{category}==2 || $shelf->{owner}==$user || ($user && $shelf->{borrowernumber}==$user));
     if($action eq 'view') {
         #already handled in the above condition
         return 1;
@@ -658,15 +658,6 @@ sub _biblionumber_sth { #only used in obsolete sub below
     $sth;
 }
 
-sub each_biblionumbers (&$) { #OBSOLETE
-    my ($code,$shelf) = @_;
-    my $ref =  _biblionumber_sth($shelf)->fetchall_arrayref;
-    map {
-        $_=$$_[0];
-        $code->();
-        } @$ref;
-}
-
 sub _CheckShelfName {
     my ($name, $cat, $owner, $number)= @_;
 
index c765cf0..988244c 100644 (file)
@@ -251,7 +251,7 @@ sub shelfpage {
                 my $authorsort;
                 my $yearsort;
                 my $tag_quantity;
-                my $sortfield = ( $query->param('sortfield') ? $query->param('sortfield') : 'title' );
+                my $sortfield = ( $sorton ? $sorton : 'title' );
                 if ( $sortfield eq 'author' ) {
                     $authorsort = 'author';
                 }
index ac97e65..d17b828 100644 (file)
@@ -140,35 +140,35 @@ sub XSLTParse4Display {
     my ( $biblionumber, $orig_record, $xslsyspref, $fixamps, $hidden_items ) = @_;
     my $xslfilename = C4::Context->preference($xslsyspref);
     if ( $xslfilename =~ /^\s*"?default"?\s*$/i ) {
+        my $htdocs;
+        my $theme;
+        my $lang = C4::Templates::_current_language();
+        my $xslfile;
         if ($xslsyspref eq "XSLTDetailsDisplay") {
-            $xslfilename = C4::Context->config('intrahtdocs') .
-                        '/' . C4::Context->preference("template") .
-                        '/' . C4::Templates::_current_language() .
-                        '/xslt/' .
-                        C4::Context->preference('marcflavour') .
-                        "slim2intranetDetail.xsl";
+            $htdocs  = C4::Context->config('intrahtdocs');
+            $theme   = C4::Context->preference("template");
+            $xslfile = C4::Context->preference('marcflavour') .
+                       "slim2intranetDetail.xsl";
         } elsif ($xslsyspref eq "XSLTResultsDisplay") {
-            $xslfilename = C4::Context->config('intrahtdocs') .
-                        '/' . C4::Context->preference("template") .
-                        '/' . C4::Templates::_current_language() .
-                        '/xslt/' .
-                        C4::Context->preference('marcflavour') .
+            $htdocs  = C4::Context->config('intrahtdocs');
+            $theme   = C4::Context->preference("template");
+            $xslfile = C4::Context->preference('marcflavour') .
                         "slim2intranetResults.xsl";
         } elsif ($xslsyspref eq "OPACXSLTDetailsDisplay") {
-            $xslfilename = C4::Context->config('opachtdocs') .
-                        '/' . C4::Context->preference("opacthemes") .
-                        '/' . C4::Templates::_current_language() .
-                        '/xslt/' .
-                        C4::Context->preference('marcflavour') .
-                        "slim2OPACDetail.xsl";
+            $htdocs  = C4::Context->config('opachtdocs');
+            $theme   = C4::Context->preference("opacthemes");
+            $xslfile = C4::Context->preference('marcflavour') .
+                       "slim2OPACDetail.xsl";
         } elsif ($xslsyspref eq "OPACXSLTResultsDisplay") {
-            $xslfilename = C4::Context->config('opachtdocs') .
-                        '/' . C4::Context->preference("opacthemes") .
-                        '/' . C4::Templates::_current_language() .
-                        '/xslt/' .
-                        C4::Context->preference('marcflavour') .
-                        "slim2OPACResults.xsl";
+            $htdocs  = C4::Context->config('opachtdocs');
+            $theme   = C4::Context->preference("opacthemes");
+            $xslfile = C4::Context->preference('marcflavour') .
+                       "slim2OPACResults.xsl";
         }
+        $xslfilename = "$htdocs/$theme/$lang/xslt/$xslfile";
+        $xslfilename = "$htdocs/$theme/en/xslt/$xslfile" unless ( $lang ne 'en' && !-f $xslfilename );
+        $xslfilename = "$htdocs/prog/$lang/xslt/$xslfile" unless ( !-f $xslfilename );
+        $xslfilename = "$htdocs/prog/en/xslt/$xslfile" unless ( $lang ne 'en' && !-f $xslfilename );
     }
 
     if ( $xslfilename =~ m/\{langcode\}/ ) {
@@ -188,6 +188,7 @@ sub XSLTParse4Display {
                               UseAuthoritiesForTracings TraceSubjectSubdivisions
                               Display856uAsImage OPACDisplay856uAsImage 
                               UseControlNumber IntranetBiblioDefaultView BiblioDefaultView
+                              singleBranchMode
                               AlternateHoldingsField AlternateHoldingsSeparator / )
     {
         my $sp = C4::Context->preference( $syspref );
diff --git a/INSTALL.ubuntu.12.04 b/INSTALL.ubuntu.12.04
new file mode 100644 (file)
index 0000000..8c1c0fe
--- /dev/null
@@ -0,0 +1,578 @@
+=================================================================
+Installation Guide for Installing Koha
+on Ubuntu Precise Pangolin (12.04 LTS) with MySQL 5.5
+=================================================================
+
+Copyright (C) 2007, 2008 LibLime (http://liblime.com)
+Some parts copyright 2010 Chris Nighswonger
+Some parts copyright 2012 Tomas Cohen Arazi
+Some parts copyright 2012 Mark Tompsett
+
+Original author: Joshua Ferraro
+Modified for Ubuntu by: Chris Nighswonger
+                        (cnighswonger AT foundations DOT edu)
+
+More updates by: Tomas Cohen Arazi (tomascohen AT gmail DOT com)
+                 Mark Tompsett (mtompset AT hotmail DOT com)
+
+Feedback/bug reports: Koha Developer's List:
+http://lists.koha-community.org/cgi-bin/mailman/listinfo/koha-devel
+
+This document last modified: 24 July 2012
+
+Installation Instructions
+=================================================================
+
+Running commands can mostly be performed as a system user with
+sudo privileges, however some need to be run directly as root.
+
+1. Prepare System and Install Dependencies
+
+1.1 Install Ubuntu 12.04 LTS via CD/DVD/USB
+
+  Download and install Ubuntu from the official site.
+    - Server edition (command-line only)
+        http://www.ubuntu.com/download/server
+    - Desktop edition
+        http://www.ubuntu.com/download/desktop
+  To keep your Koha installation minimal and to free resources
+  for running, the Server edition is recommended, though the
+  Desktop edition will work as well.
+
+  As Apache and MySQL will be installed in the instructions
+  later, there is no need to select any packages during the
+  installation of Ubuntu.
+
+1.2 Add koha repository to your apt sources
+
+  NOTE: This is not required for koha 3.6.7 under Ubuntu 12.04
+        if Zebra indexing (see step 5.2) is done via cron jobs.
+  NOTE: 3.8.x is the recommended current stable release to use.
+
+  There are currently three active repositories: oldstable,
+  squeeze, and squeeze-dev. As of 2012-07-24, they represent
+  3.6.x, 3.8.x, and master respectively. This will change when
+  3.10.x is released. They will represent 3.8.x, 3.10.x, and
+  master respectively.
+
+  It is recommended to use squeeze at this time, as 3.8.x is the
+  current stable release.
+
+  Run these commands:
+    $ echo "deb http://debian.koha-community.org/koha squeeze main" | sudo tee /etc/apt/sources.list.d/koha-community.list
+    $ wget -O- http://debian.koha-community.org/koha/gpg.asc | sudo apt-key add -
+    $ sudo apt-get update ; sudo apt-get upgrade
+
+1.3 Install Apache2 and MySQL 5.5
+
+  Install the Apache2 server:
+    $ sudo apt-get install apache2
+
+  If your MySQL server will be on your Koha server, or this
+  instruction is confusing:
+    $ sudo apt-get install mysql-server
+
+  NOTE: You will be prompted to set your root password for MySQL.
+
+1.4 Set up your locale
+
+  Your locale should be set to UTF-8, as should Apache2 and
+  MySQL 5.5. This step is VERY IMPORTANT for a UNICODE compliant
+  system. You _MUST_ be sure to set this BEFORE you install Koha.
+
+1.4.1 Ubuntu Locale
+
+  Verify you have a UTF-8 locale in use:
+    $ locale
+  You will recognize if it is UTF-8 or not. Ubuntu 12.04 should
+  not generally require any further steps.
+
+  If it is not set to something UTF-8, use:
+    $ locale -a
+
+  You can select one (note that utf8 becomes UTF-8) and use:
+    $ sudo update-locale LANG=en_US.UTF-8
+
+  You have to log out and back in to see locale change reflected
+  in the locale command.
+
+  Verify your system local by running the following command:
+    $ locale
+
+1.4.2 Apache2 and MySQL Locales
+  Please read over the following document carefully for more
+  information:
+    http://wiki.koha-community.org/wiki/Koha_on_Ubuntu#Configuring_the_Character_Set
+
+1.5 Get Koha
+
+  There are three suggested ways to install Koha. If you will be
+  participating in Koha's development, the Download from Git
+  is the recommended way (See 1.5.1 below).
+  If you would like to skip some of these tedious tasks, visit
+  the following URL:
+  http://wiki.koha-community.org/wiki/Koha_3.8_on_Debian_Squeeze
+  If you will not be, then follow the Download from Tarball
+  instructions (See 1.5.2 below).
+
+  1.5.1 Download from Git
+
+  Install Git:
+    $ sudo apt-get install git-core
+
+  Download Koha:
+    $ git clone git://git.koha-community.org/koha.git kohaclone
+    $ cd kohaclone
+    $ git checkout -b myinstall origin
+
+  NOTE: for more information about Git, please see the Koha Git
+        Usage Guide:
+   http://wiki.koha-community.org/wiki/Version_Control_Using_Git
+
+  1.5.2 Download from Tarball
+
+  You can get the sources from
+   http://download.koha-community.org. Issuing the following
+  command you can get the latest stable release (recommended):
+
+  Download and Unpack Koha:
+    $ wget http://download.koha-community.org/koha-latest.tar.gz
+    $ tar xvf koha-latest.tar.gz
+
+  Determine the version and change directory:
+    $ ls
+    koha-3.08.03  koha-lastest.tar.gz
+    $ cd koha-3.08.03
+
+
+1.6 Install additional Ubuntu dependencies
+
+  Several Koha dependencies have been conveniently packaged and
+  will be installed issuing the following commands:
+
+    $ sudo apt-get install dselect
+    $ sudo dpkg --set-selections < install_misc/ubuntu.packages
+    $ sudo dselect
+
+  Choose [I]nstall and accept packages to be installed and hit
+  return. Be patient. This may take a long time.
+  Choose [C]onfigure, [R]emove and [Q]uit until dselect has
+  completed.
+
+
+1.7 Install Perl dependencies that aren't packaged
+
+****************************************************************
+  IMPORTANT:  You should only use CPAN for Perl dependencies
+              which are NOT available from the package
+              maintainer. You have been warned!
+****************************************************************
+
+  Run the test script to identify missing libraries
+    $ ./koha_perl_deps.pl -m -u
+
+  If there are any dependencies which are missing or need
+  upgrading, first attempt aptitude searches:
+    $ aptitude search libbusiness-isdn-perl
+
+  Notice how the name transformed to 'lib' plus the lowercase
+  library name using '-'s instead of '::'s plus '-perl'. This
+  will generally help find what is missing. And then a simple
+  apt-get install can be done:
+    $ sudo apt-get install libbusiness-isdn-perl
+
+  Do this for all the dependencies listed. Then re-run the
+  command:
+    $ ./koha_perl_deps.pl -m -u
+
+  In general, the repositories on debian.koha-community.org
+  should have any missing pieces. The list should be empty.
+
+  If any are still listed, they can be installed using the 'cpan'
+  command. If and only if you are unable to find any of the
+  dependencies should you use the cpan command. For example:
+    $ sudo cpan GD GD::Barcode::UPCE Algorithm::CheckDigits
+
+  NOTE: you may need to run CPAN initialization if you've not run
+        cpan before:
+--------
+    /etc/perl/CPAN/Config.pm initialized.
+
+    CPAN is the world-wide archive of perl resources. It consists of about
+    100 sites that all replicate the same contents all around the globe.
+    Many countries have at least one CPAN site already. The resources
+    found on CPAN are easily accessible with the CPAN.pm module. If you
+    want to use CPAN.pm, you have to configure it properly.
+
+    If you do not want to enter a dialog now, you can answer 'no' to this
+    question and I'll try to autoconfigure. (Note: you can revisit this
+    dialog anytime later by typing 'o conf init' at the cpan prompt.)
+
+    Are you ready for manual configuration? [yes]
+--------
+  When the configuration is completed CPAN will install the Perl
+  modules passed on the command-line.
+
+  For further explanation and reading see:
+     http://wiki.koha-community.org/wiki/Koha_on_Ubuntu#Ubuntu_Packages_for_Perl_Dependencies
+
+
+2. Configuration of dependencies
+
+2.1 Update root MySQL password
+
+  If during the installation of MySQL you were not prompted to
+  set the MySQL password:
+    $ sudo mysqladmin password <password>
+
+2.2 Create the Koha database
+
+  Create the database and user with associated privileges. To do
+  this, decide on the koha database name, the koha user name, and
+  the koha user password. Substitute these into the following
+  commands:
+    $ mysql -u root -p
+    Enter mysql root password:
+    Welcome to the MySQL monitor.  Commands end with ; or \g.
+    Your MySQL connection id is 42
+    Server version: 5.5.24-0ubuntu0.12.04.1 (Ubuntu)
+
+    Copyright (c) 2000, 2011, Oracle and/or its affiliates. All rights reserved.
+
+    Oracle is a registered trademark of Oracle Corporation and/or its
+    affiliates. Other names may be trademarks of their respective
+    owners.
+
+    Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.
+
+    mysql> CREATE DATABASE {kohadatabasename};
+    mysql> SHOW DATABASES;
+    mysql> CREATE user '{kohauserbasename}'@'localhost' IDENTIFIED by '{kohauserpassword}';
+    mysql> GRANT ALL ON {kohadatabasename}.* TO '{kohausername}'@'localhost' IDENTIFIED BY '{kohauserpassword}';
+    mysql> USE mysql;
+    mysql> SELECT host,user FROM user;
+    mysql> DELETE FROM user WHERE user='';
+    mysql> SELECT host,user FROM user;
+    mysql> FLUSH PRIVILEGES;
+    mysql> QUIT
+
+  For further explanation of these commands see:
+    http://wiki.koha-community.org/wiki/Koha_on_Ubuntu#Create_MySQL_Database_and_Grant_Privileges
+
+
+2.3 Test your SAX Parser and correct where necessary
+
+  You must be sure you're using the XML::LibXML SAX parser, not
+  Expat or PurePerl, both of which have outstanding bugs with
+  pre-composed characters. Test your SAX parser by running:
+    $ ./misc/sax_parser_print.pl
+
+  If your setup is wrong, the script will output something like:
+    Koha wants something like:
+      XML::LibXML::SAX::Parser=HASH(0x81fe220)
+    You have:
+      XML::SAX::Expat=HASH(0x1a94e88)
+    Looks bad, check INSTALL.* documentation.
+
+  It means you are using Expat (it could also say PurePerl).
+  You'll need to edit your ini file, located at:
+    /etc/perl/XML/SAX/ParserDetails.ini
+
+  Move the entire section for '[XML::LibXML::SAX::Parser]' to the
+  bottom of the ini file. Then run the script again. The output
+  should look like this:
+    $ misc/sax_parser_print.pl
+    Koha wants something like:
+      XML::LibXML::SAX::Parser=HASH(0x81fe220)
+    You have:
+      XML::LibXML::SAX::Parser=HASH(0x16dfee8)
+    Looks good.
+
+  For further details see:
+    http://wiki.koha-community.org/wiki/Koha_on_Ubuntu#Test_to_make_sure_the_SAX_Parser_is_setup_correctly
+
+
+3. Run the Koha installer
+
+  Add a user for installing koha and running zebra:
+    $ sudo adduser koha
+
+  Build and install Koha:
+    $ perl Makefile.PL
+    ( answer questions )
+    $ make
+    $ make test
+    $ sudo make install
+
+
+4. Configure and start Apache
+
+  This will help make koha available to be a website:
+   $ sudo ln -s /etc/koha/koha-httpd.conf /etc/apache2/sites-available/koha
+
+  NOTE: the path to koha-httpd.conf may be different depending on
+        your installation choices.
+
+  Make sure you have this lines in /etc/apache2/ports.conf:
+    Listen 80
+    Listen 8080
+  Add the missing one.
+
+  The default installation of Koha does not use named virtual
+  hosts. If you will not be running named virtual hosts, comment
+  out the following line:
+    NameVirtualHost *:80
+
+  Run the following commands:
+    $ sudo a2enmod rewrite deflate
+    $ sudo a2ensite koha
+    $ sudo apache2ctl restart
+
+  Note: you may still see the usual Apache default site if your
+        VirtualHost configuration isn't correct.  The command
+        "sudo a2dissite default" may be a quick fix, but may have
+        side-effects.  See the Apache HTTPD manual section on
+        virtual hosts for full instructions.
+
+
+5. Configure and start Zebra
+
+  This process send responses to search requests sent by Koha or
+  Z39.50/SRU/SRW clients.
+
+  NOTE: the user you run Zebra as will be the only user with
+        write permission on the Zebra index; in development mode,
+        you may wish to use your system user.
+
+
+5.1 Zebra Search Server
+
+  Set the zebra daemon to run on start:
+    $ sudo ln -s /usr/share/koha/bin/koha-zebra-ctl.sh /etc/init.d/koha-zebra-daemon
+    $ sudo update-rc.d koha-zebra-daemon defaults
+    $ sudo /etc/init.d/koha-zebra-daemon start
+
+  NOTE: change the path to koha-zebra-ctl.sh to match your setup
+        if not using the default.
+
+
+5.2 Zebra Indexer
+
+  There are two ways to do this. ONLY DO ONE! DO NOT DO BOTH!
+
+  Option 1:
+    You can configure zebra-indexing as an background daemon, see
+      http://wiki.koha-community.org/wiki/Background_indexing_with_Zebra
+
+  Option 2:
+
+    Add an entry in Koha user crontab to scheduled
+    added/updated/deleted records indexing by Zebra with this
+    command:
+      <path/to/koha>/misc/migration_tools/rebuild_zebra -z -b -a
+
+    See check misc/cronjobs/crontab.example for usage examples.
+
+    NOTE: This job should be setup under the kohauser
+          (the default is 'koha').
+
+
+6. Run the Web Installer, populate the database,
+   initial configuration of settings
+
+  The hope is that your server is accessible via a nice browser
+  somewhere. If not, install lynx to finish the web install on
+  your Koha server:
+    $ sudo apt-get install lynx
+
+  Point your browser to http://<servername>:8080/
+
+  If you installed lynx, and are using defaults, it might be
+  something like:
+    $ lynx http://127.0.1.1:8080/
+
+  It should redirect you to the Web Installer where you can
+  continue the setup. You can install the sample data for
+  libraries, patrons, etc. via the Web Installer
+
+
+7. Install additional languages
+
+  In your install directory you can run this commands to have
+  your Koha setup translated to your language:
+
+  Set your environment variables:
+    $ export KOHA_CONF=/etc/koha/sites/koha/koha-conf.xml
+    $ export PERL5LIB=/usr/share/koha/lib/
+
+  NOTE: the path to koha-conf.xml may be different depending on
+        your installation choices.
+
+  Run the translator script:
+    $ cd /usr/share/koha/misc/translator
+    $ perl translate install <language-code>
+
+  <language-code> must be one of the included in the
+  misc/translator/po directory.
+
+  NOTE: You can add as many languages as you need. In order to
+        use them you will have to enable them first in the
+        'I18N/L10N' section of the Koha preferences.
+
+
+8. What next?
+
+  NOTE: You can use the 'Stage MARC records for import' from the
+        Tools area of Koha's Staff Client to import a batch of
+        MARC records, rather than these instructions.
+
+  Once the installer has completed, you can import and index MARC
+  records from the command line thusly:
+    $ export KOHA_CONF=/usr/share/koha/etc/koha-conf.xml
+  NOTE: use the correct path to your koha-conf.xml
+
+8.1 Import
+
+  Bibliographic data in MARC21 format:
+    $ misc/migration_tools/bulkmarcimport.pl -file /path/to/marc.iso2709
+
+  Authority data in MARC21 format:
+    $ misc/migration_tools/bulkauthimport.pl -file /path/to/auth.iso2709
+
+8.2 Fast Index:
+
+  NOTE: This script must be run as the kohauser otherwise
+        permission errors and indexing problems will follow.
+        (the default is 'koha' -- see step 3).
+
+    $ misc/migration_tools/rebuild_zebra.pl -b -w
+
+  Once the indexing has completed, you will be able to search for
+  records in your system.
+
+
+8.3 Public Z39.50/SRU server
+
+  To enable public Z39.50/SRU servers, you'll need to edit your
+  koha-conf.xml and change the <listen> options to listen on a
+  TCP port; then restart the zebra daemon.
+
+
+UPGRADE
+=================================================================
+
+  If you are running in another language other than English,
+  please switch to English before doing the upgrade, the
+  templating system has changed and the templates will need to be
+  regenerated.
+
+  Once you have upgraded, please regenerate your templates in
+  your chosen languages.
+
+
+1. Install new Perl dependencies
+
+  If you are upgrading from a previous installation of Koha 3.x,
+  you can use the following to identify new Perl dependencies:
+    $ ./koha_perl_deps.pl -u -m
+
+  Install any missing modules using the instructions on sections
+  1.6 and 1.7.
+
+
+2. Upgrade Koha
+
+    $ perl Makefile.PL --prev-install-log /path/to/koha-install-log
+    $ make
+    $ make test
+    $ sudo make upgrade
+
+
+3. Pre-3.4 upgrades
+
+  Koha 3.4.x or later no longer stores items in biblio records so
+  if you are upgrading from an older version as part of the
+  upgrade you will need to do the following two steps, they can
+  take a long time (several hours) to complete for large
+  databases:
+    $ misc/maintenance/remove_items_from_biblioitems.pl --run
+    $ misc/migration_tools/rebuild_zebra.pl -b -r
+
+
+Uninstall Instructions
+=================================================================
+
+1. Stop Services:
+
+  Firstly, remove the apache website:
+    $ sudo a2dissite koha
+    $ sudo rm /etc/apache2/sites-available/koha
+    $ sudo apache2ctl restart
+
+  Next, remove the koha-zebra-daemon:
+    $ sudo update-rc.d koha-zebra-daemon remove
+    $ sudo rm /etc/init.d/koha-zebra-daemon
+
+
+2a. Remove Database:
+
+  Remember the <kohauser>, <kohapassword, and <kohadatabasename>
+  need to be substituted on the following commands:
+   $ mysql -u<kohauser> -p<kohapassword>
+   mysql> drop database <kohadatabasename>;
+
+
+2b. Remove Indexes:
+
+  To help determine what <prefix> should be substituted with,
+  run the following command:
+    $ sudo find / -name "zebra-biblios.cfg"
+    /etc/koha/zebradb/zebra-biblios.cfg
+    /home/user/koha-3.08.03/etc/zebradb/zebra-biblios.cfg
+    /home/user/koha-3.08.03/blib/ZEBRA_CONF_DIR/zebra-biblios.cfg
+  There may be three copies, two of which will likely be in the
+  user account that installed Koha. In this example, our <prefix>
+  is '/etc/koha'.
+
+  Once you know the value of prefix, run these commands
+  substituting in the correct value:
+   $ zebraidx -c <prefix>/zebradb/zebra-biblios.cfg -g iso2709 -d biblios init
+   $ zebraidx -c <prefix>/zebradb/zebra-authorities.cfg -g iso2709 -d authorities init
+
+
+3. Remove Koha Install Directories and Configuration Files
+   Don't forget about any crontab entries
+
+
+Tested on the following operating environments
+=================================================================
+  - Ubuntu Precise Pangolin 12.04
+
+
+Installer Bug reports
+=================================================================
+  Please log any installer bug reports at
+  http://bugs.koha-community.org
+
+
+Other Notes
+=================================================================
+This file is part of Koha
+
+Koha is free software; you can redistribute it and/or modify it
+under the terms of the GNU General Public License as published by
+the Free Software Foundation; either version 2 of the License, or
+(at your option) any later version.
+
+Koha is distributed in the hope that it will be useful, but
+WITHOUT ANY WARRANTY; without even the implied warranty of
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+GNU General Public License for more details.
+
+You should have received a copy of the GNU General Public License
+along with Koha; if not, write to the Free Software Foundation:
+    Free Software Foundation
+    51 Franklin Street, Fifth Floor
+    Boston, MA 02110-1301
+    USA
+Or visit their website: http://www.fsf.org/
diff --git a/Koha/Authority.pm b/Koha/Authority.pm
new file mode 100644 (file)
index 0000000..b07db92
--- /dev/null
@@ -0,0 +1,92 @@
+package Koha::Authority;
+
+# Copyright 2012 C & P Bibliography Services
+#
+# This file is part of Koha.
+#
+# Koha is free software; you can redistribute it and/or modify it under the
+# terms of the GNU General Public License as published by the Free Software
+# Foundation; either version 2 of the License, or (at your option) any later
+# version.
+#
+# Koha is distributed in the hope that it will be useful, but WITHOUT ANY
+# WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR
+# A PARTICULAR PURPOSE.  See the GNU General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License along
+# with Koha; if not, write to the Free Software Foundation, Inc.,
+# 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
+
+=head1 NAME
+
+Koha::Authority - class to encapsulate authority records in Koha
+
+=head1 SYNOPSIS
+
+Object-oriented class that encapsulates authority records in Koha.
+
+=head1 DESCRIPTION
+
+Authority data.
+
+=cut
+
+use strict;
+use warnings;
+use C4::Context;
+use MARC::Record;
+use MARC::File::XML;
+use C4::Charset;
+
+use base qw(Class::Accessor);
+
+__PACKAGE__->mk_accessors(qw( authid authtype record marcflavour ));
+
+=head2 new
+
+    my $auth = Koha::Authority->new($record);
+
+Create a new Koha::Authority object based on the provided record.
+
+=cut
+sub new {
+    my $class = shift;
+    my $record = shift;
+
+    my $self = $class->SUPER::new( { record => $record });
+
+    bless $self, $class;
+    return $self;
+}
+
+=head2 get_from_authid
+
+    my $auth = Koha::Authority->get_from_authid($authid);
+
+Create the Koha::Authority object associated with the provided authid.
+
+=cut
+sub get_from_authid {
+    my $class = shift;
+    my $authid = shift;
+    my $marcflavour = C4::Context->preference("marcflavour");
+
+    my $dbh=C4::Context->dbh;
+    my $sth=$dbh->prepare("select authtypecode, marcxml from auth_header where authid=?");
+    $sth->execute($authid);
+    my ($authtypecode, $marcxml) = $sth->fetchrow;
+    my $record=eval {MARC::Record->new_from_xml(StripNonXmlChars($marcxml),'UTF-8',
+        (C4::Context->preference("marcflavour") eq "UNIMARC"?"UNIMARCAUTH":C4::Context->preference("marcflavour")))};
+    return if ($@);
+    $record->encoding('UTF-8');
+
+    my $self = $class->SUPER::new( { authid => $authid,
+                                     marcflavour => $marcflavour,
+                                     authtype => $authtypecode,
+                                     record => $record });
+
+    bless $self, $class;
+    return $self;
+}
+
+1;
index 298cdb2..2a2e062 100644 (file)
@@ -45,16 +45,16 @@ sub _init {
     $repeat_sth->execute( $branch, 1 );
     $self->{day_month_closed_days} = {};
     while ( my $tuple = $repeat_sth->fetchrow_hashref ) {
-        $self->{day_month_closed_days}->{ $tuple->{day} }->{ $tuple->{month} } =
+        $self->{day_month_closed_days}->{ $tuple->{month} }->{ $tuple->{day} } =
           1;
     }
+
     my $special = $dbh->prepare(
-'SELECT day, month, year, title, description FROM special_holidays WHERE ( branchcode = ? ) AND (isexception = ?)'
+'SELECT day, month, year FROM special_holidays WHERE branchcode = ? AND isexception = ?'
     );
     $special->execute( $branch, 1 );
     my $dates = [];
-    while ( my ( $day, $month, $year, $title, $description ) =
-        $special->fetchrow ) {
+    while ( my ( $day, $month, $year ) = $special->fetchrow ) {
         push @{$dates},
           DateTime->new(
             day       => $day,
@@ -65,10 +65,10 @@ sub _init {
     }
     $self->{exception_holidays} =
       DateTime::Set->from_datetimes( dates => $dates );
-    $special->execute( $branch, 1 );
+
+    $special->execute( $branch, 0 );
     $dates = [];
-    while ( my ( $day, $month, $year, $title, $description ) =
-        $special->fetchrow ) {
+    while ( my ( $day, $month, $year ) = $special->fetchrow ) {
         push @{$dates},
           DateTime->new(
             day       => $day,
@@ -78,8 +78,8 @@ sub _init {
           )->truncate( to => 'day' );
     }
     $self->{single_holidays} = DateTime::Set->from_datetimes( dates => $dates );
-    $self->{days_mode} = C4::Context->preference('useDaysMode');
-    $self->{test} = 0;
+    $self->{days_mode}       = C4::Context->preference('useDaysMode');
+    $self->{test}            = 0;
     return;
 }
 
index d7892dd..4ffc160 100644 (file)
@@ -80,6 +80,7 @@ sub dt_from_string {
             } elsif ( $date_format eq 'sql' ) {
                 $date_string =~
 s/(\d{4})(\d{2})(\d{2})\s+(\d{2})(\d{2})(\d{2})/$1-$2-$3T$4:$5:$6/;
+                return if ($date_string =~ /^0000-00-00/);
                 $date_string =~ s/00T/01T/;
             }
         }
@@ -100,11 +101,15 @@ or C<undef> if C<undef> was provided.
 A second parameter allows overriding of the syspref value. This is for testing only
 In usage use the DateTime objects own methods for non standard formatting
 
+A third parameter allows to specify if the output format contains the hours and minutes.
+If it is not defined, the default value is 0;
+
 =cut
 
 sub output_pref {
     my $dt         = shift;
-    my $force_pref = shift;    # if testing we want to override Context
+    my $force_pref = shift;         # if testing we want to override Context
+    my $dateonly   = shift || 0;    # if you don't want the hours and minutes
 
     return unless defined $dt;
 
@@ -112,16 +117,24 @@ sub output_pref {
       defined $force_pref ? $force_pref : C4::Context->preference('dateformat');
     given ($pref) {
         when (/^iso/) {
-            return $dt->strftime('%Y-%m-%d %H:%M');
+            return $dateonly
+                ? $dt->strftime('%Y-%m-%d')
+                : $dt->strftime('%Y-%m-%d %H:%M');
         }
         when (/^metric/) {
-            return $dt->strftime('%d/%m/%Y %H:%M');
+            return $dateonly
+                ? $dt->strftime('%d/%m/%Y')
+                : $dt->strftime('%d/%m/%Y %H:%M');
         }
         when (/^us/) {
-            return $dt->strftime('%m/%d/%Y %H:%M');
+            return $dateonly
+                ? $dt->strftime('%m/%d/%Y')
+                : $dt->strftime('%m/%d/%Y %H:%M');
         }
         default {
-            return $dt->strftime('%Y-%m-%d %H:%M');
+            return $dateonly
+                ? $dt->strftime('%Y-%m-%d')
+                : $dt->strftime('%Y-%m-%d %H:%M');
         }
 
     }
@@ -162,6 +175,7 @@ sub format_sqldatetime {
     my $force_pref = shift;    # if testing we want to override Context
     if ( defined $str && $str =~ m/^\d{4}-\d{2}-\d{2}/ ) {
         my $dt = dt_from_string( $str, 'sql' );
+        return q{} unless $dt;
         $dt->truncate( to => 'minute' );
         return output_pref( $dt, $force_pref );
     }
diff --git a/Koha/Filter/MARC/EmbedSeeFromHeadings.pm b/Koha/Filter/MARC/EmbedSeeFromHeadings.pm
new file mode 100644 (file)
index 0000000..fc35a74
--- /dev/null
@@ -0,0 +1,102 @@
+package Koha::Filter::MARC::EmbedSeeFromHeadings;
+
+# Copyright 2012 C & P Bibliography Services
+#
+# This file is part of Koha.
+#
+# Koha is free software; you can redistribute it and/or modify it under the
+# terms of the GNU General Public License as published by the Free Software
+# Foundation; either version 2 of the License, or (at your option) any later
+# version.
+#
+# Koha is distributed in the hope that it will be useful, but WITHOUT ANY
+# WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR
+# A PARTICULAR PURPOSE.  See the GNU General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License along
+# with Koha; if not, write to the Free Software Foundation, Inc.,
+# 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
+
+=head1 NAME
+
+Koha::Filter::MARC::EmbedSeeFromHeadings - embeds see from headings into MARC for indexing
+
+=head1 SYNOPSIS
+
+
+=head1 DESCRIPTION
+
+Filter to embed see from headings into MARC records.
+
+=cut
+
+use strict;
+use warnings;
+use Carp;
+use Koha::Authority;
+
+use base qw(Koha::RecordProcessor::Base);
+our $NAME = 'EmbedSeeFromHeadings';
+our $VERSION = '1.0';
+
+=head2 filter
+
+    my $newrecord = $filter->filter($record);
+    my $newrecords = $filter->filter(\@records);
+
+Embed see from headings into the specified record(s) and return the result.
+In order to differentiate added headings from actual headings, a 'z' is
+put in the first indicator.
+
+=cut
+sub filter {
+    my $self = shift;
+    my $record = shift;
+    my $newrecord;
+
+    return unless defined $record;
+
+    if (ref $record eq 'ARRAY') {
+        my @recarray;
+        foreach my $thisrec (@$record) {
+            push @recarray, _processrecord($thisrec);
+        }
+        $newrecord = \@recarray;
+    } elsif (ref $record eq 'MARC::Record') {
+        $newrecord = _processrecord($record);
+    }
+
+    return $newrecord;
+}
+
+sub _processrecord {
+    my $record = shift;
+
+    foreach my $field ( $record->fields() ) {
+        next if $field->is_control_field();
+        my $authid = $field->subfield('9');
+
+        next unless $authid;
+
+        my $authority = Koha::Authority->get_from_authid($authid);
+        next unless $authority;
+        my $auth_marc = $authority->record;
+        my @seefrom = $auth_marc->field('4..');
+        my @newfields;
+        foreach my $authfield (@seefrom) {
+            my $tag = substr($field->tag(), 0, 1) . substr($authfield->tag(), 1, 2);
+            my $newfield = MARC::Field->new($tag,
+                    'z',
+                    $authfield->indicator(2) || ' ',
+                    '9' => '1');
+            foreach my $sub ($authfield->subfields()) {
+                my ($code,$val) = @$sub;
+                $newfield->add_subfields( $code => $val );
+            }
+            $newfield->delete_subfield( code => '9' );
+            push @newfields, $newfield if (scalar($newfield->subfields()) > 0);
+        }
+        $record->append_fields(@newfields);
+    }
+    return $record;
+}
diff --git a/Koha/Filter/MARC/Null.pm b/Koha/Filter/MARC/Null.pm
new file mode 100644 (file)
index 0000000..578781c
--- /dev/null
@@ -0,0 +1,55 @@
+package Koha::Filter::MARC::Null;
+
+# Copyright 2012 C & P Bibliography Services
+#
+# This file is part of Koha.
+#
+# Koha is free software; you can redistribute it and/or modify it under the
+# terms of the GNU General Public License as published by the Free Software
+# Foundation; either version 2 of the License, or (at your option) any later
+# version.
+#
+# Koha is distributed in the hope that it will be useful, but WITHOUT ANY
+# WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR
+# A PARTICULAR PURPOSE.  See the GNU General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License along
+# with Koha; if not, write to the Free Software Foundation, Inc.,
+# 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
+
+=head1 NAME
+
+Koha::Filter::MARC::Null - an example filter that does nothing but allow us to run tests
+
+=head1 SYNOPSIS
+
+
+=head1 DESCRIPTION
+
+Filter to allow us to run unit tests and regression tests against the
+RecordProcessor.
+
+=cut
+
+use strict;
+use warnings;
+use Carp;
+
+use base qw(Koha::RecordProcessor::Base);
+our $NAME = 'Null';
+our $VERSION = '1.0';
+
+=head2 filter
+
+    my $newrecord = $filter->filter($record);
+    my $newrecords = $filter->filter(\@records);
+
+Return the original record.
+
+=cut
+sub filter {
+    my $self = shift;
+    my $record = shift;
+
+    return $record;
+}
diff --git a/Koha/RecordProcessor.pm b/Koha/RecordProcessor.pm
new file mode 100644 (file)
index 0000000..3d4e1bf
--- /dev/null
@@ -0,0 +1,183 @@
+package Koha::RecordProcessor;
+
+# Copyright 2012 C & P Bibliography Services
+#
+# This file is part of Koha.
+#
+# Koha is free software; you can redistribute it and/or modify it under the
+# terms of the GNU General Public License as published by the Free Software
+# Foundation; either version 2 of the License, or (at your option) any later
+# version.
+#
+# Koha is distributed in the hope that it will be useful, but WITHOUT ANY
+# WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR
+# A PARTICULAR PURPOSE.  See the GNU General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License along
+# with Koha; if not, write to the Free Software Foundation, Inc.,
+# 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
+
+=head1 NAME
+
+Koha::RecordProcessor - Dispatcher class for record normalization
+
+=head1 SYNOPSIS
+
+  use Koha::RecordProcessor;
+  my $normalizer = Koha::RecordProcessor(%params);
+  $normalizer->process($record)
+
+=head1 DESCRIPTION
+
+Dispatcher class for record normalization. RecordProcessors must
+extend Koha::RecordProcessor::Base, be in the Koha::Filter namespace,
+and provide the following methods:
+
+B<filter ($record)> - apply the filter and return the result. $record
+may be either a scalar or an arrayref, and the return result will be
+the same type.
+
+These methods may be overriden:
+
+B<initialize (%params)> - initialize the filter
+
+B<destroy ()> - destroy the filter
+
+These methods should not be overridden unless you are very sure of what
+you are doing:
+
+B<new ()> - create a new filter object
+
+Note that the RecordProcessor will not clone the record that is
+passed in. If you do not want to change the original MARC::Record
+object (or whatever type of object you are passing in), you must
+clone it I<prior> to passing it off to the RecordProcessor.
+
+=head1 FUNCTIONS
+
+=cut
+
+use strict;
+use warnings;
+use Module::Load::Conditional qw(can_load);
+use Module::Pluggable::Object;
+
+use base qw(Class::Accessor);
+
+__PACKAGE__->mk_accessors(qw( schema filters options record ));
+
+=head2 new
+
+    my $normalizer = Koha::RecordProcessor->new(%params);
+
+Create a new normalizer. Available parameters are:
+
+=over 8
+
+=item B<schema>
+
+Which metadata schema is in use. At the moment the only supported schema
+is 'MARC'.
+
+=item B<filters>
+
+What filter(s) to use. This must be an arrayref to a list of filters. Filters
+can be specified either with a complete class path, or, if they are in the
+Koha::Filter::${schema} namespace, as only the filter name, and
+"Koha::Filter::${schema}" will be prepended to it before the filter is loaded.
+
+=back
+
+=cut
+sub new {
+    my $class = shift;
+    my $param = shift;
+
+
+    my $schema = $param->{schema} || 'MARC';
+    my $options = $param->{options} || '';
+    my @filters = ( );
+
+    foreach my $filter ($param->{filters}) {
+        next unless $filter;
+        my $filter_module = $filter =~ m/:/ ? $filter : "Koha::Filter::${schema}::${filter}";
+        if (can_load( modules => { $filter_module => undef } )) {
+            my $object = $filter_module->new();
+            $filter_module->initialize($param);
+            push @filters, $object;
+        }
+    }
+
+    my $self = $class->SUPER::new( { schema => $schema,
+                                     filters => \@filters,
+                                     options => $options });
+    bless $self, $class;
+    return $self;
+}
+
+=head2 bind
+
+    $normalizer->bind($record)
+
+Bind a normalizer to a particular record.
+
+=cut
+sub bind {
+    my $self = shift;
+    my $record = shift;
+
+    $self->{record} = $record;
+    return;
+}
+
+=head2 process
+
+    my $newrecord = $normalizer->process([$record])
+
+Run the record(s) through the normalization pipeline. If $record is
+not specified, process the record the normalizer is bound to.
+Note that $record may be either a scalar or an arrayref, and the
+return value will be of the same type.
+
+=cut
+sub process {
+    my $self = shift;
+    my $record = shift || $self->record;
+
+    return unless defined $record;
+
+    my $newrecord = $record;
+
+    foreach my $filterobj (@{$self->filters}) {
+        next unless $filterobj;
+        $newrecord = $filterobj->filter($newrecord);
+    }
+
+    return $newrecord;
+}
+
+sub DESTROY {
+    my $self = shift;
+
+    foreach my $filterobj (@{$self->filters}) {
+        $filterobj->destroy();
+    }
+}
+
+=head2 AvailableFilters
+
+    my @available_filters = Koha::RecordProcessor::AvailableFilters([$schema]);
+
+Get a list of available filters. Optionally specify the metadata schema.
+At present only MARC is supported as a schema.
+
+=cut
+sub AvailableFilters {
+    my $schema = pop || '';
+    my $path = 'Koha::Filter';
+    $path .= "::$schema" if ($schema eq 'MARC');
+    my $finder = Module::Pluggable::Object->new(search_path => $path);
+    return $finder->plugins;
+}
+
+1;
diff --git a/Koha/RecordProcessor/Base.pm b/Koha/RecordProcessor/Base.pm
new file mode 100644 (file)
index 0000000..00bc623
--- /dev/null
@@ -0,0 +1,133 @@
+package Koha::RecordProcessor::Base;
+
+# Copyright 2012 C & P Bibliography Services
+#
+# This file is part of Koha.
+#
+# Koha is free software; you can redistribute it and/or modify it under the
+# terms of the GNU General Public License as published by the Free Software
+# Foundation; either version 2 of the License, or (at your option) any later
+# version.
+#
+# Koha is distributed in the hope that it will be useful, but WITHOUT ANY
+# WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR
+# A PARTICULAR PURPOSE.  See the GNU General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License along
+# with Koha; if not, write to the Free Software Foundation, Inc.,
+# 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
+
+=head1 NAME
+
+Koha::RecordProcessor::Base - Base class for RecordProcessor filters
+
+=head1 SYNOPSIS
+
+  use base qw(Koha::RecordProcessor::Base);
+
+=head1 DESCRIPTION
+
+Base class for record normalizer filters. RecordProcessors must
+provide the following methods:
+
+B<filter ($record)> - apply the filter and return the result. $record
+may be either a scalar or an arrayref, and the return result will be
+the same type.
+
+The following variables must be defined in each filter:
+  our $NAME ='Filter';
+  our $VERSION = '1.0';
+
+These methods may be overriden:
+
+B<initialize (%params)> - initialize the filter
+
+B<destroy ()> - destroy the filter
+
+These methods should not be overridden unless you are very sure of what
+you are doing:
+
+B<new ()> - create a new filter object
+
+Note that the RecordProcessor will not clone the record that is
+passed in. If you do not want to change the original MARC::Record
+object (or whatever type of object you are passing in), you must
+clone it I<prior> to passing it off to the RecordProcessor.
+
+=head1 FUNCTIONS
+
+=cut
+
+use strict;
+use warnings;
+
+use base qw(Class::Accessor);
+
+__PACKAGE__->mk_ro_accessors(qw( name version ));
+__PACKAGE__->mk_accessors(qw( params ));
+our $NAME = 'Base';
+our $VERSION = '1.0';
+
+
+=head2 new
+
+    my $filter = Koha::RecordProcessor::Base->new;
+
+Create a new filter;
+
+=cut
+sub new {
+    my $class = shift;
+
+    my $self = $class->SUPER::new( { });#name => $class->NAME,
+                                     #version => $class->VERSION });
+
+    bless $self, $class;
+    return $self;
+}
+
+
+=head2 initialize
+
+    $filter->initalize(%params);
+
+Initialize a filter using the specified parameters.
+
+=cut
+sub initialize {
+    my $self = shift;
+    my $params = shift;
+
+    #$self->params = $params;
+
+    return $self;
+}
+
+
+=head2 destroy
+
+    $filter->destroy();
+
+Destroy the filter.
+
+=cut
+sub destroy {
+    my $self = shift;
+    return;
+}
+
+=head2 filter
+
+    my $newrecord = $filter->filter($record);
+    my $newrecords = $filter->filter(\@records);
+
+Filter the specified record(s) and return the result.
+
+=cut
+sub filter {
+    my $self = shift;
+    my $record = shift;
+    return $record;
+}
+
+1;
index fd7c3d7..6fa3242 100644 (file)
@@ -9,6 +9,7 @@ use List::MoreUtils qw(uniq);
 use Koha::SearchEngine::Solr;
 use C4::AuthoritiesMarc;
 use C4::Biblio;
+use Koha::RecordProcessor;
 
 has searchengine => (
     is => 'rw',
@@ -39,6 +40,11 @@ sub index_record {
         $record = GetAuthority( $id )  if $recordtype eq "authority";
         $record = GetMarcBiblio( $id ) if $recordtype eq "biblio";
 
+        if ($record_type eq 'biblio' && C4::Context->preference('IncludeSeeFromInSearches')) {
+            my $normalizer = Koha::RecordProcessor->new( { filters => 'EmbedSeeFromHeadings' } );
+            $record = $normalizer->process($record);
+        }
+
         next unless ( $record );
 
         my $index_values = {
diff --git a/Koha/SuggestionEngine.pm b/Koha/SuggestionEngine.pm
new file mode 100644 (file)
index 0000000..e3ee1c9
--- /dev/null
@@ -0,0 +1,199 @@
+package Koha::SuggestionEngine;
+
+# Copyright 2012 C & P Bibliography Services
+#
+# This file is part of Koha.
+#
+# Koha is free software; you can redistribute it and/or modify it under the
+# terms of the GNU General Public License as published by the Free Software
+# Foundation; either version 2 of the License, or (at your option) any later
+# version.
+#
+# Koha is distributed in the hope that it will be useful, but WITHOUT ANY
+# WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR
+# A PARTICULAR PURPOSE.  See the GNU General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License along
+# with Koha; if not, write to the Free Software Foundation, Inc.,
+# 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
+
+=head1 NAME
+
+Koha::SuggestionEngine - Dispatcher class for suggestion engines
+
+=head1 SYNOPSIS
+
+  use Koha::SuggestionEngine;
+  my $suggestor = Koha::SuggestionEngine->new(%params);
+  $suggestor->get_suggestions($search)
+
+=head1 DESCRIPTION
+
+Dispatcher class for retrieving suggestions. SuggestionEngines must
+extend Koha::SuggestionEngine::Base, be in the Koha::SuggestionEngine::Plugin
+namespace, and provide the following methods:
+
+B<get_suggestions ($search)> - get suggestions from the plugin for the
+specified search.
+
+These methods may be overriden:
+
+B<initialize (%params)> - initialize the plugin
+
+B<destroy ()> - destroy the plugin
+
+These methods should not be overridden unless you are very sure of what
+you are doing:
+
+B<new ()> - create a new plugin object
+
+=head1 FUNCTIONS
+
+=cut
+
+use strict;
+use warnings;
+use Module::Load::Conditional qw(can_load);
+use Module::Pluggable::Object;
+
+use base qw(Class::Accessor);
+
+__PACKAGE__->mk_accessors(qw( schema plugins options record ));
+
+=head2 new
+
+    my $suggestor = Koha::SuggestionEngine->new(%params);
+
+Create a new suggestor class. Available parameters are:
+
+=over 8
+
+=item B<plugins>
+
+What plugin(s) to use. This must be an arrayref to a list of plugins. Plugins
+can be specified either with a complete class path, or, if they are in the
+Koha::SuggestionEngine::Plugin namespace, as only the plugin name, and
+"Koha::SuggestionEngine::Plugin" will be prepended to it before the plugin
+is loaded.
+
+=back
+
+=cut
+
+sub new {
+    my $class = shift;
+    my $param = shift;
+
+    my $options = $param->{options} || '';
+    my @plugins = ();
+
+    foreach my $plugin ( @{$param->{plugins}} ) {
+        next unless $plugin;
+        my $plugin_module =
+            $plugin =~ m/:/
+          ? $plugin
+          : "Koha::SuggestionEngine::Plugin::${plugin}";
+        if ( can_load( modules => { $plugin_module => undef } ) ) {
+            my $object = $plugin_module->new();
+            $plugin_module->initialize($param);
+            push @plugins, $object;
+        }
+    }
+
+    my $self = $class->SUPER::new(
+        {
+            plugins => \@plugins,
+            options => $options
+        }
+    );
+    bless $self, $class;
+    return $self;
+}
+
+=head2 get_suggestions
+
+    my $suggestions = $suggester->get_suggestions(\%params)
+
+Get a list of suggestions based on the search passed in. Available parameters
+are:
+
+=over 8
+
+=item B<search>
+
+Required. The search for which suggestions are desired.
+
+=item B<count>
+
+Optional. The number of suggestions to retrieve. Defaults to 10.
+
+=back
+
+=cut
+
+sub get_suggestions {
+    my $self  = shift;
+    my $param = shift;
+
+    return unless $param->{'search'};
+
+    my $number = $param->{'count'} || 10;
+
+    my %suggestions;
+
+    my $index = scalar @{ $self->plugins };
+
+    foreach my $pluginobj ( @{ $self->plugins } ) {
+        next unless $pluginobj;
+        my $pluginres = $pluginobj->get_suggestions($param);
+        foreach my $suggestion (@$pluginres) {
+            $suggestions{ $suggestion->{'search'} }->{'relevance'} +=
+              $suggestion->{'relevance'} * $index;
+            $suggestions{ $suggestion->{'search'} }->{'label'} |=
+              $suggestion->{'label'};
+        }
+        $index--;
+    }
+
+    my @results = ();
+    for (
+        sort {
+            $suggestions{$b}->{'relevance'} <=> $suggestions{$a}->{'relevance'}
+        } keys %suggestions
+      )
+    {
+        last if ( $#results == $number - 1 );
+        push @results,
+          {
+            'search'  => $_,
+            relevance => $suggestions{$_}->{'relevance'},
+            label     => $suggestions{$_}->{'label'}
+          };
+    }
+
+    return \@results;
+}
+
+sub DESTROY {
+    my $self = shift;
+
+    foreach my $pluginobj ( @{ $self->plugins } ) {
+        $pluginobj->destroy();
+    }
+}
+
+=head2 AvailablePlugins
+
+    my @available_plugins = Koha::SuggestionEngine::AvailablePlugins();
+
+Get a list of available plugins.
+
+=cut
+
+sub AvailablePlugins {
+    my $path = 'Koha::SuggestionEngine::Plugin';
+    my $finder = Module::Pluggable::Object->new( search_path => $path );
+    return $finder->plugins;
+}
+
+1;
diff --git a/Koha/SuggestionEngine/Base.pm b/Koha/SuggestionEngine/Base.pm
new file mode 100644 (file)
index 0000000..9565a7e
--- /dev/null
@@ -0,0 +1,126 @@
+package Koha::SuggestionEngine::Base;
+
+# Copyright 2012 C & P Bibliography Services
+#
+# This file is part of Koha.
+#
+# Koha is free software; you can redistribute it and/or modify it under the
+# terms of the GNU General Public License as published by the Free Software
+# Foundation; either version 2 of the License, or (at your option) any later
+# version.
+#
+# Koha is distributed in the hope that it will be useful, but WITHOUT ANY
+# WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR
+# A PARTICULAR PURPOSE.  See the GNU General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License along
+# with Koha; if not, write to the Free Software Foundation, Inc.,
+# 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
+
+=head1 NAME
+
+Koha::SuggestionEngine::Base - Base class for SuggestionEngine plugins
+
+=head1 SYNOPSIS
+
+  use base qw(Koha::SuggestionEngine::Base);
+
+=head1 DESCRIPTION
+
+Base class for suggestion engine plugins. SuggestionEngines must
+provide the following methods:
+
+B<get_suggestions (\%param)> - get suggestions for the search described
+in $param->{'search'}, and return them in a hashref with the suggestions
+as keys and relevance as values.
+
+B<NAME> - return a string with the name of the plugin.
+
+B<VERSION> - return a string with the version of the plugin.
+
+These methods may be overriden:
+
+B<initialize (%params)> - initialize the plugin
+
+B<destroy ()> - destroy the plugin
+
+These methods should not be overridden unless you are very sure of what
+you are doing:
+
+B<new ()> - create a new plugin object
+
+=head1 FUNCTIONS
+
+=cut
+
+use strict;
+use warnings;
+
+use base qw(Class::Accessor);
+
+__PACKAGE__->mk_ro_accessors(qw( name version ));
+__PACKAGE__->mk_accessors(qw( params ));
+
+=head2 new
+
+    my $plugin = Koha::SuggestionEngine::Base->new;
+
+Create a new filter;
+
+=cut
+
+sub new {
+    my $class = shift;
+
+    my $self = $class->SUPER::new( {} );    #name => $class->NAME,
+                                            #version => $class->VERSION });
+
+    bless $self, $class;
+    return $self;
+}
+
+=head2 initialize
+
+    $plugin->initalize(%params);
+
+Initialize a filter using the specified parameters.
+
+=cut
+
+sub initialize {
+    my $self   = shift;
+    my $params = shift;
+
+    #$self->params = $params;
+
+    return $self;
+}
+
+=head2 destroy
+
+    $plugin->destroy();
+
+Destroy the filter.
+
+=cut
+
+sub destroy {
+    my $self = shift;
+    return;
+}
+
+=head2 get_suggestions
+
+    my $suggestions = $plugin->get_suggestions(\%param);
+
+Return suggestions for the specified search.
+
+=cut
+
+sub get_suggestions {
+    my $self  = shift;
+    my $param = shift;
+    return;
+}
+
+1;
diff --git a/Koha/SuggestionEngine/Plugin/AuthorityFile.pm b/Koha/SuggestionEngine/Plugin/AuthorityFile.pm
new file mode 100644 (file)
index 0000000..fdc41c5
--- /dev/null
@@ -0,0 +1,105 @@
+package Koha::SuggestionEngine::Plugin::AuthorityFile;
+
+# Copyright 2012 C & P Bibliography Services
+#
+# This file is part of Koha.
+#
+# Koha is free software; you can redistribute it and/or modify it under the
+# terms of the GNU General Public License as published by the Free Software
+# Foundation; either version 2 of the License, or (at your option) any later
+# version.
+#
+# Koha is distributed in the hope that it will be useful, but WITHOUT ANY
+# WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR
+# A PARTICULAR PURPOSE.  See the GNU General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License along
+# with Koha; if not, write to the Free Software Foundation, Inc.,
+# 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
+
+=head1 NAME
+
+Koha::SuggestionEngine::Plugin::AuthorityFile - get suggestions from the authority file
+
+=head1 SYNOPSIS
+
+
+=head1 DESCRIPTION
+
+Plugin to get suggestions from Koha's authority file
+
+=cut
+
+use strict;
+use warnings;
+use Carp;
+
+use base qw(Koha::SuggestionEngine::Base);
+
+=head2 NAME
+    my $name = $plugin->NAME;
+
+=cut
+
+sub NAME {
+    return 'AuthorityFile';
+}
+
+=head2 VERSION
+    my $version = $plugin->VERSION;
+
+=cut
+
+sub VERSION {
+    return '1.1';
+}
+
+=head2 get_suggestions
+
+    my $suggestions = $plugin->get_suggestions(\%param);
+
+Return suggestions for the specified search by searching for the
+search terms in the authority file and returning the results.
+
+=cut
+
+sub get_suggestions {
+    my $self  = shift;
+    my $param = shift;
+
+    my $search = $param->{'search'};
+
+    # Remove any CCL. This does not handle CQL or PQF, which is unfortunate,
+    # but what can you do? At some point the search will have to be passed
+    # not as a string but as some sort of data structure, at which point it
+    # will be possible to support multiple search syntaxes.
+    $search =~ s/ccl=//;
+    $search =~ s/\w*[:=](\w*)/$1/g;
+
+    my @marclist  = ['mainentry'];
+    my @and_or    = ['and'];
+    my @excluding = [];
+    my @operator  = ['any'];
+    my @value     = ["$search"];
+
+    # FIXME: calling into C4
+    require C4::AuthoritiesMarc;
+    my ( $searchresults, $count ) = C4::AuthoritiesMarc::SearchAuthorities(
+        \@marclist,  \@and_or, \@excluding,       \@operator,
+        @value,      0,        $param->{'count'}, '',
+        'Relevance', 0
+    );
+
+    my @results;
+    foreach my $auth (@$searchresults) {
+        push @results,
+          {
+            'search'  => "an=$auth->{'authid'}",
+            relevance => $count--,
+            label     => $auth->{summary}->{authorized}->[0]->{heading}
+          };
+    }
+    return \@results;
+}
+
+1;
diff --git a/Koha/SuggestionEngine/Plugin/ExplodedTerms.pm b/Koha/SuggestionEngine/Plugin/ExplodedTerms.pm
new file mode 100644 (file)
index 0000000..c0c6166
--- /dev/null
@@ -0,0 +1,105 @@
+package Koha::SuggestionEngine::Plugin::ExplodedTerms;
+
+# Copyright 2012 C & P Bibliography Services
+#
+# This file is part of Koha.
+#
+# Koha is free software; you can redistribute it and/or modify it under the
+# terms of the GNU General Public License as published by the Free Software
+# Foundation; either version 2 of the License, or (at your option) any later
+# version.
+#
+# Koha is distributed in the hope that it will be useful, but WITHOUT ANY
+# WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR
+# A PARTICULAR PURPOSE.  See the GNU General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License along
+# with Koha; if not, write to the Free Software Foundation, Inc.,
+# 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
+
+=head1 NAME
+
+Koha::SuggestionEngine::Plugin::ExplodedTerms - suggest searches for broader/narrower/related subjects
+
+=head1 SYNOPSIS
+
+
+=head1 DESCRIPTION
+
+Plugin to suggest expanding the search by adding broader/narrower/related
+subjects to subject searches.
+
+=cut
+
+use strict;
+use warnings;
+use Carp;
+use C4::Templates qw(gettemplate); # This is necessary for translatability
+
+use base qw(Koha::SuggestionEngine::Base);
+
+=head2 NAME
+    my $name = $plugin->NAME;
+
+=cut
+
+sub NAME {
+    return 'ExplodedTerms';
+}
+
+=head2 VERSION
+    my $version = $plugin->VERSION;
+
+=cut
+
+sub VERSION {
+    return '1.0';
+}
+
+=head2 get_suggestions
+
+    my $suggestions = $plugin->get_suggestions(\%param);
+
+Return suggestions for the specified search that add broader/narrower/related
+terms to the search.
+
+=cut
+
+sub get_suggestions {
+    my $self  = shift;
+    my $param = shift;
+
+    my $search = $param->{'search'};
+
+    return if ( $search =~ m/^(ccl=|cql=|pqf=)/ );
+    $search =~ s/(su|su-br|su-na|su-rl)[:=](\w*)/OP!$2/g;
+    return if ( $search =~ m/\w+[:=]\w+/ );
+
+    my @indexes = (
+        'su-na',
+        'su-br',
+        'su-rl'
+    );
+    my $cgi = new CGI;
+    my $template = C4::Templates::gettemplate('text/explodedterms.tt', 'opac', $cgi);
+    my @results;
+    foreach my $index (@indexes) {
+        my $thissearch = $search;
+        $thissearch = "$index=$thissearch"
+          unless ( $thissearch =~ s/OP!/$index=/g );
+        $template->{VARS}->{index} = $index;
+        my $label = pack("U0a*", $template->output); #FIXME: C4::Templates is
+        # returning incorrectly-marked UTF-8. This fixes the problem, but is
+        # an annoying workaround.
+        push @results,
+        {
+            'search'  => $thissearch,
+            relevance => 100,
+                # FIXME: it'd be nice to have some empirical measure of
+                #        "relevance" in this case, but we don't.
+            label => $label
+        };
+    } return \@results;
+}
+
+1;
diff --git a/Koha/SuggestionEngine/Plugin/Null.pm b/Koha/SuggestionEngine/Plugin/Null.pm
new file mode 100644 (file)
index 0000000..bc1134d
--- /dev/null
@@ -0,0 +1,78 @@
+package Koha::SuggestionEngine::Plugin::Null;
+
+# Copyright 2012 C & P Bibliography Services
+#
+# This file is part of Koha.
+#
+# Koha is free software; you can redistribute it and/or modify it under the
+# terms of the GNU General Public License as published by the Free Software
+# Foundation; either version 2 of the License, or (at your option) any later
+# version.
+#
+# Koha is distributed in the hope that it will be useful, but WITHOUT ANY
+# WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR
+# A PARTICULAR PURPOSE.  See the GNU General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License along
+# with Koha; if not, write to the Free Software Foundation, Inc.,
+# 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
+
+=head1 NAME
+
+Koha::SuggestionEngine::Plugin::Null - an example plugin that does nothing but allow us to run tests
+
+=head1 SYNOPSIS
+
+
+=head1 DESCRIPTION
+
+Plugin to allow us to run unit tests and regression tests against the
+SuggestionEngine.
+
+=cut
+
+use strict;
+use warnings;
+use Carp;
+
+use base qw(Koha::SuggestionEngine::Base);
+
+=head2 NAME
+    my $name = $plugin->NAME;
+
+=cut
+
+sub NAME {
+    return 'Null';
+}
+
+=head2 VERSION
+    my $version = $plugin->VERSION;
+
+=cut
+
+sub VERSION {
+    return '1.1';
+}
+
+=head2 get_suggestions
+
+    my $suggestions = $suggestor->get_suggestions( {search => 'books');
+
+Return a boring suggestion.
+
+=cut
+
+sub get_suggestions {
+    my $self  = shift;
+    my $param = shift;
+
+    my @result = ();
+
+    push @result, { search => 'book', label => 'Book!', relevance => 1 }
+      if ( $param->{'search'} eq 'books' );
+
+    return \@result;
+}
+
+1;
diff --git a/Koha/Template/Plugin/KohaAuthorisedValues.pm b/Koha/Template/Plugin/KohaAuthorisedValues.pm
new file mode 100644 (file)
index 0000000..68b1347
--- /dev/null
@@ -0,0 +1,50 @@
+package Koha::Template::Plugin::KohaAuthorisedValues;
+
+# Copyright ByWater Solutions 2012
+
+# This file is part of Koha.
+#
+# Koha is free software; you can redistribute it and/or modify it under the
+# terms of the GNU General Public License as published by the Free Software
+# Foundation; either version 2 of the License, or (at your option) any later
+# version.
+#
+# Koha is distributed in the hope that it will be useful, but WITHOUT ANY
+# WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR
+# A PARTICULAR PURPOSE.  See the GNU General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License along
+# with Koha; if not, write to the Free Software Foundation, Inc.,
+# 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
+
+use Modern::Perl;
+
+use Template::Plugin;
+use base qw( Template::Plugin );
+
+use C4::Koha;
+
+=pod
+
+This plugin allows one to get the description for an authorised value
+from within a template.
+
+First, include the line '[% USE KohaAuthorisedValues %]' at the top
+of the template to enable the plugin.
+
+To use, call KohaAuthorisedValues.GetByCode with the category
+of the authorised value, the code to look up, and optionally,
+the OPAC flag ( if set, it will return the OPAC description rather
+than the Intranet description ).
+
+For example: [% KohaAuthorisedValues.GetByCode( 'LOST', item.itemlost, 1 ) %]
+will print the OPAC description for the LOST value stored in item.itemlost.
+
+=cut
+
+sub GetByCode {
+    my ( $self, $category, $code, $opac ) = @_;
+    return GetAuthorisedValueByCode( $category, $code, $opac );
+}
+
+1;
index 46a3524..b6ca640 100644 (file)
@@ -1358,6 +1358,8 @@ sub _add_destdir {
 sub display_configuration {
     my $config = shift;
     my $dirmap = shift;
+    my @version = grep /\/usr\/share\/perl\//, @INC;
+    push @version, ('/usr/share/perl/5.10') if !$version[0];
     print "\n\nKoha will be installed with the following configuration parameters:\n\n";
     foreach my $key (sort keys %$config) {
         print sprintf("%-25.25s%s\n", $key, $config->{$key});
@@ -1370,7 +1372,7 @@ sub display_configuration {
     print "\n\nTo change any configuration setting, please run\n";
     print "perl Makefile.PL again.  To override one of the target\n";
     print "directories, you can do so on the command line like this:\n";
-    print "\nperl Makefile.PL PERL_MODULE_DIR=/usr/share/perl/5.8\n\n";
+    print "\nperl Makefile.PL PERL_MODULE_DIR=$version[0]\n\n";
     print "You can also set different default values for parameters\n";
     print "or override directory locations by using environment variables.\n";
     print "\nFor example:\n\n";
index daf6829..3296182 100755 (executable)
--- a/about.pl
+++ b/about.pl
@@ -72,6 +72,8 @@ my $warnPrefEasyAnalyticalRecords  = ( $prefEasyAnalyticalRecords  && $prefUseCo
 
 my $errZebraConnection = C4::Context->Zconn("biblioserver",0)->errcode();
 
+my $warnIsRootUser   = (! $loggedinuser);
+
 $template->param(
     kohaVersion   => $kohaVersion,
     osVersion     => $osVersion,
@@ -87,6 +89,7 @@ $template->param(
     warnPrefBiblioAddsAuthorities => $warnPrefBiblioAddsAuthorities,
     warnPrefEasyAnalyticalRecords  => $warnPrefEasyAnalyticalRecords,
     errZebraConnection => $errZebraConnection,
+    warnIsRootUser => $warnIsRootUser,
 );
 
 my @components = ();
index 01febba..1dfa0b1 100755 (executable)
@@ -153,39 +153,9 @@ my ( $template, $loggedinuser, $cookie ) = get_template_and_user(
 my $orderinfo                                  = $input->Vars;
 $orderinfo->{'list_price'}    ||=  0;
 $orderinfo->{'uncertainprice'} ||= 0;
-#my $ordernumber        = $input->param('ordernumber');
-#my $basketno      = $input->param('basketno');
-#my $booksellerid  = $input->param('booksellerid');
-#my $existing      = $input->param('existing');    # existing biblio, (not basket or order)
-#my $title         = $input->param('title');
-#my $author        = $input->param('author');
-#my $publicationyear= $input->param('publicationyear');
-#my $isbn          = $input->param('ISBN');
-#my $itemtype      = $input->param('format');
-#my $quantity      = $input->param('quantity');                # FIXME: else ERROR!
-#my $branch        = $input->param('branch');
-#my $series        = $input->param('series');
-#my $notes         = $input->param('notes');
-#my $budget_id     = $input->param('budget_id');
-#my $sort1         = $input->param('sort1');
-#my $sort2         = $input->param('sort2');
-#my $rrp           = $input->param('rrp');
-#my $ecost         = $input->param('ecost');
-#my $gst           = $input->param('GST');
-#my $budget        = $input->param('budget');
-#my $cost          = $input->param('cost');
-#my $sub           = $input->param('sub');
-#my $purchaseorder = $input->param('purchaseordernumber');
-#my $invoice       = $input->param('invoice');
-#my $publishercode = $input->param('publishercode');
-#my $suggestionid  = $input->param('suggestionid');
-#my $biblionumber  = $input->param('biblionumber');
-#my $uncertainprice = $input->param('uncertainprice');
-#my $import_batch_id= $input->param('import_batch_id');
-#
-#my $createbibitem = $input->param('createbibitem');
-#
-my $user          = $input->remote_user;
+
+my $user = $input->remote_user;
+
 # create, modify or delete biblio
 # create if $quantity>=0 and $existing='no'
 # modify if $quantity>=0 and $existing='yes'
@@ -208,6 +178,13 @@ if ( $orderinfo->{quantity} ne '0' ) {
                 "biblio.copyrightdate"        => $$orderinfo{publicationyear} ? $$orderinfo{publicationyear}: "",
                 "biblioitems.itemtype"        => $$orderinfo{itemtype} ? $$orderinfo{itemtype} : "",
                 "biblioitems.editionstatement"=> $$orderinfo{editionstatement} ? $$orderinfo{editionstatement} : "",
+                "aqorders.branchcode"         => $$orderinfo{branchcode} ? $$orderinfo{branchcode} : "",
+                "aqorders.quantity"           => $$orderinfo{quantity} ? $$orderinfo{quantity} : "",
+                "aqorders.listprice"          => $$orderinfo{listprice} ? $$orderinfo{listprice} : "",
+                "aqorders.uncertainprice"     => $$orderinfo{uncertainprice} ? $$orderinfo{uncertainprice} : "",
+                "aqorders.rrp"                => $$orderinfo{rrp} ? $$orderinfo{rrp} : "",
+                "aqorders.ecost"              => $$orderinfo{ecost} ? $$orderinfo{ecost} : "",
+                "aqorders.discount"           => $$orderinfo{discount} ? $$orderinfo{discount} : "",
             });
 
         # create the record in catalogue, with framework ''
@@ -220,6 +197,8 @@ if ( $orderinfo->{quantity} ne '0' ) {
                $orderinfo->{biblionumber}=$biblionumber;
     }
 
+    $orderinfo->{unitprice} = $orderinfo->{ecost} if not defined $orderinfo->{unitprice} or $orderinfo->{unitprice} eq '';
+
     # if we already have $ordernumber, then it's an ordermodif
     if ($$orderinfo{ordernumber}) {
         ModOrder( $orderinfo);
index 002fbf5..4942571 100755 (executable)
@@ -156,7 +156,7 @@ if ($op eq ""){
 
     # retrieve the file you want to import
     my $import_batch_id = $cgiparams->{'import_batch_id'};
-    my $biblios = GetImportBibliosRange($import_batch_id);
+    my $biblios = GetImportRecordsRange($import_batch_id);
     for my $biblio (@$biblios){
         # 1st insert the biblio, or find it through matcher
         my ( $marcblob, $encoding ) = GetImportRecordMarc( $biblio->{'import_record_id'} );
@@ -191,13 +191,11 @@ if ($op eq ""){
         # 3rd add order
         my $patron = C4::Members->GetMember( borrowernumber => $loggedinuser );
         my $branch = C4::Branch->GetBranchDetail( $patron->{branchcode} );
-        my ($invoice);
         # get quantity in the MARC record (1 if none)
         my $quantity = GetMarcQuantity($marcrecord, C4::Context->preference('marcflavour')) || 1;
         my %orderinfo = (
             "biblionumber", $biblionumber, "basketno", $cgiparams->{'basketno'},
             "quantity", $quantity, "branchcode", $branch, 
-            "booksellerinvoicenumber", $invoice, 
             "budget_id", $budget_id, "uncertainprice", 1,
             "sort1", $cgiparams->{'sort1'},"sort2", $cgiparams->{'sort2'},
             "notes", $cgiparams->{'notes'}, "budget_id", $cgiparams->{'budget_id'},
@@ -207,7 +205,6 @@ if ($op eq ""){
         my $price = GetMarcPrice($marcrecord, C4::Context->preference('marcflavour'));
 
         if ($price){
-            $orderinfo{'listprice'} = $price;
             eval {
                require C4::Acquisition;
                import C4::Acquisition qw/GetBasket/;
@@ -224,13 +221,19 @@ if ($op eq ""){
            }
             my $basket     = GetBasket( $orderinfo{basketno} );
             my $bookseller = GetBookSellerFromId( $basket->{booksellerid} );
-            my $gst        = $bookseller->{gstrate} || C4::Context->preference("gist") || 0;
-            $orderinfo{'unitprice'} = $orderinfo{listprice} - ( $orderinfo{listprice} * ( $bookseller->{discount} / 100 ) );
-            $orderinfo{'ecost'} = $orderinfo{unitprice};
+            $orderinfo{gstrate} = $bookseller->{gstrate};
+            if ( $bookseller->{listincgst} ) {
+                $orderinfo{ecost} = $price;
+            } else {
+                $orderinfo{ecost} = $price * ( 1 + $orderinfo{gstrate} );
+            }
+            $orderinfo{rrp} = ( $orderinfo{ecost} * 100 ) / ( 100 - $bookseller->{discount} );
+            $orderinfo{listprice} = $orderinfo{rrp};
+            $orderinfo{unitprice} = $orderinfo{ecost};
+            $orderinfo{total} = $orderinfo{ecost};
         } else {
             $orderinfo{'listprice'} = 0;
         }
-        $orderinfo{'rrp'} = $orderinfo{'listprice'};
 
         # remove uncertainprice flag if we have found a price in the MARC record
         $orderinfo{uncertainprice} = 0 if $orderinfo{listprice};
@@ -298,10 +301,7 @@ if ($budget) {    # its a mod ..
     }
 } elsif ( scalar(@$budgets) ) {
     $CGIsort1 = GetAuthvalueDropbox(  @$budgets[0]->{'sort1_authcat'}, '' );
-} else {
-    $CGIsort1 = GetAuthvalueDropbox(  '', '' );
 }
-
 # if CGIsort is successfully fetched, the use it
 # else - failback to plain input-field
 if ($CGIsort1) {
@@ -317,10 +317,7 @@ if ($budget) {
     }
 } elsif ( scalar(@$budgets) ) {
     $CGIsort2 = GetAuthvalueDropbox(  @$budgets[0]->{sort2_authcat}, '' );
-} else {
-    $CGIsort2 = GetAuthvalueDropbox( '', '' );
 }
-
 if ($CGIsort2) {
     $template->param( CGIsort2 => $CGIsort2 );
 } else {
@@ -338,7 +335,7 @@ sub import_batches_list {
     foreach my $batch (@$batches) {
         if ($batch->{'import_status'} eq "staged") {
             # check if there is at least 1 line still staged
-            my $stagedList=GetImportBibliosRange($batch->{'import_batch_id'}, undef, undef, 'staged');
+            my $stagedList=GetImportRecordsRange($batch->{'import_batch_id'}, undef, undef, 'staged');
             if (scalar @$stagedList) {
                 my ($staged_date, $staged_hour) = split (/ /, $batch->{'upload_timestamp'});
                 push @list, {
@@ -365,7 +362,7 @@ sub import_batches_list {
 sub import_biblios_list {
     my ($template, $import_batch_id) = @_;
     my $batch = GetImportBatch($import_batch_id,'staged');
-    my $biblios = GetImportBibliosRange($import_batch_id,'','','staged');
+    my $biblios = GetImportRecordsRange($import_batch_id,'','','staged');
     my @list = ();
 
     foreach my $biblio (@$biblios) {
index 9b36c14..ace6b63 100755 (executable)
@@ -130,6 +130,8 @@ if ( $op eq 'delete_confirm' ) {
         authorisedby         => $basket->{authorisedby},
         authorisedbyname     => $basket->{authorisedbyname},
         closedate            => $basket->{closedate},
+        deliveryplace        => $basket->{deliveryplace},
+        billingplace         => $basket->{billingplace},
         active               => $bookseller->{'active'},
         booksellerid         => $bookseller->{'id'},
         name                 => $bookseller->{'name'},
@@ -238,125 +240,60 @@ if ( $op eq 'delete_confirm' ) {
       "loggedinuser: $loggedinuser; creationdate: %s; authorisedby: %s",
       $basket->{creationdate}, $basket->{authorisedby};
 
-       #to get active currency
-       my $cur = GetCurrency();
+    #to get active currency
+    my $cur = GetCurrency();
 
 
     my @results = GetOrders( $basketno );
-    
-       my $gist = $bookseller->{gstrate} // C4::Context->preference("gist") // 0;
-       $gist = 0 if $gist == 0.0000;
-       my $discount = $bookseller->{'discount'} / 100;
-    my $total_rrp = 0;      # RRP Total, its value will be assigned to $total_rrp_gsti or $total_rrp_gste depending of $bookseller->{'listincgst'}
-    my $total_rrp_gsti = 0; # RRP Total, GST included
-    my $total_rrp_gste = 0; # RRP Total, GST excluded
-    my $gist_rrp = 0;
-    my $total_rrp_est = 0;
-
-    my $qty_total;
     my @books_loop;
-    my $suggestion;
 
-    for my $order ( @results ) {
-        my $rrp = $order->{'listprice'} || 0;
-               my $qty = $order->{'quantity'} || 0;
-        if (!defined $order->{quantityreceived}) {
-            $order->{quantityreceived} = 0;
-        }
-        for ( qw(rrp ecost quantityreceived)) {
-            if (!defined $order->{$_}) {
-                $order->{$_} = 0;
-            }
-        }
-
-        my $budget = GetBudget(  $order->{'budget_id'} );
-        $rrp = ConvertCurrency( $order->{'currency'}, $rrp );
-
-        $total_rrp += $qty * $order->{'rrp'};
-        my $line_total = $qty * $order->{'ecost'};
-        $total_rrp_est += $qty * $order->{'ecost'};
-               # FIXME: what about the "actual cost" field?
-        $qty_total += $qty;
-        my %line = %{ $order };
-        my $biblionumber = $order->{'biblionumber'};
-        my $countbiblio = CountBiblioInOrders($biblionumber);
-        my $ordernumber = $order->{'ordernumber'};
-        my @subscriptions = GetSubscriptionsId ($biblionumber);
-        my $itemcount = GetItemsCount($biblionumber);
-        my $holds  = GetHolds ($biblionumber);
-        my @items = GetItemnumbersFromOrder( $ordernumber );
-        my $itemholds;
-        foreach my $item (@items){
-            my $nb = GetItemHolds($biblionumber, $item);
-            if ($nb){
-                $itemholds += $nb;
-            }
-        }
-        # if the biblio is not in other orders and if there is no items elsewhere and no subscriptions and no holds we can then show the link "Delete order and Biblio" see bug 5680
-        $line{can_del_bib}          = 1 if $countbiblio <= 1 && $itemcount == scalar @items && !(@subscriptions) && !($holds);
-        $line{items}                = ($itemcount) - (scalar @items);
-        $line{left_item}            = 1 if $line{items} >= 1;
-        $line{left_biblio}          = 1 if $countbiblio > 1;
-        $line{biblios}              = $countbiblio - 1;
-        $line{left_subscription}    = 1 if scalar @subscriptions >= 1;
-        $line{subscriptions}        = scalar @subscriptions;
-        ($holds >= 1) ? $line{left_holds} = 1 : $line{left_holds} = 0;
-        $line{left_holds_on_order}  = 1 if $line{left_holds}==1 && ($line{items} == 0 || $itemholds );
-        $line{holds}                = $holds;
-        $line{holds_on_order}       = $itemholds?$itemholds:$holds if $line{left_holds_on_order};
-        $line{order_received}       = ( $qty == $order->{'quantityreceived'} );
-        $line{basketno}             = $basketno;
-        $line{budget_name}          = $budget->{budget_name};
-        $line{rrp}                  = sprintf( "%.2f", $line{'rrp'} );
-        $line{ecost}                = sprintf( "%.2f", $line{'ecost'} );
-        $line{line_total}           = sprintf( "%.2f", $line_total );
-        if ($line{uncertainprice}) {
+    my @book_foot_loop;
+    my %foot;
+    my $total_quantity = 0;
+    my $total_gste = 0;
+    my $total_gsti = 0;
+    my $total_gstvalue = 0;
+    for my $order (@results) {
+        my $line = get_order_infos( $order, $bookseller);
+        if ( $line->{uncertainprice} ) {
             $template->param( uncertainprices => 1 );
-            $line{rrp} .= ' (Uncertain)';
         }
-       if ($line{'title'}){
-           my $volume = $order->{'volume'};
-           my $seriestitle = $order->{'seriestitle'};
-           $line{'title'} .= " / $seriestitle" if $seriestitle;
-           $line{'title'} .= " / $volume" if $volume;
-       } else {
-           $line{'title'} = "Deleted bibliographic notice, can't find title.";
-       }
-
-        $suggestion = GetSuggestionInfoFromBiblionumber($line{biblionumber});
-        $line{suggestionid}         = $suggestion->{suggestionid};
-        $line{surnamesuggestedby}   = $suggestion->{surnamesuggestedby};
-        $line{firstnamesuggestedby} = $suggestion->{firstnamesuggestedby};
-
-        push @books_loop, \%line;
+
+        push @books_loop, $line;
+
+        $foot{$$line{gstgsti}}{gstgsti} = $$line{gstgsti};
+        $foot{$$line{gstgsti}}{gstvalue} += $$line{gstvalue};
+        $total_gstvalue += $$line{gstvalue};
+        $foot{$$line{gstgsti}}{quantity}  += $$line{quantity};
+        $total_quantity += $$line{quantity};
+        $foot{$$line{gstgsti}}{totalgste} += $$line{totalgste};
+        $total_gste += $$line{totalgste};
+        $foot{$$line{gstgsti}}{totalgsti} += $$line{totalgsti};
+        $total_gsti += $$line{totalgsti};
     }
 
-my $total_est_gste;
-    my $total_est_gsti;
-    my $gist_est;
-    if ($gist){                                                    # if we have GST
-       if ( $bookseller->{'listincgst'} ) {                        # if prices already includes GST
-           $total_rrp_gsti = $total_rrp;                           # we know $total_rrp_gsti
-           $total_rrp_gste = $total_rrp_gsti / ( $gist + 1 );      # and can reverse compute other values
-           $gist_rrp       = $total_rrp_gsti - $total_rrp_gste;    #
-           $total_est_gste = $total_rrp_gste - ( $total_rrp_gste * $discount );
-           $total_est_gsti = $total_rrp_est;
-        } else {                                                    # if prices does not include GST
-           $total_rrp_gste = $total_rrp;                           # then we use the common way to compute other values
-           $gist_rrp       = $total_rrp_gste * $gist;              #
-           $total_rrp_gsti = $total_rrp_gste + $gist_rrp;          #
-           $total_est_gste = $total_rrp_est;
-           $total_est_gsti = $total_rrp_gsti - ( $total_rrp_gsti * $discount );
-       }
-       $gist_est = $gist_rrp - ( $gist_rrp * $discount );
-    } else {
-    $total_rrp_gsti = $total_rrp;
-    $total_est_gsti = $total_rrp_est;
-}
+    push @book_foot_loop, map {$_} values %foot;
+
+    # Get cancelled orders
+    @results = GetCancelledOrders($basketno);
+    my @cancelledorders_loop;
+    for my $order (@results) {
+        my $line = get_order_infos( $order, $bookseller);
+        push @cancelledorders_loop, $line;
+    }
 
     my $contract = &GetContract($basket->{contractnumber});
     my @orders = GetOrders($basketno);
 
+    if ($basket->{basketgroupid}){
+        my $basketgroup = GetBasketgroup($basket->{basketgroupid});
+        for my $key (keys %$basketgroup ){
+            $basketgroup->{"basketgroup$key"} = delete $basketgroup->{$key};
+        }
+        $basketgroup->{basketgroupdeliveryplace} = C4::Branch::GetBranchName( $basketgroup->{basketgroupdeliveryplace} );
+        $basketgroup->{basketgroupbillingplace} = C4::Branch::GetBranchName( $basketgroup->{basketgroupbillingplace} );
+        $template->param(%$basketgroup);
+    }
     my $borrower= GetMember('borrowernumber' => $loggedinuser);
     my $budgets = GetBudgetHierarchy;
     my $has_budgets = 0;
@@ -387,22 +324,20 @@ my $total_est_gste;
         authorisedbyname     => $basket->{authorisedbyname},
         closedate            => $basket->{closedate},
         estimateddeliverydate=> $estimateddeliverydate,
+        deliveryplace        => C4::Branch::GetBranchName( $basket->{deliveryplace} ),
+        billingplace         => C4::Branch::GetBranchName( $basket->{billingplace} ),
         active               => $bookseller->{'active'},
         booksellerid         => $bookseller->{'id'},
         name                 => $bookseller->{'name'},
         books_loop           => \@books_loop,
+        book_foot_loop       => \@book_foot_loop,
         cancelledorders_loop => \@cancelledorders,
-        gist_rate            => sprintf( "%.2f", $gist * 100 ) . '%',
-        total_rrp_gste       => sprintf( "%.2f", $total_rrp_gste ),
-        total_est_gste       => sprintf( "%.2f", $total_est_gste ),
-        gist_est             => sprintf( "%.2f", $gist_est ),
-        gist_rrp             => sprintf( "%.2f", $gist_rrp ),        
-        total_rrp_gsti       => sprintf( "%.2f", $total_rrp_gsti ),
-        total_est_gsti       => sprintf( "%.2f", $total_est_gsti ),
-#        currency             => $bookseller->{'listprice'},
-       currency                => $cur->{'currency'},
-        qty_total            => $qty_total,
-        GST                  => $gist,
+        total_quantity       => $total_quantity,
+        total_gste           => sprintf( "%.2f", $total_gste ),
+        total_gsti           => sprintf( "%.2f", $total_gsti ),
+        total_gstvalue       => sprintf( "%.2f", $total_gstvalue ),
+        currency             => $cur->{'currency'},
+        listincgst           => $bookseller->{listincgst},
         basketgroups         => $basketgroups,
         grouped              => $basket->{basketgroupid},
         unclosable           => @orders ? 0 : 1, 
@@ -410,4 +345,88 @@ my $total_est_gste;
     );
 }
 
+sub get_order_infos {
+    my $order = shift;
+    my $bookseller = shift;
+    my $qty = $order->{'quantity'} || 0;
+    if ( !defined $order->{quantityreceived} ) {
+        $order->{quantityreceived} = 0;
+    }
+    my $budget = GetBudget( $order->{'budget_id'} );
+
+    my %line = %{ $order };
+    $line{order_received} = ( $qty == $order->{'quantityreceived'} );
+    $line{basketno}       = $basketno;
+    $line{budget_name}    = $budget->{budget_name};
+    $line{rrp} = ConvertCurrency( $order->{'currency'}, $line{rrp} ); # FIXME from comm
+    if ( $bookseller->{'listincgst'} ) {
+        $line{rrpgsti} = sprintf( "%.2f", $line{rrp} );
+        $line{gstgsti} = sprintf( "%.2f", $line{gstrate} * 100 );
+        $line{rrpgste} = sprintf( "%.2f", $line{rrp} / ( 1 + ( $line{gstgsti} / 100 ) ) );
+        $line{gstgste} = sprintf( "%.2f", $line{gstgsti} / ( 1 + ( $line{gstgsti} / 100 ) ) );
+        $line{ecostgsti} = sprintf( "%.2f", $line{ecost} );
+        $line{ecostgste} = sprintf( "%.2f", $line{ecost} / ( 1 + ( $line{gstgsti} / 100 ) ) );
+        $line{gstvalue} = sprintf( "%.2f", ( $line{ecostgsti} - $line{ecostgste} ) * $line{quantity});
+        $line{totalgste} = sprintf( "%.2f", $order->{quantity} * $line{ecostgste} );
+        $line{totalgsti} = sprintf( "%.2f", $order->{quantity} * $line{ecostgsti} );
+    } else {
+        $line{rrpgsti} = sprintf( "%.2f", $line{rrp} * ( 1 + ( $line{gstrate} ) ) );
+        $line{rrpgste} = sprintf( "%.2f", $line{rrp} );
+        $line{gstgsti} = sprintf( "%.2f", $line{gstrate} * 100 );
+        $line{gstgste} = sprintf( "%.2f", $line{gstrate} * 100 );
+        $line{ecostgsti} = sprintf( "%.2f", $line{ecost} * ( 1 + ( $line{gstrate} ) ) );
+        $line{ecostgste} = sprintf( "%.2f", $line{ecost} );
+        $line{gstvalue} = sprintf( "%.2f", ( $line{ecostgsti} - $line{ecostgste} ) * $line{quantity});
+        $line{totalgste} = sprintf( "%.2f", $order->{quantity} * $line{ecostgste} );
+        $line{totalgsti} = sprintf( "%.2f", $order->{quantity} * $line{ecostgsti} );
+    }
+
+    if ( $line{uncertainprice} ) {
+        $line{rrpgste} .= ' (Uncertain)';
+    }
+    if ( $line{'title'} ) {
+        my $volume      = $order->{'volume'};
+        my $seriestitle = $order->{'seriestitle'};
+        $line{'title'} .= " / $seriestitle" if $seriestitle;
+        $line{'title'} .= " / $volume"      if $volume;
+    } else {
+        $line{'title'} = "Deleted bibliographic notice, can't find title.";
+    }
+
+    my $biblionumber = $order->{'biblionumber'};
+    my $countbiblio = CountBiblioInOrders($biblionumber);
+    my $ordernumber = $order->{'ordernumber'};
+    my @subscriptions = GetSubscriptionsId ($biblionumber);
+    my $itemcount = GetItemsCount($biblionumber);
+    my $holds  = GetHolds ($biblionumber);
+    my @items = GetItemnumbersFromOrder( $ordernumber );
+    my $itemholds;
+    foreach my $item (@items){
+        my $nb = GetItemHolds($biblionumber, $item);
+        if ($nb){
+            $itemholds += $nb;
+        }
+    }
+    # if the biblio is not in other orders and if there is no items elsewhere and no subscriptions and no holds we can then show the link "Delete order and Biblio" see bug 5680
+    $line{can_del_bib}          = 1 if $countbiblio <= 1 && $itemcount == scalar @items && !(@subscriptions) && !($holds);
+    $line{items}                = ($itemcount) - (scalar @items);
+    $line{left_item}            = 1 if $line{items} >= 1;
+    $line{left_biblio}          = 1 if $countbiblio > 1;
+    $line{biblios}              = $countbiblio - 1;
+    $line{left_subscription}    = 1 if scalar @subscriptions >= 1;
+    $line{subscriptions}        = scalar @subscriptions;
+    ($holds >= 1) ? $line{left_holds} = 1 : $line{left_holds} = 0;
+    $line{left_holds_on_order}  = 1 if $line{left_holds}==1 && ($line{items} == 0 || $itemholds );
+    $line{holds}                = $holds;
+    $line{holds_on_order}       = $itemholds?$itemholds:$holds if $line{left_holds_on_order};
+
+
+    my $suggestion   = GetSuggestionInfoFromBiblionumber($line{biblionumber});
+    $line{suggestionid}         = $$suggestion{suggestionid};
+    $line{surnamesuggestedby}   = $$suggestion{surnamesuggestedby};
+    $line{firstnamesuggestedby} = $$suggestion{firstnamesuggestedby};
+
+    return \%line;
+}
+
 output_html_with_http_headers $query, $cookie, $template->output;
index ac0672c..6b7e5bf 100755 (executable)
@@ -328,30 +328,11 @@ if ( $op eq "add" ) {
         my $borrower = GetMember( ( 'borrowernumber' => $loggedinuser ) );
         $billingplace  = $billingplace  || $borrower->{'branchcode'};
         $deliveryplace = $deliveryplace || $borrower->{'branchcode'};
-        
-        my $branches = GetBranches;
-        
-        # Build the combobox to select the billing place
-        my @billingplaceloop;
-        for (sort keys %$branches) {
-            push @billingplaceloop, {
-                value      => $_,
-                selected   => $_ eq $billingplace,
-                branchname => $branches->{$_}->{branchname},
-            };
-        }
-        $template->param( billingplaceloop => \@billingplaceloop );
-        
-        # Build the combobox to select the delivery place
-        my @deliveryplaceloop;
-        for (sort keys %$branches) {
-            push @deliveryplaceloop, {
-                value      => $_,
-                selected   => $_ eq $deliveryplace,
-                branchname => $branches->{$_}->{branchname},
-            };
-        }
-        $template->param( deliveryplaceloop => \@deliveryplaceloop );
+
+        my $branches = C4::Branch::GetBranchesLoop( $billingplace );
+        $template->param( billingplaceloop => $branches );
+        $branches = C4::Branch::GetBranchesLoop( $deliveryplace );
+        $template->param( deliveryplaceloop => $branches );
 
         $template->param( booksellerid => $booksellerid );
     }
index 08b38eb..8f75f40 100755 (executable)
@@ -50,6 +50,7 @@ use warnings;
 use CGI;
 use C4::Context;
 use C4::Auth;
+use C4::Branch;
 use C4::Output;
 use C4::Acquisition qw/GetBasket NewBasket GetContracts ModBasketHeader/;
 use C4::Bookseller qw/GetBookSellerFromId GetBookSeller/;
@@ -70,6 +71,7 @@ my ( $template, $loggedinuser, $cookie ) = get_template_and_user(
 #parameters:
 my $booksellerid = $input->param('booksellerid');
 my $basketno = $input->param('basketno');
+my $branches = GetBranches;
 my $basket;
 my $op = $input ->param('op');
 my $is_an_edit= $input ->param('is_an_edit');
@@ -100,7 +102,7 @@ if ( $op eq 'add_form' ) {
         $template->param(contractloop => \@contractloop,
                          basketcontractnumber => $basket->{'contractnumber'});
     }
-    my @booksellers = GetBookSeller();
+    my @booksellers = C4::Bookseller::GetBookSeller();
     $template->param( add_form => 1,
                     basketname => $basket->{'basketname'},
                     basketnote => $basket->{'note'},
@@ -109,16 +111,47 @@ if ( $op eq 'add_form' ) {
                     booksellerid => $booksellerid,
                     basketno => $basketno,
                     booksellers => \@booksellers,
-       );
+                    deliveryplace => $basket->{deliveryplace},
+                    billingplace => $basket->{billingplace},
+    );
+
+    my $billingplace = $basket->{'billingplace'} || C4::Context->userenv->{"branch"};
+    my $deliveryplace = $basket->{'deliveryplace'} || C4::Context->userenv->{"branch"};
+
+    # Build the combobox to select the billing place
+    my @billingplaceloop;
+
+    my $branches = C4::Branch::GetBranchesLoop( $billingplace );
+    $template->param( billingplaceloop => $branches );
+    $branches = C4::Branch::GetBranchesLoop( $deliveryplace );
+    $template->param( deliveryplaceloop => $branches );
+
 #End Edit
 } elsif ( $op eq 'add_validate' ) {
 #we are confirming the changes, save the basket
-    my $basketno;
     if ( $is_an_edit ) {
-        $basketno = $input->param('basketno');
-        ModBasketHeader( $input->param('basketno'), $input->param('basketname'), $input->param('basketnote'), $input->param('basketbooksellernote'), $input->param('basketcontractnumber') || undef, $input->param('basketbooksellerid') );
+        ModBasketHeader(
+            $basketno,
+            $input->param('basketname'),
+            $input->param('basketnote'),
+            $input->param('basketbooksellernote'),
+            $input->param('basketcontractnumber') || undef,
+            $input->param('basketbooksellerid'),
+            $input->param('deliveryplace'),
+            $input->param('billingplace'),
+        );
     } else { #New basket
-        $basketno = NewBasket($booksellerid, $loggedinuser, $input->param('basketname'), $input->param('basketnote'), $input->param('basketbooksellernote'), $input->param('basketcontractnumber'));
+        $basketno = NewBasket(
+            $booksellerid,
+            $loggedinuser,
+            $input->param('basketname'),
+            $input->param('basketnote'),
+            $input->param('basketbooksellernote'),
+            $input->param('basketcontractnumber') || undef,
+            undef,
+            $input->param('deliveryplace'),
+            $input->param('billingplace'),
+        );
     }
     print $input->redirect('basket.pl?basketno='.$basketno);
     exit 0;
index 2dfeb81..ce47fb7 100755 (executable)
@@ -54,40 +54,54 @@ Sort number. 1 or 2 for the moment.
 my $input = new CGI;
 
 my $budget_id = $input->param('budget_id');
-my $sort_id   = $input->param('sort');
+my $sort_nb   = $input->param('sort');
+die "sort parameter can only be 1 or 2" unless ($sort_nb == 1 || $sort_nb == 2);
 
 my ( $template, $loggedinuser, $cookie ) = get_template_and_user(
     {   template_name   => "acqui/ajax.tmpl",
         query           => $input,
         type            => "intranet",
         authnotrequired => 0,
-        flagsrequired => {editcatalogue => 'edit_catalogue'},
+        flagsrequired => {acquisition => 'order_manage'},
         debug => 0,
     }
 );
 
-my $budget = GetBudget($budget_id);
-my $dropbox_values = GetAuthvalueDropbox( $budget->{'sort'.$sort_id.'_authcat'}, '' );
+my $ret_html;
+my $name = 'sort'.$sort_nb;
+my $authcat_field = 'sort'.$sort_nb.'_authcat';
 
-my @authorised_values;
-my %authorised_lib;
+my $budget = GetBudget($budget_id);
 
-foreach ( @$dropbox_values) {
-    push @authorised_values, $_->{value};
-    $authorised_lib{$_->{value}} = $_->{label};
-}
+if ( $budget && $budget->{$authcat_field} ) {
+    # with custom  Asort* planning values
+    my $dropbox_values = GetAuthvalueDropbox( $budget->{$authcat_field}, '' );
 
-my $budget_authvalue_dropbox = CGI::scrolling_list(
-    -values   => \@authorised_values,
-    -labels   => \%authorised_lib,
-    -default  => $authorised_values[0],
-);
+    my @authorised_values;
+    my %authorised_lib;
+    my $default_value;
 
+    foreach ( @$dropbox_values) {
+        push @authorised_values, $_->{value};
+        $authorised_lib{$_->{value}} = $_->{label};
+        $default_value = $_->{value} if $_->{'default'};
+    }
 
-# strip off select tags
-$budget_authvalue_dropbox =~ s/^\<select.*?\"\>//;
-$budget_authvalue_dropbox =~ s/\<\/select\>$//;
-chomp $budget_authvalue_dropbox;
+    $ret_html = CGI::scrolling_list(
+        -values   => \@authorised_values,
+        -labels   => \%authorised_lib,
+        -default  => $default_value,
+        -override => 1,
+        -size     => 1,
+        -multiple => 0,
+        -name     => $name,
+        -id       => $name,
+    );
+
+} else {
+    # free input
+    $ret_html = '<input type="text" size="20" name="'.$name.'" id="'.$name.'" />';
+}
 
-$template->param( return => $budget_authvalue_dropbox );
+$template->param( 'return' => $ret_html );
 output_html_with_http_headers $input, $cookie, $template->output;
index 84391f5..565ac36 100755 (executable)
@@ -28,6 +28,7 @@ use C4::Output;
 use C4::Context;
 use C4::Acquisition;
 use C4::Biblio;
+use C4::Bookseller;
 use C4::Items;
 use C4::Search;
 use List::MoreUtils qw/any/;
@@ -37,27 +38,69 @@ my $flagsrequired = {acquisition => 'order_receive'};
 
 checkauth($input, 0, $flagsrequired, 'intranet');
 
-my $user=$input->remote_user;
-my $biblionumber = $input->param('biblionumber');
-my $biblioitemnumber=$input->param('biblioitemnumber');
-my $ordernumber=$input->param('ordernumber');
-my $origquantityrec=$input->param('origquantityrec');
-my $quantityrec=$input->param('quantityrec');
-my $quantity=$input->param('quantity');
-my $unitprice=$input->param('cost');
-my $invoiceno=$input->param('invoice');
-my $datereceived=$input->param('datereceived');
-my $replacement=$input->param('rrp');
-my $gst=$input->param('gst');
-my $freight=$input->param('freight');
-my $booksellerid = $input->param('booksellerid');
-my $cnt=0;
+my $user             = $input->remote_user;
+my $biblionumber     = $input->param('biblionumber');
+my $biblioitemnumber = $input->param('biblioitemnumber');
+my $ordernumber      = $input->param('ordernumber');
+my $origquantityrec  = $input->param('origquantityrec');
+my $quantityrec      = $input->param('quantityrec');
+my $quantity         = $input->param('quantity');
+my $unitprice        = $input->param('cost');
+my $invoiceid        = $input->param('invoiceid');
+my $invoice          = GetInvoice($invoiceid);
+my $invoiceno        = $invoice->{invoicenumber};
+my $datereceived     = $invoice->{shipmentdate};
+my $booksellerid     = $input->param('booksellerid');
+my $cnt              = 0;
 my $error_url_str;
-my $ecost = $input->param('ecost');
-my $note = $input->param("note");
+my $ecost            = $input->param('ecost');
+my $rrp              = $input->param('rrp');
+my $note             = $input->param("note");
+my $order            = GetOrder($ordernumber);
 
 #need old recievedate if we update the order, parcel.pl only shows the right parcel this way FIXME
 if ($quantityrec > $origquantityrec ) {
+    my @received_items = ();
+    if(C4::Context->preference('AcqCreateItem') eq 'ordering') {
+        @received_items = $input->param('items_to_receive');
+    }
+
+    $order->{rrp} = $rrp;
+    $order->{ecost} = $ecost;
+    $order->{unitprice} = $unitprice;
+    my $bookseller = C4::Bookseller::GetBookSellerFromId($booksellerid);
+    if ( $bookseller->{listincgst} ) {
+        if ( not $bookseller->{invoiceincgst} ) {
+            $order->{rrp} = $order->{rrp} * ( 1 + $order->{gstrate} );
+            $order->{ecost} = $order->{ecost} * ( 1 + $order->{gstrate} );
+            $order->{unitprice} = $order->{unitprice} * ( 1 + $order->{gstrate} );
+        }
+    } else {
+        if ( $bookseller->{invoiceincgst} ) {
+            $order->{rrp} = $order->{rrp} / ( 1 + $order->{gstrate} );
+            $order->{ecost} = $order->{ecost} / ( 1 + $order->{gstrate} );
+            $order->{unitprice} = $order->{unitprice} / ( 1 + $order->{gstrate} );
+        }
+    }
+
+    my $new_ordernumber = $ordernumber;
+    # save the quantity received.
+    if ( $quantityrec > 0 ) {
+        ($datereceived, $new_ordernumber) = ModReceiveOrder(
+            $biblionumber,
+            $ordernumber,
+            $quantityrec,
+            $user,
+            $order->{unitprice},
+            $order->{ecost},
+            $invoiceno,
+            $order->{rrp},
+            undef,
+            $datereceived,
+            \@received_items,
+        );
+    }
+
     # now, add items if applicable
     if (C4::Context->preference('AcqCreateItem') eq 'receiving') {
 
@@ -91,22 +134,15 @@ if ($quantityrec > $origquantityrec ) {
                                           $itemhash{$item}->{'indicator'},'ITEM');
             my $record=MARC::Record::new_from_xml($xml, 'UTF-8');
             my (undef,$bibitemnum,$itemnumber) = AddItemFromMarc($record,$biblionumber);
-            NewOrderItem($itemnumber, $ordernumber);
+            NewOrderItem($itemnumber, $new_ordernumber);
         }
     }
 
-    my @received_items = ();
-    if(C4::Context->preference('AcqCreateItem') eq 'ordering') {
-        @received_items = $input->param('items_to_receive');
-    }
-
-    # save the quantity received.
-    $datereceived = ModReceiveOrder($biblionumber,$ordernumber, $quantityrec ,$user,$unitprice,$invoiceno,$freight,$replacement,undef,$datereceived, \@received_items);
 }
 
 update_item( $_ ) foreach GetItemnumbersFromOrder( $ordernumber );
 
-print $input->redirect("/cgi-bin/koha/acqui/parcel.pl?invoice=$invoiceno&booksellerid=$booksellerid&freight=$freight&gst=$gst&datereceived=$datereceived$error_url_str");
+print $input->redirect("/cgi-bin/koha/acqui/parcel.pl?invoiceid=$invoiceid");
 
 ################################ End of script ################################
 
@@ -117,7 +153,7 @@ sub update_item {
         booksellerid         => $booksellerid,
         dateaccessioned      => $datereceived,
         price                => $unitprice,
-        replacementprice     => $replacement,
+        replacementprice     => $rrp,
         replacementpricedate => $datereceived,
     }, $biblionumber, $itemnumber );
 }
index 7f799b5..e89bcae 100755 (executable)
@@ -65,6 +65,7 @@ my $isbn                    = $input->param('isbn');
 my $name                    = $input->param( 'name' );
 my $ean                     = $input->param('ean');
 my $basket                  = $input->param( 'basket' );
+my $basketgroupname             = $input->param('basketgroupname');
 my $booksellerinvoicenumber = $input->param( 'booksellerinvoicenumber' );
 my $do_search               = $input->param('do_search') || 0;
 my $from_placed_on          = C4::Dates->new($input->param('from'));
@@ -108,6 +109,7 @@ if ($do_search) {
         to_placed_on => $to_iso,
         basket => $basket,
         booksellerinvoicenumber => $booksellerinvoicenumber,
+        basketgroupname => $basketgroupname,
     );
 }
 
@@ -127,6 +129,7 @@ $template->param(
     name                    => $name,
     basket                  => $basket,
     booksellerinvoicenumber => $booksellerinvoicenumber,
+    basketgroupname         => $basketgroupname,
     from_placed_on          => $from_date,
     to_placed_on            => $to_date,
     DHTMLcalendar_dateformat=> C4::Dates->DHTMLcalendar(),
diff --git a/acqui/invoice.pl b/acqui/invoice.pl
new file mode 100755 (executable)
index 0000000..7c51ebc
--- /dev/null
@@ -0,0 +1,232 @@
+#!/usr/bin/perl
+
+# Copyright 2011 BibLibre SARL
+# This file is part of Koha.
+#
+# Koha is free software; you can redistribute it and/or modify it under the
+# terms of the GNU General Public License as published by the Free Software
+# Foundation; either version 2 of the License, or (at your option) any later
+# version.
+#
+# Koha is distributed in the hope that it will be useful, but WITHOUT ANY
+# WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR
+# A PARTICULAR PURPOSE.  See the GNU General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License along
+# with Koha; if not, write to the Free Software Foundation, Inc.,
+# 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
+
+=head1 NAME
+
+invoice.pl
+
+=head1 DESCRIPTION
+
+Invoice details
+
+=cut
+
+use strict;
+use warnings;
+
+use CGI;
+use C4::Auth;
+use C4::Output;
+use C4::Acquisition;
+use C4::Bookseller qw/GetBookSellerFromId/;
+use C4::Budgets;
+
+my $input = new CGI;
+my ( $template, $loggedinuser, $cookie, $flags ) = get_template_and_user(
+    {
+        template_name   => 'acqui/invoice.tmpl',
+        query           => $input,
+        type            => 'intranet',
+        authnotrequired => 0,
+        flagsrequired   => { 'acquisition' => '*' },
+        debug           => 1,
+    }
+);
+
+my $invoiceid = $input->param('invoiceid');
+my $op        = $input->param('op');
+
+if ( $op && $op eq 'close' ) {
+    CloseInvoice($invoiceid);
+    my $referer = $input->param('referer');
+    if ($referer) {
+        print $input->redirect($referer);
+        exit 0;
+    }
+}
+elsif ( $op && $op eq 'reopen' ) {
+    ReopenInvoice($invoiceid);
+    my $referer = $input->param('referer');
+    if ($referer) {
+        print $input->redirect($referer);
+        exit 0;
+    }
+}
+elsif ( $op && $op eq 'mod' ) {
+    my $shipmentdate       = $input->param('shipmentdate');
+    my $billingdate        = $input->param('billingdate');
+    my $shipmentcost       = $input->param('shipmentcost');
+    my $shipment_budget_id = $input->param('shipment_budget_id');
+    ModInvoice(
+        invoiceid             => $invoiceid,
+        shipmentdate          => C4::Dates->new($shipmentdate)->output("iso"),
+        billingdate           => C4::Dates->new($billingdate)->output("iso"),
+        shipmentcost          => $shipmentcost,
+        shipmentcost_budgetid => $shipment_budget_id
+    );
+    if ($input->param('reopen')) {
+        ReopenInvoice($invoiceid);
+    } elsif ($input->param('close')) {
+        CloseInvoice($invoiceid);
+    }
+    $template->param( modified => 1 );
+}
+
+my $details     = GetInvoiceDetails($invoiceid);
+my $bookseller  = GetBookSellerFromId( $details->{booksellerid} );
+my @orders_loop = ();
+my $orders      = $details->{'orders'};
+my $qty_total;
+my @books_loop;
+my @book_foot_loop;
+my %foot;
+my $total_quantity = 0;
+my $total_rrp      = 0;
+my $total_est      = 0;
+
+foreach my $order (@$orders) {
+    my $line = get_infos( $order, $bookseller );
+
+    $total_quantity += $$line{quantity};
+    $total_rrp      += $order->{quantity} * $order->{rrp};
+    $total_est      += $order->{quantity} * $order->{'ecost'};
+
+    my %row = ( %$order, %$line );
+    push @orders_loop, \%row;
+}
+
+my $gist = $bookseller->{gstrate} // C4::Context->preference("gist") // 0;
+my $discount =
+  $bookseller->{'discount'} ? ( $bookseller->{discount} / 100 ) : 0;
+my $total_est_gste;
+my $total_est_gsti;
+my $total_rrp_gsti;    # RRP Total, GST included
+my $total_rrp_gste;    # RRP Total, GST excluded
+my $gist_est;
+my $gist_rrp;
+if ($gist) {
+
+    # if we have GST
+    if ( $bookseller->{'listincgst'} ) {
+
+        # if prices already includes GST
+
+        # we know $total_rrp_gsti
+        $total_rrp_gsti = $total_rrp;
+
+        # and can reverse compute other values
+        $total_rrp_gste = $total_rrp_gsti / ( $gist + 1 );
+
+        $gist_rrp       = $total_rrp_gsti - $total_rrp_gste;
+        $total_est_gste = $total_rrp_gste - ( $total_rrp_gste * $discount );
+        $total_est_gsti = $total_est;
+    }
+    else {
+        # if prices does not include GST
+
+        # then we use the common way to compute other values
+        $total_rrp_gste = $total_rrp;
+        $gist_rrp       = $total_rrp_gste * $gist;
+        $total_rrp_gsti = $total_rrp_gste + $gist_rrp;
+        $total_est_gste = $total_est;
+        $total_est_gsti = $total_rrp_gsti - ( $total_rrp_gsti * $discount );
+    }
+    $gist_est = $gist_rrp - ( $gist_rrp * $discount );
+}
+else {
+    $total_rrp_gste = $total_rrp_gsti = $total_rrp;
+    $total_est_gste = $total_est_gsti = $total_est;
+    $gist_rrp       = $gist_est       = 0;
+}
+my $total_gsti_shipment = $total_est_gsti + $details->{shipmentcost};
+
+my $format = "%.2f";
+$template->param(
+    total_rrp_gste      => sprintf( $format, $total_rrp_gste ),
+    total_rrp_gsti      => sprintf( $format, $total_rrp_gsti ),
+    total_est_gste      => sprintf( $format, $total_est_gste ),
+    total_est_gsti      => sprintf( $format, $total_est_gsti ),
+    gist_rrp            => sprintf( $format, $gist_rrp ),
+    gist_est            => sprintf( $format, $gist_est ),
+    total_gsti_shipment => sprintf( $format, $total_gsti_shipment ),
+    gist                => sprintf( $format, $gist * 100 ),
+);
+
+my $budgets = GetBudgets();
+my @budgets_loop;
+my $shipmentcost_budgetid = $details->{shipmentcost_budgetid};
+foreach my $budget (@$budgets) {
+    next unless CanUserUseBudget( $loggedinuser, $budget, $flags );
+    my %line = %{$budget};
+    if (    $shipmentcost_budgetid
+        and $budget->{budget_id} == $shipmentcost_budgetid )
+    {
+        $line{selected} = 1;
+    }
+    push @budgets_loop, \%line;
+}
+
+$template->param(
+    invoiceid        => $details->{'invoiceid'},
+    invoicenumber    => $details->{'invoicenumber'},
+    suppliername     => $details->{'suppliername'},
+    supplierid       => $details->{'booksellerid'},
+    datereceived     => $details->{'datereceived'},
+    shipmentdate     => $details->{'shipmentdate'},
+    billingdate      => $details->{'billingdate'},
+    invoiceclosedate => $details->{'closedate'},
+    shipmentcost     => sprintf( $format, $details->{'shipmentcost'} || 0 ),
+    orders_loop      => \@orders_loop,
+    total_quantity   => $total_quantity,
+    invoiceincgst    => $bookseller->{invoiceincgst},
+    currency         => $bookseller->{listprice},
+    DHTMLcalendar_dateformat => C4::Dates->DHTMLcalendar(),
+    budgets_loop             => \@budgets_loop,
+);
+
+sub get_infos {
+    my $order      = shift;
+    my $bookseller = shift;
+    my $qty        = $order->{'quantity'} || 0;
+    if ( !defined $order->{quantityreceived} ) {
+        $order->{quantityreceived} = 0;
+    }
+    my $budget = GetBudget( $order->{'budget_id'} );
+
+    my %line = %{$order};
+    $line{order_received} = ( $qty == $order->{'quantityreceived'} );
+    $line{budget_name}    = $budget->{budget_name};
+    $line{total}          = $qty * $order->{ecost};
+
+    if ( $line{uncertainprice} ) {
+        $line{rrp} .= ' (Uncertain)';
+    }
+    if ( $line{'title'} ) {
+        my $volume      = $order->{'volume'};
+        my $seriestitle = $order->{'seriestitle'};
+        $line{'title'} .= " / $seriestitle" if $seriestitle;
+        $line{'title'} .= " / $volume"      if $volume;
+    }
+    else {
+        $line{'title'} = "Deleted bibliographic notice, can't find title.";
+    }
+
+    return \%line;
+}
+
+output_html_with_http_headers $input, $cookie, $template->output;
diff --git a/acqui/invoices.pl b/acqui/invoices.pl
new file mode 100755 (executable)
index 0000000..4b45e31
--- /dev/null
@@ -0,0 +1,157 @@
+#!/usr/bin/perl
+
+# Copyright 2011 BibLibre SARL
+# This file is part of Koha.
+#
+# Koha is free software; you can redistribute it and/or modify it under the
+# terms of the GNU General Public License as published by the Free Software
+# Foundation; either version 2 of the License, or (at your option) any later
+# version.
+#
+# Koha is distributed in the hope that it will be useful, but WITHOUT ANY
+# WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR
+# A PARTICULAR PURPOSE.  See the GNU General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License along
+# with Koha; if not, write to the Free Software Foundation, Inc.,
+# 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
+
+=head1 NAME
+
+invoices.pl
+
+=head1 DESCRIPTION
+
+Search for invoices
+
+=cut
+
+use strict;
+use warnings;
+
+use CGI;
+use C4::Auth;
+use C4::Output;
+
+use C4::Acquisition;
+use C4::Bookseller qw/GetBookSeller/;
+use C4::Branch;
+
+my $input = new CGI;
+my ( $template, $loggedinuser, $cookie, $flags ) = get_template_and_user(
+    {
+        template_name   => 'acqui/invoices.tmpl',
+        query           => $input,
+        type            => 'intranet',
+        authnotrequired => 0,
+        flagsrequired   => { 'acquisition' => '*' },
+        debug           => 1,
+    }
+);
+
+my $invoicenumber    = $input->param('invoicenumber');
+my $supplier         = $input->param('supplier');
+my $shipmentdatefrom = $input->param('shipmentdatefrom');
+my $shipmentdateto   = $input->param('shipmentdateto');
+my $billingdatefrom  = $input->param('billingdatefrom');
+my $billingdateto    = $input->param('billingdateto');
+my $isbneanissn      = $input->param('isbneanissn');
+my $title            = $input->param('title');
+my $author           = $input->param('author');
+my $publisher        = $input->param('publisher');
+my $publicationyear  = $input->param('publicationyear');
+my $branch           = $input->param('branch');
+my $op               = $input->param('op');
+
+my @results_loop = ();
+if ( $op and $op eq "do_search" ) {
+    my $shipmentdatefrom_iso = C4::Dates->new($shipmentdatefrom)->output("iso");
+    my $shipmentdateto_iso   = C4::Dates->new($shipmentdateto)->output("iso");
+    my $billingdatefrom_iso  = C4::Dates->new($billingdatefrom)->output("iso");
+    my $billingdateto_iso    = C4::Dates->new($billingdateto)->output("iso");
+    my @invoices             = GetInvoices(
+        invoicenumber    => $invoicenumber,
+        suppliername     => $supplier,
+        shipmentdatefrom => $shipmentdatefrom_iso,
+        shipmentdateto   => $shipmentdateto_iso,
+        billingdatefrom  => $billingdatefrom_iso,
+        billingdateto    => $billingdateto_iso,
+        isbneanissn      => $isbneanissn,
+        title            => $title,
+        author           => $author,
+        publisher        => $publisher,
+        publicationyear  => $publicationyear,
+        branchcode       => $branch
+    );
+    foreach (@invoices) {
+        my %row = (
+            invoiceid       => $_->{invoiceid},
+            billingdate     => $_->{billingdate},
+            invoicenumber   => $_->{invoicenumber},
+            suppliername    => $_->{suppliername},
+            receivedbiblios => $_->{receivedbiblios},
+            receiveditems   => $_->{receiveditems},
+            subscriptionid  => $_->{subscriptionid},
+            closedate       => $_->{closedate},
+        );
+        push @results_loop, \%row;
+    }
+}
+
+# Build suppliers list
+my @suppliers      = GetBookSeller(undef);
+my @suppliers_loop = ();
+my $suppliername;
+foreach (@suppliers) {
+    my $selected = 0;
+    if ( $supplier && $supplier == $_->{'id'} ) {
+        $selected     = 1;
+        $suppliername = $_->{'name'};
+    }
+    my %row = (
+        suppliername => $_->{'name'},
+        supplierid   => $_->{'id'},
+        selected     => $selected,
+    );
+    push @suppliers_loop, \%row;
+}
+
+# Build branches list
+my $branches      = GetBranches();
+my @branches_loop = ();
+my $branchname;
+foreach ( sort keys %$branches ) {
+    my $selected = 0;
+    if ( $branch && $branch eq $_ ) {
+        $selected   = 1;
+        $branchname = $branches->{$_}->{'branchname'};
+    }
+    my %row = (
+        branchcode => $_,
+        branchname => $branches->{$_}->{'branchname'},
+        selected   => $selected,
+    );
+    push @branches_loop, \%row;
+}
+
+$template->param(
+    do_search => ( $op and $op eq "do_search" ) ? 1 : 0,
+    results_loop             => \@results_loop,
+    invoicenumber            => $invoicenumber,
+    supplier                 => $supplier,
+    suppliername             => $suppliername,
+    billingdatefrom          => $billingdatefrom,
+    billingdateto            => $billingdateto,
+    isbneanissn              => $isbneanissn,
+    title                    => $title,
+    author                   => $author,
+    publisher                => $publisher,
+    publicationyear          => $publicationyear,
+    branch                   => $branch,
+    branchname               => $branchname,
+    suppliers_loop           => \@suppliers_loop,
+    branches_loop            => \@branches_loop,
+    DHTMLcalendar_dateformat => C4::Dates->DHTMLcalendar(),
+);
+
+output_html_with_http_headers $input, $cookie, $template->output;
index 3c66eb8..544370d 100755 (executable)
@@ -43,8 +43,7 @@ To know on which branch this script have to display late order.
 
 =cut
 
-use strict;
-use warnings;
+use Modern::Perl;
 use CGI;
 use C4::Bookseller qw( GetBooksellersWithLateOrders );
 use C4::Auth;
@@ -54,6 +53,7 @@ use C4::Context;
 use C4::Acquisition;
 use C4::Letters;
 use C4::Branch; # GetBranches
+use Koha::DateUtils;
 
 my $input = new CGI;
 my ($template, $loggedinuser, $cookie) = get_template_and_user({
@@ -66,9 +66,32 @@ my ($template, $loggedinuser, $cookie) = get_template_and_user({
 });
 
 my $booksellerid = $input->param('booksellerid') || undef; # we don't want "" or 0
-my $delay      = $input->param('delay');
+my $delay        = $input->param('delay');
+
+# Get the "date from" param if !defined is today
 my $estimateddeliverydatefrom = $input->param('estimateddeliverydatefrom');
 my $estimateddeliverydateto   = $input->param('estimateddeliverydateto');
+
+my $estimateddeliverydatefrom_dt =
+  $estimateddeliverydatefrom
+  ? dt_from_string($estimateddeliverydatefrom)
+  : undef;
+
+# Get the "date to" param. If it is not defined and $delay is not defined too, it is the today's date.
+my $estimateddeliverydateto_dt = $estimateddeliverydateto
+    ? dt_from_string($estimateddeliverydateto)
+    : ( not defined $delay and not defined $estimateddeliverydatefrom)
+        ? dt_from_string()
+        : undef;
+
+# Format the output of "date from" and "date to"
+if ($estimateddeliverydatefrom_dt) {
+    $estimateddeliverydatefrom = output_pref($estimateddeliverydatefrom_dt, undef, 1);
+}
+if ($estimateddeliverydateto_dt) {
+    $estimateddeliverydateto = output_pref($estimateddeliverydateto_dt, undef, 1);
+}
+
 my $branch     = $input->param('branch');
 my $op         = $input->param('op');
 
@@ -95,12 +118,16 @@ if ($op and $op eq "send_alert"){
     }
 }
 
-my %supplierlist = GetBooksellersWithLateOrders(
-    $delay,
-    $branch,
-    C4::Dates->new($estimateddeliverydatefrom)->output("iso"),
-    C4::Dates->new($estimateddeliverydateto)->output("iso")
-);
+my @parameters = ( $delay, $branch );
+push @parameters, $estimateddeliverydatefrom_dt
+    ? $estimateddeliverydatefrom_dt->ymd()
+    : undef;
+
+push @parameters, $estimateddeliverydateto_dt
+    ? $estimateddeliverydateto_dt->ymd()
+    : undef;
+
+my %supplierlist = GetBooksellersWithLateOrders(@parameters);
 
 my (@sloopy);  # supplier loop
 foreach (keys %supplierlist){
@@ -113,13 +140,18 @@ $template->param(SUPPLIER_LOOP => \@sloopy);
 $template->param(Supplier=>$supplierlist{$booksellerid}) if ($booksellerid);
 $template->param(booksellerid=>$booksellerid) if ($booksellerid);
 
-my @lateorders = GetLateOrders(
-    $delay,
-    $booksellerid,
-    $branch,
-    C4::Dates->new($estimateddeliverydatefrom)->output("iso"),
-    C4::Dates->new($estimateddeliverydateto)->output("iso")
-);
+@parameters =
+  ( $delay, $booksellerid, $branch );
+if ($estimateddeliverydatefrom_dt) {
+    push @parameters, $estimateddeliverydatefrom_dt->ymd();
+}
+else {
+    push @parameters, undef;
+}
+if ($estimateddeliverydateto_dt) {
+    push @parameters, $estimateddeliverydateto_dt->ymd();
+}
+my @lateorders = GetLateOrders( @parameters );
 
 my $total;
 foreach (@lateorders){
index a461a1b..4144033 100755 (executable)
@@ -281,8 +281,6 @@ if ($budget) {    # its a mod ..
     }
 } elsif(@{$budgets}){
     $CGIsort1 = GetAuthvalueDropbox(  @$budgets[0]->{'sort1_authcat'}, '' );
-}else{
-    $CGIsort1 = GetAuthvalueDropbox( '', '' );
 }
 
 # if CGIsort is successfully fetched, the use it
@@ -300,8 +298,6 @@ if ($budget) {
     }
 } elsif(@{$budgets}) {
     $CGIsort2 = GetAuthvalueDropbox(  @$budgets[0]->{sort2_authcat}, '' );
-}else{
-    $CGIsort2 = GetAuthvalueDropbox( '', '' );
 }
 
 if ($CGIsort2) {
@@ -335,6 +331,13 @@ $template->param(
     budget_name  => $budget_name
 ) if ($close);
 
+# get option values for gist syspref
+my @gst_values = map {
+    option => $_
+}, split( '\|', C4::Context->preference("gist") );
+
+my $cur = GetCurrency();
+
 $template->param(
     existing         => $biblionumber,
     ordernumber           => $ordernumber,
@@ -354,18 +357,21 @@ $template->param(
     suggestionid         => $suggestion->{suggestionid},
     surnamesuggestedby   => $suggestion->{surnamesuggestedby},
     firstnamesuggestedby => $suggestion->{firstnamesuggestedby},
-    biblionumber     => $biblionumber,
-    uncertainprice   => $data->{'uncertainprice'},
-    authorisedbyname => $borrower->{'firstname'} . " " . $borrower->{'surname'},
-    biblioitemnumber => $data->{'biblioitemnumber'},
-    discount_2dp     => sprintf( "%.2f",  $bookseller->{'discount'}) ,   # for display
-    discount         => $bookseller->{'discount'},
+    biblionumber         => $biblionumber,
+    uncertainprice       => $data->{'uncertainprice'},
+    authorisedbyname     => $borrower->{'firstname'} . " " . $borrower->{'surname'},
+    biblioitemnumber     => $data->{'biblioitemnumber'},
+    discount_2dp         => sprintf( "%.2f",  $bookseller->{'discount'} ) ,   # for display
+    discount             => $bookseller->{'discount'},
+    orderdiscount_2dp    => sprintf( "%.2f", $data->{'discount'} || 0 ),
+    orderdiscount        => $data->{'discount'},
     listincgst       => $bookseller->{'listincgst'},
     invoiceincgst    => $bookseller->{'invoiceincgst'},
     name             => $bookseller->{'name'},
     cur_active_sym   => $active_currency->{'symbol'},
     cur_active       => $active_currency->{'currency'},
     loop_currencies  => \@loop_currency,
+    currency_rate    => $cur->{rate},
     orderexists      => ( $new eq 'yes' ) ? 0 : 1,
     title            => $data->{'title'},
     author           => $data->{'author'},
@@ -379,19 +385,17 @@ $template->param(
     quantity         => $data->{'quantity'},
     quantityrec      => $data->{'quantity'},
     rrp              => $data->{'rrp'},
-    listprice        => sprintf("%.2f", $data->{'listprice'}||$data->{'price'}||$listprice),
-    total            => sprintf("%.2f", ($data->{'ecost'}||0)*($data->{'quantity'}||0) ),
-    ecost            => $data->{'ecost'},
-    unitprice        => sprintf("%.2f", $data->{'unitprice'}||0),
+    gst_values       => \@gst_values,
+    gstrate          => $data->{gstrate} ? $data->{gstrate}+0.0 : $bookseller->{gstrate} ? $bookseller->{gstrate}+0.0 : 0,
+    gstreg           => $bookseller->{'gstreg'},
+    listprice        => sprintf( "%.2f", $data->{listprice} || $data->{price} || $listprice),
+    total            => sprintf( "%.2f", ($data->{ecost} || 0) * ($data->{'quantity'} || 0) ),
+    ecost            => sprintf( "%.2f", $data->{ecost} || 0),
+    unitprice        => sprintf( "%.2f", $data->{unitprice} || 0),
     notes            => $data->{'notes'},
     publishercode    => $data->{'publishercode'},
     barcode_subfield => $barcode_subfield,
-    
     import_batch_id  => $import_batch_id,
-
-# CHECKME: gst-stuff needs verifing, mason.
-    gstrate          => $bookseller->{'gstrate'} // C4::Context->preference("gist") // 0,
-    gstreg           => $bookseller->{'gstreg'},
     (uc(C4::Context->preference("marcflavour"))) => 1
 );
 
index 85168d5..17c2d5e 100755 (executable)
@@ -40,9 +40,9 @@ to know on what supplier this script has to display receive order.
 
 =item receive
 
-=item invoice
+=item invoiceid
 
-the number of this invoice.
+the id of this invoice.
 
 =item freight
 
@@ -82,19 +82,17 @@ use C4::Suggestions;
 my $input      = new CGI;
 
 my $dbh          = C4::Context->dbh;
-my $booksellerid = $input->param('booksellerid');
+my $invoiceid    = $input->param('invoiceid');
+my $invoice      = GetInvoice($invoiceid);
+my $booksellerid   = $invoice->{booksellerid};
+my $freight      = $invoice->{shipmentcost};
+my $datereceived = $invoice->{shipmentdate};
 my $ordernumber  = $input->param('ordernumber');
 my $search       = $input->param('receive');
-my $invoice      = $input->param('invoice');
-my $freight      = $input->param('freight');
-my $datereceived = $input->param('datereceived');
-
 
 $datereceived = $datereceived ? C4::Dates->new($datereceived, 'iso') : C4::Dates->new();
 
 my $bookseller = GetBookSellerFromId($booksellerid);
-my $input_gst = ($input->param('gst') eq '' ? undef : $input->param('gst'));
-my $gst= $input_gst // $bookseller->{gstrate} // C4::Context->preference("gist") // 0;
 my $results = SearchOrder($ordernumber,$search);
 
 my ( $template, $loggedinuser, $cookie ) = get_template_and_user(
@@ -159,16 +157,40 @@ if ( $count == 1 ) {
         $template->param(items => \@items);
     }
 
-    if ( $order->{'unitprice'} == 0 ) {
-        $order->{'unitprice'} = '';
-    }
+    $order->{quantityreceived} = '' if $order->{quantityreceived} == 0;
+    $order->{unitprice} = '' if $order->{unitprice} == 0;
+
+    my $rrp;
+    my $ecost;
+    my $unitprice;
+    if ( $bookseller->{listincgst} ) {
+        if ( $bookseller->{invoiceincgst} ) {
+            $rrp = $order->{rrp};
+            $ecost = $order->{ecost};
+            $unitprice = $order->{unitprice};
+        } else {
+            $rrp = $order->{rrp} / ( 1 + $order->{gstrate} );
+            $ecost = $order->{ecost} / ( 1 + $order->{gstrate} );
+            $unitprice = $order->{unitprice} / ( 1 + $order->{gstrate} );
+        }
+    } else {
+        if ( $bookseller->{invoiceincgst} ) {
+            $rrp = $order->{rrp} * ( 1 + $order->{gstrate} );
+            $ecost = $order->{ecost} * ( 1 + $order->{gstrate} );
+            $unitprice = $order->{unitprice} * ( 1 + $order->{gstrate} );
+        } else {
+            $rrp = $order->{rrp};
+            $ecost = $order->{ecost};
+            $unitprice = $order->{unitprice};
+        }
+     }
 
-    my $suggestion   = GetSuggestionInfoFromBiblionumber($order->{'biblionumber'});
+    my $suggestion = GetSuggestionInfoFromBiblionumber($order->{biblionumber});
 
-    my $authorisedby = $order->{'authorisedby'};
+    my $authorisedby = $order->{authorisedby};
     my $member = GetMember( borrowernumber => $authorisedby );
 
-    my $budget = GetBudget( $order->{'budget_id'} );
+    my $budget = GetBudget( $order->{budget_id} );
 
     $template->param(
         AcqCreateItem         => $AcqCreateItem,
@@ -178,7 +200,7 @@ if ( $count == 1 ) {
         biblioitemnumber      => $order->{'biblioitemnumber'},
         booksellerid          => $order->{'booksellerid'},
         freight               => $freight,
-        gst                   => $gst,
+        gstrate               => $order->{gstrate} || $bookseller->{gstrate} || C4::Context->preference("gist") || 0,
         name                  => $bookseller->{'name'},
         date                  => format_date($order->{entrydate}),
         title                 => $order->{'title'},
@@ -190,12 +212,13 @@ if ( $count == 1 ) {
         quantity              => $order->{'quantity'},
         quantityreceivedplus1 => $order->{'quantityreceived'} + 1,
         quantityreceived      => $order->{'quantityreceived'},
-        rrp                   => $order->{'rrp'},
-        ecost                 => sprintf( "%.2f",$order->{'ecost'}),
-        unitprice             => sprintf( "%.2f",$order->{'unitprice'}),
+        rrp                   => sprintf( "%.2f", $rrp ),
+        ecost                 => sprintf( "%.2f", $ecost ),
+        unitprice             => sprintf( "%.2f", $unitprice),
         memberfirstname       => $member->{firstname} || "",
         membersurname         => $member->{surname} || "",
-        invoice               => $invoice,
+        invoiceid             => $invoice->{invoiceid},
+        invoice               => $invoice->{invoicenumber},
         datereceived          => $datereceived->output(),
         datereceived_iso      => $datereceived->output('iso'),
         notes                 => $order->{notes},
@@ -209,19 +232,20 @@ else {
     for ( my $i = 0 ; $i < $count ; $i++ ) {
         my %line = %{ @$results[$i] };
 
-        $line{invoice}      = $invoice;
+        $line{invoice}      = $invoice->{invoicenumber};
         $line{datereceived} = $datereceived->output();
         $line{freight}      = $freight;
-        $line{gst}          = $gst;
+        $line{gstrate}      = @$results[$i]->{'gstrate'} || $bookseller->{gstrate} || C4::Context->preference("gist") || 0;
         $line{title}        = @$results[$i]->{'title'};
         $line{author}       = @$results[$i]->{'author'};
-        $line{booksellerid}   = $booksellerid;
+        $line{booksellerid} = $booksellerid;
         push @loop, \%line;
     }
 
     $template->param(
         loop         => \@loop,
-        booksellerid   => $booksellerid,
+        booksellerid => $booksellerid,
+        invoiceid    => $invoice->{invoiceid},
     );
 }
 my $op = $input->param('op');
index bf14ff0..0e0f41b 100755 (executable)
@@ -42,8 +42,6 @@ To know the supplier this script has to show orders.
 
 is the bookseller invoice number.
 
-=item freight
-
 
 =item gst
 
@@ -57,7 +55,8 @@ To filter the results list on this given date.
 =cut
 
 use strict;
-#use warnings; FIXME - Bug 2505
+use warnings;
+
 use C4::Auth;
 use C4::Acquisition;
 use C4::Budgets;
@@ -71,77 +70,79 @@ use C4::Suggestions;
 use JSON;
 
 my $input=new CGI;
-my $booksellerid=$input->param('booksellerid');
-my $bookseller=GetBookSellerFromId($booksellerid);
-
-my $invoice=$input->param('invoice') || '';
-my $freight=$input->param('freight');
-my $input_gst = ($input->param('gst') eq '' ? undef : $input->param('gst'));
-my $gst= $input_gst // $bookseller->{gstrate} // C4::Context->preference("gist") // 0;
-my $datereceived =  ($input->param('op') eq 'new') ? C4::Dates->new($input->param('datereceived')) 
-                                       :  C4::Dates->new($input->param('datereceived'), 'iso')   ;
-$datereceived = C4::Dates->new() unless $datereceived;
-my $code            = $input->param('code');
-my @rcv_err         = $input->param('error');
-my @rcv_err_barcode = $input->param('error_bc');
 
-my $startfrom=$input->param('startfrom');
-my $resultsperpage = $input->param('resultsperpage');
-$resultsperpage = 20 unless ($resultsperpage);
-$startfrom=0 unless ($startfrom);
-
-if($input->param('format') eq "json"){
-    my ($template, $loggedinuser, $cookie)
-        = get_template_and_user({template_name => "acqui/ajax.tmpl",
-                 query => $input,
-                                type => "intranet",
-                 authnotrequired => 0,
-                 flagsrequired => {acquisition => 'order_receive'},
-                 debug => 1,
-    });
-       
-    my @datas;
-    my $search   = $input->param('search')     || '';
-    my $ean      = $input->param('ean')        || '';
-    my $supplier = $input->param('booksellerid') || '';
-    my $basketno = $input->param('basketno') || '';
-    my $orderno  = $input->param('orderno') || '';
-
-    my $orders = SearchOrder($orderno, $search, $ean, $supplier, $basketno);
-    foreach my $order (@$orders) {
-        if ( $order->{quantityreceived} < $order->{quantity} ) {
-            my $data = {};
-            
-            $data->{basketno} = $order->{basketno};
-            $data->{ordernumber} = $order->{ordernumber};
-            $data->{title} = $order->{title};
-            $data->{author} = $order->{author};
-            $data->{isbn} = $order->{isbn};
-            $data->{booksellerid} = $order->{booksellerid};
-            $data->{biblionumber} = $order->{biblionumber};
-            $data->{freight} = $order->{freight};
-            $data->{quantity} = $order->{quantity};
-            $data->{ecost} = $order->{ecost};
-            $data->{ordertotal} = sprintf("%.2f",$order->{ecost}*$order->{quantity});
-            push @datas, $data;
+sub get_value_with_gst_params {
+    my $value = shift;
+    my $gstrate = shift;
+    my $bookseller = shift;
+    if ( $bookseller->{listincgst} ) {
+        if ( $bookseller->{invoiceincgst} ) {
+            return $value;
+        } else {
+            return $value / ( 1 + $gstrate );
+        }
+    } else {
+        if ( $bookseller->{invoiceincgst} ) {
+            return $value * ( 1 + $gstrate );
+        } else {
+            return $value;
         }
     }
-    
-    my $json_text = to_json(\@datas);
-    $template->param(return => $json_text);
-    output_html_with_http_headers $input, $cookie, $template->output;
-    exit;
+}
+
+sub get_gste {
+    my $value = shift;
+    my $gstrate = shift;
+    my $bookseller = shift;
+    return $bookseller->{invoiceincgst}
+        ? $value / ( 1 + $gstrate )
+        : $value;
+}
+
+sub get_gst {
+    my $value = shift;
+    my $gstrate = shift;
+    my $bookseller = shift;
+    return $bookseller->{invoiceincgst}
+        ? $value / ( 1 + $gstrate ) * $gstrate
+        : $value * ( 1 + $gstrate ) - $value;
 }
 
 my ($template, $loggedinuser, $cookie)
     = get_template_and_user({template_name => "acqui/parcel.tmpl",
                  query => $input,
-                                type => "intranet",
+                 type => "intranet",
                  authnotrequired => 0,
                  flagsrequired => {acquisition => 'order_receive'},
                  debug => 1,
 });
 
+my $invoiceid = $input->param('invoiceid');
+my $op = $input->param('op') // '';
+
+if ($op eq 'cancelreceipt') {
+    my $ordernumber = $input->param('ordernumber');
+    my $parent_ordernumber = CancelReceipt($ordernumber);
+    unless($parent_ordernumber) {
+        $template->param(error_cancelling_receipt => 1);
+    }
+}
+
+my $invoice = GetInvoiceDetails($invoiceid);
+my $booksellerid = $invoice->{booksellerid};
+my $bookseller = GetBookSellerFromId($booksellerid);
+my $gst = $bookseller->{gstrate} // C4::Context->preference("gist") // 0;
+my $datereceived = C4::Dates->new();
+my $code            = $input->param('code');
+my @rcv_err         = $input->param('error');
+my @rcv_err_barcode = $input->param('error_bc');
+my $startfrom=$input->param('startfrom');
+my $resultsperpage = $input->param('resultsperpage');
+$resultsperpage = 20 unless ($resultsperpage);
+$startfrom=0 unless ($startfrom);
+
+
+
 # If receiving error, report the error (coming from finishrecieve.pl(sic)).
 if( scalar(@rcv_err) ) {
        my $cnt=0;
@@ -156,174 +157,191 @@ if( scalar(@rcv_err) ) {
 }
 
 my $cfstr         = "%.2f";                                                           # currency format string -- could get this from currency table.
-my @parcelitems   = GetParcel($booksellerid, $invoice, $datereceived->output('iso'));
+my @parcelitems   = @{ $invoice->{orders} };
 my $countlines    = scalar @parcelitems;
 my $totalprice    = 0;
-my $totalfreight  = 0;
 my $totalquantity = 0;
 my $total;
-my $tototal;
 my @loop_received = ();
-
-for (my $i = 0 ; $i < $countlines ; $i++) {
-
-    #$total=($parcelitems[$i]->{'unitprice'} + $parcelitems[$i]->{'freight'}) * $parcelitems[$i]->{'quantityreceived'};   #weird, are the freight fees counted by book? (pierre)
-    $total = ($parcelitems[$i]->{'unitprice'}) * $parcelitems[$i]->{'quantityreceived'};    #weird, are the freight fees counted by book? (pierre)
-    $parcelitems[$i]->{'unitprice'} += 0;
+my @book_foot_loop;
+my %foot;
+my $total_quantity = 0;
+my $total_gste = 0;
+my $total_gsti = 0;
+
+for my $item ( @parcelitems ) {
+    $item->{unitprice} = get_value_with_gst_params( $item->{unitprice}, $item->{gstrate}, $bookseller );
+    $total = ( $item->{'unitprice'} ) * $item->{'quantityreceived'};
+    $item->{'unitprice'} += 0;
     my %line;
-    %line          = %{ $parcelitems[$i] };
-    $line{invoice} = $invoice;
-    $line{gst}     = $gst;
+    %line          = %{ $item };
+    my $ecost = get_value_with_gst_params( $line{ecost}, $line{gstrate}, $bookseller );
+    $line{ecost} = sprintf( "%.2f", $ecost );
+    $line{invoice} = $invoice->{invoicenumber};
     $line{total} = sprintf($cfstr, $total);
-    $line{booksellerid} = $booksellerid;
-    push @loop_received, \%line;
-    $totalprice += $parcelitems[$i]->{'unitprice'};
-    $line{unitprice} = sprintf($cfstr, $parcelitems[$i]->{'unitprice'});
+    $line{booksellerid} = $invoice->{booksellerid};
+    $totalprice += $item->{'unitprice'};
+    $line{unitprice} = sprintf( $cfstr, $item->{'unitprice'} );
+    my $gste = get_gste( $line{total}, $line{gstrate}, $bookseller );
+    my $gst = get_gst( $line{total}, $line{gstrate}, $bookseller );
+    $foot{$line{gstrate}}{gstrate} = $line{gstrate};
+    $foot{$line{gstrate}}{value} += sprintf( "%.2f", $gst );
+    $total_quantity += $line{quantity};
+    $total_gste += $gste;
+    $total_gsti += $gste + $gst;
 
     my $suggestion   = GetSuggestionInfoFromBiblionumber($line{biblionumber});
     $line{suggestionid}         = $suggestion->{suggestionid};
     $line{surnamesuggestedby}   = $suggestion->{surnamesuggestedby};
     $line{firstnamesuggestedby} = $suggestion->{firstnamesuggestedby};
 
-    #double FIXME - totalfreight is redefined later.
-
-# FIXME - each order in a  parcel holds the freight for the whole parcel. This means if you receive a parcel with items from multiple budgets, you'll see the freight charge in each budget..
-    if ($i > 0 && $totalfreight != $parcelitems[$i]->{'freight'}) {
-        warn "FREIGHT CHARGE MISMATCH!!";
+    if ( $line{parent_ordernumber} != $line{ordernumber} ) {
+        if ( grep { $_->{ordernumber} == $line{parent_ordernumber} }
+            @parcelitems )
+        {
+            $line{cannot_cancel} = 1;
+        }
     }
-    $totalfreight = $parcelitems[$i]->{'freight'};
-    $totalquantity += $parcelitems[$i]->{'quantityreceived'};
-    $tototal       += $total;
-}
 
-my $pendingorders = GetPendingOrders($booksellerid);
-my $countpendings = scalar @$pendingorders;
+    my $budget = GetBudget( $line{budget_id} );
+    $line{budget_name} = $budget->{'budget_name'};
+
+    push @loop_received, \%line;
+    $totalquantity += $item->{'quantityreceived'};
+
+}
+push @book_foot_loop, map { $_ } values %foot;
 
-# pending orders totals
-my ($totalPunitprice, $totalPquantity, $totalPecost, $totalPqtyrcvd);
-my $ordergrandtotal;
 my @loop_orders = ();
-for (my $i = 0 ; $i < $countpendings ; $i++) {
-    my %line;
-    %line = %{$pendingorders->[$i]};
-   
-    $line{quantity}+=0;
-    $line{quantityreceived}+=0;
-    $line{unitprice}+=0;
-    $totalPunitprice += $line{unitprice};
-    $totalPquantity +=$line{quantity};
-    $totalPqtyrcvd +=$line{quantityreceived};
-    $totalPecost += $line{ecost};
-    $line{ecost} = sprintf("%.2f",$line{ecost});
-    $line{ordertotal} = sprintf("%.2f",$line{ecost}*$line{quantity});
-    $line{unitprice} = sprintf("%.2f",$line{unitprice});
-    $line{invoice} = $invoice;
-    $line{gst} = $gst;
-    $line{total} = $total;
-    $line{booksellerid} = $booksellerid;
-    $ordergrandtotal += $line{ecost} * $line{quantity};
-    
-    my $biblionumber = $line{'biblionumber'};
-    my $countbiblio = CountBiblioInOrders($biblionumber);
-    my $ordernumber = $line{'ordernumber'};
-    my @subscriptions = GetSubscriptionsId ($biblionumber);
-    my $itemcount = GetItemsCount($biblionumber);
-    my $holds  = GetHolds ($biblionumber);
-    my @items = GetItemnumbersFromOrder( $ordernumber );
-    my $itemholds;
-    foreach my $item (@items){
-        my $nb = GetItemHolds($biblionumber, $item);
-        if ($nb){
-            $itemholds += $nb;
-        }
+if(!defined $invoice->{closedate}) {
+    my $pendingorders;
+    if($input->param('op') eq "search"){
+        my $search   = $input->param('summaryfilter') || '';
+        my $ean      = $input->param('eanfilter') || '';
+        my $basketno = $input->param('basketfilter') || '';
+        my $orderno  = $input->param('orderfilter') || '';
+        my $grouped;
+        my $owner;
+        $pendingorders = GetPendingOrders($booksellerid,$grouped,$owner,$basketno,$orderno,$search,$ean);
+    }else{
+        $pendingorders = GetPendingOrders($booksellerid);
     }
+    my $countpendings = scalar @$pendingorders;
+
+    for (my $i = 0 ; $i < $countpendings ; $i++) {
+        my %line;
+        %line = %{$pendingorders->[$i]};
+
+        my $ecost = get_value_with_gst_params( $line{ecost}, $line{gstrate}, $bookseller );
+        $line{unitprice} = get_value_with_gst_params( $line{unitprice}, $line{gstrate}, $bookseller );
+        $line{quantity} += 0;
+        $line{quantityreceived} += 0;
+        $line{unitprice}+=0;
+        $line{ecost} = sprintf( "%.2f", $ecost );
+        $line{ordertotal} = sprintf( "%.2f", $ecost * $line{quantity} );
+        $line{unitprice} = sprintf("%.2f",$line{unitprice});
+        $line{invoice} = $invoice;
+        $line{booksellerid} = $booksellerid;
+
+
+
+        my $biblionumber = $line{'biblionumber'};
+        my $countbiblio = CountBiblioInOrders($biblionumber);
+        my $ordernumber = $line{'ordernumber'};
+        my @subscriptions = GetSubscriptionsId ($biblionumber);
+        my $itemcount = GetItemsCount($biblionumber);
+        my $holds  = GetHolds ($biblionumber);
+        my @items = GetItemnumbersFromOrder( $ordernumber );
+        my $itemholds;
+        foreach my $item (@items){
+            my $nb = GetItemHolds($biblionumber, $item);
+            if ($nb){
+                $itemholds += $nb;
+            }
+        }
 
-    my $suggestion   = GetSuggestionInfoFromBiblionumber($line{biblionumber});
-    $line{suggestionid}         = $suggestion->{suggestionid};
-    $line{surnamesuggestedby}   = $suggestion->{surnamesuggestedby};
-    $line{firstnamesuggestedby} = $suggestion->{firstnamesuggestedby};
+        my $suggestion   = GetSuggestionInfoFromBiblionumber($line{biblionumber});
+        $line{suggestionid}         = $suggestion->{suggestionid};
+        $line{surnamesuggestedby}   = $suggestion->{surnamesuggestedby};
+        $line{firstnamesuggestedby} = $suggestion->{firstnamesuggestedby};
+
+        # if the biblio is not in other orders and if there is no items elsewhere and no subscriptions and no holds we can then show the link "Delete order and Biblio" see bug 5680
+        $line{can_del_bib}          = 1 if $countbiblio <= 1 && $itemcount == scalar @items && !(@subscriptions) && !($holds);
+        $line{items}                = ($itemcount) - (scalar @items);
+        $line{left_item}            = 1 if $line{items} >= 1;
+        $line{left_biblio}          = 1 if $countbiblio > 1;
+        $line{biblios}              = $countbiblio - 1;
+        $line{left_subscription}    = 1 if scalar @subscriptions >= 1;
+        $line{subscriptions}        = scalar @subscriptions;
+        $line{left_holds}           = ($holds >= 1) ? 1 : 0;
+        $line{left_holds_on_order}  = 1 if $line{left_holds}==1 && ($line{items} == 0 || $itemholds );
+        $line{holds}                = $holds;
+        $line{holds_on_order}       = $itemholds?$itemholds:$holds if $line{left_holds_on_order};
+
+        my $budget = GetBudget( $line{budget_id} );
+        $line{budget_name} = $budget->{'budget_name'};
+
+        push @loop_orders, \%line if ($i >= $startfrom and $i < $startfrom + $resultsperpage);
+    }
 
-    # if the biblio is not in other orders and if there is no items elsewhere and no subscriptions and no holds we can then show the link "Delete order and Biblio" see bug 5680
-    $line{can_del_bib}          = 1 if $countbiblio <= 1 && $itemcount == scalar @items && !(@subscriptions) && !($holds);
-    $line{items}                = ($itemcount) - (scalar @items);
-    $line{left_item}            = 1 if $line{items} >= 1;
-    $line{left_biblio}          = 1 if $countbiblio > 1;
-    $line{biblios}              = $countbiblio - 1;
-    $line{left_subscription}    = 1 if scalar @subscriptions >= 1;
-    $line{subscriptions}        = scalar @subscriptions;
-    $line{left_holds}           = 1 if $holds >= 1;
-    $line{left_holds_on_order}  = 1 if $line{left_holds}==1 && ($line{items} == 0 || $itemholds );
-    $line{holds}                = $holds;
-    $line{holds_on_order}       = $itemholds?$itemholds:$holds if $line{left_holds_on_order};
-    
-    
-    push @loop_orders, \%line if ($i >= $startfrom and $i < $startfrom + $resultsperpage);
-}
-$freight = $totalfreight unless $freight;
+    my $count = $countpendings;
 
-my $count = $countpendings;
+    if ($count>$resultsperpage){
+        my $displaynext=0;
+        my $displayprev=$startfrom;
+        if(($count - ($startfrom+$resultsperpage)) > 0 ) {
+            $displaynext = 1;
+        }
 
-if ($count>$resultsperpage){
-    my $displaynext=0;
-    my $displayprev=$startfrom;
-    if(($count - ($startfrom+$resultsperpage)) > 0 ) {
-        $displaynext = 1;
-    }
+        my @numbers = ();
+        for (my $i=1; $i<$count/$resultsperpage+1; $i++) {
+                my $highlight=0;
+                ($startfrom/$resultsperpage==($i-1)) && ($highlight=1);
+                push @numbers, { number => $i,
+                    highlight => $highlight ,
+                    startfrom => ($i-1)*$resultsperpage};
+        }
 
-    my @numbers = ();
-    for (my $i=1; $i<$count/$resultsperpage+1; $i++) {
-            my $highlight=0;
-            ($startfrom/$resultsperpage==($i-1)) && ($highlight=1);
-            push @numbers, { number => $i,
-                highlight => $highlight ,
-                startfrom => ($i-1)*$resultsperpage};
+        my $from = $startfrom*$resultsperpage+1;
+        my $to;
+        if($count < (($startfrom+1)*$resultsperpage)){
+            $to = $count;
+        } else {
+            $to = (($startfrom+1)*$resultsperpage);
+        }
+        $template->param(numbers=>\@numbers,
+                         displaynext=>$displaynext,
+                         displayprev=>$displayprev,
+                         nextstartfrom=>(($startfrom+$resultsperpage<$count)?$startfrom+$resultsperpage:$count),
+                         prevstartfrom=>(($startfrom-$resultsperpage>0)?$startfrom-$resultsperpage:0)
+                        );
     }
 
-    my $from = $startfrom*$resultsperpage+1;
-    my $to;
-    if($count < (($startfrom+1)*$resultsperpage)){
-        $to = $count;
-    } else {
-        $to = (($startfrom+1)*$resultsperpage);
-    }
-    $template->param(numbers=>\@numbers,
-                     displaynext=>$displaynext,
-                     displayprev=>$displayprev,
-                     nextstartfrom=>(($startfrom+$resultsperpage<$count)?$startfrom+$resultsperpage:$count),
-                     prevstartfrom=>(($startfrom-$resultsperpage>0)?$startfrom-$resultsperpage:0)
-                    );
+    $template->param(
+        loop_orders  => \@loop_orders,
+    );
 }
 
-#$totalfreight=$freight;
-$tototal = $tototal + $freight;
-
 $template->param(
-    invoice               => $invoice,
+    invoiceid             => $invoice->{invoiceid},
+    invoice               => $invoice->{invoicenumber},
+    invoiceclosedate      => $invoice->{closedate},
     datereceived          => $datereceived->output('iso'),
     invoicedatereceived   => $datereceived->output('iso'),
     formatteddatereceived => $datereceived->output(),
     name                  => $bookseller->{'name'},
-    booksellerid            => $booksellerid,
-    gst                   => $gst,
-    freight               => $freight,
-    invoice               => $invoice,
+    booksellerid          => $bookseller->{id},
     countreceived         => $countlines,
     loop_received         => \@loop_received,
-    countpending          => $countpendings,
+    booksellerid          => $booksellerid,
     loop_orders           => \@loop_orders,
+    book_foot_loop        => \@book_foot_loop,
     totalprice            => sprintf($cfstr, $totalprice),
-    totalfreight          => $totalfreight,
     totalquantity         => $totalquantity,
-    tototal               => sprintf($cfstr, $tototal),
-    ordergrandtotal       => sprintf($cfstr, $ordergrandtotal),
-    gst                   => $gst,
-    grandtot              => sprintf($cfstr, $tototal + $gst),
-    totalPunitprice       => sprintf("%.2f", $totalPunitprice),
-    totalPquantity        => $totalPquantity,
-    totalPqtyrcvd         => $totalPqtyrcvd,
-    totalPecost           => sprintf("%.2f", $totalPecost),
     resultsperpage        => $resultsperpage,
-    (uc(C4::Context->preference("marcflavour"))) => 1
+    (uc(C4::Context->preference("marcflavour"))) => 1,
+    total_quantity       => $total_quantity,
+    total_gste           => sprintf( "%.2f", $total_gste ),
+    total_gsti           => sprintf( "%.2f", $total_gsti ),
 );
 output_html_with_http_headers $input, $cookie, $template->output;
index fdb46d5..4f2849d 100755 (executable)
@@ -44,9 +44,9 @@ To know the supplier this script has to show orders.
 sort list of order by 'orderby'.
 Orderby can be equals to
     * datereceived desc (default value)
-    * aqorders.booksellerinvoicenumber
+    * invoicenumber
     * datereceived
-    * aqorders.booksellerinvoicenumber desc
+    * invoicenumber desc
 
 =item filter
 
@@ -75,6 +75,7 @@ use C4::Output;
 use C4::Dates qw/format_date/;
 use C4::Acquisition;
 use C4::Bookseller qw/ GetBookSellerFromId /;
+use C4::Budgets;
 
 my $input          = CGI->new;
 my $booksellerid     = $input->param('booksellerid');
@@ -84,9 +85,10 @@ my $code           = $input->param('filter');
 my $datefrom       = $input->param('datefrom');
 my $dateto         = $input->param('dateto');
 my $resultsperpage = $input->param('resultsperpage');
+my $op             = $input->param('op');
 $resultsperpage ||= 20;
 
-our ( $template, $loggedinuser, $cookie ) = get_template_and_user(
+our ( $template, $loggedinuser, $cookie, $flags ) = get_template_and_user(
     {   template_name   => 'acqui/parcels.tmpl',
         query           => $input,
         type            => 'intranet',
@@ -96,8 +98,38 @@ our ( $template, $loggedinuser, $cookie ) = get_template_and_user(
     }
 );
 
+if($op and $op eq 'new') {
+    my $invoicenumber = $input->param('invoice');
+    my $shipmentdate = $input->param('shipmentdate');
+    my $shipmentcost = $input->param('shipmentcost');
+    my $shipmentcost_budgetid = $input->param('shipmentcost_budgetid');
+    if($shipmentdate) {
+        $shipmentdate = C4::Dates->new($shipmentdate)->output('iso');
+    }
+    my $invoiceid = AddInvoice(
+        invoicenumber => $invoicenumber,
+        booksellerid => $booksellerid,
+        shipmentdate => $shipmentdate,
+        shipmentcost => $shipmentcost,
+        shipmentcost_budgetid => $shipmentcost_budgetid,
+    );
+    if(defined $invoiceid) {
+        # Successful 'Add'
+        print $input->redirect("/cgi-bin/koha/acqui/parcel.pl?invoiceid=$invoiceid");
+        exit 0;
+    } else {
+        $template->param(error_failed_to_create_invoice => 1);
+    }
+}
+
 my $bookseller = GetBookSellerFromId($booksellerid);
-my @parcels = GetParcels( $booksellerid, $order, $code, $datefrom, $dateto );
+my @parcels = GetInvoices(
+    supplierid => $booksellerid,
+    invoicenumber => $code,
+    shipmentdatefrom => $datefrom,
+    shipmentdateto => $dateto,
+    order_by => $order
+);
 my $count_parcels = @parcels;
 
 # multi page display gestion
@@ -114,19 +146,28 @@ for my $i ( $startfrom .. $last_row) {
 
     push @{$loopres},
       { number           => $i + 1,
-        code             => $p->{booksellerinvoicenumber},
-        nullcode         => $p->{booksellerinvoicenumber} eq 'NULL',
-        emptycode        => $p->{booksellerinvoicenumber} eq q{},
-        raw_datereceived => $p->{datereceived},
-        datereceived     => format_date( $p->{datereceived} ),
-        bibcount         => $p->{biblio},
-        reccount         => $p->{itemsreceived},
-        itemcount        => $p->{itemsexpected},
+        invoiceid        => $p->{invoiceid},
+        code             => $p->{invoicenumber},
+        nullcode         => $p->{invoicenumber} eq 'NULL',
+        emptycode        => $p->{invoicenumber} eq q{},
+        raw_datereceived => $p->{shipmentdate},
+        datereceived     => format_date( $p->{shipmentdate} ),
+        bibcount         => $p->{receivedbiblios} || 0,
+        reccount         => $p->{receiveditems} || 0,
+        itemcount        => $p->{itemsexpected} || 0,
       };
 }
 if ($count_parcels) {
     $template->param( searchresults => $loopres, count => $count_parcels );
 }
+
+my $budgets = GetBudgets();
+my @budgets_loop;
+foreach my $budget (@$budgets) {
+    next unless CanUserUseBudget($loggedinuser, $budget, $flags);
+    push @budgets_loop, $budget;
+}
+
 $template->param(
     orderby                  => $order,
     filter                   => $code,
@@ -135,9 +176,10 @@ $template->param(
     resultsperpage           => $resultsperpage,
     name                     => $bookseller->{'name'},
     DHTMLcalendar_dateformat => C4::Dates->DHTMLcalendar(),
-    datereceived_today       => C4::Dates->new()->output(),
+    shipmentdate_today       => C4::Dates->new()->output(),
     booksellerid             => $booksellerid,
     GST                      => C4::Context->preference('gist'),
+    budgets                  => \@budgets_loop,
 );
 
 output_html_with_http_headers $input, $cookie, $template->output;
index 324b88e..1c5a68c 100644 (file)
@@ -29,7 +29,7 @@ use strict;
 use warnings;
 use utf8;
 
-use C4::Branch qw(GetBranchDetail);
+use C4::Branch qw(GetBranchDetail GetBranchName);
 
 BEGIN {
          use Exporter   ();
@@ -92,7 +92,13 @@ sub printorders {
         $text->font( $pdf->corefont("Times", -encoding => "utf8"), 6/mm );
         $text->translate(20/mm,  ($height-15)/mm);
         $text->text("Order N°".$basketgroup->{'id'}.". Basket N° ".$basket->{basketno}.". ".$basket->{booksellernote});
-        
+        $text->translate(20/mm,  ($height-20)/mm);
+        $text->font( $pdf->corefont("Times", -encoding => "utf8"), 4/mm );
+        $text->text( ( $basket->{billingplace} ? "Billing at " . C4::Branch::GetBranchName( $basket->{billingplace} ) : "" )
+            . ( $basket->{billingplace} and $basket->{deliveryplace} ? " and " : "" )
+            . ( $basket->{deliveryplace} ? "delivery at " . C4::Branch::GetBranchName( $basket->{deliveryplace}) : "" )
+        );
+
         my $pdftable = new PDF::Table();
         my $abaskets;
         my $arrbasket;
index 0dcba98..2d555f9 100755 (executable)
@@ -60,10 +60,10 @@ SELECT
     aqbasket.booksellerid,
     itype,
     title,
-    aqorders.booksellerinvoicenumber,
+    aqorders.invoiceid,
+    aqinvoices.invoicenumber,
     quantityreceived,
     unitprice,
-    freight,
     datereceived,
     aqorders.biblionumber
 FROM (aqorders, aqbasket)
@@ -73,6 +73,8 @@ LEFT JOIN biblio ON
     biblio.biblionumber=aqorders.biblionumber
 LEFT JOIN aqorders_items ON
     aqorders.ordernumber=aqorders_items.ordernumber
+LEFT JOIN aqinvoices ON
+    aqorders.invoiceid = aqinvoices.invoiceid
 WHERE
     aqorders.basketno=aqbasket.basketno AND
     budget_id=? AND
@@ -85,27 +87,48 @@ $sth->execute($bookfund);
 if ( $sth->err ) {
     die "An error occurred fetching records: " . $sth->errstr;
 }
-my $total = 0;
+my $subtotal = 0;
 my $toggle;
 my @spent;
 while ( my $data = $sth->fetchrow_hashref ) {
     my $recv = $data->{'quantityreceived'};
     if ( $recv > 0 ) {
-        my $subtotal = $recv * ( $data->{'unitprice'} + $data->{'freight'} );
-        $data->{'subtotal'}  = sprintf( "%.2f", $subtotal );
-        $data->{'freight'}   = sprintf( "%.2f", $data->{'freight'} );
+        my $rowtotal = $recv * $data->{'unitprice'};
+        $data->{'rowtotal'}  = sprintf( "%.2f", $rowtotal );
         $data->{'unitprice'} = sprintf( "%.2f", $data->{'unitprice'} );
-        $total += $subtotal;
+        $subtotal += $rowtotal;
         push @spent, $data;
     }
 
 }
-$total = sprintf( "%.2f", $total );
 
-$template->{VARS}->{'fund'}  = $bookfund;
-$template->{VARS}->{'spent'} = \@spent;
-$template->{VARS}->{'total'} = $total;
-$template->{VARS}->{'fund_code'} = $fund_code;
+my $total = $subtotal;
+$query = qq{
+    SELECT invoicenumber, shipmentcost
+    FROM aqinvoices
+    WHERE shipmentcost_budgetid = ?
+};
+$sth = $dbh->prepare($query);
+$sth->execute($bookfund);
+my @shipmentcosts;
+while (my $data = $sth->fetchrow_hashref) {
+    push @shipmentcosts, {
+        shipmentcost => sprintf("%.2f", $data->{shipmentcost}),
+        invoicenumber => $data->{invoicenumber}
+    };
+    $total += $data->{shipmentcost};
+}
 $sth->finish;
 
+$total = sprintf( "%.2f", $total );
+
+$template->param(
+    fund => $bookfund,
+    spent => \@spent,
+    subtotal => $subtotal,
+    shipmentcosts => \@shipmentcosts,
+    total => $total,
+    fund_code => $fund_code
+);
+
 output_html_with_http_headers $input, $cookie, $template->output;
index 0387d35..d113de2 100755 (executable)
@@ -67,12 +67,7 @@ my ( $template, $loggedinuser, $cookie ) = get_template_and_user(
         debug           => 1,
     }
 );
-my $seller_gstrate = $supplier->{'gstrate'};
 
-# ensure the scalar isn't flagged as a string
-$seller_gstrate = ( defined $seller_gstrate ) ? $seller_gstrate + 0 : undef;
-my $tax_rate = $seller_gstrate // C4::Context->preference('gist') // 0;
-$tax_rate *= 100;
 #build array for currencies
 if ( $op eq 'display' ) {
 
@@ -102,12 +97,11 @@ if ( $op eq 'display' ) {
         gstreg        => $supplier->{'gstreg'},
         listincgst    => $supplier->{'listincgst'},
         invoiceincgst => $supplier->{'invoiceincgst'},
+        gstrate       => $supplier->{'gstrate'} + 0.0,
         discount      => $supplier->{'discount'},
         deliverytime  => $supplier->{deliverytime},
         invoiceprice  => $supplier->{'invoiceprice'},
         listprice     => $supplier->{'listprice'},
-        GST           => $tax_rate,
-        default_tax   => defined($seller_gstrate),
         basketcount   => $supplier->{'basketcount'},
         subscriptioncount   => $supplier->{'subscriptioncount'},
         contracts     => $contracts,
@@ -142,9 +136,11 @@ if ( $op eq 'display' ) {
             };
     }
 
-    my $default_gst_rate = (C4::Context->preference('gist') * 100) || '0.0';
+    # get option values from gist syspref
+    my @gst_values = map {
+        option => $_
+    }, split( '\|', C4::Context->preference("gist") );
 
-    my $gstrate = defined $supplier->{gstrate} ? $supplier->{gstrate} * 100 : '';
     $template->param(
         booksellerid => $booksellerid,
         name         => $supplier->{'name'},
@@ -170,13 +166,12 @@ if ( $op eq 'display' ) {
         gstreg        => $supplier->{'gstreg'},
         listincgst    => $supplier->{'listincgst'},
         invoiceincgst => $supplier->{'invoiceincgst'},
-        gstrate       => $gstrate,
+        gstrate       => $supplier->{gstrate} ? $supplier->{'gstrate'}+0.0 : 0,
+        gst_values    => \@gst_values,
         discount      => $supplier->{'discount'},
         deliverytime  => $supplier->{deliverytime},
         loop_currency => $loop_currency,
-        GST           => $tax_rate,
         enter         => 1,
-        default_gst_rate => $default_gst_rate,
     );
 }
 
index 3dc6964..7b3bf9d 100755 (executable)
@@ -100,13 +100,8 @@ $data{'gstreg'}=$input->param('gst');
 $data{'listincgst'}=$input->param('list_gst');
 $data{'invoiceincgst'}=$input->param('invoice_gst');
 #have to transform this into fraction so it's easier to use
-my $gstrate = $input->param('gstrate');
-if ($gstrate eq '') {
-    $data{'gstrate'} = undef;
-} else {
-    $data{'gstrate'} = $input->param('gstrate')/100;
-}
-$data{'discount'}=$input->param('discount');
+$data{'gstrate'} = $input->param('gstrate');
+$data{'discount'} = $input->param('discount');
 $data{deliverytime} = $input->param('deliverytime');
 $data{'active'}=$input->param('status');
 if($data{'name'}) {
index 9dc8b6e..68cd0d6 100755 (executable)
@@ -46,23 +46,29 @@ my ( $template, $loggedinuser, $cookie ) = get_template_and_user(
 );
 
 
-my $dbh          = C4::Context->dbh;
-my $error        = $input->param('error');
-my $biblionumber = $input->param('biblionumber');
-$biblionumber = 0 unless $biblionumber;
-my $frameworkcode = $input->param('frameworkcode');
-my $title         = $input->param('title');
-my $author        = $input->param('author');
-my $isbn          = $input->param('isbn');
-my $issn          = $input->param('issn');
-my $lccn          = $input->param('lccn');
+my $dbh             = C4::Context->dbh;
+my $error           = $input->param('error');
+my $biblionumber    = $input->param('biblionumber');
+$biblionumber       = 0 unless $biblionumber;
+my $frameworkcode   = $input->param('frameworkcode');
+my $title           = $input->param('title');
+my $author          = $input->param('author');
+my $isbn            = $input->param('isbn');
+my $issn            = $input->param('issn');
+my $lccn            = $input->param('lccn');
 my $lccall          = $input->param('lccall');
-my $subject= $input->param('subject');
-my $dewey = $input->param('dewey');
-my $controlnumber      = $input->param('controlnumber');
-my $op            = $input->param('op');
-my $booksellerid = $input->param('booksellerid');
-my $basketno = $input->param('basketno');
+my $subject         = $input->param('subject');
+my $dewey           = $input->param('dewey');
+my $controlnumber   = $input->param('controlnumber');
+my $op              = $input->param('op');
+my $booksellerid    = $input->param('booksellerid');
+my $basketno        = $input->param('basketno');
+
+my $page            = $input->param('current_page') || 1;
+$page               = $input->param('goto_page') if $input->param('changepage_goto');
+my $show_next       = 0;
+my $total_pages     = 0;
+
 my $noconnection;
 my $attr = '';
 my $term;
@@ -112,22 +118,26 @@ $template->param( frameworkcode => $frameworkcode,
                                     );
                                     
 
+$template->param(
+    isbn         => $isbn,
+    issn         => $issn,
+    lccn         => $lccn,
+    lccall       => $lccall,
+    title        => $title,
+    author       => $author,
+    controlnumber=> $controlnumber,
+    biblionumber => $biblionumber,
+    dewey        => $dewey,
+    subject      => $subject,
+);
 
 if ( $op ne "do_search" ) {
     my $sth = $dbh->prepare("select id,host,name,checked from z3950servers  order by host");
     $sth->execute();
     my $serverloop = $sth->fetchall_arrayref( {} );
     $template->param(
-        isbn         => $isbn,
-        issn         => $issn,
-        lccn         => $lccn,
-        lccall       => $lccall,
-        title        => $title,
-        author       => $author,
-        controlnumber=> $controlnumber,
         serverloop   => $serverloop,
         opsearch     => "search",
-        biblionumber => $biblionumber,
     );
     output_html_with_http_headers $input, $cookie, $template->output;
     exit;
@@ -148,10 +158,14 @@ if ( $op ne "do_search" ) {
     my $s = 0;
     my $query;
     my $nterms;
-    if ($isbn || $issn) {
-        $term=$isbn if ($isbn);
-        $term=$issn if ($issn);
-        $query .= " \@or \@attr 1=8 \"$term\" \@attr 1=7 \"$term\" ";
+    if ($isbn) {
+        $term=$isbn;
+        $query .= " \@attr 1=7 \@attr 5=1 \"$term\" ";
+        $nterms++;
+    }
+    if ($issn) {
+        $term=$issn;
+        $query .= " \@attr 1=8 \@attr 5=1 \"$term\" ";
         $nterms++;
     }
     if ($title) {
@@ -258,13 +272,10 @@ warn "query ".$query  if $DEBUG;
             warn "numresults = $numresults" if $DEBUG;
             my $i;
             my $result = '';
-            if ( $numresults > 0 ) {
-                for (
-                    $i = 0 ;
-                    $i < ( ( $numresults < 20 ) ? ($numresults) : (20) ) ;
-                    $i++
-                  )
-                {
+            if ( $numresults > 0  and $numresults >= (($page-1)*20)) {
+                $show_next = 1 if $numresults >= ($page*20);
+                $total_pages = int($numresults/20)+1 if $total_pages < ($numresults/20);
+                for ($i = ($page-1)*20; $i < (($numresults < ($page*20)) ? $numresults : ($page*20)); $i++) {
                     my $rec = $oResult[$k]->record($i);
                     if ($rec) {
                         my $marcrecord;
@@ -277,6 +288,10 @@ warn "query ".$query  if $DEBUG;
 ## In HEAD i change everything to UTF-8
 # In rel2_2 i am not sure what encoding is so no character conversion is done here
 ##Add necessary encoding changes to here -TG
+
+                        # Normalize the record so it doesn't have separated diacritics
+                        SetUTF8Flag($marcrecord);
+
                         my $oldbiblio = TransformMarcToKoha( $dbh, $marcrecord, "" );
                         $oldbiblio->{isbn}   =~ s/ |-|\.//g if $oldbiblio->{isbn};
                         # pad | and ( with spaces to allow line breaks in the HTML
@@ -309,7 +324,25 @@ warn "query ".$query  if $DEBUG;
             }    #$numresults
         }
     }    # if $k !=0
-    #   print  $template->output  if $firstresult !=1;
+    my $numberpending = $nremaining - 1;
+
+    my @servers = ();
+    foreach my $id (@id) {
+        push(@servers,{id => $id});
+    }
+
+    $template->param(
+        breeding_loop => \@breeding_loop,
+        server        => $servername[$k],
+        numberpending => $numberpending,
+        current_page => $page,
+        servers => \@servers,
+        total_pages => $total_pages,
+    );
+    $template->param(show_nextbutton=>1) if $show_next;
+    $template->param(show_prevbutton=>1) if $page != 1;
+
+    #  print  $template->output  if $firstresult !=1;
     $firstresult++;
 
   } # while nremaining
index 64b333a..5f34dc2 100755 (executable)
@@ -72,7 +72,8 @@ my $budget_period_hashref= $input->Vars;
 #my $sort1_authcat = $input->param('sort1_authcat');
 #my $sort2_authcat = $input->param('sort2_authcat');
 
-my $pagesize    = 20;
+my $activepagesize = 20;
+my $inactivepagesize = 20;
 $searchfield =~ s/\,//g;
 
 my ($template, $borrowernumber, $cookie, $staff_flags ) = get_template_and_user(
@@ -116,11 +117,9 @@ if ( $op eq 'add_form' ) {
     ## add or modify a budget period (preparation)
     ## get information about the budget period that must be modified
 
-
     if ($budget_period_id) {    # MOD
                my $budgetperiod_hash=GetBudgetPeriod($budget_period_id);
         # get dropboxes
-               FormatData($budgetperiod_hash);
 
         my $editnum = new Number::Format(
             'int_curr_symbol'   => '',
@@ -159,7 +158,6 @@ elsif ( $op eq 'delete_confirm' ) {
     my $total = 0;
     my $data = GetBudgetPeriod( $budget_period_id);
 
-       FormatData($data);
        $$data{'budget_period_total'}=$num->format_price(  $data->{'budget_period_total'});
     $template->param(
                %$data
@@ -245,27 +243,56 @@ elsif ( $op eq 'duplicate_budget' ){
 # DEFAULT - DISPLAY AQPERIODS TABLE
 # -------------------------------------------------------------------
 # display the list of budget periods
-    my $results = GetBudgetPeriods();
-       $template->param( period_button_only => 1 ) unless (@$results) ;
-    my $page = $input->param('page') || 1;
-    my $first = ( $page - 1 ) * $pagesize;
-    # if we are on the last page, the number of the last word to display
-    # must not exceed the length of the results array
-    my $last = min( $first + $pagesize - 1, scalar @{$results} - 1, );
-    my $toggle = 0;
-    my @period_loop;
-    foreach my $result ( @{$results}[ $first .. $last ] ) {
-        my $budgetperiod = $result;
-               FormatData($budgetperiod);
-        $budgetperiod->{'budget_period_total'}     = $num->format_price( $budgetperiod->{'budget_period_total'} );
-        $budgetperiod->{budget_active} = 1;
-        push( @period_loop, $budgetperiod );
-    }
 
-    $template->param(
-        period_loop           => \@period_loop,
-               pagination_bar            => pagination_bar("aqbudgetperiods.pl",getnbpages(scalar(@$results),$pagesize),$page),
-    );
+my $activepage = $input->param('apage') || 1;
+my $inactivepage = $input->param('ipage') || 1;
+# Get active budget periods
+my $results = GetBudgetPeriods(
+    {budget_period_active => 1},
+    [{budget_period_description => 0}]
+);
+my $first = ( $activepage - 1 ) * $activepagesize;
+my $last = min( $first + $activepagesize - 1, scalar @{$results} - 1, );
+my @period_active_loop;
+
+foreach my $result ( @{$results}[ $first .. $last ] ) {
+    my $budgetperiod = $result;
+    $budgetperiod->{'budget_period_total'}     = $num->format_price( $budgetperiod->{'budget_period_total'} );
+    $budgetperiod->{budget_active} = 1;
+    push( @period_active_loop, $budgetperiod );
+}
+my $url = "aqbudgetperiods.pl";
+$url .=  "?ipage=$inactivepage" if($inactivepage != 1);
+my $active_pagination_bar = pagination_bar ($url, getnbpages( scalar(@$results), $activepagesize), $activepage, "apage");
+
+# Get inactive budget periods
+$results = GetBudgetPeriods(
+    {budget_period_active => 0},
+    [{budget_period_enddate => 1}]
+);
+
+$first = ( $inactivepage - 1 ) * $inactivepagesize;
+$last = min( $first + $inactivepagesize - 1, scalar @{$results} - 1, );
+my @period_inactive_loop;
+foreach my $result ( @{$results}[ $first .. $last ] ) {
+    my $budgetperiod = $result;
+    $budgetperiod->{'budget_period_total'} = $num->format_price( $budgetperiod->{'budget_period_total'} );
+    $budgetperiod->{budget_active} = 1;
+    push( @period_inactive_loop, $budgetperiod );
+}
+$url = "aqbudgetperiods.pl?tab=2";
+$url .= "&apage=$activepage" if($activepage != 1);
+my $inactive_pagination_bar = pagination_bar ($url, getnbpages( scalar(@$results), $inactivepagesize), $inactivepage, "ipage");
+
+my $tab = $input->param('tab') ? $input->param('tab') - 1 : 0;
+$template->param(
+    period_active_loop      => \@period_active_loop,
+    period_inactive_loop    => \@period_inactive_loop,
+    active_pagination_bar   => $active_pagination_bar,
+    inactive_pagination_bar => $inactive_pagination_bar,
+    tab                     => $tab,
+    dateformat              => C4::Context->preference('dateformat'),
+);
 
 $template->param($op=>1);
 output_html_with_http_headers $input, $cookie, $template->output;
index 949e488..17917ce 100755 (executable)
@@ -188,17 +188,18 @@ output_html_with_http_headers $input, $cookie, $template->output;
 exit 0;
 
 sub default_form {
-       # build categories list
-       my $sth = $dbh->prepare("select distinct category from authorised_values");
-       $sth->execute;
-       my @category_list;
-       my %categories;     # a hash, to check that some hardcoded categories exist.
-       while ( my ($category) = $sth->fetchrow_array) {
-               push(@category_list,$category);
-               $categories{$category} = 1;
-       }
-       # push koha system categories
-    foreach (qw(Asort1 Asort2 Bsort1 Bsort2 SUGGEST DAMAGED LOST)) {
+    # build categories list
+    my $sth = $dbh->prepare("select distinct category from authorised_values");
+    $sth->execute;
+    my @category_list;
+    my %categories;    # a hash, to check that some hardcoded categories exist.
+    while ( my ($category) = $sth->fetchrow_array ) {
+        push( @category_list, $category );
+        $categories{$category} = 1;
+    }
+
+    # push koha system categories
+    foreach (qw(Asort1 Asort2 Bsort1 Bsort2 SUGGEST DAMAGED LOST REPORT_GROUP REPORT_SUBGROUP)) {
         push @category_list, $_ unless $categories{$_};
     }
 
diff --git a/admin/didyoumean.pl b/admin/didyoumean.pl
new file mode 100755 (executable)
index 0000000..434d0e9
--- /dev/null
@@ -0,0 +1,37 @@
+#!/usr/bin/perl
+
+use strict;
+use warnings;
+use CGI;
+use C4::Context;
+use C4::Auth;
+use C4::Output;
+use Koha::SuggestionEngine;
+use Module::Load::Conditional qw(can_load);
+use JSON;
+
+my $input = new CGI;
+
+my ($template, $loggedinuser, $cookie)
+    = get_template_and_user({template_name => "admin/didyoumean.tt",
+            query => $input,
+            type => "intranet",
+            authnotrequired => 0,
+            flagsrequired => {parameters => 'parameters_remaining_permissions'},
+            debug => 1,
+            });
+
+my $opacplugins = from_json(C4::Context->preference('OPACdidyoumean') || '[]');
+
+my $intraplugins = from_json(C4::Context->preference('INTRAdidyoumean') || '[]');
+
+my @pluginlist = Koha::SuggestionEngine::AvailablePlugins();
+foreach my $plugin (@pluginlist) {
+    next if $plugin eq 'Koha::SuggestionEngine::Plugin::Null';
+    next unless (can_load( modules => { "$plugin" => undef } ));
+    push @$opacplugins, { name => $plugin->NAME } unless grep { $_->{name} eq $plugin->NAME } @$opacplugins;
+    push @$intraplugins, { name => $plugin->NAME } unless grep { $_->{name} eq $plugin->NAME } @$intraplugins;
+}
+$template->{VARS}->{OPACpluginlist} = $opacplugins;
+$template->{VARS}->{INTRApluginlist} = $intraplugins;
+output_html_with_http_headers $input, $cookie, $template->output;
index b03fdbb..1552010 100755 (executable)
@@ -31,7 +31,7 @@ my $framework = $query->param('framework') || "";
 my $field         = $query->param('fieldname');
 my $fieldcode     = $query->param('marcfield');
 my $subfieldcode  = $query->param('marcsubfield');
-my $op            = $query->param('op');
+my $op            = $query->param('op') || q{};
 my $id            = $query->param('id');
 
 my ($template, $loggedinuser, $cookie)
index 365a861..615fbcf 100755 (executable)
@@ -46,7 +46,6 @@ sub string_search {
         $u++;
     }
     $sth->finish;
-    $dbh->disconnect;
     return ( $cnt, \@results );
 }
 
index d42e345..fd8d7c2 100755 (executable)
@@ -267,7 +267,7 @@ if ($op eq 'add_form') {
                        $row_data{delete}        = "$script_name?op=delete_confirm&amp;searchfield="      .$results[$i]->{'mts_tagfield'}."&amp;frameworkcode=".$frameworkcode;
                        $j=$i;
                        my @internal_loop = ();
-                       while ( ( $results[$i]->{'tagfield'} == $results[$j]->{'tagfield'} ) and ( $j < $cnt ) ) {
+                       while ( ( $j < $cnt ) and ( $results[$i]->{'tagfield'} == $results[$j]->{'tagfield'} ) ) {
                                my %subfield_data;
                                $subfield_data{tagsubfield}      = $results[$j]->{'tagsubfield'};
                                $subfield_data{liblibrarian}     = $results[$j]->{'liblibrarian'};
index 2fa2ac6..ea86c48 100755 (executable)
@@ -92,9 +92,10 @@ sub add_matching_rule_form {
 sub add_update_matching_rule {
     my $template = shift;
     my $matcher_id = shift;
+    my $record_type = $input->param('record_type') || 'biblio';
 
     # do parsing
-    my $matcher = C4::Matcher->new('biblio', 1000); # FIXME biblio only for now
+    my $matcher = C4::Matcher->new($record_type, 1000);
     $matcher->code($input->param('code'));
     $matcher->description($input->param('description'));
     $matcher->threshold($input->param('threshold'));
@@ -203,10 +204,11 @@ sub edit_matching_rule_form {
 
     my $matcher = C4::Matcher->fetch($matcher_id);
 
-    $template->param(matcher_id => $matcher_id);
-    $template->param(code => $matcher->code());
-    $template->param(description => $matcher->description());
-    $template->param(threshold => $matcher->threshold());
+    $template->{VARS}->{'matcher_id'} = $matcher_id;
+    $template->{VARS}->{'code'} = $matcher->code();
+    $template->{VARS}->{'description'} = $matcher->description();
+    $template->{VARS}->{'threshold'} = $matcher->threshold();
+    $template->{VARS}->{'record_type'} = $matcher->record_type();
 
     my $matcher_info = $matcher->dump();
     my @matchpoints = ();
index b1ad005..db91e76 100755 (executable)
@@ -297,7 +297,10 @@ my @TABS;
 if ( $op eq 'search' ) {
     my $searchfield = $input->param( 'searchfield' );
 
-    $searchfield =~ s/[^a-zA-Z0-9_ -]//g;
+    $searchfield =~ s/\p{IsC}//g;
+    $searchfield =~ s/\s+/ /;
+    $searchfield =~ s/^\s+//;
+    $searchfield =~ s/\s+$//;
 
     $template->param( searchfield => $searchfield );
 
index f45ea43..c221d71 100755 (executable)
@@ -44,7 +44,7 @@ my ($template, $loggedinuser, $cookie)
 
 my $type=$input->param('type');
 my $branch = $input->param('branch') || ( C4::Branch::onlymine() ? ( C4::Branch::mybranch() || '*' ) : '*' );
-my $op = $input->param('op');
+my $op = $input->param('op') || q{};
 
 if ($op eq 'delete') {
     my $itemtype     = $input->param('itemtype');
index f7a7d05..175f6a0 100755 (executable)
@@ -203,7 +203,8 @@ $tabsysprefs{DisplayClearScreenButton}       = "Circulation";
 $tabsysprefs{AllowAllMessageDeletion}        = "Circulation";
 $tabsysprefs{OverdueNoticeBcc}               = "Circulation";
 $tabsysprefs{OverduesBlockCirc}              = "Circulation";
-
+$tabsysprefs{UseTransportCostMatrix}         = "Circulation";
+$tabsysprefs{AllowReturnToBranch}            = "Circulation";
 
 # Staff Client
 $tabsysprefs{template}                = "StaffClient";
diff --git a/admin/transport-cost-matrix.pl b/admin/transport-cost-matrix.pl
new file mode 100755 (executable)
index 0000000..25d3911
--- /dev/null
@@ -0,0 +1,124 @@
+#!/usr/bin/perl
+# Copyright 2000-2002 Katipo Communications
+# copyright 2010 BibLibre
+#
+# This file is part of Koha.
+#
+# Koha is free software; you can redistribute it and/or modify it under the
+# terms of the GNU General Public License as published by the Free Software
+# Foundation; either version 2 of the License, or (at your option) any later
+# version.
+#
+# Koha is distributed in the hope that it will be useful, but WITHOUT ANY
+# WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR
+# A PARTICULAR PURPOSE.  See the GNU General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License along
+# with Koha; if not, write to the Free Software Foundation, Inc.,
+# 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
+
+use strict;
+use warnings;
+use CGI;
+use C4::Context;
+use C4::Output;
+use C4::Auth;
+use C4::Koha;
+use C4::Debug;
+use C4::Branch; # GetBranches
+use C4::HoldsQueue qw(TransportCostMatrix UpdateTransportCostMatrix);
+
+use Data::Dumper;
+
+my $input = new CGI;
+
+my ($template, $loggedinuser, $cookie)
+    = get_template_and_user({template_name => "admin/transport-cost-matrix.tmpl",
+                            query => $input,
+                            type => "intranet",
+                            authnotrequired => 0,
+                            flagsrequired => {parameters => 1},
+                            debug => 1,
+                            });
+my $use_transport_cost_matrix = C4::Context->preference("UseTransportCostMatrix");
+
+my $update = $input->param('op') eq 'set-cost-matrix';
+
+my ($cost_matrix, $have_matrix);
+unless ($update) {
+    $cost_matrix = TransportCostMatrix();
+    $have_matrix = keys %$cost_matrix if $cost_matrix;
+}
+
+my $branches = GetBranches();
+my @branchloop = map { code => $_,
+                       name => $branches->{$_}->{'branchname'} },
+                 sort { $branches->{$a}->{branchname} cmp $branches->{$b}->{branchname} }
+                 keys %$branches;
+my (@branchfromloop, @cost, @errors);
+foreach my $branchfrom ( @branchloop ) {
+    my $fromcode = $branchfrom->{code};
+
+    my %from_row = ( code => $fromcode, name => $branchfrom->{name} );
+    foreach my $branchto ( @branchloop ) {
+        my $tocode = $branchto->{code};
+
+        my %from_to_input_def = ( code => $tocode, name => $branchto->{name} );
+        push @{ $from_row{branchtoloop} }, \%from_to_input_def;
+
+        if ($fromcode eq $tocode) {
+            $from_to_input_def{skip} = 1;
+            next;
+        }
+
+        (my $from_to = "${fromcode}_${tocode}") =~ s/\W//go;
+         $from_to_input_def{id} = $from_to;
+        my $input_name   = "cost_$from_to";
+        my $disable_name = "disable_$from_to";
+
+        if ($update) {
+            my $value = $from_to_input_def{value} = $input->param($input_name);
+            if ( $input->param($disable_name) ) {
+                $from_to_input_def{disabled} = 1;
+            }
+            else {
+                push @errors, "Invalid value for $from_row{name} -> $from_to_input_def{name}"
+                  unless $value =~ /\d/o && $value >= 0.0;
+            }
+        }
+        else {
+            if ($have_matrix) {
+                if ( my $cell = $cost_matrix->{$tocode}{$fromcode} ) {
+                    $from_to_input_def{value} = $cell->{cost};
+                    $from_to_input_def{disabled} = 1 if $cell->{disable_transfer};
+                }
+            } else {
+                $from_to_input_def{disabled} = 1;
+            }
+        }
+    }
+
+#              die Dumper(\%from_row);
+    push @branchfromloop, \%from_row;
+}
+
+if ($update && !@errors) {
+    my @update_recs = map {
+        my $from = $_->{code};
+        map { frombranch => $from, tobranch => $_->{code}, cost => $_->{value}, disable_transfer => $_->{disabled} || 0 },
+            grep { $_->{code} ne $from }
+            @{ $_->{branchtoloop} };
+    } @branchfromloop;
+
+    UpdateTransportCostMatrix(\@update_recs);
+}
+
+$template->param(
+    branchloop => \@branchloop,
+    branchfromloop => \@branchfromloop,
+    WARNING_transport_cost_matrix_off => !$use_transport_cost_matrix,
+    errors => \@errors,
+);
+output_html_with_http_headers $input, $cookie, $template->output;
+
+exit 0;
index d6044fc..fc9e2ed 100755 (executable)
@@ -53,13 +53,12 @@ sub StringSearch  {
         $sth->execute;
     }
 
-       my @results;
-       while (my $data=$sth->fetchrow_hashref) {
-           push(@results,$data);
-       }
-       $sth->finish;
-       $dbh->disconnect;
-       return (scalar(@results),\@results);
+    my @results;
+    while (my $data=$sth->fetchrow_hashref) {
+        push(@results,$data);
+    }
+    $sth->finish;
+    return (scalar(@results),\@results);
 }
 
 my $input = new CGI;
index a3821ee..8182299 100755 (executable)
@@ -35,6 +35,7 @@ my $authtypecode = $query->param('authtypecode');
 my $index        = $query->param('index');
 my $tagid        = $query->param('tagid');
 my $resultstring = $query->param('result');
+my $relationship = $query->param('relationship');
 my $dbh          = C4::Context->dbh;
 
 my $startfrom = $query->param('startfrom');
@@ -192,6 +193,9 @@ $template->param(
     authtypecode  => $authtypecode,
 );
 
+$template->{VARS}->{source} = $query->param('source') || '';
+$template->{VARS}->{relationship} = $query->param('relationship') || '';
+
 # Print the page
 output_html_with_http_headers $query, $cookie, $template->output;
 
index bc565d1..f67f5c9 100755 (executable)
@@ -21,6 +21,7 @@ use strict;
 use warnings;
 
 use CGI;
+use URI::Escape;
 use C4::Auth;
 
 use C4::Context;
@@ -32,13 +33,11 @@ use C4::Koha;    # XXX subfield_is_koha_internal_p
 use C4::Biblio;
 
 my $query = new CGI;
-my $op    = $query->param('op');
-$op ||= q{};
-my $authtypecode = $query->param('authtypecode');
-$authtypecode ||= q{};
-my $dbh = C4::Context->dbh;
+my $dbh   = C4::Context->dbh;
+my $op           = $query->param('op')           || '';
+my $authtypecode = $query->param('authtypecode') || '';
+my $authid       = $query->param('authid')       || '';
 
-my $authid = $query->param('authid');
 my ( $template, $loggedinuser, $cookie );
 
 my $authtypes = getauthtypes;
@@ -71,23 +70,32 @@ if ( $op eq "delete" ) {
     );
     &DelAuthority( $authid, 1 );
 
-    $op = "do_search";
+    if ( $query->param('operator') ) {
+        # query contains search params so perform search
+        $op = "do_search";
+    }
+    else {
+        $op = '';
+    }
 }
 if ( $op eq "do_search" ) {
-    my @marclist  = $query->param('marclist');
-    my @and_or    = $query->param('and_or');
-    my @excluding = $query->param('excluding');
-    my @operator  = $query->param('operator');
-    my $orderby   = $query->param('orderby');
-    my @value     = $query->param('value');
+    my $marclist  = $query->param('marclist')  || '';
+    my $and_or    = $query->param('and_or')    || '';
+    my $excluding = $query->param('excluding') || '';
+    my $operator  = $query->param('operator')  || '';
+    my $orderby   = $query->param('orderby')   || '';
+    my $value     = $query->param('value')     || '';
 
     my $startfrom      = $query->param('startfrom')      || 1;
     my $resultsperpage = $query->param('resultsperpage') || 20;
 
-    my ( $results, $total ) =
-      SearchAuthorities( \@marclist, \@and_or, \@excluding, \@operator, \@value,
-        ( $startfrom - 1 ) * $resultsperpage,
-        $resultsperpage, $authtypecode, $orderby );
+    my ( $results, $total ) = SearchAuthorities(
+        [$marclist],  [$and_or],
+        [$excluding], [$operator],
+        [$value], ( $startfrom - 1 ) * $resultsperpage,
+        $resultsperpage, $authtypecode,
+        $orderby
+    );
 
     ( $template, $loggedinuser, $cookie ) = get_template_and_user(
         {
@@ -101,54 +109,34 @@ if ( $op eq "do_search" ) {
     );
 
     $template->param(
-        marclist       => $query->param('marclist'),
-        and_or         => $query->param('and_or'),
-        excluding      => $query->param('excluding'),
-        operator       => $query->param('operator'),
-        orderby        => $query->param('orderby'),
-        value          => $query->param('value'),
-        authtypecode   => $query->param('authtypecode'),
+        marclist       => $marclist,
+        and_or         => $and_or,
+        excluding      => $excluding,
+        operator       => $operator,
+        orderby        => $orderby,
+        value          => $value,
+        authtypecode   => $authtypecode,
         startfrom      => $startfrom,
         resultsperpage => $resultsperpage,
     );
 
-    my @field_data = ();
-
     # we must get parameters once again. Because if there is a mainentry, it
     # has been replaced by something else during the search, thus the links
     # next/previous would not work anymore
-    my @marclist_ini = $query->param('marclist');
-    for ( my $i = 0 ; $i <= $#marclist ; $i++ ) {
-        if ( $value[$i] ) {
-            push @field_data, { term => "marclist", val => $marclist_ini[$i] };
-            if ( !defined $and_or[$i] ) {
-                $and_or[$i] = q{};
-            }
-            push @field_data, { term => "and_or", val => $and_or[$i] };
-            if ( !defined $excluding[$i] ) {
-                $excluding[$i] = q{};
-            }
-            push @field_data, { term => "excluding", val => $excluding[$i] };
-            push @field_data, { term => "operator",  val => $operator[$i] };
-            push @field_data, { term => "value",     val => $value[$i] };
-        }
-    }
 
     # construction of the url of each page
-    my $base_url =
-        'authorities-home.pl?'
-      . join( '&amp;', map { $_->{term} . '=' . $_->{val} } @field_data )
-      . '&amp;'
-      . join(
-        '&amp;',
-        map { $_->{term} . '=' . $_->{val} } (
-            { term => 'resultsperpage', val => $resultsperpage },
-            { term => 'type',           val => 'intranet' },
-            { term => 'op',             val => 'do_search' },
-            { term => 'authtypecode',   val => $authtypecode },
-            { term => 'orderby',        val => $orderby },
-        )
-      );
+    my $value_url = uri_escape($value);
+    my $base_url = "authorities-home.pl?"
+      ."marclist=$marclist"
+      ."&amp;and_or=$and_or"
+      ."&amp;excluding=$excluding"
+      ."&amp;operator=$operator"
+      ."&amp;value=$value_url"
+      ."&amp;resultsperpage=$resultsperpage"
+      ."&amp;type=intranet"
+      ."&amp;op=do_search"
+      ."&amp;authtypecode=$authtypecode"
+      ."&amp;orderby=$orderby";
 
     my $from = ( $startfrom - 1 ) * $resultsperpage + 1;
     my $to;
@@ -191,7 +179,10 @@ if ( $op eq '' ) {
 
 }
 
-$template->param( authtypesloop => \@authtypesloop, );
+$template->param(
+    authtypesloop => \@authtypesloop,
+    op            => $op,
+);
 
 $template->{VARS}->{marcflavour} = C4::Context->preference("marcflavour");
 
index 5b6afbd..b63f7e4 100755 (executable)
@@ -194,9 +194,8 @@ sub create_input {
             id=\"".$subfield_data{id}."\"
             name=\"".$subfield_data{id}."\"
             value=\"$value\"
-            class=\"input_marceditor readonly\"
-            tabindex=\"1\"
-            readonly=\"readonly\" \/>
+            class=\"input_marceditor\"
+            tabindex=\"1\" \/>
         <a href=\"#\" class=\"buttonDot\"
         onclick=\"openAuth(this.parentNode.getElementsByTagName('input')[1].id,'".$tagslib->{$tag}->{$subfield}->{authtypecode}."'); return false;\" tabindex=\"1\" title=\"Tag Editor\">...</a>
     ";
@@ -616,7 +615,7 @@ if ($op eq "add") {
         build_hidden_data;
         $template->param(authid =>$authid,
                         duplicateauthid     => $duplicateauthid,
-                        duplicateauthvalue  => $duplicateauthvalue->{authorized}->[0],
+                        duplicateauthvalue  => $duplicateauthvalue->{'authorized'}->[0]->{'heading'},
                         );
     }
 } elsif ($op eq "delete") {
index 7de7db3..6b3d122 100755 (executable)
@@ -54,6 +54,7 @@ my $dbh = C4::Context->dbh;
 my $authid       = $query->param('authid');
 my $index        = $query->param('index');
 my $tagid        = $query->param('tagid');
+my $relationship = $query->param('relationship');
 my $authtypecode = &GetAuthTypeCode($authid);
 my $tagslib      = &GetTagsLabels( 1, $authtypecode );
 
@@ -84,6 +85,7 @@ if ($authid) {
     # Get all values for each distinct subfield
     my %subfields;
     for ( $field->subfields ) {
+        next if $_->[0] == "9"; # $9 will be set with authid value
         my $letter = $_->[0];
         next if defined $subfields{$letter};
         my @values = $field->subfield($letter);
@@ -95,6 +97,8 @@ if ($authid) {
         my $letter = $_ || '@';
         push( @subfield_loop, {marc_subfield => $letter, marc_values => $subfields{$_}} );
     }
+
+    push( @subfield_loop, { marc_subfield => 'w', marc_values => $relationship } ) if ( $relationship );
 }
 else {
     # authid is empty => the user want to empty the entry.
index 56a1a45..d4dc693 100755 (executable)
@@ -93,7 +93,7 @@ my @fields = $record->fields();
                        my @subf=$field->subfields;
        # loop through each subfield
                        for my $i (0..$#subf) {
-                               $subf[$i][0] = "@" unless $subf[$i][0];
+                               $subf[$i][0] = "@" unless defined $subf[$i][0];
 #                              next if ($tagslib->{$field->tag()}->{$subf[$i][0]}->{tab}  ne $tabloop);
                                next if ($tagslib->{$field->tag()}->{$subf[$i][0]}->{hidden});
                                my %subfield_data;
index 458746c..6402961 100755 (executable)
@@ -106,7 +106,7 @@ sub build_tabs {
                       my @subf=$field->subfields;
                   # loop through each subfield
                       for my $i (0..$#subf) {
-                        $subf[$i][0] = "@" unless $subf[$i][0];
+                        $subf[$i][0] = "@" unless defined $subf[$i][0];
                         next
                         if (
                             $tagslib->{ $field->tag() }->{ $subf[$i][0] }->{tab}
@@ -199,27 +199,8 @@ if (not defined $record) {
 }
 
 if (C4::Context->preference("AuthDisplayHierarchy")){
-  my $trees=BuildUnimarcHierarchies($authid);
-  my @trees = split /;/,$trees ;
-  push @trees,$trees unless (@trees);
-  my @loophierarchies;
-  foreach my $tree (@trees){
-    my @tree=split /,/,$tree;
-    push @tree,$tree unless (@tree);
-    my $cnt=0;
-    my @loophierarchy;
-    foreach my $element (@tree){
-      my $elementdata = GetAuthority($element);
-      $record= $elementdata if ($authid==$element);
-      push @loophierarchy, BuildUnimarcHierarchy($elementdata,"child".$cnt, $authid);
-      $cnt++;
-    }
-    push @loophierarchies, { 'loopelement' =>\@loophierarchy};
-  }
-  $template->param(
-    'displayhierarchy' =>C4::Context->preference("AuthDisplayHierarchy"),
-    'loophierarchies' =>\@loophierarchies,
-  );
+    $template->{VARS}->{'displayhierarchy'} = C4::Context->preference("AuthDisplayHierarchy");
+    $template->{VARS}->{'loophierarchies'} = GenerateHierarchy($authid);
 }
 
 my $count = CountUsage($authid);
index 0490076..2b967df 100755 (executable)
@@ -82,7 +82,7 @@ my ( $template, $loggedinuser, $cookie ) = get_template_and_user(
     }
 );
 
-my $record = GetMarcBiblio($biblionumber);
+my $record = GetMarcBiblio($biblionumber, 1);
 $template->param( ocoins => GetCOinSBiblio($record) );
 
 if ( not defined $record ) {
@@ -177,7 +177,7 @@ for ( my $tabloop = 0 ; $tabloop <= 10 ; $tabloop++ ) {
 
             # loop through each subfield
             for my $i ( 0 .. $#subf ) {
-                $subf[$i][0] = "@" unless $subf[$i][0];
+                $subf[$i][0] = "@" unless defined $subf[$i][0];
                 next
                   if (
                     $tagslib->{ $fields[$x_i]->tag() }->{ $subf[$i][0] }->{tab}
index f2ad4eb..67e9c99 100755 (executable)
@@ -149,7 +149,9 @@ foreach my $subscription (@subscriptions) {
     my %cell;
        my $serials_to_display;
     $cell{subscriptionid}    = $subscription->{subscriptionid};
-    $cell{subscriptionnotes} = $subscription->{notes};
+    $cell{subscriptionnotes} = $subscription->{internalnotes};
+    $cell{missinglist}       = $subscription->{missinglist};
+    $cell{librariannote}     = $subscription->{librariannote};
     $cell{branchcode}        = $subscription->{branchcode};
     $cell{branchname}        = GetBranchName($subscription->{branchcode});
     $cell{hasalert}          = $subscription->{hasalert};
@@ -261,7 +263,7 @@ foreach my $item (@items) {
                $analytics_flag=1;
                $item->{countanalytics} = $countanalytics;
        }
-    if ($item->{'materials'} ne ''){
+    if (defined($item->{'materials'}) && $item->{'materials'} =~ /\S/){
        $materials_flag = 1;
     }
     push @itemloop, $item;
index 011dfab..a5f86a5 100755 (executable)
@@ -41,7 +41,7 @@ my ( $template, $borrowernumber, $cookie ) = get_template_and_user(
 
 my $biblionumber = $query->param('biblionumber') || $query->param('bib');
 my $imagenumber = $query->param('imagenumber');
-my ( $count, $biblio ) = GetBiblio($biblionumber);
+my $biblio = GetBiblio($biblionumber);
 my $itemcount = GetItemsCount($biblionumber);
 
 my @items = GetItemsInfo($biblionumber);
index 288182c..a5c4d0d 100755 (executable)
@@ -61,10 +61,10 @@ if ($itemnumber){
        );
 } else {
        $issues = GetBiblioIssues($biblionumber);
-       my (undef,@biblio)=GetBiblio($biblionumber);
+        my $biblio = GetBiblio($biblionumber);
        my $total  = scalar @$issues;
        $template->param(
-               %{$biblio[0]},
+               %{$biblio},
        );
 } 
 foreach (@{$issues}){
index 809430c..66d731b 100755 (executable)
@@ -28,7 +28,7 @@ use C4::Items;
 use C4::Branch;
 use C4::Acquisition;
 use C4::Bookseller qw(GetBookSellerFromId);
-use C4::Output;             # contains gettemplate
+use C4::Output;
 use C4::Auth;
 use C4::Serials;
 use C4::Circulation;  # to use itemissues
@@ -152,17 +152,19 @@ foreach my $item (@items){
     }
 
     my $order  = GetOrderFromItemnumber( $item->{'itemnumber'} );
-    my $basket = GetBasket( $order->{'basketno'} );
-    $item->{'booksellerid'}            = $basket->{'booksellerid'};
     $item->{'ordernumber'}             = $order->{'ordernumber'};
     $item->{'basketno'}                = $order->{'basketno'};
-    $item->{'booksellerinvoicenumber'} = $order->{'booksellerinvoicenumber'};
     $item->{'orderdate'}               = $order->{'entrydate'};
     if ($item->{'basketno'}){
            my $basket = GetBasket($item->{'basketno'});
            my $bookseller = GetBookSellerFromId($basket->{'booksellerid'});
            $item->{'vendor'} = $bookseller->{'name'};
     }
+    $item->{'invoiceid'}               = $order->{'invoiceid'};
+    if($item->{invoiceid}) {
+        my $invoice = GetInvoice($item->{invoiceid});
+        $item->{invoicenumber} = $invoice->{invoicenumber} if $invoice;
+    }
     $item->{'datereceived'}            = $order->{'datereceived'};
 
     if ($item->{notforloantext} or $item->{itemlost} or $item->{damaged} or $item->{wthdrawn}) {
index 2171df0..8b1234b 100755 (executable)
@@ -372,7 +372,7 @@ if (   C4::Context->preference('defaultSortField')
       . C4::Context->preference('defaultSortOrder');
 }
 
-@sort_by = split("\0",$params->{'sort_by'}) if $params->{'sort_by'};
+@sort_by = $cgi->param('sort_by');
 $sort_by[0] = $default_sort_by unless $sort_by[0];
 foreach my $sort (@sort_by) {
     $template->param($sort => 1) if $sort;
@@ -380,8 +380,7 @@ foreach my $sort (@sort_by) {
 $template->param('sort_by' => $sort_by[0]);
 
 # Use the servers defined, or just search our local catalog(default)
-my @servers;
-@servers = split("\0",$params->{'server'}) if $params->{'server'};
+my @servers = $cgi->param('server');
 unless (@servers) {
     #FIXME: this should be handled using Context.pm
     @servers = ("biblioserver");
@@ -389,13 +388,11 @@ unless (@servers) {
 }
 # operators include boolean and proximity operators and are used
 # to evaluate multiple operands
-my @operators;
-@operators = split("\0",$params->{'op'}) if $params->{'op'};
+my @operators = $cgi->param('op');
 
 # indexes are query qualifiers, like 'title', 'author', etc. They
 # can be single or multiple parameters separated by comma: kw,right-Truncation 
-my @indexes;
-@indexes = split("\0",$params->{'idx'});
+my @indexes = $cgi->param('idx');
 
 # if a simple index (only one)  display the index used in the top search box
 if ($indexes[0] && (!$indexes[1] || $params->{'scan'})) {
@@ -406,12 +403,10 @@ if ($indexes[0] && (!$indexes[1] || $params->{'scan'})) {
 
 
 # an operand can be a single term, a phrase, or a complete ccl query
-my @operands;
-@operands = split("\0",$params->{'q'}) if $params->{'q'};
+my @operands = $cgi->param('q');
 
 # limits are use to limit to results to a pre-defined category such as branch or language
-my @limits;
-@limits = split("\0",$params->{'limit'}) if $params->{'limit'};
+my @limits = $cgi->param('limit');
 
 if($params->{'multibranchlimit'}) {
     push @limits, '('.join( " or ", map { "branch: $_ " } @{ GetBranchesInCategory( $params->{'multibranchlimit'} ) } ).')';
index 684e6f6..7b7dbac 100755 (executable)
@@ -33,6 +33,9 @@ use C4::ClassSource;
 use C4::Dates;
 use List::MoreUtils qw/any/;
 use C4::Search;
+use Storable qw(thaw freeze);
+use URI::Escape;
+
 
 use MARC::File::XML;
 use URI::Escape;
@@ -277,6 +280,33 @@ sub generate_subfield_form {
         return \%subfield_data;
 }
 
+# Removes some subfields when prefilling items
+# This function will remove any subfield that is not in the SubfieldsToUseWhenPrefill syspref
+sub removeFieldsForPrefill {
+
+    my $item = shift;
+
+    # Getting item tag
+    my ($tag, $subtag) = GetMarcFromKohaField("items.barcode", '');
+
+    # Getting list of subfields to keep
+    my $subfieldsToUseWhenPrefill = C4::Context->preference('SubfieldsToUseWhenPrefill');
+
+    # Removing subfields that are not in the syspref
+    if ($tag && $subfieldsToUseWhenPrefill) {
+        my $field = $item->field($tag);
+        my @subfieldsToUse= split(/ /,$subfieldsToUseWhenPrefill);
+        foreach my $subfield ($field->subfields()) {
+            if (!grep { $subfield->[0] eq $_ } @subfieldsToUse) {
+                $field->delete_subfield(code => $subfield->[0]);
+            }
+
+        }
+    }
+
+    return $item;
+
+}
 
 my $input        = new CGI;
 my $error        = $input->param('error');
@@ -315,9 +345,26 @@ my $oldrecord = TransformMarcToKoha($dbh,$record);
 my $itemrecord;
 my $nextop="additem";
 my @errors; # store errors found while checking data BEFORE saving item.
+
+# Getting last created item cookie
+my $prefillitem = C4::Context->preference('PrefillItem');
+my $justaddeditem;
+my $cookieitemrecord;
+if ($prefillitem) {
+    my $lastitemcookie = $input->cookie('LastCreatedItem');
+    if ($lastitemcookie) {
+        $lastitemcookie = uri_unescape($lastitemcookie);
+        if ( thaw($lastitemcookie) ) {
+            $cookieitemrecord = thaw($lastitemcookie) ;
+            $cookieitemrecord = removeFieldsForPrefill($cookieitemrecord);
+        }
+    }
+}
+
 #-------------------------------------------------------------------------------
 if ($op eq "additem") {
-#-------------------------------------------------------------------------------
+
+    #-------------------------------------------------------------------------------
     # rebuild
     my @tags      = $input->param('tag');
     my @subfields = $input->param('subfield');
@@ -334,26 +381,55 @@ if ($op eq "additem") {
     my $add_multiple_copies_submit = $input->param('add_multiple_copies_submit');
     my $number_of_copies           = $input->param('number_of_copies');
 
+    # This is a bit tricky : if there is a cookie for the last created item and
+    # we just added an item, the cookie value is not correct yet (it will be updated
+    # next page). To prevent the form from being filled with outdated values, we
+    # force the use of "add and duplicate" feature, so the form will be filled with
+    # correct values.
+    $add_duplicate_submit = 1 if ($prefillitem);
+    $justaddeditem = 1;
+
+    # if autoBarcode is set to 'incremental', calculate barcode...
+    if ( C4::Context->preference('autoBarcode') eq 'incremental' ) {
+        $record = _increment_barcode($record, $frameworkcode);
+    }
+
+
     if (C4::Context->preference('autoBarcode') eq 'incremental') {
         $record = _increment_barcode($record, $frameworkcode);
     }
 
-    my $addedolditem = TransformMarcToKoha($dbh,$record);
+    my $addedolditem = TransformMarcToKoha( $dbh, $record );
 
     # If we have to add or add & duplicate, we add the item
-    if ($add_submit || $add_duplicate_submit) {
-       # check for item barcode # being unique
-       my $exist_itemnumber = get_item_from_barcode($addedolditem->{'barcode'});
-       push @errors,"barcode_not_unique" if($exist_itemnumber);
-       # if barcode exists, don't create, but report The problem.
-    unless ($exist_itemnumber) {
-           my ($oldbiblionumber,$oldbibnum,$oldbibitemnum) = AddItemFromMarc($record,$biblionumber);
-        set_item_default_location($oldbibitemnum);
-    }
-       $nextop = "additem";
-       if ($exist_itemnumber) {
-           $itemrecord = $record;
-       }
+    if ( $add_submit || $add_duplicate_submit ) {
+
+        # check for item barcode # being unique
+        my $exist_itemnumber = get_item_from_barcode( $addedolditem->{'barcode'} );
+        push @errors, "barcode_not_unique" if ($exist_itemnumber);
+
+        # if barcode exists, don't create, but report The problem.
+        unless ($exist_itemnumber) {
+            my ( $oldbiblionumber, $oldbibnum, $oldbibitemnum ) = AddItemFromMarc( $record, $biblionumber );
+            set_item_default_location($oldbibitemnum);
+
+            # Pushing the last created item cookie back
+            if ($prefillitem && defined $record) {
+                my $itemcookie = $input->cookie(
+                    -name => 'LastCreatedItem',
+                    # We uri_escape the whole freezed structure so we're sure we won't have any encoding problems
+                    -value   => uri_escape_utf8( freeze( $record ) ),
+                    -expires => ''
+                );
+
+                $cookie = [ $cookie, $itemcookie ];
+            }
+
+        }
+        $nextop = "additem";
+        if ($exist_itemnumber) {
+            $itemrecord = $record;
+        }
     }
 
     # If we have to add & duplicate
@@ -370,6 +446,7 @@ if ($op eq "additem") {
             $fieldItem->delete_subfields($tagsubfield);
             $itemrecord->insert_fields_ordered($fieldItem);
         }
+    $itemrecord = removeFieldsForPrefill($itemrecord) if ($prefillitem);
     }
 
     # If we have to add multiple copies
@@ -696,6 +773,11 @@ if($itemrecord){
             }
     # and now we add fields that are empty
 
+# Using last created item if it exists
+
+$itemrecord = $cookieitemrecord if ($prefillitem and not $justaddeditem and $op ne "edititem");
+
+# We generate form, and fill with values if defined
 foreach my $tag ( keys %{$tagslib}){
     foreach my $subtag (keys %{$tagslib->{$tag}}){
         next if subfield_is_koha_internal_p($subtag);
index 020001d..6a46d2f 100755 (executable)
@@ -1,4 +1,4 @@
-#!/usr/bin/perl 
+#!/usr/bin/perl
 
 
 # Copyright 2009 BibLibre
@@ -71,27 +71,27 @@ if ($merge) {
     # Moving items from the other record to the reference record
     my $itemnumbers = get_itemnumbers_of($frombiblio);
     foreach my $itloop ($itemnumbers->{$frombiblio}) {
-       foreach my $itemnumber (@$itloop) {
-           my $res = MoveItemFromBiblio($itemnumber, $frombiblio, $tobiblio);
-           if (not defined $res) {
-               push @notmoveditems, $itemnumber;
-           }
-       }
+    foreach my $itemnumber (@$itloop) {
+        my $res = MoveItemFromBiblio($itemnumber, $frombiblio, $tobiblio);
+        if (not defined $res) {
+            push @notmoveditems, $itemnumber;
+        }
+    }
     }
     # If some items could not be moved :
     if (scalar(@notmoveditems) > 0) {
-               my $itemlist = join(' ',@notmoveditems);
-               push @errors, "The following items could not be moved from the old record to the new one: $itemlist";
+        my $itemlist = join(' ',@notmoveditems);
+        push @errors, { code => "CANNOT_MOVE", value => $itemlist };
     }
 
     # Moving subscriptions from the other record to the reference record
     my $subcount = CountSubscriptionFromBiblionumber($frombiblio);
     if ($subcount > 0) {
-       $sth = $dbh->prepare("UPDATE subscription SET biblionumber = ? WHERE biblionumber = ?");
-       $sth->execute($tobiblio, $frombiblio);
+    $sth = $dbh->prepare("UPDATE subscription SET biblionumber = ? WHERE biblionumber = ?");
+    $sth->execute($tobiblio, $frombiblio);
 
-       $sth = $dbh->prepare("UPDATE subscriptionhistory SET biblionumber = ? WHERE biblionumber = ?");
-       $sth->execute($tobiblio, $frombiblio);
+    $sth = $dbh->prepare("UPDATE subscriptionhistory SET biblionumber = ? WHERE biblionumber = ?");
+    $sth->execute($tobiblio, $frombiblio);
 
     }
 
@@ -103,16 +103,16 @@ if ($merge) {
 
     # Deleting the other record
     if (scalar(@errors) == 0) {
-       # Move holds
-       MergeHolds($dbh,$tobiblio,$frombiblio);
-       my $error = DelBiblio($frombiblio);
-       push @errors, $error if ($error); 
+    # Move holds
+    MergeHolds($dbh,$tobiblio,$frombiblio);
+    my $error = DelBiblio($frombiblio);
+    push @errors, $error if ($error);
     }
 
     # Parameters
     $template->param(
-       result => 1,
-       biblio1 => $input->param('biblio1')
+    result => 1,
+    biblio1 => $input->param('biblio1')
     );
 
 #-------------------------
@@ -123,7 +123,7 @@ if ($merge) {
     my $biblionumber = $input->param('biblionumber');
 
     if (scalar(@biblionumber) != 2) {
-        push @errors, "An unexpected number of records was provided for merging. Currently only two records at a time can be merged.";
+        push @errors, { code => "WRONG_COUNT", value => scalar(@biblionumber) };
     }
     else {
         my $data1 = GetBiblioData($biblionumber[0]);
@@ -206,8 +206,7 @@ if ($merge) {
 
 if (@errors) {
     # Errors
-    my @errors_loop  = map{{error => $_}}@errors;
-    $template->param( errors  => \@errors_loop );
+    $template->param( errors  => \@errors );
 }
 
 output_html_with_http_headers $input, $cookie, $template->output;
@@ -228,48 +227,48 @@ sub _createMarcHash {
 
 
     foreach my $field (@fields) {
-       my $fieldtag = $field->tag();
-       if ($fieldtag < 10) {
-           if ($tagslib->{$fieldtag}->{'@'}->{'tab'} >= 0) {
-               push @array, { 
-                       field => [ 
-                                   {
-                                       tag => $fieldtag, 
-                                       key => createKey(), 
-                                       value => $field->data(),
-                                   }
-                               ]
-                           };    
-           }
-       } else {
-           my @subfields = $field->subfields();
-           my @subfield_array;
-           foreach my $subfield (@subfields) {
-               if ($tagslib->{$fieldtag}->{@$subfield[0]}->{'tab'} >= 0) {
-                   push @subfield_array, {  
-                                        subtag => @$subfield[0],
-                                       subkey => createKey(), 
-                                        value => @$subfield[1],
-                                      };
-               }
-
-           }
-
-           if ($tagslib->{$fieldtag}->{'tab'} >= 0 && $fieldtag ne '995') {
-               push @array, {
-                       field => [  
-                                   {
-                                       tag => $fieldtag, 
-                                       key => createKey(), 
-                                       indicator1 => $field->indicator(1), 
-                                       indicator2 => $field->indicator(2), 
-                                       subfield   => [@subfield_array], 
-                                   }
-                               ]
-                           };  
-           }
-
-       }
+    my $fieldtag = $field->tag();
+    if ($fieldtag < 10) {
+        if ($tagslib->{$fieldtag}->{'@'}->{'tab'} >= 0) {
+        push @array, {
+            field => [
+                    {
+                    tag => $fieldtag,
+                    key => createKey(),
+                    value => $field->data(),
+                    }
+                ]
+                };
+        }
+    } else {
+        my @subfields = $field->subfields();
+        my @subfield_array;
+        foreach my $subfield (@subfields) {
+        if ($tagslib->{$fieldtag}->{@$subfield[0]}->{'tab'} >= 0) {
+            push @subfield_array, {
+                                    subtag => @$subfield[0],
+                                    subkey => createKey(),
+                                    value => @$subfield[1],
+                                  };
+        }
+
+        }
+
+        if ($tagslib->{$fieldtag}->{'tab'} >= 0 && $fieldtag ne '995') {
+        push @array, {
+            field => [
+                {
+                    tag => $fieldtag,
+                    key => createKey(),
+                    indicator1 => $field->indicator(1),
+                    indicator2 => $field->indicator(2),
+                    subfield   => [@subfield_array],
+                }
+            ]
+            };
+        }
+
+    }
     }
     return [@array];
 
@@ -285,5 +284,3 @@ sub createKey {
     return int(rand(1000000));
 }
 
-
-    
index 6bad3e9..26f0800 100755 (executable)
@@ -16,7 +16,7 @@ use CGI::Cookie; # need to check cookies before
                  # having CGI parse the POST request
 
 my %cookies = fetch CGI::Cookie;
-my ($auth_status, $sessionID) = check_cookie_auth($cookies{'CGISESSID'}->value, { editcatalogue => '1' });
+my ($auth_status, $sessionID) = check_cookie_auth($cookies{'CGISESSID'}->value, { editcatalogue => 'edit_catalogue' });
 if ($auth_status ne "ok") {
     my $reply = CGI->new("");
     print $reply->header(-type => 'text/html');
index a7a671e..d5b5484 100755 (executable)
@@ -44,130 +44,79 @@ my $dateentered = substr($year,2,2).sprintf ("%0.2d", $mon).sprintf ("%0.2d",$md
 my $defaultval = Field008();
 
 sub plugin_parameters {
-       my ($dbh,$record,$tagslib,$i,$tabloop) = @_;
-       return "";
+    my ($dbh,$record,$tagslib,$i,$tabloop) = @_;
+    return "";
 }
 
 sub plugin_javascript {
-       my ($dbh,$record,$tagslib,$field_number,$tabloop) = @_;
-       my $function_name= $field_number;
-       my $res="
+    my ($dbh,$record,$tagslib,$field_number,$tabloop) = @_;
+    my $function_name= $field_number;
+    my $res="
 <script type=\"text/javascript\">
 //<![CDATA[
 
 function Focus$function_name(subfield_managed) {
     if (!document.getElementById(\"$field_number\").value) {
-       var authtype=document.forms['f'].elements['authtypecode'].value;
-       var fieldval='$dateentered$defaultval';
-       if(authtype && (authtype == 'TOPIC_TERM' || authtype == 'GENRE/FORM' || authtype == 'CHRON_TERM')) {
-         fieldval= fieldval.substr(0,14)+'b'+fieldval.substr(15);
-       }
+    var authtype=document.forms['f'].elements['authtypecode'].value;
+    var fieldval='$dateentered$defaultval';
+    if(authtype && (authtype == 'TOPIC_TERM' || authtype == 'GENRE/FORM' || authtype == 'CHRON_TERM')) {
+      fieldval= fieldval.substr(0,14)+'b'+fieldval.substr(15);
+    }
         document.getElementById(\"$field_number\").value=fieldval;
     }
     return 1;
 }
 
 function Blur$function_name(subfield_managed) {
-       return 1;
+    return 1;
 }
 
 function Clic$function_name(i) {
-       var authtype=document.forms['f'].elements['authtypecode'].value;
-       defaultvalue=document.getElementById(\"$field_number\").value;
-       newin=window.open(\"../cataloguing/plugin_launcher.pl?plugin_name=marc21_field_008_authorities.pl&index=$field_number&result=\"+defaultvalue+\"&authtypecode=\"+authtype,\"tag_editor\",'width=1000,height=600,toolbar=false,scrollbars=yes');
+    var authtype=document.forms['f'].elements['authtypecode'].value;
+    defaultvalue=document.getElementById(\"$field_number\").value;
+    newin=window.open(\"../cataloguing/plugin_launcher.pl?plugin_name=marc21_field_008_authorities.pl&index=$field_number&result=\"+defaultvalue+\"&authtypecode=\"+authtype,\"tag_editor\",'width=1000,height=600,toolbar=false,scrollbars=yes');
 
 }
 //]]>
 </script>
 ";
 
-       return ($function_name,$res);
+    return ($function_name,$res);
 }
 sub plugin {
-       my ($input) = @_;
-       my $index= $input->param('index');
-       my $result= $input->param('result');
-       my $authtype= $input->param('authtypecode')||'';
-       substr($defaultval,14-6,1)='b' if $authtype=~ /TOPIC_TERM|GENRE.FORM|CHRON_TERM/;
+    my ($input) = @_;
+    my $index= $input->param('index');
+    my $result= $input->param('result');
+    my $authtype= $input->param('authtypecode')||'';
+    substr($defaultval,14-6,1)='b' if $authtype=~ /TOPIC_TERM|GENRE.FORM|CHRON_TERM/;
 
-       my $dbh = C4::Context->dbh;
+    my $dbh = C4::Context->dbh;
 
-       my ($template, $loggedinuser, $cookie)
+    my ($template, $loggedinuser, $cookie)
     = get_template_and_user({template_name => "cataloguing/value_builder/marc21_field_008_authorities.tmpl",
-                            query => $input,
-                            type => "intranet",
-                            authnotrequired => 0,
-                            flagsrequired => {editcatalogue => '*'},
-                            debug => 1,
-                            });
-       $result = "$dateentered$defaultval" unless $result;
-       my $f1 = substr($result,0,6);
-       my $f6 = substr($result,6,1);
-       my $f7 = substr($result,7,1);
-       my $f8 = substr($result,8,1);
-       my $f9 = substr($result,9,1);
-       my $f10 = substr($result,10,1);
-       my $f11 = substr($result,11,1);
-       my $f12 = substr($result,12,1);
-       my $f13 = substr($result,13,1);
-       my $f14 = substr($result,14,1);
-       my $f15 = substr($result,15,1);
-       my $f16 = substr($result,16,1);
-       my $f17 = substr($result,17,1);
-       my $f28 = substr($result,28,1);
-       my $f29 = substr($result,29,1);
-       my $f31 = substr($result,31,1);
-       my $f32 = substr($result,32,1);
-       my $f33 = substr($result,33,1);
-       my $f38 = substr($result,38,1);
-       my $f39 = substr($result,39,1);
-
-if ((!$f1) ||($f1 =~ m/ /)){
-       $f1=$dateentered;
-}
+                 query => $input,
+                 type => "intranet",
+                 authnotrequired => 0,
+                 flagsrequired => {editcatalogue => '*'},
+                 debug => 1,
+                 });
+    $result = "$dateentered$defaultval" unless $result;
+    my @f;
+    for(0,6..17,28,29,31..33,38,39) {
+        $f[$_]=substr($result,$_,$_==0?6:1);
+    }
+    $template->param(index => $index);
+
+    $f[0]= $dateentered if !$f[0] || $f[0]=~/\s/;
+    $template->param(f1 => $f[0]);
 
-       $template->param(                               index => $index,
-                                                       f1 => $f1,
-                                                       f6 => $f6,
-                                                       "f6$f6" => $f6,
-                            f7 => $f7,
-                            "f7$f7" => $f7,
-                            f8 => $f8,
-                            "f8$f8" => $f8,
-                            f9 => $f9,
-                            "f9$f9" => $f9,
-                            f10 => $f10,
-                            "f10$f10" => $f10,
-                            f11 => $f11,
-                            "f11$f11" => $f11,
-                            f12 => $f12,
-                            "f12$f12" => $f12,
-                            f13 => $f13,
-                            "f13$f13" => $f13,
-                            f14 => $f14,
-                            "f14$f14" => $f14,
-                            f15 => $f15,
-                            "f15$f15" => $f15,
-                            f16 => $f16,
-                            "f16$f16" => $f16,
-                            f17 => $f17,
-                            "f17$f17" => $f17,
-                            f28 => $f28,
-                            "f28$f28" => $f28,
-                            f29 => $f29,
-                            "f29$f29" => $f29,
-                            f31 => $f31,
-                            "f31$f31" => $f31,
-                            f32 => $f32,
-                            "f32$f32" => $f32,
-                            f33 => $f33,
-                            "f33$f33" => $f33,
-                            f38 => $f38,
-                            "f38$f38" => $f38,
-                            f39 => $f39,
-                            "f39$f39" => $f39,
-                                       );
-        output_html_with_http_headers $input, $cookie, $template->output;
+    for(6..17,28,29,31..33,38,39) {
+        $template->param(
+            "f$_" => $f[$_],
+            "f$_".($f[$_] eq '|'? 'pipe': $f[$_]) => $f[$_],
+        );
+    }
+    output_html_with_http_headers $input, $cookie, $template->output;
 }
 
 sub Field008 {
diff --git a/cataloguing/value_builder/marc21_linking_section.pl b/cataloguing/value_builder/marc21_linking_section.pl
new file mode 100644 (file)
index 0000000..f317f8b
--- /dev/null
@@ -0,0 +1,409 @@
+#!/usr/bin/perl
+
+# Copyright Biblibre 2007 - CILEA 2011
+#
+# This file is part of Koha.
+#
+# Koha is free software; you can redistribute it and/or modify it under the
+# terms of the GNU General Public License as published by the Free Software
+# Foundation; either version 2 of the License, or (at your option) any later
+# version.
+#
+# Koha is distributed in the hope that it will be useful, but WITHOUT ANY
+# WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR
+# A PARTICULAR PURPOSE.  See the GNU General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License along
+# with Koha; if not, write to the Free Software Foundation, Inc.,
+# 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
+
+use strict;
+use warnings;
+
+use CGI;
+use C4::Output;
+use C4::Context;
+use C4::Search;
+use C4::Auth;
+use C4::Output;
+
+use C4::Biblio;
+use C4::Koha;
+use MARC::Record;
+use C4::Branch;
+use C4::ItemType;
+
+sub plugin_parameters {
+ my ( $dbh, $record, $tagslib, $i, $tabloop ) = @_;
+     return "";
+}
+
+sub plugin_javascript {
+  my ( $dbh, $record, $tagslib, $field_number, $tabloop ) = @_;
+  my $function_name = $field_number;
+     my $res           = "
+  <script type='text/javascript'>
+                function Focus$function_name(subfield_managed) {
+                       return 1;
+              }
+
+             function Blur$function_name(subfield_managed) {
+                        return 1;
+              }
+
+             function Clic$function_name(i) {
+                       defaultvalue=document.getElementById(\"$field_number\").value;
+                 window.open(\"/cgi-bin/koha/cataloguing/plugin_launcher.pl?plugin_name=marc21_linking_section.pl&index=\" + i + \"&result=\"+defaultvalue,\"marc21_field_7\"+i+\"\",'width=900,height=700,toolbar=false,scrollbars=yes');
+
+             }
+      </script>
+      ";
+
+    return ( $function_name, $res );
+}
+
+# sub plugin
+#
+# input arg :
+# -- op could be equals to
+# * fillinput :
+# * do_search :
+#
+
+sub plugin {
+    my ($input)   = @_;
+    my $dbh       = C4::Context->dbh;
+      my $query     = new CGI;
+       my $op        = $query->param('op');
+   my $type      = $query->param('type');
+ my $startfrom = $query->param('startfrom');
+    $startfrom = 0 if ( !defined $startfrom );
+     my ( $template, $loggedinuser, $cookie );
+      my $resultsperpage;
+    my $searchdesc;
+
+       if ( $op eq "fillinput" ) {
+            my $biblionumber = $query->param('biblionumber');
+              my $index        = $query->param('index');
+             my $marcrecord;
+
+               # open template
+                ( $template, $loggedinuser, $cookie ) = get_template_and_user(
+                 {
+                              template_name =>
+                                 "cataloguing/value_builder/marc21_linking_section.tt",
+                               query           => $query,
+                             type            => "intranet",
+                         authnotrequired => 0,
+                          flagsrequired   => { editcatalogue => '*' },
+                           debug           => 1,
+                  }
+              );
+
+            #get marc record
+               $marcrecord = GetMarcBiblio($biblionumber);
+
+           my $subfield_value_9 = $biblionumber;
+          my $subfield_value_0 = $biblionumber;
+
+         #my $subfield_value_0;
+         #$subfield_value_0 = $marcrecord->field('001')->data
+           #  if $marcrecord->field('001');
+               my $subfield_value_w;
+          if ( $marcrecord->field('001') ) {
+                     $subfield_value_w = $marcrecord->field('001')->data;
+           }
+              else {
+                 $subfield_value_w = $biblionumber;
+             }
+
+             my $subfield_value_a;
+          my $subfield_value_c;
+          my $subfield_value_d;
+          my $subfield_value_e;
+
+         my $subfield_value_h;
+
+         my $subfield_value_i;
+
+         my $subfield_value_p;
+
+         my $subfield_value_t;
+          if ( $marcrecord->field('245') ) {
+                     $subfield_value_t = $marcrecord->title();
+              }
+
+             my $subfield_value_u;
+          my $subfield_value_v;
+          my $subfield_value_x;
+          my $subfield_value_y;
+          my $subfield_value_z;
+
+         $subfield_value_x = $marcrecord->field('022')->subfield("a")
+             if ( $marcrecord->field('022') );
+            $subfield_value_z = $marcrecord->field('020')->subfield("a")
+             if ( $marcrecord->field('020') );
+
+           # escape the 's
+                $subfield_value_9 =~ s/'/\\'/g;
+                $subfield_value_0 =~ s/'/\\'/g;
+                $subfield_value_a =~ s/'/\\'/g;
+                $subfield_value_c =~ s/'/\\'/g;
+                $subfield_value_d =~ s/'/\\'/g;
+                $subfield_value_e =~ s/'/\\'/g;
+                $subfield_value_h =~ s/'/\\'/g;
+                $subfield_value_i =~ s/'/\\'/g;
+                $subfield_value_p =~ s/'/\\'/g;
+                $subfield_value_t =~ s/'/\\'/g;
+                $subfield_value_u =~ s/'/\\'/g;
+                $subfield_value_v =~ s/'/\\'/g;
+                $subfield_value_w =~ s/'/\\'/g;
+                $subfield_value_x =~ s/'/\\'/g;
+                $subfield_value_y =~ s/'/\\'/g;
+                $subfield_value_z =~ s/'/\\'/g;
+                $template->param(
+                      fillinput        => 1,
+                 index            => $query->param('index') . "",
+                       biblionumber     => $biblionumber ? $biblionumber : "",
+                        subfield_value_9 => "$subfield_value_9",
+                       subfield_value_0 => "$subfield_value_0",
+                       subfield_value_a => "$subfield_value_a",
+                       subfield_value_c => "$subfield_value_c",
+                       subfield_value_d => "$subfield_value_d",
+                       subfield_value_e => "$subfield_value_e",
+                       subfield_value_h => "$subfield_value_h",
+                       subfield_value_i => "$subfield_value_i",
+                       subfield_value_p => "$subfield_value_p",
+                       subfield_value_t => "$subfield_value_t",
+                       subfield_value_u => "$subfield_value_u",
+                       subfield_value_v => "$subfield_value_v",
+                       subfield_value_w => "$subfield_value_w",
+                       subfield_value_x => "$subfield_value_x",
+                       subfield_value_y => "$subfield_value_y",
+                       subfield_value_z => "$subfield_value_z",
+               );
+###############################################################
+     }
+      elsif ( $op eq "do_search" ) {
+         my $search         = $query->param('search');
+          my $itype          = $query->param('itype');
+           my $startfrom      = $query->param('startfrom');
+               my $resultsperpage = $query->param('resultsperpage') || 20;
+            my $orderby;
+           $search = 'kw,wrdl=' . $search . ' and mc-itemtype=' . $itype if $itype;
+               my ( $errors, $results, $total_hits ) =
+                  SimpleSearch( $search, $startfrom * $resultsperpage,
+                 $resultsperpage );
+             if ( defined $errors ) {
+                       $results = [];
+         }
+              my $total = @{$results};
+
+              #        warn " biblio count : ".$total;
+
+              ( $template, $loggedinuser, $cookie ) = get_template_and_user(
+                 {
+                              template_name =>
+                                 "cataloguing/value_builder/marc21_linking_section.tt",
+                               query           => $query,
+                             type            => 'intranet',
+                         authnotrequired => 0,
+                          debug           => 1,
+                  }
+              );
+
+            # multi page display gestion
+           my $displaynext = 0;
+           my $displayprev = $startfrom;
+
+         if ( ( $total_hits - ( ( $startfrom + 1 ) * ($resultsperpage) ) ) > 0 )
+                {
+                      $displaynext = 1;
+              }
+              my @arrayresults;
+              my @field_data = ($search);
+            for ( my $i = 0 ; $i < $resultsperpage ; $i++ ) {
+                      my $record = MARC::Record::new_from_usmarc( $results->[$i] );
+                  my $rechash = TransformMarcToKoha( $dbh, $record );
+                    my $pos;
+                       my $countitems = $rechash->{itembumber} ? 1 : 0;
+                      while ( index( $rechash->{itemnumber}, '|', $pos ) > 0 ) {
+                             $countitems += 1;
+                              $pos = index( $rechash->{itemnumber}, '|', $pos ) + 1;
+                 }
+                      $rechash->{totitem} = $countitems;
+                     my @holdingbranches = split /\|/, $rechash->{holdingbranch};
+                   my @itemcallnumbers = split /\|/, $rechash->{itemcallnumber};
+                  my $CN;
+                        for ( my $i = 0 ; $i < @holdingbranches ; $i++ ) {
+                             $CN .=
+                           $holdingbranches[$i] . " ( " . $itemcallnumbers[$i] . " ) |";
+                        }
+                      $CN =~ s/ \|$//;
+                       $rechash->{CN} = $CN;
+                  push @arrayresults, $rechash;
+          }
+
+   #         for(my $i = 0 ; $i <= $#marclist ; $i++)
+   #         {
+   #             push @field_data, { term => "marclist", val=>$marclist[$i] };
+   #             push @field_data, { term => "and_or", val=>$and_or[$i] };
+   #             push @field_data, { term => "excluding", val=>$excluding[$i] };
+   #             push @field_data, { term => "operator", val=>$operator[$i] };
+   #             push @field_data, { term => "value", val=>$value[$i] };
+   #         }
+
+             my @numbers = ();
+
+             if ( $total > $resultsperpage ) {
+                      for ( my $i = 1 ; $i < $total / $resultsperpage + 1 ; $i++ ) {
+                         if ( $i < 16 ) {
+                                       my $highlight = 0;
+                                     ( $startfrom == ( $i - 1 ) ) && ( $highlight = 1 );
+                                    push @numbers,
+                                   {
+                                            number     => $i,
+                                              highlight  => $highlight,
+                                              searchdata => \@field_data,
+                                            startfrom  => ( $i - 1 )
+                                         };
+                           }
+                      }
+              }
+
+             my $from = $startfrom * $resultsperpage + 1;
+           my $to;
+
+               if ( $total_hits < $from + $resultsperpage ) {
+                 $to = $total_hits;
+             }
+              else {
+                 $to = $from + $resultsperpage;
+         }
+              my $defaultview =
+                'BiblioDefaultView' . C4::Context->preference('BiblioDefaultView');
+
+#         my $link="/cgi-bin/koha/cataloguing/value_builder/unimarc4XX.pl?op=do_search&q=$search_desc&resultsperpage=$resultsperpage&startfrom=$startfrom&search=$search";
+#           foreach my $sort (@sort_by){
+#             $link.="&sort_by=".$sort."&";
+#           }
+#           $template->param(
+#             pagination_bar => pagination_bar(
+#                     $link,
+#                     getnbpages($hits, $results_per_page),
+#                     $page,
+#                     'page'
+#             ),
+#           );
+          $template->param(
+                      result         => \@arrayresults,
+                      index          => $query->param('index') . "",
+                 startfrom      => $startfrom,
+                  displaynext    => $displaynext,
+                        displayprev    => $displayprev,
+                        resultsperpage => $resultsperpage,
+                     orderby        => $orderby,
+                    startfromnext  => $startfrom + 1,
+                      startfromprev  => $startfrom - 1,
+                      searchdata     => \@field_data,
+                        total          => $total_hits,
+                 from           => $from,
+                       to             => $to,
+                 numbers        => \@numbers,
+                   search         => $search,
+                     $defaultview   => 1,
+                   Search         => 0
+            );
+
+    }
+      else {
+         ( $template, $loggedinuser, $cookie ) = get_template_and_user(
+                 {
+                              template_name =>
+                                 "cataloguing/value_builder/marc21_linking_section.tt",
+                               query           => $query,
+                             type            => "intranet",
+                         authnotrequired => 0,
+                  }
+              );
+
+            my $sth = $dbh->prepare(
+                       "Select itemtype,description from itemtypes order by description");
+            $sth->execute;
+         my @itemtype;
+          my %itemtypes;
+         push @itemtype, "";
+            $itemtypes{''} = "";
+           while ( my ( $value, $lib ) = $sth->fetchrow_array ) {
+                 push @itemtype, $value;
+                        $itemtypes{$value} = $lib;
+             }
+
+             my $CGIitemtype = CGI::scrolling_list(
+                 -name     => 'value',
+                  -values   => \@itemtype,
+                       -labels   => \%itemtypes,
+                      -size     => 1,
+                        -multiple => 0
+         );
+             $sth->finish;
+
+         my @branchloop;
+                my @select_branch;
+             my %select_branches;
+           my $branches = GetBranches;
+            push @select_branch, "";
+               $select_branches{''} = "";
+             foreach my $thisbranch ( keys %$branches ) {
+                   push @select_branch, $branches->{$thisbranch}->{'branchcode'};
+                 $select_branches{ $branches->{$thisbranch}->{'branchcode'} } =
+                   $branches->{$thisbranch}->{'branchname'};
+            }
+              my $CGIbranch = CGI::scrolling_list(
+                   -name     => 'value',
+                  -values   => \@select_branch,
+                  -labels   => \%select_branches,
+                        -size     => 1,
+                        -multiple => 0
+         );
+             $sth->finish;
+
+         my $req = $dbh->prepare(
+"select distinctrow left(publishercode,45) from biblioitems order by publishercode"
+           );
+             $req->execute;
+         my @select;
+            push @select, "";
+              while ( my ($value) = $req->fetchrow ) {
+                       push @select, $value;
+          }
+              my $CGIpublisher = CGI::scrolling_list(
+                        -name     => 'value',
+                  -id       => 'publisher',
+                      -values   => \@select,
+                 -size     => 1,
+                        -multiple => 0
+         );
+
+#         my $sth=$dbh->prepare("select description,itemtype from itemtypes order by description");
+#         $sth->execute;
+#         while (my ($description,$itemtype) = $sth->fetchrow) {
+#             $classlist.="<option value=\"$itemtype\">$description</option>\n";
+#         }
+#         $sth->finish;
+
+                my @itemtypes = C4::ItemType->all;
+
+            $template->param(    #classlist => $classlist,
+                 CGIitemtype  => $CGIitemtype,
+                  CGIbranch    => $CGIbranch,
+                    CGIPublisher => $CGIpublisher,
+                 itypeloop    => \@itemtypes,
+                   index        => $query->param('index'),
+                        Search       => 1,
+             );
+     }
+      output_html_with_http_headers $query, $cookie, $template->output;
+}
+
+1;
diff --git a/cataloguing/value_builder/stocknumberAV.pl b/cataloguing/value_builder/stocknumberAV.pl
new file mode 100755 (executable)
index 0000000..0578d44
--- /dev/null
@@ -0,0 +1,113 @@
+#!/usr/bin/perl
+
+# Copyright 2012 BibLibre SARL
+#
+# This file is part of Koha.
+#
+# Koha is free software; you can redistribute it and/or modify it under the
+# terms of the GNU General Public License as published by the Free Software
+# Foundation; either version 2 of the License, or (at your option) any later
+# version.
+#
+# Koha is distributed in the hope that it will be useful, but WITHOUT ANY
+# WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR
+# A PARTICULAR PURPOSE.  See the GNU General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License along
+# with Koha; if not, write to the Free Software Foundation, Inc.,
+# 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
+
+use Modern::Perl;
+use C4::Auth;
+use CGI;
+use C4::Context;
+
+=head1 DESCRIPTION
+
+This plugin is based on authorised values INVENTORY.
+It is used for stocknumber computation.
+
+If the user send an empty string, we return a simple incremented stocknumber.
+If a prefix is submited, we look for the highest stocknumber with this prefix, and return it incremented.
+In this case, a stocknumber has this form : "PREFIX 0009678570".
+ - PREFIX is an upercase word
+ - a space separator
+ - 10 digits, with leading 0s if needed
+
+=cut
+
+sub plugin_parameters {
+}
+
+sub plugin_javascript {
+    my ($dbh,$record,$tagslib,$field_number,$tabloop) = @_;
+    my $res = qq{
+    <script type='text/javascript'>
+        function Focus$field_number() {
+            return 1;
+        }
+
+        function Blur$field_number() {
+                return 1;
+        }
+
+        function Clic$field_number() {
+                var code = document.getElementById('$field_number');
+                \$.ajax({
+                    url: '/cgi-bin/koha/cataloguing/plugin_launcher.pl',
+                    type: 'POST',
+                    data: {
+                        'plugin_name': 'stocknumberAV.pl',
+                        'code'    : code.value,
+                    },
+                    success: function(data){
+                        var field = document.getElementById('$field_number');
+                        field.value = data;
+                        return 1;
+                    }
+                });
+        }
+    </script>
+    };
+
+    return ($field_number,$res);
+}
+
+sub plugin {
+    my ($input) = @_;
+    my $code = $input->param('code');
+
+    my ( $template, $loggedinuser, $cookie ) = get_template_and_user(
+        {   template_name   => "cataloguing/value_builder/ajax.tmpl",
+            query           => $input,
+            type            => "intranet",
+            authnotrequired => 0,
+            flagsrequired   => { editcatalogue => '*' },
+            debug           => 1,
+        }
+    );
+
+    my $dbh = C4::Context->dbh;
+
+    # If a prefix is submited, we look for the highest stocknumber with this prefix, and return it incremented
+    $code =~ s/ *$//g;
+    if ( $code =~ m/^[A-Z]+$/ ) {
+        my $sth = $dbh->prepare("SELECT lib FROM authorised_values WHERE category='INVENTORY' AND authorised_value=?");
+        $sth->execute( $code);
+
+        if ( my $valeur = $sth->fetchrow ) {
+            $template->param( return => $code . ' ' . sprintf( '%010s', ( $valeur + 1 ) ), );
+            my $sth2 = $dbh->prepare("UPDATE authorised_values SET lib=? WHERE category='INVENTORY' AND authorised_value=?");
+            $sth2->execute($valeur+1,$code);
+        } else {
+                $template->param( return => "There is no defined value for $code");
+        }
+        # The user entered a custom value, we don't touch it, this could be handled in js
+    } else {
+        $template->param( return => $code, );
+    }
+
+    output_html_with_http_headers $input, $cookie, $template->output;
+}
+
+1;
index 5e22636..fd4eff9 100755 (executable)
@@ -49,6 +49,12 @@ my $stdid                    = $input->param('stdid');
 my $srchany                    = $input->param('srchany');
 my $random        = $input->param('random') || rand(1000000000); # this var is not useful anymore just kept for rel2_2 compatibility
 my $op            = $input->param('op');
+
+my $page            = $input->param('current_page') || 1;
+$page = $input->param('goto_page') if $input->param('changepage_goto');
+my $show_next = 0;
+my $total_pages = 0;
+
 my $numberpending;
 my $attr = '';
 my $term;
@@ -80,24 +86,28 @@ my ( $template, $loggedinuser, $cookie ) = get_template_and_user({
 });
 
 $template->param( frameworkcode => $frameworkcode, );
+$template->param(
+    isbn         => $isbn,
+    issn         => $issn,
+    lccn         => $lccn,
+    lccall       => $lccall,
+    title        => $title,
+    author       => $author,
+    controlnumber=> $controlnumber,
+    stdid        => $stdid,
+    srchany      => $srchany,
+    biblionumber => $biblionumber,
+    dewey        => $dewey,
+    subject      => $subject,
+);
 
 if ( $op ne "do_search" ) {
     my $sth = $dbh->prepare("SELECT id,host,name,checked FROM z3950servers ORDER BY rank, name");
     $sth->execute();
     my $serverloop = $sth->fetchall_arrayref( {} );
     $template->param(
-        isbn         => $isbn,
-        issn         => $issn,
-        lccn         => $lccn,
-        lccall       => $lccall,
-        title        => $title,
-        author       => $author,
-        controlnumber=> $controlnumber,
-        stdid                  => $stdid,
-        srchany                => $srchany,
         serverloop   => $serverloop,
         opsearch     => "search",
-        biblionumber => $biblionumber,
     );
     output_html_with_http_headers $input, $cookie, $template->output;
 }
@@ -235,8 +245,10 @@ warn "query ".$query  if $DEBUG;
             my $numresults = $oResult[$k]->size();
             my $i;
             my $result = '';
-            if ( $numresults > 0 ) {
-                for ($i = 0; $i < (($numresults < 20) ? $numresults : 20); $i++) {
+            if ( $numresults > 0  and $numresults >= (($page-1)*20)) {
+                $show_next = 1 if $numresults >= ($page*20);
+                $total_pages = int($numresults/20)+1 if $total_pages < ($numresults/20);
+                for ($i = ($page-1)*20; $i < (($numresults < ($page*20)) ? $numresults : ($page*20)); $i++) {
                     my $rec = $oResult[$k]->record($i);
                     if ($rec) {
                         my $marcrecord;
@@ -249,6 +261,10 @@ warn "query ".$query  if $DEBUG;
 ## In HEAD i change everything to UTF-8
 # In rel2_2 i am not sure what encoding is so no character conversion is done here
 ##Add necessary encoding changes to here -TG
+
+                        # Normalize the record so it doesn't have separated diacritics
+                        SetUTF8Flag($marcrecord);
+
                         my $oldbiblio = TransformMarcToKoha( $dbh, $marcrecord, "" );
                         $oldbiblio->{isbn}   =~ s/ |-|\.//g if $oldbiblio->{isbn};
                         # pad | and ( with spaces to allow line breaks in the HTML
@@ -284,13 +300,24 @@ warn "query ".$query  if $DEBUG;
         }
     }    # if $k !=0
     $numberpending = $nremaining - 1;
+
+    my @servers = ();
+    foreach my $id (@id) {
+        push(@servers,{id => $id});
+    }
+
     $template->param(
         breeding_loop => \@breeding_loop,
         server        => $servername[$k],
         numberpending => $numberpending,
         biblionumber  => $biblionumber,
-        errconn       => \@errconn
+        errconn       => \@errconn,
+        current_page => $page,
+        servers => \@servers,
+        total_pages => $total_pages,
     );
+    $template->param(show_nextbutton=>1) if $show_next;
+    $template->param(show_prevbutton=>1) if $page != 1;
     
     output_html_with_http_headers $input, $cookie, $template->output if $numberpending == 0;
 
index 78ac1a4..b051281 100755 (executable)
@@ -97,6 +97,10 @@ my @failedrenews = $query->param('failedrenew');    # expected to be itemnumbers
 our %renew_failed = {};
 for (@failedrenews) { $renew_failed{$_} = 1; }
 
+my @failedreturns = $query->param('failedreturn');
+our %return_failed = {};
+for (@failedreturns) { $return_failed{$_} = 1; }
+
 my $findborrower = $query->param('findborrower');
 $findborrower =~ s|,| |g;
 my $borrowernumber = $query->param('borrowernumber');
@@ -460,8 +464,9 @@ sub build_issue_data {
         $it->{'od'} = $it->{'overdue'};
         ($it->{'author'} eq '') and $it->{'author'} = ' ';
         $it->{'renew_failed'} = $renew_failed{$it->{'itemnumber'}};
+        $it->{'return_failed'} = $return_failed{$it->{'barcode'}};
 
-        if ( $it->{'issuedate'} gt $todaysdate or $it->{'lastreneweddate'} gt $todaysdate ) {
+        if ( $it->{'issuedate'}."" gt $todaysdate or $it->{'lastreneweddate'} gt $todaysdate ) {
             (!$relatives) ? push @todaysissues, $it : push @relissues, $it;
         } else {
             (!$relatives) ? push @previousissues, $it : push @relprevissues, $it;
@@ -732,6 +737,8 @@ $template->param(
        AllowRenewalLimitOverride => C4::Context->preference("AllowRenewalLimitOverride"),
     dateformat                => C4::Context->preference("dateformat"),
     DHTMLcalendar_dateformat  => C4::Dates->DHTMLcalendar(),
+    export_remove_fields      => C4::Context->preference("ExportRemoveFields"),
+    export_with_csv_profile   => C4::Context->preference("ExportWithCsvProfile"),
     canned_bor_notes_loop     => $canned_notes,
 );
 
index 61bace9..e532faf 100755 (executable)
@@ -36,7 +36,7 @@ use Date::Calc qw/Today Add_Delta_YMD/;
 my $input = new CGI;
 my $startdate=$input->param('from');
 my $enddate=$input->param('to');
-my $run_report=$input->param('run_report');
+my $run_report = ( not defined $input->param('run_report') ) ? 1 : $input->param('run_report');
 
 my $theme = $input->param('theme');    # only used if allowthemeoverride is set
 
@@ -68,8 +68,9 @@ my ( $year, $month, $day ) = Today();
 my $todaysdate     = sprintf("%-04.4d-%-02.2d-%02.2d", $year, $month, $day);
 my $yesterdaysdate = sprintf("%-04.4d-%-02.2d-%02.2d", Add_Delta_YMD($year, $month, $day,   0, 0, -1));
 # changed from delivered range of 10 years-yesterday to 2 days ago-today
-# Find two days ago for the default shelf pull start and end dates
-my $pastdate       = sprintf("%-04.4d-%-02.2d-%02.2d", Add_Delta_YMD($year, $month, $day, 0, 0, -2));
+# Find two days ago for the default shelf pull start and end dates, unless HoldsToPullStartDate sys pref is set.
+my $defaultstartdate = ( C4::Context->preference('HoldsToPullStartDate') ) ? "-".C4::Context->preference('HoldsToPullStartDate') : -2;
+my $pastdate       = sprintf("%-04.4d-%-02.2d-%02.2d", Add_Delta_YMD($year, $month, $day, 0, 0, $defaultstartdate));
 
 # Predefine the start and end dates if they are not already defined
 $startdate =~ s/^\s+//;
@@ -162,31 +163,31 @@ if ( $run_report ) {
         push(
             @reservedata,
             {
-                reservedate            => format_date( $data->{l_reservedate} ),
-                priority               => $data->{priority},
-                name                   => $data->{l_patron},
-                title                  => $data->{title},
-                author                 => $data->{author},
-                borrowernumber         => $data->{borrowernumber},
-                itemnum                => $data->{itemnumber},
-                phone                  => $data->{phone},
-                email                  => $data->{email},
-                biblionumber           => $data->{biblionumber},
-                statusw                => ( $data->{found} eq "W" ),
-                statusf                => ( $data->{found} eq "F" ),
-                holdingbranch          => $data->{l_holdingbranch},
-                branch                 => $data->{l_branch},
-                itemcallnumber         => $data->{l_itemcallnumber},
-                enumchron              => $data->{l_enumchron},
-               copyno                  => $data->{l_copynumber},
-                notes                  => $data->{notes},
-                notificationdate       => $data->{notificationdate},
-                reminderdate           => $data->{reminderdate},
-                count                  => $data->{icount},
-                rcount                 => $data->{rcount},
-                pullcount              => $data->{icount} <= $data->{rcount} ? $data->{icount} : $data->{rcount},
-                itype                  => $data->{l_itype},
-                location               => $data->{l_location}
+                reservedate     => format_date( $data->{l_reservedate} ),
+                priority        => $data->{priority},
+                name            => $data->{l_patron},
+                title           => $data->{title},
+                author          => $data->{author},
+                borrowernumber  => $data->{borrowernumber},
+                itemnum         => $data->{itemnumber},
+                phone           => $data->{phone},
+                email           => $data->{email},
+                biblionumber    => $data->{biblionumber},
+                statusw         => ( $data->{found} eq "W" ),
+                statusf         => ( $data->{found} eq "F" ),
+                holdingbranch   => $data->{l_holdingbranch},
+                branch          => $data->{l_branch},
+                itemcallnumber  => $data->{l_itemcallnumber},
+                enumchron       => $data->{l_enumchron},
+                copyno          => $data->{l_copynumber},
+                notes           => $data->{notes},
+                notificationdate=> $data->{notificationdate},
+                reminderdate    => $data->{reminderdate},
+                count           => $data->{icount},
+                rcount          => $data->{rcount},
+                pullcount       => $data->{icount} <= $data->{rcount} ? $data->{icount} : $data->{rcount},
+                itype           => $data->{l_itype},
+                location        => $data->{l_location},
             }
         );
     }
@@ -194,14 +195,15 @@ if ( $run_report ) {
 }
 
 $template->param(
-    todaysdate         => format_date($todaysdate),
+    todaysdate          => format_date($todaysdate),
     from                => $startdate,
-    to                 => $enddate,
+    to                  => $enddate,
     run_report          => $run_report,
-    reserveloop        => \@reservedata,
+    reserveloop         => \@reservedata,
     "BiblioDefaultView".C4::Context->preference("BiblioDefaultView") => 1,
-    DHTMLcalendar_dateformat =>  C4::Dates->DHTMLcalendar(),
-    dateformat    => C4::Context->preference("dateformat"),
+    DHTMLcalendar_dateformat    =>  C4::Dates->DHTMLcalendar(),
+    dateformat                  => C4::Context->preference("dateformat"),
+    HoldsToPullStartDate        => (C4::Context->preference('HoldsToPullStartDate')?C4::Context->preference('HoldsToPullStartDate'):2),
 );
 
 output_html_with_http_headers $input, $cookie, $template->output;
index 743bf18..d93b7cd 100755 (executable)
@@ -285,15 +285,6 @@ if ($barcode) {
         $input{duedate}   = 0;
         $returneditems{0} = $barcode;
         $riduedate{0}     = 0;
-        if ( $messages->{'wthdrawn'} ) {
-            $input{withdrawn}      = 1;
-            $input{borrowernumber} = 'Item Cancelled';  # FIXME: should be in display layer ?
-            $riborrowernumber{0}   = 'Item Cancelled';
-        }
-        else {
-            $input{borrowernumber} = '&nbsp;';  # This seems clearly bogus.
-            $riborrowernumber{0}   = '&nbsp;';
-        }
         push( @inputloop, \%input );
     }
 }
@@ -438,7 +429,7 @@ foreach my $code ( keys %$messages ) {
     }
     elsif ( $code eq 'wthdrawn' ) {
         $err{withdrawn} = 1;
-        $exit_required_p = 1;
+        $exit_required_p = 1 if C4::Context->preference("BlockReturnOfWithdrawnItems");
     }
     elsif ( ( $code eq 'IsPermanent' ) && ( not $messages->{'ResFound'} ) ) {
         if ( $messages->{'IsPermanent'} ne $userenv_branch ) {
@@ -610,6 +601,7 @@ $template->param(
     dropboxdate    => output_pref($dropboxdate),
     overduecharges => $overduecharges,
     soundon        => C4::Context->preference("SoundOn"),
+    BlockReturnOfWithdrawnItems => C4::Context->preference("BlockReturnOfWithdrawnItems"),
 );
 
 ### Comment out rotating collections for now to allow it a little more time to bake
index 4b51423..cf529f0 100755 (executable)
@@ -31,7 +31,7 @@ use C4::Biblio;
 use C4::Items;
 use C4::Koha;   # GetItemTypes
 use C4::Branch; # GetBranches
-use C4::Dates qw/format_date/;
+use C4::HoldsQueue qw(GetHoldsQueueItems);
 
 my $query = new CGI;
 my ( $template, $loggedinuser, $cookie ) = get_template_and_user(
@@ -51,6 +51,7 @@ my $branchlimit    = $params->{'branchlimit'};
 my $itemtypeslimit = $params->{'itemtypeslimit'};
 
 if ( $run_report ) {
+    # XXX GetHoldsQueueItems() does not support $itemtypeslimit!
     my $items = GetHoldsQueueItems($branchlimit, $itemtypeslimit);
     $template->param(
         branch     => $branchlimit,
@@ -76,36 +77,5 @@ $template->param(
    itemtypeloop => \@itemtypesloop,
 );
 
-sub GetHoldsQueueItems {
-       my ($branchlimit,$itemtypelimit) = @_;
-       my $dbh = C4::Context->dbh;
-
-    my @bind_params = ();
-       my $query = q/SELECT tmp_holdsqueue.*, biblio.author, items.ccode, items.location, items.enumchron, items.cn_sort, biblioitems.publishercode,biblio.copyrightdate,biblioitems.publicationyear,biblioitems.pages,biblioitems.size,biblioitems.publicationyear,biblioitems.isbn,items.copynumber
-                  FROM tmp_holdsqueue
-                       JOIN biblio      USING (biblionumber)
-                                 LEFT JOIN biblioitems USING (biblionumber)
-                  LEFT JOIN items       USING (  itemnumber)
-                /;
-    if ($branchlimit) {
-           $query .=" WHERE tmp_holdsqueue.holdingbranch = ?";
-        push @bind_params, $branchlimit;
-    }
-    $query .= " ORDER BY ccode, location, cn_sort, author, title, pickbranch, reservedate";
-       my $sth = $dbh->prepare($query);
-       $sth->execute(@bind_params);
-       my $items = [];
-    while ( my $row = $sth->fetchrow_hashref ){
-       $row->{reservedate} = format_date($row->{reservedate});
-       my $record = GetMarcBiblio($row->{biblionumber});
-    if ($record){
-        $row->{subtitle} = GetRecordValue('subtitle',$record,'')->[0]->{subfield};
-           $row->{parts} = GetRecordValue('parts',$record,'')->[0]->{subfield};
-           $row->{numbers} = GetRecordValue('numbers',$record,'')->[0]->{subfield};
-       }
-        push @$items, $row;
-    }
-    return $items;
-}
 # writing the template
 output_html_with_http_headers $query, $cookie, $template->output;
index 7fed07e..cb2eee3 100755 (executable)
@@ -20,6 +20,9 @@ override_dh_auto_install:
        rm -r $(TMP)/var/run
        rm -r $(TMP)/var/lock
        rm $(TMP)/var/log/koha/README
+       rm $(TMP)/etc/koha/searchengine/solr/config.yaml
+       rm $(TMP)/etc/koha/searchengine/solr/indexes.yaml
+       rm $(TMP)/etc/koha/solr/indexes.yaml
 #      rm $(TMP)/usr/share/koha/intranet/htdocs/intranet-tmpl/prog/en/lib/jquery/jquery.js
 #      ln -s /usr/share/javascript/jquery/jquery.js \
 #         $(TMP)/usr/share/koha/intranet/htdocs/intranet-tmpl/prog/en/lib/jquery/jquery.js
@@ -28,16 +31,17 @@ override_dh_auto_install:
 #         $(TMP)/usr/share/koha/opac/htdocs/opac-tmpl/prog/en/lib/jquery/jquery.js
        rm -r \
                $(TMP)/usr/share/koha/intranet/htdocs/intranet-tmpl/prog/en/js/tinymce
+               mkdir -p $(TMP)/usr/share/koha/intranet/htdocs/intranet-tmpl/prog/en/js/tinymce/jscripts
        ln -s /usr/share/tinymce2/www \
-               $(TMP)/usr/share/koha/intranet/htdocs/intranet-tmpl/prog/en/js/tinymce
+              $(TMP)/usr/share/koha/intranet/htdocs/intranet-tmpl/prog/en/js/tinymce/jscripts/tiny_mce
        rm -r \
                $(TMP)/usr/share/koha/intranet/htdocs/intranet-tmpl/prog/en/lib/yui
        ln -s /usr/share/javascript/yui \
                $(TMP)/usr/share/koha/intranet/htdocs/intranet-tmpl/prog/en/lib/yui
        rm -r \
-               $(TMP)/usr/share/koha/opac/htdocs/opac-tmpl/prog/en/lib/yui
+              $(TMP)/usr/share/koha/opac/htdocs/opac-tmpl/lib/yui
        ln -s /usr/share/javascript/yui \
-               $(TMP)/usr/share/koha/opac/htdocs/opac-tmpl/prog/en/lib/yui
+         $(TMP)/usr/share/koha/opac/htdocs/opac-tmpl/lib/yui
        install -d $(TMP)/etc/apache2/sites-available
        install -d $(TMP)/etc/apache2/sites-enabled
        install -d $(TMP)/etc/apache2/conf.d
@@ -50,11 +54,11 @@ override_dh_auto_install:
        sed -i $(TMP)/usr/share/koha/koha-conf.xml.in \
                -e '/^ <user>/s/>.*</>_DBC_DBUSER_</' \
                -e '/^ <pass>/s/>.*</>_DBC_DBPASS_</'
-       install -m 0644 koha-tmpl/opac-tmpl/prog/en/lib/yui/skin.css \
-               koha-tmpl/opac-tmpl/prog/en/lib/yui/reset-fonts-grids.css \
+       install -m 0644 koha-tmpl/opac-tmpl/lib/yui/skin.css \
+         koha-tmpl/opac-tmpl/lib/yui/reset-fonts-grids.css \
                $(TMP)/usr/share/koha/intranet/htdocs/intranet-tmpl/prog/en/css
-       install -m 0644 koha-tmpl/opac-tmpl/prog/en/lib/yui/skin.css \
-               koha-tmpl/opac-tmpl/prog/en/lib/yui/reset-fonts-grids.css \
+       install -m 0644 koha-tmpl/opac-tmpl/lib/yui/skin.css \
+         koha-tmpl/opac-tmpl/lib/yui/reset-fonts-grids.css \
                $(TMP)/usr/share/koha/opac/htdocs/opac-tmpl/prog/en/css
        install -m 0644 koha-tmpl/intranet-tmpl/prog/en/lib/yui/menu-button-arrow-disabled.png \
                $(TMP)/usr/share/koha/opac/htdocs/opac-tmpl/prog/en/css
index 4a58f9d..0663dc9 100644 (file)
@@ -627,4 +627,12 @@ July 3 2012        Mark Tompsett becomes the 186th developer to have a patch pushed
 July 7 2012    Stacey Walker becomes the 187th developer to have a patch pushed
 July 7 2012    Mirko Tietgen becomes the 188th developer to have a patch pushed
 July 22 2012   Koha 3.8.3 released     releases
-July 22 2012   Koha 3.6.7 released     releases
\ No newline at end of file
+July 22 2012   Koha 3.6.7 released     releases
+August 22 2012 Koha 3.8.4 released     releases
+August 22 2012 Koha 3.6.8 released     releases
+September 3 2012       Kathryn Tyree becomes the 189th developer to have a patch pushed
+September 11 2012      Melia Meggs becomes the 190th developer to have a patch pushed
+September 20 2012      Joseph Alway beomes the 191st developer to have a patch pushed
+September 22 2012      Koha 3.8.5 released     releases
+September 22 2012      Koha 3.6.8 released     releases
+October 13 2012        Ivan Brown becomes the 192nd developer to have a patch pushed
\ No newline at end of file
index 5cde314..28586b3 100755 (executable)
@@ -67,7 +67,7 @@ sub _get_filepath ($;$) {
     $referer =~ /koha\/(.*)\.pl/;
     my $from = "help/$1.tt";
     my $htdocs = C4::Context->config('intrahtdocs');
-    my ($theme, $lang) = C4::Templates::themelanguage( $htdocs, $from, "intranet", $input );
+    my ($theme, $lang, $availablethemes) = C4::Templates::themelanguage( $htdocs, $from, "intranet", $input );
        $debug and print STDERR "help filepath: $htdocs/$theme/$lang/modules/$from";
        return "$htdocs/$theme/$lang/modules/$from";
 }
index bb79355..a54c173 100644 (file)
@@ -189,7 +189,7 @@ __PAZPAR2_TOGGLE_XML_POST__
     <directory>__ZEBRA_DATA_DIR__/biblios</directory>
     <config>__ZEBRA_CONF_DIR__/__ZEBRA_BIB_CFG__</config>
     <cql2rpn>__ZEBRA_CONF_DIR__/pqf.properties</cql2rpn>
-    <xi:include href="__KOHA_CONF_DIR__/zebradb/__AUTH_RETRIEVAL_CFG__"
+    <xi:include href="__KOHA_CONF_DIR__/zebradb/__BIB_RETRIEVAL_CFG__"
                 xmlns:xi="http://www.w3.org/2001/XInclude">
       <xi:fallback>
      <retrievalinfo>
index ef462f3..3e0f5fb 100644 (file)
@@ -13,6 +13,7 @@ att 9042    Heading-use-subject-added-entry
 att 9043    Kind-of-record
 att 9046    Record-status
 att 9050    Subject-heading-thesaurus
+att 9051    Previous-heading-see-from
 
 # Personal Name
 att 1       Personal-name
index f1013e1..4599728 100644 (file)
@@ -45,6 +45,19 @@ authority-zebra-indexdefs.xsl`
   <kohaidx:index_control_field tag="008" offset="16" length="1">
     <kohaidx:target_index>Heading-use-series-added-entry:w</kohaidx:target_index>
   </kohaidx:index_control_field>
+
+  <!-- 010 LC Number -->
+  <kohaidx:index_subfields tag="010" subfields="az">
+    <kohaidx:target_index>LC-card-number:w</kohaidx:target_index>
+    <kohaidx:target_index>LC-card-number:p</kohaidx:target_index>
+  </kohaidx:index_subfields>
+
+  <!-- 040 cataloging agencies -->
+  <kohaidx:index_subfields tag="040" subfields="acd">
+    <kohaidx:target_index>Record-source:w</kohaidx:target_index>
+    <kohaidx:target_index>Record-source:p</kohaidx:target_index>
+  </kohaidx:index_subfields>
+
   
   <!-- Personal name headings -->
   <kohaidx:index_subfields tag="100" subfields="abcdefghjklmnopqrstvxyz">
@@ -346,6 +359,9 @@ authority-zebra-indexdefs.xsl`
     <kohaidx:target_index>See-from:p</kohaidx:target_index>
     <kohaidx:target_index>See-from:s</kohaidx:target_index>
   </kohaidx:index_heading>
+  <kohaidx:index_heading_conditional tag="450" test="substring(marc:subfield[@code='w']/text(), 2, 1)" subfields="abvxyz" subdivisions="vxyz">
+    <kohaidx:target_index>Previous-heading-see-from:p</kohaidx:target_index>
+  </kohaidx:index_heading_conditional>
   <kohaidx:index_match_heading tag="450" subfields="abvxyz" subdivisions="vxyz">
     <kohaidx:target_index>Match:w</kohaidx:target_index>
     <kohaidx:target_index>Match:p</kohaidx:target_index>
index 6315316..1bafa16 100644 (file)
@@ -13,6 +13,7 @@ definition file (probably something like {biblio,authority}-koha-indexdefs.xml)
   <xslo:template match="text()" mode="index_subfields"/>
   <xslo:template match="text()" mode="index_data_field"/>
   <xslo:template match="text()" mode="index_heading"/>
+  <xslo:template match="text()" mode="index_heading_conditional"/>
   <xslo:template match="text()" mode="index_match_heading"/>
   <xslo:template match="text()" mode="index_subject_thesaurus"/>
   <xslo:template match="/">
@@ -35,6 +36,7 @@ definition file (probably something like {biblio,authority}-koha-indexdefs.xml)
       <xslo:apply-templates mode="index_subfields"/>
       <xslo:apply-templates mode="index_data_field"/>
       <xslo:apply-templates mode="index_heading"/>
+      <xslo:apply-templates mode="index_heading_conditional"/>
       <xslo:apply-templates mode="index_match_heading"/>
       <xslo:apply-templates mode="index_subject_thesaurus"/>
     </z:record>
@@ -69,6 +71,24 @@ definition file (probably something like {biblio,authority}-koha-indexdefs.xml)
       <xslo:value-of select="substring(., 17, 1)"/>
     </z:index>
   </xslo:template>
+  <xslo:template mode="index_subfields" match="marc:datafield[@tag='010']">
+    <xslo:for-each select="marc:subfield">
+      <xslo:if test="contains('az', @code)">
+        <z:index name="LC-card-number:w LC-card-number:p">
+          <xslo:value-of select="."/>
+        </z:index>
+      </xslo:if>
+    </xslo:for-each>
+  </xslo:template>
+  <xslo:template mode="index_subfields" match="marc:datafield[@tag='040']">
+    <xslo:for-each select="marc:subfield">
+      <xslo:if test="contains('acd', @code)">
+        <z:index name="Record-source:w Record-source:p">
+          <xslo:value-of select="."/>
+        </z:index>
+      </xslo:if>
+    </xslo:for-each>
+  </xslo:template>
   <xslo:template mode="index_subfields" match="marc:datafield[@tag='100']">
     <xslo:for-each select="marc:subfield">
       <xslo:if test="contains('abcdefghjklmnopqrstvxyz', @code)">
@@ -1102,6 +1122,30 @@ definition file (probably something like {biblio,authority}-koha-indexdefs.xml)
       <xslo:value-of select="normalize-space($raw_heading)"/>
     </z:index>
   </xslo:template>
+  <xslo:template mode="index_heading_conditional" match="marc:datafield[@tag='450']">
+    <xslo:if test="substring(marc:subfield[@code='w']/text(), 2, 1)">
+      <z:index name="Previous-heading-see-from:p">
+        <xslo:variable name="raw_heading">
+          <xslo:for-each select="marc:subfield">
+            <xslo:if test="contains('abvxyz', @code)" name="Previous-heading-see-from:p">
+              <xslo:if test="position() &gt; 1">
+                <xslo:choose>
+                  <xslo:when test="contains('vxyz', @code)">
+                    <xslo:text>--</xslo:text>
+                  </xslo:when>
+                  <xslo:otherwise>
+                    <xslo:value-of select="substring(' ', 1, 1)"/>
+                  </xslo:otherwise>
+                </xslo:choose>
+              </xslo:if>
+              <xslo:value-of select="."/>
+            </xslo:if>
+          </xslo:for-each>
+        </xslo:variable>
+        <xslo:value-of select="normalize-space($raw_heading)"/>
+      </z:index>
+    </xslo:if>
+  </xslo:template>
   <xslo:template mode="index_match_heading" match="marc:datafield[@tag='100']">
     <z:index name="Match:w Match:p Match-heading:p Match-heading:s">
       <xslo:variable name="raw_heading">
index c503847..dcd2c24 100644 (file)
@@ -23,46 +23,46 @@ melm 001 Local-Number,Local-Number:s
 melm 942$a authtype:w,authtype:p
 
 # Personal Name
-melm 100$a Personal-name-heading:w,Personal-name-heading:p,Personal-name-heading:s,Personal-name:w,Personal-name:p,Heading:w,Heading:p,Heading:s,Heading-Main:w,Heading-Main:p,Heading-Main:s
-melm 100 Personal-name:w,Personal-name:p,Personal-name:s,Heading:w,Heading:p,Heading:s
-melm 400 Personal-name-see-from:w,Personal-name-see-from:p,Personal-name-see-from:s,See-from:w,See-from:p,See-from:s
-melm 500 Personal-name-see-also-from:w,Personal-name-see-also-from:p,Personal-name-see-also-from:s,See-also-from:w,See-also-from:p,See-also-from:s
+melm 100$a Personal-name-heading:w,Personal-name-heading:p,Personal-name-heading:s,Personal-name:w,Personal-name:p,Heading:w,Heading:p,Heading:s,Heading-Main:w,Heading-Main:p,Heading-Main:s,Match:w,Match:p,Match-heading:w,Match-heading:p
+melm 100 Personal-name:w,Personal-name:p,Personal-name:s,Heading:w,Heading:p,Heading:s,Match:w,Match:p,Match-heading:w,Match-heading:p
+melm 400 Personal-name-see-from:w,Personal-name-see-from:p,Personal-name-see-from:s,See-from:w,See-from:p,See-from:s,Match:w,Match:p
+melm 500 Personal-name-see-also-from:w,Personal-name-see-also-from:p,Personal-name-see-also-from:s,See-also-from:w,See-also-from:p,See-also-from:s,Match:w,Match:p
 
 # Corporate Name
-melm 110$a Corporate-name-heading:w,Corporate-name-heading:p,Corporate-name-heading:s,Corporate-name:w,Corporate-name:p,Heading:w,Heading:p,Heading:s,Heading-Main:w,Heading-Main:p,Heading-Main:s
-melm 110 Corporate-name:w,Corporate-name:p,Corporate-name:s,Heading:w,Heading:p,Heading:s
-melm 410 Corporate-name-see-from:w,Corporate-name-see-from:p,Corporate-name-see-from:s,See-from:w,See-from:p,See-from:s
-melm 510 Corporate-name-see-also-from:w,Corporate-name-see-also-from:p,Corporate-name-see-also-from:s,See-also-from:w,See-also-from:p,See-also-from:s
+melm 110$a Corporate-name-heading:w,Corporate-name-heading:p,Corporate-name-heading:s,Corporate-name:w,Corporate-name:p,Heading:w,Heading:p,Heading:s,Heading-Main:w,Heading-Main:p,Heading-Main:s,Match:w,Match:p,Match-heading:w,Match-heading:p
+melm 110 Corporate-name:w,Corporate-name:p,Corporate-name:s,Heading:w,Heading:p,Heading:s,Match:w,Match:p,Match-heading:w,Match-heading:p
+melm 410 Corporate-name-see-from:w,Corporate-name-see-from:p,Corporate-name-see-from:s,See-from:w,See-from:p,See-from:s,Match:w,Match:p
+melm 510 Corporate-name-see-also-from:w,Corporate-name-see-also-from:p,Corporate-name-see-also-from:s,See-also-from:w,See-also-from:p,See-also-from:s,Match:w,Match:p
 
 # Meeting Name
-melm 111$a Meeting-name-heading:w,Meeting-name-heading:p,Meeting-name-heading:s,Meeting-name:w,Meeting-name:p,Heading:w,Heading:p,Heading:s,Heading-Main:w,Heading-Main:p,Heading-Main:s
-melm 111 Meeting-name:w,Meeting-name:p,Meeting-name:s,Heading:w,Heading:p,Heading:s
-melm 411 Meeting-name-see-from:w,Meeting-name-see-from:p,Meeting-name-see-from:s,See-from:w,See-from:p,See-from:s
-melm 511 Meeting-name-see-also-from:w,Meeting-name-see-also-from:p,Meeting-name-see-also-from:s,See-also-from:w,See-also-from:p,See-also-from:s
+melm 111$a Meeting-name-heading:w,Meeting-name-heading:p,Meeting-name-heading:s,Meeting-name:w,Meeting-name:p,Heading:w,Heading:p,Heading:s,Heading-Main:w,Heading-Main:p,Heading-Main:s,Match:w,Match:p,Match-heading:w,Match-heading:p
+melm 111 Meeting-name:w,Meeting-name:p,Meeting-name:s,Heading:w,Heading:p,Heading:s,Match:w,Match:p,Match-heading:w,Match-heading:p
+melm 411 Meeting-name-see-from:w,Meeting-name-see-from:p,Meeting-name-see-from:s,See-from:w,See-from:p,See-from:s,Match:w,Match:p
+melm 511 Meeting-name-see-also-from:w,Meeting-name-see-also-from:p,Meeting-name-see-also-from:s,See-also-from:w,See-also-from:p,See-also-from:s,Match:w,Match:p
 
 # Uniform Title
-melm 130$a Title-uniform-heading:w,Title-uniform-heading:p,Title-uniform-heading:s,Title-uniform:w,Title-uniform:p,Heading:w,Heading:p,Heading:s,Heading-Main:w,Heading-Main:p,Heading-Main:s
-melm 130 Title-uniform:w,Title-uniform:p,Title-uniform:s,Heading:w,Heading:p,Heading:s
-melm 431 Title-uniform-see-from:w,Title-uniform-see-from:p,Title-uniform-see-from:s,See-from:w,See-from:p,See-from:s
-melm 531 Title-uniform-see-also-from:w,Title-uniform-see-also-from:p,Title-uniform-see-also-from:s,See-also-from:w,See-also-from:p,See-also-from:s
+melm 130$a Title-uniform-heading:w,Title-uniform-heading:p,Title-uniform-heading:s,Title-uniform:w,Title-uniform:p,Heading:w,Heading:p,Heading:s,Heading-Main:w,Heading-Main:p,Heading-Main:s,Match:w,Match:p,Match-heading:w,Match-heading:p
+melm 130 Title-uniform:w,Title-uniform:p,Title-uniform:s,Heading:w,Heading:p,Heading:s,Match:w,Match:p,Match-heading:w,Match-heading:p
+melm 431 Title-uniform-see-from:w,Title-uniform-see-from:p,Title-uniform-see-from:s,See-from:w,See-from:p,See-from:s,Match:w,Match:p
+melm 531 Title-uniform-see-also-from:w,Title-uniform-see-also-from:p,Title-uniform-see-also-from:s,See-also-from:w,See-also-from:p,See-also-from:s,Match:w,Match:p
 
 # Topical Term
-melm 150$a Subject-topical-heading:w,Subject-topical-heading:p,Subject-topical-heading:s,Subject-topical:w,Subject-topical:p,Heading:w,Heading:p,Heading:s,Heading-Main:w,Heading-Main:p,Heading-Main:s
-melm 150 Subject-topical:w,Subject-topical:p,Subject-topical:s,Heading:w,Heading:p,Heading:s
-melm 450 Subject-topical-see-from:w,Subject-topical-see-from:p,Subject-topical-see-from:s,See-from:w,See-from:p,See-from:s
-melm 550 Subject-topical-see-also-from:w,Subject-topical-see-also-from:p,Subject-topical-see-also-from:s,See-also-from:w,See-also-from:p,See-also-from:s
+melm 150$a Subject-topical-heading:w,Subject-topical-heading:p,Subject-topical-heading:s,Subject-topical:w,Subject-topical:p,Heading:w,Heading:p,Heading:s,Heading-Main:w,Heading-Main:p,Heading-Main:s,Match:w,Match:p,Match-heading:w,Match-heading:p
+melm 150 Subject-topical:w,Subject-topical:p,Subject-topical:s,Heading:w,Heading:p,Heading:s,Match:w,Match:p,Match-heading:w,Match-heading:p
+melm 450 Subject-topical-see-from:w,Subject-topical-see-from:p,Subject-topical-see-from:s,See-from:w,See-from:p,See-from:s,Match:w,Match:p
+melm 550 Subject-topical-see-also-from:w,Subject-topical-see-also-from:p,Subject-topical-see-also-from:s,See-also-from:w,See-also-from:p,See-also-from:s,Match:w,Match:p
 
 # Geographic Name
-melm 151$a Name-geographic-heading:w,Name-geographic-heading:w,Name-geographic-heading:s,Name-geographic:w,Name-geographic:p,Heading:w,Heading:p,Heading:s,Heading-Main:w,Heading-Main:p,Heading-Main:s
-melm 151 Name-geographic:w,Name-geographic:p,Name-geographic:s,Heading:w,Heading:p,Heading:s
-melm 451 Name-geographic-see-from:w,Name-geographic-see-from:p,Name-geographic-see-from:s,See-from:w,See-from:p,See-from:s
-melm 551 Name-geographic-see-also-from:w,Name-geographic-see-also-from:p,Name-geographic-see-also-from:s,See-also-from:w,See-also-from:p,See-also-from:s
+melm 151$a Name-geographic-heading:w,Name-geographic-heading:w,Name-geographic-heading:s,Name-geographic:w,Name-geographic:p,Heading:w,Heading:p,Heading:s,Heading-Main:w,Heading-Main:p,Heading-Main:s,Match:w,Match:p,Match-heading:w,Match-heading:p
+melm 151 Name-geographic:w,Name-geographic:p,Name-geographic:s,Heading:w,Heading:p,Heading:s,Match:w,Match:p,Match-heading:w,Match-heading:p
+melm 451 Name-geographic-see-from:w,Name-geographic-see-from:p,Name-geographic-see-from:s,See-from:w,See-from:p,See-from:s,Match:w,Match:p
+melm 551 Name-geographic-see-also-from:w,Name-geographic-see-also-from:p,Name-geographic-see-also-from:s,See-also-from:w,See-also-from:p,See-also-from:s,Match:w,Match:p
 
 # Genre/Form Term
-melm 155$a Term-genre-form-heading:w,Term-genre-form-heading:p,Term-genre-form-heading:s,Term-genre-form:w,Term-genre-form:p,Heading:w,Heading:p,Heading:s,Heading-Main:w,Heading-Main:p,Heading-Main:s
-melm 155 Term-genre-form:w,Term-genre-form:p,Term-genre-form:s,Heading:w,Heading:p,Heading:s
-melm 455 Term-genre-form-see-from:w,Term-genre-form-see-from:p,Term-genre-form-see-from:s,See-from:w,See-from:p,See-from:s
-melm 555 Term-genre-form-see-also-from:w,Term-genre-form-see-also-from:p,Term-genre-form-see-also-from:s,See-also-from:w,See-also-from:p,See-also-from:s
+melm 155$a Term-genre-form-heading:w,Term-genre-form-heading:p,Term-genre-form-heading:s,Term-genre-form:w,Term-genre-form:p,Heading:w,Heading:p,Heading:s,Heading-Main:w,Heading-Main:p,Heading-Main:s,Match:w,Match:p,Match-heading:w,Match-heading:p
+melm 155 Term-genre-form:w,Term-genre-form:p,Term-genre-form:s,Heading:w,Heading:p,Heading:s,Match:w,Match:p,Match-heading:w,Match-heading:p
+melm 455 Term-genre-form-see-from:w,Term-genre-form-see-from:p,Term-genre-form-see-from:s,See-from:w,See-from:p,See-from:s,Match:w,Match:p
+melm 555 Term-genre-form-see-also-from:w,Term-genre-form-see-also-from:p,Term-genre-form-see-also-from:s,See-also-from:w,See-also-from:p,See-also-from:s,Match:w,Match:p
 
 # NOTE: subdivisions management missing from Koha
 # General Subdivision
index 544b2ee..9219000 100644 (file)
   </index_data_field>
   <!--record.abs line 177: melm 650$9      Koha-Auth-Number    -->
   <index_subfields xmlns="http://www.koha-community.org/schemas/index-defs" tag="650" subfields="9">
-    <target_index>Koha-Auth-Number    :w</target_index>
+    <target_index>Koha-Auth-Number:w</target_index>
   </index_subfields>
   <!--record.abs line 178: melm 650        Subject,Subject:p-->
   <index_data_field xmlns="http://www.koha-community.org/schemas/index-defs" tag="650">
   </index_data_field>
   <!--record.abs line 179: melm 651$9      Koha-Auth-Number    -->
   <index_subfields xmlns="http://www.koha-community.org/schemas/index-defs" tag="651" subfields="9">
-    <target_index>Koha-Auth-Number    :w</target_index>
+    <target_index>Koha-Auth-Number:w</target_index>
   </index_subfields>
   <!--record.abs line 180: melm 651        Name-geographic,Subject,Subject:p-->
   <index_data_field xmlns="http://www.koha-community.org/schemas/index-defs" tag="651">
   </index_data_field>
   <!--record.abs line 181: melm 652$9      Koha-Auth-Number    -->
   <index_subfields xmlns="http://www.koha-community.org/schemas/index-defs" tag="652" subfields="9">
-    <target_index>Koha-Auth-Number    :w</target_index>
+    <target_index>Koha-Auth-Number:w</target_index>
   </index_subfields>
   <!--record.abs line 183: melm 653$9      Koha-Auth-Number    -->
   <index_subfields xmlns="http://www.koha-community.org/schemas/index-defs" tag="653" subfields="9">
-    <target_index>Koha-Auth-Number    :w</target_index>
+    <target_index>Koha-Auth-Number:w</target_index>
   </index_subfields>
   <!--record.abs line 184: melm 653        Subject,Subject:p-->
   <index_data_field xmlns="http://www.koha-community.org/schemas/index-defs" tag="653">
   </index_data_field>
   <!--record.abs line 185: melm 654$9      Koha-Auth-Number    -->
   <index_subfields xmlns="http://www.koha-community.org/schemas/index-defs" tag="654" subfields="9">
-    <target_index>Koha-Auth-Number    :w</target_index>
+    <target_index>Koha-Auth-Number:w</target_index>
   </index_subfields>
   <!--record.abs line 186: melm 654        Subject,Subject:p-->
   <index_data_field xmlns="http://www.koha-community.org/schemas/index-defs" tag="654">
   </index_data_field>
   <!--record.abs line 187: melm 655$9      Koha-Auth-Number    -->
   <index_subfields xmlns="http://www.koha-community.org/schemas/index-defs" tag="655" subfields="9">
-    <target_index>Koha-Auth-Number    :w</target_index>
+    <target_index>Koha-Auth-Number:w</target_index>
   </index_subfields>
   <!--record.abs line 188: melm 655        Subject,Subject:p-->
   <index_data_field xmlns="http://www.koha-community.org/schemas/index-defs" tag="655">
   </index_data_field>
   <!--record.abs line 189: melm 656$9      Koha-Auth-Number    -->
   <index_subfields xmlns="http://www.koha-community.org/schemas/index-defs" tag="656" subfields="9">
-    <target_index>Koha-Auth-Number    :w</target_index>
+    <target_index>Koha-Auth-Number:w</target_index>
   </index_subfields>
   <!--record.abs line 190: melm 656        Subject,Subject:p-->
   <index_data_field xmlns="http://www.koha-community.org/schemas/index-defs" tag="656">
   </index_data_field>
   <!--record.abs line 191: melm 657$9      Koha-Auth-Number    -->
   <index_subfields xmlns="http://www.koha-community.org/schemas/index-defs" tag="657" subfields="9">
-    <target_index>Koha-Auth-Number    :w</target_index>
+    <target_index>Koha-Auth-Number:w</target_index>
   </index_subfields>
   <!--record.abs line 192: melm 657        Subject,Subject:p-->
   <index_data_field xmlns="http://www.koha-community.org/schemas/index-defs" tag="657">
   </index_data_field>
   <!--record.abs line 197: melm 690$9      Koha-Auth-Number    -->
   <index_subfields xmlns="http://www.koha-community.org/schemas/index-defs" tag="690" subfields="9">
-    <target_index>Koha-Auth-Number    :w</target_index>
+    <target_index>Koha-Auth-Number:w</target_index>
   </index_subfields>
   <!--record.abs line 198: melm 690        Subject,Subject:p-->
   <index_data_field xmlns="http://www.koha-community.org/schemas/index-defs" tag="690">
   </index_subfields>
   <!--record.abs line 211: melm 710$9      Koha-Auth-Number    -->
   <index_subfields xmlns="http://www.koha-community.org/schemas/index-defs" tag="710" subfields="9">
-    <target_index>Koha-Auth-Number    :w</target_index>
+    <target_index>Koha-Auth-Number:w</target_index>
   </index_subfields>
   <!--record.abs line 212: melm 710        Author,Author:p,Corporate-name,Name-->
   <index_data_field xmlns="http://www.koha-community.org/schemas/index-defs" tag="710">
   </index_subfields>
   <!--record.abs line 216: melm 711$9      Koha-Auth-Number    -->
   <index_subfields xmlns="http://www.koha-community.org/schemas/index-defs" tag="711" subfields="9">
-    <target_index>Koha-Auth-Number    :w</target_index>
+    <target_index>Koha-Auth-Number:w</target_index>
   </index_subfields>
   <!--record.abs line 218: melm 711        Author,Author:p,Author-name-corporate,Name,Conference-name-->
   <index_data_field xmlns="http://www.koha-community.org/schemas/index-defs" tag="711">
index 4918719..06b7882 100644 (file)
@@ -558,7 +558,7 @@ definition file (probably something like {biblio,authority}-koha-indexdefs.xml)
   <xslo:template mode="index_subfields" match="marc:datafield[@tag='650']">
     <xslo:for-each select="marc:subfield">
       <xslo:if test="contains('9', @code)">
-        <z:index name="Koha-Auth-Number :w">
+        <z:index name="Koha-Auth-Number:w">
           <xslo:value-of select="."/>
         </z:index>
       </xslo:if>
@@ -567,7 +567,7 @@ definition file (probably something like {biblio,authority}-koha-indexdefs.xml)
   <xslo:template mode="index_subfields" match="marc:datafield[@tag='651']">
     <xslo:for-each select="marc:subfield">
       <xslo:if test="contains('9', @code)">
-        <z:index name="Koha-Auth-Number :w">
+        <z:index name="Koha-Auth-Number:w">
           <xslo:value-of select="."/>
         </z:index>
       </xslo:if>
@@ -576,7 +576,7 @@ definition file (probably something like {biblio,authority}-koha-indexdefs.xml)
   <xslo:template mode="index_subfields" match="marc:datafield[@tag='652']">
     <xslo:for-each select="marc:subfield">
       <xslo:if test="contains('9', @code)">
-        <z:index name="Koha-Auth-Number :w">
+        <z:index name="Koha-Auth-Number:w">
           <xslo:value-of select="."/>
         </z:index>
       </xslo:if>
@@ -585,7 +585,7 @@ definition file (probably something like {biblio,authority}-koha-indexdefs.xml)
   <xslo:template mode="index_subfields" match="marc:datafield[@tag='653']">
     <xslo:for-each select="marc:subfield">
       <xslo:if test="contains('9', @code)">
-        <z:index name="Koha-Auth-Number :w">
+        <z:index name="Koha-Auth-Number:w">
           <xslo:value-of select="."/>
         </z:index>
       </xslo:if>
@@ -594,7 +594,7 @@ definition file (probably something like {biblio,authority}-koha-indexdefs.xml)
   <xslo:template mode="index_subfields" match="marc:datafield[@tag='654']">
     <xslo:for-each select="marc:subfield">
       <xslo:if test="contains('9', @code)">
-        <z:index name="Koha-Auth-Number :w">
+        <z:index name="Koha-Auth-Number:w">
           <xslo:value-of select="."/>
         </z:index>
       </xslo:if>
@@ -603,7 +603,7 @@ definition file (probably something like {biblio,authority}-koha-indexdefs.xml)
   <xslo:template mode="index_subfields" match="marc:datafield[@tag='655']">
     <xslo:for-each select="marc:subfield">
       <xslo:if test="contains('9', @code)">
-        <z:index name="Koha-Auth-Number :w">
+        <z:index name="Koha-Auth-Number:w">
           <xslo:value-of select="."/>
         </z:index>
       </xslo:if>
@@ -612,7 +612,7 @@ definition file (probably something like {biblio,authority}-koha-indexdefs.xml)
   <xslo:template mode="index_subfields" match="marc:datafield[@tag='656']">
     <xslo:for-each select="marc:subfield">
       <xslo:if test="contains('9', @code)">
-        <z:index name="Koha-Auth-Number :w">
+        <z:index name="Koha-Auth-Number:w">
           <xslo:value-of select="."/>
         </z:index>
       </xslo:if>
@@ -621,7 +621,7 @@ definition file (probably something like {biblio,authority}-koha-indexdefs.xml)
   <xslo:template mode="index_subfields" match="marc:datafield[@tag='657']">
     <xslo:for-each select="marc:subfield">
       <xslo:if test="contains('9', @code)">
-        <z:index name="Koha-Auth-Number :w">
+        <z:index name="Koha-Auth-Number:w">
           <xslo:value-of select="."/>
         </z:index>
       </xslo:if>
@@ -653,7 +653,7 @@ definition file (probably something like {biblio,authority}-koha-indexdefs.xml)
   <xslo:template mode="index_subfields" match="marc:datafield[@tag='690']">
     <xslo:for-each select="marc:subfield">
       <xslo:if test="contains('9', @code)">
-        <z:index name="Koha-Auth-Number :w">
+        <z:index name="Koha-Auth-Number:w">
           <xslo:value-of select="."/>
         </z:index>
       </xslo:if>
@@ -713,7 +713,7 @@ definition file (probably something like {biblio,authority}-koha-indexdefs.xml)
     </xslo:for-each>
     <xslo:for-each select="marc:subfield">
       <xslo:if test="contains('9', @code)">
-        <z:index name="Koha-Auth-Number :w">
+        <z:index name="Koha-Auth-Number:w">
           <xslo:value-of select="."/>
         </z:index>
       </xslo:if>
@@ -736,7 +736,7 @@ definition file (probably something like {biblio,authority}-koha-indexdefs.xml)
     </xslo:for-each>
     <xslo:for-each select="marc:subfield">
       <xslo:if test="contains('9', @code)">
-        <z:index name="Koha-Auth-Number :w">
+        <z:index name="Koha-Auth-Number:w">
           <xslo:value-of select="."/>
         </z:index>
       </xslo:if>
@@ -1110,7 +1110,7 @@ definition file (probably something like {biblio,authority}-koha-indexdefs.xml)
     </xslo:for-each>
     <xslo:for-each select="marc:subfield">
       <xslo:if test="contains('3', @code)">
-        <z:index name="materials-specified :w">
+        <z:index name="materials-specified:w">
           <xslo:value-of select="."/>
         </z:index>
       </xslo:if>
index 93f96b2..0f8360e 100644 (file)
@@ -182,27 +182,27 @@ melm 630$n      Thematic-number,Subject,Subject:p
 melm 630$r      Music-key,Subject,Subject:p
 melm 630$9      Koha-Auth-Number
 melm 630        Subject,Subject:p
-melm 650$9      Koha-Auth-Number    
+melm 650$9      Koha-Auth-Number
 melm 650        Subject,Subject:p
-melm 651$9      Koha-Auth-Number    
+melm 651$9      Koha-Auth-Number
 melm 651        Name-geographic,Subject,Subject:p
-melm 652$9      Koha-Auth-Number    
+melm 652$9      Koha-Auth-Number
 #melm 652       subject-heading,subject-heading:p
-melm 653$9      Koha-Auth-Number    
+melm 653$9      Koha-Auth-Number
 melm 653        Subject,Subject:p
-melm 654$9      Koha-Auth-Number    
+melm 654$9      Koha-Auth-Number
 melm 654        Subject,Subject:p
-melm 655$9      Koha-Auth-Number    
+melm 655$9      Koha-Auth-Number
 melm 655        Subject,Subject:p
-melm 656$9      Koha-Auth-Number    
+melm 656$9      Koha-Auth-Number
 melm 656        Subject,Subject:p
-melm 657$9      Koha-Auth-Number    
+melm 657$9      Koha-Auth-Number
 melm 657        Subject,Subject:p
-melm 658$a     curriculum:w,curriculum:p,Subject,Subject:p
-melm 658$b     curriculum:w,curriculum:p,Subject,Subject:p
-melm 658$c     curriculum:w,curriculum:p,Subject,Subject:p
+melm 658$a      curriculum:w,curriculum:p,Subject,Subject:p
+melm 658$b      curriculum:w,curriculum:p,Subject,Subject:p
+melm 658$c      curriculum:w,curriculum:p,Subject,Subject:p
 melm 658        Subject,Subject:p
-melm 690$9      Koha-Auth-Number    
+melm 690$9      Koha-Auth-Number
 melm 690        Subject,Subject:p
 
 melm 700$9      Cross-Reference,Koha-Auth-Number
@@ -216,12 +216,12 @@ melm 700        Author,Author:p,Author-name-personal,Name,Editor,Personal-name
 melm 710$t      Author-title,Name-and-title,Title,Title-uniform
 #melm 710$a     author,author:p,Name-and-title
 melm 710$a      Name-and-title
-melm 710$9      Koha-Auth-Number    
+melm 710$9      Koha-Auth-Number
 melm 710        Author,Author:p,Corporate-name,Name
 melm 711$a      Name-and-title
 #melm 711$t     author,Author-title,Title,Title-uniform
 melm 711$t      Author-title,Title,Title-uniform
-melm 711$9      Koha-Auth-Number    
+melm 711$9      Koha-Auth-Number
 #melm 711       author,Author-name-corporate,Name,Conference-name
 melm 711        Author,Author:p,Author-name-corporate,Name,Conference-name
 melm 730$n      Thematic-number
@@ -291,7 +291,7 @@ melm 942$m      cn-suffix
 melm 952$0      withdrawn:n,withdrawn:w
 melm 952$1      lost,lost:n
 melm 952$2      classification-source
-melm 952$3      materials-specified 
+melm 952$3      materials-specified
 melm 952$4      damaged:n,damaged:w
 melm 952$5      restricted:n,restricted:w
 melm 952$6      cn-sort:n,cn-sort:s
index 16f434f..6870469 100644 (file)
   <!--record.abs line 142: melm 225$e      Title-series,Title-series:p -->
   <index_subfields xmlns="http://www.koha-community.org/schemas/index-defs" tag="225" subfields="e">
     <target_index>Title-series:w</target_index>
-    <target_index>Title-series:p </target_index>
+    <target_index>Title-series:p</target_index>
   </index_subfields>
   <!--record.abs line 144: melm 225$f      Author,Author:p,Name-and-title,Name-and-title:p-->
   <index_subfields xmlns="http://www.koha-community.org/schemas/index-defs" tag="225" subfields="f">
   <!--record.abs line 146: melm 225$h      Title-series,Title-series:p -->
   <index_subfields xmlns="http://www.koha-community.org/schemas/index-defs" tag="225" subfields="h">
     <target_index>Title-series:w</target_index>
-    <target_index>Title-series:p </target_index>
+    <target_index>Title-series:p</target_index>
   </index_subfields>
   <!--record.abs line 148: melm 225$i      Title-series,Title-series:p -->
   <index_subfields xmlns="http://www.koha-community.org/schemas/index-defs" tag="225" subfields="i">
     <target_index>Title-series:w</target_index>
-    <target_index>Title-series:p </target_index>
+    <target_index>Title-series:p</target_index>
   </index_subfields>
   <!--record.abs line 150: melm 225$v      Title-series,Title-series:p -->
   <index_subfields xmlns="http://www.koha-community.org/schemas/index-defs" tag="225" subfields="v">
     <target_index>Title-series:w</target_index>
-    <target_index>Title-series:p </target_index>
+    <target_index>Title-series:p</target_index>
   </index_subfields>
   <!--record.abs line 151: melm 225$x      ISSN-->
   <index_subfields xmlns="http://www.koha-community.org/schemas/index-defs" tag="225" subfields="x">
index a30d10f..dcbc7a1 100644 (file)
@@ -138,16 +138,16 @@ melm 215        Extent
 #Series
 melm 225$a      Title-series,Title-series:p
 melm 225$d      Title-series,Title-series:p
-#SubTitle
-melm 225$e      Title-series,Title-series:p 
+#SubTit
+melm 225$e      Title-series,Title-series:p
 #Authors
 melm 225$f      Author,Author:p,Name-and-title,Name-and-title:p
 #Part-Title
-melm 225$h      Title-series,Title-series:p 
+melm 225$h      Title-series,Title-series:p
 #Part Number
-melm 225$i      Title-series,Title-series:p 
+melm 225$i      Title-series,Title-series:p
 #Volume
-melm 225$v      Title-series,Title-series:p 
+melm 225$v      Title-series,Title-series:p
 melm 225$x      ISSN
 
 melm 230$a      Electronic-ressource
index 59cae26..2316d3f 100644 (file)
@@ -16,6 +16,7 @@
     <xsl:key name="index_subfields_tag" match="kohaidx:index_subfields" use="@tag"/>
     <xsl:key name="index_heading_tag"   match="kohaidx:index_heading"   use="@tag"/>
     <xsl:key name="index_data_field_tag"   match="kohaidx:index_data_field"   use="@tag"/>
+    <xsl:key name="index_heading_conditional_tag" match="kohaidx:index_heading_conditional" use="@tag"/>
     <xsl:key name="index_match_heading_tag" match="kohaidx:index_match_heading" use="@tag"/>
 
     <xsl:template match="kohaidx:index_defs">
@@ -33,6 +34,7 @@ definition file (probably something like {biblio,authority}-koha-indexdefs.xml)
             <xslo:template match="text()" mode="index_subfields"/>
             <xslo:template match="text()" mode="index_data_field"/>
             <xslo:template match="text()" mode="index_heading"/>
+            <xslo:template match="text()" mode="index_heading_conditional"/>
             <xslo:template match="text()" mode="index_match_heading"/>
             <xslo:template match="text()" mode="index_subject_thesaurus"/>
             <xslo:template match="/">
@@ -54,6 +56,7 @@ definition file (probably something like {biblio,authority}-koha-indexdefs.xml)
                     <xslo:apply-templates mode="index_subfields"/>
                     <xslo:apply-templates mode="index_data_field"/>
                     <xslo:apply-templates mode="index_heading"/>
+                    <xslo:apply-templates mode="index_heading_conditional"/>
                     <xslo:apply-templates mode="index_match_heading"/>
                     <xslo:apply-templates mode="index_subject_thesaurus"/>
                 </z:record>
@@ -64,6 +67,7 @@ definition file (probably something like {biblio,authority}-koha-indexdefs.xml)
             <xsl:call-template name="handle-index-subfields"/>
             <xsl:call-template name="handle-index-data-field"/>
             <xsl:call-template name="handle-index-heading"/>
+            <xsl:call-template name="handle-index-heading-conditional"/>
             <xsl:call-template name="handle-index-match-heading"/>
             <xsl:apply-templates/>
             <xslo:template match="*">
@@ -279,6 +283,19 @@ definition file (probably something like {biblio,authority}-koha-indexdefs.xml)
         </xsl:for-each>
     </xsl:template>
 
+    <xsl:template name="handle-index-heading-conditional">
+        <xsl:for-each select="//kohaidx:index_heading_conditional[generate-id() = generate-id(key('index_heading_conditional_tag', @tag)[1])]">
+            <xslo:template mode="index_heading_conditional">
+                <xslo:if>
+                    <xsl:attribute name="test"><xsl:value-of select="@test"/></xsl:attribute>
+                    <xsl:for-each select="key('index_heading_conditional_tag', @tag)">
+                        <xsl:call-template name="handle-one-index-heading"/>
+                    </xsl:for-each>
+                </xslo:if>
+            </xslo:template>
+        </xsl:for-each>
+    </xsl:template>
+
     <xsl:template name="handle-one-data-field">
         <xsl:variable name="indexes">
             <xsl:call-template name="get-target-indexes"/>
diff --git a/help.pl b/help.pl
index 97f3462..78f225b 100755 (executable)
--- a/help.pl
+++ b/help.pl
@@ -25,19 +25,26 @@ use C4::Output;
 use C4::Context;
 use CGI;
 
+sub _help_template_file_of_url {
+    my $url = shift;
+    my $file;
+    if ($url =~ /koha\/(.*)\.pl/) {
+        $file = $1;
+    } else {
+        $file = 'mainpage';
+    }
+    $file =~ s/[^a-zA-Z0-9_\-\/]*//g;
+    return "help/$file.tt";
+}
+
 my $query = new CGI;
 
 # find the script that called the online help using the CGI referer()
 our $refer = $query->param('url');
 $refer = $query->referer()  if !$refer || $refer eq 'undefined';
-
-$refer =~ /koha\/(.*)\.pl/;
-my $file = $1;
-$file =~ s/[^a-zA-Z0-9_\-\/]*//g;
-my $from = "help/$file.tt";
+my $from = _help_template_file_of_url($refer);
 
 my $template = C4::Templates::gettemplate($from, 'intranet', $query);
 $template->param( referer => $refer );
 
 output_html_with_http_headers $query, "", $template->output;
-
index 9303082..75bec3f 100755 (executable)
@@ -1,19 +1,27 @@
 #!/bin/sh
 
-UBUNTU_PACKAGES=`dirname $0`/ubuntu.packages
+# determine what directory this script is in, because the packages files
+# should be there too.
+DIR=`dirname $0`
 
-# sanity checks
+#determine which vbersion of ubuntu
+VERSION=`lsb_release -r | cut -f2 -d'  '`
+UBUNTU_PACKAGES=$DIR/ubuntu.$VERSION.packages
 
+# sanity checks
 if [ ! -e $UBUNTU_PACKAGES ]; then
-  echo ERROR:  Could not find $UBUNTU_PACKAGES file for running check.
-  exit
+   echo "WARNING! We strongly recommend an LTS release."
+   UBUNTU_PACKAGES=$DIR/ubuntu.packages
 fi
+echo "Using the $UBUNTU_PACKAGES file."
 
 # main
-
 UBUNTU_PACKAGES_LIST=`awk '{print $1}' $UBUNTU_PACKAGES | grep -v '^\s*#' | grep -v '^\s*$'`
 for F in $UBUNTU_PACKAGES_LIST; do
-  UBUNTU_PKG_POLICY=`apt-cache policy $F | grep "Installed:"`
-  UBUNTU_PKG_VERSION=`echo $UBUNTU_PKG_POLICY | awk '{print $2}'`
-  echo "$F = $UBUNTU_PKG_VERSION"
+   UBUNTU_PKG_POLICY=`apt-cache policy $F 2> /dev/null | grep "Installed:"`
+   if [ "${#UBUNTU_PKG_POLICY}" -eq "0" ]; then
+      UBUNTU_PKG_POLICY="Installed: \(none\)\*"
+   fi
+   UBUNTU_PKG_VERSION=`echo $UBUNTU_PKG_POLICY | awk '{print $2}'`
+   echo "$F = $UBUNTU_PKG_VERSION"
 done
diff --git a/install_misc/ubuntu.10.04.packages b/install_misc/ubuntu.10.04.packages
new file mode 100644 (file)
index 0000000..61fbebf
--- /dev/null
@@ -0,0 +1,134 @@
+apache2                                        install
+at                                     install
+daemon                                 install
+gcc                                    install
+gettext                                        install
+make                                   install
+
+# mysql packages
+
+mysql-server                           install
+libmysqlclient16                       install
+libmysqlclient16-dev                   install
+
+# yaz packages
+
+yaz                                    install
+yaz-doc                                        install
+libyaz3                                        install
+libyaz3-dev                            install
+
+# zebra packages
+
+idzebra-2.0                            install
+idzebra-2.0-common                     install
+idzebra-2.0-doc                                install
+idzebra-2.0-utils                      install
+libidzebra-2.0-0                       install
+libidzebra-2.0-dev                     install
+libidzebra-2.0-mod-alvis               install
+libidzebra-2.0-mod-grs-marc            install
+libidzebra-2.0-mod-grs-regx            install
+libidzebra-2.0-mod-grs-xml             install
+libidzebra-2.0-mod-text                        install
+libidzebra-2.0-modules                 install
+
+# crypto packages
+
+libgcrypt11                            install
+libgcrypt11-dev                                install
+
+# xml/xslt packages
+
+libxml2                                        install
+libxml2-dev                            install
+libxml2-utils                          install
+libxslt1.1                             install
+libxslt1-dev                           install
+
+# perl packages
+
+libalgorithm-checkdigits-perl          install
+libauthen-cas-client-perl              install
+libbiblio-endnotestyle-perl            install
+libbusiness-isbn-perl                  install
+libcgi-session-driver-memcached-perl                   install
+libcgi-session-perl                    install
+libcgi-session-serialize-yaml-perl     install
+libclass-factory-util-perl             install
+libdata-ical-perl                      install
+libdate-calc-perl                      install
+libdate-manip-perl                     install
+libdatetime-perl                       install
+libdatetime-format-dateparse-perl                      install
+libdatetime-format-ical-perl            install
+libdatetime-format-mail-perl           install
+libdatetime-format-strptime-perl       install
+libdatetime-format-w3cdtf-perl         install
+libdatetime-locale-perl                        install
+libdatetime-timezone-perl              install
+libdbd-mysql-perl                      install
+libdbd-sqlite2-perl                    install
+libdbi-perl                            install
+libemail-date-perl                     install
+libgd-barcode-perl                     install
+libgraphics-magick-perl                        install
+libgravatar-url-perl                   install
+libhtml-scrubber-perl                  install
+libhtml-template-pro-perl              install
+libhttp-oai-perl                       install
+liblingua-ispell-perl                  install
+liblingua-stem-perl                    install
+liblingua-stem-snowball-perl           install
+liblist-moreutils-perl                 install
+liblocale-currency-format-perl                 install
+liblocale-gettext-perl                 install
+liblocale-po-perl                      install
+libmail-sendmail-perl                  install
+libmarc-charset-perl                   install
+libmarc-crosswalk-dublincore-perl      install
+libmarc-record-perl                    install
+libmarc-xml-perl                       install
+libmemoize-memcached-perl                      install
+libmime-lite-perl                      install
+libmodern-perl                 install
+libmodule-install-perl                 install
+libnet-ldap-perl                       install
+libnet-server-perl                     install
+libpdf-api2-simple-perl                        install
+libreadonly-perl                       install
+libreadonly-xs-perl                    install
+libnet-z3950-zoom-perl                 install
+libnumber-format-perl                  install
+libpdf-api2-perl                       install
+libpdf-reuse-perl                      install
+libpdf-reuse-barcode-perl              install
+libpdf-table-perl                      install
+libpoe-perl                            install
+libschedule-at-perl                    install
+libsms-send-perl                       install
+libtemplate-perl                       install
+libtext-charwidth-perl                 install
+libtext-csv-encoded-perl                       install
+libtext-csv-perl                       install
+libtext-iconv-perl                     install
+libtext-wrapi18n-perl                  install
+libtimedate-perl                       install
+libtime-duration-perl                  install
+libtime-format-perl                    install
+libuniversal-require-perl              install
+libunix-syslog-perl                    install
+libxml-perl                            install
+libxml-dom-perl                                install
+libxml-dumper-perl                     install
+libxml-libxml-perl                     install
+libxml-libxslt-perl                    install
+libxml-namespacesupport-perl           install
+libxml-parser-perl                     install
+libxml-regexp-perl                     install
+libxml-rss-perl                                install
+libxml-sax-writer-perl                 install
+libxml-simple-perl                     install
+libxml-xslt-perl                       install
+libyaml-perl                           install
+libyaml-syck-perl                      install
diff --git a/install_misc/ubuntu.10.10.packages b/install_misc/ubuntu.10.10.packages
new file mode 100644 (file)
index 0000000..9b806bb
--- /dev/null
@@ -0,0 +1,129 @@
+
+apache2                                        install
+at                                     install
+daemon                                 install
+gcc                                    install
+gettext                                        install
+make                                   install
+
+# mysql packages
+
+mysql-server                           install
+libmysqlclient16                       install
+libmysqlclient16-dev                   install
+
+# yaz packages
+
+yaz                                    install
+yaz-doc                                        install
+libyaz3                                        install
+libyaz3-dev                            install
+
+# zebra packages
+
+idzebra-2.0                            install
+idzebra-2.0-common                     install
+idzebra-2.0-doc                                install
+idzebra-2.0-utils                      install
+libidzebra-2.0-0                       install
+libidzebra-2.0-dev                     install
+libidzebra-2.0-mod-alvis               install
+libidzebra-2.0-mod-grs-marc            install
+libidzebra-2.0-mod-grs-regx            install
+libidzebra-2.0-mod-grs-xml             install
+libidzebra-2.0-mod-text                        install
+libidzebra-2.0-modules                 install
+
+# crypto packages
+
+libgcrypt11                            install
+libgcrypt11-dev                                install
+
+# xml/xslt packages
+
+libxml2                                        install
+libxml2-dev                            install
+libxml2-utils                          install
+libxslt1.1                             install
+libxslt1-dev                           install
+
+# perl packages
+
+libalgorithm-checkdigits-perl          install
+libauthen-cas-client-perl              install
+libbiblio-endnotestyle-perl            install
+libbusiness-isbn-perl                  install
+libcgi-session-perl                    install
+libcgi-session-serialize-yaml-perl     install
+libclass-factory-util-perl             install
+libdata-ical-perl                      install
+libdate-calc-perl                      install
+libdate-manip-perl                     install
+libdatetime-perl                       install
+libdatetime-format-ical-perl            install
+libdatetime-format-mail-perl           install
+libdatetime-format-strptime-perl       install
+libdatetime-format-w3cdtf-perl         install
+libdatetime-locale-perl                        install
+libdatetime-timezone-perl              install
+libdbd-mysql-perl                      install
+libdbd-sqlite2-perl                    install
+libdbi-perl                            install
+libemail-date-perl                     install
+libgd-barcode-perl                     install
+libgraphics-magick-perl                        install
+libhtml-scrubber-perl                  install
+libhtml-template-pro-perl              install
+libhttp-oai-perl                       install
+liblingua-ispell-perl                  install
+liblingua-stem-perl                    install
+liblingua-stem-snowball-perl           install
+liblist-moreutils-perl                 install
+liblocale-currency-format-perl         install
+liblocale-gettext-perl                 install
+liblocale-po-perl                      install
+libmail-sendmail-perl                  install
+libmarc-charset-perl                   install
+libmarc-crosswalk-dublincore-perl      install
+libmarc-record-perl                    install
+libmarc-xml-perl                       install
+libmemoize-memcached-perl              install
+libmime-lite-perl                      install
+libmodule-install-perl                 install
+libnet-ldap-perl                       install
+libnet-server-perl                     install
+libnet-z3950-zoom-perl                 install
+libnumber-format-perl                  install
+libpdf-api2-perl                       install
+libpdf-reuse-perl                      install
+libpdf-api2-simple-perl                        install
+libpdf-reuse-barcode-perl              install
+libpdf-table-perl                      install
+libpoe-perl                            install
+libschedule-at-perl                    install
+libsms-send-perl                       install
+libtemplate-perl                       install
+libtext-charwidth-perl                 install
+libtext-csv-encoded-perl               install
+libtext-csv-perl                       install
+libtext-iconv-perl                     install
+libtext-wrapi18n-perl                  install
+libtimedate-perl                       install
+libtime-duration-perl                  install
+libtime-format-perl                    install
+libuniversal-require-perl              install
+libunix-syslog-perl                    install
+libxml-perl                            install
+libxml-dom-perl                                install
+libxml-dumper-perl                     install
+libxml-libxml-perl                     install
+libxml-libxslt-perl                    install
+libxml-namespacesupport-perl           install
+libxml-parser-perl                     install
+libxml-regexp-perl                     install
+libxml-rss-perl                                install
+libxml-sax-writer-perl                 install
+libxml-simple-perl                     install
+libxml-xslt-perl                       install
+libyaml-perl                           install
+libyaml-syck-perl                      install
diff --git a/install_misc/ubuntu.12.04.packages b/install_misc/ubuntu.12.04.packages
new file mode 100644 (file)
index 0000000..340ce82
--- /dev/null
@@ -0,0 +1,157 @@
+apache2                                        install
+at                                     install
+daemon                                 install
+gcc                                    install
+gettext                                        install
+make                                   install
+
+# mysql packages
+
+mysql-server                           install
+libmysqlclient18                       install
+
+# yaz packages
+
+yaz                                    install
+yaz-doc                                        install
+libyaz4                                        install
+libyaz4-dev                            install
+
+# zebra packages
+
+idzebra-2.0                            install
+idzebra-2.0-common                     install
+idzebra-2.0-doc                                install
+idzebra-2.0-utils                      install
+libidzebra-2.0-0                       install
+libidzebra-2.0-dev                     install
+libidzebra-2.0-mod-alvis               install
+libidzebra-2.0-mod-grs-marc            install
+libidzebra-2.0-mod-grs-regx            install
+libidzebra-2.0-mod-grs-xml             install
+libidzebra-2.0-mod-text                        install
+libidzebra-2.0-modules                 install
+
+# crypto packages
+
+libgcrypt11                            install
+libgcrypt11-dev                                install
+
+# xml/xslt packages
+
+libxml2                                        install
+libxml2-dev                            install
+libxml2-utils                          install
+libxslt1.1                             install
+libxslt1-dev                           install
+
+# perl packages
+
+libalgorithm-checkdigits-perl          install
+libauthen-cas-client-perl              install
+libbiblio-endnotestyle-perl            install
+libbusiness-isbn-perl                  install
+libcgi-session-driver-memcached-perl                   install
+libcgi-session-perl                    install
+libcgi-session-serialize-yaml-perl     install
+libchi-driver-memcached-perl           install
+libchi-perl                            install
+libclass-accessor-perl                 install
+libclass-factory-util-perl             install
+libdata-ical-perl                      install
+libdate-calc-perl                      install
+libdate-manip-perl                     install
+libdatetime-perl                       install
+libdatetime-event-ical-perl            install
+libdatetime-format-dateparse-perl                      install
+libdatetime-format-ical-perl            install
+libdatetime-format-mail-perl           install
+libdatetime-format-mysql-perl          install
+libdatetime-format-strptime-perl       install
+libdatetime-format-w3cdtf-perl         install
+libdatetime-locale-perl                        install
+libdatetime-set-perl                   install
+libdatetime-timezone-perl              install
+libdbd-mysql-perl                      install
+libdbd-sqlite2-perl                    install
+libdbi-perl                            install
+libemail-date-perl                     install
+libgd-barcode-perl                     install
+libgd-gd2-perl                         install
+libgraphics-magick-perl                        install
+libgravatar-url-perl                   install
+libhtml-format-perl                    install
+libhtml-scrubber-perl                  install
+libhtml-template-pro-perl              install
+libhttp-cookies-perl                   install
+libhttp-message-perl                   install
+libhttp-oai-perl                       install
+libjson-any-perl                       install
+libjson-perl                           install
+liblingua-ispell-perl                  install
+liblingua-stem-perl                    install
+liblingua-stem-snowball-perl           install
+liblist-moreutils-perl                 install
+liblocale-currency-format-perl                 install
+liblocale-gettext-perl                 install
+liblocale-po-perl                      install
+libmail-sendmail-perl                  install
+libmarc-charset-perl                   install
+libmarc-crosswalk-dublincore-perl      install
+libmarc-record-perl                    install
+libmarc-xml-perl                       install
+libmemoize-memcached-perl                      install
+libmime-lite-perl                      install
+libmodern-perl                 install
+libmodern-perl-perl                    install
+libmodule-install-perl                 install
+libmoosex-storage-perl                 install
+libmoosex-types-perl                   install
+libnet-ldap-perl                       install
+libnet-server-perl                     install
+libpdf-api2-simple-perl                        install
+libreadonly-perl                       install
+libreadonly-xs-perl                    install
+libnet-z3950-zoom-perl                 install
+libnumber-format-perl                  install
+libpdf-api2-perl                       install
+libpdf-reuse-perl                      install
+libpdf-reuse-barcode-perl              install
+libpdf-table-perl                      install
+libpoe-perl                            install
+libschedule-at-perl                    install
+libsms-send-perl                       install
+libstring-rewriteprefix-perl           install
+libtemplate-perl                       install
+libtest-mockmodule-perl                        install
+libtest-strict-perl                    install
+libtext-charwidth-perl                 install
+libtext-csv-encoded-perl                       install
+libtext-csv-perl                       install
+libtext-csv-xs-perl                    install
+libtext-iconv-perl                     install
+libtext-unaccent-perl                  install
+libtext-wrapi18n-perl                  install
+libtimedate-perl                       install
+libtime-duration-perl                  install
+libtime-format-perl                    install
+libtime-progress-perl                  install
+libuniversal-require-perl              install
+libunix-syslog-perl                    install
+liburi-perl                            install
+libwww-perl                            install
+libxml-perl                            install
+libxml-dom-perl                                install
+libxml-dumper-perl                     install
+libxml-libxml-perl                     install
+libxml-libxslt-perl                    install
+libxml-namespacesupport-perl           install
+libxml-parser-perl                     install
+libxml-regexp-perl                     install
+libxml-rss-perl                                install
+libxml-sax-perl                                install
+libxml-sax-writer-perl                 install
+libxml-simple-perl                     install
+libxml-xslt-perl                       install
+libyaml-perl                           install
+libyaml-syck-perl                      install
index 61fbebf..340ce82 100644 (file)
@@ -8,15 +8,14 @@ make                                  install
 # mysql packages
 
 mysql-server                           install
-libmysqlclient16                       install
-libmysqlclient16-dev                   install
+libmysqlclient18                       install
 
 # yaz packages
 
 yaz                                    install
 yaz-doc                                        install
-libyaz3                                        install
-libyaz3-dev                            install
+libyaz4                                        install
+libyaz4-dev                            install
 
 # zebra packages
 
@@ -55,28 +54,40 @@ libbusiness-isbn-perl                       install
 libcgi-session-driver-memcached-perl                   install
 libcgi-session-perl                    install
 libcgi-session-serialize-yaml-perl     install
+libchi-driver-memcached-perl           install
+libchi-perl                            install
+libclass-accessor-perl                 install
 libclass-factory-util-perl             install
 libdata-ical-perl                      install
 libdate-calc-perl                      install
 libdate-manip-perl                     install
 libdatetime-perl                       install
+libdatetime-event-ical-perl            install
 libdatetime-format-dateparse-perl                      install
 libdatetime-format-ical-perl            install
 libdatetime-format-mail-perl           install
+libdatetime-format-mysql-perl          install
 libdatetime-format-strptime-perl       install
 libdatetime-format-w3cdtf-perl         install
 libdatetime-locale-perl                        install
+libdatetime-set-perl                   install
 libdatetime-timezone-perl              install
 libdbd-mysql-perl                      install
 libdbd-sqlite2-perl                    install
 libdbi-perl                            install
 libemail-date-perl                     install
 libgd-barcode-perl                     install
+libgd-gd2-perl                         install
 libgraphics-magick-perl                        install
 libgravatar-url-perl                   install
+libhtml-format-perl                    install
 libhtml-scrubber-perl                  install
 libhtml-template-pro-perl              install
+libhttp-cookies-perl                   install
+libhttp-message-perl                   install
 libhttp-oai-perl                       install
+libjson-any-perl                       install
+libjson-perl                           install
 liblingua-ispell-perl                  install
 liblingua-stem-perl                    install
 liblingua-stem-snowball-perl           install
@@ -92,7 +103,10 @@ libmarc-xml-perl                    install
 libmemoize-memcached-perl                      install
 libmime-lite-perl                      install
 libmodern-perl                 install
+libmodern-perl-perl                    install
 libmodule-install-perl                 install
+libmoosex-storage-perl                 install
+libmoosex-types-perl                   install
 libnet-ldap-perl                       install
 libnet-server-perl                     install
 libpdf-api2-simple-perl                        install
@@ -107,17 +121,25 @@ libpdf-table-perl                 install
 libpoe-perl                            install
 libschedule-at-perl                    install
 libsms-send-perl                       install
+libstring-rewriteprefix-perl           install
 libtemplate-perl                       install
+libtest-mockmodule-perl                        install
+libtest-strict-perl                    install
 libtext-charwidth-perl                 install
 libtext-csv-encoded-perl                       install
 libtext-csv-perl                       install
+libtext-csv-xs-perl                    install
 libtext-iconv-perl                     install
+libtext-unaccent-perl                  install
 libtext-wrapi18n-perl                  install
 libtimedate-perl                       install
 libtime-duration-perl                  install
 libtime-format-perl                    install
+libtime-progress-perl                  install
 libuniversal-require-perl              install
 libunix-syslog-perl                    install
+liburi-perl                            install
+libwww-perl                            install
 libxml-perl                            install
 libxml-dom-perl                                install
 libxml-dumper-perl                     install
@@ -127,6 +149,7 @@ libxml-namespacesupport-perl                install
 libxml-parser-perl                     install
 libxml-regexp-perl                     install
 libxml-rss-perl                                install
+libxml-sax-perl                                install
 libxml-sax-writer-perl                 install
 libxml-simple-perl                     install
 libxml-xslt-perl                       install
diff --git a/install_misc/ubuntu_maverick.packages b/install_misc/ubuntu_maverick.packages
deleted file mode 100644 (file)
index 9b806bb..0000000
+++ /dev/null
@@ -1,129 +0,0 @@
-
-apache2                                        install
-at                                     install
-daemon                                 install
-gcc                                    install
-gettext                                        install
-make                                   install
-
-# mysql packages
-
-mysql-server                           install
-libmysqlclient16                       install
-libmysqlclient16-dev                   install
-
-# yaz packages
-
-yaz                                    install
-yaz-doc                                        install
-libyaz3                                        install
-libyaz3-dev                            install
-
-# zebra packages
-
-idzebra-2.0                            install
-idzebra-2.0-common                     install
-idzebra-2.0-doc                                install
-idzebra-2.0-utils                      install
-libidzebra-2.0-0                       install
-libidzebra-2.0-dev                     install
-libidzebra-2.0-mod-alvis               install
-libidzebra-2.0-mod-grs-marc            install
-libidzebra-2.0-mod-grs-regx            install
-libidzebra-2.0-mod-grs-xml             install
-libidzebra-2.0-mod-text                        install
-libidzebra-2.0-modules                 install
-
-# crypto packages
-
-libgcrypt11                            install
-libgcrypt11-dev                                install
-
-# xml/xslt packages
-
-libxml2                                        install
-libxml2-dev                            install
-libxml2-utils                          install
-libxslt1.1                             install
-libxslt1-dev                           install
-
-# perl packages
-
-libalgorithm-checkdigits-perl          install
-libauthen-cas-client-perl              install
-libbiblio-endnotestyle-perl            install
-libbusiness-isbn-perl                  install
-libcgi-session-perl                    install
-libcgi-session-serialize-yaml-perl     install
-libclass-factory-util-perl             install
-libdata-ical-perl                      install
-libdate-calc-perl                      install
-libdate-manip-perl                     install
-libdatetime-perl                       install
-libdatetime-format-ical-perl            install
-libdatetime-format-mail-perl           install
-libdatetime-format-strptime-perl       install
-libdatetime-format-w3cdtf-perl         install
-libdatetime-locale-perl                        install
-libdatetime-timezone-perl              install
-libdbd-mysql-perl                      install
-libdbd-sqlite2-perl                    install
-libdbi-perl                            install
-libemail-date-perl                     install
-libgd-barcode-perl                     install
-libgraphics-magick-perl                        install
-libhtml-scrubber-perl                  install
-libhtml-template-pro-perl              install
-libhttp-oai-perl                       install
-liblingua-ispell-perl                  install
-liblingua-stem-perl                    install
-liblingua-stem-snowball-perl           install
-liblist-moreutils-perl                 install
-liblocale-currency-format-perl         install
-liblocale-gettext-perl                 install
-liblocale-po-perl                      install
-libmail-sendmail-perl                  install
-libmarc-charset-perl                   install
-libmarc-crosswalk-dublincore-perl      install
-libmarc-record-perl                    install
-libmarc-xml-perl                       install
-libmemoize-memcached-perl              install
-libmime-lite-perl                      install
-libmodule-install-perl                 install
-libnet-ldap-perl                       install
-libnet-server-perl                     install
-libnet-z3950-zoom-perl                 install
-libnumber-format-perl                  install
-libpdf-api2-perl                       install
-libpdf-reuse-perl                      install
-libpdf-api2-simple-perl                        install
-libpdf-reuse-barcode-perl              install
-libpdf-table-perl                      install
-libpoe-perl                            install
-libschedule-at-perl                    install
-libsms-send-perl                       install
-libtemplate-perl                       install
-libtext-charwidth-perl                 install
-libtext-csv-encoded-perl               install
-libtext-csv-perl                       install
-libtext-iconv-perl                     install
-libtext-wrapi18n-perl                  install
-libtimedate-perl                       install
-libtime-duration-perl                  install
-libtime-format-perl                    install
-libuniversal-require-perl              install
-libunix-syslog-perl                    install
-libxml-perl                            install
-libxml-dom-perl                                install
-libxml-dumper-perl                     install
-libxml-libxml-perl                     install
-libxml-libxslt-perl                    install
-libxml-namespacesupport-perl           install
-libxml-parser-perl                     install
-libxml-regexp-perl                     install
-libxml-rss-perl                                install
-libxml-sax-writer-perl                 install
-libxml-simple-perl                     install
-libxml-xslt-perl                       install
-libyaml-perl                           install
-libyaml-syck-perl                      install
diff --git a/installer/data/mysql/atomicupdate/importauthorities.pl b/installer/data/mysql/atomicupdate/importauthorities.pl
new file mode 100755 (executable)
index 0000000..679235e
--- /dev/null
@@ -0,0 +1,26 @@
+#!/usr/bin/perl
+
+use strict;
+use warnings;
+use C4::Context;
+my $dbh = C4::Context->dbh;
+
+$dbh->do(
+q|CREATE TABLE `import_auths` (
+    import_record_id int(11) NOT NULL,
+    matched_authid int(11) default NULL,
+    control_number varchar(25) default NULL,
+    authorized_heading varchar(128) default NULL,
+    original_source varchar(25) default NULL,
+    CONSTRAINT import_auths_ibfk_1 FOREIGN KEY (import_record_id)
+    REFERENCES import_records (import_record_id) ON DELETE CASCADE ON UPDATE CASCADE,
+    KEY matched_authid (matched_authid)
+    ) ENGINE=InnoDB DEFAULT CHARSET=utf8;|
+);
+$dbh->do("ALTER TABLE import_batches
+            CHANGE COLUMN num_biblios num_records int(11) NOT NULL default 0,
+            ADD COLUMN record_type enum('biblio', 'auth', 'holdings') NOT NULL default 'biblio'");
+$dbh->do("UPDATE import_batches SET record_type='auth' WHERE import_batch_id IN
+            (SELECT import_batch_id FROM import_records WHERE record_type='auth')");
+
+print "Upgrade done (Added support for staging authorities)\n";
index 9fef7fa..a06a0ad 100644 (file)
@@ -1,7 +1,5 @@
 INSERT INTO `z3950servers`
 (`host`, `port`, `db`, `userid`, `password`, `name`, `id`, `checked`, `rank`, `syntax`, `encoding`) VALUES 
 ('z3950.loc.gov',7090,'Voyager','','','LIBRARY OF CONGRESS',1,1,1,'USMARC','MARC-8'),
-('hopkins1.bobst.nyu.edu',9991,'NYU01PUB','','','NEW YORK UNIVERSITY LIBRARIES',5,0,0,'USMARC','MARC-8'),
 ('clio-db.cc.columbia.edu',7090,'voyager','','','COLUMBIA UNIVERSITY',6,0,0,'USMARC','MARC-8'),
-('catalog.nypl.org',210,'innopac','','','NEW YORK PUBLIC LIBRARY',7,0,0,'USMARC','MARC-8'),
 ('siris-libraries.si.edu',210,'Default','','','SMITHSONIAN INSTITUTION LIBRARIES',10,0,0,'USMARC','MARC-8'); 
index e323317..33b6ff6 100644 (file)
@@ -1,4 +1,4 @@
 INSERT INTO `repeatable_holidays` VALUES 
-(2,'',0,NULL,NULL,'','Sundays'),
-(3,'',NULL,1,1,'','New Year\'s Day'),
-(4,'',NULL,25,12,'','Christmas');
+(2,'MPL',0,NULL,NULL,'','Sundays'),
+(3,'MPL',NULL,1,1,'','New Year\'s Day'),
+(4,'MPL',NULL,25,12,'','Christmas');
index 9fef7fa..a06a0ad 100644 (file)
@@ -1,7 +1,5 @@
 INSERT INTO `z3950servers`
 (`host`, `port`, `db`, `userid`, `password`, `name`, `id`, `checked`, `rank`, `syntax`, `encoding`) VALUES 
 ('z3950.loc.gov',7090,'Voyager','','','LIBRARY OF CONGRESS',1,1,1,'USMARC','MARC-8'),
-('hopkins1.bobst.nyu.edu',9991,'NYU01PUB','','','NEW YORK UNIVERSITY LIBRARIES',5,0,0,'USMARC','MARC-8'),
 ('clio-db.cc.columbia.edu',7090,'voyager','','','COLUMBIA UNIVERSITY',6,0,0,'USMARC','MARC-8'),
-('catalog.nypl.org',210,'innopac','','','NEW YORK PUBLIC LIBRARY',7,0,0,'USMARC','MARC-8'),
 ('siris-libraries.si.edu',210,'Default','','','SMITHSONIAN INSTITUTION LIBRARIES',10,0,0,'USMARC','MARC-8'); 
index 9fef7fa..a06a0ad 100644 (file)
@@ -1,7 +1,5 @@
 INSERT INTO `z3950servers`
 (`host`, `port`, `db`, `userid`, `password`, `name`, `id`, `checked`, `rank`, `syntax`, `encoding`) VALUES 
 ('z3950.loc.gov',7090,'Voyager','','','LIBRARY OF CONGRESS',1,1,1,'USMARC','MARC-8'),
-('hopkins1.bobst.nyu.edu',9991,'NYU01PUB','','','NEW YORK UNIVERSITY LIBRARIES',5,0,0,'USMARC','MARC-8'),
 ('clio-db.cc.columbia.edu',7090,'voyager','','','COLUMBIA UNIVERSITY',6,0,0,'USMARC','MARC-8'),
-('catalog.nypl.org',210,'innopac','','','NEW YORK PUBLIC LIBRARY',7,0,0,'USMARC','MARC-8'),
 ('siris-libraries.si.edu',210,'Default','','','SMITHSONIAN INSTITUTION LIBRARIES',10,0,0,'USMARC','MARC-8'); 
index 7d43607..065c6b3 100644 (file)
@@ -24,3 +24,4 @@ UPDATE systempreferences SET value = 'Ma bibliothèque' WHERE variable = 'Librar
 UPDATE systempreferences SET value = 'fr-FR' WHERE variable = 'opaclanguages';
 UPDATE systempreferences SET value = 1 WHERE variable = 'opaclanguagesdisplay';
 UPDATE systempreferences SET value = 'Bienvenue dans Koha...\r\n<hr>' WHERE variable = 'OpacMainUserBlock';
+UPDATE systempreferences SET value = 'bibtex|dc|marcxml|marc8|utf8|marcstd|ris' WHERE variable = 'OpacExportOptions';
index 69304e1..29ee782 100644 (file)
@@ -97,10 +97,10 @@ CREATE TABLE `auth_types` (
 DROP TABLE IF EXISTS `authorised_values`;
 CREATE TABLE `authorised_values` ( -- stores values for authorized values categories and values
   `id` int(11) NOT NULL auto_increment, -- unique key, used to identify the authorized value
-  `category` varchar(10) NOT NULL default '', -- key used to identify the authorized value category
+  `category` varchar(16) NOT NULL default '', -- key used to identify the authorized value category
   `authorised_value` varchar(80) NOT NULL default '', -- code use to identify the authorized value
-  `lib` varchar(80) default NULL, -- authorized value description as printed in the staff client
-  `lib_opac` VARCHAR(80) default NULL, -- authorized value description as printed in the OPAC
+  `lib` varchar(200) default NULL, -- authorized value description as printed in the staff client
+  `lib_opac` varchar(200) default NULL, -- authorized value description as printed in the OPAC
   `imageurl` varchar(200) default NULL, -- authorized value URL
   PRIMARY KEY  (`id`),
   KEY `name` (`category`),
@@ -177,7 +177,8 @@ CREATE TABLE `biblioitems` ( -- information related to bibliographic records in
   `cn_class` varchar(30) default NULL,
   `cn_item` varchar(10) default NULL,
   `cn_suffix` varchar(10) default NULL,
-  `cn_sort` varchar(30) default NULL,
+  `cn_sort` varchar(30) default NULL, -- normalized version of the call number used for sorting
+  `agerestriction` varchar(255) default NULL, -- target audience/age restriction from the bib record (MARC21 521$a)
   `totalissues` int(10),
   `marcxml` longtext NOT NULL, -- full bibliographic MARC record in MARCXML
   PRIMARY KEY  (`biblioitemnumber`),
@@ -255,8 +256,8 @@ CREATE TABLE `borrowers` ( -- this table includes information about your patrons
   `altcontactsurname` varchar(255) default NULL, -- surname or last name of the alternate contact for the patron/borrower
   `altcontactaddress1` varchar(255) default NULL, -- the first address line for the alternate contact for the patron/borrower
   `altcontactaddress2` varchar(255) default NULL, -- the second address line for the alternate contact for the patron/borrower
-  `altcontactaddress3` varchar(255) default NULL, -- the third address line for the alternate contact for the patron/borrower
-  `altcontactstate` text default NULL, -- the city and state for the alternate contact for the patron/borrower
+  `altcontactaddress3` varchar(255) default NULL, -- the city for the alternate contact for the patron/borrower
+  `altcontactstate` text default NULL, -- the state for the alternate contact for the patron/borrower
   `altcontactzipcode` varchar(50) default NULL, -- the zipcode for the alternate contact for the patron/borrower
   `altcontactcountry` text default NULL, -- the country for the alternate contact for the patron/borrower
   `altcontactphone` varchar(50) default NULL, -- the phone number for the alternate contact for the patron/borrower
@@ -287,7 +288,7 @@ CREATE TABLE `borrower_attribute_types` ( -- definitions for custom patron field
   `staff_searchable` tinyint(1) NOT NULL default 0, -- defines if this field is searchable via the patron search in the staff client (1 for yes, 0 for no)
   `authorised_value_category` varchar(10) default NULL, -- foreign key from authorised_values that links this custom field to an authorized value category
   `display_checkout` tinyint(1) NOT NULL default 0,-- defines if this field displays in checkout screens
-  `category_code` VARCHAR(1) NULL DEFAULT NULL,-- defines a category for an attribute_type
+  `category_code` VARCHAR(10) NULL DEFAULT NULL,-- defines a category for an attribute_type
   `class` VARCHAR(255) NOT NULL DEFAULT '',-- defines a class for an attribute_type
   PRIMARY KEY  (`code`),
   KEY `auth_val_cat_idx` (`authorised_value_category`)
@@ -301,7 +302,7 @@ DROP TABLE IF EXISTS `borrower_attributes`;
 CREATE TABLE `borrower_attributes` ( -- values of custom patron fields known as extended patron attributes linked to patrons/borrowers
   `borrowernumber` int(11) NOT NULL, -- foreign key from the borrowers table, defines which patron/borrower has this attribute
   `code` varchar(10) NOT NULL, -- foreign key from the borrower_attribute_types table, defines which custom field this value was entered for
-  `attribute` varchar(64) default NULL, -- custom patron field value
+  `attribute` varchar(255) default NULL, -- custom patron field value
   `password` varchar(64) default NULL, -- password associated with this field
   KEY `borrowernumber` (`borrowernumber`),
   KEY `code_attribute` (`code`, `attribute`),
@@ -649,7 +650,8 @@ CREATE TABLE `deletedbiblioitems` ( -- information about bibliographic records t
   `cn_class` varchar(30) default NULL,
   `cn_item` varchar(10) default NULL,
   `cn_suffix` varchar(10) default NULL,
-  `cn_sort` varchar(30) default NULL,
+  `cn_sort` varchar(30) default NULL, -- normalized version of the call number used for sorting
+  `agerestriction` varchar(255) default NULL, -- target audience/age restriction from the bib record (MARC21 521$a)
   `totalissues` int(10),
   `marcxml` longtext NOT NULL, -- full bibliographic MARC record in MARCXML
   PRIMARY KEY  (`biblioitemnumber`),
@@ -725,8 +727,8 @@ CREATE TABLE `deletedborrowers` ( -- stores data related to the patrons/borrower
   `altcontactsurname` varchar(255) default NULL, -- surname or last name of the alternate contact for the patron/borrower
   `altcontactaddress1` varchar(255) default NULL, -- the first address line for the alternate contact for the patron/borrower
   `altcontactaddress2` varchar(255) default NULL, -- the second address line for the alternate contact for the patron/borrower
-  `altcontactaddress3` varchar(255) default NULL, -- the third address line for the alternate contact for the patron/borrower
-  `altcontactstate` text default NULL, -- the city and state for the alternate contact for the patron/borrower
+  `altcontactaddress3` varchar(255) default NULL, -- the city for the alternate contact for the patron/borrower
+  `altcontactstate` text default NULL, -- the state for the alternate contact for the patron/borrower
   `altcontactzipcode` varchar(50) default NULL, -- the zipcode for the alternate contact for the patron/borrower
   `altcontactcountry` text default NULL, -- the country for the alternate contact for the patron/borrower
   `altcontactphone` varchar(50) default NULL, -- the phone number for the alternate contact for the patron/borrower
@@ -770,7 +772,7 @@ CREATE TABLE `deleteditems` (
   `timestamp` timestamp NOT NULL default CURRENT_TIMESTAMP on update CURRENT_TIMESTAMP, -- date and time this item was last altered
   `location` varchar(80) default NULL, -- authorized value for the shelving location for this item (MARC21 952$c)
   `permanent_location` varchar(80) default NULL, -- linked to the CART and PROC temporary locations feature, stores the permanent shelving location
-  `onloan` date default NULL, -- defines if this item is currently checked out (1 for yes, 0 for no)
+  `onloan` date default NULL, -- defines if item is checked out (NULL for not checked out, and checkout date for checked out)
   `cn_source` varchar(10) default NULL, -- classification source used on this item (MARC21 952$2)
   `cn_sort` varchar(30) default NULL, -- normalized form of the call number (MARC21 952$o) used for sorting
   `ccode` varchar(10) default NULL, -- authorized value for the collection code associated with this item (MARC21 952$8)
@@ -853,7 +855,7 @@ CREATE TABLE `import_batches` ( -- information about batches of marc records tha
   `matcher_id` int(11) default NULL, -- the id of the match rule used (matchpoints.matcher_id)
   `template_id` int(11) default NULL,
   `branchcode` varchar(10) default NULL,
-  `num_biblios` int(11) NOT NULL default 0, -- number of bib records in the file
+  `num_records` int(11) NOT NULL default 0, -- number of records in the file
   `num_items` int(11) NOT NULL default 0, -- number of items in the file
   `upload_timestamp` timestamp NOT NULL default CURRENT_TIMESTAMP, -- date and time the file was uploaded
   `overlay_action` enum('replace', 'create_new', 'use_template', 'ignore') NOT NULL default 'create_new', -- how to handle duplicate records
@@ -861,6 +863,7 @@ CREATE TABLE `import_batches` ( -- information about batches of marc records tha
   `item_action` enum('always_add', 'add_only_for_matches', 'add_only_for_new', 'ignore') NOT NULL default 'always_add', -- what to do with item records
   `import_status` enum('staging', 'staged', 'importing', 'imported', 'reverting', 'reverted', 'cleaned') NOT NULL default 'staging', -- the status of the imported file
   `batch_type` enum('batch', 'z3950', 'webservice') NOT NULL default 'batch', -- where this batch has come from
+  `record_type` enum('biblio', 'auth', 'holdings') NOT NULL default 'biblio', -- type of record in the batch
   `file_name` varchar(100), -- the name of the file uploaded
   `comments` mediumtext, -- any comments added when the file was uploaded
   PRIMARY KEY (`import_batch_id`),
@@ -909,6 +912,22 @@ CREATE TABLE `import_record_matches` ( -- matches found when importing a batch o
 ) ENGINE=InnoDB DEFAULT CHARSET=utf8;
 
 --
+-- Table structure for table `import_auths`
+--
+
+DROP TABLE IF EXISTS `import_auths`;
+CREATE TABLE `import_auths` (
+  `import_record_id` int(11) NOT NULL,
+  `matched_authid` int(11) default NULL,
+  `control_number` varchar(25) default NULL,
+  `authorized_heading` varchar(128) default NULL,
+  `original_source` varchar(25) default NULL,
+  CONSTRAINT `import_auths_ibfk_1` FOREIGN KEY (`import_record_id`)
+             REFERENCES `import_records` (`import_record_id`) ON DELETE CASCADE ON UPDATE CASCADE,
+  KEY `matched_authid` (`matched_authid`)
+) ENGINE=InnoDB DEFAULT CHARSET=utf8;
+
+--
 -- Table structure for table `import_biblios`
 --
 
@@ -1038,7 +1057,7 @@ CREATE TABLE `items` ( -- holdings/item information
   `timestamp` timestamp NOT NULL default CURRENT_TIMESTAMP on update CURRENT_TIMESTAMP, -- date and time this item was last altered
   `location` varchar(80) default NULL, -- authorized value for the shelving location for this item (MARC21 952$c)
   `permanent_location` varchar(80) default NULL, -- linked to the CART and PROC temporary locations feature, stores the permanent shelving location
-  `onloan` date default NULL, -- defines if this item is currently checked out (1 for yes, 0 for no)
+  `onloan` date default NULL, -- defines if item is checked out (NULL for not checked out, and checkout date for checked out)
   `cn_source` varchar(10) default NULL, -- classification source used on this item (MARC21 952$2)
   `cn_sort` varchar(30) default NULL,  -- normalized form of the call number (MARC21 952$o) used for sorting
   `ccode` varchar(10) default NULL, -- authorized value for the collection code associated with this item (MARC21 952$8)
@@ -1624,8 +1643,9 @@ CREATE TABLE reports_dictionary ( -- definitions (or snippets of SQL) stored for
    `date_created` datetime default NULL, -- date and time this definition was created
    `date_modified` datetime default NULL, -- date and time this definition was last modified
    `saved_sql` text, -- SQL snippet for us in reports
-   `area` int(11) default NULL, -- Koha module this definition is for (1 = Circulation, 2 = Catalog, 3 = Patrons, 4 = Acquistions, 5 = Accounts)
-   PRIMARY KEY  (`id`)
+   report_area varchar(6) DEFAULT NULL, -- Koha module this definition is for Circulation, Catalog, Patrons, Acquistions, Accounts)
+   PRIMARY KEY  (id),
+   KEY dictionary_area_idx (report_area)
 ) ENGINE=InnoDB DEFAULT CHARSET=utf8;
 
 --
@@ -1723,7 +1743,11 @@ CREATE TABLE saved_sql ( -- saved sql reports
    `notes` text, -- the notes or description given to this report
    `cache_expiry` int NOT NULL default 300,
    `public` boolean NOT NULL default FALSE,
+    report_area varchar(6) default NULL,
+    report_group varchar(80) default NULL,
+    report_subgroup varchar(80) default NULL,
    PRIMARY KEY  (`id`),
+   KEY sql_area_group_idx (report_group, report_subgroup),
    KEY boridx (`borrowernumber`)
 ) ENGINE=InnoDB DEFAULT CHARSET=utf8;
 
@@ -1824,6 +1848,7 @@ CREATE TABLE `statistics` ( -- information related to transactions (circulation
   `itemtype` varchar(10) default NULL, -- foreign key from the itemtypes table, links transaction to a specific item type
   `borrowernumber` int(11) default NULL, -- foreign key from the borrowers table, links transaction to a specific borrower
   `associatedborrower` int(11) default NULL,
+  `ccode` int(11) default NULL, -- foreign key from the items table, links transaction to a specific collection code
   KEY `timeidx` (`datetime`)
 ) ENGINE=InnoDB DEFAULT CHARSET=utf8;
 
@@ -2464,6 +2489,7 @@ CREATE TABLE `messages` ( -- circulation messages left via the patron's check ou
 
 DROP TABLE IF EXISTS `accountlines`;
 CREATE TABLE `accountlines` (
+  `accountlines_id` int(11) NOT NULL AUTO_INCREMENT,
   `borrowernumber` int(11) NOT NULL default 0,
   `accountno` smallint(6) NOT NULL default 0,
   `itemnumber` int(11) default NULL,
@@ -2479,6 +2505,7 @@ CREATE TABLE `accountlines` (
   `notify_level` int(2) NOT NULL default 0,
   `note` text NULL default NULL,
   `manager_id` int(11) NULL,
+  PRIMARY KEY (`accountlines_id`),
   KEY `acctsborridx` (`borrowernumber`),
   KEY `timeidx` (`timestamp`),
   KEY `itemnumber` (`itemnumber`),
@@ -2568,6 +2595,8 @@ CREATE TABLE `aqbasket` ( -- stores data about baskets in acquisitions
   `authorisedby` varchar(10) default NULL, -- the borrowernumber of the person who created the basket
   `booksellerinvoicenumber` mediumtext, -- appears to always be NULL
   `basketgroupid` int(11), -- links this basket to its group (aqbasketgroups.id)
+  `deliveryplace` varchar(10) default NULL, -- basket delivery place
+  `billingplace` varchar(10) default NULL, -- basket billing place
   PRIMARY KEY  (`basketno`),
   KEY `booksellerid` (`booksellerid`),
   KEY `basketgroupid` (`basketgroupid`),
@@ -2744,7 +2773,7 @@ CREATE TABLE `aqorders` ( -- information related to the basket line items
   `listprice` decimal(28,6) default NULL, -- the vendor price for this line item
   `totalamount` decimal(28,6) default NULL, -- not used? always NULL
   `datereceived` date default NULL, -- the date this order was received
-  `booksellerinvoicenumber` mediumtext, -- the invoice number this line item was received on
+  invoiceid int(11) default NULL, -- id of invoice
   `freight` decimal(28,6) default NULL, -- shipping costs (not used)
   `unitprice` decimal(28,6) default NULL, -- the actual cost entered when receiving this line item
   `quantityreceived` smallint(6) NOT NULL default 0, -- the quantity that have been received so far
@@ -2760,7 +2789,8 @@ CREATE TABLE `aqorders` ( -- information related to the basket line items
   `timestamp` timestamp NOT NULL default CURRENT_TIMESTAMP on update CURRENT_TIMESTAMP, -- the date and time this order line was last modified
   `rrp` decimal(13,2) default NULL, -- the replacement cost for this line item
   `ecost` decimal(13,2) default NULL, -- the estimated cost for this line item
-  `gst` decimal(13,2) default NULL, -- the tax rate for this line item
+  `gstrate` decimal(6,4) default NULL, -- the tax rate for this line item
+  `discount` float(6,4) default NULL, -- the discount for this line item
   `budget_id` int(11) NOT NULL, -- the fund this order goes against (aqbudgets.budget_id)
   `budgetgroup_id` int(11) NOT NULL, -- not used? always zero
   `budgetdate` date default NULL, -- not used? always NULL
@@ -2771,12 +2801,14 @@ CREATE TABLE `aqorders` ( -- information related to the basket line items
   `uncertainprice` tinyint(1), -- was this price uncertain (1 for yes, 0 for no)
   `claims_count` int(11) default 0, -- count of claim letters generated
   `claimed_date` date default NULL, -- last date a claim was generated
+  parent_ordernumber int(11) default NULL, -- ordernumber of parent order line, or same as ordernumber if no parent
   PRIMARY KEY  (`ordernumber`),
   KEY `basketno` (`basketno`),
   KEY `biblionumber` (`biblionumber`),
   KEY `budget_id` (`budget_id`),
   CONSTRAINT `aqorders_ibfk_1` FOREIGN KEY (`basketno`) REFERENCES `aqbasket` (`basketno`) ON DELETE CASCADE ON UPDATE CASCADE,
-  CONSTRAINT `aqorders_ibfk_2` FOREIGN KEY (`biblionumber`) REFERENCES `biblio` (`biblionumber`) ON DELETE SET NULL ON UPDATE CASCADE
+  CONSTRAINT `aqorders_ibfk_2` FOREIGN KEY (`biblionumber`) REFERENCES `biblio` (`biblionumber`) ON DELETE SET NULL ON UPDATE CASCADE,
+  CONSTRAINT aqorders_ibfk_3 FOREIGN KEY (invoiceid) REFERENCES aqinvoices (invoiceid) ON DELETE SET NULL ON UPDATE CASCADE
 ) ENGINE=InnoDB DEFAULT CHARSET=utf8;
 
 
@@ -2793,6 +2825,27 @@ CREATE TABLE `aqorders_items` ( -- information on items entered in the acquisiti
   KEY `ordernumber` (`ordernumber`)
 ) ENGINE=InnoDB DEFAULT CHARSET=utf8;
 
+
+--
+-- Table structure for table aqinvoices
+--
+
+DROP TABLE IF EXISTS aqinvoices;
+CREATE TABLE aqinvoices (
+  invoiceid int(11) NOT NULL AUTO_INCREMENT,    -- ID of the invoice, primary key
+  invoicenumber mediumtext NOT NULL,    -- Name of invoice
+  booksellerid int(11) NOT NULL,    -- foreign key to aqbooksellers
+  shipmentdate date default NULL,   -- date of shipment
+  billingdate date default NULL,    -- date of billing
+  closedate date default NULL,  -- invoice close date, NULL means the invoice is open
+  shipmentcost decimal(28,6) default NULL,  -- shipment cost
+  shipmentcost_budgetid int(11) default NULL,   -- foreign key to aqbudgets, link the shipment cost to a budget
+  PRIMARY KEY (invoiceid),
+  CONSTRAINT aqinvoices_fk_aqbooksellerid FOREIGN KEY (booksellerid) REFERENCES aqbooksellers (id) ON DELETE CASCADE ON UPDATE CASCADE,
+  CONSTRAINT aqinvoices_fk_shipmentcost_budgetid FOREIGN KEY (shipmentcost_budgetid) REFERENCES aqbudgets (budget_id) ON DELETE SET NULL ON UPDATE CASCADE
+) ENGINE=InnoDB DEFAULT CHARSET=utf8;
+
+
 --
 -- Table structure for table `fieldmapping`
 --
@@ -2808,6 +2861,22 @@ CREATE TABLE `fieldmapping` ( -- koha to keyword mapping
 ) ENGINE=InnoDB DEFAULT CHARSET=utf8;
 
 --
+-- Table structure for table `transport_cost`
+--
+
+DROP TABLE IF EXISTS transport_cost;
+CREATE TABLE transport_cost (
+      frombranch varchar(10) NOT NULL,
+      tobranch varchar(10) NOT NULL,
+      cost decimal(6,2) NOT NULL,
+      disable_transfer tinyint(1) NOT NULL DEFAULT 0,
+      CHECK ( frombranch <> tobranch ), -- a dud check, mysql does not support that
+      PRIMARY KEY (frombranch, tobranch),
+      CONSTRAINT transport_cost_ibfk_1 FOREIGN KEY (frombranch) REFERENCES branches (branchcode) ON DELETE CASCADE ON UPDATE CASCADE,
+      CONSTRAINT transport_cost_ibfk_2 FOREIGN KEY (tobranch) REFERENCES branches (`branchcode`) ON DELETE CASCADE ON UPDATE CASCADE
+) ENGINE=InnoDB DEFAULT CHARSET=utf8;
+
+--
 -- Table structure for table `biblioimages`
 --
 
index b2bdeaf..2f2c173 100644 (file)
@@ -2,6 +2,4 @@ INSERT INTO `z3950servers`
 (`host`, `port`, `db`, `userid`, `password`, `name`, `id`, `checked`, `rank`, `syntax`, `encoding`) VALUES
 ('193.59.172.100',210,'INNOPAC','','','BIBLIOTEKA NARODOWA',1,1,1,'MARC21','UTF8'),
 ('62.181.1.243',4321,'bilbo','','','BP BEMOWO',2,1,1,'MARC21','UTF8'),
-('z3950.loc.gov',7090,'Voyager','','','LIBRARY OF CONGRESS',3,0,1,'USMARC','MARC-8'),
-('bobcat.nyu.edu',210,'advance','','','NEW YORK UNIVERSITY LIBRARIES',4,0,0,'USMARC','MARC-8'),
-('catnyp.nypl.org',210,'innopac','','','NEW YORK PUBLIC LIBRARY',5,0,0,'USMARC','MARC-8');
+('z3950.loc.gov',7090,'Voyager','','','LIBRARY OF CONGRESS',3,0,1,'USMARC','MARC-8');
index 7219e37..a4fceea 100644 (file)
@@ -148,10 +148,10 @@ INSERT INTO `systempreferences` (variable,value,explanation,options,type) VALUES
 INSERT INTO `systempreferences` (variable,value,explanation,options,type) VALUES('SelfCheckHelpMessage','','Enter HTML to include under the basic Web-based Self Checkout instructions on the Help page','70|10','Textarea');
 INSERT INTO `systempreferences` (variable,value,explanation,options,type) VALUES('numSearchResults',20,'Specify the maximum number of results to display on a page of results',NULL,'Integer');
 INSERT INTO `systempreferences` (variable,value,explanation,options,type) VALUES('OPACnumSearchResults',20,'Specify the maximum number of results to display on a page of results',NULL,'Integer');
-INSERT INTO `systempreferences` (variable,value,explanation,options,type) VALUES('defaultSortField',NULL,'Specify the default field used for sorting','relevance|popularity|call_number|pubdate|acqdate|title|author','Choice');
-INSERT INTO `systempreferences` (variable,value,explanation,options,type) VALUES('defaultSortOrder',NULL,'Specify the default sort order','asc|dsc|az|za','Choice');
-INSERT INTO `systempreferences` (variable,value,explanation,options,type) VALUES('OPACdefaultSortField',NULL,'Specify the default field used for sorting','relevance|popularity|call_number|pubdate|acqdate|title|author','Choice');
-INSERT INTO `systempreferences` (variable,value,explanation,options,type) VALUES('OPACdefaultSortOrder',NULL,'Specify the default sort order','asc|dsc|za|az','Choice');
+INSERT INTO `systempreferences` (variable,value,explanation,options,type) VALUES('defaultSortField','relevance','Specify the default field used for sorting','relevance|popularity|call_number|pubdate|acqdate|title|author','Choice');
+INSERT INTO `systempreferences` (variable,value,explanation,options,type) VALUES('defaultSortOrder','dsc','Specify the default sort order','asc|dsc|az|za','Choice');
+INSERT INTO `systempreferences` (variable,value,explanation,options,type) VALUES('OPACdefaultSortField','relevance','Specify the default field used for sorting','relevance|popularity|call_number|pubdate|acqdate|title|author','Choice');
+INSERT INTO `systempreferences` (variable,value,explanation,options,type) VALUES('OPACdefaultSortOrder','dsc','Specify the default sort order','asc|dsc|za|az','Choice');
 INSERT INTO `systempreferences` (variable,value,explanation,options,type) VALUES('FacetLabelTruncationLength',20,'Specify the facet max length in OPAC',NULL,'Integer');
 INSERT INTO `systempreferences` (variable,value,explanation,options,type) VALUES('staffClientBaseURL','','Specify the base URL of the staff client',NULL,'free');
 INSERT INTO `systempreferences` (variable,value,explanation,options,type) VALUES('minPasswordLength',3,'Specify the minimum length of a patron/staff password',NULL,'free');
@@ -165,7 +165,7 @@ INSERT INTO `systempreferences` (variable,value,explanation,options,type) VALUES
 INSERT INTO `systempreferences` (variable,value,explanation,options,type) VALUES('OPACViewOthersSuggestions',0,'If ON, allows all suggestions to be displayed in the OPAC',NULL,'YesNo');
 INSERT INTO `systempreferences` (variable,value,explanation,options,type) VALUES('OPACURLOpenInNewWindow',0,'If ON, URLs in the OPAC open in a new window',NULL,'YesNo');
 INSERT INTO `systempreferences` (variable,value,explanation,options,type) VALUES('OPACUserCSS','','Add CSS to be included in the OPAC in an embedded <style> tag.',NULL,'free');
-INSERT INTO `systempreferences` (variable,value,explanation,options,type) VALUES('OPACItemsResultsDisplay',"statuses",'statuses : show only the status of items in result list. itemdisplay : show full location of items (branch+location+callnumber) as in staff interface',"statuses|itemdetails",'Choice');
+INSERT INTO `systempreferences` (variable,value,explanation,options,type) VALUES('OPACItemsResultsDisplay',0,'If OFF : show only the status of items in result list.If ON : show full location of items (branch+location+callnumber) as in staff interface','','YesNo');
 INSERT INTO `systempreferences` (variable,value,explanation,options,type) VALUES('uppercasesurnames',0,'If ON, surnames are converted to upper case in patron entry form',NULL,'YesNo');
 INSERT INTO `systempreferences` (variable,value,explanation,options,type) VALUES('CircControl',"ItemHomeLibrary",'Specify the agency that controls the circulation and fines policy',"PickupLibrary|PatronLibrary|ItemHomeLibrary",'Choice');
 INSERT INTO `systempreferences` (variable,value,explanation,options,type) VALUES('finesCalendar',"noFinesWhenClosed",'Specify whether to use the Calendar in calculating duedates and fines',"ignoreCalendar|noFinesWhenClosed",'Choice');
@@ -180,6 +180,7 @@ INSERT INTO `systempreferences` (variable,value,explanation,options,type) VALUES
 INSERT INTO `systempreferences` (variable,value,explanation,options,type) VALUES('PatronsPerPage','20','Number of Patrons Per Page displayed by default','20','Integer');
 INSERT INTO `systempreferences` (variable,value,explanation,options,type) VALUES('HomeOrHoldingBranch','holdingbranch','Used by Circulation to determine which branch of an item to check with independent branches on, and by search to determine which branch to choose for availability ','holdingbranch|homebranch','Choice');
 INSERT INTO `systempreferences` (variable,value,explanation,options,type) VALUES('HomeOrHoldingBranchReturn','homebranch','Used by Circulation to determine which branch of an item to check checking-in items','holdingbranch|homebranch','Choice');
+INSERT INTO `systempreferences` (variable,value,explanation,options,type) VALUES('AllowReturnToBranch', 'anywhere', 'Where an item may be returned', 'anywhere|homebranch|holdingbranch|homeorholdingbranch', 'Choice');
 INSERT INTO `systempreferences` (variable,value,explanation,options,type) VALUES('OpacHighlightedWords','1','If Set, then queried words are higlighted in OPAC','','YesNo');
 
 INSERT INTO `systempreferences` (variable,value,explanation,options,type) VALUES('OAI-PMH','0','if ON, OAI-PMH server is enabled',NULL,'YesNo');
@@ -272,7 +273,7 @@ INSERT INTO `systempreferences` ( `variable` , `value` , `options` , `explanatio
 INSERT INTO `systempreferences` ( `variable` , `value` , `options` , `explanation` , `type` ) VALUES ( 'DisplayClearScreenButton', '0', '', 'If set to ON, a clear screen button will appear on the circulation page.', 'YesNo');
 INSERT INTO systempreferences (variable,value,options,explanation,type)VALUES('HidePatronName', '0', '', 'If this is switched on, patron''s cardnumber will be shown instead of their name on the holds and catalog screens', 'YesNo');
 INSERT INTO `systempreferences` (variable,value,explanation,options,type) VALUES ('OPACSearchForTitleIn','<li><a  href="http://worldcat.org/search?q={TITLE}" target="_blank">Other Libraries (WorldCat)</a></li>\n<li><a href="http://www.scholar.google.com/scholar?q={TITLE}" target="_blank">Other Databases (Google Scholar)</a></li>\n<li><a href="http://www.bookfinder.com/search/?author={AUTHOR}&amp;title={TITLE}&amp;st=xl&amp;ac=qr" target="_blank">Online Stores (Bookfinder.com)</a></li>\n<li><a href="http://openlibrary.org/search/?author=({AUTHOR})&title=({TITLE})" target="_blank">Open Library (openlibrary.org)</a></li>','Enter the HTML that will appear in the \'Search for this title in\' box on the detail page in the OPAC.  Enter {TITLE}, {AUTHOR}, or {ISBN} in place of their respective variables in the URL. Leave blank to disable \'More Searches\' menu.','70|10','Textarea');
-INSERT INTO `systempreferences` (variable,value,explanation,options,type) VALUES ('OPACMySummaryHTML','','Enter the HTML that will appear in a column on the \'my profile\' tab when a user is logged in to the OPAC. Enter {BIBLIONUMBER}, {TITLE}, {AUTHOR}, or {ISBN} in place of their respective variables in the HTML. Leave blank to disable.','70|10','Textarea');
+INSERT INTO `systempreferences` (variable,value,explanation,options,type) VALUES ('OPACMySummaryHTML','','Enter the HTML that will appear in a column on the \'my summary\' and \'my reading history\' tabs when a user is logged in to the OPAC. Enter {BIBLIONUMBER}, {TITLE}, {AUTHOR}, or {ISBN} in place of their respective variables in the HTML. Leave blank to disable.','70|10','Textarea');
 INSERT INTO `systempreferences` (variable,value,explanation,options,type) VALUES ('OPACPatronDetails','1','If OFF the patron details tab in the OPAC is disabled.','','YesNo');
 INSERT INTO `systempreferences` (variable,value,explanation,options,type) VALUES ('OPACFinesTab','1','If OFF the patron fines tab in the OPAC is disabled.','','YesNo');
 INSERT INTO systempreferences (variable,value,options,explanation,type)VALUES('DisplayOPACiconsXSLT', '1', '', 'If ON, displays the format, audience, type icons in XSLT MARC21 results and display pages.', 'YesNo');
@@ -317,6 +318,7 @@ INSERT INTO `systempreferences` (variable,value,explanation,options,type) VALUES
 INSERT INTO `systempreferences` (variable,value,explanation,options,type) VALUES('OpacHiddenItems','','This syspref allows to define custom rules for hiding specific items at opac. See docs/opac/OpacHiddenItems.txt for more informations.','','Textarea');
 INSERT INTO `systempreferences` (variable,value,explanation,options,type) VALUES('numSearchRSSResults',50,'Specify the maximum number of results to display on a RSS page of results',NULL,'Integer');
 INSERT INTO systempreferences (variable,value,explanation,options,type) VALUES ('OpacRenewalBranch','checkoutbranch','Choose how the branch for an OPAC renewal is recorded in statistics','itemhomebranch|patronhomebranch|checkoutbranch|null','Choice');
+INSERT INTO `systempreferences` (variable,value,explanation,options,type) VALUES('UseTransportCostMatrix',0,"Use Transport Cost Matrix when filling holds",'','YesNo');
 INSERT INTO `systempreferences` (variable,value,explanation,options,type) VALUES ('BasketConfirmations', '1', 'When closing or reopening a basket,', 'always ask for confirmation.|do not ask for confirmation.', 'Choice');
 INSERT INTO `systempreferences` (variable,value,explanation,options,type) VALUES ('MARCAuthorityControlField008', '|| aca||aabn           | a|a     d', NULL, NULL, 'Textarea');
 INSERT INTO systempreferences (variable,value,explanation,options,type) VALUES('OpenLibraryCovers',0,'If ON Openlibrary book covers will be show',NULL,'YesNo');
@@ -356,6 +358,9 @@ INSERT INTO systempreferences (variable,value,options,explanation,type) VALUES (
 INSERT INTO systempreferences (variable,value,explanation,options,type) VALUES ('OpacStarRatings','all',NULL,'disable|all|details','Choice');
 INSERT INTO systempreferences (variable,value,explanation,options,type) VALUES('OpacBrowseResults','1','Disable/enable browsing and paging search results from the OPAC detail page.',NULL,'YesNo');
 INSERT INTO systempreferences (variable,value,explanation,options,type) VALUES('SvcMaxReportRows','10','Maximum number of rows to return via the report web service.',NULL,'Integer');
+INSERT INTO systempreferences (variable,value,options,explanation,type) VALUES ('decreaseLoanHighHolds', NULL, '', 'Decreases the loan period for items with number of holds above the threshold specified in decreaseLoanHighHoldsValue', 'YesNo');
+INSERT INTO systempreferences (variable,value,options,explanation,type) VALUES ('decreaseLoanHighHoldsValue', NULL, '', 'Specifies a threshold for the minimum number of holds needed to trigger a reduction in loan duration (used with decreaseLoanHighHolds)', 'Integer');
+INSERT INTO systempreferences (variable,value,options,explanation,type) VALUES ('decreaseLoanHighHoldsDuration', NULL, '', 'Specifies a number of days that a loan is reduced to when used in conjunction with decreaseLoanHighHolds', 'Integer');
 INSERT INTO systempreferences (variable,value,options,explanation,type) VALUES ('ReservesControlBranch','PatronLibrary','ItemHomeLibrary|PatronLibrary','Branch checked for members reservations rights','Choice');
 INSERT INTO systempreferences (variable,value,explanation,options,type) VALUES('IssueLostItem', 'alert', 'alert|confirm|nothing', 'Defines what should be done when an attempt is made to issue an item that has been marked as lost.', 'Choice');
 INSERT INTO systempreferences (variable,value,explanation,options,type) VALUES('SuspendHoldsIntranet', '1', NULL , 'Allow holds to be suspended from the intranet.', 'YesNo');
@@ -366,3 +371,18 @@ INSERT INTO systempreferences (variable,value,options,explanation,type) VALUES (
 INSERT INTO systempreferences (variable,value,explanation,type) VALUES('EnableBorrowerFiles','0','If enabled, allows librarians to upload and attach arbitrary files to a borrower record.','YesNo');
 INSERT INTO systempreferences (variable,value,explanation,options,type) VALUES('UpdateTotalIssuesOnCirc','0','Whether to update the totalissues field in the biblio on each circ.',NULL,'YesNo');
 INSERT INTO systempreferences (variable,value,explanation,options,type) VALUES('IntranetSlipPrinterJS','','Use this JavaScript for printing slips. Define at least function printThenClose(). For use e.g. with Firefox PlugIn jsPrintSetup, see http://jsprintsetup.mozdev.org/','','Free');
+INSERT INTO systempreferences (variable,value,explanation,options,type) VALUES('OpacSuppressionByIPRange','','Restrict the suppression to IP adresses outside of the IP range','','free');
+INSERT INTO systempreferences (variable,value,explanation,options,type) VALUES('PrefillItem','0','When a new item is added, should it be prefilled with last created item values?','','YesNo');
+INSERT INTO systempreferences (variable,value,explanation,options,type) VALUES ('SubfieldsToUseWhenPrefill','','Define a list of subfields to use when prefilling items (separated by space)','','Free');
+INSERT INTO systempreferences (variable,value,explanation,options,type) VALUES('AgeRestrictionMarker','','Markers for age restriction indication, e.g. FSK|PEGI|Age|',NULL,'free');
+INSERT INTO systempreferences (variable,value,explanation,options,type) VALUES('AgeRestrictionOverride',0,'Allow staff to check out an item with age restriction.',NULL,'YesNo');
+INSERT INTO systempreferences (variable,value,options,explanation,type) VALUES ('IncludeSeeFromInSearches','0','','Include see-from references in searches.','YesNo');
+INSERT INTO systempreferences (variable,value,explanation,options,type) VALUES('OPACMobileUserCSS','','Include the following CSS for the mobile view on all pages in the OPAC:',NULL,'free');
+INSERT INTO systempreferences (variable,value,explanation,options,type) VALUES('OpacMainUserBlockMobile','','Show the following HTML in its own column on the main page of the OPAC (mobile version):',NULL,'free');
+INSERT INTO systempreferences (variable,value,explanation,options,type) VALUES('OpacShowLibrariesPulldownMobile','1','Show the libraries pulldown on the mobile version of the OPAC.',NULL,'YesNo');
+INSERT INTO systempreferences (variable,value,explanation,options,type) VALUES('OpacShowFiltersPulldownMobile','1','Show the search filters pulldown on the mobile version of the OPAC.',NULL,'YesNo');
+INSERT IGNORE INTO systempreferences (variable,value,explanation,options,type) VALUES('AuthDisplayHierarchy','0','Display authority hierarchies','','YesNo');
+INSERT INTO systempreferences (variable,value,explanation,type) VALUES('OPACdidyoumean',NULL,'Did you mean? configuration for the OPAC. Do not change, as this is controlled by /cgi-bin/koha/admin/didyoumean.pl.','Free');
+INSERT INTO systempreferences (variable,value,explanation,type) VALUES('INTRAdidyoumean',NULL,'Did you mean? configuration for the Intranet. Do not change, as this is controlled by /cgi-bin/koha/admin/didyoumean.pl.','Free');
+INSERT INTO systempreferences (variable, value, options, explanation, type) VALUES ('BlockReturnOfWithdrawnItems', '1', '0', 'If enabled, items that are marked as withdrawn cannot be returned.', 'YesNo');
+INSERT INTO systempreferences (variable,value,explanation,options,type) VALUES('HoldsToPullStartDate','2','Set the default start date for the Holds to pull list to this many days ago',NULL,'Integer');
index e58c4c9..e67bf3e 100755 (executable)
@@ -5569,8 +5569,8 @@ if (C4::Context->preference("Version") < TransformToNum($DBversion)) {
 $DBversion = "3.09.00.028";
 if (C4::Context->preference("Version") < TransformToNum($DBversion)) {
     unless ( C4::Context->preference('marcflavour') eq 'UNIMARC' ) {
-        my %referencetypes = (  '00' => 'PERSO_CODE',
-                                '10' => 'ORGO_CODE',
+        my %referencetypes = (  '00' => 'PERSO_NAME',
+                                '10' => 'CORPO_NAME',
                                 '11' => 'MEETI_NAME',
                                 '30' => 'UNIF_TITLE',
                                 '48' => 'CHRON_TERM',
@@ -5617,7 +5617,6 @@ if ( C4::Context->preference("Version") < TransformToNum($DBversion) ) {
 
     $dbh->do("UPDATE systempreferences SET options = concat(options,'|EAN13'), explanation = concat(explanation,'; EAN13 - incremental') WHERE variable = 'autoBarcode' AND options NOT LIKE '%EAN13%'");
     print "Upgrade to $DBversion done ( Added EAN13 barcode autogeneration sequence )\n";
-
     SetVersion($DBversion);
 }
 
@@ -5657,6 +5656,361 @@ if (C4::Context->preference("Version") < TransformToNum($DBversion)) {
     SetVersion ($DBversion);
 }
 
+$DBversion = '3.09.00.033';
+if ( C4::Context->preference("Version") < TransformToNum($DBversion) ) {
+   $dbh->do("INSERT INTO systempreferences (variable,value,explanation,options,type) VALUES('OpacSuppressionByIPRange','','Restrict the suppression to IP adresses outside of the IP range','','free');");
+   print "Upgrade to $DBversion done (Add OpacSuppressionByIPRange syspref)\n";
+   SetVersion ($DBversion);
+}
+
+$DBversion ="3.09.00.034";
+if(C4::Context->preference("Version") < TransformToNum($DBversion) ) {
+    $dbh->do("UPDATE auth_subfield_structure SET frameworkcode = 'PERSO_NAME' WHERE frameworkcode = 'PERSO_CODE'");
+    $dbh->do("UPDATE auth_subfield_structure SET frameworkcode = 'CORPO_NAME' WHERE frameworkcode = 'ORGO_CODE'");
+    print "Upgrade to $DBversion done (Bug 8207: correct typo in authority types)\n";
+    SetVersion ($DBversion);
+}
+
+$DBversion = "3.09.00.035";
+if ( C4::Context->preference("Version") < TransformToNum($DBversion) ) {
+    $dbh->do("
+    INSERT IGNORE INTO systempreferences (variable,value,explanation,options,type) VALUES('PrefillItem','0','When a new item is added, should it be prefilled with last created item values?','','YesNo');
+    ");
+    $dbh->do(
+    "INSERT INTO systempreferences (variable,value,explanation,options,type) VALUES ('SubfieldsToUseWhenPrefill','','Define a list of subfields to use when prefilling items (separated by space)','','Free');
+    ");
+    print "Upgrade to $DBversion done (Adding PrefillItem and SubfieldsToUseWhenPrefill sysprefs)\n";
+    SetVersion ($DBversion);
+}
+
+$DBversion = "3.09.00.036";
+if (C4::Context->preference("Version") < TransformToNum($DBversion)) {
+    # biblioitems changes
+    $dbh->do("ALTER TABLE biblioitems ADD COLUMN agerestriction VARCHAR(255) DEFAULT NULL AFTER cn_sort");
+    $dbh->do("ALTER TABLE deletedbiblioitems ADD COLUMN agerestriction VARCHAR(255) DEFAULT NULL AFTER cn_sort");
+    # preferences changes
+    $dbh->do("INSERT INTO systempreferences (variable,value,explanation,options,type) VALUES('AgeRestrictionMarker','','Markers for age restriction indication, e.g. FSK|PEGI|Age|. See: http://wiki.koha-community.org/wiki/Age_restriction',NULL,'free')");
+    $dbh->do("INSERT INTO systempreferences (variable,value,explanation,options,type) VALUES('AgeRestrictionOverride',0,'Allow staff to check out an item with age restriction.',NULL,'YesNo')");
+
+    print "Upgrade to $DBversion done (Add colum agerestriction to biblioitems and deletedbiblioitems, add system preferences AgeRestrictionMarker and AgeRestrictionOverride)\n";
+   SetVersion ($DBversion);
+}
+
+$DBversion = "3.09.00.037";
+if (C4::Context->preference("Version") < TransformToNum($DBversion)) {
+    $dbh->do("INSERT INTO `systempreferences` (variable,value,explanation,options,type) VALUES('UseTransportCostMatrix',0,'Use Transport Cost Matrix when filling holds','','YesNo')");
+
+ $dbh->do("CREATE TABLE `transport_cost` (
+              `frombranch` varchar(10) NOT NULL,
+              `tobranch` varchar(10) NOT NULL,
+              `cost` decimal(6,2) NOT NULL,
+              `disable_transfer` tinyint(1) NOT NULL DEFAULT 0,
+              CHECK ( `frombranch` <> `tobranch` ), -- a dud check, mysql does not support that
+              PRIMARY KEY (`frombranch`, `tobranch`),
+              CONSTRAINT `transport_cost_ibfk_1` FOREIGN KEY (`frombranch`) REFERENCES `branches` (`branchcode`) ON DELETE CASCADE ON UPDATE CASCADE,
+              CONSTRAINT `transport_cost_ibfk_2` FOREIGN KEY (`tobranch`) REFERENCES `branches` (`branchcode`) ON DELETE CASCADE ON UPDATE CASCADE
+          ) ENGINE=InnoDB DEFAULT CHARSET=utf8");
+
+    print "Upgrade to $DBversion done (creating `transport_cost` table; adding UseTransportCostMatrix systempref, in circulation)\n";
+    SetVersion ($DBversion);
+}
+
+$DBversion ="3.09.00.038";
+if ( C4::Context->preference("Version") < TransformToNum($DBversion) ) {
+    $dbh->do("ALTER TABLE borrower_attributes CHANGE  attribute  attribute VARCHAR( 255 ) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL");
+    print "Upgrade to $DBversion done (Increase the maximum size of a borrower attribute value)\n";
+    SetVersion($DBversion);
+}
+
+$DBversion ="3.09.00.039";
+if ( C4::Context->preference("Version") < TransformToNum($DBversion) ) {
+    $dbh->do("INSERT INTO systempreferences (variable,value,explanation,type) VALUES('DidYouMeanFromAuthorities','0','Suggest searches based on authority file.','YesNo');");
+    print "Upgrade to $DBversion done (Add system preference DidYouMeanFromAuthorities)\n";
+    SetVersion($DBversion);
+}
+
+$DBversion = "3.09.00.040";
+if (C4::Context->preference("Version") < TransformToNum($DBversion)) {
+    $dbh->do("INSERT INTO systempreferences (variable,value,options,explanation,type) VALUES ('IncludeSeeFromInSearches','0','','Include see-from references in searches.','YesNo');");
+    print "Upgrade to $DBversion done (Add IncludeSeeFromInSearches system preference)\n";
+    SetVersion ($DBversion);
+}
+
+$DBversion = "3.09.00.041";
+if ( C4::Context->preference("Version") < TransformToNum($DBversion) ) {
+    $dbh->do(qq{
+        INSERT IGNORE INTO systempreferences (variable,value,explanation,options,type) VALUES('ExportRemoveFields','','List of fields for non export in circulation.pl (separated by a space)','','');
+    });
+    print "Upgrade to $DBversion done (Add system preference ExportRemoveFields)\n";
+    SetVersion($DBversion);
+}
+
+$DBversion = "3.09.00.042";
+if ( C4::Context->preference("Version") < TransformToNum($DBversion) ) {
+    $dbh->do(qq{
+        INSERT IGNORE INTO systempreferences (variable,value,explanation,options,type) VALUES('ExportWithCsvProfile','','Set a profile name for CSV export','','');
+    });
+    print "Upgrade to $DBversion done (Adds New System preference ExportWithCsvProfile)\n";
+    SetVersion($DBversion)
+}
+
+$DBversion = "3.09.00.043";
+if ( C4::Context->preference("Version") < TransformToNum($DBversion) ) {
+    $dbh->do("
+        ALTER TABLE aqorders
+        ADD parent_ordernumber int(11) DEFAULT NULL
+    ");
+    $dbh->do("
+        UPDATE aqorders
+        SET parent_ordernumber = ordernumber;
+    ");
+    print "Upgrade to $DBversion done (Adding parent_ordernumber in aqorders)\n";
+    SetVersion($DBversion);
+}
+
+$DBversion = '3.09.00.044';
+if (C4::Context->preference("Version") < TransformToNum($DBversion)) {
+    $dbh->do("ALTER TABLE statistics ADD COLUMN ccode VARCHAR ( 10 ) NULL AFTER associatedborrower");
+    $dbh->do("UPDATE statistics SET statistics.ccode = ( SELECT items.ccode FROM items WHERE statistics.itemnumber = items.itemnumber )");
+    $dbh->do("UPDATE statistics SET statistics.ccode = (
+              SELECT deleteditems.ccode FROM deleteditems
+                  WHERE statistics.itemnumber = deleteditems.itemnumber
+              ) WHERE statistics.ccode IS NULL");
+    print "Upgrade done ( Added Collection Code to Statistics table. )\n";
+    SetVersion ($DBversion);
+}
+
+$DBversion = "3.09.00.045";
+if ( C4::Context->preference("Version") < TransformToNum($DBversion) ) {
+    $dbh->do("ALTER TABLE borrower_attribute_types MODIFY category_code VARCHAR( 10 ) NULL DEFAULT NULL");
+    print "Upgrade to $DBversion done. (Bug 8002: Update patron attribute types table from varchar(1) to varchar(10) category_code)\nWarning to Koha System Administrators: If you use borrower attributes defined by borrower categories, you have to check your configuration. A bug may have removed your attribute links to borrower categories.\nPlease check, and fix it if necessary.";
+    SetVersion($DBversion);
+}
+
+$DBversion = "3.09.00.046";
+if ( C4::Context->preference("Version") < TransformToNum($DBversion) ) {
+    $dbh->do("ALTER TABLE `accountlines` ADD `accountlines_id` INT NOT NULL AUTO_INCREMENT PRIMARY KEY FIRST;");
+    print "Upgrade to $DBversion done (adding accountlines_id field in accountlines table)\n";
+    SetVersion($DBversion);
+}
+
+
+$DBversion = "3.09.00.047";
+if ( C4::Context->preference("Version") < TransformToNum($DBversion) ) {
+    # to preserve default behaviour as best as possible, set this new preference differently depending on whether IndependantBranches is set or not
+    my $prefvalue = 'anywhere';
+    if (C4::Context->preference("IndependantBranches")) { $prefvalue = 'homeorholdingbranch';}
+    $dbh->do("INSERT INTO systempreferences (variable,value,explanation,options,type) VALUES('AllowReturnToBranch', '$prefvalue', 'Where an item may be returned', 'anywhere|homebranch|holdingbranch|homeorholdingbranch', 'Choice');");
+
+    print "Upgrade to $DBversion done: adding AllowReturnToBranch syspref (bug 6151)";
+    SetVersion($DBversion);
+}
+
+$DBversion = "3.09.00.048";
+if (C4::Context->preference("Version") < TransformToNum($DBversion)) {
+    $dbh->do("ALTER TABLE authorised_values MODIFY lib varchar(200)");
+    $dbh->do("ALTER TABLE authorised_values MODIFY lib_opac varchar(200)");
+
+    print "Upgrade to $DBversion done (Raise the length of Authorised Values descriptions)\n";
+    SetVersion($DBversion);
+}
+
+$DBversion ="3.09.00.049";
+if(C4::Context->preference("Version") < TransformToNum($DBversion) ) {
+    $dbh->do("INSERT INTO systempreferences (variable,value,explanation,options,type) VALUES('OPACMobileUserCSS','','Include the following CSS for the mobile view on all pages in the OPAC:',NULL,'free');");
+    $dbh->do("INSERT INTO systempreferences (variable,value,explanation,options,type) VALUES('OpacMainUserBlockMobile','','Show the following HTML in its own column on the main page of the OPAC (mobile version):',NULL,'free');");
+    $dbh->do("INSERT INTO systempreferences (variable,value,explanation,options,type) VALUES('OpacShowLibrariesPulldownMobile','1','Show the libraries pulldown on the mobile version of the OPAC.',NULL,'YesNo');");
+    $dbh->do("INSERT INTO systempreferences (variable,value,explanation,options,type) VALUES('OpacShowFiltersPulldownMobile','1','Show the search filters pulldown on the mobile version of the OPAC.',NULL,'YesNo');");
+    print "Upgrade to $DBversion done (Add OPACMobileUserCSS, OpacMainUserBlockMobile, OpacShowLibrariesPulldownMobile and OpacShowFiltersPulldownMobile sysprefs)\n";
+    SetVersion($DBversion);
+}
+
+
+
+$DBversion = "3.09.00.050";
+if (C4::Context->preference("Version") < TransformToNum($DBversion)) {
+    $dbh->do("ALTER TABLE authorised_values MODIFY category varchar(16) NOT NULL DEFAULT '';");
+    $dbh->do("INSERT INTO authorised_values (category, authorised_value, lib) VALUES
+              ('REPORT_GROUP', 'CIRC', 'Circulation'),
+              ('REPORT_GROUP', 'CAT', 'Catalog'),
+              ('REPORT_GROUP', 'PAT', 'Patrons'),
+              ('REPORT_GROUP', 'ACQ', 'Acquisitions'),
+              ('REPORT_GROUP', 'ACC', 'Accounts');");
+
+    $dbh->do("ALTER TABLE reports_dictionary ADD report_area varchar(6) DEFAULT NULL;");
+    $dbh->do("UPDATE reports_dictionary SET report_area = CASE area
+                  WHEN 1 THEN 'CIRC'
+                  WHEN 2 THEN 'CAT'
+                  WHEN 3 THEN 'PAT'
+                  WHEN 4 THEN 'ACQ'
+                  WHEN 5 THEN 'ACC'
+                  END;");
+    $dbh->do("ALTER TABLE reports_dictionary DROP area;");
+    $dbh->do("ALTER TABLE reports_dictionary ADD KEY dictionary_area_idx (report_area);");
+
+    $dbh->do("ALTER TABLE saved_sql ADD report_area varchar(6) DEFAULT NULL;");
+    $dbh->do("ALTER TABLE saved_sql ADD report_group varchar(80) DEFAULT NULL;");
+    $dbh->do("ALTER TABLE saved_sql ADD report_subgroup varchar(80) DEFAULT NULL;");
+    $dbh->do("ALTER TABLE saved_sql ADD KEY sql_area_group_idx (report_group, report_subgroup);");
+
+    print "Upgrade to $DBversion done saved_sql new fields report_group and report_area; authorised_values.category 16 char \n";
+    SetVersion($DBversion);
+}
+
+$DBversion = "3.09.00.051";
+if (C4::Context->preference("Version") < TransformToNum($DBversion)) {
+    $dbh->do("
+        CREATE TABLE aqinvoices (
+          invoiceid int(11) NOT NULL AUTO_INCREMENT,
+          invoicenumber mediumtext NOT NULL,
+          booksellerid int(11) NOT NULL,
+          shipmentdate date default NULL,
+          billingdate date default NULL,
+          closedate date default NULL,
+          shipmentcost decimal(28,6) default NULL,
+          shipmentcost_budgetid int(11) default NULL,
+          PRIMARY KEY (invoiceid),
+          CONSTRAINT aqinvoices_fk_aqbooksellerid FOREIGN KEY (booksellerid) REFERENCES aqbooksellers (id) ON DELETE CASCADE ON UPDATE CASCADE,
+          CONSTRAINT aqinvoices_fk_shipmentcost_budgetid FOREIGN KEY (shipmentcost_budgetid) REFERENCES aqbudgets (budget_id) ON DELETE SET NULL ON UPDATE CASCADE
+        ) ENGINE=InnoDB DEFAULT CHARSET=utf8
+    ");
+
+    # Fill this new table with existing invoices
+    my $sth = $dbh->prepare("
+        SELECT aqorders.booksellerinvoicenumber AS invoicenumber, aqbasket.booksellerid, aqorders.datereceived
+        FROM aqorders
+          LEFT JOIN aqbasket ON aqorders.basketno = aqbasket.basketno
+        WHERE aqorders.booksellerinvoicenumber IS NOT NULL
+          AND aqorders.booksellerinvoicenumber != ''
+        GROUP BY aqorders.booksellerinvoicenumber
+    ");
+    $sth->execute;
+    my $results = $sth->fetchall_arrayref({});
+    $sth = $dbh->prepare("
+        INSERT INTO aqinvoices (invoicenumber, booksellerid, shipmentdate) VALUES (?,?,?)
+    ");
+    foreach(@$results) {
+        $sth->execute($_->{invoicenumber}, $_->{booksellerid}, $_->{datereceived});
+    }
+
+    # Add the column in aqorders, fill it with correct value
+    # and then drop booksellerinvoicenumber column
+    $dbh->do("
+        ALTER TABLE aqorders
+        ADD COLUMN invoiceid int(11) default NULL AFTER booksellerinvoicenumber,
+        ADD CONSTRAINT aqorders_ibfk_3 FOREIGN KEY (invoiceid) REFERENCES aqinvoices (invoiceid) ON DELETE SET NULL ON UPDATE CASCADE
+    ");
+
+    $dbh->do("
+        UPDATE aqorders, aqinvoices
+        SET aqorders.invoiceid = aqinvoices.invoiceid
+        WHERE aqorders.booksellerinvoicenumber = aqinvoices.invoicenumber
+    ");
+
+    $dbh->do("
+        ALTER TABLE aqorders
+        DROP COLUMN booksellerinvoicenumber
+    ");
+
+    print "Upgrade to $DBversion done (Add aqinvoices table) \n";
+    SetVersion ($DBversion);
+}
+
+$DBversion = "3.09.00.052";
+if (C4::Context->preference("Version") < TransformToNum($DBversion)) {
+    $dbh->do("INSERT INTO systempreferences (variable,value,options,explanation,type) VALUES ('decreaseLoanHighHolds', NULL, '', 'Decreases the loan period for items with number of holds above the threshold specified in decreaseLoanHighHoldsValue', 'YesNo');");
+    $dbh->do("INSERT INTO systempreferences (variable,value,options,explanation,type) VALUES ('decreaseLoanHighHoldsValue', NULL, '', 'Specifies a threshold for the minimum number of holds needed to trigger a reduction in loan duration (used with decreaseLoanHighHolds)', 'Integer');");
+    $dbh->do("INSERT INTO systempreferences (variable,value,options,explanation,type) VALUES ('decreaseLoanHighHoldsDuration', NULL, '', 'Specifies a number of days that a loan is reduced to when used in conjunction with decreaseLoanHighHolds', 'Integer');");
+    print "Upgrade to $DBversion done (Add systempreferences to decrease loan length on high demand items decreaseLoanHighHolds, decreaseLoanHighHoldsValue and decreaseLoanHighHoldsDuration) \n";
+    SetVersion ($DBversion);
+}
+
+
+$DBversion = "3.09.00.053";
+if (C4::Context->preference("Version") < TransformToNum($DBversion)) {
+    $dbh->do(
+    q|CREATE TABLE `import_auths` (
+        import_record_id int(11) NOT NULL,
+        matched_authid int(11) default NULL,
+        control_number varchar(25) default NULL,
+        authorized_heading varchar(128) default NULL,
+        original_source varchar(25) default NULL,
+        CONSTRAINT import_auths_ibfk_1 FOREIGN KEY (import_record_id)
+        REFERENCES import_records (import_record_id) ON DELETE CASCADE ON UPDATE CASCADE,
+        KEY matched_authid (matched_authid)
+        ) ENGINE=InnoDB DEFAULT CHARSET=utf8;|
+    );
+    $dbh->do("ALTER TABLE import_batches
+                CHANGE COLUMN num_biblios num_records int(11) NOT NULL default 0,
+                ADD COLUMN record_type enum('biblio', 'auth', 'holdings') NOT NULL default 'biblio'");
+    $dbh->do("UPDATE import_batches SET record_type='auth' WHERE import_batch_id IN
+                (SELECT import_batch_id FROM import_records WHERE record_type='auth')");
+    
+    print "Upgrade to $DBversion done (Added support for staging authorities)\n";
+    SetVersion ($DBversion);
+}
+
+$DBversion = "3.09.00.054";
+if ( C4::Context->preference("Version") < TransformToNum($DBversion) ) {
+    $dbh->do("ALTER TABLE aqorders CHANGE COLUMN gst gstrate DECIMAL(6,4)  DEFAULT NULL");
+    print "Upgrade to $DBversion done (Change column name in aqorders gst --> gstrate)\n";
+    SetVersion($DBversion);
+}
+
+$DBversion = "3.09.00.055";
+if ( C4::Context->preference("Version") < TransformToNum($DBversion) ) {
+    $dbh->do("ALTER TABLE aqorders ADD discount float(6,4) DEFAULT NULL AFTER gstrate");
+    print "Upgrade to $DBversion done (Add discount field in aqorders table)\n";
+    SetVersion($DBversion);
+}
+
+$DBversion ="3.09.00.056";
+if ( C4::Context->preference("Version") < TransformToNum($DBversion) ) {
+    $dbh->do("INSERT IGNORE INTO systempreferences (variable,value,explanation,options,type) VALUES('AuthDisplayHierarchy','0','Display authority hierarchies','','YesNo')");
+    print "Upgrade to $DBversion done (Add system preference AuthDisplayHierarchy)\n";
+    SetVersion($DBversion);
+}
+
+
+$DBversion = "3.09.00.057";
+if ( C4::Context->preference("Version") < TransformToNum($DBversion) ) {
+    $dbh->do("ALTER TABLE aqbasket ADD deliveryplace VARCHAR(10) default NULL AFTER basketgroupid;");
+    $dbh->do("ALTER TABLE aqbasket ADD billingplace VARCHAR(10) default NULL AFTER deliveryplace;");
+    print "Upgrade to $DBversion done (Bug 5356: Added billingplace, deliveryplace to the aqbasket table)\n";
+    SetVersion($DBversion);
+}
+
+$DBversion ="3.09.00.058";
+if ( C4::Context->preference("Version") < TransformToNum($DBversion) ) {
+    $dbh->do("INSERT INTO systempreferences (variable,value,explanation,type) VALUES('OPACdidyoumean',NULL,'Did you mean? configuration for the OPAC. Do not change, as this is controlled by /cgi-bin/koha/admin/didyoumean.pl.','Free');");
+    $dbh->do("INSERT INTO systempreferences (variable,value,explanation,type) VALUES('INTRAdidyoumean',NULL,'Did you mean? configuration for the Intranet. Do not change, as this is controlled by /cgi-bin/koha/admin/didyoumean.pl.','Free');");
+    print "Upgrade to $DBversion done (Add Did You Mean? configuration)\n";
+    SetVersion($DBversion);
+}
+
+$DBversion ="3.09.00.059";
+if ( C4::Context->preference("Version") < TransformToNum($DBversion) ) {
+    $dbh->do("INSERT INTO systempreferences (variable, value, options, explanation, type) VALUES ('BlockReturnOfWithdrawnItems', '1', '0', 'If enabled, items that are marked as withdrawn cannot be returned.', 'YesNo');");
+    print "Upgrade to $DBversion done (Add system preference BlockReturnOfWithdrawnItems)\n";
+    SetVersion($DBversion);
+}
+
+$DBversion = "3.09.00.060";
+if ( C4::Context->preference("Version") < TransformToNum($DBversion) ) {
+    $dbh->do("INSERT INTO systempreferences (variable,value,explanation,options,type) VALUES('HoldsToPullStartDate','2','Set the default start date for the Holds to pull list to this many days ago',NULL,'Integer')");
+    print "Upgrade to $DBversion done (Added HoldsToPullStartDate syspref)\n";
+    SetVersion($DBversion);
+}
+
+$DBversion = "3.09.00.061";
+if (C4::Context->preference("Version") < TransformToNum($DBversion)) {
+    $dbh->do("UPDATE systempreferences set value=0 WHERE variable='OPACItemsResultsDisplay' AND value='statuses'");
+    $dbh->do("UPDATE systempreferences set value=1 WHERE variable='OPACItemsResultsDisplay' AND value='itemdetails'");
+    $dbh->do("UPDATE systempreferences SET explanation='If No, show only the status of items in result list. If Yes, show full location of items (branchlocation+callnumber) as in staff interface',options=NULL,type='YesNo' WHERE variable='OPACItemsResultsDisplay'");
+    print "Upgrade to $DBversion done (Fixes Bug 5409, Set the syspref value to 1 if it is itemdetails and 0 if it is statuses, leaving it alone if it is already 1 or 0 and change the type of the syspref to YesNo.)\n";
+    SetVersion ($DBversion);
+}
+
 =head1 FUNCTIONS
 
 =head2 TableExists($table)
@@ -5679,8 +6033,6 @@ sub TableExists {
 Drop all foreign keys of the table $table
 
 =cut
-
-
 sub DropAllForeignKeys {
     my ($table) = @_;
     # get the table description
@@ -5741,4 +6093,3 @@ sub SetVersion {
     C4::Context::clear_syspref_cache(); # invalidate cached preferences
 }
 exit;
-
diff --git a/koha-tmpl/intranet-tmpl/lib/jquery/plugins/jquery.jstree.js b/koha-tmpl/intranet-tmpl/lib/jquery/plugins/jquery.jstree.js
new file mode 100644 (file)
index 0000000..c94e61f
--- /dev/null
@@ -0,0 +1,4551 @@
+/*
+ * jsTree 1.0-rc3
+ * http://jstree.com/
+ *
+ * Copyright (c) 2010 Ivan Bozhanov (vakata.com)
+ *
+ * Licensed same as jquery - under the terms of either the MIT License or the GPL Version 2 License
+ *   http://www.opensource.org/licenses/mit-license.php
+ *   http://www.gnu.org/licenses/gpl.html
+ *
+ * $Date: 2011-02-09 01:17:14 +0200 (ср, 09 февр 2011) $
+ * $Revision: 236 $
+ */
+
+/*jslint browser: true, onevar: true, undef: true, bitwise: true, strict: true */
+/*global window : false, clearInterval: false, clearTimeout: false, document: false, setInterval: false, setTimeout: false, jQuery: false, navigator: false, XSLTProcessor: false, DOMParser: false, XMLSerializer: false*/
+
+"use strict";
+
+// top wrapper to prevent multiple inclusion (is this OK?)
+(function () { if(jQuery && jQuery.jstree) { return; }
+     var is_ie6 = false, is_ie7 = false, is_ff2 = false;
+
+/*
+ * jsTree core
+ */
+(function ($) {
+     // Common functions not related to jsTree
+      // decided to move them to a `vakata` "namespace"
+      $.vakata = {};
+ // CSS related functions
+       $.vakata.css = {
+               get_css : function(rule_name, delete_flag, sheet) {
+                    rule_name = rule_name.toLowerCase();
+                   var css_rules = sheet.cssRules || sheet.rules,
+                         j = 0;
+                 do {
+                           if(css_rules.length && j > css_rules.length + 5) { return false; }
+                             if(css_rules[j].selectorText && css_rules[j].selectorText.toLowerCase() == rule_name) {
+                                        if(delete_flag === true) {
+                                             if(sheet.removeRule) { sheet.removeRule(j); }
+                                          if(sheet.deleteRule) { sheet.deleteRule(j); }
+                                          return true;
+                                   }
+                                      else { return css_rules[j]; }
+                          }
+                      }
+                      while (css_rules[++j]);
+                        return false;
+          },
+             add_css : function(rule_name, sheet) {
+                 if($.jstree.css.get_css(rule_name, false, sheet)) { return false; }
+                    if(sheet.insertRule) { sheet.insertRule(rule_name + ' { }', 0); } else { sheet.addRule(rule_name, null, 0); }
+                  return $.vakata.css.get_css(rule_name);
+                },
+             remove_css : function(rule_name, sheet) {
+                      return $.vakata.css.get_css(rule_name, true, sheet);
+           },
+             add_sheet : function(opts) {
+                   var tmp = false, is_new = true;
+                        if(opts.str) {
+                         if(opts.title) { tmp = $("style[id='" + opts.title + "-stylesheet']")[0]; }
+                            if(tmp) { is_new = false; }
+                            else {
+                                 tmp = document.createElement("style");
+                                 tmp.setAttribute('type',"text/css");
+                                   if(opts.title) { tmp.setAttribute("id", opts.title + "-stylesheet"); }
+                         }
+                              if(tmp.styleSheet) {
+                                   if(is_new) {
+                                           document.getElementsByTagName("head")[0].appendChild(tmp);
+                                             tmp.styleSheet.cssText = opts.str;
+                                     }
+                                      else {
+                                         tmp.styleSheet.cssText = tmp.styleSheet.cssText + " " + opts.str;
+                                      }
+                              }
+                              else {
+                                 tmp.appendChild(document.createTextNode(opts.str));
+                                    document.getElementsByTagName("head")[0].appendChild(tmp);
+                             }
+                              return tmp.sheet || tmp.styleSheet;
+                    }
+                      if(opts.url) {
+                         if(document.createStyleSheet) {
+                                        try { tmp = document.createStyleSheet(opts.url); } catch (e) { }
+                               }
+                              else {
+                                 tmp                   = document.createElement('link');
+                                        tmp.rel                = 'stylesheet';
+                                       tmp.type        = 'text/css';
+                                 tmp.media     = "all";
+                                     tmp.href  = opts.url;
+                                   document.getElementsByTagName("head")[0].appendChild(tmp);
+                                     return tmp.styleSheet;
+                         }
+                      }
+              }
+      };
+
+    // private variables
+   var instances = [],                 // instance array (used by $.jstree.reference/create/focused)
+            focused_instance = -1,     // the index in the instance array of the currently focused instance
+            plugins = {},                      // list of included plugins
+            prepared_move = {};                // for the move_node function
+
+    // jQuery plugin wrapper (thanks to jquery UI widget function)
+ $.fn.jstree = function (settings) {
+            var isMethodCall = (typeof settings == 'string'), // is this a method call like $().jstree("open_node")
+                        args = Array.prototype.slice.call(arguments, 1),
+                       returnValue = this;
+
+           // if a method call execute the method on all selected instances
+               if(isMethodCall) {
+                     if(settings.substring(0, 1) == '_') { return returnValue; }
+                    this.each(function() {
+                         var instance = instances[$.data(this, "jstree_instance_id")],
+                                  methodValue = (instance && $.isFunction(instance[settings])) ? instance[settings].apply(instance, args) : instance;
+                                    if(typeof methodValue !== "undefined" && (settings.indexOf("is_") === 0 || (methodValue !== true && methodValue !== false))) { returnValue = methodValue; return false; }
+                      });
+            }
+              else {
+                 this.each(function() {
+                         // extend settings and allow for multiple hashes and $.data
+                            var instance_id = $.data(this, "jstree_instance_id"),
+                                  a = [],
+                                        b = settings ? $.extend({}, true, settings) : {},
+                                      c = $(this),
+                                   s = false,
+                                     t = [];
+                                a = a.concat(args);
+                            if(c.data("jstree")) { a.push(c.data("jstree")); }
+                             b = a.length ? $.extend.apply(null, [true, b].concat(a)) : b;
+
+                         // if an instance already exists, destroy it first
+                             if(typeof instance_id !== "undefined" && instances[instance_id]) { instances[instance_id].destroy(); }
+                         // push a new empty object to the instances array
+                              instance_id = parseInt(instances.push({}),10) - 1;
+                             // store the jstree instance id to the container element
+                               $.data(this, "jstree_instance_id", instance_id);
+                               // clean up all plugins
+                                b.plugins = $.isArray(b.plugins) ? b.plugins : $.jstree.defaults.plugins.slice();
+                              b.plugins.unshift("core");
+                             // only unique plugins
+                         b.plugins = b.plugins.sort().join(",,").replace(/(,|^)([^,]+)(,,\2)+(,|$)/g,"$1$2$4").replace(/,,+/g,",").replace(/,$/,"").split(",");
+
+                                // extend defaults with passed data
+                            s = $.extend(true, {}, $.jstree.defaults, b);
+                          s.plugins = b.plugins;
+                         $.each(plugins, function (i, val) {
+                                    if($.inArray(i, s.plugins) === -1) { s[i] = null; delete s[i]; }
+                                       else { t.push(i); }
+                            });
+                            s.plugins = t;
+
+                                // push the new object to the instances array (at the same time set the default classes to the container) and init
+                             instances[instance_id] = new $.jstree._instance(instance_id, $(this).addClass("jstree jstree-" + instance_id), s);
+                             // init all activated plugins for this instance
+                                $.each(instances[instance_id]._get_settings().plugins, function (i, val) { instances[instance_id].data[val] = {}; });
+                          $.each(instances[instance_id]._get_settings().plugins, function (i, val) { if(plugins[val]) { plugins[val].__init.apply(instances[instance_id]); } });
+                         // initialize the instance
+                             setTimeout(function() { if(instances[instance_id]) { instances[instance_id].init(); } }, 0);
+                   });
+            }
+              // return the jquery selection (or if it was a method call that returned a value - the returned value)
+         return returnValue;
+    };
+     // object to store exposed functions and objects
+       $.jstree = {
+           defaults : {
+                   plugins : []
+           },
+             _focused : function () { return instances[focused_instance] || null; },
+                _reference : function (needle) {
+                       // get by instance id
+                  if(instances[needle]) { return instances[needle]; }
+                    // get by DOM (if still no luck - return null
+                  var o = $(needle);
+                     if(!o.length && typeof needle === "string") { o = $("#" + needle); }
+                   if(!o.length) { return null; }
+                 return instances[o.closest(".jstree").data("jstree_instance_id")] || null;
+             },
+             _instance : function (index, container, settings) {
+                    // for plugins to store data in
+                        this.data = { core : {} };
+                     this.get_settings = function () { return $.extend(true, {}, settings); };
+                      this._get_settings       = function () { return settings; };
+                 this.get_index                = function () { return index; };
+                       this.get_container      = function () { return container; };
+                        this.get_container_ul = function () { return container.children("ul:eq(0)"); };
+                        this._set_settings     = function (s) {
+                            settings = $.extend(true, {}, settings, s);
+                    };
+             },
+             _fn : { },
+             plugin : function (pname, pdata) {
+                     pdata = $.extend({}, {
+                         __init                : $.noop,
+                              __destroy        : $.noop,
+                            _fn                        : {},
+                            defaults   : false
+                       }, pdata);
+                     plugins[pname] = pdata;
+
+                       $.jstree.defaults[pname] = pdata.defaults;
+                     $.each(pdata._fn, function (i, val) {
+                          val.plugin           = pname;
+                           val.old                     = $.jstree._fn[i];
+                           $.jstree._fn[i] = function () {
+                                        var rslt,
+                                              func = val,
+                                            args = Array.prototype.slice.call(arguments),
+                                          evnt = new $.Event("before.jstree"),
+                                           rlbk = false;
+
+                                 if(this.data.core.locked === true && i !== "unlock" && i !== "is_locked") { return; }
+
+                                 // Check if function belongs to the included plugins of this instance
+                                  do {
+                                           if(func && func.plugin && $.inArray(func.plugin, this._get_settings().plugins) !== -1) { break; }
+                                              func = func.old;
+                                       } while(func);
+                                 if(!func) { return; }
+
+                                 // context and function to trigger events, then finally call the function
+                                      if(i.indexOf("_") === 0) {
+                                             rslt = func.apply(this, args);
+                                 }
+                                      else {
+                                         rslt = this.get_container().triggerHandler(evnt, { "func" : i, "inst" : this, "args" : args, "plugin" : func.plugin });
+                                                if(rslt === false) { return; }
+                                         if(typeof rslt !== "undefined") { args = rslt; }
+
+                                              rslt = func.apply(
+                                                     $.extend({}, this, {
+                                                           __callback : function (data) {
+                                                                 this.get_container().triggerHandler( i + '.jstree', { "inst" : this, "args" : args, "rslt" : data, "rlbk" : rlbk });
+                                                           },
+                                                             __rollback : function () {
+                                                                     rlbk = this.get_rollback();
+                                                                    return rlbk;
+                                                           },
+                                                             __call_old : function (replace_arguments) {
+                                                                    return func.old.apply(this, (replace_arguments ? Array.prototype.slice.call(arguments, 1) : args ) );
+                                                          }
+                                                      }), args);
+                                     }
+
+                                     // return the result
+                                   return rslt;
+                           };
+                             $.jstree._fn[i].old = val.old;
+                         $.jstree._fn[i].plugin = pname;
+                        });
+            },
+             rollback : function (rb) {
+                     if(rb) {
+                               if(!$.isArray(rb)) { rb = [ rb ]; }
+                            $.each(rb, function (i, val) {
+                                 instances[val.i].set_rollback(val.h, val.d);
+                           });
+                    }
+              }
+      };
+     // set the prototype for all instances
+ $.jstree._fn = $.jstree._instance.prototype = {};
+
+     // load the css when DOM is ready
+      $(function() {
+         // code is copied from jQuery ($.browser is deprecated + there is a bug in IE)
+         var u = navigator.userAgent.toLowerCase(),
+                     v = (u.match( /.+?(?:rv|it|ra|ie)[\/: ]([\d.]+)/ ) || [0,'0'])[1],
+                     css_string = '' +
+                              '.jstree ul, .jstree li { display:block; margin:0 0 0 0; padding:0 0 0 0; list-style-type:none; } ' +
+                          '.jstree li { display:block; min-height:18px; line-height:18px; white-space:nowrap; margin-left:18px; min-width:18px; } ' +
+                            '.jstree-rtl li { margin-left:0; margin-right:18px; } ' +
+                              '.jstree > ul > li { margin-left:0px; } ' +
+                            '.jstree-rtl > ul > li { margin-right:0px; } ' +
+                               '.jstree ins { display:inline-block; text-decoration:none; width:18px; height:18px; margin:0 0 0 0; padding:0; } ' +
+                           '.jstree a { display:inline-block; line-height:16px; height:16px; color:black; white-space:nowrap; text-decoration:none; padding:1px 2px; margin:0; } ' +
+                              '.jstree a:focus { outline: none; } ' +
+                                '.jstree a > ins { height:16px; width:16px; } ' +
+                              '.jstree a > .jstree-icon { margin-right:3px; } ' +
+                            '.jstree-rtl a > .jstree-icon { margin-left:3px; margin-right:0; } ' +
+                         'li.jstree-open > ul { display:block; } ' +
+                            'li.jstree-closed > ul { display:none; } ';
+            // Correct IE 6 (does not support the > CSS selector)
+          if(/msie/.test(u) && parseInt(v, 10) == 6) {
+                   is_ie6 = true;
+
+                        // fix image flicker and lack of caching
+                       try {
+                          document.execCommand("BackgroundImageCache", false, true);
+                     } catch (err) { }
+
+                     css_string += '' +
+                             '.jstree li { height:18px; margin-left:0; margin-right:0; } ' +
+                                '.jstree li li { margin-left:18px; } ' +
+                               '.jstree-rtl li li { margin-left:0px; margin-right:18px; } ' +
+                         'li.jstree-open ul { display:block; } ' +
+                              'li.jstree-closed ul { display:none !important; } ' +
+                          '.jstree li a { display:inline; border-width:0 !important; padding:0px 2px !important; } ' +
+                           '.jstree li a ins { height:16px; width:16px; margin-right:3px; } ' +
+                           '.jstree-rtl li a ins { margin-right:0px; margin-left:3px; } ';
+                }
+              // Correct IE 7 (shifts anchor nodes onhover)
+          if(/msie/.test(u) && parseInt(v, 10) == 7) {
+                   is_ie7 = true;
+                 css_string += '.jstree li a { border-width:0 !important; padding:0px 2px !important; } ';
+              }
+              // correct ff2 lack of display:inline-block
+            if(!/compatible/.test(u) && /mozilla/.test(u) && parseFloat(v, 10) < 1.9) {
+                    is_ff2 = true;
+                 css_string += '' +
+                             '.jstree ins { display:-moz-inline-box; } ' +
+                          '.jstree li { line-height:12px; } ' + // WHY??
+                         '.jstree a { display:-moz-inline-box; } ' +
+                            '.jstree .jstree-no-icons .jstree-checkbox { display:-moz-inline-stack !important; } ';
+                                /* this shouldn't be here as it is theme specific */
+           }
+              // the default stylesheet
+              $.vakata.css.add_sheet({ str : css_string, title : "jstree" });
+        });
+
+   // core functions (open, close, create, update, delete)
+        $.jstree.plugin("core", {
+              __init : function () {
+                 this.data.core.locked = false;
+                 this.data.core.to_open = this.get_settings().core.initially_open;
+                      this.data.core.to_load = this.get_settings().core.initially_load;
+              },
+             defaults : {
+                   html_titles : false,
+                   animation   : 500,
+                       initially_open : [],
+                   initially_load : [],
+                   open_parents : true,
+                   notify_plugins : true,
+                 rtl                   : false,
+                 load_open     : false,
+                     strings           : {
+                           loading             : "Loading ...",
+                              new_node : "New node",
+                         multiple_selection : "Multiple selection"
+                      }
+              },
+             _fn : {
+                        init   : function () {
+                           this.set_focus();
+                              if(this._get_settings().core.rtl) {
+                                    this.get_container().addClass("jstree-rtl").css("direction", "rtl");
+                           }
+                              this.get_container().html("<ul><li class='jstree-last jstree-leaf'><ins>&#160;</ins><a class='jstree-loading' href='#'><ins class='jstree-icon'>&#160;</ins>" + this._get_string("loading") + "</a></li></ul>");
+                               this.data.core.li_height = this.get_container_ul().find("li.jstree-closed, li.jstree-leaf").eq(0).height() || 18;
+
+                             this.get_container()
+                                   .delegate("li > ins", "click.jstree", $.proxy(function (event) {
+                                                       var trgt = $(event.target);
+                                                    // if(trgt.is("ins") && event.pageY - trgt.offset().top < this.data.core.li_height) { this.toggle_node(trgt); }
+                                                        this.toggle_node(trgt);
+                                                }, this))
+                                      .bind("mousedown.jstree", $.proxy(function () {
+                                                        this.set_focus(); // This used to be setTimeout(set_focus,0) - why?
+                                            }, this))
+                                      .bind("dblclick.jstree", function (event) {
+                                            var sel;
+                                               if(document.selection && document.selection.empty) { document.selection.empty(); }
+                                             else {
+                                                 if(window.getSelection) {
+                                                              sel = window.getSelection();
+                                                           try {
+                                                                  sel.removeAllRanges();
+                                                                 sel.collapse();
+                                                                } catch (err) { }
+                                                      }
+                                              }
+                                      });
+                            if(this._get_settings().core.notify_plugins) {
+                                 this.get_container()
+                                           .bind("load_node.jstree", $.proxy(function (e, data) {
+                                                         var o = this._get_node(data.rslt.obj),
+                                                                 t = this;
+                                                              if(o === -1) { o = this.get_container_ul(); }
+                                                          if(!o.length) { return; }
+                                                              o.find("li").each(function () {
+                                                                        var th = $(this);
+                                                                      if(th.data("jstree")) {
+                                                                                $.each(th.data("jstree"), function (plugin, values) {
+                                                                                  if(t.data[plugin] && $.isFunction(t["_" + plugin + "_notify"])) {
+                                                                                              t["_" + plugin + "_notify"].call(t, th, values);
+                                                                                       }
+                                                                              });
+                                                                    }
+                                                              });
+                                                    }, this));
+                             }
+                              if(this._get_settings().core.load_open) {
+                                      this.get_container()
+                                           .bind("load_node.jstree", $.proxy(function (e, data) {
+                                                         var o = this._get_node(data.rslt.obj),
+                                                                 t = this;
+                                                              if(o === -1) { o = this.get_container_ul(); }
+                                                          if(!o.length) { return; }
+                                                              o.find("li.jstree-open:not(:has(ul))").each(function () {
+                                                                      t.load_node(this, $.noop, $.noop);
+                                                             });
+                                                    }, this));
+                             }
+                              this.__callback();
+                             this.load_node(-1, function () { this.loaded(); this.reload_nodes(); });
+                       },
+                     destroy   : function () {
+                                var i,
+                                 n = this.get_index(),
+                                  s = this._get_settings(),
+                                      _this = this;
+
+                         $.each(s.plugins, function (i, val) {
+                                  try { plugins[val].__destroy.apply(_this); } catch(err) { }
+                            });
+                            this.__callback();
+                             // set focus to another instance if this one is focused
+                                if(this.is_focused()) {
+                                        for(i in instances) {
+                                          if(instances.hasOwnProperty(i) && i != n) {
+                                                    instances[i].set_focus();
+                                                      break;
+                                         }
+                                      }
+                              }
+                              // if no other instance found
+                          if(n === focused_instance) { focused_instance = -1; }
+                          // remove all traces of jstree in the DOM (only the ones set using jstree*) and cleans all events
+                              this.get_container()
+                                   .unbind(".jstree")
+                                     .undelegate(".jstree")
+                                 .removeData("jstree_instance_id")
+                                      .find("[class^='jstree']")
+                                             .andSelf()
+                                             .attr("class", function () { return this.className.replace(/jstree[^ ]*|$/ig,''); });
+                          $(document)
+                                    .unbind(".jstree-" + n)
+                                        .undelegate(".jstree-" + n);
+                           // remove the actual data
+                              instances[n] = null;
+                           delete instances[n];
+                   },
+
+                    _core_notify : function (n, data) {
+                            if(data.opened) {
+                                      this.open_node(n, false, true);
+                                }
+                      },
+
+                    lock : function () {
+                           this.data.core.locked = true;
+                          this.get_container().children("ul").addClass("jstree-locked").css("opacity","0.7");
+                            this.__callback({});
+                   },
+                     unlock : function () {
+                         this.data.core.locked = false;
+                         this.get_container().children("ul").removeClass("jstree-locked").css("opacity","1");
+                           this.__callback({});
+                   },
+                     is_locked : function () { return this.data.core.locked; },
+                     save_opened : function () {
+                            var _this = this;
+                              this.data.core.to_open = [];
+                           this.get_container_ul().find("li.jstree-open").each(function () {
+                                      if(this.id) { _this.data.core.to_open.push("#" + this.id.toString().replace(/^#/,"").replace(/\\\//g,"/").replace(/\//g,"\\\/").replace(/\\\./g,".").replace(/\./g,"\\.").replace(/\:/g,"\\:")); }
+                             });
+                            this.__callback(_this.data.core.to_open);
+                      },
+                     save_loaded : function () { },
+                 reload_nodes : function (is_callback) {
+                                var _this = this,
+                                      done = true,
+                                   current = [],
+                                  remaining = [];
+                                if(!is_callback) {
+                                     this.data.core.reopen = false;
+                                 this.data.core.refreshing = true;
+                                      this.data.core.to_open = $.map($.makeArray(this.data.core.to_open), function (n) { return "#" + n.toString().replace(/^#/,"").replace(/\\\//g,"/").replace(/\//g,"\\\/").replace(/\\\./g,".").replace(/\./g,"\\.").replace(/\:/g,"\\:"); });
+                                   this.data.core.to_load = $.map($.makeArray(this.data.core.to_load), function (n) { return "#" + n.toString().replace(/^#/,"").replace(/\\\//g,"/").replace(/\//g,"\\\/").replace(/\\\./g,".").replace(/\./g,"\\.").replace(/\:/g,"\\:"); });
+                                   if(this.data.core.to_open.length) {
+                                            this.data.core.to_load = this.data.core.to_load.concat(this.data.core.to_open);
+                                        }
+                              }
+                              if(this.data.core.to_load.length) {
+                                    $.each(this.data.core.to_load, function (i, val) {
+                                             if(val == "#") { return true; }
+                                                if($(val).length) { current.push(val); }
+                                               else { remaining.push(val); }
+                                  });
+                                    if(current.length) {
+                                           this.data.core.to_load = remaining;
+                                            $.each(current, function (i, val) {
+                                                    if(!_this._is_loaded(val)) {
+                                                           _this.load_node(val, function () { _this.reload_nodes(true); }, function () { _this.reload_nodes(true); });
+                                                            done = false;
+                                                  }
+                                              });
+                                    }
+                              }
+                              if(this.data.core.to_open.length) {
+                                    $.each(this.data.core.to_open, function (i, val) {
+                                             _this.open_node(val, false, true);
+                                     });
+                            }
+                              if(done) {
+                                     // TODO: find a more elegant approach to syncronizing returning requests
+                                       if(this.data.core.reopen) { clearTimeout(this.data.core.reopen); }
+                                     this.data.core.reopen = setTimeout(function () { _this.__callback({}, _this); }, 50);
+                                  this.data.core.refreshing = false;
+                                     this.reopen();
+                         }
+                      },
+                     reopen : function () {
+                         var _this = this;
+                              if(this.data.core.to_open.length) {
+                                    $.each(this.data.core.to_open, function (i, val) {
+                                             _this.open_node(val, false, true);
+                                     });
+                            }
+                              this.__callback({});
+                   },
+                     refresh : function (obj) {
+                             var _this = this;
+                              this.save_opened();
+                            if(!obj) { obj = -1; }
+                         obj = this._get_node(obj);
+                             if(!obj) { obj = -1; }
+                         if(obj !== -1) { obj.children("UL").remove(); }
+                                else { this.get_container_ul().empty(); }
+                              this.load_node(obj, function () { _this.__callback({ "obj" : obj}); _this.reload_nodes(); });
+                  },
+                     // Dummy function to fire after the first load (so that there is a jstree.loaded event)
+                        loaded : function () {
+                         this.__callback();
+                     },
+                     // deal with focus
+                     set_focus : function () {
+                              if(this.is_focused()) { return; }
+                              var f = $.jstree._focused();
+                           if(f) { f.unset_focus(); }
+
+                            this.get_container().addClass("jstree-focused");
+                               focused_instance = this.get_index();
+                           this.__callback();
+                     },
+                     is_focused        : function () {
+                             return focused_instance == this.get_index();
+                   },
+                     unset_focus       : function () {
+                            if(this.is_focused()) {
+                                        this.get_container().removeClass("jstree-focused");
+                                    focused_instance = -1;
+                         }
+                              this.__callback();
+                     },
+
+                    // traverse
+                    _get_node          : function (obj) {
+                          var $obj = $(obj, this.get_container());
+                               if($obj.is(".jstree") || obj == -1) { return -1; }
+                             $obj = $obj.closest("li", this.get_container());
+                               return $obj.length ? $obj : false;
+                     },
+                     _get_next         : function (obj, strict) {
+                          obj = this._get_node(obj);
+                             if(obj === -1) { return this.get_container().find("> ul > li:first-child"); }
+                          if(!obj.length) { return false; }
+                              if(strict) { return (obj.nextAll("li").size() > 0) ? obj.nextAll("li:eq(0)") : false; }
+
+                               if(obj.hasClass("jstree-open")) { return obj.find("li:eq(0)"); }
+                               else if(obj.nextAll("li").size() > 0) { return obj.nextAll("li:eq(0)"); }
+                              else { return obj.parentsUntil(".jstree","li").next("li").eq(0); }
+                     },
+                     _get_prev         : function (obj, strict) {
+                          obj = this._get_node(obj);
+                             if(obj === -1) { return this.get_container().find("> ul > li:last-child"); }
+                           if(!obj.length) { return false; }
+                              if(strict) { return (obj.prevAll("li").length > 0) ? obj.prevAll("li:eq(0)") : false; }
+
+                               if(obj.prev("li").length) {
+                                    obj = obj.prev("li").eq(0);
+                                    while(obj.hasClass("jstree-open")) { obj = obj.children("ul:eq(0)").children("li:last"); }
+                                     return obj;
+                            }
+                              else { var o = obj.parentsUntil(".jstree","li:eq(0)"); return o.length ? o : false; }
+                  },
+                     _get_parent               : function (obj) {
+                                obj = this._get_node(obj);
+                             if(obj == -1 || !obj.length) { return false; }
+                         var o = obj.parentsUntil(".jstree", "li:eq(0)");
+                               return o.length ? o : -1;
+                      },
+                     _get_children     : function (obj) {
+                               obj = this._get_node(obj);
+                             if(obj === -1) { return this.get_container().children("ul:eq(0)").children("li"); }
+                            if(!obj.length) { return false; }
+                              return obj.children("ul:eq(0)").children("li");
+                        },
+                     get_path          : function (obj, id_mode) {
+                          var p = [],
+                                    _this = this;
+                          obj = this._get_node(obj);
+                             if(obj === -1 || !obj || !obj.length) { return false; }
+                                obj.parentsUntil(".jstree", "li").each(function () {
+                                   p.push( id_mode ? this.id : _this.get_text(this) );
+                            });
+                            p.reverse();
+                           p.push( id_mode ? obj.attr("id") : this.get_text(obj) );
+                               return p;
+                      },
+
+                    // string functions
+                    _get_string : function (key) {
+                         return this._get_settings().core.strings[key] || key;
+                  },
+
+                    is_open            : function (obj) { obj = this._get_node(obj); return obj && obj !== -1 && obj.hasClass("jstree-open"); },
+                     is_closed : function (obj) { obj = this._get_node(obj); return obj && obj !== -1 && obj.hasClass("jstree-closed"); },
+                  is_leaf              : function (obj) { obj = this._get_node(obj); return obj && obj !== -1 && obj.hasClass("jstree-leaf"); },
+                     correct_state     : function (obj) {
+                               obj = this._get_node(obj);
+                             if(!obj || obj === -1) { return false; }
+                               obj.removeClass("jstree-closed jstree-open").addClass("jstree-leaf").children("ul").remove();
+                          this.__callback({ "obj" : obj });
+                      },
+                     // open/close
+                  open_node    : function (obj, callback, skip_animation) {
+                         obj = this._get_node(obj);
+                             if(!obj.length) { return false; }
+                              if(!obj.hasClass("jstree-closed")) { if(callback) { callback.call(); } return false; }
+                         var s = skip_animation || is_ie6 ? 0 : this._get_settings().core.animation,
+                                    t = this;
+                              if(!this._is_loaded(obj)) {
+                                    obj.children("a").addClass("jstree-loading");
+                                  this.load_node(obj, function () { t.open_node(obj, callback, skip_animation); }, callback);
+                            }
+                              else {
+                                 if(this._get_settings().core.open_parents) {
+                                           obj.parentsUntil(".jstree",".jstree-closed").each(function () {
+                                                        t.open_node(this, false, true);
+                                                });
+                                    }
+                                      if(s) { obj.children("ul").css("display","none"); }
+                                    obj.removeClass("jstree-closed").addClass("jstree-open").children("a").removeClass("jstree-loading");
+                                  if(s) { obj.children("ul").stop(true, true).slideDown(s, function () { this.style.display = ""; t.after_open(obj); }); }
+                                       else { t.after_open(obj); }
+                                    this.__callback({ "obj" : obj });
+                                      if(callback) { callback.call(); }
+                              }
+                      },
+                     after_open        : function (obj) { this.__callback({ "obj" : obj }); },
+                     close_node        : function (obj, skip_animation) {
+                          obj = this._get_node(obj);
+                             var s = skip_animation || is_ie6 ? 0 : this._get_settings().core.animation,
+                                    t = this;
+                              if(!obj.length || !obj.hasClass("jstree-open")) { return false; }
+                              if(s) { obj.children("ul").attr("style","display:block !important"); }
+                         obj.removeClass("jstree-open").addClass("jstree-closed");
+                              if(s) { obj.children("ul").stop(true, true).slideUp(s, function () { this.style.display = ""; t.after_close(obj); }); }
+                                else { t.after_close(obj); }
+                           this.__callback({ "obj" : obj });
+                      },
+                     after_close       : function (obj) { this.__callback({ "obj" : obj }); },
+                    toggle_node        : function (obj) {
+                         obj = this._get_node(obj);
+                             if(obj.hasClass("jstree-closed")) { return this.open_node(obj); }
+                              if(obj.hasClass("jstree-open")) { return this.close_node(obj); }
+                       },
+                     open_all  : function (obj, do_animation, original_obj) {
+                                obj = obj ? this._get_node(obj) : -1;
+                          if(!obj || obj === -1) { obj = this.get_container_ul(); }
+                              if(original_obj) {
+                                     obj = obj.find("li.jstree-closed");
+                            }
+                              else {
+                                 original_obj = obj;
+                                    if(obj.is(".jstree-closed")) { obj = obj.find("li.jstree-closed").andSelf(); }
+                                 else { obj = obj.find("li.jstree-closed"); }
+                           }
+                              var _this = this;
+                              obj.each(function () {
+                                 var __this = this;
+                                     if(!_this._is_loaded(this)) { _this.open_node(this, function() { _this.open_all(__this, do_animation, original_obj); }, !do_animation); }
+                                      else { _this.open_node(this, false, !do_animation); }
+                          });
+                            // so that callback is fired AFTER all nodes are open
+                          if(original_obj.find('li.jstree-closed').length === 0) { this.__callback({ "obj" : original_obj }); }
+                  },
+                     close_all : function (obj, do_animation) {
+                             var _this = this;
+                              obj = obj ? this._get_node(obj) : this.get_container();
+                                if(!obj || obj === -1) { obj = this.get_container_ul(); }
+                              obj.find("li.jstree-open").andSelf().each(function () { _this.close_node(this, !do_animation); });
+                             this.__callback({ "obj" : obj });
+                      },
+                     clean_node        : function (obj) {
+                          obj = obj && obj != -1 ? $(obj) : this.get_container_ul();
+                             obj = obj.is("li") ? obj.find("li").andSelf() : obj.find("li");
+                                obj.removeClass("jstree-last")
+                                 .filter("li:last-child").addClass("jstree-last").end()
+                                 .filter(":has(li)")
+                                            .not(".jstree-open").removeClass("jstree-leaf").addClass("jstree-closed");
+                             obj.not(".jstree-open, .jstree-closed").addClass("jstree-leaf").children("ul").remove();
+                               this.__callback({ "obj" : obj });
+                      },
+                     // rollback
+                    get_rollback : function () {
+                           this.__callback();
+                             return { i : this.get_index(), h : this.get_container().children("ul").clone(true), d : this.data };
+                   },
+                     set_rollback : function (html, data) {
+                         this.get_container().empty().append(html);
+                             this.data = data;
+                              this.__callback();
+                     },
+                     // Dummy functions to be overwritten by any datastore plugin included
+                  load_node    : function (obj, s_call, e_call) { this.__callback({ "obj" : obj }); },
+                      _is_loaded       : function (obj) { return true; },
+
+                 // Basic operations: create
+                    create_node        : function (obj, position, js, callback, is_loaded) {
+                              obj = this._get_node(obj);
+                             position = typeof position === "undefined" ? "last" : position;
+                                var d = $("<li />"),
+                                   s = this._get_settings().core,
+                                 tmp;
+
+                          if(obj !== -1 && !obj.length) { return false; }
+                                if(!is_loaded && !this._is_loaded(obj)) { this.load_node(obj, function () { this.create_node(obj, position, js, callback, true); }); return false; }
+
+                          this.__rollback();
+
+                            if(typeof js === "string") { js = { "data" : js }; }
+                           if(!js) { js = {}; }
+                           if(js.attr) { d.attr(js.attr); }
+                               if(js.metadata) { d.data(js.metadata); }
+                               if(js.state) { d.addClass("jstree-" + js.state); }
+                             if(!js.data) { js.data = this._get_string("new_node"); }
+                               if(!$.isArray(js.data)) { tmp = js.data; js.data = []; js.data.push(tmp); }
+                            $.each(js.data, function (i, m) {
+                                      tmp = $("<a />");
+                                      if($.isFunction(m)) { m = m.call(this, js); }
+                                  if(typeof m == "string") { tmp.attr('href','#')[ s.html_titles ? "html" : "text" ](m); }
+                                       else {
+                                         if(!m.attr) { m.attr = {}; }
+                                           if(!m.attr.href) { m.attr.href = '#'; }
+                                                tmp.attr(m.attr)[ s.html_titles ? "html" : "text" ](m.title);
+                                          if(m.language) { tmp.addClass(m.language); }
+                                   }
+                                      tmp.prepend("<ins class='jstree-icon'>&#160;</ins>");
+                                  if(!m.icon && js.icon) { m.icon = js.icon; }
+                                   if(m.icon) {
+                                           if(m.icon.indexOf("/") === -1) { tmp.children("ins").addClass(m.icon); }
+                                               else { tmp.children("ins").css("background","url('" + m.icon + "') center center no-repeat"); }
+                                        }
+                                      d.append(tmp);
+                         });
+                            d.prepend("<ins class='jstree-icon'>&#160;</ins>");
+                            if(obj === -1) {
+                                       obj = this.get_container();
+                                    if(position === "before") { position = "first"; }
+                                      if(position === "after") { position = "last"; }
+                                }
+                              switch(position) {
+                                     case "before": obj.before(d); tmp = this._get_parent(obj); break;
+                                      case "after" : obj.after(d);  tmp = this._get_parent(obj); break;
+                                      case "inside":
+                                 case "first" :
+                                         if(!obj.children("ul").length) { obj.append("<ul />"); }
+                                               obj.children("ul").prepend(d);
+                                         tmp = obj;
+                                             break;
+                                 case "last":
+                                           if(!obj.children("ul").length) { obj.append("<ul />"); }
+                                               obj.children("ul").append(d);
+                                          tmp = obj;
+                                             break;
+                                 default:
+                                               if(!obj.children("ul").length) { obj.append("<ul />"); }
+                                               if(!position) { position = 0; }
+                                                tmp = obj.children("ul").children("li").eq(position);
+                                          if(tmp.length) { tmp.before(d); }
+                                              else { obj.children("ul").append(d); }
+                                         tmp = obj;
+                                             break;
+                         }
+                              if(tmp === -1 || tmp.get(0) === this.get_container().get(0)) { tmp = -1; }
+                             this.clean_node(tmp);
+                          this.__callback({ "obj" : d, "parent" : tmp });
+                                if(callback) { callback.call(this, d); }
+                               return d;
+                      },
+                     // Basic operations: rename (deal with text)
+                   get_text    : function (obj) {
+                            obj = this._get_node(obj);
+                             if(!obj.length) { return false; }
+                              var s = this._get_settings().core.html_titles;
+                         obj = obj.children("a:eq(0)");
+                         if(s) {
+                                        obj = obj.clone();
+                                     obj.children("INS").remove();
+                                  return obj.html();
+                             }
+                              else {
+                                 obj = obj.contents().filter(function() { return this.nodeType == 3; })[0];
+                                     return obj.nodeValue;
+                          }
+                      },
+                     set_text  : function (obj, val) {
+                               obj = this._get_node(obj);
+                             if(!obj.length) { return false; }
+                              obj = obj.children("a:eq(0)");
+                         if(this._get_settings().core.html_titles) {
+                                    var tmp = obj.children("INS").clone();
+                                 obj.html(val).prepend(tmp);
+                                    this.__callback({ "obj" : obj, "name" : val });
+                                        return true;
+                           }
+                              else {
+                                 obj = obj.contents().filter(function() { return this.nodeType == 3; })[0];
+                                     this.__callback({ "obj" : obj, "name" : val });
+                                        return (obj.nodeValue = val);
+                          }
+                      },
+                     rename_node : function (obj, val) {
+                            obj = this._get_node(obj);
+                             this.__rollback();
+                             if(obj && obj.length && this.set_text.apply(this, Array.prototype.slice.call(arguments))) { this.__callback({ "obj" : obj, "name" : val }); }
+                  },
+                     // Basic operations: deleting nodes
+                    delete_node : function (obj) {
+                         obj = this._get_node(obj);
+                             if(!obj.length) { return false; }
+                              this.__rollback();
+                             var p = this._get_parent(obj), prev = $([]), t = this;
+                         obj.each(function () {
+                                 prev = prev.add(t._get_prev(this));
+                            });
+                            obj = obj.detach();
+                            if(p !== -1 && p.find("> ul > li").length === 0) {
+                                     p.removeClass("jstree-open jstree-closed").addClass("jstree-leaf");
+                            }
+                              this.clean_node(p);
+                            this.__callback({ "obj" : obj, "prev" : prev, "parent" : p });
+                         return obj;
+                    },
+                     prepare_move : function (o, r, pos, cb, is_cb) {
+                               var p = {};
+
+                           p.ot = $.jstree._reference(o) || this;
+                         p.o = p.ot._get_node(o);
+                               p.r = r === - 1 ? -1 : this._get_node(r);
+                              p.p = (typeof pos === "undefined" || pos === false) ? "last" : pos; // TODO: move to a setting
+                         if(!is_cb && prepared_move.o && prepared_move.o[0] === p.o[0] && prepared_move.r[0] === p.r[0] && prepared_move.p === p.p) {
+                                   this.__callback(prepared_move);
+                                        if(cb) { cb.call(this, prepared_move); }
+                                       return;
+                                }
+                              p.ot = $.jstree._reference(p.o) || this;
+                               p.rt = $.jstree._reference(p.r) || this; // r === -1 ? p.ot : $.jstree._reference(p.r) || this
+                         if(p.r === -1 || !p.r) {
+                                       p.cr = -1;
+                                     switch(p.p) {
+                                          case "first":
+                                          case "before":
+                                         case "inside":
+                                                 p.cp = 0;
+                                                      break;
+                                         case "after":
+                                          case "last":
+                                                   p.cp = p.rt.get_container().find(" > ul > li").length;
+                                                 break;
+                                         default:
+                                                       p.cp = p.p;
+                                                    break;
+                                 }
+                              }
+                              else {
+                                 if(!/^(before|after)$/.test(p.p) && !this._is_loaded(p.r)) {
+                                           return this.load_node(p.r, function () { this.prepare_move(o, r, pos, cb, true); });
+                                   }
+                                      switch(p.p) {
+                                          case "before":
+                                                 p.cp = p.r.index();
+                                                    p.cr = p.rt._get_parent(p.r);
+                                                  break;
+                                         case "after":
+                                                  p.cp = p.r.index() + 1;
+                                                        p.cr = p.rt._get_parent(p.r);
+                                                  break;
+                                         case "inside":
+                                         case "first":
+                                                  p.cp = 0;
+                                                      p.cr = p.r;
+                                                    break;
+                                         case "last":
+                                                   p.cp = p.r.find(" > ul > li").length;
+                                                  p.cr = p.r;
+                                                    break;
+                                         default:
+                                                       p.cp = p.p;
+                                                    p.cr = p.r;
+                                                    break;
+                                 }
+                              }
+                              p.np = p.cr == -1 ? p.rt.get_container() : p.cr;
+                               p.op = p.ot._get_parent(p.o);
+                          p.cop = p.o.index();
+                           if(p.op === -1) { p.op = p.ot ? p.ot.get_container() : this.get_container(); }
+                         if(!/^(before|after)$/.test(p.p) && p.op && p.np && p.op[0] === p.np[0] && p.o.index() < p.cp) { p.cp++; }
+                             //if(p.p === "before" && p.op && p.np && p.op[0] === p.np[0] && p.o.index() < p.cp) { p.cp--; }
+                                p.or = p.np.find(" > ul > li:nth-child(" + (p.cp + 1) + ")");
+                          prepared_move = p;
+                             this.__callback(prepared_move);
+                                if(cb) { cb.call(this, prepared_move); }
+                       },
+                     check_move : function () {
+                             var obj = prepared_move, ret = true, r = obj.r === -1 ? this.get_container() : obj.r;
+                          if(!obj || !obj.o || obj.or[0] === obj.o[0]) { return false; }
+                         if(obj.op && obj.np && obj.op[0] === obj.np[0] && obj.cp - 1 === obj.o.index()) { return false; }
+                              obj.o.each(function () {
+                                       if(r.parentsUntil(".jstree", "li").andSelf().index(this) !== -1) { ret = false; return false; }
+                                });
+                            return ret;
+                    },
+                     move_node : function (obj, ref, position, is_copy, is_prepared, skip_check) {
+                          if(!is_prepared) {
+                                     return this.prepare_move(obj, ref, position, function (p) {
+                                            this.move_node(p, false, false, is_copy, true, skip_check);
+                                    });
+                            }
+                              if(is_copy) {
+                                  prepared_move.cy = true;
+                               }
+                              if(!skip_check && !this.check_move()) { return false; }
+
+                               this.__rollback();
+                             var o = false;
+                         if(is_copy) {
+                                  o = obj.o.clone(true);
+                                 o.find("*[id]").andSelf().each(function () {
+                                           if(this.id) { this.id = "copy_" + this.id; }
+                                   });
+                            }
+                              else { o = obj.o; }
+
+                           if(obj.or.length) { obj.or.before(o); }
+                                else {
+                                 if(!obj.np.children("ul").length) { $("<ul />").appendTo(obj.np); }
+                                    obj.np.children("ul:eq(0)").append(o);
+                         }
+
+                             try {
+                                  obj.ot.clean_node(obj.op);
+                                     obj.rt.clean_node(obj.np);
+                                     if(!obj.op.find("> ul > li").length) {
+                                         obj.op.removeClass("jstree-open jstree-closed").addClass("jstree-leaf").children("ul").remove();
+                                       }
+                              } catch (e) { }
+
+                               if(is_copy) {
+                                  prepared_move.cy = true;
+                                       prepared_move.oc = o;
+                          }
+                              this.__callback(prepared_move);
+                                return prepared_move;
+                  },
+                     _get_move : function () { return prepared_move; }
+              }
+      });
+})(jQuery);
+//*/
+
+/*
+ * jsTree ui plugin
+ * This plugins handles selecting/deselecting/hovering/dehovering nodes
+ */
+(function ($) {
+       var scrollbar_width, e1, e2;
+   $(function() {
+         if (/msie/.test(navigator.userAgent.toLowerCase())) {
+                  e1 = $('<textarea cols="10" rows="2"></textarea>').css({ position: 'absolute', top: -1000, left: 0 }).appendTo('body');
+                        e2 = $('<textarea cols="10" rows="2" style="overflow: hidden;"></textarea>').css({ position: 'absolute', top: -1000, left: 0 }).appendTo('body');
+                      scrollbar_width = e1.width() - e2.width();
+                     e1.add(e2).remove();
+           }
+              else {
+                 e1 = $('<div />').css({ width: 100, height: 100, overflow: 'auto', position: 'absolute', top: -1000, left: 0 })
+                                        .prependTo('body').append('<div />').find('div').css({ width: '100%', height: 200 });
+                  scrollbar_width = 100 - e1.width();
+                    e1.parent().remove();
+          }
+      });
+    $.jstree.plugin("ui", {
+                __init : function () {
+                 this.data.ui.selected = $();
+                   this.data.ui.last_selected = false;
+                    this.data.ui.hovered = null;
+                   this.data.ui.to_select = this.get_settings().ui.initially_select;
+
+                     this.get_container()
+                           .delegate("a", "click.jstree", $.proxy(function (event) {
+                                              event.preventDefault();
+                                                event.currentTarget.blur();
+                                            if(!$(event.currentTarget).hasClass("jstree-loading")) {
+                                                       this.select_node(event.currentTarget, true, event);
+                                            }
+                                      }, this))
+                              .delegate("a", "mouseenter.jstree", $.proxy(function (event) {
+                                         if(!$(event.currentTarget).hasClass("jstree-loading")) {
+                                                       this.hover_node(event.target);
+                                         }
+                                      }, this))
+                              .delegate("a", "mouseleave.jstree", $.proxy(function (event) {
+                                         if(!$(event.currentTarget).hasClass("jstree-loading")) {
+                                                       this.dehover_node(event.target);
+                                               }
+                                      }, this))
+                              .bind("reopen.jstree", $.proxy(function () {
+                                           this.reselect();
+                                       }, this))
+                              .bind("get_rollback.jstree", $.proxy(function () {
+                                             this.dehover_node();
+                                           this.save_selected();
+                                  }, this))
+                              .bind("set_rollback.jstree", $.proxy(function () {
+                                             this.reselect();
+                                       }, this))
+                              .bind("close_node.jstree", $.proxy(function (event, data) {
+                                            var s = this._get_settings().ui,
+                                                       obj = this._get_node(data.rslt.obj),
+                                                   clk = (obj && obj.length) ? obj.children("ul").find("a.jstree-clicked") : $(),
+                                                 _this = this;
+                                          if(s.selected_parent_close === false || !clk.length) { return; }
+                                               clk.each(function () {
+                                                 _this.deselect_node(this);
+                                                     if(s.selected_parent_close === "select_parent") { _this.select_node(obj); }
+                                            });
+                                    }, this))
+                              .bind("delete_node.jstree", $.proxy(function (event, data) {
+                                           var s = this._get_settings().ui.select_prev_on_delete,
+                                                 obj = this._get_node(data.rslt.obj),
+                                                   clk = (obj && obj.length) ? obj.find("a.jstree-clicked") : [],
+                                                 _this = this;
+                                          clk.each(function () { _this.deselect_node(this); });
+                                          if(s && clk.length) {
+                                                  data.rslt.prev.each(function () {
+                                                              if(this.parentNode) { _this.select_node(this); return false; /* if return false is removed all prev nodes will be selected */}
+                                                 });
+                                            }
+                                      }, this))
+                              .bind("move_node.jstree", $.proxy(function (event, data) {
+                                             if(data.rslt.cy) {
+                                                     data.rslt.oc.find("a.jstree-clicked").removeClass("jstree-clicked");
+                                           }
+                                      }, this));
+             },
+             defaults : {
+                   select_limit : -1, // 0, 1, 2 ... or -1 for unlimited
+                  select_multiple_modifier : "ctrl", // on, or ctrl, shift, alt
+                  select_range_modifier : "shift",
+                       selected_parent_close : "select_parent", // false, "deselect", "select_parent"
+                 selected_parent_open : true,
+                   select_prev_on_delete : true,
+                  disable_selecting_children : false,
+                    initially_select : []
+          },
+             _fn : {
+                        _get_node : function (obj, allow_multiple) {
+                           if(typeof obj === "undefined" || obj === null) { return allow_multiple ? this.data.ui.selected : this.data.ui.last_selected; }
+                         var $obj = $(obj, this.get_container());
+                               if($obj.is(".jstree") || obj == -1) { return -1; }
+                             $obj = $obj.closest("li", this.get_container());
+                               return $obj.length ? $obj : false;
+                     },
+                     _ui_notify : function (n, data) {
+                              if(data.selected) {
+                                    this.select_node(n, false);
+                            }
+                      },
+                     save_selected : function () {
+                          var _this = this;
+                              this.data.ui.to_select = [];
+                           this.data.ui.selected.each(function () { if(this.id) { _this.data.ui.to_select.push("#" + this.id.toString().replace(/^#/,"").replace(/\\\//g,"/").replace(/\//g,"\\\/").replace(/\\\./g,".").replace(/\./g,"\\.").replace(/\:/g,"\\:")); } });
+                                this.__callback(this.data.ui.to_select);
+                       },
+                     reselect : function () {
+                               var _this = this,
+                                      s = this.data.ui.to_select;
+                            s = $.map($.makeArray(s), function (n) { return "#" + n.toString().replace(/^#/,"").replace(/\\\//g,"/").replace(/\//g,"\\\/").replace(/\\\./g,".").replace(/\./g,"\\.").replace(/\:/g,"\\:"); });
+                             // this.deselect_all(); WHY deselect, breaks plugin state notifier?
+                            $.each(s, function (i, val) { if(val && val !== "#") { _this.select_node(val); } });
+                           this.data.ui.selected = this.data.ui.selected.filter(function () { return this.parentNode; });
+                         this.__callback();
+                     },
+                     refresh : function (obj) {
+                             this.save_selected();
+                          return this.__call_old();
+                      },
+                     hover_node : function (obj) {
+                          obj = this._get_node(obj);
+                             if(!obj.length) { return false; }
+                              //if(this.data.ui.hovered && obj.get(0) === this.data.ui.hovered.get(0)) { return; }
+                           if(!obj.hasClass("jstree-hovered")) { this.dehover_node(); }
+                           this.data.ui.hovered = obj.children("a").addClass("jstree-hovered").parent();
+                          this._fix_scroll(obj);
+                         this.__callback({ "obj" : obj });
+                      },
+                     dehover_node : function () {
+                           var obj = this.data.ui.hovered, p;
+                             if(!obj || !obj.length) { return false; }
+                              p = obj.children("a").removeClass("jstree-hovered").parent();
+                          if(this.data.ui.hovered[0] === p[0]) { this.data.ui.hovered = null; }
+                          this.__callback({ "obj" : obj });
+                      },
+                     select_node : function (obj, check, e) {
+                               obj = this._get_node(obj);
+                             if(obj == -1 || !obj || !obj.length) { return false; }
+                         var s = this._get_settings().ui,
+                                       is_multiple = (s.select_multiple_modifier == "on" || (s.select_multiple_modifier !== false && e && e[s.select_multiple_modifier + "Key"])),
+                                    is_range = (s.select_range_modifier !== false && e && e[s.select_range_modifier + "Key"] && this.data.ui.last_selected && this.data.ui.last_selected[0] !== obj[0] && this.data.ui.last_selected.parent()[0] === obj.parent()[0]),
+                                     is_selected = this.is_selected(obj),
+                                   proceed = true,
+                                        t = this;
+                              if(check) {
+                                    if(s.disable_selecting_children && is_multiple &&
+                                              (
+                                                      (obj.parentsUntil(".jstree","li").children("a.jstree-clicked").length) ||
+                                                      (obj.children("ul").find("a.jstree-clicked:eq(0)").length)
+                                             )
+                                      ) {
+                                            return false;
+                                  }
+                                      proceed = false;
+                                       switch(!0) {
+                                           case (is_range):
+                                                       this.data.ui.last_selected.addClass("jstree-last-selected");
+                                                   obj = obj[ obj.index() < this.data.ui.last_selected.index() ? "nextUntil" : "prevUntil" ](".jstree-last-selected").andSelf();
+                                                  if(s.select_limit == -1 || obj.length < s.select_limit) {
+                                                              this.data.ui.last_selected.removeClass("jstree-last-selected");
+                                                                this.data.ui.selected.each(function () {
+                                                                       if(this !== t.data.ui.last_selected[0]) { t.deselect_node(this); }
+                                                             });
+                                                            is_selected = false;
+                                                           proceed = true;
+                                                        }
+                                                      else {
+                                                         proceed = false;
+                                                       }
+                                                      break;
+                                         case (is_selected && !is_multiple):
+                                                    this.deselect_all();
+                                                   is_selected = false;
+                                                   proceed = true;
+                                                        break;
+                                         case (!is_selected && !is_multiple):
+                                                   if(s.select_limit == -1 || s.select_limit > 0) {
+                                                               this.deselect_all();
+                                                           proceed = true;
+                                                        }
+                                                      break;
+                                         case (is_selected && is_multiple):
+                                                     this.deselect_node(obj);
+                                                       break;
+                                         case (!is_selected && is_multiple):
+                                                    if(s.select_limit == -1 || this.data.ui.selected.length + 1 <= s.select_limit) {
+                                                               proceed = true;
+                                                        }
+                                                      break;
+                                 }
+                              }
+                              if(proceed && !is_selected) {
+                                  if(!is_range) { this.data.ui.last_selected = obj; }
+                                    obj.children("a").addClass("jstree-clicked");
+                                  if(s.selected_parent_open) {
+                                           obj.parents(".jstree-closed").each(function () { t.open_node(this, false, true); });
+                                   }
+                                      this.data.ui.selected = this.data.ui.selected.add(obj);
+                                        this._fix_scroll(obj.eq(0));
+                                   this.__callback({ "obj" : obj, "e" : e });
+                             }
+                      },
+                     _fix_scroll : function (obj) {
+                         var c = this.get_container()[0], t;
+                            if(c.scrollHeight > c.offsetHeight) {
+                                  obj = this._get_node(obj);
+                                     if(!obj || obj === -1 || !obj.length || !obj.is(":visible")) { return; }
+                                       t = obj.offset().top - this.get_container().offset().top;
+                                      if(t < 0) {
+                                            c.scrollTop = c.scrollTop + t - 1;
+                                     }
+                                      if(t + this.data.core.li_height + (c.scrollWidth > c.offsetWidth ? scrollbar_width : 0) > c.offsetHeight) {
+                                            c.scrollTop = c.scrollTop + (t - c.offsetHeight + this.data.core.li_height + 1 + (c.scrollWidth > c.offsetWidth ? scrollbar_width : 0));
+                                       }
+                              }
+                      },
+                     deselect_node : function (obj) {
+                               obj = this._get_node(obj);
+                             if(!obj.length) { return false; }
+                              if(this.is_selected(obj)) {
+                                    obj.children("a").removeClass("jstree-clicked");
+                                       this.data.ui.selected = this.data.ui.selected.not(obj);
+                                        if(this.data.ui.last_selected.get(0) === obj.get(0)) { this.data.ui.last_selected = this.data.ui.selected.eq(0); }
+                                     this.__callback({ "obj" : obj });
+                              }
+                      },
+                     toggle_select : function (obj) {
+                               obj = this._get_node(obj);
+                             if(!obj.length) { return false; }
+                              if(this.is_selected(obj)) { this.deselect_node(obj); }
+                         else { this.select_node(obj); }
+                        },
+                     is_selected : function (obj) { return this.data.ui.selected.index(this._get_node(obj)) >= 0; },
+                        get_selected : function (context) {
+                            return context ? $(context).find("a.jstree-clicked").parent() : this.data.ui.selected;
+                 },
+                     deselect_all : function (context) {
+                            var ret = context ? $(context).find("a.jstree-clicked").parent() : this.get_container().find("a.jstree-clicked").parent();
+                             ret.children("a.jstree-clicked").removeClass("jstree-clicked");
+                                this.data.ui.selected = $([]);
+                         this.data.ui.last_selected = false;
+                            this.__callback({ "obj" : ret });
+                      }
+              }
+      });
+    // include the selection plugin by default
+     $.jstree.defaults.plugins.push("ui");
+})(jQuery);
+//*/
+
+/*
+ * jsTree CRRM plugin
+ * Handles creating/renaming/removing/moving nodes by user interaction.
+ */
+(function ($) {
+   $.jstree.plugin("crrm", {
+              __init : function () {
+                 this.get_container()
+                           .bind("move_node.jstree", $.proxy(function (e, data) {
+                                 if(this._get_settings().crrm.move.open_onmove) {
+                                               var t = this;
+                                          data.rslt.np.parentsUntil(".jstree").andSelf().filter(".jstree-closed").each(function () {
+                                                     t.open_node(this, false, true);
+                                                });
+                                    }
+                              }, this));
+             },
+             defaults : {
+                   input_width_limit : 200,
+                       move : {
+                               always_copy                     : false, // false, true or "multitree"
+                           open_onmove                 : true,
+                          default_position     : "last",
+                             check_move                        : function (m) { return true; }
+                   }
+              },
+             _fn : {
+                        _show_input : function (obj, callback) {
+                               obj = this._get_node(obj);
+                             var rtl = this._get_settings().core.rtl,
+                                       w = this._get_settings().crrm.input_width_limit,
+                                       w1 = obj.children("ins").width(),
+                                      w2 = obj.find("> a:visible > ins").width() * obj.find("> a:visible > ins").length,
+                                     t = this.get_text(obj),
+                                        h1 = $("<div />", { css : { "position" : "absolute", "top" : "-200px", "left" : (rtl ? "0px" : "-1000px"), "visibility" : "hidden" } }).appendTo("body"),
+                                      h2 = obj.css("position","relative").append(
+                                    $("<input />", {
+                                               "value" : t,
+                                           "class" : "jstree-rename-input",
+                                               // "size" : t.length,
+                                          "css" : {
+                                                      "padding" : "0",
+                                                       "border" : "1px solid silver",
+                                                 "position" : "absolute",
+                                                       "left"  : (rtl ? "auto" : (w1 + w2 + 4) + "px"),
+                                                       "right" : (rtl ? (w1 + w2 + 4) + "px" : "auto"),
+                                                       "top" : "0px",
+                                                 "height" : (this.data.core.li_height - 2) + "px",
+                                                      "lineHeight" : (this.data.core.li_height - 2) + "px",
+                                                  "width" : "150px" // will be set a bit further down
+                                            },
+                                             "blur" : $.proxy(function () {
+                                                 var i = obj.children(".jstree-rename-input"),
+                                                          v = i.val();
+                                                   if(v === "") { v = t; }
+                                                        h1.remove();
+                                                   i.remove(); // rollback purposes
+                                                       this.set_text(obj,t); // rollback purposes
+                                                     this.rename_node(obj, v);
+                                                      callback.call(this, obj, v, t);
+                                                        obj.css("position","");
+                                                }, this),
+                                              "keyup" : function (event) {
+                                                   var key = event.keyCode || event.which;
+                                                        if(key == 27) { this.value = t; this.blur(); return; }
+                                                 else if(key == 13) { this.blur(); return; }
+                                                    else {
+                                                         h2.width(Math.min(h1.text("pW" + this.value).width(),w));
+                                                      }
+                                              },
+                                             "keypress" : function(event) {
+                                                 var key = event.keyCode || event.which;
+                                                        if(key == 13) { return false; }
+                                                }
+                                      })
+                             ).children(".jstree-rename-input");
+                            this.set_text(obj, "");
+                                h1.css({
+                                               fontFamily              : h2.css('fontFamily')          || '',
+                                             fontSize          : h2.css('fontSize')            || '',
+                                         fontWeight            : h2.css('fontWeight')          || '',
+                                             fontStyle         : h2.css('fontStyle')           || '',
+                                               fontStretch             : h2.css('fontStretch')         || '',
+                                           fontVariant         : h2.css('fontVariant')         || '',
+                                           letterSpacing       : h2.css('letterSpacing')       || '',
+                                         wordSpacing           : h2.css('wordSpacing')         || ''
+                            });
+                            h2.width(Math.min(h1.text("pW" + h2[0].value).width(),w))[0].select();
+                 },
+                     rename : function (obj) {
+                              obj = this._get_node(obj);
+                             this.__rollback();
+                             var f = this.__callback;
+                               this._show_input(obj, function (obj, new_name, old_name) {
+                                     f.call(this, { "obj" : obj, "new_name" : new_name, "old_name" : old_name });
+                           });
+                    },
+                     create : function (obj, position, js, callback, skip_rename) {
+                         var t, _this = this;
+                           obj = this._get_node(obj);
+                             if(!obj) { obj = -1; }
+                         this.__rollback();
+                             t = this.create_node(obj, position, js, function (t) {
+                                 var p = this._get_parent(t),
+                                           pos = $(t).index();
+                                    if(callback) { callback.call(this, t); }
+                                       if(p.length && p.hasClass("jstree-closed")) { this.open_node(p, false, true); }
+                                        if(!skip_rename) {
+                                             this._show_input(t, function (obj, new_name, old_name) {
+                                                       _this.__callback({ "obj" : obj, "name" : new_name, "parent" : p, "position" : pos });
+                                          });
+                                    }
+                                      else { _this.__callback({ "obj" : t, "name" : this.get_text(t), "parent" : p, "position" : pos }); }
+                           });
+                            return t;
+                      },
+                     remove : function (obj) {
+                              obj = this._get_node(obj, true);
+                               var p = this._get_parent(obj), prev = this._get_prev(obj);
+                             this.__rollback();
+                             obj = this.delete_node(obj);
+                           if(obj !== false) { this.__callback({ "obj" : obj, "prev" : prev, "parent" : p }); }
+                   },
+                     check_move : function () {
+                             if(!this.__call_old()) { return false; }
+                               var s = this._get_settings().crrm.move;
+                                if(!s.check_move.call(this, this._get_move())) { return false; }
+                               return true;
+                   },
+                     move_node : function (obj, ref, position, is_copy, is_prepared, skip_check) {
+                          var s = this._get_settings().crrm.move;
+                                if(!is_prepared) {
+                                     if(typeof position === "undefined") { position = s.default_position; }
+                                 if(position === "inside" && !s.default_position.match(/^(before|after)$/)) { position = s.default_position; }
+                                  return this.__call_old(true, obj, ref, position, is_copy, false, skip_check);
+                          }
+                              // if the move is already prepared
+                             if(s.always_copy === true || (s.always_copy === "multitree" && obj.rt.get_index() !== obj.ot.get_index() )) {
+                                  is_copy = true;
+                                }
+                              this.__call_old(true, obj, ref, position, is_copy, true, skip_check);
+                  },
+
+                    cut : function (obj) {
+                         obj = this._get_node(obj, true);
+                               if(!obj || !obj.length) { return false; }
+                              this.data.crrm.cp_nodes = false;
+                               this.data.crrm.ct_nodes = obj;
+                         this.__callback({ "obj" : obj });
+                      },
+                     copy : function (obj) {
+                                obj = this._get_node(obj, true);
+                               if(!obj || !obj.length) { return false; }
+                              this.data.crrm.ct_nodes = false;
+                               this.data.crrm.cp_nodes = obj;
+                         this.__callback({ "obj" : obj });
+                      },
+                     paste : function (obj) {
+                               obj = this._get_node(obj);
+                             if(!obj || !obj.length) { return false; }
+                              var nodes = this.data.crrm.ct_nodes ? this.data.crrm.ct_nodes : this.data.crrm.cp_nodes;
+                               if(!this.data.crrm.ct_nodes && !this.data.crrm.cp_nodes) { return false; }
+                             if(this.data.crrm.ct_nodes) { this.move_node(this.data.crrm.ct_nodes, obj); this.data.crrm.ct_nodes = false; }
+                         if(this.data.crrm.cp_nodes) { this.move_node(this.data.crrm.cp_nodes, obj, false, true); }
+                             this.__callback({ "obj" : obj, "nodes" : nodes });
+                     }
+              }
+      });
+    // include the crr plugin by default
+   // $.jstree.defaults.plugins.push("crrm");
+})(jQuery);
+//*/
+
+/*
+ * jsTree themes plugin
+ * Handles loading and setting themes, as well as detecting path to themes, etc.
+ */
+(function ($) {
+   var themes_loaded = [];
+        // this variable stores the path to the themes folder - if left as false - it will be autodetected
+     $.jstree._themes = false;
+      $.jstree.plugin("themes", {
+            __init : function () {
+                 this.get_container()
+                           .bind("init.jstree", $.proxy(function () {
+                                             var s = this._get_settings().themes;
+                                           this.data.themes.dots = s.dots;
+                                                this.data.themes.icons = s.icons;
+                                              this.set_theme(s.theme, s.url);
+                                        }, this))
+                              .bind("loaded.jstree", $.proxy(function () {
+                                           // bound here too, as simple HTML tree's won't honor dots & icons otherwise
+                                            if(!this.data.themes.dots) { this.hide_dots(); }
+                                               else { this.show_dots(); }
+                                             if(!this.data.themes.icons) { this.hide_icons(); }
+                                             else { this.show_icons(); }
+                                    }, this));
+             },
+             defaults : {
+                   theme : "default",
+                     url : false,
+                   dots : true,
+                   icons : true
+           },
+             _fn : {
+                        set_theme : function (theme_name, theme_url) {
+                         if(!theme_name) { return false; }
+                              if(!theme_url) { theme_url = $.jstree._themes + theme_name + '/style.css'; }
+                           if($.inArray(theme_url, themes_loaded) == -1) {
+                                        $.vakata.css.add_sheet({ "url" : theme_url });
+                                 themes_loaded.push(theme_url);
+                         }
+                              if(this.data.themes.theme != theme_name) {
+                                     this.get_container().removeClass('jstree-' + this.data.themes.theme);
+                                  this.data.themes.theme = theme_name;
+                           }
+                              this.get_container().addClass('jstree-' + theme_name);
+                         if(!this.data.themes.dots) { this.hide_dots(); }
+                               else { this.show_dots(); }
+                             if(!this.data.themes.icons) { this.hide_icons(); }
+                             else { this.show_icons(); }
+                            this.__callback();
+                     },
+                     get_theme : function () { return this.data.themes.theme; },
+
+                   show_dots   : function () { this.data.themes.dots = true; this.get_container().children("ul").removeClass("jstree-no-dots"); },
+                  hide_dots    : function () { this.data.themes.dots = false; this.get_container().children("ul").addClass("jstree-no-dots"); },
+                    toggle_dots        : function () { if(this.data.themes.dots) { this.hide_dots(); } else { this.show_dots(); } },
+
+                     show_icons        : function () { this.data.themes.icons = true; this.get_container().children("ul").removeClass("jstree-no-icons"); },
+                       hide_icons      : function () { this.data.themes.icons = false; this.get_container().children("ul").addClass("jstree-no-icons"); },
+                 toggle_icons: function () { if(this.data.themes.icons) { this.hide_icons(); } else { this.show_icons(); } }
+            }
+      });
+    // autodetect themes path
+      $(function () {
+                if($.jstree._themes === false) {
+                       $("script").each(function () {
+                         if(this.src.toString().match(/jquery\.jstree[^\/]*?\.js(\?.*)?$/)) {
+                                   $.jstree._themes = this.src.toString().replace(/jquery\.jstree[^\/]*?\.js(\?.*)?$/, "") + 'themes/';
+                                   return false;
+                          }
+                      });
+            }
+              if($.jstree._themes === false) { $.jstree._themes = "themes/"; }
+       });
+    // include the themes plugin by default
+        $.jstree.defaults.plugins.push("themes");
+})(jQuery);
+//*/
+
+/*
+ * jsTree hotkeys plugin
+ * Enables keyboard navigation for all tree instances
+ * Depends on the jstree ui & jquery hotkeys plugins
+ */
+(function ($) {
+ var bound = [];
+        function exec(i, event) {
+              var f = $.jstree._focused(), tmp;
+              if(f && f.data && f.data.hotkeys && f.data.hotkeys.enabled) {
+                  tmp = f._get_settings().hotkeys[i];
+                    if(tmp) { return tmp.call(f, event); }
+         }
+      }
+      $.jstree.plugin("hotkeys", {
+           __init : function () {
+                 if(typeof $.hotkeys === "undefined") { throw "jsTree hotkeys: jQuery hotkeys plugin not included."; }
+                  if(!this.data.ui) { throw "jsTree hotkeys: jsTree UI plugin not included."; }
+                  $.each(this._get_settings().hotkeys, function (i, v) {
+                         if(v !== false && $.inArray(i, bound) == -1) {
+                                 $(document).bind("keydown", i, function (event) { return exec(i, event); });
+                                   bound.push(i);
+                         }
+                      });
+                    this.get_container()
+                           .bind("lock.jstree", $.proxy(function () {
+                                             if(this.data.hotkeys.enabled) { this.data.hotkeys.enabled = false; this.data.hotkeys.revert = true; }
+                                  }, this))
+                              .bind("unlock.jstree", $.proxy(function () {
+                                           if(this.data.hotkeys.revert) { this.data.hotkeys.enabled = true; }
+                                     }, this));
+                     this.enable_hotkeys();
+         },
+             defaults : {
+                   "up" : function () {
+                           var o = this.data.ui.hovered || this.data.ui.last_selected || -1;
+                              this.hover_node(this._get_prev(o));
+                            return false;
+                  },
+                     "ctrl+up" : function () {
+                              var o = this.data.ui.hovered || this.data.ui.last_selected || -1;
+                              this.hover_node(this._get_prev(o));
+                            return false;
+                  },
+                     "shift+up" : function () {
+                             var o = this.data.ui.hovered || this.data.ui.last_selected || -1;
+                              this.hover_node(this._get_prev(o));
+                            return false;
+                  },
+                     "down" : function () {
+                         var o = this.data.ui.hovered || this.data.ui.last_selected || -1;
+                              this.hover_node(this._get_next(o));
+                            return false;
+                  },
+                     "ctrl+down" : function () {
+                            var o = this.data.ui.hovered || this.data.ui.last_selected || -1;
+                              this.hover_node(this._get_next(o));
+                            return false;
+                  },
+                     "shift+down" : function () {
+                           var o = this.data.ui.hovered || this.data.ui.last_selected || -1;
+                              this.hover_node(this._get_next(o));
+                            return false;
+                  },
+                     "left" : function () {
+                         var o = this.data.ui.hovered || this.data.ui.last_selected;
+                            if(o) {
+                                        if(o.hasClass("jstree-open")) { this.close_node(o); }
+                                  else { this.hover_node(this._get_prev(o)); }
+                           }
+                              return false;
+                  },
+                     "ctrl+left" : function () {
+                            var o = this.data.ui.hovered || this.data.ui.last_selected;
+                            if(o) {
+                                        if(o.hasClass("jstree-open")) { this.close_node(o); }
+                                  else { this.hover_node(this._get_prev(o)); }
+                           }
+                              return false;
+                  },
+                     "shift+left" : function () {
+                           var o = this.data.ui.hovered || this.data.ui.last_selected;
+                            if(o) {
+                                        if(o.hasClass("jstree-open")) { this.close_node(o); }
+                                  else { this.hover_node(this._get_prev(o)); }
+                           }
+                              return false;
+                  },
+                     "right" : function () {
+                                var o = this.data.ui.hovered || this.data.ui.last_selected;
+                            if(o && o.length) {
+                                    if(o.hasClass("jstree-closed")) { this.open_node(o); }
+                                 else { this.hover_node(this._get_next(o)); }
+                           }
+                              return false;
+                  },
+                     "ctrl+right" : function () {
+                           var o = this.data.ui.hovered || this.data.ui.last_selected;
+                            if(o && o.length) {
+                                    if(o.hasClass("jstree-closed")) { this.open_node(o); }
+                                 else { this.hover_node(this._get_next(o)); }
+                           }
+                              return false;
+                  },
+                     "shift+right" : function () {
+                          var o = this.data.ui.hovered || this.data.ui.last_selected;
+                            if(o && o.length) {
+                                    if(o.hasClass("jstree-closed")) { this.open_node(o); }
+                                 else { this.hover_node(this._get_next(o)); }
+                           }
+                              return false;
+                  },
+                     "space" : function () {
+                                if(this.data.ui.hovered) { this.data.ui.hovered.children("a:eq(0)").click(); }
+                         return false;
+                  },
+                     "ctrl+space" : function (event) {
+                              event.type = "click";
+                          if(this.data.ui.hovered) { this.data.ui.hovered.children("a:eq(0)").trigger(event); }
+                          return false;
+                  },
+                     "shift+space" : function (event) {
+                             event.type = "click";
+                          if(this.data.ui.hovered) { this.data.ui.hovered.children("a:eq(0)").trigger(event); }
+                          return false;
+                  },
+                     "f2" : function () { this.rename(this.data.ui.hovered || this.data.ui.last_selected); },
+                       "del" : function () { this.remove(this.data.ui.hovered || this._get_node(null)); }
+             },
+             _fn : {
+                        enable_hotkeys : function () {
+                         this.data.hotkeys.enabled = true;
+                      },
+                     disable_hotkeys : function () {
+                                this.data.hotkeys.enabled = false;
+                     }
+              }
+      });
+})(jQuery);
+//*/
+
+/*
+ * jsTree JSON plugin
+ * The JSON data store. Datastores are build by overriding the `load_node` and `_is_loaded` functions.
+ */
+(function ($) {
+      $.jstree.plugin("json_data", {
+         __init : function() {
+                  var s = this._get_settings().json_data;
+                        if(s.progressive_unload) {
+                             this.get_container().bind("after_close.jstree", function (e, data) {
+                                   data.rslt.obj.children("ul").remove();
+                         });
+                    }
+              },
+             defaults : {
+                   // `data` can be a function:
+                   //  * accepts two arguments - node being loaded and a callback to pass the result to
+                   //  * will be executed in the current tree's scope & ajax won't be supported
+                   data : false,
+                  ajax : false,
+                  correct_state : true,
+                  progressive_render : false,
+                    progressive_unload : false
+             },
+             _fn : {
+                        load_node : function (obj, s_call, e_call) { var _this = this; this.load_node_json(obj, function () { _this.__callback({ "obj" : _this._get_node(obj) }); s_call.call(this); }, e_call); },
+                    _is_loaded : function (obj) {
+                          var s = this._get_settings().json_data;
+                                obj = this._get_node(obj);
+                             return obj == -1 || !obj || (!s.ajax && !s.progressive_render && !$.isFunction(s.data)) || obj.is(".jstree-open, .jstree-leaf") || obj.children("ul").children("li").length > 0;
+                       },
+                     refresh : function (obj) {
+                             obj = this._get_node(obj);
+                             var s = this._get_settings().json_data;
+                                if(obj && obj !== -1 && s.progressive_unload && ($.isFunction(s.data) || !!s.ajax)) {
+                                  obj.removeData("jstree_children");
+                             }
+                              return this.__call_old();
+                      },
+                     load_node_json : function (obj, s_call, e_call) {
+                              var s = this.get_settings().json_data, d,
+                                      error_func = function () {},
+                                   success_func = function () {};
+                         obj = this._get_node(obj);
+
+                            if(obj && obj !== -1 && (s.progressive_render || s.progressive_unload) && !obj.is(".jstree-open, .jstree-leaf") && obj.children("ul").children("li").length === 0 && obj.data("jstree_children")) {
+                                    d = this._parse_json(obj.data("jstree_children"), obj);
+                                        if(d) {
+                                                obj.append(d);
+                                         if(!s.progressive_unload) { obj.removeData("jstree_children"); }
+                                       }
+                                      this.clean_node(obj);
+                                  if(s_call) { s_call.call(this); }
+                                      return;
+                                }
+
+                             if(obj && obj !== -1) {
+                                        if(obj.data("jstree_is_loading")) { return; }
+                                  else { obj.data("jstree_is_loading",true); }
+                           }
+                              switch(!0) {
+                                   case (!s.data && !s.ajax): throw "Neither data nor ajax settings supplied.";
+                                   // function option added here for easier model integration (also supporting async - see callback)
+                                      case ($.isFunction(s.data)):
+                                           s.data.call(this, obj, $.proxy(function (d) {
+                                                  d = this._parse_json(d, obj);
+                                                  if(!d) {
+                                                               if(obj === -1 || !obj) {
+                                                                       if(s.correct_state) { this.get_container().children("ul").empty(); }
+                                                           }
+                                                              else {
+                                                                 obj.children("a.jstree-loading").removeClass("jstree-loading");
+                                                                        obj.removeData("jstree_is_loading");
+                                                                   if(s.correct_state) { this.correct_state(obj); }
+                                                               }
+                                                              if(e_call) { e_call.call(this); }
+                                                      }
+                                                      else {
+                                                         if(obj === -1 || !obj) { this.get_container().children("ul").empty().append(d.children()); }
+                                                           else { obj.append(d).children("a.jstree-loading").removeClass("jstree-loading"); obj.removeData("jstree_is_loading"); }
+                                                                this.clean_node(obj);
+                                                          if(s_call) { s_call.call(this); }
+                                                      }
+                                              }, this));
+                                             break;
+                                 case (!!s.data && !s.ajax) || (!!s.data && !!s.ajax && (!obj || obj === -1)):
+                                          if(!obj || obj == -1) {
+                                                        d = this._parse_json(s.data, obj);
+                                                     if(d) {
+                                                                this.get_container().children("ul").empty().append(d.children());
+                                                              this.clean_node();
+                                                     }
+                                                      else {
+                                                         if(s.correct_state) { this.get_container().children("ul").empty(); }
+                                                   }
+                                              }
+                                              if(s_call) { s_call.call(this); }
+                                              break;
+                                 case (!s.data && !!s.ajax) || (!!s.data && !!s.ajax && obj && obj !== -1):
+                                             error_func = function (x, t, e) {
+                                                      var ef = this.get_settings().json_data.ajax.error;
+                                                     if(ef) { ef.call(this, x, t, e); }
+                                                     if(obj != -1 && obj.length) {
+                                                          obj.children("a.jstree-loading").removeClass("jstree-loading");
+                                                                obj.removeData("jstree_is_loading");
+                                                           if(t === "success" && s.correct_state) { this.correct_state(obj); }
+                                                    }
+                                                      else {
+                                                         if(t === "success" && s.correct_state) { this.get_container().children("ul").empty(); }
+                                                        }
+                                                      if(e_call) { e_call.call(this); }
+                                              };
+                                             success_func = function (d, t, x) {
+                                                    var sf = this.get_settings().json_data.ajax.success;
+                                                   if(sf) { d = sf.call(this,d,t,x) || d; }
+                                                       if(d === "" || (d && d.toString && d.toString().replace(/^[\s\n]+$/,"") === "") || (!$.isArray(d) && !$.isPlainObject(d))) {
+                                                           return error_func.call(this, x, t, "");
+                                                        }
+                                                      d = this._parse_json(d, obj);
+                                                  if(d) {
+                                                                if(obj === -1 || !obj) { this.get_container().children("ul").empty().append(d.children()); }
+                                                           else { obj.append(d).children("a.jstree-loading").removeClass("jstree-loading"); obj.removeData("jstree_is_loading"); }
+                                                                this.clean_node(obj);
+                                                          if(s_call) { s_call.call(this); }
+                                                      }
+                                                      else {
+                                                         if(obj === -1 || !obj) {
+                                                                       if(s.correct_state) {
+                                                                          this.get_container().children("ul").empty();
+                                                                           if(s_call) { s_call.call(this); }
+                                                                      }
+                                                              }
+                                                              else {
+                                                                 obj.children("a.jstree-loading").removeClass("jstree-loading");
+                                                                        obj.removeData("jstree_is_loading");
+                                                                   if(s.correct_state) {
+                                                                          this.correct_state(obj);
+                                                                               if(s_call) { s_call.call(this); }
+                                                                      }
+                                                              }
+                                                      }
+                                              };
+                                             s.ajax.context = this;
+                                         s.ajax.error = error_func;
+                                             s.ajax.success = success_func;
+                                         if(!s.ajax.dataType) { s.ajax.dataType = "json"; }
+                                             if($.isFunction(s.ajax.url)) { s.ajax.url = s.ajax.url.call(this, obj); }
+                                              if($.isFunction(s.ajax.data)) { s.ajax.data = s.ajax.data.call(this, obj); }
+                                           $.ajax(s.ajax);
+                                                break;
+                         }
+                      },
+                     _parse_json : function (js, obj, is_callback) {
+                                var d = false,
+                                 p = this._get_settings(),
+                                      s = p.json_data,
+                                       t = p.core.html_titles,
+                                        tmp, i, j, ul1, ul2;
+
+                          if(!js) { return d; }
+                          if(s.progressive_unload && obj && obj !== -1) {
+                                        obj.data("jstree_children", d);
+                                }
+                              if($.isArray(js)) {
+                                    d = $();
+                                       if(!js.length) { return false; }
+                                       for(i = 0, j = js.length; i < j; i++) {
+                                                tmp = this._parse_json(js[i], obj, true);
+                                              if(tmp.length) { d = d.add(tmp); }
+                                     }
+                              }
+                              else {
+                                 if(typeof js == "string") { js = { data : js }; }
+                                      if(!js.data && js.data !== "") { return d; }
+                                   d = $("<li />");
+                                       if(js.attr) { d.attr(js.attr); }
+                                       if(js.metadata) { d.data(js.metadata); }
+                                       if(js.state) { d.addClass("jstree-" + js.state); }
+                                     if(!$.isArray(js.data)) { tmp = js.data; js.data = []; js.data.push(tmp); }
+                                    $.each(js.data, function (i, m) {
+                                              tmp = $("<a />");
+                                              if($.isFunction(m)) { m = m.call(this, js); }
+                                          if(typeof m == "string") { tmp.attr('href','#')[ t ? "html" : "text" ](m); }
+                                           else {
+                                                 if(!m.attr) { m.attr = {}; }
+                                                   if(!m.attr.href) { m.attr.href = '#'; }
+                                                        tmp.attr(m.attr)[ t ? "html" : "text" ](m.title);
+                                                      if(m.language) { tmp.addClass(m.language); }
+                                           }
+                                              tmp.prepend("<ins class='jstree-icon'>&#160;</ins>");
+                                          if(!m.icon && js.icon) { m.icon = js.icon; }
+                                           if(m.icon) {
+                                                   if(m.icon.indexOf("/") === -1) { tmp.children("ins").addClass(m.icon); }
+                                                       else { tmp.children("ins").css("background","url('" + m.icon + "') center center no-repeat"); }
+                                                }
+                                              d.append(tmp);
+                                 });
+                                    d.prepend("<ins class='jstree-icon'>&#160;</ins>");
+                                    if(js.children) {
+                                              if(s.progressive_render && js.state !== "open") {
+                                                      d.addClass("jstree-closed").data("jstree_children", js.children);
+                                              }
+                                              else {
+                                                 if(s.progressive_unload) { d.data("jstree_children", js.children); }
+                                                   if($.isArray(js.children) && js.children.length) {
+                                                             tmp = this._parse_json(js.children, obj, true);
+                                                                if(tmp.length) {
+                                                                       ul2 = $("<ul />");
+                                                                     ul2.append(tmp);
+                                                                       d.append(ul2);
+                                                         }
+                                                      }
+                                              }
+                                      }
+                              }
+                              if(!is_callback) {
+                                     ul1 = $("<ul />");
+                                     ul1.append(d);
+                                 d = ul1;
+                               }
+                              return d;
+                      },
+                     get_json : function (obj, li_attr, a_attr, is_callback) {
+                              var result = [],
+                                       s = this._get_settings(),
+                                      _this = this,
+                                  tmp1, tmp2, li, a, t, lang;
+                            obj = this._get_node(obj);
+                             if(!obj || obj === -1) { obj = this.get_container().find("> ul > li"); }
+                               li_attr = $.isArray(li_attr) ? li_attr : [ "id", "class" ];
+                            if(!is_callback && this.data.types) { li_attr.push(s.types.type_attr); }
+                               a_attr = $.isArray(a_attr) ? a_attr : [ ];
+
+                            obj.each(function () {
+                                 li = $(this);
+                                  tmp1 = { data : [] };
+                                  if(li_attr.length) { tmp1.attr = { }; }
+                                        $.each(li_attr, function (i, v) {
+                                              tmp2 = li.attr(v);
+                                             if(tmp2 && tmp2.length && tmp2.replace(/jstree[^ ]*/ig,'').length) {
+                                                   tmp1.attr[v] = (" " + tmp2).replace(/ jstree[^ ]*/ig,'').replace(/\s+$/ig," ").replace(/^ /,"").replace(/ $/,"");
+                                              }
+                                      });
+                                    if(li.hasClass("jstree-open")) { tmp1.state = "open"; }
+                                        if(li.hasClass("jstree-closed")) { tmp1.state = "closed"; }
+                                    if(li.data()) { tmp1.metadata = li.data(); }
+                                   a = li.children("a");
+                                  a.each(function () {
+                                           t = $(this);
+                                           if(
+                                                    a_attr.length ||
+                                                       $.inArray("languages", s.plugins) !== -1 ||
+                                                    t.children("ins").get(0).style.backgroundImage.length ||
+                                                       (t.children("ins").get(0).className && t.children("ins").get(0).className.replace(/jstree[^ ]*|$/ig,'').length)
+                                                ) {
+                                                    lang = false;
+                                                  if($.inArray("languages", s.plugins) !== -1 && $.isArray(s.languages) && s.languages.length) {
+                                                         $.each(s.languages, function (l, lv) {
+                                                                 if(t.hasClass(lv)) {
+                                                                           lang = lv;
+                                                                             return false;
+                                                                  }
+                                                              });
+                                                    }
+                                                      tmp2 = { attr : { }, title : _this.get_text(t, lang) };
+                                                        $.each(a_attr, function (k, z) {
+                                                               tmp2.attr[z] = (" " + (t.attr(z) || "")).replace(/ jstree[^ ]*/ig,'').replace(/\s+$/ig," ").replace(/^ /,"").replace(/ $/,"");
+                                                 });
+                                                    if($.inArray("languages", s.plugins) !== -1 && $.isArray(s.languages) && s.languages.length) {
+                                                         $.each(s.languages, function (k, z) {
+                                                                  if(t.hasClass(z)) { tmp2.language = z; return true; }
+                                                          });
+                                                    }
+                                                      if(t.children("ins").get(0).className.replace(/jstree[^ ]*|$/ig,'').replace(/^\s+$/ig,"").length) {
+                                                            tmp2.icon = t.children("ins").get(0).className.replace(/jstree[^ ]*|$/ig,'').replace(/\s+$/ig," ").replace(/^ /,"").replace(/ $/,"");
+                                                  }
+                                                      if(t.children("ins").get(0).style.backgroundImage.length) {
+                                                            tmp2.icon = t.children("ins").get(0).style.backgroundImage.replace("url(","").replace(")","");
+                                                 }
+                                              }
+                                              else {
+                                                 tmp2 = _this.get_text(t);
+                                              }
+                                              if(a.length > 1) { tmp1.data.push(tmp2); }
+                                             else { tmp1.data = tmp2; }
+                                     });
+                                    li = li.find("> ul > li");
+                                     if(li.length) { tmp1.children = _this.get_json(li, li_attr, a_attr, true); }
+                                   result.push(tmp1);
+                             });
+                            return result;
+                 }
+              }
+      });
+})(jQuery);
+//*/
+
+/*
+ * jsTree languages plugin
+ * Adds support for multiple language versions in one tree
+ * This basically allows for many titles coexisting in one node, but only one of them being visible at any given time
+ * This is useful for maintaining the same structure in many languages (hence the name of the plugin)
+ */
+(function ($) {
+ $.jstree.plugin("languages", {
+         __init : function () { this._load_css();  },
+           defaults : [],
+         _fn : {
+                        set_lang : function (i) {
+                              var langs = this._get_settings().languages,
+                                    st = false,
+                                    selector = ".jstree-" + this.get_index() + ' a';
+                               if(!$.isArray(langs) || langs.length === 0) { return false; }
+                          if($.inArray(i,langs) == -1) {
+                                 if(!!langs[i]) { i = langs[i]; }
+                                       else { return false; }
+                         }
+                              if(i == this.data.languages.current_language) { return true; }
+                         st = $.vakata.css.get_css(selector + "." + this.data.languages.current_language, false, this.data.languages.language_css);
+                             if(st !== false) { st.style.display = "none"; }
+                                st = $.vakata.css.get_css(selector + "." + i, false, this.data.languages.language_css);
+                                if(st !== false) { st.style.display = ""; }
+                            this.data.languages.current_language = i;
+                              this.__callback(i);
+                            return true;
+                   },
+                     get_lang : function () {
+                               return this.data.languages.current_language;
+                   },
+                     _get_string : function (key, lang) {
+                           var langs = this._get_settings().languages,
+                                    s = this._get_settings().core.strings;
+                         if($.isArray(langs) && langs.length) {
+                                 lang = (lang && $.inArray(lang,langs) != -1) ? lang : this.data.languages.current_language;
+                            }
+                              if(s[lang] && s[lang][key]) { return s[lang][key]; }
+                           if(s[key]) { return s[key]; }
+                          return key;
+                    },
+                     get_text : function (obj, lang) {
+                              obj = this._get_node(obj) || this.data.ui.last_selected;
+                               if(!obj.size()) { return false; }
+                              var langs = this._get_settings().languages,
+                                    s = this._get_settings().core.html_titles;
+                             if($.isArray(langs) && langs.length) {
+                                 lang = (lang && $.inArray(lang,langs) != -1) ? lang : this.data.languages.current_language;
+                                    obj = obj.children("a." + lang);
+                               }
+                              else { obj = obj.children("a:eq(0)"); }
+                                if(s) {
+                                        obj = obj.clone();
+                                     obj.children("INS").remove();
+                                  return obj.html();
+                             }
+                              else {
+                                 obj = obj.contents().filter(function() { return this.nodeType == 3; })[0];
+                                     return obj.nodeValue;
+                          }
+                      },
+                     set_text : function (obj, val, lang) {
+                         obj = this._get_node(obj) || this.data.ui.last_selected;
+                               if(!obj.size()) { return false; }
+                              var langs = this._get_settings().languages,
+                                    s = this._get_settings().core.html_titles,
+                                     tmp;
+                           if($.isArray(langs) && langs.length) {
+                                 lang = (lang && $.inArray(lang,langs) != -1) ? lang : this.data.languages.current_language;
+                                    obj = obj.children("a." + lang);
+                               }
+                              else { obj = obj.children("a:eq(0)"); }
+                                if(s) {
+                                        tmp = obj.children("INS").clone();
+                                     obj.html(val).prepend(tmp);
+                                    this.__callback({ "obj" : obj, "name" : val, "lang" : lang });
+                                 return true;
+                           }
+                              else {
+                                 obj = obj.contents().filter(function() { return this.nodeType == 3; })[0];
+                                     this.__callback({ "obj" : obj, "name" : val, "lang" : lang });
+                                 return (obj.nodeValue = val);
+                          }
+                      },
+                     _load_css : function () {
+                              var langs = this._get_settings().languages,
+                                    str = "/* languages css */",
+                                   selector = ".jstree-" + this.get_index() + ' a',
+                                       ln;
+                            if($.isArray(langs) && langs.length) {
+                                 this.data.languages.current_language = langs[0];
+                                       for(ln = 0; ln < langs.length; ln++) {
+                                         str += selector + "." + langs[ln] + " {";
+                                              if(langs[ln] != this.data.languages.current_language) { str += " display:none; "; }
+                                            str += " } ";
+                                  }
+                                      this.data.languages.language_css = $.vakata.css.add_sheet({ 'str' : str, 'title' : "jstree-languages" });
+                              }
+                      },
+                     create_node : function (obj, position, js, callback) {
+                         var t = this.__call_old(true, obj, position, js, function (t) {
+                                        var langs = this._get_settings().languages,
+                                            a = t.children("a"),
+                                           ln;
+                                    if($.isArray(langs) && langs.length) {
+                                         for(ln = 0; ln < langs.length; ln++) {
+                                                 if(!a.is("." + langs[ln])) {
+                                                           t.append(a.eq(0).clone().removeClass(langs.join(" ")).addClass(langs[ln]));
+                                                    }
+                                              }
+                                              a.not("." + langs.join(", .")).remove();
+                                       }
+                                      if(callback) { callback.call(this, t); }
+                               });
+                            return t;
+                      }
+              }
+      });
+})(jQuery);
+//*/
+
+/*
+ * jsTree cookies plugin
+ * Stores the currently opened/selected nodes in a cookie and then restores them
+ * Depends on the jquery.cookie plugin
+ */
+(function ($) {
+  $.jstree.plugin("cookies", {
+           __init : function () {
+                 if(typeof $.cookie === "undefined") { throw "jsTree cookie: jQuery cookie plugin not included."; }
+
+                    var s = this._get_settings().cookies,
+                          tmp;
+                   if(!!s.save_loaded) {
+                          tmp = $.cookie(s.save_loaded);
+                         if(tmp && tmp.length) { this.data.core.to_load = tmp.split(","); }
+                     }
+                      if(!!s.save_opened) {
+                          tmp = $.cookie(s.save_opened);
+                         if(tmp && tmp.length) { this.data.core.to_open = tmp.split(","); }
+                     }
+                      if(!!s.save_selected) {
+                                tmp = $.cookie(s.save_selected);
+                               if(tmp && tmp.length && this.data.ui) { this.data.ui.to_select = tmp.split(","); }
+                     }
+                      this.get_container()
+                           .one( ( this.data.ui ? "reselect" : "reopen" ) + ".jstree", $.proxy(function () {
+                                      this.get_container()
+                                           .bind("open_node.jstree close_node.jstree select_node.jstree deselect_node.jstree", $.proxy(function (e) {
+                                                             if(this._get_settings().cookies.auto_save) { this.save_cookie((e.handleObj.namespace + e.handleObj.type).replace("jstree","")); }
+                                                      }, this));
+                             }, this));
+             },
+             defaults : {
+                   save_loaded         : "jstree_load",
+                  save_opened          : "jstree_open",
+                  save_selected        : "jstree_select",
+                       auto_save               : true,
+                     cookie_options    : {}
+            },
+             _fn : {
+                        save_cookie : function (c) {
+                           if(this.data.core.refreshing) { return; }
+                              var s = this._get_settings().cookies;
+                          if(!c) { // if called manually and not by event
+                                        if(s.save_loaded) {
+                                            this.save_loaded();
+                                            $.cookie(s.save_loaded, this.data.core.to_load.join(","), s.cookie_options);
+                                   }
+                                      if(s.save_opened) {
+                                            this.save_opened();
+                                            $.cookie(s.save_opened, this.data.core.to_open.join(","), s.cookie_options);
+                                   }
+                                      if(s.save_selected && this.data.ui) {
+                                          this.save_selected();
+                                          $.cookie(s.save_selected, this.data.ui.to_select.join(","), s.cookie_options);
+                                 }
+                                      return;
+                                }
+                              switch(c) {
+                                    case "open_node":
+                                      case "close_node":
+                                             if(!!s.save_opened) {
+                                                  this.save_opened();
+                                                    $.cookie(s.save_opened, this.data.core.to_open.join(","), s.cookie_options);
+                                           }
+                                              if(!!s.save_loaded) {
+                                                  this.save_loaded();
+                                                    $.cookie(s.save_loaded, this.data.core.to_load.join(","), s.cookie_options);
+                                           }
+                                              break;
+                                 case "select_node":
+                                    case "deselect_node":
+                                          if(!!s.save_selected && this.data.ui) {
+                                                        this.save_selected();
+                                                  $.cookie(s.save_selected, this.data.ui.to_select.join(","), s.cookie_options);
+                                         }
+                                              break;
+                         }
+                      }
+              }
+      });
+    // include cookies by default
+  // $.jstree.defaults.plugins.push("cookies");
+})(jQuery);
+//*/
+
+/*
+ * jsTree sort plugin
+ * Sorts items alphabetically (or using any other function)
+ */
+(function ($) {
+       $.jstree.plugin("sort", {
+              __init : function () {
+                 this.get_container()
+                           .bind("load_node.jstree", $.proxy(function (e, data) {
+                                         var obj = this._get_node(data.rslt.obj);
+                                               obj = obj === -1 ? this.get_container().children("ul") : obj.children("ul");
+                                           this.sort(obj);
+                                        }, this))
+                              .bind("rename_node.jstree create_node.jstree create.jstree", $.proxy(function (e, data) {
+                                              this.sort(data.rslt.obj.parent());
+                                     }, this))
+                              .bind("move_node.jstree", $.proxy(function (e, data) {
+                                         var m = data.rslt.np == -1 ? this.get_container() : data.rslt.np;
+                                              this.sort(m.children("ul"));
+                                   }, this));
+             },
+             defaults : function (a, b) { return this.get_text(a) > this.get_text(b) ? 1 : -1; },
+           _fn : {
+                        sort : function (obj) {
+                                var s = this._get_settings().sort,
+                                     t = this;
+                              obj.append($.makeArray(obj.children("li")).sort($.proxy(s, t)));
+                               obj.find("> li > ul").each(function() { t.sort($(this)); });
+                           this.clean_node(obj);
+                  }
+              }
+      });
+})(jQuery);
+//*/
+
+/*
+ * jsTree DND plugin
+ * Drag and drop plugin for moving/copying nodes
+ */
+(function ($) {
+     var o = false,
+         r = false,
+             m = false,
+             ml = false,
+            sli = false,
+           sti = false,
+           dir1 = false,
+          dir2 = false,
+          last_pos = false;
+      $.vakata.dnd = {
+               is_down : false,
+               is_drag : false,
+               helper : false,
+                scroll_spd : 10,
+               init_x : 0,
+            init_y : 0,
+            threshold : 5,
+         helper_left : 5,
+               helper_top : 10,
+               user_data : {},
+
+               drag_start : function (e, data, html) {
+                        if($.vakata.dnd.is_drag) { $.vakata.drag_stop({}); }
+                   try {
+                          e.currentTarget.unselectable = "on";
+                           e.currentTarget.onselectstart = function() { return false; };
+                          if(e.currentTarget.style) { e.currentTarget.style.MozUserSelect = "none"; }
+                    } catch(err) { }
+                       $.vakata.dnd.init_x = e.pageX;
+                 $.vakata.dnd.init_y = e.pageY;
+                 $.vakata.dnd.user_data = data;
+                 $.vakata.dnd.is_down = true;
+                   $.vakata.dnd.helper = $("<div id='vakata-dragged' />").html(html); //.fadeTo(10,0.25);
+                 $(document).bind("mousemove", $.vakata.dnd.drag);
+                      $(document).bind("mouseup", $.vakata.dnd.drag_stop);
+                   return false;
+          },
+             drag : function (e) {
+                  if(!$.vakata.dnd.is_down) { return; }
+                  if(!$.vakata.dnd.is_drag) {
+                            if(Math.abs(e.pageX - $.vakata.dnd.init_x) > 5 || Math.abs(e.pageY - $.vakata.dnd.init_y) > 5) {
+                                       $.vakata.dnd.helper.appendTo("body");
+                                  $.vakata.dnd.is_drag = true;
+                                   $(document).triggerHandler("drag_start.vakata", { "event" : e, "data" : $.vakata.dnd.user_data });
+                             }
+                              else { return; }
+                       }
+
+                     // maybe use a scrolling parent element instead of document?
+                   if(e.type === "mousemove") { // thought of adding scroll in order to move the helper, but mouse poisition is n/a
+                               var d = $(document), t = d.scrollTop(), l = d.scrollLeft();
+                            if(e.pageY - t < 20) {
+                                 if(sti && dir1 === "down") { clearInterval(sti); sti = false; }
+                                        if(!sti) { dir1 = "up"; sti = setInterval(function () { $(document).scrollTop($(document).scrollTop() - $.vakata.dnd.scroll_spd); }, 150); }
+                           }
+                              else {
+                                 if(sti && dir1 === "up") { clearInterval(sti); sti = false; }
+                          }
+                              if($(window).height() - (e.pageY - t) < 20) {
+                                  if(sti && dir1 === "up") { clearInterval(sti); sti = false; }
+                                  if(!sti) { dir1 = "down"; sti = setInterval(function () { $(document).scrollTop($(document).scrollTop() + $.vakata.dnd.scroll_spd); }, 150); }
+                         }
+                              else {
+                                 if(sti && dir1 === "down") { clearInterval(sti); sti = false; }
+                                }
+
+                             if(e.pageX - l < 20) {
+                                 if(sli && dir2 === "right") { clearInterval(sli); sli = false; }
+                                       if(!sli) { dir2 = "left"; sli = setInterval(function () { $(document).scrollLeft($(document).scrollLeft() - $.vakata.dnd.scroll_spd); }, 150); }
+                               }
+                              else {
+                                 if(sli && dir2 === "left") { clearInterval(sli); sli = false; }
+                                }
+                              if($(window).width() - (e.pageX - l) < 20) {
+                                   if(sli && dir2 === "left") { clearInterval(sli); sli = false; }
+                                        if(!sli) { dir2 = "right"; sli = setInterval(function () { $(document).scrollLeft($(document).scrollLeft() + $.vakata.dnd.scroll_spd); }, 150); }
+                              }
+                              else {
+                                 if(sli && dir2 === "right") { clearInterval(sli); sli = false; }
+                               }
+                      }
+
+                     $.vakata.dnd.helper.css({ left : (e.pageX + $.vakata.dnd.helper_left) + "px", top : (e.pageY + $.vakata.dnd.helper_top) + "px" });
+                     $(document).triggerHandler("drag.vakata", { "event" : e, "data" : $.vakata.dnd.user_data });
+           },
+             drag_stop : function (e) {
+                     if(sli) { clearInterval(sli); }
+                        if(sti) { clearInterval(sti); }
+                        $(document).unbind("mousemove", $.vakata.dnd.drag);
+                    $(document).unbind("mouseup", $.vakata.dnd.drag_stop);
+                 $(document).triggerHandler("drag_stop.vakata", { "event" : e, "data" : $.vakata.dnd.user_data });
+                      $.vakata.dnd.helper.remove();
+                  $.vakata.dnd.init_x = 0;
+                       $.vakata.dnd.init_y = 0;
+                       $.vakata.dnd.user_data = {};
+                   $.vakata.dnd.is_down = false;
+                  $.vakata.dnd.is_drag = false;
+          }
+      };
+     $(function() {
+         var css_string = '#vakata-dragged { display:block; margin:0 0 0 0; padding:4px 4px 4px 24px; position:absolute; top:-2000px; line-height:16px; z-index:10000; } ';
+             $.vakata.css.add_sheet({ str : css_string, title : "vakata" });
+        });
+
+   $.jstree.plugin("dnd", {
+               __init : function () {
+                 this.data.dnd = {
+                              active : false,
+                                after : false,
+                         inside : false,
+                                before : false,
+                                off : false,
+                           prepared : false,
+                              w : 0,
+                         to1 : false,
+                           to2 : false,
+                           cof : false,
+                           cw : false,
+                            ch : false,
+                            i1 : false,
+                            i2 : false,
+                            mto : false
+                    };
+                     this.get_container()
+                           .bind("mouseenter.jstree", $.proxy(function (e) {
+                                              if($.vakata.dnd.is_drag && $.vakata.dnd.user_data.jstree) {
+                                                    if(this.data.themes) {
+                                                         m.attr("class", "jstree-" + this.data.themes.theme);
+                                                           if(ml) { ml.attr("class", "jstree-" + this.data.themes.theme); }
+                                                               $.vakata.dnd.helper.attr("class", "jstree-dnd-helper jstree-" + this.data.themes.theme);
+                                                       }
+                                                      //if($(e.currentTarget).find("> ul > li").length === 0) {
+                                                      if(e.currentTarget === e.target && $.vakata.dnd.user_data.obj && $($.vakata.dnd.user_data.obj).length && $($.vakata.dnd.user_data.obj).parents(".jstree:eq(0)")[0] !== e.target) { // node should not be from the same tree
+                                                            var tr = $.jstree._reference(e.target), dc;
+                                                            if(tr.data.dnd.foreign) {
+                                                                      dc = tr._get_settings().dnd.drag_check.call(this, { "o" : o, "r" : tr.get_container(), is_root : true });
+                                                                      if(dc === true || dc.inside === true || dc.before === true || dc.after === true) {
+                                                                             $.vakata.dnd.helper.children("ins").attr("class","jstree-ok");
+                                                                 }
+                                                              }
+                                                              else {
+                                                                 tr.prepare_move(o, tr.get_container(), "last");
+                                                                        if(tr.check_move()) {
+                                                                          $.vakata.dnd.helper.children("ins").attr("class","jstree-ok");
+                                                                 }
+                                                              }
+                                                      }
+                                              }
+                                      }, this))
+                              .bind("mouseup.jstree", $.proxy(function (e) {
+                                         //if($.vakata.dnd.is_drag && $.vakata.dnd.user_data.jstree && $(e.currentTarget).find("> ul > li").length === 0) {
+                                             if($.vakata.dnd.is_drag && $.vakata.dnd.user_data.jstree && e.currentTarget === e.target && $.vakata.dnd.user_data.obj && $($.vakata.dnd.user_data.obj).length && $($.vakata.dnd.user_data.obj).parents(".jstree:eq(0)")[0] !== e.target) { // node should not be from the same tree
+                                                   var tr = $.jstree._reference(e.currentTarget), dc;
+                                                     if(tr.data.dnd.foreign) {
+                                                              dc = tr._get_settings().dnd.drag_check.call(this, { "o" : o, "r" : tr.get_container(), is_root : true });
+                                                              if(dc === true || dc.inside === true || dc.before === true || dc.after === true) {
+                                                                     tr._get_settings().dnd.drag_finish.call(this, { "o" : o, "r" : tr.get_container(), is_root : true });
+                                                          }
+                                                      }
+                                                      else {
+                                                         tr.move_node(o, tr.get_container(), "last", e[tr._get_settings().dnd.copy_modifier + "Key"]);
+                                                  }
+                                              }
+                                      }, this))
+                              .bind("mouseleave.jstree", $.proxy(function (e) {
+                                              if(e.relatedTarget && e.relatedTarget.id && e.relatedTarget.id === "jstree-marker-line") {
+                                                     return false;
+                                          }
+                                              if($.vakata.dnd.is_drag && $.vakata.dnd.user_data.jstree) {
+                                                    if(this.data.dnd.i1) { clearInterval(this.data.dnd.i1); }
+                                                      if(this.data.dnd.i2) { clearInterval(this.data.dnd.i2); }
+                                                      if(this.data.dnd.to1) { clearTimeout(this.data.dnd.to1); }
+                                                     if(this.data.dnd.to2) { clearTimeout(this.data.dnd.to2); }
+                                                     if($.vakata.dnd.helper.children("ins").hasClass("jstree-ok")) {
+                                                                $.vakata.dnd.helper.children("ins").attr("class","jstree-invalid");
+                                                    }
+                                              }
+                                      }, this))
+                              .bind("mousemove.jstree", $.proxy(function (e) {
+                                               if($.vakata.dnd.is_drag && $.vakata.dnd.user_data.jstree) {
+                                                    var cnt = this.get_container()[0];
+
+                                                    // Horizontal scroll
+                                                   if(e.pageX + 24 > this.data.dnd.cof.left + this.data.dnd.cw) {
+                                                         if(this.data.dnd.i1) { clearInterval(this.data.dnd.i1); }
+                                                              this.data.dnd.i1 = setInterval($.proxy(function () { this.scrollLeft += $.vakata.dnd.scroll_spd; }, cnt), 100);
+                                                        }
+                                                      else if(e.pageX - 24 < this.data.dnd.cof.left) {
+                                                               if(this.data.dnd.i1) { clearInterval(this.data.dnd.i1); }
+                                                              this.data.dnd.i1 = setInterval($.proxy(function () { this.scrollLeft -= $.vakata.dnd.scroll_spd; }, cnt), 100);
+                                                        }
+                                                      else {
+                                                         if(this.data.dnd.i1) { clearInterval(this.data.dnd.i1); }
+                                                      }
+
+                                                     // Vertical scroll
+                                                     if(e.pageY + 24 > this.data.dnd.cof.top + this.data.dnd.ch) {
+                                                          if(this.data.dnd.i2) { clearInterval(this.data.dnd.i2); }
+                                                              this.data.dnd.i2 = setInterval($.proxy(function () { this.scrollTop += $.vakata.dnd.scroll_spd; }, cnt), 100);
+                                                 }
+                                                      else if(e.pageY - 24 < this.data.dnd.cof.top) {
+                                                                if(this.data.dnd.i2) { clearInterval(this.data.dnd.i2); }
+                                                              this.data.dnd.i2 = setInterval($.proxy(function () { this.scrollTop -= $.vakata.dnd.scroll_spd; }, cnt), 100);
+                                                 }
+                                                      else {
+                                                         if(this.data.dnd.i2) { clearInterval(this.data.dnd.i2); }
+                                                      }
+
+                                             }
+                                      }, this))
+                              .bind("scroll.jstree", $.proxy(function (e) {
+                                          if($.vakata.dnd.is_drag && $.vakata.dnd.user_data.jstree && m && ml) {
+                                                 m.hide();
+                                                      ml.hide();
+                                             }
+                                      }, this))
+                              .delegate("a", "mousedown.jstree", $.proxy(function (e) {
+                                              if(e.which === 1) {
+                                                    this.start_drag(e.currentTarget, e);
+                                                   return false;
+                                          }
+                                      }, this))
+                              .delegate("a", "mouseenter.jstree", $.proxy(function (e) {
+                                             if($.vakata.dnd.is_drag && $.vakata.dnd.user_data.jstree) {
+                                                    this.dnd_enter(e.currentTarget);
+                                               }
+                                      }, this))
+                              .delegate("a", "mousemove.jstree", $.proxy(function (e) {
+                                              if($.vakata.dnd.is_drag && $.vakata.dnd.user_data.jstree) {
+                                                    if(!r || !r.length || r.children("a")[0] !== e.currentTarget) {
+                                                                this.dnd_enter(e.currentTarget);
+                                                       }
+                                                      if(typeof this.data.dnd.off.top === "undefined") { this.data.dnd.off = $(e.target).offset(); }
+                                                 this.data.dnd.w = (e.pageY - (this.data.dnd.off.top || 0)) % this.data.core.li_height;
+                                                 if(this.data.dnd.w < 0) { this.data.dnd.w += this.data.core.li_height; }
+                                                       this.dnd_show();
+                                               }
+                                      }, this))
+                              .delegate("a", "mouseleave.jstree", $.proxy(function (e) {
+                                             if($.vakata.dnd.is_drag && $.vakata.dnd.user_data.jstree) {
+                                                    if(e.relatedTarget && e.relatedTarget.id && e.relatedTarget.id === "jstree-marker-line") {
+                                                             return false;
+                                                  }
+                                                              if(m) { m.hide(); }
+                                                            if(ml) { ml.hide(); }
+                                                  /*
+                                                     var ec = $(e.currentTarget).closest("li"),
+                                                             er = $(e.relatedTarget).closest("li");
+                                                 if(er[0] !== ec.prev()[0] && er[0] !== ec.next()[0]) {
+                                                         if(m) { m.hide(); }
+                                                            if(ml) { ml.hide(); }
+                                                  }
+                                                      */
+                                                     this.data.dnd.mto = setTimeout(
+                                                                (function (t) { return function () { t.dnd_leave(e); }; })(this),
+                                                      0);
+                                            }
+                                      }, this))
+                              .delegate("a", "mouseup.jstree", $.proxy(function (e) {
+                                                if($.vakata.dnd.is_drag && $.vakata.dnd.user_data.jstree) {
+                                                    this.dnd_finish(e);
+                                            }
+                                      }, this));
+
+                    $(document)
+                            .bind("drag_stop.vakata", $.proxy(function () {
+                                                if(this.data.dnd.to1) { clearTimeout(this.data.dnd.to1); }
+                                             if(this.data.dnd.to2) { clearTimeout(this.data.dnd.to2); }
+                                             if(this.data.dnd.i1) { clearInterval(this.data.dnd.i1); }
+                                              if(this.data.dnd.i2) { clearInterval(this.data.dnd.i2); }
+                                              this.data.dnd.after              = false;
+                                          this.data.dnd.before = false;
+                                          this.data.dnd.inside = false;
+                                          this.data.dnd.off            = false;
+                                            this.data.dnd.prepared     = false;
+                                                this.data.dnd.w                        = false;
+                                             this.data.dnd.to1         = false;
+                                            this.data.dnd.to2          = false;
+                                            this.data.dnd.i1           = false;
+                                             this.data.dnd.i2          = false;
+                                             this.data.dnd.active      = false;
+                                          this.data.dnd.foreign        = false;
+                                         if(m) { m.css({ "top" : "-2000px" }); }
+                                                if(ml) { ml.css({ "top" : "-2000px" }); }
+                                      }, this))
+                              .bind("drag_start.vakata", $.proxy(function (e, data) {
+                                                if(data.data.jstree) {
+                                                 var et = $(data.event.target);
+                                                 if(et.closest(".jstree").hasClass("jstree-" + this.get_index())) {
+                                                             this.dnd_enter(et);
+                                                    }
+                                              }
+                                      }, this));
+                             /*
+                             .bind("keydown.jstree-" + this.get_index() + " keyup.jstree-" + this.get_index(), $.proxy(function(e) {
+                                                if($.vakata.dnd.is_drag && $.vakata.dnd.user_data.jstree && !this.data.dnd.foreign) {
+                                                  var h = $.vakata.dnd.helper.children("ins");
+                                                   if(e[this._get_settings().dnd.copy_modifier + "Key"] && h.hasClass("jstree-ok")) {
+                                                             h.parent().html(h.parent().html().replace(/ \(Copy\)$/, "") + " (Copy)");
+                                                      }
+                                                      else {
+                                                         h.parent().html(h.parent().html().replace(/ \(Copy\)$/, ""));
+                                                  }
+                                              }
+                                      }, this)); */
+
+
+
+                       var s = this._get_settings().dnd;
+                      if(s.drag_target) {
+                            $(document)
+                                    .delegate(s.drag_target, "mousedown.jstree-" + this.get_index(), $.proxy(function (e) {
+                                                o = e.target;
+                                          $.vakata.dnd.drag_start(e, { jstree : true, obj : e.target }, "<ins class='jstree-icon'></ins>" + $(e.target).text() );
+                                                if(this.data.themes) {
+                                                 if(m) { m.attr("class", "jstree-" + this.data.themes.theme); }
+                                                 if(ml) { ml.attr("class", "jstree-" + this.data.themes.theme); }
+                                                       $.vakata.dnd.helper.attr("class", "jstree-dnd-helper jstree-" + this.data.themes.theme);
+                                               }
+                                              $.vakata.dnd.helper.children("ins").attr("class","jstree-invalid");
+                                            var cnt = this.get_container();
+                                                this.data.dnd.cof = cnt.offset();
+                                              this.data.dnd.cw = parseInt(cnt.width(),10);
+                                           this.data.dnd.ch = parseInt(cnt.height(),10);
+                                          this.data.dnd.foreign = true;
+                                          e.preventDefault();
+                                    }, this));
+                     }
+                      if(s.drop_target) {
+                            $(document)
+                                    .delegate(s.drop_target, "mouseenter.jstree-" + this.get_index(), $.proxy(function (e) {
+                                                       if(this.data.dnd.active && this._get_settings().dnd.drop_check.call(this, { "o" : o, "r" : $(e.target), "e" : e })) {
+                                                          $.vakata.dnd.helper.children("ins").attr("class","jstree-ok");
+                                                 }
+                                              }, this))
+                                      .delegate(s.drop_target, "mouseleave.jstree-" + this.get_index(), $.proxy(function (e) {
+                                                       if(this.data.dnd.active) {
+                                                             $.vakata.dnd.helper.children("ins").attr("class","jstree-invalid");
+                                                    }
+                                              }, this))
+                                      .delegate(s.drop_target, "mouseup.jstree-" + this.get_index(), $.proxy(function (e) {
+                                                  if(this.data.dnd.active && $.vakata.dnd.helper.children("ins").hasClass("jstree-ok")) {
+                                                                this._get_settings().dnd.drop_finish.call(this, { "o" : o, "r" : $(e.target), "e" : e });
+                                                      }
+                                              }, this));
+                     }
+              },
+             defaults : {
+                   copy_modifier       : "ctrl",
+                        check_timeout  : 100,
+                   open_timeout        : 500,
+                    drop_target                : ".jstree-drop",
+                 drop_check            : function (data) { return true; },
+                        drop_finish            : $.noop,
+                 drag_target           : ".jstree-draggable",
+                    drag_finish                : $.noop,
+                 drag_check            : function (data) { return { after : false, before : false, inside : true }; }
+             },
+             _fn : {
+                        dnd_prepare : function () {
+                            if(!r || !r.length) { return; }
+                                this.data.dnd.off = r.offset();
+                                if(this._get_settings().core.rtl) {
+                                    this.data.dnd.off.right = this.data.dnd.off.left + r.width();
+                          }
+                              if(this.data.dnd.foreign) {
+                                    var a = this._get_settings().dnd.drag_check.call(this, { "o" : o, "r" : r });
+                                  this.data.dnd.after = a.after;
+                                 this.data.dnd.before = a.before;
+                                       this.data.dnd.inside = a.inside;
+                                       this.data.dnd.prepared = true;
+                                 return this.dnd_show();
+                                }
+                              this.prepare_move(o, r, "before");
+                             this.data.dnd.before = this.check_move();
+                              this.prepare_move(o, r, "after");
+                              this.data.dnd.after = this.check_move();
+                               if(this._is_loaded(r)) {
+                                       this.prepare_move(o, r, "inside");
+                                     this.data.dnd.inside = this.check_move();
+                              }
+                              else {
+                                 this.data.dnd.inside = false;
+                          }
+                              this.data.dnd.prepared = true;
+                         return this.dnd_show();
+                        },
+                     dnd_show : function () {
+                               if(!this.data.dnd.prepared) { return; }
+                                var o = ["before","inside","after"],
+                                   r = false,
+                                     rtl = this._get_settings().core.rtl,
+                                   pos;
+                           if(this.data.dnd.w < this.data.core.li_height/3) { o = ["before","inside","after"]; }
+                          else if(this.data.dnd.w <= this.data.core.li_height*2/3) {
+                                     o = this.data.dnd.w < this.data.core.li_height/2 ? ["inside","before","after"] : ["inside","after","before"];
+                          }
+                              else { o = ["after","inside","before"]; }
+                              $.each(o, $.proxy(function (i, val) {
+                                  if(this.data.dnd[val]) {
+                                               $.vakata.dnd.helper.children("ins").attr("class","jstree-ok");
+                                         r = val;
+                                               return false;
+                                  }
+                              }, this));
+                             if(r === false) { $.vakata.dnd.helper.children("ins").attr("class","jstree-invalid"); }
+
+                               pos = rtl ? (this.data.dnd.off.right - 18) : (this.data.dnd.off.left + 10);
+                            switch(r) {
+                                    case "before":
+                                         m.css({ "left" : pos + "px", "top" : (this.data.dnd.off.top - 6) + "px" }).show();
+                                             if(ml) { ml.css({ "left" : (pos + 8) + "px", "top" : (this.data.dnd.off.top - 1) + "px" }).show(); }
+                                           break;
+                                 case "after":
+                                          m.css({ "left" : pos + "px", "top" : (this.data.dnd.off.top + this.data.core.li_height - 6) + "px" }).show();
+                                          if(ml) { ml.css({ "left" : (pos + 8) + "px", "top" : (this.data.dnd.off.top + this.data.core.li_height - 1) + "px" }).show(); }
+                                                break;
+                                 case "inside":
+                                         m.css({ "left" : pos + ( rtl ? -4 : 4) + "px", "top" : (this.data.dnd.off.top + this.data.core.li_height/2 - 5) + "px" }).show();
+                                              if(ml) { ml.hide(); }
+                                          break;
+                                 default:
+                                               m.hide();
+                                              if(ml) { ml.hide(); }
+                                          break;
+                         }
+                              last_pos = r;
+                          return r;
+                      },
+                     dnd_open : function () {
+                               this.data.dnd.to2 = false;
+                             this.open_node(r, $.proxy(this.dnd_prepare,this), true);
+                       },
+                     dnd_finish : function (e) {
+                            if(this.data.dnd.foreign) {
+                                    if(this.data.dnd.after || this.data.dnd.before || this.data.dnd.inside) {
+                                              this._get_settings().dnd.drag_finish.call(this, { "o" : o, "r" : r, "p" : last_pos });
+                                 }
+                              }
+                              else {
+                                 this.dnd_prepare();
+                                    this.move_node(o, r, last_pos, e[this._get_settings().dnd.copy_modifier + "Key"]);
+                             }
+                              o = false;
+                             r = false;
+                             m.hide();
+                              if(ml) { ml.hide(); }
+                  },
+                     dnd_enter : function (obj) {
+                           if(this.data.dnd.mto) {
+                                        clearTimeout(this.data.dnd.mto);
+                                       this.data.dnd.mto = false;
+                             }
+                              var s = this._get_settings().dnd;
+                              this.data.dnd.prepared = false;
+                                r = this._get_node(obj);
+                               if(s.check_timeout) {
+                                  // do the calculations after a minimal timeout (users tend to drag quickly to the desired location)
+                                    if(this.data.dnd.to1) { clearTimeout(this.data.dnd.to1); }
+                                     this.data.dnd.to1 = setTimeout($.proxy(this.dnd_prepare, this), s.check_timeout);
+                              }
+                              else {
+                                 this.dnd_prepare();
+                            }
+                              if(s.open_timeout) {
+                                   if(this.data.dnd.to2) { clearTimeout(this.data.dnd.to2); }
+                                     if(r && r.length && r.hasClass("jstree-closed")) {
+                                             // if the node is closed - open it, then recalculate
+                                           this.data.dnd.to2 = setTimeout($.proxy(this.dnd_open, this), s.open_timeout);
+                                  }
+                              }
+                              else {
+                                 if(r && r.length && r.hasClass("jstree-closed")) {
+                                             this.dnd_open();
+                                       }
+                              }
+                      },
+                     dnd_leave : function (e) {
+                             this.data.dnd.after               = false;
+                          this.data.dnd.before = false;
+                          this.data.dnd.inside = false;
+                          $.vakata.dnd.helper.children("ins").attr("class","jstree-invalid");
+                            m.hide();
+                              if(ml) { ml.hide(); }
+                          if(r && r[0] === e.target.parentNode) {
+                                        if(this.data.dnd.to1) {
+                                                clearTimeout(this.data.dnd.to1);
+                                               this.data.dnd.to1 = false;
+                                     }
+                                      if(this.data.dnd.to2) {
+                                                clearTimeout(this.data.dnd.to2);
+                                               this.data.dnd.to2 = false;
+                                     }
+                              }
+                      },
+                     start_drag : function (obj, e) {
+                               o = this._get_node(obj);
+                               if(this.data.ui && this.is_selected(o)) { o = this._get_node(null, true); }
+                            var dt = o.length > 1 ? this._get_string("multiple_selection") : this.get_text(o),
+                                     cnt = this.get_container();
+                            if(!this._get_settings().core.html_titles) { dt = dt.replace(/</ig,"&lt;").replace(/>/ig,"&gt;"); }
+                            $.vakata.dnd.drag_start(e, { jstree : true, obj : o }, "<ins class='jstree-icon'></ins>" + dt );
+                               if(this.data.themes) {
+                                 if(m) { m.attr("class", "jstree-" + this.data.themes.theme); }
+                                 if(ml) { ml.attr("class", "jstree-" + this.data.themes.theme); }
+                                       $.vakata.dnd.helper.attr("class", "jstree-dnd-helper jstree-" + this.data.themes.theme);
+                               }
+                              this.data.dnd.cof = cnt.offset();
+                              this.data.dnd.cw = parseInt(cnt.width(),10);
+                           this.data.dnd.ch = parseInt(cnt.height(),10);
+                          this.data.dnd.active = true;
+                   }
+              }
+      });
+    $(function() {
+         var css_string = '' +
+                  '#vakata-dragged ins { display:block; text-decoration:none; width:16px; height:16px; margin:0 0 0 0; padding:0; position:absolute; top:4px; left:4px; ' +
+                      ' -moz-border-radius:4px; border-radius:4px; -webkit-border-radius:4px; ' +
+                    '} ' +
+                 '#vakata-dragged .jstree-ok { background:green; } ' +
+                  '#vakata-dragged .jstree-invalid { background:red; } ' +
+                       '#jstree-marker { padding:0; margin:0; font-size:12px; overflow:hidden; height:12px; width:8px; position:absolute; top:-30px; z-index:10001; background-repeat:no-repeat; display:none; background-color:transparent; text-shadow:1px 1px 1px white; color:black; line-height:10px; } ' +
+                      '#jstree-marker-line { padding:0; margin:0; line-height:0%; font-size:1px; overflow:hidden; height:1px; width:100px; position:absolute; top:-30px; z-index:10000; background-repeat:no-repeat; display:none; background-color:#456c43; ' +
+                     ' cursor:pointer; border:1px solid #eeeeee; border-left:0; -moz-box-shadow: 0px 0px 2px #666; -webkit-box-shadow: 0px 0px 2px #666; box-shadow: 0px 0px 2px #666; ' +
+                  ' -moz-border-radius:1px; border-radius:1px; -webkit-border-radius:1px; ' +
+                    '}' +
+                  '';
+            $.vakata.css.add_sheet({ str : css_string, title : "jstree" });
+                m = $("<div />").attr({ id : "jstree-marker" }).hide().html("&raquo;")
+                 .bind("mouseleave mouseenter", function (e) {
+                          m.hide();
+                              ml.hide();
+                             e.preventDefault();
+                            e.stopImmediatePropagation();
+                          return false;
+                  })
+                     .appendTo("body");
+             ml = $("<div />").attr({ id : "jstree-marker-line" }).hide()
+                   .bind("mouseup", function (e) {
+                                if(r && r.length) {
+                                    r.children("a").trigger(e);
+                                    e.preventDefault();
+                                    e.stopImmediatePropagation();
+                                  return false;
+                          }
+                      })
+                     .bind("mouseleave", function (e) {
+                             var rt = $(e.relatedTarget);
+                           if(rt.is(".jstree") || rt.closest(".jstree").length === 0) {
+                                   if(r && r.length) {
+                                            r.children("a").trigger(e);
+                                            m.hide();
+                                              ml.hide();
+                                             e.preventDefault();
+                                            e.stopImmediatePropagation();
+                                          return false;
+                                  }
+                              }
+                      })
+                     .appendTo("body");
+             $(document).bind("drag_start.vakata", function (e, data) {
+                     if(data.data.jstree) { m.show(); if(ml) { ml.show(); } }
+               });
+            $(document).bind("drag_stop.vakata", function (e, data) {
+                      if(data.data.jstree) { m.hide(); if(ml) { ml.hide(); } }
+               });
+    });
+})(jQuery);
+//*/
+
+/*
+ * jsTree checkbox plugin
+ * Inserts checkboxes in front of every node
+ * Depends on the ui plugin
+ * DOES NOT WORK NICELY WITH MULTITREE DRAG'N'DROP
+ */
+(function ($) {
+     $.jstree.plugin("checkbox", {
+          __init : function () {
+                 this.data.checkbox.noui = this._get_settings().checkbox.override_ui;
+                   if(this.data.ui && this.data.checkbox.noui) {
+                          this.select_node = this.deselect_node = this.deselect_all = $.noop;
+                            this.get_selected = this.get_checked;
+                  }
+
+                     this.get_container()
+                           .bind("open_node.jstree create_node.jstree clean_node.jstree refresh.jstree", $.proxy(function (e, data) {
+                                             this._prepare_checkboxes(data.rslt.obj);
+                                       }, this))
+                              .bind("loaded.jstree", $.proxy(function (e) {
+                                          this._prepare_checkboxes();
+                                    }, this))
+                              .delegate( (this.data.ui && this.data.checkbox.noui ? "a" : "ins.jstree-checkbox") , "click.jstree", $.proxy(function (e) {
+                                            e.preventDefault();
+                                            if(this._get_node(e.target).hasClass("jstree-checked")) { this.uncheck_node(e.target); }
+                                               else { this.check_node(e.target); }
+                                            if(this.data.ui && this.data.checkbox.noui) {
+                                                  this.save_selected();
+                                                  if(this.data.cookies) { this.save_cookie("select_node"); }
+                                             }
+                                              else {
+                                                 e.stopImmediatePropagation();
+                                                  return false;
+                                          }
+                                      }, this));
+             },
+             defaults : {
+                   override_ui : false,
+                   two_state : false,
+                     real_checkboxes : false,
+                       checked_parent_open : true,
+                    real_checkboxes_names : function (n) { return [ ("check_" + (n[0].id || Math.ceil(Math.random() * 10000))) , 1]; }
+             },
+             __destroy : function () {
+                      this.get_container()
+                           .find("input.jstree-real-checkbox").removeClass("jstree-real-checkbox").end()
+                          .find("ins.jstree-checkbox").remove();
+         },
+             _fn : {
+                        _checkbox_notify : function (n, data) {
+                                if(data.checked) {
+                                     this.check_node(n, false);
+                             }
+                      },
+                     _prepare_checkboxes : function (obj) {
+                         obj = !obj || obj == -1 ? this.get_container().find("> ul > li") : this._get_node(obj);
+                                if(obj === false) { return; } // added for removing root nodes
+                         var c, _this = this, t, ts = this._get_settings().checkbox.two_state, rc = this._get_settings().checkbox.real_checkboxes, rcn = this._get_settings().checkbox.real_checkboxes_names;
+                           obj.each(function () {
+                                 t = $(this);
+                                   c = t.is("li") && (t.hasClass("jstree-checked") || (rc && t.children(":checked").length)) ? "jstree-checked" : "jstree-unchecked";
+                                     t.find("li").andSelf().each(function () {
+                                              var $t = $(this), nm;
+                                          $t.children("a" + (_this.data.languages ? "" : ":eq(0)") ).not(":has(.jstree-checkbox)").prepend("<ins class='jstree-checkbox'>&#160;</ins>").parent().not(".jstree-checked, .jstree-unchecked").addClass( ts ? "jstree-unchecked" : c );
+                                              if(rc) {
+                                                       if(!$t.children(":checkbox").length) {
+                                                         nm = rcn.call(_this, $t);
+                                                              $t.prepend("<input type='checkbox' class='jstree-real-checkbox' id='" + nm[0] + "' name='" + nm[0] + "' value='" + nm[1] + "' />");
+                                                    }
+                                                      else {
+                                                         $t.children(":checkbox").addClass("jstree-real-checkbox");
+                                                     }
+                                              }
+                                              if(!ts) {
+                                                      if(c === "jstree-checked" || $t.hasClass("jstree-checked") || $t.children(':checked').length) {
+                                                                $t.find("li").andSelf().addClass("jstree-checked").children(":checkbox").prop("checked", true);
+                                                        }
+                                              }
+                                              else {
+                                                 if($t.hasClass("jstree-checked") || $t.children(':checked').length) {
+                                                          $t.addClass("jstree-checked").children(":checkbox").prop("checked", true);
+                                                     }
+                                              }
+                                      });
+                            });
+                            if(!ts) {
+                                      obj.find(".jstree-checked").parent().parent().each(function () { _this._repair_state(this); });
+                                }
+                      },
+                     change_state : function (obj, state) {
+                         obj = this._get_node(obj);
+                             var coll = false, rc = this._get_settings().checkbox.real_checkboxes;
+                          if(!obj || obj === -1) { return false; }
+                               state = (state === false || state === true) ? state : obj.hasClass("jstree-checked");
+                          if(this._get_settings().checkbox.two_state) {
+                                  if(state) {
+                                            obj.removeClass("jstree-checked").addClass("jstree-unchecked");
+                                                if(rc) { obj.children(":checkbox").prop("checked", false); }
+                                   }
+                                      else {
+                                         obj.removeClass("jstree-unchecked").addClass("jstree-checked");
+                                                if(rc) { obj.children(":checkbox").prop("checked", true); }
+                                    }
+                              }
+                              else {
+                                 if(state) {
+                                            coll = obj.find("li").andSelf();
+                                               if(!coll.filter(".jstree-checked, .jstree-undetermined").length) { return false; }
+                                             coll.removeClass("jstree-checked jstree-undetermined").addClass("jstree-unchecked");
+                                           if(rc) { coll.children(":checkbox").prop("checked", false); }
+                                  }
+                                      else {
+                                         coll = obj.find("li").andSelf();
+                                               if(!coll.filter(".jstree-unchecked, .jstree-undetermined").length) { return false; }
+                                           coll.removeClass("jstree-unchecked jstree-undetermined").addClass("jstree-checked");
+                                           if(rc) { coll.children(":checkbox").prop("checked", true); }
+                                           if(this.data.ui) { this.data.ui.last_selected = obj; }
+                                         this.data.checkbox.last_selected = obj;
+                                        }
+                                      obj.parentsUntil(".jstree", "li").each(function () {
+                                           var $this = $(this);
+                                           if(state) {
+                                                    if($this.children("ul").children("li.jstree-checked, li.jstree-undetermined").length) {
+                                                                $this.parentsUntil(".jstree", "li").andSelf().removeClass("jstree-checked jstree-unchecked").addClass("jstree-undetermined");
+                                                          if(rc) { $this.parentsUntil(".jstree", "li").andSelf().children(":checkbox").prop("checked", false); }
+                                                         return false;
+                                                  }
+                                                      else {
+                                                         $this.removeClass("jstree-checked jstree-undetermined").addClass("jstree-unchecked");
+                                                          if(rc) { $this.children(":checkbox").prop("checked", false); }
+                                                 }
+                                              }
+                                              else {
+                                                 if($this.children("ul").children("li.jstree-unchecked, li.jstree-undetermined").length) {
+                                                              $this.parentsUntil(".jstree", "li").andSelf().removeClass("jstree-checked jstree-unchecked").addClass("jstree-undetermined");
+                                                          if(rc) { $this.parentsUntil(".jstree", "li").andSelf().children(":checkbox").prop("checked", false); }
+                                                         return false;
+                                                  }
+                                                      else {
+                                                         $this.removeClass("jstree-unchecked jstree-undetermined").addClass("jstree-checked");
+                                                          if(rc) { $this.children(":checkbox").prop("checked", true); }
+                                                  }
+                                              }
+                                      });
+                            }
+                              if(this.data.ui && this.data.checkbox.noui) { this.data.ui.selected = this.get_checked(); }
+                            this.__callback(obj);
+                          return true;
+                   },
+                     check_node : function (obj) {
+                          if(this.change_state(obj, false)) {
+                                    obj = this._get_node(obj);
+                                     if(this._get_settings().checkbox.checked_parent_open) {
+                                                var t = this;
+                                          obj.parents(".jstree-closed").each(function () { t.open_node(this, false, true); });
+                                   }
+                                      this.__callback({ "obj" : obj });
+                              }
+                      },
+                     uncheck_node : function (obj) {
+                                if(this.change_state(obj, true)) { this.__callback({ "obj" : this._get_node(obj) }); }
+                 },
+                     check_all : function () {
+                              var _this = this,
+                                      coll = this._get_settings().checkbox.two_state ? this.get_container_ul().find("li") : this.get_container_ul().children("li");
+                          coll.each(function () {
+                                        _this.change_state(this, false);
+                               });
+                            this.__callback();
+                     },
+                     uncheck_all : function () {
+                            var _this = this,
+                                      coll = this._get_settings().checkbox.two_state ? this.get_container_ul().find("li") : this.get_container_ul().children("li");
+                          coll.each(function () {
+                                        _this.change_state(this, true);
+                                });
+                            this.__callback();
+                     },
+
+                    is_checked : function(obj) {
+                           obj = this._get_node(obj);
+                             return obj.length ? obj.is(".jstree-checked") : false;
+                 },
+                     get_checked : function (obj, get_all) {
+                                obj = !obj || obj === -1 ? this.get_container() : this._get_node(obj);
+                         return get_all || this._get_settings().checkbox.two_state ? obj.find(".jstree-checked") : obj.find("> ul > .jstree-checked, .jstree-undetermined > ul > .jstree-checked");
+                     },
+                     get_unchecked : function (obj, get_all) {
+                              obj = !obj || obj === -1 ? this.get_container() : this._get_node(obj);
+                         return get_all || this._get_settings().checkbox.two_state ? obj.find(".jstree-unchecked") : obj.find("> ul > .jstree-unchecked, .jstree-undetermined > ul > .jstree-unchecked");
+                       },
+
+                    show_checkboxes : function () { this.get_container().children("ul").removeClass("jstree-no-checkboxes"); },
+                    hide_checkboxes : function () { this.get_container().children("ul").addClass("jstree-no-checkboxes"); },
+
+                      _repair_state : function (obj) {
+                               obj = this._get_node(obj);
+                             if(!obj.length) { return; }
+                            if(this._get_settings().checkbox.two_state) {
+                                  obj.find('li').andSelf().not('.jstree-checked').removeClass('jstree-undetermined').addClass('jstree-unchecked').children(':checkbox').prop('checked', true);
+                                   return;
+                                }
+                              var rc = this._get_settings().checkbox.real_checkboxes,
+                                        a = obj.find("> ul > .jstree-checked").length,
+                                 b = obj.find("> ul > .jstree-undetermined").length,
+                                    c = obj.find("> ul > li").length;
+                              if(c === 0) { if(obj.hasClass("jstree-undetermined")) { this.change_state(obj, false); } }
+                             else if(a === 0 && b === 0) { this.change_state(obj, true); }
+                          else if(a === c) { this.change_state(obj, false); }
+                            else {
+                                 obj.parentsUntil(".jstree","li").andSelf().removeClass("jstree-checked jstree-unchecked").addClass("jstree-undetermined");
+                                     if(rc) { obj.parentsUntil(".jstree", "li").andSelf().children(":checkbox").prop("checked", false); }
+                           }
+                      },
+                     reselect : function () {
+                               if(this.data.ui && this.data.checkbox.noui) {
+                                  var _this = this,
+                                              s = this.data.ui.to_select;
+                                    s = $.map($.makeArray(s), function (n) { return "#" + n.toString().replace(/^#/,"").replace(/\\\//g,"/").replace(/\//g,"\\\/").replace(/\\\./g,".").replace(/\./g,"\\.").replace(/\:/g,"\\:"); });
+                                     this.deselect_all();
+                                   $.each(s, function (i, val) { _this.check_node(val); });
+                                       this.__callback();
+                             }
+                              else {
+                                 this.__call_old();
+                             }
+                      },
+                     save_loaded : function () {
+                            var _this = this;
+                              this.data.core.to_load = [];
+                           this.get_container_ul().find("li.jstree-closed.jstree-undetermined").each(function () {
+                                        if(this.id) { _this.data.core.to_load.push("#" + this.id); }
+                           });
+                    }
+              }
+      });
+    $(function() {
+         var css_string = '.jstree .jstree-real-checkbox { display:none; } ';
+           $.vakata.css.add_sheet({ str : css_string, title : "jstree" });
+        });
+})(jQuery);
+//*/
+
+/*
+ * jsTree XML plugin
+ * The XML data store. Datastores are build by overriding the `load_node` and `_is_loaded` functions.
+ */
+(function ($) {
+        $.vakata.xslt = function (xml, xsl, callback) {
+                var rs = "", xm, xs, processor, support;
+               // TODO: IE9 no XSLTProcessor, no document.recalc
+              if(document.recalc) {
+                  xm = document.createElement('xml');
+                    xs = document.createElement('xml');
+                    xm.innerHTML = xml;
+                    xs.innerHTML = xsl;
+                    $("body").append(xm).append(xs);
+                       setTimeout( (function (xm, xs, callback) {
+                             return function () {
+                                   callback.call(null, xm.transformNode(xs.XMLDocument));
+                                 setTimeout( (function (xm, xs) { return function () { $(xm).remove(); $(xs).remove(); }; })(xm, xs), 200);
+                             };
+                     })(xm, xs, callback), 100);
+                    return true;
+           }
+              if(typeof window.DOMParser !== "undefined" && typeof window.XMLHttpRequest !== "undefined" && typeof window.XSLTProcessor === "undefined") {
+                   xml = new DOMParser().parseFromString(xml, "text/xml");
+                        xsl = new DOMParser().parseFromString(xsl, "text/xml");
+                        // alert(xml.transformNode());
+                 // callback.call(null, new XMLSerializer().serializeToString(rs));
+
+            }
+              if(typeof window.DOMParser !== "undefined" && typeof window.XMLHttpRequest !== "undefined" && typeof window.XSLTProcessor !== "undefined") {
+                   processor = new XSLTProcessor();
+                       support = $.isFunction(processor.transformDocument) ? (typeof window.XMLSerializer !== "undefined") : true;
+                    if(!support) { return false; }
+                 xml = new DOMParser().parseFromString(xml, "text/xml");
+                        xsl = new DOMParser().parseFromString(xsl, "text/xml");
+                        if($.isFunction(processor.transformDocument)) {
+                                rs = document.implementation.createDocument("", "", null);
+                             processor.transformDocument(xml, xsl, rs, null);
+                               callback.call(null, new XMLSerializer().serializeToString(rs));
+                                return true;
+                   }
+                      else {
+                         processor.importStylesheet(xsl);
+                               rs = processor.transformToFragment(xml, document);
+                             callback.call(null, $("<div />").append(rs).html());
+                           return true;
+                   }
+              }
+              return false;
+  };
+     var xsl = {
+            'nest' : '<' + '?xml version="1.0" encoding="utf-8" ?>' +
+                      '<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform" >' +
+                   '<xsl:output method="html" encoding="utf-8" omit-xml-declaration="yes" standalone="no" indent="no" media-type="text/html" />' +
+                        '<xsl:template match="/">' +
+                   '   <xsl:call-template name="nodes">' +
+                  '            <xsl:with-param name="node" select="/root" />' +
+                    '  </xsl:call-template>' +
+                      '</xsl:template>' +
+                    '<xsl:template name="nodes">' +
+                        '      <xsl:param name="node" />' +
+                 '     <ul>' +
+                      '        <xsl:for-each select="$node/item">' +
+                        '              <xsl:variable name="children" select="count(./item) &gt; 0" />' +
+                   '           <li>' +
+                     '                 <xsl:attribute name="class">' +
+                    '                          <xsl:if test="position() = last()">jstree-last </xsl:if>' +
+                       '                               <xsl:choose>' +
+                   '                                   <xsl:when test="@state = \'open\'">jstree-open </xsl:when>' +
+                    '                                  <xsl:when test="$children or @hasChildren or @state = \'closed\'">jstree-closed </xsl:when>' +
+                   '                                   <xsl:otherwise>jstree-leaf </xsl:otherwise>' +
+                   '                           </xsl:choose>' +
+                  '                            <xsl:value-of select="@class" />' +
+                       '                       </xsl:attribute>' +
+                        '                      <xsl:for-each select="@*">' +
+                      '                                <xsl:if test="name() != \'class\' and name() != \'state\' and name() != \'hasChildren\'">' +
+                      '                                        <xsl:attribute name="{name()}"><xsl:value-of select="." /></xsl:attribute>' +
+                    '                          </xsl:if>' +
+                      '                        </xsl:for-each>' +
+                 '     <ins class="jstree-icon"><xsl:text>&#xa0;</xsl:text></ins>' +
+                        '                      <xsl:for-each select="content/name">' +
+                    '                          <a>' +
+                    '                          <xsl:attribute name="href">' +
+                    '                                  <xsl:choose>' +
+                  '                                    <xsl:when test="@href"><xsl:value-of select="@href" /></xsl:when>' +
+                     '                                 <xsl:otherwise>#</xsl:otherwise>' +
+                      '                                        </xsl:choose>' +
+                 '                             </xsl:attribute>' +
+                       '                               <xsl:attribute name="class"><xsl:value-of select="@lang" /> <xsl:value-of select="@class" /></xsl:attribute>' +
+                   '                           <xsl:attribute name="style"><xsl:value-of select="@style" /></xsl:attribute>' +
+                   '                           <xsl:for-each select="@*">' +
+                     '                                 <xsl:if test="name() != \'style\' and name() != \'class\' and name() != \'href\'">' +
+                    '                                          <xsl:attribute name="{name()}"><xsl:value-of select="." /></xsl:attribute>' +
+                   '                                   </xsl:if>' +
+                     '                         </xsl:for-each>' +
+                        '                                      <ins>' +
+                 '                                             <xsl:attribute name="class">jstree-icon ' +
+                     '                                                 <xsl:if test="string-length(attribute::icon) > 0 and not(contains(@icon,\'/\'))"><xsl:value-of select="@icon" /></xsl:if>' +
+                   '                                           </xsl:attribute>' +
+                     '                                         <xsl:if test="string-length(attribute::icon) > 0 and contains(@icon,\'/\')"><xsl:attribute name="style">background:url(<xsl:value-of select="@icon" />) center center no-repeat;</xsl:attribute></xsl:if>' +
+                    '                                          <xsl:text>&#xa0;</xsl:text>' +
+                  '                                    </ins>' +
+                        '                                      <xsl:copy-of select="./child::node()" />' +
+                      '                                </a>' +
+                   '                   </xsl:for-each>' +
+                 '                     <xsl:if test="$children or @hasChildren"><xsl:call-template name="nodes"><xsl:with-param name="node" select="current()" /></xsl:call-template></xsl:if>' +
+                 '             </li>' +
+                    '  </xsl:for-each>' +
+                   '   </ul>' +
+                     '</xsl:template>' +
+                    '</xsl:stylesheet>',
+
+          'flat' : '<' + '?xml version="1.0" encoding="utf-8" ?>' +
+                      '<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform" >' +
+                   '<xsl:output method="html" encoding="utf-8" omit-xml-declaration="yes" standalone="no" indent="no" media-type="text/xml" />' +
+                 '<xsl:template match="/">' +
+                   '   <ul>' +
+                      '        <xsl:for-each select="//item[not(@parent_id) or @parent_id=0 or not(@parent_id = //item/@id)]">' + /* the last `or` may be removed */
+                        '              <xsl:call-template name="nodes">' +
+                 '                     <xsl:with-param name="node" select="." />' +
+                       '                       <xsl:with-param name="is_last" select="number(position() = last())" />' +
+                  '            </xsl:call-template>' +
+                     ' </xsl:for-each>' +
+                   '   </ul>' +
+                     '</xsl:template>' +
+                    '<xsl:template name="nodes">' +
+                        '      <xsl:param name="node" />' +
+                 '     <xsl:param name="is_last" />' +
+                      '        <xsl:variable name="children" select="count(//item[@parent_id=$node/attribute::id]) &gt; 0" />' +
+                    '  <li>' +
+                      '        <xsl:attribute name="class">' +
+                      '                <xsl:if test="$is_last = true()">jstree-last </xsl:if>' +
+                   '           <xsl:choose>' +
+                     '                 <xsl:when test="@state = \'open\'">jstree-open </xsl:when>' +
+                      '                        <xsl:when test="$children or @hasChildren or @state = \'closed\'">jstree-closed </xsl:when>' +
+                     '                 <xsl:otherwise>jstree-leaf </xsl:otherwise>' +
+                     '         </xsl:choose>' +
+                    '          <xsl:value-of select="@class" />' +
+                 '     </xsl:attribute>' +
+                  '    <xsl:for-each select="@*">' +
+                        '              <xsl:if test="name() != \'parent_id\' and name() != \'hasChildren\' and name() != \'class\' and name() != \'state\'">' +
+                    '          <xsl:attribute name="{name()}"><xsl:value-of select="." /></xsl:attribute>' +
+                       '               </xsl:if>' +
+                        '      </xsl:for-each>' +
+                   '   <ins class="jstree-icon"><xsl:text>&#xa0;</xsl:text></ins>' +
+                        '      <xsl:for-each select="content/name">' +
+                      '                <a>' +
+                      '                <xsl:attribute name="href">' +
+                      '                        <xsl:choose>' +
+                    '                  <xsl:when test="@href"><xsl:value-of select="@href" /></xsl:when>' +
+                       '                       <xsl:otherwise>#</xsl:otherwise>' +
+                        '                      </xsl:choose>' +
+                   '           </xsl:attribute>' +
+                 '             <xsl:attribute name="class"><xsl:value-of select="@lang" /> <xsl:value-of select="@class" /></xsl:attribute>' +
+                     '         <xsl:attribute name="style"><xsl:value-of select="@style" /></xsl:attribute>' +
+                     '         <xsl:for-each select="@*">' +
+                       '                       <xsl:if test="name() != \'style\' and name() != \'class\' and name() != \'href\'">' +
+                      '                                <xsl:attribute name="{name()}"><xsl:value-of select="." /></xsl:attribute>' +
+                     '                 </xsl:if>' +
+                       '               </xsl:for-each>' +
+                  '                    <ins>' +
+                   '                           <xsl:attribute name="class">jstree-icon ' +
+                       '                                       <xsl:if test="string-length(attribute::icon) > 0 and not(contains(@icon,\'/\'))"><xsl:value-of select="@icon" /></xsl:if>' +
+                     '                         </xsl:attribute>' +
+                       '                               <xsl:if test="string-length(attribute::icon) > 0 and contains(@icon,\'/\')"><xsl:attribute name="style">background:url(<xsl:value-of select="@icon" />) center center no-repeat;</xsl:attribute></xsl:if>' +
+                      '                                <xsl:text>&#xa0;</xsl:text>' +
+                    '                  </ins>' +
+                  '                    <xsl:copy-of select="./child::node()" />' +
+                        '              </a>' +
+                     ' </xsl:for-each>' +
+                   '   <xsl:if test="$children">' +
+                 '             <ul>' +
+                     '         <xsl:for-each select="//item[@parent_id=$node/attribute::id]">' +
+                   '                   <xsl:call-template name="nodes">' +
+                        '                              <xsl:with-param name="node" select="." />' +
+                      '                                <xsl:with-param name="is_last" select="number(position() = last())" />' +
+                 '                     </xsl:call-template>' +
+                    '          </xsl:for-each>' +
+                  '            </ul>' +
+                    '  </xsl:if>' +
+                 '     </li>' +
+                     '</xsl:template>' +
+                    '</xsl:stylesheet>'
+    },
+     escape_xml = function(string) {
+                return string
+                  .toString()
+                    .replace(/&/g, '&amp;')
+                        .replace(/</g, '&lt;')
+                 .replace(/>/g, '&gt;')
+                 .replace(/"/g, '&quot;')
+                       .replace(/'/g, '&apos;');
+      };
+     $.jstree.plugin("xml_data", {
+          defaults : {
+                   data : false,
+                  ajax : false,
+                  xsl : "flat",
+                  clean_node : false,
+                    correct_state : true,
+                  get_skip_empty : false,
+                        get_include_preamble : true
+            },
+             _fn : {
+                        load_node : function (obj, s_call, e_call) { var _this = this; this.load_node_xml(obj, function () { _this.__callback({ "obj" : _this._get_node(obj) }); s_call.call(this); }, e_call); },
+                     _is_loaded : function (obj) {
+                          var s = this._get_settings().xml_data;
+                         obj = this._get_node(obj);
+                             return obj == -1 || !obj || (!s.ajax && !$.isFunction(s.data)) || obj.is(".jstree-open, .jstree-leaf") || obj.children("ul").children("li").size() > 0;
+                        },
+                     load_node_xml : function (obj, s_call, e_call) {
+                               var s = this.get_settings().xml_data,
+                                  error_func = function () {},
+                                   success_func = function () {};
+
+                                obj = this._get_node(obj);
+                             if(obj && obj !== -1) {
+                                        if(obj.data("jstree_is_loading")) { return; }
+                                  else { obj.data("jstree_is_loading",true); }
+                           }
+                              switch(!0) {
+                                   case (!s.data && !s.ajax): throw "Neither data nor ajax settings supplied.";
+                                   case ($.isFunction(s.data)):
+                                           s.data.call(this, obj, $.proxy(function (d) {
+                                                  this.parse_xml(d, $.proxy(function (d) {
+                                                               if(d) {
+                                                                        d = d.replace(/ ?xmlns="[^"]*"/ig, "");
+                                                                        if(d.length > 10) {
+                                                                            d = $(d);
+                                                                              if(obj === -1 || !obj) { this.get_container().children("ul").empty().append(d.children()); }
+                                                                           else { obj.children("a.jstree-loading").removeClass("jstree-loading"); obj.append(d); obj.removeData("jstree_is_loading"); }
+                                                                           if(s.clean_node) { this.clean_node(obj); }
+                                                                             if(s_call) { s_call.call(this); }
+                                                                      }
+                                                                      else {
+                                                                         if(obj && obj !== -1) {
+                                                                                        obj.children("a.jstree-loading").removeClass("jstree-loading");
+                                                                                        obj.removeData("jstree_is_loading");
+                                                                                   if(s.correct_state) {
+                                                                                          this.correct_state(obj);
+                                                                                               if(s_call) { s_call.call(this); }
+                                                                                      }
+                                                                              }
+                                                                              else {
+                                                                                 if(s.correct_state) {
+                                                                                          this.get_container().children("ul").empty();
+                                                                                           if(s_call) { s_call.call(this); }
+                                                                                      }
+                                                                              }
+                                                                      }
+                                                              }
+                                                      }, this));
+                                             }, this));
+                                             break;
+                                 case (!!s.data && !s.ajax) || (!!s.data && !!s.ajax && (!obj || obj === -1)):
+                                          if(!obj || obj == -1) {
+                                                        this.parse_xml(s.data, $.proxy(function (d) {
+                                                          if(d) {
+                                                                        d = d.replace(/ ?xmlns="[^"]*"/ig, "");
+                                                                        if(d.length > 10) {
+                                                                            d = $(d);
+                                                                              this.get_container().children("ul").empty().append(d.children());
+                                                                              if(s.clean_node) { this.clean_node(obj); }
+                                                                             if(s_call) { s_call.call(this); }
+                                                                      }
+                                                              }
+                                                              else {
+                                                                 if(s.correct_state) {
+                                                                          this.get_container().children("ul").empty();
+                                                                           if(s_call) { s_call.call(this); }
+                                                                      }
+                                                              }
+                                                      }, this));
+                                             }
+                                              break;
+                                 case (!s.data && !!s.ajax) || (!!s.data && !!s.ajax && obj && obj !== -1):
+                                             error_func = function (x, t, e) {
+                                                      var ef = this.get_settings().xml_data.ajax.error;
+                                                      if(ef) { ef.call(this, x, t, e); }
+                                                     if(obj !== -1 && obj.length) {
+                                                         obj.children("a.jstree-loading").removeClass("jstree-loading");
+                                                                obj.removeData("jstree_is_loading");
+                                                           if(t === "success" && s.correct_state) { this.correct_state(obj); }
+                                                    }
+                                                      else {
+                                                         if(t === "success" && s.correct_state) { this.get_container().children("ul").empty(); }
+                                                        }
+                                                      if(e_call) { e_call.call(this); }
+                                              };
+                                             success_func = function (d, t, x) {
+                                                    d = x.responseText;
+                                                    var sf = this.get_settings().xml_data.ajax.success;
+                                                    if(sf) { d = sf.call(this,d,t,x) || d; }
+                                                       if(d === "" || (d && d.toString && d.toString().replace(/^[\s\n]+$/,"") === "")) {
+                                                             return error_func.call(this, x, t, "");
+                                                        }
+                                                      this.parse_xml(d, $.proxy(function (d) {
+                                                               if(d) {
+                                                                        d = d.replace(/ ?xmlns="[^"]*"/ig, "");
+                                                                        if(d.length > 10) {
+                                                                            d = $(d);
+                                                                              if(obj === -1 || !obj) { this.get_container().children("ul").empty().append(d.children()); }
+                                                                           else { obj.children("a.jstree-loading").removeClass("jstree-loading"); obj.append(d); obj.removeData("jstree_is_loading"); }
+                                                                           if(s.clean_node) { this.clean_node(obj); }
+                                                                             if(s_call) { s_call.call(this); }
+                                                                      }
+                                                                      else {
+                                                                         if(obj && obj !== -1) {
+                                                                                        obj.children("a.jstree-loading").removeClass("jstree-loading");
+                                                                                        obj.removeData("jstree_is_loading");
+                                                                                   if(s.correct_state) {
+                                                                                          this.correct_state(obj);
+                                                                                               if(s_call) { s_call.call(this); }
+                                                                                      }
+                                                                              }
+                                                                              else {
+                                                                                 if(s.correct_state) {
+                                                                                          this.get_container().children("ul").empty();
+                                                                                           if(s_call) { s_call.call(this); }
+                                                                                      }
+                                                                              }
+                                                                      }
+                                                              }
+                                                      }, this));
+                                             };
+                                             s.ajax.context = this;
+                                         s.ajax.error = error_func;
+                                             s.ajax.success = success_func;
+                                         if(!s.ajax.dataType) { s.ajax.dataType = "xml"; }
+                                              if($.isFunction(s.ajax.url)) { s.ajax.url = s.ajax.url.call(this, obj); }
+                                              if($.isFunction(s.ajax.data)) { s.ajax.data = s.ajax.data.call(this, obj); }
+                                           $.ajax(s.ajax);
+                                                break;
+                         }
+                      },
+                     parse_xml : function (xml, callback) {
+                         var s = this._get_settings().xml_data;
+                         $.vakata.xslt(xml, xsl[s.xsl], callback);
+                      },
+                     get_xml : function (tp, obj, li_attr, a_attr, is_callback) {
+                           var result = "",
+                                       s = this._get_settings(),
+                                      _this = this,
+                                  tmp1, tmp2, li, a, lang;
+                               if(!tp) { tp = "flat"; }
+                               if(!is_callback) { is_callback = 0; }
+                          obj = this._get_node(obj);
+                             if(!obj || obj === -1) { obj = this.get_container().find("> ul > li"); }
+                               li_attr = $.isArray(li_attr) ? li_attr : [ "id", "class" ];
+                            if(!is_callback && this.data.types && $.inArray(s.types.type_attr, li_attr) === -1) { li_attr.push(s.types.type_attr); }
+
+                              a_attr = $.isArray(a_attr) ? a_attr : [ ];
+
+                            if(!is_callback) {
+                                     if(s.xml_data.get_include_preamble) {
+                                          result += '<' + '?xml version="1.0" encoding="UTF-8"?' + '>';
+                                  }
+                                      result += "<root>";
+                            }
+                              obj.each(function () {
+                                 result += "<item";
+                                     li = $(this);
+                                  $.each(li_attr, function (i, v) {
+                                              var t = li.attr(v);
+                                            if(!s.xml_data.get_skip_empty || typeof t !== "undefined") {
+                                                   result += " " + v + "=\"" + escape_xml((" " + (t || "")).replace(/ jstree[^ ]*/ig,'').replace(/\s+$/ig," ").replace(/^ /,"").replace(/ $/,"")) + "\"";
+                                         }
+                                      });
+                                    if(li.hasClass("jstree-open")) { result += " state=\"open\""; }
+                                        if(li.hasClass("jstree-closed")) { result += " state=\"closed\""; }
+                                    if(tp === "flat") { result += " parent_id=\"" + escape_xml(is_callback) + "\""; }
+                                      result += ">";
+                                 result += "<content>";
+                                 a = li.children("a");
+                                  a.each(function () {
+                                           tmp1 = $(this);
+                                                lang = false;
+                                          result += "<name";
+                                             if($.inArray("languages", s.plugins) !== -1) {
+                                                 $.each(s.languages, function (k, z) {
+                                                          if(tmp1.hasClass(z)) { result += " lang=\"" + escape_xml(z) + "\""; lang = z; return false; }
+                                                  });
+                                            }
+                                              if(a_attr.length) {
+                                                    $.each(a_attr, function (k, z) {
+                                                               var t = tmp1.attr(z);
+                                                          if(!s.xml_data.get_skip_empty || typeof t !== "undefined") {
+                                                                   result += " " + z + "=\"" + escape_xml((" " + t || "").replace(/ jstree[^ ]*/ig,'').replace(/\s+$/ig," ").replace(/^ /,"").replace(/ $/,"")) + "\"";
+                                                           }
+                                                      });
+                                            }
+                                              if(tmp1.children("ins").get(0).className.replace(/jstree[^ ]*|$/ig,'').replace(/^\s+$/ig,"").length) {
+                                                 result += ' icon="' + escape_xml(tmp1.children("ins").get(0).className.replace(/jstree[^ ]*|$/ig,'').replace(/\s+$/ig," ").replace(/^ /,"").replace(/ $/,"")) + '"';
+                                           }
+                                              if(tmp1.children("ins").get(0).style.backgroundImage.length) {
+                                                 result += ' icon="' + escape_xml(tmp1.children("ins").get(0).style.backgroundImage.replace("url(","").replace(")","").replace(/'/ig,"").replace(/"/ig,"")) + '"';
+                                              }
+                                              result += ">";
+                                         result += "<![CDATA[" + _this.get_text(tmp1, lang) + "]]>";
+                                            result += "</name>";
+                                   });
+                                    result += "</content>";
+                                        tmp2 = li[0].id || true;
+                                       li = li.find("> ul > li");
+                                     if(li.length) { tmp2 = _this.get_xml(tp, li, li_attr, a_attr, tmp2); }
+                                 else { tmp2 = ""; }
+                                    if(tp == "nest") { result += tmp2; }
+                                   result += "</item>";
+                                   if(tp == "flat") { result += tmp2; }
+                           });
+                            if(!is_callback) { result += "</root>"; }
+                              return result;
+                 }
+              }
+      });
+})(jQuery);
+//*/
+
+/*
+ * jsTree search plugin
+ * Enables both sync and async search on the tree
+ * DOES NOT WORK WITH JSON PROGRESSIVE RENDER
+ */
+(function ($) {
+   $.expr[':'].jstree_contains = function(a,i,m){
+         return (a.textContent || a.innerText || "").toLowerCase().indexOf(m[3].toLowerCase())>=0;
+      };
+     $.expr[':'].jstree_title_contains = function(a,i,m) {
+          return (a.getAttribute("title") || "").toLowerCase().indexOf(m[3].toLowerCase())>=0;
+   };
+     $.jstree.plugin("search", {
+            __init : function () {
+                 this.data.search.str = "";
+                     this.data.search.result = $();
+                 if(this._get_settings().search.show_only_matches) {
+                            this.get_container()
+                                   .bind("search.jstree", function (e, data) {
+                                            $(this).children("ul").find("li").hide().removeClass("jstree-last");
+                                           data.rslt.nodes.parentsUntil(".jstree").andSelf().show()
+                                                       .filter("ul").each(function () { $(this).children("li:visible").eq(-1).addClass("jstree-last"); });
+                                    })
+                                     .bind("clear_search.jstree", function () {
+                                             $(this).children("ul").find("li").css("display","").end().end().jstree("clean_node", -1);
+                                      });
+                    }
+              },
+             defaults : {
+                   ajax : false,
+                  search_method : "jstree_contains", // for case insensitive - jstree_contains
+                   show_only_matches : false
+              },
+             _fn : {
+                        search : function (str, skip_async) {
+                          if($.trim(str) === "") { this.clear_search(); return; }
+                                var s = this.get_settings().search,
+                                    t = this,
+                                      error_func = function () { },
+                                  success_func = function () { };
+                                this.data.search.str = str;
+
+                           if(!skip_async && s.ajax !== false && this.get_container_ul().find("li.jstree-closed:not(:has(ul)):eq(0)").length > 0) {
+                                       this.search.supress_callback = true;
+                                   error_func = function () { };
+                                  success_func = function (d, t, x) {
+                                            var sf = this.get_settings().search.ajax.success;
+                                              if(sf) { d = sf.call(this,d,t,x) || d; }
+                                               this.data.search.to_open = d;
+                                          this._search_open();
+                                   };
+                                     s.ajax.context = this;
+                                 s.ajax.error = error_func;
+                                     s.ajax.success = success_func;
+                                 if($.isFunction(s.ajax.url)) { s.ajax.url = s.ajax.url.call(this, str); }
+                                      if($.isFunction(s.ajax.data)) { s.ajax.data = s.ajax.data.call(this, str); }
+                                   if(!s.ajax.data) { s.ajax.data = { "search_string" : str }; }
+                                  if(!s.ajax.dataType || /^json/.exec(s.ajax.dataType)) { s.ajax.dataType = "json"; }
+                                    $.ajax(s.ajax);
+                                        return;
+                                }
+                              if(this.data.search.result.length) { this.clear_search(); }
+                            this.data.search.result = this.get_container().find("a" + (this.data.languages ? "." + this.get_lang() : "" ) + ":" + (s.search_method) + "(" + this.data.search.str + ")");
+                           this.data.search.result.addClass("jstree-search").parent().parents(".jstree-closed").each(function () {
+                                        t.open_node(this, false, true);
+                                });
+                            this.__callback({ nodes : this.data.search.result, str : str });
+                       },
+                     clear_search : function (str) {
+                                this.data.search.result.removeClass("jstree-search");
+                          this.__callback(this.data.search.result);
+                              this.data.search.result = $();
+                 },
+                     _search_open : function (is_callback) {
+                                var _this = this,
+                                      done = true,
+                                   current = [],
+                                  remaining = [];
+                                if(this.data.search.to_open.length) {
+                                  $.each(this.data.search.to_open, function (i, val) {
+                                           if(val == "#") { return true; }
+                                                if($(val).length && $(val).is(".jstree-closed")) { current.push(val); }
+                                                else { remaining.push(val); }
+                                  });
+                                    if(current.length) {
+                                           this.data.search.to_open = remaining;
+                                          $.each(current, function (i, val) {
+                                                    _this.open_node(val, function () { _this._search_open(true); });
+                                               });
+                                            done = false;
+                                  }
+                              }
+                              if(done) { this.search(this.data.search.str, true); }
+                  }
+              }
+      });
+})(jQuery);
+//*/
+
+/*
+ * jsTree contextmenu plugin
+ */
+(function ($) {
+      $.vakata.context = {
+           hide_on_mouseleave : false,
+
+           cnt         : $("<div id='vakata-contextmenu' />"),
+           vis         : false,
+          tgt          : false,
+          par          : false,
+          func : false,
+          data : false,
+          rtl          : false,
+          show : function (s, t, x, y, d, p, rtl) {
+                      $.vakata.context.rtl = !!rtl;
+                  var html = $.vakata.context.parse(s), h, w;
+                    if(!html) { return; }
+                  $.vakata.context.vis = true;
+                   $.vakata.context.tgt = t;
+                      $.vakata.context.par = p || t || null;
+                 $.vakata.context.data = d || null;
+                     $.vakata.context.cnt
+                           .html(html)
+                            .css({ "visibility" : "hidden", "display" : "block", "left" : 0, "top" : 0 });
+
+                        if($.vakata.context.hide_on_mouseleave) {
+                              $.vakata.context.cnt
+                                   .one("mouseleave", function(e) { $.vakata.context.hide(); });
+                  }
+
+                     h = $.vakata.context.cnt.height();
+                     w = $.vakata.context.cnt.width();
+                      if(x + w > $(document).width()) {
+                              x = $(document).width() - (w + 5);
+                             $.vakata.context.cnt.find("li > ul").addClass("right");
+                        }
+                      if(y + h > $(document).height()) {
+                             y = y - (h + t[0].offsetHeight);
+                               $.vakata.context.cnt.find("li > ul").addClass("bottom");
+                       }
+
+                     $.vakata.context.cnt
+                           .css({ "left" : x, "top" : y })
+                                .find("li:has(ul)")
+                                    .bind("mouseenter", function (e) {
+                                             var w = $(document).width(),
+                                                   h = $(document).height(),
+                                                      ul = $(this).children("ul").show();
+                                            if(w !== $(document).width()) { ul.toggleClass("right"); }
+                                             if(h !== $(document).height()) { ul.toggleClass("bottom"); }
+                                   })
+                                     .bind("mouseleave", function (e) {
+                                             $(this).children("ul").hide();
+                                 })
+                                     .end()
+                         .css({ "visibility" : "visible" })
+                             .show();
+                       $(document).triggerHandler("context_show.vakata");
+             },
+             hide      : function () {
+                   $.vakata.context.vis = false;
+                  $.vakata.context.cnt.attr("class","").css({ "visibility" : "hidden" });
+                        $(document).triggerHandler("context_hide.vakata");
+             },
+             parse     : function (s, is_callback) {
+                    if(!s) { return false; }
+                       var str = "",
+                          tmp = false,
+                           was_sep = true;
+                        if(!is_callback) { $.vakata.context.func = {}; }
+                       str += "<ul>";
+                 $.each(s, function (i, val) {
+                          if(!val) { return true; }
+                              $.vakata.context.func[i] = val.action;
+                         if(!was_sep && val.separator_before) {
+                                 str += "<li class='vakata-separator vakata-separator-before'></li>";
+                           }
+                              was_sep = false;
+                               str += "<li class='" + (val._class || "") + (val._disabled ? " jstree-contextmenu-disabled " : "") + "'><ins ";
+                                if(val.icon && val.icon.indexOf("/") === -1) { str += " class='" + val.icon + "' "; }
+                          if(val.icon && val.icon.indexOf("/") !== -1) { str += " style='background:url(" + val.icon + ") center center no-repeat;' "; }
+                         str += ">&#160;</ins><a href='#' rel='" + i + "'>";
+                            if(val.submenu) {
+                                      str += "<span style='float:" + ($.vakata.context.rtl ? "left" : "right") + ";'>&raquo;</span>";
+                                }
+                              str += val.label + "</a>";
+                             if(val.submenu) {
+                                      tmp = $.vakata.context.parse(val.submenu, true);
+                                       if(tmp) { str += tmp; }
+                                }
+                              str += "</li>";
+                                if(val.separator_after) {
+                                      str += "<li class='vakata-separator vakata-separator-after'></li>";
+                                    was_sep = true;
+                                }
+                      });
+                    str = str.replace(/<li class\='vakata-separator vakata-separator-after'\><\/li\>$/,"");
+                        str += "</ul>";
+                        $(document).triggerHandler("context_parse.vakata");
+                    return str.length > 10 ? str : false;
+          },
+             exec      : function (i) {
+                  if($.isFunction($.vakata.context.func[i])) {
+                           // if is string - eval and call it!
+                            $.vakata.context.func[i].call($.vakata.context.data, $.vakata.context.par);
+                            return true;
+                   }
+                      else { return false; }
+         }
+      };
+     $(function () {
+                var css_string = '' +
+                  '#vakata-contextmenu { display:block; visibility:hidden; left:0; top:-200px; position:absolute; margin:0; padding:0; min-width:180px; background:#ebebeb; border:1px solid silver; z-index:10000; *width:180px; } ' +
+                  '#vakata-contextmenu ul { min-width:180px; *width:180px; } ' +
+                 '#vakata-contextmenu ul, #vakata-contextmenu li { margin:0; padding:0; list-style-type:none; display:block; } ' +
+                      '#vakata-contextmenu li { line-height:20px; min-height:20px; position:relative; padding:0px; } ' +
+                     '#vakata-contextmenu li a { padding:1px 6px; line-height:17px; display:block; text-decoration:none; margin:1px 1px 0 1px; } ' +
+                        '#vakata-contextmenu li ins { float:left; width:16px; height:16px; text-decoration:none; margin-right:2px; } ' +
+                       '#vakata-contextmenu li a:hover, #vakata-contextmenu li.vakata-hover > a { background:gray; color:white; } ' +
+                 '#vakata-contextmenu li ul { display:none; position:absolute; top:-2px; left:100%; background:#ebebeb; border:1px solid gray; } ' +
+                    '#vakata-contextmenu .right { right:100%; left:auto; } ' +
+                     '#vakata-contextmenu .bottom { bottom:-1px; top:auto; } ' +
+                    '#vakata-contextmenu li.vakata-separator { min-height:0; height:1px; line-height:1px; font-size:1px; overflow:hidden; margin:0 2px; background:silver; /* border-top:1px solid #fefefe; */ padding:0; } ';
+             $.vakata.css.add_sheet({ str : css_string, title : "vakata" });
+                $.vakata.context.cnt
+                   .delegate("a","click", function (e) { e.preventDefault(); })
+                   .delegate("a","mouseup", function (e) {
+                                if(!$(this).parent().hasClass("jstree-contextmenu-disabled") && $.vakata.context.exec($(this).attr("rel"))) {
+                                  $.vakata.context.hide();
+                               }
+                              else { $(this).blur(); }
+                       })
+                     .delegate("a","mouseover", function () {
+                               $.vakata.context.cnt.find(".vakata-hover").removeClass("vakata-hover");
+                        })
+                     .appendTo("body");
+             $(document).bind("mousedown", function (e) { if($.vakata.context.vis && !$.contains($.vakata.context.cnt[0], e.target)) { $.vakata.context.hide(); } });
+               if(typeof $.hotkeys !== "undefined") {
+                 $(document)
+                            .bind("keydown", "up", function (e) {
+                                  if($.vakata.context.vis) {
+                                             var o = $.vakata.context.cnt.find("ul:visible").last().children(".vakata-hover").removeClass("vakata-hover").prevAll("li:not(.vakata-separator)").first();
+                                             if(!o.length) { o = $.vakata.context.cnt.find("ul:visible").last().children("li:not(.vakata-separator)").last(); }
+                                             o.addClass("vakata-hover");
+                                            e.stopImmediatePropagation();
+                                          e.preventDefault();
+                                    }
+                              })
+                             .bind("keydown", "down", function (e) {
+                                        if($.vakata.context.vis) {
+                                             var o = $.vakata.context.cnt.find("ul:visible").last().children(".vakata-hover").removeClass("vakata-hover").nextAll("li:not(.vakata-separator)").first();
+                                             if(!o.length) { o = $.vakata.context.cnt.find("ul:visible").last().children("li:not(.vakata-separator)").first(); }
+                                            o.addClass("vakata-hover");
+                                            e.stopImmediatePropagation();
+                                          e.preventDefault();
+                                    }
+                              })
+                             .bind("keydown", "right", function (e) {
+                                       if($.vakata.context.vis) {
+                                             $.vakata.context.cnt.find(".vakata-hover").children("ul").show().children("li:not(.vakata-separator)").removeClass("vakata-hover").first().addClass("vakata-hover");
+                                           e.stopImmediatePropagation();
+                                          e.preventDefault();
+                                    }
+                              })
+                             .bind("keydown", "left", function (e) {
+                                        if($.vakata.context.vis) {
+                                             $.vakata.context.cnt.find(".vakata-hover").children("ul").hide().children(".vakata-separator").removeClass("vakata-hover");
+                                            e.stopImmediatePropagation();
+                                          e.preventDefault();
+                                    }
+                              })
+                             .bind("keydown", "esc", function (e) {
+                                 $.vakata.context.hide();
+                                       e.preventDefault();
+                            })
+                             .bind("keydown", "space", function (e) {
+                                       $.vakata.context.cnt.find(".vakata-hover").last().children("a").click();
+                                       e.preventDefault();
+                            });
+            }
+      });
+
+   $.jstree.plugin("contextmenu", {
+               __init : function () {
+                 this.get_container()
+                           .delegate("a", "contextmenu.jstree", $.proxy(function (e) {
+                                            e.preventDefault();
+                                            if(!$(e.currentTarget).hasClass("jstree-loading")) {
+                                                   this.show_contextmenu(e.currentTarget, e.pageX, e.pageY);
+                                              }
+                                      }, this))
+                              .delegate("a", "click.jstree", $.proxy(function (e) {
+                                          if(this.data.contextmenu) {
+                                                    $.vakata.context.hide();
+                                               }
+                                      }, this))
+                              .bind("destroy.jstree", $.proxy(function () {
+                                          // TODO: move this to descruct method
+                                          if(this.data.contextmenu) {
+                                                    $.vakata.context.hide();
+                                               }
+                                      }, this));
+                     $(document).bind("context_hide.vakata", $.proxy(function () { this.data.contextmenu = false; }, this));
+                },
+             defaults : {
+                   select_node : false, // requires UI plugin
+                     show_at_node : true,
+                   items : { // Could be a function that should return an object like this one
+                            "create" : {
+                                   "separator_before"  : false,
+                                    "separator_after"  : true,
+                                      "label"                          : "Create",
+                                 "action"                      : function (obj) { this.create(obj); }
+                              },
+                             "rename" : {
+                                   "separator_before"  : false,
+                                    "separator_after"  : false,
+                                     "label"                           : "Rename",
+                                 "action"                      : function (obj) { this.rename(obj); }
+                              },
+                             "remove" : {
+                                   "separator_before"  : false,
+                                    "icon"                             : false,
+                                     "separator_after" : false,
+                                     "label"                           : "Delete",
+                                 "action"                      : function (obj) { if(this.is_selected(obj)) { this.remove(); } else { this.remove(obj); } }
+                                },
+                             "ccp" : {
+                                      "separator_before"       : true,
+                                     "icon"                            : false,
+                                     "separator_after" : false,
+                                     "label"                           : "Edit",
+                                   "action"                    : false,
+                                    "submenu" : {
+                                          "cut" : {
+                                                      "separator_before"       : false,
+                                                    "separator_after"  : false,
+                                                     "label"                           : "Cut",
+                                                    "action"                   : function (obj) { this.cut(obj); }
+                                         },
+                                             "copy" : {
+                                                     "separator_before"        : false,
+                                                    "icon"                             : false,
+                                                     "separator_after" : false,
+                                                     "label"                           : "Copy",
+                                                   "action"                    : function (obj) { this.copy(obj); }
+                                                },
+                                             "paste" : {
+                                                    "separator_before" : false,
+                                                    "icon"                             : false,
+                                                     "separator_after" : false,
+                                                     "label"                           : "Paste",
+                                                  "action"                     : function (obj) { this.paste(obj); }
+                                               }
+                                      }
+                              }
+                      }
+              },
+             _fn : {
+                        show_contextmenu : function (obj, x, y) {
+                              obj = this._get_node(obj);
+                             var s = this.get_settings().contextmenu,
+                                       a = obj.children("a:visible:eq(0)"),
+                                   o = false,
+                                     i = false;
+                             if(s.select_node && this.data.ui && !this.is_selected(obj)) {
+                                  this.deselect_all();
+                                   this.select_node(obj, true);
+                           }
+                              if(s.show_at_node || typeof x === "undefined" || typeof y === "undefined") {
+                                   o = a.offset();
+                                        x = o.left;
+                                    y = o.top + this.data.core.li_height;
+                          }
+                              i = obj.data("jstree") && obj.data("jstree").contextmenu ? obj.data("jstree").contextmenu : s.items;
+                           if($.isFunction(i)) { i = i.call(this, obj); }
+                         this.data.contextmenu = true;
+                          $.vakata.context.show(i, a, x, y, this, obj, this._get_settings().core.rtl);
+                           if(this.data.themes) { $.vakata.context.cnt.attr("class", "jstree-" + this.data.themes.theme + "-context"); }
+                  }
+              }
+      });
+})(jQuery);
+//*/
+
+/*
+ * jsTree types plugin
+ * Adds support types of nodes
+ * You can set an attribute on each li node, that represents its type.
+ * According to the type setting the node may get custom icon/validation rules
+ */
+(function ($) {
+       $.jstree.plugin("types", {
+             __init : function () {
+                 var s = this._get_settings().types;
+                    this.data.types.attach_to = [];
+                        this.get_container()
+                           .bind("init.jstree", $.proxy(function () {
+                                             var types = s.types,
+                                                   attr  = s.type_attr,
+                                                   icons_css = "",
+                                                        _this = this;
+
+                                         $.each(types, function (i, tp) {
+                                                       $.each(tp, function (k, v) {
+                                                           if(!/^(max_depth|max_children|icon|valid_children)$/.test(k)) { _this.data.types.attach_to.push(k); }
+                                                  });
+                                                    if(!tp.icon) { return true; }
+                                                  if( tp.icon.image || tp.icon.position) {
+                                                               if(i == "default")      { icons_css += '.jstree-' + _this.get_index() + ' a > .jstree-icon { '; }
+                                                           else                                { icons_css += '.jstree-' + _this.get_index() + ' li[' + attr + '="' + i + '"] > a > .jstree-icon { '; }
+                                                               if(tp.icon.image)       { icons_css += ' background-image:url(' + tp.icon.image + '); '; }
+                                                           if(tp.icon.position){ icons_css += ' background-position:' + tp.icon.position + '; '; }
+                                                                else                           { icons_css += ' background-position:0 0; '; }
+                                                         icons_css += '} ';
+                                                     }
+                                              });
+                                            if(icons_css !== "") { $.vakata.css.add_sheet({ 'str' : icons_css, title : "jstree-types" }); }
+                                        }, this))
+                              .bind("before.jstree", $.proxy(function (e, data) {
+                                            var s, t,
+                                                      o = this._get_settings().types.use_data ? this._get_node(data.args[0]) : false,
+                                                        d = o && o !== -1 && o.length ? o.data("jstree") : false;
+                                              if(d && d.types && d.types[data.func] === false) { e.stopImmediatePropagation(); return false; }
+                                               if($.inArray(data.func, this.data.types.attach_to) !== -1) {
+                                                   if(!data.args[0] || (!data.args[0].tagName && !data.args[0].jquery)) { return; }
+                                                       s = this._get_settings().types.types;
+                                                  t = this._get_type(data.args[0]);
+                                                      if(
+                                                            (
+                                                                      (s[t] && typeof s[t][data.func] !== "undefined") ||
+                                                                    (s["default"] && typeof s["default"][data.func] !== "undefined")
+                                                               ) && this._check(data.func, data.args[0]) === false
+                                                    ) {
+                                                            e.stopImmediatePropagation();
+                                                          return false;
+                                                  }
+                                              }
+                                      }, this));
+                     if(is_ie6) {
+                           this.get_container()
+                                   .bind("load_node.jstree set_type.jstree", $.proxy(function (e, data) {
+                                                 var r = data && data.rslt && data.rslt.obj && data.rslt.obj !== -1 ? this._get_node(data.rslt.obj).parent() : this.get_container_ul(),
+                                                         c = false,
+                                                             s = this._get_settings().types;
+                                                        $.each(s.types, function (i, tp) {
+                                                             if(tp.icon && (tp.icon.image || tp.icon.position)) {
+                                                                   c = i === "default" ? r.find("li > a > .jstree-icon") : r.find("li[" + s.type_attr + "='" + i + "'] > a > .jstree-icon");
+                                                                      if(tp.icon.image) { c.css("backgroundImage","url(" + tp.icon.image + ")"); }
+                                                                   c.css("backgroundPosition", tp.icon.position || "0 0");
+                                                                }
+                                                      });
+                                            }, this));
+                     }
+              },
+             defaults : {
+                   // defines maximum number of root nodes (-1 means unlimited, -2 means disable max_children checking)
+                   max_children                : -1,
+                    // defines the maximum depth of the tree (-1 means unlimited, -2 means disable max_depth checking)
+                     max_depth                 : -1,
+                      // defines valid node types for the root nodes
+                 valid_children                : "all",
+
+                      // whether to use $.data
+                       use_data : false,
+                      // where is the type stores (the rel attribute of the LI element)
+                      type_attr : "rel",
+                     // a list of types
+                     types : {
+                              // the default type
+                            "default" : {
+                                  "max_children"       : -1,
+                                   "max_depth"         : -1,
+                                     "valid_children": "all"
+
+                                       // Bound functions - you can bind any other function here (using boolean or function)
+                                  //"select_node"      : true
+                         }
+                      }
+              },
+             _fn : {
+                        _types_notify : function (n, data) {
+                           if(data.type && this._get_settings().types.use_data) {
+                                 this.set_type(data.type, n);
+                           }
+                      },
+                     _get_type : function (obj) {
+                           obj = this._get_node(obj);
+                             return (!obj || !obj.length) ? false : obj.attr(this._get_settings().types.type_attr) || "default";
+                    },
+                     set_type : function (str, obj) {
+                               obj = this._get_node(obj);
+                             var ret = (!obj.length || !str) ? false : obj.attr(this._get_settings().types.type_attr, str);
+                         if(ret) { this.__callback({ obj : obj, type : str}); }
+                         return ret;
+                    },
+                     _check : function (rule, obj, opts) {
+                          obj = this._get_node(obj);
+                             var v = false, t = this._get_type(obj), d = 0, _this = this, s = this._get_settings().types, data = false;
+                             if(obj === -1) {
+                                       if(!!s[rule]) { v = s[rule]; }
+                                 else { return; }
+                               }
+                              else {
+                                 if(t === false) { return; }
+                                    data = s.use_data ? obj.data("jstree") : false;
+                                        if(data && data.types && typeof data.types[rule] !== "undefined") { v = data.types[rule]; }
+                                    else if(!!s.types[t] && typeof s.types[t][rule] !== "undefined") { v = s.types[t][rule]; }
+                                     else if(!!s.types["default"] && typeof s.types["default"][rule] !== "undefined") { v = s.types["default"][rule]; }
+                             }
+                              if($.isFunction(v)) { v = v.call(this, obj); }
+                         if(rule === "max_depth" && obj !== -1 && opts !== false && s.max_depth !== -2 && v !== 0) {
+                                    // also include the node itself - otherwise if root node it is not checked
+                                     obj.children("a:eq(0)").parentsUntil(".jstree","li").each(function (i) {
+                                               // check if current depth already exceeds global tree depth
+                                            if(s.max_depth !== -1 && s.max_depth - (i + 1) <= 0) { v = 0; return false; }
+                                          d = (i === 0) ? v : _this._check(rule, this, false);
+                                           // check if current node max depth is already matched or exceeded
+                                              if(d !== -1 && d - (i + 1) <= 0) { v = 0; return false; }
+                                              // otherwise - set the max depth to the current value minus current depth
+                                              if(d >= 0 && (d - (i + 1) < v || v < 0) ) { v = d - (i + 1); }
+                                         // if the global tree depth exists and it minus the nodes calculated so far is less than `v` or `v` is unlimited
+                                               if(s.max_depth >= 0 && (s.max_depth - (i + 1) < v || v < 0) ) { v = s.max_depth - (i + 1); }
+                                   });
+                            }
+                              return v;
+                      },
+                     check_move : function () {
+                             if(!this.__call_old()) { return false; }
+                               var m  = this._get_move(),
+                                     s  = m.rt._get_settings().types,
+                                       mc = m.rt._check("max_children", m.cr),
+                                        md = m.rt._check("max_depth", m.cr),
+                                   vc = m.rt._check("valid_children", m.cr),
+                                      ch = 0, d = 1, t;
+
+                             if(vc === "none") { return false; }
+                            if($.isArray(vc) && m.ot && m.ot._get_type) {
+                                  m.o.each(function () {
+                                         if($.inArray(m.ot._get_type(this), vc) === -1) { d = false; return false; }
+                                    });
+                                    if(d === false) { return false; }
+                              }
+                              if(s.max_children !== -2 && mc !== -1) {
+                                       ch = m.cr === -1 ? this.get_container().find("> ul > li").not(m.o).length : m.cr.find("> ul > li").not(m.o).length;
+                                    if(ch + m.o.length > mc) { return false; }
+                             }
+                              if(s.max_depth !== -2 && md !== -1) {
+                                  d = 0;
+                                 if(md === 0) { return false; }
+                                 if(typeof m.o.d === "undefined") {
+                                             // TODO: deal with progressive rendering and async when checking max_depth (how to know the depth of the moved node)
+                                           t = m.o;
+                                               while(t.length > 0) {
+                                                  t = t.find("> ul > li");
+                                                       d ++;
+                                          }
+                                              m.o.d = d;
+                                     }
+                                      if(md - m.o.d < 0) { return false; }
+                           }
+                              return true;
+                   },
+                     create_node : function (obj, position, js, callback, is_loaded, skip_check) {
+                          if(!skip_check && (is_loaded || this._is_loaded(obj))) {
+                                       var p  = (typeof position == "string" && position.match(/^before|after$/i) && obj !== -1) ? this._get_parent(obj) : this._get_node(obj),
+                                               s  = this._get_settings().types,
+                                               mc = this._check("max_children", p),
+                                           md = this._check("max_depth", p),
+                                              vc = this._check("valid_children", p),
+                                         ch;
+                                    if(typeof js === "string") { js = { data : js }; }
+                                     if(!js) { js = {}; }
+                                   if(vc === "none") { return false; }
+                                    if($.isArray(vc)) {
+                                            if(!js.attr || !js.attr[s.type_attr]) {
+                                                        if(!js.attr) { js.attr = {}; }
+                                                 js.attr[s.type_attr] = vc[0];
+                                          }
+                                              else {
+                                                 if($.inArray(js.attr[s.type_attr], vc) === -1) { return false; }
+                                               }
+                                      }
+                                      if(s.max_children !== -2 && mc !== -1) {
+                                               ch = p === -1 ? this.get_container().find("> ul > li").length : p.find("> ul > li").length;
+                                            if(ch + 1 > mc) { return false; }
+                                      }
+                                      if(s.max_depth !== -2 && md !== -1 && (md - 1) < 0) { return false; }
+                          }
+                              return this.__call_old(true, obj, position, js, callback, is_loaded, skip_check);
+                      }
+              }
+      });
+})(jQuery);
+//*/
+
+/*
+ * jsTree HTML plugin
+ * The HTML data store. Datastores are build by replacing the `load_node` and `_is_loaded` functions.
+ */
+(function ($) {
+       $.jstree.plugin("html_data", {
+         __init : function () {
+                 // this used to use html() and clean the whitespace, but this way any attached data was lost
+                   this.data.html_data.original_container_html = this.get_container().find(" > ul > li").clone(true);
+                     // remove white space from LI node - otherwise nodes appear a bit to the right
+                 this.data.html_data.original_container_html.find("li").andSelf().contents().filter(function() { return this.nodeType == 3; }).remove();
+                },
+             defaults : {
+                   data : false,
+                  ajax : false,
+                  correct_state : true
+           },
+             _fn : {
+                        load_node : function (obj, s_call, e_call) { var _this = this; this.load_node_html(obj, function () { _this.__callback({ "obj" : _this._get_node(obj) }); s_call.call(this); }, e_call); },
+                    _is_loaded : function (obj) {
+                          obj = this._get_node(obj);
+                             return obj == -1 || !obj || (!this._get_settings().html_data.ajax && !$.isFunction(this._get_settings().html_data.data)) || obj.is(".jstree-open, .jstree-leaf") || obj.children("ul").children("li").size() > 0;
+                      },
+                     load_node_html : function (obj, s_call, e_call) {
+                              var d,
+                                 s = this.get_settings().html_data,
+                                     error_func = function () {},
+                                   success_func = function () {};
+                         obj = this._get_node(obj);
+                             if(obj && obj !== -1) {
+                                        if(obj.data("jstree_is_loading")) { return; }
+                                  else { obj.data("jstree_is_loading",true); }
+                           }
+                              switch(!0) {
+                                   case ($.isFunction(s.data)):
+                                           s.data.call(this, obj, $.proxy(function (d) {
+                                                  if(d && d !== "" && d.toString && d.toString().replace(/^[\s\n]+$/,"") !== "") {
+                                                               d = $(d);
+                                                              if(!d.is("ul")) { d = $("<ul />").append(d); }
+                                                         if(obj == -1 || !obj) { this.get_container().children("ul").empty().append(d.children()).find("li, a").filter(function () { return !this.firstChild || !this.firstChild.tagName || this.firstChild.tagName !== "INS"; }).prepend("<ins class='jstree-icon'>&#160;</ins>").end().filter("a").children("ins:first-child").not(".jstree-icon").addClass("jstree-icon"); }
+                                                         else { obj.children("a.jstree-loading").removeClass("jstree-loading"); obj.append(d).children("ul").find("li, a").filter(function () { return !this.firstChild || !this.firstChild.tagName || this.firstChild.tagName !== "INS"; }).prepend("<ins class='jstree-icon'>&#160;</ins>").end().filter("a").children("ins:first-child").not(".jstree-icon").addClass("jstree-icon"); obj.removeData("jstree_is_loading"); }
+                                                         this.clean_node(obj);
+                                                          if(s_call) { s_call.call(this); }
+                                                      }
+                                                      else {
+                                                         if(obj && obj !== -1) {
+                                                                        obj.children("a.jstree-loading").removeClass("jstree-loading");
+                                                                        obj.removeData("jstree_is_loading");
+                                                                   if(s.correct_state) {
+                                                                          this.correct_state(obj);
+                                                                               if(s_call) { s_call.call(this); }
+                                                                      }
+                                                              }
+                                                              else {
+                                                                 if(s.correct_state) {
+                                                                          this.get_container().children("ul").empty();
+                                                                           if(s_call) { s_call.call(this); }
+                                                                      }
+                                                              }
+                                                      }
+                                              }, this));
+                                             break;
+                                 case (!s.data && !s.ajax):
+                                             if(!obj || obj == -1) {
+                                                        this.get_container()
+                                                           .children("ul").empty()
+                                                                .append(this.data.html_data.original_container_html)
+                                                           .find("li, a").filter(function () { return !this.firstChild || !this.firstChild.tagName || this.firstChild.tagName !== "INS"; }).prepend("<ins class='jstree-icon'>&#160;</ins>").end()
+                                                                .filter("a").children("ins:first-child").not(".jstree-icon").addClass("jstree-icon");
+                                                  this.clean_node();
+                                             }
+                                              if(s_call) { s_call.call(this); }
+                                              break;
+                                 case (!!s.data && !s.ajax) || (!!s.data && !!s.ajax && (!obj || obj === -1)):
+                                          if(!obj || obj == -1) {
+                                                        d = $(s.data);
+                                                 if(!d.is("ul")) { d = $("<ul />").append(d); }
+                                                 this.get_container()
+                                                           .children("ul").empty().append(d.children())
+                                                           .find("li, a").filter(function () { return !this.firstChild || !this.firstChild.tagName || this.firstChild.tagName !== "INS"; }).prepend("<ins class='jstree-icon'>&#160;</ins>").end()
+                                                                .filter("a").children("ins:first-child").not(".jstree-icon").addClass("jstree-icon");
+                                                  this.clean_node();
+                                             }
+                                              if(s_call) { s_call.call(this); }
+                                              break;
+                                 case (!s.data && !!s.ajax) || (!!s.data && !!s.ajax && obj && obj !== -1):
+                                             obj = this._get_node(obj);
+                                             error_func = function (x, t, e) {
+                                                      var ef = this.get_settings().html_data.ajax.error;
+                                                     if(ef) { ef.call(this, x, t, e); }
+                                                     if(obj != -1 && obj.length) {
+                                                          obj.children("a.jstree-loading").removeClass("jstree-loading");
+                                                                obj.removeData("jstree_is_loading");
+                                                           if(t === "success" && s.correct_state) { this.correct_state(obj); }
+                                                    }
+                                                      else {
+                                                         if(t === "success" && s.correct_state) { this.get_container().children("ul").empty(); }
+                                                        }
+                                                      if(e_call) { e_call.call(this); }
+                                              };
+                                             success_func = function (d, t, x) {
+                                                    var sf = this.get_settings().html_data.ajax.success;
+                                                   if(sf) { d = sf.call(this,d,t,x) || d; }
+                                                       if(d === "" || (d && d.toString && d.toString().replace(/^[\s\n]+$/,"") === "")) {
+                                                             return error_func.call(this, x, t, "");
+                                                        }
+                                                      if(d) {
+                                                                d = $(d);
+                                                              if(!d.is("ul")) { d = $("<ul />").append(d); }
+                                                         if(obj == -1 || !obj) { this.get_container().children("ul").empty().append(d.children()).find("li, a").filter(function () { return !this.firstChild || !this.firstChild.tagName || this.firstChild.tagName !== "INS"; }).prepend("<ins class='jstree-icon'>&#160;</ins>").end().filter("a").children("ins:first-child").not(".jstree-icon").addClass("jstree-icon"); }
+                                                         else { obj.children("a.jstree-loading").removeClass("jstree-loading"); obj.append(d).children("ul").find("li, a").filter(function () { return !this.firstChild || !this.firstChild.tagName || this.firstChild.tagName !== "INS"; }).prepend("<ins class='jstree-icon'>&#160;</ins>").end().filter("a").children("ins:first-child").not(".jstree-icon").addClass("jstree-icon"); obj.removeData("jstree_is_loading"); }
+                                                         this.clean_node(obj);
+                                                          if(s_call) { s_call.call(this); }
+                                                      }
+                                                      else {
+                                                         if(obj && obj !== -1) {
+                                                                        obj.children("a.jstree-loading").removeClass("jstree-loading");
+                                                                        obj.removeData("jstree_is_loading");
+                                                                   if(s.correct_state) {
+                                                                          this.correct_state(obj);
+                                                                               if(s_call) { s_call.call(this); }
+                                                                      }
+                                                              }
+                                                              else {
+                                                                 if(s.correct_state) {
+                                                                          this.get_container().children("ul").empty();
+                                                                           if(s_call) { s_call.call(this); }
+                                                                      }
+                                                              }
+                                                      }
+                                              };
+                                             s.ajax.context = this;
+                                         s.ajax.error = error_func;
+                                             s.ajax.success = success_func;
+                                         if(!s.ajax.dataType) { s.ajax.dataType = "html"; }
+                                             if($.isFunction(s.ajax.url)) { s.ajax.url = s.ajax.url.call(this, obj); }
+                                              if($.isFunction(s.ajax.data)) { s.ajax.data = s.ajax.data.call(this, obj); }
+                                           $.ajax(s.ajax);
+                                                break;
+                         }
+                      }
+              }
+      });
+    // include the HTML data plugin by default
+     $.jstree.defaults.plugins.push("html_data");
+})(jQuery);
+//*/
+
+/*
+ * jsTree themeroller plugin
+ * Adds support for jQuery UI themes. Include this at the end of your plugins list, also make sure "themes" is not included.
+ */
+(function ($) {
+        $.jstree.plugin("themeroller", {
+               __init : function () {
+                 var s = this._get_settings().themeroller;
+                      this.get_container()
+                           .addClass("ui-widget-content")
+                         .addClass("jstree-themeroller")
+                                .delegate("a","mouseenter.jstree", function (e) {
+                                      if(!$(e.currentTarget).hasClass("jstree-loading")) {
+                                           $(this).addClass(s.item_h);
+                                    }
+                              })
+                             .delegate("a","mouseleave.jstree", function () {
+                                       $(this).removeClass(s.item_h);
+                         })
+                             .bind("init.jstree", $.proxy(function (e, data) {
+                                              data.inst.get_container().find("> ul > li > .jstree-loading > ins").addClass("ui-icon-refresh");
+                                               this._themeroller(data.inst.get_container().find("> ul > li"));
+                                        }, this))
+                              .bind("open_node.jstree create_node.jstree", $.proxy(function (e, data) {
+                                              this._themeroller(data.rslt.obj);
+                                      }, this))
+                              .bind("loaded.jstree refresh.jstree", $.proxy(function (e) {
+                                           this._themeroller();
+                                   }, this))
+                              .bind("close_node.jstree", $.proxy(function (e, data) {
+                                                this._themeroller(data.rslt.obj);
+                                      }, this))
+                              .bind("delete_node.jstree", $.proxy(function (e, data) {
+                                               this._themeroller(data.rslt.parent);
+                                   }, this))
+                              .bind("correct_state.jstree", $.proxy(function (e, data) {
+                                             data.rslt.obj
+                                                  .children("ins.jstree-icon").removeClass(s.opened + " " + s.closed + " ui-icon").end()
+                                                 .find("> a > ins.ui-icon")
+                                                             .filter(function() {
+                                                                   return this.className.toString()
+                                                                               .replace(s.item_clsd,"").replace(s.item_open,"").replace(s.item_leaf,"")
+                                                                               .indexOf("ui-icon-") === -1;
+                                                           }).removeClass(s.item_open + " " + s.item_clsd).addClass(s.item_leaf || "jstree-no-icon");
+                                     }, this))
+                              .bind("select_node.jstree", $.proxy(function (e, data) {
+                                               data.rslt.obj.children("a").addClass(s.item_a);
+                                        }, this))
+                              .bind("deselect_node.jstree deselect_all.jstree", $.proxy(function (e, data) {
+                                         this.get_container()
+                                                   .find("a." + s.item_a).removeClass(s.item_a).end()
+                                                     .find("a.jstree-clicked").addClass(s.item_a);
+                                  }, this))
+                              .bind("dehover_node.jstree", $.proxy(function (e, data) {
+                                              data.rslt.obj.children("a").removeClass(s.item_h);
+                                     }, this))
+                              .bind("hover_node.jstree", $.proxy(function (e, data) {
+                                                this.get_container()
+                                                   .find("a." + s.item_h).not(data.rslt.obj).removeClass(s.item_h);
+                                               data.rslt.obj.children("a").addClass(s.item_h);
+                                        }, this))
+                              .bind("move_node.jstree", $.proxy(function (e, data) {
+                                         this._themeroller(data.rslt.o);
+                                                this._themeroller(data.rslt.op);
+                                       }, this));
+             },
+             __destroy : function () {
+                      var s = this._get_settings().themeroller,
+                              c = [ "ui-icon" ];
+                     $.each(s, function (i, v) {
+                            v = v.split(" ");
+                              if(v.length) { c = c.concat(v); }
+                      });
+                    this.get_container()
+                           .removeClass("ui-widget-content")
+                              .find("." + c.join(", .")).removeClass(c.join(" "));
+           },
+             _fn : {
+                        _themeroller : function (obj) {
+                                var s = this._get_settings().themeroller;
+                              obj = !obj || obj == -1 ? this.get_container_ul() : this._get_node(obj).parent();
+                              obj
+                                    .find("li.jstree-closed")
+                                              .children("ins.jstree-icon").removeClass(s.opened).addClass("ui-icon " + s.closed).end()
+                                               .children("a").addClass(s.item)
+                                                        .children("ins.jstree-icon").addClass("ui-icon")
+                                                               .filter(function() {
+                                                                   return this.className.toString()
+                                                                               .replace(s.item_clsd,"").replace(s.item_open,"").replace(s.item_leaf,"")
+                                                                               .indexOf("ui-icon-") === -1;
+                                                           }).removeClass(s.item_leaf + " " + s.item_open).addClass(s.item_clsd || "jstree-no-icon")
+                                                              .end()
+                                                 .end()
+                                         .end()
+                                 .end()
+                                 .find("li.jstree-open")
+                                                .children("ins.jstree-icon").removeClass(s.closed).addClass("ui-icon " + s.opened).end()
+                                               .children("a").addClass(s.item)
+                                                        .children("ins.jstree-icon").addClass("ui-icon")
+                                                               .filter(function() {
+                                                                   return this.className.toString()
+                                                                               .replace(s.item_clsd,"").replace(s.item_open,"").replace(s.item_leaf,"")
+                                                                               .indexOf("ui-icon-") === -1;
+                                                           }).removeClass(s.item_leaf + " " + s.item_clsd).addClass(s.item_open || "jstree-no-icon")
+                                                              .end()
+                                                 .end()
+                                         .end()
+                                 .end()
+                                 .find("li.jstree-leaf")
+                                                .children("ins.jstree-icon").removeClass(s.closed + " ui-icon " + s.opened).end()
+                                              .children("a").addClass(s.item)
+                                                        .children("ins.jstree-icon").addClass("ui-icon")
+                                                               .filter(function() {
+                                                                   return this.className.toString()
+                                                                               .replace(s.item_clsd,"").replace(s.item_open,"").replace(s.item_leaf,"")
+                                                                               .indexOf("ui-icon-") === -1;
+                                                           }).removeClass(s.item_clsd + " " + s.item_open).addClass(s.item_leaf || "jstree-no-icon");
+                     }
+              },
+             defaults : {
+                   "opened"    : "ui-icon-triangle-1-se",
+                    "closed"   : "ui-icon-triangle-1-e",
+                     "item"            : "ui-state-default",
+                  "item_h"     : "ui-state-hover",
+                   "item_a"    : "ui-state-active",
+                  "item_open"  : "ui-icon-folder-open",
+                   "item_clsd" : "ui-icon-folder-collapsed",
+                      "item_leaf"      : "ui-icon-document"
+               }
+      });
+    $(function() {
+         var css_string = '' +
+                  '.jstree-themeroller .ui-icon { overflow:visible; } ' +
+                        '.jstree-themeroller a { padding:0 2px; } ' +
+                  '.jstree-themeroller .jstree-no-icon { display:none; }';
+               $.vakata.css.add_sheet({ str : css_string, title : "jstree" });
+        });
+})(jQuery);
+//*/
+
+/*
+ * jsTree unique plugin
+ * Forces different names amongst siblings (still a bit experimental)
+ * NOTE: does not check language versions (it will not be possible to have nodes with the same title, even in different languages)
+ */
+(function ($) {
+  $.jstree.plugin("unique", {
+            __init : function () {
+                 this.get_container()
+                           .bind("before.jstree", $.proxy(function (e, data) {
+                                            var nms = [], res = true, p, t;
+                                                if(data.func == "move_node") {
+                                                 // obj, ref, position, is_copy, is_prepared, skip_check
+                                                        if(data.args[4] === true) {
+                                                            if(data.args[0].o && data.args[0].o.length) {
+                                                                  data.args[0].o.children("a").each(function () { nms.push($(this).text().replace(/^\s+/g,"")); });
+                                                                      res = this._check_unique(nms, data.args[0].np.find("> ul > li").not(data.args[0].o), "move_node");
+                                                             }
+                                                      }
+                                              }
+                                              if(data.func == "create_node") {
+                                                       // obj, position, js, callback, is_loaded
+                                                      if(data.args[4] || this._is_loaded(data.args[0])) {
+                                                            p = this._get_node(data.args[0]);
+                                                              if(data.args[1] && (data.args[1] === "before" || data.args[1] === "after")) {
+                                                                  p = this._get_parent(data.args[0]);
+                                                                    if(!p || p === -1) { p = this.get_container(); }
+                                                               }
+                                                              if(typeof data.args[2] === "string") { nms.push(data.args[2]); }
+                                                               else if(!data.args[2] || !data.args[2].data) { nms.push(this._get_string("new_node")); }
+                                                               else { nms.push(data.args[2].data); }
+                                                          res = this._check_unique(nms, p.find("> ul > li"), "create_node");
+                                                     }
+                                              }
+                                              if(data.func == "rename_node") {
+                                                       // obj, val
+                                                    nms.push(data.args[1]);
+                                                        t = this._get_node(data.args[0]);
+                                                      p = this._get_parent(t);
+                                                       if(!p || p === -1) { p = this.get_container(); }
+                                                       res = this._check_unique(nms, p.find("> ul > li").not(t), "rename_node");
+                                              }
+                                              if(!res) {
+                                                     e.stopPropagation();
+                                                   return false;
+                                          }
+                                      }, this));
+             },
+             defaults : {
+                   error_callback : $.noop
+                },
+             _fn : {
+                        _check_unique : function (nms, p, func) {
+                              var cnms = [];
+                         p.children("a").each(function () { cnms.push($(this).text().replace(/^\s+/g,"")); });
+                          if(!cnms.length || !nms.length) { return true; }
+                               cnms = cnms.sort().join(",,").replace(/(,|^)([^,]+)(,,\2)+(,|$)/g,"$1$2$4").replace(/,,+/g,",").replace(/,$/,"").split(",");
+                           if((cnms.length + nms.length) != cnms.concat(nms).sort().join(",,").replace(/(,|^)([^,]+)(,,\2)+(,|$)/g,"$1$2$4").replace(/,,+/g,",").replace(/,$/,"").split(",").length) {
+                                    this._get_settings().unique.error_callback.call(null, nms, p, func);
+                                   return false;
+                          }
+                              return true;
+                   },
+                     check_move : function () {
+                             if(!this.__call_old()) { return false; }
+                               var p = this._get_move(), nms = [];
+                            if(p.o && p.o.length) {
+                                        p.o.children("a").each(function () { nms.push($(this).text().replace(/^\s+/g,"")); });
+                                 return this._check_unique(nms, p.np.find("> ul > li").not(p.o), "check_move");
+                         }
+                              return true;
+                   }
+              }
+      });
+})(jQuery);
+//*/
+
+/*
+ * jsTree wholerow plugin
+ * Makes select and hover work on the entire width of the node
+ * MAY BE HEAVY IN LARGE DOM
+ */
+(function ($) {
+     $.jstree.plugin("wholerow", {
+          __init : function () {
+                 if(!this.data.ui) { throw "jsTree wholerow: jsTree UI plugin not included."; }
+                 this.data.wholerow.html = false;
+                       this.data.wholerow.to = false;
+                 this.get_container()
+                           .bind("init.jstree", $.proxy(function (e, data) {
+                                              this._get_settings().core.animation = 0;
+                                       }, this))
+                              .bind("open_node.jstree create_node.jstree clean_node.jstree loaded.jstree", $.proxy(function (e, data) {
+                                              this._prepare_wholerow_span( data && data.rslt && data.rslt.obj ? data.rslt.obj : -1 );
+                                        }, this))
+                              .bind("search.jstree clear_search.jstree reopen.jstree after_open.jstree after_close.jstree create_node.jstree delete_node.jstree clean_node.jstree", $.proxy(function (e, data) {
+                                             if(this.data.to) { clearTimeout(this.data.to); }
+                                               this.data.to = setTimeout( (function (t, o) { return function() { t._prepare_wholerow_ul(o); }; })(this,  data && data.rslt && data.rslt.obj ? data.rslt.obj : -1), 0);
+                                        }, this))
+                              .bind("deselect_all.jstree", $.proxy(function (e, data) {
+                                              this.get_container().find(" > .jstree-wholerow .jstree-clicked").removeClass("jstree-clicked " + (this.data.themeroller ? this._get_settings().themeroller.item_a : "" ));
+                                     }, this))
+                              .bind("select_node.jstree deselect_node.jstree ", $.proxy(function (e, data) {
+                                         data.rslt.obj.each(function () {
+                                                       var ref = data.inst.get_container().find(" > .jstree-wholerow li:visible:eq(" + ( parseInt((($(this).offset().top - data.inst.get_container().offset().top + data.inst.get_container()[0].scrollTop) / data.inst.data.core.li_height),10)) + ")");
+                                                     // ref.children("a")[e.type === "select_node" ? "addClass" : "removeClass"]("jstree-clicked");
+                                                 ref.children("a").attr("class",data.rslt.obj.children("a").attr("class"));
+                                             });
+                                    }, this))
+                              .bind("hover_node.jstree dehover_node.jstree", $.proxy(function (e, data) {
+                                            this.get_container().find(" > .jstree-wholerow .jstree-hovered").removeClass("jstree-hovered " + (this.data.themeroller ? this._get_settings().themeroller.item_h : "" ));
+                                             if(e.type === "hover_node") {
+                                                  var ref = this.get_container().find(" > .jstree-wholerow li:visible:eq(" + ( parseInt(((data.rslt.obj.offset().top - this.get_container().offset().top + this.get_container()[0].scrollTop) / this.data.core.li_height),10)) + ")");
+                                                   // ref.children("a").addClass("jstree-hovered");
+                                                       ref.children("a").attr("class",data.rslt.obj.children(".jstree-hovered").attr("class"));
+                                               }
+                                      }, this))
+                              .delegate(".jstree-wholerow-span, ins.jstree-icon, li", "click.jstree", function (e) {
+                                         var n = $(e.currentTarget);
+                                            if(e.target.tagName === "A" || (e.target.tagName === "INS" && n.closest("li").is(".jstree-open, .jstree-closed"))) { return; }
+                                         n.closest("li").children("a:visible:eq(0)").click();
+                                           e.stopImmediatePropagation();
+                                  })
+                             .delegate("li", "mouseover.jstree", $.proxy(function (e) {
+                                             e.stopImmediatePropagation();
+                                          if($(e.currentTarget).children(".jstree-hovered, .jstree-clicked").length) { return false; }
+                                           this.hover_node(e.currentTarget);
+                                              return false;
+                                  }, this))
+                              .delegate("li", "mouseleave.jstree", $.proxy(function (e) {
+                                            if($(e.currentTarget).children("a").hasClass("jstree-hovered").length) { return; }
+                                             this.dehover_node(e.currentTarget);
+                                    }, this));
+                     if(is_ie7 || is_ie6) {
+                         $.vakata.css.add_sheet({ str : ".jstree-" + this.get_index() + " { position:relative; } ", title : "jstree" });
+                        }
+              },
+             defaults : {
+           },
+             __destroy : function () {
+                      this.get_container().children(".jstree-wholerow").remove();
+                    this.get_container().find(".jstree-wholerow-span").remove();
+           },
+             _fn : {
+                        _prepare_wholerow_span : function (obj) {
+                              obj = !obj || obj == -1 ? this.get_container().find("> ul > li") : this._get_node(obj);
+                                if(obj === false) { return; } // added for removing root nodes
+                         obj.each(function () {
+                                 $(this).find("li").andSelf().each(function () {
+                                                var $t = $(this);
+                                              if($t.children(".jstree-wholerow-span").length) { return true; }
+                                               $t.prepend("<span class='jstree-wholerow-span' style='width:" + ($t.parentsUntil(".jstree","li").length * 18) + "px;'>&#160;</span>");
+                                 });
+                            });
+                    },
+                     _prepare_wholerow_ul : function () {
+                           var o = this.get_container().children("ul").eq(0), h = o.html();
+                               o.addClass("jstree-wholerow-real");
+                            if(this.data.wholerow.last_html !== h) {
+                                       this.data.wholerow.last_html = h;
+                                      this.get_container().children(".jstree-wholerow").remove();
+                                    this.get_container().append(
+                                           o.clone().removeClass("jstree-wholerow-real")
+                                                  .wrapAll("<div class='jstree-wholerow' />").parent()
+                                                   .width(o.parent()[0].scrollWidth)
+                                                      .css("top", (o.height() + ( is_ie7 ? 5 : 0)) * -1 )
+                                                    .find("li[id]").each(function () { this.removeAttribute("id"); }).end()
+                                        );
+                             }
+                      }
+              }
+      });
+    $(function() {
+         var css_string = '' +
+                  '.jstree .jstree-wholerow-real { position:relative; z-index:1; } ' +
+                   '.jstree .jstree-wholerow-real li { cursor:pointer; } ' +
+                      '.jstree .jstree-wholerow-real a { border-left-color:transparent !important; border-right-color:transparent !important; } ' +
+                  '.jstree .jstree-wholerow { position:relative; z-index:0; height:0; } ' +
+                      '.jstree .jstree-wholerow ul, .jstree .jstree-wholerow li { width:100%; } ' +
+                  '.jstree .jstree-wholerow, .jstree .jstree-wholerow ul, .jstree .jstree-wholerow li, .jstree .jstree-wholerow a { margin:0 !important; padding:0 !important; } ' +
+                     '.jstree .jstree-wholerow, .jstree .jstree-wholerow ul, .jstree .jstree-wholerow li { background:transparent !important; }' +
+                  '.jstree .jstree-wholerow ins, .jstree .jstree-wholerow span, .jstree .jstree-wholerow input { display:none !important; }' +
+                   '.jstree .jstree-wholerow a, .jstree .jstree-wholerow a:hover { text-indent:-9999px; !important; width:100%; padding:0 !important; border-right-width:0px !important; border-left-width:0px !important; } ' +
+                  '.jstree .jstree-wholerow-span { position:absolute; left:0; margin:0px; padding:0; height:18px; border-width:0; padding:0; z-index:0; }';
+              if(is_ff2) {
+                   css_string += '' +
+                             '.jstree .jstree-wholerow a { display:block; height:18px; margin:0; padding:0; border:0; } ' +
+                         '.jstree .jstree-wholerow-real a { border-color:transparent !important; } ';
+           }
+              if(is_ie7 || is_ie6) {
+                 css_string += '' +
+                             '.jstree .jstree-wholerow, .jstree .jstree-wholerow li, .jstree .jstree-wholerow ul, .jstree .jstree-wholerow a { margin:0; padding:0; line-height:18px; } ' +
+                         '.jstree .jstree-wholerow a { display:block; height:18px; line-height:18px; overflow:hidden; } ';
+              }
+              $.vakata.css.add_sheet({ str : css_string, title : "jstree" });
+        });
+})(jQuery);
+//*/
+
+/*
+* jsTree model plugin
+* This plugin gets jstree to use a class model to retrieve data, creating great dynamism
+*/
+(function ($) {
+     var nodeInterface = ["getChildren","getChildrenCount","getAttr","getName","getProps"],
+         validateInterface = function(obj, inter) {
+                     var valid = true;
+                      obj = obj || {};
+                       inter = [].concat(inter);
+                      $.each(inter, function (i, v) {
+                                if(!$.isFunction(obj[v])) { valid = false; return false; }
+                     });
+                    return valid;
+          };
+     $.jstree.plugin("model", {
+             __init : function () {
+                 if(!this.data.json_data) { throw "jsTree model: jsTree json_data plugin not included."; }
+                      this._get_settings().json_data.data = function (n, b) {
+                                var obj = (n == -1) ? this._get_settings().model.object : n.data("jstree_model");
+                              if(!validateInterface(obj, nodeInterface)) { return b.call(null, false); }
+                             if(this._get_settings().model.async) {
+                                 obj.getChildren($.proxy(function (data) {
+                                              this.model_done(data, b);
+                                      }, this));
+                             }
+                              else {
+                                 this.model_done(obj.getChildren(), b);
+                         }
+                      };
+             },
+             defaults : {
+                   object : false,
+                        id_prefix : false,
+                     async : false
+          },
+             _fn : {
+                        model_done : function (data, callback) {
+                               var ret = [],
+                                  s = this._get_settings(),
+                                      _this = this;
+
+                         if(!$.isArray(data)) { data = [data]; }
+                                $.each(data, function (i, nd) {
+                                        var r = nd.getProps() || {};
+                                   r.attr = nd.getAttr() || {};
+                                   if(nd.getChildrenCount()) { r.state = "closed"; }
+                                      r.data = nd.getName();
+                                 if(!$.isArray(r.data)) { r.data = [r.data]; }
+                                  if(_this.data.types && $.isFunction(nd.getType)) {
+                                             r.attr[s.types.type_attr] = nd.getType();
+                                      }
+                                      if(r.attr.id && s.model.id_prefix) { r.attr.id = s.model.id_prefix + r.attr.id; }
+                                      if(!r.metadata) { r.metadata = { }; }
+                                  r.metadata.jstree_model = nd;
+                                  ret.push(r);
+                           });
+                            callback.call(null, ret);
+                      }
+              }
+      });
+})(jQuery);
+//*/
+
+})();
\ No newline at end of file
diff --git a/koha-tmpl/intranet-tmpl/lib/jquery/plugins/themes/classic/d.gif b/koha-tmpl/intranet-tmpl/lib/jquery/plugins/themes/classic/d.gif
new file mode 100644 (file)
index 0000000..6eb0004
Binary files /dev/null and b/koha-tmpl/intranet-tmpl/lib/jquery/plugins/themes/classic/d.gif differ
diff --git a/koha-tmpl/intranet-tmpl/lib/jquery/plugins/themes/classic/d.png b/koha-tmpl/intranet-tmpl/lib/jquery/plugins/themes/classic/d.png
new file mode 100644 (file)
index 0000000..275daec
Binary files /dev/null and b/koha-tmpl/intranet-tmpl/lib/jquery/plugins/themes/classic/d.png differ
diff --git a/koha-tmpl/intranet-tmpl/lib/jquery/plugins/themes/classic/dot_for_ie.gif b/koha-tmpl/intranet-tmpl/lib/jquery/plugins/themes/classic/dot_for_ie.gif
new file mode 100644 (file)
index 0000000..c0cc5fd
Binary files /dev/null and b/koha-tmpl/intranet-tmpl/lib/jquery/plugins/themes/classic/dot_for_ie.gif differ
diff --git a/koha-tmpl/intranet-tmpl/lib/jquery/plugins/themes/classic/style.css b/koha-tmpl/intranet-tmpl/lib/jquery/plugins/themes/classic/style.css
new file mode 100644 (file)
index 0000000..9fbab0e
--- /dev/null
@@ -0,0 +1,77 @@
+/*
+ * jsTree classic theme 1.0
+ * Supported features: dots/no-dots, icons/no-icons, focused, loading
+ * Supported plugins: ui (hovered, clicked), checkbox, contextmenu, search
+ */
+
+.jstree-classic li,
+.jstree-classic ins { background-image:url("d.png"); background-repeat:no-repeat; background-color:transparent; }
+.jstree-classic li { background-position:-90px 0; background-repeat:repeat-y;  }
+.jstree-classic li.jstree-last { background:transparent; }
+.jstree-classic .jstree-open > ins { background-position:-72px 0; }
+.jstree-classic .jstree-closed > ins { background-position:-54px 0; }
+.jstree-classic .jstree-leaf > ins { background-position:-36px 0; }
+
+.jstree-classic .jstree-hovered { background:#e7f4f9; border:1px solid #e7f4f9; padding:0 2px 0 1px; }
+.jstree-classic .jstree-clicked { background:navy; border:1px solid navy; padding:0 2px 0 1px; color:white; }
+.jstree-classic a .jstree-icon { background-position:-56px -19px; }
+.jstree-classic .jstree-open > a .jstree-icon { background-position:-56px -36px; }
+.jstree-classic a.jstree-loading .jstree-icon { background:url("throbber.gif") center center no-repeat !important; }
+
+.jstree-classic.jstree-focused { background:white; }
+
+.jstree-classic .jstree-no-dots li,
+.jstree-classic .jstree-no-dots .jstree-leaf > ins { background:transparent; }
+.jstree-classic .jstree-no-dots .jstree-open > ins { background-position:-18px 0; }
+.jstree-classic .jstree-no-dots .jstree-closed > ins { background-position:0 0; }
+
+.jstree-classic .jstree-no-icons a .jstree-icon { display:none; }
+
+.jstree-classic .jstree-search { font-style:italic; }
+
+.jstree-classic .jstree-no-icons .jstree-checkbox { display:inline-block; }
+.jstree-classic .jstree-no-checkboxes .jstree-checkbox { display:none !important; }
+.jstree-classic .jstree-checked > a > .jstree-checkbox { background-position:-38px -19px; }
+.jstree-classic .jstree-unchecked > a > .jstree-checkbox { background-position:-2px -19px; }
+.jstree-classic .jstree-undetermined > a > .jstree-checkbox { background-position:-20px -19px; }
+.jstree-classic .jstree-checked > a > .jstree-checkbox:hover { background-position:-38px -37px; }
+.jstree-classic .jstree-unchecked > a > .jstree-checkbox:hover { background-position:-2px -37px; }
+.jstree-classic .jstree-undetermined > a > .jstree-checkbox:hover { background-position:-20px -37px; }
+
+#vakata-dragged.jstree-classic ins { background:transparent !important; }
+#vakata-dragged.jstree-classic .jstree-ok { background:url("d.png") -2px -53px no-repeat !important; }
+#vakata-dragged.jstree-classic .jstree-invalid { background:url("d.png") -18px -53px no-repeat !important; }
+#jstree-marker.jstree-classic { background:url("d.png") -41px -57px no-repeat !important; text-indent:-100px; }
+
+.jstree-classic a.jstree-search { color:aqua; }
+.jstree-classic .jstree-locked a { color:silver; cursor:default; }
+
+#vakata-contextmenu.jstree-classic-context,
+#vakata-contextmenu.jstree-classic-context li ul { background:#f0f0f0; border:1px solid #979797; -moz-box-shadow: 1px 1px 2px #999; -webkit-box-shadow: 1px 1px 2px #999; box-shadow: 1px 1px 2px #999; }
+#vakata-contextmenu.jstree-classic-context li { }
+#vakata-contextmenu.jstree-classic-context a { color:black; }
+#vakata-contextmenu.jstree-classic-context a:hover,
+#vakata-contextmenu.jstree-classic-context .vakata-hover > a { padding:0 5px; background:#e8eff7; border:1px solid #aecff7; color:black; -moz-border-radius:2px; -webkit-border-radius:2px; border-radius:2px; }
+#vakata-contextmenu.jstree-classic-context li.jstree-contextmenu-disabled a,
+#vakata-contextmenu.jstree-classic-context li.jstree-contextmenu-disabled a:hover { color:silver; background:transparent; border:0; padding:1px 4px; }
+#vakata-contextmenu.jstree-classic-context li.vakata-separator { background:white; border-top:1px solid #e0e0e0; margin:0; }
+#vakata-contextmenu.jstree-classic-context li ul { margin-left:-4px; }
+
+/* IE6 BEGIN */
+.jstree-classic li,
+.jstree-classic ins,
+#vakata-dragged.jstree-classic .jstree-invalid,
+#vakata-dragged.jstree-classic .jstree-ok,
+#jstree-marker.jstree-classic { _background-image:url("d.gif"); }
+.jstree-classic .jstree-open ins { _background-position:-72px 0; }
+.jstree-classic .jstree-closed ins { _background-position:-54px 0; }
+.jstree-classic .jstree-leaf ins { _background-position:-36px 0; }
+.jstree-classic .jstree-open a ins.jstree-icon { _background-position:-56px -36px; }
+.jstree-classic .jstree-closed a ins.jstree-icon { _background-position:-56px -19px; }
+.jstree-classic .jstree-leaf a ins.jstree-icon { _background-position:-56px -19px; }
+#vakata-contextmenu.jstree-classic-context ins { _display:none; }
+#vakata-contextmenu.jstree-classic-context li { _zoom:1; }
+.jstree-classic .jstree-undetermined a .jstree-checkbox { _background-position:-20px -19px; }
+.jstree-classic .jstree-checked a .jstree-checkbox { _background-position:-38px -19px; }
+.jstree-classic .jstree-unchecked a .jstree-checkbox { _background-position:-2px -19px; }
+/* IE6 END */
\ No newline at end of file
diff --git a/koha-tmpl/intranet-tmpl/lib/jquery/plugins/themes/classic/throbber.gif b/koha-tmpl/intranet-tmpl/lib/jquery/plugins/themes/classic/throbber.gif
new file mode 100644 (file)
index 0000000..5b33f7e
Binary files /dev/null and b/koha-tmpl/intranet-tmpl/lib/jquery/plugins/themes/classic/throbber.gif differ
index a54c612..214e543 100644 (file)
@@ -64,7 +64,6 @@ div.dataTables_filter {
 }
 div.dataTables_paginate {
     background-color : #F4F4F4;
-    font-size: 110%;
     padding : 0;
 }
 
@@ -131,7 +130,7 @@ div.dataTables_paginate.paging_four_button {
     background-color : transparent;
     border-right : 1px solid #686868;
     border-left : 1px solid #FFF;
-    line-height : 1.8em;
+    line-height : 2.5em;
 }
 .paginate_disabled_first,
 .paginate_enabled_first,
@@ -141,37 +140,64 @@ div.dataTables_paginate.paging_four_button {
 .paginate_enabled_next,
 .paginate_disabled_last,
 .paginate_enabled_last {
-    float: left;
-    height: 16px;
-    margin: .5em;
-    width: 16px;
+    cursor: pointer;
+    *cursor: hand;
+    padding: .1em 0;
+}
+
+.paginate_disabled_previous,
+.paginate_enabled_previous,
+.paginate_disabled_next,
+.paginate_enabled_next {
+    color: #111 !important;
+}
+
+.paginate_disabled_previous,
+.paginate_enabled_previous {
+    padding-left: 23px;
+}
+.paginate_disabled_next,
+.paginate_enabled_next,
+.paginate_disabled_last,
+.paginate_enabled_last {
+    padding-right: 23px;
+    margin-left: 10px;
+    margin-right : .3em;
+}
+
+.paging_four_button .paginate_disabled_first,
+.paging_four_button .paginate_disabled_previous,
+.paging_four_button .paginate_enabled_first,
+.paging_four_button .paginate_enabled_previous  {
+    margin-left : .3em;
 }
+
 .paginate_disabled_first {
-    background-image: url("../../img/first-disabled.png");
+    background: transparent url("../../img/first-disabled.png") no-repeat 3px top;
 }
 .paginate_enabled_first {
-    background-image: url("../../img/first.png");
+    background: transparent url("../../img/first.png") no-repeat 3px top;
     cursor: pointer;
 }
 .paginate_disabled_previous {
-    background-image: url("../../img/prev-disabled.png");
+    background: transparent url("../../img/prev-disabled.png") no-repeat 3px top;
 }
 .paginate_enabled_previous {
-    background-image: url("../../img/prev.png");
+    background: transparent url("../../img/prev.png") no-repeat 3px top;
     cursor: pointer;
 }
 .paginate_disabled_next {
-    background-image: url("../../img/next-disabled.png");
+    background: transparent url("../../img/next-disabled.png") no-repeat right top;
 }
 .paginate_enabled_next {
-    background-image: url("../../img/next.png");
+    background: transparent url("../../img/next.png") no-repeat right top;
     cursor: pointer;
 }
 .paginate_disabled_last {
-    background-image: url("../../img/last-disabled.png");
+    background: transparent url("../../img/last-disabled.png") no-repeat right top;
 }
 .paginate_enabled_last {
-    background-image: url("../../img/last.png");
+    background: transparent url("../../img/last.png") no-repeat right top;
     cursor: pointer;
 }
 
@@ -191,10 +217,6 @@ div.dataTables_paginate.paging_four_button {
     width: 250px;
 }
 
-input {
-    border-radius: 5px;
-}
-
 tr.odd.selected td {
     background-color: #D3D3D3;
 }
@@ -203,90 +225,3 @@ tr.even.selected td {
     background-color: #D3D3D3;
 }
 
-/*
-table.display {
-    width: 100%;
-}
-table.display thead th {
-    border-bottom: 1px solid black;
-    cursor: pointer;
-    font-weight: bold;
-    padding: 3px 18px 3px 10px;
-}
-.dataTables_wrapper {
-    clear: both;
-    position: relative;
-}
-.dataTables_processing {
-    background-color: white;
-    border: 1px solid #DDDDDD;
-    color: #999999;
-    font-size: 14px;
-    height: 30px;
-    left: 50%;
-    margin-left: -125px;
-    margin-top: -15px;
-    padding: 14px 0 2px;
-    position: fixed;
-    text-align: center;
-    top: 50%;
-    width: 250px;
-}
-.dataTables_info {
-    float: left;
-    width: 60%;
-}
-.dataTables_paginate {
-    float: right;
-    text-align: right;
-    width: 44px;
-}
-.paging_full_numbers {
-    height: 22px;
-    line-height: 22px;
-    width: 400px;
-}
-.paging_full_numbers span.paginate_button,
-     .paging_full_numbers span.paginate_active {
-    border: 1px solid #aaa;
-    -webkit-border-radius: 5px;
-    -moz-border-radius: 5px;
-    padding: 2px 5px;
-    margin: 0 3px;
-    cursor: pointer;
-    *cursor: hand;
-}
-
-.paging_full_numbers span.paginate_button {
-    background-color: #ddd;
-}
-
-.paging_full_numbers span.paginate_button:hover {
-    background-color: #ccc;
-}
-
-.paging_full_numbers span.paginate_active {
-    background-color: #99B3FF;
-}
-.paginate_disabled_previous, .paginate_enabled_previous, .paginate_disabled_next, .paginate_enabled_next {
-    float: left;
-    height: 19px;
-    margin-left: 3px;
-    width: 19px;
-}
-.paginate_disabled_previous {
-    background-image: url("../../img/datatables/back_disabled.jpg");
-}
-.paginate_enabled_previous {
-    background-image: url("../../img/datatables/back_enabled.jpg");
-}
-.paginate_disabled_next {
-    background-image: url("../../img/datatables/forward_disabled.jpg");
-}
-.paginate_enabled_next {
-    background-image: url("../../img/datatables/forward_enabled.jpg");
-}
-.spacer {
-    clear: both;
-    height: 20px;
-}
index cda5b9e..71c3d3f 100644 (file)
@@ -158,7 +158,7 @@ em strong {
        padding-top : 1em;
 }
 
-#login  {
+#login_controls         {
        position : absolute;
        right : .5em;
 }
@@ -634,8 +634,9 @@ fieldset.rows label, fieldset.rows span.label {
 }
 
 fieldset.rows fieldset {
+    background-color: #FFF;
        border-width : 1px;
-       margin : 0 0 .5em 0;
+    margin : 1em;
        padding : .3em;
 }
 
@@ -734,6 +735,10 @@ fieldset.action, div.action {
   width: auto;
 }
 
+div.rows+div.rows {
+    margin-top : .6em;
+}
+
 div.rows {
 float : left;
 clear : left;
@@ -1184,6 +1189,16 @@ div.alert strong {
     list-style-position:inside;
 }
 
+a.clear-field {
+    background : transparent url("../../img/clear-field.png") center left no-repeat;
+    padding-left : 16px;
+}
+
+a.clone-field {
+    background : transparent url("../../img/clone-field.png") center left no-repeat;
+    padding-left : 20px;
+}
+
 a.document {
        background-position : left middle;
        background-repeat : no-repeat;
@@ -2112,6 +2127,7 @@ div.pager {
        background-color : #E8E8E8;
        border : 1px solid #BCBCBC;
        -moz-border-radius : 5px;
+    border-radius : 5px;
        display : inline-block;
        font-size : 85%;
        padding : .3em .5em .3em .5em;
@@ -2159,12 +2175,38 @@ div#acqui_order_supplierlist > div.supplier > div.baskets {
     margin-top: 0.5em;
 }
 
-/* jQuery UI Autocomplete */
-
-
+/* Override core jQueryUI widgets */
+.ui-widget-content { border: 1px solid #B9D8D9; background: #ffffff none; color: #222222; }
+.ui-widget-header { border: 1px solid #B9D8D9; background: #E6F0F2 none; color: #222222; font-weight: bold; }
+.ui-state-default, .ui-widget-content .ui-state-default, .ui-widget-header .ui-state-default { border: 1px solid #B9D8D9; background: #F4F8F9 none; font-weight: normal; color: #555555; }
+.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 #B9D8D9; background: #E6F0F2 none; font-weight: normal; color: #212121; }
+.ui-state-active, .ui-widget-content .ui-state-active, .ui-widget-header .ui-state-active { border: 1px solid #aaaaaa; background: #ffffff none; font-weight: normal; color: #212121; }
+.ui-state-highlight, .ui-widget-content .ui-state-highlight, .ui-widget-header .ui-state-highlight  {border: 1px solid #FED22F; background: #FFF4C6; color: #363636; }
+.ui-state-error, .ui-widget-content .ui-state-error, .ui-widget-header .ui-state-error {border: 1px solid #cd0a0a; background: #fef1ec; color: #cd0a0a; }
 
+/* Override jQuery Autocomplete */
+.ui-autocomplete {
+    position: absolute;
+    cursor: default;
+    -webkit-box-shadow: 2px 2px 2px rgba(0,0,0,.3);
+    -moz-box-shadow: 2px 2px 2px rgba(0,0,0,.3);
+    box-shadow: 2px 2px 2px rgba(0,0,0,.3);
+}
+.ui-autocomplete.ui-widget-content .ui-state-hover {
+    border: 1px solid #B9D8D9;
+    background: #E6F0F2 none;
+    font-weight: normal;
+    color: #212121;
+}
+.ui-autocomplete-loading {
+    background: #FFF url("../../img/loading-small.gif") right center no-repeat;
+}
 
 /* jQuery UI standard tabs */
+.ui-menu li {
+    list-style:none;
+}
+
 .ui-tabs-nav .ui-tabs-selected a,
 .ui-tabs-nav a:hover,
 .ui-tabs-nav a:focus,
@@ -2355,7 +2397,92 @@ ul.ui-tabs-nav li {
     float: right;
 }
 
+.contents {
+    width: 75%;
+}
+
+.contentblock {
+    position: relative;
+    margin-left: 2em;
+}
+
+.contents .t:first-child:before {
+    content: "→ ";
+}
+
+.contents .t:before {
+    content: "\A→ ";
+    white-space: pre;
+}
+
+.contents .t {
+    font-weight: bold;
+    display: inline;
+}
+
+.contents .r {
+    display: inline;
+}
+
+#hierarchies a {
+    font-weight: normal;
+    text-decoration: underline;
+    color: #069;
+}
+
+#hierarchies a:hover {
+    color: #990033;
+}
+
+#didyoumeanopac, #didyoumeanintranet {
+    float: left;
+    width: 260px;
+}
+
+.pluginlist {
+    padding-bottom: 10px;
+}
+.plugin {
+    margin: 0 1em 1em 0;
+}
+.pluginname {
+    margin: 0.3em;
+    padding-bottom: 4px;
+    padding-left: 0.2em;
+    background-color: #E6F0F2;
+}
+.pluginname .ui-icon {
+    float: right;
+}
+.plugindesc {
+    padding: 0.4em;
+}
+.ui-sortable-placeholder {
+    border: 1px dotted black;
+    visibility: visible !important;
+    height: 80px !important;
+}
+.ui-sortable-placeholder * {
+    visibility: hidden;
+}
+
 /* jQuery UI Datepicker */
+.ui-datepicker table {
+    width: 100%;
+    font-size: .9em;
+    border : 0;
+    border-collapse: collapse;
+    margin:0 0 .4em;
+}
+
+.ui-datepicker th {
+    background : transparent none;
+    padding: .7em .3em;
+    text-align: center;
+    font-weight: bold;
+    border: 0;
+}
+
 .ui-datepicker-trigger {
     vertical-align: middle;
     margin : 0 3px;
index ac1a7a4..439118d 100644 (file)
@@ -1,6 +1,7 @@
 <ul>
        <li><a href="/cgi-bin/koha/acqui/lateorders.pl">Late orders</a></li>
        [% IF ( suggestion ) %]<li><a href="/cgi-bin/koha/suggestion/suggestion.pl">Suggestions</a></li>[% ELSE %][% END %]
+    <li><a href="/cgi-bin/koha/acqui/invoices.pl">Invoices</a></li>
     [% IF ( CAN_user_acquisition_budget_manage ) %]
     <li><a href="/cgi-bin/koha/admin/aqbudgetperiods.pl">Budgets</a></li>
     <li><a href="/cgi-bin/koha/admin/aqbudgets.pl">Funds</a></li>
index 11d7b39..0c52cc2 100644 (file)
@@ -23,7 +23,9 @@
 
         var manageorders = [
             [% IF ( CAN_user_acquisition_order_manage ) %]
+              [% IF (active) %]
                 { text: _("New basket"), url: "/cgi-bin/koha/acqui/basketheader.pl?booksellerid=[% booksellerid %]&op=add_form"},
+              [% END %]
                 { text: _("Baskets"), url: "/cgi-bin/koha/acqui/booksellers.pl?booksellerid=[% booksellerid %]"},
                 { text: _("Basket groups"), url: "/cgi-bin/koha/acqui/basketgroup.pl?booksellerid=[% booksellerid %]"},
             [% END %]
@@ -52,7 +54,7 @@
                 [% END %]
                 <li><a id="newcontract" href="/cgi-bin/koha/admin/aqcontract.pl?op=add_form&amp;booksellerid=[% booksellerid %]">New contract</a></li>
                 <li><a id="editcontracts" href="/cgi-bin/koha/admin/aqcontract.pl?booksellerid=[% booksellerid %]">Contracts</a></li>
-                [% UNLESS ( basketcount ) %]
+                [% IF (active && !basketcount) %]
                     <li><a id="newbasket" href="/cgi-bin/koha/acqui/basketheader.pl?booksellerid=[% booksellerid %]&amp;op=add_form">New basket</a></li>
                 [% END %]
             [% END %]
index 72162d3..fbda324 100644 (file)
@@ -62,6 +62,7 @@
     [% IF ( NoZebra ) %]<li><a href="/cgi-bin/koha/admin/stopwords.pl">Stop words</a></li>[% END %]
        <!-- <li><a href="/cgi-bin/koha/admin/printers.pl">Network Printers</a></li> -->
     <li><a href="/cgi-bin/koha/admin/z3950servers.pl">Z39.50 client targets</a></li>
+    <li><a href="/cgi-bin/koha/admin/didyoumean.pl">Did you mean?</a></li>
 </ul>
 </div>
 </div>
index fe22d6b..7bffbc5 100644 (file)
@@ -1,3 +1,4 @@
+[% PROCESS 'form-blocks.inc' %]
 <script type="text/javascript">
 //<![CDATA[
 
@@ -100,10 +101,12 @@ function finderjumpfull(page)
 
 
 <form name="f" method="get" action="auth_finder.pl">
+            <input type="hidden" name="source" value="[% source %]" />
             <input type="hidden" name="op" value="do_search" />
             <input type="hidden" name="type" value="intranet" />
             <input type="hidden" name="index" value="[% index %]" />
-                <fieldset class="rows"><ol><li>
+                <fieldset class="rows"><legend>Search options</legend>
+                <ol><li>
                     <span class="label">Authority type</span>
                     [% authtypecode %]
                     <input type="hidden" name="authtypecode" value="[% authtypecode %]" />
@@ -169,10 +172,33 @@ function finderjumpfull(page)
             <option value="HeadingDsc">Heading descendant</option>
         </select>
         </li></ol></fieldset>
-            <fieldset class="action"> <input type="submit" value="Start search" class="submit" id="search" /> <a id="cancel" class="cancel close" href="#">Cancel</a>
-            <span id="authfinderops">
-            <a href="javascript:finderjumpfull('blinddetail-biblio-search.pl?authid=0&amp;index=[% index %]')" id="clear" class="button">Clear field</a>
-            <a href="javascript:finderjumpfull('authorities.pl?index=[% index %]&authtypecode=[% authtypecode %]')" id="createnew" class="button">Create new</a>
-            </span>
-            </fieldset>
+        [% IF source == 'auth' %]
+        <fieldset class="rows"><legend>Relationship information</legend>
+            <ol>
+            <li>
+                <label for="relationship">Special relationship: </label>
+                <select name="relationship" id="relationship">
+                    [% selected=relationship %]
+                    [% PROCESS selectoptionopen value='' %]None specified</option>
+                    [% PROCESS selectoptionopen value='a' %]a - Earlier heading</option>
+                    [% PROCESS selectoptionopen value='b' %]b - Later heading</option>
+                    [% PROCESS selectoptionopen value='d' %]d - Acronym</option>
+                    [% PROCESS selectoptionopen value='f' %]f - Musical composition</option>
+                    [% PROCESS selectoptionopen value='g' %]g - Broader term</option>
+                    [% PROCESS selectoptionopen value='h' %]h - Narrower term</option>
+                    [% PROCESS selectoptionopen value='i' %]i - Reference instruction phrase in subfield $i</option>
+                    [% PROCESS selectoptionopen value='n' %]n - Not applicable</option>
+                    [% PROCESS selectoptionopen value='r' %]r - Relationship designation in $i or $4</option>
+                    [% PROCESS selectoptionopen value='t' %]t - Immediate parent body</option>
+                </select>
+            </li>
+            </ol>
+        </fieldset>
+        [% END %]
+        <fieldset class="action"> <input type="submit" value="Start search" class="submit" id="search" /> <a id="cancel" class="cancel close" href="#">Cancel</a>
+        <span id="authfinderops">
+        <a href="javascript:finderjumpfull('blinddetail-biblio-search.pl?authid=0&amp;index=[% index %]')" id="clear" class="button">Clear field</a>
+        <a href="javascript:finderjumpfull('authorities.pl?index=[% index %]&authtypecode=[% authtypecode %]')" id="createnew" class="button">Create new</a>
+        </span>
+        </fieldset>
 </form>
index 3defe48..58f5f2d 100644 (file)
@@ -2,19 +2,22 @@
     [% IF marcflavour == 'UNIMARC' %]
         [% SWITCH type %]
         [% CASE 'broader' %]
-            <span class="BT">[% heading %]</span> --
+            <span class="BT">[% heading | html %]</span> --
         [% CASE 'narrower' %]
-            <span class="NT">[% heading %]</span> --
+            <span class="NT">[% heading | html %]</span> --
         [% CASE 'narrower' %]
-            <span class="NT">[% heading %]</span> --
+            <span class="NT">[% heading | html %]</span> --
         [% CASE 'seefrom' %]
-            <span class="UF">[% heading %]</span> --
+            <span class="UF">[% heading | html %]</span> --
         [% CASE 'seealso' %]
-            <span class="RT">[% heading %]</span> --
+            <span class="RT">[% heading | html %]</span> --
         [% END %]
     [% ELSE %]
-        [% IF ( label ) %]<span class="label">[% label %]</span>[% END %]
-        <span class="heading">[% heading %]</span>
+        [% IF ( label ) %]<span class="label">[% label | html %]</span>[% END %]
+        <span class="heading">
+        [% IF ( linkpath && search ) %]<a href="[% link | url %][% search | url %]">[% heading | html %]</a>
+        [% ELSE %][% heading | html %][% END %]
+        </span>
         [% UNLESS ( type=='seefrom' || type=='seealso' ) %]<span class="type">[% SWITCH type %]
         [% CASE 'earlier' %](Earlier heading)
         [% CASE 'later' %](Later heading)
         [% CASE 'musical' %](Musical composition)
         [% CASE 'broader' %](Broader heading)
         [% CASE 'narrower' %](Narrower heading)
-        [% CASE %]([% type %])
+        [% CASE 'parent' %](Immediate parent body)
+        [% CASE %][% IF type %]([% type | html %])[% END %]
         [% END %]</span>[% END %]
     [% END %]
 [% END %]
 [% BLOCK authresult %]
-    [% IF ( summary.summary ) %][% summary.summary %]:[% END %]
+    [% IF ( summary.summary ) %][% summary.summary | html %]:[% END %]
     [% UNLESS ( summary.summaryonly ) %]
         [% FOREACH authorize IN summary.authorized %]
-            <span class="authorizedheading">[% authorize.heading %]</span>
+            <span class="authorizedheading">[% authorize.heading | html %]</span>
         [% END %]
         [% IF ( marcflavour == 'UNIMARC' ) %]
             [% FOREACH note IN summary.notes %]
-                <span class="note">[% note %]</span>
+                <span class="note">[% note | html %]</span>
             [% END %]
             [% FOREACH seefro IN summary.seefrom %]
-                [% PROCESS showreference heading=seefro.heading label="" type=seefro.type %]
+                [% PROCESS showreference heading=seefro.heading label="" type=seefro.type search='' %]
             [% END %]
         [% ELSE %]
             [% IF ( summary.seefrom ) %]
                 [% FOREACH seefro IN summary.seefrom %]
                     <div class="seefrom authref">
-                    [% PROCESS showreference heading=seefro.heading label="used for/see from:" type=seefro.type %]
+                    [% PROCESS showreference heading=seefro.heading label="used for/see from:" type=seefro.type search='' %]
                     </div>
                 [% END %]
             [% END %]
             [% IF ( summary.seealso ) %]
                 [% FOREACH seeals IN summary.seealso %]
                     <div class="seealso authref">
-                    [% PROCESS showreference heading=seeals.heading label="see also:" type=seeals.type %]
+                    [% PROCESS showreference heading=seeals.heading label="see also:" type=seeals.type linkpath=link search=seeals.search %]
                     </div>
                 [% END %]
             [% END %]
index ca6f4af..d0b13a7 100644 (file)
@@ -1,9 +1,25 @@
 <div class="gradient">
 <h1 id="logo"><a href="/cgi-bin/koha/mainpage.pl">[% LibraryName %]</a></h1>
 <!-- Begin Authorities Resident Search Box -->
+<script type="text/javascript">
+//<![CDATA[
+    $(document).ready(function() {
+        var searchType = '[% marclist %]';
+        if (searchType) {
+            if ('mainentry' == searchType) {
+                $("#header_search").tabs( "option", "selected", 0 );
+            } else if ('match' == searchType) {
+                $("#header_search").tabs( "option", "selected", 1 );
+            } else if ('all' == searchType) {
+                $("#header_search").tabs( "option", "selected", 2 );
+            }
+        }
+    });
+//]]>
+</script>
 <div id="header_search" class="residentsearch">
-    <div id="authority_search" class="residentsearch">
-    <p class="tip">Enter authority heading ($a):</p>
+    <div id="main_heading" class="residentsearch">
+    <p class="tip">Enter authorized heading:</p>
     <form action="/cgi-bin/koha/authorities/authorities-home.pl" method="get">
         <input type="hidden" name="op" value="do_search" />
         <input type="hidden" name="type" value="intranet" />
             [% END %]
         [% END %]
         </select>
-        <input type="hidden" name="marclist" value="mainmainentry" />
+        <input type="hidden" name="marclist" value="mainentry" />
+        <input type="hidden" name="and_or" value="and" />
+        <input type="hidden" name="excluding" value="" />
         <select name="operator">
+            [% IF ( operator == 'contains' ) %]
+            <option value="contains" selected="selected">contains</option>
+            [% ELSE %]
             <option value="contains">contains</option>
+            [% END %]
+            [% IF ( operator == 'start' ) %]
+            <option value="start" selected="selected">starts with</option>
+            [% ELSE %]
             <option value="start">starts with</option>
+            [% END %]
+            [% IF ( operator == 'is' ) %]
+            <option value="is" selected="selected">is exactly</option>
+            [% ELSE %]
             <option value="is">is exactly</option>
+            [% END %]
         </select>
-        <input id="value_anywhere" type="text" name="value" value="[% value %]" />
+        <input id="value_mainentry" type="text" name="value" value="[% value %]" />
         <select name="orderby">
-            <option value="">None</option>
+            [% IF ( orderby == 'HeadingAsc' ) %]
             <option value="HeadingAsc" selected="selected">Heading A-Z</option>
+            [% ELSE %]
+            <option value="HeadingAsc">Heading A-Z</option>
+            [% END %]
+            [% IF ( orderby == 'HeadingDsc' ) %]
+            <option value="HeadingDsc" selected="selected">Heading Z-A</option>
+            [% ELSE %]
             <option value="HeadingDsc">Heading Z-A</option>
-         </select>
-         <input type="submit" class="submit" value="Submit" />
+            [% END %]
+            [% IF ( orderby == '' && op ) %]
+            <option value="" selected="selected">None</option>
+            [% ELSE %]
+            <option value="">None</option>
+            [% END %]
+        </select>
+        <input type="submit" class="submit" value="Submit" />
     </form>
     </div>
-    <div id="main_heading" class="residentsearch">
-    <p class="tip">Enter authority heading:</p>
+    <div id="matchheading_search" class="residentsearch">
+    <p class="tip">Enter any heading:</p>
     <form action="/cgi-bin/koha/authorities/authorities-home.pl" method="get">
         <input type="hidden" name="op" value="do_search" />
         <input type="hidden" name="type" value="intranet" />
             [% END %]
         [% END %]
         </select>
-        <input type="hidden" name="marclist" value="mainentry" />
-        <input type="hidden" name="and_or" value="and" />
-        <input type="hidden" name="excluding" value="" />
+        <input type="hidden" name="marclist" value="match" />
         <select name="operator">
+            [% IF ( operator == 'contains' ) %]
+            <option value="contains" selected="selected">contains</option>
+            [% ELSE %]
             <option value="contains">contains</option>
+            [% END %]
+            [% IF ( operator == 'start' ) %]
+            <option value="start" selected="selected">starts with</option>
+            [% ELSE %]
             <option value="start">starts with</option>
+            [% END %]
+            [% IF ( operator == 'is' ) %]
+            <option value="is" selected="selected">is exactly</option>
+            [% ELSE %]
             <option value="is">is exactly</option>
+            [% END %]
         </select>
-        <input id="value_mainentry" type="text" name="value" value="[% value %]" />
+        <input id="value_matchheading" type="text" name="value" value="[% value %]" />
         <select name="orderby">
-            <option value="">None</option>
+            [% IF ( orderby == 'HeadingAsc' ) %]
             <option value="HeadingAsc" selected="selected">Heading A-Z</option>
+            [% ELSE %]
+            <option value="HeadingAsc">Heading A-Z</option>
+            [% END %]
+            [% IF ( orderby == 'HeadingDsc' ) %]
+            <option value="HeadingDsc" selected="selected">Heading Z-A</option>
+            [% ELSE %]
             <option value="HeadingDsc">Heading Z-A</option>
-        </select>
-        <input type="submit" class="submit" value="Submit" />
+            [% END %]
+            [% IF ( orderby == '' && op ) %]
+            <option value="" selected="selected">None</option>
+            [% ELSE %]
+            <option value="">None</option>
+            [% END %]
+         </select>
+         <input type="submit" class="submit" value="Submit" />
     </form>
     </div>
     <div id="all_headings" class="residentsearch">
         <input type="hidden" name="and_or" value="and" />
         <input type="hidden" name="excluding" value="" />
         <select name="operator">
+            [% IF ( operator == 'contains' ) %]
+            <option value="contains" selected="selected">contains</option>
+            [% ELSE %]
             <option value="contains">contains</option>
+            [% END %]
+            [% IF ( operator == 'start' ) %]
+            <option value="start" selected="selected">starts with</option>
+            [% ELSE %]
             <option value="start">starts with</option>
+            [% END %]
+            [% IF ( operator == 'is' ) %]
+            <option value="is" selected="selected">is exactly</option>
+            [% ELSE %]
             <option value="is">is exactly</option>
+            [% END %]
         </select>
-        <input id="value_mainmainentry" type="text" name="value" value="[% value %]" />
+        <input id="value_anywhere" type="text" name="value" value="[% value %]" />
         <select name="orderby">
-            <option value="">None</option>
+            [% IF ( orderby == 'HeadingAsc' ) %]
             <option value="HeadingAsc" selected="selected">Heading A-Z</option>
+            [% ELSE %]
+            <option value="HeadingAsc">Heading A-Z</option>
+            [% END %]
+            [% IF ( orderby == 'HeadingDsc' ) %]
+            <option value="HeadingDsc" selected="selected">Heading Z-A</option>
+            [% ELSE %]
             <option value="HeadingDsc">Heading Z-A</option>
+            [% END %]
+            [% IF ( orderby == '' && op ) %]
+            <option value="" selected="selected">None</option>
+            [% ELSE %]
+            <option value="">None</option>
+            [% END %]
         </select>
         <input type="submit" class="submit" value="Submit" />
     </form>
     </div>
     <ul>
-        <li><a href="#authority_search">Search authorities</a></li>
         <li><a href="#main_heading">Search main heading</a></li>
-        <li><a href="#all_headings">Search all headings</a></li>
+        <li><a href="#matchheading_search">Search all headings</a></li>
+        <li><a href="#all_headings">Keyword search</a></li>
     </ul>
 </div><!-- /header_search -->
 </div><!-- /gradient -->
diff --git a/koha-tmpl/intranet-tmpl/prog/en/includes/authorities.inc b/koha-tmpl/intranet-tmpl/prog/en/includes/authorities.inc
new file mode 100644 (file)
index 0000000..9e173c9
--- /dev/null
@@ -0,0 +1,21 @@
+[% BLOCK showhierarchy %]
+    [% FOREACH tree IN trees %]
+        [% PROCESS showtree tree = tree %]
+    [% END %]
+[% END %]
+[% BLOCK showtree %]
+    <ul class="hierarchy">
+        [% FOREACH node IN tree %]
+            <li id="hier[% node.authid %]" class="[% node.class %] authnode">
+            [% IF ( node.current_value ) %]
+                <span class='currentauth'>[% node.value | html %]</span>
+            [% ELSE %]
+                <a href="detail.pl?authid=[% node.authid %]" title="Term">[% node.value | html %]</a>
+            [% END %]
+            [% IF ( node.children && node.children.size > 0 ) %]
+                [% PROCESS showtree tree = node.children %]
+            [% END %]
+            </li>
+        [% END %]
+    </ul>
+[% END %]
index 903cf3a..b2edbe6 100644 (file)
@@ -25,7 +25,7 @@
     [% END %]
     [% IF ( EasyAnalyticalRecords ) %][% IF ( analyze ) %]<li class="active">[% ELSE %]<li>[% END %]<a href="/cgi-bin/koha/catalogue/detail.pl?biblionumber=[% IF ( object ) %][% object %]&amp;analyze=1[% ELSE %][% biblionumber %]&amp;analyze=1[% END %]">Analytics</a></li>[% END %]
 
-    [% IF ( subscriptionsnumber ) %]<li><a href="/cgi-bin/koha/serials/serials-home.pl?searched=1&amp;biblionumber=[% biblionumber %]">Subscription(s)</a></li>[% END %]
+    [% IF ( subscriptionsnumber ) %]<li><a href="/cgi-bin/koha/serials/serials-search.pl?searched=1&amp;biblionumber=[% biblionumber %]">Subscription(s)</a></li>[% END %]
 </ul>
 <ul>
 [% IF ( issuehistoryview ) %]<li class="active">[% ELSE %]<li>[% END %]
index d77e9e0..fc8a1a3 100644 (file)
@@ -1,5 +1,26 @@
 <script type="text/javascript">
 //<![CDATA[
+
+var debug    = "[% debug %]";
+var dformat  = "[% dateformat %]";
+var sentmsg = 0;
+if (debug > 1) {alert("dateformat: " + dformat + "\ndebug is on (level " + debug + ")");}
+
+function Date_from_syspref(dstring) {
+        var dateX = dstring.split(/[-/]/);
+        if (debug > 1 && sentmsg < 1) {sentmsg++; alert("Date_from_syspref(" + dstring + ") splits to:\n" + dateX.join("\n"));}
+        if (dformat === "iso") {
+                return new Date(dateX[0], (dateX[1] - 1), dateX[2]);  // YYYY-MM-DD to (YYYY,m(0-11),d)
+        } else if (dformat === "us") {
+                return new Date(dateX[2], (dateX[0] - 1), dateX[1]);  // MM/DD/YYYY to (YYYY,m(0-11),d)
+        } else if (dformat === "metric") {
+                return new Date(dateX[2], (dateX[1] - 1), dateX[0]);  // DD/MM/YYYY to (YYYY,m(0-11),d)
+        } else {
+                if (debug > 0) {alert("KOHA ERROR - Unrecognized date format: " +dformat);}
+                return 0;
+        }
+}
+
 /* Instead of including multiple localization files as you would normally see with
    jQueryUI we expose the localization strings in the default configuration */
 jQuery(function($){
index 5371398..740a3b5 100644 (file)
@@ -111,6 +111,7 @@ function confirm_items_deletion() {
             [% IF ( CAN_user_editcatalogue_edit_catalogue ) %]{ text: _("Edit record"), url: "/cgi-bin/koha/cataloguing/addbiblio.pl?biblionumber=[% biblionumber %]&amp;frameworkcode=&amp;op=" },[% END %]
             [% IF ( CAN_user_editcatalogue_edit_items ) %]{ text: _("Edit items"), url: "/cgi-bin/koha/cataloguing/additem.pl?biblionumber=[% biblionumber %]" },[% END %]
             [% IF ( CAN_user_tools_items_batchmod ) %]{ text: _("Edit items in batch"), url: "/cgi-bin/koha/tools/batchMod.pl?op=show&biblionumber=[% biblionumber %]&src=CATALOGUING" },[% END %]
+            [% IF ( CAN_user_tools_items_batchdel ) %]{ text: _("Delete items in batch"), url: "/cgi-bin/koha/tools/batchMod.pl?del=1&op=show&biblionumber=[% biblionumber %]&src=CATALOGUING" },[% END %]
             [% IF ( CAN_user_editcatalogue_edit_items ) %]{ text: _("Attach item"), url: "/cgi-bin/koha/cataloguing/moveitem.pl?biblionumber=[% biblionumber %]" },[% END %]
             [% IF ( EasyAnalyticalRecords ) %][% IF ( CAN_user_editcatalogue_edit_items ) %]{ text: _("Link to host item"), url: "/cgi-bin/koha/cataloguing/linkitem.pl?biblionumber=[% biblionumber %]" },[% END %][% END %]
             [% IF ( LocalCoverImages || OPACLocalCoverImages) %][% IF ( CAN_user_tools_upload_local_cover_images ) %]{ text: _("Upload image"), url: "/cgi-bin/koha/tools/upload-cover-image.pl?biblionumber=[% biblionumber %]&filetype=image" },[% END %][% END %]
@@ -238,7 +239,7 @@ function confirm_items_deletion() {
        [% IF ( CAN_user_reserveforothers ) %]
     [% UNLESS ( norequests ) %]<li><a id="placehold" href="/cgi-bin/koha/reserve/request.pl?biblionumber=[% biblionumber %]">Place hold</a></li>[% END %]
        [% END %]
-    [% IF ( CAN_user_editcatalogue_edit_catalogue ) %]<li id="z3950searchc"><input type="button" id="z3950search" value="Z39.50 search" onclick="PopupZ3950(); return false;" /></li>[% END %]
+       [% IF ( CAN_user_editcatalogue_edit_catalogue ) %]<li id="z3950searchc"><input type="button" id="z3950search" value="Z39.50 Search" onclick="if (confirm(_('Please note that this Z39.50 search could replace the current record.'))){ PopupZ3950(); } return false;" /></li>[% END %]
     </ul>
 </form>
 </div>
index 0d994c9..f2edfd6 100644 (file)
@@ -3,7 +3,7 @@
         <td colspan="6" style="text-align: right; font-weight:bold;">Totals:</td>
                <td>[% totaldue %]</td>
                <td>[% totalprice %]</td>
-               <td colspan="2">
+                <td colspan="3">
             <p>Renewal due date: <input type="text" size="8" id="newduedate" name="newduedate" value="[% newduedate %]" />
 </p>
                        <p><label>Forgive fines on return: <input type="checkbox" name="exemptfine" value="1" /></label></p>
index 5cf6a7f..1731bed 100644 (file)
@@ -17,6 +17,7 @@
 [% IF ( facets_loo.type_label_Series ) %]Series[% END %]
 [% IF ( facets_loo.type_label_ItemTypes ) %]Item types[% END %]
 [% IF ( facets_loo.type_label_Libraries ) %]Libraries[% END %]
+[% IF ( facets_loo.type_label_Location ) %]Locations[% END %]
 <ul>
         [% FOREACH facet IN facets_loo.facets %]<li><a href="/cgi-bin/koha/catalogue/search.pl?[% query_cgi |html %][% limit_cgi |html %][% IF ( sort_by ) %]&amp;sort_by=[% sort_by %][% END %]&amp;limit=[% facet.type_link_value %]:[% facet.facet_link_value %]" title="[% facet.facet_title_value %]">[% facet.facet_label_value %]</a> [% IF ( displayFacetCount ) %]([% facet.facet_count %])[% END %]</li>[% END %][% IF ( facets_loo.expandable ) %]
         <li class="showmore"><a href="/cgi-bin/koha/catalogue/search.pl?[% query_cgi |html %][% limit_cgi |html %][% IF ( sort_by ) %]&amp;sort_by=[% sort_by %][% END %][% IF ( offset ) %]&amp;offset=[% offset %][% END %]&amp;expand=[% facets_loo.expand %]#[% facets_loo.type_id %]">Show more</a></li>
diff --git a/koha-tmpl/intranet-tmpl/prog/en/includes/form-blocks.inc b/koha-tmpl/intranet-tmpl/prog/en/includes/form-blocks.inc
new file mode 100644 (file)
index 0000000..8c307d5
--- /dev/null
@@ -0,0 +1,5 @@
+[% BLOCK selectoptionopen %]
+    [% IF value == selected %]<option value='[% value %]' selected='selected'>
+    [% ELSE %]<option value='[% value %]'>
+    [% END %]
+[% END %]
index 3d71d45..f4037ac 100644 (file)
@@ -44,7 +44,7 @@
                 </li>
             </ul>
         </div>
-    <div id="login">
+    <div id="login_controls">
         [% IF ( AutoLocation ) %]
             <strong>
             [% LoginBranchname %]
index d07a449..ac2f388 100644 (file)
@@ -1,6 +1,23 @@
-[% IF category_type == 'I' %]
-    [% surname %] [% IF othernames %] ([% othernames %]) [% END %]
-[% ELSE %]
-    [% firstname %] [% surname %]
-[% END %]
-([% cardnumber %])
+[% IF ( borrower.borrowernumber ) %]
+    [% IF borrower.category_type == 'I' %]
+        [% borrower.surname %] [% IF borrower.othernames %] ([% borrower.othernames %]) [% END %]
+    [% ELSE %]
+        [% IF invert_name %]
+            [% borrower.surname %], [% borrower.firstname %] [% IF borrower.othernames %] ([% borrower.othernames %]) [% END %]
+        [% ELSE %]
+            [% borrower.firstname %] [% IF borrower.othernames %] ([% borrower.othernames %]) [% END %] [% borrower.surname %]
+        [% END %]
+    [% END %]
+    ([% borrower.cardnumber %])
+[% ELSIF ( borrowernumber ) %]
+    [% IF category_type == 'I' %]
+        [% surname %] [% IF othernames %] ([% othernames %]) [% END %]
+    [% ELSE %]
+        [% IF invert_name %]
+            [% surname %], [% firstname %] [% IF othernames %] ([% othernames %]) [% END %]
+        [% ELSE %]
+            [% firstname %] [% IF othernames %] ([% othernames %]) [% END %] [% surname %]
+        [% END %]
+    [% END %]
+    ([% cardnumber %])
+[% END %]
\ No newline at end of file
index ad13bec..06b0752 100644 (file)
@@ -6,7 +6,7 @@
            <form action="/cgi-bin/koha/admin/preferences.pl">
         <input type="hidden" name="tab" value="[% last_tab %]" />
         <input type="hidden" name="op" value="search" />
-        <input type="text" size="40" name="searchfield" value="[% searchfield %]" />
+        <input type="text" size="40" name="searchfield" value="[% searchfield |html %]" />
         <input type="submit" class="submit" value="Search" />
     </form>
        </div>
index 2413216..09e748b 100644 (file)
     <option value="se">&nbsp;&nbsp;&nbsp;&nbsp; Series title</option>
     <option value="su">Subject</option>
     <option value="su,phr">&nbsp;&nbsp;&nbsp;&nbsp; Subject as phrase</option>
+    [% IF ( expanded_options ) %]
+        <option value="su-br">&nbsp;&nbsp;&nbsp;&nbsp; Subject and broader terms</option>
+        <option value="su-na">&nbsp;&nbsp;&nbsp;&nbsp; Subject and narrower terms</option>
+        <option value="su-rl">&nbsp;&nbsp;&nbsp;&nbsp; Subject and related terms</option>
+    [% END %]
     <option value="bc">Barcode</option>
     <option value="location">Shelving location</option>
     <option value="sn">Standard number</option>
index dfb908f..beb309c 100644 (file)
@@ -1,35 +1,37 @@
 <div class="gradient">
-<h1 id="logo"><a href="/cgi-bin/koha/mainpage.pl">[% LibraryName %]</a></h1><!-- Begin Serials Resident Search Box -->
-<div id="header_search">
-       <div id="subscription_search" class="residentsearch">
+  <h1 id="logo"><a href="/cgi-bin/koha/mainpage.pl">[% LibraryName %]</a></h1><!-- Begin Serials Resident Search Box -->
+  <div id="header_search">
+    <div id="subscription_search" class="residentsearch">
     <p class="tip">Search subscriptions:</p>
- <form action="/cgi-bin/koha/serials/serials-home.pl" method="get">
- [% IF ( routing ) %]<input type="hidden" name="routing" value="[% routing %]" />[% END %]
- <input type="hidden" name="searched" value="1" />
- <label for="ISSN_filter">ISSN:</label> <input type="text" size="10" maxlength="11" name="ISSN_filter" id="ISSN_filter" value="[% ISSN_filter %]" />
+    <form action="/cgi-bin/koha/serials/serials-search.pl" method="get">
+      [% IF ( routing ) %]
+        <input type="hidden" name="routing" value="[% routing %]" />
+      [% END %]
+      <input type="hidden" name="searched" value="1" />
+      <label for="ISSN_filter">ISSN:</label> <input type="text" size="10" maxlength="11" name="ISSN_filter" id="ISSN_filter" value="[% ISSN_filter %]" />
 
- [% IF (UNIMARC) %]
- <label for="EAN_filter">EAN:</label> <input type="text" size="20" maxlength="40" name="EAN_filter" id="EAN_filter" value="[% EAN_filter %]" />
- [% END %]
- <label for="title_filter">Title:</label> <input type="text" size="20" maxlength="40" name="title_filter" id="title_filter" value="[% title_filter %]" />
<input type="submit" value="Search" class="submit" />
- </form>
-       </div>
     [% IF (UNIMARC) %]
       <label for="EAN_filter">EAN:</label> <input type="text" size="20" maxlength="40" name="EAN_filter" id="EAN_filter" value="[% EAN_filter %]" />
     [% END %]
     <label for="title_filter">Title:</label> <input type="text" size="20" maxlength="40" name="title_filter" id="title_filter" value="[% title_filter %]" />
     <input value="Submit" class="submit" type="submit" /> <a href="/cgi-bin/koha/serials/serials-search.pl">Advanced search</a>
   </form>
+    </div>
     [% INCLUDE 'patron-search-box.inc' %]
-       [% IF ( CAN_user_catalogue ) %]
-    <div id="catalog_search" class="residentsearch">
-       <p class="tip">Enter search keywords:</p>
-               <form action="/cgi-bin/koha/catalogue/search.pl"  method="get" id="cat-search-block">
-                        <input type="text" name="q" id="search-form" size="40" value="" title="Enter the terms you wish to search for." class="form-text" />
-                               <input type="submit" value="Submit"  class="submit" />
-               </form>
-       </div>
-       [% END %]
-                       <ul>
-            <li><a href="#subscription_search">Search subscriptions</a></li>
-            [% IF ( CAN_user_circulate ) %]<li><a href="#circ_search">Check out</a></li>[% END %]
-            [% IF ( CAN_user_catalogue ) %]<li><a href="#catalog_search">Search the catalog</a></li>[% END %]
-                       </ul>   
-</div><!-- /header_search -->
+    [% IF ( CAN_user_catalogue ) %]
+      <div id="catalog_search" class="residentsearch">
+        <p class="tip">Enter search keywords:</p>
+        <form action="/cgi-bin/koha/catalogue/search.pl"  method="get" id="cat-search-block">
+          <input type="text" name="q" id="search-form" size="40" value="" title="Enter the terms you wish to search for." class="form-text" />
+          <input type="submit" value="Submit"  class="submit" />
+        </form>
+      </div>
+    [% END %]
+    <ul>
+      <li><a href="#subscription_search">Search subscriptions</a></li>
+      [% IF ( CAN_user_circulate ) %]<li><a href="#circ_search">Check out</a></li>[% END %]
+      [% IF ( CAN_user_catalogue ) %]<li><a href="#catalog_search">Search the catalog</a></li>[% END %]
+    </ul>
+  </div><!-- /header_search -->
 </div><!-- /gradient -->
 <!-- End Serials Resident Search Box -->
diff --git a/koha-tmpl/intranet-tmpl/prog/en/includes/sysprefs-admin-search.inc b/koha-tmpl/intranet-tmpl/prog/en/includes/sysprefs-admin-search.inc
deleted file mode 100644 (file)
index fa9fc4b..0000000
+++ /dev/null
@@ -1,28 +0,0 @@
-
-<h1 id="logo"><a href="/cgi-bin/koha/mainpage.pl">[% LibraryName %]</a></h1><!-- Begin Stopwords Resident Search Box -->
-<div id="header_search">
-       <div id="syspref_search" class="residentsearch">
-       <p class="tip">System preference search:</p>
-           <form action="/cgi-bin/koha/admin/preferences.pl" method="post">
-        <input type="text" size="40" name="searchfield" value="[% searchfield %]" />
-               <input type="hidden" value="all" name="tab" />
-        <input type="submit" name="ok" class="submit" value="Search" />
-    </form>
-       </div>
-    [% INCLUDE 'patron-search-box.inc' %]
-       [% IF ( CAN_user_catalogue ) %]
-    <div id="catalog_search" class="residentsearch">
-       <p class="tip">Enter search keywords:</p>
-               <form action="/cgi-bin/koha/catalogue/search.pl"  method="get" id="cat-search-block">
-                        <input type="text" name="q" id="search-form" size="40" value="" title="Enter the terms you wish to search for." class="form-text" />
-                               <input type="submit" value="Submit" class="submit" />
-               </form>
-       </div>
-       [% END %]
-                       <ul>
-            <li><a href="#syspref_search">Search system preferences</a></li>
-            [% IF ( CAN_user_circulate ) %]<li><a href="#circ_search">Check out</a></li>[% END %]
-            [% IF ( CAN_user_catalogue ) %]<li><a href="#catalog_search">Search the catalog</a></li>[% END %]
-                       </ul>   
-</div>
-<!-- End Stopwords Resident Search Box -->
index d5ed780..c209de4 100644 (file)
@@ -54,7 +54,7 @@
        <li><a href="/cgi-bin/koha/tools/batchMod.pl">Batch item modification</a></li>
     [% END %]
     [% IF ( CAN_user_tools_export_catalog ) %]
-       <li><a href="/cgi-bin/koha/tools/export.pl">Export bibs/holdings</a></li>
+    <li><a href="/cgi-bin/koha/tools/export.pl">Export data</a></li>
     [% END %]
     [% IF ( CAN_user_tools_inventory ) %]
        <li><a href="/cgi-bin/koha/tools/inventory.pl">Inventory/stocktaking</a></li>
index 2efeba0..d67b05b 100644 (file)
@@ -639,49 +639,25 @@ function messenger(X,Y,etc){    // FIXME: unused?
 
 //  NEXT BLOCK IS USED BY NEWORDERBEMPTY
 
-function calcNeworderTotal(){
-    //collect values
-    var f        = document.getElementById('Aform');
-    var quantity = new Number(f.quantity.value);
-    var discount = new Number(f.discount.value);
-    var listinc  = new Number (f.listinc.value);
-    //var currency = f.currency.value;
-    var applygst = new Number (f.applygst.value);
-    var listprice   =  new Number(f.listprice.value);
-    var invoiceingst =  new Number (f.invoiceincgst.value);
-//    var exchangerate =  new Number(f.elements[currency].value);      //get exchange rate
-        var currcode = new String(document.getElementById('currency').value);
-       var exchangerate =  new Number(document.getElementById(currcode).value);
-
-    var gst_on=(!listinc && invoiceingst);
-
-    //do real stuff
+function updateCosts(){
+    var quantity = new Number($("#quantity").val());
+    var discount = new Number($("#discount").val());
+    var applygst = new Number ($("#applygst").val());
+    var listprice   =  new Number($("#listprice").val());
+    var exchangerate =  new Number($("#currency_rate").val());
+    var gst_on=false;
+
     var rrp   = new Number(listprice*exchangerate);
     var ecost = rrp;
-    if (100-discount != 100) { //Prevent rounding issues if no discount
-        ecost = new Number(Math.floor(rrp * (100 - discount ))/100);
-    }
-    var GST   = new Number(0);
-    if (gst_on) {
-            rrp=rrp * (1+f.gstrate.value / 100);
-        GST=ecost * f.gstrate.value / 100;
+    if ( 100-discount != 100 ) { //Prevent rounding issues if no discount
+        ecost = new Number(Math.floor(rrp * (100 - discount )) / 100);
     }
+    var total =  new Number( ecost * quantity);
+    $("#rrp").val(rrp.toFixed(2));
+    $("#ecost").val(ecost.toFixed(2));
+    $("#total").val(total.toFixed(2));
+    $("listprice").val(listprice.toFixed(2));
 
-    var total =  new Number( (ecost + GST) * quantity);
-
-    f.rrp.value = rrp.toFixed(2);
-
-//     f.rrp.value = rrp
-//     f.rrp.value = 'moo'
-
-    f.ecost.value = ecost.toFixed(2);
-    f.total.value = total.toFixed(2);
-    f.listprice.value =  listprice.toFixed(2);
-
-//  gst-stuff needs verifing, mason.
-    if (f.GST) {
-        f.GST.value=GST;
-    }
     return true;
 }
 
@@ -744,7 +720,7 @@ function fetchSortDropbox(f) {
 
 for (i=1;i<=2;i++) {
 
-    var sort_dropbox = document.getElementById('sort'+i);
+    var sort_zone = document.getElementById('sort'+i+'_zone');
     var url = '../acqui/fetch_sort_dropbox.pl?sort='+i+'&budget_id='+budgetId;
 
     var xmlhttp = null;
@@ -764,7 +740,13 @@ for (i=1;i<=2;i++) {
         }
     };
     // rc =  eval ( xmlhttp.responseText );
-    sort_dropbox.innerHTML  =  xmlhttp.responseText;
+    var retRootType = xmlhttp.responseXML.firstChild.nodeName;
+    var existingInputs = sort_zone.getElementsByTagName('input');
+    if (existingInputs.length > 0 && retRootType == 'input') {
+        // when sort is already an input, do not override to preseve value
+        return;
+    }
+    sort_zone.innerHTML = xmlhttp.responseText;
 }
 }
 
index bbb119e..b43f2f8 100644 (file)
@@ -313,10 +313,10 @@ $.fn.dataTableExt.oPagination.four_button = {
         nNext = document.createElement( 'span' );
         nLast = document.createElement( 'span' );
 
-/*        nFirst.appendChild( document.createTextNode( oSettings.oLanguage.oPaginate.sFirst ) );
+        nFirst.appendChild( document.createTextNode( oSettings.oLanguage.oPaginate.sFirst ) );
         nPrevious.appendChild( document.createTextNode( oSettings.oLanguage.oPaginate.sPrevious ) );
         nNext.appendChild( document.createTextNode( oSettings.oLanguage.oPaginate.sNext ) );
-        nLast.appendChild( document.createTextNode( oSettings.oLanguage.oPaginate.sLast ) );*/
+        nLast.appendChild( document.createTextNode( oSettings.oLanguage.oPaginate.sLast ) );
 
         nFirst.className = "paginate_button first";
         nPrevious.className = "paginate_button previous";
@@ -376,24 +376,24 @@ $.fn.dataTableExt.oPagination.four_button = {
             var buttons = an[i].getElementsByTagName('span');
             if ( oSettings._iDisplayStart === 0 )
             {
-                buttons[0].className = "paginate_disabled_first";
+                buttons[0].className = "paginate_disabled_previous";
                 buttons[1].className = "paginate_disabled_previous";
             }
             else
             {
-                buttons[0].className = "paginate_enabled_first";
+                buttons[0].className = "paginate_enabled_previous";
                 buttons[1].className = "paginate_enabled_previous";
             }
 
             if ( oSettings.fnDisplayEnd() == oSettings.fnRecordsDisplay() )
             {
                 buttons[2].className = "paginate_disabled_next";
-                buttons[3].className = "paginate_disabled_last";
+                buttons[3].className = "paginate_disabled_next";
             }
             else
             {
                 buttons[2].className = "paginate_enabled_next";
-                buttons[3].className = "paginate_enabled_last";
+                buttons[3].className = "paginate_enabled_next";
             }
         }
     }
diff --git a/koha-tmpl/intranet-tmpl/prog/en/lib/jquery/images/ui-bg_flat_0_aaaaaa_40x100.png b/koha-tmpl/intranet-tmpl/prog/en/lib/jquery/images/ui-bg_flat_0_aaaaaa_40x100.png
new file mode 100644 (file)
index 0000000..5b5dab2
Binary files /dev/null and b/koha-tmpl/intranet-tmpl/prog/en/lib/jquery/images/ui-bg_flat_0_aaaaaa_40x100.png differ
diff --git a/koha-tmpl/intranet-tmpl/prog/en/lib/jquery/images/ui-bg_flat_75_ffffff_40x100.png b/koha-tmpl/intranet-tmpl/prog/en/lib/jquery/images/ui-bg_flat_75_ffffff_40x100.png
new file mode 100644 (file)
index 0000000..ac8b229
Binary files /dev/null and b/koha-tmpl/intranet-tmpl/prog/en/lib/jquery/images/ui-bg_flat_75_ffffff_40x100.png differ
diff --git a/koha-tmpl/intranet-tmpl/prog/en/lib/jquery/images/ui-bg_glass_55_fbf9ee_1x400.png b/koha-tmpl/intranet-tmpl/prog/en/lib/jquery/images/ui-bg_glass_55_fbf9ee_1x400.png
new file mode 100644 (file)
index 0000000..ad3d634
Binary files /dev/null and b/koha-tmpl/intranet-tmpl/prog/en/lib/jquery/images/ui-bg_glass_55_fbf9ee_1x400.png differ
diff --git a/koha-tmpl/intranet-tmpl/prog/en/lib/jquery/images/ui-bg_glass_65_ffffff_1x400.png b/koha-tmpl/intranet-tmpl/prog/en/lib/jquery/images/ui-bg_glass_65_ffffff_1x400.png
new file mode 100644 (file)
index 0000000..42ccba2
Binary files /dev/null and b/koha-tmpl/intranet-tmpl/prog/en/lib/jquery/images/ui-bg_glass_65_ffffff_1x400.png differ
diff --git a/koha-tmpl/intranet-tmpl/prog/en/lib/jquery/images/ui-bg_glass_75_dadada_1x400.png b/koha-tmpl/intranet-tmpl/prog/en/lib/jquery/images/ui-bg_glass_75_dadada_1x400.png
new file mode 100644 (file)
index 0000000..5a46b47
Binary files /dev/null and b/koha-tmpl/intranet-tmpl/prog/en/lib/jquery/images/ui-bg_glass_75_dadada_1x400.png differ
diff --git a/koha-tmpl/intranet-tmpl/prog/en/lib/jquery/images/ui-bg_glass_75_e6e6e6_1x400.png b/koha-tmpl/intranet-tmpl/prog/en/lib/jquery/images/ui-bg_glass_75_e6e6e6_1x400.png
new file mode 100644 (file)
index 0000000..86c2baa
Binary files /dev/null and b/koha-tmpl/intranet-tmpl/prog/en/lib/jquery/images/ui-bg_glass_75_e6e6e6_1x400.png differ
diff --git a/koha-tmpl/intranet-tmpl/prog/en/lib/jquery/images/ui-bg_glass_95_fef1ec_1x400.png b/koha-tmpl/intranet-tmpl/prog/en/lib/jquery/images/ui-bg_glass_95_fef1ec_1x400.png
new file mode 100644 (file)
index 0000000..4443fdc
Binary files /dev/null and b/koha-tmpl/intranet-tmpl/prog/en/lib/jquery/images/ui-bg_glass_95_fef1ec_1x400.png differ
diff --git a/koha-tmpl/intranet-tmpl/prog/en/lib/jquery/images/ui-bg_highlight-soft_75_cccccc_1x100.png b/koha-tmpl/intranet-tmpl/prog/en/lib/jquery/images/ui-bg_highlight-soft_75_cccccc_1x100.png
new file mode 100644 (file)
index 0000000..7c9fa6c
Binary files /dev/null and b/koha-tmpl/intranet-tmpl/prog/en/lib/jquery/images/ui-bg_highlight-soft_75_cccccc_1x100.png differ
diff --git a/koha-tmpl/intranet-tmpl/prog/en/lib/jquery/images/ui-icons_2e83ff_256x240.png b/koha-tmpl/intranet-tmpl/prog/en/lib/jquery/images/ui-icons_2e83ff_256x240.png
new file mode 100644 (file)
index 0000000..09d1cdc
Binary files /dev/null and b/koha-tmpl/intranet-tmpl/prog/en/lib/jquery/images/ui-icons_2e83ff_256x240.png differ
diff --git a/koha-tmpl/intranet-tmpl/prog/en/lib/jquery/images/ui-icons_888888_256x240.png b/koha-tmpl/intranet-tmpl/prog/en/lib/jquery/images/ui-icons_888888_256x240.png
new file mode 100644 (file)
index 0000000..6d02426
Binary files /dev/null and b/koha-tmpl/intranet-tmpl/prog/en/lib/jquery/images/ui-icons_888888_256x240.png differ
diff --git a/koha-tmpl/intranet-tmpl/prog/en/lib/jquery/images/ui-icons_cd0a0a_256x240.png b/koha-tmpl/intranet-tmpl/prog/en/lib/jquery/images/ui-icons_cd0a0a_256x240.png
new file mode 100644 (file)
index 0000000..2ab019b
Binary files /dev/null and b/koha-tmpl/intranet-tmpl/prog/en/lib/jquery/images/ui-icons_cd0a0a_256x240.png differ
index 89d99b0..fe76cd3 100644 (file)
@@ -1,5 +1,5 @@
 /*!
- * jQuery UI CSS Framework 1.8.22
+ * jQuery UI CSS Framework 1.8.23
  *
  * Copyright 2012, AUTHORS.txt (http://jqueryui.com/about)
  * Dual licensed under the MIT or GPL Version 2 licenses.
@@ -39,7 +39,7 @@
 
 
 /*!
- * jQuery UI CSS Framework 1.8.22
+ * jQuery UI CSS Framework 1.8.23
  *
  * Copyright 2012, AUTHORS.txt (http://jqueryui.com/about)
  * Dual licensed under the MIT or GPL Version 2 licenses.
 /* Overlays */
 .ui-widget-overlay { background: #aaaaaa url(images/ui-bg_flat_0_aaaaaa_40x100.png) 50% 50% repeat-x; opacity: .30;filter:Alpha(Opacity=30); }
 .ui-widget-shadow { margin: -8px 0 0 -8px; padding: 8px; background: #aaaaaa url(images/ui-bg_flat_0_aaaaaa_40x100.png) 50% 50% repeat-x; opacity: .30;filter:Alpha(Opacity=30); -moz-border-radius: 8px; -khtml-border-radius: 8px; -webkit-border-radius: 8px; border-radius: 8px; }/*!
- * jQuery UI Autocomplete 1.8.22
+ * jQuery UI Autocomplete 1.8.23
  *
  * Copyright 2012, AUTHORS.txt (http://jqueryui.com/about)
  * Dual licensed under the MIT or GPL Version 2 licenses.
 * html .ui-autocomplete { width:1px; } /* without this, the menu expands to 100% in IE6 */
 
 /*
- * jQuery UI Menu 1.8.22
+ * jQuery UI Menu 1.8.23
  *
  * Copyright 2010, AUTHORS.txt (http://jqueryui.com/about)
  * Dual licensed under the MIT or GPL Version 2 licenses.
  * http://docs.jquery.com/UI/Menu#theming
  */
 .ui-menu {
-    list-style:none;
-    padding: 2px;
-    margin: 0;
-    display:block;
   float: left;
+       list-style:none;
+       padding: 2px;
+  margin: 0;
+     display:block;
+ float: left;
 }
 .ui-menu .ui-menu {
-    margin-top: -3px;
+     margin-top: -3px;
 }
 .ui-menu .ui-menu-item {
-    margin:0;
-    padding: 0;
+   margin:0;
+      padding: 0;
     zoom: 1;
-    float: left;
-    clear: left;
-    width: 100%;
+       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;
+      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;
+  font-weight: normal;
+   margin: -1px;
 }
 /*!
- * jQuery UI Slider 1.8.22
+ * jQuery UI Slider 1.8.23
  *
  * Copyright 2012, AUTHORS.txt (http://jqueryui.com/about)
  * Dual licensed under the MIT or GPL Version 2 licenses.
 .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.22
+ * jQuery UI Tabs 1.8.23
  *
  * Copyright 2012, AUTHORS.txt (http://jqueryui.com/about)
  * Dual licensed under the MIT or GPL Version 2 licenses.
 .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.22
+ * jQuery UI Datepicker 1.8.23
  *
  * Copyright 2012, AUTHORS.txt (http://jqueryui.com/about)
  * Dual licensed under the MIT or GPL Version 2 licenses.
index e36a7f0..635f4c6 100644 (file)
-/*! jQuery UI - v1.8.22 - 2012-07-24
+/*! jQuery UI - v1.8.23 - 2012-08-15
 * https://github.com/jquery/jquery-ui
 * Includes: jquery.ui.core.js
 * Copyright (c) 2012 AUTHORS.txt; Licensed MIT, GPL */
-(function(a,b){function c(b,c){var e=b.nodeName.toLowerCase();if("area"===e){var f=b.parentNode,g=f.name,h;return!b.href||!g||f.nodeName.toLowerCase()!=="map"?!1:(h=a("img[usemap=#"+g+"]")[0],!!h&&d(h))}return(/input|select|textarea|button|object/.test(e)?!b.disabled:"a"==e?b.href||c:c)&&d(b)}function d(b){return!a(b).parents().andSelf().filter(function(){return a.curCSS(this,"visibility")==="hidden"||a.expr.filters.hidden(this)}).length}a.ui=a.ui||{};if(a.ui.version)return;a.extend(a.ui,{version:"1.8.22",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}}),a.fn.extend({propAttr:a.fn.prop||a.fn.attr,_focus:a.fn.focus,focus:function(b,c){return typeof b=="number"?this.each(function(){var d=this;setTimeout(function(){a(d).focus(),c&&c.call(d)},b)}):this._focus.apply(this,arguments)},scrollParent:function(){var b;return a.browser.msie&&/(static|relative)/.test(this.css("position"))||/absolute/.test(this.css("position"))?b=this.parents().filter(function(){return/(relative|absolute|fixed)/.test(a.curCSS(this,"position",1))&&/(auto|scroll)/.test(a.curCSS(this,"overflow",1)+a.curCSS(this,"overflow-y",1)+a.curCSS(this,"overflow-x",1))}).eq(0):b=this.parents().filter(function(){return/(auto|scroll)/.test(a.curCSS(this,"overflow",1)+a.curCSS(this,"overflow-y",1)+a.curCSS(this,"overflow-x",1))}).eq(0),/fixed/.test(this.css("position"))||!b.length?a(document):b},zIndex:function(c){if(c!==b)return this.css("zIndex",c);if(this.length){var d=a(this[0]),e,f;while(d.length&&d[0]!==document){e=d.css("position");if(e==="absolute"||e==="relative"||e==="fixed"){f=parseInt(d.css("zIndex"),10);if(!isNaN(f)&&f!==0)return f}d=d.parent()}}return 0},disableSelection:function(){return this.bind((a.support.selectstart?"selectstart":"mousedown")+".ui-disableSelection",function(a){a.preventDefault()})},enableSelection:function(){return this.unbind(".ui-disableSelection")}}),a("<a>").outerWidth(1).jquery||a.each(["Width","Height"],function(c,d){function h(b,c,d,f){return a.each(e,function(){c-=parseFloat(a.curCSS(b,"padding"+this,!0))||0,d&&(c-=parseFloat(a.curCSS(b,"border"+this+"Width",!0))||0),f&&(c-=parseFloat(a.curCSS(b,"margin"+this,!0))||0)}),c}var e=d==="Width"?["Left","Right"]:["Top","Bottom"],f=d.toLowerCase(),g={innerWidth:a.fn.innerWidth,innerHeight:a.fn.innerHeight,outerWidth:a.fn.outerWidth,outerHeight:a.fn.outerHeight};a.fn["inner"+d]=function(c){return c===b?g["inner"+d].call(this):this.each(function(){a(this).css(f,h(this,c)+"px")})},a.fn["outer"+d]=function(b,c){return typeof b!="number"?g["outer"+d].call(this,b):this.each(function(){a(this).css(f,h(this,b,!0,c)+"px")})}}),a.extend(a.expr[":"],{data:a.expr.createPseudo?a.expr.createPseudo(function(b){return function(c){return!!a.data(c,b)}}):function(b,c,d){return!!a.data(b,d[3])},focusable:function(b){return c(b,!isNaN(a.attr(b,"tabindex")))},tabbable:function(b){var d=a.attr(b,"tabindex"),e=isNaN(d);return(e||d>=0)&&c(b,!e)}}),a(function(){var b=document.body,c=b.appendChild(c=document.createElement("div"));c.offsetHeight,a.extend(c.style,{minHeight:"100px",height:"auto",padding:0,borderWidth:0}),a.support.minHeight=c.offsetHeight===100,a.support.selectstart="onselectstart"in c,b.removeChild(c).style.display="none"}),a.curCSS||(a.curCSS=a.css),a.extend(a.ui,{plugin:{add:function(b,c,d){var e=a.ui[b].prototype;for(var f in d)e.plugins[f]=e.plugins[f]||[],e.plugins[f].push([c,d[f]])},call:function(a,b,c){var d=a.plugins[b];if(!d||!a.element[0].parentNode)return;for(var e=0;e<d.length;e++)a.options[d[e][0]]&&d[e][1].apply(a.element,c)}},contains:function(a,b){return document.compareDocumentPosition?a.compareDocumentPosition(b)&16:a!==b&&a.contains(b)},hasScroll:function(b,c){if(a(b).css("overflow")==="hidden")return!1;var d=c&&c==="left"?"scrollLeft":"scrollTop",e=!1;return b[d]>0?!0:(b[d]=1,e=b[d]>0,b[d]=0,e)},isOverAxis:function(a,b,c){return a>b&&a<b+c},isOver:function(b,c,d,e,f,g){return a.ui.isOverAxis(b,d,f)&&a.ui.isOverAxis(c,e,g)}})})(jQuery);;/*! jQuery UI - v1.8.22 - 2012-07-24
+(function(a,b){function c(b,c){var e=b.nodeName.toLowerCase();if("area"===e){var f=b.parentNode,g=f.name,h;return!b.href||!g||f.nodeName.toLowerCase()!=="map"?!1:(h=a("img[usemap=#"+g+"]")[0],!!h&&d(h))}return(/input|select|textarea|button|object/.test(e)?!b.disabled:"a"==e?b.href||c:c)&&d(b)}function d(b){return!a(b).parents().andSelf().filter(function(){return a.curCSS(this,"visibility")==="hidden"||a.expr.filters.hidden(this)}).length}a.ui=a.ui||{};if(a.ui.version)return;a.extend(a.ui,{version:"1.8.23",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}}),a.fn.extend({propAttr:a.fn.prop||a.fn.attr,_focus:a.fn.focus,focus:function(b,c){return typeof b=="number"?this.each(function(){var d=this;setTimeout(function(){a(d).focus(),c&&c.call(d)},b)}):this._focus.apply(this,arguments)},scrollParent:function(){var b;return a.browser.msie&&/(static|relative)/.test(this.css("position"))||/absolute/.test(this.css("position"))?b=this.parents().filter(function(){return/(relative|absolute|fixed)/.test(a.curCSS(this,"position",1))&&/(auto|scroll)/.test(a.curCSS(this,"overflow",1)+a.curCSS(this,"overflow-y",1)+a.curCSS(this,"overflow-x",1))}).eq(0):b=this.parents().filter(function(){return/(auto|scroll)/.test(a.curCSS(this,"overflow",1)+a.curCSS(this,"overflow-y",1)+a.curCSS(this,"overflow-x",1))}).eq(0),/fixed/.test(this.css("position"))||!b.length?a(document):b},zIndex:function(c){if(c!==b)return this.css("zIndex",c);if(this.length){var d=a(this[0]),e,f;while(d.length&&d[0]!==document){e=d.css("position");if(e==="absolute"||e==="relative"||e==="fixed"){f=parseInt(d.css("zIndex"),10);if(!isNaN(f)&&f!==0)return f}d=d.parent()}}return 0},disableSelection:function(){return this.bind((a.support.selectstart?"selectstart":"mousedown")+".ui-disableSelection",function(a){a.preventDefault()})},enableSelection:function(){return this.unbind(".ui-disableSelection")}}),a("<a>").outerWidth(1).jquery||a.each(["Width","Height"],function(c,d){function h(b,c,d,f){return a.each(e,function(){c-=parseFloat(a.curCSS(b,"padding"+this,!0))||0,d&&(c-=parseFloat(a.curCSS(b,"border"+this+"Width",!0))||0),f&&(c-=parseFloat(a.curCSS(b,"margin"+this,!0))||0)}),c}var e=d==="Width"?["Left","Right"]:["Top","Bottom"],f=d.toLowerCase(),g={innerWidth:a.fn.innerWidth,innerHeight:a.fn.innerHeight,outerWidth:a.fn.outerWidth,outerHeight:a.fn.outerHeight};a.fn["inner"+d]=function(c){return c===b?g["inner"+d].call(this):this.each(function(){a(this).css(f,h(this,c)+"px")})},a.fn["outer"+d]=function(b,c){return typeof b!="number"?g["outer"+d].call(this,b):this.each(function(){a(this).css(f,h(this,b,!0,c)+"px")})}}),a.extend(a.expr[":"],{data:a.expr.createPseudo?a.expr.createPseudo(function(b){return function(c){return!!a.data(c,b)}}):function(b,c,d){return!!a.data(b,d[3])},focusable:function(b){return c(b,!isNaN(a.attr(b,"tabindex")))},tabbable:function(b){var d=a.attr(b,"tabindex"),e=isNaN(d);return(e||d>=0)&&c(b,!e)}}),a(function(){var b=document.body,c=b.appendChild(c=document.createElement("div"));c.offsetHeight,a.extend(c.style,{minHeight:"100px",height:"auto",padding:0,borderWidth:0}),a.support.minHeight=c.offsetHeight===100,a.support.selectstart="onselectstart"in c,b.removeChild(c).style.display="none"}),a.curCSS||(a.curCSS=a.css),a.extend(a.ui,{plugin:{add:function(b,c,d){var e=a.ui[b].prototype;for(var f in d)e.plugins[f]=e.plugins[f]||[],e.plugins[f].push([c,d[f]])},call:function(a,b,c){var d=a.plugins[b];if(!d||!a.element[0].parentNode)return;for(var e=0;e<d.length;e++)a.options[d[e][0]]&&d[e][1].apply(a.element,c)}},contains:function(a,b){return document.compareDocumentPosition?a.compareDocumentPosition(b)&16:a!==b&&a.contains(b)},hasScroll:function(b,c){if(a(b).css("overflow")==="hidden")return!1;var d=c&&c==="left"?"scrollLeft":"scrollTop",e=!1;return b[d]>0?!0:(b[d]=1,e=b[d]>0,b[d]=0,e)},isOverAxis:function(a,b,c){return a>b&&a<b+c},isOver:function(b,c,d,e,f,g){return a.ui.isOverAxis(b,d,f)&&a.ui.isOverAxis(c,e,g)}})})(jQuery);;/*! jQuery UI - v1.8.23 - 2012-08-15
 * https://github.com/jquery/jquery-ui
 * Includes: jquery.ui.widget.js
 * Copyright (c) 2012 AUTHORS.txt; Licensed MIT, GPL */
-(function(a,b){if(a.cleanData){var c=a.cleanData;a.cleanData=function(b){for(var d=0,e;(e=b[d])!=null;d++)try{a(e).triggerHandler("remove")}catch(f){}c(b)}}else{var d=a.fn.remove;a.fn.remove=function(b,c){return this.each(function(){return c||(!b||a.filter(b,[this]).length)&&a("*",this).add([this]).each(function(){try{a(this).triggerHandler("remove")}catch(b){}}),d.call(a(this),b,c)})}}a.widget=function(b,c,d){var e=b.split(".")[0],f;b=b.split(".")[1],f=e+"-"+b,d||(d=c,c=a.Widget),a.expr[":"][f]=function(c){return!!a.data(c,b)},a[e]=a[e]||{},a[e][b]=function(a,b){arguments.length&&this._createWidget(a,b)};var g=new c;g.options=a.extend(!0,{},g.options),a[e][b].prototype=a.extend(!0,g,{namespace:e,widgetName:b,widgetEventPrefix:a[e][b].prototype.widgetEventPrefix||b,widgetBaseClass:f},d),a.widget.bridge(b,a[e][b])},a.widget.bridge=function(c,d){a.fn[c]=function(e){var f=typeof e=="string",g=Array.prototype.slice.call(arguments,1),h=this;return e=!f&&g.length?a.extend.apply(null,[!0,e].concat(g)):e,f&&e.charAt(0)==="_"?h:(f?this.each(function(){var d=a.data(this,c),f=d&&a.isFunction(d[e])?d[e].apply(d,g):d;if(f!==d&&f!==b)return h=f,!1}):this.each(function(){var b=a.data(this,c);b?b.option(e||{})._init():a.data(this,c,new d(e,this))}),h)}},a.Widget=function(a,b){arguments.length&&this._createWidget(a,b)},a.Widget.prototype={widgetName:"widget",widgetEventPrefix:"",options:{disabled:!1},_createWidget:function(b,c){a.data(c,this.widgetName,this),this.element=a(c),this.options=a.extend(!0,{},this.options,this._getCreateOptions(),b);var d=this;this.element.bind("remove."+this.widgetName,function(){d.destroy()}),this._create(),this._trigger("create"),this._init()},_getCreateOptions:function(){return a.metadata&&a.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(c,d){var e=c;if(arguments.length===0)return a.extend({},this.options);if(typeof c=="string"){if(d===b)return this.options[c];e={},e[c]=d}return this._setOptions(e),this},_setOptions:function(b){var c=this;return a.each(b,function(a,b){c._setOption(a,b)}),this},_setOption:function(a,b){return this.options[a]=b,a==="disabled"&&this.widget()[b?"addClass":"removeClass"](this.widgetBaseClass+"-disabled"+" "+"ui-state-disabled").attr("aria-disabled",b),this},enable:function(){return this._setOption("disabled",!1)},disable:function(){return this._setOption("disabled",!0)},_trigger:function(b,c,d){var e,f,g=this.options[b];d=d||{},c=a.Event(c),c.type=(b===this.widgetEventPrefix?b:this.widgetEventPrefix+b).toLowerCase(),c.target=this.element[0],f=c.originalEvent;if(f)for(e in f)e in c||(c[e]=f[e]);return this.element.trigger(c,d),!(a.isFunction(g)&&g.call(this.element[0],c,d)===!1||c.isDefaultPrevented())}}})(jQuery);;/*! jQuery UI - v1.8.22 - 2012-07-24
+(function(a,b){if(a.cleanData){var c=a.cleanData;a.cleanData=function(b){for(var d=0,e;(e=b[d])!=null;d++)try{a(e).triggerHandler("remove")}catch(f){}c(b)}}else{var d=a.fn.remove;a.fn.remove=function(b,c){return this.each(function(){return c||(!b||a.filter(b,[this]).length)&&a("*",this).add([this]).each(function(){try{a(this).triggerHandler("remove")}catch(b){}}),d.call(a(this),b,c)})}}a.widget=function(b,c,d){var e=b.split(".")[0],f;b=b.split(".")[1],f=e+"-"+b,d||(d=c,c=a.Widget),a.expr[":"][f]=function(c){return!!a.data(c,b)},a[e]=a[e]||{},a[e][b]=function(a,b){arguments.length&&this._createWidget(a,b)};var g=new c;g.options=a.extend(!0,{},g.options),a[e][b].prototype=a.extend(!0,g,{namespace:e,widgetName:b,widgetEventPrefix:a[e][b].prototype.widgetEventPrefix||b,widgetBaseClass:f},d),a.widget.bridge(b,a[e][b])},a.widget.bridge=function(c,d){a.fn[c]=function(e){var f=typeof e=="string",g=Array.prototype.slice.call(arguments,1),h=this;return e=!f&&g.length?a.extend.apply(null,[!0,e].concat(g)):e,f&&e.charAt(0)==="_"?h:(f?this.each(function(){var d=a.data(this,c),f=d&&a.isFunction(d[e])?d[e].apply(d,g):d;if(f!==d&&f!==b)return h=f,!1}):this.each(function(){var b=a.data(this,c);b?b.option(e||{})._init():a.data(this,c,new d(e,this))}),h)}},a.Widget=function(a,b){arguments.length&&this._createWidget(a,b)},a.Widget.prototype={widgetName:"widget",widgetEventPrefix:"",options:{disabled:!1},_createWidget:function(b,c){a.data(c,this.widgetName,this),this.element=a(c),this.options=a.extend(!0,{},this.options,this._getCreateOptions(),b);var d=this;this.element.bind("remove."+this.widgetName,function(){d.destroy()}),this._create(),this._trigger("create"),this._init()},_getCreateOptions:function(){return a.metadata&&a.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(c,d){var e=c;if(arguments.length===0)return a.extend({},this.options);if(typeof c=="string"){if(d===b)return this.options[c];e={},e[c]=d}return this._setOptions(e),this},_setOptions:function(b){var c=this;return a.each(b,function(a,b){c._setOption(a,b)}),this},_setOption:function(a,b){return this.options[a]=b,a==="disabled"&&this.widget()[b?"addClass":"removeClass"](this.widgetBaseClass+"-disabled"+" "+"ui-state-disabled").attr("aria-disabled",b),this},enable:function(){return this._setOption("disabled",!1)},disable:function(){return this._setOption("disabled",!0)},_trigger:function(b,c,d){var e,f,g=this.options[b];d=d||{},c=a.Event(c),c.type=(b===this.widgetEventPrefix?b:this.widgetEventPrefix+b).toLowerCase(),c.target=this.element[0],f=c.originalEvent;if(f)for(e in f)e in c||(c[e]=f[e]);return this.element.trigger(c,d),!(a.isFunction(g)&&g.call(this.element[0],c,d)===!1||c.isDefaultPrevented())}}})(jQuery);;/*! jQuery UI - v1.8.23 - 2012-08-15
 * https://github.com/jquery/jquery-ui
 * Includes: jquery.ui.mouse.js
 * Copyright (c) 2012 AUTHORS.txt; Licensed MIT, GPL */
-(function(a,b){var c=!1;a(document).mouseup(function(a){c=!1}),a.widget("ui.mouse",{options:{cancel:":input,option",distance:1,delay:0},_mouseInit:function(){var b=this;this.element.bind("mousedown."+this.widgetName,function(a){return b._mouseDown(a)}).bind("click."+this.widgetName,function(c){if(!0===a.data(c.target,b.widgetName+".preventClickEvent"))return a.removeData(c.target,b.widgetName+".preventClickEvent"),c.stopImmediatePropagation(),!1}),this.started=!1},_mouseDestroy:function(){this.element.unbind("."+this.widgetName),a(document).unbind("mousemove."+this.widgetName,this._mouseMoveDelegate).unbind("mouseup."+this.widgetName,this._mouseUpDelegate)},_mouseDown:function(b){if(c)return;this._mouseStarted&&this._mouseUp(b),this._mouseDownEvent=b;var d=this,e=b.which==1,f=typeof this.options.cancel=="string"&&b.target.nodeName?a(b.target).closest(this.options.cancel).length:!1;if(!e||f||!this._mouseCapture(b))return!0;this.mouseDelayMet=!this.options.delay,this.mouseDelayMet||(this._mouseDelayTimer=setTimeout(function(){d.mouseDelayMet=!0},this.options.delay));if(this._mouseDistanceMet(b)&&this._mouseDelayMet(b)){this._mouseStarted=this._mouseStart(b)!==!1;if(!this._mouseStarted)return b.preventDefault(),!0}return!0===a.data(b.target,this.widgetName+".preventClickEvent")&&a.removeData(b.target,this.widgetName+".preventClickEvent"),this._mouseMoveDelegate=function(a){return d._mouseMove(a)},this._mouseUpDelegate=function(a){return d._mouseUp(a)},a(document).bind("mousemove."+this.widgetName,this._mouseMoveDelegate).bind("mouseup."+this.widgetName,this._mouseUpDelegate),b.preventDefault(),c=!0,!0},_mouseMove:function(b){return!a.browser.msie||document.documentMode>=9||!!b.button?this._mouseStarted?(this._mouseDrag(b),b.preventDefault()):(this._mouseDistanceMet(b)&&this._mouseDelayMet(b)&&(this._mouseStarted=this._mouseStart(this._mouseDownEvent,b)!==!1,this._mouseStarted?this._mouseDrag(b):this._mouseUp(b)),!this._mouseStarted):this._mouseUp(b)},_mouseUp:function(b){return a(document).unbind("mousemove."+this.widgetName,this._mouseMoveDelegate).unbind("mouseup."+this.widgetName,this._mouseUpDelegate),this._mouseStarted&&(this._mouseStarted=!1,b.target==this._mouseDownEvent.target&&a.data(b.target,this.widgetName+".preventClickEvent",!0),this._mouseStop(b)),!1},_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(a){return this.mouseDelayMet},_mouseStart:function(a){},_mouseDrag:function(a){},_mouseStop:function(a){},_mouseCapture:function(a){return!0}})})(jQuery);;/*! jQuery UI - v1.8.22 - 2012-07-24
+(function(a,b){var c=!1;a(document).mouseup(function(a){c=!1}),a.widget("ui.mouse",{options:{cancel:":input,option",distance:1,delay:0},_mouseInit:function(){var b=this;this.element.bind("mousedown."+this.widgetName,function(a){return b._mouseDown(a)}).bind("click."+this.widgetName,function(c){if(!0===a.data(c.target,b.widgetName+".preventClickEvent"))return a.removeData(c.target,b.widgetName+".preventClickEvent"),c.stopImmediatePropagation(),!1}),this.started=!1},_mouseDestroy:function(){this.element.unbind("."+this.widgetName),this._mouseMoveDelegate&&a(document).unbind("mousemove."+this.widgetName,this._mouseMoveDelegate).unbind("mouseup."+this.widgetName,this._mouseUpDelegate)},_mouseDown:function(b){if(c)return;this._mouseStarted&&this._mouseUp(b),this._mouseDownEvent=b;var d=this,e=b.which==1,f=typeof this.options.cancel=="string"&&b.target.nodeName?a(b.target).closest(this.options.cancel).length:!1;if(!e||f||!this._mouseCapture(b))return!0;this.mouseDelayMet=!this.options.delay,this.mouseDelayMet||(this._mouseDelayTimer=setTimeout(function(){d.mouseDelayMet=!0},this.options.delay));if(this._mouseDistanceMet(b)&&this._mouseDelayMet(b)){this._mouseStarted=this._mouseStart(b)!==!1;if(!this._mouseStarted)return b.preventDefault(),!0}return!0===a.data(b.target,this.widgetName+".preventClickEvent")&&a.removeData(b.target,this.widgetName+".preventClickEvent"),this._mouseMoveDelegate=function(a){return d._mouseMove(a)},this._mouseUpDelegate=function(a){return d._mouseUp(a)},a(document).bind("mousemove."+this.widgetName,this._mouseMoveDelegate).bind("mouseup."+this.widgetName,this._mouseUpDelegate),b.preventDefault(),c=!0,!0},_mouseMove:function(b){return!a.browser.msie||document.documentMode>=9||!!b.button?this._mouseStarted?(this._mouseDrag(b),b.preventDefault()):(this._mouseDistanceMet(b)&&this._mouseDelayMet(b)&&(this._mouseStarted=this._mouseStart(this._mouseDownEvent,b)!==!1,this._mouseStarted?this._mouseDrag(b):this._mouseUp(b)),!this._mouseStarted):this._mouseUp(b)},_mouseUp:function(b){return a(document).unbind("mousemove."+this.widgetName,this._mouseMoveDelegate).unbind("mouseup."+this.widgetName,this._mouseUpDelegate),this._mouseStarted&&(this._mouseStarted=!1,b.target==this._mouseDownEvent.target&&a.data(b.target,this.widgetName+".preventClickEvent",!0),this._mouseStop(b)),!1},_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(a){return this.mouseDelayMet},_mouseStart:function(a){},_mouseDrag:function(a){},_mouseStop:function(a){},_mouseCapture:function(a){return!0}})})(jQuery);;/*! jQuery UI - v1.8.23 - 2012-08-15
 * https://github.com/jquery/jquery-ui
 * Includes: jquery.ui.position.js
 * Copyright (c) 2012 AUTHORS.txt; Licensed MIT, GPL */
-(function(a,b){a.ui=a.ui||{};var c=/left|center|right/,d=/top|center|bottom/,e="center",f={},g=a.fn.position,h=a.fn.offset;a.fn.position=function(b){if(!b||!b.of)return g.apply(this,arguments);b=a.extend({},b);var h=a(b.of),i=h[0],j=(b.collision||"flip").split(" "),k=b.offset?b.offset.split(" "):[0,0],l,m,n;return i.nodeType===9?(l=h.width(),m=h.height(),n={top:0,left:0}):i.setTimeout?(l=h.width(),m=h.height(),n={top:h.scrollTop(),left:h.scrollLeft()}):i.preventDefault?(b.at="left top",l=m=0,n={top:b.of.pageY,left:b.of.pageX}):(l=h.outerWidth(),m=h.outerHeight(),n=h.offset()),a.each(["my","at"],function(){var a=(b[this]||"").split(" ");a.length===1&&(a=c.test(a[0])?a.concat([e]):d.test(a[0])?[e].concat(a):[e,e]),a[0]=c.test(a[0])?a[0]:e,a[1]=d.test(a[1])?a[1]:e,b[this]=a}),j.length===1&&(j[1]=j[0]),k[0]=parseInt(k[0],10)||0,k.length===1&&(k[1]=k[0]),k[1]=parseInt(k[1],10)||0,b.at[0]==="right"?n.left+=l:b.at[0]===e&&(n.left+=l/2),b.at[1]==="bottom"?n.top+=m:b.at[1]===e&&(n.top+=m/2),n.left+=k[0],n.top+=k[1],this.each(function(){var c=a(this),d=c.outerWidth(),g=c.outerHeight(),h=parseInt(a.curCSS(this,"marginLeft",!0))||0,i=parseInt(a.curCSS(this,"marginTop",!0))||0,o=d+h+(parseInt(a.curCSS(this,"marginRight",!0))||0),p=g+i+(parseInt(a.curCSS(this,"marginBottom",!0))||0),q=a.extend({},n),r;b.my[0]==="right"?q.left-=d:b.my[0]===e&&(q.left-=d/2),b.my[1]==="bottom"?q.top-=g:b.my[1]===e&&(q.top-=g/2),f.fractions||(q.left=Math.round(q.left),q.top=Math.round(q.top)),r={left:q.left-h,top:q.top-i},a.each(["left","top"],function(c,e){a.ui.position[j[c]]&&a.ui.position[j[c]][e](q,{targetWidth:l,targetHeight:m,elemWidth:d,elemHeight:g,collisionPosition:r,collisionWidth:o,collisionHeight:p,offset:k,my:b.my,at:b.at})}),a.fn.bgiframe&&c.bgiframe(),c.offset(a.extend(q,{using:b.using}))})},a.ui.position={fit:{left:function(b,c){var d=a(window),e=c.collisionPosition.left+c.collisionWidth-d.width()-d.scrollLeft();b.left=e>0?b.left-e:Math.max(b.left-c.collisionPosition.left,b.left)},top:function(b,c){var d=a(window),e=c.collisionPosition.top+c.collisionHeight-d.height()-d.scrollTop();b.top=e>0?b.top-e:Math.max(b.top-c.collisionPosition.top,b.top)}},flip:{left:function(b,c){if(c.at[0]===e)return;var d=a(window),f=c.collisionPosition.left+c.collisionWidth-d.width()-d.scrollLeft(),g=c.my[0]==="left"?-c.elemWidth:c.my[0]==="right"?c.elemWidth:0,h=c.at[0]==="left"?c.targetWidth:-c.targetWidth,i=-2*c.offset[0];b.left+=c.collisionPosition.left<0?g+h+i:f>0?g+h+i:0},top:function(b,c){if(c.at[1]===e)return;var d=a(window),f=c.collisionPosition.top+c.collisionHeight-d.height()-d.scrollTop(),g=c.my[1]==="top"?-c.elemHeight:c.my[1]==="bottom"?c.elemHeight:0,h=c.at[1]==="top"?c.targetHeight:-c.targetHeight,i=-2*c.offset[1];b.top+=c.collisionPosition.top<0?g+h+i:f>0?g+h+i:0}}},a.offset.setOffset||(a.offset.setOffset=function(b,c){/static/.test(a.curCSS(b,"position"))&&(b.style.position="relative");var d=a(b),e=d.offset(),f=parseInt(a.curCSS(b,"top",!0),10)||0,g=parseInt(a.curCSS(b,"left",!0),10)||0,h={top:c.top-e.top+f,left:c.left-e.left+g};"using"in c?c.using.call(b,h):d.css(h)},a.fn.offset=function(b){var c=this[0];return!c||!c.ownerDocument?null:b?a.isFunction(b)?this.each(function(c){a(this).offset(b.call(this,c,a(this).offset()))}):this.each(function(){a.offset.setOffset(this,b)}):h.call(this)}),function(){var b=document.getElementsByTagName("body")[0],c=document.createElement("div"),d,e,g,h,i;d=document.createElement(b?"div":"body"),g={visibility:"hidden",width:0,height:0,border:0,margin:0,background:"none"},b&&a.extend(g,{position:"absolute",left:"-1000px",top:"-1000px"});for(var j in g)d.style[j]=g[j];d.appendChild(c),e=b||document.documentElement,e.insertBefore(d,e.firstChild),c.style.cssText="position: absolute; left: 10.7432222px; top: 10.432325px; height: 30px; width: 201px;",h=a(c).offset(function(a,b){return b}).offset(),d.innerHTML="",e.removeChild(d),i=h.top+h.left+(b?2e3:0),f.fractions=i>21&&i<22}()})(jQuery);;/*! jQuery UI - v1.8.22 - 2012-07-24
-* https://github.com/jquery/jquery-ui
-* Includes: jquery.ui.draggable.js
-* Copyright (c) 2012 AUTHORS.txt; Licensed MIT, GPL */
-(function(a,b){a.widget("ui.draggable",a.ui.mouse,{widgetEventPrefix:"drag",options:{addClasses:!0,appendTo:"parent",axis:!1,connectToSortable:!1,containment:!1,cursor:"auto",cursorAt:!1,grid:!1,handle:!1,helper:"original",iframeFix:!1,opacity:!1,refreshPositions:!1,revert:!1,revertDuration:500,scope:"default",scroll:!0,scrollSensitivity:20,scrollSpeed:20,snap:!1,snapMode:"both",snapTolerance:20,stack:!1,zIndex:!1},_create:function(){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"))return;return this.element.removeData("draggable").unbind(".draggable").removeClass("ui-draggable ui-draggable-dragging ui-draggable-disabled"),this._mouseDestroy(),this},_mouseCapture:function(b){var c=this.options;return this.helper||c.disabled||a(b.target).is(".ui-resizable-handle")?!1:(this.handle=this._getHandle(b),this.handle?(c.iframeFix&&a(c.iframeFix===!0?"iframe":c.iframeFix).each(function(){a('<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(a(this).offset()).appendTo("body")}),!0):!1)},_mouseStart:function(b){var c=this.options;return this.helper=this._createHelper(b),this.helper.addClass("ui-draggable-dragging"),this._cacheHelperProportions(),a.ui.ddmanager&&(a.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},a.extend(this.offset,{click:{left:b.pageX-this.offset.left,top:b.pageY-this.offset.top},parent:this._getParentOffset(),relative:this._getRelativeOffset()}),this.originalPosition=this.position=this._generatePosition(b),this.originalPageX=b.pageX,this.originalPageY=b.pageY,c.cursorAt&&this._adjustOffsetFromHelper(c.cursorAt),c.containment&&this._setContainment(),this._trigger("start",b)===!1?(this._clear(),!1):(this._cacheHelperProportions(),a.ui.ddmanager&&!c.dropBehaviour&&a.ui.ddmanager.prepareOffsets(this,b),this._mouseDrag(b,!0),a.ui.ddmanager&&a.ui.ddmanager.dragStart(this,b),!0)},_mouseDrag:function(b,c){this.position=this._generatePosition(b),this.positionAbs=this._convertPositionTo("absolute");if(!c){var d=this._uiHash();if(this._trigger("drag",b,d)===!1)return this._mouseUp({}),!1;this.position=d.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";return a.ui.ddmanager&&a.ui.ddmanager.drag(this,b),!1},_mouseStop:function(b){var c=!1;a.ui.ddmanager&&!this.options.dropBehaviour&&(c=a.ui.ddmanager.drop(this,b)),this.dropped&&(c=this.dropped,this.dropped=!1);var d=this.element[0],e=!1;while(d&&(d=d.parentNode))d==document&&(e=!0);if(!e&&this.options.helper==="original")return!1;if(this.options.revert=="invalid"&&!c||this.options.revert=="valid"&&c||this.options.revert===!0||a.isFunction(this.options.revert)&&this.options.revert.call(this.element,c)){var f=this;a(this.helper).animate(this.originalPosition,parseInt(this.options.revertDuration,10),function(){f._trigger("stop",b)!==!1&&f._clear()})}else this._trigger("stop",b)!==!1&&this._clear();return!1},_mouseUp:function(b){return this.options.iframeFix===!0&&a("div.ui-draggable-iframeFix").each(function(){this.parentNode.removeChild(this)}),a.ui.ddmanager&&a.ui.ddmanager.dragStop(this,b),a.ui.mouse.prototype._mouseUp.call(this,b)},cancel:function(){return this.helper.is(".ui-draggable-dragging")?this._mouseUp({}):this._clear(),this},_getHandle:function(b){var c=!this.options.handle||!a(this.options.handle,this.element).length?!0:!1;return a(this.options.handle,this.element).find("*").andSelf().each(function(){this==b.target&&(c=!0)}),c},_createHelper:function(b){var c=this.options,d=a.isFunction(c.helper)?a(c.helper.apply(this.element[0],[b])):c.helper=="clone"?this.element.clone().removeAttr("id"):this.element;return d.parents("body").length||d.appendTo(c.appendTo=="parent"?this.element[0].parentNode:c.appendTo),d[0]!=this.element[0]&&!/(fixed|absolute)/.test(d.css("position"))&&d.css("position","absolute"),d},_adjustOffsetFromHelper:function(b){typeof b=="string"&&(b=b.split(" ")),a.isArray(b)&&(b={left:+b[0],top:+b[1]||0}),"left"in b&&(this.offset.click.left=b.left+this.margins.left),"right"in b&&(this.offset.click.left=this.helperProportions.width-b.right+this.margins.left),"top"in b&&(this.offset.click.top=b.top+this.margins.top),"bottom"in b&&(this.offset.click.top=this.helperProportions.height-b.bottom+this.margins.top)},_getParentOffset:function(){this.offsetParent=this.helper.offsetParent();var b=this.offsetParent.offset();this.cssPosition=="absolute"&&this.scrollParent[0]!=document&&a.ui.contains(this.scrollParent[0],this.offsetParent[0])&&(b.left+=this.scrollParent.scrollLeft(),b.top+=this.scrollParent.scrollTop());if(this.offsetParent[0]==document.body||this.offsetParent[0].tagName&&this.offsetParent[0].tagName.toLowerCase()=="html"&&a.browser.msie)b={top:0,left:0};return{top:b.top+(parseInt(this.offsetParent.css("borderTopWidth"),10)||0),left:b.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()}}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 b=this.options;b.containment=="parent"&&(b.containment=this.helper[0].parentNode);if(b.containment=="document"||b.containment=="window")this.containment=[b.containment=="document"?0:a(window).scrollLeft()-this.offset.relative.left-this.offset.parent.left,b.containment=="document"?0:a(window).scrollTop()-this.offset.relative.top-this.offset.parent.top,(b.containment=="document"?0:a(window).scrollLeft())+a(b.containment=="document"?document:window).width()-this.helperProportions.width-this.margins.left,(b.containment=="document"?0:a(window).scrollTop())+(a(b.containment=="document"?document:window).height()||document.body.parentNode.scrollHeight)-this.helperProportions.height-this.margins.top];if(!/^(document|window|parent)$/.test(b.containment)&&b.containment.constructor!=Array){var c=a(b.containment),d=c[0];if(!d)return;var e=c.offset(),f=a(d).css("overflow")!="hidden";this.containment=[(parseInt(a(d).css("borderLeftWidth"),10)||0)+(parseInt(a(d).css("paddingLeft"),10)||0),(parseInt(a(d).css("borderTopWidth"),10)||0)+(parseInt(a(d).css("paddingTop"),10)||0),(f?Math.max(d.scrollWidth,d.offsetWidth):d.offsetWidth)-(parseInt(a(d).css("borderLeftWidth"),10)||0)-(parseInt(a(d).css("paddingRight"),10)||0)-this.helperProportions.width-this.margins.left-this.margins.right,(f?Math.max(d.scrollHeight,d.offsetHeight):d.offsetHeight)-(parseInt(a(d).css("borderTopWidth"),10)||0)-(parseInt(a(d).css("paddingBottom"),10)||0)-this.helperProportions.height-this.margins.top-this.margins.bottom],this.relative_container=c}else b.containment.constructor==Array&&(this.containment=b.containment)},_convertPositionTo:function(b,c){c||(c=this.position);var d=b=="absolute"?1:-1,e=this.options,f=this.cssPosition=="absolute"&&(this.scrollParent[0]==document||!a.ui.contains(this.scrollParent[0],this.offsetParent[0]))?this.offsetParent:this.scrollParent,g=/(html|body)/i.test(f[0].tagName);return{top:c.top+this.offset.relative.top*d+this.offset.parent.top*d-(a.browser.safari&&a.browser.version<526&&this.cssPosition=="fixed"?0:(this.cssPosition=="fixed"?-this.scrollParent.scrollTop():g?0:f.scrollTop())*d),left:c.left+this.offset.relative.left*d+this.offset.parent.left*d-(a.browser.safari&&a.browser.version<526&&this.cssPosition=="fixed"?0:(this.cssPosition=="fixed"?-this.scrollParent.scrollLeft():g?0:f.scrollLeft())*d)}},_generatePosition:function(b){var c=this.options,d=this.cssPosition=="absolute"&&(this.scrollParent[0]==document||!a.ui.contains(this.scrollParent[0],this.offsetParent[0]))?this.offsetParent:this.scrollParent,e=/(html|body)/i.test(d[0].tagName),f=b.pageX,g=b.pageY;if(this.originalPosition){var h;if(this.containment){if(this.relative_container){var i=this.relative_container.offset();h=[this.containment[0]+i.left,this.containment[1]+i.top,this.containment[2]+i.left,this.containment[3]+i.top]}else h=this.containment;b.pageX-this.offset.click.left<h[0]&&(f=h[0]+this.offset.click.left),b.pageY-this.offset.click.top<h[1]&&(g=h[1]+this.offset.click.top),b.pageX-this.offset.click.left>h[2]&&(f=h[2]+this.offset.click.left),b.pageY-this.offset.click.top>h[3]&&(g=h[3]+this.offset.click.top)}if(c.grid){var j=c.grid[1]?this.originalPageY+Math.round((g-this.originalPageY)/c.grid[1])*c.grid[1]:this.originalPageY;g=h?j-this.offset.click.top<h[1]||j-this.offset.click.top>h[3]?j-this.offset.click.top<h[1]?j+c.grid[1]:j-c.grid[1]:j:j;var k=c.grid[0]?this.originalPageX+Math.round((f-this.originalPageX)/c.grid[0])*c.grid[0]:this.originalPageX;f=h?k-this.offset.click.left<h[0]||k-this.offset.click.left>h[2]?k-this.offset.click.left<h[0]?k+c.grid[0]:k-c.grid[0]:k:k}}return{top:g-this.offset.click.top-this.offset.relative.top-this.offset.parent.top+(a.browser.safari&&a.browser.version<526&&this.cssPosition=="fixed"?0:this.cssPosition=="fixed"?-this.scrollParent.scrollTop():e?0:d.scrollTop()),left:f-this.offset.click.left-this.offset.relative.left-this.offset.parent.left+(a.browser.safari&&a.browser.version<526&&this.cssPosition=="fixed"?0:this.cssPosition=="fixed"?-this.scrollParent.scrollLeft():e?0:d.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=!1},_trigger:function(b,c,d){return d=d||this._uiHash(),a.ui.plugin.call(this,b,[c,d]),b=="drag"&&(this.positionAbs=this._convertPositionTo("absolute")),a.Widget.prototype._trigger.call(this,b,c,d)},plugins:{},_uiHash:function(a){return{helper:this.helper,position:this.position,originalPosition:this.originalPosition,offset:this.positionAbs}}}),a.extend(a.ui.draggable,{version:"1.8.22"}),a.ui.plugin.add("draggable","connectToSortable",{start:function(b,c){var d=a(this).data("draggable"),e=d.options,f=a.extend({},c,{item:d.element});d.sortables=[],a(e.connectToSortable).each(function(){var c=a.data(this,"sortable");c&&!c.options.disabled&&(d.sortables.push({instance:c,shouldRevert:c.options.revert}),c.refreshPositions(),c._trigger("activate",b,f))})},stop:function(b,c){var d=a(this).data("draggable"),e=a.extend({},c,{item:d.element});a.each(d.sortables,function(){this.instance.isOver?(this.instance.isOver=0,d.cancelHelperRemoval=!0,this.instance.cancelHelperRemoval=!1,this.shouldRevert&&(this.instance.options.revert=!0),this.instance._mouseStop(b),this.instance.options.helper=this.instance.options._helper,d.options.helper=="original"&&this.instance.currentItem.css({top:"auto",left:"auto"})):(this.instance.cancelHelperRemoval=!1,this.instance._trigger("deactivate",b,e))})},drag:function(b,c){var d=a(this).data("draggable"),e=this,f=function(b){var c=this.offset.click.top,d=this.offset.click.left,e=this.positionAbs.top,f=this.positionAbs.left,g=b.height,h=b.width,i=b.top,j=b.left;return a.ui.isOver(e+c,f+d,i,j,g,h)};a.each(d.sortables,function(f){this.instance.positionAbs=d.positionAbs,this.instance.helperProportions=d.helperProportions,this.instance.offset.click=d.offset.click,this.instance._intersectsWith(this.instance.containerCache)?(this.instance.isOver||(this.instance.isOver=1,this.instance.currentItem=a(e).clone().removeAttr("id").appendTo(this.instance.element).data("sortable-item",!0),this.instance.options._helper=this.instance.options.helper,this.instance.options.helper=function(){return c.helper[0]},b.target=this.instance.currentItem[0],this.instance._mouseCapture(b,!0),this.instance._mouseStart(b,!0,!0),this.instance.offset.click.top=d.offset.click.top,this.instance.offset.click.left=d.offset.click.left,this.instance.offset.parent.left-=d.offset.parent.left-this.instance.offset.parent.left,this.instance.offset.parent.top-=d.offset.parent.top-this.instance.offset.parent.top,d._trigger("toSortable",b),d.dropped=this.instance.element,d.currentItem=d.element,this.instance.fromOutside=d),this.instance.currentItem&&this.instance._mouseDrag(b)):this.instance.isOver&&(this.instance.isOver=0,this.instance.cancelHelperRemoval=!0,this.instance.options.revert=!1,this.instance._trigger("out",b,this.instance._uiHash(this.instance)),this.instance._mouseStop(b,!0),this.instance.options.helper=this.instance.options._helper,this.instance.currentItem.remove(),this.instance.placeholder&&this.instance.placeholder.remove(),d._trigger("fromSortable",b),d.dropped=!1)})}}),a.ui.plugin.add("draggable","cursor",{start:function(b,c){var d=a("body"),e=a(this).data("draggable").options;d.css("cursor")&&(e._cursor=d.css("cursor")),d.css("cursor",e.cursor)},stop:function(b,c){var d=a(this).data("draggable").options;d._cursor&&a("body").css("cursor",d._cursor)}}),a.ui.plugin.add("draggable","opacity",{start:function(b,c){var d=a(c.helper),e=a(this).data("draggable").options;d.css("opacity")&&(e._opacity=d.css("opacity")),d.css("opacity",e.opacity)},stop:function(b,c){var d=a(this).data("draggable").options;d._opacity&&a(c.helper).css("opacity",d._opacity)}}),a.ui.plugin.add("draggable","scroll",{start:function(b,c){var d=a(this).data("draggable");d.scrollParent[0]!=document&&d.scrollParent[0].tagName!="HTML"&&(d.overflowOffset=d.scrollParent.offset())},drag:function(b,c){var d=a(this).data("draggable"),e=d.options,f=!1;if(d.scrollParent[0]!=document&&d.scrollParent[0].tagName!="HTML"){if(!e.axis||e.axis!="x")d.overflowOffset.top+d.scrollParent[0].offsetHeight-b.pageY<e.scrollSensitivity?d.scrollParent[0].scrollTop=f=d.scrollParent[0].scrollTop+e.scrollSpeed:b.pageY-d.overflowOffset.top<e.scrollSensitivity&&(d.scrollParent[0].scrollTop=f=d.scrollParent[0].scrollTop-e.scrollSpeed);if(!e.axis||e.axis!="y")d.overflowOffset.left+d.scrollParent[0].offsetWidth-b.pageX<e.scrollSensitivity?d.scrollParent[0].scrollLeft=f=d.scrollParent[0].scrollLeft+e.scrollSpeed:b.pageX-d.overflowOffset.left<e.scrollSensitivity&&(d.scrollParent[0].scrollLeft=f=d.scrollParent[0].scrollLeft-e.scrollSpeed)}else{if(!e.axis||e.axis!="x")b.pageY-a(document).scrollTop()<e.scrollSensitivity?f=a(document).scrollTop(a(document).scrollTop()-e.scrollSpeed):a(window).height()-(b.pageY-a(document).scrollTop())<e.scrollSensitivity&&(f=a(document).scrollTop(a(document).scrollTop()+e.scrollSpeed));if(!e.axis||e.axis!="y")b.pageX-a(document).scrollLeft()<e.scrollSensitivity?f=a(document).scrollLeft(a(document).scrollLeft()-e.scrollSpeed):a(window).width()-(b.pageX-a(document).scrollLeft())<e.scrollSensitivity&&(f=a(document).scrollLeft(a(document).scrollLeft()+e.scrollSpeed))}f!==!1&&a.ui.ddmanager&&!e.dropBehaviour&&a.ui.ddmanager.prepareOffsets(d,b)}}),a.ui.plugin.add("draggable","snap",{start:function(b,c){var d=a(this).data("draggable"),e=d.options;d.snapElements=[],a(e.snap.constructor!=String?e.snap.items||":data(draggable)":e.snap).each(function(){var b=a(this),c=b.offset();this!=d.element[0]&&d.snapElements.push({item:this,width:b.outerWidth(),height:b.outerHeight(),top:c.top,left:c.left})})},drag:function(b,c){var d=a(this).data("draggable"),e=d.options,f=e.snapTolerance,g=c.offset.left,h=g+d.helperProportions.width,i=c.offset.top,j=i+d.helperProportions.height;for(var k=d.snapElements.length-1;k>=0;k--){var l=d.snapElements[k].left,m=l+d.snapElements[k].width,n=d.snapElements[k].top,o=n+d.snapElements[k].height;if(!(l-f<g&&g<m+f&&n-f<i&&i<o+f||l-f<g&&g<m+f&&n-f<j&&j<o+f||l-f<h&&h<m+f&&n-f<i&&i<o+f||l-f<h&&h<m+f&&n-f<j&&j<o+f)){d.snapElements[k].snapping&&d.options.snap.release&&d.options.snap.release.call(d.element,b,a.extend(d._uiHash(),{snapItem:d.snapElements[k].item})),d.snapElements[k].snapping=!1;continue}if(e.snapMode!="inner"){var p=Math.abs(n-j)<=f,q=Math.abs(o-i)<=f,r=Math.abs(l-h)<=f,s=Math.abs(m-g)<=f;p&&(c.position.top=d._convertPositionTo("relative",{top:n-d.helperProportions.height,left:0}).top-d.margins.top),q&&(c.position.top=d._convertPositionTo("relative",{top:o,left:0}).top-d.margins.top),r&&(c.position.left=d._convertPositionTo("relative",{top:0,left:l-d.helperProportions.width}).left-d.margins.left),s&&(c.position.left=d._convertPositionTo("relative",{top:0,left:m}).left-d.margins.left)}var t=p||q||r||s;if(e.snapMode!="outer"){var p=Math.abs(n-i)<=f,q=Math.abs(o-j)<=f,r=Math.abs(l-g)<=f,s=Math.abs(m-h)<=f;p&&(c.position.top=d._convertPositionTo("relative",{top:n,left:0}).top-d.margins.top),q&&(c.position.top=d._convertPositionTo("relative",{top:o-d.helperProportions.height,left:0}).top-d.margins.top),r&&(c.position.left=d._convertPositionTo("relative",{top:0,left:l}).left-d.margins.left),s&&(c.position.left=d._convertPositionTo("relative",{top:0,left:m-d.helperProportions.width}).left-d.margins.left)}!d.snapElements[k].snapping&&(p||q||r||s||t)&&d.options.snap.snap&&d.options.snap.snap.call(d.element,b,a.extend(d._uiHash(),{snapItem:d.snapElements[k].item})),d.snapElements[k].snapping=p||q||r||s||t}}}),a.ui.plugin.add("draggable","stack",{start:function(b,c){var d=a(this).data("draggable").options,e=a.makeArray(a(d.stack)).sort(function(b,c){return(parseInt(a(b).css("zIndex"),10)||0)-(parseInt(a(c).css("zIndex"),10)||0)});if(!e.length)return;var f=parseInt(e[0].style.zIndex)||0;a(e).each(function(a){this.style.zIndex=f+a}),this[0].style.zIndex=f+e.length}}),a.ui.plugin.add("draggable","zIndex",{start:function(b,c){var d=a(c.helper),e=a(this).data("draggable").options;d.css("zIndex")&&(e._zIndex=d.css("zIndex")),d.css("zIndex",e.zIndex)},stop:function(b,c){var d=a(this).data("draggable").options;d._zIndex&&a(c.helper).css("zIndex",d._zIndex)}})})(jQuery);;/*! jQuery UI - v1.8.22 - 2012-07-24
-* https://github.com/jquery/jquery-ui
-* Includes: jquery.ui.droppable.js
-* Copyright (c) 2012 AUTHORS.txt; Licensed MIT, GPL */
-(function(a,b){a.widget("ui.droppable",{widgetEventPrefix:"drop",options:{accept:"*",activeClass:!1,addClasses:!0,greedy:!1,hoverClass:!1,scope:"default",tolerance:"intersect"},_create:function(){var b=this.options,c=b.accept;this.isover=0,this.isout=1,this.accept=a.isFunction(c)?c:function(a){return a.is(c)},this.proportions={width:this.element[0].offsetWidth,height:this.element[0].offsetHeight},a.ui.ddmanager.droppables[b.scope]=a.ui.ddmanager.droppables[b.scope]||[],a.ui.ddmanager.droppables[b.scope].push(this),b.addClasses&&this.element.addClass("ui-droppable")},destroy:function(){var b=a.ui.ddmanager.droppables[this.options.scope];for(var c=0;c<b.length;c++)b[c]==this&&b.splice(c,1);return this.element.removeClass("ui-droppable ui-droppable-disabled").removeData("droppable").unbind(".droppable"),this},_setOption:function(b,c){b=="accept"&&(this.accept=a.isFunction(c)?c:function(a){return a.is(c)}),a.Widget.prototype._setOption.apply(this,arguments)},_activate:function(b){var c=a.ui.ddmanager.current;this.options.activeClass&&this.element.addClass(this.options.activeClass),c&&this._trigger("activate",b,this.ui(c))},_deactivate:function(b){var c=a.ui.ddmanager.current;this.options.activeClass&&this.element.removeClass(this.options.activeClass),c&&this._trigger("deactivate",b,this.ui(c))},_over:function(b){var c=a.ui.ddmanager.current;if(!c||(c.currentItem||c.element)[0]==this.element[0])return;this.accept.call(this.element[0],c.currentItem||c.element)&&(this.options.hoverClass&&this.element.addClass(this.options.hoverClass),this._trigger("over",b,this.ui(c)))},_out:function(b){var c=a.ui.ddmanager.current;if(!c||(c.currentItem||c.element)[0]==this.element[0])return;this.accept.call(this.element[0],c.currentItem||c.element)&&(this.options.hoverClass&&this.element.removeClass(this.options.hoverClass),this._trigger("out",b,this.ui(c)))},_drop:function(b,c){var d=c||a.ui.ddmanager.current;if(!d||(d.currentItem||d.element)[0]==this.element[0])return!1;var e=!1;return this.element.find(":data(droppable)").not(".ui-draggable-dragging").each(function(){var b=a.data(this,"droppable");if(b.options.greedy&&!b.options.disabled&&b.options.scope==d.options.scope&&b.accept.call(b.element[0],d.currentItem||d.element)&&a.ui.intersect(d,a.extend(b,{offset:b.element.offset()}),b.options.tolerance))return e=!0,!1}),e?!1:this.accept.call(this.element[0],d.currentItem||d.element)?(this.options.activeClass&&this.element.removeClass(this.options.activeClass),this.options.hoverClass&&this.element.removeClass(this.options.hoverClass),this._trigger("drop",b,this.ui(d)),this.element):!1},ui:function(a){return{draggable:a.currentItem||a.element,helper:a.helper,position:a.position,offset:a.positionAbs}}}),a.extend(a.ui.droppable,{version:"1.8.22"}),a.ui.intersect=function(b,c,d){if(!c.offset)return!1;var e=(b.positionAbs||b.position.absolute).left,f=e+b.helperProportions.width,g=(b.positionAbs||b.position.absolute).top,h=g+b.helperProportions.height,i=c.offset.left,j=i+c.proportions.width,k=c.offset.top,l=k+c.proportions.height;switch(d){case"fit":return i<=e&&f<=j&&k<=g&&h<=l;case"intersect":return i<e+b.helperProportions.width/2&&f-b.helperProportions.width/2<j&&k<g+b.helperProportions.height/2&&h-b.helperProportions.height/2<l;case"pointer":var m=(b.positionAbs||b.position.absolute).left+(b.clickOffset||b.offset.click).left,n=(b.positionAbs||b.position.absolute).top+(b.clickOffset||b.offset.click).top,o=a.ui.isOver(n,m,k,i,c.proportions.height,c.proportions.width);return o;case"touch":return(g>=k&&g<=l||h>=k&&h<=l||g<k&&h>l)&&(e>=i&&e<=j||f>=i&&f<=j||e<i&&f>j);default:return!1}},a.ui.ddmanager={current:null,droppables:{"default":[]},prepareOffsets:function(b,c){var d=a.ui.ddmanager.droppables[b.options.scope]||[],e=c?c.type:null,f=(b.currentItem||b.element).find(":data(droppable)").andSelf();g:for(var h=0;h<d.length;h++){if(d[h].options.disabled||b&&!d[h].accept.call(d[h].element[0],b.currentItem||b.element))continue;for(var i=0;i<f.length;i++)if(f[i]==d[h].element[0]){d[h].proportions.height=0;continue g}d[h].visible=d[h].element.css("display")!="none";if(!d[h].visible)continue;e=="mousedown"&&d[h]._activate.call(d[h],c),d[h].offset=d[h].element.offset(),d[h].proportions={width:d[h].element[0].offsetWidth,height:d[h].element[0].offsetHeight}}},drop:function(b,c){var d=!1;return a.each(a.ui.ddmanager.droppables[b.options.scope]||[],function(){if(!this.options)return;!this.options.disabled&&this.visible&&a.ui.intersect(b,this,this.options.tolerance)&&(d=this._drop.call(this,c)||d),!this.options.disabled&&this.visible&&this.accept.call(this.element[0],b.currentItem||b.element)&&(this.isout=1,this.isover=0,this._deactivate.call(this,c))}),d},dragStart:function(b,c){b.element.parents(":not(body,html)").bind("scroll.droppable",function(){b.options.refreshPositions||a.ui.ddmanager.prepareOffsets(b,c)})},drag:function(b,c){b.options.refreshPositions&&a.ui.ddmanager.prepareOffsets(b,c),a.each(a.ui.ddmanager.droppables[b.options.scope]||[],function(){if(this.options.disabled||this.greedyChild||!this.visible)return;var d=a.ui.intersect(b,this,this.options.tolerance),e=!d&&this.isover==1?"isout":d&&this.isover==0?"isover":null;if(!e)return;var f;if(this.options.greedy){var g=this.element.parents(":data(droppable):eq(0)");g.length&&(f=a.data(g[0],"droppable"),f.greedyChild=e=="isover"?1:0)}f&&e=="isover"&&(f.isover=0,f.isout=1,f._out.call(f,c)),this[e]=1,this[e=="isout"?"isover":"isout"]=0,this[e=="isover"?"_over":"_out"].call(this,c),f&&e=="isout"&&(f.isout=0,f.isover=1,f._over.call(f,c))})},dragStop:function(b,c){b.element.parents(":not(body,html)").unbind("scroll.droppable"),b.options.refreshPositions||a.ui.ddmanager.prepareOffsets(b,c)}}})(jQuery);;/*! jQuery UI - v1.8.22 - 2012-07-24
-* https://github.com/jquery/jquery-ui
-* Includes: jquery.ui.resizable.js
-* Copyright (c) 2012 AUTHORS.txt; Licensed MIT, GPL */
-(function(a,b){a.widget("ui.resizable",a.ui.mouse,{widgetEventPrefix:"resize",options:{alsoResize:!1,animate:!1,animateDuration:"slow",animateEasing:"swing",aspectRatio:!1,autoHide:!1,containment:!1,ghost:!1,grid:!1,handles:"e,s,se",helper:!1,maxHeight:null,maxWidth:null,minHeight:10,minWidth:10,zIndex:1e3},_create:function(){var b=this,c=this.options;this.element.addClass("ui-resizable"),a.extend(this,{_aspectRatio:!!c.aspectRatio,aspectRatio:c.aspectRatio,originalElement:this.element,_proportionallyResizeElements:[],_helper:c.helper||c.ghost||c.animate?c.helper||"ui-resizable-helper":null}),this.element[0].nodeName.match(/canvas|textarea|input|select|button|img/i)&&(this.element.wrap(a('<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=!0,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=c.handles||(a(".ui-resizable-handle",this.element).length?{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"}:"e,s,se");if(this.handles.constructor==String){this.handles=="all"&&(this.handles="n,e,s,w,se,sw,ne,nw");var d=this.handles.split(",");this.handles={};for(var e=0;e<d.length;e++){var f=a.trim(d[e]),g="ui-resizable-"+f,h=a('<div class="ui-resizable-handle '+g+'"></div>');h.css({zIndex:c.zIndex}),"se"==f&&h.addClass("ui-icon ui-icon-gripsmall-diagonal-se"),this.handles[f]=".ui-resizable-"+f,this.element.append(h)}}this._renderAxis=function(b){b=b||this.element;for(var c in this.handles){this.handles[c].constructor==String&&(this.handles[c]=a(this.handles[c],this.element).show());if(this.elementIsWrapper&&this.originalElement[0].nodeName.match(/textarea|input|select|button/i)){var d=a(this.handles[c],this.element),e=0;e=/sw|ne|nw|se|n|s/.test(c)?d.outerHeight():d.outerWidth();var f=["padding",/ne|nw|n/.test(c)?"Top":/se|sw|s/.test(c)?"Bottom":/^e$/.test(c)?"Right":"Left"].join("");b.css(f,e),this._proportionallyResize()}if(!a(this.handles[c]).length)continue}},this._renderAxis(this.element),this._handles=a(".ui-resizable-handle",this.element).disableSelection(),this._handles.mouseover(function(){if(!b.resizing){if(this.className)var a=this.className.match(/ui-resizable-(se|sw|ne|nw|n|e|s|w)/i);b.axis=a&&a[1]?a[1]:"se"}}),c.autoHide&&(this._handles.hide(),a(this.element).addClass("ui-resizable-autohide").hover(function(){if(c.disabled)return;a(this).removeClass("ui-resizable-autohide"),b._handles.show()},function(){if(c.disabled)return;b.resizing||(a(this).addClass("ui-resizable-autohide"),b._handles.hide())})),this._mouseInit()},destroy:function(){this._mouseDestroy();var b=function(b){a(b).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 c=this.element;c.after(this.originalElement.css({position:c.css("position"),width:c.outerWidth(),height:c.outerHeight(),top:c.css("top"),left:c.css("left")})).remove()}return this.originalElement.css("resize",this.originalResizeStyle),b(this.originalElement),this},_mouseCapture:function(b){var c=!1;for(var d in this.handles)a(this.handles[d])[0]==b.target&&(c=!0);return!this.options.disabled&&c},_mouseStart:function(b){var d=this.options,e=this.element.position(),f=this.element;this.resizing=!0,this.documentScroll={top:a(document).scrollTop(),left:a(document).scrollLeft()},(f.is(".ui-draggable")||/absolute/.test(f.css("position")))&&f.css({position:"absolute",top:e.top,left:e.left}),this._renderProxy();var g=c(this.helper.css("left")),h=c(this.helper.css("top"));d.containment&&(g+=a(d.containment).scrollLeft()||0,h+=a(d.containment).scrollTop()||0),this.offset=this.helper.offset(),this.position={left:g,top:h},this.size=this._helper?{width:f.outerWidth(),height:f.outerHeight()}:{width:f.width(),height:f.height()},this.originalSize=this._helper?{width:f.outerWidth(),height:f.outerHeight()}:{width:f.width(),height:f.height()},this.originalPosition={left:g,top:h},this.sizeDiff={width:f.outerWidth()-f.width(),height:f.outerHeight()-f.height()},this.originalMousePosition={left:b.pageX,top:b.pageY},this.aspectRatio=typeof d.aspectRatio=="number"?d.aspectRatio:this.originalSize.width/this.originalSize.height||1;var i=a(".ui-resizable-"+this.axis).css("cursor");return a("body").css("cursor",i=="auto"?this.axis+"-resize":i),f.addClass("ui-resizable-resizing"),this._propagate("start",b),!0},_mouseDrag:function(b){var c=this.helper,d=this.options,e={},f=this,g=this.originalMousePosition,h=this.axis,i=b.pageX-g.left||0,j=b.pageY-g.top||0,k=this._change[h];if(!k)return!1;var l=k.apply(this,[b,i,j]),m=a.browser.msie&&a.browser.version<7,n=this.sizeDiff;this._updateVirtualBoundaries(b.shiftKey);if(this._aspectRatio||b.shiftKey)l=this._updateRatio(l,b);return l=this._respectSize(l,b),this._propagate("resize",b),c.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(l),this._trigger("resize",b,this.ui()),!1},_mouseStop:function(b){this.resizing=!1;var c=this.options,d=this;if(this._helper){var e=this._proportionallyResizeElements,f=e.length&&/textarea/i.test(e[0].nodeName),g=f&&a.ui.hasScroll(e[0],"left")?0:d.sizeDiff.height,h=f?0:d.sizeDiff.width,i={width:d.helper.width()-h,height:d.helper.height()-g},j=parseInt(d.element.css("left"),10)+(d.position.left-d.originalPosition.left)||null,k=parseInt(d.element.css("top"),10)+(d.position.top-d.originalPosition.top)||null;c.animate||this.element.css(a.extend(i,{top:k,left:j})),d.helper.height(d.size.height),d.helper.width(d.size.width),this._helper&&!c.animate&&this._proportionallyResize()}return a("body").css("cursor","auto"),this.element.removeClass("ui-resizable-resizing"),this._propagate("stop",b),this._helper&&this.helper.remove(),!1},_updateVirtualBoundaries:function(a){var b=this.options,c,e,f,g,h;h={minWidth:d(b.minWidth)?b.minWidth:0,maxWidth:d(b.maxWidth)?b.maxWidth:Infinity,minHeight:d(b.minHeight)?b.minHeight:0,maxHeight:d(b.maxHeight)?b.maxHeight:Infinity};if(this._aspectRatio||a)c=h.minHeight*this.aspectRatio,f=h.minWidth/this.aspectRatio,e=h.maxHeight*this.aspectRatio,g=h.maxWidth/this.aspectRatio,c>h.minWidth&&(h.minWidth=c),f>h.minHeight&&(h.minHeight=f),e<h.maxWidth&&(h.maxWidth=e),g<h.maxHeight&&(h.maxHeight=g);this._vBoundaries=h},_updateCache:function(a){var b=this.options;this.offset=this.helper.offset(),d(a.left)&&(this.position.left=a.left),d(a.top)&&(this.position.top=a.top),d(a.height)&&(this.size.height=a.height),d(a.width)&&(this.size.width=a.width)},_updateRatio:function(a,b){var c=this.options,e=this.position,f=this.size,g=this.axis;return d(a.height)?a.width=a.height*this.aspectRatio:d(a.width)&&(a.height=a.width/this.aspectRatio),g=="sw"&&(a.left=e.left+(f.width-a.width),a.top=null),g=="nw"&&(a.top=e.top+(f.height-a.height),a.left=e.left+(f.width-a.width)),a},_respectSize:function(a,b){var c=this.helper,e=this._vBoundaries,f=this._aspectRatio||b.shiftKey,g=this.axis,h=d(a.width)&&e.maxWidth&&e.maxWidth<a.width,i=d(a.height)&&e.maxHeight&&e.maxHeight<a.height,j=d(a.width)&&e.minWidth&&e.minWidth>a.width,k=d(a.height)&&e.minHeight&&e.minHeight>a.height;j&&(a.width=e.minWidth),k&&(a.height=e.minHeight),h&&(a.width=e.maxWidth),i&&(a.height=e.maxHeight);var l=this.originalPosition.left+this.originalSize.width,m=this.position.top+this.size.height,n=/sw|nw|w/.test(g),o=/nw|ne|n/.test(g);j&&n&&(a.left=l-e.minWidth),h&&n&&(a.left=l-e.maxWidth),k&&o&&(a.top=m-e.minHeight),i&&o&&(a.top=m-e.maxHeight);var p=!a.width&&!a.height;return p&&!a.left&&a.top?a.top=null:p&&!a.top&&a.left&&(a.left=null),a},_proportionallyResize:function(){var b=this.options;if(!this._proportionallyResizeElements.length)return;var c=this.helper||this.element;for(var d=0;d<this._proportionallyResizeElements.length;d++){var e=this._proportionallyResizeElements[d];if(!this.borderDif){var f=[e.css("borderTopWidth"),e.css("borderRightWidth"),e.css("borderBottomWidth"),e.css("borderLeftWidth")],g=[e.css("paddingTop"),e.css("paddingRight"),e.css("paddingBottom"),e.css("paddingLeft")];this.borderDif=a.map(f,function(a,b){var c=parseInt(a,10)||0,d=parseInt(g[b],10)||0;return c+d})}if(!a.browser.msie||!a(c).is(":hidden")&&!a(c).parents(":hidden").length)e.css({height:c.height()-this.borderDif[0]-this.borderDif[2]||0,width:c.width()-this.borderDif[1]-this.borderDif[3]||0});else continue}},_renderProxy:function(){var b=this.element,c=this.options;this.elementOffset=b.offset();if(this._helper){this.helper=this.helper||a('<div style="overflow:hidden;"></div>');var d=a.browser.msie&&a.browser.version<7,e=d?1:0,f=d?2:-1;this.helper.addClass(this._helper).css({width:this.element.outerWidth()+f,height:this.element.outerHeight()+f,position:"absolute",left:this.elementOffset.left-e+"px",top:this.elementOffset.top-e+"px",zIndex:++c.zIndex}),this.helper.appendTo("body").disableSelection()}else this.helper=this.element},_change:{e:function(a,b,c){return{width:this.originalSize.width+b}},w:function(a,b,c){var d=this.options,e=this.originalSize,f=this.originalPosition;return{left:f.left+b,width:e.width-b}},n:function(a,b,c){var d=this.options,e=this.originalSize,f=this.originalPosition;return{top:f.top+c,height:e.height-c}},s:function(a,b,c){return{height:this.originalSize.height+c}},se:function(b,c,d){return a.extend(this._change.s.apply(this,arguments),this._change.e.apply(this,[b,c,d]))},sw:function(b,c,d){return a.extend(this._change.s.apply(this,arguments),this._change.w.apply(this,[b,c,d]))},ne:function(b,c,d){return a.extend(this._change.n.apply(this,arguments),this._change.e.apply(this,[b,c,d]))},nw:function(b,c,d){return a.extend(this._change.n.apply(this,arguments),this._change.w.apply(this,[b,c,d]))}},_propagate:function(b,c){a.ui.plugin.call(this,b,[c,this.ui()]),b!="resize"&&this._trigger(b,c,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}}}),a.extend(a.ui.resizable,{version:"1.8.22"}),a.ui.plugin.add("resizable","alsoResize",{start:function(b,c){var d=a(this).data("resizable"),e=d.options,f=function(b){a(b).each(function(){var b=a(this);b.data("resizable-alsoresize",{width:parseInt(b.width(),10),height:parseInt(b.height(),10),left:parseInt(b.css("left"),10),top:parseInt(b.css("top"),10)})})};typeof e.alsoResize=="object"&&!e.alsoResize.parentNode?e.alsoResize.length?(e.alsoResize=e.alsoResize[0],f(e.alsoResize)):a.each(e.alsoResize,function(a){f(a)}):f(e.alsoResize)},resize:function(b,c){var d=a(this).data("resizable"),e=d.options,f=d.originalSize,g=d.originalPosition,h={height:d.size.height-f.height||0,width:d.size.width-f.width||0,top:d.position.top-g.top||0,left:d.position.left-g.left||0},i=function(b,d){a(b).each(function(){var b=a(this),e=a(this).data("resizable-alsoresize"),f={},g=d&&d.length?d:b.parents(c.originalElement[0]).length?["width","height"]:["width","height","top","left"];a.each(g,function(a,b){var c=(e[b]||0)+(h[b]||0);c&&c>=0&&(f[b]=c||null)}),b.css(f)})};typeof e.alsoResize=="object"&&!e.alsoResize.nodeType?a.each(e.alsoResize,function(a,b){i(a,b)}):i(e.alsoResize)},stop:function(b,c){a(this).removeData("resizable-alsoresize")}}),a.ui.plugin.add("resizable","animate",{stop:function(b,c){var d=a(this).data("resizable"),e=d.options,f=d._proportionallyResizeElements,g=f.length&&/textarea/i.test(f[0].nodeName),h=g&&a.ui.hasScroll(f[0],"left")?0:d.sizeDiff.height,i=g?0:d.sizeDiff.width,j={width:d.size.width-i,height:d.size.height-h},k=parseInt(d.element.css("left"),10)+(d.position.left-d.originalPosition.left)||null,l=parseInt(d.element.css("top"),10)+(d.position.top-d.originalPosition.top)||null;d.element.animate(a.extend(j,l&&k?{top:l,left:k}:{}),{duration:e.animateDuration,easing:e.animateEasing,step:function(){var c={width:parseInt(d.element.css("width"),10),height:parseInt(d.element.css("height"),10),top:parseInt(d.element.css("top"),10),left:parseInt(d.element.css("left"),10)};f&&f.length&&a(f[0]).css({width:c.width,height:c.height}),d._updateCache(c),d._propagate("resize",b)}})}}),a.ui.plugin.add("resizable","containment",{start:function(b,d){var e=a(this).data("resizable"),f=e.options,g=e.element,h=f.containment,i=h instanceof a?h.get(0):/parent/.test(h)?g.parent().get(0):h;if(!i)return;e.containerElement=a(i);if(/document/.test(h)||h==document)e.containerOffset={left:0,top:0},e.containerPosition={left:0,top:0},e.parentData={element:a(document),left:0,top:0,width:a(document).width(),height:a(document).height()||document.body.parentNode.scrollHeight};else{var j=a(i),k=[];a(["Top","Right","Left","Bottom"]).each(function(a,b){k[a]=c(j.css("padding"+b))}),e.containerOffset=j.offset(),e.containerPosition=j.position(),e.containerSize={height:j.innerHeight()-k[3],width:j.innerWidth()-k[1]};var l=e.containerOffset,m=e.containerSize.height,n=e.containerSize.width,o=a.ui.hasScroll(i,"left")?i.scrollWidth:n,p=a.ui.hasScroll(i)?i.scrollHeight:m;e.parentData={element:i,left:l.left,top:l.top,width:o,height:p}}},resize:function(b,c){var d=a(this).data("resizable"),e=d.options,f=d.containerSize,g=d.containerOffset,h=d.size,i=d.position,j=d._aspectRatio||b.shiftKey,k={top:0,left:0},l=d.containerElement;l[0]!=document&&/static/.test(l.css("position"))&&(k=g),i.left<(d._helper?g.left:0)&&(d.size.width=d.size.width+(d._helper?d.position.left-g.left:d.position.left-k.left),j&&(d.size.height=d.size.width/d.aspectRatio),d.position.left=e.helper?g.left:0),i.top<(d._helper?g.top:0)&&(d.size.height=d.size.height+(d._helper?d.position.top-g.top:d.position.top),j&&(d.size.width=d.size.height*d.aspectRatio),d.position.top=d._helper?g.top:0),d.offset.left=d.parentData.left+d.position.left,d.offset.top=d.parentData.top+d.position.top;var m=Math.abs((d._helper?d.offset.left-k.left:d.offset.left-k.left)+d.sizeDiff.width),n=Math.abs((d._helper?d.offset.top-k.top:d.offset.top-g.top)+d.sizeDiff.height),o=d.containerElement.get(0)==d.element.parent().get(0),p=/relative|absolute/.test(d.containerElement.css("position"));o&&p&&(m-=d.parentData.left),m+d.size.width>=d.parentData.width&&(d.size.width=d.parentData.width-m,j&&(d.size.height=d.size.width/d.aspectRatio)),n+d.size.height>=d.parentData.height&&(d.size.height=d.parentData.height-n,j&&(d.size.width=d.size.height*d.aspectRatio))},stop:function(b,c){var d=a(this).data("resizable"),e=d.options,f=d.position,g=d.containerOffset,h=d.containerPosition,i=d.containerElement,j=a(d.helper),k=j.offset(),l=j.outerWidth()-d.sizeDiff.width,m=j.outerHeight()-d.sizeDiff.height;d._helper&&!e.animate&&/relative/.test(i.css("position"))&&a(this).css({left:k.left-h.left-g.left,width:l,height:m}),d._helper&&!e.animate&&/static/.test(i.css("position"))&&a(this).css({left:k.left-h.left-g.left,width:l,height:m})}}),a.ui.plugin.add("resizable","ghost",{start:function(b,c){var d=a(this).data("resizable"),e=d.options,f=d.size;d.ghost=d.originalElement.clone(),d.ghost.css({opacity:.25,display:"block",position:"relative",height:f.height,width:f.width,margin:0,left:0,top:0}).addClass("ui-resizable-ghost").addClass(typeof e.ghost=="string"?e.ghost:""),d.ghost.appendTo(d.helper)},resize:function(b,c){var d=a(this).data("resizable"),e=d.options;d.ghost&&d.ghost.css({position:"relative",height:d.size.height,width:d.size.width})},stop:function(b,c){var d=a(this).data("resizable"),e=d.options;d.ghost&&d.helper&&d.helper.get(0).removeChild(d.ghost.get(0))}}),a.ui.plugin.add("resizable","grid",{resize:function(b,c){var d=a(this).data("resizable"),e=d.options,f=d.size,g=d.originalSize,h=d.originalPosition,i=d.axis,j=e._aspectRatio||b.shiftKey;e.grid=typeof e.grid=="number"?[e.grid,e.grid]:e.grid;var k=Math.round((f.width-g.width)/(e.grid[0]||1))*(e.grid[0]||1),l=Math.round((f.height-g.height)/(e.grid[1]||1))*(e.grid[1]||1);/^(se|s|e)$/.test(i)?(d.size.width=g.width+k,d.size.height=g.height+l):/^(ne)$/.test(i)?(d.size.width=g.width+k,d.size.height=g.height+l,d.position.top=h.top-l):/^(sw)$/.test(i)?(d.size.width=g.width+k,d.size.height=g.height+l,d.position.left=h.left-k):(d.size.width=g.width+k,d.size.height=g.height+l,d.position.top=h.top-l,d.position.left=h.left-k)}});var c=function(a){return parseInt(a,10)||0},d=function(a){return!isNaN(parseInt(a,10))}})(jQuery);;/*! jQuery UI - v1.8.22 - 2012-07-24
-* https://github.com/jquery/jquery-ui
-* Includes: jquery.ui.selectable.js
-* Copyright (c) 2012 AUTHORS.txt; Licensed MIT, GPL */
-(function(a,b){a.widget("ui.selectable",a.ui.mouse,{options:{appendTo:"body",autoRefresh:!0,distance:0,filter:"*",tolerance:"touch"},_create:function(){var b=this;this.element.addClass("ui-selectable"),this.dragged=!1;var c;this.refresh=function(){c=a(b.options.filter,b.element[0]),c.addClass("ui-selectee"),c.each(function(){var b=a(this),c=b.offset();a.data(this,"selectable-item",{element:this,$element:b,left:c.left,top:c.top,right:c.left+b.outerWidth(),bottom:c.top+b.outerHeight(),startselected:!1,selected:b.hasClass("ui-selected"),selecting:b.hasClass("ui-selecting"),unselecting:b.hasClass("ui-unselecting")})})},this.refresh(),this.selectees=c.addClass("ui-selectee"),this._mouseInit(),this.helper=a("<div class='ui-selectable-helper'></div>")},destroy:function(){return this.selectees.removeClass("ui-selectee").removeData("selectable-item"),this.element.removeClass("ui-selectable ui-selectable-disabled").removeData("selectable").unbind(".selectable"),this._mouseDestroy(),this},_mouseStart:function(b){var c=this;this.opos=[b.pageX,b.pageY];if(this.options.disabled)return;var d=this.options;this.selectees=a(d.filter,this.element[0]),this._trigger("start",b),a(d.appendTo).append(this.helper),this.helper.css({left:b.clientX,top:b.clientY,width:0,height:0}),d.autoRefresh&&this.refresh(),this.selectees.filter(".ui-selected").each(function(){var d=a.data(this,"selectable-item");d.startselected=!0,!b.metaKey&&!b.ctrlKey&&(d.$element.removeClass("ui-selected"),d.selected=!1,d.$element.addClass("ui-unselecting"),d.unselecting=!0,c._trigger("unselecting",b,{unselecting:d.element}))}),a(b.target).parents().andSelf().each(function(){var d=a.data(this,"selectable-item");if(d){var e=!b.metaKey&&!b.ctrlKey||!d.$element.hasClass("ui-selected");return d.$element.removeClass(e?"ui-unselecting":"ui-selected").addClass(e?"ui-selecting":"ui-unselecting"),d.unselecting=!e,d.selecting=e,d.selected=e,e?c._trigger("selecting",b,{selecting:d.element}):c._trigger("unselecting",b,{unselecting:d.element}),!1}})},_mouseDrag:function(b){var c=this;this.dragged=!0;if(this.options.disabled)return;var d=this.options,e=this.opos[0],f=this.opos[1],g=b.pageX,h=b.pageY;if(e>g){var i=g;g=e,e=i}if(f>h){var i=h;h=f,f=i}return this.helper.css({left:e,top:f,width:g-e,height:h-f}),this.selectees.each(function(){var i=a.data(this,"selectable-item");if(!i||i.element==c.element[0])return;var j=!1;d.tolerance=="touch"?j=!(i.left>g||i.right<e||i.top>h||i.bottom<f):d.tolerance=="fit"&&(j=i.left>e&&i.right<g&&i.top>f&&i.bottom<h),j?(i.selected&&(i.$element.removeClass("ui-selected"),i.selected=!1),i.unselecting&&(i.$element.removeClass("ui-unselecting"),i.unselecting=!1),i.selecting||(i.$element.addClass("ui-selecting"),i.selecting=!0,c._trigger("selecting",b,{selecting:i.element}))):(i.selecting&&((b.metaKey||b.ctrlKey)&&i.startselected?(i.$element.removeClass("ui-selecting"),i.selecting=!1,i.$element.addClass("ui-selected"),i.selected=!0):(i.$element.removeClass("ui-selecting"),i.selecting=!1,i.startselected&&(i.$element.addClass("ui-unselecting"),i.unselecting=!0),c._trigger("unselecting",b,{unselecting:i.element}))),i.selected&&!b.metaKey&&!b.ctrlKey&&!i.startselected&&(i.$element.removeClass("ui-selected"),i.selected=!1,i.$element.addClass("ui-unselecting"),i.unselecting=!0,c._trigger("unselecting",b,{unselecting:i.element})))}),!1},_mouseStop:function(b){var c=this;this.dragged=!1;var d=this.options;return a(".ui-unselecting",this.element[0]).each(function(){var d=a.data(this,"selectable-item");d.$element.removeClass("ui-unselecting"),d.unselecting=!1,d.startselected=!1,c._trigger("unselected",b,{unselected:d.element})}),a(".ui-selecting",this.element[0]).each(function(){var d=a.data(this,"selectable-item");d.$element.removeClass("ui-selecting").addClass("ui-selected"),d.selecting=!1,d.selected=!0,d.startselected=!0,c._trigger("selected",b,{selected:d.element})}),this._trigger("stop",b),this.helper.remove(),!1}}),a.extend(a.ui.selectable,{version:"1.8.22"})})(jQuery);;/*! jQuery UI - v1.8.22 - 2012-07-24
+(function(a,b){a.ui=a.ui||{};var c=/left|center|right/,d=/top|center|bottom/,e="center",f={},g=a.fn.position,h=a.fn.offset;a.fn.position=function(b){if(!b||!b.of)return g.apply(this,arguments);b=a.extend({},b);var h=a(b.of),i=h[0],j=(b.collision||"flip").split(" "),k=b.offset?b.offset.split(" "):[0,0],l,m,n;return i.nodeType===9?(l=h.width(),m=h.height(),n={top:0,left:0}):i.setTimeout?(l=h.width(),m=h.height(),n={top:h.scrollTop(),left:h.scrollLeft()}):i.preventDefault?(b.at="left top",l=m=0,n={top:b.of.pageY,left:b.of.pageX}):(l=h.outerWidth(),m=h.outerHeight(),n=h.offset()),a.each(["my","at"],function(){var a=(b[this]||"").split(" ");a.length===1&&(a=c.test(a[0])?a.concat([e]):d.test(a[0])?[e].concat(a):[e,e]),a[0]=c.test(a[0])?a[0]:e,a[1]=d.test(a[1])?a[1]:e,b[this]=a}),j.length===1&&(j[1]=j[0]),k[0]=parseInt(k[0],10)||0,k.length===1&&(k[1]=k[0]),k[1]=parseInt(k[1],10)||0,b.at[0]==="right"?n.left+=l:b.at[0]===e&&(n.left+=l/2),b.at[1]==="bottom"?n.top+=m:b.at[1]===e&&(n.top+=m/2),n.left+=k[0],n.top+=k[1],this.each(function(){var c=a(this),d=c.outerWidth(),g=c.outerHeight(),h=parseInt(a.curCSS(this,"marginLeft",!0))||0,i=parseInt(a.curCSS(this,"marginTop",!0))||0,o=d+h+(parseInt(a.curCSS(this,"marginRight",!0))||0),p=g+i+(parseInt(a.curCSS(this,"marginBottom",!0))||0),q=a.extend({},n),r;b.my[0]==="right"?q.left-=d:b.my[0]===e&&(q.left-=d/2),b.my[1]==="bottom"?q.top-=g:b.my[1]===e&&(q.top-=g/2),f.fractions||(q.left=Math.round(q.left),q.top=Math.round(q.top)),r={left:q.left-h,top:q.top-i},a.each(["left","top"],function(c,e){a.ui.position[j[c]]&&a.ui.position[j[c]][e](q,{targetWidth:l,targetHeight:m,elemWidth:d,elemHeight:g,collisionPosition:r,collisionWidth:o,collisionHeight:p,offset:k,my:b.my,at:b.at})}),a.fn.bgiframe&&c.bgiframe(),c.offset(a.extend(q,{using:b.using}))})},a.ui.position={fit:{left:function(b,c){var d=a(window),e=c.collisionPosition.left+c.collisionWidth-d.width()-d.scrollLeft();b.left=e>0?b.left-e:Math.max(b.left-c.collisionPosition.left,b.left)},top:function(b,c){var d=a(window),e=c.collisionPosition.top+c.collisionHeight-d.height()-d.scrollTop();b.top=e>0?b.top-e:Math.max(b.top-c.collisionPosition.top,b.top)}},flip:{left:function(b,c){if(c.at[0]===e)return;var d=a(window),f=c.collisionPosition.left+c.collisionWidth-d.width()-d.scrollLeft(),g=c.my[0]==="left"?-c.elemWidth:c.my[0]==="right"?c.elemWidth:0,h=c.at[0]==="left"?c.targetWidth:-c.targetWidth,i=-2*c.offset[0];b.left+=c.collisionPosition.left<0?g+h+i:f>0?g+h+i:0},top:function(b,c){if(c.at[1]===e)return;var d=a(window),f=c.collisionPosition.top+c.collisionHeight-d.height()-d.scrollTop(),g=c.my[1]==="top"?-c.elemHeight:c.my[1]==="bottom"?c.elemHeight:0,h=c.at[1]==="top"?c.targetHeight:-c.targetHeight,i=-2*c.offset[1];b.top+=c.collisionPosition.top<0?g+h+i:f>0?g+h+i:0}}},a.offset.setOffset||(a.offset.setOffset=function(b,c){/static/.test(a.curCSS(b,"position"))&&(b.style.position="relative");var d=a(b),e=d.offset(),f=parseInt(a.curCSS(b,"top",!0),10)||0,g=parseInt(a.curCSS(b,"left",!0),10)||0,h={top:c.top-e.top+f,left:c.left-e.left+g};"using"in c?c.using.call(b,h):d.css(h)},a.fn.offset=function(b){var c=this[0];return!c||!c.ownerDocument?null:b?a.isFunction(b)?this.each(function(c){a(this).offset(b.call(this,c,a(this).offset()))}):this.each(function(){a.offset.setOffset(this,b)}):h.call(this)}),a.curCSS||(a.curCSS=a.css),function(){var b=document.getElementsByTagName("body")[0],c=document.createElement("div"),d,e,g,h,i;d=document.createElement(b?"div":"body"),g={visibility:"hidden",width:0,height:0,border:0,margin:0,background:"none"},b&&a.extend(g,{position:"absolute",left:"-1000px",top:"-1000px"});for(var j in g)d.style[j]=g[j];d.appendChild(c),e=b||document.documentElement,e.insertBefore(d,e.firstChild),c.style.cssText="position: absolute; left: 10.7432222px; top: 10.432325px; height: 30px; width: 201px;",h=a(c).offset(function(a,b){return b}).offset(),d.innerHTML="",e.removeChild(d),i=h.top+h.left+(b?2e3:0),f.fractions=i>21&&i<22}()})(jQuery);;/*! jQuery UI - v1.8.23 - 2012-08-15
 * https://github.com/jquery/jquery-ui
 * Includes: jquery.ui.sortable.js
 * Copyright (c) 2012 AUTHORS.txt; Licensed MIT, GPL */
-(function(a,b){a.widget("ui.sortable",a.ui.mouse,{widgetEventPrefix:"sort",ready:!1,options:{appendTo:"parent",axis:!1,connectWith:!1,containment:!1,cursor:"auto",cursorAt:!1,dropOnEmpty:!0,forcePlaceholderSize:!1,forceHelperSize:!1,grid:!1,handle:!1,helper:"original",items:"> *",opacity:!1,placeholder:!1,revert:!1,scroll:!0,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")):!1,this.offset=this.element.offset(),this._mouseInit(),this.ready=!0},destroy:function(){a.Widget.prototype.destroy.call(this),this.element.removeClass("ui-sortable ui-sortable-disabled"),this._mouseDestroy();for(var b=this.items.length-1;b>=0;b--)this.items[b].item.removeData(this.widgetName+"-item");return this},_setOption:function(b,c){b==="disabled"?(this.options[b]=c,this.widget()[c?"addClass":"removeClass"]("ui-sortable-disabled")):a.Widget.prototype._setOption.apply(this,arguments)},_mouseCapture:function(b,c){var d=this;if(this.reverting)return!1;if(this.options.disabled||this.options.type=="static")return!1;this._refreshItems(b);var e=null,f=this,g=a(b.target).parents().each(function(){if(a.data(this,d.widgetName+"-item")==f)return e=a(this),!1});a.data(b.target,d.widgetName+"-item")==f&&(e=a(b.target));if(!e)return!1;if(this.options.handle&&!c){var h=!1;a(this.options.handle,e).find("*").andSelf().each(function(){this==b.target&&(h=!0)});if(!h)return!1}return this.currentItem=e,this._removeCurrentsFromItems(),!0},_mouseStart:function(b,c,d){var e=this.options,f=this;this.currentContainer=this,this.refreshPositions(),this.helper=this._createHelper(b),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},a.extend(this.offset,{click:{left:b.pageX-this.offset.left,top:b.pageY-this.offset.top},parent:this._getParentOffset(),relative:this._getRelativeOffset()}),this.helper.css("position","absolute"),this.cssPosition=this.helper.css("position"),this.originalPosition=this._generatePosition(b),this.originalPageX=b.pageX,this.originalPageY=b.pageY,e.cursorAt&&this._adjustOffsetFromHelper(e.cursorAt),this.domPosition={prev:this.currentItem.prev()[0],parent:this.currentItem.parent()[0]},this.helper[0]!=this.currentItem[0]&&this.currentItem.hide(),this._createPlaceholder(),e.containment&&this._setContainment(),e.cursor&&(a("body").css("cursor")&&(this._storedCursor=a("body").css("cursor")),a("body").css("cursor",e.cursor)),e.opacity&&(this.helper.css("opacity")&&(this._storedOpacity=this.helper.css("opacity")),this.helper.css("opacity",e.opacity)),e.zIndex&&(this.helper.css("zIndex")&&(this._storedZIndex=this.helper.css("zIndex")),this.helper.css("zIndex",e.zIndex)),this.scrollParent[0]!=document&&this.scrollParent[0].tagName!="HTML"&&(this.overflowOffset=this.scrollParent.offset()),this._trigger("start",b,this._uiHash()),this._preserveHelperProportions||this._cacheHelperProportions();if(!d)for(var g=this.containers.length-1;g>=0;g--)this.containers[g]._trigger("activate",b,f._uiHash(this));return a.ui.ddmanager&&(a.ui.ddmanager.current=this),a.ui.ddmanager&&!e.dropBehaviour&&a.ui.ddmanager.prepareOffsets(this,b),this.dragging=!0,this.helper.addClass("ui-sortable-helper"),this._mouseDrag(b),!0},_mouseDrag:function(b){this.position=this._generatePosition(b),this.positionAbs=this._convertPositionTo("absolute"),this.lastPositionAbs||(this.lastPositionAbs=this.positionAbs);if(this.options.scroll){var c=this.options,d=!1;this.scrollParent[0]!=document&&this.scrollParent[0].tagName!="HTML"?(this.overflowOffset.top+this.scrollParent[0].offsetHeight-b.pageY<c.scrollSensitivity?this.scrollParent[0].scrollTop=d=this.scrollParent[0].scrollTop+c.scrollSpeed:b.pageY-this.overflowOffset.top<c.scrollSensitivity&&(this.scrollParent[0].scrollTop=d=this.scrollParent[0].scrollTop-c.scrollSpeed),this.overflowOffset.left+this.scrollParent[0].offsetWidth-b.pageX<c.scrollSensitivity?this.scrollParent[0].scrollLeft=d=this.scrollParent[0].scrollLeft+c.scrollSpeed:b.pageX-this.overflowOffset.left<c.scrollSensitivity&&(this.scrollParent[0].scrollLeft=d=this.scrollParent[0].scrollLeft-c.scrollSpeed)):(b.pageY-a(document).scrollTop()<c.scrollSensitivity?d=a(document).scrollTop(a(document).scrollTop()-c.scrollSpeed):a(window).height()-(b.pageY-a(document).scrollTop())<c.scrollSensitivity&&(d=a(document).scrollTop(a(document).scrollTop()+c.scrollSpeed)),b.pageX-a(document).scrollLeft()<c.scrollSensitivity?d=a(document).scrollLeft(a(document).scrollLeft()-c.scrollSpeed):a(window).width()-(b.pageX-a(document).scrollLeft())<c.scrollSensitivity&&(d=a(document).scrollLeft(a(document).scrollLeft()+c.scrollSpeed))),d!==!1&&a.ui.ddmanager&&!c.dropBehaviour&&a.ui.ddmanager.prepareOffsets(this,b)}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(var e=this.items.length-1;e>=0;e--){var f=this.items[e],g=f.item[0],h=this._intersectsWithPointer(f);if(!h)continue;if(g!=this.currentItem[0]&&this.placeholder[h==1?"next":"prev"]()[0]!=g&&!a.ui.contains(this.placeholder[0],g)&&(this.options.type=="semi-dynamic"?!a.ui.contains(this.element[0],g):!0)){this.direction=h==1?"down":"up";if(this.options.tolerance=="pointer"||this._intersectsWithSides(f))this._rearrange(b,f);else break;this._trigger("change",b,this._uiHash());break}}return this._contactContainers(b),a.ui.ddmanager&&a.ui.ddmanager.drag(this,b),this._trigger("sort",b,this._uiHash()),this.lastPositionAbs=this.positionAbs,!1},_mouseStop:function(b,c){if(!b)return;a.ui.ddmanager&&!this.options.dropBehaviour&&a.ui.ddmanager.drop(this,b);if(this.options.revert){var d=this,e=d.placeholder.offset();d.reverting=!0,a(this.helper).animate({left:e.left-this.offset.parent.left-d.margins.left+(this.offsetParent[0]==document.body?0:this.offsetParent[0].scrollLeft),top:e.top-this.offset.parent.top-d.margins.top+(this.offsetParent[0]==document.body?0:this.offsetParent[0].scrollTop)},parseInt(this.options.revert,10)||500,function(){d._clear(b)})}else this._clear(b,c);return!1},cancel:function(){var b=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 c=this.containers.length-1;c>=0;c--)this.containers[c]._trigger("deactivate",null,b._uiHash(this)),this.containers[c].containerCache.over&&(this.containers[c]._trigger("out",null,b._uiHash(this)),this.containers[c].containerCache.over=0)}return 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(),a.extend(this,{helper:null,dragging:!1,reverting:!1,_noFinalSort:null}),this.domPosition.prev?a(this.domPosition.prev).after(this.currentItem):a(this.domPosition.parent).prepend(this.currentItem)),this},serialize:function(b){var c=this._getItemsAsjQuery(b&&b.connected),d=[];return b=b||{},a(c).each(function(){var c=(a(b.item||this).attr(b.attribute||"id")||"").match(b.expression||/(.+)[-=_](.+)/);c&&d.push((b.key||c[1]+"[]")+"="+(b.key&&b.expression?c[1]:c[2]))}),!d.length&&b.key&&d.push(b.key+"="),d.join("&")},toArray:function(b){var c=this._getItemsAsjQuery(b&&b.connected),d=[];return b=b||{},c.each(function(){d.push(a(b.item||this).attr(b.attribute||"id")||"")}),d},_intersectsWith:function(a){var b=this.positionAbs.left,c=b+this.helperProportions.width,d=this.positionAbs.top,e=d+this.helperProportions.height,f=a.left,g=f+a.width,h=a.top,i=h+a.height,j=this.offset.click.top,k=this.offset.click.left,l=d+j>h&&d+j<i&&b+k>f&&b+k<g;return this.options.tolerance=="pointer"||this.options.forcePointerForContainers||this.options.tolerance!="pointer"&&this.helperProportions[this.floating?"width":"height"]>a[this.floating?"width":"height"]?l:f<b+this.helperProportions.width/2&&c-this.helperProportions.width/2<g&&h<d+this.helperProportions.height/2&&e-this.helperProportions.height/2<i},_intersectsWithPointer:function(b){var c=this.options.axis==="x"||a.ui.isOverAxis(this.positionAbs.top+this.offset.click.top,b.top,b.height),d=this.options.axis==="y"||a.ui.isOverAxis(this.positionAbs.left+this.offset.click.left,b.left,b.width),e=c&&d,f=this._getDragVerticalDirection(),g=this._getDragHorizontalDirection();return e?this.floating?g&&g=="right"||f=="down"?2:1:f&&(f=="down"?2:1):!1},_intersectsWithSides:function(b){var c=a.ui.isOverAxis(this.positionAbs.top+this.offset.click.top,b.top+b.height/2,b.height),d=a.ui.isOverAxis(this.positionAbs.left+this.offset.click.left,b.left+b.width/2,b.width),e=this._getDragVerticalDirection(),f=this._getDragHorizontalDirection();return this.floating&&f?f=="right"&&d||f=="left"&&!d:e&&(e=="down"&&c||e=="up"&&!c)},_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){return this._refreshItems(a),this.refreshPositions(),this},_connectWith:function(){var a=this.options;return a.connectWith.constructor==String?[a.connectWith]:a.connectWith},_getItemsAsjQuery:function(b){var c=this,d=[],e=[],f=this._connectWith();if(f&&b)for(var g=f.length-1;g>=0;g--){var h=a(f[g]);for(var i=h.length-1;i>=0;i--){var j=a.data(h[i],this.widgetName);j&&j!=this&&!j.options.disabled&&e.push([a.isFunction(j.options.items)?j.options.items.call(j.element):a(j.options.items,j.element).not(".ui-sortable-helper").not(".ui-sortable-placeholder"),j])}}e.push([a.isFunction(this.options.items)?this.options.items.call(this.element,null,{options:this.options,item:this.currentItem}):a(this.options.items,this.element).not(".ui-sortable-helper").not(".ui-sortable-placeholder"),this]);for(var g=e.length-1;g>=0;g--)e[g][0].each(function(){d.push(this)});return a(d)},_removeCurrentsFromItems:function(){var a=this.currentItem.find(":data("+this.widgetName+"-item)");for(var 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(b){this.items=[],this.containers=[this];var c=this.items,d=this,e=[[a.isFunction(this.options.items)?this.options.items.call(this.element[0],b,{item:this.currentItem}):a(this.options.items,this.element),this]],f=this._connectWith();if(f&&this.ready)for(var g=f.length-1;g>=0;g--){var h=a(f[g]);for(var i=h.length-1;i>=0;i--){var j=a.data(h[i],this.widgetName);j&&j!=this&&!j.options.disabled&&(e.push([a.isFunction(j.options.items)?j.options.items.call(j.element[0],b,{item:this.currentItem}):a(j.options.items,j.element),j]),this.containers.push(j))}}for(var g=e.length-1;g>=0;g--){var k=e[g][1],l=e[g][0];for(var i=0,m=l.length;i<m;i++){var n=a(l[i]);n.data(this.widgetName+"-item",k),c.push({item:n,instance:k,width:0,height:0,left:0,top:0})}}},refreshPositions:function(b){this.offsetParent&&this.helper&&(this.offset.parent=this._getParentOffset());for(var c=this.items.length-1;c>=0;c--){var d=this.items[c];if(d.instance!=this.currentContainer&&this.currentContainer&&d.item[0]!=this.currentItem[0])continue;var e=this.options.toleranceElement?a(this.options.toleranceElement,d.item):d.item;b||(d.width=e.outerWidth(),d.height=e.outerHeight());var f=e.offset();d.left=f.left,d.top=f.top}if(this.options.custom&&this.options.custom.refreshContainers)this.options.custom.refreshContainers.call(this);else for(var c=this.containers.length-1;c>=0;c--){var f=this.containers[c].element.offset();this.containers[c].containerCache.left=f.left,this.containers[c].containerCache.top=f.top,this.containers[c].containerCache.width=this.containers[c].element.outerWidth(),this.containers[c].containerCache.height=this.containers[c].element.outerHeight()}return this},_createPlaceholder:function(b){var c=b||this,d=c.options;if(!d.placeholder||d.placeholder.constructor==String){var e=d.placeholder;d.placeholder={element:function(){var b=a(document.createElement(c.currentItem[0].nodeName)).addClass(e||c.currentItem[0].className+" ui-sortable-placeholder").removeClass("ui-sortable-helper")[0];return e||(b.style.visibility="hidden"),b},update:function(a,b){if(e&&!d.forcePlaceholderSize)return;b.height()||b.height(c.currentItem.innerHeight()-parseInt(c.currentItem.css("paddingTop")||0,10)-parseInt(c.currentItem.css("paddingBottom")||0,10)),b.width()||b.width(c.currentItem.innerWidth()-parseInt(c.currentItem.css("paddingLeft")||0,10)-parseInt(c.currentItem.css("paddingRight")||0,10))}}}c.placeholder=a(d.placeholder.element.call(c.element,c.currentItem)),c.currentItem.after(c.placeholder),d.placeholder.update(c,c.placeholder)},_contactContainers:function(b){var c=null,d=null;for(var e=this.containers.length-1;e>=0;e--){if(a.ui.contains(this.currentItem[0],this.containers[e].element[0]))continue;if(this._intersectsWith(this.containers[e].containerCache)){if(c&&a.ui.contains(this.containers[e].element[0],c.element[0]))continue;c=this.containers[e],d=e}else this.containers[e].containerCache.over&&(this.containers[e]._trigger("out",b,this._uiHash(this)),this.containers[e].containerCache.over=0)}if(!c)return;if(this.containers.length===1)this.containers[d]._trigger("over",b,this._uiHash(this)),this.containers[d].containerCache.over=1;else if(this.currentContainer!=this.containers[d]){var f=1e4,g=null,h=this.positionAbs[this.containers[d].floating?"left":"top"];for(var i=this.items.length-1;i>=0;i--){if(!a.ui.contains(this.containers[d].element[0],this.items[i].item[0]))continue;var j=this.containers[d].floating?this.items[i].item.offset().left:this.items[i].item.offset().top;Math.abs(j-h)<f&&(f=Math.abs(j-h),g=this.items[i],this.direction=j-h>0?"down":"up")}if(!g&&!this.options.dropOnEmpty)return;this.currentContainer=this.containers[d],g?this._rearrange(b,g,null,!0):this._rearrange(b,null,this.containers[d].element,!0),this._trigger("change",b,this._uiHash()),this.containers[d]._trigger("change",b,this._uiHash(this)),this.options.placeholder.update(this.currentContainer,this.placeholder),this.containers[d]._trigger("over",b,this._uiHash(this)),this.containers[d].containerCache.over=1}},_createHelper:function(b){var c=this.options,d=a.isFunction(c.helper)?a(c.helper.apply(this.element[0],[b,this.currentItem])):c.helper=="clone"?this.currentItem.clone():this.currentItem;return d.parents("body").length||a(c.appendTo!="parent"?c.appendTo:this.currentItem[0].parentNode)[0].appendChild(d[0]),d[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")}),(d[0].style.width==""||c.forceHelperSize)&&d.width(this.currentItem.width()),(d[0].style.height==""||c.forceHelperSize)&&d.height(this.currentItem.height()),d},_adjustOffsetFromHelper:function(b){typeof b=="string"&&(b=b.split(" ")),a.isArray(b)&&(b={left:+b[0],top:+b[1]||0}),"left"in b&&(this.offset.click.left=b.left+this.margins.left),"right"in b&&(this.offset.click.left=this.helperProportions.width-b.right+this.margins.left),"top"in b&&(this.offset.click.top=b.top+this.margins.top),"bottom"in b&&(this.offset.click.top=this.helperProportions.height-b.bottom+this.margins.top)},_getParentOffset:function(){this.offsetParent=this.helper.offsetParent();var b=this.offsetParent.offset();this.cssPosition=="absolute"&&this.scrollParent[0]!=document&&a.ui.contains(this.scrollParent[0],this.offsetParent[0])&&(b.left+=this.scrollParent.scrollLeft(),b.top+=this.scrollParent.scrollTop());if(this.offsetParent[0]==document.body||this.offsetParent[0].tagName&&this.offsetParent[0].tagName.toLowerCase()=="html"&&a.browser.msie)b={top:0,left:0};return{top:b.top+(parseInt(this.offsetParent.css("borderTopWidth"),10)||0),left:b.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()}}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 b=this.options;b.containment=="parent"&&(b.containment=this.helper[0].parentNode);if(b.containment=="document"||b.containment=="window")this.containment=[0-this.offset.relative.left-this.offset.parent.left,0-this.offset.relative.top-this.offset.parent.top,a(b.containment=="document"?document:window).width()-this.helperProportions.width-this.margins.left,(a(b.containment=="document"?document:window).height()||document.body.parentNode.scrollHeight)-this.helperProportions.height-this.margins.top];if(!/^(document|window|parent)$/.test(b.containment)){var c=a(b.containment)[0],d=a(b.containment).offset(),e=a(c).css("overflow")!="hidden";this.containment=[d.left+(parseInt(a(c).css("borderLeftWidth"),10)||0)+(parseInt(a(c).css("paddingLeft"),10)||0)-this.margins.left,d.top+(parseInt(a(c).css("borderTopWidth"),10)||0)+(parseInt(a(c).css("paddingTop"),10)||0)-this.margins.top,d.left+(e?Math.max(c.scrollWidth,c.offsetWidth):c.offsetWidth)-(parseInt(a(c).css("borderLeftWidth"),10)||0)-(parseInt(a(c).css("paddingRight"),10)||0)-this.helperProportions.width-this.margins.left,d.top+(e?Math.max(c.scrollHeight,c.offsetHeight):c.offsetHeight)-(parseInt(a(c).css("borderTopWidth"),10)||0)-(parseInt(a(c).css("paddingBottom"),10)||0)-this.helperProportions.height-this.margins.top]}},_convertPositionTo:function(b,c){c||(c=this.position);var d=b=="absolute"?1:-1,e=this.options,f=this.cssPosition=="absolute"&&(this.scrollParent[0]==document||!a.ui.contains(this.scrollParent[0],this.offsetParent[0]))?this.offsetParent:this.scrollParent,g=/(html|body)/i.test(f[0].tagName);return{top:c.top+this.offset.relative.top*d+this.offset.parent.top*d-(a.browser.safari&&this.cssPosition=="fixed"?0:(this.cssPosition=="fixed"?-this.scrollParent.scrollTop():g?0:f.scrollTop())*d),left:c.left+this.offset.relative.left*d+this.offset.parent.left*d-(a.browser.safari&&this.cssPosition=="fixed"?0:(this.cssPosition=="fixed"?-this.scrollParent.scrollLeft():g?0:f.scrollLeft())*d)}},_generatePosition:function(b){var c=this.options,d=this.cssPosition=="absolute"&&(this.scrollParent[0]==document||!a.ui.contains(this.scrollParent[0],this.offsetParent[0]))?this.offsetParent:this.scrollParent,e=/(html|body)/i.test(d[0].tagName);this.cssPosition=="relative"&&(this.scrollParent[0]==document||this.scrollParent[0]==this.offsetParent[0])&&(this.offset.relative=this._getRelativeOffset());var f=b.pageX,g=b.pageY;if(this.originalPosition){this.containment&&(b.pageX-this.offset.click.left<this.containment[0]&&(f=this.containment[0]+this.offset.click.left),b.pageY-this.offset.click.top<this.containment[1]&&(g=this.containment[1]+this.offset.click.top),b.pageX-this.offset.click.left>this.containment[2]&&(f=this.containment[2]+this.offset.click.left),b.pageY-this.offset.click.top>this.containment[3]&&(g=this.containment[3]+this.offset.click.top));if(c.grid){var h=this.originalPageY+Math.round((g-this.originalPageY)/c.grid[1])*c.grid[1];g=this.containment?h-this.offset.click.top<this.containment[1]||h-this.offset.click.top>this.containment[3]?h-this.offset.click.top<this.containment[1]?h+c.grid[1]:h-c.grid[1]:h:h;var i=this.originalPageX+Math.round((f-this.originalPageX)/c.grid[0])*c.grid[0];f=this.containment?i-this.offset.click.left<this.containment[0]||i-this.offset.click.left>this.containment[2]?i-this.offset.click.left<this.containment[0]?i+c.grid[0]:i-c.grid[0]:i:i}}return{top:g-this.offset.click.top-this.offset.relative.top-this.offset.parent.top+(a.browser.safari&&this.cssPosition=="fixed"?0:this.cssPosition=="fixed"?-this.scrollParent.scrollTop():e?0:d.scrollTop()),left:f-this.offset.click.left-this.offset.relative.left-this.offset.parent.left+(a.browser.safari&&this.cssPosition=="fixed"?0:this.cssPosition=="fixed"?-this.scrollParent.scrollLeft():e?0:d.scrollLeft())}},_rearrange:function(a,b,c,d){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 e=this,f=this.counter;window.setTimeout(function(){f==e.counter&&e.refreshPositions(!d)},0)},_clear:function(b,c){this.reverting=!1;var d=[],e=this;!this._noFinalSort&&this.currentItem.parent().length&&this.placeholder.before(this.currentItem),this._noFinalSort=null;if(this.helper[0]==this.currentItem[0]){for(var f in this._storedCSS)if(this._storedCSS[f]=="auto"||this._storedCSS[f]=="static")this._storedCSS[f]="";this.currentItem.css(this._storedCSS).removeClass("ui-sortable-helper")}else this.currentItem.show();this.fromOutside&&!c&&d.push(function(a){this._trigger("receive",a,this._uiHash(this.fromOutside))}),(this.fromOutside||this.domPosition.prev!=this.currentItem.prev().not(".ui-sortable-helper")[0]||this.domPosition.parent!=this.currentItem.parent()[0])&&!c&&d.push(function(a){this._trigger("update",a,this._uiHash())});if(!a.ui.contains(this.element[0],this.currentItem[0])){c||d.push(function(a){this._trigger("remove",a,this._uiHash())});for(var f=this.containers.length-1;f>=0;f--)a.ui.contains(this.containers[f].element[0],this.currentItem[0])&&!c&&(d.push(function(a){return function(b){a._trigger("receive",b,this._uiHash(this))}}.call(this,this.containers[f])),d.push(function(a){return function(b){a._trigger("update",b,this._uiHash(this))}}.call(this,this.containers[f])))}for(var f=this.containers.length-1;f>=0;f--)c||d.push(function(a){return function(b){a._trigger("deactivate",b,this._uiHash(this))}}.call(this,this.containers[f])),this.containers[f].containerCache.over&&(d.push(function(a){return function(b){a._trigger("out",b,this._uiHash(this))}}.call(this,this.containers[f])),this.containers[f].containerCache.over=0);this._storedCursor&&a("body").css("cursor",this._storedCursor),this._storedOpacity&&this.helper.css("opacity",this._storedOpacity),this._storedZIndex&&this.helper.css("zIndex",this._storedZIndex=="auto"?"":this._storedZIndex),this.dragging=!1;if(this.cancelHelperRemoval){if(!c){this._trigger("beforeStop",b,this._uiHash());for(var f=0;f<d.length;f++)d[f].call(this,b);this._trigger("stop",b,this._uiHash())}return this.fromOutside=!1,!1}c||this._trigger("beforeStop",b,this._uiHash()),this.placeholder[0].parentNode.removeChild(this.placeholder[0]),this.helper[0]!=this.currentItem[0]&&this.helper.remove(),this.helper=null;if(!c){for(var f=0;f<d.length;f++)d[f].call(this,b);this._trigger("stop",b,this._uiHash())}return this.fromOutside=!1,!0},_trigger:function(){a.Widget.prototype._trigger.apply(this,arguments)===!1&&this.cancel()},_uiHash:function(b){var c=b||this;return{helper:c.helper,placeholder:c.placeholder||a([]),position:c.position,originalPosition:c.originalPosition,offset:c.positionAbs,item:c.currentItem,sender:b?b.element:null}}}),a.extend(a.ui.sortable,{version:"1.8.22"})})(jQuery);;/*! jQuery UI - v1.8.22 - 2012-07-24
-* https://github.com/jquery/jquery-ui
-* Includes: jquery.ui.accordion.js
-* Copyright (c) 2012 AUTHORS.txt; Licensed MIT, GPL */
-(function(a,b){a.widget("ui.accordion",{options:{active:0,animated:"slide",autoHeight:!0,clearStyle:!1,collapsible:!1,event:"click",fillSpace:!1,header:"> li > :first-child,> :not(li):even",icons:{header:"ui-icon-triangle-1-e",headerSelected:"ui-icon-triangle-1-s"},navigation:!1,navigationFilter:function(){return this.href.toLowerCase()===location.href.toLowerCase()}},_create:function(){var b=this,c=b.options;b.running=0,b.element.addClass("ui-accordion ui-widget ui-helper-reset").children("li").addClass("ui-accordion-li-fix"),b.headers=b.element.find(c.header).addClass("ui-accordion-header ui-helper-reset ui-state-default ui-corner-all").bind("mouseenter.accordion",function(){if(c.disabled)return;a(this).addClass("ui-state-hover")}).bind("mouseleave.accordion",function(){if(c.disabled)return;a(this).removeClass("ui-state-hover")}).bind("focus.accordion",function(){if(c.disabled)return;a(this).addClass("ui-state-focus")}).bind("blur.accordion",function(){if(c.disabled)return;a(this).removeClass("ui-state-focus")}),b.headers.next().addClass("ui-accordion-content ui-helper-reset ui-widget-content ui-corner-bottom");if(c.navigation){var d=b.element.find("a").filter(c.navigationFilter).eq(0);if(d.length){var e=d.closest(".ui-accordion-header");e.length?b.active=e:b.active=d.closest(".ui-accordion-content").prev()}}b.active=b._findActive(b.active||c.active).addClass("ui-state-default ui-state-active").toggleClass("ui-corner-all").toggleClass("ui-corner-top"),b.active.next().addClass("ui-accordion-content-active"),b._createIcons(),b.resize(),b.element.attr("role","tablist"),b.headers.attr("role","tab").bind("keydown.accordion",function(a){return b._keydown(a)}).next().attr("role","tabpanel"),b.headers.not(b.active||"").attr({"aria-expanded":"false","aria-selected":"false",tabIndex:-1}).next().hide(),b.active.length?b.active.attr({"aria-expanded":"true","aria-selected":"true",tabIndex:0}):b.headers.eq(0).attr("tabIndex",0),a.browser.safari||b.headers.find("a").attr("tabIndex",-1),c.event&&b.headers.bind(c.event.split(" ").join(".accordion ")+".accordion",function(a){b._clickHandler.call(b,a,this),a.preventDefault()})},_createIcons:function(){var b=this.options;b.icons&&(a("<span></span>").addClass("ui-icon "+b.icons.header).prependTo(this.headers),this.active.children(".ui-icon").toggleClass(b.icons.header).toggleClass(b.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 b=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 c=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");return(b.autoHeight||b.fillHeight)&&c.css("height",""),a.Widget.prototype.destroy.call(this)},_setOption:function(b,c){a.Widget.prototype._setOption.apply(this,arguments),b=="active"&&this.activate(c),b=="icons"&&(this._destroyIcons(),c&&this._createIcons()),b=="disabled"&&this.headers.add(this.headers.next())[c?"addClass":"removeClass"]("ui-accordion-disabled ui-state-disabled")},_keydown:function(b){if(this.options.disabled||b.altKey||b.ctrlKey)return;var c=a.ui.keyCode,d=this.headers.length,e=this.headers.index(b.target),f=!1;switch(b.keyCode){case c.RIGHT:case c.DOWN:f=this.headers[(e+1)%d];break;case c.LEFT:case c.UP:f=this.headers[(e-1+d)%d];break;case c.SPACE:case c.ENTER:this._clickHandler({target:b.target},b.target),b.preventDefault()}return f?(a(b.target).attr("tabIndex",-1),a(f).attr("tabIndex",0),f.focus(),!1):!0},resize:function(){var b=this.options,c;if(b.fillSpace){if(a.browser.msie){var d=this.element.parent().css("overflow");this.element.parent().css("overflow","hidden")}c=this.element.parent().height(),a.browser.msie&&this.element.parent().css("overflow",d),this.headers.each(function(){c-=a(this).outerHeight(!0)}),this.headers.next().each(function(){a(this).height(Math.max(0,c-a(this).innerHeight()+a(this).height()))}).css("overflow","auto")}else b.autoHeight&&(c=0,this.headers.next().each(function(){c=Math.max(c,a(this).height("").height())}).height(c));return this},activate:function(a){this.options.active=a;var b=this._findActive(a)[0];return this._clickHandler({target:b},b),this},_findActive:function(b){return b?typeof b=="number"?this.headers.filter(":eq("+b+")"):this.headers.not(this.headers.not(b)):b===!1?a([]):this.headers.filter(":eq(0)")},_clickHandler:function(b,c){var d=this.options;if(d.disabled)return;if(!b.target){if(!d.collapsible)return;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 e=this.active.next(),f={options:d,newHeader:a([]),oldHeader:d.active,newContent:a([]),oldContent:e},g=this.active=a([]);this._toggle(g,e,f);return}var h=a(b.currentTarget||c),i=h[0]===this.active[0];d.active=d.collapsible&&i?!1:this.headers.index(h);if(this.running||!d.collapsible&&i)return;var j=this.active,g=h.next(),e=this.active.next(),f={options:d,newHeader:i&&d.collapsible?a([]):h,oldHeader:this.active,newContent:i&&d.collapsible?a([]):g,oldContent:e},k=this.headers.index(this.active[0])>this.headers.index(h[0]);this.active=i?a([]):h,this._toggle(g,e,f,i,k),j.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),i||(h.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),h.next().addClass("ui-accordion-content-active"));return},_toggle:function(b,c,d,e,f){var g=this,h=g.options;g.toShow=b,g.toHide=c,g.data=d;var i=function(){if(!g)return;return g._completed.apply(g,arguments)};g._trigger("changestart",null,g.data),g.running=c.size()===0?b.size():c.size();if(h.animated){var j={};h.collapsible&&e?j={toShow:a([]),toHide:c,complete:i,down:f,autoHeight:h.autoHeight||h.fillSpace}:j={toShow:b,toHide:c,complete:i,down:f,autoHeight:h.autoHeight||h.fillSpace},h.proxied||(h.proxied=h.animated),h.proxiedDuration||(h.proxiedDuration=h.duration),h.animated=a.isFunction(h.proxied)?h.proxied(j):h.proxied,h.duration=a.isFunction(h.proxiedDuration)?h.proxiedDuration(j):h.proxiedDuration;var k=a.ui.accordion.animations,l=h.duration,m=h.animated;m&&!k[m]&&!a.easing[m]&&(m="slide"),k[m]||(k[m]=function(a){this.slide(a,{easing:m,duration:l||700})}),k[m](j)}else h.collapsible&&e?b.toggle():(c.hide(),b.show()),i(!0);c.prev().attr({"aria-expanded":"false","aria-selected":"false",tabIndex:-1}).blur(),b.prev().attr({"aria-expanded":"true","aria-selected":"true",tabIndex:0}).focus()},_completed:function(a){this.running=a?0:--this.running;if(this.running)return;this.options.clearStyle&&this.toShow.add(this.toHide).css({height:"",overflow:""}),this.toHide.removeClass("ui-accordion-content-active"),this.toHide.length&&(this.toHide.parent()[0].className=this.toHide.parent()[0].className),this._trigger("change",null,this.data)}}),a.extend(a.ui.accordion,{version:"1.8.22",animations:{slide:function(b,c){b=a.extend({easing:"swing",duration:300},b,c);if(!b.toHide.size()){b.toShow.animate({height:"show",paddingTop:"show",paddingBottom:"show"},b);return}if(!b.toShow.size()){b.toHide.animate({height:"hide",paddingTop:"hide",paddingBottom:"hide"},b);return}var d=b.toShow.css("overflow"),e=0,f={},g={},h=["height","paddingTop","paddingBottom"],i,j=b.toShow;i=j[0].style.width,j.width(j.parent().width()-parseFloat(j.css("paddingLeft"))-parseFloat(j.css("paddingRight"))-(parseFloat(j.css("borderLeftWidth"))||0)-(parseFloat(j.css("borderRightWidth"))||0)),a.each(h,function(c,d){g[d]="hide";var e=(""+a.css(b.toShow[0],d)).match(/^([\d+-.]+)(.*)$/);f[d]={value:e[1],unit:e[2]||"px"}}),b.toShow.css({height:0,overflow:"hidden"}).show(),b.toHide.filter(":hidden").each(b.complete).end().filter(":visible").animate(g,{step:function(a,c){c.prop=="height"&&(e=c.end-c.start===0?0:(c.now-c.start)/(c.end-c.start)),b.toShow[0].style[c.prop]=e*f[c.prop].value+f[c.prop].unit},duration:b.duration,easing:b.easing,complete:function(){b.autoHeight||b.toShow.css("height",""),b.toShow.css({width:i,overflow:d}),b.complete()}})},bounceslide:function(a){this.slide(a,{easing:a.down?"easeOutBounce":"swing",duration:a.down?1e3:200})}}})})(jQuery);;/*! jQuery UI - v1.8.22 - 2012-07-24
+(function(a,b){a.widget("ui.sortable",a.ui.mouse,{widgetEventPrefix:"sort",ready:!1,options:{appendTo:"parent",axis:!1,connectWith:!1,containment:!1,cursor:"auto",cursorAt:!1,dropOnEmpty:!0,forcePlaceholderSize:!1,forceHelperSize:!1,grid:!1,handle:!1,helper:"original",items:"> *",opacity:!1,placeholder:!1,revert:!1,scroll:!0,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")):!1,this.offset=this.element.offset(),this._mouseInit(),this.ready=!0},destroy:function(){a.Widget.prototype.destroy.call(this),this.element.removeClass("ui-sortable ui-sortable-disabled"),this._mouseDestroy();for(var b=this.items.length-1;b>=0;b--)this.items[b].item.removeData(this.widgetName+"-item");return this},_setOption:function(b,c){b==="disabled"?(this.options[b]=c,this.widget()[c?"addClass":"removeClass"]("ui-sortable-disabled")):a.Widget.prototype._setOption.apply(this,arguments)},_mouseCapture:function(b,c){var d=this;if(this.reverting)return!1;if(this.options.disabled||this.options.type=="static")return!1;this._refreshItems(b);var e=null,f=this,g=a(b.target).parents().each(function(){if(a.data(this,d.widgetName+"-item")==f)return e=a(this),!1});a.data(b.target,d.widgetName+"-item")==f&&(e=a(b.target));if(!e)return!1;if(this.options.handle&&!c){var h=!1;a(this.options.handle,e).find("*").andSelf().each(function(){this==b.target&&(h=!0)});if(!h)return!1}return this.currentItem=e,this._removeCurrentsFromItems(),!0},_mouseStart:function(b,c,d){var e=this.options,f=this;this.currentContainer=this,this.refreshPositions(),this.helper=this._createHelper(b),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},a.extend(this.offset,{click:{left:b.pageX-this.offset.left,top:b.pageY-this.offset.top},parent:this._getParentOffset(),relative:this._getRelativeOffset()}),this.helper.css("position","absolute"),this.cssPosition=this.helper.css("position"),this.originalPosition=this._generatePosition(b),this.originalPageX=b.pageX,this.originalPageY=b.pageY,e.cursorAt&&this._adjustOffsetFromHelper(e.cursorAt),this.domPosition={prev:this.currentItem.prev()[0],parent:this.currentItem.parent()[0]},this.helper[0]!=this.currentItem[0]&&this.currentItem.hide(),this._createPlaceholder(),e.containment&&this._setContainment(),e.cursor&&(a("body").css("cursor")&&(this._storedCursor=a("body").css("cursor")),a("body").css("cursor",e.cursor)),e.opacity&&(this.helper.css("opacity")&&(this._storedOpacity=this.helper.css("opacity")),this.helper.css("opacity",e.opacity)),e.zIndex&&(this.helper.css("zIndex")&&(this._storedZIndex=this.helper.css("zIndex")),this.helper.css("zIndex",e.zIndex)),this.scrollParent[0]!=document&&this.scrollParent[0].tagName!="HTML"&&(this.overflowOffset=this.scrollParent.offset()),this._trigger("start",b,this._uiHash()),this._preserveHelperProportions||this._cacheHelperProportions();if(!d)for(var g=this.containers.length-1;g>=0;g--)this.containers[g]._trigger("activate",b,f._uiHash(this));return a.ui.ddmanager&&(a.ui.ddmanager.current=this),a.ui.ddmanager&&!e.dropBehaviour&&a.ui.ddmanager.prepareOffsets(this,b),this.dragging=!0,this.helper.addClass("ui-sortable-helper"),this._mouseDrag(b),!0},_mouseDrag:function(b){this.position=this._generatePosition(b),this.positionAbs=this._convertPositionTo("absolute"),this.lastPositionAbs||(this.lastPositionAbs=this.positionAbs);if(this.options.scroll){var c=this.options,d=!1;this.scrollParent[0]!=document&&this.scrollParent[0].tagName!="HTML"?(this.overflowOffset.top+this.scrollParent[0].offsetHeight-b.pageY<c.scrollSensitivity?this.scrollParent[0].scrollTop=d=this.scrollParent[0].scrollTop+c.scrollSpeed:b.pageY-this.overflowOffset.top<c.scrollSensitivity&&(this.scrollParent[0].scrollTop=d=this.scrollParent[0].scrollTop-c.scrollSpeed),this.overflowOffset.left+this.scrollParent[0].offsetWidth-b.pageX<c.scrollSensitivity?this.scrollParent[0].scrollLeft=d=this.scrollParent[0].scrollLeft+c.scrollSpeed:b.pageX-this.overflowOffset.left<c.scrollSensitivity&&(this.scrollParent[0].scrollLeft=d=this.scrollParent[0].scrollLeft-c.scrollSpeed)):(b.pageY-a(document).scrollTop()<c.scrollSensitivity?d=a(document).scrollTop(a(document).scrollTop()-c.scrollSpeed):a(window).height()-(b.pageY-a(document).scrollTop())<c.scrollSensitivity&&(d=a(document).scrollTop(a(document).scrollTop()+c.scrollSpeed)),b.pageX-a(document).scrollLeft()<c.scrollSensitivity?d=a(document).scrollLeft(a(document).scrollLeft()-c.scrollSpeed):a(window).width()-(b.pageX-a(document).scrollLeft())<c.scrollSensitivity&&(d=a(document).scrollLeft(a(document).scrollLeft()+c.scrollSpeed))),d!==!1&&a.ui.ddmanager&&!c.dropBehaviour&&a.ui.ddmanager.prepareOffsets(this,b)}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(var e=this.items.length-1;e>=0;e--){var f=this.items[e],g=f.item[0],h=this._intersectsWithPointer(f);if(!h)continue;if(g!=this.currentItem[0]&&this.placeholder[h==1?"next":"prev"]()[0]!=g&&!a.ui.contains(this.placeholder[0],g)&&(this.options.type=="semi-dynamic"?!a.ui.contains(this.element[0],g):!0)){this.direction=h==1?"down":"up";if(this.options.tolerance=="pointer"||this._intersectsWithSides(f))this._rearrange(b,f);else break;this._trigger("change",b,this._uiHash());break}}return this._contactContainers(b),a.ui.ddmanager&&a.ui.ddmanager.drag(this,b),this._trigger("sort",b,this._uiHash()),this.lastPositionAbs=this.positionAbs,!1},_mouseStop:function(b,c){if(!b)return;a.ui.ddmanager&&!this.options.dropBehaviour&&a.ui.ddmanager.drop(this,b);if(this.options.revert){var d=this,e=d.placeholder.offset();d.reverting=!0,a(this.helper).animate({left:e.left-this.offset.parent.left-d.margins.left+(this.offsetParent[0]==document.body?0:this.offsetParent[0].scrollLeft),top:e.top-this.offset.parent.top-d.margins.top+(this.offsetParent[0]==document.body?0:this.offsetParent[0].scrollTop)},parseInt(this.options.revert,10)||500,function(){d._clear(b)})}else this._clear(b,c);return!1},cancel:function(){var b=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 c=this.containers.length-1;c>=0;c--)this.containers[c]._trigger("deactivate",null,b._uiHash(this)),this.containers[c].containerCache.over&&(this.containers[c]._trigger("out",null,b._uiHash(this)),this.containers[c].containerCache.over=0)}return 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(),a.extend(this,{helper:null,dragging:!1,reverting:!1,_noFinalSort:null}),this.domPosition.prev?a(this.domPosition.prev).after(this.currentItem):a(this.domPosition.parent).prepend(this.currentItem)),this},serialize:function(b){var c=this._getItemsAsjQuery(b&&b.connected),d=[];return b=b||{},a(c).each(function(){var c=(a(b.item||this).attr(b.attribute||"id")||"").match(b.expression||/(.+)[-=_](.+)/);c&&d.push((b.key||c[1]+"[]")+"="+(b.key&&b.expression?c[1]:c[2]))}),!d.length&&b.key&&d.push(b.key+"="),d.join("&")},toArray:function(b){var c=this._getItemsAsjQuery(b&&b.connected),d=[];return b=b||{},c.each(function(){d.push(a(b.item||this).attr(b.attribute||"id")||"")}),d},_intersectsWith:function(a){var b=this.positionAbs.left,c=b+this.helperProportions.width,d=this.positionAbs.top,e=d+this.helperProportions.height,f=a.left,g=f+a.width,h=a.top,i=h+a.height,j=this.offset.click.top,k=this.offset.click.left,l=d+j>h&&d+j<i&&b+k>f&&b+k<g;return this.options.tolerance=="pointer"||this.options.forcePointerForContainers||this.options.tolerance!="pointer"&&this.helperProportions[this.floating?"width":"height"]>a[this.floating?"width":"height"]?l:f<b+this.helperProportions.width/2&&c-this.helperProportions.width/2<g&&h<d+this.helperProportions.height/2&&e-this.helperProportions.height/2<i},_intersectsWithPointer:function(b){var c=this.options.axis==="x"||a.ui.isOverAxis(this.positionAbs.top+this.offset.click.top,b.top,b.height),d=this.options.axis==="y"||a.ui.isOverAxis(this.positionAbs.left+this.offset.click.left,b.left,b.width),e=c&&d,f=this._getDragVerticalDirection(),g=this._getDragHorizontalDirection();return e?this.floating?g&&g=="right"||f=="down"?2:1:f&&(f=="down"?2:1):!1},_intersectsWithSides:function(b){var c=a.ui.isOverAxis(this.positionAbs.top+this.offset.click.top,b.top+b.height/2,b.height),d=a.ui.isOverAxis(this.positionAbs.left+this.offset.click.left,b.left+b.width/2,b.width),e=this._getDragVerticalDirection(),f=this._getDragHorizontalDirection();return this.floating&&f?f=="right"&&d||f=="left"&&!d:e&&(e=="down"&&c||e=="up"&&!c)},_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){return this._refreshItems(a),this.refreshPositions(),this},_connectWith:function(){var a=this.options;return a.connectWith.constructor==String?[a.connectWith]:a.connectWith},_getItemsAsjQuery:function(b){var c=this,d=[],e=[],f=this._connectWith();if(f&&b)for(var g=f.length-1;g>=0;g--){var h=a(f[g]);for(var i=h.length-1;i>=0;i--){var j=a.data(h[i],this.widgetName);j&&j!=this&&!j.options.disabled&&e.push([a.isFunction(j.options.items)?j.options.items.call(j.element):a(j.options.items,j.element).not(".ui-sortable-helper").not(".ui-sortable-placeholder"),j])}}e.push([a.isFunction(this.options.items)?this.options.items.call(this.element,null,{options:this.options,item:this.currentItem}):a(this.options.items,this.element).not(".ui-sortable-helper").not(".ui-sortable-placeholder"),this]);for(var g=e.length-1;g>=0;g--)e[g][0].each(function(){d.push(this)});return a(d)},_removeCurrentsFromItems:function(){var a=this.currentItem.find(":data("+this.widgetName+"-item)");for(var 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(b){this.items=[],this.containers=[this];var c=this.items,d=this,e=[[a.isFunction(this.options.items)?this.options.items.call(this.element[0],b,{item:this.currentItem}):a(this.options.items,this.element),this]],f=this._connectWith();if(f&&this.ready)for(var g=f.length-1;g>=0;g--){var h=a(f[g]);for(var i=h.length-1;i>=0;i--){var j=a.data(h[i],this.widgetName);j&&j!=this&&!j.options.disabled&&(e.push([a.isFunction(j.options.items)?j.options.items.call(j.element[0],b,{item:this.currentItem}):a(j.options.items,j.element),j]),this.containers.push(j))}}for(var g=e.length-1;g>=0;g--){var k=e[g][1],l=e[g][0];for(var i=0,m=l.length;i<m;i++){var n=a(l[i]);n.data(this.widgetName+"-item",k),c.push({item:n,instance:k,width:0,height:0,left:0,top:0})}}},refreshPositions:function(b){this.offsetParent&&this.helper&&(this.offset.parent=this._getParentOffset());for(var c=this.items.length-1;c>=0;c--){var d=this.items[c];if(d.instance!=this.currentContainer&&this.currentContainer&&d.item[0]!=this.currentItem[0])continue;var e=this.options.toleranceElement?a(this.options.toleranceElement,d.item):d.item;b||(d.width=e.outerWidth(),d.height=e.outerHeight());var f=e.offset();d.left=f.left,d.top=f.top}if(this.options.custom&&this.options.custom.refreshContainers)this.options.custom.refreshContainers.call(this);else for(var c=this.containers.length-1;c>=0;c--){var f=this.containers[c].element.offset();this.containers[c].containerCache.left=f.left,this.containers[c].containerCache.top=f.top,this.containers[c].containerCache.width=this.containers[c].element.outerWidth(),this.containers[c].containerCache.height=this.containers[c].element.outerHeight()}return this},_createPlaceholder:function(b){var c=b||this,d=c.options;if(!d.placeholder||d.placeholder.constructor==String){var e=d.placeholder;d.placeholder={element:function(){var b=a(document.createElement(c.currentItem[0].nodeName)).addClass(e||c.currentItem[0].className+" ui-sortable-placeholder").removeClass("ui-sortable-helper")[0];return e||(b.style.visibility="hidden"),b},update:function(a,b){if(e&&!d.forcePlaceholderSize)return;b.height()||b.height(c.currentItem.innerHeight()-parseInt(c.currentItem.css("paddingTop")||0,10)-parseInt(c.currentItem.css("paddingBottom")||0,10)),b.width()||b.width(c.currentItem.innerWidth()-parseInt(c.currentItem.css("paddingLeft")||0,10)-parseInt(c.currentItem.css("paddingRight")||0,10))}}}c.placeholder=a(d.placeholder.element.call(c.element,c.currentItem)),c.currentItem.after(c.placeholder),d.placeholder.update(c,c.placeholder)},_contactContainers:function(b){var c=null,d=null;for(var e=this.containers.length-1;e>=0;e--){if(a.ui.contains(this.currentItem[0],this.containers[e].element[0]))continue;if(this._intersectsWith(this.containers[e].containerCache)){if(c&&a.ui.contains(this.containers[e].element[0],c.element[0]))continue;c=this.containers[e],d=e}else this.containers[e].containerCache.over&&(this.containers[e]._trigger("out",b,this._uiHash(this)),this.containers[e].containerCache.over=0)}if(!c)return;if(this.containers.length===1)this.containers[d]._trigger("over",b,this._uiHash(this)),this.containers[d].containerCache.over=1;else if(this.currentContainer!=this.containers[d]){var f=1e4,g=null,h=this.positionAbs[this.containers[d].floating?"left":"top"];for(var i=this.items.length-1;i>=0;i--){if(!a.ui.contains(this.containers[d].element[0],this.items[i].item[0]))continue;var j=this.containers[d].floating?this.items[i].item.offset().left:this.items[i].item.offset().top;Math.abs(j-h)<f&&(f=Math.abs(j-h),g=this.items[i],this.direction=j-h>0?"down":"up")}if(!g&&!this.options.dropOnEmpty)return;this.currentContainer=this.containers[d],g?this._rearrange(b,g,null,!0):this._rearrange(b,null,this.containers[d].element,!0),this._trigger("change",b,this._uiHash()),this.containers[d]._trigger("change",b,this._uiHash(this)),this.options.placeholder.update(this.currentContainer,this.placeholder),this.containers[d]._trigger("over",b,this._uiHash(this)),this.containers[d].containerCache.over=1}},_createHelper:function(b){var c=this.options,d=a.isFunction(c.helper)?a(c.helper.apply(this.element[0],[b,this.currentItem])):c.helper=="clone"?this.currentItem.clone():this.currentItem;return d.parents("body").length||a(c.appendTo!="parent"?c.appendTo:this.currentItem[0].parentNode)[0].appendChild(d[0]),d[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")}),(d[0].style.width==""||c.forceHelperSize)&&d.width(this.currentItem.width()),(d[0].style.height==""||c.forceHelperSize)&&d.height(this.currentItem.height()),d},_adjustOffsetFromHelper:function(b){typeof b=="string"&&(b=b.split(" ")),a.isArray(b)&&(b={left:+b[0],top:+b[1]||0}),"left"in b&&(this.offset.click.left=b.left+this.margins.left),"right"in b&&(this.offset.click.left=this.helperProportions.width-b.right+this.margins.left),"top"in b&&(this.offset.click.top=b.top+this.margins.top),"bottom"in b&&(this.offset.click.top=this.helperProportions.height-b.bottom+this.margins.top)},_getParentOffset:function(){this.offsetParent=this.helper.offsetParent();var b=this.offsetParent.offset();this.cssPosition=="absolute"&&this.scrollParent[0]!=document&&a.ui.contains(this.scrollParent[0],this.offsetParent[0])&&(b.left+=this.scrollParent.scrollLeft(),b.top+=this.scrollParent.scrollTop());if(this.offsetParent[0]==document.body||this.offsetParent[0].tagName&&this.offsetParent[0].tagName.toLowerCase()=="html"&&a.browser.msie)b={top:0,left:0};return{top:b.top+(parseInt(this.offsetParent.css("borderTopWidth"),10)||0),left:b.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()}}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 b=this.options;b.containment=="parent"&&(b.containment=this.helper[0].parentNode);if(b.containment=="document"||b.containment=="window")this.containment=[0-this.offset.relative.left-this.offset.parent.left,0-this.offset.relative.top-this.offset.parent.top,a(b.containment=="document"?document:window).width()-this.helperProportions.width-this.margins.left,(a(b.containment=="document"?document:window).height()||document.body.parentNode.scrollHeight)-this.helperProportions.height-this.margins.top];if(!/^(document|window|parent)$/.test(b.containment)){var c=a(b.containment)[0],d=a(b.containment).offset(),e=a(c).css("overflow")!="hidden";this.containment=[d.left+(parseInt(a(c).css("borderLeftWidth"),10)||0)+(parseInt(a(c).css("paddingLeft"),10)||0)-this.margins.left,d.top+(parseInt(a(c).css("borderTopWidth"),10)||0)+(parseInt(a(c).css("paddingTop"),10)||0)-this.margins.top,d.left+(e?Math.max(c.scrollWidth,c.offsetWidth):c.offsetWidth)-(parseInt(a(c).css("borderLeftWidth"),10)||0)-(parseInt(a(c).css("paddingRight"),10)||0)-this.helperProportions.width-this.margins.left,d.top+(e?Math.max(c.scrollHeight,c.offsetHeight):c.offsetHeight)-(parseInt(a(c).css("borderTopWidth"),10)||0)-(parseInt(a(c).css("paddingBottom"),10)||0)-this.helperProportions.height-this.margins.top]}},_convertPositionTo:function(b,c){c||(c=this.position);var d=b=="absolute"?1:-1,e=this.options,f=this.cssPosition=="absolute"&&(this.scrollParent[0]==document||!a.ui.contains(this.scrollParent[0],this.offsetParent[0]))?this.offsetParent:this.scrollParent,g=/(html|body)/i.test(f[0].tagName);return{top:c.top+this.offset.relative.top*d+this.offset.parent.top*d-(a.browser.safari&&this.cssPosition=="fixed"?0:(this.cssPosition=="fixed"?-this.scrollParent.scrollTop():g?0:f.scrollTop())*d),left:c.left+this.offset.relative.left*d+this.offset.parent.left*d-(a.browser.safari&&this.cssPosition=="fixed"?0:(this.cssPosition=="fixed"?-this.scrollParent.scrollLeft():g?0:f.scrollLeft())*d)}},_generatePosition:function(b){var c=this.options,d=this.cssPosition=="absolute"&&(this.scrollParent[0]==document||!a.ui.contains(this.scrollParent[0],this.offsetParent[0]))?this.offsetParent:this.scrollParent,e=/(html|body)/i.test(d[0].tagName);this.cssPosition=="relative"&&(this.scrollParent[0]==document||this.scrollParent[0]==this.offsetParent[0])&&(this.offset.relative=this._getRelativeOffset());var f=b.pageX,g=b.pageY;if(this.originalPosition){this.containment&&(b.pageX-this.offset.click.left<this.containment[0]&&(f=this.containment[0]+this.offset.click.left),b.pageY-this.offset.click.top<this.containment[1]&&(g=this.containment[1]+this.offset.click.top),b.pageX-this.offset.click.left>this.containment[2]&&(f=this.containment[2]+this.offset.click.left),b.pageY-this.offset.click.top>this.containment[3]&&(g=this.containment[3]+this.offset.click.top));if(c.grid){var h=this.originalPageY+Math.round((g-this.originalPageY)/c.grid[1])*c.grid[1];g=this.containment?h-this.offset.click.top<this.containment[1]||h-this.offset.click.top>this.containment[3]?h-this.offset.click.top<this.containment[1]?h+c.grid[1]:h-c.grid[1]:h:h;var i=this.originalPageX+Math.round((f-this.originalPageX)/c.grid[0])*c.grid[0];f=this.containment?i-this.offset.click.left<this.containment[0]||i-this.offset.click.left>this.containment[2]?i-this.offset.click.left<this.containment[0]?i+c.grid[0]:i-c.grid[0]:i:i}}return{top:g-this.offset.click.top-this.offset.relative.top-this.offset.parent.top+(a.browser.safari&&this.cssPosition=="fixed"?0:this.cssPosition=="fixed"?-this.scrollParent.scrollTop():e?0:d.scrollTop()),left:f-this.offset.click.left-this.offset.relative.left-this.offset.parent.left+(a.browser.safari&&this.cssPosition=="fixed"?0:this.cssPosition=="fixed"?-this.scrollParent.scrollLeft():e?0:d.scrollLeft())}},_rearrange:function(a,b,c,d){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 e=this,f=this.counter;window.setTimeout(function(){f==e.counter&&e.refreshPositions(!d)},0)},_clear:function(b,c){this.reverting=!1;var d=[],e=this;!this._noFinalSort&&this.currentItem.parent().length&&this.placeholder.before(this.currentItem),this._noFinalSort=null;if(this.helper[0]==this.currentItem[0]){for(var f in this._storedCSS)if(this._storedCSS[f]=="auto"||this._storedCSS[f]=="static")this._storedCSS[f]="";this.currentItem.css(this._storedCSS).removeClass("ui-sortable-helper")}else this.currentItem.show();this.fromOutside&&!c&&d.push(function(a){this._trigger("receive",a,this._uiHash(this.fromOutside))}),(this.fromOutside||this.domPosition.prev!=this.currentItem.prev().not(".ui-sortable-helper")[0]||this.domPosition.parent!=this.currentItem.parent()[0])&&!c&&d.push(function(a){this._trigger("update",a,this._uiHash())});if(!a.ui.contains(this.element[0],this.currentItem[0])){c||d.push(function(a){this._trigger("remove",a,this._uiHash())});for(var f=this.containers.length-1;f>=0;f--)a.ui.contains(this.containers[f].element[0],this.currentItem[0])&&!c&&(d.push(function(a){return function(b){a._trigger("receive",b,this._uiHash(this))}}.call(this,this.containers[f])),d.push(function(a){return function(b){a._trigger("update",b,this._uiHash(this))}}.call(this,this.containers[f])))}for(var f=this.containers.length-1;f>=0;f--)c||d.push(function(a){return function(b){a._trigger("deactivate",b,this._uiHash(this))}}.call(this,this.containers[f])),this.containers[f].containerCache.over&&(d.push(function(a){return function(b){a._trigger("out",b,this._uiHash(this))}}.call(this,this.containers[f])),this.containers[f].containerCache.over=0);this._storedCursor&&a("body").css("cursor",this._storedCursor),this._storedOpacity&&this.helper.css("opacity",this._storedOpacity),this._storedZIndex&&this.helper.css("zIndex",this._storedZIndex=="auto"?"":this._storedZIndex),this.dragging=!1;if(this.cancelHelperRemoval){if(!c){this._trigger("beforeStop",b,this._uiHash());for(var f=0;f<d.length;f++)d[f].call(this,b);this._trigger("stop",b,this._uiHash())}return this.fromOutside=!1,!1}c||this._trigger("beforeStop",b,this._uiHash()),this.placeholder[0].parentNode.removeChild(this.placeholder[0]),this.helper[0]!=this.currentItem[0]&&this.helper.remove(),this.helper=null;if(!c){for(var f=0;f<d.length;f++)d[f].call(this,b);this._trigger("stop",b,this._uiHash())}return this.fromOutside=!1,!0},_trigger:function(){a.Widget.prototype._trigger.apply(this,arguments)===!1&&this.cancel()},_uiHash:function(b){var c=b||this;return{helper:c.helper,placeholder:c.placeholder||a([]),position:c.position,originalPosition:c.originalPosition,offset:c.positionAbs,item:c.currentItem,sender:b?b.element:null}}}),a.extend(a.ui.sortable,{version:"1.8.23"})})(jQuery);;/*! jQuery UI - v1.8.23 - 2012-08-15
 * https://github.com/jquery/jquery-ui
 * Includes: jquery.ui.autocomplete.js
 * Copyright (c) 2012 AUTHORS.txt; Licensed MIT, GPL */
-(function(a,b){var c=0;a.widget("ui.autocomplete",{options:{appendTo:"body",autoFocus:!1,delay:300,minLength:1,position:{my:"left top",at:"left bottom",collision:"none"},source:null},pending:0,_create:function(){var b=this,c=this.element[0].ownerDocument,d;this.isMultiLine=this.element.is("textarea"),this.element.addClass("ui-autocomplete-input").attr("autocomplete","off").attr({role:"textbox","aria-autocomplete":"list","aria-haspopup":"true"}).bind("keydown.autocomplete",function(c){if(b.options.disabled||b.element.propAttr("readOnly"))return;d=!1;var e=a.ui.keyCode;switch(c.keyCode){case e.PAGE_UP:b._move("previousPage",c);break;case e.PAGE_DOWN:b._move("nextPage",c);break;case e.UP:b._keyEvent("previous",c);break;case e.DOWN:b._keyEvent("next",c);break;case e.ENTER:case e.NUMPAD_ENTER:b.menu.active&&(d=!0,c.preventDefault());case e.TAB:if(!b.menu.active)return;b.menu.select(c);break;case e.ESCAPE:b.element.val(b.term),b.close(c);break;default:clearTimeout(b.searching),b.searching=setTimeout(function(){b.term!=b.element.val()&&(b.selectedItem=null,b.search(null,c))},b.options.delay)}}).bind("keypress.autocomplete",function(a){d&&(d=!1,a.preventDefault())}).bind("focus.autocomplete",function(){if(b.options.disabled)return;b.selectedItem=null,b.previous=b.element.val()}).bind("blur.autocomplete",function(a){if(b.options.disabled)return;clearTimeout(b.searching),b.closing=setTimeout(function(){b.close(a),b._change(a)},150)}),this._initSource(),this.menu=a("<ul></ul>").addClass("ui-autocomplete").appendTo(a(this.options.appendTo||"body",c)[0]).mousedown(function(c){var d=b.menu.element[0];a(c.target).closest(".ui-menu-item").length||setTimeout(function(){a(document).one("mousedown",function(c){c.target!==b.element[0]&&c.target!==d&&!a.ui.contains(d,c.target)&&b.close()})},1),setTimeout(function(){clearTimeout(b.closing)},13)}).menu({focus:function(a,c){var d=c.item.data("item.autocomplete");!1!==b._trigger("focus",a,{item:d})&&/^key/.test(a.originalEvent.type)&&b.element.val(d.value)},selected:function(a,d){var e=d.item.data("item.autocomplete"),f=b.previous;b.element[0]!==c.activeElement&&(b.element.focus(),b.previous=f,setTimeout(function(){b.previous=f,b.selectedItem=e},1)),!1!==b._trigger("select",a,{item:e})&&b.element.val(e.value),b.term=b.element.val(),b.close(a),b.selectedItem=e},blur:function(a,c){b.menu.element.is(":visible")&&b.element.val()!==b.term&&b.element.val(b.term)}}).zIndex(this.element.zIndex()+1).css({top:0,left:0}).hide().data("menu"),a.fn.bgiframe&&this.menu.element.bgiframe(),b.beforeunloadHandler=function(){b.element.removeAttr("autocomplete")},a(window).bind("beforeunload",b.beforeunloadHandler)},destroy:function(){this.element.removeClass("ui-autocomplete-input").removeAttr("autocomplete").removeAttr("role").removeAttr("aria-autocomplete").removeAttr("aria-haspopup"),this.menu.element.remove(),a(window).unbind("beforeunload",this.beforeunloadHandler),a.Widget.prototype.destroy.call(this)},_setOption:function(b,c){a.Widget.prototype._setOption.apply(this,arguments),b==="source"&&this._initSource(),b==="appendTo"&&this.menu.element.appendTo(a(c||"body",this.element[0].ownerDocument)[0]),b==="disabled"&&c&&this.xhr&&this.xhr.abort()},_initSource:function(){var b=this,c,d;a.isArray(this.options.source)?(c=this.options.source,this.source=function(b,d){d(a.ui.autocomplete.filter(c,b.term))}):typeof this.options.source=="string"?(d=this.options.source,this.source=function(c,e){b.xhr&&b.xhr.abort(),b.xhr=a.ajax({url:d,data:c,dataType:"json",success:function(a,b){e(a)},error:function(){e([])}})}):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)===!1)return;return this._search(a)},_search:function(a){this.pending++,this.element.addClass("ui-autocomplete-loading"),this.source({term:a},this._response())},_response:function(){var a=this,b=++c;return function(d){b===c&&a.__response(d),a.pending--,a.pending||a.element.removeClass("ui-autocomplete-loading")}},__response:function(a){!this.options.disabled&&a&&a.length?(a=this._normalize(a),this._suggest(a),this._trigger("open")):this.close()},close:function(a){clearTimeout(this.closing),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(b){return b.length&&b[0].label&&b[0].value?b:a.map(b,function(b){return typeof b=="string"?{label:b,value:b}:a.extend({label:b.label||b.value,value:b.value||b.label},b)})},_suggest:function(b){var c=this.menu.element.empty().zIndex(this.element.zIndex()+1);this._renderMenu(c,b),this.menu.deactivate(),this.menu.refresh(),c.show(),this._resizeMenu(),c.position(a.extend({of:this.element},this.options.position)),this.options.autoFocus&&this.menu.next(new a.Event("mouseover"))},_resizeMenu:function(){var a=this.menu.element;a.outerWidth(Math.max(a.width("").outerWidth()+1,this.element.outerWidth()))},_renderMenu:function(b,c){var d=this;a.each(c,function(a,c){d._renderItem(b,c)})},_renderItem:function(b,c){return a("<li></li>").data("item.autocomplete",c).append(a("<a></a>").text(c.label)).appendTo(b)},_move:function(a,b){if(!this.menu.element.is(":visible")){this.search(null,b);return}if(this.menu.first()&&/^previous/.test(a)||this.menu.last()&&/^next/.test(a)){this.element.val(this.term),this.menu.deactivate();return}this.menu[a](b)},widget:function(){return this.menu.element},_keyEvent:function(a,b){if(!this.isMultiLine||this.menu.element.is(":visible"))this._move(a,b),b.preventDefault()}}),a.extend(a.ui.autocomplete,{escapeRegex:function(a){return a.replace(/[-[\]{}()*+?.,\\^$|#\s]/g,"\\$&")},filter:function(b,c){var d=new RegExp(a.ui.autocomplete.escapeRegex(c),"i");return a.grep(b,function(a){return d.test(a.label||a.value||a)})}})})(jQuery),function(a){a.widget("ui.menu",{_create:function(){var b=this;this.element.addClass("ui-menu ui-widget ui-widget-content ui-corner-all").attr({role:"listbox","aria-activedescendant":"ui-active-menuitem"}).click(function(c){if(!a(c.target).closest(".ui-menu-item a").length)return;c.preventDefault(),b.select(c)}),this.refresh()},refresh:function(){var b=this,c=this.element.children("li:not(.ui-menu-item):has(a)").addClass("ui-menu-item").attr("role","menuitem");c.children("a").addClass("ui-corner-all").attr("tabindex",-1).mouseenter(function(c){b.activate(c,a(this).parent())}).mouseleave(function(){b.deactivate()})},activate:function(a,b){this.deactivate();if(this.hasScroll()){var c=b.offset().top-this.element.offset().top,d=this.element.scrollTop(),e=this.element.height();c<0?this.element.scrollTop(d+c):c>=e&&this.element.scrollTop(d+c-e+b.height())}this.active=b.eq(0).children("a").addClass("ui-state-hover").attr("id","ui-active-menuitem").end(),this._trigger("focus",a,{item:b})},deactivate:function(){if(!this.active)return;this.active.children("a").removeClass("ui-state-hover").removeAttr("id"),this._trigger("blur"),this.active=null},next:function(a){this.move("next",".ui-menu-item:first",a)},previous:function(a){this.move("prev",".ui-menu-item:last",a)},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(a,b,c){if(!this.active){this.activate(c,this.element.children(b));return}var d=this.active[a+"All"](".ui-menu-item").eq(0);d.length?this.activate(c,d):this.activate(c,this.element.children(b))},nextPage:function(b){if(this.hasScroll()){if(!this.active||this.last()){this.activate(b,this.element.children(".ui-menu-item:first"));return}var c=this.active.offset().top,d=this.element.height(),e=this.element.children(".ui-menu-item").filter(function(){var b=a(this).offset().top-c-d+a(this).height();return b<10&&b>-10});e.length||(e=this.element.children(".ui-menu-item:last")),this.activate(b,e)}else this.activate(b,this.element.children(".ui-menu-item").filter(!this.active||this.last()?":first":":last"))},previousPage:function(b){if(this.hasScroll()){if(!this.active||this.first()){this.activate(b,this.element.children(".ui-menu-item:last"));return}var c=this.active.offset().top,d=this.element.height(),e=this.element.children(".ui-menu-item").filter(function(){var b=a(this).offset().top-c+d-a(this).height();return b<10&&b>-10});e.length||(e=this.element.children(".ui-menu-item:first")),this.activate(b,e)}else this.activate(b,this.element.children(".ui-menu-item").filter(!this.active||this.first()?":last":":first"))},hasScroll:function(){return this.element.height()<this.element[a.fn.prop?"prop":"attr"]("scrollHeight")},select:function(a){this._trigger("selected",a,{item:this.active})}})}(jQuery);;/*! jQuery UI - v1.8.22 - 2012-07-24
-* https://github.com/jquery/jquery-ui
-* Includes: jquery.ui.button.js
-* Copyright (c) 2012 AUTHORS.txt; Licensed MIT, GPL */
-(function(a,b){var c,d,e,f,g="ui-button ui-widget ui-state-default ui-corner-all",h="ui-state-hover ui-state-active ",i="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",j=function(){var b=a(this).find(":ui-button");setTimeout(function(){b.button("refresh")},1)},k=function(b){var c=b.name,d=b.form,e=a([]);return c&&(d?e=a(d).find("[name='"+c+"']"):e=a("[name='"+c+"']",b.ownerDocument).filter(function(){return!this.form})),e};a.widget("ui.button",{options:{disabled:null,text:!0,label:null,icons:{primary:null,secondary:null}},_create:function(){this.element.closest("form").unbind("reset.button").bind("reset.button",j),typeof this.options.disabled!="boolean"?this.options.disabled=!!this.element.propAttr("disabled"):this.element.propAttr("disabled",this.options.disabled),this._determineButtonType(),this.hasTitle=!!this.buttonElement.attr("title");var b=this,h=this.options,i=this.type==="checkbox"||this.type==="radio",l="ui-state-hover"+(i?"":" ui-state-active"),m="ui-state-focus";h.label===null&&(h.label=this.buttonElement.html()),this.buttonElement.addClass(g).attr("role","button").bind("mouseenter.button",function(){if(h.disabled)return;a(this).addClass("ui-state-hover"),this===c&&a(this).addClass("ui-state-active")}).bind("mouseleave.button",function(){if(h.disabled)return;a(this).removeClass(l)}).bind("click.button",function(a){h.disabled&&(a.preventDefault(),a.stopImmediatePropagation())}),this.element.bind("focus.button",function(){b.buttonElement.addClass(m)}).bind("blur.button",function(){b.buttonElement.removeClass(m)}),i&&(this.element.bind("change.button",function(){if(f)return;b.refresh()}),this.buttonElement.bind("mousedown.button",function(a){if(h.disabled)return;f=!1,d=a.pageX,e=a.pageY}).bind("mouseup.button",function(a){if(h.disabled)return;if(d!==a.pageX||e!==a.pageY)f=!0})),this.type==="checkbox"?this.buttonElement.bind("click.button",function(){if(h.disabled||f)return!1;a(this).toggleClass("ui-state-active"),b.buttonElement.attr("aria-pressed",b.element[0].checked)}):this.type==="radio"?this.buttonElement.bind("click.button",function(){if(h.disabled||f)return!1;a(this).addClass("ui-state-active"),b.buttonElement.attr("aria-pressed","true");var c=b.element[0];k(c).not(c).map(function(){return a(this).button("widget")[0]}).removeClass("ui-state-active").attr("aria-pressed","false")}):(this.buttonElement.bind("mousedown.button",function(){if(h.disabled)return!1;a(this).addClass("ui-state-active"),c=this,a(document).one("mouseup",function(){c=null})}).bind("mouseup.button",function(){if(h.disabled)return!1;a(this).removeClass("ui-state-active")}).bind("keydown.button",function(b){if(h.disabled)return!1;(b.keyCode==a.ui.keyCode.SPACE||b.keyCode==a.ui.keyCode.ENTER)&&a(this).addClass("ui-state-active")}).bind("keyup.button",function(){a(this).removeClass("ui-state-active")}),this.buttonElement.is("a")&&this.buttonElement.keyup(function(b){b.keyCode===a.ui.keyCode.SPACE&&a(this).click()})),this._setOption("disabled",h.disabled),this._resetButton()},_determineButtonType:function(){this.element.is(":checkbox")?this.type="checkbox":this.element.is(":radio")?this.type="radio":this.element.is("input")?this.type="input":this.type="button";if(this.type==="checkbox"||this.type==="radio"){var a=this.element.parents().filter(":last"),b="label[for='"+this.element.attr("id")+"']";this.buttonElement=a.find(b),this.buttonElement.length||(a=a.length?a.siblings():this.element.siblings(),this.buttonElement=a.filter(b),this.buttonElement.length||(this.buttonElement=a.find(b))),this.element.addClass("ui-helper-hidden-accessible");var c=this.element.is(":checked");c&&this.buttonElement.addClass("ui-state-active"),this.buttonElement.attr("aria-pressed",c)}else this.buttonElement=this.element},widget:function(){return this.buttonElement},destroy:function(){this.element.removeClass("ui-helper-hidden-accessible"),this.buttonElement.removeClass(g+" "+h+" "+i).removeAttr("role").removeAttr("aria-pressed").html(this.buttonElement.find(".ui-button-text").html()),this.hasTitle||this.buttonElement.removeAttr("title"),a.Widget.prototype.destroy.call(this)},_setOption:function(b,c){a.Widget.prototype._setOption.apply(this,arguments);if(b==="disabled"){c?this.element.propAttr("disabled",!0):this.element.propAttr("disabled",!1);return}this._resetButton()},refresh:function(){var b=this.element.is(":disabled");b!==this.options.disabled&&this._setOption("disabled",b),this.type==="radio"?k(this.element[0]).each(function(){a(this).is(":checked")?a(this).button("widget").addClass("ui-state-active").attr("aria-pressed","true"):a(this).button("widget").removeClass("ui-state-active").attr("aria-pressed","false")}):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);return}var b=this.buttonElement.removeClass(i),c=a("<span></span>",this.element[0].ownerDocument).addClass("ui-button-text").html(this.options.label).appendTo(b.empty()).text(),d=this.options.icons,e=d.primary&&d.secondary,f=[];d.primary||d.secondary?(this.options.text&&f.push("ui-button-text-icon"+(e?"s":d.primary?"-primary":"-secondary")),d.primary&&b.prepend("<span class='ui-button-icon-primary ui-icon "+d.primary+"'></span>"),d.secondary&&b.append("<span class='ui-button-icon-secondary ui-icon "+d.secondary+"'></span>"),this.options.text||(f.push(e?"ui-button-icons-only":"ui-button-icon-only"),this.hasTitle||b.attr("title",c))):f.push("ui-button-text-only"),b.addClass(f.join(" "))}}),a.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(b,c){b==="disabled"&&this.buttons.button("option",b,c),a.Widget.prototype._setOption.apply(this,arguments)},refresh:function(){var b=this.element.css("direction")==="rtl";this.buttons=this.element.find(this.options.items).filter(":ui-button").button("refresh").end().not(":ui-button").button().end().map(function(){return a(this).button("widget")[0]}).removeClass("ui-corner-all ui-corner-left ui-corner-right").filter(":first").addClass(b?"ui-corner-right":"ui-corner-left").end().filter(":last").addClass(b?"ui-corner-left":"ui-corner-right").end().end()},destroy:function(){this.element.removeClass("ui-buttonset"),this.buttons.map(function(){return a(this).button("widget")[0]}).removeClass("ui-corner-left ui-corner-right").end().button("destroy"),a.Widget.prototype.destroy.call(this)}})})(jQuery);;/*! jQuery UI - v1.8.22 - 2012-07-24
-* https://github.com/jquery/jquery-ui
-* Includes: jquery.ui.dialog.js
-* Copyright (c) 2012 AUTHORS.txt; Licensed MIT, GPL */
-(function(a,b){var c="ui-dialog ui-widget ui-widget-content ui-corner-all ",d={buttons:!0,height:!0,maxHeight:!0,maxWidth:!0,minHeight:!0,minWidth:!0,width:!0},e={maxHeight:!0,maxWidth:!0,minHeight:!0,minWidth:!0},f=a.attrFn||{val:!0,css:!0,html:!0,text:!0,data:!0,width:!0,height:!0,offset:!0,click:!0};a.widget("ui.dialog",{options:{autoOpen:!0,buttons:{},closeOnEscape:!0,closeText:"close",dialogClass:"",draggable:!0,hide:null,height:"auto",maxHeight:!1,maxWidth:!1,minHeight:150,minWidth:150,modal:!1,position:{my:"center",at:"center",collision:"fit",using:function(b){var c=a(this).css(b).offset().top;c<0&&a(this).css("top",b.top-c)}},resizable:!0,show:null,stack:!0,title:"",width:300,zIndex:1e3},_create:function(){this.originalTitle=this.element.attr("title"),typeof this.originalTitle!="string"&&(this.originalTitle=""),this.options.title=this.options.title||this.originalTitle;var b=this,d=b.options,e=d.title||"&#160;",f=a.ui.dialog.getTitleId(b.element),g=(b.uiDialog=a("<div></div>")).appendTo(document.body).hide().addClass(c+d.dialogClass).css({zIndex:d.zIndex}).attr("tabIndex",-1).css("outline",0).keydown(function(c){d.closeOnEscape&&!c.isDefaultPrevented()&&c.keyCode&&c.keyCode===a.ui.keyCode.ESCAPE&&(b.close(c),c.preventDefault())}).attr({role:"dialog","aria-labelledby":f}).mousedown(function(a){b.moveToTop(!1,a)}),h=b.element.show().removeAttr("title").addClass("ui-dialog-content ui-widget-content").appendTo(g),i=(b.uiDialogTitlebar=a("<div></div>")).addClass("ui-dialog-titlebar ui-widget-header ui-corner-all ui-helper-clearfix").prependTo(g),j=a('<a href="#"></a>').addClass("ui-dialog-titlebar-close ui-corner-all").attr("role","button").hover(function(){j.addClass("ui-state-hover")},function(){j.removeClass("ui-state-hover")}).focus(function(){j.addClass("ui-state-focus")}).blur(function(){j.removeClass("ui-state-focus")}).click(function(a){return b.close(a),!1}).appendTo(i),k=(b.uiDialogTitlebarCloseText=a("<span></span>")).addClass("ui-icon ui-icon-closethick").text(d.closeText).appendTo(j),l=a("<span></span>").addClass("ui-dialog-title").attr("id",f).html(e).prependTo(i);a.isFunction(d.beforeclose)&&!a.isFunction(d.beforeClose)&&(d.beforeClose=d.beforeclose),i.find("*").add(i).disableSelection(),d.draggable&&a.fn.draggable&&b._makeDraggable(),d.resizable&&a.fn.resizable&&b._makeResizable(),b._createButtons(d.buttons),b._isOpen=!1,a.fn.bgiframe&&g.bgiframe()},_init:function(){this.options.autoOpen&&this.open()},destroy:function(){var a=this;return 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),a},widget:function(){return this.uiDialog},close:function(b){var c=this,d,e;if(!1===c._trigger("beforeClose",b))return;return c.overlay&&c.overlay.destroy(),c.uiDialog.unbind("keypress.ui-dialog"),c._isOpen=!1,c.options.hide?c.uiDialog.hide(c.options.hide,function(){c._trigger("close",b)}):(c.uiDialog.hide(),c._trigger("close",b)),a.ui.dialog.overlay.resize(),c.options.modal&&(d=0,a(".ui-dialog").each(function(){this!==c.uiDialog[0]&&(e=a(this).css("z-index"),isNaN(e)||(d=Math.max(d,e)))}),a.ui.dialog.maxZ=d),c},isOpen:function(){return this._isOpen},moveToTop:function(b,c){var d=this,e=d.options,f;return e.modal&&!b||!e.stack&&!e.modal?d._trigger("focus",c):(e.zIndex>a.ui.dialog.maxZ&&(a.ui.dialog.maxZ=e.zIndex),d.overlay&&(a.ui.dialog.maxZ+=1,d.overlay.$el.css("z-index",a.ui.dialog.overlay.maxZ=a.ui.dialog.maxZ)),f={scrollTop:d.element.scrollTop(),scrollLeft:d.element.scrollLeft()},a.ui.dialog.maxZ+=1,d.uiDialog.css("z-index",a.ui.dialog.maxZ),d.element.attr(f),d._trigger("focus",c),d)},open:function(){if(this._isOpen)return;var b=this,c=b.options,d=b.uiDialog;return b.overlay=c.modal?new a.ui.dialog.overlay(b):null,b._size(),b._position(c.position),d.show(c.show),b.moveToTop(!0),c.modal&&d.bind("keydown.ui-dialog",function(b){if(b.keyCode!==a.ui.keyCode.TAB)return;var c=a(":tabbable",this),d=c.filter(":first"),e=c.filter(":last");if(b.target===e[0]&&!b.shiftKey)return d.focus(1),!1;if(b.target===d[0]&&b.shiftKey)return e.focus(1),!1}),a(b.element.find(":tabbable").get().concat(d.find(".ui-dialog-buttonpane :tabbable").get().concat(d.get()))).eq(0).focus(),b._isOpen=!0,b._trigger("open"),b},_createButtons:function(b){var c=this,d=!1,e=a("<div></div>").addClass("ui-dialog-buttonpane ui-widget-content ui-helper-clearfix"),g=a("<div></div>").addClass("ui-dialog-buttonset").appendTo(e);c.uiDialog.find(".ui-dialog-buttonpane").remove(),typeof b=="object"&&b!==null&&a.each(b,function(){return!(d=!0)}),d&&(a.each(b,function(b,d){d=a.isFunction(d)?{click:d,text:b}:d;var e=a('<button type="button"></button>').click(function(){d.click.apply(c.element[0],arguments)}).appendTo(g);a.each(d,function(a,b){if(a==="click")return;a in f?e[a](b):e.attr(a,b)}),a.fn.button&&e.button()}),e.appendTo(c.uiDialog))},_makeDraggable:function(){function f(a){return{position:a.position,offset:a.offset}}var b=this,c=b.options,d=a(document),e;b.uiDialog.draggable({cancel:".ui-dialog-content, .ui-dialog-titlebar-close",handle:".ui-dialog-titlebar",containment:"document",start:function(d,g){e=c.height==="auto"?"auto":a(this).height(),a(this).height(a(this).height()).addClass("ui-dialog-dragging"),b._trigger("dragStart",d,f(g))},drag:function(a,c){b._trigger("drag",a,f(c))},stop:function(g,h){c.position=[h.position.left-d.scrollLeft(),h.position.top-d.scrollTop()],a(this).removeClass("ui-dialog-dragging").height(e),b._trigger("dragStop",g,f(h)),a.ui.dialog.overlay.resize()}})},_makeResizable:function(c){function h(a){return{originalPosition:a.originalPosition,originalSize:a.originalSize,position:a.position,size:a.size}}c=c===b?this.options.resizable:c;var d=this,e=d.options,f=d.uiDialog.css("position"),g=typeof c=="string"?c:"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:g,start:function(b,c){a(this).addClass("ui-dialog-resizing"),d._trigger("resizeStart",b,h(c))},resize:function(a,b){d._trigger("resize",a,h(b))},stop:function(b,c){a(this).removeClass("ui-dialog-resizing"),e.height=a(this).height(),e.width=a(this).width(),d._trigger("resizeStop",b,h(c)),a.ui.dialog.overlay.resize()}}).css("position",f).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(b){var c=[],d=[0,0],e;if(b){if(typeof b=="string"||typeof b=="object"&&"0"in b)c=b.split?b.split(" "):[b[0],b[1]],c.length===1&&(c[1]=c[0]),a.each(["left","top"],function(a,b){+c[a]===c[a]&&(d[a]=c[a],c[a]=b)}),b={my:c.join(" "),at:c.join(" "),offset:d.join(" ")};b=a.extend({},a.ui.dialog.prototype.options.position,b)}else b=a.ui.dialog.prototype.options.position;e=this.uiDialog.is(":visible"),e||this.uiDialog.show(),this.uiDialog.css({top:0,left:0}).position(a.extend({of:window},b)),e||this.uiDialog.hide()},_setOptions:function(b){var c=this,f={},g=!1;a.each(b,function(a,b){c._setOption(a,b),a in d&&(g=!0),a in e&&(f[a]=b)}),g&&this._size(),this.uiDialog.is(":data(resizable)")&&this.uiDialog.resizable("option",f)},_setOption:function(b,d){var e=this,f=e.uiDialog;switch(b){case"beforeclose":b="beforeClose";break;case"buttons":e._createButtons(d);break;case"closeText":e.uiDialogTitlebarCloseText.text(""+d);break;case"dialogClass":f.removeClass(e.options.dialogClass).addClass(c+d);break;case"disabled":d?f.addClass("ui-dialog-disabled"):f.removeClass("ui-dialog-disabled");break;case"draggable":var g=f.is(":data(draggable)");g&&!d&&f.draggable("destroy"),!g&&d&&e._makeDraggable();break;case"position":e._position(d);break;case"resizable":var h=f.is(":data(resizable)");h&&!d&&f.resizable("destroy"),h&&typeof d=="string"&&f.resizable("option","handles",d),!h&&d!==!1&&e._makeResizable(d);break;case"title":a(".ui-dialog-title",e.uiDialogTitlebar).html(""+(d||"&#160;"))}a.Widget.prototype._setOption.apply(e,arguments)},_size:function(){var b=this.options,c,d,e=this.uiDialog.is(":visible");this.element.show().css({width:"auto",minHeight:0,height:0}),b.minWidth>b.width&&(b.width=b.minWidth),c=this.uiDialog.css({height:"auto",width:b.width}).height(),d=Math.max(0,b.minHeight-c);if(b.height==="auto")if(a.support.minHeight)this.element.css({minHeight:d,height:"auto"});else{this.uiDialog.show();var f=this.element.css("height","auto").height();e||this.uiDialog.hide(),this.element.height(Math.max(f,d))}else this.element.height(Math.max(b.height-c,0));this.uiDialog.is(":data(resizable)")&&this.uiDialog.resizable("option","minHeight",this._minHeight())}}),a.extend(a.ui.dialog,{version:"1.8.22",uuid:0,maxZ:0,getTitleId:function(a){var b=a.attr("id");return b||(this.uuid+=1,b=this.uuid),"ui-dialog-title-"+b},overlay:function(b){this.$el=a.ui.dialog.overlay.create(b)}}),a.extend(a.ui.dialog.overlay,{instances:[],oldInstances:[],maxZ:0,events:a.map("focus,mousedown,mouseup,keydown,keypress,click".split(","),function(a){return a+".dialog-overlay"}).join(" "),create:function(b){this.instances.length===0&&(setTimeout(function(){a.ui.dialog.overlay.instances.length&&a(document).bind(a.ui.dialog.overlay.events,function(b){if(a(b.target).zIndex()<a.ui.dialog.overlay.maxZ)return!1})},1),a(document).bind("keydown.dialog-overlay",function(c){b.options.closeOnEscape&&!c.isDefaultPrevented()&&c.keyCode&&c.keyCode===a.ui.keyCode.ESCAPE&&(b.close(c),c.preventDefault())}),a(window).bind("resize.dialog-overlay",a.ui.dialog.overlay.resize));var c=(this.oldInstances.pop()||a("<div></div>").addClass("ui-widget-overlay")).appendTo(document.body).css({width:this.width(),height:this.height()});return a.fn.bgiframe&&c.bgiframe(),this.instances.push(c),c},destroy:function(b){var c=a.inArray(b,this.instances);c!=-1&&this.oldInstances.push(this.instances.splice(c,1)[0]),this.instances.length===0&&a([document,window]).unbind(".dialog-overlay"),b.remove();var d=0;a.each(this.instances,function(){d=Math.max(d,this.css("z-index"))}),this.maxZ=d},height:function(){var b,c;return a.browser.msie&&a.browser.version<7?(b=Math.max(document.documentElement.scrollHeight,document.body.scrollHeight),c=Math.max(document.documentElement.offsetHeight,document.body.offsetHeight),b<c?a(window).height()+"px":b+"px"):a(document).height()+"px"},width:function(){var b,c;return a.browser.msie?(b=Math.max(document.documentElement.scrollWidth,document.body.scrollWidth),c=Math.max(document.documentElement.offsetWidth,document.body.offsetWidth),b<c?a(window).width()+"px":b+"px"):a(document).width()+"px"},resize:function(){var b=a([]);a.each(a.ui.dialog.overlay.instances,function(){b=b.add(this)}),b.css({width:0,height:0}).css({width:a.ui.dialog.overlay.width(),height:a.ui.dialog.overlay.height()})}}),a.extend(a.ui.dialog.overlay.prototype,{destroy:function(){a.ui.dialog.overlay.destroy(this.$el)}})})(jQuery);;/*! jQuery UI - v1.8.22 - 2012-07-24
+(function(a,b){var c=0;a.widget("ui.autocomplete",{options:{appendTo:"body",autoFocus:!1,delay:300,minLength:1,position:{my:"left top",at:"left bottom",collision:"none"},source:null},pending:0,_create:function(){var b=this,c=this.element[0].ownerDocument,d;this.isMultiLine=this.element.is("textarea"),this.element.addClass("ui-autocomplete-input").attr("autocomplete","off").attr({role:"textbox","aria-autocomplete":"list","aria-haspopup":"true"}).bind("keydown.autocomplete",function(c){if(b.options.disabled||b.element.propAttr("readOnly"))return;d=!1;var e=a.ui.keyCode;switch(c.keyCode){case e.PAGE_UP:b._move("previousPage",c);break;case e.PAGE_DOWN:b._move("nextPage",c);break;case e.UP:b._keyEvent("previous",c);break;case e.DOWN:b._keyEvent("next",c);break;case e.ENTER:case e.NUMPAD_ENTER:b.menu.active&&(d=!0,c.preventDefault());case e.TAB:if(!b.menu.active)return;b.menu.select(c);break;case e.ESCAPE:b.element.val(b.term),b.close(c);break;default:clearTimeout(b.searching),b.searching=setTimeout(function(){b.term!=b.element.val()&&(b.selectedItem=null,b.search(null,c))},b.options.delay)}}).bind("keypress.autocomplete",function(a){d&&(d=!1,a.preventDefault())}).bind("focus.autocomplete",function(){if(b.options.disabled)return;b.selectedItem=null,b.previous=b.element.val()}).bind("blur.autocomplete",function(a){if(b.options.disabled)return;clearTimeout(b.searching),b.closing=setTimeout(function(){b.close(a),b._change(a)},150)}),this._initSource(),this.menu=a("<ul></ul>").addClass("ui-autocomplete").appendTo(a(this.options.appendTo||"body",c)[0]).mousedown(function(c){var d=b.menu.element[0];a(c.target).closest(".ui-menu-item").length||setTimeout(function(){a(document).one("mousedown",function(c){c.target!==b.element[0]&&c.target!==d&&!a.ui.contains(d,c.target)&&b.close()})},1),setTimeout(function(){clearTimeout(b.closing)},13)}).menu({focus:function(a,c){var d=c.item.data("item.autocomplete");!1!==b._trigger("focus",a,{item:d})&&/^key/.test(a.originalEvent.type)&&b.element.val(d.value)},selected:function(a,d){var e=d.item.data("item.autocomplete"),f=b.previous;b.element[0]!==c.activeElement&&(b.element.focus(),b.previous=f,setTimeout(function(){b.previous=f,b.selectedItem=e},1)),!1!==b._trigger("select",a,{item:e})&&b.element.val(e.value),b.term=b.element.val(),b.close(a),b.selectedItem=e},blur:function(a,c){b.menu.element.is(":visible")&&b.element.val()!==b.term&&b.element.val(b.term)}}).zIndex(this.element.zIndex()+1).css({top:0,left:0}).hide().data("menu"),a.fn.bgiframe&&this.menu.element.bgiframe(),b.beforeunloadHandler=function(){b.element.removeAttr("autocomplete")},a(window).bind("beforeunload",b.beforeunloadHandler)},destroy:function(){this.element.removeClass("ui-autocomplete-input").removeAttr("autocomplete").removeAttr("role").removeAttr("aria-autocomplete").removeAttr("aria-haspopup"),this.menu.element.remove(),a(window).unbind("beforeunload",this.beforeunloadHandler),a.Widget.prototype.destroy.call(this)},_setOption:function(b,c){a.Widget.prototype._setOption.apply(this,arguments),b==="source"&&this._initSource(),b==="appendTo"&&this.menu.element.appendTo(a(c||"body",this.element[0].ownerDocument)[0]),b==="disabled"&&c&&this.xhr&&this.xhr.abort()},_initSource:function(){var b=this,c,d;a.isArray(this.options.source)?(c=this.options.source,this.source=function(b,d){d(a.ui.autocomplete.filter(c,b.term))}):typeof this.options.source=="string"?(d=this.options.source,this.source=function(c,e){b.xhr&&b.xhr.abort(),b.xhr=a.ajax({url:d,data:c,dataType:"json",success:function(a,b){e(a)},error:function(){e([])}})}):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)===!1)return;return this._search(a)},_search:function(a){this.pending++,this.element.addClass("ui-autocomplete-loading"),this.source({term:a},this._response())},_response:function(){var a=this,b=++c;return function(d){b===c&&a.__response(d),a.pending--,a.pending||a.element.removeClass("ui-autocomplete-loading")}},__response:function(a){!this.options.disabled&&a&&a.length?(a=this._normalize(a),this._suggest(a),this._trigger("open")):this.close()},close:function(a){clearTimeout(this.closing),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(b){return b.length&&b[0].label&&b[0].value?b:a.map(b,function(b){return typeof b=="string"?{label:b,value:b}:a.extend({label:b.label||b.value,value:b.value||b.label},b)})},_suggest:function(b){var c=this.menu.element.empty().zIndex(this.element.zIndex()+1);this._renderMenu(c,b),this.menu.deactivate(),this.menu.refresh(),c.show(),this._resizeMenu(),c.position(a.extend({of:this.element},this.options.position)),this.options.autoFocus&&this.menu.next(new a.Event("mouseover"))},_resizeMenu:function(){var a=this.menu.element;a.outerWidth(Math.max(a.width("").outerWidth()+1,this.element.outerWidth()))},_renderMenu:function(b,c){var d=this;a.each(c,function(a,c){d._renderItem(b,c)})},_renderItem:function(b,c){return a("<li></li>").data("item.autocomplete",c).append(a("<a></a>").text(c.label)).appendTo(b)},_move:function(a,b){if(!this.menu.element.is(":visible")){this.search(null,b);return}if(this.menu.first()&&/^previous/.test(a)||this.menu.last()&&/^next/.test(a)){this.element.val(this.term),this.menu.deactivate();return}this.menu[a](b)},widget:function(){return this.menu.element},_keyEvent:function(a,b){if(!this.isMultiLine||this.menu.element.is(":visible"))this._move(a,b),b.preventDefault()}}),a.extend(a.ui.autocomplete,{escapeRegex:function(a){return a.replace(/[-[\]{}()*+?.,\\^$|#\s]/g,"\\$&")},filter:function(b,c){var d=new RegExp(a.ui.autocomplete.escapeRegex(c),"i");return a.grep(b,function(a){return d.test(a.label||a.value||a)})}})})(jQuery),function(a){a.widget("ui.menu",{_create:function(){var b=this;this.element.addClass("ui-menu ui-widget ui-widget-content ui-corner-all").attr({role:"listbox","aria-activedescendant":"ui-active-menuitem"}).click(function(c){if(!a(c.target).closest(".ui-menu-item a").length)return;c.preventDefault(),b.select(c)}),this.refresh()},refresh:function(){var b=this,c=this.element.children("li:not(.ui-menu-item):has(a)").addClass("ui-menu-item").attr("role","menuitem");c.children("a").addClass("ui-corner-all").attr("tabindex",-1).mouseenter(function(c){b.activate(c,a(this).parent())}).mouseleave(function(){b.deactivate()})},activate:function(a,b){this.deactivate();if(this.hasScroll()){var c=b.offset().top-this.element.offset().top,d=this.element.scrollTop(),e=this.element.height();c<0?this.element.scrollTop(d+c):c>=e&&this.element.scrollTop(d+c-e+b.height())}this.active=b.eq(0).children("a").addClass("ui-state-hover").attr("id","ui-active-menuitem").end(),this._trigger("focus",a,{item:b})},deactivate:function(){if(!this.active)return;this.active.children("a").removeClass("ui-state-hover").removeAttr("id"),this._trigger("blur"),this.active=null},next:function(a){this.move("next",".ui-menu-item:first",a)},previous:function(a){this.move("prev",".ui-menu-item:last",a)},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(a,b,c){if(!this.active){this.activate(c,this.element.children(b));return}var d=this.active[a+"All"](".ui-menu-item").eq(0);d.length?this.activate(c,d):this.activate(c,this.element.children(b))},nextPage:function(b){if(this.hasScroll()){if(!this.active||this.last()){this.activate(b,this.element.children(".ui-menu-item:first"));return}var c=this.active.offset().top,d=this.element.height(),e=this.element.children(".ui-menu-item").filter(function(){var b=a(this).offset().top-c-d+a(this).height();return b<10&&b>-10});e.length||(e=this.element.children(".ui-menu-item:last")),this.activate(b,e)}else this.activate(b,this.element.children(".ui-menu-item").filter(!this.active||this.last()?":first":":last"))},previousPage:function(b){if(this.hasScroll()){if(!this.active||this.first()){this.activate(b,this.element.children(".ui-menu-item:last"));return}var c=this.active.offset().top,d=this.element.height(),e=this.element.children(".ui-menu-item").filter(function(){var b=a(this).offset().top-c+d-a(this).height();return b<10&&b>-10});e.length||(e=this.element.children(".ui-menu-item:first")),this.activate(b,e)}else this.activate(b,this.element.children(".ui-menu-item").filter(!this.active||this.first()?":last":":first"))},hasScroll:function(){return this.element.height()<this.element[a.fn.prop?"prop":"attr"]("scrollHeight")},select:function(a){this._trigger("selected",a,{item:this.active})}})}(jQuery);;/*! jQuery UI - v1.8.23 - 2012-08-15
 * https://github.com/jquery/jquery-ui
 * Includes: jquery.ui.slider.js
 * Copyright (c) 2012 AUTHORS.txt; Licensed MIT, GPL */
-(function(a,b){var c=5;a.widget("ui.slider",a.ui.mouse,{widgetEventPrefix:"slide",options:{animate:!1,distance:0,max:100,min:0,orientation:"horizontal",range:!1,step:1,value:0,values:null},_create:function(){var b=this,d=this.options,e=this.element.find(".ui-slider-handle").addClass("ui-state-default ui-corner-all"),f="<a class='ui-slider-handle ui-state-default ui-corner-all' href='#'></a>",g=d.values&&d.values.length||1,h=[];this._keySliding=!1,this._mouseSliding=!1,this._animateOff=!0,this._handleIndex=null,this._detectOrientation(),this._mouseInit(),this.element.addClass("ui-slider ui-slider-"+this.orientation+" ui-widget"+" ui-widget-content"+" ui-corner-all"+(d.disabled?" ui-slider-disabled ui-disabled":"")),this.range=a([]),d.range&&(d.range===!0&&(d.values||(d.values=[this._valueMin(),this._valueMin()]),d.values.length&&d.values.length!==2&&(d.values=[d.values[0],d.values[0]])),this.range=a("<div></div>").appendTo(this.element).addClass("ui-slider-range ui-widget-header"+(d.range==="min"||d.range==="max"?" ui-slider-range-"+d.range:"")));for(var i=e.length;i<g;i+=1)h.push(f);this.handles=e.add(a(h.join("")).appendTo(b.element)),this.handle=this.handles.eq(0),this.handles.add(this.range).filter("a").click(function(a){a.preventDefault()}).hover(function(){d.disabled||a(this).addClass("ui-state-hover")},function(){a(this).removeClass("ui-state-hover")}).focus(function(){d.disabled?a(this).blur():(a(".ui-slider .ui-state-focus").removeClass("ui-state-focus"),a(this).addClass("ui-state-focus"))}).blur(function(){a(this).removeClass("ui-state-focus")}),this.handles.each(function(b){a(this).data("index.ui-slider-handle",b)}),this.handles.keydown(function(d){var e=a(this).data("index.ui-slider-handle"),f,g,h,i;if(b.options.disabled)return;switch(d.keyCode){case a.ui.keyCode.HOME:case a.ui.keyCode.END:case a.ui.keyCode.PAGE_UP:case a.ui.keyCode.PAGE_DOWN:case a.ui.keyCode.UP:case a.ui.keyCode.RIGHT:case a.ui.keyCode.DOWN:case a.ui.keyCode.LEFT:d.preventDefault();if(!b._keySliding){b._keySliding=!0,a(this).addClass("ui-state-active"),f=b._start(d,e);if(f===!1)return}}i=b.options.step,b.options.values&&b.options.values.length?g=h=b.values(e):g=h=b.value();switch(d.keyCode){case a.ui.keyCode.HOME:h=b._valueMin();break;case a.ui.keyCode.END:h=b._valueMax();break;case a.ui.keyCode.PAGE_UP:h=b._trimAlignValue(g+(b._valueMax()-b._valueMin())/c);break;case a.ui.keyCode.PAGE_DOWN:h=b._trimAlignValue(g-(b._valueMax()-b._valueMin())/c);break;case a.ui.keyCode.UP:case a.ui.keyCode.RIGHT:if(g===b._valueMax())return;h=b._trimAlignValue(g+i);break;case a.ui.keyCode.DOWN:case a.ui.keyCode.LEFT:if(g===b._valueMin())return;h=b._trimAlignValue(g-i)}b._slide(d,e,h)}).keyup(function(c){var d=a(this).data("index.ui-slider-handle");b._keySliding&&(b._keySliding=!1,b._stop(c,d),b._change(c,d),a(this).removeClass("ui-state-active"))}),this._refreshValue(),this._animateOff=!1},destroy:function(){return 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(),this},_mouseCapture:function(b){var c=this.options,d,e,f,g,h,i,j,k,l;return c.disabled?!1:(this.elementSize={width:this.element.outerWidth(),height:this.element.outerHeight()},this.elementOffset=this.element.offset(),d={x:b.pageX,y:b.pageY},e=this._normValueFromMouse(d),f=this._valueMax()-this._valueMin()+1,h=this,this.handles.each(function(b){var c=Math.abs(e-h.values(b));f>c&&(f=c,g=a(this),i=b)}),c.range===!0&&this.values(1)===c.min&&(i+=1,g=a(this.handles[i])),j=this._start(b,i),j===!1?!1:(this._mouseSliding=!0,h._handleIndex=i,g.addClass("ui-state-active").focus(),k=g.offset(),l=!a(b.target).parents().andSelf().is(".ui-slider-handle"),this._clickOffset=l?{left:0,top:0}:{left:b.pageX-k.left-g.width()/2,top:b.pageY-k.top-g.height()/2-(parseInt(g.css("borderTopWidth"),10)||0)-(parseInt(g.css("borderBottomWidth"),10)||0)+(parseInt(g.css("marginTop"),10)||0)},this.handles.hasClass("ui-state-hover")||this._slide(b,i,e),this._animateOff=!0,!0))},_mouseStart:function(a){return!0},_mouseDrag:function(a){var b={x:a.pageX,y:a.pageY},c=this._normValueFromMouse(b);return this._slide(a,this._handleIndex,c),!1},_mouseStop:function(a){return this.handles.removeClass("ui-state-active"),this._mouseSliding=!1,this._stop(a,this._handleIndex),this._change(a,this._handleIndex),this._handleIndex=null,this._clickOffset=null,this._animateOff=!1,!1},_detectOrientation:function(){this.orientation=this.options.orientation==="vertical"?"vertical":"horizontal"},_normValueFromMouse:function(a){var b,c,d,e,f;return this.orientation==="horizontal"?(b=this.elementSize.width,c=a.x-this.elementOffset.left-(this._clickOffset?this._clickOffset.left:0)):(b=this.elementSize.height,c=a.y-this.elementOffset.top-(this._clickOffset?this._clickOffset.top:0)),d=c/b,d>1&&(d=1),d<0&&(d=0),this.orientation==="vertical"&&(d=1-d),e=this._valueMax()-this._valueMin(),f=this._valueMin()+d*e,this._trimAlignValue(f)},_start:function(a,b){var c={handle:this.handles[b],value:this.value()};return this.options.values&&this.options.values.length&&(c.value=this.values(b),c.values=this.values()),this._trigger("start",a,c)},_slide:function(a,b,c){var d,e,f;this.options.values&&this.options.values.length?(d=this.values(b?0:1),this.options.values.length===2&&this.options.range===!0&&(b===0&&c>d||b===1&&c<d)&&(c=d),c!==this.values(b)&&(e=this.values(),e[b]=c,f=this._trigger("slide",a,{handle:this.handles[b],value:c,values:e}),d=this.values(b?0:1),f!==!1&&this.values(b,c,!0))):c!==this.value()&&(f=this._trigger("slide",a,{handle:this.handles[b],value:c}),f!==!1&&this.value(c))},_stop:function(a,b){var c={handle:this.handles[b],value:this.value()};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()};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);return}return this._value()},values:function(b,c){var d,e,f;if(arguments.length>1){this.options.values[b]=this._trimAlignValue(c),this._refreshValue(),this._change(null,b);return}if(!arguments.length)return this._values();if(!a.isArray(arguments[0]))return this.options.values&&this.options.values.length?this._values(b):this.value();d=this.options.values,e=arguments[0];for(f=0;f<d.length;f+=1)d[f]=this._trimAlignValue(e[f]),this._change(null,f);this._refreshValue()},_setOption:function(b,c){var d,e=0;a.isArray(this.options.values)&&(e=this.options.values.length),a.Widget.prototype._setOption.apply(this,arguments);switch(b){case"disabled":c?(this.handles.filter(".ui-state-focus").blur(),this.handles.removeClass("ui-state-hover"),this.handles.propAttr("disabled",!0),this.element.addClass("ui-disabled")):(this.handles.propAttr("disabled",!1),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=!0,this._refreshValue(),this._change(null,0),this._animateOff=!1;break;case"values":this._animateOff=!0,this._refreshValue();for(d=0;d<e;d+=1)this._change(null,d);this._animateOff=!1}},_value:function(){var a=this.options.value;return a=this._trimAlignValue(a),a},_values:function(a){var b,c,d;if(arguments.length)return b=this.options.values[a],b=this._trimAlignValue(b),b;c=this.options.values.slice();for(d=0;d<c.length;d+=1)c[d]=this._trimAlignValue(c[d]);return c},_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,d=a-c;return Math.abs(c)*2>=b&&(d+=c>0?b:-b),parseFloat(d.toFixed(5))},_valueMin:function(){return this.options.min},_valueMax:function(){return this.options.max},_refreshValue:function(){var b=this.options.range,c=this.options,d=this,e=this._animateOff?!1:c.animate,f,g={},h,i,j,k;this.options.values&&this.options.values.length?this.handles.each(function(b,i){f=(d.values(b)-d._valueMin())/(d._valueMax()-d._valueMin())*100,g[d.orientation==="horizontal"?"left":"bottom"]=f+"%",a(this).stop(1,1)[e?"animate":"css"](g,c.animate),d.options.range===!0&&(d.orientation==="horizontal"?(b===0&&d.range.stop(1,1)[e?"animate":"css"]({left:f+"%"},c.animate),b===1&&d.range[e?"animate":"css"]({width:f-h+"%"},{queue:!1,duration:c.animate})):(b===0&&d.range.stop(1,1)[e?"animate":"css"]({bottom:f+"%"},c.animate),b===1&&d.range[e?"animate":"css"]({height:f-h+"%"},{queue:!1,duration:c.animate}))),h=f}):(i=this.value(),j=this._valueMin(),k=this._valueMax(),f=k!==j?(i-j)/(k-j)*100:0,g[d.orientation==="horizontal"?"left":"bottom"]=f+"%",this.handle.stop(1,1)[e?"animate":"css"](g,c.animate),b==="min"&&this.orientation==="horizontal"&&this.range.stop(1,1)[e?"animate":"css"]({width:f+"%"},c.animate),b==="max"&&this.orientation==="horizontal"&&this.range[e?"animate":"css"]({width:100-f+"%"},{queue:!1,duration:c.animate}),b==="min"&&this.orientation==="vertical"&&this.range.stop(1,1)[e?"animate":"css"]({height:f+"%"},c.animate),b==="max"&&this.orientation==="vertical"&&this.range[e?"animate":"css"]({height:100-f+"%"},{queue:!1,duration:c.animate}))}}),a.extend(a.ui.slider,{version:"1.8.22"})})(jQuery);;/*! jQuery UI - v1.8.22 - 2012-07-24
+(function(a,b){var c=5;a.widget("ui.slider",a.ui.mouse,{widgetEventPrefix:"slide",options:{animate:!1,distance:0,max:100,min:0,orientation:"horizontal",range:!1,step:1,value:0,values:null},_create:function(){var b=this,d=this.options,e=this.element.find(".ui-slider-handle").addClass("ui-state-default ui-corner-all"),f="<a class='ui-slider-handle ui-state-default ui-corner-all' href='#'></a>",g=d.values&&d.values.length||1,h=[];this._keySliding=!1,this._mouseSliding=!1,this._animateOff=!0,this._handleIndex=null,this._detectOrientation(),this._mouseInit(),this.element.addClass("ui-slider ui-slider-"+this.orientation+" ui-widget"+" ui-widget-content"+" ui-corner-all"+(d.disabled?" ui-slider-disabled ui-disabled":"")),this.range=a([]),d.range&&(d.range===!0&&(d.values||(d.values=[this._valueMin(),this._valueMin()]),d.values.length&&d.values.length!==2&&(d.values=[d.values[0],d.values[0]])),this.range=a("<div></div>").appendTo(this.element).addClass("ui-slider-range ui-widget-header"+(d.range==="min"||d.range==="max"?" ui-slider-range-"+d.range:"")));for(var i=e.length;i<g;i+=1)h.push(f);this.handles=e.add(a(h.join("")).appendTo(b.element)),this.handle=this.handles.eq(0),this.handles.add(this.range).filter("a").click(function(a){a.preventDefault()}).hover(function(){d.disabled||a(this).addClass("ui-state-hover")},function(){a(this).removeClass("ui-state-hover")}).focus(function(){d.disabled?a(this).blur():(a(".ui-slider .ui-state-focus").removeClass("ui-state-focus"),a(this).addClass("ui-state-focus"))}).blur(function(){a(this).removeClass("ui-state-focus")}),this.handles.each(function(b){a(this).data("index.ui-slider-handle",b)}),this.handles.keydown(function(d){var e=a(this).data("index.ui-slider-handle"),f,g,h,i;if(b.options.disabled)return;switch(d.keyCode){case a.ui.keyCode.HOME:case a.ui.keyCode.END:case a.ui.keyCode.PAGE_UP:case a.ui.keyCode.PAGE_DOWN:case a.ui.keyCode.UP:case a.ui.keyCode.RIGHT:case a.ui.keyCode.DOWN:case a.ui.keyCode.LEFT:d.preventDefault();if(!b._keySliding){b._keySliding=!0,a(this).addClass("ui-state-active"),f=b._start(d,e);if(f===!1)return}}i=b.options.step,b.options.values&&b.options.values.length?g=h=b.values(e):g=h=b.value();switch(d.keyCode){case a.ui.keyCode.HOME:h=b._valueMin();break;case a.ui.keyCode.END:h=b._valueMax();break;case a.ui.keyCode.PAGE_UP:h=b._trimAlignValue(g+(b._valueMax()-b._valueMin())/c);break;case a.ui.keyCode.PAGE_DOWN:h=b._trimAlignValue(g-(b._valueMax()-b._valueMin())/c);break;case a.ui.keyCode.UP:case a.ui.keyCode.RIGHT:if(g===b._valueMax())return;h=b._trimAlignValue(g+i);break;case a.ui.keyCode.DOWN:case a.ui.keyCode.LEFT:if(g===b._valueMin())return;h=b._trimAlignValue(g-i)}b._slide(d,e,h)}).keyup(function(c){var d=a(this).data("index.ui-slider-handle");b._keySliding&&(b._keySliding=!1,b._stop(c,d),b._change(c,d),a(this).removeClass("ui-state-active"))}),this._refreshValue(),this._animateOff=!1},destroy:function(){return 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(),this},_mouseCapture:function(b){var c=this.options,d,e,f,g,h,i,j,k,l;return c.disabled?!1:(this.elementSize={width:this.element.outerWidth(),height:this.element.outerHeight()},this.elementOffset=this.element.offset(),d={x:b.pageX,y:b.pageY},e=this._normValueFromMouse(d),f=this._valueMax()-this._valueMin()+1,h=this,this.handles.each(function(b){var c=Math.abs(e-h.values(b));f>c&&(f=c,g=a(this),i=b)}),c.range===!0&&this.values(1)===c.min&&(i+=1,g=a(this.handles[i])),j=this._start(b,i),j===!1?!1:(this._mouseSliding=!0,h._handleIndex=i,g.addClass("ui-state-active").focus(),k=g.offset(),l=!a(b.target).parents().andSelf().is(".ui-slider-handle"),this._clickOffset=l?{left:0,top:0}:{left:b.pageX-k.left-g.width()/2,top:b.pageY-k.top-g.height()/2-(parseInt(g.css("borderTopWidth"),10)||0)-(parseInt(g.css("borderBottomWidth"),10)||0)+(parseInt(g.css("marginTop"),10)||0)},this.handles.hasClass("ui-state-hover")||this._slide(b,i,e),this._animateOff=!0,!0))},_mouseStart:function(a){return!0},_mouseDrag:function(a){var b={x:a.pageX,y:a.pageY},c=this._normValueFromMouse(b);return this._slide(a,this._handleIndex,c),!1},_mouseStop:function(a){return this.handles.removeClass("ui-state-active"),this._mouseSliding=!1,this._stop(a,this._handleIndex),this._change(a,this._handleIndex),this._handleIndex=null,this._clickOffset=null,this._animateOff=!1,!1},_detectOrientation:function(){this.orientation=this.options.orientation==="vertical"?"vertical":"horizontal"},_normValueFromMouse:function(a){var b,c,d,e,f;return this.orientation==="horizontal"?(b=this.elementSize.width,c=a.x-this.elementOffset.left-(this._clickOffset?this._clickOffset.left:0)):(b=this.elementSize.height,c=a.y-this.elementOffset.top-(this._clickOffset?this._clickOffset.top:0)),d=c/b,d>1&&(d=1),d<0&&(d=0),this.orientation==="vertical"&&(d=1-d),e=this._valueMax()-this._valueMin(),f=this._valueMin()+d*e,this._trimAlignValue(f)},_start:function(a,b){var c={handle:this.handles[b],value:this.value()};return this.options.values&&this.options.values.length&&(c.value=this.values(b),c.values=this.values()),this._trigger("start",a,c)},_slide:function(a,b,c){var d,e,f;this.options.values&&this.options.values.length?(d=this.values(b?0:1),this.options.values.length===2&&this.options.range===!0&&(b===0&&c>d||b===1&&c<d)&&(c=d),c!==this.values(b)&&(e=this.values(),e[b]=c,f=this._trigger("slide",a,{handle:this.handles[b],value:c,values:e}),d=this.values(b?0:1),f!==!1&&this.values(b,c,!0))):c!==this.value()&&(f=this._trigger("slide",a,{handle:this.handles[b],value:c}),f!==!1&&this.value(c))},_stop:function(a,b){var c={handle:this.handles[b],value:this.value()};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()};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);return}return this._value()},values:function(b,c){var d,e,f;if(arguments.length>1){this.options.values[b]=this._trimAlignValue(c),this._refreshValue(),this._change(null,b);return}if(!arguments.length)return this._values();if(!a.isArray(arguments[0]))return this.options.values&&this.options.values.length?this._values(b):this.value();d=this.options.values,e=arguments[0];for(f=0;f<d.length;f+=1)d[f]=this._trimAlignValue(e[f]),this._change(null,f);this._refreshValue()},_setOption:function(b,c){var d,e=0;a.isArray(this.options.values)&&(e=this.options.values.length),a.Widget.prototype._setOption.apply(this,arguments);switch(b){case"disabled":c?(this.handles.filter(".ui-state-focus").blur(),this.handles.removeClass("ui-state-hover"),this.handles.propAttr("disabled",!0),this.element.addClass("ui-disabled")):(this.handles.propAttr("disabled",!1),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=!0,this._refreshValue(),this._change(null,0),this._animateOff=!1;break;case"values":this._animateOff=!0,this._refreshValue();for(d=0;d<e;d+=1)this._change(null,d);this._animateOff=!1}},_value:function(){var a=this.options.value;return a=this._trimAlignValue(a),a},_values:function(a){var b,c,d;if(arguments.length)return b=this.options.values[a],b=this._trimAlignValue(b),b;c=this.options.values.slice();for(d=0;d<c.length;d+=1)c[d]=this._trimAlignValue(c[d]);return c},_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,d=a-c;return Math.abs(c)*2>=b&&(d+=c>0?b:-b),parseFloat(d.toFixed(5))},_valueMin:function(){return this.options.min},_valueMax:function(){return this.options.max},_refreshValue:function(){var b=this.options.range,c=this.options,d=this,e=this._animateOff?!1:c.animate,f,g={},h,i,j,k;this.options.values&&this.options.values.length?this.handles.each(function(b,i){f=(d.values(b)-d._valueMin())/(d._valueMax()-d._valueMin())*100,g[d.orientation==="horizontal"?"left":"bottom"]=f+"%",a(this).stop(1,1)[e?"animate":"css"](g,c.animate),d.options.range===!0&&(d.orientation==="horizontal"?(b===0&&d.range.stop(1,1)[e?"animate":"css"]({left:f+"%"},c.animate),b===1&&d.range[e?"animate":"css"]({width:f-h+"%"},{queue:!1,duration:c.animate})):(b===0&&d.range.stop(1,1)[e?"animate":"css"]({bottom:f+"%"},c.animate),b===1&&d.range[e?"animate":"css"]({height:f-h+"%"},{queue:!1,duration:c.animate}))),h=f}):(i=this.value(),j=this._valueMin(),k=this._valueMax(),f=k!==j?(i-j)/(k-j)*100:0,g[d.orientation==="horizontal"?"left":"bottom"]=f+"%",this.handle.stop(1,1)[e?"animate":"css"](g,c.animate),b==="min"&&this.orientation==="horizontal"&&this.range.stop(1,1)[e?"animate":"css"]({width:f+"%"},c.animate),b==="max"&&this.orientation==="horizontal"&&this.range[e?"animate":"css"]({width:100-f+"%"},{queue:!1,duration:c.animate}),b==="min"&&this.orientation==="vertical"&&this.range.stop(1,1)[e?"animate":"css"]({height:f+"%"},c.animate),b==="max"&&this.orientation==="vertical"&&this.range[e?"animate":"css"]({height:100-f+"%"},{queue:!1,duration:c.animate}))}}),a.extend(a.ui.slider,{version:"1.8.23"})})(jQuery);;/*! jQuery UI - v1.8.23 - 2012-08-15
 * https://github.com/jquery/jquery-ui
 * Includes: jquery.ui.tabs.js
 * Copyright (c) 2012 AUTHORS.txt; Licensed MIT, GPL */
-(function(a,b){function e(){return++c}function f(){return++d}var c=0,d=0;a.widget("ui.tabs",{options:{add:null,ajaxOptions:null,cache:!1,cookie:null,collapsible:!1,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&#8230;</em>",tabTemplate:"<li><a href='#{href}'><span>#{label}</span></a></li>"},_create:function(){this._tabify(!0)},_setOption:function(a,b){if(a=="selected"){if(this.options.collapsible&&b==this.options.selected)return;this.select(b)}else this.options[a]=b,this._tabify()},_tabId:function(a){return a.title&&a.title.replace(/\s/g,"_").replace(/[^\w\u00c0-\uFFFF-]/g,"")||this.options.idPrefix+e()},_sanitizeSelector:function(a){return a.replace(/:/g,"\\:")},_cookie:function(){var b=this.cookie||(this.cookie=this.options.cookie.name||"ui-tabs-"+f());return a.cookie.apply(null,[b].concat(a.makeArray(arguments)))},_ui:function(a,b){return{tab:a,panel:b,index:this.anchors.index(a)}},_cleanup:function(){this.lis.filter(".ui-state-processing").removeClass("ui-state-processing").find("span:data(label.tabs)").each(function(){var b=a(this);b.html(b.data("label.tabs")).removeData("label.tabs")})},_tabify:function(c){function m(b,c){b.css("display",""),!a.support.opacity&&c.opacity&&b[0].style.removeAttribute("filter")}var d=this,e=this.options,f=/^#.+/;this.list=this.element.find("ol,ul").eq(0),this.lis=a(" > li:has(a[href])",this.list),this.anchors=this.lis.map(function(){return a("a",this)[0]}),this.panels=a([]),this.anchors.each(function(b,c){var g=a(c).attr("href"),h=g.split("#")[0],i;h&&(h===location.toString().split("#")[0]||(i=a("base")[0])&&h===i.href)&&(g=c.hash,c.href=g);if(f.test(g))d.panels=d.panels.add(d.element.find(d._sanitizeSelector(g)));else if(g&&g!=="#"){a.data(c,"href.tabs",g),a.data(c,"load.tabs",g.replace(/#.*$/,""));var j=d._tabId(c);c.href="#"+j;var k=d.element.find("#"+j);k.length||(k=a(e.panelTemplate).attr("id",j).addClass("ui-tabs-panel ui-widget-content ui-corner-bottom").insertAfter(d.panels[b-1]||d.list),k.data("destroy.tabs",!0)),d.panels=d.panels.add(k)}else e.disabled.push(b)}),c?(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"),e.selected===b?(location.hash&&this.anchors.each(function(a,b){if(b.hash==location.hash)return e.selected=a,!1}),typeof e.selected!="number"&&e.cookie&&(e.selected=parseInt(d._cookie(),10)),typeof e.selected!="number"&&this.lis.filter(".ui-tabs-selected").length&&(e.selected=this.lis.index(this.lis.filter(".ui-tabs-selected"))),e.selected=e.selected||(this.lis.length?0:-1)):e.selected===null&&(e.selected=-1),e.selected=e.selected>=0&&this.anchors[e.selected]||e.selected<0?e.selected:0,e.disabled=a.unique(e.disabled.concat(a.map(this.lis.filter(".ui-state-disabled"),function(a,b){return d.lis.index(a)}))).sort(),a.inArray(e.selected,e.disabled)!=-1&&e.disabled.splice(a.inArray(e.selected,e.disabled),1),this.panels.addClass("ui-tabs-hide"),this.lis.removeClass("ui-tabs-selected ui-state-active"),e.selected>=0&&this.anchors.length&&(d.element.find(d._sanitizeSelector(d.anchors[e.selected].hash)).removeClass("ui-tabs-hide"),this.lis.eq(e.selected).addClass("ui-tabs-selected ui-state-active"),d.element.queue("tabs",function(){d._trigger("show",null,d._ui(d.anchors[e.selected],d.element.find(d._sanitizeSelector(d.anchors[e.selected].hash))[0]))}),this.load(e.selected)),a(window).bind("unload",function(){d.lis.add(d.anchors).unbind(".tabs"),d.lis=d.anchors=d.panels=null})):e.selected=this.lis.index(this.lis.filter(".ui-tabs-selected")),this.element[e.collapsible?"addClass":"removeClass"]("ui-tabs-collapsible"),e.cookie&&this._cookie(e.selected,e.cookie);for(var g=0,h;h=this.lis[g];g++)a(h)[a.inArray(g,e.disabled)!=-1&&!a(h).hasClass("ui-tabs-selected")?"addClass":"removeClass"]("ui-state-disabled");e.cache===!1&&this.anchors.removeData("cache.tabs"),this.lis.add(this.anchors).unbind(".tabs");if(e.event!=="mouseover"){var i=function(a,b){b.is(":not(.ui-state-disabled)")&&b.addClass("ui-state-"+a)},j=function(a,b){b.removeClass("ui-state-"+a)};this.lis.bind("mouseover.tabs",function(){i("hover",a(this))}),this.lis.bind("mouseout.tabs",function(){j("hover",a(this))}),this.anchors.bind("focus.tabs",function(){i("focus",a(this).closest("li"))}),this.anchors.bind("blur.tabs",function(){j("focus",a(this).closest("li"))})}var k,l;e.fx&&(a.isArray(e.fx)?(k=e.fx[0],l=e.fx[1]):k=l=e.fx);var n=l?function(b,c){a(b).closest("li").addClass("ui-tabs-selected ui-state-active"),c.hide().removeClass("ui-tabs-hide").animate(l,l.duration||"normal",function(){m(c,l),d._trigger("show",null,d._ui(b,c[0]))})}:function(b,c){a(b).closest("li").addClass("ui-tabs-selected ui-state-active"),c.removeClass("ui-tabs-hide"),d._trigger("show",null,d._ui(b,c[0]))},o=k?function(a,b){b.animate(k,k.duration||"normal",function(){d.lis.removeClass("ui-tabs-selected ui-state-active"),b.addClass("ui-tabs-hide"),m(b,k),d.element.dequeue("tabs")})}:function(a,b,c){d.lis.removeClass("ui-tabs-selected ui-state-active"),b.addClass("ui-tabs-hide"),d.element.dequeue("tabs")};this.anchors.bind(e.event+".tabs",function(){var b=this,c=a(b).closest("li"),f=d.panels.filter(":not(.ui-tabs-hide)"),g=d.element.find(d._sanitizeSelector(b.hash));if(c.hasClass("ui-tabs-selected")&&!e.collapsible||c.hasClass("ui-state-disabled")||c.hasClass("ui-state-processing")||d.panels.filter(":animated").length||d._trigger("select",null,d._ui(this,g[0]))===!1)return this.blur(),!1;e.selected=d.anchors.index(this),d.abort();if(e.collapsible){if(c.hasClass("ui-tabs-selected"))return e.selected=-1,e.cookie&&d._cookie(e.selected,e.cookie),d.element.queue("tabs",function(){o(b,f)}).dequeue("tabs"),this.blur(),!1;if(!f.length)return e.cookie&&d._cookie(e.selected,e.cookie),d.element.queue("tabs",function(){n(b,g)}),d.load(d.anchors.index(this)),this.blur(),!1}e.cookie&&d._cookie(e.selected,e.cookie);if(g.length)f.length&&d.element.queue("tabs",function(){o(b,f)}),d.element.queue("tabs",function(){n(b,g)}),d.load(d.anchors.index(this));else throw"jQuery UI Tabs: Mismatching fragment identifier.";a.browser.msie&&this.blur()}),this.anchors.bind("click.tabs",function(){return!1})},_getIndex:function(a){return typeof a=="string"&&(a=this.anchors.index(this.anchors.filter("[href$='"+a+"']"))),a},destroy:function(){var b=this.options;return 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 b=a.data(this,"href.tabs");b&&(this.href=b);var c=a(this).unbind(".tabs");a.each(["href","load","cache"],function(a,b){c.removeData(b+".tabs")})}),this.lis.unbind(".tabs").add(this.panels).each(function(){a.data(this,"destroy.tabs")?a(this).remove():a(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"].join(" "))}),b.cookie&&this._cookie(null,b.cookie),this},add:function(c,d,e){e===b&&(e=this.anchors.length);var f=this,g=this.options,h=a(g.tabTemplate.replace(/#\{href\}/g,c).replace(/#\{label\}/g,d)),i=c.indexOf("#")?this._tabId(a("a",h)[0]):c.replace("#","");h.addClass("ui-state-default ui-corner-top").data("destroy.tabs",!0);var j=f.element.find("#"+i);return j.length||(j=a(g.panelTemplate).attr("id",i).data("destroy.tabs",!0)),j.addClass("ui-tabs-panel ui-widget-content ui-corner-bottom ui-tabs-hide"),e>=this.lis.length?(h.appendTo(this.list),j.appendTo(this.list[0].parentNode)):(h.insertBefore(this.lis[e]),j.insertBefore(this.panels[e])),g.disabled=a.map(g.disabled,function(a,b){return a>=e?++a:a}),this._tabify(),this.anchors.length==1&&(g.selected=0,h.addClass("ui-tabs-selected ui-state-active"),j.removeClass("ui-tabs-hide"),this.element.queue("tabs",function(){f._trigger("show",null,f._ui(f.anchors[0],f.panels[0]))}),this.load(0)),this._trigger("add",null,this._ui(this.anchors[e],this.panels[e])),this},remove:function(b){b=this._getIndex(b);var c=this.options,d=this.lis.eq(b).remove(),e=this.panels.eq(b).remove();return d.hasClass("ui-tabs-selected")&&this.anchors.length>1&&this.select(b+(b+1<this.anchors.length?1:-1)),c.disabled=a.map(a.grep(c.disabled,function(a,c){return a!=b}),function(a,c){return a>=b?--a:a}),this._tabify(),this._trigger("remove",null,this._ui(d.find("a")[0],e[0])),this},enable:function(b){b=this._getIndex(b);var c=this.options;if(a.inArray(b,c.disabled)==-1)return;return this.lis.eq(b).removeClass("ui-state-disabled"),c.disabled=a.grep(c.disabled,function(a,c){return a!=b}),this._trigger("enable",null,this._ui(this.anchors[b],this.panels[b])),this},disable:function(a){a=this._getIndex(a);var b=this,c=this.options;return a!=c.selected&&(this.lis.eq(a).addClass("ui-state-disabled"),c.disabled.push(a),c.disabled.sort(),this._trigger("disable",null,this._ui(this.anchors[a],this.panels[a]))),this},select:function(a){a=this._getIndex(a);if(a==-1)if(this.options.collapsible&&this.options.selected!=-1)a=this.options.selected;else return this;return this.anchors.eq(a).trigger(this.options.event+".tabs"),this},load:function(b){b=this._getIndex(b);var c=this,d=this.options,e=this.anchors.eq(b)[0],f=a.data(e,"load.tabs");this.abort();if(!f||this.element.queue("tabs").length!==0&&a.data(e,"cache.tabs")){this.element.dequeue("tabs");return}this.lis.eq(b).addClass("ui-state-processing");if(d.spinner){var g=a("span",e);g.data("label.tabs",g.html()).html(d.spinner)}return this.xhr=a.ajax(a.extend({},d.ajaxOptions,{url:f,success:function(f,g){c.element.find(c._sanitizeSelector(e.hash)).html(f),c._cleanup(),d.cache&&a.data(e,"cache.tabs",!0),c._trigger("load",null,c._ui(c.anchors[b],c.panels[b]));try{d.ajaxOptions.success(f,g)}catch(h){}},error:function(a,f,g){c._cleanup(),c._trigger("load",null,c._ui(c.anchors[b],c.panels[b]));try{d.ajaxOptions.error(a,f,b,e)}catch(g){}}})),c.element.dequeue("tabs"),this},abort:function(){return this.element.queue([]),this.panels.stop(!1,!0),this.element.queue("tabs",this.element.queue("tabs").splice(-2,2)),this.xhr&&(this.xhr.abort(),delete this.xhr),this._cleanup(),this},url:function(a,b){return this.anchors.eq(a).removeData("cache.tabs").data("load.tabs",b),this},length:function(){return this.anchors.length}}),a.extend(a.ui.tabs,{version:"1.8.22"}),a.extend(a.ui.tabs.prototype,{rotation:null,rotate:function(a,b){var c=this,d=this.options,e=c._rotate||(c._rotate=function(b){clearTimeout(c.rotation),c.rotation=setTimeout(function(){var a=d.selected;c.select(++a<c.anchors.length?a:0)},a),b&&b.stopPropagation()}),f=c._unrotate||(c._unrotate=b?function(a){e()}:function(a){a.clientX&&c.rotate(null)});return a?(this.element.bind("tabsshow",e),this.anchors.bind(d.event+".tabs",f),e()):(clearTimeout(c.rotation),this.element.unbind("tabsshow",e),this.anchors.unbind(d.event+".tabs",f),delete this._rotate,delete this._unrotate),this}})})(jQuery);;/*! jQuery UI - v1.8.22 - 2012-07-24
+(function(a,b){function e(){return++c}function f(){return++d}var c=0,d=0;a.widget("ui.tabs",{options:{add:null,ajaxOptions:null,cache:!1,cookie:null,collapsible:!1,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&#8230;</em>",tabTemplate:"<li><a href='#{href}'><span>#{label}</span></a></li>"},_create:function(){this._tabify(!0)},_setOption:function(a,b){if(a=="selected"){if(this.options.collapsible&&b==this.options.selected)return;this.select(b)}else this.options[a]=b,this._tabify()},_tabId:function(a){return a.title&&a.title.replace(/\s/g,"_").replace(/[^\w\u00c0-\uFFFF-]/g,"")||this.options.idPrefix+e()},_sanitizeSelector:function(a){return a.replace(/:/g,"\\:")},_cookie:function(){var b=this.cookie||(this.cookie=this.options.cookie.name||"ui-tabs-"+f());return a.cookie.apply(null,[b].concat(a.makeArray(arguments)))},_ui:function(a,b){return{tab:a,panel:b,index:this.anchors.index(a)}},_cleanup:function(){this.lis.filter(".ui-state-processing").removeClass("ui-state-processing").find("span:data(label.tabs)").each(function(){var b=a(this);b.html(b.data("label.tabs")).removeData("label.tabs")})},_tabify:function(c){function m(b,c){b.css("display",""),!a.support.opacity&&c.opacity&&b[0].style.removeAttribute("filter")}var d=this,e=this.options,f=/^#.+/;this.list=this.element.find("ol,ul").eq(0),this.lis=a(" > li:has(a[href])",this.list),this.anchors=this.lis.map(function(){return a("a",this)[0]}),this.panels=a([]),this.anchors.each(function(b,c){var g=a(c).attr("href"),h=g.split("#")[0],i;h&&(h===location.toString().split("#")[0]||(i=a("base")[0])&&h===i.href)&&(g=c.hash,c.href=g);if(f.test(g))d.panels=d.panels.add(d.element.find(d._sanitizeSelector(g)));else if(g&&g!=="#"){a.data(c,"href.tabs",g),a.data(c,"load.tabs",g.replace(/#.*$/,""));var j=d._tabId(c);c.href="#"+j;var k=d.element.find("#"+j);k.length||(k=a(e.panelTemplate).attr("id",j).addClass("ui-tabs-panel ui-widget-content ui-corner-bottom").insertAfter(d.panels[b-1]||d.list),k.data("destroy.tabs",!0)),d.panels=d.panels.add(k)}else e.disabled.push(b)}),c?(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"),e.selected===b?(location.hash&&this.anchors.each(function(a,b){if(b.hash==location.hash)return e.selected=a,!1}),typeof e.selected!="number"&&e.cookie&&(e.selected=parseInt(d._cookie(),10)),typeof e.selected!="number"&&this.lis.filter(".ui-tabs-selected").length&&(e.selected=this.lis.index(this.lis.filter(".ui-tabs-selected"))),e.selected=e.selected||(this.lis.length?0:-1)):e.selected===null&&(e.selected=-1),e.selected=e.selected>=0&&this.anchors[e.selected]||e.selected<0?e.selected:0,e.disabled=a.unique(e.disabled.concat(a.map(this.lis.filter(".ui-state-disabled"),function(a,b){return d.lis.index(a)}))).sort(),a.inArray(e.selected,e.disabled)!=-1&&e.disabled.splice(a.inArray(e.selected,e.disabled),1),this.panels.addClass("ui-tabs-hide"),this.lis.removeClass("ui-tabs-selected ui-state-active"),e.selected>=0&&this.anchors.length&&(d.element.find(d._sanitizeSelector(d.anchors[e.selected].hash)).removeClass("ui-tabs-hide"),this.lis.eq(e.selected).addClass("ui-tabs-selected ui-state-active"),d.element.queue("tabs",function(){d._trigger("show",null,d._ui(d.anchors[e.selected],d.element.find(d._sanitizeSelector(d.anchors[e.selected].hash))[0]))}),this.load(e.selected)),a(window).bind("unload",function(){d.lis.add(d.anchors).unbind(".tabs"),d.lis=d.anchors=d.panels=null})):e.selected=this.lis.index(this.lis.filter(".ui-tabs-selected")),this.element[e.collapsible?"addClass":"removeClass"]("ui-tabs-collapsible"),e.cookie&&this._cookie(e.selected,e.cookie);for(var g=0,h;h=this.lis[g];g++)a(h)[a.inArray(g,e.disabled)!=-1&&!a(h).hasClass("ui-tabs-selected")?"addClass":"removeClass"]("ui-state-disabled");e.cache===!1&&this.anchors.removeData("cache.tabs"),this.lis.add(this.anchors).unbind(".tabs");if(e.event!=="mouseover"){var i=function(a,b){b.is(":not(.ui-state-disabled)")&&b.addClass("ui-state-"+a)},j=function(a,b){b.removeClass("ui-state-"+a)};this.lis.bind("mouseover.tabs",function(){i("hover",a(this))}),this.lis.bind("mouseout.tabs",function(){j("hover",a(this))}),this.anchors.bind("focus.tabs",function(){i("focus",a(this).closest("li"))}),this.anchors.bind("blur.tabs",function(){j("focus",a(this).closest("li"))})}var k,l;e.fx&&(a.isArray(e.fx)?(k=e.fx[0],l=e.fx[1]):k=l=e.fx);var n=l?function(b,c){a(b).closest("li").addClass("ui-tabs-selected ui-state-active"),c.hide().removeClass("ui-tabs-hide").animate(l,l.duration||"normal",function(){m(c,l),d._trigger("show",null,d._ui(b,c[0]))})}:function(b,c){a(b).closest("li").addClass("ui-tabs-selected ui-state-active"),c.removeClass("ui-tabs-hide"),d._trigger("show",null,d._ui(b,c[0]))},o=k?function(a,b){b.animate(k,k.duration||"normal",function(){d.lis.removeClass("ui-tabs-selected ui-state-active"),b.addClass("ui-tabs-hide"),m(b,k),d.element.dequeue("tabs")})}:function(a,b,c){d.lis.removeClass("ui-tabs-selected ui-state-active"),b.addClass("ui-tabs-hide"),d.element.dequeue("tabs")};this.anchors.bind(e.event+".tabs",function(){var b=this,c=a(b).closest("li"),f=d.panels.filter(":not(.ui-tabs-hide)"),g=d.element.find(d._sanitizeSelector(b.hash));if(c.hasClass("ui-tabs-selected")&&!e.collapsible||c.hasClass("ui-state-disabled")||c.hasClass("ui-state-processing")||d.panels.filter(":animated").length||d._trigger("select",null,d._ui(this,g[0]))===!1)return this.blur(),!1;e.selected=d.anchors.index(this),d.abort();if(e.collapsible){if(c.hasClass("ui-tabs-selected"))return e.selected=-1,e.cookie&&d._cookie(e.selected,e.cookie),d.element.queue("tabs",function(){o(b,f)}).dequeue("tabs"),this.blur(),!1;if(!f.length)return e.cookie&&d._cookie(e.selected,e.cookie),d.element.queue("tabs",function(){n(b,g)}),d.load(d.anchors.index(this)),this.blur(),!1}e.cookie&&d._cookie(e.selected,e.cookie);if(g.length)f.length&&d.element.queue("tabs",function(){o(b,f)}),d.element.queue("tabs",function(){n(b,g)}),d.load(d.anchors.index(this));else throw"jQuery UI Tabs: Mismatching fragment identifier.";a.browser.msie&&this.blur()}),this.anchors.bind("click.tabs",function(){return!1})},_getIndex:function(a){return typeof a=="string"&&(a=this.anchors.index(this.anchors.filter("[href$='"+a+"']"))),a},destroy:function(){var b=this.options;return 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 b=a.data(this,"href.tabs");b&&(this.href=b);var c=a(this).unbind(".tabs");a.each(["href","load","cache"],function(a,b){c.removeData(b+".tabs")})}),this.lis.unbind(".tabs").add(this.panels).each(function(){a.data(this,"destroy.tabs")?a(this).remove():a(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"].join(" "))}),b.cookie&&this._cookie(null,b.cookie),this},add:function(c,d,e){e===b&&(e=this.anchors.length);var f=this,g=this.options,h=a(g.tabTemplate.replace(/#\{href\}/g,c).replace(/#\{label\}/g,d)),i=c.indexOf("#")?this._tabId(a("a",h)[0]):c.replace("#","");h.addClass("ui-state-default ui-corner-top").data("destroy.tabs",!0);var j=f.element.find("#"+i);return j.length||(j=a(g.panelTemplate).attr("id",i).data("destroy.tabs",!0)),j.addClass("ui-tabs-panel ui-widget-content ui-corner-bottom ui-tabs-hide"),e>=this.lis.length?(h.appendTo(this.list),j.appendTo(this.list[0].parentNode)):(h.insertBefore(this.lis[e]),j.insertBefore(this.panels[e])),g.disabled=a.map(g.disabled,function(a,b){return a>=e?++a:a}),this._tabify(),this.anchors.length==1&&(g.selected=0,h.addClass("ui-tabs-selected ui-state-active"),j.removeClass("ui-tabs-hide"),this.element.queue("tabs",function(){f._trigger("show",null,f._ui(f.anchors[0],f.panels[0]))}),this.load(0)),this._trigger("add",null,this._ui(this.anchors[e],this.panels[e])),this},remove:function(b){b=this._getIndex(b);var c=this.options,d=this.lis.eq(b).remove(),e=this.panels.eq(b).remove();return d.hasClass("ui-tabs-selected")&&this.anchors.length>1&&this.select(b+(b+1<this.anchors.length?1:-1)),c.disabled=a.map(a.grep(c.disabled,function(a,c){return a!=b}),function(a,c){return a>=b?--a:a}),this._tabify(),this._trigger("remove",null,this._ui(d.find("a")[0],e[0])),this},enable:function(b){b=this._getIndex(b);var c=this.options;if(a.inArray(b,c.disabled)==-1)return;return this.lis.eq(b).removeClass("ui-state-disabled"),c.disabled=a.grep(c.disabled,function(a,c){return a!=b}),this._trigger("enable",null,this._ui(this.anchors[b],this.panels[b])),this},disable:function(a){a=this._getIndex(a);var b=this,c=this.options;return a!=c.selected&&(this.lis.eq(a).addClass("ui-state-disabled"),c.disabled.push(a),c.disabled.sort(),this._trigger("disable",null,this._ui(this.anchors[a],this.panels[a]))),this},select:function(a){a=this._getIndex(a);if(a==-1)if(this.options.collapsible&&this.options.selected!=-1)a=this.options.selected;else return this;return this.anchors.eq(a).trigger(this.options.event+".tabs"),this},load:function(b){b=this._getIndex(b);var c=this,d=this.options,e=this.anchors.eq(b)[0],f=a.data(e,"load.tabs");this.abort();if(!f||this.element.queue("tabs").length!==0&&a.data(e,"cache.tabs")){this.element.dequeue("tabs");return}this.lis.eq(b).addClass("ui-state-processing");if(d.spinner){var g=a("span",e);g.data("label.tabs",g.html()).html(d.spinner)}return this.xhr=a.ajax(a.extend({},d.ajaxOptions,{url:f,success:function(f,g){c.element.find(c._sanitizeSelector(e.hash)).html(f),c._cleanup(),d.cache&&a.data(e,"cache.tabs",!0),c._trigger("load",null,c._ui(c.anchors[b],c.panels[b]));try{d.ajaxOptions.success(f,g)}catch(h){}},error:function(a,f,g){c._cleanup(),c._trigger("load",null,c._ui(c.anchors[b],c.panels[b]));try{d.ajaxOptions.error(a,f,b,e)}catch(g){}}})),c.element.dequeue("tabs"),this},abort:function(){return this.element.queue([]),this.panels.stop(!1,!0),this.element.queue("tabs",this.element.queue("tabs").splice(-2,2)),this.xhr&&(this.xhr.abort(),delete this.xhr),this._cleanup(),this},url:function(a,b){return this.anchors.eq(a).removeData("cache.tabs").data("load.tabs",b),this},length:function(){return this.anchors.length}}),a.extend(a.ui.tabs,{version:"1.8.23"}),a.extend(a.ui.tabs.prototype,{rotation:null,rotate:function(a,b){var c=this,d=this.options,e=c._rotate||(c._rotate=function(b){clearTimeout(c.rotation),c.rotation=setTimeout(function(){var a=d.selected;c.select(++a<c.anchors.length?a:0)},a),b&&b.stopPropagation()}),f=c._unrotate||(c._unrotate=b?function(a){e()}:function(a){a.clientX&&c.rotate(null)});return a?(this.element.bind("tabsshow",e),this.anchors.bind(d.event+".tabs",f),e()):(clearTimeout(c.rotation),this.element.unbind("tabsshow",e),this.anchors.unbind(d.event+".tabs",f),delete this._rotate,delete this._unrotate),this}})})(jQuery);;/*! jQuery UI - v1.8.23 - 2012-08-15
 * https://github.com/jquery/jquery-ui
 * Includes: jquery.ui.datepicker.js
 * Copyright (c) 2012 AUTHORS.txt; Licensed MIT, GPL */
-(function($,undefined){function Datepicker(){this.debug=!1,this._curInst=null,this._keyEvent=!1,this._disabledInputs=[],this._datepickerShowing=!1,this._inDialog=!1,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:!1,showMonthAfterYear:!1,yearSuffix:""},this._defaults={showOn:"focus",showAnim:"fadeIn",showOptions:{},defaultDate:null,appendText:"",buttonText:"...",buttonImage:"",buttonImageOnly:!1,hideIfNoPrevNext:!1,navigationAsDateFormat:!1,gotoCurrent:!1,changeMonth:!1,changeYear:!1,yearRange:"c-10:c+10",showOtherMonths:!1,selectOtherMonths:!1,showWeek:!1,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:!0,showButtonPanel:!1,autoSize:!1,disabled:!1},$.extend(this._defaults,this.regional[""]),this.dpDiv=bindHover($('<div id="'+this._mainDivId+'" class="ui-datepicker ui-widget ui-widget-content ui-helper-clearfix ui-corner-all"></div>'))}function bindHover(a){var b="button, .ui-datepicker-prev, .ui-datepicker-next, .ui-datepicker-calendar td a";return a.bind("mouseout",function(a){var c=$(a.target).closest(b);if(!c.length)return;c.removeClass("ui-state-hover ui-datepicker-prev-hover ui-datepicker-next-hover")}).bind("mouseover",function(c){var d=$(c.target).closest(b);if($.datepicker._isDisabledDatepicker(instActive.inline?a.parent()[0]:instActive.input[0])||!d.length)return;d.parents(".ui-datepicker-calendar").find("a").removeClass("ui-state-hover"),d.addClass("ui-state-hover"),d.hasClass("ui-datepicker-prev")&&d.addClass("ui-datepicker-prev-hover"),d.hasClass("ui-datepicker-next")&&d.addClass("ui-datepicker-next-hover")})}function extendRemove(a,b){$.extend(a,b);for(var c in b)if(b[c]==null||b[c]==undefined)a[c]=b[c];return a}function isArray(a){return a&&($.browser.safari&&typeof a=="object"&&a.length||a.constructor&&a.constructor.toString().match(/\Array\(\)/))}$.extend($.ui,{datepicker:{version:"1.8.22"}});var PROP_NAME="datepicker",dpuuid=(new Date).getTime(),instActive;$.extend(Datepicker.prototype,{markerClassName:"hasDatepicker",maxRows:4,log:function(){this.debug&&console.log.apply("",arguments)},_widgetDatepicker:function(){return this.dpDiv},setDefaults:function(a){return extendRemove(this._defaults,a||{}),this},_attachDatepicker:function(target,settings){var inlineSettings=null;for(var attrName in this._defaults){var attrValue=target.getAttribute("date:"+attrName);if(attrValue){inlineSettings=inlineSettings||{};try{inlineSettings[attrName]=eval(attrValue)}catch(err){inlineSettings[attrName]=attrValue}}}var nodeName=target.nodeName.toLowerCase(),inline=nodeName=="div"||nodeName=="span";target.id||(this.uuid+=1,target.id="dp"+this.uuid);var inst=this._newInst($(target),inline);inst.settings=$.extend({},settings||{},inlineSettings||{}),nodeName=="input"?this._connectDatepicker(target,inst):inline&&this._inlineDatepicker(target,inst)},_newInst:function(a,b){var c=a[0].id.replace(/([^A-Za-z0-9_-])/g,"\\\\$1");return{id:c,input:a,selectedDay:0,selectedMonth:0,selectedYear:0,drawMonth:0,drawYear:0,inline:b,dpDiv:b?bindHover($('<div class="'+this._inlineClass+' ui-datepicker ui-widget ui-widget-content ui-helper-clearfix ui-corner-all"></div>')):this.dpDiv}},_connectDatepicker:function(a,b){var c=$(a);b.append=$([]),b.trigger=$([]);if(c.hasClass(this.markerClassName))return;this._attachments(c,b),c.addClass(this.markerClassName).keydown(this._doKeyDown).keypress(this._doKeyPress).keyup(this._doKeyUp).bind("setData.datepicker",function(a,c,d){b.settings[c]=d}).bind("getData.datepicker",function(a,c){return this._get(b,c)}),this._autoSize(b),$.data(a,PROP_NAME,b),b.settings.disabled&&this._disableDatepicker(a)},_attachments:function(a,b){var c=this._get(b,"appendText"),d=this._get(b,"isRTL");b.append&&b.append.remove(),c&&(b.append=$('<span class="'+this._appendClass+'">'+c+"</span>"),a[d?"before":"after"](b.append)),a.unbind("focus",this._showDatepicker),b.trigger&&b.trigger.remove();var e=this._get(b,"showOn");(e=="focus"||e=="both")&&a.focus(this._showDatepicker);if(e=="button"||e=="both"){var f=this._get(b,"buttonText"),g=this._get(b,"buttonImage");b.trigger=$(this._get(b,"buttonImageOnly")?$("<img/>").addClass(this._triggerClass).attr({src:g,alt:f,title:f}):$('<button type="button"></button>').addClass(this._triggerClass).html(g==""?f:$("<img/>").attr({src:g,alt:f,title:f}))),a[d?"before":"after"](b.trigger),b.trigger.click(function(){return $.datepicker._datepickerShowing&&$.datepicker._lastInput==a[0]?$.datepicker._hideDatepicker():$.datepicker._datepickerShowing&&$.datepicker._lastInput!=a[0]?($.datepicker._hideDatepicker(),$.datepicker._showDatepicker(a[0])):$.datepicker._showDatepicker(a[0]),!1})}},_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 d=function(a){var b=0,c=0;for(var d=0;d<a.length;d++)a[d].length>b&&(b=a[d].length,c=d);return c};b.setMonth(d(this._get(a,c.match(/MM/)?"monthNames":"monthNamesShort"))),b.setDate(d(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=$(a);if(c.hasClass(this.markerClassName))return;c.addClass(this.markerClassName).append(b.dpDiv).bind("setData.datepicker",function(a,c,d){b.settings[c]=d}).bind("getData.datepicker",function(a,c){return this._get(b,c)}),$.data(a,PROP_NAME,b),this._setDate(b,this._getDefaultDate(b),!0),this._updateDatepicker(b),this._updateAlternate(b),b.settings.disabled&&this._disableDatepicker(a),b.dpDiv.css("display","block")},_dialogDatepicker:function(a,b,c,d,e){var f=this._dialogInst;if(!f){this.uuid+=1;var g="dp"+this.uuid;this._dialogInput=$('<input type="text" id="'+g+'" style="position: absolute; top: -100px; width: 0px;"/>'),this._dialogInput.keydown(this._doKeyDown),$("body").append(this._dialogInput),f=this._dialogInst=this._newInst(this._dialogInput,!1),f.settings={},$.data(this._dialogInput[0],PROP_NAME,f)}extendRemove(f.settings,d||{}),b=b&&b.constructor==Date?this._formatDate(f,b):b,this._dialogInput.val(b),this._pos=e?e.length?e:[e.pageX,e.pageY]:null;if(!this._pos){var h=document.documentElement.clientWidth,i=document.documentElement.clientHeight,j=document.documentElement.scrollLeft||document.body.scrollLeft,k=document.documentElement.scrollTop||document.body.scrollTop;this._pos=[h/2-100+j,i/2-150+k]}return this._dialogInput.css("left",this._pos[0]+20+"px").css("top",this._pos[1]+"px"),f.settings.onSelect=c,this._inDialog=!0,this.dpDiv.addClass(this._dialogClass),this._showDatepicker(this._dialogInput[0]),$.blockUI&&$.blockUI(this.dpDiv),$.data(this._dialogInput[0],PROP_NAME,f),this},_destroyDatepicker:function(a){var b=$(a),c=$.data(a,PROP_NAME);if(!b.hasClass(this.markerClassName))return;var d=a.nodeName.toLowerCase();$.removeData(a,PROP_NAME),d=="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)):(d=="div"||d=="span")&&b.removeClass(this.markerClassName).empty()},_enableDatepicker:function(a){var b=$(a),c=$.data(a,PROP_NAME);if(!b.hasClass(this.markerClassName))return;var d=a.nodeName.toLowerCase();if(d=="input")a.disabled=!1,c.trigger.filter("button").each(function(){this.disabled=!1}).end().filter("img").css({opacity:"1.0",cursor:""});else if(d=="div"||d=="span"){var e=b.children("."+this._inlineClass);e.children().removeClass("ui-state-disabled"),e.find("select.ui-datepicker-month, select.ui-datepicker-year").removeAttr("disabled")}this._disabledInputs=$.map(this._disabledInputs,function(b){return b==a?null:b})},_disableDatepicker:function(a){var b=$(a),c=$.data(a,PROP_NAME);if(!b.hasClass(this.markerClassName))return;var d=a.nodeName.toLowerCase();if(d=="input")a.disabled=!0,c.trigger.filter("button").each(function(){this.disabled=!0}).end().filter("img").css({opacity:"0.5",cursor:"default"});else if(d=="div"||d=="span"){var e=b.children("."+this._inlineClass);e.children().addClass("ui-state-disabled"),e.find("select.ui-datepicker-month, select.ui-datepicker-year").attr("disabled","disabled")}this._disabledInputs=$.map(this._disabledInputs,function(b){return b==a?null:b}),this._disabledInputs[this._disabledInputs.length]=a},_isDisabledDatepicker:function(a){if(!a)return!1;for(var b=0;b<this._disabledInputs.length;b++)if(this._disabledInputs[b]==a)return!0;return!1},_getInst:function(a){try{return $.data(a,PROP_NAME)}catch(b){throw"Missing instance data for this datepicker"}},_optionDatepicker:function(a,b,c){var d=this._getInst(a);if(arguments.length==2&&typeof b=="string")return b=="defaults"?$.extend({},$.datepicker._defaults):d?b=="all"?$.extend({},d.settings):this._get(d,b):null;var e=b||{};typeof b=="string"&&(e={},e[b]=c);if(d){this._curInst==d&&this._hideDatepicker();var f=this._getDateDatepicker(a,!0),g=this._getMinMaxDate(d,"min"),h=this._getMinMaxDate(d,"max");extendRemove(d.settings,e),g!==null&&e.dateFormat!==undefined&&e.minDate===undefined&&(d.settings.minDate=this._formatDate(d,g)),h!==null&&e.dateFormat!==undefined&&e.maxDate===undefined&&(d.settings.maxDate=this._formatDate(d,h)),this._attachments($(a),d),this._autoSize(d),this._setDate(d,f),this._updateAlternate(d),this._updateDatepicker(d)}},_changeDatepicker:function(a,b,c){this._optionDatepicker(a,b,c)},_refreshDatepicker:function(a){var b=this._getInst(a);b&&this._updateDatepicker(b)},_setDateDatepicker:function(a,b){var c=this._getInst(a);c&&(this._setDate(c,b),this._updateDatepicker(c),this._updateAlternate(c))},_getDateDatepicker:function(a,b){var c=this._getInst(a);return c&&!c.inline&&this._setDateFromField(c,b),c?this._getDate(c):null},_doKeyDown:function(a){var b=$.datepicker._getInst(a.target),c=!0,d=b.dpDiv.is(".ui-datepicker-rtl");b._keyEvent=!0;if($.datepicker._datepickerShowing)switch(a.keyCode){case 9:$.datepicker._hideDatepicker(),c=!1;break;case 13:var e=$("td."+$.datepicker._dayOverClass+":not(."+$.datepicker._currentClass+")",b.dpDiv);e[0]&&$.datepicker._selectDay(a.target,b.selectedMonth,b.selectedYear,e[0]);var f=$.datepicker._get(b,"onSelect");if(f){var g=$.datepicker._formatDate(b);f.apply(b.input?b.input[0]:null,[g,b])}else $.datepicker._hideDatepicker();return!1;case 27:$.datepicker._hideDatepicker();break;case 33:$.datepicker._adjustDate(a.target,a.ctrlKey?-$.datepicker._get(b,"stepBigMonths"):-$.datepicker._get(b,"stepMonths"),"M");break;case 34:$.datepicker._adjustDate(a.target,a.ctrlKey?+$.datepicker._get(b,"stepBigMonths"):+$.datepicker._get(b,"stepMonths"),"M");break;case 35:(a.ctrlKey||a.metaKey)&&$.datepicker._clearDate(a.target),c=a.ctrlKey||a.metaKey;break;case 36:(a.ctrlKey||a.metaKey)&&$.datepicker._gotoToday(a.target),c=a.ctrlKey||a.metaKey;break;case 37:(a.ctrlKey||a.metaKey)&&$.datepicker._adjustDate(a.target,d?1:-1,"D"),c=a.ctrlKey||a.metaKey,a.originalEvent.altKey&&$.datepicker._adjustDate(a.target,a.ctrlKey?-$.datepicker._get(b,"stepBigMonths"):-$.datepicker._get(b,"stepMonths"),"M");break;case 38:(a.ctrlKey||a.metaKey)&&$.datepicker._adjustDate(a.target,-7,"D"),c=a.ctrlKey||a.metaKey;break;case 39:(a.ctrlKey||a.metaKey)&&$.datepicker._adjustDate(a.target,d?-1:1,"D"),c=a.ctrlKey||a.metaKey,a.originalEvent.altKey&&$.datepicker._adjustDate(a.target,a.ctrlKey?+$.datepicker._get(b,"stepBigMonths"):+$.datepicker._get(b,"stepMonths"),"M");break;case 40:(a.ctrlKey||a.metaKey)&&$.datepicker._adjustDate(a.target,7,"D"),c=a.ctrlKey||a.metaKey;break;default:c=!1}else a.keyCode==36&&a.ctrlKey?$.datepicker._showDatepicker(this):c=!1;c&&(a.preventDefault(),a.stopPropagation())},_doKeyPress:function(a){var b=$.datepicker._getInst(a.target);if($.datepicker._get(b,"constrainInput")){var c=$.datepicker._possibleChars($.datepicker._get(b,"dateFormat")),d=String.fromCharCode(a.charCode==undefined?a.keyCode:a.charCode);return a.ctrlKey||a.metaKey||d<" "||!c||c.indexOf(d)>-1}},_doKeyUp:function(a){var b=$.datepicker._getInst(a.target);if(b.input.val()!=b.lastVal)try{var c=$.datepicker.parseDate($.datepicker._get(b,"dateFormat"),b.input?b.input.val():null,$.datepicker._getFormatConfig(b));c&&($.datepicker._setDateFromField(b),$.datepicker._updateAlternate(b),$.datepicker._updateDatepicker(b))}catch(d){$.datepicker.log(d)}return!0},_showDatepicker:function(a){a=a.target||a,a.nodeName.toLowerCase()!="input"&&(a=$("input",a.parentNode)[0]);if($.datepicker._isDisabledDatepicker(a)||$.datepicker._lastInput==a)return;var b=$.datepicker._getInst(a);$.datepicker._curInst&&$.datepicker._curInst!=b&&($.datepicker._curInst.dpDiv.stop(!0,!0),b&&$.datepicker._datepickerShowing&&$.datepicker._hideDatepicker($.datepicker._curInst.input[0]));var c=$.datepicker._get(b,"beforeShow"),d=c?c.apply(a,[a,b]):{};if(d===!1)return;extendRemove(b.settings,d),b.lastVal=null,$.datepicker._lastInput=a,$.datepicker._setDateFromField(b),$.datepicker._inDialog&&(a.value=""),$.datepicker._pos||($.datepicker._pos=$.datepicker._findPos(a),$.datepicker._pos[1]+=a.offsetHeight);var e=!1;$(a).parents().each(function(){return e|=$(this).css("position")=="fixed",!e}),e&&$.browser.opera&&($.datepicker._pos[0]-=document.documentElement.scrollLeft,$.datepicker._pos[1]-=document.documentElement.scrollTop);var f={left:$.datepicker._pos[0],top:$.datepicker._pos[1]};$.datepicker._pos=null,b.dpDiv.empty(),b.dpDiv.css({position:"absolute",display:"block",top:"-1000px"}),$.datepicker._updateDatepicker(b),f=$.datepicker._checkOffset(b,f,e),b.dpDiv.css({position:$.datepicker._inDialog&&$.blockUI?"static":e?"fixed":"absolute",display:"none",left:f.left+"px",top:f.top+"px"});if(!b.inline){var g=$.datepicker._get(b,"showAnim"),h=$.datepicker._get(b,"duration"),i=function(){var a=b.dpDiv.find("iframe.ui-datepicker-cover");if(!!a.length){var c=$.datepicker._getBorders(b.dpDiv);a.css({left:-c[0],top:-c[1],width:b.dpDiv.outerWidth(),height:b.dpDiv.outerHeight()})}};b.dpDiv.zIndex($(a).zIndex()+1),$.datepicker._datepickerShowing=!0,$.effects&&$.effects[g]?b.dpDiv.show(g,$.datepicker._get(b,"showOptions"),h,i):b.dpDiv[g||"show"](g?h:null,i),(!g||!h)&&i(),b.input.is(":visible")&&!b.input.is(":disabled")&&b.input.focus(),$.datepicker._curInst=b}},_updateDatepicker:function(a){var b=this;b.maxRows=4;var c=$.datepicker._getBorders(a.dpDiv);instActive=a,a.dpDiv.empty().append(this._generateHTML(a)),this._attachHandlers(a);var d=a.dpDiv.find("iframe.ui-datepicker-cover");!d.length||d.css({left:-c[0],top:-c[1],width:a.dpDiv.outerWidth(),height:a.dpDiv.outerHeight()}),a.dpDiv.find("."+this._dayOverClass+" a").mouseover();var e=this._getNumberOfMonths(a),f=e[1],g=17;a.dpDiv.removeClass("ui-datepicker-multi-2 ui-datepicker-multi-3 ui-datepicker-multi-4").width(""),f>1&&a.dpDiv.addClass("ui-datepicker-multi-"+f).css("width",g*f+"em"),a.dpDiv[(e[0]!=1||e[1]!=1?"add":"remove")+"Class"]("ui-datepicker-multi"),a.dpDiv[(this._get(a,"isRTL")?"add":"remove")+"Class"]("ui-datepicker-rtl"),a==$.datepicker._curInst&&$.datepicker._datepickerShowing&&a.input&&a.input.is(":visible")&&!a.input.is(":disabled")&&a.input[0]!=document.activeElement&&a.input.focus();if(a.yearshtml){var h=a.yearshtml;setTimeout(function(){h===a.yearshtml&&a.yearshtml&&a.dpDiv.find("select.ui-datepicker-year:first").replaceWith(a.yearshtml),h=a.yearshtml=null},0)}},_getBorders:function(a){var b=function(a){return{thin:1,medium:2,thick:3}[a]||a};return[parseFloat(b(a.css("border-left-width"))),parseFloat(b(a.css("border-top-width")))]},_checkOffset:function(a,b,c){var d=a.dpDiv.outerWidth(),e=a.dpDiv.outerHeight(),f=a.input?a.input.outerWidth():0,g=a.input?a.input.outerHeight():0,h=document.documentElement.clientWidth+(c?0:$(document).scrollLeft()),i=document.documentElement.clientHeight+(c?0:$(document).scrollTop());return b.left-=this._get(a,"isRTL")?d-f:0,b.left-=c&&b.left==a.input.offset().left?$(document).scrollLeft():0,b.top-=c&&b.top==a.input.offset().top+g?$(document).scrollTop():0,b.left-=Math.min(b.left,b.left+d>h&&h>d?Math.abs(b.left+d-h):0),b.top-=Math.min(b.top,b.top+e>i&&i>e?Math.abs(e+g):0),b},_findPos:function(a){var b=this._getInst(a),c=this._get(b,"isRTL");while(a&&(a.type=="hidden"||a.nodeType!=1||$.expr.filters.hidden(a)))a=a[c?"previousSibling":"nextSibling"];var d=$(a).offset();return[d.left,d.top]},_hideDatepicker:function(a){var b=this._curInst;if(!b||a&&b!=$.data(a,PROP_NAME))return;if(this._datepickerShowing){var c=this._get(b,"showAnim"),d=this._get(b,"duration"),e=function(){$.datepicker._tidyDialog(b)};$.effects&&$.effects[c]?b.dpDiv.hide(c,$.datepicker._get(b,"showOptions"),d,e):b.dpDiv[c=="slideDown"?"slideUp":c=="fadeIn"?"fadeOut":"hide"](c?d:null,e),c||e(),this._datepickerShowing=!1;var f=this._get(b,"onClose");f&&f.apply(b.input?b.input[0]:null,[b.input?b.input.val():"",b]),this._lastInput=null,this._inDialog&&(this._dialogInput.css({position:"absolute",left:"0",top:"-100px"}),$.blockUI&&($.unblockUI(),$("body").append(this.dpDiv))),this._inDialog=!1}},_tidyDialog:function(a){a.dpDiv.removeClass(this._dialogClass).unbind(".ui-datepicker-calendar")},_checkExternalClick:function(a){if(!$.datepicker._curInst)return;var b=$(a.target),c=$.datepicker._getInst(b[0]);(b[0].id!=$.datepicker._mainDivId&&b.parents("#"+$.datepicker._mainDivId).length==0&&!b.hasClass($.datepicker.markerClassName)&&!b.closest("."+$.datepicker._triggerClass).length&&$.datepicker._datepickerShowing&&(!$.datepicker._inDialog||!$.blockUI)||b.hasClass($.datepicker.markerClassName)&&$.datepicker._curInst!=c)&&$.datepicker._hideDatepicker()},_adjustDate:function(a,b,c){var d=$(a),e=this._getInst(d[0]);if(this._isDisabledDatepicker(d[0]))return;this._adjustInstDate(e,b+(c=="M"?this._get(e,"showCurrentAtPos"):0),c),this._updateDatepicker(e)},_gotoToday:function(a){var b=$(a),c=this._getInst(b[0]);if(this._get(c,"gotoCurrent")&&c.currentDay)c.selectedDay=c.currentDay,c.drawMonth=c.selectedMonth=c.currentMonth,c.drawYear=c.selectedYear=c.currentYear;else{var d=new Date;c.selectedDay=d.getDate(),c.drawMonth=c.selectedMonth=d.getMonth(),c.drawYear=c.selectedYear=d.getFullYear()}this._notifyChange(c),this._adjustDate(b)},_selectMonthYear:function(a,b,c){var d=$(a),e=this._getInst(d[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(d)},_selectDay:function(a,b,c,d){var e=$(a);if($(d).hasClass(this._unselectableClass)||this._isDisabledDatepicker(e[0]))return;var f=this._getInst(e[0]);f.selectedDay=f.currentDay=$("a",d).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){var b=$(a),c=this._getInst(b[0]);this._selectDate(b,"")},_selectDate:function(a,b){var c=$(a),d=this._getInst(c[0]);b=b!=null?b:this._formatDate(d),d.input&&d.input.val(b),this._updateAlternate(d);var e=this._get(d,"onSelect");e?e.apply(d.input?d.input[0]:null,[b,d]):d.input&&d.input.trigger("change"),d.inline?this._updateDatepicker(d):(this._hideDatepicker(),this._lastInput=d.input[0],typeof d.input[0]!="object"&&d.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"),d=this._getDate(a),e=this.formatDate(c,d,this._getFormatConfig(a));$(b).each(function(){$(this).val(e)})}},noWeekends:function(a){var b=a.getDay();return[b>0&&b<6,""]},iso8601Week:function(a){var b=new Date(a.getTime());b.setDate(b.getDate()+4-(b.getDay()||7));var c=b.getTime();return b.setMonth(0),b.setDate(1),Math.floor(Math.round((c-b)/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 d=(c?c.shortYearCutoff:null)||this._defaults.shortYearCutoff;d=typeof d!="string"?d:(new Date).getFullYear()%100+parseInt(d,10);var e=(c?c.dayNamesShort:null)||this._defaults.dayNamesShort,f=(c?c.dayNames:null)||this._defaults.dayNames,g=(c?c.monthNamesShort:null)||this._defaults.monthNamesShort,h=(c?c.monthNames:null)||this._defaults.monthNames,i=-1,j=-1,k=-1,l=-1,m=!1,n=function(b){var c=s+1<a.length&&a.charAt(s+1)==b;return c&&s++,c},o=function(a){var c=n(a),d=a=="@"?14:a=="!"?20:a=="y"&&c?4:a=="o"?3:2,e=new RegExp("^\\d{1,"+d+"}"),f=b.substring(r).match(e);if(!f)throw"Missing number at position "+r;return r+=f[0].length,parseInt(f[0],10)},p=function(a,c,d){var e=$.map(n(a)?d:c,function(a,b){return[[b,a]]}).sort(function(a,b){return-(a[1].length-b[1].length)}),f=-1;$.each(e,function(a,c){var d=c[1];if(b.substr(r,d.length).toLowerCase()==d.toLowerCase())return f=c[0],r+=d.length,!1});if(f!=-1)return f+1;throw"Unknown name at position "+r},q=function(){if(b.charAt(r)!=a.charAt(s))throw"Unexpected literal at position "+r;r++},r=0;for(var s=0;s<a.length;s++)if(m)a.charAt(s)=="'"&&!n("'")?m=!1:q();else switch(a.charAt(s)){case"d":k=o("d");break;case"D":p("D",e,f);break;case"o":l=o("o");break;case"m":j=o("m");break;case"M":j=p("M",g,h);break;case"y":i=o("y");break;case"@":var t=new Date(o("@"));i=t.getFullYear(),j=t.getMonth()+1,k=t.getDate();break;case"!":var t=new Date((o("!")-this._ticksTo1970)/1e4);i=t.getFullYear(),j=t.getMonth()+1,k=t.getDate();break;case"'":n("'")?q():m=!0;break;default:q()}if(r<b.length)throw"Extra/unparsed characters found in date: "+b.substring(r);i==-1?i=(new Date).getFullYear():i<100&&(i+=(new Date).getFullYear()-(new Date).getFullYear()%100+(i<=d?0:-100));if(l>-1){j=1,k=l;do{var u=this._getDaysInMonth(i,j-1);if(k<=u)break;j++,k-=u}while(!0)}var t=this._daylightSavingAdjust(new Date(i,j-1,k));if(t.getFullYear()!=i||t.getMonth()+1!=j||t.getDate()!=k)throw"Invalid date";return t},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 d=(c?c.dayNamesShort:null)||this._defaults.dayNamesShort,e=(c?c.dayNames:null)||this._defaults.dayNames,f=(c?c.monthNamesShort:null)||this._defaults.monthNamesShort,g=(c?c.monthNames:null)||this._defaults.monthNames,h=function(b){var c=m+1<a.length&&a.charAt(m+1)==b;return c&&m++,c},i=function(a,b,c){var d=""+b;if(h(a))while(d.length<c)d="0"+d;return d},j=function(a,b,c,d){return h(a)?d[b]:c[b]},k="",l=!1;if(b)for(var m=0;m<a.length;m++)if(l)a.charAt(m)=="'"&&!h("'")?l=!1:k+=a.charAt(m);else switch(a.charAt(m)){case"d":k+=i("d",b.getDate(),2);break;case"D":k+=j("D",b.getDay(),d,e);break;case"o":k+=i("o",Math.round(((new Date(b.getFullYear(),b.getMonth(),b.getDate())).getTime()-(new Date(b.getFullYear(),0,0)).getTime())/864e5),3);break;case"m":k+=i("m",b.getMonth()+1,2);break;case"M":k+=j("M",b.getMonth(),f,g);break;case"y":k+=h("y")?b.getFullYear():(b.getYear()%100<10?"0":"")+b.getYear()%100;break;case"@":k+=b.getTime();break;case"!":k+=b.getTime()*1e4+this._ticksTo1970;break;case"'":h("'")?k+="'":l=!0;break;default:k+=a.charAt(m)}return k},_possibleChars:function(a){var b="",c=!1,d=function(b){var c=e+1<a.length&&a.charAt(e+1)==b;return c&&e++,c};for(var e=0;e<a.length;e++)if(c)a.charAt(e)=="'"&&!d("'")?c=!1:b+=a.charAt(e);else switch(a.charAt(e)){case"d":case"m":case"y":case"@":b+="0123456789";break;case"D":case"M":return null;case"'":d("'")?b+="'":c=!0;break;default:b+=a.charAt(e)}return b},_get:function(a,b){return a.settings[b]!==undefined?a.settings[b]:this._defaults[b]},_setDateFromField:function(a,b){if(a.input.val()==a.lastVal)return;var c=this._get(a,"dateFormat"),d=a.lastVal=a.input?a.input.val():null,e,f;e=f=this._getDefaultDate(a);var g=this._getFormatConfig(a);try{e=this.parseDate(c,d,g)||f}catch(h){this.log(h),d=b?"":d}a.selectedDay=e.getDate(),a.drawMonth=a.selectedMonth=e.getMonth(),a.drawYear=a.selectedYear=e.getFullYear(),a.currentDay=d?e.getDate():0,a.currentMonth=d?e.getMonth():0,a.currentYear=d?e.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 d=function(a){var b=new Date;return b.setDate(b.getDate()+a),b},e=function(b){try{return $.datepicker.parseDate($.datepicker._get(a,"dateFormat"),b,$.datepicker._getFormatConfig(a))}catch(c){}var d=(b.toLowerCase().match(/^c/)?$.datepicker._getDate(a):null)||new Date,e=d.getFullYear(),f=d.getMonth(),g=d.getDate(),h=/([+-]?[0-9]+)\s*(d|D|w|W|m|M|y|Y)?/g,i=h.exec(b);while(i){switch(i[2]||"d"){case"d":case"D":g+=parseInt(i[1],10);break;case"w":case"W":g+=parseInt(i[1],10)*7;break;case"m":case"M":f+=parseInt(i[1],10),g=Math.min(g,$.datepicker._getDaysInMonth(e,f));break;case"y":case"Y":e+=parseInt(i[1],10),g=Math.min(g,$.datepicker._getDaysInMonth(e,f))}i=h.exec(b)}return new Date(e,f,g)},f=b==null||b===""?c:typeof b=="string"?e(b):typeof b=="number"?isNaN(b)?c:d(b):new Date(b.getTime());return f=f&&f.toString()=="Invalid Date"?c:f,f&&(f.setHours(0),f.setMinutes(0),f.setSeconds(0),f.setMilliseconds(0)),this._daylightSavingAdjust(f)},_daylightSavingAdjust:function(a){return a?(a.setHours(a.getHours()>12?a.getHours()+2:0),a):null},_setDate:function(a,b,c){var d=!b,e=a.selectedMonth,f=a.selectedYear,g=this._restrictMinMax(a,this._determineDate(a,b,new Date));a.selectedDay=a.currentDay=g.getDate(),a.drawMonth=a.selectedMonth=a.currentMonth=g.getMonth(),a.drawYear=a.selectedYear=a.currentYear=g.getFullYear(),(e!=a.selectedMonth||f!=a.selectedYear)&&!c&&this._notifyChange(a),this._adjustInstDate(a),a.input&&a.input.val(d?"":this._formatDate(a))},_getDate:function(a){var b=!a.currentYear||a.input&&a.input.val()==""?null:this._daylightSavingAdjust(new Date(a.currentYear,a.currentMonth,a.currentDay));return b},_attachHandlers:function(a){var b=this._get(a,"stepMonths"),c="#"+a.id;a.dpDiv.find("[data-handler]").map(function(){var a={prev:function(){window["DP_jQuery_"+dpuuid].datepicker._adjustDate(c,-b,"M")},next:function(){window["DP_jQuery_"+dpuuid].datepicker._adjustDate(c,+b,"M")},hide:function(){window["DP_jQuery_"+dpuuid].datepicker._hideDatepicker()},today:function(){window["DP_jQuery_"+dpuuid].datepicker._gotoToday(c)},selectDay:function(){return window["DP_jQuery_"+dpuuid].datepicker._selectDay(c,+this.getAttribute("data-month"),+this.getAttribute("data-year"),this),!1},selectMonth:function(){return window["DP_jQuery_"+dpuuid].datepicker._selectMonthYear(c,this,"M"),!1},selectYear:function(){return window["DP_jQuery_"+dpuuid].datepicker._selectMonthYear(c,this,"Y"),!1}};$(this).bind(this.getAttribute("data-event"),a[this.getAttribute("data-handler")])})},_generateHTML:function(a){var b=new Date;b=this._daylightSavingAdjust(new Date(b.getFullYear(),b.getMonth(),b.getDate()));var c=this._get(a,"isRTL"),d=this._get(a,"showButtonPanel"),e=this._get(a,"hideIfNoPrevNext"),f=this._get(a,"navigationAsDateFormat"),g=this._getNumberOfMonths(a),h=this._get(a,"showCurrentAtPos"),i=this._get(a,"stepMonths"),j=g[0]!=1||g[1]!=1,k=this._daylightSavingAdjust(a.currentDay?new Date(a.currentYear,a.currentMonth,a.currentDay):new Date(9999,9,9)),l=this._getMinMaxDate(a,"min"),m=this._getMinMaxDate(a,"max"),n=a.drawMonth-h,o=a.drawYear;n<0&&(n+=12,o--);if(m){var p=this._daylightSavingAdjust(new Date(m.getFullYear(),m.getMonth()-g[0]*g[1]+1,m.getDate()));p=l&&p<l?l:p;while(this._daylightSavingAdjust(new Date(o,n,1))>p)n--,n<0&&(n=11,o--)}a.drawMonth=n,a.drawYear=o;var q=this._get(a,"prevText");q=f?this.formatDate(q,this._daylightSavingAdjust(new Date(o,n-i,1)),this._getFormatConfig(a)):q;var r=this._canAdjustMonth(a,-1,o,n)?'<a class="ui-datepicker-prev ui-corner-all" data-handler="prev" data-event="click" title="'+q+'"><span class="ui-icon ui-icon-circle-triangle-'+(c?"e":"w")+'">'+q+"</span></a>":e?"":'<a class="ui-datepicker-prev ui-corner-all ui-state-disabled" title="'+q+'"><span class="ui-icon ui-icon-circle-triangle-'+(c?"e":"w")+'">'+q+"</span></a>",s=this._get(a,"nextText");s=f?this.formatDate(s,this._daylightSavingAdjust(new Date(o,n+i,1)),this._getFormatConfig(a)):s;var t=this._canAdjustMonth(a,1,o,n)?'<a class="ui-datepicker-next ui-corner-all" data-handler="next" data-event="click" title="'+s+'"><span class="ui-icon ui-icon-circle-triangle-'+(c?"w":"e")+'">'+s+"</span></a>":e?"":'<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>",u=this._get(a,"currentText"),v=this._get(a,"gotoCurrent")&&a.currentDay?k:b;u=f?this.formatDate(u,v,this._getFormatConfig(a)):u;var w=a.inline?"":'<button type="button" class="ui-datepicker-close ui-state-default ui-priority-primary ui-corner-all" data-handler="hide" data-event="click">'+this._get(a,"closeText")+"</button>",x=d?'<div class="ui-datepicker-buttonpane ui-widget-content">'+(c?w:"")+(this._isInRange(a,v)?'<button type="button" class="ui-datepicker-current ui-state-default ui-priority-secondary ui-corner-all" data-handler="today" data-event="click">'+u+"</button>":"")+(c?"":w)+"</div>":"",y=parseInt(this._get(a,"firstDay"),10);y=isNaN(y)?0:y;var z=this._get(a,"showWeek"),A=this._get(a,"dayNames"),B=this._get(a,"dayNamesShort"),C=this._get(a,"dayNamesMin"),D=this._get(a,"monthNames"),E=this._get(a,"monthNamesShort"),F=this._get(a,"beforeShowDay"),G=this._get(a,"showOtherMonths"),H=this._get(a,"selectOtherMonths"),I=this._get(a,"calculateWeek")||this.iso8601Week,J=this._getDefaultDate(a),K="";for(var L=0;L<g[0];L++){var M="";this.maxRows=4;for(var N=0;N<g[1];N++){var O=this._daylightSavingAdjust(new Date(o,n,a.selectedDay)),P=" ui-corner-all",Q="";if(j){Q+='<div class="ui-datepicker-group';if(g[1]>1)switch(N){case 0:Q+=" ui-datepicker-group-first",P=" ui-corner-"+(c?"right":"left");break;case g[1]-1:Q+=" ui-datepicker-group-last",P=" ui-corner-"+(c?"left":"right");break;default:Q+=" ui-datepicker-group-middle",P=""}Q+='">'}Q+='<div class="ui-datepicker-header ui-widget-header ui-helper-clearfix'+P+'">'+(/all|left/.test(P)&&L==0?c?t:r:"")+(/all|right/.test(P)&&L==0?c?r:t:"")+this._generateMonthYearHeader(a,n,o,l,m,L>0||N>0,D,E)+'</div><table class="ui-datepicker-calendar"><thead>'+"<tr>";var R=z?'<th class="ui-datepicker-week-col">'+this._get(a,"weekHeader")+"</th>":"";for(var S=0;S<7;S++){var T=(S+y)%7;R+="<th"+((S+y+6)%7>=5?' class="ui-datepicker-week-end"':"")+">"+'<span title="'+A[T]+'">'+C[T]+"</span></th>"}Q+=R+"</tr></thead><tbody>";var U=this._getDaysInMonth(o,n);o==a.selectedYear&&n==a.selectedMonth&&(a.selectedDay=Math.min(a.selectedDay,U));var V=(this._getFirstDayOfMonth(o,n)-y+7)%7,W=Math.ceil((V+U)/7),X=j?this.maxRows>W?this.maxRows:W:W;this.maxRows=X;var Y=this._daylightSavingAdjust(new Date(o,n,1-V));for(var Z=0;Z<X;Z++){Q+="<tr>";var _=z?'<td class="ui-datepicker-week-col">'+this._get(a,"calculateWeek")(Y)+"</td>":"";for(var S=0;S<7;S++){var ba=F?F.apply(a.input?a.input[0]:null,[Y]):[!0,""],bb=Y.getMonth()!=n,bc=bb&&!H||!ba[0]||l&&Y<l||m&&Y>m;_+='<td class="'+((S+y+6)%7>=5?" ui-datepicker-week-end":"")+(bb?" ui-datepicker-other-month":"")+(Y.getTime()==O.getTime()&&n==a.selectedMonth&&a._keyEvent||J.getTime()==Y.getTime()&&J.getTime()==O.getTime()?" "+this._dayOverClass:"")+(bc?" "+this._unselectableClass+" ui-state-disabled":"")+(bb&&!G?"":" "+ba[1]+(Y.getTime()==k.getTime()?" "+this._currentClass:"")+(Y.getTime()==b.getTime()?" ui-datepicker-today":""))+'"'+((!bb||G)&&ba[2]?' title="'+ba[2]+'"':"")+(bc?"":' data-handler="selectDay" data-event="click" data-month="'+Y.getMonth()+'" data-year="'+Y.getFullYear()+'"')+">"+(bb&&!G?"&#xa0;":bc?'<span class="ui-state-default">'+Y.getDate()+"</span>":'<a class="ui-state-default'+(Y.getTime()==b.getTime()?" ui-state-highlight":"")+(Y.getTime()==k.getTime()?" ui-state-active":"")+(bb?" ui-priority-secondary":"")+'" href="#">'+Y.getDate()+"</a>")+"</td>",Y.setDate(Y.getDate()+1),Y=this._daylightSavingAdjust(Y)}Q+=_+"</tr>"}n++,n>11&&(n=0,o++),Q+="</tbody></table>"+(j?"</div>"+(g[0]>0&&N==g[1]-1?'<div class="ui-datepicker-row-break"></div>':""):""),M+=Q}K+=M}return K+=x+($.browser.msie&&parseInt($.browser.version,10)<7&&!a.inline?'<iframe src="javascript:false;" class="ui-datepicker-cover" frameborder="0"></iframe>':""),a._keyEvent=!1,K},_generateMonthYearHeader:function(a,b,c,d,e,f,g,h){var i=this._get(a,"changeMonth"),j=this._get(a,"changeYear"),k=this._get(a,"showMonthAfterYear"),l='<div class="ui-datepicker-title">',m="";if(f||!i)m+='<span class="ui-datepicker-month">'+g[b]+"</span>";else{var n=d&&d.getFullYear()==c,o=e&&e.getFullYear()==c;m+='<select class="ui-datepicker-month" data-handler="selectMonth" data-event="change">';for(var p=0;p<12;p++)(!n||p>=d.getMonth())&&(!o||p<=e.getMonth())&&(m+='<option value="'+p+'"'+(p==b?' selected="selected"':"")+">"+h[p]+"</option>");m+="</select>"}k||(l+=m+(f||!i||!j?"&#xa0;":""));if(!a.yearshtml){a.yearshtml="";if(f||!j)l+='<span class="ui-datepicker-year">'+c+"</span>";else{var q=this._get(a,"yearRange").split(":"),r=(new Date).getFullYear(),s=function(a){var b=a.match(/c[+-].*/)?c+parseInt(a.substring(1),10):a.match(/[+-].*/)?r+parseInt(a,10):parseInt(a,10);return isNaN(b)?r:b},t=s(q[0]),u=Math.max(t,s(q[1]||""));t=d?Math.max(t,d.getFullYear()):t,u=e?Math.min(u,e.getFullYear()):u,a.yearshtml+='<select class="ui-datepicker-year" data-handler="selectYear" data-event="change">';for(;t<=u;t++)a.yearshtml+='<option value="'+t+'"'+(t==c?' selected="selected"':"")+">"+t+"</option>";a.yearshtml+="</select>",l+=a.yearshtml,a.yearshtml=null}}return l+=this._get(a,"yearSuffix"),k&&(l+=(f||!i||!j?"&#xa0;":"")+m),l+="</div>",l},_adjustInstDate:function(a,b,c){var d=a.drawYear+(c=="Y"?b:0),e=a.drawMonth+(c=="M"?b:0),f=Math.min(a.selectedDay,this._getDaysInMonth(d,e))+(c=="D"?b:0),g=this._restrictMinMax(a,this._daylightSavingAdjust(new Date(d,e,f)));a.selectedDay=g.getDate(),a.drawMonth=a.selectedMonth=g.getMonth(),a.drawYear=a.selectedYear=g.getFullYear(),(c=="M"||c=="Y")&&this._notifyChange(a)},_restrictMinMax:function(a,b){var c=this._getMinMaxDate(a,"min"),d=this._getMinMaxDate(a,"max"),e=c&&b<c?c:b;return e=d&&e>d?d:e,e},_notifyChange:function(a){var b=this._get(a,"onChangeMonthYear");b&&b.apply(a.input?a.input[0]:null,[a.selectedYear,a.selectedMonth+1,a])},_getNumberOfMonths:function(a){var b=this._get(a,"numberOfMonths");return b==null?[1,1]:typeof b=="number"?[1,b]:b},_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,d){var e=this._getNumberOfMonths(a),f=this._daylightSavingAdjust(new Date(c,d+(b<0?b:e[0]*e[1]),1));return b<0&&f.setDate(this._getDaysInMonth(f.getFullYear(),f.getMonth())),this._isInRange(a,f)},_isInRange:function(a,b){var c=this._getMinMaxDate(a,"min"),d=this._getMinMaxDate(a,"max");return(!c||b.getTime()>=c.getTime())&&(!d||b.getTime()<=d.getTime())},_getFormatConfig:function(a){var b=this._get(a,"shortYearCutoff");return b=typeof b!="string"?b:(new Date).getFullYear()%100+parseInt(b,10),{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,d){b||(a.currentDay=a.selectedDay,a.currentMonth=a.selectedMonth,a.currentYear=a.selectedYear);var e=b?typeof b=="object"?b:this._daylightSavingAdjust(new Date(d,c,b)):this._daylightSavingAdjust(new Date(a.currentYear,a.currentMonth,a.currentDay));return this.formatDate(this._get(a,"dateFormat"),e,this._getFormatConfig(a))}}),$.fn.datepicker=function(a){if(!this.length)return this;$.datepicker.initialized||($(document).mousedown($.datepicker._checkExternalClick).find("body").append($.datepicker.dpDiv),$.datepicker.initialized=!0);var b=Array.prototype.slice.call(arguments,1);return typeof a!="string"||a!="isDisabled"&&a!="getDate"&&a!="widget"?a=="option"&&arguments.length==2&&typeof arguments[1]=="string"?$.datepicker["_"+a+"Datepicker"].apply($.datepicker,[this[0]].concat(b)):this.each(function(){typeof a=="string"?$.datepicker["_"+a+"Datepicker"].apply($.datepicker,[this].concat(b)):$.datepicker._attachDatepicker(this,a)}):$.datepicker["_"+a+"Datepicker"].apply($.datepicker,[this[0]].concat(b))},$.datepicker=new Datepicker,$.datepicker.initialized=!1,$.datepicker.uuid=(new Date).getTime(),$.datepicker.version="1.8.22",window["DP_jQuery_"+dpuuid]=$})(jQuery);;/*! jQuery UI - v1.8.22 - 2012-07-24
-* https://github.com/jquery/jquery-ui
-* Includes: jquery.ui.progressbar.js
-* Copyright (c) 2012 AUTHORS.txt; Licensed MIT, GPL */
-(function(a,b){a.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=a("<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(),a.Widget.prototype.destroy.apply(this,arguments)},value:function(a){return a===b?this._value():(this._setOption("value",a),this)},_setOption:function(b,c){b==="value"&&(this.options.value=c,this._refreshValue(),this._value()===this.options.max&&this._trigger("complete")),a.Widget.prototype._setOption.apply(this,arguments)},_value:function(){var a=this.options.value;return typeof a!="number"&&(a=0),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(),b=this._percentage();this.oldValue!==a&&(this.oldValue=a,this._trigger("change")),this.valueDiv.toggle(a>this.min).toggleClass("ui-corner-right",a===this.options.max).width(b.toFixed(0)+"%"),this.element.attr("aria-valuenow",a)}}),a.extend(a.ui.progressbar,{version:"1.8.22"})})(jQuery);;/*! jQuery UI - v1.8.22 - 2012-07-24
-* https://github.com/jquery/jquery-ui
-* Includes: jquery.effects.core.js
-* Copyright (c) 2012 AUTHORS.txt; Licensed MIT, GPL */
-jQuery.effects||function(a,b){function c(b){var c;return b&&b.constructor==Array&&b.length==3?b:(c=/rgb\(\s*([0-9]{1,3})\s*,\s*([0-9]{1,3})\s*,\s*([0-9]{1,3})\s*\)/.exec(b))?[parseInt(c[1],10),parseInt(c[2],10),parseInt(c[3],10)]:(c=/rgb\(\s*([0-9]+(?:\.[0-9]+)?)\%\s*,\s*([0-9]+(?:\.[0-9]+)?)\%\s*,\s*([0-9]+(?:\.[0-9]+)?)\%\s*\)/.exec(b))?[parseFloat(c[1])*2.55,parseFloat(c[2])*2.55,parseFloat(c[3])*2.55]:(c=/#([a-fA-F0-9]{2})([a-fA-F0-9]{2})([a-fA-F0-9]{2})/.exec(b))?[parseInt(c[1],16),parseInt(c[2],16),parseInt(c[3],16)]:(c=/#([a-fA-F0-9])([a-fA-F0-9])([a-fA-F0-9])/.exec(b))?[parseInt(c[1]+c[1],16),parseInt(c[2]+c[2],16),parseInt(c[3]+c[3],16)]:(c=/rgba\(0, 0, 0, 0\)/.exec(b))?e.transparent:e[a.trim(b).toLowerCase()]}function d(b,d){var e;do{e=(a.curCSS||a.css)(b,d);if(e!=""&&e!="transparent"||a.nodeName(b,"body"))break;d="backgroundColor"}while(b=b.parentNode);return c(e)}function h(){var a=document.defaultView?document.defaultView.getComputedStyle(this,null):this.currentStyle,b={},c,d;if(a&&a.length&&a[0]&&a[a[0]]){var e=a.length;while(e--)c=a[e],typeof a[c]=="string"&&(d=c.replace(/\-(\w)/g,function(a,b){return b.toUpperCase()}),b[d]=a[c])}else for(c in a)typeof a[c]=="string"&&(b[c]=a[c]);return b}function i(b){var c,d;for(c in b)d=b[c],(d==null||a.isFunction(d)||c in g||/scrollbar/.test(c)||!/color/i.test(c)&&isNaN(parseFloat(d)))&&delete b[c];return b}function j(a,b){var c={_:0},d;for(d in b)a[d]!=b[d]&&(c[d]=b[d]);return c}function k(b,c,d,e){typeof b=="object"&&(e=c,d=null,c=b,b=c.effect),a.isFunction(c)&&(e=c,d=null,c={});if(typeof c=="number"||a.fx.speeds[c])e=d,d=c,c={};return a.isFunction(d)&&(e=d,d=null),c=c||{},d=d||c.duration,d=a.fx.off?0:typeof d=="number"?d:d in a.fx.speeds?a.fx.speeds[d]:a.fx.speeds._default,e=e||c.complete,[b,c,d,e]}function l(b){return!b||typeof b=="number"||a.fx.speeds[b]?!0:typeof b=="string"&&!a.effects[b]?!0:!1}a.effects={},a.each(["backgroundColor","borderBottomColor","borderLeftColor","borderRightColor","borderTopColor","borderColor","color","outlineColor"],function(b,e){a.fx.step[e]=function(a){a.colorInit||(a.start=d(a.elem,e),a.end=c(a.end),a.colorInit=!0),a.elem.style[e]="rgb("+Math.max(Math.min(parseInt(a.pos*(a.end[0]-a.start[0])+a.start[0],10),255),0)+","+Math.max(Math.min(parseInt(a.pos*(a.end[1]-a.start[1])+a.start[1],10),255),0)+","+Math.max(Math.min(parseInt(a.pos*(a.end[2]-a.start[2])+a.start[2],10),255),0)+")"}});var e={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]},f=["add","remove","toggle"],g={border:1,borderBottom:1,borderColor:1,borderLeft:1,borderRight:1,borderTop:1,borderWidth:1,margin:1,padding:1};a.effects.animateClass=function(b,c,d,e){return a.isFunction(d)&&(e=d,d=null),this.queue(function(){var g=a(this),k=g.attr("style")||" ",l=i(h.call(this)),m,n=g.attr("class")||"";a.each(f,function(a,c){b[c]&&g[c+"Class"](b[c])}),m=i(h.call(this)),g.attr("class",n),g.animate(j(l,m),{queue:!1,duration:c,easing:d,complete:function(){a.each(f,function(a,c){b[c]&&g[c+"Class"](b[c])}),typeof g.attr("style")=="object"?(g.attr("style").cssText="",g.attr("style").cssText=k):g.attr("style",k),e&&e.apply(this,arguments),a.dequeue(this)}})})},a.fn.extend({_addClass:a.fn.addClass,addClass:function(b,c,d,e){return c?a.effects.animateClass.apply(this,[{add:b},c,d,e]):this._addClass(b)},_removeClass:a.fn.removeClass,removeClass:function(b,c,d,e){return c?a.effects.animateClass.apply(this,[{remove:b},c,d,e]):this._removeClass(b)},_toggleClass:a.fn.toggleClass,toggleClass:function(c,d,e,f,g){return typeof d=="boolean"||d===b?e?a.effects.animateClass.apply(this,[d?{add:c}:{remove:c},e,f,g]):this._toggleClass(c,d):a.effects.animateClass.apply(this,[{toggle:c},d,e,f])},switchClass:function(b,c,d,e,f){return a.effects.animateClass.apply(this,[{add:c,remove:b},d,e,f])}}),a.extend(a.effects,{version:"1.8.22",save:function(a,b){for(var c=0;c<b.length;c++)b[c]!==null&&a.data("ec.storage."+b[c],a[0].style[b[c]])},restore:function(a,b){for(var c=0;c<b.length;c++)b[c]!==null&&a.css(b[c],a.data("ec.storage."+b[c]))},setMode:function(a,b){return b=="toggle"&&(b=a.is(":hidden")?"show":"hide"),b},getBaseline:function(a,b){var c,d;switch(a[0]){case"top":c=0;break;case"middle":c=.5;break;case"bottom":c=1;break;default:c=a[0]/b.height}switch(a[1]){case"left":d=0;break;case"center":d=.5;break;case"right":d=1;break;default:d=a[1]/b.width}return{x:d,y:c}},createWrapper:function(b){if(b.parent().is(".ui-effects-wrapper"))return b.parent();var c={width:b.outerWidth(!0),height:b.outerHeight(!0),"float":b.css("float")},d=a("<div></div>").addClass("ui-effects-wrapper").css({fontSize:"100%",background:"transparent",border:"none",margin:0,padding:0}),e=document.activeElement;try{e.id}catch(f){e=document.body}return b.wrap(d),(b[0]===e||a.contains(b[0],e))&&a(e).focus(),d=b.parent(),b.css("position")=="static"?(d.css({position:"relative"}),b.css({position:"relative"})):(a.extend(c,{position:b.css("position"),zIndex:b.css("z-index")}),a.each(["top","left","bottom","right"],function(a,d){c[d]=b.css(d),isNaN(parseInt(c[d],10))&&(c[d]="auto")}),b.css({position:"relative",top:0,left:0,right:"auto",bottom:"auto"})),d.css(c).show()},removeWrapper:function(b){var c,d=document.activeElement;return b.parent().is(".ui-effects-wrapper")?(c=b.parent().replaceWith(b),(b[0]===d||a.contains(b[0],d))&&a(d).focus(),c):b},setTransition:function(b,c,d,e){return e=e||{},a.each(c,function(a,c){var f=b.cssUnit(c);f[0]>0&&(e[c]=f[0]*d+f[1])}),e}}),a.fn.extend({effect:function(b,c,d,e){var f=k.apply(this,arguments),g={options:f[1],duration:f[2],callback:f[3]},h=g.options.mode,i=a.effects[b];return a.fx.off||!i?h?this[h](g.duration,g.callback):this.each(function(){g.callback&&g.callback.call(this)}):i.call(this,g)},_show:a.fn.show,show:function(a){if(l(a))return this._show.apply(this,arguments);var b=k.apply(this,arguments);return b[1].mode="show",this.effect.apply(this,b)},_hide:a.fn.hide,hide:function(a){if(l(a))return this._hide.apply(this,arguments);var b=k.apply(this,arguments);return b[1].mode="hide",this.effect.apply(this,b)},__toggle:a.fn.toggle,toggle:function(b){if(l(b)||typeof b=="boolean"||a.isFunction(b))return this.__toggle.apply(this,arguments);var c=k.apply(this,arguments);return c[1].mode="toggle",this.effect.apply(this,c)},cssUnit:function(b){var c=this.css(b),d=[];return a.each(["em","px","%","pt"],function(a,b){c.indexOf(b)>0&&(d=[parseFloat(c),b])}),d}}),a.easing.jswing=a.easing.swing,a.extend(a.easing,{def:"easeOutQuad",swing:function(b,c,d,e,f){return a.easing[a.easing.def](b,c,d,e,f)},easeInQuad:function(a,b,c,d,e){return d*(b/=e)*b+c},easeOutQuad:function(a,b,c,d,e){return-d*(b/=e)*(b-2)+c},easeInOutQuad:function(a,b,c,d,e){return(b/=e/2)<1?d/2*b*b+c:-d/2*(--b*(b-2)-1)+c},easeInCubic:function(a,b,c,d,e){return d*(b/=e)*b*b+c},easeOutCubic:function(a,b,c,d,e){return d*((b=b/e-1)*b*b+1)+c},easeInOutCubic:function(a,b,c,d,e){return(b/=e/2)<1?d/2*b*b*b+c:d/2*((b-=2)*b*b+2)+c},easeInQuart:function(a,b,c,d,e){return d*(b/=e)*b*b*b+c},easeOutQuart:function(a,b,c,d,e){return-d*((b=b/e-1)*b*b*b-1)+c},easeInOutQuart:function(a,b,c,d,e){return(b/=e/2)<1?d/2*b*b*b*b+c:-d/2*((b-=2)*b*b*b-2)+c},easeInQuint:function(a,b,c,d,e){return d*(b/=e)*b*b*b*b+c},easeOutQuint:function(a,b,c,d,e){return d*((b=b/e-1)*b*b*b*b+1)+c},easeInOutQuint:function(a,b,c,d,e){return(b/=e/2)<1?d/2*b*b*b*b*b+c:d/2*((b-=2)*b*b*b*b+2)+c},easeInSine:function(a,b,c,d,e){return-d*Math.cos(b/e*(Math.PI/2))+d+c},easeOutSine:function(a,b,c,d,e){return d*Math.sin(b/e*(Math.PI/2))+c},easeInOutSine:function(a,b,c,d,e){return-d/2*(Math.cos(Math.PI*b/e)-1)+c},easeInExpo:function(a,b,c,d,e){return b==0?c:d*Math.pow(2,10*(b/e-1))+c},easeOutExpo:function(a,b,c,d,e){return b==e?c+d:d*(-Math.pow(2,-10*b/e)+1)+c},easeInOutExpo:function(a,b,c,d,e){return b==0?c:b==e?c+d:(b/=e/2)<1?d/2*Math.pow(2,10*(b-1))+c:d/2*(-Math.pow(2,-10*--b)+2)+c},easeInCirc:function(a,b,c,d,e){return-d*(Math.sqrt(1-(b/=e)*b)-1)+c},easeOutCirc:function(a,b,c,d,e){return d*Math.sqrt(1-(b=b/e-1)*b)+c},easeInOutCirc:function(a,b,c,d,e){return(b/=e/2)<1?-d/2*(Math.sqrt(1-b*b)-1)+c:d/2*(Math.sqrt(1-(b-=2)*b)+1)+c},easeInElastic:function(a,b,c,d,e){var f=1.70158,g=0,h=d;if(b==0)return c;if((b/=e)==1)return c+d;g||(g=e*.3);if(h<Math.abs(d)){h=d;var f=g/4}else var f=g/(2*Math.PI)*Math.asin(d/h);return-(h*Math.pow(2,10*(b-=1))*Math.sin((b*e-f)*2*Math.PI/g))+c},easeOutElastic:function(a,b,c,d,e){var f=1.70158,g=0,h=d;if(b==0)return c;if((b/=e)==1)return c+d;g||(g=e*.3);if(h<Math.abs(d)){h=d;var f=g/4}else var f=g/(2*Math.PI)*Math.asin(d/h);return h*Math.pow(2,-10*b)*Math.sin((b*e-f)*2*Math.PI/g)+d+c},easeInOutElastic:function(a,b,c,d,e){var f=1.70158,g=0,h=d;if(b==0)return c;if((b/=e/2)==2)return c+d;g||(g=e*.3*1.5);if(h<Math.abs(d)){h=d;var f=g/4}else var f=g/(2*Math.PI)*Math.asin(d/h);return b<1?-0.5*h*Math.pow(2,10*(b-=1))*Math.sin((b*e-f)*2*Math.PI/g)+c:h*Math.pow(2,-10*(b-=1))*Math.sin((b*e-f)*2*Math.PI/g)*.5+d+c},easeInBack:function(a,c,d,e,f,g){return g==b&&(g=1.70158),e*(c/=f)*c*((g+1)*c-g)+d},easeOutBack:function(a,c,d,e,f,g){return g==b&&(g=1.70158),e*((c=c/f-1)*c*((g+1)*c+g)+1)+d},easeInOutBack:function(a,c,d,e,f,g){return g==b&&(g=1.70158),(c/=f/2)<1?e/2*c*c*(((g*=1.525)+1)*c-g)+d:e/2*((c-=2)*c*(((g*=1.525)+1)*c+g)+2)+d},easeInBounce:function(b,c,d,e,f){return e-a.easing.easeOutBounce(b,f-c,0,e,f)+d},easeOutBounce:function(a,b,c,d,e){return(b/=e)<1/2.75?d*7.5625*b*b+c:b<2/2.75?d*(7.5625*(b-=1.5/2.75)*b+.75)+c:b<2.5/2.75?d*(7.5625*(b-=2.25/2.75)*b+.9375)+c:d*(7.5625*(b-=2.625/2.75)*b+.984375)+c},easeInOutBounce:function(b,c,d,e,f){return c<f/2?a.easing.easeInBounce(b,c*2,0,e,f)*.5+d:a.easing.easeOutBounce(b,c*2-f,0,e,f)*.5+e*.5+d}})}(jQuery);;/*! jQuery UI - v1.8.22 - 2012-07-24
-* https://github.com/jquery/jquery-ui
-* Includes: jquery.effects.blind.js
-* Copyright (c) 2012 AUTHORS.txt; Licensed MIT, GPL */
-(function(a,b){a.effects.blind=function(b){return this.queue(function(){var c=a(this),d=["position","top","bottom","left","right"],e=a.effects.setMode(c,b.options.mode||"hide"),f=b.options.direction||"vertical";a.effects.save(c,d),c.show();var g=a.effects.createWrapper(c).css({overflow:"hidden"}),h=f=="vertical"?"height":"width",i=f=="vertical"?g.height():g.width();e=="show"&&g.css(h,0);var j={};j[h]=e=="show"?i:0,g.animate(j,b.duration,b.options.easing,function(){e=="hide"&&c.hide(),a.effects.restore(c,d),a.effects.removeWrapper(c),b.callback&&b.callback.apply(c[0],arguments),c.dequeue()})})}})(jQuery);;/*! jQuery UI - v1.8.22 - 2012-07-24
-* https://github.com/jquery/jquery-ui
-* Includes: jquery.effects.bounce.js
-* Copyright (c) 2012 AUTHORS.txt; Licensed MIT, GPL */
-(function(a,b){a.effects.bounce=function(b){return this.queue(function(){var c=a(this),d=["position","top","bottom","left","right"],e=a.effects.setMode(c,b.options.mode||"effect"),f=b.options.direction||"up",g=b.options.distance||20,h=b.options.times||5,i=b.duration||250;/show|hide/.test(e)&&d.push("opacity"),a.effects.save(c,d),c.show(),a.effects.createWrapper(c);var j=f=="up"||f=="down"?"top":"left",k=f=="up"||f=="left"?"pos":"neg",g=b.options.distance||(j=="top"?c.outerHeight(!0)/3:c.outerWidth(!0)/3);e=="show"&&c.css("opacity",0).css(j,k=="pos"?-g:g),e=="hide"&&(g=g/(h*2)),e!="hide"&&h--;if(e=="show"){var l={opacity:1};l[j]=(k=="pos"?"+=":"-=")+g,c.animate(l,i/2,b.options.easing),g=g/2,h--}for(var m=0;m<h;m++){var n={},p={};n[j]=(k=="pos"?"-=":"+=")+g,p[j]=(k=="pos"?"+=":"-=")+g,c.animate(n,i/2,b.options.easing).animate(p,i/2,b.options.easing),g=e=="hide"?g*2:g/2}if(e=="hide"){var l={opacity:0};l[j]=(k=="pos"?"-=":"+=")+g,c.animate(l,i/2,b.options.easing,function(){c.hide(),a.effects.restore(c,d),a.effects.removeWrapper(c),b.callback&&b.callback.apply(this,arguments)})}else{var n={},p={};n[j]=(k=="pos"?"-=":"+=")+g,p[j]=(k=="pos"?"+=":"-=")+g,c.animate(n,i/2,b.options.easing).animate(p,i/2,b.options.easing,function(){a.effects.restore(c,d),a.effects.removeWrapper(c),b.callback&&b.callback.apply(this,arguments)})}c.queue("fx",function(){c.dequeue()}),c.dequeue()})}})(jQuery);;/*! jQuery UI - v1.8.22 - 2012-07-24
-* https://github.com/jquery/jquery-ui
-* Includes: jquery.effects.clip.js
-* Copyright (c) 2012 AUTHORS.txt; Licensed MIT, GPL */
-(function(a,b){a.effects.clip=function(b){return this.queue(function(){var c=a(this),d=["position","top","bottom","left","right","height","width"],e=a.effects.setMode(c,b.options.mode||"hide"),f=b.options.direction||"vertical";a.effects.save(c,d),c.show();var g=a.effects.createWrapper(c).css({overflow:"hidden"}),h=c[0].tagName=="IMG"?g:c,i={size:f=="vertical"?"height":"width",position:f=="vertical"?"top":"left"},j=f=="vertical"?h.height():h.width();e=="show"&&(h.css(i.size,0),h.css(i.position,j/2));var k={};k[i.size]=e=="show"?j:0,k[i.position]=e=="show"?0:j/2,h.animate(k,{queue:!1,duration:b.duration,easing:b.options.easing,complete:function(){e=="hide"&&c.hide(),a.effects.restore(c,d),a.effects.removeWrapper(c),b.callback&&b.callback.apply(c[0],arguments),c.dequeue()}})})}})(jQuery);;/*! jQuery UI - v1.8.22 - 2012-07-24
-* https://github.com/jquery/jquery-ui
-* Includes: jquery.effects.drop.js
-* Copyright (c) 2012 AUTHORS.txt; Licensed MIT, GPL */
-(function(a,b){a.effects.drop=function(b){return this.queue(function(){var c=a(this),d=["position","top","bottom","left","right","opacity"],e=a.effects.setMode(c,b.options.mode||"hide"),f=b.options.direction||"left";a.effects.save(c,d),c.show(),a.effects.createWrapper(c);var g=f=="up"||f=="down"?"top":"left",h=f=="up"||f=="left"?"pos":"neg",i=b.options.distance||(g=="top"?c.outerHeight(!0)/2:c.outerWidth(!0)/2);e=="show"&&c.css("opacity",0).css(g,h=="pos"?-i:i);var j={opacity:e=="show"?1:0};j[g]=(e=="show"?h=="pos"?"+=":"-=":h=="pos"?"-=":"+=")+i,c.animate(j,{queue:!1,duration:b.duration,easing:b.options.easing,complete:function(){e=="hide"&&c.hide(),a.effects.restore(c,d),a.effects.removeWrapper(c),b.callback&&b.callback.apply(this,arguments),c.dequeue()}})})}})(jQuery);;/*! jQuery UI - v1.8.22 - 2012-07-24
-* https://github.com/jquery/jquery-ui
-* Includes: jquery.effects.explode.js
-* Copyright (c) 2012 AUTHORS.txt; Licensed MIT, GPL */
-(function(a,b){a.effects.explode=function(b){return this.queue(function(){var c=b.options.pieces?Math.round(Math.sqrt(b.options.pieces)):3,d=b.options.pieces?Math.round(Math.sqrt(b.options.pieces)):3;b.options.mode=b.options.mode=="toggle"?a(this).is(":visible")?"hide":"show":b.options.mode;var e=a(this).show().css("visibility","hidden"),f=e.offset();f.top-=parseInt(e.css("marginTop"),10)||0,f.left-=parseInt(e.css("marginLeft"),10)||0;var g=e.outerWidth(!0),h=e.outerHeight(!0);for(var i=0;i<c;i++)for(var j=0;j<d;j++)e.clone().appendTo("body").wrap("<div></div>").css({position:"absolute",visibility:"visible",left:-j*(g/d),top:-i*(h/c)}).parent().addClass("ui-effects-explode").css({position:"absolute",overflow:"hidden",width:g/d,height:h/c,left:f.left+j*(g/d)+(b.options.mode=="show"?(j-Math.floor(d/2))*(g/d):0),top:f.top+i*(h/c)+(b.options.mode=="show"?(i-Math.floor(c/2))*(h/c):0),opacity:b.options.mode=="show"?0:1}).animate({left:f.left+j*(g/d)+(b.options.mode=="show"?0:(j-Math.floor(d/2))*(g/d)),top:f.top+i*(h/c)+(b.options.mode=="show"?0:(i-Math.floor(c/2))*(h/c)),opacity:b.options.mode=="show"?1:0},b.duration||500);setTimeout(function(){b.options.mode=="show"?e.css({visibility:"visible"}):e.css({visibility:"visible"}).hide(),b.callback&&b.callback.apply(e[0]),e.dequeue(),a("div.ui-effects-explode").remove()},b.duration||500)})}})(jQuery);;/*! jQuery UI - v1.8.22 - 2012-07-24
-* https://github.com/jquery/jquery-ui
-* Includes: jquery.effects.fade.js
-* Copyright (c) 2012 AUTHORS.txt; Licensed MIT, GPL */
-(function(a,b){a.effects.fade=function(b){return this.queue(function(){var c=a(this),d=a.effects.setMode(c,b.options.mode||"hide");c.animate({opacity:d},{queue:!1,duration:b.duration,easing:b.options.easing,complete:function(){b.callback&&b.callback.apply(this,arguments),c.dequeue()}})})}})(jQuery);;/*! jQuery UI - v1.8.22 - 2012-07-24
-* https://github.com/jquery/jquery-ui
-* Includes: jquery.effects.fold.js
-* Copyright (c) 2012 AUTHORS.txt; Licensed MIT, GPL */
-(function(a,b){a.effects.fold=function(b){return this.queue(function(){var c=a(this),d=["position","top","bottom","left","right"],e=a.effects.setMode(c,b.options.mode||"hide"),f=b.options.size||15,g=!!b.options.horizFirst,h=b.duration?b.duration/2:a.fx.speeds._default/2;a.effects.save(c,d),c.show();var i=a.effects.createWrapper(c).css({overflow:"hidden"}),j=e=="show"!=g,k=j?["width","height"]:["height","width"],l=j?[i.width(),i.height()]:[i.height(),i.width()],m=/([0-9]+)%/.exec(f);m&&(f=parseInt(m[1],10)/100*l[e=="hide"?0:1]),e=="show"&&i.css(g?{height:0,width:f}:{height:f,width:0});var n={},p={};n[k[0]]=e=="show"?l[0]:f,p[k[1]]=e=="show"?l[1]:0,i.animate(n,h,b.options.easing).animate(p,h,b.options.easing,function(){e=="hide"&&c.hide(),a.effects.restore(c,d),a.effects.removeWrapper(c),b.callback&&b.callback.apply(c[0],arguments),c.dequeue()})})}})(jQuery);;/*! jQuery UI - v1.8.22 - 2012-07-24
-* https://github.com/jquery/jquery-ui
-* Includes: jquery.effects.highlight.js
-* Copyright (c) 2012 AUTHORS.txt; Licensed MIT, GPL */
-(function(a,b){a.effects.highlight=function(b){return this.queue(function(){var c=a(this),d=["backgroundImage","backgroundColor","opacity"],e=a.effects.setMode(c,b.options.mode||"show"),f={backgroundColor:c.css("backgroundColor")};e=="hide"&&(f.opacity=0),a.effects.save(c,d),c.show().css({backgroundImage:"none",backgroundColor:b.options.color||"#ffff99"}).animate(f,{queue:!1,duration:b.duration,easing:b.options.easing,complete:function(){e=="hide"&&c.hide(),a.effects.restore(c,d),e=="show"&&!a.support.opacity&&this.style.removeAttribute("filter"),b.callback&&b.callback.apply(this,arguments),c.dequeue()}})})}})(jQuery);;/*! jQuery UI - v1.8.22 - 2012-07-24
-* https://github.com/jquery/jquery-ui
-* Includes: jquery.effects.pulsate.js
-* Copyright (c) 2012 AUTHORS.txt; Licensed MIT, GPL */
-(function(a,b){a.effects.pulsate=function(b){return this.queue(function(){var c=a(this),d=a.effects.setMode(c,b.options.mode||"show"),e=(b.options.times||5)*2-1,f=b.duration?b.duration/2:a.fx.speeds._default/2,g=c.is(":visible"),h=0;g||(c.css("opacity",0).show(),h=1),(d=="hide"&&g||d=="show"&&!g)&&e--;for(var i=0;i<e;i++)c.animate({opacity:h},f,b.options.easing),h=(h+1)%2;c.animate({opacity:h},f,b.options.easing,function(){h==0&&c.hide(),b.callback&&b.callback.apply(this,arguments)}),c.queue("fx",function(){c.dequeue()}).dequeue()})}})(jQuery);;/*! jQuery UI - v1.8.22 - 2012-07-24
-* https://github.com/jquery/jquery-ui
-* Includes: jquery.effects.scale.js
-* Copyright (c) 2012 AUTHORS.txt; Licensed MIT, GPL */
-(function(a,b){a.effects.puff=function(b){return this.queue(function(){var c=a(this),d=a.effects.setMode(c,b.options.mode||"hide"),e=parseInt(b.options.percent,10)||150,f=e/100,g={height:c.height(),width:c.width()};a.extend(b.options,{fade:!0,mode:d,percent:d=="hide"?e:100,from:d=="hide"?g:{height:g.height*f,width:g.width*f}}),c.effect("scale",b.options,b.duration,b.callback),c.dequeue()})},a.effects.scale=function(b){return this.queue(function(){var c=a(this),d=a.extend(!0,{},b.options),e=a.effects.setMode(c,b.options.mode||"effect"),f=parseInt(b.options.percent,10)||(parseInt(b.options.percent,10)==0?0:e=="hide"?0:100),g=b.options.direction||"both",h=b.options.origin;e!="effect"&&(d.origin=h||["middle","center"],d.restore=!0);var i={height:c.height(),width:c.width()};c.from=b.options.from||(e=="show"?{height:0,width:0}:i);var j={y:g!="horizontal"?f/100:1,x:g!="vertical"?f/100:1};c.to={height:i.height*j.y,width:i.width*j.x},b.options.fade&&(e=="show"&&(c.from.opacity=0,c.to.opacity=1),e=="hide"&&(c.from.opacity=1,c.to.opacity=0)),d.from=c.from,d.to=c.to,d.mode=e,c.effect("size",d,b.duration,b.callback),c.dequeue()})},a.effects.size=function(b){return this.queue(function(){var c=a(this),d=["position","top","bottom","left","right","width","height","overflow","opacity"],e=["position","top","bottom","left","right","overflow","opacity"],f=["width","height","overflow"],g=["fontSize"],h=["borderTopWidth","borderBottomWidth","paddingTop","paddingBottom"],i=["borderLeftWidth","borderRightWidth","paddingLeft","paddingRight"],j=a.effects.setMode(c,b.options.mode||"effect"),k=b.options.restore||!1,l=b.options.scale||"both",m=b.options.origin,n={height:c.height(),width:c.width()};c.from=b.options.from||n,c.to=b.options.to||n;if(m){var p=a.effects.getBaseline(m,n);c.from.top=(n.height-c.from.height)*p.y,c.from.left=(n.width-c.from.width)*p.x,c.to.top=(n.height-c.to.height)*p.y,c.to.left=(n.width-c.to.width)*p.x}var q={from:{y:c.from.height/n.height,x:c.from.width/n.width},to:{y:c.to.height/n.height,x:c.to.width/n.width}};if(l=="box"||l=="both")q.from.y!=q.to.y&&(d=d.concat(h),c.from=a.effects.setTransition(c,h,q.from.y,c.from),c.to=a.effects.setTransition(c,h,q.to.y,c.to)),q.from.x!=q.to.x&&(d=d.concat(i),c.from=a.effects.setTransition(c,i,q.from.x,c.from),c.to=a.effects.setTransition(c,i,q.to.x,c.to));(l=="content"||l=="both")&&q.from.y!=q.to.y&&(d=d.concat(g),c.from=a.effects.setTransition(c,g,q.from.y,c.from),c.to=a.effects.setTransition(c,g,q.to.y,c.to)),a.effects.save(c,k?d:e),c.show(),a.effects.createWrapper(c),c.css("overflow","hidden").css(c.from);if(l=="content"||l=="both")h=h.concat(["marginTop","marginBottom"]).concat(g),i=i.concat(["marginLeft","marginRight"]),f=d.concat(h).concat(i),c.find("*[width]").each(function(){var c=a(this);k&&a.effects.save(c,f);var d={height:c.height(),width:c.width()};c.from={height:d.height*q.from.y,width:d.width*q.from.x},c.to={height:d.height*q.to.y,width:d.width*q.to.x},q.from.y!=q.to.y&&(c.from=a.effects.setTransition(c,h,q.from.y,c.from),c.to=a.effects.setTransition(c,h,q.to.y,c.to)),q.from.x!=q.to.x&&(c.from=a.effects.setTransition(c,i,q.from.x,c.from),c.to=a.effects.setTransition(c,i,q.to.x,c.to)),c.css(c.from),c.animate(c.to,b.duration,b.options.easing,function(){k&&a.effects.restore(c,f)})});c.animate(c.to,{queue:!1,duration:b.duration,easing:b.options.easing,complete:function(){c.to.opacity===0&&c.css("opacity",c.from.opacity),j=="hide"&&c.hide(),a.effects.restore(c,k?d:e),a.effects.removeWrapper(c),b.callback&&b.callback.apply(this,arguments),c.dequeue()}})})}})(jQuery);;/*! jQuery UI - v1.8.22 - 2012-07-24
-* https://github.com/jquery/jquery-ui
-* Includes: jquery.effects.shake.js
-* Copyright (c) 2012 AUTHORS.txt; Licensed MIT, GPL */
-(function(a,b){a.effects.shake=function(b){return this.queue(function(){var c=a(this),d=["position","top","bottom","left","right"],e=a.effects.setMode(c,b.options.mode||"effect"),f=b.options.direction||"left",g=b.options.distance||20,h=b.options.times||3,i=b.duration||b.options.duration||140;a.effects.save(c,d),c.show(),a.effects.createWrapper(c);var j=f=="up"||f=="down"?"top":"left",k=f=="up"||f=="left"?"pos":"neg",l={},m={},n={};l[j]=(k=="pos"?"-=":"+=")+g,m[j]=(k=="pos"?"+=":"-=")+g*2,n[j]=(k=="pos"?"-=":"+=")+g*2,c.animate(l,i,b.options.easing);for(var p=1;p<h;p++)c.animate(m,i,b.options.easing).animate(n,i,b.options.easing);c.animate(m,i,b.options.easing).animate(l,i/2,b.options.easing,function(){a.effects.restore(c,d),a.effects.removeWrapper(c),b.callback&&b.callback.apply(this,arguments)}),c.queue("fx",function(){c.dequeue()}),c.dequeue()})}})(jQuery);;/*! jQuery UI - v1.8.22 - 2012-07-24
-* https://github.com/jquery/jquery-ui
-* Includes: jquery.effects.slide.js
-* Copyright (c) 2012 AUTHORS.txt; Licensed MIT, GPL */
-(function(a,b){a.effects.slide=function(b){return this.queue(function(){var c=a(this),d=["position","top","bottom","left","right"],e=a.effects.setMode(c,b.options.mode||"show"),f=b.options.direction||"left";a.effects.save(c,d),c.show(),a.effects.createWrapper(c).css({overflow:"hidden"});var g=f=="up"||f=="down"?"top":"left",h=f=="up"||f=="left"?"pos":"neg",i=b.options.distance||(g=="top"?c.outerHeight(!0):c.outerWidth(!0));e=="show"&&c.css(g,h=="pos"?isNaN(i)?"-"+i:-i:i);var j={};j[g]=(e=="show"?h=="pos"?"+=":"-=":h=="pos"?"-=":"+=")+i,c.animate(j,{queue:!1,duration:b.duration,easing:b.options.easing,complete:function(){e=="hide"&&c.hide(),a.effects.restore(c,d),a.effects.removeWrapper(c),b.callback&&b.callback.apply(this,arguments),c.dequeue()}})})}})(jQuery);;/*! jQuery UI - v1.8.22 - 2012-07-24
-* https://github.com/jquery/jquery-ui
-* Includes: jquery.effects.transfer.js
-* Copyright (c) 2012 AUTHORS.txt; Licensed MIT, GPL */
-(function(a,b){a.effects.transfer=function(b){return this.queue(function(){var c=a(this),d=a(b.options.to),e=d.offset(),f={top:e.top,left:e.left,height:d.innerHeight(),width:d.innerWidth()},g=c.offset(),h=a('<div class="ui-effects-transfer"></div>').appendTo(document.body).addClass(b.options.className).css({top:g.top,left:g.left,height:c.innerHeight(),width:c.innerWidth(),position:"absolute"}).animate(f,b.duration,b.options.easing,function(){h.remove(),b.callback&&b.callback.apply(c[0],arguments),c.dequeue()})})}})(jQuery);;
\ No newline at end of file
+(function($,undefined){function Datepicker(){this.debug=!1,this._curInst=null,this._keyEvent=!1,this._disabledInputs=[],this._datepickerShowing=!1,this._inDialog=!1,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:!1,showMonthAfterYear:!1,yearSuffix:""},this._defaults={showOn:"focus",showAnim:"fadeIn",showOptions:{},defaultDate:null,appendText:"",buttonText:"...",buttonImage:"",buttonImageOnly:!1,hideIfNoPrevNext:!1,navigationAsDateFormat:!1,gotoCurrent:!1,changeMonth:!1,changeYear:!1,yearRange:"c-10:c+10",showOtherMonths:!1,selectOtherMonths:!1,showWeek:!1,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:!0,showButtonPanel:!1,autoSize:!1,disabled:!1},$.extend(this._defaults,this.regional[""]),this.dpDiv=bindHover($('<div id="'+this._mainDivId+'" class="ui-datepicker ui-widget ui-widget-content ui-helper-clearfix ui-corner-all"></div>'))}function bindHover(a){var b="button, .ui-datepicker-prev, .ui-datepicker-next, .ui-datepicker-calendar td a";return a.bind("mouseout",function(a){var c=$(a.target).closest(b);if(!c.length)return;c.removeClass("ui-state-hover ui-datepicker-prev-hover ui-datepicker-next-hover")}).bind("mouseover",function(c){var d=$(c.target).closest(b);if($.datepicker._isDisabledDatepicker(instActive.inline?a.parent()[0]:instActive.input[0])||!d.length)return;d.parents(".ui-datepicker-calendar").find("a").removeClass("ui-state-hover"),d.addClass("ui-state-hover"),d.hasClass("ui-datepicker-prev")&&d.addClass("ui-datepicker-prev-hover"),d.hasClass("ui-datepicker-next")&&d.addClass("ui-datepicker-next-hover")})}function extendRemove(a,b){$.extend(a,b);for(var c in b)if(b[c]==null||b[c]==undefined)a[c]=b[c];return a}function isArray(a){return a&&($.browser.safari&&typeof a=="object"&&a.length||a.constructor&&a.constructor.toString().match(/\Array\(\)/))}$.extend($.ui,{datepicker:{version:"1.8.23"}});var PROP_NAME="datepicker",dpuuid=(new Date).getTime(),instActive;$.extend(Datepicker.prototype,{markerClassName:"hasDatepicker",maxRows:4,log:function(){this.debug&&console.log.apply("",arguments)},_widgetDatepicker:function(){return this.dpDiv},setDefaults:function(a){return extendRemove(this._defaults,a||{}),this},_attachDatepicker:function(target,settings){var inlineSettings=null;for(var attrName in this._defaults){var attrValue=target.getAttribute("date:"+attrName);if(attrValue){inlineSettings=inlineSettings||{};try{inlineSettings[attrName]=eval(attrValue)}catch(err){inlineSettings[attrName]=attrValue}}}var nodeName=target.nodeName.toLowerCase(),inline=nodeName=="div"||nodeName=="span";target.id||(this.uuid+=1,target.id="dp"+this.uuid);var inst=this._newInst($(target),inline);inst.settings=$.extend({},settings||{},inlineSettings||{}),nodeName=="input"?this._connectDatepicker(target,inst):inline&&this._inlineDatepicker(target,inst)},_newInst:function(a,b){var c=a[0].id.replace(/([^A-Za-z0-9_-])/g,"\\\\$1");return{id:c,input:a,selectedDay:0,selectedMonth:0,selectedYear:0,drawMonth:0,drawYear:0,inline:b,dpDiv:b?bindHover($('<div class="'+this._inlineClass+' ui-datepicker ui-widget ui-widget-content ui-helper-clearfix ui-corner-all"></div>')):this.dpDiv}},_connectDatepicker:function(a,b){var c=$(a);b.append=$([]),b.trigger=$([]);if(c.hasClass(this.markerClassName))return;this._attachments(c,b),c.addClass(this.markerClassName).keydown(this._doKeyDown).keypress(this._doKeyPress).keyup(this._doKeyUp).bind("setData.datepicker",function(a,c,d){b.settings[c]=d}).bind("getData.datepicker",function(a,c){return this._get(b,c)}),this._autoSize(b),$.data(a,PROP_NAME,b),b.settings.disabled&&this._disableDatepicker(a)},_attachments:function(a,b){var c=this._get(b,"appendText"),d=this._get(b,"isRTL");b.append&&b.append.remove(),c&&(b.append=$('<span class="'+this._appendClass+'">'+c+"</span>"),a[d?"before":"after"](b.append)),a.unbind("focus",this._showDatepicker),b.trigger&&b.trigger.remove();var e=this._get(b,"showOn");(e=="focus"||e=="both")&&a.focus(this._showDatepicker);if(e=="button"||e=="both"){var f=this._get(b,"buttonText"),g=this._get(b,"buttonImage");b.trigger=$(this._get(b,"buttonImageOnly")?$("<img/>").addClass(this._triggerClass).attr({src:g,alt:f,title:f}):$('<button type="button"></button>').addClass(this._triggerClass).html(g==""?f:$("<img/>").attr({src:g,alt:f,title:f}))),a[d?"before":"after"](b.trigger),b.trigger.click(function(){return $.datepicker._datepickerShowing&&$.datepicker._lastInput==a[0]?$.datepicker._hideDatepicker():$.datepicker._datepickerShowing&&$.datepicker._lastInput!=a[0]?($.datepicker._hideDatepicker(),$.datepicker._showDatepicker(a[0])):$.datepicker._showDatepicker(a[0]),!1})}},_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 d=function(a){var b=0,c=0;for(var d=0;d<a.length;d++)a[d].length>b&&(b=a[d].length,c=d);return c};b.setMonth(d(this._get(a,c.match(/MM/)?"monthNames":"monthNamesShort"))),b.setDate(d(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=$(a);if(c.hasClass(this.markerClassName))return;c.addClass(this.markerClassName).append(b.dpDiv).bind("setData.datepicker",function(a,c,d){b.settings[c]=d}).bind("getData.datepicker",function(a,c){return this._get(b,c)}),$.data(a,PROP_NAME,b),this._setDate(b,this._getDefaultDate(b),!0),this._updateDatepicker(b),this._updateAlternate(b),b.settings.disabled&&this._disableDatepicker(a),b.dpDiv.css("display","block")},_dialogDatepicker:function(a,b,c,d,e){var f=this._dialogInst;if(!f){this.uuid+=1;var g="dp"+this.uuid;this._dialogInput=$('<input type="text" id="'+g+'" style="position: absolute; top: -100px; width: 0px;"/>'),this._dialogInput.keydown(this._doKeyDown),$("body").append(this._dialogInput),f=this._dialogInst=this._newInst(this._dialogInput,!1),f.settings={},$.data(this._dialogInput[0],PROP_NAME,f)}extendRemove(f.settings,d||{}),b=b&&b.constructor==Date?this._formatDate(f,b):b,this._dialogInput.val(b),this._pos=e?e.length?e:[e.pageX,e.pageY]:null;if(!this._pos){var h=document.documentElement.clientWidth,i=document.documentElement.clientHeight,j=document.documentElement.scrollLeft||document.body.scrollLeft,k=document.documentElement.scrollTop||document.body.scrollTop;this._pos=[h/2-100+j,i/2-150+k]}return this._dialogInput.css("left",this._pos[0]+20+"px").css("top",this._pos[1]+"px"),f.settings.onSelect=c,this._inDialog=!0,this.dpDiv.addClass(this._dialogClass),this._showDatepicker(this._dialogInput[0]),$.blockUI&&$.blockUI(this.dpDiv),$.data(this._dialogInput[0],PROP_NAME,f),this},_destroyDatepicker:function(a){var b=$(a),c=$.data(a,PROP_NAME);if(!b.hasClass(this.markerClassName))return;var d=a.nodeName.toLowerCase();$.removeData(a,PROP_NAME),d=="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)):(d=="div"||d=="span")&&b.removeClass(this.markerClassName).empty()},_enableDatepicker:function(a){var b=$(a),c=$.data(a,PROP_NAME);if(!b.hasClass(this.markerClassName))return;var d=a.nodeName.toLowerCase();if(d=="input")a.disabled=!1,c.trigger.filter("button").each(function(){this.disabled=!1}).end().filter("img").css({opacity:"1.0",cursor:""});else if(d=="div"||d=="span"){var e=b.children("."+this._inlineClass);e.children().removeClass("ui-state-disabled"),e.find("select.ui-datepicker-month, select.ui-datepicker-year").removeAttr("disabled")}this._disabledInputs=$.map(this._disabledInputs,function(b){return b==a?null:b})},_disableDatepicker:function(a){var b=$(a),c=$.data(a,PROP_NAME);if(!b.hasClass(this.markerClassName))return;var d=a.nodeName.toLowerCase();if(d=="input")a.disabled=!0,c.trigger.filter("button").each(function(){this.disabled=!0}).end().filter("img").css({opacity:"0.5",cursor:"default"});else if(d=="div"||d=="span"){var e=b.children("."+this._inlineClass);e.children().addClass("ui-state-disabled"),e.find("select.ui-datepicker-month, select.ui-datepicker-year").attr("disabled","disabled")}this._disabledInputs=$.map(this._disabledInputs,function(b){return b==a?null:b}),this._disabledInputs[this._disabledInputs.length]=a},_isDisabledDatepicker:function(a){if(!a)return!1;for(var b=0;b<this._disabledInputs.length;b++)if(this._disabledInputs[b]==a)return!0;return!1},_getInst:function(a){try{return $.data(a,PROP_NAME)}catch(b){throw"Missing instance data for this datepicker"}},_optionDatepicker:function(a,b,c){var d=this._getInst(a);if(arguments.length==2&&typeof b=="string")return b=="defaults"?$.extend({},$.datepicker._defaults):d?b=="all"?$.extend({},d.settings):this._get(d,b):null;var e=b||{};typeof b=="string"&&(e={},e[b]=c);if(d){this._curInst==d&&this._hideDatepicker();var f=this._getDateDatepicker(a,!0),g=this._getMinMaxDate(d,"min"),h=this._getMinMaxDate(d,"max");extendRemove(d.settings,e),g!==null&&e.dateFormat!==undefined&&e.minDate===undefined&&(d.settings.minDate=this._formatDate(d,g)),h!==null&&e.dateFormat!==undefined&&e.maxDate===undefined&&(d.settings.maxDate=this._formatDate(d,h)),this._attachments($(a),d),this._autoSize(d),this._setDate(d,f),this._updateAlternate(d),this._updateDatepicker(d)}},_changeDatepicker:function(a,b,c){this._optionDatepicker(a,b,c)},_refreshDatepicker:function(a){var b=this._getInst(a);b&&this._updateDatepicker(b)},_setDateDatepicker:function(a,b){var c=this._getInst(a);c&&(this._setDate(c,b),this._updateDatepicker(c),this._updateAlternate(c))},_getDateDatepicker:function(a,b){var c=this._getInst(a);return c&&!c.inline&&this._setDateFromField(c,b),c?this._getDate(c):null},_doKeyDown:function(a){var b=$.datepicker._getInst(a.target),c=!0,d=b.dpDiv.is(".ui-datepicker-rtl");b._keyEvent=!0;if($.datepicker._datepickerShowing)switch(a.keyCode){case 9:$.datepicker._hideDatepicker(),c=!1;break;case 13:var e=$("td."+$.datepicker._dayOverClass+":not(."+$.datepicker._currentClass+")",b.dpDiv);e[0]&&$.datepicker._selectDay(a.target,b.selectedMonth,b.selectedYear,e[0]);var f=$.datepicker._get(b,"onSelect");if(f){var g=$.datepicker._formatDate(b);f.apply(b.input?b.input[0]:null,[g,b])}else $.datepicker._hideDatepicker();return!1;case 27:$.datepicker._hideDatepicker();break;case 33:$.datepicker._adjustDate(a.target,a.ctrlKey?-$.datepicker._get(b,"stepBigMonths"):-$.datepicker._get(b,"stepMonths"),"M");break;case 34:$.datepicker._adjustDate(a.target,a.ctrlKey?+$.datepicker._get(b,"stepBigMonths"):+$.datepicker._get(b,"stepMonths"),"M");break;case 35:(a.ctrlKey||a.metaKey)&&$.datepicker._clearDate(a.target),c=a.ctrlKey||a.metaKey;break;case 36:(a.ctrlKey||a.metaKey)&&$.datepicker._gotoToday(a.target),c=a.ctrlKey||a.metaKey;break;case 37:(a.ctrlKey||a.metaKey)&&$.datepicker._adjustDate(a.target,d?1:-1,"D"),c=a.ctrlKey||a.metaKey,a.originalEvent.altKey&&$.datepicker._adjustDate(a.target,a.ctrlKey?-$.datepicker._get(b,"stepBigMonths"):-$.datepicker._get(b,"stepMonths"),"M");break;case 38:(a.ctrlKey||a.metaKey)&&$.datepicker._adjustDate(a.target,-7,"D"),c=a.ctrlKey||a.metaKey;break;case 39:(a.ctrlKey||a.metaKey)&&$.datepicker._adjustDate(a.target,d?-1:1,"D"),c=a.ctrlKey||a.metaKey,a.originalEvent.altKey&&$.datepicker._adjustDate(a.target,a.ctrlKey?+$.datepicker._get(b,"stepBigMonths"):+$.datepicker._get(b,"stepMonths"),"M");break;case 40:(a.ctrlKey||a.metaKey)&&$.datepicker._adjustDate(a.target,7,"D"),c=a.ctrlKey||a.metaKey;break;default:c=!1}else a.keyCode==36&&a.ctrlKey?$.datepicker._showDatepicker(this):c=!1;c&&(a.preventDefault(),a.stopPropagation())},_doKeyPress:function(a){var b=$.datepicker._getInst(a.target);if($.datepicker._get(b,"constrainInput")){var c=$.datepicker._possibleChars($.datepicker._get(b,"dateFormat")),d=String.fromCharCode(a.charCode==undefined?a.keyCode:a.charCode);return a.ctrlKey||a.metaKey||d<" "||!c||c.indexOf(d)>-1}},_doKeyUp:function(a){var b=$.datepicker._getInst(a.target);if(b.input.val()!=b.lastVal)try{var c=$.datepicker.parseDate($.datepicker._get(b,"dateFormat"),b.input?b.input.val():null,$.datepicker._getFormatConfig(b));c&&($.datepicker._setDateFromField(b),$.datepicker._updateAlternate(b),$.datepicker._updateDatepicker(b))}catch(d){$.datepicker.log(d)}return!0},_showDatepicker:function(a){a=a.target||a,a.nodeName.toLowerCase()!="input"&&(a=$("input",a.parentNode)[0]);if($.datepicker._isDisabledDatepicker(a)||$.datepicker._lastInput==a)return;var b=$.datepicker._getInst(a);$.datepicker._curInst&&$.datepicker._curInst!=b&&($.datepicker._curInst.dpDiv.stop(!0,!0),b&&$.datepicker._datepickerShowing&&$.datepicker._hideDatepicker($.datepicker._curInst.input[0]));var c=$.datepicker._get(b,"beforeShow"),d=c?c.apply(a,[a,b]):{};if(d===!1)return;extendRemove(b.settings,d),b.lastVal=null,$.datepicker._lastInput=a,$.datepicker._setDateFromField(b),$.datepicker._inDialog&&(a.value=""),$.datepicker._pos||($.datepicker._pos=$.datepicker._findPos(a),$.datepicker._pos[1]+=a.offsetHeight);var e=!1;$(a).parents().each(function(){return e|=$(this).css("position")=="fixed",!e}),e&&$.browser.opera&&($.datepicker._pos[0]-=document.documentElement.scrollLeft,$.datepicker._pos[1]-=document.documentElement.scrollTop);var f={left:$.datepicker._pos[0],top:$.datepicker._pos[1]};$.datepicker._pos=null,b.dpDiv.empty(),b.dpDiv.css({position:"absolute",display:"block",top:"-1000px"}),$.datepicker._updateDatepicker(b),f=$.datepicker._checkOffset(b,f,e),b.dpDiv.css({position:$.datepicker._inDialog&&$.blockUI?"static":e?"fixed":"absolute",display:"none",left:f.left+"px",top:f.top+"px"});if(!b.inline){var g=$.datepicker._get(b,"showAnim"),h=$.datepicker._get(b,"duration"),i=function(){var a=b.dpDiv.find("iframe.ui-datepicker-cover");if(!!a.length){var c=$.datepicker._getBorders(b.dpDiv);a.css({left:-c[0],top:-c[1],width:b.dpDiv.outerWidth(),height:b.dpDiv.outerHeight()})}};b.dpDiv.zIndex($(a).zIndex()+1),$.datepicker._datepickerShowing=!0,$.effects&&$.effects[g]?b.dpDiv.show(g,$.datepicker._get(b,"showOptions"),h,i):b.dpDiv[g||"show"](g?h:null,i),(!g||!h)&&i(),b.input.is(":visible")&&!b.input.is(":disabled")&&b.input.focus(),$.datepicker._curInst=b}},_updateDatepicker:function(a){var b=this;b.maxRows=4;var c=$.datepicker._getBorders(a.dpDiv);instActive=a,a.dpDiv.empty().append(this._generateHTML(a)),this._attachHandlers(a);var d=a.dpDiv.find("iframe.ui-datepicker-cover");!d.length||d.css({left:-c[0],top:-c[1],width:a.dpDiv.outerWidth(),height:a.dpDiv.outerHeight()}),a.dpDiv.find("."+this._dayOverClass+" a").mouseover();var e=this._getNumberOfMonths(a),f=e[1],g=17;a.dpDiv.removeClass("ui-datepicker-multi-2 ui-datepicker-multi-3 ui-datepicker-multi-4").width(""),f>1&&a.dpDiv.addClass("ui-datepicker-multi-"+f).css("width",g*f+"em"),a.dpDiv[(e[0]!=1||e[1]!=1?"add":"remove")+"Class"]("ui-datepicker-multi"),a.dpDiv[(this._get(a,"isRTL")?"add":"remove")+"Class"]("ui-datepicker-rtl"),a==$.datepicker._curInst&&$.datepicker._datepickerShowing&&a.input&&a.input.is(":visible")&&!a.input.is(":disabled")&&a.input[0]!=document.activeElement&&a.input.focus();if(a.yearshtml){var h=a.yearshtml;setTimeout(function(){h===a.yearshtml&&a.yearshtml&&a.dpDiv.find("select.ui-datepicker-year:first").replaceWith(a.yearshtml),h=a.yearshtml=null},0)}},_getBorders:function(a){var b=function(a){return{thin:1,medium:2,thick:3}[a]||a};return[parseFloat(b(a.css("border-left-width"))),parseFloat(b(a.css("border-top-width")))]},_checkOffset:function(a,b,c){var d=a.dpDiv.outerWidth(),e=a.dpDiv.outerHeight(),f=a.input?a.input.outerWidth():0,g=a.input?a.input.outerHeight():0,h=document.documentElement.clientWidth+(c?0:$(document).scrollLeft()),i=document.documentElement.clientHeight+(c?0:$(document).scrollTop());return b.left-=this._get(a,"isRTL")?d-f:0,b.left-=c&&b.left==a.input.offset().left?$(document).scrollLeft():0,b.top-=c&&b.top==a.input.offset().top+g?$(document).scrollTop():0,b.left-=Math.min(b.left,b.left+d>h&&h>d?Math.abs(b.left+d-h):0),b.top-=Math.min(b.top,b.top+e>i&&i>e?Math.abs(e+g):0),b},_findPos:function(a){var b=this._getInst(a),c=this._get(b,"isRTL");while(a&&(a.type=="hidden"||a.nodeType!=1||$.expr.filters.hidden(a)))a=a[c?"previousSibling":"nextSibling"];var d=$(a).offset();return[d.left,d.top]},_hideDatepicker:function(a){var b=this._curInst;if(!b||a&&b!=$.data(a,PROP_NAME))return;if(this._datepickerShowing){var c=this._get(b,"showAnim"),d=this._get(b,"duration"),e=function(){$.datepicker._tidyDialog(b)};$.effects&&$.effects[c]?b.dpDiv.hide(c,$.datepicker._get(b,"showOptions"),d,e):b.dpDiv[c=="slideDown"?"slideUp":c=="fadeIn"?"fadeOut":"hide"](c?d:null,e),c||e(),this._datepickerShowing=!1;var f=this._get(b,"onClose");f&&f.apply(b.input?b.input[0]:null,[b.input?b.input.val():"",b]),this._lastInput=null,this._inDialog&&(this._dialogInput.css({position:"absolute",left:"0",top:"-100px"}),$.blockUI&&($.unblockUI(),$("body").append(this.dpDiv))),this._inDialog=!1}},_tidyDialog:function(a){a.dpDiv.removeClass(this._dialogClass).unbind(".ui-datepicker-calendar")},_checkExternalClick:function(a){if(!$.datepicker._curInst)return;var b=$(a.target),c=$.datepicker._getInst(b[0]);(b[0].id!=$.datepicker._mainDivId&&b.parents("#"+$.datepicker._mainDivId).length==0&&!b.hasClass($.datepicker.markerClassName)&&!b.closest("."+$.datepicker._triggerClass).length&&$.datepicker._datepickerShowing&&(!$.datepicker._inDialog||!$.blockUI)||b.hasClass($.datepicker.markerClassName)&&$.datepicker._curInst!=c)&&$.datepicker._hideDatepicker()},_adjustDate:function(a,b,c){var d=$(a),e=this._getInst(d[0]);if(this._isDisabledDatepicker(d[0]))return;this._adjustInstDate(e,b+(c=="M"?this._get(e,"showCurrentAtPos"):0),c),this._updateDatepicker(e)},_gotoToday:function(a){var b=$(a),c=this._getInst(b[0]);if(this._get(c,"gotoCurrent")&&c.currentDay)c.selectedDay=c.currentDay,c.drawMonth=c.selectedMonth=c.currentMonth,c.drawYear=c.selectedYear=c.currentYear;else{var d=new Date;c.selectedDay=d.getDate(),c.drawMonth=c.selectedMonth=d.getMonth(),c.drawYear=c.selectedYear=d.getFullYear()}this._notifyChange(c),this._adjustDate(b)},_selectMonthYear:function(a,b,c){var d=$(a),e=this._getInst(d[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(d)},_selectDay:function(a,b,c,d){var e=$(a);if($(d).hasClass(this._unselectableClass)||this._isDisabledDatepicker(e[0]))return;var f=this._getInst(e[0]);f.selectedDay=f.currentDay=$("a",d).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){var b=$(a),c=this._getInst(b[0]);this._selectDate(b,"")},_selectDate:function(a,b){var c=$(a),d=this._getInst(c[0]);b=b!=null?b:this._formatDate(d),d.input&&d.input.val(b),this._updateAlternate(d);var e=this._get(d,"onSelect");e?e.apply(d.input?d.input[0]:null,[b,d]):d.input&&d.input.trigger("change"),d.inline?this._updateDatepicker(d):(this._hideDatepicker(),this._lastInput=d.input[0],typeof d.input[0]!="object"&&d.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"),d=this._getDate(a),e=this.formatDate(c,d,this._getFormatConfig(a));$(b).each(function(){$(this).val(e)})}},noWeekends:function(a){var b=a.getDay();return[b>0&&b<6,""]},iso8601Week:function(a){var b=new Date(a.getTime());b.setDate(b.getDate()+4-(b.getDay()||7));var c=b.getTime();return b.setMonth(0),b.setDate(1),Math.floor(Math.round((c-b)/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 d=(c?c.shortYearCutoff:null)||this._defaults.shortYearCutoff;d=typeof d!="string"?d:(new Date).getFullYear()%100+parseInt(d,10);var e=(c?c.dayNamesShort:null)||this._defaults.dayNamesShort,f=(c?c.dayNames:null)||this._defaults.dayNames,g=(c?c.monthNamesShort:null)||this._defaults.monthNamesShort,h=(c?c.monthNames:null)||this._defaults.monthNames,i=-1,j=-1,k=-1,l=-1,m=!1,n=function(b){var c=s+1<a.length&&a.charAt(s+1)==b;return c&&s++,c},o=function(a){var c=n(a),d=a=="@"?14:a=="!"?20:a=="y"&&c?4:a=="o"?3:2,e=new RegExp("^\\d{1,"+d+"}"),f=b.substring(r).match(e);if(!f)throw"Missing number at position "+r;return r+=f[0].length,parseInt(f[0],10)},p=function(a,c,d){var e=$.map(n(a)?d:c,function(a,b){return[[b,a]]}).sort(function(a,b){return-(a[1].length-b[1].length)}),f=-1;$.each(e,function(a,c){var d=c[1];if(b.substr(r,d.length).toLowerCase()==d.toLowerCase())return f=c[0],r+=d.length,!1});if(f!=-1)return f+1;throw"Unknown name at position "+r},q=function(){if(b.charAt(r)!=a.charAt(s))throw"Unexpected literal at position "+r;r++},r=0;for(var s=0;s<a.length;s++)if(m)a.charAt(s)=="'"&&!n("'")?m=!1:q();else switch(a.charAt(s)){case"d":k=o("d");break;case"D":p("D",e,f);break;case"o":l=o("o");break;case"m":j=o("m");break;case"M":j=p("M",g,h);break;case"y":i=o("y");break;case"@":var t=new Date(o("@"));i=t.getFullYear(),j=t.getMonth()+1,k=t.getDate();break;case"!":var t=new Date((o("!")-this._ticksTo1970)/1e4);i=t.getFullYear(),j=t.getMonth()+1,k=t.getDate();break;case"'":n("'")?q():m=!0;break;default:q()}if(r<b.length)throw"Extra/unparsed characters found in date: "+b.substring(r);i==-1?i=(new Date).getFullYear():i<100&&(i+=(new Date).getFullYear()-(new Date).getFullYear()%100+(i<=d?0:-100));if(l>-1){j=1,k=l;do{var u=this._getDaysInMonth(i,j-1);if(k<=u)break;j++,k-=u}while(!0)}var t=this._daylightSavingAdjust(new Date(i,j-1,k));if(t.getFullYear()!=i||t.getMonth()+1!=j||t.getDate()!=k)throw"Invalid date";return t},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 d=(c?c.dayNamesShort:null)||this._defaults.dayNamesShort,e=(c?c.dayNames:null)||this._defaults.dayNames,f=(c?c.monthNamesShort:null)||this._defaults.monthNamesShort,g=(c?c.monthNames:null)||this._defaults.monthNames,h=function(b){var c=m+1<a.length&&a.charAt(m+1)==b;return c&&m++,c},i=function(a,b,c){var d=""+b;if(h(a))while(d.length<c)d="0"+d;return d},j=function(a,b,c,d){return h(a)?d[b]:c[b]},k="",l=!1;if(b)for(var m=0;m<a.length;m++)if(l)a.charAt(m)=="'"&&!h("'")?l=!1:k+=a.charAt(m);else switch(a.charAt(m)){case"d":k+=i("d",b.getDate(),2);break;case"D":k+=j("D",b.getDay(),d,e);break;case"o":k+=i("o",Math.round(((new Date(b.getFullYear(),b.getMonth(),b.getDate())).getTime()-(new Date(b.getFullYear(),0,0)).getTime())/864e5),3);break;case"m":k+=i("m",b.getMonth()+1,2);break;case"M":k+=j("M",b.getMonth(),f,g);break;case"y":k+=h("y")?b.getFullYear():(b.getYear()%100<10?"0":"")+b.getYear()%100;break;case"@":k+=b.getTime();break;case"!":k+=b.getTime()*1e4+this._ticksTo1970;break;case"'":h("'")?k+="'":l=!0;break;default:k+=a.charAt(m)}return k},_possibleChars:function(a){var b="",c=!1,d=function(b){var c=e+1<a.length&&a.charAt(e+1)==b;return c&&e++,c};for(var e=0;e<a.length;e++)if(c)a.charAt(e)=="'"&&!d("'")?c=!1:b+=a.charAt(e);else switch(a.charAt(e)){case"d":case"m":case"y":case"@":b+="0123456789";break;case"D":case"M":return null;case"'":d("'")?b+="'":c=!0;break;default:b+=a.charAt(e)}return b},_get:function(a,b){return a.settings[b]!==undefined?a.settings[b]:this._defaults[b]},_setDateFromField:function(a,b){if(a.input.val()==a.lastVal)return;var c=this._get(a,"dateFormat"),d=a.lastVal=a.input?a.input.val():null,e,f;e=f=this._getDefaultDate(a);var g=this._getFormatConfig(a);try{e=this.parseDate(c,d,g)||f}catch(h){this.log(h),d=b?"":d}a.selectedDay=e.getDate(),a.drawMonth=a.selectedMonth=e.getMonth(),a.drawYear=a.selectedYear=e.getFullYear(),a.currentDay=d?e.getDate():0,a.currentMonth=d?e.getMonth():0,a.currentYear=d?e.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 d=function(a){var b=new Date;return b.setDate(b.getDate()+a),b},e=function(b){try{return $.datepicker.parseDate($.datepicker._get(a,"dateFormat"),b,$.datepicker._getFormatConfig(a))}catch(c){}var d=(b.toLowerCase().match(/^c/)?$.datepicker._getDate(a):null)||new Date,e=d.getFullYear(),f=d.getMonth(),g=d.getDate(),h=/([+-]?[0-9]+)\s*(d|D|w|W|m|M|y|Y)?/g,i=h.exec(b);while(i){switch(i[2]||"d"){case"d":case"D":g+=parseInt(i[1],10);break;case"w":case"W":g+=parseInt(i[1],10)*7;break;case"m":case"M":f+=parseInt(i[1],10),g=Math.min(g,$.datepicker._getDaysInMonth(e,f));break;case"y":case"Y":e+=parseInt(i[1],10),g=Math.min(g,$.datepicker._getDaysInMonth(e,f))}i=h.exec(b)}return new Date(e,f,g)},f=b==null||b===""?c:typeof b=="string"?e(b):typeof b=="number"?isNaN(b)?c:d(b):new Date(b.getTime());return f=f&&f.toString()=="Invalid Date"?c:f,f&&(f.setHours(0),f.setMinutes(0),f.setSeconds(0),f.setMilliseconds(0)),this._daylightSavingAdjust(f)},_daylightSavingAdjust:function(a){return a?(a.setHours(a.getHours()>12?a.getHours()+2:0),a):null},_setDate:function(a,b,c){var d=!b,e=a.selectedMonth,f=a.selectedYear,g=this._restrictMinMax(a,this._determineDate(a,b,new Date));a.selectedDay=a.currentDay=g.getDate(),a.drawMonth=a.selectedMonth=a.currentMonth=g.getMonth(),a.drawYear=a.selectedYear=a.currentYear=g.getFullYear(),(e!=a.selectedMonth||f!=a.selectedYear)&&!c&&this._notifyChange(a),this._adjustInstDate(a),a.input&&a.input.val(d?"":this._formatDate(a))},_getDate:function(a){var b=!a.currentYear||a.input&&a.input.val()==""?null:this._daylightSavingAdjust(new Date(a.currentYear,a.currentMonth,a.currentDay));return b},_attachHandlers:function(a){var b=this._get(a,"stepMonths"),c="#"+a.id.replace(/\\\\/g,"\\");a.dpDiv.find("[data-handler]").map(function(){var a={prev:function(){window["DP_jQuery_"+dpuuid].datepicker._adjustDate(c,-b,"M")},next:function(){window["DP_jQuery_"+dpuuid].datepicker._adjustDate(c,+b,"M")},hide:function(){window["DP_jQuery_"+dpuuid].datepicker._hideDatepicker()},today:function(){window["DP_jQuery_"+dpuuid].datepicker._gotoToday(c)},selectDay:function(){return window["DP_jQuery_"+dpuuid].datepicker._selectDay(c,+this.getAttribute("data-month"),+this.getAttribute("data-year"),this),!1},selectMonth:function(){return window["DP_jQuery_"+dpuuid].datepicker._selectMonthYear(c,this,"M"),!1},selectYear:function(){return window["DP_jQuery_"+dpuuid].datepicker._selectMonthYear(c,this,"Y"),!1}};$(this).bind(this.getAttribute("data-event"),a[this.getAttribute("data-handler")])})},_generateHTML:function(a){var b=new Date;b=this._daylightSavingAdjust(new Date(b.getFullYear(),b.getMonth(),b.getDate()));var c=this._get(a,"isRTL"),d=this._get(a,"showButtonPanel"),e=this._get(a,"hideIfNoPrevNext"),f=this._get(a,"navigationAsDateFormat"),g=this._getNumberOfMonths(a),h=this._get(a,"showCurrentAtPos"),i=this._get(a,"stepMonths"),j=g[0]!=1||g[1]!=1,k=this._daylightSavingAdjust(a.currentDay?new Date(a.currentYear,a.currentMonth,a.currentDay):new Date(9999,9,9)),l=this._getMinMaxDate(a,"min"),m=this._getMinMaxDate(a,"max"),n=a.drawMonth-h,o=a.drawYear;n<0&&(n+=12,o--);if(m){var p=this._daylightSavingAdjust(new Date(m.getFullYear(),m.getMonth()-g[0]*g[1]+1,m.getDate()));p=l&&p<l?l:p;while(this._daylightSavingAdjust(new Date(o,n,1))>p)n--,n<0&&(n=11,o--)}a.drawMonth=n,a.drawYear=o;var q=this._get(a,"prevText");q=f?this.formatDate(q,this._daylightSavingAdjust(new Date(o,n-i,1)),this._getFormatConfig(a)):q;var r=this._canAdjustMonth(a,-1,o,n)?'<a class="ui-datepicker-prev ui-corner-all" data-handler="prev" data-event="click" title="'+q+'"><span class="ui-icon ui-icon-circle-triangle-'+(c?"e":"w")+'">'+q+"</span></a>":e?"":'<a class="ui-datepicker-prev ui-corner-all ui-state-disabled" title="'+q+'"><span class="ui-icon ui-icon-circle-triangle-'+(c?"e":"w")+'">'+q+"</span></a>",s=this._get(a,"nextText");s=f?this.formatDate(s,this._daylightSavingAdjust(new Date(o,n+i,1)),this._getFormatConfig(a)):s;var t=this._canAdjustMonth(a,1,o,n)?'<a class="ui-datepicker-next ui-corner-all" data-handler="next" data-event="click" title="'+s+'"><span class="ui-icon ui-icon-circle-triangle-'+(c?"w":"e")+'">'+s+"</span></a>":e?"":'<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>",u=this._get(a,"currentText"),v=this._get(a,"gotoCurrent")&&a.currentDay?k:b;u=f?this.formatDate(u,v,this._getFormatConfig(a)):u;var w=a.inline?"":'<button type="button" class="ui-datepicker-close ui-state-default ui-priority-primary ui-corner-all" data-handler="hide" data-event="click">'+this._get(a,"closeText")+"</button>",x=d?'<div class="ui-datepicker-buttonpane ui-widget-content">'+(c?w:"")+(this._isInRange(a,v)?'<button type="button" class="ui-datepicker-current ui-state-default ui-priority-secondary ui-corner-all" data-handler="today" data-event="click">'+u+"</button>":"")+(c?"":w)+"</div>":"",y=parseInt(this._get(a,"firstDay"),10);y=isNaN(y)?0:y;var z=this._get(a,"showWeek"),A=this._get(a,"dayNames"),B=this._get(a,"dayNamesShort"),C=this._get(a,"dayNamesMin"),D=this._get(a,"monthNames"),E=this._get(a,"monthNamesShort"),F=this._get(a,"beforeShowDay"),G=this._get(a,"showOtherMonths"),H=this._get(a,"selectOtherMonths"),I=this._get(a,"calculateWeek")||this.iso8601Week,J=this._getDefaultDate(a),K="";for(var L=0;L<g[0];L++){var M="";this.maxRows=4;for(var N=0;N<g[1];N++){var O=this._daylightSavingAdjust(new Date(o,n,a.selectedDay)),P=" ui-corner-all",Q="";if(j){Q+='<div class="ui-datepicker-group';if(g[1]>1)switch(N){case 0:Q+=" ui-datepicker-group-first",P=" ui-corner-"+(c?"right":"left");break;case g[1]-1:Q+=" ui-datepicker-group-last",P=" ui-corner-"+(c?"left":"right");break;default:Q+=" ui-datepicker-group-middle",P=""}Q+='">'}Q+='<div class="ui-datepicker-header ui-widget-header ui-helper-clearfix'+P+'">'+(/all|left/.test(P)&&L==0?c?t:r:"")+(/all|right/.test(P)&&L==0?c?r:t:"")+this._generateMonthYearHeader(a,n,o,l,m,L>0||N>0,D,E)+'</div><table class="ui-datepicker-calendar"><thead>'+"<tr>";var R=z?'<th class="ui-datepicker-week-col">'+this._get(a,"weekHeader")+"</th>":"";for(var S=0;S<7;S++){var T=(S+y)%7;R+="<th"+((S+y+6)%7>=5?' class="ui-datepicker-week-end"':"")+">"+'<span title="'+A[T]+'">'+C[T]+"</span></th>"}Q+=R+"</tr></thead><tbody>";var U=this._getDaysInMonth(o,n);o==a.selectedYear&&n==a.selectedMonth&&(a.selectedDay=Math.min(a.selectedDay,U));var V=(this._getFirstDayOfMonth(o,n)-y+7)%7,W=Math.ceil((V+U)/7),X=j?this.maxRows>W?this.maxRows:W:W;this.maxRows=X;var Y=this._daylightSavingAdjust(new Date(o,n,1-V));for(var Z=0;Z<X;Z++){Q+="<tr>";var _=z?'<td class="ui-datepicker-week-col">'+this._get(a,"calculateWeek")(Y)+"</td>":"";for(var S=0;S<7;S++){var ba=F?F.apply(a.input?a.input[0]:null,[Y]):[!0,""],bb=Y.getMonth()!=n,bc=bb&&!H||!ba[0]||l&&Y<l||m&&Y>m;_+='<td class="'+((S+y+6)%7>=5?" ui-datepicker-week-end":"")+(bb?" ui-datepicker-other-month":"")+(Y.getTime()==O.getTime()&&n==a.selectedMonth&&a._keyEvent||J.getTime()==Y.getTime()&&J.getTime()==O.getTime()?" "+this._dayOverClass:"")+(bc?" "+this._unselectableClass+" ui-state-disabled":"")+(bb&&!G?"":" "+ba[1]+(Y.getTime()==k.getTime()?" "+this._currentClass:"")+(Y.getTime()==b.getTime()?" ui-datepicker-today":""))+'"'+((!bb||G)&&ba[2]?' title="'+ba[2]+'"':"")+(bc?"":' data-handler="selectDay" data-event="click" data-month="'+Y.getMonth()+'" data-year="'+Y.getFullYear()+'"')+">"+(bb&&!G?"&#xa0;":bc?'<span class="ui-state-default">'+Y.getDate()+"</span>":'<a class="ui-state-default'+(Y.getTime()==b.getTime()?" ui-state-highlight":"")+(Y.getTime()==k.getTime()?" ui-state-active":"")+(bb?" ui-priority-secondary":"")+'" href="#">'+Y.getDate()+"</a>")+"</td>",Y.setDate(Y.getDate()+1),Y=this._daylightSavingAdjust(Y)}Q+=_+"</tr>"}n++,n>11&&(n=0,o++),Q+="</tbody></table>"+(j?"</div>"+(g[0]>0&&N==g[1]-1?'<div class="ui-datepicker-row-break"></div>':""):""),M+=Q}K+=M}return K+=x+($.browser.msie&&parseInt($.browser.version,10)<7&&!a.inline?'<iframe src="javascript:false;" class="ui-datepicker-cover" frameborder="0"></iframe>':""),a._keyEvent=!1,K},_generateMonthYearHeader:function(a,b,c,d,e,f,g,h){var i=this._get(a,"changeMonth"),j=this._get(a,"changeYear"),k=this._get(a,"showMonthAfterYear"),l='<div class="ui-datepicker-title">',m="";if(f||!i)m+='<span class="ui-datepicker-month">'+g[b]+"</span>";else{var n=d&&d.getFullYear()==c,o=e&&e.getFullYear()==c;m+='<select class="ui-datepicker-month" data-handler="selectMonth" data-event="change">';for(var p=0;p<12;p++)(!n||p>=d.getMonth())&&(!o||p<=e.getMonth())&&(m+='<option value="'+p+'"'+(p==b?' selected="selected"':"")+">"+h[p]+"</option>");m+="</select>"}k||(l+=m+(f||!i||!j?"&#xa0;":""));if(!a.yearshtml){a.yearshtml="";if(f||!j)l+='<span class="ui-datepicker-year">'+c+"</span>";else{var q=this._get(a,"yearRange").split(":"),r=(new Date).getFullYear(),s=function(a){var b=a.match(/c[+-].*/)?c+parseInt(a.substring(1),10):a.match(/[+-].*/)?r+parseInt(a,10):parseInt(a,10);return isNaN(b)?r:b},t=s(q[0]),u=Math.max(t,s(q[1]||""));t=d?Math.max(t,d.getFullYear()):t,u=e?Math.min(u,e.getFullYear()):u,a.yearshtml+='<select class="ui-datepicker-year" data-handler="selectYear" data-event="change">';for(;t<=u;t++)a.yearshtml+='<option value="'+t+'"'+(t==c?' selected="selected"':"")+">"+t+"</option>";a.yearshtml+="</select>",l+=a.yearshtml,a.yearshtml=null}}return l+=this._get(a,"yearSuffix"),k&&(l+=(f||!i||!j?"&#xa0;":"")+m),l+="</div>",l},_adjustInstDate:function(a,b,c){var d=a.drawYear+(c=="Y"?b:0),e=a.drawMonth+(c=="M"?b:0),f=Math.min(a.selectedDay,this._getDaysInMonth(d,e))+(c=="D"?b:0),g=this._restrictMinMax(a,this._daylightSavingAdjust(new Date(d,e,f)));a.selectedDay=g.getDate(),a.drawMonth=a.selectedMonth=g.getMonth(),a.drawYear=a.selectedYear=g.getFullYear(),(c=="M"||c=="Y")&&this._notifyChange(a)},_restrictMinMax:function(a,b){var c=this._getMinMaxDate(a,"min"),d=this._getMinMaxDate(a,"max"),e=c&&b<c?c:b;return e=d&&e>d?d:e,e},_notifyChange:function(a){var b=this._get(a,"onChangeMonthYear");b&&b.apply(a.input?a.input[0]:null,[a.selectedYear,a.selectedMonth+1,a])},_getNumberOfMonths:function(a){var b=this._get(a,"numberOfMonths");return b==null?[1,1]:typeof b=="number"?[1,b]:b},_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,d){var e=this._getNumberOfMonths(a),f=this._daylightSavingAdjust(new Date(c,d+(b<0?b:e[0]*e[1]),1));return b<0&&f.setDate(this._getDaysInMonth(f.getFullYear(),f.getMonth())),this._isInRange(a,f)},_isInRange:function(a,b){var c=this._getMinMaxDate(a,"min"),d=this._getMinMaxDate(a,"max");return(!c||b.getTime()>=c.getTime())&&(!d||b.getTime()<=d.getTime())},_getFormatConfig:function(a){var b=this._get(a,"shortYearCutoff");return b=typeof b!="string"?b:(new Date).getFullYear()%100+parseInt(b,10),{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,d){b||(a.currentDay=a.selectedDay,a.currentMonth=a.selectedMonth,a.currentYear=a.selectedYear);var e=b?typeof b=="object"?b:this._daylightSavingAdjust(new Date(d,c,b)):this._daylightSavingAdjust(new Date(a.currentYear,a.currentMonth,a.currentDay));return this.formatDate(this._get(a,"dateFormat"),e,this._getFormatConfig(a))}}),$.fn.datepicker=function(a){if(!this.length)return this;$.datepicker.initialized||($(document).mousedown($.datepicker._checkExternalClick).find("body").append($.datepicker.dpDiv),$.datepicker.initialized=!0);var b=Array.prototype.slice.call(arguments,1);return typeof a!="string"||a!="isDisabled"&&a!="getDate"&&a!="widget"?a=="option"&&arguments.length==2&&typeof arguments[1]=="string"?$.datepicker["_"+a+"Datepicker"].apply($.datepicker,[this[0]].concat(b)):this.each(function(){typeof a=="string"?$.datepicker["_"+a+"Datepicker"].apply($.datepicker,[this].concat(b)):$.datepicker._attachDatepicker(this,a)}):$.datepicker["_"+a+"Datepicker"].apply($.datepicker,[this[0]].concat(b))},$.datepicker=new Datepicker,$.datepicker.initialized=!1,$.datepicker.uuid=(new Date).getTime(),$.datepicker.version="1.8.23",window["DP_jQuery_"+dpuuid]=$})(jQuery);;
\ No newline at end of file
index 11d6834..831c387 100644 (file)
         </div>
 
         <div id="sysinfo">
+        [% IF (warnIsRootUser) %]
+            <h2>Warning regarding current user</h2>
+            <p>It seems that you are logged in as database administrative user. A lot of things will not work with this account.</p>
+            <p>Usually you need to log in with a regular staff account. To create a staff account, create a branch, a patron category 'Staff' and add a new patron. Then give this patron permissions from 'More' in the toolbar.</p>
+        [% END %]
             <h2>Warnings regarding the system configuration</h2>
         [% IF ( (prefNoZebra) || (warnPrefBiblioAddsAuthorities) || warnPrefEasyAnalyticalRecords ) %]
         <table>
                 <li>Jon Aker</li>
                 <li>Edward Allen</li>
                 <li>Francisco M. Marzoa Alonso</li>
+                <li>Joseph Alway</li>
                 <li>Cindy Murdock Ames</li>
                 <li>Richard Anderson</li>
                 <li><a href="https://www.ohloh.net/p/koha/contributors/6620692181851">Nahuel Angelinetti</a></li>
                 <li>Gaetan Boisson</li>
                 <li>Danny Bouman</li>
                 <li>Stan Brinkerhoff</li>
+                <li>Ivan Brown</li>
                 <li>Roger Buck</li>
                 <li>Steven Callender</li>
                 <li><a href="https://www.ohloh.net/p/koha/contributors/6620692376789">Jared Camins-Esakov</a></li>
                 <li>Brig C. McCoy</li>
                 <li>Dorian Meid (German translation)</li>
                 <li>Meenakshi. R</li>
+                <li>Melia Meggs</li>
                 <li>Matthias Meusburger</li>
                 <li>Sophie Meynieux</li>
                 <li>Alan Millar</li>
                 <li><a href="https://www.ohloh.net/p/koha/contributors/6620692101577">Steve Tonnesen (early MARC work, Virtual Bookshelves concept, KohaCD)</a></li>
                 <li>Bruno Toumi</li>
                 <li>Andrei V. Toutoukine</li>
+                <li>Kathryn Tyree</li>
                 <li>Darrell Ulm</li>
                 <li>Universidad ORT Uruguay (Ernesto Silva, Andres Tarallo)</li>
                 <li>Marc Veron</li>
index 7a7e72a..98161b2 100644 (file)
                             [% ELSE %]
                             <li>
                             <label for="currency">Currency:</label>
-                            <select name="currency" id="currency" onchange="calcNeworderTotal();">
+                            <select name="currency" id="currency">
                             [% FOREACH loop_currencie IN loop_currencies %]
                                     [% IF ( loop_currencie.selected ) %]<option value="[% loop_currencie.currcode %]" selected="selected">[% loop_currencie.currcode %]</option>[% ELSE %]<option value="[% loop_currencie.currcode %]">[% loop_currencie.currcode %]</option>[% END %][% END %]
                             </select>
                         </li>
                         <li><div class="hint">The 2 following fields are available for your own usage. They can be useful for statistical purposes</div>
                             <label for="sort1">Planning value1: </label>
-
+                            <span id="sort1_zone">
                             [% IF CGIsort1 %]
                                 <select id="sort1" size="1" name="sort1">
                                 [% FOREACH sort_opt IN CGIsort1 %]
                             [% ELSE %]
                                 <input type="text" id="sort1" size="20" name="sort1" value="[% sort1 %]" />
                             [% END %]
+                            </span>
                         </li>
                         <li>
                             <label for="sort2">Planning value2: </label>
-
-                        [% IF CGIsort2 %]
-                            <select id="sort2" size="1" name="sort1">
-                            [% FOREACH sort_opt IN CGIsort2 %]
-                                [% IF sort_opt.default %]
-                                    <option value="[% sort_opt.id %]" selected="selected">[% sort_opt.label %]</option>
-                                [% ELSE %]
-                                    <option value="[% sort_opt.id %]">[% sort_opt.label %]</option>
+                            <span id="sort2_zone">
+                            [% IF CGIsort2 %]
+                                <select id="sort2" size="1" name="sort1">
+                                [% FOREACH sort_opt IN CGIsort2 %]
+                                    [% IF sort_opt.default %]
+                                        <option value="[% sort_opt.id %]" selected="selected">[% sort_opt.label %]</option>
+                                    [% ELSE %]
+                                        <option value="[% sort_opt.id %]">[% sort_opt.label %]</option>
+                                    [% END %]
                                 [% END %]
+                                </select>
+                            [% ELSE %]
+                                 <input type="text" id="sort2" size="20" name="sort2" value="[% sort2 %]" />
                             [% END %]
-                            </select>
-                        [% ELSE %]
-                             <input type="text" id="sort2" size="20" name="sort2" value="[% sort2 %]" />
-                        [% END %]
+                            </span>
                         </li>
                         <li>
                             
index dcd6ccb..f271823 100644 (file)
@@ -6,6 +6,32 @@
 <script type="text/javascript" src="[% themelang %]/lib/jquery/plugins/jquery.dataTables.min.js"></script>
 [% INCLUDE 'datatables-strings.inc' %]
 <script type="text/javascript" src="[% themelang %]/js/datatables.js"></script>
+
+<script type="text/javascript">
+//<![CDATA[
+    function updateColumnsVisibility(visible) {
+        if ( visible ) {
+            $("table .gste, .gsti").show();
+        } else {
+            [% IF ( listincgst ) %]
+                $("table .gste").hide();
+            [% ELSE %]
+                $("table .gsti").hide();
+            [% END %]
+        }
+    }
+
+    $(document).ready(function() {
+        $("#show_all_details").click(function(){
+            updateColumnsVisibility($(this+":checked").val());
+        });
+
+        $("#show_all_details").attr('checked', false);
+        updateColumnsVisibility(false);
+    });
+//]]>
+</script>
+
 [% UNLESS ( closedate ) %]
 <script type="text/javascript">
 //<![CDATA[
                         // YUI Toolbar Functions
                         function yuiToolbar() {
                             new YAHOO.widget.Button("reopenbutton");
+                            new YAHOO.widget.Button("exportbutton");
                         }
                         //]]>
                     </script>
                         <ul id="toolbar-list" class="toolbar">
                             <li><a href="javascript:confirm_reopen([% skip_confirm_reopen %]);" class="button" id="reopenbutton">Reopen this basket</a></li>
+                            <li><a href="[% script_name %]?op=export&amp;basketno=[% basketno %]&amp;booksellerid=[% booksellerid %]" class="button" id="exportbutton">Export this basket as CSV</a></li>
                         </ul>
                 </div>
                 [% END %]
                 [% IF ( basketcontractno ) %]
                     <li><span class="label">Contract name:</span> <a href="../admin/aqcontract.pl?op=add_form&amp;contractnumber=[% basketcontractno %]&amp;booksellerid=[% booksellerid %]">[% basketcontractname %]</a></li>
                 [% END %]
+                [% IF ( deliveryplace ) %]<li><span class="label">Delivery place:</span> [% deliveryplace %]</li>[% END %]
+                [% IF ( billingplace ) %]<li><span class="label">Billing place:</span> [% billingplace %]</li>[% END %]
                 [% IF ( authorisedbyname ) %]<li><span class="label">Managed by:</span>  [% authorisedbyname %]</li>[% END %]
                 [% IF ( creationdate ) %]<li><span class="label">Opened on:</span>  [% creationdate | $KohaDates %]</li>[% END %]
                 [% IF ( closedate ) %]<li><span class="label">Closed on:</span> [% closedate | $KohaDates %]</li>[% END %]
                         <input type="submit" value="Change basket group" /></p>
 
                     </form>
+                    [% IF ( basketgroupdeliveryplace ) %]<p>Basket group delivery place: [% basketgroupdeliveryplace %]</p>[% END %]
+                    [% IF ( basketgroupbillingplace ) %]<p>Basket group billing place: [% basketgroupbillingplace %]</p>[% END %]
                 </div>
                 [% END %]
             </div>
 
         [% UNLESS ( delete_confirm ) %]
         <div id="acqui_basket_content" class="yui-g">
-        <h2>Order Details</h2>
         [% IF ( books_loop ) %]
+        <h2>Orders</h2>
+        <label for="show_all_details">
+            <input type="checkbox" style="vertical-align: middle;" id="show_all_details" />
+            Show all details
+        </label>
             <table id="orders">
                 <thead>
                     <tr>
                         <th>Order</th>
-                        <th>RRP</th>
-                        <th>Est.</th>
+                        <th class="gste">RRP tax exc.</th>
+                        <th class="gste">ecost tax exc.</th>
+                        <th class="gsti">RRP tax inc.</th>
+                        <th class="gsti">ecost tax inc.</th>
                         <th>Qty.</th>
-                        <th>Total</th>
+                        <th class="gste">Total tax exc. ([% currency %])</th>
+                        <th class="gsti">Total tax inc. ([% currency %])</th>
+                        <th>GST %</th>
+                        <th>GST</th>
                         <th>Fund</th>
                         [% IF ( active ) %]
                             [% UNLESS ( closedate ) %]
                     </tr>
                 </thead>
                 <tfoot>
-                [% IF ( GST ) %]
-                <tr>
-                    <th scope="row">Total tax exc.</th>
-                    <td>[% total_rrp_gste %]</td>
-                    <td>&nbsp;</td>
-                    <td>[% qty_total %]</td>
-                    <td>[% total_est_gste %]</td>
+                [% FOREACH foot_loo IN book_foot_loop %]
+                    <tr>
+                        <th>Total (GST [% foot_loo.gstgsti %])</th>
+                        <th class="gste"/><th class="gste"/><th class="gsti"/><th class="gsti"/>
+                        <th>[% foot_loo.quantity %]</th>
+                        <th class="gste">[% foot_loo.totalgste %]</th>
+                        <th class="gsti">[% foot_loo.totalgsti %]</th>
+                        <th/>
+                        <th>[% foot_loo.gstvalue %]</th>
+                        <th/>
                         [% IF ( active ) %]
-                            [% IF ( closedate ) %]
-                            <td colspan="1" rowspan="3">&nbsp;</td>
-                            [% ELSE %]
-                            <td colspan="3" rowspan="3">&nbsp;</td>
+                            [% UNLESS ( closedate ) %]
+                                <th>&nbsp;</th>
+                                <th>&nbsp;</th>
                             [% END %]
                         [% END %]
-                </tr>
-                <tr>
-                    <th scope="row">Tax ([% gist_rate %])</th>
-                    <td>[% gist_rrp %]</td>
-                    <td>&nbsp;</td>
-                    <td>&nbsp;</td>
-                    <td>[% gist_est %]</td>
-                </tr>
-                <tr>
-                    <th scope="row">Total tax inc. ([% currency %])</th>
-                    <td>[% total_rrp_gsti %]</td>
-                    <td>&nbsp;</td>
-                    <td>[% qty_total %]</td>
-                    <td>[% total_est_gsti %]</td>
-                </tr>
-                [% ELSE %]
+                    </tr>
+                [% END %]
                 <tr>
-                    <th scope="row">Total ([% currency %])</th>
-                    <td>[% total_rrp_gsti %]</td>
-                    <td>&nbsp;</td>
-                    <td>[% qty_total %]</td>
-                    <td>[% total_est_gsti %]</td>
-                    <td colspan="3">&nbsp;</td>
+                    <th>Total ([% currency %])</th>
+                    <th class="gste"/><th class="gste"/><th class="gsti"/><th class="gsti"/>
+                    <th>[% total_quantity %]</th>
+                    <th class="gste">[% total_gste %]</th>
+                    <th class="gsti">[% total_gsti %]</th>
+                    <th/>
+                    <th>[% total_gstvalue %]</th>
+                    <th/>
+                    [% IF ( active ) %]
+                        [% UNLESS ( closedate ) %]
+                            <th>&nbsp;</th>
+                            <th>&nbsp;</th>
+                        [% END %]
+                    [% END %]
                 </tr>
-                [% END %]
                 </tfoot>
                 <tbody>
                 [% FOREACH books_loo IN books_loop %]
                                 [% END %]
                             </p>
                         </td>
-                        <td class="number [% IF books_loo.rrp.search('^0') %]error[% END %]">[% books_loo.rrp %]</td>
-                        <td class="number [% IF books_loo.ecost.search('^0') %]error[% END %]">[% books_loo.ecost %]</td>
+                        <td class="number gste [% IF books_loo.rrpgste.search('^0') %]error[% END %]">[% books_loo.rrpgste %]</td>
+                        <td class="number gste [% IF books_loo.ecostgste.search('^0') %]error[% END %]">[% books_loo.ecostgste %]</td>
+                        <td class="number gsti [% IF books_loo.rrpgsti.search('^0') %]error[% END %]">[% books_loo.rrpgsti %]</td>
+                        <td class="number gsti [% IF books_loo.ecostgsti.search('^0') %]error[% END %]">[% books_loo.ecostgsti %]</td>
                         <td class="number [% IF books_loo.quantity.search('^0') %]error[% END %]">[% books_loo.quantity %]</td>
-                        <td class="number [% IF books_loo.line_total.search('^0') %]error[% END %]">[% books_loo.line_total %]</td>
+                        <td class="number gste [% IF books_loo.totalgste.search('^0') %]error[% END %]">[% books_loo.totalgste %]</td>
+                        <td class="number gsti [% IF books_loo.totalgsti.search('^0') %]error[% END %]">[% books_loo.totalgsti %]</td>
+                        <td class="number [% IF books_loo.gstgsti.search('^0') %]error[% END %]">[% books_loo.gstgsti %]</td>
+                        <td class="number [% IF books_loo.gstvalue.search('^0') %]error[% END %]">[% books_loo.gstvalue %]</td>
                         <td>[% books_loo.budget_name %]</td>
                         [% IF ( active ) %]
                             [% UNLESS ( closedate ) %]
                 [% END %]
                 </tbody>
             </table>
-        [% ELSE %]
-            <table>
-                <tr><td>Basket empty</td></tr>
-            </table>
         [% END %]
         [% IF ( listincgst ) %]<small class="highlight">** Vendor's listings already include tax.</small>
         [% END %]
               <thead>
                 <tr>
                   <th>Order</th>
-                  <th>RRP</th>
-                  <th>Est.</th>
+                  <th class="gste">RRP tax exc.</th>
+                  <th class="gste">ecost tax exc.</th>
+                  <th class="gsti">RRP tax inc.</th>
+                  <th class="gsti">ecost tax inc.</th>
                   <th>Qty.</th>
-                  <th>Total</th>
+                  <th class="gste">Total tax exc. ([% currency %])</th>
+                  <th class="gsti">Total tax inc. ([% currency %])</th>
+                  <th>GST %</th>
+                  <th>GST</th>
                   <th>Fund</th>
                 </tr>
               </thead>
                         [% IF ( books_loo.editionstatement ) %], [% books_loo.editionstatement %][% END %]
                       </p>
                     </td>
-                    <td><p>[% order.rrp %]</p></td>
-                    <td><p>[% order.ecost %]</p></td>
-                    <td><p>[% order.quantity %]</p></td>
-                    <td><p>[% order.line_total %]</p></td>
-                    <td><p>[% order.budget_name %]</p></td>
+                    <td class="number gste">[% order.rrpgste %]</td>
+                    <td class="number gste">[% order.ecostgste %]</td>
+                    <td class="number gsti">[% order.rrpgsti %]</td>
+                    <td class="number gsti">[% order.ecostgsti %]</td>
+                    <td class="number">[% order.quantity %]</td>
+                    <td class="number gste">[% order.totalgste %]</td>
+                    <td class="number gsti">[% order.totalgsti %]</td>
+                    <td class="number">[% order.gstgsti %]</td>
+                    <td class="number">[% order.gstvalue %]</td>
+                    <td>[% order.budget_name %]
                   </tr>
                 [% END %]
               </tbody>
             <input type="hidden" name="booksellerid" value="[% booksellerid %]" />
             <input type="hidden" name="confirm" value="1" />
             <input type="hidden" name="basketgroupname" value="[% basketgroupname %]" />
-            <input type="submit" class="approve" value="Yes, Close (Y)" accesskey="y" />
-            <input type="submit" class="deny" value="No, Don't Close (N)" accesskey="n" onclick="javascript:window.location='/cgi-bin/koha/acqui/basket.pl?basketno=[% basketno %]';return false;" />
+            <input type="submit" class="approve" value="Yes, close (Y)" accesskey="y" />
+            <input type="submit" class="deny" value="No, don't close (N)" accesskey="n" onclick="javascript:window.location='/cgi-bin/koha/acqui/basket.pl?basketno=[% basketno %]';return false;" />
         </form>
         </div>
     [% END %]
index d02202c..65d3e6e 100644 (file)
@@ -203,6 +203,7 @@ function yuiToolbar() {
                                                        <input type="text" name="basketgroupname" id="basketgroupname" value="[% name %]" /></li>
                         <li><label for="billingplace">Billing place:</label>
                                                        <select name="billingplace" id="billingplace" style="width:13em;">
+                                <option value="">--</option>
                                                                [% FOREACH billingplaceloo IN billingplaceloop %]
                                        [% IF ( billingplaceloo.selected ) %]<option value="[% billingplaceloo.value %]" selected="selected">[% billingplaceloo.branchname %]</option>
                                        [% ELSE %]<option value="[% billingplaceloo.value %]">[% billingplaceloo.branchname %]</option>[% END%]
index 068171e..e1061da 100644 (file)
@@ -125,6 +125,36 @@ li.list2 {
                     <label for="basketname" class="required">Basket name</label> &nbsp;
                         <input type="text" name="basketname" id="basketname" size="40" maxlength="80" value="[% basketname %]" />
                 </li>
+                 <li>
+                    <label for="billingplace">Billing Place:</label>
+                    <select name="billingplace" id="billingplace">
+                        <option value="">--</option>
+                        [% FOREACH billingplace IN billingplaceloop %]
+                            [% IF ( billingplace.selected ) %]
+                                <option value="[% billingplace.value %]" selected="selected">
+                            [% ELSE %]
+                                <option value="[% billingplace.value %]">
+                            [% END %]
+                                [% billingplace.branchname %]
+                            </option>
+                        [% END %]
+                    </select>
+                </li>
+                <li>
+                    <label for="deliveryplace">Delivery  Place:</label>
+                    <select name="deliveryplace" id="deliveryplace">
+                        <option value="">--</option>
+                        [% FOREACH deliveryplace IN deliveryplaceloop %]
+                            [% IF ( deliveryplace.selected ) %]
+                                <option value="[% deliveryplace.value %]" selected="selected">
+                            [% ELSE %]
+                                <option value="[% deliveryplace.value %]">
+                            [% END %]
+                                [% deliveryplace.branchname %]
+                            </option>
+                        [% END %]
+                    </select>
+                </li>
                 <li>
                     <label for="basketbooksellerid">Vendor</label> &nbsp;
                     <select name="basketbooksellerid" id="basketbooksellerid">
index b6875be..5659c1d 100644 (file)
                <li><label for="name">Vendor: </label> <input type="text" name="name" id="name" value="[% name %]" /></li>
                <li><label for="basket">Basket: </label> <input type="text" name="basket" id="basket" value="[% basket %]" /></li>
         <li><label for="booksellerinvoicenumber ">Bookseller invoice no: </label> <input type="text" name="booksellerinvoicenumber" id="booksellerinvoicenumber" value="[% booksellerinvoicenumber %]" /></li>
+        <li>
+            <label for="basketgroupname">Basket group:</label>
+            <input type="text" name="basketgroupname" id="basketgroupname" value="[% basketgroupname %]" />
+        </li>
                <li><label for="from">From: </label> 
         <input type="text" size="10" id="from" name="from" value="[% from_placed_on %]" class="datepickerfrom" />
                                <div class="hint">[% INCLUDE 'date-format.inc' %]</div>
                         <br />[% suggestions_loo.author %] <br /> [% suggestions_loo.isbn %]</td>
                                        <td><a href="/cgi-bin/koha/acqui/supplier.pl?booksellerid=[% suggestions_loo.id %]">[% suggestions_loo.name %]</a></td>
                                        <td>[% suggestions_loo.creationdate | $KohaDates %]</td>
-                                       <td>[% suggestions_loo.datereceived | $KohaDates %]</td>
+                    <td>
+                        [% IF suggestions_loo.datereceived %]
+                            [% suggestions_loo.datereceived | $KohaDates %]
+                        [% END %]
+                    </td>
                                        <td>[% suggestions_loo.quantity %]</td>
                                        <td>[% suggestions_loo.ecost %]</td>
                                </tr>
diff --git a/koha-tmpl/intranet-tmpl/prog/en/modules/acqui/invoice.tt b/koha-tmpl/intranet-tmpl/prog/en/modules/acqui/invoice.tt
new file mode 100644 (file)
index 0000000..7b28b87
--- /dev/null
@@ -0,0 +1,175 @@
+[% USE KohaDates %]
+
+[% INCLUDE 'doc-head-open.inc' %]
+<title>Koha &rsaquo; Acquisitions &rsaquo; Invoice</title>
+<link rel="stylesheet" type="text/css" href="[% themelang %]/css/datatables.css" />
+[% INCLUDE 'doc-head-close.inc' %]
+[% INCLUDE 'calendar.inc' %]
+<script type="text/javascript" src="[% themelang %]/lib/jquery/plugins/jquery.dataTables.min.js"></script>
+[% INCLUDE 'datatables-strings.inc' %]
+<script type="text/javascript" src="[% themelang %]/js/datatables.js"></script>
+<script type="text/javascript">
+//<![CDATA[
+    $(document).ready(function() {
+        $("#orderst").dataTable($.extend(true, {}, dataTablesDefaults, {
+            bInfo: false,
+            bPaginate: false,
+            bFilter: false,
+            sDom: "t"
+        }));
+    });
+//]]>
+</script>
+</head>
+
+<body>
+[% INCLUDE 'header.inc' %]
+[% INCLUDE 'acquisitions-search.inc' %]
+
+<div id="breadcrumbs"><a href="/cgi-bin/koha/mainpage.pl">Home</a> &rsaquo; <a href="/cgi-bin/koha/acqui/acqui-home.pl">Acquisitions</a> &rsaquo; <a href="/cgi-bin/koha/acqui/invoices.pl">Invoices</a> &rsaquo; <a href="/cgi-bin/koha/acqui/invoice.pl?invoiceid=[% invoiceid %]">[% invoicenumber %]</a></div>
+
+<div id="doc3" class="yui-t2">
+
+<div id="bd">
+  <div id="yui-main">
+    <div class="yui-b">
+      [% IF ( modified ) %]
+        <div class="dialog">
+          <p>Invoice has been modified</p>
+        </div>
+      [% END %]
+      <h1>Invoice: [% invoicenumber %]</h1>
+
+      <p>Supplier: [% suppliername %]</p>
+      <form action="" method="post">
+        <fieldset>
+          <label for="shipmentdate">Shipment date:</label>
+          <input type="text" size="10" id="shipmentdate" name="shipmentdate" value="[% shipmentdate | $KohaDates %]" readonly="readonly" class="datepicker" />
+          <p></p>
+          <label for="billingdate">Billing date:</label>
+          <input type="text" size="10" id="billingdate" name="billingdate" value="[% billingdate | $KohaDates %]" readonly="readonly" class="datepicker" />
+          <p></p>
+          <label for="shipmentcost">Shipment cost:</label>
+          <input type="text" size="10" id="shipmentcost" name="shipmentcost" value="[% shipmentcost %]" />
+          <label for="shipment_budget_id">Budget:</label>
+          <select id="shipment_budget_id" name="shipment_budget_id">
+              <option value="">No budget</option>
+            [% FOREACH budget IN budgets_loop %]
+              [% IF ( budget.selected ) %]
+                <option selected="selected" value="[% budget.budget_id %]">
+              [% ELSE %]
+                <option value="[% budget.budget_id %]">
+              [% END %]
+                [% budget.budget_name %]
+              </option>
+            [% END %]
+          </select>
+          <p></p>
+          <label>Status:</label>
+          [% IF ( invoiceclosedate ) %]
+            Closed on [% invoiceclosedate | $KohaDates %].
+            <p></p>
+            <input type="checkbox" name="reopen" id="reopen" />
+            <label for="reopen">Reopen</label>
+          [% ELSE %]
+            Open.
+            <p></p>
+            <input type="checkbox" name="close" id="close" />
+            <label for="close">Close</label>
+          [% END %]
+          <input type="hidden" name="op" value="mod" />
+          <input type="hidden" name="invoiceid" value="[% invoiceid %]" />
+          <fieldset class="action">
+              <input type="submit" value="Save">
+          </fieldset>
+        </fieldset>
+      </form>
+      <p>
+          <a href="/cgi-bin/koha/acqui/parcel.pl?invoiceid=[% invoiceid %]">Go to receipt page</a>
+      </p>
+      <h2>Invoice details</h2>
+      [% IF orders_loop.size %]
+          <table id="orderst">
+            <thead>
+              <tr>
+                <th>Summary</th>
+                <th>Publisher</th>
+                <th>Branch</th>
+                <th>RRP</th>
+                <th>Est.</th>
+                <th>Qty.</th>
+                <th>Total</th>
+                <th>Fund</th>
+              </tr>
+            </thead>
+            <tbody>
+              [% FOREACH order IN orders_loop %]
+                <tr>
+                  <td><p><a href="/cgi-bin/koha/catalogue/detail.pl?biblionumber=[% order.biblionumber %]">[% order.title %]</a>
+                    [% IF ( order.author ) %]
+                      <br /><em>by</em> [% order.author %]
+                    [% END %]
+                  </p></td>
+                  <td>
+                    [% IF ( order.publishercode ) %]
+                      <p>[% order.publishercode %]
+                        [% IF ( order.publicationyear ) %]
+                          - [% order.publicationyear %]
+                        [% END %]
+                      </p>
+                    [% END %]
+                  </td>
+                  <td><p>[% order.branchcode %]</p></td>
+                  <td>[% order.rrp %]</td>
+                  <td>[% order.ecost %]</td>
+                  <td class="number">[% order.quantity %]</td>
+                  <td>[% order.total %]</td>
+                  <td>[% order.budget_name %]</td>
+                </tr>
+              [% END %]
+            </tbody>
+            <tfoot>
+                <tr>
+                    <th colspan="3">Total Tax Exc.</th>
+                    <th>[% total_rrp_gste %]</th>
+                    <th>&nbsp;</th>
+                    <th>[% total_quantity %]</th>
+                    <th>[% total_est_gste %]</th>
+                    <th>&nbsp;</th>
+                </tr>
+                <tr>
+                    <th colspan='3'>Tax ([% gist %]%)</th>
+                    <th>[% gist_rrp %]</th>
+                    <th>&nbsp;</th>
+                    <th>&nbsp;</th>
+                    <th>[% gist_est %]</th>
+                    <th>&nbsp;</th>
+                </tr>
+                <tr>
+                    <th colspan='3'>Total Tax Inc. ([% currency %])</th>
+                    <th>[% total_rrp_gsti %]</th>
+                    <th>&nbsp;</th>
+                    <th>[% total_quantity %]</th>
+                    <th>[% total_est_gsti %]</th>
+                    <th>&nbsp;</th>
+                </tr>
+                <tr>
+                    <th colspan="3">Total + Shipment cost ([% currency %])</th>
+                    <th>&nbsp;</th>
+                    <th>&nbsp;</th>
+                    <th>[% total_quantity %]</th>
+                    <th>[% total_gsti_shipment %]</th>
+                    <th>&nbsp;</th>
+                </tr>
+            </tfoot>
+          </table>
+        [% ELSE %]
+            <p>No orders yet</p>
+        [% END %]
+    </div>
+  </div>
+  <div class="yui-b">
+    [% INCLUDE 'acquisitions-menu.inc' %]
+  </div>
+</div>
+[% INCLUDE 'intranet-bottom.inc' %]
diff --git a/koha-tmpl/intranet-tmpl/prog/en/modules/acqui/invoices.tt b/koha-tmpl/intranet-tmpl/prog/en/modules/acqui/invoices.tt
new file mode 100644 (file)
index 0000000..c324882
--- /dev/null
@@ -0,0 +1,232 @@
+[% USE KohaDates %]
+
+[% INCLUDE 'doc-head-open.inc' %]
+<title>Koha &rsaquo; Acquisitions &rsaquo; Invoices</title>
+<link rel="stylesheet" type="text/css" href="[% themelang %]/css/datatables.css" />
+[% INCLUDE 'doc-head-close.inc' %]
+<script type="text/javascript" src="[% themelang %]/lib/jquery/plugins/jquery.dataTables.min.js"></script>
+[% INCLUDE 'datatables-strings.inc' %]
+<script type="text/javascript" src="[% themelang %]/js/datatables.js"></script>
+[% INCLUDE 'calendar.inc' %]
+<script type="text/javascript">
+//<![CDATA[
+$(document).ready(function() {
+    $("#resultst").dataTable($.extend(true, {}, dataTablesDefaults, {
+        bInfo: false,
+        bPaginate: false,
+        bFilter: false,
+        sDom: "t",
+        aoColumnDefs: [
+            { "bSortable": false, "aTargets": [6] }
+        ]
+    }));
+});
+//]]>
+</script>
+</head>
+
+<body>
+[% INCLUDE 'header.inc' %]
+[% INCLUDE 'acquisitions-search.inc' %]
+
+<div id="breadcrumbs"><a href="/cgi-bin/koha/mainpage.pl">Home</a> &rsaquo; <a href="/cgi-bin/koha/acqui/acqui-home.pl">Acquisitions</a> &rsaquo; Invoices</div>
+
+<div id="doc3" class="yui-t2">
+
+<div id="bd">
+  <div id="yui-main">
+    <div class="yui-b">
+      <h1>Invoices</h1>
+      [% IF ( do_search ) %]
+        [% IF ( results_loop ) %]
+          <table id="resultst">
+            <thead>
+              <tr>
+                <th>Invoice no.</th>
+                <th>Vendor</th>
+                <th>Billing date</th>
+                <th>Received biblios</th>
+                <th>Received items</th>
+                <th>Status</th>
+                <th>&nbsp;</th>
+              </tr>
+            </thead>
+            <tbody>
+              [% FOREACH result IN results_loop %]
+                <tr>
+                  <td>[% result.invoicenumber %]</td>
+                  <td>[% result.suppliername %]</td>
+                  <td>
+                    [% IF (result.billingdate) %]
+                      [% result.billingdate | $KohaDates %]
+                    [% END %]
+                  </td>
+                  <td>[% result.receivedbiblios %]</td>
+                  <td>[% result.receiveditems %]</td>
+                  <td>
+                    [% IF ( result.closedate ) %]
+                      Closed on [% result.closedate | $KohaDates %]
+                    [% ELSE %]
+                      Open
+                    [% END %]
+                  </td>
+                  <td>
+                    <a href="/cgi-bin/koha/acqui/invoice.pl?invoiceid=[% result.invoiceid %]">Details</a> /
+                    [% IF ( result.closedate ) %]
+                      <a href="invoice.pl?op=reopen&invoiceid=[% result.invoiceid %]&referer=/cgi-bin/koha/acqui/invoices.pl%3Fop=do_search%26invoicenumber=[% invoicenumber %]%26supplier=[% supplier %]%26billingdatefrom=[% billingdatefrom %]%26billingdateto=[% billingdateto %]%26isbneanissn=[% isbneanissn %]%26title=[% title %]%26author=[% author %]%26publisher=[% publisher %]%26publicationyear=[% publicationyear %]%26branch=[% branch %]">Reopen</a>
+                    [% ELSE %]
+                      <a href="invoice.pl?op=close&invoiceid=[% result.invoiceid %]&referer=/cgi-bin/koha/acqui/invoices.pl%3Fop=do_search%26invoicenumber=[% invoicenumber %]%26supplier=[% supplier %]%26billingdatefrom=[% billingdatefrom %]%26billingdateto=[% billingdateto %]%26isbneanissn=[% isbneanissn %]%26title=[% title %]%26author=[% author %]%26publisher=[% publisher %]%26publicationyear=[% publicationyear %]%26branch=[% branch %]">Close</a>
+                    [% END %]
+                  </td>
+                </tr>
+              [% END %]
+            </tbody>
+          </table>
+        [% ELSE %]
+          <p>Sorry, but there is no results for your search.</p>
+          <p>Search was:
+            <ul>
+              [% IF ( invoicenumber ) %]
+                <li>Invoice no.: [% invoicenumber %]</li>
+              [% END %]
+              [% IF ( supplier ) %]
+                <li>Vendor: [% suppliername %]</li>
+              [% END %]
+              [% IF ( billingdatefrom ) %]
+                <li>Billing date:
+                [% IF ( billingdateto ) %]
+                  From [% billingdatefrom %]
+                  To [% billingdateto %]
+                [% ELSE %]
+                  All since [% billingdatefrom %]
+                [% END %]
+                </li>
+              [% ELSE %]
+                [% IF ( billingdateto ) %]
+                  <li>Billing date:
+                    All until [% billingdateto %]
+                  </li>
+                [% END %]
+              [% END %]
+              [% IF ( isbneanissn ) %]
+                <li>ISBN/EAN/ISSN: [% isbneanissn %]</li>
+              [% END %]
+              [% IF ( title ) %]
+                <li>Title: [% title %]</li>
+              [% END %]
+              [% IF ( author ) %]
+                <li>Author: [% author %]</li>
+              [% END %]
+              [% IF ( publisher ) %]
+                <li>Publisher: [% publisher %]</li>
+              [% END %]
+              [% IF ( publicationyear ) %]
+                <li>Publication year: [% publicationyear %]</li>
+              [% END %]
+              [% IF ( branch ) %]
+                <li>Branch: [% branchname %]</li>
+              [% END %]
+            </ul>
+          </p>
+        [% END %]<!-- results_loop -->
+      [% ELSE %]
+        <p>Please fill in the form to the left to make a search.</p>
+      [% END %]<!-- do_search -->
+    </div>
+  </div>
+  <div class="yui-b">
+    <form action="" method="get">
+      <fieldset class="brief">
+        <h3>Search filters</h3>
+        <ol>
+          <li>
+            <label for="invoicenumber">Invoice no:</label>
+            <input type="text" id="invoicenumber" name="invoicenumber" value="[% invoicenumber %]" />
+          </li>
+          <li>
+            <label for="supplier">Supplier:</label>
+            <select id="supplier" name="supplier">
+              <option value="">All</option>
+              [% FOREACH supplier IN suppliers_loop %]
+                [% IF ( supplier.selected ) %]
+                  <option selected="selected" value="[% supplier.supplierid %]">[% supplier.suppliername %]</option>
+                [% ELSE %]
+                  <option value="[% supplier.supplierid %]">[% supplier.suppliername %]</option>
+                [% END %]
+              [% END %]
+            </select>
+          </li>
+          <li>
+            <fieldset class="brief">
+              <legend>Shipment date</legend>
+              <ol>
+                <li>
+                  <label for="shipmentdatefrom">From:</label>
+                  <input type="text" id="shipmentdatefrom" name="shipmentdatefrom" size="10" value="[% shipmentdatefrom %]" class="datepicker" />
+                </li>
+                <li>
+                  <label for="shipmentdateto">To:</label>
+                  <input type="text" id="shipmentdateto" name="shipmentdateto" size="10" value="[% shipmentdateto %]" class="datepicker" />
+                </li>
+              </ol>
+            </fieldset>
+          </li>
+          <li>
+            <fieldset class="brief">
+              <legend>Billing date</legend>
+              <ol>
+                <li>
+                  <label for="billingdatefrom">From:</label>
+                  <input type="text" id="billingdatefrom" name="billingdatefrom" size="10" value="[% billingdatefrom %]" class="datepicker" />
+                </li>
+                <li>
+                  <label for="billingdateto">To:</label>
+                  <input type="text" id="billingdateto" name="billingdateto" size="10" value="[% billingdateto %]" class="datepicker" />
+                </li>
+              </ol>
+            </fieldset>
+          </li>
+          <li>
+            <label for="isbneanissn">ISBN / EAN / ISSN:</label>
+            <input type="text" id="isbneanissn" name="isbneanissn" value="[% isbneanissn %]" />
+          </li>
+          <li>
+            <label for="title">Title:</label>
+            <input type="text" id="title" name="title" value="[% title %]" />
+          </li>
+          <li>
+            <label for="author">Author:</label>
+            <input type="text" id="author" name="author" value="[% author %]" />
+          </li>
+          <li>
+            <label for="publisher">Publisher:</label>
+            <input type="text" id="publisher" name="publisher" value="[% publisher %]" />
+          </li>
+          <li>
+            <label for="publicationyear">Publication year:</label>
+            <input type="text" id="publicationyear" name="publicationyear" value="[% publicationyear %]" />
+          </li>
+          <li>
+            <label for="branch">Branch:</label>
+            <select id="branch" name="branch">
+              <option value="">All</option>
+              [% FOREACH branch IN branches_loop %]
+                [% IF ( branch.selected ) %]
+                  <option selected="selected" value="[% branch.branchcode %]">[% branch.branchname %]</option>
+                [% ELSE %]
+                  <option value="[% branch.branchcode %]">[% branch.branchname %]</option>
+                [% END %]
+              [% END %]
+            </select>
+          </li>
+        </ol>
+        <fieldset class="action">
+          <input type="submit" value="Search" />
+        </fieldset>
+      </fieldset>
+      <input type="hidden" name="op" id="op" value="do_search" />
+    </form>
+    [% INCLUDE 'acquisitions-menu.inc' %]
+  </div>
+</div>
+[% INCLUDE 'intranet-bottom.inc' %]
index 566318f..96c6fb6 100644 (file)
@@ -106,7 +106,7 @@ $(document).ready(function()
         [% END %]
 
         $("#quantity").change(function() {
-            calcNeworderTotal();
+            updateCosts();
         });
 
         //We apply the fonction only for modify option
@@ -130,20 +130,23 @@ $(document).ready(function()
         });
         [% END %]
         
+        //keep a copy of all budgets before removing the inactives
+        disabledBudgetsCopy = $('#budget_id').html();
+        $('#budget_id .b_inactive').remove();
+
         $('#showallbudgets').click(function() {
-            if ( $('#budget_id .b_inactive').is(":visible") )
-            {
-            $('#budget_id .b_inactive').hide();
+            if ($(this).is(":checked")) {
+                $('#budget_id').html(disabledBudgetsCopy); //Puts back all the funds
             }
             else {
-            $('#budget_id .b_inactive').show();
+                $('#budget_id .b_inactive').remove();
             }
         });
     });
 //]]>
 </script>
 </head>
-<body id="acq_neworderempty" class="acq">
+<body id="acq_neworderempty" class="acq" onload="updateCosts()">
 
 [% INCLUDE 'header.inc' %]
 [% INCLUDE 'acquisitions-search.inc' %]
@@ -222,18 +225,13 @@ $(document).ready(function()
         <input type="hidden" name="booksellerid" value="[% booksellerid %]" />
         <input type="hidden" name="biblionumber" value="[% biblionumber %]" />
         <input type="hidden" name="biblioitemnumber" value="[% biblioitemnumber %]" />
-        <input type="hidden" name="discount" value="[% discount %]" />
-        <input type="hidden" name="listinc" value="[% listincgst %]" />
-<!--        <input type="hidden" name="currency" value="[% currency %]" />-->
-        <input type="hidden" name="applygst" value="[% gstreg %]" />
-        <input type="hidden" name="invoiceincgst" value="[% invoiceincgst %]" />
-        <input type="hidden" name="gstrate" value="[% gstrate %]" />
+        <input type="hidden" name="listinc" id="listinc" value="[% listincgst %]" />
+        <input type="hidden" name="applygst" id="applygst" value="[% gstreg %]" />
+        <input type="hidden" name="invoiceincgst" id="invoiceincgst" value="[% invoiceincgst %]" />
         <input type="hidden" name="suggestionid" value="[% suggestionid %]" />
         <input type="hidden" name="import_batch_id" value="[% import_batch_id %]" />
+        <input type="hidden" name="currency_rate" id="currency_rate" value="[% currency_rate %]" />
 
-        [% FOREACH loop_currencie IN loop_currencies %]
-            <input type="hidden" id="[% loop_currencie.currcode %]"  name="[% loop_currencie.currcode %]" value="[% loop_currencie.rate %]" />
-        [% END %]
         <ol><li>
             [% IF ( biblionumber ) %]
             <span class="label">Title</span>
@@ -394,7 +392,7 @@ $(document).ready(function()
                     [% IF (AcqCreateItemOrdering) %]
                         <input type="text" readonly="readonly" size="20" id="quantity" name="quantity" value="0" />
                     [% ELSE %]
-                        <input type="text" size="20" id="quantity" name="quantity" value="[% quantityrec %]" />
+                        <input type="text" size="20" id="quantity" name="quantity" value="[% quantityrec %]" onchange="updateCosts();" />
                     [% END %]
                 [% END %]
                 <!-- origquantityrec only here for javascript compatibility (additem.js needs it, useless here, usefull when receiveing an order -->
@@ -413,7 +411,7 @@ $(document).ready(function()
                         <option value="[% budget_loo.b_id %]" selected="selected">[% budget_loo.b_txt %]</option>
                     [% ELSE %]
                         [% IF ( budget_loo.b_active ) %]<option value="[% budget_loo.b_id %]">[% budget_loo.b_txt %]</option>
-                        [% ELSE %]<option value="[% budget_loo.b_id %]" class="b_inactive" style="display : none;">[% budget_loo.b_txt %]</option>    
+                        [% ELSE %]<option value="[% budget_loo.b_id %]" class="b_inactive">[% budget_loo.b_txt %]</option>
                         [% END %]
                     [% END %]
                 [% END %]
@@ -428,7 +426,7 @@ $(document).ready(function()
                        <input type="hidden" size="10" name="currency" id="currency" value="[% currency %]" />[% currency %]
                 [% ELSE %]
                        <label for="currency">Currency:</label>
-                       <select name="currency" id="currency" onchange="calcNeworderTotal();">
+                       <select name="currency" id="currency" onchange="updateCosts();">
                        [% FOREACH loop_currencie IN loop_currencies %]
                        [% IF ( loop_currencie.selected ) %]<option value="[% loop_currencie.currcode %]" selected="selected">[% loop_currencie.currcode %]</option>[% ELSE %]<option value="[% loop_currencie.currcode %]">[% loop_currencie.currcode %]</option>[% END %][% END %]
                        </select>
@@ -436,11 +434,11 @@ $(document).ready(function()
                 </li>
             <li>
                 [% IF ( close ) %]
-            <span class="label">Vendor price: </span>
+                    <span class="label">Vendor price: </span>
                     <input type="hidden" size="20" name="listprice" id="listprice" value="[% listprice %]" />[% listprice %]
                 [% ELSE %]
                 <label for="listprice">Vendor price: </label>
-                    <input type="text" size="20" name="listprice" id="listprice" value="[% listprice %]" onchange="calcNeworderTotal()" />
+                    <input type="text" size="20" name="listprice" id="listprice" value="[% listprice %]" onchange="updateCosts()" />
                 [% END %]
             </li>
             [% UNLESS ( close ) %]
@@ -453,53 +451,73 @@ $(document).ready(function()
                 [% END %]
             </li>
             [% END %]
-                       <li>
+            <li>
                 [% IF ( close ) %]
-            <span class="label">Replacement cost: </span>
-                    <input type="hidden" size="20" name="rrp" id="rrp" value="[% rrp %]" />[% rrp %]
+                    <span class="label">Tax rate: </span>
+                    <input type="hidden" size="20" name="gstrate" id="gstrate" value="[% gstrate %]" />[% gstrate %]%
                 [% ELSE %]
-                <label for="rrp">Replacement cost: </label>
-                    <input type="text" size="20" name="rrp" id="rrp" value="[% rrp %]" /> (adjusted for [% cur_active %])
+                    <label for="gst">Tax rate: </label>
+                    <select name="gstrate" id="gstrate" onchange="updateCosts();">
+                    [% FOREACH gst IN gst_values %]
+                      [% IF ( gst.option == gstrate ) %]
+                        <option value="[% gst.option %]" selected="selected">[% gst.option * 100 | format("%.1f") %]%</option>
+                      [% ELSE %]
+                        <option value="[% gst.option %]">[% gst.option * 100 | format("%.1f") %]%</option>
+                      [% END %]
+                    [% END %]
+                    </select>
                 [% END %]
             </li>
             <li>
+                <label for="discount">Discount: </label>
                 [% IF ( close ) %]
-            <label for="ecost">Budgeted cost: </label>
-                    <input type="text" size="20" name="ecost" id="ecost" value="[% ecost %]" readonly="readonly"  />
+                    [% IF ( orderdiscount ) %]
+                        <input type="hidden" name="discount" id="discount" value="[% orderdiscount %]" />[% orderdiscount_2dp %]%
+                    [% ELSE %]
+                        <input type="hidden" name="discount" id="discount" value="[% discount %]" />[% discount_2dp %]%
+                    [% END %]
                 [% ELSE %]
-                <label for="ecost">Budgeted cost: </label>
-                    <input type="text" size="20" name="ecost" id="ecost" value="[% ecost %]" />
+                    [% IF ( orderdiscount ) %]
+                        <input type="text" size="6" name="discount" id="discount" value="[% orderdiscount %]" onchange="updateCosts();" />%
+                    [% ELSE %]
+                        <input type="text" size="6" name="discount" id="discount" value="[% discount %]" onchange="updateCosts();" />%
+                    [% END %]
                 [% END %]
-                [% IF ( discount_2dp ) %]  (adjusted for [% discount_2dp %]% discount)  [% END %]
-
             </li>
-            [% IF ( GST ) %]
             <li>
                 [% IF ( close ) %]
-            <label for="GST">Budgeted GST: </label>
-                <input type="text" id="" size="20" name="gst" value="" id="GST" readonly="readonly" />
+                    <span class="label">Replacement cost: </span>
+                    <input type="hidden" size="20" name="rrp" id="rrp" value="[% rrp %]" />[% rrp %]
                 [% ELSE %]
-                <label for="GST">Budgeted GST: </label>
-                <input type="text" size="20" name="gst" id="GST" value="" />
+                    <label for="rrp">Replacement cost: </label>
+                    <input type="text" size="20" name="rrp" id="rrp" value="[% rrp %]" /> (adjusted for [% cur_active %])
+                [% END %]
+            </li>
+            <li>
+                [% IF ( close ) %]
+                    <label for="ecost">Budgeted cost: </label>
+                    <input type="text" size="20" name="ecost" id="ecost" value="[% ecost %]" readonly="readonly"  />
+                [% ELSE %]
+                    <label for="ecost">Budgeted cost: </label>
+                    <input type="text" size="20" name="ecost" id="ecost" value="[% ecost %]" />
                 [% END %]
             </li>
-            [% END %]
             <li>
                 [% IF ( close ) %]
-            <label for="total">Total: </label>
-                <input type="text" id="total" size="20" name="total" value="[% total %]" readonly="readonly" />
+                    <label for="total">Total: </label>
+                    <input type="text" id="total" size="20" name="total" value="[% total %]" readonly="readonly" />
                 [% ELSE %]
-                <label for="total">Total: </label>
-                <input type="text" id="total" size="20" name="total" value="[% total %]" /> (budgeted cost * quantity)
+                    <label for="total">Total: </label>
+                    <input type="text" id="total" size="20" name="total" value="[% total %]" /> (budgeted cost * quantity)
                 [% END %]
             </li>
             <li>
                 [% IF ( close ) %]
-            <label for="cost">Actual cost: </label>
-                <input type="text" id="unitprice" size="20" name="unitprice" value="[% unitprice %]" readonly="readonly" />
+                    <label for="unitprice">Actual cost: </label>
+                    <input type="text" id="unitprice" size="20" name="unitprice" value="[% unitprice %]" readonly="readonly" />
                 [% ELSE %]
-                <label for="cost">Actual cost: </label>
-                <input type="text" id="unitprice" size="20" name="unitprice" value="[% unitprice %]" />
+                    <label for="unitprice">Actual cost: </label>
+                    <input type="text" id="unitprice" size="20" name="unitprice" value="[% unitprice %]" />
                 [% END %]
             </li>
             <li>
@@ -508,7 +526,7 @@ $(document).ready(function()
             </li>
             <li><div class="hint">The 2 following fields are available for your own usage. They can be useful for statistical purposes</div>
                 <label for="sort1">Statistic 1: </label>
-
+                <span id="sort1_zone">
                 [% IF CGIsort1 %]
                     <select id="sort1" size="1" name="sort1">
                     [% FOREACH sort_opt IN CGIsort1 %]
@@ -520,13 +538,13 @@ $(document).ready(function()
                     [% END %]
                     </select>
                 [% ELSE %]
-
                     <input type="text" id="sort1" size="20" name="sort1" value="[% sort1 %]" />
                 [% END %]
+                </span>
             </li>
             <li>
                 <label for="sort2">Statistic 2: </label>
-
+                <span id="sort2_zone">
                 [% IF CGIsort2 %]
                     <select id="sort2" size="1" name="sort2">
                     [% FOREACH sort_opt IN CGIsort2 %]
@@ -540,6 +558,7 @@ $(document).ready(function()
                 [% ELSE %]
                     <input type="text" id="sort2" size="20" name="sort2" value="[% sort2 %]" />
                 [% END %]
+                </span>
             </li>
 </ol>
     </fieldset>
index 1e19f8b..c6559c3 100644 (file)
         [% END %]
     [% END %]
     <input type="hidden" name="biblionumber" value="[% biblionumber %]" />
+    <input type="hidden" name="invoiceid" value="[% invoiceid %]" />
     <input type="hidden" name="ordernumber" value="[% ordernumber %]" />
     <input type="hidden" name="biblioitemnumber" value="[% biblioitemnumber %]" />
     <input type="hidden" name="booksellerid" value="[% booksellerid %]" />
     <input type="hidden" name="datereceived" value="[% datereceived_iso %]" />
-    <input type="hidden" name="freight" value="[% freight %]" />
-    <input type="hidden" name="gst" value="[% gst %]" />
+    <input type="hidden" name="gstrate" value="[% gstrate %]" />
        </div>
        <div class="yui-u">
     <fieldset class="rows">
             <input type="text" size="20" name="cost" id="cost" value="[% ecost %]" />
         [% END %]</li></ol>
         <label for="note">Notes: </label><textarea name="note" width="40" rows="8" >[% notes %]</textarea>
-        <input type="hidden" name="invoice" value="[% invoice %]" />
     </fieldset>
 
 </div>
 </div><div class="yui-g"><fieldset class="action">
         <input type="submit"  value="Save" />
-        <a class="cancel" href="/cgi-bin/koha/acqui/parcel.pl?booksellerid=[% supplierid %]&amp;invoice=[% invoice %]&amp;gst=[% gst %]&amp;freight=[% freight %]">Cancel</a>
+        <a class="cancel" href="/cgi-bin/koha/acqui/parcel.pl?invoiceid=[% invoiceid %]">Cancel</a>
 </fieldset></div>    </form>
 [% ELSE %]
 <div id="acqui_acquire_orderlist">
         <tr>
             <td>[% loo.basketno %]</td>
             <td>[% loo.isbn %]</td>
-         <td><a href="orderreceive.pl?datereceived=[% loo.datereceived %]&amp;receive=[% loo.ordernumber %]&amp;biblio=[% loo.biblionumber %]&amp;invoice=[% loo.invoice %]&amp;freight=[% loo.freight %]&amp;gst=[% loo.gst %]&amp;id=[% loo.id %]">[% loo.title |html %]</a></td>
+         <td><a href="orderreceive.pl?ordernumber=[% loo.ordernumber %]&amp;invoiceid=[% invoiceid %]">[% loo.title |html %]</a></td>
             <td>[% loo.author %]</td>
             <td>[% loo.quantity %]</td>
             <td>[% loo.quantityreceived %]</td>
index 2e6d9a2..833e606 100644 (file)
@@ -17,7 +17,7 @@
     $(document).ready(function(){
         var pendingt = $("#pendingt").dataTable($.extend(true, {}, dataTablesDefaults, {
             "aoColumnDefs": [
-                { "aTargets": [ 3, 7, 8 ], "bSortable": false, "bSearchable": false },
+                { "aTargets": [ 3, 8, 9 ], "bSortable": false, "bSearchable": false },
             ],
             "aoColumns": [
                 { "sType": "num-html" },
                 null,
                 null,
                 null,
+                null,
             ],
             "sPaginationType": "four_button"
         } ) );
         var receivedt = $("#receivedt").dataTable($.extend(true, {}, dataTablesDefaults, {
             "aoColumnDefs": [
-                { "aTargets": [ 3 ], "bSortable": false, "bSearchable": false },
+                { "aTargets": [ 3, -1 ], "bSortable": false, "bSearchable": false },
             ],
             "aoColumns": [
                 { "sType": "num-html" },
                 null,
                 null,
                 null,
+                null
             ],
             "sPaginationType": "four_button"
         } ) );
+/*
+    $("#pendingt").tablesorter({
+               headers: { 2: { sorter: 'articles' },3: { sorter: false },8:{sorter:false}}
+    });
+*/
 
        rowCountPending  = $("#pendingt tbody.filterclass tr").length;
        rowCountReceived = $("#receivedt tbody.filterclass tr").length;
-       if (rowCountPending  > rowsToCollapse) { pendingCollapse(); }
-       if (rowCountReceived > rowsToCollapse) { receivedCollapse(); }
+       if (rowCountPending > rowsToCollapse ) { if ( $.cookie("pendingKeepExpanded") != 1 ) { pendingCollapse(); } else { pendingExpand(); } }
+       if (rowCountReceived > rowsToCollapse ) { if ( $.cookie("receivedKeepExpanded") != 1 ) { receivedCollapse(); } else { receivedExpand(); } }
     });
 
      // Case-insensitive version of jquery's contains function
 
     // Collapse pending items table
     function pendingCollapse() {
+        $.cookie("pendingKeepExpanded", 0, { path: "/", expires: 9999 });
        $("#pendingcollapserow").remove();
     $("#pendingt tr").show();
        $("#pendingt tbody.filterclass tr:gt(" + (rowsToCollapse-1) + ")").hide();
-       $("#pendingt").before("<p id=\"pendingcollapserow\">" + _("Only the first ")  + rowsToCollapse +  _(" items are displayed.") + "<a href=\"javascript:pendingExpand();\">" + _("Click here to show all ")  + rowCountPending + _(" items") + "<\/a>.<\/p>");
+       $("#pendingt").before("<p id=\"pendingcollapserow\">" + _("Only the first ")  + rowsToCollapse +  _(" items are displayed.") + " <a href=\"javascript:pendingExpand();\">" + _("Click here to show all ")  + rowCountPending + _(" items") + "<\/a>.<\/p>");
 
     }
 
     // Expend pending items table
     function pendingExpand() {
+        $.cookie("pendingKeepExpanded", 1, { path: "/", expires: 9999 });
        $("#pendingcollapserow").remove();
        $("#pendingt tr").show();
     $("#pendingt tbody.filterclass tr.orderfound").remove();
-       $("#pendingt").before("<p id=\"pendingcollapserow\">" + rowCountPending + _(" items are displayed.") + "<a href=\"javascript:pendingCollapse();\">" + _("Click here to show only the first ") + rowsToCollapse + _(" items") + "<\/a>.<\/p>");
+       $("#pendingt").before("<p id=\"pendingcollapserow\">" + rowCountPending + _(" items are displayed.") + " <a href=\"javascript:pendingCollapse();\">" + _("Click here to show only the first ") + rowsToCollapse + _(" items") + "<\/a>.<\/p>");
     }
 
     // Collapse already received items table
     function receivedCollapse() {
+        $.cookie("receivedKeepExpanded", 0, { path: "/", expires: 9999 });
        $("#receivedcollapserow").remove();
        $("#receivedt tbody.filterclass tr:gt(" + (rowsToCollapse-1) + ")").hide();
-       $("#receivedt").before("<p id=\"receivedcollapserow\">" + _("Only the first ") + rowsToCollapse + _(" items are displayed.") + "<a href=\"javascript:receivedExpand();\">" + _("Click here to show all ") + rowCountReceived + _(" items") + "<\/a>.<\/p>");
+       $("#receivedt").before("<p id=\"receivedcollapserow\">" + _("Only the first ") + rowsToCollapse + _(" items are displayed.") + " <a href=\"javascript:receivedExpand();\">" + _("Click here to show all ") + rowCountReceived + _(" items") + "<\/a>.<\/p>");
     }
 
     // Expand already received items table
     function receivedExpand() {
+        $.cookie("receivedKeepExpanded", 1, { path: "/", expires: 9999 });
        $("#receivedcollapserow").remove();
        $("#receivedt tr").show();
-       $("#receivedt").before("<p id=\"receivedcollapserow\">" + _("All ") + rowCountReceived + _(" items are displayed.") + "<a href=\"javascript:receivedCollapse();\">" + _("Click here to show only the first ") + rowsToCollapse + _(" items") + "<\/a>.<\/p>");
-    }
-
-    // Launch filtering
-    function filter() {
-
-    var summaryStatus = jQuery.trim($("#summaryfilter").val());
-       var basketStatus  = $("#basketfilter").val();
-       var orderStatus   = $("#orderfilter").val();
-    var eanStatus     = $("#eanfilter").val() || '';
-
-    if (summaryStatus == '' && basketStatus == '' && orderStatus == '' && eanStatus == '') { clearFilters(); return false; }
-
-       var filtered = "table#pendingt tbody.filterclass tr";
-
-       // We hide everything
-       $("#nothingfoundrow").remove();
-       $(filtered).hide();
-
-       // Do the search
-       var callback =  {
-               success: function(o) {
-                       var jsonString = o.responseText;
-                       var gst = "[% gst %]";
-                       try {
-                               var orders = YAHOO.lang.JSON.parse(jsonString);
-                               var foundCount = orders.length;
-
-                               for( i = 0 ; i < orders.length ; i++){
-                                       order = orders[i];
-                                       $('<tr class="orderfound">'
-                       + '<td class="basketfilterclass"><a href="/cgi-bin/koha/acqui/basket.pl?basketno=' + order.basketno + '">' + order.basketno + '</a></td>'
-                       + '<td class="orderfilterclass"> <a href="neworderempty.pl?ordernumber=' + order.ordernumber + '&booksellerid=' + order.booksellerid + '">' + order.ordernumber + ' </a></td>'
-                       + '<td class="summaryfilterclass">'
-                       + '<a href="/cgi-bin/koha/catalogue/detail.pl?biblionumber=' + order.biblionumber + '">' + order.title + '</a>' + _(" by ") + order.author + '&nbsp;&ndash;&nbsp;' + order.isbn + '</td>'
-                       + '<td><a href="/cgi-bin/koha/catalogue/showmarc.pl?id=' + order.biblionumber + '" title="MARC" rel="gb_page_center[600,500]">MARC</a> | <a href="/cgi-bin/koha/catalogue/showmarc.pl?viewas=card&amp;id=' + order.biblionumber + '" title="MARC" rel="gb_page_center[600,500]">Card</a></td>'
-                       + '<td>' + order.quantity + '</td>'
-                       + '<td>' + order.ecost + '</td>'
-                       + '<td>' + order.ordertotal + '</td>'
-                       + '<td>'
-                       + '<a href="orderreceive.pl?ordernumber=' + order.ordernumber + '&amp;datereceived=[% invoicedatereceived %]&amp;invoice=[% invoice %]&amp;gst=' + gst + '&amp;freight=' + order.freight + '&amp;booksellerid=[% booksellerid %]">Receive</a> /'
-                       + '<a href="parcel.pl?type=intra&amp;ordernumber=' + order.ordernumber + '&amp;biblionumber=' + order.biblionumber + '&amp;action=cancelorder&amp;booksellerid=[% booksellerid %]&amp;datereceived=[% invoicedatereceived %]&amp;invoice=[% invoice %]" onclick="return confirm(\'' + _('Are you sure you want to cancel this order?') + '\');">Cancel</a>'
-                       + '</td></tr>').appendTo("table#pendingt");
-                               }
-
-                               // If nothing has been found, we tell the user so
-                               if (orders.length == 0) {
-                                   $("<tr><td id=\"nothingfoundrow\" colspan=\"8\">No items match your criteria.<\/tr>").appendTo("#pendingt");
-                               }
-                       }catch(e){alert(e);}
-               }
-       }
-    var transaction = YAHOO.util.Connect.asyncRequest('GET', '/cgi-bin/koha/acqui/parcel.pl?booksellerid=[% booksellerid %]&search='+summaryStatus+'&basketno='+basketStatus+'&orderno='+orderStatus+'&ean='+eanStatus+'&format=json', callback, null);
-
-       return false;
-    }
-
-    // Clear already applied filters
-    function clearFilters() {
-       $("#nothingfoundrow").remove();
-        $("#pendingt tbody.filterclass tr").show();
-        //$("#pendingt tbody.filterclass tr.orderfound").remove();
-       pendingExpand();
+       $("#receivedt").before("<p id=\"receivedcollapserow\">" + _("All ") + rowCountReceived + _(" items are displayed.") + " <a href=\"javascript:receivedCollapse();\">" + _("Click here to show only the first ") + rowsToCollapse + _(" items") + "<\/a>.<\/p>");
     }
 
 //]]>
                 }
             }
             
-            function confirm_delete_biblio(ordernumber, biblionumber) {
+            function confirm_delete_biblio(ordernumber, basketno, biblionumber) {
                 var is_confirmed = confirm(_('Are you sure you want to delete this catalog record and order ?'));
                 if (is_confirmed) {
                     window.location = "addorder.pl?ordernumber="+ordernumber+"&basketno="+basketno+"&quantity=0&biblionumber="+biblionumber+"&delbiblio=1";
                     }
             }
-
 //]]>
 </script>
-
 </head>
 <body id="acq_parcel" class="acq">
 [% INCLUDE 'header.inc' %]
 [% INCLUDE 'acquisitions-search.inc' %]
 
-<div id="breadcrumbs"><a href="/cgi-bin/koha/mainpage.pl">Home</a> &rsaquo; <a href="/cgi-bin/koha/acqui/acqui-home.pl">Acquisitions</a> &rsaquo;  [% IF ( datereceived ) %]
-            Receipt summary for <i>[% name %]</i> [% IF ( invoice ) %]<i>[ [% invoice %] ]</i>[% END %] on <i>[% formatteddatereceived %]</i>
-        [% ELSE %]
-            Receive orders from [% name %]
-        [% END %]</div>
+<div id="breadcrumbs"><a href="/cgi-bin/koha/mainpage.pl">Home</a> &rsaquo; <a href="/cgi-bin/koha/acqui/acqui-home.pl">Acquisitions</a> &rsaquo;
+    [% IF ( datereceived ) %]
+        Receipt summary for <i>[% name %]</i>
+        [% IF ( invoice ) %]
+            <i>[ [% invoice %] ]</i>
+        [% END %]
+        on <i>[% formatteddatereceived %]</i>
+    [% ELSE %]
+        Receive orders from [% name %]
+    [% END %]
+</div>
 
 <div id="doc3" class="yui-t2">
 
        [% END %]
     [% END %]
 
+    [% IF (error_cancelling_receipt) %]
+      <div class="error">
+      Cannot cancel receipt. Possible reasons :
+      <ul>
+        <li>
+          The order line you trying to cancel was created from a partial receipt
+          of another order line which is already received. Try to cancel this
+          one first and retry.
+        </li>
+        <li>
+          The order line you trying to cancel was created from a partial receipt
+          of another order line which has been deleted. Cancellation is not
+          possible.
+        </li>
+      </ul>
+      </div>
+    [% END %]
+
 <div id="acqui_receive_summary">
 <p><strong>Invoice number:</strong> [% invoice %] <strong>Received by:</strong> [% loggedinusername %] <strong>On:</strong> [% formatteddatereceived %]</p>
-       <!-- TODO: Add date picker, change rcv date. -->
 </div>
+[% UNLESS (invoiceclosedate) %]
 <div id="acqui_receive_search">
     <h3>Pending orders</h3>
 
             <th>Basket</th>
             <th>Order line</th>
             <th>Summary</th>
-        <th>View record</th>
+            <th>View record</th>
             <th>Quantity</th>
             <th>Unit cost</th>
             <th>Order cost</th>
+            <th>Fund</th>
             <th>&nbsp;</th>
             <th>&nbsp;</th>
         </tr>
     </thead>
-               <tfoot>
-            <tr><td colspan="4" class="total">TOTAL</td>
-                <td> [% totalPquantity %] </td>
-                               <td>&nbsp;</td>
-                <td>[% ordergrandtotal %]</td>
-                               <td>&nbsp;</td>
-                               <td>&nbsp;</td>
-            </tr>
-               </tfoot>
     <tbody class="filterclass">
         [% FOREACH loop_order IN loop_orders %]
             <tr>
                 <td>[% loop_order.quantity %]</td>
                 <td>[% loop_order.ecost %]</td>
                 <td>[% loop_order.ordertotal %]</td>
+                <td>[% loop_order.budget_name %]</td>
                                <td>
-                              <a href="orderreceive.pl?ordernumber=[% loop_order.ordernumber %]&amp;datereceived=[% invoicedatereceived %]&amp;invoice=[% invoice %]&amp;gst=[% loop_order.gst %]&amp;freight=[% loop_order.freight %]&amp;booksellerid=[% loop_order.booksellerid %]">Receive</a>
-                                   
+                              <a href="orderreceive.pl?ordernumber=[% loop_order.ordernumber %]&amp;invoiceid=[% invoiceid %]">Receive</a>
                                </td>
                                <td>
-                                   [% IF ( loop_order.left_holds_on_order ) %]
-                    <span class="button" title="Can't delete order, ([% loop_order.holds_on_order %]) holds are linked with this order cancel holds first">Can't delete order</span><br>
-                    [% ELSE %]
-                    <a href="javascript:confirm_delete_item([% loop_order.ordernumber %],[% loop_order.basketno %],[% loop_order.biblionumber %])" class="button">Delete order</a><br>
-                    [% END %]
-                    [% IF ( loop_order.can_del_bib ) %]
-                    <a href="javascript:confirm_delete_biblio([% loop_order.ordernumber %],[% loop_order.basketno %],[% loop_order.biblionumber %])" class="button">Delete order and catalog record</a><br>
-                    [% ELSE %]
-                    <span class="button" title="Can't delete catalog record, see constraints below">Can't delete order and catalog record</span><br>
-                    [% END %]
-                    [% IF ( loop_order.left_item ) %]
-                    <b title="Can't delete catalog record, because of [% loop_order.items %] existing item(s)" >[% loop_order.items %] item(s) left</b><br>
-                    [% END %]
-                    [% IF ( loop_order.left_biblio ) %]
-                    <b title="Can't delete catalog record, delete other orders linked to it first">[% loop_order.biblios %] order(s) left</b><br>
-                    [% END %]
-                    [% IF ( loop_order.left_subscription ) %]
-                    <b title="Can't delete catalog record, delete subscriptions first">[% loop_order.subscriptions %] subscription(s) left</b><br>
-                    [% END %]
-                    [% IF ( loop_order.left_holds ) %]
-                    <b title="Can't delete catalog record or order, cancel holds first">[% loop_order.holds %] hold(s) left</b>
-                    [% END %]
-                               </td>
-            </tr>
+                        [% IF ( loop_order.left_holds_on_order ) %]
+                        <span class="button" title="Can't delete order, ([% loop_order.holds_on_order %]) holds are linked with this order cancel holds first">Can't delete order</span><br>
+                        [% ELSE %]
+                        <a href="javascript:confirm_delete_item([% loop_order.ordernumber %],[% loop_order.biblionumber %])" class="button">Delete order</a><br>
+                        [% END %]
+                        [% IF ( loop_order.can_del_bib ) %]
+                        <a href="javascript:confirm_delete_biblio([% loop_order.ordernumber %],[% loop_order.biblionumber %])" class="button">Delete order and catalog record</a><br>
+                        [% ELSE %]
+                        <span class="button" title="Can't delete catalog record, see constraints below">Can't delete order and catalog record</span><br>
+                        [% END %]
+                        [% IF ( loop_order.left_item ) %]
+                        <b title="Can't delete catalog record, because of [% loop_order.items %] existing item(s)" >[% loop_order.items %] item(s) left</b><br>
+                        [% END %]
+                        [% IF ( loop_order.left_biblio ) %]
+                        <b title="Can't delete catalog record, delete other orders linked to it first">[% loop_order.biblios %] order(s) left</b><br>
+                        [% END %]
+                        [% IF ( loop_order.left_subscription ) %]
+                        <b title="Can't delete catalog record, delete subscriptions first">[% loop_order.subscriptions %] subscription(s) left</b><br>
+                        [% END %]
+                        [% IF ( loop_order.left_holds ) %]
+                        <b title="Can't delete catalog record or order, cancel holds first">[% loop_order.holds %] hold(s) left</b>
+                        [% END %]
+                    </td>
+                </tr>
+            [% END %]
+        </tbody>
+         </table>[% ELSE %]There are no pending orders.[% END %]
+       <div id="resultnumber">
+        <!-- Row of numbers corresponding to search result pages -->
+        [% IF ( displayprev ) %]
+            <a href="parcel.pl?invoiceid=[% invoiceid %]&amp;startfrom=[% prevstartfrom %][% IF ( resultsperpage ) %]&amp;resultsperpage=[% resultsperpage %][% END %]#resultnumber">&lt;&lt; Previous</a>
         [% END %]
-    </tbody>
-     </table>[% ELSE %]There are no pending orders.[% END %]
-   <div id="resultnumber">
-       <!-- Row of numbers corresponding to search result pages -->
-       [% IF ( displayprev ) %]
-               <a href="parcel.pl?type=intra&amp;booksellerid=[% booksellerid %]&amp;startfrom=[% prevstartfrom %][% IF ( datereceived ) %]&amp;datereceived=[% datereceived %][% END %][% IF ( invoice ) %]&amp;invoice=[% invoice %][% END %][% IF ( resultsperpage ) %]&amp;resultsperpage=[% resultsperpage %][% END %]#resultnumber">&lt;&lt; Previous</a>
-       [% END %]
-       [% FOREACH number IN numbers %]
-               [% IF ( number.highlight ) %]
-               <span class="current">[% number.number %]</span>
-               [% ELSE %]
-               <a href="parcel.pl?type=intra&amp;booksellerid=[% booksellerid %]&amp;startfrom=[% number.startfrom %][% IF ( datereceived ) %]&amp;datereceived=[% datereceived %][% END %][% IF ( invoice ) %]&amp;invoice=[% invoice %][% END %][% IF ( resultsperpage ) %]&amp;resultsperpage=[% resultsperpage %][% END %]#resultnumber">[% number.number %]</a>
-               [% END %]
-       [% END %]
-       [% IF ( displaynext ) %]
-               <a href="parcel.pl?type=intra&amp;booksellerid=[% booksellerid %]&amp;startfrom=[% nextstartfrom %][% IF ( datereceived ) %]&amp;datereceived=[% datereceived %][% END %][% IF ( invoice ) %]&amp;invoice=[% invoice %][% END %][% IF ( resultsperpage ) %]&amp;resultsperpage=[% resultsperpage %][% END %]#resultnumber">Next &gt;&gt;</a>
-       [% END %]
-       </div>
-</div>
+        [% FOREACH number IN numbers %]
+            [% IF ( number.highlight ) %]
+            <span class="current">[% number.number %]</span>
+            [% ELSE %]
+            <a href="parcel.pl?invoiceid=[% invoiceid %]&amp;startfrom=[% number.startfrom %][% IF ( resultsperpage ) %]&amp;resultsperpage=[% resultsperpage %][% END %]#resultnumber">[% number.number %]</a>
+            [% END %]
+        [% END %]
+        [% IF ( displaynext ) %]
+            <a href="parcel.pl?invoiceid=[% invoiceid %]&amp;startfrom=[% nextstartfrom %][% IF ( resultsperpage ) %]&amp;resultsperpage=[% resultsperpage %][% END %]#resultnumber">Next &gt;&gt;</a>
+        [% END %]
+        </div>
+    </div>
+[% ELSE %]
+    <p>
+        Invoice is closed, so you can't receive orders anymore.
+        <a href="/cgi-bin/koha/acqui/invoice.pl?op=reopen&invoiceid=[% invoiceid %]&referer=/cgi-bin/koha/acqui/parcel.pl%3Finvoiceid=[% invoiceid %]">Reopen it</a>.
+    </p>
+[% END %]
+
 <div id="acqui_receive_receivelist">
     <h3>Already received</h3>
 
+
    [% IF ( loop_received ) %]
    <form action="/cgi-bin/koha/acqui/parcel.pl" method="get" name="orderform">
     <table id="receivedt">
                <th>Est cost</th>
                <th>Actual cost</th>
                <th>TOTAL</th>
+        <th></th>
            </tr>
     </thead>
     <tfoot>
-           <tr>
-               <td colspan="4" class="total">SUBTOTAL</td>
-               <td colspan="2">&nbsp;</td>
-               <td>[% totalprice %]</td>
-               <td>[% tototal %]</td>
-           </tr>
-             
-             [% IF ( totalfreight ) %]
-                   <tr>
-                       <td colspan="6">&nbsp;
-               </td>
-                           <td>Shipping</td>
-               <td>[% totalfreight %]</td>
-               </tr> 
-           [% END %]
-             [% IF ( gst ) %]
-                   <tr>
-                       <td colspan="6">
-               <p class="message">
-                           <b>HELP</b><br />
-                   The total at the bottom of the page should be within a few cents of the total for the invoice.
-               </p>
-               </td>
-                           <td><b>Tax rate</b></td>
-               <td>[% gst %]</td>
-               </tr> 
-           [% END %]
-           <tr>
-           <td colspan="4" class="total">TOTAL</td>
-               <td>[% totalquantity %]</td>
-               <td colspan="2">&nbsp;</td>
-               <td>[% grandtot %]</td>
-           </tr>
+        <tr>
+            <th colspan="7" class="total">Total tax exc.</th>
+            <th>[% total_gste %]</th>
+            <th></th>
+        </tr>
+        [% FOREACH book_foot IN book_foot_loop %]
+            <tr>
+                <th colspan="7">Total (GST [% book_foot.gstrate * 100 | format ("%.1f") %]%)</th>
+                <th>[% book_foot.value %]</th>
+                <th></th>
+            </tr>
+        [% END %]
+        <tr>
+            <th colspan="7" class="total">Total tax inc.</th>
+            <th>[% total_gsti %]</th>
+            <th></th>
+        </tr>
     </tfoot>
        <tbody class="filterclass">
            [% FOREACH loop_receive IN loop_received %]
                 <td>[% loop_receive.ecost %]</td>
                 <td>[% loop_receive.unitprice %]</td>
                 <td>[% loop_receive.total %]</td>
+                <td>
+                    [% IF (loop_receive.cannot_cancel) %]
+                        [% span_title = BLOCK %]
+                            Cannot cancel receipt of this order line because it
+                            was created from a partial receipt of order line no.
+                            [% loop_receive.parent_ordernumber %], which is
+                            already received. Try cancelling this one first and
+                            retry.
+                        [% END %]
+                        <span title="[% span_title | collapse %]">
+                            Can't cancel receipt
+                        </span>
+                    [% ELSE %]
+                        <a href="/cgi-bin/koha/acqui/parcel.pl?invoiceid=[% invoiceid %]&op=cancelreceipt&ordernumber=[% loop_receive.ordernumber %]">Cancel receipt</a>
+                    [% END %]
+                </td>
             </tr>
            [% END %]
        </tbody>
 </div>
 
 <!--<form action="/cgi-bin/koha/acqui/parcels.pl?booksellerid=[% booksellerid %]" method="post">-->
-<form action="parcels.pl?booksellerid=[% booksellerid %]" method="post">
-    <input type="hidden" name="booksellerid" value="[% booksellerid %]" />
-    <fieldset class="action">
-        <input type="submit" value="Finish receiving" />
-    </fieldset>
-</form>
+[% IF (invoiceclosedate) %]
+    <a href="/cgi-bin/koha/acqui/invoice.pl?invoiceid=[% invoiceid %]">View invoice</a>
+[% ELSE %]
+    <form action="/cgi-bin/koha/acqui/invoice.pl" method="get">
+        <input type="hidden" name="invoiceid" value="[% invoiceid %]" />
+        <fieldset class="action">
+            <input type="submit" value="Finish receiving" />
+        </fieldset>
+    </form>
+[% END %]
 
 </div>
 </div>
 <div class="yui-b">
-<form action="/cgi-bin/koha/acqui/parcel.pl" id="filterform" onsubmit="return filter();">
+<form action="/cgi-bin/koha/acqui/parcel.pl" id="filterform" method="post">
         <fieldset class="brief">
 
             <h4>Filter</h4>
 
                <li>
                    <label for="summaryfilter">ISBN, author or title :</label>
-                   <input type="text" name="summaryfilter" id="summaryfilter" />
+            <input type="text" name="summaryfilter" id="summaryfilter" value="[% summaryfilter %]"/>
                </li>
 
                <li>
                    <label for="basketfilter">Basket :</label>
-                   <input type="text" name="basketfilter" id="basketfilter" />
+            <input type="text" name="basketfilter" id="basketfilter" value="[% basketfilter %]"/>
                </li>
 
                <li>
             <label for="orderfilter">Order line :</label>
-                   <input type="text" name="orderfilter" id="orderfilter" />
+            <input type="text" name="orderfilter" id="orderfilter" value="[% orderfilter %]"/>
                </li>
                 [% IF (UNIMARC) %]
         <li>
             <label for="eanfilter">EAN :</label>
-            <input type="text" name="eanfilter" id="eanfilter" />
+            <input type="text" name="eanfilter" id="eanfilter" value="[% eanfilter %]"/>
         </li>
                 [% END %]
            </ol>
                <fieldset class="action">
-                   <input type="submit" value="Filter" />
-                   <a href="#" onclick="clearFilters();">Clear</a>
+        <input type="hidden" value="search" name="op" />
+        <input type="hidden" value="[% booksellerid %]" name="booksellerid" />
+        <input type="hidden" value="[% invoice %]" name="invoice" />
+        <input type="hidden" value="[% invoicedatereceived %]" name="datereceived" />
+        <input type="submit" value="Filter" />
+        <a href="/cgi-bin/koha/acqui/parcel.pl?booksellerid=[% booksellerid %]&amp;invoice=[% invoice %]&amp;op=new&amp;datereceived=[% formatteddatereceived %]">Clear</a>
                </fieldset>
 
 
index 5374c8c..616139c 100644 (file)
    <div id="bd">
        <div id="yui-main">
        <div class="yui-b">
-       
+
+[% IF ( error_failed_to_create_invoice ) %]
+    <div id="error" class="dialog error">
+        <p>An error has occured. Invoice cannot be created.</p>
+    </div>
+[% END %]
 <h1>Receive shipment from vendor <a href="/cgi-bin/koha/acqui/supplier.pl?booksellerid=[% booksellerid %]">[% name %]</a></h1>
 
 [% IF ( count ) %]
                 [% searchresult.number %]
             </td>
             <td>
-                <a href="/cgi-bin/koha/acqui/parcel.pl?type=intra&amp;booksellerid=[% booksellerid |url %]&amp;datereceived=[% searchresult.raw_datereceived |url %][% IF ( searchresult.code ) %]&amp;invoice=[% searchresult.code |url %][% END %]">
-                    [% searchresult.datereceived %]</a>
+                [% searchresult.datereceived %]
             </td>
             <td>
-                [% IF ( searchresult.code ) %][% searchresult.code %][% ELSE %]<acronym title="not available">n/a</acronym>[% END %]
+                [% IF ( searchresult.code ) %]
+                    <a href="/cgi-bin/koha/acqui/parcel.pl?invoiceid=[% searchresult.invoiceid %]">[% searchresult.code %]</a>
+                [% ELSE %]
+                    <acronym title="not available">n/a</acronym>
+                [% END %]
             </td>
             <td>
                 [% searchresult.reccount %]
 [% END %]
 
     <div id="parcels_new_parcel">
-        <form method="get" action="parcel.pl">
+        <form method="get" action="parcels.pl">
     <fieldset class="rows">
     <legend>Receive a new shipment</legend>
        <ol> <li>
             <label for="freight">Shipping:</label>
             <input type="text" size="20" id="freight" name="freight" />
         </li> -->
-         <li><label for="datereceived">Shipment date: </label>
-            <input type="text" id="datereceived" name="datereceived"  maxlength="10" size="10"  value="[% datereceived_today %]" class="datepicker" />
-                               <div class="hint">[% INCLUDE 'date-format.inc' %]</div> </li>
+         <li>
+            <label for="shipmentdate">Shipment date: </label>
+            <input type="text" id="shipmentdate" name="shipmentdate" maxlength="10" size="10" value="[% shipmentdate_today %]" class="datepicker" />
+            <div class="hint">[% INCLUDE 'date-format.inc' %]</div>
+        </li>
+        <li>
+            <label for="shipmentcost">Shipment cost: </label>
+            <input type="text" id="shipmentcost" name="shipmentcost" size="10" />
+        </li>
+        <li>
+            <label for="shipmentcost_budgetid">Budget: </label>
+            <select id="shipmentcost_budgetid" name="shipmentcost_budgetid">
+                <option value="">No budget</option>
+                [% FOREACH budget IN budgets %]
+                    <option value="[% budget.budget_id %]">[% budget.budget_name %]</option>
+                [% END %]
+            </select>
+        </li>
                </ol>
     </fieldset>
             <fieldset class="action"><input type="submit" class="button" value="Next" /> <a class="cancel" href="/cgi-bin/koha/acqui/supplier.pl?booksellerid=[% booksellerid %]">Cancel</a></fieldset>
             <li><label for="datefrom">From:</label><input type="text" size="9" id="datefrom" name="datefrom" value="[% datefrom %]" /><br /> 
                 <label for="dateto">To:</label><input type="text" size="9" id="dateto" name="dateto" value="[% dateto %]" /></li>
             <li><label for="orderby">Sort by :</label><select name="orderby" id="orderby">
-                <option value="aqorders.booksellerinvoicenumber">Invoice number</option>
-                <option value="datereceived"> Date received</option>
-                <option value="datereceived desc"> Date received reverse</option>
-                <option value="aqorders.booksellerinvoicenumber desc"> Invoice number reverse</option>
+                <option value="invoicenumber">Invoice number</option>
+                <option value="shipmentdate">Shipment date</option>
+                <option value="shipmentdate desc">Shipment date reverse</option>
+                <option value="invoicenumber desc">Invoice number reverse</option>
                 </select><br />
                 <label for="resultsperpage">Results per page :</label><select name="resultsperpage" id="resultsperpage">
                 <option value="20">20</option>
index d78a244..1d6255d 100644 (file)
@@ -42,7 +42,6 @@
        <th> Itemtype </th>
        <th> Received </th>
     <th> Unit price </th>
-    <th> Freight per item </th>
     <th> Date ordered </th>
     <th> Date received </th>
        <th> Subtotal </th>
            [% order.title %]
        </td>
        <td class="cell">
-            <a href="/cgi-bin/koha/acqui/orderreceive.pl?ordernumber=[% order.ordernumber %]&amp;biblio=[% order.biblionumber %]&amp;invoice=[% order.booksellerinvoicenumber %]&amp;booksellerid=[% order.booksellerid %]&amp;catview=yes">[% order.ordernumber %]</a>
+            <a href="/cgi-bin/koha/acqui/orderreceive.pl?ordernumber=[% order.ordernumber %]&amp;biblio=[% order.biblionumber %]&amp;invoiceid=[% order.invoiceid %]">[% order.ordernumber %]</a>
        </td>
        <td class="cell">
            <a href="/cgi-bin/koha/acqui/supplier.pl?booksellerid=[% order.booksellerid %]">[% order.booksellerid %]</a>
        </td>
        <td class="cell">
-           <a href="/cgi-bin/koha/acqui/parcel.pl?invoice=[% order.booksellerinvoicenumber %]&amp;booksellerid=[% order.booksellerid %]&amp;datereceived=[% order.datereceived %]">[% order.booksellerinvoicenumber %]</a>
+           <a href="/cgi-bin/koha/acqui/invoice.pl?invoiceid=[% order.invoiceid %]">[% order.invoicenumber %]</a>
        </td>
        <td class="cell">
            [% order.itype %]
            [% order.unitprice %]
        </td>
        <td class="cell" align="right">
-           [% order.freight %]
-       </td>
-       <td class="cell" align="right">
            [% order.entrydate | $KohaDates %]
        </td>
        <td class="cell" align="right">
            [% order.datereceived | $KohaDates %]
        </td>
        <td class="cell" align="right">
-           [% order.subtotal %]
+           [% order.rowtotal %]
        </td>
     </tr>
 [% END %]
     <tfoot>
-        <tr valign="top">
-        <td> Total </td>
-        <td> </td>
-        <td> </td>
-        <td> </td>
-        <td> </td>
-        <td> </td>
-        <td> </td>
-        <td> </td>
-       <td> </td>
-       <td> </td>
-        <td align="right">
-               [% total %]
-       </td>
+        [% IF shipmentcosts.size %]
+            <tr valign="top">
+                <td colspan="9"> Sub total </td>
+                <td align="right"> [% subtotal %] </td>
+            </tr>
+            [% FOREACH shipmentcost IN shipmentcosts %]
+                <tr>
+                    <td></td>
+                    <td colspan="8">Shipment cost for invoice [% shipmentcost.invoicenumber %]</td>
+                    <td class="total">[% shipmentcost.shipmentcost %]</td>
+                </tr>
+            [% END %]
+        [% END %]
+        <tr>
+            <td colspan="9">TOTAL</td>
+            <td class="total">[% total %]</td>
         </tr>
     </tfoot>
-
 </table>
 
 </div>
index b5b9df2..9cbc169 100644 (file)
@@ -129,7 +129,7 @@ if (f.company.value == "") {
             </li>
             </ol>
             <ol class="radio">
-            <li><label for="gstyes" class="radio">Tax Number Registered:</label>
+            <li><label for="gstyes" class="radio">Tax number registered:</label>
                 [% IF ( gstreg ) %]
                     <label for="gstyes">Yes</label> <input type="radio" name="gst" id="gstyes" value="1" checked="checked" />
                     <label for="gstno">No</label> <input type="radio" name="gst" id="gstno" value="0" />
@@ -156,10 +156,23 @@ if (f.company.value == "") {
                     <label for="invoice_gstno">Don't include tax</label> <input type="radio" id="invoice_gstno" name="invoice_gst" value="0" checked="checked" />
                 [% END %]</li>
             </ol>
+             <ol>
+                <li>
+                    <label for="gst">Tax rate</label>
+                    <select name="gstrate" id="gstrate">
+                    [% FOREACH gst IN gst_values %]
+                      [% IF ( gstrate == gst.option ) %]
+                        <option value="[% gst.option %]" selected="selected">[% gst.option * 100 | format ("%.1f") %] %</option>
+                      [% ELSE %]
+                        <option value="[% gst.option %]">[% gst.option * 100 | format ("%.1f") %] %</option>
+                      [% END %]
+                    [% END %]
+                    </select>
+                </li>
+            </ol>
             <ol>
             <li><label for="discount">Discount</label>
                 <input type="text" size="6" id="discount" name="discount" value="[% discount %]" />%</li>
-            <li><label for="gstrate">Tax rate</label><input type="text" name="gstrate" id="gstrate" size="6" value="[% gstrate %]"/>% (leave blank for default tax of [% default_gst_rate %]%)</li>
             <li>
                 <label for="deliverytime">Delivery time</label>
                 <input type="text" size="2" id="deliverytime" name="deliverytime" value="[% deliverytime %]" /> days
@@ -214,7 +227,7 @@ if (f.company.value == "") {
                     [% END %]</p>
             <p><strong>List prices are: </strong>[% listprice %]</p>
             <p><strong>Invoice prices are: </strong>[% invoiceprice %]</p>
-            [% IF ( GST ) %]<p><strong>Tax number registered: </strong>
+            [% IF ( gstrate ) %]<p><strong>Tax number registered: </strong>
                     [% IF ( gstreg ) %]Yes[% ELSE %]No[% END %]</p>
             <p><strong>List item price includes tax: </strong>
                     [% IF ( listincgst ) %]Yes[% ELSE %]No[% END %]</p>
@@ -223,7 +236,7 @@ if (f.company.value == "") {
             <p><strong>Discount: </strong>
                 [% discount %] %</p>
             <p><strong>Tax rate: </strong>
-                [% GST %]%[% UNLESS ( default_tax ) %] (default)[% END %]</p>
+                [% 0 + gstrate * 100 | format("%.1f") %]%</p>
             [% IF deliverytime.defined %]
                 <p><strong>Delivery time: </strong>
                     [% deliverytime %] days</p>
index 0d4ef2e..483bf65 100644 (file)
@@ -16,7 +16,7 @@
         "aoColumnDefs": [
             { "aTargets": [ -1, -2 ], "bSortable": false, "bSearchable": false },
         ],
-        "sPaginationType": "four_button"
+        "bPaginate": false
     } ) );
 
     $("#CheckAll").click(function(){
             row.addClass("selected");
         });
 });
+
+[% IF ( total_pages ) %]
+function validate_goto_page(){
+    var page = $('#goto_page').val();
+    if(isNaN(page)) {
+        alert(_("The page entered is not a number."));
+        return false;
+    }
+    else if(page < 1 || page > [% total_pages %] ) {
+        alert(_("The page should be a number between 1 and ") + [% total_pages %] + ".");
+        return false;
+    }
+    else {
+        return true;
+    }
+}
+[% END %]
+
 //]]>
 </script>
 <style type="text/css">
@@ -75,7 +93,7 @@ tr.selected { background-color : #FFFFCC; } tr.selected td { background-color :
     <div class="yui-u first">
            <fieldset class="rows">
                 <ol><li><label for="searchtitle">Title: </label> <input type="text" id="searchtitle"  name="title" value="[% title |html %]" /></li>
-                <li><label for="isbn">ISBN/ISSN: </label> <input type="text" id="isbn" name="isbn" value="[% isbn %]" /></li>
+                <li><label for="isbn">ISBN: </label> <input type="text" id="isbn" name="isbn" value="[% isbn %]" /></li>
          <li><label for="lccall">LC call number: </label> <input type="text" id="lccall" name="lccall" value="" /></li>
          <li><label for="controlnumber">Control no.: </label> <input type="text" id="controlnumber" name="controlnumber" value="" /></li>
 </ol>
@@ -83,6 +101,7 @@ tr.selected { background-color : #FFFFCC; } tr.selected td { background-color :
            </div>
     <div class="yui-u">
        <fieldset class="rows">          <ol><li><label for="author">Author: </label> <input type="text" id="author" name="author" value="[% author %]" /><!--  <label for="Keyword">Keyword</label> <input type="text" name="keyword" value="" /> --></li>
+         <li><label for="issn">ISSN: </label> <input type="text" id="issn" name="issn" value="[% issn %]" /></li>
          <li> <label for="subject">Subject heading: </label> <input type="text" id="subject" name="subject" value="" /></li>
                 <li><label for="dewey">Dewey: </label> <input type="text" id="dewey" name="dewey" value="" /></li></ol></fieldset>
             <fieldset class="rows" >
@@ -155,6 +174,36 @@ tr.selected { background-color : #FFFFCC; } tr.selected td { background-color :
         [% END %]
     [% END %]</tbody>
 </table>
+
+    <form method="post" action="z3950_search.pl" id="page_form" name="page_form" class="checkboxed">
+        <input type="hidden" name="op" id="op" value="do_search" />
+        <input type="hidden" name="current_page" id="current_page" value="[% current_page %]" />
+        <input type="hidden" id="searchtitle"  name="title" value="[% title |html %]" />
+        <input type="hidden" id="isbn" name="isbn" value="[% isbn %]" />
+        <input type="hidden" id="lccall" name="lccall" value="[% lccall %]" />
+        <input type="hidden" id="author" name="author" value="[% author %]" />
+        <input type="hidden" id="subject" name="subject" value="[% subject %]" />
+        <input type="hidden" id="dewey" name="dewey" value="[% dewey %]" />
+        <input type="hidden" name="frameworkcode" value="[% frameworkcode %]" />
+        <input type="hidden" name="biblionumber" value="[% biblionumber %]" />
+        <input type="hidden" name="controlnumber" value="[% controlnumber %]" />
+        <input type="hidden" name="basketno" value="[% basketno %]" />
+        <input type="hidden" name="booksellerid" value="[% booksellerid %]" />
+
+        [% FOREACH server IN servers %]
+        <input type="hidden" name="id" id="z3950_[% server.id %]" value="[% server.id %]" />
+        [% END %]
+
+        [% IF ( show_prevbutton ) %]
+            <input type="button" name="changepage_prev" value="Previous Page" onclick="$('#current_page').val([% current_page %]-1);$('#page_form').submit();" />
+        [% END %]
+        Page [% current_page %] / [% total_pages %]
+        [% IF ( show_nextbutton ) %]
+            <input type="button" name="changepage_next" value="Next Page" onclick="$('#current_page').val([% current_page %]+1);$('#page_form').submit();" />
+        [% END %]
+        <br />Go to page : <input id="goto_page" name="goto_page" value="[% current_page %]" size="4" /><input type="submit" name="changepage_goto" onclick="return validate_goto_page();" value="Go" />
+    </form>
+
     [% ELSE %]
         [% IF ( emptyserverlist ) %]
             <div class="dialog alert">You didn't select any Z39.50 target.</div>
index 3906c46..8419f87 100644 (file)
@@ -50,6 +50,8 @@
     <dd>Define extended attributes (identifiers and statistical categories) for patron records</dd>
     <dt><a href="/cgi-bin/koha/admin/branch_transfer_limits.pl">Library transfer limits</a></dt>
        <dd>Limit the ability to transfer items between libraries based on the library sending, the library receiving, and the item type involved. These rules only go into effect if the preference UseBranchTransferLimits is set to ON.</dd>
+    <dt><a href="/cgi-bin/koha/admin/transport-cost-matrix.pl">Transport Cost Matrix</a></dt>
+    <dd>Define transport costs between branches</dd>
     <dt><a href="/cgi-bin/koha/admin/item_circulation_alerts.pl">Item circulation alerts</a></dt>
        <dd>Define rules for check-in and checkout notifications for combinations of libraries, patron categories, and item types</dd>
     <dt><a href="/cgi-bin/koha/admin/cities.pl">Cities and towns</a></dt>
        <dd>Printers (UNIX paths).</dd> -->
     <dt><a href="/cgi-bin/koha/admin/z3950servers.pl">Z39.50 client targets</a></dt>
        <dd>Define which servers to query for MARC data in the integrated Z39.50 client.</dd>
+    <dt><a href="/cgi-bin/koha/admin/didyoumean.pl">Did you mean?</a></dt>
+    <dd>Choose which plugins to use to suggest searches to patrons and staff.</dd>
 </dl>
 </div>
 
index deb5442..f8a0506 100644 (file)
@@ -1,8 +1,12 @@
+[% USE KohaDates %]
 [% INCLUDE 'doc-head-open.inc' %]
+<link rel="stylesheet" type="text/css" href="[% themelang %]/css/datatables.css" />
 [% INCLUDE 'doc-head-close.inc' %]
 [% INCLUDE 'calendar.inc' %]
+<script type="text/javascript" src="[% themelang %]/lib/jquery/plugins/jquery.dataTables.min.js"></script>
+[% INCLUDE 'datatables-strings.inc' %]
+<script type="text/javascript" src="[% themelang %]/js/datatables.js"></script>
 <script type="text/javascript" src="[% themelang %]/js/acq.js"></script>
-<script type="text/javascript" src="[% themelang %]/lib/jquery/plugins/jquery.tablesorter.min.js"></script>
 <script type="text/javascript">
 // #################################################################################
 // Javascript
                     alert(alertString2);
             }
     }
-       $(document).ready(function() {
-                $("#periodsh").tablesorter({
-                   widgets : ['zebra'],
-                   sortList: [[0,0]],
-                   headers:  {6:{sorter:false}}
-            });
-       });
+
+
+
+    [% IF ( dateformat == 'metric' ) %]
+        dt_add_type_uk_date();
+    [% END %]
+    $(document).ready(function() {
+        var tabs = $('#budgetsTabs').tabs();
+        [% IF ( tab ) %]
+            tabs.tabs('select', [% tab %]);
+        [% END %]
+        $("#activeperiodst,#inactiveperiodst").dataTable($.extend(true, {}, dataTablesDefaults, {
+            "aoColumnDefs": [
+                {
+                    [% IF ( dateformat == 'metric' ) %]
+                        "aTargets": [ 1, 2 ], "sType": "uk_date",
+                    [% END %]
+                    "bSortable": false, 'aTargets':['_all'],
+                },
+            ],
+            "sPaginationType": "four_button",
+            "bAutoWidth": false,
+            "bPaginate": false,
+            "bInfo": false,
+            "bFilter": false,
+        } ) );
+    });
 </script>
 
 <title>
 
     <li>
     <label class="required" for="from">Start date</label>
-    <input type="text" size="10" id="from" name="budget_period_startdate" value="[% budget_period_startdate %]" class="datepickerfrom" />
+    <input type="text" size="10" id="from" name="budget_period_startdate" value="[% budget_period_startdate | $KohaDates %]" class="datepickerfrom" />
                                <div class="hint">[% INCLUDE 'date-format.inc' %]</div>
     </li>
     <li>
 
     <label class="required" for="to">End date</label>
-    <input type="text" size="10" id="to" name="budget_period_enddate" value="[% budget_period_enddate %]" class="datepickerto" />
+    <input type="text" size="10" id="to" name="budget_period_enddate" value="[% budget_period_enddate | $KohaDates %]" class="datepickerto" />
                                <div class="hint">[% INCLUDE 'date-format.inc' %]</div>
     </li>
 
     <ol>
     <li>
     <label class="required" for="from">Start date</label>
-    <input type="text" size="10" id="from" name="budget_period_startdate" value="[% budget_period_startdate %]" class="datepickerfrom" />
+    <input type="text" size="10" id="from" name="budget_period_startdate" value="[% budget_period_startdate | $KohaDates %]" class="datepickerfrom" />
                                <div class="hint">[% INCLUDE 'date-format.inc' %]</div>
     </li>
     <li>
 
     <label class="required" for="to">End date</label>
-    <input type="text" size="10" id="to" name="budget_period_enddate" value="[% budget_period_enddate %]" class="datepickerto" />
+    <input type="text" size="10" id="to" name="budget_period_enddate" value="[% budget_period_enddate | $KohaDates %]" class="datepickerto" />
                                <div class="hint">[% INCLUDE 'date-format.inc' %]</div>
     </li>
 
 [% END %]
 <!--  DEFAULT  display budget periods list -->
 [% IF ( else ) %]
-    <h2>Budgets administration</h2>
-
-    [% INCLUDE 'budgets-active-currency.inc' %]
-
-    <table id="periodsh">
-    <thead>
-           <tr>
-            <th>Budget name</th>
-            <th>Start date</th>
-            <th>End date</th>
-               <th>Active</th>
-               <th>Locked</th>
-               <th>Total</th>
-               <th>Actions</th>
-           </tr>
-       </thead>
-       <tbody>
-           [% FOREACH period_loo IN period_loop %]
-               [% IF ( loop.odd ) %]
-                   <tr>
-               [% ELSE %]
-                   <tr class="highlight">
-               [% END %]
-               <td><a href="/cgi-bin/koha/admin/aqbudgets.pl?budget_period_id=[% period_loo.budget_period_id %]" title="View funds for [% period_loo.budget_period_description %]">[% period_loo.budget_period_description %]</a></td>
-               <td>[% period_loo.budget_period_startdate %]</td>
-               <td>[% period_loo.budget_period_enddate %]</td>
-               <td>[% IF ( period_loo.budget_period_active ) %]<span style="color:green;">Active</span>&nbsp;[% ELSE %][% END %] </td>
-               <td> [% IF ( period_loo.budget_period_locked ) %]<span style="color:green;">Locked</span>&nbsp;[% ELSE %][% END %] </td>
-               <td align='right'>[% period_loo.budget_period_total %]</td>
-               <td>
-                   <a href="[% period_loo.script_name %]?op=add_form&amp;budget_period_id=[% period_loo.budget_period_id |html %]">Edit</a>
-                   <a href="[% period_loo.script_name %]?op=delete_confirm&amp;budget_period_id=[% period_loo.budget_period_id %]">Delete</a>
-            <a href="/cgi-bin/koha/admin/aqbudgets.pl?op=add_form&amp;budget_period_id=[% period_loo.budget_period_id %]">Add fund</a>
-               </td>
-               </tr>
-           [% END %]
-           [% UNLESS ( period_loop ) %]
-       <tr><td colspan="7">No budget</td></tr>
-       [% END %]
-    </tbody>
-    </table>
-    <div class="pages">[% pagination_bar %]</div>
+  <h2>Budgets administration</h2>
+
+  [% INCLUDE 'budgets-active-currency.inc' %]
+
+  <div id="budgetsTabs" class="toptabs">
+    <ul>
+        <li><a href="#active">Active Budgets</a></li>
+        <li><a href="#inactive">Inactive Budgets</a></li>
+    </ul>
+
+    <div id="active">
+      [% IF ( period_active_loop ) %]
+        <table id="activeperiodst">
+          <thead>
+            <tr>
+              <th>Budget name</th>
+              <th>Start date</th>
+              <th>End date</th>
+              <th>Locked</th>
+              <th>Total</th>
+              <th>Actions</th>
+            </tr>
+          </thead>
+          <tbody>
+              [% FOREACH period_active IN period_active_loop %]
+                <tr>
+                <td><a href="/cgi-bin/koha/admin/aqbudgets.pl?budget_period_id=[% period_active.budget_period_id %]" title="View funds for [% period_active.budget_period_description %]">[% period_active.budget_period_description %]</a></td>
+                <td>[% period_active.budget_period_startdate | $KohaDates %]</td>
+                <td>[% period_active.budget_period_enddate | $KohaDates %]</td>
+                <td>
+                  [% IF ( period_active.budget_period_locked ) %]
+                    <span style="color:green;">Locked</span>&nbsp;
+                  [% END %]
+                </td>
+                <td align='right'>[% period_active.budget_period_total %]</td>
+                <td>
+                  <a href="[% script_name %]?op=add_form&amp;budget_period_id=[% period_active.budget_period_id |html %]">Edit</a>
+                  <a href="[% script_name %]?op=delete_confirm&amp;budget_period_id=[% period_active.budget_period_id %]">Delete</a>
+                  <a href="/cgi-bin/koha/admin/aqbudgets.pl?op=add_form&amp;budget_period_id=[% period_active.budget_period_id %]">Add Fund</a>
+                </td>
+                </tr>
+              [% END %]
+          </tbody>
+        </table>
+      [% ELSE %]
+        No active budgets
+      [% END %]
+      <div class="paginationBar">[% active_pagination_bar %]</div>
+    </div>
+    <div id="inactive">
+      [% IF ( period_inactive_loop ) %]
+        <table id="inactiveperiodst">
+          <thead>
+              <tr>
+                  <th>Budget name</th>
+                  <th>Start date</th>
+                  <th>End date</th>
+                  <th>Locked</th>
+                  <th>Total</th>
+                  <th>Actions</th>
+              </tr>
+          </thead>
+          <tbody>
+              [% FOREACH period_loo IN period_inactive_loop %]
+                  [% IF ( loop.odd ) %]
+                      <tr>
+                  [% ELSE %]
+                      <tr class="highlight">
+                  [% END %]
+                  <td><a href="/cgi-bin/koha/admin/aqbudgets.pl?budget_period_id=[% period_loo.budget_period_id %]" title="View funds for [% period_loo.budget_period_description %]">[% period_loo.budget_period_description %]</a></td>
+                  <td>[% period_loo.budget_period_startdate | $KohaDates %]</td>
+                  <td>[% period_loo.budget_period_enddate | $KohaDates %]</td>
+                  <td> [% IF ( period_loo.budget_period_locked ) %]<span style="color:green;">Locked</span>&nbsp;[% ELSE %][% END %] </td>
+                  <td align='right'>[% period_loo.budget_period_total %]</td>
+                  <td>
+                      <a href="[% period_loo.script_name %]?op=add_form&amp;budget_period_id=[% period_loo.budget_period_id |html %]">Edit</a>
+                      <a href="[% period_loo.script_name %]?op=delete_confirm&amp;budget_period_id=[% period_loo.budget_period_id %]">Delete</a>
+                  <a href="/cgi-bin/koha/admin/aqbudgets.pl?op=add_form&amp;budget_period_id=[% period_loo.budget_period_id %]">Add fund</a>
+                  </td>
+                  </tr>
+              [% END %]
+          </tbody>
+        </table>
+      [% ELSE %]
+        No inactive budgets
+      [% END %]
+      <div class="pages">[% inactive_pagination_bar %]</div>
+    </div>
+  </div>
 [% END %]
 
 
index 7103971..e723ed4 100644 (file)
@@ -22,8 +22,8 @@ function Check(ff) {
         ok=1;
         _alertString += _("- Name missing") + "\n";
     }
-    var startDate = Date_from_syspref($("#contractstartdate").val());
-    var endDate   = Date_from_syspref($("#contractenddate").val());
+    var startDate = Date_from_syspref($("#from").val());
+    var endDate   = Date_from_syspref($("#to").val());
     if (!parseInt(startDate.getTime())) {
         ok=1;
         _alertString += _("- Start date missing or invalid.") + "\n";
index 3af0724..4acaac3 100644 (file)
         </li>
         <li>
             <label for="lib">Description</label>
-            <input type="text" name="lib" id="lib" value="[% lib %]" maxlength="80" />
+            <input type="text" name="lib" id="lib" value="[% lib %]" maxlength="200" />
         </li>
        <li>
             <label for="lib_opac">Description (OPAC)</label>
-            <input type="text" name="lib_opac" id="lib_opac" value="[% lib_opac %]" maxlength="80" />
+            <input type="text" name="lib_opac" id="lib_opac" value="[% lib_opac %]" maxlength="200" />
         </li>
                </ol>
         <div id="icons" class="toptabs" style="clear:both">
diff --git a/koha-tmpl/intranet-tmpl/prog/en/modules/admin/didyoumean.tt b/koha-tmpl/intranet-tmpl/prog/en/modules/admin/didyoumean.tt
new file mode 100644 (file)
index 0000000..fd9dfe1
--- /dev/null
@@ -0,0 +1,105 @@
+[% BLOCK pluginlist %]
+<div class="pluginlist">
+[% FOREACH plugin IN plugins %]
+    <div class="plugin">
+        <div class="pluginname">
+            [% IF plugin.enabled %]<input type="checkbox" checked="checked" id="checkbox_[% type %][% plugin.name %]">[% ELSE %]<input type="checkbox" id="checkbox_[% type %][% plugin.name %]">[% END %]
+            <label class='pluginlabel' for="checkbox_[% type %][% plugin.name %]">[% plugin.name %]</label></div>
+        <div class="plugindesc">
+        [% SWITCH plugin.name %]
+        [% CASE 'AuthorityFile' %]
+            Suggest authorities which are relevant to the term the user searched for.
+        [% CASE 'ExplodedTerms' %]
+            Suggest that patrons expand their searches to include
+            broader/narrower/related terms.
+        [% END %]
+        </div>
+    </div>
+[% END %]
+</div>
+[% END %]
+[% INCLUDE 'doc-head-open.inc' %]
+<title>Koha &rsaquo; Administration &rsaquo; Did you mean?</title>
+[% INCLUDE 'doc-head-close.inc' %]
+<script>
+    $(document).ready(function() {
+        $( ".pluginlist" ).sortable();
+        $( ".plugin" ).addClass( "ui-widget ui-widget-content ui-helper-clearfix ui-corner-all" )
+            .find( ".pluginname" )
+                    .addClass( "ui-widget-header ui-corner-all" )
+                    .end()
+            .find( ".plugindesc" );
+    });
+
+    function yesimeant() {
+        var OPACdidyoumean = serialize_plugins('opac');
+        var INTRAdidyoumean = serialize_plugins('intranet');
+
+        var data = "pref_OPACdidyoumean=" + encodeURIComponent(OPACdidyoumean) + "&pref_INTRAdidyoumean=" + encodeURIComponent(INTRAdidyoumean);
+
+        $.ajax({
+            data: data,
+            type: 'POST',
+            url: '/cgi-bin/koha/svc/config/systempreferences/',
+            success: function () { alert("Successfully saved configuration"); },
+        });
+        return false;
+    }
+
+    function serialize_plugins(interface) {
+        var serializedconfig = '[';
+        $('#didyoumean' + interface + ' .pluginlist .plugin').each(function(index) {
+            var name = $(this).find('.pluginlabel').text();
+            var enabled = $(this).find('input:checkbox:checked').length ?
+                          ', "enabled": 1' : '';
+            serializedconfig += '{ "name": "' + name + '"' + enabled + '}, ';
+            });
+            serializedconfig = serializedconfig.substring(0, serializedconfig.length - 2);
+            serializedconfig += ']';
+            return serializedconfig;
+    }
+</script>
+</head>
+<body id="admin_didyoumean" class="admin">
+[% INCLUDE 'header.inc' %]
+[% INCLUDE 'cat-search.inc' %]
+<div id="breadcrumbs"><a href="/cgi-bin/koha/mainpage.pl">Home</a> &rsaquo; <a href="/cgi-bin/koha/admin/admin-home.pl">Administration</a> &rsaquo; Did you mean?</div>
+
+<div id="doc3" class="yui-t2">
+
+    <div id="bd">
+    <div id="yui-main">
+    <div class="yui-b">
+        <h3>Did you mean?</h3>
+        <noscript><div class="dialog alert"><strong>Please enable Javascript:</strong>
+            Configuring <em>Did you mean?</em> plugins requires Javascript. If
+            you are unable to use Javascript, you may be able to enter the
+            configuration (which is stored in JSON in the OPACdidyoumean and
+            INTRAdidyoumean system preferences) in the Local Preferences tab in
+            the system preference editor, but this is unsupported, not
+            recommended, and likely will not work.</div></noscript>
+        <div id="didyoumeanlegend">
+            Please put the <em>Did you mean?</em> plugins in order by significance, from
+            most significant to least significant, and check the box to enable those
+            plugins that you want to use. (NOTE: <em>Did you mean?</em> functionality
+            is not yet enabled on the staff client)
+        </div>
+        <form action="/cgi-bin/koha/admin/didyoumean.pl" method="post">
+            <fieldset id="didyoumeanopac">
+                <legend>OPAC</legend>
+                [% PROCESS pluginlist plugins=OPACpluginlist type='opac' %]
+            </fieldset>
+            <fieldset id="didyoumeanintranet">
+                <legend>Intranet</legend>
+                [% PROCESS pluginlist plugins=INTRApluginlist type='intranet' %]
+            </fieldset>
+            <fieldset class="action"><button class="save-all submit" onclick="yesimeant();return false;" type="submit">Save configuration</button> <a href="#" onclick="window.location.reload(true);" class="cancel">Cancel</a></fieldset>
+        </form>
+
+        </div>
+        </div>
+<div class="yui-b">
+[% INCLUDE 'admin-menu.inc' %]
+</div>
+</div>
+[% INCLUDE 'intranet-bottom.inc' %]
index e4fc007..295299b 100644 (file)
@@ -83,5 +83,5 @@ $(document).ready(function() {
        <div class="yui-b">
                [% INCLUDE 'admin-menu.inc' %]
        </div>
-</div>
+
 [% INCLUDE 'intranet-bottom.inc' %]
index 5835244..2bd8aaf 100644 (file)
@@ -220,6 +220,17 @@ function CheckRuleForm(f) {
            <input type="text" id="threshold" name="threshold" size="5" maxlength="5" 
                   value="[% threshold |html %]" /> <span class="required">Required</span>
        </li>
+       <li><label for="record_type" class="required">Record type: </label>
+           <select id="record_type" name="record_type">
+               [% IF ( record_type == "authority" ) %]
+                   <option value="biblio">Bibliographic record</option>
+                   <option value="authority" selected="selected">Authority record</option>
+               [% ELSE %]
+                   <option value="biblio" selected="selected">Bibliographic record</option>
+                   <option value="authority">Authority record</option>
+               [% END %]
+           </select><span class="required">Required</span>
+       </li>
     </ol>
   </fieldset>
 
index 875b863..9591003 100644 (file)
@@ -42,7 +42,7 @@
     [% END %]
     [% IF ( search_not_found ) %]
     <div class="dialog alert">
-        No system preferences matched your search for <strong>[% searchfield %]</strong>. You can try a different search or <a href="/cgi-bin/koha/admin/preferences.pl?tab=[% last_tab %]">return to where you were before.</a>
+        No system preferences matched your search for <strong>[% searchfield |html %]</strong>. You can try a different search or <a href="/cgi-bin/koha/admin/preferences.pl?tab=[% last_tab %]">return to where you were before.</a>
     </div>
     [% END %]
     [% FOREACH TAB IN TABS %]
index ebae997..1ec49ff 100644 (file)
@@ -32,9 +32,9 @@ Acquisitions:
                   US: 360,000.00 (US)
                   FR: 360 000,00 (FR)
         -
-            - The default tax rate is
+            - Default tax rates are
             - pref: gist
-            - (enter in numeric form, 0.12 for 12%)
+            - (enter in numeric form, 0.12 for 12%. First is the default. If you want more than 1 value, please separate with |)
 
     Printing:
         -
index 27dc9d5..f4cc9e3 100644 (file)
@@ -1,6 +1,13 @@
 Authorities:
     General:
         -
+            - pref: AuthDisplayHierarchy
+              default: no
+              choices:
+                  yes: Display
+                  no: "Don't display"
+            - broader term/narrower term hierarchies when viewing authorities.
+        -
             - When editing records,
             - pref: BiblioAddsAuthorities
               default: no
index c683da7..91f15c3 100644 (file)
@@ -95,6 +95,16 @@ Cataloging:
                   hbyymmincr: generated in the form &lt;branchcode&gt;yymm0001.
                   EAN13: incremental EAN-13 barcodes
                   "OFF": not generated automatically.
+        -
+            - When a new item is added,
+            - pref: PrefillItem
+              choices:
+                  yes: the new item is prefilled with last created item values.
+                  no: the new item is not prefilled with last created item values.
+        -
+            - Define a list of subfields to use when prefilling items (separated by space)
+            - pref: SubfieldsToUseWhenPrefill
+
     Display:
         -
             - 'Separate multiple displayed authors, series or subjects with '
@@ -142,4 +152,8 @@ Cataloging:
                   yes: Hide
                   no: "Don't hide"
             - items marked as suppressed from OPAC search results. Note that you must have the <code>Suppress</code> index set up in Zebra and at least one suppressed item, or your searches will be broken.
+            - Restrict the suppression to IP adresses outside of the IP range
+            - pref: OpacSuppressionByIPRange
+              class: short
+            - (Leave blank if not used. Define a range like <code>192.168.</code>.)
 
index a758b19..c583bbe 100644 (file)
@@ -52,6 +52,11 @@ Circulation:
                   no: "Don't allow"
             - staff to specify a due date for a checkout.
         -
+            - Set the default start date for the Holds to pull list to
+            - pref: HoldsToPullStartDate
+              class: integer
+            - day(s) ago.
+        -
             - pref: AllowAllMessageDeletion
               choices:
                   yes: Allow
@@ -110,6 +115,15 @@ Circulation:
                   yes: Do
                   no: "Do not"
             - update a bibliographic record's total issues count whenever an item is issued (WARNING! This increases server load significantly; if performance is a concern, use the update_totalissues.pl cron job to update the total issues count).
+        -
+            - Use the
+            - pref: ExportWithCsvProfile
+            - CSV profile when exporting patron checkout history (enter CSV Profile name)
+        -
+            - The following fields should be excluded from the patron checkout history CSV or iso2709 export
+            - pref: ExportRemoveFields
+            - (separate fields with space, e.g. 100a 200b 300c)
+
     Checkout Policy:
         -
             - pref: AllowNotForLoanOverride
@@ -128,7 +142,7 @@ Circulation:
               choices:
                   yes: Allow
                   no: "Don't allow"
-            - checkouts of items items reserved to someone else. If allowed do not generate RESERVE_WAITING and RESERVED warning. This allows self checkouts for those items.
+            - checkouts of items reserved to someone else. If allowed do not generate RESERVE_WAITING and RESERVED warning. This allows self checkouts for those items.
         -
             - pref: AllFinesNeedOverride
               choices:
@@ -171,6 +185,12 @@ Circulation:
                   itemtype: item type
             - .
         -
+            - pref: UseTransportCostMatrix
+              choices:
+                  yes: Use
+                  no: "Don't use"
+            - Transport Cost Matrix for calculating optimal holds filling between branches.
+        -
             - Use the checkout and fines rules of
             - pref: CircControl
               type: choice
@@ -186,6 +206,15 @@ Circulation:
                   homebranch: the library the item is from.
                   holdingbranch: the library the item was checked out from.
         -
+            - Allow materials to be returned to
+            - pref: AllowReturnToBranch
+              type: choice
+              choices:
+                  anywhere: to any library.
+                  homebranch: only the library the item is from.
+                  holdingbranch: only the library the item was checked out from.
+                  homeorholdingbranch: either the library the item is from or the library it was checked out from.
+        -
             - Calculate the due date using 
             - pref: useDaysMode
               choices:
@@ -215,6 +244,16 @@ Circulation:
                   no: "Prevent"
             - patrons from checking out an item whose rental charge would take them over the limit.
         -
+            - "Restrict patrons with the following target audience values from checking out inappropriate materials:"
+            - pref: AgeRestrictionMarker
+            - "E.g. enter target audience keyword(s) split by | (bar) FSK|PEGI|Age| (No white space near |). Be sure to map agerestriction in Koha to MARC mapping (e.g. 521$a). A MARC field value of FSK 12 or PEGI 12 would mean: Borrower must be 12 years old. Leave empty to not apply an age restriction."
+        -
+            - pref: AgeRestrictionOverride
+              choices:
+                  yes: Allow
+                  no: "Don't allow"
+            - staff to check out an item with age restriction.
+        -
             - Prevent patrons from checking out books if they have more than
             - pref: noissuescharge
               class: integer
@@ -255,6 +294,13 @@ Circulation:
                   alert: "display a message"
                   nothing : "do nothing"
             - .
+    Checkin Policy:
+        -
+            - pref: BlockReturnOfWithdrawnItems
+              choices:
+                  yes: Block
+                  no: "Don't block"
+            - returning of items that have been withdrawn.
     Holds Policy:
         -
             - pref: AllowHoldPolicyOverride
@@ -377,6 +423,18 @@ Circulation:
                   yes: Allow
                   no: "Don't allow"
             - holds to be suspended from the OPAC.
+        -
+            - pref: decreaseLoanHighHolds
+              choices:
+                  yes: Enable
+                  no:  "Don't enable"
+            - the reduction of loan period to
+            - pref: decreaseLoanHighHoldsDuration
+              class: integer
+            - days for items with more than
+            - pref: decreaseLoanHighHoldsValue
+              class: integer
+            - holds.
     Fines Policy:
         -
             - Calculate fines based on days overdue
index e0c798b..1a9fa09 100644 (file)
@@ -163,11 +163,33 @@ OPAC:
               type: textarea
               class: code
         -
+            - "Include the following CSS for the mobile view on all pages in the OPAC:"
+            - pref: OPACMobileUserCSS
+              type: textarea
+              class: code
+        -
             - "Show the following HTML in its own column on the main page of the OPAC:"
             - pref: OpacMainUserBlock
               type: textarea
               class: code
         -
+            - "Show the following HTML in its own column on the main page of the OPAC (mobile version):"
+            - pref: OpacMainUserBlockMobile
+              type: textarea
+              class: code
+        -
+            - pref: OpacShowLibrariesPulldownMobile
+              choices:
+                  yes: Show
+                  no: "Don't show"
+            - the libraries pulldown on the mobile version of the OPAC.
+        -
+            - pref: OpacShowFiltersPulldownMobile
+              choices:
+                  yes: Show
+                  no: "Don't show"
+            - the search filters pulldown on the mobile version of the OPAC.
+        -
             - "Show the following HTML on the left hand column of the main page and patron account on the OPAC (generally navigation links):"
             - pref: OpacNav
               type: textarea
@@ -199,7 +221,7 @@ OPAC:
               type: textarea
               class: code
         -
-            - 'Include a "Links" column on the "my summary" tab when a user is logged in to the OPAC, with the following HTML (leave blank to disable):'
+            - 'Include a "Links" column on the "my summary" and "my reading history" tabs when a user is logged in to the OPAC, with the following HTML (leave blank to disable):'
             - '<br />Note: The placeholders {BIBLIONUMBER}, {TITLE}, {ISBN} and {AUTHOR} will be replaced with information from the displayed record.'
             - pref: OPACMySummaryHTML
               type: textarea
@@ -274,6 +296,12 @@ OPAC:
                   no: "Don't allow"
             - patrons to browse subject authorities on OPAC (run misc/cronjobs/build_browser_and_cloud.pl to create the browser list)
         -
+            - pref: OpacCloud
+              choices:
+                  yes: Show
+                  no: "Don't show"
+            - a subject cloud on OPAC (run misc/cronjobs/build_browser_and_cloud.pl to build)
+        -
             - pref: OpacAuthorities
               choices:
                   yes: Allow
@@ -359,7 +387,7 @@ OPAC:
               choices:
                   yes: "Don't allow"
                   no: Allow
-            - patrons to select their library on the OPAC.
+            - patrons to select their branch on the OPAC or show branch names with callnumbers.
         -
             - pref: SearchMyLibraryFirst
               choices:
index 5176d52..3128ad6 100644 (file)
@@ -76,6 +76,19 @@ Searching:
                   yes: Using
                   no: "Not using"
             - 'ICU Zebra indexing. Please note: This setting will not affect Zebra indexing, it should only be used to tell Koha that you have activated ICU indexing if you have actually done so, since there is no way for Koha to figure this out on its own.'
+        -
+            - pref: DidYouMeanFromAuthorities
+              default: 0
+              choices:
+                  yes: Suggest
+                  no: "Don't suggest"
+            - alternate searches based on data in the authority file.
+            - pref: IncludeSeeFromInSearches
+              default: 0
+              choices:
+                  yes: Include
+                  no: "Don't include"
+            - "<i>see from</i> (non-preferred form) headings in bibliographic searches. Please note: you will need to reindex your bibliographic database when changing this preference."
     Search Form:
         -
             - Show tabs in OPAC and staff-side advanced search for limiting searches on the
index b2f62f7..a025fe1 100644 (file)
@@ -38,10 +38,10 @@ $(document).ready(function() {
             <li>same library, same patron type, all item types</li>
             <li>same library, all patron types, same item type</li>
             <li>same library, all patron types, all item types</li>
-            <li>all libraries, same patron type, same item type</li>
-            <li>all libraries, same patron type, all item types</li>
-            <li>all libraries, all patron types, same item type</li>
-            <li>all libraries, all patron types, all item types</li>
+            <li>default (all libraries), same patron type, same item type</li>
+            <li>default (all libraries), same patron type, all item types</li>
+            <li>default (all libraries), all patron types, same item type</li>
+            <li>default (all libraries), all patron types, all item types</li>
         </ul>
         <p>To modify a rule, create a new one with the same patron type and item type.</p>
     </div>
@@ -174,7 +174,7 @@ for="tobranch"><strong>Clone these rules to:</strong></label> <input type="hidde
         </form>
     </div>
     <div id="defaults-for-this-library" class="container">
-    <h3>Default checkout, hold and return policy for [% IF ( humanbranch ) %][% humanbranch %][% ELSE %]all libraries[% END %]</h3>
+    <h3>Default checkout, hold and return policy[% IF ( humanbranch ) %] for [% humanbranch %][% END %]</h3>
         <p>You can set a default maximum number of checkouts, hold policy and return policy that will be used if none is defined below for a particular item type or category.</p>
         <form method="post" action="/cgi-bin/koha/admin/smart-rules.pl">
             <input type="hidden" name="op" value="set-branch-defaults" />
@@ -251,7 +251,7 @@ for="tobranch"><strong>Clone these rules to:</strong></label> <input type="hidde
     </div>
     [% IF ( show_branch_cat_rule_form ) %]
     <div id="holds-policy-by-patron-category" class="container">
-    <h3>Checkout limit by patron category for [% IF ( humanbranch ) %][% humanbranch %][% ELSE %]all libraries[% END %]</h3>
+    <h3>[% IF humanbranch %]Checkout limit by patron category for [% humanbranch %][% ELSE %]Default checkout limit by patron category[% END %]</h3>
         <p>For this library, you can specify the maximum number of loans that
             a patron of a given category can make, regardless of the item type.
         </p>
@@ -306,7 +306,7 @@ for="tobranch"><strong>Clone these rules to:</strong></label> <input type="hidde
     </div>
     [% END %]
     <div id="holds-policy-by-item-type" class="container">
-    <h3>Holds policy by item type for [% IF ( humanbranch ) %][% humanbranch %][% ELSE %]all libraries[% END %]</h3>
+    <h3>[% IF humanbranch %]Holds policy by item type for [% humanbranch %][% ELSE %]Default holds policy by item type[% END %]</h3>
         <p>
             For this library, you can edit rules for given itemtypes, regardless
             of the patron's category.
index d9d0a5c..8e69259 100644 (file)
@@ -75,7 +75,7 @@
 </head>
 <body id="admin_systempreferences" class="admin">
 [% INCLUDE 'header.inc' %]
-[% INCLUDE 'sysprefs-admin-search.inc' %]
+[% INCLUDE 'prefs-admin-search.inc' %]
 
 <div id="breadcrumbs"><a href="/cgi-bin/koha/mainpage.pl">Home</a> &rsaquo; <a href="/cgi-bin/koha/admin/admin-home.pl">Administration</a> &rsaquo; [% IF ( add_form ) %] <a href="/cgi-bin/koha/admin/systempreferences.pl">System preferences</a> &rsaquo; [% IF ( modify ) %]Modify system preference '[% searchfield %]'[% ELSE %]Add a system preference[% END %][% END %][% IF ( add_validate ) %] <a href="/cgi-bin/koha/admin/systempreferences.pl">System preferences</a> &rsaquo; Data added[% END %]
 [% IF ( delete_confirm ) %] <a href="/cgi-bin/koha/admin/systempreferences.pl">System Preferences</a> &rsaquo; <a href="/cgi-bin/koha/admin/systempreferences.pl?op=add_form&amp;searchfield=[% searchfield %]">[% searchfield %]</a> &rsaquo; Confirm deletion of parameter '[% searchfield %]'[% END %][% IF ( delete_confirmed ) %] <a href="/cgi-bin/koha/admin/systempreferences.pl">System preferences</a> &rsaquo; Parameter deleted[% END %][% IF ( else ) %]System preferences[% END %]</div>
diff --git a/koha-tmpl/intranet-tmpl/prog/en/modules/admin/transport-cost-matrix.tt b/koha-tmpl/intranet-tmpl/prog/en/modules/admin/transport-cost-matrix.tt
new file mode 100644 (file)
index 0000000..8d12419
--- /dev/null
@@ -0,0 +1,131 @@
+[% INCLUDE 'doc-head-open.inc' %]
+<title>Koha &rsaquo; Administration &rsaquo; Transport Cost Matrix</title>
+[% INCLUDE 'doc-head-close.inc' %]
+
+<script type="text/javascript">
+//<![CDATA[
+function check_transport_cost(e) {
+    var val = e.value;
+    if (val && val != '' && !isNaN(parseFloat(val)) && val >= 0.0) {
+        return;
+    }
+    alert("Cost must be expressed as a decimal number >= 0");
+}
+function disable_transport_cost_chg(e, cost_id) {
+    disable_transport_cost(cost_id, e.checked);
+}
+function disable_transport_cost(cost_id, disable) {
+    if (disable) {
+        $('#celldiv_'+cost_id).find('input[type=text]').attr("disabled","disabled").addClass('disabled-transfer');
+    } else {
+        $('#celldiv_'+cost_id).find('input:disabled').removeAttr("disabled").removeClass('disabled-transfer');
+    }
+}
+function enable_cost_input(cost_id) {
+    var cell = $('#celldiv_'+cost_id);
+    var cost = $(cell).text();
+    var disabled = $(cell).hasClass('disabled-transfer');
+    $(cell).removeClass('disabled-transfer');
+
+    $('#celldiv_'+cost_id).html(
+        '<input type="text" name="cost_'+cost_id+'" onblur="check_transport_cost(this);" size="4" value="'+$.trim(cost)+'" />'+
+        '<br/>Disable <input name="disable_'+cost_id+'" value="1" onchange="disable_transport_cost_chg(this, \''+cost_id+'\');" type="checkbox" '+(disabled ? 'checked' : '')+' />'
+    );
+    disable_transport_cost(cost_id, disabled);
+}
+
+function form_submit (f) {
+    $(f).find('input:disabled').removeAttr("disabled");
+    return true;
+}
+
+$(document).ready(function() {
+    show_transport_cost_matrix([% IF UseTransportCostMatrix %]true[% ELSE %]false[% END %]);
+});
+//]]>
+</script>
+<style type="text/css">
+.disabled-transfer {
+    background-color: red;
+}
+.errors {
+    color: red;
+}
+</style>
+
+</head>
+<body>
+[% INCLUDE 'header.inc' %]
+[% INCLUDE 'cat-search.inc' %]
+
+<div id="breadcrumbs"><a href="/cgi-bin/koha/mainpage.pl">Home</a> &rsaquo; <a href="/cgi-bin/koha/admin/admin-home.pl">Administration</a> &rsaquo; Transport Cost Matrix</div>
+
+<div id="doc3" class="yui-t1">
+
+<div id="bd">
+    <div id="yui-main">
+    <div class="yui-b">
+    <h1 class="parameters">
+            Defining transport costs between libraries
+    </h1>
+[% IF ( WARNING_transport_cost_matrix_off ) %]
+<div class="dialog message">Because the "UseTransportCostMatrix" system preference is currently not enabled, Transport Cost Matrix is not being used.  Go <a href="/cgi-bin/koha/admin/preferences.pl?op=search&amp;searchfield=UseTransportCostMatrix">here</a> if you wish to enable this feature.</div>
+[% END %]
+
+    <div class="container">
+        <form method="post" action="?" onSubmit="return form_submit(this);">
+            <input type="hidden" name="op" value="set-cost-matrix" />
+            <div id="transport-cost-matrix">
+                <div class="help">
+                    <p>Costs are decimal values 0 to some arbitrarymax value (1 or 100), 0 being minimum (no) cost.</p>
+                    <p>Red cells signify no transfer allowed</p>
+                    <p>Click on the cell to edit</p>
+                </div>
+                <ul class="errors" %]>
+                [% FOR e IN errors %]
+                    <li>[% e %]</li>
+                [% END %]
+                </ul>
+                <table>
+                    <tr>
+                        <th>From \ To</th>
+                [% FOR b IN branchloop %]
+                        <th>[% b.name %]</th>
+                [% END %]
+                    <tr>
+                [% FOR bf IN branchfromloop %]
+                    <tr>
+                        <th>[% bf.name %]</th>
+                    [% FOR bt IN bf.branchtoloop %]
+                        <td>
+                        [% IF bt.skip %]
+                            &nbsp;
+                        [% ELSE %]
+                            [% IF bt.disabled %]
+                            <div id="celldiv_[% bt.id %]" class="disabled-transfer">
+                            [% ELSE %]
+                            <div id="celldiv_[% bt.id %]">
+                            [% END %]
+                            <div onclick="enable_cost_input('[% bt.id %]');">[% bt.disabled ? '&nbsp;' : bt.value %]</div>
+                            <input type="hidden" name="cost_[% bt.id %]" value="[% bt.value %]" />
+                            [% IF bt.disabled %]
+                            <input type="hidden" name="disable_[% bt.id %]" value="1" />
+                            [% END %]
+                            </div>
+                        [% END %]
+                        </td>
+                    [% END %]
+                    </tr>
+                [% END %]
+                </table>
+            </div>
+            <input type="submit" value="Save" class="submit" />
+        </form>
+    </div>
+    </div>
+    </div>
+<div class="yui-b">
+[% INCLUDE 'admin-menu.inc' %]
+</div>
+</div>
+[% INCLUDE 'intranet-bottom.inc' %]
index 352d518..d0c4329 100644 (file)
@@ -153,7 +153,7 @@ function openAuth(tagsubfieldid,authtype) {
             }      
         }
     }           
-       newin=window.open("../authorities/auth_finder.pl?authtypecode="+  authtype+ "&index="+tagsubfieldid+"&value_mainstr="+encodeURI(mainmainstring)+"&value_main="+encodeURI(mainstring), "_blank",'width=700,height=550,toolbar=false,scrollbars=yes');
+    newin=window.open("../authorities/auth_finder.pl?source=auth&authtypecode="+  authtype+ "&index="+tagsubfieldid+"&value_mainstr="+encodeURI(mainmainstring)+"&value_main="+encodeURI(mainstring), "_blank",'width=700,height=550,toolbar=false,scrollbars=yes');
 }
 
 function AddField(field,cntrepeatfield) {
index 56ed94f..87a132f 100644 (file)
         }
 
         var field_start = whichfield.parentNode.parentNode;
-      
-        // browse all its subfields (clear and $9)
-        var subfields = field_start.getElementsByTagName('input');
-        var re = /^tag_\d*_code_/;
-        for(var i=0, len = subfields.length ; i< len ; i++) { // browse all subfields
-            if(subfields[i].getAttribute('name').match(re)){ // it s a subfield
-                var code     = subfields[i];   // code is the first input 
-                var subfield = subfields[i+1]; // subfield the second
-
-            [% IF ( clear ) %]
-                if (subfield){subfield.value="" ;}
-            [% ELSE %]
-                if(code.value=='9'){
-                    subfield.value = "[% authid |replace("'", "\'") |replace('"', '\"') |replace('\n', '\\n') |replace('\r', '\\r') %]";
-                }
-            [% END %]
-            }
-        }
 
         // Sets the good number of form fields for the specified subfield
         // Returns false if the cloning failed
@@ -90,6 +72,7 @@
             });
         }
 
+        [% UNLESS ( clear ) %]
         [% FOREACH SUBFIELD_LOO IN SUBFIELD_LOOP %]
             SetSubfieldValues(
                 "[% tag_number |replace("'", "\'") |replace('"', '\"') |replace('\n', '\\n') |replace('\r', '\\r') %][% SUBFIELD_LOO.marc_subfield |replace("'", "\'") |replace('"', '\"') |replace('\n', '\\n') |replace('\r', '\\r') %]"
             [% END %]
             );
         [% END %]
+        [% END %]
+
+        // browse all its subfields (clear and $9)
+        var subfields = field_start.getElementsByTagName('input');
+        var re = /^tag_\d*_code_/;
+        for(var i=0, len = subfields.length ; i< len ; i++) { // browse all subfields
+            if(subfields[i].getAttribute('name').match(re)){ // it s a subfield
+                var code     = subfields[i];   // code is the first input
+                var subfield = subfields[i+1]; // subfield the second
+
+            [% IF ( clear ) %]
+                if (subfield){subfield.value="" ;}
+            [% ELSE %]
+                if(code.value=='9'){
+                    subfield.value = "[% authid |replace("'", "\'") |replace('"', '\"') |replace('\n', '\\n') |replace('\r', '\\r') %]";
+                    break;
+                }
+            [% END %]
+            }
+        }
 
        opener.close();
                window.close();
index e21f846..7a712c8 100644 (file)
@@ -1,3 +1,4 @@
+[% PROCESS 'authorities.inc' %]
 [% INCLUDE 'doc-head-open.inc' %]
 <title>Koha &rsaquo; Authorities &rsaquo;
     [% IF ( unknownauthid ) %]
@@ -7,18 +8,33 @@
     [% END %]
 </title>
 [% INCLUDE 'doc-head-close.inc' %]
+[% IF ( displayhierarchy ) %]
+<script language="javascript" type="text/javascript" src="/intranet-tmpl/lib/jquery/plugins/jquery.jstree.js"></script>
+[% END %]
 <script type="text/javascript">
 
 //<![CDATA[
 
         $(document).ready(function() {
     $('#authoritiestabs').tabs();
+    [% IF ( displayhierarchy ) %]
+        var current_nodes = [];
+        $('.currentauth').each(function() {
+            current_nodes.push('#' + $(this).parent().parents('li:first').attr('id'));
+            });
+        $('#hierarchies').jstree({
+                "plugins": [ "themes", "html_data"],
+                "themes": { "theme": "classic",
+                            "icons": false },
+                "core": { "initially_open": current_nodes }
+            });
+    [% END %]
         });
 
 function confirm_deletion() {
        var is_confirmed = confirm('Are you sure you want to delete this authority?');
        if (is_confirmed) {
-               window.location="authorities-home.pl?op=delete&amp;authid=[% authid %]";
+               window.location="authorities-home.pl?op=delete&authid=[% authid %]";
        }
 }
 function Dopop(link) {
@@ -26,29 +42,7 @@ function Dopop(link) {
 }
 //]]>
 </script>
-[% IF ( displayhierarchy ) %]
-<link rel="stylesheet" type="text/css" href="[% themelang %]/css/hierarchy.css" />
 <script type="text/javascript">
-function showParents(mynumber) {
-  var parents=document.getElementsByName(mynumber+'p')
-  for(i=0;i<parents.length;i++){
-    if (parents[i].style.display == "none") {
-      parents[i].style.display ="block";
-    } else {
-      parents[i].style.display ="none";
-    }
-  } 
-}
-function showChildren(mynumber) {
-  var children=document.getElementsByName(mynumber+'c')
-  for(i=0;i<children.length;i++){
-    if (children[i].style.display == "none") {
-      children[i].style.display = "block";
-    } else {
-      children[i].style.display = "none";
-    }
-  }
-}
 function Help() {
     newin=window.open("/cgi-bin/koha/help.pl","KohaHelp",'width=600,height=600,toolbar=false,scrollbars=yes');
 }
@@ -63,7 +57,6 @@ function searchauthority() {
     window.location="/cgi-bin/koha/authorities/authorities-home.pl?op=do_search&type=intranet&authtypecode="+X+"&value="+Y+"&marclist=&and_or=and&excluding=&operator=contains";
 }
 </script>
- [% END %]
 </head>
 <body id="auth_detail" class="auth">
 [% INCLUDE 'header.inc' %]
@@ -85,33 +78,8 @@ function searchauthority() {
     [% INCLUDE 'authorities-toolbar.inc' %]
        
 [% IF ( displayhierarchy ) %]
-
-<div class="hierarchies">
-[% FOREACH loophierarchie IN loophierarchies %]
-  <div class="hierarchy">
-  [% FOREACH loopelemen IN loophierarchie.loopelement %]
-    <div id="[% loopelemen.loopauthid %]" class="[% loopelemen.class %]">
-    [% IF ( loopelemen.ifparents ) %]
-      [% FOREACH loopparent IN loopelemen.loopparents %]
-        <div name="[% loopparent.loopauthid %]p" class="parent"> <a href="detail.pl?authid=[% loopparent.parentauthid %]">[% loopparent.parentvalue %]</a></div>
-      [% END %]
-    [% END %]
-    [% IF ( loopelemen.current_value ) %]
-        [% loopelemen.value %]
-    [% ELSE %]
-        <a href="detail.pl?authid=[% loopelemen.loopauthid %]" title="Term">[% loopelemen.value %]</a>
-    [% END %]
-    [% IF ( loopelemen.ifchildren ) %]
-      <sub><a class="parents" title="Narrower terms" href="JavaScript:showChildren('[% loopelemen.loopauthid %]');">+</a></sub><br />
-      [% FOREACH loopchildre IN loopelemen.loopchildren %]
-        <div name="[% loopchildre.loopauthid %]c" class="child"> <a href="detail.pl?authid=[% loopchildre.childauthid %]">[% loopchildre.childvalue %]</a></div>
-      [% END %]
-    [% END %]
-    </div>
-  [% END %]
-    
-  </div>
-[% END %]
+<div id="hierarchies">
+[% PROCESS showhierarchy trees = loophierarchies %]
 </div>
 [% END %]
 
index 8008930..415185a 100644 (file)
@@ -11,6 +11,18 @@ function jumpfull(page)
 {      
     window.open(page,'','fullscreen,scrollbars');
 }
+
+function doauth(authid, index, repet)
+{
+[% IF source == 'auth' %]
+    var e = document.getElementById("relationship");
+    var relationship = e.options[e.selectedIndex].value;
+
+    jumpfull('blinddetail-biblio-search.pl?authid=' + authid + '&index=' + index + '&repet=' + repet + '&relationship=' + relationship);
+[% ELSE %]
+    jumpfull('blinddetail-biblio-search.pl?authid=' + authid + '&index=' + index + '&repet=' + repet);
+[% END %]
+}
 </script>
 </head>
 <body id="auth_searchresultlist_auth" class="auth">
@@ -63,10 +75,10 @@ function jumpfull(page)
                         <td>
                           [% IF resul.repets %]
                             [% FOREACH repet IN resul.repets %]
-                            <a href="javascript:jumpfull('blinddetail-biblio-search.pl?authid=[% resul.authid %]&amp;index=[% repet.index %]&amps;repet=[% repet.repet %]')" title="[% repet.value %]">[% repet.repet %]</a>
+                            <a href="javascript:doauth('[% resul.authid %]', '[% repet.index %]', '[% repet.repet %]')" title="[% repet.value %]">[% repet.repet %]</a>
                             [% END %]
                           [% ELSE %]
-                            <a href="javascript:jumpfull('blinddetail-biblio-search.pl?authid=[% resul.authid %]&amp;index=[% index %]')">Choose</a>
+                            <a href="javascript:doauth('[% resul.authid %]', '[% index %]', '')">choose</a>
                           [% END %]
                         </td>
                         <td><a href="authorities.pl?authid=[% resul.authid %]">Edit authority</a></td>
index 6ac139a..445b541 100644 (file)
@@ -8,9 +8,18 @@ function confirm_deletion(id) {
     
     var is_confirmed = confirm('Are you sure you want to delete this authority?');
     if (is_confirmed) {
-      window.location="authorities-home.pl?op=delete&amp;authid="
-          + id
-          + "&amp;marclist=[% marclist %]&amp;and_or=[% and_or %]&amp;excluding=[% excluding %]&amp;operator=[%operator%]&amp;orderby=[% orderby %]&amp;value=[% value %]&amp;startfrom=[% startfrom %]&amp;resultsperpage=[% resultsperpage %]";
+      window.location="authorities-home.pl?op=delete"
+          + "&authid=" + id
+          + "&type=intranet"
+          + "&authtypecode=[% authtypecode %]"
+          + "&marclist=[% marclist %]"
+          + "&and_or=[% and_or %]"
+          + "&excluding=[% excluding %]"
+          + "&operator=[% operator %]"
+          + "&orderby=[% orderby %]"
+          + "&value=[% value |url %]"
+          + "&startfrom=[% startfrom %]"
+          + "&resultsperpage=[% resultsperpage %]";
     }
 }
 function Help() {
@@ -66,7 +75,7 @@ function searchauthority() {
     [% ELSE %]
     <tr>
     [% END %]
-      <td>[% PROCESS authresult summary=resul.summary %]</td>
+      <td>[% PROCESS authresult summary=resul.summary link="/cgi-bin/koha/authorities/authorities-home.pl?op=do_search&type=intranet&marclist=any&operator=contains&orderby=HeadingAsc&value=" %]</td>
       <td><a href="detail.pl?authid=[% resul.authid %]">Details</a></td>
   [% UNLESS ( resul.isEDITORS ) %]
       <td>
index 22f7908..ef2b5b9 100644 (file)
@@ -471,6 +471,8 @@ function verify_images() {
            [% IF ( subscription.branchname ) %]<h3>At library: [% subscription.branchname %]</h3>[% ELSE %]
            [% IF ( subscription.branchcode ) %]<h3>At library: [% subscription.branchcode %]</h3>[% END %][% END %]
             [% IF ( subscription.subscriptionnotes ) %]<p>[% subscription.subscriptionnotes FILTER html_line_break %] </p>[% END %]
+            [% IF ( subscription.missinglist ) %]<p>Missing issues: [% subscription.missinglist %] </p>[% END %]
+            [% IF ( subscription.librariannote ) %]<p>([% subscription.librariannote %])</p>[% END %]
             [% IF ( subscription.latestserials ) %]
             <p> The [% subscription.staffdisplaycount %] latest issues related to this subscription:</p>
             <table>
index dd384d6..8f473e5 100644 (file)
@@ -8,7 +8,7 @@
 <script type="text/javascript" id="js">
 $(document).ready(function() {
     $("#table_issues").dataTable($.extend(true, {}, dataTablesDefaults, {
-//      maybe some defaults?
+            "aaSorting": [[ 4, "desc" ]]
         })
     );
 }); </script>
index 71f8fe4..5234e28 100644 (file)
 
             [% IF ITEM_DAT.dateaccessioned %]
                 <li><span class="label">Accession date:</span>
-                    [% IF ( CAN_user_acquisition_order_receive && ITEM_DAT.booksellerinvoicenumber ) %]
-                        <a href="/cgi-bin/koha/acqui/parcel.pl?booksellerid=[% ITEM_DAT.booksellerid %]&amp;invoice=[% ITEM_DAT.booksellerinvoicenumber %]&amp;datereceived=[% ITEM_DAT.datereceived %]">[% ITEM_DAT.dateaccessioned | $KohaDates %]</a>
+                    [% IF ( CAN_user_acquisition_order_receive && ITEM_DAT.invoiceid ) %]
+                        <a href="/cgi-bin/koha/acqui/parcel.pl?invoiceid=[% ITEM_DAT.invoiceid %]">[% ITEM_DAT.dateaccessioned | $KohaDates %]</a>
                     [% ELSE %]
                         [% ITEM_DAT.dateaccessioned | $KohaDates %]
                     [% END %]
                 </li>
             [% END %]
-            [% IF ( ITEM_DAT.booksellerinvoicenumber ) %]
+            [% IF ( ITEM_DAT.invoicenumber ) %]
                 <li><span class="label">Invoice number:</span>
-                    [% ITEM_DAT.booksellerinvoicenumber %]
+                    [% ITEM_DAT.invoicenumber %]
                 </li>
             [% END %]
 
index 2e71ba7..4d89a53 100644 (file)
@@ -474,7 +474,8 @@ YAHOO.util.Event.onContentReady("searchheader", function () {
                                             <b>[% IF ( SEARCH_RESULT.title ) %][% SEARCH_RESULT.title |html %][% ELSE %]No title[% END %]</b>
                                             </a>
                                         [% FOREACH subtitl IN SEARCH_RESULT.subtitle %], [% subtitl.subfield %][% END %]
-                                                                               [% IF ( SEARCH_RESULT.volume ) %],[% SEARCH_RESULT.volume %][% END %] [% IF ( SEARCH_RESULT.volumeddesc ) %], [% SEARCH_RESULT.volumeddesc %][% END %]
+                                        [% IF ( SEARCH_RESULT.seriestitle ) %][% SEARCH_RESULT.seriestitle %][% END %]
+                                        [% IF ( SEARCH_RESULT.volume ) %][% SEARCH_RESULT.volume %][% END %] [% IF ( SEARCH_RESULT.volumeddesc ) %], [% SEARCH_RESULT.volumeddesc %][% END %]
                                 </p>
                                 [% IF ( SEARCH_RESULT.summary ) %]
                                         [% IF ( SEARCH_RESULT.author ) %]
index f934fbe..ee8e9fa 100644 (file)
@@ -767,7 +767,7 @@ function unHideSubfield(index,labelindex) { // FIXME :: is it used ?
             type: "button",
             label: _("Z39.50 Search"),
             container: "z3950searchc",
-                       onclick: {fn:function(){PopupZ3950()}}
+            onclick: {fn:function(){if (confirm(_("Please note that this Z39.50 search could replace the current record."))) PopupZ3950()}}
         });
        }
 
index 911c2f0..a448534 100644 (file)
@@ -183,15 +183,24 @@ function changeFramework(fw) {
 <h1>Merging records</h1>
 [% IF ( result ) %]
     [% IF ( errors ) %]
+
        [% FOREACH error IN errors %]
-           <div class="dialog alert">[% error.error %].<br />Therefore, the record to be merged has not been deleted.</div>
-       [% END %]
+           <div class="dialog alert">
 
-       [% ELSE %]
-       <script type="text/javascript">window.location.href="/cgi-bin/koha/catalogue/MARCdetail.pl?biblionumber=[% biblio1 %]"</script> 
-       <p>The merging was successful. <a href="/cgi-bin/koha/catalogue/MARCdetail.pl?biblionumber=[% biblio1 %]">Click here to see the merged record.</a></p>
+                [% IF error.code == 'CANNOT_MOVE' %]
+                    The following items could not be moved from the old record to the new one: [% error.value %]
+                [% ELSE %]
+                    [% error %]
+                [% END %]
+
+            <br />Therefore, the record to be merged has not been deleted.</div>
        [% END %]
 
+    [% ELSE %]
+        <script type="text/javascript">window.location.href="/cgi-bin/koha/catalogue/MARCdetail.pl?biblionumber=[% biblio1 %]"</script>
+        <p>The merging was successful. <a href="/cgi-bin/koha/catalogue/MARCdetail.pl?biblionumber=[% biblio1 %]">Click here to see the merged record.</a></p>
+    [% END %]
+
 [% ELSE %]
 
 [% IF ( choosereference ) %]
@@ -228,9 +237,16 @@ function changeFramework(fw) {
 [% ELSE %]
 [% IF ( errors ) %]
     <div class="dialog alert">
-    [% FOREACH error IN errors %]
-        <p>[% error.error %]</p>
-    [% END %]
+       [% FOREACH error IN errors %]
+           <p>
+                [% IF error.code == 'WRONG_COUNT' %]
+                    Number of records provided for merging: [% error.value %]. Currently only 2 records can be merged at a time.
+                [% ELSE %]
+                    [% error %]
+                [% END %]
+
+            </p>
+       [% END %]
     </div>
 [% ELSE %]
 <form id="mergeform" action="/cgi-bin/koha/cataloguing/merge.pl" method="post" onsubmit="return mergeformsubmit()">
diff --git a/koha-tmpl/intranet-tmpl/prog/en/modules/cataloguing/value_builder/marc21_linking_section.tt b/koha-tmpl/intranet-tmpl/prog/en/modules/cataloguing/value_builder/marc21_linking_section.tt
new file mode 100644 (file)
index 0000000..9f8b6b1
--- /dev/null
@@ -0,0 +1,238 @@
+[% INCLUDE 'doc-head-open.inc' %]
+<title>Koha &rsaquo; Cataloguing &rsaquo; plugin for links</title>
+[% INCLUDE 'doc-head-close.inc' %]
+[% IF ( fillinput ) %]
+        <script language="javascript" type="text/javascript">
+
+            function go() {
+
+                var index_start = "[% index %]";
+                var whichfield;
+                try {
+                        whichfield = opener.opener.document.getElementById(index_start);
+                } catch(e) {
+                        return;
+                }
+
+                // browse all its subfields
+
+                var subfields = whichfield.parentNode.parentNode.getElementsByTagName('input');
+
+                var re = /^tag_\d*_code_/;
+                for(var i=0, len = subfields.length ; i< len ; i++) {
+                    if(subfields[i].getAttribute('name').match(re)){ // it s a subfield
+                        var code     = subfields[i];
+                        var subfield = subfields[i+1];
+
+                        if(code.value == '9'){
+                                subfield.value = "[% subfield_value_9 %]";
+                        }
+                        if(code.value == '0'){
+                                subfield.value = "[% subfield_value_0 %]";
+                        }
+                        if(code.value == 'a'){
+                                subfield.value = "[% subfield_value_a %]";
+                        }
+                        if(code.value == 'c'){
+                                subfield.value = "[% subfield_value_c %]";
+                        }
+                        if(code.value == 'd'){
+                                subfield.value = "[% subfield_value_d %]";
+                        }
+                        if(code.value == 'e'){
+                                subfield.value = "[% subfield_value_e %]";
+                        }
+                        if(code.value == 'h'){
+                                subfield.value = "[% subfield_value_h %]";
+                        }
+                        if(code.value == 'i'){
+                                subfield.value = "[% subfield_value_i %]";
+                        }
+                        if(code.value == 'p'){
+                                subfield.value = "[% subfield_value_p %]";
+                        }
+                        if(code.value == 't'){
+                                subfield.value = "[% subfield_value_t %]";
+                        }
+                        if(code.value == 'u'){
+                                subfield.value = "[% subfield_value_u %]";
+                        }
+                        if(code.value == 'v'){
+                                subfield.value = "[% subfield_value_v %]";
+                        }
+                                         if(code.value == 'w'){
+                                subfield.value = "[% subfield_value_w %]";
+                        }
+                        if(code.value == 'x'){
+                                subfield.value = "[% subfield_value_x %]";
+                        }
+                        if(code.value == 'y'){
+                                subfield.value = "[% subfield_value_y %]";
+                        }
+                                            if(code.value == 'z'){
+                                subfield.value = "[% subfield_value_z %]";
+                        }
+                    }
+                }
+                    return false;
+            }
+
+            window.onload = go();
+            opener.close();
+            window.close();
+        //]]>
+</script>
+
+</head>
+<body style="padding:1em;">
+<h3>MARC21 Plugin to build links between records</h3>
+[% ELSE %]
+           <script type="text/javascript">
+//<![CDATA[
+//                     document.getElementById('searchbox').focus();
+
+                       function report(value2report) {
+                            if (document.f_pop.result.value.length==0) {
+                                    document.f_pop.result.value = value2report;
+                            } else {
+                                    document.f_pop.result.value = document.f_pop.result.value+'|'+value2report;
+                            }
+                            return true;
+                   }
+                      function finish() {
+                            opener.document.f.field_value[[% index %]].value= document.f_pop.result.value;
+                            self.close();
+                            return false;
+                     }
+              //]]>
+</script>
+
+</head>
+<body style="padding:1em;">
+<h3>Plugin to build links between records</h3>
+    [% IF ( Search ) %]
+            <div id="MARC21_Linking_section_search">
+               <h2>Search for</h2>
+            <form name="f" method="post" action="/cgi-bin/koha/cataloguing/plugin_launcher.pl?plugin_name=marc21_linking_section.pl">
+
+                     <p>
+                            <input type="hidden" name="plugin_name" value="marc21_linking_section.pl" />
+                           <input type="hidden" name="index" value="[% index %]" />
+                               <input type="hidden" name="result" value="marc12 field 7 [% index %]" />
+                               <input type="hidden" name="op" value="do_search" />
+                            <label class="label100" for="searchbox">Any word</label>
+                               <input type="text" name="search" id="searchbox" size="35" /><br />
+                             <label for="itypeloop">Item type</label>
+                               <select name="itype" id="itypeloop">
+                           <option value="">All Item Types</option>
+                               [% FOREACH itypeloo IN itypeloop %]
+                            [% IF ( itypeloo.selected ) %]
+                         <option value="[% itypeloo.itemtype %]" selected="selected">[% itypeloo.description %]</option>
+                                [% ELSE %]
+                             <option value="[% itypeloo.itemtype %]">[% itypeloo.description %]</option>
+                            [% END %]
+                              [% END %]
+                              </select>
+                      </p>
+                   <p>
+                            <input type="submit" value="Start search" />
+                   </p>
+
+          </div>
+ </form>
+
+       [% ELSE %]
+
+
+           <h2>Search results</h2>
+                <div id="MARC21_Linking_section__resultnumber">
+                        <p>[% IF ( displayprev ) %] <a class="resultnumber" href="/cgi-bin/koha/cataloguing/plugin_launcher.pl?plugin_name=marc21_linking_section.pl&amp;index=[% index %]&amp;startfrom=[% startfromprev %]&amp;search=[% search %]&amp;resultsperpage=[% resultsperpage %]&amp;type=intranet&amp;op=do_search">&lt;&lt; Previous</a>[% END %]
+                              [% FOREACH number IN numbers %]
+                                [% IF ( number.highlight ) %] <span class="highlight">[% number.number %]</span>
+                                [% ELSE %] <a class="resultnumber" href="/cgi-bin/koha/cataloguing/plugin_launcher.pl?plugin_name=marc21_linking_section.pl&amp;index=[% index %]&amp;startfrom=[% number.startfrom %]&amp;search=[% number.search |url %]&amp;resultsperpage=[% number.resultsperpage %]&amp;type=intranet&amp;op=do_search">[% number.number %]</a>
+                                [% END %]
+                                [% END %]
+                                [% IF ( displaynext ) %]
+                                  <a class="resultnumber" href="/cgi-bin/koha/cataloguing/plugin_launcher.pl?plugin_name=marc21_linking_section.pl&amp;index=[% index %]&amp;startfrom=[% startfromnext %]&amp;search=[% search %]&amp;resultsperpage=[% resultsperpage %]&amp;type=intranet&amp;op=do_search">Next&gt;&gt;</a>
+                                [% END %]</p>
+                  <p class="resultcount">
+                          [% IF ( total ) %]Results [% from %] to [% to %] of [% total %]
+                          [% ELSE %]No results found
+                          [% END %]</p></div>
+            <div id="resultlist">
+                  <table>
+                                <tr>
+                                   <th>Concise description</th>
+                                   <th>&nbsp;</th>
+                                </tr>
+                          [% FOREACH resul IN result %]
+                          [% IF ( resul.title ) %]
+                               <tr>
+                                    [% IF ( resul.even ) %]<td class="hilighted">
+                                    [% ELSE %]<td>[% END %]
+                                                            [% IF ( resul.MARC_ON ) %]
+                                                                    <a_class="transparent resultlist" href="/cgi-bin/koha/MARCdetail.pl?biblionumber=[% resul.biblionumber |url %]">[% resul.title |html %]</a>
+                                                            [% ELSE %]
+                                                                    <a_class="transparent resultlist" href="/cgi-bin/koha/catalogue/detail.pl?biblionumber=[% resul.biblionumber |url %]">[% resul.title |html %]</a>                          [% END %]
+                                                    <p>[% resul.author %]
+                                                    [% IF ( resul.publishercode ) %]- [% resul.publishercode %][% END %]
+                                                    [% IF ( resul.place ) %] ; [% resul.place %][% END %]
+                                                    [% IF ( resul.pages ) %] - [% resul.pages %][% END %]
+                                                    [% IF ( resul.notes ) %] : [% resul.notes %][% END %]
+                                                    [% IF ( resul.size ) %] ; [% resul.size %][% END %]
+                                            </p>
+                                  </td>
+
+                                 <td>
+                      [% IF ( resul.biblionumber ) %]
+                                             <a href="javascript:jumpfull('/cgi-bin/koha/cataloguing/plugin_launcher.pl?plugin_name=marc21_linking_section.pl&amp;index=[% index %]&amp;biblionumber=[% resul.biblionumber %]&amp;type=intranet&amp;op=fillinput')">Choose</a>
+                      [% ELSE %]
+                                             <a href="javascript:jumpfull('/cgi-bin/koha/cataloguing/plugin_launcher.pl?plugin_name=marc21_linking_section.pl&amp;index=[% index %]&amp;type=intranet&amp;op=fillinput')">Clear field</a>
+                      [% END %]
+                                   </td>
+                          </tr>
+                          [% END %]
+                              [% END %]
+                      </table>
+               </div>
+         <div id="resultnumber">
+                        <p>
+                            [% IF ( displayprev ) %]
+                               <a class="resultnumber" href="/cgi-bin/koha/cataloguing/plugin_launcher.pl?plugin_name=marc21_linking_section.pl&amp;amp;index=[% index %]&amp;amp;startfrom=[% startfromprev %]&amp;amp;search=[% search |url %]&amp;amp;resultsperpage=[% resultsperpage %]&amp;amp;type=intranet&amp;amp;op=do_search">
+                                     &lt;&lt; Previous
+                              </a>
+                           [% END %]
+
+                             [% FOREACH number IN numbers %]
+                                        [% IF ( number.highlight ) %]
+                                          <span class="highlight">
+                                                       [% number.number %]
+                                            </span>
+                                        [% ELSE %]
+                                             <a class="resultnumber" href="/cgi-bin/koha/cataloguing/plugin_launcher.pl?plugin_name=marc21_linking_section.pl&amp;index=[% index %]&amp;startfrom=[% number.startfrom %]&amp;search=[% number.search %]&amp;resultsperpage=[% number.resultsperpage %]&amp;type=intranet&amp;op=do_search">
+                                                 [% number.number %]
+                                            </a>
+                                   [% END %]
+                              [% END %]
+
+                             [% IF ( displaynext ) %]
+                               <a class="resultnumber" href="/cgi-bin/koha/cataloguing/plugin_launcher.pl?plugin_name=marc21_linking_section.pl&amp;index=[% index %]&amp;startfrom=[% startfromnext %]&amp;search=[% search %]&amp;resultsperpage=[% resultsperpage %]&amp;type=intranet&amp;op=do_search">
+                                  Next&gt;&gt;
+                           </a>
+                           [% END %]
+                      </p>
+           </div>
+
+<script type="text/javascript">
+//<![CDATA[
+            function jumpfull(page){
+                       window.open(page,'','fullscreen,scrollbars');
+          }
+//]]>
+</script>
+
+
+    [% END %]
+
+[% END %]
+[% INCLUDE 'popup-bottom.inc' %]
index ffd29d2..558f2ee 100644 (file)
@@ -62,6 +62,23 @@ $(document).ready(function(){
     });
 });
 
+[% IF ( total_pages ) %]
+function validate_goto_page(){
+    var page = $('#goto_page').val();
+    if(isNaN(page)) {
+        alert(_("The page entered is not a number."));
+        return false;
+    }
+    else if(page < 1 || page > [% total_pages %] ) {
+        alert(_("The page should be a number between 1 and ") + [% total_pages %] + ".");
+        return false;
+    }
+    else {
+        return true;
+    }
+}
+[% END %]
+
 //]]>
 </script>
 <style type="text/css">
@@ -92,7 +109,7 @@ tr.selected { background-color : #FFFFCC; } tr.selected td { background-color :
     <div class="yui-u first">
            <fieldset class="rows"> 
         <ol><li><label for="title">Title: </label> <input type="text" id="title"  name="title" value="[% title |html %]" /></li>
-                <li><label for="isbn">ISBN/ISSN: </label> <input type="text" id="isbn" name="isbn" value="[% isbn %]" /></li>
+        <li><label for="isbn">ISBN: </label> <input type="text" id="isbn" name="isbn" value="[% isbn %]" /></li>
         <li><label for="lccall">LC call number: </label> <input type="text" id="lccall" name="lccall" value="" /></li>
         <li><label for="controlnumber">Control no.: </label> <input type="text" id="controlnumber" name="controlnumber" value="" /></li>
                 <li><label for="srchany">Raw (any): </label> <input type="text" id="srchany" name="srchany" value="" /></li></ol>
@@ -100,6 +117,7 @@ tr.selected { background-color : #FFFFCC; } tr.selected td { background-color :
            </div>
     <div class="yui-u">
        <fieldset class="rows">          <ol><li><label for="author">Author: </label> <input type="text" id="author" name="author" value="[% author %]" /><!--  <label for="Keyword">Keyword</label> <input type="text" name="keyword" value="" /> --></li>
+        <li><label for="issn">ISSN: </label> <input type="text" id="issn" name="issn" value="[% issn %]" /></li>
         <li> <label for="subject">Subject heading: </label> <input type="text" id="subject" name="subject" value="" /></li>
                 <li><label for="dewey">Dewey: </label> <input type="text" id="dewey" name="dewey" value="" /></li>
                 <li><label for="stdid">Standard ID: </label> <input type="text" id="stdid" name="stdid" value="" /></li></ol>
@@ -160,6 +178,36 @@ tr.selected { background-color : #FFFFCC; } tr.selected td { background-color :
         [% END %]
     [% END %]</tbody>
 </table>
+
+    <form method="post" action="z3950_search.pl" id="page_form" name="page_form" class="checkboxed">
+        <input type="hidden" name="op" id="op" value="do_search" />
+        <input type="hidden" name="current_page" id="current_page" value="[% current_page %]" />
+        <input type="hidden" id="title"  name="title" value="[% title %]" />
+        <input type="hidden" id="isbn" name="isbn" value="[% isbn %]" />
+        <input type="hidden" id="lccall" name="lccall" value="[% lccall %]" />
+        <input type="hidden" id="controlnumber" name="controlnumber" value="[% controlnumber %]" />
+        <input type="hidden" id="srchany" name="srchany" value="[% srchany %]" />
+        <input type="hidden" id="author" name="author" value="[% author %]" />
+        <input type="hidden" id="subject" name="subject" value="[% subject %]" />
+        <input type="hidden" id="dewey" name="dewey" value="[% dewey %]" />
+        <input type="hidden" id="stdid" name="stdid" value="[% stdid %]" />
+        <input type="hidden" name="biblionumber" value="[% biblionumber %]" />
+        <input type="hidden" name="frameworkcode" value="[% frameworkcode %]" />
+
+        [% FOREACH server IN servers %]
+        <input type="hidden" name="id" id="z3950_[% server.id %]" value="[% server.id %]" />
+        [% END %]
+
+        [% IF ( show_prevbutton ) %]
+            <input type="button" name="changepage_prev" value="Previous Page" onclick="$('#current_page').val([% current_page %]-1);$('#page_form').submit();" />
+        [% END %]
+        Page [% current_page %] / [% total_pages %]
+        [% IF ( show_nextbutton ) %]
+            <input type="button" name="changepage_next" value="Next Page" onclick="$('#current_page').val([% current_page %]+1);$('#page_form').submit();" />
+        [% END %]
+        <br />Go to page : <input id="goto_page" name="goto_page" value="[% current_page %]" size="4" /><input type="submit" name="changepage_goto" onclick="return validate_goto_page();" value="Go" />
+    </form>
+
 <p><form method="get" action="/cgi-bin/koha/cataloguing/z3950_search.pl"><input type="hidden" name="biblionumber" value="[% biblionumber %]"/><input type="hidden" name="frameworkcode" value="[% frameworkcode %]"/><input type="submit" value="Try Another Search"/></form></p>
     [% ELSE %]
         [% IF ( errconn ) %]
index 729defc..652cbf8 100644 (file)
@@ -1,6 +1,10 @@
 [% USE KohaDates %]
 [% INCLUDE 'doc-head-open.inc' %]
-<title>Koha &rsaquo; Circulation [% IF ( borrowernumber ) %] &rsaquo; Checking out to [% INCLUDE 'patron-title.inc' %] [% END %]</title>
+<title>Koha &rsaquo; Circulation
+[% IF borrowernumber %]
+  &rsaquo; Checking out to [% INCLUDE 'patron-title.inc' invert_name = 1 %]
+[% END %]
+</title>
 [% INCLUDE 'doc-head-close.inc' %]
 [% INCLUDE 'calendar.inc' %]
 [% IF ( UseTablesortForCirc ) %]<script type="text/javascript" src="[% themelang %]/lib/jquery/plugins/jquery.tablesorter.min.js"></script>[% END %]
@@ -78,6 +82,16 @@ var allcheckboxes = $(".checkboxed");
                $(allcheckboxes).unCheckCheckboxes(":input[name*=barcodes]"); return false;
        });
 
+    $("#CheckAllexports").click(function(){
+        $(".checkboxed").checkCheckboxes(":input[name*=biblionumbers]");
+        $(".checkboxed").unCheckCheckboxes(":input[name*=items]");
+        return false;
+    });
+    $("#CheckNoexports").click(function(){
+        $(".checkboxed").unCheckCheckboxes(":input[name*=biblionumbers]");
+        return false;
+    });
+
     $("#relrenew_all").click(function(){
         $(allcheckboxes).checkCheckboxes(":input[name*=items]");
         $(allcheckboxes).unCheckCheckboxes(":input[name*=barcodes]");
@@ -140,9 +154,12 @@ var allcheckboxes = $(".checkboxed");
                $("#add_message_form").show();
         });
 
-     $("input.radio").click(function(){
+    $("input.radio").click(function(){
         radioCheckBox($(this));
-     });
+    });
+    $("#exportmenuc").empty();
+    initExportButton();
+
     $("#newduedate").datepicker({ minDate: 1 }); // require that renewal date is after today
     $("#duedatespec").datetimepicker({
         onSelect: function(dateText, inst) { $("#barcode").focus(); },
@@ -152,6 +169,56 @@ var allcheckboxes = $(".checkboxed");
 
  });
 
+function initExportButton() {
+    var exportmenu = [
+        { text: _("ISO2709 with items"), onclick: {fn: function(){export_submit("iso2709_995")}} },
+        { text: _("ISO2709 without items"), onclick: {fn: function(){export_submit("iso2709")}} },
+        { text: _("CSV"), onclick: {fn: function(){export_submit("csv")}} },
+    ];
+    new YAHOO.widget.Button({
+        type: "menu",
+        label: _("Export checkouts"),
+        name: "exportmenubutton",
+        menu: exportmenu,
+        container: "exportmenuc"
+    });
+}
+
+function export_submit(format) {
+    if ($("input:checkbox[name='biblionumbers'][checked]").length < 1){
+        alert(_("You must select a checkout to export"));
+        return;
+    }
+
+    $("input:checkbox[name='biblionumbers']").each( function(){
+        var input_item = $(this).siblings("input:checkbox");
+        if ( $(this).is(":checked") ) {
+            $(input_item).attr("checked", "checked");
+        } else {
+            $(input_item).attr("checked", "");
+        }
+    } );
+
+    if (format == 'iso2709_995') {
+        format = 'iso2709';
+        $("#dont_export_item").val(0);
+    } else if (format == 'iso2709') {
+        $("#dont_export_item").val(1);
+    } else {
+        [% UNLESS ( export_with_csv_profile ) %]
+            alert(_("You must define a csv profile for export (in tools>CSV export profiles) and fill the ExportWithCsvProfile system preference"));
+            return false;
+        [% END %]
+    }
+    document.issues.action="/cgi-bin/koha/tools/export.pl";
+    document.getElementById("export_format").value = format;
+    document.issues.submit();
+
+    /* Reset form action to its initial value */
+    document.issues.action="/cgi-bin/koha/reserve/renewscript.pl";
+
+};
+
 function validate1(date) {
     var today = new Date();
     if ( date < today ) {
@@ -250,6 +317,10 @@ function validate1(date) {
 <h3>Please confirm checkout</h3>
 
 <ul>
+[%IF ( AGE_RESTRICTION ) %]
+    <li>Age restriction [% AGE_RESTRICTION %]. Check out anyway?</li>
+[% END %]
+
 [% IF ( DEBT ) %]
     <li>The patron has a debt of [% DEBT %]</li>
 [% END %]
@@ -293,8 +364,19 @@ function validate1(date) {
 [% IF ( ITEM_LOST ) %]
     <li>This item has been lost with a status of "[% ITEM_LOST %]". Check out anyway?</li>
 [% END %]
+
+[% IF  HIGHHOLDS %]
+       <li>High demand item. Loan period shortened to [% HIGHHOLDS.duration %] days (due [% HIGHHOLDS.returndate %]). Check out anyway?</li>
+[% END %]
 </ul>
 
+[% IF HIGHHOLDS %]
+       <script language="JavaScript" type="text/javascript">
+       $(document).ready(function() {
+               $("input[name=duedatespec]:hidden").val('[% HIGHHOLDS.returndate %]');
+       });
+       </script>
+[% END %]
 <form method="post" action="/cgi-bin/koha/circ/circulation.pl" autocomplete="off">
 
 [% IF ( RESERVED ) %]
@@ -401,6 +483,10 @@ function validate1(date) {
             <li>No more renewals possible</li>
         [% END %]
 
+        [%IF ( AGE_RESTRICTION ) %]
+            <li>Age restriction [% AGE_RESTRICTION %].</li>
+        [% END %]
+
         [% IF ( EXPIRED ) %]
             <li>Patron's card is expired</li>
         [% END %]
@@ -671,7 +757,7 @@ No patron matched <span class="ex">[% message %]</span>
 <!-- SUMMARY : TODAY & PREVIOUS ISSUES -->
 <div id="checkouts">
 [% IF ( issuecount ) %]
-    <form action="/cgi-bin/koha/reserve/renewscript.pl" method="post" class="checkboxed">
+    <form name="issues" action="/cgi-bin/koha/reserve/renewscript.pl" method="post" class="checkboxed">
     <input type="hidden" value="circ" name="destination" />
     <input type="hidden" name="cardnumber" value="[% cardnumber %]" />
     <input type="hidden" name="borrowernumber" value="[% borrowernumber %]" />
@@ -688,6 +774,9 @@ No patron matched <span class="ex">[% message %]</span>
         <th scope="col">Price</th>
         <th scope="col">Renew <p class="column-tool"><a href="#" id="CheckAllitems">select all</a> | <a href="#" id="CheckNoitems">none</a></p></th>
         <th scope="col">Check in <p class="column-tool"><a href="#" id="CheckAllreturns">select all</a> | <a href="#" id="CheckNoreturns">none</a></p></th>
+        [% IF export_remove_fields OR export_with_csv_profile %]
+          <th scope="col">Export <p class="column-tool"><a href="#" id="CheckAllexports">select all</a> | <a href="#" id="CheckNoexports">none</a></p></th>
+        [% END %]
     </tr>
 [% IF ( todayissues ) %]</thead>
 [% INCLUDE 'checkouts-table-footer.inc' %]
@@ -744,9 +833,9 @@ No patron matched <span class="ex">[% message %]</span>
         [% END %]
         </td>
         [% END %]
-  [% IF ( todayissue.return_failed ) %]
+        [% IF ( todayissue.return_failed ) %]
             <td class="problem">Checkin failed</td>
-      [% ELSE %]
+        [% ELSE %]
             [% IF ( todayissue.renew_error_on_reserve ) %]
                <td><a href="/cgi-bin/koha/reserve/request.pl?biblionumber=[% todayissue.biblionumber %]">On hold</a>
                 <input type="checkbox" name="all_barcodes[]" value="[% todayissue.barcode %]" checked="checked" style="display: none;" />
@@ -756,13 +845,19 @@ No patron matched <span class="ex">[% message %]</span>
                 <input type="checkbox" name="all_barcodes[]" value="[% todayissue.barcode %]" checked="checked" style="display: none;" />
             </td>
             [% END %]
-      [% END %]
+        [% END %]
+        [% IF export_remove_fields OR export_with_csv_profile %]
+          <td style="text-align:center;">
+            <input type="checkbox" id="export_[% todayissue.biblionumber %]" name="biblionumbers" value="[% todayissue.biblionumber %]" />
+            <input type="checkbox" name="itemnumbers" value="[% todayissue.itemnumber %]" style="visibility:hidden;" />
+          </td>
+        [% END %]
     </tr>
     [% END %] <!-- /loop todayissues -->
     <!-- /if todayissues -->[% END %]
 [% IF ( previssues ) %]
-[% IF ( todayissues ) %]<tr><th colspan="10"><a name="previous" id="previous"></a>Previous checkouts</th></tr>[% ELSE %]
-<tr><th class="{sorter: false}" colspan="10"><a name="previous" id="previous"></a>Previous checkouts</th></tr></thead>
+[% IF ( todayissues ) %]<tr><th colspan="11"><a name="previous" id="previous"></a>Previous checkouts</th></tr>[% ELSE %]
+<tr><th class="{sorter: false}" colspan="11"><a name="previous" id="previous"></a>Previous checkouts</th></tr></thead>
 [% INCLUDE 'checkouts-table-footer.inc' %]
        <tbody>
 [% END %]
@@ -820,7 +915,7 @@ No patron matched <span class="ex">[% message %]</span>
         </td>
         [% END %]
                  [% IF ( previssue.return_failed ) %]
-            <td class="problem">Checkin failed</td>
+            <td class="problem">Check-in failed</td>
         [% ELSE %]
             [% IF ( previssue.renew_error_on_reserve ) %]
                <td><a href="/cgi-bin/koha/reserve/request.pl?biblionumber=[% previssue.biblionumber %]">On hold</a>
@@ -831,7 +926,13 @@ No patron matched <span class="ex">[% message %]</span>
                 <input type="checkbox" name="all_barcodes[]" value="[% previssue.barcode %]" checked="checked" style="display: none;" />
             </td>
             [% END %]
-      [% END %]
+        [% END %]
+        [% IF export_remove_fields OR export_with_csv_profile %]
+          <td style="text-align:center;">
+            <input type="checkbox" id="export_[% previssue.biblionumber %]" name="biblionumbers" value="[% previssue.biblionumber %]" />
+            <input type="checkbox" name="itemnumbers" value="[% previssue.itemnumber %]" style="visibility:hidden;" />
+          </td>
+        [% END %]
     </tr>
     <!-- /loop previssues -->[% END %]
 <!--/if previssues -->[% END %]
@@ -847,7 +948,16 @@ No patron matched <span class="ex">[% message %]</span>
         [% END %]
         <input type="submit" name="renew_checked" value="Renew or Return checked items" />
         <input type="submit" id="renew_all" name="renew_all" value="Renew all" />
-        </fieldset>
+        [% IF export_remove_fields OR export_with_csv_profile %]
+            <br/><br/>
+            Don't export fields : <input type="text" id="export_remove_fields" name="export_remove_fields" value="[% export_remove_fields %]" title="Use for iso2709 exports" />
+            <span id="exportmenuc">Export</span>
+            <input type="hidden" name="op" value="export" />
+            <input type="hidden" id="export_format" name="format" value="iso2709" />
+            <input type="hidden" id="dont_export_item" name="dont_export_item" value="0" />
+            <input type="hidden" id="record_type" name="record_type" value="bibs" />
+        [% END %]
+    </fieldset>
     [% END %]
     </form>
 [% ELSE %]
@@ -894,7 +1004,7 @@ No patron matched <span class="ex">[% message %]</span>
     [% END %] <!-- /loop relissues -->
     <!-- /if relissues -->[% END %]
 [% IF ( relprevissues ) %]
-<tr><th class="{sorter: false}" colspan="10"><a name="relprevious" id="relprevious"></a>Previous checkouts</th></tr>
+<tr><th class="{sorter: false}" colspan="11"><a name="relprevious" id="relprevious"></a>Previous checkouts</th></tr>
     [% FOREACH relprevissue IN relprevissues %]
     [% IF ( loop.odd ) %]
         <tr>
index 458316c..cdab69d 100644 (file)
@@ -153,7 +153,7 @@ $(document).ready(function() {
 <input type="text" size="10" id="to" name="to" value="[% to %]" class="datepickerto" />
 </li>
 </ol>
-<p><i>(Inclusive, default is two days ago to today, set other date ranges as needed. )</i></p>
+<p><i>(Inclusive, default is [% HoldsToPullStartDate %] days ago to today, set other date ranges as needed. )</i></p>
 <fieldset class="action"><input type="submit" name="run_report" value="Submit" class="submit"/></fieldset>
 </fieldset>
 </form>
@@ -161,4 +161,4 @@ $(document).ready(function() {
 </div>
 </div>
 </div>
-[% INCLUDE 'intranet-bottom.inc' %]
\ No newline at end of file
+[% INCLUDE 'intranet-bottom.inc' %]
index 674cf86..050ebd3 100644 (file)
@@ -88,7 +88,7 @@ $(document).ready(function () {
 
 
 [% IF ( wrongbranch ) %]
-<div class="dialog alert"><h3>Cannot Check In</h3><p>This item must be checked in at its home library. <strong>NOT CHECKED IN</strong></p>
+<div class="dialog alert"><h3>Cannot check in</h3><p>This item must be checked in at its home library. <strong>NOT CHECKED IN</strong></p>
 </div>
 [% END %]
 <!-- case of a mistake in transfer loop -->
@@ -334,7 +334,12 @@ $(document).ready(function () {
                         <p class="problem">Item was lost, now found.</p>
                     [% END %]
                     [% IF ( errmsgloo.withdrawn ) %]
-                        <p class="problem">Item is withdrawn.</p>
+                        [% IF BlockReturnOfWithdrawnItems %]
+                           <h3>Cannot Check In</h3>
+                           <p class="problem">Item is withdrawn. <strong>NOT CHECKED IN</strong></p>
+                        [% ELSE %]
+                           <p class="problem">Item is withdrawn.</p>
+                        [% END %]
                     [% END %]
                     [% IF ( errmsgloo.debarred ) %]
                         <p class="problem"><a href="/cgi-bin/koha/circ/circulation.pl?borrowernumber=[% errmsgloo.debarborrowernumber %]">[% errmsgloo.debarname %]([% errmsgloo.debarcardnumber %])</a> is now debarred until [% errmsgloo.debarred | $KohaDates %] </p>
index ea0faef..cb18a4a 100644 (file)
@@ -32,7 +32,7 @@ $.tablesorter.addParser({
 &rsaquo; <a href="/cgi-bin/koha/circ/waitingreserves.pl">Holds awaiting pickup</a>
 </div>
 
-<div id="doc" class="yui-t7">
+<div id="doc3" class="yui-t7">
 
    <div id="bd">
     <div id="yui-main">
@@ -47,23 +47,24 @@ $.tablesorter.addParser({
     [% IF ( cancel_result ) %]
         [% FOREACH cancel_result %]
             [% IF ( messagetransfert ) %]
-                <div>
-                    <h2>Hold find for ([% nextreservtitle %]), must be transferred</h2>
-                    <p>This hold placed by : <b> [% nextreservsurname %] [% nextreservfirstname %]</b> at the library : <b> [% branchname %] </b>, Please transfer this hold.
+                <div class="dialog message">
+                    <h2>This item is on hold for pick-up at [% branchname %]</h2>
+                    <p><strong>[% nextreservtitle %]</strong> is on hold for <strong> [% nextreservsurname %], [% nextreservfirstname %]</strong>.
+                    Please retain this item and check it in to process the hold.
                     </p>
                     <form name="cancelReservewithtransfert" action="waitingreserves.pl" method="post">
-                        <input type="submit" class="button" />
+                        <input type="submit" class="submit" value="OK" />
                     </form>
                 </div>
             [% END %]
             [% IF ( waiting ) %]
-                <div id="bloc25">
-                    <h2>This hold is waiting</h2>
-                    <p>This hold ([% nextreservtitle %]) was placed by <b> : [% nextreservsurname %] [% nextreservfirstname %]</b>,
-                    Please retain this hold.
+                <div class="dialog message">
+                    <h2>This item is on hold for pick-up at your library</h2>
+                    <p><strong>[% nextreservtitle %]</strong> is on hold for <strong>[% nextreservsurname %], [% nextreservfirstname %]</strong>.
+                    Please retain this item and check it in to process the hold.
                     </p>
                     <form name="cancelReservewithwaiting" action="waitingreserves.pl" method="post">
-                        <input type="submit" />
+                        <input type="submit" class="submit" value="OK"/>
                     </form>
                 </div>
             [% END %]
index 59caa81..f05e63f 100644 (file)
@@ -74,7 +74,7 @@
                 <fieldset class="rows">
                     <ol>
                         <li>
-                            <label for="template_id" style="width:9em">Select a template to be applied: </label>
+                            <label for="template_id" style="width:20em">Select a template to be applied: </label>
                             <select name="template_id" id="template_id">
                                     [% FOREACH template IN templates %]
                                     <option value="[% template.template_id %]">[% template.template_code %]</option>
@@ -82,7 +82,7 @@
                                 </select>
                         </li>
                         <li>
-                            <label for="layout_id" style="width:9em">Select a layout to be applied: </label>
+                            <label for="layout_id" style="width:20em">Select a layout to be applied: </label>
                             <select name="layout_id" id="layout_id">
                                     [% FOREACH layout IN layouts %]
                                     <option value="[% layout.layout_id %]">[% layout.layout_name %]</option>
@@ -90,7 +90,7 @@
                                 </select>
                         </li>
                         <li>
-                            <label for="start_label" style="width:9em">Enter starting label number: </label>
+                            <label for="start_label" style="width:20em">Enter starting label position (for PDF): </label>
                             <input type="text" size="5" id="start_label" name="start_label" class="focus" title="Starting label number" value="1"/>
                         </li>
                     </ol>
index 5b5d581..727430a 100644 (file)
@@ -51,7 +51,7 @@
     [% IF ( reverse_col ) %]
       <td>
        [% IF ( account.payment ) %]
-               <a href="boraccount.pl?action=reverse&amp;borrowernumber=[% account.borrowernumber %]&amp;accountno=[% account.accountno %]">Reverse</a>
+               <a href="boraccount.pl?action=reverse&amp;accountlines_id=[% account.accountlines_id %]&amp;borrowernumber=[% account.borrowernumber %]">Reverse</a>
        [% ELSE %]
                &nbsp;
        [% END %]
@@ -59,9 +59,9 @@
        [% END %]
 <td>
        [% IF ( account.payment ) %]
-               <a target="_blank" href="printfeercpt.pl?action=print&amp;borrowernumber=[% account.borrowernumber %]&amp;accountno=[% account.accountno %]">Print</a>
+               <a target="_blank" href="printfeercpt.pl?action=print&amp;accountlines_id=[% account.accountlines_id %]&amp;borrowernumber=[% account.borrowernumber %]">Print</a>
        [% ELSE %]
-               <a target="_blank" href="printinvoice.pl?action=print&amp;borrowernumber=[% account.borrowernumber %]&amp;accountno=[% account.accountno %]">Print</a>
+               <a target="_blank" href="printinvoice.pl?action=print&amp;accountlines_id=[% account.accountlines_id %]&amp;borrowernumber=[% account.borrowernumber %]">Print</a>
        [% END %]
       </td>
     </tr>
index e226c04..64e410f 100644 (file)
                                                        [% END %]
                                                        [% END %]
                                                        <td>[% resultsloo.cardnumber %]</td>
-                                                       <td style="white-space: nowrap;"><a href="/cgi-bin/koha/members/moremember.pl?borrowernumber=[% resultsloo.borrowernumber %]">
-                            [% INCLUDE 'patron-title.inc' category_type = resultsloo.category_type firstname = resultsloo.firstname surname = resultsloo.surname othernames = resultsloo.othernames cardnumber = resultsloo.cardnumber %]</a> <br />
+                            <td style="white-space: nowrap;">
+                            <a href="/cgi-bin/koha/members/moremember.pl?borrowernumber=[% resultsloo.borrowernumber %]">
+                            [% INCLUDE 'patron-title.inc' borrowernumber = resultsloo.borrowernumber category_type = resultsloo.category_type firstname = resultsloo.firstname surname = resultsloo.surname othernames = resultsloo.othernames cardnumber = resultsloo.cardnumber invert_name = 1%]
+                            </a> <br />
                             [% IF ( resultsloo.streetnumber ) %][% resultsloo.streetnumber %] [% END %][% resultsloo.address %][% IF ( resultsloo.address2 ) %]<br />[% resultsloo.address2 %][% END %][% IF ( resultsloo.city ) %]<br />[% resultsloo.city %][% IF ( resultsloo.state ) %],[% END %][% END %][% IF ( resultsloo.state ) %] [% resultsloo.state %][% END %] [% IF ( resultsloo.zipcode ) %]  [% resultsloo.zipcode %][% END %][% IF ( resultsloo.country ) %], [% resultsloo.country %][% END %]</td>
                                                        <td>[% resultsloo.category_description %] ([% resultsloo.category_type %])</td>
-                                                       <td>[% resultsloo.branchcode %]</td>
+                                                       <td>[% resultsloo.branchname %]</td>
                                                        <td>[% resultsloo.dateexpiry %]</td>
                                                        <td>[% IF ( resultsloo.overdues ) %]<span class="overdue"><strong>[% resultsloo.overdues %]</strong></span>[% ELSE %][% resultsloo.overdues %][% END %]/[% resultsloo.issues %]</td>
                                                        <td>[% IF ( resultsloo.fines < 0 ) %]<span class="credit">[% resultsloo.fines %]</span> [% ELSIF resultsloo.fines > 0 %] <span class="debit"><strong>[% resultsloo.fines %]</strong></span> [% ELSE %] [% resultsloo.fines %] [% END %]</td>
index bd62f58..7ffefd3 100644 (file)
     });
 
     function clear_entry(node) {
-        var original = node.parentNode.parentNode;
-        $("input[type=text]", original).attr('value', '');
+        var original = $(node).parent();
+        $("textarea", original).attr('value', '');
         $("select", original).attr('value', '');
     }
 
     function clone_entry(node) {
-        var original = node.parentNode.parentNode;
-        var clone = original.cloneNode(true);
+        var original = $(node).parent();
+        var clone = original.clone();
+
         var newId = 50 + parseInt(Math.random() * 100000);
-        $("input", clone).attr('id', function() {
+        $("input,select,textarea", clone).attr('id', function() {
             return this.id.replace(/patron_attr_\d+/, 'patron_attr_' + newId);
         });
-        $("input", clone).attr('name', function() {
+        $("input,select,textarea", clone).attr('name', function() {
             return this.name.replace(/patron_attr_\d+/, 'patron_attr_' + newId);
         });
-        $("select", clone).attr('id', function() {
-            return this.id.replace(/patron_attr_\d+/, 'patron_attr_' + newId);
-        });
-        $("select", clone).attr('name', function() {
-            return this.name.replace(/patron_attr_\d+/, 'patron_attr_' + newId);
+        $("label", clone).attr('for', function() {
+            return $(this).attr("for").replace(/patron_attr_\d+/, 'patron_attr_' + newId);
         });
         $("input#patron_attr_" + newId, clone).attr('value','');
         $("select#patron_attr_" + newId, clone).attr('value','');
-        original.parentNode.insertBefore(clone, original.nextSibling);
+        $(original).after(clone);
+        return false;
     }
 
     function update_category_code(category_code) {
         if ( $(category_code).is("select") ) {
             category_code = $("#categorycode").find("option:selected").val();
         }
-        var mytables = $(".attributes_table>tbody");
-
-        mytables.find("tr").each(function(){
-            $(this).hide()
-        });
-
-        mytables.find("tr[data-category_code="+category_code+"]").each(function(){
-            $(this).show();
-        });
-        mytables.find("tr[data-category_code='']").each(function(){
-            $(this).show();
-        });
-
+        var mytables = $(".attributes_table");
+        $(mytables).find("li").hide();
+        $(mytables).find(" li[data-category_code="+category_code+"]").show();
+        $(mytables).find(" li[data-category_code='']").show();
     }
 
                var MSG_SEPARATOR = _("Separator must be / in field ");
       <label for="cardnumber">
     [% END %] 
     Card number: </label>
-    [% IF ( opduplicate ) %]
-               <input type="text" id="cardnumber" name="cardnumber" size="20" />
-    [% ELSE %]
-               <input type="text" id="cardnumber" name="cardnumber" size="20" value="[% cardnumber %]" />
-    [% END %]
+       <input type="text" id="cardnumber" name="cardnumber" size="20" value="[% cardnumber %]" />
          [% IF ( mandatorycardnumber ) %]<span class="required">Required</span>[% END %]</li>
         [% END %]
         [% UNLESS nobranchcode %]
     <legend>Additional attributes and identifiers</legend>
     [% FOREACH pa_loo IN patron_attributes %]
         [% IF pa_loo.class %]
-            <table id="aai_[% pa_loo.class %]" class="attributes_table">
-            <caption>[% pa_loo.lib %]</caption>
-        [% ELSE %]
-            <table id="aai" class="attributes_table">
+            <fieldset id="aai_[% pa_loo.class %]">
+            <legend>[% pa_loo.lib %]</legend>
         [% END %]
-        <thead>
-            <tr>
-                <th>Type</th>
-                <th colspan="2">Value</th>
-            </tr>
-        </thead>
-        <tbody>
+        <ol class="attributes_table">
             [% FOREACH patron_attribute IN pa_loo.items %]
-                <tr data-category_code="[% patron_attribute.category_code %]">
-                    <td>
-                        [% patron_attribute.code %] ([% patron_attribute.description %])
-                    </td>
-                    <td>
+                <li data-category_code="[% patron_attribute.category_code %]">
+                    <label for="[% patron_attribute.form_id %]">[% patron_attribute.description %]: </label>
                         <input type="hidden" id="[% patron_attribute.form_id %]_code" name="[% patron_attribute.form_id %]_code" value="[% patron_attribute.code |html %]" />
                         [% IF ( patron_attribute.use_dropdown ) %]
                             <select id="[% patron_attribute.form_id %]" name="[% patron_attribute.form_id %]">
                             </select>
                         [% ELSE %]
                             [% IF ( opduplicate ) %]
-                            <input type="text" maxlength="64" value="[% patron_attribute.value %]"
-                                   id="[% patron_attribute.form_id %]" name="[% patron_attribute.form_id %]" onclick="this.value=''" />
+                            <textarea rows="2" cols="30" id="[% patron_attribute.form_id %]" name="[% patron_attribute.form_id %]" onclick="this.value=''" >[% patron_attribute.value %]</textarea>
                             [% ELSE %]
-                            <input type="text" maxlength="64" value="[% patron_attribute.value %]"
-                                   id="[% patron_attribute.form_id %]" name="[% patron_attribute.form_id %]" />
+                            <textarea rows="2" cols="30" id="[% patron_attribute.form_id %]" name="[% patron_attribute.form_id %]">[% patron_attribute.value %]</textarea>
                             [% END %]
                         [% END %]
                         [% IF ( patron_attribute.password_allowed ) %]
-                            (Password: <input type="password" maxlength="64" value="[% patron_attribute.password %]"
+                            (<label class="yesno" for="[% patron_attribute.form_id %]_password">Password:</label> <input type="password" maxlength="64" value="[% patron_attribute.password %]"
                                    id="[% patron_attribute.form_id %]_password" name="[% patron_attribute.form_id %]_password" />)
                         [% END %]
-                    </td>
-                    <td>
-                        <a href="#" onclick="clear_entry(this); return false;">Clear</a>
+                        <a href="#" class="clear-field" onclick="clear_entry(this); return false;">Clear</a>
                         [% IF ( patron_attribute.repeatable ) %]
-                        <a href="#" onclick="clone_entry(this); return false;">New</a>
+                        <a href="#" class="clone-field" onclick="clone_entry(this); return false;">New</a>
                         [% END %]
-                    </td>
-                </tr>
+                </li>
             [% END %]
-        </tbody>
-        </table>
+        </ol>
+        [% IF pa_loo.class %]</fieldset>[% END %]
     [% END %]
   </fieldset>
 [% END %][% END %][% END %]
   </fieldset>
 [% END %] [% END %]
 
+[% UNLESS ( check_member ) %]
     <fieldset class="action">
         <input type="submit" name="save" onclick="return check_form_borrowers();" value="Save" />
       [% IF ( opadd ) %]
          <a class="cancel" href="/cgi-bin/koha/members/moremember.pl?borrowernumber=[% borrowernumber %]">Cancel</a>
           [% END %]
     </fieldset>
+[% END %]
 </form>
   
 </div>
index b6df1b3..abbf26f 100644 (file)
@@ -290,32 +290,24 @@ function validate1(date) {
 <h3>Additional attributes and identifiers</h3>
 [% FOREACH attribute IN attributes_loop %]
     [% IF attribute.class %]
-        <h4>[% attribute.lib %]</h4>
-        <table id="aai_[% attribute.class %]">
+        <div id="aai_[% attribute.class %]" class="rows">
     [% ELSE %]
-        <table id="aai">
+        <div id="aai" class="rows">
     [% END %]
-        <thead>
-            <tr>
-                <th>Type</th>
-                <th>Description</th>
-                <th>Value</th>
-            </tr>
-        </thead>
-        <tbody>
+        <h4>[% attribute.lib %]</h4>
+        <ol>
         [% FOREACH item IN attribute.items %]
-            <tr>
-                <td>[% item.code %]</td>
-                <td>[% item.description %]</td>
-                <td>[% item.value %]
-                    [% IF ( item.value_description ) %]
-                        ([% item.value_description %])
-                    [% END %]
-                </td>
-            </tr>
+            <li>
+                <span class="label">[% item.description %]: </span>
+                [% IF ( item.value_description ) %]
+                    [% item.value_description %]
+                [% ELSE %]
+                    [% item.value| html_line_break %]
+                [% END %]
+            </li>
         [% END %]
-        </tbody>
-    </table>
+        </ol>
+    </div>
 [% END %]
 </div>
 <div class="action"><a href="memberentry.pl?op=modify&amp;borrowernumber=[% borrowernumber %]&amp;step=4">Edit</a></div>
@@ -506,7 +498,7 @@ function validate1(date) {
             </td>
       [% END %]
       [% IF ( issueloo.return_failed ) %]
-            <td class="problem">Checkin failed</td>
+            <td class="problem">Check-in failed</td>
       [% ELSE %]
         [% IF ( issueloo.norenew_reason_on_reserve ) %]
             <td><a href="/cgi-bin/koha/reserve/request.pl?biblionumber=[% issueloo.biblionumber %]">On hold</a></td>
index 4c1b362..2780c3f 100644 (file)
@@ -73,6 +73,7 @@
     <input type="hidden" name="description[% line.accountno %]" value="[% line.description %]" />
     <input type="hidden" name="accounttype[% line.accountno %]" value="[% line.accounttype %]" />
     <input type="hidden" name="amount[% line.accountno %]" value="[% line.amount %]" />
+    <input type="hidden" name="accountlines_id[% line.accountno %]" value="[% line.accountlines_id %]" />
     <input type="hidden" name="amountoutstanding[% line.accountno %]" value="[% line.amountoutstanding %]" />
     <input type="hidden" name="borrowernumber[% line.accountno %]" value="[% line.borrowernumber %]" />
     <input type="hidden" name="accountno[% line.accountno %]" value="[% line.accountno %]" />
index 3461e8a..c558b08 100644 (file)
@@ -102,6 +102,7 @@ function moneyFormat(textObj) {
     <input type="hidden" name="amount" id="amount" value="[% amount %]" />
     <input type="hidden" name="amountoutstanding" id="amountoutstanding" value="[% amountoutstanding %]" />
     <input type="hidden" name="accountno" id="accountno" value="[% accountno %]" />
+    <input type="hidden" name="accountlines_id" id="accountlines_id" value="[% accountlines_id %]" />
     <input type="hidden" name="title" id="title" value="[% title %]" />
 
 <fieldset class="rows">
@@ -157,6 +158,7 @@ function moneyFormat(textObj) {
     <input type="hidden" name="amount" id="amount" value="[% amount %]" />
     <input type="hidden" name="amountoutstanding" id="amountoutstanding" value="[% amountoutstanding %]" />
     <input type="hidden" name="accountno" id="accountno" value="[% accountno %]" />
+    <input type="hidden" name="accountlines_id" id="accountlines_id" value="[% accountlines_id %]" />
     <input type="hidden" name="title" id="title" value="[% title %]" />
     <table>
     <thead><tr>
index 3b1f55a..b7c5f53 100644 (file)
@@ -1,3 +1,4 @@
+[% USE KohaDates %]
 [% INCLUDE 'doc-head-open.inc' %]
 <title>Circulation History for [% INCLUDE 'patron-title.inc' %]</title>
 [% INCLUDE 'doc-head-close.inc' %]
@@ -26,7 +27,7 @@
        <div class="yui-b">
 [% INCLUDE 'circ-toolbar.inc' %]
 <h1>Circulation history</h1>
-[% IF ( loop_reading ) %]
+[% IF loop_reading %]
 <form action="/cgi-bin/koha/members/readingrec.pl" method="get"><input type="hidden" name="borrowernumber" id="borrowernumber" value="[% borrowernumber %]" /></form>
 
 
     <th>Date due</th>
     <th>Return date</th>
 </thead>
-[% FOREACH loop_readin IN loop_reading %]
-    [% IF ( loop_readin.returndate ) %]<tr>[% ELSE %]<tr class="onissue">[% END %]
+[% FOREACH issue IN loop_reading %]
+    [% IF  issue.returndate  %]<tr>[% ELSE %]<tr class="onissue">[% END %]
         <td>
-            [% loop_readin.issuestimestamp %]
+            [% issue.issuestimestamp | $KohaDates %]
         </td>
-        <td><a href="/cgi-bin/koha/catalogue/detail.pl?biblionumber=[% loop_readin.biblionumber %]">[% loop_readin.title |html %]</a></td>
+        <td><a href="/cgi-bin/koha/catalogue/detail.pl?biblionumber=[% issue.biblionumber %]">[% issue.title |html %]</a></td>
 
-        <td>[% loop_readin.author %]</td>
+        <td>[% issue.author %]</td>
 
-        <td>[% loop_readin.classification %]</td>
+        <td>
+            [% IF issue.classification %]
+                [% issue.classification %]
+            [% ELSE %]
+                [% issue.itemcallnumber %]
+            [% END %]
+       </td>
 
-        <td>[% loop_readin.barcode %]</td>
+        <td>[% issue.barcode %]</td>
 
             <td>
-        [% loop_readin.renewals %]</td>
+        [% issue.renewals %]</td>
             <td>
-        [% loop_readin.issuedate %]</td>
+        [% issue.issuedate | $KohaDates %]</td>
             <td>
-        [% loop_readin.issuingbranch %]</td>
-                       <td>[% IF ( loop_readin.date_due ) %][% loop_readin.date_due %][% ELSE %]&nbsp;[% END %]</td>
+        [% issue.issuingbranch %]</td>
+                       <td>[% IF issue.date_due %]
+                    [% issue.date_due | $KohaDates %]
+                [% ELSE %]&nbsp;[% END %]</td>
             <td>
-        [% IF ( loop_readin.returndate ) %]
-            [% loop_readin.returndate %]
+        [% IF  issue.returndate %]
+            [% issue.returndate | $KohaDates %]
         [% ELSE %]
             Checked Out
         [% END %]
index 102a6ee..2e15834 100644 (file)
@@ -33,7 +33,7 @@
                <form action="/cgi-bin/koha/reports/dictionary.pl" method="post">
         <input type="hidden" name="phase" value="View Dictionary" />
                [% IF ( areas ) %]
-                       Filter by area <select name="areas">
+                       Filter by area <select name="area">
                        <option value="">All</option>
                        [% FOREACH area IN areas %]
                            [% IF ( area.selected ) %]
 <ol><li><input type="hidden" name="phase" value="New Term step 3" />
 <input type="hidden" name="definition_name" value="[% definition_name %]" />
 <input type="hidden" name="definition_description" value="[% definition_description %]" />
-<label for="areas">Select table </label><select name="areas" id="areas">
+<label for="area">Select table </label><select name="area" id="area">
 [% FOREACH area IN areas %]     
 <option value="[% area.id %]">[% area.name %]</option>                  
 [% END %]                
index 21d8235..fa0ae38 100644 (file)
 
 <script type="text/javascript">
 //<![CDATA[
+var group_subgroups = {};
+var no_subgroup_label = _( "(None)" );
+function load_group_subgroups () {
+    var group = $("#group").val();
+    var sg = $("#subgroup");
+    var has_subgroups = false;
+    $(sg).empty().append('<option value="">' + no_subgroup_label + '</option>');
+    if (group) {
+        $.each( group_subgroups[group], function(index, value) {
+                has_subgroups = true;
+            $('<option value="' + value[0] + '">' + value[1] + '</option>').appendTo(sg);
+        } );
+    }
+    if (has_subgroups) {
+        $(sg).show();
+    } else {
+        $(sg).hide();
+    }
+}
 $(document).ready(function(){
 [% IF ( showsql ) %]
     $("#sql").focus(function() {
@@ -43,6 +62,7 @@ $(document).ready(function(){
 [% END %]
   // call the tablesorter plugin
   $("#table_reports").tablesorter({
+    widgets : ['zebra'],
     sortList: [[1,0]],
     headers: {
        6: { sorter: false},
@@ -138,6 +158,9 @@ canned reports and writing custom SQL reports.</p>
   <th>ID</th>
   <th>Report name</th>
   <th>Type</th>
+  <th>Area</th>
+  <th>Group</th>
+  <th>Subgroup</th>
   <th>Notes</th>
   <th>Author</th>
   <th>Creation date</th>
@@ -151,10 +174,13 @@ canned reports and writing custom SQL reports.</p>
 </thead>
 <tbody>
 [% FOREACH savedreport IN savedreports %]
-[% UNLESS ( loop.odd ) %]<tr class="highlight">[% ELSE %]<tr>[% END %]
+[% UNLESS ( loop.odd ) %]<tr class="odd">[% ELSE %]<tr>[% END %]
 <td>[% savedreport.id %]</td>
 <td>[% savedreport.report_name %]</td>
 <td>[% savedreport.type %]</td>
+<td>[% savedreport.areaname %]</td>
+<td>[% savedreport.groupname %]</td>
+<td>[% savedreport.subgroupname %]</td>
 <td>[% savedreport.notes %]</td>
 <td>[% savedreport.borrowersurname %][% IF ( savedreport.borrowerfirstname ) %], [% savedreport.borrowerfirstname %][% END %] ([% savedreport.borrowernumber %])</td>
 <td>[% savedreport.date_created %]</td>
@@ -219,7 +245,7 @@ canned reports and writing custom SQL reports.</p>
 <form action="/cgi-bin/koha/reports/guided_reports.pl">
 <fieldset class="rows">
 <legend>Step 1 of 6: Choose a module to report on,[% IF (usecache) %] Set cache expiry, [% END %] and Choose report visibility </legend>
-<ol><li><label for="areas">Choose: </label><select name="areas" id="areas">
+<ol><li><label for="area">Choose: </label><select name="area" id="area">
 [% FOREACH area IN areas %]
 <option value="[% area.id %]">[% area.name %]</option>
 [% END %]
@@ -485,12 +511,38 @@ canned reports and writing custom SQL reports.</p>
 <form action="/cgi-bin/koha/reports/guided_reports.pl" method="post">
 <input type="hidden" name="sql" value="[% sql |html %]" />
 <input type="hidden" name="type" value="[% type %]" />
+<input type="hidden" name="area" value="[% area %]" />
 <input type="hidden" name="public" value="[% public %]" />
 <input type="hidden" name="cache_expiry" value="[% cache_expiry %]" />
 <fieldset class="rows">
 <legend>Save your custom report</legend>
 <ol>
     <li><label for="reportname">Report name: </label><input type="text" id="reportname" name="reportname" /></li>
+    [% IF groups_with_subgroups %]
+    <li><label for="group">Report group: </label><select name="group" id="group" onChange="load_group_subgroups();">
+        [% FOR g IN groups_with_subgroups %]
+            [% IF g.selected %]
+    <option value="[% g.id %]" selected>[% g.name %]</option>
+            [% ELSE %]
+    <option value="[% g.id %]">[% g.name %]</option>
+            [% END %]
+    <script type="text/javascript">
+        var g_sg = new Array();
+            [% FOR sg IN g.subgroups %]
+        g_sg.push(["[% sg.id %]", "[% sg.name %]"]);
+                [% IF sg.selected %]
+        $(document).ready(function() {
+            $("#subgroup").val("[% sg.id %]");
+        });
+                [% END %]
+            [% END %]
+        group_subgroups["[% g.id %]"] = g_sg;
+    </script>
+        [% END %]
+    </select></li>
+    <li><label for="subgroup">Report subgroup: </label><select name="subgroup" id="subgroup">
+    </select></li>
+    [% END %]
     <li><label for="notes">Notes:</label> <textarea name="notes" id="notes"></textarea></li>
 </ol></fieldset>
 <fieldset class="action"><input type="hidden" name="phase" value="Save Report" />
@@ -553,6 +605,11 @@ canned reports and writing custom SQL reports.</p>
 [% END %]
 
 [% IF ( create ) %]
+<script type="text/javascript">
+$(document).ready(function() {
+    load_group_subgroups();
+});
+</script>
 <form action="/cgi-bin/koha/reports/guided_reports.pl" method="post">
 <fieldset class="rows">
 <legend>Create report from SQL</legend>
@@ -561,6 +618,31 @@ canned reports and writing custom SQL reports.</p>
         [% IF ( reportname ) %]<input type="text" id="reportname" name="reportname" value="[% reportname %]" />
         [% ELSE %]<input type="text" id="reportname" name="reportname" />[% END %] 
     </li>
+    [% IF groups_with_subgroups %]
+    <li><label for="group">Report group: </label><select name="group" id="group" onChange="load_group_subgroups();">
+        [% FOR g IN groups_with_subgroups %]
+            [% IF g.selected %]
+    <option value="[% g.id %]" selected>[% g.name %]</option>
+            [% ELSE %]
+    <option value="[% g.id %]">[% g.name %]</option>
+            [% END %]
+    <script type="text/javascript">
+        var g_sg = new Array();
+            [% FOR sg IN g.subgroups %]
+        g_sg.push(["[% sg.id %]", "[% sg.name %]"]);
+                [% IF sg.selected %]
+        $(document).ready(function() {
+            $("#subgroup").val("[% sg.id %]");
+        });
+                [% END %]
+            [% END %]
+        group_subgroups["[% g.id %]"] = g_sg;
+    </script>
+        [% END %]
+    </select></li>
+    <li><label for="subgroup">Report subgroup: </label><select name="subgroup" id="subgroup">
+    </select></li>
+    [% END %]
 [% IF (public) %]
   <li><label for="public">Report is public:</label><select id="public" name="public"> <option value="0">No (default)</option> <option value="1" selected="selected">Yes</public> </select></li>
 [% ELSE %]
@@ -645,6 +727,11 @@ Sub report:<select name="subreport">
 [% END %]
 
 [% IF ( editsql ) %]
+<script type="text/javascript">
+$(document).ready(function() {
+    load_group_subgroups();
+});
+</script>
 <form action="/cgi-bin/koha/reports/guided_reports.pl" method="post">
 <input type="hidden" name="phase" value="Update SQL" />
 <input type="hidden" name="id" value="[% id %]"/>
@@ -652,6 +739,31 @@ Sub report:<select name="subreport">
 <legend>Edit SQL report</legend>
 <ol>
 <li><label for="reportname">Report name:</label><input type="text" id="reportname" name="reportname" value="[% reportname %]" size="50" /></li>
+    [% IF groups_with_subgroups %]
+    <li><label for="group">Report group: </label><select name="group" id="group" onChange="load_group_subgroups();">
+        [% FOR g IN groups_with_subgroups %]
+            [% IF g.selected %]
+    <option value="[% g.id %]" selected>[% g.name %]</option>
+            [% ELSE %]
+    <option value="[% g.id %]">[% g.name %]</option>
+            [% END %]
+    <script type="text/javascript">
+        var g_sg = new Array();
+            [% FOR sg IN g.subgroups %]
+        g_sg.push(["[% sg.id %]", "[% sg.name %]"]);
+                [% IF sg.selected %]
+        $(document).ready(function() {
+            $("#subgroup").val("[% sg.id %]");
+        });
+                [% END %]
+            [% END %]
+        group_subgroups["[% g.id %]"] = g_sg;
+    </script>
+        [% END %]
+    </select></li>
+    <li><label for="subgroup">Report subgroup: </label><select name="subgroup" id="subgroup">
+    </select></li>
+    [% END %]
 [% IF (public) %]
   <li><label for="public">Report is public:</label><select id="public" name="public"> <option value="0">No (default)</option> <option value="1" selected="selected">Yes</public> </select></li>
 [% ELSE %]
@@ -719,12 +831,43 @@ Sub report:<select name="subreport">
 
 [% IF ( saved1 ) %]
 <div id="saved-reports-filter">
+<script type="text/javascript">
+$(document).ready(function() {
+    no_subgroup_label = _( "-- All --" );
+    load_group_subgroups();
+});
+</script>
 <form action="/cgi-bin/koha/reports/guided_reports.pl" method="get">
   <input type="hidden" name="phase" value="Use saved" />
   <input type="hidden" name="filter_set" value="1" />
   <fieldset class="brief">
   <h3>Filter</h3>
   <ol>
+    <li><label for="group">Choose Group and Subgroup: </label>
+    <select name="group" id="group" onChange="load_group_subgroups();">
+        <option value="">-- All --</option>
+    [% FOR g IN groups_with_subgroups %]
+        [% IF g.selected %]
+        <option value="[% g.id %]" selected>[% g.name %]</option>
+        [% ELSE %]
+        <option value="[% g.id %]">[% g.name %]</option>
+        [% END %]
+        <script type="text/javascript">
+            var g_sg = new Array();
+        [% FOR sg IN g.subgroups %]
+            g_sg.push(["[% sg.id %]", "[% sg.name %]"]);
+            [% IF sg.selected %]
+            $(document).ready(function() {
+                $("#subgroup").val("[% sg.id %]");
+            });
+            [% END %]
+        [% END %]
+            group_subgroups["[% g.id %]"] = g_sg;
+        </script>
+    [% END %]
+    </select>
+    <select name="subgroup" id="subgroup"></select>
+    </li>
     <li><label for="filter_date">Date:</label> <input type="text" id="filter_date" name="filter_date" size="10" value="[% filter_date %]" class="datepicker" />
     <div class="hint">[% INCLUDE 'date-format.inc' %]</div>
 
index c42bc45..af51a4c 100644 (file)
                                        [% END %]
                            </select>
                        </li><li>
-                       <label for="branch">
+                <label for="branchcode">
                                        Library:
                        </label>
                        <select name="branchcode"  id="branchcode">
                                <option value="">Any library</option>
-                               [% FOREACH branche IN branches %]
-                                               <option value="[% branche.branchcode %]">[% branche.branchname %]</option>
+                    [% FOREACH branche IN branches %]
+                        [% IF ( branche.selected ) %]
+                            <option value="[% branche.value %]" selected="selected">[% branche.branchname %]</option>
+                        [% ELSE %]
+                            <option value="[% branche.value %]">[% branche.branchname %]</option>
+                        [% END %]
                                        [% END %]
                        </select>
 
                    </li>
                    <li>
                        <label for="expired">Include expired subscriptions: </label>
-                       <input type="checkbox" name="expired" />
+                <input type="checkbox" name="expired" id="expired" />
                    </li>
                </ol>
        </fieldset>
index b47b51b..5d9f7a9 100644 (file)
@@ -92,8 +92,8 @@
        }
        // Filter by date
        function filterByDate() {
-           var beginDate = Date_from_syspref($("#begindate").val()).getTime();
-           var endDate   = Date_from_syspref($("#enddate").val()).getTime();
+        var beginDate = Date_from_syspref($("#from").val()).getTime();
+        var endDate   = Date_from_syspref($("#to").val()).getTime();
            
            // Checks if the beginning date is valid
            if (!parseInt(beginDate)) {
index a677e29..ef4a76d 100644 (file)
@@ -57,7 +57,7 @@ function search_member(subscriptionid){
         [% FOREACH member IN m_loop %]
         <tr><td>[% member.name %]</td>
             <td>
-                <select name="itemrank" onchange="reorder_item([%- subscriptionid -%], [%- member.routingid -%], this.option[this.selectedIndex].value)">
+                <select name="itemrank" onchange="reorder_item([%- subscriptionid -%], [%- member.routingid -%], this.value)">
                 [% rankings = [1 .. m_loop.size] %]
                 [% FOREACH r IN rankings %]
                     [% IF r == member.ranking %]
index a22b97b..7bc9feb 100644 (file)
@@ -16,7 +16,7 @@
 
 <h1>Subscription information for <i>[% bibliotitle %]</i></h1>
 <div id="action">
-    <a href="/cgi-bin/koha/serials/serials-home.pl?biblionumber=[% biblionumber %]">Subscriptions</a>
+    <a href="/cgi-bin/koha/serials/serials-search.pl?biblionumber=[% biblionumber %]">Subscriptions</a>
     <a href="/cgi-bin/koha/catalogue/MARCdetail.pl?biblionumber=[% biblionumber %]">Back to biblio</a>
     <a href="/cgi-bin/koha/serials/serial-issues.pl?biblionumber=[% biblionumber %]&amp;selectview=full">Complete view</a>
 </div>
index 23b496b..3d2e690 100644 (file)
@@ -4,6 +4,11 @@
 
 <script type="text/javascript">
 //<![CDATA[
+function generateReceive(subscriptionid) {
+    if(nbissues=prompt(_("How many issues do you want to receive ?"))){
+        document.location = 'serials-collection.pl?op=gennext&subscriptionid='+subscriptionid+'&nbissues='+nbissues;
+    }
+}
 function print_slip(subscriptionid,issue){
     var myurl = 'routing-preview.pl?ok=1&subscriptionid='+subscriptionid+'&issue='+issue;
     window.open(myurl,'PrintSlip','width=500,height=500,toolbar=no,scrollbars=yes');
@@ -190,6 +195,7 @@ $(document).ready(function() {
         <p>
             <input type="submit" value="Edit serials" />&nbsp;
             <input type="button" value="Generate Next" onclick="javascript:generateNext([% subscriptionidlist %])" />
+            [% IF ( subscriptions.size == 1 and !serialsadditems ) %]&nbsp;<input type="button" value="Multi receiving" onclick="javascript:generateReceive([% subscriptionidlist %])" />[% END %]
         </p>
     [% END %]
 
index 7c82b48..a6fd962 100644 (file)
@@ -3,6 +3,12 @@
 [% INCLUDE 'doc-head-close.inc' %]
 <script language="JavaScript" type="text/javascript">
 //<![CDATA[
+function generateReceive() {
+    var subscriptionid =  document.getElementsByName("subscriptionid")[0].value;
+    if(nbissues=prompt(_("How many issues do you want to receive ?"))){
+        document.location = 'serials-collection.pl?op=gennext&subscriptionid='+subscriptionid+'&nbissues='+nbissues;
+    }
+}
 function popup(subscriptionid) {
        window.open("subscription-renew.pl?subscriptionid="+subscriptionid,"subscription_renewal",'width=700,height=400,toolbar=false,scrollbars=yes');
 }
@@ -179,6 +185,7 @@ $(document).ready(function() {
 <h1>Serial edition <i>[% bibliotitle %]</i>
        [% IF location %] ( [% location %] ) [% END %]
     [% IF ( callnumber ) %] callnumber: [% callnumber %][% END %]</h1>
+[% IF internalnotes %]<p>Nonpublic note: [% internalnotes %]</p>[% END %]
 <form method="post" name="f" action="serials-edit.pl" id="serials_edit">
 <!--onsubmit="return barcode_check()">-->
 
@@ -422,6 +429,7 @@ $(document).ready(function() {
 
 </table>
     <fieldset class="action"><input type="submit" value="Save"  class="button" accesskey="w" />
+    [% UNLESS ( serialsadditems ) %]&nbsp;&nbsp;<input type="button" onclick="javascript:generateReceive()" value="Multi receiving">[% END %]
 </form>
 
 </div>
index a0cd35e..eaafc94 100644 (file)
 [% INCLUDE 'doc-head-open.inc' %]
 [% USE KohaDates %]
 <title>Koha &rsaquo; Serials [% biblionumber %]</title>
-<link rel="stylesheet" type="text/css" href="[% themelang %]/css/datatables.css" />
 [% INCLUDE 'doc-head-close.inc' %]
-<script type="text/javascript" src="[% themelang %]/lib/jquery/plugins/jquery.dataTables.min.js"></script>
-[% INCLUDE 'datatables-strings.inc' %]
-<script type="text/javascript" src="[% themelang %]/js/datatables.js"></script>
-<script type="text/javascript">
-//<![CDATA[
- $(document).ready(function() {
-    var srlt = $("#srlt").dataTable($.extend(true, {}, dataTablesDefaults, {
-        "aoColumnDefs": [
-            { "aTargets": [ -1, -2, -3 ], "bSortable": false, "bSearchable": false },
-        ],
-        "sPaginationType": "four_button"
-    } ) );
-
-    srlt.fnAddFilters("filter", 750);
- });
- //]]>
-</script>
 </head>
 <body id="ser_serials-home" class="ser">
 [% INCLUDE 'header.inc' %]
 [% INCLUDE 'serials-search.inc' %]
 
-<div id="breadcrumbs"><a href="/cgi-bin/koha/mainpage.pl">Home</a> &rsaquo; [% IF ( done_searched ) %]<a href="/cgi-bin/koha/serials/serials-home.pl">Serials</a> &rsaquo; Search results[% ELSE %]Serials [% END %] </div>
+<div id="breadcrumbs"><a href="/cgi-bin/koha/mainpage.pl">Home</a> &rsaquo; Serials </div>
 
 <div id="doc3" class="yui-t2">
-   
-   <div id="bd">
-       <div id="yui-main">
-       <div class="yui-b">
-       [% INCLUDE 'serials-toolbar.inc' %]
-       
-[% IF ( information ) %]
-Serials updated :
-<table>
-  <tr>
-    <th>
-      Serialseq
-    </th>
-    <th>
-      Status
-    </th>
-    <th>
-      Published date
-    </th>
-    <th>
-      Planned date
-    </th>
-    <th>
-      Notes
-    </th>
-  </tr>  
-[% FOREACH informatio IN information %]
-  <tr>
-    <td>
-      [% informatio.serialseq %]
-    </td>
-    <td>
-      [% informatio.status %]
-    </td>
-    <td>
-      [% informatio.publisheddate %]
-    </td>
-    <td>
-      [% informatio.planneddate %]
-    </td>
-    <td>
-      [% informatio.notes %]
-    </td>
-  </tr>  
-[% END %]
-</table>
-[% END %]
-        [% IF ( done_searched ) %]
-<h2>Serials subscriptions</h2>
-
-    <table id="srlt">
-       <thead>
-        <tr>
-            <th>ISSN</th>
-            <th>Title</th>
-            <th> Notes </th>
-            <th>Library</th>
-            <th>Call number</th>
-            <th>Expiration date</th>
-            [% IF ( routing && CAN_user_serials_routing ) %]
-              <th>Routing list</th>
-            [% END %]        
-            <th>&nbsp;</th>
-            <th>&nbsp;</th>
-        </tr>
-       </thead>
-    <tfoot>
-        <tr>
-            <td><input type="text" class="filter" data-column_num="0" placeholder="Search ISSN" /></td>
-            <td><input type="text" class="filter" data-column_num="1" placeholder="Search title" /></td>
-            <td><input type="text" class="filter" data-column_num="2" placeholder="Search notes" /></td>
-            <td><input type="text" class="filter" data-column_num="3" placeholder="Search library" /></td>
-            <td><input type="text" class="filter" data-column_num="4" placeholder="Search callnumber" /></td>
-            <td><input type="text" class="filter" data-column_num="5" placeholder="Search expiration date" /></td>
-            [% IF ( routing && CAN_user_serials_routing ) %]<td></td>[% END %]
-            <td></td>
-            <td></td>
-        </tr>
-    </tfoot>
-       <tbody> 
-        [% FOREACH subscription IN subscriptions %]
-            <tr>
-                <td>
-                [% IF ( subscription.issn ) %][% subscription.issn %]
-                [% END %]
-                </td>
-                <td><a href="/cgi-bin/koha/serials/subscription-detail.pl?subscriptionid=[% subscription.subscriptionid %]" class="button" title="subscription detail">[% subscription.title |html %]</a>
-                </td>
-                <td>[% IF ( subscription.notes ) %][% subscription.notes %][% END %]
-                [% IF ( subscription.internalnotes ) %]([% subscription.internalnotes %])[% END %]
-                </td>
-                <td>
-                  [% IF ( subscription.branchname ) %][% subscription.branchname %][% END %]
-                </td>
-                <td>
-                  [% IF ( subscription.callnumber ) %][% subscription.callnumber %][% END %]
-                </td>
-                <td>
-                  [% IF ( subscription.enddate ) %][% subscription.enddate | $KohaDates %][% END %]
-                </td>
-                [% IF ( routing && CAN_user_serials_routing ) %]
-                <td>
-                    [% IF ( subscription.cannotedit ) %]
-                        &nbsp;
-                    [% ELSE %]
-                        [% IF ( subscription.routingedit ) %]
-                            <a href="/cgi-bin/koha/serials/routing.pl?subscriptionid=[% subscription.subscriptionid %]">Edit</a>
-                            ([% subscription.routingedit %])
-                        [% ELSE %]
-                            <a href="/cgi-bin/koha/serials/routing.pl?subscriptionid=[% subscription.subscriptionid %]&amp;op=new">New</a>
-                        [% END %]
-                    [% END %]
-                </td>
-                [% END %]
-                <td><a href="/cgi-bin/koha/serials/serials-collection.pl?subscriptionid=[% subscription.subscriptionid %]">Issue history</a>
-                </td>
-                <td>
-                [% IF ( subscription.cannotedit ) %]
-                  &nbsp;        
-                [% ELSE %]
-                  [% IF ( CAN_user_serials_receive_serials ) %]<a href="/cgi-bin/koha/serials/serials-edit.pl?subscriptionid=[% subscription.subscriptionid %]&amp;serstatus=1,3,7">Serial receive</a>[% END %]
-                [% END %]
-                </td>
-            </tr>
-        [% END %]
-       </tbody>
-    </table>
-    
-        [% END %]
-
-</div>
-</div>
-
-<div class="yui-b">
-[% INCLUDE 'serials-menu.inc' %]
-</div>
+<div id="bd">
+  <div id="yui-main">
+    <div class="yui-b">
+      [% INCLUDE 'serials-toolbar.inc' %]
+    </div>
+  </div>
+  <div class="yui-b">
+    [% INCLUDE 'serials-menu.inc' %]
+  </div>
 </div>
 [% INCLUDE 'intranet-bottom.inc' %]
diff --git a/koha-tmpl/intranet-tmpl/prog/en/modules/serials/serials-search.tt b/koha-tmpl/intranet-tmpl/prog/en/modules/serials/serials-search.tt
new file mode 100644 (file)
index 0000000..98ef4d5
--- /dev/null
@@ -0,0 +1,227 @@
+[% INCLUDE 'doc-head-open.inc' %]
+[% USE KohaDates %]
+<title>Koha &rsaquo; Serials [% biblionumber %]</title>
+<link rel="stylesheet" type="text/css" href="[% themelang %]/css/datatables.css" />
+[% INCLUDE 'doc-head-close.inc' %]
+<script type="text/javascript" src="[% themelang %]/lib/jquery/plugins/jquery.dataTables.min.js"></script>
+[% INCLUDE 'datatables-strings.inc' %]
+<script type="text/javascript" src="[% themelang %]/js/datatables.js"></script>
+<script type="text/javascript">
+//<![CDATA[
+ $(document).ready(function() {
+    var srlt = $("#srlt").dataTable($.extend(true, {}, dataTablesDefaults, {
+        "aoColumnDefs": [
+            { "aTargets": [ -1, -2, -3 ], "bSortable": false, "bSearchable": false },
+        ],
+        "sPaginationType": "four_button"
+    } ) );
+
+    srlt.fnAddFilters("filter", 750);
+ });
+ //]]>
+</script>
+</head>
+<body id="ser_serials-home" class="ser">
+[% INCLUDE 'header.inc' %]
+[% INCLUDE 'serials-search.inc' %]
+
+<div id="breadcrumbs"><a href="/cgi-bin/koha/mainpage.pl">Home</a> &rsaquo; [% IF ( done_searched ) %]<a href="/cgi-bin/koha/serials/serials-home.pl">Serials</a> &rsaquo; Search results[% ELSE %]Serials [% END %] </div>
+
+<div id="doc3" class="yui-t2">
+  <div id="bd">
+    <div id="yui-main">
+      <div class="yui-b">
+      [% INCLUDE 'serials-toolbar.inc' %]
+
+      <h2>Serials subscriptions</h2>
+      [% UNLESS ( done_searched ) %]
+      <div id="advsearch">
+        <form action="/cgi-bin/koha/serials/serials-search.pl" method="get">
+          <fieldset class="rows">
+          <legend>Search subscriptions</legend>
+              <ol>
+                <li>
+                  <label for="issn">ISSN:</label>
+                  <input type="text" id="issn" name="ISSN_filter" value="[% ISSN_filter %]" />
+                </li>
+                <li>
+                  <label for="title">Title:</label>
+                  <input type="text" id="title" name="title_filter" value="[% title_filter %]" />
+                </li>
+                [% IF ( marcflavour == "UNIMARC" ) %]
+                <li>
+                  <label for="ean">EAN:</label>
+                  <input type="text" id="ean" name="EAN_filter" value="[% EAN_filter %]" />
+                </li>
+                [% END %]
+                <li>
+                  <label for="publisher">Publisher:</label>
+                  <input type="text" id="publisher" name="publisher_filter" value="[% publisher_filter %]" />
+                </li>
+                <li>
+                  <label for="bookseller">Bookseller:</label>
+                  <input type="text" id="bookseller" name="bookseller_filter" value="[% bookseller_filter %]" />
+                </li>
+                <li>
+                  <label for="branch">Branch:</label>
+                  <select id="branch" name="branch_filter">
+                    <option value="">All</option>
+                    [% FOREACH branch IN branches_loop %]
+                      [% IF ( branch.selected ) %]
+                        <option selected="selected" value="[% branch.branchcode %]">[% branch.branchname %]</option>
+                      [% ELSE %]
+                        <option value="[% branch.branchcode %]">[% branch.branchname %]</option>
+                      [% END %]
+                    [% END %]
+                  </select>
+                </li>
+              </ol>
+              <input type="hidden" name="searched" value="1" />
+              <fieldset class="action">
+                <input type="submit" value="Search" />
+              </fieldset>
+          </fieldset>
+        </form>
+      </div>
+      [% END %]
+      [% IF ( done_searched ) %]
+        [% IF ( subscriptions ) %]
+          <table id="srlt">
+            <thead>
+              <tr>
+                  <th>ISSN</th>
+                  <th>Title</th>
+                  <th> Notes </th>
+                  <th>Library</th>
+                  <th>Call number</th>
+                  <th>Expiration date</th>
+                  [% IF ( routing && CAN_user_serials_routing ) %]
+                    <th>Routing list</th>
+                  [% END %]
+                  <th>&nbsp;</th>
+                  <th>&nbsp;</th>
+              </tr>
+            </thead>
+            <tfoot>
+              <tr>
+                <td><input type="text" class="filter" data-column_num="0" placeholder="Search ISSN" /></td>
+                <td><input type="text" class="filter" data-column_num="1" placeholder="Search title" /></td>
+                <td><input type="text" class="filter" data-column_num="2" placeholder="Search notes" /></td>
+                <td><input type="text" class="filter" data-column_num="3" placeholder="Search library" /></td>
+                <td><input type="text" class="filter" data-column_num="4" placeholder="Search callnumber" /></td>
+                <td><input type="text" class="filter" data-column_num="5" placeholder="Search expiration date" /></td>
+                [% IF ( routing && CAN_user_serials_routing ) %]<td></td>[% END %]
+                <td></td>
+                <td></td>
+              </tr>
+            </tfoot>
+            <tbody>
+              [% FOREACH subscription IN subscriptions %]
+                <tr>
+                  <td>
+                  [% IF ( subscription.issn ) %][% subscription.issn %]
+                  [% END %]
+                  </td>
+                  <td><a href="/cgi-bin/koha/serials/subscription-detail.pl?subscriptionid=[% subscription.subscriptionid %]" class="button" title="subscription detail">[% subscription.title |html %]</a>
+                  </td>
+                  <td>[% IF ( subscription.notes ) %][% subscription.notes %][% END %]
+                  [% IF ( subscription.internalnotes ) %]([% subscription.internalnotes %])[% END %]
+                  </td>
+                  <td>
+                    [% IF ( subscription.branchname ) %][% subscription.branchname %][% END %]
+                  </td>
+                  <td>
+                    [% IF ( subscription.callnumber ) %][% subscription.callnumber %][% END %]
+                  </td>
+                  <td>
+                    [% IF ( subscription.enddate ) %][% subscription.enddate | $KohaDates %][% END %]
+                  </td>
+                  [% IF ( routing && CAN_user_serials_routing ) %]
+                  <td>
+                    [% IF ( subscription.cannotedit ) %]
+                      &nbsp;
+                    [% ELSE %]
+                      [% IF ( subscription.routingedit ) %]
+                        <a href="/cgi-bin/koha/serials/routing.pl?subscriptionid=[% subscription.subscriptionid %]">Edit</a>
+                        ([% subscription.routingedit %])
+                      [% ELSE %]
+                        <a href="/cgi-bin/koha/serials/routing.pl?subscriptionid=[% subscription.subscriptionid %]&amp;op=new">New</a>
+                      [% END %]
+                    [% END %]
+                  </td>
+                  [% END %]
+                  <td><a href="/cgi-bin/koha/serials/serials-collection.pl?subscriptionid=[% subscription.subscriptionid %]">Issue history</a>
+                  </td>
+                  <td>
+                  [% IF ( subscription.cannotedit ) %]
+                    &nbsp;
+                  [% ELSE %]
+                    [% IF ( CAN_user_serials_receive_serials ) %]<a href="/cgi-bin/koha/serials/serials-edit.pl?subscriptionid=[% subscription.subscriptionid %]&amp;serstatus=1,3,7">Serial receive</a>[% END %]
+                  [% END %]
+                  </td>
+                </tr>
+              [% END %]
+            </tbody>
+          </table>
+        [% ELSE %]
+          There is no subscription for your search.
+        [% END %]
+      [% END %]
+    </div>
+  </div>
+
+  <div class="yui-b">
+    [% INCLUDE 'serials-menu.inc' %]
+    [% IF ( done_searched ) %]
+    <div id="advsearch">
+        <form action="/cgi-bin/koha/serials/serials-search.pl" method="get">
+          <fieldset class="brief">
+            <h4>Search subscriptions</h4>
+              <ol>
+                <li>
+                  <label for="issn">ISSN:</label>
+                  <input type="text" id="issn" name="ISSN_filter" value="[% ISSN_filter %]" />
+                </li>
+                <li>
+                  <label for="title">Title:</label>
+                  <input type="text" id="title" name="title_filter" value="[% title_filter %]" />
+                </li>
+                [% IF ( marcflavour == "UNIMARC" ) %]
+                <li>
+                  <label for="ean">EAN:</label>
+                  <input type="text" id="ean" name="EAN_filter" value="[% EAN_filter %]" />
+                </li>
+                [% END %]
+                <li>
+                  <label for="publisher">Publisher:</label>
+                  <input type="text" id="publisher" name="publisher_filter" value="[% publisher_filter %]" />
+                </li>
+                <li>
+                  <label for="bookseller">Bookseller:</label>
+                  <input type="text" id="bookseller" name="bookseller_filter" value="[% bookseller_filter %]" />
+                </li>
+                <li>
+                  <label for="branch">Branch:</label>
+                  <select id="branch" name="branch_filter">
+                    <option value="">All</option>
+                    [% FOREACH branch IN branches_loop %]
+                      [% IF ( branch.selected ) %]
+                        <option selected="selected" value="[% branch.branchcode %]">[% branch.branchname %]</option>
+                      [% ELSE %]
+                        <option value="[% branch.branchcode %]">[% branch.branchname %]</option>
+                      [% END %]
+                    [% END %]
+                  </select>
+                </li>
+              </ol>
+              <input type="hidden" name="searched" value="1" />
+              <fieldset class="action">
+                <input type="submit" value="Search" />
+              </fieldset>
+            </div>
+          </fieldset>
+        </form>
+      [% END %]
+  </div>
+</div>
+[% INCLUDE 'intranet-bottom.inc' %]
index 1afd0c1..44a2d8f 100644 (file)
@@ -126,6 +126,40 @@ $(document).ready(function() {
      </div>
 </div>
 </div>
+    [% IF ( show_acquisition_details ) %]
+        <div id="acquisition_details">
+            <h2>Acquisition details</h2>
+            <table>
+                <thead>
+                    <tr><th></th><th>Price exc. taxes</th><th>Price inc. taxes</th><th>fund</th><th></th></tr>
+                </thead>
+                <tbody>
+                    <tr>
+                        <td>Ordered amount</td>
+                        <td>[% valuegste_ordered %]</td>
+                        <td>[% valuegsti_ordered %]</td>
+                        <td>[% budget_name_ordered %]</td>
+                        <td>
+                            [% IF ( ordered_exists ) %]
+                                <a href="/cgi-bin/koha/acqui/basket.pl?basketno=[% basketno %]">See basket informations</a>
+                            [% END %]
+                        </td>
+                    </tr>
+                    <tr>
+                        <td>Spent amount</td>
+                        <td>[% valuegste_spent %]</td>
+                        <td>[% valuegsti_spent %]</td>
+                        <td>[% budget_name_spent %]</td>
+                        <td>
+                            [% IF ( spent_exists ) %]
+                                <a href="/cgi-bin/koha/acqui/invoice.pl?invoicenumber=[% invoicenumber %]">See invoice informations</a>
+                            [% END %]
+                        </td>
+                    </tr>
+                </tbody>
+            </table>
+        </div>
+    [% END %]
     <div id="subscription_planning">
     <div class="yui-g">
     <div class="rows">
index 88fa8fb..5ad1866 100644 (file)
@@ -31,7 +31,7 @@
         [% END %]
     </table>
 [% ELSE %]
-    <p>There are no patrons subsribed to this subscription serial alert.</p>
+    <p>There are no patrons subscribed to this subscription serial alert.</p>
 [% END %]
 
 </div>
@@ -41,4 +41,4 @@
 [% INCLUDE 'serials-menu.inc' %]
 </div>
 </div>
-[% INCLUDE 'intranet-bottom.inc' %]
\ No newline at end of file
+[% INCLUDE 'intranet-bottom.inc' %]
index edaea79..fb73fd1 100644 (file)
@@ -392,8 +392,8 @@ $(document).ready(function() { calcNewsuggTotal(); });
         <thead>
             <tr><th>&nbsp;</th>
             <th>Suggestion</th>
-            <th>Suggested by /on</th>
-            <th>Managed by /on</th>
+            <th>Suggested by on</th>
+            <th>Managed by on</th>
             <th>Library</th>
             <th>Budget</th>
             <th>Status</th></tr>
@@ -415,11 +415,11 @@ $(document).ready(function() { calcNewsuggTotal(); });
                 </td>
                 <td>
                     [% IF ( suggestions_loo.emailsuggestedby ) %]<a href="mailto:[% suggestions_loo.emailsuggestedby %]">[% END %][% suggestions_loo.surnamesuggestedby %][% IF ( suggestions_loo.firstnamesuggestedby ) %], [% suggestions_loo.firstnamesuggestedby %][% END %] [% IF ( suggestions_loo.emailsuggestedby ) %]</a>[% END %]
-                    [% IF ( suggestions_loo.suggesteddate ) %] / [% suggestions_loo.suggesteddate %][% END %]
+                    [% IF ( suggestions_loo.suggesteddate ) %] - [% suggestions_loo.suggesteddate %][% END %]
                 </td>
                 <td>
                     [% IF ( suggestions_loo.emailmanagedby ) %]<a href="mailto:[% suggestions_loo.emailmanagedby %]">[% END %][% suggestions_loo.surnamemanagedby %][% IF ( suggestions_loo.firstnamemanagedby ) %], [% suggestions_loo.firstnamemanagedby %][% END %] [% IF ( suggestions_loo.emailmanagedby ) %]</a>[% END %]
-                    [% IF ( suggestions_loo.manageddate ) %], [% suggestions_loo.manageddate %][% END %]
+                    [% IF ( suggestions_loo.manageddate ) %] - [% suggestions_loo.manageddate %][% END %]
                 </td>
                 <td>
                     [% suggestions_loo.branchcode %]
index 3d511ea..e3f6b29 100644 (file)
@@ -65,6 +65,8 @@ for( x=0; x<allColumns.length; x++ ){
 
 
 <form name="f" action="batchMod.pl" method="post">
+     <input type="hidden" name="src" id="src" value="[% src %]" />
+     <input type="hidden" name="biblionumber" id="biblionumber" value="[% biblionumber %]" />
      <input type="hidden" name="op" value="[% op %]" />
      <input type="hidden" name="uploadedfileid" id="uploadedfileid" value="" />
      <input type="hidden" name="completedJobID" id="completedJobID" value="" />
@@ -175,7 +177,13 @@ for( x=0; x<allColumns.length; x++ ){
        </div>
        [% END %]
 
-       <p><a href="/cgi-bin/koha/tools/batchMod.pl?del=1">Return to batch item deletion</a></p>
+    <p>
+        [% IF ( src == 'CATALOGUING') %]
+           <a href="/cgi-bin/koha/catalogue/detail.pl?biblionumber=[% biblionumber %]">Done</a>
+        [% ELSE %]
+           <a href="/cgi-bin/koha/tools/batchMod.pl?del=1">Return to batch item deletion</a>
+        [% END %]
+    </p>
 [% END %]
     </div>
     </div>
index 4c7198e..551ff40 100644 (file)
@@ -14,33 +14,39 @@ var allColumns = new Array([% FOREACH item_header_loo IN item_header_loop %]'[%
 for( x=0; x<allColumns.length; x++ ){
   allColumns[x] = Number(allColumns[x]) + 2;
 }
-$("#itemst").tablesorter({ widgets : ['zebra'], headers: {0:{sorter: false}} });
-$("#selectallbutton").click(function() {
-    $("#itemst").find("input:checkbox").each(function() {
- $(this).attr("checked", "checked");
-    });
+$(document).ready(function(){
+  $("#itemst").tablesorter({ widgets : ['zebra'], headers: {0:{sorter: false}} });
+  $("#selectallbutton").click(function() {
+      $("#itemst").find("input:checkbox").each(function() {
+   $(this).attr("checked", "checked");
+      });
+  });
+  $("#clearallbutton").click(function() {
+      $("#itemst").find("input:checkbox").each(function() {
+   $(this).removeAttr("checked");
+      });
+  });
+  $("input[name='disable_input']").click(function() {
+      var row = $(this).attr("id");
+      row = row.replace("row","hint");
+      var subfield = $(this).next();
+      if ($(this).is(":checked")){
+          $(this).val($(this).siblings("[name='subfield']").val());
+          $(subfield).attr('disabled',true);
+          $("#"+row).html(_("This subfield will be deleted"));
+      } else {
+          $(subfield).removeAttr('disabled');
+          $("#"+row).html("");
+      }
+  });
 });
-$("#clearallbutton").click(function() {
-    $("#itemst").find("input:checkbox").each(function() {
- $(this).removeAttr("checked");
-    });
-});
-$("input[name='disable_input']").click(function() {
-    if ($(this).is(":checked")){
- $(this).val($(this).siblings("[name='subfield']").val());
- $(this).siblings().attr('disabled',true);
-    }
-    else {
- $(this).siblings().removeAttr('disabled');
-    }
-});
-
 //]]>
 </script>
 <script type="text/javascript" src="[% themelang %]/js/pages/batchMod.js"></script>
 <!--[if IE]>
 <style type="text/css">#selections { display: none; }</style>
 <![endif]-->
+<style type="text/css">input[type=checkbox]{ margin : 0 .5em; }</style>
 <link type="text/css" rel="stylesheet" href="[% themelang %]/css/addbiblio.css" />
 </head>
 <body id="tools_batchMod-edit" class="tools">
@@ -138,17 +144,20 @@ $("input[name='disable_input']").click(function() {
 
 <div id="cataloguing_additem_newitem">
         <h2>Edit Items</h2>
-        <div class="hint">Checking the box right next the subfield label will disable the entry and delete the values of that subfield on all selected items</div>
+        <div class="hint">Checking the box right next the subfield label will disable the entry and delete the subfield on all selected items. Leave fields blank to make no change.</div>
   <fieldset class="rows">
   <ol>
         [% FOREACH ite IN item %]
                <li><div class="subfield_line" style="[% ite.visibility %]" id="subfield[% ite.tag %][% ite.subfield %][% ite.random %]">
-               <label>[% ite.subfield %] - 
-          [% IF ( ite.mandatory ) %]<b>[% END %]
+              [% IF ( ite.mandatory ) %]
+              <label class="required" for="tag_[% ite.tag %]_subfield_[% ite.subfield %]_[% ite.random %]">
+              [% ELSE %]
+              <label for="tag_[% ite.tag %]_subfield_[% ite.subfield %]_[% ite.random %]">
+              [% END %]
+              [% ite.subfield %] -
           [% ite.marc_lib %]
-          [% IF ( ite.mandatory ) %] *</b>[% END %]
          </label>
-                <input type="checkbox" title="check to delete subfield [% ite.subfield %]" name="disable_input" value="[% ite.subfield %]" />
+                [% UNLESS ( ite.mandatory ) %]<input type="checkbox" id="row[% ite.tag %][% ite.subfield %][% ite.random %]" title="Check to delete subfield [% ite.subfield %]" name="disable_input" value="[% ite.subfield %]" />[% ELSE %]<span class="required">Required</span>[% END %]
                 [% ite.marc_value %]
                 <input type="hidden" name="tag"       value="[% ite.tag %]" />
                 <input type="hidden" name="subfield"       value="[% ite.subfield %]" />
@@ -156,7 +165,7 @@ $("input[name='disable_input']").click(function() {
                 [% IF ( ite.repeatable ) %]
                     <span class="buttonPlus" onclick="CloneSubfield('subfield[% ite.tag %][% ite.subfield %][% ite.random %]')">+</span>
                 [% END %]
-   
+                <span class="hint" id="hint[% ite.tag %][% ite.subfield %][% ite.random %]"></span>
             </div></li>
         [% END %]
     </ol>
index 798ab83..b5072da 100644 (file)
@@ -107,8 +107,8 @@ $(document).ready(function() {
         <input id="strip_nonlocal_items" type="checkbox" name="strip_nonlocal_items" />
         </li>
         <li>
-        <label for="dont_export_fields">Don't export fields</label>
-        <input id="dont_export_fields" type="text" name="dont_export_fields" />
+        <label for="export_remove_fields">Don't export fields</label>
+        <input id="export_remove_fields" type="text" name="export_remove_fields" value="[% export_remove_fields %]" />
         separate by a blank. (e.g., 100a 200 606)
         </li></ol>
     </fieldset>
@@ -166,8 +166,8 @@ $(document).ready(function() {
     <legend>Options</legend>
         <ol>
         <li>
-            <label for="dont_export_fields">Don't export fields</label>
-            <input id="dont_export_fields" type="text" name="dont_export_fields" />
+            <label for="export_remove_fields">Don't export fields</label>
+            <input id="export_remove_fields" type="text" name="export_remove_fields" />
             separate by a blank. (e.g., 100a 200 606)
         </li></ol>
     </fieldset>
index 9993c28..fa7904f 100644 (file)
                        $(this).parent().find(".hint").toggle(); return false;
                });
         $("#dateofrange").datepicker();
+        $("#datecancelrange").datepicker();
                $("#dateofrange").each(function () { this.value = "" });
+        $("#datecancelrange").each(function () { this.value = "" });
         $("#jcalendar-container").datepicker({
           beforeShowDay: function(thedate) {
             var day = thedate.getDate();
@@ -276,7 +278,7 @@ td.repeatableyearly a.ui-state-default, .repeatableyearly {  background:  #FFFF9
                                <input type="hidden" id="showBranchName" name="showBranchName" />
                        </li>
                        <li>
-                               <strong>Date:</strong>
+                               <strong>From Date:</strong>
                                <span id="showDaynameOutput"></span>, 
                                
                                [% IF ( dateformat_us ) %]<span id="showMonthOutput"></span>/<span id="showDayOutput"></span>/<span id="showYearOutput"></span>[% ELSIF ( dateformat_metric ) %]<span id="showDayOutput"></span>/<span id="showMonthOutput"></span>/<span id="showYearOutput"></span>[% ELSE %]<span id="showYearOutput"></span>/<span id="showMonthOutput"></span>/<span id="showDayOutput"></span>[% END %]
@@ -287,6 +289,10 @@ td.repeatableyearly a.ui-state-default, .repeatableyearly {  background:  #FFFF9
                                <input type="hidden" id="showMonth" name="showMonth" />
                                <input type="hidden" id="showYear" name="showYear" />
                        </li>
+            <li class="dateinsert">
+                <b>To Date : </b>
+                <input type="text" id="datecancelrange" name="datecancelrange" size="20" value="[% datecancelrange %]" class="datepicker"/>
+            </li>
                        <li><label for="showTitle">Title: </label><input type="text" name="showTitle" id="showTitle" size="35" /></li>
                    <!-- showTitle is necessary for exception radio button to work properly --> 
                                <label for="showDescription">Description:</label>
@@ -297,13 +303,29 @@ td.repeatableyearly a.ui-state-default, .repeatableyearly {  background:  #FFFF9
                                <a href="#" class="helptext">[?]</a>
                                <div class="hint">You can make an exception for this holiday rule. This means that you will be able to say that for a repeatable holiday there is one day which is going to be an exception.</div>
                        </div></li>
+            <li class="radio"><input type="radio" name="showOperation" id="showOperationExcRange" value="exceptionrange" />
+                <label for="newOperationFieldException">Generate exceptions on a range of dates.</label>
+                <a href="#" class="helptext">[?]</a>
+                <div class="hint">You can make an exception on a range of dates repeated yearly.</div>
+            </li>
                        <li class="radio"><input type="radio" name="showOperation" id="showOperationDel" value="delete" /> <label for="showOperationDel" id="showOperationDelLabel">Delete this holiday</label>
                                <a href="#" class="helptext">[?]</a>
-                               <div class="hint">This will delete this holiday rule. If it is a repeatable holiday, this option checks for posible exceptions. If an exception exists, this option will remove the exception and set the date to a regular holiday.</div></li>
+                               <div class="hint">This will delete this holiday rule. If it is a repeatable holiday, this option checks for possible exceptions. If an exception exists, this option will remove the exception and set the date to a regular holiday.</div></li>
+            <li class="radio"><input type="radio" name="showOperation" id="showOperationDelRange" value="deleterange" /> <label for="showOperationDelRange" id="showOperationDelLabelRange">Delete the single holidays on a range</label>.
+                <a href="#" class="helptext">[?]</a>
+                <div class="hint">This will delete the single holidays rules only. The repeatable holidays and exceptions will not be deleted.</div>
+            </li>
+            <li class="radio"><input type="radio" name="showOperation" id="showOperationDelRangeRepeat" value="deleterangerepeat" /> <label for="showOperationDelRangeRepeat" id="showOperationDelLabelRangeRepeat">Delete the repeated holidays on a range</label>.
+                <a href="#" class="helptext">[?]</a>
+                <div class="hint">This will delete the repeated holidays rules only. The repeatable holidays will be deleted but not the exceptions.</div>
+            </li>
+            <li class="radio"><input type="radio" name="showOperation" id="showOperationDelRangeRepeatExcept" value="deleterangerepeatexcept" /> <label for="showOperationDelRangeRepeatExcept" id="showOperationDelLabelRangeRepeatExcept">Delete the exceptions on a range</label>.
+                <a href="#" class="helptext">[?]</a>
+                <div class="hint">This will delete the exceptions inside a given range. Be careful about your scope range if it is oversized you could slow down Koha.</div>
+            </li>
                        <li class="radio"><input type="radio" name="showOperation" id="showOperationEdit" value="edit" checked="checked" /> <label for="showOperationEdit">Edit this holiday</label>
-                                               <a href="#" class="helptext">[?]</a>
-                                               <div class="hint">This will save changes to the holiday's title and description. If the information for a repeatable holiday is modified, it affects all of the dates on which the holiday is repeated.</div></li>
-
+                <a href="#" class="helptext">[?]</a>
+                <div class="hint">This will save changes to the holiday's title and description. If the information for a repeatable holiday is modified, it affects all of the dates on which the holiday is repeated.</div></li>
                        </ol>
                        <fieldset class="action">
                                <input type="submit" name="submit" value="Save" />
@@ -363,12 +385,12 @@ td.repeatableyearly a.ui-state-default, .repeatableyearly {  background:  #FFFF9
             <li class="radio"><input type="radio" name="newOperation" id="newOperationField" value="holidayrange" />
                             <label for="newOperationField">Holidays on a range</label>.
                             <a href="#" class="helptext">[?]</a>
-                            <div class="hint">Make a single holiday on a range. For example, selecting August 1st, 2012  and August 10st, 2012 will make all days between 1st and 10st holiday, but will not affect August 1st-10st in other years.</div>
+                            <div class="hint">Make a single holiday on a range. For example, selecting August 1st, 2012  and August 10st, 2012 will make all days between 1st and 10st holiday, but will not affect August 1-10 in other years.</div>
                             </li>
             <li class="radio"><input type="radio" name="newOperation" id="newOperationFieldyear" value="holidayrangerepeat" />
                             <label for="newOperationFieldyear">Holidays repeated yearly on a range</label>.
                             <a href="#" class="helptext">[?]</a>
-                            <div class="hint">Make a single holiday on a range repeated yearly. For example, selecting August 1st, 2012  and August 10st, 2012 will make all days between 1st and 10st holiday, and will affect August 1st-10st in other years.</div>
+                            <div class="hint">Make a single holiday on a range repeated yearly. For example, selecting August 1st, 2012  and August 10st, 2012 will make all days between 1st and 10st holiday, and will affect August 1-10 in other years.</div>
                             </li>
                                <li class="radio">
                                <input type="checkbox" name="allBranches" id="allBranches" />
index 2a9deda..8265b50 100644 (file)
@@ -1,3 +1,22 @@
+[% BLOCK final_match_link %]
+    [% IF ( record.record_type == 'biblio' ) %]
+        <a href="/cgi-bin/koha/catalogue/detail.pl?biblionumber=[% record.final_match_id %]">[% record.final_match_id %]</a>
+    [% ELSIF ( record.record_type == 'auth' ) %]
+        <a href="/cgi-bin/koha/authorities/detail.pl?authid=[% record.final_match_id %]">[% record.final_match_id %]</a>
+    [% END %]
+[% END %]
+[% BLOCK match_link %]
+    [% IF ( record_lis.match_id ) %]
+        <tr>
+            <td />
+            [% IF ( record.record_type == 'biblio' ) %]
+                <td class="highlight" colspan="4">Matches biblio [% record_lis.match_id %] (score = [% record_lis.match_score %]): <a href="/cgi-bin/koha/catalogue/detail.pl?biblionumber=[% record_lis.match_id %]">[% record_lis.match_citation %]</a></td>
+            [% ELSIF ( record.record_type == 'auth' ) %]
+                <td class="highlight" colspan="4">Matches authority [% record_lis.match_id %] (score = [% record_lis.match_score %]): <a href="/cgi-bin/koha/authorities/detail.pl?authid=[% record_lis.match_id %]">[% record_lis.match_citation %]</a></td>
+            [% END %]
+        </tr>
+    [% END %]
+[% END %]
 [% INCLUDE 'doc-head-open.inc' %]
 <title>Koha &rsaquo; Tools &rsaquo; Manage staged MARC records
 [% IF ( import_batch_id ) %]
@@ -107,7 +126,8 @@ $(document).ready(function(){
 <fieldset class="rows" id="staged-record-matching-rules">
   <ol>
     <li><span class="label">File name:</span> [% file_name %]</li>
-    <li><span class="label">Comments:</span> [% IF ( comments ) %][% comments %](none)[% END %]</li>
+    <li><span class="label">Comments:</span> [% IF ( comments ) %][% comments %][% ELSE %](none)[% END %]</li>
+    <li><span class="label">Type:</span> [% IF ( record_type == 'auth' ) %]Authority records[% ELSE %]Bibliographic records[% END %]</li>
     <li><span class="label">Staged:</span> [% upload_timestamp %]</li>
     <li><span class="label">Status:</span> [% import_status %]</li>
     <li> 
@@ -218,9 +238,10 @@ Page
     <th>#</th>
     <th>File name</th>
     <th>Comments</th>
+    <th>Type</th>
     <th>Status</th>
     <th>Staged</th>
-    <th># Bibs</th>
+    <th># Records</th>
     <th># Items</th>
     <th>Action</th>
   </tr>
@@ -229,9 +250,10 @@ Page
     <td>[% batch_lis.import_batch_id %]</td>
     <td><a href="[% batch_lis.script_name %]?import_batch_id=[% batch_lis.import_batch_id %]">[% batch_lis.file_name %]</a></td>
     <td>[% batch_lis.comments %]</td>
+    <td>[% IF ( batch_lis.record_type == 'auth' ) %]Authority[% ELSE %]Bibliographic[% END %]</td>
     <td>[% batch_lis.import_status %]</td>
     <td>[% batch_lis.upload_timestamp %]</td>
-    <td>[% batch_lis.num_biblios %]</td>
+    <td>[% batch_lis.num_records %]</td>
     <td>[% batch_lis.num_items %][% IF ( batch_lis.num_items ) %] <a href="[% batch_lis.script_name %]?import_batch_id=[% batch_lis.import_batch_id %]&amp;op=create_labels">(Create label batch)</a>[% END %]</td>
     <td>[% IF ( batch_lis.can_clean ) %]
           <form method="post" action="[% batch_lis.script_name %]" name="clean_batch_[% batch_lis.import_batch_id %]" id="clean_batch_[% batch_lis.import_batch_id %]" >
@@ -258,7 +280,7 @@ Page
   [% END %]
 [% END %]
 
-[% IF ( biblio_list ) %]
+[% IF ( record_list ) %]
   [% IF ( pages ) %]
 <div class="pages">
 Page 
@@ -277,26 +299,21 @@ Page
     <th>Citation</th>
     <th>Status</th>
     <th>Match?</th>
-    <th>Bib</th>
+    <th>Record</th>
 
   </tr>
-  [% FOREACH biblio_lis IN biblio_list %]
+  [% FOREACH record_lis IN record_list %]
   [% UNLESS ( loop.odd ) %]<tr class="highlight">[% ELSE %]<tr>[% END %]
-    <td>[% biblio_lis.record_sequence %]</td>
-    <td><a href="/cgi-bin/koha/catalogue/showmarc.pl?importid=[% biblio_lis.import_record_id %]" rel="gb_page_center[600,500]">[% biblio_lis.citation %]</a></td>
-    <td>[% biblio_lis.status %]</td>
-    <td>[% biblio_lis.overlay_status %]</td>
-    <td>[% IF ( biblio_lis.final_match_biblionumber ) %]
-        <a href="/cgi-bin/koha/catalogue/detail.pl?biblionumber=[% biblio_lis.final_match_biblionumber %]">[% biblio_lis.final_match_biblionumber %]</a>
+    <td>[% record_lis.record_sequence %]</td>
+    <td><a href="/cgi-bin/koha/catalogue/showmarc.pl?importid=[% record_lis.import_record_id %]" rel="gb_page_center[600,500]">[% record_lis.citation %]</a></td>
+    <td>[% record_lis.status %]</td>
+    <td>[% record_lis.overlay_status %]</td>
+    <td>[% IF ( record_lis.final_match_id ) %]
+        [% PROCESS final_match_link record=record_lis %]
         [% END %]
     </td>
   </tr>
-    [% IF ( biblio_lis.match_biblionumber ) %]
-    <tr>
-      <td />
-      <td class="highlight" colspan="4">Matches biblio [% biblio_lis.match_biblionumber %] (score = [% biblio_lis.match_score %]): <a href="/cgi-bin/koha/catalogue/detail.pl?biblionumber=[% biblio_lis.match_biblionumber %]">[% biblio_lis.match_citation %]</a></td>
-    </tr>
-    [% END %]
+    [% PROCESS match_link record=record_lis %]
   [% END %]
 </table>
   [% IF ( pages ) %]
index 478527c..4846872 100644 (file)
 //<![CDATA[
 $(document).ready(function(){
        $("#processfile").hide();
+    $("#record_type").change(function() {
+        if ($(this).val() == 'auth') {
+            $('#items').hide();
+        } else {
+            $('#items').show();
+        }
+    });
 });
 function CheckForm(f) {
     if ($("#fileToUpload").value == '') {
@@ -40,6 +47,12 @@ function CheckForm(f) {
 [% IF ( uploadmarc ) %]
 <p>MARC staging results :</p>
 <ul>
+    [% SWITCH (record_type) %]
+    [% CASE 'biblio' %]
+        <li>Processing bibliographic records</li>
+    [% CASE 'auth' %]
+        <li>Processing authority records</li>
+    [% END %]
        <li>[% total %]  records in file</li>
        <li>[% import_errors %] records not staged because of MARC error</li>
        <li>[% staged %] records staged</li>
@@ -62,8 +75,8 @@ function CheckForm(f) {
 </ul>
 [% ELSE %]
 <ul>
-       <li>Select a MARC file to stage in the import reservoir.  It will be parsed, and each valid record staged for later import into the catalog.</li>
-       <li>You can enter a name for this import. It may be useful, when creating a biblio, to remember where the suggested MARC data comes from!</li>
+    <li>Select a MARC file to stage in the import reservoir.  It will be parsed, and each valid record staged for later import into the catalog.</li>
+    <li>You can enter a name for this import. It may be useful, when creating a record, to remember where the suggested MARC data comes from!</li>
 </ul>
 <form method="post" action="[% SCRIPT_NAME %]" id="uploadfile" enctype="multipart/form-data">
 <fieldset class="rows" id="uploadform">
@@ -92,6 +105,13 @@ function CheckForm(f) {
                <input type="text" id="comments" name="comments" />
                
        </li>
+    <li>
+        <label for='record_type'>Record type:</label>
+        <select name='record_type' id='record_type'>
+            <option value='biblio' selected='selected'>Bibliographic</option>
+            <option value='auth'>Authority</option>
+        </select>
+    </li>
        <li>
                <label for="encoding">Character encoding: </label>
             <select name="encoding" id="encoding"><option value="utf8" selected="selected">UTF-8 (Default)</option><option value="MARC-8">MARC 8</option><option value="ISO_5426">ISO 5426</option><option value="ISO_6937">ISO 6937</option><option value=ISO_8859-1">ISO 8859-1</option><option value="EUC-KR">EUC-KR</option></select>
@@ -108,7 +128,7 @@ function CheckForm(f) {
        [% END %]
     </select>
     </li>
-      <li><label for="overlay_action">Action if matching bibliographic record found: </label>
+      <li><label for="overlay_action">Action if matching record found: </label>
            [% INCLUDE 'tools-overlay-action.inc' %]
       </li>
       <li><label for="nomatch_action">Action if no match is found: </label>
@@ -116,7 +136,7 @@ function CheckForm(f) {
       </li>
     </ol>
   </fieldset>
-  <fieldset class="rows">
+  <fieldset class="rows" id="items">
     <legend>Check for embedded item record data?</legend>
     <ol>
       <li class="radio">
index c7fb89c..2e1754b 100644 (file)
@@ -9,7 +9,7 @@
   xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
   exclude-result-prefixes="marc items">
     <xsl:import href="MARC21slimUtils.xsl"/>
-    <xsl:output method = "xml" indent="yes" omit-xml-declaration = "yes" />
+    <xsl:output method = "html" indent="yes" omit-xml-declaration = "yes" />
     <xsl:template match="/">
             <xsl:apply-templates/>
     </xsl:template>
         </span>
         </xsl:if>
         <xsl:if test="marc:datafield[@tag=505]">
-        <xsl:for-each select="marc:datafield[@tag=505]">
-        <span class="results_summary contents">
-        <xsl:choose>
-        <xsl:when test="@ind1=0">
-            <span class="label">Contents:</span>
-        </xsl:when>
-        <xsl:when test="@ind1=1">
-            <span class="label">Incomplete contents:</span>
-        </xsl:when>
-        <xsl:when test="@ind1=1">
-            <span class="label">Partial contents:</span>
-        </xsl:when>
-        </xsl:choose>  
-        <xsl:choose>
-        <xsl:when test="@ind2=0">
-            <xsl:call-template name="subfieldSelect">
-                <xsl:with-param name="codes">tru</xsl:with-param>
-            </xsl:call-template>
-        </xsl:when>
-        <xsl:otherwise>
-            <xsl:call-template name="subfieldSelect">
-                <xsl:with-param name="codes">au</xsl:with-param>
-            </xsl:call-template>
-        </xsl:otherwise>
-        </xsl:choose>
-        </span>
-        </xsl:for-each>
+            <div class="results_summary contents">
+            <xsl:choose>
+            <xsl:when test="marc:datafield[@tag=505]/@ind1=0">
+                <span class="label">Contents:</span>
+            </xsl:when>
+            <xsl:when test="marc:datafield[@tag=505]/@ind1=1">
+                <span class="label">Incomplete contents:</span>
+            </xsl:when>
+            <xsl:when test="marc:datafield[@tag=505]/@ind1=2">
+                <span class="label">Partial contents:</span>
+            </xsl:when>
+            </xsl:choose>
+                <xsl:for-each select="marc:datafield[@tag=505]">
+                    <div class='contentblock'>
+                        <xsl:choose>
+                        <xsl:when test="@ind2=0">
+                            <xsl:call-template name="subfieldSelectSpan">
+                                <xsl:with-param name="codes">tru</xsl:with-param>
+                            </xsl:call-template>
+                        </xsl:when>
+                        <xsl:otherwise>
+                            <xsl:call-template name="subfieldSelectSpan">
+                                <xsl:with-param name="codes">atru</xsl:with-param>
+                            </xsl:call-template>
+                        </xsl:otherwise>
+                        </xsl:choose>
+                    </div>
+                </xsl:for-each>
+            </div>
         </xsl:if>
 
         <!-- 773 -->
index b4c4cde..3714dab 100644 (file)
@@ -7,7 +7,7 @@
   xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
   exclude-result-prefixes="marc items">
     <xsl:import href="MARC21slimUtils.xsl"/>
-    <xsl:output method = "xml" indent="yes" omit-xml-declaration = "yes" />
+    <xsl:output method = "html" indent="yes" omit-xml-declaration = "yes" />
     <xsl:key name="item-by-status" match="items:item" use="items:status"/>
     <xsl:key name="item-by-status-and-branch" match="items:item" use="concat(items:status, ' ', items:homebranch)"/>
 
     <xsl:choose>
     <xsl:when test="marc:datafield[@tag=100] or marc:datafield[@tag=110] or marc:datafield[@tag=111] or marc:datafield[@tag=700] or marc:datafield[@tag=710] or marc:datafield[@tag=711]">
     <p class="author">by
-    <xsl:for-each select="marc:datafield[@tag=100 or @tag=700]">
+    <xsl:for-each select="marc:datafield[(@tag=100 or @tag=700) and @ind1!='z']">
     <a>
     <xsl:choose>
         <xsl:when test="marc:subfield[@code=9] and $UseAuthoritiesForTracings='1'">
     <xsl:when test="position()=last()"><xsl:text>. </xsl:text></xsl:when><xsl:otherwise><xsl:text>; </xsl:text></xsl:otherwise></xsl:choose>
     </xsl:for-each>
 
-    <xsl:for-each select="marc:datafield[@tag=110 or @tag=710]">
+    <xsl:for-each select="marc:datafield[(@tag=110 or @tag=710) and @ind1!='z']">
     <a>
     <xsl:choose>
         <xsl:when test="marc:subfield[@code=9] and $UseAuthoritiesForTracings='1'">
     <xsl:choose><xsl:when test="position()=last()"><xsl:text> </xsl:text></xsl:when><xsl:otherwise><xsl:text>; </xsl:text></xsl:otherwise></xsl:choose>
     </xsl:for-each>
 
-    <xsl:for-each select="marc:datafield[@tag=111 or @tag=711]">
+    <xsl:for-each select="marc:datafield[(@tag=111 or @tag=711) and @ind1!='z']">
         <xsl:choose>
         <xsl:when test="marc:subfield[@code='n']">
            <xsl:text> </xsl:text>
index 8c0618b..151fc7b 100644 (file)
                <xsl:value-of select="substring($str,1,string-length($str)-string-length($delimeter))"/>
        </xsl:template>
 
+    <xsl:template name="subfieldSelectSpan">
+        <xsl:param name="codes"/>
+        <xsl:param name="delimeter"><xsl:text> </xsl:text></xsl:param>
+        <xsl:param name="subdivCodes"/>
+        <xsl:param name="subdivDelimiter"/>
+        <xsl:param name="prefix"/>
+        <xsl:param name="suffix"/>
+            <xsl:for-each select="marc:subfield">
+                <xsl:if test="contains($codes, @code)">
+                    <span>
+                        <xsl:attribute name="class"><xsl:value-of select="@code"/></xsl:attribute>
+                        <xsl:if test="contains($subdivCodes, @code)">
+                            <xsl:value-of select="$subdivDelimiter"/>
+                        </xsl:if>
+                        <xsl:value-of select="$prefix"/><xsl:value-of select="text()"/><xsl:value-of select="$suffix"/><xsl:if test="position()!=last()"><xsl:value-of select="$delimeter"/></xsl:if>
+                    </span>
+                </xsl:if>
+            </xsl:for-each>
+    </xsl:template>
+
        <xsl:template name="buildSpaces">
                <xsl:param name="spaces"/>
                <xsl:param name="char"><xsl:text> </xsl:text></xsl:param>
index c28116a..25b661e 100644 (file)
@@ -6,7 +6,7 @@
   xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
   exclude-result-prefixes="marc items">
     <xsl:import href="NORMARCslimUtils.xsl"/>
-    <xsl:output method = "xml" indent="yes" omit-xml-declaration = "yes" />
+    <xsl:output method = "html" indent="yes" omit-xml-declaration = "yes" />
     <xsl:template match="/">
             <xsl:apply-templates/>
     </xsl:template>
@@ -37,7 +37,8 @@
         <xsl:variable name="controlField008" select="marc:controlfield[@tag=008]"/>
         <xsl:variable name="field019b" select="marc:datafield[@tag=019]/marc:subfield[@code='b']"/>
         <xsl:variable name="biblionumber" select="marc:datafield[@tag=999]/marc:subfield[@code='c']"/>
-        <xsl:variable name="materialTypeCode">
+        <xsl:variable name="typeOf008">
+            <!-- The logic here should be exactly the same for NORMARCslim2intranetDetail.xsl, NORMARCslim2intranetResults.xsl, NORMARCslim2OPACDetail.xsl and NORMARCslim2OPACResults.xsl -->
             <xsl:choose>
                 <xsl:when test="$field019b='b' or $field019b='k' or $field019b='l' or $leader6='b'">Mon</xsl:when>
                 <xsl:when test="$field019b='e' or contains($field019b,'ec') or contains($field019b,'ed') or contains($field019b,'ee') or contains($field019b,'ef') or $leader6='g'">FV</xsl:when>
                 </xsl:when>
             </xsl:choose>
         </xsl:variable>
-        <xsl:variable name="materialTypeLabel">
-                        <xsl:choose>
-                <xsl:when test="$field019b='b' or $field019b='k' or $field019b='l' or $leader6='b'">Bok</xsl:when>
-                <xsl:when test="$field019b='e' or contains($field019b,'ec') or contains($field019b,'ed') or contains($field019b,'ee') or contains($field019b,'ef') or $leader6='g'">Film og video</xsl:when>
-                <xsl:when test="$field019b='c' or $field019b='d' or contains($field019b,'da') or contains($field019b,'db') or contains($field019b,'dc') or contains($field019b,'dd') or contains($field019b,'dg') or contains($field019b,'dh') or contains($field019b,'di') or contains($field019b,'dj') or contains($field019b,'dk') or $leader6='c' or $leader6='d' or $leader6='i' or $leader6='j'">Musikalier</xsl:when>
-                <xsl:when test="$field019b='a' or contains($field019b,'ab') or contains($field019b,'aj') or $leader6='e' or $leader6='f'">Kart</xsl:when>
-                <xsl:when test="$field019b='f' or $field019b='i' or contains($field019b,'ib') or contains($field019b,'ic') or contains($field019b,'fd') or contains($field019b,'ff') or contains($field019b,'fi') or $leader6='k'">Grafisk materiale</xsl:when>
-                <xsl:when test="$field019b='g' or contains($field019b,'gb') or contains($field019b,'gd') or contains($field019b,'ge') or $leader6='m'">Fil</xsl:when>
-                <xsl:when test="$leader6='o'">Kombidokument</xsl:when>
-                <xsl:when test="$field019b='h' or $leader6='r'">Tredimensjonal gjenstand</xsl:when>
-                <xsl:when test="$field019b='j' or $leader6='a'">
-                    <xsl:choose>
-                        <xsl:when test="$leader7='a' or $leader7='c' or $leader7='m' or $leader7='p'">Bok</xsl:when>
-                        <xsl:when test="$field019b='j' or $leader7='b' or $leader7='s'">Periodikum</xsl:when>
-                    </xsl:choose>
-                </xsl:when>
-            </xsl:choose>
-
-        </xsl:variable>
 
         <!-- Tittel og ansvarsopplysninger -->
         <xsl:if test="marc:datafield[@tag=245]">
         </xsl:choose>
 
 
-        <xsl:if test="$materialTypeCode!=''">
-        <span class="results_summary"><span class="label">Materialtype: </span>
-        <xsl:element name="img"><xsl:attribute name="src">/opac-tmpl/prog/famfamfam/<xsl:value-of select="$materialTypeCode"/>.png</xsl:attribute><xsl:attribute name="alt"></xsl:attribute></xsl:element>
-        <xsl:value-of select="$materialTypeLabel"/>
+        <xsl:if test="$typeOf008!=''">
+        <span class="results_summary">
+            <span class="label">Materialtype: </span>
+            <xsl:choose>
+                <xsl:when test="$typeOf008='Mon'"><img src="/intranet-tmpl/prog/img/famfamfam/BK.png" alt="Bok" title="Bok"/> Bok</xsl:when>
+                <xsl:when test="$typeOf008='Per'"><img src="/intranet-tmpl/prog/img/famfamfam/AR.png" alt="Periodika" title="Periodika"/> Periodika</xsl:when>
+                <xsl:when test="$typeOf008='Fil'"><img src="/intranet-tmpl/prog/img/famfamfam/CF.png" alt="Fil" title="Fil"/> Fil</xsl:when>
+                <xsl:when test="$typeOf008='Kar'"><img src="/intranet-tmpl/prog/img/famfamfam/MP.png" alt="Kart" title="Kart"/> Kart</xsl:when>
+                <xsl:when test="$typeOf008='FV'"><img  src="/intranet-tmpl/prog/img/famfamfam/VM.png" alt="Film og video" title="Film og video"/> Film og video</xsl:when>
+                <xsl:when test="$typeOf008='Mus'"><img src="/intranet-tmpl/prog/img/famfamfam/PR.png" alt="Musikktrykk og lydopptak" title="Musikktrykk og lydopptak"/> Musikk</xsl:when>
+                <xsl:when test="$typeOf008='gra'"><img src="/intranet-tmpl/prog/img/famfamfam/GR.png" alt="Grafisk materiale" title="Grafisk materiale"/> Grafisk materiale</xsl:when>
+                <xsl:when test="$typeOf008='kom'"><img src="/intranet-tmpl/prog/img/famfamfam/MX.png" alt="Kombidokumenter" title="Kombidokumenter"/> Kombidokumenter</xsl:when>
+                <xsl:when test="$typeOf008='trd'"><img src="/intranet-tmpl/prog/img/famfamfam/TD.png" alt="Tre-dimensjonale gjenstander" title="Tre-dimensjonale gjenstander"/> Tre-dimensjonale gjenstander</xsl:when>
+            </xsl:choose>
         </span>
         </xsl:if>
 
index 5721e49..e593284 100644 (file)
@@ -7,7 +7,7 @@
   xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
   exclude-result-prefixes="marc items">
     <xsl:import href="MARC21slimUtils.xsl"/>
-    <xsl:output method = "xml" indent="yes" omit-xml-declaration = "yes" />
+    <xsl:output method = "html" indent="yes" omit-xml-declaration = "yes" />
     <xsl:key name="item-by-status" match="items:item" use="items:status"/>
     <xsl:key name="item-by-status-and-branch" match="items:item" use="concat(items:status, ' ', items:homebranch)"/>
 
@@ -33,9 +33,8 @@
         <xsl:variable name="controlField007-01" select="substring($controlField007,2,1)"/>
         <xsl:variable name="controlField008" select="marc:controlfield[@tag=008]"/>
         <xsl:variable name="field019b" select="marc:datafield[@tag=019]/marc:subfield[@code='b']"/>
-
         <xsl:variable name="typeOf008">
-        <!-- Codes with upper case first letter below are from the NORMARC standard, lower case first letter are made up. -->
+            <!-- The logic here should be exactly the same for NORMARCslim2intranetDetail.xsl, NORMARCslim2intranetResults.xsl, NORMARCslim2OPACDetail.xsl and NORMARCslim2OPACResults.xsl -->
             <xsl:choose>
                 <xsl:when test="$field019b='b' or $field019b='k' or $field019b='l' or $leader6='b'">Mon</xsl:when>
                 <xsl:when test="$field019b='e' or contains($field019b,'ec') or contains($field019b,'ed') or contains($field019b,'ee') or contains($field019b,'ef') or $leader6='g'">FV</xsl:when>
     <xsl:choose>
     <xsl:when test="marc:datafield[@tag=100] or marc:datafield[@tag=110] or marc:datafield[@tag=111] or marc:datafield[@tag=700] or marc:datafield[@tag=710] or marc:datafield[@tag=711]">
     <p class="author">av
-    <xsl:for-each select="marc:datafield[@tag=100 or @tag=700]">
+    <xsl:for-each select="marc:datafield[(@tag=100 or @tag=700) and @ind1!='z']">
     <a>
     <xsl:choose>
         <xsl:when test="marc:subfield[@code=9] and $UseAuthoritiesForTracings='1'">
     <xsl:when test="position()=last()"><xsl:text>. </xsl:text></xsl:when><xsl:otherwise><xsl:text>; </xsl:text></xsl:otherwise></xsl:choose>
     </xsl:for-each>
 
-    <xsl:for-each select="marc:datafield[@tag=110 or @tag=710]">
+    <xsl:for-each select="marc:datafield[(@tag=110 or @tag=710) and @ind1!='z']">
     <a>
     <xsl:choose>
         <xsl:when test="marc:subfield[@code=9] and $UseAuthoritiesForTracings='1'">
     <xsl:choose><xsl:when test="position()=last()"><xsl:text> </xsl:text></xsl:when><xsl:otherwise><xsl:text>; </xsl:text></xsl:otherwise></xsl:choose>
     </xsl:for-each>
 
-    <xsl:for-each select="marc:datafield[@tag=111 or @tag=711]">
+    <xsl:for-each select="marc:datafield[(@tag=111 or @tag=711) and @ind1!='z']">
         <xsl:choose>
         <xsl:when test="marc:subfield[@code='n']">
            <xsl:text> </xsl:text>
 
     <span class="results_summary">
     <xsl:if test="$typeOf008!=''">
-        <span class="label">Type: </span>
-
+        <span class="label">Materialtype: </span>
             <xsl:choose>
-                <xsl:when test="$typeOf008='Mon'"><img src="/opac-tmpl/prog/famfamfam/silk/book.png" alt="Bok" title="Bok"/> Bok</xsl:when>
-                <xsl:when test="$typeOf008='Per'"><img src="/opac-tmpl/prog/famfamfam/silk/newspaper.png" alt="Periodika" title="Periodika"/> Periodika</xsl:when>
-                <xsl:when test="$typeOf008='Fil'"><img src="/opac-tmpl/prog/famfamfam/silk/computer_link.png" alt="Fil" title="Fil"/> Fil</xsl:when>
-                <xsl:when test="$typeOf008='Kar'"><img src="/opac-tmpl/prog/famfamfam/silk/map.png" alt="Kart" title="Kart"/> Kart</xsl:when>
-                <xsl:when test="$typeOf008='FV'"><img src="/opac-tmpl/prog/famfamfam/silk/film.png" alt="Film og video" title="Film og video"/> Film og video</xsl:when>
-                <xsl:when test="$typeOf008='Mus'"><img src="/opac-tmpl/prog/famfamfam/silk/sound.png" alt="Musikktrykk og lydopptak" title="Musikktrykk og lydopptak"/> Musikk</xsl:when>
-                <xsl:when test="$typeOf008='gra'"> Grafisk materiale</xsl:when>
-                <xsl:when test="$typeOf008='kom'"> Kombidokumenter</xsl:when>
-                <xsl:when test="$typeOf008='trd'"> Tre-dimensjonale gjenstander</xsl:when>
+                <xsl:when test="$typeOf008='Mon'"><img src="/intranet-tmpl/prog/img/famfamfam/BK.png" alt="Bok" title="Bok"/> Bok</xsl:when>
+                <xsl:when test="$typeOf008='Per'"><img src="/intranet-tmpl/prog/img/famfamfam/AR.png" alt="Periodika" title="Periodika"/> Periodika</xsl:when>
+                <xsl:when test="$typeOf008='Fil'"><img src="/intranet-tmpl/prog/img/famfamfam/CF.png" alt="Fil" title="Fil"/> Fil</xsl:when>
+                <xsl:when test="$typeOf008='Kar'"><img src="/intranet-tmpl/prog/img/famfamfam/MP.png" alt="Kart" title="Kart"/> Kart</xsl:when>
+                <xsl:when test="$typeOf008='FV'"><img  src="/intranet-tmpl/prog/img/famfamfam/VM.png" alt="Film og video" title="Film og video"/> Film og video</xsl:when>
+                <xsl:when test="$typeOf008='Mus'"><img src="/intranet-tmpl/prog/img/famfamfam/PR.png" alt="Musikktrykk og lydopptak" title="Musikktrykk og lydopptak"/> Musikk</xsl:when>
+                <xsl:when test="$typeOf008='gra'"><img src="/intranet-tmpl/prog/img/famfamfam/GR.png" alt="Grafisk materiale" title="Grafisk materiale"/> Grafisk materiale</xsl:when>
+                <xsl:when test="$typeOf008='kom'"><img src="/intranet-tmpl/prog/img/famfamfam/MX.png" alt="Kombidokumenter" title="Kombidokumenter"/> Kombidokumenter</xsl:when>
+                <xsl:when test="$typeOf008='trd'"><img src="/intranet-tmpl/prog/img/famfamfam/TD.png" alt="Tre-dimensjonale gjenstander" title="Tre-dimensjonale gjenstander"/> Tre-dimensjonale gjenstander</xsl:when>
             </xsl:choose>
     </xsl:if>
     <xsl:if test="string-length(normalize-space($physicalDescription))">
index 4ead40d..5c80f08 100644 (file)
@@ -9,7 +9,7 @@
   exclude-result-prefixes="marc items">
 
 <xsl:import href="UNIMARCslimUtils.xsl"/>
-<xsl:output method = "xml" indent="yes" omit-xml-declaration = "yes" />
+<xsl:output method = "html" indent="yes" omit-xml-declaration = "yes" />
 <xsl:template match="/">
   <xsl:apply-templates/>
 </xsl:template>
index 0ed7bf5..be83929 100644 (file)
@@ -6,7 +6,7 @@
   xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
   exclude-result-prefixes="marc items">
 <xsl:import href="UNIMARCslimUtils.xsl"/>
-<xsl:output method = "xml" indent="yes" omit-xml-declaration = "yes" />
+<xsl:output method = "html" indent="yes" omit-xml-declaration = "yes" />
 <xsl:key name="item-by-status" match="items:item" use="items:status"/>
 <xsl:key name="item-by-status-and-branch" match="items:item" use="concat(items:status, ' ', items:homebranch)"/>
 
diff --git a/koha-tmpl/intranet-tmpl/prog/img/clear-field.png b/koha-tmpl/intranet-tmpl/prog/img/clear-field.png
new file mode 100644 (file)
index 0000000..80287bf
Binary files /dev/null and b/koha-tmpl/intranet-tmpl/prog/img/clear-field.png differ
diff --git a/koha-tmpl/intranet-tmpl/prog/img/clone-field.png b/koha-tmpl/intranet-tmpl/prog/img/clone-field.png
new file mode 100644 (file)
index 0000000..702efb3
Binary files /dev/null and b/koha-tmpl/intranet-tmpl/prog/img/clone-field.png differ
diff --git a/koha-tmpl/intranet-tmpl/prog/img/famfamfam/GR.png b/koha-tmpl/intranet-tmpl/prog/img/famfamfam/GR.png
new file mode 100644 (file)
index 0000000..4a158fe
Binary files /dev/null and b/koha-tmpl/intranet-tmpl/prog/img/famfamfam/GR.png differ
diff --git a/koha-tmpl/intranet-tmpl/prog/img/famfamfam/TD.png b/koha-tmpl/intranet-tmpl/prog/img/famfamfam/TD.png
new file mode 100644 (file)
index 0000000..7851cf3
Binary files /dev/null and b/koha-tmpl/intranet-tmpl/prog/img/famfamfam/TD.png differ
diff --git a/koha-tmpl/intranet-tmpl/prog/img/itemtypeimg/colors/000000.png b/koha-tmpl/intranet-tmpl/prog/img/itemtypeimg/colors/000000.png
new file mode 100644 (file)
index 0000000..c49677f
Binary files /dev/null and b/koha-tmpl/intranet-tmpl/prog/img/itemtypeimg/colors/000000.png differ
diff --git a/koha-tmpl/intranet-tmpl/prog/img/itemtypeimg/colors/006600.png b/koha-tmpl/intranet-tmpl/prog/img/itemtypeimg/colors/006600.png
new file mode 100644 (file)
index 0000000..fe1f139
Binary files /dev/null and b/koha-tmpl/intranet-tmpl/prog/img/itemtypeimg/colors/006600.png differ
diff --git a/koha-tmpl/intranet-tmpl/prog/img/itemtypeimg/colors/3333cc.png b/koha-tmpl/intranet-tmpl/prog/img/itemtypeimg/colors/3333cc.png
new file mode 100644 (file)
index 0000000..99b4dd9
Binary files /dev/null and b/koha-tmpl/intranet-tmpl/prog/img/itemtypeimg/colors/3333cc.png differ
diff --git a/koha-tmpl/intranet-tmpl/prog/img/itemtypeimg/colors/660000.png b/koha-tmpl/intranet-tmpl/prog/img/itemtypeimg/colors/660000.png
new file mode 100644 (file)
index 0000000..c9d1460
Binary files /dev/null and b/koha-tmpl/intranet-tmpl/prog/img/itemtypeimg/colors/660000.png differ
diff --git a/koha-tmpl/intranet-tmpl/prog/img/itemtypeimg/colors/6600cc.png b/koha-tmpl/intranet-tmpl/prog/img/itemtypeimg/colors/6600cc.png
new file mode 100644 (file)
index 0000000..824a29b
Binary files /dev/null and b/koha-tmpl/intranet-tmpl/prog/img/itemtypeimg/colors/6600cc.png differ
diff --git a/koha-tmpl/intranet-tmpl/prog/img/itemtypeimg/colors/663333.png b/koha-tmpl/intranet-tmpl/prog/img/itemtypeimg/colors/663333.png
new file mode 100644 (file)
index 0000000..c9188a1
Binary files /dev/null and b/koha-tmpl/intranet-tmpl/prog/img/itemtypeimg/colors/663333.png differ
diff --git a/koha-tmpl/intranet-tmpl/prog/img/itemtypeimg/colors/6666cc.png b/koha-tmpl/intranet-tmpl/prog/img/itemtypeimg/colors/6666cc.png
new file mode 100644 (file)
index 0000000..971e519
Binary files /dev/null and b/koha-tmpl/intranet-tmpl/prog/img/itemtypeimg/colors/6666cc.png differ
diff --git a/koha-tmpl/intranet-tmpl/prog/img/itemtypeimg/colors/66cc66.png b/koha-tmpl/intranet-tmpl/prog/img/itemtypeimg/colors/66cc66.png
new file mode 100644 (file)
index 0000000..6ef627a
Binary files /dev/null and b/koha-tmpl/intranet-tmpl/prog/img/itemtypeimg/colors/66cc66.png differ
diff --git a/koha-tmpl/intranet-tmpl/prog/img/itemtypeimg/colors/990000.png b/koha-tmpl/intranet-tmpl/prog/img/itemtypeimg/colors/990000.png
new file mode 100644 (file)
index 0000000..ebde602
Binary files /dev/null and b/koha-tmpl/intranet-tmpl/prog/img/itemtypeimg/colors/990000.png differ
diff --git a/koha-tmpl/intranet-tmpl/prog/img/itemtypeimg/colors/996633.png b/koha-tmpl/intranet-tmpl/prog/img/itemtypeimg/colors/996633.png
new file mode 100644 (file)
index 0000000..eb887fb
Binary files /dev/null and b/koha-tmpl/intranet-tmpl/prog/img/itemtypeimg/colors/996633.png differ
diff --git a/koha-tmpl/intranet-tmpl/prog/img/itemtypeimg/colors/999999.png b/koha-tmpl/intranet-tmpl/prog/img/itemtypeimg/colors/999999.png
new file mode 100644 (file)
index 0000000..43fd127
Binary files /dev/null and b/koha-tmpl/intranet-tmpl/prog/img/itemtypeimg/colors/999999.png differ
diff --git a/koha-tmpl/intranet-tmpl/prog/img/itemtypeimg/colors/9999cc.png b/koha-tmpl/intranet-tmpl/prog/img/itemtypeimg/colors/9999cc.png
new file mode 100644 (file)
index 0000000..aef8072
Binary files /dev/null and b/koha-tmpl/intranet-tmpl/prog/img/itemtypeimg/colors/9999cc.png differ
diff --git a/koha-tmpl/intranet-tmpl/prog/img/itemtypeimg/colors/99cc33.png b/koha-tmpl/intranet-tmpl/prog/img/itemtypeimg/colors/99cc33.png
new file mode 100644 (file)
index 0000000..a8bdda4
Binary files /dev/null and b/koha-tmpl/intranet-tmpl/prog/img/itemtypeimg/colors/99cc33.png differ
diff --git a/koha-tmpl/intranet-tmpl/prog/img/itemtypeimg/colors/cc3333.png b/koha-tmpl/intranet-tmpl/prog/img/itemtypeimg/colors/cc3333.png
new file mode 100644 (file)
index 0000000..bfbb87e
Binary files /dev/null and b/koha-tmpl/intranet-tmpl/prog/img/itemtypeimg/colors/cc3333.png differ
diff --git a/koha-tmpl/intranet-tmpl/prog/img/itemtypeimg/colors/cc6666.png b/koha-tmpl/intranet-tmpl/prog/img/itemtypeimg/colors/cc6666.png
new file mode 100644 (file)
index 0000000..7245ce2
Binary files /dev/null and b/koha-tmpl/intranet-tmpl/prog/img/itemtypeimg/colors/cc6666.png differ
diff --git a/koha-tmpl/intranet-tmpl/prog/img/itemtypeimg/colors/cc66cc.png b/koha-tmpl/intranet-tmpl/prog/img/itemtypeimg/colors/cc66cc.png
new file mode 100644 (file)
index 0000000..a6d755e
Binary files /dev/null and b/koha-tmpl/intranet-tmpl/prog/img/itemtypeimg/colors/cc66cc.png differ
diff --git a/koha-tmpl/intranet-tmpl/prog/img/itemtypeimg/colors/cc9999.png b/koha-tmpl/intranet-tmpl/prog/img/itemtypeimg/colors/cc9999.png
new file mode 100644 (file)
index 0000000..efc8d4f
Binary files /dev/null and b/koha-tmpl/intranet-tmpl/prog/img/itemtypeimg/colors/cc9999.png differ
diff --git a/koha-tmpl/intranet-tmpl/prog/img/itemtypeimg/colors/cc99cc.png b/koha-tmpl/intranet-tmpl/prog/img/itemtypeimg/colors/cc99cc.png
new file mode 100644 (file)
index 0000000..da331c1
Binary files /dev/null and b/koha-tmpl/intranet-tmpl/prog/img/itemtypeimg/colors/cc99cc.png differ
diff --git a/koha-tmpl/intranet-tmpl/prog/img/itemtypeimg/colors/cccc00.png b/koha-tmpl/intranet-tmpl/prog/img/itemtypeimg/colors/cccc00.png
new file mode 100644 (file)
index 0000000..a9894bd
Binary files /dev/null and b/koha-tmpl/intranet-tmpl/prog/img/itemtypeimg/colors/cccc00.png differ
diff --git a/koha-tmpl/intranet-tmpl/prog/img/itemtypeimg/colors/ffff33.png b/koha-tmpl/intranet-tmpl/prog/img/itemtypeimg/colors/ffff33.png
new file mode 100644 (file)
index 0000000..7124afd
Binary files /dev/null and b/koha-tmpl/intranet-tmpl/prog/img/itemtypeimg/colors/ffff33.png differ
diff --git a/koha-tmpl/intranet-tmpl/prog/img/itemtypeimg/colors/ffffcc.png b/koha-tmpl/intranet-tmpl/prog/img/itemtypeimg/colors/ffffcc.png
new file mode 100644 (file)
index 0000000..96be0f4
Binary files /dev/null and b/koha-tmpl/intranet-tmpl/prog/img/itemtypeimg/colors/ffffcc.png differ
diff --git a/koha-tmpl/intranet-tmpl/prog/img/itemtypeimg/colors/ffffff.png b/koha-tmpl/intranet-tmpl/prog/img/itemtypeimg/colors/ffffff.png
new file mode 100644 (file)
index 0000000..5fb4c35
Binary files /dev/null and b/koha-tmpl/intranet-tmpl/prog/img/itemtypeimg/colors/ffffff.png differ
diff --git a/koha-tmpl/opac-tmpl/ccsr/en/css/babeltheque.css b/koha-tmpl/opac-tmpl/ccsr/en/css/babeltheque.css
new file mode 100644 (file)
index 0000000..95406ec
--- /dev/null
@@ -0,0 +1,152 @@
+/* ## BABELTHEQUE ## */
+/* Babeltheque is a french supplier for advanced features
+this babeltheque.css is not used anywhere by Koha, it's not a mistake
+If you're babeltheque customer, you have access to a specific configuration URL
+on babeltheque website, where you can activate this css
+So: it should not be removed from Koha !
+*/
+
+#BW_etiquettes {
+  clear :left;
+  border: 1px solid #E8E8E8;
+  margin-top: 10px;
+  width: 49%;
+  float: left;
+  visibility: hidden;
+  visibility: visible\9;
+}
+#BW_etiquettes:not(:empty) {
+  visibility: visible;
+}
+
+#BW_etiquettes h2 {
+  clear:left;
+  background-color: #E8E8E8;
+  margin: 5px 10px;
+  padding: 0 5px;
+}
+
+#BW_ulEti {max-width:100%;}
+
+#BW_ulEti ul  {
+  margin:0;
+  padding:0 15px;
+  list-style-type: none;
+}
+
+#BW_ulEti a {
+  text-decoration: none;
+}
+
+#BW_ulEti a.tag_s0  {font-weight: 120;font-size:0.8em;}
+#BW_ulEti a.tag_s1  {font-weight: 150;font-size:0.9em;}
+#BW_ulEti a.tag_s2  {font-weight: 180;font-size:1.0em;}
+#BW_ulEti a.tag_s3  {font-weight: 200;font-size:1.2em;}
+#BW_ulEti a.tag_s4  {font-weight: 220;font-size:1.4em;}
+#BW_ulEti a.tag_s5  {font-weight: 230;font-size:1.5em;}
+#BW_ulEti a.tag_s6  {font-weight: 320;font-size:1.6em;}
+#BW_ulEti a.tag_s7  {font-weight: 350;font-size:1.7em;}
+#BW_ulEti a.tag_s8  {font-weight: 400;font-size:1.8em;}
+#BW_ulEti { padding: 0px; line-height: 2em; text-align: center;}
+#BW_ulEti a { padding: 2px; }
+#BW_ulEti { margin: 0px; }
+
+#BW_ulEti ol {
+  float:left;
+  display: inline;
+  margin: 0 10px;
+}
+
+#BW_suggestions {
+  border: 1px solid #E8E8E8;
+  margin-top: 10px;
+  float: right;
+  width: 49%;
+  visibility: hidden;
+  visibility: visible\9;
+}
+#BW_suggestions:not(:empty) {
+  visibility: visible;
+}
+#BW_suggestions h2 {
+  background-color: #E8E8E8;
+  margin: 5px 10px;
+  padding: 0 5px;
+}
+#BW_suggestions .BW_livres_tag_page {
+  padding: 0 15px;
+}
+#BW_suggestions .BW_livres_tag_page:before {
+  content : '> ';
+}
+#BW_droite .BW_livres_tag:before {
+  content : '> ';
+}
+
+#BW_videos {
+  clear : both;
+  border: 1px solid #E8E8E8;
+  padding-bottom: 140px;
+  margin-top: 10px;
+  max-width: 100%;
+  visibility: hidden;
+  visibility: visible\9;
+}
+
+#BW_videos:not(:empty) {
+  visibility: visible;
+}
+
+#BW_videos h2 {
+  background-color: #E8E8E8;
+  margin: 5px 10px;
+  padding: 0 5px;
+}
+#BW_videos .BW_bloc_vid {
+  clear: both;
+  padding: 0 15px;
+}
+.BW_vignette_vid {
+  border: 1px solid #DFD9CE;
+  float: left;
+  height: 141px;
+  margin: 5px;
+  min-height: 141px;
+  padding: 5px;
+  white-space: nowrap;
+}
+
+#BW_notes {clear :left;}
+#BW_notes h2 {font-size:85%;}
+
+#BW_citations {}
+#BW_citations h2 {font-size:85%;}
+
+#BW_critiques {}
+#BW_critiques h2 {font-size:85%;}
+
+#BW_critiques_pro {}
+#BW_critiques_pro h2 {font-size:85%;}
+
+#BW_citations,#BW_critiques,#BW_critiques_pro {
+  background: -moz-linear-gradient(center top , #3399FF, #3333FF) repeat scroll 0 0 transparent;
+  background: -webkit-gradient(linear, center top, center bottom, from(#3399FF), to(#3333FF));
+  filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#3399FF', endColorstr='#3333FF');
+  border: 1px solid #B7B7B7;
+  border-radius: 5px 5px 5px 5px;
+  color: #FFFFCC;
+  display: inline-block;
+  float: left;
+  font-weight: bold;
+  margin: 15px 20px 15px 0;
+  min-width: 150px;
+  padding: 0 15px 8px;
+  position: relative;
+  text-align: center;
+  text-shadow: 1px 1px 1px #777777;
+  white-space: nowrap;
+}
+
+#BW_citations a,#BW_critiques a,#BW_critiques_pro a {
+  color: #FFFFCC;
+}
diff --git a/koha-tmpl/opac-tmpl/ccsr/en/css/colors.css b/koha-tmpl/opac-tmpl/ccsr/en/css/colors.css
new file mode 100644 (file)
index 0000000..7e8a946
--- /dev/null
@@ -0,0 +1,748 @@
+/* ================================
+ * !Main
+ * ================================*/
+
+div.clear {
+    clear: both;
+}
+
+body {
+    min-width:1000px;
+    font-family: "Lucida Grande", Arial;
+    padding:0;
+    background-color : #eaeae6;
+}
+
+#container {
+    background: #fff;
+    border:1px solid #d2d2cf;
+    -webkit-border-radius: 8px;
+    -moz-border-radius: 8px;
+    border-radius: 8px;
+    margin:0 20px;
+    padding: 10px;
+    overflow: hidden;
+}
+
+a:link,
+a:visited {
+    color: #007fae;
+}
+a:hover {
+    color: #00a5e2;
+}
+
+#container #ctn_lt {
+    padding-left: 15px;
+}
+
+#opacnav {
+    width:240px;
+}
+
+#opacmainuserblock, #news {
+    margin-left:7em;
+}
+
+/* ================================
+ * !Header
+ * ================================*/
+
+#header-wrapper {
+    background: none;
+}
+
+#opac-main-search {
+    background: none;
+    border: none;
+    display: table;
+    margin: 40px 0 0 !important;
+    padding: 0.7em 0 0 0.5em;
+    width: 100%;
+}
+*:first-child+html #opac-main-search {
+    display: block;
+}
+#opac-main-search a.logo {
+    display: table-cell;
+    padding: 8px 0 0 13px;
+    vertical-align: top;
+    width: 145px;
+}
+
+#opac-main-search #fluid {
+    display: table-cell;
+    margin: 0;
+    padding: 0;
+    position: relative;
+    vertical-align: top;
+}
+
+#opac-main-search div#libraryname {
+    display: table-cell;
+    float: none;
+    vertical-align: top;
+    overflow: hidden;
+    text-align: center;
+    padding: 0 11px 17px;
+    width: 128px;
+}
+
+/* IE 7 Hack */
+*:first-child+html #opac-main-search a.logo,
+*:first-child+html #opac-main-search #fluid,
+*:first-child+html #opac-main-search div#libraryname {
+    display: block;
+    float: left;
+    height: 100px;
+}
+*:first-child+html #opac-main-search #fluid {
+    width: 800px;
+}
+#opac-main-search div#libraryname h1 {
+    background-repeat: no-repeat;
+    background-position: 0 0;
+    display: block;
+    margin: 0;
+    position: relative;
+}
+#opac-main-search div#libraryname h1 img {
+    display: block;
+    margin: 0 0 7px;
+    max-height: 80px;
+}
+
+#opac-main-search div#libraryname span#official-website {
+    background: url("../../images/arrow-right-grey-logo.png") no-repeat scroll 0 50%;
+    font: 11px/14px Arial;
+    padding: 0 0 0 10px;
+}
+#opac-main-search div#libraryname span#official-website a {
+    color: #696965;
+    text-decoration: none;
+}
+#opac-main-search div#libraryname span#official-website a:hover {
+    text-decoration: underline;
+}
+
+
+/* search form */
+
+form#searchform {
+    background: #a7a7a2 url("../../images/bg-search-bar.png") repeat-x scroll 0 0;
+    -webkit-border-radius: 8px;
+    -moz-border-radius: 8px;
+    border-radius: 8px;
+    display: block;
+    padding: 12px 10px;
+    position: relative;
+}
+
+form#searchform label {
+    display: none;
+}
+
+form.single-library .input-wrapper {
+    margin: 0 237px 0 0;
+}
+form.multi-libraries .input-wrapper {
+    margin: 0 416px 0 0;
+}
+form#searchform .input-wrapper input[type="text"] {
+    background: #fff;
+    border: 1px solid #A0A09A;
+    -webkit-border-radius: 8px;
+    -moz-border-radius: 8px;
+    border-radius: 8px;
+    color: #868684;
+    font-size: 12px !important;
+    padding: 8px 8px 9px;
+    width: 100% !important;
+}
+
+form#searchform select {
+    left: -9999em;
+    position: absolute;
+}
+
+form.multi-libraries #filters .jqTransformSelectWrapper {
+    position: absolute;
+    right: 229px;
+    top: 12px;
+}
+
+form.single-library  #filters .jqTransformSelectWrapper,
+form.multi-libraries #libraries .jqTransformSelectWrapper {
+    position: absolute;
+    right: 50px;
+    top: 12px;
+}
+
+form#searchform input[type="submit"] {
+    background: #619bb5 url("../../images/btn-search-bar.png") no-repeat 50% 50%;
+    border: 1px solid #adadaa;
+    -webkit-border-radius: 5px;
+    -moz-border-radius: 5px;
+    border-radius: 5px;
+    color: #fff;
+    cursor: pointer;
+    font-size: 0;
+    font-weight: normal;
+    height: 33px;
+    margin-left: 4px;
+    margin-top: 0;
+    padding: 0;
+    position: absolute;
+    right: 10px;
+    top: 12px;
+    width: 34px;
+}
+
+#moresearches {
+    margin: 7px 10px 0;
+}
+#moresearches a:link,
+#moresearches a:visited {
+    background: url("../../images/arrow-right-grey-11x6.png") no-repeat scroll left center transparent;
+    color: #007fae;
+    font-size: 12px;
+    font-weight: normal;
+    margin-right: 12px;
+    padding-left: 12px;
+    text-decoration: none;
+}
+#moresearches a:hover {
+    color: #00a5e2;
+}
+
+#moresearches span.pipe {
+    display: none;
+}
+
+.transparent {
+    zoom: 1;
+    filter: alpha(opacity=50);
+    opacity: 0.5;
+}
+
+div#top-bar {
+    z-index: 9999999;
+    position: fixed;
+    top:0;
+    left:0;
+    margin: 0;
+    padding: 0;
+    width: 100%;
+    height: 29px;
+    background: #454543 url("../../images/img_bg_header.png") repeat-x 0 0;
+}
+
+
+ul#menu-left {
+    margin: 0 0 0 30px;
+    padding: 0;
+    display: block;
+    float: left;
+    width: auto;
+    height: 29px;
+}
+ul#menu-left li {
+    margin: 0;
+    padding: 0 8px 0 10px;
+    float: left;
+    height: 29px;
+    list-style-type: none;
+    background: url("../../images/img_sep_header.png") no-repeat left top;
+}
+ul#menu-left li#listsmenulink {
+    padding: 1px 0 0 12px;
+    border: none;
+}
+ul#menu-left #listsmenulink:hover {
+    background: url("../../images/img_sep_header.png") no-repeat left top !important;
+}
+ul#menu-left li a#cartmenulink,
+ul#menu-left li#listsmenulink a {
+    margin: 2px 0 0 0;
+    color: #9EE1FF;
+    font-family: Arial;
+    font-size: 13px;
+    font-weight: bold;
+    text-decoration: none;
+    border: none;
+}
+ul#menu-left li a#cartmenulink:hover,
+ul#menu-left li#listsmenulink a:hover {
+    color: #9EE1FF;
+}
+
+ul#menu-left li#listsmenulink a {
+    padding: 2px 0 0;
+}
+
+ul#menu-left li a#cartmenulink span,
+ul#menu-left li#listsmenulink a span {
+    margin: 0;
+    padding: 0;
+}
+ul#menu-left li a#cartmenulink span#basketcount {
+    margin: 0 0 0 5px;
+    padding: 0;
+    background: none;
+}
+ul#menu-left li a#cartmenulink span img,
+ul#menu-left li#listsmenulink a span img {
+    display: none;
+}
+
+ul#menu-left li a#cartmenulink {
+    padding: 0 0 0 30px;
+    background: url("../../images/img_toolbar-button-cart.png") no-repeat left center;
+}
+ul#menu-left li#listsmenulink a {
+    padding: 0 0 0 20px;
+    background: url("../../images/img_toolbar-button-lists.png") no-repeat left center;
+}
+
+div#cartDetails,
+div#listsmenu {
+    z-index: 9999999;
+    top: 29px !important;
+    margin: 0;
+    padding: 10px !important;
+    background: #649EB8;
+    border-left: 1px solid #A0A09A !important;
+    border-right: 1px solid #A0A09A !important;
+    border-bottom: 1px solid #A0A09A !important;
+    -webkit-border-radius: 0 0 7px 7px;
+    -moz-border-radius: 0 0 7px 7px;
+    border-radius: 0 0 7px 7px;
+}
+div#cartDetails {
+    margin-left: -9px;
+}
+
+
+#members {
+    background: none;
+    margin: 0;
+    padding: 0;
+    float: right;
+}
+#members ul {
+    margin: 0;
+    margin-right: 20px;
+    float: right;
+}
+#members li {
+    background: none;
+    margin:0;
+    float: left;
+    border-right: none;
+}
+#members ul li a {
+    background: url("../../images/img_sep_header.png") no-repeat scroll right top transparent;
+    color: #9EE1FF;
+    display: block;
+    font-family: Arial;
+    font-size: 13px;
+    height: 22px;
+    padding: 7px 14px 0 3px;
+    text-decoration: none;
+}
+
+#members li span.members {
+    color:#fff;
+    padding:7px 14px 0 9px;
+    float: left;
+    background: url(../../images/img_sep_header.png) no-repeat right top;
+    height: 22px;
+}
+
+#members li span.members a {
+    display:inline;
+    background: none;
+    padding: 0;
+}
+
+#members li a {
+    padding:7px 14px 0 9px;
+}
+
+#members li a.logout {
+    color:#ff825b;
+    font-weight: normal;
+    padding:7px 14px 0 9px;
+}
+
+div#listsmenu {
+    margin-left: 1px;
+}
+div#listsmenu h4 {
+    margin: 0 !important;
+    color: #fff;
+}
+div#listsmenu ul li {
+    margin: 0 !important;
+    padding: 0 !important;
+    height: auto !important;
+    background: none !important;
+}
+div#listsmenu ul li {
+    float: none !important;
+    margin: 0 !important;
+    padding: 0 !important;
+    list-style-type: none !important;
+    background: none !important;
+}
+div#listsmenu a {
+    margin: 0 !important;
+    padding: 0 !important;
+    color: #fff !important;
+    font-weight: normal  !important;
+    text-decoration: none;
+    background: none !important;
+}
+div#listsmenu a:hover {
+    text-decoration: underline;
+}
+
+#cartDetails,#cartUpdate,#holdDetails,#listsDetails {
+    background-color : #FFF;
+    border: 1px solid #739acf;
+    color : #fff;
+    display : none;
+    margin : 0;
+    padding : 10px;
+    text-align : center;
+    width : 180px;
+    box-shadow: 1px 1px 3px #666;
+    -moz-box-shadow: 1px 1px 3px #666;
+    -webkit-box-shadow: 1px 1px 3px #666;
+
+}
+
+#cartmenulink, #listsmenulink {
+    display : block;
+    position : relative;
+    background : #aaa;
+    padding : 5px;
+    float : left;
+    color : #333;
+    text-decoration : none;
+    cursor : pointer;
+}
+
+#cartmenulink {
+    background : #98CB58;
+    color : #336600;
+    font-size : 105%;
+}
+
+#cartmenulink[class], #listsmenulink[class] {
+    background-image : ;
+    background-position : ;
+}
+
+#cartmenulink span, #listsmenulink span {
+    padding : 0 0 5px 10px;
+    background-position:;
+    left:;
+    margin-bottom:;
+}
+
+#cartmenulink *, #listsmenulink * {
+    background-image : none;
+}
+
+#cartmenulink span#basketcount span {
+    color:#fff;
+    margin:0 0 0 5px;
+    padding:0;
+    background:none;
+    font-size:15px;
+    font-weight:bold;
+}
+
+
+/* ================================
+ * !jQtransform
+ * ================================*/
+
+.jqTransformSelectWrapper {
+    background: none repeat scroll 0 0 #FFFFFF;
+    border: 1px solid #A0A09A;
+    border-radius: 8px 8px 8px 8px;
+    color: #252525;
+    font-family: Arial,Helvetica,sans-serif;
+    font-size: 13px;
+    float: left;
+    margin-left: 5px;
+    padding: 0;
+    position: relative;
+    width: 171px !important;
+}
+.jqTransformSelectWrapper div {
+    height: 19px;
+    padding: 9px 5px 4px;
+    text-indent: 4px;
+}
+.jqTransformSelectWrapper div span {
+    cursor: pointer;
+    float: left;
+}
+
+.jqTransformSelectWrapper div a {
+    background: url("../../images/img_select-puce.png") no-repeat scroll 0 50% transparent;
+    display: block;
+    height: 26px;
+    outline: medium none;
+    position: absolute;
+    right: 3px;
+    top: 3px;
+    width: 25px;
+}
+
+.jqTransformSelectWrapper ul {
+    background: none repeat scroll 0 0 #FFFFFF;
+    border: 1px solid #A0A09A;
+    -webkit-border-radius: 7px;
+    -moz-border-radius: 7px;
+    border-radius: 7px;
+    height: auto !important;
+    padding: 5px 0 !important;
+    position: absolute;
+    width: 100% !important;
+}
+.jqTransformSelectWrapper ul li {
+    background: none repeat scroll 0 0 transparent !important;
+    list-style: none outside none !important;
+    margin: 0 !important;
+    padding: 0 5px !important;
+}
+.jqTransformSelectWrapper ul li a {
+    color: #252525 !important;
+    display: block;
+    font-family: Arial,Helvetica,sans-serif;
+    font-size: 13px;
+    font-weight: normal;
+    padding-left: 5px;
+    text-decoration: none;
+}
+.jqTransformSelectWrapper ul li a:hover {
+    background: none repeat scroll 0 0 #F5F5F4;
+}
+
+
+/* ================================
+ * !Footer
+ * ================================*/
+
+#main_footer {
+    padding:0 30px;
+    font-family:"Lucida Grande", Arial;
+    margin-bottom: 65px;
+}
+
+#main_footer .colleft {
+    float:left;
+    margin-top:8px;
+}
+
+#main_footer .colleft ul {
+    padding:0;
+}
+
+#main_footer .colleft li {
+    display:inline;
+    list-style:none;
+}
+
+#main_footer .colleft li.first {
+    background:url(../../images/img_sep_footer.png) no-repeat right top;
+    padding-right: 8px;
+    margin-right: 10px;
+}
+
+#main_footer .colleft li a {
+    color:#4f91b0;
+    text-decoration:none;
+    font-size:14px;
+    font-weight: normal;
+}
+#main_footer .colleft li a:hover {
+    color:#00a5e2;
+}
+
+#main_footer .colleft .copy {
+    font-size:12px;
+    color:#5f5f5f;
+    margin-top:10px;
+}
+
+#main_footer .colright {
+    float:right;
+    width: auto;
+}
+
+#main_footer .colright .koha {
+    float:left;
+    background: url(../../images/img_logo_koha.jpg) no-repeat bottom right;
+    width: 168px;
+    height: 40px;
+}
+#main_footer .colright .koha a {
+    display:block;
+    padding:0;
+    width: 168px;
+    height: 40px;
+    color:#5f5f5f;
+    text-decoration: none;
+    font-weight: normal;
+}
+
+div#changelanguage {
+    padding-bottom: 2em;
+}
+
+
+/* ================================
+ * !Page : Search results
+ * ================================*/
+
+/* breacrumbs */
+
+body#results #breadcrumbs {
+    margin: -1px 0 17px 2px;
+    padding: 0;
+}
+body#results #breadcrumbs p {
+    font: normal 11px/11px Arial;
+    margin: 0;
+    padding: 0;
+}
+body#results #breadcrumbs p a {
+    color: #007fae;
+    display: inline;
+    text-decoration: none;
+}
+body#results #breadcrumbs p a:hover {
+    color: #00a5e2;
+}
+
+body#results #breadcrumbs p a img {
+    vertical-align: middle;
+}
+
+body#results #breadcrumbs p .rsaquo {
+    color: #8d8d89;
+    font-size: 20px;
+    line-height: 11px;
+    vertical-align: sub;
+}
+
+/* IE7 Hack */
+*:first-child+html body#results #breadcrumbs p span {
+    display: inline;
+    font-size: 11px;
+    font-weight: bold;
+    vertical-align: top;
+}
+
+body#results #breadcrumbs p strong {
+    color: #5f5f5f;
+}
+
+.nb_results {
+    font-weight: bold;
+}
+
+/* search-facets */
+
+body#results #search-facets {
+    border: none;
+}
+body#results #search-facets h4 {
+    background: none;
+    border-bottom: 1px solid #E8E8E8;
+    font-size: 90%;
+    margin: 0 9px 10px 0;
+    padding: 13px 0 7px;
+    text-align: left;
+}
+
+body#results #search-facets a {
+    color: #007fae;
+}
+body#results #search-facets a:hover {
+    color: #00a5e2;
+}
+
+
+/* userresults */
+
+body#results div#userresults {
+    border-left: 1px solid #c8c8c4;
+    padding: 0 20px 0;
+}
+
+
+/* searchresults */
+
+body#results tr {
+    border: none;
+}
+body#results tr td {
+    background: #fff url("../../images/bg-result-light.png") repeat-x 0 0;
+    border-top: 1px solid #c8c8c4;
+    border-bottom: none;
+    height: 115px;
+    padding-top: 15px;
+}
+
+body#results .searchresults td.resultscontrol {
+    background: #ddddda url("../../images/bg-results-control.png") repeat-x 0 100%;
+    -moz-border-radius-topleft: 6px;
+    -moz-border-radius-topright: 6px;
+    -moz-border-radius-bottomright: 0px;
+    -moz-border-radius-bottomleft: 0px;
+    -webkit-border-radius: 6px 6px 0px 0px;
+    border-radius: 6px 6px 0px 0px;
+    border: none;
+    border-bottom: 1px solid #b0b0ae;
+    padding: 2px 7px 6px;
+    height: auto;
+}
+
+
+/* Navigation */
+
+body#results a.nav:link, div.pages a:link {
+    background-color: #EEEEEE;
+    border: 1px solid #CCCC99;
+    color: #007FAE;
+    font-weight: bold;
+    padding: 1px 5px;
+    text-decoration: none;
+}
+body#results a.nav:hover, div.pages a:hover {
+    color: #00A5E2;
+}
+
+
+
+/* ================================
+ * !Page : Opac detail
+ * ================================*/
+
+body#opac-detail .nav_results ul.pg_menu {
+    display: table;
+    height: auto;
+    overflow: hidden;
+    padding: 0;
+    width: 100%;
+}
+body#opac-detail .nav_results ul.pg_menu li {
+    display: table-cell;
+    float: none;
+}
diff --git a/koha-tmpl/opac-tmpl/ccsr/en/css/datatables.css b/koha-tmpl/opac-tmpl/ccsr/en/css/datatables.css
new file mode 100644 (file)
index 0000000..e7b11bd
--- /dev/null
@@ -0,0 +1,265 @@
+input.search_init {
+    color: #999999;
+}
+.sorting_asc {
+    padding-right: 19px;
+    background: url("../../img/asc.gif") no-repeat scroll right center #EEEEEE;
+}
+.sorting_desc {
+    padding-right: 19px;
+    background: url("../../img/desc.gif") no-repeat scroll right center #EEEEEE;
+}
+.sorting {
+    padding-right: 19px;
+    background: url("../../img/ascdesc.gif") no-repeat scroll right center #EEEEEE;
+}
+.sorting_asc_disabled {
+    padding-right: 19px;
+    background: url("../../img/datatables/sort_asc_disabled.png") no-repeat scroll right center #EEEEEE;
+}
+.sorting_desc_disabled {
+    padding-right: 19px;
+    background: url("../../img/datatables/sort_desc_disabled.png") no-repeat scroll right center #EEEEEE;
+}
+.sorting_disabled {
+    padding-right: 19px;
+    background-color: #EEEEEE;
+}
+
+div.top {clear : both; }
+
+div.top.pager,
+div.bottom.pager {
+    background-color : #E5E5E5;
+    padding : 0;
+}
+
+div.bottom.pager div.dataTables_paginate.paging_full_numbers,
+div.bottom.pager div.dataTables_paginate.paging_four_button {
+    border-right-width : 0;
+}
+
+div.dataTables_filter,
+div.dataTables_length,
+div.dataTables_info,
+div.dataTables_paginate {
+    float: left;
+    padding : .3em .5em .3em .5em;
+
+}
+div.dataTables_length {
+    border-right : 1px solid #686868;
+    line-height:1.9em;
+}
+div.dataTables_info {
+    border-right : 1px solid #AAA;
+    line-height:1.9em;
+}
+div.dataTables_length,
+div.dataTables_filter {
+    border-left : 1px solid #FFF;
+}
+div.dataTables_filter {
+    line-height : 1.9em;
+}
+div.dataTables_paginate {
+    background-color : #F4F4F4;
+    font-size: 110%;
+    padding : 0;
+}
+
+.paging_full_numbers span.paginate_button,
+.paging_full_numbers span.paginate_active {
+    border-right : 1px solid #AAA;
+    border-left : 1px solid #FFF;
+    display : block;
+    float : left;
+    line-height:1.6em;
+    padding: .3em .7em;
+    cursor: pointer;
+}
+
+.paging_full_numbers span.paginate_button {
+    color : #0000CC;
+}
+.paging_full_numbers span.paginate_button.first {
+    background-image : url('../../img/first.png');
+    background-repeat: no-repeat;
+    background-position : 2px center;
+    padding-left : 2em;
+}
+.paging_full_numbers span.paginate_button.previous {
+    background-image : url('../../img/prev.png');
+    background-repeat: no-repeat;
+    background-position : 2px center;
+    padding-left : 2em;
+}
+.paging_full_numbers span.paginate_button.next {
+    background-image : url('../../img/next.png');
+    background-repeat: no-repeat;
+    background-position : right center;
+    padding-right : 2em;
+}
+.paging_full_numbers span.paginate_button.last {
+    background-image : url('../../img/last.png');
+    background-repeat: no-repeat;
+    background-position : right center;
+    border-right : 1px solid #686868;
+    padding-right : 2em;
+}
+div.bottom.pager .paging_full_numbers span.paginate_button.last {
+    border-right-width : 0;
+}
+.paging_full_numbers span.paginate_active {
+    background-color : #FFFFEA;
+    color : #000;
+    font-weight: bold;
+}
+
+.paging_full_numbers span.paginate_button:hover {
+    background-color: #FFC;
+}
+
+.paging_full_numbers span.paginate_button.paginate_button_disabled {
+    color : #666;
+}
+
+/* Two-button version */
+
+div.dataTables_paginate.paging_two_button,
+div.dataTables_paginate.paging_four_button {
+    background-color : transparent;
+    border-right : 1px solid #686868;
+    border-left : 1px solid #FFF;
+    line-height : 1.8em;
+}
+.paginate_disabled_first,
+.paginate_enabled_first,
+.paginate_disabled_previous,
+.paginate_enabled_previous,
+.paginate_disabled_next,
+.paginate_enabled_next,
+.paginate_disabled_last,
+.paginate_enabled_last {
+    float: left;
+    height: 16px;
+    margin: .5em;
+    width: 16px;
+}
+.paginate_disabled_first {
+    background-image: url("../../img/first-disabled.png");
+}
+.paginate_enabled_first {
+    background-image: url("../../img/first.png");
+    cursor: pointer;
+}
+.paginate_disabled_previous {
+    background-image: url("../../img/prev-disabled.png");
+}
+.paginate_enabled_previous {
+    background-image: url("../../img/prev.png");
+    cursor: pointer;
+}
+.paginate_disabled_next {
+    background-image: url("../../img/next-disabled.png");
+}
+.paginate_enabled_next {
+    background-image: url("../../img/next.png");
+    cursor: pointer;
+}
+.paginate_disabled_last {
+    background-image: url("../../img/last-disabled.png");
+}
+.paginate_enabled_last {
+    background-image: url("../../img/last.png");
+    cursor: pointer;
+}
+
+
+/*
+table.display {
+    width: 100%;
+}
+table.display thead th {
+    border-bottom: 1px solid black;
+    cursor: pointer;
+    font-weight: bold;
+    padding: 3px 18px 3px 10px;
+}
+.dataTables_wrapper {
+    clear: both;
+    position: relative;
+}
+.dataTables_processing {
+    background-color: white;
+    border: 1px solid #DDDDDD;
+    color: #999999;
+    font-size: 14px;
+    height: 30px;
+    left: 50%;
+    margin-left: -125px;
+    margin-top: -15px;
+    padding: 14px 0 2px;
+    position: fixed;
+    text-align: center;
+    top: 50%;
+    width: 250px;
+}
+.dataTables_info {
+    float: left;
+    width: 60%;
+}
+.dataTables_paginate {
+    float: right;
+    text-align: right;
+    width: 44px;
+}
+.paging_full_numbers {
+    height: 22px;
+    line-height: 22px;
+    width: 400px;
+}
+.paging_full_numbers span.paginate_button,
+     .paging_full_numbers span.paginate_active {
+    border: 1px solid #aaa;
+    -webkit-border-radius: 5px;
+    -moz-border-radius: 5px;
+    padding: 2px 5px;
+    margin: 0 3px;
+    cursor: pointer;
+    *cursor: hand;
+}
+
+.paging_full_numbers span.paginate_button {
+    background-color: #ddd;
+}
+
+.paging_full_numbers span.paginate_button:hover {
+    background-color: #ccc;
+}
+
+.paging_full_numbers span.paginate_active {
+    background-color: #99B3FF;
+}
+.paginate_disabled_previous, .paginate_enabled_previous, .paginate_disabled_next, .paginate_enabled_next {
+    float: left;
+    height: 19px;
+    margin-left: 3px;
+    width: 19px;
+}
+.paginate_disabled_previous {
+    background-image: url("../../img/datatables/back_disabled.jpg");
+}
+.paginate_enabled_previous {
+    background-image: url("../../img/datatables/back_enabled.jpg");
+}
+.paginate_disabled_next {
+    background-image: url("../../img/datatables/forward_disabled.jpg");
+}
+.paginate_enabled_next {
+    background-image: url("../../img/datatables/forward_enabled.jpg");
+}
+.spacer {
+    clear: both;
+    height: 20px;
+}
diff --git a/koha-tmpl/opac-tmpl/ccsr/en/css/hierarchy.css b/koha-tmpl/opac-tmpl/ccsr/en/css/hierarchy.css
new file mode 100644 (file)
index 0000000..6a4be9e
--- /dev/null
@@ -0,0 +1,105 @@
+.hierarchies {
+ background-color:#fff;
+ color:#000000;
+ padding:5px;
+   margin-left:50px;
+      -moz-border-radius:6px;
+        display:block;
+ font-size:10px;
+}
+.hierarchy {
+ padding:5px;
+   width:90%;
+     -moz-border-radius:6px;
+        display:block;
+}
+.child {
+      display:none;
+    margin-left : 50px;
+    width:150%;
+}
+.child a:hover{
+  background-color:#BFCFFF;
+}
+.parent {
+        display:none;
+    margin-left : -50px;
+}
+.parent a:hover{
+  background-color:#BFCFFF;
+}
+.child0{
+  width : 20%;
+  text-align : left;
+}
+.child0 a:hover{
+  background-color:#BFCFFF;
+}
+.child1{
+  width : 20%;
+  text-align : left;
+  margin-left : 50px;
+}
+.child1 a:hover{
+  background-color:#BFCFFF;
+}
+.child2{
+  width : 20%;
+  text-align : left;
+  margin-left : 100px;
+}
+.child2 a:hover{
+  background-color:#BFCFFF;
+}
+.child3{
+  width : 20%;
+  text-align : left;
+  margin-left : 150px;
+}
+.child3 a:hover{
+  background-color:#BFCFFF;
+}
+.child4{
+  width : 20%;
+  text-align : left;
+  margin-left : 200px;
+}
+.child4 a:hover{
+  background-color:#BFCFFF;
+}
+.child5{
+  width : 20%;
+  text-align : left;
+  margin-left : 250px;
+}
+.child5 a:hover{
+  background-color:#BFCFFF;
+}
+.child6{
+  width : 20%;
+  text-align : left;
+  margin-left : 300px;
+}
+.child6 a:hover{
+  background-color:#BFCFFF;
+}
+.child7{
+  width : 20%;
+  text-align : left;
+  margin-left : 350px;
+}
+.child7 a:hover{
+  background-color:#BFCFFF;
+}
+.child8{
+  width : 10%;
+  text-align : left;
+  margin-left : 400px;
+}
+.child8 a:hover{
+  background-color:#BFCFFF;
+}
+.parents{
+  display:inline;
+  cursor:crosshair;
+}
\ No newline at end of file
diff --git a/koha-tmpl/opac-tmpl/ccsr/en/css/jquery.rating.css b/koha-tmpl/opac-tmpl/ccsr/en/css/jquery.rating.css
new file mode 100644 (file)
index 0000000..e89096b
--- /dev/null
@@ -0,0 +1,12 @@
+/* jQuery.Rating Plugin CSS - http://www.fyneworks.com/jquery/star-rating/ */
+div.rating-cancel,div.star-rating{float:left;width:15px;height:15px;text-indent:-999em;cursor:pointer;display:block;background:transparent;overflow:hidden}
+div.rating-cancel,div.rating-cancel a{background:url(../../images/delete.gif) no-repeat 0 -16px}
+div.star-rating,div.star-rating a{background:url(../../images/star.gif) no-repeat 0 0px}
+div.rating-cancel a,div.star-rating a{display:block;width:16px;height:100%;background-position:0 0px;border:0}
+div.star-rating-on a{background-position:0 -32px!important}
+div.star-rating-hover a{background-position:0 -16px}
+/* Read Only CSS */
+div.star-rating-readonly a{cursor:default !important}
+/* Partial Star CSS */
+div.star-rating{background:transparent!important;overflow:hidden!important}
+/* END jQuery.Rating Plugin CSS */
diff --git a/koha-tmpl/opac-tmpl/ccsr/en/css/mobile.css b/koha-tmpl/opac-tmpl/ccsr/en/css/mobile.css
new file mode 100644 (file)
index 0000000..58da8bd
--- /dev/null
@@ -0,0 +1,624 @@
+/*
+    Mobile stylesheet
+    Frédérick Capovilla, 2012 - Libéo
+*/
+
+/* Hidden elements */
+
+.mobile-hidden,
+body#opac-main #login,
+body#opac-main #login~div,
+body#opac-main #opacnav,
+body#opac-main #opacmainuserblock,
+body#opac-main #news,
+body#results #facetcontainer,
+body#opac-detail #ulactioncontainer>:not(#action),
+body#opac-detail #ulactioncontainer #action a:not(.reserve),
+body#opac-detail #shelfbrowser,
+body#opac-detail #views,
+body#opac-detail div#bibliodescriptions>ul>li:nth-of-type(n+3),
+body#results #userresults .pages:nth-of-type(1),
+body#results #userresults>br,
+body#results td.select.selectcol,
+body#results span.results_summary.actions>:not(.hold),
+body#results span.addto,
+body#results span#placehold,
+body#results span.checkall,
+body#results span.clearall,
+body#results .searchresults td.resultscontrol,
+body#advsearch form div.yui-g:nth-last-of-type(-n+4),
+body#opac-readingrecord ul.ui-tabs-nav li,
+body#opac-login-page #opac-main-search div#libraryname,
+#leftmenus>:not(#menu),
+#top-bar #menu-left,
+#members>ul>li:nth-child(2),
+#moresearches,
+#breadcrumbs>p:nth-of-type(1),
+#main_footer .colleft,
+#opac-main-search a.logo {
+    display:none !important;
+}
+
+
+/* General */
+
+body{
+    min-width: 100px;
+}
+
+#doc, #doc2, #doc3, #doc4, .yui-t1, .yui-t2, .yui-t3, .yui-t4, .yui-t5, .yui-t6, .yui-t7 {
+    min-width: 100px;
+}
+
+.yui-ge div.first, .yui-gf .yui-g, .yui-gf .yui-u{
+    width: 100%;
+}
+
+#bd:after, .yui-g:after, .yui-gb:after, .yui-gc:after, .yui-gd:after, .yui-ge:after, .yui-gf:after {
+    content: "";
+}
+
+#container{
+    border-radius: 0;
+    margin: 0;
+    padding: 0;
+    padding-bottom: 10px;
+    border: 0;
+}
+
+#container #ctn_lt {
+    padding: 0 10px;
+    padding-left: auto;
+}
+
+#doc3{
+    margin: 0;
+    width: 100%;
+}
+
+#opac-main-search {
+    margin: 0 !important;
+    padding: 0;
+}
+
+#main_footer{
+    margin-bottom: 0;
+}
+
+#yui-main .yui-b {
+    margin: 0 !important;
+}
+
+#breadcrumbs{
+    margin: 0 !important;
+    padding: 0 !important;
+}
+
+body#results #breadcrumbs>*{
+    padding: 20px !important;
+}
+
+
+/* Main */
+
+body#opac-main #container #ctn_lt{
+    padding: 15px;
+}
+
+body#opac-main #opacmainuserblockmobile {
+    display: block;
+}
+
+
+
+/* Results */
+
+body#results div#userresults {
+    padding: 0;
+    border: 0;
+}
+
+body#results .yui-t1 #yui-main .yui-b {
+    margin: 0;
+}
+
+body#results #container #ctn_lt{
+    padding: 0;
+}
+
+body#results .searchresults td.resultscontrol{
+    border-radius: 0;
+}
+
+body#results .searchresults .resort{
+    width: 50%;
+    float:right;
+}
+
+body#results .searchresults #sort_by{
+    width: 100%;
+}
+
+body#results .searchresults .cartlist{
+    width:50%;
+}
+
+body#results .results_summary.actions .hold {
+    font-size: 140%;
+    font-weight: bold;
+    margin-left: 0;
+}
+
+
+/* Cancel highlighting */
+
+a .term {
+    text-decoration: inherit;
+}
+
+.term {
+    background-color: inherit;
+    color: inherit;
+}
+
+
+/* Details */
+
+body#opac-detail #ctn_lt,
+body#opac-marcdetail #ctn_lt,
+body#opac-isbddetail #ctn_lt{
+    margin: 10px;
+    padding: 0;
+}
+
+body#opac-detail #opac-detail-yui-ge {
+    padding-top: 15px;
+}
+
+#views>span {
+    display:block;
+}
+
+body#opac-detail #ulactioncontainer{
+    position: absolute;
+    top: 0;
+    right: 0;
+}
+
+body#opac-detail #container {
+    position: relative;
+}
+
+body#opac-detail #ulactioncontainer ul{
+    margin-top: 0;
+    padding: 5px;
+}
+
+body#opac-detail #ulactioncontainer li{
+    margin: 0;
+    padding: 0;
+}
+
+/* Logo in the footer */
+
+#opac-main-search div#libraryname {
+    display: block;
+    position: absolute;
+    bottom: -116px;
+    left: 0;
+    padding: 0 20px;
+}
+
+#opac-main-search div#libraryname img {
+    display: block;
+}
+
+#doc3{
+    position: relative;
+}
+
+#main_footer {
+    padding-top: 29px;
+}
+
+#main_footer .colright,
+#main_footer .colleft{
+    float: none;
+}
+
+#main_footer .colright .koha{
+    float: right;
+    overflow: hidden;
+    text-indent: -5000em;
+    width: 92px;
+    height: 80px;
+    background-position: center;
+}
+
+
+/* Login bar */
+
+div#top-bar {
+    display: block;
+    position: absolute;
+    left: 0;
+    bottom: -29px;
+    top: auto;
+    overflow: hidden;
+    z-index: auto;
+}
+
+#members ul{
+    margin: 0;
+}
+
+
+/* Search bar */
+
+form#searchform {
+    border-radius: 0;
+    padding-top: 50px;
+}
+
+form#searchform #filters .jqTransformSelectWrapper,
+form#searchform #libraries .jqTransformSelectWrapper {
+    position: relative;
+    left: 0;
+    top: 0;
+    border-radius: 3px;
+}
+
+form.multi-libraries #filters .jqTransformSelectWrapper{
+    width: 49% !important;
+    float: left;
+}
+
+form.multi-libraries #libraries .jqTransformSelectWrapper{
+    width: 49% !important;
+    float: right;
+}
+
+form.single-library #filters .jqTransformSelectWrapper,
+form.multi-libraries.single-field-mobile #filters .jqTransformSelectWrapper,
+form.multi-libraries.single-field-mobile #libraries .jqTransformSelectWrapper{
+    width: 100% !important;
+    float:left;
+}
+
+form.multi-libraries .input-wrapper{
+    margin: 0;
+}
+
+form#searchform .input-wrapper input[type="text"]{
+    -webkit-box-sizing: border-box;
+    -moz-box-sizing: border-box;
+    box-sizing: border-box;
+    border-radius: 3px;
+}
+
+form#searchform .input-wrapper{
+    -webkit-box-sizing: border-box;
+    -moz-box-sizing: border-box;
+    box-sizing: border-box;
+    position: absolute;
+    top: 15px;
+    left: 0;
+    width: 100%;
+    padding: 0 10px;
+    padding-right: 46px;
+}
+
+form#searchform input[type="submit"]{
+    position: absolute;
+    border-radius: 0;
+    top: 15px;
+    right: 10px;
+}
+
+.jqTransformSelectWrapper{
+    margin: 0;
+}
+
+.jqTransformSelectWrapper div{
+    overflow: hidden;
+}
+
+.jqTransformSelectWrapper div span{
+    white-space:nowrap;
+}
+
+.jqTransformSelectWrapper div a{
+    border-left: 5px solid #FFF;
+    border-right: 5px solid #FFF;
+    background-color: white;
+    box-shadow: -3px 0 5px #FFF;
+    right: 0px;
+    border-radius: 8px;
+}
+
+.jqTransformSelectWrapper ul li a{
+    padding: 10px 0;
+}
+
+#opac-main-search #fluid {
+    display: block;
+}
+
+
+/* Login screen */
+
+#holds, #opac-auth {
+    min-width: 0;
+    width: auto;
+}
+
+
+/* User */
+
+body#opac-user .yui-b,
+body#opac-passwd .yui-b,
+body#opac-search-history .yui-b,
+body#opac-readingrecord .yui-b,
+body#opac-userupdate .yui-b,
+body#opac-account .yui-b{
+    width: auto;
+    float: none;
+}
+
+body#opac-user #yui-main ,
+body#opac-passwd #yui-main ,
+body#opac-search-history #yui-main ,
+body#opac-readingrecord #yui-main ,
+body#opac-userupdate #yui-main ,
+body#opac-account #yui-main {
+    float: none;
+    margin: 0;
+}
+
+body#opac-userupdate .yui-g .yui-u{
+    width: 100%;
+}
+
+body#opac-passwd fieldset,
+body#opac-userupdate fieldset{
+    margin: 1em 0;
+}
+
+.renewals {
+    display: inline;
+}
+
+
+/* Tables */
+
+body#opac-user #checkoutst td.links,
+body#opac-user thead,
+body#opac-holds div:not(.calendar) table>tbody>tr:nth-child(1),
+body#opac-readingrecord #readingrec tr:nth-child(1),
+body#opac-detail #holdingst thead,
+body#opac-detail #holdingst td.call_no a{
+    display: none !important;
+}
+
+body#opac-detail table#holdingst,
+body#opac-readingrecord table,
+body#opac-holds div:not(.calendar) table,
+body#opac-user table#holdst,
+body#opac-user table#checkoutst{
+    border-right: none;
+    border-top: none;
+    border: none;
+    counter-reset: item;
+}
+
+body#opac-detail #holdingst tr,
+body#opac-readingrecord tr,
+body#opac-holds div:not(.calendar) tr,
+body#opac-user #holdst tr,
+body#opac-user #checkoutst tr{
+    border: none;
+    display: block;
+    position: relative;
+    margin-left: 10px;
+    margin-bottom: 10px;
+}
+
+body#opac-detail #holdingst td,
+body#opac-readingrecord td,
+body#opac-holds div:not(.calendar) td,
+body#opac-user #holdst td,
+body#opac-user #checkoutst td{
+    display: block;
+    border: 1px solid #DDD;
+    position: relative;
+}
+
+body#opac-user #checkoutst caption {
+    display: block;
+}
+
+body#opac-detail #holdingst tr:before,
+body#opac-readingrecord tr:before,
+body#opac-holds div:not(.calendar) tr:not(.copiesrow):before,
+body#opac-user #holdst tr:before,
+body#opac-user #checkoutst tr:before {
+    font-weight: bold;
+    content: counter(item) ". ";
+    counter-increment: item;
+    display: block;
+    position: absolute;
+    left: -13px;
+    top: 4px;
+}
+
+body#opac-detail #holdingst td:before,
+body#opac-readingrecord td:before,
+body#opac-holds div:not(.calendar) td:before,
+body#opac-user #holdst td:before,
+body#opac-user #checkoutst td:before {
+    font-weight: bold;
+}
+
+body#opac-detail #holdingst td.itype:before {content: "Item type : ";}
+body#opac-detail #holdingst td.location:before {content: "Location : ";}
+body#opac-detail #holdingst td.collection:before {content: "Collection : ";}
+body#opac-detail #holdingst td.call_no:before {content: "Call Number : ";}
+body#opac-detail #holdingst td.vol_info:before {content: "Vol Info : ";}
+body#opac-detail #holdingst td.url:before {content: "URL : ";}
+body#opac-detail #holdingst td.copynumber:before {content: "Copy Number : ";}
+body#opac-detail #holdingst td.status:before {content: "Status : ";}
+body#opac-detail #holdingst td.notes:before {content: "Notes : ";}
+body#opac-detail #holdingst td.date_due:before {content: "Date Due : ";}
+body#opac-detail #holdingst td.barcode:before {content: "Barcode : ";}
+body#opac-detail #holdingst td.holds_count:before {content: "Item holds : ";}
+
+body#opac-user #checkoutst td.date_due:before {content: "Date due : ";}
+body#opac-user #checkoutst td.call_no:before {content: "Call No. : ";}
+body#opac-user #checkoutst td.fines:before {content: "Fines : ";}
+
+body#opac-user #holdst td.reservedate:before {content: "Placed On : ";}
+body#opac-user #holdst td.expirationdate:before {content: "Expires On : ";}
+body#opac-user #holdst td.branch:before {content: "Pick Up Location : ";}
+body#opac-user #holdst td.priority:before {content: "Priority : ";}
+body#opac-user #holdst td.status:before {content: "Status : ";}
+
+body#opac-readingrecord #readingrec td:nth-child(3):before {content: "Item Type : ";}
+body#opac-readingrecord #readingrec td:nth-child(4):before {content: "Call No. : ";}
+body#opac-readingrecord #readingrec td:nth-child(5):before {content: "Date : ";}
+
+body#opac-holds #bibitemloop>tbody>tr:not(.copiesrow) td.hold:before {content: "Hold : ";}
+body#opac-holds #bibitemloop>tbody>tr:not(.copiesrow) td.itype:before {content: "Item Type : ";}
+body#opac-holds #bibitemloop>tbody>tr:not(.copiesrow) td.priority:before {content: "Priority : ";}
+body#opac-holds #bibitemloop>tbody>tr:not(.copiesrow) td.reserve_date:before {content: "Hold Starts On Date : ";}
+body#opac-holds #bibitemloop>tbody>tr:not(.copiesrow) td.expiration_date:before {content: "Hold Not Needed After : ";}
+body#opac-holds #bibitemloop>tbody>tr:not(.copiesrow) td.place_on_type:before {content: "Place On : ";}
+body#opac-holds #bibitemloop>tbody>tr:not(.copiesrow) td.branch:before {content: "Pickup Location : ";}
+
+body#opac-holds #bibitemloop table td.copy:before {content: "Copy : ";}
+body#opac-holds #bibitemloop table td.itype:before {content: "Item Type : ";}
+body#opac-holds #bibitemloop table td.barcode:before {content: "Barcode : ";}
+body#opac-holds #bibitemloop table td.homebranch:before {content: "Home Library : ";}
+body#opac-holds #bibitemloop table td.holdingbranch:before {content: "Last Location : ";}
+body#opac-holds #bibitemloop table td.call_no:before {content: "Call Number : ";}
+body#opac-holds #bibitemloop table td.vol_info:before {content: "Vol Info : ";}
+body#opac-holds #bibitemloop table td.information:before {content: "Information : ";}
+
+
+/* Holds */
+
+body#opac-holds tr.copiesrow {
+    margin-left: 25px;
+}
+
+body#opac-holds tr.copiesrow>td:nth-child(1) {
+    display: none;
+}
+
+body#opac-holds #bibitemloop tr {
+    margin-bottom: 0;
+}
+
+
+/* User Fines table */
+
+body#opac-account #useraccount th:nth-child(3),
+body#opac-account #useraccount td:nth-child(3) {
+    display: none !important;
+}
+
+body#opac-account #useraccount table {
+    position: relative;
+    margin-bottom: 50px;
+}
+
+body#opac-account #useraccount tfoot {
+    display: block;
+    position: absolute;
+    bottom: 0;
+    right: 0;
+    bottom: -23px;
+}
+
+body#opac-account #useraccount thead th {
+    padding: 2px 10px;
+}
+
+body#opac-account #useraccount tbody td:nth-child(1) {
+    min-width: 70px;
+}
+
+body#opac-account #useraccount tbody td:nth-child(4) {
+    text-align: right;
+}
+
+body#opac-account #useraccount tfoot th {
+    display: none;
+}
+
+body#opac-account #useraccount tfoot td {
+    border-right: 1px solid #DDD;
+}
+
+body#opac-account #useraccount tfoot td:before {
+    content: "Total due : "
+}
+
+
+/* User menu */
+
+#leftmenus>#menu ul li.messaging,
+#leftmenus>#menu ul li.suggestions,
+#leftmenus>#menu ul li.privateshelves,
+#leftmenus>#menu {
+    display: none;
+}
+
+.mobile_only {
+    display: block;
+}
+
+body.mobile_menu form#searchform .input-wrapper{
+    padding-left: 90px;
+}
+
+body.mobile_menu_opened #doc3>div,
+body.mobile_menu_opened #main_footer>div {
+    position: relative;
+    left: 200px;
+}
+
+body.mobile_menu_opened #main_footer {
+    display: none;
+}
+
+body.mobile_menu_opened #doc3 {
+    overflow: hidden;
+    min-height: 380px;
+}
+
+body.mobile_menu_opened #ctn_rb>.ctn_in>.yui-b {
+    position: static;
+}
+
+body.mobile_menu_opened #leftmenus>#menu {
+    display: block;
+    position: absolute;
+    width: 200px;
+    height: 100%;
+    top: 0;
+    left: -201px;
+    padding: 0;
+    z-index: 999;
+}
+
+#mobile_menu_button {
+    position: absolute;
+    cursor: pointer;
+    background: url(../../images/mobile-menu-button.png) no-repeat scroll 50% 50%;
+    border: 0px;
+    font-size: 0;
+    width: 76px;
+    height: 38px;
+    top: 13px;
+    left: 6px;
+}
diff --git a/koha-tmpl/opac-tmpl/ccsr/en/css/opac.css b/koha-tmpl/opac-tmpl/ccsr/en/css/opac.css
new file mode 100644 (file)
index 0000000..18b4d2c
--- /dev/null
@@ -0,0 +1,2700 @@
+@import url("../../../lib/yui/reset-fonts-grids.css");
+@import url("../../../lib/yui/skin.css");
+
+a {
+      font-weight : bold;
+}
+
+a,
+a:visited,
+.ui-widget-content a,
+.ui-widget-content a:visited {
+      color : #006699;
+}
+
+a:hover,#toolbar input.editshelf:hover,input.editshelf:hover,a.editshelf:hover,input.deleteshelf:hover {
+   color : #990033;
+}
+
+a.disabled {
+       color : #888888 !important;
+}
+
+body {
+  background-color : white;
+      text-align : left;
+     padding : 0 0 2.5em 0;
+}
+
+.required {
+    color : #C00;
+}
+
+caption {
+   font-size : 140%;
+      font-weight : bold;
+    line-height : 144%;
+    text-align : left;
+}
+
+fieldset {
+       background-color: #FFF;
+        border : 2px solid #EEEEEE;
+    margin : 1em 1em 1em 0;
+        padding : 1em;
+}
+
+fieldset.rows {
+      border-width : 1px;
+    border-bottom : 1px solid black;
+       float : left;
+  font-size : 90%;
+       clear : left;
+  margin: .9em 0 0 0;
+    padding: 0;
+    width: 100%;
+}
+
+fieldset.rows legend {
+ margin-left: 1em;
+      font-weight: bold;
+     font-size : 110%;
+}
+
+fieldset.rows label, fieldset.rows span.label {
+   float: left;
+   font-weight : bold;
+    width: 9em;
+    margin-right: 1em;
+     text-align: right;
+}
+
+fieldset.rows fieldset {
+ border-width : 1px;
+    margin : 0;
+    padding : .3em;
+}
+
+fieldset.rows ol {
+  padding: 1em 1em 0 1em;
+        list-style-type: none;
+}
+
+fieldset.rows li {
+   float : left;
+  clear : left;
+  padding-bottom: 1em;
+   list-style-type: none;
+ width: 100%;
+}
+
+fieldset.rows.left li {
+        padding-bottom : .4em;
+}
+
+fieldset.rows li.radio {
+     padding-left: 9em;
+     width : auto;
+}
+
+fieldset.rows li.radio label {
+        float : none;
+  width : auto;
+  margin : 0 0 0 1em;
+}
+
+fieldset.rows ol.radio label {
+  width : auto;
+  float : none;
+  margin-right : 0;
+}
+
+fieldset.rows ol.radio label.radio {
+      float : left;
+  width : 12em;
+  margin-right : 1em;
+}
+
+fieldset.rows table {
+   clear : both;
+  margin-left : 1em;
+}
+
+fieldset.rows td label {
+ float : none;
+  font-weight : normal;
+  width : auto;
+}
+
+fieldset.holds {
+      background-color : #F3F3F3;
+    border: 0;
+     font-size : 110%;
+      padding : 1px;
+}
+
+fieldset.holds ol {
+  margin : 0;
+    padding : 0;
+}
+
+fieldset.holds li {
+    background-color : #FFF;
+       border-bottom : 1px solid #F3F3F3;
+     padding : .3em;
+}
+
+fieldset.holds label, fieldset.holds span.label {
+
+}
+
+fieldset.action {
+     clear : both;
+  float : none;
+  border : none;
+ margin : 0;
+    padding : 1em 0 .3em 0;
+        width : auto;
+}
+
+fieldset.action p {
+   margin-bottom : 1em;
+}
+
+form {
+ display : inline;
+      margin : 0;
+    padding : 0;
+}
+
+h1 {
+   font-size : 138.5%;
+}
+
+h1#library {
+    font-size : 100%;
+      font-weight : normal;
+  margin : .2em 0 .2em .5em;
+}
+
+
+h1#libraryname {
+        background:transparent url(../../images/koha-logo.gif) no-repeat scroll 0%;
+    border: 0;
+     float : left !important;
+       margin:0;
+      padding:0;
+     width:120px;
+}
+
+h1#libraryname a {
+     border:0;
+      cursor:pointer;
+        display:block;
+ height:0px !important;
+ margin:0;
+      overflow:hidden;
+       padding:40px 0 0;
+      text-decoration:none;
+  width:120px;
+}
+
+h1,h2,h3,h4,h5,h6 {
+    font-weight : bold;
+    margin : .5em 0;
+}
+
+h2 {
+       font-size : 131%;
+}
+
+h5.author {
+}
+
+h3 {
+       font-size : 123.1%;
+}
+
+h4 {
+    font-size : 116%;
+}
+
+h5 {
+      font-size : 108%;
+}
+
+h6 {
+      font-size : 100%;
+}
+
+input[type=submit],
+input[type=button],
+input[type=reset],
+fieldset.brief input[type=submit],
+fieldset.brief input[type=button],
+fieldset.brief input[type=reset]
+{
+       background: #f4f9fc; /* Old browsers */
+        background: -moz-linear-gradient(top, #f4f9fc 0%, #dfeefa 4%, #bfd5ea 93%, #a1c4e2 97%, #b8d0e6 100%); /* FF3.6+ */
+    background: -webkit-gradient(linear, left top, left bottom, color-stop(0%,#f4f9fc), color-stop(4%,#dfeefa), color-stop(93%,#bfd5ea), color-stop(97%,#a1c4e2), color-stop(100%,#b8d0e6)); /* Chrome,Safari4+ */
+ background: -webkit-linear-gradient(top, #f4f9fc 0%,#dfeefa 4%,#bfd5ea 93%,#a1c4e2 97%,#b8d0e6 100%); /* Chrome10+,Safari5.1+ */
+       background: -o-linear-gradient(top, #f4f9fc 0%,#dfeefa 4%,#bfd5ea 93%,#a1c4e2 97%,#b8d0e6 100%); /* Opera11.10+ */
+     background: -ms-linear-gradient(top, #f4f9fc 0%,#dfeefa 4%,#bfd5ea 93%,#a1c4e2 97%,#b8d0e6 100%); /* IE10+ */
+  filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#f4f9fc', endColorstr='#b8d0e6',GradientType=0 ); /* IE6-9 */
+       background: linear-gradient(top, #f4f9fc 0%,#dfeefa 4%,#bfd5ea 93%,#a1c4e2 97%,#b8d0e6 100%); /* W3C */
+        border-top: 1px solid #cccccc;
+ border-left: 1px solid #cccccc;
+        border-right: 1px solid #eeeeee;
+       border-bottom: 1px solid #eeeeee;
+      color : #333;
+  font-size : 93%;
+       font-weight : bold;
+    padding : 4px;
+}
+
+input[type=submit]:active, input[type=button]:active, input[type=reset]:active {
+     border: 1px inset #666666;
+}
+
+td.resultscontrol,
+.searchresults td.resultscontrol {
+    background-color : #EEE;
+       border : 1px solid #E8E8E8;
+    vertical-align : middle;
+       padding : 3px 3px 5px 5px;
+}
+
+table {
+  background-color: #FFF;
+        border-collapse : collapse;
+    margin : 1em 0;
+        border-right : 1px solid #dddddd;
+      border-top : 1px solid #dddddd;
+}
+
+td,th {
+     background-color: #FFF;
+        border-left : 1px solid #dddddd;
+       border-bottom : 1px solid #dddddd;
+     padding : 3px 5px;
+}
+
+td.place_on_type table,
+td.place_on_type table td {
+      border : 0;
+}
+td caption {
+     font-size : 105%;
+}
+
+th {
+      background-color:#EEE;
+ font-weight : bold;
+    padding : 2px 23px;
+    text-align : center;
+}
+
+th.sum {
+       text-align: right;
+}
+
+td.sum {
+ background-color: #FFC;
+        font-weight: bold;
+}
+
+th[scope=row] {
+  text-align : right;
+}
+
+tr.highlight td, tr.highlight th, tr.odd td {
+   background-color : #F3F3F3;
+   border-top : 1px solid #DDDDDD;
+   border-bottom : 1px solid #DDDDDD;
+}
+
+tr.even td, tr.even.highlight td {
+     background-color: #FFF;
+}
+
+tr.grouplabel td {
+  background-color : #E8E8E8;
+    border : 1px solid #DDDDDD;
+    border-right : 1px solid #DDDDDD;
+      text-align : center;
+   font-weight : bold;
+    padding: 10px;
+}
+
+tr.reserved td {
+     background-color : #eeffd4;
+}
+tr.transfered td {
+       background-color : #e8f0f6;
+}
+
+#editions table, #editions td {
+ border : 0;
+}
+
+.header {
+       background-image:url("../../images/ascdesc.gif");
+      background-position:right center;
+      background-repeat:no-repeat;
+   cursor:pointer;
+}
+.headerSortUp {
+      background-image:url("../../images/asc.gif");
+}
+.headerSortDown {
+      background-image:url("../../images/desc.gif");
+}
+
+ul {
+ list-style : disc;
+     padding-left : 1em;
+}
+
+li {
+    list-style : disc;
+}
+
+p.availability {
+ font-size : 87%;
+}
+
+.available {
+       color : #006600;
+}
+
+.waiting,.intransit,.notforloan,.checkedout,.lost,.notonhold {
+     display : block;
+}
+.notforloan {
+       color : #900;
+}
+.lost {
+        color : #666;
+}
+.waiting {
+
+}
+
+/* "problem" enhancement */
+.problem {
+  color : white;
+ background-color : red;
+}
+
+/* style for search terms in catalogsearch */
+.term {
+       /* color : blue; */
+    color : #990000;
+    background-color : #FFFFCC;
+}
+
+a .term {
+  text-decoration : underline;
+}
+
+/* style for shelving location in catalogsearch */
+.shelvingloc {
+    display : block;
+    font-style : italic;
+}
+
+.transfered {
+       background-color : #F9FF9A;
+}
+
+/* action buttons */
+#action {
+  margin-top : .5em;
+     background-color : #F3F3F3;
+    border : 1px solid #E8E8E8;
+    padding-bottom : 3px;
+}
+
+#action li {
+  list-style : none;
+     margin : .2em;
+ padding : .3em 0;
+}
+
+#action a {
+       background-position : 5px center;
+      background-repeat : no-repeat;
+ text-decoration : none;
+        padding-left : 35px;
+}
+
+#action a.print {
+  background-image: url("../../images/sprite.png");
+  background-position: -5px -186px;
+  background-repeat: no-repeat;
+}
+
+#action a#furthersearches {
+    background-image: url("../../images/sprite.png");
+    background-position: 106px -295px;
+    background-repeat: no-repeat;
+        border : 1px solid #F3F3F3;
+    margin-left : 5px;
+     padding : 2px 26px 2px 10px;
+   text-decoration : none;
+}
+
+#action a#furthersearches:hover {
+   border-top : 1px solid #FFF;
+   border-left : 1px solid #FFF;
+  border-right : 1px solid #979797;
+      border-bottom : 1px solid #979797;
+}
+
+#action a.reserve,
+.searchresults a.reserve {
+  background-image: url("../../images/sprite.png");
+  background-position: -5px -144px;
+  background-repeat: no-repeat;
+}
+
+#action a.addtoshelf, #toolbar a.addtoshelf {
+  background-image: url("../../images/sprite.png");
+  background-position: -5px -225px;
+  background-repeat: no-repeat;
+}
+
+#action a.addtocart, #toolbar a.addtocart {
+  background-image: url("../../images/sprite.png");
+  background-position: -5px -265px;
+  background-repeat: no-repeat;
+}
+
+#action a.cartRemove, .actions a.cartRemove {
+   color: #cc3333;
+        font-size : 90%;
+       margin : 0;
+    padding: 0;
+}
+
+#action a.incart {
+  background-image: url("../../images/sprite.png");
+  background-position: -5px -265px;
+  background-repeat: no-repeat;
+  color : #666;
+}
+
+/* toolbar buttons */
+
+#toolbar,
+#selections-toolbar {
+background-color:#EEEEEE;
+border:1px solid #E8E8E8;
+margin : 0 0;
+padding:3px 3px 5px 5px;
+vertical-align:middle;
+}
+
+#basket #toolbar {
+    padding: 7px 5px 9px 9px;
+}
+
+#selections-toolbar {
+background: #E8E8E8; /* Old browsers */
+background: -moz-linear-gradient(top, #b2b2b2 0%, #e0e0e0 14%, #e8e8e8 100%); /* FF3.6+ */
+background: -webkit-gradient(linear, left top, left bottom, color-stop(0%,#b2b2b2), color-stop(14%,#e0e0e0), color-stop(100%,#e8e8e8)); /* Chrome,Safari4+ */
+background: -webkit-linear-gradient(top, #b2b2b2 0%,#e0e0e0 14%,#e8e8e8 100%); /* Chrome10+,Safari5.1+ */
+background: -o-linear-gradient(top, #b2b2b2 0%,#e0e0e0 14%,#e8e8e8 100%); /* Opera 11.10+ */
+background: -ms-linear-gradient(top, #b2b2b2 0%,#e0e0e0 14%,#e8e8e8 100%); /* IE10+ */
+background: linear-gradient(top, #b2b2b2 0%,#e0e0e0 14%,#e8e8e8 100%); /* W3C */
+filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#e0e0e0', endColorstr='#e8e8e8',GradientType=0 ); /* IE6-9 */
+    margin : 0 0 1em 0;
+    padding-top : .5em;
+    padding-left : 10px;
+}
+
+#toolbar a,
+#selections-toolbar a,
+#toolbar input,
+#selections-toolbar input {
+ white-space : nowrap;
+}
+
+#toolbar ul {
+ padding-left : 0;
+}
+
+#toolbar ul li {
+  display : inline;
+      list-style : none;
+}
+
+#toolbar ul li a {
+       border-left : 1px solid #e8e8e8;
+}
+
+#toolbar ul li:first-child a {
+     border-left : 0;
+}
+
+
+#toolbar a.print {
+    background-image: url("../../images/sprite.png");
+    background-position : 0px -423px;
+    background-repeat: no-repeat;
+  text-decoration : none;
+        padding-left : 30px;
+}
+
+#toolbar a.brief {
+    background-image : url("../../images/sprite.png");
+    background-position : -2px -868px;
+    background-repeat: no-repeat;
+     text-decoration : none;
+        padding-left : 27px;
+}
+
+#toolbar a.detail {
+    background-image : url("../../images/sprite.png");
+    background-position : -2px -898px;
+    background-repeat: no-repeat;
+    text-decoration : none;
+        padding-left : 27px;
+}
+
+#toolbar a.download {
+    background-image : url("../../images/sprite.png");
+    background-position : 2px -348px;
+    background-repeat: no-repeat;
+    padding-left : 28px;
+  text-decoration : none;
+}
+
+#toolbar a.editshelf {
+    background-image : url("../../images/sprite.png");
+    background-position : 2px -348px;
+    background-repeat: no-repeat;
+       padding-left : 26px;
+   text-decoration : none;
+}
+
+#toolbar a.empty {
+    background-image : url("../../images/sprite.png");
+    background-position : 2px -598px;
+    background-repeat: no-repeat;
+   text-decoration : none;
+    padding-left : 30px;
+}
+
+#toolbar a.hide {
+    background-image : url("../../images/sprite.png");
+    background-position: -3px -814px;
+    background-repeat: no-repeat;
+   text-decoration : none;
+        padding-left : 26px;
+}
+
+#toolbar a.hold,
+#selections-toolbar a.hold {
+    background-image: url("../../images/sprite.png");
+    background-position : -5px -453px;
+    background-repeat: no-repeat;
+   text-decoration : none;
+        padding-left : 23px;
+}
+
+#selections-toolbar a.hold.disabled {
+    background-image: url("../../images/sprite.png");
+    background-position : -5px -621px;
+    background-repeat: no-repeat;
+}
+
+#selections-toolbar a.removeitems,
+#selections-toolbar a.deleteshelf {
+    background-image : url("../../images/sprite.png");
+    background-position : 2px -690px;
+    background-repeat: no-repeat;
+  text-decoration : none;
+        padding-left : 25px;
+}
+
+
+#selections-toolbar a.removeitems.disabled,
+#selections-toolbar a.deleteshelf.disabled {
+    background-image: url("../../images/sprite.png");
+    background-position : 2px -712px;
+    background-repeat: no-repeat;
+}
+
+#toolbar a.send,
+a.send {
+    background-image: url("../../images/sprite.png");
+    background-position : 2px -386px;
+    background-repeat: no-repeat;
+     text-decoration : none;
+        padding-left : 28px;
+}
+
+#toolbar a.new {
+    background-image : url("../../images/sprite.png");
+    background-position : -4px -922px;
+    background-repeat : no-repeat;
+      padding-left : 23px;
+   text-decoration : none;
+}
+
+#toolbar input.editshelf,
+input.editshelf {
+    background-image : url("../../images/sprite.png");
+    background-position : 2px -732px;
+    background-repeat: no-repeat;
+  border : 0;
+    color : #006699;
+       cursor : pointer;
+      font-size : 100%;
+      padding-left : 29px;
+   text-decoration : none;
+}
+
+#toolbar input.newshelf,
+#toolbar a.newshelf,
+a.newshelf {
+    background-image: url("../../images/sprite.png"); /* add to list icon */
+    background-position: -4px -864px;
+    background-repeat: no-repeat;
+     border : 0;
+    color : #006699;
+       cursor : pointer;
+      font-size : 100%;
+      margin: 0 0.5em;
+    padding-left : 23px;
+      text-decoration : none;
+}
+
+a.newshelf.disabled {
+    background-image: url("../../images/sprite.png"); /* add to list icon */
+    background-position: -4px -791px;
+    background-repeat: no-repeat;
+}
+
+#toolbar input.deleteshelf,
+input.deleteshelf {
+    background-image : url("../../images/sprite.png");
+    background-position : 2px -685px;
+    background-repeat: no-repeat;
+        border : 0;
+    color : #006699;
+       cursor : pointer;
+      font-size : 100%;
+    padding-left : 25px;
+     text-decoration : none;
+}
+
+#toolbar input.deleteshelf:hover {
+  color: #990033;
+}
+
+
+#toolbar input.editshelf:active,
+input.editshelf:active,
+#toolbar input.deleteshelf:active,
+input.deleteshelf:active {
+     border : 0;
+}
+
+#selections {
+   font-weight : bold;
+}
+
+#tagsel_span input.submit,
+#tagsel_tag {
+    background-image : url("../../images/sprite.png"); /* tag icon */
+    background-position : 7px -640px;
+    background-repeat : no-repeat;
+ padding-left : 25px;
+   text-decoration: none;
+}
+
+#tagsel_tag {
+    background-position : -1px -643px;
+}
+
+#tagsel_tag.disabled {
+    background-position : -1px -667px;
+}
+
+#tagslist li { display : inline; }
+
+a.tag_results_add {
+    background-image: url(../../images/tag-small.png);
+    background-position : -1px center;
+    background-repeat : no-repeat;
+    padding-left : 13px;
+    text-decoration: none;
+}
+
+#login4tags {
+    background-image: url(../../images/tag-small-disabled.png);
+    background-position : -1px center;
+    background-repeat : no-repeat;
+    padding-left : 13px;
+    text-decoration: none;
+    margin-left: 1em;
+}
+
+.tag_results_input {
+    background-color: #EEE;
+    display: none;
+    margin-left: 1em;
+    padding: 0.3em;
+}
+
+#placehold input.submit:hover,
+#tagsel_span input.submit:hover {
+      color: #990033;
+}
+
+#addto {
+    max-width : 10em;
+}
+
+.addto a.addtocart {
+  background-image: url("../../images/sprite.png"); /* cart icon */
+  background-position: -5px -265px;
+    background-repeat: no-repeat;
+    text-decoration : none;
+        padding-left : 33px;
+}
+
+#placehold input.submit {
+    background-image: url("../../images/sprite.png"); /* place hold icon */
+    background-position: -1px -140px;
+    background-repeat: no-repeat;
+  text-decoration : none;
+        padding-left : 23px;
+}
+
+#placehold input.submit,
+#tagsel_span input.submit {
+   border : 0;
+    background-color: transparent;
+ font-size : 100%;
+      font-weight : bold;
+    padding-left : 31px;
+   color : #336699;
+       cursor : pointer;
+}
+.searchresults a.highlight_toggle {
+    background-image: url("../../images/sprite.png"); /* place hold icon */
+    background-position: -11px -841px;
+    background-repeat: no-repeat;
+   display: none;
+ font-weight: normal;
+   padding : 0 10px 0 21px;
+}
+
+/* the itemtype list in advanced search */
+.advsearch table {
+      border-collapse : separate;
+    border-spacing : 3px;
+  border : 0px;
+  margin : 0px;
+  background-color : white;
+      border : 0px solid #D8DEB8;
+}
+
+.advsearch table tr td {
+        background-color : #F8F8EB;
+    border : 0px;
+  margin : 0px;
+  width : 700px;
+}
+
+.advsearch td {
+      font-size : 0.8em;
+     background-color : #F8F8EB;
+}
+
+body#advsearch #breadcrumbs {
+   line-height : 1px;
+     height : 1px;
+  padding : 0;
+}
+
+body#advsearch #cartmenulink,
+body#advsearch #listsmenulink {
+  float : right;
+}
+
+#advsearch #branchloop,
+#advsearch #sort_by {
+        width : 23em;
+}
+
+#auth {
+       float : left;
+}
+
+#facets {
+
+}
+
+/* the footer */
+#footer {
+      margin-top : 30px;
+     margin-left : 30%;
+     margin-right : 20%;
+    border-top : 1px solid #384b73;
+        color : #384b73;
+       font-size : 1em;
+       text-align : center;
+}
+
+/* facets bloc */
+/* the USER information block */
+#librarian_information {
+    float : right;
+ font-size : 10pt;
+}
+
+#header-wrapper {
+ background-color: #FFF;
+}
+
+#holds,#opac-auth {
+ min-width : 750px;
+     width : 57.69em;
+       margin : auto;
+}
+
+#members {
+   background-color: #fff;
+        font-size : 85%;
+       margin-left : -10px;
+   margin-right : -10px;
+  padding : 4px 0 4px 0;
+ color : #000066;
+}
+
+#members a {
+       text-decoration : none;
+}
+
+#members a.logout {
+ color : #cc3333;
+       font-weight : bold;
+    padding : 0 .3em 0 .3em;
+       text-decoration : none;
+}
+
+#members li:last-child {
+    border-right : 0;
+}
+
+#members li {
+     border-right : 1px solid black;
+        display : inline;
+      list-style : none;
+     margin : 0;
+    padding : 0 .5em;
+}
+
+#members ul {
+     margin : 0;
+    padding : 0;
+   text-align : right;
+}
+
+#opac-main-search {
+     background: #8fb4e8; /* Old browsers */
+        background: -moz-linear-gradient(top, #8fb4e8 0%, #8cb1e5 19%, #80a8dc 48%, #7da5d8 52%, #7198cf 83%, #618ac0 100%); /* FF3.6+ */
+      background: -webkit-gradient(linear, left top, left bottom, color-stop(0%,#8fb4e8), color-stop(19%,#8cb1e5), color-stop(48%,#80a8dc), color-stop(52%,#7da5d8), color-stop(83%,#7198cf), color-stop(100%,#618ac0)); /* Chrome,Safari4+ */
+       background: -webkit-linear-gradient(top, #8fb4e8 0%,#8cb1e5 19%,#80a8dc 48%,#7da5d8 52%,#7198cf 83%,#618ac0 100%); /* Chrome10+,Safari5.1+ */
+  background: -o-linear-gradient(top, #8fb4e8 0%,#8cb1e5 19%,#80a8dc 48%,#7da5d8 52%,#7198cf 83%,#618ac0 100%); /* Opera 11.10+ */
+       background: -ms-linear-gradient(top, #8fb4e8 0%,#8cb1e5 19%,#80a8dc 48%,#7da5d8 52%,#7198cf 83%,#618ac0 100%); /* IE10+ */
+     background: linear-gradient(top, #8fb4e8 0%,#8cb1e5 19%,#80a8dc 48%,#7da5d8 52%,#7198cf 83%,#618ac0 100%); /* W3C */
+   filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#8fb4e8', endColorstr='#618ac0',GradientType=0 ); /* IE6-9 */
+       border-top : 1px solid #335599;
+        border-bottom : 1px solid #335599;
+     margin-left : -10px;
+   margin-right : -10px;
+  padding : .7em 0 .4em .5em;
+    font-size : 108%;
+      line-height : 116%;
+}
+
+#opac-main-search form {
+        display : inline;
+      padding-right : 1em;
+}
+
+#opac-main-search label {
+      color : #FFFFCC;
+       font-weight : bold;
+    margin : .2em .3em 0 0;
+}
+
+#masthead_search,
+#select_library {
+ max-width: 10em;
+       width: 10em;
+}
+
+
+#search-facets ul {
+   margin : 0;
+    padding : .3em;
+}
+
+#search-facets {
+    border : 1px solid #e8e8e8;
+}
+
+#search-facets h4 {
+     background-color : #EEE;
+       border-bottom : 1px solid #e8e8e8;
+     font-size : 90%;
+       margin : 0;
+    padding : .7em .2em;
+   text-align : center;
+}
+
+#search-facets ul li {
+ font-weight : bold;
+    list-style-type : none;
+}
+
+#search-facets li li {
+      font-weight : normal;
+  font-size : 85%;
+       margin-bottom : 2px;
+   padding : .1em .2em;
+}
+
+#search-facets li li a {
+       font-weight : normal;
+}
+
+#search-facets li.showmore a {
+        font-weight : bold;
+    text-indent : 1em;
+}
+
+.suggestion {
+    background-color : #EEEEEB;
+    border : 1px solid #DDDED3;
+    margin : 10px auto;
+    padding : 4px;
+ width : 35%;
+}
+
+#facets ul {
+   margin : 0;
+    padding : 0;
+}
+
+#facets ul li {
+        font-weight : bold;
+    text-align : left;
+     list-style : none;
+}
+
+#facets ul ul li {
+       border : 0;
+    font-size : 85%;
+       font-weight : normal;
+  padding : 2px;
+ text-align : left;
+}
+
+#facets ul ul li a {
+     font-weight : normal;
+  text-decoration : underline;
+}
+
+#facets h4 {
+   font-size : 93%;
+       padding:3px;
+   text-align:center;
+     background-color:#E7E7CA;
+      line-height:1.8em;
+     margin-left:-1px;
+      margin-right:-1px;
+     margin-top:-1px;
+}
+
+#breadcrumbs {
+     padding : .7em;
+}
+
+p {
+ margin: .7em 0;
+}
+
+strong {
+    font-weight : bold;
+}
+
+em {
+    font-style : italic;
+}
+
+
+table#marc,
+table#marc td,
+table#marc th {
+    background-color : transparent;
+        border : 0;
+}
+
+table#marc p span.label {
+       font-weight : bold;
+}
+
+table#marc p,
+table#marc ul {
+   padding-bottom: .6em;
+}
+
+table#items,
+table#items td
+table#items th {
+  border-width : 1px solid #EEE;
+ font-size : 90%;
+}
+
+
+table#marc div.results_summary {
+  clear :  left;
+}
+table#marc div.results_summary ul {
+   display : inline;
+      float :  none;
+ clear :  none;
+ margin: 0;
+     padding: 0;
+    list-style : none;
+}
+
+table#marc div.results_summary ul li {
+   display : inline;
+}
+
+#basketcount {
+    display : inline;
+}
+
+#bookcover {
+      float : left;
+  margin : 0;
+    padding : 0;
+}
+
+#bookcover img {
+       margin : 0 1em 1em 0;
+}
+
+fieldset.brief {
+      border : 1px solid #E8E8E8;
+}
+
+fieldset.brief legend {
+ font-weight : bold;
+    font-size : 100%;
+}
+
+fieldset.brief label {
+    display : block;
+       padding : .3em 0;
+}
+
+fieldset.brief input+input {
+      margin-top : 3px;
+}
+
+fieldset.brief input, fieldset.brief textarea, fieldset.brief select {
+    background-color: #F3F3F3;
+     border-top : 1px solid #979797;
+        border-left : 1px solid #979797;
+       border-right : 1px solid #DDDDDD;
+      border-bottom : 1px solid #DDDDDD;
+     font-size : 140%;
+      padding : .2em;
+        font-weight: normal;
+}
+
+fieldset.brief textarea {
+      font-size: 105%;
+}
+
+fieldset.brief input:focus {
+       background-color: #FFFFCC;
+}
+
+fieldset.brief ol, fieldset.brief li {
+   list-style-type : none;
+}
+
+fieldset.brief div.hint, fieldset.rows div.hint {
+   color : #666666;
+       font-size : 100%;
+      margin : .4em;
+}
+
+h2 span.hint {
+       font-size: 76%;
+        font-weight : normal;
+}
+.thumbnail {
+   border : 0;
+    float : left;
+  margin : 0pt 5px 5px 0pt;
+}
+a.cancel {
+ padding-left : 1em;
+}
+
+.resultscontrol, .resultscontrol select {
+       font-size: 90%;
+}
+
+.cartlist {
+ margin-top : 5px;
+}
+
+.cartlist input.submit, #tagsel_button {
+  background-color : #d8deb8;
+    background-image : none;
+       border-color : #bebf84;
+        color : #333;
+  font-size : 87%;
+       padding : 2px 0;
+       margin : 0 0 0 0;
+}
+
+#CheckAll, #CheckNone {
+   font-weight : normal;
+  margin : 0 .5em;
+}
+
+.resultscontrol label {
+    font-weight : bold;
+    margin-left : .5em;
+}
+
+.resort {
+       float : right;
+ margin-top : 5px;
+}
+
+.searchresults p.details {
+        color : #979797;
+}
+
+.searchresults p {
+ margin: 0;
+     padding: 0 0 .6em 0;
+}
+
+td.resultscontrol img {
+        vertical-align: middle;
+}
+
+.searchresults table td {
+}
+
+.searchresults table {
+ margin : 0;
+}
+
+.searchresults td, .searchresults th, .searchresults table {
+    border: 0;
+}
+.searchresults td {
+       vertical-align: top;
+}
+
+.searchresults tr {
+    border-bottom : 1px solid #f3f3f3;
+}
+
+.searchresults tr:first-child {
+  border : 0;
+}
+
+.searchresults table {
+  border-top : 0px solid #CCCCCC;
+        width : 100%;
+}
+
+.searchresults a.reserve, .searchresults a.reserve:visited {
+  background-position:left top;
+  background-repeat:no-repeat;
+   float:right;
+   padding:2px 3px 2px 26px;
+}
+
+.searchresults a.reserve {
+        background-color:transparent;
+  color:#006699;
+}
+
+.unavailable, .tagerror, .tagerror:visited {
+ color: #990033;
+}
+
+#libraryname {
+      float : left;
+  line-height : 2em;
+}
+
+#corner {
+        float : right;
+ line-height : 2em;
+}
+
+.pages {
+ line-height : 1.8em;
+   text-align: center;
+}
+
+.current,
+.currentPage {
+        background-color: #FFFFFF;
+     color: #3366CC;
+        font-weight: bold;
+     padding: 1px 5px 1px 5px;
+      text-decoration: none;
+}
+
+a:link.nav,
+div.pages a:link {
+       background-color: #EEE;
+        border: 1px solid #CCCC99;
+     color: #3366CC;
+        font-weight: bold;
+     padding: 1px 5px 1px 5px;
+      text-decoration: none;
+}
+
+a:visited.nav,
+div.pages a:visited {
+ background-color: #EEE;
+        border: 1px solid #CCCC99;
+     color: #3366CC;
+        font-weight: bold;
+     padding: 1px 5px 1px 5px;
+      text-decoration: none;
+}
+
+a:hover.nav,
+div.pages a:hover {
+     background-color: #FFFFCC;
+     border: 1px solid #CCCC99;
+     color: #CC3333;
+        font-weight: bold;
+     padding: 1px 5px 1px 5px;
+      text-decoration: none;
+}
+
+a:active.nav,
+div.pages a:active {
+   background-color: #FFFFCC;
+     border: 1px solid #CCCC99;
+     color: #D25500;
+        font-weight: bold;
+     padding: 1px 5px 1px 5px;
+      text-decoration: none;
+}
+
+/* Tabs */
+ul.link-tabs {
+    list-style-type: none;
+ margin: 9px 0 -2px 5px;
+        padding: 0;
+}
+
+ul.link-tabs li {
+       display: inline;
+       padding: 0px;
+}
+
+ul.link-tabs li a {
+   font-weight: bold;
+     padding: 2px 4px 2px 4px;
+      text-decoration: none;
+ border-top: 1px solid #DDDDDD;
+ border-left : 1px solid #DDDDDD;
+       border-right : 1px solid #666666;
+}
+
+ul.link-tabs li#power_formButton a, ul.link-tabs li#proximity_formButton a {
+      padding: 2px 4px 3px 4px;
+}
+
+ul.link-tabs li.off a {
+   background-color: #EEEEEB;
+     border-bottom: 1px solid #DDDDDD;
+}
+
+ul.link-tabs li.off a:hover {
+     padding: 2px 3px 2px 4px;
+      background-color: #FFFFEC;
+     border-top: 1px solid #BEBF84;
+ border-left : 1px solid #BEBF84;
+       border-right : 2px solid #333333;
+}
+
+ul.link-tabs li.on a {
+    background-color: #FFFFFF;
+     border-bottom: 1px solid #FFFFFF;
+}
+
+ul.link-tabs li a.debit {
+ background-color : #FFFF99;
+    color : #990033;
+}
+
+div.tab-container {
+        border : 1px solid #DDDDDD;
+    margin-top : 4px;
+      padding : .7em;
+        width : 90%;
+}
+
+tr.overdue td {
+        background-color : #ffcccc;
+    border-bottom : 1px solid #ffaeae;
+     border-right : 1px solid #ffaeae;
+      font-weight : bold;
+}
+
+td.overdue {
+    color : #cc3333;
+}
+
+.renewals {
+        display:block;
+ font-size:0.8em;
+       padding:0.5em;
+}
+
+table#marc, table#marc td, table#marc th {
+   border : 0;
+}
+
+table#marc th {
+ background-color : transparent;
+        text-align : left;
+}
+
+table#marc td:first-child {
+      text-indent : 2em;
+}
+#masthead {
+float: left;
+width: 120px;
+}
+
+#fluid {
+margin-left: 124px;
+margin-top : .4em;
+padding-left : 1em;
+}
+
+#fluid-offset {
+float : right;
+width: 100%;
+}
+
+#translControl{
+float : left;
+padding-left : .4em;
+}
+
+.clearfix:after {
+    content: ".";
+    display: block;
+    height: 0;
+    clear: both;
+    visibility: hidden;
+}
+
+/* Hides from IE-mac \*/
+* html .clearfix {height: 1%;}
+/* End hide from IE-mac */
+
+.results_summary {
+   display: block;
+        font-size : 85%;
+       color: #707070;
+        padding : 0 0 .5em 0;
+}
+.results_summary .results_summary {
+    font-size : 100%;
+}
+
+.results_summary.actions {
+    margin-top : .5em;
+}
+
+.m880 {
+    display:block;
+    text-align:right;
+    float:right;
+    width:50%;
+    padding-left:20px
+}
+
+.searchresults .tagstatus {
+        display: block;
+        color: #707070;
+}
+
+.results_summary .label {
+   color: #202020;
+}
+
+.results_summary a {
+        font-weight: normal;
+}
+
+.actions a {
+   margin-left : 1em;
+     text-decoration : none;
+}
+
+.actions a.hold {
+    background-image : url("../../images/sprite.png");
+    background-position : -10px -542px;
+    background-repeat: no-repeat;
+  padding-left : 16px;
+}
+
+.actions a.addtocart {
+    background-image : url("../../images/sprite.png");
+    background-position : -10px -572px;
+    background-repeat: no-repeat;
+    padding-left : 15px;
+       display : none;
+}
+
+.actions a.addtoshelf {
+    background-image : url("../../images/sprite.png");
+    background-position: -10px -27px;
+    background-repeat: no-repeat;
+      padding-left : 13px;
+}
+
+.dialog {
+  border: 1px solid #bcbcbc;
+ padding : .5em;
+        margin : 1em auto;
+  width: 65%;
+  }
+
+.dialog  h2, .dialog h3, .dialog h4 {
+       margin : auto;
+    text-align : center;
+  }
+
+div.alert {
+  background: #fef8d3; /* Old browsers */
+        background: -moz-linear-gradient(top, #fef8d3 0%, #ffec91 9%, #ffed87 89%, #f9dc00 100%); /* FF3.6+ */
+ background: -webkit-gradient(linear, left top, left bottom, color-stop(0%,#fef8d3), color-stop(9%,#ffec91), color-stop(89%,#ffed87), color-stop(100%,#f9dc00)); /* Chrome,Safari4+ */
+  background: -webkit-linear-gradient(top, #fef8d3 0%,#ffec91 9%,#ffed87 89%,#f9dc00 100%); /* Chrome10+,Safari5.1+ */
+   background: -o-linear-gradient(top, #fef8d3 0%,#ffec91 9%,#ffed87 89%,#f9dc00 100%); /* Opera11.10+ */
+ background: -ms-linear-gradient(top, #fef8d3 0%,#ffec91 9%,#ffed87 89%,#f9dc00 100%); /* IE10+ */
+      filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#fef8d3', endColorstr='#f9dc00',GradientType=0 ); /* IE6-9 */
+       background: linear-gradient(top, #fef8d3 0%,#ffec91 9%,#ffed87 89%,#f9dc00 100%); /* W3C */
+    text-align : center;
+}
+
+div.alert strong {
+     color : #900;
+}
+
+div.message {
+ background: #ffffff; /* Old browsers */
+        background: -moz-linear-gradient(top, #ffffff 0%, #f4f6fa 2%, #eaeef5 23%, #e8edf6 94%, #cddbf2 100%); /* FF3.6+ */
+    background: -webkit-gradient(linear, left top, left bottom, color-stop(0%,#ffffff), color-stop(2%,#f4f6fa), color-stop(23%,#eaeef5), color-stop(94%,#e8edf6), color-stop(100%,#cddbf2)); /* Chrome,Safari4+ */
+ background: -webkit-linear-gradient(top, #ffffff 0%,#f4f6fa 2%,#eaeef5 23%,#e8edf6 94%,#cddbf2 100%); /* Chrome10+,Safari5.1+ */
+       background: -o-linear-gradient(top, #ffffff 0%,#f4f6fa 2%,#eaeef5 23%,#e8edf6 94%,#cddbf2 100%); /* Opera11.10+ */
+     background: -ms-linear-gradient(top, #ffffff 0%,#f4f6fa 2%,#eaeef5 23%,#e8edf6 94%,#cddbf2 100%); /* IE10+ */
+  filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#ffffff', endColorstr='#cddbf2',GradientType=0 ); /* IE6-9 */
+       background: linear-gradient(top, #ffffff 0%,#f4f6fa 2%,#eaeef5 23%,#e8edf6 94%,#cddbf2 100%); /* W3C */
+        border : 1px solid #bcbcbc;
+    width : 55%;
+}
+
+#moresearches {
+        clear : left;
+  color : #000099;
+       font-size : 90%;
+       line-height : 110%;
+    margin : .6em 0 .3em 0;
+}
+
+#moresearches a:link, #moresearches a:visited {
+     color : #e5ebff;
+       font-weight : normal;
+  text-decoration : none;
+}
+
+#news th {
+  text-align : left;
+     padding : 3px 5px;
+}
+
+#opac-main-search #listsmenu a, #opac-main-search #listsmenu h4 {
+        color : #000;
+  font-weight : normal;
+}
+ #opac-main-search #listsmenu h4 {
+       font-size : 90%;
+   font-weight : bold;
+    margin : 0 .2em;
+ }
+
+#opac-main-search #listsmenu .yuimenuitemlabel {
+  cursor : pointer;
+}
+
+#opac-main-search #listsmenu .bd {
+        background: #eef4fe; /* Old browsers */
+        background: -moz-linear-gradient(left, #eef4fe 0%, #eef4fe 88%, #f6f9fe 98%, #ffffff 99%, #a5c2f6 99%, #e6eefe 100%, #cbdefe 100%); /* FF3.6+ */
+       background: -webkit-gradient(linear, left top, right top, color-stop(0%,#eef4fe), color-stop(88%,#eef4fe), color-stop(98%,#f6f9fe), color-stop(99%,#ffffff), color-stop(99%,#a5c2f6), color-stop(100%,#e6eefe), color-stop(100%,#cbdefe)); /* Chrome,Safari4+ */
+       background: -webkit-linear-gradient(left, #eef4fe 0%,#eef4fe 88%,#f6f9fe 98%,#ffffff 99%,#a5c2f6 99%,#e6eefe 100%,#cbdefe 100%); /* Chrome10+,Safari5.1+ */
+    background: -o-linear-gradient(left, #eef4fe 0%,#eef4fe 88%,#f6f9fe 98%,#ffffff 99%,#a5c2f6 99%,#e6eefe 100%,#cbdefe 100%); /* Opera11.10+ */
+  background: -ms-linear-gradient(left, #eef4fe 0%,#eef4fe 88%,#f6f9fe 98%,#ffffff 99%,#a5c2f6 99%,#e6eefe 100%,#cbdefe 100%); /* IE10+ */
+       filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#eef4fe', endColorstr='#cbdefe',GradientType=1 ); /* IE6-9 */
+       background: linear-gradient(left, #eef4fe 0%,#eef4fe 88%,#f6f9fe 98%,#ffffff 99%,#a5c2f6 99%,#e6eefe 100%,#cbdefe 100%); /* W3C */
+     border : 1px solid #739acf;
+    padding : .3em 1em 0 0;
+}
+
+#opac-main-search #listsmenu .yuimenuitemlabel.selected {
+   background-color : #fff;
+}
+
+#opac-main-search #listsmenu ul {
+  border-color : #b8d0e6;
+}
+
+.selectcol {
+        vertical-align: top;
+   width: 10px;
+}
+.itypecol {
+     vertical-align: top;
+   width: 10px;
+}
+#container {
+    color : #000;
+}
+
+div#changelanguage{
+   background-color: #fff;
+        border-top: 1px solid #CCC;
+    color : #666;
+  font-size : 85%;
+       padding : 1em;
+ margin-top : 2em;
+ }
+
+div#changelanguage a {
+   font-weight : normal;
+  padding : .5em 0;
+}
+
+div#changelanguage li.yuimenuitem {
+    font-size: 120%;
+    font-weight: normal;
+    margin: 0;
+    padding: 0 1em;
+}
+div#changelanguage li.yuimenuitem a.yuimenuitemlabel {
+    padding: 0;
+}
+
+ul#i18nMenu {
+    margin : 0;
+    padding : .2em 0;
+ }
+
+ul#i18nMenu li {
+ border-left : 1px solid #CCC;
+  display : inline;
+      list-style : none;
+     padding : 0 .4em;
+ }
+
+ul#i18nMenu li:first-child {
+     border-left : 0;
+ }
+
+ul#i18nMenu li ul li {
+    border : 0;
+    display : block;
+       padding : 0;
+ }
+
+
+ul#i18nMenu li.more a {
+    background-image : url("../../images/sprite.png");
+    background-position : 37px -940px;
+        background-repeat:no-repeat;
+   padding-right: 1.3em;
+}
+
+ul#i18nMenu li.more ul li a {
+ background-image : none;
+       padding: 0 1.3em;
+}
+
+span.lang{
+        float:left;
+    border-right : 1px solid black;
+        padding : 0 .5em;
+}
+
+#cartDetails,#cartUpdate,#holdDetails,#listsDetails {
+     background-color : #FFF;
+       border: 1px solid #739acf;
+     color : black;
+ display : none;
+        margin : 0;
+    padding : 10px;
+        text-align : center;
+   width : 180px;
+ box-shadow: 1px 1px 3px #666;
+  -moz-box-shadow: 1px 1px 3px #666;
+     -webkit-box-shadow: 1px 1px 3px #666;
+  z-index: 2;
+
+}
+
+.yui-panel .hd, .yui-panel .bd, .yui-panel .ft {
+       background-color : transparent;
+        border : 0;
+    padding : inherit;
+}
+
+#login #userid, #login #password {
+       width : 98%;
+}
+
+#opac-main-search input.submit {
+       background: #e6f3fe; /* Old browsers */
+        background: -moz-linear-gradient(top, #e6f3fe 0%, #dfeefa 8%, #bfd5ea 49%, #b8d0e6 52%, #b8d0e6 100%); /* FF3.6+ */
+    background: -webkit-gradient(linear, left top, left bottom, color-stop(0%,#e6f3fe), color-stop(8%,#dfeefa), color-stop(49%,#bfd5ea), color-stop(52%,#b8d0e6), color-stop(100%,#b8d0e6)); /* Chrome,Safari4+ */
+ background: -webkit-linear-gradient(top, #e6f3fe 0%,#dfeefa 8%,#bfd5ea 49%,#b8d0e6 52%,#b8d0e6 100%); /* Chrome10+,Safari5.1+ */
+       background: -o-linear-gradient(top, #e6f3fe 0%,#dfeefa 8%,#bfd5ea 49%,#b8d0e6 52%,#b8d0e6 100%); /* Opera11.10+ */
+     background: -ms-linear-gradient(top, #e6f3fe 0%,#dfeefa 8%,#bfd5ea 49%,#b8d0e6 52%,#b8d0e6 100%); /* IE10+ */
+  filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#e6f3fe', endColorstr='#b8d0e6',GradientType=0 ); /* IE6-9 */
+       background: linear-gradient(top, #e6f3fe 0%,#dfeefa 8%,#bfd5ea 49%,#b8d0e6 52%,#b8d0e6 100%); /* W3C */
+        -webkit-border-radius: 4px;
+    -moz-border-radius: 4px;
+       border-radius: 4px;
+    -webkit-box-shadow: 1px 1px 1px 1px , , .3);
+   -moz-box-shadow: 1px 1px 1px 1px , , .3);
+      box-shadow: 1px 1px 1px 1px , , .3);
+
+  color : #333;
+  font-weight : normal;
+  font-size : 80%;
+       padding : 2px;
+}
+
+div#menu {
+   border-right : 1px solid #979797;
+      font-size : 94%;
+       margin-right : .5em;
+   padding-top : 1em;
+     padding-bottom : 2em;
+}
+
+div#menu li a {
+       background: #eeeeee; /* Old browsers */
+        background: -moz-linear-gradient(left, #eeeeee 0%, #eeeeee 96%, #e6e6e6 97%, #cccccc 99%, #c1c1c1 100%); /* FF3.6+ */
+  background: -webkit-gradient(linear, left top, right top, color-stop(0%,#eeeeee), color-stop(96%,#eeeeee), color-stop(97%,#e6e6e6), color-stop(99%,#cccccc), color-stop(100%,#c1c1c1)); /* Chrome,Safari4+ */
+  background: -webkit-linear-gradient(left, #eeeeee 0%,#eeeeee 96%,#e6e6e6 97%,#cccccc 99%,#c1c1c1 100%); /* Chrome10+,Safari5.1+ */
+     background: -o-linear-gradient(left, #eeeeee 0%,#eeeeee 96%,#e6e6e6 97%,#cccccc 99%,#c1c1c1 100%); /* Opera 11.10+ */
+  background: -ms-linear-gradient(left, #eeeeee 0%,#eeeeee 96%,#e6e6e6 97%,#cccccc 99%,#c1c1c1 100%); /* IE10+ */
+        background: linear-gradient(left, #eeeeee 0%,#eeeeee 96%,#e6e6e6 97%,#cccccc 99%,#c1c1c1 100%); /* W3C */
+      filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#eeeeee', endColorstr='#c1c1c1',GradientType=1 ); /* IE6-9 */
+       text-decoration : none;
+        display : block;
+       border : 1px solid #979797;
+    font-size : 111%;
+      margin : .5em 0;
+       padding : .4em .3em;
+   margin-right : -1px;
+}
+
+div#menu li a:hover {
+  background: #eaeef5; /* Old browsers */
+        background: -moz-linear-gradient(left, #eaeef5 0%, #dee6f4 96%, #c4d5ef 98%, #a2bee8 100%); /* FF3.6+ */
+       background: -webkit-gradient(linear, left top, right top, color-stop(0%,#eaeef5), color-stop(96%,#dee6f4), color-stop(98%,#c4d5ef), color-stop(100%,#a2bee8)); /* Chrome,Safari4+ */
+   background: -webkit-linear-gradient(left, #eaeef5 0%,#dee6f4 96%,#c4d5ef 98%,#a2bee8 100%); /* Chrome10+,Safari5.1+ */
+ background: -o-linear-gradient(left, #eaeef5 0%,#dee6f4 96%,#c4d5ef 98%,#a2bee8 100%); /* Opera 11.10+ */
+      background: -ms-linear-gradient(left, #eaeef5 0%,#dee6f4 96%,#c4d5ef 98%,#a2bee8 100%); /* IE10+ */
+    background: linear-gradient(left, #eaeef5 0%,#dee6f4 96%,#c4d5ef 98%,#a2bee8 100%); /* W3C */
+  filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#eaeef5', endColorstr='#a2bee8',GradientType=1 ); /* IE6-9 */
+}
+
+div#menu li.active a:hover {
+       background-color : #fff;
+       color : #0000CC;
+}
+
+#menu ul li {
+      list-style-type : none;
+}
+
+#menu ul li.active a {
+      background-color : #FFF;
+       background-image : none;
+       border-right : 0;
+      font-weight : bold;
+}
+
+.left {
+ float : left;
+}
+
+.right {
+      float : right;
+}
+
+#searchsubmit {
+      cursor : default;
+      font-size : 87%;
+       font-weight :  normal;
+ margin-top : 0;
+        margin-left :  .2em;
+   padding: 2px 2px 1px 2px;
+}
+
+#export,#further,.detailtagcell {
+ margin-top : .5em;
+     background-color : #F3F3F3;
+    border : 1px solid #E8E8E8;
+    font-size : 76%;
+       padding : 3px;
+ text-align : center;
+}
+#furtherm { margin-top : .5em; }
+
+#export label, .detailtagcell label {
+ display : block;
+       font-weight : bold;
+    font-size : 110%;
+      margin-bottom : 2px;
+}
+
+#export input, .detailtagcell input {
+  padding : 2px;
+}
+
+#amazonreviews h4 {
+  font-size : 90%;
+       margin : 0;
+    padding : 0;
+}
+#amazonreviews h3 {
+     font-size : 100%;
+      margin : 0;
+    padding : 0;
+}
+span.starFull {
+ background: url(../../images/star-ratings.gif) top left no-repeat;
+     display : block;
+       height: 10px;
+  margin: 0;
+     padding: 0;
+}
+
+span.starMT {
+   background: url(../../images/star-ratings-empty.gif) top left no-repeat;
+       display : block;
+       height: 10px;
+  margin: 0 10px 0 10px;
+ padding: 0;
+    position: relative;
+    width: 50px;
+}
+
+#cartmenulink, #listsmenulink {
+        background-repeat: no-repeat;
+  -webkit-border-radius: 5px;
+    -moz-border-radius: 5px;
+       border-radius: 5px;
+    display : block;
+       position : relative;
+   float : left;
+  color : #333;
+  text-decoration : none;
+        cursor : pointer;
+      font-size : 105%;
+      font-weight : bold;
+    line-height : 185%;
+    margin-left : 1.5em;
+   padding : .3em .7em;
+}
+
+#listsmenulink {
+       background : #9FBFFF;
+    background: url("../../images/sprite.png"),-moz-linear-gradient(top, #d7e5ff 0%, #b1cbff 50%, #9fbfff 100%); /* FF3.6+ */
+    background: url("../../images/sprite.png"),-webkit-gradient(linear, left top, left bottom, color-stop(0%,#d7e5ff), color-stop(50%,#b1cbff), color-stop(100%,#9fbfff)); /* Chrome,Safari4+ */
+    background: url("../../images/sprite.png"),-webkit-linear-gradient(top, #d7e5ff 0%,#b1cbff 50%,#9fbfff 100%); /* Chrome10+,Safari5.1+ */
+    background: url("../../images/sprite.png"),-o-linear-gradient(top, #d7e5ff 0%,#b1cbff 50%,#9fbfff 100%); /* Opera 11.10+ */
+    background: url("../../images/sprite.png"),-ms-linear-gradient(top, #d7e5ff 0%,#b1cbff 50%,#9fbfff 100%); /* IE10+ */
+    background: url("../../images/sprite.png"),linear-gradient(top, #d7e5ff 0%,#b1cbff 50%,#9fbfff 100%); /* W3C */
+        filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#d7e5ff', endColorstr='#9fbfff',GradientType=0 ); /* IE6-9 */
+    background-position: 40px -287px,top left;
+        background-repeat: no-repeat;
+  border: 1px solid #629DCF;
+     color : #006699;
+       padding-right: 20px;
+}
+
+#listsmenulink:hover {
+ background-color : #b8d0e6;
+    background: url("../../images/sprite.png"),-moz-linear-gradient(top, #e2ecf5 0%, #c3d8ea 50%, #b8d0e6 100%); /* FF3.6+ */
+    background: url("../../images/sprite.png"),-webkit-gradient(linear, left top, left bottom, color-stop(0%,#e2ecf5), color-stop(50%,#c3d8ea), color-stop(100%,#b8d0e6)); /* Chrome,Safari4+ */
+    background: url("../../images/sprite.png"),-webkit-linear-gradient(top, #e2ecf5 0%,#c3d8ea 50%,#b8d0e6 100%); /* Chrome10+,Safari5.1+ */
+    background: url("../../images/sprite.png"),-o-linear-gradient(top, #e2ecf5 0%,#c3d8ea 50%,#b8d0e6 100%); /* Opera 11.10+ */
+    background: url("../../images/sprite.png"),-ms-linear-gradient(top, #e2ecf5 0%,#c3d8ea 50%,#b8d0e6 100%); /* IE10+ */
+    background: url("../../images/sprite.png"),linear-gradient(top, #e2ecf5 0%,#c3d8ea 50%,#b8d0e6 100%); /* W3C */
+  filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#e2ecf5', endColorstr='#b8d0e6',GradientType=0 ); /* IE6-9 */
+       background-repeat: no-repeat;
+    background-position: 40px -287px,top left;
+}
+
+#cartmenulink {
+        background: #98CB58; /* Old browsers */
+    background: url("../../images/sprite.png"),-moz-linear-gradient(top, #d5eaba 0%, #b7db8a 50%, #98cb59 100%); /* FF3.6+ */
+    background: url("../../images/sprite.png"),-webkit-gradient(linear, left top, left bottom, color-stop(0%,#d5eaba), color-stop(50%,#b7db8a), color-stop(100%,#98cb59)); /* Chrome,Safari4+ */
+    background: url("../../images/sprite.png"),-webkit-linear-gradient(top, #d5eaba 0%,#b7db8a 50%,#98cb59 100%); /* Chrome10+,Safari5.1+ */
+    background: url("../../images/sprite.png"),-o-linear-gradient(top, #d5eaba 0%,#b7db8a 50%,#98cb59 100%); /* Opera 11.10+ */
+    background: url("../../images/sprite.png"),-ms-linear-gradient(top, #d5eaba 0%,#b7db8a 50%,#98cb59 100%); /* IE10+ */
+    background: url("../../images/sprite.png"),linear-gradient(top, #d5eaba 0%,#b7db8a 50%,#98cb59 100%); /* W3C */
+      filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#d5eaba', endColorstr='#98cb59',GradientType=0 ); /* IE6-9 */
+    background-position: -5px -256px, left top;
+       background-repeat: no-repeat;
+  border: 1px solid #5EA28C;
+     color : #336600;
+       padding-left : 30px;
+}
+
+#cartmenulink:hover {
+  background-color : #BFDE96;
+    background: url("../../images/sprite.png"),-moz-linear-gradient(top, #e5f1d4 0%, #cbe4aa 50%, #c0de98 100%); /* FF3.6+ */
+    background: url("../../images/sprite.png"),-webkit-gradient(linear, left top, left bottom, color-stop(0%,#e5f1d4), color-stop(50%,#cbe4aa), color-stop(100%,#c0de98)); /* Chrome,Safari4+ */
+    background: url("../../images/sprite.png"),-webkit-linear-gradient(top, #e5f1d4 0%,#cbe4aa 50%,#c0de98 100%); /* Chrome10+,Safari5.1+ */
+    background: url("../../images/sprite.png"),-o-linear-gradient(top, #e5f1d4 0%,#cbe4aa 50%,#c0de98 100%); /* Opera 11.10+ */
+    background: url("../../images/sprite.png"),-ms-linear-gradient(top, #e5f1d4 0%,#cbe4aa 50%,#c0de98 100%); /* IE10+ */
+    background: url("../../images/sprite.png"),linear-gradient(top, #e5f1d4 0%,#cbe4aa 50%,#c0de98 100%); /* W3C */
+  filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#e5f1d4', endColorstr='#c0de98',GradientType=0 ); /* IE6-9 */
+       background-repeat: no-repeat;
+    background-position: -5px -256px, left top;
+}
+
+/* IE 6 & 7  don't do multiple backgrounds, so remove extra padding */
+* html #listsmenulink,
+*+html #listsmenulink {
+ padding-right : .7em;
+}
+
+/* IE 6 & 7  don't do multiple backgrounds, so remove extra padding */
+* html #cartmenulink,
+*+html #cartmenulink {
+   padding-left : .7em;
+}
+
+/* IE 8 doesn't do multiple backgrounds, so remove extra padding */
+#listsmenulink {
+  padding-right: .7em\0/;
+}
+
+/* IE 8 doesn't do multiple backgrounds, so remove extra padding */
+#cartmenulink {
+  padding-left: .7em\0/;
+}
+
+#cartmenulink span#basketcount {
+     background-image : none;
+       float : none;
+  display : inline;
+      height : auto;
+ position : relative;
+   margin : 0;
+    padding : 0;
+   left : auto;
+   right : auto;
+  top : auto;
+}
+
+#cartmenulink span#basketcount span {
+   background-image : none;
+       background-color : #E6FCB7;
+    color : #000;
+  display : inline;
+      float : none;
+  font-size : 80%;
+       font-weight : normal;
+  margin : 0 0 0 .9em;
+   padding : 0 .3em 0 .3em;
+       position : relative;
+   left : auto;
+   right : auto;
+  top : auto;
+}
+
+#views {
+        border-bottom : 1px solid #E8E8E8;
+     margin-bottom : .5em;
+  padding : 0 2em 2px 0.2em;
+     white-space : nowrap;
+}
+
+span.view {
+   padding : 0.2em .2em 2px .2em;
+}
+
+#bibliodescriptions,
+#isbdcontents {
+ clear : left;
+  margin-top : .5em;
+}
+
+a#MARCview, span#MARCview, a#MARCviewPop, a#ISBDview, span#ISBDview, a#Normalview, a#Briefhistory, span#Normalview, a#Fullhistory, span#Fullhistory, span#Briefhistory {
+ background-repeat : no-repeat;
+ font-size : 87%;
+       font-weight : normal;
+  padding : .2em .5em;
+    padding-left : 21px;
+  text-decoration: none;
+}
+
+a#MARCview, span#MARCview {
+    background-image: url("../../images/sprite.png");
+    background-position: -5px -26px;
+    background-repeat: no-repeat;
+}
+a#MARCviewPop, span#MARCviewPop {
+    background-image: url("../../images/sprite.png");
+    background-position: -5px -26px;
+    background-repeat: no-repeat;
+}
+a#ISBDview, span#ISBDview {
+    background-image: url("../../images/sprite.png");
+    background-position: -5px -55px;
+    background-repeat: no-repeat;
+}
+a#Normalview, span#Normalview {
+    background-image: url("../../images/sprite.png");
+    background-position: -7px 3px;
+    background-repeat: no-repeat;
+    padding-left : 15px;
+}
+
+a#MARCview, a#MARCviewPop, a#ISBDview, a#Normalview, a#Fullhistory, a#Briefhistory {
+   background-color : #F3F3F3;
+    border-left : 1px solid #E8E8E8;
+}
+
+#shelfbrowser table {
+      margin : 0 20px;
+}
+#shelfbrowser table, #shelfbrowser td, #shelfbrowser th {
+   border : 0;
+    font-size : 90%;
+       text-align : center;
+}
+#shelfbrowser a {
+       font-size : 110%;
+      text-decoration : none;
+}
+#shelfbrowser td, #shelfbrowser th {
+ vertical-align : bottom;
+       width : 20%;
+}
+#shelfbrowser td.top {
+  vertical-align : top;
+}
+#shelfbrowser td.top a {
+       text-decoration : underline;
+}
+#shelfbrowser a {
+       display : block;
+}
+
+#comments .commentline {
+   border-bottom : 2px solid #eeeeeb;
+     margin : 0 -.5em 0 -.5em;
+      padding : 0 .5em .5em .5em;
+}
+#comments .yours {
+       background-color : #effed5;
+}
+.commentline .avatar {
+   float : right;
+ padding-left : .5em;
+}
+#comments #addcomment {
+ margin : 0 -1em -1em -1em;
+     padding : .3em 1em;
+}
+input.tagbutton {
+        padding : 1px !important;
+}
+table#items th {
+   padding : 2px;
+}
+#action {
+     /*margin-top: 0;*/
+}
+#similars h4 {
+    text-align : left;
+}
+#similars table,
+#similars td {
+   border : 0;
+    margin : 0;
+}
+#similars td {
+   width : 13em;
+}
+#similars a {
+  display : block;
+       font-weight : normal;
+}
+#furtherm a,
+#furtherm a:link,
+#furtherm a:visited {
+   color : #006699;
+}
+#furtherm h4 {
+      font-size : 106%;
+      margin : .1em .5em;
+}
+#furtherm .bd {
+  background-color : #F3F3F3;
+    border:1px solid #DDD;
+}
+.results_summary img {
+        margin : 0 5px;
+ }
+span.no-image {
+     background-color : #FFF;
+       border: 1px solid #979797;
+     color : #AAA;
+  display:block;
+ font-size : 86%;
+       font-weight : bold;
+    text-align : center;
+   width : 75px;
+}
+#bookcover span.no-image {
+     margin-right : 10px;
+   margin-bottom : 10px;
+}
+#shelfbrowser a:link span.no-image,
+#shelfbrowser a:visited span.no-image,
+#shelfbrowser a:hover span.no-image,
+#shelfbrowser a:active span.no-image {
+ font-size : 95%;
+}
+#shelfbrowser a:link span.no-image,
+#shelfbrowser a:visited span.no-image,
+#shelfbrowser a:hover span.no-image,
+#shelfbrowser a:active span.no-image,
+td.jacketcell a:link,
+td.jacketcell a:visited,
+td.jacketcell a:hover,
+td.jacketcell a:active,
+a.p1:link,
+a.p1:visited,
+a.p1:hover,
+a.p1:active {
+      color : #AAA;
+  text-decoration : none;
+        font-weight : bold;
+}
+
+.copies_row > td:first-child {
+    border-left-style : none;
+}
+
+.rtl {
+  unicode-bidi: embed;
+  direction: rtl;
+  text-align: right;
+}
+
+div.ft {
+        clear : both;
+}
+#basket td ul li {
+     font-size:90%;
+ list-style:disc outside url("../../images/item-bullet.gif");
+   padding:0.2em 0;
+}
+
+#recentcomments {
+  margin:auto;
+   max-width:750px;
+    margin-left: 13.3207em;
+}
+
+.searchresults .commentline {
+  background-color : rgb(255, 255, 204);
+ background-color : rgba(255, 255, 204, 0.4);
+   border : 1px solid #CCC;
+       display: inline-block;
+ -webkit-border-radius: 4px;
+    -moz-border-radius: 4px;
+       border-radius: 4px;
+    -webkit-box-shadow: 1px 1px 1px rgba(0, 0, 0, 0.2);
+    -moz-box-shadow: 1px 1px 1px rgba(0, 0, 0, 0.2);
+       box-shadow: 1px 1px 1px rgba(0, 0, 0, 0.2);
+    margin : .3em;
+ padding : .4em;
+}
+
+.searchresults .commentline.yours {
+ background-color : rgb(239, 254, 213);
+ background-color : rgba(239, 254, 213, 0.4);
+}
+
+#plainmarc table { border: 0; margin: .7em 0 0 0; font-family: monospace; font-size: 95%; }
+#plainmarc th { background-color : #FFF; border: 0; white-space: nowrap; text-align:left; vertical-align: top; padding: 2px; }
+#plainmarc td { border: 0; padding : 2px; vertical-align: top; }
+
+#catalogue_detail_biblio h1 { float:left; margin:0 1em 1em 0; }
+#catalogue_detail_biblio h1.title { float:none; margin-top:1em; }
+#catalogue_detail_biblio h3 {clear:both; }
+
+#opac-detail #Normalview { font-weight:bold; }
+#opac-marcdetail #Normalview { font-weight:normal; }
+#opac-marcdetail #MARCview { font-weight:bold; }
+#opac-isbddetail #Normalview { font-weight:normal; }
+#opac-isbddetail #ISBDview { font-weight:bold; }
+#opac-isbddetail #isbdcontents { margin-top: 2em; }
+
+div.bibmessage { background-color : #ffffb0; border-radius : 5px; padding : 3px; margin : 2px; }
+
+#renewcontrols {
+   float: right;
+  font-size: 66%;
+}
+
+#renewcontrols a {
+ background-repeat : no-repeat;
+ text-decoration:none;
+  padding : .1em .4em;
+   padding-left : 18px;
+}
+
+#renewselected_link {
+    background-image : url("../../images/sprite.png");
+    background-position : -5px -988px;
+    background-repeat: no-repeat;
+}
+
+#renewall_link {
+    background-image : url("../../images/sprite.png");
+    background-position : -8px -964px;
+    background-repeat: no-repeat;
+}
+
+.koha_url {
+    color: #666666;
+}
+
+div.koha_url {
+    border-top: none !important;
+}
+span.koha_url {
+    position: absolute;
+    right: 0;
+    font-size: 85%;
+}
+a.koha_url {
+    text-decoration:none;
+}
+/* pagination */
+.pagination {
+    position: absolute;
+    top:32px;
+    left: -1px;
+    width: 100%;
+    height:auto;
+    border: 1px solid #D0D0D0;
+    display: none;
+        background-color:#F3F3F3;
+      padding-bottom:10px;
+}
+
+
+/* nav */
+.nav .close_pagination {
+    padding-right: 10px;
+    position: absolute;
+    right: 3px;
+    top: -25px;
+}
+.nav .close_pagination a {
+    text-decoration:none!important;
+}
+
+.nav ul {
+    padding-top: 10px;
+}
+
+.nav li {
+ list-style:none;
+       float:left;
+    padding:4px;
+   color:#999;
+}
+
+.nav li a {
+     text-decoration:none!important;
+}
+
+.nav li a:hover {
+   text-decoration:underline;
+}
+
+.nav li ul {
+     float:left;
+}
+
+.back {
+ float:right;
+}
+
+.back input{
+   background:none!important;
+     color:#999!important;
+}
+
+.pagination_list {
+    float:bottom;
+}
+.pagination_list ul {
+    padding-top: 40px;
+   padding-left:0px;
+}
+.pagination_list li {
+      list-style:none;
+       float:bottom;
+  padding:4px;
+   color:#999;
+   /* border-bottom : 1px solid #DDDDDD;*/
+}
+.pagination_list li.highlight {
+   background-color : #F3F3F3;
+   border-top : 1px solid #DDDDDD;
+   border-bottom : 1px solid #DDDDDD;
+}
+.pagination_list span.li_pag_index {
+   color: #999999;
+    float: left;
+    font-size: 15px;
+    font-weight: bold;
+    padding-right: 10px;
+    text-align: right;
+    width: 13px;
+
+}
+
+.pagination_list li a {padding-left:0px;}
+
+
+.nav_results {
+    background-color: #F3F3F3;
+    border: 1px solid #D0D0D0;
+    margin-top: 0.5em;
+   position:relative;
+}
+
+.nav_results .l_Results a {
+    background:#E1E1E1 url("../../images/sprite.png") no-repeat 0px -504px;
+    color:#006699;
+    display:block;
+    padding:8px 28px;
+    text-decoration:none;
+}
+.nav_results .l_Results a:hover {
+    background-color:#D9D9D9;
+}
+.nav_results ul.pg_menu {
+    border-top: 1px solid #D0D0D0;
+    white-space : nowrap;
+}
+.nav_results ul.pg_menu li {
+    color:#B2B2B2;
+    display:inline;
+    list-style:none;
+    margin: 0;
+}
+.nav_results ul.pg_menu li.back_results a {
+    border-left: 1px solid #D0D0D0;
+    border-right: 1px solid #D0D0D0;
+}
+.nav_results ul.pg_menu li a,
+.nav_results ul.pg_menu li span {
+      background-color: #F3F3F3;
+     display : block;
+    float:left;
+    padding:.4em .5em;
+    text-decoration:none;
+    font-weight:normal;
+    text-align:center;
+}
+
+.nav_results ul.pg_menu li span {
+  color : #B2B2B2;
+}
+
+.nav_results ul.pg_menu li.left_results a {
+        padding-left : 0;
+}
+
+.nav_results ul.pg_menu li a:hover {
+}
+
+.nav_results #listResults{
+    line-height: 0.7em;
+}
+
+.nav_results  #listResults li  {
+    background-color:#999999;
+    color:#C5C5C5;
+    font-weight:normal;
+   display:block;
+ margin-right:1px;
+      font-size:0.9em;
+       padding:5px 0px;
+       text-align:center;
+     min-width:20px;
+}
+
+.nav_results  #listResults li:hover  {background-color:#006699;}
+
+.nav_results  #listResults li a { color:#FFFFFF; font-weight:normal;}
+
+a.localimage img {
+ border : 1px solid #8EB3E7;
+    margin : 0 .5em;
+       padding : .3em;
+}
+
+p.patronimage {
+     border:1px solid #EEE;
+ border-bottom-color:#000;
+      margin: 0.9em 0 0;
+     padding:1em;
+}
+
+p.patronimage.edit {
+   border-color:#E8E8E8;
+  margin: 1em 1em 1em 0;
+}
+
+span.sep {
+   color: #888;
+   padding: 0 .2em;
+       text-shadow: 1px 1px 0 #FFF;
+}
+
+#daily-quote {
+    /*border-top : 1px solid #000000;*/
+    border : 1px solid #000000;
+    margin-top: 2px;
+    margin-bottom: 10px;
+    margin-left: 2px;
+    margin-right: 2px;
+    width: 300px;
+    text-align: center;
+}
+
+#daily-quote h1 {
+    font-size: 18px;
+    font-weight: normal;
+    margin: 0;
+}
+
+#daily-quote div {
+    font-size: 12px;
+    margin: 5px;
+}
+
+/* jQuery UI standard tabs */
+.ui-tabs-nav .ui-tabs-selected a,
+.ui-tabs-nav a:hover,
+.ui-tabs-nav a:focus,
+.ui-tabs-nav a:active,
+.ui-tabs-nav span.a {
+    background: none repeat scroll 0 0 transparent;
+    outline: 0 none;
+}
+
+.ui-tabs .ui-tabs-nav li.ui-tabs-selected {
+    background-color : #FFF;
+    border : 1px solid #D8D8D8;
+}
+
+.ui-widget,
+.ui-widget input,
+.ui-widget select,
+.ui-widget textarea,
+.ui-widget button {
+    font-family : inherit;
+    font-size : inherit;
+}
+ul.ui-tabs-nav li {
+    list-style : none;
+}
+.ui-tabs.ui-widget-content {
+    background : transparent none;
+    border : 0;
+}
+
+.ui-tabs .ui-tabs-panel {
+    border : 1px solid #D8D8D8;
+}
+.ui-tabs-nav.ui-widget-header {
+    border : 0;
+    background : none;
+}
+.ui-tabs .ui-tabs-nav li {
+    background: #F3F3F3 none;
+    border: 1px solid #D8D8D8;
+    margin-right : .4em;
+}
+.ui-tabs .ui-tabs-nav li.ui-tabs-selected a {
+    color : #000;
+    font-weight : bold;
+}
+
+.ui-tabs .ui-tabs-nav li.ui-state-default.ui-state-hover {
+    background : #F3F3F3 none;
+}
+
+.ui-tabs .ui-tabs-nav li.ui-tabs-selected.ui-state-hover {
+    background : #FFF none;
+}
+
+.ui-tabs .ui-state-default a,
+.ui-tabs .ui-state-default a:link,
+.ui-tabs .ui-state-default a:visited {
+    color: #006699;
+}
+
+.ui-tabs .ui-state-hover a,
+.ui-tabs .ui-state-hover a:link,
+.ui-tabs .ui-state-hover a:visited {
+    color: #990033;
+}
+
+.statictabs ul {
+    background: none repeat scroll 0 0 transparent;
+    border: 0 none;
+    margin: 0;
+    padding: 0.2em 0.2em 0;
+    border-bottom-right-radius: 4px;
+    border-bottom-left-radius: 4px;
+    border-top-right-radius: 4px;
+    border-top-left-radius: 4px;
+    color: #222222;
+    font-weight: bold;
+    font-size: 100%;
+    line-height: 1.3;
+    list-style: none outside none;
+    outline: 0 none;
+    text-decoration: none;
+}
+
+.statictabs ul:after {
+    clear: both;
+}
+
+.statictabs ul:before,
+.statictabs ul:after {
+    content: "";
+    display: table;
+}
+
+.statictabs ul li {
+    background: none repeat scroll 0 0 #E6F0F2;
+    border: 1px solid #B9D8D9;
+    border-bottom: 0 none !important;
+    border-top-right-radius: 4px;
+    border-top-left-radius: 4px;
+    float: left;
+    list-style: none outside none;
+    margin-bottom: 0;
+    margin-right: 0.4em;
+    padding: 0;
+    position: relative;
+    white-space: nowrap;
+    top: 1px;
+    color: #555555;
+    font-weight: normal;
+
+}
+
+.statictabs ul li.active {
+    background-color: #FFFFFF;
+    color: #212121;
+    font-weight: normal;
+    padding-bottom: 1px;
+}
+
+.statictabs ul li a {
+    color: #004D99;
+    cursor: pointer;
+    float: left;
+    padding: 0.5em 1em;
+    text-decoration: none;
+}
+
+.statictabs ul li a:hover {
+    background-color : #EDF4F5;
+    border-top-right-radius: 4px;
+    border-top-left-radius: 4px;
+    color : #538200;
+}
+
+.statictabs ul li.active a {
+    color: #000000;
+    font-weight: bold;
+    cursor: text;
+    background: none repeat scroll 0 0 transparent;
+    outline: 0 none;
+}
+
+.statictabs .tabs-container {
+    border: 1px solid #B9D8D9;
+    background: none repeat scroll 0 0 transparent;
+    display: block;
+    padding: 1em 1.4em;
+    border-bottom-right-radius: 4px;
+    border-bottom-left-radius: 4px;
+    color: #222222;
+}
+
+.authref {
+    text-indent: 2em;
+}
+
+.authref .label {
+    font-style: italic;
+}
+
+.authstanza {
+    margin-top: 1em;
+}
+
+.authstanzaheading {
+    font-weight: bold;
+}
+
+.authstanza li {
+    margin-left: 0.5em;
+}
+
+#didyoumean {
+    background-color: #EEE;
+    border: 1px solid #E8E8E8;
+    margin: 0 0 0.5em;
+    text-align: left;
+    padding: 0.5em;
+    border-radius: 3px 3px 3px 3px;
+}
+
+.suggestionlabel {
+    font-weight: bold;
+}
+
+.searchsuggestion {
+    padding: 0.2em 0.5em;
+    white-space: nowrap;
+    display: inline-block;
+}
+
+
+/* jQuery UI Datepicker */
+.ui-datepicker-trigger {
+    vertical-align: middle;
+    margin : 0 3px;
+}
+.ui-datepicker {
+    -moz-box-shadow: 1px 1px 3px 0 #666;
+    -webkit-box-shadow: 1px 1px 3px 0 #666;
+    box-shadow: 1px 1px 3px 0 #666;
+}
+
+body#opac-main #opacmainuserblockmobile {
+    display: none;
+}
+
+#hierarchies a {
+    font-weight: normal;
+    text-decoration: underline;
+    color: #069;
+}
+
+#hierarchies a:hover {
+    color: #990033;
+}
+
+.mobile_only {
+   display : none;
+}
+
+/* different sizes for different tags in opac-tags.tt */
+.tagweight0 {
+    font-size: 12px;
+}
+
+.tagweight1 {
+    font-size: 14px;
+}
+
+.tagweight2 {
+    font-size: 16px;
+}
+
+.tagweight3 {
+    font-size: 18px;
+}
+
+.tagweight4 {
+    font-size: 20px;
+}
+
+.tagweight5 {
+    font-size: 22px;
+}
+
+.tagweight6 {
+    font-size: 24px;
+}
+
+.tagweight7 {
+    font-size: 26px;
+}
+
+.tagweight8 {
+    font-size: 28px;
+}
+
+.tagweight9 {
+    font-size: 30px;
+}
diff --git a/koha-tmpl/opac-tmpl/ccsr/en/css/print.css b/koha-tmpl/opac-tmpl/ccsr/en/css/print.css
new file mode 100644 (file)
index 0000000..ed57d55
--- /dev/null
@@ -0,0 +1,227 @@
+a:link {
+       color : #000066;
+       text-decoration: none;
+}
+
+a:visited {
+  color : #000066;
+       text-decoration: none;
+}
+
+a:hover {
+    color : #993300;
+       text-decoration: none;
+}
+
+body {
+       background-color : #FFF;
+       color : #333333;
+       font-family : arial, geneva, sans-serif;
+       font-size : 14px;
+      margin : 0px 0px 0px 0px;
+    word-wrap : break-word;
+}
+
+caption {
+     color : #000066;
+       font-size : 18px;
+      font-weight : bold;
+    margin-top : 5px;
+      text-align : left;
+}
+
+div.table {
+      width : 100%;
+}
+
+form {
+        margin : 0px;
+  padding : 0px;
+}
+
+h1
+   {
+      color : #000066;
+       font-size : 22px;
+      font-weight : bold;
+    margin-bottom : 3px;
+   margin-top : 3px;
+}
+
+h2 {
+      color : #000066;
+       font-size : 20px;
+      font-weight : bold;
+    margin-bottom : 3px;
+   margin-top : 3px;
+}
+
+h3 {
+      color : #000066;
+       font-size : 18px;
+      font-weight : bold;
+    margin-bottom : 3px;
+   margin-top : 3px;
+}
+
+h4 {
+      color : #000066;
+       font-size : 16px;
+      font-weight : bold;
+    margin-bottom : 3px;
+   margin-top : 3px;
+}
+
+h5 {
+      color : #000066;
+       font-size : 15px;
+      font-weight : bold;
+    margin-bottom : 1px;
+   margin-top : 1px;
+}
+
+h6 {
+      color : #000066;
+       font-size : 14px;
+      font-weight : bold;
+    margin-bottom : 1px;
+   margin-top : 1px;
+}
+
+p {
+       margin-top : 0px;
+}
+
+table {
+   background-color : #FFFFFF;
+    border-bottom : 0px solid #CCCCCC;
+     border-collapse : collapse;
+    border-left : 0px solid #CCCCCC;
+       margin : 3px 0px 5px 0px;
+      padding : 0px;
+ width : 99%;
+}
+
+td {
+   background-color : #FFF;
+       border-bottom : 1px solid #CCCCCC;
+     border-right : 1px solid #CCCCCC;
+      padding : 5px 5px 5px 5px;
+     vertical-align : top;
+}
+
+td:last-child {
+       background-color : #FFF;
+       border-bottom : 1px solid #CCCCCC;
+     border-right : 0px solid #CCCCCC;
+      padding : 5px 5px 5px 5px;
+     vertical-align : top;
+}
+
+th {
+  background-color : #E9E9E9;
+    border-bottom : 1px solid #CCCCCC;
+     border-right : 1px solid #CCCCCC;
+      font-weight : bold;
+    padding : 5px 5px 5px 5px;
+}
+
+th:last-child {
+  background-color : #E9E9E9;
+    border-bottom : 1px solid #CCCCCC;
+     border-right : 0px solid #CCCCCC;
+      font-weight : bold;
+    padding : 5px 5px 5px 5px;
+}
+
+tr.highlight {
+   background-color: #e9e9e9;
+}
+
+body#basket tr.highlight {
+       background-color : transparent;
+}
+
+body#basket a {
+     font-weight : bold;
+}
+
+body#basket table {
+     border-top : 1px solid #EEE;
+   border-left : 1px solid #EEE;
+}
+body#basket td,
+body#basket th {
+       background-color : transparent;
+        padding : 2px;
+}
+
+body#basket th {
+     background-color : #EEE;
+}
+
+body#basket th,
+body#basket th[scope=col] {
+        text-align : center;
+   vertical-align : middle;
+}
+
+body#basket th[scope=row] {
+        font-size : 89%;
+       text-align : right;
+    vertical-align : top;
+  width : 10%;
+}
+
+body#basket p {
+        font-size : 85%;
+       margin : .2em 0;
+       text-indent : .5em;
+}
+
+.error {
+        font-weight: bold;
+}
+
+.ex {
+    font-family : "Courier New", Courier, monospace;
+}
+.inline {
+   display : inline;
+}
+
+.screen {
+ display : none;
+}
+
+#bookcover {
+        float:left;
+    margin:0pt;
+    padding:0pt;
+}
+
+#members,#opac-main-search,#opac-user-views .ui-tabs-nav,input,h2 span.hint,td.resultscontrol,.pages,.suggestion,.views,#action,#export,#bibliodescriptions .ui-tabs-nav,#addshelf,fieldset.action, .list-actions, .ft, #facetcontainer,.results_summary.actions,.koha_url,.yui-b {
+    display : none;
+}
+
+#userresults {
+    position : absolute;
+    right : 0px;
+    word-wrap : break-word;
+        display : block;
+}
+
+div#userupdate input,div#userupdate textarea {
+     display : inline;
+      border : 0;
+}
+
+#yui-main,
+#yui-main .yui-b,
+.yui-t1 #yui-main .yui-b {
+    display : block !important;
+    margin : 0 !important;
+    padding : 0 !important;
+    width : auto !important;
+    float : none !important;
+}
diff --git a/koha-tmpl/opac-tmpl/ccsr/en/css/sanop.css b/koha-tmpl/opac-tmpl/ccsr/en/css/sanop.css
new file mode 100644 (file)
index 0000000..7ed0a67
--- /dev/null
@@ -0,0 +1,2013 @@
+
+body #main {
+  margin-left : 2%;
+      background-color: #eeeeee;
+
+}
+
+/* TWO COLUMNS, RIGHT SIDEBAR */
+
+
+body#withsidebar #main {
+     float: left;
+   margin-left: 1%;
+       width: 58%;
+    }
+
+html body#withsidebar #main    {
+       margin-left: .5%;
+      }
+
+body#withsidebar #sidebar
+   {
+      float: left;
+   margin-top : 2.4em;
+    width: 39%;
+}
+
+/* THREE COLUMNS */
+
+body#tricolumn #main_wrapper {
+             float: left;
+   width: 100%;
+}
+
+body#tricolumn #main
+   {
+              margin: 0 150px 0 175px;
+       }
+
+body#tricolumn #nav
+ {
+      float: left;
+   margin-left: -100%;
+    width: 175px;
+  }
+body#tricolumn #sidebar
+      {
+      float: left;
+   margin-left: -150px;
+   width: 150px;
+  }
+
+/* TWO COLUMNS LEFT NAVIGATION */
+
+body#withnav #main_wrapper
+       {
+      float: left;
+   width: 100%;
+   }
+
+body#withnav #main
+  {
+      margin: 0 0 0 175px;
+   }
+
+body#withnav #nav
+   {
+      float: left;
+   margin-left: -100%;
+    width: 175px;
+  }
+
+body#withnav #main .content-block {
+ padding-left : 10px;
+}
+
+/* END TWO COLUMNS RIGHT NAVIGATION */
+
+a {
+    font-weight: bold;
+}
+
+a:link, a:visited, a:active {
+        text-decoration : underline;
+        color :navy;
+}
+
+a:link.current {
+      font-weight: bold;
+     padding: 1px 5px 1px 5px;
+      text-decoration: none;
+}
+
+a:link.nav {
+ font-weight: bold;
+     padding: 1px 5px 1px 5px;
+      text-decoration: none;
+
+}
+
+a:visited.current {
+ font-weight: bold;
+     padding: 1px 5px 1px 5px;
+      text-decoration: none;
+}
+
+a:visited.nav {
+      font-weight: bold;
+     padding: 1px 5px 1px 5px;
+      text-decoration: none;
+}
+
+a:hover.current {
+    font-weight: bold;
+     padding: 1px 5px 1px 5px;
+      text-decoration: none;
+}
+
+a:hover.nav {
+        font-weight: bold;
+     padding: 1px 5px 1px 5px;
+      text-decoration: none;
+
+}
+
+a:active.current {
+  font-weight: bold;
+     padding: 1px 5px 1px 5px;
+      text-decoration: none;
+}
+
+a:active.nav {
+       font-weight: bold;
+     padding: 1px 5px 1px 5px;
+      text-decoration: none;
+}
+
+a.help {
+     padding: 3px;
+  text-decoration: none;
+}
+
+a.title {
+    font-size: 1.2em;
+      font-style: normal;
+    font-weight: bold;
+}
+
+body {
+   font-family: Verdana, Arial, Geneva, Helvetica, sans-serif;
+    font-size: 73%;
+        margin: 0;
+     padding: 0;
+    background-color : #eeeeee;
+}
+
+input, select, th, td {
+ font-size:1em
+}
+
+caption {
+     font-family: Arial, Geneva, Helvetica, sans-serif;
+     font-size : 1.3em;
+     font-weight: bold;
+     margin: 0;
+     padding: 5px 0 3px 0;
+  text-align: left;
+}
+
+div.bookcover {
+   float: right;
+}
+
+div.details td.details {
+      text-align: left;
+}
+
+div.details ul {
+  list-style-type: circle;
+       margin-left: 0;
+        text-align: left;
+}
+
+div.error {
+       padding: 3px 10px 3px 10px;
+    width: 75%;
+}
+
+div.error li {
+  margin-bottom: .5em;
+}
+
+div.form, div.details {
+        margin: 0 auto;
+        padding: 0 0 0 6px;
+}
+
+div.notes {
+     text-align: left;
+}
+
+div.sidebar-box+div.sidebar-box {
+ margin-top: 5px;
+}
+
+div.tab {
+  display: block;
+        margin-right: 0px;
+     width: 100%;
+}
+
+div.tab p {
+    margin: 0;
+     padding: 3px 0;
+}
+
+div.tab p.MARCtag {
+ clear: both;
+   font-weight: bold; /* style for tag definition (700 - Statement of responsability) */
+  margin: 0;
+     padding: 2px;
+}
+
+div.tab table {
+}
+
+div.tabbloc {
+      font-family: Arial, Helvetica, sans-serif;
+}
+
+div.table {
+      width: 95%;
+}
+
+dl.details dt {
+ font-weight: bold;
+     margin: .5em 0;
+}
+
+dl.details dd {
+     margin-left: 1em;
+}
+
+dl.details ul {
+   padding: 0;
+    margin-left: 1em;
+}
+
+dl.details ul p {
+ margin-left : 0;
+}
+
+em.new {
+   font-style: normal;
+    font-weight: bold;
+}
+
+form {
+   display: inline;
+       margin: 0;
+     padding: 0;
+}
+
+h1 {
+    font-size: 1.8em;
+      padding: 5px 0 3px 0;
+}
+
+h1,h2,h3,h4,h5,h6 {
+   font-family: arial, geneva, helvetica, sans-serif;
+     margin: 0;
+}
+
+h1.logo {
+        display: inline;
+       margin: 10px 0 0 10px;
+
+}
+
+h1.title {
+  font-style: italic;
+    padding: 5px 0 3px 0;
+  color: navy;
+}
+
+h2 {
+   font-size: 1.6em;
+      padding: 5px 0 3px 0;
+
+}
+
+h2#libraryname {
+     padding-left : 5px;
+}
+
+h3 {
+    font-size: 1.4em;
+      padding: 5px 0 3px 0;
+}
+
+h3.author {
+   padding: 0 0 3px 15px;
+}
+
+h3+p {
+       margin: .4em 0 .4em 0;
+}
+
+h4 {
+ font-size: 1.3em;
+      padding: 5px 0 3px 0;
+}
+
+h5 {
+  font-size: 1.2em;
+      margin: 0;
+     padding: 10px 0 2px 0;
+}
+
+h5+p {
+       margin-top: 0;
+ padding-top: 0;
+}
+
+h6 {
+        font-size: 1.1em;
+}
+
+input.add, a.add {
+        background-image: url(../images/add.gif);
+}
+
+input.addchecked, a.addchecked {
+  background-image: url(../images/addtobasket.gif);
+}
+
+input.back, a.back {
+      background-image: url(../images/back.gif);
+}
+
+input.brief, a.brief {
+   background-image: url(../images/brief.gif);
+}
+
+input.cancel {
+  font-family: Verdana, Arial, Geneva, Helvetica, sans-serif;
+    font-size : .9em;
+      font-weight: bold;
+     padding: 2px;
+}
+
+input.cart, a.cart {
+  background-image: url(../images/cart.gif);
+}
+
+input.clearall, a.clearall {
+     background-image: url(../images/clearbasket.gif);
+}
+
+input.close, a.close {
+    background-image: url(../images/close.gif);
+}
+
+input.delete, a.delete {
+        background-image: url(../images/delete.gif);
+}
+
+input.detail, a.detail {
+       background-image: url(../images/detail.gif);
+}
+
+input.edit, a.edit {
+   background-image: url(../images/edit.gif);
+}
+
+input.icon {
+     background-position: left;
+     background-repeat: no-repeat;
+  font-family: Verdana, Arial, Geneva, Helvetica, sans-serif;
+    font-size : .9em;
+      font-weight: bold;
+     padding: 2px 2px 2px 22px;
+}
+
+input.isbd, a.isbd {
+     background-image: url(../images/isbd.gif);
+}
+
+input.print, a.print {
+   background-image: url(../images/print2.gif);
+}
+
+input.remove, a.remove {
+       background-image: url(../images/remove.gif);
+}
+
+input.reserve, a.reserve {
+     background-image: url(../images/placereserve.gif);
+}
+
+input.send, a.send {
+     background-image: url(../images/send.gif);
+}
+
+input.shelf, a.shelf {
+   background-image: url(../images/addtoshelf.gif);
+}
+
+input.trash, a.trash {
+     background-image: url(../images/trash.gif);
+}
+
+p {
+     padding: 0 10px 0 10px;
+}
+
+p.error, div.error {
+        font-weight: normal;
+   margin: auto;
+  padding: 5px 20px 5px 20px;
+}
+
+p.error+p.error, div.error+div.error {
+  margin-top: 5px;
+}
+
+p+h3 {
+     margin-top: .6em;
+}
+
+p+h5 {
+    margin: 0;
+     padding: 3px 0 2px 0;
+}
+
+span.itemicon {
+       float : left;
+  font-size: .9em;
+       margin: 2px;
+   white-space: nowrap;
+}
+
+span.print {
+   font-size: .7em;
+       font-weight: normal;
+   padding-left: .7em;
+}
+
+table {
+ border-collapse: collapse;
+     margin: 5px 0 5px 0;
+   padding: 0;
+}
+
+*html td, *html th {
+    font-size : .8em;
+}
+
+td {
+      padding: 3px;
+}
+
+td.input, div.form td, div.details td {
+       border-left: 0;
+        border-right: 0;
+       padding: 2px 2px 2px 4px;
+      text-align: right;
+}
+
+td.credit {
+      text-align: right;
+}
+
+td.debit {
+       text-align: right;
+}
+
+td.sum, th.sum {
+ text-align: right;
+}
+
+td.sum {
+ font-weight: bold;
+}
+
+td.label {
+       font-weight: bold;
+     line-height: 1.5em;
+    padding: 4px;
+}
+
+td.label, div.form th, div.details th {
+       border-right: 0;
+       border-top: 0;
+ font-weight: bold;
+     padding: 2px 2px 2px 4px;
+      text-align: left;
+      vertical-align: top;
+}
+
+td.search-options select {
+}
+
+td:last-child {
+  padding: 3px;
+}
+
+th {
+  font-weight: bold;
+     padding: 2px;
+}
+
+th a {
+        font-weight: bold;
+     text-decoration: none;
+}
+
+th:last-child {
+      font-weight: bold;
+     padding: 2px;
+}
+
+th[scope="row"] {
+     font-weight: normal;
+   text-align: right;
+}
+
+ul#facets {
+      margin: 3px;
+}
+
+#nav ul#facets {
+       margin : 0;
+    padding : 0;
+}
+
+#nav ul#facets li {
+    font-weight: bold;
+     text-align: left;
+}
+
+#nav ul#facets li#branch_facet, #nav ul#facets li#subject_facet, #nav ul#facets li#series_facet, #nav ul#facets li#author_facet {
+}
+
+#nav ul#facets ul li {
+       border: 0;
+     font-size: .95em;
+      font-weight: normal;
+   padding: 2px;
+  text-align: left;
+}
+
+#nav ul#facets ul li a {
+  font-weight: normal;
+   text-decoration: underline;
+}
+
+#nav ul#facets ul li.showmore {
+ text-align: center;
+}
+
+#nav ul#facets ul li.showmore a {
+       font-weight: bold;
+     text-decoration: none;
+}
+
+/* Tabs */
+ul.link-tabs {
+    list-style-type: none;
+ margin: 9px 0 -2px 5px;
+        padding: 0;
+}
+
+ul.link-tabs li {
+       display: inline;
+       padding: 0px;
+}
+
+ul.link-tabs li a {
+   font-weight: bold;
+     padding: 2px 4px 2px 4px;
+      text-decoration: none;
+}
+
+ul.link-tabs li#power_formButton a, ul.link-tabs li#proximity_formButton a {
+ padding: 2px 4px 3px 4px;
+}
+
+ul.link-tabs li.off a {
+}
+
+ul.link-tabs li.off a:hover {
+  padding: 2px 3px 2px 4px;
+}
+
+ul.link-tabs li.on a {
+}
+
+.clear {
+        clear: both;
+   line-height: .1em;
+}
+
+.content-block {
+ padding: 5px;
+}
+
+#home {
+       text-align : center;
+}
+
+#home #searchform input.submit {
+       font-size : 1.3em;
+}
+
+div#advanced-search p {
+  margin: .4em;
+
+}
+
+div#advanced-search fieldset {
+       /*margin-left : -1em;*/
+       margin-bottom: .3em;
+  background-color : #eeeeee;
+
+}
+
+div#advanced-search fieldset p {
+       margin-left : 1em;
+       white-space: nowrap;
+
+
+}
+
+table.itemtypes {
+        border-collapse: separate;
+     border-spacing: 3px;
+   display: block;
+        padding: 0;
+    margin: 0;
+}
+
+div#advanced-search legend, div#sidebar legend {
+ font-weight: bold;
+}
+
+div#advanced-search label {
+
+}
+
+.count {
+ font-weight: normal;
+}
+
+.current {
+     font-weight: bold;
+     padding: 1px 5px 1px 5px;
+      text-decoration: none;
+}
+
+.detail-sidebar {
+    float: right;
+  padding: 5px;
+  margin-left : 15px;
+    margin-right : 5px;
+    text-align: center;
+    width : 25%;
+}
+
+.detail-sidebar .further {
+     float: none;
+   text-align: left;
+      width : 90%;
+}
+
+.further {
+     margin: 5px;
+   text-align: left;
+      width : 90%;
+}
+
+.ex {
+  font-family: "Courier New", Courier, monospace;
+}
+
+.further h4 {
+       padding: 2px;
+}
+
+.further li {
+ padding: 2px 0;
+}
+
+.further ul, .further li {
+  list-style: none;
+      margin: .5em 0 .7em .4em;
+      padding: 0;
+}
+
+.inline {
+       display: inline;
+}
+
+.item-datedue {
+    font-style: italic;
+}
+
+.item-details {
+ display: block;
+        margin: 0 0 0 25px;
+}
+
+.item-reserved, .item-notforloan, .item-lost, .item-cancelled, .item-damaged, .item-reserved {
+  display: block;
+}
+
+.labelsubfield {
+    clear: both; /* style for each subfield (like : a Publication year), just before the biblio subfield */
+        float: left;
+   font-weight: bold;
+     margin-left: 30px;
+     width: 12em;
+}
+
+.left {
+        float: left;
+}
+
+.loggedin {
+    font-weight: bold;
+}
+
+.login-note {
+    width: 35%;
+}
+
+.menu {
+ line-height: 3em;
+      font-size: 1.2em;
+      margin: 0;
+     padding: 5px;
+}
+
+.menu a.logout {
+      font-weight: bold;
+     padding: 3px 15px 3px 15px;
+    text-decoration: none;
+}
+
+.menu a:link, #members a:link {
+      padding: 2px;
+}
+
+.menu a:visited, #members a:visited {
+ padding: 2px;
+}
+
+.menu a:hover, #members a:hover {
+     padding: 2px;
+}
+
+.menu a:active, #members a:active {
+   padding: 2px;
+}
+
+.menu input {
+}
+
+.menu label {
+        font-weight: bold;
+}
+
+.menu p {
+        margin: 0;
+     padding: 0;
+}
+
+.menu p+p {
+     margin-top: 5px;
+}
+
+.note {
+    margin: 10px auto;
+     padding: 4px 4px 4px 4px;
+      width: 35%;
+}
+
+.opac-detail {
+  padding: 4px;
+}
+
+.opac-detail dd {
+     display: block;
+        line-height: 1.5em;
+    padding: 4px;
+  text-align: right;
+}
+
+.operations {
+    margin-top: 7px;
+       padding: 0 10px;
+       text-align: center;
+    width: 100%;
+}
+
+.operations img {
+      padding: 5px;
+}
+
+.operations li {
+      list-style-type: none;
+ margin: 0;
+     padding-bottom: 2px;
+}
+
+.operations li a, .operations li a:visited {
+   background-position: top left;
+ background-repeat: no-repeat;
+  border-style: outset;
+  display: block;
+        padding: 3px 3px 3px 26px;
+     text-decoration: none;
+}
+
+.searchresults a.reserve, .searchresults a.reserve:visited {
+ background-position: top left;
+ background-repeat: no-repeat;/*
+        border-style: outset;*/
+        float: right;
+  padding: 2px 3px 2px 26px;
+     /*text-decoration: none;*/
+}
+
+.operations li a:active {
+        border-style: inset;
+}
+
+.operations ul {
+       margin: 0;
+     padding: 0;
+    width: 90%;
+}
+
+.overdue {
+      font-weight: bold;
+}
+
+.pages {
+ line-height : 1.8em;
+   text-align: center;
+}
+
+.rejected {
+     text-decoration: line-through;
+}
+
+.right {
+     float: right;
+}
+
+.search-main {
+        float: left;
+   width: 65%;
+}
+
+.searchresults input, .searchresults label, .searchresults select {
+     font-size: .8em;
+}
+
+.searchresults p {
+ margin: 0;
+     padding: 0;
+    padding-top : .6em;
+}
+
+.searchresults p img {
+  vertical-align: middle;
+}
+
+.searchresults table td {
+   vertical-align: top;
+}
+
+p.searchresults {
+      margin-top : -5px;
+     text-align : right;
+    vertical-align : middle;
+       padding-bottom : 3px;
+}
+
+.selected {
+   text-decoration: none;
+}
+
+.sidebar-box {
+       margin-bottom: 0;
+}
+
+.sidebar-box h3, .sidebar-box h4 {
+        margin-left: 10px;
+}
+
+.sidebar-box p {
+ margin: 3px 10px;
+      padding: 0;
+}
+
+.submit {
+       font-family: Verdana, Arial, Geneva, Helvetica, sans-serif;
+    font-size : .9em;
+      font-weight: bold;
+     padding: 2px;
+}
+
+.term {
+       font-weight: bold;
+}
+
+.thumbnail {
+     border: 0;
+     float: left;
+   margin: 0 5px 5px 0;
+}
+
+.title {
+       font-style: italic;
+    font-weight: bold;
+}
+
+#sidebar .content-block {
+        margin : 0 10px 0 0;
+}
+
+form#auth h3 {
+ font-size : 1.1em;
+}
+
+#footer {
+        clear: both;
+   padding: 10px;
+ text-align: center;
+}
+
+#corner {
+       position: absolute;
+    top: 10px;
+     right: 5px;
+}
+
+#corner a.cart {
+        background-image : url(../images/cart-small.gif);
+      background-position: left;
+     background-repeat : no-repeat;
+ padding: 0 15px;
+       text-decoration: none;
+}
+
+#languages {
+ display: inline;
+}
+
+#languages ul {
+    display : inline;
+      list-style: none;
+      margin: 0;
+     padding : 0;
+}
+
+#languages ul li {
+     display: inline;
+       font-family: Arial, Helvetica, sans-serif;
+     font-size: .9em;
+}
+
+#languages ul li a {
+       font-weight: normal;
+   padding: 0 3px;
+        text-decoration: none;
+}
+
+#loose_form label, #keyword_form label, #precise_form label, #cql_form label, #advanced label, #cql label, #power label, #proximity label {
+  font-weight: bold;
+     text-align: right;
+}
+
+#loose_form, #keyword_form, #precise_form, #cql_form, #advanced, #cql, #power, #proximity {
+      margin: 5px;
+   width: 96%;
+}
+
+/*#main {
+       margin-left: 20%;
+      margin-right: 0;
+       padding: 0;
+    position: relative;
+}*/
+
+#masthead {
+   margin: 0;
+     margin-bottom : 1em;
+   padding: 0;
+    text-align:center;
+
+}
+
+#members {
+      font-size: .8em;
+       font-weight: bold;
+     padding: 4px 0 4px 0;
+}
+
+#members a.card {
+     background-image: url(../images/card.gif);
+     background-position: left;
+     background-repeat: no-repeat;
+  display: block;
+        padding-left: 39px;
+}
+
+#members a.logout {
+     font-weight: bold;
+     padding: 0 .3em 0 .3em;
+        text-decoration: none;
+}
+
+#members li {
+        display: inline;
+       list-style: none;
+      margin: 0;
+}
+
+#members ul li a:link, #members ul li a:visited, #members ul li a:hover, #members ul li a:active, #members span.members {
+        padding : 4px;
+}
+
+#members ul li:last-child {
+}
+
+#members ul li a:hover {
+}
+
+#members ul {
+     margin: 0;
+     padding: 0;
+    text-align: right;
+}
+
+/*#nav {
+ float: left;
+   margin: 0;
+     padding: 0;
+    width: 20%;
+}*/
+
+#nav a {
+      font-family: Arial, Geneva, Helvetica, sans-serif;
+     font-weight: bold;
+     text-decoration: none;
+}
+
+#nav h6 {
+    padding: 3px;
+  text-align: center;
+}
+
+#nav li ul li {
+ font-family: Arial, Geneva, Helvetica, sans-serif;
+     list-style: none;
+      margin: 0;
+     padding: 5px 3px 5px 3px;
+      text-align: right;
+}
+
+#nav li ul li a {
+        font-family: Arial, Geneva, Helvetica, sans-serif;
+     font-weight: bold;
+     text-decoration: none;
+}
+
+#nav ul {
+    margin: 0;
+     padding: 0;
+}
+
+#nav ul li {
+    font-family: Arial, Geneva, Helvetica, sans-serif;
+     list-style: none;
+      margin: 0;
+     padding: 3px 8px 3px 3px;
+      text-align: right;
+}
+
+#nav ul li+li {
+  margin: 0;
+}
+
+#power_formButton, #proximity_formButton {
+}
+
+#results, .results {
+       font-family: Verdana, Arial, Geneva, Helvetica, sans-serif;
+    margin: 0;
+     padding: 7px 0 10px 0;
+}
+
+#search-footer {
+     margin: auto;
+  text-align: center;
+}
+
+#search-footer a {
+      margin: 3px 5px 3px 5px;
+       padding: 2px 5px;
+      text-decoration: none;
+}
+
+#searchform input.submit {
+   font-size: .8em;
+}
+
+#search-sidebar {
+  float: right;
+  margin: 10px;
+  padding: 3px;
+  width: 30%;
+}
+
+#search-sidebar .sidebar-box label {
+    display: block;
+        text-align: left;
+}
+
+/*#sidebar {
+      float: right;
+  margin: 20px;
+  padding: 5px;
+  width: 20%;
+}*/
+
+#sidebar .submit {
+    font-family: Verdana, Arial, Geneva, Helvetica, sans-serif;
+    font-weight: bold;
+     padding: 2px;
+  font-size: 1em;
+}
+
+#sidebar h3 {
+       font-family: Arial, Geneva, Helvetica, sans-serif;
+     margin: 0;
+     padding: 5px 0 1px 0;
+}
+
+#sort {
+       margin: .3em;
+}
+
+#sort, #sort select, #sort input {
+}
+
+#starFull {
+     background: url(../images/bluestars.png) top left no-repeat;
+   height: 25px;
+  margin: 0;
+     padding: 0;
+}
+
+#starMT {
+       background: url(../images/emptystars.png) top left no-repeat;
+  height: 25px;
+  margin: 0 3px 0 30px;
+  padding: 0;
+    position: relative;
+    width: 100px;
+}
+
+#window {
+     margin-left: 2%;
+       margin-right: 2%;
+      margin-top: 2%;
+        padding: 10px;
+}
+
+#window .class {
+     display: block;
+        font-weight: bold;
+     padding: 0 0 5px 3px;
+}
+
+#window div.menu {
+    margin: 0;
+
+}
+
+div#item-details {
+      margin-bottom : 1.5em;
+}
+
+div#item-details img {
+       float : left;
+  padding : 1em;
+}
+
+div#item-details p {
+ margin : .1em 0;
+       line-height : 1.6em;
+}
+
+div#holdings table {
+   width : 100%;
+}
+
+div#holdings td, div#holdings th {
+    padding : 5px;
+}
+
+div#holdings, div#descriptions, div#reviews, div#serials, div#publicshelves, div#privateshelves, div#fines, div#waiting, div#overdues, div#issues, div#reserves {
+    margin-top : 4px;
+      padding : .7em;
+        width : 90%;
+}
+
+#usermenu {
+    font-size: .9em;
+       font-weight: bold;
+     margin-top : -1.1em;
+   margin-bottom : 1em;
+   padding: 4px 0 4px 0;
+
+
+}
+
+#usermenu li {
+      display: inline;
+       list-style: none;
+      margin: 0;
+}
+
+#usermenu ul li a:link, #usermenu ul li a:visited, #usermenu ul li a:hover, #usermenu ul li a:active, #usermenu span.members {
+   padding : 4px;
+}
+
+#usermenu ul li:last-child {
+}
+
+#usermenu ul li a:hover {
+}
+
+#usermenu ul {
+  margin: 0;
+     padding: 0;
+    text-align: right;
+}
+
+table.featured-item {
+    border-collapse : separate;
+    border-spacing: 9px;
+   margin : 5px;
+  text-align : center;
+}
+
+table.featured-item td {
+       vertical-align : top;
+}
+
+table.featured-item a img {
+   margin : auto;
+}
+
+table.featured-item a.title {
+        display : block;
+       font-size : 1em;
+       margin-bottom : .4em;
+}
+
+table.featured-item .author {
+ display : block;
+       font-size : .95em;
+     margin-bottom : .2em;
+}
+
+table.featured-item .publisher {
+      display : block;
+       font-size : .8em;
+}
+
+/* COLORS, BACKGROUNDS, AND BORDERS */
+
+a {
+       color: #006699;
+}
+
+a:link.current {
+    background-color: transparent;
+ color: #3366CC;
+}
+
+a:link.nav {
+        background-color: #EFF1DC;
+     border: 1px solid #CCCC99;
+     color: #3366CC;
+}
+
+a:visited {
+ color: #006699;
+}
+
+a:visited.current {
+ background-color: transparent;
+ color: #3366CC;
+}
+
+a:visited.nav {
+     background-color: #EFF1DC;
+     border: 1px solid #CCCC99;
+     color: #3366CC;
+}
+
+a:hover {
+   color: orange;
+}
+
+a:hover.current {
+    background-color: #CCFF00;
+     color: #CC3333;
+}
+
+a:hover.nav {
+       background-color: #FFFFCC;
+     border: 1px solid #CCCC99;
+     color: #CC3333;
+}
+
+a:active {
+  color: #990033;
+}
+
+a:active.current {
+  background-color: #99CC00;
+     color: #FFFF99;
+}
+
+a:active.nav {
+      background-color: #FFFFCC;
+     border: 1px solid #CCCC99;
+     color: #D25500;
+}
+
+a.reserve {
+ background-color: #006699;
+     color: White;
+}
+
+body {
+        background-color: #eeeeee;
+}
+
+body#withsidebar #main {
+ border: 0;
+
+}
+ul {
+background-color:#eeeeee;
+text-align: left;
+}
+
+caption {
+    color: #000066;
+}
+
+div.error h3 {
+      color: #990000;
+}
+
+div.form, div.details {
+     background-color: #ffffff;
+}
+
+div.tab {
+        background-color: transparent;
+}
+
+div.tab p {
+  border-bottom: 1px solid #FFFFFF;
+      border-top: 1px solid #D8DEB8;
+}
+
+div.tabbloc {
+        background-color: transparent;
+}
+
+div#advanced-search fieldset {
+       border-right : 1px none #999999;
+       border-top : 1px none #999999;
+       border-bottom : 1px none #999999;
+       border-left : 1px none #999999;
+}
+
+div#advanced-search legend {
+ color : #003366;
+}
+
+dl.details dt {
+    color: #000066;
+}
+
+em.new {
+    color: #CC3333;
+}
+
+h1,h2,h3,h4,h5,h6 {
+ color: navy;
+   background-color:navy;
+ color:white;
+}
+
+h1.logo {
+      color: #D3DFAD;
+
+}
+
+h1#libraryname a {
+ color: #000066;
+        margin-left: .3em;
+     text-decoration: none;
+}
+
+input.icon {
+ background-color: #6699CC;
+     border: 1px outset #666666;
+    color: #FFFFCC;
+}
+
+p.availability {
+    color: #666666;
+        font-size: .9em;
+}
+
+p.error, div.error {
+       background-color: #FFFFCC;
+     border: 1px dashed #CC6600;
+}
+
+span.itemicon {
+ background-color : #F8F8EB;
+    border: 1px solid #D8DEB8;
+}
+
+table {
+  background-color: #FFFFFF;
+}
+
+table.itemtypes td {
+     background-color: #F8F8EB;
+     border: 1px solid #D8DEB8;
+}
+
+td {
+     background-color: #FFFFFF;
+     border-bottom: 1px solid #DDDDDD;
+      border-right: 1px solid #DDDDDD;
+}
+
+td.input, div.form td, div.details td {
+    border-bottom: 1px solid #CCCCCC;
+      border-left: 0;
+        border-right: 0;
+       color: #000000;
+}
+
+td.credit {
+ color: #000066;
+}
+
+td.debit {
+  color: #990000;
+}
+
+td.sum, th.sum {
+}
+
+td.sum {
+        background-color : #FFFFCC;
+}
+
+td.label {
+      border-bottom: 1px solid #CCCCCC;
+      border-left: 1px solid #CCCCCC;
+        color: #000088;
+}
+
+td.label, div.form th, div.details th {
+     background-color: #FFFFFF;
+     border-bottom: 1px solid #CCCCCC;
+      border-left: 1px solid #CCCCCC;
+        border-right: 0;
+       border-top: 0;
+ color: #000088;
+}
+
+div.details {
+       padding: 5px;
+
+}
+
+div.details table, div.details td, div.details th {
+  border: 0;
+     border-bottom: 1px solid #DDDDDD;
+}
+
+td.overdue {
+      color: #CC0000;
+}
+
+td:last-child {
+     border-bottom: 1px solid #CCCCCC;
+      border-right: 0 solid #CCCCCC;
+}
+
+th {
+ background-color: #EFF1DC;
+     border-bottom: 1px solid #CCCCCC;
+      border-right: 1px solid #CCCCCC;
+}
+
+th:last-child {
+    background-color: #EFF1DC;
+     border-bottom: 1px solid #CCCCCC;
+      border-right: 0 solid #CCCCCC;
+}
+
+th[scope="row"] {
+    background-color: #E7E7CA;
+}
+
+tr.highlight {
+   background-color: #F8F8EB;
+}
+
+tr.highlight th[scope="row"] {
+   background-color: #EEEEEE;
+}
+
+tr.overdue td {
+  background-color: #FFDDDD;
+}
+
+input.cancel {
+   background-color: #990033;
+     border: 1px outset #666666;
+    color: #FFFFCC;
+}
+
+.available {
+        color : #006600;
+}
+
+.content-block {
+   background-color: #FFFFFF;
+}
+
+.current {
+       background-color: #FFFFFF;
+     color: #3366CC;
+}
+
+.detail-sidebar {
+   background-color: #EEEEEB;
+}
+
+.further {
+       background-color: #EEEEEB;
+     border: 2px solid #DDDED3;
+     color: #CCCC99;
+}
+
+.further h4 {
+       background-color: #D8DEB8;
+}
+
+.further li {
+}
+
+.issued {
+       color: #999999;
+}
+
+.labelsubfield {
+}
+
+.loggedin {
+     color: #D8DEB8;
+}
+
+.loggedinusername {
+ color: #666666;
+}
+
+.marcsubfieldletter {
+       background-color: #EFF1DC;
+}
+
+.marcsubfieldname {
+      background-color: #EFF1DC;
+}
+
+.MARCtag {
+       background-color: #EEEEEE;
+     color: #000066; /* style for tag definition (700 - Statement of responsability) */
+}
+
+.menu {
+  background-image : url(../images/menu-background.gif);
+ background-repeat: repeat-x;
+   background-color: #6699CC;
+     border-top: 1px solid #335599;
+ border-bottom: 1px solid #335599;
+      color: #FFFFFF;
+
+}
+
+.menu a:link {
+     color : #FFFFCC;
+}
+
+.menu a:visited {
+  color : #FFFFCC;
+}
+
+.menu a:hover {
+    color : #FFFFFF;
+}
+
+.menu a:active {
+   color : #FFFF99;
+}
+
+#members a:link {
+  color: #0099CC;
+}
+
+#members a:visited {
+        color: #0099CC;
+}
+
+#members a:hover {
+  color: #990000;
+}
+
+#members a:active {
+ color: #990000;
+}
+
+.menu input.submit {
+        background-color : #6BA037;
+    color: #FFFFFF;
+}
+
+.note {
+     background-color: #EEEEEB;
+     border-bottom: 1px solid #DDDED3;
+      border-left: 1px solid #DDDED3;
+        border-right: 1px solid #DDDED3;
+       border-top: 1px solid #DDDED3;
+}
+
+.opac-detail {
+       background-color: #FFFFCC;
+}
+
+.opac-detail dd {
+        border-bottom: 1px solid #E7E7CA;
+      color: #000000;
+}
+
+.operations li a, .operations li a:visited {
+        background-color: #6699CC;
+     border: 2px solid #D8DEB8;
+     color: #FFFFCC;
+}
+
+.operations li a:hover {
+    background-color: #0099FF;
+     color: #FFFF99;
+}
+
+.operations li a:active {
+   background-color: #0099FF;
+     color: #FFFF99;
+}
+
+
+.item-reserved {
+   color : #009933;
+}
+
+.item-datedue {
+    color: #999999;
+}
+
+.item-notforloan, .item-lost, .item-cancelled, .item-damaged, .item-reserved {
+}
+
+.searchresults td, .searchresults th, .searchresults table {
+      border: 0;
+}
+
+.searchresults tr {
+      border-bottom : 1px solid #CCCCCC;
+}
+
+.searchresults table {
+   border-top : 0px solid #CCCCCC;
+}
+
+p.searchresults {
+   background-color : #EFF1DC;
+}
+
+.searchresults a.reserve {
+      background-color : transparent;
+        color : #006699;/*
+     background-color : #6699CC;
+    border: 1px outset #666666;
+    color : White;*/
+}
+
+.sidebar-box {
+     border: 1px dashed #CCCCCC;
+}
+
+.subfield {
+     background-color: #EFF1DC;
+}
+
+.subfieldvalue {
+ background-color: #FFFFFF;
+}
+
+.submit {
+        background-color: #EEC95A;
+     border: 3px outset #666666;
+    color: #FFFFFF;
+}
+
+.term {
+     background-color: #FFFFCC;
+     color: #990000;
+}
+
+.unavailable {
+      color: #990033;
+}
+
+#footer {
+   border-top: 1px solid #EEEEEE;
+}
+
+#languages ul li a {
+ border: 1px solid #D8DEB8;
+}
+
+#languages ul li a:hover {
+       background-color: #FFFFCC;
+}
+
+#main {
+  background-color: transparent;/*
+       border-top: 1px solid #EEEEEE;*/
+}
+
+#masthead {
+        background-color: #FFFFFF;/*
+   border-bottom: 1px solid #EEEEEE;*/
+}
+
+#members {
+      background-image : url(../images/member-menu-background.gif);
+  background-repeat: repeat-x;
+   border-top: 1px solid #9999CC;
+ border-bottom : 1px solid #9999CC;
+     background-color: #AFBCCF;
+     color: #000066;
+}
+
+#members ul li a:link, #members ul li a:visited, #members span.members {
+    background-image : url(../images/member-menu-background-link.gif);
+     background-repeat: repeat-x;
+   border-left: 1px solid #9999CC;
+        color: #006699;
+}
+
+#members ul li:last-child a {
+       border-right : 1px solid #9999CC;
+}
+
+#members ul li a:hover, #members ul li a:active {
+ background-image : url(../images/member-menu-background-hover.gif);
+    background-repeat: repeat-x;
+}
+
+#members a {
+   text-decoration: none;
+}
+
+#members a.logout:link, #members a.logout:visited, #members a.logout:hover, #members a.logout:active {
+       background-image : url(../images/member-menu-background-logout.gif);
+   background-repeat: repeat-x;
+   color: #000000;
+}
+
+#members a:hover.logout {
+   background-image : url(../images/member-menu-background-logout-hover.gif);
+     background-repeat: repeat-x;
+   color: #000000;
+}
+
+#nav {
+      /*background-color: #EFF1DC;*/
+ border : 1px solid #EFF1DC;
+
+}
+
+#nav h6 {
+      background-color: #E7E7CA;
+     line-height : 1.8em;
+   margin-left: -1px;
+     margin-top : -1px;
+     margin-right : -1px;
+}
+
+#nav li ul li {/*
+      background-color: #E7E7CA;*/
+   border-bottom: 0 solid #D8DEB8;
+        border-left: 0 solid #FFFFCC;
+  border-right: 0 solid #006699;
+ border-top: 0 solid #FFFFCC;
+}
+
+#nav li ul li a {
+      color: #0000FF;
+}
+
+#nav li ul li a:link {
+      color: #335599;
+}
+
+#nav li ul li a:visited {
+   color: #335599;
+}
+
+#nav li ul li a:hover {
+     color: #CC3333;
+}
+
+#nav ul li {
+        /* background-color: #EFF1DC; */
+       border-bottom: 0px solid #CCCC99;
+      border-left: 0 solid #FFFFCC;
+  border-right: 0 solid #006699;
+ border-top: 0 solid #FFFFCC;
+}
+
+#nav ul li+li {
+        border-bottom: 0px solid #CCCC99;
+      border-left: 0 solid #FFFFCC;
+  border-right: 0 solid #006699;
+}
+
+#results, .results {
+ color: #000066;
+}
+
+#search-sidebar {
+   background-color: #F8F8EB;
+}
+
+#sidebar {
+       /*background-color: #F8F8EB;
+   border: 1px dashed #666666;*/
+}
+
+#sidebar .content-block {
+     background-color : #EEEEEE;
+}
+
+#sidebar fieldset {
+     background-color: #F9F9FF;
+}
+
+#sidebar legend {
+        color : #003366;
+}
+
+#sidebar .submit {
+/*     background-color: #EEC95A; */
+       color: #FFFFFF;
+}
+
+#sidebar h3 {
+       color: #000066;
+}
+
+#window {
+   background-color: #E7E7CA;
+     border-left: 1px solid #CCCC99;
+}
+ul.link-tabs {
+}
+
+ul.link-tabs li {
+}
+
+ul.link-tabs li a {
+   border-top: 1px solid #DDDDDD;
+ border-left : 1px solid #DDDDDD;
+       border-right : 1px solid #666666;
+}
+
+ul.link-tabs li.on a {
+    background-color: #FFFFFF;
+     border-bottom: 1px solid #FFFFFF;
+}
+
+ul.link-tabs li.off a {
+   background-color: #EEEEEB;
+     border-bottom: 1px solid #DDDDDD;
+}
+
+ul.link-tabs li.off a:hover {
+     background-color: #FFFFEC;
+     border-top: 1px solid #BEBF84;
+ border-left : 1px solid #BEBF84;
+       border-right : 2px solid #333333;
+}
+
+ul.link-tabs li a.debit {
+ background-color : #FFFF99;
+    color : #990033;
+}
+
+div#holdings, div#descriptions, div#reviews, div#serials, div#publicshelves, div#privateshelves, div#fines, div#waiting, div#overdues, div#issues, div#reserves {
+  border : 1px solid #DDDDDD;
+}
+
+div#holdings table {
+    border-top : 1px solid #DDDDDD;
+        border-right : 1px solid #DDDDDD;
+}
+
+div#holdings td, div#holdings th {
+        border-left : 1px solid #DDDDDD;
+       border-bottom : 1px solid #DDDDDD;
+}
+
+#usermenu {
+      background-image : url(../images/usermenu-background.gif);
+     background-repeat: repeat-x;
+   background-color: #EEEEEB;
+     border-top: 1px solid #EEEEEE;
+ border-bottom: 1px solid #335599;
+      color: #000000;
+}
+
+#usermenu ul li a:link, #usermenu ul li a:visited {
+ background-image : url(../images/usermenu-background.gif);
+     background-repeat: repeat-x;
+   border-left: 1px solid #9999CC;
+        color: #006699;
+}
+
+#usermenu ul li:last-child a {
+      border-right : 1px solid #9999CC;
+}
+
+#usermenu ul li a:hover, #usermenu ul li a:active {
+       background-image : url(../images/usermenu-background-hover.gif);
+       background-repeat: repeat-x;
+}
+
+#usermenu a {
+  text-decoration: none;
+}
+
+table.featured-item {
+        border : 0;
+}
+
+table.featured-item td {
+        border : 1px solid #CCCCCC;
+}
+
+table.featured-item a img {
+}
+
+table.featured-item a.title {
+}
+
+table.featured-item .author {
+}
+
+table.featured-item .publisher {
+}
+h1{
+background-color: #eeeeee;
+color: navy;
+background-image: url(./acceuil.jpg);
+background-repeat:no-repeat;
+}
+h1.authority
+{
+background-image:none;
+
+}
\ No newline at end of file
diff --git a/koha-tmpl/opac-tmpl/ccsr/en/css/sco.css b/koha-tmpl/opac-tmpl/ccsr/en/css/sco.css
new file mode 100644 (file)
index 0000000..5a79a47
--- /dev/null
@@ -0,0 +1,341 @@
+@import url("../../../lib/yui/reset-fonts-grids.css");
+@import url("../../../lib/yui/skin.css");
+
+a {
+  font-weight : bold;
+}
+
+a, a:visited {
+  color : #006699;
+}
+
+a:hover,input.editshelf:hover,a.editshelf:hover,input.deleteshelf:hover {
+  color : #990033;
+}
+
+body {
+     background-color : white;
+      text-align : left;
+     padding : 0 0 2.5em 0;
+}
+
+caption {
+    font-size : 110%;
+      text-align : left;
+     font-weight : bold;
+}
+
+fieldset {
+      background-color: #FFF;
+        border : 2px solid #EEEEEE;
+    margin : 1em 1em 1em 0;
+        padding : 1em;
+}
+
+h1,h2,h3,h4,h5,h6 {
+  font-weight : bold;
+    margin : .5em 0;
+}
+
+h1 {
+       font-size : 138.5%;
+}
+
+h2 {
+    font-size : 134%;
+}
+
+h3 {
+      font-size : 123.1%;
+}
+
+h4 {
+    font-size : 116%;
+}
+
+h5 {
+      font-size : 108%;
+}
+
+h6 {
+      font-size : 100%;
+}
+
+input[type=submit],
+input[type=button],
+input[type=reset],
+fieldset.brief input[type=submit],
+fieldset.brief input[type=button],
+fieldset.brief input[type=reset]
+{
+       background: #f4f9fc; /* Old browsers */
+        background: -moz-linear-gradient(top, #f4f9fc 0%, #dfeefa 4%, #bfd5ea 93%, #a1c4e2 97%, #b8d0e6 100%); /* FF3.6+ */
+    background: -webkit-gradient(linear, left top, left bottom, color-stop(0%,#f4f9fc), color-stop(4%,#dfeefa), color-stop(93%,#bfd5ea), color-stop(97%,#a1c4e2), color-stop(100%,#b8d0e6)); /* Chrome,Safari4+ */
+ background: -webkit-linear-gradient(top, #f4f9fc 0%,#dfeefa 4%,#bfd5ea 93%,#a1c4e2 97%,#b8d0e6 100%); /* Chrome10+,Safari5.1+ */
+       background: -o-linear-gradient(top, #f4f9fc 0%,#dfeefa 4%,#bfd5ea 93%,#a1c4e2 97%,#b8d0e6 100%); /* Opera11.10+ */
+     background: -ms-linear-gradient(top, #f4f9fc 0%,#dfeefa 4%,#bfd5ea 93%,#a1c4e2 97%,#b8d0e6 100%); /* IE10+ */
+  filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#f4f9fc', endColorstr='#b8d0e6',GradientType=0 ); /* IE6-9 */
+       background: linear-gradient(top, #f4f9fc 0%,#dfeefa 4%,#bfd5ea 93%,#a1c4e2 97%,#b8d0e6 100%); /* W3C */
+        border-top: 1px solid #cccccc;
+ border-left: 1px solid #cccccc;
+        border-right: 1px solid #eeeeee;
+       border-bottom: 1px solid #eeeeee;
+      color : #333;
+  font-size : 93%;
+       font-weight : bold;
+    padding : 4px;
+}
+
+input[type=submit]:active, input[type=button]:active, input[type=reset]:active {
+     border: 1px inset #666666;
+     float : none;
+}
+.dialog {
+  border: 1px solid #bcbcbc;
+ padding : .5em;
+        margin : 1em auto;
+  width: 65%;
+  }
+
+.dialog  h2, .dialog h3, .dialog h4 {
+       margin : auto;
+    text-align : center;
+  }
+
+div.alert {
+  background: #fef8d3; /* Old browsers */
+        background: -moz-linear-gradient(top, #fef8d3 0%, #ffec91 9%, #ffed87 89%, #f9dc00 100%); /* FF3.6+ */
+ background: -webkit-gradient(linear, left top, left bottom, color-stop(0%,#fef8d3), color-stop(9%,#ffec91), color-stop(89%,#ffed87), color-stop(100%,#f9dc00)); /* Chrome,Safari4+ */
+  background: -webkit-linear-gradient(top, #fef8d3 0%,#ffec91 9%,#ffed87 89%,#f9dc00 100%); /* Chrome10+,Safari5.1+ */
+   background: -o-linear-gradient(top, #fef8d3 0%,#ffec91 9%,#ffed87 89%,#f9dc00 100%); /* Opera11.10+ */
+ background: -ms-linear-gradient(top, #fef8d3 0%,#ffec91 9%,#ffed87 89%,#f9dc00 100%); /* IE10+ */
+      filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#fef8d3', endColorstr='#f9dc00',GradientType=0 ); /* IE6-9 */
+       background: linear-gradient(top, #fef8d3 0%,#ffec91 9%,#ffed87 89%,#f9dc00 100%); /* W3C */
+    text-align : center;
+}
+
+div.alert strong {
+     color : #900;
+}
+
+div.message {
+ background: #ffffff; /* Old browsers */
+        background: -moz-linear-gradient(top, #ffffff 0%, #f4f6fa 2%, #eaeef5 23%, #e8edf6 94%, #cddbf2 100%); /* FF3.6+ */
+    background: -webkit-gradient(linear, left top, left bottom, color-stop(0%,#ffffff), color-stop(2%,#f4f6fa), color-stop(23%,#eaeef5), color-stop(94%,#e8edf6), color-stop(100%,#cddbf2)); /* Chrome,Safari4+ */
+ background: -webkit-linear-gradient(top, #ffffff 0%,#f4f6fa 2%,#eaeef5 23%,#e8edf6 94%,#cddbf2 100%); /* Chrome10+,Safari5.1+ */
+       background: -o-linear-gradient(top, #ffffff 0%,#f4f6fa 2%,#eaeef5 23%,#e8edf6 94%,#cddbf2 100%); /* Opera11.10+ */
+     background: -ms-linear-gradient(top, #ffffff 0%,#f4f6fa 2%,#eaeef5 23%,#e8edf6 94%,#cddbf2 100%); /* IE10+ */
+  filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#ffffff', endColorstr='#cddbf2',GradientType=0 ); /* IE6-9 */
+       background: linear-gradient(top, #ffffff 0%,#f4f6fa 2%,#eaeef5 23%,#e8edf6 94%,#cddbf2 100%); /* W3C */
+        border : 1px solid #bcbcbc;
+    width : 55%;
+}
+
+.dialog input {
+       background : #FFF none;
+       border : 1px solid #bcbcbc;
+  margin : .4em;
+ padding : .4em;
+ }
+
+
+.dialog input.back {
+       background : #FFF url(../../famfamfam/silk/arrow_left.png) no-repeat 4px center;
+    padding : .4em .4em .4em 25px;
+ }
+
+.dialog input.return {
+       background : #FFF url(../../famfamfam/silk/book_previous.png) no-repeat 4px center;
+ padding : .4em .4em .4em 25px;
+ }
+
+.dialog input.renew {
+       background : #FFF url(../../famfamfam/silk/arrow_refresh.png) no-repeat 4px center;
+  padding : .4em .4em .4em 25px;
+ }
+
+.dialog input.cancel {
+       background : #FFF url(../../famfamfam/silk/cancel.png) no-repeat 4px center;
+        padding : .4em .4em .4em 25px;
+ }
+
+input.finish {
+      background : #dbe7ff url(../../famfamfam/silk/stop.png) no-repeat 4px center;
+  border : 1px outset #666;
+      padding : .2em .2em .2em 25px;
+}
+
+table {
+      background-color: #FFF;
+        border-collapse : collapse;
+    margin : 1em 0;
+        border-right : 1px solid #dddddd;
+      border-top : 1px solid #dddddd;
+}
+
+td,th {
+     background-color: #FFF;
+        border-left : 1px solid #dddddd;
+       border-bottom : 1px solid #dddddd;
+     padding : 3px 3px;
+}
+
+th {
+     background-color:#EEE;
+ font-weight : bold;
+    padding : 2px 23px;
+    text-align : center;
+}
+
+tr.highlight td, tr.highlight th, tr.odd td {
+  background-color : #F3F3F3;
+   border-top : 1px solid #DDDDDD;
+   border-bottom : 1px solid #DDDDDD;
+}
+
+tr.even td, tr.even.highlight td {
+     background-color: #FFF;
+}
+
+.header {
+    background-image:url("../../images/ascdesc.gif");
+    background-position:right center;
+    background-repeat:no-repeat;
+    cursor:pointer;
+}
+.headerSortUp {
+    background-image:url("../../images/asc.gif");
+}
+.headerSortDown {
+    background-image:url("../../images/desc.gif");
+}
+
+p {
+        margin: .7em 0;
+}
+
+strong {
+    font-weight : bold;
+}
+
+em {
+    font-style : italic;
+}
+#borrowerdetails {
+      margin-top : 1em;
+}
+#barcode,
+#patronid {
+      font-size : 125%;
+      padding-bottom : 3px;
+}
+input.focus {
+  background-color : #FFC;
+       border : 2px inset #336699;
+}
+#checkouthelp {
+  background : #FFF url("../../famfamfam/silk/help.png") no-repeat 4px center;
+   padding : 3px 3px 3px 26px;
+    position : absolute;
+   top : 0;
+       right : 0;
+}
+div.button {
+      float : left;
+  margin-top : 2em;
+      padding : .4em 0;
+}
+div.button a:link,
+div.button a:visited,
+div.button a:hover,
+div.button a:active {
+       background : #FFF url(../../famfamfam/silk/book_previous.png) no-repeat 4px center;
+    border : 1px outset #666;
+      color : #000;
+  padding : .4em .4em .4em 25px;
+ text-decoration : none;
+}
+div.button a:active {
+        border : 1px inset #666;
+}
+
+div.koha_url {
+    border-top: none !important;
+}
+span.koha_url {
+    position: absolute;
+    right: 0;
+}
+a.koha_url {
+    text-decoration: none;
+    color: #666666;
+}
+
+div#changelanguage{
+    background-color: #fff;
+    border-top: 1px solid #CCC;
+    color : #666;
+    font-size : 85%;
+    padding : 1em;
+    margin-top : 2em;
+ }
+
+div#changelanguage a {
+    font-weight : normal;
+    padding : .5em 0;
+}
+
+div#changelanguage li.yuimenuitem {
+    font-size: 120%;
+    font-weight: normal;
+    margin: 0;
+    padding: 0 1em;
+}
+div#changelanguage li.yuimenuitem a.yuimenuitemlabel {
+    padding: 0;
+}
+
+ul#i18nMenu {
+    margin : 0;
+    padding : .2em 0;
+ }
+
+ul#i18nMenu li {
+    border-left : 1px solid #CCC;
+    display : inline;
+    list-style : none;
+    padding : 0 .4em;
+ }
+
+ul#i18nMenu li:first-child {
+    border-left : 0;
+ }
+
+ul#i18nMenu li ul li {
+    border : 0;
+    display : block;
+    padding : 0;
+ }
+
+
+ul#i18nMenu li.more a {
+    background-image : url("../../images/sprite.png");
+    background-position : 37px -940px;
+    background-repeat:no-repeat;
+    padding-right: 1.3em;
+}
+
+ul#i18nMenu li.more ul li a {
+    background-image : none;
+    padding: 0 1.3em;
+}
+
+span.lang{
+    float:left;
+    border-right : 1px solid black;
+    padding : 0 .5em;
+}
+
+div.ft {
+ clear : both;
+}
diff --git a/koha-tmpl/opac-tmpl/ccsr/en/includes/doc-head-close.inc b/koha-tmpl/opac-tmpl/ccsr/en/includes/doc-head-close.inc
new file mode 100644 (file)
index 0000000..407ab83
--- /dev/null
@@ -0,0 +1,137 @@
+</title>
+<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
+<meta name="generator" content="Koha [% Version %]" /> <!-- leave this for stats -->
+<link rel="shortcut icon" href="[% IF ( OpacFavicon ) %][% OpacFavicon %][% ELSE %][% themelang %]/includes/favicon.ico[% END %]" type="image/x-icon" />
+<link rel="stylesheet" type="text/css" href="[% themelang %]/lib/jquery/jquery-ui.css" />
+<link rel="stylesheet" type="text/css" href="/opac-tmpl/lib/yui/reset-fonts-grids.css" />
+<link rel="stylesheet" type="text/css" href="/opac-tmpl/lib/yui/skin.css" />
+[% SET opaclayoutstylesheet='opac.css' UNLESS opaclayoutstylesheet %]
+[% IF (opaclayoutstylesheet.match('^https?:|^\/')) %]
+    <link rel="stylesheet" type="text/css" href="[% opaclayoutstylesheet %]" />
+[% ELSE %]
+    <link rel="stylesheet" type="text/css" href="[% themelang %]/css/[% opaclayoutstylesheet %]" />
+[% END %]
+[% IF ( opaccolorstylesheet ) %]
+    [% IF (opaccolorstylesheet.match('^https?:|^\/')) %]
+        <link rel="stylesheet" type="text/css" href="[% opaccolorstylesheet %]" />
+    [% ELSE %]
+        <link rel="stylesheet" type="text/css" href="[% themelang %]/css/[% opaccolorstylesheet %]" />
+    [% END %]
+[% END %]
+[% IF ( opac_css_override ) %]
+    <link rel="stylesheet" type="text/css" href="[% themelang %]/css/[% opac_css_override %]" />
+[% END %]
+<link rel="stylesheet" type="text/css" media="print" href="[% themelang %]/css/print.css" />
+<meta name="viewport" content="width=device-width,initial-scale=1.0,maximum-scale=1.0,minimum-scale=1.0,user-scalable=no">
+<link rel="stylesheet" type="text/css" media="screen and (max-width:700px)" href="[% themelang %]/css/mobile.css" />
+[% IF ( OPACMobileUserCSS ) %]<style type="text/css" media="screen and (max-width:700px)">[% OPACMobileUserCSS %]</style>[% END %]
+[% IF ( OPACUserCSS ) %]<style type="text/css">[% OPACUserCSS %]</style>[% END %]
+<!-- yui js -->
+<script type="text/javascript" src="[% yuipath %]/utilities/utilities.js"></script>
+<script type="text/javascript" src="[% yuipath %]/container/container-min.js"></script>
+<script type="text/javascript" src="[% yuipath %]/menu/menu-min.js"></script>
+<script type="text/javascript" src="[% themelang %]/lib/jquery/jquery.js"></script>
+<script type="text/javascript" src="[% themelang %]/lib/jquery/jquery-ui.js"></script>
+<script type="text/javascript" src="[% themelang %]/lib/jquery/plugins/jquery.hoverIntent.minified.js"></script>
+<script type="text/javascript" language="javascript" src="[% themelang %]/js/script.js"></script>
+[% IF ( OPACAmazonCoverImages ) %]
+<script type="text/javascript" language="javascript">//<![CDATA[
+    var NO_AMAZON_IMAGE = _("No cover image available");
+//]]>
+</script>
+<script type="text/javascript" language="javascript" src="[% themelang %]/js/amazonimages.js"></script>
+[% END %]
+[% IF ( SyndeticsCoverImages ) %]
+<script type="text/javascript" language="javascript">//<![CDATA[
+        var NO_AMAZON_IMAGE = _("No cover image available");
+    //]]>
+</script>
+<script type="text/javascript" language="javascript" src="[% themelang %]/js/amazonimages.js"></script>          [% END %]
+
+[% IF ( opacbookbag ) %]<script type="text/javascript" language="javascript" src="[% themelang %]/js/basket.js">
+[% ELSIF ( virtualshelves ) %]<script type="text/javascript" language="javascript" src="[% themelang %]/js/basket.js">
+[% ELSE %]<script type="text/javascript" language="javascript"> var readCookie;[% END %]
+</script>
+
+<script type="text/javascript" language="javascript">
+//<![CDATA[
+    [% IF ( opacbookbag ) %]var MSG_BASKET_EMPTY = _("Your cart is currently empty");
+    var MSG_RECORD_IN_BASKET = _("This item is already in your cart");
+    var MSG_RECORD_ADDED = _("This item has been added to your cart");
+    var MSG_RECORD_REMOVED = _("This item has been removed from your cart");
+    var MSG_NRECORDS_ADDED = _(" item(s) added to your cart");
+    var MSG_NRECORDS_IN_BASKET = _("already in your cart");
+    var MSG_NO_RECORD_SELECTED = _("No item was selected");
+    var MSG_NO_RECORD_ADDED = _("No item was added to your cart");
+    var MSG_CONFIRM_DEL_BASKET = _("Are you sure you want to empty your cart?");
+    var MSG_CONFIRM_DEL_RECORDS = _("Are you sure you want to remove the selected items?");
+    var MSG_ITEM_IN_CART = _("In your cart");
+    var MSG_IN_YOUR_CART = _("Items in your cart: ");
+    var MSG_ITEM_NOT_IN_CART = _("Add to your cart");
+      $("#cartDetails").ready(function(){ $("#cmspan").html("<a href=\"#\" id=\"cartmenulink\" class=\"\"><span> "+_("Cart")+"<span id=\"basketcount\"><\/span><\/span><\/a>"); });
+    [% ELSE %][% IF ( virtualshelves ) %]
+    var MSG_NO_RECORD_SELECTED = _("No item was selected");[% END %][% END %]
+    [% IF ( opacuserlogin ) %][% IF ( TagsEnabled ) %]var MSG_TAGS_DISABLED = _("Sorry, tags are not enabled on this system.");
+    var MSG_TAG_ALL_BAD = _("Error! Your tag was entirely markup code.  It was NOT added.  Please try again with plain text.");
+    var MSG_ILLEGAL_PARAMETER = _("Error! Illegal parameter");
+    var MSG_TAG_SCRUBBED = _("Note: your tag contained markup code that was removed. The tag was added as ");
+    var MSG_ADD_TAG_FAILED = _("Error! The add_tag operation failed on");
+    var MSG_ADD_TAG_FAILED_NOTE = _("Note: you can only tag an item with a given term once.  Check 'My Tags' to see your current tags.");
+    var MSG_DELETE_TAG_FAILED = _("Error! You cannot delete the tag");
+    var MSG_DELETE_TAG_FAILED_NOTE = _("Note: you can only delete your own tags.")
+    var MSG_LOGIN_REQUIRED = _("You must be logged in to add tags.");
+    var MSG_TAGS_ADDED = _("Tags added: ");
+    var MSG_TAGS_DELETED = _("Tags added: ");
+    var MSG_TAGS_ERRORS = _("Errors: ");
+    var MSG_MULTI_ADD_TAG_FAILED = _("Unable to add one or more tags.");[% END %][% END %]
+    [% IF ( OPACAmazonCoverImages ) %]$(window).load(function() {
+        verify_images();
+    });[% END %]
+    [% IF ( SyndeticsCoverImages ) %]$(window).load(function() {
+            verify_images();
+         });[% END %]
+//]]>
+[% IF ( opacbookbag ) %]</script><script type="text/javascript" language="javascript" src="[% themelang %]/js/basket.js">
+[% ELSIF ( virtualshelves ) %]</script><script type="text/javascript" language="javascript" src="[% themelang %]/js/basket.js">
+[% ELSE %]</script><script type="text/javascript" language="javascript">var readCookie;[% END %]</script>
+[% IF ( opacuserlogin ) %][% IF ( TagsEnabled ) %]<script type="text/javascript" language="javascript" src="[% themelang %]/js/tags.js"></script>[% END %][% ELSE %][% END %]
+[% IF ( GoogleJackets ) %]
+<script type="text/javascript" language="javascript" src="[% themelang %]/js/google-jackets.js"></script>
+<script type="text/javascript" language="javascript">
+//<![CDATA[
+    var NO_GOOGLE_JACKET = _("No cover image available");
+//]]>
+</script>
+[% END %]
+[% IF OpenLibraryCovers %]
+<script type="text/javascript" language="javascript" src="[% themelang %]/js/openlibrary.js"></script>
+<script type="text/javascript" language="javascript">
+//<![CDATA[
+var NO_OL_JACKET = _("No cover image available");
+//]]>
+</script>
+[% END %]
+
+[% IF OPACLocalCoverImages %]
+<script type="text/javascript" language="javascript" src="[% themelang %]/js/localcovers.js"></script>
+<script type="text/javascript" language="javascript">
+//<![CDATA[
+var NO_LOCAL_JACKET = _("No cover image available");
+//]]>
+</script>
+[% END %]
+
+[% IF ( BakerTaylorEnabled ) %]<script type="text/javascript" language="javascript" src="[% themelang %]/js/bakertaylorimages.js"></script>
+<script type="text/javascript" language="javascript">
+//<![CDATA[
+    var NO_BAKERTAYLOR_IMAGE = _("No cover image available");
+    $(window).load(function(){
+        bt_verify_images();
+    });
+//]]>
+</script>[% END %]
+<link rel="unapi-server" type="application/xml" title="unAPI" href="[% OPACBaseURL %]/cgi-bin/koha/unapi" />
+[% IF ( GoogleIndicTransliteration ) %]
+        <script type="text/javascript" src="http://www.google.com/jsapi"></script>
+        <script type="text/javascript" language="javascript" src="[% themelang %]/js/googleindictransliteration.js"></script>
+[% END %]
diff --git a/koha-tmpl/opac-tmpl/ccsr/en/includes/masthead.inc b/koha-tmpl/opac-tmpl/ccsr/en/includes/masthead.inc
new file mode 100644 (file)
index 0000000..d666113
--- /dev/null
@@ -0,0 +1,297 @@
+<div id="header-wrapper">
+
+<div id="top-bar">
+<ul id="menu-left">
+    <!-- [% IF ( opacbookbag ) %] -->
+        <li>
+            <span id="cmspan"></span>
+            <div id="cartDetails">Your cart is empty.</div>
+        </li>
+    <!-- [% END %] -->
+
+    [% IF ( virtualshelves ) %]
+
+    <li id="listsmenulink">
+        <a href="/cgi-bin/koha/opac-shelves.pl"  class="">
+            <span>Lists</span>
+        </a>
+    <div id="listsmenu" class="yuimenu" style="display: none">
+        <h4>Public lists</h4>
+            [% IF ( pubshelves ) %]
+                <ul class="first-of-type">
+                [% FOREACH pubshelvesloo IN pubshelvesloop %]
+                <li class="yuimenuitem"><a href="/cgi-bin/koha/opac-shelves.pl?viewshelf=[% pubshelvesloo.shelfnumber %]&amp;sortfield=[% pubshelvesloo.sortfield %]">[% pubshelvesloo.shelfname |html %]</a></li>
+                [% END %]
+                <li class="yuimenuitem"><a class="yuimenuitemlabel" href="/cgi-bin/koha/opac-shelves.pl?display=publicshelves">[View All]</a></li>
+            </ul>
+            [% ELSE %]
+            No public lists
+            [% END %]
+      [% IF ( opacuserlogin ) %]
+        <h4>Your lists</h4>
+        [% IF ( loggedinusername ) %]
+            [% IF ( barshelves ) %]
+                <ul class="first-of-type">
+                [% FOREACH barshelvesloo IN barshelvesloop %]
+                <li class="yuimenuitem"><a href="/cgi-bin/koha/opac-shelves.pl?viewshelf=[% barshelvesloo.shelfnumber %]&amp;sortfield=[% barshelvesloo.sortfield %]">[% barshelvesloo.shelfname |html %]</a></li>
+                [% END %]
+            <li class="yuimenuitem"><a class="yuimenuitemlabel" href="/cgi-bin/koha/opac-shelves.pl?display=privateshelves">[View all]</a></li>
+            </ul>
+            [% ELSE %]
+                <ul class="first-of-type">
+            <li>No private lists</li>
+            <li class="yuimenuitem"><a class="yuimenuitemlabel" href="/cgi-bin/koha/opac-shelves.pl?display=privateshelves">[New list]</a></li></ul>
+            [% END %]
+        [% ELSE %]
+            <ul class="first-of-type"><li><a href="/cgi-bin/koha/opac-user.pl">Log in to create your own lists</a></li></ul>
+        [% END %]
+      [% END %]
+    </div><!-- /listmenu /virtualshelves -->
+[% END %]
+<div id="listsDetails"></div>
+
+</li>
+</ul>
+
+    <div id="members">
+      [% IF ( opacuserlogin ) %]
+        <ul>
+    [% UNLESS ( loggedinusername ) %]
+                   <li><a href="/cgi-bin/koha/opac-user.pl">Log in to your account</a></li>[% END %]
+                [% IF ( loggedinusername ) %]
+                    <li><span class="members">Welcome, <a href="/cgi-bin/koha/opac-user.pl"><span class="loggedinusername">[% FOREACH USER_INF IN USER_INFO %][% USER_INF.title %] [% USER_INF.firstname %] [% USER_INF.surname %][% END %]</span></a></span></li>
+
+                [% END %]
+                [% IF ( ShowOpacRecentSearchLink ) %]
+                    <li><a href="/cgi-bin/koha/opac-search-history.pl" title="View your search history">Search history</a></li>
+                [% END %]
+                [% IF ( loggedinusername ) %]<li><a class="logout" id="logout" href="/cgi-bin/koha/opac-main.pl?logout.x=1">Log Out</a></li>[% END %]
+        </ul>
+      [% END %]
+    </div>
+
+    <div class="clear"></div>
+
+</div>
+
+<div id="opac-main-search" class="yui-g">
+
+<a class="logo" href="/cgi-bin/koha/opac-main.pl">
+    <img src="/opac-tmpl/ccsr/images/logo-koha.png" alt="Koha Online Catalog" />
+</a>
+
+<div id="fluid">
+
+[% IF ( OpacPublic ) %]
+<div id="fluid-offset">
+[% UNLESS ( advsearch ) %]
+[% IF ( OpacAddMastheadLibraryPulldown ) %]
+    [% IF ( OpacShowFiltersPulldownMobile and not OpacShowLibrariesPulldownMobile ) or ( not OpacShowFiltersPulldownMobile and OpacShowLibrariesPulldownMobile ) %]
+        <form name="searchform" method="get" action="/cgi-bin/koha/opac-search.pl" id="searchform" class="multi-libraries single-field-mobile">
+    [% ELSE %]
+        <form name="searchform" method="get" action="/cgi-bin/koha/opac-search.pl" id="searchform" class="multi-libraries">
+    [% END %]
+[% ELSE %]
+    <form name="searchform" method="get" action="/cgi-bin/koha/opac-search.pl" id="searchform" class="single-library">
+[% END %]
+    <label for="masthead_search" class="left"> Search
+    [% UNLESS ( OpacAddMastheadLibraryPulldown ) %]
+            [% IF ( mylibraryfirst ) %] (in [% mylibraryfirst %] only)[% END %]
+    [% END %]
+    </label>
+    [% IF ( OpacShowFiltersPulldownMobile ) %]
+        <div id="filters">
+    [% ELSE %]
+        <div id="filters" class="mobile-hidden">
+    [% END %]
+    <select name="idx" id="masthead_search" class="left">
+    [% IF ( ms_kw ) %]
+        <option selected="selected" value="">Library catalog</option>
+        [% ELSE %]
+        <option value="">Library catalog</option>
+        [% END %]
+        [% IF ( ms_ti ) %]
+        <option selected="selected" value="ti">Title</option>
+        [% ELSE %]
+        <option value="ti">Title</option>
+        [% END %]
+        [% IF ( ms_au ) %]
+        <option selected="selected" value="au">Author</option>
+        [% ELSE %]
+        <option value="au">Author</option>
+        [% END %]
+        [% IF ( ms_su ) %]
+        <option selected="selected" value="su">Subject</option>
+        [% ELSE %]
+        <option value="su">Subject</option>
+        [% END %]
+        [% IF ( ms_nb ) %]
+        <option selected="selected" value="nb">ISBN</option>
+        [% ELSE %]
+        <option value="nb">ISBN</option>
+        [% END %]
+        [% IF ( ms_se ) %]
+        <option selected="selected" value="se">Series</option>
+        [% ELSE %]
+        <option value="se">Series</option>
+        [% END %]
+        [% IF ( ms_callnum ) %]
+        <option selected="selected" value="callnum">Call number</option>
+        [% ELSE %]
+        <option value="callnum">Call number</option>
+        [% END %]</select>
+    </div>
+
+<div class="input-wrapper">
+[% IF ( ms_value ) %]
+        <input type="text" id = "transl1" name="q" value="[% ms_value |html %]" class="left" style="width: 35%; font-size: 111%;"/><div id="translControl"></div>
+[% ELSE %]
+        <input type="text" id = "transl1" name="q" class="left" style="width: 35%; font-size: 111%;"/><div id="translControl"></div>
+[% END %]
+</div>
+
+   [% IF ( OpacAddMastheadLibraryPulldown ) %]
+        [% IF ( OpacShowLibrariesPulldownMobile ) %]
+            <div id="libraries">
+        [% ELSE %]
+            <div id="libraries" class="mobile-hidden">
+        [% END %]
+      <select name="limit" id="select_library" class="left">
+         <option value="">All libraries</option>
+         [% FOREACH BranchesLoo IN BranchesLoop %]
+            [% IF ( BranchesLoo.selected ) %]<option selected="selected" value="branch:[% BranchesLoo.value %]">[% BranchesLoo.branchname %]</option>
+            [% ELSE %]<option value="branch:[% BranchesLoo.value %]">[% BranchesLoo.branchname %]</option>[% END %]
+         [% END %]
+      </select>
+    </div>
+   [% ELSE %]
+      [% IF ( opac_limit_override ) %]
+          [% IF ( opac_search_limit ) %]
+            <input name="limit" value="[% opac_search_limit %]" type="hidden" />
+          [% END %]
+      [% ELSE %]
+          [% IF ( mylibraryfirst ) %]
+               <input name="limit" value="branch:[% mylibraryfirst %]" type="hidden" />
+          [% END %]
+      [% END %]
+   [% END %]
+
+
+    <input type="submit" value="Go" id="searchsubmit" class="left" />
+[% IF ( opacbookbag ) %]<span id="cmspan"></span>[% END %]
+
+    <div class="clear"></div>
+
+    </form>
+[% ELSE %] <!--advsearch -->
+    [% IF ( OpacAddMastheadLibraryPulldown ) %]
+        [% IF ( OpacShowFiltersPulldownMobile and not OpacShowLibrariesPulldownMobile ) or ( not OpacShowFiltersPulldownMobile and OpacShowLibrariesPulldownMobile ) %]
+            <form name="searchform" method="get" action="/cgi-bin/koha/opac-search.pl" id="searchform" class="multi-libraries single-field-mobile">
+        [% ELSE %]
+            <form name="searchform" method="get" action="/cgi-bin/koha/opac-search.pl" id="searchform" class="multi-libraries">
+        [% END %]
+    [% ELSE %]
+        <form name="searchform" method="get" action="/cgi-bin/koha/opac-search.pl" id="searchform" class="single-library">
+    [% END %]
+    <label for="masthead_search" class="left"> Search
+    [% UNLESS ( OpacAddMastheadLibraryPulldown ) %]
+            [% IF ( mylibraryfirst ) %] (in [% mylibraryfirst %] only)[% END %]
+    [% END %]
+    </label>
+    [% IF ( OpacShowFiltersPulldownMobile ) %]
+        <div id="filters" class="transparent">
+    [% ELSE %]
+        <div id="filters" class="transparent mobile-hidden">
+    [% END %]
+        <select name="idx" id="masthead_search" class="left" disabled="disabled">
+            <option selected="selected" value="">Library Catalog</option>
+        </select>
+    </div>
+
+<div class="input-wrapper">
+    <input type="text" id = "transl1" name="q" class="left transparent" style="width: 35%; font-size: 111%;" disabled="disabled"/><div id="translControl"></div>
+</div>
+
+   [% IF ( OpacAddMastheadLibraryPulldown ) %]
+        [% IF ( OpacShowLibrariesPulldownMobile ) %]
+            <div id="libraries">
+        [% ELSE %]
+            <div id="libraries" class="mobile-hidden">
+        [% END %]
+          <select name="limit" id="select_library" class="left transparent">
+             <option value="">All Libraries</option>
+          </select>
+        </div>
+   [% END %]
+
+
+    <input type="submit" value="Go" id="searchsubmit" class="left transparent" disabled="disabled" />
+[% IF ( opacbookbag ) %]<span id="cmspan"></span>[% END %]
+
+    <div class="clear"></div>
+
+    </form>
+[% END %]
+
+<div id="moresearches">
+<a href="/cgi-bin/koha/opac-search.pl">Advanced search</a>
+[% IF ( OpacBrowser ) %]<span class="pipe"> | </span><a href="/cgi-bin/koha/opac-browser.pl">Browse by hierarchy</a>[% END %]
+[% IF ( OpacAuthorities ) %]<span class="pipe"> | </span><a href="/cgi-bin/koha/opac-authorities-home.pl">Browse by author or subject</a>[% END %]
+[% IF ( opacuserlogin && reviewson && OpacShowRecentComments ) %]<span class="pipe"> | </span><a href="/cgi-bin/koha/opac-showreviews.pl">Recent comments</a>[% END %]
+[% IF ( TagsEnabled ) %]<span class="pipe"> | </span><a href="/cgi-bin/koha/opac-tags.pl">Tag cloud</a>[% END %]
+[% IF ( OpacCloud ) %]<span class="pipe"> | </span><a href="/cgi-bin/koha/opac-tags_subject.pl">Subject cloud</a>[% END %]
+[% IF ( OpacTopissue ) %]<span class="pipe"> | </span><a href="/cgi-bin/koha/opac-topissues.pl">Most popular</a>[% END %]
+[% IF ( suggestion ) %]
+  [% IF ( AnonSuggestions ) %]<span class="pipe"> | </span><a href="/cgi-bin/koha/opac-suggestions.pl">Purchase suggestions</a>
+  [% ELSIF ( OPACViewOthersSuggestions ) %]<span class="pipe"> | </span><a href="/cgi-bin/koha/opac-suggestions.pl">Purchase suggestions</a>
+  [% END %]
+[% END %]
+</div>
+ </div>
+</div>
+
+<div id="libraryname">
+    [% IF ( opacheader ) %]
+        <h1>
+            [% opacheader %]
+        </h1>
+  [% END %]
+</div>
+
+[% END %]  <!-- OpacPublic -->
+
+</div>
+</div>
+
+<div id="container">
+<div id="ctn_lt">
+<div id="ctn_rt">
+<div id="ctn_lb">
+<div id="ctn_rb">
+
+<div id="breadcrumbs" class="yui-g">
+<p><a href="/cgi-bin/koha/opac-main.pl" title="Home">Home</a>
+[% IF ( searchdesc ) %]<span class="rsaquo"> &rsaquo; </span><a href="/cgi-bin/koha/opac-search.pl" title="Search">Search</a><span class="rsaquo"> &rsaquo; </span>
+[% IF ( total ) %]<strong>Your search returned [% total |html %] results.</strong>
+[% IF ( related ) %] (related searches: [% FOREACH relate IN related %][% relate.related_search %][% END %]). [% END %]
+<a href="[% OPACBaseURL %]/cgi-bin/koha/opac-search.pl?[% query_cgi |html %][% limit_cgi |html %]&amp;count=[% countrss |html %]&amp;sort_by=acqdate_dsc&amp;format=rss2" class="rsssearchlink">
+<img src="/opac-tmpl/ccsr/images/feed-icon-16x16.png" alt="Subscribe to this search" title="Subscribe to this search" border="0" class="rsssearchicon"/></a>
+[% ELSE %]
+<strong>No results found!</strong>
+<p>
+    [% IF ( searchdesc ) %]
+    No results found for that in [% LibraryName %] catalog. <a href="[% OPACBaseURL %]/cgi-bin/koha/opac-search.pl?[% query_cgi |html %][% limit_cgi |html %]&amp;format=rss2" class="rsssearchlink"><img src="/opac-tmpl/ccsr/images/feed-icon-16x16.png" alt="Subscribe to this search" title="Subscribe to this search" border="0" class="rsssearchicon"/></a>
+    [% ELSE %]
+    You did not specify any search criteria.
+    [% END %]
+</p>
+[% IF ( OPACNoResultsFound ) %]
+<div id="noresultsfound">
+[% OPACNoResultsFound %]
+</div>
+[% END %]
+
+</div>
+[% END %]</p>[% END %]</div>
+
+<div class="ctn_in">
diff --git a/koha-tmpl/opac-tmpl/ccsr/en/includes/navigation.inc b/koha-tmpl/opac-tmpl/ccsr/en/includes/navigation.inc
new file mode 100644 (file)
index 0000000..fe56488
--- /dev/null
@@ -0,0 +1,5 @@
+[% IF IsPatronPage %]
+[% INCLUDE usermenu.inc %]
+[% END %]
+[% OpacNav %]
+[% OpacNavBottom %]
diff --git a/koha-tmpl/opac-tmpl/ccsr/en/includes/opac-bottom.inc b/koha-tmpl/opac-tmpl/ccsr/en/includes/opac-bottom.inc
new file mode 100644 (file)
index 0000000..b89e6ac
--- /dev/null
@@ -0,0 +1,91 @@
+[% IF ( opaccredits ) %]
+    <div class="ft">
+        [% opaccredits %]
+    </div>
+[% END %]
+</div>
+
+<div class="clear"></div>
+</div>
+</div>
+</div>
+</div>
+</div>
+</div>
+
+<div id="main_footer">
+    <div class="colleft">
+    </div>
+    [% IF ( OpacKohaUrl ) %]
+    <div class="colright">
+        <div class="koha">
+            [% IF template.name.match('opac-main.tt') %]
+                <a class="koha_url" href="http://koha-community.org">Powered by</a>
+            [% ELSE %]
+                <a class="koha_url" rel="nofollow" href="http://koha-community.org">Powered by</a>
+            [% END %]
+        </div>
+    </div>
+    [% END %]
+    <div class="clear"></div>
+</div>
+
+[% IF ( opaclanguagesdisplay || OpacKohaUrl ) %]
+    [% IF ( languages_loop && opaclanguagesdisplay ) %]
+        [% UNLESS ( one_language_enabled ) %]
+            <div id="changelanguage" class="ft">
+            <div class="lang" style="float:left;padding: 0.1em 0;"><strong>Languages:&nbsp;</strong></div>
+            <ul id="i18nMenu" class="footermenu">
+            [% FOREACH languages_loo IN languages_loop %]
+
+                [% IF ( languages_loo.group_enabled ) %]
+                [% IF ( languages_loo.plural ) %]
+                <li class="more" style="float:left;"><a class="sublangs" id="show[% languages_loo.rfc4646_subtag %]" href="#">[% IF ( languages_loo.native_description ) %][% languages_loo.native_description %][% ELSE %][% languages_loo.rfc4646_subtag %][% END %]</a><div id="sub[% languages_loo.rfc4646_subtag %]">
+                <div class="bd"><ul>
+                [% FOREACH sublanguages_loo IN languages_loo.sublanguages_loop %]
+            [% IF ( sublanguages_loo.enabled ) %]
+                    [% IF ( sublanguages_loo.sublanguage_current ) %]
+                        <li> [% sublanguages_loo.native_description %] [% sublanguages_loo.script_description %] [% sublanguages_loo.region_description %] [% sublanguages_loo.variant_description %] ([% sublanguages_loo.rfc4646_subtag %])</li>
+                    [% ELSE %]
+                    <li><a href="/cgi-bin/koha/changelanguage.pl?language=[% sublanguages_loo.rfc4646_subtag %]"> [% sublanguages_loo.native_description %] [% sublanguages_loo.script_description %] [% sublanguages_loo.region_description %] [% sublanguages_loo.variant_description %] ([% sublanguages_loo.rfc4646_subtag %])</a></li>
+            [% END %]
+                    [% END %]
+
+                [% END %]
+                </ul></div></div></li>
+
+                [% ELSE %]
+                [% IF ( languages_loo.group_enabled ) %]
+                    [% IF ( languages_loo.current ) %]
+                        <li style="float:left;">[% IF ( languages_loo.native_description ) %][% languages_loo.native_description %][% ELSE %][% languages_loo.rfc4646_subtag %][% END %]</li>
+                    [% ELSE %]
+                        <li style="float:left;"><a href="/cgi-bin/koha/changelanguage.pl?language=[% languages_loo.rfc4646_subtag %]">[% IF ( languages_loo.native_description ) %][% languages_loo.native_description %][% ELSE %][% languages_loo.rfc4646_subtag %][% END %]</a></li>
+                    [% END %]
+            [% END %]
+                [% END %]
+                [% END %]
+
+            [% END %]
+            </ul>
+            </div>
+        [% END %]
+    [% END %]
+
+[% END %]
+
+
+<script type="text/javascript" src="/opac-tmpl/lib/jquery/plugins/jquery.jqtransform_select.js"></script>
+<script type="text/javascript">
+$(function() {
+    //find all form with class jqtransform and apply the plugin
+    $("form#searchform").jqTransform();
+});
+
+[% IF ( opacuserjs ) %][% opacuserjs %][% END %]
+
+</script>
+
+<!-- /ADD JQUERY PLUGIN JQTRANSFORM - LIBÉO -->
+
+</body>
+</html>
diff --git a/koha-tmpl/opac-tmpl/ccsr/en/includes/usermenu.inc b/koha-tmpl/opac-tmpl/ccsr/en/includes/usermenu.inc
new file mode 100644 (file)
index 0000000..99e8743
--- /dev/null
@@ -0,0 +1,38 @@
+[% IF ( opacuserlogin ) %][% IF ( loggedinusername ) %]
+<div id="menu">
+<ul>
+  [% IF ( userview ) %]<li class="active">[% ELSE %]<li>[% END %]<a href="/cgi-bin/koha/opac-user.pl">my summary</a></li>
+  [% IF ( OPACFinesTab ) %]
+  [% IF ( accountview ) %]<li class="active">[% ELSE %]<li>[% END %]<a href="/cgi-bin/koha/opac-account.pl">my fines</a></li>
+  [% END %]
+  [% IF ( userupdateview ) %]<li class="active">[% ELSE %]<li>[% END %]<a href="/cgi-bin/koha/opac-userupdate.pl">my personal details</a></li>
+  [% IF ( TagsEnabled ) %]
+    [% IF ( tagsview ) %]<li class="active">[% ELSE %]<li>[% END %]<a href="/cgi-bin/koha/opac-tags.pl?mine=1">my tags</a></li>
+  [% END %]
+  [% IF ( OpacPasswordChange ) %]
+    [% IF ( passwdview ) %]<li class="active">[% ELSE %]<li>[% END %]<a href="/cgi-bin/koha/opac-passwd.pl">change my password</a></li>
+  [% END %]
+  [% IF ( ShowOpacRecentSearchLink ) %]
+  [% IF ( searchhistoryview ) %]<li class="active">[% ELSE %]<li>[% END %]<a href="/cgi-bin/koha/opac-search-history.pl">my search history</a></li>
+  [% END %]
+  [% IF ( opacreadinghistory ) %]
+  [% IF ( readingrecview ) %]<li class="active">[% ELSE %]<li>[% END %]<a href="/cgi-bin/koha/opac-readingrecord.pl">my reading history</a></li>
+     [% IF ( OPACPrivacy ) %]
+       [% IF ( privacyview ) %]<li class="active">[% ELSE %]<li>[% END %]<a href="/cgi-bin/koha/opac-privacy.pl">my privacy</a></li>
+     [% END %]
+  [% END %]
+  [% IF ( suggestion ) %]
+    [% UNLESS ( AnonSuggestions ) %]
+      [% IF ( suggestionsview ) %]<li class="active suggestions">[% ELSE %]<li class="suggestions">[% END %]<a href="/cgi-bin/koha/opac-suggestions.pl">my purchase suggestions</a></li>
+    [% END %]
+  [% END %]
+  [% IF ( EnhancedMessagingPreferences ) %]
+    [% IF ( messagingview ) %]<li class="active messaging">[% ELSE %]<li class="messaging">[% END %]<a href="/cgi-bin/koha/opac-messaging.pl">my messaging</a></li>
+  [% END %]
+  [% IF ( virtualshelves ) %]
+  [% IF ( listsview ) %]<li class="active privateshelves">[% ELSE %]<li class="privateshelves">[% END %]<a href="/cgi-bin/koha/opac-shelves.pl?display=privateshelves">my lists</a></li>
+  [% END %]
+
+</ul>
+</div>
+[% END %][% ELSE %][% END %]
diff --git a/koha-tmpl/opac-tmpl/ccsr/en/js/amazonimages.js b/koha-tmpl/opac-tmpl/ccsr/en/js/amazonimages.js
new file mode 100644 (file)
index 0000000..9acb294
--- /dev/null
@@ -0,0 +1,14 @@
+// http://www.oreillynet.com/pub/a/javascript/2003/10/21/amazonhacks.html
+function verify_images() {
+   $("img").each(function(i){
+            if ((this.src.indexOf('images.amazon.com') >= 0) || (this.src.indexOf('g-images.amazon.com') >=0) || (this.src.indexOf('syndetics.com') >=0) ) {
+            w = this.width;
+            h = this.height;
+            if ((w == 1) || (h == 1)) {
+                               $(this).parent().html("<span class=\"no-image\">"+NO_AMAZON_IMAGE+"</span>");
+            } else if ((this.complete != null) && (!this.complete)) {
+                            $(this).parent().html("<span class=\"no-image\">"+NO_AMAZON_IMAGE+"</span>");
+            }
+        }
+          });
+            }
diff --git a/koha-tmpl/opac-tmpl/ccsr/en/js/bakertaylorimages.js b/koha-tmpl/opac-tmpl/ccsr/en/js/bakertaylorimages.js
new file mode 100644 (file)
index 0000000..6a933d9
--- /dev/null
@@ -0,0 +1,11 @@
+// http://www.oreillynet.com/pub/a/javascript/2003/10/21/amazonhacks.html
+function bt_verify_images() {
+        $("img").each(function(i){
+            if (this.src.indexOf('btol.com') >= 0) {
+            h = this.height;
+            if (h == 20) {
+                                $(this).before("<span class=\"no-image\" style=\"margin-bottom:5px;width:80px;\">"+NO_BAKERTAYLOR_IMAGE+"</span>");
+            }
+              }
+              });
+            }
diff --git a/koha-tmpl/opac-tmpl/ccsr/en/js/basket.js b/koha-tmpl/opac-tmpl/ccsr/en/js/basket.js
new file mode 100644 (file)
index 0000000..0ee0622
--- /dev/null
@@ -0,0 +1,536 @@
+//////////////////////////////////////////////////////////////////////////////
+// BASIC FUNCTIONS FOR COOKIE MANAGEMENT //
+//////////////////////////////////////////////////////////////////////////////
+
+var CGIBIN = "/cgi-bin/koha/";
+
+
+var nameCookie = "bib_list";
+var valCookie = readCookie(nameCookie);
+
+if(valCookie){
+    var arrayRecords = valCookie.split("/");
+    if(arrayRecords.length > 0){
+        var basketcount = arrayRecords.length-1;
+    } else {
+        var basketcount = "";
+    }
+} else {
+        var basketcount = "";
+}
+
+function writeCookie(name, val, wd) {
+    if (wd) {
+        parent.opener.document.cookie = name + "=" + val;
+    }
+    else {
+        parent.document.cookie = name + "=" + val;
+    }
+}
+
+function readCookieValue (str, val_beg) {
+    var val_end = str.indexOf(";", val_end);
+    if (val_end == -1)
+        val_end = str.length;
+    return str.substring(val_beg, val_end);
+}
+
+function readCookie(name, wd) {
+    var str_name = name + "=";
+    var str_len = str_name.length;
+    var str_cookie = "";
+    if (wd) {
+        str_cookie = parent.opener.document.cookie;
+    }
+    else {
+        str_cookie = parent.document.cookie;
+    }
+        // fixed - getting the part of the basket that is bib_list
+        var cookie_parts = str_cookie.split(";");
+            for(var i=0;i < cookie_parts.length;i++) {
+                var c = cookie_parts[i];
+                    while (c.charAt(0)==' ') c = c.substring(1,c.length);
+            if(c.indexOf(str_name) == 0) return c.substring(str_name.length,c.length);
+            }
+    return null;
+}
+
+function delCookie(name) {
+    var exp = new Date();
+    exp.setTime(exp.getTime()-1);
+    if(parent.opener){
+    parent.opener.document.cookie = name + "=null; expires=" + exp.toGMTString();
+    } else {
+    document.cookie = name + "=null; expires=" + exp.toGMTString();
+    }
+}
+
+///////////////////////////////////////////////////////////////////
+// SPECIFIC FUNCTIONS USING COOKIES //
+///////////////////////////////////////////////////////////////////
+
+function openBasket() {
+    var strCookie = "";
+    var nameCookie = "bib_list";
+    var valCookie = readCookie(nameCookie);
+    if ( valCookie ) {
+        strCookie = nameCookie + "=" + valCookie;
+    }
+
+    if ( strCookie ) {
+        var iW = 820;
+        var iH = 450;
+        var optWin = "dependant=yes,status=yes,scrollbars=yes,resizable=yes,toolbar=no,location=yes,height="+iH+",width="+iW;
+        var loc = CGIBIN + "opac-basket.pl?" + strCookie;
+        var basket = open(loc, "basket", optWin);
+        if (window.focus) {basket.focus()}
+    }
+    else {
+        showCartUpdate(MSG_BASKET_EMPTY);
+    }
+}
+
+function addRecord(val, selection,NoMsgAlert) {
+    var nameCookie = "bib_list";
+    var valCookie = readCookie(nameCookie);
+    var write = 0;
+
+    if ( ! valCookie ) { // empty basket
+        valCookie = val + '/';
+        write = 1;
+        updateBasket(1);
+    }
+    else {
+        // is this record already in the basket ?
+        var found = false;
+        var arrayRecords = valCookie.split("/");
+        for (var i = 0; i < valCookie.length - 1; i++) {
+            if (val == arrayRecords[i]) {
+                found = true;
+                break;
+            }
+        }
+        if ( found ) {
+            if (selection) {
+                return 0;
+            }
+            if (! NoMsgAlert ) {
+                showCartUpdate(MSG_RECORD_IN_BASKET);
+            }
+        }
+        else {
+            valCookie += val + '/';
+            write = 1;
+            updateBasket(arrayRecords.length);
+        }
+    }
+
+    if (write) {
+        writeCookie(nameCookie, valCookie);
+        if (selection) { // when adding a selection of records
+            updateLink(val,"add");
+            return 1;
+        }
+        if (! NoMsgAlert ) {
+            showCartUpdate(MSG_RECORD_ADDED);
+            updateLink(val,"add");
+        }
+    }
+}
+
+function AllAreChecked(s){
+    if (! s.length)    { return false;}
+    var l = s.length;
+    for (var i=0; i < l; i++) {
+        if(! s[i].checked) { return false; }
+    }
+    return true;
+}
+
+function SelectAll(){
+    if(document.bookbag_form.biblionumber.length > 0) {
+        var checky = AllAreChecked(document.bookbag_form.biblionumber);
+        var l = document.bookbag_form.biblionumber.length;
+        for (var i=0; i < l; i++) {
+            document.bookbag_form.biblionumber[i].checked = (checky) ? false : true;
+        }
+    }
+}
+
+function addMultiple(){
+    var c_value = "";
+    if(document.bookbag_form.biblionumber.length > 0) {
+        for (var i=0; i < document.bookbag_form.biblionumber.length; i++) {
+            if (document.bookbag_form.biblionumber[i].checked) {
+                c_value = c_value + document.bookbag_form.biblionumber[i].value + "/";
+            }
+        }
+        addSelRecords(c_value);
+    } else {
+        c_value = c_value + document.bookbag_form.biblionumber.value + "/";
+        addSelRecords(c_value);
+    }
+}
+
+function addSelRecords(valSel) { // function for adding a selection of biblios to the basket
+                                                // from the results list
+    var arrayRecords = valSel.split("/");
+    var i = 0;
+    var nbAdd = 0;
+    for (i=0;i<arrayRecords.length;i++) {
+        if (arrayRecords[i]) {
+            nbAdd += addRecord(arrayRecords[i], 1);
+        }
+        else {
+            break;
+        }
+    }
+    var msg = "";
+    if (nbAdd) {
+        if (i > nbAdd) {
+            msg = nbAdd+" "+MSG_NRECORDS_ADDED+", "+(i-nbAdd)+" "+MSG_NRECORDS_IN_BASKET;
+        }
+        else {
+            msg = nbAdd+" "+MSG_NRECORDS_ADDED;
+        }
+    }
+    else {
+        if (i < 1) {
+            msg = MSG_NO_RECORD_SELECTED;
+        }
+        else {
+            msg = MSG_NO_RECORD_ADDED+" ("+MSG_NRECORDS_IN_BASKET+") !";
+        }
+    }
+    showCartUpdate(msg);
+}
+
+function showCartUpdate(msg){
+    // set body of popup window
+    $("#cartDetails").html(msg);
+    showCart();
+    setTimeout("hideCart()",2000);
+}
+
+function showListsUpdate(msg){
+       // set body of popup window
+       $("#listsDetails").html(msg);
+       showLists();
+       setTimeout("hideLists()",2000);
+}
+
+function selRecord(num, status) {
+    var str = document.myform.records.value
+    if (status){
+        str += num+"/";
+    }
+    else {
+        str = delRecord(num, str);
+    }
+
+    document.myform.records.value = str;
+}
+
+function delSingleRecord(biblionumber){
+    var nameCookie = "bib_list";
+    var valCookie = readCookie(nameCookie);
+    var arrayRecords = valCookie.split("/");
+    var pos = jQuery.inArray(biblionumber,arrayRecords);
+    arrayRecords.splice(pos,1);
+    valCookie = arrayRecords.join("/");
+    writeCookie( nameCookie, valCookie );
+    updateBasket( arrayRecords.length-1 );
+    updateLink(biblionumber,"del");
+    showCartUpdate(MSG_RECORD_REMOVED);
+}
+
+function delSelRecords() {
+    var recordsSel = 0;
+    var end = 0;
+    var nameCookie = "bib_list";
+    var valCookie = readCookie(nameCookie, 1);
+    if (valCookie) {
+        var str = document.myform.records.value;
+        if (str.length > 0){
+            recordsSel = 1;
+            var str2 = valCookie;
+            while (!end){
+                s = str.indexOf("/");
+                if (s>0){
+                    num = str.substring(0, s);
+                    str = delRecord(num,str);
+                    str2 = delRecord(num,str2);
+                    updateLink(num,"del",top.opener);
+                } else {
+                    end = 1;
+                }
+            }
+
+            if (str2.length == 0) { // equivalent to emptying the basket
+                var rep = false;
+                rep = confirm(MSG_CONFIRM_DEL_BASKET);
+                if (rep) {
+                    delCookie(nameCookie);
+                    document.location = "about:blank";
+                    updateBasket(0,top.opener);
+                    window.close();
+                } else {
+                    return;
+                }
+            } else {
+                writeCookie(nameCookie, str2, 1);
+            }
+        }
+    }
+
+    if (recordsSel) {
+        var strCookie = "";
+        var nameCookie = "bib_list";
+        var valCookie = readCookie(nameCookie, 1);
+        strCookie = nameCookie + "=" + valCookie;
+        var arrayRecords = valCookie.split("/");
+        updateBasket(arrayRecords.length-1,top.opener);
+        document.location = CGIBIN + "opac-basket.pl?" + strCookie;
+    }
+    else {
+        alert(MSG_NO_RECORD_SELECTED);
+    }
+}
+
+function delRecord (n, s) {
+    var re = /\d/;
+    var aux = s;
+    var found = 0;
+    var pos = -1;
+
+    while (!found) {
+        pos = aux.indexOf(n, pos+1);
+        var charAfter = aux.charAt(pos+n.length); // character right after the researched string
+        if (charAfter.match(re)) { // record number inside another one
+            continue;
+        }
+        else { // good record number
+            aux = s.substring(0, pos)+ s.substring(pos+n.length+1, s.length);
+            s = aux;
+            found = 1;
+        }
+    }
+
+    return s;
+}
+
+
+function delBasket() {
+    var nameCookie = "bib_list";
+
+    var rep = false;
+    rep = confirm(MSG_CONFIRM_DEL_BASKET);
+    if (rep) {
+        delCookie(nameCookie);
+        updateAllLinks(top.opener);
+        document.location = "about:blank";
+        updateBasket(0,top.opener);
+        window.close();
+    }
+}
+
+
+function quit() {
+    if (document.myform.records.value) {
+        var rep = false;
+        rep = confirm(MSG_CONFIRM_DEL_RECORDS);
+        if (rep) {
+            delSelRecords();
+        }
+    }
+    updateBasket(arrayRecords.length-1,top.opener);
+    window.close();
+}
+
+function sendBasket() {
+    var nameCookie = "bib_list";
+    var valCookie = readCookie(nameCookie);
+    var strCookie = nameCookie + "=" + valCookie;
+
+    var loc = CGIBIN + "opac-sendbasket.pl?" + strCookie;
+
+    var optWin="dependant=yes,scrollbars=no,resizable=no,height=300,width=450,top=50,left=100";
+    var win_form = open(loc,"win_form",optWin);
+}
+
+function downloadBasket() {
+    var nameCookie = "bib_list";
+    var valCookie = readCookie(nameCookie);
+    var strCookie = nameCookie + "=" + valCookie;
+
+    var loc = CGIBIN + "opac-downloadcart.pl?" + strCookie;
+
+    open(loc,"win_form",'dependant=yes,scrollbars=no,resizable=no,height=300,width=450,top=50,left=100');
+}
+
+function printBasket() {
+    var loc = document.location + "&print=1";
+    document.location = loc;
+}
+
+function showMore() {
+    var strCookie = "";
+
+    var nameCookie = "bib_list";
+    var valCookie = readCookie(nameCookie);
+    if (valCookie) {
+        strCookie = nameCookie + "=" + valCookie;
+    }
+    var loc = CGIBIN + "opac-basket.pl?" + strCookie + "&verbose=1";
+    document.location = loc;
+}
+
+function showLess() {
+    var strCookie = "";
+
+    var nameCookie = "bib_list";
+    var valCookie = readCookie(nameCookie);
+    if (valCookie) {
+        strCookie = nameCookie + "=" + valCookie;
+    }
+    var loc = CGIBIN + "opac-basket.pl?" + strCookie + "&verbose=0";
+    document.location = loc;
+}
+
+function updateBasket(updated_value,target) {
+    if(target){
+    target.$('#basketcount').html("<span>"+updated_value+"</span>");
+    target.$('#cartDetails').html(MSG_IN_YOUR_CART+updated_value);
+    } else {
+    $('#basketcount').html("<span>"+updated_value+"</span>");
+    $('#cartDetails').html(MSG_IN_YOUR_CART+updated_value);
+    }
+    var basketcount = updated_value;
+}
+
+function openBiblio(dest,biblionumber) {
+    openerURL=dest+"?biblionumber="+biblionumber;
+    opener.document.location = openerURL;
+    opener.focus();
+}
+
+function addSelToShelf() {
+    var items = document.getElementById('records').value;
+    if(items){
+    document.location = "/cgi-bin/koha/opac-addbybiblionumber.pl?biblionumber="+items;
+    } else {
+        alert(MSG_NO_RECORD_SELECTED);
+    }
+}
+
+///  vShelfAdd()  builds url string for multiple-biblio adds.
+
+function vShelfAdd() {
+        bibs= new Array;
+        if(document.bookbag_form.biblionumber.length > 0) {
+                for (var i=0; i < document.bookbag_form.biblionumber.length; i++) {
+                        if (document.bookbag_form.biblionumber[i].checked) {
+                                bibs.push("biblionumber=" +  document.bookbag_form.biblionumber[i].value);
+                        }
+                }
+        if (bibs.length == 0) { showListsUpdate(MSG_NO_RECORD_SELECTED); }
+            return bibs.join("&");
+        } else {
+            if (document.bookbag_form.biblionumber.checked) {
+                return "biblionumber=" + document.bookbag_form.biblionumber.value;
+            }
+        }
+}
+
+function showCart(){
+        var position = $("#cartmenulink").offset();
+        var scrolld = $(window).scrollTop();
+        var top = position.top + $("#cartmenulink").outerHeight();
+        if( scrolld > top ){
+            top = scrolld + 15;
+        }
+        var menuWidth = 200;
+        var buttonWidth = $("#cartmenulink").innerWidth();
+        var buttonOffset = menuWidth - buttonWidth;
+        var left = position.left;
+        $("#cartDetails").css("position","fixed").css("left",left);
+        $("#cartDetails").fadeIn("fast");
+}
+
+function showLists(){
+    var position = $("#listsmenulink").offset();
+    var top = position.top + $("#listsmenulink").outerHeight();
+    var menuWidth = 200;
+    var buttonWidth = $("#listsmenulink").innerWidth();
+    var buttonOffset = menuWidth - buttonWidth;
+    var left = position.left;
+    $("#listsDetails").css("position","fixed").css("top",top);
+    $("#listsDetails").css("position","fixed").css("left",left);
+    $("#listsDetails").fadeIn("fast");
+}
+
+function hideCart(){
+    $("#cartDetails").fadeOut("fast");
+}
+
+function hideLists(){
+    $("#listsDetails").fadeOut("fast");
+}
+
+function updateLink(val,op,target){
+    if(target){
+        if(op == "add"){
+            target.$("a.cart"+val).html(MSG_ITEM_IN_CART).addClass("incart");
+            target.$("a.cartR"+val).show();
+        } else {
+            target.$("a.cart"+val).html(MSG_ITEM_NOT_IN_CART).removeClass("incart").addClass("addtocart cart"+val);
+            target.$("a.cartR"+val).hide();
+        }
+    } else {
+        if(op == "add"){
+            $("a.cart"+val).html(MSG_ITEM_IN_CART).addClass("incart");
+            $("a.cartR"+val).show();
+        } else {
+            $("a.cart"+val).html(MSG_ITEM_NOT_IN_CART).removeClass("incart").addClass("addtocart cart"+val);
+            $("a.cartR"+val).hide();
+        }
+    }
+}
+
+function updateAllLinks(target){
+    if(target){
+        target.$("a.incart").html(MSG_ITEM_NOT_IN_CART).removeClass("incart").addClass("addtocart");
+        target.$("a.cartRemove").hide();
+    } else {
+        $("a.incart").html(MSG_ITEM_NOT_IN_CART).removeClass("incart").addClass("addtocart");
+        $("a.cartRemove").hide();
+    }
+}
+
+$("#cartDetails").ready(function(){
+    $("#cartDetails,#cartmenulink").click(function(){ hideCart(); });
+    $("#cartmenulink").click(function(){ openBasket(); return false; });
+    $("#cartmenulink").hoverIntent(function(){
+        showCart();
+    },function(){
+        hideCart();
+    });
+    if(basketcount){ updateBasket(basketcount) }
+});
+
+$("#listsmenu").ready(function(){
+   $("#listsmenulink").mouseenter(function(){
+             var position = $("#listsmenulink").offset();
+           var top = position.top + $("#listsmenulink").outerHeight();
+            var menuWidth = 200;
+           var buttonWidth = $("#listsmenulink").innerWidth();
+            var buttonOffset = menuWidth - buttonWidth;
+            var left = position.left;
+              $("#listsmenu").css("position","fixed").css("top",top);
+                $("#listsmenu").css("position","fixed").css("left",left);
+              $("#listsmenu").fadeIn("fast");
+        });
+    $("#listsmenulink").mouseleave(function(){
+             $("#listsmenu").fadeOut("fast");
+       });
+});
diff --git a/koha-tmpl/opac-tmpl/ccsr/en/js/datatables.js b/koha-tmpl/opac-tmpl/ccsr/en/js/datatables.js
new file mode 100644 (file)
index 0000000..e0cc888
--- /dev/null
@@ -0,0 +1,384 @@
+// These default options are for translation but can be used
+// for any other datatables settings
+// MSG_DT_* variables comes from datatables-strings.inc
+// To use it, write:
+//  $("#table_id").dataTable($.extend(true, {}, dataTableDefaults, {
+//      // other settings
+//  } ) );
+var dataTablesDefaults = {
+    "oLanguage": {
+        "oPaginate": {
+            "sFirst"    : window.MSG_DT_FIRST || "First",
+            "sLast"     : window.MSG_DT_LAST || "Last",
+            "sNext"     : window.MSG_DT_NEXT || "Next",
+            "sPrevious" : window.MSG_DT_PREVIOUS || "Previous"
+        },
+        "sEmptyTable"       : window.MSG_DT_EMPTY_TABLE || "No data available in table",
+        "sInfo"             : window.MSG_DT_INFO || "Showing _START_ to _END_ of _TOTAL_ entries",
+        "sInfoEmpty"        : window.MSG_DT_INFO_EMPTY || "No entries to show",
+        "sInfoFiltered"     : window.MSG_DT_INFO_FILTERED || "(filtered from _MAX_ total entries)",
+        "sLengthMenu"       : window.MSG_DT_LENGTH_MENU || "Show _MENU_ entries",
+        "sLoadingRecords"   : window.MSG_DT_LOADING_RECORDS || "Loading...",
+        "sProcessing"       : window.MSG_DT_PROCESSING || "Processing...",
+        "sSearch"           : window.MSG_DT_SEARCH || "Search:",
+        "sZeroRecords"      : window.MSG_DT_ZERO_RECORDS || "No matching records found"
+    },
+    "sDom": '<"top pager"ilpf>t<"bottom pager"ip>'
+};
+
+
+// Return an array of string containing the values of a particular column
+$.fn.dataTableExt.oApi.fnGetColumnData = function ( oSettings, iColumn, bUnique, bFiltered, bIgnoreEmpty ) {
+    // check that we have a column id
+    if ( typeof iColumn == "undefined" ) return new Array();
+    // by default we only wany unique data
+    if ( typeof bUnique == "undefined" ) bUnique = true;
+    // by default we do want to only look at filtered data
+    if ( typeof bFiltered == "undefined" ) bFiltered = true;
+    // by default we do not wany to include empty values
+    if ( typeof bIgnoreEmpty == "undefined" ) bIgnoreEmpty = true;
+    // list of rows which we're going to loop through
+    var aiRows;
+    // use only filtered rows
+    if (bFiltered == true) aiRows = oSettings.aiDisplay;
+    // use all rows
+    else aiRows = oSettings.aiDisplayMaster; // all row numbers
+
+    // set up data array
+    var asResultData = new Array();
+    for (var i=0,c=aiRows.length; i<c; i++) {
+        iRow = aiRows[i];
+        var aData = this.fnGetData(iRow);
+        var sValue = aData[iColumn];
+        // ignore empty values?
+        if (bIgnoreEmpty == true && sValue.length == 0) continue;
+        // ignore unique values?
+        else if (bUnique == true && jQuery.inArray(sValue, asResultData) > -1) continue;
+        // else push the value onto the result data array
+        else asResultData.push(sValue);
+    }
+    return asResultData;
+}
+
+// List of unbind keys (Ctrl, Alt, Direction keys, etc.)
+// These keys must not launch filtering
+var blacklist_keys = new Array(0, 16, 17, 18, 37, 38, 39, 40);
+
+// Set a filtering delay for global search field
+jQuery.fn.dataTableExt.oApi.fnSetFilteringDelay = function ( oSettings, iDelay ) {
+    /*
+     * Inputs:      object:oSettings - dataTables settings object - automatically given
+     *              integer:iDelay - delay in milliseconds
+     * Usage:       $('#example').dataTable().fnSetFilteringDelay(250);
+     * Author:      Zygimantas Berziunas (www.zygimantas.com) and Allan Jardine
+     * License:     GPL v2 or BSD 3 point style
+     * Contact:     zygimantas.berziunas /AT\ hotmail.com
+     */
+    var
+        _that = this,
+        iDelay = (typeof iDelay == 'undefined') ? 250 : iDelay;
+
+    this.each( function ( i ) {
+        $.fn.dataTableExt.iApiIndex = i;
+        var
+            $this = this,
+            oTimerId = null,
+            sPreviousSearch = null,
+            anControl = $( 'input', _that.fnSettings().aanFeatures.f );
+
+        anControl.unbind( 'keyup.DT' ).bind( 'keyup.DT', function(event) {
+            var $$this = $this;
+            if (blacklist_keys.indexOf(event.keyCode) != -1) {
+                return this;
+            }else if ( event.keyCode == '13' ) {
+                $.fn.dataTableExt.iApiIndex = i;
+                _that.fnFilter( $(this).val() );
+            } else {
+                if (sPreviousSearch === null || sPreviousSearch != anControl.val()) {
+                    window.clearTimeout(oTimerId);
+                    sPreviousSearch = anControl.val();
+                    oTimerId = window.setTimeout(function() {
+                        $.fn.dataTableExt.iApiIndex = i;
+                        _that.fnFilter( anControl.val() );
+                    }, iDelay);
+                }
+            }
+        });
+
+        return this;
+    } );
+    return this;
+}
+
+// Add a filtering delay on general search and on all input (with a class 'filter')
+jQuery.fn.dataTableExt.oApi.fnAddFilters = function ( oSettings, sClass, iDelay ) {
+    var table = this;
+    this.fnSetFilteringDelay(iDelay);
+    var filterTimerId = null;
+    $("input."+sClass).keyup(function(event) {
+      if (blacklist_keys.indexOf(event.keyCode) != -1) {
+        return this;
+      }else if ( event.keyCode == '13' ) {
+        table.fnFilter( $(this).val(), $(this).attr('data-column_num') );
+      } else {
+        window.clearTimeout(filterTimerId);
+        var input = this;
+        filterTimerId = window.setTimeout(function() {
+          table.fnFilter($(input).val(), $(input).attr('data-column_num'));
+        }, iDelay);
+      }
+    });
+}
+
+// Useful if you want to filter on dates with 2 inputs (start date and end date)
+// You have to include calendar.inc to use it
+function dt_add_rangedate_filter(begindate_id, enddate_id, dateCol) {
+    $.fn.dataTableExt.afnFiltering.push(
+        function( oSettings, aData, iDataIndex ) {
+
+            var beginDate = Date_from_syspref($("#"+begindate_id).val()).getTime();
+            var endDate   = Date_from_syspref($("#"+enddate_id).val()).getTime();
+
+            var data = Date_from_syspref(aData[dateCol]).getTime();
+
+            if ( !parseInt(beginDate) && ! parseInt(endDate) ) {
+                return true;
+            }
+            else if ( beginDate <= data && !parseInt(endDate) ) {
+                return true;
+            }
+            else if ( data <= endDate && !parseInt(beginDate) ) {
+                return true;
+            }
+            else if ( beginDate <= data && data <= endDate) {
+                return true;
+            }
+            return false;
+        }
+    );
+}
+
+//Sorting for dates (uk format)
+function dt_add_type_uk_date() {
+  jQuery.fn.dataTableExt.aTypes.unshift(
+    function ( sData )
+    {
+      if (sData.match(/(0[1-9]|[12][0-9]|3[01])\/(0[1-9]|1[012])\/(19|20|21)\d\d/))
+      {
+        return 'uk_date';
+      }
+      return null;
+    }
+  );
+
+  jQuery.fn.dataTableExt.oSort['uk_date-asc']  = function(a,b) {
+    var re = /(\d{2}\/\d{2}\/\d{4})/;
+    a.match(re);
+    var ukDatea = RegExp.$1.split("/");
+    b.match(re);
+    var ukDateb = RegExp.$1.split("/");
+
+    var x = (ukDatea[2] + ukDatea[1] + ukDatea[0]) * 1;
+    var y = (ukDateb[2] + ukDateb[1] + ukDateb[0]) * 1;
+
+    return ((x < y) ? -1 : ((x > y) ?  1 : 0));
+  };
+
+  jQuery.fn.dataTableExt.oSort['uk_date-desc'] = function(a,b) {
+    var re = /(\d{2}\/\d{2}\/\d{4})/;
+    a.match(re);
+    var ukDatea = RegExp.$1.split("/");
+    b.match(re);
+    var ukDateb = RegExp.$1.split("/");
+
+    var x = (ukDatea[2] + ukDatea[1] + ukDatea[0]) * 1;
+    var y = (ukDateb[2] + ukDateb[1] + ukDateb[0]) * 1;
+
+    return ((x < y) ? 1 : ((x > y) ?  -1 : 0));
+  };
+}
+
+// Sorting on html contains
+// <a href="foo.pl">bar</a> sort on 'bar'
+function dt_overwrite_html_sorting_localeCompare() {
+    jQuery.fn.dataTableExt.oSort['html-asc']  = function(a,b) {
+        a = a.replace(/<.*?>/g, "").replace(/\s+/g, " ");
+        b = b.replace(/<.*?>/g, "").replace(/\s+/g, " ");
+        if (typeof(a.localeCompare == "function")) {
+           return a.localeCompare(b);
+        } else {
+           return (a > b) ? 1 : ((a < b) ? -1 : 0);
+        }
+    };
+
+    jQuery.fn.dataTableExt.oSort['html-desc'] = function(a,b) {
+        a = a.replace(/<.*?>/g, "").replace(/\s+/g, " ");
+        b = b.replace(/<.*?>/g, "").replace(/\s+/g, " ");
+        if(typeof(b.localeCompare == "function")) {
+            return b.localeCompare(a);
+        } else {
+            return (b > a) ? 1 : ((b < a) ? -1 : 0);
+        }
+    };
+}
+
+// Sorting on string without accentued characters
+function dt_overwrite_string_sorting_localeCompare() {
+    jQuery.fn.dataTableExt.oSort['string-asc']  = function(a,b) {
+        a = a.replace(/<.*?>/g, "").replace(/\s+/g, " ");
+        b = b.replace(/<.*?>/g, "").replace(/\s+/g, " ");
+        if (typeof(a.localeCompare == "function")) {
+           return a.localeCompare(b);
+        } else {
+           return (a > b) ? 1 : ((a < b) ? -1 : 0);
+        }
+    };
+
+    jQuery.fn.dataTableExt.oSort['string-desc'] = function(a,b) {
+        a = a.replace(/<.*?>/g, "").replace(/\s+/g, " ");
+        b = b.replace(/<.*?>/g, "").replace(/\s+/g, " ");
+        if(typeof(b.localeCompare == "function")) {
+            return b.localeCompare(a);
+        } else {
+            return (b > a) ? 1 : ((b < a) ? -1 : 0);
+        }
+    };
+}
+
+// Replace a node with a html and js contain.
+function replace_html( original_node, type ) {
+    switch ( $(original_node).attr('data-type') ) {
+        case "range_dates":
+            var id = $(original_node).attr("data-id");
+            var format = $(original_node).attr("data-format");
+            replace_html_date( original_node, id, format );
+            break;
+        default:
+            alert("_(This node can't be replaced)");
+    }
+}
+
+// Replace a node with a "From [date] To [date]" element
+// Used on tfoot > td
+function replace_html_date( original_node, id, format ) {
+    var node = $('<span style="white-space:nowrap">' + _("From") + '<input type="text" id="' + id + 'from" readonly="readonly" placeholder=\'' + _("Pick date") + '\' size="7" /><a title="Delete this filter" style="cursor:pointer" onclick=\'$("#' + id + 'from").val("").change();\' >&times;</a></span><br/><span style="white-space:nowrap">' + _("To") + '<input type="text" id="' + id + 'to" readonly="readonly" placeholder=\'' + _("Pick date") + '\' size="7" /><a title="Delete this filter" style="cursor:pointer" onclick=\'$("#' + id + 'to").val("").change();\' >&times;</a></span>');
+    $(original_node).replaceWith(node);
+    var script = document.createElement( 'script' );
+    script.type = 'text/javascript';
+    var script_content = "Calendar.setup({";
+    script_content += "    inputField: \"" + id + "from\",";
+    script_content += "    ifFormat: \"" + format + "\",";
+    script_content += "    button: \"" + id + "from\",";
+    script_content += "    onClose: function(){ $(\"#" + id + "from\").change(); this.hide();}";
+    script_content += "  });";
+    script_content += "  Calendar.setup({";
+    script_content += "    inputField: \"" + id + "to\",";
+    script_content += "    ifFormat: \"" + format + "\",";
+    script_content += "    button: \"" + id + "to\",";
+    script_content += "    onClose: function(){ $(\"#" + id + "to\").change(); this.hide();}";
+    script_content += "  });";
+    script.text = script_content;
+    $(original_node).append( script );
+}
+
+$.fn.dataTableExt.oPagination.four_button = {
+    /*
+     * Function: oPagination.four_button.fnInit
+     * Purpose:  Initalise dom elements required for pagination with a list of the pages
+     * Returns:  -
+     * Inputs:   object:oSettings - dataTables settings object
+     *           node:nPaging - the DIV which contains this pagination control
+     *           function:fnCallbackDraw - draw function which must be called on update
+     */
+    "fnInit": function ( oSettings, nPaging, fnCallbackDraw )
+    {
+        nFirst = document.createElement( 'span' );
+        nPrevious = document.createElement( 'span' );
+        nNext = document.createElement( 'span' );
+        nLast = document.createElement( 'span' );
+
+/*        nFirst.appendChild( document.createTextNode( oSettings.oLanguage.oPaginate.sFirst ) );
+        nPrevious.appendChild( document.createTextNode( oSettings.oLanguage.oPaginate.sPrevious ) );
+        nNext.appendChild( document.createTextNode( oSettings.oLanguage.oPaginate.sNext ) );
+        nLast.appendChild( document.createTextNode( oSettings.oLanguage.oPaginate.sLast ) );*/
+
+        nFirst.className = "paginate_button first";
+        nPrevious.className = "paginate_button previous";
+        nNext.className="paginate_button next";
+        nLast.className = "paginate_button last";
+
+        nPaging.appendChild( nFirst );
+        nPaging.appendChild( nPrevious );
+        nPaging.appendChild( nNext );
+        nPaging.appendChild( nLast );
+
+        $(nFirst).click( function () {
+            oSettings.oApi._fnPageChange( oSettings, "first" );
+            fnCallbackDraw( oSettings );
+        } );
+
+        $(nPrevious).click( function() {
+            oSettings.oApi._fnPageChange( oSettings, "previous" );
+            fnCallbackDraw( oSettings );
+        } );
+
+        $(nNext).click( function() {
+            oSettings.oApi._fnPageChange( oSettings, "next" );
+            fnCallbackDraw( oSettings );
+        } );
+
+        $(nLast).click( function() {
+            oSettings.oApi._fnPageChange( oSettings, "last" );
+            fnCallbackDraw( oSettings );
+        } );
+
+        /* Disallow text selection */
+        $(nFirst).bind( 'selectstart', function () { return false; } );
+        $(nPrevious).bind( 'selectstart', function () { return false; } );
+        $(nNext).bind( 'selectstart', function () { return false; } );
+        $(nLast).bind( 'selectstart', function () { return false; } );
+    },
+
+    /*
+     * Function: oPagination.four_button.fnUpdate
+     * Purpose:  Update the list of page buttons shows
+     * Returns:  -
+     * Inputs:   object:oSettings - dataTables settings object
+     *           function:fnCallbackDraw - draw function which must be called on update
+     */
+    "fnUpdate": function ( oSettings, fnCallbackDraw )
+    {
+        if ( !oSettings.aanFeatures.p )
+        {
+            return;
+        }
+
+        /* Loop over each instance of the pager */
+        var an = oSettings.aanFeatures.p;
+        for ( var i=0, iLen=an.length ; i<iLen ; i++ )
+        {
+            var buttons = an[i].getElementsByTagName('span');
+            if ( oSettings._iDisplayStart === 0 )
+            {
+                buttons[0].className = "paginate_disabled_first";
+                buttons[1].className = "paginate_disabled_previous";
+            }
+            else
+            {
+                buttons[0].className = "paginate_enabled_first";
+                buttons[1].className = "paginate_enabled_previous";
+            }
+
+            if ( oSettings.fnDisplayEnd() == oSettings.fnRecordsDisplay() )
+            {
+                buttons[2].className = "paginate_disabled_next";
+                buttons[3].className = "paginate_disabled_last";
+            }
+            else
+            {
+                buttons[2].className = "paginate_enabled_next";
+                buttons[3].className = "paginate_enabled_last";
+            }
+        }
+    }
+};
diff --git a/koha-tmpl/opac-tmpl/ccsr/en/js/google-jackets.js b/koha-tmpl/opac-tmpl/ccsr/en/js/google-jackets.js
new file mode 100644 (file)
index 0000000..70b1b84
--- /dev/null
@@ -0,0 +1,75 @@
+if (typeof KOHA == "undefined" || !KOHA) {
+    var KOHA = {};
+}
+
+/**
+ * A namespace for Google related functions.
+ */
+KOHA.Google = {
+
+
+    /**
+     * Search all:
+     *    <div title="biblionumber" id="isbn" class="gbs-thumbnail"></div>
+     * or
+     *    <div title="biblionumber" id="isbn" class="gbs-thumbnail-preview"></div>
+     * and run a search with all collected isbns to Google Book Search.
+     * The result is asynchronously returned by Google and catched by
+     * gbsCallBack().
+     */
+    GetCoverFromIsbn: function(newWindow) {
+        var bibkeys = [];
+        $("div [id^=gbs-thumbnail]").each(function(i) {
+            bibkeys.push($(this).attr("class")); // id=isbn
+        });
+        bibkeys = bibkeys.join(',');
+        var scriptElement = document.createElement("script");
+        this.openInNewWindow=newWindow;
+        scriptElement.setAttribute("id", "jsonScript");
+        scriptElement.setAttribute("src",
+            "http://books.google.com/books?bibkeys=" + escape(bibkeys) +
+            "&jscmd=viewapi&callback=KOHA.Google.gbsCallBack");
+        scriptElement.setAttribute("type", "text/javascript");
+        document.documentElement.firstChild.appendChild(scriptElement);
+
+    },
+
+    /**
+     * Add cover pages <div
+     * and link to preview if div id is gbs-thumbnail-preview
+     */
+    gbsCallBack: function(booksInfo) {
+         var target = '';
+         if (this.openInNewWindow) {
+            target = 'target="_blank" ';
+         }
+         for (id in booksInfo) {
+             var book = booksInfo[id];
+             $("."+book.bib_key).each(function() {
+                 var a = document.createElement("a");
+                 a.href = book.info_url;
+                 if (typeof(book.thumbnail_url) != "undefined") {
+                     var img = document.createElement("img");
+                     img.src = book.thumbnail_url;
+                     $(this).append(img);
+                     var re = /^gbs-thumbnail-preview/;
+                     if ( re.exec($(this).attr("id")) ) {
+                         $(this).append(
+                             '<div style="margin-bottom:5px; margin-top:-5px;font-size:9px">' +
+                             '<a '+target+'href="' +
+                             book.info_url +
+                             '"><img src="' +
+                             'http://books.google.com/intl/en/googlebooks/images/gbs_preview_sticker1.gif' +
+                             '"></a></div>'
+                             );
+                     }
+                 } else {
+                     var message = document.createElement("span");
+                     $(message).attr("class","no-image");
+                     $(message).html(NO_GOOGLE_JACKET);
+                     $(this).append(message);
+                 }
+             });
+         }
+     }
+};
diff --git a/koha-tmpl/opac-tmpl/ccsr/en/js/googleindictransliteration.js b/koha-tmpl/opac-tmpl/ccsr/en/js/googleindictransliteration.js
new file mode 100644 (file)
index 0000000..a0b2f67
--- /dev/null
@@ -0,0 +1,27 @@
+      // Load the Google Transliteration API
+      google.load("elements", "1", {
+            packages: "transliteration"
+          });
+
+       function onLoad() {
+        var options = {
+          sourceLanguage: 'en',
+          destinationLanguage: ['hi','kn','ml','ta','te'],
+          shortcutKey: 'ctrl+g',
+          transliterationEnabled: true
+        };
+
+        // Create an instance on TransliterationControl with the required
+        // options.
+        var control =
+            new google.elements.transliteration.TransliterationControl(options);
+
+        // Enable transliteration in the textfields with the given ids.
+        var ids = [ "transl1" ];
+        control.makeTransliteratable(ids);
+
+        // Show the transliteration control which can be used to toggle between
+        // English and Hindi and also choose other destination language.
+        control.showControl('translControl');
+      }
+      google.setOnLoadCallback(onLoad);
diff --git a/koha-tmpl/opac-tmpl/ccsr/en/js/localcovers.js b/koha-tmpl/opac-tmpl/ccsr/en/js/localcovers.js
new file mode 100644 (file)
index 0000000..f2808ef
--- /dev/null
@@ -0,0 +1,44 @@
+if (typeof KOHA == "undefined" || !KOHA) {
+    var KOHA = {};
+}
+
+/**
+ * A namespace for local cover related functions.
+ */
+KOHA.LocalCover = {
+
+
+    /**
+     * Search all:
+     *    <div title="biblionumber" id="isbn" class="openlibrary-thumbnail"></div>
+     * or
+     *    <div title="biblionumber" id="isbn" class="openlibrary-thumbnail-preview"></div>
+     * and run a search with all collected isbns to Open Library Book Search.
+     * The result is asynchronously returned by OpenLibrary and catched by
+     * olCallBack().
+     */
+    GetCoverFromBibnumber: function(uselink) {
+        $("div[id^=local-thumbnail],span[id^=local-thumbnail]").each(function(i) {
+            var mydiv = this;
+            var message = document.createElement("span");
+            $(message).attr("class","no-image");
+            $(message).html(NO_LOCAL_JACKET);
+            $(mydiv).append(message);
+            var img = $("<img />").attr('src',
+                '/cgi-bin/koha/opac-image.pl?thumbnail=1&biblionumber=' + $(mydiv).attr("class"))
+                .load(function () {
+                    if (!this.complete || typeof this.naturalWidth == "undefined" || this.naturalWidth == 0) {
+                    } else {
+                        if (uselink) {
+                            var a = $("<a />").attr('href', '/cgi-bin/koha/opac-imageviewer.pl?biblionumber=' + $(mydiv).attr("class"));
+                            $(a).append(img);
+                            $(mydiv).append(a);
+                        } else {
+                            $(mydiv).append(img);
+                        }
+                        $(mydiv).children('.no-image').remove();
+                    }
+                })
+        });
+    }
+};
diff --git a/koha-tmpl/opac-tmpl/ccsr/en/js/openlibrary.js b/koha-tmpl/opac-tmpl/ccsr/en/js/openlibrary.js
new file mode 100644 (file)
index 0000000..e5b9d28
--- /dev/null
@@ -0,0 +1,66 @@
+if (typeof KOHA == "undefined" || !KOHA) {
+    var KOHA = {};
+}
+
+/**
+ * A namespace for OpenLibrary related functions.
+ */
+KOHA.OpenLibrary = {
+
+
+    /**
+     * Search all:
+     *    <div title="biblionumber" id="isbn" class="openlibrary-thumbnail"></div>
+     * or
+     *    <div title="biblionumber" id="isbn" class="openlibrary-thumbnail-preview"></div>
+     * and run a search with all collected isbns to Open Library Book Search.
+     * The result is asynchronously returned by OpenLibrary and catched by
+     * olCallBack().
+     */
+    GetCoverFromIsbn: function() {
+        var bibkeys = [];
+        $("div [id^=openlibrary-thumbnail]").each(function(i) {
+            bibkeys.push("ISBN:" + $(this).attr("class")); // id=isbn
+        });
+        bibkeys = bibkeys.join(',');
+        var scriptElement = document.createElement("script");
+        scriptElement.setAttribute("id", "jsonScript");
+        scriptElement.setAttribute("src",
+            "http://openlibrary.org/api/books?bibkeys=" + escape(bibkeys) +
+            "&callback=KOHA.OpenLibrary.olCallBack&jscmd=data");
+        scriptElement.setAttribute("type", "text/javascript");
+        document.documentElement.firstChild.appendChild(scriptElement);
+    },
+
+    /**
+     * Add cover pages <div
+     * and link to preview if div id is gbs-thumbnail-preview
+     */
+    olCallBack: function(booksInfo) {
+        for (id in booksInfo) {
+            var book = booksInfo[id];
+            var isbn = id.substring(5);
+            $("."+isbn).each(function() {
+                var is_opacdetail = /openlibrary-thumbnail-preview/.exec($(this).attr("id"));
+                var a = document.createElement("a");
+                a.href = booksInfo.url;
+                if (book.cover) {
+                    var img = document.createElement("img");
+                    if (is_opacdetail) {
+                        img.src = book.cover.medium;
+                        $(this).append(img);
+                        $(this).append('<div class="results_summary">' + '<a href="' + book.url + '">Preview</a></div>');
+                    } else {
+                        img.src = book.cover.small;
+                        $(this).append(img);
+                    }
+                } else {
+                    var message =  document.createElement("span");
+                    $(message).attr("class","no-image");
+                    $(message).html(NO_OL_JACKET);
+                    $(this).append(message);
+                }
+            });
+        }
+    }
+};
diff --git a/koha-tmpl/opac-tmpl/ccsr/en/js/script.js b/koha-tmpl/opac-tmpl/ccsr/en/js/script.js
new file mode 100644 (file)
index 0000000..c04eab6
--- /dev/null
@@ -0,0 +1,128 @@
+function _(s) { return s } // dummy function for gettext
+function confirmDelete(message) {
+    return (confirm(message) ? true : false);
+}
+
+function Dopop(link) {
+    newin=window.open(link,'popup','width=500,height=400,toolbar=false,scrollbars=yes,resizeable=yes');
+}
+
+$.datepicker.setDefaults({
+        showOn: "both",
+        changeMonth: true,
+        changeYear: true,
+        buttonImage: '/opac-tmpl/prog/famfamfam/silk/calendar.png',
+        buttonImageOnly: true,
+        showButtonPanel: true
+    });
+
+$(document).ready(function(){
+    $(".close").click(function(){
+        window.close();
+    });
+    $(".focus").focus();
+    $( ".datepicker" ).datepicker();
+    // http://jqueryui.com/demos/datepicker/#date-range
+    var dates = $( ".datepickerfrom, .datepickerto" ).datepicker({
+        changeMonth: true,
+        numberOfMonths: 1,
+        onSelect: function( selectedDate ) {
+            var option = this.id == "from" ? "minDate" : "maxDate",
+                instance = $( this ).data( "datepicker" );
+                date = $.datepicker.parseDate(
+                    instance.settings.dateFormat ||
+                    $.datepicker._defaults.dateFormat,
+                    selectedDate, instance.settings );
+            dates.not( this ).datepicker( "option", option, date );
+        }
+    });
+    // clear the basket when user logs out
+    $("#logout").click(function(){
+        var nameCookie = "bib_list";
+        var valCookie = readCookie(nameCookie);
+        if (valCookie) { // basket has contents
+            updateBasket(0,null);
+            delCookie(nameCookie);
+            return true;
+        } else {
+            return true;
+        }
+    });
+
+
+     // Add the mobile menu button if we are in some sections of the opac
+   if($('body#opac-user, body#opac-passwd, body#opac-search-history, body#opac-readingrecord, body#opac-userupdate, body#opac-usersuggestions, body#opac-account, body#opac-privacy, body#opac-usertags').length != 0) {
+          $('body').addClass('mobile_menu');
+
+            var button = $('<input type="button" id="mobile_menu_button" value="">').addClass('mobile_only');
+              $('#searchform').append(button);
+
+              button.click(function() {
+                      if($('body').hasClass('mobile_menu_opened')){
+                          $('body').removeClass('mobile_menu_opened');
+                   }
+                      else {
+                         $('body').addClass('mobile_menu_opened');
+                      }
+              });
+    }
+});
+
+// build Change Language menus
+YAHOO.util.Event.onContentReady("changelanguage", function () {
+    $(".sublangs").each(function(){
+        var menuid = $(this).attr("id");
+        var menuid = menuid.replace("show","");
+
+        var oMenu = new YAHOO.widget.Menu("sub"+menuid, { zindex: 2 });
+        function positionoMenu() {
+            oMenu.align("bl", "tl");
+        }
+        oMenu.subscribe("beforeShow", function () {
+        if (this.getRoot() == this) {
+            positionoMenu();
+        }
+        });
+        oMenu.render();
+        oMenu.cfg.setProperty("context", ["show"+menuid, "bl", "tl"]);
+        function onYahooClick(p_oEvent) {
+            // Position and display the menu
+            positionoMenu();
+            oMenu.show();
+            // Stop propagation and prevent the default "click" behavior
+            YAHOO.util.Event.stopEvent(p_oEvent);
+        }
+        YAHOO.util.Event.addListener("show"+menuid, "click", onYahooClick);
+        YAHOO.widget.Overlay.windowResizeEvent.subscribe(positionoMenu);
+
+    });
+});
+
+/*
+// Build lists menu
+YAHOO.util.Event.onContentReady("listsmenu", function () {
+    YAHOO.widget.Menu.prototype.onRender = function () { };
+    $("#listsmenu").css("display","block").css("visibility","hidden");
+    $("#listsmenulink").attr("href","#");
+    var listMenu = new YAHOO.widget.Menu("listsmenu");
+        listMenu.render();
+        listMenu.cfg.setProperty("context", ["listsmenulink", "tr", "br"]);
+        listMenu.cfg.setProperty("effect",{effect:YAHOO.widget.ContainerEffect.FADE,duration:0.05});
+        listMenu.subscribe("beforeShow",positionlistMenu);
+        listMenu.subscribe("show", listMenu.focus);
+        function positionlistMenu() {
+                    listMenu.align("tr", "br");
+        }
+        YAHOO.util.Event.addListener("listsmenulink", "click", listMenu.show, null, listMenu);
+        YAHOO.widget.Overlay.windowResizeEvent.subscribe(positionlistMenu);
+ });
+*/
+
+jQuery.fn.preventDoubleFormSubmit = function() {
+    jQuery(this).submit(function() {
+        if (this.beenSubmitted)
+            return false;
+        else
+            this.beenSubmitted = true;
+    });
+};
diff --git a/koha-tmpl/opac-tmpl/ccsr/en/js/tags.js b/koha-tmpl/opac-tmpl/ccsr/en/js/tags.js
new file mode 100644 (file)
index 0000000..f663696
--- /dev/null
@@ -0,0 +1,157 @@
+if (typeof KOHA == "undefined" || !KOHA) {
+    var KOHA = {};
+}
+
+/**
+* A namespace for Tags related functions.
+* readCookie is expected to already be declared.  That's why the assignment below is unscoped.
+* readCookie should be from basket.js or undefined.
+
+$.ajaxSetup({
+       url: "/cgi-bin/koha/opac-tags.pl",
+     type: "POST",
+  dataType: "script"
+});
+*/
+if (typeof(readCookie) == "undefined") {
+     readCookie = function (name) { // from http://www.quirksmode.org/js/cookies.html
+               var nameEQ = name + "=";
+               var ca = document.cookie.split(';');
+           for (var i=0;i < ca.length;i++) {
+                      var c = ca[i];
+                 while (c.charAt(0)==' '){ c = c.substring(1,c.length); }
+                       if (c.indexOf(nameEQ) == 0){ return c.substring(nameEQ.length,c.length); }
+             }
+              return null;
+   }
+}
+KOHA.Tags = {
+      add_tag_button: function(){
+            var mybibnum = $(this).attr("title");
+          var mynewtag = "newtag" + mybibnum;
+            var mytagid = "#" + mynewtag;
+          var mydata = {CGISESSID: readCookie('CGISESSID')};   // Someday this should be OPACSESSID
+                mydata[mynewtag] = $(mytagid).val();   // need [bracket] for variable property id
+                var response;  // AJAX from server will assign value to response.
+               $.post(
+                        "/cgi-bin/koha/opac-tags.pl",
+                  mydata,
+                        function(data){
+                                // alert("AJAX Response: " + data);
+                            eval(data);
+                            // alert("counts: " + response["added"] + response["deleted"] + response["errors"]);
+                           KOHA.Tags.set_tag_status(
+                                      mytagid + "_status",
+                                   KOHA.Tags.common_status(response["added"], response["deleted"], response["errors"])
+                            );
+                             if (response.alerts) {
+                                 alert(response.alerts.join("\n\n"));
+                           }
+                      },
+                     'script'
+               );
+             return false;
+  },
+     common_status : function(addcount, delcount, errcount) {
+           var cstat = "";
+        if (addcount && addcount > 0) {cstat += MSG_TAGS_ADDED + addcount + ".  " ;}
+           if (delcount && delcount > 0) {cstat += MSG_TAGS_DELETED + delcount + ".  " ;}
+         if (errcount && errcount > 0) {cstat += MSG_TAGS_ERRORS + errcount + ". " ;}
+           return cstat;
+      },
+     set_tag_status : function(tagid, newstatus) {
+          $(tagid).html(newstatus);
+              $(tagid).css({display:"inline"});
+      },
+     append_tag_status : function(tagid, newstatus) {
+               $(tagid).append(newstatus);
+            $(tagid).css({display:"inline"});
+      },
+
+    tag_message: {
+ tagsdisabled : function(arg) {return (MSG_TAGS_DISABLED);},
+    scrubbed_all_bad : function(arg) {return (MSG_TAG_ALL_BAD);},
+  badparam : function(arg) {return (MSG_ILLEGAL_PARAMETER+" "+arg);},
+    scrubbed : function(arg) {return (MSG_TAG_SCRUBBED+" "+arg);},
+    failed_add_tag : function(arg) {return (MSG_ADD_TAG_FAILED+ " "+arg+" "+MSG_ADD_TAG_FAILED_NOTE);},
+    failed_delete  : function(arg) {return (MSG_DELETE_TAG_FAILED+ " "+arg+" "+MSG_DELETE_TAG_FAILED_NOTE);},
+   login : function(arg) {return (MSG_LOGIN_REQUIRED);}
+   },
+
+    // Used to tag multiple items at once.  The main difference
+    // is that status is displayed on a per item basis.
+    add_multitags_button : function(bibarray, tag){
+                var mydata = {CGISESSID: readCookie('CGISESSID')};     // Someday this should be OPACSESSID
+        for (var i = 0; i < bibarray.length; i++) {
+            var mynewtag = "newtag" + bibarray[i];
+            mydata[mynewtag] = tag;
+        }
+           var response;       // AJAX from server will assign value to response.
+               $.post(
+                        "/cgi-bin/koha/opac-tags.pl",
+                  mydata,
+                        function(data){
+                                eval(data);
+                $(".tagstatus").empty();
+                var bibErrors = false;
+
+                // Display the status for each tagged bib
+                for (var i = 0; i < bibarray.length; i++) {
+                    var bib = bibarray[i];
+                    var mytagid = "#newtag" + bib;
+                    var status = "";
+
+                    // Number of tags added.
+                    if (response[bib]) {
+                        var added = response[bib]["added"];
+                        if (added > 0) {
+                            status = MSG_TAGS_ADDED + added + ".  ";
+                                       KOHA.Tags.set_tag_status(mytagid + "_status", status);
+                        }
+
+                        // Show a link that opens an error dialog, if necessary.
+                        var errors = response[bib]["errors"];
+                        if (errors.length > 0) {
+                            bibErrors = true;
+                            var errid = "tagerr_" + bib;
+                            var errstat = "<a id=\"" + errid + "\" class=\"tagerror\" href=\"#\">";
+                            errstat += MSG_TAGS_ERRORS + errors.length + ". ";
+                            errstat += "</a>";
+                                           KOHA.Tags.append_tag_status(mytagid + "_status", errstat);
+                            var errmsg = "";
+                            for (var e = 0; e < errors.length; e++){
+                                if (e) {
+                                    errmsg += "\n\n";
+                                }
+                                errmsg += errors[e];
+                            }
+                            $("#" + errid).click(function(){
+                                alert(errmsg);
+                            });
+                        }
+                    }
+                }
+
+                if (bibErrors || response["global_errors"]) {
+                    var msg = "";
+                    if (bibErrors) {
+                        msg = MSG_MULTI_ADD_TAG_FAILED;
+                    }
+
+                    // Show global errors in a dialog.
+                    if (response["global_errors"]) {
+                        var global_errors = response["global_errors"];
+                        var msg;
+                        for (var e = 0; e < global_errors.length; e++) {
+                            msg += "\n\n";
+                            msg += response.alerts[global_errors[e]];
+                        }
+                    }
+                    alert(msg);
+                }
+                     },
+                     'script'
+               );
+             return false;
+    }
+};
diff --git a/koha-tmpl/opac-tmpl/ccsr/en/lib/greybox/AJS.js b/koha-tmpl/opac-tmpl/ccsr/en/lib/greybox/AJS.js
new file mode 100644 (file)
index 0000000..2e48c2d
--- /dev/null
@@ -0,0 +1,525 @@
+AJS={BASE_URL:"",drag_obj:null,drag_elm:null,_drop_zones:[],_cur_pos:null,join:function(_1,_2){
+try{
+return _2.join(_1);
+}
+catch(e){
+var r=_2[0]||"";
+AJS.map(_2,function(_4){
+r+=_1+_4;
+},1);
+return r+"";
+}
+},getScrollTop:function(){
+var t;
+if(document.documentElement&&document.documentElement.scrollTop){
+t=document.documentElement.scrollTop;
+}else{
+if(document.body){
+t=document.body.scrollTop;
+}
+}
+return t;
+},addClass:function(){
+var _6=AJS.forceArray(arguments);
+var _7=_6.pop();
+var _8=function(o){
+if(!new RegExp("(^|\\s)"+_7+"(\\s|$)").test(o.className)){
+o.className+=(o.className?" ":"")+_7;
+}
+};
+AJS.map(_6,function(_a){
+_8(_a);
+});
+},setStyle:function(){
+var _b=AJS.forceArray(arguments);
+var _c=_b.pop();
+var _d=_b.pop();
+AJS.map(_b,function(_e){
+_e.style[_d]=AJS.getCssDim(_c);
+});
+},_getRealScope:function(fn,_10,_11,_12){
+var _13=window;
+_10=AJS.$A(_10);
+if(fn._cscope){
+_13=fn._cscope;
+}
+return function(){
+var _14=[];
+var i=0;
+if(_11){
+i=1;
+}
+AJS.map(arguments,function(arg){
+_14.push(arg);
+},i);
+_14=_14.concat(_10);
+if(_12){
+_14=_14.reverse();
+}
+return fn.apply(_13,_14);
+};
+},preloadImages:function(){
+AJS.AEV(window,"load",AJS.$p(function(_17){
+AJS.map(_17,function(src){
+var pic=new Image();
+pic.src=src;
+});
+},arguments));
+},_createDomShortcuts:function(){
+var _1a=["ul","li","td","tr","th","tbody","table","input","span","b","a","div","img","button","h1","h2","h3","br","textarea","form","p","select","option","iframe","script","center","dl","dt","dd","small","pre"];
+var _1b=function(elm){
+var _1d="return AJS.createDOM.apply(null, ['"+elm+"', arguments]);";
+var _1e="function() { "+_1d+"    }";
+eval("AJS."+elm.toUpperCase()+"="+_1e);
+};
+AJS.map(_1a,_1b);
+AJS.TN=function(_1f){
+return document.createTextNode(_1f);
+};
+},documentInsert:function(elm){
+if(typeof (elm)=="string"){
+elm=AJS.HTML2DOM(elm);
+}
+document.write("<span id=\"dummy_holder\"></span>");
+AJS.swapDOM(AJS.$("dummy_holder"),elm);
+},getWindowSize:function(doc){
+doc=doc||document;
+var _22,_23;
+if(self.innerHeight){
+_22=self.innerWidth;
+_23=self.innerHeight;
+}else{
+if(doc.documentElement&&doc.documentElement.clientHeight){
+_22=doc.documentElement.clientWidth;
+_23=doc.documentElement.clientHeight;
+}else{
+if(doc.body){
+_22=doc.body.clientWidth;
+_23=doc.body.clientHeight;
+}
+}
+}
+return {"w":_22,"h":_23};
+},flattenList:function(_24){
+var r=[];
+var _26=function(r,l){
+AJS.map(l,function(o){
+if(o==null){
+}else{
+if(AJS.isArray(o)){
+_26(r,o);
+}else{
+r.push(o);
+}
+}
+});
+};
+_26(r,_24);
+return r;
+},setEventKey:function(e){
+e.key=e.keyCode?e.keyCode:e.charCode;
+if(window.event){
+e.ctrl=window.event.ctrlKey;
+e.shift=window.event.shiftKey;
+}else{
+e.ctrl=e.ctrlKey;
+e.shift=e.shiftKey;
+}
+switch(e.key){
+case 63232:
+e.key=38;
+break;
+case 63233:
+e.key=40;
+break;
+case 63235:
+e.key=39;
+break;
+case 63234:
+e.key=37;
+break;
+}
+},removeElement:function(){
+var _2b=AJS.forceArray(arguments);
+AJS.map(_2b,function(elm){
+AJS.swapDOM(elm,null);
+});
+},_unloadListeners:function(){
+if(AJS.listeners){
+AJS.map(AJS.listeners,function(elm,_2e,fn){
+AJS.REV(elm,_2e,fn);
+});
+}
+AJS.listeners=[];
+},partial:function(fn){
+var _31=AJS.forceArray(arguments);
+return AJS.$b(fn,null,_31.slice(1,_31.length).reverse(),false,true);
+},getIndex:function(elm,_33,_34){
+for(var i=0;i<_33.length;i++){
+if(_34&&_34(_33[i])||elm==_33[i]){
+return i;
+}
+}
+return -1;
+},isDefined:function(o){
+return (o!="undefined"&&o!=null);
+},isArray:function(obj){
+return obj instanceof Array;
+},setLeft:function(){
+var _38=AJS.forceArray(arguments);
+_38.splice(_38.length-1,0,"left");
+AJS.setStyle.apply(null,_38);
+},appendChildNodes:function(elm){
+if(arguments.length>=2){
+AJS.map(arguments,function(n){
+if(AJS.isString(n)){
+n=AJS.TN(n);
+}
+if(AJS.isDefined(n)){
+elm.appendChild(n);
+}
+},1);
+}
+return elm;
+},isOpera:function(){
+return (navigator.userAgent.toLowerCase().indexOf("opera")!=-1);
+},isString:function(obj){
+return (typeof obj=="string");
+},hideElement:function(elm){
+var _3d=AJS.forceArray(arguments);
+AJS.map(_3d,function(elm){
+elm.style.display="none";
+});
+},setOpacity:function(elm,p){
+elm.style.opacity=p;
+elm.style.filter="alpha(opacity="+p*100+")";
+},setHeight:function(){
+var _41=AJS.forceArray(arguments);
+_41.splice(_41.length-1,0,"height");
+AJS.setStyle.apply(null,_41);
+},setWidth:function(){
+var _42=AJS.forceArray(arguments);
+_42.splice(_42.length-1,0,"width");
+AJS.setStyle.apply(null,_42);
+},createArray:function(v){
+if(AJS.isArray(v)&&!AJS.isString(v)){
+return v;
+}else{
+if(!v){
+return [];
+}else{
+return [v];
+}
+}
+},isDict:function(o){
+var _45=String(o);
+return _45.indexOf(" Object")!=-1;
+},isMozilla:function(){
+return (navigator.userAgent.toLowerCase().indexOf("gecko")!=-1&&navigator.productSub>=20030210);
+},_listenOnce:function(elm,_47,fn){
+var _49=function(){
+AJS.removeEventListener(elm,_47,_49);
+fn(arguments);
+};
+return _49;
+},addEventListener:function(elm,_4b,fn,_4d,_4e){
+if(!_4e){
+_4e=false;
+}
+var _4f=AJS.$A(elm);
+AJS.map(_4f,function(_50){
+if(_4d){
+fn=AJS._listenOnce(_50,_4b,fn);
+}
+if(AJS.isIn(_4b,["submit","load","scroll","resize"])){
+var old=elm["on"+_4b];
+elm["on"+_4b]=function(){
+if(old){
+fn(arguments);
+return old(arguments);
+}else{
+return fn(arguments);
+}
+};
+return;
+}
+if(AJS.isIn(_4b,["keypress","keydown","keyup","click"])){
+var _52=fn;
+fn=function(e){
+AJS.setEventKey(e);
+return _52.apply(null,arguments);
+};
+}
+if(_50.attachEvent){
+_50.attachEvent("on"+_4b,fn);
+}else{
+if(_50.addEventListener){
+_50.addEventListener(_4b,fn,_4e);
+}
+}
+AJS.listeners=AJS.$A(AJS.listeners);
+AJS.listeners.push([_50,_4b,fn]);
+});
+},createDOM:function(_54,_55){
+var i=0,_57;
+elm=document.createElement(_54);
+if(AJS.isDict(_55[i])){
+for(k in _55[0]){
+_57=_55[0][k];
+if(k=="style"){
+elm.style.cssText=_57;
+}else{
+if(k=="class"||k=="className"){
+elm.className=_57;
+}else{
+elm.setAttribute(k,_57);
+}
+}
+}
+i++;
+}
+if(_55[0]==null){
+i=1;
+}
+AJS.map(_55,function(n){
+if(n){
+if(AJS.isString(n)||AJS.isNumber(n)){
+n=AJS.TN(n);
+}
+elm.appendChild(n);
+}
+},i);
+return elm;
+},setTop:function(){
+var _59=AJS.forceArray(arguments);
+_59.splice(_59.length-1,0,"top");
+AJS.setStyle.apply(null,_59);
+},getElementsByTagAndClassName:function(_5a,_5b,_5c){
+var _5d=[];
+if(!AJS.isDefined(_5c)){
+_5c=document;
+}
+if(!AJS.isDefined(_5a)){
+_5a="*";
+}
+var els=_5c.getElementsByTagName(_5a);
+var _5f=els.length;
+var _60=new RegExp("(^|\\s)"+_5b+"(\\s|$)");
+for(i=0,j=0;i<_5f;i++){
+if(_60.test(els[i].className)||_5b==null){
+_5d[j]=els[i];
+j++;
+}
+}
+return _5d;
+},removeClass:function(){
+var _61=AJS.forceArray(arguments);
+var cls=_61.pop();
+var _63=function(o){
+o.className=o.className.replace(new RegExp("\\s?"+cls,"g"),"");
+};
+AJS.map(_61,function(elm){
+_63(elm);
+});
+},bindMethods:function(_66){
+for(var k in _66){
+var _68=_66[k];
+if(typeof (_68)=="function"){
+_66[k]=AJS.$b(_68,_66);
+}
+}
+},log:function(o){
+if(AJS.isMozilla()){
+console.log(o);
+}else{
+var div=AJS.DIV({"style":"color: green"});
+AJS.ACN(AJS.getBody(),AJS.setHTML(div,""+o));
+}
+},isNumber:function(obj){
+return (typeof obj=="number");
+},map:function(_6c,fn,_6e,_6f){
+var i=0,l=_6c.length;
+if(_6e){
+i=_6e;
+}
+if(_6f){
+l=_6f;
+}
+for(i;i<l;i++){
+fn.apply(null,[_6c[i],i]);
+}
+},removeEventListener:function(elm,_73,fn,_75){
+if(!_75){
+_75=false;
+}
+if(elm.removeEventListener){
+elm.removeEventListener(_73,fn,_75);
+if(AJS.isOpera()){
+elm.removeEventListener(_73,fn,!_75);
+}
+}else{
+if(elm.detachEvent){
+elm.detachEvent("on"+_73,fn);
+}
+}
+},getCssDim:function(dim){
+if(AJS.isString(dim)){
+return dim;
+}else{
+return dim+"px";
+}
+},setHTML:function(elm,_78){
+elm.innerHTML=_78;
+return elm;
+},bind:function(fn,_7a,_7b,_7c,_7d){
+fn._cscope=_7a;
+return AJS._getRealScope(fn,_7b,_7c,_7d);
+},forceArray:function(_7e){
+var r=[];
+AJS.map(_7e,function(elm){
+r.push(elm);
+});
+return r;
+},update:function(l1,l2){
+for(var i in l2){
+l1[i]=l2[i];
+}
+return l1;
+},getBody:function(){
+return AJS.$bytc("body")[0];
+},HTML2DOM:function(_84,_85){
+var d=AJS.DIV();
+d.innerHTML=_84;
+if(_85){
+return d.childNodes[0];
+}else{
+return d;
+}
+},getElement:function(id){
+if(AJS.isString(id)||AJS.isNumber(id)){
+return document.getElementById(id);
+}else{
+return id;
+}
+},showElement:function(){
+var _88=AJS.forceArray(arguments);
+AJS.map(_88,function(elm){
+elm.style.display="";
+});
+},swapDOM:function(_8a,src){
+_8a=AJS.getElement(_8a);
+var _8c=_8a.parentNode;
+if(src){
+src=AJS.getElement(src);
+_8c.replaceChild(src,_8a);
+}else{
+_8c.removeChild(_8a);
+}
+return src;
+},isIn:function(elm,_8e){
+var i=AJS.getIndex(elm,_8e);
+if(i!=-1){
+return true;
+}else{
+return false;
+}
+}};
+AJS.$=AJS.getElement;
+AJS.$$=AJS.getElements;
+AJS.$f=AJS.getFormElement;
+AJS.$p=AJS.partial;
+AJS.$b=AJS.bind;
+AJS.$A=AJS.createArray;
+AJS.DI=AJS.documentInsert;
+AJS.ACN=AJS.appendChildNodes;
+AJS.RCN=AJS.replaceChildNodes;
+AJS.AEV=AJS.addEventListener;
+AJS.REV=AJS.removeEventListener;
+AJS.$bytc=AJS.getElementsByTagAndClassName;
+AJS.addEventListener(window,"unload",AJS._unloadListeners);
+AJS._createDomShortcuts();
+AJS.Class=function(_90){
+var fn=function(){
+if(arguments[0]!="no_init"){
+return this.init.apply(this,arguments);
+}
+};
+fn.prototype=_90;
+AJS.update(fn,AJS.Class.prototype);
+return fn;
+};
+AJS.Class.prototype={extend:function(_92){
+var _93=new this("no_init");
+for(k in _92){
+var _94=_93[k];
+var cur=_92[k];
+if(_94&&_94!=cur&&typeof cur=="function"){
+cur=this._parentize(cur,_94);
+}
+_93[k]=cur;
+}
+return new AJS.Class(_93);
+},implement:function(_96){
+AJS.update(this.prototype,_96);
+},_parentize:function(cur,_98){
+return function(){
+this.parent=_98;
+return cur.apply(this,arguments);
+};
+}};
+AJS.$=AJS.getElement;
+AJS.$$=AJS.getElements;
+AJS.$f=AJS.getFormElement;
+AJS.$b=AJS.bind;
+AJS.$p=AJS.partial;
+AJS.$FA=AJS.forceArray;
+AJS.$A=AJS.createArray;
+AJS.DI=AJS.documentInsert;
+AJS.ACN=AJS.appendChildNodes;
+AJS.RCN=AJS.replaceChildNodes;
+AJS.AEV=AJS.addEventListener;
+AJS.REV=AJS.removeEventListener;
+AJS.$bytc=AJS.getElementsByTagAndClassName;
+AJSDeferred=function(req){
+this.callbacks=[];
+this.errbacks=[];
+this.req=req;
+};
+AJSDeferred.prototype={excCallbackSeq:function(req,_9b){
+var _9c=req.responseText;
+while(_9b.length>0){
+var fn=_9b.pop();
+var _9e=fn(_9c,req);
+if(_9e){
+_9c=_9e;
+}
+}
+},callback:function(){
+this.excCallbackSeq(this.req,this.callbacks);
+},errback:function(){
+if(this.errbacks.length==0){
+alert("Error encountered:\n"+this.req.responseText);
+}
+this.excCallbackSeq(this.req,this.errbacks);
+},addErrback:function(fn){
+this.errbacks.unshift(fn);
+},addCallback:function(fn){
+this.callbacks.unshift(fn);
+},addCallbacks:function(fn1,fn2){
+this.addCallback(fn1);
+this.addErrback(fn2);
+},sendReq:function(_a3){
+if(AJS.isObject(_a3)){
+this.req.send(AJS.queryArguments(_a3));
+}else{
+if(AJS.isDefined(_a3)){
+this.req.send(_a3);
+}else{
+this.req.send("");
+}
+}
+}};
+script_loaded=true;
+
+
+script_loaded=true;
\ No newline at end of file
diff --git a/koha-tmpl/opac-tmpl/ccsr/en/lib/greybox/AJS_fx.js b/koha-tmpl/opac-tmpl/ccsr/en/lib/greybox/AJS_fx.js
new file mode 100644 (file)
index 0000000..c97919e
--- /dev/null
@@ -0,0 +1,136 @@
+AJS.fx={_shades:{0:"ffffff",1:"ffffee",2:"ffffdd",3:"ffffcc",4:"ffffbb",5:"ffffaa",6:"ffff99"},highlight:function(_1,_2){
+var _3=new AJS.fx.Base();
+_3.elm=AJS.$(_1);
+_3.setOptions(_2);
+_3.options.duration=600;
+AJS.update(_3,{increase:function(){
+if(this.now==7){
+_1.style.backgroundColor="transparent";
+}else{
+_1.style.backgroundColor="#"+AJS.fx._shades[Math.floor(this.now)];
+}
+}});
+return _3.custom(6,0);
+},fadeIn:function(_4,_5){
+_5=_5||{};
+if(!_5.from){
+_5.from=0;
+AJS.setOpacity(_4,0);
+}
+if(!_5.to){
+_5.to=1;
+}
+var s=new AJS.fx.Style(_4,"opacity",_5);
+return s.custom(_5.from,_5.to);
+},fadeOut:function(_7,_8){
+_8=_8||{};
+if(!_8.from){
+_8.from=1;
+}
+if(!_8.to){
+_8.to=0;
+}
+_8.duration=300;
+var s=new AJS.fx.Style(_7,"opacity",_8);
+return s.custom(_8.from,_8.to);
+},setWidth:function(_a,_b){
+var s=new AJS.fx.Style(_a,"width",_b);
+return s.custom(_b.from,_b.to);
+},setHeight:function(_d,_e){
+var s=new AJS.fx.Style(_d,"height",_e);
+return s.custom(_e.from,_e.to);
+}};
+AJS.fx.Base=new AJS.Class({init:function(){
+AJS.bindMethods(this);
+},setOptions:function(_10){
+this.options=AJS.update({onStart:function(){
+},onComplete:function(){
+},transition:AJS.fx.Transitions.sineInOut,duration:500,wait:true,fps:50},_10||{});
+},step:function(){
+var _11=new Date().getTime();
+if(_11<this.time+this.options.duration){
+this.cTime=_11-this.time;
+this.setNow();
+}else{
+setTimeout(AJS.$b(this.options.onComplete,this,[this.elm]),10);
+this.clearTimer();
+this.now=this.to;
+}
+this.increase();
+},setNow:function(){
+this.now=this.compute(this.from,this.to);
+},compute:function(_12,to){
+var _14=to-_12;
+return this.options.transition(this.cTime,_12,_14,this.options.duration);
+},clearTimer:function(){
+clearInterval(this.timer);
+this.timer=null;
+return this;
+},_start:function(_15,to){
+if(!this.options.wait){
+this.clearTimer();
+}
+if(this.timer){
+return;
+}
+setTimeout(AJS.$p(this.options.onStart,this.elm),10);
+this.from=_15;
+this.to=to;
+this.time=new Date().getTime();
+this.timer=setInterval(this.step,Math.round(1000/this.options.fps));
+return this;
+},custom:function(_17,to){
+return this._start(_17,to);
+},set:function(to){
+this.now=to;
+this.increase();
+return this;
+},setStyle:function(elm,_1b,val){
+if(this.property=="opacity"){
+AJS.setOpacity(elm,val);
+}else{
+AJS.setStyle(elm,_1b,val);
+}
+}});
+AJS.fx.Style=AJS.fx.Base.extend({init:function(elm,_1e,_1f){
+this.parent();
+this.elm=elm;
+this.setOptions(_1f);
+this.property=_1e;
+},increase:function(){
+this.setStyle(this.elm,this.property,this.now);
+}});
+AJS.fx.Styles=AJS.fx.Base.extend({init:function(elm,_21){
+this.parent();
+this.elm=AJS.$(elm);
+this.setOptions(_21);
+this.now={};
+},setNow:function(){
+for(p in this.from){
+this.now[p]=this.compute(this.from[p],this.to[p]);
+}
+},custom:function(obj){
+if(this.timer&&this.options.wait){
+return;
+}
+var _23={};
+var to={};
+for(p in obj){
+_23[p]=obj[p][0];
+to[p]=obj[p][1];
+}
+return this._start(_23,to);
+},increase:function(){
+for(var p in this.now){
+this.setStyle(this.elm,p,this.now[p]);
+}
+}});
+AJS.fx.Transitions={linear:function(t,b,c,d){
+return c*t/d+b;
+},sineInOut:function(t,b,c,d){
+return -c/2*(Math.cos(Math.PI*t/d)-1)+b;
+}};
+script_loaded=true;
+
+
+script_loaded=true;
\ No newline at end of file
diff --git a/koha-tmpl/opac-tmpl/ccsr/en/lib/greybox/GreyBox_v5_5.zip b/koha-tmpl/opac-tmpl/ccsr/en/lib/greybox/GreyBox_v5_5.zip
new file mode 100644 (file)
index 0000000..02f2982
Binary files /dev/null and b/koha-tmpl/opac-tmpl/ccsr/en/lib/greybox/GreyBox_v5_5.zip differ
diff --git a/koha-tmpl/opac-tmpl/ccsr/en/lib/greybox/GreyBox_v5_5/LGPL.txt b/koha-tmpl/opac-tmpl/ccsr/en/lib/greybox/GreyBox_v5_5/LGPL.txt
new file mode 100644 (file)
index 0000000..367013a
--- /dev/null
@@ -0,0 +1,502 @@
+                  GNU LESSER GENERAL PUBLIC LICENSE
+                   Version 2.1, February 1999
+
+ Copyright (C) 1991, 1999 Free Software Foundation, Inc.
+     51 Franklin St, Fifth Floor, Boston, MA  02110-1301  USA
+ Everyone is permitted to copy and distribute verbatim copies
+ of this license document, but changing it is not allowed.
+
+[This is the first released version of the Lesser GPL.  It also counts
+ as the successor of the GNU Library Public License, version 2, hence
+ the version number 2.1.]
+
+                        Preamble
+
+  The licenses for most software are designed to take away your
+freedom to share and change it.  By contrast, the GNU General Public
+Licenses are intended to guarantee your freedom to share and change
+free software--to make sure the software is free for all its users.
+
+  This license, the Lesser General Public License, applies to some
+specially designated software packages--typically libraries--of the
+Free Software Foundation and other authors who decide to use it.  You
+can use it too, but we suggest you first think carefully about whether
+this license or the ordinary General Public License is the better
+strategy to use in any particular case, based on the explanations below.
+
+  When we speak of free software, we are referring to freedom of use,
+not price.  Our General Public Licenses are designed to make sure that
+you have the freedom to distribute copies of free software (and charge
+for this service if you wish); that you receive source code or can get
+it if you want it; that you can change the software and use pieces of
+it in new free programs; and that you are informed that you can do
+these things.
+
+  To protect your rights, we need to make restrictions that forbid
+distributors to deny you these rights or to ask you to surrender these
+rights.  These restrictions translate to certain responsibilities for
+you if you distribute copies of the library or if you modify it.
+
+  For example, if you distribute copies of the library, whether gratis
+or for a fee, you must give the recipients all the rights that we gave
+you.  You must make sure that they, too, receive or can get the source
+code.  If you link other code with the library, you must provide
+complete object files to the recipients, so that they can relink them
+with the library after making changes to the library and recompiling
+it.  And you must show them these terms so they know their rights.
+
+  We protect your rights with a two-step method: (1) we copyright the
+library, and (2) we offer you this license, which gives you legal
+permission to copy, distribute and/or modify the library.
+
+  To protect each distributor, we want to make it very clear that
+there is no warranty for the free library.  Also, if the library is
+modified by someone else and passed on, the recipients should know
+that what they have is not the original version, so that the original
+author's reputation will not be affected by problems that might be
+introduced by others.
+\f
+  Finally, software patents pose a constant threat to the existence of
+any free program.  We wish to make sure that a company cannot
+effectively restrict the users of a free program by obtaining a
+restrictive license from a patent holder.  Therefore, we insist that
+any patent license obtained for a version of the library must be
+consistent with the full freedom of use specified in this license.
+
+  Most GNU software, including some libraries, is covered by the
+ordinary GNU General Public License.  This license, the GNU Lesser
+General Public License, applies to certain designated libraries, and
+is quite different from the ordinary General Public License.  We use
+this license for certain libraries in order to permit linking those
+libraries into non-free programs.
+
+  When a program is linked with a library, whether statically or using
+a shared library, the combination of the two is legally speaking a
+combined work, a derivative of the original library.  The ordinary
+General Public License therefore permits such linking only if the
+entire combination fits its criteria of freedom.  The Lesser General
+Public License permits more lax criteria for linking other code with
+the library.
+
+  We call this license the "Lesser" General Public License because it
+does Less to protect the user's freedom than the ordinary General
+Public License.  It also provides other free software developers Less
+of an advantage over competing non-free programs.  These disadvantages
+are the reason we use the ordinary General Public License for many
+libraries.  However, the Lesser license provides advantages in certain
+special circumstances.
+
+  For example, on rare occasions, there may be a special need to
+encourage the widest possible use of a certain library, so that it becomes
+a de-facto standard.  To achieve this, non-free programs must be
+allowed to use the library.  A more frequent case is that a free
+library does the same job as widely used non-free libraries.  In this
+case, there is little to gain by limiting the free library to free
+software only, so we use the Lesser General Public License.
+
+  In other cases, permission to use a particular library in non-free
+programs enables a greater number of people to use a large body of
+free software.  For example, permission to use the GNU C Library in
+non-free programs enables many more people to use the whole GNU
+operating system, as well as its variant, the GNU/Linux operating
+system.
+
+  Although the Lesser General Public License is Less protective of the
+users' freedom, it does ensure that the user of a program that is
+linked with the Library has the freedom and the wherewithal to run
+that program using a modified version of the Library.
+
+  The precise terms and conditions for copying, distribution and
+modification follow.  Pay close attention to the difference between a
+"work based on the library" and a "work that uses the library".  The
+former contains code derived from the library, whereas the latter must
+be combined with the library in order to run.
+\f
+            GNU LESSER GENERAL PUBLIC LICENSE
+   TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION
+
+  0. This License Agreement applies to any software library or other
+program which contains a notice placed by the copyright holder or
+other authorized party saying it may be distributed under the terms of
+this Lesser General Public License (also called "this License").
+Each licensee is addressed as "you".
+
+  A "library" means a collection of software functions and/or data
+prepared so as to be conveniently linked with application programs
+(which use some of those functions and data) to form executables.
+
+  The "Library", below, refers to any such software library or work
+which has been distributed under these terms.  A "work based on the
+Library" means either the Library or any derivative work under
+copyright law: that is to say, a work containing the Library or a
+portion of it, either verbatim or with modifications and/or translated
+straightforwardly into another language.  (Hereinafter, translation is
+included without limitation in the term "modification".)
+
+  "Source code" for a work means the preferred form of the work for
+making modifications to it.  For a library, complete source code means
+all the source code for all modules it contains, plus any associated
+interface definition files, plus the scripts used to control compilation
+and installation of the library.
+
+  Activities other than copying, distribution and modification are not
+covered by this License; they are outside its scope.  The act of
+running a program using the Library is not restricted, and output from
+such a program is covered only if its contents constitute a work based
+on the Library (independent of the use of the Library in a tool for
+writing it).  Whether that is true depends on what the Library does
+and what the program that uses the Library does.
+
+  1. You may copy and distribute verbatim copies of the Library's
+complete source code as you receive it, in any medium, provided that
+you conspicuously and appropriately publish on each copy an
+appropriate copyright notice and disclaimer of warranty; keep intact
+all the notices that refer to this License and to the absence of any
+warranty; and distribute a copy of this License along with the
+Library.
+
+  You may charge a fee for the physical act of transferring a copy,
+and you may at your option offer warranty protection in exchange for a
+fee.
+\f
+  2. You may modify your copy or copies of the Library or any portion
+of it, thus forming a work based on the Library, and copy and
+distribute such modifications or work under the terms of Section 1
+above, provided that you also meet all of these conditions:
+
+    a) The modified work must itself be a software library.
+
+    b) You must cause the files modified to carry prominent notices
+    stating that you changed the files and the date of any change.
+
+    c) You must cause the whole of the work to be licensed at no
+    charge to all third parties under the terms of this License.
+
+    d) If a facility in the modified Library refers to a function or a
+    table of data to be supplied by an application program that uses
+    the facility, other than as an argument passed when the facility
+    is invoked, then you must make a good faith effort to ensure that,
+    in the event an application does not supply such function or
+    table, the facility still operates, and performs whatever part of
+    its purpose remains meaningful.
+
+    (For example, a function in a library to compute square roots has
+    a purpose that is entirely well-defined independent of the
+    application.  Therefore, Subsection 2d requires that any
+    application-supplied function or table used by this function must
+    be optional: if the application does not supply it, the square
+    root function must still compute square roots.)
+
+These requirements apply to the modified work as a whole.  If
+identifiable sections of that work are not derived from the Library,
+and can be reasonably considered independent and separate works in
+themselves, then this License, and its terms, do not apply to those
+sections when you distribute them as separate works.  But when you
+distribute the same sections as part of a whole which is a work based
+on the Library, the distribution of the whole must be on the terms of
+this License, whose permissions for other licensees extend to the
+entire whole, and thus to each and every part regardless of who wrote
+it.
+
+Thus, it is not the intent of this section to claim rights or contest
+your rights to work written entirely by you; rather, the intent is to
+exercise the right to control the distribution of derivative or
+collective works based on the Library.
+
+In addition, mere aggregation of another work not based on the Library
+with the Library (or with a work based on the Library) on a volume of
+a storage or distribution medium does not bring the other work under
+the scope of this License.
+
+  3. You may opt to apply the terms of the ordinary GNU General Public
+License instead of this License to a given copy of the Library.  To do
+this, you must alter all the notices that refer to this License, so
+that they refer to the ordinary GNU General Public License, version 2,
+instead of to this License.  (If a newer version than version 2 of the
+ordinary GNU General Public License has appeared, then you can specify
+that version instead if you wish.)  Do not make any other change in
+these notices.
+\f
+  Once this change is made in a given copy, it is irreversible for
+that copy, so the ordinary GNU General Public License applies to all
+subsequent copies and derivative works made from that copy.
+
+  This option is useful when you wish to copy part of the code of
+the Library into a program that is not a library.
+
+  4. You may copy and distribute the Library (or a portion or
+derivative of it, under Section 2) in object code or executable form
+under the terms of Sections 1 and 2 above provided that you accompany
+it with the complete corresponding machine-readable source code, which
+must be distributed under the terms of Sections 1 and 2 above on a
+medium customarily used for software interchange.
+
+  If distribution of object code is made by offering access to copy
+from a designated place, then offering equivalent access to copy the
+source code from the same place satisfies the requirement to
+distribute the source code, even though third parties are not
+compelled to copy the source along with the object code.
+
+  5. A program that contains no derivative of any portion of the
+Library, but is designed to work with the Library by being compiled or
+linked with it, is called a "work that uses the Library".  Such a
+work, in isolation, is not a derivative work of the Library, and
+therefore falls outside the scope of this License.
+
+  However, linking a "work that uses the Library" with the Library
+creates an executable that is a derivative of the Library (because it
+contains portions of the Library), rather than a "work that uses the
+library".  The executable is therefore covered by this License.
+Section 6 states terms for distribution of such executables.
+
+  When a "work that uses the Library" uses material from a header file
+that is part of the Library, the object code for the work may be a
+derivative work of the Library even though the source code is not.
+Whether this is true is especially significant if the work can be
+linked without the Library, or if the work is itself a library.  The
+threshold for this to be true is not precisely defined by law.
+
+  If such an object file uses only numerical parameters, data
+structure layouts and accessors, and small macros and small inline
+functions (ten lines or less in length), then the use of the object
+file is unrestricted, regardless of whether it is legally a derivative
+work.  (Executables containing this object code plus portions of the
+Library will still fall under Section 6.)
+
+  Otherwise, if the work is a derivative of the Library, you may
+distribute the object code for the work under the terms of Section 6.
+Any executables containing that work also fall under Section 6,
+whether or not they are linked directly with the Library itself.
+\f
+  6. As an exception to the Sections above, you may also combine or
+link a "work that uses the Library" with the Library to produce a
+work containing portions of the Library, and distribute that work
+under terms of your choice, provided that the terms permit
+modification of the work for the customer's own use and reverse
+engineering for debugging such modifications.
+
+  You must give prominent notice with each copy of the work that the
+Library is used in it and that the Library and its use are covered by
+this License.  You must supply a copy of this License.  If the work
+during execution displays copyright notices, you must include the
+copyright notice for the Library among them, as well as a reference
+directing the user to the copy of this License.  Also, you must do one
+of these things:
+
+    a) Accompany the work with the complete corresponding
+    machine-readable source code for the Library including whatever
+    changes were used in the work (which must be distributed under
+    Sections 1 and 2 above); and, if the work is an executable linked
+    with the Library, with the complete machine-readable "work that
+    uses the Library", as object code and/or source code, so that the
+    user can modify the Library and then relink to produce a modified
+    executable containing the modified Library.  (It is understood
+    that the user who changes the contents of definitions files in the
+    Library will not necessarily be able to recompile the application
+    to use the modified definitions.)
+
+    b) Use a suitable shared library mechanism for linking with the
+    Library.  A suitable mechanism is one that (1) uses at run time a
+    copy of the library already present on the user's computer system,
+    rather than copying library functions into the executable, and (2)
+    will operate properly with a modified version of the library, if
+    the user installs one, as long as the modified version is
+    interface-compatible with the version that the work was made with.
+
+    c) Accompany the work with a written offer, valid for at
+    least three years, to give the same user the materials
+    specified in Subsection 6a, above, for a charge no more
+    than the cost of performing this distribution.
+
+    d) If distribution of the work is made by offering access to copy
+    from a designated place, offer equivalent access to copy the above
+    specified materials from the same place.
+
+    e) Verify that the user has already received a copy of these
+    materials or that you have already sent this user a copy.
+
+  For an executable, the required form of the "work that uses the
+Library" must include any data and utility programs needed for
+reproducing the executable from it.  However, as a special exception,
+the materials to be distributed need not include anything that is
+normally distributed (in either source or binary form) with the major
+components (compiler, kernel, and so on) of the operating system on
+which the executable runs, unless that component itself accompanies
+the executable.
+
+  It may happen that this requirement contradicts the license
+restrictions of other proprietary libraries that do not normally
+accompany the operating system.  Such a contradiction means you cannot
+use both them and the Library together in an executable that you
+distribute.
+\f
+  7. You may place library facilities that are a work based on the
+Library side-by-side in a single library together with other library
+facilities not covered by this License, and distribute such a combined
+library, provided that the separate distribution of the work based on
+the Library and of the other library facilities is otherwise
+permitted, and provided that you do these two things:
+
+    a) Accompany the combined library with a copy of the same work
+    based on the Library, uncombined with any other library
+    facilities.  This must be distributed under the terms of the
+    Sections above.
+
+    b) Give prominent notice with the combined library of the fact
+    that part of it is a work based on the Library, and explaining
+    where to find the accompanying uncombined form of the same work.
+
+  8. You may not copy, modify, sublicense, link with, or distribute
+the Library except as expressly provided under this License.  Any
+attempt otherwise to copy, modify, sublicense, link with, or
+distribute the Library is void, and will automatically terminate your
+rights under this License.  However, parties who have received copies,
+or rights, from you under this License will not have their licenses
+terminated so long as such parties remain in full compliance.
+
+  9. You are not required to accept this License, since you have not
+signed it.  However, nothing else grants you permission to modify or
+distribute the Library or its derivative works.  These actions are
+prohibited by law if you do not accept this License.  Therefore, by
+modifying or distributing the Library (or any work based on the
+Library), you indicate your acceptance of this License to do so, and
+all its terms and conditions for copying, distributing or modifying
+the Library or works based on it.
+
+  10. Each time you redistribute the Library (or any work based on the
+Library), the recipient automatically receives a license from the
+original licensor to copy, distribute, link with or modify the Library
+subject to these terms and conditions.  You may not impose any further
+restrictions on the recipients' exercise of the rights granted herein.
+You are not responsible for enforcing compliance by third parties with
+this License.
+\f
+  11. If, as a consequence of a court judgment or allegation of patent
+infringement or for any other reason (not limited to patent issues),
+conditions are imposed on you (whether by court order, agreement or
+otherwise) that contradict the conditions of this License, they do not
+excuse you from the conditions of this License.  If you cannot
+distribute so as to satisfy simultaneously your obligations under this
+License and any other pertinent obligations, then as a consequence you
+may not distribute the Library at all.  For example, if a patent
+license would not permit royalty-free redistribution of the Library by
+all those who receive copies directly or indirectly through you, then
+the only way you could satisfy both it and this License would be to
+refrain entirely from distribution of the Library.
+
+If any portion of this section is held invalid or unenforceable under any
+particular circumstance, the balance of the section is intended to apply,
+and the section as a whole is intended to apply in other circumstances.
+
+It is not the purpose of this section to induce you to infringe any
+patents or other property right claims or to contest validity of any
+such claims; this section has the sole purpose of protecting the
+integrity of the free software distribution system which is
+implemented by public license practices.  Many people have made
+generous contributions to the wide range of software distributed
+through that system in reliance on consistent application of that
+system; it is up to the author/donor to decide if he or she is willing
+to distribute software through any other system and a licensee cannot
+impose that choice.
+
+This section is intended to make thoroughly clear what is believed to
+be a consequence of the rest of this License.
+
+  12. If the distribution and/or use of the Library is restricted in
+certain countries either by patents or by copyrighted interfaces, the
+original copyright holder who places the Library under this License may add
+an explicit geographical distribution limitation excluding those countries,
+so that distribution is permitted only in or among countries not thus
+excluded.  In such case, this License incorporates the limitation as if
+written in the body of this License.
+
+  13. The Free Software Foundation may publish revised and/or new
+versions of the Lesser General Public License from time to time.
+Such new versions will be similar in spirit to the present version,
+but may differ in detail to address new problems or concerns.
+
+Each version is given a distinguishing version number.  If the Library
+specifies a version number of this License which applies to it and
+"any later version", you have the option of following the terms and
+conditions either of that version or of any later version published by
+the Free Software Foundation.  If the Library does not specify a
+license version number, you may choose any version ever published by
+the Free Software Foundation.
+\f
+  14. If you wish to incorporate parts of the Library into other free
+programs whose distribution conditions are incompatible with these,
+write to the author to ask for permission.  For software which is
+copyrighted by the Free Software Foundation, write to the Free
+Software Foundation; we sometimes make exceptions for this.  Our
+decision will be guided by the two goals of preserving the free status
+of all derivatives of our free software and of promoting the sharing
+and reuse of software generally.
+
+                          NO WARRANTY
+
+  15. BECAUSE THE LIBRARY IS LICENSED FREE OF CHARGE, THERE IS NO
+WARRANTY FOR THE LIBRARY, TO THE EXTENT PERMITTED BY APPLICABLE LAW.
+EXCEPT WHEN OTHERWISE STATED IN WRITING THE COPYRIGHT HOLDERS AND/OR
+OTHER PARTIES PROVIDE THE LIBRARY "AS IS" WITHOUT WARRANTY OF ANY
+KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, THE
+IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
+PURPOSE.  THE ENTIRE RISK AS TO THE QUALITY AND PERFORMANCE OF THE
+LIBRARY IS WITH YOU.  SHOULD THE LIBRARY PROVE DEFECTIVE, YOU ASSUME
+THE COST OF ALL NECESSARY SERVICING, REPAIR OR CORRECTION.
+
+  16. IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN
+WRITING WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MAY MODIFY
+AND/OR REDISTRIBUTE THE LIBRARY AS PERMITTED ABOVE, BE LIABLE TO YOU
+FOR DAMAGES, INCLUDING ANY GENERAL, SPECIAL, INCIDENTAL OR
+CONSEQUENTIAL DAMAGES ARISING OUT OF THE USE OR INABILITY TO USE THE
+LIBRARY (INCLUDING BUT NOT LIMITED TO LOSS OF DATA OR DATA BEING
+RENDERED INACCURATE OR LOSSES SUSTAINED BY YOU OR THIRD PARTIES OR A
+FAILURE OF THE LIBRARY TO OPERATE WITH ANY OTHER SOFTWARE), EVEN IF
+SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH
+DAMAGES.
+
+                END OF TERMS AND CONDITIONS
+\f
+           How to Apply These Terms to Your New Libraries
+
+  If you develop a new library, and you want it to be of the greatest
+possible use to the public, we recommend making it free software that
+everyone can redistribute and change.  You can do so by permitting
+redistribution under these terms (or, alternatively, under the terms of the
+ordinary General Public License).
+
+  To apply these terms, attach the following notices to the library.  It is
+safest to attach them to the start of each source file to most effectively
+convey the exclusion of warranty; and each file should have at least the
+"copyright" line and a pointer to where the full notice is found.
+
+    <one line to give the library's name and a brief idea of what it does.>
+    Copyright (C) <year>  <name of author>
+
+    This library is free software; you can redistribute it and/or
+    modify it under the terms of the GNU Lesser General Public
+    License as published by the Free Software Foundation; either
+    version 2.1 of the License, or (at your option) any later version.
+
+    This library is distributed in the hope that it will be useful,
+    but WITHOUT ANY WARRANTY; without even the implied warranty of
+    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+    Lesser General Public License for more details.
+
+    You should have received a copy of the GNU Lesser General Public
+    License along with this library; if not, write to the Free Software
+    Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA  02110-1301  USA
+
+Also add information on how to contact you by electronic and paper mail.
+
+You should also get your employer (if you work as a programmer) or your
+school, if any, to sign a "copyright disclaimer" for the library, if
+necessary.  Here is a sample; alter the names:
+
+  Yoyodyne, Inc., hereby disclaims all copyright interest in the
+  library `Frob' (a library for tweaking knobs) written by James Random Hacker.
+
+  <signature of Ty Coon>, 1 April 1990
+  Ty Coon, President of Vice
+
+That's all there is to it!
diff --git a/koha-tmpl/opac-tmpl/ccsr/en/lib/greybox/GreyBox_v5_5/about.html b/koha-tmpl/opac-tmpl/ccsr/en/lib/greybox/GreyBox_v5_5/about.html
new file mode 100644 (file)
index 0000000..6922b4c
--- /dev/null
@@ -0,0 +1,50 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en">
+<head>
+    <title>GreyBox - About</title>
+
+    <script type="text/javascript">
+        var GB_ROOT_DIR = "./greybox/";
+    </script>
+
+    <script type="text/javascript" src="greybox/AJS.js"></script>
+    <script type="text/javascript" src="greybox/AJS_fx.js"></script>
+    <script type="text/javascript" src="greybox/gb_scripts.js"></script>
+    <link href="greybox/gb_styles.css" rel="stylesheet" type="text/css" media="all" />
+
+    <script type="text/javascript" src="static_files/help.js"></script>
+    <link href="static_files/help.css" rel="stylesheet" type="text/css" media="all" />
+</head>
+
+<body>
+
+<script>
+    insertHeader();
+    insertMenu('about');
+</script>
+
+<p>
+GreyBox is copyrighted work by <a href="http://amix.dk/">Amir Salihefendic</a>.
+</p>
+
+<p>
+It is based on <a href="http://orangoo.com/labs/AJS/">AJS</a> JavaScript library.
+</p>
+
+<p>
+It is realesed under <a href="LGPL.txt">LGPL</a>.
+</p>
+
+<h3>Links</h3>
+<ul>
+    <li> <a href="http://orangoo.com/labs/GreyBox/">GreyBox official site</a> </li>
+</ul>
+
+<h3>Need help?</h3>
+<ul>
+    <li><a href="http://groups.google.com/group/greybox">GreyBox Google group</a> - A group where you can ask questions and get answers</li>
+    <li><a href="http://orangoo.com/labs/GreyBox/FAQ/">GreyBox FAQ</a> -Frequently Asked Questions about GreyBox</li>
+</ul>
+
+</body>
+</html>
diff --git a/koha-tmpl/opac-tmpl/ccsr/en/lib/greybox/GreyBox_v5_5/adobe_images/nav_buttons.psd b/koha-tmpl/opac-tmpl/ccsr/en/lib/greybox/GreyBox_v5_5/adobe_images/nav_buttons.psd
new file mode 100644 (file)
index 0000000..6a87bbc
Binary files /dev/null and b/koha-tmpl/opac-tmpl/ccsr/en/lib/greybox/GreyBox_v5_5/adobe_images/nav_buttons.psd differ
diff --git a/koha-tmpl/opac-tmpl/ccsr/en/lib/greybox/GreyBox_v5_5/advance_usage.html b/koha-tmpl/opac-tmpl/ccsr/en/lib/greybox/GreyBox_v5_5/advance_usage.html
new file mode 100644 (file)
index 0000000..fc900cd
--- /dev/null
@@ -0,0 +1,182 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en">
+<head>
+    <title>GreyBox - Advance usage</title>
+
+    <script type="text/javascript">
+        var GB_ROOT_DIR = "./greybox/";
+    </script>
+
+    <script type="text/javascript" src="greybox/AJS.js"></script>
+    <script type="text/javascript" src="greybox/AJS_fx.js"></script>
+    <script type="text/javascript" src="greybox/gb_scripts.js"></script>
+    <link href="greybox/gb_styles.css" rel="stylesheet" type="text/css" media="all" />
+
+    <script type="text/javascript" src="static_files/help.js"></script>
+    <link href="static_files/help.css" rel="stylesheet" type="text/css" media="all" />
+</head>
+<body>
+
+<script>
+insertHeader();
+insertMenu('adv_usage');
+</script>
+
+<h2>Methods for showing windows</h2>
+
+<h3 class="first">GB_show</h3>
+
+<h4>Signature:</h4>
+<script>
+insertCode(
+    'GB_show(caption, url, /*optional*/ height, width, callback_fn)'
+);
+</script>
+
+<h4>Example:</h4>
+<script>
+insertCode(
+    '<a href="http://google.com/" onclick="return GB_show(\'Google\', this.href)">Visit Google</a>'
+);
+</script>
+
+<h4>Example rendered:</h4>
+<a href="http://google.com/" onclick="return GB_show('Google', this.href)">Visit Google</a>
+
+
+<h3>GB_showCenter</h3>
+
+<h4>Signature:</h4>
+<script>
+insertCode(
+    'GB_showCenter(caption, url, /* optional */ height, width, callback_fn)'
+);
+</script>
+
+<h4>Example:</h4>
+<script>
+insertCode(
+    '<a href="http://google.com/" onclick="return GB_showCenter(\'Google\', this.href)">Visit Google</a>'
+);
+</script>
+
+<h4>Example rendered:</h4>
+<a href="http://google.com/" onclick="return GB_showCenter('Google', this.href)">Visit Google</a>
+
+
+<h3>GB_showFullScreen</h3>
+
+<h4>Signature:</h4>
+<script>
+insertCode(
+    'GB_showFullScreen(caption, url, callback_fn)'
+);
+</script>
+
+<h4>Example:</h4>
+<script>
+insertCode(
+    '<a href="http://google.com/" onclick="return GB_showFullScreen(\'Google\', this.href)">Visit Google</a>'
+);
+</script>
+
+<h4>Example rendered:</h4>
+<a href="http://google.com/" onclick="return GB_showFullScreen('Google', this.href)">Visit Google</a>
+
+<h2>Methods for showing overlays</h2>
+
+<h3 class="first">GB_showImage</h3>
+<h4>Signature:</h4>
+<script>
+insertCode(
+    'GB_showImage(caption, url, callback_fn)'
+);
+</script>
+
+<h4>Example:</h4>
+<script>
+insertCode(
+        '<a href="http://static.flickr.com/119/294309231_a3d2a339b9.jpg"\n'+
+        'onclick="return GB_showImage(\'Flower\', this.href)">A flower in my hand</a>'
+);
+</script>
+
+<h4>Example rendered:</h4>
+<a href="http://static.flickr.com/119/294309231_a3d2a339b9.jpg" onclick="return GB_showImage('Flower', this.href)">A flower in my hand</a>
+
+<h3>GB_showPage</h3>
+<h4>Signature:</h4>
+<script>
+insertCode(
+    'GB_showPage(caption, url, callback_fn)'
+);
+</script>
+
+<h4>Example:</h4>
+<script>
+insertCode(
+    '<a href="http://google.com" onclick="return GB_showPage(\'Google\', this.href)">Show Google in another layout</a>'
+);
+</script>
+
+<h4>Example rendered:</h4>
+<a href="http://google.com" onclick="return GB_showPage('Google', this.href)">Show Google in another layout</a>
+
+
+<h2>Methods for showing sets</h2>
+
+<h3 class="first">GB_showFullScreenSet</h3>
+<h4>Signature:</h4>
+<script>
+insertCode(
+    'GB_showFullScreenSet(set, start_index, callback_fn)'
+);
+</script>
+
+<h4>Example:</h4>
+<script>
+insertCode(
+    "<script>",
+    "var page_set = [{'caption': 'Google', 'url': 'http://google.com/'},",
+    "    {'caption': 'Yahoo', 'url': 'http://yahoo.com/'}];",
+    "<\/script>",
+    '<a href="#" onclick="return GB_showFullScreenSet(page_set, 1)">Show first page in page_set</a>'
+);
+</script>
+
+<h4>Example rendered:</h4>
+<script>
+var page_set = [{'caption': 'Google', 'url': 'http://google.com/'},
+    {'caption': 'Yahoo', 'url': 'http://yahoo.com/'}];
+</script>
+<a href="#" onclick="return GB_showFullScreenSet(page_set, 1)">Show first page in page_set</a>
+
+<h3>GB_showImageSet</h3>
+<h4>Signature:</h4>
+<script>
+insertCode(
+    'GB_showImageSet(set, start_index, callback_fn)'
+);
+</script>
+
+<h4>Example:</h4>
+<script>
+insertCode(
+    "<script>",
+    "var image_set = [{'caption': 'Flower', 'url': 'http://static.flickr.com/119/294309231_a3d2a339b9.jpg'},",
+    "    {'caption': 'Nice waterfall', 'url': 'http://www.widerange.org/images/large/plitvicka.jpg'}];",
+    "<\/script>",
+    '<a href="#" onclick="return GB_showImageSet(image_set, 1)">Show first picture in image_set</a>'
+);
+</script>
+
+<h4>Example rendered:</h4>
+<script>
+var image_set = [{'caption': 'Flower', 'url': 'http://static.flickr.com/119/294309231_a3d2a339b9.jpg'},
+    {'caption': 'Nice waterfall', 'url': 'http://www.widerange.org/images/large/plitvicka.jpg'}];
+</script>
+<a href="#" onclick="return GB_showImageSet(image_set, 1)">Show first picture in image_set</a>
+
+
+</body>
+</html>
diff --git a/koha-tmpl/opac-tmpl/ccsr/en/lib/greybox/GreyBox_v5_5/combiner.py b/koha-tmpl/opac-tmpl/ccsr/en/lib/greybox/GreyBox_v5_5/combiner.py
new file mode 100644 (file)
index 0000000..8e289ce
--- /dev/null
@@ -0,0 +1,134 @@
+#!/usr/bin/env python
+"""
+Used to combine the different parts of GreyBox.
+- Python 2.4 required
+- Java 1.4+ required
+- Dojo's JavaScript compressor (http://dojotoolkit.org/docs/compressor_system.html). Place it under compression_lib/custom_rhino.jar
+"""
+import os, sys, shutil
+from compression_lib import AJS_minify
+
+
+if __name__ == '__main__':
+    args = sys.argv
+
+    if len(args) < 2:
+        print """
+Usage is:
+    python combiner.py [full|gallery|window]
+Example usage:
+    python combiner.py full
+The files will be store in greybox_dist/* depending on the dist. type
+"""
+        sys.exit(0)
+
+    type = args[1]
+    output_dir = 'greybox'
+
+    ##
+    # Config file list
+    #
+    js = []
+    css = []
+    static = []
+
+    append = lambda l, x: l.append('greybox_source/%s' % x)
+
+    def appendBase():
+        append(js, 'base/base.js')
+        append(js, 'auto_deco.js')
+        append(css, 'base/base.css')
+        append(static, 'base/indicator.gif')
+        append(static, 'base/loader_frame.html')
+
+    def appendSet():
+        append(js, 'set/set.js')
+        append(css, 'set/set.css')
+        append(static, 'set/next.gif')
+        append(static, 'set/prev.gif')
+
+    def appendGallery():
+        append(js, 'gallery/gallery.js')
+        append(css, 'gallery/gallery.css')
+        append(static, 'gallery/g_close.gif')
+
+    def appendWindow():
+        append(js, 'window/window.js')
+        append(css, 'window/window.css')
+        append(static, 'window/header_bg.gif')
+        append(static, 'window/w_close.gif')
+
+    appendBase()
+
+    if type == 'full':
+        appendGallery()
+        appendSet()
+        appendWindow()
+    elif type == 'gallery':
+        appendGallery()
+        appendSet()
+    elif type == 'window':
+        appendWindow()
+    else:
+        sys.exit('Uknown type')
+
+    print 'Follwoing styles are used:'
+    for style in css:
+        print '   %s' % style
+
+    print 'Follwoing JavaScript is used:'
+    for script in js:
+        print '   %s' % script
+
+    ##
+    # Copy the files
+    #
+    try:
+        shutil.rmtree(output_dir)
+    except:
+        pass
+    os.mkdir(output_dir)
+
+    def concatFiles(f_list):
+        data = []
+        for f in f_list:
+            data.append(open(f, 'r').read())
+        return '\n\n'.join(data)
+
+    def copyFiles(f_list):
+        for f in f_list:
+            shutil.copy(f, output_dir)
+
+    copyFiles(static)
+    fp = open('%s/%s' % (output_dir, 'gb_styles.css'), 'w')
+    fp.write(concatFiles(css))
+    fp.close()
+    print 'Compressed styles in %s' % ('greybox/gb_styles.css')
+
+    ##
+    # Concat js
+    #
+    fp = open('%s/%s' % (output_dir, 'gb_scripts_tmp.js'), 'w')
+    fp.write(concatFiles(js))
+    fp.close()
+
+    AJS_minify.AJS_SRC = 'greybox_source/base/AJS.js'
+    AJS_minify.AJS_MINI_SRC = 'greybox/AJS_tmp.js'
+    files = ['greybox/gb_scripts_tmp.js', 'greybox_source/base/AJS_fx.js', 'static_files/help.js']
+    code_analyzer = AJS_minify.ExternalCodeAnalyzer(files)
+    composer = AJS_minify.AjsComposer(code_analyzer.findFunctions())
+    composer.writeToOutput()
+
+    os.popen('java -jar compression_lib/custom_rhino.jar -c greybox/AJS_tmp.js > greybox/AJS.js')
+    os.remove('greybox/AJS_tmp.js')
+    os.popen('java -jar compression_lib/custom_rhino.jar -c greybox_source/base/AJS_fx.js > greybox/AJS_fx.js')
+    print 'Compressed AJS.js and AJS.js into greybox/'
+
+    os.popen('java -jar compression_lib/custom_rhino.jar -c greybox/gb_scripts_tmp.js > greybox/gb_scripts.js')
+    os.remove('greybox/gb_scripts_tmp.js')
+    print 'Compressed JavaScript in %s' % ('greybox/gb_scripts.css')
+
+    #Append script_loaded
+    open('greybox/AJS.js', 'a').write('\nscript_loaded=true;')
+    open('greybox/AJS_fx.js', 'a').write('\nscript_loaded=true;')
+    open('greybox/gb_scripts.js', 'a').write('\nscript_loaded=true;')
diff --git a/koha-tmpl/opac-tmpl/ccsr/en/lib/greybox/GreyBox_v5_5/compressing_greybox.html b/koha-tmpl/opac-tmpl/ccsr/en/lib/greybox/GreyBox_v5_5/compressing_greybox.html
new file mode 100644 (file)
index 0000000..5596f35
--- /dev/null
@@ -0,0 +1,55 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en">
+<head>
+    <title>GreyBox - Compressing GreyBox</title>
+
+    <script type="text/javascript">
+        var GB_ROOT_DIR = "./greybox/";
+    </script>
+
+    <script type="text/javascript" src="greybox/AJS.js"></script>
+    <script type="text/javascript" src="greybox/AJS_fx.js"></script>
+    <script type="text/javascript" src="greybox/gb_scripts.js"></script>
+    <link href="greybox/gb_styles.css" rel="stylesheet" type="text/css" media="all" />
+
+    <script type="text/javascript" src="static_files/help.js"></script>
+    <link href="static_files/help.css" rel="stylesheet" type="text/css" media="all" />
+</head>
+<body>
+
+<script>
+insertHeader();
+insertMenu('cmpr');
+</script>
+
+<h2>Code structure</h2>
+<ul>
+    <li><b>greybox:</b> Generated and compressed JavaScript and CSS is located here</li>
+    <li><b>greybox_source:</b> CSS and JavaScript structured in directories.</li>
+</ul>
+It's not recommend that you alter code in the <b>greybox</b> directory, since it's computer generated and very unreadable!
+
+
+<h2>Download Dojo ShrinkSafe</h2>
+To make the filesize as small as possible GreyBox JavaScript is compressed down using <a href="http://alex.dojotoolkit.org/shrinksafe/">Dojo ShrinkSafe</a>. This library requires <a href="http://www.java.com/getjava/">Java</a>, so make sure you got Java installed. Download following JAR file:
+<ul>
+    <li><a href="http://svn.dojotoolkit.org/dojo/trunk/buildscripts/lib/custom_rhino.jar">custom_rhino.jar</a></li>
+</ul>
+Place <b>custom_rhino.jar</b> in GreyBox's <b>compression_lib</b> directory.
+
+
+<h2>Compressing GreyBox</h2>
+Now, you are ready to compress GreyBox. This is done by running a Python script called <b>combiner.py</b>. I.e. you need to download and install <a href="http://www.python.org/download/">Pyhton</a>.
+
+<p>
+You can run <b>combiner.py</b> in following ways:
+</p>
+
+<ul>
+    <li><b>python combiner.py full:</b> Compress everything</li>
+    <li><b>python combiner.py gallery:</b> Compress only gallery related CSS and JavaScript</li>
+    <li><b>python combiner.py window:</b> Compress only window related CSS and JavaScript</li>
+</ul>
+
+</body>
+</html>
diff --git a/koha-tmpl/opac-tmpl/ccsr/en/lib/greybox/GreyBox_v5_5/compression_lib/AJS_minify.py b/koha-tmpl/opac-tmpl/ccsr/en/lib/greybox/GreyBox_v5_5/compression_lib/AJS_minify.py
new file mode 100644 (file)
index 0000000..cd35244
--- /dev/null
@@ -0,0 +1,255 @@
+#!/usr/bin/env python
+#Last-update: 08/05/07 12:39:17
+import re
+import sys
+from sets import Set
+
+##
+# External files
+#
+AJS_SRC = 'AJS.js'
+AJS_MINI_SRC = 'AJS_compressed.js'
+
+
+##
+# Standard stuff that may change in the future
+#
+DOM_SHORTCUTS = [
+    "ul", "li", "td", "tr", "th",
+    "tbody", "table", "input", "span", "b",
+    "a", "div", "img", "button", "h1",
+    "h2", "h3", "br", "textarea", "form",
+    "p", "select", "option", "iframe", "script",
+    "center", "dl", "dt", "dd", "small",
+    "pre", "tn"
+]
+
+FN_SHORTCUTS = {
+    '$': 'getElement',
+    '$$': 'getElements',
+    '$f': 'getFormElement',
+    '$b': 'bind',
+    '$p': 'partial',
+    '$A': 'createArray',
+    'DI': 'documentInsert',
+    'ACN': 'appendChildNodes',
+    'RCN': 'replaceChildNodes',
+    'AEV': 'addEventListener',
+    'REV': 'removeEventListener',
+    '$bytc': 'getElementsByTagAndClassName'
+}
+
+AJS_TEMPLATE = """//AJS JavaScript library (minify'ed version)
+//Copyright (c) 2006 Amir Salihefendic. All rights reserved.
+//Copyright (c) 2005 Bob Ippolito. All rights reserved.
+//License: http://www.opensource.org/licenses/mit-license.php
+//Visit http://orangoo.com/AmiNation/AJS for full version.
+AJS = {
+BASE_URL: "",
+drag_obj: null,
+drag_elm: null,
+_drop_zones: [],
+_cur_pos: null,
+
+%(functions)s
+}
+
+AJS.$ = AJS.getElement;
+AJS.$$ = AJS.getElements;
+AJS.$f = AJS.getFormElement;
+AJS.$p = AJS.partial;
+AJS.$b = AJS.bind;
+AJS.$A = AJS.createArray;
+AJS.DI = AJS.documentInsert;
+AJS.ACN = AJS.appendChildNodes;
+AJS.RCN = AJS.replaceChildNodes;
+AJS.AEV = AJS.addEventListener;
+AJS.REV = AJS.removeEventListener;
+AJS.$bytc = AJS.getElementsByTagAndClassName;
+
+AJS.addEventListener(window, 'unload', AJS._unloadListeners);
+AJS._createDomShortcuts();
+
+%(AJSClass)s
+
+%(AJSDeferred)s
+script_loaded = true;
+"""
+
+
+def getAjsCode():
+    return open(AJS_SRC).read()
+
+def writeAjsMini(code):
+    open(AJS_MINI_SRC, "w").write(code)
+
+
+class AjsAnalyzer:
+
+    def __init__(self):
+        self.code = getAjsCode()
+        self.ajs_fns = {}
+        self.ajs_deps = {}
+        self._parseAJS()
+        self._findDeps()
+
+    def _parseAJS(self):
+        ajs_code = re.search("AJS =(.|\n)*\n}\n", self.code).group(0)
+        fns = re.findall("\s+((\w*?):.*?{(.|\n)*?\n\s*})(,|\n+})\n", ajs_code)
+        for f in fns:
+            self.ajs_fns[f[1]] = f[0]
+
+    def getFnCode(self, fn_name, caller=None):
+        """
+        Returns the code of function and it's dependencies as a list
+        """
+        fn_name = self._unfoldFn(fn_name)
+        r = []
+        if self.ajs_fns.get(fn_name):
+            r.append(self.ajs_fns[fn_name])
+            for dep_fn in self.ajs_deps[fn_name]:
+                if fn_name != dep_fn and dep_fn != caller:
+                    r.extend(self.getFnCode(dep_fn, fn_name))
+        elif fn_name not in ['listeners', 'Class']:
+            print 'Could not find "%s"' % fn_name
+        return r
+
+    def getAjsClassCode(self):
+        return re.search("AJS.Class =(.|\n)*\n};\n", self.code).group(0)
+
+    def getAjsDeferredCode(self):
+        return re.search("AJSDeferred =(.|\n)*\n};\n", self.code).group(0)
+
+    def _findDeps(self):
+        """
+        Parses AJS and for every function it finds dependencies for the other functions.
+        """
+        for fn_name, fn_code in self.ajs_fns.items():
+            self.ajs_deps[fn_name] = self._findFns(fn_code)
+
+    def _findFns(self, inner):
+        """
+        Searches after AJS.fnX( in inner and returns all the fnX in a Set.
+        """
+        s = re.findall("AJS\.([\w_$]*?)(?:\(|,|\.)", inner)
+        s = list(Set(s))
+        return self._unfoldFns(s)
+
+    def _unfoldFns(self, list):
+        """
+        Unfolds:
+            AJS.B, AJS.H1 etc. to _createDomShortcuts
+            AJS.$ to AJS.getElement etc.
+        """
+        return [self._unfoldFn(n) for n in list]
+
+    def _unfoldFn(self, fn_name):
+        if fn_name.lower() in DOM_SHORTCUTS:
+            return "_createDomShortcuts"
+        elif FN_SHORTCUTS.get(fn_name):
+            return FN_SHORTCUTS[fn_name]
+        else:
+            return fn_name
+
+
+class ExternalCodeAnalyzer:
+
+    def __init__(self, files):
+        self.found_ajs_fns = []
+        self.files = files
+
+    def findFunctions(self):
+        for f in self.files:
+            self.found_ajs_fns.extend( self._parseFile(f) )
+        return list(Set(self.found_ajs_fns))
+
+    def _parseFile(self, f):
+        """
+        Parses the file, looks for AJS functions and returns all the found functions.
+        """
+        code = open(f).read()
+        return re.findall("AJS\.([\w_$]*?)\(", code)
+
+
+
+class AjsComposer:
+
+    def __init__(self, fn_list):
+        self.code = getAjsCode()
+        self.analyzer = AjsAnalyzer()
+        self.fn_list = fn_list
+
+        #Append standard functions
+        req = ['_unloadListeners', 'createDOM', '_createDomShortcuts', 'log', 'addEventListener']
+        self.fn_list.extend(req)
+
+        #Append AJSDeferred only if needed
+        in_list = lambda x: x in self.fn_list
+        if in_list('getRequest') or in_list('loadJSONDoc'):
+            self.deferred = self._minify(self.analyzer.getAjsDeferredCode())
+            self.fn_list.append('isObject')
+        else:
+            self.deferred = ''
+
+    def writeToOutput(self):
+        fns = self._getFns()
+        d = {}
+        d['functions'] = ",\n".join(fns)
+        d['AJSDeferred'] = self.deferred
+        d['AJSClass'] = self.analyzer.getAjsClassCode()
+
+        mini_code = AJS_TEMPLATE % d
+        writeAjsMini(mini_code)
+
+    def _minify(self, code):
+        new_lines = []
+        for l in code.split("\n"):
+            if l not in ['\n', '']:
+                new_lines.append(l.lstrip())
+        return "\n".join(new_lines)
+
+    def _getFns(self):
+        """
+        Returns a list with real code of functions
+        """
+        r = []
+        for fn in self.fn_list:
+            r.extend(self.analyzer.getFnCode(fn))
+
+        r = list(Set(r))
+        return [self._minify(fn) for fn in r]
+
+
+if __name__ == '__main__':
+    args = sys.argv
+
+    if len(args) < 3:
+        print """Usage is:
+    python AJS_minify.py [-o output_file] ajs_file js_file.js html_using_ajs.html ...
+Example usage:
+    Using relative paths:
+        python AJS_minify.py -o AJS_mini.js AJS.js test.js index.html
+        This will create AJS_mini.js from test.js and index.html.
+    Using absolute paths:
+        python AJS_minify.py ~/Desktop/AJS/AJS.js ~/Desktop/GreyBox_v3_42/greybox/greybox.js
+        This will create a new file called '%s' that has the needed AJS functions.""" % AJS_MINI_SRC
+
+        sys.exit(0)
+
+    if sys.argv[1] == '-o':
+        AJS_MINI_SRC = sys.argv[2]
+        AJS_SRC = sys.argv[3]
+        FILES = sys.argv[4:]
+    else:
+        AJS_SRC = sys.argv[1]
+        FILES = sys.argv[2:]
+
+    print 'Parsing through:\n    %s' % "\n    ".join(FILES)
+
+    code_analyzer = ExternalCodeAnalyzer(FILES)
+    found_fns = code_analyzer.findFunctions()
+    print 'Found following AJS functions:\n    %s' % ("\n    ".join(found_fns))
+
+    composer = AjsComposer(found_fns)
+    composer.writeToOutput()
+    print "Written the minified code to '%s'" % AJS_MINI_SRC
diff --git a/koha-tmpl/opac-tmpl/ccsr/en/lib/greybox/GreyBox_v5_5/compression_lib/__init__.py b/koha-tmpl/opac-tmpl/ccsr/en/lib/greybox/GreyBox_v5_5/compression_lib/__init__.py
new file mode 100644 (file)
index 0000000..792d600
--- /dev/null
@@ -0,0 +1 @@
+#
diff --git a/koha-tmpl/opac-tmpl/ccsr/en/lib/greybox/GreyBox_v5_5/examples.html b/koha-tmpl/opac-tmpl/ccsr/en/lib/greybox/GreyBox_v5_5/examples.html
new file mode 100644 (file)
index 0000000..fb965fb
--- /dev/null
@@ -0,0 +1,95 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en">
+<head>
+    <title>GreyBox - Examples</title>
+
+    <script type="text/javascript">
+        var GB_ROOT_DIR = "./greybox/";
+    </script>
+
+    <script type="text/javascript" src="greybox/AJS.js"></script>
+    <script type="text/javascript" src="greybox/AJS_fx.js"></script>
+    <script type="text/javascript" src="greybox/gb_scripts.js"></script>
+    <link href="greybox/gb_styles.css" rel="stylesheet" type="text/css" media="all" />
+
+    <script type="text/javascript" src="static_files/help.js"></script>
+    <link href="static_files/help.css" rel="stylesheet" type="text/css" media="all" />
+</head>
+<body>
+
+<script>
+    insertHeader();
+    insertMenu('examples');
+</script>
+
+
+<h3>One website</h3>
+<ul>
+    <li>
+        <a href="http://google.com/" title="Google" rel="gb_page_center[640, 480]">Launch google.com in a 640x480 window</a>
+    </li>
+    <li>
+        <a href="http://google.com/" title="Google" rel="gb_page_fs[]">Launch google.com in fullscreen window</a>
+    </li>
+</ul>
+
+<h3>Website gallery</h3>
+<ul>
+    <li>
+        <a href="http://google.com/" title="Google" rel="gb_pageset[search_sites]">Launch Google search</a>
+    </li>
+    <li>
+        <a href="http://search.yahoo.com/" rel="gb_pageset[search_sites]">Launch Yahoo search</a>
+    </li>
+    <li>
+        <a href="http://www.koders.com/" rel="gb_pageset[search_sites]">Launch Koders search</a>
+    </li>
+</ul>
+
+<h3>Image gallery</h3>
+<script type="text/javascript">
+var image_set = [{'caption': 'Flower', 'url': 'http://static.flickr.com/119/294309231_a3d2a339b9.jpg'},
+                 {'caption': 'Nice waterfall', 'url': 'http://www.widerange.org/images/large/plitvicka.jpg'}];
+</script>
+
+<ul>
+    <li>
+        <a href="#" onclick="return GB_showImageSet(image_set, 1)">Launch gallery</a>
+    </li>
+
+    <li>
+        <a href="static_files/night_valley.jpg" rel="gb_imageset[nice_pics]" title="Night valley">
+            <img src="static_files/night_valley_thumb.jpg" />
+        </a>
+    </li>
+
+    <li>
+        <a href="static_files/salt.jpg" rel="gb_imageset[nice_pics]" title="Salt flats in Chile">
+            <img src="static_files/salt_thumb.gif" />
+        </a>
+    </li>
+</ul>
+
+<h3>Without loading</h3>
+<script type="text/javascript">
+GB_myShow = function(caption, url, /* optional */ height, width, callback_fn) {
+    var options = {
+        caption: caption,
+        height: height || 500,
+        width: width || 500,
+        fullscreen: false,
+        show_loading: false,
+        callback_fn: callback_fn
+    }
+    var win = new GB_Window(options);
+    return win.show(url);
+}
+</script>
+<ul>
+    <li>
+        <a href="http://google.com/" onclick="return GB_myShow('Google', this.href)">Visit Google without loading</a>
+    </li>
+</ul>
+
+</body>
+</html>
diff --git a/koha-tmpl/opac-tmpl/ccsr/en/lib/greybox/GreyBox_v5_5/greybox_source/auto_deco.js b/koha-tmpl/opac-tmpl/ccsr/en/lib/greybox/GreyBox_v5_5/greybox_source/auto_deco.js
new file mode 100644 (file)
index 0000000..7b7f52a
--- /dev/null
@@ -0,0 +1,67 @@
+var GB_SETS = {};
+function decoGreyboxLinks() {
+    var as = AJS.$bytc('a');
+    AJS.map(as, function(a) {
+        if(a.getAttribute('href') && a.getAttribute('rel')) {
+            var rel = a.getAttribute('rel');
+            if(rel.indexOf('gb_') == 0) {
+                var name = rel.match(/\w+/)[0];
+                var attrs = rel.match(/\[(.*)\]/)[1];
+                var index = 0;
+
+                var item = {
+                    'caption': a.title || '',
+                    'url': a.href
+                }
+
+                //Set up GB_SETS
+                if(name == 'gb_pageset' || name == 'gb_imageset') {
+                    if(!GB_SETS[attrs]) { GB_SETS[attrs] = []; }
+                    GB_SETS[attrs].push(item);
+                    index = GB_SETS[attrs].length;
+                }
+
+                //Append onclick
+                if(name == 'gb_pageset') {
+                    a.onclick = function() {
+                        GB_showFullScreenSet(GB_SETS[attrs], index);
+                        return false;
+                    };
+                }
+                if(name == 'gb_imageset') {
+                    a.onclick = function() {
+                        GB_showImageSet(GB_SETS[attrs], index);
+                        return false;
+                    };
+                }
+                if(name == 'gb_image') {
+                    a.onclick = function() {
+                        GB_showImage(item.caption, item.url);
+                        return false;
+                    };
+                }
+                if(name == 'gb_page') {
+                    a.onclick = function() {
+                        var sp = attrs.split(/, ?/);
+                        GB_show(item.caption, item.url, parseInt(sp[1]), parseInt(sp[0]));
+                        return false;
+                    };
+                }
+                if(name == 'gb_page_fs') {
+                    a.onclick = function() {
+                        GB_showFullScreen(item.caption, item.url);
+                        return false;
+                    };
+                }
+                if(name == 'gb_page_center') {
+                    a.onclick = function() {
+                        var sp = attrs.split(/, ?/);
+                        GB_showCenter(item.caption, item.url, parseInt(sp[1]), parseInt(sp[0]));
+                        return false;
+                    };
+                }
+            }
+        }});
+}
+
+AJS.AEV(window, 'load', decoGreyboxLinks);
diff --git a/koha-tmpl/opac-tmpl/ccsr/en/lib/greybox/GreyBox_v5_5/greybox_source/base/AJS.js b/koha-tmpl/opac-tmpl/ccsr/en/lib/greybox/GreyBox_v5_5/greybox_source/base/AJS.js
new file mode 100644 (file)
index 0000000..1dbb9f7
--- /dev/null
@@ -0,0 +1,1371 @@
+/*
+Last Modified: 29/01/07 14:16:09
+
+AJS JavaScript library
+    A very small library with a lot of functionality
+AUTHOR
+    4mir Salihefendic (http://amix.dk) - amix@amix.dk
+LICENSE
+    Copyright (c) 2006 Amir Salihefendic. All rights reserved.
+    Copyright (c) 2005 Bob Ippolito. All rights reserved.
+    http://www.opensource.org/licenses/mit-license.php
+VERSION
+    3.7
+SITE
+    http://orangoo.com/AmiNation/AJS
+**/
+if(!AJS) {
+var AJS = {
+    BASE_URL: "",
+
+    drag_obj: null,
+    drag_elm: null,
+    _drop_zones: [],
+    _drag_zones: [],
+    _cur_pos: null,
+
+    ajaxErrorHandler: null,
+
+////
+// General accessor functions
+////
+    getQueryArgument: function(var_name) {
+        var query = window.location.search.substring(1);
+        var vars = query.split("&");
+        for (var i=0;i<vars.length;i++) {
+            var pair = vars[i].split("=");
+            if (pair[0] == var_name) {
+                return pair[1];
+            }
+        }
+        return null;
+    },
+
+    isIe: function() {
+        return (navigator.userAgent.toLowerCase().indexOf("msie") != -1 && navigator.userAgent.toLowerCase().indexOf("opera") == -1);
+    },
+    isNetscape7: function() {
+        return (navigator.userAgent.toLowerCase().indexOf("netscape") != -1 && navigator.userAgent.toLowerCase().indexOf("7.") != -1);
+    },
+    isSafari: function() {
+        return (navigator.userAgent.toLowerCase().indexOf("khtml") != -1);
+    },
+    isOpera: function() {
+        return (navigator.userAgent.toLowerCase().indexOf("opera") != -1);
+    },
+    isMozilla: function() {
+        return (navigator.userAgent.toLowerCase().indexOf("gecko") != -1 && navigator.productSub >= 20030210);
+    },
+
+
+////
+// Array functions
+////
+    //Shortcut: AJS.$A
+    createArray: function(v) {
+        if(AJS.isArray(v) && !AJS.isString(v))
+            return v;
+        else if(!v)
+            return [];
+        else
+            return [v];
+    },
+
+    forceArray: function(args) {
+        var r = [];
+        AJS.map(args, function(elm) {
+            r.push(elm);
+        });
+        return r;
+    },
+
+    join: function(delim, list) {
+        try {
+            return list.join(delim);
+        }
+        catch(e) {
+            var r = list[0] || '';
+            AJS.map(list, function(elm) {
+                r += delim + elm;
+            }, 1);
+            return r + '';
+        }
+    },
+
+    isIn: function(elm, list) {
+        var i = AJS.getIndex(elm, list);
+        if(i != -1)
+            return true;
+        else
+            return false;
+    },
+
+    getIndex: function(elm, list/*optional*/, eval_fn) {
+        for(var i=0; i < list.length; i++)
+            if(eval_fn && eval_fn(list[i]) || elm == list[i])
+                return i;
+        return -1;
+    },
+
+    getFirst: function(list) {
+        if(list.length > 0)
+            return list[0];
+        else
+            return null;
+    },
+
+    getLast: function(list) {
+        if(list.length > 0)
+            return list[list.length-1];
+        else
+            return null;
+    },
+
+    update: function(l1, l2) {
+        for(var i in l2)
+            l1[i] = l2[i];
+        return l1;
+    },
+
+    flattenList: function(list) {
+        var r = [];
+        var _flatten = function(r, l) {
+            AJS.map(l, function(o) {
+                if(o == null) {}
+                else if (AJS.isArray(o))
+                    _flatten(r, o);
+                else
+                    r.push(o);
+            });
+        }
+        _flatten(r, list);
+        return r;
+    },
+
+
+////
+// Functional programming
+////
+    map: function(list, fn,/*optional*/ start_index, end_index) {
+        var i = 0, l = list.length;
+        if(start_index)
+             i = start_index;
+        if(end_index)
+             l = end_index;
+        for(i; i < l; i++)
+            fn.apply(null, [list[i], i]);
+    },
+
+    rmap: function(list, fn) {
+        var i = list.length-1, l = 0;
+        for(i; i >= l; i--)
+            fn.apply(null, [list[i], i]);
+    },
+
+    filter: function(list, fn, /*optional*/ start_index, end_index) {
+        var r = [];
+        AJS.map(list, function(elm) {
+            if(fn(elm))
+                r.push(elm);
+        }, start_index, end_index);
+        return r;
+    },
+
+    partial: function(fn) {
+        var args = AJS.forceArray(arguments);
+        return AJS.$b(fn, null, args.slice(1, args.length).reverse(), false, true);
+    },
+
+
+////
+// DOM functions
+////
+    //Shortcut: AJS.$
+    getElement: function(id) {
+        if(AJS.isString(id) || AJS.isNumber(id))
+            return document.getElementById(id);
+        else
+            return id;
+    },
+
+    //Shortcut: AJS.$$
+    getElements: function(/*id1, id2, id3*/) {
+        var args = AJS.forceArray(arguments);
+        var elements = new Array();
+            for (var i = 0; i < args.length; i++) {
+                var element = AJS.getElement(args[i]);
+                elements.push(element);
+            }
+            return elements;
+    },
+
+    //Shortcut: AJS.$bytc
+    getElementsByTagAndClassName: function(tag_name, class_name, /*optional*/ parent) {
+        var class_elements = [];
+        if(!AJS.isDefined(parent))
+            parent = document;
+        if(!AJS.isDefined(tag_name))
+            tag_name = '*';
+
+        var els = parent.getElementsByTagName(tag_name);
+        var els_len = els.length;
+        var pattern = new RegExp("(^|\\s)" + class_name + "(\\s|$)");
+
+        for (i = 0, j = 0; i < els_len; i++) {
+            if ( pattern.test(els[i].className) || class_name == null ) {
+                class_elements[j] = els[i];
+                j++;
+            }
+        }
+        return class_elements;
+    },
+
+    _nodeWalk: function(elm, tag_name, class_name, fn_next_elm) {
+        var p = fn_next_elm(elm);
+
+        var checkFn;
+        if(tag_name && class_name) {
+            checkFn = function(p) {
+                return AJS.nodeName(p) == tag_name && AJS.hasClass(p, class_name);
+            }
+        }
+        else if(tag_name) {
+            checkFn = function(p) { return AJS.nodeName(p) == tag_name; }
+        }
+        else {
+            checkFn = function(p) { return AJS.hasClass(p, class_name); }
+        }
+
+        while(p) {
+            if(checkFn(p))
+                return p;
+            p = fn_next_elm(p);
+        }
+        return null;
+    },
+
+    getParentBytc: function(elm, tag_name, class_name) {
+        return AJS._nodeWalk(elm, tag_name, class_name, function(m) { return m.parentNode; });
+    },
+
+    getPreviousSiblingBytc: function(elm, tag_name, class_name) {
+        return AJS._nodeWalk(elm, tag_name, class_name, function(m) { return m.previousSibling; });
+    },
+
+    getNextSiblingBytc: function(elm, tag_name, class_name) {
+        return AJS._nodeWalk(elm, tag_name, class_name, function(m) { return m.nextSibling; });
+    },
+
+    //Shortcut: AJS.$f
+    getFormElement: function(form, name) {
+        form = AJS.$(form);
+        var r = null;
+        AJS.map(form.elements, function(elm) {
+            if(elm.name && elm.name == name)
+                r = elm;
+        });
+        return r;
+    },
+
+    formContents: function(form) {
+        var form = AJS.$(form);
+        var r = {};
+        var fn = function(elms) {
+            AJS.map(elms, function(e) {
+                if(e.name)
+                    r[e.name] = e.value || '';
+            });
+        }
+        fn(AJS.$bytc('input', null, form));
+        fn(AJS.$bytc('textarea', null, form));
+        return r;
+    },
+
+    getBody: function() {
+        return AJS.$bytc('body')[0]
+    },
+
+    nodeName: function(elm) {
+        return elm.nodeName.toLowerCase();
+    },
+
+    hasParent: function(elm, parent_to_consider, max_look_up) {
+        if(elm == parent_to_consider)
+            return true;
+        if(max_look_up == 0)
+            return false;
+        return AJS.hasParent(elm.parentNode, parent_to_consider, max_look_up-1);
+    },
+
+    isElementHidden: function(elm) {
+        return elm.style.visibility == "hidden";
+    },
+
+    //Shortcut: AJS.DI
+    documentInsert: function(elm) {
+        if(typeof(elm) == 'string')
+            elm = AJS.HTML2DOM(elm);
+        document.write('<span id="dummy_holder"></span>');
+        AJS.swapDOM(AJS.$('dummy_holder'), elm);
+    },
+
+    cloner: function(element) {
+        return function() {
+            return element.cloneNode(true);
+        }
+    },
+
+    appendToTop: function(elm/*, elms...*/) {
+        var args = AJS.forceArray(arguments).slice(1);
+        if(args.length >= 1) {
+            var first_child = elm.firstChild;
+            if(first_child) {
+                while(true) {
+                    var t_elm = args.shift();
+                    if(t_elm)
+                        AJS.insertBefore(t_elm, first_child);
+                    else
+                        break;
+                }
+            }
+            else {
+                AJS.ACN.apply(null, arguments);
+            }
+        }
+        return elm;
+    },
+
+    //Shortcut: AJS.ACN
+    appendChildNodes: function(elm/*, elms...*/) {
+        if(arguments.length >= 2) {
+            AJS.map(arguments, function(n) {
+                if(AJS.isString(n))
+                    n = AJS.TN(n);
+                if(AJS.isDefined(n))
+                    elm.appendChild(n);
+            }, 1);
+        }
+        return elm;
+    },
+
+    //Shortcut: AJS.RCN
+    replaceChildNodes: function(elm/*, elms...*/) {
+        var child;
+        while ((child = elm.firstChild))
+            elm.removeChild(child);
+        if (arguments.length < 2)
+            return elm;
+        else
+            return AJS.appendChildNodes.apply(null, arguments);
+        return elm;
+    },
+
+    insertAfter: function(elm, reference_elm) {
+        reference_elm.parentNode.insertBefore(elm, reference_elm.nextSibling);
+        return elm;
+    },
+
+    insertBefore: function(elm, reference_elm) {
+        reference_elm.parentNode.insertBefore(elm, reference_elm);
+        return elm;
+    },
+
+    showElement: function(/*elms...*/) {
+        var args = AJS.forceArray(arguments);
+        AJS.map(args, function(elm) { elm.style.display = ''});
+    },
+
+    hideElement: function(elm) {
+        var args = AJS.forceArray(arguments);
+        AJS.map(args, function(elm) { elm.style.display = 'none'});
+    },
+
+    swapDOM: function(dest, src) {
+        dest = AJS.getElement(dest);
+        var parent = dest.parentNode;
+        if (src) {
+            src = AJS.getElement(src);
+            parent.replaceChild(src, dest);
+        } else {
+            parent.removeChild(dest);
+        }
+        return src;
+    },
+
+    removeElement: function(/*elm1, elm2...*/) {
+        var args = AJS.forceArray(arguments);
+        AJS.map(args, function(elm) { AJS.swapDOM(elm, null); });
+    },
+
+    createDOM: function(name, attrs) {
+        var i=0, attr;
+        elm = document.createElement(name);
+
+        if(AJS.isDict(attrs[i])) {
+            for(k in attrs[0]) {
+                attr = attrs[0][k];
+                if(k == "style")
+                    elm.style.cssText = attr;
+                else if(k == "class" || k == 'className')
+                    elm.className = attr;
+                else {
+                    elm.setAttribute(k, attr);
+                }
+            }
+            i++;
+        }
+
+        if(attrs[0] == null)
+            i = 1;
+
+        AJS.map(attrs, function(n) {
+            if(n) {
+                if(AJS.isString(n) || AJS.isNumber(n))
+                    n = AJS.TN(n);
+                elm.appendChild(n);
+            }
+        }, i);
+        return elm;
+    },
+
+    _createDomShortcuts: function() {
+        var elms = [
+                "ul", "li", "td", "tr", "th",
+                "tbody", "table", "input", "span", "b",
+                "a", "div", "img", "button", "h1",
+                "h2", "h3", "br", "textarea", "form",
+                "p", "select", "option", "iframe", "script",
+                "center", "dl", "dt", "dd", "small",
+                "pre"
+        ];
+        var extends_ajs = function(elm) {
+            var c_dom = "return AJS.createDOM.apply(null, ['" + elm + "', arguments]);";
+            var c_fun_dom = 'function() { ' + c_dom + '    }';
+            eval("AJS." + elm.toUpperCase() + "=" + c_fun_dom);
+        }
+        AJS.map(elms, extends_ajs);
+        AJS.TN = function(text) { return document.createTextNode(text) };
+    },
+
+    getCssDim: function(dim) {
+        if(AJS.isString(dim))
+            return dim;
+        else
+            return dim + "px";
+    },
+    getCssProperty: function(elm, prop) {
+        elm = AJS.$(elm);
+        var y;
+        if(elm.currentStyle)
+            y = elm.currentStyle[prop];
+     else if (window.getComputedStyle)
+            y = document.defaultView.getComputedStyle(elm,null).getPropertyValue(prop);
+      return y;
+    },
+
+    setStyle: function(/*elm1, elm2..., property, new_value*/) {
+        var args = AJS.forceArray(arguments);
+        var new_val = args.pop();
+        var property = args.pop();
+        AJS.map(args, function(elm) {
+            elm.style[property] = AJS.getCssDim(new_val);
+        });
+    },
+
+    setWidth: function(/*elm1, elm2..., width*/) {
+        var args = AJS.forceArray(arguments);
+        args.splice(args.length-1, 0, 'width');
+        AJS.setStyle.apply(null, args);
+    },
+    setHeight: function(/*elm1, elm2..., height*/) {
+        var args = AJS.forceArray(arguments);
+        args.splice(args.length-1, 0, 'height');
+        AJS.setStyle.apply(null, args);
+    },
+    setLeft: function(/*elm1, elm2..., left*/) {
+        var args = AJS.forceArray(arguments);
+        args.splice(args.length-1, 0, 'left');
+        AJS.setStyle.apply(null, args);
+    },
+    setTop: function(/*elm1, elm2..., top*/) {
+        var args = AJS.forceArray(arguments);
+        args.splice(args.length-1, 0, 'top');
+        AJS.setStyle.apply(null, args);
+    },
+    setClass: function(/*elm1, elm2..., className*/) {
+        var args = AJS.forceArray(arguments);
+        var c = args.pop();
+        AJS.map(args, function(elm) { elm.className = c});
+    },
+    addClass: function(/*elm1, elm2..., className*/) {
+        var args = AJS.forceArray(arguments);
+        var cls = args.pop();
+        var add_class = function(o) {
+            if(!new RegExp("(^|\\s)" + cls + "(\\s|$)").test(o.className))
+                o.className += (o.className ? " " : "") + cls;
+        };
+        AJS.map(args, function(elm) { add_class(elm); });
+    },
+    hasClass: function(elm, cls) {
+        if(!elm.className)
+            return false;
+        return elm.className == cls ||
+               elm.className.search(new RegExp(" " + cls)) != -1
+    },
+    removeClass: function(/*elm1, elm2..., className*/) {
+        var args = AJS.forceArray(arguments);
+        var cls = args.pop();
+        var rm_class = function(o) {
+            o.className = o.className.replace(new RegExp("\\s?" + cls, 'g'), "");
+        };
+        AJS.map(args, function(elm) { rm_class(elm); });
+    },
+
+    setHTML: function(elm, html) {
+        elm.innerHTML = html;
+        return elm;
+    },
+
+    RND: function(tmpl, ns, scope) {
+        scope = scope || window;
+        var fn = function(w, g) {
+            g = g.split("|");
+            var cnt = ns[g[0]];
+            for(var i=1; i < g.length; i++)
+                cnt = scope[g[i]](cnt);
+            if(cnt == '')
+                return '';
+            if(cnt == 0 || cnt == -1)
+                cnt += '';
+            return cnt || w;
+        };
+        return tmpl.replace(/%\(([A-Za-z0-9_|.]*)\)/g, fn);
+    },
+
+    HTML2DOM: function(html,/*optional*/ first_child) {
+        var d = AJS.DIV();
+        d.innerHTML = html;
+        if(first_child)
+            return d.childNodes[0];
+        else
+            return d;
+    },
+
+    preloadImages: function(/*img_src1, ..., img_srcN*/) {
+        AJS.AEV(window, 'load', AJS.$p(function(args) {
+            AJS.map(args, function(src) {
+                var pic = new Image();
+                pic.src = src;
+            });
+        }, arguments));
+    },
+
+
+////
+// Effects
+////
+    setOpacity: function(elm, p) {
+        elm.style.opacity = p;
+        elm.style.filter = "alpha(opacity="+ p*100 +")";
+    },
+
+
+////
+// Ajax functions
+////
+    getXMLHttpRequest: function() {
+        var try_these = [
+            function () { return new XMLHttpRequest(); },
+            function () { return new ActiveXObject('Msxml2.XMLHTTP'); },
+            function () { return new ActiveXObject('Microsoft.XMLHTTP'); },
+            function () { return new ActiveXObject('Msxml2.XMLHTTP.4.0'); },
+            function () { throw "Browser does not support XMLHttpRequest"; }
+        ];
+        for (var i = 0; i < try_these.length; i++) {
+            var func = try_these[i];
+            try {
+                return func();
+            } catch (e) {
+            }
+        }
+    },
+
+    getRequest: function(url, data, type) {
+        if(!type)
+            type = "POST";
+        var req = AJS.getXMLHttpRequest();
+
+        if(url.indexOf("http://") == -1) {
+            if(AJS.BASE_URL != '') {
+                if(AJS.BASE_URL.lastIndexOf('/') != AJS.BASE_URL.length-1)
+                    AJS.BASE_URL += '/';
+                url = AJS.BASE_URL + url;
+            }
+            else
+                url = window.location + url;
+        }
+
+        req.open(type, url, true);
+        if(type == "POST")
+            req.setRequestHeader("Content-type", "application/x-www-form-urlencoded");
+        return AJS._sendXMLHttpRequest(req);
+    },
+
+    _sendXMLHttpRequest: function(req, data) {
+        var d = new AJSDeferred(req);
+
+        var onreadystatechange = function () {
+            if (req.readyState == 4) {
+                var status = '';
+                try {
+                    status = req.status;
+                }
+                catch(e) {};
+                if(status == 200 || status == 304 || req.responseText == null) {
+                    d.callback();
+                }
+                else {
+                    if(AJS.ajaxErrorHandler)
+                        AJS.ajaxErrorHandler(req.responseText, req);
+                    else
+                        d.errback();
+                }
+            }
+        }
+        req.onreadystatechange = onreadystatechange;
+        return d;
+    },
+
+    _reprString: function(o) {
+        return ('"' + o.replace(/(["\\])/g, '\\$1') + '"'
+        ).replace(/[\f]/g, "\\f"
+        ).replace(/[\b]/g, "\\b"
+        ).replace(/[\n]/g, "\\n"
+        ).replace(/[\t]/g, "\\t"
+        ).replace(/[\r]/g, "\\r");
+    },
+
+    serializeJSON: function(o) {
+        var objtype = typeof(o);
+        if (objtype == "undefined") {
+            return "undefined";
+        } else if (objtype == "number" || objtype == "boolean") {
+            return o + "";
+        } else if (o === null) {
+            return "null";
+        }
+        if (objtype == "string") {
+            return AJS._reprString(o);
+        }
+        var me = arguments.callee;
+        if (objtype != "function" && typeof(o.length) == "number") {
+            var res = [];
+            for (var i = 0; i < o.length; i++) {
+                var val = me(o[i]);
+                if (typeof(val) != "string") {
+                    val = "undefined";
+                }
+                res.push(val);
+            }
+            return "[" + res.join(",") + "]";
+        }
+        // it's a function with no adapter, bad
+        if (objtype == "function")
+            return null;
+        res = [];
+        for (var k in o) {
+            var useKey;
+            if (typeof(k) == "number") {
+                useKey = '"' + k + '"';
+            } else if (typeof(k) == "string") {
+                useKey = AJS._reprString(k);
+            } else {
+                // skip non-string or number keys
+                continue;
+            }
+            val = me(o[k]);
+            if (typeof(val) != "string") {
+                // skip non-serializable values
+                continue;
+            }
+            res.push(useKey + ":" + val);
+        }
+        return "{" + res.join(",") + "}";
+    },
+
+    loadJSONDoc: function(url) {
+        var d = AJS.getRequest(url);
+        var eval_req = function(data, req) {
+            var text = req.responseText;
+            if(text == "Error")
+                d.errback(req);
+            else
+                return AJS.evalTxt(text);
+        };
+        d.addCallback(eval_req);
+        return d;
+    },
+
+    evalTxt: function(txt) {
+        try {
+            return eval('('+ txt + ')');
+        }
+        catch(e) {
+            return eval(txt);
+        }
+    },
+
+    evalScriptTags: function(html) {
+        var script_data = html.match(/<script.*?>((\n|\r|.)*?)<\/script>/g);
+        if(script_data != null) {
+            for(var i=0; i < script_data.length; i++) {
+                var script_only = script_data[i].replace(/<script.*?>/g, "");
+                script_only = script_only.replace(/<\/script>/g, "");
+                eval(script_only);
+            }
+        }
+    },
+
+    queryArguments: function(data) {
+        var post_data = [];
+        for(k in data)
+            post_data.push(k + "=" + AJS.urlencode(data[k]));
+        return post_data.join("&");
+    },
+
+
+////
+// Position and size
+////
+    getMousePos: function(e) {
+        var posx = 0;
+        var posy = 0;
+        if (!e) var e = window.event;
+        if (e.pageX || e.pageY)
+        {
+            posx = e.pageX;
+            posy = e.pageY;
+        }
+        else if (e.clientX || e.clientY)
+        {
+            posx = e.clientX + document.body.scrollLeft;
+            posy = e.clientY + document.body.scrollTop;
+        }
+        return {x: posx, y: posy};
+    },
+
+    getScrollTop: function() {
+        //From: http://www.quirksmode.org/js/doctypes.html
+        var t;
+        if (document.documentElement && document.documentElement.scrollTop)
+                t = document.documentElement.scrollTop;
+        else if (document.body)
+                t = document.body.scrollTop;
+        return t;
+    },
+
+    absolutePosition: function(elm) {
+        var posObj = {'x': elm.offsetLeft, 'y': elm.offsetTop};
+        if(elm.offsetParent) {
+            var temp_pos = AJS.absolutePosition(elm.offsetParent);
+            posObj.x += temp_pos.x;
+            posObj.y += temp_pos.y;
+        }
+        // safari bug
+        if (AJS.isSafari() && elm.style.position == 'absolute' ) {
+            posObj.x -= document.body.offsetLeft;
+            posObj.y -= document.body.offsetTop;
+        }
+        return posObj;
+    },
+
+    getWindowSize: function(doc) {
+        doc = doc || document;
+        var win_w, win_h;
+        if (self.innerHeight) {
+            win_w = self.innerWidth;
+            win_h = self.innerHeight;
+        } else if (doc.documentElement && doc.documentElement.clientHeight) {
+            win_w = doc.documentElement.clientWidth;
+            win_h = doc.documentElement.clientHeight;
+        } else if (doc.body) {
+            win_w = doc.body.clientWidth;
+            win_h = doc.body.clientHeight;
+        }
+        return {'w': win_w, 'h': win_h};
+    },
+
+    isOverlapping: function(elm1, elm2) {
+        var pos_elm1 = AJS.absolutePosition(elm1);
+        var pos_elm2 = AJS.absolutePosition(elm2);
+
+        var top1 = pos_elm1.y;
+        var left1 = pos_elm1.x;
+        var right1 = left1 + elm1.offsetWidth;
+        var bottom1 = top1 + elm1.offsetHeight;
+        var top2 = pos_elm2.y;
+        var left2 = pos_elm2.x;
+        var right2 = left2 + elm2.offsetWidth;
+        var bottom2 = top2 + elm2.offsetHeight;
+        var getSign = function(v) {
+            if(v > 0) return "+";
+            else if(v < 0) return "-";
+            else return 0;
+        }
+
+        if ((getSign(top1 - bottom2) != getSign(bottom1 - top2)) &&
+                (getSign(left1 - right2) != getSign(right1 - left2)))
+            return true;
+        return false;
+    },
+
+
+////
+// Events
+////
+    getEventElm: function(e) {
+        if(e && !e.type && !e.keyCode)
+            return e
+        var targ;
+        if (!e) var e = window.event;
+        if (e.target) targ = e.target;
+        else if (e.srcElement) targ = e.srcElement;
+        if (targ.nodeType == 3) // defeat Safari bug
+            targ = targ.parentNode;
+        return targ;
+    },
+
+    _getRealScope: function(fn, /*optional*/ extra_args, dont_send_event, rev_extra_args) {
+        var scope = window;
+        extra_args = AJS.$A(extra_args);
+        if(fn._cscope)
+            scope = fn._cscope;
+
+        return function() {
+            //Append all the orginal arguments + extra_args
+            var args = [];
+            var i = 0;
+            if(dont_send_event)
+                i = 1;
+
+            AJS.map(arguments, function(arg) { args.push(arg) }, i);
+            args = args.concat(extra_args);
+            if(rev_extra_args)
+                args = args.reverse();
+            return fn.apply(scope, args);
+        };
+    },
+
+    _unloadListeners: function() {
+        if(AJS.listeners)
+            AJS.map(AJS.listeners, function(elm, type, fn) { AJS.REV(elm, type, fn) });
+        AJS.listeners = [];
+    },
+
+    setEventKey: function(e) {
+        e.key = e.keyCode ? e.keyCode : e.charCode;
+
+        if(window.event) {
+            e.ctrl = window.event.ctrlKey;
+            e.shift = window.event.shiftKey;
+        }
+        else {
+            e.ctrl = e.ctrlKey;
+            e.shift = e.shiftKey;
+        }
+        switch(e.key) {
+            case 63232:
+                e.key = 38;
+                break;
+            case 63233:
+                e.key = 40;
+                break;
+            case 63235:
+                e.key = 39;
+                break;
+            case 63234:
+                e.key = 37;
+                break;
+        }
+    },
+
+    //Shortcut: AJS.AEV
+    addEventListener: function(elm, type, fn, /*optional*/listen_once, cancle_bubble) {
+        if(!cancle_bubble)
+            cancle_bubble = false;
+
+        var elms = AJS.$A(elm);
+        AJS.map(elms, function(elmz) {
+            if(listen_once)
+                fn = AJS._listenOnce(elmz, type, fn);
+
+            //Hack since it does not work in all browsers
+            if(AJS.isIn(type, ['submit', 'load', 'scroll', 'resize'])) {
+                var old = elm['on' + type];
+                elm['on' + type] = function() {
+                    if(old) {
+                        fn(arguments);
+                        return old(arguments);
+                    }
+                    else
+                        return fn(arguments);
+                };
+                return;
+            }
+
+            //Fix keyCode
+            if(AJS.isIn(type, ['keypress', 'keydown', 'keyup', 'click'])) {
+                var old_fn = fn;
+                fn = function(e) {
+                    AJS.setEventKey(e);
+                    return old_fn.apply(null, arguments);
+                }
+            }
+
+            if (elmz.attachEvent) {
+                //FIXME: We ignore cancle_bubble for IE... could be a problem?
+                elmz.attachEvent("on" + type, fn);
+            }
+            else if(elmz.addEventListener)
+                elmz.addEventListener(type, fn, cancle_bubble);
+
+            AJS.listeners = AJS.$A(AJS.listeners);
+            AJS.listeners.push([elmz, type, fn]);
+        });
+    },
+
+    //Shortcut: AJS.REV
+    removeEventListener: function(elm, type, fn, /*optional*/cancle_bubble) {
+        if(!cancle_bubble)
+            cancle_bubble = false;
+        if(elm.removeEventListener) {
+            elm.removeEventListener(type, fn, cancle_bubble);
+            if(AJS.isOpera())
+                elm.removeEventListener(type, fn, !cancle_bubble);
+        }
+        else if(elm.detachEvent)
+            elm.detachEvent("on" + type, fn);
+    },
+
+    //Shortcut: AJS.$b
+    bind: function(fn, scope, /*optional*/ extra_args, dont_send_event, rev_extra_args) {
+        fn._cscope = scope;
+        return AJS._getRealScope(fn, extra_args, dont_send_event, rev_extra_args);
+    },
+
+    bindMethods: function(self) {
+        for (var k in self) {
+            var func = self[k];
+            if (typeof(func) == 'function') {
+                self[k] = AJS.$b(func, self);
+            }
+        }
+    },
+
+    _listenOnce: function(elm, type, fn) {
+        var r_fn = function() {
+            AJS.removeEventListener(elm, type, r_fn);
+            fn(arguments);
+        }
+        return r_fn;
+    },
+
+    callLater: function(fn, interval) {
+        var fn_no_send = function() {
+            fn();
+        };
+        window.setTimeout(fn_no_send, interval);
+    },
+
+    preventDefault: function(e) {
+        if(AJS.isIe())
+            window.event.returnValue = false;
+        else
+            e.preventDefault();
+    },
+
+
+////
+// Drag and drop
+////
+    dragAble: function(elm, /*optional*/ handler, args) {
+        if(!args)
+            args = {};
+        if(!AJS.isDefined(args['move_x']))
+            args['move_x'] = true;
+        if(!AJS.isDefined(args['move_y']))
+            args['move_y'] = true;
+        if(!AJS.isDefined(args['moveable']))
+            args['moveable'] = false;
+        if(!AJS.isDefined(args['hide_on_move']))
+            args['hide_on_move'] = true;
+        if(!AJS.isDefined(args['on_mouse_up']))
+            args['on_mouse_up'] = null;
+        if(!AJS.isDefined(args['cursor']))
+            args['cursor'] = 'move';
+        if(!AJS.isDefined(args['max_move']))
+            args['max_move'] = {'top': null, 'left': null};
+
+        elm = AJS.$(elm);
+
+        if(!handler)
+            handler = elm;
+
+        handler = AJS.$(handler);
+        var old_cursor = handler.style.cursor;
+        handler.style.cursor = args['cursor'];
+        elm.style.position = 'relative';
+
+        AJS.addClass(handler, '_ajs_handler');
+        handler._args = args;
+        handler._elm = elm;
+        AJS.AEV(handler, 'mousedown', AJS._dragStart);
+    },
+
+    _dragStart: function(e) {
+        var handler = AJS.getEventElm(e);
+        if(!AJS.hasClass(handler, '_ajs_handler')) {
+            handler = AJS.getParentBytc(handler, null, '_ajs_handler');
+        }
+        if(handler)
+            AJS._dragInit(e, handler._elm, handler._args);
+    },
+
+    dropZone: function(elm, args) {
+        elm = AJS.$(elm);
+        var item = {elm: elm};
+        AJS.update(item, args);
+        AJS._drop_zones.push(item);
+    },
+
+    removeDragAble: function(elm) {
+        AJS.REV(elm, 'mousedown', AJS._dragStart);
+        elm.style.cursor = '';
+    },
+
+    removeDropZone: function(elm) {
+        var i = AJS.getIndex(elm, AJS._drop_zones, function(item) {
+            if(item.elm == elm) return true;
+        });
+        if(i != -1) {
+            AJS._drop_zones.splice(i, 1);
+        }
+    },
+
+    _dragInit: function(e, click_elm, args) {
+        AJS.drag_obj = new Object();
+        AJS.drag_obj.args = args;
+
+        AJS.drag_obj.click_elm = click_elm;
+        AJS.drag_obj.mouse_pos = AJS.getMousePos(e);
+        AJS.drag_obj.click_elm_pos = AJS.absolutePosition(click_elm);
+
+        AJS.AEV(document, 'mousemove', AJS._dragMove, false, true);
+        AJS.AEV(document, 'mouseup', AJS._dragStop, false, true);
+
+        if (AJS.isIe())
+            window.event.cancelBubble = true;
+        AJS.preventDefault(e);
+    },
+
+    _initDragElm: function(elm) {
+        if(AJS.drag_elm && AJS.drag_elm.style.display == 'none')
+            AJS.removeElement(AJS.drag_elm);
+
+        if(!AJS.drag_elm) {
+            AJS.drag_elm = AJS.DIV();
+            var d = AJS.drag_elm;
+            AJS.insertBefore(d, AJS.getBody().firstChild);
+            AJS.setHTML(d, elm.innerHTML);
+
+            d.className = elm.className;
+            d.style.cssText = elm.style.cssText;
+
+            d.style.position = 'absolute';
+            d.style.zIndex = 10000;
+
+            var t = AJS.absolutePosition(elm);
+            AJS.setTop(d, t.y);
+            AJS.setLeft(d, t.x);
+
+            if(AJS.drag_obj.args.on_init) {
+                AJS.drag_obj.args.on_init(elm);
+            }
+        }
+    },
+
+    _dragMove: function(e) {
+        var drag_obj = AJS.drag_obj;
+        var click_elm = drag_obj.click_elm;
+
+        AJS._initDragElm(click_elm);
+        var drag_elm = AJS.drag_elm;
+
+        if(drag_obj.args['hide_on_move'])
+            click_elm.style.visibility = 'hidden';
+
+        var cur_pos = AJS.getMousePos(e);
+
+        var mouse_pos = drag_obj.mouse_pos;
+
+        var click_elm_pos = drag_obj.click_elm_pos;
+
+        AJS.map(AJS._drop_zones, function(d_z) {
+            if(AJS.isOverlapping(d_z['elm'], drag_elm)) {
+                if(d_z['elm'] != drag_elm) {
+                    var on_hover = d_z['on_hover'];
+                    if(on_hover)
+                        on_hover(d_z['elm'], click_elm, drag_elm);
+                }
+            }
+        });
+
+        if(drag_obj.args['on_drag'])
+            drag_obj.args['on_drag'](click_elm, e);
+
+        var max_move_top = drag_obj.args['max_move']['top'];
+        var max_move_left = drag_obj.args['max_move']['left'];
+        var p;
+        if(drag_obj.args['move_x']) {
+            p = cur_pos.x - (mouse_pos.x - click_elm_pos.x);
+            if(max_move_left == null || max_move_left <= p)
+                AJS.setLeft(elm, p);
+        }
+
+        if(drag_obj.args['move_y']) {
+            p = cur_pos.y - (mouse_pos.y - click_elm_pos.y);
+            if(max_move_top == null || max_move_top <= p)
+                AJS.setTop(elm, p);
+        }
+        if(AJS.isIe()) {
+            window.event.cancelBubble = true;
+            window.event.returnValue = false;
+        }
+        else
+            e.preventDefault();
+    },
+
+    _dragStop: function(e) {
+        var drag_obj = AJS.drag_obj;
+        var drag_elm = AJS.drag_elm;
+        var click_elm = drag_obj.click_elm;
+
+        AJS.REV(document, "mousemove", AJS._dragMove, true);
+        AJS.REV(document, "mouseup", AJS._dragStop, true);
+
+        var dropped = false;
+        AJS.map(AJS._drop_zones, function(d_z) {
+            if(AJS.isOverlapping(d_z['elm'], click_elm)) {
+                if(d_z['elm'] != click_elm) {
+                    var on_drop = d_z['on_drop'];
+                    if(on_drop) {
+                        dropped = true;
+                        on_drop(d_z['elm'], click_elm);
+                    }
+                }
+            }
+        });
+
+        if(drag_obj.args['moveable']) {
+            var t = parseInt(click_elm.style.top) || 0;
+            var l = parseInt(click_elm.style.left) || 0;
+            var drag_elm_xy = AJS.absolutePosition(drag_elm);
+            var click_elm_xy = AJS.absolutePosition(click_elm);
+            AJS.setTop(click_elm, t + drag_elm_xy.y - click_elm_xy.y);
+            AJS.setLeft(click_elm, l + drag_elm_xy.x - click_elm_xy.x);
+        }
+
+        if(!dropped && drag_obj.args['on_mouse_up'])
+            drag_obj.args['on_mouse_up'](click_elm, e);
+
+        if(drag_obj.args['hide_on_move'])
+            drag_obj.click_elm.style.visibility = 'visible';
+
+        if(drag_obj.args.on_end) {
+            drag_obj.args.on_end(click_elm);
+        }
+
+        AJS._dragObj = null;
+        if(drag_elm)
+            AJS.hideElement(drag_elm);
+        AJS.drag_elm = null;
+    },
+
+
+////
+// Misc.
+////
+    keys: function(obj) {
+        var rval = [];
+        for (var prop in obj) {
+            rval.push(prop);
+        }
+        return rval;
+    },
+
+    values: function(obj) {
+        var rval = [];
+        for (var prop in obj) {
+            rval.push(obj[prop]);
+        }
+        return rval;
+    },
+
+    urlencode: function(str) {
+        return encodeURIComponent(str.toString());
+    },
+
+    isDefined: function(o) {
+        return (o != "undefined" && o != null)
+    },
+
+    isArray: function(obj) {
+        return obj instanceof Array;
+    },
+
+    isString: function(obj) {
+        return (typeof obj == 'string');
+    },
+
+    isNumber: function(obj) {
+        return (typeof obj == 'number');
+    },
+
+    isObject: function(obj) {
+        return (typeof obj == 'object');
+    },
+
+    isFunction: function(obj) {
+        return (typeof obj == 'function');
+    },
+
+    isDict: function(o) {
+        var str_repr = String(o);
+        return str_repr.indexOf(" Object") != -1;
+    },
+
+    exportToGlobalScope: function() {
+        for(e in AJS)
+            eval(e + " = AJS." + e);
+    },
+
+    log: function(o) {
+        if(AJS.isMozilla())
+            console.log(o);
+        else {
+            var div = AJS.DIV({'style': 'color: green'});
+            AJS.ACN(AJS.getBody(), AJS.setHTML(div, ''+o));
+        }
+    }
+
+}
+
+AJS.Class = function(members) {
+    var fn = function() {
+        if(arguments[0] != 'no_init') {
+            return this.init.apply(this, arguments);
+        }
+    }
+    fn.prototype = members;
+    AJS.update(fn, AJS.Class.prototype);
+    return fn;
+}
+AJS.Class.prototype = {
+    extend: function(members) {
+        var parent = new this('no_init');
+        for(k in members) {
+            var prev = parent[k];
+            var cur = members[k];
+            if (prev && prev != cur && typeof cur == 'function') {
+                cur = this._parentize(cur, prev);
+            }
+            parent[k] = cur;
+        }
+        return new AJS.Class(parent);
+    },
+
+    implement: function(members) {
+        AJS.update(this.prototype, members);
+    },
+
+    _parentize: function(cur, prev) {
+        return function(){
+            this.parent = prev;
+            return cur.apply(this, arguments);
+        }
+    }
+};
+
+//Shortcuts
+AJS.$ = AJS.getElement;
+AJS.$$ = AJS.getElements;
+AJS.$f = AJS.getFormElement;
+AJS.$b = AJS.bind;
+AJS.$p = AJS.partial;
+AJS.$FA = AJS.forceArray;
+AJS.$A = AJS.createArray;
+AJS.DI = AJS.documentInsert;
+AJS.ACN = AJS.appendChildNodes;
+AJS.RCN = AJS.replaceChildNodes;
+AJS.AEV = AJS.addEventListener;
+AJS.REV = AJS.removeEventListener;
+AJS.$bytc = AJS.getElementsByTagAndClassName;
+
+AJSDeferred = function(req) {
+    this.callbacks = [];
+    this.errbacks = [];
+    this.req = req;
+}
+AJSDeferred.prototype = {
+    excCallbackSeq: function(req, list) {
+        var data = req.responseText;
+        while (list.length > 0) {
+            var fn = list.pop();
+            var new_data = fn(data, req);
+            if(new_data)
+                data = new_data;
+        }
+    },
+
+    callback: function () {
+        this.excCallbackSeq(this.req, this.callbacks);
+    },
+
+    errback: function() {
+        if(this.errbacks.length == 0)
+            alert("Error encountered:\n" + this.req.responseText);
+
+        this.excCallbackSeq(this.req, this.errbacks);
+    },
+
+    addErrback: function(fn) {
+        this.errbacks.unshift(fn);
+    },
+
+    addCallback: function(fn) {
+        this.callbacks.unshift(fn);
+    },
+
+    addCallbacks: function(fn1, fn2) {
+        this.addCallback(fn1);
+        this.addErrback(fn2);
+    },
+
+    sendReq: function(data) {
+        if(AJS.isObject(data)) {
+            this.req.send(AJS.queryArguments(data));
+        }
+        else if(AJS.isDefined(data))
+            this.req.send(data);
+        else {
+            this.req.send("");
+        }
+    }
+};
+
+//Prevent memory-leaks
+AJS.addEventListener(window, 'unload', AJS._unloadListeners);
+AJS._createDomShortcuts()
+}
+
+script_loaded = true;
diff --git a/koha-tmpl/opac-tmpl/ccsr/en/lib/greybox/GreyBox_v5_5/greybox_source/base/AJS_fx.js b/koha-tmpl/opac-tmpl/ccsr/en/lib/greybox/GreyBox_v5_5/greybox_source/base/AJS_fx.js
new file mode 100644 (file)
index 0000000..df6e27d
--- /dev/null
@@ -0,0 +1,194 @@
+/*
+Last Modified: 25/12/06 18:26:30
+
+AJS effects
+    A very small library with a lot of functionality
+AUTHOR
+    4mir Salihefendic (http://amix.dk) - amix@amix.dk
+LICENSE
+    Copyright (c) 2006 Amir Salihefendic. All rights reserved.
+    Copyright (c) 2005 Bob Ippolito. All rights reserved.
+    Copyright (c) 2006 Valerio Proietti, http://www.mad4milk.net
+    http://www.opensource.org/licenses/mit-license.php
+VERSION
+    3.6
+SITE
+    http://orangoo.com/AmiNation/AJS
+**/
+AJS.fx = {
+    _shades: {0: 'ffffff', 1: 'ffffee', 2: 'ffffdd',
+              3: 'ffffcc', 4: 'ffffbb', 5: 'ffffaa',
+              6: 'ffff99'},
+
+    highlight: function(elm, options) {
+        var base = new AJS.fx.Base();
+        base.elm = AJS.$(elm);
+        base.setOptions(options);
+        base.options.duration = 600;
+
+        AJS.update(base, {
+            increase: function(){
+                if(this.now == 7)
+                    elm.style.backgroundColor = 'transparent';
+                else
+                    elm.style.backgroundColor = '#' + AJS.fx._shades[Math.floor(this.now)];
+            }
+        });
+        return base.custom(6, 0);
+    },
+
+    fadeIn: function(elm, options) {
+        options = options || {};
+        if(!options.from) {
+            options.from = 0;
+            AJS.setOpacity(elm, 0);
+        }
+        if(!options.to) options.to = 1;
+        var s = new AJS.fx.Style(elm, 'opacity', options);
+        return s.custom(options.from, options.to);
+    },
+
+    fadeOut: function(elm, options) {
+        options = options || {};
+        if(!options.from) options.from = 1;
+        if(!options.to) options.to = 0;
+        options.duration = 300;
+        var s = new AJS.fx.Style(elm, 'opacity', options);
+        return s.custom(options.from, options.to);
+    },
+
+    setWidth: function(elm, options) {
+        var s = new AJS.fx.Style(elm, 'width', options);
+        return s.custom(options.from, options.to);
+    },
+
+    setHeight: function(elm, options) {
+        var s = new AJS.fx.Style(elm, 'height', options);
+        return s.custom(options.from, options.to);
+    }
+}
+
+
+//From moo.fx
+AJS.fx.Base = new AJS.Class({
+    init: function() {
+        AJS.bindMethods(this);
+    },
+
+    setOptions: function(options){
+        this.options = AJS.update({
+                onStart: function(){},
+                onComplete: function(){},
+                transition: AJS.fx.Transitions.sineInOut,
+                duration: 500,
+                wait: true,
+                fps: 50
+        }, options || {});
+    },
+
+    step: function(){
+        var time = new Date().getTime();
+        if (time < this.time + this.options.duration){
+            this.cTime = time - this.time;
+            this.setNow();
+        } else {
+            setTimeout(AJS.$b(this.options.onComplete, this, [this.elm]), 10);
+            this.clearTimer();
+            this.now = this.to;
+        }
+        this.increase();
+    },
+
+    setNow: function(){
+        this.now = this.compute(this.from, this.to);
+    },
+
+    compute: function(from, to){
+        var change = to - from;
+        return this.options.transition(this.cTime, from, change, this.options.duration);
+    },
+
+    clearTimer: function(){
+        clearInterval(this.timer);
+        this.timer = null;
+        return this;
+    },
+
+    _start: function(from, to){
+        if (!this.options.wait) this.clearTimer();
+        if (this.timer) return;
+        setTimeout(AJS.$p(this.options.onStart, this.elm), 10);
+        this.from = from;
+        this.to = to;
+        this.time = new Date().getTime();
+        this.timer = setInterval(this.step, Math.round(1000/this.options.fps));
+        return this;
+    },
+
+    custom: function(from, to){
+        return this._start(from, to);
+    },
+
+    set: function(to){
+        this.now = to;
+        this.increase();
+        return this;
+    },
+
+    setStyle: function(elm, property, val) {
+        if(this.property == 'opacity')
+            AJS.setOpacity(elm, val);
+        else
+            AJS.setStyle(elm, property, val);
+    }
+});
+
+AJS.fx.Style = AJS.fx.Base.extend({
+    init: function(elm, property, options) {
+        this.parent();
+        this.elm = elm;
+        this.setOptions(options);
+        this.property = property;
+    },
+
+    increase: function(){
+        this.setStyle(this.elm, this.property, this.now);
+    }
+});
+
+AJS.fx.Styles = AJS.fx.Base.extend({
+    init: function(elm, options){
+        this.parent();
+        this.elm = AJS.$(elm);
+        this.setOptions(options);
+        this.now = {};
+    },
+
+    setNow: function(){
+        for (p in this.from)
+            this.now[p] = this.compute(this.from[p], this.to[p]);
+    },
+
+    custom: function(obj){
+        if (this.timer && this.options.wait) return;
+        var from = {};
+        var to = {};
+        for (p in obj){
+                from[p] = obj[p][0];
+                to[p] = obj[p][1];
+        }
+        return this._start(from, to);
+    },
+
+    increase: function(){
+        for (var p in this.now) this.setStyle(this.elm, p, this.now[p]);
+    }
+});
+
+//Transitions (c) 2003 Robert Penner (http://www.robertpenner.com/easing/), BSD License.
+AJS.fx.Transitions = {
+    linear: function(t, b, c, d) { return c*t/d + b; },
+    sineInOut: function(t, b, c, d) { return -c/2 * (Math.cos(Math.PI*t/d) - 1) + b; }
+};
+
+script_loaded = true;
diff --git a/koha-tmpl/opac-tmpl/ccsr/en/lib/greybox/GreyBox_v5_5/greybox_source/base/base.css b/koha-tmpl/opac-tmpl/ccsr/en/lib/greybox/GreyBox_v5_5/greybox_source/base/base.css
new file mode 100644 (file)
index 0000000..1c0cf6d
--- /dev/null
@@ -0,0 +1,32 @@
+/* Last-Modified: 28/06/06 00:08:22 */
+#GB_overlay {
+    background-color: #000;
+    position: absolute;
+    margin: auto;
+    top: 0;
+    left: 0;
+    z-index: 100;
+}
+
+#GB_window {
+    left: 0;
+    top: 0;
+    font-size: 1px;
+    position: absolute;
+    overflow: visible;
+    z-index: 150;
+}
+
+#GB_window .content {
+    width: auto;
+    margin: 0;
+    padding: 0;
+}
+
+#GB_frame {
+    border: 0;
+    margin: 0;
+    padding: 0;
+    overflow: auto;
+    white-space: nowrap;
+}
diff --git a/koha-tmpl/opac-tmpl/ccsr/en/lib/greybox/GreyBox_v5_5/greybox_source/base/base.js b/koha-tmpl/opac-tmpl/ccsr/en/lib/greybox/GreyBox_v5_5/greybox_source/base/base.js
new file mode 100644 (file)
index 0000000..bffa3ba
--- /dev/null
@@ -0,0 +1,192 @@
+var GB_CURRENT = null;
+
+GB_hide = function() {
+    GB_CURRENT.hide();
+}
+
+GreyBox = new AJS.Class({
+    init: function(options) {
+        this.use_fx = AJS.fx;
+        this.type = "page";
+        this.overlay_click_close = false;
+        this.salt = 0;
+        this.root_dir = GB_ROOT_DIR;
+        this.callback_fns = [];
+        this.reload_on_close = false;
+        this.src_loader = this.root_dir + 'loader_frame.html';
+
+        //Solve the www issue
+        var h_www = window.location.hostname.indexOf('www');
+        var src_www = this.src_loader.indexOf('www');
+        if(h_www != -1 && src_www == -1)
+            this.src_loader = this.src_loader.replace('://', '://www.');
+
+        if(h_www == -1 && src_www != -1)
+            this.src_loader = this.src_loader.replace('://www.', '://');
+
+        this.show_loading = true;
+        AJS.update(this, options);
+    },
+
+    addCallback: function(fn) {
+        if(fn) this.callback_fns.push(fn);
+    },
+
+    show: function(url) {
+        GB_CURRENT = this;
+        this.url = url;
+
+        var elms = [AJS.$bytc("object"), AJS.$bytc("select")];
+        AJS.map(AJS.flattenList(elms), function(elm) {
+            elm.style.visibility = "hidden";
+        });
+
+        this.createElements();
+        return false;
+    },
+
+    hide: function() {
+        var c_bs = this.callback_fns;
+        if(c_bs != []) {
+            AJS.map(c_bs, function(fn) {
+                fn();
+            });
+        }
+
+        this.onHide();
+        if(this.use_fx) {
+            var elm = this.overlay;
+            AJS.fx.fadeOut(this.overlay, {
+                onComplete: function() {
+                    AJS.removeElement(elm);
+                    elm = null;
+                },
+                duration: 300
+            });
+            AJS.removeElement(this.g_window);
+        }
+        else {
+            AJS.removeElement(this.g_window, this.overlay);
+        }
+
+        this.removeFrame();
+
+        AJS.REV(window, "scroll", _GB_setOverlayDimension);
+        AJS.REV(window, "resize", _GB_update);
+
+        var elms = [AJS.$bytc("object"), AJS.$bytc("select")];
+        AJS.map(AJS.flattenList(elms), function(elm) {
+            elm.style.visibility = "visible";
+        });
+
+        GB_CURRENT = null;
+
+        if(this.reload_on_close)
+            window.location.reload();
+    },
+
+    update: function() {
+        this.setOverlayDimension();
+        this.setFrameSize();
+        this.setWindowPosition();
+    },
+
+    createElements: function() {
+        this.initOverlay();
+
+        this.g_window = AJS.DIV({'id': 'GB_window'});
+        AJS.hideElement(this.g_window);
+        AJS.getBody().insertBefore(this.g_window, this.overlay.nextSibling);
+
+        this.initFrame();
+        this.initHook();
+        this.update();
+
+        var me = this;
+        if(this.use_fx) {
+            AJS.fx.fadeIn(this.overlay, {
+                duration: 300,
+                to: 0.7,
+                onComplete: function() {
+                    me.onShow();
+                    AJS.showElement(me.g_window);
+                    me.startLoading();
+                }
+            });
+        }
+        else {
+            AJS.setOpacity(this.overlay, 0.7);
+            AJS.showElement(this.g_window);
+            this.onShow();
+            this.startLoading();
+        }
+
+        AJS.AEV(window, "scroll", _GB_setOverlayDimension);
+        AJS.AEV(window, "resize", _GB_update);
+    },
+
+    removeFrame: function() {
+        try{ AJS.removeElement(this.iframe); }
+        catch(e) {}
+
+        this.iframe = null;
+    },
+
+    startLoading: function() {
+        this.iframe.src = this.src_loader + '?s='+this.salt++;
+        AJS.showElement(this.iframe);
+    },
+
+    setOverlayDimension: function() {
+        var page_size = AJS.getWindowSize();
+        if(AJS.isMozilla() || AJS.isOpera())
+            AJS.setWidth(this.overlay, "100%");
+        else
+            AJS.setWidth(this.overlay, page_size.w);
+
+        var max_height = Math.max(AJS.getScrollTop()+page_size.h, AJS.getScrollTop()+this.height);
+
+        if(max_height < AJS.getScrollTop())
+            AJS.setHeight(this.overlay, max_height);
+        else
+            AJS.setHeight(this.overlay, AJS.getScrollTop()+page_size.h);
+    },
+
+    initOverlay: function() {
+        this.overlay = AJS.DIV({'id': 'GB_overlay'});
+
+        if(this.overlay_click_close)
+            AJS.AEV(this.overlay, "click", GB_hide);
+
+        AJS.setOpacity(this.overlay, 0);
+        AJS.getBody().insertBefore(this.overlay, AJS.getBody().firstChild);
+    },
+
+    initFrame: function() {
+        if(!this.iframe) {
+            var d = {'name': 'GB_frame', 'class': 'GB_frame', 'frameBorder': 0};
+            this.iframe = AJS.IFRAME(d);
+            this.middle_cnt = AJS.DIV({'class': 'content'}, this.iframe);
+
+            this.top_cnt = AJS.DIV();
+            this.bottom_cnt = AJS.DIV();
+
+            AJS.ACN(this.g_window, this.top_cnt, this.middle_cnt, this.bottom_cnt);
+        }
+    },
+
+    /* Can be implemented */
+    onHide: function() {},
+    onShow: function() {},
+    setFrameSize: function() {},
+    setWindowPosition: function() {},
+    initHook: function() {}
+
+});
+
+_GB_update = function() { if(GB_CURRENT) GB_CURRENT.update(); }
+_GB_setOverlayDimension = function() { if(GB_CURRENT) GB_CURRENT.setOverlayDimension(); }
+
+AJS.preloadImages(GB_ROOT_DIR+'indicator.gif');
+
+script_loaded = true;
diff --git a/koha-tmpl/opac-tmpl/ccsr/en/lib/greybox/GreyBox_v5_5/greybox_source/base/indicator.gif b/koha-tmpl/opac-tmpl/ccsr/en/lib/greybox/GreyBox_v5_5/greybox_source/base/indicator.gif
new file mode 100644 (file)
index 0000000..02bdbdd
Binary files /dev/null and b/koha-tmpl/opac-tmpl/ccsr/en/lib/greybox/GreyBox_v5_5/greybox_source/base/indicator.gif differ
diff --git a/koha-tmpl/opac-tmpl/ccsr/en/lib/greybox/GreyBox_v5_5/greybox_source/base/loader_frame.html b/koha-tmpl/opac-tmpl/ccsr/en/lib/greybox/GreyBox_v5_5/greybox_source/base/loader_frame.html
new file mode 100644 (file)
index 0000000..ea1c267
--- /dev/null
@@ -0,0 +1,104 @@
+<!--
+Notice: I feel so dirty doing this, but its the only way to make it cross browser.
+-->
+<html>
+<head>
+  <script>
+    var GB = parent.GB_CURRENT;
+    document.write('<script type="text/javascript" src="AJS.js"><\/script>');
+    if(GB.use_fx) {
+        document.write('<script type="text/javascript" src="AJS_fx.js"><\/script>');
+    }
+  </script>
+  <style>
+    body {
+      padding: 0;
+      margin: 0;
+      overflow: hidden;
+    }
+
+    #GB_frame {
+      visibility: hidden;
+      width: 100%;
+      height: 100%;
+    }
+
+    #loading {
+      padding-top: 50px;
+      position: absolute;
+      width: 100%;
+      top: 0;
+      text-align: center;
+      vertical-align: middle;
+    }
+  </style>
+</head>
+<body>
+
+<div id="loading">
+  <img src="indicator.gif">
+</div>
+
+<script>
+var loading = AJS.$('loading');
+var gb_type = GB.type;
+var gb_url = GB.url;
+
+//Start loading in the iframe
+if(gb_type == "page") {
+  document.write('<iframe id="GB_frame" src="' + gb_url + '" frameborder="0"></iframe>');
+}
+else {
+  var img_holder = new Image();
+  img_holder.src = gb_url;
+  document.write('<img id="GB_frame" src="' + gb_url + '">');
+}
+var frame = AJS.$('GB_frame');
+</script>
+
+</body>
+<script>
+function setupOuterGB() {
+    frame.style.visibility = 'visible';
+    GB.setFrameSize();
+    GB.setWindowPosition();
+}
+
+function loaded() {
+    AJS.removeElement(loading);
+
+    GB.overlay.innerHTML += "&nbsp;"; //Safari bugfix
+
+    if(gb_type == "image") {
+        if(img_holder.width != 0 && img_holder.height != 0) {
+            var width = img_holder.width;
+            var height = img_holder.height;
+
+            GB.width = width;
+            GB.height = height;
+
+            setupOuterGB();
+
+            if(GB.use_fx) {
+                AJS.setOpacity(frame, 0);
+                AJS.fx.fadeIn(frame);
+            }
+        }
+    }
+    else {
+        GB.width = frame.offsetWidth;
+        GB.height = frame.offsetHeight;
+        setupOuterGB();
+    }
+}
+
+if(GB.show_loading) {
+    AJS.AEV(window, 'load', function(e) {
+        loaded();
+    });
+}
+else {
+    loaded();
+}
+</script>
+</html>
diff --git a/koha-tmpl/opac-tmpl/ccsr/en/lib/greybox/GreyBox_v5_5/greybox_source/gallery/g_close.gif b/koha-tmpl/opac-tmpl/ccsr/en/lib/greybox/GreyBox_v5_5/greybox_source/gallery/g_close.gif
new file mode 100644 (file)
index 0000000..8707668
Binary files /dev/null and b/koha-tmpl/opac-tmpl/ccsr/en/lib/greybox/GreyBox_v5_5/greybox_source/gallery/g_close.gif differ
diff --git a/koha-tmpl/opac-tmpl/ccsr/en/lib/greybox/GreyBox_v5_5/greybox_source/gallery/gallery.css b/koha-tmpl/opac-tmpl/ccsr/en/lib/greybox/GreyBox_v5_5/greybox_source/gallery/gallery.css
new file mode 100644 (file)
index 0000000..523ff17
--- /dev/null
@@ -0,0 +1,51 @@
+.GB_Gallery {
+    margin: 0 22px 0 22px;
+}
+
+.GB_Gallery .content {
+    background-color: #fff;
+    border: 3px solid #ddd;
+}
+
+.GB_header {
+    top: 10px;
+    left: 0;
+    margin: 0;
+    z-index: 500;
+    position: absolute;
+    border-bottom: 2px solid #555;
+    border-top: 2px solid #555;
+}
+
+.GB_header .inner {
+    background-color: #333;
+    font-family: Arial, Verdana, sans-serif;
+    padding: 2px 20px 2px 20px;
+}
+
+.GB_header table {
+    margin: 0;
+    width: 100%;
+    border-collapse: collapse;
+}
+
+.GB_header .caption {
+    text-align: left;
+    color: #eee;
+    white-space: nowrap;
+    font-size: 20px;
+}
+
+.GB_header .close {
+    text-align: right;
+}
+
+.GB_header .close img {
+    z-index: 500;
+    cursor: pointer;
+}
+
+.GB_header .middle {
+    white-space: nowrap;
+    text-align: center;
+}
diff --git a/koha-tmpl/opac-tmpl/ccsr/en/lib/greybox/GreyBox_v5_5/greybox_source/gallery/gallery.js b/koha-tmpl/opac-tmpl/ccsr/en/lib/greybox/GreyBox_v5_5/greybox_source/gallery/gallery.js
new file mode 100644 (file)
index 0000000..6405c8c
--- /dev/null
@@ -0,0 +1,114 @@
+GB_showImage = function(caption, url, callback_fn) {
+    var options = {
+        width: 300,
+        height: 300,
+        type: 'image',
+
+        fullscreen: false,
+        center_win: true,
+        caption: caption,
+        callback_fn: callback_fn
+    }
+    var win = new GB_Gallery(options);
+    return win.show(url);
+}
+
+GB_showPage = function(caption, url, callback_fn) {
+    var options = {
+        type: 'page',
+
+        caption: caption,
+        callback_fn: callback_fn,
+        fullscreen: true,
+        center_win: false
+    }
+    var win = new GB_Gallery(options);
+    return win.show(url);
+}
+
+GB_Gallery = GreyBox.extend({
+    init: function(options) {
+        this.parent({});
+        this.img_close = this.root_dir + 'g_close.gif';
+        AJS.update(this, options);
+        this.addCallback(this.callback_fn);
+    },
+
+    initHook: function() {
+        AJS.addClass(this.g_window, 'GB_Gallery');
+
+        var inner = AJS.DIV({'class': 'inner'});
+        this.header = AJS.DIV({'class': 'GB_header'}, inner);
+        AJS.setOpacity(this.header, 0);
+        AJS.getBody().insertBefore(this.header, this.overlay.nextSibling);
+
+        var td_caption = AJS.TD({'id': 'GB_caption', 'class': 'caption', 'width': '40%'}, this.caption);
+        var td_middle = AJS.TD({'id': 'GB_middle', 'class': 'middle', 'width': '20%'});
+
+        var img_close = AJS.IMG({'src': this.img_close});
+        AJS.AEV(img_close, 'click', GB_hide);
+        var td_close = AJS.TD({'class': 'close', 'width': '40%'}, img_close);
+
+        var tbody = AJS.TBODY(AJS.TR(td_caption, td_middle, td_close));
+
+        var table = AJS.TABLE({'cellspacing': '0', 'cellpadding': 0, 'border': 0}, tbody);
+        AJS.ACN(inner, table);
+
+        if(this.fullscreen)
+            AJS.AEV(window, 'scroll', AJS.$b(this.setWindowPosition, this));
+        else
+            AJS.AEV(window, 'scroll', AJS.$b(this._setHeaderPos, this));
+    },
+
+    setFrameSize: function() {
+        var overlay_w = this.overlay.offsetWidth;
+        var page_size = AJS.getWindowSize();
+
+        if(this.fullscreen) {
+            this.width = overlay_w-40;
+            this.height = page_size.h-80;
+        }
+        AJS.setWidth(this.iframe, this.width);
+        AJS.setHeight(this.iframe, this.height);
+
+        AJS.setWidth(this.header, overlay_w);
+    },
+
+    _setHeaderPos: function() {
+        AJS.setTop(this.header, AJS.getScrollTop()+10);
+    },
+
+    setWindowPosition: function() {
+        var overlay_w = this.overlay.offsetWidth;
+        var page_size = AJS.getWindowSize();
+        AJS.setLeft(this.g_window, ((overlay_w - 50 - this.width)/2));
+
+        var header_top = AJS.getScrollTop()+55;
+        if(!this.center_win) {
+            AJS.setTop(this.g_window, header_top);
+        }
+        else {
+            var fl = ((page_size.h - this.height) /2) + 20 + AJS.getScrollTop();
+            if(fl < 0) fl = 0;
+            if(header_top > fl) {
+                fl = header_top;
+            }
+            AJS.setTop(this.g_window, fl);
+        }
+        this._setHeaderPos();
+    },
+
+    onHide: function() {
+        AJS.removeElement(this.header);
+        AJS.removeClass(this.g_window, 'GB_Gallery');
+    },
+
+    onShow: function() {
+        if(this.use_fx)
+            AJS.fx.fadeIn(this.header, {to: 1});
+        else
+            AJS.setOpacity(this.header, 1);
+    }
+});
+
+AJS.preloadImages(GB_ROOT_DIR+'g_close.gif');
diff --git a/koha-tmpl/opac-tmpl/ccsr/en/lib/greybox/GreyBox_v5_5/greybox_source/set/next.gif b/koha-tmpl/opac-tmpl/ccsr/en/lib/greybox/GreyBox_v5_5/greybox_source/set/next.gif
new file mode 100644 (file)
index 0000000..c0f8908
Binary files /dev/null and b/koha-tmpl/opac-tmpl/ccsr/en/lib/greybox/GreyBox_v5_5/greybox_source/set/next.gif differ
diff --git a/koha-tmpl/opac-tmpl/ccsr/en/lib/greybox/GreyBox_v5_5/greybox_source/set/prev.gif b/koha-tmpl/opac-tmpl/ccsr/en/lib/greybox/GreyBox_v5_5/greybox_source/set/prev.gif
new file mode 100644 (file)
index 0000000..d20e095
Binary files /dev/null and b/koha-tmpl/opac-tmpl/ccsr/en/lib/greybox/GreyBox_v5_5/greybox_source/set/prev.gif differ
diff --git a/koha-tmpl/opac-tmpl/ccsr/en/lib/greybox/GreyBox_v5_5/greybox_source/set/set.css b/koha-tmpl/opac-tmpl/ccsr/en/lib/greybox/GreyBox_v5_5/greybox_source/set/set.css
new file mode 100644 (file)
index 0000000..5c22928
--- /dev/null
@@ -0,0 +1,20 @@
+#GB_middle {
+    color: #eee;
+}
+
+#GB_middle img {
+    cursor: pointer;
+    vertical-align: middle;
+}
+
+#GB_middle .disabled {
+    cursor: default;
+}
+
+#GB_middle .left {
+    padding-right: 10px;
+}
+
+#GB_middle .right {
+    padding-left: 10px;
+}
diff --git a/koha-tmpl/opac-tmpl/ccsr/en/lib/greybox/GreyBox_v5_5/greybox_source/set/set.js b/koha-tmpl/opac-tmpl/ccsr/en/lib/greybox/GreyBox_v5_5/greybox_source/set/set.js
new file mode 100644 (file)
index 0000000..ecc34f1
--- /dev/null
@@ -0,0 +1,101 @@
+GB_showFullScreenSet = function(set, start_index, callback_fn) {
+    var options = {
+        type: 'page',
+        fullscreen: true,
+        center_win: false
+    }
+    var gb_sets = new GB_Sets(options, set);
+    gb_sets.addCallback(callback_fn);
+    gb_sets.showSet(start_index-1);
+    return false;
+}
+
+GB_showImageSet = function(set, start_index, callback_fn) {
+    var options = {
+        type: 'image',
+        fullscreen: false,
+        center_win: true,
+        width: 300,
+        height: 300
+    }
+    var gb_sets = new GB_Sets(options, set);
+    gb_sets.addCallback(callback_fn);
+    gb_sets.showSet(start_index-1);
+    return false;
+}
+
+GB_Sets = GB_Gallery.extend({
+    init: function(options, set) {
+        this.parent(options);
+        if(!this.img_next) this.img_next = this.root_dir + 'next.gif';
+        if(!this.img_prev) this.img_prev = this.root_dir + 'prev.gif';
+        this.current_set = set;
+    },
+
+    showSet: function(start_index) {
+        this.current_index = start_index;
+
+        var item = this.current_set[this.current_index];
+        this.show(item.url);
+        this._setCaption(item.caption);
+
+        this.btn_prev = AJS.IMG({'class': 'left', src: this.img_prev});
+        this.btn_next = AJS.IMG({'class': 'right', src: this.img_next});
+
+        AJS.AEV(this.btn_prev, 'click', AJS.$b(this.switchPrev, this));
+        AJS.AEV(this.btn_next, 'click', AJS.$b(this.switchNext, this));
+
+        GB_STATUS = AJS.SPAN({'class': 'GB_navStatus'});
+        AJS.ACN(AJS.$('GB_middle'), this.btn_prev, GB_STATUS, this.btn_next);
+
+        this.updateStatus();
+    },
+
+    updateStatus: function() {
+        AJS.setHTML(GB_STATUS, (this.current_index + 1) + ' / ' + this.current_set.length);
+        if(this.current_index == 0) {
+            AJS.addClass(this.btn_prev, 'disabled');
+        }
+        else {
+            AJS.removeClass(this.btn_prev, 'disabled');
+        }
+
+        if(this.current_index == this.current_set.length-1) {
+            AJS.addClass(this.btn_next, 'disabled');
+        }
+        else {
+            AJS.removeClass(this.btn_next, 'disabled');
+        }
+    },
+
+    _setCaption: function(caption) {
+        AJS.setHTML(AJS.$('GB_caption'), caption);
+    },
+
+    updateFrame: function() {
+        var item = this.current_set[this.current_index];
+        this._setCaption(item.caption);
+        this.url = item.url;
+        this.startLoading();
+    },
+
+    switchPrev: function() {
+        if(this.current_index != 0) {
+            this.current_index--;
+            this.updateFrame();
+            this.updateStatus();
+        }
+    },
+
+    switchNext: function() {
+        if(this.current_index != this.current_set.length-1) {
+            this.current_index++
+            this.updateFrame();
+            this.updateStatus();
+        }
+    }
+});
+
+AJS.AEV(window, 'load', function() {
+    AJS.preloadImages(GB_ROOT_DIR+'next.gif', GB_ROOT_DIR+'prev.gif');
+});
diff --git a/koha-tmpl/opac-tmpl/ccsr/en/lib/greybox/GreyBox_v5_5/greybox_source/window/header_bg.gif b/koha-tmpl/opac-tmpl/ccsr/en/lib/greybox/GreyBox_v5_5/greybox_source/window/header_bg.gif
new file mode 100644 (file)
index 0000000..3913cfd
Binary files /dev/null and b/koha-tmpl/opac-tmpl/ccsr/en/lib/greybox/GreyBox_v5_5/greybox_source/window/header_bg.gif differ
diff --git a/koha-tmpl/opac-tmpl/ccsr/en/lib/greybox/GreyBox_v5_5/greybox_source/window/w_close.gif b/koha-tmpl/opac-tmpl/ccsr/en/lib/greybox/GreyBox_v5_5/greybox_source/window/w_close.gif
new file mode 100644 (file)
index 0000000..3c05b15
Binary files /dev/null and b/koha-tmpl/opac-tmpl/ccsr/en/lib/greybox/GreyBox_v5_5/greybox_source/window/w_close.gif differ
diff --git a/koha-tmpl/opac-tmpl/ccsr/en/lib/greybox/GreyBox_v5_5/greybox_source/window/window.css b/koha-tmpl/opac-tmpl/ccsr/en/lib/greybox/GreyBox_v5_5/greybox_source/window/window.css
new file mode 100644 (file)
index 0000000..30d9699
--- /dev/null
@@ -0,0 +1,39 @@
+.GB_Window .content {
+    background-color: #fff;
+    border: 3px solid #ccc;
+    border-top: none;
+}
+
+.GB_Window .header {
+    border-bottom: 1px solid #aaa;
+    border-top: 1px solid #999;
+    border-left: 3px solid #ccc;
+    border-right: 3px solid #ccc;
+    margin: 0;
+
+    height: 22px;
+    font-size: 12px;
+    padding: 3px 0;
+    color: #333;
+}
+
+.GB_Window .caption {
+    font-size: 12px;
+    text-align: left;
+    font-weight: bold;
+    white-space: nowrap;
+    padding-right: 20px;
+}
+
+.GB_Window .close { text-align: right; }
+.GB_Window .close span {
+    font-size: 12px;
+    cursor: pointer;
+}
+.GB_Window .close img {
+    cursor: pointer;
+    padding: 0 3px 0 0;
+}
+
+.GB_Window .on { border-bottom: 1px solid #333; }
+.GB_Window .click { border-bottom: 1px solid red; }
diff --git a/koha-tmpl/opac-tmpl/ccsr/en/lib/greybox/GreyBox_v5_5/greybox_source/window/window.js b/koha-tmpl/opac-tmpl/ccsr/en/lib/greybox/GreyBox_v5_5/greybox_source/window/window.js
new file mode 100644 (file)
index 0000000..539c780
--- /dev/null
@@ -0,0 +1,109 @@
+GB_show = function(caption, url, /* optional */ height, width, callback_fn) {
+    var options = {
+        caption: caption,
+        height: height || 500,
+        width: width || 500,
+        fullscreen: false,
+        callback_fn: callback_fn
+    }
+    var win = new GB_Window(options);
+    return win.show(url);
+}
+
+GB_showCenter = function(caption, url, /* optional */ height, width, callback_fn) {
+    var options = {
+        caption: caption,
+        center_win: true,
+        height: height || 500,
+        width: width || 500,
+        fullscreen: false,
+        callback_fn: callback_fn
+    }
+    var win = new GB_Window(options);
+    return win.show(url);
+}
+
+GB_showFullScreen = function(caption, url, callback_fn) {
+    var options = {
+        caption: caption,
+        fullscreen: true,
+        callback_fn: callback_fn
+    }
+    var win = new GB_Window(options);
+    return win.show(url);
+}
+
+GB_Window = GreyBox.extend({
+    init: function(options) {
+        this.parent({});
+        this.img_header = this.root_dir+"header_bg.gif";
+        this.img_close = this.root_dir+"w_close.gif";
+        this.show_close_img = true;
+        AJS.update(this, options);
+        this.addCallback(this.callback_fn);
+    },
+
+    initHook: function() {
+        AJS.addClass(this.g_window, 'GB_Window');
+
+        this.header = AJS.TABLE({'class': 'header'});
+        this.header.style.backgroundImage = "url("+ this.img_header +")";
+
+        var td_caption = AJS.TD({'class': 'caption'}, this.caption);
+        var td_close = AJS.TD({'class': 'close'});
+
+        if(this.show_close_img) {
+            var img_close = AJS.IMG({'src': this.img_close});
+            var span = AJS.SPAN('Close');
+
+            var btn = AJS.DIV(img_close, span);
+
+            AJS.AEV([img_close, span], 'mouseover', function() { AJS.addClass(span, 'on'); });
+            AJS.AEV([img_close, span], 'mouseout', function() { AJS.removeClass(span, 'on'); });
+            AJS.AEV([img_close, span], 'mousedown', function() { AJS.addClass(span, 'click'); });
+            AJS.AEV([img_close, span], 'mouseup', function() { AJS.removeClass(span, 'click'); });
+            AJS.AEV([img_close, span], 'click', GB_hide);
+
+            AJS.ACN(td_close, btn);
+        }
+
+        tbody_header = AJS.TBODY();
+        AJS.ACN(tbody_header, AJS.TR(td_caption, td_close));
+
+        AJS.ACN(this.header, tbody_header);
+        AJS.ACN(this.top_cnt, this.header);
+
+        if(this.fullscreen)
+            AJS.AEV(window, 'scroll', AJS.$b(this.setWindowPosition, this));
+    },
+
+    setFrameSize: function() {
+        if(this.fullscreen) {
+            var page_size = AJS.getWindowSize();
+            overlay_h = page_size.h;
+            this.width = Math.round(this.overlay.offsetWidth - (this.overlay.offsetWidth/100)*10);
+            this.height = Math.round(overlay_h - (overlay_h/100)*10);
+        }
+
+        AJS.setWidth(this.header, this.width+6); //6 is for the left+right border
+        AJS.setWidth(this.iframe, this.width);
+        AJS.setHeight(this.iframe, this.height);
+    },
+
+    setWindowPosition: function() {
+        var page_size = AJS.getWindowSize();
+        AJS.setLeft(this.g_window, ((page_size.w - this.width)/2)-13);
+
+        if(!this.center_win) {
+            AJS.setTop(this.g_window, AJS.getScrollTop());
+        }
+        else {
+            var fl = ((page_size.h - this.height) /2) - 20 + AJS.getScrollTop();
+            if(fl < 0)
+                fl = 0;
+            AJS.setTop(this.g_window, fl);
+        }
+    }
+});
+
+AJS.preloadImages(GB_ROOT_DIR+'w_close.gif', GB_ROOT_DIR+'header_bg.gif');
diff --git a/koha-tmpl/opac-tmpl/ccsr/en/lib/greybox/GreyBox_v5_5/installation.html b/koha-tmpl/opac-tmpl/ccsr/en/lib/greybox/GreyBox_v5_5/installation.html
new file mode 100644 (file)
index 0000000..b76785b
--- /dev/null
@@ -0,0 +1,49 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en">
+<head>
+    <title>GreyBox - Installation</title>
+
+    <script type="text/javascript" src="greybox/AJS.js"></script>
+
+    <script type="text/javascript" src="static_files/help.js"></script>
+    <link href="static_files/help.css" rel="stylesheet" type="text/css" media="all" />
+</head>
+<body>
+
+<script>
+    insertHeader();
+    insertMenu('installation');
+</script>
+
+<ol>
+<li>
+Append following to your header section (in between <code>&lt;header&gt;...&lt;/header&gt;</code>).
+<br />
+<span class="hl">GB_ROOT_DIR</span> is the URL where static files are located:
+<pre>
+<code>&lt;script type="text/javascript"&gt;
+    var GB_ROOT_DIR = "http://mydomain.com/greybox/";
+&lt;/script&gt;</code>
+</pre>
+</li>
+GB_ROOT_DIR should be absolute.
+
+<li>
+Append also following scripts and one stylesheet:
+<pre>
+<code>&lt;script type="text/javascript" src="greybox/AJS.js"&gt;&lt;/script&gt;
+&lt;script type="text/javascript" src="greybox/AJS_fx.js"&gt;&lt;/script&gt;
+&lt;script type="text/javascript" src="greybox/gb_scripts.js"&gt;&lt;/script&gt;
+&lt;link href="greybox/gb_styles.css" rel="stylesheet" type="text/css" /&gt;</code>
+</pre>
+
+AJS_fx.js is optional, it's used for effects. If you don't wish effects, then don't include AJS_fx.js in your header section.
+</li>
+
+<li>
+That's it, you are now ready to use GreyBox!
+</li>
+</ol>
+
+</body>
+</html>
diff --git a/koha-tmpl/opac-tmpl/ccsr/en/lib/greybox/GreyBox_v5_5/normal_usage.html b/koha-tmpl/opac-tmpl/ccsr/en/lib/greybox/GreyBox_v5_5/normal_usage.html
new file mode 100644 (file)
index 0000000..3b78181
--- /dev/null
@@ -0,0 +1,126 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en">
+<head>
+    <title>GreyBox - Normal usage</title>
+
+    <script type="text/javascript">
+        var GB_ROOT_DIR = "./greybox/";
+    </script>
+
+    <script type="text/javascript" src="greybox/AJS.js"></script>
+    <script type="text/javascript" src="greybox/AJS_fx.js"></script>
+    <script type="text/javascript" src="greybox/gb_scripts.js"></script>
+    <link href="greybox/gb_styles.css" rel="stylesheet" type="text/css" media="all" />
+
+    <script type="text/javascript" src="static_files/help.js"></script>
+    <link href="static_files/help.css" rel="stylesheet" type="text/css" media="all" />
+</head>
+
+<body>
+
+<script>
+    insertHeader();
+    insertMenu('nrm_usage');
+</script>
+
+<h2>Showing images</h2>
+
+<h3 class="first">Showing one image:</h3>
+<h4>Syntax:</h4>
+<pre>
+<code>&lt;a href="URL" title="CAPTION" rel="gb_image[]"&gt;HTML&lt;/a&gt;</code>
+</pre>
+
+<h4>Example:</h4>
+<pre>
+<code>&lt;a href="http://static.flickr.com/119/294309231_a3d2a339b9.jpg" title="Flower" rel="gb_image[]"&gt;Show flower&lt;/a&gt;</code>
+</pre>
+
+<h4>Example rendered:</h4>
+<a href="http://static.flickr.com/119/294309231_a3d2a339b9.jpg" title="Flower" rel="gb_image[]">Show flower</a>
+
+
+<h3>Showing a group of images:</h3>
+<h4>Syntax:</h4>
+<pre>
+<code>&lt;a href="URL" title="CAPTION" rel="gb_imageset[NAME]"&gt;HTML&lt;/a&gt;</code>
+<code>&lt;a href="URL" title="CAPTION" rel="gb_imageset[NAME]"&gt;HTML&lt;/a&gt;</code>
+</pre>
+
+<h4>Example:</h4>
+<pre>
+<code>&lt;a href="static_files/salt.jpg" rel="gb_imageset[nice_pics]" title="Salt flats in Chile"&gt;Salt flats&lt;/a&gt;</code>
+<code>&lt;a href="static_files/night_valley.jpg" rel="gb_imageset[nice_pics]" title="Night valley"&gt;Night valley&lt;/a&gt;</code>
+</pre>
+
+<h4>Example rendered:</h4>
+<a href="static_files/salt.jpg" rel="gb_imageset[nice_pics]" title="Salt flats in Chile">Salt flats</a>
+<a href="static_files/night_valley.jpg" rel="gb_imageset[nice_pics]" title="Night valley">Night valley</a>
+
+
+<h2>Showing pages</h2>
+
+<h3>Showing one page:</h3>
+<h4>Syntax:</h4>
+<pre>
+<code>&lt;a href="URL" title="CAPTION" rel="gb_page[WIDTH, HEIGHT]"&gt;HTML&lt;/a&gt;</code>
+</pre>
+
+<h4>Example:</h4>
+<pre>
+<code>&lt;a href="http://google.com/" title="Google" rel="gb_page[500, 500]"&gt;Launch Google.com&lt;/a&gt;</code>
+</pre>
+
+<h4>Example rendered:</h4>
+<a href="http://google.com/" title="Google" rel="gb_page[500, 500]">Launch Google.com</a>
+
+
+<h3>Showing one page as center window:</h3>
+<h4>Syntax:</h4>
+<pre>
+<code>&lt;a href="URL" title="CAPTION" rel="gb_page_center[WIDTH, HEIGHT]"&gt;HTML&lt;/a&gt;</code>
+</pre>
+
+<h4>Example:</h4>
+<pre>
+<code>&lt;a href="http://google.com/" title="Google" rel="gb_page_center[500, 500]"&gt;Launch Google.com&lt;/a&gt;</code>
+</pre>
+
+<h4>Example rendered:</h4>
+<a href="http://google.com/" title="Google" rel="gb_page_center[500, 500]">Launch Google.com</a>
+
+
+<h3>Showing one page in fullscreen:</h3>
+<h4>Syntax:</h4>
+<pre>
+<code>&lt;a href="URL" title="CAPTION" rel="gb_page_fs[]"&gt;HTML&lt;/a&gt;</code>
+</pre>
+
+<h4>Example:</h4>
+<pre>
+<code>&lt;a href="http://google.com/" title="Google" rel="gb_page_fs[]"&gt;Launch Google.com&lt;/a&gt;</code>
+</pre>
+
+<h4>Example rendered:</h4>
+<a href="http://google.com/" title="Google" rel="gb_page_fs[]">Launch Google.com</a>
+
+<h3>Showing a group of pages:</h3>
+<h4>Syntax:</h4>
+<pre>
+<code>&lt;a href="URL" title="CAPTION" rel="gb_pageset[NAME]"&gt;HTML&lt;/a&gt;</code>
+<code>&lt;a href="URL" title="CAPTION" rel="gb_pageset[NAME]"&gt;HTML&lt;/a&gt;</code>
+</pre>
+
+<h4>Example:</h4>
+<pre>
+<code>&lt;a href="http://google.com/" title="Google" rel="gb_pageset[search_sites]"&gt;Launch Google search&lt;/a&gt;</code>
+<code>&lt;a href="http://search.yahoo.com/" rel="gb_pageset[search_sites]"&gt;Launch Yahoo search&lt;/a&gt;</code>
+</pre>
+
+<h4>Example rendered:</h4>
+<a href="http://google.com/" title="Google" rel="gb_pageset[search_sites]">Launch Google search</a>
+<a href="http://search.yahoo.com/" rel="gb_pageset[search_sites]">Launch Yahoo search</a>
+
+
+</body>
+</html>
diff --git a/koha-tmpl/opac-tmpl/ccsr/en/lib/greybox/GreyBox_v5_5/static_files/help.css b/koha-tmpl/opac-tmpl/ccsr/en/lib/greybox/GreyBox_v5_5/static_files/help.css
new file mode 100644 (file)
index 0000000..d5a9538
--- /dev/null
@@ -0,0 +1,93 @@
+body {
+    font-family: helvetica, verdana, sans-serif;
+    font-size: 12px;
+    background-color: #fff;
+    padding: 10px 35px 35px 35px;
+    width: 800px;
+    margin: auto;
+}
+
+#top {
+    text-align: center;
+}
+
+h2 {
+    font-size: 18px;
+    color: #333;
+    margin: 35px 0 10px 0;
+}
+
+h3 {
+    color: #333;
+    border-bottom: 1px solid #999;
+    font-size: 15px;
+    margin: 30px 0 3px 0;
+}
+
+.first {
+    margin-top: 20px;
+}
+
+h4 {
+    color: black;
+    font-size: 13px;
+    margin: 10px 0 5px 0;
+}
+
+pre {
+    font-size: 11px;
+    margin-top: 5px;
+    padding: 4px;
+    background-color: #e3e2c6;
+    border: 1px solid #999;
+}
+
+.hl {
+    background-color: #ffffcc;
+}
+
+ol {
+    margin: 0;
+    padding: 0 0px 0 20px;
+}
+
+li {
+    padding: 5px 0 5px 0;
+}
+
+img {
+    border: 0;
+}
+
+/*
+ * Menu
+ */
+#menu {
+    border-bottom: 1px solid #999;
+    margin: 20px 0px;
+    padding: 10px 0pt 5px;
+    text-align: center;
+}
+
+#menu li {
+    display: inline;
+    margin: 0px;
+    padding: 0px;
+}
+
+#menu a {
+    background: #ddd none repeat;
+    border: 1px solid #999;
+    margin: 0 5px 0 5px;
+    padding: 5px;
+}
+
+#menu a.current {
+    background: #fff none repeat;
+    border-bottom: 1px solid #fff;
+}
+
+#menu a {
+    color: black;
+    text-decoration: none;
+}
diff --git a/koha-tmpl/opac-tmpl/ccsr/en/lib/greybox/GreyBox_v5_5/static_files/help.js b/koha-tmpl/opac-tmpl/ccsr/en/lib/greybox/GreyBox_v5_5/static_files/help.js
new file mode 100644 (file)
index 0000000..d1e9a05
--- /dev/null
@@ -0,0 +1,52 @@
+var tmpl_header = AJS.join('', [
+    '<div id="top"> <img src="static_files/logo.gif" alt="" /> <br />',
+    '<span style="font-weight: bold; color: #333">A pop-up window that doesn\'t suck.</span>',
+    '</div>'
+]);
+
+function insertHeader() {
+    AJS.DI(tmpl_header);
+}
+
+var LINKS = {
+    'installation': 'installation.html',
+    'examples': 'examples.html',
+    'nrm_usage': 'normal_usage.html',
+    'adv_usage': 'advance_usage.html',
+    'cmpr': 'compressing_greybox.html',
+    'about': 'about.html'
+}
+
+function insertMenu(current_page) {
+    var menu = AJS.UL({id: 'menu'});
+    var create_item = function(cls, name) {
+        var item = AJS.LI({'class': cls});
+        AJS.ACN(item, AJS.A({href: LINKS[cls]}, name));
+        return item;
+    }
+    var items = [
+        create_item('installation', 'Installation'),
+        create_item('examples', 'Examples'),
+        create_item('nrm_usage', 'Normal usage'),
+        create_item('adv_usage', 'Advance usage'),
+        create_item('cmpr', 'Compressing GreyBox'),
+        create_item('about', 'About')
+    ];
+
+    AJS.map(items, function(item) {
+        if(item.className == current_page) {
+            AJS.addClass(AJS.$bytc('a', null, item)[0], 'current');
+        }
+        AJS.ACN(menu, item);
+    });
+    AJS.DI(menu);
+}
+
+function insertCode() {
+    var code = AJS.join('\n', arguments);
+    var result = '<pre><code>';
+    code = code.replace(/</g, '&lt;').replace(/>/g, '&gt;');
+    result += code;
+    result += '</code></pre>';
+    document.write(result);
+}
diff --git a/koha-tmpl/opac-tmpl/ccsr/en/lib/greybox/GreyBox_v5_5/static_files/logo.gif b/koha-tmpl/opac-tmpl/ccsr/en/lib/greybox/GreyBox_v5_5/static_files/logo.gif
new file mode 100644 (file)
index 0000000..ebbbe9a
Binary files /dev/null and b/koha-tmpl/opac-tmpl/ccsr/en/lib/greybox/GreyBox_v5_5/static_files/logo.gif differ
diff --git a/koha-tmpl/opac-tmpl/ccsr/en/lib/greybox/GreyBox_v5_5/static_files/night_valley.jpg b/koha-tmpl/opac-tmpl/ccsr/en/lib/greybox/GreyBox_v5_5/static_files/night_valley.jpg
new file mode 100644 (file)
index 0000000..3980daf
Binary files /dev/null and b/koha-tmpl/opac-tmpl/ccsr/en/lib/greybox/GreyBox_v5_5/static_files/night_valley.jpg differ
diff --git a/koha-tmpl/opac-tmpl/ccsr/en/lib/greybox/GreyBox_v5_5/static_files/night_valley_thumb.gif b/koha-tmpl/opac-tmpl/ccsr/en/lib/greybox/GreyBox_v5_5/static_files/night_valley_thumb.gif
new file mode 100644 (file)
index 0000000..e8fb249
Binary files /dev/null and b/koha-tmpl/opac-tmpl/ccsr/en/lib/greybox/GreyBox_v5_5/static_files/night_valley_thumb.gif differ
diff --git a/koha-tmpl/opac-tmpl/ccsr/en/lib/greybox/GreyBox_v5_5/static_files/night_valley_thumb.jpg b/koha-tmpl/opac-tmpl/ccsr/en/lib/greybox/GreyBox_v5_5/static_files/night_valley_thumb.jpg
new file mode 100644 (file)
index 0000000..eb8697d
Binary files /dev/null and b/koha-tmpl/opac-tmpl/ccsr/en/lib/greybox/GreyBox_v5_5/static_files/night_valley_thumb.jpg differ
diff --git a/koha-tmpl/opac-tmpl/ccsr/en/lib/greybox/GreyBox_v5_5/static_files/salt.jpg b/koha-tmpl/opac-tmpl/ccsr/en/lib/greybox/GreyBox_v5_5/static_files/salt.jpg
new file mode 100644 (file)
index 0000000..a5abed5
Binary files /dev/null and b/koha-tmpl/opac-tmpl/ccsr/en/lib/greybox/GreyBox_v5_5/static_files/salt.jpg differ
diff --git a/koha-tmpl/opac-tmpl/ccsr/en/lib/greybox/GreyBox_v5_5/static_files/salt_thumb.gif b/koha-tmpl/opac-tmpl/ccsr/en/lib/greybox/GreyBox_v5_5/static_files/salt_thumb.gif
new file mode 100644 (file)
index 0000000..4032bfc
Binary files /dev/null and b/koha-tmpl/opac-tmpl/ccsr/en/lib/greybox/GreyBox_v5_5/static_files/salt_thumb.gif differ
diff --git a/koha-tmpl/opac-tmpl/ccsr/en/lib/greybox/g_close.gif b/koha-tmpl/opac-tmpl/ccsr/en/lib/greybox/g_close.gif
new file mode 100644 (file)
index 0000000..8707668
Binary files /dev/null and b/koha-tmpl/opac-tmpl/ccsr/en/lib/greybox/g_close.gif differ
diff --git a/koha-tmpl/opac-tmpl/ccsr/en/lib/greybox/gb_scripts.js b/koha-tmpl/opac-tmpl/ccsr/en/lib/greybox/gb_scripts.js
new file mode 100644 (file)
index 0000000..354e2c0
--- /dev/null
@@ -0,0 +1,436 @@
+var GB_CURRENT=null;
+GB_hide=function(){
+GB_CURRENT.hide();
+};
+GreyBox=new AJS.Class({init:function(_1){
+this.use_fx=AJS.fx;
+this.type="page";
+this.overlay_click_close=false;
+this.salt=0;
+this.root_dir=GB_ROOT_DIR;
+this.callback_fns=[];
+this.reload_on_close=false;
+this.src_loader=this.root_dir+"loader_frame.html";
+var _2=window.location.hostname.indexOf("www");
+var _3=this.src_loader.indexOf("www");
+if(_2!=-1&&_3==-1){
+this.src_loader=this.src_loader.replace("://","://www.");
+}
+if(_2==-1&&_3!=-1){
+this.src_loader=this.src_loader.replace("://www.","://");
+}
+this.show_loading=true;
+AJS.update(this,_1);
+},addCallback:function(fn){
+if(fn){
+this.callback_fns.push(fn);
+}
+},show:function(_5){
+GB_CURRENT=this;
+this.url=_5;
+var _6=[AJS.$bytc("object"),AJS.$bytc("select")];
+AJS.map(AJS.flattenList(_6),function(_7){
+_7.style.visibility="hidden";
+});
+this.createElements();
+return false;
+},hide:function(){
+var _8=this.callback_fns;
+if(_8!=[]){
+AJS.map(_8,function(fn){
+fn();
+});
+}
+this.onHide();
+if(this.use_fx){
+var _a=this.overlay;
+AJS.fx.fadeOut(this.overlay,{onComplete:function(){
+AJS.removeElement(_a);
+_a=null;
+},duration:300});
+AJS.removeElement(this.g_window);
+}else{
+AJS.removeElement(this.g_window,this.overlay);
+}
+this.removeFrame();
+AJS.REV(window,"scroll",_GB_setOverlayDimension);
+AJS.REV(window,"resize",_GB_update);
+var _b=[AJS.$bytc("object"),AJS.$bytc("select")];
+AJS.map(AJS.flattenList(_b),function(_c){
+_c.style.visibility="visible";
+});
+GB_CURRENT=null;
+if(this.reload_on_close){
+window.location.reload();
+}
+},update:function(){
+this.setOverlayDimension();
+this.setFrameSize();
+this.setWindowPosition();
+},createElements:function(){
+this.initOverlay();
+this.g_window=AJS.DIV({"id":"GB_window"});
+AJS.hideElement(this.g_window);
+AJS.getBody().insertBefore(this.g_window,this.overlay.nextSibling);
+this.initFrame();
+this.initHook();
+this.update();
+var me=this;
+if(this.use_fx){
+AJS.fx.fadeIn(this.overlay,{duration:300,to:0.7,onComplete:function(){
+me.onShow();
+AJS.showElement(me.g_window);
+me.startLoading();
+}});
+}else{
+AJS.setOpacity(this.overlay,0.7);
+AJS.showElement(this.g_window);
+this.onShow();
+this.startLoading();
+}
+AJS.AEV(window,"scroll",_GB_setOverlayDimension);
+AJS.AEV(window,"resize",_GB_update);
+},removeFrame:function(){
+try{
+AJS.removeElement(this.iframe);
+}
+catch(e){
+}
+this.iframe=null;
+},startLoading:function(){
+this.iframe.src=this.src_loader+"?s="+this.salt++;
+AJS.showElement(this.iframe);
+},setOverlayDimension:function(){
+var _e=AJS.getWindowSize();
+if(AJS.isMozilla()||AJS.isOpera()){
+AJS.setWidth(this.overlay,"100%");
+}else{
+AJS.setWidth(this.overlay,_e.w);
+}
+var _f=Math.max(AJS.getScrollTop()+_e.h,AJS.getScrollTop()+this.height);
+if(_f<AJS.getScrollTop()){
+AJS.setHeight(this.overlay,_f);
+}else{
+AJS.setHeight(this.overlay,AJS.getScrollTop()+_e.h);
+}
+},initOverlay:function(){
+this.overlay=AJS.DIV({"id":"GB_overlay"});
+if(this.overlay_click_close){
+AJS.AEV(this.overlay,"click",GB_hide);
+}
+AJS.setOpacity(this.overlay,0);
+AJS.getBody().insertBefore(this.overlay,AJS.getBody().firstChild);
+},initFrame:function(){
+if(!this.iframe){
+var d={"name":"GB_frame","class":"GB_frame","frameBorder":0};
+this.iframe=AJS.IFRAME(d);
+this.middle_cnt=AJS.DIV({"class":"content"},this.iframe);
+this.top_cnt=AJS.DIV();
+this.bottom_cnt=AJS.DIV();
+AJS.ACN(this.g_window,this.top_cnt,this.middle_cnt,this.bottom_cnt);
+}
+},onHide:function(){
+},onShow:function(){
+},setFrameSize:function(){
+},setWindowPosition:function(){
+},initHook:function(){
+}});
+_GB_update=function(){
+if(GB_CURRENT){
+GB_CURRENT.update();
+}
+};
+_GB_setOverlayDimension=function(){
+if(GB_CURRENT){
+GB_CURRENT.setOverlayDimension();
+}
+};
+AJS.preloadImages(GB_ROOT_DIR+"indicator.gif");
+script_loaded=true;
+var GB_SETS={};
+function decoGreyboxLinks(){
+var as=AJS.$bytc("a");
+AJS.map(as,function(a){
+if(a.getAttribute("href")&&a.getAttribute("rel")){
+var rel=a.getAttribute("rel");
+if(rel.indexOf("gb_")==0){
+var _14=rel.match(/\w+/)[0];
+var _15=rel.match(/\[(.*)\]/)[1];
+var _16=0;
+var _17={"caption":a.title||"","url":a.href};
+if(_14=="gb_pageset"||_14=="gb_imageset"){
+if(!GB_SETS[_15]){
+GB_SETS[_15]=[];
+}
+GB_SETS[_15].push(_17);
+_16=GB_SETS[_15].length;
+}
+if(_14=="gb_pageset"){
+a.onclick=function(){
+GB_showFullScreenSet(GB_SETS[_15],_16);
+return false;
+};
+}
+if(_14=="gb_imageset"){
+a.onclick=function(){
+GB_showImageSet(GB_SETS[_15],_16);
+return false;
+};
+}
+if(_14=="gb_image"){
+a.onclick=function(){
+GB_showImage(_17.caption,_17.url);
+return false;
+};
+}
+if(_14=="gb_page"){
+a.onclick=function(){
+var sp=_15.split(/, ?/);
+GB_show(_17.caption,_17.url,parseInt(sp[1]),parseInt(sp[0]));
+return false;
+};
+}
+if(_14=="gb_page_fs"){
+a.onclick=function(){
+GB_showFullScreen(_17.caption,_17.url);
+return false;
+};
+}
+if(_14=="gb_page_center"){
+a.onclick=function(){
+var sp=_15.split(/, ?/);
+GB_showCenter(_17.caption,_17.url,parseInt(sp[1]),parseInt(sp[0]));
+return false;
+};
+}
+}
+}
+});
+}
+AJS.AEV(window,"load",decoGreyboxLinks);
+GB_showImage=function(_1a,url,_1c){
+var _1d={width:300,height:300,type:"image",fullscreen:false,center_win:true,caption:_1a,callback_fn:_1c};
+var win=new GB_Gallery(_1d);
+return win.show(url);
+};
+GB_showPage=function(_1f,url,_21){
+var _22={type:"page",caption:_1f,callback_fn:_21,fullscreen:true,center_win:false};
+var win=new GB_Gallery(_22);
+return win.show(url);
+};
+GB_Gallery=GreyBox.extend({init:function(_24){
+this.parent({});
+this.img_close=this.root_dir+"g_close.gif";
+AJS.update(this,_24);
+this.addCallback(this.callback_fn);
+},initHook:function(){
+AJS.addClass(this.g_window,"GB_Gallery");
+var _25=AJS.DIV({"class":"inner"});
+this.header=AJS.DIV({"class":"GB_header"},_25);
+AJS.setOpacity(this.header,0);
+AJS.getBody().insertBefore(this.header,this.overlay.nextSibling);
+var _26=AJS.TD({"id":"GB_caption","class":"caption","width":"40%"},this.caption);
+var _27=AJS.TD({"id":"GB_middle","class":"middle","width":"20%"});
+var _28=AJS.IMG({"src":this.img_close});
+AJS.AEV(_28,"click",GB_hide);
+var _29=AJS.TD({"class":"close","width":"40%"},_28);
+var _2a=AJS.TBODY(AJS.TR(_26,_27,_29));
+var _2b=AJS.TABLE({"cellspacing":"0","cellpadding":0,"border":0},_2a);
+AJS.ACN(_25,_2b);
+if(this.fullscreen){
+AJS.AEV(window,"scroll",AJS.$b(this.setWindowPosition,this));
+}else{
+AJS.AEV(window,"scroll",AJS.$b(this._setHeaderPos,this));
+}
+},setFrameSize:function(){
+var _2c=this.overlay.offsetWidth;
+var _2d=AJS.getWindowSize();
+if(this.fullscreen){
+this.width=_2c-40;
+this.height=_2d.h-80;
+}
+AJS.setWidth(this.iframe,this.width);
+AJS.setHeight(this.iframe,this.height);
+AJS.setWidth(this.header,_2c);
+},_setHeaderPos:function(){
+AJS.setTop(this.header,AJS.getScrollTop()+10);
+},setWindowPosition:function(){
+var _2e=this.overlay.offsetWidth;
+var _2f=AJS.getWindowSize();
+AJS.setLeft(this.g_window,((_2e-50-this.width)/2));
+var _30=AJS.getScrollTop()+55;
+if(!this.center_win){
+AJS.setTop(this.g_window,_30);
+}else{
+var fl=((_2f.h-this.height)/2)+20+AJS.getScrollTop();
+if(fl<0){
+fl=0;
+}
+if(_30>fl){
+fl=_30;
+}
+AJS.setTop(this.g_window,fl);
+}
+this._setHeaderPos();
+},onHide:function(){
+AJS.removeElement(this.header);
+AJS.removeClass(this.g_window,"GB_Gallery");
+},onShow:function(){
+if(this.use_fx){
+AJS.fx.fadeIn(this.header,{to:1});
+}else{
+AJS.setOpacity(this.header,1);
+}
+}});
+AJS.preloadImages(GB_ROOT_DIR+"g_close.gif");
+GB_showFullScreenSet=function(set,_33,_34){
+var _35={type:"page",fullscreen:true,center_win:false};
+var _36=new GB_Sets(_35,set);
+_36.addCallback(_34);
+_36.showSet(_33-1);
+return false;
+};
+GB_showImageSet=function(set,_38,_39){
+var _3a={type:"image",fullscreen:false,center_win:true,width:300,height:300};
+var _3b=new GB_Sets(_3a,set);
+_3b.addCallback(_39);
+_3b.showSet(_38-1);
+return false;
+};
+GB_Sets=GB_Gallery.extend({init:function(_3c,set){
+this.parent(_3c);
+if(!this.img_next){
+this.img_next=this.root_dir+"next.gif";
+}
+if(!this.img_prev){
+this.img_prev=this.root_dir+"prev.gif";
+}
+this.current_set=set;
+},showSet:function(_3e){
+this.current_index=_3e;
+var _3f=this.current_set[this.current_index];
+this.show(_3f.url);
+this._setCaption(_3f.caption);
+this.btn_prev=AJS.IMG({"class":"left",src:this.img_prev});
+this.btn_next=AJS.IMG({"class":"right",src:this.img_next});
+AJS.AEV(this.btn_prev,"click",AJS.$b(this.switchPrev,this));
+AJS.AEV(this.btn_next,"click",AJS.$b(this.switchNext,this));
+GB_STATUS=AJS.SPAN({"class":"GB_navStatus"});
+AJS.ACN(AJS.$("GB_middle"),this.btn_prev,GB_STATUS,this.btn_next);
+this.updateStatus();
+},updateStatus:function(){
+AJS.setHTML(GB_STATUS,(this.current_index+1)+" / "+this.current_set.length);
+if(this.current_index==0){
+AJS.addClass(this.btn_prev,"disabled");
+}else{
+AJS.removeClass(this.btn_prev,"disabled");
+}
+if(this.current_index==this.current_set.length-1){
+AJS.addClass(this.btn_next,"disabled");
+}else{
+AJS.removeClass(this.btn_next,"disabled");
+}
+},_setCaption:function(_40){
+AJS.setHTML(AJS.$("GB_caption"),_40);
+},updateFrame:function(){
+var _41=this.current_set[this.current_index];
+this._setCaption(_41.caption);
+this.url=_41.url;
+this.startLoading();
+},switchPrev:function(){
+if(this.current_index!=0){
+this.current_index--;
+this.updateFrame();
+this.updateStatus();
+}
+},switchNext:function(){
+if(this.current_index!=this.current_set.length-1){
+this.current_index++;
+this.updateFrame();
+this.updateStatus();
+}
+}});
+AJS.AEV(window,"load",function(){
+AJS.preloadImages(GB_ROOT_DIR+"next.gif",GB_ROOT_DIR+"prev.gif");
+});
+GB_show=function(_42,url,_44,_45,_46){
+var _47={caption:_42,height:_44||500,width:_45||500,fullscreen:false,callback_fn:_46};
+var win=new GB_Window(_47);
+return win.show(url);
+};
+GB_showCenter=function(_49,url,_4b,_4c,_4d){
+var _4e={caption:_49,center_win:true,height:_4b||500,width:_4c||500,fullscreen:false,callback_fn:_4d};
+var win=new GB_Window(_4e);
+return win.show(url);
+};
+GB_showFullScreen=function(_50,url,_52){
+var _53={caption:_50,fullscreen:true,callback_fn:_52};
+var win=new GB_Window(_53);
+return win.show(url);
+};
+GB_Window=GreyBox.extend({init:function(_55){
+this.parent({});
+this.img_header=this.root_dir+"header_bg.gif";
+this.img_close=this.root_dir+"w_close.gif";
+this.show_close_img=true;
+AJS.update(this,_55);
+this.addCallback(this.callback_fn);
+},initHook:function(){
+AJS.addClass(this.g_window,"GB_Window");
+this.header=AJS.TABLE({"class":"header"});
+this.header.style.backgroundImage="url("+this.img_header+")";
+var _56=AJS.TD({"class":"caption"},this.caption);
+var _57=AJS.TD({"class":"close"});
+if(this.show_close_img){
+var _58=AJS.IMG({"src":this.img_close});
+var _59=AJS.SPAN("Close");
+var btn=AJS.DIV(_58,_59);
+AJS.AEV([_58,_59],"mouseover",function(){
+AJS.addClass(_59,"on");
+});
+AJS.AEV([_58,_59],"mouseout",function(){
+AJS.removeClass(_59,"on");
+});
+AJS.AEV([_58,_59],"mousedown",function(){
+AJS.addClass(_59,"click");
+});
+AJS.AEV([_58,_59],"mouseup",function(){
+AJS.removeClass(_59,"click");
+});
+AJS.AEV([_58,_59],"click",GB_hide);
+AJS.ACN(_57,btn);
+}
+tbody_header=AJS.TBODY();
+AJS.ACN(tbody_header,AJS.TR(_56,_57));
+AJS.ACN(this.header,tbody_header);
+AJS.ACN(this.top_cnt,this.header);
+if(this.fullscreen){
+AJS.AEV(window,"scroll",AJS.$b(this.setWindowPosition,this));
+}
+},setFrameSize:function(){
+if(this.fullscreen){
+var _5b=AJS.getWindowSize();
+overlay_h=_5b.h;
+this.width=Math.round(this.overlay.offsetWidth-(this.overlay.offsetWidth/100)*10);
+this.height=Math.round(overlay_h-(overlay_h/100)*10);
+}
+AJS.setWidth(this.header,this.width+6);
+AJS.setWidth(this.iframe,this.width);
+AJS.setHeight(this.iframe,this.height);
+},setWindowPosition:function(){
+var _5c=AJS.getWindowSize();
+AJS.setLeft(this.g_window,((_5c.w-this.width)/2)-13);
+if(!this.center_win){
+AJS.setTop(this.g_window,AJS.getScrollTop());
+}else{
+var fl=((_5c.h-this.height)/2)-20+AJS.getScrollTop();
+if(fl<0){
+fl=0;
+}
+AJS.setTop(this.g_window,fl);
+}
+}});
+AJS.preloadImages(GB_ROOT_DIR+"w_close.gif",GB_ROOT_DIR+"header_bg.gif");
+
+
+script_loaded=true;
\ No newline at end of file
diff --git a/koha-tmpl/opac-tmpl/ccsr/en/lib/greybox/gb_styles.css b/koha-tmpl/opac-tmpl/ccsr/en/lib/greybox/gb_styles.css
new file mode 100644 (file)
index 0000000..6c44fff
--- /dev/null
@@ -0,0 +1,158 @@
+/* Last-Modified: 28/06/06 00:08:22 */
+#GB_overlay {
+    background-color: #000;
+    position: absolute;
+    margin: auto;
+    top: 0;
+    left: 0;
+    z-index: 100;
+}
+
+#GB_window {
+    left: 0;
+    top: 0;
+    font-size: 1px;
+    position: absolute;
+    overflow: visible;
+    z-index: 150;
+}
+
+#GB_window .content {
+    width: auto;
+    margin: 0;
+    padding: 0;
+}
+
+#GB_frame {
+    border: 0;
+    margin: 0;
+    padding: 0;
+    overflow: auto;
+    white-space: nowrap;
+}
+
+
+.GB_Gallery {
+    margin: 0 22px 0 22px;
+}
+
+.GB_Gallery .content {
+    background-color: #fff;
+    border: 3px solid #ddd;
+}
+
+.GB_header {
+    top: 10px;
+    left: 0;
+    margin: 0;
+    z-index: 500;
+    position: absolute;
+    border-bottom: 2px solid #555;
+    border-top: 2px solid #555;
+}
+
+.GB_header .inner {
+    background-color: #333;
+    font-family: Arial, Verdana, sans-serif;
+    padding: 2px 20px 2px 20px;
+}
+
+.GB_header table {
+    margin: 0;
+    width: 100%;
+    border-collapse: separate;
+    border-right: 0px;
+    border-top: 0px;
+}
+
+.GB_header td {
+    background-color: #333333;
+    border-bottom: 0px;
+    border-left: 0px;
+    padding: 0em 0em;
+}
+
+.GB_header .caption {
+    text-align: left;
+    color: #eee;
+    white-space: nowrap;
+    font-size: 20px;
+    border-collapse: separate;
+}
+
+.GB_header .close {
+    text-align: right;
+}
+
+.GB_header .close img {
+    z-index: 500;
+    cursor: pointer;
+}
+
+.GB_header .middle {
+    white-space: nowrap;
+    text-align: center;
+}
+
+
+#GB_middle {
+    color: #eee;
+}
+
+#GB_middle img {
+    cursor: pointer;
+    vertical-align: middle;
+}
+
+#GB_middle .disabled {
+    cursor: default;
+}
+
+#GB_middle .left {
+    padding-right: 10px;
+}
+
+#GB_middle .right {
+    padding-left: 10px;
+}
+
+
+.GB_Window .content {
+    background-color: #fff;
+    border: 3px solid #ccc;
+    border-top: none;
+}
+
+.GB_Window .header {
+    border-bottom: 1px solid #aaa;
+    border-top: 1px solid #999;
+    border-left: 3px solid #ccc;
+    border-right: 3px solid #ccc;
+    margin: 0;
+
+    height: 22px;
+    font-size: 12px;
+    padding: 3px 0;
+    color: #333;
+}
+
+.GB_Window .caption {
+    font-size: 12px;
+    text-align: left;
+    font-weight: bold;
+    white-space: nowrap;
+    padding-right: 20px;
+}
+
+.GB_Window .close { text-align: right; }
+.GB_Window .close span {
+    font-size: 12px;
+    cursor: pointer;
+}
+.GB_Window .close img {
+    cursor: pointer;
+    padding: 0 3px 0 0;
+}
+
+.GB_Window .on { border-bottom: 1px solid #333; }
+.GB_Window .click { border-bottom: 1px solid red; }
diff --git a/koha-tmpl/opac-tmpl/ccsr/en/lib/greybox/header_bg.gif b/koha-tmpl/opac-tmpl/ccsr/en/lib/greybox/header_bg.gif
new file mode 100644 (file)
index 0000000..3913cfd
Binary files /dev/null and b/koha-tmpl/opac-tmpl/ccsr/en/lib/greybox/header_bg.gif differ
diff --git a/koha-tmpl/opac-tmpl/ccsr/en/lib/greybox/indicator.gif b/koha-tmpl/opac-tmpl/ccsr/en/lib/greybox/indicator.gif
new file mode 100644 (file)
index 0000000..02bdbdd
Binary files /dev/null and b/koha-tmpl/opac-tmpl/ccsr/en/lib/greybox/indicator.gif differ
diff --git a/koha-tmpl/opac-tmpl/ccsr/en/lib/greybox/loader_frame.html b/koha-tmpl/opac-tmpl/ccsr/en/lib/greybox/loader_frame.html
new file mode 100644 (file)
index 0000000..ea1c267
--- /dev/null
@@ -0,0 +1,104 @@
+<!--
+Notice: I feel so dirty doing this, but its the only way to make it cross browser.
+-->
+<html>
+<head>
+  <script>
+    var GB = parent.GB_CURRENT;
+    document.write('<script type="text/javascript" src="AJS.js"><\/script>');
+    if(GB.use_fx) {
+        document.write('<script type="text/javascript" src="AJS_fx.js"><\/script>');
+    }
+  </script>
+  <style>
+    body {
+      padding: 0;
+      margin: 0;
+      overflow: hidden;
+    }
+
+    #GB_frame {
+      visibility: hidden;
+      width: 100%;
+      height: 100%;
+    }
+
+    #loading {
+      padding-top: 50px;
+      position: absolute;
+      width: 100%;
+      top: 0;
+      text-align: center;
+      vertical-align: middle;
+    }
+  </style>
+</head>
+<body>
+
+<div id="loading">
+  <img src="indicator.gif">
+</div>
+
+<script>
+var loading = AJS.$('loading');
+var gb_type = GB.type;
+var gb_url = GB.url;
+
+//Start loading in the iframe
+if(gb_type == "page") {
+  document.write('<iframe id="GB_frame" src="' + gb_url + '" frameborder="0"></iframe>');
+}
+else {
+  var img_holder = new Image();
+  img_holder.src = gb_url;
+  document.write('<img id="GB_frame" src="' + gb_url + '">');
+}
+var frame = AJS.$('GB_frame');
+</script>
+
+</body>
+<script>
+function setupOuterGB() {
+    frame.style.visibility = 'visible';
+    GB.setFrameSize();
+    GB.setWindowPosition();
+}
+
+function loaded() {
+    AJS.removeElement(loading);
+
+    GB.overlay.innerHTML += "&nbsp;"; //Safari bugfix
+
+    if(gb_type == "image") {
+        if(img_holder.width != 0 && img_holder.height != 0) {
+            var width = img_holder.width;
+            var height = img_holder.height;
+
+            GB.width = width;
+            GB.height = height;
+
+            setupOuterGB();
+
+            if(GB.use_fx) {
+                AJS.setOpacity(frame, 0);
+                AJS.fx.fadeIn(frame);
+            }
+        }
+    }
+    else {
+        GB.width = frame.offsetWidth;
+        GB.height = frame.offsetHeight;
+        setupOuterGB();
+    }
+}
+
+if(GB.show_loading) {
+    AJS.AEV(window, 'load', function(e) {
+        loaded();
+    });
+}
+else {
+    loaded();
+}
+</script>
+</html>
diff --git a/koha-tmpl/opac-tmpl/ccsr/en/lib/greybox/next.gif b/koha-tmpl/opac-tmpl/ccsr/en/lib/greybox/next.gif
new file mode 100644 (file)
index 0000000..c0f8908
Binary files /dev/null and b/koha-tmpl/opac-tmpl/ccsr/en/lib/greybox/next.gif differ
diff --git a/koha-tmpl/opac-tmpl/ccsr/en/lib/greybox/prev.gif b/koha-tmpl/opac-tmpl/ccsr/en/lib/greybox/prev.gif
new file mode 100644 (file)
index 0000000..d20e095
Binary files /dev/null and b/koha-tmpl/opac-tmpl/ccsr/en/lib/greybox/prev.gif differ
diff --git a/koha-tmpl/opac-tmpl/ccsr/en/lib/greybox/w_close.gif b/koha-tmpl/opac-tmpl/ccsr/en/lib/greybox/w_close.gif
new file mode 100644 (file)
index 0000000..3c05b15
Binary files /dev/null and b/koha-tmpl/opac-tmpl/ccsr/en/lib/greybox/w_close.gif differ
diff --git a/koha-tmpl/opac-tmpl/ccsr/en/lib/jquery/images/ui-icons_222222_256x240.png b/koha-tmpl/opac-tmpl/ccsr/en/lib/jquery/images/ui-icons_222222_256x240.png
new file mode 100644 (file)
index 0000000..b273ff1
Binary files /dev/null and b/koha-tmpl/opac-tmpl/ccsr/en/lib/jquery/images/ui-icons_222222_256x240.png differ
diff --git a/koha-tmpl/opac-tmpl/ccsr/en/lib/jquery/images/ui-icons_454545_256x240.png b/koha-tmpl/opac-tmpl/ccsr/en/lib/jquery/images/ui-icons_454545_256x240.png
new file mode 100644 (file)
index 0000000..59bd45b
Binary files /dev/null and b/koha-tmpl/opac-tmpl/ccsr/en/lib/jquery/images/ui-icons_454545_256x240.png differ
diff --git a/koha-tmpl/opac-tmpl/ccsr/en/lib/jquery/jquery-ui.css b/koha-tmpl/opac-tmpl/ccsr/en/lib/jquery/jquery-ui.css
new file mode 100644 (file)
index 0000000..234b987
--- /dev/null
@@ -0,0 +1,435 @@
+/*!
+ * jQuery UI CSS Framework 1.8.20
+ *
+ * Copyright 2012, 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:before, .ui-helper-clearfix:after { content: ""; display: table; }
+.ui-helper-clearfix:after { clear: both; }
+.ui-helper-clearfix { zoom: 1; }
+.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.20
+ *
+ * Copyright 2012, 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/?ffDefault=Verdana,Arial,sans-serif&fwDefault=normal&fsDefault=1.1em&cornerRadius=4px&bgColorHeader=cccccc&bgTextureHeader=03_highlight_soft.png&bgImgOpacityHeader=75&borderColorHeader=aaaaaa&fcHeader=222222&iconColorHeader=222222&bgColorContent=ffffff&bgTextureContent=01_flat.png&bgImgOpacityContent=75&borderColorContent=aaaaaa&fcContent=222222&iconColorContent=222222&bgColorDefault=e6e6e6&bgTextureDefault=02_glass.png&bgImgOpacityDefault=75&borderColorDefault=d3d3d3&fcDefault=555555&iconColorDefault=888888&bgColorHover=dadada&bgTextureHover=02_glass.png&bgImgOpacityHover=75&borderColorHover=999999&fcHover=212121&iconColorHover=454545&bgColorActive=ffffff&bgTextureActive=02_glass.png&bgImgOpacityActive=65&borderColorActive=aaaaaa&fcActive=212121&iconColorActive=454545&bgColorHighlight=fbf9ee&bgTextureHighlight=02_glass.png&bgImgOpacityHighlight=55&borderColorHighlight=fcefa1&fcHighlight=363636&iconColorHighlight=2e83ff&bgColorError=fef1ec&bgTextureError=02_glass.png&bgImgOpacityError=95&borderColorError=cd0a0a&fcError=cd0a0a&iconColorError=cd0a0a&bgColorOverlay=aaaaaa&bgTextureOverlay=01_flat.png&bgImgOpacityOverlay=0&opacityOverlay=30&bgColorShadow=aaaaaa&bgTextureShadow=01_flat.png&bgImgOpacityShadow=0&opacityShadow=30&thicknessShadow=8px&offsetTopShadow=-8px&offsetLeftShadow=-8px&cornerRadiusShadow=8px
+ */
+
+
+/* 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 #B9D8D9; background: #ffffff; color: #222222; }
+.ui-widget-content a { color: #222222; }
+.ui-widget-header { border: 1px solid #B9D8D9; background: #E6F0F2 none; color: #222222; font-weight: bold; }
+.ui-widget-header a { color: #222222; }
+
+/* Interaction states
+----------------------------------*/
+.ui-state-default, .ui-widget-content .ui-state-default, .ui-widget-header .ui-state-default { border: 1px solid #B9D8D9; background: #F4F8F9 none; font-weight: normal; color: #555555; }
+.ui-state-default a, .ui-state-default a:link, .ui-state-default a:visited { color: #555555; 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 #B9D8D9; background: #E6F0F2 none; font-weight: normal; color: #212121; }
+.ui-state-hover a, .ui-state-hover a:hover { color: #212121; text-decoration: none; }
+.ui-state-active, .ui-widget-content .ui-state-active, .ui-widget-header .ui-state-active { border: 1px solid #aaaaaa; background: #ffffff none; font-weight: normal; color: #212121; }
+.ui-state-active a, .ui-state-active a:link, .ui-state-active a:visited { color: #212121; 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; 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 #cd0a0a; background: #fef1ec; color: #cd0a0a; }
+.ui-state-error a, .ui-widget-content .ui-state-error a, .ui-widget-header .ui-state-error a { color: #cd0a0a; }
+.ui-state-error-text, .ui-widget-content .ui-state-error-text, .ui-widget-header .ui-state-error-text { color: #cd0a0a; }
+.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/ui-icons_222222_256x240.png); }
+.ui-widget-content .ui-icon {background-image: url(images/ui-icons_222222_256x240.png); }
+.ui-widget-header .ui-icon {background-image: url(images/ui-icons_222222_256x240.png); }
+.ui-state-default .ui-icon { background-image: url(images/ui-icons_888888_256x240.png); }
+.ui-state-hover .ui-icon, .ui-state-focus .ui-icon {background-image: url(images/ui-icons_454545_256x240.png); }
+.ui-state-active .ui-icon {background-image: url(images/ui-icons_454545_256x240.png); }
+.ui-state-highlight .ui-icon {background-image: url(images/ui-icons_2e83ff_256x240.png); }
+.ui-state-error .ui-icon, .ui-state-error-text .ui-icon {background-image: url(images/ui-icons_cd0a0a_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: 4px; -webkit-border-top-left-radius: 4px; -khtml-border-top-left-radius: 4px; border-top-left-radius: 4px; }
+.ui-corner-all, .ui-corner-top, .ui-corner-right, .ui-corner-tr { -moz-border-radius-topright: 4px; -webkit-border-top-right-radius: 4px; -khtml-border-top-right-radius: 4px; border-top-right-radius: 4px; }
+.ui-corner-all, .ui-corner-bottom, .ui-corner-left, .ui-corner-bl { -moz-border-radius-bottomleft: 4px; -webkit-border-bottom-left-radius: 4px; -khtml-border-bottom-left-radius: 4px; border-bottom-left-radius: 4px; }
+.ui-corner-all, .ui-corner-bottom, .ui-corner-right, .ui-corner-br { -moz-border-radius-bottomright: 4px; -webkit-border-bottom-right-radius: 4px; -khtml-border-bottom-right-radius: 4px; border-bottom-right-radius: 4px; }
+
+/* Overlays */
+.ui-widget-overlay { background: #aaaaaa url(images/ui-bg_flat_0_aaaaaa_40x100.png) 50% 50% repeat-x; opacity: .30;filter:Alpha(Opacity=30); }
+.ui-widget-shadow { margin: -8px 0 0 -8px; padding: 8px; background: #aaaaaa url(images/ui-bg_flat_0_aaaaaa_40x100.png) 50% 50% repeat-x; opacity: .30;filter:Alpha(Opacity=30); -moz-border-radius: 8px; -khtml-border-radius: 8px; -webkit-border-radius: 8px; border-radius: 8px; }/*!
+ * jQuery UI Autocomplete 1.8.20
+ *
+ * Copyright 2012, 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; -webkit-box-shadow: 2px 2px 2px rgba(0,0,0,.3); -moz-box-shadow: 2px 2px 2px rgba(0,0,0,.3); box-shadow: 2px 2px 2px rgba(0,0,0,.3); }
+
+.ui-autocomplete.ui-widget-content .ui-state-hover { border: 1px solid #B9D8D9; background: #E6F0F2 none; font-weight: normal; color: #212121;
+}
+
+.ui-autocomplete-loading {
+    background: #FFF url("../../img/loading-small.gif") right center no-repeat;
+}
+
+/* workarounds */
+* html .ui-autocomplete { width:1px; } /* without this, the menu expands to 100% in IE6 */
+
+/*
+ * jQuery UI Menu 1.8.20
+ *
+ * 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 li {
+    list-style:none;
+}
+.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 Tabs 1.8.20
+ *
+ * Copyright 2012, 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.20
+ *
+ * Copyright 2012, 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 : 0; border-collapse: collapse; margin:0 0 .4em; }
+.ui-datepicker th { background : transparent none; 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*/
+}
\ No newline at end of file
diff --git a/koha-tmpl/opac-tmpl/ccsr/en/lib/jquery/jquery-ui.js b/koha-tmpl/opac-tmpl/ccsr/en/lib/jquery/jquery-ui.js
new file mode 100644 (file)
index 0000000..6996eae
--- /dev/null
@@ -0,0 +1,29 @@
+/*! jQuery UI - v1.8.21 - 2012-06-05
+* https://github.com/jquery/jquery-ui
+* Includes: jquery.ui.core.js
+* Copyright (c) 2012 AUTHORS.txt; Licensed MIT, GPL */
+(function(a,b){function c(b,c){var e=b.nodeName.toLowerCase();if("area"===e){var f=b.parentNode,g=f.name,h;return!b.href||!g||f.nodeName.toLowerCase()!=="map"?!1:(h=a("img[usemap=#"+g+"]")[0],!!h&&d(h))}return(/input|select|textarea|button|object/.test(e)?!b.disabled:"a"==e?b.href||c:c)&&d(b)}function d(b){return!a(b).parents().andSelf().filter(function(){return a.curCSS(this,"visibility")==="hidden"||a.expr.filters.hidden(this)}).length}a.ui=a.ui||{};if(a.ui.version)return;a.extend(a.ui,{version:"1.8.21",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}}),a.fn.extend({propAttr:a.fn.prop||a.fn.attr,_focus:a.fn.focus,focus:function(b,c){return typeof b=="number"?this.each(function(){var d=this;setTimeout(function(){a(d).focus(),c&&c.call(d)},b)}):this._focus.apply(this,arguments)},scrollParent:function(){var b;return a.browser.msie&&/(static|relative)/.test(this.css("position"))||/absolute/.test(this.css("position"))?b=this.parents().filter(function(){return/(relative|absolute|fixed)/.test(a.curCSS(this,"position",1))&&/(auto|scroll)/.test(a.curCSS(this,"overflow",1)+a.curCSS(this,"overflow-y",1)+a.curCSS(this,"overflow-x",1))}).eq(0):b=this.parents().filter(function(){return/(auto|scroll)/.test(a.curCSS(this,"overflow",1)+a.curCSS(this,"overflow-y",1)+a.curCSS(this,"overflow-x",1))}).eq(0),/fixed/.test(this.css("position"))||!b.length?a(document):b},zIndex:function(c){if(c!==b)return this.css("zIndex",c);if(this.length){var d=a(this[0]),e,f;while(d.length&&d[0]!==document){e=d.css("position");if(e==="absolute"||e==="relative"||e==="fixed"){f=parseInt(d.css("zIndex"),10);if(!isNaN(f)&&f!==0)return f}d=d.parent()}}return 0},disableSelection:function(){return this.bind((a.support.selectstart?"selectstart":"mousedown")+".ui-disableSelection",function(a){a.preventDefault()})},enableSelection:function(){return this.unbind(".ui-disableSelection")}}),a.each(["Width","Height"],function(c,d){function h(b,c,d,f){return a.each(e,function(){c-=parseFloat(a.curCSS(b,"padding"+this,!0))||0,d&&(c-=parseFloat(a.curCSS(b,"border"+this+"Width",!0))||0),f&&(c-=parseFloat(a.curCSS(b,"margin"+this,!0))||0)}),c}var e=d==="Width"?["Left","Right"]:["Top","Bottom"],f=d.toLowerCase(),g={innerWidth:a.fn.innerWidth,innerHeight:a.fn.innerHeight,outerWidth:a.fn.outerWidth,outerHeight:a.fn.outerHeight};a.fn["inner"+d]=function(c){return c===b?g["inner"+d].call(this):this.each(function(){a(this).css(f,h(this,c)+"px")})},a.fn["outer"+d]=function(b,c){return typeof b!="number"?g["outer"+d].call(this,b):this.each(function(){a(this).css(f,h(this,b,!0,c)+"px")})}}),a.extend(a.expr[":"],{data:function(b,c,d){return!!a.data(b,d[3])},focusable:function(b){return c(b,!isNaN(a.attr(b,"tabindex")))},tabbable:function(b){var d=a.attr(b,"tabindex"),e=isNaN(d);return(e||d>=0)&&c(b,!e)}}),a(function(){var b=document.body,c=b.appendChild(c=document.createElement("div"));c.offsetHeight,a.extend(c.style,{minHeight:"100px",height:"auto",padding:0,borderWidth:0}),a.support.minHeight=c.offsetHeight===100,a.support.selectstart="onselectstart"in c,b.removeChild(c).style.display="none"}),a.extend(a.ui,{plugin:{add:function(b,c,d){var e=a.ui[b].prototype;for(var f in d)e.plugins[f]=e.plugins[f]||[],e.plugins[f].push([c,d[f]])},call:function(a,b,c){var d=a.plugins[b];if(!d||!a.element[0].parentNode)return;for(var e=0;e<d.length;e++)a.options[d[e][0]]&&d[e][1].apply(a.element,c)}},contains:function(a,b){return document.compareDocumentPosition?a.compareDocumentPosition(b)&16:a!==b&&a.contains(b)},hasScroll:function(b,c){if(a(b).css("overflow")==="hidden")return!1;var d=c&&c==="left"?"scrollLeft":"scrollTop",e=!1;return b[d]>0?!0:(b[d]=1,e=b[d]>0,b[d]=0,e)},isOverAxis:function(a,b,c){return a>b&&a<b+c},isOver:function(b,c,d,e,f,g){return a.ui.isOverAxis(b,d,f)&&a.ui.isOverAxis(c,e,g)}})})(jQuery);;/*! jQuery UI - v1.8.21 - 2012-06-05
+* https://github.com/jquery/jquery-ui
+* Includes: jquery.ui.widget.js
+* Copyright (c) 2012 AUTHORS.txt; Licensed MIT, GPL */
+(function(a,b){if(a.cleanData){var c=a.cleanData;a.cleanData=function(b){for(var d=0,e;(e=b[d])!=null;d++)try{a(e).triggerHandler("remove")}catch(f){}c(b)}}else{var d=a.fn.remove;a.fn.remove=function(b,c){return this.each(function(){return c||(!b||a.filter(b,[this]).length)&&a("*",this).add([this]).each(function(){try{a(this).triggerHandler("remove")}catch(b){}}),d.call(a(this),b,c)})}}a.widget=function(b,c,d){var e=b.split(".")[0],f;b=b.split(".")[1],f=e+"-"+b,d||(d=c,c=a.Widget),a.expr[":"][f]=function(c){return!!a.data(c,b)},a[e]=a[e]||{},a[e][b]=function(a,b){arguments.length&&this._createWidget(a,b)};var g=new c;g.options=a.extend(!0,{},g.options),a[e][b].prototype=a.extend(!0,g,{namespace:e,widgetName:b,widgetEventPrefix:a[e][b].prototype.widgetEventPrefix||b,widgetBaseClass:f},d),a.widget.bridge(b,a[e][b])},a.widget.bridge=function(c,d){a.fn[c]=function(e){var f=typeof e=="string",g=Array.prototype.slice.call(arguments,1),h=this;return e=!f&&g.length?a.extend.apply(null,[!0,e].concat(g)):e,f&&e.charAt(0)==="_"?h:(f?this.each(function(){var d=a.data(this,c),f=d&&a.isFunction(d[e])?d[e].apply(d,g):d;if(f!==d&&f!==b)return h=f,!1}):this.each(function(){var b=a.data(this,c);b?b.option(e||{})._init():a.data(this,c,new d(e,this))}),h)}},a.Widget=function(a,b){arguments.length&&this._createWidget(a,b)},a.Widget.prototype={widgetName:"widget",widgetEventPrefix:"",options:{disabled:!1},_createWidget:function(b,c){a.data(c,this.widgetName,this),this.element=a(c),this.options=a.extend(!0,{},this.options,this._getCreateOptions(),b);var d=this;this.element.bind("remove."+this.widgetName,function(){d.destroy()}),this._create(),this._trigger("create"),this._init()},_getCreateOptions:function(){return a.metadata&&a.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(c,d){var e=c;if(arguments.length===0)return a.extend({},this.options);if(typeof c=="string"){if(d===b)return this.options[c];e={},e[c]=d}return this._setOptions(e),this},_setOptions:function(b){var c=this;return a.each(b,function(a,b){c._setOption(a,b)}),this},_setOption:function(a,b){return this.options[a]=b,a==="disabled"&&this.widget()[b?"addClass":"removeClass"](this.widgetBaseClass+"-disabled"+" "+"ui-state-disabled").attr("aria-disabled",b),this},enable:function(){return this._setOption("disabled",!1)},disable:function(){return this._setOption("disabled",!0)},_trigger:function(b,c,d){var e,f,g=this.options[b];d=d||{},c=a.Event(c),c.type=(b===this.widgetEventPrefix?b:this.widgetEventPrefix+b).toLowerCase(),c.target=this.element[0],f=c.originalEvent;if(f)for(e in f)e in c||(c[e]=f[e]);return this.element.trigger(c,d),!(a.isFunction(g)&&g.call(this.element[0],c,d)===!1||c.isDefaultPrevented())}}})(jQuery);;/*! jQuery UI - v1.8.21 - 2012-06-05
+* https://github.com/jquery/jquery-ui
+* Includes: jquery.ui.mouse.js
+* Copyright (c) 2012 AUTHORS.txt; Licensed MIT, GPL */
+(function(a,b){var c=!1;a(document).mouseup(function(a){c=!1}),a.widget("ui.mouse",{options:{cancel:":input,option",distance:1,delay:0},_mouseInit:function(){var b=this;this.element.bind("mousedown."+this.widgetName,function(a){return b._mouseDown(a)}).bind("click."+this.widgetName,function(c){if(!0===a.data(c.target,b.widgetName+".preventClickEvent"))return a.removeData(c.target,b.widgetName+".preventClickEvent"),c.stopImmediatePropagation(),!1}),this.started=!1},_mouseDestroy:function(){this.element.unbind("."+this.widgetName),a(document).unbind("mousemove."+this.widgetName,this._mouseMoveDelegate).unbind("mouseup."+this.widgetName,this._mouseUpDelegate)},_mouseDown:function(b){if(c)return;this._mouseStarted&&this._mouseUp(b),this._mouseDownEvent=b;var d=this,e=b.which==1,f=typeof this.options.cancel=="string"&&b.target.nodeName?a(b.target).closest(this.options.cancel).length:!1;if(!e||f||!this._mouseCapture(b))return!0;this.mouseDelayMet=!this.options.delay,this.mouseDelayMet||(this._mouseDelayTimer=setTimeout(function(){d.mouseDelayMet=!0},this.options.delay));if(this._mouseDistanceMet(b)&&this._mouseDelayMet(b)){this._mouseStarted=this._mouseStart(b)!==!1;if(!this._mouseStarted)return b.preventDefault(),!0}return!0===a.data(b.target,this.widgetName+".preventClickEvent")&&a.removeData(b.target,this.widgetName+".preventClickEvent"),this._mouseMoveDelegate=function(a){return d._mouseMove(a)},this._mouseUpDelegate=function(a){return d._mouseUp(a)},a(document).bind("mousemove."+this.widgetName,this._mouseMoveDelegate).bind("mouseup."+this.widgetName,this._mouseUpDelegate),b.preventDefault(),c=!0,!0},_mouseMove:function(b){return!a.browser.msie||document.documentMode>=9||!!b.button?this._mouseStarted?(this._mouseDrag(b),b.preventDefault()):(this._mouseDistanceMet(b)&&this._mouseDelayMet(b)&&(this._mouseStarted=this._mouseStart(this._mouseDownEvent,b)!==!1,this._mouseStarted?this._mouseDrag(b):this._mouseUp(b)),!this._mouseStarted):this._mouseUp(b)},_mouseUp:function(b){return a(document).unbind("mousemove."+this.widgetName,this._mouseMoveDelegate).unbind("mouseup."+this.widgetName,this._mouseUpDelegate),this._mouseStarted&&(this._mouseStarted=!1,b.target==this._mouseDownEvent.target&&a.data(b.target,this.widgetName+".preventClickEvent",!0),this._mouseStop(b)),!1},_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(a){return this.mouseDelayMet},_mouseStart:function(a){},_mouseDrag:function(a){},_mouseStop:function(a){},_mouseCapture:function(a){return!0}})})(jQuery);;/*! jQuery UI - v1.8.21 - 2012-06-05
+* https://github.com/jquery/jquery-ui
+* Includes: jquery.ui.position.js
+* Copyright (c) 2012 AUTHORS.txt; Licensed MIT, GPL */
+(function(a,b){a.ui=a.ui||{};var c=/left|center|right/,d=/top|center|bottom/,e="center",f={},g=a.fn.position,h=a.fn.offset;a.fn.position=function(b){if(!b||!b.of)return g.apply(this,arguments);b=a.extend({},b);var h=a(b.of),i=h[0],j=(b.collision||"flip").split(" "),k=b.offset?b.offset.split(" "):[0,0],l,m,n;return i.nodeType===9?(l=h.width(),m=h.height(),n={top:0,left:0}):i.setTimeout?(l=h.width(),m=h.height(),n={top:h.scrollTop(),left:h.scrollLeft()}):i.preventDefault?(b.at="left top",l=m=0,n={top:b.of.pageY,left:b.of.pageX}):(l=h.outerWidth(),m=h.outerHeight(),n=h.offset()),a.each(["my","at"],function(){var a=(b[this]||"").split(" ");a.length===1&&(a=c.test(a[0])?a.concat([e]):d.test(a[0])?[e].concat(a):[e,e]),a[0]=c.test(a[0])?a[0]:e,a[1]=d.test(a[1])?a[1]:e,b[this]=a}),j.length===1&&(j[1]=j[0]),k[0]=parseInt(k[0],10)||0,k.length===1&&(k[1]=k[0]),k[1]=parseInt(k[1],10)||0,b.at[0]==="right"?n.left+=l:b.at[0]===e&&(n.left+=l/2),b.at[1]==="bottom"?n.top+=m:b.at[1]===e&&(n.top+=m/2),n.left+=k[0],n.top+=k[1],this.each(function(){var c=a(this),d=c.outerWidth(),g=c.outerHeight(),h=parseInt(a.curCSS(this,"marginLeft",!0))||0,i=parseInt(a.curCSS(this,"marginTop",!0))||0,o=d+h+(parseInt(a.curCSS(this,"marginRight",!0))||0),p=g+i+(parseInt(a.curCSS(this,"marginBottom",!0))||0),q=a.extend({},n),r;b.my[0]==="right"?q.left-=d:b.my[0]===e&&(q.left-=d/2),b.my[1]==="bottom"?q.top-=g:b.my[1]===e&&(q.top-=g/2),f.fractions||(q.left=Math.round(q.left),q.top=Math.round(q.top)),r={left:q.left-h,top:q.top-i},a.each(["left","top"],function(c,e){a.ui.position[j[c]]&&a.ui.position[j[c]][e](q,{targetWidth:l,targetHeight:m,elemWidth:d,elemHeight:g,collisionPosition:r,collisionWidth:o,collisionHeight:p,offset:k,my:b.my,at:b.at})}),a.fn.bgiframe&&c.bgiframe(),c.offset(a.extend(q,{using:b.using}))})},a.ui.position={fit:{left:function(b,c){var d=a(window),e=c.collisionPosition.left+c.collisionWidth-d.width()-d.scrollLeft();b.left=e>0?b.left-e:Math.max(b.left-c.collisionPosition.left,b.left)},top:function(b,c){var d=a(window),e=c.collisionPosition.top+c.collisionHeight-d.height()-d.scrollTop();b.top=e>0?b.top-e:Math.max(b.top-c.collisionPosition.top,b.top)}},flip:{left:function(b,c){if(c.at[0]===e)return;var d=a(window),f=c.collisionPosition.left+c.collisionWidth-d.width()-d.scrollLeft(),g=c.my[0]==="left"?-c.elemWidth:c.my[0]==="right"?c.elemWidth:0,h=c.at[0]==="left"?c.targetWidth:-c.targetWidth,i=-2*c.offset[0];b.left+=c.collisionPosition.left<0?g+h+i:f>0?g+h+i:0},top:function(b,c){if(c.at[1]===e)return;var d=a(window),f=c.collisionPosition.top+c.collisionHeight-d.height()-d.scrollTop(),g=c.my[1]==="top"?-c.elemHeight:c.my[1]==="bottom"?c.elemHeight:0,h=c.at[1]==="top"?c.targetHeight:-c.targetHeight,i=-2*c.offset[1];b.top+=c.collisionPosition.top<0?g+h+i:f>0?g+h+i:0}}},a.offset.setOffset||(a.offset.setOffset=function(b,c){/static/.test(a.curCSS(b,"position"))&&(b.style.position="relative");var d=a(b),e=d.offset(),f=parseInt(a.curCSS(b,"top",!0),10)||0,g=parseInt(a.curCSS(b,"left",!0),10)||0,h={top:c.top-e.top+f,left:c.left-e.left+g};"using"in c?c.using.call(b,h):d.css(h)},a.fn.offset=function(b){var c=this[0];return!c||!c.ownerDocument?null:b?a.isFunction(b)?this.each(function(c){a(this).offset(b.call(this,c,a(this).offset()))}):this.each(function(){a.offset.setOffset(this,b)}):h.call(this)}),function(){var b=document.getElementsByTagName("body")[0],c=document.createElement("div"),d,e,g,h,i;d=document.createElement(b?"div":"body"),g={visibility:"hidden",width:0,height:0,border:0,margin:0,background:"none"},b&&a.extend(g,{position:"absolute",left:"-1000px",top:"-1000px"});for(var j in g)d.style[j]=g[j];d.appendChild(c),e=b||document.documentElement,e.insertBefore(d,e.firstChild),c.style.cssText="position: absolute; left: 10.7432222px; top: 10.432325px; height: 30px; width: 201px;",h=a(c).offset(function(a,b){return b}).offset(),d.innerHTML="",e.removeChild(d),i=h.top+h.left+(b?2e3:0),f.fractions=i>21&&i<22}()})(jQuery);;/*! jQuery UI - v1.8.21 - 2012-06-05
+* https://github.com/jquery/jquery-ui
+* Includes: jquery.ui.autocomplete.js
+* Copyright (c) 2012 AUTHORS.txt; Licensed MIT, GPL */
+(function(a,b){var c=0;a.widget("ui.autocomplete",{options:{appendTo:"body",autoFocus:!1,delay:300,minLength:1,position:{my:"left top",at:"left bottom",collision:"none"},source:null},pending:0,_create:function(){var b=this,c=this.element[0].ownerDocument,d;this.isMultiLine=this.element.is("textarea"),this.element.addClass("ui-autocomplete-input").attr("autocomplete","off").attr({role:"textbox","aria-autocomplete":"list","aria-haspopup":"true"}).bind("keydown.autocomplete",function(c){if(b.options.disabled||b.element.propAttr("readOnly"))return;d=!1;var e=a.ui.keyCode;switch(c.keyCode){case e.PAGE_UP:b._move("previousPage",c);break;case e.PAGE_DOWN:b._move("nextPage",c);break;case e.UP:b._keyEvent("previous",c);break;case e.DOWN:b._keyEvent("next",c);break;case e.ENTER:case e.NUMPAD_ENTER:b.menu.active&&(d=!0,c.preventDefault());case e.TAB:if(!b.menu.active)return;b.menu.select(c);break;case e.ESCAPE:b.element.val(b.term),b.close(c);break;default:clearTimeout(b.searching),b.searching=setTimeout(function(){b.term!=b.element.val()&&(b.selectedItem=null,b.search(null,c))},b.options.delay)}}).bind("keypress.autocomplete",function(a){d&&(d=!1,a.preventDefault())}).bind("focus.autocomplete",function(){if(b.options.disabled)return;b.selectedItem=null,b.previous=b.element.val()}).bind("blur.autocomplete",function(a){if(b.options.disabled)return;clearTimeout(b.searching),b.closing=setTimeout(function(){b.close(a),b._change(a)},150)}),this._initSource(),this.menu=a("<ul></ul>").addClass("ui-autocomplete").appendTo(a(this.options.appendTo||"body",c)[0]).mousedown(function(c){var d=b.menu.element[0];a(c.target).closest(".ui-menu-item").length||setTimeout(function(){a(document).one("mousedown",function(c){c.target!==b.element[0]&&c.target!==d&&!a.ui.contains(d,c.target)&&b.close()})},1),setTimeout(function(){clearTimeout(b.closing)},13)}).menu({focus:function(a,c){var d=c.item.data("item.autocomplete");!1!==b._trigger("focus",a,{item:d})&&/^key/.test(a.originalEvent.type)&&b.element.val(d.value)},selected:function(a,d){var e=d.item.data("item.autocomplete"),f=b.previous;b.element[0]!==c.activeElement&&(b.element.focus(),b.previous=f,setTimeout(function(){b.previous=f,b.selectedItem=e},1)),!1!==b._trigger("select",a,{item:e})&&b.element.val(e.value),b.term=b.element.val(),b.close(a),b.selectedItem=e},blur:function(a,c){b.menu.element.is(":visible")&&b.element.val()!==b.term&&b.element.val(b.term)}}).zIndex(this.element.zIndex()+1).css({top:0,left:0}).hide().data("menu"),a.fn.bgiframe&&this.menu.element.bgiframe(),b.beforeunloadHandler=function(){b.element.removeAttr("autocomplete")},a(window).bind("beforeunload",b.beforeunloadHandler)},destroy:function(){this.element.removeClass("ui-autocomplete-input").removeAttr("autocomplete").removeAttr("role").removeAttr("aria-autocomplete").removeAttr("aria-haspopup"),this.menu.element.remove(),a(window).unbind("beforeunload",this.beforeunloadHandler),a.Widget.prototype.destroy.call(this)},_setOption:function(b,c){a.Widget.prototype._setOption.apply(this,arguments),b==="source"&&this._initSource(),b==="appendTo"&&this.menu.element.appendTo(a(c||"body",this.element[0].ownerDocument)[0]),b==="disabled"&&c&&this.xhr&&this.xhr.abort()},_initSource:function(){var b=this,c,d;a.isArray(this.options.source)?(c=this.options.source,this.source=function(b,d){d(a.ui.autocomplete.filter(c,b.term))}):typeof this.options.source=="string"?(d=this.options.source,this.source=function(c,e){b.xhr&&b.xhr.abort(),b.xhr=a.ajax({url:d,data:c,dataType:"json",success:function(a,b){e(a)},error:function(){e([])}})}):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)===!1)return;return this._search(a)},_search:function(a){this.pending++,this.element.addClass("ui-autocomplete-loading"),this.source({term:a},this._response())},_response:function(){var a=this,b=++c;return function(d){b===c&&a.__response(d),a.pending--,a.pending||a.element.removeClass("ui-autocomplete-loading")}},__response:function(a){!this.options.disabled&&a&&a.length?(a=this._normalize(a),this._suggest(a),this._trigger("open")):this.close()},close:function(a){clearTimeout(this.closing),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(b){return b.length&&b[0].label&&b[0].value?b:a.map(b,function(b){return typeof b=="string"?{label:b,value:b}:a.extend({label:b.label||b.value,value:b.value||b.label},b)})},_suggest:function(b){var c=this.menu.element.empty().zIndex(this.element.zIndex()+1);this._renderMenu(c,b),this.menu.deactivate(),this.menu.refresh(),c.show(),this._resizeMenu(),c.position(a.extend({of:this.element},this.options.position)),this.options.autoFocus&&this.menu.next(new a.Event("mouseover"))},_resizeMenu:function(){var a=this.menu.element;a.outerWidth(Math.max(a.width("").outerWidth()+1,this.element.outerWidth()))},_renderMenu:function(b,c){var d=this;a.each(c,function(a,c){d._renderItem(b,c)})},_renderItem:function(b,c){return a("<li></li>").data("item.autocomplete",c).append(a("<a></a>").text(c.label)).appendTo(b)},_move:function(a,b){if(!this.menu.element.is(":visible")){this.search(null,b);return}if(this.menu.first()&&/^previous/.test(a)||this.menu.last()&&/^next/.test(a)){this.element.val(this.term),this.menu.deactivate();return}this.menu[a](b)},widget:function(){return this.menu.element},_keyEvent:function(a,b){if(!this.isMultiLine||this.menu.element.is(":visible"))this._move(a,b),b.preventDefault()}}),a.extend(a.ui.autocomplete,{escapeRegex:function(a){return a.replace(/[-[\]{}()*+?.,\\^$|#\s]/g,"\\$&")},filter:function(b,c){var d=new RegExp(a.ui.autocomplete.escapeRegex(c),"i");return a.grep(b,function(a){return d.test(a.label||a.value||a)})}})})(jQuery),function(a){a.widget("ui.menu",{_create:function(){var b=this;this.element.addClass("ui-menu ui-widget ui-widget-content ui-corner-all").attr({role:"listbox","aria-activedescendant":"ui-active-menuitem"}).click(function(c){if(!a(c.target).closest(".ui-menu-item a").length)return;c.preventDefault(),b.select(c)}),this.refresh()},refresh:function(){var b=this,c=this.element.children("li:not(.ui-menu-item):has(a)").addClass("ui-menu-item").attr("role","menuitem");c.children("a").addClass("ui-corner-all").attr("tabindex",-1).mouseenter(function(c){b.activate(c,a(this).parent())}).mouseleave(function(){b.deactivate()})},activate:function(a,b){this.deactivate();if(this.hasScroll()){var c=b.offset().top-this.element.offset().top,d=this.element.scrollTop(),e=this.element.height();c<0?this.element.scrollTop(d+c):c>=e&&this.element.scrollTop(d+c-e+b.height())}this.active=b.eq(0).children("a").addClass("ui-state-hover").attr("id","ui-active-menuitem").end(),this._trigger("focus",a,{item:b})},deactivate:function(){if(!this.active)return;this.active.children("a").removeClass("ui-state-hover").removeAttr("id"),this._trigger("blur"),this.active=null},next:function(a){this.move("next",".ui-menu-item:first",a)},previous:function(a){this.move("prev",".ui-menu-item:last",a)},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(a,b,c){if(!this.active){this.activate(c,this.element.children(b));return}var d=this.active[a+"All"](".ui-menu-item").eq(0);d.length?this.activate(c,d):this.activate(c,this.element.children(b))},nextPage:function(b){if(this.hasScroll()){if(!this.active||this.last()){this.activate(b,this.element.children(".ui-menu-item:first"));return}var c=this.active.offset().top,d=this.element.height(),e=this.element.children(".ui-menu-item").filter(function(){var b=a(this).offset().top-c-d+a(this).height();return b<10&&b>-10});e.length||(e=this.element.children(".ui-menu-item:last")),this.activate(b,e)}else this.activate(b,this.element.children(".ui-menu-item").filter(!this.active||this.last()?":first":":last"))},previousPage:function(b){if(this.hasScroll()){if(!this.active||this.first()){this.activate(b,this.element.children(".ui-menu-item:last"));return}var c=this.active.offset().top,d=this.element.height(),e=this.element.children(".ui-menu-item").filter(function(){var b=a(this).offset().top-c+d-a(this).height();return b<10&&b>-10});e.length||(e=this.element.children(".ui-menu-item:first")),this.activate(b,e)}else this.activate(b,this.element.children(".ui-menu-item").filter(!this.active||this.first()?":last":":first"))},hasScroll:function(){return this.element.height()<this.element[a.fn.prop?"prop":"attr"]("scrollHeight")},select:function(a){this._trigger("selected",a,{item:this.active})}})}(jQuery);;/*! jQuery UI - v1.8.21 - 2012-06-05
+* https://github.com/jquery/jquery-ui
+* Includes: jquery.ui.tabs.js
+* Copyright (c) 2012 AUTHORS.txt; Licensed MIT, GPL */
+(function(a,b){function e(){return++c}function f(){return++d}var c=0,d=0;a.widget("ui.tabs",{options:{add:null,ajaxOptions:null,cache:!1,cookie:null,collapsible:!1,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&#8230;</em>",tabTemplate:"<li><a href='#{href}'><span>#{label}</span></a></li>"},_create:function(){this._tabify(!0)},_setOption:function(a,b){if(a=="selected"){if(this.options.collapsible&&b==this.options.selected)return;this.select(b)}else this.options[a]=b,this._tabify()},_tabId:function(a){return a.title&&a.title.replace(/\s/g,"_").replace(/[^\w\u00c0-\uFFFF-]/g,"")||this.options.idPrefix+e()},_sanitizeSelector:function(a){return a.replace(/:/g,"\\:")},_cookie:function(){var b=this.cookie||(this.cookie=this.options.cookie.name||"ui-tabs-"+f());return a.cookie.apply(null,[b].concat(a.makeArray(arguments)))},_ui:function(a,b){return{tab:a,panel:b,index:this.anchors.index(a)}},_cleanup:function(){this.lis.filter(".ui-state-processing").removeClass("ui-state-processing").find("span:data(label.tabs)").each(function(){var b=a(this);b.html(b.data("label.tabs")).removeData("label.tabs")})},_tabify:function(c){function m(b,c){b.css("display",""),!a.support.opacity&&c.opacity&&b[0].style.removeAttribute("filter")}var d=this,e=this.options,f=/^#.+/;this.list=this.element.find("ol,ul").eq(0),this.lis=a(" > li:has(a[href])",this.list),this.anchors=this.lis.map(function(){return a("a",this)[0]}),this.panels=a([]),this.anchors.each(function(b,c){var g=a(c).attr("href"),h=g.split("#")[0],i;h&&(h===location.toString().split("#")[0]||(i=a("base")[0])&&h===i.href)&&(g=c.hash,c.href=g);if(f.test(g))d.panels=d.panels.add(d.element.find(d._sanitizeSelector(g)));else if(g&&g!=="#"){a.data(c,"href.tabs",g),a.data(c,"load.tabs",g.replace(/#.*$/,""));var j=d._tabId(c);c.href="#"+j;var k=d.element.find("#"+j);k.length||(k=a(e.panelTemplate).attr("id",j).addClass("ui-tabs-panel ui-widget-content ui-corner-bottom").insertAfter(d.panels[b-1]||d.list),k.data("destroy.tabs",!0)),d.panels=d.panels.add(k)}else e.disabled.push(b)}),c?(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"),e.selected===b?(location.hash&&this.anchors.each(function(a,b){if(b.hash==location.hash)return e.selected=a,!1}),typeof e.selected!="number"&&e.cookie&&(e.selected=parseInt(d._cookie(),10)),typeof e.selected!="number"&&this.lis.filter(".ui-tabs-selected").length&&(e.selected=this.lis.index(this.lis.filter(".ui-tabs-selected"))),e.selected=e.selected||(this.lis.length?0:-1)):e.selected===null&&(e.selected=-1),e.selected=e.selected>=0&&this.anchors[e.selected]||e.selected<0?e.selected:0,e.disabled=a.unique(e.disabled.concat(a.map(this.lis.filter(".ui-state-disabled"),function(a,b){return d.lis.index(a)}))).sort(),a.inArray(e.selected,e.disabled)!=-1&&e.disabled.splice(a.inArray(e.selected,e.disabled),1),this.panels.addClass("ui-tabs-hide"),this.lis.removeClass("ui-tabs-selected ui-state-active"),e.selected>=0&&this.anchors.length&&(d.element.find(d._sanitizeSelector(d.anchors[e.selected].hash)).removeClass("ui-tabs-hide"),this.lis.eq(e.selected).addClass("ui-tabs-selected ui-state-active"),d.element.queue("tabs",function(){d._trigger("show",null,d._ui(d.anchors[e.selected],d.element.find(d._sanitizeSelector(d.anchors[e.selected].hash))[0]))}),this.load(e.selected)),a(window).bind("unload",function(){d.lis.add(d.anchors).unbind(".tabs"),d.lis=d.anchors=d.panels=null})):e.selected=this.lis.index(this.lis.filter(".ui-tabs-selected")),this.element[e.collapsible?"addClass":"removeClass"]("ui-tabs-collapsible"),e.cookie&&this._cookie(e.selected,e.cookie);for(var g=0,h;h=this.lis[g];g++)a(h)[a.inArray(g,e.disabled)!=-1&&!a(h).hasClass("ui-tabs-selected")?"addClass":"removeClass"]("ui-state-disabled");e.cache===!1&&this.anchors.removeData("cache.tabs"),this.lis.add(this.anchors).unbind(".tabs");if(e.event!=="mouseover"){var i=function(a,b){b.is(":not(.ui-state-disabled)")&&b.addClass("ui-state-"+a)},j=function(a,b){b.removeClass("ui-state-"+a)};this.lis.bind("mouseover.tabs",function(){i("hover",a(this))}),this.lis.bind("mouseout.tabs",function(){j("hover",a(this))}),this.anchors.bind("focus.tabs",function(){i("focus",a(this).closest("li"))}),this.anchors.bind("blur.tabs",function(){j("focus",a(this).closest("li"))})}var k,l;e.fx&&(a.isArray(e.fx)?(k=e.fx[0],l=e.fx[1]):k=l=e.fx);var n=l?function(b,c){a(b).closest("li").addClass("ui-tabs-selected ui-state-active"),c.hide().removeClass("ui-tabs-hide").animate(l,l.duration||"normal",function(){m(c,l),d._trigger("show",null,d._ui(b,c[0]))})}:function(b,c){a(b).closest("li").addClass("ui-tabs-selected ui-state-active"),c.removeClass("ui-tabs-hide"),d._trigger("show",null,d._ui(b,c[0]))},o=k?function(a,b){b.animate(k,k.duration||"normal",function(){d.lis.removeClass("ui-tabs-selected ui-state-active"),b.addClass("ui-tabs-hide"),m(b,k),d.element.dequeue("tabs")})}:function(a,b,c){d.lis.removeClass("ui-tabs-selected ui-state-active"),b.addClass("ui-tabs-hide"),d.element.dequeue("tabs")};this.anchors.bind(e.event+".tabs",function(){var b=this,c=a(b).closest("li"),f=d.panels.filter(":not(.ui-tabs-hide)"),g=d.element.find(d._sanitizeSelector(b.hash));if(c.hasClass("ui-tabs-selected")&&!e.collapsible||c.hasClass("ui-state-disabled")||c.hasClass("ui-state-processing")||d.panels.filter(":animated").length||d._trigger("select",null,d._ui(this,g[0]))===!1)return this.blur(),!1;e.selected=d.anchors.index(this),d.abort();if(e.collapsible){if(c.hasClass("ui-tabs-selected"))return e.selected=-1,e.cookie&&d._cookie(e.selected,e.cookie),d.element.queue("tabs",function(){o(b,f)}).dequeue("tabs"),this.blur(),!1;if(!f.length)return e.cookie&&d._cookie(e.selected,e.cookie),d.element.queue("tabs",function(){n(b,g)}),d.load(d.anchors.index(this)),this.blur(),!1}e.cookie&&d._cookie(e.selected,e.cookie);if(g.length)f.length&&d.element.queue("tabs",function(){o(b,f)}),d.element.queue("tabs",function(){n(b,g)}),d.load(d.anchors.index(this));else throw"jQuery UI Tabs: Mismatching fragment identifier.";a.browser.msie&&this.blur()}),this.anchors.bind("click.tabs",function(){return!1})},_getIndex:function(a){return typeof a=="string"&&(a=this.anchors.index(this.anchors.filter("[href$='"+a+"']"))),a},destroy:function(){var b=this.options;return 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 b=a.data(this,"href.tabs");b&&(this.href=b);var c=a(this).unbind(".tabs");a.each(["href","load","cache"],function(a,b){c.removeData(b+".tabs")})}),this.lis.unbind(".tabs").add(this.panels).each(function(){a.data(this,"destroy.tabs")?a(this).remove():a(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"].join(" "))}),b.cookie&&this._cookie(null,b.cookie),this},add:function(c,d,e){e===b&&(e=this.anchors.length);var f=this,g=this.options,h=a(g.tabTemplate.replace(/#\{href\}/g,c).replace(/#\{label\}/g,d)),i=c.indexOf("#")?this._tabId(a("a",h)[0]):c.replace("#","");h.addClass("ui-state-default ui-corner-top").data("destroy.tabs",!0);var j=f.element.find("#"+i);return j.length||(j=a(g.panelTemplate).attr("id",i).data("destroy.tabs",!0)),j.addClass("ui-tabs-panel ui-widget-content ui-corner-bottom ui-tabs-hide"),e>=this.lis.length?(h.appendTo(this.list),j.appendTo(this.list[0].parentNode)):(h.insertBefore(this.lis[e]),j.insertBefore(this.panels[e])),g.disabled=a.map(g.disabled,function(a,b){return a>=e?++a:a}),this._tabify(),this.anchors.length==1&&(g.selected=0,h.addClass("ui-tabs-selected ui-state-active"),j.removeClass("ui-tabs-hide"),this.element.queue("tabs",function(){f._trigger("show",null,f._ui(f.anchors[0],f.panels[0]))}),this.load(0)),this._trigger("add",null,this._ui(this.anchors[e],this.panels[e])),this},remove:function(b){b=this._getIndex(b);var c=this.options,d=this.lis.eq(b).remove(),e=this.panels.eq(b).remove();return d.hasClass("ui-tabs-selected")&&this.anchors.length>1&&this.select(b+(b+1<this.anchors.length?1:-1)),c.disabled=a.map(a.grep(c.disabled,function(a,c){return a!=b}),function(a,c){return a>=b?--a:a}),this._tabify(),this._trigger("remove",null,this._ui(d.find("a")[0],e[0])),this},enable:function(b){b=this._getIndex(b);var c=this.options;if(a.inArray(b,c.disabled)==-1)return;return this.lis.eq(b).removeClass("ui-state-disabled"),c.disabled=a.grep(c.disabled,function(a,c){return a!=b}),this._trigger("enable",null,this._ui(this.anchors[b],this.panels[b])),this},disable:function(a){a=this._getIndex(a);var b=this,c=this.options;return a!=c.selected&&(this.lis.eq(a).addClass("ui-state-disabled"),c.disabled.push(a),c.disabled.sort(),this._trigger("disable",null,this._ui(this.anchors[a],this.panels[a]))),this},select:function(a){a=this._getIndex(a);if(a==-1)if(this.options.collapsible&&this.options.selected!=-1)a=this.options.selected;else return this;return this.anchors.eq(a).trigger(this.options.event+".tabs"),this},load:function(b){b=this._getIndex(b);var c=this,d=this.options,e=this.anchors.eq(b)[0],f=a.data(e,"load.tabs");this.abort();if(!f||this.element.queue("tabs").length!==0&&a.data(e,"cache.tabs")){this.element.dequeue("tabs");return}this.lis.eq(b).addClass("ui-state-processing");if(d.spinner){var g=a("span",e);g.data("label.tabs",g.html()).html(d.spinner)}return this.xhr=a.ajax(a.extend({},d.ajaxOptions,{url:f,success:function(f,g){c.element.find(c._sanitizeSelector(e.hash)).html(f),c._cleanup(),d.cache&&a.data(e,"cache.tabs",!0),c._trigger("load",null,c._ui(c.anchors[b],c.panels[b]));try{d.ajaxOptions.success(f,g)}catch(h){}},error:function(a,f,g){c._cleanup(),c._trigger("load",null,c._ui(c.anchors[b],c.panels[b]));try{d.ajaxOptions.error(a,f,b,e)}catch(g){}}})),c.element.dequeue("tabs"),this},abort:function(){return this.element.queue([]),this.panels.stop(!1,!0),this.element.queue("tabs",this.element.queue("tabs").splice(-2,2)),this.xhr&&(this.xhr.abort(),delete this.xhr),this._cleanup(),this},url:function(a,b){return this.anchors.eq(a).removeData("cache.tabs").data("load.tabs",b),this},length:function(){return this.anchors.length}}),a.extend(a.ui.tabs,{version:"1.8.21"}),a.extend(a.ui.tabs.prototype,{rotation:null,rotate:function(a,b){var c=this,d=this.options,e=c._rotate||(c._rotate=function(b){clearTimeout(c.rotation),c.rotation=setTimeout(function(){var a=d.selected;c.select(++a<c.anchors.length?a:0)},a),b&&b.stopPropagation()}),f=c._unrotate||(c._unrotate=b?function(a){e()}:function(a){a.clientX&&c.rotate(null)});return a?(this.element.bind("tabsshow",e),this.anchors.bind(d.event+".tabs",f),e()):(clearTimeout(c.rotation),this.element.unbind("tabsshow",e),this.anchors.unbind(d.event+".tabs",f),delete this._rotate,delete this._unrotate),this}})})(jQuery);;/*! jQuery UI - v1.8.21 - 2012-06-05
+* https://github.com/jquery/jquery-ui
+* Includes: jquery.ui.datepicker.js
+* Copyright (c) 2012 AUTHORS.txt; Licensed MIT, GPL */
+(function($,undefined){function Datepicker(){this.debug=!1,this._curInst=null,this._keyEvent=!1,this._disabledInputs=[],this._datepickerShowing=!1,this._inDialog=!1,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:!1,showMonthAfterYear:!1,yearSuffix:""},this._defaults={showOn:"focus",showAnim:"fadeIn",showOptions:{},defaultDate:null,appendText:"",buttonText:"...",buttonImage:"",buttonImageOnly:!1,hideIfNoPrevNext:!1,navigationAsDateFormat:!1,gotoCurrent:!1,changeMonth:!1,changeYear:!1,yearRange:"c-10:c+10",showOtherMonths:!1,selectOtherMonths:!1,showWeek:!1,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:!0,showButtonPanel:!1,autoSize:!1,disabled:!1},$.extend(this._defaults,this.regional[""]),this.dpDiv=bindHover($('<div id="'+this._mainDivId+'" class="ui-datepicker ui-widget ui-widget-content ui-helper-clearfix ui-corner-all"></div>'))}function bindHover(a){var b="button, .ui-datepicker-prev, .ui-datepicker-next, .ui-datepicker-calendar td a";return a.bind("mouseout",function(a){var c=$(a.target).closest(b);if(!c.length)return;c.removeClass("ui-state-hover ui-datepicker-prev-hover ui-datepicker-next-hover")}).bind("mouseover",function(c){var d=$(c.target).closest(b);if($.datepicker._isDisabledDatepicker(instActive.inline?a.parent()[0]:instActive.input[0])||!d.length)return;d.parents(".ui-datepicker-calendar").find("a").removeClass("ui-state-hover"),d.addClass("ui-state-hover"),d.hasClass("ui-datepicker-prev")&&d.addClass("ui-datepicker-prev-hover"),d.hasClass("ui-datepicker-next")&&d.addClass("ui-datepicker-next-hover")})}function extendRemove(a,b){$.extend(a,b);for(var c in b)if(b[c]==null||b[c]==undefined)a[c]=b[c];return a}function isArray(a){return a&&($.browser.safari&&typeof a=="object"&&a.length||a.constructor&&a.constructor.toString().match(/\Array\(\)/))}$.extend($.ui,{datepicker:{version:"1.8.21"}});var PROP_NAME="datepicker",dpuuid=(new Date).getTime(),instActive;$.extend(Datepicker.prototype,{markerClassName:"hasDatepicker",maxRows:4,log:function(){this.debug&&console.log.apply("",arguments)},_widgetDatepicker:function(){return this.dpDiv},setDefaults:function(a){return extendRemove(this._defaults,a||{}),this},_attachDatepicker:function(target,settings){var inlineSettings=null;for(var attrName in this._defaults){var attrValue=target.getAttribute("date:"+attrName);if(attrValue){inlineSettings=inlineSettings||{};try{inlineSettings[attrName]=eval(attrValue)}catch(err){inlineSettings[attrName]=attrValue}}}var nodeName=target.nodeName.toLowerCase(),inline=nodeName=="div"||nodeName=="span";target.id||(this.uuid+=1,target.id="dp"+this.uuid);var inst=this._newInst($(target),inline);inst.settings=$.extend({},settings||{},inlineSettings||{}),nodeName=="input"?this._connectDatepicker(target,inst):inline&&this._inlineDatepicker(target,inst)},_newInst:function(a,b){var c=a[0].id.replace(/([^A-Za-z0-9_-])/g,"\\\\$1");return{id:c,input:a,selectedDay:0,selectedMonth:0,selectedYear:0,drawMonth:0,drawYear:0,inline:b,dpDiv:b?bindHover($('<div class="'+this._inlineClass+' ui-datepicker ui-widget ui-widget-content ui-helper-clearfix ui-corner-all"></div>')):this.dpDiv}},_connectDatepicker:function(a,b){var c=$(a);b.append=$([]),b.trigger=$([]);if(c.hasClass(this.markerClassName))return;this._attachments(c,b),c.addClass(this.markerClassName).keydown(this._doKeyDown).keypress(this._doKeyPress).keyup(this._doKeyUp).bind("setData.datepicker",function(a,c,d){b.settings[c]=d}).bind("getData.datepicker",function(a,c){return this._get(b,c)}),this._autoSize(b),$.data(a,PROP_NAME,b),b.settings.disabled&&this._disableDatepicker(a)},_attachments:function(a,b){var c=this._get(b,"appendText"),d=this._get(b,"isRTL");b.append&&b.append.remove(),c&&(b.append=$('<span class="'+this._appendClass+'">'+c+"</span>"),a[d?"before":"after"](b.append)),a.unbind("focus",this._showDatepicker),b.trigger&&b.trigger.remove();var e=this._get(b,"showOn");(e=="focus"||e=="both")&&a.focus(this._showDatepicker);if(e=="button"||e=="both"){var f=this._get(b,"buttonText"),g=this._get(b,"buttonImage");b.trigger=$(this._get(b,"buttonImageOnly")?$("<img/>").addClass(this._triggerClass).attr({src:g,alt:f,title:f}):$('<button type="button"></button>').addClass(this._triggerClass).html(g==""?f:$("<img/>").attr({src:g,alt:f,title:f}))),a[d?"before":"after"](b.trigger),b.trigger.click(function(){return $.datepicker._datepickerShowing&&$.datepicker._lastInput==a[0]?$.datepicker._hideDatepicker():$.datepicker._datepickerShowing&&$.datepicker._lastInput!=a[0]?($.datepicker._hideDatepicker(),$.datepicker._showDatepicker(a[0])):$.datepicker._showDatepicker(a[0]),!1})}},_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 d=function(a){var b=0,c=0;for(var d=0;d<a.length;d++)a[d].length>b&&(b=a[d].length,c=d);return c};b.setMonth(d(this._get(a,c.match(/MM/)?"monthNames":"monthNamesShort"))),b.setDate(d(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=$(a);if(c.hasClass(this.markerClassName))return;c.addClass(this.markerClassName).append(b.dpDiv).bind("setData.datepicker",function(a,c,d){b.settings[c]=d}).bind("getData.datepicker",function(a,c){return this._get(b,c)}),$.data(a,PROP_NAME,b),this._setDate(b,this._getDefaultDate(b),!0),this._updateDatepicker(b),this._updateAlternate(b),b.settings.disabled&&this._disableDatepicker(a),b.dpDiv.css("display","block")},_dialogDatepicker:function(a,b,c,d,e){var f=this._dialogInst;if(!f){this.uuid+=1;var g="dp"+this.uuid;this._dialogInput=$('<input type="text" id="'+g+'" style="position: absolute; top: -100px; width: 0px; z-index: -10;"/>'),this._dialogInput.keydown(this._doKeyDown),$("body").append(this._dialogInput),f=this._dialogInst=this._newInst(this._dialogInput,!1),f.settings={},$.data(this._dialogInput[0],PROP_NAME,f)}extendRemove(f.settings,d||{}),b=b&&b.constructor==Date?this._formatDate(f,b):b,this._dialogInput.val(b),this._pos=e?e.length?e:[e.pageX,e.pageY]:null;if(!this._pos){var h=document.documentElement.clientWidth,i=document.documentElement.clientHeight,j=document.documentElement.scrollLeft||document.body.scrollLeft,k=document.documentElement.scrollTop||document.body.scrollTop;this._pos=[h/2-100+j,i/2-150+k]}return this._dialogInput.css("left",this._pos[0]+20+"px").css("top",this._pos[1]+"px"),f.settings.onSelect=c,this._inDialog=!0,this.dpDiv.addClass(this._dialogClass),this._showDatepicker(this._dialogInput[0]),$.blockUI&&$.blockUI(this.dpDiv),$.data(this._dialogInput[0],PROP_NAME,f),this},_destroyDatepicker:function(a){var b=$(a),c=$.data(a,PROP_NAME);if(!b.hasClass(this.markerClassName))return;var d=a.nodeName.toLowerCase();$.removeData(a,PROP_NAME),d=="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)):(d=="div"||d=="span")&&b.removeClass(this.markerClassName).empty()},_enableDatepicker:function(a){var b=$(a),c=$.data(a,PROP_NAME);if(!b.hasClass(this.markerClassName))return;var d=a.nodeName.toLowerCase();if(d=="input")a.disabled=!1,c.trigger.filter("button").each(function(){this.disabled=!1}).end().filter("img").css({opacity:"1.0",cursor:""});else if(d=="div"||d=="span"){var e=b.children("."+this._inlineClass);e.children().removeClass("ui-state-disabled"),e.find("select.ui-datepicker-month, select.ui-datepicker-year").removeAttr("disabled")}this._disabledInputs=$.map(this._disabledInputs,function(b){return b==a?null:b})},_disableDatepicker:function(a){var b=$(a),c=$.data(a,PROP_NAME);if(!b.hasClass(this.markerClassName))return;var d=a.nodeName.toLowerCase();if(d=="input")a.disabled=!0,c.trigger.filter("button").each(function(){this.disabled=!0}).end().filter("img").css({opacity:"0.5",cursor:"default"});else if(d=="div"||d=="span"){var e=b.children("."+this._inlineClass);e.children().addClass("ui-state-disabled"),e.find("select.ui-datepicker-month, select.ui-datepicker-year").attr("disabled","disabled")}this._disabledInputs=$.map(this._disabledInputs,function(b){return b==a?null:b}),this._disabledInputs[this._disabledInputs.length]=a},_isDisabledDatepicker:function(a){if(!a)return!1;for(var b=0;b<this._disabledInputs.length;b++)if(this._disabledInputs[b]==a)return!0;return!1},_getInst:function(a){try{return $.data(a,PROP_NAME)}catch(b){throw"Missing instance data for this datepicker"}},_optionDatepicker:function(a,b,c){var d=this._getInst(a);if(arguments.length==2&&typeof b=="string")return b=="defaults"?$.extend({},$.datepicker._defaults):d?b=="all"?$.extend({},d.settings):this._get(d,b):null;var e=b||{};typeof b=="string"&&(e={},e[b]=c);if(d){this._curInst==d&&this._hideDatepicker();var f=this._getDateDatepicker(a,!0),g=this._getMinMaxDate(d,"min"),h=this._getMinMaxDate(d,"max");extendRemove(d.settings,e),g!==null&&e.dateFormat!==undefined&&e.minDate===undefined&&(d.settings.minDate=this._formatDate(d,g)),h!==null&&e.dateFormat!==undefined&&e.maxDate===undefined&&(d.settings.maxDate=this._formatDate(d,h)),this._attachments($(a),d),this._autoSize(d),this._setDate(d,f),this._updateAlternate(d),this._updateDatepicker(d)}},_changeDatepicker:function(a,b,c){this._optionDatepicker(a,b,c)},_refreshDatepicker:function(a){var b=this._getInst(a);b&&this._updateDatepicker(b)},_setDateDatepicker:function(a,b){var c=this._getInst(a);c&&(this._setDate(c,b),this._updateDatepicker(c),this._updateAlternate(c))},_getDateDatepicker:function(a,b){var c=this._getInst(a);return c&&!c.inline&&this._setDateFromField(c,b),c?this._getDate(c):null},_doKeyDown:function(a){var b=$.datepicker._getInst(a.target),c=!0,d=b.dpDiv.is(".ui-datepicker-rtl");b._keyEvent=!0;if($.datepicker._datepickerShowing)switch(a.keyCode){case 9:$.datepicker._hideDatepicker(),c=!1;break;case 13:var e=$("td."+$.datepicker._dayOverClass+":not(."+$.datepicker._currentClass+")",b.dpDiv);e[0]&&$.datepicker._selectDay(a.target,b.selectedMonth,b.selectedYear,e[0]);var f=$.datepicker._get(b,"onSelect");if(f){var g=$.datepicker._formatDate(b);f.apply(b.input?b.input[0]:null,[g,b])}else $.datepicker._hideDatepicker();return!1;case 27:$.datepicker._hideDatepicker();break;case 33:$.datepicker._adjustDate(a.target,a.ctrlKey?-$.datepicker._get(b,"stepBigMonths"):-$.datepicker._get(b,"stepMonths"),"M");break;case 34:$.datepicker._adjustDate(a.target,a.ctrlKey?+$.datepicker._get(b,"stepBigMonths"):+$.datepicker._get(b,"stepMonths"),"M");break;case 35:(a.ctrlKey||a.metaKey)&&$.datepicker._clearDate(a.target),c=a.ctrlKey||a.metaKey;break;case 36:(a.ctrlKey||a.metaKey)&&$.datepicker._gotoToday(a.target),c=a.ctrlKey||a.metaKey;break;case 37:(a.ctrlKey||a.metaKey)&&$.datepicker._adjustDate(a.target,d?1:-1,"D"),c=a.ctrlKey||a.metaKey,a.originalEvent.altKey&&$.datepicker._adjustDate(a.target,a.ctrlKey?-$.datepicker._get(b,"stepBigMonths"):-$.datepicker._get(b,"stepMonths"),"M");break;case 38:(a.ctrlKey||a.metaKey)&&$.datepicker._adjustDate(a.target,-7,"D"),c=a.ctrlKey||a.metaKey;break;case 39:(a.ctrlKey||a.metaKey)&&$.datepicker._adjustDate(a.target,d?-1:1,"D"),c=a.ctrlKey||a.metaKey,a.originalEvent.altKey&&$.datepicker._adjustDate(a.target,a.ctrlKey?+$.datepicker._get(b,"stepBigMonths"):+$.datepicker._get(b,"stepMonths"),"M");break;case 40:(a.ctrlKey||a.metaKey)&&$.datepicker._adjustDate(a.target,7,"D"),c=a.ctrlKey||a.metaKey;break;default:c=!1}else a.keyCode==36&&a.ctrlKey?$.datepicker._showDatepicker(this):c=!1;c&&(a.preventDefault(),a.stopPropagation())},_doKeyPress:function(a){var b=$.datepicker._getInst(a.target);if($.datepicker._get(b,"constrainInput")){var c=$.datepicker._possibleChars($.datepicker._get(b,"dateFormat")),d=String.fromCharCode(a.charCode==undefined?a.keyCode:a.charCode);return a.ctrlKey||a.metaKey||d<" "||!c||c.indexOf(d)>-1}},_doKeyUp:function(a){var b=$.datepicker._getInst(a.target);if(b.input.val()!=b.lastVal)try{var c=$.datepicker.parseDate($.datepicker._get(b,"dateFormat"),b.input?b.input.val():null,$.datepicker._getFormatConfig(b));c&&($.datepicker._setDateFromField(b),$.datepicker._updateAlternate(b),$.datepicker._updateDatepicker(b))}catch(d){$.datepicker.log(d)}return!0},_showDatepicker:function(a){a=a.target||a,a.nodeName.toLowerCase()!="input"&&(a=$("input",a.parentNode)[0]);if($.datepicker._isDisabledDatepicker(a)||$.datepicker._lastInput==a)return;var b=$.datepicker._getInst(a);$.datepicker._curInst&&$.datepicker._curInst!=b&&($.datepicker._curInst.dpDiv.stop(!0,!0),b&&$.datepicker._datepickerShowing&&$.datepicker._hideDatepicker($.datepicker._curInst.input[0]));var c=$.datepicker._get(b,"beforeShow"),d=c?c.apply(a,[a,b]):{};if(d===!1)return;extendRemove(b.settings,d),b.lastVal=null,$.datepicker._lastInput=a,$.datepicker._setDateFromField(b),$.datepicker._inDialog&&(a.value=""),$.datepicker._pos||($.datepicker._pos=$.datepicker._findPos(a),$.datepicker._pos[1]+=a.offsetHeight);var e=!1;$(a).parents().each(function(){return e|=$(this).css("position")=="fixed",!e}),e&&$.browser.opera&&($.datepicker._pos[0]-=document.documentElement.scrollLeft,$.datepicker._pos[1]-=document.documentElement.scrollTop);var f={left:$.datepicker._pos[0],top:$.datepicker._pos[1]};$.datepicker._pos=null,b.dpDiv.empty(),b.dpDiv.css({position:"absolute",display:"block",top:"-1000px"}),$.datepicker._updateDatepicker(b),f=$.datepicker._checkOffset(b,f,e),b.dpDiv.css({position:$.datepicker._inDialog&&$.blockUI?"static":e?"fixed":"absolute",display:"none",left:f.left+"px",top:f.top+"px"});if(!b.inline){var g=$.datepicker._get(b,"showAnim"),h=$.datepicker._get(b,"duration"),i=function(){var a=b.dpDiv.find("iframe.ui-datepicker-cover");if(!!a.length){var c=$.datepicker._getBorders(b.dpDiv);a.css({left:-c[0],top:-c[1],width:b.dpDiv.outerWidth(),height:b.dpDiv.outerHeight()})}};b.dpDiv.zIndex($(a).zIndex()+1),$.datepicker._datepickerShowing=!0,$.effects&&$.effects[g]?b.dpDiv.show(g,$.datepicker._get(b,"showOptions"),h,i):b.dpDiv[g||"show"](g?h:null,i),(!g||!h)&&i(),b.input.is(":visible")&&!b.input.is(":disabled")&&b.input.focus(),$.datepicker._curInst=b}},_updateDatepicker:function(a){var b=this;b.maxRows=4;var c=$.datepicker._getBorders(a.dpDiv);instActive=a,a.dpDiv.empty().append(this._generateHTML(a));var d=a.dpDiv.find("iframe.ui-datepicker-cover");!d.length||d.css({left:-c[0],top:-c[1],width:a.dpDiv.outerWidth(),height:a.dpDiv.outerHeight()}),a.dpDiv.find("."+this._dayOverClass+" a").mouseover();var e=this._getNumberOfMonths(a),f=e[1],g=17;a.dpDiv.removeClass("ui-datepicker-multi-2 ui-datepicker-multi-3 ui-datepicker-multi-4").width(""),f>1&&a.dpDiv.addClass("ui-datepicker-multi-"+f).css("width",g*f+"em"),a.dpDiv[(e[0]!=1||e[1]!=1?"add":"remove")+"Class"]("ui-datepicker-multi"),a.dpDiv[(this._get(a,"isRTL")?"add":"remove")+"Class"]("ui-datepicker-rtl"),a==$.datepicker._curInst&&$.datepicker._datepickerShowing&&a.input&&a.input.is(":visible")&&!a.input.is(":disabled")&&a.input[0]!=document.activeElement&&a.input.focus();if(a.yearshtml){var h=a.yearshtml;setTimeout(function(){h===a.yearshtml&&a.yearshtml&&a.dpDiv.find("select.ui-datepicker-year:first").replaceWith(a.yearshtml),h=a.yearshtml=null},0)}},_getBorders:function(a){var b=function(a){return{thin:1,medium:2,thick:3}[a]||a};return[parseFloat(b(a.css("border-left-width"))),parseFloat(b(a.css("border-top-width")))]},_checkOffset:function(a,b,c){var d=a.dpDiv.outerWidth(),e=a.dpDiv.outerHeight(),f=a.input?a.input.outerWidth():0,g=a.input?a.input.outerHeight():0,h=document.documentElement.clientWidth+$(document).scrollLeft(),i=document.documentElement.clientHeight+$(document).scrollTop();return b.left-=this._get(a,"isRTL")?d-f:0,b.left-=c&&b.left==a.input.offset().left?$(document).scrollLeft():0,b.top-=c&&b.top==a.input.offset().top+g?$(document).scrollTop():0,b.left-=Math.min(b.left,b.left+d>h&&h>d?Math.abs(b.left+d-h):0),b.top-=Math.min(b.top,b.top+e>i&&i>e?Math.abs(e+g):0),b},_findPos:function(a){var b=this._getInst(a),c=this._get(b,"isRTL");while(a&&(a.type=="hidden"||a.nodeType!=1||$.expr.filters.hidden(a)))a=a[c?"previousSibling":"nextSibling"];var d=$(a).offset();return[d.left,d.top]},_hideDatepicker:function(a){var b=this._curInst;if(!b||a&&b!=$.data(a,PROP_NAME))return;if(this._datepickerShowing){var c=this._get(b,"showAnim"),d=this._get(b,"duration"),e=function(){$.datepicker._tidyDialog(b)};$.effects&&$.effects[c]?b.dpDiv.hide(c,$.datepicker._get(b,"showOptions"),d,e):b.dpDiv[c=="slideDown"?"slideUp":c=="fadeIn"?"fadeOut":"hide"](c?d:null,e),c||e(),this._datepickerShowing=!1;var f=this._get(b,"onClose");f&&f.apply(b.input?b.input[0]:null,[b.input?b.input.val():"",b]),this._lastInput=null,this._inDialog&&(this._dialogInput.css({position:"absolute",left:"0",top:"-100px"}),$.blockUI&&($.unblockUI(),$("body").append(this.dpDiv))),this._inDialog=!1}},_tidyDialog:function(a){a.dpDiv.removeClass(this._dialogClass).unbind(".ui-datepicker-calendar")},_checkExternalClick:function(a){if(!$.datepicker._curInst)return;var b=$(a.target),c=$.datepicker._getInst(b[0]);(b[0].id!=$.datepicker._mainDivId&&b.parents("#"+$.datepicker._mainDivId).length==0&&!b.hasClass($.datepicker.markerClassName)&&!b.closest("."+$.datepicker._triggerClass).length&&$.datepicker._datepickerShowing&&(!$.datepicker._inDialog||!$.blockUI)||b.hasClass($.datepicker.markerClassName)&&$.datepicker._curInst!=c)&&$.datepicker._hideDatepicker()},_adjustDate:function(a,b,c){var d=$(a),e=this._getInst(d[0]);if(this._isDisabledDatepicker(d[0]))return;this._adjustInstDate(e,b+(c=="M"?this._get(e,"showCurrentAtPos"):0),c),this._updateDatepicker(e)},_gotoToday:function(a){var b=$(a),c=this._getInst(b[0]);if(this._get(c,"gotoCurrent")&&c.currentDay)c.selectedDay=c.currentDay,c.drawMonth=c.selectedMonth=c.currentMonth,c.drawYear=c.selectedYear=c.currentYear;else{var d=new Date;c.selectedDay=d.getDate(),c.drawMonth=c.selectedMonth=d.getMonth(),c.drawYear=c.selectedYear=d.getFullYear()}this._notifyChange(c),this._adjustDate(b)},_selectMonthYear:function(a,b,c){var d=$(a),e=this._getInst(d[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(d)},_selectDay:function(a,b,c,d){var e=$(a);if($(d).hasClass(this._unselectableClass)||this._isDisabledDatepicker(e[0]))return;var f=this._getInst(e[0]);f.selectedDay=f.currentDay=$("a",d).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){var b=$(a),c=this._getInst(b[0]);this._selectDate(b,"")},_selectDate:function(a,b){var c=$(a),d=this._getInst(c[0]);b=b!=null?b:this._formatDate(d),d.input&&d.input.val(b),this._updateAlternate(d);var e=this._get(d,"onSelect");e?e.apply(d.input?d.input[0]:null,[b,d]):d.input&&d.input.trigger("change"),d.inline?this._updateDatepicker(d):(this._hideDatepicker(),this._lastInput=d.input[0],typeof d.input[0]!="object"&&d.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"),d=this._getDate(a),e=this.formatDate(c,d,this._getFormatConfig(a));$(b).each(function(){$(this).val(e)})}},noWeekends:function(a){var b=a.getDay();return[b>0&&b<6,""]},iso8601Week:function(a){var b=new Date(a.getTime());b.setDate(b.getDate()+4-(b.getDay()||7));var c=b.getTime();return b.setMonth(0),b.setDate(1),Math.floor(Math.round((c-b)/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 d=(c?c.shortYearCutoff:null)||this._defaults.shortYearCutoff;d=typeof d!="string"?d:(new Date).getFullYear()%100+parseInt(d,10);var e=(c?c.dayNamesShort:null)||this._defaults.dayNamesShort,f=(c?c.dayNames:null)||this._defaults.dayNames,g=(c?c.monthNamesShort:null)||this._defaults.monthNamesShort,h=(c?c.monthNames:null)||this._defaults.monthNames,i=-1,j=-1,k=-1,l=-1,m=!1,n=function(b){var c=s+1<a.length&&a.charAt(s+1)==b;return c&&s++,c},o=function(a){var c=n(a),d=a=="@"?14:a=="!"?20:a=="y"&&c?4:a=="o"?3:2,e=new RegExp("^\\d{1,"+d+"}"),f=b.substring(r).match(e);if(!f)throw"Missing number at position "+r;return r+=f[0].length,parseInt(f[0],10)},p=function(a,c,d){var e=$.map(n(a)?d:c,function(a,b){return[[b,a]]}).sort(function(a,b){return-(a[1].length-b[1].length)}),f=-1;$.each(e,function(a,c){var d=c[1];if(b.substr(r,d.length).toLowerCase()==d.toLowerCase())return f=c[0],r+=d.length,!1});if(f!=-1)return f+1;throw"Unknown name at position "+r},q=function(){if(b.charAt(r)!=a.charAt(s))throw"Unexpected literal at position "+r;r++},r=0;for(var s=0;s<a.length;s++)if(m)a.charAt(s)=="'"&&!n("'")?m=!1:q();else switch(a.charAt(s)){case"d":k=o("d");break;case"D":p("D",e,f);break;case"o":l=o("o");break;case"m":j=o("m");break;case"M":j=p("M",g,h);break;case"y":i=o("y");break;case"@":var t=new Date(o("@"));i=t.getFullYear(),j=t.getMonth()+1,k=t.getDate();break;case"!":var t=new Date((o("!")-this._ticksTo1970)/1e4);i=t.getFullYear(),j=t.getMonth()+1,k=t.getDate();break;case"'":n("'")?q():m=!0;break;default:q()}if(r<b.length)throw"Extra/unparsed characters found in date: "+b.substring(r);i==-1?i=(new Date).getFullYear():i<100&&(i+=(new Date).getFullYear()-(new Date).getFullYear()%100+(i<=d?0:-100));if(l>-1){j=1,k=l;do{var u=this._getDaysInMonth(i,j-1);if(k<=u)break;j++,k-=u}while(!0)}var t=this._daylightSavingAdjust(new Date(i,j-1,k));if(t.getFullYear()!=i||t.getMonth()+1!=j||t.getDate()!=k)throw"Invalid date";return t},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 d=(c?c.dayNamesShort:null)||this._defaults.dayNamesShort,e=(c?c.dayNames:null)||this._defaults.dayNames,f=(c?c.monthNamesShort:null)||this._defaults.monthNamesShort,g=(c?c.monthNames:null)||this._defaults.monthNames,h=function(b){var c=m+1<a.length&&a.charAt(m+1)==b;return c&&m++,c},i=function(a,b,c){var d=""+b;if(h(a))while(d.length<c)d="0"+d;return d},j=function(a,b,c,d){return h(a)?d[b]:c[b]},k="",l=!1;if(b)for(var m=0;m<a.length;m++)if(l)a.charAt(m)=="'"&&!h("'")?l=!1:k+=a.charAt(m);else switch(a.charAt(m)){case"d":k+=i("d",b.getDate(),2);break;case"D":k+=j("D",b.getDay(),d,e);break;case"o":k+=i("o",Math.round(((new Date(b.getFullYear(),b.getMonth(),b.getDate())).getTime()-(new Date(b.getFullYear(),0,0)).getTime())/864e5),3);break;case"m":k+=i("m",b.getMonth()+1,2);break;case"M":k+=j("M",b.getMonth(),f,g);break;case"y":k+=h("y")?b.getFullYear():(b.getYear()%100<10?"0":"")+b.getYear()%100;break;case"@":k+=b.getTime();break;case"!":k+=b.getTime()*1e4+this._ticksTo1970;break;case"'":h("'")?k+="'":l=!0;break;default:k+=a.charAt(m)}return k},_possibleChars:function(a){var b="",c=!1,d=function(b){var c=e+1<a.length&&a.charAt(e+1)==b;return c&&e++,c};for(var e=0;e<a.length;e++)if(c)a.charAt(e)=="'"&&!d("'")?c=!1:b+=a.charAt(e);else switch(a.charAt(e)){case"d":case"m":case"y":case"@":b+="0123456789";break;case"D":case"M":return null;case"'":d("'")?b+="'":c=!0;break;default:b+=a.charAt(e)}return b},_get:function(a,b){return a.settings[b]!==undefined?a.settings[b]:this._defaults[b]},_setDateFromField:function(a,b){if(a.input.val()==a.lastVal)return;var c=this._get(a,"dateFormat"),d=a.lastVal=a.input?a.input.val():null,e,f;e=f=this._getDefaultDate(a);var g=this._getFormatConfig(a);try{e=this.parseDate(c,d,g)||f}catch(h){this.log(h),d=b?"":d}a.selectedDay=e.getDate(),a.drawMonth=a.selectedMonth=e.getMonth(),a.drawYear=a.selectedYear=e.getFullYear(),a.currentDay=d?e.getDate():0,a.currentMonth=d?e.getMonth():0,a.currentYear=d?e.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 d=function(a){var b=new Date;return b.setDate(b.getDate()+a),b},e=function(b){try{return $.datepicker.parseDate($.datepicker._get(a,"dateFormat"),b,$.datepicker._getFormatConfig(a))}catch(c){}var d=(b.toLowerCase().match(/^c/)?$.datepicker._getDate(a):null)||new Date,e=d.getFullYear(),f=d.getMonth(),g=d.getDate(),h=/([+-]?[0-9]+)\s*(d|D|w|W|m|M|y|Y)?/g,i=h.exec(b);while(i){switch(i[2]||"d"){case"d":case"D":g+=parseInt(i[1],10);break;case"w":case"W":g+=parseInt(i[1],10)*7;break;case"m":case"M":f+=parseInt(i[1],10),g=Math.min(g,$.datepicker._getDaysInMonth(e,f));break;case"y":case"Y":e+=parseInt(i[1],10),g=Math.min(g,$.datepicker._getDaysInMonth(e,f))}i=h.exec(b)}return new Date(e,f,g)},f=b==null||b===""?c:typeof b=="string"?e(b):typeof b=="number"?isNaN(b)?c:d(b):new Date(b.getTime());return f=f&&f.toString()=="Invalid Date"?c:f,f&&(f.setHours(0),f.setMinutes(0),f.setSeconds(0),f.setMilliseconds(0)),this._daylightSavingAdjust(f)},_daylightSavingAdjust:function(a){return a?(a.setHours(a.getHours()>12?a.getHours()+2:0),a):null},_setDate:function(a,b,c){var d=!b,e=a.selectedMonth,f=a.selectedYear,g=this._restrictMinMax(a,this._determineDate(a,b,new Date));a.selectedDay=a.currentDay=g.getDate(),a.drawMonth=a.selectedMonth=a.currentMonth=g.getMonth(),a.drawYear=a.selectedYear=a.currentYear=g.getFullYear(),(e!=a.selectedMonth||f!=a.selectedYear)&&!c&&this._notifyChange(a),this._adjustInstDate(a),a.input&&a.input.val(d?"":this._formatDate(a))},_getDate:function(a){var b=!a.currentYear||a.input&&a.input.val()==""?null:this._daylightSavingAdjust(new Date(a.currentYear,a.currentMonth,a.currentDay));return b},_generateHTML:function(a){var b=new Date;b=this._daylightSavingAdjust(new Date(b.getFullYear(),b.getMonth(),b.getDate()));var c=this._get(a,"isRTL"),d=this._get(a,"showButtonPanel"),e=this._get(a,"hideIfNoPrevNext"),f=this._get(a,"navigationAsDateFormat"),g=this._getNumberOfMonths(a),h=this._get(a,"showCurrentAtPos"),i=this._get(a,"stepMonths"),j=g[0]!=1||g[1]!=1,k=this._daylightSavingAdjust(a.currentDay?new Date(a.currentYear,a.currentMonth,a.currentDay):new Date(9999,9,9)),l=this._getMinMaxDate(a,"min"),m=this._getMinMaxDate(a,"max"),n=a.drawMonth-h,o=a.drawYear;n<0&&(n+=12,o--);if(m){var p=this._daylightSavingAdjust(new Date(m.getFullYear(),m.getMonth()-g[0]*g[1]+1,m.getDate()));p=l&&p<l?l:p;while(this._daylightSavingAdjust(new Date(o,n,1))>p)n--,n<0&&(n=11,o--)}a.drawMonth=n,a.drawYear=o;var q=this._get(a,"prevText");q=f?this.formatDate(q,this._daylightSavingAdjust(new Date(o,n-i,1)),this._getFormatConfig(a)):q;var r=this._canAdjustMonth(a,-1,o,n)?'<a class="ui-datepicker-prev ui-corner-all" onclick="DP_jQuery_'+dpuuid+".datepicker._adjustDate('#"+a.id+"', -"+i+", 'M');\""+' title="'+q+'"><span class="ui-icon ui-icon-circle-triangle-'+(c?"e":"w")+'">'+q+"</span></a>":e?"":'<a class="ui-datepicker-prev ui-corner-all ui-state-disabled" title="'+q+'"><span class="ui-icon ui-icon-circle-triangle-'+(c?"e":"w")+'">'+q+"</span></a>",s=this._get(a,"nextText");s=f?this.formatDate(s,this._daylightSavingAdjust(new Date(o,n+i,1)),this._getFormatConfig(a)):s;var t=this._canAdjustMonth(a,1,o,n)?'<a class="ui-datepicker-next ui-corner-all" onclick="DP_jQuery_'+dpuuid+".datepicker._adjustDate('#"+a.id+"', +"+i+", 'M');\""+' title="'+s+'"><span class="ui-icon ui-icon-circle-triangle-'+(c?"w":"e")+'">'+s+"</span></a>":e?"":'<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>",u=this._get(a,"currentText"),v=this._get(a,"gotoCurrent")&&a.currentDay?k:b;u=f?this.formatDate(u,v,this._getFormatConfig(a)):u;var w=a.inline?"":'<button type="button" class="ui-datepicker-close ui-state-default ui-priority-primary ui-corner-all" onclick="DP_jQuery_'+dpuuid+'.datepicker._hideDatepicker();">'+this._get(a,"closeText")+"</button>",x=d?'<div class="ui-datepicker-buttonpane ui-widget-content">'+(c?w:"")+(this._isInRange(a,v)?'<button type="button" class="ui-datepicker-current ui-state-default ui-priority-secondary ui-corner-all" onclick="DP_jQuery_'+dpuuid+".datepicker._gotoToday('#"+a.id+"');\""+">"+u+"</button>":"")+(c?"":w)+"</div>":"",y=parseInt(this._get(a,"firstDay"),10);y=isNaN(y)?0:y;var z=this._get(a,"showWeek"),A=this._get(a,"dayNames"),B=this._get(a,"dayNamesShort"),C=this._get(a,"dayNamesMin"),D=this._get(a,"monthNames"),E=this._get(a,"monthNamesShort"),F=this._get(a,"beforeShowDay"),G=this._get(a,"showOtherMonths"),H=this._get(a,"selectOtherMonths"),I=this._get(a,"calculateWeek")||this.iso8601Week,J=this._getDefaultDate(a),K="";for(var L=0;L<g[0];L++){var M="";this.maxRows=4;for(var N=0;N<g[1];N++){var O=this._daylightSavingAdjust(new Date(o,n,a.selectedDay)),P=" ui-corner-all",Q="";if(j){Q+='<div class="ui-datepicker-group';if(g[1]>1)switch(N){case 0:Q+=" ui-datepicker-group-first",P=" ui-corner-"+(c?"right":"left");break;case g[1]-1:Q+=" ui-datepicker-group-last",P=" ui-corner-"+(c?"left":"right");break;default:Q+=" ui-datepicker-group-middle",P=""}Q+='">'}Q+='<div class="ui-datepicker-header ui-widget-header ui-helper-clearfix'+P+'">'+(/all|left/.test(P)&&L==0?c?t:r:"")+(/all|right/.test(P)&&L==0?c?r:t:"")+this._generateMonthYearHeader(a,n,o,l,m,L>0||N>0,D,E)+'</div><table class="ui-datepicker-calendar"><thead>'+"<tr>";var R=z?'<th class="ui-datepicker-week-col">'+this._get(a,"weekHeader")+"</th>":"";for(var S=0;S<7;S++){var T=(S+y)%7;R+="<th"+((S+y+6)%7>=5?' class="ui-datepicker-week-end"':"")+">"+'<span title="'+A[T]+'">'+C[T]+"</span></th>"}Q+=R+"</tr></thead><tbody>";var U=this._getDaysInMonth(o,n);o==a.selectedYear&&n==a.selectedMonth&&(a.selectedDay=Math.min(a.selectedDay,U));var V=(this._getFirstDayOfMonth(o,n)-y+7)%7,W=Math.ceil((V+U)/7),X=j?this.maxRows>W?this.maxRows:W:W;this.maxRows=X;var Y=this._daylightSavingAdjust(new Date(o,n,1-V));for(var Z=0;Z<X;Z++){Q+="<tr>";var _=z?'<td class="ui-datepicker-week-col">'+this._get(a,"calculateWeek")(Y)+"</td>":"";for(var S=0;S<7;S++){var ba=F?F.apply(a.input?a.input[0]:null,[Y]):[!0,""],bb=Y.getMonth()!=n,bc=bb&&!H||!ba[0]||l&&Y<l||m&&Y>m;_+='<td class="'+((S+y+6)%7>=5?" ui-datepicker-week-end":"")+(bb?" ui-datepicker-other-month":"")+(Y.getTime()==O.getTime()&&n==a.selectedMonth&&a._keyEvent||J.getTime()==Y.getTime()&&J.getTime()==O.getTime()?" "+this._dayOverClass:"")+(bc?" "+this._unselectableClass+" ui-state-disabled":"")+(bb&&!G?"":" "+ba[1]+(Y.getTime()==k.getTime()?" "+this._currentClass:"")+(Y.getTime()==b.getTime()?" ui-datepicker-today":""))+'"'+((!bb||G)&&ba[2]?' title="'+ba[2]+'"':"")+(bc?"":' onclick="DP_jQuery_'+dpuuid+".datepicker._selectDay('#"+a.id+"',"+Y.getMonth()+","+Y.getFullYear()+', this);return false;"')+">"+(bb&&!G?"&#xa0;":bc?'<span class="ui-state-default">'+Y.getDate()+"</span>":'<a class="ui-state-default'+(Y.getTime()==b.getTime()?" ui-state-highlight":"")+(Y.getTime()==k.getTime()?" ui-state-active":"")+(bb?" ui-priority-secondary":"")+'" href="#">'+Y.getDate()+"</a>")+"</td>",Y.setDate(Y.getDate()+1),Y=this._daylightSavingAdjust(Y)}Q+=_+"</tr>"}n++,n>11&&(n=0,o++),Q+="</tbody></table>"+(j?"</div>"+(g[0]>0&&N==g[1]-1?'<div class="ui-datepicker-row-break"></div>':""):""),M+=Q}K+=M}return K+=x+($.browser.msie&&parseInt($.browser.version,10)<7&&!a.inline?'<iframe src="javascript:false;" class="ui-datepicker-cover" frameborder="0"></iframe>':""),a._keyEvent=!1,K},_generateMonthYearHeader:function(a,b,c,d,e,f,g,h){var i=this._get(a,"changeMonth"),j=this._get(a,"changeYear"),k=this._get(a,"showMonthAfterYear"),l='<div class="ui-datepicker-title">',m="";if(f||!i)m+='<span class="ui-datepicker-month">'+g[b]+"</span>";else{var n=d&&d.getFullYear()==c,o=e&&e.getFullYear()==c;m+='<select class="ui-datepicker-month" onchange="DP_jQuery_'+dpuuid+".datepicker._selectMonthYear('#"+a.id+"', this, 'M');\" "+">";for(var p=0;p<12;p++)(!n||p>=d.getMonth())&&(!o||p<=e.getMonth())&&(m+='<option value="'+p+'"'+(p==b?' selected="selected"':"")+">"+h[p]+"</option>");m+="</select>"}k||(l+=m+(f||!i||!j?"&#xa0;":""));if(!a.yearshtml){a.yearshtml="";if(f||!j)l+='<span class="ui-datepicker-year">'+c+"</span>";else{var q=this._get(a,"yearRange").split(":"),r=(new Date).getFullYear(),s=function(a){var b=a.match(/c[+-].*/)?c+parseInt(a.substring(1),10):a.match(/[+-].*/)?r+parseInt(a,10):parseInt(a,10);return isNaN(b)?r:b},t=s(q[0]),u=Math.max(t,s(q[1]||""));t=d?Math.max(t,d.getFullYear()):t,u=e?Math.min(u,e.getFullYear()):u,a.yearshtml+='<select class="ui-datepicker-year" onchange="DP_jQuery_'+dpuuid+".datepicker._selectMonthYear('#"+a.id+"', this, 'Y');\" "+">";for(;t<=u;t++)a.yearshtml+='<option value="'+t+'"'+(t==c?' selected="selected"':"")+">"+t+"</option>";a.yearshtml+="</select>",l+=a.yearshtml,a.yearshtml=null}}return l+=this._get(a,"yearSuffix"),k&&(l+=(f||!i||!j?"&#xa0;":"")+m),l+="</div>",l},_adjustInstDate:function(a,b,c){var d=a.drawYear+(c=="Y"?b:0),e=a.drawMonth+(c=="M"?b:0),f=Math.min(a.selectedDay,this._getDaysInMonth(d,e))+(c=="D"?b:0),g=this._restrictMinMax(a,this._daylightSavingAdjust(new Date(d,e,f)));a.selectedDay=g.getDate(),a.drawMonth=a.selectedMonth=g.getMonth(),a.drawYear=a.selectedYear=g.getFullYear(),(c=="M"||c=="Y")&&this._notifyChange(a)},_restrictMinMax:function(a,b){var c=this._getMinMaxDate(a,"min"),d=this._getMinMaxDate(a,"max"),e=c&&b<c?c:b;return e=d&&e>d?d:e,e},_notifyChange:function(a){var b=this._get(a,"onChangeMonthYear");b&&b.apply(a.input?a.input[0]:null,[a.selectedYear,a.selectedMonth+1,a])},_getNumberOfMonths:function(a){var b=this._get(a,"numberOfMonths");return b==null?[1,1]:typeof b=="number"?[1,b]:b},_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,d){var e=this._getNumberOfMonths(a),f=this._daylightSavingAdjust(new Date(c,d+(b<0?b:e[0]*e[1]),1));return b<0&&f.setDate(this._getDaysInMonth(f.getFullYear(),f.getMonth())),this._isInRange(a,f)},_isInRange:function(a,b){var c=this._getMinMaxDate(a,"min"),d=this._getMinMaxDate(a,"max");return(!c||b.getTime()>=c.getTime())&&(!d||b.getTime()<=d.getTime())},_getFormatConfig:function(a){var b=this._get(a,"shortYearCutoff");return b=typeof b!="string"?b:(new Date).getFullYear()%100+parseInt(b,10),{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,d){b||(a.currentDay=a.selectedDay,a.currentMonth=a.selectedMonth,a.currentYear=a.selectedYear);var e=b?typeof b=="object"?b:this._daylightSavingAdjust(new Date(d,c,b)):this._daylightSavingAdjust(new Date(a.currentYear,a.currentMonth,a.currentDay));return this.formatDate(this._get(a,"dateFormat"),e,this._getFormatConfig(a))}}),$.fn.datepicker=function(a){if(!this.length)return this;$.datepicker.initialized||($(document).mousedown($.datepicker._checkExternalClick).find("body").append($.datepicker.dpDiv),$.datepicker.initialized=!0);var b=Array.prototype.slice.call(arguments,1);return typeof a!="string"||a!="isDisabled"&&a!="getDate"&&a!="widget"?a=="option"&&arguments.length==2&&typeof arguments[1]=="string"?$.datepicker["_"+a+"Datepicker"].apply($.datepicker,[this[0]].concat(b)):this.each(function(){typeof a=="string"?$.datepicker["_"+a+"Datepicker"].apply($.datepicker,[this].concat(b)):$.datepicker._attachDatepicker(this,a)}):$.datepicker["_"+a+"Datepicker"].apply($.datepicker,[this[0]].concat(b))},$.datepicker=new Datepicker,$.datepicker.initialized=!1,$.datepicker.uuid=(new Date).getTime(),$.datepicker.version="1.8.21",window["DP_jQuery_"+dpuuid]=$})(jQuery);;
\ No newline at end of file
diff --git a/koha-tmpl/opac-tmpl/ccsr/en/lib/jquery/jquery.js b/koha-tmpl/opac-tmpl/ccsr/en/lib/jquery/jquery.js
new file mode 100644 (file)
index 0000000..93adea1
--- /dev/null
@@ -0,0 +1,4 @@
+/*! jQuery v1.7.2 jquery.com | jquery.org/license */
+(function(a,b){function cy(a){return f.isWindow(a)?a:a.nodeType===9?a.defaultView||a.parentWindow:!1}function cu(a){if(!cj[a]){var b=c.body,d=f("<"+a+">").appendTo(b),e=d.css("display");d.remove();if(e==="none"||e===""){ck||(ck=c.createElement("iframe"),ck.frameBorder=ck.width=ck.height=0),b.appendChild(ck);if(!cl||!ck.createElement)cl=(ck.contentWindow||ck.contentDocument).document,cl.write((f.support.boxModel?"<!doctype html>":"")+"<html><body>"),cl.close();d=cl.createElement(a),cl.body.appendChild(d),e=f.css(d,"display"),b.removeChild(ck)}cj[a]=e}return cj[a]}function ct(a,b){var c={};f.each(cp.concat.apply([],cp.slice(0,b)),function(){c[this]=a});return c}function cs(){cq=b}function cr(){setTimeout(cs,0);return cq=f.now()}function ci(){try{return new a.ActiveXObject("Microsoft.XMLHTTP")}catch(b){}}function ch(){try{return new a.XMLHttpRequest}catch(b){}}function cb(a,c){a.dataFilter&&(c=a.dataFilter(c,a.dataType));var d=a.dataTypes,e={},g,h,i=d.length,j,k=d[0],l,m,n,o,p;for(g=1;g<i;g++){if(g===1)for(h in a.converters)typeof h=="string"&&(e[h.toLowerCase()]=a.converters[h]);l=k,k=d[g];if(k==="*")k=l;else if(l!=="*"&&l!==k){m=l+" "+k,n=e[m]||e["* "+k];if(!n){p=b;for(o in e){j=o.split(" ");if(j[0]===l||j[0]==="*"){p=e[j[1]+" "+k];if(p){o=e[o],o===!0?n=p:p===!0&&(n=o);break}}}}!n&&!p&&f.error("No conversion from "+m.replace(" "," to ")),n!==!0&&(c=n?n(c):p(o(c)))}}return c}function ca(a,c,d){var e=a.contents,f=a.dataTypes,g=a.responseFields,h,i,j,k;for(i in g)i in d&&(c[g[i]]=d[i]);while(f[0]==="*")f.shift(),h===b&&(h=a.mimeType||c.getResponseHeader("content-type"));if(h)for(i in e)if(e[i]&&e[i].test(h)){f.unshift(i);break}if(f[0]in d)j=f[0];else{for(i in d){if(!f[0]||a.converters[i+" "+f[0]]){j=i;break}k||(k=i)}j=j||k}if(j){j!==f[0]&&f.unshift(j);return d[j]}}function b_(a,b,c,d){if(f.isArray(b))f.each(b,function(b,e){c||bD.test(a)?d(a,e):b_(a+"["+(typeof e=="object"?b:"")+"]",e,c,d)});else if(!c&&f.type(b)==="object")for(var e in b)b_(a+"["+e+"]",b[e],c,d);else d(a,b)}function b$(a,c){var d,e,g=f.ajaxSettings.flatOptions||{};for(d in c)c[d]!==b&&((g[d]?a:e||(e={}))[d]=c[d]);e&&f.extend(!0,a,e)}function bZ(a,c,d,e,f,g){f=f||c.dataTypes[0],g=g||{},g[f]=!0;var h=a[f],i=0,j=h?h.length:0,k=a===bS,l;for(;i<j&&(k||!l);i++)l=h[i](c,d,e),typeof l=="string"&&(!k||g[l]?l=b:(c.dataTypes.unshift(l),l=bZ(a,c,d,e,l,g)));(k||!l)&&!g["*"]&&(l=bZ(a,c,d,e,"*",g));return l}function bY(a){return function(b,c){typeof b!="string"&&(c=b,b="*");if(f.isFunction(c)){var d=b.toLowerCase().split(bO),e=0,g=d.length,h,i,j;for(;e<g;e++)h=d[e],j=/^\+/.test(h),j&&(h=h.substr(1)||"*"),i=a[h]=a[h]||[],i[j?"unshift":"push"](c)}}}function bB(a,b,c){var d=b==="width"?a.offsetWidth:a.offsetHeight,e=b==="width"?1:0,g=4;if(d>0){if(c!=="border")for(;e<g;e+=2)c||(d-=parseFloat(f.css(a,"padding"+bx[e]))||0),c==="margin"?d+=parseFloat(f.css(a,c+bx[e]))||0:d-=parseFloat(f.css(a,"border"+bx[e]+"Width"))||0;return d+"px"}d=by(a,b);if(d<0||d==null)d=a.style[b];if(bt.test(d))return d;d=parseFloat(d)||0;if(c)for(;e<g;e+=2)d+=parseFloat(f.css(a,"padding"+bx[e]))||0,c!=="padding"&&(d+=parseFloat(f.css(a,"border"+bx[e]+"Width"))||0),c==="margin"&&(d+=parseFloat(f.css(a,c+bx[e]))||0);return d+"px"}function bo(a){var b=c.createElement("div");bh.appendChild(b),b.innerHTML=a.outerHTML;return b.firstChild}function bn(a){var b=(a.nodeName||"").toLowerCase();b==="input"?bm(a):b!=="script"&&typeof a.getElementsByTagName!="undefined"&&f.grep(a.getElementsByTagName("input"),bm)}function bm(a){if(a.type==="checkbox"||a.type==="radio")a.defaultChecked=a.checked}function bl(a){return typeof a.getElementsByTagName!="undefined"?a.getElementsByTagName("*"):typeof a.querySelectorAll!="undefined"?a.querySelectorAll("*"):[]}function bk(a,b){var c;b.nodeType===1&&(b.clearAttributes&&b.clearAttributes(),b.mergeAttributes&&b.mergeAttributes(a),c=b.nodeName.toLowerCase(),c==="object"?b.outerHTML=a.outerHTML:c!=="input"||a.type!=="checkbox"&&a.type!=="radio"?c==="option"?b.selected=a.defaultSelected:c==="input"||c==="textarea"?b.defaultValue=a.defaultValue:c==="script"&&b.text!==a.text&&(b.text=a.text):(a.checked&&(b.defaultChecked=b.checked=a.checked),b.value!==a.value&&(b.value=a.value)),b.removeAttribute(f.expando),b.removeAttribute("_submit_attached"),b.removeAttribute("_change_attached"))}function bj(a,b){if(b.nodeType===1&&!!f.hasData(a)){var c,d,e,g=f._data(a),h=f._data(b,g),i=g.events;if(i){delete h.handle,h.events={};for(c in i)for(d=0,e=i[c].length;d<e;d++)f.event.add(b,c,i[c][d])}h.data&&(h.data=f.extend({},h.data))}}function bi(a,b){return f.nodeName(a,"table")?a.getElementsByTagName("tbody")[0]||a.appendChild(a.ownerDocument.createElement("tbody")):a}function U(a){var b=V.split("|"),c=a.createDocumentFragment();if(c.createElement)while(b.length)c.createElement(b.pop());return c}function T(a,b,c){b=b||0;if(f.isFunction(b))return f.grep(a,function(a,d){var e=!!b.call(a,d,a);return e===c});if(b.nodeType)return f.grep(a,function(a,d){return a===b===c});if(typeof b=="string"){var d=f.grep(a,function(a){return a.nodeType===1});if(O.test(b))return f.filter(b,d,!c);b=f.filter(b,d)}return f.grep(a,function(a,d){return f.inArray(a,b)>=0===c})}function S(a){return!a||!a.parentNode||a.parentNode.nodeType===11}function K(){return!0}function J(){return!1}function n(a,b,c){var d=b+"defer",e=b+"queue",g=b+"mark",h=f._data(a,d);h&&(c==="queue"||!f._data(a,e))&&(c==="mark"||!f._data(a,g))&&setTimeout(function(){!f._data(a,e)&&!f._data(a,g)&&(f.removeData(a,d,!0),h.fire())},0)}function m(a){for(var b in a){if(b==="data"&&f.isEmptyObject(a[b]))continue;if(b!=="toJSON")return!1}return!0}function l(a,c,d){if(d===b&&a.nodeType===1){var e="data-"+c.replace(k,"-$1").toLowerCase();d=a.getAttribute(e);if(typeof d=="string"){try{d=d==="true"?!0:d==="false"?!1:d==="null"?null:f.isNumeric(d)?+d:j.test(d)?f.parseJSON(d):d}catch(g){}f.data(a,c,d)}else d=b}return d}function h(a){var b=g[a]={},c,d;a=a.split(/\s+/);for(c=0,d=a.length;c<d;c++)b[a[c]]=!0;return b}var c=a.document,d=a.navigator,e=a.location,f=function(){function J(){if(!e.isReady){try{c.documentElement.doScroll("left")}catch(a){setTimeout(J,1);return}e.ready()}}var e=function(a,b){return new e.fn.init(a,b,h)},f=a.jQuery,g=a.$,h,i=/^(?:[^#<]*(<[\w\W]+>)[^>]*$|#([\w\-]*)$)/,j=/\S/,k=/^\s+/,l=/\s+$/,m=/^<(\w+)\s*\/?>(?:<\/\1>)?$/,n=/^[\],:{}\s]*$/,o=/\\(?:["\\\/bfnrt]|u[0-9a-fA-F]{4})/g,p=/"[^"\\\n\r]*"|true|false|null|-?\d+(?:\.\d*)?(?:[eE][+\-]?\d+)?/g,q=/(?:^|:|,)(?:\s*\[)+/g,r=/(webkit)[ \/]([\w.]+)/,s=/(opera)(?:.*version)?[ \/]([\w.]+)/,t=/(msie) ([\w.]+)/,u=/(mozilla)(?:.*? rv:([\w.]+))?/,v=/-([a-z]|[0-9])/ig,w=/^-ms-/,x=function(a,b){return(b+"").toUpperCase()},y=d.userAgent,z,A,B,C=Object.prototype.toString,D=Object.prototype.hasOwnProperty,E=Array.prototype.push,F=Array.prototype.slice,G=String.prototype.trim,H=Array.prototype.indexOf,I={};e.fn=e.prototype={constructor:e,init:function(a,d,f){var g,h,j,k;if(!a)return this;if(a.nodeType){this.context=this[0]=a,this.length=1;return this}if(a==="body"&&!d&&c.body){this.context=c,this[0]=c.body,this.selector=a,this.length=1;return this}if(typeof a=="string"){a.charAt(0)!=="<"||a.charAt(a.length-1)!==">"||a.length<3?g=i.exec(a):g=[null,a,null];if(g&&(g[1]||!d)){if(g[1]){d=d instanceof e?d[0]:d,k=d?d.ownerDocument||d:c,j=m.exec(a),j?e.isPlainObject(d)?(a=[c.createElement(j[1])],e.fn.attr.call(a,d,!0)):a=[k.createElement(j[1])]:(j=e.buildFragment([g[1]],[k]),a=(j.cacheable?e.clone(j.fragment):j.fragment).childNodes);return e.merge(this,a)}h=c.getElementById(g[2]);if(h&&h.parentNode){if(h.id!==g[2])return f.find(a);this.length=1,this[0]=h}this.context=c,this.selector=a;return this}return!d||d.jquery?(d||f).find(a):this.constructor(d).find(a)}if(e.isFunction(a))return f.ready(a);a.selector!==b&&(this.selector=a.selector,this.context=a.context);return e.makeArray(a,this)},selector:"",jquery:"1.7.2",length:0,size:function(){return this.length},toArray:function(){return F.call(this,0)},get:function(a){return a==null?this.toArray():a<0?this[this.length+a]:this[a]},pushStack:function(a,b,c){var d=this.constructor();e.isArray(a)?E.apply(d,a):e.merge(d,a),d.prevObject=this,d.context=this.context,b==="find"?d.selector=this.selector+(this.selector?" ":"")+c:b&&(d.selector=this.selector+"."+b+"("+c+")");return d},each:function(a,b){return e.each(this,a,b)},ready:function(a){e.bindReady(),A.add(a);return this},eq:function(a){a=+a;return a===-1?this.slice(a):this.slice(a,a+1)},first:function(){return this.eq(0)},last:function(){return this.eq(-1)},slice:function(){return this.pushStack(F.apply(this,arguments),"slice",F.call(arguments).join(","))},map:function(a){return this.pushStack(e.map(this,function(b,c){return a.call(b,c,b)}))},end:function(){return this.prevObject||this.constructor(null)},push:E,sort:[].sort,splice:[].splice},e.fn.init.prototype=e.fn,e.extend=e.fn.extend=function(){var a,c,d,f,g,h,i=arguments[0]||{},j=1,k=arguments.length,l=!1;typeof i=="boolean"&&(l=i,i=arguments[1]||{},j=2),typeof i!="object"&&!e.isFunction(i)&&(i={}),k===j&&(i=this,--j);for(;j<k;j++)if((a=arguments[j])!=null)for(c in a){d=i[c],f=a[c];if(i===f)continue;l&&f&&(e.isPlainObject(f)||(g=e.isArray(f)))?(g?(g=!1,h=d&&e.isArray(d)?d:[]):h=d&&e.isPlainObject(d)?d:{},i[c]=e.extend(l,h,f)):f!==b&&(i[c]=f)}return i},e.extend({noConflict:function(b){a.$===e&&(a.$=g),b&&a.jQuery===e&&(a.jQuery=f);return e},isReady:!1,readyWait:1,holdReady:function(a){a?e.readyWait++:e.ready(!0)},ready:function(a){if(a===!0&&!--e.readyWait||a!==!0&&!e.isReady){if(!c.body)return setTimeout(e.ready,1);e.isReady=!0;if(a!==!0&&--e.readyWait>0)return;A.fireWith(c,[e]),e.fn.trigger&&e(c).trigger("ready").off("ready")}},bindReady:function(){if(!A){A=e.Callbacks("once memory");if(c.readyState==="complete")return setTimeout(e.ready,1);if(c.addEventListener)c.addEventListener("DOMContentLoaded",B,!1),a.addEventListener("load",e.ready,!1);else if(c.attachEvent){c.attachEvent("onreadystatechange",B),a.attachEvent("onload",e.ready);var b=!1;try{b=a.frameElement==null}catch(d){}c.documentElement.doScroll&&b&&J()}}},isFunction:function(a){return e.type(a)==="function"},isArray:Array.isArray||function(a){return e.type(a)==="array"},isWindow:function(a){return a!=null&&a==a.window},isNumeric:function(a){return!isNaN(parseFloat(a))&&isFinite(a)},type:function(a){return a==null?String(a):I[C.call(a)]||"object"},isPlainObject:function(a){if(!a||e.type(a)!=="object"||a.nodeType||e.isWindow(a))return!1;try{if(a.constructor&&!D.call(a,"constructor")&&!D.call(a.constructor.prototype,"isPrototypeOf"))return!1}catch(c){return!1}var d;for(d in a);return d===b||D.call(a,d)},isEmptyObject:function(a){for(var b in a)return!1;return!0},error:function(a){throw new Error(a)},parseJSON:function(b){if(typeof b!="string"||!b)return null;b=e.trim(b);if(a.JSON&&a.JSON.parse)return a.JSON.parse(b);if(n.test(b.replace(o,"@").replace(p,"]").replace(q,"")))return(new Function("return "+b))();e.error("Invalid JSON: "+b)},parseXML:function(c){if(typeof c!="string"||!c)return null;var d,f;try{a.DOMParser?(f=new DOMParser,d=f.parseFromString(c,"text/xml")):(d=new ActiveXObject("Microsoft.XMLDOM"),d.async="false",d.loadXML(c))}catch(g){d=b}(!d||!d.documentElement||d.getElementsByTagName("parsererror").length)&&e.error("Invalid XML: "+c);return d},noop:function(){},globalEval:function(b){b&&j.test(b)&&(a.execScript||function(b){a.eval.call(a,b)})(b)},camelCase:function(a){return a.replace(w,"ms-").replace(v,x)},nodeName:function(a,b){return a.nodeName&&a.nodeName.toUpperCase()===b.toUpperCase()},each:function(a,c,d){var f,g=0,h=a.length,i=h===b||e.isFunction(a);if(d){if(i){for(f in a)if(c.apply(a[f],d)===!1)break}else for(;g<h;)if(c.apply(a[g++],d)===!1)break}else if(i){for(f in a)if(c.call(a[f],f,a[f])===!1)break}else for(;g<h;)if(c.call(a[g],g,a[g++])===!1)break;return a},trim:G?function(a){return a==null?"":G.call(a)}:function(a){return a==null?"":(a+"").replace(k,"").replace(l,"")},makeArray:function(a,b){var c=b||[];if(a!=null){var d=e.type(a);a.length==null||d==="string"||d==="function"||d==="regexp"||e.isWindow(a)?E.call(c,a):e.merge(c,a)}return c},inArray:function(a,b,c){var d;if(b){if(H)return H.call(b,a,c);d=b.length,c=c?c<0?Math.max(0,d+c):c:0;for(;c<d;c++)if(c in b&&b[c]===a)return c}return-1},merge:function(a,c){var d=a.length,e=0;if(typeof c.length=="number")for(var f=c.length;e<f;e++)a[d++]=c[e];else while(c[e]!==b)a[d++]=c[e++];a.length=d;return a},grep:function(a,b,c){var d=[],e;c=!!c;for(var f=0,g=a.length;f<g;f++)e=!!b(a[f],f),c!==e&&d.push(a[f]);return d},map:function(a,c,d){var f,g,h=[],i=0,j=a.length,k=a instanceof e||j!==b&&typeof j=="number"&&(j>0&&a[0]&&a[j-1]||j===0||e.isArray(a));if(k)for(;i<j;i++)f=c(a[i],i,d),f!=null&&(h[h.length]=f);else for(g in a)f=c(a[g],g,d),f!=null&&(h[h.length]=f);return h.concat.apply([],h)},guid:1,proxy:function(a,c){if(typeof c=="string"){var d=a[c];c=a,a=d}if(!e.isFunction(a))return b;var f=F.call(arguments,2),g=function(){return a.apply(c,f.concat(F.call(arguments)))};g.guid=a.guid=a.guid||g.guid||e.guid++;return g},access:function(a,c,d,f,g,h,i){var j,k=d==null,l=0,m=a.length;if(d&&typeof d=="object"){for(l in d)e.access(a,c,l,d[l],1,h,f);g=1}else if(f!==b){j=i===b&&e.isFunction(f),k&&(j?(j=c,c=function(a,b,c){return j.call(e(a),c)}):(c.call(a,f),c=null));if(c)for(;l<m;l++)c(a[l],d,j?f.call(a[l],l,c(a[l],d)):f,i);g=1}return g?a:k?c.call(a):m?c(a[0],d):h},now:function(){return(new Date).getTime()},uaMatch:function(a){a=a.toLowerCase();var b=r.exec(a)||s.exec(a)||t.exec(a)||a.indexOf("compatible")<0&&u.exec(a)||[];return{browser:b[1]||"",version:b[2]||"0"}},sub:function(){function a(b,c){return new a.fn.init(b,c)}e.extend(!0,a,this),a.superclass=this,a.fn=a.prototype=this(),a.fn.constructor=a,a.sub=this.sub,a.fn.init=function(d,f){f&&f instanceof e&&!(f instanceof a)&&(f=a(f));return e.fn.init.call(this,d,f,b)},a.fn.init.prototype=a.fn;var b=a(c);return a},browser:{}}),e.each("Boolean Number String Function Array Date RegExp Object".split(" "),function(a,b){I["[object "+b+"]"]=b.toLowerCase()}),z=e.uaMatch(y),z.browser&&(e.browser[z.browser]=!0,e.browser.version=z.version),e.browser.webkit&&(e.browser.safari=!0),j.test(" ")&&(k=/^[\s\xA0]+/,l=/[\s\xA0]+$/),h=e(c),c.addEventListener?B=function(){c.removeEventListener("DOMContentLoaded",B,!1),e.ready()}:c.attachEvent&&(B=function(){c.readyState==="complete"&&(c.detachEvent("onreadystatechange",B),e.ready())});return e}(),g={};f.Callbacks=function(a){a=a?g[a]||h(a):{};var c=[],d=[],e,i,j,k,l,m,n=function(b){var d,e,g,h,i;for(d=0,e=b.length;d<e;d++)g=b[d],h=f.type(g),h==="array"?n(g):h==="function"&&(!a.unique||!p.has(g))&&c.push(g)},o=function(b,f){f=f||[],e=!a.memory||[b,f],i=!0,j=!0,m=k||0,k=0,l=c.length;for(;c&&m<l;m++)if(c[m].apply(b,f)===!1&&a.stopOnFalse){e=!0;break}j=!1,c&&(a.once?e===!0?p.disable():c=[]:d&&d.length&&(e=d.shift(),p.fireWith(e[0],e[1])))},p={add:function(){if(c){var a=c.length;n(arguments),j?l=c.length:e&&e!==!0&&(k=a,o(e[0],e[1]))}return this},remove:function(){if(c){var b=arguments,d=0,e=b.length;for(;d<e;d++)for(var f=0;f<c.length;f++)if(b[d]===c[f]){j&&f<=l&&(l--,f<=m&&m--),c.splice(f--,1);if(a.unique)break}}return this},has:function(a){if(c){var b=0,d=c.length;for(;b<d;b++)if(a===c[b])return!0}return!1},empty:function(){c=[];return this},disable:function(){c=d=e=b;return this},disabled:function(){return!c},lock:function(){d=b,(!e||e===!0)&&p.disable();return this},locked:function(){return!d},fireWith:function(b,c){d&&(j?a.once||d.push([b,c]):(!a.once||!e)&&o(b,c));return this},fire:function(){p.fireWith(this,arguments);return this},fired:function(){return!!i}};return p};var i=[].slice;f.extend({Deferred:function(a){var b=f.Callbacks("once memory"),c=f.Callbacks("once memory"),d=f.Callbacks("memory"),e="pending",g={resolve:b,reject:c,notify:d},h={done:b.add,fail:c.add,progress:d.add,state:function(){return e},isResolved:b.fired,isRejected:c.fired,then:function(a,b,c){i.done(a).fail(b).progress(c);return this},always:function(){i.done.apply(i,arguments).fail.apply(i,arguments);return this},pipe:function(a,b,c){return f.Deferred(function(d){f.each({done:[a,"resolve"],fail:[b,"reject"],progress:[c,"notify"]},function(a,b){var c=b[0],e=b[1],g;f.isFunction(c)?i[a](function(){g=c.apply(this,arguments),g&&f.isFunction(g.promise)?g.promise().then(d.resolve,d.reject,d.notify):d[e+"With"](this===i?d:this,[g])}):i[a](d[e])})}).promise()},promise:function(a){if(a==null)a=h;else for(var b in h)a[b]=h[b];return a}},i=h.promise({}),j;for(j in g)i[j]=g[j].fire,i[j+"With"]=g[j].fireWith;i.done(function(){e="resolved"},c.disable,d.lock).fail(function(){e="rejected"},b.disable,d.lock),a&&a.call(i,i);return i},when:function(a){function m(a){return function(b){e[a]=arguments.length>1?i.call(arguments,0):b,j.notifyWith(k,e)}}function l(a){return function(c){b[a]=arguments.length>1?i.call(arguments,0):c,--g||j.resolveWith(j,b)}}var b=i.call(arguments,0),c=0,d=b.length,e=Array(d),g=d,h=d,j=d<=1&&a&&f.isFunction(a.promise)?a:f.Deferred(),k=j.promise();if(d>1){for(;c<d;c++)b[c]&&b[c].promise&&f.isFunction(b[c].promise)?b[c].promise().then(l(c),j.reject,m(c)):--g;g||j.resolveWith(j,b)}else j!==a&&j.resolveWith(j,d?[a]:[]);return k}}),f.support=function(){var b,d,e,g,h,i,j,k,l,m,n,o,p=c.createElement("div"),q=c.documentElement;p.setAttribute("className","t"),p.innerHTML="   <link/><table></table><a href='/a' style='top:1px;float:left;opacity:.55;'>a</a><input type='checkbox'/>",d=p.getElementsByTagName("*"),e=p.getElementsByTagName("a")[0];if(!d||!d.length||!e)return{};g=c.createElement("select"),h=g.appendChild(c.createElement("option")),i=p.getElementsByTagName("input")[0],b={leadingWhitespace:p.firstChild.nodeType===3,tbody:!p.getElementsByTagName("tbody").length,htmlSerialize:!!p.getElementsByTagName("link").length,style:/top/.test(e.getAttribute("style")),hrefNormalized:e.getAttribute("href")==="/a",opacity:/^0.55/.test(e.style.opacity),cssFloat:!!e.style.cssFloat,checkOn:i.value==="on",optSelected:h.selected,getSetAttribute:p.className!=="t",enctype:!!c.createElement("form").enctype,html5Clone:c.createElement("nav").cloneNode(!0).outerHTML!=="<:nav></:nav>",submitBubbles:!0,changeBubbles:!0,focusinBubbles:!1,deleteExpando:!0,noCloneEvent:!0,inlineBlockNeedsLayout:!1,shrinkWrapBlocks:!1,reliableMarginRight:!0,pixelMargin:!0},f.boxModel=b.boxModel=c.compatMode==="CSS1Compat",i.checked=!0,b.noCloneChecked=i.cloneNode(!0).checked,g.disabled=!0,b.optDisabled=!h.disabled;try{delete p.test}catch(r){b.deleteExpando=!1}!p.addEventListener&&p.attachEvent&&p.fireEvent&&(p.attachEvent("onclick",function(){b.noCloneEvent=!1}),p.cloneNode(!0).fireEvent("onclick")),i=c.createElement("input"),i.value="t",i.setAttribute("type","radio"),b.radioValue=i.value==="t",i.setAttribute("checked","checked"),i.setAttribute("name","t"),p.appendChild(i),j=c.createDocumentFragment(),j.appendChild(p.lastChild),b.checkClone=j.cloneNode(!0).cloneNode(!0).lastChild.checked,b.appendChecked=i.checked,j.removeChild(i),j.appendChild(p);if(p.attachEvent)for(n in{submit:1,change:1,focusin:1})m="on"+n,o=m in p,o||(p.setAttribute(m,"return;"),o=typeof p[m]=="function"),b[n+"Bubbles"]=o;j.removeChild(p),j=g=h=p=i=null,f(function(){var d,e,g,h,i,j,l,m,n,q,r,s,t,u=c.getElementsByTagName("body")[0];!u||(m=1,t="padding:0;margin:0;border:",r="position:absolute;top:0;left:0;width:1px;height:1px;",s=t+"0;visibility:hidden;",n="style='"+r+t+"5px solid #000;",q="<div "+n+"display:block;'><div style='"+t+"0;display:block;overflow:hidden;'></div></div>"+"<table "+n+"' cellpadding='0' cellspacing='0'>"+"<tr><td></td></tr></table>",d=c.createElement("div"),d.style.cssText=s+"width:0;height:0;position:static;top:0;margin-top:"+m+"px",u.insertBefore(d,u.firstChild),p=c.createElement("div"),d.appendChild(p),p.innerHTML="<table><tr><td style='"+t+"0;display:none'></td><td>t</td></tr></table>",k=p.getElementsByTagName("td"),o=k[0].offsetHeight===0,k[0].style.display="",k[1].style.display="none",b.reliableHiddenOffsets=o&&k[0].offsetHeight===0,a.getComputedStyle&&(p.innerHTML="",l=c.createElement("div"),l.style.width="0",l.style.marginRight="0",p.style.width="2px",p.appendChild(l),b.reliableMarginRight=(parseInt((a.getComputedStyle(l,null)||{marginRight:0}).marginRight,10)||0)===0),typeof p.style.zoom!="undefined"&&(p.innerHTML="",p.style.width=p.style.padding="1px",p.style.border=0,p.style.overflow="hidden",p.style.display="inline",p.style.zoom=1,b.inlineBlockNeedsLayout=p.offsetWidth===3,p.style.display="block",p.style.overflow="visible",p.innerHTML="<div style='width:5px;'></div>",b.shrinkWrapBlocks=p.offsetWidth!==3),p.style.cssText=r+s,p.innerHTML=q,e=p.firstChild,g=e.firstChild,i=e.nextSibling.firstChild.firstChild,j={doesNotAddBorder:g.offsetTop!==5,doesAddBorderForTableAndCells:i.offsetTop===5},g.style.position="fixed",g.style.top="20px",j.fixedPosition=g.offsetTop===20||g.offsetTop===15,g.style.position=g.style.top="",e.style.overflow="hidden",e.style.position="relative",j.subtractsBorderForOverflowNotVisible=g.offsetTop===-5,j.doesNotIncludeMarginInBodyOffset=u.offsetTop!==m,a.getComputedStyle&&(p.style.marginTop="1%",b.pixelMargin=(a.getComputedStyle(p,null)||{marginTop:0}).marginTop!=="1%"),typeof d.style.zoom!="undefined"&&(d.style.zoom=1),u.removeChild(d),l=p=d=null,f.extend(b,j))});return b}();var j=/^(?:\{.*\}|\[.*\])$/,k=/([A-Z])/g;f.extend({cache:{},uuid:0,expando:"jQuery"+(f.fn.jquery+Math.random()).replace(/\D/g,""),noData:{embed:!0,object:"clsid:D27CDB6E-AE6D-11cf-96B8-444553540000",applet:!0},hasData:function(a){a=a.nodeType?f.cache[a[f.expando]]:a[f.expando];return!!a&&!m(a)},data:function(a,c,d,e){if(!!f.acceptData(a)){var g,h,i,j=f.expando,k=typeof c=="string",l=a.nodeType,m=l?f.cache:a,n=l?a[j]:a[j]&&j,o=c==="events";if((!n||!m[n]||!o&&!e&&!m[n].data)&&k&&d===b)return;n||(l?a[j]=n=++f.uuid:n=j),m[n]||(m[n]={},l||(m[n].toJSON=f.noop));if(typeof c=="object"||typeof c=="function")e?m[n]=f.extend(m[n],c):m[n].data=f.extend(m[n].data,c);g=h=m[n],e||(h.data||(h.data={}),h=h.data),d!==b&&(h[f.camelCase(c)]=d);if(o&&!h[c])return g.events;k?(i=h[c],i==null&&(i=h[f.camelCase(c)])):i=h;return i}},removeData:function(a,b,c){if(!!f.acceptData(a)){var d,e,g,h=f.expando,i=a.nodeType,j=i?f.cache:a,k=i?a[h]:h;if(!j[k])return;if(b){d=c?j[k]:j[k].data;if(d){f.isArray(b)||(b in d?b=[b]:(b=f.camelCase(b),b in d?b=[b]:b=b.split(" ")));for(e=0,g=b.length;e<g;e++)delete d[b[e]];if(!(c?m:f.isEmptyObject)(d))return}}if(!c){delete j[k].data;if(!m(j[k]))return}f.support.deleteExpando||!j.setInterval?delete j[k]:j[k]=null,i&&(f.support.deleteExpando?delete a[h]:a.removeAttribute?a.removeAttribute(h):a[h]=null)}},_data:function(a,b,c){return f.data(a,b,c,!0)},acceptData:function(a){if(a.nodeName){var b=f.noData[a.nodeName.toLowerCase()];if(b)return b!==!0&&a.getAttribute("classid")===b}return!0}}),f.fn.extend({data:function(a,c){var d,e,g,h,i,j=this[0],k=0,m=null;if(a===b){if(this.length){m=f.data(j);if(j.nodeType===1&&!f._data(j,"parsedAttrs")){g=j.attributes;for(i=g.length;k<i;k++)h=g[k].name,h.indexOf("data-")===0&&(h=f.camelCase(h.substring(5)),l(j,h,m[h]));f._data(j,"parsedAttrs",!0)}}return m}if(typeof a=="object")return this.each(function(){f.data(this,a)});d=a.split(".",2),d[1]=d[1]?"."+d[1]:"",e=d[1]+"!";return f.access(this,function(c){if(c===b){m=this.triggerHandler("getData"+e,[d[0]]),m===b&&j&&(m=f.data(j,a),m=l(j,a,m));return m===b&&d[1]?this.data(d[0]):m}d[1]=c,this.each(function(){var b=f(this);b.triggerHandler("setData"+e,d),f.data(this,a,c),b.triggerHandler("changeData"+e,d)})},null,c,arguments.length>1,null,!1)},removeData:function(a){return this.each(function(){f.removeData(this,a)})}}),f.extend({_mark:function(a,b){a&&(b=(b||"fx")+"mark",f._data(a,b,(f._data(a,b)||0)+1))},_unmark:function(a,b,c){a!==!0&&(c=b,b=a,a=!1);if(b){c=c||"fx";var d=c+"mark",e=a?0:(f._data(b,d)||1)-1;e?f._data(b,d,e):(f.removeData(b,d,!0),n(b,c,"mark"))}},queue:function(a,b,c){var d;if(a){b=(b||"fx")+"queue",d=f._data(a,b),c&&(!d||f.isArray(c)?d=f._data(a,b,f.makeArray(c)):d.push(c));return d||[]}},dequeue:function(a,b){b=b||"fx";var c=f.queue(a,b),d=c.shift(),e={};d==="inprogress"&&(d=c.shift()),d&&(b==="fx"&&c.unshift("inprogress"),f._data(a,b+".run",e),d.call(a,function(){f.dequeue(a,b)},e)),c.length||(f.removeData(a,b+"queue "+b+".run",!0),n(a,b,"queue"))}}),f.fn.extend({queue:function(a,c){var d=2;typeof a!="string"&&(c=a,a="fx",d--);if(arguments.length<d)return f.queue(this[0],a);return c===b?this:this.each(function(){var b=f.queue(this,a,c);a==="fx"&&b[0]!=="inprogress"&&f.dequeue(this,a)})},dequeue:function(a){return this.each(function(){f.dequeue(this,a)})},delay:function(a,b){a=f.fx?f.fx.speeds[a]||a:a,b=b||"fx";return this.queue(b,function(b,c){var d=setTimeout(b,a);c.stop=function(){clearTimeout(d)}})},clearQueue:function(a){return this.queue(a||"fx",[])},promise:function(a,c){function m(){--h||d.resolveWith(e,[e])}typeof a!="string"&&(c=a,a=b),a=a||"fx";var d=f.Deferred(),e=this,g=e.length,h=1,i=a+"defer",j=a+"queue",k=a+"mark",l;while(g--)if(l=f.data(e[g],i,b,!0)||(f.data(e[g],j,b,!0)||f.data(e[g],k,b,!0))&&f.data(e[g],i,f.Callbacks("once memory"),!0))h++,l.add(m);m();return d.promise(c)}});var o=/[\n\t\r]/g,p=/\s+/,q=/\r/g,r=/^(?:button|input)$/i,s=/^(?:button|input|object|select|textarea)$/i,t=/^a(?:rea)?$/i,u=/^(?:autofocus|autoplay|async|checked|controls|defer|disabled|hidden|loop|multiple|open|readonly|required|scoped|selected)$/i,v=f.support.getSetAttribute,w,x,y;f.fn.extend({attr:function(a,b){return f.access(this,f.attr,a,b,arguments.length>1)},removeAttr:function(a){return this.each(function(){f.removeAttr(this,a)})},prop:function(a,b){return f.access(this,f.prop,a,b,arguments.length>1)},removeProp:function(a){a=f.propFix[a]||a;return this.each(function(){try{this[a]=b,delete this[a]}catch(c){}})},addClass:function(a){var b,c,d,e,g,h,i;if(f.isFunction(a))return this.each(function(b){f(this).addClass(a.call(this,b,this.className))});if(a&&typeof a=="string"){b=a.split(p);for(c=0,d=this.length;c<d;c++){e=this[c];if(e.nodeType===1)if(!e.className&&b.length===1)e.className=a;else{g=" "+e.className+" ";for(h=0,i=b.length;h<i;h++)~g.indexOf(" "+b[h]+" ")||(g+=b[h]+" ");e.className=f.trim(g)}}}return this},removeClass:function(a){var c,d,e,g,h,i,j;if(f.isFunction(a))return this.each(function(b){f(this).removeClass(a.call(this,b,this.className))});if(a&&typeof a=="string"||a===b){c=(a||"").split(p);for(d=0,e=this.length;d<e;d++){g=this[d];if(g.nodeType===1&&g.className)if(a){h=(" "+g.className+" ").replace(o," ");for(i=0,j=c.length;i<j;i++)h=h.replace(" "+c[i]+" "," ");g.className=f.trim(h)}else g.className=""}}return this},toggleClass:function(a,b){var c=typeof a,d=typeof b=="boolean";if(f.isFunction(a))return this.each(function(c){f(this).toggleClass(a.call(this,c,this.className,b),b)});return this.each(function(){if(c==="string"){var e,g=0,h=f(this),i=b,j=a.split(p);while(e=j[g++])i=d?i:!h.hasClass(e),h[i?"addClass":"removeClass"](e)}else if(c==="undefined"||c==="boolean")this.className&&f._data(this,"__className__",this.className),this.className=this.className||a===!1?"":f._data(this,"__className__")||""})},hasClass:function(a){var b=" "+a+" ",c=0,d=this.length;for(;c<d;c++)if(this[c].nodeType===1&&(" "+this[c].className+" ").replace(o," ").indexOf(b)>-1)return!0;return!1},val:function(a){var c,d,e,g=this[0];{if(!!arguments.length){e=f.isFunction(a);return this.each(function(d){var g=f(this),h;if(this.nodeType===1){e?h=a.call(this,d,g.val()):h=a,h==null?h="":typeof h=="number"?h+="":f.isArray(h)&&(h=f.map(h,function(a){return a==null?"":a+""})),c=f.valHooks[this.type]||f.valHooks[this.nodeName.toLowerCase()];if(!c||!("set"in c)||c.set(this,h,"value")===b)this.value=h}})}if(g){c=f.valHooks[g.type]||f.valHooks[g.nodeName.toLowerCase()];if(c&&"get"in c&&(d=c.get(g,"value"))!==b)return d;d=g.value;return typeof d=="string"?d.replace(q,""):d==null?"":d}}}}),f.extend({valHooks:{option:{get:function(a){var b=a.attributes.value;return!b||b.specified?a.value:a.text}},select:{get:function(a){var b,c,d,e,g=a.selectedIndex,h=[],i=a.options,j=a.type==="select-one";if(g<0)return null;c=j?g:0,d=j?g+1:i.length;for(;c<d;c++){e=i[c];if(e.selected&&(f.support.optDisabled?!e.disabled:e.getAttribute("disabled")===null)&&(!e.parentNode.disabled||!f.nodeName(e.parentNode,"optgroup"))){b=f(e).val();if(j)return b;h.push(b)}}if(j&&!h.length&&i.length)return f(i[g]).val();return h},set:function(a,b){var c=f.makeArray(b);f(a).find("option").each(function(){this.selected=f.inArray(f(this).val(),c)>=0}),c.length||(a.selectedIndex=-1);return c}}},attrFn:{val:!0,css:!0,html:!0,text:!0,data:!0,width:!0,height:!0,offset:!0},attr:function(a,c,d,e){var g,h,i,j=a.nodeType;if(!!a&&j!==3&&j!==8&&j!==2){if(e&&c in f.attrFn)return f(a)[c](d);if(typeof a.getAttribute=="undefined")return f.prop(a,c,d);i=j!==1||!f.isXMLDoc(a),i&&(c=c.toLowerCase(),h=f.attrHooks[c]||(u.test(c)?x:w));if(d!==b){if(d===null){f.removeAttr(a,c);return}if(h&&"set"in h&&i&&(g=h.set(a,d,c))!==b)return g;a.setAttribute(c,""+d);return d}if(h&&"get"in h&&i&&(g=h.get(a,c))!==null)return g;g=a.getAttribute(c);return g===null?b:g}},removeAttr:function(a,b){var c,d,e,g,h,i=0;if(b&&a.nodeType===1){d=b.toLowerCase().split(p),g=d.length;for(;i<g;i++)e=d[i],e&&(c=f.propFix[e]||e,h=u.test(e),h||f.attr(a,e,""),a.removeAttribute(v?e:c),h&&c in a&&(a[c]=!1))}},attrHooks:{type:{set:function(a,b){if(r.test(a.nodeName)&&a.parentNode)f.error("type property can't be changed");else if(!f.support.radioValue&&b==="radio"&&f.nodeName(a,"input")){var c=a.value;a.setAttribute("type",b),c&&(a.value=c);return b}}},value:{get:function(a,b){if(w&&f.nodeName(a,"button"))return w.get(a,b);return b in a?a.value:null},set:function(a,b,c){if(w&&f.nodeName(a,"button"))return w.set(a,b,c);a.value=b}}},propFix:{tabindex:"tabIndex",readonly:"readOnly","for":"htmlFor","class":"className",maxlength:"maxLength",cellspacing:"cellSpacing",cellpadding:"cellPadding",rowspan:"rowSpan",colspan:"colSpan",usemap:"useMap",frameborder:"frameBorder",contenteditable:"contentEditable"},prop:function(a,c,d){var e,g,h,i=a.nodeType;if(!!a&&i!==3&&i!==8&&i!==2){h=i!==1||!f.isXMLDoc(a),h&&(c=f.propFix[c]||c,g=f.propHooks[c]);return d!==b?g&&"set"in g&&(e=g.set(a,d,c))!==b?e:a[c]=d:g&&"get"in g&&(e=g.get(a,c))!==null?e:a[c]}},propHooks:{tabIndex:{get:function(a){var c=a.getAttributeNode("tabindex");return c&&c.specified?parseInt(c.value,10):s.test(a.nodeName)||t.test(a.nodeName)&&a.href?0:b}}}}),f.attrHooks.tabindex=f.propHooks.tabIndex,x={get:function(a,c){var d,e=f.prop(a,c);return e===!0||typeof e!="boolean"&&(d=a.getAttributeNode(c))&&d.nodeValue!==!1?c.toLowerCase():b},set:function(a,b,c){var d;b===!1?f.removeAttr(a,c):(d=f.propFix[c]||c,d in a&&(a[d]=!0),a.setAttribute(c,c.toLowerCase()));return c}},v||(y={name:!0,id:!0,coords:!0},w=f.valHooks.button={get:function(a,c){var d;d=a.getAttributeNode(c);return d&&(y[c]?d.nodeValue!=="":d.specified)?d.nodeValue:b},set:function(a,b,d){var e=a.getAttributeNode(d);e||(e=c.createAttribute(d),a.setAttributeNode(e));return e.nodeValue=b+""}},f.attrHooks.tabindex.set=w.set,f.each(["width","height"],function(a,b){f.attrHooks[b]=f.extend(f.attrHooks[b],{set:function(a,c){if(c===""){a.setAttribute(b,"auto");return c}}})}),f.attrHooks.contenteditable={get:w.get,set:function(a,b,c){b===""&&(b="false"),w.set(a,b,c)}}),f.support.hrefNormalized||f.each(["href","src","width","height"],function(a,c){f.attrHooks[c]=f.extend(f.attrHooks[c],{get:function(a){var d=a.getAttribute(c,2);return d===null?b:d}})}),f.support.style||(f.attrHooks.style={get:function(a){return a.style.cssText.toLowerCase()||b},set:function(a,b){return a.style.cssText=""+b}}),f.support.optSelected||(f.propHooks.selected=f.extend(f.propHooks.selected,{get:function(a){var b=a.parentNode;b&&(b.selectedIndex,b.parentNode&&b.parentNode.selectedIndex);return null}})),f.support.enctype||(f.propFix.enctype="encoding"),f.support.checkOn||f.each(["radio","checkbox"],function(){f.valHooks[this]={get:function(a){return a.getAttribute("value")===null?"on":a.value}}}),f.each(["radio","checkbox"],function(){f.valHooks[this]=f.extend(f.valHooks[this],{set:function(a,b){if(f.isArray(b))return a.checked=f.inArray(f(a).val(),b)>=0}})});var z=/^(?:textarea|input|select)$/i,A=/^([^\.]*)?(?:\.(.+))?$/,B=/(?:^|\s)hover(\.\S+)?\b/,C=/^key/,D=/^(?:mouse|contextmenu)|click/,E=/^(?:focusinfocus|focusoutblur)$/,F=/^(\w*)(?:#([\w\-]+))?(?:\.([\w\-]+))?$/,G=function(
+a){var b=F.exec(a);b&&(b[1]=(b[1]||"").toLowerCase(),b[3]=b[3]&&new RegExp("(?:^|\\s)"+b[3]+"(?:\\s|$)"));return b},H=function(a,b){var c=a.attributes||{};return(!b[1]||a.nodeName.toLowerCase()===b[1])&&(!b[2]||(c.id||{}).value===b[2])&&(!b[3]||b[3].test((c["class"]||{}).value))},I=function(a){return f.event.special.hover?a:a.replace(B,"mouseenter$1 mouseleave$1")};f.event={add:function(a,c,d,e,g){var h,i,j,k,l,m,n,o,p,q,r,s;if(!(a.nodeType===3||a.nodeType===8||!c||!d||!(h=f._data(a)))){d.handler&&(p=d,d=p.handler,g=p.selector),d.guid||(d.guid=f.guid++),j=h.events,j||(h.events=j={}),i=h.handle,i||(h.handle=i=function(a){return typeof f!="undefined"&&(!a||f.event.triggered!==a.type)?f.event.dispatch.apply(i.elem,arguments):b},i.elem=a),c=f.trim(I(c)).split(" ");for(k=0;k<c.length;k++){l=A.exec(c[k])||[],m=l[1],n=(l[2]||"").split(".").sort(),s=f.event.special[m]||{},m=(g?s.delegateType:s.bindType)||m,s=f.event.special[m]||{},o=f.extend({type:m,origType:l[1],data:e,handler:d,guid:d.guid,selector:g,quick:g&&G(g),namespace:n.join(".")},p),r=j[m];if(!r){r=j[m]=[],r.delegateCount=0;if(!s.setup||s.setup.call(a,e,n,i)===!1)a.addEventListener?a.addEventListener(m,i,!1):a.attachEvent&&a.attachEvent("on"+m,i)}s.add&&(s.add.call(a,o),o.handler.guid||(o.handler.guid=d.guid)),g?r.splice(r.delegateCount++,0,o):r.push(o),f.event.global[m]=!0}a=null}},global:{},remove:function(a,b,c,d,e){var g=f.hasData(a)&&f._data(a),h,i,j,k,l,m,n,o,p,q,r,s;if(!!g&&!!(o=g.events)){b=f.trim(I(b||"")).split(" ");for(h=0;h<b.length;h++){i=A.exec(b[h])||[],j=k=i[1],l=i[2];if(!j){for(j in o)f.event.remove(a,j+b[h],c,d,!0);continue}p=f.event.special[j]||{},j=(d?p.delegateType:p.bindType)||j,r=o[j]||[],m=r.length,l=l?new RegExp("(^|\\.)"+l.split(".").sort().join("\\.(?:.*\\.)?")+"(\\.|$)"):null;for(n=0;n<r.length;n++)s=r[n],(e||k===s.origType)&&(!c||c.guid===s.guid)&&(!l||l.test(s.namespace))&&(!d||d===s.selector||d==="**"&&s.selector)&&(r.splice(n--,1),s.selector&&r.delegateCount--,p.remove&&p.remove.call(a,s));r.length===0&&m!==r.length&&((!p.teardown||p.teardown.call(a,l)===!1)&&f.removeEvent(a,j,g.handle),delete o[j])}f.isEmptyObject(o)&&(q=g.handle,q&&(q.elem=null),f.removeData(a,["events","handle"],!0))}},customEvent:{getData:!0,setData:!0,changeData:!0},trigger:function(c,d,e,g){if(!e||e.nodeType!==3&&e.nodeType!==8){var h=c.type||c,i=[],j,k,l,m,n,o,p,q,r,s;if(E.test(h+f.event.triggered))return;h.indexOf("!")>=0&&(h=h.slice(0,-1),k=!0),h.indexOf(".")>=0&&(i=h.split("."),h=i.shift(),i.sort());if((!e||f.event.customEvent[h])&&!f.event.global[h])return;c=typeof c=="object"?c[f.expando]?c:new f.Event(h,c):new f.Event(h),c.type=h,c.isTrigger=!0,c.exclusive=k,c.namespace=i.join("."),c.namespace_re=c.namespace?new RegExp("(^|\\.)"+i.join("\\.(?:.*\\.)?")+"(\\.|$)"):null,o=h.indexOf(":")<0?"on"+h:"";if(!e){j=f.cache;for(l in j)j[l].events&&j[l].events[h]&&f.event.trigger(c,d,j[l].handle.elem,!0);return}c.result=b,c.target||(c.target=e),d=d!=null?f.makeArray(d):[],d.unshift(c),p=f.event.special[h]||{};if(p.trigger&&p.trigger.apply(e,d)===!1)return;r=[[e,p.bindType||h]];if(!g&&!p.noBubble&&!f.isWindow(e)){s=p.delegateType||h,m=E.test(s+h)?e:e.parentNode,n=null;for(;m;m=m.parentNode)r.push([m,s]),n=m;n&&n===e.ownerDocument&&r.push([n.defaultView||n.parentWindow||a,s])}for(l=0;l<r.length&&!c.isPropagationStopped();l++)m=r[l][0],c.type=r[l][1],q=(f._data(m,"events")||{})[c.type]&&f._data(m,"handle"),q&&q.apply(m,d),q=o&&m[o],q&&f.acceptData(m)&&q.apply(m,d)===!1&&c.preventDefault();c.type=h,!g&&!c.isDefaultPrevented()&&(!p._default||p._default.apply(e.ownerDocument,d)===!1)&&(h!=="click"||!f.nodeName(e,"a"))&&f.acceptData(e)&&o&&e[h]&&(h!=="focus"&&h!=="blur"||c.target.offsetWidth!==0)&&!f.isWindow(e)&&(n=e[o],n&&(e[o]=null),f.event.triggered=h,e[h](),f.event.triggered=b,n&&(e[o]=n));return c.result}},dispatch:function(c){c=f.event.fix(c||a.event);var d=(f._data(this,"events")||{})[c.type]||[],e=d.delegateCount,g=[].slice.call(arguments,0),h=!c.exclusive&&!c.namespace,i=f.event.special[c.type]||{},j=[],k,l,m,n,o,p,q,r,s,t,u;g[0]=c,c.delegateTarget=this;if(!i.preDispatch||i.preDispatch.call(this,c)!==!1){if(e&&(!c.button||c.type!=="click")){n=f(this),n.context=this.ownerDocument||this;for(m=c.target;m!=this;m=m.parentNode||this)if(m.disabled!==!0){p={},r=[],n[0]=m;for(k=0;k<e;k++)s=d[k],t=s.selector,p[t]===b&&(p[t]=s.quick?H(m,s.quick):n.is(t)),p[t]&&r.push(s);r.length&&j.push({elem:m,matches:r})}}d.length>e&&j.push({elem:this,matches:d.slice(e)});for(k=0;k<j.length&&!c.isPropagationStopped();k++){q=j[k],c.currentTarget=q.elem;for(l=0;l<q.matches.length&&!c.isImmediatePropagationStopped();l++){s=q.matches[l];if(h||!c.namespace&&!s.namespace||c.namespace_re&&c.namespace_re.test(s.namespace))c.data=s.data,c.handleObj=s,o=((f.event.special[s.origType]||{}).handle||s.handler).apply(q.elem,g),o!==b&&(c.result=o,o===!1&&(c.preventDefault(),c.stopPropagation()))}}i.postDispatch&&i.postDispatch.call(this,c);return c.result}},props:"attrChange attrName relatedNode srcElement altKey bubbles cancelable ctrlKey currentTarget eventPhase metaKey relatedTarget shiftKey target timeStamp view which".split(" "),fixHooks:{},keyHooks:{props:"char charCode key keyCode".split(" "),filter:function(a,b){a.which==null&&(a.which=b.charCode!=null?b.charCode:b.keyCode);return a}},mouseHooks:{props:"button buttons clientX clientY fromElement offsetX offsetY pageX pageY screenX screenY toElement".split(" "),filter:function(a,d){var e,f,g,h=d.button,i=d.fromElement;a.pageX==null&&d.clientX!=null&&(e=a.target.ownerDocument||c,f=e.documentElement,g=e.body,a.pageX=d.clientX+(f&&f.scrollLeft||g&&g.scrollLeft||0)-(f&&f.clientLeft||g&&g.clientLeft||0),a.pageY=d.clientY+(f&&f.scrollTop||g&&g.scrollTop||0)-(f&&f.clientTop||g&&g.clientTop||0)),!a.relatedTarget&&i&&(a.relatedTarget=i===a.target?d.toElement:i),!a.which&&h!==b&&(a.which=h&1?1:h&2?3:h&4?2:0);return a}},fix:function(a){if(a[f.expando])return a;var d,e,g=a,h=f.event.fixHooks[a.type]||{},i=h.props?this.props.concat(h.props):this.props;a=f.Event(g);for(d=i.length;d;)e=i[--d],a[e]=g[e];a.target||(a.target=g.srcElement||c),a.target.nodeType===3&&(a.target=a.target.parentNode),a.metaKey===b&&(a.metaKey=a.ctrlKey);return h.filter?h.filter(a,g):a},special:{ready:{setup:f.bindReady},load:{noBubble:!0},focus:{delegateType:"focusin"},blur:{delegateType:"focusout"},beforeunload:{setup:function(a,b,c){f.isWindow(this)&&(this.onbeforeunload=c)},teardown:function(a,b){this.onbeforeunload===b&&(this.onbeforeunload=null)}}},simulate:function(a,b,c,d){var e=f.extend(new f.Event,c,{type:a,isSimulated:!0,originalEvent:{}});d?f.event.trigger(e,null,b):f.event.dispatch.call(b,e),e.isDefaultPrevented()&&c.preventDefault()}},f.event.handle=f.event.dispatch,f.removeEvent=c.removeEventListener?function(a,b,c){a.removeEventListener&&a.removeEventListener(b,c,!1)}:function(a,b,c){a.detachEvent&&a.detachEvent("on"+b,c)},f.Event=function(a,b){if(!(this instanceof f.Event))return new f.Event(a,b);a&&a.type?(this.originalEvent=a,this.type=a.type,this.isDefaultPrevented=a.defaultPrevented||a.returnValue===!1||a.getPreventDefault&&a.getPreventDefault()?K:J):this.type=a,b&&f.extend(this,b),this.timeStamp=a&&a.timeStamp||f.now(),this[f.expando]=!0},f.Event.prototype={preventDefault:function(){this.isDefaultPrevented=K;var a=this.originalEvent;!a||(a.preventDefault?a.preventDefault():a.returnValue=!1)},stopPropagation:function(){this.isPropagationStopped=K;var a=this.originalEvent;!a||(a.stopPropagation&&a.stopPropagation(),a.cancelBubble=!0)},stopImmediatePropagation:function(){this.isImmediatePropagationStopped=K,this.stopPropagation()},isDefaultPrevented:J,isPropagationStopped:J,isImmediatePropagationStopped:J},f.each({mouseenter:"mouseover",mouseleave:"mouseout"},function(a,b){f.event.special[a]={delegateType:b,bindType:b,handle:function(a){var c=this,d=a.relatedTarget,e=a.handleObj,g=e.selector,h;if(!d||d!==c&&!f.contains(c,d))a.type=e.origType,h=e.handler.apply(this,arguments),a.type=b;return h}}}),f.support.submitBubbles||(f.event.special.submit={setup:function(){if(f.nodeName(this,"form"))return!1;f.event.add(this,"click._submit keypress._submit",function(a){var c=a.target,d=f.nodeName(c,"input")||f.nodeName(c,"button")?c.form:b;d&&!d._submit_attached&&(f.event.add(d,"submit._submit",function(a){a._submit_bubble=!0}),d._submit_attached=!0)})},postDispatch:function(a){a._submit_bubble&&(delete a._submit_bubble,this.parentNode&&!a.isTrigger&&f.event.simulate("submit",this.parentNode,a,!0))},teardown:function(){if(f.nodeName(this,"form"))return!1;f.event.remove(this,"._submit")}}),f.support.changeBubbles||(f.event.special.change={setup:function(){if(z.test(this.nodeName)){if(this.type==="checkbox"||this.type==="radio")f.event.add(this,"propertychange._change",function(a){a.originalEvent.propertyName==="checked"&&(this._just_changed=!0)}),f.event.add(this,"click._change",function(a){this._just_changed&&!a.isTrigger&&(this._just_changed=!1,f.event.simulate("change",this,a,!0))});return!1}f.event.add(this,"beforeactivate._change",function(a){var b=a.target;z.test(b.nodeName)&&!b._change_attached&&(f.event.add(b,"change._change",function(a){this.parentNode&&!a.isSimulated&&!a.isTrigger&&f.event.simulate("change",this.parentNode,a,!0)}),b._change_attached=!0)})},handle:function(a){var b=a.target;if(this!==b||a.isSimulated||a.isTrigger||b.type!=="radio"&&b.type!=="checkbox")return a.handleObj.handler.apply(this,arguments)},teardown:function(){f.event.remove(this,"._change");return z.test(this.nodeName)}}),f.support.focusinBubbles||f.each({focus:"focusin",blur:"focusout"},function(a,b){var d=0,e=function(a){f.event.simulate(b,a.target,f.event.fix(a),!0)};f.event.special[b]={setup:function(){d++===0&&c.addEventListener(a,e,!0)},teardown:function(){--d===0&&c.removeEventListener(a,e,!0)}}}),f.fn.extend({on:function(a,c,d,e,g){var h,i;if(typeof a=="object"){typeof c!="string"&&(d=d||c,c=b);for(i in a)this.on(i,c,d,a[i],g);return this}d==null&&e==null?(e=c,d=c=b):e==null&&(typeof c=="string"?(e=d,d=b):(e=d,d=c,c=b));if(e===!1)e=J;else if(!e)return this;g===1&&(h=e,e=function(a){f().off(a);return h.apply(this,arguments)},e.guid=h.guid||(h.guid=f.guid++));return this.each(function(){f.event.add(this,a,e,d,c)})},one:function(a,b,c,d){return this.on(a,b,c,d,1)},off:function(a,c,d){if(a&&a.preventDefault&&a.handleObj){var e=a.handleObj;f(a.delegateTarget).off(e.namespace?e.origType+"."+e.namespace:e.origType,e.selector,e.handler);return this}if(typeof a=="object"){for(var g in a)this.off(g,c,a[g]);return this}if(c===!1||typeof c=="function")d=c,c=b;d===!1&&(d=J);return this.each(function(){f.event.remove(this,a,d,c)})},bind:function(a,b,c){return this.on(a,null,b,c)},unbind:function(a,b){return this.off(a,null,b)},live:function(a,b,c){f(this.context).on(a,this.selector,b,c);return this},die:function(a,b){f(this.context).off(a,this.selector||"**",b);return this},delegate:function(a,b,c,d){return this.on(b,a,c,d)},undelegate:function(a,b,c){return arguments.length==1?this.off(a,"**"):this.off(b,a,c)},trigger:function(a,b){return this.each(function(){f.event.trigger(a,b,this)})},triggerHandler:function(a,b){if(this[0])return f.event.trigger(a,b,this[0],!0)},toggle:function(a){var b=arguments,c=a.guid||f.guid++,d=0,e=function(c){var e=(f._data(this,"lastToggle"+a.guid)||0)%d;f._data(this,"lastToggle"+a.guid,e+1),c.preventDefault();return b[e].apply(this,arguments)||!1};e.guid=c;while(d<b.length)b[d++].guid=c;return this.click(e)},hover:function(a,b){return this.mouseenter(a).mouseleave(b||a)}}),f.each("blur focus focusin focusout load resize scroll unload click dblclick mousedown mouseup mousemove mouseover mouseout mouseenter mouseleave change select submit keydown keypress keyup error contextmenu".split(" "),function(a,b){f.fn[b]=function(a,c){c==null&&(c=a,a=null);return arguments.length>0?this.on(b,null,a,c):this.trigger(b)},f.attrFn&&(f.attrFn[b]=!0),C.test(b)&&(f.event.fixHooks[b]=f.event.keyHooks),D.test(b)&&(f.event.fixHooks[b]=f.event.mouseHooks)}),function(){function x(a,b,c,e,f,g){for(var h=0,i=e.length;h<i;h++){var j=e[h];if(j){var k=!1;j=j[a];while(j){if(j[d]===c){k=e[j.sizset];break}if(j.nodeType===1){g||(j[d]=c,j.sizset=h);if(typeof b!="string"){if(j===b){k=!0;break}}else if(m.filter(b,[j]).length>0){k=j;break}}j=j[a]}e[h]=k}}}function w(a,b,c,e,f,g){for(var h=0,i=e.length;h<i;h++){var j=e[h];if(j){var k=!1;j=j[a];while(j){if(j[d]===c){k=e[j.sizset];break}j.nodeType===1&&!g&&(j[d]=c,j.sizset=h);if(j.nodeName.toLowerCase()===b){k=j;break}j=j[a]}e[h]=k}}}var a=/((?:\((?:\([^()]+\)|[^()]+)+\)|\[(?:\[[^\[\]]*\]|['"][^'"]*['"]|[^\[\]'"]+)+\]|\\.|[^ >+~,(\[\\]+)+|[>+~])(\s*,\s*)?((?:.|\r|\n)*)/g,d="sizcache"+(Math.random()+"").replace(".",""),e=0,g=Object.prototype.toString,h=!1,i=!0,j=/\\/g,k=/\r\n/g,l=/\W/;[0,0].sort(function(){i=!1;return 0});var m=function(b,d,e,f){e=e||[],d=d||c;var h=d;if(d.nodeType!==1&&d.nodeType!==9)return[];if(!b||typeof b!="string")return e;var i,j,k,l,n,q,r,t,u=!0,v=m.isXML(d),w=[],x=b;do{a.exec(""),i=a.exec(x);if(i){x=i[3],w.push(i[1]);if(i[2]){l=i[3];break}}}while(i);if(w.length>1&&p.exec(b))if(w.length===2&&o.relative[w[0]])j=y(w[0]+w[1],d,f);else{j=o.relative[w[0]]?[d]:m(w.shift(),d);while(w.length)b=w.shift(),o.relative[b]&&(b+=w.shift()),j=y(b,j,f)}else{!f&&w.length>1&&d.nodeType===9&&!v&&o.match.ID.test(w[0])&&!o.match.ID.test(w[w.length-1])&&(n=m.find(w.shift(),d,v),d=n.expr?m.filter(n.expr,n.set)[0]:n.set[0]);if(d){n=f?{expr:w.pop(),set:s(f)}:m.find(w.pop(),w.length===1&&(w[0]==="~"||w[0]==="+")&&d.parentNode?d.parentNode:d,v),j=n.expr?m.filter(n.expr,n.set):n.set,w.length>0?k=s(j):u=!1;while(w.length)q=w.pop(),r=q,o.relative[q]?r=w.pop():q="",r==null&&(r=d),o.relative[q](k,r,v)}else k=w=[]}k||(k=j),k||m.error(q||b);if(g.call(k)==="[object Array]")if(!u)e.push.apply(e,k);else if(d&&d.nodeType===1)for(t=0;k[t]!=null;t++)k[t]&&(k[t]===!0||k[t].nodeType===1&&m.contains(d,k[t]))&&e.push(j[t]);else for(t=0;k[t]!=null;t++)k[t]&&k[t].nodeType===1&&e.push(j[t]);else s(k,e);l&&(m(l,h,e,f),m.uniqueSort(e));return e};m.uniqueSort=function(a){if(u){h=i,a.sort(u);if(h)for(var b=1;b<a.length;b++)a[b]===a[b-1]&&a.splice(b--,1)}return a},m.matches=function(a,b){return m(a,null,null,b)},m.matchesSelector=function(a,b){return m(b,null,null,[a]).length>0},m.find=function(a,b,c){var d,e,f,g,h,i;if(!a)return[];for(e=0,f=o.order.length;e<f;e++){h=o.order[e];if(g=o.leftMatch[h].exec(a)){i=g[1],g.splice(1,1);if(i.substr(i.length-1)!=="\\"){g[1]=(g[1]||"").replace(j,""),d=o.find[h](g,b,c);if(d!=null){a=a.replace(o.match[h],"");break}}}}d||(d=typeof b.getElementsByTagName!="undefined"?b.getElementsByTagName("*"):[]);return{set:d,expr:a}},m.filter=function(a,c,d,e){var f,g,h,i,j,k,l,n,p,q=a,r=[],s=c,t=c&&c[0]&&m.isXML(c[0]);while(a&&c.length){for(h in o.filter)if((f=o.leftMatch[h].exec(a))!=null&&f[2]){k=o.filter[h],l=f[1],g=!1,f.splice(1,1);if(l.substr(l.length-1)==="\\")continue;s===r&&(r=[]);if(o.preFilter[h]){f=o.preFilter[h](f,s,d,r,e,t);if(!f)g=i=!0;else if(f===!0)continue}if(f)for(n=0;(j=s[n])!=null;n++)j&&(i=k(j,f,n,s),p=e^i,d&&i!=null?p?g=!0:s[n]=!1:p&&(r.push(j),g=!0));if(i!==b){d||(s=r),a=a.replace(o.match[h],"");if(!g)return[];break}}if(a===q)if(g==null)m.error(a);else break;q=a}return s},m.error=function(a){throw new Error("Syntax error, unrecognized expression: "+a)};var n=m.getText=function(a){var b,c,d=a.nodeType,e="";if(d){if(d===1||d===9||d===11){if(typeof a.textContent=="string")return a.textContent;if(typeof a.innerText=="string")return a.innerText.replace(k,"");for(a=a.firstChild;a;a=a.nextSibling)e+=n(a)}else if(d===3||d===4)return a.nodeValue}else for(b=0;c=a[b];b++)c.nodeType!==8&&(e+=n(c));return e},o=m.selectors={order:["ID","NAME","TAG"],match:{ID:/#((?:[\w\u00c0-\uFFFF\-]|\\.)+)/,CLASS:/\.((?:[\w\u00c0-\uFFFF\-]|\\.)+)/,NAME:/\[name=['"]*((?:[\w\u00c0-\uFFFF\-]|\\.)+)['"]*\]/,ATTR:/\[\s*((?:[\w\u00c0-\uFFFF\-]|\\.)+)\s*(?:(\S?=)\s*(?:(['"])(.*?)\3|(#?(?:[\w\u00c0-\uFFFF\-]|\\.)*)|)|)\s*\]/,TAG:/^((?:[\w\u00c0-\uFFFF\*\-]|\\.)+)/,CHILD:/:(only|nth|last|first)-child(?:\(\s*(even|odd|(?:[+\-]?\d+|(?:[+\-]?\d*)?n\s*(?:[+\-]\s*\d+)?))\s*\))?/,POS:/:(nth|eq|gt|lt|first|last|even|odd)(?:\((\d*)\))?(?=[^\-]|$)/,PSEUDO:/:((?:[\w\u00c0-\uFFFF\-]|\\.)+)(?:\((['"]?)((?:\([^\)]+\)|[^\(\)]*)+)\2\))?/},leftMatch:{},attrMap:{"class":"className","for":"htmlFor"},attrHandle:{href:function(a){return a.getAttribute("href")},type:function(a){return a.getAttribute("type")}},relative:{"+":function(a,b){var c=typeof b=="string",d=c&&!l.test(b),e=c&&!d;d&&(b=b.toLowerCase());for(var f=0,g=a.length,h;f<g;f++)if(h=a[f]){while((h=h.previousSibling)&&h.nodeType!==1);a[f]=e||h&&h.nodeName.toLowerCase()===b?h||!1:h===b}e&&m.filter(b,a,!0)},">":function(a,b){var c,d=typeof b=="string",e=0,f=a.length;if(d&&!l.test(b)){b=b.toLowerCase();for(;e<f;e++){c=a[e];if(c){var g=c.parentNode;a[e]=g.nodeName.toLowerCase()===b?g:!1}}}else{for(;e<f;e++)c=a[e],c&&(a[e]=d?c.parentNode:c.parentNode===b);d&&m.filter(b,a,!0)}},"":function(a,b,c){var d,f=e++,g=x;typeof b=="string"&&!l.test(b)&&(b=b.toLowerCase(),d=b,g=w),g("parentNode",b,f,a,d,c)},"~":function(a,b,c){var d,f=e++,g=x;typeof b=="string"&&!l.test(b)&&(b=b.toLowerCase(),d=b,g=w),g("previousSibling",b,f,a,d,c)}},find:{ID:function(a,b,c){if(typeof b.getElementById!="undefined"&&!c){var d=b.getElementById(a[1]);return d&&d.parentNode?[d]:[]}},NAME:function(a,b){if(typeof b.getElementsByName!="undefined"){var c=[],d=b.getElementsByName(a[1]);for(var e=0,f=d.length;e<f;e++)d[e].getAttribute("name")===a[1]&&c.push(d[e]);return c.length===0?null:c}},TAG:function(a,b){if(typeof b.getElementsByTagName!="undefined")return b.getElementsByTagName(a[1])}},preFilter:{CLASS:function(a,b,c,d,e,f){a=" "+a[1].replace(j,"")+" ";if(f)return a;for(var g=0,h;(h=b[g])!=null;g++)h&&(e^(h.className&&(" "+h.className+" ").replace(/[\t\n\r]/g," ").indexOf(a)>=0)?c||d.push(h):c&&(b[g]=!1));return!1},ID:function(a){return a[1].replace(j,"")},TAG:function(a,b){return a[1].replace(j,"").toLowerCase()},CHILD:function(a){if(a[1]==="nth"){a[2]||m.error(a[0]),a[2]=a[2].replace(/^\+|\s*/g,"");var b=/(-?)(\d*)(?:n([+\-]?\d*))?/.exec(a[2]==="even"&&"2n"||a[2]==="odd"&&"2n+1"||!/\D/.test(a[2])&&"0n+"+a[2]||a[2]);a[2]=b[1]+(b[2]||1)-0,a[3]=b[3]-0}else a[2]&&m.error(a[0]);a[0]=e++;return a},ATTR:function(a,b,c,d,e,f){var g=a[1]=a[1].replace(j,"");!f&&o.attrMap[g]&&(a[1]=o.attrMap[g]),a[4]=(a[4]||a[5]||"").replace(j,""),a[2]==="~="&&(a[4]=" "+a[4]+" ");return a},PSEUDO:function(b,c,d,e,f){if(b[1]==="not")if((a.exec(b[3])||"").length>1||/^\w/.test(b[3]))b[3]=m(b[3],null,null,c);else{var g=m.filter(b[3],c,d,!0^f);d||e.push.apply(e,g);return!1}else if(o.match.POS.test(b[0])||o.match.CHILD.test(b[0]))return!0;return b},POS:function(a){a.unshift(!0);return a}},filters:{enabled:function(a){return a.disabled===!1&&a.type!=="hidden"},disabled:function(a){return a.disabled===!0},checked:function(a){return a.checked===!0},selected:function(a){a.parentNode&&a.parentNode.selectedIndex;return a.selected===!0},parent:function(a){return!!a.firstChild},empty:function(a){return!a.firstChild},has:function(a,b,c){return!!m(c[3],a).length},header:function(a){return/h\d/i.test(a.nodeName)},text:function(a){var b=a.getAttribute("type"),c=a.type;return a.nodeName.toLowerCase()==="input"&&"text"===c&&(b===c||b===null)},radio:function(a){return a.nodeName.toLowerCase()==="input"&&"radio"===a.type},checkbox:function(a){return a.nodeName.toLowerCase()==="input"&&"checkbox"===a.type},file:function(a){return a.nodeName.toLowerCase()==="input"&&"file"===a.type},password:function(a){return a.nodeName.toLowerCase()==="input"&&"password"===a.type},submit:function(a){var b=a.nodeName.toLowerCase();return(b==="input"||b==="button")&&"submit"===a.type},image:function(a){return a.nodeName.toLowerCase()==="input"&&"image"===a.type},reset:function(a){var b=a.nodeName.toLowerCase();return(b==="input"||b==="button")&&"reset"===a.type},button:function(a){var b=a.nodeName.toLowerCase();return b==="input"&&"button"===a.type||b==="button"},input:function(a){return/input|select|textarea|button/i.test(a.nodeName)},focus:function(a){return a===a.ownerDocument.activeElement}},setFilters:{first:function(a,b){return b===0},last:function(a,b,c,d){return b===d.length-1},even:function(a,b){return b%2===0},odd:function(a,b){return b%2===1},lt:function(a,b,c){return b<c[3]-0},gt:function(a,b,c){return b>c[3]-0},nth:function(a,b,c){return c[3]-0===b},eq:function(a,b,c){return c[3]-0===b}},filter:{PSEUDO:function(a,b,c,d){var e=b[1],f=o.filters[e];if(f)return f(a,c,b,d);if(e==="contains")return(a.textContent||a.innerText||n([a])||"").indexOf(b[3])>=0;if(e==="not"){var g=b[3];for(var h=0,i=g.length;h<i;h++)if(g[h]===a)return!1;return!0}m.error(e)},CHILD:function(a,b){var c,e,f,g,h,i,j,k=b[1],l=a;switch(k){case"only":case"first":while(l=l.previousSibling)if(l.nodeType===1)return!1;if(k==="first")return!0;l=a;case"last":while(l=l.nextSibling)if(l.nodeType===1)return!1;return!0;case"nth":c=b[2],e=b[3];if(c===1&&e===0)return!0;f=b[0],g=a.parentNode;if(g&&(g[d]!==f||!a.nodeIndex)){i=0;for(l=g.firstChild;l;l=l.nextSibling)l.nodeType===1&&(l.nodeIndex=++i);g[d]=f}j=a.nodeIndex-e;return c===0?j===0:j%c===0&&j/c>=0}},ID:function(a,b){return a.nodeType===1&&a.getAttribute("id")===b},TAG:function(a,b){return b==="*"&&a.nodeType===1||!!a.nodeName&&a.nodeName.toLowerCase()===b},CLASS:function(a,b){return(" "+(a.className||a.getAttribute("class"))+" ").indexOf(b)>-1},ATTR:function(a,b){var c=b[1],d=m.attr?m.attr(a,c):o.attrHandle[c]?o.attrHandle[c](a):a[c]!=null?a[c]:a.getAttribute(c),e=d+"",f=b[2],g=b[4];return d==null?f==="!=":!f&&m.attr?d!=null:f==="="?e===g:f==="*="?e.indexOf(g)>=0:f==="~="?(" "+e+" ").indexOf(g)>=0:g?f==="!="?e!==g:f==="^="?e.indexOf(g)===0:f==="$="?e.substr(e.length-g.length)===g:f==="|="?e===g||e.substr(0,g.length+1)===g+"-":!1:e&&d!==!1},POS:function(a,b,c,d){var e=b[2],f=o.setFilters[e];if(f)return f(a,c,b,d)}}},p=o.match.POS,q=function(a,b){return"\\"+(b-0+1)};for(var r in o.match)o.match[r]=new RegExp(o.match[r].source+/(?![^\[]*\])(?![^\(]*\))/.source),o.leftMatch[r]=new RegExp(/(^(?:.|\r|\n)*?)/.source+o.match[r].source.replace(/\\(\d+)/g,q));o.match.globalPOS=p;var s=function(a,b){a=Array.prototype.slice.call(a,0);if(b){b.push.apply(b,a);return b}return a};try{Array.prototype.slice.call(c.documentElement.childNodes,0)[0].nodeType}catch(t){s=function(a,b){var c=0,d=b||[];if(g.call(a)==="[object Array]")Array.prototype.push.apply(d,a);else if(typeof a.length=="number")for(var e=a.length;c<e;c++)d.push(a[c]);else for(;a[c];c++)d.push(a[c]);return d}}var u,v;c.documentElement.compareDocumentPosition?u=function(a,b){if(a===b){h=!0;return 0}if(!a.compareDocumentPosition||!b.compareDocumentPosition)return a.compareDocumentPosition?-1:1;return a.compareDocumentPosition(b)&4?-1:1}:(u=function(a,b){if(a===b){h=!0;return 0}if(a.sourceIndex&&b.sourceIndex)return a.sourceIndex-b.sourceIndex;var c,d,e=[],f=[],g=a.parentNode,i=b.parentNode,j=g;if(g===i)return v(a,b);if(!g)return-1;if(!i)return 1;while(j)e.unshift(j),j=j.parentNode;j=i;while(j)f.unshift(j),j=j.parentNode;c=e.length,d=f.length;for(var k=0;k<c&&k<d;k++)if(e[k]!==f[k])return v(e[k],f[k]);return k===c?v(a,f[k],-1):v(e[k],b,1)},v=function(a,b,c){if(a===b)return c;var d=a.nextSibling;while(d){if(d===b)return-1;d=d.nextSibling}return 1}),function(){var a=c.createElement("div"),d="script"+(new Date).getTime(),e=c.documentElement;a.innerHTML="<a name='"+d+"'/>",e.insertBefore(a,e.firstChild),c.getElementById(d)&&(o.find.ID=function(a,c,d){if(typeof c.getElementById!="undefined"&&!d){var e=c.getElementById(a[1]);return e?e.id===a[1]||typeof e.getAttributeNode!="undefined"&&e.getAttributeNode("id").nodeValue===a[1]?[e]:b:[]}},o.filter.ID=function(a,b){var c=typeof a.getAttributeNode!="undefined"&&a.getAttributeNode("id");return a.nodeType===1&&c&&c.nodeValue===b}),e.removeChild(a),e=a=null}(),function(){var a=c.createElement("div");a.appendChild(c.createComment("")),a.getElementsByTagName("*").length>0&&(o.find.TAG=function(a,b){var c=b.getElementsByTagName(a[1]);if(a[1]==="*"){var d=[];for(var e=0;c[e];e++)c[e].nodeType===1&&d.push(c[e]);c=d}return c}),a.innerHTML="<a href='#'></a>",a.firstChild&&typeof a.firstChild.getAttribute!="undefined"&&a.firstChild.getAttribute("href")!=="#"&&(o.attrHandle.href=function(a){return a.getAttribute("href",2)}),a=null}(),c.querySelectorAll&&function(){var a=m,b=c.createElement("div"),d="__sizzle__";b.innerHTML="<p class='TEST'></p>";if(!b.querySelectorAll||b.querySelectorAll(".TEST").length!==0){m=function(b,e,f,g){e=e||c;if(!g&&!m.isXML(e)){var h=/^(\w+$)|^\.([\w\-]+$)|^#([\w\-]+$)/.exec(b);if(h&&(e.nodeType===1||e.nodeType===9)){if(h[1])return s(e.getElementsByTagName(b),f);if(h[2]&&o.find.CLASS&&e.getElementsByClassName)return s(e.getElementsByClassName(h[2]),f)}if(e.nodeType===9){if(b==="body"&&e.body)return s([e.body],f);if(h&&h[3]){var i=e.getElementById(h[3]);if(!i||!i.parentNode)return s([],f);if(i.id===h[3])return s([i],f)}try{return s(e.querySelectorAll(b),f)}catch(j){}}else if(e.nodeType===1&&e.nodeName.toLowerCase()!=="object"){var k=e,l=e.getAttribute("id"),n=l||d,p=e.parentNode,q=/^\s*[+~]/.test(b);l?n=n.replace(/'/g,"\\$&"):e.setAttribute("id",n),q&&p&&(e=e.parentNode);try{if(!q||p)return s(e.querySelectorAll("[id='"+n+"'] "+b),f)}catch(r){}finally{l||k.removeAttribute("id")}}}return a(b,e,f,g)};for(var e in a)m[e]=a[e];b=null}}(),function(){var a=c.documentElement,b=a.matchesSelector||a.mozMatchesSelector||a.webkitMatchesSelector||a.msMatchesSelector;if(b){var d=!b.call(c.createElement("div"),"div"),e=!1;try{b.call(c.documentElement,"[test!='']:sizzle")}catch(f){e=!0}m.matchesSelector=function(a,c){c=c.replace(/\=\s*([^'"\]]*)\s*\]/g,"='$1']");if(!m.isXML(a))try{if(e||!o.match.PSEUDO.test(c)&&!/!=/.test(c)){var f=b.call(a,c);if(f||!d||a.document&&a.document.nodeType!==11)return f}}catch(g){}return m(c,null,null,[a]).length>0}}}(),function(){var a=c.createElement("div");a.innerHTML="<div class='test e'></div><div class='test'></div>";if(!!a.getElementsByClassName&&a.getElementsByClassName("e").length!==0){a.lastChild.className="e";if(a.getElementsByClassName("e").length===1)return;o.order.splice(1,0,"CLASS"),o.find.CLASS=function(a,b,c){if(typeof b.getElementsByClassName!="undefined"&&!c)return b.getElementsByClassName(a[1])},a=null}}(),c.documentElement.contains?m.contains=function(a,b){return a!==b&&(a.contains?a.contains(b):!0)}:c.documentElement.compareDocumentPosition?m.contains=function(a,b){return!!(a.compareDocumentPosition(b)&16)}:m.contains=function(){return!1},m.isXML=function(a){var b=(a?a.ownerDocument||a:0).documentElement;return b?b.nodeName!=="HTML":!1};var y=function(a,b,c){var d,e=[],f="",g=b.nodeType?[b]:b;while(d=o.match.PSEUDO.exec(a))f+=d[0],a=a.replace(o.match.PSEUDO,"");a=o.relative[a]?a+"*":a;for(var h=0,i=g.length;h<i;h++)m(a,g[h],e,c);return m.filter(f,e)};m.attr=f.attr,m.selectors.attrMap={},f.find=m,f.expr=m.selectors,f.expr[":"]=f.expr.filters,f.unique=m.uniqueSort,f.text=m.getText,f.isXMLDoc=m.isXML,f.contains=m.contains}();var L=/Until$/,M=/^(?:parents|prevUntil|prevAll)/,N=/,/,O=/^.[^:#\[\.,]*$/,P=Array.prototype.slice,Q=f.expr.match.globalPOS,R={children:!0,contents:!0,next:!0,prev:!0};f.fn.extend({find:function(a){var b=this,c,d;if(typeof a!="string")return f(a).filter(function(){for(c=0,d=b.length;c<d;c++)if(f.contains(b[c],this))return!0});var e=this.pushStack("","find",a),g,h,i;for(c=0,d=this.length;c<d;c++){g=e.length,f.find(a,this[c],e);if(c>0)for(h=g;h<e.length;h++)for(i=0;i<g;i++)if(e[i]===e[h]){e.splice(h--,1);break}}return e},has:function(a){var b=f(a);return this.filter(function(){for(var a=0,c=b.length;a<c;a++)if(f.contains(this,b[a]))return!0})},not:function(a){return this.pushStack(T(this,a,!1),"not",a)},filter:function(a){return this.pushStack(T(this,a,!0),"filter",a)},is:function(a){return!!a&&(typeof a=="string"?Q.test(a)?f(a,this.context).index(this[0])>=0:f.filter(a,this).length>0:this.filter(a).length>0)},closest:function(a,b){var c=[],d,e,g=this[0];if(f.isArray(a)){var h=1;while(g&&g.ownerDocument&&g!==b){for(d=0;d<a.length;d++)f(g).is(a[d])&&c.push({selector:a[d],elem:g,level:h});g=g.parentNode,h++}return c}var i=Q.test(a)||typeof a!="string"?f(a,b||this.context):0;for(d=0,e=this.length;d<e;d++){g=this[d];while(g){if(i?i.index(g)>-1:f.find.matchesSelector(g,a)){c.push(g);break}g=g.parentNode;if(!g||!g.ownerDocument||g===b||g.nodeType===11)break}}c=c.length>1?f.unique(c):c;return this.pushStack(c,"closest",a)},index:function(a){if(!a)return this[0]&&this[0].parentNode?this.prevAll().length:-1;if(typeof a=="string")return f.inArray(this[0],f(a));return f.inArray(a.jquery?a[0]:a,this)},add:function(a,b){var c=typeof a=="string"?f(a,b):f.makeArray(a&&a.nodeType?[a]:a),d=f.merge(this.get(),c);return this.pushStack(S(c[0])||S(d[0])?d:f.unique(d))},andSelf:function(){return this.add(this.prevObject)}}),f.each({parent:function(a){var b=a.parentNode;return b&&b.nodeType!==11?b:null},parents:function(a){return f.dir(a,"parentNode")},parentsUntil:function(a,b,c){return f.dir(a,"parentNode",c)},next:function(a){return f.nth(a,2,"nextSibling")},prev:function(a){return f.nth(a,2,"previousSibling")},nextAll:function(a){return f.dir(a,"nextSibling")},prevAll:function(a){return f.dir(a,"previousSibling")},nextUntil:function(a,b,c){return f.dir(a,"nextSibling",c)},prevUntil:function(a,b,c){return f.dir(a,"previousSibling",c)},siblings:function(a){return f.sibling((a.parentNode||{}).firstChild,a)},children:function(a){return f.sibling(a.firstChild)},contents:function(a){return f.nodeName(a,"iframe")?a.contentDocument||a.contentWindow.document:f.makeArray(a.childNodes)}},function(a,b){f.fn[a]=function(c,d){var e=f.map(this,b,c);L.test(a)||(d=c),d&&typeof d=="string"&&(e=f.filter(d,e)),e=this.length>1&&!R[a]?f.unique(e):e,(this.length>1||N.test(d))&&M.test(a)&&(e=e.reverse());return this.pushStack(e,a,P.call(arguments).join(","))}}),f.extend({filter:function(a,b,c){c&&(a=":not("+a+")");return b.length===1?f.find.matchesSelector(b[0],a)?[b[0]]:[]:f.find.matches(a,b)},dir:function(a,c,d){var e=[],g=a[c];while(g&&g.nodeType!==9&&(d===b||g.nodeType!==1||!f(g).is(d)))g.nodeType===1&&e.push(g),g=g[c];return e},nth:function(a,b,c,d){b=b||1;var e=0;for(;a;a=a[c])if(a.nodeType===1&&++e===b)break;return a},sibling:function(a,b){var c=[];for(;a;a=a.nextSibling)a.nodeType===1&&a!==b&&c.push(a);return c}});var V="abbr|article|aside|audio|bdi|canvas|data|datalist|details|figcaption|figure|footer|header|hgroup|mark|meter|nav|output|progress|section|summary|time|video",W=/ jQuery\d+="(?:\d+|null)"/g,X=/^\s+/,Y=/<(?!area|br|col|embed|hr|img|input|link|meta|param)(([\w:]+)[^>]*)\/>/ig,Z=/<([\w:]+)/,$=/<tbody/i,_=/<|&#?\w+;/,ba=/<(?:script|style)/i,bb=/<(?:script|object|embed|option|style)/i,bc=new RegExp("<(?:"+V+")[\\s/>]","i"),bd=/checked\s*(?:[^=]|=\s*.checked.)/i,be=/\/(java|ecma)script/i,bf=/^\s*<!(?:\[CDATA\[|\-\-)/,bg={option:[1,"<select multiple='multiple'>","</select>"],legend:[1,"<fieldset>","</fieldset>"],thead:[1,"<table>","</table>"],tr:[2,"<table><tbody>","</tbody></table>"],td:[3,"<table><tbody><tr>","</tr></tbody></table>"],col:[2,"<table><tbody></tbody><colgroup>","</colgroup></table>"],area:[1,"<map>","</map>"],_default:[0,"",""]},bh=U(c);bg.optgroup=bg.option,bg.tbody=bg.tfoot=bg.colgroup=bg.caption=bg.thead,bg.th=bg.td,f.support.htmlSerialize||(bg._default=[1,"div<div>","</div>"]),f.fn.extend({text:function(a){return f.access(this,function(a){return a===b?f.text(this):this.empty().append((this[0]&&this[0].ownerDocument||c).createTextNode(a))},null,a,arguments.length)},wrapAll:function(a){if(f.isFunction(a))return this.each(function(b){f(this).wrapAll(a.call(this,b))});if(this[0]){var b=f(a,this[0].ownerDocument).eq(0).clone(!0);this[0].parentNode&&b.insertBefore(this[0]),b.map(function(){var a=this;while(a.firstChild&&a.firstChild.nodeType===1)a=a.firstChild;return a}).append(this)}return this},wrapInner:function(a){if(f.isFunction(a))return this.each(function(b){f(this).wrapInner(a.call(this,b))});return this.each(function(){var b=f(this),c=b.contents();c.length?c.wrapAll(a):b.append(a)})},wrap:function(a){var b=f.isFunction(a);return this.each(function(c){f(this).wrapAll(b?a.call(this,c):a)})},unwrap:function(){return this.parent().each(function(){f.nodeName(this,"body")||f(this).replaceWith(this.childNodes)}).end()},append:function(){return this.domManip(arguments,!0,function(a){this.nodeType===1&&this.appendChild(a)})},prepend:function(){return this.domManip(arguments,!0,function(a){this.nodeType===1&&this.insertBefore(a,this.firstChild)})},before:function(){if(this[0]&&this[0].parentNode)return this.domManip(arguments,!1,function(a){this.parentNode.insertBefore(a,this)});if(arguments.length){var a=f
+.clean(arguments);a.push.apply(a,this.toArray());return this.pushStack(a,"before",arguments)}},after:function(){if(this[0]&&this[0].parentNode)return this.domManip(arguments,!1,function(a){this.parentNode.insertBefore(a,this.nextSibling)});if(arguments.length){var a=this.pushStack(this,"after",arguments);a.push.apply(a,f.clean(arguments));return a}},remove:function(a,b){for(var c=0,d;(d=this[c])!=null;c++)if(!a||f.filter(a,[d]).length)!b&&d.nodeType===1&&(f.cleanData(d.getElementsByTagName("*")),f.cleanData([d])),d.parentNode&&d.parentNode.removeChild(d);return this},empty:function(){for(var a=0,b;(b=this[a])!=null;a++){b.nodeType===1&&f.cleanData(b.getElementsByTagName("*"));while(b.firstChild)b.removeChild(b.firstChild)}return this},clone:function(a,b){a=a==null?!1:a,b=b==null?a:b;return this.map(function(){return f.clone(this,a,b)})},html:function(a){return f.access(this,function(a){var c=this[0]||{},d=0,e=this.length;if(a===b)return c.nodeType===1?c.innerHTML.replace(W,""):null;if(typeof a=="string"&&!ba.test(a)&&(f.support.leadingWhitespace||!X.test(a))&&!bg[(Z.exec(a)||["",""])[1].toLowerCase()]){a=a.replace(Y,"<$1></$2>");try{for(;d<e;d++)c=this[d]||{},c.nodeType===1&&(f.cleanData(c.getElementsByTagName("*")),c.innerHTML=a);c=0}catch(g){}}c&&this.empty().append(a)},null,a,arguments.length)},replaceWith:function(a){if(this[0]&&this[0].parentNode){if(f.isFunction(a))return this.each(function(b){var c=f(this),d=c.html();c.replaceWith(a.call(this,b,d))});typeof a!="string"&&(a=f(a).detach());return this.each(function(){var b=this.nextSibling,c=this.parentNode;f(this).remove(),b?f(b).before(a):f(c).append(a)})}return this.length?this.pushStack(f(f.isFunction(a)?a():a),"replaceWith",a):this},detach:function(a){return this.remove(a,!0)},domManip:function(a,c,d){var e,g,h,i,j=a[0],k=[];if(!f.support.checkClone&&arguments.length===3&&typeof j=="string"&&bd.test(j))return this.each(function(){f(this).domManip(a,c,d,!0)});if(f.isFunction(j))return this.each(function(e){var g=f(this);a[0]=j.call(this,e,c?g.html():b),g.domManip(a,c,d)});if(this[0]){i=j&&j.parentNode,f.support.parentNode&&i&&i.nodeType===11&&i.childNodes.length===this.length?e={fragment:i}:e=f.buildFragment(a,this,k),h=e.fragment,h.childNodes.length===1?g=h=h.firstChild:g=h.firstChild;if(g){c=c&&f.nodeName(g,"tr");for(var l=0,m=this.length,n=m-1;l<m;l++)d.call(c?bi(this[l],g):this[l],e.cacheable||m>1&&l<n?f.clone(h,!0,!0):h)}k.length&&f.each(k,function(a,b){b.src?f.ajax({type:"GET",global:!1,url:b.src,async:!1,dataType:"script"}):f.globalEval((b.text||b.textContent||b.innerHTML||"").replace(bf,"/*$0*/")),b.parentNode&&b.parentNode.removeChild(b)})}return this}}),f.buildFragment=function(a,b,d){var e,g,h,i,j=a[0];b&&b[0]&&(i=b[0].ownerDocument||b[0]),i.createDocumentFragment||(i=c),a.length===1&&typeof j=="string"&&j.length<512&&i===c&&j.charAt(0)==="<"&&!bb.test(j)&&(f.support.checkClone||!bd.test(j))&&(f.support.html5Clone||!bc.test(j))&&(g=!0,h=f.fragments[j],h&&h!==1&&(e=h)),e||(e=i.createDocumentFragment(),f.clean(a,i,e,d)),g&&(f.fragments[j]=h?e:1);return{fragment:e,cacheable:g}},f.fragments={},f.each({appendTo:"append",prependTo:"prepend",insertBefore:"before",insertAfter:"after",replaceAll:"replaceWith"},function(a,b){f.fn[a]=function(c){var d=[],e=f(c),g=this.length===1&&this[0].parentNode;if(g&&g.nodeType===11&&g.childNodes.length===1&&e.length===1){e[b](this[0]);return this}for(var h=0,i=e.length;h<i;h++){var j=(h>0?this.clone(!0):this).get();f(e[h])[b](j),d=d.concat(j)}return this.pushStack(d,a,e.selector)}}),f.extend({clone:function(a,b,c){var d,e,g,h=f.support.html5Clone||f.isXMLDoc(a)||!bc.test("<"+a.nodeName+">")?a.cloneNode(!0):bo(a);if((!f.support.noCloneEvent||!f.support.noCloneChecked)&&(a.nodeType===1||a.nodeType===11)&&!f.isXMLDoc(a)){bk(a,h),d=bl(a),e=bl(h);for(g=0;d[g];++g)e[g]&&bk(d[g],e[g])}if(b){bj(a,h);if(c){d=bl(a),e=bl(h);for(g=0;d[g];++g)bj(d[g],e[g])}}d=e=null;return h},clean:function(a,b,d,e){var g,h,i,j=[];b=b||c,typeof b.createElement=="undefined"&&(b=b.ownerDocument||b[0]&&b[0].ownerDocument||c);for(var k=0,l;(l=a[k])!=null;k++){typeof l=="number"&&(l+="");if(!l)continue;if(typeof l=="string")if(!_.test(l))l=b.createTextNode(l);else{l=l.replace(Y,"<$1></$2>");var m=(Z.exec(l)||["",""])[1].toLowerCase(),n=bg[m]||bg._default,o=n[0],p=b.createElement("div"),q=bh.childNodes,r;b===c?bh.appendChild(p):U(b).appendChild(p),p.innerHTML=n[1]+l+n[2];while(o--)p=p.lastChild;if(!f.support.tbody){var s=$.test(l),t=m==="table"&&!s?p.firstChild&&p.firstChild.childNodes:n[1]==="<table>"&&!s?p.childNodes:[];for(i=t.length-1;i>=0;--i)f.nodeName(t[i],"tbody")&&!t[i].childNodes.length&&t[i].parentNode.removeChild(t[i])}!f.support.leadingWhitespace&&X.test(l)&&p.insertBefore(b.createTextNode(X.exec(l)[0]),p.firstChild),l=p.childNodes,p&&(p.parentNode.removeChild(p),q.length>0&&(r=q[q.length-1],r&&r.parentNode&&r.parentNode.removeChild(r)))}var u;if(!f.support.appendChecked)if(l[0]&&typeof (u=l.length)=="number")for(i=0;i<u;i++)bn(l[i]);else bn(l);l.nodeType?j.push(l):j=f.merge(j,l)}if(d){g=function(a){return!a.type||be.test(a.type)};for(k=0;j[k];k++){h=j[k];if(e&&f.nodeName(h,"script")&&(!h.type||be.test(h.type)))e.push(h.parentNode?h.parentNode.removeChild(h):h);else{if(h.nodeType===1){var v=f.grep(h.getElementsByTagName("script"),g);j.splice.apply(j,[k+1,0].concat(v))}d.appendChild(h)}}}return j},cleanData:function(a){var b,c,d=f.cache,e=f.event.special,g=f.support.deleteExpando;for(var h=0,i;(i=a[h])!=null;h++){if(i.nodeName&&f.noData[i.nodeName.toLowerCase()])continue;c=i[f.expando];if(c){b=d[c];if(b&&b.events){for(var j in b.events)e[j]?f.event.remove(i,j):f.removeEvent(i,j,b.handle);b.handle&&(b.handle.elem=null)}g?delete i[f.expando]:i.removeAttribute&&i.removeAttribute(f.expando),delete d[c]}}}});var bp=/alpha\([^)]*\)/i,bq=/opacity=([^)]*)/,br=/([A-Z]|^ms)/g,bs=/^[\-+]?(?:\d*\.)?\d+$/i,bt=/^-?(?:\d*\.)?\d+(?!px)[^\d\s]+$/i,bu=/^([\-+])=([\-+.\de]+)/,bv=/^margin/,bw={position:"absolute",visibility:"hidden",display:"block"},bx=["Top","Right","Bottom","Left"],by,bz,bA;f.fn.css=function(a,c){return f.access(this,function(a,c,d){return d!==b?f.style(a,c,d):f.css(a,c)},a,c,arguments.length>1)},f.extend({cssHooks:{opacity:{get:function(a,b){if(b){var c=by(a,"opacity");return c===""?"1":c}return a.style.opacity}}},cssNumber:{fillOpacity:!0,fontWeight:!0,lineHeight:!0,opacity:!0,orphans:!0,widows:!0,zIndex:!0,zoom:!0},cssProps:{"float":f.support.cssFloat?"cssFloat":"styleFloat"},style:function(a,c,d,e){if(!!a&&a.nodeType!==3&&a.nodeType!==8&&!!a.style){var g,h,i=f.camelCase(c),j=a.style,k=f.cssHooks[i];c=f.cssProps[i]||i;if(d===b){if(k&&"get"in k&&(g=k.get(a,!1,e))!==b)return g;return j[c]}h=typeof d,h==="string"&&(g=bu.exec(d))&&(d=+(g[1]+1)*+g[2]+parseFloat(f.css(a,c)),h="number");if(d==null||h==="number"&&isNaN(d))return;h==="number"&&!f.cssNumber[i]&&(d+="px");if(!k||!("set"in k)||(d=k.set(a,d))!==b)try{j[c]=d}catch(l){}}},css:function(a,c,d){var e,g;c=f.camelCase(c),g=f.cssHooks[c],c=f.cssProps[c]||c,c==="cssFloat"&&(c="float");if(g&&"get"in g&&(e=g.get(a,!0,d))!==b)return e;if(by)return by(a,c)},swap:function(a,b,c){var d={},e,f;for(f in b)d[f]=a.style[f],a.style[f]=b[f];e=c.call(a);for(f in b)a.style[f]=d[f];return e}}),f.curCSS=f.css,c.defaultView&&c.defaultView.getComputedStyle&&(bz=function(a,b){var c,d,e,g,h=a.style;b=b.replace(br,"-$1").toLowerCase(),(d=a.ownerDocument.defaultView)&&(e=d.getComputedStyle(a,null))&&(c=e.getPropertyValue(b),c===""&&!f.contains(a.ownerDocument.documentElement,a)&&(c=f.style(a,b))),!f.support.pixelMargin&&e&&bv.test(b)&&bt.test(c)&&(g=h.width,h.width=c,c=e.width,h.width=g);return c}),c.documentElement.currentStyle&&(bA=function(a,b){var c,d,e,f=a.currentStyle&&a.currentStyle[b],g=a.style;f==null&&g&&(e=g[b])&&(f=e),bt.test(f)&&(c=g.left,d=a.runtimeStyle&&a.runtimeStyle.left,d&&(a.runtimeStyle.left=a.currentStyle.left),g.left=b==="fontSize"?"1em":f,f=g.pixelLeft+"px",g.left=c,d&&(a.runtimeStyle.left=d));return f===""?"auto":f}),by=bz||bA,f.each(["height","width"],function(a,b){f.cssHooks[b]={get:function(a,c,d){if(c)return a.offsetWidth!==0?bB(a,b,d):f.swap(a,bw,function(){return bB(a,b,d)})},set:function(a,b){return bs.test(b)?b+"px":b}}}),f.support.opacity||(f.cssHooks.opacity={get:function(a,b){return bq.test((b&&a.currentStyle?a.currentStyle.filter:a.style.filter)||"")?parseFloat(RegExp.$1)/100+"":b?"1":""},set:function(a,b){var c=a.style,d=a.currentStyle,e=f.isNumeric(b)?"alpha(opacity="+b*100+")":"",g=d&&d.filter||c.filter||"";c.zoom=1;if(b>=1&&f.trim(g.replace(bp,""))===""){c.removeAttribute("filter");if(d&&!d.filter)return}c.filter=bp.test(g)?g.replace(bp,e):g+" "+e}}),f(function(){f.support.reliableMarginRight||(f.cssHooks.marginRight={get:function(a,b){return f.swap(a,{display:"inline-block"},function(){return b?by(a,"margin-right"):a.style.marginRight})}})}),f.expr&&f.expr.filters&&(f.expr.filters.hidden=function(a){var b=a.offsetWidth,c=a.offsetHeight;return b===0&&c===0||!f.support.reliableHiddenOffsets&&(a.style&&a.style.display||f.css(a,"display"))==="none"},f.expr.filters.visible=function(a){return!f.expr.filters.hidden(a)}),f.each({margin:"",padding:"",border:"Width"},function(a,b){f.cssHooks[a+b]={expand:function(c){var d,e=typeof c=="string"?c.split(" "):[c],f={};for(d=0;d<4;d++)f[a+bx[d]+b]=e[d]||e[d-2]||e[0];return f}}});var bC=/%20/g,bD=/\[\]$/,bE=/\r?\n/g,bF=/#.*$/,bG=/^(.*?):[ \t]*([^\r\n]*)\r?$/mg,bH=/^(?:color|date|datetime|datetime-local|email|hidden|month|number|password|range|search|tel|text|time|url|week)$/i,bI=/^(?:about|app|app\-storage|.+\-extension|file|res|widget):$/,bJ=/^(?:GET|HEAD)$/,bK=/^\/\//,bL=/\?/,bM=/<script\b[^<]*(?:(?!<\/script>)<[^<]*)*<\/script>/gi,bN=/^(?:select|textarea)/i,bO=/\s+/,bP=/([?&])_=[^&]*/,bQ=/^([\w\+\.\-]+:)(?:\/\/([^\/?#:]*)(?::(\d+))?)?/,bR=f.fn.load,bS={},bT={},bU,bV,bW=["*/"]+["*"];try{bU=e.href}catch(bX){bU=c.createElement("a"),bU.href="",bU=bU.href}bV=bQ.exec(bU.toLowerCase())||[],f.fn.extend({load:function(a,c,d){if(typeof a!="string"&&bR)return bR.apply(this,arguments);if(!this.length)return this;var e=a.indexOf(" ");if(e>=0){var g=a.slice(e,a.length);a=a.slice(0,e)}var h="GET";c&&(f.isFunction(c)?(d=c,c=b):typeof c=="object"&&(c=f.param(c,f.ajaxSettings.traditional),h="POST"));var i=this;f.ajax({url:a,type:h,dataType:"html",data:c,complete:function(a,b,c){c=a.responseText,a.isResolved()&&(a.done(function(a){c=a}),i.html(g?f("<div>").append(c.replace(bM,"")).find(g):c)),d&&i.each(d,[c,b,a])}});return this},serialize:function(){return f.param(this.serializeArray())},serializeArray:function(){return this.map(function(){return this.elements?f.makeArray(this.elements):this}).filter(function(){return this.name&&!this.disabled&&(this.checked||bN.test(this.nodeName)||bH.test(this.type))}).map(function(a,b){var c=f(this).val();return c==null?null:f.isArray(c)?f.map(c,function(a,c){return{name:b.name,value:a.replace(bE,"\r\n")}}):{name:b.name,value:c.replace(bE,"\r\n")}}).get()}}),f.each("ajaxStart ajaxStop ajaxComplete ajaxError ajaxSuccess ajaxSend".split(" "),function(a,b){f.fn[b]=function(a){return this.on(b,a)}}),f.each(["get","post"],function(a,c){f[c]=function(a,d,e,g){f.isFunction(d)&&(g=g||e,e=d,d=b);return f.ajax({type:c,url:a,data:d,success:e,dataType:g})}}),f.extend({getScript:function(a,c){return f.get(a,b,c,"script")},getJSON:function(a,b,c){return f.get(a,b,c,"json")},ajaxSetup:function(a,b){b?b$(a,f.ajaxSettings):(b=a,a=f.ajaxSettings),b$(a,b);return a},ajaxSettings:{url:bU,isLocal:bI.test(bV[1]),global:!0,type:"GET",contentType:"application/x-www-form-urlencoded; charset=UTF-8",processData:!0,async:!0,accepts:{xml:"application/xml, text/xml",html:"text/html",text:"text/plain",json:"application/json, text/javascript","*":bW},contents:{xml:/xml/,html:/html/,json:/json/},responseFields:{xml:"responseXML",text:"responseText"},converters:{"* text":a.String,"text html":!0,"text json":f.parseJSON,"text xml":f.parseXML},flatOptions:{context:!0,url:!0}},ajaxPrefilter:bY(bS),ajaxTransport:bY(bT),ajax:function(a,c){function w(a,c,l,m){if(s!==2){s=2,q&&clearTimeout(q),p=b,n=m||"",v.readyState=a>0?4:0;var o,r,u,w=c,x=l?ca(d,v,l):b,y,z;if(a>=200&&a<300||a===304){if(d.ifModified){if(y=v.getResponseHeader("Last-Modified"))f.lastModified[k]=y;if(z=v.getResponseHeader("Etag"))f.etag[k]=z}if(a===304)w="notmodified",o=!0;else try{r=cb(d,x),w="success",o=!0}catch(A){w="parsererror",u=A}}else{u=w;if(!w||a)w="error",a<0&&(a=0)}v.status=a,v.statusText=""+(c||w),o?h.resolveWith(e,[r,w,v]):h.rejectWith(e,[v,w,u]),v.statusCode(j),j=b,t&&g.trigger("ajax"+(o?"Success":"Error"),[v,d,o?r:u]),i.fireWith(e,[v,w]),t&&(g.trigger("ajaxComplete",[v,d]),--f.active||f.event.trigger("ajaxStop"))}}typeof a=="object"&&(c=a,a=b),c=c||{};var d=f.ajaxSetup({},c),e=d.context||d,g=e!==d&&(e.nodeType||e instanceof f)?f(e):f.event,h=f.Deferred(),i=f.Callbacks("once memory"),j=d.statusCode||{},k,l={},m={},n,o,p,q,r,s=0,t,u,v={readyState:0,setRequestHeader:function(a,b){if(!s){var c=a.toLowerCase();a=m[c]=m[c]||a,l[a]=b}return this},getAllResponseHeaders:function(){return s===2?n:null},getResponseHeader:function(a){var c;if(s===2){if(!o){o={};while(c=bG.exec(n))o[c[1].toLowerCase()]=c[2]}c=o[a.toLowerCase()]}return c===b?null:c},overrideMimeType:function(a){s||(d.mimeType=a);return this},abort:function(a){a=a||"abort",p&&p.abort(a),w(0,a);return this}};h.promise(v),v.success=v.done,v.error=v.fail,v.complete=i.add,v.statusCode=function(a){if(a){var b;if(s<2)for(b in a)j[b]=[j[b],a[b]];else b=a[v.status],v.then(b,b)}return this},d.url=((a||d.url)+"").replace(bF,"").replace(bK,bV[1]+"//"),d.dataTypes=f.trim(d.dataType||"*").toLowerCase().split(bO),d.crossDomain==null&&(r=bQ.exec(d.url.toLowerCase()),d.crossDomain=!(!r||r[1]==bV[1]&&r[2]==bV[2]&&(r[3]||(r[1]==="http:"?80:443))==(bV[3]||(bV[1]==="http:"?80:443)))),d.data&&d.processData&&typeof d.data!="string"&&(d.data=f.param(d.data,d.traditional)),bZ(bS,d,c,v);if(s===2)return!1;t=d.global,d.type=d.type.toUpperCase(),d.hasContent=!bJ.test(d.type),t&&f.active++===0&&f.event.trigger("ajaxStart");if(!d.hasContent){d.data&&(d.url+=(bL.test(d.url)?"&":"?")+d.data,delete d.data),k=d.url;if(d.cache===!1){var x=f.now(),y=d.url.replace(bP,"$1_="+x);d.url=y+(y===d.url?(bL.test(d.url)?"&":"?")+"_="+x:"")}}(d.data&&d.hasContent&&d.contentType!==!1||c.contentType)&&v.setRequestHeader("Content-Type",d.contentType),d.ifModified&&(k=k||d.url,f.lastModified[k]&&v.setRequestHeader("If-Modified-Since",f.lastModified[k]),f.etag[k]&&v.setRequestHeader("If-None-Match",f.etag[k])),v.setRequestHeader("Accept",d.dataTypes[0]&&d.accepts[d.dataTypes[0]]?d.accepts[d.dataTypes[0]]+(d.dataTypes[0]!=="*"?", "+bW+"; q=0.01":""):d.accepts["*"]);for(u in d.headers)v.setRequestHeader(u,d.headers[u]);if(d.beforeSend&&(d.beforeSend.call(e,v,d)===!1||s===2)){v.abort();return!1}for(u in{success:1,error:1,complete:1})v[u](d[u]);p=bZ(bT,d,c,v);if(!p)w(-1,"No Transport");else{v.readyState=1,t&&g.trigger("ajaxSend",[v,d]),d.async&&d.timeout>0&&(q=setTimeout(function(){v.abort("timeout")},d.timeout));try{s=1,p.send(l,w)}catch(z){if(s<2)w(-1,z);else throw z}}return v},param:function(a,c){var d=[],e=function(a,b){b=f.isFunction(b)?b():b,d[d.length]=encodeURIComponent(a)+"="+encodeURIComponent(b)};c===b&&(c=f.ajaxSettings.traditional);if(f.isArray(a)||a.jquery&&!f.isPlainObject(a))f.each(a,function(){e(this.name,this.value)});else for(var g in a)b_(g,a[g],c,e);return d.join("&").replace(bC,"+")}}),f.extend({active:0,lastModified:{},etag:{}});var cc=f.now(),cd=/(\=)\?(&|$)|\?\?/i;f.ajaxSetup({jsonp:"callback",jsonpCallback:function(){return f.expando+"_"+cc++}}),f.ajaxPrefilter("json jsonp",function(b,c,d){var e=typeof b.data=="string"&&/^application\/x\-www\-form\-urlencoded/.test(b.contentType);if(b.dataTypes[0]==="jsonp"||b.jsonp!==!1&&(cd.test(b.url)||e&&cd.test(b.data))){var g,h=b.jsonpCallback=f.isFunction(b.jsonpCallback)?b.jsonpCallback():b.jsonpCallback,i=a[h],j=b.url,k=b.data,l="$1"+h+"$2";b.jsonp!==!1&&(j=j.replace(cd,l),b.url===j&&(e&&(k=k.replace(cd,l)),b.data===k&&(j+=(/\?/.test(j)?"&":"?")+b.jsonp+"="+h))),b.url=j,b.data=k,a[h]=function(a){g=[a]},d.always(function(){a[h]=i,g&&f.isFunction(i)&&a[h](g[0])}),b.converters["script json"]=function(){g||f.error(h+" was not called");return g[0]},b.dataTypes[0]="json";return"script"}}),f.ajaxSetup({accepts:{script:"text/javascript, application/javascript, application/ecmascript, application/x-ecmascript"},contents:{script:/javascript|ecmascript/},converters:{"text script":function(a){f.globalEval(a);return a}}}),f.ajaxPrefilter("script",function(a){a.cache===b&&(a.cache=!1),a.crossDomain&&(a.type="GET",a.global=!1)}),f.ajaxTransport("script",function(a){if(a.crossDomain){var d,e=c.head||c.getElementsByTagName("head")[0]||c.documentElement;return{send:function(f,g){d=c.createElement("script"),d.async="async",a.scriptCharset&&(d.charset=a.scriptCharset),d.src=a.url,d.onload=d.onreadystatechange=function(a,c){if(c||!d.readyState||/loaded|complete/.test(d.readyState))d.onload=d.onreadystatechange=null,e&&d.parentNode&&e.removeChild(d),d=b,c||g(200,"success")},e.insertBefore(d,e.firstChild)},abort:function(){d&&d.onload(0,1)}}}});var ce=a.ActiveXObject?function(){for(var a in cg)cg[a](0,1)}:!1,cf=0,cg;f.ajaxSettings.xhr=a.ActiveXObject?function(){return!this.isLocal&&ch()||ci()}:ch,function(a){f.extend(f.support,{ajax:!!a,cors:!!a&&"withCredentials"in a})}(f.ajaxSettings.xhr()),f.support.ajax&&f.ajaxTransport(function(c){if(!c.crossDomain||f.support.cors){var d;return{send:function(e,g){var h=c.xhr(),i,j;c.username?h.open(c.type,c.url,c.async,c.username,c.password):h.open(c.type,c.url,c.async);if(c.xhrFields)for(j in c.xhrFields)h[j]=c.xhrFields[j];c.mimeType&&h.overrideMimeType&&h.overrideMimeType(c.mimeType),!c.crossDomain&&!e["X-Requested-With"]&&(e["X-Requested-With"]="XMLHttpRequest");try{for(j in e)h.setRequestHeader(j,e[j])}catch(k){}h.send(c.hasContent&&c.data||null),d=function(a,e){var j,k,l,m,n;try{if(d&&(e||h.readyState===4)){d=b,i&&(h.onreadystatechange=f.noop,ce&&delete cg[i]);if(e)h.readyState!==4&&h.abort();else{j=h.status,l=h.getAllResponseHeaders(),m={},n=h.responseXML,n&&n.documentElement&&(m.xml=n);try{m.text=h.responseText}catch(a){}try{k=h.statusText}catch(o){k=""}!j&&c.isLocal&&!c.crossDomain?j=m.text?200:404:j===1223&&(j=204)}}}catch(p){e||g(-1,p)}m&&g(j,k,m,l)},!c.async||h.readyState===4?d():(i=++cf,ce&&(cg||(cg={},f(a).unload(ce)),cg[i]=d),h.onreadystatechange=d)},abort:function(){d&&d(0,1)}}}});var cj={},ck,cl,cm=/^(?:toggle|show|hide)$/,cn=/^([+\-]=)?([\d+.\-]+)([a-z%]*)$/i,co,cp=[["height","marginTop","marginBottom","paddingTop","paddingBottom"],["width","marginLeft","marginRight","paddingLeft","paddingRight"],["opacity"]],cq;f.fn.extend({show:function(a,b,c){var d,e;if(a||a===0)return this.animate(ct("show",3),a,b,c);for(var g=0,h=this.length;g<h;g++)d=this[g],d.style&&(e=d.style.display,!f._data(d,"olddisplay")&&e==="none"&&(e=d.style.display=""),(e===""&&f.css(d,"display")==="none"||!f.contains(d.ownerDocument.documentElement,d))&&f._data(d,"olddisplay",cu(d.nodeName)));for(g=0;g<h;g++){d=this[g];if(d.style){e=d.style.display;if(e===""||e==="none")d.style.display=f._data(d,"olddisplay")||""}}return this},hide:function(a,b,c){if(a||a===0)return this.animate(ct("hide",3),a,b,c);var d,e,g=0,h=this.length;for(;g<h;g++)d=this[g],d.style&&(e=f.css(d,"display"),e!=="none"&&!f._data(d,"olddisplay")&&f._data(d,"olddisplay",e));for(g=0;g<h;g++)this[g].style&&(this[g].style.display="none");return this},_toggle:f.fn.toggle,toggle:function(a,b,c){var d=typeof a=="boolean";f.isFunction(a)&&f.isFunction(b)?this._toggle.apply(this,arguments):a==null||d?this.each(function(){var b=d?a:f(this).is(":hidden");f(this)[b?"show":"hide"]()}):this.animate(ct("toggle",3),a,b,c);return this},fadeTo:function(a,b,c,d){return this.filter(":hidden").css("opacity",0).show().end().animate({opacity:b},a,c,d)},animate:function(a,b,c,d){function g(){e.queue===!1&&f._mark(this);var b=f.extend({},e),c=this.nodeType===1,d=c&&f(this).is(":hidden"),g,h,i,j,k,l,m,n,o,p,q;b.animatedProperties={};for(i in a){g=f.camelCase(i),i!==g&&(a[g]=a[i],delete a[i]);if((k=f.cssHooks[g])&&"expand"in k){l=k.expand(a[g]),delete a[g];for(i in l)i in a||(a[i]=l[i])}}for(g in a){h=a[g],f.isArray(h)?(b.animatedProperties[g]=h[1],h=a[g]=h[0]):b.animatedProperties[g]=b.specialEasing&&b.specialEasing[g]||b.easing||"swing";if(h==="hide"&&d||h==="show"&&!d)return b.complete.call(this);c&&(g==="height"||g==="width")&&(b.overflow=[this.style.overflow,this.style.overflowX,this.style.overflowY],f.css(this,"display")==="inline"&&f.css(this,"float")==="none"&&(!f.support.inlineBlockNeedsLayout||cu(this.nodeName)==="inline"?this.style.display="inline-block":this.style.zoom=1))}b.overflow!=null&&(this.style.overflow="hidden");for(i in a)j=new f.fx(this,b,i),h=a[i],cm.test(h)?(q=f._data(this,"toggle"+i)||(h==="toggle"?d?"show":"hide":0),q?(f._data(this,"toggle"+i,q==="show"?"hide":"show"),j[q]()):j[h]()):(m=cn.exec(h),n=j.cur(),m?(o=parseFloat(m[2]),p=m[3]||(f.cssNumber[i]?"":"px"),p!=="px"&&(f.style(this,i,(o||1)+p),n=(o||1)/j.cur()*n,f.style(this,i,n+p)),m[1]&&(o=(m[1]==="-="?-1:1)*o+n),j.custom(n,o,p)):j.custom(n,h,""));return!0}var e=f.speed(b,c,d);if(f.isEmptyObject(a))return this.each(e.complete,[!1]);a=f.extend({},a);return e.queue===!1?this.each(g):this.queue(e.queue,g)},stop:function(a,c,d){typeof a!="string"&&(d=c,c=a,a=b),c&&a!==!1&&this.queue(a||"fx",[]);return this.each(function(){function h(a,b,c){var e=b[c];f.removeData(a,c,!0),e.stop(d)}var b,c=!1,e=f.timers,g=f._data(this);d||f._unmark(!0,this);if(a==null)for(b in g)g[b]&&g[b].stop&&b.indexOf(".run")===b.length-4&&h(this,g,b);else g[b=a+".run"]&&g[b].stop&&h(this,g,b);for(b=e.length;b--;)e[b].elem===this&&(a==null||e[b].queue===a)&&(d?e[b](!0):e[b].saveState(),c=!0,e.splice(b,1));(!d||!c)&&f.dequeue(this,a)})}}),f.each({slideDown:ct("show",1),slideUp:ct("hide",1),slideToggle:ct("toggle",1),fadeIn:{opacity:"show"},fadeOut:{opacity:"hide"},fadeToggle:{opacity:"toggle"}},function(a,b){f.fn[a]=function(a,c,d){return this.animate(b,a,c,d)}}),f.extend({speed:function(a,b,c){var d=a&&typeof a=="object"?f.extend({},a):{complete:c||!c&&b||f.isFunction(a)&&a,duration:a,easing:c&&b||b&&!f.isFunction(b)&&b};d.duration=f.fx.off?0:typeof d.duration=="number"?d.duration:d.duration in f.fx.speeds?f.fx.speeds[d.duration]:f.fx.speeds._default;if(d.queue==null||d.queue===!0)d.queue="fx";d.old=d.complete,d.complete=function(a){f.isFunction(d.old)&&d.old.call(this),d.queue?f.dequeue(this,d.queue):a!==!1&&f._unmark(this)};return d},easing:{linear:function(a){return a},swing:function(a){return-Math.cos(a*Math.PI)/2+.5}},timers:[],fx:function(a,b,c){this.options=b,this.elem=a,this.prop=c,b.orig=b.orig||{}}}),f.fx.prototype={update:function(){this.options.step&&this.options.step.call(this.elem,this.now,this),(f.fx.step[this.prop]||f.fx.step._default)(this)},cur:function(){if(this.elem[this.prop]!=null&&(!this.elem.style||this.elem.style[this.prop]==null))return this.elem[this.prop];var a,b=f.css(this.elem,this.prop);return isNaN(a=parseFloat(b))?!b||b==="auto"?0:b:a},custom:function(a,c,d){function h(a){return e.step(a)}var e=this,g=f.fx;this.startTime=cq||cr(),this.end=c,this.now=this.start=a,this.pos=this.state=0,this.unit=d||this.unit||(f.cssNumber[this.prop]?"":"px"),h.queue=this.options.queue,h.elem=this.elem,h.saveState=function(){f._data(e.elem,"fxshow"+e.prop)===b&&(e.options.hide?f._data(e.elem,"fxshow"+e.prop,e.start):e.options.show&&f._data(e.elem,"fxshow"+e.prop,e.end))},h()&&f.timers.push(h)&&!co&&(co=setInterval(g.tick,g.interval))},show:function(){var a=f._data(this.elem,"fxshow"+this.prop);this.options.orig[this.prop]=a||f.style(this.elem,this.prop),this.options.show=!0,a!==b?this.custom(this.cur(),a):this.custom(this.prop==="width"||this.prop==="height"?1:0,this.cur()),f(this.elem).show()},hide:function(){this.options.orig[this.prop]=f._data(this.elem,"fxshow"+this.prop)||f.style(this.elem,this.prop),this.options.hide=!0,this.custom(this.cur(),0)},step:function(a){var b,c,d,e=cq||cr(),g=!0,h=this.elem,i=this.options;if(a||e>=i.duration+this.startTime){this.now=this.end,this.pos=this.state=1,this.update(),i.animatedProperties[this.prop]=!0;for(b in i.animatedProperties)i.animatedProperties[b]!==!0&&(g=!1);if(g){i.overflow!=null&&!f.support.shrinkWrapBlocks&&f.each(["","X","Y"],function(a,b){h.style["overflow"+b]=i.overflow[a]}),i.hide&&f(h).hide();if(i.hide||i.show)for(b in i.animatedProperties)f.style(h,b,i.orig[b]),f.removeData(h,"fxshow"+b,!0),f.removeData(h,"toggle"+b,!0);d=i.complete,d&&(i.complete=!1,d.call(h))}return!1}i.duration==Infinity?this.now=e:(c=e-this.startTime,this.state=c/i.duration,this.pos=f.easing[i.animatedProperties[this.prop]](this.state,c,0,1,i.duration),this.now=this.start+(this.end-this.start)*this.pos),this.update();return!0}},f.extend(f.fx,{tick:function(){var a,b=f.timers,c=0;for(;c<b.length;c++)a=b[c],!a()&&b[c]===a&&b.splice(c--,1);b.length||f.fx.stop()},interval:13,stop:function(){clearInterval(co),co=null},speeds:{slow:600,fast:200,_default:400},step:{opacity:function(a){f.style(a.elem,"opacity",a.now)},_default:function(a){a.elem.style&&a.elem.style[a.prop]!=null?a.elem.style[a.prop]=a.now+a.unit:a.elem[a.prop]=a.now}}}),f.each(cp.concat.apply([],cp),function(a,b){b.indexOf("margin")&&(f.fx.step[b]=function(a){f.style(a.elem,b,Math.max(0,a.now)+a.unit)})}),f.expr&&f.expr.filters&&(f.expr.filters.animated=function(a){return f.grep(f.timers,function(b){return a===b.elem}).length});var cv,cw=/^t(?:able|d|h)$/i,cx=/^(?:body|html)$/i;"getBoundingClientRect"in c.documentElement?cv=function(a,b,c,d){try{d=a.getBoundingClientRect()}catch(e){}if(!d||!f.contains(c,a))return d?{top:d.top,left:d.left}:{top:0,left:0};var g=b.body,h=cy(b),i=c.clientTop||g.clientTop||0,j=c.clientLeft||g.clientLeft||0,k=h.pageYOffset||f.support.boxModel&&c.scrollTop||g.scrollTop,l=h.pageXOffset||f.support.boxModel&&c.scrollLeft||g.scrollLeft,m=d.top+k-i,n=d.left+l-j;return{top:m,left:n}}:cv=function(a,b,c){var d,e=a.offsetParent,g=a,h=b.body,i=b.defaultView,j=i?i.getComputedStyle(a,null):a.currentStyle,k=a.offsetTop,l=a.offsetLeft;while((a=a.parentNode)&&a!==h&&a!==c){if(f.support.fixedPosition&&j.position==="fixed")break;d=i?i.getComputedStyle(a,null):a.currentStyle,k-=a.scrollTop,l-=a.scrollLeft,a===e&&(k+=a.offsetTop,l+=a.offsetLeft,f.support.doesNotAddBorder&&(!f.support.doesAddBorderForTableAndCells||!cw.test(a.nodeName))&&(k+=parseFloat(d.borderTopWidth)||0,l+=parseFloat(d.borderLeftWidth)||0),g=e,e=a.offsetParent),f.support.subtractsBorderForOverflowNotVisible&&d.overflow!=="visible"&&(k+=parseFloat(d.borderTopWidth)||0,l+=parseFloat(d.borderLeftWidth)||0),j=d}if(j.position==="relative"||j.position==="static")k+=h.offsetTop,l+=h.offsetLeft;f.support.fixedPosition&&j.position==="fixed"&&(k+=Math.max(c.scrollTop,h.scrollTop),l+=Math.max(c.scrollLeft,h.scrollLeft));return{top:k,left:l}},f.fn.offset=function(a){if(arguments.length)return a===b?this:this.each(function(b){f.offset.setOffset(this,a,b)});var c=this[0],d=c&&c.ownerDocument;if(!d)return null;if(c===d.body)return f.offset.bodyOffset(c);return cv(c,d,d.documentElement)},f.offset={bodyOffset:function(a){var b=a.offsetTop,c=a.offsetLeft;f.support.doesNotIncludeMarginInBodyOffset&&(b+=parseFloat(f.css(a,"marginTop"))||0,c+=parseFloat(f.css(a,"marginLeft"))||0);return{top:b,left:c}},setOffset:function(a,b,c){var d=f.css(a,"position");d==="static"&&(a.style.position="relative");var e=f(a),g=e.offset(),h=f.css(a,"top"),i=f.css(a,"left"),j=(d==="absolute"||d==="fixed")&&f.inArray("auto",[h,i])>-1,k={},l={},m,n;j?(l=e.position(),m=l.top,n=l.left):(m=parseFloat(h)||0,n=parseFloat(i)||0),f.isFunction(b)&&(b=b.call(a,c,g)),b.top!=null&&(k.top=b.top-g.top+m),b.left!=null&&(k.left=b.left-g.left+n),"using"in b?b.using.call(a,k):e.css(k)}},f.fn.extend({position:function(){if(!this[0])return null;var a=this[0],b=this.offsetParent(),c=this.offset(),d=cx.test(b[0].nodeName)?{top:0,left:0}:b.offset();c.top-=parseFloat(f.css(a,"marginTop"))||0,c.left-=parseFloat(f.css(a,"marginLeft"))||0,d.top+=parseFloat(f.css(b[0],"borderTopWidth"))||0,d.left+=parseFloat(f.css(b[0],"borderLeftWidth"))||0;return{top:c.top-d.top,left:c.left-d.left}},offsetParent:function(){return this.map(function(){var a=this.offsetParent||c.body;while(a&&!cx.test(a.nodeName)&&f.css(a,"position")==="static")a=a.offsetParent;return a})}}),f.each({scrollLeft:"pageXOffset",scrollTop:"pageYOffset"},function(a,c){var d=/Y/.test(c);f.fn[a]=function(e){return f.access(this,function(a,e,g){var h=cy(a);if(g===b)return h?c in h?h[c]:f.support.boxModel&&h.document.documentElement[e]||h.document.body[e]:a[e];h?h.scrollTo(d?f(h).scrollLeft():g,d?g:f(h).scrollTop()):a[e]=g},a,e,arguments.length,null)}}),f.each({Height:"height",Width:"width"},function(a,c){var d="client"+a,e="scroll"+a,g="offset"+a;f.fn["inner"+a]=function(){var a=this[0];return a?a.style?parseFloat(f.css(a,c,"padding")):this[c]():null},f.fn["outer"+a]=function(a){var b=this[0];return b?b.style?parseFloat(f.css(b,c,a?"margin":"border")):this[c]():null},f.fn[c]=function(a){return f.access(this,function(a,c,h){var i,j,k,l;if(f.isWindow(a)){i=a.document,j=i.documentElement[d];return f.support.boxModel&&j||i.body&&i.body[d]||j}if(a.nodeType===9){i=a.documentElement;if(i[d]>=i[e])return i[d];return Math.max(a.body[e],i[e],a.body[g],i[g])}if(h===b){k=f.css(a,c),l=parseFloat(k);return f.isNumeric(l)?l:k}f(a).css(c,h)},c,a,arguments.length,null)}}),a.jQuery=a.$=f,typeof define=="function"&&define.amd&&define.amd.jQuery&&define("jquery",[],function(){return f})})(window);
\ No newline at end of file
diff --git a/koha-tmpl/opac-tmpl/ccsr/en/lib/jquery/plugins/jquery.checkboxes.min.js b/koha-tmpl/opac-tmpl/ccsr/en/lib/jquery/plugins/jquery.checkboxes.min.js
new file mode 100644 (file)
index 0000000..8595324
--- /dev/null
@@ -0,0 +1,13 @@
+/*
+ *
+ * Copyright (c) 2006-2008 Sam Collett (http://www.texotela.co.uk)
+ * Dual licensed under the MIT (http://www.opensource.org/licenses/mit-license.php)
+ * and GPL (http://www.opensource.org/licenses/gpl-license.php) licenses.
+ *
+ * Version 2.1
+ * Demo: http://www.texotela.co.uk/code/jquery/checkboxes/
+ *
+ * $LastChangedDate$
+ * $Rev$
+ */
+;(function(d){d.fn.toggleCheckboxes=function(a,b){a=a||"*";b=b||false;var c=d([]);this.each(function(){var e=d("input[type=checkbox]",this).filter(a).each(function(){this.checked=!this.checked}).filter(":checked");c=e});if(!b){c=this}return c};d.fn.checkCheckboxes=function(a,b){a=a||"*";b=b||false;var c=d([]);this.each(function(){var e=d("input[type=checkbox]",this).filter(a).each(function(){this.checked=true}).filter(":checked");c=e});if(!b){c=this}return c};d.fn.unCheckCheckboxes=function(a,b){a=a||"*";b=b||false;var c=d([]);this.each(function(){var e=d("input[type=checkbox]",this).filter(a).each(function(){this.checked=false}).filter(":not(:checked)");c=e});if(!b){c=this}return c};d.radioCheckboxGroup=function(e,a){a=a||"*";var b="input[type=checkbox]";if(e){b+="[name="+e+"]"}var c=d(b).filter(a);c.click(function(){c.not(this).each(function(){this.checked=false}).end()})}})(jQuery);
\ No newline at end of file
diff --git a/koha-tmpl/opac-tmpl/ccsr/en/lib/jquery/plugins/jquery.dataTables.min.js b/koha-tmpl/opac-tmpl/ccsr/en/lib/jquery/plugins/jquery.dataTables.min.js
new file mode 100644 (file)
index 0000000..771c00b
--- /dev/null
@@ -0,0 +1,153 @@
+/*
+ * File:        jquery.dataTables.min.js
+ * Version:     1.8.1
+ * Author:      Allan Jardine (www.sprymedia.co.uk)
+ * Info:        www.datatables.net
+ *
+ * Copyright 2008-2010 Allan Jardine, all rights reserved.
+ *
+ * This source file is free software, under either the GPL v2 license or a
+ * BSD style license, available at:
+ *   http://datatables.net/license_gpl2
+ *   http://datatables.net/license_bsd
+ *
+ * This source file is distributed in the hope that it will be useful, but
+ * WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY
+ * or FITNESS FOR A PARTICULAR PURPOSE. See the license files for details.
+ */
+(function(i,wa,p){i.fn.dataTableSettings=[];var D=i.fn.dataTableSettings;i.fn.dataTableExt={};var o=i.fn.dataTableExt;o.sVersion="1.8.1";o.sErrMode="alert";o.iApiIndex=0;o.oApi={};o.afnFiltering=[];o.aoFeatures=[];o.ofnSearch={};o.afnSortData=[];o.oStdClasses={sPagePrevEnabled:"paginate_enabled_previous",sPagePrevDisabled:"paginate_disabled_previous",sPageNextEnabled:"paginate_enabled_next",sPageNextDisabled:"paginate_disabled_next",sPageJUINext:"",sPageJUIPrev:"",sPageButton:"paginate_button",sPageButtonActive:"paginate_active",
+sPageButtonStaticDisabled:"paginate_button paginate_button_disabled",sPageFirst:"first",sPagePrevious:"previous",sPageNext:"next",sPageLast:"last",sStripOdd:"odd",sStripEven:"even",sRowEmpty:"dataTables_empty",sWrapper:"dataTables_wrapper",sFilter:"dataTables_filter",sInfo:"dataTables_info",sPaging:"dataTables_paginate paging_",sLength:"dataTables_length",sProcessing:"dataTables_processing",sSortAsc:"sorting_asc",sSortDesc:"sorting_desc",sSortable:"sorting",sSortableAsc:"sorting_asc_disabled",sSortableDesc:"sorting_desc_disabled",
+sSortableNone:"sorting_disabled",sSortColumn:"sorting_",sSortJUIAsc:"",sSortJUIDesc:"",sSortJUI:"",sSortJUIAscAllowed:"",sSortJUIDescAllowed:"",sSortJUIWrapper:"",sSortIcon:"",sScrollWrapper:"dataTables_scroll",sScrollHead:"dataTables_scrollHead",sScrollHeadInner:"dataTables_scrollHeadInner",sScrollBody:"dataTables_scrollBody",sScrollFoot:"dataTables_scrollFoot",sScrollFootInner:"dataTables_scrollFootInner",sFooterTH:""};o.oJUIClasses={sPagePrevEnabled:"fg-button ui-button ui-state-default ui-corner-left",
+sPagePrevDisabled:"fg-button ui-button ui-state-default ui-corner-left ui-state-disabled",sPageNextEnabled:"fg-button ui-button ui-state-default ui-corner-right",sPageNextDisabled:"fg-button ui-button ui-state-default ui-corner-right ui-state-disabled",sPageJUINext:"ui-icon ui-icon-circle-arrow-e",sPageJUIPrev:"ui-icon ui-icon-circle-arrow-w",sPageButton:"fg-button ui-button ui-state-default",sPageButtonActive:"fg-button ui-button ui-state-default ui-state-disabled",sPageButtonStaticDisabled:"fg-button ui-button ui-state-default ui-state-disabled",
+sPageFirst:"first ui-corner-tl ui-corner-bl",sPagePrevious:"previous",sPageNext:"next",sPageLast:"last ui-corner-tr ui-corner-br",sStripOdd:"odd",sStripEven:"even",sRowEmpty:"dataTables_empty",sWrapper:"dataTables_wrapper",sFilter:"dataTables_filter",sInfo:"dataTables_info",sPaging:"dataTables_paginate fg-buttonset ui-buttonset fg-buttonset-multi ui-buttonset-multi paging_",sLength:"dataTables_length",sProcessing:"dataTables_processing",sSortAsc:"ui-state-default",sSortDesc:"ui-state-default",sSortable:"ui-state-default",
+sSortableAsc:"ui-state-default",sSortableDesc:"ui-state-default",sSortableNone:"ui-state-default",sSortColumn:"sorting_",sSortJUIAsc:"css_right ui-icon ui-icon-triangle-1-n",sSortJUIDesc:"css_right ui-icon ui-icon-triangle-1-s",sSortJUI:"css_right ui-icon ui-icon-carat-2-n-s",sSortJUIAscAllowed:"css_right ui-icon ui-icon-carat-1-n",sSortJUIDescAllowed:"css_right ui-icon ui-icon-carat-1-s",sSortJUIWrapper:"DataTables_sort_wrapper",sSortIcon:"DataTables_sort_icon",sScrollWrapper:"dataTables_scroll",
+sScrollHead:"dataTables_scrollHead ui-state-default",sScrollHeadInner:"dataTables_scrollHeadInner",sScrollBody:"dataTables_scrollBody",sScrollFoot:"dataTables_scrollFoot ui-state-default",sScrollFootInner:"dataTables_scrollFootInner",sFooterTH:"ui-state-default"};o.oPagination={two_button:{fnInit:function(g,l,r){var s,w,y;if(g.bJUI){s=p.createElement("a");w=p.createElement("a");y=p.createElement("span");y.className=g.oClasses.sPageJUINext;w.appendChild(y);y=p.createElement("span");y.className=g.oClasses.sPageJUIPrev;
+s.appendChild(y)}else{s=p.createElement("div");w=p.createElement("div")}s.className=g.oClasses.sPagePrevDisabled;w.className=g.oClasses.sPageNextDisabled;s.title=g.oLanguage.oPaginate.sPrevious;w.title=g.oLanguage.oPaginate.sNext;l.appendChild(s);l.appendChild(w);i(s).bind("click.DT",function(){g.oApi._fnPageChange(g,"previous")&&r(g)});i(w).bind("click.DT",function(){g.oApi._fnPageChange(g,"next")&&r(g)});i(s).bind("selectstart.DT",function(){return false});i(w).bind("selectstart.DT",function(){return false});
+if(g.sTableId!==""&&typeof g.aanFeatures.p=="undefined"){l.setAttribute("id",g.sTableId+"_paginate");s.setAttribute("id",g.sTableId+"_previous");w.setAttribute("id",g.sTableId+"_next")}},fnUpdate:function(g){if(g.aanFeatures.p)for(var l=g.aanFeatures.p,r=0,s=l.length;r<s;r++)if(l[r].childNodes.length!==0){l[r].childNodes[0].className=g._iDisplayStart===0?g.oClasses.sPagePrevDisabled:g.oClasses.sPagePrevEnabled;l[r].childNodes[1].className=g.fnDisplayEnd()==g.fnRecordsDisplay()?g.oClasses.sPageNextDisabled:
+g.oClasses.sPageNextEnabled}}},iFullNumbersShowPages:5,full_numbers:{fnInit:function(g,l,r){var s=p.createElement("span"),w=p.createElement("span"),y=p.createElement("span"),G=p.createElement("span"),x=p.createElement("span");s.innerHTML=g.oLanguage.oPaginate.sFirst;w.innerHTML=g.oLanguage.oPaginate.sPrevious;G.innerHTML=g.oLanguage.oPaginate.sNext;x.innerHTML=g.oLanguage.oPaginate.sLast;var v=g.oClasses;s.className=v.sPageButton+" "+v.sPageFirst;w.className=v.sPageButton+" "+v.sPagePrevious;G.className=
+v.sPageButton+" "+v.sPageNext;x.className=v.sPageButton+" "+v.sPageLast;l.appendChild(s);l.appendChild(w);l.appendChild(y);l.appendChild(G);l.appendChild(x);i(s).bind("click.DT",function(){g.oApi._fnPageChange(g,"first")&&r(g)});i(w).bind("click.DT",function(){g.oApi._fnPageChange(g,"previous")&&r(g)});i(G).bind("click.DT",function(){g.oApi._fnPageChange(g,"next")&&r(g)});i(x).bind("click.DT",function(){g.oApi._fnPageChange(g,"last")&&r(g)});i("span",l).bind("mousedown.DT",function(){return false}).bind("selectstart.DT",
+function(){return false});if(g.sTableId!==""&&typeof g.aanFeatures.p=="undefined"){l.setAttribute("id",g.sTableId+"_paginate");s.setAttribute("id",g.sTableId+"_first");w.setAttribute("id",g.sTableId+"_previous");G.setAttribute("id",g.sTableId+"_next");x.setAttribute("id",g.sTableId+"_last")}},fnUpdate:function(g,l){if(g.aanFeatures.p){var r=o.oPagination.iFullNumbersShowPages,s=Math.floor(r/2),w=Math.ceil(g.fnRecordsDisplay()/g._iDisplayLength),y=Math.ceil(g._iDisplayStart/g._iDisplayLength)+1,G=
+"",x,v=g.oClasses;if(w<r){s=1;x=w}else if(y<=s){s=1;x=r}else if(y>=w-s){s=w-r+1;x=w}else{s=y-Math.ceil(r/2)+1;x=s+r-1}for(r=s;r<=x;r++)G+=y!=r?'<span class="'+v.sPageButton+'">'+r+"</span>":'<span class="'+v.sPageButtonActive+'">'+r+"</span>";x=g.aanFeatures.p;var z,Y=function(L){g._iDisplayStart=(this.innerHTML*1-1)*g._iDisplayLength;l(g);L.preventDefault()},V=function(){return false};r=0;for(s=x.length;r<s;r++)if(x[r].childNodes.length!==0){z=i("span:eq(2)",x[r]);z.html(G);i("span",z).bind("click.DT",
+Y).bind("mousedown.DT",V).bind("selectstart.DT",V);z=x[r].getElementsByTagName("span");z=[z[0],z[1],z[z.length-2],z[z.length-1]];i(z).removeClass(v.sPageButton+" "+v.sPageButtonActive+" "+v.sPageButtonStaticDisabled);if(y==1){z[0].className+=" "+v.sPageButtonStaticDisabled;z[1].className+=" "+v.sPageButtonStaticDisabled}else{z[0].className+=" "+v.sPageButton;z[1].className+=" "+v.sPageButton}if(w===0||y==w||g._iDisplayLength==-1){z[2].className+=" "+v.sPageButtonStaticDisabled;z[3].className+=" "+
+v.sPageButtonStaticDisabled}else{z[2].className+=" "+v.sPageButton;z[3].className+=" "+v.sPageButton}}}}}};o.oSort={"string-asc":function(g,l){if(typeof g!="string")g="";if(typeof l!="string")l="";g=g.toLowerCase();l=l.toLowerCase();return g<l?-1:g>l?1:0},"string-desc":function(g,l){if(typeof g!="string")g="";if(typeof l!="string")l="";g=g.toLowerCase();l=l.toLowerCase();return g<l?1:g>l?-1:0},"html-asc":function(g,l){g=g.replace(/<.*?>/g,"").toLowerCase();l=l.replace(/<.*?>/g,"").toLowerCase();return g<
+l?-1:g>l?1:0},"html-desc":function(g,l){g=g.replace(/<.*?>/g,"").toLowerCase();l=l.replace(/<.*?>/g,"").toLowerCase();return g<l?1:g>l?-1:0},"date-asc":function(g,l){g=Date.parse(g);l=Date.parse(l);if(isNaN(g)||g==="")g=Date.parse("01/01/1970 00:00:00");if(isNaN(l)||l==="")l=Date.parse("01/01/1970 00:00:00");return g-l},"date-desc":function(g,l){g=Date.parse(g);l=Date.parse(l);if(isNaN(g)||g==="")g=Date.parse("01/01/1970 00:00:00");if(isNaN(l)||l==="")l=Date.parse("01/01/1970 00:00:00");return l-
+g},"numeric-asc":function(g,l){return(g=="-"||g===""?0:g*1)-(l=="-"||l===""?0:l*1)},"numeric-desc":function(g,l){return(l=="-"||l===""?0:l*1)-(g=="-"||g===""?0:g*1)}};o.aTypes=[function(g){if(typeof g=="number")return"numeric";else if(typeof g!="string")return null;var l,r=false;l=g.charAt(0);if("0123456789-".indexOf(l)==-1)return null;for(var s=1;s<g.length;s++){l=g.charAt(s);if("0123456789.".indexOf(l)==-1)return null;if(l=="."){if(r)return null;r=true}}return"numeric"},function(g){var l=Date.parse(g);
+if(l!==null&&!isNaN(l)||typeof g=="string"&&g.length===0)return"date";return null},function(g){if(typeof g=="string"&&g.indexOf("<")!=-1&&g.indexOf(">")!=-1)return"html";return null}];o.fnVersionCheck=function(g){var l=function(x,v){for(;x.length<v;)x+="0";return x},r=o.sVersion.split(".");g=g.split(".");for(var s="",w="",y=0,G=g.length;y<G;y++){s+=l(r[y],3);w+=l(g[y],3)}return parseInt(s,10)>=parseInt(w,10)};o._oExternConfig={iNextUnique:0};i.fn.dataTable=function(g){function l(){this.fnRecordsTotal=
+function(){return this.oFeatures.bServerSide?parseInt(this._iRecordsTotal,10):this.aiDisplayMaster.length};this.fnRecordsDisplay=function(){return this.oFeatures.bServerSide?parseInt(this._iRecordsDisplay,10):this.aiDisplay.length};this.fnDisplayEnd=function(){return this.oFeatures.bServerSide?this.oFeatures.bPaginate===false||this._iDisplayLength==-1?this._iDisplayStart+this.aiDisplay.length:Math.min(this._iDisplayStart+this._iDisplayLength,this._iRecordsDisplay):this._iDisplayEnd};this.sInstance=
+this.oInstance=null;this.oFeatures={bPaginate:true,bLengthChange:true,bFilter:true,bSort:true,bInfo:true,bAutoWidth:true,bProcessing:false,bSortClasses:true,bStateSave:false,bServerSide:false,bDeferRender:false};this.oScroll={sX:"",sXInner:"",sY:"",bCollapse:false,bInfinite:false,iLoadGap:100,iBarWidth:0,bAutoCss:true};this.aanFeatures=[];this.oLanguage={sProcessing:"Processing...",sLengthMenu:"Show _MENU_ entries",sZeroRecords:"No matching records found",sEmptyTable:"No data available in table",
+sLoadingRecords:"Loading...",sInfo:"Showing _START_ to _END_ of _TOTAL_ entries",sInfoEmpty:"Showing 0 to 0 of 0 entries",sInfoFiltered:"(filtered from _MAX_ total entries)",sInfoPostFix:"",sSearch:"Search:",sUrl:"",oPaginate:{sFirst:"First",sPrevious:"Previous",sNext:"Next",sLast:"Last"},fnInfoCallback:null};this.aoData=[];this.aiDisplay=[];this.aiDisplayMaster=[];this.aoColumns=[];this.aoHeader=[];this.aoFooter=[];this.iNextId=0;this.asDataSearch=[];this.oPreviousSearch={sSearch:"",bRegex:false,
+bSmart:true};this.aoPreSearchCols=[];this.aaSorting=[[0,"asc",0]];this.aaSortingFixed=null;this.asStripClasses=[];this.asDestoryStrips=[];this.sDestroyWidth=0;this.fnFooterCallback=this.fnHeaderCallback=this.fnRowCallback=null;this.aoDrawCallback=[];this.fnInitComplete=this.fnPreDrawCallback=null;this.sTableId="";this.nTableWrapper=this.nTBody=this.nTFoot=this.nTHead=this.nTable=null;this.bInitialised=this.bDeferLoading=false;this.aoOpenRows=[];this.sDom="lfrtip";this.sPaginationType="two_button";
+this.iCookieDuration=7200;this.sCookiePrefix="SpryMedia_DataTables_";this.fnCookieCallback=null;this.aoStateSave=[];this.aoStateLoad=[];this.sAjaxSource=this.oLoadedState=null;this.sAjaxDataProp="aaData";this.bAjaxDataGet=true;this.jqXHR=null;this.fnServerData=function(a,b,c,d){d.jqXHR=i.ajax({url:a,data:b,success:c,dataType:"json",cache:false,error:function(f,e){e=="parsererror"&&alert("DataTables warning: JSON data from server could not be parsed. This is caused by a JSON formatting error.")}})};
+this.fnFormatNumber=function(a){if(a<1E3)return a;else{var b=a+"";a=b.split("");var c="";b=b.length;for(var d=0;d<b;d++){if(d%3===0&&d!==0)c=","+c;c=a[b-d-1]+c}}return c};this.aLengthMenu=[10,25,50,100];this.bDrawing=this.iDraw=0;this.iDrawError=-1;this._iDisplayLength=10;this._iDisplayStart=0;this._iDisplayEnd=10;this._iRecordsDisplay=this._iRecordsTotal=0;this.bJUI=false;this.oClasses=o.oStdClasses;this.bSortCellsTop=this.bSorted=this.bFiltered=false;this.oInit=null}function r(a){return function(){var b=
+[A(this[o.iApiIndex])].concat(Array.prototype.slice.call(arguments));return o.oApi[a].apply(this,b)}}function s(a){var b,c,d=a.iInitDisplayStart;if(a.bInitialised===false)setTimeout(function(){s(a)},200);else{xa(a);V(a);L(a,a.aoHeader);a.nTFoot&&L(a,a.aoFooter);K(a,true);a.oFeatures.bAutoWidth&&ea(a);b=0;for(c=a.aoColumns.length;b<c;b++)if(a.aoColumns[b].sWidth!==null)a.aoColumns[b].nTh.style.width=u(a.aoColumns[b].sWidth);if(a.oFeatures.bSort)R(a);else if(a.oFeatures.bFilter)M(a,a.oPreviousSearch);
+else{a.aiDisplay=a.aiDisplayMaster.slice();E(a);C(a)}if(a.sAjaxSource!==null&&!a.oFeatures.bServerSide)a.fnServerData.call(a.oInstance,a.sAjaxSource,[],function(f){var e=f;if(a.sAjaxDataProp!=="")e=Z(a.sAjaxDataProp)(f);for(b=0;b<e.length;b++)v(a,e[b]);a.iInitDisplayStart=d;if(a.oFeatures.bSort)R(a);else{a.aiDisplay=a.aiDisplayMaster.slice();E(a);C(a)}K(a,false);w(a,f)},a);else if(!a.oFeatures.bServerSide){K(a,false);w(a)}}}function w(a,b){a._bInitComplete=true;if(typeof a.fnInitComplete=="function")typeof b!=
+"undefined"?a.fnInitComplete.call(a.oInstance,a,b):a.fnInitComplete.call(a.oInstance,a)}function y(a,b,c){n(a.oLanguage,b,"sProcessing");n(a.oLanguage,b,"sLengthMenu");n(a.oLanguage,b,"sEmptyTable");n(a.oLanguage,b,"sLoadingRecords");n(a.oLanguage,b,"sZeroRecords");n(a.oLanguage,b,"sInfo");n(a.oLanguage,b,"sInfoEmpty");n(a.oLanguage,b,"sInfoFiltered");n(a.oLanguage,b,"sInfoPostFix");n(a.oLanguage,b,"sSearch");if(typeof b.oPaginate!="undefined"){n(a.oLanguage.oPaginate,b.oPaginate,"sFirst");n(a.oLanguage.oPaginate,
+b.oPaginate,"sPrevious");n(a.oLanguage.oPaginate,b.oPaginate,"sNext");n(a.oLanguage.oPaginate,b.oPaginate,"sLast")}typeof b.sEmptyTable=="undefined"&&typeof b.sZeroRecords!="undefined"&&n(a.oLanguage,b,"sZeroRecords","sEmptyTable");typeof b.sLoadingRecords=="undefined"&&typeof b.sZeroRecords!="undefined"&&n(a.oLanguage,b,"sZeroRecords","sLoadingRecords");c&&s(a)}function G(a,b){var c=a.aoColumns.length;b={sType:null,_bAutoType:true,bVisible:true,bSearchable:true,bSortable:true,asSorting:["asc","desc"],
+sSortingClass:a.oClasses.sSortable,sSortingClassJUI:a.oClasses.sSortJUI,sTitle:b?b.innerHTML:"",sName:"",sWidth:null,sWidthOrig:null,sClass:null,fnRender:null,bUseRendered:true,iDataSort:c,mDataProp:c,fnGetData:null,fnSetData:null,sSortDataType:"std",sDefaultContent:null,sContentPadding:"",nTh:b?b:p.createElement("th"),nTf:null};a.aoColumns.push(b);if(typeof a.aoPreSearchCols[c]=="undefined"||a.aoPreSearchCols[c]===null)a.aoPreSearchCols[c]={sSearch:"",bRegex:false,bSmart:true};else{if(typeof a.aoPreSearchCols[c].bRegex==
+"undefined")a.aoPreSearchCols[c].bRegex=true;if(typeof a.aoPreSearchCols[c].bSmart=="undefined")a.aoPreSearchCols[c].bSmart=true}x(a,c,null)}function x(a,b,c){b=a.aoColumns[b];if(typeof c!="undefined"&&c!==null){if(typeof c.sType!="undefined"){b.sType=c.sType;b._bAutoType=false}n(b,c,"bVisible");n(b,c,"bSearchable");n(b,c,"bSortable");n(b,c,"sTitle");n(b,c,"sName");n(b,c,"sWidth");n(b,c,"sWidth","sWidthOrig");n(b,c,"sClass");n(b,c,"fnRender");n(b,c,"bUseRendered");n(b,c,"iDataSort");n(b,c,"mDataProp");
+n(b,c,"asSorting");n(b,c,"sSortDataType");n(b,c,"sDefaultContent");n(b,c,"sContentPadding")}b.fnGetData=Z(b.mDataProp);b.fnSetData=ya(b.mDataProp);if(!a.oFeatures.bSort)b.bSortable=false;if(!b.bSortable||i.inArray("asc",b.asSorting)==-1&&i.inArray("desc",b.asSorting)==-1){b.sSortingClass=a.oClasses.sSortableNone;b.sSortingClassJUI=""}else if(b.bSortable||i.inArray("asc",b.asSorting)==-1&&i.inArray("desc",b.asSorting)==-1){b.sSortingClass=a.oClasses.sSortable;b.sSortingClassJUI=a.oClasses.sSortJUI}else if(i.inArray("asc",
+b.asSorting)!=-1&&i.inArray("desc",b.asSorting)==-1){b.sSortingClass=a.oClasses.sSortableAsc;b.sSortingClassJUI=a.oClasses.sSortJUIAscAllowed}else if(i.inArray("asc",b.asSorting)==-1&&i.inArray("desc",b.asSorting)!=-1){b.sSortingClass=a.oClasses.sSortableDesc;b.sSortingClassJUI=a.oClasses.sSortJUIDescAllowed}}function v(a,b){var c;c=typeof b.length=="number"?b.slice():i.extend(true,{},b);b=a.aoData.length;var d={nTr:null,_iId:a.iNextId++,_aData:c,_anHidden:[],_sRowStripe:""};a.aoData.push(d);for(var f,
+e=0,h=a.aoColumns.length;e<h;e++){c=a.aoColumns[e];typeof c.fnRender=="function"&&c.bUseRendered&&c.mDataProp!==null&&N(a,b,e,c.fnRender({iDataRow:b,iDataColumn:e,aData:d._aData,oSettings:a}));if(c._bAutoType&&c.sType!="string"){f=H(a,b,e,"type");if(f!==null&&f!==""){f=fa(f);if(c.sType===null)c.sType=f;else if(c.sType!=f)c.sType="string"}}}a.aiDisplayMaster.push(b);a.oFeatures.bDeferRender||z(a,b);return b}function z(a,b){var c=a.aoData[b],d;if(c.nTr===null){c.nTr=p.createElement("tr");typeof c._aData.DT_RowId!=
+"undefined"&&c.nTr.setAttribute("id",c._aData.DT_RowId);typeof c._aData.DT_RowClass!="undefined"&&i(c.nTr).addClass(c._aData.DT_RowClass);for(var f=0,e=a.aoColumns.length;f<e;f++){var h=a.aoColumns[f];d=p.createElement("td");d.innerHTML=typeof h.fnRender=="function"&&(!h.bUseRendered||h.mDataProp===null)?h.fnRender({iDataRow:b,iDataColumn:f,aData:c._aData,oSettings:a}):H(a,b,f,"display");if(h.sClass!==null)d.className=h.sClass;if(h.bVisible){c.nTr.appendChild(d);c._anHidden[f]=null}else c._anHidden[f]=
+d}}}function Y(a){var b,c,d,f,e,h,j,k,m;if(a.bDeferLoading||a.sAjaxSource===null){j=a.nTBody.childNodes;b=0;for(c=j.length;b<c;b++)if(j[b].nodeName.toUpperCase()=="TR"){k=a.aoData.length;a.aoData.push({nTr:j[b],_iId:a.iNextId++,_aData:[],_anHidden:[],_sRowStripe:""});a.aiDisplayMaster.push(k);h=j[b].childNodes;d=e=0;for(f=h.length;d<f;d++){m=h[d].nodeName.toUpperCase();if(m=="TD"||m=="TH"){N(a,k,e,i.trim(h[d].innerHTML));e++}}}}j=$(a);h=[];b=0;for(c=j.length;b<c;b++){d=0;for(f=j[b].childNodes.length;d<
+f;d++){e=j[b].childNodes[d];m=e.nodeName.toUpperCase();if(m=="TD"||m=="TH")h.push(e)}}h.length!=j.length*a.aoColumns.length&&J(a,1,"Unexpected number of TD elements. Expected "+j.length*a.aoColumns.length+" and got "+h.length+". DataTables does not support rowspan / colspan in the table body, and there must be one cell for each row/column combination.");d=0;for(f=a.aoColumns.length;d<f;d++){if(a.aoColumns[d].sTitle===null)a.aoColumns[d].sTitle=a.aoColumns[d].nTh.innerHTML;j=a.aoColumns[d]._bAutoType;
+m=typeof a.aoColumns[d].fnRender=="function";e=a.aoColumns[d].sClass!==null;k=a.aoColumns[d].bVisible;var t,q;if(j||m||e||!k){b=0;for(c=a.aoData.length;b<c;b++){t=h[b*f+d];if(j&&a.aoColumns[d].sType!="string"){q=H(a,b,d,"type");if(q!==""){q=fa(q);if(a.aoColumns[d].sType===null)a.aoColumns[d].sType=q;else if(a.aoColumns[d].sType!=q)a.aoColumns[d].sType="string"}}if(m){q=a.aoColumns[d].fnRender({iDataRow:b,iDataColumn:d,aData:a.aoData[b]._aData,oSettings:a});t.innerHTML=q;a.aoColumns[d].bUseRendered&&
+N(a,b,d,q)}if(e)t.className+=" "+a.aoColumns[d].sClass;if(k)a.aoData[b]._anHidden[d]=null;else{a.aoData[b]._anHidden[d]=t;t.parentNode.removeChild(t)}}}}}function V(a){var b,c,d;a.nTHead.getElementsByTagName("tr");if(a.nTHead.getElementsByTagName("th").length!==0){b=0;for(d=a.aoColumns.length;b<d;b++){c=a.aoColumns[b].nTh;a.aoColumns[b].sClass!==null&&i(c).addClass(a.aoColumns[b].sClass);if(a.aoColumns[b].sTitle!=c.innerHTML)c.innerHTML=a.aoColumns[b].sTitle}}else{var f=p.createElement("tr");b=0;
+for(d=a.aoColumns.length;b<d;b++){c=a.aoColumns[b].nTh;c.innerHTML=a.aoColumns[b].sTitle;a.aoColumns[b].sClass!==null&&i(c).addClass(a.aoColumns[b].sClass);f.appendChild(c)}i(a.nTHead).html("")[0].appendChild(f);W(a.aoHeader,a.nTHead)}if(a.bJUI){b=0;for(d=a.aoColumns.length;b<d;b++){c=a.aoColumns[b].nTh;f=p.createElement("div");f.className=a.oClasses.sSortJUIWrapper;i(c).contents().appendTo(f);var e=p.createElement("span");e.className=a.oClasses.sSortIcon;f.appendChild(e);c.appendChild(f)}}d=function(){this.onselectstart=
+function(){return false};return false};if(a.oFeatures.bSort)for(b=0;b<a.aoColumns.length;b++)if(a.aoColumns[b].bSortable!==false){ga(a,a.aoColumns[b].nTh,b);i(a.aoColumns[b].nTh).bind("mousedown.DT",d)}else i(a.aoColumns[b].nTh).addClass(a.oClasses.sSortableNone);a.oClasses.sFooterTH!==""&&i(">tr>th",a.nTFoot).addClass(a.oClasses.sFooterTH);if(a.nTFoot!==null){c=S(a,null,a.aoFooter);b=0;for(d=a.aoColumns.length;b<d;b++)if(typeof c[b]!="undefined")a.aoColumns[b].nTf=c[b]}}function L(a,b,c){var d,f,
+e,h=[],j=[],k=a.aoColumns.length;if(typeof c=="undefined")c=false;d=0;for(f=b.length;d<f;d++){h[d]=b[d].slice();h[d].nTr=b[d].nTr;for(e=k-1;e>=0;e--)!a.aoColumns[e].bVisible&&!c&&h[d].splice(e,1);j.push([])}d=0;for(f=h.length;d<f;d++){if(h[d].nTr){a=0;for(e=h[d].nTr.childNodes.length;a<e;a++)h[d].nTr.removeChild(h[d].nTr.childNodes[0])}e=0;for(b=h[d].length;e<b;e++){k=c=1;if(typeof j[d][e]=="undefined"){h[d].nTr.appendChild(h[d][e].cell);for(j[d][e]=1;typeof h[d+c]!="undefined"&&h[d][e].cell==h[d+
+c][e].cell;){j[d+c][e]=1;c++}for(;typeof h[d][e+k]!="undefined"&&h[d][e].cell==h[d][e+k].cell;){for(a=0;a<c;a++)j[d+a][e+k]=1;k++}h[d][e].cell.setAttribute("rowspan",c);h[d][e].cell.setAttribute("colspan",k)}}}}function C(a){var b,c,d=[],f=0,e=false;b=a.asStripClasses.length;c=a.aoOpenRows.length;if(!(a.fnPreDrawCallback!==null&&a.fnPreDrawCallback.call(a.oInstance,a)===false)){a.bDrawing=true;if(typeof a.iInitDisplayStart!="undefined"&&a.iInitDisplayStart!=-1){a._iDisplayStart=a.oFeatures.bServerSide?
+a.iInitDisplayStart:a.iInitDisplayStart>=a.fnRecordsDisplay()?0:a.iInitDisplayStart;a.iInitDisplayStart=-1;E(a)}if(a.bDeferLoading){a.bDeferLoading=false;a.iDraw++}else if(a.oFeatures.bServerSide){if(!a.bDestroying&&!za(a))return}else a.iDraw++;if(a.aiDisplay.length!==0){var h=a._iDisplayStart,j=a._iDisplayEnd;if(a.oFeatures.bServerSide){h=0;j=a.aoData.length}for(h=h;h<j;h++){var k=a.aoData[a.aiDisplay[h]];k.nTr===null&&z(a,a.aiDisplay[h]);var m=k.nTr;if(b!==0){var t=a.asStripClasses[f%b];if(k._sRowStripe!=
+t){i(m).removeClass(k._sRowStripe).addClass(t);k._sRowStripe=t}}if(typeof a.fnRowCallback=="function"){m=a.fnRowCallback.call(a.oInstance,m,a.aoData[a.aiDisplay[h]]._aData,f,h);if(!m&&!e){J(a,0,"A node was not returned by fnRowCallback");e=true}}d.push(m);f++;if(c!==0)for(k=0;k<c;k++)m==a.aoOpenRows[k].nParent&&d.push(a.aoOpenRows[k].nTr)}}else{d[0]=p.createElement("tr");if(typeof a.asStripClasses[0]!="undefined")d[0].className=a.asStripClasses[0];e=a.oLanguage.sZeroRecords.replace("_MAX_",a.fnFormatNumber(a.fnRecordsTotal()));
+if(a.iDraw==1&&a.sAjaxSource!==null&&!a.oFeatures.bServerSide)e=a.oLanguage.sLoadingRecords;else if(typeof a.oLanguage.sEmptyTable!="undefined"&&a.fnRecordsTotal()===0)e=a.oLanguage.sEmptyTable;b=p.createElement("td");b.setAttribute("valign","top");b.colSpan=X(a);b.className=a.oClasses.sRowEmpty;b.innerHTML=e;d[f].appendChild(b)}typeof a.fnHeaderCallback=="function"&&a.fnHeaderCallback.call(a.oInstance,i(">tr",a.nTHead)[0],aa(a),a._iDisplayStart,a.fnDisplayEnd(),a.aiDisplay);typeof a.fnFooterCallback==
+"function"&&a.fnFooterCallback.call(a.oInstance,i(">tr",a.nTFoot)[0],aa(a),a._iDisplayStart,a.fnDisplayEnd(),a.aiDisplay);f=p.createDocumentFragment();b=p.createDocumentFragment();if(a.nTBody){e=a.nTBody.parentNode;b.appendChild(a.nTBody);if(!a.oScroll.bInfinite||!a._bInitComplete||a.bSorted||a.bFiltered){c=a.nTBody.childNodes;for(b=c.length-1;b>=0;b--)c[b].parentNode.removeChild(c[b])}b=0;for(c=d.length;b<c;b++)f.appendChild(d[b]);a.nTBody.appendChild(f);e!==null&&e.appendChild(a.nTBody)}for(b=a.aoDrawCallback.length-
+1;b>=0;b--)a.aoDrawCallback[b].fn.call(a.oInstance,a);a.bSorted=false;a.bFiltered=false;a.bDrawing=false;if(a.oFeatures.bServerSide){K(a,false);typeof a._bInitComplete=="undefined"&&w(a)}}}function ba(a){if(a.oFeatures.bSort)R(a,a.oPreviousSearch);else if(a.oFeatures.bFilter)M(a,a.oPreviousSearch);else{E(a);C(a)}}function za(a){if(a.bAjaxDataGet){K(a,true);var b=a.aoColumns.length,c=[],d,f;a.iDraw++;c.push({name:"sEcho",value:a.iDraw});c.push({name:"iColumns",value:b});c.push({name:"sColumns",value:ha(a)});
+c.push({name:"iDisplayStart",value:a._iDisplayStart});c.push({name:"iDisplayLength",value:a.oFeatures.bPaginate!==false?a._iDisplayLength:-1});for(f=0;f<b;f++){d=a.aoColumns[f].mDataProp;c.push({name:"mDataProp_"+f,value:typeof d=="function"?"function":d})}if(a.oFeatures.bFilter!==false){c.push({name:"sSearch",value:a.oPreviousSearch.sSearch});c.push({name:"bRegex",value:a.oPreviousSearch.bRegex});for(f=0;f<b;f++){c.push({name:"sSearch_"+f,value:a.aoPreSearchCols[f].sSearch});c.push({name:"bRegex_"+
+f,value:a.aoPreSearchCols[f].bRegex});c.push({name:"bSearchable_"+f,value:a.aoColumns[f].bSearchable})}}if(a.oFeatures.bSort!==false){d=a.aaSortingFixed!==null?a.aaSortingFixed.length:0;var e=a.aaSorting.length;c.push({name:"iSortingCols",value:d+e});for(f=0;f<d;f++){c.push({name:"iSortCol_"+f,value:a.aaSortingFixed[f][0]});c.push({name:"sSortDir_"+f,value:a.aaSortingFixed[f][1]})}for(f=0;f<e;f++){c.push({name:"iSortCol_"+(f+d),value:a.aaSorting[f][0]});c.push({name:"sSortDir_"+(f+d),value:a.aaSorting[f][1]})}for(f=
+0;f<b;f++)c.push({name:"bSortable_"+f,value:a.aoColumns[f].bSortable})}a.fnServerData.call(a.oInstance,a.sAjaxSource,c,function(h){Aa(a,h)},a);return false}else return true}function Aa(a,b){if(typeof b.sEcho!="undefined")if(b.sEcho*1<a.iDraw)return;else a.iDraw=b.sEcho*1;if(!a.oScroll.bInfinite||a.oScroll.bInfinite&&(a.bSorted||a.bFiltered))ia(a);a._iRecordsTotal=b.iTotalRecords;a._iRecordsDisplay=b.iTotalDisplayRecords;var c=ha(a);if(c=typeof b.sColumns!="undefined"&&c!==""&&b.sColumns!=c)var d=
+Ba(a,b.sColumns);b=Z(a.sAjaxDataProp)(b);for(var f=0,e=b.length;f<e;f++)if(c){for(var h=[],j=0,k=a.aoColumns.length;j<k;j++)h.push(b[f][d[j]]);v(a,h)}else v(a,b[f]);a.aiDisplay=a.aiDisplayMaster.slice();a.bAjaxDataGet=false;C(a);a.bAjaxDataGet=true;K(a,false)}function xa(a){var b=p.createElement("div");a.nTable.parentNode.insertBefore(b,a.nTable);a.nTableWrapper=p.createElement("div");a.nTableWrapper.className=a.oClasses.sWrapper;a.sTableId!==""&&a.nTableWrapper.setAttribute("id",a.sTableId+"_wrapper");
+a.nTableReinsertBefore=a.nTable.nextSibling;for(var c=a.nTableWrapper,d=a.sDom.split(""),f,e,h,j,k,m,t,q=0;q<d.length;q++){e=0;h=d[q];if(h=="<"){j=p.createElement("div");k=d[q+1];if(k=="'"||k=='"'){m="";for(t=2;d[q+t]!=k;){m+=d[q+t];t++}if(m=="H")m="fg-toolbar ui-toolbar ui-widget-header ui-corner-tl ui-corner-tr ui-helper-clearfix";else if(m=="F")m="fg-toolbar ui-toolbar ui-widget-header ui-corner-bl ui-corner-br ui-helper-clearfix";if(m.indexOf(".")!=-1){k=m.split(".");j.setAttribute("id",k[0].substr(1,
+k[0].length-1));j.className=k[1]}else if(m.charAt(0)=="#")j.setAttribute("id",m.substr(1,m.length-1));else j.className=m;q+=t}c.appendChild(j);c=j}else if(h==">")c=c.parentNode;else if(h=="l"&&a.oFeatures.bPaginate&&a.oFeatures.bLengthChange){f=Ca(a);e=1}else if(h=="f"&&a.oFeatures.bFilter){f=Da(a);e=1}else if(h=="r"&&a.oFeatures.bProcessing){f=Ea(a);e=1}else if(h=="t"){f=Fa(a);e=1}else if(h=="i"&&a.oFeatures.bInfo){f=Ga(a);e=1}else if(h=="p"&&a.oFeatures.bPaginate){f=Ha(a);e=1}else if(o.aoFeatures.length!==
+0){j=o.aoFeatures;t=0;for(k=j.length;t<k;t++)if(h==j[t].cFeature){if(f=j[t].fnInit(a))e=1;break}}if(e==1&&f!==null){if(typeof a.aanFeatures[h]!="object")a.aanFeatures[h]=[];a.aanFeatures[h].push(f);c.appendChild(f)}}b.parentNode.replaceChild(a.nTableWrapper,b)}function Fa(a){if(a.oScroll.sX===""&&a.oScroll.sY==="")return a.nTable;var b=p.createElement("div"),c=p.createElement("div"),d=p.createElement("div"),f=p.createElement("div"),e=p.createElement("div"),h=p.createElement("div"),j=a.nTable.cloneNode(false),
+k=a.nTable.cloneNode(false),m=a.nTable.getElementsByTagName("thead")[0],t=a.nTable.getElementsByTagName("tfoot").length===0?null:a.nTable.getElementsByTagName("tfoot")[0],q=typeof g.bJQueryUI!="undefined"&&g.bJQueryUI?o.oJUIClasses:o.oStdClasses;c.appendChild(d);e.appendChild(h);f.appendChild(a.nTable);b.appendChild(c);b.appendChild(f);d.appendChild(j);j.appendChild(m);if(t!==null){b.appendChild(e);h.appendChild(k);k.appendChild(t)}b.className=q.sScrollWrapper;c.className=q.sScrollHead;d.className=
+q.sScrollHeadInner;f.className=q.sScrollBody;e.className=q.sScrollFoot;h.className=q.sScrollFootInner;if(a.oScroll.bAutoCss){c.style.overflow="hidden";c.style.position="relative";e.style.overflow="hidden";f.style.overflow="auto"}c.style.border="0";c.style.width="100%";e.style.border="0";d.style.width="150%";j.removeAttribute("id");j.style.marginLeft="0";a.nTable.style.marginLeft="0";if(t!==null){k.removeAttribute("id");k.style.marginLeft="0"}d=i(">caption",a.nTable);h=0;for(k=d.length;h<k;h++)j.appendChild(d[h]);
+if(a.oScroll.sX!==""){c.style.width=u(a.oScroll.sX);f.style.width=u(a.oScroll.sX);if(t!==null)e.style.width=u(a.oScroll.sX);i(f).scroll(function(){c.scrollLeft=this.scrollLeft;if(t!==null)e.scrollLeft=this.scrollLeft})}if(a.oScroll.sY!=="")f.style.height=u(a.oScroll.sY);a.aoDrawCallback.push({fn:Ia,sName:"scrolling"});a.oScroll.bInfinite&&i(f).scroll(function(){if(!a.bDrawing)if(i(this).scrollTop()+i(this).height()>i(a.nTable).height()-a.oScroll.iLoadGap)if(a.fnDisplayEnd()<a.fnRecordsDisplay()){ja(a,
+"next");E(a);C(a)}});a.nScrollHead=c;a.nScrollFoot=e;return b}function Ia(a){var b=a.nScrollHead.getElementsByTagName("div")[0],c=b.getElementsByTagName("table")[0],d=a.nTable.parentNode,f,e,h,j,k,m,t,q,I=[];h=a.nTable.getElementsByTagName("thead");h.length>0&&a.nTable.removeChild(h[0]);if(a.nTFoot!==null){k=a.nTable.getElementsByTagName("tfoot");k.length>0&&a.nTable.removeChild(k[0])}h=a.nTHead.cloneNode(true);a.nTable.insertBefore(h,a.nTable.childNodes[0]);if(a.nTFoot!==null){k=a.nTFoot.cloneNode(true);
+a.nTable.insertBefore(k,a.nTable.childNodes[1])}if(a.oScroll.sX===""){d.style.width="100%";b.parentNode.style.width="100%"}var O=S(a,h);f=0;for(e=O.length;f<e;f++){t=Ja(a,f);O[f].style.width=a.aoColumns[t].sWidth}a.nTFoot!==null&&P(function(B){B.style.width=""},k.getElementsByTagName("tr"));f=i(a.nTable).outerWidth();if(a.oScroll.sX===""){a.nTable.style.width="100%";if(i.browser.msie&&i.browser.version<=7)a.nTable.style.width=u(i(a.nTable).outerWidth()-a.oScroll.iBarWidth)}else if(a.oScroll.sXInner!==
+"")a.nTable.style.width=u(a.oScroll.sXInner);else if(f==i(d).width()&&i(d).height()<i(a.nTable).height()){a.nTable.style.width=u(f-a.oScroll.iBarWidth);if(i(a.nTable).outerWidth()>f-a.oScroll.iBarWidth)a.nTable.style.width=u(f)}else a.nTable.style.width=u(f);f=i(a.nTable).outerWidth();if(a.oScroll.sX===""){d.style.width=u(f+a.oScroll.iBarWidth);b.parentNode.style.width=u(f+a.oScroll.iBarWidth)}e=a.nTHead.getElementsByTagName("tr");h=h.getElementsByTagName("tr");P(function(B,F){m=B.style;m.paddingTop=
+"0";m.paddingBottom="0";m.borderTopWidth="0";m.borderBottomWidth="0";m.height=0;q=i(B).width();F.style.width=u(q);I.push(q)},h,e);i(h).height(0);if(a.nTFoot!==null){j=k.getElementsByTagName("tr");k=a.nTFoot.getElementsByTagName("tr");P(function(B,F){m=B.style;m.paddingTop="0";m.paddingBottom="0";m.borderTopWidth="0";m.borderBottomWidth="0";m.height=0;q=i(B).width();F.style.width=u(q);I.push(q)},j,k);i(j).height(0)}P(function(B){B.innerHTML="";B.style.width=u(I.shift())},h);a.nTFoot!==null&&P(function(B){B.innerHTML=
+"";B.style.width=u(I.shift())},j);if(i(a.nTable).outerWidth()<f)if(a.oScroll.sX==="")J(a,1,"The table cannot fit into the current element which will cause column misalignment. It is suggested that you enable x-scrolling or increase the width the table has in which to be drawn");else a.oScroll.sXInner!==""&&J(a,1,"The table cannot fit into the current element which will cause column misalignment. It is suggested that you increase the sScrollXInner property to allow it to draw in a larger area, or simply remove that parameter to allow automatic calculation");
+if(a.oScroll.sY==="")if(i.browser.msie&&i.browser.version<=7)d.style.height=u(a.nTable.offsetHeight+a.oScroll.iBarWidth);if(a.oScroll.sY!==""&&a.oScroll.bCollapse){d.style.height=u(a.oScroll.sY);j=a.oScroll.sX!==""&&a.nTable.offsetWidth>d.offsetWidth?a.oScroll.iBarWidth:0;if(a.nTable.offsetHeight<d.offsetHeight)d.style.height=u(i(a.nTable).height()+j)}j=i(a.nTable).outerWidth();c.style.width=u(j);b.style.width=u(j+a.oScroll.iBarWidth);if(a.nTFoot!==null){b=a.nScrollFoot.getElementsByTagName("div")[0];
+c=b.getElementsByTagName("table")[0];b.style.width=u(a.nTable.offsetWidth+a.oScroll.iBarWidth);c.style.width=u(a.nTable.offsetWidth)}if(a.bSorted||a.bFiltered)d.scrollTop=0}function ca(a){if(a.oFeatures.bAutoWidth===false)return false;ea(a);for(var b=0,c=a.aoColumns.length;b<c;b++)a.aoColumns[b].nTh.style.width=a.aoColumns[b].sWidth}function Da(a){var b=a.oLanguage.sSearch;b=b.indexOf("_INPUT_")!==-1?b.replace("_INPUT_",'<input type="text" />'):b===""?'<input type="text" />':b+' <input type="text" />';
+var c=p.createElement("div");c.className=a.oClasses.sFilter;c.innerHTML="<label>"+b+"</label>";a.sTableId!==""&&typeof a.aanFeatures.f=="undefined"&&c.setAttribute("id",a.sTableId+"_filter");b=i("input",c);b.val(a.oPreviousSearch.sSearch.replace('"',"&quot;"));b.bind("keyup.DT",function(){for(var d=a.aanFeatures.f,f=0,e=d.length;f<e;f++)d[f]!=this.parentNode&&i("input",d[f]).val(this.value);this.value!=a.oPreviousSearch.sSearch&&M(a,{sSearch:this.value,bRegex:a.oPreviousSearch.bRegex,bSmart:a.oPreviousSearch.bSmart})});
+b.bind("keypress.DT",function(d){if(d.keyCode==13)return false});return c}function M(a,b,c){Ka(a,b.sSearch,c,b.bRegex,b.bSmart);for(b=0;b<a.aoPreSearchCols.length;b++)La(a,a.aoPreSearchCols[b].sSearch,b,a.aoPreSearchCols[b].bRegex,a.aoPreSearchCols[b].bSmart);o.afnFiltering.length!==0&&Ma(a);a.bFiltered=true;a._iDisplayStart=0;E(a);C(a);ka(a,0)}function Ma(a){for(var b=o.afnFiltering,c=0,d=b.length;c<d;c++)for(var f=0,e=0,h=a.aiDisplay.length;e<h;e++){var j=a.aiDisplay[e-f];if(!b[c](a,da(a,j,"filter"),
+j)){a.aiDisplay.splice(e-f,1);f++}}}function La(a,b,c,d,f){if(b!==""){var e=0;b=la(b,d,f);for(d=a.aiDisplay.length-1;d>=0;d--){f=ma(H(a,a.aiDisplay[d],c,"filter"),a.aoColumns[c].sType);if(!b.test(f)){a.aiDisplay.splice(d,1);e++}}}}function Ka(a,b,c,d,f){var e=la(b,d,f);if(typeof c=="undefined"||c===null)c=0;if(o.afnFiltering.length!==0)c=1;if(b.length<=0){a.aiDisplay.splice(0,a.aiDisplay.length);a.aiDisplay=a.aiDisplayMaster.slice()}else if(a.aiDisplay.length==a.aiDisplayMaster.length||a.oPreviousSearch.sSearch.length>
+b.length||c==1||b.indexOf(a.oPreviousSearch.sSearch)!==0){a.aiDisplay.splice(0,a.aiDisplay.length);ka(a,1);for(c=0;c<a.aiDisplayMaster.length;c++)e.test(a.asDataSearch[c])&&a.aiDisplay.push(a.aiDisplayMaster[c])}else{var h=0;for(c=0;c<a.asDataSearch.length;c++)if(!e.test(a.asDataSearch[c])){a.aiDisplay.splice(c-h,1);h++}}a.oPreviousSearch.sSearch=b;a.oPreviousSearch.bRegex=d;a.oPreviousSearch.bSmart=f}function ka(a,b){a.asDataSearch.splice(0,a.asDataSearch.length);b=typeof b!="undefined"&&b==1?a.aiDisplayMaster:
+a.aiDisplay;for(var c=0,d=b.length;c<d;c++)a.asDataSearch[c]=na(a,da(a,b[c],"filter"))}function na(a,b){var c="";if(typeof a.__nTmpFilter=="undefined")a.__nTmpFilter=p.createElement("div");for(var d=a.__nTmpFilter,f=0,e=a.aoColumns.length;f<e;f++)if(a.aoColumns[f].bSearchable)c+=ma(b[f],a.aoColumns[f].sType)+"  ";if(c.indexOf("&")!==-1){d.innerHTML=c;c=d.textContent?d.textContent:d.innerText;c=c.replace(/\n/g," ").replace(/\r/g,"")}return c}function la(a,b,c){if(c){a=b?a.split(" "):oa(a).split(" ");
+a="^(?=.*?"+a.join(")(?=.*?")+").*$";return new RegExp(a,"i")}else{a=b?a:oa(a);return new RegExp(a,"i")}}function ma(a,b){if(typeof o.ofnSearch[b]=="function")return o.ofnSearch[b](a);else if(b=="html")return a.replace(/\n/g," ").replace(/<.*?>/g,"");else if(typeof a=="string")return a.replace(/\n/g," ");else if(a===null)return"";return a}function R(a,b){var c,d,f,e,h=[],j=[],k=o.oSort;d=a.aoData;var m=a.aoColumns;if(!a.oFeatures.bServerSide&&(a.aaSorting.length!==0||a.aaSortingFixed!==null)){h=a.aaSortingFixed!==
+null?a.aaSortingFixed.concat(a.aaSorting):a.aaSorting.slice();for(c=0;c<h.length;c++){var t=h[c][0];f=pa(a,t);e=a.aoColumns[t].sSortDataType;if(typeof o.afnSortData[e]!="undefined"){var q=o.afnSortData[e](a,t,f);f=0;for(e=d.length;f<e;f++)N(a,f,t,q[f])}}c=0;for(d=a.aiDisplayMaster.length;c<d;c++)j[a.aiDisplayMaster[c]]=c;var I=h.length;a.aiDisplayMaster.sort(function(O,B){var F,qa;for(c=0;c<I;c++){F=m[h[c][0]].iDataSort;qa=m[F].sType;F=k[(qa?qa:"string")+"-"+h[c][1]](H(a,O,F,"sort"),H(a,B,F,"sort"));
+if(F!==0)return F}return k["numeric-asc"](j[O],j[B])})}if((typeof b=="undefined"||b)&&!a.oFeatures.bDeferRender)T(a);a.bSorted=true;if(a.oFeatures.bFilter)M(a,a.oPreviousSearch,1);else{a.aiDisplay=a.aiDisplayMaster.slice();a._iDisplayStart=0;E(a);C(a)}}function ga(a,b,c,d){i(b).bind("click.DT",function(f){if(a.aoColumns[c].bSortable!==false){var e=function(){var h,j;if(f.shiftKey){for(var k=false,m=0;m<a.aaSorting.length;m++)if(a.aaSorting[m][0]==c){k=true;h=a.aaSorting[m][0];j=a.aaSorting[m][2]+
+1;if(typeof a.aoColumns[h].asSorting[j]=="undefined")a.aaSorting.splice(m,1);else{a.aaSorting[m][1]=a.aoColumns[h].asSorting[j];a.aaSorting[m][2]=j}break}k===false&&a.aaSorting.push([c,a.aoColumns[c].asSorting[0],0])}else if(a.aaSorting.length==1&&a.aaSorting[0][0]==c){h=a.aaSorting[0][0];j=a.aaSorting[0][2]+1;if(typeof a.aoColumns[h].asSorting[j]=="undefined")j=0;a.aaSorting[0][1]=a.aoColumns[h].asSorting[j];a.aaSorting[0][2]=j}else{a.aaSorting.splice(0,a.aaSorting.length);a.aaSorting.push([c,a.aoColumns[c].asSorting[0],
+0])}R(a)};if(a.oFeatures.bProcessing){K(a,true);setTimeout(function(){e();a.oFeatures.bServerSide||K(a,false)},0)}else e();typeof d=="function"&&d(a)}})}function T(a){var b,c,d,f,e,h=a.aoColumns.length,j=a.oClasses;for(b=0;b<h;b++)a.aoColumns[b].bSortable&&i(a.aoColumns[b].nTh).removeClass(j.sSortAsc+" "+j.sSortDesc+" "+a.aoColumns[b].sSortingClass);f=a.aaSortingFixed!==null?a.aaSortingFixed.concat(a.aaSorting):a.aaSorting.slice();for(b=0;b<a.aoColumns.length;b++)if(a.aoColumns[b].bSortable){e=a.aoColumns[b].sSortingClass;
+d=-1;for(c=0;c<f.length;c++)if(f[c][0]==b){e=f[c][1]=="asc"?j.sSortAsc:j.sSortDesc;d=c;break}i(a.aoColumns[b].nTh).addClass(e);if(a.bJUI){c=i("span",a.aoColumns[b].nTh);c.removeClass(j.sSortJUIAsc+" "+j.sSortJUIDesc+" "+j.sSortJUI+" "+j.sSortJUIAscAllowed+" "+j.sSortJUIDescAllowed);c.addClass(d==-1?a.aoColumns[b].sSortingClassJUI:f[d][1]=="asc"?j.sSortJUIAsc:j.sSortJUIDesc)}}else i(a.aoColumns[b].nTh).addClass(a.aoColumns[b].sSortingClass);e=j.sSortColumn;if(a.oFeatures.bSort&&a.oFeatures.bSortClasses){d=
+Q(a);if(a.oFeatures.bDeferRender)i(d).removeClass(e+"1 "+e+"2 "+e+"3");else if(d.length>=h)for(b=0;b<h;b++)if(d[b].className.indexOf(e+"1")!=-1){c=0;for(a=d.length/h;c<a;c++)d[h*c+b].className=i.trim(d[h*c+b].className.replace(e+"1",""))}else if(d[b].className.indexOf(e+"2")!=-1){c=0;for(a=d.length/h;c<a;c++)d[h*c+b].className=i.trim(d[h*c+b].className.replace(e+"2",""))}else if(d[b].className.indexOf(e+"3")!=-1){c=0;for(a=d.length/h;c<a;c++)d[h*c+b].className=i.trim(d[h*c+b].className.replace(" "+
+e+"3",""))}j=1;var k;for(b=0;b<f.length;b++){k=parseInt(f[b][0],10);c=0;for(a=d.length/h;c<a;c++)d[h*c+k].className+=" "+e+j;j<3&&j++}}}function Ha(a){if(a.oScroll.bInfinite)return null;var b=p.createElement("div");b.className=a.oClasses.sPaging+a.sPaginationType;o.oPagination[a.sPaginationType].fnInit(a,b,function(c){E(c);C(c)});typeof a.aanFeatures.p=="undefined"&&a.aoDrawCallback.push({fn:function(c){o.oPagination[c.sPaginationType].fnUpdate(c,function(d){E(d);C(d)})},sName:"pagination"});return b}
+function ja(a,b){var c=a._iDisplayStart;if(b=="first")a._iDisplayStart=0;else if(b=="previous"){a._iDisplayStart=a._iDisplayLength>=0?a._iDisplayStart-a._iDisplayLength:0;if(a._iDisplayStart<0)a._iDisplayStart=0}else if(b=="next")if(a._iDisplayLength>=0){if(a._iDisplayStart+a._iDisplayLength<a.fnRecordsDisplay())a._iDisplayStart+=a._iDisplayLength}else a._iDisplayStart=0;else if(b=="last")if(a._iDisplayLength>=0){b=parseInt((a.fnRecordsDisplay()-1)/a._iDisplayLength,10)+1;a._iDisplayStart=(b-1)*a._iDisplayLength}else a._iDisplayStart=
+0;else J(a,0,"Unknown paging action: "+b);return c!=a._iDisplayStart}function Ga(a){var b=p.createElement("div");b.className=a.oClasses.sInfo;if(typeof a.aanFeatures.i=="undefined"){a.aoDrawCallback.push({fn:Na,sName:"information"});a.sTableId!==""&&b.setAttribute("id",a.sTableId+"_info")}return b}function Na(a){if(!(!a.oFeatures.bInfo||a.aanFeatures.i.length===0)){var b=a._iDisplayStart+1,c=a.fnDisplayEnd(),d=a.fnRecordsTotal(),f=a.fnRecordsDisplay(),e=a.fnFormatNumber(b),h=a.fnFormatNumber(c),j=
+a.fnFormatNumber(d),k=a.fnFormatNumber(f);if(a.oScroll.bInfinite)e=a.fnFormatNumber(1);e=a.fnRecordsDisplay()===0&&a.fnRecordsDisplay()==a.fnRecordsTotal()?a.oLanguage.sInfoEmpty+a.oLanguage.sInfoPostFix:a.fnRecordsDisplay()===0?a.oLanguage.sInfoEmpty+" "+a.oLanguage.sInfoFiltered.replace("_MAX_",j)+a.oLanguage.sInfoPostFix:a.fnRecordsDisplay()==a.fnRecordsTotal()?a.oLanguage.sInfo.replace("_START_",e).replace("_END_",h).replace("_TOTAL_",k)+a.oLanguage.sInfoPostFix:a.oLanguage.sInfo.replace("_START_",
+e).replace("_END_",h).replace("_TOTAL_",k)+" "+a.oLanguage.sInfoFiltered.replace("_MAX_",a.fnFormatNumber(a.fnRecordsTotal()))+a.oLanguage.sInfoPostFix;if(a.oLanguage.fnInfoCallback!==null)e=a.oLanguage.fnInfoCallback(a,b,c,d,f,e);a=a.aanFeatures.i;b=0;for(c=a.length;b<c;b++)i(a[b]).html(e)}}function Ca(a){if(a.oScroll.bInfinite)return null;var b='<select size="1" '+(a.sTableId===""?"":'name="'+a.sTableId+'_length"')+">",c,d;if(a.aLengthMenu.length==2&&typeof a.aLengthMenu[0]=="object"&&typeof a.aLengthMenu[1]==
+"object"){c=0;for(d=a.aLengthMenu[0].length;c<d;c++)b+='<option value="'+a.aLengthMenu[0][c]+'">'+a.aLengthMenu[1][c]+"</option>"}else{c=0;for(d=a.aLengthMenu.length;c<d;c++)b+='<option value="'+a.aLengthMenu[c]+'">'+a.aLengthMenu[c]+"</option>"}b+="</select>";var f=p.createElement("div");a.sTableId!==""&&typeof a.aanFeatures.l=="undefined"&&f.setAttribute("id",a.sTableId+"_length");f.className=a.oClasses.sLength;f.innerHTML="<label>"+a.oLanguage.sLengthMenu.replace("_MENU_",b)+"</label>";i('select option[value="'+
+a._iDisplayLength+'"]',f).attr("selected",true);i("select",f).bind("change.DT",function(){var e=i(this).val(),h=a.aanFeatures.l;c=0;for(d=h.length;c<d;c++)h[c]!=this.parentNode&&i("select",h[c]).val(e);a._iDisplayLength=parseInt(e,10);E(a);if(a.fnDisplayEnd()==a.fnRecordsDisplay()){a._iDisplayStart=a.fnDisplayEnd()-a._iDisplayLength;if(a._iDisplayStart<0)a._iDisplayStart=0}if(a._iDisplayLength==-1)a._iDisplayStart=0;C(a)});return f}function Ea(a){var b=p.createElement("div");a.sTableId!==""&&typeof a.aanFeatures.r==
+"undefined"&&b.setAttribute("id",a.sTableId+"_processing");b.innerHTML=a.oLanguage.sProcessing;b.className=a.oClasses.sProcessing;a.nTable.parentNode.insertBefore(b,a.nTable);return b}function K(a,b){if(a.oFeatures.bProcessing){a=a.aanFeatures.r;for(var c=0,d=a.length;c<d;c++)a[c].style.visibility=b?"visible":"hidden"}}function Ja(a,b){for(var c=-1,d=0;d<a.aoColumns.length;d++){a.aoColumns[d].bVisible===true&&c++;if(c==b)return d}return null}function pa(a,b){for(var c=-1,d=0;d<a.aoColumns.length;d++){a.aoColumns[d].bVisible===
+true&&c++;if(d==b)return a.aoColumns[d].bVisible===true?c:null}return null}function U(a,b){var c,d;c=a._iDisplayStart;for(d=a._iDisplayEnd;c<d;c++)if(a.aoData[a.aiDisplay[c]].nTr==b)return a.aiDisplay[c];c=0;for(d=a.aoData.length;c<d;c++)if(a.aoData[c].nTr==b)return c;return null}function X(a){for(var b=0,c=0;c<a.aoColumns.length;c++)a.aoColumns[c].bVisible===true&&b++;return b}function E(a){a._iDisplayEnd=a.oFeatures.bPaginate===false?a.aiDisplay.length:a._iDisplayStart+a._iDisplayLength>a.aiDisplay.length||
+a._iDisplayLength==-1?a.aiDisplay.length:a._iDisplayStart+a._iDisplayLength}function Oa(a,b){if(!a||a===null||a==="")return 0;if(typeof b=="undefined")b=p.getElementsByTagName("body")[0];var c=p.createElement("div");c.style.width=u(a);b.appendChild(c);a=c.offsetWidth;b.removeChild(c);return a}function ea(a){var b=0,c,d=0,f=a.aoColumns.length,e,h=i("th",a.nTHead);for(e=0;e<f;e++)if(a.aoColumns[e].bVisible){d++;if(a.aoColumns[e].sWidth!==null){c=Oa(a.aoColumns[e].sWidthOrig,a.nTable.parentNode);if(c!==
+null)a.aoColumns[e].sWidth=u(c);b++}}if(f==h.length&&b===0&&d==f&&a.oScroll.sX===""&&a.oScroll.sY==="")for(e=0;e<a.aoColumns.length;e++){c=i(h[e]).width();if(c!==null)a.aoColumns[e].sWidth=u(c)}else{b=a.nTable.cloneNode(false);e=a.nTHead.cloneNode(true);d=p.createElement("tbody");c=p.createElement("tr");b.removeAttribute("id");b.appendChild(e);if(a.nTFoot!==null){b.appendChild(a.nTFoot.cloneNode(true));P(function(k){k.style.width=""},b.getElementsByTagName("tr"))}b.appendChild(d);d.appendChild(c);
+d=i("thead th",b);if(d.length===0)d=i("tbody tr:eq(0)>td",b);h=S(a,e);for(e=d=0;e<f;e++){var j=a.aoColumns[e];if(j.bVisible&&j.sWidthOrig!==null&&j.sWidthOrig!=="")h[e-d].style.width=u(j.sWidthOrig);else if(j.bVisible)h[e-d].style.width="";else d++}for(e=0;e<f;e++)if(a.aoColumns[e].bVisible){d=Pa(a,e);if(d!==null){d=d.cloneNode(true);if(a.aoColumns[e].sContentPadding!=="")d.innerHTML+=a.aoColumns[e].sContentPadding;c.appendChild(d)}}f=a.nTable.parentNode;f.appendChild(b);if(a.oScroll.sX!==""&&a.oScroll.sXInner!==
+"")b.style.width=u(a.oScroll.sXInner);else if(a.oScroll.sX!==""){b.style.width="";if(i(b).width()<f.offsetWidth)b.style.width=u(f.offsetWidth)}else if(a.oScroll.sY!=="")b.style.width=u(f.offsetWidth);b.style.visibility="hidden";Qa(a,b);f=i("tbody tr:eq(0)",b).children();if(f.length===0)f=S(a,i("thead",b)[0]);if(a.oScroll.sX!==""){for(e=d=c=0;e<a.aoColumns.length;e++)if(a.aoColumns[e].bVisible){c+=a.aoColumns[e].sWidthOrig===null?i(f[d]).outerWidth():parseInt(a.aoColumns[e].sWidth.replace("px",""),
+10)+(i(f[d]).outerWidth()-i(f[d]).width());d++}b.style.width=u(c);a.nTable.style.width=u(c)}for(e=d=0;e<a.aoColumns.length;e++)if(a.aoColumns[e].bVisible){c=i(f[d]).width();if(c!==null&&c>0)a.aoColumns[e].sWidth=u(c);d++}a.nTable.style.width=u(i(b).outerWidth());b.parentNode.removeChild(b)}}function Qa(a,b){if(a.oScroll.sX===""&&a.oScroll.sY!==""){i(b).width();b.style.width=u(i(b).outerWidth()-a.oScroll.iBarWidth)}else if(a.oScroll.sX!=="")b.style.width=u(i(b).outerWidth())}function Pa(a,b){var c=
+Ra(a,b);if(c<0)return null;if(a.aoData[c].nTr===null){var d=p.createElement("td");d.innerHTML=H(a,c,b,"");return d}return Q(a,c)[b]}function Ra(a,b){for(var c=-1,d=-1,f=0;f<a.aoData.length;f++){var e=H(a,f,b,"display")+"";e=e.replace(/<.*?>/g,"");if(e.length>c){c=e.length;d=f}}return d}function u(a){if(a===null)return"0px";if(typeof a=="number"){if(a<0)return"0px";return a+"px"}var b=a.charCodeAt(a.length-1);if(b<48||b>57)return a;return a+"px"}function Va(a,b){if(a.length!=b.length)return 1;for(var c=
+0;c<a.length;c++)if(a[c]!=b[c])return 2;return 0}function fa(a){for(var b=o.aTypes,c=b.length,d=0;d<c;d++){var f=b[d](a);if(f!==null)return f}return"string"}function A(a){for(var b=0;b<D.length;b++)if(D[b].nTable==a)return D[b];return null}function aa(a){for(var b=[],c=a.aoData.length,d=0;d<c;d++)b.push(a.aoData[d]._aData);return b}function $(a){for(var b=[],c=0,d=a.aoData.length;c<d;c++)a.aoData[c].nTr!==null&&b.push(a.aoData[c].nTr);return b}function Q(a,b){var c=[],d,f,e,h,j;f=0;var k=a.aoData.length;
+if(typeof b!="undefined"){f=b;k=b+1}for(f=f;f<k;f++){j=a.aoData[f];if(j.nTr!==null){b=[];e=0;for(h=j.nTr.childNodes.length;e<h;e++){d=j.nTr.childNodes[e].nodeName.toLowerCase();if(d=="td"||d=="th")b.push(j.nTr.childNodes[e])}e=d=0;for(h=a.aoColumns.length;e<h;e++)if(a.aoColumns[e].bVisible)c.push(b[e-d]);else{c.push(j._anHidden[e]);d++}}}return c}function oa(a){return a.replace(new RegExp("(\\/|\\.|\\*|\\+|\\?|\\||\\(|\\)|\\[|\\]|\\{|\\}|\\\\|\\$|\\^)","g"),"\\$1")}function ra(a,b){for(var c=-1,d=
+0,f=a.length;d<f;d++)if(a[d]==b)c=d;else a[d]>b&&a[d]--;c!=-1&&a.splice(c,1)}function Ba(a,b){b=b.split(",");for(var c=[],d=0,f=a.aoColumns.length;d<f;d++)for(var e=0;e<f;e++)if(a.aoColumns[d].sName==b[e]){c.push(e);break}return c}function ha(a){for(var b="",c=0,d=a.aoColumns.length;c<d;c++)b+=a.aoColumns[c].sName+",";if(b.length==d)return"";return b.slice(0,-1)}function J(a,b,c){a=a.sTableId===""?"DataTables warning: "+c:"DataTables warning (table id = '"+a.sTableId+"'): "+c;if(b===0)if(o.sErrMode==
+"alert")alert(a);else throw a;else typeof console!="undefined"&&typeof console.log!="undefined"&&console.log(a)}function ia(a){a.aoData.splice(0,a.aoData.length);a.aiDisplayMaster.splice(0,a.aiDisplayMaster.length);a.aiDisplay.splice(0,a.aiDisplay.length);E(a)}function sa(a){if(!(!a.oFeatures.bStateSave||typeof a.bDestroying!="undefined")){var b,c,d,f="{";f+='"iCreate":'+(new Date).getTime()+",";f+='"iStart":'+(a.oScroll.bInfinite?0:a._iDisplayStart)+",";f+='"iEnd":'+(a.oScroll.bInfinite?a._iDisplayLength:
+a._iDisplayEnd)+",";f+='"iLength":'+a._iDisplayLength+",";f+='"sFilter":"'+encodeURIComponent(a.oPreviousSearch.sSearch)+'",';f+='"sFilterEsc":'+!a.oPreviousSearch.bRegex+",";f+='"aaSorting":[ ';for(b=0;b<a.aaSorting.length;b++)f+="["+a.aaSorting[b][0]+',"'+a.aaSorting[b][1]+'"],';f=f.substring(0,f.length-1);f+="],";f+='"aaSearchCols":[ ';for(b=0;b<a.aoPreSearchCols.length;b++)f+='["'+encodeURIComponent(a.aoPreSearchCols[b].sSearch)+'",'+!a.aoPreSearchCols[b].bRegex+"],";f=f.substring(0,f.length-
+1);f+="],";f+='"abVisCols":[ ';for(b=0;b<a.aoColumns.length;b++)f+=a.aoColumns[b].bVisible+",";f=f.substring(0,f.length-1);f+="]";b=0;for(c=a.aoStateSave.length;b<c;b++){d=a.aoStateSave[b].fn(a,f);if(d!=="")f=d}f+="}";Sa(a.sCookiePrefix+a.sInstance,f,a.iCookieDuration,a.sCookiePrefix,a.fnCookieCallback)}}function Ta(a,b){if(a.oFeatures.bStateSave){var c,d,f;d=ta(a.sCookiePrefix+a.sInstance);if(d!==null&&d!==""){try{c=typeof i.parseJSON=="function"?i.parseJSON(d.replace(/'/g,'"')):eval("("+d+")")}catch(e){return}d=
+0;for(f=a.aoStateLoad.length;d<f;d++)if(!a.aoStateLoad[d].fn(a,c))return;a.oLoadedState=i.extend(true,{},c);a._iDisplayStart=c.iStart;a.iInitDisplayStart=c.iStart;a._iDisplayEnd=c.iEnd;a._iDisplayLength=c.iLength;a.oPreviousSearch.sSearch=decodeURIComponent(c.sFilter);a.aaSorting=c.aaSorting.slice();a.saved_aaSorting=c.aaSorting.slice();if(typeof c.sFilterEsc!="undefined")a.oPreviousSearch.bRegex=!c.sFilterEsc;if(typeof c.aaSearchCols!="undefined")for(d=0;d<c.aaSearchCols.length;d++)a.aoPreSearchCols[d]=
+{sSearch:decodeURIComponent(c.aaSearchCols[d][0]),bRegex:!c.aaSearchCols[d][1]};if(typeof c.abVisCols!="undefined"){b.saved_aoColumns=[];for(d=0;d<c.abVisCols.length;d++){b.saved_aoColumns[d]={};b.saved_aoColumns[d].bVisible=c.abVisCols[d]}}}}}function Sa(a,b,c,d,f){var e=new Date;e.setTime(e.getTime()+c*1E3);c=wa.location.pathname.split("/");a=a+"_"+c.pop().replace(/[\/:]/g,"").toLowerCase();var h;if(f!==null){h=typeof i.parseJSON=="function"?i.parseJSON(b):eval("("+b+")");b=f(a,h,e.toGMTString(),
+c.join("/")+"/")}else b=a+"="+encodeURIComponent(b)+"; expires="+e.toGMTString()+"; path="+c.join("/")+"/";f="";e=9999999999999;if((ta(a)!==null?p.cookie.length:b.length+p.cookie.length)+10>4096){a=p.cookie.split(";");for(var j=0,k=a.length;j<k;j++)if(a[j].indexOf(d)!=-1){var m=a[j].split("=");try{h=eval("("+decodeURIComponent(m[1])+")")}catch(t){continue}if(typeof h.iCreate!="undefined"&&h.iCreate<e){f=m[0];e=h.iCreate}}if(f!=="")p.cookie=f+"=; expires=Thu, 01-Jan-1970 00:00:01 GMT; path="+c.join("/")+
+"/"}p.cookie=b}function ta(a){var b=wa.location.pathname.split("/");a=a+"_"+b[b.length-1].replace(/[\/:]/g,"").toLowerCase()+"=";b=p.cookie.split(";");for(var c=0;c<b.length;c++){for(var d=b[c];d.charAt(0)==" ";)d=d.substring(1,d.length);if(d.indexOf(a)===0)return decodeURIComponent(d.substring(a.length,d.length))}return null}function W(a,b){b=b.getElementsByTagName("tr");var c,d,f,e,h,j,k,m,t=function(O,B,F){for(;typeof O[B][F]!="undefined";)F++;return F};a.splice(0,a.length);d=0;for(j=b.length;d<
+j;d++)a.push([]);d=0;for(j=b.length;d<j;d++){f=0;for(k=b[d].childNodes.length;f<k;f++){c=b[d].childNodes[f];if(c.nodeName.toUpperCase()=="TD"||c.nodeName.toUpperCase()=="TH"){var q=c.getAttribute("colspan")*1,I=c.getAttribute("rowspan")*1;q=!q||q===0||q===1?1:q;I=!I||I===0||I===1?1:I;m=t(a,d,0);for(h=0;h<q;h++)for(e=0;e<I;e++){a[d+e][m+h]={cell:c,unique:q==1?true:false};a[d+e].nTr=b[d]}}}}}function S(a,b,c){var d=[];if(typeof c=="undefined"){c=a.aoHeader;if(typeof b!="undefined"){c=[];W(c,b)}}b=0;
+for(var f=c.length;b<f;b++)for(var e=0,h=c[b].length;e<h;e++)if(c[b][e].unique&&(typeof d[e]=="undefined"||!a.bSortCellsTop))d[e]=c[b][e].cell;return d}function Ua(){var a=p.createElement("p"),b=a.style;b.width="100%";b.height="200px";var c=p.createElement("div");b=c.style;b.position="absolute";b.top="0px";b.left="0px";b.visibility="hidden";b.width="200px";b.height="150px";b.overflow="hidden";c.appendChild(a);p.body.appendChild(c);b=a.offsetWidth;c.style.overflow="scroll";a=a.offsetWidth;if(b==a)a=
+c.clientWidth;p.body.removeChild(c);return b-a}function P(a,b,c){for(var d=0,f=b.length;d<f;d++)for(var e=0,h=b[d].childNodes.length;e<h;e++)if(b[d].childNodes[e].nodeType==1)typeof c!="undefined"?a(b[d].childNodes[e],c[d].childNodes[e]):a(b[d].childNodes[e])}function n(a,b,c,d){if(typeof d=="undefined")d=c;if(typeof b[c]!="undefined")a[d]=b[c]}function da(a,b,c){for(var d=[],f=0,e=a.aoColumns.length;f<e;f++)d.push(H(a,b,f,c));return d}function H(a,b,c,d){var f=a.aoColumns[c];if((c=f.fnGetData(a.aoData[b]._aData))===
+undefined){if(a.iDrawError!=a.iDraw&&f.sDefaultContent===null){J(a,0,"Requested unknown parameter '"+f.mDataProp+"' from the data source for row "+b);a.iDrawError=a.iDraw}return f.sDefaultContent}if(c===null&&f.sDefaultContent!==null)c=f.sDefaultContent;if(d=="display"&&c===null)return"";return c}function N(a,b,c,d){a.aoColumns[c].fnSetData(a.aoData[b]._aData,d)}function Z(a){if(a===null)return function(){return null};else if(typeof a=="function")return function(c){return a(c)};else if(typeof a==
+"string"&&a.indexOf(".")!=-1){var b=a.split(".");return b.length==2?function(c){return c[b[0]][b[1]]}:b.length==3?function(c){return c[b[0]][b[1]][b[2]]}:function(c){for(var d=0,f=b.length;d<f;d++)c=c[b[d]];return c}}else return function(c){return c[a]}}function ya(a){if(a===null)return function(){};else if(typeof a=="function")return function(c,d){return a(c,d)};else if(typeof a=="string"&&a.indexOf(".")!=-1){var b=a.split(".");return b.length==2?function(c,d){c[b[0]][b[1]]=d}:b.length==3?function(c,
+d){c[b[0]][b[1]][b[2]]=d}:function(c,d){for(var f=0,e=b.length-1;f<e;f++)c=c[b[f]];c[b[b.length-1]]=d}}else return function(c,d){c[a]=d}}this.oApi={};this.fnDraw=function(a){var b=A(this[o.iApiIndex]);if(typeof a!="undefined"&&a===false){E(b);C(b)}else ba(b)};this.fnFilter=function(a,b,c,d,f){var e=A(this[o.iApiIndex]);if(e.oFeatures.bFilter){if(typeof c=="undefined")c=false;if(typeof d=="undefined")d=true;if(typeof f=="undefined")f=true;if(typeof b=="undefined"||b===null){M(e,{sSearch:a,bRegex:c,
+bSmart:d},1);if(f&&typeof e.aanFeatures.f!="undefined"){b=e.aanFeatures.f;c=0;for(d=b.length;c<d;c++)i("input",b[c]).val(a)}}else{e.aoPreSearchCols[b].sSearch=a;e.aoPreSearchCols[b].bRegex=c;e.aoPreSearchCols[b].bSmart=d;M(e,e.oPreviousSearch,1)}}};this.fnSettings=function(){return A(this[o.iApiIndex])};this.fnVersionCheck=o.fnVersionCheck;this.fnSort=function(a){var b=A(this[o.iApiIndex]);b.aaSorting=a;R(b)};this.fnSortListener=function(a,b,c){ga(A(this[o.iApiIndex]),a,b,c)};this.fnAddData=function(a,
+b){if(a.length===0)return[];var c=[],d,f=A(this[o.iApiIndex]);if(typeof a[0]=="object")for(var e=0;e<a.length;e++){d=v(f,a[e]);if(d==-1)return c;c.push(d)}else{d=v(f,a);if(d==-1)return c;c.push(d)}f.aiDisplay=f.aiDisplayMaster.slice();if(typeof b=="undefined"||b)ba(f);return c};this.fnDeleteRow=function(a,b,c){var d=A(this[o.iApiIndex]);a=typeof a=="object"?U(d,a):a;var f=d.aoData.splice(a,1),e=i.inArray(a,d.aiDisplay);d.asDataSearch.splice(e,1);ra(d.aiDisplayMaster,a);ra(d.aiDisplay,a);typeof b==
+"function"&&b.call(this,d,f);if(d._iDisplayStart>=d.aiDisplay.length){d._iDisplayStart-=d._iDisplayLength;if(d._iDisplayStart<0)d._iDisplayStart=0}if(typeof c=="undefined"||c){E(d);C(d)}return f};this.fnClearTable=function(a){var b=A(this[o.iApiIndex]);ia(b);if(typeof a=="undefined"||a)C(b)};this.fnOpen=function(a,b,c){var d=A(this[o.iApiIndex]);this.fnClose(a);var f=p.createElement("tr"),e=p.createElement("td");f.appendChild(e);e.className=c;e.colSpan=X(d);if(typeof b.jquery!="undefined"||typeof b==
+"object")e.appendChild(b);else e.innerHTML=b;b=i("tr",d.nTBody);i.inArray(a,b)!=-1&&i(f).insertAfter(a);d.aoOpenRows.push({nTr:f,nParent:a});return f};this.fnClose=function(a){for(var b=A(this[o.iApiIndex]),c=0;c<b.aoOpenRows.length;c++)if(b.aoOpenRows[c].nParent==a){(a=b.aoOpenRows[c].nTr.parentNode)&&a.removeChild(b.aoOpenRows[c].nTr);b.aoOpenRows.splice(c,1);return 0}return 1};this.fnGetData=function(a,b){var c=A(this[o.iApiIndex]);if(typeof a!="undefined"){a=typeof a=="object"?U(c,a):a;if(typeof b!=
+"undefined")return H(c,a,b,"");return typeof c.aoData[a]!="undefined"?c.aoData[a]._aData:null}return aa(c)};this.fnGetNodes=function(a){var b=A(this[o.iApiIndex]);if(typeof a!="undefined")return typeof b.aoData[a]!="undefined"?b.aoData[a].nTr:null;return $(b)};this.fnGetPosition=function(a){var b=A(this[o.iApiIndex]),c=a.nodeName.toUpperCase();if(c=="TR")return U(b,a);else if(c=="TD"||c=="TH"){c=U(b,a.parentNode);for(var d=Q(b,c),f=0;f<b.aoColumns.length;f++)if(d[f]==a)return[c,pa(b,f),f]}return null};
+this.fnUpdate=function(a,b,c,d,f){var e=A(this[o.iApiIndex]);b=typeof b=="object"?U(e,b):b;if(i.isArray(a)&&typeof a=="object"){e.aoData[b]._aData=a.slice();for(c=0;c<e.aoColumns.length;c++)this.fnUpdate(H(e,b,c),b,c,false,false)}else if(typeof a=="object"){e.aoData[b]._aData=i.extend(true,{},a);for(c=0;c<e.aoColumns.length;c++)this.fnUpdate(H(e,b,c),b,c,false,false)}else{a=a;N(e,b,c,a);if(e.aoColumns[c].fnRender!==null){a=e.aoColumns[c].fnRender({iDataRow:b,iDataColumn:c,aData:e.aoData[b]._aData,
+oSettings:e});e.aoColumns[c].bUseRendered&&N(e,b,c,a)}if(e.aoData[b].nTr!==null)Q(e,b)[c].innerHTML=a}c=i.inArray(b,e.aiDisplay);e.asDataSearch[c]=na(e,da(e,b,"filter"));if(typeof f=="undefined"||f)ca(e);if(typeof d=="undefined"||d)ba(e);return 0};this.fnSetColumnVis=function(a,b,c){var d=A(this[o.iApiIndex]),f,e;e=d.aoColumns.length;var h,j;if(d.aoColumns[a].bVisible!=b){if(b){for(f=j=0;f<a;f++)d.aoColumns[f].bVisible&&j++;j=j>=X(d);if(!j)for(f=a;f<e;f++)if(d.aoColumns[f].bVisible){h=f;break}f=0;
+for(e=d.aoData.length;f<e;f++)if(d.aoData[f].nTr!==null)j?d.aoData[f].nTr.appendChild(d.aoData[f]._anHidden[a]):d.aoData[f].nTr.insertBefore(d.aoData[f]._anHidden[a],Q(d,f)[h])}else{f=0;for(e=d.aoData.length;f<e;f++)if(d.aoData[f].nTr!==null){h=Q(d,f)[a];d.aoData[f]._anHidden[a]=h;h.parentNode.removeChild(h)}}d.aoColumns[a].bVisible=b;L(d,d.aoHeader);d.nTFoot&&L(d,d.aoFooter);f=0;for(e=d.aoOpenRows.length;f<e;f++)d.aoOpenRows[f].nTr.colSpan=X(d);if(typeof c=="undefined"||c){ca(d);C(d)}sa(d)}};this.fnPageChange=
+function(a,b){var c=A(this[o.iApiIndex]);ja(c,a);E(c);if(typeof b=="undefined"||b)C(c)};this.fnDestroy=function(){var a=A(this[o.iApiIndex]),b=a.nTableWrapper.parentNode,c=a.nTBody,d,f;a.bDestroying=true;d=0;for(f=a.aoColumns.length;d<f;d++)a.aoColumns[d].bVisible===false&&this.fnSetColumnVis(d,true);i(a.nTableWrapper).find("*").andSelf().unbind(".DT");i("tbody>tr>td."+a.oClasses.sRowEmpty,a.nTable).parent().remove();if(a.nTable!=a.nTHead.parentNode){i(">thead",a.nTable).remove();a.nTable.appendChild(a.nTHead)}if(a.nTFoot&&
+a.nTable!=a.nTFoot.parentNode){i(">tfoot",a.nTable).remove();a.nTable.appendChild(a.nTFoot)}a.nTable.parentNode.removeChild(a.nTable);i(a.nTableWrapper).remove();a.aaSorting=[];a.aaSortingFixed=[];T(a);i($(a)).removeClass(a.asStripClasses.join(" "));if(a.bJUI){i("th",a.nTHead).removeClass([o.oStdClasses.sSortable,o.oJUIClasses.sSortableAsc,o.oJUIClasses.sSortableDesc,o.oJUIClasses.sSortableNone].join(" "));i("th span."+o.oJUIClasses.sSortIcon,a.nTHead).remove();i("th",a.nTHead).each(function(){var e=
+i("div."+o.oJUIClasses.sSortJUIWrapper,this),h=e.contents();i(this).append(h);e.remove()})}else i("th",a.nTHead).removeClass([o.oStdClasses.sSortable,o.oStdClasses.sSortableAsc,o.oStdClasses.sSortableDesc,o.oStdClasses.sSortableNone].join(" "));a.nTableReinsertBefore?b.insertBefore(a.nTable,a.nTableReinsertBefore):b.appendChild(a.nTable);d=0;for(f=a.aoData.length;d<f;d++)a.aoData[d].nTr!==null&&c.appendChild(a.aoData[d].nTr);if(a.oFeatures.bAutoWidth===true)a.nTable.style.width=u(a.sDestroyWidth);
+i(">tr:even",c).addClass(a.asDestoryStrips[0]);i(">tr:odd",c).addClass(a.asDestoryStrips[1]);d=0;for(f=D.length;d<f;d++)D[d]==a&&D.splice(d,1);a=null};this.fnAdjustColumnSizing=function(a){var b=A(this[o.iApiIndex]);ca(b);if(typeof a=="undefined"||a)this.fnDraw(false);else if(b.oScroll.sX!==""||b.oScroll.sY!=="")this.oApi._fnScrollDraw(b)};for(var ua in o.oApi)if(ua)this[ua]=r(ua);this.oApi._fnExternApiFunc=r;this.oApi._fnInitalise=s;this.oApi._fnInitComplete=w;this.oApi._fnLanguageProcess=y;this.oApi._fnAddColumn=
+G;this.oApi._fnColumnOptions=x;this.oApi._fnAddData=v;this.oApi._fnCreateTr=z;this.oApi._fnGatherData=Y;this.oApi._fnBuildHead=V;this.oApi._fnDrawHead=L;this.oApi._fnDraw=C;this.oApi._fnReDraw=ba;this.oApi._fnAjaxUpdate=za;this.oApi._fnAjaxUpdateDraw=Aa;this.oApi._fnAddOptionsHtml=xa;this.oApi._fnFeatureHtmlTable=Fa;this.oApi._fnScrollDraw=Ia;this.oApi._fnAjustColumnSizing=ca;this.oApi._fnFeatureHtmlFilter=Da;this.oApi._fnFilterComplete=M;this.oApi._fnFilterCustom=Ma;this.oApi._fnFilterColumn=La;
+this.oApi._fnFilter=Ka;this.oApi._fnBuildSearchArray=ka;this.oApi._fnBuildSearchRow=na;this.oApi._fnFilterCreateSearch=la;this.oApi._fnDataToSearch=ma;this.oApi._fnSort=R;this.oApi._fnSortAttachListener=ga;this.oApi._fnSortingClasses=T;this.oApi._fnFeatureHtmlPaginate=Ha;this.oApi._fnPageChange=ja;this.oApi._fnFeatureHtmlInfo=Ga;this.oApi._fnUpdateInfo=Na;this.oApi._fnFeatureHtmlLength=Ca;this.oApi._fnFeatureHtmlProcessing=Ea;this.oApi._fnProcessingDisplay=K;this.oApi._fnVisibleToColumnIndex=Ja;this.oApi._fnColumnIndexToVisible=
+pa;this.oApi._fnNodeToDataIndex=U;this.oApi._fnVisbleColumns=X;this.oApi._fnCalculateEnd=E;this.oApi._fnConvertToWidth=Oa;this.oApi._fnCalculateColumnWidths=ea;this.oApi._fnScrollingWidthAdjust=Qa;this.oApi._fnGetWidestNode=Pa;this.oApi._fnGetMaxLenString=Ra;this.oApi._fnStringToCss=u;this.oApi._fnArrayCmp=Va;this.oApi._fnDetectType=fa;this.oApi._fnSettingsFromNode=A;this.oApi._fnGetDataMaster=aa;this.oApi._fnGetTrNodes=$;this.oApi._fnGetTdNodes=Q;this.oApi._fnEscapeRegex=oa;this.oApi._fnDeleteIndex=
+ra;this.oApi._fnReOrderIndex=Ba;this.oApi._fnColumnOrdering=ha;this.oApi._fnLog=J;this.oApi._fnClearTable=ia;this.oApi._fnSaveState=sa;this.oApi._fnLoadState=Ta;this.oApi._fnCreateCookie=Sa;this.oApi._fnReadCookie=ta;this.oApi._fnDetectHeader=W;this.oApi._fnGetUniqueThs=S;this.oApi._fnScrollBarWidth=Ua;this.oApi._fnApplyToChildren=P;this.oApi._fnMap=n;this.oApi._fnGetRowData=da;this.oApi._fnGetCellData=H;this.oApi._fnSetCellData=N;this.oApi._fnGetObjectDataFn=Z;this.oApi._fnSetObjectDataFn=ya;var va=
+this;return this.each(function(){var a=0,b,c,d,f;a=0;for(b=D.length;a<b;a++){if(D[a].nTable==this)if(typeof g=="undefined"||typeof g.bRetrieve!="undefined"&&g.bRetrieve===true)return D[a].oInstance;else if(typeof g.bDestroy!="undefined"&&g.bDestroy===true){D[a].oInstance.fnDestroy();break}else{J(D[a],0,"Cannot reinitialise DataTable.\n\nTo retrieve the DataTables object for this table, please pass either no arguments to the dataTable() function, or set bRetrieve to true. Alternatively, to destory the old table and create a new one, set bDestroy to true (note that a lot of changes to the configuration can be made through the API which is usually much faster).");
+return}if(D[a].sTableId!==""&&D[a].sTableId==this.getAttribute("id")){D.splice(a,1);break}}var e=new l;D.push(e);var h=false,j=false;a=this.getAttribute("id");if(a!==null){e.sTableId=a;e.sInstance=a}else e.sInstance=o._oExternConfig.iNextUnique++;if(this.nodeName.toLowerCase()!="table")J(e,0,"Attempted to initialise DataTables on a node which is not a table: "+this.nodeName);else{e.nTable=this;e.oInstance=va.length==1?va:i(this).dataTable();e.oApi=va.oApi;e.sDestroyWidth=i(this).width();if(typeof g!=
+"undefined"&&g!==null){e.oInit=g;n(e.oFeatures,g,"bPaginate");n(e.oFeatures,g,"bLengthChange");n(e.oFeatures,g,"bFilter");n(e.oFeatures,g,"bSort");n(e.oFeatures,g,"bInfo");n(e.oFeatures,g,"bProcessing");n(e.oFeatures,g,"bAutoWidth");n(e.oFeatures,g,"bSortClasses");n(e.oFeatures,g,"bServerSide");n(e.oFeatures,g,"bDeferRender");n(e.oScroll,g,"sScrollX","sX");n(e.oScroll,g,"sScrollXInner","sXInner");n(e.oScroll,g,"sScrollY","sY");n(e.oScroll,g,"bScrollCollapse","bCollapse");n(e.oScroll,g,"bScrollInfinite",
+"bInfinite");n(e.oScroll,g,"iScrollLoadGap","iLoadGap");n(e.oScroll,g,"bScrollAutoCss","bAutoCss");n(e,g,"asStripClasses");n(e,g,"fnPreDrawCallback");n(e,g,"fnRowCallback");n(e,g,"fnHeaderCallback");n(e,g,"fnFooterCallback");n(e,g,"fnCookieCallback");n(e,g,"fnInitComplete");n(e,g,"fnServerData");n(e,g,"fnFormatNumber");n(e,g,"aaSorting");n(e,g,"aaSortingFixed");n(e,g,"aLengthMenu");n(e,g,"sPaginationType");n(e,g,"sAjaxSource");n(e,g,"sAjaxDataProp");n(e,g,"iCookieDuration");n(e,g,"sCookiePrefix");
+n(e,g,"sDom");n(e,g,"bSortCellsTop");n(e,g,"oSearch","oPreviousSearch");n(e,g,"aoSearchCols","aoPreSearchCols");n(e,g,"iDisplayLength","_iDisplayLength");n(e,g,"bJQueryUI","bJUI");n(e.oLanguage,g,"fnInfoCallback");typeof g.fnDrawCallback=="function"&&e.aoDrawCallback.push({fn:g.fnDrawCallback,sName:"user"});typeof g.fnStateSaveCallback=="function"&&e.aoStateSave.push({fn:g.fnStateSaveCallback,sName:"user"});typeof g.fnStateLoadCallback=="function"&&e.aoStateLoad.push({fn:g.fnStateLoadCallback,sName:"user"});
+if(e.oFeatures.bServerSide&&e.oFeatures.bSort&&e.oFeatures.bSortClasses)e.aoDrawCallback.push({fn:T,sName:"server_side_sort_classes"});else e.oFeatures.bDeferRender&&e.aoDrawCallback.push({fn:T,sName:"defer_sort_classes"});if(typeof g.bJQueryUI!="undefined"&&g.bJQueryUI){e.oClasses=o.oJUIClasses;if(typeof g.sDom=="undefined")e.sDom='<"H"lfr>t<"F"ip>'}if(e.oScroll.sX!==""||e.oScroll.sY!=="")e.oScroll.iBarWidth=Ua();if(typeof g.iDisplayStart!="undefined"&&typeof e.iInitDisplayStart=="undefined"){e.iInitDisplayStart=
+g.iDisplayStart;e._iDisplayStart=g.iDisplayStart}if(typeof g.bStateSave!="undefined"){e.oFeatures.bStateSave=g.bStateSave;Ta(e,g);e.aoDrawCallback.push({fn:sa,sName:"state_save"})}if(typeof g.iDeferLoading!="undefined"){e.bDeferLoading=true;e._iRecordsTotal=g.iDeferLoading;e._iRecordsDisplay=g.iDeferLoading}if(typeof g.aaData!="undefined")j=true;if(typeof g!="undefined"&&typeof g.aoData!="undefined")g.aoColumns=g.aoData;if(typeof g.oLanguage!="undefined")if(typeof g.oLanguage.sUrl!="undefined"&&g.oLanguage.sUrl!==
+""){e.oLanguage.sUrl=g.oLanguage.sUrl;i.getJSON(e.oLanguage.sUrl,null,function(t){y(e,t,true)});h=true}else y(e,g.oLanguage,false)}else g={};if(typeof g.asStripClasses=="undefined"){e.asStripClasses.push(e.oClasses.sStripOdd);e.asStripClasses.push(e.oClasses.sStripEven)}c=false;d=i(">tbody>tr",this);a=0;for(b=e.asStripClasses.length;a<b;a++)if(d.filter(":lt(2)").hasClass(e.asStripClasses[a])){c=true;break}if(c){e.asDestoryStrips=["",""];if(i(d[0]).hasClass(e.oClasses.sStripOdd))e.asDestoryStrips[0]+=
+e.oClasses.sStripOdd+" ";if(i(d[0]).hasClass(e.oClasses.sStripEven))e.asDestoryStrips[0]+=e.oClasses.sStripEven;if(i(d[1]).hasClass(e.oClasses.sStripOdd))e.asDestoryStrips[1]+=e.oClasses.sStripOdd+" ";if(i(d[1]).hasClass(e.oClasses.sStripEven))e.asDestoryStrips[1]+=e.oClasses.sStripEven;d.removeClass(e.asStripClasses.join(" "))}c=[];var k;a=this.getElementsByTagName("thead");if(a.length!==0){W(e.aoHeader,a[0]);c=S(e)}if(typeof g.aoColumns=="undefined"){k=[];a=0;for(b=c.length;a<b;a++)k.push(null)}else k=
+g.aoColumns;a=0;for(b=k.length;a<b;a++){if(typeof g.saved_aoColumns!="undefined"&&g.saved_aoColumns.length==b){if(k[a]===null)k[a]={};k[a].bVisible=g.saved_aoColumns[a].bVisible}G(e,c?c[a]:null)}if(typeof g.aoColumnDefs!="undefined")for(a=g.aoColumnDefs.length-1;a>=0;a--){var m=g.aoColumnDefs[a].aTargets;i.isArray(m)||J(e,1,"aTargets must be an array of targets, not a "+typeof m);c=0;for(d=m.length;c<d;c++)if(typeof m[c]=="number"&&m[c]>=0){for(;e.aoColumns.length<=m[c];)G(e);x(e,m[c],g.aoColumnDefs[a])}else if(typeof m[c]==
+"number"&&m[c]<0)x(e,e.aoColumns.length+m[c],g.aoColumnDefs[a]);else if(typeof m[c]=="string"){b=0;for(f=e.aoColumns.length;b<f;b++)if(m[c]=="_all"||i(e.aoColumns[b].nTh).hasClass(m[c]))x(e,b,g.aoColumnDefs[a])}}if(typeof k!="undefined"){a=0;for(b=k.length;a<b;a++)x(e,a,k[a])}a=0;for(b=e.aaSorting.length;a<b;a++){if(e.aaSorting[a][0]>=e.aoColumns.length)e.aaSorting[a][0]=0;k=e.aoColumns[e.aaSorting[a][0]];if(typeof e.aaSorting[a][2]=="undefined")e.aaSorting[a][2]=0;if(typeof g.aaSorting=="undefined"&&
+typeof e.saved_aaSorting=="undefined")e.aaSorting[a][1]=k.asSorting[0];c=0;for(d=k.asSorting.length;c<d;c++)if(e.aaSorting[a][1]==k.asSorting[c]){e.aaSorting[a][2]=c;break}}T(e);a=i(">thead",this);if(a.length===0){a=[p.createElement("thead")];this.appendChild(a[0])}e.nTHead=a[0];a=i(">tbody",this);if(a.length===0){a=[p.createElement("tbody")];this.appendChild(a[0])}e.nTBody=a[0];a=i(">tfoot",this);if(a.length>0){e.nTFoot=a[0];W(e.aoFooter,e.nTFoot)}if(j)for(a=0;a<g.aaData.length;a++)v(e,g.aaData[a]);
+else Y(e);e.aiDisplay=e.aiDisplayMaster.slice();e.bInitialised=true;h===false&&s(e)}})}})(jQuery,window,document);
diff --git a/koha-tmpl/opac-tmpl/ccsr/en/lib/jquery/plugins/jquery.highlight-3.js b/koha-tmpl/opac-tmpl/ccsr/en/lib/jquery/plugins/jquery.highlight-3.js
new file mode 100644 (file)
index 0000000..69bb52d
--- /dev/null
@@ -0,0 +1,53 @@
+/*
+
+highlight v3
+
+Highlights arbitrary terms.
+
+<http://johannburkard.de/blog/programming/javascript/highlight-javascript-text-higlighting-jquery-plugin.html>
+
+MIT license.
+
+Johann Burkard
+<http://johannburkard.de>
+<mailto:jb@eaio.com>
+
+*/
+
+jQuery.fn.highlight = function(pat) {
+ function innerHighlight(node, pat) {
+  var skip = 0;
+  if (node.nodeType == 3) {
+   var pos = node.data.toUpperCase().indexOf(pat);
+   if (pos >= 0) {
+    var spannode = document.createElement('span');
+    spannode.className = 'term';
+    var middlebit = node.splitText(pos);
+    var endbit = middlebit.splitText(pat.length);
+    var middleclone = middlebit.cloneNode(true);
+    spannode.appendChild(middleclone);
+    middlebit.parentNode.replaceChild(spannode, middlebit);
+    skip = 1;
+   }
+  }
+  else if (node.nodeType == 1 && node.childNodes && !/(script|style)/i.test(node.tagName)) {
+   for (var i = 0; i < node.childNodes.length; ++i) {
+    i += innerHighlight(node.childNodes[i], pat);
+   }
+  }
+  return skip;
+ }
+ return this.each(function() {
+  innerHighlight(this, pat.toUpperCase());
+ });
+};
+
+jQuery.fn.removeHighlight = function() {
+ return this.find("span.term").each(function() {
+  this.parentNode.firstChild.nodeName;
+  with (this.parentNode) {
+   replaceChild(this.firstChild, this);
+   normalize();
+  }
+ }).end();
+};
diff --git a/koha-tmpl/opac-tmpl/ccsr/en/lib/jquery/plugins/jquery.hoverIntent.minified.js b/koha-tmpl/opac-tmpl/ccsr/en/lib/jquery/plugins/jquery.hoverIntent.minified.js
new file mode 100644 (file)
index 0000000..4d8888b
--- /dev/null
@@ -0,0 +1,9 @@
+/**
+* hoverIntent r5 // 2007.03.27 // jQuery 1.1.2+
+* <http://cherne.net/brian/resources/jquery.hoverIntent.html>
+*
+* @param  f  onMouseOver function || An object with configuration options
+* @param  g  onMouseOut function  || Nothing (use configuration options object)
+* @author    Brian Cherne <brian@cherne.net>
+*/
+(function($){$.fn.hoverIntent=function(f,g){var cfg={sensitivity:7,interval:100,timeout:0};cfg=$.extend(cfg,g?{over:f,out:g}:f);var cX,cY,pX,pY;var track=function(ev){cX=ev.pageX;cY=ev.pageY;};var compare=function(ev,ob){ob.hoverIntent_t=clearTimeout(ob.hoverIntent_t);if((Math.abs(pX-cX)+Math.abs(pY-cY))<cfg.sensitivity){$(ob).unbind("mousemove",track);ob.hoverIntent_s=1;return cfg.over.apply(ob,[ev]);}else{pX=cX;pY=cY;ob.hoverIntent_t=setTimeout(function(){compare(ev,ob);},cfg.interval);}};var delay=function(ev,ob){ob.hoverIntent_t=clearTimeout(ob.hoverIntent_t);ob.hoverIntent_s=0;return cfg.out.apply(ob,[ev]);};var handleHover=function(e){var p=(e.type=="mouseover"?e.fromElement:e.toElement)||e.relatedTarget;while(p&&p!=this){try{p=p.parentNode;}catch(e){p=this;}}if(p==this){return false;}var ev=jQuery.extend({},e);var ob=this;if(ob.hoverIntent_t){ob.hoverIntent_t=clearTimeout(ob.hoverIntent_t);}if(e.type=="mouseover"){pX=ev.pageX;pY=ev.pageY;$(ob).bind("mousemove",track);if(ob.hoverIntent_s!=1){ob.hoverIntent_t=setTimeout(function(){compare(ev,ob);},cfg.interval);}}else{$(ob).unbind("mousemove",track);if(ob.hoverIntent_s==1){ob.hoverIntent_t=setTimeout(function(){delay(ev,ob);},cfg.timeout);}}};return this.mouseover(handleHover).mouseout(handleHover);};})(jQuery);
\ No newline at end of file
diff --git a/koha-tmpl/opac-tmpl/ccsr/en/lib/jquery/plugins/jquery.metadata.min.js b/koha-tmpl/opac-tmpl/ccsr/en/lib/jquery/plugins/jquery.metadata.min.js
new file mode 100644 (file)
index 0000000..d9370d5
--- /dev/null
@@ -0,0 +1,8 @@
+(function($){$.extend({metadata:{defaults:{type:'class',name:'metadata',cre:/({.*})/,single:'metadata'},setType:function(type,name){this.defaults.type=type;this.defaults.name=name;},get:function(elem,opts){var settings=$.extend({},this.defaults,opts);if(!settings.single.length)settings.single='metadata';var data=$.data(elem,settings.single);if(data)return data;data="{}";var getData=function(data){if(typeof data!="string")return data;if(data.indexOf('{')<0){data=eval("("+data+")");}}
+var getObject=function(data){if(typeof data!="string")return data;data=eval("("+data+")");return data;}
+if(settings.type=="html5"){var object={};$(elem.attributes).each(function(){var name=this.nodeName;if(name.match(/^data-/))name=name.replace(/^data-/,'');else return true;object[name]=getObject(this.nodeValue);});}else{if(settings.type=="class"){var m=settings.cre.exec(elem.className);if(m)
+data=m[1];}else if(settings.type=="elem"){if(!elem.getElementsByTagName)returnvar;e=elem.getElementsByTagName(settings.name);if(e.length)
+data=$.trim(e[0].innerHTML);}else if(elem.getAttribute!=undefined){var attr=elem.getAttribute(settings.name);if(attr)
+data=attr;}
+object=getObject(data.indexOf("{")<0?"{"+data+"}":data);}
+$.data(elem,settings.single,object);return object;}}});$.fn.metadata=function(opts){return $.metadata.get(this[0],opts);};})(jQuery);
\ No newline at end of file
diff --git a/koha-tmpl/opac-tmpl/ccsr/en/lib/jquery/plugins/jquery.rating.js b/koha-tmpl/opac-tmpl/ccsr/en/lib/jquery/plugins/jquery.rating.js
new file mode 100644 (file)
index 0000000..c401dac
--- /dev/null
@@ -0,0 +1,392 @@
+/*
+ ### jQuery Star Rating Plugin v3.14 - 2012-01-26 ###
+ * Home: http://www.fyneworks.com/jquery/star-rating/
+ * Code: http://code.google.com/p/jquery-star-rating-plugin/
+ *
+    * Dual licensed under the MIT and GPL licenses:
+ *   http://www.opensource.org/licenses/mit-license.php
+ *   http://www.gnu.org/licenses/gpl.html
+ ###
+*/
+
+/*# AVOID COLLISIONS #*/
+;if(window.jQuery) (function($){
+/*# AVOID COLLISIONS #*/
+
+    // IE6 Background Image Fix
+    if ($.browser.msie) try { document.execCommand("BackgroundImageCache", false, true)} catch(e) { };
+    // Thanks to http://www.visualjquery.com/rating/rating_redux.html
+
+    // plugin initialization
+    $.fn.rating = function(options){
+        if(this.length==0) return this; // quick fail
+
+        // Handle API methods
+        if(typeof arguments[0]=='string'){
+            // Perform API methods on individual elements
+            if(this.length>1){
+                var args = arguments;
+                return this.each(function(){
+                    $.fn.rating.apply($(this), args);
+    });
+            };
+            // Invoke API method handler
+            $.fn.rating[arguments[0]].apply(this, $.makeArray(arguments).slice(1) || []);
+            // Quick exit...
+            return this;
+        };
+
+        // Initialize options for this call
+        var options = $.extend(
+            {}/* new object */,
+            $.fn.rating.options/* default options */,
+            options || {} /* just-in-time options */
+        );
+
+        // Allow multiple controls with the same name by making each call unique
+        $.fn.rating.calls++;
+
+        // loop through each matched element
+        this
+         .not('.star-rating-applied')
+            .addClass('star-rating-applied')
+        .each(function(){
+
+            // Load control parameters / find context / etc
+            var control, input = $(this);
+            var eid = (this.name || 'unnamed-rating').replace(/\[|\]/g, '_').replace(/^\_+|\_+$/g,'');
+            var context = $(this.form || document.body);
+
+            // FIX: http://code.google.com/p/jquery-star-rating-plugin/issues/detail?id=23
+            var raters = context.data('rating');
+            if(!raters || raters.call!=$.fn.rating.calls) raters = { count:0, call:$.fn.rating.calls };
+            var rater = raters[eid];
+
+            // if rater is available, verify that the control still exists
+            if(rater) control = rater.data('rating');
+
+            if(rater && control)//{// save a byte!
+                // add star to control if rater is available and the same control still exists
+                control.count++;
+
+            //}// save a byte!
+            else{
+                // create new control if first star or control element was removed/replaced
+
+                // Initialize options for this rater
+                control = $.extend(
+                    {}/* new object */,
+                    options || {} /* current call options */,
+                    ($.metadata? input.metadata(): ($.meta?input.data():null)) || {}, /* metadata options */
+                    { count:0, stars: [], inputs: [] }
+                );
+
+                // increment number of rating controls
+                control.serial = raters.count++;
+
+                // create rating element
+                rater = $('<span class="star-rating-control"/>');
+                input.before(rater);
+
+                // Mark element for initialization (once all stars are ready)
+                rater.addClass('rating-to-be-drawn');
+
+                // Accept readOnly setting from 'disabled' property
+                if(input.attr('disabled') || input.hasClass('disabled')) control.readOnly = true;
+
+                // Accept required setting from class property (class='required')
+                if(input.hasClass('required')) control.required = true;
+
+                // Create 'cancel' button
+                rater.append(
+                    control.cancel = $('<div class="rating-cancel"><a title="' + control.cancel + '">' + control.cancelValue + '</a></div>')
+                    .mouseover(function(){
+                        $(this).rating('drain');
+                        $(this).addClass('star-rating-hover');
+                        //$(this).rating('focus');
+                    })
+                    .mouseout(function(){
+                        $(this).rating('draw');
+                        $(this).removeClass('star-rating-hover');
+                        //$(this).rating('blur');
+                    })
+                    .click(function(){
+                     $(this).rating('select');
+                    })
+                    .data('rating', control)
+                );
+
+            }; // first element of group
+
+            // insert rating star
+            var star = $('<div class="star-rating rater-'+ control.serial +'"><a title="' + (this.title || this.value) + '">' + this.value + '</a></div>');
+            rater.append(star);
+
+            // inherit attributes from input element
+            if(this.id) star.attr('id', this.id);
+            if(this.className) star.addClass(this.className);
+
+            // Half-stars?
+            if(control.half) control.split = 2;
+
+            // Prepare division control
+            if(typeof control.split=='number' && control.split>0){
+                var stw = ($.fn.width ? star.width() : 0) || control.starWidth;
+                var spi = (control.count % control.split), spw = Math.floor(stw/control.split);
+                star
+                // restrict star's width and hide overflow (already in CSS)
+                .width(spw)
+                // move the star left by using a negative margin
+                // this is work-around to IE's stupid box model (position:relative doesn't work)
+                .find('a').css({ 'margin-left':'-'+ (spi*spw) +'px' })
+            };
+
+            // readOnly?
+            if(control.readOnly)//{ //save a byte!
+                // Mark star as readOnly so user can customize display
+                star.addClass('star-rating-readonly');
+            //}  //save a byte!
+            else//{ //save a byte!
+             // Enable hover css effects
+                star.addClass('star-rating-live')
+                 // Attach mouse events
+                    .mouseover(function(){
+                        $(this).rating('fill');
+                        $(this).rating('focus');
+                    })
+                    .mouseout(function(){
+                        $(this).rating('draw');
+                        $(this).rating('blur');
+                    })
+                    .click(function(){
+                        $(this).rating('select');
+                    })
+                ;
+            //}; //save a byte!
+
+            // set current selection
+            if(this.checked)   control.current = star;
+
+            // set current select for links
+            if(this.nodeName=="A"){
+    if($(this).hasClass('selected'))
+     control.current = star;
+   };
+
+            // hide input element
+            input.hide();
+
+            // backward compatibility, form element to plugin
+            input.change(function(){
+    $(this).rating('select');
+   });
+
+            // attach reference to star to input element and vice-versa
+            star.data('rating.input', input.data('rating.star', star));
+
+            // store control information in form (or body when form not available)
+            control.stars[control.stars.length] = star[0];
+            control.inputs[control.inputs.length] = input[0];
+            control.rater = raters[eid] = rater;
+            control.context = context;
+
+            input.data('rating', control);
+            rater.data('rating', control);
+            star.data('rating', control);
+            context.data('rating', raters);
+  }); // each element
+
+        // Initialize ratings (first draw)
+        $('.rating-to-be-drawn').rating('draw').removeClass('rating-to-be-drawn');
+
+        return this; // don't break the chain...
+    };
+
+    /*--------------------------------------------------------*/
+
+    /*
+        ### Core functionality and API ###
+    */
+    $.extend($.fn.rating, {
+        // Used to append a unique serial number to internal control ID
+        // each time the plugin is invoked so same name controls can co-exist
+        calls: 0,
+
+        focus: function(){
+            var control = this.data('rating'); if(!control) return this;
+            if(!control.focus) return this; // quick fail if not required
+            // find data for event
+            var input = $(this).data('rating.input') || $( this.tagName=='INPUT' ? this : null );
+   // focus handler, as requested by focusdigital.co.uk
+            if(control.focus) control.focus.apply(input[0], [input.val(), $('a', input.data('rating.star'))[0]]);
+        }, // $.fn.rating.focus
+
+        blur: function(){
+            var control = this.data('rating'); if(!control) return this;
+            if(!control.blur) return this; // quick fail if not required
+            // find data for event
+            var input = $(this).data('rating.input') || $( this.tagName=='INPUT' ? this : null );
+   // blur handler, as requested by focusdigital.co.uk
+            if(control.blur) control.blur.apply(input[0], [input.val(), $('a', input.data('rating.star'))[0]]);
+        }, // $.fn.rating.blur
+
+        fill: function(){ // fill to the current mouse position.
+            var control = this.data('rating'); if(!control) return this;
+            // do not execute when control is in read-only mode
+            if(control.readOnly) return;
+            // Reset all stars and highlight them up to this element
+            this.rating('drain');
+            this.prevAll().andSelf().filter('.rater-'+ control.serial).addClass('star-rating-hover');
+        },// $.fn.rating.fill
+
+        drain: function() { // drain all the stars.
+            var control = this.data('rating'); if(!control) return this;
+            // do not execute when control is in read-only mode
+            if(control.readOnly) return;
+            // Reset all stars
+            control.rater.children().filter('.rater-'+ control.serial).removeClass('star-rating-on').removeClass('star-rating-hover');
+        },// $.fn.rating.drain
+
+        draw: function(){ // set value and stars to reflect current selection
+            var control = this.data('rating'); if(!control) return this;
+            // Clear all stars
+            this.rating('drain');
+            // Set control value
+            if(control.current){
+                control.current.data('rating.input').attr('checked','checked');
+                control.current.prevAll().andSelf().filter('.rater-'+ control.serial).addClass('star-rating-on');
+            }
+            else
+             $(control.inputs).removeAttr('checked');
+            // Show/hide 'cancel' button
+            control.cancel[control.readOnly || control.required?'hide':'show']();
+            // Add/remove read-only classes to remove hand pointer
+            this.siblings()[control.readOnly?'addClass':'removeClass']('star-rating-readonly');
+        },// $.fn.rating.draw
+
+
+
+
+
+        select: function(value,wantCallBack){ // select a value
+
+                    // ***** MODIFICATION *****
+                    // Thanks to faivre.thomas - http://code.google.com/p/jquery-star-rating-plugin/issues/detail?id=27
+                    //
+                    // ***** LIST OF MODIFICATION *****
+                    // ***** added Parameter wantCallBack : false if you don't want a callback. true or undefined if you want postback to be performed at the end of this method'
+                    // ***** recursive calls to this method were like : ... .rating('select') it's now like .rating('select',undefined,wantCallBack); (parameters are set.)
+                    // ***** line which is calling callback
+                    // ***** /LIST OF MODIFICATION *****
+
+            var control = this.data('rating'); if(!control) return this;
+            // do not execute when control is in read-only mode
+            if(control.readOnly) return;
+            // clear selection
+            control.current = null;
+            // programmatically (based on user input)
+            if(typeof value!='undefined'){
+             // select by index (0 based)
+                if(typeof value=='number')
+                     return $(control.stars[value]).rating('select',undefined,wantCallBack);
+                // select by literal value (must be passed as a string
+                if(typeof value=='string')
+                    //return
+                    $.each(control.stars, function(){
+                        if($(this).data('rating.input').val()==value) $(this).rating('select',undefined,wantCallBack);
+                    });
+            }
+            else
+                control.current = this[0].tagName=='INPUT' ?
+                 this.data('rating.star') :
+                    (this.is('.rater-'+ control.serial) ? this : null);
+
+            // Update rating control state
+            this.data('rating', control);
+            // Update display
+            this.rating('draw');
+            // find data for event
+            var input = $( control.current ? control.current.data('rating.input') : null );
+            // click callback, as requested here: http://plugins.jquery.com/node/1655
+
+                    // **** MODIFICATION *****
+                    // Thanks to faivre.thomas - http://code.google.com/p/jquery-star-rating-plugin/issues/detail?id=27
+                    //
+                    //old line doing the callback :
+                    //if(control.callback) control.callback.apply(input[0], [input.val(), $('a', control.current)[0]]);// callback event
+                    //
+                    //new line doing the callback (if i want :)
+                    if((wantCallBack ||wantCallBack == undefined) && control.callback) control.callback.apply(input[0], [input.val(), $('a', control.current)[0]]);// callback event
+                    //to ensure retro-compatibility, wantCallBack must be considered as true by default
+                    // **** /MODIFICATION *****
+
+  },// $.fn.rating.select
+
+
+
+
+
+        readOnly: function(toggle, disable){ // make the control read-only (still submits value)
+            var control = this.data('rating'); if(!control) return this;
+            // setread-only status
+            control.readOnly = toggle || toggle==undefined ? true : false;
+            // enable/disable control value submission
+            if(disable) $(control.inputs).attr("disabled", "disabled");
+            else                       $(control.inputs).removeAttr("disabled");
+            // Update rating control state
+            this.data('rating', control);
+            // Update display
+            this.rating('draw');
+        },// $.fn.rating.readOnly
+
+        disable: function(){ // make read-only and never submit value
+            this.rating('readOnly', true, true);
+        },// $.fn.rating.disable
+
+        enable: function(){ // make read/write and submit value
+            this.rating('readOnly', false, false);
+        }// $.fn.rating.select
+
+ });
+
+    /*--------------------------------------------------------*/
+
+    /*
+        ### Default Settings ###
+        eg.: You can override default control like this:
+        $.fn.rating.options.cancel = 'Clear';
+    */
+    $.fn.rating.options = { //$.extend($.fn.rating, { options: {
+            cancel: 'Cancel Rating',   // advisory title for the 'cancel' link
+            cancelValue: '',           // value to submit when user click the 'cancel' link
+            split: 0,                  // split the star into how many parts?
+
+            // Width of star image in case the plugin can't work it out. This can happen if
+            // the jQuery.dimensions plugin is not available OR the image is hidden at installation
+            starWidth: 16//,
+
+            //NB.: These don't need to be pre-defined (can be undefined/null) so let's save some code!
+            //half:     false,         // just a shortcut to control.split = 2
+            //required: false,         // disables the 'cancel' button so user can only select one of the specified values
+            //readOnly: false,         // disable rating plugin interaction/ values cannot be changed
+            //focus:    function(){},  // executed when stars are focused
+            //blur:     function(){},  // executed when stars are focused
+            //callback: function(){},  // executed when a star is clicked
+ }; //} });
+
+    /*--------------------------------------------------------*/
+
+    /*
+        ### Default implementation ###
+        The plugin will attach itself to file inputs
+        with the class 'multi' when the page loads
+    */
+    $(function(){
+     $('input[type=radio].star').rating();
+    });
+
+
+
+/*# AVOID COLLISIONS #*/
+})(jQuery);
+/*# AVOID COLLISIONS #*/
diff --git a/koha-tmpl/opac-tmpl/ccsr/en/lib/jquery/plugins/jquery.tablesorter.min.js b/koha-tmpl/opac-tmpl/ccsr/en/lib/jquery/plugins/jquery.tablesorter.min.js
new file mode 100644 (file)
index 0000000..64c7007
--- /dev/null
@@ -0,0 +1,2 @@
+
+(function($){$.extend({tablesorter:new function(){var parsers=[],widgets=[];this.defaults={cssHeader:"header",cssAsc:"headerSortUp",cssDesc:"headerSortDown",sortInitialOrder:"asc",sortMultiSortKey:"shiftKey",sortForce:null,sortAppend:null,textExtraction:"simple",parsers:{},widgets:[],widgetZebra:{css:["even","odd"]},headers:{},widthFixed:false,cancelSelection:true,sortList:[],headerList:[],dateFormat:"us",decimal:'.',debug:false};function benchmark(s,d){log(s+","+(new Date().getTime()-d.getTime())+"ms");}this.benchmark=benchmark;function log(s){if(typeof console!="undefined"&&typeof console.debug!="undefined"){console.log(s);}else{alert(s);}}function buildParserCache(table,$headers){if(table.config.debug){var parsersDebug="";}var rows=table.tBodies[0].rows;if(table.tBodies[0].rows[0]){var list=[],cells=rows[0].cells,l=cells.length;for(var i=0;i<l;i++){var p=false;if($.metadata&&($($headers[i]).metadata()&&$($headers[i]).metadata().sorter)){p=getParserById($($headers[i]).metadata().sorter);}else if((table.config.headers[i]&&table.config.headers[i].sorter)){p=getParserById(table.config.headers[i].sorter);}if(!p){p=detectParserForColumn(table,cells[i]);}if(table.config.debug){parsersDebug+="column:"+i+" parser:"+p.id+"\n";}list.push(p);}}if(table.config.debug){log(parsersDebug);}return list;};function detectParserForColumn(table,node){var l=parsers.length;for(var i=1;i<l;i++){if(parsers[i].is($.trim(getElementText(table.config,node)),table,node)){return parsers[i];}}return parsers[0];}function getParserById(name){var l=parsers.length;for(var i=0;i<l;i++){if(parsers[i].id.toLowerCase()==name.toLowerCase()){return parsers[i];}}return false;}function buildCache(table){if(table.config.debug){var cacheTime=new Date();}var totalRows=(table.tBodies[0]&&table.tBodies[0].rows.length)||0,totalCells=(table.tBodies[0].rows[0]&&table.tBodies[0].rows[0].cells.length)||0,parsers=table.config.parsers,cache={row:[],normalized:[]};for(var i=0;i<totalRows;++i){var c=table.tBodies[0].rows[i],cols=[];cache.row.push($(c));for(var j=0;j<totalCells;++j){cols.push(parsers[j].format(getElementText(table.config,c.cells[j]),table,c.cells[j]));}cols.push(i);cache.normalized.push(cols);cols=null;};if(table.config.debug){benchmark("Building cache for "+totalRows+" rows:",cacheTime);}return cache;};function getElementText(config,node){if(!node)return"";var t="";if(config.textExtraction=="simple"){if(node.childNodes[0]&&node.childNodes[0].hasChildNodes()){t=node.childNodes[0].innerHTML;}else{t=node.innerHTML;}}else{if(typeof(config.textExtraction)=="function"){t=config.textExtraction(node);}else{t=$(node).text();}}return t;}function appendToTable(table,cache){if(table.config.debug){var appendTime=new Date()}var c=cache,r=c.row,n=c.normalized,totalRows=n.length,checkCell=(n[0].length-1),tableBody=$(table.tBodies[0]),rows=[];for(var i=0;i<totalRows;i++){rows.push(r[n[i][checkCell]]);if(!table.config.appender){var o=r[n[i][checkCell]];var l=o.length;for(var j=0;j<l;j++){tableBody[0].appendChild(o[j]);}}}if(table.config.appender){table.config.appender(table,rows);}rows=null;if(table.config.debug){benchmark("Rebuilt table:",appendTime);}applyWidget(table);setTimeout(function(){$(table).trigger("sortEnd");},0);};function buildHeaders(table){if(table.config.debug){var time=new Date();}var meta=($.metadata)?true:false,tableHeadersRows=[];for(var i=0;i<table.tHead.rows.length;i++){tableHeadersRows[i]=0;};$tableHeaders=$("thead th",table);$tableHeaders.each(function(index){this.count=0;this.column=index;this.order=formatSortingOrder(table.config.sortInitialOrder);if(checkHeaderMetadata(this)||checkHeaderOptions(table,index))this.sortDisabled=true;if(!this.sortDisabled){$(this).addClass(table.config.cssHeader);}table.config.headerList[index]=this;});if(table.config.debug){benchmark("Built headers:",time);log($tableHeaders);}return $tableHeaders;};function checkCellColSpan(table,rows,row){var arr=[],r=table.tHead.rows,c=r[row].cells;for(var i=0;i<c.length;i++){var cell=c[i];if(cell.colSpan>1){arr=arr.concat(checkCellColSpan(table,headerArr,row++));}else{if(table.tHead.length==1||(cell.rowSpan>1||!r[row+1])){arr.push(cell);}}}return arr;};function checkHeaderMetadata(cell){if(($.metadata)&&($(cell).metadata().sorter===false)){return true;};return false;}function checkHeaderOptions(table,i){if((table.config.headers[i])&&(table.config.headers[i].sorter===false)){return true;};return false;}function applyWidget(table){var c=table.config.widgets;var l=c.length;for(var i=0;i<l;i++){getWidgetById(c[i]).format(table);}}function getWidgetById(name){var l=widgets.length;for(var i=0;i<l;i++){if(widgets[i].id.toLowerCase()==name.toLowerCase()){return widgets[i];}}};function formatSortingOrder(v){if(typeof(v)!="Number"){i=(v.toLowerCase()=="desc")?1:0;}else{i=(v==(0||1))?v:0;}return i;}function isValueInArray(v,a){var l=a.length;for(var i=0;i<l;i++){if(a[i][0]==v){return true;}}return false;}function setHeadersCss(table,$headers,list,css){$headers.removeClass(css[0]).removeClass(css[1]);var h=[];$headers.each(function(offset){if(!this.sortDisabled){h[this.column]=$(this);}});var l=list.length;for(var i=0;i<l;i++){h[list[i][0]].addClass(css[list[i][1]]);}}function fixColumnWidth(table,$headers){var c=table.config;if(c.widthFixed){var colgroup=$('<colgroup>');$("tr:first td",table.tBodies[0]).each(function(){colgroup.append($('<col>').css('width',$(this).width()));});$(table).prepend(colgroup);};}function updateHeaderSortCount(table,sortList){var c=table.config,l=sortList.length;for(var i=0;i<l;i++){var s=sortList[i],o=c.headerList[s[0]];o.count=s[1];o.count++;}}function multisort(table,sortList,cache){if(table.config.debug){var sortTime=new Date();}var dynamicExp="var sortWrapper = function(a,b) {",l=sortList.length;for(var i=0;i<l;i++){var c=sortList[i][0];var order=sortList[i][1];var s=(getCachedSortType(table.config.parsers,c)=="text")?((order==0)?"sortText":"sortTextDesc"):((order==0)?"sortNumeric":"sortNumericDesc");var e="e"+i;dynamicExp+="var "+e+" = "+s+"(a["+c+"],b["+c+"]); ";dynamicExp+="if("+e+") { return "+e+"; } ";dynamicExp+="else { ";}var orgOrderCol=cache.normalized[0].length-1;dynamicExp+="return a["+orgOrderCol+"]-b["+orgOrderCol+"];";for(var i=0;i<l;i++){dynamicExp+="}; ";}dynamicExp+="return 0; ";dynamicExp+="}; ";eval(dynamicExp);cache.normalized.sort(sortWrapper);if(table.config.debug){benchmark("Sorting on "+sortList.toString()+" and dir "+order+" time:",sortTime);}return cache;};function sortText(a,b){return((a<b)?-1:((a>b)?1:0));};function sortTextDesc(a,b){return((b<a)?-1:((b>a)?1:0));};function sortNumeric(a,b){return a-b;};function sortNumericDesc(a,b){return b-a;};function getCachedSortType(parsers,i){return parsers[i].type;};this.construct=function(settings){return this.each(function(){if(!this.tHead||!this.tBodies)return;var $this,$document,$headers,cache,config,shiftDown=0,sortOrder;this.config={};config=$.extend(this.config,$.tablesorter.defaults,settings);$this=$(this);$headers=buildHeaders(this);this.config.parsers=buildParserCache(this,$headers);cache=buildCache(this);var sortCSS=[config.cssDesc,config.cssAsc];fixColumnWidth(this);$headers.click(function(e){$this.trigger("sortStart");var totalRows=($this[0].tBodies[0]&&$this[0].tBodies[0].rows.length)||0;if(!this.sortDisabled&&totalRows>0){var $cell=$(this);var i=this.column;this.order=this.count++%2;if(!e[config.sortMultiSortKey]){config.sortList=[];if(config.sortForce!=null){var a=config.sortForce;for(var j=0;j<a.length;j++){if(a[j][0]!=i){config.sortList.push(a[j]);}}}config.sortList.push([i,this.order]);}else{if(isValueInArray(i,config.sortList)){for(var j=0;j<config.sortList.length;j++){var s=config.sortList[j],o=config.headerList[s[0]];if(s[0]==i){o.count=s[1];o.count++;s[1]=o.count%2;}}}else{config.sortList.push([i,this.order]);}};setTimeout(function(){setHeadersCss($this[0],$headers,config.sortList,sortCSS);appendToTable($this[0],multisort($this[0],config.sortList,cache));},1);return false;}}).mousedown(function(){if(config.cancelSelection){this.onselectstart=function(){return false};return false;}});$this.bind("update",function(){this.config.parsers=buildParserCache(this,$headers);cache=buildCache(this);}).bind("sorton",function(e,list){$(this).trigger("sortStart");config.sortList=list;var sortList=config.sortList;updateHeaderSortCount(this,sortList);setHeadersCss(this,$headers,sortList,sortCSS);appendToTable(this,multisort(this,sortList,cache));}).bind("appendCache",function(){appendToTable(this,cache);}).bind("applyWidgetId",function(e,id){getWidgetById(id).format(this);}).bind("applyWidgets",function(){applyWidget(this);});if($.metadata&&($(this).metadata()&&$(this).metadata().sortlist)){config.sortList=$(this).metadata().sortlist;}if(config.sortList.length>0){$this.trigger("sorton",[config.sortList]);}applyWidget(this);});};this.addParser=function(parser){var l=parsers.length,a=true;for(var i=0;i<l;i++){if(parsers[i].id.toLowerCase()==parser.id.toLowerCase()){a=false;}}if(a){parsers.push(parser);};};this.addWidget=function(widget){widgets.push(widget);};this.formatFloat=function(s){var i=parseFloat(s);return(isNaN(i))?0:i;};this.formatInt=function(s){var i=parseInt(s);return(isNaN(i))?0:i;};this.isDigit=function(s,config){var DECIMAL='\\'+config.decimal;var exp='/(^[+]?0('+DECIMAL+'0+)?$)|(^([-+]?[1-9][0-9]*)$)|(^([-+]?((0?|[1-9][0-9]*)'+DECIMAL+'(0*[1-9][0-9]*)))$)|(^[-+]?[1-9]+[0-9]*'+DECIMAL+'0+$)/';return RegExp(exp).test($.trim(s));};this.clearTableBody=function(table){if($.browser.msie){function empty(){while(this.firstChild)this.removeChild(this.firstChild);}empty.apply(table.tBodies[0]);}else{table.tBodies[0].innerHTML="";}};}});$.fn.extend({tablesorter:$.tablesorter.construct});var ts=$.tablesorter;ts.addParser({id:"text",is:function(s){return true;},format:function(s){return $.trim(s.toLowerCase());},type:"text"});ts.addParser({id:"digit",is:function(s,table){var c=table.config;return $.tablesorter.isDigit(s,c);},format:function(s){return $.tablesorter.formatFloat(s);},type:"numeric"});ts.addParser({id:"currency",is:function(s){return/^[£$€?.]/.test(s);},format:function(s){return $.tablesorter.formatFloat(s.replace(new RegExp(/[^0-9.]/g),""));},type:"numeric"});ts.addParser({id:"ipAddress",is:function(s){return/^\d{2,3}[\.]\d{2,3}[\.]\d{2,3}[\.]\d{2,3}$/.test(s);},format:function(s){var a=s.split("."),r="",l=a.length;for(var i=0;i<l;i++){var item=a[i];if(item.length==2){r+="0"+item;}else{r+=item;}}return $.tablesorter.formatFloat(r);},type:"numeric"});ts.addParser({id:"url",is:function(s){return/^(https?|ftp|file):\/\/$/.test(s);},format:function(s){return jQuery.trim(s.replace(new RegExp(/(https?|ftp|file):\/\//),''));},type:"text"});ts.addParser({id:"isoDate",is:function(s){return/^\d{4}[\/-]\d{1,2}[\/-]\d{1,2}$/.test(s);},format:function(s){return $.tablesorter.formatFloat((s!="")?new Date(s.replace(new RegExp(/-/g),"/")).getTime():"0");},type:"numeric"});ts.addParser({id:"percent",is:function(s){return/\%$/.test($.trim(s));},format:function(s){return $.tablesorter.formatFloat(s.replace(new RegExp(/%/g),""));},type:"numeric"});ts.addParser({id:"usLongDate",is:function(s){return s.match(new RegExp(/^[A-Za-z]{3,10}\.? [0-9]{1,2}, ([0-9]{4}|'?[0-9]{2}) (([0-2]?[0-9]:[0-5][0-9])|([0-1]?[0-9]:[0-5][0-9]\s(AM|PM)))$/));},format:function(s){return $.tablesorter.formatFloat(new Date(s).getTime());},type:"numeric"});ts.addParser({id:"shortDate",is:function(s){return/\d{1,2}[\/\-]\d{1,2}[\/\-]\d{2,4}/.test(s);},format:function(s,table){var c=table.config;s=s.replace(/\-/g,"/");if(c.dateFormat=="us"){s=s.replace(/(\d{1,2})[\/\-](\d{1,2})[\/\-](\d{4})/,"$3/$1/$2");}else if(c.dateFormat=="uk"){s=s.replace(/(\d{1,2})[\/\-](\d{1,2})[\/\-](\d{4})/,"$3/$2/$1");}else if(c.dateFormat=="dd/mm/yy"||c.dateFormat=="dd-mm-yy"){s=s.replace(/(\d{1,2})[\/\-](\d{1,2})[\/\-](\d{2})/,"$1/$2/$3");}return $.tablesorter.formatFloat(new Date(s).getTime());},type:"numeric"});ts.addParser({id:"time",is:function(s){return/^(([0-2]?[0-9]:[0-5][0-9])|([0-1]?[0-9]:[0-5][0-9]\s(am|pm)))$/.test(s);},format:function(s){return $.tablesorter.formatFloat(new Date("2000/01/01 "+s).getTime());},type:"numeric"});ts.addParser({id:"metadata",is:function(s){return false;},format:function(s,table,cell){var c=table.config,p=(!c.parserMetadataName)?'sortValue':c.parserMetadataName;return $(cell).metadata()[p];},type:"numeric"});ts.addWidget({id:"zebra",format:function(table){if(table.config.debug){var time=new Date();}$("tr:visible",table.tBodies[0]).filter(':even').removeClass(table.config.widgetZebra.css[1]).addClass(table.config.widgetZebra.css[0]).end().filter(':odd').removeClass(table.config.widgetZebra.css[0]).addClass(table.config.widgetZebra.css[1]);if(table.config.debug){$.tablesorter.benchmark("Applying Zebra widget",time);}}});})(jQuery);
\ No newline at end of file
diff --git a/koha-tmpl/opac-tmpl/ccsr/en/lib/jquery/plugins/jquery.tools.min.js b/koha-tmpl/opac-tmpl/ccsr/en/lib/jquery/plugins/jquery.tools.min.js
new file mode 100644 (file)
index 0000000..d55c776
--- /dev/null
@@ -0,0 +1,11 @@
+/*!
+ * jQuery Tools v1.2.6 - The missing UI library for the Web
+ *
+ * tooltip/tooltip.js
+ *
+ * NO COPYRIGHTS OR LICENSES. DO WHAT YOU LIKE.
+ *
+ * http://flowplayer.org/tools/
+ *
+ */
+(function(a){a.tools=a.tools||{version:"v1.2.6"},a.tools.tooltip={conf:{effect:"toggle",fadeOutSpeed:"fast",predelay:0,delay:30,opacity:1,tip:0,fadeIE:!1,position:["top","center"],offset:[0,0],relative:!1,cancelDefault:!0,events:{def:"mouseenter,mouseleave",input:"focus,blur",widget:"focus mouseenter,blur mouseleave",tooltip:"mouseenter,mouseleave"},layout:"<div/>",tipClass:"tooltip"},addEffect:function(a,c,d){b[a]=[c,d]}};var b={toggle:[function(a){var b=this.getConf(),c=this.getTip(),d=b.opacity;d<1&&c.css({opacity:d}),c.show(),a.call()},function(a){this.getTip().hide(),a.call()}],fade:[function(b){var c=this.getConf();!a.browser.msie||c.fadeIE?this.getTip().fadeTo(c.fadeInSpeed,c.opacity,b):(this.getTip().show(),b())},function(b){var c=this.getConf();!a.browser.msie||c.fadeIE?this.getTip().fadeOut(c.fadeOutSpeed,b):(this.getTip().hide(),b())}]};function c(b,c,d){var e=d.relative?b.position().top:b.offset().top,f=d.relative?b.position().left:b.offset().left,g=d.position[0];e-=c.outerHeight()-d.offset[0],f+=b.outerWidth()+d.offset[1],/iPad/i.test(navigator.userAgent)&&(e-=a(window).scrollTop());var h=c.outerHeight()+b.outerHeight();g=="center"&&(e+=h/2),g=="bottom"&&(e+=h),g=d.position[1];var i=c.outerWidth()+b.outerWidth();g=="center"&&(f-=i/2),g=="left"&&(f-=i);return{top:e,left:f}}function d(d,e){var f=this,g=d.add(f),h,i=0,j=0,k=d.attr("title"),l=d.attr("data-tooltip"),m=b[e.effect],n,o=d.is(":input"),p=o&&d.is(":checkbox, :radio, select, :button, :submit"),q=d.attr("type"),r=e.events[q]||e.events[o?p?"widget":"input":"def"];if(!m)throw"Nonexistent effect \""+e.effect+"\"";r=r.split(/,\s*/);if(r.length!=2)throw"Tooltip: bad events configuration for "+q;d.bind(r[0],function(a){clearTimeout(i),e.predelay?j=setTimeout(function(){f.show(a)},e.predelay):f.show(a)}).bind(r[1],function(a){clearTimeout(j),e.delay?i=setTimeout(function(){f.hide(a)},e.delay):f.hide(a)}),k&&e.cancelDefault&&(d.removeAttr("title"),d.data("title",k)),a.extend(f,{show:function(b){if(!h){l?h=a(l):e.tip?h=a(e.tip).eq(0):k?h=a(e.layout).addClass(e.tipClass).appendTo(document.body).hide().append(k):(h=d.next(),h.length||(h=d.parent().next()));if(!h.length)throw"Cannot find tooltip for "+d}if(f.isShown())return f;h.stop(!0,!0);var o=c(d,h,e);e.tip&&h.html(d.data("title")),b=a.Event(),b.type="onBeforeShow",g.trigger(b,[o]);if(b.isDefaultPrevented())return f;o=c(d,h,e),h.css({position:"absolute",top:o.top,left:o.left}),n=!0,m[0].call(f,function(){b.type="onShow",n="full",g.trigger(b)});var p=e.events.tooltip.split(/,\s*/);h.data("__set")||(h.unbind(p[0]).bind(p[0],function(){clearTimeout(i),clearTimeout(j)}),p[1]&&!d.is("input:not(:checkbox, :radio), textarea")&&h.unbind(p[1]).bind(p[1],function(a){a.relatedTarget!=d[0]&&d.trigger(r[1].split(" ")[0])}),e.tip||h.data("__set",!0));return f},hide:function(c){if(!h||!f.isShown())return f;c=a.Event(),c.type="onBeforeHide",g.trigger(c);if(!c.isDefaultPrevented()){n=!1,b[e.effect][1].call(f,function(){c.type="onHide",g.trigger(c)});return f}},isShown:function(a){return a?n=="full":n},getConf:function(){return e},getTip:function(){return h},getTrigger:function(){return d}}),a.each("onHide,onBeforeShow,onShow,onBeforeHide".split(","),function(b,c){a.isFunction(e[c])&&a(f).bind(c,e[c]),f[c]=function(b){b&&a(f).bind(c,b);return f}})}a.fn.tooltip=function(b){var c=this.data("tooltip");if(c)return c;b=a.extend(!0,{},a.tools.tooltip.conf,b),typeof b.position=="string"&&(b.position=b.position.split(/,?\s/)),this.each(function(){c=new d(a(this),b),a(this).data("tooltip",c)});return b.api?c:this}})(jQuery);
diff --git a/koha-tmpl/opac-tmpl/ccsr/images/Star0.gif b/koha-tmpl/opac-tmpl/ccsr/images/Star0.gif
new file mode 100644 (file)
index 0000000..44ffdf4
Binary files /dev/null and b/koha-tmpl/opac-tmpl/ccsr/images/Star0.gif differ
diff --git a/koha-tmpl/opac-tmpl/ccsr/images/Star1.gif b/koha-tmpl/opac-tmpl/ccsr/images/Star1.gif
new file mode 100644 (file)
index 0000000..2038638
Binary files /dev/null and b/koha-tmpl/opac-tmpl/ccsr/images/Star1.gif differ
diff --git a/koha-tmpl/opac-tmpl/ccsr/images/Star2.gif b/koha-tmpl/opac-tmpl/ccsr/images/Star2.gif
new file mode 100644 (file)
index 0000000..2b60940
Binary files /dev/null and b/koha-tmpl/opac-tmpl/ccsr/images/Star2.gif differ
diff --git a/koha-tmpl/opac-tmpl/ccsr/images/Star3.gif b/koha-tmpl/opac-tmpl/ccsr/images/Star3.gif
new file mode 100644 (file)
index 0000000..3ff6739
Binary files /dev/null and b/koha-tmpl/opac-tmpl/ccsr/images/Star3.gif differ
diff --git a/koha-tmpl/opac-tmpl/ccsr/images/Star4.gif b/koha-tmpl/opac-tmpl/ccsr/images/Star4.gif
new file mode 100644 (file)
index 0000000..473cb32
Binary files /dev/null and b/koha-tmpl/opac-tmpl/ccsr/images/Star4.gif differ
diff --git a/koha-tmpl/opac-tmpl/ccsr/images/Star5.gif b/koha-tmpl/opac-tmpl/ccsr/images/Star5.gif
new file mode 100644 (file)
index 0000000..0a61173
Binary files /dev/null and b/koha-tmpl/opac-tmpl/ccsr/images/Star5.gif differ
diff --git a/koha-tmpl/opac-tmpl/ccsr/images/arrow-right-grey-11x6.png b/koha-tmpl/opac-tmpl/ccsr/images/arrow-right-grey-11x6.png
new file mode 100644 (file)
index 0000000..702043e
Binary files /dev/null and b/koha-tmpl/opac-tmpl/ccsr/images/arrow-right-grey-11x6.png differ
diff --git a/koha-tmpl/opac-tmpl/ccsr/images/arrow-right-grey-logo.png b/koha-tmpl/opac-tmpl/ccsr/images/arrow-right-grey-logo.png
new file mode 100644 (file)
index 0000000..7e9a3fa
Binary files /dev/null and b/koha-tmpl/opac-tmpl/ccsr/images/arrow-right-grey-logo.png differ
diff --git a/koha-tmpl/opac-tmpl/ccsr/images/asc.gif b/koha-tmpl/opac-tmpl/ccsr/images/asc.gif
new file mode 100644 (file)
index 0000000..3074264
Binary files /dev/null and b/koha-tmpl/opac-tmpl/ccsr/images/asc.gif differ
diff --git a/koha-tmpl/opac-tmpl/ccsr/images/ascdesc.gif b/koha-tmpl/opac-tmpl/ccsr/images/ascdesc.gif
new file mode 100644 (file)
index 0000000..2ea1fc8
Binary files /dev/null and b/koha-tmpl/opac-tmpl/ccsr/images/ascdesc.gif differ
diff --git a/koha-tmpl/opac-tmpl/ccsr/images/bg-result-light.png b/koha-tmpl/opac-tmpl/ccsr/images/bg-result-light.png
new file mode 100644 (file)
index 0000000..1d21ae5
Binary files /dev/null and b/koha-tmpl/opac-tmpl/ccsr/images/bg-result-light.png differ
diff --git a/koha-tmpl/opac-tmpl/ccsr/images/bg-results-control.png b/koha-tmpl/opac-tmpl/ccsr/images/bg-results-control.png
new file mode 100644 (file)
index 0000000..e7c98b7
Binary files /dev/null and b/koha-tmpl/opac-tmpl/ccsr/images/bg-results-control.png differ
diff --git a/koha-tmpl/opac-tmpl/ccsr/images/bg-search-bar.png b/koha-tmpl/opac-tmpl/ccsr/images/bg-search-bar.png
new file mode 100644 (file)
index 0000000..9f7991e
Binary files /dev/null and b/koha-tmpl/opac-tmpl/ccsr/images/bg-search-bar.png differ
diff --git a/koha-tmpl/opac-tmpl/ccsr/images/bonus.png b/koha-tmpl/opac-tmpl/ccsr/images/bonus.png
new file mode 100644 (file)
index 0000000..663a31d
Binary files /dev/null and b/koha-tmpl/opac-tmpl/ccsr/images/bonus.png differ
diff --git a/koha-tmpl/opac-tmpl/ccsr/images/browse-next.gif b/koha-tmpl/opac-tmpl/ccsr/images/browse-next.gif
new file mode 100644 (file)
index 0000000..7fcd3f0
Binary files /dev/null and b/koha-tmpl/opac-tmpl/ccsr/images/browse-next.gif differ
diff --git a/koha-tmpl/opac-tmpl/ccsr/images/browse-prev.gif b/koha-tmpl/opac-tmpl/ccsr/images/browse-prev.gif
new file mode 100644 (file)
index 0000000..feca93e
Binary files /dev/null and b/koha-tmpl/opac-tmpl/ccsr/images/browse-prev.gif differ
diff --git a/koha-tmpl/opac-tmpl/ccsr/images/btn-search-bar.png b/koha-tmpl/opac-tmpl/ccsr/images/btn-search-bar.png
new file mode 100644 (file)
index 0000000..02a83bb
Binary files /dev/null and b/koha-tmpl/opac-tmpl/ccsr/images/btn-search-bar.png differ
diff --git a/koha-tmpl/opac-tmpl/ccsr/images/caret.gif b/koha-tmpl/opac-tmpl/ccsr/images/caret.gif
new file mode 100644 (file)
index 0000000..8c3bf7b
Binary files /dev/null and b/koha-tmpl/opac-tmpl/ccsr/images/caret.gif differ
diff --git a/koha-tmpl/opac-tmpl/ccsr/images/datatables/back_disabled.jpg b/koha-tmpl/opac-tmpl/ccsr/images/datatables/back_disabled.jpg
new file mode 100644 (file)
index 0000000..1e73a54
Binary files /dev/null and b/koha-tmpl/opac-tmpl/ccsr/images/datatables/back_disabled.jpg differ
diff --git a/koha-tmpl/opac-tmpl/ccsr/images/datatables/back_enabled.jpg b/koha-tmpl/opac-tmpl/ccsr/images/datatables/back_enabled.jpg
new file mode 100644 (file)
index 0000000..a6d764c
Binary files /dev/null and b/koha-tmpl/opac-tmpl/ccsr/images/datatables/back_enabled.jpg differ
diff --git a/koha-tmpl/opac-tmpl/ccsr/images/datatables/forward_disabled.jpg b/koha-tmpl/opac-tmpl/ccsr/images/datatables/forward_disabled.jpg
new file mode 100644 (file)
index 0000000..28a9dc5
Binary files /dev/null and b/koha-tmpl/opac-tmpl/ccsr/images/datatables/forward_disabled.jpg differ
diff --git a/koha-tmpl/opac-tmpl/ccsr/images/datatables/forward_enabled.jpg b/koha-tmpl/opac-tmpl/ccsr/images/datatables/forward_enabled.jpg
new file mode 100644 (file)
index 0000000..598c075
Binary files /dev/null and b/koha-tmpl/opac-tmpl/ccsr/images/datatables/forward_enabled.jpg differ
diff --git a/koha-tmpl/opac-tmpl/ccsr/images/datatables/sort_asc.png b/koha-tmpl/opac-tmpl/ccsr/images/datatables/sort_asc.png
new file mode 100644 (file)
index 0000000..a56d0e2
Binary files /dev/null and b/koha-tmpl/opac-tmpl/ccsr/images/datatables/sort_asc.png differ
diff --git a/koha-tmpl/opac-tmpl/ccsr/images/datatables/sort_asc_disabled.png b/koha-tmpl/opac-tmpl/ccsr/images/datatables/sort_asc_disabled.png
new file mode 100644 (file)
index 0000000..b7e621e
Binary files /dev/null and b/koha-tmpl/opac-tmpl/ccsr/images/datatables/sort_asc_disabled.png differ
diff --git a/koha-tmpl/opac-tmpl/ccsr/images/datatables/sort_both.png b/koha-tmpl/opac-tmpl/ccsr/images/datatables/sort_both.png
new file mode 100644 (file)
index 0000000..839ac4b
Binary files /dev/null and b/koha-tmpl/opac-tmpl/ccsr/images/datatables/sort_both.png differ
diff --git a/koha-tmpl/opac-tmpl/ccsr/images/datatables/sort_desc.png b/koha-tmpl/opac-tmpl/ccsr/images/datatables/sort_desc.png
new file mode 100644 (file)
index 0000000..90b2951
Binary files /dev/null and b/koha-tmpl/opac-tmpl/ccsr/images/datatables/sort_desc.png differ
diff --git a/koha-tmpl/opac-tmpl/ccsr/images/datatables/sort_desc_disabled.png b/koha-tmpl/opac-tmpl/ccsr/images/datatables/sort_desc_disabled.png
new file mode 100644 (file)
index 0000000..2409653
Binary files /dev/null and b/koha-tmpl/opac-tmpl/ccsr/images/datatables/sort_desc_disabled.png differ
diff --git a/koha-tmpl/opac-tmpl/ccsr/images/delete.gif b/koha-tmpl/opac-tmpl/ccsr/images/delete.gif
new file mode 100755 (executable)
index 0000000..43c6ca8
Binary files /dev/null and b/koha-tmpl/opac-tmpl/ccsr/images/delete.gif differ
diff --git a/koha-tmpl/opac-tmpl/ccsr/images/desc.gif b/koha-tmpl/opac-tmpl/ccsr/images/desc.gif
new file mode 100644 (file)
index 0000000..1eee784
Binary files /dev/null and b/koha-tmpl/opac-tmpl/ccsr/images/desc.gif differ
diff --git a/koha-tmpl/opac-tmpl/ccsr/images/feed-icon-16x16.png b/koha-tmpl/opac-tmpl/ccsr/images/feed-icon-16x16.png
new file mode 100644 (file)
index 0000000..1679ab0
Binary files /dev/null and b/koha-tmpl/opac-tmpl/ccsr/images/feed-icon-16x16.png differ
diff --git a/koha-tmpl/opac-tmpl/ccsr/images/filefind.png b/koha-tmpl/opac-tmpl/ccsr/images/filefind.png
new file mode 100644 (file)
index 0000000..3c05c72
Binary files /dev/null and b/koha-tmpl/opac-tmpl/ccsr/images/filefind.png differ
diff --git a/koha-tmpl/opac-tmpl/ccsr/images/img_bg_header.png b/koha-tmpl/opac-tmpl/ccsr/images/img_bg_header.png
new file mode 100644 (file)
index 0000000..5fd8125
Binary files /dev/null and b/koha-tmpl/opac-tmpl/ccsr/images/img_bg_header.png differ
diff --git a/koha-tmpl/opac-tmpl/ccsr/images/img_bg_login-bottom.png b/koha-tmpl/opac-tmpl/ccsr/images/img_bg_login-bottom.png
new file mode 100644 (file)
index 0000000..90a4429
Binary files /dev/null and b/koha-tmpl/opac-tmpl/ccsr/images/img_bg_login-bottom.png differ
diff --git a/koha-tmpl/opac-tmpl/ccsr/images/img_bg_login-top.png b/koha-tmpl/opac-tmpl/ccsr/images/img_bg_login-top.png
new file mode 100644 (file)
index 0000000..6fb4592
Binary files /dev/null and b/koha-tmpl/opac-tmpl/ccsr/images/img_bg_login-top.png differ
diff --git a/koha-tmpl/opac-tmpl/ccsr/images/img_bg_login.png b/koha-tmpl/opac-tmpl/ccsr/images/img_bg_login.png
new file mode 100644 (file)
index 0000000..8c228a6
Binary files /dev/null and b/koha-tmpl/opac-tmpl/ccsr/images/img_bg_login.png differ
diff --git a/koha-tmpl/opac-tmpl/ccsr/images/img_bg_search-control-left.png b/koha-tmpl/opac-tmpl/ccsr/images/img_bg_search-control-left.png
new file mode 100644 (file)
index 0000000..b5290ac
Binary files /dev/null and b/koha-tmpl/opac-tmpl/ccsr/images/img_bg_search-control-left.png differ
diff --git a/koha-tmpl/opac-tmpl/ccsr/images/img_bg_search-control-right.png b/koha-tmpl/opac-tmpl/ccsr/images/img_bg_search-control-right.png
new file mode 100644 (file)
index 0000000..9a10299
Binary files /dev/null and b/koha-tmpl/opac-tmpl/ccsr/images/img_bg_search-control-right.png differ
diff --git a/koha-tmpl/opac-tmpl/ccsr/images/img_bg_search-left.png b/koha-tmpl/opac-tmpl/ccsr/images/img_bg_search-left.png
new file mode 100644 (file)
index 0000000..beb203a
Binary files /dev/null and b/koha-tmpl/opac-tmpl/ccsr/images/img_bg_search-left.png differ
diff --git a/koha-tmpl/opac-tmpl/ccsr/images/img_bg_search-right.png b/koha-tmpl/opac-tmpl/ccsr/images/img_bg_search-right.png
new file mode 100644 (file)
index 0000000..812bc37
Binary files /dev/null and b/koha-tmpl/opac-tmpl/ccsr/images/img_bg_search-right.png differ
diff --git a/koha-tmpl/opac-tmpl/ccsr/images/img_bg_submit.png b/koha-tmpl/opac-tmpl/ccsr/images/img_bg_submit.png
new file mode 100644 (file)
index 0000000..4de790d
Binary files /dev/null and b/koha-tmpl/opac-tmpl/ccsr/images/img_bg_submit.png differ
diff --git a/koha-tmpl/opac-tmpl/ccsr/images/img_logo_koha.jpg b/koha-tmpl/opac-tmpl/ccsr/images/img_logo_koha.jpg
new file mode 100644 (file)
index 0000000..5056181
Binary files /dev/null and b/koha-tmpl/opac-tmpl/ccsr/images/img_logo_koha.jpg differ
diff --git a/koha-tmpl/opac-tmpl/ccsr/images/img_puce_liste.png b/koha-tmpl/opac-tmpl/ccsr/images/img_puce_liste.png
new file mode 100644 (file)
index 0000000..7c14659
Binary files /dev/null and b/koha-tmpl/opac-tmpl/ccsr/images/img_puce_liste.png differ
diff --git a/koha-tmpl/opac-tmpl/ccsr/images/img_puce_search.png b/koha-tmpl/opac-tmpl/ccsr/images/img_puce_search.png
new file mode 100644 (file)
index 0000000..13895bb
Binary files /dev/null and b/koha-tmpl/opac-tmpl/ccsr/images/img_puce_search.png differ
diff --git a/koha-tmpl/opac-tmpl/ccsr/images/img_select-puce.png b/koha-tmpl/opac-tmpl/ccsr/images/img_select-puce.png
new file mode 100644 (file)
index 0000000..19e1243
Binary files /dev/null and b/koha-tmpl/opac-tmpl/ccsr/images/img_select-puce.png differ
diff --git a/koha-tmpl/opac-tmpl/ccsr/images/img_sep_account-bottom.png b/koha-tmpl/opac-tmpl/ccsr/images/img_sep_account-bottom.png
new file mode 100644 (file)
index 0000000..552fe94
Binary files /dev/null and b/koha-tmpl/opac-tmpl/ccsr/images/img_sep_account-bottom.png differ
diff --git a/koha-tmpl/opac-tmpl/ccsr/images/img_sep_account-top.png b/koha-tmpl/opac-tmpl/ccsr/images/img_sep_account-top.png
new file mode 100644 (file)
index 0000000..5567b13
Binary files /dev/null and b/koha-tmpl/opac-tmpl/ccsr/images/img_sep_account-top.png differ
diff --git a/koha-tmpl/opac-tmpl/ccsr/images/img_sep_account.png b/koha-tmpl/opac-tmpl/ccsr/images/img_sep_account.png
new file mode 100644 (file)
index 0000000..c831156
Binary files /dev/null and b/koha-tmpl/opac-tmpl/ccsr/images/img_sep_account.png differ
diff --git a/koha-tmpl/opac-tmpl/ccsr/images/img_sep_footer.png b/koha-tmpl/opac-tmpl/ccsr/images/img_sep_footer.png
new file mode 100644 (file)
index 0000000..e5f87a2
Binary files /dev/null and b/koha-tmpl/opac-tmpl/ccsr/images/img_sep_footer.png differ
diff --git a/koha-tmpl/opac-tmpl/ccsr/images/img_sep_header.png b/koha-tmpl/opac-tmpl/ccsr/images/img_sep_header.png
new file mode 100644 (file)
index 0000000..94120d6
Binary files /dev/null and b/koha-tmpl/opac-tmpl/ccsr/images/img_sep_header.png differ
diff --git a/koha-tmpl/opac-tmpl/ccsr/images/img_sep_search-bottom.png b/koha-tmpl/opac-tmpl/ccsr/images/img_sep_search-bottom.png
new file mode 100644 (file)
index 0000000..8a5cd4e
Binary files /dev/null and b/koha-tmpl/opac-tmpl/ccsr/images/img_sep_search-bottom.png differ
diff --git a/koha-tmpl/opac-tmpl/ccsr/images/img_sep_search-top.png b/koha-tmpl/opac-tmpl/ccsr/images/img_sep_search-top.png
new file mode 100644 (file)
index 0000000..9b84c71
Binary files /dev/null and b/koha-tmpl/opac-tmpl/ccsr/images/img_sep_search-top.png differ
diff --git a/koha-tmpl/opac-tmpl/ccsr/images/img_sep_search.png b/koha-tmpl/opac-tmpl/ccsr/images/img_sep_search.png
new file mode 100644 (file)
index 0000000..263ab8d
Binary files /dev/null and b/koha-tmpl/opac-tmpl/ccsr/images/img_sep_search.png differ
diff --git a/koha-tmpl/opac-tmpl/ccsr/images/img_sep_tabs.png b/koha-tmpl/opac-tmpl/ccsr/images/img_sep_tabs.png
new file mode 100644 (file)
index 0000000..883a26d
Binary files /dev/null and b/koha-tmpl/opac-tmpl/ccsr/images/img_sep_tabs.png differ
diff --git a/koha-tmpl/opac-tmpl/ccsr/images/img_toolbar-button-cart.png b/koha-tmpl/opac-tmpl/ccsr/images/img_toolbar-button-cart.png
new file mode 100644 (file)
index 0000000..40c4ef2
Binary files /dev/null and b/koha-tmpl/opac-tmpl/ccsr/images/img_toolbar-button-cart.png differ
diff --git a/koha-tmpl/opac-tmpl/ccsr/images/img_toolbar-button-lists.png b/koha-tmpl/opac-tmpl/ccsr/images/img_toolbar-button-lists.png
new file mode 100644 (file)
index 0000000..f35ab52
Binary files /dev/null and b/koha-tmpl/opac-tmpl/ccsr/images/img_toolbar-button-lists.png differ
diff --git a/koha-tmpl/opac-tmpl/ccsr/images/item-bullet.gif b/koha-tmpl/opac-tmpl/ccsr/images/item-bullet.gif
new file mode 100644 (file)
index 0000000..eae920d
Binary files /dev/null and b/koha-tmpl/opac-tmpl/ccsr/images/item-bullet.gif differ
diff --git a/koha-tmpl/opac-tmpl/ccsr/images/koha-logo.gif b/koha-tmpl/opac-tmpl/ccsr/images/koha-logo.gif
new file mode 100644 (file)
index 0000000..5a16572
Binary files /dev/null and b/koha-tmpl/opac-tmpl/ccsr/images/koha-logo.gif differ
diff --git a/koha-tmpl/opac-tmpl/ccsr/images/loading.gif b/koha-tmpl/opac-tmpl/ccsr/images/loading.gif
new file mode 100644 (file)
index 0000000..3c2f7c0
Binary files /dev/null and b/koha-tmpl/opac-tmpl/ccsr/images/loading.gif differ
diff --git a/koha-tmpl/opac-tmpl/ccsr/images/logo-koha.png b/koha-tmpl/opac-tmpl/ccsr/images/logo-koha.png
new file mode 100644 (file)
index 0000000..e20b62d
Binary files /dev/null and b/koha-tmpl/opac-tmpl/ccsr/images/logo-koha.png differ
diff --git a/koha-tmpl/opac-tmpl/ccsr/images/mobile-menu-button.png b/koha-tmpl/opac-tmpl/ccsr/images/mobile-menu-button.png
new file mode 100644 (file)
index 0000000..a19d5a5
Binary files /dev/null and b/koha-tmpl/opac-tmpl/ccsr/images/mobile-menu-button.png differ
diff --git a/koha-tmpl/opac-tmpl/ccsr/images/socnet/delicious16.gif b/koha-tmpl/opac-tmpl/ccsr/images/socnet/delicious16.gif
new file mode 100644 (file)
index 0000000..11682e8
Binary files /dev/null and b/koha-tmpl/opac-tmpl/ccsr/images/socnet/delicious16.gif differ
diff --git a/koha-tmpl/opac-tmpl/ccsr/images/socnet/facebook16.png b/koha-tmpl/opac-tmpl/ccsr/images/socnet/facebook16.png
new file mode 100644 (file)
index 0000000..1176590
Binary files /dev/null and b/koha-tmpl/opac-tmpl/ccsr/images/socnet/facebook16.png differ
diff --git a/koha-tmpl/opac-tmpl/ccsr/images/socnet/linkedin16.png b/koha-tmpl/opac-tmpl/ccsr/images/socnet/linkedin16.png
new file mode 100644 (file)
index 0000000..2a195c2
Binary files /dev/null and b/koha-tmpl/opac-tmpl/ccsr/images/socnet/linkedin16.png differ
diff --git a/koha-tmpl/opac-tmpl/ccsr/images/socnet/mailto16.png b/koha-tmpl/opac-tmpl/ccsr/images/socnet/mailto16.png
new file mode 100644 (file)
index 0000000..d8e4a5a
Binary files /dev/null and b/koha-tmpl/opac-tmpl/ccsr/images/socnet/mailto16.png differ
diff --git a/koha-tmpl/opac-tmpl/ccsr/images/socnet/twitter16.png b/koha-tmpl/opac-tmpl/ccsr/images/socnet/twitter16.png
new file mode 100644 (file)
index 0000000..ccb1b61
Binary files /dev/null and b/koha-tmpl/opac-tmpl/ccsr/images/socnet/twitter16.png differ
diff --git a/koha-tmpl/opac-tmpl/ccsr/images/sprite.png b/koha-tmpl/opac-tmpl/ccsr/images/sprite.png
new file mode 100644 (file)
index 0000000..797c0f5
Binary files /dev/null and b/koha-tmpl/opac-tmpl/ccsr/images/sprite.png differ
diff --git a/koha-tmpl/opac-tmpl/ccsr/images/star-ratings-empty.gif b/koha-tmpl/opac-tmpl/ccsr/images/star-ratings-empty.gif
new file mode 100644 (file)
index 0000000..09b6305
Binary files /dev/null and b/koha-tmpl/opac-tmpl/ccsr/images/star-ratings-empty.gif differ
diff --git a/koha-tmpl/opac-tmpl/ccsr/images/star-ratings.gif b/koha-tmpl/opac-tmpl/ccsr/images/star-ratings.gif
new file mode 100644 (file)
index 0000000..83ef62e
Binary files /dev/null and b/koha-tmpl/opac-tmpl/ccsr/images/star-ratings.gif differ
diff --git a/koha-tmpl/opac-tmpl/ccsr/images/star.gif b/koha-tmpl/opac-tmpl/ccsr/images/star.gif
new file mode 100644 (file)
index 0000000..d0948a7
Binary files /dev/null and b/koha-tmpl/opac-tmpl/ccsr/images/star.gif differ
diff --git a/koha-tmpl/opac-tmpl/ccsr/images/tag-small-disabled.png b/koha-tmpl/opac-tmpl/ccsr/images/tag-small-disabled.png
new file mode 100644 (file)
index 0000000..4976cb0
Binary files /dev/null and b/koha-tmpl/opac-tmpl/ccsr/images/tag-small-disabled.png differ
diff --git a/koha-tmpl/opac-tmpl/ccsr/images/tag-small.png b/koha-tmpl/opac-tmpl/ccsr/images/tag-small.png
new file mode 100644 (file)
index 0000000..7e8b39e
Binary files /dev/null and b/koha-tmpl/opac-tmpl/ccsr/images/tag-small.png differ
diff --git a/koha-tmpl/opac-tmpl/ccsr/itemtypeimg/Seshat/AV.gif b/koha-tmpl/opac-tmpl/ccsr/itemtypeimg/Seshat/AV.gif
new file mode 100644 (file)
index 0000000..4227b69
Binary files /dev/null and b/koha-tmpl/opac-tmpl/ccsr/itemtypeimg/Seshat/AV.gif differ
diff --git a/koha-tmpl/opac-tmpl/ccsr/itemtypeimg/Seshat/AV.jpg b/koha-tmpl/opac-tmpl/ccsr/itemtypeimg/Seshat/AV.jpg
new file mode 100644 (file)
index 0000000..7cca522
Binary files /dev/null and b/koha-tmpl/opac-tmpl/ccsr/itemtypeimg/Seshat/AV.jpg differ
diff --git a/koha-tmpl/opac-tmpl/ccsr/itemtypeimg/Seshat/DVD.gif b/koha-tmpl/opac-tmpl/ccsr/itemtypeimg/Seshat/DVD.gif
new file mode 100644 (file)
index 0000000..e72e4cd
Binary files /dev/null and b/koha-tmpl/opac-tmpl/ccsr/itemtypeimg/Seshat/DVD.gif differ
diff --git a/koha-tmpl/opac-tmpl/ccsr/itemtypeimg/Seshat/DVDreserve.gif b/koha-tmpl/opac-tmpl/ccsr/itemtypeimg/Seshat/DVDreserve.gif
new file mode 100644 (file)
index 0000000..29834b0
Binary files /dev/null and b/koha-tmpl/opac-tmpl/ccsr/itemtypeimg/Seshat/DVDreserve.gif differ
diff --git a/koha-tmpl/opac-tmpl/ccsr/itemtypeimg/Seshat/ILL.gif b/koha-tmpl/opac-tmpl/ccsr/itemtypeimg/Seshat/ILL.gif
new file mode 100644 (file)
index 0000000..fad7283
Binary files /dev/null and b/koha-tmpl/opac-tmpl/ccsr/itemtypeimg/Seshat/ILL.gif differ
diff --git a/koha-tmpl/opac-tmpl/ccsr/itemtypeimg/Seshat/ILL.jpg b/koha-tmpl/opac-tmpl/ccsr/itemtypeimg/Seshat/ILL.jpg
new file mode 100644 (file)
index 0000000..64aaf25
Binary files /dev/null and b/koha-tmpl/opac-tmpl/ccsr/itemtypeimg/Seshat/ILL.jpg differ
diff --git a/koha-tmpl/opac-tmpl/ccsr/itemtypeimg/Seshat/archivalCD.gif b/koha-tmpl/opac-tmpl/ccsr/itemtypeimg/Seshat/archivalCD.gif
new file mode 100644 (file)
index 0000000..632fe76
Binary files /dev/null and b/koha-tmpl/opac-tmpl/ccsr/itemtypeimg/Seshat/archivalCD.gif differ
diff --git a/koha-tmpl/opac-tmpl/ccsr/itemtypeimg/Seshat/archivalDVD.gif b/koha-tmpl/opac-tmpl/ccsr/itemtypeimg/Seshat/archivalDVD.gif
new file mode 100644 (file)
index 0000000..5b278cb
Binary files /dev/null and b/koha-tmpl/opac-tmpl/ccsr/itemtypeimg/Seshat/archivalDVD.gif differ
diff --git a/koha-tmpl/opac-tmpl/ccsr/itemtypeimg/Seshat/archivalVHS.gif b/koha-tmpl/opac-tmpl/ccsr/itemtypeimg/Seshat/archivalVHS.gif
new file mode 100644 (file)
index 0000000..a51563a
Binary files /dev/null and b/koha-tmpl/opac-tmpl/ccsr/itemtypeimg/Seshat/archivalVHS.gif differ
diff --git a/koha-tmpl/opac-tmpl/ccsr/itemtypeimg/Seshat/archivalVHS.jpg b/koha-tmpl/opac-tmpl/ccsr/itemtypeimg/Seshat/archivalVHS.jpg
new file mode 100644 (file)
index 0000000..6663a7e
Binary files /dev/null and b/koha-tmpl/opac-tmpl/ccsr/itemtypeimg/Seshat/archivalVHS.jpg differ
diff --git a/koha-tmpl/opac-tmpl/ccsr/itemtypeimg/Seshat/archivaltape.gif b/koha-tmpl/opac-tmpl/ccsr/itemtypeimg/Seshat/archivaltape.gif
new file mode 100644 (file)
index 0000000..b6d5382
Binary files /dev/null and b/koha-tmpl/opac-tmpl/ccsr/itemtypeimg/Seshat/archivaltape.gif differ
diff --git a/koha-tmpl/opac-tmpl/ccsr/itemtypeimg/Seshat/book.gif b/koha-tmpl/opac-tmpl/ccsr/itemtypeimg/Seshat/book.gif
new file mode 100644 (file)
index 0000000..3bbb8c6
Binary files /dev/null and b/koha-tmpl/opac-tmpl/ccsr/itemtypeimg/Seshat/book.gif differ
diff --git a/koha-tmpl/opac-tmpl/ccsr/itemtypeimg/Seshat/cd.gif b/koha-tmpl/opac-tmpl/ccsr/itemtypeimg/Seshat/cd.gif
new file mode 100644 (file)
index 0000000..904e2a6
Binary files /dev/null and b/koha-tmpl/opac-tmpl/ccsr/itemtypeimg/Seshat/cd.gif differ
diff --git a/koha-tmpl/opac-tmpl/ccsr/itemtypeimg/Seshat/cdrom.gif b/koha-tmpl/opac-tmpl/ccsr/itemtypeimg/Seshat/cdrom.gif
new file mode 100644 (file)
index 0000000..0208076
Binary files /dev/null and b/koha-tmpl/opac-tmpl/ccsr/itemtypeimg/Seshat/cdrom.gif differ
diff --git a/koha-tmpl/opac-tmpl/ccsr/itemtypeimg/Seshat/cdromreserve.gif b/koha-tmpl/opac-tmpl/ccsr/itemtypeimg/Seshat/cdromreserve.gif
new file mode 100644 (file)
index 0000000..f5c0974
Binary files /dev/null and b/koha-tmpl/opac-tmpl/ccsr/itemtypeimg/Seshat/cdromreserve.gif differ
diff --git a/koha-tmpl/opac-tmpl/ccsr/itemtypeimg/Seshat/download.gif b/koha-tmpl/opac-tmpl/ccsr/itemtypeimg/Seshat/download.gif
new file mode 100644 (file)
index 0000000..e28cc06
Binary files /dev/null and b/koha-tmpl/opac-tmpl/ccsr/itemtypeimg/Seshat/download.gif differ
diff --git a/koha-tmpl/opac-tmpl/ccsr/itemtypeimg/Seshat/ebook.gif b/koha-tmpl/opac-tmpl/ccsr/itemtypeimg/Seshat/ebook.gif
new file mode 100644 (file)
index 0000000..19a0231
Binary files /dev/null and b/koha-tmpl/opac-tmpl/ccsr/itemtypeimg/Seshat/ebook.gif differ
diff --git a/koha-tmpl/opac-tmpl/ccsr/itemtypeimg/Seshat/key.gif b/koha-tmpl/opac-tmpl/ccsr/itemtypeimg/Seshat/key.gif
new file mode 100644 (file)
index 0000000..1a1c5ff
Binary files /dev/null and b/koha-tmpl/opac-tmpl/ccsr/itemtypeimg/Seshat/key.gif differ
diff --git a/koha-tmpl/opac-tmpl/ccsr/itemtypeimg/Seshat/key.jpg b/koha-tmpl/opac-tmpl/ccsr/itemtypeimg/Seshat/key.jpg
new file mode 100644 (file)
index 0000000..e431641
Binary files /dev/null and b/koha-tmpl/opac-tmpl/ccsr/itemtypeimg/Seshat/key.jpg differ
diff --git a/koha-tmpl/opac-tmpl/ccsr/itemtypeimg/Seshat/newbook.gif b/koha-tmpl/opac-tmpl/ccsr/itemtypeimg/Seshat/newbook.gif
new file mode 100644 (file)
index 0000000..0d36106
Binary files /dev/null and b/koha-tmpl/opac-tmpl/ccsr/itemtypeimg/Seshat/newbook.gif differ
diff --git a/koha-tmpl/opac-tmpl/ccsr/itemtypeimg/Seshat/referencebook.gif b/koha-tmpl/opac-tmpl/ccsr/itemtypeimg/Seshat/referencebook.gif
new file mode 100644 (file)
index 0000000..e350c28
Binary files /dev/null and b/koha-tmpl/opac-tmpl/ccsr/itemtypeimg/Seshat/referencebook.gif differ
diff --git a/koha-tmpl/opac-tmpl/ccsr/itemtypeimg/Seshat/reservebook.gif b/koha-tmpl/opac-tmpl/ccsr/itemtypeimg/Seshat/reservebook.gif
new file mode 100644 (file)
index 0000000..bba9b26
Binary files /dev/null and b/koha-tmpl/opac-tmpl/ccsr/itemtypeimg/Seshat/reservebook.gif differ
diff --git a/koha-tmpl/opac-tmpl/ccsr/itemtypeimg/Seshat/reservecd.gif b/koha-tmpl/opac-tmpl/ccsr/itemtypeimg/Seshat/reservecd.gif
new file mode 100644 (file)
index 0000000..1e45013
Binary files /dev/null and b/koha-tmpl/opac-tmpl/ccsr/itemtypeimg/Seshat/reservecd.gif differ
diff --git a/koha-tmpl/opac-tmpl/ccsr/itemtypeimg/Seshat/reservetape.gif b/koha-tmpl/opac-tmpl/ccsr/itemtypeimg/Seshat/reservetape.gif
new file mode 100644 (file)
index 0000000..14a56a9
Binary files /dev/null and b/koha-tmpl/opac-tmpl/ccsr/itemtypeimg/Seshat/reservetape.gif differ
diff --git a/koha-tmpl/opac-tmpl/ccsr/itemtypeimg/Seshat/reservevhs.gif b/koha-tmpl/opac-tmpl/ccsr/itemtypeimg/Seshat/reservevhs.gif
new file mode 100644 (file)
index 0000000..9761c3e
Binary files /dev/null and b/koha-tmpl/opac-tmpl/ccsr/itemtypeimg/Seshat/reservevhs.gif differ
diff --git a/koha-tmpl/opac-tmpl/ccsr/itemtypeimg/Seshat/tape.gif b/koha-tmpl/opac-tmpl/ccsr/itemtypeimg/Seshat/tape.gif
new file mode 100644 (file)
index 0000000..793db8d
Binary files /dev/null and b/koha-tmpl/opac-tmpl/ccsr/itemtypeimg/Seshat/tape.gif differ
diff --git a/koha-tmpl/opac-tmpl/ccsr/itemtypeimg/Seshat/vhs.gif b/koha-tmpl/opac-tmpl/ccsr/itemtypeimg/Seshat/vhs.gif
new file mode 100644 (file)
index 0000000..a65106b
Binary files /dev/null and b/koha-tmpl/opac-tmpl/ccsr/itemtypeimg/Seshat/vhs.gif differ
diff --git a/koha-tmpl/opac-tmpl/ccsr/itemtypeimg/bridge/2d_art.gif b/koha-tmpl/opac-tmpl/ccsr/itemtypeimg/bridge/2d_art.gif
new file mode 100644 (file)
index 0000000..2fe7917
Binary files /dev/null and b/koha-tmpl/opac-tmpl/ccsr/itemtypeimg/bridge/2d_art.gif differ
diff --git a/koha-tmpl/opac-tmpl/ccsr/itemtypeimg/bridge/3d_art.gif b/koha-tmpl/opac-tmpl/ccsr/itemtypeimg/bridge/3d_art.gif
new file mode 100644 (file)
index 0000000..ff31721
Binary files /dev/null and b/koha-tmpl/opac-tmpl/ccsr/itemtypeimg/bridge/3d_art.gif differ
diff --git a/koha-tmpl/opac-tmpl/ccsr/itemtypeimg/bridge/7Day_book.gif b/koha-tmpl/opac-tmpl/ccsr/itemtypeimg/bridge/7Day_book.gif
new file mode 100644 (file)
index 0000000..4be3ee1
Binary files /dev/null and b/koha-tmpl/opac-tmpl/ccsr/itemtypeimg/bridge/7Day_book.gif differ
diff --git a/koha-tmpl/opac-tmpl/ccsr/itemtypeimg/bridge/archive.gif b/koha-tmpl/opac-tmpl/ccsr/itemtypeimg/bridge/archive.gif
new file mode 100644 (file)
index 0000000..42d2901
Binary files /dev/null and b/koha-tmpl/opac-tmpl/ccsr/itemtypeimg/bridge/archive.gif differ
diff --git a/koha-tmpl/opac-tmpl/ccsr/itemtypeimg/bridge/audio.gif b/koha-tmpl/opac-tmpl/ccsr/itemtypeimg/bridge/audio.gif
new file mode 100644 (file)
index 0000000..35326b1
Binary files /dev/null and b/koha-tmpl/opac-tmpl/ccsr/itemtypeimg/bridge/audio.gif differ
diff --git a/koha-tmpl/opac-tmpl/ccsr/itemtypeimg/bridge/book.gif b/koha-tmpl/opac-tmpl/ccsr/itemtypeimg/bridge/book.gif
new file mode 100644 (file)
index 0000000..e882cb0
Binary files /dev/null and b/koha-tmpl/opac-tmpl/ccsr/itemtypeimg/bridge/book.gif differ
diff --git a/koha-tmpl/opac-tmpl/ccsr/itemtypeimg/bridge/cd_music.gif b/koha-tmpl/opac-tmpl/ccsr/itemtypeimg/bridge/cd_music.gif
new file mode 100644 (file)
index 0000000..8af80ee
Binary files /dev/null and b/koha-tmpl/opac-tmpl/ccsr/itemtypeimg/bridge/cd_music.gif differ
diff --git a/koha-tmpl/opac-tmpl/ccsr/itemtypeimg/bridge/computer_file.gif b/koha-tmpl/opac-tmpl/ccsr/itemtypeimg/bridge/computer_file.gif
new file mode 100644 (file)
index 0000000..b289c94
Binary files /dev/null and b/koha-tmpl/opac-tmpl/ccsr/itemtypeimg/bridge/computer_file.gif differ
diff --git a/koha-tmpl/opac-tmpl/ccsr/itemtypeimg/bridge/digital_audio.gif b/koha-tmpl/opac-tmpl/ccsr/itemtypeimg/bridge/digital_audio.gif
new file mode 100644 (file)
index 0000000..78fecc4
Binary files /dev/null and b/koha-tmpl/opac-tmpl/ccsr/itemtypeimg/bridge/digital_audio.gif differ
diff --git a/koha-tmpl/opac-tmpl/ccsr/itemtypeimg/bridge/dvd.gif b/koha-tmpl/opac-tmpl/ccsr/itemtypeimg/bridge/dvd.gif
new file mode 100644 (file)
index 0000000..ec1334a
Binary files /dev/null and b/koha-tmpl/opac-tmpl/ccsr/itemtypeimg/bridge/dvd.gif differ
diff --git a/koha-tmpl/opac-tmpl/ccsr/itemtypeimg/bridge/e_book.gif b/koha-tmpl/opac-tmpl/ccsr/itemtypeimg/bridge/e_book.gif
new file mode 100644 (file)
index 0000000..d146c8c
Binary files /dev/null and b/koha-tmpl/opac-tmpl/ccsr/itemtypeimg/bridge/e_book.gif differ
diff --git a/koha-tmpl/opac-tmpl/ccsr/itemtypeimg/bridge/e_journal.gif b/koha-tmpl/opac-tmpl/ccsr/itemtypeimg/bridge/e_journal.gif
new file mode 100644 (file)
index 0000000..b0a165f
Binary files /dev/null and b/koha-tmpl/opac-tmpl/ccsr/itemtypeimg/bridge/e_journal.gif differ
diff --git a/koha-tmpl/opac-tmpl/ccsr/itemtypeimg/bridge/e_video.gif b/koha-tmpl/opac-tmpl/ccsr/itemtypeimg/bridge/e_video.gif
new file mode 100644 (file)
index 0000000..32fd4e5
Binary files /dev/null and b/koha-tmpl/opac-tmpl/ccsr/itemtypeimg/bridge/e_video.gif differ
diff --git a/koha-tmpl/opac-tmpl/ccsr/itemtypeimg/bridge/journal.gif b/koha-tmpl/opac-tmpl/ccsr/itemtypeimg/bridge/journal.gif
new file mode 100644 (file)
index 0000000..6539226
Binary files /dev/null and b/koha-tmpl/opac-tmpl/ccsr/itemtypeimg/bridge/journal.gif differ
diff --git a/koha-tmpl/opac-tmpl/ccsr/itemtypeimg/bridge/juvenile_book.gif b/koha-tmpl/opac-tmpl/ccsr/itemtypeimg/bridge/juvenile_book.gif
new file mode 100644 (file)
index 0000000..bd2eb76
Binary files /dev/null and b/koha-tmpl/opac-tmpl/ccsr/itemtypeimg/bridge/juvenile_book.gif differ
diff --git a/koha-tmpl/opac-tmpl/ccsr/itemtypeimg/bridge/kit.gif b/koha-tmpl/opac-tmpl/ccsr/itemtypeimg/bridge/kit.gif
new file mode 100644 (file)
index 0000000..ee4103c
Binary files /dev/null and b/koha-tmpl/opac-tmpl/ccsr/itemtypeimg/bridge/kit.gif differ
diff --git a/koha-tmpl/opac-tmpl/ccsr/itemtypeimg/bridge/laserdisk.gif b/koha-tmpl/opac-tmpl/ccsr/itemtypeimg/bridge/laserdisk.gif
new file mode 100644 (file)
index 0000000..9043a0a
Binary files /dev/null and b/koha-tmpl/opac-tmpl/ccsr/itemtypeimg/bridge/laserdisk.gif differ
diff --git a/koha-tmpl/opac-tmpl/ccsr/itemtypeimg/bridge/map.gif b/koha-tmpl/opac-tmpl/ccsr/itemtypeimg/bridge/map.gif
new file mode 100644 (file)
index 0000000..7c4d6de
Binary files /dev/null and b/koha-tmpl/opac-tmpl/ccsr/itemtypeimg/bridge/map.gif differ
diff --git a/koha-tmpl/opac-tmpl/ccsr/itemtypeimg/bridge/noncirc_book.gif b/koha-tmpl/opac-tmpl/ccsr/itemtypeimg/bridge/noncirc_book.gif
new file mode 100644 (file)
index 0000000..171e9d7
Binary files /dev/null and b/koha-tmpl/opac-tmpl/ccsr/itemtypeimg/bridge/noncirc_book.gif differ
diff --git a/koha-tmpl/opac-tmpl/ccsr/itemtypeimg/bridge/noncirc_dvd.gif b/koha-tmpl/opac-tmpl/ccsr/itemtypeimg/bridge/noncirc_dvd.gif
new file mode 100644 (file)
index 0000000..8bff4a9
Binary files /dev/null and b/koha-tmpl/opac-tmpl/ccsr/itemtypeimg/bridge/noncirc_dvd.gif differ
diff --git a/koha-tmpl/opac-tmpl/ccsr/itemtypeimg/bridge/periodical.gif b/koha-tmpl/opac-tmpl/ccsr/itemtypeimg/bridge/periodical.gif
new file mode 100644 (file)
index 0000000..8144f78
Binary files /dev/null and b/koha-tmpl/opac-tmpl/ccsr/itemtypeimg/bridge/periodical.gif differ
diff --git a/koha-tmpl/opac-tmpl/ccsr/itemtypeimg/bridge/realia.gif b/koha-tmpl/opac-tmpl/ccsr/itemtypeimg/bridge/realia.gif
new file mode 100644 (file)
index 0000000..aa832c6
Binary files /dev/null and b/koha-tmpl/opac-tmpl/ccsr/itemtypeimg/bridge/realia.gif differ
diff --git a/koha-tmpl/opac-tmpl/ccsr/itemtypeimg/bridge/reference.gif b/koha-tmpl/opac-tmpl/ccsr/itemtypeimg/bridge/reference.gif
new file mode 100644 (file)
index 0000000..8400aa8
Binary files /dev/null and b/koha-tmpl/opac-tmpl/ccsr/itemtypeimg/bridge/reference.gif differ
diff --git a/koha-tmpl/opac-tmpl/ccsr/itemtypeimg/bridge/reserve_book.gif b/koha-tmpl/opac-tmpl/ccsr/itemtypeimg/bridge/reserve_book.gif
new file mode 100644 (file)
index 0000000..ff64371
Binary files /dev/null and b/koha-tmpl/opac-tmpl/ccsr/itemtypeimg/bridge/reserve_book.gif differ
diff --git a/koha-tmpl/opac-tmpl/ccsr/itemtypeimg/bridge/score.gif b/koha-tmpl/opac-tmpl/ccsr/itemtypeimg/bridge/score.gif
new file mode 100644 (file)
index 0000000..9ec7bbd
Binary files /dev/null and b/koha-tmpl/opac-tmpl/ccsr/itemtypeimg/bridge/score.gif differ
diff --git a/koha-tmpl/opac-tmpl/ccsr/itemtypeimg/bridge/software.gif b/koha-tmpl/opac-tmpl/ccsr/itemtypeimg/bridge/software.gif
new file mode 100644 (file)
index 0000000..43c776b
Binary files /dev/null and b/koha-tmpl/opac-tmpl/ccsr/itemtypeimg/bridge/software.gif differ
diff --git a/koha-tmpl/opac-tmpl/ccsr/itemtypeimg/bridge/sound.gif b/koha-tmpl/opac-tmpl/ccsr/itemtypeimg/bridge/sound.gif
new file mode 100644 (file)
index 0000000..d2599ec
Binary files /dev/null and b/koha-tmpl/opac-tmpl/ccsr/itemtypeimg/bridge/sound.gif differ
diff --git a/koha-tmpl/opac-tmpl/ccsr/itemtypeimg/bridge/tape_music.gif b/koha-tmpl/opac-tmpl/ccsr/itemtypeimg/bridge/tape_music.gif
new file mode 100644 (file)
index 0000000..2910cee
Binary files /dev/null and b/koha-tmpl/opac-tmpl/ccsr/itemtypeimg/bridge/tape_music.gif differ
diff --git a/koha-tmpl/opac-tmpl/ccsr/itemtypeimg/bridge/vhs.gif b/koha-tmpl/opac-tmpl/ccsr/itemtypeimg/bridge/vhs.gif
new file mode 100644 (file)
index 0000000..0a1cc4a
Binary files /dev/null and b/koha-tmpl/opac-tmpl/ccsr/itemtypeimg/bridge/vhs.gif differ
diff --git a/koha-tmpl/opac-tmpl/ccsr/itemtypeimg/bridge/vinyl_music.gif b/koha-tmpl/opac-tmpl/ccsr/itemtypeimg/bridge/vinyl_music.gif
new file mode 100644 (file)
index 0000000..654f5bf
Binary files /dev/null and b/koha-tmpl/opac-tmpl/ccsr/itemtypeimg/bridge/vinyl_music.gif differ
diff --git a/koha-tmpl/opac-tmpl/ccsr/itemtypeimg/bridge/web.gif b/koha-tmpl/opac-tmpl/ccsr/itemtypeimg/bridge/web.gif
new file mode 100644 (file)
index 0000000..1b8f2cc
Binary files /dev/null and b/koha-tmpl/opac-tmpl/ccsr/itemtypeimg/bridge/web.gif differ
diff --git a/koha-tmpl/opac-tmpl/ccsr/itemtypeimg/carredart/bd.png b/koha-tmpl/opac-tmpl/ccsr/itemtypeimg/carredart/bd.png
new file mode 100644 (file)
index 0000000..773a712
Binary files /dev/null and b/koha-tmpl/opac-tmpl/ccsr/itemtypeimg/carredart/bd.png differ
diff --git a/koha-tmpl/opac-tmpl/ccsr/itemtypeimg/carredart/cd.png b/koha-tmpl/opac-tmpl/ccsr/itemtypeimg/carredart/cd.png
new file mode 100644 (file)
index 0000000..b29e4f5
Binary files /dev/null and b/koha-tmpl/opac-tmpl/ccsr/itemtypeimg/carredart/cd.png differ
diff --git a/koha-tmpl/opac-tmpl/ccsr/itemtypeimg/carredart/cdrom.png b/koha-tmpl/opac-tmpl/ccsr/itemtypeimg/carredart/cdrom.png
new file mode 100644 (file)
index 0000000..25957ea
Binary files /dev/null and b/koha-tmpl/opac-tmpl/ccsr/itemtypeimg/carredart/cdrom.png differ
diff --git a/koha-tmpl/opac-tmpl/ccsr/itemtypeimg/carredart/dossier_de_presse.png b/koha-tmpl/opac-tmpl/ccsr/itemtypeimg/carredart/dossier_de_presse.png
new file mode 100644 (file)
index 0000000..8a13696
Binary files /dev/null and b/koha-tmpl/opac-tmpl/ccsr/itemtypeimg/carredart/dossier_de_presse.png differ
diff --git a/koha-tmpl/opac-tmpl/ccsr/itemtypeimg/carredart/dvd.png b/koha-tmpl/opac-tmpl/ccsr/itemtypeimg/carredart/dvd.png
new file mode 100644 (file)
index 0000000..585a2d3
Binary files /dev/null and b/koha-tmpl/opac-tmpl/ccsr/itemtypeimg/carredart/dvd.png differ
diff --git a/koha-tmpl/opac-tmpl/ccsr/itemtypeimg/carredart/dvd_musical.png b/koha-tmpl/opac-tmpl/ccsr/itemtypeimg/carredart/dvd_musical.png
new file mode 100644 (file)
index 0000000..f5941e2
Binary files /dev/null and b/koha-tmpl/opac-tmpl/ccsr/itemtypeimg/carredart/dvd_musical.png differ
diff --git a/koha-tmpl/opac-tmpl/ccsr/itemtypeimg/carredart/livre.png b/koha-tmpl/opac-tmpl/ccsr/itemtypeimg/carredart/livre.png
new file mode 100644 (file)
index 0000000..25dcb9c
Binary files /dev/null and b/koha-tmpl/opac-tmpl/ccsr/itemtypeimg/carredart/livre.png differ
diff --git a/koha-tmpl/opac-tmpl/ccsr/itemtypeimg/carredart/livre_ancien.png b/koha-tmpl/opac-tmpl/ccsr/itemtypeimg/carredart/livre_ancien.png
new file mode 100644 (file)
index 0000000..2ffdb2d
Binary files /dev/null and b/koha-tmpl/opac-tmpl/ccsr/itemtypeimg/carredart/livre_ancien.png differ
diff --git a/koha-tmpl/opac-tmpl/ccsr/itemtypeimg/carredart/livre_artiste.png b/koha-tmpl/opac-tmpl/ccsr/itemtypeimg/carredart/livre_artiste.png
new file mode 100644 (file)
index 0000000..39fedb4
Binary files /dev/null and b/koha-tmpl/opac-tmpl/ccsr/itemtypeimg/carredart/livre_artiste.png differ
diff --git a/koha-tmpl/opac-tmpl/ccsr/itemtypeimg/carredart/livre_audio.png b/koha-tmpl/opac-tmpl/ccsr/itemtypeimg/carredart/livre_audio.png
new file mode 100644 (file)
index 0000000..2da6a5a
Binary files /dev/null and b/koha-tmpl/opac-tmpl/ccsr/itemtypeimg/carredart/livre_audio.png differ
diff --git a/koha-tmpl/opac-tmpl/ccsr/itemtypeimg/carredart/livre_en_gros_caracteres.png b/koha-tmpl/opac-tmpl/ccsr/itemtypeimg/carredart/livre_en_gros_caracteres.png
new file mode 100644 (file)
index 0000000..a658285
Binary files /dev/null and b/koha-tmpl/opac-tmpl/ccsr/itemtypeimg/carredart/livre_en_gros_caracteres.png differ
diff --git a/koha-tmpl/opac-tmpl/ccsr/itemtypeimg/carredart/livre_multimedia.png b/koha-tmpl/opac-tmpl/ccsr/itemtypeimg/carredart/livre_multimedia.png
new file mode 100644 (file)
index 0000000..0a3e2cd
Binary files /dev/null and b/koha-tmpl/opac-tmpl/ccsr/itemtypeimg/carredart/livre_multimedia.png differ
diff --git a/koha-tmpl/opac-tmpl/ccsr/itemtypeimg/carredart/partition.png b/koha-tmpl/opac-tmpl/ccsr/itemtypeimg/carredart/partition.png
new file mode 100644 (file)
index 0000000..65bb645
Binary files /dev/null and b/koha-tmpl/opac-tmpl/ccsr/itemtypeimg/carredart/partition.png differ
diff --git a/koha-tmpl/opac-tmpl/ccsr/itemtypeimg/carredart/revue.png b/koha-tmpl/opac-tmpl/ccsr/itemtypeimg/carredart/revue.png
new file mode 100644 (file)
index 0000000..338df90
Binary files /dev/null and b/koha-tmpl/opac-tmpl/ccsr/itemtypeimg/carredart/revue.png differ
diff --git a/koha-tmpl/opac-tmpl/ccsr/itemtypeimg/carredart/vhs.png b/koha-tmpl/opac-tmpl/ccsr/itemtypeimg/carredart/vhs.png
new file mode 100644 (file)
index 0000000..0709532
Binary files /dev/null and b/koha-tmpl/opac-tmpl/ccsr/itemtypeimg/carredart/vhs.png differ
diff --git a/koha-tmpl/opac-tmpl/ccsr/itemtypeimg/crystal-clear/Internet_Connection_Tools.png b/koha-tmpl/opac-tmpl/ccsr/itemtypeimg/crystal-clear/Internet_Connection_Tools.png
new file mode 100644 (file)
index 0000000..6ba047e
Binary files /dev/null and b/koha-tmpl/opac-tmpl/ccsr/itemtypeimg/crystal-clear/Internet_Connection_Tools.png differ
diff --git a/koha-tmpl/opac-tmpl/ccsr/itemtypeimg/crystal-clear/Quicktime.png b/koha-tmpl/opac-tmpl/ccsr/itemtypeimg/crystal-clear/Quicktime.png
new file mode 100644 (file)
index 0000000..cc7278a
Binary files /dev/null and b/koha-tmpl/opac-tmpl/ccsr/itemtypeimg/crystal-clear/Quicktime.png differ
diff --git a/koha-tmpl/opac-tmpl/ccsr/itemtypeimg/crystal-clear/_COPYING.txt b/koha-tmpl/opac-tmpl/ccsr/itemtypeimg/crystal-clear/_COPYING.txt
new file mode 100644 (file)
index 0000000..b3aa599
--- /dev/null
@@ -0,0 +1,120 @@
+License
+
+The Crystal Project are released under LGPL.
+
+GNU General Public License.
+
+   0.
+
+      This License Agreement applies to any software library or other program which contains a notice placed by the copyright holder or other authorized party saying it may be distributed under the terms of this Lesser General Public License (also called "this License"). Each licensee is addressed as "you".
+
+      A "library" means a collection of software functions and/or data prepared so as to be conveniently linked with application programs (which use some of those functions and data) to form executables.
+
+      The "Library", below, refers to any such software library or work which has been distributed under these terms. A "work based on the Library" means either the Library or any derivative work under copyright law: that is to say, a work containing the Library or a portion of it, either verbatim or with modifications and/or translated straightforwardly into another language. (Hereinafter, translation is included without limitation in the term "modification".)
+
+      "Source code" for a work means the preferred form of the work for making modifications to it. For a library, complete source code means all the source code for all modules it contains, plus any associated interface definition files, plus the scripts used to control compilation and installation of the library.
+
+      Activities other than copying, distribution and modification are not covered by this License; they are outside its scope. The act of running a program using the Library is not restricted, and output from such a program is covered only if its contents constitute a work based on the Library (independent of the use of the Library in a tool for writing it). Whether that is true depends on what the Library does and what the program that uses the Library does.
+   1.
+
+      You may copy and distribute verbatim copies of the Library's complete source code as you receive it, in any medium, provided that you conspicuously and appropriately publish on each copy an appropriate copyright notice and disclaimer of warranty; keep intact all the notices that refer to this License and to the absence of any warranty; and distribute a copy of this License along with the Library.
+
+      You may charge a fee for the physical act of transferring a copy, and you may at your option offer warranty protection in exchange for a fee.
+   2.
+
+      You may modify your copy or copies of the Library or any portion of it, thus forming a work based on the Library, and copy and distribute such modifications or work under the terms of Section 1 above, provided that you also meet all of these conditions:
+         1. The modified work must itself be a software library.
+         2. You must cause the files modified to carry prominent notices stating that you changed the files and the date of any change.
+         3. You must cause the whole of the work to be licensed at no charge to all third parties under the terms of this License.
+         4. If a facility in the modified Library refers to a function or a table of data to be supplied by an application program that uses the facility, other than as an argument passed when the facility is invoked, then you must make a good faith effort to ensure that, in the event an application does not supply such function or table, the facility still operates, and performs whatever part of its purpose remains meaningful.
+
+      (For example, a function in a library to compute square roots has a purpose that is entirely well-defined independent of the application. Therefore, Subsection 2d requires that any application-supplied function or table used by this function must be optional: if the application does not supply it, the square root function must still compute square roots.)
+
+      These requirements apply to the modified work as a whole. If identifiable sections of that work are not derived from the Library, and can be reasonably considered independent and separate works in themselves, then this License, and its terms, do not apply to those sections when you distribute them as separate works. But when you distribute the same sections as part of a whole which is a work based on the Library, the distribution of the whole must be on the terms of this License, whose permissions for other licensees extend to the entire whole, and thus to each and every part regardless of who wrote it.
+
+      Thus, it is not the intent of this section to claim rights or contest your rights to work written entirely by you; rather, the intent is to exercise the right to control the distribution of derivative or collective works based on the Library.
+
+      In addition, mere aggregation of another work not based on the Library with the Library (or with a work based on the Library) on a volume of a storage or distribution medium does not bring the other work under the scope of this License.
+   3.
+
+      You may opt to apply the terms of the ordinary GNU General Public License instead of this License to a given copy of the Library. To do this, you must alter all the notices that refer to this License, so that they refer to the ordinary GNU General Public License, version 2, instead of to this License. (If a newer version than version 2 of the ordinary GNU General Public License has appeared, then you can specify that version instead if you wish.) Do not make any other change in these notices.
+
+      Once this change is made in a given copy, it is irreversible for that copy, so the ordinary GNU General Public License applies to all subsequent copies and derivative works made from that copy.
+
+      This option is useful when you wish to copy part of the code of the Library into a program that is not a library.
+   4.
+
+      You may copy and distribute the Library (or a portion or derivative of it, under Section 2) in object code or executable form under the terms of Sections 1 and 2 above provided that you accompany it with the complete corresponding machine-readable source code, which must be distributed under the terms of Sections 1 and 2 above on a medium customarily used for software interchange.
+
+      If distribution of object code is made by offering access to copy from a designated place, then offering equivalent access to copy the source code from the same place satisfies the requirement to distribute the source code, even though third parties are not compelled to copy the source along with the object code.
+   5.
+
+      A program that contains no derivative of any portion of the Library, but is designed to work with the Library by being compiled or linked with it, is called a "work that uses the Library". Such a work, in isolation, is not a derivative work of the Library, and therefore falls outside the scope of this License.
+      However, linking a "work that uses the Library" with the Library creates an executable that is a derivative of the Library (because it contains portions of the Library), rather than a "work that uses the library". The executable is therefore covered by this License. Section 6 states terms for distribution of such executables.
+
+      When a "work that uses the Library" uses material from a header file that is part of the Library, the object code for the work may be a derivative work of the Library even though the source code is not. Whether this is true is especially significant if the work can be linked without the Library, or if the work is itself a library. The threshold for this to be true is not precisely defined by law.
+
+      If such an object file uses only numerical parameters, data structure layouts and accessors, and small macros and small inline functions (ten lines or less in length), then the use of the object file is unrestricted, regardless of whether it is legally a derivative work. (Executables containing this object code plus portions of the Library will still fall under Section 6.)
+
+      Otherwise, if the work is a derivative of the Library, you may distribute the object code for the work under the terms of Section 6. Any executables containing that work also fall under Section 6, whether or not they are linked directly with the Library itself.
+   6.
+
+      As an exception to the Sections above, you may also combine or link a "work that uses the Library" with the Library to produce a work containing portions of the Library, and distribute that work under terms of your choice, provided that the terms permit modification of the work for the customer's own use and reverse engineering for debugging such modifications.
+
+      You must give prominent notice with each copy of the work that the Library is used in it and that the Library and its use are covered by this License. You must supply a copy of this License. If the work during execution displays copyright notices, you must include the copyright notice for the Library among them, as well as a reference directing the user to the copy of this License. Also, you must do one of these things:
+         1. Accompany the work with the complete corresponding machine-readable source code for the Library including whatever changes were used in the work (which must be distributed under Sections 1 and 2 above); and, if the work is an executable linked with the Library, with the complete machine-readable "work that uses the Library", as object code and/or source code, so that the user can modify the Library and then relink to produce a modified executable containing the modified Library. (It is understood that the user who changes the contents of definitions files in the Library will not necessarily be able to recompile the application to use the modified definitions.) .
+         2. Use a suitable shared library mechanism for linking with the Library. A suitable mechanism is one that (1) uses at run time a copy of the library already present on the user's computer system, rather than copying library functions into the executable, and (2) will operate properly with a modified version of the library, if the user installs one, as long as the modified version is interface-compatible with the version that the work was made with.
+         3. Accompany the work with a written offer, valid for at least three years, to give the same user the materials specified in Subsection 6a, above, for a charge no more than the cost of performing this distribution.
+         4. If distribution of the work is made by offering access to copy from a designated place, offer equivalent access to copy the above specified materials from the same place.
+         5. Verify that the user has already received a copy of these materials or that you have already sent this user a copy.
+
+      For an executable, the required form of the "work that uses the Library" must include any data and utility programs needed for reproducing the executable from it. However, as a special exception, the materials to be distributed need not include anything that is normally distributed (in either source or binary form) with the major components (compiler, kernel, and so on) of the operating system on which the executable runs, unless that component itself accompanies the executable.
+
+      It may happen that this requirement contradicts the license restrictions of other proprietary libraries that do not normally accompany the operating system. Such a contradiction means you cannot use both them and the Library together in an executable that you distribute.
+   7.
+
+      You may place library facilities that are a work based on the Library side-by-side in a single library together with other library facilities not covered by this License, and distribute such a combined library, provided that the separate distribution of the work based on the Library and of the other library facilities is otherwise permitted, and provided that you do these two things:
+         1.
+
+            Accompany the combined library with a copy of the same work based on the Library, uncombined with any other library facilities. This must be distributed under the terms of the Sections above.
+         2.
+
+            Give prominent notice with the combined library of the fact that part of it is a work based on the Library, and explaining where to find the accompanying uncombined form of the same work.
+   8.
+
+      You may not copy, modify, sublicense, link with, or distribute the Library except as expressly provided under this License. Any attempt otherwise to copy, modify, sublicense, link with, or distribute the Library is void, and will automatically terminate your rights under this License. However, parties who have received copies, or rights, from you under this License will not have their licenses terminated so long as such parties remain in full compliance.
+   9.
+
+      You are not required to accept this License, since you have not signed it. However, nothing else grants you permission to modify or distribute the Library or its derivative works. These actions are prohibited by law if you do not accept this License. Therefore, by modifying or distributing the Library (or any work based on the Library), you indicate your acceptance of this License to do so, and all its terms and conditions for copying, distributing or modifying the Library or works based on it.
+  10.
+
+      Each time you redistribute the Library (or any work based on the Library), the recipient automatically receives a license from the original licensor to copy, distribute, link with or modify the Library subject to these terms and conditions. You may not impose any further restrictions on the recipients' exercise of the rights granted herein. You are not responsible for enforcing compliance by third parties with this License.
+  11.
+
+      If, as a consequence of a court judgment or allegation of patent infringement or for any other reason (not limited to patent issues), conditions are imposed on you (whether by court order, agreement or otherwise) that contradict the conditions of this License, they do not excuse you from the conditions of this License. If you cannot distribute so as to satisfy simultaneously your obligations under this License and any other pertinent obligations, then as a consequence you may not distribute the Library at all. For example, if a patent license would not permit royalty-free redistribution of the Library by all those who receive copies directly or indirectly through you, then the only way you could satisfy both it and this License would be to refrain entirely from distribution of the Library.
+
+      If any portion of this section is held invalid or unenforceable under any particular circumstance, the balance of the section is intended to apply, and the section as a whole is intended to apply in other circumstances.
+
+      It is not the purpose of this section to induce you to infringe any patents or other property right claims or to contest validity of any such claims; this section has the sole purpose of protecting the integrity of the free software distribution system which is implemented by public license practices. Many people have made generous contributions to the wide range of software distributed through that system in reliance on consistent application of that system; it is up to the author/donor to decide if he or she is willing to distribute software through any other system and a licensee cannot impose that choice.
+
+      This section is intended to make thoroughly clear what is believed to be a consequence of the rest of this License.
+  12.
+
+      If the distribution and/or use of the Library is restricted in certain countries either by patents or by copyrighted interfaces, the original copyright holder who places the Library under this License may add an explicit geographical distribution limitation excluding those countries, so that distribution is permitted only in or among countries not thus excluded. In such case, this License incorporates the limitation as if written in the body of this License.
+  13.
+
+      The Free Software Foundation may publish revised and/or new versions of the Lesser General Public License from time to time. Such new versions will be similar in spirit to the present version, but may differ in detail to address new problems or concerns.
+
+      Each version is given a distinguishing version number. If the Library specifies a version number of this License which applies to it and "any later version", you have the option of following the terms and conditions either of that version or of any later version published by the Free Software Foundation. If the Library does not specify a license version number, you may choose any version ever published by the Free Software Foundation.
+  14.
+
+      If you wish to incorporate parts of the Library into other free programs whose distribution conditions are incompatible with these, write to the author to ask for permission. For software which is copyrighted by the Free Software Foundation, write to the Free Software Foundation; we sometimes make exceptions for this. Our decision will be guided by the two goals of preserving the free status of all derivatives of our free software and of promoting the sharing and reuse of software generally.
+
+No Warranty
+
+  15.
+
+      Because the library is licensed free of charge, there is no warranty for the library, to the extent permitted by applicable law. Except when otherwise stated in writing the copyright holders and/or other parties provide the library "as is" without warranty of any kind, either expressed or implied, including, but not limited to, the implied warranties of merchantability and fitness for a particular purpose. The entire risk as to the quality and performance of the library is with you. Should the library prove defective, you assume the cost of all necessary servicing, repair or correction.
+  16.
+
+      In no event unless required by applicable law or agreed to in writing will any copyright holder, or any other party who may modify and/or redistribute the library as permitted above, be liable to you for damages, including any general, special, incidental or consequential damages arising out of the use or inability to use the library (including but not limited to loss of data or data being rendered inaccurate or losses sustained by you or third parties or a failure of the library to operate with any other software), even if such holder or other party has been advised of the possibility of such damages.
diff --git a/koha-tmpl/opac-tmpl/ccsr/itemtypeimg/crystal-clear/_README.txt b/koha-tmpl/opac-tmpl/ccsr/itemtypeimg/crystal-clear/_README.txt
new file mode 100644 (file)
index 0000000..4d119eb
--- /dev/null
@@ -0,0 +1,27 @@
+The Crystal Clear icon set was created by
+Everaldo Coelho, http://www.everaldo.com/
+Submitted:  Oct 11 2003
+Updated:  Jun 16 2007
+
+Icons were acquired from Wikimedia Commons,
+http://commons.wikimedia.org/wiki/Crystal_Clear, 30 Jan 2010.
+
+The images were renamed, organized and re-sized to create this packager in a
+standard icon package format.  This was preformed by Jeff Israel at the Open
+Icon Library.
+
+This package was created by the Open Icon Library,
+http://openiconlibrary.sourceforge.net/ and is available for download there.T
+All Icons are free software; you can redistribute it and/or modify it under the terms of the GNU Lesser General Public License as published by the Free Software Foundation; either version 2.1 of the License, or (at your option) any later version. This library is distributed in the hope that it will be useful, but without any warranty; without even the implied warranty of merchantability or fitness for a particular purpose.
+
+See COPYING.txt or http://www.everaldo.com/crystal/?action=license for details.
+
+---------------
+
+Added to this set were three images by RayAna Min Park (August 2011):
+
+books-closed.png
+books-open-cd.png
+books-open.png
+
+All Icons are free software; you can redistribute it and/or modify it under the terms of the GNU Lesser General Public License as published by the Free Software Foundation; either version 2.1 of the License, or (at your option) any later version.
\ No newline at end of file
diff --git a/koha-tmpl/opac-tmpl/ccsr/itemtypeimg/crystal-clear/aktion.png b/koha-tmpl/opac-tmpl/ccsr/itemtypeimg/crystal-clear/aktion.png
new file mode 100644 (file)
index 0000000..f68701d
Binary files /dev/null and b/koha-tmpl/opac-tmpl/ccsr/itemtypeimg/crystal-clear/aktion.png differ
diff --git a/koha-tmpl/opac-tmpl/ccsr/itemtypeimg/crystal-clear/binary.png b/koha-tmpl/opac-tmpl/ccsr/itemtypeimg/crystal-clear/binary.png
new file mode 100644 (file)
index 0000000..2a84df8
Binary files /dev/null and b/koha-tmpl/opac-tmpl/ccsr/itemtypeimg/crystal-clear/binary.png differ
diff --git a/koha-tmpl/opac-tmpl/ccsr/itemtypeimg/crystal-clear/blockdevice.png b/koha-tmpl/opac-tmpl/ccsr/itemtypeimg/crystal-clear/blockdevice.png
new file mode 100644 (file)
index 0000000..41a7a62
Binary files /dev/null and b/koha-tmpl/opac-tmpl/ccsr/itemtypeimg/crystal-clear/blockdevice.png differ
diff --git a/koha-tmpl/opac-tmpl/ccsr/itemtypeimg/crystal-clear/bookmark.png b/koha-tmpl/opac-tmpl/ccsr/itemtypeimg/crystal-clear/bookmark.png
new file mode 100644 (file)
index 0000000..f02bae1
Binary files /dev/null and b/koha-tmpl/opac-tmpl/ccsr/itemtypeimg/crystal-clear/bookmark.png differ
diff --git a/koha-tmpl/opac-tmpl/ccsr/itemtypeimg/crystal-clear/books-closed-32.png b/koha-tmpl/opac-tmpl/ccsr/itemtypeimg/crystal-clear/books-closed-32.png
new file mode 100644 (file)
index 0000000..7bff6e4
Binary files /dev/null and b/koha-tmpl/opac-tmpl/ccsr/itemtypeimg/crystal-clear/books-closed-32.png differ
diff --git a/koha-tmpl/opac-tmpl/ccsr/itemtypeimg/crystal-clear/books-open-32.png b/koha-tmpl/opac-tmpl/ccsr/itemtypeimg/crystal-clear/books-open-32.png
new file mode 100644 (file)
index 0000000..2939d6a
Binary files /dev/null and b/koha-tmpl/opac-tmpl/ccsr/itemtypeimg/crystal-clear/books-open-32.png differ
diff --git a/koha-tmpl/opac-tmpl/ccsr/itemtypeimg/crystal-clear/books-open-cd-32.png b/koha-tmpl/opac-tmpl/ccsr/itemtypeimg/crystal-clear/books-open-cd-32.png
new file mode 100644 (file)
index 0000000..c0547a3
Binary files /dev/null and b/koha-tmpl/opac-tmpl/ccsr/itemtypeimg/crystal-clear/books-open-cd-32.png differ
diff --git a/koha-tmpl/opac-tmpl/ccsr/itemtypeimg/crystal-clear/browser.png b/koha-tmpl/opac-tmpl/ccsr/itemtypeimg/crystal-clear/browser.png
new file mode 100644 (file)
index 0000000..27cdb51
Binary files /dev/null and b/koha-tmpl/opac-tmpl/ccsr/itemtypeimg/crystal-clear/browser.png differ
diff --git a/koha-tmpl/opac-tmpl/ccsr/itemtypeimg/crystal-clear/build.png b/koha-tmpl/opac-tmpl/ccsr/itemtypeimg/crystal-clear/build.png
new file mode 100644 (file)
index 0000000..a24c07e
Binary files /dev/null and b/koha-tmpl/opac-tmpl/ccsr/itemtypeimg/crystal-clear/build.png differ
diff --git a/koha-tmpl/opac-tmpl/ccsr/itemtypeimg/crystal-clear/calc.png b/koha-tmpl/opac-tmpl/ccsr/itemtypeimg/crystal-clear/calc.png
new file mode 100644 (file)
index 0000000..980402d
Binary files /dev/null and b/koha-tmpl/opac-tmpl/ccsr/itemtypeimg/crystal-clear/calc.png differ
diff --git a/koha-tmpl/opac-tmpl/ccsr/itemtypeimg/crystal-clear/camera.png b/koha-tmpl/opac-tmpl/ccsr/itemtypeimg/crystal-clear/camera.png
new file mode 100644 (file)
index 0000000..ea1db14
Binary files /dev/null and b/koha-tmpl/opac-tmpl/ccsr/itemtypeimg/crystal-clear/camera.png differ
diff --git a/koha-tmpl/opac-tmpl/ccsr/itemtypeimg/crystal-clear/cardgame.png b/koha-tmpl/opac-tmpl/ccsr/itemtypeimg/crystal-clear/cardgame.png
new file mode 100644 (file)
index 0000000..f97b1e7
Binary files /dev/null and b/koha-tmpl/opac-tmpl/ccsr/itemtypeimg/crystal-clear/cardgame.png differ
diff --git a/koha-tmpl/opac-tmpl/ccsr/itemtypeimg/crystal-clear/cdimage.png b/koha-tmpl/opac-tmpl/ccsr/itemtypeimg/crystal-clear/cdimage.png
new file mode 100644 (file)
index 0000000..ebb17da
Binary files /dev/null and b/koha-tmpl/opac-tmpl/ccsr/itemtypeimg/crystal-clear/cdimage.png differ
diff --git a/koha-tmpl/opac-tmpl/ccsr/itemtypeimg/crystal-clear/cdrom_mount.png b/koha-tmpl/opac-tmpl/ccsr/itemtypeimg/crystal-clear/cdrom_mount.png
new file mode 100644 (file)
index 0000000..d714732
Binary files /dev/null and b/koha-tmpl/opac-tmpl/ccsr/itemtypeimg/crystal-clear/cdrom_mount.png differ
diff --git a/koha-tmpl/opac-tmpl/ccsr/itemtypeimg/crystal-clear/cdrom_unmount.png b/koha-tmpl/opac-tmpl/ccsr/itemtypeimg/crystal-clear/cdrom_unmount.png
new file mode 100644 (file)
index 0000000..4ecbab8
Binary files /dev/null and b/koha-tmpl/opac-tmpl/ccsr/itemtypeimg/crystal-clear/cdrom_unmount.png differ
diff --git a/koha-tmpl/opac-tmpl/ccsr/itemtypeimg/crystal-clear/cdtrack.png b/koha-tmpl/opac-tmpl/ccsr/itemtypeimg/crystal-clear/cdtrack.png
new file mode 100644 (file)
index 0000000..57166c9
Binary files /dev/null and b/koha-tmpl/opac-tmpl/ccsr/itemtypeimg/crystal-clear/cdtrack.png differ
diff --git a/koha-tmpl/opac-tmpl/ccsr/itemtypeimg/crystal-clear/cdwriter_mount.png b/koha-tmpl/opac-tmpl/ccsr/itemtypeimg/crystal-clear/cdwriter_mount.png
new file mode 100644 (file)
index 0000000..63435f6
Binary files /dev/null and b/koha-tmpl/opac-tmpl/ccsr/itemtypeimg/crystal-clear/cdwriter_mount.png differ
diff --git a/koha-tmpl/opac-tmpl/ccsr/itemtypeimg/crystal-clear/cdwriter_unmount.png b/koha-tmpl/opac-tmpl/ccsr/itemtypeimg/crystal-clear/cdwriter_unmount.png
new file mode 100644 (file)
index 0000000..52fccad
Binary files /dev/null and b/koha-tmpl/opac-tmpl/ccsr/itemtypeimg/crystal-clear/cdwriter_unmount.png differ
diff --git a/koha-tmpl/opac-tmpl/ccsr/itemtypeimg/crystal-clear/decrypted.png b/koha-tmpl/opac-tmpl/ccsr/itemtypeimg/crystal-clear/decrypted.png
new file mode 100644 (file)
index 0000000..c96fc1b
Binary files /dev/null and b/koha-tmpl/opac-tmpl/ccsr/itemtypeimg/crystal-clear/decrypted.png differ
diff --git a/koha-tmpl/opac-tmpl/ccsr/itemtypeimg/crystal-clear/demo.png b/koha-tmpl/opac-tmpl/ccsr/itemtypeimg/crystal-clear/demo.png
new file mode 100644 (file)
index 0000000..9bdf62c
Binary files /dev/null and b/koha-tmpl/opac-tmpl/ccsr/itemtypeimg/crystal-clear/demo.png differ
diff --git a/koha-tmpl/opac-tmpl/ccsr/itemtypeimg/crystal-clear/desktopshare.png b/koha-tmpl/opac-tmpl/ccsr/itemtypeimg/crystal-clear/desktopshare.png
new file mode 100644 (file)
index 0000000..e81e87a
Binary files /dev/null and b/koha-tmpl/opac-tmpl/ccsr/itemtypeimg/crystal-clear/desktopshare.png differ
diff --git a/koha-tmpl/opac-tmpl/ccsr/itemtypeimg/crystal-clear/display.png b/koha-tmpl/opac-tmpl/ccsr/itemtypeimg/crystal-clear/display.png
new file mode 100644 (file)
index 0000000..4fff193
Binary files /dev/null and b/koha-tmpl/opac-tmpl/ccsr/itemtypeimg/crystal-clear/display.png differ
diff --git a/koha-tmpl/opac-tmpl/ccsr/itemtypeimg/crystal-clear/document.png b/koha-tmpl/opac-tmpl/ccsr/itemtypeimg/crystal-clear/document.png
new file mode 100644 (file)
index 0000000..8988e77
Binary files /dev/null and b/koha-tmpl/opac-tmpl/ccsr/itemtypeimg/crystal-clear/document.png differ
diff --git a/koha-tmpl/opac-tmpl/ccsr/itemtypeimg/crystal-clear/document2.png b/koha-tmpl/opac-tmpl/ccsr/itemtypeimg/crystal-clear/document2.png
new file mode 100644 (file)
index 0000000..f02995c
Binary files /dev/null and b/koha-tmpl/opac-tmpl/ccsr/itemtypeimg/crystal-clear/document2.png differ
diff --git a/koha-tmpl/opac-tmpl/ccsr/itemtypeimg/crystal-clear/download_manager.png b/koha-tmpl/opac-tmpl/ccsr/itemtypeimg/crystal-clear/download_manager.png
new file mode 100644 (file)
index 0000000..29f6b8e
Binary files /dev/null and b/koha-tmpl/opac-tmpl/ccsr/itemtypeimg/crystal-clear/download_manager.png differ
diff --git a/koha-tmpl/opac-tmpl/ccsr/itemtypeimg/crystal-clear/dvd_mount.png b/koha-tmpl/opac-tmpl/ccsr/itemtypeimg/crystal-clear/dvd_mount.png
new file mode 100644 (file)
index 0000000..759500d
Binary files /dev/null and b/koha-tmpl/opac-tmpl/ccsr/itemtypeimg/crystal-clear/dvd_mount.png differ
diff --git a/koha-tmpl/opac-tmpl/ccsr/itemtypeimg/crystal-clear/dvd_mount_2.png b/koha-tmpl/opac-tmpl/ccsr/itemtypeimg/crystal-clear/dvd_mount_2.png
new file mode 100644 (file)
index 0000000..44a5b91
Binary files /dev/null and b/koha-tmpl/opac-tmpl/ccsr/itemtypeimg/crystal-clear/dvd_mount_2.png differ
diff --git a/koha-tmpl/opac-tmpl/ccsr/itemtypeimg/crystal-clear/dvd_unmount.png b/koha-tmpl/opac-tmpl/ccsr/itemtypeimg/crystal-clear/dvd_unmount.png
new file mode 100644 (file)
index 0000000..55e5e41
Binary files /dev/null and b/koha-tmpl/opac-tmpl/ccsr/itemtypeimg/crystal-clear/dvd_unmount.png differ
diff --git a/koha-tmpl/opac-tmpl/ccsr/itemtypeimg/crystal-clear/edit.png b/koha-tmpl/opac-tmpl/ccsr/itemtypeimg/crystal-clear/edit.png
new file mode 100644 (file)
index 0000000..9cdbd34
Binary files /dev/null and b/koha-tmpl/opac-tmpl/ccsr/itemtypeimg/crystal-clear/edit.png differ
diff --git a/koha-tmpl/opac-tmpl/ccsr/itemtypeimg/crystal-clear/editpaste.png b/koha-tmpl/opac-tmpl/ccsr/itemtypeimg/crystal-clear/editpaste.png
new file mode 100644 (file)
index 0000000..15846cc
Binary files /dev/null and b/koha-tmpl/opac-tmpl/ccsr/itemtypeimg/crystal-clear/editpaste.png differ
diff --git a/koha-tmpl/opac-tmpl/ccsr/itemtypeimg/crystal-clear/encrypted.png b/koha-tmpl/opac-tmpl/ccsr/itemtypeimg/crystal-clear/encrypted.png
new file mode 100644 (file)
index 0000000..dfeba13
Binary files /dev/null and b/koha-tmpl/opac-tmpl/ccsr/itemtypeimg/crystal-clear/encrypted.png differ
diff --git a/koha-tmpl/opac-tmpl/ccsr/itemtypeimg/crystal-clear/file_temporary.png b/koha-tmpl/opac-tmpl/ccsr/itemtypeimg/crystal-clear/file_temporary.png
new file mode 100644 (file)
index 0000000..2cadff4
Binary files /dev/null and b/koha-tmpl/opac-tmpl/ccsr/itemtypeimg/crystal-clear/file_temporary.png differ
diff --git a/koha-tmpl/opac-tmpl/ccsr/itemtypeimg/crystal-clear/floppy_mount.png b/koha-tmpl/opac-tmpl/ccsr/itemtypeimg/crystal-clear/floppy_mount.png
new file mode 100644 (file)
index 0000000..44437d2
Binary files /dev/null and b/koha-tmpl/opac-tmpl/ccsr/itemtypeimg/crystal-clear/floppy_mount.png differ
diff --git a/koha-tmpl/opac-tmpl/ccsr/itemtypeimg/crystal-clear/floppy_unmount.png b/koha-tmpl/opac-tmpl/ccsr/itemtypeimg/crystal-clear/floppy_unmount.png
new file mode 100644 (file)
index 0000000..4fb26b5
Binary files /dev/null and b/koha-tmpl/opac-tmpl/ccsr/itemtypeimg/crystal-clear/floppy_unmount.png differ
diff --git a/koha-tmpl/opac-tmpl/ccsr/itemtypeimg/crystal-clear/folder_blue.png b/koha-tmpl/opac-tmpl/ccsr/itemtypeimg/crystal-clear/folder_blue.png
new file mode 100644 (file)
index 0000000..2be4be3
Binary files /dev/null and b/koha-tmpl/opac-tmpl/ccsr/itemtypeimg/crystal-clear/folder_blue.png differ
diff --git a/koha-tmpl/opac-tmpl/ccsr/itemtypeimg/crystal-clear/folder_green.png b/koha-tmpl/opac-tmpl/ccsr/itemtypeimg/crystal-clear/folder_green.png
new file mode 100644 (file)
index 0000000..dee110e
Binary files /dev/null and b/koha-tmpl/opac-tmpl/ccsr/itemtypeimg/crystal-clear/folder_green.png differ
diff --git a/koha-tmpl/opac-tmpl/ccsr/itemtypeimg/crystal-clear/folder_grey.png b/koha-tmpl/opac-tmpl/ccsr/itemtypeimg/crystal-clear/folder_grey.png
new file mode 100644 (file)
index 0000000..1311540
Binary files /dev/null and b/koha-tmpl/opac-tmpl/ccsr/itemtypeimg/crystal-clear/folder_grey.png differ
diff --git a/koha-tmpl/opac-tmpl/ccsr/itemtypeimg/crystal-clear/folder_grey_open.png b/koha-tmpl/opac-tmpl/ccsr/itemtypeimg/crystal-clear/folder_grey_open.png
new file mode 100644 (file)
index 0000000..4925e91
Binary files /dev/null and b/koha-tmpl/opac-tmpl/ccsr/itemtypeimg/crystal-clear/folder_grey_open.png differ
diff --git a/koha-tmpl/opac-tmpl/ccsr/itemtypeimg/crystal-clear/folder_html.png b/koha-tmpl/opac-tmpl/ccsr/itemtypeimg/crystal-clear/folder_html.png
new file mode 100644 (file)
index 0000000..d6d6f6f
Binary files /dev/null and b/koha-tmpl/opac-tmpl/ccsr/itemtypeimg/crystal-clear/folder_html.png differ
diff --git a/koha-tmpl/opac-tmpl/ccsr/itemtypeimg/crystal-clear/folder_image.png b/koha-tmpl/opac-tmpl/ccsr/itemtypeimg/crystal-clear/folder_image.png
new file mode 100644 (file)
index 0000000..ec82a25
Binary files /dev/null and b/koha-tmpl/opac-tmpl/ccsr/itemtypeimg/crystal-clear/folder_image.png differ
diff --git a/koha-tmpl/opac-tmpl/ccsr/itemtypeimg/crystal-clear/folder_images.png b/koha-tmpl/opac-tmpl/ccsr/itemtypeimg/crystal-clear/folder_images.png
new file mode 100644 (file)
index 0000000..f06baec
Binary files /dev/null and b/koha-tmpl/opac-tmpl/ccsr/itemtypeimg/crystal-clear/folder_images.png differ
diff --git a/koha-tmpl/opac-tmpl/ccsr/itemtypeimg/crystal-clear/folder_locked.png b/koha-tmpl/opac-tmpl/ccsr/itemtypeimg/crystal-clear/folder_locked.png
new file mode 100644 (file)
index 0000000..c9f2de7
Binary files /dev/null and b/koha-tmpl/opac-tmpl/ccsr/itemtypeimg/crystal-clear/folder_locked.png differ
diff --git a/koha-tmpl/opac-tmpl/ccsr/itemtypeimg/crystal-clear/folder_music.png b/koha-tmpl/opac-tmpl/ccsr/itemtypeimg/crystal-clear/folder_music.png
new file mode 100644 (file)
index 0000000..919f212
Binary files /dev/null and b/koha-tmpl/opac-tmpl/ccsr/itemtypeimg/crystal-clear/folder_music.png differ
diff --git a/koha-tmpl/opac-tmpl/ccsr/itemtypeimg/crystal-clear/folder_print.png b/koha-tmpl/opac-tmpl/ccsr/itemtypeimg/crystal-clear/folder_print.png
new file mode 100644 (file)
index 0000000..cb00dc9
Binary files /dev/null and b/koha-tmpl/opac-tmpl/ccsr/itemtypeimg/crystal-clear/folder_print.png differ
diff --git a/koha-tmpl/opac-tmpl/ccsr/itemtypeimg/crystal-clear/folder_red.png b/koha-tmpl/opac-tmpl/ccsr/itemtypeimg/crystal-clear/folder_red.png
new file mode 100644 (file)
index 0000000..1e1bbe3
Binary files /dev/null and b/koha-tmpl/opac-tmpl/ccsr/itemtypeimg/crystal-clear/folder_red.png differ
diff --git a/koha-tmpl/opac-tmpl/ccsr/itemtypeimg/crystal-clear/folder_sound.png b/koha-tmpl/opac-tmpl/ccsr/itemtypeimg/crystal-clear/folder_sound.png
new file mode 100644 (file)
index 0000000..f091233
Binary files /dev/null and b/koha-tmpl/opac-tmpl/ccsr/itemtypeimg/crystal-clear/folder_sound.png differ
diff --git a/koha-tmpl/opac-tmpl/ccsr/itemtypeimg/crystal-clear/folder_txt.png b/koha-tmpl/opac-tmpl/ccsr/itemtypeimg/crystal-clear/folder_txt.png
new file mode 100644 (file)
index 0000000..91c9a46
Binary files /dev/null and b/koha-tmpl/opac-tmpl/ccsr/itemtypeimg/crystal-clear/folder_txt.png differ
diff --git a/koha-tmpl/opac-tmpl/ccsr/itemtypeimg/crystal-clear/folder_video.png b/koha-tmpl/opac-tmpl/ccsr/itemtypeimg/crystal-clear/folder_video.png
new file mode 100644 (file)
index 0000000..c3f9d4a
Binary files /dev/null and b/koha-tmpl/opac-tmpl/ccsr/itemtypeimg/crystal-clear/folder_video.png differ
diff --git a/koha-tmpl/opac-tmpl/ccsr/itemtypeimg/crystal-clear/folder_yellow.png b/koha-tmpl/opac-tmpl/ccsr/itemtypeimg/crystal-clear/folder_yellow.png
new file mode 100644 (file)
index 0000000..0576bf0
Binary files /dev/null and b/koha-tmpl/opac-tmpl/ccsr/itemtypeimg/crystal-clear/folder_yellow.png differ
diff --git a/koha-tmpl/opac-tmpl/ccsr/itemtypeimg/crystal-clear/hdd_mount.png b/koha-tmpl/opac-tmpl/ccsr/itemtypeimg/crystal-clear/hdd_mount.png
new file mode 100644 (file)
index 0000000..2f1e6b1
Binary files /dev/null and b/koha-tmpl/opac-tmpl/ccsr/itemtypeimg/crystal-clear/hdd_mount.png differ
diff --git a/koha-tmpl/opac-tmpl/ccsr/itemtypeimg/crystal-clear/html.png b/koha-tmpl/opac-tmpl/ccsr/itemtypeimg/crystal-clear/html.png
new file mode 100644 (file)
index 0000000..bee3f62
Binary files /dev/null and b/koha-tmpl/opac-tmpl/ccsr/itemtypeimg/crystal-clear/html.png differ
diff --git a/koha-tmpl/opac-tmpl/ccsr/itemtypeimg/crystal-clear/image.png b/koha-tmpl/opac-tmpl/ccsr/itemtypeimg/crystal-clear/image.png
new file mode 100644 (file)
index 0000000..42d762c
Binary files /dev/null and b/koha-tmpl/opac-tmpl/ccsr/itemtypeimg/crystal-clear/image.png differ
diff --git a/koha-tmpl/opac-tmpl/ccsr/itemtypeimg/crystal-clear/image2.png b/koha-tmpl/opac-tmpl/ccsr/itemtypeimg/crystal-clear/image2.png
new file mode 100644 (file)
index 0000000..5ba95e8
Binary files /dev/null and b/koha-tmpl/opac-tmpl/ccsr/itemtypeimg/crystal-clear/image2.png differ
diff --git a/koha-tmpl/opac-tmpl/ccsr/itemtypeimg/crystal-clear/info.png b/koha-tmpl/opac-tmpl/ccsr/itemtypeimg/crystal-clear/info.png
new file mode 100644 (file)
index 0000000..e8990cb
Binary files /dev/null and b/koha-tmpl/opac-tmpl/ccsr/itemtypeimg/crystal-clear/info.png differ
diff --git a/koha-tmpl/opac-tmpl/ccsr/itemtypeimg/crystal-clear/internet.png b/koha-tmpl/opac-tmpl/ccsr/itemtypeimg/crystal-clear/internet.png
new file mode 100644 (file)
index 0000000..32da6a7
Binary files /dev/null and b/koha-tmpl/opac-tmpl/ccsr/itemtypeimg/crystal-clear/internet.png differ
diff --git a/koha-tmpl/opac-tmpl/ccsr/itemtypeimg/crystal-clear/joystick.png b/koha-tmpl/opac-tmpl/ccsr/itemtypeimg/crystal-clear/joystick.png
new file mode 100644 (file)
index 0000000..aad42cd
Binary files /dev/null and b/koha-tmpl/opac-tmpl/ccsr/itemtypeimg/crystal-clear/joystick.png differ
diff --git a/koha-tmpl/opac-tmpl/ccsr/itemtypeimg/crystal-clear/kaddressbook.png b/koha-tmpl/opac-tmpl/ccsr/itemtypeimg/crystal-clear/kaddressbook.png
new file mode 100644 (file)
index 0000000..1651f9c
Binary files /dev/null and b/koha-tmpl/opac-tmpl/ccsr/itemtypeimg/crystal-clear/kaddressbook.png differ
diff --git a/koha-tmpl/opac-tmpl/ccsr/itemtypeimg/crystal-clear/kbackgammon.png b/koha-tmpl/opac-tmpl/ccsr/itemtypeimg/crystal-clear/kbackgammon.png
new file mode 100644 (file)
index 0000000..843710f
Binary files /dev/null and b/koha-tmpl/opac-tmpl/ccsr/itemtypeimg/crystal-clear/kbackgammon.png differ
diff --git a/koha-tmpl/opac-tmpl/ccsr/itemtypeimg/crystal-clear/kcmdf.png b/koha-tmpl/opac-tmpl/ccsr/itemtypeimg/crystal-clear/kcmdf.png
new file mode 100644 (file)
index 0000000..8491ebf
Binary files /dev/null and b/koha-tmpl/opac-tmpl/ccsr/itemtypeimg/crystal-clear/kcmdf.png differ
diff --git a/koha-tmpl/opac-tmpl/ccsr/itemtypeimg/crystal-clear/kcmmidi.png b/koha-tmpl/opac-tmpl/ccsr/itemtypeimg/crystal-clear/kcmmidi.png
new file mode 100644 (file)
index 0000000..ae78b68
Binary files /dev/null and b/koha-tmpl/opac-tmpl/ccsr/itemtypeimg/crystal-clear/kcmmidi.png differ
diff --git a/koha-tmpl/opac-tmpl/ccsr/itemtypeimg/crystal-clear/kcoloredit.png b/koha-tmpl/opac-tmpl/ccsr/itemtypeimg/crystal-clear/kcoloredit.png
new file mode 100644 (file)
index 0000000..d4108a4
Binary files /dev/null and b/koha-tmpl/opac-tmpl/ccsr/itemtypeimg/crystal-clear/kcoloredit.png differ
diff --git a/koha-tmpl/opac-tmpl/ccsr/itemtypeimg/crystal-clear/kdict.png b/koha-tmpl/opac-tmpl/ccsr/itemtypeimg/crystal-clear/kdict.png
new file mode 100644 (file)
index 0000000..95b8e3f
Binary files /dev/null and b/koha-tmpl/opac-tmpl/ccsr/itemtypeimg/crystal-clear/kdict.png differ
diff --git a/koha-tmpl/opac-tmpl/ccsr/itemtypeimg/crystal-clear/kedit.png b/koha-tmpl/opac-tmpl/ccsr/itemtypeimg/crystal-clear/kedit.png
new file mode 100644 (file)
index 0000000..8000b63
Binary files /dev/null and b/koha-tmpl/opac-tmpl/ccsr/itemtypeimg/crystal-clear/kedit.png differ
diff --git a/koha-tmpl/opac-tmpl/ccsr/itemtypeimg/crystal-clear/keyboard.png b/koha-tmpl/opac-tmpl/ccsr/itemtypeimg/crystal-clear/keyboard.png
new file mode 100644 (file)
index 0000000..3710d08
Binary files /dev/null and b/koha-tmpl/opac-tmpl/ccsr/itemtypeimg/crystal-clear/keyboard.png differ
diff --git a/koha-tmpl/opac-tmpl/ccsr/itemtypeimg/crystal-clear/klaptop.png b/koha-tmpl/opac-tmpl/ccsr/itemtypeimg/crystal-clear/klaptop.png
new file mode 100644 (file)
index 0000000..6cfb8fb
Binary files /dev/null and b/koha-tmpl/opac-tmpl/ccsr/itemtypeimg/crystal-clear/klaptop.png differ
diff --git a/koha-tmpl/opac-tmpl/ccsr/itemtypeimg/crystal-clear/kmid.png b/koha-tmpl/opac-tmpl/ccsr/itemtypeimg/crystal-clear/kmid.png
new file mode 100644 (file)
index 0000000..ab67d0e
Binary files /dev/null and b/koha-tmpl/opac-tmpl/ccsr/itemtypeimg/crystal-clear/kmid.png differ
diff --git a/koha-tmpl/opac-tmpl/ccsr/itemtypeimg/crystal-clear/korganizer.png b/koha-tmpl/opac-tmpl/ccsr/itemtypeimg/crystal-clear/korganizer.png
new file mode 100644 (file)
index 0000000..32cccbd
Binary files /dev/null and b/koha-tmpl/opac-tmpl/ccsr/itemtypeimg/crystal-clear/korganizer.png differ
diff --git a/koha-tmpl/opac-tmpl/ccsr/itemtypeimg/crystal-clear/kpackage.png b/koha-tmpl/opac-tmpl/ccsr/itemtypeimg/crystal-clear/kpackage.png
new file mode 100644 (file)
index 0000000..1eae4ee
Binary files /dev/null and b/koha-tmpl/opac-tmpl/ccsr/itemtypeimg/crystal-clear/kpackage.png differ
diff --git a/koha-tmpl/opac-tmpl/ccsr/itemtypeimg/crystal-clear/kpat.png b/koha-tmpl/opac-tmpl/ccsr/itemtypeimg/crystal-clear/kpat.png
new file mode 100644 (file)
index 0000000..7a39b66
Binary files /dev/null and b/koha-tmpl/opac-tmpl/ccsr/itemtypeimg/crystal-clear/kpat.png differ
diff --git a/koha-tmpl/opac-tmpl/ccsr/itemtypeimg/crystal-clear/kpoker.png b/koha-tmpl/opac-tmpl/ccsr/itemtypeimg/crystal-clear/kpoker.png
new file mode 100644 (file)
index 0000000..6a99e3d
Binary files /dev/null and b/koha-tmpl/opac-tmpl/ccsr/itemtypeimg/crystal-clear/kpoker.png differ
diff --git a/koha-tmpl/opac-tmpl/ccsr/itemtypeimg/crystal-clear/kscd.png b/koha-tmpl/opac-tmpl/ccsr/itemtypeimg/crystal-clear/kscd.png
new file mode 100644 (file)
index 0000000..391ebc5
Binary files /dev/null and b/koha-tmpl/opac-tmpl/ccsr/itemtypeimg/crystal-clear/kscd.png differ
diff --git a/koha-tmpl/opac-tmpl/ccsr/itemtypeimg/crystal-clear/ksnapshot.png b/koha-tmpl/opac-tmpl/ccsr/itemtypeimg/crystal-clear/ksnapshot.png
new file mode 100644 (file)
index 0000000..25dd5ee
Binary files /dev/null and b/koha-tmpl/opac-tmpl/ccsr/itemtypeimg/crystal-clear/ksnapshot.png differ
diff --git a/koha-tmpl/opac-tmpl/ccsr/itemtypeimg/crystal-clear/kuser2.png b/koha-tmpl/opac-tmpl/ccsr/itemtypeimg/crystal-clear/kuser2.png
new file mode 100644 (file)
index 0000000..daf8727
Binary files /dev/null and b/koha-tmpl/opac-tmpl/ccsr/itemtypeimg/crystal-clear/kuser2.png differ
diff --git a/koha-tmpl/opac-tmpl/ccsr/itemtypeimg/crystal-clear/kwrite.png b/koha-tmpl/opac-tmpl/ccsr/itemtypeimg/crystal-clear/kwrite.png
new file mode 100644 (file)
index 0000000..efa8881
Binary files /dev/null and b/koha-tmpl/opac-tmpl/ccsr/itemtypeimg/crystal-clear/kwrite.png differ
diff --git a/koha-tmpl/opac-tmpl/ccsr/itemtypeimg/crystal-clear/kxkb.png b/koha-tmpl/opac-tmpl/ccsr/itemtypeimg/crystal-clear/kxkb.png
new file mode 100644 (file)
index 0000000..6496be9
Binary files /dev/null and b/koha-tmpl/opac-tmpl/ccsr/itemtypeimg/crystal-clear/kxkb.png differ
diff --git a/koha-tmpl/opac-tmpl/ccsr/itemtypeimg/crystal-clear/lock-silver.png b/koha-tmpl/opac-tmpl/ccsr/itemtypeimg/crystal-clear/lock-silver.png
new file mode 100644 (file)
index 0000000..ac44625
Binary files /dev/null and b/koha-tmpl/opac-tmpl/ccsr/itemtypeimg/crystal-clear/lock-silver.png differ
diff --git a/koha-tmpl/opac-tmpl/ccsr/itemtypeimg/crystal-clear/lock.png b/koha-tmpl/opac-tmpl/ccsr/itemtypeimg/crystal-clear/lock.png
new file mode 100644 (file)
index 0000000..270e6e8
Binary files /dev/null and b/koha-tmpl/opac-tmpl/ccsr/itemtypeimg/crystal-clear/lock.png differ
diff --git a/koha-tmpl/opac-tmpl/ccsr/itemtypeimg/crystal-clear/lock_-_pink.png b/koha-tmpl/opac-tmpl/ccsr/itemtypeimg/crystal-clear/lock_-_pink.png
new file mode 100644 (file)
index 0000000..9c8a8b2
Binary files /dev/null and b/koha-tmpl/opac-tmpl/ccsr/itemtypeimg/crystal-clear/lock_-_pink.png differ
diff --git a/koha-tmpl/opac-tmpl/ccsr/itemtypeimg/crystal-clear/log.png b/koha-tmpl/opac-tmpl/ccsr/itemtypeimg/crystal-clear/log.png
new file mode 100644 (file)
index 0000000..387d961
Binary files /dev/null and b/koha-tmpl/opac-tmpl/ccsr/itemtypeimg/crystal-clear/log.png differ
diff --git a/koha-tmpl/opac-tmpl/ccsr/itemtypeimg/crystal-clear/lsongs.png b/koha-tmpl/opac-tmpl/ccsr/itemtypeimg/crystal-clear/lsongs.png
new file mode 100644 (file)
index 0000000..d0019e3
Binary files /dev/null and b/koha-tmpl/opac-tmpl/ccsr/itemtypeimg/crystal-clear/lsongs.png differ
diff --git a/koha-tmpl/opac-tmpl/ccsr/itemtypeimg/crystal-clear/make.png b/koha-tmpl/opac-tmpl/ccsr/itemtypeimg/crystal-clear/make.png
new file mode 100644 (file)
index 0000000..3a2a0a6
Binary files /dev/null and b/koha-tmpl/opac-tmpl/ccsr/itemtypeimg/crystal-clear/make.png differ
diff --git a/koha-tmpl/opac-tmpl/ccsr/itemtypeimg/crystal-clear/man.png b/koha-tmpl/opac-tmpl/ccsr/itemtypeimg/crystal-clear/man.png
new file mode 100644 (file)
index 0000000..3f45c92
Binary files /dev/null and b/koha-tmpl/opac-tmpl/ccsr/itemtypeimg/crystal-clear/man.png differ
diff --git a/koha-tmpl/opac-tmpl/ccsr/itemtypeimg/crystal-clear/message.png b/koha-tmpl/opac-tmpl/ccsr/itemtypeimg/crystal-clear/message.png
new file mode 100644 (file)
index 0000000..a4eed85
Binary files /dev/null and b/koha-tmpl/opac-tmpl/ccsr/itemtypeimg/crystal-clear/message.png differ
diff --git a/koha-tmpl/opac-tmpl/ccsr/itemtypeimg/crystal-clear/mime-postscript.png b/koha-tmpl/opac-tmpl/ccsr/itemtypeimg/crystal-clear/mime-postscript.png
new file mode 100644 (file)
index 0000000..8041956
Binary files /dev/null and b/koha-tmpl/opac-tmpl/ccsr/itemtypeimg/crystal-clear/mime-postscript.png differ
diff --git a/koha-tmpl/opac-tmpl/ccsr/itemtypeimg/crystal-clear/mime_txt.png b/koha-tmpl/opac-tmpl/ccsr/itemtypeimg/crystal-clear/mime_txt.png
new file mode 100644 (file)
index 0000000..6eeb67e
Binary files /dev/null and b/koha-tmpl/opac-tmpl/ccsr/itemtypeimg/crystal-clear/mime_txt.png differ
diff --git a/koha-tmpl/opac-tmpl/ccsr/itemtypeimg/crystal-clear/mp3player.png b/koha-tmpl/opac-tmpl/ccsr/itemtypeimg/crystal-clear/mp3player.png
new file mode 100644 (file)
index 0000000..f8a79b7
Binary files /dev/null and b/koha-tmpl/opac-tmpl/ccsr/itemtypeimg/crystal-clear/mp3player.png differ
diff --git a/koha-tmpl/opac-tmpl/ccsr/itemtypeimg/crystal-clear/mp3player2.png b/koha-tmpl/opac-tmpl/ccsr/itemtypeimg/crystal-clear/mp3player2.png
new file mode 100644 (file)
index 0000000..2357de0
Binary files /dev/null and b/koha-tmpl/opac-tmpl/ccsr/itemtypeimg/crystal-clear/mp3player2.png differ
diff --git a/koha-tmpl/opac-tmpl/ccsr/itemtypeimg/crystal-clear/musicstore.png b/koha-tmpl/opac-tmpl/ccsr/itemtypeimg/crystal-clear/musicstore.png
new file mode 100644 (file)
index 0000000..412300c
Binary files /dev/null and b/koha-tmpl/opac-tmpl/ccsr/itemtypeimg/crystal-clear/musicstore.png differ
diff --git a/koha-tmpl/opac-tmpl/ccsr/itemtypeimg/crystal-clear/musicstore2.png b/koha-tmpl/opac-tmpl/ccsr/itemtypeimg/crystal-clear/musicstore2.png
new file mode 100644 (file)
index 0000000..d4a3197
Binary files /dev/null and b/koha-tmpl/opac-tmpl/ccsr/itemtypeimg/crystal-clear/musicstore2.png differ
diff --git a/koha-tmpl/opac-tmpl/ccsr/itemtypeimg/crystal-clear/mymac.png b/koha-tmpl/opac-tmpl/ccsr/itemtypeimg/crystal-clear/mymac.png
new file mode 100644 (file)
index 0000000..bf185f1
Binary files /dev/null and b/koha-tmpl/opac-tmpl/ccsr/itemtypeimg/crystal-clear/mymac.png differ
diff --git a/koha-tmpl/opac-tmpl/ccsr/itemtypeimg/crystal-clear/nfs_mount.png b/koha-tmpl/opac-tmpl/ccsr/itemtypeimg/crystal-clear/nfs_mount.png
new file mode 100644 (file)
index 0000000..9fe616e
Binary files /dev/null and b/koha-tmpl/opac-tmpl/ccsr/itemtypeimg/crystal-clear/nfs_mount.png differ
diff --git a/koha-tmpl/opac-tmpl/ccsr/itemtypeimg/crystal-clear/nfs_unmount.png b/koha-tmpl/opac-tmpl/ccsr/itemtypeimg/crystal-clear/nfs_unmount.png
new file mode 100644 (file)
index 0000000..4b8eeb8
Binary files /dev/null and b/koha-tmpl/opac-tmpl/ccsr/itemtypeimg/crystal-clear/nfs_unmount.png differ
diff --git a/koha-tmpl/opac-tmpl/ccsr/itemtypeimg/crystal-clear/palm.png b/koha-tmpl/opac-tmpl/ccsr/itemtypeimg/crystal-clear/palm.png
new file mode 100644 (file)
index 0000000..808b3b3
Binary files /dev/null and b/koha-tmpl/opac-tmpl/ccsr/itemtypeimg/crystal-clear/palm.png differ
diff --git a/koha-tmpl/opac-tmpl/ccsr/itemtypeimg/crystal-clear/pda.png b/koha-tmpl/opac-tmpl/ccsr/itemtypeimg/crystal-clear/pda.png
new file mode 100644 (file)
index 0000000..4cdd912
Binary files /dev/null and b/koha-tmpl/opac-tmpl/ccsr/itemtypeimg/crystal-clear/pda.png differ
diff --git a/koha-tmpl/opac-tmpl/ccsr/itemtypeimg/crystal-clear/pda_black.png b/koha-tmpl/opac-tmpl/ccsr/itemtypeimg/crystal-clear/pda_black.png
new file mode 100644 (file)
index 0000000..d9184cd
Binary files /dev/null and b/koha-tmpl/opac-tmpl/ccsr/itemtypeimg/crystal-clear/pda_black.png differ
diff --git a/koha-tmpl/opac-tmpl/ccsr/itemtypeimg/crystal-clear/pda_blue.png b/koha-tmpl/opac-tmpl/ccsr/itemtypeimg/crystal-clear/pda_blue.png
new file mode 100644 (file)
index 0000000..cbd4a23
Binary files /dev/null and b/koha-tmpl/opac-tmpl/ccsr/itemtypeimg/crystal-clear/pda_blue.png differ
diff --git a/koha-tmpl/opac-tmpl/ccsr/itemtypeimg/crystal-clear/print_class.png b/koha-tmpl/opac-tmpl/ccsr/itemtypeimg/crystal-clear/print_class.png
new file mode 100644 (file)
index 0000000..c3917dc
Binary files /dev/null and b/koha-tmpl/opac-tmpl/ccsr/itemtypeimg/crystal-clear/print_class.png differ
diff --git a/koha-tmpl/opac-tmpl/ccsr/itemtypeimg/crystal-clear/readme.png b/koha-tmpl/opac-tmpl/ccsr/itemtypeimg/crystal-clear/readme.png
new file mode 100644 (file)
index 0000000..77e524a
Binary files /dev/null and b/koha-tmpl/opac-tmpl/ccsr/itemtypeimg/crystal-clear/readme.png differ
diff --git a/koha-tmpl/opac-tmpl/ccsr/itemtypeimg/crystal-clear/reminders.png b/koha-tmpl/opac-tmpl/ccsr/itemtypeimg/crystal-clear/reminders.png
new file mode 100644 (file)
index 0000000..1c18109
Binary files /dev/null and b/koha-tmpl/opac-tmpl/ccsr/itemtypeimg/crystal-clear/reminders.png differ
diff --git a/koha-tmpl/opac-tmpl/ccsr/itemtypeimg/crystal-clear/scanner.png b/koha-tmpl/opac-tmpl/ccsr/itemtypeimg/crystal-clear/scanner.png
new file mode 100644 (file)
index 0000000..70d289f
Binary files /dev/null and b/koha-tmpl/opac-tmpl/ccsr/itemtypeimg/crystal-clear/scanner.png differ
diff --git a/koha-tmpl/opac-tmpl/ccsr/itemtypeimg/crystal-clear/schedule.png b/koha-tmpl/opac-tmpl/ccsr/itemtypeimg/crystal-clear/schedule.png
new file mode 100644 (file)
index 0000000..010b2d2
Binary files /dev/null and b/koha-tmpl/opac-tmpl/ccsr/itemtypeimg/crystal-clear/schedule.png differ
diff --git a/koha-tmpl/opac-tmpl/ccsr/itemtypeimg/crystal-clear/starthere.png b/koha-tmpl/opac-tmpl/ccsr/itemtypeimg/crystal-clear/starthere.png
new file mode 100644 (file)
index 0000000..b223080
Binary files /dev/null and b/koha-tmpl/opac-tmpl/ccsr/itemtypeimg/crystal-clear/starthere.png differ
diff --git a/koha-tmpl/opac-tmpl/ccsr/itemtypeimg/crystal-clear/tablet.png b/koha-tmpl/opac-tmpl/ccsr/itemtypeimg/crystal-clear/tablet.png
new file mode 100644 (file)
index 0000000..914bf8b
Binary files /dev/null and b/koha-tmpl/opac-tmpl/ccsr/itemtypeimg/crystal-clear/tablet.png differ
diff --git a/koha-tmpl/opac-tmpl/ccsr/itemtypeimg/crystal-clear/tutorials.png b/koha-tmpl/opac-tmpl/ccsr/itemtypeimg/crystal-clear/tutorials.png
new file mode 100644 (file)
index 0000000..4ddae20
Binary files /dev/null and b/koha-tmpl/opac-tmpl/ccsr/itemtypeimg/crystal-clear/tutorials.png differ
diff --git a/koha-tmpl/opac-tmpl/ccsr/itemtypeimg/crystal-clear/tv.png b/koha-tmpl/opac-tmpl/ccsr/itemtypeimg/crystal-clear/tv.png
new file mode 100644 (file)
index 0000000..144368f
Binary files /dev/null and b/koha-tmpl/opac-tmpl/ccsr/itemtypeimg/crystal-clear/tv.png differ
diff --git a/koha-tmpl/opac-tmpl/ccsr/itemtypeimg/crystal-clear/usb.png b/koha-tmpl/opac-tmpl/ccsr/itemtypeimg/crystal-clear/usb.png
new file mode 100644 (file)
index 0000000..44a57fc
Binary files /dev/null and b/koha-tmpl/opac-tmpl/ccsr/itemtypeimg/crystal-clear/usb.png differ
diff --git a/koha-tmpl/opac-tmpl/ccsr/itemtypeimg/crystal-clear/usbpendrive_mount.png b/koha-tmpl/opac-tmpl/ccsr/itemtypeimg/crystal-clear/usbpendrive_mount.png
new file mode 100644 (file)
index 0000000..0ed2540
Binary files /dev/null and b/koha-tmpl/opac-tmpl/ccsr/itemtypeimg/crystal-clear/usbpendrive_mount.png differ
diff --git a/koha-tmpl/opac-tmpl/ccsr/itemtypeimg/crystal-clear/usbpendrive_unmount.png b/koha-tmpl/opac-tmpl/ccsr/itemtypeimg/crystal-clear/usbpendrive_unmount.png
new file mode 100644 (file)
index 0000000..d5d8c0c
Binary files /dev/null and b/koha-tmpl/opac-tmpl/ccsr/itemtypeimg/crystal-clear/usbpendrive_unmount.png differ
diff --git a/koha-tmpl/opac-tmpl/ccsr/itemtypeimg/crystal-clear/viewmag.png b/koha-tmpl/opac-tmpl/ccsr/itemtypeimg/crystal-clear/viewmag.png
new file mode 100644 (file)
index 0000000..97334e6
Binary files /dev/null and b/koha-tmpl/opac-tmpl/ccsr/itemtypeimg/crystal-clear/viewmag.png differ
diff --git a/koha-tmpl/opac-tmpl/ccsr/itemtypeimg/crystal-clear/voice-support.png b/koha-tmpl/opac-tmpl/ccsr/itemtypeimg/crystal-clear/voice-support.png
new file mode 100644 (file)
index 0000000..fe8faf0
Binary files /dev/null and b/koha-tmpl/opac-tmpl/ccsr/itemtypeimg/crystal-clear/voice-support.png differ
diff --git a/koha-tmpl/opac-tmpl/ccsr/itemtypeimg/crystal-clear/xmms.png b/koha-tmpl/opac-tmpl/ccsr/itemtypeimg/crystal-clear/xmms.png
new file mode 100644 (file)
index 0000000..a6da8d7
Binary files /dev/null and b/koha-tmpl/opac-tmpl/ccsr/itemtypeimg/crystal-clear/xmms.png differ
diff --git a/koha-tmpl/opac-tmpl/ccsr/itemtypeimg/crystal-clear/zip_mount.png b/koha-tmpl/opac-tmpl/ccsr/itemtypeimg/crystal-clear/zip_mount.png
new file mode 100644 (file)
index 0000000..c0c5652
Binary files /dev/null and b/koha-tmpl/opac-tmpl/ccsr/itemtypeimg/crystal-clear/zip_mount.png differ
diff --git a/koha-tmpl/opac-tmpl/ccsr/itemtypeimg/crystal-clear/zip_unmount.png b/koha-tmpl/opac-tmpl/ccsr/itemtypeimg/crystal-clear/zip_unmount.png
new file mode 100644 (file)
index 0000000..f0b5735
Binary files /dev/null and b/koha-tmpl/opac-tmpl/ccsr/itemtypeimg/crystal-clear/zip_unmount.png differ
diff --git a/koha-tmpl/opac-tmpl/ccsr/itemtypeimg/liblime-kids/addtobasket.gif b/koha-tmpl/opac-tmpl/ccsr/itemtypeimg/liblime-kids/addtobasket.gif
new file mode 100644 (file)
index 0000000..4325b85
Binary files /dev/null and b/koha-tmpl/opac-tmpl/ccsr/itemtypeimg/liblime-kids/addtobasket.gif differ
diff --git a/koha-tmpl/opac-tmpl/ccsr/itemtypeimg/liblime-kids/addtocart.png b/koha-tmpl/opac-tmpl/ccsr/itemtypeimg/liblime-kids/addtocart.png
new file mode 100644 (file)
index 0000000..8acaef1
Binary files /dev/null and b/koha-tmpl/opac-tmpl/ccsr/itemtypeimg/liblime-kids/addtocart.png differ
diff --git a/koha-tmpl/opac-tmpl/ccsr/itemtypeimg/liblime-kids/addtoshelf.gif b/koha-tmpl/opac-tmpl/ccsr/itemtypeimg/liblime-kids/addtoshelf.gif
new file mode 100644 (file)
index 0000000..82b883a
Binary files /dev/null and b/koha-tmpl/opac-tmpl/ccsr/itemtypeimg/liblime-kids/addtoshelf.gif differ
diff --git a/koha-tmpl/opac-tmpl/ccsr/itemtypeimg/liblime-kids/addtoshelf.png b/koha-tmpl/opac-tmpl/ccsr/itemtypeimg/liblime-kids/addtoshelf.png
new file mode 100644 (file)
index 0000000..f07a0e8
Binary files /dev/null and b/koha-tmpl/opac-tmpl/ccsr/itemtypeimg/liblime-kids/addtoshelf.png differ
diff --git a/koha-tmpl/opac-tmpl/ccsr/itemtypeimg/liblime-kids/audiobook-cd.gif b/koha-tmpl/opac-tmpl/ccsr/itemtypeimg/liblime-kids/audiobook-cd.gif
new file mode 100644 (file)
index 0000000..9c4cc12
Binary files /dev/null and b/koha-tmpl/opac-tmpl/ccsr/itemtypeimg/liblime-kids/audiobook-cd.gif differ
diff --git a/koha-tmpl/opac-tmpl/ccsr/itemtypeimg/liblime-kids/audiobook-cd.png b/koha-tmpl/opac-tmpl/ccsr/itemtypeimg/liblime-kids/audiobook-cd.png
new file mode 100644 (file)
index 0000000..ba85607
Binary files /dev/null and b/koha-tmpl/opac-tmpl/ccsr/itemtypeimg/liblime-kids/audiobook-cd.png differ
diff --git a/koha-tmpl/opac-tmpl/ccsr/itemtypeimg/liblime-kids/audiobook.gif b/koha-tmpl/opac-tmpl/ccsr/itemtypeimg/liblime-kids/audiobook.gif
new file mode 100644 (file)
index 0000000..c0fac04
Binary files /dev/null and b/koha-tmpl/opac-tmpl/ccsr/itemtypeimg/liblime-kids/audiobook.gif differ
diff --git a/koha-tmpl/opac-tmpl/ccsr/itemtypeimg/liblime-kids/audiobook.png b/koha-tmpl/opac-tmpl/ccsr/itemtypeimg/liblime-kids/audiobook.png
new file mode 100644 (file)
index 0000000..eee19de
Binary files /dev/null and b/koha-tmpl/opac-tmpl/ccsr/itemtypeimg/liblime-kids/audiobook.png differ
diff --git a/koha-tmpl/opac-tmpl/ccsr/itemtypeimg/liblime-kids/beginner-reader-book.gif b/koha-tmpl/opac-tmpl/ccsr/itemtypeimg/liblime-kids/beginner-reader-book.gif
new file mode 100644 (file)
index 0000000..ffad7cc
Binary files /dev/null and b/koha-tmpl/opac-tmpl/ccsr/itemtypeimg/liblime-kids/beginner-reader-book.gif differ
diff --git a/koha-tmpl/opac-tmpl/ccsr/itemtypeimg/liblime-kids/beginner-reader.png b/koha-tmpl/opac-tmpl/ccsr/itemtypeimg/liblime-kids/beginner-reader.png
new file mode 100644 (file)
index 0000000..4a8c3a1
Binary files /dev/null and b/koha-tmpl/opac-tmpl/ccsr/itemtypeimg/liblime-kids/beginner-reader.png differ
diff --git a/koha-tmpl/opac-tmpl/ccsr/itemtypeimg/liblime-kids/big-book-icon.gif b/koha-tmpl/opac-tmpl/ccsr/itemtypeimg/liblime-kids/big-book-icon.gif
new file mode 100644 (file)
index 0000000..cfc4636
Binary files /dev/null and b/koha-tmpl/opac-tmpl/ccsr/itemtypeimg/liblime-kids/big-book-icon.gif differ
diff --git a/koha-tmpl/opac-tmpl/ccsr/itemtypeimg/liblime-kids/big-book-icon.png b/koha-tmpl/opac-tmpl/ccsr/itemtypeimg/liblime-kids/big-book-icon.png
new file mode 100644 (file)
index 0000000..200bf08
Binary files /dev/null and b/koha-tmpl/opac-tmpl/ccsr/itemtypeimg/liblime-kids/big-book-icon.png differ
diff --git a/koha-tmpl/opac-tmpl/ccsr/itemtypeimg/liblime-kids/book-bag-icon.png b/koha-tmpl/opac-tmpl/ccsr/itemtypeimg/liblime-kids/book-bag-icon.png
new file mode 100644 (file)
index 0000000..bc74205
Binary files /dev/null and b/koha-tmpl/opac-tmpl/ccsr/itemtypeimg/liblime-kids/book-bag-icon.png differ
diff --git a/koha-tmpl/opac-tmpl/ccsr/itemtypeimg/liblime-kids/book-bag.gif b/koha-tmpl/opac-tmpl/ccsr/itemtypeimg/liblime-kids/book-bag.gif
new file mode 100644 (file)
index 0000000..4e964b0
Binary files /dev/null and b/koha-tmpl/opac-tmpl/ccsr/itemtypeimg/liblime-kids/book-bag.gif differ
diff --git a/koha-tmpl/opac-tmpl/ccsr/itemtypeimg/liblime-kids/book-icon-60px.gif b/koha-tmpl/opac-tmpl/ccsr/itemtypeimg/liblime-kids/book-icon-60px.gif
new file mode 100644 (file)
index 0000000..efc0d00
Binary files /dev/null and b/koha-tmpl/opac-tmpl/ccsr/itemtypeimg/liblime-kids/book-icon-60px.gif differ
diff --git a/koha-tmpl/opac-tmpl/ccsr/itemtypeimg/liblime-kids/book-icon-author-search.gif b/koha-tmpl/opac-tmpl/ccsr/itemtypeimg/liblime-kids/book-icon-author-search.gif
new file mode 100644 (file)
index 0000000..90c3b4b
Binary files /dev/null and b/koha-tmpl/opac-tmpl/ccsr/itemtypeimg/liblime-kids/book-icon-author-search.gif differ
diff --git a/koha-tmpl/opac-tmpl/ccsr/itemtypeimg/liblime-kids/book-icon-author-search.png b/koha-tmpl/opac-tmpl/ccsr/itemtypeimg/liblime-kids/book-icon-author-search.png
new file mode 100644 (file)
index 0000000..e967455
Binary files /dev/null and b/koha-tmpl/opac-tmpl/ccsr/itemtypeimg/liblime-kids/book-icon-author-search.png differ
diff --git a/koha-tmpl/opac-tmpl/ccsr/itemtypeimg/liblime-kids/book-icon-biography.gif b/koha-tmpl/opac-tmpl/ccsr/itemtypeimg/liblime-kids/book-icon-biography.gif
new file mode 100644 (file)
index 0000000..d094ed7
Binary files /dev/null and b/koha-tmpl/opac-tmpl/ccsr/itemtypeimg/liblime-kids/book-icon-biography.gif differ
diff --git a/koha-tmpl/opac-tmpl/ccsr/itemtypeimg/liblime-kids/book-icon-biography.png b/koha-tmpl/opac-tmpl/ccsr/itemtypeimg/liblime-kids/book-icon-biography.png
new file mode 100644 (file)
index 0000000..4bcae4d
Binary files /dev/null and b/koha-tmpl/opac-tmpl/ccsr/itemtypeimg/liblime-kids/book-icon-biography.png differ
diff --git a/koha-tmpl/opac-tmpl/ccsr/itemtypeimg/liblime-kids/book-icon-call-number.gif b/koha-tmpl/opac-tmpl/ccsr/itemtypeimg/liblime-kids/book-icon-call-number.gif
new file mode 100644 (file)
index 0000000..aabcd72
Binary files /dev/null and b/koha-tmpl/opac-tmpl/ccsr/itemtypeimg/liblime-kids/book-icon-call-number.gif differ
diff --git a/koha-tmpl/opac-tmpl/ccsr/itemtypeimg/liblime-kids/book-icon-mystery.gif b/koha-tmpl/opac-tmpl/ccsr/itemtypeimg/liblime-kids/book-icon-mystery.gif
new file mode 100644 (file)
index 0000000..7f53e32
Binary files /dev/null and b/koha-tmpl/opac-tmpl/ccsr/itemtypeimg/liblime-kids/book-icon-mystery.gif differ
diff --git a/koha-tmpl/opac-tmpl/ccsr/itemtypeimg/liblime-kids/book-icon-mystery.png b/koha-tmpl/opac-tmpl/ccsr/itemtypeimg/liblime-kids/book-icon-mystery.png
new file mode 100644 (file)
index 0000000..5c4eea3
Binary files /dev/null and b/koha-tmpl/opac-tmpl/ccsr/itemtypeimg/liblime-kids/book-icon-mystery.png differ
diff --git a/koha-tmpl/opac-tmpl/ccsr/itemtypeimg/liblime-kids/book-icon-mystery2.gif b/koha-tmpl/opac-tmpl/ccsr/itemtypeimg/liblime-kids/book-icon-mystery2.gif
new file mode 100644 (file)
index 0000000..4f71521
Binary files /dev/null and b/koha-tmpl/opac-tmpl/ccsr/itemtypeimg/liblime-kids/book-icon-mystery2.gif differ
diff --git a/koha-tmpl/opac-tmpl/ccsr/itemtypeimg/liblime-kids/book-icon-non-fiction.gif b/koha-tmpl/opac-tmpl/ccsr/itemtypeimg/liblime-kids/book-icon-non-fiction.gif
new file mode 100644 (file)
index 0000000..73211e9
Binary files /dev/null and b/koha-tmpl/opac-tmpl/ccsr/itemtypeimg/liblime-kids/book-icon-non-fiction.gif differ
diff --git a/koha-tmpl/opac-tmpl/ccsr/itemtypeimg/liblime-kids/book-icon-non-fiction.png b/koha-tmpl/opac-tmpl/ccsr/itemtypeimg/liblime-kids/book-icon-non-fiction.png
new file mode 100644 (file)
index 0000000..43be77f
Binary files /dev/null and b/koha-tmpl/opac-tmpl/ccsr/itemtypeimg/liblime-kids/book-icon-non-fiction.png differ
diff --git a/koha-tmpl/opac-tmpl/ccsr/itemtypeimg/liblime-kids/book-icon-scifi-60px.gif b/koha-tmpl/opac-tmpl/ccsr/itemtypeimg/liblime-kids/book-icon-scifi-60px.gif
new file mode 100644 (file)
index 0000000..84b954e
Binary files /dev/null and b/koha-tmpl/opac-tmpl/ccsr/itemtypeimg/liblime-kids/book-icon-scifi-60px.gif differ
diff --git a/koha-tmpl/opac-tmpl/ccsr/itemtypeimg/liblime-kids/book-icon-sifi.png b/koha-tmpl/opac-tmpl/ccsr/itemtypeimg/liblime-kids/book-icon-sifi.png
new file mode 100644 (file)
index 0000000..4f43f7f
Binary files /dev/null and b/koha-tmpl/opac-tmpl/ccsr/itemtypeimg/liblime-kids/book-icon-sifi.png differ
diff --git a/koha-tmpl/opac-tmpl/ccsr/itemtypeimg/liblime-kids/book-icon-subject-search.gif b/koha-tmpl/opac-tmpl/ccsr/itemtypeimg/liblime-kids/book-icon-subject-search.gif
new file mode 100644 (file)
index 0000000..a750647
Binary files /dev/null and b/koha-tmpl/opac-tmpl/ccsr/itemtypeimg/liblime-kids/book-icon-subject-search.gif differ
diff --git a/koha-tmpl/opac-tmpl/ccsr/itemtypeimg/liblime-kids/book-icon-subject-search.png b/koha-tmpl/opac-tmpl/ccsr/itemtypeimg/liblime-kids/book-icon-subject-search.png
new file mode 100644 (file)
index 0000000..ed6dd10
Binary files /dev/null and b/koha-tmpl/opac-tmpl/ccsr/itemtypeimg/liblime-kids/book-icon-subject-search.png differ
diff --git a/koha-tmpl/opac-tmpl/ccsr/itemtypeimg/liblime-kids/book-icon-title-search.gif b/koha-tmpl/opac-tmpl/ccsr/itemtypeimg/liblime-kids/book-icon-title-search.gif
new file mode 100644 (file)
index 0000000..e9180ba
Binary files /dev/null and b/koha-tmpl/opac-tmpl/ccsr/itemtypeimg/liblime-kids/book-icon-title-search.gif differ
diff --git a/koha-tmpl/opac-tmpl/ccsr/itemtypeimg/liblime-kids/book-icon-title-search.png b/koha-tmpl/opac-tmpl/ccsr/itemtypeimg/liblime-kids/book-icon-title-search.png
new file mode 100644 (file)
index 0000000..352d4b1
Binary files /dev/null and b/koha-tmpl/opac-tmpl/ccsr/itemtypeimg/liblime-kids/book-icon-title-search.png differ
diff --git a/koha-tmpl/opac-tmpl/ccsr/itemtypeimg/liblime-kids/book-icon-western.gif b/koha-tmpl/opac-tmpl/ccsr/itemtypeimg/liblime-kids/book-icon-western.gif
new file mode 100644 (file)
index 0000000..a183faf
Binary files /dev/null and b/koha-tmpl/opac-tmpl/ccsr/itemtypeimg/liblime-kids/book-icon-western.gif differ
diff --git a/koha-tmpl/opac-tmpl/ccsr/itemtypeimg/liblime-kids/book-icon-western.png b/koha-tmpl/opac-tmpl/ccsr/itemtypeimg/liblime-kids/book-icon-western.png
new file mode 100644 (file)
index 0000000..a9d4069
Binary files /dev/null and b/koha-tmpl/opac-tmpl/ccsr/itemtypeimg/liblime-kids/book-icon-western.png differ
diff --git a/koha-tmpl/opac-tmpl/ccsr/itemtypeimg/liblime-kids/book-icon.png b/koha-tmpl/opac-tmpl/ccsr/itemtypeimg/liblime-kids/book-icon.png
new file mode 100644 (file)
index 0000000..82bed33
Binary files /dev/null and b/koha-tmpl/opac-tmpl/ccsr/itemtypeimg/liblime-kids/book-icon.png differ
diff --git a/koha-tmpl/opac-tmpl/ccsr/itemtypeimg/liblime-kids/book-large-print.gif b/koha-tmpl/opac-tmpl/ccsr/itemtypeimg/liblime-kids/book-large-print.gif
new file mode 100644 (file)
index 0000000..c59a0ba
Binary files /dev/null and b/koha-tmpl/opac-tmpl/ccsr/itemtypeimg/liblime-kids/book-large-print.gif differ
diff --git a/koha-tmpl/opac-tmpl/ccsr/itemtypeimg/liblime-kids/book-large-print.png b/koha-tmpl/opac-tmpl/ccsr/itemtypeimg/liblime-kids/book-large-print.png
new file mode 100644 (file)
index 0000000..70d2725
Binary files /dev/null and b/koha-tmpl/opac-tmpl/ccsr/itemtypeimg/liblime-kids/book-large-print.png differ
diff --git a/koha-tmpl/opac-tmpl/ccsr/itemtypeimg/liblime-kids/brief..gif b/koha-tmpl/opac-tmpl/ccsr/itemtypeimg/liblime-kids/brief..gif
new file mode 100644 (file)
index 0000000..ef6b74c
Binary files /dev/null and b/koha-tmpl/opac-tmpl/ccsr/itemtypeimg/liblime-kids/brief..gif differ
diff --git a/koha-tmpl/opac-tmpl/ccsr/itemtypeimg/liblime-kids/card.gif b/koha-tmpl/opac-tmpl/ccsr/itemtypeimg/liblime-kids/card.gif
new file mode 100644 (file)
index 0000000..b54efa4
Binary files /dev/null and b/koha-tmpl/opac-tmpl/ccsr/itemtypeimg/liblime-kids/card.gif differ
diff --git a/koha-tmpl/opac-tmpl/ccsr/itemtypeimg/liblime-kids/card.png b/koha-tmpl/opac-tmpl/ccsr/itemtypeimg/liblime-kids/card.png
new file mode 100644 (file)
index 0000000..202da49
Binary files /dev/null and b/koha-tmpl/opac-tmpl/ccsr/itemtypeimg/liblime-kids/card.png differ
diff --git a/koha-tmpl/opac-tmpl/ccsr/itemtypeimg/liblime-kids/cd-rom-icon.png b/koha-tmpl/opac-tmpl/ccsr/itemtypeimg/liblime-kids/cd-rom-icon.png
new file mode 100644 (file)
index 0000000..8de1a50
Binary files /dev/null and b/koha-tmpl/opac-tmpl/ccsr/itemtypeimg/liblime-kids/cd-rom-icon.png differ
diff --git a/koha-tmpl/opac-tmpl/ccsr/itemtypeimg/liblime-kids/clear-book-bag.gif b/koha-tmpl/opac-tmpl/ccsr/itemtypeimg/liblime-kids/clear-book-bag.gif
new file mode 100644 (file)
index 0000000..ec78329
Binary files /dev/null and b/koha-tmpl/opac-tmpl/ccsr/itemtypeimg/liblime-kids/clear-book-bag.gif differ
diff --git a/koha-tmpl/opac-tmpl/ccsr/itemtypeimg/liblime-kids/clear-book-bag.png b/koha-tmpl/opac-tmpl/ccsr/itemtypeimg/liblime-kids/clear-book-bag.png
new file mode 100644 (file)
index 0000000..f9fbd9d
Binary files /dev/null and b/koha-tmpl/opac-tmpl/ccsr/itemtypeimg/liblime-kids/clear-book-bag.png differ
diff --git a/koha-tmpl/opac-tmpl/ccsr/itemtypeimg/liblime-kids/detail.gif b/koha-tmpl/opac-tmpl/ccsr/itemtypeimg/liblime-kids/detail.gif
new file mode 100644 (file)
index 0000000..0d09665
Binary files /dev/null and b/koha-tmpl/opac-tmpl/ccsr/itemtypeimg/liblime-kids/detail.gif differ
diff --git a/koha-tmpl/opac-tmpl/ccsr/itemtypeimg/liblime-kids/detail.png b/koha-tmpl/opac-tmpl/ccsr/itemtypeimg/liblime-kids/detail.png
new file mode 100644 (file)
index 0000000..22c1242
Binary files /dev/null and b/koha-tmpl/opac-tmpl/ccsr/itemtypeimg/liblime-kids/detail.png differ
diff --git a/koha-tmpl/opac-tmpl/ccsr/itemtypeimg/liblime-kids/faculty-course-manual.png b/koha-tmpl/opac-tmpl/ccsr/itemtypeimg/liblime-kids/faculty-course-manual.png
new file mode 100644 (file)
index 0000000..306b533
Binary files /dev/null and b/koha-tmpl/opac-tmpl/ccsr/itemtypeimg/liblime-kids/faculty-course-manual.png differ
diff --git a/koha-tmpl/opac-tmpl/ccsr/itemtypeimg/liblime-kids/faculty-course-materials.gif b/koha-tmpl/opac-tmpl/ccsr/itemtypeimg/liblime-kids/faculty-course-materials.gif
new file mode 100644 (file)
index 0000000..a0be0d1
Binary files /dev/null and b/koha-tmpl/opac-tmpl/ccsr/itemtypeimg/liblime-kids/faculty-course-materials.gif differ
diff --git a/koha-tmpl/opac-tmpl/ccsr/itemtypeimg/liblime-kids/icon-reference.gif b/koha-tmpl/opac-tmpl/ccsr/itemtypeimg/liblime-kids/icon-reference.gif
new file mode 100644 (file)
index 0000000..5d0a234
Binary files /dev/null and b/koha-tmpl/opac-tmpl/ccsr/itemtypeimg/liblime-kids/icon-reference.gif differ
diff --git a/koha-tmpl/opac-tmpl/ccsr/itemtypeimg/liblime-kids/icon-refrence.png b/koha-tmpl/opac-tmpl/ccsr/itemtypeimg/liblime-kids/icon-refrence.png
new file mode 100644 (file)
index 0000000..475b8be
Binary files /dev/null and b/koha-tmpl/opac-tmpl/ccsr/itemtypeimg/liblime-kids/icon-refrence.png differ
diff --git a/koha-tmpl/opac-tmpl/ccsr/itemtypeimg/liblime-kids/keyword-search.gif b/koha-tmpl/opac-tmpl/ccsr/itemtypeimg/liblime-kids/keyword-search.gif
new file mode 100644 (file)
index 0000000..ec34842
Binary files /dev/null and b/koha-tmpl/opac-tmpl/ccsr/itemtypeimg/liblime-kids/keyword-search.gif differ
diff --git a/koha-tmpl/opac-tmpl/ccsr/itemtypeimg/liblime-kids/keyword-search.png b/koha-tmpl/opac-tmpl/ccsr/itemtypeimg/liblime-kids/keyword-search.png
new file mode 100644 (file)
index 0000000..3c21e57
Binary files /dev/null and b/koha-tmpl/opac-tmpl/ccsr/itemtypeimg/liblime-kids/keyword-search.png differ
diff --git a/koha-tmpl/opac-tmpl/ccsr/itemtypeimg/liblime-kids/music-CD.gif b/koha-tmpl/opac-tmpl/ccsr/itemtypeimg/liblime-kids/music-CD.gif
new file mode 100644 (file)
index 0000000..2702f64
Binary files /dev/null and b/koha-tmpl/opac-tmpl/ccsr/itemtypeimg/liblime-kids/music-CD.gif differ
diff --git a/koha-tmpl/opac-tmpl/ccsr/itemtypeimg/liblime-kids/music-cd.png b/koha-tmpl/opac-tmpl/ccsr/itemtypeimg/liblime-kids/music-cd.png
new file mode 100644 (file)
index 0000000..9b415de
Binary files /dev/null and b/koha-tmpl/opac-tmpl/ccsr/itemtypeimg/liblime-kids/music-cd.png differ
diff --git a/koha-tmpl/opac-tmpl/ccsr/itemtypeimg/liblime-kids/newspaper-icon.gif b/koha-tmpl/opac-tmpl/ccsr/itemtypeimg/liblime-kids/newspaper-icon.gif
new file mode 100644 (file)
index 0000000..78eda9f
Binary files /dev/null and b/koha-tmpl/opac-tmpl/ccsr/itemtypeimg/liblime-kids/newspaper-icon.gif differ
diff --git a/koha-tmpl/opac-tmpl/ccsr/itemtypeimg/liblime-kids/newspaper-icon.png b/koha-tmpl/opac-tmpl/ccsr/itemtypeimg/liblime-kids/newspaper-icon.png
new file mode 100644 (file)
index 0000000..1c454e0
Binary files /dev/null and b/koha-tmpl/opac-tmpl/ccsr/itemtypeimg/liblime-kids/newspaper-icon.png differ
diff --git a/koha-tmpl/opac-tmpl/ccsr/itemtypeimg/liblime-kids/videocassette.gif b/koha-tmpl/opac-tmpl/ccsr/itemtypeimg/liblime-kids/videocassette.gif
new file mode 100644 (file)
index 0000000..ed36cca
Binary files /dev/null and b/koha-tmpl/opac-tmpl/ccsr/itemtypeimg/liblime-kids/videocassette.gif differ
diff --git a/koha-tmpl/opac-tmpl/ccsr/itemtypeimg/liblime-kids/videocassette.png b/koha-tmpl/opac-tmpl/ccsr/itemtypeimg/liblime-kids/videocassette.png
new file mode 100644 (file)
index 0000000..c3a950e
Binary files /dev/null and b/koha-tmpl/opac-tmpl/ccsr/itemtypeimg/liblime-kids/videocassette.png differ
diff --git a/koha-tmpl/opac-tmpl/ccsr/itemtypeimg/liblime-kids/vinyl-sound-recordings.gif b/koha-tmpl/opac-tmpl/ccsr/itemtypeimg/liblime-kids/vinyl-sound-recordings.gif
new file mode 100644 (file)
index 0000000..c4fa030
Binary files /dev/null and b/koha-tmpl/opac-tmpl/ccsr/itemtypeimg/liblime-kids/vinyl-sound-recordings.gif differ
diff --git a/koha-tmpl/opac-tmpl/ccsr/itemtypeimg/liblime-kids/vynal-sound-recording.png b/koha-tmpl/opac-tmpl/ccsr/itemtypeimg/liblime-kids/vynal-sound-recording.png
new file mode 100644 (file)
index 0000000..6ee36a6
Binary files /dev/null and b/koha-tmpl/opac-tmpl/ccsr/itemtypeimg/liblime-kids/vynal-sound-recording.png differ
diff --git a/koha-tmpl/opac-tmpl/ccsr/itemtypeimg/npl/AVA.gif b/koha-tmpl/opac-tmpl/ccsr/itemtypeimg/npl/AVA.gif
new file mode 100644 (file)
index 0000000..3b0445a
Binary files /dev/null and b/koha-tmpl/opac-tmpl/ccsr/itemtypeimg/npl/AVA.gif differ
diff --git a/koha-tmpl/opac-tmpl/ccsr/itemtypeimg/npl/Adult-nonfiction-book-on-cassette.gif b/koha-tmpl/opac-tmpl/ccsr/itemtypeimg/npl/Adult-nonfiction-book-on-cassette.gif
new file mode 100644 (file)
index 0000000..efccebc
Binary files /dev/null and b/koha-tmpl/opac-tmpl/ccsr/itemtypeimg/npl/Adult-nonfiction-book-on-cassette.gif differ
diff --git a/koha-tmpl/opac-tmpl/ccsr/itemtypeimg/npl/Audiobook.gif b/koha-tmpl/opac-tmpl/ccsr/itemtypeimg/npl/Audiobook.gif
new file mode 100644 (file)
index 0000000..6e263d9
Binary files /dev/null and b/koha-tmpl/opac-tmpl/ccsr/itemtypeimg/npl/Audiobook.gif differ
diff --git a/koha-tmpl/opac-tmpl/ccsr/itemtypeimg/npl/Biography.gif b/koha-tmpl/opac-tmpl/ccsr/itemtypeimg/npl/Biography.gif
new file mode 100644 (file)
index 0000000..6639fed
Binary files /dev/null and b/koha-tmpl/opac-tmpl/ccsr/itemtypeimg/npl/Biography.gif differ
diff --git a/koha-tmpl/opac-tmpl/ccsr/itemtypeimg/npl/Book-on-CD.gif b/koha-tmpl/opac-tmpl/ccsr/itemtypeimg/npl/Book-on-CD.gif
new file mode 100644 (file)
index 0000000..9c2c836
Binary files /dev/null and b/koha-tmpl/opac-tmpl/ccsr/itemtypeimg/npl/Book-on-CD.gif differ
diff --git a/koha-tmpl/opac-tmpl/ccsr/itemtypeimg/npl/Book-on-Tape.gif b/koha-tmpl/opac-tmpl/ccsr/itemtypeimg/npl/Book-on-Tape.gif
new file mode 100644 (file)
index 0000000..87e9efd
Binary files /dev/null and b/koha-tmpl/opac-tmpl/ccsr/itemtypeimg/npl/Book-on-Tape.gif differ
diff --git a/koha-tmpl/opac-tmpl/ccsr/itemtypeimg/npl/CD-ROM-software.gif b/koha-tmpl/opac-tmpl/ccsr/itemtypeimg/npl/CD-ROM-software.gif
new file mode 100644 (file)
index 0000000..6afb0c8
Binary files /dev/null and b/koha-tmpl/opac-tmpl/ccsr/itemtypeimg/npl/CD-ROM-software.gif differ
diff --git a/koha-tmpl/opac-tmpl/ccsr/itemtypeimg/npl/DVD-Juvenile-nonfiction.gif b/koha-tmpl/opac-tmpl/ccsr/itemtypeimg/npl/DVD-Juvenile-nonfiction.gif
new file mode 100644 (file)
index 0000000..b313215
Binary files /dev/null and b/koha-tmpl/opac-tmpl/ccsr/itemtypeimg/npl/DVD-Juvenile-nonfiction.gif differ
diff --git a/koha-tmpl/opac-tmpl/ccsr/itemtypeimg/npl/DVD-Juvenile.gif b/koha-tmpl/opac-tmpl/ccsr/itemtypeimg/npl/DVD-Juvenile.gif
new file mode 100644 (file)
index 0000000..128bf1f
Binary files /dev/null and b/koha-tmpl/opac-tmpl/ccsr/itemtypeimg/npl/DVD-Juvenile.gif differ
diff --git a/koha-tmpl/opac-tmpl/ccsr/itemtypeimg/npl/DVD-nonfiction.gif b/koha-tmpl/opac-tmpl/ccsr/itemtypeimg/npl/DVD-nonfiction.gif
new file mode 100644 (file)
index 0000000..6343e46
Binary files /dev/null and b/koha-tmpl/opac-tmpl/ccsr/itemtypeimg/npl/DVD-nonfiction.gif differ
diff --git a/koha-tmpl/opac-tmpl/ccsr/itemtypeimg/npl/DVD.gif b/koha-tmpl/opac-tmpl/ccsr/itemtypeimg/npl/DVD.gif
new file mode 100644 (file)
index 0000000..12b87d6
Binary files /dev/null and b/koha-tmpl/opac-tmpl/ccsr/itemtypeimg/npl/DVD.gif differ
diff --git a/koha-tmpl/opac-tmpl/ccsr/itemtypeimg/npl/EDLS.gif b/koha-tmpl/opac-tmpl/ccsr/itemtypeimg/npl/EDLS.gif
new file mode 100644 (file)
index 0000000..951298d
Binary files /dev/null and b/koha-tmpl/opac-tmpl/ccsr/itemtypeimg/npl/EDLS.gif differ
diff --git a/koha-tmpl/opac-tmpl/ccsr/itemtypeimg/npl/Ed.-Curriculum.gif b/koha-tmpl/opac-tmpl/ccsr/itemtypeimg/npl/Ed.-Curriculum.gif
new file mode 100644 (file)
index 0000000..f2b4c57
Binary files /dev/null and b/koha-tmpl/opac-tmpl/ccsr/itemtypeimg/npl/Ed.-Curriculum.gif differ
diff --git a/koha-tmpl/opac-tmpl/ccsr/itemtypeimg/npl/FLAG.gif b/koha-tmpl/opac-tmpl/ccsr/itemtypeimg/npl/FLAG.gif
new file mode 100644 (file)
index 0000000..031fbb0
Binary files /dev/null and b/koha-tmpl/opac-tmpl/ccsr/itemtypeimg/npl/FLAG.gif differ
diff --git a/koha-tmpl/opac-tmpl/ccsr/itemtypeimg/npl/Faculty-Course-Materials.gif b/koha-tmpl/opac-tmpl/ccsr/itemtypeimg/npl/Faculty-Course-Materials.gif
new file mode 100644 (file)
index 0000000..9a10aec
Binary files /dev/null and b/koha-tmpl/opac-tmpl/ccsr/itemtypeimg/npl/Faculty-Course-Materials.gif differ
diff --git a/koha-tmpl/opac-tmpl/ccsr/itemtypeimg/npl/Fiction-large-print.gif b/koha-tmpl/opac-tmpl/ccsr/itemtypeimg/npl/Fiction-large-print.gif
new file mode 100644 (file)
index 0000000..aa8228c
Binary files /dev/null and b/koha-tmpl/opac-tmpl/ccsr/itemtypeimg/npl/Fiction-large-print.gif differ
diff --git a/koha-tmpl/opac-tmpl/ccsr/itemtypeimg/npl/Fiction.gif b/koha-tmpl/opac-tmpl/ccsr/itemtypeimg/npl/Fiction.gif
new file mode 100644 (file)
index 0000000..718f594
Binary files /dev/null and b/koha-tmpl/opac-tmpl/ccsr/itemtypeimg/npl/Fiction.gif differ
diff --git a/koha-tmpl/opac-tmpl/ccsr/itemtypeimg/npl/Juvenile-audiobook.gif b/koha-tmpl/opac-tmpl/ccsr/itemtypeimg/npl/Juvenile-audiobook.gif
new file mode 100644 (file)
index 0000000..99d392a
Binary files /dev/null and b/koha-tmpl/opac-tmpl/ccsr/itemtypeimg/npl/Juvenile-audiobook.gif differ
diff --git a/koha-tmpl/opac-tmpl/ccsr/itemtypeimg/npl/Juvenile-biography.gif b/koha-tmpl/opac-tmpl/ccsr/itemtypeimg/npl/Juvenile-biography.gif
new file mode 100644 (file)
index 0000000..8c21ae9
Binary files /dev/null and b/koha-tmpl/opac-tmpl/ccsr/itemtypeimg/npl/Juvenile-biography.gif differ
diff --git a/koha-tmpl/opac-tmpl/ccsr/itemtypeimg/npl/Juvenile-book-tape-kit.gif b/koha-tmpl/opac-tmpl/ccsr/itemtypeimg/npl/Juvenile-book-tape-kit.gif
new file mode 100644 (file)
index 0000000..1c44625
Binary files /dev/null and b/koha-tmpl/opac-tmpl/ccsr/itemtypeimg/npl/Juvenile-book-tape-kit.gif differ
diff --git a/koha-tmpl/opac-tmpl/ccsr/itemtypeimg/npl/Juvenile-fiction.gif b/koha-tmpl/opac-tmpl/ccsr/itemtypeimg/npl/Juvenile-fiction.gif
new file mode 100644 (file)
index 0000000..336c5bb
Binary files /dev/null and b/koha-tmpl/opac-tmpl/ccsr/itemtypeimg/npl/Juvenile-fiction.gif differ
diff --git a/koha-tmpl/opac-tmpl/ccsr/itemtypeimg/npl/Juvenile-non-fiction.gif b/koha-tmpl/opac-tmpl/ccsr/itemtypeimg/npl/Juvenile-non-fiction.gif
new file mode 100644 (file)
index 0000000..126db4f
Binary files /dev/null and b/koha-tmpl/opac-tmpl/ccsr/itemtypeimg/npl/Juvenile-non-fiction.gif differ
diff --git a/koha-tmpl/opac-tmpl/ccsr/itemtypeimg/npl/Juvenile-nonfiction-book-on-CD.gif b/koha-tmpl/opac-tmpl/ccsr/itemtypeimg/npl/Juvenile-nonfiction-book-on-CD.gif
new file mode 100644 (file)
index 0000000..46a0af2
Binary files /dev/null and b/koha-tmpl/opac-tmpl/ccsr/itemtypeimg/npl/Juvenile-nonfiction-book-on-CD.gif differ
diff --git a/koha-tmpl/opac-tmpl/ccsr/itemtypeimg/npl/Juvenile-nonfiction-book-on-cassette.gif b/koha-tmpl/opac-tmpl/ccsr/itemtypeimg/npl/Juvenile-nonfiction-book-on-cassette.gif
new file mode 100644 (file)
index 0000000..8b41642
Binary files /dev/null and b/koha-tmpl/opac-tmpl/ccsr/itemtypeimg/npl/Juvenile-nonfiction-book-on-cassette.gif differ
diff --git a/koha-tmpl/opac-tmpl/ccsr/itemtypeimg/npl/Juvenile-picture-books.gif b/koha-tmpl/opac-tmpl/ccsr/itemtypeimg/npl/Juvenile-picture-books.gif
new file mode 100644 (file)
index 0000000..4e5c93a
Binary files /dev/null and b/koha-tmpl/opac-tmpl/ccsr/itemtypeimg/npl/Juvenile-picture-books.gif differ
diff --git a/koha-tmpl/opac-tmpl/ccsr/itemtypeimg/npl/Juvenile-reference.gif b/koha-tmpl/opac-tmpl/ccsr/itemtypeimg/npl/Juvenile-reference.gif
new file mode 100644 (file)
index 0000000..a9c8873
Binary files /dev/null and b/koha-tmpl/opac-tmpl/ccsr/itemtypeimg/npl/Juvenile-reference.gif differ
diff --git a/koha-tmpl/opac-tmpl/ccsr/itemtypeimg/npl/Local-history.gif b/koha-tmpl/opac-tmpl/ccsr/itemtypeimg/npl/Local-history.gif
new file mode 100644 (file)
index 0000000..cebb3cb
Binary files /dev/null and b/koha-tmpl/opac-tmpl/ccsr/itemtypeimg/npl/Local-history.gif differ
diff --git a/koha-tmpl/opac-tmpl/ccsr/itemtypeimg/npl/Magazine.gif b/koha-tmpl/opac-tmpl/ccsr/itemtypeimg/npl/Magazine.gif
new file mode 100644 (file)
index 0000000..927386c
Binary files /dev/null and b/koha-tmpl/opac-tmpl/ccsr/itemtypeimg/npl/Magazine.gif differ
diff --git a/koha-tmpl/opac-tmpl/ccsr/itemtypeimg/npl/Microfiche.gif b/koha-tmpl/opac-tmpl/ccsr/itemtypeimg/npl/Microfiche.gif
new file mode 100644 (file)
index 0000000..d75744a
Binary files /dev/null and b/koha-tmpl/opac-tmpl/ccsr/itemtypeimg/npl/Microfiche.gif differ
diff --git a/koha-tmpl/opac-tmpl/ccsr/itemtypeimg/npl/Microfilm.gif b/koha-tmpl/opac-tmpl/ccsr/itemtypeimg/npl/Microfilm.gif
new file mode 100644 (file)
index 0000000..47d12cc
Binary files /dev/null and b/koha-tmpl/opac-tmpl/ccsr/itemtypeimg/npl/Microfilm.gif differ
diff --git a/koha-tmpl/opac-tmpl/ccsr/itemtypeimg/npl/Music-CD.gif b/koha-tmpl/opac-tmpl/ccsr/itemtypeimg/npl/Music-CD.gif
new file mode 100644 (file)
index 0000000..1d3b155
Binary files /dev/null and b/koha-tmpl/opac-tmpl/ccsr/itemtypeimg/npl/Music-CD.gif differ
diff --git a/koha-tmpl/opac-tmpl/ccsr/itemtypeimg/npl/Mystery.gif b/koha-tmpl/opac-tmpl/ccsr/itemtypeimg/npl/Mystery.gif
new file mode 100644 (file)
index 0000000..3a815d1
Binary files /dev/null and b/koha-tmpl/opac-tmpl/ccsr/itemtypeimg/npl/Mystery.gif differ
diff --git a/koha-tmpl/opac-tmpl/ccsr/itemtypeimg/npl/Non-fiction-large-print.gif b/koha-tmpl/opac-tmpl/ccsr/itemtypeimg/npl/Non-fiction-large-print.gif
new file mode 100644 (file)
index 0000000..4d220b2
Binary files /dev/null and b/koha-tmpl/opac-tmpl/ccsr/itemtypeimg/npl/Non-fiction-large-print.gif differ
diff --git a/koha-tmpl/opac-tmpl/ccsr/itemtypeimg/npl/Non-fiction.gif b/koha-tmpl/opac-tmpl/ccsr/itemtypeimg/npl/Non-fiction.gif
new file mode 100644 (file)
index 0000000..b05b25f
Binary files /dev/null and b/koha-tmpl/opac-tmpl/ccsr/itemtypeimg/npl/Non-fiction.gif differ
diff --git a/koha-tmpl/opac-tmpl/ccsr/itemtypeimg/npl/Pamphlet.gif b/koha-tmpl/opac-tmpl/ccsr/itemtypeimg/npl/Pamphlet.gif
new file mode 100644 (file)
index 0000000..89034ce
Binary files /dev/null and b/koha-tmpl/opac-tmpl/ccsr/itemtypeimg/npl/Pamphlet.gif differ
diff --git a/koha-tmpl/opac-tmpl/ccsr/itemtypeimg/npl/Paperback-romance.gif b/koha-tmpl/opac-tmpl/ccsr/itemtypeimg/npl/Paperback-romance.gif
new file mode 100644 (file)
index 0000000..c4394b1
Binary files /dev/null and b/koha-tmpl/opac-tmpl/ccsr/itemtypeimg/npl/Paperback-romance.gif differ
diff --git a/koha-tmpl/opac-tmpl/ccsr/itemtypeimg/npl/Rare-Book.gif b/koha-tmpl/opac-tmpl/ccsr/itemtypeimg/npl/Rare-Book.gif
new file mode 100644 (file)
index 0000000..217660e
Binary files /dev/null and b/koha-tmpl/opac-tmpl/ccsr/itemtypeimg/npl/Rare-Book.gif differ
diff --git a/koha-tmpl/opac-tmpl/ccsr/itemtypeimg/npl/Reference.gif b/koha-tmpl/opac-tmpl/ccsr/itemtypeimg/npl/Reference.gif
new file mode 100644 (file)
index 0000000..699b534
Binary files /dev/null and b/koha-tmpl/opac-tmpl/ccsr/itemtypeimg/npl/Reference.gif differ
diff --git a/koha-tmpl/opac-tmpl/ccsr/itemtypeimg/npl/SIRS.gif b/koha-tmpl/opac-tmpl/ccsr/itemtypeimg/npl/SIRS.gif
new file mode 100644 (file)
index 0000000..8275dae
Binary files /dev/null and b/koha-tmpl/opac-tmpl/ccsr/itemtypeimg/npl/SIRS.gif differ
diff --git a/koha-tmpl/opac-tmpl/ccsr/itemtypeimg/npl/SS.gif b/koha-tmpl/opac-tmpl/ccsr/itemtypeimg/npl/SS.gif
new file mode 100644 (file)
index 0000000..a68185b
Binary files /dev/null and b/koha-tmpl/opac-tmpl/ccsr/itemtypeimg/npl/SS.gif differ
diff --git a/koha-tmpl/opac-tmpl/ccsr/itemtypeimg/npl/ScienceFictionFantasy.gif b/koha-tmpl/opac-tmpl/ccsr/itemtypeimg/npl/ScienceFictionFantasy.gif
new file mode 100644 (file)
index 0000000..30e4b29
Binary files /dev/null and b/koha-tmpl/opac-tmpl/ccsr/itemtypeimg/npl/ScienceFictionFantasy.gif differ
diff --git a/koha-tmpl/opac-tmpl/ccsr/itemtypeimg/npl/Videocassette-juvenile-non-fiction.gif b/koha-tmpl/opac-tmpl/ccsr/itemtypeimg/npl/Videocassette-juvenile-non-fiction.gif
new file mode 100644 (file)
index 0000000..4719a8e
Binary files /dev/null and b/koha-tmpl/opac-tmpl/ccsr/itemtypeimg/npl/Videocassette-juvenile-non-fiction.gif differ
diff --git a/koha-tmpl/opac-tmpl/ccsr/itemtypeimg/npl/Videocassette-juvenile.gif b/koha-tmpl/opac-tmpl/ccsr/itemtypeimg/npl/Videocassette-juvenile.gif
new file mode 100644 (file)
index 0000000..653053c
Binary files /dev/null and b/koha-tmpl/opac-tmpl/ccsr/itemtypeimg/npl/Videocassette-juvenile.gif differ
diff --git a/koha-tmpl/opac-tmpl/ccsr/itemtypeimg/npl/Videocassette-non-fiction.gif b/koha-tmpl/opac-tmpl/ccsr/itemtypeimg/npl/Videocassette-non-fiction.gif
new file mode 100644 (file)
index 0000000..b8e598a
Binary files /dev/null and b/koha-tmpl/opac-tmpl/ccsr/itemtypeimg/npl/Videocassette-non-fiction.gif differ
diff --git a/koha-tmpl/opac-tmpl/ccsr/itemtypeimg/npl/Videocassette.gif b/koha-tmpl/opac-tmpl/ccsr/itemtypeimg/npl/Videocassette.gif
new file mode 100644 (file)
index 0000000..cb5c906
Binary files /dev/null and b/koha-tmpl/opac-tmpl/ccsr/itemtypeimg/npl/Videocassette.gif differ
diff --git a/koha-tmpl/opac-tmpl/ccsr/itemtypeimg/npl/Vinyl-Sound-Recordings.gif b/koha-tmpl/opac-tmpl/ccsr/itemtypeimg/npl/Vinyl-Sound-Recordings.gif
new file mode 100644 (file)
index 0000000..976f926
Binary files /dev/null and b/koha-tmpl/opac-tmpl/ccsr/itemtypeimg/npl/Vinyl-Sound-Recordings.gif differ
diff --git a/koha-tmpl/opac-tmpl/ccsr/itemtypeimg/npl/WEB.gif b/koha-tmpl/opac-tmpl/ccsr/itemtypeimg/npl/WEB.gif
new file mode 100644 (file)
index 0000000..c7082d9
Binary files /dev/null and b/koha-tmpl/opac-tmpl/ccsr/itemtypeimg/npl/WEB.gif differ
diff --git a/koha-tmpl/opac-tmpl/ccsr/itemtypeimg/npl/Western.gif b/koha-tmpl/opac-tmpl/ccsr/itemtypeimg/npl/Western.gif
new file mode 100644 (file)
index 0000000..b420179
Binary files /dev/null and b/koha-tmpl/opac-tmpl/ccsr/itemtypeimg/npl/Western.gif differ
diff --git a/koha-tmpl/opac-tmpl/ccsr/itemtypeimg/npl/YAC.gif b/koha-tmpl/opac-tmpl/ccsr/itemtypeimg/npl/YAC.gif
new file mode 100644 (file)
index 0000000..b8ab2d4
Binary files /dev/null and b/koha-tmpl/opac-tmpl/ccsr/itemtypeimg/npl/YAC.gif differ
diff --git a/koha-tmpl/opac-tmpl/ccsr/itemtypeimg/npl/Young-Adult-fiction.gif b/koha-tmpl/opac-tmpl/ccsr/itemtypeimg/npl/Young-Adult-fiction.gif
new file mode 100644 (file)
index 0000000..a5911b2
Binary files /dev/null and b/koha-tmpl/opac-tmpl/ccsr/itemtypeimg/npl/Young-Adult-fiction.gif differ
diff --git a/koha-tmpl/opac-tmpl/ccsr/itemtypeimg/npl/Young-Adult-non-fiction.gif b/koha-tmpl/opac-tmpl/ccsr/itemtypeimg/npl/Young-Adult-non-fiction.gif
new file mode 100644 (file)
index 0000000..f30c0ac
Binary files /dev/null and b/koha-tmpl/opac-tmpl/ccsr/itemtypeimg/npl/Young-Adult-non-fiction.gif differ
diff --git a/koha-tmpl/opac-tmpl/ccsr/itemtypeimg/npl/Young-adult-fiction-book-on-CD.gif b/koha-tmpl/opac-tmpl/ccsr/itemtypeimg/npl/Young-adult-fiction-book-on-CD.gif
new file mode 100644 (file)
index 0000000..5122cf3
Binary files /dev/null and b/koha-tmpl/opac-tmpl/ccsr/itemtypeimg/npl/Young-adult-fiction-book-on-CD.gif differ
diff --git a/koha-tmpl/opac-tmpl/ccsr/itemtypeimg/npl/Young-adult-nonfiction-book-on-CD.gif b/koha-tmpl/opac-tmpl/ccsr/itemtypeimg/npl/Young-adult-nonfiction-book-on-CD.gif
new file mode 100644 (file)
index 0000000..d3c7bfc
Binary files /dev/null and b/koha-tmpl/opac-tmpl/ccsr/itemtypeimg/npl/Young-adult-nonfiction-book-on-CD.gif differ
diff --git a/koha-tmpl/opac-tmpl/ccsr/itemtypeimg/npl/Young-adult-nonfiction-book-on-cassette.gif b/koha-tmpl/opac-tmpl/ccsr/itemtypeimg/npl/Young-adult-nonfiction-book-on-cassette.gif
new file mode 100644 (file)
index 0000000..1946db2
Binary files /dev/null and b/koha-tmpl/opac-tmpl/ccsr/itemtypeimg/npl/Young-adult-nonfiction-book-on-cassette.gif differ
diff --git a/koha-tmpl/opac-tmpl/ccsr/itemtypeimg/vokal/ACT-32px.png b/koha-tmpl/opac-tmpl/ccsr/itemtypeimg/vokal/ACT-32px.png
new file mode 100644 (file)
index 0000000..d6dab68
Binary files /dev/null and b/koha-tmpl/opac-tmpl/ccsr/itemtypeimg/vokal/ACT-32px.png differ
diff --git a/koha-tmpl/opac-tmpl/ccsr/itemtypeimg/vokal/ACT.png b/koha-tmpl/opac-tmpl/ccsr/itemtypeimg/vokal/ACT.png
new file mode 100644 (file)
index 0000000..70104c3
Binary files /dev/null and b/koha-tmpl/opac-tmpl/ccsr/itemtypeimg/vokal/ACT.png differ
diff --git a/koha-tmpl/opac-tmpl/ccsr/itemtypeimg/vokal/BLURAY-32px.png b/koha-tmpl/opac-tmpl/ccsr/itemtypeimg/vokal/BLURAY-32px.png
new file mode 100644 (file)
index 0000000..f87bc92
Binary files /dev/null and b/koha-tmpl/opac-tmpl/ccsr/itemtypeimg/vokal/BLURAY-32px.png differ
diff --git a/koha-tmpl/opac-tmpl/ccsr/itemtypeimg/vokal/BLURAY.png b/koha-tmpl/opac-tmpl/ccsr/itemtypeimg/vokal/BLURAY.png
new file mode 100644 (file)
index 0000000..e8423d9
Binary files /dev/null and b/koha-tmpl/opac-tmpl/ccsr/itemtypeimg/vokal/BLURAY.png differ
diff --git a/koha-tmpl/opac-tmpl/ccsr/itemtypeimg/vokal/Book-32px.png b/koha-tmpl/opac-tmpl/ccsr/itemtypeimg/vokal/Book-32px.png
new file mode 100644 (file)
index 0000000..c0aaad5
Binary files /dev/null and b/koha-tmpl/opac-tmpl/ccsr/itemtypeimg/vokal/Book-32px.png differ
diff --git a/koha-tmpl/opac-tmpl/ccsr/itemtypeimg/vokal/Book-On-CD-32px.png b/koha-tmpl/opac-tmpl/ccsr/itemtypeimg/vokal/Book-On-CD-32px.png
new file mode 100644 (file)
index 0000000..771b5af
Binary files /dev/null and b/koha-tmpl/opac-tmpl/ccsr/itemtypeimg/vokal/Book-On-CD-32px.png differ
diff --git a/koha-tmpl/opac-tmpl/ccsr/itemtypeimg/vokal/Book-On-Tape-32px.png b/koha-tmpl/opac-tmpl/ccsr/itemtypeimg/vokal/Book-On-Tape-32px.png
new file mode 100644 (file)
index 0000000..74316bf
Binary files /dev/null and b/koha-tmpl/opac-tmpl/ccsr/itemtypeimg/vokal/Book-On-Tape-32px.png differ
diff --git a/koha-tmpl/opac-tmpl/ccsr/itemtypeimg/vokal/Book.png b/koha-tmpl/opac-tmpl/ccsr/itemtypeimg/vokal/Book.png
new file mode 100644 (file)
index 0000000..b6fe7ac
Binary files /dev/null and b/koha-tmpl/opac-tmpl/ccsr/itemtypeimg/vokal/Book.png differ
diff --git a/koha-tmpl/opac-tmpl/ccsr/itemtypeimg/vokal/BookOnCD.png b/koha-tmpl/opac-tmpl/ccsr/itemtypeimg/vokal/BookOnCD.png
new file mode 100644 (file)
index 0000000..8f01d47
Binary files /dev/null and b/koha-tmpl/opac-tmpl/ccsr/itemtypeimg/vokal/BookOnCD.png differ
diff --git a/koha-tmpl/opac-tmpl/ccsr/itemtypeimg/vokal/BookOnTape.png b/koha-tmpl/opac-tmpl/ccsr/itemtypeimg/vokal/BookOnTape.png
new file mode 100644 (file)
index 0000000..ead4780
Binary files /dev/null and b/koha-tmpl/opac-tmpl/ccsr/itemtypeimg/vokal/BookOnTape.png differ
diff --git a/koha-tmpl/opac-tmpl/ccsr/itemtypeimg/vokal/DVD-32px.png b/koha-tmpl/opac-tmpl/ccsr/itemtypeimg/vokal/DVD-32px.png
new file mode 100644 (file)
index 0000000..e2ffa3f
Binary files /dev/null and b/koha-tmpl/opac-tmpl/ccsr/itemtypeimg/vokal/DVD-32px.png differ
diff --git a/koha-tmpl/opac-tmpl/ccsr/itemtypeimg/vokal/DVD.png b/koha-tmpl/opac-tmpl/ccsr/itemtypeimg/vokal/DVD.png
new file mode 100644 (file)
index 0000000..7fc4e05
Binary files /dev/null and b/koha-tmpl/opac-tmpl/ccsr/itemtypeimg/vokal/DVD.png differ
diff --git a/koha-tmpl/opac-tmpl/ccsr/itemtypeimg/vokal/Download-Audio-32px.png b/koha-tmpl/opac-tmpl/ccsr/itemtypeimg/vokal/Download-Audio-32px.png
new file mode 100644 (file)
index 0000000..22a5921
Binary files /dev/null and b/koha-tmpl/opac-tmpl/ccsr/itemtypeimg/vokal/Download-Audio-32px.png differ
diff --git a/koha-tmpl/opac-tmpl/ccsr/itemtypeimg/vokal/DownloadableAudio.png b/koha-tmpl/opac-tmpl/ccsr/itemtypeimg/vokal/DownloadableAudio.png
new file mode 100644 (file)
index 0000000..2a19282
Binary files /dev/null and b/koha-tmpl/opac-tmpl/ccsr/itemtypeimg/vokal/DownloadableAudio.png differ
diff --git a/koha-tmpl/opac-tmpl/ccsr/itemtypeimg/vokal/EDUC-32px.png b/koha-tmpl/opac-tmpl/ccsr/itemtypeimg/vokal/EDUC-32px.png
new file mode 100644 (file)
index 0000000..6b012cc
Binary files /dev/null and b/koha-tmpl/opac-tmpl/ccsr/itemtypeimg/vokal/EDUC-32px.png differ
diff --git a/koha-tmpl/opac-tmpl/ccsr/itemtypeimg/vokal/EDUC.png b/koha-tmpl/opac-tmpl/ccsr/itemtypeimg/vokal/EDUC.png
new file mode 100644 (file)
index 0000000..542beae
Binary files /dev/null and b/koha-tmpl/opac-tmpl/ccsr/itemtypeimg/vokal/EDUC.png differ
diff --git a/koha-tmpl/opac-tmpl/ccsr/itemtypeimg/vokal/EQUIP-32px.png b/koha-tmpl/opac-tmpl/ccsr/itemtypeimg/vokal/EQUIP-32px.png
new file mode 100644 (file)
index 0000000..3ab531d
Binary files /dev/null and b/koha-tmpl/opac-tmpl/ccsr/itemtypeimg/vokal/EQUIP-32px.png differ
diff --git a/koha-tmpl/opac-tmpl/ccsr/itemtypeimg/vokal/EQUIP.png b/koha-tmpl/opac-tmpl/ccsr/itemtypeimg/vokal/EQUIP.png
new file mode 100644 (file)
index 0000000..f4c9271
Binary files /dev/null and b/koha-tmpl/opac-tmpl/ccsr/itemtypeimg/vokal/EQUIP.png differ
diff --git a/koha-tmpl/opac-tmpl/ccsr/itemtypeimg/vokal/FIC-32px.png b/koha-tmpl/opac-tmpl/ccsr/itemtypeimg/vokal/FIC-32px.png
new file mode 100644 (file)
index 0000000..cf30598
Binary files /dev/null and b/koha-tmpl/opac-tmpl/ccsr/itemtypeimg/vokal/FIC-32px.png differ
diff --git a/koha-tmpl/opac-tmpl/ccsr/itemtypeimg/vokal/FIC.png b/koha-tmpl/opac-tmpl/ccsr/itemtypeimg/vokal/FIC.png
new file mode 100644 (file)
index 0000000..218a1bf
Binary files /dev/null and b/koha-tmpl/opac-tmpl/ccsr/itemtypeimg/vokal/FIC.png differ
diff --git a/koha-tmpl/opac-tmpl/ccsr/itemtypeimg/vokal/HOLIDAY-32px.png b/koha-tmpl/opac-tmpl/ccsr/itemtypeimg/vokal/HOLIDAY-32px.png
new file mode 100644 (file)
index 0000000..87615d3
Binary files /dev/null and b/koha-tmpl/opac-tmpl/ccsr/itemtypeimg/vokal/HOLIDAY-32px.png differ
diff --git a/koha-tmpl/opac-tmpl/ccsr/itemtypeimg/vokal/HOLIDAY.png b/koha-tmpl/opac-tmpl/ccsr/itemtypeimg/vokal/HOLIDAY.png
new file mode 100644 (file)
index 0000000..3e231a8
Binary files /dev/null and b/koha-tmpl/opac-tmpl/ccsr/itemtypeimg/vokal/HOLIDAY.png differ
diff --git a/koha-tmpl/opac-tmpl/ccsr/itemtypeimg/vokal/Hardware-32px.png b/koha-tmpl/opac-tmpl/ccsr/itemtypeimg/vokal/Hardware-32px.png
new file mode 100644 (file)
index 0000000..8342d47
Binary files /dev/null and b/koha-tmpl/opac-tmpl/ccsr/itemtypeimg/vokal/Hardware-32px.png differ
diff --git a/koha-tmpl/opac-tmpl/ccsr/itemtypeimg/vokal/Hardware.png b/koha-tmpl/opac-tmpl/ccsr/itemtypeimg/vokal/Hardware.png
new file mode 100644 (file)
index 0000000..c77cb44
Binary files /dev/null and b/koha-tmpl/opac-tmpl/ccsr/itemtypeimg/vokal/Hardware.png differ
diff --git a/koha-tmpl/opac-tmpl/ccsr/itemtypeimg/vokal/ILL-32px.png b/koha-tmpl/opac-tmpl/ccsr/itemtypeimg/vokal/ILL-32px.png
new file mode 100644 (file)
index 0000000..da751ce
Binary files /dev/null and b/koha-tmpl/opac-tmpl/ccsr/itemtypeimg/vokal/ILL-32px.png differ
diff --git a/koha-tmpl/opac-tmpl/ccsr/itemtypeimg/vokal/ILL.png b/koha-tmpl/opac-tmpl/ccsr/itemtypeimg/vokal/ILL.png
new file mode 100644 (file)
index 0000000..4574284
Binary files /dev/null and b/koha-tmpl/opac-tmpl/ccsr/itemtypeimg/vokal/ILL.png differ
diff --git a/koha-tmpl/opac-tmpl/ccsr/itemtypeimg/vokal/Kit-32px.png b/koha-tmpl/opac-tmpl/ccsr/itemtypeimg/vokal/Kit-32px.png
new file mode 100644 (file)
index 0000000..722fb7f
Binary files /dev/null and b/koha-tmpl/opac-tmpl/ccsr/itemtypeimg/vokal/Kit-32px.png differ
diff --git a/koha-tmpl/opac-tmpl/ccsr/itemtypeimg/vokal/Kit.png b/koha-tmpl/opac-tmpl/ccsr/itemtypeimg/vokal/Kit.png
new file mode 100644 (file)
index 0000000..939613c
Binary files /dev/null and b/koha-tmpl/opac-tmpl/ccsr/itemtypeimg/vokal/Kit.png differ
diff --git a/koha-tmpl/opac-tmpl/ccsr/itemtypeimg/vokal/Kit_Backpack_Image.png b/koha-tmpl/opac-tmpl/ccsr/itemtypeimg/vokal/Kit_Backpack_Image.png
new file mode 100644 (file)
index 0000000..2bd80e6
Binary files /dev/null and b/koha-tmpl/opac-tmpl/ccsr/itemtypeimg/vokal/Kit_Backpack_Image.png differ
diff --git a/koha-tmpl/opac-tmpl/ccsr/itemtypeimg/vokal/Kit_Backpack_Word.png b/koha-tmpl/opac-tmpl/ccsr/itemtypeimg/vokal/Kit_Backpack_Word.png
new file mode 100644 (file)
index 0000000..a05996d
Binary files /dev/null and b/koha-tmpl/opac-tmpl/ccsr/itemtypeimg/vokal/Kit_Backpack_Word.png differ
diff --git a/koha-tmpl/opac-tmpl/ccsr/itemtypeimg/vokal/Kit_Bag_Image.png b/koha-tmpl/opac-tmpl/ccsr/itemtypeimg/vokal/Kit_Bag_Image.png
new file mode 100644 (file)
index 0000000..1f4e6e2
Binary files /dev/null and b/koha-tmpl/opac-tmpl/ccsr/itemtypeimg/vokal/Kit_Bag_Image.png differ
diff --git a/koha-tmpl/opac-tmpl/ccsr/itemtypeimg/vokal/Kit_Bag_Word-32px.png b/koha-tmpl/opac-tmpl/ccsr/itemtypeimg/vokal/Kit_Bag_Word-32px.png
new file mode 100644 (file)
index 0000000..722fb7f
Binary files /dev/null and b/koha-tmpl/opac-tmpl/ccsr/itemtypeimg/vokal/Kit_Bag_Word-32px.png differ
diff --git a/koha-tmpl/opac-tmpl/ccsr/itemtypeimg/vokal/Kit_Bag_Word.png b/koha-tmpl/opac-tmpl/ccsr/itemtypeimg/vokal/Kit_Bag_Word.png
new file mode 100644 (file)
index 0000000..939613c
Binary files /dev/null and b/koha-tmpl/opac-tmpl/ccsr/itemtypeimg/vokal/Kit_Bag_Word.png differ
diff --git a/koha-tmpl/opac-tmpl/ccsr/itemtypeimg/vokal/LargePrint-32px.png b/koha-tmpl/opac-tmpl/ccsr/itemtypeimg/vokal/LargePrint-32px.png
new file mode 100644 (file)
index 0000000..bca3572
Binary files /dev/null and b/koha-tmpl/opac-tmpl/ccsr/itemtypeimg/vokal/LargePrint-32px.png differ
diff --git a/koha-tmpl/opac-tmpl/ccsr/itemtypeimg/vokal/LargePrint.png b/koha-tmpl/opac-tmpl/ccsr/itemtypeimg/vokal/LargePrint.png
new file mode 100644 (file)
index 0000000..d86060b
Binary files /dev/null and b/koha-tmpl/opac-tmpl/ccsr/itemtypeimg/vokal/LargePrint.png differ
diff --git a/koha-tmpl/opac-tmpl/ccsr/itemtypeimg/vokal/MuseumPass-32px.png b/koha-tmpl/opac-tmpl/ccsr/itemtypeimg/vokal/MuseumPass-32px.png
new file mode 100644 (file)
index 0000000..2bed6c7
Binary files /dev/null and b/koha-tmpl/opac-tmpl/ccsr/itemtypeimg/vokal/MuseumPass-32px.png differ
diff --git a/koha-tmpl/opac-tmpl/ccsr/itemtypeimg/vokal/MuseumPass.png b/koha-tmpl/opac-tmpl/ccsr/itemtypeimg/vokal/MuseumPass.png
new file mode 100644 (file)
index 0000000..4963df5
Binary files /dev/null and b/koha-tmpl/opac-tmpl/ccsr/itemtypeimg/vokal/MuseumPass.png differ
diff --git a/koha-tmpl/opac-tmpl/ccsr/itemtypeimg/vokal/Music-32px.png b/koha-tmpl/opac-tmpl/ccsr/itemtypeimg/vokal/Music-32px.png
new file mode 100644 (file)
index 0000000..53b2dde
Binary files /dev/null and b/koha-tmpl/opac-tmpl/ccsr/itemtypeimg/vokal/Music-32px.png differ
diff --git a/koha-tmpl/opac-tmpl/ccsr/itemtypeimg/vokal/Music.png b/koha-tmpl/opac-tmpl/ccsr/itemtypeimg/vokal/Music.png
new file mode 100644 (file)
index 0000000..5f16fc5
Binary files /dev/null and b/koha-tmpl/opac-tmpl/ccsr/itemtypeimg/vokal/Music.png differ
diff --git a/koha-tmpl/opac-tmpl/ccsr/itemtypeimg/vokal/NEWBK-32px.png b/koha-tmpl/opac-tmpl/ccsr/itemtypeimg/vokal/NEWBK-32px.png
new file mode 100644 (file)
index 0000000..5d9af0d
Binary files /dev/null and b/koha-tmpl/opac-tmpl/ccsr/itemtypeimg/vokal/NEWBK-32px.png differ
diff --git a/koha-tmpl/opac-tmpl/ccsr/itemtypeimg/vokal/NEWBK.png b/koha-tmpl/opac-tmpl/ccsr/itemtypeimg/vokal/NEWBK.png
new file mode 100644 (file)
index 0000000..0bf4fc5
Binary files /dev/null and b/koha-tmpl/opac-tmpl/ccsr/itemtypeimg/vokal/NEWBK.png differ
diff --git a/koha-tmpl/opac-tmpl/ccsr/itemtypeimg/vokal/NFIC-32px.png b/koha-tmpl/opac-tmpl/ccsr/itemtypeimg/vokal/NFIC-32px.png
new file mode 100644 (file)
index 0000000..e5bb95e
Binary files /dev/null and b/koha-tmpl/opac-tmpl/ccsr/itemtypeimg/vokal/NFIC-32px.png differ
diff --git a/koha-tmpl/opac-tmpl/ccsr/itemtypeimg/vokal/NFIC.png b/koha-tmpl/opac-tmpl/ccsr/itemtypeimg/vokal/NFIC.png
new file mode 100644 (file)
index 0000000..62fac2b
Binary files /dev/null and b/koha-tmpl/opac-tmpl/ccsr/itemtypeimg/vokal/NFIC.png differ
diff --git a/koha-tmpl/opac-tmpl/ccsr/itemtypeimg/vokal/Periodical-32px.png b/koha-tmpl/opac-tmpl/ccsr/itemtypeimg/vokal/Periodical-32px.png
new file mode 100644 (file)
index 0000000..71d6aab
Binary files /dev/null and b/koha-tmpl/opac-tmpl/ccsr/itemtypeimg/vokal/Periodical-32px.png differ
diff --git a/koha-tmpl/opac-tmpl/ccsr/itemtypeimg/vokal/Periodical.png b/koha-tmpl/opac-tmpl/ccsr/itemtypeimg/vokal/Periodical.png
new file mode 100644 (file)
index 0000000..4ee997d
Binary files /dev/null and b/koha-tmpl/opac-tmpl/ccsr/itemtypeimg/vokal/Periodical.png differ
diff --git a/koha-tmpl/opac-tmpl/ccsr/itemtypeimg/vokal/PlayAway-32px.png b/koha-tmpl/opac-tmpl/ccsr/itemtypeimg/vokal/PlayAway-32px.png
new file mode 100644 (file)
index 0000000..1aac44e
Binary files /dev/null and b/koha-tmpl/opac-tmpl/ccsr/itemtypeimg/vokal/PlayAway-32px.png differ
diff --git a/koha-tmpl/opac-tmpl/ccsr/itemtypeimg/vokal/PlayAway.png b/koha-tmpl/opac-tmpl/ccsr/itemtypeimg/vokal/PlayAway.png
new file mode 100644 (file)
index 0000000..9c27cf8
Binary files /dev/null and b/koha-tmpl/opac-tmpl/ccsr/itemtypeimg/vokal/PlayAway.png differ
diff --git a/koha-tmpl/opac-tmpl/ccsr/itemtypeimg/vokal/Reference-32px.png b/koha-tmpl/opac-tmpl/ccsr/itemtypeimg/vokal/Reference-32px.png
new file mode 100644 (file)
index 0000000..7ac5f9b
Binary files /dev/null and b/koha-tmpl/opac-tmpl/ccsr/itemtypeimg/vokal/Reference-32px.png differ
diff --git a/koha-tmpl/opac-tmpl/ccsr/itemtypeimg/vokal/Reference.png b/koha-tmpl/opac-tmpl/ccsr/itemtypeimg/vokal/Reference.png
new file mode 100644 (file)
index 0000000..426ca1c
Binary files /dev/null and b/koha-tmpl/opac-tmpl/ccsr/itemtypeimg/vokal/Reference.png differ
diff --git a/koha-tmpl/opac-tmpl/ccsr/itemtypeimg/vokal/Special-32px.png b/koha-tmpl/opac-tmpl/ccsr/itemtypeimg/vokal/Special-32px.png
new file mode 100644 (file)
index 0000000..2bed6c7
Binary files /dev/null and b/koha-tmpl/opac-tmpl/ccsr/itemtypeimg/vokal/Special-32px.png differ
diff --git a/koha-tmpl/opac-tmpl/ccsr/itemtypeimg/vokal/Special.png b/koha-tmpl/opac-tmpl/ccsr/itemtypeimg/vokal/Special.png
new file mode 100644 (file)
index 0000000..4963df5
Binary files /dev/null and b/koha-tmpl/opac-tmpl/ccsr/itemtypeimg/vokal/Special.png differ
diff --git a/koha-tmpl/opac-tmpl/ccsr/itemtypeimg/vokal/VHS-32px.png b/koha-tmpl/opac-tmpl/ccsr/itemtypeimg/vokal/VHS-32px.png
new file mode 100644 (file)
index 0000000..183b8bf
Binary files /dev/null and b/koha-tmpl/opac-tmpl/ccsr/itemtypeimg/vokal/VHS-32px.png differ
diff --git a/koha-tmpl/opac-tmpl/ccsr/itemtypeimg/vokal/VHS.png b/koha-tmpl/opac-tmpl/ccsr/itemtypeimg/vokal/VHS.png
new file mode 100644 (file)
index 0000000..a376ef8
Binary files /dev/null and b/koha-tmpl/opac-tmpl/ccsr/itemtypeimg/vokal/VHS.png differ
diff --git a/koha-tmpl/opac-tmpl/lib/famfamfam/AR.png b/koha-tmpl/opac-tmpl/lib/famfamfam/AR.png
new file mode 100644 (file)
index 0000000..7d863f9
Binary files /dev/null and b/koha-tmpl/opac-tmpl/lib/famfamfam/AR.png differ
diff --git a/koha-tmpl/opac-tmpl/lib/famfamfam/BK.png b/koha-tmpl/opac-tmpl/lib/famfamfam/BK.png
new file mode 100644 (file)
index 0000000..b0f4dd7
Binary files /dev/null and b/koha-tmpl/opac-tmpl/lib/famfamfam/BK.png differ
diff --git a/koha-tmpl/opac-tmpl/lib/famfamfam/CF.png b/koha-tmpl/opac-tmpl/lib/famfamfam/CF.png
new file mode 100644 (file)
index 0000000..99d532e
Binary files /dev/null and b/koha-tmpl/opac-tmpl/lib/famfamfam/CF.png differ
diff --git a/koha-tmpl/opac-tmpl/lib/famfamfam/GR.png b/koha-tmpl/opac-tmpl/lib/famfamfam/GR.png
new file mode 100644 (file)
index 0000000..4a158fe
Binary files /dev/null and b/koha-tmpl/opac-tmpl/lib/famfamfam/GR.png differ
diff --git a/koha-tmpl/opac-tmpl/lib/famfamfam/MM.png b/koha-tmpl/opac-tmpl/lib/famfamfam/MM.png
new file mode 100644 (file)
index 0000000..1c856cd
Binary files /dev/null and b/koha-tmpl/opac-tmpl/lib/famfamfam/MM.png differ
diff --git a/koha-tmpl/opac-tmpl/lib/famfamfam/MP.png b/koha-tmpl/opac-tmpl/lib/famfamfam/MP.png
new file mode 100644 (file)
index 0000000..f90ef25
Binary files /dev/null and b/koha-tmpl/opac-tmpl/lib/famfamfam/MP.png differ
diff --git a/koha-tmpl/opac-tmpl/lib/famfamfam/MU.png b/koha-tmpl/opac-tmpl/lib/famfamfam/MU.png
new file mode 100644 (file)
index 0000000..6056d23
Binary files /dev/null and b/koha-tmpl/opac-tmpl/lib/famfamfam/MU.png differ
diff --git a/koha-tmpl/opac-tmpl/lib/famfamfam/MX.png b/koha-tmpl/opac-tmpl/lib/famfamfam/MX.png
new file mode 100644 (file)
index 0000000..1c856cd
Binary files /dev/null and b/koha-tmpl/opac-tmpl/lib/famfamfam/MX.png differ
diff --git a/koha-tmpl/opac-tmpl/lib/famfamfam/PR.png b/koha-tmpl/opac-tmpl/lib/famfamfam/PR.png
new file mode 100644 (file)
index 0000000..a8b3ede
Binary files /dev/null and b/koha-tmpl/opac-tmpl/lib/famfamfam/PR.png differ
diff --git a/koha-tmpl/opac-tmpl/lib/famfamfam/SE.png b/koha-tmpl/opac-tmpl/lib/famfamfam/SE.png
new file mode 100644 (file)
index 0000000..6a2ecce
Binary files /dev/null and b/koha-tmpl/opac-tmpl/lib/famfamfam/SE.png differ
diff --git a/koha-tmpl/opac-tmpl/lib/famfamfam/ST.png b/koha-tmpl/opac-tmpl/lib/famfamfam/ST.png
new file mode 100644 (file)
index 0000000..dd0820e
Binary files /dev/null and b/koha-tmpl/opac-tmpl/lib/famfamfam/ST.png differ
diff --git a/koha-tmpl/opac-tmpl/lib/famfamfam/TD.png b/koha-tmpl/opac-tmpl/lib/famfamfam/TD.png
new file mode 100644 (file)
index 0000000..7851cf3
Binary files /dev/null and b/koha-tmpl/opac-tmpl/lib/famfamfam/TD.png differ
diff --git a/koha-tmpl/opac-tmpl/lib/famfamfam/VM.png b/koha-tmpl/opac-tmpl/lib/famfamfam/VM.png
new file mode 100644 (file)
index 0000000..b0ce7bb
Binary files /dev/null and b/koha-tmpl/opac-tmpl/lib/famfamfam/VM.png differ
diff --git a/koha-tmpl/opac-tmpl/lib/famfamfam/mini/action_back.gif b/koha-tmpl/opac-tmpl/lib/famfamfam/mini/action_back.gif
new file mode 100644 (file)
index 0000000..46a8ffb
Binary files /dev/null and b/koha-tmpl/opac-tmpl/lib/famfamfam/mini/action_back.gif differ
diff --git a/koha-tmpl/opac-tmpl/lib/famfamfam/mini/action_forward.gif b/koha-tmpl/opac-tmpl/lib/famfamfam/mini/action_forward.gif
new file mode 100644 (file)
index 0000000..21da437
Binary files /dev/null and b/koha-tmpl/opac-tmpl/lib/famfamfam/mini/action_forward.gif differ
diff --git a/koha-tmpl/opac-tmpl/lib/famfamfam/mini/action_go.gif b/koha-tmpl/opac-tmpl/lib/famfamfam/mini/action_go.gif
new file mode 100644 (file)
index 0000000..82ae7ed
Binary files /dev/null and b/koha-tmpl/opac-tmpl/lib/famfamfam/mini/action_go.gif differ
diff --git a/koha-tmpl/opac-tmpl/lib/famfamfam/mini/action_paste.gif b/koha-tmpl/opac-tmpl/lib/famfamfam/mini/action_paste.gif
new file mode 100644 (file)
index 0000000..bffd6b0
Binary files /dev/null and b/koha-tmpl/opac-tmpl/lib/famfamfam/mini/action_paste.gif differ
diff --git a/koha-tmpl/opac-tmpl/lib/famfamfam/mini/action_print.gif b/koha-tmpl/opac-tmpl/lib/famfamfam/mini/action_print.gif
new file mode 100644 (file)
index 0000000..92e7e0a
Binary files /dev/null and b/koha-tmpl/opac-tmpl/lib/famfamfam/mini/action_print.gif differ
diff --git a/koha-tmpl/opac-tmpl/lib/famfamfam/mini/action_refresh.gif b/koha-tmpl/opac-tmpl/lib/famfamfam/mini/action_refresh.gif
new file mode 100644 (file)
index 0000000..8268958
Binary files /dev/null and b/koha-tmpl/opac-tmpl/lib/famfamfam/mini/action_refresh.gif differ
diff --git a/koha-tmpl/opac-tmpl/lib/famfamfam/mini/action_refresh_blue.gif b/koha-tmpl/opac-tmpl/lib/famfamfam/mini/action_refresh_blue.gif
new file mode 100644 (file)
index 0000000..7c8bcd0
Binary files /dev/null and b/koha-tmpl/opac-tmpl/lib/famfamfam/mini/action_refresh_blue.gif differ
diff --git a/koha-tmpl/opac-tmpl/lib/famfamfam/mini/action_save.gif b/koha-tmpl/opac-tmpl/lib/famfamfam/mini/action_save.gif
new file mode 100644 (file)
index 0000000..6e6f7de
Binary files /dev/null and b/koha-tmpl/opac-tmpl/lib/famfamfam/mini/action_save.gif differ
diff --git a/koha-tmpl/opac-tmpl/lib/famfamfam/mini/action_stop.gif b/koha-tmpl/opac-tmpl/lib/famfamfam/mini/action_stop.gif
new file mode 100644 (file)
index 0000000..c941c19
Binary files /dev/null and b/koha-tmpl/opac-tmpl/lib/famfamfam/mini/action_stop.gif differ
diff --git a/koha-tmpl/opac-tmpl/lib/famfamfam/mini/application_dreamweaver.gif b/koha-tmpl/opac-tmpl/lib/famfamfam/mini/application_dreamweaver.gif
new file mode 100644 (file)
index 0000000..15fe107
Binary files /dev/null and b/koha-tmpl/opac-tmpl/lib/famfamfam/mini/application_dreamweaver.gif differ
diff --git a/koha-tmpl/opac-tmpl/lib/famfamfam/mini/application_firefox.gif b/koha-tmpl/opac-tmpl/lib/famfamfam/mini/application_firefox.gif
new file mode 100644 (file)
index 0000000..1192e3e
Binary files /dev/null and b/koha-tmpl/opac-tmpl/lib/famfamfam/mini/application_firefox.gif differ
diff --git a/koha-tmpl/opac-tmpl/lib/famfamfam/mini/application_flash.gif b/koha-tmpl/opac-tmpl/lib/famfamfam/mini/application_flash.gif
new file mode 100644 (file)
index 0000000..92abbcb
Binary files /dev/null and b/koha-tmpl/opac-tmpl/lib/famfamfam/mini/application_flash.gif differ
diff --git a/koha-tmpl/opac-tmpl/lib/famfamfam/mini/arrow_down.gif b/koha-tmpl/opac-tmpl/lib/famfamfam/mini/arrow_down.gif
new file mode 100644 (file)
index 0000000..f0bb6a4
Binary files /dev/null and b/koha-tmpl/opac-tmpl/lib/famfamfam/mini/arrow_down.gif differ
diff --git a/koha-tmpl/opac-tmpl/lib/famfamfam/mini/arrow_left.gif b/koha-tmpl/opac-tmpl/lib/famfamfam/mini/arrow_left.gif
new file mode 100644 (file)
index 0000000..932ade1
Binary files /dev/null and b/koha-tmpl/opac-tmpl/lib/famfamfam/mini/arrow_left.gif differ
diff --git a/koha-tmpl/opac-tmpl/lib/famfamfam/mini/arrow_right.gif b/koha-tmpl/opac-tmpl/lib/famfamfam/mini/arrow_right.gif
new file mode 100644 (file)
index 0000000..780431c
Binary files /dev/null and b/koha-tmpl/opac-tmpl/lib/famfamfam/mini/arrow_right.gif differ
diff --git a/koha-tmpl/opac-tmpl/lib/famfamfam/mini/arrow_up.gif b/koha-tmpl/opac-tmpl/lib/famfamfam/mini/arrow_up.gif
new file mode 100644 (file)
index 0000000..e823417
Binary files /dev/null and b/koha-tmpl/opac-tmpl/lib/famfamfam/mini/arrow_up.gif differ
diff --git a/koha-tmpl/opac-tmpl/lib/famfamfam/mini/box.gif b/koha-tmpl/opac-tmpl/lib/famfamfam/mini/box.gif
new file mode 100644 (file)
index 0000000..cd4729a
Binary files /dev/null and b/koha-tmpl/opac-tmpl/lib/famfamfam/mini/box.gif differ
diff --git a/koha-tmpl/opac-tmpl/lib/famfamfam/mini/calendar.gif b/koha-tmpl/opac-tmpl/lib/famfamfam/mini/calendar.gif
new file mode 100644 (file)
index 0000000..f78788c
Binary files /dev/null and b/koha-tmpl/opac-tmpl/lib/famfamfam/mini/calendar.gif differ
diff --git a/koha-tmpl/opac-tmpl/lib/famfamfam/mini/comment.gif b/koha-tmpl/opac-tmpl/lib/famfamfam/mini/comment.gif
new file mode 100644 (file)
index 0000000..897cf2e
Binary files /dev/null and b/koha-tmpl/opac-tmpl/lib/famfamfam/mini/comment.gif differ
diff --git a/koha-tmpl/opac-tmpl/lib/famfamfam/mini/comment_blue.gif b/koha-tmpl/opac-tmpl/lib/famfamfam/mini/comment_blue.gif
new file mode 100644 (file)
index 0000000..897cf2e
Binary files /dev/null and b/koha-tmpl/opac-tmpl/lib/famfamfam/mini/comment_blue.gif differ
diff --git a/koha-tmpl/opac-tmpl/lib/famfamfam/mini/comment_delete.gif b/koha-tmpl/opac-tmpl/lib/famfamfam/mini/comment_delete.gif
new file mode 100644 (file)
index 0000000..691b546
Binary files /dev/null and b/koha-tmpl/opac-tmpl/lib/famfamfam/mini/comment_delete.gif differ
diff --git a/koha-tmpl/opac-tmpl/lib/famfamfam/mini/comment_new.gif b/koha-tmpl/opac-tmpl/lib/famfamfam/mini/comment_new.gif
new file mode 100644 (file)
index 0000000..aa7e9d3
Binary files /dev/null and b/koha-tmpl/opac-tmpl/lib/famfamfam/mini/comment_new.gif differ
diff --git a/koha-tmpl/opac-tmpl/lib/famfamfam/mini/comment_yellow.gif b/koha-tmpl/opac-tmpl/lib/famfamfam/mini/comment_yellow.gif
new file mode 100644 (file)
index 0000000..df7158a
Binary files /dev/null and b/koha-tmpl/opac-tmpl/lib/famfamfam/mini/comment_yellow.gif differ
diff --git a/koha-tmpl/opac-tmpl/lib/famfamfam/mini/copy.gif b/koha-tmpl/opac-tmpl/lib/famfamfam/mini/copy.gif
new file mode 100644 (file)
index 0000000..ff81b3b
Binary files /dev/null and b/koha-tmpl/opac-tmpl/lib/famfamfam/mini/copy.gif differ
diff --git a/koha-tmpl/opac-tmpl/lib/famfamfam/mini/cut.gif b/koha-tmpl/opac-tmpl/lib/famfamfam/mini/cut.gif
new file mode 100644 (file)
index 0000000..ffd7f4f
Binary files /dev/null and b/koha-tmpl/opac-tmpl/lib/famfamfam/mini/cut.gif differ
diff --git a/koha-tmpl/opac-tmpl/lib/famfamfam/mini/date.gif b/koha-tmpl/opac-tmpl/lib/famfamfam/mini/date.gif
new file mode 100644 (file)
index 0000000..0cbdf00
Binary files /dev/null and b/koha-tmpl/opac-tmpl/lib/famfamfam/mini/date.gif differ
diff --git a/koha-tmpl/opac-tmpl/lib/famfamfam/mini/date_delete.gif b/koha-tmpl/opac-tmpl/lib/famfamfam/mini/date_delete.gif
new file mode 100644 (file)
index 0000000..65f716b
Binary files /dev/null and b/koha-tmpl/opac-tmpl/lib/famfamfam/mini/date_delete.gif differ
diff --git a/koha-tmpl/opac-tmpl/lib/famfamfam/mini/date_new.gif b/koha-tmpl/opac-tmpl/lib/famfamfam/mini/date_new.gif
new file mode 100644 (file)
index 0000000..e224d78
Binary files /dev/null and b/koha-tmpl/opac-tmpl/lib/famfamfam/mini/date_new.gif differ
diff --git a/koha-tmpl/opac-tmpl/lib/famfamfam/mini/file_acrobat.gif b/koha-tmpl/opac-tmpl/lib/famfamfam/mini/file_acrobat.gif
new file mode 100644 (file)
index 0000000..7bc7de9
Binary files /dev/null and b/koha-tmpl/opac-tmpl/lib/famfamfam/mini/file_acrobat.gif differ
diff --git a/koha-tmpl/opac-tmpl/lib/famfamfam/mini/file_font.gif b/koha-tmpl/opac-tmpl/lib/famfamfam/mini/file_font.gif
new file mode 100644 (file)
index 0000000..52b5ef3
Binary files /dev/null and b/koha-tmpl/opac-tmpl/lib/famfamfam/mini/file_font.gif differ
diff --git a/koha-tmpl/opac-tmpl/lib/famfamfam/mini/file_font_truetype.gif b/koha-tmpl/opac-tmpl/lib/famfamfam/mini/file_font_truetype.gif
new file mode 100644 (file)
index 0000000..0569425
Binary files /dev/null and b/koha-tmpl/opac-tmpl/lib/famfamfam/mini/file_font_truetype.gif differ
diff --git a/koha-tmpl/opac-tmpl/lib/famfamfam/mini/flag_blue.gif b/koha-tmpl/opac-tmpl/lib/famfamfam/mini/flag_blue.gif
new file mode 100644 (file)
index 0000000..a092405
Binary files /dev/null and b/koha-tmpl/opac-tmpl/lib/famfamfam/mini/flag_blue.gif differ
diff --git a/koha-tmpl/opac-tmpl/lib/famfamfam/mini/flag_green.gif b/koha-tmpl/opac-tmpl/lib/famfamfam/mini/flag_green.gif
new file mode 100644 (file)
index 0000000..76b8925
Binary files /dev/null and b/koha-tmpl/opac-tmpl/lib/famfamfam/mini/flag_green.gif differ
diff --git a/koha-tmpl/opac-tmpl/lib/famfamfam/mini/flag_orange.gif b/koha-tmpl/opac-tmpl/lib/famfamfam/mini/flag_orange.gif
new file mode 100644 (file)
index 0000000..0596070
Binary files /dev/null and b/koha-tmpl/opac-tmpl/lib/famfamfam/mini/flag_orange.gif differ
diff --git a/koha-tmpl/opac-tmpl/lib/famfamfam/mini/flag_red.gif b/koha-tmpl/opac-tmpl/lib/famfamfam/mini/flag_red.gif
new file mode 100644 (file)
index 0000000..16698e3
Binary files /dev/null and b/koha-tmpl/opac-tmpl/lib/famfamfam/mini/flag_red.gif differ
diff --git a/koha-tmpl/opac-tmpl/lib/famfamfam/mini/flag_white.gif b/koha-tmpl/opac-tmpl/lib/famfamfam/mini/flag_white.gif
new file mode 100644 (file)
index 0000000..b566c01
Binary files /dev/null and b/koha-tmpl/opac-tmpl/lib/famfamfam/mini/flag_white.gif differ
diff --git a/koha-tmpl/opac-tmpl/lib/famfamfam/mini/folder.gif b/koha-tmpl/opac-tmpl/lib/famfamfam/mini/folder.gif
new file mode 100644 (file)
index 0000000..8dc04c4
Binary files /dev/null and b/koha-tmpl/opac-tmpl/lib/famfamfam/mini/folder.gif differ
diff --git a/koha-tmpl/opac-tmpl/lib/famfamfam/mini/folder_delete.gif b/koha-tmpl/opac-tmpl/lib/famfamfam/mini/folder_delete.gif
new file mode 100644 (file)
index 0000000..ce9f448
Binary files /dev/null and b/koha-tmpl/opac-tmpl/lib/famfamfam/mini/folder_delete.gif differ
diff --git a/koha-tmpl/opac-tmpl/lib/famfamfam/mini/folder_images.gif b/koha-tmpl/opac-tmpl/lib/famfamfam/mini/folder_images.gif
new file mode 100644 (file)
index 0000000..81a7c3b
Binary files /dev/null and b/koha-tmpl/opac-tmpl/lib/famfamfam/mini/folder_images.gif differ
diff --git a/koha-tmpl/opac-tmpl/lib/famfamfam/mini/folder_lock.gif b/koha-tmpl/opac-tmpl/lib/famfamfam/mini/folder_lock.gif
new file mode 100644 (file)
index 0000000..b1bfa02
Binary files /dev/null and b/koha-tmpl/opac-tmpl/lib/famfamfam/mini/folder_lock.gif differ
diff --git a/koha-tmpl/opac-tmpl/lib/famfamfam/mini/folder_new.gif b/koha-tmpl/opac-tmpl/lib/famfamfam/mini/folder_new.gif
new file mode 100644 (file)
index 0000000..5f30cfa
Binary files /dev/null and b/koha-tmpl/opac-tmpl/lib/famfamfam/mini/folder_new.gif differ
diff --git a/koha-tmpl/opac-tmpl/lib/famfamfam/mini/folder_page.gif b/koha-tmpl/opac-tmpl/lib/famfamfam/mini/folder_page.gif
new file mode 100644 (file)
index 0000000..a8c53e2
Binary files /dev/null and b/koha-tmpl/opac-tmpl/lib/famfamfam/mini/folder_page.gif differ
diff --git a/koha-tmpl/opac-tmpl/lib/famfamfam/mini/icon_accept.gif b/koha-tmpl/opac-tmpl/lib/famfamfam/mini/icon_accept.gif
new file mode 100644 (file)
index 0000000..35e9499
Binary files /dev/null and b/koha-tmpl/opac-tmpl/lib/famfamfam/mini/icon_accept.gif differ
diff --git a/koha-tmpl/opac-tmpl/lib/famfamfam/mini/icon_airmail.gif b/koha-tmpl/opac-tmpl/lib/famfamfam/mini/icon_airmail.gif
new file mode 100644 (file)
index 0000000..2be8457
Binary files /dev/null and b/koha-tmpl/opac-tmpl/lib/famfamfam/mini/icon_airmail.gif differ
diff --git a/koha-tmpl/opac-tmpl/lib/famfamfam/mini/icon_alert.gif b/koha-tmpl/opac-tmpl/lib/famfamfam/mini/icon_alert.gif
new file mode 100644 (file)
index 0000000..429a5d9
Binary files /dev/null and b/koha-tmpl/opac-tmpl/lib/famfamfam/mini/icon_alert.gif differ
diff --git a/koha-tmpl/opac-tmpl/lib/famfamfam/mini/icon_attachment.gif b/koha-tmpl/opac-tmpl/lib/famfamfam/mini/icon_attachment.gif
new file mode 100644 (file)
index 0000000..4400e61
Binary files /dev/null and b/koha-tmpl/opac-tmpl/lib/famfamfam/mini/icon_attachment.gif differ
diff --git a/koha-tmpl/opac-tmpl/lib/famfamfam/mini/icon_clock.gif b/koha-tmpl/opac-tmpl/lib/famfamfam/mini/icon_clock.gif
new file mode 100644 (file)
index 0000000..6ac6ebc
Binary files /dev/null and b/koha-tmpl/opac-tmpl/lib/famfamfam/mini/icon_clock.gif differ
diff --git a/koha-tmpl/opac-tmpl/lib/famfamfam/mini/icon_component.gif b/koha-tmpl/opac-tmpl/lib/famfamfam/mini/icon_component.gif
new file mode 100644 (file)
index 0000000..bde079f
Binary files /dev/null and b/koha-tmpl/opac-tmpl/lib/famfamfam/mini/icon_component.gif differ
diff --git a/koha-tmpl/opac-tmpl/lib/famfamfam/mini/icon_download.gif b/koha-tmpl/opac-tmpl/lib/famfamfam/mini/icon_download.gif
new file mode 100644 (file)
index 0000000..d052d09
Binary files /dev/null and b/koha-tmpl/opac-tmpl/lib/famfamfam/mini/icon_download.gif differ
diff --git a/koha-tmpl/opac-tmpl/lib/famfamfam/mini/icon_email.gif b/koha-tmpl/opac-tmpl/lib/famfamfam/mini/icon_email.gif
new file mode 100644 (file)
index 0000000..62bc6ff
Binary files /dev/null and b/koha-tmpl/opac-tmpl/lib/famfamfam/mini/icon_email.gif differ
diff --git a/koha-tmpl/opac-tmpl/lib/famfamfam/mini/icon_extension.gif b/koha-tmpl/opac-tmpl/lib/famfamfam/mini/icon_extension.gif
new file mode 100644 (file)
index 0000000..50c2d46
Binary files /dev/null and b/koha-tmpl/opac-tmpl/lib/famfamfam/mini/icon_extension.gif differ
diff --git a/koha-tmpl/opac-tmpl/lib/famfamfam/mini/icon_favourites.gif b/koha-tmpl/opac-tmpl/lib/famfamfam/mini/icon_favourites.gif
new file mode 100644 (file)
index 0000000..785b938
Binary files /dev/null and b/koha-tmpl/opac-tmpl/lib/famfamfam/mini/icon_favourites.gif differ
diff --git a/koha-tmpl/opac-tmpl/lib/famfamfam/mini/icon_get_world.gif b/koha-tmpl/opac-tmpl/lib/famfamfam/mini/icon_get_world.gif
new file mode 100644 (file)
index 0000000..f99a538
Binary files /dev/null and b/koha-tmpl/opac-tmpl/lib/famfamfam/mini/icon_get_world.gif differ
diff --git a/koha-tmpl/opac-tmpl/lib/famfamfam/mini/icon_history.gif b/koha-tmpl/opac-tmpl/lib/famfamfam/mini/icon_history.gif
new file mode 100644 (file)
index 0000000..4473b1b
Binary files /dev/null and b/koha-tmpl/opac-tmpl/lib/famfamfam/mini/icon_history.gif differ
diff --git a/koha-tmpl/opac-tmpl/lib/famfamfam/mini/icon_home.gif b/koha-tmpl/opac-tmpl/lib/famfamfam/mini/icon_home.gif
new file mode 100644 (file)
index 0000000..327e76f
Binary files /dev/null and b/koha-tmpl/opac-tmpl/lib/famfamfam/mini/icon_home.gif differ
diff --git a/koha-tmpl/opac-tmpl/lib/famfamfam/mini/icon_info.gif b/koha-tmpl/opac-tmpl/lib/famfamfam/mini/icon_info.gif
new file mode 100644 (file)
index 0000000..9dfa0e1
Binary files /dev/null and b/koha-tmpl/opac-tmpl/lib/famfamfam/mini/icon_info.gif differ
diff --git a/koha-tmpl/opac-tmpl/lib/famfamfam/mini/icon_key.gif b/koha-tmpl/opac-tmpl/lib/famfamfam/mini/icon_key.gif
new file mode 100644 (file)
index 0000000..e3853e5
Binary files /dev/null and b/koha-tmpl/opac-tmpl/lib/famfamfam/mini/icon_key.gif differ
diff --git a/koha-tmpl/opac-tmpl/lib/famfamfam/mini/icon_link.gif b/koha-tmpl/opac-tmpl/lib/famfamfam/mini/icon_link.gif
new file mode 100644 (file)
index 0000000..c64c23c
Binary files /dev/null and b/koha-tmpl/opac-tmpl/lib/famfamfam/mini/icon_link.gif differ
diff --git a/koha-tmpl/opac-tmpl/lib/famfamfam/mini/icon_mail.gif b/koha-tmpl/opac-tmpl/lib/famfamfam/mini/icon_mail.gif
new file mode 100644 (file)
index 0000000..5b5c7a7
Binary files /dev/null and b/koha-tmpl/opac-tmpl/lib/famfamfam/mini/icon_mail.gif differ
diff --git a/koha-tmpl/opac-tmpl/lib/famfamfam/mini/icon_monitor_mac.gif b/koha-tmpl/opac-tmpl/lib/famfamfam/mini/icon_monitor_mac.gif
new file mode 100644 (file)
index 0000000..b700287
Binary files /dev/null and b/koha-tmpl/opac-tmpl/lib/famfamfam/mini/icon_monitor_mac.gif differ
diff --git a/koha-tmpl/opac-tmpl/lib/famfamfam/mini/icon_monitor_pc.gif b/koha-tmpl/opac-tmpl/lib/famfamfam/mini/icon_monitor_pc.gif
new file mode 100644 (file)
index 0000000..d9a9472
Binary files /dev/null and b/koha-tmpl/opac-tmpl/lib/famfamfam/mini/icon_monitor_pc.gif differ
diff --git a/koha-tmpl/opac-tmpl/lib/famfamfam/mini/icon_network.gif b/koha-tmpl/opac-tmpl/lib/famfamfam/mini/icon_network.gif
new file mode 100644 (file)
index 0000000..c607888
Binary files /dev/null and b/koha-tmpl/opac-tmpl/lib/famfamfam/mini/icon_network.gif differ
diff --git a/koha-tmpl/opac-tmpl/lib/famfamfam/mini/icon_package.gif b/koha-tmpl/opac-tmpl/lib/famfamfam/mini/icon_package.gif
new file mode 100644 (file)
index 0000000..e01b1ff
Binary files /dev/null and b/koha-tmpl/opac-tmpl/lib/famfamfam/mini/icon_package.gif differ
diff --git a/koha-tmpl/opac-tmpl/lib/famfamfam/mini/icon_package_get.gif b/koha-tmpl/opac-tmpl/lib/famfamfam/mini/icon_package_get.gif
new file mode 100644 (file)
index 0000000..19712a9
Binary files /dev/null and b/koha-tmpl/opac-tmpl/lib/famfamfam/mini/icon_package_get.gif differ
diff --git a/koha-tmpl/opac-tmpl/lib/famfamfam/mini/icon_package_open.gif b/koha-tmpl/opac-tmpl/lib/famfamfam/mini/icon_package_open.gif
new file mode 100644 (file)
index 0000000..e630faf
Binary files /dev/null and b/koha-tmpl/opac-tmpl/lib/famfamfam/mini/icon_package_open.gif differ
diff --git a/koha-tmpl/opac-tmpl/lib/famfamfam/mini/icon_padlock.gif b/koha-tmpl/opac-tmpl/lib/famfamfam/mini/icon_padlock.gif
new file mode 100644 (file)
index 0000000..f70cc95
Binary files /dev/null and b/koha-tmpl/opac-tmpl/lib/famfamfam/mini/icon_padlock.gif differ
diff --git a/koha-tmpl/opac-tmpl/lib/famfamfam/mini/icon_security.gif b/koha-tmpl/opac-tmpl/lib/famfamfam/mini/icon_security.gif
new file mode 100644 (file)
index 0000000..929284d
Binary files /dev/null and b/koha-tmpl/opac-tmpl/lib/famfamfam/mini/icon_security.gif differ
diff --git a/koha-tmpl/opac-tmpl/lib/famfamfam/mini/icon_settings.gif b/koha-tmpl/opac-tmpl/lib/famfamfam/mini/icon_settings.gif
new file mode 100644 (file)
index 0000000..14339f7
Binary files /dev/null and b/koha-tmpl/opac-tmpl/lib/famfamfam/mini/icon_settings.gif differ
diff --git a/koha-tmpl/opac-tmpl/lib/famfamfam/mini/icon_user.gif b/koha-tmpl/opac-tmpl/lib/famfamfam/mini/icon_user.gif
new file mode 100644 (file)
index 0000000..dcb5c2a
Binary files /dev/null and b/koha-tmpl/opac-tmpl/lib/famfamfam/mini/icon_user.gif differ
diff --git a/koha-tmpl/opac-tmpl/lib/famfamfam/mini/icon_wand.gif b/koha-tmpl/opac-tmpl/lib/famfamfam/mini/icon_wand.gif
new file mode 100644 (file)
index 0000000..d4eb47e
Binary files /dev/null and b/koha-tmpl/opac-tmpl/lib/famfamfam/mini/icon_wand.gif differ
diff --git a/koha-tmpl/opac-tmpl/lib/famfamfam/mini/icon_world.gif b/koha-tmpl/opac-tmpl/lib/famfamfam/mini/icon_world.gif
new file mode 100644 (file)
index 0000000..355c1a9
Binary files /dev/null and b/koha-tmpl/opac-tmpl/lib/famfamfam/mini/icon_world.gif differ
diff --git a/koha-tmpl/opac-tmpl/lib/famfamfam/mini/icon_world_dynamic.gif b/koha-tmpl/opac-tmpl/lib/famfamfam/mini/icon_world_dynamic.gif
new file mode 100644 (file)
index 0000000..e5ed08c
Binary files /dev/null and b/koha-tmpl/opac-tmpl/lib/famfamfam/mini/icon_world_dynamic.gif differ
diff --git a/koha-tmpl/opac-tmpl/lib/famfamfam/mini/image.gif b/koha-tmpl/opac-tmpl/lib/famfamfam/mini/image.gif
new file mode 100644 (file)
index 0000000..d5924f4
Binary files /dev/null and b/koha-tmpl/opac-tmpl/lib/famfamfam/mini/image.gif differ
diff --git a/koha-tmpl/opac-tmpl/lib/famfamfam/mini/image_new.gif b/koha-tmpl/opac-tmpl/lib/famfamfam/mini/image_new.gif
new file mode 100644 (file)
index 0000000..4f4d12e
Binary files /dev/null and b/koha-tmpl/opac-tmpl/lib/famfamfam/mini/image_new.gif differ
diff --git a/koha-tmpl/opac-tmpl/lib/famfamfam/mini/interface_browser.gif b/koha-tmpl/opac-tmpl/lib/famfamfam/mini/interface_browser.gif
new file mode 100644 (file)
index 0000000..602ef50
Binary files /dev/null and b/koha-tmpl/opac-tmpl/lib/famfamfam/mini/interface_browser.gif differ
diff --git a/koha-tmpl/opac-tmpl/lib/famfamfam/mini/interface_dialog.gif b/koha-tmpl/opac-tmpl/lib/famfamfam/mini/interface_dialog.gif
new file mode 100644 (file)
index 0000000..31e1b07
Binary files /dev/null and b/koha-tmpl/opac-tmpl/lib/famfamfam/mini/interface_dialog.gif differ
diff --git a/koha-tmpl/opac-tmpl/lib/famfamfam/mini/interface_installer.gif b/koha-tmpl/opac-tmpl/lib/famfamfam/mini/interface_installer.gif
new file mode 100644 (file)
index 0000000..4b11af3
Binary files /dev/null and b/koha-tmpl/opac-tmpl/lib/famfamfam/mini/interface_installer.gif differ
diff --git a/koha-tmpl/opac-tmpl/lib/famfamfam/mini/list_comments.gif b/koha-tmpl/opac-tmpl/lib/famfamfam/mini/list_comments.gif
new file mode 100644 (file)
index 0000000..b313894
Binary files /dev/null and b/koha-tmpl/opac-tmpl/lib/famfamfam/mini/list_comments.gif differ
diff --git a/koha-tmpl/opac-tmpl/lib/famfamfam/mini/list_components.gif b/koha-tmpl/opac-tmpl/lib/famfamfam/mini/list_components.gif
new file mode 100644 (file)
index 0000000..d38de9d
Binary files /dev/null and b/koha-tmpl/opac-tmpl/lib/famfamfam/mini/list_components.gif differ
diff --git a/koha-tmpl/opac-tmpl/lib/famfamfam/mini/list_errors.gif b/koha-tmpl/opac-tmpl/lib/famfamfam/mini/list_errors.gif
new file mode 100644 (file)
index 0000000..2e68d10
Binary files /dev/null and b/koha-tmpl/opac-tmpl/lib/famfamfam/mini/list_errors.gif differ
diff --git a/koha-tmpl/opac-tmpl/lib/famfamfam/mini/list_extensions.gif b/koha-tmpl/opac-tmpl/lib/famfamfam/mini/list_extensions.gif
new file mode 100644 (file)
index 0000000..a5e542a
Binary files /dev/null and b/koha-tmpl/opac-tmpl/lib/famfamfam/mini/list_extensions.gif differ
diff --git a/koha-tmpl/opac-tmpl/lib/famfamfam/mini/list_images.gif b/koha-tmpl/opac-tmpl/lib/famfamfam/mini/list_images.gif
new file mode 100644 (file)
index 0000000..f744f19
Binary files /dev/null and b/koha-tmpl/opac-tmpl/lib/famfamfam/mini/list_images.gif differ
diff --git a/koha-tmpl/opac-tmpl/lib/famfamfam/mini/list_keys.gif b/koha-tmpl/opac-tmpl/lib/famfamfam/mini/list_keys.gif
new file mode 100644 (file)
index 0000000..6d3990a
Binary files /dev/null and b/koha-tmpl/opac-tmpl/lib/famfamfam/mini/list_keys.gif differ
diff --git a/koha-tmpl/opac-tmpl/lib/famfamfam/mini/list_links.gif b/koha-tmpl/opac-tmpl/lib/famfamfam/mini/list_links.gif
new file mode 100644 (file)
index 0000000..4beb044
Binary files /dev/null and b/koha-tmpl/opac-tmpl/lib/famfamfam/mini/list_links.gif differ
diff --git a/koha-tmpl/opac-tmpl/lib/famfamfam/mini/list_packages.gif b/koha-tmpl/opac-tmpl/lib/famfamfam/mini/list_packages.gif
new file mode 100644 (file)
index 0000000..c6cadf3
Binary files /dev/null and b/koha-tmpl/opac-tmpl/lib/famfamfam/mini/list_packages.gif differ
diff --git a/koha-tmpl/opac-tmpl/lib/famfamfam/mini/list_security.gif b/koha-tmpl/opac-tmpl/lib/famfamfam/mini/list_security.gif
new file mode 100644 (file)
index 0000000..3e32002
Binary files /dev/null and b/koha-tmpl/opac-tmpl/lib/famfamfam/mini/list_security.gif differ
diff --git a/koha-tmpl/opac-tmpl/lib/famfamfam/mini/list_settings.gif b/koha-tmpl/opac-tmpl/lib/famfamfam/mini/list_settings.gif
new file mode 100644 (file)
index 0000000..0845095
Binary files /dev/null and b/koha-tmpl/opac-tmpl/lib/famfamfam/mini/list_settings.gif differ
diff --git a/koha-tmpl/opac-tmpl/lib/famfamfam/mini/list_users.gif b/koha-tmpl/opac-tmpl/lib/famfamfam/mini/list_users.gif
new file mode 100644 (file)
index 0000000..394aba6
Binary files /dev/null and b/koha-tmpl/opac-tmpl/lib/famfamfam/mini/list_users.gif differ
diff --git a/koha-tmpl/opac-tmpl/lib/famfamfam/mini/list_world.gif b/koha-tmpl/opac-tmpl/lib/famfamfam/mini/list_world.gif
new file mode 100644 (file)
index 0000000..a56265e
Binary files /dev/null and b/koha-tmpl/opac-tmpl/lib/famfamfam/mini/list_world.gif differ
diff --git a/koha-tmpl/opac-tmpl/lib/famfamfam/mini/note.gif b/koha-tmpl/opac-tmpl/lib/famfamfam/mini/note.gif
new file mode 100644 (file)
index 0000000..17b9f41
Binary files /dev/null and b/koha-tmpl/opac-tmpl/lib/famfamfam/mini/note.gif differ
diff --git a/koha-tmpl/opac-tmpl/lib/famfamfam/mini/note_delete.gif b/koha-tmpl/opac-tmpl/lib/famfamfam/mini/note_delete.gif
new file mode 100644 (file)
index 0000000..13402a5
Binary files /dev/null and b/koha-tmpl/opac-tmpl/lib/famfamfam/mini/note_delete.gif differ
diff --git a/koha-tmpl/opac-tmpl/lib/famfamfam/mini/note_new.gif b/koha-tmpl/opac-tmpl/lib/famfamfam/mini/note_new.gif
new file mode 100644 (file)
index 0000000..431ff64
Binary files /dev/null and b/koha-tmpl/opac-tmpl/lib/famfamfam/mini/note_new.gif differ
diff --git a/koha-tmpl/opac-tmpl/lib/famfamfam/mini/page.gif b/koha-tmpl/opac-tmpl/lib/famfamfam/mini/page.gif
new file mode 100644 (file)
index 0000000..c5743c0
Binary files /dev/null and b/koha-tmpl/opac-tmpl/lib/famfamfam/mini/page.gif differ
diff --git a/koha-tmpl/opac-tmpl/lib/famfamfam/mini/page_alert.gif b/koha-tmpl/opac-tmpl/lib/famfamfam/mini/page_alert.gif
new file mode 100644 (file)
index 0000000..4719a1f
Binary files /dev/null and b/koha-tmpl/opac-tmpl/lib/famfamfam/mini/page_alert.gif differ
diff --git a/koha-tmpl/opac-tmpl/lib/famfamfam/mini/page_attachment.gif b/koha-tmpl/opac-tmpl/lib/famfamfam/mini/page_attachment.gif
new file mode 100644 (file)
index 0000000..a8e1b45
Binary files /dev/null and b/koha-tmpl/opac-tmpl/lib/famfamfam/mini/page_attachment.gif differ
diff --git a/koha-tmpl/opac-tmpl/lib/famfamfam/mini/page_bookmark.gif b/koha-tmpl/opac-tmpl/lib/famfamfam/mini/page_bookmark.gif
new file mode 100644 (file)
index 0000000..1b2a923
Binary files /dev/null and b/koha-tmpl/opac-tmpl/lib/famfamfam/mini/page_bookmark.gif differ
diff --git a/koha-tmpl/opac-tmpl/lib/famfamfam/mini/page_boy.gif b/koha-tmpl/opac-tmpl/lib/famfamfam/mini/page_boy.gif
new file mode 100644 (file)
index 0000000..4ae3ff0
Binary files /dev/null and b/koha-tmpl/opac-tmpl/lib/famfamfam/mini/page_boy.gif differ
diff --git a/koha-tmpl/opac-tmpl/lib/famfamfam/mini/page_code.gif b/koha-tmpl/opac-tmpl/lib/famfamfam/mini/page_code.gif
new file mode 100644 (file)
index 0000000..912517b
Binary files /dev/null and b/koha-tmpl/opac-tmpl/lib/famfamfam/mini/page_code.gif differ
diff --git a/koha-tmpl/opac-tmpl/lib/famfamfam/mini/page_colors.gif b/koha-tmpl/opac-tmpl/lib/famfamfam/mini/page_colors.gif
new file mode 100644 (file)
index 0000000..0141d38
Binary files /dev/null and b/koha-tmpl/opac-tmpl/lib/famfamfam/mini/page_colors.gif differ
diff --git a/koha-tmpl/opac-tmpl/lib/famfamfam/mini/page_component.gif b/koha-tmpl/opac-tmpl/lib/famfamfam/mini/page_component.gif
new file mode 100644 (file)
index 0000000..f9aee3f
Binary files /dev/null and b/koha-tmpl/opac-tmpl/lib/famfamfam/mini/page_component.gif differ
diff --git a/koha-tmpl/opac-tmpl/lib/famfamfam/mini/page_cross.gif b/koha-tmpl/opac-tmpl/lib/famfamfam/mini/page_cross.gif
new file mode 100644 (file)
index 0000000..bf43a0a
Binary files /dev/null and b/koha-tmpl/opac-tmpl/lib/famfamfam/mini/page_cross.gif differ
diff --git a/koha-tmpl/opac-tmpl/lib/famfamfam/mini/page_delete.gif b/koha-tmpl/opac-tmpl/lib/famfamfam/mini/page_delete.gif
new file mode 100644 (file)
index 0000000..0c6be03
Binary files /dev/null and b/koha-tmpl/opac-tmpl/lib/famfamfam/mini/page_delete.gif differ
diff --git a/koha-tmpl/opac-tmpl/lib/famfamfam/mini/page_deny.gif b/koha-tmpl/opac-tmpl/lib/famfamfam/mini/page_deny.gif
new file mode 100644 (file)
index 0000000..2bf5013
Binary files /dev/null and b/koha-tmpl/opac-tmpl/lib/famfamfam/mini/page_deny.gif differ
diff --git a/koha-tmpl/opac-tmpl/lib/famfamfam/mini/page_down.gif b/koha-tmpl/opac-tmpl/lib/famfamfam/mini/page_down.gif
new file mode 100644 (file)
index 0000000..390ba69
Binary files /dev/null and b/koha-tmpl/opac-tmpl/lib/famfamfam/mini/page_down.gif differ
diff --git a/koha-tmpl/opac-tmpl/lib/famfamfam/mini/page_dynamic.gif b/koha-tmpl/opac-tmpl/lib/famfamfam/mini/page_dynamic.gif
new file mode 100644 (file)
index 0000000..11c59e6
Binary files /dev/null and b/koha-tmpl/opac-tmpl/lib/famfamfam/mini/page_dynamic.gif differ
diff --git a/koha-tmpl/opac-tmpl/lib/famfamfam/mini/page_edit.gif b/koha-tmpl/opac-tmpl/lib/famfamfam/mini/page_edit.gif
new file mode 100644 (file)
index 0000000..7b02b6e
Binary files /dev/null and b/koha-tmpl/opac-tmpl/lib/famfamfam/mini/page_edit.gif differ
diff --git a/koha-tmpl/opac-tmpl/lib/famfamfam/mini/page_extension.gif b/koha-tmpl/opac-tmpl/lib/famfamfam/mini/page_extension.gif
new file mode 100644 (file)
index 0000000..7bbe56a
Binary files /dev/null and b/koha-tmpl/opac-tmpl/lib/famfamfam/mini/page_extension.gif differ
diff --git a/koha-tmpl/opac-tmpl/lib/famfamfam/mini/page_favourites.gif b/koha-tmpl/opac-tmpl/lib/famfamfam/mini/page_favourites.gif
new file mode 100644 (file)
index 0000000..eab0d9d
Binary files /dev/null and b/koha-tmpl/opac-tmpl/lib/famfamfam/mini/page_favourites.gif differ
diff --git a/koha-tmpl/opac-tmpl/lib/famfamfam/mini/page_find.gif b/koha-tmpl/opac-tmpl/lib/famfamfam/mini/page_find.gif
new file mode 100644 (file)
index 0000000..9ae5e34
Binary files /dev/null and b/koha-tmpl/opac-tmpl/lib/famfamfam/mini/page_find.gif differ
diff --git a/koha-tmpl/opac-tmpl/lib/famfamfam/mini/page_flash.gif b/koha-tmpl/opac-tmpl/lib/famfamfam/mini/page_flash.gif
new file mode 100644 (file)
index 0000000..6e17277
Binary files /dev/null and b/koha-tmpl/opac-tmpl/lib/famfamfam/mini/page_flash.gif differ
diff --git a/koha-tmpl/opac-tmpl/lib/famfamfam/mini/page_girl.gif b/koha-tmpl/opac-tmpl/lib/famfamfam/mini/page_girl.gif
new file mode 100644 (file)
index 0000000..9f48a22
Binary files /dev/null and b/koha-tmpl/opac-tmpl/lib/famfamfam/mini/page_girl.gif differ
diff --git a/koha-tmpl/opac-tmpl/lib/famfamfam/mini/page_html.gif b/koha-tmpl/opac-tmpl/lib/famfamfam/mini/page_html.gif
new file mode 100644 (file)
index 0000000..34e79d1
Binary files /dev/null and b/koha-tmpl/opac-tmpl/lib/famfamfam/mini/page_html.gif differ
diff --git a/koha-tmpl/opac-tmpl/lib/famfamfam/mini/page_java.gif b/koha-tmpl/opac-tmpl/lib/famfamfam/mini/page_java.gif
new file mode 100644 (file)
index 0000000..6592a87
Binary files /dev/null and b/koha-tmpl/opac-tmpl/lib/famfamfam/mini/page_java.gif differ
diff --git a/koha-tmpl/opac-tmpl/lib/famfamfam/mini/page_key.gif b/koha-tmpl/opac-tmpl/lib/famfamfam/mini/page_key.gif
new file mode 100644 (file)
index 0000000..ebf83ca
Binary files /dev/null and b/koha-tmpl/opac-tmpl/lib/famfamfam/mini/page_key.gif differ
diff --git a/koha-tmpl/opac-tmpl/lib/famfamfam/mini/page_left.gif b/koha-tmpl/opac-tmpl/lib/famfamfam/mini/page_left.gif
new file mode 100644 (file)
index 0000000..f222b46
Binary files /dev/null and b/koha-tmpl/opac-tmpl/lib/famfamfam/mini/page_left.gif differ
diff --git a/koha-tmpl/opac-tmpl/lib/famfamfam/mini/page_link.gif b/koha-tmpl/opac-tmpl/lib/famfamfam/mini/page_link.gif
new file mode 100644 (file)
index 0000000..ff0b39d
Binary files /dev/null and b/koha-tmpl/opac-tmpl/lib/famfamfam/mini/page_link.gif differ
diff --git a/koha-tmpl/opac-tmpl/lib/famfamfam/mini/page_lock.gif b/koha-tmpl/opac-tmpl/lib/famfamfam/mini/page_lock.gif
new file mode 100644 (file)
index 0000000..07a2756
Binary files /dev/null and b/koha-tmpl/opac-tmpl/lib/famfamfam/mini/page_lock.gif differ
diff --git a/koha-tmpl/opac-tmpl/lib/famfamfam/mini/page_new.gif b/koha-tmpl/opac-tmpl/lib/famfamfam/mini/page_new.gif
new file mode 100644 (file)
index 0000000..0888abf
Binary files /dev/null and b/koha-tmpl/opac-tmpl/lib/famfamfam/mini/page_new.gif differ
diff --git a/koha-tmpl/opac-tmpl/lib/famfamfam/mini/page_next.gif b/koha-tmpl/opac-tmpl/lib/famfamfam/mini/page_next.gif
new file mode 100644 (file)
index 0000000..60769b6
Binary files /dev/null and b/koha-tmpl/opac-tmpl/lib/famfamfam/mini/page_next.gif differ
diff --git a/koha-tmpl/opac-tmpl/lib/famfamfam/mini/page_package.gif b/koha-tmpl/opac-tmpl/lib/famfamfam/mini/page_package.gif
new file mode 100644 (file)
index 0000000..d94a075
Binary files /dev/null and b/koha-tmpl/opac-tmpl/lib/famfamfam/mini/page_package.gif differ
diff --git a/koha-tmpl/opac-tmpl/lib/famfamfam/mini/page_php.gif b/koha-tmpl/opac-tmpl/lib/famfamfam/mini/page_php.gif
new file mode 100644 (file)
index 0000000..d997903
Binary files /dev/null and b/koha-tmpl/opac-tmpl/lib/famfamfam/mini/page_php.gif differ
diff --git a/koha-tmpl/opac-tmpl/lib/famfamfam/mini/page_prev.gif b/koha-tmpl/opac-tmpl/lib/famfamfam/mini/page_prev.gif
new file mode 100644 (file)
index 0000000..f0bb78d
Binary files /dev/null and b/koha-tmpl/opac-tmpl/lib/famfamfam/mini/page_prev.gif differ
diff --git a/koha-tmpl/opac-tmpl/lib/famfamfam/mini/page_refresh.gif b/koha-tmpl/opac-tmpl/lib/famfamfam/mini/page_refresh.gif
new file mode 100644 (file)
index 0000000..dc23846
Binary files /dev/null and b/koha-tmpl/opac-tmpl/lib/famfamfam/mini/page_refresh.gif differ
diff --git a/koha-tmpl/opac-tmpl/lib/famfamfam/mini/page_right.gif b/koha-tmpl/opac-tmpl/lib/famfamfam/mini/page_right.gif
new file mode 100644 (file)
index 0000000..aedf4ba
Binary files /dev/null and b/koha-tmpl/opac-tmpl/lib/famfamfam/mini/page_right.gif differ
diff --git a/koha-tmpl/opac-tmpl/lib/famfamfam/mini/page_script.gif b/koha-tmpl/opac-tmpl/lib/famfamfam/mini/page_script.gif
new file mode 100644 (file)
index 0000000..44717b3
Binary files /dev/null and b/koha-tmpl/opac-tmpl/lib/famfamfam/mini/page_script.gif differ
diff --git a/koha-tmpl/opac-tmpl/lib/famfamfam/mini/page_security.gif b/koha-tmpl/opac-tmpl/lib/famfamfam/mini/page_security.gif
new file mode 100644 (file)
index 0000000..5050dc4
Binary files /dev/null and b/koha-tmpl/opac-tmpl/lib/famfamfam/mini/page_security.gif differ
diff --git a/koha-tmpl/opac-tmpl/lib/famfamfam/mini/page_settings.gif b/koha-tmpl/opac-tmpl/lib/famfamfam/mini/page_settings.gif
new file mode 100644 (file)
index 0000000..af40997
Binary files /dev/null and b/koha-tmpl/opac-tmpl/lib/famfamfam/mini/page_settings.gif differ
diff --git a/koha-tmpl/opac-tmpl/lib/famfamfam/mini/page_sound.gif b/koha-tmpl/opac-tmpl/lib/famfamfam/mini/page_sound.gif
new file mode 100644 (file)
index 0000000..1526ad1
Binary files /dev/null and b/koha-tmpl/opac-tmpl/lib/famfamfam/mini/page_sound.gif differ
diff --git a/koha-tmpl/opac-tmpl/lib/famfamfam/mini/page_tag_blue.gif b/koha-tmpl/opac-tmpl/lib/famfamfam/mini/page_tag_blue.gif
new file mode 100644 (file)
index 0000000..5ceb96c
Binary files /dev/null and b/koha-tmpl/opac-tmpl/lib/famfamfam/mini/page_tag_blue.gif differ
diff --git a/koha-tmpl/opac-tmpl/lib/famfamfam/mini/page_tag_red.gif b/koha-tmpl/opac-tmpl/lib/famfamfam/mini/page_tag_red.gif
new file mode 100644 (file)
index 0000000..4aa2416
Binary files /dev/null and b/koha-tmpl/opac-tmpl/lib/famfamfam/mini/page_tag_red.gif differ
diff --git a/koha-tmpl/opac-tmpl/lib/famfamfam/mini/page_text.gif b/koha-tmpl/opac-tmpl/lib/famfamfam/mini/page_text.gif
new file mode 100644 (file)
index 0000000..c1132e4
Binary files /dev/null and b/koha-tmpl/opac-tmpl/lib/famfamfam/mini/page_text.gif differ
diff --git a/koha-tmpl/opac-tmpl/lib/famfamfam/mini/page_text_delete.gif b/koha-tmpl/opac-tmpl/lib/famfamfam/mini/page_text_delete.gif
new file mode 100644 (file)
index 0000000..f3178ab
Binary files /dev/null and b/koha-tmpl/opac-tmpl/lib/famfamfam/mini/page_text_delete.gif differ
diff --git a/koha-tmpl/opac-tmpl/lib/famfamfam/mini/page_tick.gif b/koha-tmpl/opac-tmpl/lib/famfamfam/mini/page_tick.gif
new file mode 100644 (file)
index 0000000..d7edd0c
Binary files /dev/null and b/koha-tmpl/opac-tmpl/lib/famfamfam/mini/page_tick.gif differ
diff --git a/koha-tmpl/opac-tmpl/lib/famfamfam/mini/page_tree.gif b/koha-tmpl/opac-tmpl/lib/famfamfam/mini/page_tree.gif
new file mode 100644 (file)
index 0000000..847274e
Binary files /dev/null and b/koha-tmpl/opac-tmpl/lib/famfamfam/mini/page_tree.gif differ
diff --git a/koha-tmpl/opac-tmpl/lib/famfamfam/mini/page_up.gif b/koha-tmpl/opac-tmpl/lib/famfamfam/mini/page_up.gif
new file mode 100644 (file)
index 0000000..08ef934
Binary files /dev/null and b/koha-tmpl/opac-tmpl/lib/famfamfam/mini/page_up.gif differ
diff --git a/koha-tmpl/opac-tmpl/lib/famfamfam/mini/page_url.gif b/koha-tmpl/opac-tmpl/lib/famfamfam/mini/page_url.gif
new file mode 100644 (file)
index 0000000..1b27952
Binary files /dev/null and b/koha-tmpl/opac-tmpl/lib/famfamfam/mini/page_url.gif differ
diff --git a/koha-tmpl/opac-tmpl/lib/famfamfam/mini/page_user.gif b/koha-tmpl/opac-tmpl/lib/famfamfam/mini/page_user.gif
new file mode 100644 (file)
index 0000000..ad39fb7
Binary files /dev/null and b/koha-tmpl/opac-tmpl/lib/famfamfam/mini/page_user.gif differ
diff --git a/koha-tmpl/opac-tmpl/lib/famfamfam/mini/page_user_dark.gif b/koha-tmpl/opac-tmpl/lib/famfamfam/mini/page_user_dark.gif
new file mode 100644 (file)
index 0000000..6ee2c1c
Binary files /dev/null and b/koha-tmpl/opac-tmpl/lib/famfamfam/mini/page_user_dark.gif differ
diff --git a/koha-tmpl/opac-tmpl/lib/famfamfam/mini/page_user_light.gif b/koha-tmpl/opac-tmpl/lib/famfamfam/mini/page_user_light.gif
new file mode 100644 (file)
index 0000000..2b7a924
Binary files /dev/null and b/koha-tmpl/opac-tmpl/lib/famfamfam/mini/page_user_light.gif differ
diff --git a/koha-tmpl/opac-tmpl/lib/famfamfam/mini/page_video.gif b/koha-tmpl/opac-tmpl/lib/famfamfam/mini/page_video.gif
new file mode 100644 (file)
index 0000000..a1c5032
Binary files /dev/null and b/koha-tmpl/opac-tmpl/lib/famfamfam/mini/page_video.gif differ
diff --git a/koha-tmpl/opac-tmpl/lib/famfamfam/mini/page_wizard.gif b/koha-tmpl/opac-tmpl/lib/famfamfam/mini/page_wizard.gif
new file mode 100644 (file)
index 0000000..fd816ea
Binary files /dev/null and b/koha-tmpl/opac-tmpl/lib/famfamfam/mini/page_wizard.gif differ
diff --git a/koha-tmpl/opac-tmpl/lib/famfamfam/mini/readme.txt b/koha-tmpl/opac-tmpl/lib/famfamfam/mini/readme.txt
new file mode 100644 (file)
index 0000000..0b03079
--- /dev/null
@@ -0,0 +1,2 @@
+mini icons - famfamfam.com\r
+Contact: mjames@gmail.com
\ No newline at end of file
diff --git a/koha-tmpl/opac-tmpl/lib/famfamfam/mini/table.gif b/koha-tmpl/opac-tmpl/lib/famfamfam/mini/table.gif
new file mode 100644 (file)
index 0000000..e5daec4
Binary files /dev/null and b/koha-tmpl/opac-tmpl/lib/famfamfam/mini/table.gif differ
diff --git a/koha-tmpl/opac-tmpl/lib/famfamfam/mini/table_delete.gif b/koha-tmpl/opac-tmpl/lib/famfamfam/mini/table_delete.gif
new file mode 100644 (file)
index 0000000..99190cd
Binary files /dev/null and b/koha-tmpl/opac-tmpl/lib/famfamfam/mini/table_delete.gif differ
diff --git a/koha-tmpl/opac-tmpl/lib/famfamfam/mini/tables.gif b/koha-tmpl/opac-tmpl/lib/famfamfam/mini/tables.gif
new file mode 100644 (file)
index 0000000..87246be
Binary files /dev/null and b/koha-tmpl/opac-tmpl/lib/famfamfam/mini/tables.gif differ
diff --git a/koha-tmpl/opac-tmpl/lib/famfamfam/readme.txt b/koha-tmpl/opac-tmpl/lib/famfamfam/readme.txt
new file mode 100644 (file)
index 0000000..0b03079
--- /dev/null
@@ -0,0 +1,2 @@
+mini icons - famfamfam.com\r
+Contact: mjames@gmail.com
\ No newline at end of file
diff --git a/koha-tmpl/opac-tmpl/lib/famfamfam/silk/accept.png b/koha-tmpl/opac-tmpl/lib/famfamfam/silk/accept.png
new file mode 100644 (file)
index 0000000..89c8129
Binary files /dev/null and b/koha-tmpl/opac-tmpl/lib/famfamfam/silk/accept.png differ
diff --git a/koha-tmpl/opac-tmpl/lib/famfamfam/silk/add.png b/koha-tmpl/opac-tmpl/lib/famfamfam/silk/add.png
new file mode 100644 (file)
index 0000000..6332fef
Binary files /dev/null and b/koha-tmpl/opac-tmpl/lib/famfamfam/silk/add.png differ
diff --git a/koha-tmpl/opac-tmpl/lib/famfamfam/silk/anchor.png b/koha-tmpl/opac-tmpl/lib/famfamfam/silk/anchor.png
new file mode 100644 (file)
index 0000000..9b3422c
Binary files /dev/null and b/koha-tmpl/opac-tmpl/lib/famfamfam/silk/anchor.png differ
diff --git a/koha-tmpl/opac-tmpl/lib/famfamfam/silk/application.png b/koha-tmpl/opac-tmpl/lib/famfamfam/silk/application.png
new file mode 100644 (file)
index 0000000..1dee9e3
Binary files /dev/null and b/koha-tmpl/opac-tmpl/lib/famfamfam/silk/application.png differ
diff --git a/koha-tmpl/opac-tmpl/lib/famfamfam/silk/application_add.png b/koha-tmpl/opac-tmpl/lib/famfamfam/silk/application_add.png
new file mode 100644 (file)
index 0000000..2e94507
Binary files /dev/null and b/koha-tmpl/opac-tmpl/lib/famfamfam/silk/application_add.png differ
diff --git a/koha-tmpl/opac-tmpl/lib/famfamfam/silk/application_cascade.png b/koha-tmpl/opac-tmpl/lib/famfamfam/silk/application_cascade.png
new file mode 100644 (file)
index 0000000..da5c622
Binary files /dev/null and b/koha-tmpl/opac-tmpl/lib/famfamfam/silk/application_cascade.png differ
diff --git a/koha-tmpl/opac-tmpl/lib/famfamfam/silk/application_delete.png b/koha-tmpl/opac-tmpl/lib/famfamfam/silk/application_delete.png
new file mode 100644 (file)
index 0000000..0a335ac
Binary files /dev/null and b/koha-tmpl/opac-tmpl/lib/famfamfam/silk/application_delete.png differ
diff --git a/koha-tmpl/opac-tmpl/lib/famfamfam/silk/application_double.png b/koha-tmpl/opac-tmpl/lib/famfamfam/silk/application_double.png
new file mode 100644 (file)
index 0000000..647592f
Binary files /dev/null and b/koha-tmpl/opac-tmpl/lib/famfamfam/silk/application_double.png differ
diff --git a/koha-tmpl/opac-tmpl/lib/famfamfam/silk/application_edit.png b/koha-tmpl/opac-tmpl/lib/famfamfam/silk/application_edit.png
new file mode 100644 (file)
index 0000000..fb2efb8
Binary files /dev/null and b/koha-tmpl/opac-tmpl/lib/famfamfam/silk/application_edit.png differ
diff --git a/koha-tmpl/opac-tmpl/lib/famfamfam/silk/application_error.png b/koha-tmpl/opac-tmpl/lib/famfamfam/silk/application_error.png
new file mode 100644 (file)
index 0000000..b35fa57
Binary files /dev/null and b/koha-tmpl/opac-tmpl/lib/famfamfam/silk/application_error.png differ
diff --git a/koha-tmpl/opac-tmpl/lib/famfamfam/silk/application_form.png b/koha-tmpl/opac-tmpl/lib/famfamfam/silk/application_form.png
new file mode 100644 (file)
index 0000000..807b862
Binary files /dev/null and b/koha-tmpl/opac-tmpl/lib/famfamfam/silk/application_form.png differ
diff --git a/koha-tmpl/opac-tmpl/lib/famfamfam/silk/application_form_add.png b/koha-tmpl/opac-tmpl/lib/famfamfam/silk/application_form_add.png
new file mode 100644 (file)
index 0000000..28c2175
Binary files /dev/null and b/koha-tmpl/opac-tmpl/lib/famfamfam/silk/application_form_add.png differ
diff --git a/koha-tmpl/opac-tmpl/lib/famfamfam/silk/application_form_delete.png b/koha-tmpl/opac-tmpl/lib/famfamfam/silk/application_form_delete.png
new file mode 100644 (file)
index 0000000..cd305ec
Binary files /dev/null and b/koha-tmpl/opac-tmpl/lib/famfamfam/silk/application_form_delete.png differ
diff --git a/koha-tmpl/opac-tmpl/lib/famfamfam/silk/application_form_edit.png b/koha-tmpl/opac-tmpl/lib/famfamfam/silk/application_form_edit.png
new file mode 100644 (file)
index 0000000..af486c9
Binary files /dev/null and b/koha-tmpl/opac-tmpl/lib/famfamfam/silk/application_form_edit.png differ
diff --git a/koha-tmpl/opac-tmpl/lib/famfamfam/silk/application_form_magnify.png b/koha-tmpl/opac-tmpl/lib/famfamfam/silk/application_form_magnify.png
new file mode 100644 (file)
index 0000000..7b7fbd1
Binary files /dev/null and b/koha-tmpl/opac-tmpl/lib/famfamfam/silk/application_form_magnify.png differ
diff --git a/koha-tmpl/opac-tmpl/lib/famfamfam/silk/application_get.png b/koha-tmpl/opac-tmpl/lib/famfamfam/silk/application_get.png
new file mode 100644 (file)
index 0000000..28e41ea
Binary files /dev/null and b/koha-tmpl/opac-tmpl/lib/famfamfam/silk/application_get.png differ
diff --git a/koha-tmpl/opac-tmpl/lib/famfamfam/silk/application_go.png b/koha-tmpl/opac-tmpl/lib/famfamfam/silk/application_go.png
new file mode 100644 (file)
index 0000000..5cc2b0d
Binary files /dev/null and b/koha-tmpl/opac-tmpl/lib/famfamfam/silk/application_go.png differ
diff --git a/koha-tmpl/opac-tmpl/lib/famfamfam/silk/application_home.png b/koha-tmpl/opac-tmpl/lib/famfamfam/silk/application_home.png
new file mode 100644 (file)
index 0000000..b60d0c8
Binary files /dev/null and b/koha-tmpl/opac-tmpl/lib/famfamfam/silk/application_home.png differ
diff --git a/koha-tmpl/opac-tmpl/lib/famfamfam/silk/application_key.png b/koha-tmpl/opac-tmpl/lib/famfamfam/silk/application_key.png
new file mode 100644 (file)
index 0000000..998d65c
Binary files /dev/null and b/koha-tmpl/opac-tmpl/lib/famfamfam/silk/application_key.png differ
diff --git a/koha-tmpl/opac-tmpl/lib/famfamfam/silk/application_lightning.png b/koha-tmpl/opac-tmpl/lib/famfamfam/silk/application_lightning.png
new file mode 100644 (file)
index 0000000..7e91545
Binary files /dev/null and b/koha-tmpl/opac-tmpl/lib/famfamfam/silk/application_lightning.png differ
diff --git a/koha-tmpl/opac-tmpl/lib/famfamfam/silk/application_link.png b/koha-tmpl/opac-tmpl/lib/famfamfam/silk/application_link.png
new file mode 100644 (file)
index 0000000..f8fbb3e
Binary files /dev/null and b/koha-tmpl/opac-tmpl/lib/famfamfam/silk/application_link.png differ
diff --git a/koha-tmpl/opac-tmpl/lib/famfamfam/silk/application_osx.png b/koha-tmpl/opac-tmpl/lib/famfamfam/silk/application_osx.png
new file mode 100644 (file)
index 0000000..9f022ec
Binary files /dev/null and b/koha-tmpl/opac-tmpl/lib/famfamfam/silk/application_osx.png differ
diff --git a/koha-tmpl/opac-tmpl/lib/famfamfam/silk/application_osx_terminal.png b/koha-tmpl/opac-tmpl/lib/famfamfam/silk/application_osx_terminal.png
new file mode 100644 (file)
index 0000000..b3d8ce0
Binary files /dev/null and b/koha-tmpl/opac-tmpl/lib/famfamfam/silk/application_osx_terminal.png differ
diff --git a/koha-tmpl/opac-tmpl/lib/famfamfam/silk/application_put.png b/koha-tmpl/opac-tmpl/lib/famfamfam/silk/application_put.png
new file mode 100644 (file)
index 0000000..c30cf59
Binary files /dev/null and b/koha-tmpl/opac-tmpl/lib/famfamfam/silk/application_put.png differ
diff --git a/koha-tmpl/opac-tmpl/lib/famfamfam/silk/application_side_boxes.png b/koha-tmpl/opac-tmpl/lib/famfamfam/silk/application_side_boxes.png
new file mode 100644 (file)
index 0000000..efbf3c4
Binary files /dev/null and b/koha-tmpl/opac-tmpl/lib/famfamfam/silk/application_side_boxes.png differ
diff --git a/koha-tmpl/opac-tmpl/lib/famfamfam/silk/application_side_contract.png b/koha-tmpl/opac-tmpl/lib/famfamfam/silk/application_side_contract.png
new file mode 100644 (file)
index 0000000..3585f94
Binary files /dev/null and b/koha-tmpl/opac-tmpl/lib/famfamfam/silk/application_side_contract.png differ
diff --git a/koha-tmpl/opac-tmpl/lib/famfamfam/silk/application_side_expand.png b/koha-tmpl/opac-tmpl/lib/famfamfam/silk/application_side_expand.png
new file mode 100644 (file)
index 0000000..030cf7c
Binary files /dev/null and b/koha-tmpl/opac-tmpl/lib/famfamfam/silk/application_side_expand.png differ
diff --git a/koha-tmpl/opac-tmpl/lib/famfamfam/silk/application_side_list.png b/koha-tmpl/opac-tmpl/lib/famfamfam/silk/application_side_list.png
new file mode 100644 (file)
index 0000000..248eaf1
Binary files /dev/null and b/koha-tmpl/opac-tmpl/lib/famfamfam/silk/application_side_list.png differ
diff --git a/koha-tmpl/opac-tmpl/lib/famfamfam/silk/application_side_tree.png b/koha-tmpl/opac-tmpl/lib/famfamfam/silk/application_side_tree.png
new file mode 100644 (file)
index 0000000..f04a52b
Binary files /dev/null and b/koha-tmpl/opac-tmpl/lib/famfamfam/silk/application_side_tree.png differ
diff --git a/koha-tmpl/opac-tmpl/lib/famfamfam/silk/application_split.png b/koha-tmpl/opac-tmpl/lib/famfamfam/silk/application_split.png
new file mode 100644 (file)
index 0000000..a91c78a
Binary files /dev/null and b/koha-tmpl/opac-tmpl/lib/famfamfam/silk/application_split.png differ
diff --git a/koha-tmpl/opac-tmpl/lib/famfamfam/silk/application_tile_horizontal.png b/koha-tmpl/opac-tmpl/lib/famfamfam/silk/application_tile_horizontal.png
new file mode 100644 (file)
index 0000000..8a1191c
Binary files /dev/null and b/koha-tmpl/opac-tmpl/lib/famfamfam/silk/application_tile_horizontal.png differ
diff --git a/koha-tmpl/opac-tmpl/lib/famfamfam/silk/application_tile_vertical.png b/koha-tmpl/opac-tmpl/lib/famfamfam/silk/application_tile_vertical.png
new file mode 100644 (file)
index 0000000..1d40383
Binary files /dev/null and b/koha-tmpl/opac-tmpl/lib/famfamfam/silk/application_tile_vertical.png differ
diff --git a/koha-tmpl/opac-tmpl/lib/famfamfam/silk/application_view_columns.png b/koha-tmpl/opac-tmpl/lib/famfamfam/silk/application_view_columns.png
new file mode 100644 (file)
index 0000000..dc2e9d5
Binary files /dev/null and b/koha-tmpl/opac-tmpl/lib/famfamfam/silk/application_view_columns.png differ
diff --git a/koha-tmpl/opac-tmpl/lib/famfamfam/silk/application_view_detail.png b/koha-tmpl/opac-tmpl/lib/famfamfam/silk/application_view_detail.png
new file mode 100644 (file)
index 0000000..aba044b
Binary files /dev/null and b/koha-tmpl/opac-tmpl/lib/famfamfam/silk/application_view_detail.png differ
diff --git a/koha-tmpl/opac-tmpl/lib/famfamfam/silk/application_view_gallery.png b/koha-tmpl/opac-tmpl/lib/famfamfam/silk/application_view_gallery.png
new file mode 100644 (file)
index 0000000..851950d
Binary files /dev/null and b/koha-tmpl/opac-tmpl/lib/famfamfam/silk/application_view_gallery.png differ
diff --git a/koha-tmpl/opac-tmpl/lib/famfamfam/silk/application_view_icons.png b/koha-tmpl/opac-tmpl/lib/famfamfam/silk/application_view_icons.png
new file mode 100644 (file)
index 0000000..6a93cda
Binary files /dev/null and b/koha-tmpl/opac-tmpl/lib/famfamfam/silk/application_view_icons.png differ
diff --git a/koha-tmpl/opac-tmpl/lib/famfamfam/silk/application_view_list.png b/koha-tmpl/opac-tmpl/lib/famfamfam/silk/application_view_list.png
new file mode 100644 (file)
index 0000000..acc30b8
Binary files /dev/null and b/koha-tmpl/opac-tmpl/lib/famfamfam/silk/application_view_list.png differ
diff --git a/koha-tmpl/opac-tmpl/lib/famfamfam/silk/application_view_tile.png b/koha-tmpl/opac-tmpl/lib/famfamfam/silk/application_view_tile.png
new file mode 100644 (file)
index 0000000..3bc0bd3
Binary files /dev/null and b/koha-tmpl/opac-tmpl/lib/famfamfam/silk/application_view_tile.png differ
diff --git a/koha-tmpl/opac-tmpl/lib/famfamfam/silk/application_xp.png b/koha-tmpl/opac-tmpl/lib/famfamfam/silk/application_xp.png
new file mode 100644 (file)
index 0000000..d22860a
Binary files /dev/null and b/koha-tmpl/opac-tmpl/lib/famfamfam/silk/application_xp.png differ
diff --git a/koha-tmpl/opac-tmpl/lib/famfamfam/silk/application_xp_terminal.png b/koha-tmpl/opac-tmpl/lib/famfamfam/silk/application_xp_terminal.png
new file mode 100644 (file)
index 0000000..c28dd63
Binary files /dev/null and b/koha-tmpl/opac-tmpl/lib/famfamfam/silk/application_xp_terminal.png differ
diff --git a/koha-tmpl/opac-tmpl/lib/famfamfam/silk/arrow_branch.png b/koha-tmpl/opac-tmpl/lib/famfamfam/silk/arrow_branch.png
new file mode 100644 (file)
index 0000000..7542db1
Binary files /dev/null and b/koha-tmpl/opac-tmpl/lib/famfamfam/silk/arrow_branch.png differ
diff --git a/koha-tmpl/opac-tmpl/lib/famfamfam/silk/arrow_divide.png b/koha-tmpl/opac-tmpl/lib/famfamfam/silk/arrow_divide.png
new file mode 100644 (file)
index 0000000..61a7b1d
Binary files /dev/null and b/koha-tmpl/opac-tmpl/lib/famfamfam/silk/arrow_divide.png differ
diff --git a/koha-tmpl/opac-tmpl/lib/famfamfam/silk/arrow_down.png b/koha-tmpl/opac-tmpl/lib/famfamfam/silk/arrow_down.png
new file mode 100644 (file)
index 0000000..2c4e279
Binary files /dev/null and b/koha-tmpl/opac-tmpl/lib/famfamfam/silk/arrow_down.png differ
diff --git a/koha-tmpl/opac-tmpl/lib/famfamfam/silk/arrow_in.png b/koha-tmpl/opac-tmpl/lib/famfamfam/silk/arrow_in.png
new file mode 100644 (file)
index 0000000..745c651
Binary files /dev/null and b/koha-tmpl/opac-tmpl/lib/famfamfam/silk/arrow_in.png differ
diff --git a/koha-tmpl/opac-tmpl/lib/famfamfam/silk/arrow_inout.png b/koha-tmpl/opac-tmpl/lib/famfamfam/silk/arrow_inout.png
new file mode 100644 (file)
index 0000000..1b76367
Binary files /dev/null and b/koha-tmpl/opac-tmpl/lib/famfamfam/silk/arrow_inout.png differ
diff --git a/koha-tmpl/opac-tmpl/lib/famfamfam/silk/arrow_join.png b/koha-tmpl/opac-tmpl/lib/famfamfam/silk/arrow_join.png
new file mode 100644 (file)
index 0000000..a128413
Binary files /dev/null and b/koha-tmpl/opac-tmpl/lib/famfamfam/silk/arrow_join.png differ
diff --git a/koha-tmpl/opac-tmpl/lib/famfamfam/silk/arrow_left.png b/koha-tmpl/opac-tmpl/lib/famfamfam/silk/arrow_left.png
new file mode 100644 (file)
index 0000000..5dc6967
Binary files /dev/null and b/koha-tmpl/opac-tmpl/lib/famfamfam/silk/arrow_left.png differ
diff --git a/koha-tmpl/opac-tmpl/lib/famfamfam/silk/arrow_merge.png b/koha-tmpl/opac-tmpl/lib/famfamfam/silk/arrow_merge.png
new file mode 100644 (file)
index 0000000..7502dbb
Binary files /dev/null and b/koha-tmpl/opac-tmpl/lib/famfamfam/silk/arrow_merge.png differ
diff --git a/koha-tmpl/opac-tmpl/lib/famfamfam/silk/arrow_out.png b/koha-tmpl/opac-tmpl/lib/famfamfam/silk/arrow_out.png
new file mode 100644 (file)
index 0000000..2e9bc42
Binary files /dev/null and b/koha-tmpl/opac-tmpl/lib/famfamfam/silk/arrow_out.png differ
diff --git a/koha-tmpl/opac-tmpl/lib/famfamfam/silk/arrow_redo.png b/koha-tmpl/opac-tmpl/lib/famfamfam/silk/arrow_redo.png
new file mode 100644 (file)
index 0000000..fdc394c
Binary files /dev/null and b/koha-tmpl/opac-tmpl/lib/famfamfam/silk/arrow_redo.png differ
diff --git a/koha-tmpl/opac-tmpl/lib/famfamfam/silk/arrow_refresh.png b/koha-tmpl/opac-tmpl/lib/famfamfam/silk/arrow_refresh.png
new file mode 100644 (file)
index 0000000..0de2656
Binary files /dev/null and b/koha-tmpl/opac-tmpl/lib/famfamfam/silk/arrow_refresh.png differ
diff --git a/koha-tmpl/opac-tmpl/lib/famfamfam/silk/arrow_refresh_small.png b/koha-tmpl/opac-tmpl/lib/famfamfam/silk/arrow_refresh_small.png
new file mode 100644 (file)
index 0000000..d3087df
Binary files /dev/null and b/koha-tmpl/opac-tmpl/lib/famfamfam/silk/arrow_refresh_small.png differ
diff --git a/koha-tmpl/opac-tmpl/lib/famfamfam/silk/arrow_right.png b/koha-tmpl/opac-tmpl/lib/famfamfam/silk/arrow_right.png
new file mode 100644 (file)
index 0000000..b1a1819
Binary files /dev/null and b/koha-tmpl/opac-tmpl/lib/famfamfam/silk/arrow_right.png differ
diff --git a/koha-tmpl/opac-tmpl/lib/famfamfam/silk/arrow_rotate_anticlockwise.png b/koha-tmpl/opac-tmpl/lib/famfamfam/silk/arrow_rotate_anticlockwise.png
new file mode 100644 (file)
index 0000000..46c75aa
Binary files /dev/null and b/koha-tmpl/opac-tmpl/lib/famfamfam/silk/arrow_rotate_anticlockwise.png differ
diff --git a/koha-tmpl/opac-tmpl/lib/famfamfam/silk/arrow_rotate_clockwise.png b/koha-tmpl/opac-tmpl/lib/famfamfam/silk/arrow_rotate_clockwise.png
new file mode 100644 (file)
index 0000000..aa65210
Binary files /dev/null and b/koha-tmpl/opac-tmpl/lib/famfamfam/silk/arrow_rotate_clockwise.png differ
diff --git a/koha-tmpl/opac-tmpl/lib/famfamfam/silk/arrow_switch.png b/koha-tmpl/opac-tmpl/lib/famfamfam/silk/arrow_switch.png
new file mode 100644 (file)
index 0000000..258c16c
Binary files /dev/null and b/koha-tmpl/opac-tmpl/lib/famfamfam/silk/arrow_switch.png differ
diff --git a/koha-tmpl/opac-tmpl/lib/famfamfam/silk/arrow_turn_left.png b/koha-tmpl/opac-tmpl/lib/famfamfam/silk/arrow_turn_left.png
new file mode 100644 (file)
index 0000000..a3d6c9e
Binary files /dev/null and b/koha-tmpl/opac-tmpl/lib/famfamfam/silk/arrow_turn_left.png differ
diff --git a/koha-tmpl/opac-tmpl/lib/famfamfam/silk/arrow_turn_right.png b/koha-tmpl/opac-tmpl/lib/famfamfam/silk/arrow_turn_right.png
new file mode 100644 (file)
index 0000000..629f20d
Binary files /dev/null and b/koha-tmpl/opac-tmpl/lib/famfamfam/silk/arrow_turn_right.png differ
diff --git a/koha-tmpl/opac-tmpl/lib/famfamfam/silk/arrow_undo.png b/koha-tmpl/opac-tmpl/lib/famfamfam/silk/arrow_undo.png
new file mode 100644 (file)
index 0000000..6972c5e
Binary files /dev/null and b/koha-tmpl/opac-tmpl/lib/famfamfam/silk/arrow_undo.png differ
diff --git a/koha-tmpl/opac-tmpl/lib/famfamfam/silk/arrow_up.png b/koha-tmpl/opac-tmpl/lib/famfamfam/silk/arrow_up.png
new file mode 100644 (file)
index 0000000..1ebb193
Binary files /dev/null and b/koha-tmpl/opac-tmpl/lib/famfamfam/silk/arrow_up.png differ
diff --git a/koha-tmpl/opac-tmpl/lib/famfamfam/silk/asterisk_orange.png b/koha-tmpl/opac-tmpl/lib/famfamfam/silk/asterisk_orange.png
new file mode 100644 (file)
index 0000000..1ebebde
Binary files /dev/null and b/koha-tmpl/opac-tmpl/lib/famfamfam/silk/asterisk_orange.png differ
diff --git a/koha-tmpl/opac-tmpl/lib/famfamfam/silk/asterisk_yellow.png b/koha-tmpl/opac-tmpl/lib/famfamfam/silk/asterisk_yellow.png
new file mode 100644 (file)
index 0000000..bab7cc9
Binary files /dev/null and b/koha-tmpl/opac-tmpl/lib/famfamfam/silk/asterisk_yellow.png differ
diff --git a/koha-tmpl/opac-tmpl/lib/famfamfam/silk/attach.png b/koha-tmpl/opac-tmpl/lib/famfamfam/silk/attach.png
new file mode 100644 (file)
index 0000000..ea897cc
Binary files /dev/null and b/koha-tmpl/opac-tmpl/lib/famfamfam/silk/attach.png differ
diff --git a/koha-tmpl/opac-tmpl/lib/famfamfam/silk/award_star_add.png b/koha-tmpl/opac-tmpl/lib/famfamfam/silk/award_star_add.png
new file mode 100644 (file)
index 0000000..9c4be9b
Binary files /dev/null and b/koha-tmpl/opac-tmpl/lib/famfamfam/silk/award_star_add.png differ
diff --git a/koha-tmpl/opac-tmpl/lib/famfamfam/silk/award_star_bronze_1.png b/koha-tmpl/opac-tmpl/lib/famfamfam/silk/award_star_bronze_1.png
new file mode 100644 (file)
index 0000000..658c711
Binary files /dev/null and b/koha-tmpl/opac-tmpl/lib/famfamfam/silk/award_star_bronze_1.png differ
diff --git a/koha-tmpl/opac-tmpl/lib/famfamfam/silk/award_star_bronze_2.png b/koha-tmpl/opac-tmpl/lib/famfamfam/silk/award_star_bronze_2.png
new file mode 100644 (file)
index 0000000..e47babd
Binary files /dev/null and b/koha-tmpl/opac-tmpl/lib/famfamfam/silk/award_star_bronze_2.png differ
diff --git a/koha-tmpl/opac-tmpl/lib/famfamfam/silk/award_star_bronze_3.png b/koha-tmpl/opac-tmpl/lib/famfamfam/silk/award_star_bronze_3.png
new file mode 100644 (file)
index 0000000..396e4b3
Binary files /dev/null and b/koha-tmpl/opac-tmpl/lib/famfamfam/silk/award_star_bronze_3.png differ
diff --git a/koha-tmpl/opac-tmpl/lib/famfamfam/silk/award_star_delete.png b/koha-tmpl/opac-tmpl/lib/famfamfam/silk/award_star_delete.png
new file mode 100644 (file)
index 0000000..4721b15
Binary files /dev/null and b/koha-tmpl/opac-tmpl/lib/famfamfam/silk/award_star_delete.png differ
diff --git a/koha-tmpl/opac-tmpl/lib/famfamfam/silk/award_star_gold_1.png b/koha-tmpl/opac-tmpl/lib/famfamfam/silk/award_star_gold_1.png
new file mode 100644 (file)
index 0000000..97a22b7
Binary files /dev/null and b/koha-tmpl/opac-tmpl/lib/famfamfam/silk/award_star_gold_1.png differ
diff --git a/koha-tmpl/opac-tmpl/lib/famfamfam/silk/award_star_gold_2.png b/koha-tmpl/opac-tmpl/lib/famfamfam/silk/award_star_gold_2.png
new file mode 100644 (file)
index 0000000..0eaa571
Binary files /dev/null and b/koha-tmpl/opac-tmpl/lib/famfamfam/silk/award_star_gold_2.png differ
diff --git a/koha-tmpl/opac-tmpl/lib/famfamfam/silk/award_star_gold_3.png b/koha-tmpl/opac-tmpl/lib/famfamfam/silk/award_star_gold_3.png
new file mode 100644 (file)
index 0000000..124c991
Binary files /dev/null and b/koha-tmpl/opac-tmpl/lib/famfamfam/silk/award_star_gold_3.png differ
diff --git a/koha-tmpl/opac-tmpl/lib/famfamfam/silk/award_star_silver_1.png b/koha-tmpl/opac-tmpl/lib/famfamfam/silk/award_star_silver_1.png
new file mode 100644 (file)
index 0000000..028a546
Binary files /dev/null and b/koha-tmpl/opac-tmpl/lib/famfamfam/silk/award_star_silver_1.png differ
diff --git a/koha-tmpl/opac-tmpl/lib/famfamfam/silk/award_star_silver_2.png b/koha-tmpl/opac-tmpl/lib/famfamfam/silk/award_star_silver_2.png
new file mode 100644 (file)
index 0000000..e487c3a
Binary files /dev/null and b/koha-tmpl/opac-tmpl/lib/famfamfam/silk/award_star_silver_2.png differ
diff --git a/koha-tmpl/opac-tmpl/lib/famfamfam/silk/award_star_silver_3.png b/koha-tmpl/opac-tmpl/lib/famfamfam/silk/award_star_silver_3.png
new file mode 100644 (file)
index 0000000..1d72d47
Binary files /dev/null and b/koha-tmpl/opac-tmpl/lib/famfamfam/silk/award_star_silver_3.png differ
diff --git a/koha-tmpl/opac-tmpl/lib/famfamfam/silk/basket.png b/koha-tmpl/opac-tmpl/lib/famfamfam/silk/basket.png
new file mode 100644 (file)
index 0000000..b0686d7
Binary files /dev/null and b/koha-tmpl/opac-tmpl/lib/famfamfam/silk/basket.png differ
diff --git a/koha-tmpl/opac-tmpl/lib/famfamfam/silk/basket_add.png b/koha-tmpl/opac-tmpl/lib/famfamfam/silk/basket_add.png
new file mode 100644 (file)
index 0000000..3554368
Binary files /dev/null and b/koha-tmpl/opac-tmpl/lib/famfamfam/silk/basket_add.png differ
diff --git a/koha-tmpl/opac-tmpl/lib/famfamfam/silk/basket_delete.png b/koha-tmpl/opac-tmpl/lib/famfamfam/silk/basket_delete.png
new file mode 100644 (file)
index 0000000..1349974
Binary files /dev/null and b/koha-tmpl/opac-tmpl/lib/famfamfam/silk/basket_delete.png differ
diff --git a/koha-tmpl/opac-tmpl/lib/famfamfam/silk/basket_edit.png b/koha-tmpl/opac-tmpl/lib/famfamfam/silk/basket_edit.png
new file mode 100644 (file)
index 0000000..8138bbd
Binary files /dev/null and b/koha-tmpl/opac-tmpl/lib/famfamfam/silk/basket_edit.png differ
diff --git a/koha-tmpl/opac-tmpl/lib/famfamfam/silk/basket_error.png b/koha-tmpl/opac-tmpl/lib/famfamfam/silk/basket_error.png
new file mode 100644 (file)
index 0000000..3978b29
Binary files /dev/null and b/koha-tmpl/opac-tmpl/lib/famfamfam/silk/basket_error.png differ
diff --git a/koha-tmpl/opac-tmpl/lib/famfamfam/silk/basket_go.png b/koha-tmpl/opac-tmpl/lib/famfamfam/silk/basket_go.png
new file mode 100644 (file)
index 0000000..ed8b9a5
Binary files /dev/null and b/koha-tmpl/opac-tmpl/lib/famfamfam/silk/basket_go.png differ
diff --git a/koha-tmpl/opac-tmpl/lib/famfamfam/silk/basket_put.png b/koha-tmpl/opac-tmpl/lib/famfamfam/silk/basket_put.png
new file mode 100644 (file)
index 0000000..be62faa
Binary files /dev/null and b/koha-tmpl/opac-tmpl/lib/famfamfam/silk/basket_put.png differ
diff --git a/koha-tmpl/opac-tmpl/lib/famfamfam/silk/basket_remove.png b/koha-tmpl/opac-tmpl/lib/famfamfam/silk/basket_remove.png
new file mode 100644 (file)
index 0000000..04dd7fd
Binary files /dev/null and b/koha-tmpl/opac-tmpl/lib/famfamfam/silk/basket_remove.png differ
diff --git a/koha-tmpl/opac-tmpl/lib/famfamfam/silk/bell.png b/koha-tmpl/opac-tmpl/lib/famfamfam/silk/bell.png
new file mode 100644 (file)
index 0000000..6e0015d
Binary files /dev/null and b/koha-tmpl/opac-tmpl/lib/famfamfam/silk/bell.png differ
diff --git a/koha-tmpl/opac-tmpl/lib/famfamfam/silk/bell_add.png b/koha-tmpl/opac-tmpl/lib/famfamfam/silk/bell_add.png
new file mode 100644 (file)
index 0000000..7db01d6
Binary files /dev/null and b/koha-tmpl/opac-tmpl/lib/famfamfam/silk/bell_add.png differ
diff --git a/koha-tmpl/opac-tmpl/lib/famfamfam/silk/bell_delete.png b/koha-tmpl/opac-tmpl/lib/famfamfam/silk/bell_delete.png
new file mode 100644 (file)
index 0000000..23907bb
Binary files /dev/null and b/koha-tmpl/opac-tmpl/lib/famfamfam/silk/bell_delete.png differ
diff --git a/koha-tmpl/opac-tmpl/lib/famfamfam/silk/bell_error.png b/koha-tmpl/opac-tmpl/lib/famfamfam/silk/bell_error.png
new file mode 100644 (file)
index 0000000..a0ddc00
Binary files /dev/null and b/koha-tmpl/opac-tmpl/lib/famfamfam/silk/bell_error.png differ
diff --git a/koha-tmpl/opac-tmpl/lib/famfamfam/silk/bell_go.png b/koha-tmpl/opac-tmpl/lib/famfamfam/silk/bell_go.png
new file mode 100644 (file)
index 0000000..b89bb34
Binary files /dev/null and b/koha-tmpl/opac-tmpl/lib/famfamfam/silk/bell_go.png differ
diff --git a/koha-tmpl/opac-tmpl/lib/famfamfam/silk/bell_link.png b/koha-tmpl/opac-tmpl/lib/famfamfam/silk/bell_link.png
new file mode 100644 (file)
index 0000000..b8c64af
Binary files /dev/null and b/koha-tmpl/opac-tmpl/lib/famfamfam/silk/bell_link.png differ
diff --git a/koha-tmpl/opac-tmpl/lib/famfamfam/silk/bin.png b/koha-tmpl/opac-tmpl/lib/famfamfam/silk/bin.png
new file mode 100644 (file)
index 0000000..ebad933
Binary files /dev/null and b/koha-tmpl/opac-tmpl/lib/famfamfam/silk/bin.png differ
diff --git a/koha-tmpl/opac-tmpl/lib/famfamfam/silk/bin_closed.png b/koha-tmpl/opac-tmpl/lib/famfamfam/silk/bin_closed.png
new file mode 100644 (file)
index 0000000..afe22ba
Binary files /dev/null and b/koha-tmpl/opac-tmpl/lib/famfamfam/silk/bin_closed.png differ
diff --git a/koha-tmpl/opac-tmpl/lib/famfamfam/silk/bin_empty.png b/koha-tmpl/opac-tmpl/lib/famfamfam/silk/bin_empty.png
new file mode 100644 (file)
index 0000000..375b8bf
Binary files /dev/null and b/koha-tmpl/opac-tmpl/lib/famfamfam/silk/bin_empty.png differ
diff --git a/koha-tmpl/opac-tmpl/lib/famfamfam/silk/bomb.png b/koha-tmpl/opac-tmpl/lib/famfamfam/silk/bomb.png
new file mode 100644 (file)
index 0000000..1be3797
Binary files /dev/null and b/koha-tmpl/opac-tmpl/lib/famfamfam/silk/bomb.png differ
diff --git a/koha-tmpl/opac-tmpl/lib/famfamfam/silk/book.png b/koha-tmpl/opac-tmpl/lib/famfamfam/silk/book.png
new file mode 100644 (file)
index 0000000..b0f4dd7
Binary files /dev/null and b/koha-tmpl/opac-tmpl/lib/famfamfam/silk/book.png differ
diff --git a/koha-tmpl/opac-tmpl/lib/famfamfam/silk/book_add.png b/koha-tmpl/opac-tmpl/lib/famfamfam/silk/book_add.png
new file mode 100644 (file)
index 0000000..e2f0847
Binary files /dev/null and b/koha-tmpl/opac-tmpl/lib/famfamfam/silk/book_add.png differ
diff --git a/koha-tmpl/opac-tmpl/lib/famfamfam/silk/book_addresses.png b/koha-tmpl/opac-tmpl/lib/famfamfam/silk/book_addresses.png
new file mode 100644 (file)
index 0000000..b73419b
Binary files /dev/null and b/koha-tmpl/opac-tmpl/lib/famfamfam/silk/book_addresses.png differ
diff --git a/koha-tmpl/opac-tmpl/lib/famfamfam/silk/book_delete.png b/koha-tmpl/opac-tmpl/lib/famfamfam/silk/book_delete.png
new file mode 100644 (file)
index 0000000..d9a6340
Binary files /dev/null and b/koha-tmpl/opac-tmpl/lib/famfamfam/silk/book_delete.png differ
diff --git a/koha-tmpl/opac-tmpl/lib/famfamfam/silk/book_edit.png b/koha-tmpl/opac-tmpl/lib/famfamfam/silk/book_edit.png
new file mode 100644 (file)
index 0000000..6e756cc
Binary files /dev/null and b/koha-tmpl/opac-tmpl/lib/famfamfam/silk/book_edit.png differ
diff --git a/koha-tmpl/opac-tmpl/lib/famfamfam/silk/book_error.png b/koha-tmpl/opac-tmpl/lib/famfamfam/silk/book_error.png
new file mode 100644 (file)
index 0000000..f3fbed0
Binary files /dev/null and b/koha-tmpl/opac-tmpl/lib/famfamfam/silk/book_error.png differ
diff --git a/koha-tmpl/opac-tmpl/lib/famfamfam/silk/book_go.png b/koha-tmpl/opac-tmpl/lib/famfamfam/silk/book_go.png
new file mode 100644 (file)
index 0000000..cd4e196
Binary files /dev/null and b/koha-tmpl/opac-tmpl/lib/famfamfam/silk/book_go.png differ
diff --git a/koha-tmpl/opac-tmpl/lib/famfamfam/silk/book_key.png b/koha-tmpl/opac-tmpl/lib/famfamfam/silk/book_key.png
new file mode 100644 (file)
index 0000000..d8e23ec
Binary files /dev/null and b/koha-tmpl/opac-tmpl/lib/famfamfam/silk/book_key.png differ
diff --git a/koha-tmpl/opac-tmpl/lib/famfamfam/silk/book_link.png b/koha-tmpl/opac-tmpl/lib/famfamfam/silk/book_link.png
new file mode 100644 (file)
index 0000000..dd0820e
Binary files /dev/null and b/koha-tmpl/opac-tmpl/lib/famfamfam/silk/book_link.png differ
diff --git a/koha-tmpl/opac-tmpl/lib/famfamfam/silk/book_next.png b/koha-tmpl/opac-tmpl/lib/famfamfam/silk/book_next.png
new file mode 100644 (file)
index 0000000..ff2ea1a
Binary files /dev/null and b/koha-tmpl/opac-tmpl/lib/famfamfam/silk/book_next.png differ
diff --git a/koha-tmpl/opac-tmpl/lib/famfamfam/silk/book_open.png b/koha-tmpl/opac-tmpl/lib/famfamfam/silk/book_open.png
new file mode 100644 (file)
index 0000000..7d863f9
Binary files /dev/null and b/koha-tmpl/opac-tmpl/lib/famfamfam/silk/book_open.png differ
diff --git a/koha-tmpl/opac-tmpl/lib/famfamfam/silk/book_previous.png b/koha-tmpl/opac-tmpl/lib/famfamfam/silk/book_previous.png
new file mode 100644 (file)
index 0000000..2e53c69
Binary files /dev/null and b/koha-tmpl/opac-tmpl/lib/famfamfam/silk/book_previous.png differ
diff --git a/koha-tmpl/opac-tmpl/lib/famfamfam/silk/box.png b/koha-tmpl/opac-tmpl/lib/famfamfam/silk/box.png
new file mode 100644 (file)
index 0000000..8443c23
Binary files /dev/null and b/koha-tmpl/opac-tmpl/lib/famfamfam/silk/box.png differ
diff --git a/koha-tmpl/opac-tmpl/lib/famfamfam/silk/brick.png b/koha-tmpl/opac-tmpl/lib/famfamfam/silk/brick.png
new file mode 100644 (file)
index 0000000..7851cf3
Binary files /dev/null and b/koha-tmpl/opac-tmpl/lib/famfamfam/silk/brick.png differ
diff --git a/koha-tmpl/opac-tmpl/lib/famfamfam/silk/brick_add.png b/koha-tmpl/opac-tmpl/lib/famfamfam/silk/brick_add.png
new file mode 100644 (file)
index 0000000..fac186b
Binary files /dev/null and b/koha-tmpl/opac-tmpl/lib/famfamfam/silk/brick_add.png differ
diff --git a/koha-tmpl/opac-tmpl/lib/famfamfam/silk/brick_delete.png b/koha-tmpl/opac-tmpl/lib/famfamfam/silk/brick_delete.png
new file mode 100644 (file)
index 0000000..3a8c373
Binary files /dev/null and b/koha-tmpl/opac-tmpl/lib/famfamfam/silk/brick_delete.png differ
diff --git a/koha-tmpl/opac-tmpl/lib/famfamfam/silk/brick_edit.png b/koha-tmpl/opac-tmpl/lib/famfamfam/silk/brick_edit.png
new file mode 100644 (file)
index 0000000..eb06df3
Binary files /dev/null and b/koha-tmpl/opac-tmpl/lib/famfamfam/silk/brick_edit.png differ
diff --git a/koha-tmpl/opac-tmpl/lib/famfamfam/silk/brick_error.png b/koha-tmpl/opac-tmpl/lib/famfamfam/silk/brick_error.png
new file mode 100644 (file)
index 0000000..18ab01e
Binary files /dev/null and b/koha-tmpl/opac-tmpl/lib/famfamfam/silk/brick_error.png differ
diff --git a/koha-tmpl/opac-tmpl/lib/famfamfam/silk/brick_go.png b/koha-tmpl/opac-tmpl/lib/famfamfam/silk/brick_go.png
new file mode 100644 (file)
index 0000000..fe0d335
Binary files /dev/null and b/koha-tmpl/opac-tmpl/lib/famfamfam/silk/brick_go.png differ
diff --git a/koha-tmpl/opac-tmpl/lib/famfamfam/silk/brick_link.png b/koha-tmpl/opac-tmpl/lib/famfamfam/silk/brick_link.png
new file mode 100644 (file)
index 0000000..9ebf013
Binary files /dev/null and b/koha-tmpl/opac-tmpl/lib/famfamfam/silk/brick_link.png differ
diff --git a/koha-tmpl/opac-tmpl/lib/famfamfam/silk/bricks.png b/koha-tmpl/opac-tmpl/lib/famfamfam/silk/bricks.png
new file mode 100644 (file)
index 0000000..0905f93
Binary files /dev/null and b/koha-tmpl/opac-tmpl/lib/famfamfam/silk/bricks.png differ
diff --git a/koha-tmpl/opac-tmpl/lib/famfamfam/silk/briefcase.png b/koha-tmpl/opac-tmpl/lib/famfamfam/silk/briefcase.png
new file mode 100644 (file)
index 0000000..05c5649
Binary files /dev/null and b/koha-tmpl/opac-tmpl/lib/famfamfam/silk/briefcase.png differ
diff --git a/koha-tmpl/opac-tmpl/lib/famfamfam/silk/bug.png b/koha-tmpl/opac-tmpl/lib/famfamfam/silk/bug.png
new file mode 100644 (file)
index 0000000..2d5fb90
Binary files /dev/null and b/koha-tmpl/opac-tmpl/lib/famfamfam/silk/bug.png differ
diff --git a/koha-tmpl/opac-tmpl/lib/famfamfam/silk/bug_add.png b/koha-tmpl/opac-tmpl/lib/famfamfam/silk/bug_add.png
new file mode 100644 (file)
index 0000000..ced7817
Binary files /dev/null and b/koha-tmpl/opac-tmpl/lib/famfamfam/silk/bug_add.png differ
diff --git a/koha-tmpl/opac-tmpl/lib/famfamfam/silk/bug_delete.png b/koha-tmpl/opac-tmpl/lib/famfamfam/silk/bug_delete.png
new file mode 100644 (file)
index 0000000..e81d757
Binary files /dev/null and b/koha-tmpl/opac-tmpl/lib/famfamfam/silk/bug_delete.png differ
diff --git a/koha-tmpl/opac-tmpl/lib/famfamfam/silk/bug_edit.png b/koha-tmpl/opac-tmpl/lib/famfamfam/silk/bug_edit.png
new file mode 100644 (file)
index 0000000..e5c7dc0
Binary files /dev/null and b/koha-tmpl/opac-tmpl/lib/famfamfam/silk/bug_edit.png differ
diff --git a/koha-tmpl/opac-tmpl/lib/famfamfam/silk/bug_error.png b/koha-tmpl/opac-tmpl/lib/famfamfam/silk/bug_error.png
new file mode 100644 (file)
index 0000000..c4e8c28
Binary files /dev/null and b/koha-tmpl/opac-tmpl/lib/famfamfam/silk/bug_error.png differ
diff --git a/koha-tmpl/opac-tmpl/lib/famfamfam/silk/bug_go.png b/koha-tmpl/opac-tmpl/lib/famfamfam/silk/bug_go.png
new file mode 100644 (file)
index 0000000..4e4ae99
Binary files /dev/null and b/koha-tmpl/opac-tmpl/lib/famfamfam/silk/bug_go.png differ
diff --git a/koha-tmpl/opac-tmpl/lib/famfamfam/silk/bug_link.png b/koha-tmpl/opac-tmpl/lib/famfamfam/silk/bug_link.png
new file mode 100644 (file)
index 0000000..30e25ab
Binary files /dev/null and b/koha-tmpl/opac-tmpl/lib/famfamfam/silk/bug_link.png differ
diff --git a/koha-tmpl/opac-tmpl/lib/famfamfam/silk/building.png b/koha-tmpl/opac-tmpl/lib/famfamfam/silk/building.png
new file mode 100644 (file)
index 0000000..11a017c
Binary files /dev/null and b/koha-tmpl/opac-tmpl/lib/famfamfam/silk/building.png differ
diff --git a/koha-tmpl/opac-tmpl/lib/famfamfam/silk/building_add.png b/koha-tmpl/opac-tmpl/lib/famfamfam/silk/building_add.png
new file mode 100644 (file)
index 0000000..d88e2b9
Binary files /dev/null and b/koha-tmpl/opac-tmpl/lib/famfamfam/silk/building_add.png differ
diff --git a/koha-tmpl/opac-tmpl/lib/famfamfam/silk/building_delete.png b/koha-tmpl/opac-tmpl/lib/famfamfam/silk/building_delete.png
new file mode 100644 (file)
index 0000000..db6455d
Binary files /dev/null and b/koha-tmpl/opac-tmpl/lib/famfamfam/silk/building_delete.png differ
diff --git a/koha-tmpl/opac-tmpl/lib/famfamfam/silk/building_edit.png b/koha-tmpl/opac-tmpl/lib/famfamfam/silk/building_edit.png
new file mode 100644 (file)
index 0000000..646db36
Binary files /dev/null and b/koha-tmpl/opac-tmpl/lib/famfamfam/silk/building_edit.png differ
diff --git a/koha-tmpl/opac-tmpl/lib/famfamfam/silk/building_error.png b/koha-tmpl/opac-tmpl/lib/famfamfam/silk/building_error.png
new file mode 100644 (file)
index 0000000..a342eef
Binary files /dev/null and b/koha-tmpl/opac-tmpl/lib/famfamfam/silk/building_error.png differ
diff --git a/koha-tmpl/opac-tmpl/lib/famfamfam/silk/building_go.png b/koha-tmpl/opac-tmpl/lib/famfamfam/silk/building_go.png
new file mode 100644 (file)
index 0000000..cdcbcb3
Binary files /dev/null and b/koha-tmpl/opac-tmpl/lib/famfamfam/silk/building_go.png differ
diff --git a/koha-tmpl/opac-tmpl/lib/famfamfam/silk/building_key.png b/koha-tmpl/opac-tmpl/lib/famfamfam/silk/building_key.png
new file mode 100644 (file)
index 0000000..8b79e30
Binary files /dev/null and b/koha-tmpl/opac-tmpl/lib/famfamfam/silk/building_key.png differ
diff --git a/koha-tmpl/opac-tmpl/lib/famfamfam/silk/building_link.png b/koha-tmpl/opac-tmpl/lib/famfamfam/silk/building_link.png
new file mode 100644 (file)
index 0000000..a340629
Binary files /dev/null and b/koha-tmpl/opac-tmpl/lib/famfamfam/silk/building_link.png differ
diff --git a/koha-tmpl/opac-tmpl/lib/famfamfam/silk/bullet_add.png b/koha-tmpl/opac-tmpl/lib/famfamfam/silk/bullet_add.png
new file mode 100644 (file)
index 0000000..41ff833
Binary files /dev/null and b/koha-tmpl/opac-tmpl/lib/famfamfam/silk/bullet_add.png differ
diff --git a/koha-tmpl/opac-tmpl/lib/famfamfam/silk/bullet_arrow_bottom.png b/koha-tmpl/opac-tmpl/lib/famfamfam/silk/bullet_arrow_bottom.png
new file mode 100644 (file)
index 0000000..1a28d82
Binary files /dev/null and b/koha-tmpl/opac-tmpl/lib/famfamfam/silk/bullet_arrow_bottom.png differ
diff --git a/koha-tmpl/opac-tmpl/lib/famfamfam/silk/bullet_arrow_down.png b/koha-tmpl/opac-tmpl/lib/famfamfam/silk/bullet_arrow_down.png
new file mode 100644 (file)
index 0000000..9b23c06
Binary files /dev/null and b/koha-tmpl/opac-tmpl/lib/famfamfam/silk/bullet_arrow_down.png differ
diff --git a/koha-tmpl/opac-tmpl/lib/famfamfam/silk/bullet_arrow_top.png b/koha-tmpl/opac-tmpl/lib/famfamfam/silk/bullet_arrow_top.png
new file mode 100644 (file)
index 0000000..0ce86d2
Binary files /dev/null and b/koha-tmpl/opac-tmpl/lib/famfamfam/silk/bullet_arrow_top.png differ
diff --git a/koha-tmpl/opac-tmpl/lib/famfamfam/silk/bullet_arrow_up.png b/koha-tmpl/opac-tmpl/lib/famfamfam/silk/bullet_arrow_up.png
new file mode 100644 (file)
index 0000000..24df0f4
Binary files /dev/null and b/koha-tmpl/opac-tmpl/lib/famfamfam/silk/bullet_arrow_up.png differ
diff --git a/koha-tmpl/opac-tmpl/lib/famfamfam/silk/bullet_black.png b/koha-tmpl/opac-tmpl/lib/famfamfam/silk/bullet_black.png
new file mode 100644 (file)
index 0000000..5761970
Binary files /dev/null and b/koha-tmpl/opac-tmpl/lib/famfamfam/silk/bullet_black.png differ
diff --git a/koha-tmpl/opac-tmpl/lib/famfamfam/silk/bullet_blue.png b/koha-tmpl/opac-tmpl/lib/famfamfam/silk/bullet_blue.png
new file mode 100644 (file)
index 0000000..a7651ec
Binary files /dev/null and b/koha-tmpl/opac-tmpl/lib/famfamfam/silk/bullet_blue.png differ
diff --git a/koha-tmpl/opac-tmpl/lib/famfamfam/silk/bullet_delete.png b/koha-tmpl/opac-tmpl/lib/famfamfam/silk/bullet_delete.png
new file mode 100644 (file)
index 0000000..bd6271b
Binary files /dev/null and b/koha-tmpl/opac-tmpl/lib/famfamfam/silk/bullet_delete.png differ
diff --git a/koha-tmpl/opac-tmpl/lib/famfamfam/silk/bullet_disk.png b/koha-tmpl/opac-tmpl/lib/famfamfam/silk/bullet_disk.png
new file mode 100644 (file)
index 0000000..209c6a7
Binary files /dev/null and b/koha-tmpl/opac-tmpl/lib/famfamfam/silk/bullet_disk.png differ
diff --git a/koha-tmpl/opac-tmpl/lib/famfamfam/silk/bullet_error.png b/koha-tmpl/opac-tmpl/lib/famfamfam/silk/bullet_error.png
new file mode 100644 (file)
index 0000000..bca2b49
Binary files /dev/null and b/koha-tmpl/opac-tmpl/lib/famfamfam/silk/bullet_error.png differ
diff --git a/koha-tmpl/opac-tmpl/lib/famfamfam/silk/bullet_feed.png b/koha-tmpl/opac-tmpl/lib/famfamfam/silk/bullet_feed.png
new file mode 100644 (file)
index 0000000..1a0e0f1
Binary files /dev/null and b/koha-tmpl/opac-tmpl/lib/famfamfam/silk/bullet_feed.png differ
diff --git a/koha-tmpl/opac-tmpl/lib/famfamfam/silk/bullet_go.png b/koha-tmpl/opac-tmpl/lib/famfamfam/silk/bullet_go.png
new file mode 100644 (file)
index 0000000..bc4faa7
Binary files /dev/null and b/koha-tmpl/opac-tmpl/lib/famfamfam/silk/bullet_go.png differ
diff --git a/koha-tmpl/opac-tmpl/lib/famfamfam/silk/bullet_green.png b/koha-tmpl/opac-tmpl/lib/famfamfam/silk/bullet_green.png
new file mode 100644 (file)
index 0000000..058ad26
Binary files /dev/null and b/koha-tmpl/opac-tmpl/lib/famfamfam/silk/bullet_green.png differ
diff --git a/koha-tmpl/opac-tmpl/lib/famfamfam/silk/bullet_key.png b/koha-tmpl/opac-tmpl/lib/famfamfam/silk/bullet_key.png
new file mode 100644 (file)
index 0000000..3d37f2e
Binary files /dev/null and b/koha-tmpl/opac-tmpl/lib/famfamfam/silk/bullet_key.png differ
diff --git a/koha-tmpl/opac-tmpl/lib/famfamfam/silk/bullet_orange.png b/koha-tmpl/opac-tmpl/lib/famfamfam/silk/bullet_orange.png
new file mode 100644 (file)
index 0000000..fa63024
Binary files /dev/null and b/koha-tmpl/opac-tmpl/lib/famfamfam/silk/bullet_orange.png differ
diff --git a/koha-tmpl/opac-tmpl/lib/famfamfam/silk/bullet_picture.png b/koha-tmpl/opac-tmpl/lib/famfamfam/silk/bullet_picture.png
new file mode 100644 (file)
index 0000000..386cb30
Binary files /dev/null and b/koha-tmpl/opac-tmpl/lib/famfamfam/silk/bullet_picture.png differ
diff --git a/koha-tmpl/opac-tmpl/lib/famfamfam/silk/bullet_pink.png b/koha-tmpl/opac-tmpl/lib/famfamfam/silk/bullet_pink.png
new file mode 100644 (file)
index 0000000..0c9f73e
Binary files /dev/null and b/koha-tmpl/opac-tmpl/lib/famfamfam/silk/bullet_pink.png differ
diff --git a/koha-tmpl/opac-tmpl/lib/famfamfam/silk/bullet_purple.png b/koha-tmpl/opac-tmpl/lib/famfamfam/silk/bullet_purple.png
new file mode 100644 (file)
index 0000000..52ba503
Binary files /dev/null and b/koha-tmpl/opac-tmpl/lib/famfamfam/silk/bullet_purple.png differ
diff --git a/koha-tmpl/opac-tmpl/lib/famfamfam/silk/bullet_red.png b/koha-tmpl/opac-tmpl/lib/famfamfam/silk/bullet_red.png
new file mode 100644 (file)
index 0000000..0cd8031
Binary files /dev/null and b/koha-tmpl/opac-tmpl/lib/famfamfam/silk/bullet_red.png differ
diff --git a/koha-tmpl/opac-tmpl/lib/famfamfam/silk/bullet_star.png b/koha-tmpl/opac-tmpl/lib/famfamfam/silk/bullet_star.png
new file mode 100644 (file)
index 0000000..fab774a
Binary files /dev/null and b/koha-tmpl/opac-tmpl/lib/famfamfam/silk/bullet_star.png differ
diff --git a/koha-tmpl/opac-tmpl/lib/famfamfam/silk/bullet_toggle_minus.png b/koha-tmpl/opac-tmpl/lib/famfamfam/silk/bullet_toggle_minus.png
new file mode 100644 (file)
index 0000000..b47ce55
Binary files /dev/null and b/koha-tmpl/opac-tmpl/lib/famfamfam/silk/bullet_toggle_minus.png differ
diff --git a/koha-tmpl/opac-tmpl/lib/famfamfam/silk/bullet_toggle_plus.png b/koha-tmpl/opac-tmpl/lib/famfamfam/silk/bullet_toggle_plus.png
new file mode 100644 (file)
index 0000000..9ab4a89
Binary files /dev/null and b/koha-tmpl/opac-tmpl/lib/famfamfam/silk/bullet_toggle_plus.png differ
diff --git a/koha-tmpl/opac-tmpl/lib/famfamfam/silk/bullet_white.png b/koha-tmpl/opac-tmpl/lib/famfamfam/silk/bullet_white.png
new file mode 100644 (file)
index 0000000..a9af8d4
Binary files /dev/null and b/koha-tmpl/opac-tmpl/lib/famfamfam/silk/bullet_white.png differ
diff --git a/koha-tmpl/opac-tmpl/lib/famfamfam/silk/bullet_wrench.png b/koha-tmpl/opac-tmpl/lib/famfamfam/silk/bullet_wrench.png
new file mode 100644 (file)
index 0000000..67817e6
Binary files /dev/null and b/koha-tmpl/opac-tmpl/lib/famfamfam/silk/bullet_wrench.png differ
diff --git a/koha-tmpl/opac-tmpl/lib/famfamfam/silk/bullet_yellow.png b/koha-tmpl/opac-tmpl/lib/famfamfam/silk/bullet_yellow.png
new file mode 100644 (file)
index 0000000..6469cea
Binary files /dev/null and b/koha-tmpl/opac-tmpl/lib/famfamfam/silk/bullet_yellow.png differ
diff --git a/koha-tmpl/opac-tmpl/lib/famfamfam/silk/cake.png b/koha-tmpl/opac-tmpl/lib/famfamfam/silk/cake.png
new file mode 100644 (file)
index 0000000..4ef151a
Binary files /dev/null and b/koha-tmpl/opac-tmpl/lib/famfamfam/silk/cake.png differ
diff --git a/koha-tmpl/opac-tmpl/lib/famfamfam/silk/calculator.png b/koha-tmpl/opac-tmpl/lib/famfamfam/silk/calculator.png
new file mode 100644 (file)
index 0000000..701a60a
Binary files /dev/null and b/koha-tmpl/opac-tmpl/lib/famfamfam/silk/calculator.png differ
diff --git a/koha-tmpl/opac-tmpl/lib/famfamfam/silk/calculator_add.png b/koha-tmpl/opac-tmpl/lib/famfamfam/silk/calculator_add.png
new file mode 100644 (file)
index 0000000..fd377bd
Binary files /dev/null and b/koha-tmpl/opac-tmpl/lib/famfamfam/silk/calculator_add.png differ
diff --git a/koha-tmpl/opac-tmpl/lib/famfamfam/silk/calculator_delete.png b/koha-tmpl/opac-tmpl/lib/famfamfam/silk/calculator_delete.png
new file mode 100644 (file)
index 0000000..ac96170
Binary files /dev/null and b/koha-tmpl/opac-tmpl/lib/famfamfam/silk/calculator_delete.png differ
diff --git a/koha-tmpl/opac-tmpl/lib/famfamfam/silk/calculator_edit.png b/koha-tmpl/opac-tmpl/lib/famfamfam/silk/calculator_edit.png
new file mode 100644 (file)
index 0000000..63b06b9
Binary files /dev/null and b/koha-tmpl/opac-tmpl/lib/famfamfam/silk/calculator_edit.png differ
diff --git a/koha-tmpl/opac-tmpl/lib/famfamfam/silk/calculator_error.png b/koha-tmpl/opac-tmpl/lib/famfamfam/silk/calculator_error.png
new file mode 100644 (file)
index 0000000..0bc4288
Binary files /dev/null and b/koha-tmpl/opac-tmpl/lib/famfamfam/silk/calculator_error.png differ
diff --git a/koha-tmpl/opac-tmpl/lib/famfamfam/silk/calculator_link.png b/koha-tmpl/opac-tmpl/lib/famfamfam/silk/calculator_link.png
new file mode 100644 (file)
index 0000000..a2a8fe6
Binary files /dev/null and b/koha-tmpl/opac-tmpl/lib/famfamfam/silk/calculator_link.png differ
diff --git a/koha-tmpl/opac-tmpl/lib/famfamfam/silk/calendar.png b/koha-tmpl/opac-tmpl/lib/famfamfam/silk/calendar.png
new file mode 100644 (file)
index 0000000..6589138
Binary files /dev/null and b/koha-tmpl/opac-tmpl/lib/famfamfam/silk/calendar.png differ
diff --git a/koha-tmpl/opac-tmpl/lib/famfamfam/silk/calendar_add.png b/koha-tmpl/opac-tmpl/lib/famfamfam/silk/calendar_add.png
new file mode 100644 (file)
index 0000000..17679db
Binary files /dev/null and b/koha-tmpl/opac-tmpl/lib/famfamfam/silk/calendar_add.png differ
diff --git a/koha-tmpl/opac-tmpl/lib/famfamfam/silk/calendar_delete.png b/koha-tmpl/opac-tmpl/lib/famfamfam/silk/calendar_delete.png
new file mode 100644 (file)
index 0000000..69a3b10
Binary files /dev/null and b/koha-tmpl/opac-tmpl/lib/famfamfam/silk/calendar_delete.png differ
diff --git a/koha-tmpl/opac-tmpl/lib/famfamfam/silk/calendar_edit.png b/koha-tmpl/opac-tmpl/lib/famfamfam/silk/calendar_edit.png
new file mode 100644 (file)
index 0000000..d1d2d6e
Binary files /dev/null and b/koha-tmpl/opac-tmpl/lib/famfamfam/silk/calendar_edit.png differ
diff --git a/koha-tmpl/opac-tmpl/lib/famfamfam/silk/calendar_link.png b/koha-tmpl/opac-tmpl/lib/famfamfam/silk/calendar_link.png
new file mode 100644 (file)
index 0000000..6b106b9
Binary files /dev/null and b/koha-tmpl/opac-tmpl/lib/famfamfam/silk/calendar_link.png differ
diff --git a/koha-tmpl/opac-tmpl/lib/famfamfam/silk/calendar_view_day.png b/koha-tmpl/opac-tmpl/lib/famfamfam/silk/calendar_view_day.png
new file mode 100644 (file)
index 0000000..9740f76
Binary files /dev/null and b/koha-tmpl/opac-tmpl/lib/famfamfam/silk/calendar_view_day.png differ
diff --git a/koha-tmpl/opac-tmpl/lib/famfamfam/silk/calendar_view_month.png b/koha-tmpl/opac-tmpl/lib/famfamfam/silk/calendar_view_month.png
new file mode 100644 (file)
index 0000000..6cff76c
Binary files /dev/null and b/koha-tmpl/opac-tmpl/lib/famfamfam/silk/calendar_view_month.png differ
diff --git a/koha-tmpl/opac-tmpl/lib/famfamfam/silk/calendar_view_week.png b/koha-tmpl/opac-tmpl/lib/famfamfam/silk/calendar_view_week.png
new file mode 100644 (file)
index 0000000..8fe695f
Binary files /dev/null and b/koha-tmpl/opac-tmpl/lib/famfamfam/silk/calendar_view_week.png differ
diff --git a/koha-tmpl/opac-tmpl/lib/famfamfam/silk/camera.png b/koha-tmpl/opac-tmpl/lib/famfamfam/silk/camera.png
new file mode 100644 (file)
index 0000000..8536d1a
Binary files /dev/null and b/koha-tmpl/opac-tmpl/lib/famfamfam/silk/camera.png differ
diff --git a/koha-tmpl/opac-tmpl/lib/famfamfam/silk/camera_add.png b/koha-tmpl/opac-tmpl/lib/famfamfam/silk/camera_add.png
new file mode 100644 (file)
index 0000000..08b5da9
Binary files /dev/null and b/koha-tmpl/opac-tmpl/lib/famfamfam/silk/camera_add.png differ
diff --git a/koha-tmpl/opac-tmpl/lib/famfamfam/silk/camera_delete.png b/koha-tmpl/opac-tmpl/lib/famfamfam/silk/camera_delete.png
new file mode 100644 (file)
index 0000000..3846d74
Binary files /dev/null and b/koha-tmpl/opac-tmpl/lib/famfamfam/silk/camera_delete.png differ
diff --git a/koha-tmpl/opac-tmpl/lib/famfamfam/silk/camera_edit.png b/koha-tmpl/opac-tmpl/lib/famfamfam/silk/camera_edit.png
new file mode 100644 (file)
index 0000000..b5015b1
Binary files /dev/null and b/koha-tmpl/opac-tmpl/lib/famfamfam/silk/camera_edit.png differ
diff --git a/koha-tmpl/opac-tmpl/lib/famfamfam/silk/camera_error.png b/koha-tmpl/opac-tmpl/lib/famfamfam/silk/camera_error.png
new file mode 100644 (file)
index 0000000..3c1bc95
Binary files /dev/null and b/koha-tmpl/opac-tmpl/lib/famfamfam/silk/camera_error.png differ
diff --git a/koha-tmpl/opac-tmpl/lib/famfamfam/silk/camera_go.png b/koha-tmpl/opac-tmpl/lib/famfamfam/silk/camera_go.png
new file mode 100644 (file)
index 0000000..94ce2b2
Binary files /dev/null and b/koha-tmpl/opac-tmpl/lib/famfamfam/silk/camera_go.png differ
diff --git a/koha-tmpl/opac-tmpl/lib/famfamfam/silk/camera_link.png b/koha-tmpl/opac-tmpl/lib/famfamfam/silk/camera_link.png
new file mode 100644 (file)
index 0000000..d2ac9f9
Binary files /dev/null and b/koha-tmpl/opac-tmpl/lib/famfamfam/silk/camera_link.png differ
diff --git a/koha-tmpl/opac-tmpl/lib/famfamfam/silk/camera_small.png b/koha-tmpl/opac-tmpl/lib/famfamfam/silk/camera_small.png
new file mode 100644 (file)
index 0000000..454b0b0
Binary files /dev/null and b/koha-tmpl/opac-tmpl/lib/famfamfam/silk/camera_small.png differ
diff --git a/koha-tmpl/opac-tmpl/lib/famfamfam/silk/cancel.png b/koha-tmpl/opac-tmpl/lib/famfamfam/silk/cancel.png
new file mode 100644 (file)
index 0000000..c149c2b
Binary files /dev/null and b/koha-tmpl/opac-tmpl/lib/famfamfam/silk/cancel.png differ
diff --git a/koha-tmpl/opac-tmpl/lib/famfamfam/silk/car.png b/koha-tmpl/opac-tmpl/lib/famfamfam/silk/car.png
new file mode 100644 (file)
index 0000000..4f3a770
Binary files /dev/null and b/koha-tmpl/opac-tmpl/lib/famfamfam/silk/car.png differ
diff --git a/koha-tmpl/opac-tmpl/lib/famfamfam/silk/car_add.png b/koha-tmpl/opac-tmpl/lib/famfamfam/silk/car_add.png
new file mode 100644 (file)
index 0000000..1215a51
Binary files /dev/null and b/koha-tmpl/opac-tmpl/lib/famfamfam/silk/car_add.png differ
diff --git a/koha-tmpl/opac-tmpl/lib/famfamfam/silk/car_delete.png b/koha-tmpl/opac-tmpl/lib/famfamfam/silk/car_delete.png
new file mode 100644 (file)
index 0000000..2803b56
Binary files /dev/null and b/koha-tmpl/opac-tmpl/lib/famfamfam/silk/car_delete.png differ
diff --git a/koha-tmpl/opac-tmpl/lib/famfamfam/silk/cart.png b/koha-tmpl/opac-tmpl/lib/famfamfam/silk/cart.png
new file mode 100644 (file)
index 0000000..1baf7b9
Binary files /dev/null and b/koha-tmpl/opac-tmpl/lib/famfamfam/silk/cart.png differ
diff --git a/koha-tmpl/opac-tmpl/lib/famfamfam/silk/cart_add.png b/koha-tmpl/opac-tmpl/lib/famfamfam/silk/cart_add.png
new file mode 100644 (file)
index 0000000..45c2900
Binary files /dev/null and b/koha-tmpl/opac-tmpl/lib/famfamfam/silk/cart_add.png differ
diff --git a/koha-tmpl/opac-tmpl/lib/famfamfam/silk/cart_delete.png b/koha-tmpl/opac-tmpl/lib/famfamfam/silk/cart_delete.png
new file mode 100644 (file)
index 0000000..ac5bce5
Binary files /dev/null and b/koha-tmpl/opac-tmpl/lib/famfamfam/silk/cart_delete.png differ
diff --git a/koha-tmpl/opac-tmpl/lib/famfamfam/silk/cart_edit.png b/koha-tmpl/opac-tmpl/lib/famfamfam/silk/cart_edit.png
new file mode 100644 (file)
index 0000000..b94ff88
Binary files /dev/null and b/koha-tmpl/opac-tmpl/lib/famfamfam/silk/cart_edit.png differ
diff --git a/koha-tmpl/opac-tmpl/lib/famfamfam/silk/cart_error.png b/koha-tmpl/opac-tmpl/lib/famfamfam/silk/cart_error.png
new file mode 100644 (file)
index 0000000..144c835
Binary files /dev/null and b/koha-tmpl/opac-tmpl/lib/famfamfam/silk/cart_error.png differ
diff --git a/koha-tmpl/opac-tmpl/lib/famfamfam/silk/cart_go.png b/koha-tmpl/opac-tmpl/lib/famfamfam/silk/cart_go.png
new file mode 100644 (file)
index 0000000..20ee058
Binary files /dev/null and b/koha-tmpl/opac-tmpl/lib/famfamfam/silk/cart_go.png differ
diff --git a/koha-tmpl/opac-tmpl/lib/famfamfam/silk/cart_put.png b/koha-tmpl/opac-tmpl/lib/famfamfam/silk/cart_put.png
new file mode 100644 (file)
index 0000000..3aec353
Binary files /dev/null and b/koha-tmpl/opac-tmpl/lib/famfamfam/silk/cart_put.png differ
diff --git a/koha-tmpl/opac-tmpl/lib/famfamfam/silk/cart_remove.png b/koha-tmpl/opac-tmpl/lib/famfamfam/silk/cart_remove.png
new file mode 100644 (file)
index 0000000..360217b
Binary files /dev/null and b/koha-tmpl/opac-tmpl/lib/famfamfam/silk/cart_remove.png differ
diff --git a/koha-tmpl/opac-tmpl/lib/famfamfam/silk/cd.png b/koha-tmpl/opac-tmpl/lib/famfamfam/silk/cd.png
new file mode 100644 (file)
index 0000000..ef43223
Binary files /dev/null and b/koha-tmpl/opac-tmpl/lib/famfamfam/silk/cd.png differ
diff --git a/koha-tmpl/opac-tmpl/lib/famfamfam/silk/cd_add.png b/koha-tmpl/opac-tmpl/lib/famfamfam/silk/cd_add.png
new file mode 100644 (file)
index 0000000..b0254ef
Binary files /dev/null and b/koha-tmpl/opac-tmpl/lib/famfamfam/silk/cd_add.png differ
diff --git a/koha-tmpl/opac-tmpl/lib/famfamfam/silk/cd_burn.png b/koha-tmpl/opac-tmpl/lib/famfamfam/silk/cd_burn.png
new file mode 100644 (file)
index 0000000..157cb0b
Binary files /dev/null and b/koha-tmpl/opac-tmpl/lib/famfamfam/silk/cd_burn.png differ
diff --git a/koha-tmpl/opac-tmpl/lib/famfamfam/silk/cd_delete.png b/koha-tmpl/opac-tmpl/lib/famfamfam/silk/cd_delete.png
new file mode 100644 (file)
index 0000000..7d7b3d5
Binary files /dev/null and b/koha-tmpl/opac-tmpl/lib/famfamfam/silk/cd_delete.png differ
diff --git a/koha-tmpl/opac-tmpl/lib/famfamfam/silk/cd_edit.png b/koha-tmpl/opac-tmpl/lib/famfamfam/silk/cd_edit.png
new file mode 100644 (file)
index 0000000..b0dc194
Binary files /dev/null and b/koha-tmpl/opac-tmpl/lib/famfamfam/silk/cd_edit.png differ
diff --git a/koha-tmpl/opac-tmpl/lib/famfamfam/silk/cd_eject.png b/koha-tmpl/opac-tmpl/lib/famfamfam/silk/cd_eject.png
new file mode 100644 (file)
index 0000000..762932f
Binary files /dev/null and b/koha-tmpl/opac-tmpl/lib/famfamfam/silk/cd_eject.png differ
diff --git a/koha-tmpl/opac-tmpl/lib/famfamfam/silk/cd_go.png b/koha-tmpl/opac-tmpl/lib/famfamfam/silk/cd_go.png
new file mode 100644 (file)
index 0000000..13e0499
Binary files /dev/null and b/koha-tmpl/opac-tmpl/lib/famfamfam/silk/cd_go.png differ
diff --git a/koha-tmpl/opac-tmpl/lib/famfamfam/silk/chart_bar.png b/koha-tmpl/opac-tmpl/lib/famfamfam/silk/chart_bar.png
new file mode 100644 (file)
index 0000000..9051fbc
Binary files /dev/null and b/koha-tmpl/opac-tmpl/lib/famfamfam/silk/chart_bar.png differ
diff --git a/koha-tmpl/opac-tmpl/lib/famfamfam/silk/chart_bar_add.png b/koha-tmpl/opac-tmpl/lib/famfamfam/silk/chart_bar_add.png
new file mode 100644 (file)
index 0000000..d283e84
Binary files /dev/null and b/koha-tmpl/opac-tmpl/lib/famfamfam/silk/chart_bar_add.png differ
diff --git a/koha-tmpl/opac-tmpl/lib/famfamfam/silk/chart_bar_delete.png b/koha-tmpl/opac-tmpl/lib/famfamfam/silk/chart_bar_delete.png
new file mode 100644 (file)
index 0000000..259f686
Binary files /dev/null and b/koha-tmpl/opac-tmpl/lib/famfamfam/silk/chart_bar_delete.png differ
diff --git a/koha-tmpl/opac-tmpl/lib/famfamfam/silk/chart_bar_edit.png b/koha-tmpl/opac-tmpl/lib/famfamfam/silk/chart_bar_edit.png
new file mode 100644 (file)
index 0000000..df64d97
Binary files /dev/null and b/koha-tmpl/opac-tmpl/lib/famfamfam/silk/chart_bar_edit.png differ
diff --git a/koha-tmpl/opac-tmpl/lib/famfamfam/silk/chart_bar_error.png b/koha-tmpl/opac-tmpl/lib/famfamfam/silk/chart_bar_error.png
new file mode 100644 (file)
index 0000000..bdacea5
Binary files /dev/null and b/koha-tmpl/opac-tmpl/lib/famfamfam/silk/chart_bar_error.png differ
diff --git a/koha-tmpl/opac-tmpl/lib/famfamfam/silk/chart_bar_link.png b/koha-tmpl/opac-tmpl/lib/famfamfam/silk/chart_bar_link.png
new file mode 100644 (file)
index 0000000..bf18aed
Binary files /dev/null and b/koha-tmpl/opac-tmpl/lib/famfamfam/silk/chart_bar_link.png differ
diff --git a/koha-tmpl/opac-tmpl/lib/famfamfam/silk/chart_curve.png b/koha-tmpl/opac-tmpl/lib/famfamfam/silk/chart_curve.png
new file mode 100644 (file)
index 0000000..01e933a
Binary files /dev/null and b/koha-tmpl/opac-tmpl/lib/famfamfam/silk/chart_curve.png differ
diff --git a/koha-tmpl/opac-tmpl/lib/famfamfam/silk/chart_curve_add.png b/koha-tmpl/opac-tmpl/lib/famfamfam/silk/chart_curve_add.png
new file mode 100644 (file)
index 0000000..f9e2050
Binary files /dev/null and b/koha-tmpl/opac-tmpl/lib/famfamfam/silk/chart_curve_add.png differ
diff --git a/koha-tmpl/opac-tmpl/lib/famfamfam/silk/chart_curve_delete.png b/koha-tmpl/opac-tmpl/lib/famfamfam/silk/chart_curve_delete.png
new file mode 100644 (file)
index 0000000..b411391
Binary files /dev/null and b/koha-tmpl/opac-tmpl/lib/famfamfam/silk/chart_curve_delete.png differ
diff --git a/koha-tmpl/opac-tmpl/lib/famfamfam/silk/chart_curve_edit.png b/koha-tmpl/opac-tmpl/lib/famfamfam/silk/chart_curve_edit.png
new file mode 100644 (file)
index 0000000..bd07673
Binary files /dev/null and b/koha-tmpl/opac-tmpl/lib/famfamfam/silk/chart_curve_edit.png differ
diff --git a/koha-tmpl/opac-tmpl/lib/famfamfam/silk/chart_curve_error.png b/koha-tmpl/opac-tmpl/lib/famfamfam/silk/chart_curve_error.png
new file mode 100644 (file)
index 0000000..906dd03
Binary files /dev/null and b/koha-tmpl/opac-tmpl/lib/famfamfam/silk/chart_curve_error.png differ
diff --git a/koha-tmpl/opac-tmpl/lib/famfamfam/silk/chart_curve_go.png b/koha-tmpl/opac-tmpl/lib/famfamfam/silk/chart_curve_go.png
new file mode 100644 (file)
index 0000000..ac9eda5
Binary files /dev/null and b/koha-tmpl/opac-tmpl/lib/famfamfam/silk/chart_curve_go.png differ
diff --git a/koha-tmpl/opac-tmpl/lib/famfamfam/silk/chart_curve_link.png b/koha-tmpl/opac-tmpl/lib/famfamfam/silk/chart_curve_link.png
new file mode 100644 (file)
index 0000000..144eafe
Binary files /dev/null and b/koha-tmpl/opac-tmpl/lib/famfamfam/silk/chart_curve_link.png differ
diff --git a/koha-tmpl/opac-tmpl/lib/famfamfam/silk/chart_line.png b/koha-tmpl/opac-tmpl/lib/famfamfam/silk/chart_line.png
new file mode 100644 (file)
index 0000000..85020f3
Binary files /dev/null and b/koha-tmpl/opac-tmpl/lib/famfamfam/silk/chart_line.png differ
diff --git a/koha-tmpl/opac-tmpl/lib/famfamfam/silk/chart_line_add.png b/koha-tmpl/opac-tmpl/lib/famfamfam/silk/chart_line_add.png
new file mode 100644 (file)
index 0000000..5571a5e
Binary files /dev/null and b/koha-tmpl/opac-tmpl/lib/famfamfam/silk/chart_line_add.png differ
diff --git a/koha-tmpl/opac-tmpl/lib/famfamfam/silk/chart_line_delete.png b/koha-tmpl/opac-tmpl/lib/famfamfam/silk/chart_line_delete.png
new file mode 100644 (file)
index 0000000..5b0aa90
Binary files /dev/null and b/koha-tmpl/opac-tmpl/lib/famfamfam/silk/chart_line_delete.png differ
diff --git a/koha-tmpl/opac-tmpl/lib/famfamfam/silk/chart_line_edit.png b/koha-tmpl/opac-tmpl/lib/famfamfam/silk/chart_line_edit.png
new file mode 100644 (file)
index 0000000..9cf6607
Binary files /dev/null and b/koha-tmpl/opac-tmpl/lib/famfamfam/silk/chart_line_edit.png differ
diff --git a/koha-tmpl/opac-tmpl/lib/famfamfam/silk/chart_line_error.png b/koha-tmpl/opac-tmpl/lib/famfamfam/silk/chart_line_error.png
new file mode 100644 (file)
index 0000000..ff23c03
Binary files /dev/null and b/koha-tmpl/opac-tmpl/lib/famfamfam/silk/chart_line_error.png differ
diff --git a/koha-tmpl/opac-tmpl/lib/famfamfam/silk/chart_line_link.png b/koha-tmpl/opac-tmpl/lib/famfamfam/silk/chart_line_link.png
new file mode 100644 (file)
index 0000000..f3727d2
Binary files /dev/null and b/koha-tmpl/opac-tmpl/lib/famfamfam/silk/chart_line_link.png differ
diff --git a/koha-tmpl/opac-tmpl/lib/famfamfam/silk/chart_organisation.png b/koha-tmpl/opac-tmpl/lib/famfamfam/silk/chart_organisation.png
new file mode 100644 (file)
index 0000000..c32d25c
Binary files /dev/null and b/koha-tmpl/opac-tmpl/lib/famfamfam/silk/chart_organisation.png differ
diff --git a/koha-tmpl/opac-tmpl/lib/famfamfam/silk/chart_organisation_add.png b/koha-tmpl/opac-tmpl/lib/famfamfam/silk/chart_organisation_add.png
new file mode 100644 (file)
index 0000000..f0dba4a
Binary files /dev/null and b/koha-tmpl/opac-tmpl/lib/famfamfam/silk/chart_organisation_add.png differ
diff --git a/koha-tmpl/opac-tmpl/lib/famfamfam/silk/chart_organisation_delete.png b/koha-tmpl/opac-tmpl/lib/famfamfam/silk/chart_organisation_delete.png
new file mode 100644 (file)
index 0000000..7dc8dca
Binary files /dev/null and b/koha-tmpl/opac-tmpl/lib/famfamfam/silk/chart_organisation_delete.png differ
diff --git a/koha-tmpl/opac-tmpl/lib/famfamfam/silk/chart_pie.png b/koha-tmpl/opac-tmpl/lib/famfamfam/silk/chart_pie.png
new file mode 100644 (file)
index 0000000..fe00fa0
Binary files /dev/null and b/koha-tmpl/opac-tmpl/lib/famfamfam/silk/chart_pie.png differ
diff --git a/koha-tmpl/opac-tmpl/lib/famfamfam/silk/chart_pie_add.png b/koha-tmpl/opac-tmpl/lib/famfamfam/silk/chart_pie_add.png
new file mode 100644 (file)
index 0000000..bf0822e
Binary files /dev/null and b/koha-tmpl/opac-tmpl/lib/famfamfam/silk/chart_pie_add.png differ
diff --git a/koha-tmpl/opac-tmpl/lib/famfamfam/silk/chart_pie_delete.png b/koha-tmpl/opac-tmpl/lib/famfamfam/silk/chart_pie_delete.png
new file mode 100644 (file)
index 0000000..5ab9efd
Binary files /dev/null and b/koha-tmpl/opac-tmpl/lib/famfamfam/silk/chart_pie_delete.png differ
diff --git a/koha-tmpl/opac-tmpl/lib/famfamfam/silk/chart_pie_edit.png b/koha-tmpl/opac-tmpl/lib/famfamfam/silk/chart_pie_edit.png
new file mode 100644 (file)
index 0000000..3debc12
Binary files /dev/null and b/koha-tmpl/opac-tmpl/lib/famfamfam/silk/chart_pie_edit.png differ
diff --git a/koha-tmpl/opac-tmpl/lib/famfamfam/silk/chart_pie_error.png b/koha-tmpl/opac-tmpl/lib/famfamfam/silk/chart_pie_error.png
new file mode 100644 (file)
index 0000000..7344174
Binary files /dev/null and b/koha-tmpl/opac-tmpl/lib/famfamfam/silk/chart_pie_error.png differ
diff --git a/koha-tmpl/opac-tmpl/lib/famfamfam/silk/chart_pie_link.png b/koha-tmpl/opac-tmpl/lib/famfamfam/silk/chart_pie_link.png
new file mode 100644 (file)
index 0000000..c072f8e
Binary files /dev/null and b/koha-tmpl/opac-tmpl/lib/famfamfam/silk/chart_pie_link.png differ
diff --git a/koha-tmpl/opac-tmpl/lib/famfamfam/silk/clock.png b/koha-tmpl/opac-tmpl/lib/famfamfam/silk/clock.png
new file mode 100644 (file)
index 0000000..e2672c2
Binary files /dev/null and b/koha-tmpl/opac-tmpl/lib/famfamfam/silk/clock.png differ
diff --git a/koha-tmpl/opac-tmpl/lib/famfamfam/silk/clock_add.png b/koha-tmpl/opac-tmpl/lib/famfamfam/silk/clock_add.png
new file mode 100644 (file)
index 0000000..598b839
Binary files /dev/null and b/koha-tmpl/opac-tmpl/lib/famfamfam/silk/clock_add.png differ
diff --git a/koha-tmpl/opac-tmpl/lib/famfamfam/silk/clock_delete.png b/koha-tmpl/opac-tmpl/lib/famfamfam/silk/clock_delete.png
new file mode 100644 (file)
index 0000000..8bf9efe
Binary files /dev/null and b/koha-tmpl/opac-tmpl/lib/famfamfam/silk/clock_delete.png differ
diff --git a/koha-tmpl/opac-tmpl/lib/famfamfam/silk/clock_edit.png b/koha-tmpl/opac-tmpl/lib/famfamfam/silk/clock_edit.png
new file mode 100644 (file)
index 0000000..7d35718
Binary files /dev/null and b/koha-tmpl/opac-tmpl/lib/famfamfam/silk/clock_edit.png differ
diff --git a/koha-tmpl/opac-tmpl/lib/famfamfam/silk/clock_error.png b/koha-tmpl/opac-tmpl/lib/famfamfam/silk/clock_error.png
new file mode 100644 (file)
index 0000000..a7c461b
Binary files /dev/null and b/koha-tmpl/opac-tmpl/lib/famfamfam/silk/clock_error.png differ
diff --git a/koha-tmpl/opac-tmpl/lib/famfamfam/silk/clock_go.png b/koha-tmpl/opac-tmpl/lib/famfamfam/silk/clock_go.png
new file mode 100644 (file)
index 0000000..a1a24d3
Binary files /dev/null and b/koha-tmpl/opac-tmpl/lib/famfamfam/silk/clock_go.png differ
diff --git a/koha-tmpl/opac-tmpl/lib/famfamfam/silk/clock_link.png b/koha-tmpl/opac-tmpl/lib/famfamfam/silk/clock_link.png
new file mode 100644 (file)
index 0000000..481cf04
Binary files /dev/null and b/koha-tmpl/opac-tmpl/lib/famfamfam/silk/clock_link.png differ
diff --git a/koha-tmpl/opac-tmpl/lib/famfamfam/silk/clock_pause.png b/koha-tmpl/opac-tmpl/lib/famfamfam/silk/clock_pause.png
new file mode 100644 (file)
index 0000000..ba74725
Binary files /dev/null and b/koha-tmpl/opac-tmpl/lib/famfamfam/silk/clock_pause.png differ
diff --git a/koha-tmpl/opac-tmpl/lib/famfamfam/silk/clock_play.png b/koha-tmpl/opac-tmpl/lib/famfamfam/silk/clock_play.png
new file mode 100644 (file)
index 0000000..fb4ebc8
Binary files /dev/null and b/koha-tmpl/opac-tmpl/lib/famfamfam/silk/clock_play.png differ
diff --git a/koha-tmpl/opac-tmpl/lib/famfamfam/silk/clock_red.png b/koha-tmpl/opac-tmpl/lib/famfamfam/silk/clock_red.png
new file mode 100644 (file)
index 0000000..2842cc3
Binary files /dev/null and b/koha-tmpl/opac-tmpl/lib/famfamfam/silk/clock_red.png differ
diff --git a/koha-tmpl/opac-tmpl/lib/famfamfam/silk/clock_stop.png b/koha-tmpl/opac-tmpl/lib/famfamfam/silk/clock_stop.png
new file mode 100644 (file)
index 0000000..6fe8a6f
Binary files /dev/null and b/koha-tmpl/opac-tmpl/lib/famfamfam/silk/clock_stop.png differ
diff --git a/koha-tmpl/opac-tmpl/lib/famfamfam/silk/cog.png b/koha-tmpl/opac-tmpl/lib/famfamfam/silk/cog.png
new file mode 100644 (file)
index 0000000..67de2c6
Binary files /dev/null and b/koha-tmpl/opac-tmpl/lib/famfamfam/silk/cog.png differ
diff --git a/koha-tmpl/opac-tmpl/lib/famfamfam/silk/cog_add.png b/koha-tmpl/opac-tmpl/lib/famfamfam/silk/cog_add.png
new file mode 100644 (file)
index 0000000..04f22ba
Binary files /dev/null and b/koha-tmpl/opac-tmpl/lib/famfamfam/silk/cog_add.png differ
diff --git a/koha-tmpl/opac-tmpl/lib/famfamfam/silk/cog_delete.png b/koha-tmpl/opac-tmpl/lib/famfamfam/silk/cog_delete.png
new file mode 100644 (file)
index 0000000..8ce71c4
Binary files /dev/null and b/koha-tmpl/opac-tmpl/lib/famfamfam/silk/cog_delete.png differ
diff --git a/koha-tmpl/opac-tmpl/lib/famfamfam/silk/cog_edit.png b/koha-tmpl/opac-tmpl/lib/famfamfam/silk/cog_edit.png
new file mode 100644 (file)
index 0000000..47b75a4
Binary files /dev/null and b/koha-tmpl/opac-tmpl/lib/famfamfam/silk/cog_edit.png differ
diff --git a/koha-tmpl/opac-tmpl/lib/famfamfam/silk/cog_error.png b/koha-tmpl/opac-tmpl/lib/famfamfam/silk/cog_error.png
new file mode 100644 (file)
index 0000000..4766743
Binary files /dev/null and b/koha-tmpl/opac-tmpl/lib/famfamfam/silk/cog_error.png differ
diff --git a/koha-tmpl/opac-tmpl/lib/famfamfam/silk/cog_go.png b/koha-tmpl/opac-tmpl/lib/famfamfam/silk/cog_go.png
new file mode 100644 (file)
index 0000000..3262767
Binary files /dev/null and b/koha-tmpl/opac-tmpl/lib/famfamfam/silk/cog_go.png differ
diff --git a/koha-tmpl/opac-tmpl/lib/famfamfam/silk/coins.png b/koha-tmpl/opac-tmpl/lib/famfamfam/silk/coins.png
new file mode 100644 (file)
index 0000000..0ca9074
Binary files /dev/null and b/koha-tmpl/opac-tmpl/lib/famfamfam/silk/coins.png differ
diff --git a/koha-tmpl/opac-tmpl/lib/famfamfam/silk/coins_add.png b/koha-tmpl/opac-tmpl/lib/famfamfam/silk/coins_add.png
new file mode 100644 (file)
index 0000000..cdff5d3
Binary files /dev/null and b/koha-tmpl/opac-tmpl/lib/famfamfam/silk/coins_add.png differ
diff --git a/koha-tmpl/opac-tmpl/lib/famfamfam/silk/coins_delete.png b/koha-tmpl/opac-tmpl/lib/famfamfam/silk/coins_delete.png
new file mode 100644 (file)
index 0000000..18e0c0f
Binary files /dev/null and b/koha-tmpl/opac-tmpl/lib/famfamfam/silk/coins_delete.png differ
diff --git a/koha-tmpl/opac-tmpl/lib/famfamfam/silk/color_swatch.png b/koha-tmpl/opac-tmpl/lib/famfamfam/silk/color_swatch.png
new file mode 100644 (file)
index 0000000..6e6e852
Binary files /dev/null and b/koha-tmpl/opac-tmpl/lib/famfamfam/silk/color_swatch.png differ
diff --git a/koha-tmpl/opac-tmpl/lib/famfamfam/silk/color_wheel.png b/koha-tmpl/opac-tmpl/lib/famfamfam/silk/color_wheel.png
new file mode 100644 (file)
index 0000000..809fb00
Binary files /dev/null and b/koha-tmpl/opac-tmpl/lib/famfamfam/silk/color_wheel.png differ
diff --git a/koha-tmpl/opac-tmpl/lib/famfamfam/silk/comment.png b/koha-tmpl/opac-tmpl/lib/famfamfam/silk/comment.png
new file mode 100644 (file)
index 0000000..7bc9233
Binary files /dev/null and b/koha-tmpl/opac-tmpl/lib/famfamfam/silk/comment.png differ
diff --git a/koha-tmpl/opac-tmpl/lib/famfamfam/silk/comment_add.png b/koha-tmpl/opac-tmpl/lib/famfamfam/silk/comment_add.png
new file mode 100644 (file)
index 0000000..75e78de
Binary files /dev/null and b/koha-tmpl/opac-tmpl/lib/famfamfam/silk/comment_add.png differ
diff --git a/koha-tmpl/opac-tmpl/lib/famfamfam/silk/comment_delete.png b/koha-tmpl/opac-tmpl/lib/famfamfam/silk/comment_delete.png
new file mode 100644 (file)
index 0000000..643fdbe
Binary files /dev/null and b/koha-tmpl/opac-tmpl/lib/famfamfam/silk/comment_delete.png differ
diff --git a/koha-tmpl/opac-tmpl/lib/famfamfam/silk/comment_edit.png b/koha-tmpl/opac-tmpl/lib/famfamfam/silk/comment_edit.png
new file mode 100644 (file)
index 0000000..73db110
Binary files /dev/null and b/koha-tmpl/opac-tmpl/lib/famfamfam/silk/comment_edit.png differ
diff --git a/koha-tmpl/opac-tmpl/lib/famfamfam/silk/comments.png b/koha-tmpl/opac-tmpl/lib/famfamfam/silk/comments.png
new file mode 100644 (file)
index 0000000..39433cf
Binary files /dev/null and b/koha-tmpl/opac-tmpl/lib/famfamfam/silk/comments.png differ
diff --git a/koha-tmpl/opac-tmpl/lib/famfamfam/silk/comments_add.png b/koha-tmpl/opac-tmpl/lib/famfamfam/silk/comments_add.png
new file mode 100644 (file)
index 0000000..b325634
Binary files /dev/null and b/koha-tmpl/opac-tmpl/lib/famfamfam/silk/comments_add.png differ
diff --git a/koha-tmpl/opac-tmpl/lib/famfamfam/silk/comments_delete.png b/koha-tmpl/opac-tmpl/lib/famfamfam/silk/comments_delete.png
new file mode 100644 (file)
index 0000000..6df7376
Binary files /dev/null and b/koha-tmpl/opac-tmpl/lib/famfamfam/silk/comments_delete.png differ
diff --git a/koha-tmpl/opac-tmpl/lib/famfamfam/silk/compress.png b/koha-tmpl/opac-tmpl/lib/famfamfam/silk/compress.png
new file mode 100644 (file)
index 0000000..8606ff0
Binary files /dev/null and b/koha-tmpl/opac-tmpl/lib/famfamfam/silk/compress.png differ
diff --git a/koha-tmpl/opac-tmpl/lib/famfamfam/silk/computer.png b/koha-tmpl/opac-tmpl/lib/famfamfam/silk/computer.png
new file mode 100644 (file)
index 0000000..9bc37dc
Binary files /dev/null and b/koha-tmpl/opac-tmpl/lib/famfamfam/silk/computer.png differ
diff --git a/koha-tmpl/opac-tmpl/lib/famfamfam/silk/computer_add.png b/koha-tmpl/opac-tmpl/lib/famfamfam/silk/computer_add.png
new file mode 100644 (file)
index 0000000..db604ee
Binary files /dev/null and b/koha-tmpl/opac-tmpl/lib/famfamfam/silk/computer_add.png differ
diff --git a/koha-tmpl/opac-tmpl/lib/famfamfam/silk/computer_delete.png b/koha-tmpl/opac-tmpl/lib/famfamfam/silk/computer_delete.png
new file mode 100644 (file)
index 0000000..5e9b268
Binary files /dev/null and b/koha-tmpl/opac-tmpl/lib/famfamfam/silk/computer_delete.png differ
diff --git a/koha-tmpl/opac-tmpl/lib/famfamfam/silk/computer_edit.png b/koha-tmpl/opac-tmpl/lib/famfamfam/silk/computer_edit.png
new file mode 100644 (file)
index 0000000..34c72fe
Binary files /dev/null and b/koha-tmpl/opac-tmpl/lib/famfamfam/silk/computer_edit.png differ
diff --git a/koha-tmpl/opac-tmpl/lib/famfamfam/silk/computer_error.png b/koha-tmpl/opac-tmpl/lib/famfamfam/silk/computer_error.png
new file mode 100644 (file)
index 0000000..b2c3ed5
Binary files /dev/null and b/koha-tmpl/opac-tmpl/lib/famfamfam/silk/computer_error.png differ
diff --git a/koha-tmpl/opac-tmpl/lib/famfamfam/silk/computer_go.png b/koha-tmpl/opac-tmpl/lib/famfamfam/silk/computer_go.png
new file mode 100644 (file)
index 0000000..0b26144
Binary files /dev/null and b/koha-tmpl/opac-tmpl/lib/famfamfam/silk/computer_go.png differ
diff --git a/koha-tmpl/opac-tmpl/lib/famfamfam/silk/computer_key.png b/koha-tmpl/opac-tmpl/lib/famfamfam/silk/computer_key.png
new file mode 100644 (file)
index 0000000..eca5430
Binary files /dev/null and b/koha-tmpl/opac-tmpl/lib/famfamfam/silk/computer_key.png differ
diff --git a/koha-tmpl/opac-tmpl/lib/famfamfam/silk/computer_link.png b/koha-tmpl/opac-tmpl/lib/famfamfam/silk/computer_link.png
new file mode 100644 (file)
index 0000000..3859db2
Binary files /dev/null and b/koha-tmpl/opac-tmpl/lib/famfamfam/silk/computer_link.png differ
diff --git a/koha-tmpl/opac-tmpl/lib/famfamfam/silk/connect.png b/koha-tmpl/opac-tmpl/lib/famfamfam/silk/connect.png
new file mode 100644 (file)
index 0000000..024138e
Binary files /dev/null and b/koha-tmpl/opac-tmpl/lib/famfamfam/silk/connect.png differ
diff --git a/koha-tmpl/opac-tmpl/lib/famfamfam/silk/contrast.png b/koha-tmpl/opac-tmpl/lib/famfamfam/silk/contrast.png
new file mode 100644 (file)
index 0000000..adcc004
Binary files /dev/null and b/koha-tmpl/opac-tmpl/lib/famfamfam/silk/contrast.png differ
diff --git a/koha-tmpl/opac-tmpl/lib/famfamfam/silk/contrast_decrease.png b/koha-tmpl/opac-tmpl/lib/famfamfam/silk/contrast_decrease.png
new file mode 100644 (file)
index 0000000..0155bf5
Binary files /dev/null and b/koha-tmpl/opac-tmpl/lib/famfamfam/silk/contrast_decrease.png differ
diff --git a/koha-tmpl/opac-tmpl/lib/famfamfam/silk/contrast_high.png b/koha-tmpl/opac-tmpl/lib/famfamfam/silk/contrast_high.png
new file mode 100644 (file)
index 0000000..d87c8cb
Binary files /dev/null and b/koha-tmpl/opac-tmpl/lib/famfamfam/silk/contrast_high.png differ
diff --git a/koha-tmpl/opac-tmpl/lib/famfamfam/silk/contrast_increase.png b/koha-tmpl/opac-tmpl/lib/famfamfam/silk/contrast_increase.png
new file mode 100644 (file)
index 0000000..a3e7f52
Binary files /dev/null and b/koha-tmpl/opac-tmpl/lib/famfamfam/silk/contrast_increase.png differ
diff --git a/koha-tmpl/opac-tmpl/lib/famfamfam/silk/contrast_low.png b/koha-tmpl/opac-tmpl/lib/famfamfam/silk/contrast_low.png
new file mode 100644 (file)
index 0000000..dc9f4b1
Binary files /dev/null and b/koha-tmpl/opac-tmpl/lib/famfamfam/silk/contrast_low.png differ
diff --git a/koha-tmpl/opac-tmpl/lib/famfamfam/silk/control_eject.png b/koha-tmpl/opac-tmpl/lib/famfamfam/silk/control_eject.png
new file mode 100644 (file)
index 0000000..924d817
Binary files /dev/null and b/koha-tmpl/opac-tmpl/lib/famfamfam/silk/control_eject.png differ
diff --git a/koha-tmpl/opac-tmpl/lib/famfamfam/silk/control_eject_blue.png b/koha-tmpl/opac-tmpl/lib/famfamfam/silk/control_eject_blue.png
new file mode 100644 (file)
index 0000000..2bd4963
Binary files /dev/null and b/koha-tmpl/opac-tmpl/lib/famfamfam/silk/control_eject_blue.png differ
diff --git a/koha-tmpl/opac-tmpl/lib/famfamfam/silk/control_end.png b/koha-tmpl/opac-tmpl/lib/famfamfam/silk/control_end.png
new file mode 100644 (file)
index 0000000..036e04d
Binary files /dev/null and b/koha-tmpl/opac-tmpl/lib/famfamfam/silk/control_end.png differ
diff --git a/koha-tmpl/opac-tmpl/lib/famfamfam/silk/control_end_blue.png b/koha-tmpl/opac-tmpl/lib/famfamfam/silk/control_end_blue.png
new file mode 100644 (file)
index 0000000..7207935
Binary files /dev/null and b/koha-tmpl/opac-tmpl/lib/famfamfam/silk/control_end_blue.png differ
diff --git a/koha-tmpl/opac-tmpl/lib/famfamfam/silk/control_equalizer.png b/koha-tmpl/opac-tmpl/lib/famfamfam/silk/control_equalizer.png
new file mode 100644 (file)
index 0000000..4606087
Binary files /dev/null and b/koha-tmpl/opac-tmpl/lib/famfamfam/silk/control_equalizer.png differ
diff --git a/koha-tmpl/opac-tmpl/lib/famfamfam/silk/control_equalizer_blue.png b/koha-tmpl/opac-tmpl/lib/famfamfam/silk/control_equalizer_blue.png
new file mode 100644 (file)
index 0000000..1b2e6a3
Binary files /dev/null and b/koha-tmpl/opac-tmpl/lib/famfamfam/silk/control_equalizer_blue.png differ
diff --git a/koha-tmpl/opac-tmpl/lib/famfamfam/silk/control_fastforward.png b/koha-tmpl/opac-tmpl/lib/famfamfam/silk/control_fastforward.png
new file mode 100644 (file)
index 0000000..31f7fd3
Binary files /dev/null and b/koha-tmpl/opac-tmpl/lib/famfamfam/silk/control_fastforward.png differ
diff --git a/koha-tmpl/opac-tmpl/lib/famfamfam/silk/control_fastforward_blue.png b/koha-tmpl/opac-tmpl/lib/famfamfam/silk/control_fastforward_blue.png
new file mode 100644 (file)
index 0000000..4a2f9d4
Binary files /dev/null and b/koha-tmpl/opac-tmpl/lib/famfamfam/silk/control_fastforward_blue.png differ
diff --git a/koha-tmpl/opac-tmpl/lib/famfamfam/silk/control_pause.png b/koha-tmpl/opac-tmpl/lib/famfamfam/silk/control_pause.png
new file mode 100644 (file)
index 0000000..2d9ce9c
Binary files /dev/null and b/koha-tmpl/opac-tmpl/lib/famfamfam/silk/control_pause.png differ
diff --git a/koha-tmpl/opac-tmpl/lib/famfamfam/silk/control_pause_blue.png b/koha-tmpl/opac-tmpl/lib/famfamfam/silk/control_pause_blue.png
new file mode 100644 (file)
index 0000000..ec61099
Binary files /dev/null and b/koha-tmpl/opac-tmpl/lib/famfamfam/silk/control_pause_blue.png differ
diff --git a/koha-tmpl/opac-tmpl/lib/famfamfam/silk/control_play.png b/koha-tmpl/opac-tmpl/lib/famfamfam/silk/control_play.png
new file mode 100644 (file)
index 0000000..0846555
Binary files /dev/null and b/koha-tmpl/opac-tmpl/lib/famfamfam/silk/control_play.png differ
diff --git a/koha-tmpl/opac-tmpl/lib/famfamfam/silk/control_play_blue.png b/koha-tmpl/opac-tmpl/lib/famfamfam/silk/control_play_blue.png
new file mode 100644 (file)
index 0000000..f8c8ec6
Binary files /dev/null and b/koha-tmpl/opac-tmpl/lib/famfamfam/silk/control_play_blue.png differ
diff --git a/koha-tmpl/opac-tmpl/lib/famfamfam/silk/control_repeat.png b/koha-tmpl/opac-tmpl/lib/famfamfam/silk/control_repeat.png
new file mode 100644 (file)
index 0000000..1c4f57a
Binary files /dev/null and b/koha-tmpl/opac-tmpl/lib/famfamfam/silk/control_repeat.png differ
diff --git a/koha-tmpl/opac-tmpl/lib/famfamfam/silk/control_repeat_blue.png b/koha-tmpl/opac-tmpl/lib/famfamfam/silk/control_repeat_blue.png
new file mode 100644 (file)
index 0000000..406ec33
Binary files /dev/null and b/koha-tmpl/opac-tmpl/lib/famfamfam/silk/control_repeat_blue.png differ
diff --git a/koha-tmpl/opac-tmpl/lib/famfamfam/silk/control_rewind.png b/koha-tmpl/opac-tmpl/lib/famfamfam/silk/control_rewind.png
new file mode 100644 (file)
index 0000000..c029447
Binary files /dev/null and b/koha-tmpl/opac-tmpl/lib/famfamfam/silk/control_rewind.png differ
diff --git a/koha-tmpl/opac-tmpl/lib/famfamfam/silk/control_rewind_blue.png b/koha-tmpl/opac-tmpl/lib/famfamfam/silk/control_rewind_blue.png
new file mode 100644 (file)
index 0000000..15d1584
Binary files /dev/null and b/koha-tmpl/opac-tmpl/lib/famfamfam/silk/control_rewind_blue.png differ
diff --git a/koha-tmpl/opac-tmpl/lib/famfamfam/silk/control_start.png b/koha-tmpl/opac-tmpl/lib/famfamfam/silk/control_start.png
new file mode 100644 (file)
index 0000000..7dd1c07
Binary files /dev/null and b/koha-tmpl/opac-tmpl/lib/famfamfam/silk/control_start.png differ
diff --git a/koha-tmpl/opac-tmpl/lib/famfamfam/silk/control_start_blue.png b/koha-tmpl/opac-tmpl/lib/famfamfam/silk/control_start_blue.png
new file mode 100644 (file)
index 0000000..6f11fcb
Binary files /dev/null and b/koha-tmpl/opac-tmpl/lib/famfamfam/silk/control_start_blue.png differ
diff --git a/koha-tmpl/opac-tmpl/lib/famfamfam/silk/control_stop.png b/koha-tmpl/opac-tmpl/lib/famfamfam/silk/control_stop.png
new file mode 100644 (file)
index 0000000..893bb60
Binary files /dev/null and b/koha-tmpl/opac-tmpl/lib/famfamfam/silk/control_stop.png differ
diff --git a/koha-tmpl/opac-tmpl/lib/famfamfam/silk/control_stop_blue.png b/koha-tmpl/opac-tmpl/lib/famfamfam/silk/control_stop_blue.png
new file mode 100644 (file)
index 0000000..e6f75d2
Binary files /dev/null and b/koha-tmpl/opac-tmpl/lib/famfamfam/silk/control_stop_blue.png differ
diff --git a/koha-tmpl/opac-tmpl/lib/famfamfam/silk/controller.png b/koha-tmpl/opac-tmpl/lib/famfamfam/silk/controller.png
new file mode 100644 (file)
index 0000000..5cf76ed
Binary files /dev/null and b/koha-tmpl/opac-tmpl/lib/famfamfam/silk/controller.png differ
diff --git a/koha-tmpl/opac-tmpl/lib/famfamfam/silk/controller_add.png b/koha-tmpl/opac-tmpl/lib/famfamfam/silk/controller_add.png
new file mode 100644 (file)
index 0000000..efecb38
Binary files /dev/null and b/koha-tmpl/opac-tmpl/lib/famfamfam/silk/controller_add.png differ
diff --git a/koha-tmpl/opac-tmpl/lib/famfamfam/silk/controller_delete.png b/koha-tmpl/opac-tmpl/lib/famfamfam/silk/controller_delete.png
new file mode 100644 (file)
index 0000000..3d83bc7
Binary files /dev/null and b/koha-tmpl/opac-tmpl/lib/famfamfam/silk/controller_delete.png differ
diff --git a/koha-tmpl/opac-tmpl/lib/famfamfam/silk/controller_error.png b/koha-tmpl/opac-tmpl/lib/famfamfam/silk/controller_error.png
new file mode 100644 (file)
index 0000000..7f17c0c
Binary files /dev/null and b/koha-tmpl/opac-tmpl/lib/famfamfam/silk/controller_error.png differ
diff --git a/koha-tmpl/opac-tmpl/lib/famfamfam/silk/creditcards.png b/koha-tmpl/opac-tmpl/lib/famfamfam/silk/creditcards.png
new file mode 100644 (file)
index 0000000..4eae583
Binary files /dev/null and b/koha-tmpl/opac-tmpl/lib/famfamfam/silk/creditcards.png differ
diff --git a/koha-tmpl/opac-tmpl/lib/famfamfam/silk/cross.png b/koha-tmpl/opac-tmpl/lib/famfamfam/silk/cross.png
new file mode 100644 (file)
index 0000000..1514d51
Binary files /dev/null and b/koha-tmpl/opac-tmpl/lib/famfamfam/silk/cross.png differ
diff --git a/koha-tmpl/opac-tmpl/lib/famfamfam/silk/css.png b/koha-tmpl/opac-tmpl/lib/famfamfam/silk/css.png
new file mode 100644 (file)
index 0000000..23f3101
Binary files /dev/null and b/koha-tmpl/opac-tmpl/lib/famfamfam/silk/css.png differ
diff --git a/koha-tmpl/opac-tmpl/lib/famfamfam/silk/css_add.png b/koha-tmpl/opac-tmpl/lib/famfamfam/silk/css_add.png
new file mode 100644 (file)
index 0000000..e8ea10f
Binary files /dev/null and b/koha-tmpl/opac-tmpl/lib/famfamfam/silk/css_add.png differ
diff --git a/koha-tmpl/opac-tmpl/lib/famfamfam/silk/css_delete.png b/koha-tmpl/opac-tmpl/lib/famfamfam/silk/css_delete.png
new file mode 100644 (file)
index 0000000..326aba4
Binary files /dev/null and b/koha-tmpl/opac-tmpl/lib/famfamfam/silk/css_delete.png differ
diff --git a/koha-tmpl/opac-tmpl/lib/famfamfam/silk/css_go.png b/koha-tmpl/opac-tmpl/lib/famfamfam/silk/css_go.png
new file mode 100644 (file)
index 0000000..6cdf38c
Binary files /dev/null and b/koha-tmpl/opac-tmpl/lib/famfamfam/silk/css_go.png differ
diff --git a/koha-tmpl/opac-tmpl/lib/famfamfam/silk/css_valid.png b/koha-tmpl/opac-tmpl/lib/famfamfam/silk/css_valid.png
new file mode 100644 (file)
index 0000000..4c72ca5
Binary files /dev/null and b/koha-tmpl/opac-tmpl/lib/famfamfam/silk/css_valid.png differ
diff --git a/koha-tmpl/opac-tmpl/lib/famfamfam/silk/cup.png b/koha-tmpl/opac-tmpl/lib/famfamfam/silk/cup.png
new file mode 100644 (file)
index 0000000..b7bfcd1
Binary files /dev/null and b/koha-tmpl/opac-tmpl/lib/famfamfam/silk/cup.png differ
diff --git a/koha-tmpl/opac-tmpl/lib/famfamfam/silk/cup_add.png b/koha-tmpl/opac-tmpl/lib/famfamfam/silk/cup_add.png
new file mode 100644 (file)
index 0000000..4ecaece
Binary files /dev/null and b/koha-tmpl/opac-tmpl/lib/famfamfam/silk/cup_add.png differ
diff --git a/koha-tmpl/opac-tmpl/lib/famfamfam/silk/cup_delete.png b/koha-tmpl/opac-tmpl/lib/famfamfam/silk/cup_delete.png
new file mode 100644 (file)
index 0000000..59a6d9c
Binary files /dev/null and b/koha-tmpl/opac-tmpl/lib/famfamfam/silk/cup_delete.png differ
diff --git a/koha-tmpl/opac-tmpl/lib/famfamfam/silk/cup_edit.png b/koha-tmpl/opac-tmpl/lib/famfamfam/silk/cup_edit.png
new file mode 100644 (file)
index 0000000..0b8f1e1
Binary files /dev/null and b/koha-tmpl/opac-tmpl/lib/famfamfam/silk/cup_edit.png differ
diff --git a/koha-tmpl/opac-tmpl/lib/famfamfam/silk/cup_error.png b/koha-tmpl/opac-tmpl/lib/famfamfam/silk/cup_error.png
new file mode 100644 (file)
index 0000000..6879874
Binary files /dev/null and b/koha-tmpl/opac-tmpl/lib/famfamfam/silk/cup_error.png differ
diff --git a/koha-tmpl/opac-tmpl/lib/famfamfam/silk/cup_go.png b/koha-tmpl/opac-tmpl/lib/famfamfam/silk/cup_go.png
new file mode 100644 (file)
index 0000000..9527efb
Binary files /dev/null and b/koha-tmpl/opac-tmpl/lib/famfamfam/silk/cup_go.png differ
diff --git a/koha-tmpl/opac-tmpl/lib/famfamfam/silk/cup_key.png b/koha-tmpl/opac-tmpl/lib/famfamfam/silk/cup_key.png
new file mode 100644 (file)
index 0000000..7ae160c
Binary files /dev/null and b/koha-tmpl/opac-tmpl/lib/famfamfam/silk/cup_key.png differ
diff --git a/koha-tmpl/opac-tmpl/lib/famfamfam/silk/cup_link.png b/koha-tmpl/opac-tmpl/lib/famfamfam/silk/cup_link.png
new file mode 100644 (file)
index 0000000..41d1ace
Binary files /dev/null and b/koha-tmpl/opac-tmpl/lib/famfamfam/silk/cup_link.png differ
diff --git a/koha-tmpl/opac-tmpl/lib/famfamfam/silk/cursor.png b/koha-tmpl/opac-tmpl/lib/famfamfam/silk/cursor.png
new file mode 100644 (file)
index 0000000..532f532
Binary files /dev/null and b/koha-tmpl/opac-tmpl/lib/famfamfam/silk/cursor.png differ
diff --git a/koha-tmpl/opac-tmpl/lib/famfamfam/silk/cut.png b/koha-tmpl/opac-tmpl/lib/famfamfam/silk/cut.png
new file mode 100644 (file)
index 0000000..f215d6f
Binary files /dev/null and b/koha-tmpl/opac-tmpl/lib/famfamfam/silk/cut.png differ
diff --git a/koha-tmpl/opac-tmpl/lib/famfamfam/silk/cut_red.png b/koha-tmpl/opac-tmpl/lib/famfamfam/silk/cut_red.png
new file mode 100644 (file)
index 0000000..85bb2f0
Binary files /dev/null and b/koha-tmpl/opac-tmpl/lib/famfamfam/silk/cut_red.png differ
diff --git a/koha-tmpl/opac-tmpl/lib/famfamfam/silk/database.png b/koha-tmpl/opac-tmpl/lib/famfamfam/silk/database.png
new file mode 100644 (file)
index 0000000..3d09261
Binary files /dev/null and b/koha-tmpl/opac-tmpl/lib/famfamfam/silk/database.png differ
diff --git a/koha-tmpl/opac-tmpl/lib/famfamfam/silk/database_add.png b/koha-tmpl/opac-tmpl/lib/famfamfam/silk/database_add.png
new file mode 100644 (file)
index 0000000..802bd6c
Binary files /dev/null and b/koha-tmpl/opac-tmpl/lib/famfamfam/silk/database_add.png differ
diff --git a/koha-tmpl/opac-tmpl/lib/famfamfam/silk/database_connect.png b/koha-tmpl/opac-tmpl/lib/famfamfam/silk/database_connect.png
new file mode 100644 (file)
index 0000000..3a11197
Binary files /dev/null and b/koha-tmpl/opac-tmpl/lib/famfamfam/silk/database_connect.png differ
diff --git a/koha-tmpl/opac-tmpl/lib/famfamfam/silk/database_delete.png b/koha-tmpl/opac-tmpl/lib/famfamfam/silk/database_delete.png
new file mode 100644 (file)
index 0000000..cce652e
Binary files /dev/null and b/koha-tmpl/opac-tmpl/lib/famfamfam/silk/database_delete.png differ
diff --git a/koha-tmpl/opac-tmpl/lib/famfamfam/silk/database_edit.png b/koha-tmpl/opac-tmpl/lib/famfamfam/silk/database_edit.png
new file mode 100644 (file)
index 0000000..e501b66
Binary files /dev/null and b/koha-tmpl/opac-tmpl/lib/famfamfam/silk/database_edit.png differ
diff --git a/koha-tmpl/opac-tmpl/lib/famfamfam/silk/database_error.png b/koha-tmpl/opac-tmpl/lib/famfamfam/silk/database_error.png
new file mode 100644 (file)
index 0000000..578221a
Binary files /dev/null and b/koha-tmpl/opac-tmpl/lib/famfamfam/silk/database_error.png differ
diff --git a/koha-tmpl/opac-tmpl/lib/famfamfam/silk/database_gear.png b/koha-tmpl/opac-tmpl/lib/famfamfam/silk/database_gear.png
new file mode 100644 (file)
index 0000000..7c0ab2b
Binary files /dev/null and b/koha-tmpl/opac-tmpl/lib/famfamfam/silk/database_gear.png differ
diff --git a/koha-tmpl/opac-tmpl/lib/famfamfam/silk/database_go.png b/koha-tmpl/opac-tmpl/lib/famfamfam/silk/database_go.png
new file mode 100644 (file)
index 0000000..61a8556
Binary files /dev/null and b/koha-tmpl/opac-tmpl/lib/famfamfam/silk/database_go.png differ
diff --git a/koha-tmpl/opac-tmpl/lib/famfamfam/silk/database_key.png b/koha-tmpl/opac-tmpl/lib/famfamfam/silk/database_key.png
new file mode 100644 (file)
index 0000000..3334147
Binary files /dev/null and b/koha-tmpl/opac-tmpl/lib/famfamfam/silk/database_key.png differ
diff --git a/koha-tmpl/opac-tmpl/lib/famfamfam/silk/database_lightning.png b/koha-tmpl/opac-tmpl/lib/famfamfam/silk/database_lightning.png
new file mode 100644 (file)
index 0000000..d9eefc2
Binary files /dev/null and b/koha-tmpl/opac-tmpl/lib/famfamfam/silk/database_lightning.png differ
diff --git a/koha-tmpl/opac-tmpl/lib/famfamfam/silk/database_link.png b/koha-tmpl/opac-tmpl/lib/famfamfam/silk/database_link.png
new file mode 100644 (file)
index 0000000..4c8204a
Binary files /dev/null and b/koha-tmpl/opac-tmpl/lib/famfamfam/silk/database_link.png differ
diff --git a/koha-tmpl/opac-tmpl/lib/famfamfam/silk/database_refresh.png b/koha-tmpl/opac-tmpl/lib/famfamfam/silk/database_refresh.png
new file mode 100644 (file)
index 0000000..ff803be
Binary files /dev/null and b/koha-tmpl/opac-tmpl/lib/famfamfam/silk/database_refresh.png differ
diff --git a/koha-tmpl/opac-tmpl/lib/famfamfam/silk/database_save.png b/koha-tmpl/opac-tmpl/lib/famfamfam/silk/database_save.png
new file mode 100644 (file)
index 0000000..44c06dd
Binary files /dev/null and b/koha-tmpl/opac-tmpl/lib/famfamfam/silk/database_save.png differ
diff --git a/koha-tmpl/opac-tmpl/lib/famfamfam/silk/database_table.png b/koha-tmpl/opac-tmpl/lib/famfamfam/silk/database_table.png
new file mode 100644 (file)
index 0000000..693709c
Binary files /dev/null and b/koha-tmpl/opac-tmpl/lib/famfamfam/silk/database_table.png differ
diff --git a/koha-tmpl/opac-tmpl/lib/famfamfam/silk/date.png b/koha-tmpl/opac-tmpl/lib/famfamfam/silk/date.png
new file mode 100644 (file)
index 0000000..783c833
Binary files /dev/null and b/koha-tmpl/opac-tmpl/lib/famfamfam/silk/date.png differ
diff --git a/koha-tmpl/opac-tmpl/lib/famfamfam/silk/date_add.png b/koha-tmpl/opac-tmpl/lib/famfamfam/silk/date_add.png
new file mode 100644 (file)
index 0000000..6a7ae02
Binary files /dev/null and b/koha-tmpl/opac-tmpl/lib/famfamfam/silk/date_add.png differ
diff --git a/koha-tmpl/opac-tmpl/lib/famfamfam/silk/date_delete.png b/koha-tmpl/opac-tmpl/lib/famfamfam/silk/date_delete.png
new file mode 100644 (file)
index 0000000..969a6b7
Binary files /dev/null and b/koha-tmpl/opac-tmpl/lib/famfamfam/silk/date_delete.png differ
diff --git a/koha-tmpl/opac-tmpl/lib/famfamfam/silk/date_edit.png b/koha-tmpl/opac-tmpl/lib/famfamfam/silk/date_edit.png
new file mode 100644 (file)
index 0000000..e681065
Binary files /dev/null and b/koha-tmpl/opac-tmpl/lib/famfamfam/silk/date_edit.png differ
diff --git a/koha-tmpl/opac-tmpl/lib/famfamfam/silk/date_error.png b/koha-tmpl/opac-tmpl/lib/famfamfam/silk/date_error.png
new file mode 100644 (file)
index 0000000..442cd97
Binary files /dev/null and b/koha-tmpl/opac-tmpl/lib/famfamfam/silk/date_error.png differ
diff --git a/koha-tmpl/opac-tmpl/lib/famfamfam/silk/date_go.png b/koha-tmpl/opac-tmpl/lib/famfamfam/silk/date_go.png
new file mode 100644 (file)
index 0000000..52dd9f3
Binary files /dev/null and b/koha-tmpl/opac-tmpl/lib/famfamfam/silk/date_go.png differ
diff --git a/koha-tmpl/opac-tmpl/lib/famfamfam/silk/date_link.png b/koha-tmpl/opac-tmpl/lib/famfamfam/silk/date_link.png
new file mode 100644 (file)
index 0000000..9f0aada
Binary files /dev/null and b/koha-tmpl/opac-tmpl/lib/famfamfam/silk/date_link.png differ
diff --git a/koha-tmpl/opac-tmpl/lib/famfamfam/silk/date_magnify.png b/koha-tmpl/opac-tmpl/lib/famfamfam/silk/date_magnify.png
new file mode 100644 (file)
index 0000000..cd05f19
Binary files /dev/null and b/koha-tmpl/opac-tmpl/lib/famfamfam/silk/date_magnify.png differ
diff --git a/koha-tmpl/opac-tmpl/lib/famfamfam/silk/date_next.png b/koha-tmpl/opac-tmpl/lib/famfamfam/silk/date_next.png
new file mode 100644 (file)
index 0000000..48d740a
Binary files /dev/null and b/koha-tmpl/opac-tmpl/lib/famfamfam/silk/date_next.png differ
diff --git a/koha-tmpl/opac-tmpl/lib/famfamfam/silk/date_previous.png b/koha-tmpl/opac-tmpl/lib/famfamfam/silk/date_previous.png
new file mode 100644 (file)
index 0000000..e117a83
Binary files /dev/null and b/koha-tmpl/opac-tmpl/lib/famfamfam/silk/date_previous.png differ
diff --git a/koha-tmpl/opac-tmpl/lib/famfamfam/silk/delete.png b/koha-tmpl/opac-tmpl/lib/famfamfam/silk/delete.png
new file mode 100644 (file)
index 0000000..08f2493
Binary files /dev/null and b/koha-tmpl/opac-tmpl/lib/famfamfam/silk/delete.png differ
diff --git a/koha-tmpl/opac-tmpl/lib/famfamfam/silk/disconnect.png b/koha-tmpl/opac-tmpl/lib/famfamfam/silk/disconnect.png
new file mode 100644 (file)
index 0000000..b335cb1
Binary files /dev/null and b/koha-tmpl/opac-tmpl/lib/famfamfam/silk/disconnect.png differ
diff --git a/koha-tmpl/opac-tmpl/lib/famfamfam/silk/disk.png b/koha-tmpl/opac-tmpl/lib/famfamfam/silk/disk.png
new file mode 100644 (file)
index 0000000..99d532e
Binary files /dev/null and b/koha-tmpl/opac-tmpl/lib/famfamfam/silk/disk.png differ
diff --git a/koha-tmpl/opac-tmpl/lib/famfamfam/silk/disk_multiple.png b/koha-tmpl/opac-tmpl/lib/famfamfam/silk/disk_multiple.png
new file mode 100644 (file)
index 0000000..fc5a52f
Binary files /dev/null and b/koha-tmpl/opac-tmpl/lib/famfamfam/silk/disk_multiple.png differ
diff --git a/koha-tmpl/opac-tmpl/lib/famfamfam/silk/door.png b/koha-tmpl/opac-tmpl/lib/famfamfam/silk/door.png
new file mode 100644 (file)
index 0000000..369fc46
Binary files /dev/null and b/koha-tmpl/opac-tmpl/lib/famfamfam/silk/door.png differ
diff --git a/koha-tmpl/opac-tmpl/lib/famfamfam/silk/door_in.png b/koha-tmpl/opac-tmpl/lib/famfamfam/silk/door_in.png
new file mode 100644 (file)
index 0000000..41676a0
Binary files /dev/null and b/koha-tmpl/opac-tmpl/lib/famfamfam/silk/door_in.png differ
diff --git a/koha-tmpl/opac-tmpl/lib/famfamfam/silk/door_open.png b/koha-tmpl/opac-tmpl/lib/famfamfam/silk/door_open.png
new file mode 100644 (file)
index 0000000..64bab57
Binary files /dev/null and b/koha-tmpl/opac-tmpl/lib/famfamfam/silk/door_open.png differ
diff --git a/koha-tmpl/opac-tmpl/lib/famfamfam/silk/door_out.png b/koha-tmpl/opac-tmpl/lib/famfamfam/silk/door_out.png
new file mode 100644 (file)
index 0000000..2541d2b
Binary files /dev/null and b/koha-tmpl/opac-tmpl/lib/famfamfam/silk/door_out.png differ
diff --git a/koha-tmpl/opac-tmpl/lib/famfamfam/silk/drink.png b/koha-tmpl/opac-tmpl/lib/famfamfam/silk/drink.png
new file mode 100644 (file)
index 0000000..d98359c
Binary files /dev/null and b/koha-tmpl/opac-tmpl/lib/famfamfam/silk/drink.png differ
diff --git a/koha-tmpl/opac-tmpl/lib/famfamfam/silk/drink_empty.png b/koha-tmpl/opac-tmpl/lib/famfamfam/silk/drink_empty.png
new file mode 100644 (file)
index 0000000..a40211e
Binary files /dev/null and b/koha-tmpl/opac-tmpl/lib/famfamfam/silk/drink_empty.png differ
diff --git a/koha-tmpl/opac-tmpl/lib/famfamfam/silk/drive.png b/koha-tmpl/opac-tmpl/lib/famfamfam/silk/drive.png
new file mode 100644 (file)
index 0000000..37b7c9b
Binary files /dev/null and b/koha-tmpl/opac-tmpl/lib/famfamfam/silk/drive.png differ
diff --git a/koha-tmpl/opac-tmpl/lib/famfamfam/silk/drive_add.png b/koha-tmpl/opac-tmpl/lib/famfamfam/silk/drive_add.png
new file mode 100644 (file)
index 0000000..29a35d5
Binary files /dev/null and b/koha-tmpl/opac-tmpl/lib/famfamfam/silk/drive_add.png differ
diff --git a/koha-tmpl/opac-tmpl/lib/famfamfam/silk/drive_burn.png b/koha-tmpl/opac-tmpl/lib/famfamfam/silk/drive_burn.png
new file mode 100644 (file)
index 0000000..80fd79f
Binary files /dev/null and b/koha-tmpl/opac-tmpl/lib/famfamfam/silk/drive_burn.png differ
diff --git a/koha-tmpl/opac-tmpl/lib/famfamfam/silk/drive_cd.png b/koha-tmpl/opac-tmpl/lib/famfamfam/silk/drive_cd.png
new file mode 100644 (file)
index 0000000..1850b70
Binary files /dev/null and b/koha-tmpl/opac-tmpl/lib/famfamfam/silk/drive_cd.png differ
diff --git a/koha-tmpl/opac-tmpl/lib/famfamfam/silk/drive_cd_empty.png b/koha-tmpl/opac-tmpl/lib/famfamfam/silk/drive_cd_empty.png
new file mode 100644 (file)
index 0000000..8df38d9
Binary files /dev/null and b/koha-tmpl/opac-tmpl/lib/famfamfam/silk/drive_cd_empty.png differ
diff --git a/koha-tmpl/opac-tmpl/lib/famfamfam/silk/drive_delete.png b/koha-tmpl/opac-tmpl/lib/famfamfam/silk/drive_delete.png
new file mode 100644 (file)
index 0000000..e6eb186
Binary files /dev/null and b/koha-tmpl/opac-tmpl/lib/famfamfam/silk/drive_delete.png differ
diff --git a/koha-tmpl/opac-tmpl/lib/famfamfam/silk/drive_disk.png b/koha-tmpl/opac-tmpl/lib/famfamfam/silk/drive_disk.png
new file mode 100644 (file)
index 0000000..5a51e81
Binary files /dev/null and b/koha-tmpl/opac-tmpl/lib/famfamfam/silk/drive_disk.png differ
diff --git a/koha-tmpl/opac-tmpl/lib/famfamfam/silk/drive_edit.png b/koha-tmpl/opac-tmpl/lib/famfamfam/silk/drive_edit.png
new file mode 100644 (file)
index 0000000..7923fad
Binary files /dev/null and b/koha-tmpl/opac-tmpl/lib/famfamfam/silk/drive_edit.png differ
diff --git a/koha-tmpl/opac-tmpl/lib/famfamfam/silk/drive_error.png b/koha-tmpl/opac-tmpl/lib/famfamfam/silk/drive_error.png
new file mode 100644 (file)
index 0000000..309f639
Binary files /dev/null and b/koha-tmpl/opac-tmpl/lib/famfamfam/silk/drive_error.png differ
diff --git a/koha-tmpl/opac-tmpl/lib/famfamfam/silk/drive_go.png b/koha-tmpl/opac-tmpl/lib/famfamfam/silk/drive_go.png
new file mode 100644 (file)
index 0000000..fc53379
Binary files /dev/null and b/koha-tmpl/opac-tmpl/lib/famfamfam/silk/drive_go.png differ
diff --git a/koha-tmpl/opac-tmpl/lib/famfamfam/silk/drive_key.png b/koha-tmpl/opac-tmpl/lib/famfamfam/silk/drive_key.png
new file mode 100644 (file)
index 0000000..d0b3c67
Binary files /dev/null and b/koha-tmpl/opac-tmpl/lib/famfamfam/silk/drive_key.png differ
diff --git a/koha-tmpl/opac-tmpl/lib/famfamfam/silk/drive_link.png b/koha-tmpl/opac-tmpl/lib/famfamfam/silk/drive_link.png
new file mode 100644 (file)
index 0000000..8679c4b
Binary files /dev/null and b/koha-tmpl/opac-tmpl/lib/famfamfam/silk/drive_link.png differ
diff --git a/koha-tmpl/opac-tmpl/lib/famfamfam/silk/drive_magnify.png b/koha-tmpl/opac-tmpl/lib/famfamfam/silk/drive_magnify.png
new file mode 100644 (file)
index 0000000..0f0f444
Binary files /dev/null and b/koha-tmpl/opac-tmpl/lib/famfamfam/silk/drive_magnify.png differ
diff --git a/koha-tmpl/opac-tmpl/lib/famfamfam/silk/drive_network.png b/koha-tmpl/opac-tmpl/lib/famfamfam/silk/drive_network.png
new file mode 100644 (file)
index 0000000..63d2d5d
Binary files /dev/null and b/koha-tmpl/opac-tmpl/lib/famfamfam/silk/drive_network.png differ
diff --git a/koha-tmpl/opac-tmpl/lib/famfamfam/silk/drive_rename.png b/koha-tmpl/opac-tmpl/lib/famfamfam/silk/drive_rename.png
new file mode 100644 (file)
index 0000000..2a9f38b
Binary files /dev/null and b/koha-tmpl/opac-tmpl/lib/famfamfam/silk/drive_rename.png differ
diff --git a/koha-tmpl/opac-tmpl/lib/famfamfam/silk/drive_user.png b/koha-tmpl/opac-tmpl/lib/famfamfam/silk/drive_user.png
new file mode 100644 (file)
index 0000000..0b4751c
Binary files /dev/null and b/koha-tmpl/opac-tmpl/lib/famfamfam/silk/drive_user.png differ
diff --git a/koha-tmpl/opac-tmpl/lib/famfamfam/silk/drive_web.png b/koha-tmpl/opac-tmpl/lib/famfamfam/silk/drive_web.png
new file mode 100644 (file)
index 0000000..8850a83
Binary files /dev/null and b/koha-tmpl/opac-tmpl/lib/famfamfam/silk/drive_web.png differ
diff --git a/koha-tmpl/opac-tmpl/lib/famfamfam/silk/dvd.png b/koha-tmpl/opac-tmpl/lib/famfamfam/silk/dvd.png
new file mode 100644 (file)
index 0000000..9d94de5
Binary files /dev/null and b/koha-tmpl/opac-tmpl/lib/famfamfam/silk/dvd.png differ
diff --git a/koha-tmpl/opac-tmpl/lib/famfamfam/silk/dvd_add.png b/koha-tmpl/opac-tmpl/lib/famfamfam/silk/dvd_add.png
new file mode 100644 (file)
index 0000000..517d112
Binary files /dev/null and b/koha-tmpl/opac-tmpl/lib/famfamfam/silk/dvd_add.png differ
diff --git a/koha-tmpl/opac-tmpl/lib/famfamfam/silk/dvd_delete.png b/koha-tmpl/opac-tmpl/lib/famfamfam/silk/dvd_delete.png
new file mode 100644 (file)
index 0000000..87bed22
Binary files /dev/null and b/koha-tmpl/opac-tmpl/lib/famfamfam/silk/dvd_delete.png differ
diff --git a/koha-tmpl/opac-tmpl/lib/famfamfam/silk/dvd_edit.png b/koha-tmpl/opac-tmpl/lib/famfamfam/silk/dvd_edit.png
new file mode 100644 (file)
index 0000000..d6330aa
Binary files /dev/null and b/koha-tmpl/opac-tmpl/lib/famfamfam/silk/dvd_edit.png differ
diff --git a/koha-tmpl/opac-tmpl/lib/famfamfam/silk/dvd_error.png b/koha-tmpl/opac-tmpl/lib/famfamfam/silk/dvd_error.png
new file mode 100644 (file)
index 0000000..8f6d4be
Binary files /dev/null and b/koha-tmpl/opac-tmpl/lib/famfamfam/silk/dvd_error.png differ
diff --git a/koha-tmpl/opac-tmpl/lib/famfamfam/silk/dvd_go.png b/koha-tmpl/opac-tmpl/lib/famfamfam/silk/dvd_go.png
new file mode 100644 (file)
index 0000000..ef6959f
Binary files /dev/null and b/koha-tmpl/opac-tmpl/lib/famfamfam/silk/dvd_go.png differ
diff --git a/koha-tmpl/opac-tmpl/lib/famfamfam/silk/dvd_key.png b/koha-tmpl/opac-tmpl/lib/famfamfam/silk/dvd_key.png
new file mode 100644 (file)
index 0000000..da9307f
Binary files /dev/null and b/koha-tmpl/opac-tmpl/lib/famfamfam/silk/dvd_key.png differ
diff --git a/koha-tmpl/opac-tmpl/lib/famfamfam/silk/dvd_link.png b/koha-tmpl/opac-tmpl/lib/famfamfam/silk/dvd_link.png
new file mode 100644 (file)
index 0000000..caad726
Binary files /dev/null and b/koha-tmpl/opac-tmpl/lib/famfamfam/silk/dvd_link.png differ
diff --git a/koha-tmpl/opac-tmpl/lib/famfamfam/silk/email.png b/koha-tmpl/opac-tmpl/lib/famfamfam/silk/email.png
new file mode 100644 (file)
index 0000000..7348aed
Binary files /dev/null and b/koha-tmpl/opac-tmpl/lib/famfamfam/silk/email.png differ
diff --git a/koha-tmpl/opac-tmpl/lib/famfamfam/silk/email_add.png b/koha-tmpl/opac-tmpl/lib/famfamfam/silk/email_add.png
new file mode 100644 (file)
index 0000000..6c93368
Binary files /dev/null and b/koha-tmpl/opac-tmpl/lib/famfamfam/silk/email_add.png differ
diff --git a/koha-tmpl/opac-tmpl/lib/famfamfam/silk/email_attach.png b/koha-tmpl/opac-tmpl/lib/famfamfam/silk/email_attach.png
new file mode 100644 (file)
index 0000000..1f99485
Binary files /dev/null and b/koha-tmpl/opac-tmpl/lib/famfamfam/silk/email_attach.png differ
diff --git a/koha-tmpl/opac-tmpl/lib/famfamfam/silk/email_delete.png b/koha-tmpl/opac-tmpl/lib/famfamfam/silk/email_delete.png
new file mode 100644 (file)
index 0000000..a9932b1
Binary files /dev/null and b/koha-tmpl/opac-tmpl/lib/famfamfam/silk/email_delete.png differ
diff --git a/koha-tmpl/opac-tmpl/lib/famfamfam/silk/email_edit.png b/koha-tmpl/opac-tmpl/lib/famfamfam/silk/email_edit.png
new file mode 100644 (file)
index 0000000..244f04a
Binary files /dev/null and b/koha-tmpl/opac-tmpl/lib/famfamfam/silk/email_edit.png differ
diff --git a/koha-tmpl/opac-tmpl/lib/famfamfam/silk/email_error.png b/koha-tmpl/opac-tmpl/lib/famfamfam/silk/email_error.png
new file mode 100644 (file)
index 0000000..8bdd330
Binary files /dev/null and b/koha-tmpl/opac-tmpl/lib/famfamfam/silk/email_error.png differ
diff --git a/koha-tmpl/opac-tmpl/lib/famfamfam/silk/email_go.png b/koha-tmpl/opac-tmpl/lib/famfamfam/silk/email_go.png
new file mode 100644 (file)
index 0000000..4a6c5d3
Binary files /dev/null and b/koha-tmpl/opac-tmpl/lib/famfamfam/silk/email_go.png differ
diff --git a/koha-tmpl/opac-tmpl/lib/famfamfam/silk/email_link.png b/koha-tmpl/opac-tmpl/lib/famfamfam/silk/email_link.png
new file mode 100644 (file)
index 0000000..2c49f78
Binary files /dev/null and b/koha-tmpl/opac-tmpl/lib/famfamfam/silk/email_link.png differ
diff --git a/koha-tmpl/opac-tmpl/lib/famfamfam/silk/email_open.png b/koha-tmpl/opac-tmpl/lib/famfamfam/silk/email_open.png
new file mode 100644 (file)
index 0000000..7b6f981
Binary files /dev/null and b/koha-tmpl/opac-tmpl/lib/famfamfam/silk/email_open.png differ
diff --git a/koha-tmpl/opac-tmpl/lib/famfamfam/silk/email_open_image.png b/koha-tmpl/opac-tmpl/lib/famfamfam/silk/email_open_image.png
new file mode 100644 (file)
index 0000000..e588e2f
Binary files /dev/null and b/koha-tmpl/opac-tmpl/lib/famfamfam/silk/email_open_image.png differ
diff --git a/koha-tmpl/opac-tmpl/lib/famfamfam/silk/emoticon_evilgrin.png b/koha-tmpl/opac-tmpl/lib/famfamfam/silk/emoticon_evilgrin.png
new file mode 100644 (file)
index 0000000..817bd50
Binary files /dev/null and b/koha-tmpl/opac-tmpl/lib/famfamfam/silk/emoticon_evilgrin.png differ
diff --git a/koha-tmpl/opac-tmpl/lib/famfamfam/silk/emoticon_grin.png b/koha-tmpl/opac-tmpl/lib/famfamfam/silk/emoticon_grin.png
new file mode 100644 (file)
index 0000000..fc60c5e
Binary files /dev/null and b/koha-tmpl/opac-tmpl/lib/famfamfam/silk/emoticon_grin.png differ
diff --git a/koha-tmpl/opac-tmpl/lib/famfamfam/silk/emoticon_happy.png b/koha-tmpl/opac-tmpl/lib/famfamfam/silk/emoticon_happy.png
new file mode 100644 (file)
index 0000000..6b7336e
Binary files /dev/null and b/koha-tmpl/opac-tmpl/lib/famfamfam/silk/emoticon_happy.png differ
diff --git a/koha-tmpl/opac-tmpl/lib/famfamfam/silk/emoticon_smile.png b/koha-tmpl/opac-tmpl/lib/famfamfam/silk/emoticon_smile.png
new file mode 100644 (file)
index 0000000..ade4318
Binary files /dev/null and b/koha-tmpl/opac-tmpl/lib/famfamfam/silk/emoticon_smile.png differ
diff --git a/koha-tmpl/opac-tmpl/lib/famfamfam/silk/emoticon_surprised.png b/koha-tmpl/opac-tmpl/lib/famfamfam/silk/emoticon_surprised.png
new file mode 100644 (file)
index 0000000..4520cfc
Binary files /dev/null and b/koha-tmpl/opac-tmpl/lib/famfamfam/silk/emoticon_surprised.png differ
diff --git a/koha-tmpl/opac-tmpl/lib/famfamfam/silk/emoticon_tongue.png b/koha-tmpl/opac-tmpl/lib/famfamfam/silk/emoticon_tongue.png
new file mode 100644 (file)
index 0000000..ecafd2f
Binary files /dev/null and b/koha-tmpl/opac-tmpl/lib/famfamfam/silk/emoticon_tongue.png differ
diff --git a/koha-tmpl/opac-tmpl/lib/famfamfam/silk/emoticon_unhappy.png b/koha-tmpl/opac-tmpl/lib/famfamfam/silk/emoticon_unhappy.png
new file mode 100644 (file)
index 0000000..fd5d030
Binary files /dev/null and b/koha-tmpl/opac-tmpl/lib/famfamfam/silk/emoticon_unhappy.png differ
diff --git a/koha-tmpl/opac-tmpl/lib/famfamfam/silk/emoticon_waii.png b/koha-tmpl/opac-tmpl/lib/famfamfam/silk/emoticon_waii.png
new file mode 100644 (file)
index 0000000..458f936
Binary files /dev/null and b/koha-tmpl/opac-tmpl/lib/famfamfam/silk/emoticon_waii.png differ
diff --git a/koha-tmpl/opac-tmpl/lib/famfamfam/silk/emoticon_wink.png b/koha-tmpl/opac-tmpl/lib/famfamfam/silk/emoticon_wink.png
new file mode 100644 (file)
index 0000000..a631949
Binary files /dev/null and b/koha-tmpl/opac-tmpl/lib/famfamfam/silk/emoticon_wink.png differ
diff --git a/koha-tmpl/opac-tmpl/lib/famfamfam/silk/error.png b/koha-tmpl/opac-tmpl/lib/famfamfam/silk/error.png
new file mode 100644 (file)
index 0000000..628cf2d
Binary files /dev/null and b/koha-tmpl/opac-tmpl/lib/famfamfam/silk/error.png differ
diff --git a/koha-tmpl/opac-tmpl/lib/famfamfam/silk/error_add.png b/koha-tmpl/opac-tmpl/lib/famfamfam/silk/error_add.png
new file mode 100644 (file)
index 0000000..4c97484
Binary files /dev/null and b/koha-tmpl/opac-tmpl/lib/famfamfam/silk/error_add.png differ
diff --git a/koha-tmpl/opac-tmpl/lib/famfamfam/silk/error_delete.png b/koha-tmpl/opac-tmpl/lib/famfamfam/silk/error_delete.png
new file mode 100644 (file)
index 0000000..7f78bcc
Binary files /dev/null and b/koha-tmpl/opac-tmpl/lib/famfamfam/silk/error_delete.png differ
diff --git a/koha-tmpl/opac-tmpl/lib/famfamfam/silk/error_go.png b/koha-tmpl/opac-tmpl/lib/famfamfam/silk/error_go.png
new file mode 100644 (file)
index 0000000..caa1838
Binary files /dev/null and b/koha-tmpl/opac-tmpl/lib/famfamfam/silk/error_go.png differ
diff --git a/koha-tmpl/opac-tmpl/lib/famfamfam/silk/exclamation.png b/koha-tmpl/opac-tmpl/lib/famfamfam/silk/exclamation.png
new file mode 100644 (file)
index 0000000..c37bd06
Binary files /dev/null and b/koha-tmpl/opac-tmpl/lib/famfamfam/silk/exclamation.png differ
diff --git a/koha-tmpl/opac-tmpl/lib/famfamfam/silk/eye.png b/koha-tmpl/opac-tmpl/lib/famfamfam/silk/eye.png
new file mode 100644 (file)
index 0000000..564a1a9
Binary files /dev/null and b/koha-tmpl/opac-tmpl/lib/famfamfam/silk/eye.png differ
diff --git a/koha-tmpl/opac-tmpl/lib/famfamfam/silk/feed.png b/koha-tmpl/opac-tmpl/lib/famfamfam/silk/feed.png
new file mode 100644 (file)
index 0000000..315c4f4
Binary files /dev/null and b/koha-tmpl/opac-tmpl/lib/famfamfam/silk/feed.png differ
diff --git a/koha-tmpl/opac-tmpl/lib/famfamfam/silk/feed_add.png b/koha-tmpl/opac-tmpl/lib/famfamfam/silk/feed_add.png
new file mode 100644 (file)
index 0000000..e77d46e
Binary files /dev/null and b/koha-tmpl/opac-tmpl/lib/famfamfam/silk/feed_add.png differ
diff --git a/koha-tmpl/opac-tmpl/lib/famfamfam/silk/feed_delete.png b/koha-tmpl/opac-tmpl/lib/famfamfam/silk/feed_delete.png
new file mode 100644 (file)
index 0000000..5e332b4
Binary files /dev/null and b/koha-tmpl/opac-tmpl/lib/famfamfam/silk/feed_delete.png differ
diff --git a/koha-tmpl/opac-tmpl/lib/famfamfam/silk/feed_disk.png b/koha-tmpl/opac-tmpl/lib/famfamfam/silk/feed_disk.png
new file mode 100644 (file)
index 0000000..a158c99
Binary files /dev/null and b/koha-tmpl/opac-tmpl/lib/famfamfam/silk/feed_disk.png differ
diff --git a/koha-tmpl/opac-tmpl/lib/famfamfam/silk/feed_edit.png b/koha-tmpl/opac-tmpl/lib/famfamfam/silk/feed_edit.png
new file mode 100644 (file)
index 0000000..f1fde7a
Binary files /dev/null and b/koha-tmpl/opac-tmpl/lib/famfamfam/silk/feed_edit.png differ
diff --git a/koha-tmpl/opac-tmpl/lib/famfamfam/silk/feed_error.png b/koha-tmpl/opac-tmpl/lib/famfamfam/silk/feed_error.png
new file mode 100644 (file)
index 0000000..c0a801c
Binary files /dev/null and b/koha-tmpl/opac-tmpl/lib/famfamfam/silk/feed_error.png differ
diff --git a/koha-tmpl/opac-tmpl/lib/famfamfam/silk/feed_go.png b/koha-tmpl/opac-tmpl/lib/famfamfam/silk/feed_go.png
new file mode 100644 (file)
index 0000000..f2eed1e
Binary files /dev/null and b/koha-tmpl/opac-tmpl/lib/famfamfam/silk/feed_go.png differ
diff --git a/koha-tmpl/opac-tmpl/lib/famfamfam/silk/feed_key.png b/koha-tmpl/opac-tmpl/lib/famfamfam/silk/feed_key.png
new file mode 100644 (file)
index 0000000..156bfa9
Binary files /dev/null and b/koha-tmpl/opac-tmpl/lib/famfamfam/silk/feed_key.png differ
diff --git a/koha-tmpl/opac-tmpl/lib/famfamfam/silk/feed_link.png b/koha-tmpl/opac-tmpl/lib/famfamfam/silk/feed_link.png
new file mode 100644 (file)
index 0000000..c45a534
Binary files /dev/null and b/koha-tmpl/opac-tmpl/lib/famfamfam/silk/feed_link.png differ
diff --git a/koha-tmpl/opac-tmpl/lib/famfamfam/silk/feed_magnify.png b/koha-tmpl/opac-tmpl/lib/famfamfam/silk/feed_magnify.png
new file mode 100644 (file)
index 0000000..3023695
Binary files /dev/null and b/koha-tmpl/opac-tmpl/lib/famfamfam/silk/feed_magnify.png differ
diff --git a/koha-tmpl/opac-tmpl/lib/famfamfam/silk/female.png b/koha-tmpl/opac-tmpl/lib/famfamfam/silk/female.png
new file mode 100644 (file)
index 0000000..f92958e
Binary files /dev/null and b/koha-tmpl/opac-tmpl/lib/famfamfam/silk/female.png differ
diff --git a/koha-tmpl/opac-tmpl/lib/famfamfam/silk/film.png b/koha-tmpl/opac-tmpl/lib/famfamfam/silk/film.png
new file mode 100644 (file)
index 0000000..b0ce7bb
Binary files /dev/null and b/koha-tmpl/opac-tmpl/lib/famfamfam/silk/film.png differ
diff --git a/koha-tmpl/opac-tmpl/lib/famfamfam/silk/film_add.png b/koha-tmpl/opac-tmpl/lib/famfamfam/silk/film_add.png
new file mode 100644 (file)
index 0000000..40d681f
Binary files /dev/null and b/koha-tmpl/opac-tmpl/lib/famfamfam/silk/film_add.png differ
diff --git a/koha-tmpl/opac-tmpl/lib/famfamfam/silk/film_delete.png b/koha-tmpl/opac-tmpl/lib/famfamfam/silk/film_delete.png
new file mode 100644 (file)
index 0000000..23a2508
Binary files /dev/null and b/koha-tmpl/opac-tmpl/lib/famfamfam/silk/film_delete.png differ
diff --git a/koha-tmpl/opac-tmpl/lib/famfamfam/silk/film_edit.png b/koha-tmpl/opac-tmpl/lib/famfamfam/silk/film_edit.png
new file mode 100644 (file)
index 0000000..af66b73
Binary files /dev/null and b/koha-tmpl/opac-tmpl/lib/famfamfam/silk/film_edit.png differ
diff --git a/koha-tmpl/opac-tmpl/lib/famfamfam/silk/film_error.png b/koha-tmpl/opac-tmpl/lib/famfamfam/silk/film_error.png
new file mode 100644 (file)
index 0000000..88f3d69
Binary files /dev/null and b/koha-tmpl/opac-tmpl/lib/famfamfam/silk/film_error.png differ
diff --git a/koha-tmpl/opac-tmpl/lib/famfamfam/silk/film_go.png b/koha-tmpl/opac-tmpl/lib/famfamfam/silk/film_go.png
new file mode 100644 (file)
index 0000000..dd0168e
Binary files /dev/null and b/koha-tmpl/opac-tmpl/lib/famfamfam/silk/film_go.png differ
diff --git a/koha-tmpl/opac-tmpl/lib/famfamfam/silk/film_key.png b/koha-tmpl/opac-tmpl/lib/famfamfam/silk/film_key.png
new file mode 100644 (file)
index 0000000..5892162
Binary files /dev/null and b/koha-tmpl/opac-tmpl/lib/famfamfam/silk/film_key.png differ
diff --git a/koha-tmpl/opac-tmpl/lib/famfamfam/silk/film_link.png b/koha-tmpl/opac-tmpl/lib/famfamfam/silk/film_link.png
new file mode 100644 (file)
index 0000000..0f24e86
Binary files /dev/null and b/koha-tmpl/opac-tmpl/lib/famfamfam/silk/film_link.png differ
diff --git a/koha-tmpl/opac-tmpl/lib/famfamfam/silk/film_save.png b/koha-tmpl/opac-tmpl/lib/famfamfam/silk/film_save.png
new file mode 100644 (file)
index 0000000..bc8c0d3
Binary files /dev/null and b/koha-tmpl/opac-tmpl/lib/famfamfam/silk/film_save.png differ
diff --git a/koha-tmpl/opac-tmpl/lib/famfamfam/silk/find.png b/koha-tmpl/opac-tmpl/lib/famfamfam/silk/find.png
new file mode 100644 (file)
index 0000000..1547479
Binary files /dev/null and b/koha-tmpl/opac-tmpl/lib/famfamfam/silk/find.png differ
diff --git a/koha-tmpl/opac-tmpl/lib/famfamfam/silk/flag_blue.png b/koha-tmpl/opac-tmpl/lib/famfamfam/silk/flag_blue.png
new file mode 100644 (file)
index 0000000..003924f
Binary files /dev/null and b/koha-tmpl/opac-tmpl/lib/famfamfam/silk/flag_blue.png differ
diff --git a/koha-tmpl/opac-tmpl/lib/famfamfam/silk/flag_green.png b/koha-tmpl/opac-tmpl/lib/famfamfam/silk/flag_green.png
new file mode 100644 (file)
index 0000000..e4bc611
Binary files /dev/null and b/koha-tmpl/opac-tmpl/lib/famfamfam/silk/flag_green.png differ
diff --git a/koha-tmpl/opac-tmpl/lib/famfamfam/silk/flag_orange.png b/koha-tmpl/opac-tmpl/lib/famfamfam/silk/flag_orange.png
new file mode 100644 (file)
index 0000000..e632024
Binary files /dev/null and b/koha-tmpl/opac-tmpl/lib/famfamfam/silk/flag_orange.png differ
diff --git a/koha-tmpl/opac-tmpl/lib/famfamfam/silk/flag_pink.png b/koha-tmpl/opac-tmpl/lib/famfamfam/silk/flag_pink.png
new file mode 100644 (file)
index 0000000..5f15e52
Binary files /dev/null and b/koha-tmpl/opac-tmpl/lib/famfamfam/silk/flag_pink.png differ
diff --git a/koha-tmpl/opac-tmpl/lib/famfamfam/silk/flag_purple.png b/koha-tmpl/opac-tmpl/lib/famfamfam/silk/flag_purple.png
new file mode 100644 (file)
index 0000000..d069866
Binary files /dev/null and b/koha-tmpl/opac-tmpl/lib/famfamfam/silk/flag_purple.png differ
diff --git a/koha-tmpl/opac-tmpl/lib/famfamfam/silk/flag_red.png b/koha-tmpl/opac-tmpl/lib/famfamfam/silk/flag_red.png
new file mode 100644 (file)
index 0000000..e8a602d
Binary files /dev/null and b/koha-tmpl/opac-tmpl/lib/famfamfam/silk/flag_red.png differ
diff --git a/koha-tmpl/opac-tmpl/lib/famfamfam/silk/flag_yellow.png b/koha-tmpl/opac-tmpl/lib/famfamfam/silk/flag_yellow.png
new file mode 100644 (file)
index 0000000..14c89a5
Binary files /dev/null and b/koha-tmpl/opac-tmpl/lib/famfamfam/silk/flag_yellow.png differ
diff --git a/koha-tmpl/opac-tmpl/lib/famfamfam/silk/folder.png b/koha-tmpl/opac-tmpl/lib/famfamfam/silk/folder.png
new file mode 100644 (file)
index 0000000..784e8fa
Binary files /dev/null and b/koha-tmpl/opac-tmpl/lib/famfamfam/silk/folder.png differ
diff --git a/koha-tmpl/opac-tmpl/lib/famfamfam/silk/folder_add.png b/koha-tmpl/opac-tmpl/lib/famfamfam/silk/folder_add.png
new file mode 100644 (file)
index 0000000..529fe8f
Binary files /dev/null and b/koha-tmpl/opac-tmpl/lib/famfamfam/silk/folder_add.png differ
diff --git a/koha-tmpl/opac-tmpl/lib/famfamfam/silk/folder_bell.png b/koha-tmpl/opac-tmpl/lib/famfamfam/silk/folder_bell.png
new file mode 100644 (file)
index 0000000..d04dd7f
Binary files /dev/null and b/koha-tmpl/opac-tmpl/lib/famfamfam/silk/folder_bell.png differ
diff --git a/koha-tmpl/opac-tmpl/lib/famfamfam/silk/folder_brick.png b/koha-tmpl/opac-tmpl/lib/famfamfam/silk/folder_brick.png
new file mode 100644 (file)
index 0000000..5dea976
Binary files /dev/null and b/koha-tmpl/opac-tmpl/lib/famfamfam/silk/folder_brick.png differ
diff --git a/koha-tmpl/opac-tmpl/lib/famfamfam/silk/folder_bug.png b/koha-tmpl/opac-tmpl/lib/famfamfam/silk/folder_bug.png
new file mode 100644 (file)
index 0000000..4f791b6
Binary files /dev/null and b/koha-tmpl/opac-tmpl/lib/famfamfam/silk/folder_bug.png differ
diff --git a/koha-tmpl/opac-tmpl/lib/famfamfam/silk/folder_camera.png b/koha-tmpl/opac-tmpl/lib/famfamfam/silk/folder_camera.png
new file mode 100644 (file)
index 0000000..c951941
Binary files /dev/null and b/koha-tmpl/opac-tmpl/lib/famfamfam/silk/folder_camera.png differ
diff --git a/koha-tmpl/opac-tmpl/lib/famfamfam/silk/folder_database.png b/koha-tmpl/opac-tmpl/lib/famfamfam/silk/folder_database.png
new file mode 100644 (file)
index 0000000..5193e2e
Binary files /dev/null and b/koha-tmpl/opac-tmpl/lib/famfamfam/silk/folder_database.png differ
diff --git a/koha-tmpl/opac-tmpl/lib/famfamfam/silk/folder_delete.png b/koha-tmpl/opac-tmpl/lib/famfamfam/silk/folder_delete.png
new file mode 100644 (file)
index 0000000..112b016
Binary files /dev/null and b/koha-tmpl/opac-tmpl/lib/famfamfam/silk/folder_delete.png differ
diff --git a/koha-tmpl/opac-tmpl/lib/famfamfam/silk/folder_edit.png b/koha-tmpl/opac-tmpl/lib/famfamfam/silk/folder_edit.png
new file mode 100644 (file)
index 0000000..ad669cc
Binary files /dev/null and b/koha-tmpl/opac-tmpl/lib/famfamfam/silk/folder_edit.png differ
diff --git a/koha-tmpl/opac-tmpl/lib/famfamfam/silk/folder_error.png b/koha-tmpl/opac-tmpl/lib/famfamfam/silk/folder_error.png
new file mode 100644 (file)
index 0000000..1af8809
Binary files /dev/null and b/koha-tmpl/opac-tmpl/lib/famfamfam/silk/folder_error.png differ
diff --git a/koha-tmpl/opac-tmpl/lib/famfamfam/silk/folder_explore.png b/koha-tmpl/opac-tmpl/lib/famfamfam/silk/folder_explore.png
new file mode 100644 (file)
index 0000000..0ba9391
Binary files /dev/null and b/koha-tmpl/opac-tmpl/lib/famfamfam/silk/folder_explore.png differ
diff --git a/koha-tmpl/opac-tmpl/lib/famfamfam/silk/folder_feed.png b/koha-tmpl/opac-tmpl/lib/famfamfam/silk/folder_feed.png
new file mode 100644 (file)
index 0000000..d06ee51
Binary files /dev/null and b/koha-tmpl/opac-tmpl/lib/famfamfam/silk/folder_feed.png differ
diff --git a/koha-tmpl/opac-tmpl/lib/famfamfam/silk/folder_find.png b/koha-tmpl/opac-tmpl/lib/famfamfam/silk/folder_find.png
new file mode 100644 (file)
index 0000000..c64e2ee
Binary files /dev/null and b/koha-tmpl/opac-tmpl/lib/famfamfam/silk/folder_find.png differ
diff --git a/koha-tmpl/opac-tmpl/lib/famfamfam/silk/folder_go.png b/koha-tmpl/opac-tmpl/lib/famfamfam/silk/folder_go.png
new file mode 100644 (file)
index 0000000..34a736f
Binary files /dev/null and b/koha-tmpl/opac-tmpl/lib/famfamfam/silk/folder_go.png differ
diff --git a/koha-tmpl/opac-tmpl/lib/famfamfam/silk/folder_heart.png b/koha-tmpl/opac-tmpl/lib/famfamfam/silk/folder_heart.png
new file mode 100644 (file)
index 0000000..56d7da1
Binary files /dev/null and b/koha-tmpl/opac-tmpl/lib/famfamfam/silk/folder_heart.png differ
diff --git a/koha-tmpl/opac-tmpl/lib/famfamfam/silk/folder_image.png b/koha-tmpl/opac-tmpl/lib/famfamfam/silk/folder_image.png
new file mode 100644 (file)
index 0000000..d5df75b
Binary files /dev/null and b/koha-tmpl/opac-tmpl/lib/famfamfam/silk/folder_image.png differ
diff --git a/koha-tmpl/opac-tmpl/lib/famfamfam/silk/folder_key.png b/koha-tmpl/opac-tmpl/lib/famfamfam/silk/folder_key.png
new file mode 100644 (file)
index 0000000..fb9b4c2
Binary files /dev/null and b/koha-tmpl/opac-tmpl/lib/famfamfam/silk/folder_key.png differ
diff --git a/koha-tmpl/opac-tmpl/lib/famfamfam/silk/folder_lightbulb.png b/koha-tmpl/opac-tmpl/lib/famfamfam/silk/folder_lightbulb.png
new file mode 100644 (file)
index 0000000..f367a51
Binary files /dev/null and b/koha-tmpl/opac-tmpl/lib/famfamfam/silk/folder_lightbulb.png differ
diff --git a/koha-tmpl/opac-tmpl/lib/famfamfam/silk/folder_link.png b/koha-tmpl/opac-tmpl/lib/famfamfam/silk/folder_link.png
new file mode 100644 (file)
index 0000000..b9b75f6
Binary files /dev/null and b/koha-tmpl/opac-tmpl/lib/famfamfam/silk/folder_link.png differ
diff --git a/koha-tmpl/opac-tmpl/lib/famfamfam/silk/folder_magnify.png b/koha-tmpl/opac-tmpl/lib/famfamfam/silk/folder_magnify.png
new file mode 100644 (file)
index 0000000..0a3e798
Binary files /dev/null and b/koha-tmpl/opac-tmpl/lib/famfamfam/silk/folder_magnify.png differ
diff --git a/koha-tmpl/opac-tmpl/lib/famfamfam/silk/folder_page.png b/koha-tmpl/opac-tmpl/lib/famfamfam/silk/folder_page.png
new file mode 100644 (file)
index 0000000..1ef6e11
Binary files /dev/null and b/koha-tmpl/opac-tmpl/lib/famfamfam/silk/folder_page.png differ
diff --git a/koha-tmpl/opac-tmpl/lib/famfamfam/silk/folder_page_white.png b/koha-tmpl/opac-tmpl/lib/famfamfam/silk/folder_page_white.png
new file mode 100644 (file)
index 0000000..14d6b61
Binary files /dev/null and b/koha-tmpl/opac-tmpl/lib/famfamfam/silk/folder_page_white.png differ
diff --git a/koha-tmpl/opac-tmpl/lib/famfamfam/silk/folder_palette.png b/koha-tmpl/opac-tmpl/lib/famfamfam/silk/folder_palette.png
new file mode 100644 (file)
index 0000000..ba12fe8
Binary files /dev/null and b/koha-tmpl/opac-tmpl/lib/famfamfam/silk/folder_palette.png differ
diff --git a/koha-tmpl/opac-tmpl/lib/famfamfam/silk/folder_picture.png b/koha-tmpl/opac-tmpl/lib/famfamfam/silk/folder_picture.png
new file mode 100644 (file)
index 0000000..052b336
Binary files /dev/null and b/koha-tmpl/opac-tmpl/lib/famfamfam/silk/folder_picture.png differ
diff --git a/koha-tmpl/opac-tmpl/lib/famfamfam/silk/folder_star.png b/koha-tmpl/opac-tmpl/lib/famfamfam/silk/folder_star.png
new file mode 100644 (file)
index 0000000..448e46f
Binary files /dev/null and b/koha-tmpl/opac-tmpl/lib/famfamfam/silk/folder_star.png differ
diff --git a/koha-tmpl/opac-tmpl/lib/famfamfam/silk/folder_table.png b/koha-tmpl/opac-tmpl/lib/famfamfam/silk/folder_table.png
new file mode 100644 (file)
index 0000000..473cee3
Binary files /dev/null and b/koha-tmpl/opac-tmpl/lib/famfamfam/silk/folder_table.png differ
diff --git a/koha-tmpl/opac-tmpl/lib/famfamfam/silk/folder_user.png b/koha-tmpl/opac-tmpl/lib/famfamfam/silk/folder_user.png
new file mode 100644 (file)
index 0000000..f021c3e
Binary files /dev/null and b/koha-tmpl/opac-tmpl/lib/famfamfam/silk/folder_user.png differ
diff --git a/koha-tmpl/opac-tmpl/lib/famfamfam/silk/folder_wrench.png b/koha-tmpl/opac-tmpl/lib/famfamfam/silk/folder_wrench.png
new file mode 100644 (file)
index 0000000..ea3404e
Binary files /dev/null and b/koha-tmpl/opac-tmpl/lib/famfamfam/silk/folder_wrench.png differ
diff --git a/koha-tmpl/opac-tmpl/lib/famfamfam/silk/font.png b/koha-tmpl/opac-tmpl/lib/famfamfam/silk/font.png
new file mode 100644 (file)
index 0000000..b7960db
Binary files /dev/null and b/koha-tmpl/opac-tmpl/lib/famfamfam/silk/font.png differ
diff --git a/koha-tmpl/opac-tmpl/lib/famfamfam/silk/font_add.png b/koha-tmpl/opac-tmpl/lib/famfamfam/silk/font_add.png
new file mode 100644 (file)
index 0000000..b709eba
Binary files /dev/null and b/koha-tmpl/opac-tmpl/lib/famfamfam/silk/font_add.png differ
diff --git a/koha-tmpl/opac-tmpl/lib/famfamfam/silk/font_delete.png b/koha-tmpl/opac-tmpl/lib/famfamfam/silk/font_delete.png
new file mode 100644 (file)
index 0000000..1d6124d
Binary files /dev/null and b/koha-tmpl/opac-tmpl/lib/famfamfam/silk/font_delete.png differ
diff --git a/koha-tmpl/opac-tmpl/lib/famfamfam/silk/font_go.png b/koha-tmpl/opac-tmpl/lib/famfamfam/silk/font_go.png
new file mode 100644 (file)
index 0000000..75eba80
Binary files /dev/null and b/koha-tmpl/opac-tmpl/lib/famfamfam/silk/font_go.png differ
diff --git a/koha-tmpl/opac-tmpl/lib/famfamfam/silk/group.png b/koha-tmpl/opac-tmpl/lib/famfamfam/silk/group.png
new file mode 100644 (file)
index 0000000..7fb4e1f
Binary files /dev/null and b/koha-tmpl/opac-tmpl/lib/famfamfam/silk/group.png differ
diff --git a/koha-tmpl/opac-tmpl/lib/famfamfam/silk/group_add.png b/koha-tmpl/opac-tmpl/lib/famfamfam/silk/group_add.png
new file mode 100644 (file)
index 0000000..06c5350
Binary files /dev/null and b/koha-tmpl/opac-tmpl/lib/famfamfam/silk/group_add.png differ
diff --git a/koha-tmpl/opac-tmpl/lib/famfamfam/silk/group_delete.png b/koha-tmpl/opac-tmpl/lib/famfamfam/silk/group_delete.png
new file mode 100644 (file)
index 0000000..4489ca2
Binary files /dev/null and b/koha-tmpl/opac-tmpl/lib/famfamfam/silk/group_delete.png differ
diff --git a/koha-tmpl/opac-tmpl/lib/famfamfam/silk/group_edit.png b/koha-tmpl/opac-tmpl/lib/famfamfam/silk/group_edit.png
new file mode 100644 (file)
index 0000000..c88b945
Binary files /dev/null and b/koha-tmpl/opac-tmpl/lib/famfamfam/silk/group_edit.png differ
diff --git a/koha-tmpl/opac-tmpl/lib/famfamfam/silk/group_error.png b/koha-tmpl/opac-tmpl/lib/famfamfam/silk/group_error.png
new file mode 100644 (file)
index 0000000..7364a13
Binary files /dev/null and b/koha-tmpl/opac-tmpl/lib/famfamfam/silk/group_error.png differ
diff --git a/koha-tmpl/opac-tmpl/lib/famfamfam/silk/group_gear.png b/koha-tmpl/opac-tmpl/lib/famfamfam/silk/group_gear.png
new file mode 100644 (file)
index 0000000..2544f2e
Binary files /dev/null and b/koha-tmpl/opac-tmpl/lib/famfamfam/silk/group_gear.png differ
diff --git a/koha-tmpl/opac-tmpl/lib/famfamfam/silk/group_go.png b/koha-tmpl/opac-tmpl/lib/famfamfam/silk/group_go.png
new file mode 100644 (file)
index 0000000..1f52333
Binary files /dev/null and b/koha-tmpl/opac-tmpl/lib/famfamfam/silk/group_go.png differ
diff --git a/koha-tmpl/opac-tmpl/lib/famfamfam/silk/group_key.png b/koha-tmpl/opac-tmpl/lib/famfamfam/silk/group_key.png
new file mode 100644 (file)
index 0000000..257f111
Binary files /dev/null and b/koha-tmpl/opac-tmpl/lib/famfamfam/silk/group_key.png differ
diff --git a/koha-tmpl/opac-tmpl/lib/famfamfam/silk/group_link.png b/koha-tmpl/opac-tmpl/lib/famfamfam/silk/group_link.png
new file mode 100644 (file)
index 0000000..c77ed88
Binary files /dev/null and b/koha-tmpl/opac-tmpl/lib/famfamfam/silk/group_link.png differ
diff --git a/koha-tmpl/opac-tmpl/lib/famfamfam/silk/heart.png b/koha-tmpl/opac-tmpl/lib/famfamfam/silk/heart.png
new file mode 100644 (file)
index 0000000..d9ee53e
Binary files /dev/null and b/koha-tmpl/opac-tmpl/lib/famfamfam/silk/heart.png differ
diff --git a/koha-tmpl/opac-tmpl/lib/famfamfam/silk/heart_add.png b/koha-tmpl/opac-tmpl/lib/famfamfam/silk/heart_add.png
new file mode 100644 (file)
index 0000000..d4195ff
Binary files /dev/null and b/koha-tmpl/opac-tmpl/lib/famfamfam/silk/heart_add.png differ
diff --git a/koha-tmpl/opac-tmpl/lib/famfamfam/silk/heart_delete.png b/koha-tmpl/opac-tmpl/lib/famfamfam/silk/heart_delete.png
new file mode 100644 (file)
index 0000000..ce523e3
Binary files /dev/null and b/koha-tmpl/opac-tmpl/lib/famfamfam/silk/heart_delete.png differ
diff --git a/koha-tmpl/opac-tmpl/lib/famfamfam/silk/help.png b/koha-tmpl/opac-tmpl/lib/famfamfam/silk/help.png
new file mode 100644 (file)
index 0000000..5c87017
Binary files /dev/null and b/koha-tmpl/opac-tmpl/lib/famfamfam/silk/help.png differ
diff --git a/koha-tmpl/opac-tmpl/lib/famfamfam/silk/hourglass.png b/koha-tmpl/opac-tmpl/lib/famfamfam/silk/hourglass.png
new file mode 100644 (file)
index 0000000..57b03ce
Binary files /dev/null and b/koha-tmpl/opac-tmpl/lib/famfamfam/silk/hourglass.png differ
diff --git a/koha-tmpl/opac-tmpl/lib/famfamfam/silk/hourglass_add.png b/koha-tmpl/opac-tmpl/lib/famfamfam/silk/hourglass_add.png
new file mode 100644 (file)
index 0000000..170dfff
Binary files /dev/null and b/koha-tmpl/opac-tmpl/lib/famfamfam/silk/hourglass_add.png differ
diff --git a/koha-tmpl/opac-tmpl/lib/famfamfam/silk/hourglass_delete.png b/koha-tmpl/opac-tmpl/lib/famfamfam/silk/hourglass_delete.png
new file mode 100644 (file)
index 0000000..4b1337b
Binary files /dev/null and b/koha-tmpl/opac-tmpl/lib/famfamfam/silk/hourglass_delete.png differ
diff --git a/koha-tmpl/opac-tmpl/lib/famfamfam/silk/hourglass_go.png b/koha-tmpl/opac-tmpl/lib/famfamfam/silk/hourglass_go.png
new file mode 100644 (file)
index 0000000..b2d3a98
Binary files /dev/null and b/koha-tmpl/opac-tmpl/lib/famfamfam/silk/hourglass_go.png differ
diff --git a/koha-tmpl/opac-tmpl/lib/famfamfam/silk/hourglass_link.png b/koha-tmpl/opac-tmpl/lib/famfamfam/silk/hourglass_link.png
new file mode 100644 (file)
index 0000000..ecc59b0
Binary files /dev/null and b/koha-tmpl/opac-tmpl/lib/famfamfam/silk/hourglass_link.png differ
diff --git a/koha-tmpl/opac-tmpl/lib/famfamfam/silk/house.png b/koha-tmpl/opac-tmpl/lib/famfamfam/silk/house.png
new file mode 100644 (file)
index 0000000..fed6221
Binary files /dev/null and b/koha-tmpl/opac-tmpl/lib/famfamfam/silk/house.png differ
diff --git a/koha-tmpl/opac-tmpl/lib/famfamfam/silk/house_go.png b/koha-tmpl/opac-tmpl/lib/famfamfam/silk/house_go.png
new file mode 100644 (file)
index 0000000..5457dbd
Binary files /dev/null and b/koha-tmpl/opac-tmpl/lib/famfamfam/silk/house_go.png differ
diff --git a/koha-tmpl/opac-tmpl/lib/famfamfam/silk/house_link.png b/koha-tmpl/opac-tmpl/lib/famfamfam/silk/house_link.png
new file mode 100644 (file)
index 0000000..be2c271
Binary files /dev/null and b/koha-tmpl/opac-tmpl/lib/famfamfam/silk/house_link.png differ
diff --git a/koha-tmpl/opac-tmpl/lib/famfamfam/silk/html.png b/koha-tmpl/opac-tmpl/lib/famfamfam/silk/html.png
new file mode 100644 (file)
index 0000000..55d1072
Binary files /dev/null and b/koha-tmpl/opac-tmpl/lib/famfamfam/silk/html.png differ
diff --git a/koha-tmpl/opac-tmpl/lib/famfamfam/silk/html_add.png b/koha-tmpl/opac-tmpl/lib/famfamfam/silk/html_add.png
new file mode 100644 (file)
index 0000000..f1c08b7
Binary files /dev/null and b/koha-tmpl/opac-tmpl/lib/famfamfam/silk/html_add.png differ
diff --git a/koha-tmpl/opac-tmpl/lib/famfamfam/silk/html_delete.png b/koha-tmpl/opac-tmpl/lib/famfamfam/silk/html_delete.png
new file mode 100644 (file)
index 0000000..1bd2848
Binary files /dev/null and b/koha-tmpl/opac-tmpl/lib/famfamfam/silk/html_delete.png differ
diff --git a/koha-tmpl/opac-tmpl/lib/famfamfam/silk/html_go.png b/koha-tmpl/opac-tmpl/lib/famfamfam/silk/html_go.png
new file mode 100644 (file)
index 0000000..a95cede
Binary files /dev/null and b/koha-tmpl/opac-tmpl/lib/famfamfam/silk/html_go.png differ
diff --git a/koha-tmpl/opac-tmpl/lib/famfamfam/silk/html_valid.png b/koha-tmpl/opac-tmpl/lib/famfamfam/silk/html_valid.png
new file mode 100644 (file)
index 0000000..71cec92
Binary files /dev/null and b/koha-tmpl/opac-tmpl/lib/famfamfam/silk/html_valid.png differ
diff --git a/koha-tmpl/opac-tmpl/lib/famfamfam/silk/image.png b/koha-tmpl/opac-tmpl/lib/famfamfam/silk/image.png
new file mode 100644 (file)
index 0000000..fc3c393
Binary files /dev/null and b/koha-tmpl/opac-tmpl/lib/famfamfam/silk/image.png differ
diff --git a/koha-tmpl/opac-tmpl/lib/famfamfam/silk/image_add.png b/koha-tmpl/opac-tmpl/lib/famfamfam/silk/image_add.png
new file mode 100644 (file)
index 0000000..fc5d613
Binary files /dev/null and b/koha-tmpl/opac-tmpl/lib/famfamfam/silk/image_add.png differ
diff --git a/koha-tmpl/opac-tmpl/lib/famfamfam/silk/image_delete.png b/koha-tmpl/opac-tmpl/lib/famfamfam/silk/image_delete.png
new file mode 100644 (file)
index 0000000..c260e1d
Binary files /dev/null and b/koha-tmpl/opac-tmpl/lib/famfamfam/silk/image_delete.png differ
diff --git a/koha-tmpl/opac-tmpl/lib/famfamfam/silk/image_edit.png b/koha-tmpl/opac-tmpl/lib/famfamfam/silk/image_edit.png
new file mode 100644 (file)
index 0000000..0aa4cc6
Binary files /dev/null and b/koha-tmpl/opac-tmpl/lib/famfamfam/silk/image_edit.png differ
diff --git a/koha-tmpl/opac-tmpl/lib/famfamfam/silk/image_link.png b/koha-tmpl/opac-tmpl/lib/famfamfam/silk/image_link.png
new file mode 100644 (file)
index 0000000..4bdb354
Binary files /dev/null and b/koha-tmpl/opac-tmpl/lib/famfamfam/silk/image_link.png differ
diff --git a/koha-tmpl/opac-tmpl/lib/famfamfam/silk/images.png b/koha-tmpl/opac-tmpl/lib/famfamfam/silk/images.png
new file mode 100644 (file)
index 0000000..184860d
Binary files /dev/null and b/koha-tmpl/opac-tmpl/lib/famfamfam/silk/images.png differ
diff --git a/koha-tmpl/opac-tmpl/lib/famfamfam/silk/information.png b/koha-tmpl/opac-tmpl/lib/famfamfam/silk/information.png
new file mode 100644 (file)
index 0000000..12cd1ae
Binary files /dev/null and b/koha-tmpl/opac-tmpl/lib/famfamfam/silk/information.png differ
diff --git a/koha-tmpl/opac-tmpl/lib/famfamfam/silk/ipod.png b/koha-tmpl/opac-tmpl/lib/famfamfam/silk/ipod.png
new file mode 100644 (file)
index 0000000..3f768da
Binary files /dev/null and b/koha-tmpl/opac-tmpl/lib/famfamfam/silk/ipod.png differ
diff --git a/koha-tmpl/opac-tmpl/lib/famfamfam/silk/ipod_cast.png b/koha-tmpl/opac-tmpl/lib/famfamfam/silk/ipod_cast.png
new file mode 100644 (file)
index 0000000..6f6d340
Binary files /dev/null and b/koha-tmpl/opac-tmpl/lib/famfamfam/silk/ipod_cast.png differ
diff --git a/koha-tmpl/opac-tmpl/lib/famfamfam/silk/ipod_cast_add.png b/koha-tmpl/opac-tmpl/lib/famfamfam/silk/ipod_cast_add.png
new file mode 100644 (file)
index 0000000..c3257f5
Binary files /dev/null and b/koha-tmpl/opac-tmpl/lib/famfamfam/silk/ipod_cast_add.png differ
diff --git a/koha-tmpl/opac-tmpl/lib/famfamfam/silk/ipod_cast_delete.png b/koha-tmpl/opac-tmpl/lib/famfamfam/silk/ipod_cast_delete.png
new file mode 100644 (file)
index 0000000..377ab69
Binary files /dev/null and b/koha-tmpl/opac-tmpl/lib/famfamfam/silk/ipod_cast_delete.png differ
diff --git a/koha-tmpl/opac-tmpl/lib/famfamfam/silk/ipod_sound.png b/koha-tmpl/opac-tmpl/lib/famfamfam/silk/ipod_sound.png
new file mode 100644 (file)
index 0000000..fef6e8b
Binary files /dev/null and b/koha-tmpl/opac-tmpl/lib/famfamfam/silk/ipod_sound.png differ
diff --git a/koha-tmpl/opac-tmpl/lib/famfamfam/silk/joystick.png b/koha-tmpl/opac-tmpl/lib/famfamfam/silk/joystick.png
new file mode 100644 (file)
index 0000000..62168f5
Binary files /dev/null and b/koha-tmpl/opac-tmpl/lib/famfamfam/silk/joystick.png differ
diff --git a/koha-tmpl/opac-tmpl/lib/famfamfam/silk/joystick_add.png b/koha-tmpl/opac-tmpl/lib/famfamfam/silk/joystick_add.png
new file mode 100644 (file)
index 0000000..77e7107
Binary files /dev/null and b/koha-tmpl/opac-tmpl/lib/famfamfam/silk/joystick_add.png differ
diff --git a/koha-tmpl/opac-tmpl/lib/famfamfam/silk/joystick_delete.png b/koha-tmpl/opac-tmpl/lib/famfamfam/silk/joystick_delete.png
new file mode 100644 (file)
index 0000000..5d44b59
Binary files /dev/null and b/koha-tmpl/opac-tmpl/lib/famfamfam/silk/joystick_delete.png differ
diff --git a/koha-tmpl/opac-tmpl/lib/famfamfam/silk/joystick_error.png b/koha-tmpl/opac-tmpl/lib/famfamfam/silk/joystick_error.png
new file mode 100644 (file)
index 0000000..b32149e
Binary files /dev/null and b/koha-tmpl/opac-tmpl/lib/famfamfam/silk/joystick_error.png differ
diff --git a/koha-tmpl/opac-tmpl/lib/famfamfam/silk/key.png b/koha-tmpl/opac-tmpl/lib/famfamfam/silk/key.png
new file mode 100644 (file)
index 0000000..4ec1a92
Binary files /dev/null and b/koha-tmpl/opac-tmpl/lib/famfamfam/silk/key.png differ
diff --git a/koha-tmpl/opac-tmpl/lib/famfamfam/silk/key_add.png b/koha-tmpl/opac-tmpl/lib/famfamfam/silk/key_add.png
new file mode 100644 (file)
index 0000000..d407403
Binary files /dev/null and b/koha-tmpl/opac-tmpl/lib/famfamfam/silk/key_add.png differ
diff --git a/koha-tmpl/opac-tmpl/lib/famfamfam/silk/key_delete.png b/koha-tmpl/opac-tmpl/lib/famfamfam/silk/key_delete.png
new file mode 100644 (file)
index 0000000..00dec80
Binary files /dev/null and b/koha-tmpl/opac-tmpl/lib/famfamfam/silk/key_delete.png differ
diff --git a/koha-tmpl/opac-tmpl/lib/famfamfam/silk/key_go.png b/koha-tmpl/opac-tmpl/lib/famfamfam/silk/key_go.png
new file mode 100644 (file)
index 0000000..30b0dc3
Binary files /dev/null and b/koha-tmpl/opac-tmpl/lib/famfamfam/silk/key_go.png differ
diff --git a/koha-tmpl/opac-tmpl/lib/famfamfam/silk/keyboard.png b/koha-tmpl/opac-tmpl/lib/famfamfam/silk/keyboard.png
new file mode 100644 (file)
index 0000000..898d402
Binary files /dev/null and b/koha-tmpl/opac-tmpl/lib/famfamfam/silk/keyboard.png differ
diff --git a/koha-tmpl/opac-tmpl/lib/famfamfam/silk/keyboard_add.png b/koha-tmpl/opac-tmpl/lib/famfamfam/silk/keyboard_add.png
new file mode 100644 (file)
index 0000000..26938dd
Binary files /dev/null and b/koha-tmpl/opac-tmpl/lib/famfamfam/silk/keyboard_add.png differ
diff --git a/koha-tmpl/opac-tmpl/lib/famfamfam/silk/keyboard_delete.png b/koha-tmpl/opac-tmpl/lib/famfamfam/silk/keyboard_delete.png
new file mode 100644 (file)
index 0000000..1786ed5
Binary files /dev/null and b/koha-tmpl/opac-tmpl/lib/famfamfam/silk/keyboard_delete.png differ
diff --git a/koha-tmpl/opac-tmpl/lib/famfamfam/silk/keyboard_magnify.png b/koha-tmpl/opac-tmpl/lib/famfamfam/silk/keyboard_magnify.png
new file mode 100644 (file)
index 0000000..928fc17
Binary files /dev/null and b/koha-tmpl/opac-tmpl/lib/famfamfam/silk/keyboard_magnify.png differ
diff --git a/koha-tmpl/opac-tmpl/lib/famfamfam/silk/layers.png b/koha-tmpl/opac-tmpl/lib/famfamfam/silk/layers.png
new file mode 100644 (file)
index 0000000..00818f6
Binary files /dev/null and b/koha-tmpl/opac-tmpl/lib/famfamfam/silk/layers.png differ
diff --git a/koha-tmpl/opac-tmpl/lib/famfamfam/silk/layout.png b/koha-tmpl/opac-tmpl/lib/famfamfam/silk/layout.png
new file mode 100644 (file)
index 0000000..ea086b0
Binary files /dev/null and b/koha-tmpl/opac-tmpl/lib/famfamfam/silk/layout.png differ
diff --git a/koha-tmpl/opac-tmpl/lib/famfamfam/silk/layout_add.png b/koha-tmpl/opac-tmpl/lib/famfamfam/silk/layout_add.png
new file mode 100644 (file)
index 0000000..6203722
Binary files /dev/null and b/koha-tmpl/opac-tmpl/lib/famfamfam/silk/layout_add.png differ
diff --git a/koha-tmpl/opac-tmpl/lib/famfamfam/silk/layout_content.png b/koha-tmpl/opac-tmpl/lib/famfamfam/silk/layout_content.png
new file mode 100644 (file)
index 0000000..b4aaad9
Binary files /dev/null and b/koha-tmpl/opac-tmpl/lib/famfamfam/silk/layout_content.png differ
diff --git a/koha-tmpl/opac-tmpl/lib/famfamfam/silk/layout_delete.png b/koha-tmpl/opac-tmpl/lib/famfamfam/silk/layout_delete.png
new file mode 100644 (file)
index 0000000..4bd45f1
Binary files /dev/null and b/koha-tmpl/opac-tmpl/lib/famfamfam/silk/layout_delete.png differ
diff --git a/koha-tmpl/opac-tmpl/lib/famfamfam/silk/layout_edit.png b/koha-tmpl/opac-tmpl/lib/famfamfam/silk/layout_edit.png
new file mode 100644 (file)
index 0000000..ab3100b
Binary files /dev/null and b/koha-tmpl/opac-tmpl/lib/famfamfam/silk/layout_edit.png differ
diff --git a/koha-tmpl/opac-tmpl/lib/famfamfam/silk/layout_error.png b/koha-tmpl/opac-tmpl/lib/famfamfam/silk/layout_error.png
new file mode 100644 (file)
index 0000000..5b5acea
Binary files /dev/null and b/koha-tmpl/opac-tmpl/lib/famfamfam/silk/layout_error.png differ
diff --git a/koha-tmpl/opac-tmpl/lib/famfamfam/silk/layout_header.png b/koha-tmpl/opac-tmpl/lib/famfamfam/silk/layout_header.png
new file mode 100644 (file)
index 0000000..c6ea7f2
Binary files /dev/null and b/koha-tmpl/opac-tmpl/lib/famfamfam/silk/layout_header.png differ
diff --git a/koha-tmpl/opac-tmpl/lib/famfamfam/silk/layout_link.png b/koha-tmpl/opac-tmpl/lib/famfamfam/silk/layout_link.png
new file mode 100644 (file)
index 0000000..3445d42
Binary files /dev/null and b/koha-tmpl/opac-tmpl/lib/famfamfam/silk/layout_link.png differ
diff --git a/koha-tmpl/opac-tmpl/lib/famfamfam/silk/layout_sidebar.png b/koha-tmpl/opac-tmpl/lib/famfamfam/silk/layout_sidebar.png
new file mode 100644 (file)
index 0000000..3be27bb
Binary files /dev/null and b/koha-tmpl/opac-tmpl/lib/famfamfam/silk/layout_sidebar.png differ
diff --git a/koha-tmpl/opac-tmpl/lib/famfamfam/silk/lightbulb.png b/koha-tmpl/opac-tmpl/lib/famfamfam/silk/lightbulb.png
new file mode 100644 (file)
index 0000000..d22fde8
Binary files /dev/null and b/koha-tmpl/opac-tmpl/lib/famfamfam/silk/lightbulb.png differ
diff --git a/koha-tmpl/opac-tmpl/lib/famfamfam/silk/lightbulb_add.png b/koha-tmpl/opac-tmpl/lib/famfamfam/silk/lightbulb_add.png
new file mode 100644 (file)
index 0000000..0dd848b
Binary files /dev/null and b/koha-tmpl/opac-tmpl/lib/famfamfam/silk/lightbulb_add.png differ
diff --git a/koha-tmpl/opac-tmpl/lib/famfamfam/silk/lightbulb_delete.png b/koha-tmpl/opac-tmpl/lib/famfamfam/silk/lightbulb_delete.png
new file mode 100644 (file)
index 0000000..f4781da
Binary files /dev/null and b/koha-tmpl/opac-tmpl/lib/famfamfam/silk/lightbulb_delete.png differ
diff --git a/koha-tmpl/opac-tmpl/lib/famfamfam/silk/lightbulb_off.png b/koha-tmpl/opac-tmpl/lib/famfamfam/silk/lightbulb_off.png
new file mode 100644 (file)
index 0000000..e95b8c5
Binary files /dev/null and b/koha-tmpl/opac-tmpl/lib/famfamfam/silk/lightbulb_off.png differ
diff --git a/koha-tmpl/opac-tmpl/lib/famfamfam/silk/lightning.png b/koha-tmpl/opac-tmpl/lib/famfamfam/silk/lightning.png
new file mode 100644 (file)
index 0000000..9680afd
Binary files /dev/null and b/koha-tmpl/opac-tmpl/lib/famfamfam/silk/lightning.png differ
diff --git a/koha-tmpl/opac-tmpl/lib/famfamfam/silk/lightning_add.png b/koha-tmpl/opac-tmpl/lib/famfamfam/silk/lightning_add.png
new file mode 100644 (file)
index 0000000..dac3c90
Binary files /dev/null and b/koha-tmpl/opac-tmpl/lib/famfamfam/silk/lightning_add.png differ
diff --git a/koha-tmpl/opac-tmpl/lib/famfamfam/silk/lightning_delete.png b/koha-tmpl/opac-tmpl/lib/famfamfam/silk/lightning_delete.png
new file mode 100644 (file)
index 0000000..dfe2770
Binary files /dev/null and b/koha-tmpl/opac-tmpl/lib/famfamfam/silk/lightning_delete.png differ
diff --git a/koha-tmpl/opac-tmpl/lib/famfamfam/silk/lightning_go.png b/koha-tmpl/opac-tmpl/lib/famfamfam/silk/lightning_go.png
new file mode 100644 (file)
index 0000000..29039e6
Binary files /dev/null and b/koha-tmpl/opac-tmpl/lib/famfamfam/silk/lightning_go.png differ
diff --git a/koha-tmpl/opac-tmpl/lib/famfamfam/silk/link.png b/koha-tmpl/opac-tmpl/lib/famfamfam/silk/link.png
new file mode 100644 (file)
index 0000000..25eacb7
Binary files /dev/null and b/koha-tmpl/opac-tmpl/lib/famfamfam/silk/link.png differ
diff --git a/koha-tmpl/opac-tmpl/lib/famfamfam/silk/link_add.png b/koha-tmpl/opac-tmpl/lib/famfamfam/silk/link_add.png
new file mode 100644 (file)
index 0000000..00be352
Binary files /dev/null and b/koha-tmpl/opac-tmpl/lib/famfamfam/silk/link_add.png differ
diff --git a/koha-tmpl/opac-tmpl/lib/famfamfam/silk/link_break.png b/koha-tmpl/opac-tmpl/lib/famfamfam/silk/link_break.png
new file mode 100644 (file)
index 0000000..5235753
Binary files /dev/null and b/koha-tmpl/opac-tmpl/lib/famfamfam/silk/link_break.png differ
diff --git a/koha-tmpl/opac-tmpl/lib/famfamfam/silk/link_delete.png b/koha-tmpl/opac-tmpl/lib/famfamfam/silk/link_delete.png
new file mode 100644 (file)
index 0000000..f66e297
Binary files /dev/null and b/koha-tmpl/opac-tmpl/lib/famfamfam/silk/link_delete.png differ
diff --git a/koha-tmpl/opac-tmpl/lib/famfamfam/silk/link_edit.png b/koha-tmpl/opac-tmpl/lib/famfamfam/silk/link_edit.png
new file mode 100644 (file)
index 0000000..5b3aed0
Binary files /dev/null and b/koha-tmpl/opac-tmpl/lib/famfamfam/silk/link_edit.png differ
diff --git a/koha-tmpl/opac-tmpl/lib/famfamfam/silk/link_error.png b/koha-tmpl/opac-tmpl/lib/famfamfam/silk/link_error.png
new file mode 100644 (file)
index 0000000..ab694b1
Binary files /dev/null and b/koha-tmpl/opac-tmpl/lib/famfamfam/silk/link_error.png differ
diff --git a/koha-tmpl/opac-tmpl/lib/famfamfam/silk/link_go.png b/koha-tmpl/opac-tmpl/lib/famfamfam/silk/link_go.png
new file mode 100644 (file)
index 0000000..ae8cae8
Binary files /dev/null and b/koha-tmpl/opac-tmpl/lib/famfamfam/silk/link_go.png differ
diff --git a/koha-tmpl/opac-tmpl/lib/famfamfam/silk/lock.png b/koha-tmpl/opac-tmpl/lib/famfamfam/silk/lock.png
new file mode 100644 (file)
index 0000000..2ebc4f6
Binary files /dev/null and b/koha-tmpl/opac-tmpl/lib/famfamfam/silk/lock.png differ
diff --git a/koha-tmpl/opac-tmpl/lib/famfamfam/silk/lock_add.png b/koha-tmpl/opac-tmpl/lib/famfamfam/silk/lock_add.png
new file mode 100644 (file)
index 0000000..a7b566b
Binary files /dev/null and b/koha-tmpl/opac-tmpl/lib/famfamfam/silk/lock_add.png differ
diff --git a/koha-tmpl/opac-tmpl/lib/famfamfam/silk/lock_break.png b/koha-tmpl/opac-tmpl/lib/famfamfam/silk/lock_break.png
new file mode 100644 (file)
index 0000000..13578ab
Binary files /dev/null and b/koha-tmpl/opac-tmpl/lib/famfamfam/silk/lock_break.png differ
diff --git a/koha-tmpl/opac-tmpl/lib/famfamfam/silk/lock_delete.png b/koha-tmpl/opac-tmpl/lib/famfamfam/silk/lock_delete.png
new file mode 100644 (file)
index 0000000..ecb50a9
Binary files /dev/null and b/koha-tmpl/opac-tmpl/lib/famfamfam/silk/lock_delete.png differ
diff --git a/koha-tmpl/opac-tmpl/lib/famfamfam/silk/lock_edit.png b/koha-tmpl/opac-tmpl/lib/famfamfam/silk/lock_edit.png
new file mode 100644 (file)
index 0000000..116aa5b
Binary files /dev/null and b/koha-tmpl/opac-tmpl/lib/famfamfam/silk/lock_edit.png differ
diff --git a/koha-tmpl/opac-tmpl/lib/famfamfam/silk/lock_go.png b/koha-tmpl/opac-tmpl/lib/famfamfam/silk/lock_go.png
new file mode 100644 (file)
index 0000000..8c7c89b
Binary files /dev/null and b/koha-tmpl/opac-tmpl/lib/famfamfam/silk/lock_go.png differ
diff --git a/koha-tmpl/opac-tmpl/lib/famfamfam/silk/lock_open.png b/koha-tmpl/opac-tmpl/lib/famfamfam/silk/lock_open.png
new file mode 100644 (file)
index 0000000..a471765
Binary files /dev/null and b/koha-tmpl/opac-tmpl/lib/famfamfam/silk/lock_open.png differ
diff --git a/koha-tmpl/opac-tmpl/lib/famfamfam/silk/lorry.png b/koha-tmpl/opac-tmpl/lib/famfamfam/silk/lorry.png
new file mode 100644 (file)
index 0000000..8f95f5a
Binary files /dev/null and b/koha-tmpl/opac-tmpl/lib/famfamfam/silk/lorry.png differ
diff --git a/koha-tmpl/opac-tmpl/lib/famfamfam/silk/lorry_add.png b/koha-tmpl/opac-tmpl/lib/famfamfam/silk/lorry_add.png
new file mode 100644 (file)
index 0000000..a2c5124
Binary files /dev/null and b/koha-tmpl/opac-tmpl/lib/famfamfam/silk/lorry_add.png differ
diff --git a/koha-tmpl/opac-tmpl/lib/famfamfam/silk/lorry_delete.png b/koha-tmpl/opac-tmpl/lib/famfamfam/silk/lorry_delete.png
new file mode 100644 (file)
index 0000000..66217f5
Binary files /dev/null and b/koha-tmpl/opac-tmpl/lib/famfamfam/silk/lorry_delete.png differ
diff --git a/koha-tmpl/opac-tmpl/lib/famfamfam/silk/lorry_error.png b/koha-tmpl/opac-tmpl/lib/famfamfam/silk/lorry_error.png
new file mode 100644 (file)
index 0000000..3619ead
Binary files /dev/null and b/koha-tmpl/opac-tmpl/lib/famfamfam/silk/lorry_error.png differ
diff --git a/koha-tmpl/opac-tmpl/lib/famfamfam/silk/lorry_flatbed.png b/koha-tmpl/opac-tmpl/lib/famfamfam/silk/lorry_flatbed.png
new file mode 100644 (file)
index 0000000..8b20f55
Binary files /dev/null and b/koha-tmpl/opac-tmpl/lib/famfamfam/silk/lorry_flatbed.png differ
diff --git a/koha-tmpl/opac-tmpl/lib/famfamfam/silk/lorry_go.png b/koha-tmpl/opac-tmpl/lib/famfamfam/silk/lorry_go.png
new file mode 100644 (file)
index 0000000..1c296a6
Binary files /dev/null and b/koha-tmpl/opac-tmpl/lib/famfamfam/silk/lorry_go.png differ
diff --git a/koha-tmpl/opac-tmpl/lib/famfamfam/silk/lorry_link.png b/koha-tmpl/opac-tmpl/lib/famfamfam/silk/lorry_link.png
new file mode 100644 (file)
index 0000000..5e6663e
Binary files /dev/null and b/koha-tmpl/opac-tmpl/lib/famfamfam/silk/lorry_link.png differ
diff --git a/koha-tmpl/opac-tmpl/lib/famfamfam/silk/magifier_zoom_out.png b/koha-tmpl/opac-tmpl/lib/famfamfam/silk/magifier_zoom_out.png
new file mode 100644 (file)
index 0000000..81f2819
Binary files /dev/null and b/koha-tmpl/opac-tmpl/lib/famfamfam/silk/magifier_zoom_out.png differ
diff --git a/koha-tmpl/opac-tmpl/lib/famfamfam/silk/magnifier.png b/koha-tmpl/opac-tmpl/lib/famfamfam/silk/magnifier.png
new file mode 100644 (file)
index 0000000..cf3d97f
Binary files /dev/null and b/koha-tmpl/opac-tmpl/lib/famfamfam/silk/magnifier.png differ
diff --git a/koha-tmpl/opac-tmpl/lib/famfamfam/silk/magnifier_zoom_in.png b/koha-tmpl/opac-tmpl/lib/famfamfam/silk/magnifier_zoom_in.png
new file mode 100644 (file)
index 0000000..af4fe07
Binary files /dev/null and b/koha-tmpl/opac-tmpl/lib/famfamfam/silk/magnifier_zoom_in.png differ
diff --git a/koha-tmpl/opac-tmpl/lib/famfamfam/silk/male.png b/koha-tmpl/opac-tmpl/lib/famfamfam/silk/male.png
new file mode 100644 (file)
index 0000000..25d6ea9
Binary files /dev/null and b/koha-tmpl/opac-tmpl/lib/famfamfam/silk/male.png differ
diff --git a/koha-tmpl/opac-tmpl/lib/famfamfam/silk/map.png b/koha-tmpl/opac-tmpl/lib/famfamfam/silk/map.png
new file mode 100644 (file)
index 0000000..f90ef25
Binary files /dev/null and b/koha-tmpl/opac-tmpl/lib/famfamfam/silk/map.png differ
diff --git a/koha-tmpl/opac-tmpl/lib/famfamfam/silk/map_add.png b/koha-tmpl/opac-tmpl/lib/famfamfam/silk/map_add.png
new file mode 100644 (file)
index 0000000..2b72da0
Binary files /dev/null and b/koha-tmpl/opac-tmpl/lib/famfamfam/silk/map_add.png differ
diff --git a/koha-tmpl/opac-tmpl/lib/famfamfam/silk/map_delete.png b/koha-tmpl/opac-tmpl/lib/famfamfam/silk/map_delete.png
new file mode 100644 (file)
index 0000000..e74402f
Binary files /dev/null and b/koha-tmpl/opac-tmpl/lib/famfamfam/silk/map_delete.png differ
diff --git a/koha-tmpl/opac-tmpl/lib/famfamfam/silk/map_edit.png b/koha-tmpl/opac-tmpl/lib/famfamfam/silk/map_edit.png
new file mode 100644 (file)
index 0000000..93d4d7e
Binary files /dev/null and b/koha-tmpl/opac-tmpl/lib/famfamfam/silk/map_edit.png differ
diff --git a/koha-tmpl/opac-tmpl/lib/famfamfam/silk/map_go.png b/koha-tmpl/opac-tmpl/lib/famfamfam/silk/map_go.png
new file mode 100644 (file)
index 0000000..11eab26
Binary files /dev/null and b/koha-tmpl/opac-tmpl/lib/famfamfam/silk/map_go.png differ
diff --git a/koha-tmpl/opac-tmpl/lib/famfamfam/silk/map_magnify.png b/koha-tmpl/opac-tmpl/lib/famfamfam/silk/map_magnify.png
new file mode 100644 (file)
index 0000000..7184c9d
Binary files /dev/null and b/koha-tmpl/opac-tmpl/lib/famfamfam/silk/map_magnify.png differ
diff --git a/koha-tmpl/opac-tmpl/lib/famfamfam/silk/medal_bronze_1.png b/koha-tmpl/opac-tmpl/lib/famfamfam/silk/medal_bronze_1.png
new file mode 100644 (file)
index 0000000..5f8a6d6
Binary files /dev/null and b/koha-tmpl/opac-tmpl/lib/famfamfam/silk/medal_bronze_1.png differ
diff --git a/koha-tmpl/opac-tmpl/lib/famfamfam/silk/medal_bronze_2.png b/koha-tmpl/opac-tmpl/lib/famfamfam/silk/medal_bronze_2.png
new file mode 100644 (file)
index 0000000..623d68c
Binary files /dev/null and b/koha-tmpl/opac-tmpl/lib/famfamfam/silk/medal_bronze_2.png differ
diff --git a/koha-tmpl/opac-tmpl/lib/famfamfam/silk/medal_bronze_3.png b/koha-tmpl/opac-tmpl/lib/famfamfam/silk/medal_bronze_3.png
new file mode 100644 (file)
index 0000000..ed3f43e
Binary files /dev/null and b/koha-tmpl/opac-tmpl/lib/famfamfam/silk/medal_bronze_3.png differ
diff --git a/koha-tmpl/opac-tmpl/lib/famfamfam/silk/medal_bronze_add.png b/koha-tmpl/opac-tmpl/lib/famfamfam/silk/medal_bronze_add.png
new file mode 100644 (file)
index 0000000..8487b2c
Binary files /dev/null and b/koha-tmpl/opac-tmpl/lib/famfamfam/silk/medal_bronze_add.png differ
diff --git a/koha-tmpl/opac-tmpl/lib/famfamfam/silk/medal_bronze_delete.png b/koha-tmpl/opac-tmpl/lib/famfamfam/silk/medal_bronze_delete.png
new file mode 100644 (file)
index 0000000..d32aed7
Binary files /dev/null and b/koha-tmpl/opac-tmpl/lib/famfamfam/silk/medal_bronze_delete.png differ
diff --git a/koha-tmpl/opac-tmpl/lib/famfamfam/silk/medal_gold_1.png b/koha-tmpl/opac-tmpl/lib/famfamfam/silk/medal_gold_1.png
new file mode 100644 (file)
index 0000000..87584dc
Binary files /dev/null and b/koha-tmpl/opac-tmpl/lib/famfamfam/silk/medal_gold_1.png differ
diff --git a/koha-tmpl/opac-tmpl/lib/famfamfam/silk/medal_gold_2.png b/koha-tmpl/opac-tmpl/lib/famfamfam/silk/medal_gold_2.png
new file mode 100644 (file)
index 0000000..fa3a15d
Binary files /dev/null and b/koha-tmpl/opac-tmpl/lib/famfamfam/silk/medal_gold_2.png differ
diff --git a/koha-tmpl/opac-tmpl/lib/famfamfam/silk/medal_gold_3.png b/koha-tmpl/opac-tmpl/lib/famfamfam/silk/medal_gold_3.png
new file mode 100644 (file)
index 0000000..ef1b08b
Binary files /dev/null and b/koha-tmpl/opac-tmpl/lib/famfamfam/silk/medal_gold_3.png differ
diff --git a/koha-tmpl/opac-tmpl/lib/famfamfam/silk/medal_gold_add.png b/koha-tmpl/opac-tmpl/lib/famfamfam/silk/medal_gold_add.png
new file mode 100644 (file)
index 0000000..dcade0d
Binary files /dev/null and b/koha-tmpl/opac-tmpl/lib/famfamfam/silk/medal_gold_add.png differ
diff --git a/koha-tmpl/opac-tmpl/lib/famfamfam/silk/medal_gold_delete.png b/koha-tmpl/opac-tmpl/lib/famfamfam/silk/medal_gold_delete.png
new file mode 100644 (file)
index 0000000..84b06d5
Binary files /dev/null and b/koha-tmpl/opac-tmpl/lib/famfamfam/silk/medal_gold_delete.png differ
diff --git a/koha-tmpl/opac-tmpl/lib/famfamfam/silk/medal_silver_1.png b/koha-tmpl/opac-tmpl/lib/famfamfam/silk/medal_silver_1.png
new file mode 100644 (file)
index 0000000..75a64da
Binary files /dev/null and b/koha-tmpl/opac-tmpl/lib/famfamfam/silk/medal_silver_1.png differ
diff --git a/koha-tmpl/opac-tmpl/lib/famfamfam/silk/medal_silver_2.png b/koha-tmpl/opac-tmpl/lib/famfamfam/silk/medal_silver_2.png
new file mode 100644 (file)
index 0000000..2e0fe75
Binary files /dev/null and b/koha-tmpl/opac-tmpl/lib/famfamfam/silk/medal_silver_2.png differ
diff --git a/koha-tmpl/opac-tmpl/lib/famfamfam/silk/medal_silver_3.png b/koha-tmpl/opac-tmpl/lib/famfamfam/silk/medal_silver_3.png
new file mode 100644 (file)
index 0000000..e385b54
Binary files /dev/null and b/koha-tmpl/opac-tmpl/lib/famfamfam/silk/medal_silver_3.png differ
diff --git a/koha-tmpl/opac-tmpl/lib/famfamfam/silk/medal_silver_add.png b/koha-tmpl/opac-tmpl/lib/famfamfam/silk/medal_silver_add.png
new file mode 100644 (file)
index 0000000..b0633fa
Binary files /dev/null and b/koha-tmpl/opac-tmpl/lib/famfamfam/silk/medal_silver_add.png differ
diff --git a/koha-tmpl/opac-tmpl/lib/famfamfam/silk/medal_silver_delete.png b/koha-tmpl/opac-tmpl/lib/famfamfam/silk/medal_silver_delete.png
new file mode 100644 (file)
index 0000000..06cab46
Binary files /dev/null and b/koha-tmpl/opac-tmpl/lib/famfamfam/silk/medal_silver_delete.png differ
diff --git a/koha-tmpl/opac-tmpl/lib/famfamfam/silk/money.png b/koha-tmpl/opac-tmpl/lib/famfamfam/silk/money.png
new file mode 100644 (file)
index 0000000..42c52d0
Binary files /dev/null and b/koha-tmpl/opac-tmpl/lib/famfamfam/silk/money.png differ
diff --git a/koha-tmpl/opac-tmpl/lib/famfamfam/silk/money_add.png b/koha-tmpl/opac-tmpl/lib/famfamfam/silk/money_add.png
new file mode 100644 (file)
index 0000000..588fa9d
Binary files /dev/null and b/koha-tmpl/opac-tmpl/lib/famfamfam/silk/money_add.png differ
diff --git a/koha-tmpl/opac-tmpl/lib/famfamfam/silk/money_delete.png b/koha-tmpl/opac-tmpl/lib/famfamfam/silk/money_delete.png
new file mode 100644 (file)
index 0000000..eae2c52
Binary files /dev/null and b/koha-tmpl/opac-tmpl/lib/famfamfam/silk/money_delete.png differ
diff --git a/koha-tmpl/opac-tmpl/lib/famfamfam/silk/money_dollar.png b/koha-tmpl/opac-tmpl/lib/famfamfam/silk/money_dollar.png
new file mode 100644 (file)
index 0000000..59af163
Binary files /dev/null and b/koha-tmpl/opac-tmpl/lib/famfamfam/silk/money_dollar.png differ
diff --git a/koha-tmpl/opac-tmpl/lib/famfamfam/silk/money_euro.png b/koha-tmpl/opac-tmpl/lib/famfamfam/silk/money_euro.png
new file mode 100644 (file)
index 0000000..b322ba9
Binary files /dev/null and b/koha-tmpl/opac-tmpl/lib/famfamfam/silk/money_euro.png differ
diff --git a/koha-tmpl/opac-tmpl/lib/famfamfam/silk/money_pound.png b/koha-tmpl/opac-tmpl/lib/famfamfam/silk/money_pound.png
new file mode 100644 (file)
index 0000000..b711364
Binary files /dev/null and b/koha-tmpl/opac-tmpl/lib/famfamfam/silk/money_pound.png differ
diff --git a/koha-tmpl/opac-tmpl/lib/famfamfam/silk/money_yen.png b/koha-tmpl/opac-tmpl/lib/famfamfam/silk/money_yen.png
new file mode 100644 (file)
index 0000000..228a677
Binary files /dev/null and b/koha-tmpl/opac-tmpl/lib/famfamfam/silk/money_yen.png differ
diff --git a/koha-tmpl/opac-tmpl/lib/famfamfam/silk/monitor.png b/koha-tmpl/opac-tmpl/lib/famfamfam/silk/monitor.png
new file mode 100644 (file)
index 0000000..d040bd0
Binary files /dev/null and b/koha-tmpl/opac-tmpl/lib/famfamfam/silk/monitor.png differ
diff --git a/koha-tmpl/opac-tmpl/lib/famfamfam/silk/monitor_add.png b/koha-tmpl/opac-tmpl/lib/famfamfam/silk/monitor_add.png
new file mode 100644 (file)
index 0000000..a818066
Binary files /dev/null and b/koha-tmpl/opac-tmpl/lib/famfamfam/silk/monitor_add.png differ
diff --git a/koha-tmpl/opac-tmpl/lib/famfamfam/silk/monitor_delete.png b/koha-tmpl/opac-tmpl/lib/famfamfam/silk/monitor_delete.png
new file mode 100644 (file)
index 0000000..3733256
Binary files /dev/null and b/koha-tmpl/opac-tmpl/lib/famfamfam/silk/monitor_delete.png differ
diff --git a/koha-tmpl/opac-tmpl/lib/famfamfam/silk/monitor_edit.png b/koha-tmpl/opac-tmpl/lib/famfamfam/silk/monitor_edit.png
new file mode 100644 (file)
index 0000000..f772c56
Binary files /dev/null and b/koha-tmpl/opac-tmpl/lib/famfamfam/silk/monitor_edit.png differ
diff --git a/koha-tmpl/opac-tmpl/lib/famfamfam/silk/monitor_error.png b/koha-tmpl/opac-tmpl/lib/famfamfam/silk/monitor_error.png
new file mode 100644 (file)
index 0000000..270c501
Binary files /dev/null and b/koha-tmpl/opac-tmpl/lib/famfamfam/silk/monitor_error.png differ
diff --git a/koha-tmpl/opac-tmpl/lib/famfamfam/silk/monitor_go.png b/koha-tmpl/opac-tmpl/lib/famfamfam/silk/monitor_go.png
new file mode 100644 (file)
index 0000000..8af3eda
Binary files /dev/null and b/koha-tmpl/opac-tmpl/lib/famfamfam/silk/monitor_go.png differ
diff --git a/koha-tmpl/opac-tmpl/lib/famfamfam/silk/monitor_lightning.png b/koha-tmpl/opac-tmpl/lib/famfamfam/silk/monitor_lightning.png
new file mode 100644 (file)
index 0000000..06e53a9
Binary files /dev/null and b/koha-tmpl/opac-tmpl/lib/famfamfam/silk/monitor_lightning.png differ
diff --git a/koha-tmpl/opac-tmpl/lib/famfamfam/silk/monitor_link.png b/koha-tmpl/opac-tmpl/lib/famfamfam/silk/monitor_link.png
new file mode 100644 (file)
index 0000000..a014b02
Binary files /dev/null and b/koha-tmpl/opac-tmpl/lib/famfamfam/silk/monitor_link.png differ
diff --git a/koha-tmpl/opac-tmpl/lib/famfamfam/silk/mouse.png b/koha-tmpl/opac-tmpl/lib/famfamfam/silk/mouse.png
new file mode 100644 (file)
index 0000000..63a92fa
Binary files /dev/null and b/koha-tmpl/opac-tmpl/lib/famfamfam/silk/mouse.png differ
diff --git a/koha-tmpl/opac-tmpl/lib/famfamfam/silk/mouse_add.png b/koha-tmpl/opac-tmpl/lib/famfamfam/silk/mouse_add.png
new file mode 100644 (file)
index 0000000..65bcab5
Binary files /dev/null and b/koha-tmpl/opac-tmpl/lib/famfamfam/silk/mouse_add.png differ
diff --git a/koha-tmpl/opac-tmpl/lib/famfamfam/silk/mouse_delete.png b/koha-tmpl/opac-tmpl/lib/famfamfam/silk/mouse_delete.png
new file mode 100644 (file)
index 0000000..7286566
Binary files /dev/null and b/koha-tmpl/opac-tmpl/lib/famfamfam/silk/mouse_delete.png differ
diff --git a/koha-tmpl/opac-tmpl/lib/famfamfam/silk/mouse_error.png b/koha-tmpl/opac-tmpl/lib/famfamfam/silk/mouse_error.png
new file mode 100644 (file)
index 0000000..bcc1562
Binary files /dev/null and b/koha-tmpl/opac-tmpl/lib/famfamfam/silk/mouse_error.png differ
diff --git a/koha-tmpl/opac-tmpl/lib/famfamfam/silk/music.png b/koha-tmpl/opac-tmpl/lib/famfamfam/silk/music.png
new file mode 100644 (file)
index 0000000..a8b3ede
Binary files /dev/null and b/koha-tmpl/opac-tmpl/lib/famfamfam/silk/music.png differ
diff --git a/koha-tmpl/opac-tmpl/lib/famfamfam/silk/new.png b/koha-tmpl/opac-tmpl/lib/famfamfam/silk/new.png
new file mode 100644 (file)
index 0000000..6a9bf03
Binary files /dev/null and b/koha-tmpl/opac-tmpl/lib/famfamfam/silk/new.png differ
diff --git a/koha-tmpl/opac-tmpl/lib/famfamfam/silk/newspaper.png b/koha-tmpl/opac-tmpl/lib/famfamfam/silk/newspaper.png
new file mode 100644 (file)
index 0000000..6a2ecce
Binary files /dev/null and b/koha-tmpl/opac-tmpl/lib/famfamfam/silk/newspaper.png differ
diff --git a/koha-tmpl/opac-tmpl/lib/famfamfam/silk/newspaper_add.png b/koha-tmpl/opac-tmpl/lib/famfamfam/silk/newspaper_add.png
new file mode 100644 (file)
index 0000000..8140e8c
Binary files /dev/null and b/koha-tmpl/opac-tmpl/lib/famfamfam/silk/newspaper_add.png differ
diff --git a/koha-tmpl/opac-tmpl/lib/famfamfam/silk/newspaper_delete.png b/koha-tmpl/opac-tmpl/lib/famfamfam/silk/newspaper_delete.png
new file mode 100644 (file)
index 0000000..bde96ce
Binary files /dev/null and b/koha-tmpl/opac-tmpl/lib/famfamfam/silk/newspaper_delete.png differ
diff --git a/koha-tmpl/opac-tmpl/lib/famfamfam/silk/newspaper_go.png b/koha-tmpl/opac-tmpl/lib/famfamfam/silk/newspaper_go.png
new file mode 100644 (file)
index 0000000..fd61428
Binary files /dev/null and b/koha-tmpl/opac-tmpl/lib/famfamfam/silk/newspaper_go.png differ
diff --git a/koha-tmpl/opac-tmpl/lib/famfamfam/silk/newspaper_link.png b/koha-tmpl/opac-tmpl/lib/famfamfam/silk/newspaper_link.png
new file mode 100644 (file)
index 0000000..99e57cb
Binary files /dev/null and b/koha-tmpl/opac-tmpl/lib/famfamfam/silk/newspaper_link.png differ
diff --git a/koha-tmpl/opac-tmpl/lib/famfamfam/silk/note.png b/koha-tmpl/opac-tmpl/lib/famfamfam/silk/note.png
new file mode 100644 (file)
index 0000000..244e6ca
Binary files /dev/null and b/koha-tmpl/opac-tmpl/lib/famfamfam/silk/note.png differ
diff --git a/koha-tmpl/opac-tmpl/lib/famfamfam/silk/note_add.png b/koha-tmpl/opac-tmpl/lib/famfamfam/silk/note_add.png
new file mode 100644 (file)
index 0000000..abdad91
Binary files /dev/null and b/koha-tmpl/opac-tmpl/lib/famfamfam/silk/note_add.png differ
diff --git a/koha-tmpl/opac-tmpl/lib/famfamfam/silk/note_delete.png b/koha-tmpl/opac-tmpl/lib/famfamfam/silk/note_delete.png
new file mode 100644 (file)
index 0000000..8a1f0ff
Binary files /dev/null and b/koha-tmpl/opac-tmpl/lib/famfamfam/silk/note_delete.png differ
diff --git a/koha-tmpl/opac-tmpl/lib/famfamfam/silk/note_edit.png b/koha-tmpl/opac-tmpl/lib/famfamfam/silk/note_edit.png
new file mode 100644 (file)
index 0000000..291bfc7
Binary files /dev/null and b/koha-tmpl/opac-tmpl/lib/famfamfam/silk/note_edit.png differ
diff --git a/koha-tmpl/opac-tmpl/lib/famfamfam/silk/note_error.png b/koha-tmpl/opac-tmpl/lib/famfamfam/silk/note_error.png
new file mode 100644 (file)
index 0000000..896dadf
Binary files /dev/null and b/koha-tmpl/opac-tmpl/lib/famfamfam/silk/note_error.png differ
diff --git a/koha-tmpl/opac-tmpl/lib/famfamfam/silk/note_go.png b/koha-tmpl/opac-tmpl/lib/famfamfam/silk/note_go.png
new file mode 100644 (file)
index 0000000..49e54fd
Binary files /dev/null and b/koha-tmpl/opac-tmpl/lib/famfamfam/silk/note_go.png differ
diff --git a/koha-tmpl/opac-tmpl/lib/famfamfam/silk/overlays.png b/koha-tmpl/opac-tmpl/lib/famfamfam/silk/overlays.png
new file mode 100644 (file)
index 0000000..ab3100b
Binary files /dev/null and b/koha-tmpl/opac-tmpl/lib/famfamfam/silk/overlays.png differ
diff --git a/koha-tmpl/opac-tmpl/lib/famfamfam/silk/package.png b/koha-tmpl/opac-tmpl/lib/famfamfam/silk/package.png
new file mode 100644 (file)
index 0000000..da3c2a2
Binary files /dev/null and b/koha-tmpl/opac-tmpl/lib/famfamfam/silk/package.png differ
diff --git a/koha-tmpl/opac-tmpl/lib/famfamfam/silk/package_add.png b/koha-tmpl/opac-tmpl/lib/famfamfam/silk/package_add.png
new file mode 100644 (file)
index 0000000..9c8a9da
Binary files /dev/null and b/koha-tmpl/opac-tmpl/lib/famfamfam/silk/package_add.png differ
diff --git a/koha-tmpl/opac-tmpl/lib/famfamfam/silk/package_delete.png b/koha-tmpl/opac-tmpl/lib/famfamfam/silk/package_delete.png
new file mode 100644 (file)
index 0000000..86f7fbc
Binary files /dev/null and b/koha-tmpl/opac-tmpl/lib/famfamfam/silk/package_delete.png differ
diff --git a/koha-tmpl/opac-tmpl/lib/famfamfam/silk/package_go.png b/koha-tmpl/opac-tmpl/lib/famfamfam/silk/package_go.png
new file mode 100644 (file)
index 0000000..aace63a
Binary files /dev/null and b/koha-tmpl/opac-tmpl/lib/famfamfam/silk/package_go.png differ
diff --git a/koha-tmpl/opac-tmpl/lib/famfamfam/silk/package_green.png b/koha-tmpl/opac-tmpl/lib/famfamfam/silk/package_green.png
new file mode 100644 (file)
index 0000000..25b28bb
Binary files /dev/null and b/koha-tmpl/opac-tmpl/lib/famfamfam/silk/package_green.png differ
diff --git a/koha-tmpl/opac-tmpl/lib/famfamfam/silk/package_link.png b/koha-tmpl/opac-tmpl/lib/famfamfam/silk/package_link.png
new file mode 100644 (file)
index 0000000..48e7ab5
Binary files /dev/null and b/koha-tmpl/opac-tmpl/lib/famfamfam/silk/package_link.png differ
diff --git a/koha-tmpl/opac-tmpl/lib/famfamfam/silk/page.png b/koha-tmpl/opac-tmpl/lib/famfamfam/silk/page.png
new file mode 100644 (file)
index 0000000..03ddd79
Binary files /dev/null and b/koha-tmpl/opac-tmpl/lib/famfamfam/silk/page.png differ
diff --git a/koha-tmpl/opac-tmpl/lib/famfamfam/silk/page_add.png b/koha-tmpl/opac-tmpl/lib/famfamfam/silk/page_add.png
new file mode 100644 (file)
index 0000000..d5bfa07
Binary files /dev/null and b/koha-tmpl/opac-tmpl/lib/famfamfam/silk/page_add.png differ
diff --git a/koha-tmpl/opac-tmpl/lib/famfamfam/silk/page_attach.png b/koha-tmpl/opac-tmpl/lib/famfamfam/silk/page_attach.png
new file mode 100644 (file)
index 0000000..89ee2da
Binary files /dev/null and b/koha-tmpl/opac-tmpl/lib/famfamfam/silk/page_attach.png differ
diff --git a/koha-tmpl/opac-tmpl/lib/famfamfam/silk/page_code.png b/koha-tmpl/opac-tmpl/lib/famfamfam/silk/page_code.png
new file mode 100644 (file)
index 0000000..f7ea904
Binary files /dev/null and b/koha-tmpl/opac-tmpl/lib/famfamfam/silk/page_code.png differ
diff --git a/koha-tmpl/opac-tmpl/lib/famfamfam/silk/page_copy.png b/koha-tmpl/opac-tmpl/lib/famfamfam/silk/page_copy.png
new file mode 100644 (file)
index 0000000..195dc6d
Binary files /dev/null and b/koha-tmpl/opac-tmpl/lib/famfamfam/silk/page_copy.png differ
diff --git a/koha-tmpl/opac-tmpl/lib/famfamfam/silk/page_delete.png b/koha-tmpl/opac-tmpl/lib/famfamfam/silk/page_delete.png
new file mode 100644 (file)
index 0000000..3141467
Binary files /dev/null and b/koha-tmpl/opac-tmpl/lib/famfamfam/silk/page_delete.png differ
diff --git a/koha-tmpl/opac-tmpl/lib/famfamfam/silk/page_edit.png b/koha-tmpl/opac-tmpl/lib/famfamfam/silk/page_edit.png
new file mode 100644 (file)
index 0000000..046811e
Binary files /dev/null and b/koha-tmpl/opac-tmpl/lib/famfamfam/silk/page_edit.png differ
diff --git a/koha-tmpl/opac-tmpl/lib/famfamfam/silk/page_error.png b/koha-tmpl/opac-tmpl/lib/famfamfam/silk/page_error.png
new file mode 100644 (file)
index 0000000..f07f449
Binary files /dev/null and b/koha-tmpl/opac-tmpl/lib/famfamfam/silk/page_error.png differ
diff --git a/koha-tmpl/opac-tmpl/lib/famfamfam/silk/page_excel.png b/koha-tmpl/opac-tmpl/lib/famfamfam/silk/page_excel.png
new file mode 100644 (file)
index 0000000..eb6158e
Binary files /dev/null and b/koha-tmpl/opac-tmpl/lib/famfamfam/silk/page_excel.png differ
diff --git a/koha-tmpl/opac-tmpl/lib/famfamfam/silk/page_find.png b/koha-tmpl/opac-tmpl/lib/famfamfam/silk/page_find.png
new file mode 100644 (file)
index 0000000..2f19388
Binary files /dev/null and b/koha-tmpl/opac-tmpl/lib/famfamfam/silk/page_find.png differ
diff --git a/koha-tmpl/opac-tmpl/lib/famfamfam/silk/page_gear.png b/koha-tmpl/opac-tmpl/lib/famfamfam/silk/page_gear.png
new file mode 100644 (file)
index 0000000..8e83281
Binary files /dev/null and b/koha-tmpl/opac-tmpl/lib/famfamfam/silk/page_gear.png differ
diff --git a/koha-tmpl/opac-tmpl/lib/famfamfam/silk/page_go.png b/koha-tmpl/opac-tmpl/lib/famfamfam/silk/page_go.png
new file mode 100644 (file)
index 0000000..80fe1ed
Binary files /dev/null and b/koha-tmpl/opac-tmpl/lib/famfamfam/silk/page_go.png differ
diff --git a/koha-tmpl/opac-tmpl/lib/famfamfam/silk/page_green.png b/koha-tmpl/opac-tmpl/lib/famfamfam/silk/page_green.png
new file mode 100644 (file)
index 0000000..de8e003
Binary files /dev/null and b/koha-tmpl/opac-tmpl/lib/famfamfam/silk/page_green.png differ
diff --git a/koha-tmpl/opac-tmpl/lib/famfamfam/silk/page_key.png b/koha-tmpl/opac-tmpl/lib/famfamfam/silk/page_key.png
new file mode 100644 (file)
index 0000000..d6626cb
Binary files /dev/null and b/koha-tmpl/opac-tmpl/lib/famfamfam/silk/page_key.png differ
diff --git a/koha-tmpl/opac-tmpl/lib/famfamfam/silk/page_lightning.png b/koha-tmpl/opac-tmpl/lib/famfamfam/silk/page_lightning.png
new file mode 100644 (file)
index 0000000..7e56870
Binary files /dev/null and b/koha-tmpl/opac-tmpl/lib/famfamfam/silk/page_lightning.png differ
diff --git a/koha-tmpl/opac-tmpl/lib/famfamfam/silk/page_link.png b/koha-tmpl/opac-tmpl/lib/famfamfam/silk/page_link.png
new file mode 100644 (file)
index 0000000..312eab0
Binary files /dev/null and b/koha-tmpl/opac-tmpl/lib/famfamfam/silk/page_link.png differ
diff --git a/koha-tmpl/opac-tmpl/lib/famfamfam/silk/page_paintbrush.png b/koha-tmpl/opac-tmpl/lib/famfamfam/silk/page_paintbrush.png
new file mode 100644 (file)
index 0000000..246a2f0
Binary files /dev/null and b/koha-tmpl/opac-tmpl/lib/famfamfam/silk/page_paintbrush.png differ
diff --git a/koha-tmpl/opac-tmpl/lib/famfamfam/silk/page_paste.png b/koha-tmpl/opac-tmpl/lib/famfamfam/silk/page_paste.png
new file mode 100644 (file)
index 0000000..968f073
Binary files /dev/null and b/koha-tmpl/opac-tmpl/lib/famfamfam/silk/page_paste.png differ
diff --git a/koha-tmpl/opac-tmpl/lib/famfamfam/silk/page_red.png b/koha-tmpl/opac-tmpl/lib/famfamfam/silk/page_red.png
new file mode 100644 (file)
index 0000000..0b18247
Binary files /dev/null and b/koha-tmpl/opac-tmpl/lib/famfamfam/silk/page_red.png differ
diff --git a/koha-tmpl/opac-tmpl/lib/famfamfam/silk/page_refresh.png b/koha-tmpl/opac-tmpl/lib/famfamfam/silk/page_refresh.png
new file mode 100644 (file)
index 0000000..cf347c7
Binary files /dev/null and b/koha-tmpl/opac-tmpl/lib/famfamfam/silk/page_refresh.png differ
diff --git a/koha-tmpl/opac-tmpl/lib/famfamfam/silk/page_save.png b/koha-tmpl/opac-tmpl/lib/famfamfam/silk/page_save.png
new file mode 100644 (file)
index 0000000..caea546
Binary files /dev/null and b/koha-tmpl/opac-tmpl/lib/famfamfam/silk/page_save.png differ
diff --git a/koha-tmpl/opac-tmpl/lib/famfamfam/silk/page_white.png b/koha-tmpl/opac-tmpl/lib/famfamfam/silk/page_white.png
new file mode 100644 (file)
index 0000000..8b8b1ca
Binary files /dev/null and b/koha-tmpl/opac-tmpl/lib/famfamfam/silk/page_white.png differ
diff --git a/koha-tmpl/opac-tmpl/lib/famfamfam/silk/page_white_acrobat.png b/koha-tmpl/opac-tmpl/lib/famfamfam/silk/page_white_acrobat.png
new file mode 100644 (file)
index 0000000..8f8095e
Binary files /dev/null and b/koha-tmpl/opac-tmpl/lib/famfamfam/silk/page_white_acrobat.png differ
diff --git a/koha-tmpl/opac-tmpl/lib/famfamfam/silk/page_white_actionscript.png b/koha-tmpl/opac-tmpl/lib/famfamfam/silk/page_white_actionscript.png
new file mode 100644 (file)
index 0000000..159b240
Binary files /dev/null and b/koha-tmpl/opac-tmpl/lib/famfamfam/silk/page_white_actionscript.png differ
diff --git a/koha-tmpl/opac-tmpl/lib/famfamfam/silk/page_white_add.png b/koha-tmpl/opac-tmpl/lib/famfamfam/silk/page_white_add.png
new file mode 100644 (file)
index 0000000..aa23dde
Binary files /dev/null and b/koha-tmpl/opac-tmpl/lib/famfamfam/silk/page_white_add.png differ
diff --git a/koha-tmpl/opac-tmpl/lib/famfamfam/silk/page_white_c.png b/koha-tmpl/opac-tmpl/lib/famfamfam/silk/page_white_c.png
new file mode 100644 (file)
index 0000000..34a05cc
Binary files /dev/null and b/koha-tmpl/opac-tmpl/lib/famfamfam/silk/page_white_c.png differ
diff --git a/koha-tmpl/opac-tmpl/lib/famfamfam/silk/page_white_camera.png b/koha-tmpl/opac-tmpl/lib/famfamfam/silk/page_white_camera.png
new file mode 100644 (file)
index 0000000..f501a59
Binary files /dev/null and b/koha-tmpl/opac-tmpl/lib/famfamfam/silk/page_white_camera.png differ
diff --git a/koha-tmpl/opac-tmpl/lib/famfamfam/silk/page_white_cd.png b/koha-tmpl/opac-tmpl/lib/famfamfam/silk/page_white_cd.png
new file mode 100644 (file)
index 0000000..848bdaf
Binary files /dev/null and b/koha-tmpl/opac-tmpl/lib/famfamfam/silk/page_white_cd.png differ
diff --git a/koha-tmpl/opac-tmpl/lib/famfamfam/silk/page_white_code.png b/koha-tmpl/opac-tmpl/lib/famfamfam/silk/page_white_code.png
new file mode 100644 (file)
index 0000000..0c76bd1
Binary files /dev/null and b/koha-tmpl/opac-tmpl/lib/famfamfam/silk/page_white_code.png differ
diff --git a/koha-tmpl/opac-tmpl/lib/famfamfam/silk/page_white_code_red.png b/koha-tmpl/opac-tmpl/lib/famfamfam/silk/page_white_code_red.png
new file mode 100644 (file)
index 0000000..87a6914
Binary files /dev/null and b/koha-tmpl/opac-tmpl/lib/famfamfam/silk/page_white_code_red.png differ
diff --git a/koha-tmpl/opac-tmpl/lib/famfamfam/silk/page_white_coldfusion.png b/koha-tmpl/opac-tmpl/lib/famfamfam/silk/page_white_coldfusion.png
new file mode 100644 (file)
index 0000000..c66011f
Binary files /dev/null and b/koha-tmpl/opac-tmpl/lib/famfamfam/silk/page_white_coldfusion.png differ
diff --git a/koha-tmpl/opac-tmpl/lib/famfamfam/silk/page_white_compressed.png b/koha-tmpl/opac-tmpl/lib/famfamfam/silk/page_white_compressed.png
new file mode 100644 (file)
index 0000000..2b6b100
Binary files /dev/null and b/koha-tmpl/opac-tmpl/lib/famfamfam/silk/page_white_compressed.png differ
diff --git a/koha-tmpl/opac-tmpl/lib/famfamfam/silk/page_white_copy.png b/koha-tmpl/opac-tmpl/lib/famfamfam/silk/page_white_copy.png
new file mode 100644 (file)
index 0000000..a9f31a2
Binary files /dev/null and b/koha-tmpl/opac-tmpl/lib/famfamfam/silk/page_white_copy.png differ
diff --git a/koha-tmpl/opac-tmpl/lib/famfamfam/silk/page_white_cplusplus.png b/koha-tmpl/opac-tmpl/lib/famfamfam/silk/page_white_cplusplus.png
new file mode 100644 (file)
index 0000000..a87cf84
Binary files /dev/null and b/koha-tmpl/opac-tmpl/lib/famfamfam/silk/page_white_cplusplus.png differ
diff --git a/koha-tmpl/opac-tmpl/lib/famfamfam/silk/page_white_csharp.png b/koha-tmpl/opac-tmpl/lib/famfamfam/silk/page_white_csharp.png
new file mode 100644 (file)
index 0000000..ffb8fc9
Binary files /dev/null and b/koha-tmpl/opac-tmpl/lib/famfamfam/silk/page_white_csharp.png differ
diff --git a/koha-tmpl/opac-tmpl/lib/famfamfam/silk/page_white_cup.png b/koha-tmpl/opac-tmpl/lib/famfamfam/silk/page_white_cup.png
new file mode 100644 (file)
index 0000000..0a7d6f4
Binary files /dev/null and b/koha-tmpl/opac-tmpl/lib/famfamfam/silk/page_white_cup.png differ
diff --git a/koha-tmpl/opac-tmpl/lib/famfamfam/silk/page_white_database.png b/koha-tmpl/opac-tmpl/lib/famfamfam/silk/page_white_database.png
new file mode 100644 (file)
index 0000000..bddba1f
Binary files /dev/null and b/koha-tmpl/opac-tmpl/lib/famfamfam/silk/page_white_database.png differ
diff --git a/koha-tmpl/opac-tmpl/lib/famfamfam/silk/page_white_delete.png b/koha-tmpl/opac-tmpl/lib/famfamfam/silk/page_white_delete.png
new file mode 100644 (file)
index 0000000..af1ecaf
Binary files /dev/null and b/koha-tmpl/opac-tmpl/lib/famfamfam/silk/page_white_delete.png differ
diff --git a/koha-tmpl/opac-tmpl/lib/famfamfam/silk/page_white_dvd.png b/koha-tmpl/opac-tmpl/lib/famfamfam/silk/page_white_dvd.png
new file mode 100644 (file)
index 0000000..4cc537a
Binary files /dev/null and b/koha-tmpl/opac-tmpl/lib/famfamfam/silk/page_white_dvd.png differ
diff --git a/koha-tmpl/opac-tmpl/lib/famfamfam/silk/page_white_edit.png b/koha-tmpl/opac-tmpl/lib/famfamfam/silk/page_white_edit.png
new file mode 100644 (file)
index 0000000..b93e776
Binary files /dev/null and b/koha-tmpl/opac-tmpl/lib/famfamfam/silk/page_white_edit.png differ
diff --git a/koha-tmpl/opac-tmpl/lib/famfamfam/silk/page_white_error.png b/koha-tmpl/opac-tmpl/lib/famfamfam/silk/page_white_error.png
new file mode 100644 (file)
index 0000000..9fc5a0a
Binary files /dev/null and b/koha-tmpl/opac-tmpl/lib/famfamfam/silk/page_white_error.png differ
diff --git a/koha-tmpl/opac-tmpl/lib/famfamfam/silk/page_white_excel.png b/koha-tmpl/opac-tmpl/lib/famfamfam/silk/page_white_excel.png
new file mode 100644 (file)
index 0000000..b977d7e
Binary files /dev/null and b/koha-tmpl/opac-tmpl/lib/famfamfam/silk/page_white_excel.png differ
diff --git a/koha-tmpl/opac-tmpl/lib/famfamfam/silk/page_white_find.png b/koha-tmpl/opac-tmpl/lib/famfamfam/silk/page_white_find.png
new file mode 100644 (file)
index 0000000..5818436
Binary files /dev/null and b/koha-tmpl/opac-tmpl/lib/famfamfam/silk/page_white_find.png differ
diff --git a/koha-tmpl/opac-tmpl/lib/famfamfam/silk/page_white_flash.png b/koha-tmpl/opac-tmpl/lib/famfamfam/silk/page_white_flash.png
new file mode 100644 (file)
index 0000000..5769120
Binary files /dev/null and b/koha-tmpl/opac-tmpl/lib/famfamfam/silk/page_white_flash.png differ
diff --git a/koha-tmpl/opac-tmpl/lib/famfamfam/silk/page_white_freehand.png b/koha-tmpl/opac-tmpl/lib/famfamfam/silk/page_white_freehand.png
new file mode 100644 (file)
index 0000000..8d719df
Binary files /dev/null and b/koha-tmpl/opac-tmpl/lib/famfamfam/silk/page_white_freehand.png differ
diff --git a/koha-tmpl/opac-tmpl/lib/famfamfam/silk/page_white_gear.png b/koha-tmpl/opac-tmpl/lib/famfamfam/silk/page_white_gear.png
new file mode 100644 (file)
index 0000000..106f5aa
Binary files /dev/null and b/koha-tmpl/opac-tmpl/lib/famfamfam/silk/page_white_gear.png differ
diff --git a/koha-tmpl/opac-tmpl/lib/famfamfam/silk/page_white_get.png b/koha-tmpl/opac-tmpl/lib/famfamfam/silk/page_white_get.png
new file mode 100644 (file)
index 0000000..e4a1ecb
Binary files /dev/null and b/koha-tmpl/opac-tmpl/lib/famfamfam/silk/page_white_get.png differ
diff --git a/koha-tmpl/opac-tmpl/lib/famfamfam/silk/page_white_go.png b/koha-tmpl/opac-tmpl/lib/famfamfam/silk/page_white_go.png
new file mode 100644 (file)
index 0000000..7e62a92
Binary files /dev/null and b/koha-tmpl/opac-tmpl/lib/famfamfam/silk/page_white_go.png differ
diff --git a/koha-tmpl/opac-tmpl/lib/famfamfam/silk/page_white_h.png b/koha-tmpl/opac-tmpl/lib/famfamfam/silk/page_white_h.png
new file mode 100644 (file)
index 0000000..e902abb
Binary files /dev/null and b/koha-tmpl/opac-tmpl/lib/famfamfam/silk/page_white_h.png differ
diff --git a/koha-tmpl/opac-tmpl/lib/famfamfam/silk/page_white_horizontal.png b/koha-tmpl/opac-tmpl/lib/famfamfam/silk/page_white_horizontal.png
new file mode 100644 (file)
index 0000000..1d2d0a4
Binary files /dev/null and b/koha-tmpl/opac-tmpl/lib/famfamfam/silk/page_white_horizontal.png differ
diff --git a/koha-tmpl/opac-tmpl/lib/famfamfam/silk/page_white_key.png b/koha-tmpl/opac-tmpl/lib/famfamfam/silk/page_white_key.png
new file mode 100644 (file)
index 0000000..d616484
Binary files /dev/null and b/koha-tmpl/opac-tmpl/lib/famfamfam/silk/page_white_key.png differ
diff --git a/koha-tmpl/opac-tmpl/lib/famfamfam/silk/page_white_lightning.png b/koha-tmpl/opac-tmpl/lib/famfamfam/silk/page_white_lightning.png
new file mode 100644 (file)
index 0000000..7215d1e
Binary files /dev/null and b/koha-tmpl/opac-tmpl/lib/famfamfam/silk/page_white_lightning.png differ
diff --git a/koha-tmpl/opac-tmpl/lib/famfamfam/silk/page_white_link.png b/koha-tmpl/opac-tmpl/lib/famfamfam/silk/page_white_link.png
new file mode 100644 (file)
index 0000000..bf7bd1c
Binary files /dev/null and b/koha-tmpl/opac-tmpl/lib/famfamfam/silk/page_white_link.png differ
diff --git a/koha-tmpl/opac-tmpl/lib/famfamfam/silk/page_white_magnify.png b/koha-tmpl/opac-tmpl/lib/famfamfam/silk/page_white_magnify.png
new file mode 100644 (file)
index 0000000..f6b74cc
Binary files /dev/null and b/koha-tmpl/opac-tmpl/lib/famfamfam/silk/page_white_magnify.png differ
diff --git a/koha-tmpl/opac-tmpl/lib/famfamfam/silk/page_white_medal.png b/koha-tmpl/opac-tmpl/lib/famfamfam/silk/page_white_medal.png
new file mode 100644 (file)
index 0000000..d3fffb6
Binary files /dev/null and b/koha-tmpl/opac-tmpl/lib/famfamfam/silk/page_white_medal.png differ
diff --git a/koha-tmpl/opac-tmpl/lib/famfamfam/silk/page_white_office.png b/koha-tmpl/opac-tmpl/lib/famfamfam/silk/page_white_office.png
new file mode 100644 (file)
index 0000000..a65bcb3
Binary files /dev/null and b/koha-tmpl/opac-tmpl/lib/famfamfam/silk/page_white_office.png differ
diff --git a/koha-tmpl/opac-tmpl/lib/famfamfam/silk/page_white_paint.png b/koha-tmpl/opac-tmpl/lib/famfamfam/silk/page_white_paint.png
new file mode 100644 (file)
index 0000000..23a37b8
Binary files /dev/null and b/koha-tmpl/opac-tmpl/lib/famfamfam/silk/page_white_paint.png differ
diff --git a/koha-tmpl/opac-tmpl/lib/famfamfam/silk/page_white_paintbrush.png b/koha-tmpl/opac-tmpl/lib/famfamfam/silk/page_white_paintbrush.png
new file mode 100644 (file)
index 0000000..f907e44
Binary files /dev/null and b/koha-tmpl/opac-tmpl/lib/famfamfam/silk/page_white_paintbrush.png differ
diff --git a/koha-tmpl/opac-tmpl/lib/famfamfam/silk/page_white_paste.png b/koha-tmpl/opac-tmpl/lib/famfamfam/silk/page_white_paste.png
new file mode 100644 (file)
index 0000000..5b2cbb3
Binary files /dev/null and b/koha-tmpl/opac-tmpl/lib/famfamfam/silk/page_white_paste.png differ
diff --git a/koha-tmpl/opac-tmpl/lib/famfamfam/silk/page_white_php.png b/koha-tmpl/opac-tmpl/lib/famfamfam/silk/page_white_php.png
new file mode 100644 (file)
index 0000000..7868a25
Binary files /dev/null and b/koha-tmpl/opac-tmpl/lib/famfamfam/silk/page_white_php.png differ
diff --git a/koha-tmpl/opac-tmpl/lib/famfamfam/silk/page_white_picture.png b/koha-tmpl/opac-tmpl/lib/famfamfam/silk/page_white_picture.png
new file mode 100644 (file)
index 0000000..134b669
Binary files /dev/null and b/koha-tmpl/opac-tmpl/lib/famfamfam/silk/page_white_picture.png differ
diff --git a/koha-tmpl/opac-tmpl/lib/famfamfam/silk/page_white_powerpoint.png b/koha-tmpl/opac-tmpl/lib/famfamfam/silk/page_white_powerpoint.png
new file mode 100644 (file)
index 0000000..c4eff03
Binary files /dev/null and b/koha-tmpl/opac-tmpl/lib/famfamfam/silk/page_white_powerpoint.png differ
diff --git a/koha-tmpl/opac-tmpl/lib/famfamfam/silk/page_white_put.png b/koha-tmpl/opac-tmpl/lib/famfamfam/silk/page_white_put.png
new file mode 100644 (file)
index 0000000..884ffd6
Binary files /dev/null and b/koha-tmpl/opac-tmpl/lib/famfamfam/silk/page_white_put.png differ
diff --git a/koha-tmpl/opac-tmpl/lib/famfamfam/silk/page_white_ruby.png b/koha-tmpl/opac-tmpl/lib/famfamfam/silk/page_white_ruby.png
new file mode 100644 (file)
index 0000000..f59b7c4
Binary files /dev/null and b/koha-tmpl/opac-tmpl/lib/famfamfam/silk/page_white_ruby.png differ
diff --git a/koha-tmpl/opac-tmpl/lib/famfamfam/silk/page_white_stack.png b/koha-tmpl/opac-tmpl/lib/famfamfam/silk/page_white_stack.png
new file mode 100644 (file)
index 0000000..44084ad
Binary files /dev/null and b/koha-tmpl/opac-tmpl/lib/famfamfam/silk/page_white_stack.png differ
diff --git a/koha-tmpl/opac-tmpl/lib/famfamfam/silk/page_white_star.png b/koha-tmpl/opac-tmpl/lib/famfamfam/silk/page_white_star.png
new file mode 100644 (file)
index 0000000..3a1441c
Binary files /dev/null and b/koha-tmpl/opac-tmpl/lib/famfamfam/silk/page_white_star.png differ
diff --git a/koha-tmpl/opac-tmpl/lib/famfamfam/silk/page_white_swoosh.png b/koha-tmpl/opac-tmpl/lib/famfamfam/silk/page_white_swoosh.png
new file mode 100644 (file)
index 0000000..e770829
Binary files /dev/null and b/koha-tmpl/opac-tmpl/lib/famfamfam/silk/page_white_swoosh.png differ
diff --git a/koha-tmpl/opac-tmpl/lib/famfamfam/silk/page_white_text.png b/koha-tmpl/opac-tmpl/lib/famfamfam/silk/page_white_text.png
new file mode 100644 (file)
index 0000000..813f712
Binary files /dev/null and b/koha-tmpl/opac-tmpl/lib/famfamfam/silk/page_white_text.png differ
diff --git a/koha-tmpl/opac-tmpl/lib/famfamfam/silk/page_white_text_width.png b/koha-tmpl/opac-tmpl/lib/famfamfam/silk/page_white_text_width.png
new file mode 100644 (file)
index 0000000..d9cf132
Binary files /dev/null and b/koha-tmpl/opac-tmpl/lib/famfamfam/silk/page_white_text_width.png differ
diff --git a/koha-tmpl/opac-tmpl/lib/famfamfam/silk/page_white_tux.png b/koha-tmpl/opac-tmpl/lib/famfamfam/silk/page_white_tux.png
new file mode 100644 (file)
index 0000000..52699bf
Binary files /dev/null and b/koha-tmpl/opac-tmpl/lib/famfamfam/silk/page_white_tux.png differ
diff --git a/koha-tmpl/opac-tmpl/lib/famfamfam/silk/page_white_vector.png b/koha-tmpl/opac-tmpl/lib/famfamfam/silk/page_white_vector.png
new file mode 100644 (file)
index 0000000..4a05955
Binary files /dev/null and b/koha-tmpl/opac-tmpl/lib/famfamfam/silk/page_white_vector.png differ
diff --git a/koha-tmpl/opac-tmpl/lib/famfamfam/silk/page_white_visualstudio.png b/koha-tmpl/opac-tmpl/lib/famfamfam/silk/page_white_visualstudio.png
new file mode 100644 (file)
index 0000000..a0a433d
Binary files /dev/null and b/koha-tmpl/opac-tmpl/lib/famfamfam/silk/page_white_visualstudio.png differ
diff --git a/koha-tmpl/opac-tmpl/lib/famfamfam/silk/page_white_width.png b/koha-tmpl/opac-tmpl/lib/famfamfam/silk/page_white_width.png
new file mode 100644 (file)
index 0000000..1eb8809
Binary files /dev/null and b/koha-tmpl/opac-tmpl/lib/famfamfam/silk/page_white_width.png differ
diff --git a/koha-tmpl/opac-tmpl/lib/famfamfam/silk/page_white_word.png b/koha-tmpl/opac-tmpl/lib/famfamfam/silk/page_white_word.png
new file mode 100644 (file)
index 0000000..ae8ecbf
Binary files /dev/null and b/koha-tmpl/opac-tmpl/lib/famfamfam/silk/page_white_word.png differ
diff --git a/koha-tmpl/opac-tmpl/lib/famfamfam/silk/page_white_world.png b/koha-tmpl/opac-tmpl/lib/famfamfam/silk/page_white_world.png
new file mode 100644 (file)
index 0000000..6ed2490
Binary files /dev/null and b/koha-tmpl/opac-tmpl/lib/famfamfam/silk/page_white_world.png differ
diff --git a/koha-tmpl/opac-tmpl/lib/famfamfam/silk/page_white_wrench.png b/koha-tmpl/opac-tmpl/lib/famfamfam/silk/page_white_wrench.png
new file mode 100644 (file)
index 0000000..fecadd0
Binary files /dev/null and b/koha-tmpl/opac-tmpl/lib/famfamfam/silk/page_white_wrench.png differ
diff --git a/koha-tmpl/opac-tmpl/lib/famfamfam/silk/page_white_zip.png b/koha-tmpl/opac-tmpl/lib/famfamfam/silk/page_white_zip.png
new file mode 100644 (file)
index 0000000..fd4bbcc
Binary files /dev/null and b/koha-tmpl/opac-tmpl/lib/famfamfam/silk/page_white_zip.png differ
diff --git a/koha-tmpl/opac-tmpl/lib/famfamfam/silk/page_word.png b/koha-tmpl/opac-tmpl/lib/famfamfam/silk/page_word.png
new file mode 100644 (file)
index 0000000..834cdfa
Binary files /dev/null and b/koha-tmpl/opac-tmpl/lib/famfamfam/silk/page_word.png differ
diff --git a/koha-tmpl/opac-tmpl/lib/famfamfam/silk/page_world.png b/koha-tmpl/opac-tmpl/lib/famfamfam/silk/page_world.png
new file mode 100644 (file)
index 0000000..b8895dd
Binary files /dev/null and b/koha-tmpl/opac-tmpl/lib/famfamfam/silk/page_world.png differ
diff --git a/koha-tmpl/opac-tmpl/lib/famfamfam/silk/paintbrush.png b/koha-tmpl/opac-tmpl/lib/famfamfam/silk/paintbrush.png
new file mode 100644 (file)
index 0000000..a3ecf87
Binary files /dev/null and b/koha-tmpl/opac-tmpl/lib/famfamfam/silk/paintbrush.png differ
diff --git a/koha-tmpl/opac-tmpl/lib/famfamfam/silk/paintcan.png b/koha-tmpl/opac-tmpl/lib/famfamfam/silk/paintcan.png
new file mode 100644 (file)
index 0000000..f82a886
Binary files /dev/null and b/koha-tmpl/opac-tmpl/lib/famfamfam/silk/paintcan.png differ
diff --git a/koha-tmpl/opac-tmpl/lib/famfamfam/silk/palette.png b/koha-tmpl/opac-tmpl/lib/famfamfam/silk/palette.png
new file mode 100644 (file)
index 0000000..73c5b3f
Binary files /dev/null and b/koha-tmpl/opac-tmpl/lib/famfamfam/silk/palette.png differ
diff --git a/koha-tmpl/opac-tmpl/lib/famfamfam/silk/paste_plain.png b/koha-tmpl/opac-tmpl/lib/famfamfam/silk/paste_plain.png
new file mode 100644 (file)
index 0000000..c0490eb
Binary files /dev/null and b/koha-tmpl/opac-tmpl/lib/famfamfam/silk/paste_plain.png differ
diff --git a/koha-tmpl/opac-tmpl/lib/famfamfam/silk/paste_word.png b/koha-tmpl/opac-tmpl/lib/famfamfam/silk/paste_word.png
new file mode 100644 (file)
index 0000000..f6b87f8
Binary files /dev/null and b/koha-tmpl/opac-tmpl/lib/famfamfam/silk/paste_word.png differ
diff --git a/koha-tmpl/opac-tmpl/lib/famfamfam/silk/pencil.png b/koha-tmpl/opac-tmpl/lib/famfamfam/silk/pencil.png
new file mode 100644 (file)
index 0000000..0bfecd5
Binary files /dev/null and b/koha-tmpl/opac-tmpl/lib/famfamfam/silk/pencil.png differ
diff --git a/koha-tmpl/opac-tmpl/lib/famfamfam/silk/pencil_add.png b/koha-tmpl/opac-tmpl/lib/famfamfam/silk/pencil_add.png
new file mode 100644 (file)
index 0000000..902bbe6
Binary files /dev/null and b/koha-tmpl/opac-tmpl/lib/famfamfam/silk/pencil_add.png differ
diff --git a/koha-tmpl/opac-tmpl/lib/famfamfam/silk/pencil_delete.png b/koha-tmpl/opac-tmpl/lib/famfamfam/silk/pencil_delete.png
new file mode 100644 (file)
index 0000000..d8944e6
Binary files /dev/null and b/koha-tmpl/opac-tmpl/lib/famfamfam/silk/pencil_delete.png differ
diff --git a/koha-tmpl/opac-tmpl/lib/famfamfam/silk/pencil_go.png b/koha-tmpl/opac-tmpl/lib/famfamfam/silk/pencil_go.png
new file mode 100644 (file)
index 0000000..937bded
Binary files /dev/null and b/koha-tmpl/opac-tmpl/lib/famfamfam/silk/pencil_go.png differ
diff --git a/koha-tmpl/opac-tmpl/lib/famfamfam/silk/phone.png b/koha-tmpl/opac-tmpl/lib/famfamfam/silk/phone.png
new file mode 100644 (file)
index 0000000..c39f162
Binary files /dev/null and b/koha-tmpl/opac-tmpl/lib/famfamfam/silk/phone.png differ
diff --git a/koha-tmpl/opac-tmpl/lib/famfamfam/silk/phone_add.png b/koha-tmpl/opac-tmpl/lib/famfamfam/silk/phone_add.png
new file mode 100644 (file)
index 0000000..d3555e0
Binary files /dev/null and b/koha-tmpl/opac-tmpl/lib/famfamfam/silk/phone_add.png differ
diff --git a/koha-tmpl/opac-tmpl/lib/famfamfam/silk/phone_delete.png b/koha-tmpl/opac-tmpl/lib/famfamfam/silk/phone_delete.png
new file mode 100644 (file)
index 0000000..bbe4f8a
Binary files /dev/null and b/koha-tmpl/opac-tmpl/lib/famfamfam/silk/phone_delete.png differ
diff --git a/koha-tmpl/opac-tmpl/lib/famfamfam/silk/phone_sound.png b/koha-tmpl/opac-tmpl/lib/famfamfam/silk/phone_sound.png
new file mode 100644 (file)
index 0000000..7fdf1c5
Binary files /dev/null and b/koha-tmpl/opac-tmpl/lib/famfamfam/silk/phone_sound.png differ
diff --git a/koha-tmpl/opac-tmpl/lib/famfamfam/silk/photo.png b/koha-tmpl/opac-tmpl/lib/famfamfam/silk/photo.png
new file mode 100644 (file)
index 0000000..6c2aaaa
Binary files /dev/null and b/koha-tmpl/opac-tmpl/lib/famfamfam/silk/photo.png differ
diff --git a/koha-tmpl/opac-tmpl/lib/famfamfam/silk/photo_add.png b/koha-tmpl/opac-tmpl/lib/famfamfam/silk/photo_add.png
new file mode 100644 (file)
index 0000000..63cc355
Binary files /dev/null and b/koha-tmpl/opac-tmpl/lib/famfamfam/silk/photo_add.png differ
diff --git a/koha-tmpl/opac-tmpl/lib/famfamfam/silk/photo_delete.png b/koha-tmpl/opac-tmpl/lib/famfamfam/silk/photo_delete.png
new file mode 100644 (file)
index 0000000..18b67df
Binary files /dev/null and b/koha-tmpl/opac-tmpl/lib/famfamfam/silk/photo_delete.png differ
diff --git a/koha-tmpl/opac-tmpl/lib/famfamfam/silk/photo_link.png b/koha-tmpl/opac-tmpl/lib/famfamfam/silk/photo_link.png
new file mode 100644 (file)
index 0000000..e6bb35f
Binary files /dev/null and b/koha-tmpl/opac-tmpl/lib/famfamfam/silk/photo_link.png differ
diff --git a/koha-tmpl/opac-tmpl/lib/famfamfam/silk/photos.png b/koha-tmpl/opac-tmpl/lib/famfamfam/silk/photos.png
new file mode 100644 (file)
index 0000000..8836fe6
Binary files /dev/null and b/koha-tmpl/opac-tmpl/lib/famfamfam/silk/photos.png differ
diff --git a/koha-tmpl/opac-tmpl/lib/famfamfam/silk/picture.png b/koha-tmpl/opac-tmpl/lib/famfamfam/silk/picture.png
new file mode 100644 (file)
index 0000000..4a158fe
Binary files /dev/null and b/koha-tmpl/opac-tmpl/lib/famfamfam/silk/picture.png differ
diff --git a/koha-tmpl/opac-tmpl/lib/famfamfam/silk/picture_add.png b/koha-tmpl/opac-tmpl/lib/famfamfam/silk/picture_add.png
new file mode 100644 (file)
index 0000000..d6d3f85
Binary files /dev/null and b/koha-tmpl/opac-tmpl/lib/famfamfam/silk/picture_add.png differ
diff --git a/koha-tmpl/opac-tmpl/lib/famfamfam/silk/picture_delete.png b/koha-tmpl/opac-tmpl/lib/famfamfam/silk/picture_delete.png
new file mode 100644 (file)
index 0000000..cca9f53
Binary files /dev/null and b/koha-tmpl/opac-tmpl/lib/famfamfam/silk/picture_delete.png differ
diff --git a/koha-tmpl/opac-tmpl/lib/famfamfam/silk/picture_edit.png b/koha-tmpl/opac-tmpl/lib/famfamfam/silk/picture_edit.png
new file mode 100644 (file)
index 0000000..9a70c34
Binary files /dev/null and b/koha-tmpl/opac-tmpl/lib/famfamfam/silk/picture_edit.png differ
diff --git a/koha-tmpl/opac-tmpl/lib/famfamfam/silk/picture_empty.png b/koha-tmpl/opac-tmpl/lib/famfamfam/silk/picture_empty.png
new file mode 100644 (file)
index 0000000..abd2b9b
Binary files /dev/null and b/koha-tmpl/opac-tmpl/lib/famfamfam/silk/picture_empty.png differ
diff --git a/koha-tmpl/opac-tmpl/lib/famfamfam/silk/picture_error.png b/koha-tmpl/opac-tmpl/lib/famfamfam/silk/picture_error.png
new file mode 100644 (file)
index 0000000..d41d90d
Binary files /dev/null and b/koha-tmpl/opac-tmpl/lib/famfamfam/silk/picture_error.png differ
diff --git a/koha-tmpl/opac-tmpl/lib/famfamfam/silk/picture_go.png b/koha-tmpl/opac-tmpl/lib/famfamfam/silk/picture_go.png
new file mode 100644 (file)
index 0000000..27c63c5
Binary files /dev/null and b/koha-tmpl/opac-tmpl/lib/famfamfam/silk/picture_go.png differ
diff --git a/koha-tmpl/opac-tmpl/lib/famfamfam/silk/picture_key.png b/koha-tmpl/opac-tmpl/lib/famfamfam/silk/picture_key.png
new file mode 100644 (file)
index 0000000..667086c
Binary files /dev/null and b/koha-tmpl/opac-tmpl/lib/famfamfam/silk/picture_key.png differ
diff --git a/koha-tmpl/opac-tmpl/lib/famfamfam/silk/picture_link.png b/koha-tmpl/opac-tmpl/lib/famfamfam/silk/picture_link.png
new file mode 100644 (file)
index 0000000..42dca74
Binary files /dev/null and b/koha-tmpl/opac-tmpl/lib/famfamfam/silk/picture_link.png differ
diff --git a/koha-tmpl/opac-tmpl/lib/famfamfam/silk/picture_save.png b/koha-tmpl/opac-tmpl/lib/famfamfam/silk/picture_save.png
new file mode 100644 (file)
index 0000000..777fb5d
Binary files /dev/null and b/koha-tmpl/opac-tmpl/lib/famfamfam/silk/picture_save.png differ
diff --git a/koha-tmpl/opac-tmpl/lib/famfamfam/silk/pictures.png b/koha-tmpl/opac-tmpl/lib/famfamfam/silk/pictures.png
new file mode 100644 (file)
index 0000000..d9591c1
Binary files /dev/null and b/koha-tmpl/opac-tmpl/lib/famfamfam/silk/pictures.png differ
diff --git a/koha-tmpl/opac-tmpl/lib/famfamfam/silk/pilcrow.png b/koha-tmpl/opac-tmpl/lib/famfamfam/silk/pilcrow.png
new file mode 100644 (file)
index 0000000..95704fb
Binary files /dev/null and b/koha-tmpl/opac-tmpl/lib/famfamfam/silk/pilcrow.png differ
diff --git a/koha-tmpl/opac-tmpl/lib/famfamfam/silk/pill.png b/koha-tmpl/opac-tmpl/lib/famfamfam/silk/pill.png
new file mode 100644 (file)
index 0000000..f2bdef6
Binary files /dev/null and b/koha-tmpl/opac-tmpl/lib/famfamfam/silk/pill.png differ
diff --git a/koha-tmpl/opac-tmpl/lib/famfamfam/silk/pill_add.png b/koha-tmpl/opac-tmpl/lib/famfamfam/silk/pill_add.png
new file mode 100644 (file)
index 0000000..ac9c2df
Binary files /dev/null and b/koha-tmpl/opac-tmpl/lib/famfamfam/silk/pill_add.png differ
diff --git a/koha-tmpl/opac-tmpl/lib/famfamfam/silk/pill_delete.png b/koha-tmpl/opac-tmpl/lib/famfamfam/silk/pill_delete.png
new file mode 100644 (file)
index 0000000..c61592e
Binary files /dev/null and b/koha-tmpl/opac-tmpl/lib/famfamfam/silk/pill_delete.png differ
diff --git a/koha-tmpl/opac-tmpl/lib/famfamfam/silk/pill_go.png b/koha-tmpl/opac-tmpl/lib/famfamfam/silk/pill_go.png
new file mode 100644 (file)
index 0000000..e5c07d4
Binary files /dev/null and b/koha-tmpl/opac-tmpl/lib/famfamfam/silk/pill_go.png differ
diff --git a/koha-tmpl/opac-tmpl/lib/famfamfam/silk/plugin.png b/koha-tmpl/opac-tmpl/lib/famfamfam/silk/plugin.png
new file mode 100644 (file)
index 0000000..6187b15
Binary files /dev/null and b/koha-tmpl/opac-tmpl/lib/famfamfam/silk/plugin.png differ
diff --git a/koha-tmpl/opac-tmpl/lib/famfamfam/silk/plugin_add.png b/koha-tmpl/opac-tmpl/lib/famfamfam/silk/plugin_add.png
new file mode 100644 (file)
index 0000000..ae43690
Binary files /dev/null and b/koha-tmpl/opac-tmpl/lib/famfamfam/silk/plugin_add.png differ
diff --git a/koha-tmpl/opac-tmpl/lib/famfamfam/silk/plugin_delete.png b/koha-tmpl/opac-tmpl/lib/famfamfam/silk/plugin_delete.png
new file mode 100644 (file)
index 0000000..d9c3376
Binary files /dev/null and b/koha-tmpl/opac-tmpl/lib/famfamfam/silk/plugin_delete.png differ
diff --git a/koha-tmpl/opac-tmpl/lib/famfamfam/silk/plugin_disabled.png b/koha-tmpl/opac-tmpl/lib/famfamfam/silk/plugin_disabled.png
new file mode 100644 (file)
index 0000000..f4f6be5
Binary files /dev/null and b/koha-tmpl/opac-tmpl/lib/famfamfam/silk/plugin_disabled.png differ
diff --git a/koha-tmpl/opac-tmpl/lib/famfamfam/silk/plugin_edit.png b/koha-tmpl/opac-tmpl/lib/famfamfam/silk/plugin_edit.png
new file mode 100644 (file)
index 0000000..b6cb0ec
Binary files /dev/null and b/koha-tmpl/opac-tmpl/lib/famfamfam/silk/plugin_edit.png differ
diff --git a/koha-tmpl/opac-tmpl/lib/famfamfam/silk/plugin_error.png b/koha-tmpl/opac-tmpl/lib/famfamfam/silk/plugin_error.png
new file mode 100644 (file)
index 0000000..cff65d7
Binary files /dev/null and b/koha-tmpl/opac-tmpl/lib/famfamfam/silk/plugin_error.png differ
diff --git a/koha-tmpl/opac-tmpl/lib/famfamfam/silk/plugin_go.png b/koha-tmpl/opac-tmpl/lib/famfamfam/silk/plugin_go.png
new file mode 100644 (file)
index 0000000..41da991
Binary files /dev/null and b/koha-tmpl/opac-tmpl/lib/famfamfam/silk/plugin_go.png differ
diff --git a/koha-tmpl/opac-tmpl/lib/famfamfam/silk/plugin_link.png b/koha-tmpl/opac-tmpl/lib/famfamfam/silk/plugin_link.png
new file mode 100644 (file)
index 0000000..445c188
Binary files /dev/null and b/koha-tmpl/opac-tmpl/lib/famfamfam/silk/plugin_link.png differ
diff --git a/koha-tmpl/opac-tmpl/lib/famfamfam/silk/printer.png b/koha-tmpl/opac-tmpl/lib/famfamfam/silk/printer.png
new file mode 100644 (file)
index 0000000..a350d18
Binary files /dev/null and b/koha-tmpl/opac-tmpl/lib/famfamfam/silk/printer.png differ
diff --git a/koha-tmpl/opac-tmpl/lib/famfamfam/silk/printer_add.png b/koha-tmpl/opac-tmpl/lib/famfamfam/silk/printer_add.png
new file mode 100644 (file)
index 0000000..d228d05
Binary files /dev/null and b/koha-tmpl/opac-tmpl/lib/famfamfam/silk/printer_add.png differ
diff --git a/koha-tmpl/opac-tmpl/lib/famfamfam/silk/printer_delete.png b/koha-tmpl/opac-tmpl/lib/famfamfam/silk/printer_delete.png
new file mode 100644 (file)
index 0000000..1d8605f
Binary files /dev/null and b/koha-tmpl/opac-tmpl/lib/famfamfam/silk/printer_delete.png differ
diff --git a/koha-tmpl/opac-tmpl/lib/famfamfam/silk/printer_empty.png b/koha-tmpl/opac-tmpl/lib/famfamfam/silk/printer_empty.png
new file mode 100644 (file)
index 0000000..94e8c16
Binary files /dev/null and b/koha-tmpl/opac-tmpl/lib/famfamfam/silk/printer_empty.png differ
diff --git a/koha-tmpl/opac-tmpl/lib/famfamfam/silk/printer_error.png b/koha-tmpl/opac-tmpl/lib/famfamfam/silk/printer_error.png
new file mode 100644 (file)
index 0000000..279ebb0
Binary files /dev/null and b/koha-tmpl/opac-tmpl/lib/famfamfam/silk/printer_error.png differ
diff --git a/koha-tmpl/opac-tmpl/lib/famfamfam/silk/rainbow.png b/koha-tmpl/opac-tmpl/lib/famfamfam/silk/rainbow.png
new file mode 100644 (file)
index 0000000..5ede989
Binary files /dev/null and b/koha-tmpl/opac-tmpl/lib/famfamfam/silk/rainbow.png differ
diff --git a/koha-tmpl/opac-tmpl/lib/famfamfam/silk/report.png b/koha-tmpl/opac-tmpl/lib/famfamfam/silk/report.png
new file mode 100644 (file)
index 0000000..779ad58
Binary files /dev/null and b/koha-tmpl/opac-tmpl/lib/famfamfam/silk/report.png differ
diff --git a/koha-tmpl/opac-tmpl/lib/famfamfam/silk/report_add.png b/koha-tmpl/opac-tmpl/lib/famfamfam/silk/report_add.png
new file mode 100644 (file)
index 0000000..d5eac9b
Binary files /dev/null and b/koha-tmpl/opac-tmpl/lib/famfamfam/silk/report_add.png differ
diff --git a/koha-tmpl/opac-tmpl/lib/famfamfam/silk/report_delete.png b/koha-tmpl/opac-tmpl/lib/famfamfam/silk/report_delete.png
new file mode 100644 (file)
index 0000000..dcce0b6
Binary files /dev/null and b/koha-tmpl/opac-tmpl/lib/famfamfam/silk/report_delete.png differ
diff --git a/koha-tmpl/opac-tmpl/lib/famfamfam/silk/report_disk.png b/koha-tmpl/opac-tmpl/lib/famfamfam/silk/report_disk.png
new file mode 100644 (file)
index 0000000..1c856cd
Binary files /dev/null and b/koha-tmpl/opac-tmpl/lib/famfamfam/silk/report_disk.png differ
diff --git a/koha-tmpl/opac-tmpl/lib/famfamfam/silk/report_edit.png b/koha-tmpl/opac-tmpl/lib/famfamfam/silk/report_edit.png
new file mode 100644 (file)
index 0000000..c61a6d8
Binary files /dev/null and b/koha-tmpl/opac-tmpl/lib/famfamfam/silk/report_edit.png differ
diff --git a/koha-tmpl/opac-tmpl/lib/famfamfam/silk/report_go.png b/koha-tmpl/opac-tmpl/lib/famfamfam/silk/report_go.png
new file mode 100644 (file)
index 0000000..f35a979
Binary files /dev/null and b/koha-tmpl/opac-tmpl/lib/famfamfam/silk/report_go.png differ
diff --git a/koha-tmpl/opac-tmpl/lib/famfamfam/silk/report_key.png b/koha-tmpl/opac-tmpl/lib/famfamfam/silk/report_key.png
new file mode 100644 (file)
index 0000000..90b758e
Binary files /dev/null and b/koha-tmpl/opac-tmpl/lib/famfamfam/silk/report_key.png differ
diff --git a/koha-tmpl/opac-tmpl/lib/famfamfam/silk/report_link.png b/koha-tmpl/opac-tmpl/lib/famfamfam/silk/report_link.png
new file mode 100644 (file)
index 0000000..23f2611
Binary files /dev/null and b/koha-tmpl/opac-tmpl/lib/famfamfam/silk/report_link.png differ
diff --git a/koha-tmpl/opac-tmpl/lib/famfamfam/silk/report_magnify.png b/koha-tmpl/opac-tmpl/lib/famfamfam/silk/report_magnify.png
new file mode 100644 (file)
index 0000000..aeaa889
Binary files /dev/null and b/koha-tmpl/opac-tmpl/lib/famfamfam/silk/report_magnify.png differ
diff --git a/koha-tmpl/opac-tmpl/lib/famfamfam/silk/report_picture.png b/koha-tmpl/opac-tmpl/lib/famfamfam/silk/report_picture.png
new file mode 100644 (file)
index 0000000..3a9a7e5
Binary files /dev/null and b/koha-tmpl/opac-tmpl/lib/famfamfam/silk/report_picture.png differ
diff --git a/koha-tmpl/opac-tmpl/lib/famfamfam/silk/report_user.png b/koha-tmpl/opac-tmpl/lib/famfamfam/silk/report_user.png
new file mode 100644 (file)
index 0000000..7766edd
Binary files /dev/null and b/koha-tmpl/opac-tmpl/lib/famfamfam/silk/report_user.png differ
diff --git a/koha-tmpl/opac-tmpl/lib/famfamfam/silk/report_word.png b/koha-tmpl/opac-tmpl/lib/famfamfam/silk/report_word.png
new file mode 100644 (file)
index 0000000..9951342
Binary files /dev/null and b/koha-tmpl/opac-tmpl/lib/famfamfam/silk/report_word.png differ
diff --git a/koha-tmpl/opac-tmpl/lib/famfamfam/silk/resultset_first.png b/koha-tmpl/opac-tmpl/lib/famfamfam/silk/resultset_first.png
new file mode 100644 (file)
index 0000000..b03eaf8
Binary files /dev/null and b/koha-tmpl/opac-tmpl/lib/famfamfam/silk/resultset_first.png differ
diff --git a/koha-tmpl/opac-tmpl/lib/famfamfam/silk/resultset_last.png b/koha-tmpl/opac-tmpl/lib/famfamfam/silk/resultset_last.png
new file mode 100644 (file)
index 0000000..8ec8947
Binary files /dev/null and b/koha-tmpl/opac-tmpl/lib/famfamfam/silk/resultset_last.png differ
diff --git a/koha-tmpl/opac-tmpl/lib/famfamfam/silk/resultset_next.png b/koha-tmpl/opac-tmpl/lib/famfamfam/silk/resultset_next.png
new file mode 100644 (file)
index 0000000..e252606
Binary files /dev/null and b/koha-tmpl/opac-tmpl/lib/famfamfam/silk/resultset_next.png differ
diff --git a/koha-tmpl/opac-tmpl/lib/famfamfam/silk/resultset_previous.png b/koha-tmpl/opac-tmpl/lib/famfamfam/silk/resultset_previous.png
new file mode 100644 (file)
index 0000000..18f9cc1
Binary files /dev/null and b/koha-tmpl/opac-tmpl/lib/famfamfam/silk/resultset_previous.png differ
diff --git a/koha-tmpl/opac-tmpl/lib/famfamfam/silk/rosette.png b/koha-tmpl/opac-tmpl/lib/famfamfam/silk/rosette.png
new file mode 100644 (file)
index 0000000..f233bc7
Binary files /dev/null and b/koha-tmpl/opac-tmpl/lib/famfamfam/silk/rosette.png differ
diff --git a/koha-tmpl/opac-tmpl/lib/famfamfam/silk/rss.png b/koha-tmpl/opac-tmpl/lib/famfamfam/silk/rss.png
new file mode 100644 (file)
index 0000000..1dc6ff3
Binary files /dev/null and b/koha-tmpl/opac-tmpl/lib/famfamfam/silk/rss.png differ
diff --git a/koha-tmpl/opac-tmpl/lib/famfamfam/silk/rss_add.png b/koha-tmpl/opac-tmpl/lib/famfamfam/silk/rss_add.png
new file mode 100644 (file)
index 0000000..b590beb
Binary files /dev/null and b/koha-tmpl/opac-tmpl/lib/famfamfam/silk/rss_add.png differ
diff --git a/koha-tmpl/opac-tmpl/lib/famfamfam/silk/rss_delete.png b/koha-tmpl/opac-tmpl/lib/famfamfam/silk/rss_delete.png
new file mode 100644 (file)
index 0000000..9deb738
Binary files /dev/null and b/koha-tmpl/opac-tmpl/lib/famfamfam/silk/rss_delete.png differ
diff --git a/koha-tmpl/opac-tmpl/lib/famfamfam/silk/rss_go.png b/koha-tmpl/opac-tmpl/lib/famfamfam/silk/rss_go.png
new file mode 100644 (file)
index 0000000..43a86bf
Binary files /dev/null and b/koha-tmpl/opac-tmpl/lib/famfamfam/silk/rss_go.png differ
diff --git a/koha-tmpl/opac-tmpl/lib/famfamfam/silk/rss_valid.png b/koha-tmpl/opac-tmpl/lib/famfamfam/silk/rss_valid.png
new file mode 100644 (file)
index 0000000..a6d0b0e
Binary files /dev/null and b/koha-tmpl/opac-tmpl/lib/famfamfam/silk/rss_valid.png differ
diff --git a/koha-tmpl/opac-tmpl/lib/famfamfam/silk/ruby.png b/koha-tmpl/opac-tmpl/lib/famfamfam/silk/ruby.png
new file mode 100644 (file)
index 0000000..f763a16
Binary files /dev/null and b/koha-tmpl/opac-tmpl/lib/famfamfam/silk/ruby.png differ
diff --git a/koha-tmpl/opac-tmpl/lib/famfamfam/silk/ruby_add.png b/koha-tmpl/opac-tmpl/lib/famfamfam/silk/ruby_add.png
new file mode 100644 (file)
index 0000000..a2cd648
Binary files /dev/null and b/koha-tmpl/opac-tmpl/lib/famfamfam/silk/ruby_add.png differ
diff --git a/koha-tmpl/opac-tmpl/lib/famfamfam/silk/ruby_delete.png b/koha-tmpl/opac-tmpl/lib/famfamfam/silk/ruby_delete.png
new file mode 100644 (file)
index 0000000..3002263
Binary files /dev/null and b/koha-tmpl/opac-tmpl/lib/famfamfam/silk/ruby_delete.png differ
diff --git a/koha-tmpl/opac-tmpl/lib/famfamfam/silk/ruby_gear.png b/koha-tmpl/opac-tmpl/lib/famfamfam/silk/ruby_gear.png
new file mode 100644 (file)
index 0000000..4a10590
Binary files /dev/null and b/koha-tmpl/opac-tmpl/lib/famfamfam/silk/ruby_gear.png differ
diff --git a/koha-tmpl/opac-tmpl/lib/famfamfam/silk/ruby_get.png b/koha-tmpl/opac-tmpl/lib/famfamfam/silk/ruby_get.png
new file mode 100644 (file)
index 0000000..f5203c7
Binary files /dev/null and b/koha-tmpl/opac-tmpl/lib/famfamfam/silk/ruby_get.png differ
diff --git a/koha-tmpl/opac-tmpl/lib/famfamfam/silk/ruby_go.png b/koha-tmpl/opac-tmpl/lib/famfamfam/silk/ruby_go.png
new file mode 100644 (file)
index 0000000..d8d276e
Binary files /dev/null and b/koha-tmpl/opac-tmpl/lib/famfamfam/silk/ruby_go.png differ
diff --git a/koha-tmpl/opac-tmpl/lib/famfamfam/silk/ruby_key.png b/koha-tmpl/opac-tmpl/lib/famfamfam/silk/ruby_key.png
new file mode 100644 (file)
index 0000000..451cfeb
Binary files /dev/null and b/koha-tmpl/opac-tmpl/lib/famfamfam/silk/ruby_key.png differ
diff --git a/koha-tmpl/opac-tmpl/lib/famfamfam/silk/ruby_link.png b/koha-tmpl/opac-tmpl/lib/famfamfam/silk/ruby_link.png
new file mode 100644 (file)
index 0000000..bf4be52
Binary files /dev/null and b/koha-tmpl/opac-tmpl/lib/famfamfam/silk/ruby_link.png differ
diff --git a/koha-tmpl/opac-tmpl/lib/famfamfam/silk/ruby_put.png b/koha-tmpl/opac-tmpl/lib/famfamfam/silk/ruby_put.png
new file mode 100644 (file)
index 0000000..e026323
Binary files /dev/null and b/koha-tmpl/opac-tmpl/lib/famfamfam/silk/ruby_put.png differ
diff --git a/koha-tmpl/opac-tmpl/lib/famfamfam/silk/script.png b/koha-tmpl/opac-tmpl/lib/famfamfam/silk/script.png
new file mode 100644 (file)
index 0000000..0f9ed4d
Binary files /dev/null and b/koha-tmpl/opac-tmpl/lib/famfamfam/silk/script.png differ
diff --git a/koha-tmpl/opac-tmpl/lib/famfamfam/silk/script_add.png b/koha-tmpl/opac-tmpl/lib/famfamfam/silk/script_add.png
new file mode 100644 (file)
index 0000000..d650552
Binary files /dev/null and b/koha-tmpl/opac-tmpl/lib/famfamfam/silk/script_add.png differ
diff --git a/koha-tmpl/opac-tmpl/lib/famfamfam/silk/script_code.png b/koha-tmpl/opac-tmpl/lib/famfamfam/silk/script_code.png
new file mode 100644 (file)
index 0000000..63fe6ce
Binary files /dev/null and b/koha-tmpl/opac-tmpl/lib/famfamfam/silk/script_code.png differ
diff --git a/koha-tmpl/opac-tmpl/lib/famfamfam/silk/script_code_red.png b/koha-tmpl/opac-tmpl/lib/famfamfam/silk/script_code_red.png
new file mode 100644 (file)
index 0000000..8fcf0f0
Binary files /dev/null and b/koha-tmpl/opac-tmpl/lib/famfamfam/silk/script_code_red.png differ
diff --git a/koha-tmpl/opac-tmpl/lib/famfamfam/silk/script_delete.png b/koha-tmpl/opac-tmpl/lib/famfamfam/silk/script_delete.png
new file mode 100644 (file)
index 0000000..e6500ce
Binary files /dev/null and b/koha-tmpl/opac-tmpl/lib/famfamfam/silk/script_delete.png differ
diff --git a/koha-tmpl/opac-tmpl/lib/famfamfam/silk/script_edit.png b/koha-tmpl/opac-tmpl/lib/famfamfam/silk/script_edit.png
new file mode 100644 (file)
index 0000000..b4d31ce
Binary files /dev/null and b/koha-tmpl/opac-tmpl/lib/famfamfam/silk/script_edit.png differ
diff --git a/koha-tmpl/opac-tmpl/lib/famfamfam/silk/script_error.png b/koha-tmpl/opac-tmpl/lib/famfamfam/silk/script_error.png
new file mode 100644 (file)
index 0000000..0491954
Binary files /dev/null and b/koha-tmpl/opac-tmpl/lib/famfamfam/silk/script_error.png differ
diff --git a/koha-tmpl/opac-tmpl/lib/famfamfam/silk/script_gear.png b/koha-tmpl/opac-tmpl/lib/famfamfam/silk/script_gear.png
new file mode 100644 (file)
index 0000000..56fcf84
Binary files /dev/null and b/koha-tmpl/opac-tmpl/lib/famfamfam/silk/script_gear.png differ
diff --git a/koha-tmpl/opac-tmpl/lib/famfamfam/silk/script_go.png b/koha-tmpl/opac-tmpl/lib/famfamfam/silk/script_go.png
new file mode 100644 (file)
index 0000000..8e154e2
Binary files /dev/null and b/koha-tmpl/opac-tmpl/lib/famfamfam/silk/script_go.png differ
diff --git a/koha-tmpl/opac-tmpl/lib/famfamfam/silk/script_key.png b/koha-tmpl/opac-tmpl/lib/famfamfam/silk/script_key.png
new file mode 100644 (file)
index 0000000..49bb24d
Binary files /dev/null and b/koha-tmpl/opac-tmpl/lib/famfamfam/silk/script_key.png differ
diff --git a/koha-tmpl/opac-tmpl/lib/famfamfam/silk/script_lightning.png b/koha-tmpl/opac-tmpl/lib/famfamfam/silk/script_lightning.png
new file mode 100644 (file)
index 0000000..b3fa18c
Binary files /dev/null and b/koha-tmpl/opac-tmpl/lib/famfamfam/silk/script_lightning.png differ
diff --git a/koha-tmpl/opac-tmpl/lib/famfamfam/silk/script_link.png b/koha-tmpl/opac-tmpl/lib/famfamfam/silk/script_link.png
new file mode 100644 (file)
index 0000000..bdeb985
Binary files /dev/null and b/koha-tmpl/opac-tmpl/lib/famfamfam/silk/script_link.png differ
diff --git a/koha-tmpl/opac-tmpl/lib/famfamfam/silk/script_palette.png b/koha-tmpl/opac-tmpl/lib/famfamfam/silk/script_palette.png
new file mode 100644 (file)
index 0000000..6d46962
Binary files /dev/null and b/koha-tmpl/opac-tmpl/lib/famfamfam/silk/script_palette.png differ
diff --git a/koha-tmpl/opac-tmpl/lib/famfamfam/silk/script_save.png b/koha-tmpl/opac-tmpl/lib/famfamfam/silk/script_save.png
new file mode 100644 (file)
index 0000000..36216d8
Binary files /dev/null and b/koha-tmpl/opac-tmpl/lib/famfamfam/silk/script_save.png differ
diff --git a/koha-tmpl/opac-tmpl/lib/famfamfam/silk/server.png b/koha-tmpl/opac-tmpl/lib/famfamfam/silk/server.png
new file mode 100644 (file)
index 0000000..720a237
Binary files /dev/null and b/koha-tmpl/opac-tmpl/lib/famfamfam/silk/server.png differ
diff --git a/koha-tmpl/opac-tmpl/lib/famfamfam/silk/server_add.png b/koha-tmpl/opac-tmpl/lib/famfamfam/silk/server_add.png
new file mode 100644 (file)
index 0000000..3f10a3a
Binary files /dev/null and b/koha-tmpl/opac-tmpl/lib/famfamfam/silk/server_add.png differ
diff --git a/koha-tmpl/opac-tmpl/lib/famfamfam/silk/server_chart.png b/koha-tmpl/opac-tmpl/lib/famfamfam/silk/server_chart.png
new file mode 100644 (file)
index 0000000..1128d3f
Binary files /dev/null and b/koha-tmpl/opac-tmpl/lib/famfamfam/silk/server_chart.png differ
diff --git a/koha-tmpl/opac-tmpl/lib/famfamfam/silk/server_compressed.png b/koha-tmpl/opac-tmpl/lib/famfamfam/silk/server_compressed.png
new file mode 100644 (file)
index 0000000..bf49fad
Binary files /dev/null and b/koha-tmpl/opac-tmpl/lib/famfamfam/silk/server_compressed.png differ
diff --git a/koha-tmpl/opac-tmpl/lib/famfamfam/silk/server_connect.png b/koha-tmpl/opac-tmpl/lib/famfamfam/silk/server_connect.png
new file mode 100644 (file)
index 0000000..49b2691
Binary files /dev/null and b/koha-tmpl/opac-tmpl/lib/famfamfam/silk/server_connect.png differ
diff --git a/koha-tmpl/opac-tmpl/lib/famfamfam/silk/server_database.png b/koha-tmpl/opac-tmpl/lib/famfamfam/silk/server_database.png
new file mode 100644 (file)
index 0000000..b24e826
Binary files /dev/null and b/koha-tmpl/opac-tmpl/lib/famfamfam/silk/server_database.png differ
diff --git a/koha-tmpl/opac-tmpl/lib/famfamfam/silk/server_delete.png b/koha-tmpl/opac-tmpl/lib/famfamfam/silk/server_delete.png
new file mode 100644 (file)
index 0000000..61e740f
Binary files /dev/null and b/koha-tmpl/opac-tmpl/lib/famfamfam/silk/server_delete.png differ
diff --git a/koha-tmpl/opac-tmpl/lib/famfamfam/silk/server_edit.png b/koha-tmpl/opac-tmpl/lib/famfamfam/silk/server_edit.png
new file mode 100644 (file)
index 0000000..dc76253
Binary files /dev/null and b/koha-tmpl/opac-tmpl/lib/famfamfam/silk/server_edit.png differ
diff --git a/koha-tmpl/opac-tmpl/lib/famfamfam/silk/server_error.png b/koha-tmpl/opac-tmpl/lib/famfamfam/silk/server_error.png
new file mode 100644 (file)
index 0000000..f640256
Binary files /dev/null and b/koha-tmpl/opac-tmpl/lib/famfamfam/silk/server_error.png differ
diff --git a/koha-tmpl/opac-tmpl/lib/famfamfam/silk/server_go.png b/koha-tmpl/opac-tmpl/lib/famfamfam/silk/server_go.png
new file mode 100644 (file)
index 0000000..540c8e2
Binary files /dev/null and b/koha-tmpl/opac-tmpl/lib/famfamfam/silk/server_go.png differ
diff --git a/koha-tmpl/opac-tmpl/lib/famfamfam/silk/server_key.png b/koha-tmpl/opac-tmpl/lib/famfamfam/silk/server_key.png
new file mode 100644 (file)
index 0000000..ecd5174
Binary files /dev/null and b/koha-tmpl/opac-tmpl/lib/famfamfam/silk/server_key.png differ
diff --git a/koha-tmpl/opac-tmpl/lib/famfamfam/silk/server_lightning.png b/koha-tmpl/opac-tmpl/lib/famfamfam/silk/server_lightning.png
new file mode 100644 (file)
index 0000000..b0f4e46
Binary files /dev/null and b/koha-tmpl/opac-tmpl/lib/famfamfam/silk/server_lightning.png differ
diff --git a/koha-tmpl/opac-tmpl/lib/famfamfam/silk/server_link.png b/koha-tmpl/opac-tmpl/lib/famfamfam/silk/server_link.png
new file mode 100644 (file)
index 0000000..e8821df
Binary files /dev/null and b/koha-tmpl/opac-tmpl/lib/famfamfam/silk/server_link.png differ
diff --git a/koha-tmpl/opac-tmpl/lib/famfamfam/silk/server_uncompressed.png b/koha-tmpl/opac-tmpl/lib/famfamfam/silk/server_uncompressed.png
new file mode 100644 (file)
index 0000000..86e8325
Binary files /dev/null and b/koha-tmpl/opac-tmpl/lib/famfamfam/silk/server_uncompressed.png differ
diff --git a/koha-tmpl/opac-tmpl/lib/famfamfam/silk/shading.png b/koha-tmpl/opac-tmpl/lib/famfamfam/silk/shading.png
new file mode 100644 (file)
index 0000000..09275f9
Binary files /dev/null and b/koha-tmpl/opac-tmpl/lib/famfamfam/silk/shading.png differ
diff --git a/koha-tmpl/opac-tmpl/lib/famfamfam/silk/shape_align_bottom.png b/koha-tmpl/opac-tmpl/lib/famfamfam/silk/shape_align_bottom.png
new file mode 100644 (file)
index 0000000..55d2694
Binary files /dev/null and b/koha-tmpl/opac-tmpl/lib/famfamfam/silk/shape_align_bottom.png differ
diff --git a/koha-tmpl/opac-tmpl/lib/famfamfam/silk/shape_align_center.png b/koha-tmpl/opac-tmpl/lib/famfamfam/silk/shape_align_center.png
new file mode 100644 (file)
index 0000000..efe9a98
Binary files /dev/null and b/koha-tmpl/opac-tmpl/lib/famfamfam/silk/shape_align_center.png differ
diff --git a/koha-tmpl/opac-tmpl/lib/famfamfam/silk/shape_align_left.png b/koha-tmpl/opac-tmpl/lib/famfamfam/silk/shape_align_left.png
new file mode 100644 (file)
index 0000000..aaedc41
Binary files /dev/null and b/koha-tmpl/opac-tmpl/lib/famfamfam/silk/shape_align_left.png differ
diff --git a/koha-tmpl/opac-tmpl/lib/famfamfam/silk/shape_align_middle.png b/koha-tmpl/opac-tmpl/lib/famfamfam/silk/shape_align_middle.png
new file mode 100644 (file)
index 0000000..d350dd8
Binary files /dev/null and b/koha-tmpl/opac-tmpl/lib/famfamfam/silk/shape_align_middle.png differ
diff --git a/koha-tmpl/opac-tmpl/lib/famfamfam/silk/shape_align_right.png b/koha-tmpl/opac-tmpl/lib/famfamfam/silk/shape_align_right.png
new file mode 100644 (file)
index 0000000..ff556b6
Binary files /dev/null and b/koha-tmpl/opac-tmpl/lib/famfamfam/silk/shape_align_right.png differ
diff --git a/koha-tmpl/opac-tmpl/lib/famfamfam/silk/shape_align_top.png b/koha-tmpl/opac-tmpl/lib/famfamfam/silk/shape_align_top.png
new file mode 100644 (file)
index 0000000..1181b43
Binary files /dev/null and b/koha-tmpl/opac-tmpl/lib/famfamfam/silk/shape_align_top.png differ
diff --git a/koha-tmpl/opac-tmpl/lib/famfamfam/silk/shape_flip_horizontal.png b/koha-tmpl/opac-tmpl/lib/famfamfam/silk/shape_flip_horizontal.png
new file mode 100644 (file)
index 0000000..8667c81
Binary files /dev/null and b/koha-tmpl/opac-tmpl/lib/famfamfam/silk/shape_flip_horizontal.png differ
diff --git a/koha-tmpl/opac-tmpl/lib/famfamfam/silk/shape_flip_vertical.png b/koha-tmpl/opac-tmpl/lib/famfamfam/silk/shape_flip_vertical.png
new file mode 100644 (file)
index 0000000..0bd66d1
Binary files /dev/null and b/koha-tmpl/opac-tmpl/lib/famfamfam/silk/shape_flip_vertical.png differ
diff --git a/koha-tmpl/opac-tmpl/lib/famfamfam/silk/shape_group.png b/koha-tmpl/opac-tmpl/lib/famfamfam/silk/shape_group.png
new file mode 100644 (file)
index 0000000..bb2ff51
Binary files /dev/null and b/koha-tmpl/opac-tmpl/lib/famfamfam/silk/shape_group.png differ
diff --git a/koha-tmpl/opac-tmpl/lib/famfamfam/silk/shape_handles.png b/koha-tmpl/opac-tmpl/lib/famfamfam/silk/shape_handles.png
new file mode 100644 (file)
index 0000000..ce27fe3
Binary files /dev/null and b/koha-tmpl/opac-tmpl/lib/famfamfam/silk/shape_handles.png differ
diff --git a/koha-tmpl/opac-tmpl/lib/famfamfam/silk/shape_move_back.png b/koha-tmpl/opac-tmpl/lib/famfamfam/silk/shape_move_back.png
new file mode 100644 (file)
index 0000000..a216ffd
Binary files /dev/null and b/koha-tmpl/opac-tmpl/lib/famfamfam/silk/shape_move_back.png differ
diff --git a/koha-tmpl/opac-tmpl/lib/famfamfam/silk/shape_move_backwards.png b/koha-tmpl/opac-tmpl/lib/famfamfam/silk/shape_move_backwards.png
new file mode 100644 (file)
index 0000000..ee3f9b2
Binary files /dev/null and b/koha-tmpl/opac-tmpl/lib/famfamfam/silk/shape_move_backwards.png differ
diff --git a/koha-tmpl/opac-tmpl/lib/famfamfam/silk/shape_move_forwards.png b/koha-tmpl/opac-tmpl/lib/famfamfam/silk/shape_move_forwards.png
new file mode 100644 (file)
index 0000000..cfe4493
Binary files /dev/null and b/koha-tmpl/opac-tmpl/lib/famfamfam/silk/shape_move_forwards.png differ
diff --git a/koha-tmpl/opac-tmpl/lib/famfamfam/silk/shape_move_front.png b/koha-tmpl/opac-tmpl/lib/famfamfam/silk/shape_move_front.png
new file mode 100644 (file)
index 0000000..b4a4e3b
Binary files /dev/null and b/koha-tmpl/opac-tmpl/lib/famfamfam/silk/shape_move_front.png differ
diff --git a/koha-tmpl/opac-tmpl/lib/famfamfam/silk/shape_rotate_anticlockwise.png b/koha-tmpl/opac-tmpl/lib/famfamfam/silk/shape_rotate_anticlockwise.png
new file mode 100644 (file)
index 0000000..07a3020
Binary files /dev/null and b/koha-tmpl/opac-tmpl/lib/famfamfam/silk/shape_rotate_anticlockwise.png differ
diff --git a/koha-tmpl/opac-tmpl/lib/famfamfam/silk/shape_rotate_clockwise.png b/koha-tmpl/opac-tmpl/lib/famfamfam/silk/shape_rotate_clockwise.png
new file mode 100644 (file)
index 0000000..b99db7d
Binary files /dev/null and b/koha-tmpl/opac-tmpl/lib/famfamfam/silk/shape_rotate_clockwise.png differ
diff --git a/koha-tmpl/opac-tmpl/lib/famfamfam/silk/shape_square.png b/koha-tmpl/opac-tmpl/lib/famfamfam/silk/shape_square.png
new file mode 100644 (file)
index 0000000..33af046
Binary files /dev/null and b/koha-tmpl/opac-tmpl/lib/famfamfam/silk/shape_square.png differ
diff --git a/koha-tmpl/opac-tmpl/lib/famfamfam/silk/shape_square_add.png b/koha-tmpl/opac-tmpl/lib/famfamfam/silk/shape_square_add.png
new file mode 100644 (file)
index 0000000..31edfce
Binary files /dev/null and b/koha-tmpl/opac-tmpl/lib/famfamfam/silk/shape_square_add.png differ
diff --git a/koha-tmpl/opac-tmpl/lib/famfamfam/silk/shape_square_delete.png b/koha-tmpl/opac-tmpl/lib/famfamfam/silk/shape_square_delete.png
new file mode 100644 (file)
index 0000000..ede912d
Binary files /dev/null and b/koha-tmpl/opac-tmpl/lib/famfamfam/silk/shape_square_delete.png differ
diff --git a/koha-tmpl/opac-tmpl/lib/famfamfam/silk/shape_square_edit.png b/koha-tmpl/opac-tmpl/lib/famfamfam/silk/shape_square_edit.png
new file mode 100644 (file)
index 0000000..d28dc6b
Binary files /dev/null and b/koha-tmpl/opac-tmpl/lib/famfamfam/silk/shape_square_edit.png differ
diff --git a/koha-tmpl/opac-tmpl/lib/famfamfam/silk/shape_square_error.png b/koha-tmpl/opac-tmpl/lib/famfamfam/silk/shape_square_error.png
new file mode 100644 (file)
index 0000000..0d0dcfa
Binary files /dev/null and b/koha-tmpl/opac-tmpl/lib/famfamfam/silk/shape_square_error.png differ
diff --git a/koha-tmpl/opac-tmpl/lib/famfamfam/silk/shape_square_go.png b/koha-tmpl/opac-tmpl/lib/famfamfam/silk/shape_square_go.png
new file mode 100644 (file)
index 0000000..5a2ad90
Binary files /dev/null and b/koha-tmpl/opac-tmpl/lib/famfamfam/silk/shape_square_go.png differ
diff --git a/koha-tmpl/opac-tmpl/lib/famfamfam/silk/shape_square_key.png b/koha-tmpl/opac-tmpl/lib/famfamfam/silk/shape_square_key.png
new file mode 100644 (file)
index 0000000..c34b982
Binary files /dev/null and b/koha-tmpl/opac-tmpl/lib/famfamfam/silk/shape_square_key.png differ
diff --git a/koha-tmpl/opac-tmpl/lib/famfamfam/silk/shape_square_link.png b/koha-tmpl/opac-tmpl/lib/famfamfam/silk/shape_square_link.png
new file mode 100644 (file)
index 0000000..b885fcc
Binary files /dev/null and b/koha-tmpl/opac-tmpl/lib/famfamfam/silk/shape_square_link.png differ
diff --git a/koha-tmpl/opac-tmpl/lib/famfamfam/silk/shape_ungroup.png b/koha-tmpl/opac-tmpl/lib/famfamfam/silk/shape_ungroup.png
new file mode 100644 (file)
index 0000000..3a6f369
Binary files /dev/null and b/koha-tmpl/opac-tmpl/lib/famfamfam/silk/shape_ungroup.png differ
diff --git a/koha-tmpl/opac-tmpl/lib/famfamfam/silk/shield.png b/koha-tmpl/opac-tmpl/lib/famfamfam/silk/shield.png
new file mode 100644 (file)
index 0000000..3cb4e25
Binary files /dev/null and b/koha-tmpl/opac-tmpl/lib/famfamfam/silk/shield.png differ
diff --git a/koha-tmpl/opac-tmpl/lib/famfamfam/silk/shield_add.png b/koha-tmpl/opac-tmpl/lib/famfamfam/silk/shield_add.png
new file mode 100644 (file)
index 0000000..e20a1b4
Binary files /dev/null and b/koha-tmpl/opac-tmpl/lib/famfamfam/silk/shield_add.png differ
diff --git a/koha-tmpl/opac-tmpl/lib/famfamfam/silk/shield_delete.png b/koha-tmpl/opac-tmpl/lib/famfamfam/silk/shield_delete.png
new file mode 100644 (file)
index 0000000..22823a7
Binary files /dev/null and b/koha-tmpl/opac-tmpl/lib/famfamfam/silk/shield_delete.png differ
diff --git a/koha-tmpl/opac-tmpl/lib/famfamfam/silk/shield_go.png b/koha-tmpl/opac-tmpl/lib/famfamfam/silk/shield_go.png
new file mode 100644 (file)
index 0000000..e9bd852
Binary files /dev/null and b/koha-tmpl/opac-tmpl/lib/famfamfam/silk/shield_go.png differ
diff --git a/koha-tmpl/opac-tmpl/lib/famfamfam/silk/sitemap.png b/koha-tmpl/opac-tmpl/lib/famfamfam/silk/sitemap.png
new file mode 100644 (file)
index 0000000..ca779f3
Binary files /dev/null and b/koha-tmpl/opac-tmpl/lib/famfamfam/silk/sitemap.png differ
diff --git a/koha-tmpl/opac-tmpl/lib/famfamfam/silk/sitemap_color.png b/koha-tmpl/opac-tmpl/lib/famfamfam/silk/sitemap_color.png
new file mode 100644 (file)
index 0000000..c64582b
Binary files /dev/null and b/koha-tmpl/opac-tmpl/lib/famfamfam/silk/sitemap_color.png differ
diff --git a/koha-tmpl/opac-tmpl/lib/famfamfam/silk/sound.png b/koha-tmpl/opac-tmpl/lib/famfamfam/silk/sound.png
new file mode 100644 (file)
index 0000000..6056d23
Binary files /dev/null and b/koha-tmpl/opac-tmpl/lib/famfamfam/silk/sound.png differ
diff --git a/koha-tmpl/opac-tmpl/lib/famfamfam/silk/sound_add.png b/koha-tmpl/opac-tmpl/lib/famfamfam/silk/sound_add.png
new file mode 100644 (file)
index 0000000..965c503
Binary files /dev/null and b/koha-tmpl/opac-tmpl/lib/famfamfam/silk/sound_add.png differ
diff --git a/koha-tmpl/opac-tmpl/lib/famfamfam/silk/sound_delete.png b/koha-tmpl/opac-tmpl/lib/famfamfam/silk/sound_delete.png
new file mode 100644 (file)
index 0000000..ab9577a
Binary files /dev/null and b/koha-tmpl/opac-tmpl/lib/famfamfam/silk/sound_delete.png differ
diff --git a/koha-tmpl/opac-tmpl/lib/famfamfam/silk/sound_low.png b/koha-tmpl/opac-tmpl/lib/famfamfam/silk/sound_low.png
new file mode 100644 (file)
index 0000000..4d91863
Binary files /dev/null and b/koha-tmpl/opac-tmpl/lib/famfamfam/silk/sound_low.png differ
diff --git a/koha-tmpl/opac-tmpl/lib/famfamfam/silk/sound_mute.png b/koha-tmpl/opac-tmpl/lib/famfamfam/silk/sound_mute.png
new file mode 100644 (file)
index 0000000..b652d2a
Binary files /dev/null and b/koha-tmpl/opac-tmpl/lib/famfamfam/silk/sound_mute.png differ
diff --git a/koha-tmpl/opac-tmpl/lib/famfamfam/silk/sound_none.png b/koha-tmpl/opac-tmpl/lib/famfamfam/silk/sound_none.png
new file mode 100644 (file)
index 0000000..b497ebd
Binary files /dev/null and b/koha-tmpl/opac-tmpl/lib/famfamfam/silk/sound_none.png differ
diff --git a/koha-tmpl/opac-tmpl/lib/famfamfam/silk/spellcheck.png b/koha-tmpl/opac-tmpl/lib/famfamfam/silk/spellcheck.png
new file mode 100644 (file)
index 0000000..ebc632d
Binary files /dev/null and b/koha-tmpl/opac-tmpl/lib/famfamfam/silk/spellcheck.png differ
diff --git a/koha-tmpl/opac-tmpl/lib/famfamfam/silk/sport_8ball.png b/koha-tmpl/opac-tmpl/lib/famfamfam/silk/sport_8ball.png
new file mode 100644 (file)
index 0000000..4f627b7
Binary files /dev/null and b/koha-tmpl/opac-tmpl/lib/famfamfam/silk/sport_8ball.png differ
diff --git a/koha-tmpl/opac-tmpl/lib/famfamfam/silk/sport_basketball.png b/koha-tmpl/opac-tmpl/lib/famfamfam/silk/sport_basketball.png
new file mode 100644 (file)
index 0000000..f7a000b
Binary files /dev/null and b/koha-tmpl/opac-tmpl/lib/famfamfam/silk/sport_basketball.png differ
diff --git a/koha-tmpl/opac-tmpl/lib/famfamfam/silk/sport_football.png b/koha-tmpl/opac-tmpl/lib/famfamfam/silk/sport_football.png
new file mode 100644 (file)
index 0000000..199f0f7
Binary files /dev/null and b/koha-tmpl/opac-tmpl/lib/famfamfam/silk/sport_football.png differ
diff --git a/koha-tmpl/opac-tmpl/lib/famfamfam/silk/sport_golf.png b/koha-tmpl/opac-tmpl/lib/famfamfam/silk/sport_golf.png
new file mode 100644 (file)
index 0000000..e21fa44
Binary files /dev/null and b/koha-tmpl/opac-tmpl/lib/famfamfam/silk/sport_golf.png differ
diff --git a/koha-tmpl/opac-tmpl/lib/famfamfam/silk/sport_raquet.png b/koha-tmpl/opac-tmpl/lib/famfamfam/silk/sport_raquet.png
new file mode 100644 (file)
index 0000000..f5e0f0c
Binary files /dev/null and b/koha-tmpl/opac-tmpl/lib/famfamfam/silk/sport_raquet.png differ
diff --git a/koha-tmpl/opac-tmpl/lib/famfamfam/silk/sport_shuttlecock.png b/koha-tmpl/opac-tmpl/lib/famfamfam/silk/sport_shuttlecock.png
new file mode 100644 (file)
index 0000000..917287f
Binary files /dev/null and b/koha-tmpl/opac-tmpl/lib/famfamfam/silk/sport_shuttlecock.png differ
diff --git a/koha-tmpl/opac-tmpl/lib/famfamfam/silk/sport_soccer.png b/koha-tmpl/opac-tmpl/lib/famfamfam/silk/sport_soccer.png
new file mode 100644 (file)
index 0000000..3eb1828
Binary files /dev/null and b/koha-tmpl/opac-tmpl/lib/famfamfam/silk/sport_soccer.png differ
diff --git a/koha-tmpl/opac-tmpl/lib/famfamfam/silk/sport_tennis.png b/koha-tmpl/opac-tmpl/lib/famfamfam/silk/sport_tennis.png
new file mode 100644 (file)
index 0000000..e88a6ef
Binary files /dev/null and b/koha-tmpl/opac-tmpl/lib/famfamfam/silk/sport_tennis.png differ
diff --git a/koha-tmpl/opac-tmpl/lib/famfamfam/silk/star.png b/koha-tmpl/opac-tmpl/lib/famfamfam/silk/star.png
new file mode 100644 (file)
index 0000000..b88c857
Binary files /dev/null and b/koha-tmpl/opac-tmpl/lib/famfamfam/silk/star.png differ
diff --git a/koha-tmpl/opac-tmpl/lib/famfamfam/silk/status_away.png b/koha-tmpl/opac-tmpl/lib/famfamfam/silk/status_away.png
new file mode 100644 (file)
index 0000000..70bcbcc
Binary files /dev/null and b/koha-tmpl/opac-tmpl/lib/famfamfam/silk/status_away.png differ
diff --git a/koha-tmpl/opac-tmpl/lib/famfamfam/silk/status_busy.png b/koha-tmpl/opac-tmpl/lib/famfamfam/silk/status_busy.png
new file mode 100644 (file)
index 0000000..987c806
Binary files /dev/null and b/koha-tmpl/opac-tmpl/lib/famfamfam/silk/status_busy.png differ
diff --git a/koha-tmpl/opac-tmpl/lib/famfamfam/silk/status_offline.png b/koha-tmpl/opac-tmpl/lib/famfamfam/silk/status_offline.png
new file mode 100644 (file)
index 0000000..a88261a
Binary files /dev/null and b/koha-tmpl/opac-tmpl/lib/famfamfam/silk/status_offline.png differ
diff --git a/koha-tmpl/opac-tmpl/lib/famfamfam/silk/status_online.png b/koha-tmpl/opac-tmpl/lib/famfamfam/silk/status_online.png
new file mode 100644 (file)
index 0000000..947bd4b
Binary files /dev/null and b/koha-tmpl/opac-tmpl/lib/famfamfam/silk/status_online.png differ
diff --git a/koha-tmpl/opac-tmpl/lib/famfamfam/silk/stop.png b/koha-tmpl/opac-tmpl/lib/famfamfam/silk/stop.png
new file mode 100644 (file)
index 0000000..0cfd585
Binary files /dev/null and b/koha-tmpl/opac-tmpl/lib/famfamfam/silk/stop.png differ
diff --git a/koha-tmpl/opac-tmpl/lib/famfamfam/silk/style.png b/koha-tmpl/opac-tmpl/lib/famfamfam/silk/style.png
new file mode 100644 (file)
index 0000000..81e41de
Binary files /dev/null and b/koha-tmpl/opac-tmpl/lib/famfamfam/silk/style.png differ
diff --git a/koha-tmpl/opac-tmpl/lib/famfamfam/silk/style_add.png b/koha-tmpl/opac-tmpl/lib/famfamfam/silk/style_add.png
new file mode 100644 (file)
index 0000000..e0369c6
Binary files /dev/null and b/koha-tmpl/opac-tmpl/lib/famfamfam/silk/style_add.png differ
diff --git a/koha-tmpl/opac-tmpl/lib/famfamfam/silk/style_delete.png b/koha-tmpl/opac-tmpl/lib/famfamfam/silk/style_delete.png
new file mode 100644 (file)
index 0000000..640f187
Binary files /dev/null and b/koha-tmpl/opac-tmpl/lib/famfamfam/silk/style_delete.png differ
diff --git a/koha-tmpl/opac-tmpl/lib/famfamfam/silk/style_edit.png b/koha-tmpl/opac-tmpl/lib/famfamfam/silk/style_edit.png
new file mode 100644 (file)
index 0000000..25bb5b6
Binary files /dev/null and b/koha-tmpl/opac-tmpl/lib/famfamfam/silk/style_edit.png differ
diff --git a/koha-tmpl/opac-tmpl/lib/famfamfam/silk/style_go.png b/koha-tmpl/opac-tmpl/lib/famfamfam/silk/style_go.png
new file mode 100644 (file)
index 0000000..25d6181
Binary files /dev/null and b/koha-tmpl/opac-tmpl/lib/famfamfam/silk/style_go.png differ
diff --git a/koha-tmpl/opac-tmpl/lib/famfamfam/silk/sum.png b/koha-tmpl/opac-tmpl/lib/famfamfam/silk/sum.png
new file mode 100644 (file)
index 0000000..fd7b32e
Binary files /dev/null and b/koha-tmpl/opac-tmpl/lib/famfamfam/silk/sum.png differ
diff --git a/koha-tmpl/opac-tmpl/lib/famfamfam/silk/tab.png b/koha-tmpl/opac-tmpl/lib/famfamfam/silk/tab.png
new file mode 100644 (file)
index 0000000..3d8207f
Binary files /dev/null and b/koha-tmpl/opac-tmpl/lib/famfamfam/silk/tab.png differ
diff --git a/koha-tmpl/opac-tmpl/lib/famfamfam/silk/tab_add.png b/koha-tmpl/opac-tmpl/lib/famfamfam/silk/tab_add.png
new file mode 100644 (file)
index 0000000..d3b9936
Binary files /dev/null and b/koha-tmpl/opac-tmpl/lib/famfamfam/silk/tab_add.png differ
diff --git a/koha-tmpl/opac-tmpl/lib/famfamfam/silk/tab_delete.png b/koha-tmpl/opac-tmpl/lib/famfamfam/silk/tab_delete.png
new file mode 100644 (file)
index 0000000..100da2f
Binary files /dev/null and b/koha-tmpl/opac-tmpl/lib/famfamfam/silk/tab_delete.png differ
diff --git a/koha-tmpl/opac-tmpl/lib/famfamfam/silk/tab_edit.png b/koha-tmpl/opac-tmpl/lib/famfamfam/silk/tab_edit.png
new file mode 100644 (file)
index 0000000..4c09c0f
Binary files /dev/null and b/koha-tmpl/opac-tmpl/lib/famfamfam/silk/tab_edit.png differ
diff --git a/koha-tmpl/opac-tmpl/lib/famfamfam/silk/tab_go.png b/koha-tmpl/opac-tmpl/lib/famfamfam/silk/tab_go.png
new file mode 100644 (file)
index 0000000..844ce04
Binary files /dev/null and b/koha-tmpl/opac-tmpl/lib/famfamfam/silk/tab_go.png differ
diff --git a/koha-tmpl/opac-tmpl/lib/famfamfam/silk/table.png b/koha-tmpl/opac-tmpl/lib/famfamfam/silk/table.png
new file mode 100644 (file)
index 0000000..abcd936
Binary files /dev/null and b/koha-tmpl/opac-tmpl/lib/famfamfam/silk/table.png differ
diff --git a/koha-tmpl/opac-tmpl/lib/famfamfam/silk/table_add.png b/koha-tmpl/opac-tmpl/lib/famfamfam/silk/table_add.png
new file mode 100644 (file)
index 0000000..2a3e5c4
Binary files /dev/null and b/koha-tmpl/opac-tmpl/lib/famfamfam/silk/table_add.png differ
diff --git a/koha-tmpl/opac-tmpl/lib/famfamfam/silk/table_delete.png b/koha-tmpl/opac-tmpl/lib/famfamfam/silk/table_delete.png
new file mode 100644 (file)
index 0000000..b85916d
Binary files /dev/null and b/koha-tmpl/opac-tmpl/lib/famfamfam/silk/table_delete.png differ
diff --git a/koha-tmpl/opac-tmpl/lib/famfamfam/silk/table_edit.png b/koha-tmpl/opac-tmpl/lib/famfamfam/silk/table_edit.png
new file mode 100644 (file)
index 0000000..bfcb024
Binary files /dev/null and b/koha-tmpl/opac-tmpl/lib/famfamfam/silk/table_edit.png differ
diff --git a/koha-tmpl/opac-tmpl/lib/famfamfam/silk/table_error.png b/koha-tmpl/opac-tmpl/lib/famfamfam/silk/table_error.png
new file mode 100644 (file)
index 0000000..589e92b
Binary files /dev/null and b/koha-tmpl/opac-tmpl/lib/famfamfam/silk/table_error.png differ
diff --git a/koha-tmpl/opac-tmpl/lib/famfamfam/silk/table_gear.png b/koha-tmpl/opac-tmpl/lib/famfamfam/silk/table_gear.png
new file mode 100644 (file)
index 0000000..cfc2702
Binary files /dev/null and b/koha-tmpl/opac-tmpl/lib/famfamfam/silk/table_gear.png differ
diff --git a/koha-tmpl/opac-tmpl/lib/famfamfam/silk/table_go.png b/koha-tmpl/opac-tmpl/lib/famfamfam/silk/table_go.png
new file mode 100644 (file)
index 0000000..0528dfa
Binary files /dev/null and b/koha-tmpl/opac-tmpl/lib/famfamfam/silk/table_go.png differ
diff --git a/koha-tmpl/opac-tmpl/lib/famfamfam/silk/table_key.png b/koha-tmpl/opac-tmpl/lib/famfamfam/silk/table_key.png
new file mode 100644 (file)
index 0000000..34e23e2
Binary files /dev/null and b/koha-tmpl/opac-tmpl/lib/famfamfam/silk/table_key.png differ
diff --git a/koha-tmpl/opac-tmpl/lib/famfamfam/silk/table_lightning.png b/koha-tmpl/opac-tmpl/lib/famfamfam/silk/table_lightning.png
new file mode 100644 (file)
index 0000000..612612b
Binary files /dev/null and b/koha-tmpl/opac-tmpl/lib/famfamfam/silk/table_lightning.png differ
diff --git a/koha-tmpl/opac-tmpl/lib/famfamfam/silk/table_link.png b/koha-tmpl/opac-tmpl/lib/famfamfam/silk/table_link.png
new file mode 100644 (file)
index 0000000..decac8a
Binary files /dev/null and b/koha-tmpl/opac-tmpl/lib/famfamfam/silk/table_link.png differ
diff --git a/koha-tmpl/opac-tmpl/lib/famfamfam/silk/table_multiple.png b/koha-tmpl/opac-tmpl/lib/famfamfam/silk/table_multiple.png
new file mode 100644 (file)
index 0000000..d76448e
Binary files /dev/null and b/koha-tmpl/opac-tmpl/lib/famfamfam/silk/table_multiple.png differ
diff --git a/koha-tmpl/opac-tmpl/lib/famfamfam/silk/table_refresh.png b/koha-tmpl/opac-tmpl/lib/famfamfam/silk/table_refresh.png
new file mode 100644 (file)
index 0000000..ab92010
Binary files /dev/null and b/koha-tmpl/opac-tmpl/lib/famfamfam/silk/table_refresh.png differ
diff --git a/koha-tmpl/opac-tmpl/lib/famfamfam/silk/table_relationship.png b/koha-tmpl/opac-tmpl/lib/famfamfam/silk/table_relationship.png
new file mode 100644 (file)
index 0000000..28b8505
Binary files /dev/null and b/koha-tmpl/opac-tmpl/lib/famfamfam/silk/table_relationship.png differ
diff --git a/koha-tmpl/opac-tmpl/lib/famfamfam/silk/table_row_delete.png b/koha-tmpl/opac-tmpl/lib/famfamfam/silk/table_row_delete.png
new file mode 100644 (file)
index 0000000..54c6969
Binary files /dev/null and b/koha-tmpl/opac-tmpl/lib/famfamfam/silk/table_row_delete.png differ
diff --git a/koha-tmpl/opac-tmpl/lib/famfamfam/silk/table_row_insert.png b/koha-tmpl/opac-tmpl/lib/famfamfam/silk/table_row_insert.png
new file mode 100644 (file)
index 0000000..ff5925e
Binary files /dev/null and b/koha-tmpl/opac-tmpl/lib/famfamfam/silk/table_row_insert.png differ
diff --git a/koha-tmpl/opac-tmpl/lib/famfamfam/silk/table_save.png b/koha-tmpl/opac-tmpl/lib/famfamfam/silk/table_save.png
new file mode 100644 (file)
index 0000000..25b74d1
Binary files /dev/null and b/koha-tmpl/opac-tmpl/lib/famfamfam/silk/table_save.png differ
diff --git a/koha-tmpl/opac-tmpl/lib/famfamfam/silk/table_sort.png b/koha-tmpl/opac-tmpl/lib/famfamfam/silk/table_sort.png
new file mode 100644 (file)
index 0000000..ed6785a
Binary files /dev/null and b/koha-tmpl/opac-tmpl/lib/famfamfam/silk/table_sort.png differ
diff --git a/koha-tmpl/opac-tmpl/lib/famfamfam/silk/tag.png b/koha-tmpl/opac-tmpl/lib/famfamfam/silk/tag.png
new file mode 100644 (file)
index 0000000..e093032
Binary files /dev/null and b/koha-tmpl/opac-tmpl/lib/famfamfam/silk/tag.png differ
diff --git a/koha-tmpl/opac-tmpl/lib/famfamfam/silk/tag_blue.png b/koha-tmpl/opac-tmpl/lib/famfamfam/silk/tag_blue.png
new file mode 100644 (file)
index 0000000..9757fc6
Binary files /dev/null and b/koha-tmpl/opac-tmpl/lib/famfamfam/silk/tag_blue.png differ
diff --git a/koha-tmpl/opac-tmpl/lib/famfamfam/silk/tag_blue_add.png b/koha-tmpl/opac-tmpl/lib/famfamfam/silk/tag_blue_add.png
new file mode 100644 (file)
index 0000000..f135248
Binary files /dev/null and b/koha-tmpl/opac-tmpl/lib/famfamfam/silk/tag_blue_add.png differ
diff --git a/koha-tmpl/opac-tmpl/lib/famfamfam/silk/tag_blue_delete.png b/koha-tmpl/opac-tmpl/lib/famfamfam/silk/tag_blue_delete.png
new file mode 100644 (file)
index 0000000..9fbae67
Binary files /dev/null and b/koha-tmpl/opac-tmpl/lib/famfamfam/silk/tag_blue_delete.png differ
diff --git a/koha-tmpl/opac-tmpl/lib/famfamfam/silk/tag_blue_edit.png b/koha-tmpl/opac-tmpl/lib/famfamfam/silk/tag_blue_edit.png
new file mode 100644 (file)
index 0000000..2a9f626
Binary files /dev/null and b/koha-tmpl/opac-tmpl/lib/famfamfam/silk/tag_blue_edit.png differ
diff --git a/koha-tmpl/opac-tmpl/lib/famfamfam/silk/tag_green.png b/koha-tmpl/opac-tmpl/lib/famfamfam/silk/tag_green.png
new file mode 100644 (file)
index 0000000..83ec984
Binary files /dev/null and b/koha-tmpl/opac-tmpl/lib/famfamfam/silk/tag_green.png differ
diff --git a/koha-tmpl/opac-tmpl/lib/famfamfam/silk/tag_orange.png b/koha-tmpl/opac-tmpl/lib/famfamfam/silk/tag_orange.png
new file mode 100644 (file)
index 0000000..454a59f
Binary files /dev/null and b/koha-tmpl/opac-tmpl/lib/famfamfam/silk/tag_orange.png differ
diff --git a/koha-tmpl/opac-tmpl/lib/famfamfam/silk/tag_pink.png b/koha-tmpl/opac-tmpl/lib/famfamfam/silk/tag_pink.png
new file mode 100644 (file)
index 0000000..76e2296
Binary files /dev/null and b/koha-tmpl/opac-tmpl/lib/famfamfam/silk/tag_pink.png differ
diff --git a/koha-tmpl/opac-tmpl/lib/famfamfam/silk/tag_purple.png b/koha-tmpl/opac-tmpl/lib/famfamfam/silk/tag_purple.png
new file mode 100644 (file)
index 0000000..ebaf0e8
Binary files /dev/null and b/koha-tmpl/opac-tmpl/lib/famfamfam/silk/tag_purple.png differ
diff --git a/koha-tmpl/opac-tmpl/lib/famfamfam/silk/tag_red.png b/koha-tmpl/opac-tmpl/lib/famfamfam/silk/tag_red.png
new file mode 100644 (file)
index 0000000..6ebb37d
Binary files /dev/null and b/koha-tmpl/opac-tmpl/lib/famfamfam/silk/tag_red.png differ
diff --git a/koha-tmpl/opac-tmpl/lib/famfamfam/silk/tag_yellow.png b/koha-tmpl/opac-tmpl/lib/famfamfam/silk/tag_yellow.png
new file mode 100644 (file)
index 0000000..83d1292
Binary files /dev/null and b/koha-tmpl/opac-tmpl/lib/famfamfam/silk/tag_yellow.png differ
diff --git a/koha-tmpl/opac-tmpl/lib/famfamfam/silk/telephone.png b/koha-tmpl/opac-tmpl/lib/famfamfam/silk/telephone.png
new file mode 100644 (file)
index 0000000..cecc436
Binary files /dev/null and b/koha-tmpl/opac-tmpl/lib/famfamfam/silk/telephone.png differ
diff --git a/koha-tmpl/opac-tmpl/lib/famfamfam/silk/telephone_add.png b/koha-tmpl/opac-tmpl/lib/famfamfam/silk/telephone_add.png
new file mode 100644 (file)
index 0000000..5591cfc
Binary files /dev/null and b/koha-tmpl/opac-tmpl/lib/famfamfam/silk/telephone_add.png differ
diff --git a/koha-tmpl/opac-tmpl/lib/famfamfam/silk/telephone_delete.png b/koha-tmpl/opac-tmpl/lib/famfamfam/silk/telephone_delete.png
new file mode 100644 (file)
index 0000000..0013268
Binary files /dev/null and b/koha-tmpl/opac-tmpl/lib/famfamfam/silk/telephone_delete.png differ
diff --git a/koha-tmpl/opac-tmpl/lib/famfamfam/silk/telephone_edit.png b/koha-tmpl/opac-tmpl/lib/famfamfam/silk/telephone_edit.png
new file mode 100644 (file)
index 0000000..bcf6d7e
Binary files /dev/null and b/koha-tmpl/opac-tmpl/lib/famfamfam/silk/telephone_edit.png differ
diff --git a/koha-tmpl/opac-tmpl/lib/famfamfam/silk/telephone_error.png b/koha-tmpl/opac-tmpl/lib/famfamfam/silk/telephone_error.png
new file mode 100644 (file)
index 0000000..d3ec3a1
Binary files /dev/null and b/koha-tmpl/opac-tmpl/lib/famfamfam/silk/telephone_error.png differ
diff --git a/koha-tmpl/opac-tmpl/lib/famfamfam/silk/telephone_go.png b/koha-tmpl/opac-tmpl/lib/famfamfam/silk/telephone_go.png
new file mode 100644 (file)
index 0000000..395c8fb
Binary files /dev/null and b/koha-tmpl/opac-tmpl/lib/famfamfam/silk/telephone_go.png differ
diff --git a/koha-tmpl/opac-tmpl/lib/famfamfam/silk/telephone_key.png b/koha-tmpl/opac-tmpl/lib/famfamfam/silk/telephone_key.png
new file mode 100644 (file)
index 0000000..cef5dec
Binary files /dev/null and b/koha-tmpl/opac-tmpl/lib/famfamfam/silk/telephone_key.png differ
diff --git a/koha-tmpl/opac-tmpl/lib/famfamfam/silk/telephone_link.png b/koha-tmpl/opac-tmpl/lib/famfamfam/silk/telephone_link.png
new file mode 100644 (file)
index 0000000..ef1ee5d
Binary files /dev/null and b/koha-tmpl/opac-tmpl/lib/famfamfam/silk/telephone_link.png differ
diff --git a/koha-tmpl/opac-tmpl/lib/famfamfam/silk/television.png b/koha-tmpl/opac-tmpl/lib/famfamfam/silk/television.png
new file mode 100644 (file)
index 0000000..1738a4f
Binary files /dev/null and b/koha-tmpl/opac-tmpl/lib/famfamfam/silk/television.png differ
diff --git a/koha-tmpl/opac-tmpl/lib/famfamfam/silk/television_add.png b/koha-tmpl/opac-tmpl/lib/famfamfam/silk/television_add.png
new file mode 100644 (file)
index 0000000..2baaad9
Binary files /dev/null and b/koha-tmpl/opac-tmpl/lib/famfamfam/silk/television_add.png differ
diff --git a/koha-tmpl/opac-tmpl/lib/famfamfam/silk/television_delete.png b/koha-tmpl/opac-tmpl/lib/famfamfam/silk/television_delete.png
new file mode 100644 (file)
index 0000000..b9a5860
Binary files /dev/null and b/koha-tmpl/opac-tmpl/lib/famfamfam/silk/television_delete.png differ
diff --git a/koha-tmpl/opac-tmpl/lib/famfamfam/silk/text_align_center.png b/koha-tmpl/opac-tmpl/lib/famfamfam/silk/text_align_center.png
new file mode 100644 (file)
index 0000000..57beb38
Binary files /dev/null and b/koha-tmpl/opac-tmpl/lib/famfamfam/silk/text_align_center.png differ
diff --git a/koha-tmpl/opac-tmpl/lib/famfamfam/silk/text_align_justify.png b/koha-tmpl/opac-tmpl/lib/famfamfam/silk/text_align_justify.png
new file mode 100644 (file)
index 0000000..2fbdd69
Binary files /dev/null and b/koha-tmpl/opac-tmpl/lib/famfamfam/silk/text_align_justify.png differ
diff --git a/koha-tmpl/opac-tmpl/lib/famfamfam/silk/text_align_left.png b/koha-tmpl/opac-tmpl/lib/famfamfam/silk/text_align_left.png
new file mode 100644 (file)
index 0000000..6c8fcc1
Binary files /dev/null and b/koha-tmpl/opac-tmpl/lib/famfamfam/silk/text_align_left.png differ
diff --git a/koha-tmpl/opac-tmpl/lib/famfamfam/silk/text_align_right.png b/koha-tmpl/opac-tmpl/lib/famfamfam/silk/text_align_right.png
new file mode 100644 (file)
index 0000000..a150257
Binary files /dev/null and b/koha-tmpl/opac-tmpl/lib/famfamfam/silk/text_align_right.png differ
diff --git a/koha-tmpl/opac-tmpl/lib/famfamfam/silk/text_allcaps.png b/koha-tmpl/opac-tmpl/lib/famfamfam/silk/text_allcaps.png
new file mode 100644 (file)
index 0000000..280fd44
Binary files /dev/null and b/koha-tmpl/opac-tmpl/lib/famfamfam/silk/text_allcaps.png differ
diff --git a/koha-tmpl/opac-tmpl/lib/famfamfam/silk/text_bold.png b/koha-tmpl/opac-tmpl/lib/famfamfam/silk/text_bold.png
new file mode 100644 (file)
index 0000000..889ae80
Binary files /dev/null and b/koha-tmpl/opac-tmpl/lib/famfamfam/silk/text_bold.png differ
diff --git a/koha-tmpl/opac-tmpl/lib/famfamfam/silk/text_columns.png b/koha-tmpl/opac-tmpl/lib/famfamfam/silk/text_columns.png
new file mode 100644 (file)
index 0000000..97b2e03
Binary files /dev/null and b/koha-tmpl/opac-tmpl/lib/famfamfam/silk/text_columns.png differ
diff --git a/koha-tmpl/opac-tmpl/lib/famfamfam/silk/text_dropcaps.png b/koha-tmpl/opac-tmpl/lib/famfamfam/silk/text_dropcaps.png
new file mode 100644 (file)
index 0000000..dd65786
Binary files /dev/null and b/koha-tmpl/opac-tmpl/lib/famfamfam/silk/text_dropcaps.png differ
diff --git a/koha-tmpl/opac-tmpl/lib/famfamfam/silk/text_heading_1.png b/koha-tmpl/opac-tmpl/lib/famfamfam/silk/text_heading_1.png
new file mode 100644 (file)
index 0000000..9c122e9
Binary files /dev/null and b/koha-tmpl/opac-tmpl/lib/famfamfam/silk/text_heading_1.png differ
diff --git a/koha-tmpl/opac-tmpl/lib/famfamfam/silk/text_heading_2.png b/koha-tmpl/opac-tmpl/lib/famfamfam/silk/text_heading_2.png
new file mode 100644 (file)
index 0000000..fbd8765
Binary files /dev/null and b/koha-tmpl/opac-tmpl/lib/famfamfam/silk/text_heading_2.png differ
diff --git a/koha-tmpl/opac-tmpl/lib/famfamfam/silk/text_heading_3.png b/koha-tmpl/opac-tmpl/lib/famfamfam/silk/text_heading_3.png
new file mode 100644 (file)
index 0000000..c7836cf
Binary files /dev/null and b/koha-tmpl/opac-tmpl/lib/famfamfam/silk/text_heading_3.png differ
diff --git a/koha-tmpl/opac-tmpl/lib/famfamfam/silk/text_heading_4.png b/koha-tmpl/opac-tmpl/lib/famfamfam/silk/text_heading_4.png
new file mode 100644 (file)
index 0000000..4e929ea
Binary files /dev/null and b/koha-tmpl/opac-tmpl/lib/famfamfam/silk/text_heading_4.png differ
diff --git a/koha-tmpl/opac-tmpl/lib/famfamfam/silk/text_heading_5.png b/koha-tmpl/opac-tmpl/lib/famfamfam/silk/text_heading_5.png
new file mode 100644 (file)
index 0000000..30cabeb
Binary files /dev/null and b/koha-tmpl/opac-tmpl/lib/famfamfam/silk/text_heading_5.png differ
diff --git a/koha-tmpl/opac-tmpl/lib/famfamfam/silk/text_heading_6.png b/koha-tmpl/opac-tmpl/lib/famfamfam/silk/text_heading_6.png
new file mode 100644 (file)
index 0000000..058170a
Binary files /dev/null and b/koha-tmpl/opac-tmpl/lib/famfamfam/silk/text_heading_6.png differ
diff --git a/koha-tmpl/opac-tmpl/lib/famfamfam/silk/text_horizontalrule.png b/koha-tmpl/opac-tmpl/lib/famfamfam/silk/text_horizontalrule.png
new file mode 100644 (file)
index 0000000..8dd1da1
Binary files /dev/null and b/koha-tmpl/opac-tmpl/lib/famfamfam/silk/text_horizontalrule.png differ
diff --git a/koha-tmpl/opac-tmpl/lib/famfamfam/silk/text_indent.png b/koha-tmpl/opac-tmpl/lib/famfamfam/silk/text_indent.png
new file mode 100644 (file)
index 0000000..9364532
Binary files /dev/null and b/koha-tmpl/opac-tmpl/lib/famfamfam/silk/text_indent.png differ
diff --git a/koha-tmpl/opac-tmpl/lib/famfamfam/silk/text_indent_remove.png b/koha-tmpl/opac-tmpl/lib/famfamfam/silk/text_indent_remove.png
new file mode 100644 (file)
index 0000000..1651b07
Binary files /dev/null and b/koha-tmpl/opac-tmpl/lib/famfamfam/silk/text_indent_remove.png differ
diff --git a/koha-tmpl/opac-tmpl/lib/famfamfam/silk/text_italic.png b/koha-tmpl/opac-tmpl/lib/famfamfam/silk/text_italic.png
new file mode 100644 (file)
index 0000000..8482ac8
Binary files /dev/null and b/koha-tmpl/opac-tmpl/lib/famfamfam/silk/text_italic.png differ
diff --git a/koha-tmpl/opac-tmpl/lib/famfamfam/silk/text_kerning.png b/koha-tmpl/opac-tmpl/lib/famfamfam/silk/text_kerning.png
new file mode 100644 (file)
index 0000000..377def6
Binary files /dev/null and b/koha-tmpl/opac-tmpl/lib/famfamfam/silk/text_kerning.png differ
diff --git a/koha-tmpl/opac-tmpl/lib/famfamfam/silk/text_letter_omega.png b/koha-tmpl/opac-tmpl/lib/famfamfam/silk/text_letter_omega.png
new file mode 100644 (file)
index 0000000..5075ec6
Binary files /dev/null and b/koha-tmpl/opac-tmpl/lib/famfamfam/silk/text_letter_omega.png differ
diff --git a/koha-tmpl/opac-tmpl/lib/famfamfam/silk/text_letterspacing.png b/koha-tmpl/opac-tmpl/lib/famfamfam/silk/text_letterspacing.png
new file mode 100644 (file)
index 0000000..41390f5
Binary files /dev/null and b/koha-tmpl/opac-tmpl/lib/famfamfam/silk/text_letterspacing.png differ
diff --git a/koha-tmpl/opac-tmpl/lib/famfamfam/silk/text_linespacing.png b/koha-tmpl/opac-tmpl/lib/famfamfam/silk/text_linespacing.png
new file mode 100644 (file)
index 0000000..1a91cbd
Binary files /dev/null and b/koha-tmpl/opac-tmpl/lib/famfamfam/silk/text_linespacing.png differ
diff --git a/koha-tmpl/opac-tmpl/lib/famfamfam/silk/text_list_bullets.png b/koha-tmpl/opac-tmpl/lib/famfamfam/silk/text_list_bullets.png
new file mode 100644 (file)
index 0000000..4a8672b
Binary files /dev/null and b/koha-tmpl/opac-tmpl/lib/famfamfam/silk/text_list_bullets.png differ
diff --git a/koha-tmpl/opac-tmpl/lib/famfamfam/silk/text_list_numbers.png b/koha-tmpl/opac-tmpl/lib/famfamfam/silk/text_list_numbers.png
new file mode 100644 (file)
index 0000000..33b0b8d
Binary files /dev/null and b/koha-tmpl/opac-tmpl/lib/famfamfam/silk/text_list_numbers.png differ
diff --git a/koha-tmpl/opac-tmpl/lib/famfamfam/silk/text_lowercase.png b/koha-tmpl/opac-tmpl/lib/famfamfam/silk/text_lowercase.png
new file mode 100644 (file)
index 0000000..382a102
Binary files /dev/null and b/koha-tmpl/opac-tmpl/lib/famfamfam/silk/text_lowercase.png differ
diff --git a/koha-tmpl/opac-tmpl/lib/famfamfam/silk/text_padding_bottom.png b/koha-tmpl/opac-tmpl/lib/famfamfam/silk/text_padding_bottom.png
new file mode 100644 (file)
index 0000000..4880c43
Binary files /dev/null and b/koha-tmpl/opac-tmpl/lib/famfamfam/silk/text_padding_bottom.png differ
diff --git a/koha-tmpl/opac-tmpl/lib/famfamfam/silk/text_padding_left.png b/koha-tmpl/opac-tmpl/lib/famfamfam/silk/text_padding_left.png
new file mode 100644 (file)
index 0000000..b55482e
Binary files /dev/null and b/koha-tmpl/opac-tmpl/lib/famfamfam/silk/text_padding_left.png differ
diff --git a/koha-tmpl/opac-tmpl/lib/famfamfam/silk/text_padding_right.png b/koha-tmpl/opac-tmpl/lib/famfamfam/silk/text_padding_right.png
new file mode 100644 (file)
index 0000000..106edae
Binary files /dev/null and b/koha-tmpl/opac-tmpl/lib/famfamfam/silk/text_padding_right.png differ
diff --git a/koha-tmpl/opac-tmpl/lib/famfamfam/silk/text_padding_top.png b/koha-tmpl/opac-tmpl/lib/famfamfam/silk/text_padding_top.png
new file mode 100644 (file)
index 0000000..c5c45b2
Binary files /dev/null and b/koha-tmpl/opac-tmpl/lib/famfamfam/silk/text_padding_top.png differ
diff --git a/koha-tmpl/opac-tmpl/lib/famfamfam/silk/text_replace.png b/koha-tmpl/opac-tmpl/lib/famfamfam/silk/text_replace.png
new file mode 100644 (file)
index 0000000..877f82f
Binary files /dev/null and b/koha-tmpl/opac-tmpl/lib/famfamfam/silk/text_replace.png differ
diff --git a/koha-tmpl/opac-tmpl/lib/famfamfam/silk/text_signature.png b/koha-tmpl/opac-tmpl/lib/famfamfam/silk/text_signature.png
new file mode 100644 (file)
index 0000000..c72fd80
Binary files /dev/null and b/koha-tmpl/opac-tmpl/lib/famfamfam/silk/text_signature.png differ
diff --git a/koha-tmpl/opac-tmpl/lib/famfamfam/silk/text_smallcaps.png b/koha-tmpl/opac-tmpl/lib/famfamfam/silk/text_smallcaps.png
new file mode 100644 (file)
index 0000000..5b98a6e
Binary files /dev/null and b/koha-tmpl/opac-tmpl/lib/famfamfam/silk/text_smallcaps.png differ
diff --git a/koha-tmpl/opac-tmpl/lib/famfamfam/silk/text_strikethrough.png b/koha-tmpl/opac-tmpl/lib/famfamfam/silk/text_strikethrough.png
new file mode 100644 (file)
index 0000000..612058a
Binary files /dev/null and b/koha-tmpl/opac-tmpl/lib/famfamfam/silk/text_strikethrough.png differ
diff --git a/koha-tmpl/opac-tmpl/lib/famfamfam/silk/text_subscript.png b/koha-tmpl/opac-tmpl/lib/famfamfam/silk/text_subscript.png
new file mode 100644 (file)
index 0000000..1a2b010
Binary files /dev/null and b/koha-tmpl/opac-tmpl/lib/famfamfam/silk/text_subscript.png differ
diff --git a/koha-tmpl/opac-tmpl/lib/famfamfam/silk/text_superscript.png b/koha-tmpl/opac-tmpl/lib/famfamfam/silk/text_superscript.png
new file mode 100644 (file)
index 0000000..2fb2a7c
Binary files /dev/null and b/koha-tmpl/opac-tmpl/lib/famfamfam/silk/text_superscript.png differ
diff --git a/koha-tmpl/opac-tmpl/lib/famfamfam/silk/text_underline.png b/koha-tmpl/opac-tmpl/lib/famfamfam/silk/text_underline.png
new file mode 100644 (file)
index 0000000..90d0df2
Binary files /dev/null and b/koha-tmpl/opac-tmpl/lib/famfamfam/silk/text_underline.png differ
diff --git a/koha-tmpl/opac-tmpl/lib/famfamfam/silk/text_uppercase.png b/koha-tmpl/opac-tmpl/lib/famfamfam/silk/text_uppercase.png
new file mode 100644 (file)
index 0000000..8dcc2db
Binary files /dev/null and b/koha-tmpl/opac-tmpl/lib/famfamfam/silk/text_uppercase.png differ
diff --git a/koha-tmpl/opac-tmpl/lib/famfamfam/silk/textfield.png b/koha-tmpl/opac-tmpl/lib/famfamfam/silk/textfield.png
new file mode 100644 (file)
index 0000000..d37e730
Binary files /dev/null and b/koha-tmpl/opac-tmpl/lib/famfamfam/silk/textfield.png differ
diff --git a/koha-tmpl/opac-tmpl/lib/famfamfam/silk/textfield_add.png b/koha-tmpl/opac-tmpl/lib/famfamfam/silk/textfield_add.png
new file mode 100644 (file)
index 0000000..204de72
Binary files /dev/null and b/koha-tmpl/opac-tmpl/lib/famfamfam/silk/textfield_add.png differ
diff --git a/koha-tmpl/opac-tmpl/lib/famfamfam/silk/textfield_delete.png b/koha-tmpl/opac-tmpl/lib/famfamfam/silk/textfield_delete.png
new file mode 100644 (file)
index 0000000..c7bd58b
Binary files /dev/null and b/koha-tmpl/opac-tmpl/lib/famfamfam/silk/textfield_delete.png differ
diff --git a/koha-tmpl/opac-tmpl/lib/famfamfam/silk/textfield_key.png b/koha-tmpl/opac-tmpl/lib/famfamfam/silk/textfield_key.png
new file mode 100644 (file)
index 0000000..a9d5e4f
Binary files /dev/null and b/koha-tmpl/opac-tmpl/lib/famfamfam/silk/textfield_key.png differ
diff --git a/koha-tmpl/opac-tmpl/lib/famfamfam/silk/textfield_rename.png b/koha-tmpl/opac-tmpl/lib/famfamfam/silk/textfield_rename.png
new file mode 100644 (file)
index 0000000..4e3688e
Binary files /dev/null and b/koha-tmpl/opac-tmpl/lib/famfamfam/silk/textfield_rename.png differ
diff --git a/koha-tmpl/opac-tmpl/lib/famfamfam/silk/thumb_down.png b/koha-tmpl/opac-tmpl/lib/famfamfam/silk/thumb_down.png
new file mode 100644 (file)
index 0000000..3c832d4
Binary files /dev/null and b/koha-tmpl/opac-tmpl/lib/famfamfam/silk/thumb_down.png differ
diff --git a/koha-tmpl/opac-tmpl/lib/famfamfam/silk/thumb_up.png b/koha-tmpl/opac-tmpl/lib/famfamfam/silk/thumb_up.png
new file mode 100644 (file)
index 0000000..2bd16cc
Binary files /dev/null and b/koha-tmpl/opac-tmpl/lib/famfamfam/silk/thumb_up.png differ
diff --git a/koha-tmpl/opac-tmpl/lib/famfamfam/silk/tick.png b/koha-tmpl/opac-tmpl/lib/famfamfam/silk/tick.png
new file mode 100644 (file)
index 0000000..a9925a0
Binary files /dev/null and b/koha-tmpl/opac-tmpl/lib/famfamfam/silk/tick.png differ
diff --git a/koha-tmpl/opac-tmpl/lib/famfamfam/silk/time.png b/koha-tmpl/opac-tmpl/lib/famfamfam/silk/time.png
new file mode 100644 (file)
index 0000000..911da3f
Binary files /dev/null and b/koha-tmpl/opac-tmpl/lib/famfamfam/silk/time.png differ
diff --git a/koha-tmpl/opac-tmpl/lib/famfamfam/silk/time_add.png b/koha-tmpl/opac-tmpl/lib/famfamfam/silk/time_add.png
new file mode 100644 (file)
index 0000000..dcc45cb
Binary files /dev/null and b/koha-tmpl/opac-tmpl/lib/famfamfam/silk/time_add.png differ
diff --git a/koha-tmpl/opac-tmpl/lib/famfamfam/silk/time_delete.png b/koha-tmpl/opac-tmpl/lib/famfamfam/silk/time_delete.png
new file mode 100644 (file)
index 0000000..5bf8313
Binary files /dev/null and b/koha-tmpl/opac-tmpl/lib/famfamfam/silk/time_delete.png differ
diff --git a/koha-tmpl/opac-tmpl/lib/famfamfam/silk/time_go.png b/koha-tmpl/opac-tmpl/lib/famfamfam/silk/time_go.png
new file mode 100644 (file)
index 0000000..d451ee0
Binary files /dev/null and b/koha-tmpl/opac-tmpl/lib/famfamfam/silk/time_go.png differ
diff --git a/koha-tmpl/opac-tmpl/lib/famfamfam/silk/timeline_marker.png b/koha-tmpl/opac-tmpl/lib/famfamfam/silk/timeline_marker.png
new file mode 100644 (file)
index 0000000..a3fbddf
Binary files /dev/null and b/koha-tmpl/opac-tmpl/lib/famfamfam/silk/timeline_marker.png differ
diff --git a/koha-tmpl/opac-tmpl/lib/famfamfam/silk/transmit.png b/koha-tmpl/opac-tmpl/lib/famfamfam/silk/transmit.png
new file mode 100644 (file)
index 0000000..f54bf73
Binary files /dev/null and b/koha-tmpl/opac-tmpl/lib/famfamfam/silk/transmit.png differ
diff --git a/koha-tmpl/opac-tmpl/lib/famfamfam/silk/transmit_add.png b/koha-tmpl/opac-tmpl/lib/famfamfam/silk/transmit_add.png
new file mode 100644 (file)
index 0000000..b7fd4e6
Binary files /dev/null and b/koha-tmpl/opac-tmpl/lib/famfamfam/silk/transmit_add.png differ
diff --git a/koha-tmpl/opac-tmpl/lib/famfamfam/silk/transmit_blue.png b/koha-tmpl/opac-tmpl/lib/famfamfam/silk/transmit_blue.png
new file mode 100644 (file)
index 0000000..7b1142f
Binary files /dev/null and b/koha-tmpl/opac-tmpl/lib/famfamfam/silk/transmit_blue.png differ
diff --git a/koha-tmpl/opac-tmpl/lib/famfamfam/silk/transmit_delete.png b/koha-tmpl/opac-tmpl/lib/famfamfam/silk/transmit_delete.png
new file mode 100644 (file)
index 0000000..3d72be2
Binary files /dev/null and b/koha-tmpl/opac-tmpl/lib/famfamfam/silk/transmit_delete.png differ
diff --git a/koha-tmpl/opac-tmpl/lib/famfamfam/silk/transmit_edit.png b/koha-tmpl/opac-tmpl/lib/famfamfam/silk/transmit_edit.png
new file mode 100644 (file)
index 0000000..eb9a3dd
Binary files /dev/null and b/koha-tmpl/opac-tmpl/lib/famfamfam/silk/transmit_edit.png differ
diff --git a/koha-tmpl/opac-tmpl/lib/famfamfam/silk/transmit_error.png b/koha-tmpl/opac-tmpl/lib/famfamfam/silk/transmit_error.png
new file mode 100644 (file)
index 0000000..fd1d449
Binary files /dev/null and b/koha-tmpl/opac-tmpl/lib/famfamfam/silk/transmit_error.png differ
diff --git a/koha-tmpl/opac-tmpl/lib/famfamfam/silk/transmit_go.png b/koha-tmpl/opac-tmpl/lib/famfamfam/silk/transmit_go.png
new file mode 100644 (file)
index 0000000..10137e5
Binary files /dev/null and b/koha-tmpl/opac-tmpl/lib/famfamfam/silk/transmit_go.png differ
diff --git a/koha-tmpl/opac-tmpl/lib/famfamfam/silk/tux.png b/koha-tmpl/opac-tmpl/lib/famfamfam/silk/tux.png
new file mode 100644 (file)
index 0000000..bbefe2e
Binary files /dev/null and b/koha-tmpl/opac-tmpl/lib/famfamfam/silk/tux.png differ
diff --git a/koha-tmpl/opac-tmpl/lib/famfamfam/silk/user.png b/koha-tmpl/opac-tmpl/lib/famfamfam/silk/user.png
new file mode 100644 (file)
index 0000000..79f35cc
Binary files /dev/null and b/koha-tmpl/opac-tmpl/lib/famfamfam/silk/user.png differ
diff --git a/koha-tmpl/opac-tmpl/lib/famfamfam/silk/user_add.png b/koha-tmpl/opac-tmpl/lib/famfamfam/silk/user_add.png
new file mode 100644 (file)
index 0000000..deae99b
Binary files /dev/null and b/koha-tmpl/opac-tmpl/lib/famfamfam/silk/user_add.png differ
diff --git a/koha-tmpl/opac-tmpl/lib/famfamfam/silk/user_comment.png b/koha-tmpl/opac-tmpl/lib/famfamfam/silk/user_comment.png
new file mode 100644 (file)
index 0000000..e54ebeb
Binary files /dev/null and b/koha-tmpl/opac-tmpl/lib/famfamfam/silk/user_comment.png differ
diff --git a/koha-tmpl/opac-tmpl/lib/famfamfam/silk/user_delete.png b/koha-tmpl/opac-tmpl/lib/famfamfam/silk/user_delete.png
new file mode 100644 (file)
index 0000000..acbb563
Binary files /dev/null and b/koha-tmpl/opac-tmpl/lib/famfamfam/silk/user_delete.png differ
diff --git a/koha-tmpl/opac-tmpl/lib/famfamfam/silk/user_edit.png b/koha-tmpl/opac-tmpl/lib/famfamfam/silk/user_edit.png
new file mode 100644 (file)
index 0000000..c1974cd
Binary files /dev/null and b/koha-tmpl/opac-tmpl/lib/famfamfam/silk/user_edit.png differ
diff --git a/koha-tmpl/opac-tmpl/lib/famfamfam/silk/user_female.png b/koha-tmpl/opac-tmpl/lib/famfamfam/silk/user_female.png
new file mode 100644 (file)
index 0000000..7c71de0
Binary files /dev/null and b/koha-tmpl/opac-tmpl/lib/famfamfam/silk/user_female.png differ
diff --git a/koha-tmpl/opac-tmpl/lib/famfamfam/silk/user_go.png b/koha-tmpl/opac-tmpl/lib/famfamfam/silk/user_go.png
new file mode 100644 (file)
index 0000000..0468cf0
Binary files /dev/null and b/koha-tmpl/opac-tmpl/lib/famfamfam/silk/user_go.png differ
diff --git a/koha-tmpl/opac-tmpl/lib/famfamfam/silk/user_gray.png b/koha-tmpl/opac-tmpl/lib/famfamfam/silk/user_gray.png
new file mode 100644 (file)
index 0000000..8fd539e
Binary files /dev/null and b/koha-tmpl/opac-tmpl/lib/famfamfam/silk/user_gray.png differ
diff --git a/koha-tmpl/opac-tmpl/lib/famfamfam/silk/user_green.png b/koha-tmpl/opac-tmpl/lib/famfamfam/silk/user_green.png
new file mode 100644 (file)
index 0000000..30383c2
Binary files /dev/null and b/koha-tmpl/opac-tmpl/lib/famfamfam/silk/user_green.png differ
diff --git a/koha-tmpl/opac-tmpl/lib/famfamfam/silk/user_orange.png b/koha-tmpl/opac-tmpl/lib/famfamfam/silk/user_orange.png
new file mode 100644 (file)
index 0000000..b818127
Binary files /dev/null and b/koha-tmpl/opac-tmpl/lib/famfamfam/silk/user_orange.png differ
diff --git a/koha-tmpl/opac-tmpl/lib/famfamfam/silk/user_red.png b/koha-tmpl/opac-tmpl/lib/famfamfam/silk/user_red.png
new file mode 100644 (file)
index 0000000..c6f66e8
Binary files /dev/null and b/koha-tmpl/opac-tmpl/lib/famfamfam/silk/user_red.png differ
diff --git a/koha-tmpl/opac-tmpl/lib/famfamfam/silk/user_suit.png b/koha-tmpl/opac-tmpl/lib/famfamfam/silk/user_suit.png
new file mode 100644 (file)
index 0000000..b3454e1
Binary files /dev/null and b/koha-tmpl/opac-tmpl/lib/famfamfam/silk/user_suit.png differ
diff --git a/koha-tmpl/opac-tmpl/lib/famfamfam/silk/vcard.png b/koha-tmpl/opac-tmpl/lib/famfamfam/silk/vcard.png
new file mode 100644 (file)
index 0000000..c02f315
Binary files /dev/null and b/koha-tmpl/opac-tmpl/lib/famfamfam/silk/vcard.png differ
diff --git a/koha-tmpl/opac-tmpl/lib/famfamfam/silk/vcard_add.png b/koha-tmpl/opac-tmpl/lib/famfamfam/silk/vcard_add.png
new file mode 100644 (file)
index 0000000..2a68453
Binary files /dev/null and b/koha-tmpl/opac-tmpl/lib/famfamfam/silk/vcard_add.png differ
diff --git a/koha-tmpl/opac-tmpl/lib/famfamfam/silk/vcard_delete.png b/koha-tmpl/opac-tmpl/lib/famfamfam/silk/vcard_delete.png
new file mode 100644 (file)
index 0000000..b194b97
Binary files /dev/null and b/koha-tmpl/opac-tmpl/lib/famfamfam/silk/vcard_delete.png differ
diff --git a/koha-tmpl/opac-tmpl/lib/famfamfam/silk/vcard_edit.png b/koha-tmpl/opac-tmpl/lib/famfamfam/silk/vcard_edit.png
new file mode 100644 (file)
index 0000000..ab0f6e7
Binary files /dev/null and b/koha-tmpl/opac-tmpl/lib/famfamfam/silk/vcard_edit.png differ
diff --git a/koha-tmpl/opac-tmpl/lib/famfamfam/silk/vector.png b/koha-tmpl/opac-tmpl/lib/famfamfam/silk/vector.png
new file mode 100644 (file)
index 0000000..a1291c2
Binary files /dev/null and b/koha-tmpl/opac-tmpl/lib/famfamfam/silk/vector.png differ
diff --git a/koha-tmpl/opac-tmpl/lib/famfamfam/silk/vector_add.png b/koha-tmpl/opac-tmpl/lib/famfamfam/silk/vector_add.png
new file mode 100644 (file)
index 0000000..988770f
Binary files /dev/null and b/koha-tmpl/opac-tmpl/lib/famfamfam/silk/vector_add.png differ
diff --git a/koha-tmpl/opac-tmpl/lib/famfamfam/silk/vector_delete.png b/koha-tmpl/opac-tmpl/lib/famfamfam/silk/vector_delete.png
new file mode 100644 (file)
index 0000000..ca139e0
Binary files /dev/null and b/koha-tmpl/opac-tmpl/lib/famfamfam/silk/vector_delete.png differ
diff --git a/koha-tmpl/opac-tmpl/lib/famfamfam/silk/wand.png b/koha-tmpl/opac-tmpl/lib/famfamfam/silk/wand.png
new file mode 100644 (file)
index 0000000..44ccbf8
Binary files /dev/null and b/koha-tmpl/opac-tmpl/lib/famfamfam/silk/wand.png differ
diff --git a/koha-tmpl/opac-tmpl/lib/famfamfam/silk/weather_clouds.png b/koha-tmpl/opac-tmpl/lib/famfamfam/silk/weather_clouds.png
new file mode 100644 (file)
index 0000000..3f73eaa
Binary files /dev/null and b/koha-tmpl/opac-tmpl/lib/famfamfam/silk/weather_clouds.png differ
diff --git a/koha-tmpl/opac-tmpl/lib/famfamfam/silk/weather_cloudy.png b/koha-tmpl/opac-tmpl/lib/famfamfam/silk/weather_cloudy.png
new file mode 100644 (file)
index 0000000..5856e1d
Binary files /dev/null and b/koha-tmpl/opac-tmpl/lib/famfamfam/silk/weather_cloudy.png differ
diff --git a/koha-tmpl/opac-tmpl/lib/famfamfam/silk/weather_lightning.png b/koha-tmpl/opac-tmpl/lib/famfamfam/silk/weather_lightning.png
new file mode 100644 (file)
index 0000000..1d42b36
Binary files /dev/null and b/koha-tmpl/opac-tmpl/lib/famfamfam/silk/weather_lightning.png differ
diff --git a/koha-tmpl/opac-tmpl/lib/famfamfam/silk/weather_rain.png b/koha-tmpl/opac-tmpl/lib/famfamfam/silk/weather_rain.png
new file mode 100644 (file)
index 0000000..cb3d54d
Binary files /dev/null and b/koha-tmpl/opac-tmpl/lib/famfamfam/silk/weather_rain.png differ
diff --git a/koha-tmpl/opac-tmpl/lib/famfamfam/silk/weather_snow.png b/koha-tmpl/opac-tmpl/lib/famfamfam/silk/weather_snow.png
new file mode 100644 (file)
index 0000000..45bbdf1
Binary files /dev/null and b/koha-tmpl/opac-tmpl/lib/famfamfam/silk/weather_snow.png differ
diff --git a/koha-tmpl/opac-tmpl/lib/famfamfam/silk/weather_sun.png b/koha-tmpl/opac-tmpl/lib/famfamfam/silk/weather_sun.png
new file mode 100644 (file)
index 0000000..0156c26
Binary files /dev/null and b/koha-tmpl/opac-tmpl/lib/famfamfam/silk/weather_sun.png differ
diff --git a/koha-tmpl/opac-tmpl/lib/famfamfam/silk/webcam.png b/koha-tmpl/opac-tmpl/lib/famfamfam/silk/webcam.png
new file mode 100644 (file)
index 0000000..af71c30
Binary files /dev/null and b/koha-tmpl/opac-tmpl/lib/famfamfam/silk/webcam.png differ
diff --git a/koha-tmpl/opac-tmpl/lib/famfamfam/silk/webcam_add.png b/koha-tmpl/opac-tmpl/lib/famfamfam/silk/webcam_add.png
new file mode 100644 (file)
index 0000000..f02fcfa
Binary files /dev/null and b/koha-tmpl/opac-tmpl/lib/famfamfam/silk/webcam_add.png differ
diff --git a/koha-tmpl/opac-tmpl/lib/famfamfam/silk/webcam_delete.png b/koha-tmpl/opac-tmpl/lib/famfamfam/silk/webcam_delete.png
new file mode 100644 (file)
index 0000000..bd6277f
Binary files /dev/null and b/koha-tmpl/opac-tmpl/lib/famfamfam/silk/webcam_delete.png differ
diff --git a/koha-tmpl/opac-tmpl/lib/famfamfam/silk/webcam_error.png b/koha-tmpl/opac-tmpl/lib/famfamfam/silk/webcam_error.png
new file mode 100644 (file)
index 0000000..2faa706
Binary files /dev/null and b/koha-tmpl/opac-tmpl/lib/famfamfam/silk/webcam_error.png differ
diff --git a/koha-tmpl/opac-tmpl/lib/famfamfam/silk/world.png b/koha-tmpl/opac-tmpl/lib/famfamfam/silk/world.png
new file mode 100644 (file)
index 0000000..68f21d3
Binary files /dev/null and b/koha-tmpl/opac-tmpl/lib/famfamfam/silk/world.png differ
diff --git a/koha-tmpl/opac-tmpl/lib/famfamfam/silk/world_add.png b/koha-tmpl/opac-tmpl/lib/famfamfam/silk/world_add.png
new file mode 100644 (file)
index 0000000..6d0d7f7
Binary files /dev/null and b/koha-tmpl/opac-tmpl/lib/famfamfam/silk/world_add.png differ
diff --git a/koha-tmpl/opac-tmpl/lib/famfamfam/silk/world_delete.png b/koha-tmpl/opac-tmpl/lib/famfamfam/silk/world_delete.png
new file mode 100644 (file)
index 0000000..ffcd115
Binary files /dev/null and b/koha-tmpl/opac-tmpl/lib/famfamfam/silk/world_delete.png differ
diff --git a/koha-tmpl/opac-tmpl/lib/famfamfam/silk/world_edit.png b/koha-tmpl/opac-tmpl/lib/famfamfam/silk/world_edit.png
new file mode 100644 (file)
index 0000000..00794d4
Binary files /dev/null and b/koha-tmpl/opac-tmpl/lib/famfamfam/silk/world_edit.png differ
diff --git a/koha-tmpl/opac-tmpl/lib/famfamfam/silk/world_go.png b/koha-tmpl/opac-tmpl/lib/famfamfam/silk/world_go.png
new file mode 100644 (file)
index 0000000..aee9c97
Binary files /dev/null and b/koha-tmpl/opac-tmpl/lib/famfamfam/silk/world_go.png differ
diff --git a/koha-tmpl/opac-tmpl/lib/famfamfam/silk/world_link.png b/koha-tmpl/opac-tmpl/lib/famfamfam/silk/world_link.png
new file mode 100644 (file)
index 0000000..b8edc12
Binary files /dev/null and b/koha-tmpl/opac-tmpl/lib/famfamfam/silk/world_link.png differ
diff --git a/koha-tmpl/opac-tmpl/lib/famfamfam/silk/wrench.png b/koha-tmpl/opac-tmpl/lib/famfamfam/silk/wrench.png
new file mode 100644 (file)
index 0000000..5c8213f
Binary files /dev/null and b/koha-tmpl/opac-tmpl/lib/famfamfam/silk/wrench.png differ
diff --git a/koha-tmpl/opac-tmpl/lib/famfamfam/silk/wrench_orange.png b/koha-tmpl/opac-tmpl/lib/famfamfam/silk/wrench_orange.png
new file mode 100644 (file)
index 0000000..565a933
Binary files /dev/null and b/koha-tmpl/opac-tmpl/lib/famfamfam/silk/wrench_orange.png differ
diff --git a/koha-tmpl/opac-tmpl/lib/famfamfam/silk/xhtml.png b/koha-tmpl/opac-tmpl/lib/famfamfam/silk/xhtml.png
new file mode 100644 (file)
index 0000000..da5dbf2
Binary files /dev/null and b/koha-tmpl/opac-tmpl/lib/famfamfam/silk/xhtml.png differ
diff --git a/koha-tmpl/opac-tmpl/lib/famfamfam/silk/xhtml_add.png b/koha-tmpl/opac-tmpl/lib/famfamfam/silk/xhtml_add.png
new file mode 100644 (file)
index 0000000..bbaf784
Binary files /dev/null and b/koha-tmpl/opac-tmpl/lib/famfamfam/silk/xhtml_add.png differ
diff --git a/koha-tmpl/opac-tmpl/lib/famfamfam/silk/xhtml_delete.png b/koha-tmpl/opac-tmpl/lib/famfamfam/silk/xhtml_delete.png
new file mode 100644 (file)
index 0000000..157b520
Binary files /dev/null and b/koha-tmpl/opac-tmpl/lib/famfamfam/silk/xhtml_delete.png differ
diff --git a/koha-tmpl/opac-tmpl/lib/famfamfam/silk/xhtml_go.png b/koha-tmpl/opac-tmpl/lib/famfamfam/silk/xhtml_go.png
new file mode 100644 (file)
index 0000000..43cf814
Binary files /dev/null and b/koha-tmpl/opac-tmpl/lib/famfamfam/silk/xhtml_go.png differ
diff --git a/koha-tmpl/opac-tmpl/lib/famfamfam/silk/xhtml_valid.png b/koha-tmpl/opac-tmpl/lib/famfamfam/silk/xhtml_valid.png
new file mode 100644 (file)
index 0000000..d2e1cfb
Binary files /dev/null and b/koha-tmpl/opac-tmpl/lib/famfamfam/silk/xhtml_valid.png differ
diff --git a/koha-tmpl/opac-tmpl/lib/famfamfam/silk/zoom.png b/koha-tmpl/opac-tmpl/lib/famfamfam/silk/zoom.png
new file mode 100644 (file)
index 0000000..908612e
Binary files /dev/null and b/koha-tmpl/opac-tmpl/lib/famfamfam/silk/zoom.png differ
diff --git a/koha-tmpl/opac-tmpl/lib/famfamfam/silk/zoom_in.png b/koha-tmpl/opac-tmpl/lib/famfamfam/silk/zoom_in.png
new file mode 100644 (file)
index 0000000..cdf0a52
Binary files /dev/null and b/koha-tmpl/opac-tmpl/lib/famfamfam/silk/zoom_in.png differ
diff --git a/koha-tmpl/opac-tmpl/lib/famfamfam/silk/zoom_out.png b/koha-tmpl/opac-tmpl/lib/famfamfam/silk/zoom_out.png
new file mode 100644 (file)
index 0000000..07bf98a
Binary files /dev/null and b/koha-tmpl/opac-tmpl/lib/famfamfam/silk/zoom_out.png differ
diff --git a/koha-tmpl/opac-tmpl/lib/jquery/plugins/jquery.jqtransform_select.js b/koha-tmpl/opac-tmpl/lib/jquery/plugins/jquery.jqtransform_select.js
new file mode 100644 (file)
index 0000000..a192d16
--- /dev/null
@@ -0,0 +1,366 @@
+/*
+ *
+ * jqTransform
+ * by mathieu vilaplana mvilaplana@dfc-e.com
+ * Designer ghyslain armand garmand@dfc-e.com
+ *
+ *
+ * Version 1.0 25.09.08
+ * Version 1.1 06.08.09
+ * Add event click on Checkbox and Radio
+ * Auto calculate the size of a select element
+ * Can now, disabled the elements
+ * Correct bug in ff if click on select (overflow=hidden)
+ * No need any more preloading !!
+ *
+ ******************************************** */
+
+(function($){
+ var defaultOptions = {preloadImg:true};
+        var jqTransformImgPreloaded = false;
+
+  var jqTransformPreloadHoverFocusImg = function(strImgUrl) {
+            //guillemets to remove for ie
+          strImgUrl = strImgUrl.replace(/^url\((.*)\)/,'$1').replace(/^\"(.*)\"$/,'$1');
+         var imgHover = new Image();
+            imgHover.src = strImgUrl.replace(/\.([a-zA-Z]*)$/,'-hover.$1');
+                var imgFocus = new Image();
+            imgFocus.src = strImgUrl.replace(/\.([a-zA-Z]*)$/,'-focus.$1');
+        };
+
+
+   /***************************
+     Labels
+       ***************************/
+   var jqTransformGetLabel = function(objfield){
+          var selfForm = $(objfield.get(0).form);
+                var oLabel = objfield.next();
+          if(!oLabel.is('label')) {
+                      oLabel = objfield.prev();
+                      if(oLabel.is('label')){
+                                var inputname = objfield.attr('id');
+                           if(inputname){
+                                 oLabel = selfForm.find('label[for="'+inputname+'"]');
+                          }
+                      }
+              }
+              if(oLabel.is('label')){return oLabel.css('cursor','pointer');}
+         return false;
+  };
+
+    /* Hide all open selects */
+    var jqTransformHideSelect = function(oTarget){
+         var ulVisible = $('.jqTransformSelectWrapper ul:visible');
+             ulVisible.each(function(){
+                     var oSelect = $(this).parents(".jqTransformSelectWrapper:first").find("select").get(0);
+                        //do not hide if click on the label object associated to the select
+                    if( !(oTarget && oSelect.oLabel && oSelect.oLabel.get(0) == oTarget.get(0)) ){$(this).hide();}
+         });
+    };
+     /* Check for an external click */
+      var jqTransformCheckExternalClick = function(event) {
+          if ($(event.target).parents('.jqTransformSelectWrapper').length === 0) { jqTransformHideSelect($(event.target)); }
+     };
+
+    /* Apply document listener */
+  var jqTransformAddDocumentListener = function (){
+              $(document).mousedown(jqTransformCheckExternalClick);
+  };
+
+    /* Add a new handler for the reset action */
+   var jqTransformReset = function(f){
+            var sel;
+               $('.jqTransformSelectWrapper select', f).each(function(){sel = (this.selectedIndex<0) ? 0 : this.selectedIndex; $('ul', $(this).parent()).each(function(){$('a:eq('+ sel +')', this).click();});});
+            $('a.jqTransformCheckbox, a.jqTransformRadio', f).removeClass('jqTransformChecked');
+           $('input:checkbox, input:radio', f).each(function(){if(this.checked){$('a', $(this).parent()).addClass('jqTransformChecked');}});
+      };
+
+    /***************************
+     Buttons
+       ***************************/
+  $.fn.jqTransInputButton = function(){
+          return this.each(function(){
+                   var newBtn = $('<button id="'+ this.id +'" name="'+ this.name +'" type="'+ this.type +'" class="'+ this.className +' jqTransformButton"><span><span>'+ $(this).attr('value') +'</span></span>')
+                                .hover(function(){newBtn.addClass('jqTransformButton_hover');},function(){newBtn.removeClass('jqTransformButton_hover')})
+                              .mousedown(function(){newBtn.addClass('jqTransformButton_click')})
+                             .mouseup(function(){newBtn.removeClass('jqTransformButton_click')})
+                    ;
+                      $(this).replaceWith(newBtn);
+           });
+    };
+
+    /***************************
+     Text Fields
+   ***************************/
+  $.fn.jqTransInputText = function(){
+            return this.each(function(){
+                   var $input = $(this);
+
+                 if($input.hasClass('jqtranformdone') || !$input.is('input')) {return;}
+                 $input.addClass('jqtranformdone');
+
+                    var oLabel = jqTransformGetLabel($(this));
+                     oLabel && oLabel.bind('click',function(){$input.focus();});
+
+                   var inputSize=$input.width();
+                  if($input.attr('size')){
+                               inputSize = $input.attr('size')*10;
+                            $input.css('width',inputSize);
+                 }
+
+                     $input.addClass("jqTransformInput").wrap('<div class="jqTransformInputWrapper"><div class="jqTransformInputInner"><div></div></div></div>');
+                   var $wrapper = $input.parent().parent().parent();
+                      $wrapper.css("width", inputSize+10);
+                   $input
+                         .focus(function(){$wrapper.addClass("jqTransformInputWrapper_focus");})
+                                .blur(function(){$wrapper.removeClass("jqTransformInputWrapper_focus");})
+                              .hover(function(){$wrapper.addClass("jqTransformInputWrapper_hover");},function(){$wrapper.removeClass("jqTransformInputWrapper_hover");})
+                     ;
+
+                     /* If this is safari we need to add an extra class */
+                  $.browser.safari && $wrapper.addClass('jqTransformSafari');
+                    $.browser.safari && $input.css('width',$wrapper.width()+16);
+                   this.wrapper = $wrapper;
+
+              });
+    };
+
+    /***************************
+     Check Boxes
+   ***************************/
+  $.fn.jqTransCheckBox = function(){
+             return this.each(function(){
+                   if($(this).hasClass('jqTransformHidden')) {return;}
+
+                   var $input = $(this);
+                  var inputSelf = this;
+
+                 //set the click on the label
+                   var oLabel=jqTransformGetLabel($input);
+                        oLabel && oLabel.click(function(){aLink.trigger('click');});
+
+                  var aLink = $('<a href="#" class="jqTransformCheckbox"></a>');
+                 //wrap and add the link
+                        $input.addClass('jqTransformHidden').wrap('<span class="jqTransformCheckboxWrapper"></span>').parent().prepend(aLink);
+                 //on change, change the class of the link
+                      $input.change(function(){
+                              this.checked && aLink.addClass('jqTransformChecked') || aLink.removeClass('jqTransformChecked');
+                               return true;
+                   });
+                    // Click Handler, trigger the click and change event on the input
+                      aLink.click(function(){
+                                //do nothing if the original input is disabled
+                         if($input.attr('disabled')){return false;}
+                             //trigger the envents on the input object
+                              $input.trigger('click').trigger("change");
+                             return false;
+                  });
+
+                   // set the default state
+                       this.checked && aLink.addClass('jqTransformChecked');
+          });
+    };
+     /***************************
+     Radio Buttons
+         ***************************/
+  $.fn.jqTransRadio = function(){
+                return this.each(function(){
+                   if($(this).hasClass('jqTransformHidden')) {return;}
+
+                   var $input = $(this);
+                  var inputSelf = this;
+
+                 oLabel = jqTransformGetLabel($input);
+                  oLabel && oLabel.click(function(){aLink.trigger('click');});
+
+                  var aLink = $('<a href="#" class="jqTransformRadio" rel="'+ this.name +'"></a>');
+                      $input.addClass('jqTransformHidden').wrap('<span class="jqTransformRadioWrapper"></span>').parent().prepend(aLink);
+
+                   $input.change(function(){
+                              inputSelf.checked && aLink.addClass('jqTransformChecked') || aLink.removeClass('jqTransformChecked');
+                          return true;
+                   });
+                    // Click Handler
+                       aLink.click(function(){
+                                if($input.attr('disabled')){return false;}
+                             $input.trigger('click').trigger('change');
+
+                            // uncheck all others of same name input radio elements
+                                $('input[name="'+$input.attr('name')+'"]',inputSelf.form).not($input).each(function(){
+                                 $(this).attr('type')=='radio' && $(this).trigger('change');
+                            });
+
+                           return false;
+                  });
+                    // set the default state
+                       inputSelf.checked && aLink.addClass('jqTransformChecked');
+             });
+    };
+
+    /***************************
+     TextArea
+      ***************************/
+  $.fn.jqTransTextarea = function(){
+             return this.each(function(){
+                   var textarea = $(this);
+
+                       if(textarea.hasClass('jqtransformdone')) {return;}
+                     textarea.addClass('jqtransformdone');
+
+                 oLabel = jqTransformGetLabel(textarea);
+                        oLabel && oLabel.click(function(){textarea.focus();});
+
+                        var strTable = '<table cellspacing="0" cellpadding="0" border="0" class="jqTransformTextarea">';
+                       strTable +='<tr><td id="jqTransformTextarea-tl"></td><td id="jqTransformTextarea-tm"></td><td id="jqTransformTextarea-tr"></td></tr>';
+                 strTable +='<tr><td id="jqTransformTextarea-ml">&nbsp;</td><td id="jqTransformTextarea-mm"><div></div></td><td id="jqTransformTextarea-mr">&nbsp;</td></tr>';
+                  strTable +='<tr><td id="jqTransformTextarea-bl"></td><td id="jqTransformTextarea-bm"></td><td id="jqTransformTextarea-br"></td></tr>';
+                 strTable +='</table>';
+                 var oTable = $(strTable)
+                                       .insertAfter(textarea)
+                                 .hover(function(){
+                                             !oTable.hasClass('jqTransformTextarea-focus') && oTable.addClass('jqTransformTextarea-hover');
+                                 },function(){
+                                          oTable.removeClass('jqTransformTextarea-hover');
+                                       })
+                             ;
+
+                     textarea
+                               .focus(function(){oTable.removeClass('jqTransformTextarea-hover').addClass('jqTransformTextarea-focus');})
+                             .blur(function(){oTable.removeClass('jqTransformTextarea-focus');})
+                            .appendTo($('#jqTransformTextarea-mm div',oTable))
+                     ;
+                      this.oTable = oTable;
+                  if($.browser.safari){
+                          $('#jqTransformTextarea-mm',oTable)
+                                    .addClass('jqTransformSafariTextarea')
+                                 .find('div')
+                                           .css('height',textarea.height())
+                                               .css('width',textarea.width())
+                         ;
+                      }
+              });
+    };
+
+    /***************************
+     Select
+        ***************************/
+  $.fn.jqTransSelect = function(){
+               return this.each(function(index){
+                      var $select = $(this);
+
+                        if($select.hasClass('jqTransformHidden')) {return;}
+                    if($select.attr('multiple')) {return;}
+
+                        var oLabel  =  jqTransformGetLabel($select);
+                   /* First thing we do is Wrap it */
+                     var $wrapper = $select
+                         .addClass('jqTransformHidden')
+                         .wrap('<div class="jqTransformSelectWrapper"></div>')
+                          .parent()
+                              .css({zIndex: 1000-index})
+                     ;
+
+                     /* Now add the html for the select */
+                  $wrapper.prepend('<div><span></span><a href="#" class="jqTransformSelectOpen"></a></div><ul></ul>');
+                   var $ul = $('ul', $wrapper).css('width',$select.width()).hide();
+                       /* Now we add the options */
+                   $('option', this).each(function(i){
+                            var oLi = $('<li><a href="#" index="'+ i +'">'+ $(this).html() +'</a></li>');
+                          $ul.append(oLi);
+                       });
+
+                   /* Add click handler to the a */
+                       $ul.find('a').click(function(){
+                                        $('a.selected', $wrapper).removeClass('selected');
+                                     $(this).addClass('selected');
+                                  /* Fire the onchange event */
+                                  if ($select[0].selectedIndex != $(this).attr('index') && $select[0].onchange) { $select[0].selectedIndex = $(this).attr('index'); $select[0].onchange(); }
+                                     $select[0].selectedIndex = $(this).attr('index');
+                                      $('span:eq(0)', $wrapper).html($(this).html());
+                                        $ul.hide();
+                                    return false;
+                  });
+                    /* Set the default */
+                  $('a:eq('+ this.selectedIndex +')', $ul).click();
+                      $('span:first', $wrapper).click(function(){$("a.jqTransformSelectOpen",$wrapper).trigger('click');});
+                  oLabel && oLabel.click(function(){$("a.jqTransformSelectOpen",$wrapper).trigger('click');});
+                   this.oLabel = oLabel;
+
+                 /* Apply the click handler to the Open */
+                      var oLinkOpen = $('a.jqTransformSelectOpen', $wrapper)
+                         .click(function(){
+                                     //Check if box is already open to still allow toggle, but close all other selects
+                                      if( $ul.css('display') == 'none' ) {jqTransformHideSelect();}
+                                  if($select.attr('disabled')){return false;}
+
+                                   $ul.slideToggle('fast', function(){
+                                            var offSet = ($('a.selected', $ul).offset().top - $ul.offset().top);
+                                           $ul.animate({scrollTop: offSet});
+                                      });
+                                    return false;
+                          })
+                     ;
+
+                     // Set the new width
+                   var iSelectWidth = $select.outerWidth();
+                       var oSpan = $('span:first',$wrapper);
+                  var newWidth = (iSelectWidth > oSpan.innerWidth())?iSelectWidth+oLinkOpen.outerWidth():$wrapper.width();
+                       $wrapper.css('width',newWidth);
+                        $ul.css('width',newWidth-2);
+                   oSpan.css({width:iSelectWidth});
+
+                      // Calculate the height if necessary, less elements that the default height
+                    //show the ul to calculate the block, if ul is not displayed li height value is 0
+                      $ul.css({display:'block',visibility:'hidden'});
+                        var iSelectHeight = ($('li',$ul).length)*($('li:first',$ul).height());//+1 else bug ff
+                 (iSelectHeight < $ul.height()) && $ul.css({height:iSelectHeight,'overflow':'hidden'});//hidden else bug with ff
+                        $ul.css({display:'none',visibility:'visible'});
+
+               });
+    };
+     $.fn.jqTransform = function(options){
+          var opt = $.extend({},defaultOptions,options);
+
+                /* each form */
+                 return this.each(function(){
+                  var selfForm = $(this);
+                        if(selfForm.hasClass('jqtransformdone')) {return;}
+                     selfForm.addClass('jqtransformdone');
+
+                 //$('input:submit, input:reset, input[type="button"]', this).jqTransInputButton();
+                     //$('input:text, input:password', this).jqTransInputText();
+                    //$('input:checkbox', this).jqTransCheckBox();
+                 //$('input:radio', this).jqTransRadio();
+                       //$('textarea', this).jqTransTextarea();
+
+                      if( $('select', this).jqTransSelect().length > 0 ){jqTransformAddDocumentListener();}
+                  selfForm.bind('reset',function(){var action = function(){jqTransformReset(this);}; window.setTimeout(action, 10);});
+
+                  //preloading dont needed anymore since normal, focus and hover image are the same one
+                  /*if(opt.preloadImg && !jqTransformImgPreloaded){
+                              jqTransformImgPreloaded = true;
+                                var oInputText = $('input:text:first', selfForm);
+                              if(oInputText.length > 0){
+                                     //pour ie on eleve les ""
+                                      var strWrapperImgUrl = oInputText.get(0).wrapper.css('background-image');
+                                      jqTransformPreloadHoverFocusImg(strWrapperImgUrl);
+                                     var strInnerImgUrl = $('div.jqTransformInputInner',$(oInputText.get(0).wrapper)).css('background-image');
+                                      jqTransformPreloadHoverFocusImg(strInnerImgUrl);
+                               }
+
+                             var oTextarea = $('textarea',selfForm);
+                                if(oTextarea.length > 0){
+                                      var oTable = oTextarea.get(0).oTable;
+                                  $('td',oTable).each(function(){
+                                                var strImgBack = $(this).css('background-image');
+                                              jqTransformPreloadHoverFocusImg(strImgBack);
+                                   });
+                            }
+                      }*/
+
+
+          }); /* End Form each */
+
+       };/* End the Plugin */
+
+})(jQuery);
diff --git a/koha-tmpl/opac-tmpl/lib/jquery/plugins/jquery.jstree.js b/koha-tmpl/opac-tmpl/lib/jquery/plugins/jquery.jstree.js
new file mode 100644 (file)
index 0000000..c94e61f
--- /dev/null
@@ -0,0 +1,4551 @@
+/*
+ * jsTree 1.0-rc3
+ * http://jstree.com/
+ *
+ * Copyright (c) 2010 Ivan Bozhanov (vakata.com)
+ *
+ * Licensed same as jquery - under the terms of either the MIT License or the GPL Version 2 License
+ *   http://www.opensource.org/licenses/mit-license.php
+ *   http://www.gnu.org/licenses/gpl.html
+ *
+ * $Date: 2011-02-09 01:17:14 +0200 (ср, 09 февр 2011) $
+ * $Revision: 236 $
+ */
+
+/*jslint browser: true, onevar: true, undef: true, bitwise: true, strict: true */
+/*global window : false, clearInterval: false, clearTimeout: false, document: false, setInterval: false, setTimeout: false, jQuery: false, navigator: false, XSLTProcessor: false, DOMParser: false, XMLSerializer: false*/
+
+"use strict";
+
+// top wrapper to prevent multiple inclusion (is this OK?)
+(function () { if(jQuery && jQuery.jstree) { return; }
+     var is_ie6 = false, is_ie7 = false, is_ff2 = false;
+
+/*
+ * jsTree core
+ */
+(function ($) {
+     // Common functions not related to jsTree
+      // decided to move them to a `vakata` "namespace"
+      $.vakata = {};
+ // CSS related functions
+       $.vakata.css = {
+               get_css : function(rule_name, delete_flag, sheet) {
+                    rule_name = rule_name.toLowerCase();
+                   var css_rules = sheet.cssRules || sheet.rules,
+                         j = 0;
+                 do {
+                           if(css_rules.length && j > css_rules.length + 5) { return false; }
+                             if(css_rules[j].selectorText && css_rules[j].selectorText.toLowerCase() == rule_name) {
+                                        if(delete_flag === true) {
+                                             if(sheet.removeRule) { sheet.removeRule(j); }
+                                          if(sheet.deleteRule) { sheet.deleteRule(j); }
+                                          return true;
+                                   }
+                                      else { return css_rules[j]; }
+                          }
+                      }
+                      while (css_rules[++j]);
+                        return false;
+          },
+             add_css : function(rule_name, sheet) {
+                 if($.jstree.css.get_css(rule_name, false, sheet)) { return false; }
+                    if(sheet.insertRule) { sheet.insertRule(rule_name + ' { }', 0); } else { sheet.addRule(rule_name, null, 0); }
+                  return $.vakata.css.get_css(rule_name);
+                },
+             remove_css : function(rule_name, sheet) {
+                      return $.vakata.css.get_css(rule_name, true, sheet);
+           },
+             add_sheet : function(opts) {
+                   var tmp = false, is_new = true;
+                        if(opts.str) {
+                         if(opts.title) { tmp = $("style[id='" + opts.title + "-stylesheet']")[0]; }
+                            if(tmp) { is_new = false; }
+                            else {
+                                 tmp = document.createElement("style");
+                                 tmp.setAttribute('type',"text/css");
+                                   if(opts.title) { tmp.setAttribute("id", opts.title + "-stylesheet"); }
+                         }
+                              if(tmp.styleSheet) {
+                                   if(is_new) {
+                                           document.getElementsByTagName("head")[0].appendChild(tmp);
+                                             tmp.styleSheet.cssText = opts.str;
+                                     }
+                                      else {
+                                         tmp.styleSheet.cssText = tmp.styleSheet.cssText + " " + opts.str;
+                                      }
+                              }
+                              else {
+                                 tmp.appendChild(document.createTextNode(opts.str));
+                                    document.getElementsByTagName("head")[0].appendChild(tmp);
+                             }
+                              return tmp.sheet || tmp.styleSheet;
+                    }
+                      if(opts.url) {
+                         if(document.createStyleSheet) {
+                                        try { tmp = document.createStyleSheet(opts.url); } catch (e) { }
+                               }
+                              else {
+                                 tmp                   = document.createElement('link');
+                                        tmp.rel                = 'stylesheet';
+                                       tmp.type        = 'text/css';
+                                 tmp.media     = "all";
+                                     tmp.href  = opts.url;
+                                   document.getElementsByTagName("head")[0].appendChild(tmp);
+                                     return tmp.styleSheet;
+                         }
+                      }
+              }
+      };
+
+    // private variables
+   var instances = [],                 // instance array (used by $.jstree.reference/create/focused)
+            focused_instance = -1,     // the index in the instance array of the currently focused instance
+            plugins = {},                      // list of included plugins
+            prepared_move = {};                // for the move_node function
+
+    // jQuery plugin wrapper (thanks to jquery UI widget function)
+ $.fn.jstree = function (settings) {
+            var isMethodCall = (typeof settings == 'string'), // is this a method call like $().jstree("open_node")
+                        args = Array.prototype.slice.call(arguments, 1),
+                       returnValue = this;
+
+           // if a method call execute the method on all selected instances
+               if(isMethodCall) {
+                     if(settings.substring(0, 1) == '_') { return returnValue; }
+                    this.each(function() {
+                         var instance = instances[$.data(this, "jstree_instance_id")],
+                                  methodValue = (instance && $.isFunction(instance[settings])) ? instance[settings].apply(instance, args) : instance;
+                                    if(typeof methodValue !== "undefined" && (settings.indexOf("is_") === 0 || (methodValue !== true && methodValue !== false))) { returnValue = methodValue; return false; }
+                      });
+            }
+              else {
+                 this.each(function() {
+                         // extend settings and allow for multiple hashes and $.data
+                            var instance_id = $.data(this, "jstree_instance_id"),
+                                  a = [],
+                                        b = settings ? $.extend({}, true, settings) : {},
+                                      c = $(this),
+                                   s = false,
+                                     t = [];
+                                a = a.concat(args);
+                            if(c.data("jstree")) { a.push(c.data("jstree")); }
+                             b = a.length ? $.extend.apply(null, [true, b].concat(a)) : b;
+
+                         // if an instance already exists, destroy it first
+                             if(typeof instance_id !== "undefined" && instances[instance_id]) { instances[instance_id].destroy(); }
+                         // push a new empty object to the instances array
+                              instance_id = parseInt(instances.push({}),10) - 1;
+                             // store the jstree instance id to the container element
+                               $.data(this, "jstree_instance_id", instance_id);
+                               // clean up all plugins
+                                b.plugins = $.isArray(b.plugins) ? b.plugins : $.jstree.defaults.plugins.slice();
+                              b.plugins.unshift("core");
+                             // only unique plugins
+                         b.plugins = b.plugins.sort().join(",,").replace(/(,|^)([^,]+)(,,\2)+(,|$)/g,"$1$2$4").replace(/,,+/g,",").replace(/,$/,"").split(",");
+
+                                // extend defaults with passed data
+                            s = $.extend(true, {}, $.jstree.defaults, b);
+                          s.plugins = b.plugins;
+                         $.each(plugins, function (i, val) {
+                                    if($.inArray(i, s.plugins) === -1) { s[i] = null; delete s[i]; }
+                                       else { t.push(i); }
+                            });
+                            s.plugins = t;
+
+                                // push the new object to the instances array (at the same time set the default classes to the container) and init
+                             instances[instance_id] = new $.jstree._instance(instance_id, $(this).addClass("jstree jstree-" + instance_id), s);
+                             // init all activated plugins for this instance
+                                $.each(instances[instance_id]._get_settings().plugins, function (i, val) { instances[instance_id].data[val] = {}; });
+                          $.each(instances[instance_id]._get_settings().plugins, function (i, val) { if(plugins[val]) { plugins[val].__init.apply(instances[instance_id]); } });
+                         // initialize the instance
+                             setTimeout(function() { if(instances[instance_id]) { instances[instance_id].init(); } }, 0);
+                   });
+            }
+              // return the jquery selection (or if it was a method call that returned a value - the returned value)
+         return returnValue;
+    };
+     // object to store exposed functions and objects
+       $.jstree = {
+           defaults : {
+                   plugins : []
+           },
+             _focused : function () { return instances[focused_instance] || null; },
+                _reference : function (needle) {
+                       // get by instance id
+                  if(instances[needle]) { return instances[needle]; }
+                    // get by DOM (if still no luck - return null
+                  var o = $(needle);
+                     if(!o.length && typeof needle === "string") { o = $("#" + needle); }
+                   if(!o.length) { return null; }
+                 return instances[o.closest(".jstree").data("jstree_instance_id")] || null;
+             },
+             _instance : function (index, container, settings) {
+                    // for plugins to store data in
+                        this.data = { core : {} };
+                     this.get_settings = function () { return $.extend(true, {}, settings); };
+                      this._get_settings       = function () { return settings; };
+                 this.get_index                = function () { return index; };
+                       this.get_container      = function () { return container; };
+                        this.get_container_ul = function () { return container.children("ul:eq(0)"); };
+                        this._set_settings     = function (s) {
+                            settings = $.extend(true, {}, settings, s);
+                    };
+             },
+             _fn : { },
+             plugin : function (pname, pdata) {
+                     pdata = $.extend({}, {
+                         __init                : $.noop,
+                              __destroy        : $.noop,
+                            _fn                        : {},
+                            defaults   : false
+                       }, pdata);
+                     plugins[pname] = pdata;
+
+                       $.jstree.defaults[pname] = pdata.defaults;
+                     $.each(pdata._fn, function (i, val) {
+                          val.plugin           = pname;
+                           val.old                     = $.jstree._fn[i];
+                           $.jstree._fn[i] = function () {
+                                        var rslt,
+                                              func = val,
+                                            args = Array.prototype.slice.call(arguments),
+                                          evnt = new $.Event("before.jstree"),
+                                           rlbk = false;
+
+                                 if(this.data.core.locked === true && i !== "unlock" && i !== "is_locked") { return; }
+
+                                 // Check if function belongs to the included plugins of this instance
+                                  do {
+                                           if(func && func.plugin && $.inArray(func.plugin, this._get_settings().plugins) !== -1) { break; }
+                                              func = func.old;
+                                       } while(func);
+                                 if(!func) { return; }
+
+                                 // context and function to trigger events, then finally call the function
+                                      if(i.indexOf("_") === 0) {
+                                             rslt = func.apply(this, args);
+                                 }
+                                      else {
+                                         rslt = this.get_container().triggerHandler(evnt, { "func" : i, "inst" : this, "args" : args, "plugin" : func.plugin });
+                                                if(rslt === false) { return; }
+                                         if(typeof rslt !== "undefined") { args = rslt; }
+
+                                              rslt = func.apply(
+                                                     $.extend({}, this, {
+                                                           __callback : function (data) {
+                                                                 this.get_container().triggerHandler( i + '.jstree', { "inst" : this, "args" : args, "rslt" : data, "rlbk" : rlbk });
+                                                           },
+                                                             __rollback : function () {
+                                                                     rlbk = this.get_rollback();
+                                                                    return rlbk;
+                                                           },
+                                                             __call_old : function (replace_arguments) {
+                                                                    return func.old.apply(this, (replace_arguments ? Array.prototype.slice.call(arguments, 1) : args ) );
+                                                          }
+                                                      }), args);
+                                     }
+
+                                     // return the result
+                                   return rslt;
+                           };
+                             $.jstree._fn[i].old = val.old;
+                         $.jstree._fn[i].plugin = pname;
+                        });
+            },
+             rollback : function (rb) {
+                     if(rb) {
+                               if(!$.isArray(rb)) { rb = [ rb ]; }
+                            $.each(rb, function (i, val) {
+                                 instances[val.i].set_rollback(val.h, val.d);
+                           });
+                    }
+              }
+      };
+     // set the prototype for all instances
+ $.jstree._fn = $.jstree._instance.prototype = {};
+
+     // load the css when DOM is ready
+      $(function() {
+         // code is copied from jQuery ($.browser is deprecated + there is a bug in IE)
+         var u = navigator.userAgent.toLowerCase(),
+                     v = (u.match( /.+?(?:rv|it|ra|ie)[\/: ]([\d.]+)/ ) || [0,'0'])[1],
+                     css_string = '' +
+                              '.jstree ul, .jstree li { display:block; margin:0 0 0 0; padding:0 0 0 0; list-style-type:none; } ' +
+                          '.jstree li { display:block; min-height:18px; line-height:18px; white-space:nowrap; margin-left:18px; min-width:18px; } ' +
+                            '.jstree-rtl li { margin-left:0; margin-right:18px; } ' +
+                              '.jstree > ul > li { margin-left:0px; } ' +
+                            '.jstree-rtl > ul > li { margin-right:0px; } ' +
+                               '.jstree ins { display:inline-block; text-decoration:none; width:18px; height:18px; margin:0 0 0 0; padding:0; } ' +
+                           '.jstree a { display:inline-block; line-height:16px; height:16px; color:black; white-space:nowrap; text-decoration:none; padding:1px 2px; margin:0; } ' +
+                              '.jstree a:focus { outline: none; } ' +
+                                '.jstree a > ins { height:16px; width:16px; } ' +
+                              '.jstree a > .jstree-icon { margin-right:3px; } ' +
+                            '.jstree-rtl a > .jstree-icon { margin-left:3px; margin-right:0; } ' +
+                         'li.jstree-open > ul { display:block; } ' +
+                            'li.jstree-closed > ul { display:none; } ';
+            // Correct IE 6 (does not support the > CSS selector)
+          if(/msie/.test(u) && parseInt(v, 10) == 6) {
+                   is_ie6 = true;
+
+                        // fix image flicker and lack of caching
+                       try {
+                          document.execCommand("BackgroundImageCache", false, true);
+                     } catch (err) { }
+
+                     css_string += '' +
+                             '.jstree li { height:18px; margin-left:0; margin-right:0; } ' +
+                                '.jstree li li { margin-left:18px; } ' +
+                               '.jstree-rtl li li { margin-left:0px; margin-right:18px; } ' +
+                         'li.jstree-open ul { display:block; } ' +
+                              'li.jstree-closed ul { display:none !important; } ' +
+                          '.jstree li a { display:inline; border-width:0 !important; padding:0px 2px !important; } ' +
+                           '.jstree li a ins { height:16px; width:16px; margin-right:3px; } ' +
+                           '.jstree-rtl li a ins { margin-right:0px; margin-left:3px; } ';
+                }
+              // Correct IE 7 (shifts anchor nodes onhover)
+          if(/msie/.test(u) && parseInt(v, 10) == 7) {
+                   is_ie7 = true;
+                 css_string += '.jstree li a { border-width:0 !important; padding:0px 2px !important; } ';
+              }
+              // correct ff2 lack of display:inline-block
+            if(!/compatible/.test(u) && /mozilla/.test(u) && parseFloat(v, 10) < 1.9) {
+                    is_ff2 = true;
+                 css_string += '' +
+                             '.jstree ins { display:-moz-inline-box; } ' +
+                          '.jstree li { line-height:12px; } ' + // WHY??
+                         '.jstree a { display:-moz-inline-box; } ' +
+                            '.jstree .jstree-no-icons .jstree-checkbox { display:-moz-inline-stack !important; } ';
+                                /* this shouldn't be here as it is theme specific */
+           }
+              // the default stylesheet
+              $.vakata.css.add_sheet({ str : css_string, title : "jstree" });
+        });
+
+   // core functions (open, close, create, update, delete)
+        $.jstree.plugin("core", {
+              __init : function () {
+                 this.data.core.locked = false;
+                 this.data.core.to_open = this.get_settings().core.initially_open;
+                      this.data.core.to_load = this.get_settings().core.initially_load;
+              },
+             defaults : {
+                   html_titles : false,
+                   animation   : 500,
+                       initially_open : [],
+                   initially_load : [],
+                   open_parents : true,
+                   notify_plugins : true,
+                 rtl                   : false,
+                 load_open     : false,
+                     strings           : {
+                           loading             : "Loading ...",
+                              new_node : "New node",
+                         multiple_selection : "Multiple selection"
+                      }
+              },
+             _fn : {
+                        init   : function () {
+                           this.set_focus();
+                              if(this._get_settings().core.rtl) {
+                                    this.get_container().addClass("jstree-rtl").css("direction", "rtl");
+                           }
+                              this.get_container().html("<ul><li class='jstree-last jstree-leaf'><ins>&#160;</ins><a class='jstree-loading' href='#'><ins class='jstree-icon'>&#160;</ins>" + this._get_string("loading") + "</a></li></ul>");
+                               this.data.core.li_height = this.get_container_ul().find("li.jstree-closed, li.jstree-leaf").eq(0).height() || 18;
+
+                             this.get_container()
+                                   .delegate("li > ins", "click.jstree", $.proxy(function (event) {
+                                                       var trgt = $(event.target);
+                                                    // if(trgt.is("ins") && event.pageY - trgt.offset().top < this.data.core.li_height) { this.toggle_node(trgt); }
+                                                        this.toggle_node(trgt);
+                                                }, this))
+                                      .bind("mousedown.jstree", $.proxy(function () {
+                                                        this.set_focus(); // This used to be setTimeout(set_focus,0) - why?
+                                            }, this))
+                                      .bind("dblclick.jstree", function (event) {
+                                            var sel;
+                                               if(document.selection && document.selection.empty) { document.selection.empty(); }
+                                             else {
+                                                 if(window.getSelection) {
+                                                              sel = window.getSelection();
+                                                           try {
+                                                                  sel.removeAllRanges();
+                                                                 sel.collapse();
+                                                                } catch (err) { }
+                                                      }
+                                              }
+                                      });
+                            if(this._get_settings().core.notify_plugins) {
+                                 this.get_container()
+                                           .bind("load_node.jstree", $.proxy(function (e, data) {
+                                                         var o = this._get_node(data.rslt.obj),
+                                                                 t = this;
+                                                              if(o === -1) { o = this.get_container_ul(); }
+                                                          if(!o.length) { return; }
+                                                              o.find("li").each(function () {
+                                                                        var th = $(this);
+                                                                      if(th.data("jstree")) {
+                                                                                $.each(th.data("jstree"), function (plugin, values) {
+                                                                                  if(t.data[plugin] && $.isFunction(t["_" + plugin + "_notify"])) {
+                                                                                              t["_" + plugin + "_notify"].call(t, th, values);
+                                                                                       }
+                                                                              });
+                                                                    }
+                                                              });
+                                                    }, this));
+                             }
+                              if(this._get_settings().core.load_open) {
+                                      this.get_container()
+                                           .bind("load_node.jstree", $.proxy(function (e, data) {
+                                                         var o = this._get_node(data.rslt.obj),
+                                                                 t = this;
+                                                              if(o === -1) { o = this.get_container_ul(); }
+                                                          if(!o.length) { return; }
+                                                              o.find("li.jstree-open:not(:has(ul))").each(function () {
+                                                                      t.load_node(this, $.noop, $.noop);
+                                                             });
+                                                    }, this));
+                             }
+                              this.__callback();
+                             this.load_node(-1, function () { this.loaded(); this.reload_nodes(); });
+                       },
+                     destroy   : function () {
+                                var i,
+                                 n = this.get_index(),
+                                  s = this._get_settings(),
+                                      _this = this;
+
+                         $.each(s.plugins, function (i, val) {
+                                  try { plugins[val].__destroy.apply(_this); } catch(err) { }
+                            });
+                            this.__callback();
+                             // set focus to another instance if this one is focused
+                                if(this.is_focused()) {
+                                        for(i in instances) {
+                                          if(instances.hasOwnProperty(i) && i != n) {
+                                                    instances[i].set_focus();
+                                                      break;
+                                         }
+                                      }
+                              }
+                              // if no other instance found
+                          if(n === focused_instance) { focused_instance = -1; }
+                          // remove all traces of jstree in the DOM (only the ones set using jstree*) and cleans all events
+                              this.get_container()
+                                   .unbind(".jstree")
+                                     .undelegate(".jstree")
+                                 .removeData("jstree_instance_id")
+                                      .find("[class^='jstree']")
+                                             .andSelf()
+                                             .attr("class", function () { return this.className.replace(/jstree[^ ]*|$/ig,''); });
+                          $(document)
+                                    .unbind(".jstree-" + n)
+                                        .undelegate(".jstree-" + n);
+                           // remove the actual data
+                              instances[n] = null;
+                           delete instances[n];
+                   },
+
+                    _core_notify : function (n, data) {
+                            if(data.opened) {
+                                      this.open_node(n, false, true);
+                                }
+                      },
+
+                    lock : function () {
+                           this.data.core.locked = true;
+                          this.get_container().children("ul").addClass("jstree-locked").css("opacity","0.7");
+                            this.__callback({});
+                   },
+                     unlock : function () {
+                         this.data.core.locked = false;
+                         this.get_container().children("ul").removeClass("jstree-locked").css("opacity","1");
+                           this.__callback({});
+                   },
+                     is_locked : function () { return this.data.core.locked; },
+                     save_opened : function () {
+                            var _this = this;
+                              this.data.core.to_open = [];
+                           this.get_container_ul().find("li.jstree-open").each(function () {
+                                      if(this.id) { _this.data.core.to_open.push("#" + this.id.toString().replace(/^#/,"").replace(/\\\//g,"/").replace(/\//g,"\\\/").replace(/\\\./g,".").replace(/\./g,"\\.").replace(/\:/g,"\\:")); }
+                             });
+                            this.__callback(_this.data.core.to_open);
+                      },
+                     save_loaded : function () { },
+                 reload_nodes : function (is_callback) {
+                                var _this = this,
+                                      done = true,
+                                   current = [],
+                                  remaining = [];
+                                if(!is_callback) {
+                                     this.data.core.reopen = false;
+                                 this.data.core.refreshing = true;
+                                      this.data.core.to_open = $.map($.makeArray(this.data.core.to_open), function (n) { return "#" + n.toString().replace(/^#/,"").replace(/\\\//g,"/").replace(/\//g,"\\\/").replace(/\\\./g,".").replace(/\./g,"\\.").replace(/\:/g,"\\:"); });
+                                   this.data.core.to_load = $.map($.makeArray(this.data.core.to_load), function (n) { return "#" + n.toString().replace(/^#/,"").replace(/\\\//g,"/").replace(/\//g,"\\\/").replace(/\\\./g,".").replace(/\./g,"\\.").replace(/\:/g,"\\:"); });
+                                   if(this.data.core.to_open.length) {
+                                            this.data.core.to_load = this.data.core.to_load.concat(this.data.core.to_open);
+                                        }
+                              }
+                              if(this.data.core.to_load.length) {
+                                    $.each(this.data.core.to_load, function (i, val) {
+                                             if(val == "#") { return true; }
+                                                if($(val).length) { current.push(val); }
+                                               else { remaining.push(val); }
+                                  });
+                                    if(current.length) {
+                                           this.data.core.to_load = remaining;
+                                            $.each(current, function (i, val) {
+                                                    if(!_this._is_loaded(val)) {
+                                                           _this.load_node(val, function () { _this.reload_nodes(true); }, function () { _this.reload_nodes(true); });
+                                                            done = false;
+                                                  }
+                                              });
+                                    }
+                              }
+                              if(this.data.core.to_open.length) {
+                                    $.each(this.data.core.to_open, function (i, val) {
+                                             _this.open_node(val, false, true);
+                                     });
+                            }
+                              if(done) {
+                                     // TODO: find a more elegant approach to syncronizing returning requests
+                                       if(this.data.core.reopen) { clearTimeout(this.data.core.reopen); }
+                                     this.data.core.reopen = setTimeout(function () { _this.__callback({}, _this); }, 50);
+                                  this.data.core.refreshing = false;
+                                     this.reopen();
+                         }
+                      },
+                     reopen : function () {
+                         var _this = this;
+                              if(this.data.core.to_open.length) {
+                                    $.each(this.data.core.to_open, function (i, val) {
+                                             _this.open_node(val, false, true);
+                                     });
+                            }
+                              this.__callback({});
+                   },
+                     refresh : function (obj) {
+                             var _this = this;
+                              this.save_opened();
+                            if(!obj) { obj = -1; }
+                         obj = this._get_node(obj);
+                             if(!obj) { obj = -1; }
+                         if(obj !== -1) { obj.children("UL").remove(); }
+                                else { this.get_container_ul().empty(); }
+                              this.load_node(obj, function () { _this.__callback({ "obj" : obj}); _this.reload_nodes(); });
+                  },
+                     // Dummy function to fire after the first load (so that there is a jstree.loaded event)
+                        loaded : function () {
+                         this.__callback();
+                     },
+                     // deal with focus
+                     set_focus : function () {
+                              if(this.is_focused()) { return; }
+                              var f = $.jstree._focused();
+                           if(f) { f.unset_focus(); }
+
+                            this.get_container().addClass("jstree-focused");
+                               focused_instance = this.get_index();
+                           this.__callback();
+                     },
+                     is_focused        : function () {
+                             return focused_instance == this.get_index();
+                   },
+                     unset_focus       : function () {
+                            if(this.is_focused()) {
+                                        this.get_container().removeClass("jstree-focused");
+                                    focused_instance = -1;
+                         }
+                              this.__callback();
+                     },
+
+                    // traverse
+                    _get_node          : function (obj) {
+                          var $obj = $(obj, this.get_container());
+                               if($obj.is(".jstree") || obj == -1) { return -1; }
+                             $obj = $obj.closest("li", this.get_container());
+                               return $obj.length ? $obj : false;
+                     },
+                     _get_next         : function (obj, strict) {
+                          obj = this._get_node(obj);
+                             if(obj === -1) { return this.get_container().find("> ul > li:first-child"); }
+                          if(!obj.length) { return false; }
+                              if(strict) { return (obj.nextAll("li").size() > 0) ? obj.nextAll("li:eq(0)") : false; }
+
+                               if(obj.hasClass("jstree-open")) { return obj.find("li:eq(0)"); }
+                               else if(obj.nextAll("li").size() > 0) { return obj.nextAll("li:eq(0)"); }
+                              else { return obj.parentsUntil(".jstree","li").next("li").eq(0); }
+                     },
+                     _get_prev         : function (obj, strict) {
+                          obj = this._get_node(obj);
+                             if(obj === -1) { return this.get_container().find("> ul > li:last-child"); }
+                           if(!obj.length) { return false; }
+                              if(strict) { return (obj.prevAll("li").length > 0) ? obj.prevAll("li:eq(0)") : false; }
+
+                               if(obj.prev("li").length) {
+                                    obj = obj.prev("li").eq(0);
+                                    while(obj.hasClass("jstree-open")) { obj = obj.children("ul:eq(0)").children("li:last"); }
+                                     return obj;
+                            }
+                              else { var o = obj.parentsUntil(".jstree","li:eq(0)"); return o.length ? o : false; }
+                  },
+                     _get_parent               : function (obj) {
+                                obj = this._get_node(obj);
+                             if(obj == -1 || !obj.length) { return false; }
+                         var o = obj.parentsUntil(".jstree", "li:eq(0)");
+                               return o.length ? o : -1;
+                      },
+                     _get_children     : function (obj) {
+                               obj = this._get_node(obj);
+                             if(obj === -1) { return this.get_container().children("ul:eq(0)").children("li"); }
+                            if(!obj.length) { return false; }
+                              return obj.children("ul:eq(0)").children("li");
+                        },
+                     get_path          : function (obj, id_mode) {
+                          var p = [],
+                                    _this = this;
+                          obj = this._get_node(obj);
+                             if(obj === -1 || !obj || !obj.length) { return false; }
+                                obj.parentsUntil(".jstree", "li").each(function () {
+                                   p.push( id_mode ? this.id : _this.get_text(this) );
+                            });
+                            p.reverse();
+                           p.push( id_mode ? obj.attr("id") : this.get_text(obj) );
+                               return p;
+                      },
+
+                    // string functions
+                    _get_string : function (key) {
+                         return this._get_settings().core.strings[key] || key;
+                  },
+
+                    is_open            : function (obj) { obj = this._get_node(obj); return obj && obj !== -1 && obj.hasClass("jstree-open"); },
+                     is_closed : function (obj) { obj = this._get_node(obj); return obj && obj !== -1 && obj.hasClass("jstree-closed"); },
+                  is_leaf              : function (obj) { obj = this._get_node(obj); return obj && obj !== -1 && obj.hasClass("jstree-leaf"); },
+                     correct_state     : function (obj) {
+                               obj = this._get_node(obj);
+                             if(!obj || obj === -1) { return false; }
+                               obj.removeClass("jstree-closed jstree-open").addClass("jstree-leaf").children("ul").remove();
+                          this.__callback({ "obj" : obj });
+                      },
+                     // open/close
+                  open_node    : function (obj, callback, skip_animation) {
+                         obj = this._get_node(obj);
+                             if(!obj.length) { return false; }
+                              if(!obj.hasClass("jstree-closed")) { if(callback) { callback.call(); } return false; }
+                         var s = skip_animation || is_ie6 ? 0 : this._get_settings().core.animation,
+                                    t = this;
+                              if(!this._is_loaded(obj)) {
+                                    obj.children("a").addClass("jstree-loading");
+                                  this.load_node(obj, function () { t.open_node(obj, callback, skip_animation); }, callback);
+                            }
+                              else {
+                                 if(this._get_settings().core.open_parents) {
+                                           obj.parentsUntil(".jstree",".jstree-closed").each(function () {
+                                                        t.open_node(this, false, true);
+                                                });
+                                    }
+                                      if(s) { obj.children("ul").css("display","none"); }
+                                    obj.removeClass("jstree-closed").addClass("jstree-open").children("a").removeClass("jstree-loading");
+                                  if(s) { obj.children("ul").stop(true, true).slideDown(s, function () { this.style.display = ""; t.after_open(obj); }); }
+                                       else { t.after_open(obj); }
+                                    this.__callback({ "obj" : obj });
+                                      if(callback) { callback.call(); }
+                              }
+                      },
+                     after_open        : function (obj) { this.__callback({ "obj" : obj }); },
+                     close_node        : function (obj, skip_animation) {
+                          obj = this._get_node(obj);
+                             var s = skip_animation || is_ie6 ? 0 : this._get_settings().core.animation,
+                                    t = this;
+                              if(!obj.length || !obj.hasClass("jstree-open")) { return false; }
+                              if(s) { obj.children("ul").attr("style","display:block !important"); }
+                         obj.removeClass("jstree-open").addClass("jstree-closed");
+                              if(s) { obj.children("ul").stop(true, true).slideUp(s, function () { this.style.display = ""; t.after_close(obj); }); }
+                                else { t.after_close(obj); }
+                           this.__callback({ "obj" : obj });
+                      },
+                     after_close       : function (obj) { this.__callback({ "obj" : obj }); },
+                    toggle_node        : function (obj) {
+                         obj = this._get_node(obj);
+                             if(obj.hasClass("jstree-closed")) { return this.open_node(obj); }
+                              if(obj.hasClass("jstree-open")) { return this.close_node(obj); }
+                       },
+                     open_all  : function (obj, do_animation, original_obj) {
+                                obj = obj ? this._get_node(obj) : -1;
+                          if(!obj || obj === -1) { obj = this.get_container_ul(); }
+                              if(original_obj) {
+                                     obj = obj.find("li.jstree-closed");
+                            }
+                              else {
+                                 original_obj = obj;
+                                    if(obj.is(".jstree-closed")) { obj = obj.find("li.jstree-closed").andSelf(); }
+                                 else { obj = obj.find("li.jstree-closed"); }
+                           }
+                              var _this = this;
+                              obj.each(function () {
+                                 var __this = this;
+                                     if(!_this._is_loaded(this)) { _this.open_node(this, function() { _this.open_all(__this, do_animation, original_obj); }, !do_animation); }
+                                      else { _this.open_node(this, false, !do_animation); }
+                          });
+                            // so that callback is fired AFTER all nodes are open
+                          if(original_obj.find('li.jstree-closed').length === 0) { this.__callback({ "obj" : original_obj }); }
+                  },
+                     close_all : function (obj, do_animation) {
+                             var _this = this;
+                              obj = obj ? this._get_node(obj) : this.get_container();
+                                if(!obj || obj === -1) { obj = this.get_container_ul(); }
+                              obj.find("li.jstree-open").andSelf().each(function () { _this.close_node(this, !do_animation); });
+                             this.__callback({ "obj" : obj });
+                      },
+                     clean_node        : function (obj) {
+                          obj = obj && obj != -1 ? $(obj) : this.get_container_ul();
+                             obj = obj.is("li") ? obj.find("li").andSelf() : obj.find("li");
+                                obj.removeClass("jstree-last")
+                                 .filter("li:last-child").addClass("jstree-last").end()
+                                 .filter(":has(li)")
+                                            .not(".jstree-open").removeClass("jstree-leaf").addClass("jstree-closed");
+                             obj.not(".jstree-open, .jstree-closed").addClass("jstree-leaf").children("ul").remove();
+                               this.__callback({ "obj" : obj });
+                      },
+                     // rollback
+                    get_rollback : function () {
+                           this.__callback();
+                             return { i : this.get_index(), h : this.get_container().children("ul").clone(true), d : this.data };
+                   },
+                     set_rollback : function (html, data) {
+                         this.get_container().empty().append(html);
+                             this.data = data;
+                              this.__callback();
+                     },
+                     // Dummy functions to be overwritten by any datastore plugin included
+                  load_node    : function (obj, s_call, e_call) { this.__callback({ "obj" : obj }); },
+                      _is_loaded       : function (obj) { return true; },
+
+                 // Basic operations: create
+                    create_node        : function (obj, position, js, callback, is_loaded) {
+                              obj = this._get_node(obj);
+                             position = typeof position === "undefined" ? "last" : position;
+                                var d = $("<li />"),
+                                   s = this._get_settings().core,
+                                 tmp;
+
+                          if(obj !== -1 && !obj.length) { return false; }
+                                if(!is_loaded && !this._is_loaded(obj)) { this.load_node(obj, function () { this.create_node(obj, position, js, callback, true); }); return false; }
+
+                          this.__rollback();
+
+                            if(typeof js === "string") { js = { "data" : js }; }
+                           if(!js) { js = {}; }
+                           if(js.attr) { d.attr(js.attr); }
+                               if(js.metadata) { d.data(js.metadata); }
+                               if(js.state) { d.addClass("jstree-" + js.state); }
+                             if(!js.data) { js.data = this._get_string("new_node"); }
+                               if(!$.isArray(js.data)) { tmp = js.data; js.data = []; js.data.push(tmp); }
+                            $.each(js.data, function (i, m) {
+                                      tmp = $("<a />");
+                                      if($.isFunction(m)) { m = m.call(this, js); }
+                                  if(typeof m == "string") { tmp.attr('href','#')[ s.html_titles ? "html" : "text" ](m); }
+                                       else {
+                                         if(!m.attr) { m.attr = {}; }
+                                           if(!m.attr.href) { m.attr.href = '#'; }
+                                                tmp.attr(m.attr)[ s.html_titles ? "html" : "text" ](m.title);
+                                          if(m.language) { tmp.addClass(m.language); }
+                                   }
+                                      tmp.prepend("<ins class='jstree-icon'>&#160;</ins>");
+                                  if(!m.icon && js.icon) { m.icon = js.icon; }
+                                   if(m.icon) {
+                                           if(m.icon.indexOf("/") === -1) { tmp.children("ins").addClass(m.icon); }
+                                               else { tmp.children("ins").css("background","url('" + m.icon + "') center center no-repeat"); }
+                                        }
+                                      d.append(tmp);
+                         });
+                            d.prepend("<ins class='jstree-icon'>&#160;</ins>");
+                            if(obj === -1) {
+                                       obj = this.get_container();
+                                    if(position === "before") { position = "first"; }
+                                      if(position === "after") { position = "last"; }
+                                }
+                              switch(position) {
+                                     case "before": obj.before(d); tmp = this._get_parent(obj); break;
+                                      case "after" : obj.after(d);  tmp = this._get_parent(obj); break;
+                                      case "inside":
+                                 case "first" :
+                                         if(!obj.children("ul").length) { obj.append("<ul />"); }
+                                               obj.children("ul").prepend(d);
+                                         tmp = obj;
+                                             break;
+                                 case "last":
+                                           if(!obj.children("ul").length) { obj.append("<ul />"); }
+                                               obj.children("ul").append(d);
+                                          tmp = obj;
+                                             break;
+                                 default:
+                                               if(!obj.children("ul").length) { obj.append("<ul />"); }
+                                               if(!position) { position = 0; }
+                                                tmp = obj.children("ul").children("li").eq(position);
+                                          if(tmp.length) { tmp.before(d); }
+                                              else { obj.children("ul").append(d); }
+                                         tmp = obj;
+                                             break;
+                         }
+                              if(tmp === -1 || tmp.get(0) === this.get_container().get(0)) { tmp = -1; }
+                             this.clean_node(tmp);
+                          this.__callback({ "obj" : d, "parent" : tmp });
+                                if(callback) { callback.call(this, d); }
+                               return d;
+                      },
+                     // Basic operations: rename (deal with text)
+                   get_text    : function (obj) {
+                            obj = this._get_node(obj);
+                             if(!obj.length) { return false; }
+                              var s = this._get_settings().core.html_titles;
+                         obj = obj.children("a:eq(0)");
+                         if(s) {
+                                        obj = obj.clone();
+                                     obj.children("INS").remove();
+                                  return obj.html();
+                             }
+                              else {
+                                 obj = obj.contents().filter(function() { return this.nodeType == 3; })[0];
+                                     return obj.nodeValue;
+                          }
+                      },
+                     set_text  : function (obj, val) {
+                               obj = this._get_node(obj);
+                             if(!obj.length) { return false; }
+                              obj = obj.children("a:eq(0)");
+                         if(this._get_settings().core.html_titles) {
+                                    var tmp = obj.children("INS").clone();
+                                 obj.html(val).prepend(tmp);
+                                    this.__callback({ "obj" : obj, "name" : val });
+                                        return true;
+                           }
+                              else {
+                                 obj = obj.contents().filter(function() { return this.nodeType == 3; })[0];
+                                     this.__callback({ "obj" : obj, "name" : val });
+                                        return (obj.nodeValue = val);
+                          }
+                      },
+                     rename_node : function (obj, val) {
+                            obj = this._get_node(obj);
+                             this.__rollback();
+                             if(obj && obj.length && this.set_text.apply(this, Array.prototype.slice.call(arguments))) { this.__callback({ "obj" : obj, "name" : val }); }
+                  },
+                     // Basic operations: deleting nodes
+                    delete_node : function (obj) {
+                         obj = this._get_node(obj);
+                             if(!obj.length) { return false; }
+                              this.__rollback();
+                             var p = this._get_parent(obj), prev = $([]), t = this;
+                         obj.each(function () {
+                                 prev = prev.add(t._get_prev(this));
+                            });
+                            obj = obj.detach();
+                            if(p !== -1 && p.find("> ul > li").length === 0) {
+                                     p.removeClass("jstree-open jstree-closed").addClass("jstree-leaf");
+                            }
+                              this.clean_node(p);
+                            this.__callback({ "obj" : obj, "prev" : prev, "parent" : p });
+                         return obj;
+                    },
+                     prepare_move : function (o, r, pos, cb, is_cb) {
+                               var p = {};
+
+                           p.ot = $.jstree._reference(o) || this;
+                         p.o = p.ot._get_node(o);
+                               p.r = r === - 1 ? -1 : this._get_node(r);
+                              p.p = (typeof pos === "undefined" || pos === false) ? "last" : pos; // TODO: move to a setting
+                         if(!is_cb && prepared_move.o && prepared_move.o[0] === p.o[0] && prepared_move.r[0] === p.r[0] && prepared_move.p === p.p) {
+                                   this.__callback(prepared_move);
+                                        if(cb) { cb.call(this, prepared_move); }
+                                       return;
+                                }
+                              p.ot = $.jstree._reference(p.o) || this;
+                               p.rt = $.jstree._reference(p.r) || this; // r === -1 ? p.ot : $.jstree._reference(p.r) || this
+                         if(p.r === -1 || !p.r) {
+                                       p.cr = -1;
+                                     switch(p.p) {
+                                          case "first":
+                                          case "before":
+                                         case "inside":
+                                                 p.cp = 0;
+                                                      break;
+                                         case "after":
+                                          case "last":
+                                                   p.cp = p.rt.get_container().find(" > ul > li").length;
+                                                 break;
+                                         default:
+                                                       p.cp = p.p;
+                                                    break;
+                                 }
+                              }
+                              else {
+                                 if(!/^(before|after)$/.test(p.p) && !this._is_loaded(p.r)) {
+                                           return this.load_node(p.r, function () { this.prepare_move(o, r, pos, cb, true); });
+                                   }
+                                      switch(p.p) {
+                                          case "before":
+                                                 p.cp = p.r.index();
+                                                    p.cr = p.rt._get_parent(p.r);
+                                                  break;
+                                         case "after":
+                                                  p.cp = p.r.index() + 1;
+                                                        p.cr = p.rt._get_parent(p.r);
+                                                  break;
+                                         case "inside":
+                                         case "first":
+                                                  p.cp = 0;
+                                                      p.cr = p.r;
+                                                    break;
+                                         case "last":
+                                                   p.cp = p.r.find(" > ul > li").length;
+                                                  p.cr = p.r;
+                                                    break;
+                                         default:
+                                                       p.cp = p.p;
+                                                    p.cr = p.r;
+                                                    break;
+                                 }
+                              }
+                              p.np = p.cr == -1 ? p.rt.get_container() : p.cr;
+                               p.op = p.ot._get_parent(p.o);
+                          p.cop = p.o.index();
+                           if(p.op === -1) { p.op = p.ot ? p.ot.get_container() : this.get_container(); }
+                         if(!/^(before|after)$/.test(p.p) && p.op && p.np && p.op[0] === p.np[0] && p.o.index() < p.cp) { p.cp++; }
+                             //if(p.p === "before" && p.op && p.np && p.op[0] === p.np[0] && p.o.index() < p.cp) { p.cp--; }
+                                p.or = p.np.find(" > ul > li:nth-child(" + (p.cp + 1) + ")");
+                          prepared_move = p;
+                             this.__callback(prepared_move);
+                                if(cb) { cb.call(this, prepared_move); }
+                       },
+                     check_move : function () {
+                             var obj = prepared_move, ret = true, r = obj.r === -1 ? this.get_container() : obj.r;
+                          if(!obj || !obj.o || obj.or[0] === obj.o[0]) { return false; }
+                         if(obj.op && obj.np && obj.op[0] === obj.np[0] && obj.cp - 1 === obj.o.index()) { return false; }
+                              obj.o.each(function () {
+                                       if(r.parentsUntil(".jstree", "li").andSelf().index(this) !== -1) { ret = false; return false; }
+                                });
+                            return ret;
+                    },
+                     move_node : function (obj, ref, position, is_copy, is_prepared, skip_check) {
+                          if(!is_prepared) {
+                                     return this.prepare_move(obj, ref, position, function (p) {
+                                            this.move_node(p, false, false, is_copy, true, skip_check);
+                                    });
+                            }
+                              if(is_copy) {
+                                  prepared_move.cy = true;
+                               }
+                              if(!skip_check && !this.check_move()) { return false; }
+
+                               this.__rollback();
+                             var o = false;
+                         if(is_copy) {
+                                  o = obj.o.clone(true);
+                                 o.find("*[id]").andSelf().each(function () {
+                                           if(this.id) { this.id = "copy_" + this.id; }
+                                   });
+                            }
+                              else { o = obj.o; }
+
+                           if(obj.or.length) { obj.or.before(o); }
+                                else {
+                                 if(!obj.np.children("ul").length) { $("<ul />").appendTo(obj.np); }
+                                    obj.np.children("ul:eq(0)").append(o);
+                         }
+
+                             try {
+                                  obj.ot.clean_node(obj.op);
+                                     obj.rt.clean_node(obj.np);
+                                     if(!obj.op.find("> ul > li").length) {
+                                         obj.op.removeClass("jstree-open jstree-closed").addClass("jstree-leaf").children("ul").remove();
+                                       }
+                              } catch (e) { }
+
+                               if(is_copy) {
+                                  prepared_move.cy = true;
+                                       prepared_move.oc = o;
+                          }
+                              this.__callback(prepared_move);
+                                return prepared_move;
+                  },
+                     _get_move : function () { return prepared_move; }
+              }
+      });
+})(jQuery);
+//*/
+
+/*
+ * jsTree ui plugin
+ * This plugins handles selecting/deselecting/hovering/dehovering nodes
+ */
+(function ($) {
+       var scrollbar_width, e1, e2;
+   $(function() {
+         if (/msie/.test(navigator.userAgent.toLowerCase())) {
+                  e1 = $('<textarea cols="10" rows="2"></textarea>').css({ position: 'absolute', top: -1000, left: 0 }).appendTo('body');
+                        e2 = $('<textarea cols="10" rows="2" style="overflow: hidden;"></textarea>').css({ position: 'absolute', top: -1000, left: 0 }).appendTo('body');
+                      scrollbar_width = e1.width() - e2.width();
+                     e1.add(e2).remove();
+           }
+              else {
+                 e1 = $('<div />').css({ width: 100, height: 100, overflow: 'auto', position: 'absolute', top: -1000, left: 0 })
+                                        .prependTo('body').append('<div />').find('div').css({ width: '100%', height: 200 });
+                  scrollbar_width = 100 - e1.width();
+                    e1.parent().remove();
+          }
+      });
+    $.jstree.plugin("ui", {
+                __init : function () {
+                 this.data.ui.selected = $();
+                   this.data.ui.last_selected = false;
+                    this.data.ui.hovered = null;
+                   this.data.ui.to_select = this.get_settings().ui.initially_select;
+
+                     this.get_container()
+                           .delegate("a", "click.jstree", $.proxy(function (event) {
+                                              event.preventDefault();
+                                                event.currentTarget.blur();
+                                            if(!$(event.currentTarget).hasClass("jstree-loading")) {
+                                                       this.select_node(event.currentTarget, true, event);
+                                            }
+                                      }, this))
+                              .delegate("a", "mouseenter.jstree", $.proxy(function (event) {
+                                         if(!$(event.currentTarget).hasClass("jstree-loading")) {
+                                                       this.hover_node(event.target);
+                                         }
+                                      }, this))
+                              .delegate("a", "mouseleave.jstree", $.proxy(function (event) {
+                                         if(!$(event.currentTarget).hasClass("jstree-loading")) {
+                                                       this.dehover_node(event.target);
+                                               }
+                                      }, this))
+                              .bind("reopen.jstree", $.proxy(function () {
+                                           this.reselect();
+                                       }, this))
+                              .bind("get_rollback.jstree", $.proxy(function () {
+                                             this.dehover_node();
+                                           this.save_selected();
+                                  }, this))
+                              .bind("set_rollback.jstree", $.proxy(function () {
+                                             this.reselect();
+                                       }, this))
+                              .bind("close_node.jstree", $.proxy(function (event, data) {
+                                            var s = this._get_settings().ui,
+                                                       obj = this._get_node(data.rslt.obj),
+                                                   clk = (obj && obj.length) ? obj.children("ul").find("a.jstree-clicked") : $(),
+                                                 _this = this;
+                                          if(s.selected_parent_close === false || !clk.length) { return; }
+                                               clk.each(function () {
+                                                 _this.deselect_node(this);
+                                                     if(s.selected_parent_close === "select_parent") { _this.select_node(obj); }
+                                            });
+                                    }, this))
+                              .bind("delete_node.jstree", $.proxy(function (event, data) {
+                                           var s = this._get_settings().ui.select_prev_on_delete,
+                                                 obj = this._get_node(data.rslt.obj),
+                                                   clk = (obj && obj.length) ? obj.find("a.jstree-clicked") : [],
+                                                 _this = this;
+                                          clk.each(function () { _this.deselect_node(this); });
+                                          if(s && clk.length) {
+                                                  data.rslt.prev.each(function () {
+                                                              if(this.parentNode) { _this.select_node(this); return false; /* if return false is removed all prev nodes will be selected */}
+                                                 });
+                                            }
+                                      }, this))
+                              .bind("move_node.jstree", $.proxy(function (event, data) {
+                                             if(data.rslt.cy) {
+                                                     data.rslt.oc.find("a.jstree-clicked").removeClass("jstree-clicked");
+                                           }
+                                      }, this));
+             },
+             defaults : {
+                   select_limit : -1, // 0, 1, 2 ... or -1 for unlimited
+                  select_multiple_modifier : "ctrl", // on, or ctrl, shift, alt
+                  select_range_modifier : "shift",
+                       selected_parent_close : "select_parent", // false, "deselect", "select_parent"
+                 selected_parent_open : true,
+                   select_prev_on_delete : true,
+                  disable_selecting_children : false,
+                    initially_select : []
+          },
+             _fn : {
+                        _get_node : function (obj, allow_multiple) {
+                           if(typeof obj === "undefined" || obj === null) { return allow_multiple ? this.data.ui.selected : this.data.ui.last_selected; }
+                         var $obj = $(obj, this.get_container());
+                               if($obj.is(".jstree") || obj == -1) { return -1; }
+                             $obj = $obj.closest("li", this.get_container());
+                               return $obj.length ? $obj : false;
+                     },
+                     _ui_notify : function (n, data) {
+                              if(data.selected) {
+                                    this.select_node(n, false);
+                            }
+                      },
+                     save_selected : function () {
+                          var _this = this;
+                              this.data.ui.to_select = [];
+                           this.data.ui.selected.each(function () { if(this.id) { _this.data.ui.to_select.push("#" + this.id.toString().replace(/^#/,"").replace(/\\\//g,"/").replace(/\//g,"\\\/").replace(/\\\./g,".").replace(/\./g,"\\.").replace(/\:/g,"\\:")); } });
+                                this.__callback(this.data.ui.to_select);
+                       },
+                     reselect : function () {
+                               var _this = this,
+                                      s = this.data.ui.to_select;
+                            s = $.map($.makeArray(s), function (n) { return "#" + n.toString().replace(/^#/,"").replace(/\\\//g,"/").replace(/\//g,"\\\/").replace(/\\\./g,".").replace(/\./g,"\\.").replace(/\:/g,"\\:"); });
+                             // this.deselect_all(); WHY deselect, breaks plugin state notifier?
+                            $.each(s, function (i, val) { if(val && val !== "#") { _this.select_node(val); } });
+                           this.data.ui.selected = this.data.ui.selected.filter(function () { return this.parentNode; });
+                         this.__callback();
+                     },
+                     refresh : function (obj) {
+                             this.save_selected();
+                          return this.__call_old();
+                      },
+                     hover_node : function (obj) {
+                          obj = this._get_node(obj);
+                             if(!obj.length) { return false; }
+                              //if(this.data.ui.hovered && obj.get(0) === this.data.ui.hovered.get(0)) { return; }
+                           if(!obj.hasClass("jstree-hovered")) { this.dehover_node(); }
+                           this.data.ui.hovered = obj.children("a").addClass("jstree-hovered").parent();
+                          this._fix_scroll(obj);
+                         this.__callback({ "obj" : obj });
+                      },
+                     dehover_node : function () {
+                           var obj = this.data.ui.hovered, p;
+                             if(!obj || !obj.length) { return false; }
+                              p = obj.children("a").removeClass("jstree-hovered").parent();
+                          if(this.data.ui.hovered[0] === p[0]) { this.data.ui.hovered = null; }
+                          this.__callback({ "obj" : obj });
+                      },
+                     select_node : function (obj, check, e) {
+                               obj = this._get_node(obj);
+                             if(obj == -1 || !obj || !obj.length) { return false; }
+                         var s = this._get_settings().ui,
+                                       is_multiple = (s.select_multiple_modifier == "on" || (s.select_multiple_modifier !== false && e && e[s.select_multiple_modifier + "Key"])),
+                                    is_range = (s.select_range_modifier !== false && e && e[s.select_range_modifier + "Key"] && this.data.ui.last_selected && this.data.ui.last_selected[0] !== obj[0] && this.data.ui.last_selected.parent()[0] === obj.parent()[0]),
+                                     is_selected = this.is_selected(obj),
+                                   proceed = true,
+                                        t = this;
+                              if(check) {
+                                    if(s.disable_selecting_children && is_multiple &&
+                                              (
+                                                      (obj.parentsUntil(".jstree","li").children("a.jstree-clicked").length) ||
+                                                      (obj.children("ul").find("a.jstree-clicked:eq(0)").length)
+                                             )
+                                      ) {
+                                            return false;
+                                  }
+                                      proceed = false;
+                                       switch(!0) {
+                                           case (is_range):
+                                                       this.data.ui.last_selected.addClass("jstree-last-selected");
+                                                   obj = obj[ obj.index() < this.data.ui.last_selected.index() ? "nextUntil" : "prevUntil" ](".jstree-last-selected").andSelf();
+                                                  if(s.select_limit == -1 || obj.length < s.select_limit) {
+                                                              this.data.ui.last_selected.removeClass("jstree-last-selected");
+                                                                this.data.ui.selected.each(function () {
+                                                                       if(this !== t.data.ui.last_selected[0]) { t.deselect_node(this); }
+                                                             });
+                                                            is_selected = false;
+                                                           proceed = true;
+                                                        }
+                                                      else {
+                                                         proceed = false;
+                                                       }
+                                                      break;
+                                         case (is_selected && !is_multiple):
+                                                    this.deselect_all();
+                                                   is_selected = false;
+                                                   proceed = true;
+                                                        break;
+                                         case (!is_selected && !is_multiple):
+                                                   if(s.select_limit == -1 || s.select_limit > 0) {
+                                                               this.deselect_all();
+                                                           proceed = true;
+                                                        }
+                                                      break;
+                                         case (is_selected && is_multiple):
+                                                     this.deselect_node(obj);
+                                                       break;
+                                         case (!is_selected && is_multiple):
+                                                    if(s.select_limit == -1 || this.data.ui.selected.length + 1 <= s.select_limit) {
+                                                               proceed = true;
+                                                        }
+                                                      break;
+                                 }
+                              }
+                              if(proceed && !is_selected) {
+                                  if(!is_range) { this.data.ui.last_selected = obj; }
+                                    obj.children("a").addClass("jstree-clicked");
+                                  if(s.selected_parent_open) {
+                                           obj.parents(".jstree-closed").each(function () { t.open_node(this, false, true); });
+                                   }
+                                      this.data.ui.selected = this.data.ui.selected.add(obj);
+                                        this._fix_scroll(obj.eq(0));
+                                   this.__callback({ "obj" : obj, "e" : e });
+                             }
+                      },
+                     _fix_scroll : function (obj) {
+                         var c = this.get_container()[0], t;
+                            if(c.scrollHeight > c.offsetHeight) {
+                                  obj = this._get_node(obj);
+                                     if(!obj || obj === -1 || !obj.length || !obj.is(":visible")) { return; }
+                                       t = obj.offset().top - this.get_container().offset().top;
+                                      if(t < 0) {
+                                            c.scrollTop = c.scrollTop + t - 1;
+                                     }
+                                      if(t + this.data.core.li_height + (c.scrollWidth > c.offsetWidth ? scrollbar_width : 0) > c.offsetHeight) {
+                                            c.scrollTop = c.scrollTop + (t - c.offsetHeight + this.data.core.li_height + 1 + (c.scrollWidth > c.offsetWidth ? scrollbar_width : 0));
+                                       }
+                              }
+                      },
+                     deselect_node : function (obj) {
+                               obj = this._get_node(obj);
+                             if(!obj.length) { return false; }
+                              if(this.is_selected(obj)) {
+                                    obj.children("a").removeClass("jstree-clicked");
+                                       this.data.ui.selected = this.data.ui.selected.not(obj);
+                                        if(this.data.ui.last_selected.get(0) === obj.get(0)) { this.data.ui.last_selected = this.data.ui.selected.eq(0); }
+                                     this.__callback({ "obj" : obj });
+                              }
+                      },
+                     toggle_select : function (obj) {
+                               obj = this._get_node(obj);
+                             if(!obj.length) { return false; }
+                              if(this.is_selected(obj)) { this.deselect_node(obj); }
+                         else { this.select_node(obj); }
+                        },
+                     is_selected : function (obj) { return this.data.ui.selected.index(this._get_node(obj)) >= 0; },
+                        get_selected : function (context) {
+                            return context ? $(context).find("a.jstree-clicked").parent() : this.data.ui.selected;
+                 },
+                     deselect_all : function (context) {
+                            var ret = context ? $(context).find("a.jstree-clicked").parent() : this.get_container().find("a.jstree-clicked").parent();
+                             ret.children("a.jstree-clicked").removeClass("jstree-clicked");
+                                this.data.ui.selected = $([]);
+                         this.data.ui.last_selected = false;
+                            this.__callback({ "obj" : ret });
+                      }
+              }
+      });
+    // include the selection plugin by default
+     $.jstree.defaults.plugins.push("ui");
+})(jQuery);
+//*/
+
+/*
+ * jsTree CRRM plugin
+ * Handles creating/renaming/removing/moving nodes by user interaction.
+ */
+(function ($) {
+   $.jstree.plugin("crrm", {
+              __init : function () {
+                 this.get_container()
+                           .bind("move_node.jstree", $.proxy(function (e, data) {
+                                 if(this._get_settings().crrm.move.open_onmove) {
+                                               var t = this;
+                                          data.rslt.np.parentsUntil(".jstree").andSelf().filter(".jstree-closed").each(function () {
+                                                     t.open_node(this, false, true);
+                                                });
+                                    }
+                              }, this));
+             },
+             defaults : {
+                   input_width_limit : 200,
+                       move : {
+                               always_copy                     : false, // false, true or "multitree"
+                           open_onmove                 : true,
+                          default_position     : "last",
+                             check_move                        : function (m) { return true; }
+                   }
+              },
+             _fn : {
+                        _show_input : function (obj, callback) {
+                               obj = this._get_node(obj);
+                             var rtl = this._get_settings().core.rtl,
+                                       w = this._get_settings().crrm.input_width_limit,
+                                       w1 = obj.children("ins").width(),
+                                      w2 = obj.find("> a:visible > ins").width() * obj.find("> a:visible > ins").length,
+                                     t = this.get_text(obj),
+                                        h1 = $("<div />", { css : { "position" : "absolute", "top" : "-200px", "left" : (rtl ? "0px" : "-1000px"), "visibility" : "hidden" } }).appendTo("body"),
+                                      h2 = obj.css("position","relative").append(
+                                    $("<input />", {
+                                               "value" : t,
+                                           "class" : "jstree-rename-input",
+                                               // "size" : t.length,
+                                          "css" : {
+                                                      "padding" : "0",
+                                                       "border" : "1px solid silver",
+                                                 "position" : "absolute",
+                                                       "left"  : (rtl ? "auto" : (w1 + w2 + 4) + "px"),
+                                                       "right" : (rtl ? (w1 + w2 + 4) + "px" : "auto"),
+                                                       "top" : "0px",
+                                                 "height" : (this.data.core.li_height - 2) + "px",
+                                                      "lineHeight" : (this.data.core.li_height - 2) + "px",
+                                                  "width" : "150px" // will be set a bit further down
+                                            },
+                                             "blur" : $.proxy(function () {
+                                                 var i = obj.children(".jstree-rename-input"),
+                                                          v = i.val();
+                                                   if(v === "") { v = t; }
+                                                        h1.remove();
+                                                   i.remove(); // rollback purposes
+                                                       this.set_text(obj,t); // rollback purposes
+                                                     this.rename_node(obj, v);
+                                                      callback.call(this, obj, v, t);
+                                                        obj.css("position","");
+                                                }, this),
+                                              "keyup" : function (event) {
+                                                   var key = event.keyCode || event.which;
+                                                        if(key == 27) { this.value = t; this.blur(); return; }
+                                                 else if(key == 13) { this.blur(); return; }
+                                                    else {
+                                                         h2.width(Math.min(h1.text("pW" + this.value).width(),w));
+                                                      }
+                                              },
+                                             "keypress" : function(event) {
+                                                 var key = event.keyCode || event.which;
+                                                        if(key == 13) { return false; }
+                                                }
+                                      })
+                             ).children(".jstree-rename-input");
+                            this.set_text(obj, "");
+                                h1.css({
+                                               fontFamily              : h2.css('fontFamily')          || '',
+                                             fontSize          : h2.css('fontSize')            || '',
+                                         fontWeight            : h2.css('fontWeight')          || '',
+                                             fontStyle         : h2.css('fontStyle')           || '',
+                                               fontStretch             : h2.css('fontStretch')         || '',
+                                           fontVariant         : h2.css('fontVariant')         || '',
+                                           letterSpacing       : h2.css('letterSpacing')       || '',
+                                         wordSpacing           : h2.css('wordSpacing')         || ''
+                            });
+                            h2.width(Math.min(h1.text("pW" + h2[0].value).width(),w))[0].select();
+                 },
+                     rename : function (obj) {
+                              obj = this._get_node(obj);
+                             this.__rollback();
+                             var f = this.__callback;
+                               this._show_input(obj, function (obj, new_name, old_name) {
+                                     f.call(this, { "obj" : obj, "new_name" : new_name, "old_name" : old_name });
+                           });
+                    },
+                     create : function (obj, position, js, callback, skip_rename) {
+                         var t, _this = this;
+                           obj = this._get_node(obj);
+                             if(!obj) { obj = -1; }
+                         this.__rollback();
+                             t = this.create_node(obj, position, js, function (t) {
+                                 var p = this._get_parent(t),
+                                           pos = $(t).index();
+                                    if(callback) { callback.call(this, t); }
+                                       if(p.length && p.hasClass("jstree-closed")) { this.open_node(p, false, true); }
+                                        if(!skip_rename) {
+                                             this._show_input(t, function (obj, new_name, old_name) {
+                                                       _this.__callback({ "obj" : obj, "name" : new_name, "parent" : p, "position" : pos });
+                                          });
+                                    }
+                                      else { _this.__callback({ "obj" : t, "name" : this.get_text(t), "parent" : p, "position" : pos }); }
+                           });
+                            return t;
+                      },
+                     remove : function (obj) {
+                              obj = this._get_node(obj, true);
+                               var p = this._get_parent(obj), prev = this._get_prev(obj);
+                             this.__rollback();
+                             obj = this.delete_node(obj);
+                           if(obj !== false) { this.__callback({ "obj" : obj, "prev" : prev, "parent" : p }); }
+                   },
+                     check_move : function () {
+                             if(!this.__call_old()) { return false; }
+                               var s = this._get_settings().crrm.move;
+                                if(!s.check_move.call(this, this._get_move())) { return false; }
+                               return true;
+                   },
+                     move_node : function (obj, ref, position, is_copy, is_prepared, skip_check) {
+                          var s = this._get_settings().crrm.move;
+                                if(!is_prepared) {
+                                     if(typeof position === "undefined") { position = s.default_position; }
+                                 if(position === "inside" && !s.default_position.match(/^(before|after)$/)) { position = s.default_position; }
+                                  return this.__call_old(true, obj, ref, position, is_copy, false, skip_check);
+                          }
+                              // if the move is already prepared
+                             if(s.always_copy === true || (s.always_copy === "multitree" && obj.rt.get_index() !== obj.ot.get_index() )) {
+                                  is_copy = true;
+                                }
+                              this.__call_old(true, obj, ref, position, is_copy, true, skip_check);
+                  },
+
+                    cut : function (obj) {
+                         obj = this._get_node(obj, true);
+                               if(!obj || !obj.length) { return false; }
+                              this.data.crrm.cp_nodes = false;
+                               this.data.crrm.ct_nodes = obj;
+                         this.__callback({ "obj" : obj });
+                      },
+                     copy : function (obj) {
+                                obj = this._get_node(obj, true);
+                               if(!obj || !obj.length) { return false; }
+                              this.data.crrm.ct_nodes = false;
+                               this.data.crrm.cp_nodes = obj;
+                         this.__callback({ "obj" : obj });
+                      },
+                     paste : function (obj) {
+                               obj = this._get_node(obj);
+                             if(!obj || !obj.length) { return false; }
+                              var nodes = this.data.crrm.ct_nodes ? this.data.crrm.ct_nodes : this.data.crrm.cp_nodes;
+                               if(!this.data.crrm.ct_nodes && !this.data.crrm.cp_nodes) { return false; }
+                             if(this.data.crrm.ct_nodes) { this.move_node(this.data.crrm.ct_nodes, obj); this.data.crrm.ct_nodes = false; }
+                         if(this.data.crrm.cp_nodes) { this.move_node(this.data.crrm.cp_nodes, obj, false, true); }
+                             this.__callback({ "obj" : obj, "nodes" : nodes });
+                     }
+              }
+      });
+    // include the crr plugin by default
+   // $.jstree.defaults.plugins.push("crrm");
+})(jQuery);
+//*/
+
+/*
+ * jsTree themes plugin
+ * Handles loading and setting themes, as well as detecting path to themes, etc.
+ */
+(function ($) {
+   var themes_loaded = [];
+        // this variable stores the path to the themes folder - if left as false - it will be autodetected
+     $.jstree._themes = false;
+      $.jstree.plugin("themes", {
+            __init : function () {
+                 this.get_container()
+                           .bind("init.jstree", $.proxy(function () {
+                                             var s = this._get_settings().themes;
+                                           this.data.themes.dots = s.dots;
+                                                this.data.themes.icons = s.icons;
+                                              this.set_theme(s.theme, s.url);
+                                        }, this))
+                              .bind("loaded.jstree", $.proxy(function () {
+                                           // bound here too, as simple HTML tree's won't honor dots & icons otherwise
+                                            if(!this.data.themes.dots) { this.hide_dots(); }
+                                               else { this.show_dots(); }
+                                             if(!this.data.themes.icons) { this.hide_icons(); }
+                                             else { this.show_icons(); }
+                                    }, this));
+             },
+             defaults : {
+                   theme : "default",
+                     url : false,
+                   dots : true,
+                   icons : true
+           },
+             _fn : {
+                        set_theme : function (theme_name, theme_url) {
+                         if(!theme_name) { return false; }
+                              if(!theme_url) { theme_url = $.jstree._themes + theme_name + '/style.css'; }
+                           if($.inArray(theme_url, themes_loaded) == -1) {
+                                        $.vakata.css.add_sheet({ "url" : theme_url });
+                                 themes_loaded.push(theme_url);
+                         }
+                              if(this.data.themes.theme != theme_name) {
+                                     this.get_container().removeClass('jstree-' + this.data.themes.theme);
+                                  this.data.themes.theme = theme_name;
+                           }
+                              this.get_container().addClass('jstree-' + theme_name);
+                         if(!this.data.themes.dots) { this.hide_dots(); }
+                               else { this.show_dots(); }
+                             if(!this.data.themes.icons) { this.hide_icons(); }
+                             else { this.show_icons(); }
+                            this.__callback();
+                     },
+                     get_theme : function () { return this.data.themes.theme; },
+
+                   show_dots   : function () { this.data.themes.dots = true; this.get_container().children("ul").removeClass("jstree-no-dots"); },
+                  hide_dots    : function () { this.data.themes.dots = false; this.get_container().children("ul").addClass("jstree-no-dots"); },
+                    toggle_dots        : function () { if(this.data.themes.dots) { this.hide_dots(); } else { this.show_dots(); } },
+
+                     show_icons        : function () { this.data.themes.icons = true; this.get_container().children("ul").removeClass("jstree-no-icons"); },
+                       hide_icons      : function () { this.data.themes.icons = false; this.get_container().children("ul").addClass("jstree-no-icons"); },
+                 toggle_icons: function () { if(this.data.themes.icons) { this.hide_icons(); } else { this.show_icons(); } }
+            }
+      });
+    // autodetect themes path
+      $(function () {
+                if($.jstree._themes === false) {
+                       $("script").each(function () {
+                         if(this.src.toString().match(/jquery\.jstree[^\/]*?\.js(\?.*)?$/)) {
+                                   $.jstree._themes = this.src.toString().replace(/jquery\.jstree[^\/]*?\.js(\?.*)?$/, "") + 'themes/';
+                                   return false;
+                          }
+                      });
+            }
+              if($.jstree._themes === false) { $.jstree._themes = "themes/"; }
+       });
+    // include the themes plugin by default
+        $.jstree.defaults.plugins.push("themes");
+})(jQuery);
+//*/
+
+/*
+ * jsTree hotkeys plugin
+ * Enables keyboard navigation for all tree instances
+ * Depends on the jstree ui & jquery hotkeys plugins
+ */
+(function ($) {
+ var bound = [];
+        function exec(i, event) {
+              var f = $.jstree._focused(), tmp;
+              if(f && f.data && f.data.hotkeys && f.data.hotkeys.enabled) {
+                  tmp = f._get_settings().hotkeys[i];
+                    if(tmp) { return tmp.call(f, event); }
+         }
+      }
+      $.jstree.plugin("hotkeys", {
+           __init : function () {
+                 if(typeof $.hotkeys === "undefined") { throw "jsTree hotkeys: jQuery hotkeys plugin not included."; }
+                  if(!this.data.ui) { throw "jsTree hotkeys: jsTree UI plugin not included."; }
+                  $.each(this._get_settings().hotkeys, function (i, v) {
+                         if(v !== false && $.inArray(i, bound) == -1) {
+                                 $(document).bind("keydown", i, function (event) { return exec(i, event); });
+                                   bound.push(i);
+                         }
+                      });
+                    this.get_container()
+                           .bind("lock.jstree", $.proxy(function () {
+                                             if(this.data.hotkeys.enabled) { this.data.hotkeys.enabled = false; this.data.hotkeys.revert = true; }
+                                  }, this))
+                              .bind("unlock.jstree", $.proxy(function () {
+                                           if(this.data.hotkeys.revert) { this.data.hotkeys.enabled = true; }
+                                     }, this));
+                     this.enable_hotkeys();
+         },
+             defaults : {
+                   "up" : function () {
+                           var o = this.data.ui.hovered || this.data.ui.last_selected || -1;
+                              this.hover_node(this._get_prev(o));
+                            return false;
+                  },
+                     "ctrl+up" : function () {
+                              var o = this.data.ui.hovered || this.data.ui.last_selected || -1;
+                              this.hover_node(this._get_prev(o));
+                            return false;
+                  },
+                     "shift+up" : function () {
+                             var o = this.data.ui.hovered || this.data.ui.last_selected || -1;
+                              this.hover_node(this._get_prev(o));
+                            return false;
+                  },
+                     "down" : function () {
+                         var o = this.data.ui.hovered || this.data.ui.last_selected || -1;
+                              this.hover_node(this._get_next(o));
+                            return false;
+                  },
+                     "ctrl+down" : function () {
+                            var o = this.data.ui.hovered || this.data.ui.last_selected || -1;
+                              this.hover_node(this._get_next(o));
+                            return false;
+                  },
+                     "shift+down" : function () {
+                           var o = this.data.ui.hovered || this.data.ui.last_selected || -1;
+                              this.hover_node(this._get_next(o));
+                            return false;
+                  },
+                     "left" : function () {
+                         var o = this.data.ui.hovered || this.data.ui.last_selected;
+                            if(o) {
+                                        if(o.hasClass("jstree-open")) { this.close_node(o); }
+                                  else { this.hover_node(this._get_prev(o)); }
+                           }
+                              return false;
+                  },
+                     "ctrl+left" : function () {
+                            var o = this.data.ui.hovered || this.data.ui.last_selected;
+                            if(o) {
+                                        if(o.hasClass("jstree-open")) { this.close_node(o); }
+                                  else { this.hover_node(this._get_prev(o)); }
+                           }
+                              return false;
+                  },
+                     "shift+left" : function () {
+                           var o = this.data.ui.hovered || this.data.ui.last_selected;
+                            if(o) {
+                                        if(o.hasClass("jstree-open")) { this.close_node(o); }
+                                  else { this.hover_node(this._get_prev(o)); }
+                           }
+                              return false;
+                  },
+                     "right" : function () {
+                                var o = this.data.ui.hovered || this.data.ui.last_selected;
+                            if(o && o.length) {
+                                    if(o.hasClass("jstree-closed")) { this.open_node(o); }
+                                 else { this.hover_node(this._get_next(o)); }
+                           }
+                              return false;
+                  },
+                     "ctrl+right" : function () {
+                           var o = this.data.ui.hovered || this.data.ui.last_selected;
+                            if(o && o.length) {
+                                    if(o.hasClass("jstree-closed")) { this.open_node(o); }
+                                 else { this.hover_node(this._get_next(o)); }
+                           }
+                              return false;
+                  },
+                     "shift+right" : function () {
+                          var o = this.data.ui.hovered || this.data.ui.last_selected;
+                            if(o && o.length) {
+                                    if(o.hasClass("jstree-closed")) { this.open_node(o); }
+                                 else { this.hover_node(this._get_next(o)); }
+                           }
+                              return false;
+                  },
+                     "space" : function () {
+                                if(this.data.ui.hovered) { this.data.ui.hovered.children("a:eq(0)").click(); }
+                         return false;
+                  },
+                     "ctrl+space" : function (event) {
+                              event.type = "click";
+                          if(this.data.ui.hovered) { this.data.ui.hovered.children("a:eq(0)").trigger(event); }
+                          return false;
+                  },
+                     "shift+space" : function (event) {
+                             event.type = "click";
+                          if(this.data.ui.hovered) { this.data.ui.hovered.children("a:eq(0)").trigger(event); }
+                          return false;
+                  },
+                     "f2" : function () { this.rename(this.data.ui.hovered || this.data.ui.last_selected); },
+                       "del" : function () { this.remove(this.data.ui.hovered || this._get_node(null)); }
+             },
+             _fn : {
+                        enable_hotkeys : function () {
+                         this.data.hotkeys.enabled = true;
+                      },
+                     disable_hotkeys : function () {
+                                this.data.hotkeys.enabled = false;
+                     }
+              }
+      });
+})(jQuery);
+//*/
+
+/*
+ * jsTree JSON plugin
+ * The JSON data store. Datastores are build by overriding the `load_node` and `_is_loaded` functions.
+ */
+(function ($) {
+      $.jstree.plugin("json_data", {
+         __init : function() {
+                  var s = this._get_settings().json_data;
+                        if(s.progressive_unload) {
+                             this.get_container().bind("after_close.jstree", function (e, data) {
+                                   data.rslt.obj.children("ul").remove();
+                         });
+                    }
+              },
+             defaults : {
+                   // `data` can be a function:
+                   //  * accepts two arguments - node being loaded and a callback to pass the result to
+                   //  * will be executed in the current tree's scope & ajax won't be supported
+                   data : false,
+                  ajax : false,
+                  correct_state : true,
+                  progressive_render : false,
+                    progressive_unload : false
+             },
+             _fn : {
+                        load_node : function (obj, s_call, e_call) { var _this = this; this.load_node_json(obj, function () { _this.__callback({ "obj" : _this._get_node(obj) }); s_call.call(this); }, e_call); },
+                    _is_loaded : function (obj) {
+                          var s = this._get_settings().json_data;
+                                obj = this._get_node(obj);
+                             return obj == -1 || !obj || (!s.ajax && !s.progressive_render && !$.isFunction(s.data)) || obj.is(".jstree-open, .jstree-leaf") || obj.children("ul").children("li").length > 0;
+                       },
+                     refresh : function (obj) {
+                             obj = this._get_node(obj);
+                             var s = this._get_settings().json_data;
+                                if(obj && obj !== -1 && s.progressive_unload && ($.isFunction(s.data) || !!s.ajax)) {
+                                  obj.removeData("jstree_children");
+                             }
+                              return this.__call_old();
+                      },
+                     load_node_json : function (obj, s_call, e_call) {
+                              var s = this.get_settings().json_data, d,
+                                      error_func = function () {},
+                                   success_func = function () {};
+                         obj = this._get_node(obj);
+
+                            if(obj && obj !== -1 && (s.progressive_render || s.progressive_unload) && !obj.is(".jstree-open, .jstree-leaf") && obj.children("ul").children("li").length === 0 && obj.data("jstree_children")) {
+                                    d = this._parse_json(obj.data("jstree_children"), obj);
+                                        if(d) {
+                                                obj.append(d);
+                                         if(!s.progressive_unload) { obj.removeData("jstree_children"); }
+                                       }
+                                      this.clean_node(obj);
+                                  if(s_call) { s_call.call(this); }
+                                      return;
+                                }
+
+                             if(obj && obj !== -1) {
+                                        if(obj.data("jstree_is_loading")) { return; }
+                                  else { obj.data("jstree_is_loading",true); }
+                           }
+                              switch(!0) {
+                                   case (!s.data && !s.ajax): throw "Neither data nor ajax settings supplied.";
+                                   // function option added here for easier model integration (also supporting async - see callback)
+                                      case ($.isFunction(s.data)):
+                                           s.data.call(this, obj, $.proxy(function (d) {
+                                                  d = this._parse_json(d, obj);
+                                                  if(!d) {
+                                                               if(obj === -1 || !obj) {
+                                                                       if(s.correct_state) { this.get_container().children("ul").empty(); }
+                                                           }
+                                                              else {
+                                                                 obj.children("a.jstree-loading").removeClass("jstree-loading");
+                                                                        obj.removeData("jstree_is_loading");
+                                                                   if(s.correct_state) { this.correct_state(obj); }
+                                                               }
+                                                              if(e_call) { e_call.call(this); }
+                                                      }
+                                                      else {
+                                                         if(obj === -1 || !obj) { this.get_container().children("ul").empty().append(d.children()); }
+                                                           else { obj.append(d).children("a.jstree-loading").removeClass("jstree-loading"); obj.removeData("jstree_is_loading"); }
+                                                                this.clean_node(obj);
+                                                          if(s_call) { s_call.call(this); }
+                                                      }
+                                              }, this));
+                                             break;
+                                 case (!!s.data && !s.ajax) || (!!s.data && !!s.ajax && (!obj || obj === -1)):
+                                          if(!obj || obj == -1) {
+                                                        d = this._parse_json(s.data, obj);
+                                                     if(d) {
+                                                                this.get_container().children("ul").empty().append(d.children());
+                                                              this.clean_node();
+                                                     }
+                                                      else {
+                                                         if(s.correct_state) { this.get_container().children("ul").empty(); }
+                                                   }
+                                              }
+                                              if(s_call) { s_call.call(this); }
+                                              break;
+                                 case (!s.data && !!s.ajax) || (!!s.data && !!s.ajax && obj && obj !== -1):
+                                             error_func = function (x, t, e) {
+                                                      var ef = this.get_settings().json_data.ajax.error;
+                                                     if(ef) { ef.call(this, x, t, e); }
+                                                     if(obj != -1 && obj.length) {
+                                                          obj.children("a.jstree-loading").removeClass("jstree-loading");
+                                                                obj.removeData("jstree_is_loading");
+                                                           if(t === "success" && s.correct_state) { this.correct_state(obj); }
+                                                    }
+                                                      else {
+                                                         if(t === "success" && s.correct_state) { this.get_container().children("ul").empty(); }
+                                                        }
+                                                      if(e_call) { e_call.call(this); }
+                                              };
+                                             success_func = function (d, t, x) {
+                                                    var sf = this.get_settings().json_data.ajax.success;
+                                                   if(sf) { d = sf.call(this,d,t,x) || d; }
+                                                       if(d === "" || (d && d.toString && d.toString().replace(/^[\s\n]+$/,"") === "") || (!$.isArray(d) && !$.isPlainObject(d))) {
+                                                           return error_func.call(this, x, t, "");
+                                                        }
+                                                      d = this._parse_json(d, obj);
+                                                  if(d) {
+                                                                if(obj === -1 || !obj) { this.get_container().children("ul").empty().append(d.children()); }
+                                                           else { obj.append(d).children("a.jstree-loading").removeClass("jstree-loading"); obj.removeData("jstree_is_loading"); }
+                                                                this.clean_node(obj);
+                                                          if(s_call) { s_call.call(this); }
+                                                      }
+                                                      else {
+                                                         if(obj === -1 || !obj) {
+                                                                       if(s.correct_state) {
+                                                                          this.get_container().children("ul").empty();
+                                                                           if(s_call) { s_call.call(this); }
+                                                                      }
+                                                              }
+                                                              else {
+                                                                 obj.children("a.jstree-loading").removeClass("jstree-loading");
+                                                                        obj.removeData("jstree_is_loading");
+                                                                   if(s.correct_state) {
+                                                                          this.correct_state(obj);
+                                                                               if(s_call) { s_call.call(this); }
+                                                                      }
+                                                              }
+                                                      }
+                                              };
+                                             s.ajax.context = this;
+                                         s.ajax.error = error_func;
+                                             s.ajax.success = success_func;
+                                         if(!s.ajax.dataType) { s.ajax.dataType = "json"; }
+                                             if($.isFunction(s.ajax.url)) { s.ajax.url = s.ajax.url.call(this, obj); }
+                                              if($.isFunction(s.ajax.data)) { s.ajax.data = s.ajax.data.call(this, obj); }
+                                           $.ajax(s.ajax);
+                                                break;
+                         }
+                      },
+                     _parse_json : function (js, obj, is_callback) {
+                                var d = false,
+                                 p = this._get_settings(),
+                                      s = p.json_data,
+                                       t = p.core.html_titles,
+                                        tmp, i, j, ul1, ul2;
+
+                          if(!js) { return d; }
+                          if(s.progressive_unload && obj && obj !== -1) {
+                                        obj.data("jstree_children", d);
+                                }
+                              if($.isArray(js)) {
+                                    d = $();
+                                       if(!js.length) { return false; }
+                                       for(i = 0, j = js.length; i < j; i++) {
+                                                tmp = this._parse_json(js[i], obj, true);
+                                              if(tmp.length) { d = d.add(tmp); }
+                                     }
+                              }
+                              else {
+                                 if(typeof js == "string") { js = { data : js }; }
+                                      if(!js.data && js.data !== "") { return d; }
+                                   d = $("<li />");
+                                       if(js.attr) { d.attr(js.attr); }
+                                       if(js.metadata) { d.data(js.metadata); }
+                                       if(js.state) { d.addClass("jstree-" + js.state); }
+                                     if(!$.isArray(js.data)) { tmp = js.data; js.data = []; js.data.push(tmp); }
+                                    $.each(js.data, function (i, m) {
+                                              tmp = $("<a />");
+                                              if($.isFunction(m)) { m = m.call(this, js); }
+                                          if(typeof m == "string") { tmp.attr('href','#')[ t ? "html" : "text" ](m); }
+                                           else {
+                                                 if(!m.attr) { m.attr = {}; }
+                                                   if(!m.attr.href) { m.attr.href = '#'; }
+                                                        tmp.attr(m.attr)[ t ? "html" : "text" ](m.title);
+                                                      if(m.language) { tmp.addClass(m.language); }
+                                           }
+                                              tmp.prepend("<ins class='jstree-icon'>&#160;</ins>");
+                                          if(!m.icon && js.icon) { m.icon = js.icon; }
+                                           if(m.icon) {
+                                                   if(m.icon.indexOf("/") === -1) { tmp.children("ins").addClass(m.icon); }
+                                                       else { tmp.children("ins").css("background","url('" + m.icon + "') center center no-repeat"); }
+                                                }
+                                              d.append(tmp);
+                                 });
+                                    d.prepend("<ins class='jstree-icon'>&#160;</ins>");
+                                    if(js.children) {
+                                              if(s.progressive_render && js.state !== "open") {
+                                                      d.addClass("jstree-closed").data("jstree_children", js.children);
+                                              }
+                                              else {
+                                                 if(s.progressive_unload) { d.data("jstree_children", js.children); }
+                                                   if($.isArray(js.children) && js.children.length) {
+                                                             tmp = this._parse_json(js.children, obj, true);
+                                                                if(tmp.length) {
+                                                                       ul2 = $("<ul />");
+                                                                     ul2.append(tmp);
+                                                                       d.append(ul2);
+                                                         }
+                                                      }
+                                              }
+                                      }
+                              }
+                              if(!is_callback) {
+                                     ul1 = $("<ul />");
+                                     ul1.append(d);
+                                 d = ul1;
+                               }
+                              return d;
+                      },
+                     get_json : function (obj, li_attr, a_attr, is_callback) {
+                              var result = [],
+                                       s = this._get_settings(),
+                                      _this = this,
+                                  tmp1, tmp2, li, a, t, lang;
+                            obj = this._get_node(obj);
+                             if(!obj || obj === -1) { obj = this.get_container().find("> ul > li"); }
+                               li_attr = $.isArray(li_attr) ? li_attr : [ "id", "class" ];
+                            if(!is_callback && this.data.types) { li_attr.push(s.types.type_attr); }
+                               a_attr = $.isArray(a_attr) ? a_attr : [ ];
+
+                            obj.each(function () {
+                                 li = $(this);
+                                  tmp1 = { data : [] };
+                                  if(li_attr.length) { tmp1.attr = { }; }
+                                        $.each(li_attr, function (i, v) {
+                                              tmp2 = li.attr(v);
+                                             if(tmp2 && tmp2.length && tmp2.replace(/jstree[^ ]*/ig,'').length) {
+                                                   tmp1.attr[v] = (" " + tmp2).replace(/ jstree[^ ]*/ig,'').replace(/\s+$/ig," ").replace(/^ /,"").replace(/ $/,"");
+                                              }
+                                      });
+                                    if(li.hasClass("jstree-open")) { tmp1.state = "open"; }
+                                        if(li.hasClass("jstree-closed")) { tmp1.state = "closed"; }
+                                    if(li.data()) { tmp1.metadata = li.data(); }
+                                   a = li.children("a");
+                                  a.each(function () {
+                                           t = $(this);
+                                           if(
+                                                    a_attr.length ||
+                                                       $.inArray("languages", s.plugins) !== -1 ||
+                                                    t.children("ins").get(0).style.backgroundImage.length ||
+                                                       (t.children("ins").get(0).className && t.children("ins").get(0).className.replace(/jstree[^ ]*|$/ig,'').length)
+                                                ) {
+                                                    lang = false;
+                                                  if($.inArray("languages", s.plugins) !== -1 && $.isArray(s.languages) && s.languages.length) {
+                                                         $.each(s.languages, function (l, lv) {
+                                                                 if(t.hasClass(lv)) {
+                                                                           lang = lv;
+                                                                             return false;
+                                                                  }
+                                                              });
+                                                    }
+                                                      tmp2 = { attr : { }, title : _this.get_text(t, lang) };
+                                                        $.each(a_attr, function (k, z) {
+                                                               tmp2.attr[z] = (" " + (t.attr(z) || "")).replace(/ jstree[^ ]*/ig,'').replace(/\s+$/ig," ").replace(/^ /,"").replace(/ $/,"");
+                                                 });
+                                                    if($.inArray("languages", s.plugins) !== -1 && $.isArray(s.languages) && s.languages.length) {
+                                                         $.each(s.languages, function (k, z) {
+                                                                  if(t.hasClass(z)) { tmp2.language = z; return true; }
+                                                          });
+                                                    }
+                                                      if(t.children("ins").get(0).className.replace(/jstree[^ ]*|$/ig,'').replace(/^\s+$/ig,"").length) {
+                                                            tmp2.icon = t.children("ins").get(0).className.replace(/jstree[^ ]*|$/ig,'').replace(/\s+$/ig," ").replace(/^ /,"").replace(/ $/,"");
+                                                  }
+                                                      if(t.children("ins").get(0).style.backgroundImage.length) {
+                                                            tmp2.icon = t.children("ins").get(0).style.backgroundImage.replace("url(","").replace(")","");
+                                                 }
+                                              }
+                                              else {
+                                                 tmp2 = _this.get_text(t);
+                                              }
+                                              if(a.length > 1) { tmp1.data.push(tmp2); }
+                                             else { tmp1.data = tmp2; }
+                                     });
+                                    li = li.find("> ul > li");
+                                     if(li.length) { tmp1.children = _this.get_json(li, li_attr, a_attr, true); }
+                                   result.push(tmp1);
+                             });
+                            return result;
+                 }
+              }
+      });
+})(jQuery);
+//*/
+
+/*
+ * jsTree languages plugin
+ * Adds support for multiple language versions in one tree
+ * This basically allows for many titles coexisting in one node, but only one of them being visible at any given time
+ * This is useful for maintaining the same structure in many languages (hence the name of the plugin)
+ */
+(function ($) {
+ $.jstree.plugin("languages", {
+         __init : function () { this._load_css();  },
+           defaults : [],
+         _fn : {
+                        set_lang : function (i) {
+                              var langs = this._get_settings().languages,
+                                    st = false,
+                                    selector = ".jstree-" + this.get_index() + ' a';
+                               if(!$.isArray(langs) || langs.length === 0) { return false; }
+                          if($.inArray(i,langs) == -1) {
+                                 if(!!langs[i]) { i = langs[i]; }
+                                       else { return false; }
+                         }
+                              if(i == this.data.languages.current_language) { return true; }
+                         st = $.vakata.css.get_css(selector + "." + this.data.languages.current_language, false, this.data.languages.language_css);
+                             if(st !== false) { st.style.display = "none"; }
+                                st = $.vakata.css.get_css(selector + "." + i, false, this.data.languages.language_css);
+                                if(st !== false) { st.style.display = ""; }
+                            this.data.languages.current_language = i;
+                              this.__callback(i);
+                            return true;
+                   },
+                     get_lang : function () {
+                               return this.data.languages.current_language;
+                   },
+                     _get_string : function (key, lang) {
+                           var langs = this._get_settings().languages,
+                                    s = this._get_settings().core.strings;
+                         if($.isArray(langs) && langs.length) {
+                                 lang = (lang && $.inArray(lang,langs) != -1) ? lang : this.data.languages.current_language;
+                            }
+                              if(s[lang] && s[lang][key]) { return s[lang][key]; }
+                           if(s[key]) { return s[key]; }
+                          return key;
+                    },
+                     get_text : function (obj, lang) {
+                              obj = this._get_node(obj) || this.data.ui.last_selected;
+                               if(!obj.size()) { return false; }
+                              var langs = this._get_settings().languages,
+                                    s = this._get_settings().core.html_titles;
+                             if($.isArray(langs) && langs.length) {
+                                 lang = (lang && $.inArray(lang,langs) != -1) ? lang : this.data.languages.current_language;
+                                    obj = obj.children("a." + lang);
+                               }
+                              else { obj = obj.children("a:eq(0)"); }
+                                if(s) {
+                                        obj = obj.clone();
+                                     obj.children("INS").remove();
+                                  return obj.html();
+                             }
+                              else {
+                                 obj = obj.contents().filter(function() { return this.nodeType == 3; })[0];
+                                     return obj.nodeValue;
+                          }
+                      },
+                     set_text : function (obj, val, lang) {
+                         obj = this._get_node(obj) || this.data.ui.last_selected;
+                               if(!obj.size()) { return false; }
+                              var langs = this._get_settings().languages,
+                                    s = this._get_settings().core.html_titles,
+                                     tmp;
+                           if($.isArray(langs) && langs.length) {
+                                 lang = (lang && $.inArray(lang,langs) != -1) ? lang : this.data.languages.current_language;
+                                    obj = obj.children("a." + lang);
+                               }
+                              else { obj = obj.children("a:eq(0)"); }
+                                if(s) {
+                                        tmp = obj.children("INS").clone();
+                                     obj.html(val).prepend(tmp);
+                                    this.__callback({ "obj" : obj, "name" : val, "lang" : lang });
+                                 return true;
+                           }
+                              else {
+                                 obj = obj.contents().filter(function() { return this.nodeType == 3; })[0];
+                                     this.__callback({ "obj" : obj, "name" : val, "lang" : lang });
+                                 return (obj.nodeValue = val);
+                          }
+                      },
+                     _load_css : function () {
+                              var langs = this._get_settings().languages,
+                                    str = "/* languages css */",
+                                   selector = ".jstree-" + this.get_index() + ' a',
+                                       ln;
+                            if($.isArray(langs) && langs.length) {
+                                 this.data.languages.current_language = langs[0];
+                                       for(ln = 0; ln < langs.length; ln++) {
+                                         str += selector + "." + langs[ln] + " {";
+                                              if(langs[ln] != this.data.languages.current_language) { str += " display:none; "; }
+                                            str += " } ";
+                                  }
+                                      this.data.languages.language_css = $.vakata.css.add_sheet({ 'str' : str, 'title' : "jstree-languages" });
+                              }
+                      },
+                     create_node : function (obj, position, js, callback) {
+                         var t = this.__call_old(true, obj, position, js, function (t) {
+                                        var langs = this._get_settings().languages,
+                                            a = t.children("a"),
+                                           ln;
+                                    if($.isArray(langs) && langs.length) {
+                                         for(ln = 0; ln < langs.length; ln++) {
+                                                 if(!a.is("." + langs[ln])) {
+                                                           t.append(a.eq(0).clone().removeClass(langs.join(" ")).addClass(langs[ln]));
+                                                    }
+                                              }
+                                              a.not("." + langs.join(", .")).remove();
+                                       }
+                                      if(callback) { callback.call(this, t); }
+                               });
+                            return t;
+                      }
+              }
+      });
+})(jQuery);
+//*/
+
+/*
+ * jsTree cookies plugin
+ * Stores the currently opened/selected nodes in a cookie and then restores them
+ * Depends on the jquery.cookie plugin
+ */
+(function ($) {
+  $.jstree.plugin("cookies", {
+           __init : function () {
+                 if(typeof $.cookie === "undefined") { throw "jsTree cookie: jQuery cookie plugin not included."; }
+
+                    var s = this._get_settings().cookies,
+                          tmp;
+                   if(!!s.save_loaded) {
+                          tmp = $.cookie(s.save_loaded);
+                         if(tmp && tmp.length) { this.data.core.to_load = tmp.split(","); }
+                     }
+                      if(!!s.save_opened) {
+                          tmp = $.cookie(s.save_opened);
+                         if(tmp && tmp.length) { this.data.core.to_open = tmp.split(","); }
+                     }
+                      if(!!s.save_selected) {
+                                tmp = $.cookie(s.save_selected);
+                               if(tmp && tmp.length && this.data.ui) { this.data.ui.to_select = tmp.split(","); }
+                     }
+                      this.get_container()
+                           .one( ( this.data.ui ? "reselect" : "reopen" ) + ".jstree", $.proxy(function () {
+                                      this.get_container()
+                                           .bind("open_node.jstree close_node.jstree select_node.jstree deselect_node.jstree", $.proxy(function (e) {
+                                                             if(this._get_settings().cookies.auto_save) { this.save_cookie((e.handleObj.namespace + e.handleObj.type).replace("jstree","")); }
+                                                      }, this));
+                             }, this));
+             },
+             defaults : {
+                   save_loaded         : "jstree_load",
+                  save_opened          : "jstree_open",
+                  save_selected        : "jstree_select",
+                       auto_save               : true,
+                     cookie_options    : {}
+            },
+             _fn : {
+                        save_cookie : function (c) {
+                           if(this.data.core.refreshing) { return; }
+                              var s = this._get_settings().cookies;
+                          if(!c) { // if called manually and not by event
+                                        if(s.save_loaded) {
+                                            this.save_loaded();
+                                            $.cookie(s.save_loaded, this.data.core.to_load.join(","), s.cookie_options);
+                                   }
+                                      if(s.save_opened) {
+                                            this.save_opened();
+                                            $.cookie(s.save_opened, this.data.core.to_open.join(","), s.cookie_options);
+                                   }
+                                      if(s.save_selected && this.data.ui) {
+                                          this.save_selected();
+                                          $.cookie(s.save_selected, this.data.ui.to_select.join(","), s.cookie_options);
+                                 }
+                                      return;
+                                }
+                              switch(c) {
+                                    case "open_node":
+                                      case "close_node":
+                                             if(!!s.save_opened) {
+                                                  this.save_opened();
+                                                    $.cookie(s.save_opened, this.data.core.to_open.join(","), s.cookie_options);
+                                           }
+                                              if(!!s.save_loaded) {
+                                                  this.save_loaded();
+                                                    $.cookie(s.save_loaded, this.data.core.to_load.join(","), s.cookie_options);
+                                           }
+                                              break;
+                                 case "select_node":
+                                    case "deselect_node":
+                                          if(!!s.save_selected && this.data.ui) {
+                                                        this.save_selected();
+                                                  $.cookie(s.save_selected, this.data.ui.to_select.join(","), s.cookie_options);
+                                         }
+                                              break;
+                         }
+                      }
+              }
+      });
+    // include cookies by default
+  // $.jstree.defaults.plugins.push("cookies");
+})(jQuery);
+//*/
+
+/*
+ * jsTree sort plugin
+ * Sorts items alphabetically (or using any other function)
+ */
+(function ($) {
+       $.jstree.plugin("sort", {
+              __init : function () {
+                 this.get_container()
+                           .bind("load_node.jstree", $.proxy(function (e, data) {
+                                         var obj = this._get_node(data.rslt.obj);
+                                               obj = obj === -1 ? this.get_container().children("ul") : obj.children("ul");
+                                           this.sort(obj);
+                                        }, this))
+                              .bind("rename_node.jstree create_node.jstree create.jstree", $.proxy(function (e, data) {
+                                              this.sort(data.rslt.obj.parent());
+                                     }, this))
+                              .bind("move_node.jstree", $.proxy(function (e, data) {
+                                         var m = data.rslt.np == -1 ? this.get_container() : data.rslt.np;
+                                              this.sort(m.children("ul"));
+                                   }, this));
+             },
+             defaults : function (a, b) { return this.get_text(a) > this.get_text(b) ? 1 : -1; },
+           _fn : {
+                        sort : function (obj) {
+                                var s = this._get_settings().sort,
+                                     t = this;
+                              obj.append($.makeArray(obj.children("li")).sort($.proxy(s, t)));
+                               obj.find("> li > ul").each(function() { t.sort($(this)); });
+                           this.clean_node(obj);
+                  }
+              }
+      });
+})(jQuery);
+//*/
+
+/*
+ * jsTree DND plugin
+ * Drag and drop plugin for moving/copying nodes
+ */
+(function ($) {
+     var o = false,
+         r = false,
+             m = false,
+             ml = false,
+            sli = false,
+           sti = false,
+           dir1 = false,
+          dir2 = false,
+          last_pos = false;
+      $.vakata.dnd = {
+               is_down : false,
+               is_drag : false,
+               helper : false,
+                scroll_spd : 10,
+               init_x : 0,
+            init_y : 0,
+            threshold : 5,
+         helper_left : 5,
+               helper_top : 10,
+               user_data : {},
+
+               drag_start : function (e, data, html) {
+                        if($.vakata.dnd.is_drag) { $.vakata.drag_stop({}); }
+                   try {
+                          e.currentTarget.unselectable = "on";
+                           e.currentTarget.onselectstart = function() { return false; };
+                          if(e.currentTarget.style) { e.currentTarget.style.MozUserSelect = "none"; }
+                    } catch(err) { }
+                       $.vakata.dnd.init_x = e.pageX;
+                 $.vakata.dnd.init_y = e.pageY;
+                 $.vakata.dnd.user_data = data;
+                 $.vakata.dnd.is_down = true;
+                   $.vakata.dnd.helper = $("<div id='vakata-dragged' />").html(html); //.fadeTo(10,0.25);
+                 $(document).bind("mousemove", $.vakata.dnd.drag);
+                      $(document).bind("mouseup", $.vakata.dnd.drag_stop);
+                   return false;
+          },
+             drag : function (e) {
+                  if(!$.vakata.dnd.is_down) { return; }
+                  if(!$.vakata.dnd.is_drag) {
+                            if(Math.abs(e.pageX - $.vakata.dnd.init_x) > 5 || Math.abs(e.pageY - $.vakata.dnd.init_y) > 5) {
+                                       $.vakata.dnd.helper.appendTo("body");
+                                  $.vakata.dnd.is_drag = true;
+                                   $(document).triggerHandler("drag_start.vakata", { "event" : e, "data" : $.vakata.dnd.user_data });
+                             }
+                              else { return; }
+                       }
+
+                     // maybe use a scrolling parent element instead of document?
+                   if(e.type === "mousemove") { // thought of adding scroll in order to move the helper, but mouse poisition is n/a
+                               var d = $(document), t = d.scrollTop(), l = d.scrollLeft();
+                            if(e.pageY - t < 20) {
+                                 if(sti && dir1 === "down") { clearInterval(sti); sti = false; }
+                                        if(!sti) { dir1 = "up"; sti = setInterval(function () { $(document).scrollTop($(document).scrollTop() - $.vakata.dnd.scroll_spd); }, 150); }
+                           }
+                              else {
+                                 if(sti && dir1 === "up") { clearInterval(sti); sti = false; }
+                          }
+                              if($(window).height() - (e.pageY - t) < 20) {
+                                  if(sti && dir1 === "up") { clearInterval(sti); sti = false; }
+                                  if(!sti) { dir1 = "down"; sti = setInterval(function () { $(document).scrollTop($(document).scrollTop() + $.vakata.dnd.scroll_spd); }, 150); }
+                         }
+                              else {
+                                 if(sti && dir1 === "down") { clearInterval(sti); sti = false; }
+                                }
+
+                             if(e.pageX - l < 20) {
+                                 if(sli && dir2 === "right") { clearInterval(sli); sli = false; }
+                                       if(!sli) { dir2 = "left"; sli = setInterval(function () { $(document).scrollLeft($(document).scrollLeft() - $.vakata.dnd.scroll_spd); }, 150); }
+                               }
+                              else {
+                                 if(sli && dir2 === "left") { clearInterval(sli); sli = false; }
+                                }
+                              if($(window).width() - (e.pageX - l) < 20) {
+                                   if(sli && dir2 === "left") { clearInterval(sli); sli = false; }
+                                        if(!sli) { dir2 = "right"; sli = setInterval(function () { $(document).scrollLeft($(document).scrollLeft() + $.vakata.dnd.scroll_spd); }, 150); }
+                              }
+                              else {
+                                 if(sli && dir2 === "right") { clearInterval(sli); sli = false; }
+                               }
+                      }
+
+                     $.vakata.dnd.helper.css({ left : (e.pageX + $.vakata.dnd.helper_left) + "px", top : (e.pageY + $.vakata.dnd.helper_top) + "px" });
+                     $(document).triggerHandler("drag.vakata", { "event" : e, "data" : $.vakata.dnd.user_data });
+           },
+             drag_stop : function (e) {
+                     if(sli) { clearInterval(sli); }
+                        if(sti) { clearInterval(sti); }
+                        $(document).unbind("mousemove", $.vakata.dnd.drag);
+                    $(document).unbind("mouseup", $.vakata.dnd.drag_stop);
+                 $(document).triggerHandler("drag_stop.vakata", { "event" : e, "data" : $.vakata.dnd.user_data });
+                      $.vakata.dnd.helper.remove();
+                  $.vakata.dnd.init_x = 0;
+                       $.vakata.dnd.init_y = 0;
+                       $.vakata.dnd.user_data = {};
+                   $.vakata.dnd.is_down = false;
+                  $.vakata.dnd.is_drag = false;
+          }
+      };
+     $(function() {
+         var css_string = '#vakata-dragged { display:block; margin:0 0 0 0; padding:4px 4px 4px 24px; position:absolute; top:-2000px; line-height:16px; z-index:10000; } ';
+             $.vakata.css.add_sheet({ str : css_string, title : "vakata" });
+        });
+
+   $.jstree.plugin("dnd", {
+               __init : function () {
+                 this.data.dnd = {
+                              active : false,
+                                after : false,
+                         inside : false,
+                                before : false,
+                                off : false,
+                           prepared : false,
+                              w : 0,
+                         to1 : false,
+                           to2 : false,
+                           cof : false,
+                           cw : false,
+                            ch : false,
+                            i1 : false,
+                            i2 : false,
+                            mto : false
+                    };
+                     this.get_container()
+                           .bind("mouseenter.jstree", $.proxy(function (e) {
+                                              if($.vakata.dnd.is_drag && $.vakata.dnd.user_data.jstree) {
+                                                    if(this.data.themes) {
+                                                         m.attr("class", "jstree-" + this.data.themes.theme);
+                                                           if(ml) { ml.attr("class", "jstree-" + this.data.themes.theme); }
+                                                               $.vakata.dnd.helper.attr("class", "jstree-dnd-helper jstree-" + this.data.themes.theme);
+                                                       }
+                                                      //if($(e.currentTarget).find("> ul > li").length === 0) {
+                                                      if(e.currentTarget === e.target && $.vakata.dnd.user_data.obj && $($.vakata.dnd.user_data.obj).length && $($.vakata.dnd.user_data.obj).parents(".jstree:eq(0)")[0] !== e.target) { // node should not be from the same tree
+                                                            var tr = $.jstree._reference(e.target), dc;
+                                                            if(tr.data.dnd.foreign) {
+                                                                      dc = tr._get_settings().dnd.drag_check.call(this, { "o" : o, "r" : tr.get_container(), is_root : true });
+                                                                      if(dc === true || dc.inside === true || dc.before === true || dc.after === true) {
+                                                                             $.vakata.dnd.helper.children("ins").attr("class","jstree-ok");
+                                                                 }
+                                                              }
+                                                              else {
+                                                                 tr.prepare_move(o, tr.get_container(), "last");
+                                                                        if(tr.check_move()) {
+                                                                          $.vakata.dnd.helper.children("ins").attr("class","jstree-ok");
+                                                                 }
+                                                              }
+                                                      }
+                                              }
+                                      }, this))
+                              .bind("mouseup.jstree", $.proxy(function (e) {
+                                         //if($.vakata.dnd.is_drag && $.vakata.dnd.user_data.jstree && $(e.currentTarget).find("> ul > li").length === 0) {
+                                             if($.vakata.dnd.is_drag && $.vakata.dnd.user_data.jstree && e.currentTarget === e.target && $.vakata.dnd.user_data.obj && $($.vakata.dnd.user_data.obj).length && $($.vakata.dnd.user_data.obj).parents(".jstree:eq(0)")[0] !== e.target) { // node should not be from the same tree
+                                                   var tr = $.jstree._reference(e.currentTarget), dc;
+                                                     if(tr.data.dnd.foreign) {
+                                                              dc = tr._get_settings().dnd.drag_check.call(this, { "o" : o, "r" : tr.get_container(), is_root : true });
+                                                              if(dc === true || dc.inside === true || dc.before === true || dc.after === true) {
+                                                                     tr._get_settings().dnd.drag_finish.call(this, { "o" : o, "r" : tr.get_container(), is_root : true });
+                                                          }
+                                                      }
+                                                      else {
+                                                         tr.move_node(o, tr.get_container(), "last", e[tr._get_settings().dnd.copy_modifier + "Key"]);
+                                                  }
+                                              }
+                                      }, this))
+                              .bind("mouseleave.jstree", $.proxy(function (e) {
+                                              if(e.relatedTarget && e.relatedTarget.id && e.relatedTarget.id === "jstree-marker-line") {
+                                                     return false;
+                                          }
+                                              if($.vakata.dnd.is_drag && $.vakata.dnd.user_data.jstree) {
+                                                    if(this.data.dnd.i1) { clearInterval(this.data.dnd.i1); }
+                                                      if(this.data.dnd.i2) { clearInterval(this.data.dnd.i2); }
+                                                      if(this.data.dnd.to1) { clearTimeout(this.data.dnd.to1); }
+                                                     if(this.data.dnd.to2) { clearTimeout(this.data.dnd.to2); }
+                                                     if($.vakata.dnd.helper.children("ins").hasClass("jstree-ok")) {
+                                                                $.vakata.dnd.helper.children("ins").attr("class","jstree-invalid");
+                                                    }
+                                              }
+                                      }, this))
+                              .bind("mousemove.jstree", $.proxy(function (e) {
+                                               if($.vakata.dnd.is_drag && $.vakata.dnd.user_data.jstree) {
+                                                    var cnt = this.get_container()[0];
+
+                                                    // Horizontal scroll
+                                                   if(e.pageX + 24 > this.data.dnd.cof.left + this.data.dnd.cw) {
+                                                         if(this.data.dnd.i1) { clearInterval(this.data.dnd.i1); }
+                                                              this.data.dnd.i1 = setInterval($.proxy(function () { this.scrollLeft += $.vakata.dnd.scroll_spd; }, cnt), 100);
+                                                        }
+                                                      else if(e.pageX - 24 < this.data.dnd.cof.left) {
+                                                               if(this.data.dnd.i1) { clearInterval(this.data.dnd.i1); }
+                                                              this.data.dnd.i1 = setInterval($.proxy(function () { this.scrollLeft -= $.vakata.dnd.scroll_spd; }, cnt), 100);
+                                                        }
+                                                      else {
+                                                         if(this.data.dnd.i1) { clearInterval(this.data.dnd.i1); }
+                                                      }
+
+                                                     // Vertical scroll
+                                                     if(e.pageY + 24 > this.data.dnd.cof.top + this.data.dnd.ch) {
+                                                          if(this.data.dnd.i2) { clearInterval(this.data.dnd.i2); }
+                                                              this.data.dnd.i2 = setInterval($.proxy(function () { this.scrollTop += $.vakata.dnd.scroll_spd; }, cnt), 100);
+                                                 }
+                                                      else if(e.pageY - 24 < this.data.dnd.cof.top) {
+                                                                if(this.data.dnd.i2) { clearInterval(this.data.dnd.i2); }
+                                                              this.data.dnd.i2 = setInterval($.proxy(function () { this.scrollTop -= $.vakata.dnd.scroll_spd; }, cnt), 100);
+                                                 }
+                                                      else {
+                                                         if(this.data.dnd.i2) { clearInterval(this.data.dnd.i2); }
+                                                      }
+
+                                             }
+                                      }, this))
+                              .bind("scroll.jstree", $.proxy(function (e) {
+                                          if($.vakata.dnd.is_drag && $.vakata.dnd.user_data.jstree && m && ml) {
+                                                 m.hide();
+                                                      ml.hide();
+                                             }
+                                      }, this))
+                              .delegate("a", "mousedown.jstree", $.proxy(function (e) {
+                                              if(e.which === 1) {
+                                                    this.start_drag(e.currentTarget, e);
+                                                   return false;
+                                          }
+                                      }, this))
+                              .delegate("a", "mouseenter.jstree", $.proxy(function (e) {
+                                             if($.vakata.dnd.is_drag && $.vakata.dnd.user_data.jstree) {
+                                                    this.dnd_enter(e.currentTarget);
+                                               }
+                                      }, this))
+                              .delegate("a", "mousemove.jstree", $.proxy(function (e) {
+                                              if($.vakata.dnd.is_drag && $.vakata.dnd.user_data.jstree) {
+                                                    if(!r || !r.length || r.children("a")[0] !== e.currentTarget) {
+                                                                this.dnd_enter(e.currentTarget);
+                                                       }
+                                                      if(typeof this.data.dnd.off.top === "undefined") { this.data.dnd.off = $(e.target).offset(); }
+                                                 this.data.dnd.w = (e.pageY - (this.data.dnd.off.top || 0)) % this.data.core.li_height;
+                                                 if(this.data.dnd.w < 0) { this.data.dnd.w += this.data.core.li_height; }
+                                                       this.dnd_show();
+                                               }
+                                      }, this))
+                              .delegate("a", "mouseleave.jstree", $.proxy(function (e) {
+                                             if($.vakata.dnd.is_drag && $.vakata.dnd.user_data.jstree) {
+                                                    if(e.relatedTarget && e.relatedTarget.id && e.relatedTarget.id === "jstree-marker-line") {
+                                                             return false;
+                                                  }
+                                                              if(m) { m.hide(); }
+                                                            if(ml) { ml.hide(); }
+                                                  /*
+                                                     var ec = $(e.currentTarget).closest("li"),
+                                                             er = $(e.relatedTarget).closest("li");
+                                                 if(er[0] !== ec.prev()[0] && er[0] !== ec.next()[0]) {
+                                                         if(m) { m.hide(); }
+                                                            if(ml) { ml.hide(); }
+                                                  }
+                                                      */
+                                                     this.data.dnd.mto = setTimeout(
+                                                                (function (t) { return function () { t.dnd_leave(e); }; })(this),
+                                                      0);
+                                            }
+                                      }, this))
+                              .delegate("a", "mouseup.jstree", $.proxy(function (e) {
+                                                if($.vakata.dnd.is_drag && $.vakata.dnd.user_data.jstree) {
+                                                    this.dnd_finish(e);
+                                            }
+                                      }, this));
+
+                    $(document)
+                            .bind("drag_stop.vakata", $.proxy(function () {
+                                                if(this.data.dnd.to1) { clearTimeout(this.data.dnd.to1); }
+                                             if(this.data.dnd.to2) { clearTimeout(this.data.dnd.to2); }
+                                             if(this.data.dnd.i1) { clearInterval(this.data.dnd.i1); }
+                                              if(this.data.dnd.i2) { clearInterval(this.data.dnd.i2); }
+                                              this.data.dnd.after              = false;
+                                          this.data.dnd.before = false;
+                                          this.data.dnd.inside = false;
+                                          this.data.dnd.off            = false;
+                                            this.data.dnd.prepared     = false;
+                                                this.data.dnd.w                        = false;
+                                             this.data.dnd.to1         = false;
+                                            this.data.dnd.to2          = false;
+                                            this.data.dnd.i1           = false;
+                                             this.data.dnd.i2          = false;
+                                             this.data.dnd.active      = false;
+                                          this.data.dnd.foreign        = false;
+                                         if(m) { m.css({ "top" : "-2000px" }); }
+                                                if(ml) { ml.css({ "top" : "-2000px" }); }
+                                      }, this))
+                              .bind("drag_start.vakata", $.proxy(function (e, data) {
+                                                if(data.data.jstree) {
+                                                 var et = $(data.event.target);
+                                                 if(et.closest(".jstree").hasClass("jstree-" + this.get_index())) {
+                                                             this.dnd_enter(et);
+                                                    }
+                                              }
+                                      }, this));
+                             /*
+                             .bind("keydown.jstree-" + this.get_index() + " keyup.jstree-" + this.get_index(), $.proxy(function(e) {
+                                                if($.vakata.dnd.is_drag && $.vakata.dnd.user_data.jstree && !this.data.dnd.foreign) {
+                                                  var h = $.vakata.dnd.helper.children("ins");
+                                                   if(e[this._get_settings().dnd.copy_modifier + "Key"] && h.hasClass("jstree-ok")) {
+                                                             h.parent().html(h.parent().html().replace(/ \(Copy\)$/, "") + " (Copy)");
+                                                      }
+                                                      else {
+                                                         h.parent().html(h.parent().html().replace(/ \(Copy\)$/, ""));
+                                                  }
+                                              }
+                                      }, this)); */
+
+
+
+                       var s = this._get_settings().dnd;
+                      if(s.drag_target) {
+                            $(document)
+                                    .delegate(s.drag_target, "mousedown.jstree-" + this.get_index(), $.proxy(function (e) {
+                                                o = e.target;
+                                          $.vakata.dnd.drag_start(e, { jstree : true, obj : e.target }, "<ins class='jstree-icon'></ins>" + $(e.target).text() );
+                                                if(this.data.themes) {
+                                                 if(m) { m.attr("class", "jstree-" + this.data.themes.theme); }
+                                                 if(ml) { ml.attr("class", "jstree-" + this.data.themes.theme); }
+                                                       $.vakata.dnd.helper.attr("class", "jstree-dnd-helper jstree-" + this.data.themes.theme);
+                                               }
+                                              $.vakata.dnd.helper.children("ins").attr("class","jstree-invalid");
+                                            var cnt = this.get_container();
+                                                this.data.dnd.cof = cnt.offset();
+                                              this.data.dnd.cw = parseInt(cnt.width(),10);
+                                           this.data.dnd.ch = parseInt(cnt.height(),10);
+                                          this.data.dnd.foreign = true;
+                                          e.preventDefault();
+                                    }, this));
+                     }
+                      if(s.drop_target) {
+                            $(document)
+                                    .delegate(s.drop_target, "mouseenter.jstree-" + this.get_index(), $.proxy(function (e) {
+                                                       if(this.data.dnd.active && this._get_settings().dnd.drop_check.call(this, { "o" : o, "r" : $(e.target), "e" : e })) {
+                                                          $.vakata.dnd.helper.children("ins").attr("class","jstree-ok");
+                                                 }
+                                              }, this))
+                                      .delegate(s.drop_target, "mouseleave.jstree-" + this.get_index(), $.proxy(function (e) {
+                                                       if(this.data.dnd.active) {
+                                                             $.vakata.dnd.helper.children("ins").attr("class","jstree-invalid");
+                                                    }
+                                              }, this))
+                                      .delegate(s.drop_target, "mouseup.jstree-" + this.get_index(), $.proxy(function (e) {
+                                                  if(this.data.dnd.active && $.vakata.dnd.helper.children("ins").hasClass("jstree-ok")) {
+                                                                this._get_settings().dnd.drop_finish.call(this, { "o" : o, "r" : $(e.target), "e" : e });
+                                                      }
+                                              }, this));
+                     }
+              },
+             defaults : {
+                   copy_modifier       : "ctrl",
+                        check_timeout  : 100,
+                   open_timeout        : 500,
+                    drop_target                : ".jstree-drop",
+                 drop_check            : function (data) { return true; },
+                        drop_finish            : $.noop,
+                 drag_target           : ".jstree-draggable",
+                    drag_finish                : $.noop,
+                 drag_check            : function (data) { return { after : false, before : false, inside : true }; }
+             },
+             _fn : {
+                        dnd_prepare : function () {
+                            if(!r || !r.length) { return; }
+                                this.data.dnd.off = r.offset();
+                                if(this._get_settings().core.rtl) {
+                                    this.data.dnd.off.right = this.data.dnd.off.left + r.width();
+                          }
+                              if(this.data.dnd.foreign) {
+                                    var a = this._get_settings().dnd.drag_check.call(this, { "o" : o, "r" : r });
+                                  this.data.dnd.after = a.after;
+                                 this.data.dnd.before = a.before;
+                                       this.data.dnd.inside = a.inside;
+                                       this.data.dnd.prepared = true;
+                                 return this.dnd_show();
+                                }
+                              this.prepare_move(o, r, "before");
+                             this.data.dnd.before = this.check_move();
+                              this.prepare_move(o, r, "after");
+                              this.data.dnd.after = this.check_move();
+                               if(this._is_loaded(r)) {
+                                       this.prepare_move(o, r, "inside");
+                                     this.data.dnd.inside = this.check_move();
+                              }
+                              else {
+                                 this.data.dnd.inside = false;
+                          }
+                              this.data.dnd.prepared = true;
+                         return this.dnd_show();
+                        },
+                     dnd_show : function () {
+                               if(!this.data.dnd.prepared) { return; }
+                                var o = ["before","inside","after"],
+                                   r = false,
+                                     rtl = this._get_settings().core.rtl,
+                                   pos;
+                           if(this.data.dnd.w < this.data.core.li_height/3) { o = ["before","inside","after"]; }
+                          else if(this.data.dnd.w <= this.data.core.li_height*2/3) {
+                                     o = this.data.dnd.w < this.data.core.li_height/2 ? ["inside","before","after"] : ["inside","after","before"];
+                          }
+                              else { o = ["after","inside","before"]; }
+                              $.each(o, $.proxy(function (i, val) {
+                                  if(this.data.dnd[val]) {
+                                               $.vakata.dnd.helper.children("ins").attr("class","jstree-ok");
+                                         r = val;
+                                               return false;
+                                  }
+                              }, this));
+                             if(r === false) { $.vakata.dnd.helper.children("ins").attr("class","jstree-invalid"); }
+
+                               pos = rtl ? (this.data.dnd.off.right - 18) : (this.data.dnd.off.left + 10);
+                            switch(r) {
+                                    case "before":
+                                         m.css({ "left" : pos + "px", "top" : (this.data.dnd.off.top - 6) + "px" }).show();
+                                             if(ml) { ml.css({ "left" : (pos + 8) + "px", "top" : (this.data.dnd.off.top - 1) + "px" }).show(); }
+                                           break;
+                                 case "after":
+                                          m.css({ "left" : pos + "px", "top" : (this.data.dnd.off.top + this.data.core.li_height - 6) + "px" }).show();
+                                          if(ml) { ml.css({ "left" : (pos + 8) + "px", "top" : (this.data.dnd.off.top + this.data.core.li_height - 1) + "px" }).show(); }
+                                                break;
+                                 case "inside":
+                                         m.css({ "left" : pos + ( rtl ? -4 : 4) + "px", "top" : (this.data.dnd.off.top + this.data.core.li_height/2 - 5) + "px" }).show();
+                                              if(ml) { ml.hide(); }
+                                          break;
+                                 default:
+                                               m.hide();
+                                              if(ml) { ml.hide(); }
+                                          break;
+                         }
+                              last_pos = r;
+                          return r;
+                      },
+                     dnd_open : function () {
+                               this.data.dnd.to2 = false;
+                             this.open_node(r, $.proxy(this.dnd_prepare,this), true);
+                       },
+                     dnd_finish : function (e) {
+                            if(this.data.dnd.foreign) {
+                                    if(this.data.dnd.after || this.data.dnd.before || this.data.dnd.inside) {
+                                              this._get_settings().dnd.drag_finish.call(this, { "o" : o, "r" : r, "p" : last_pos });
+                                 }
+                              }
+                              else {
+                                 this.dnd_prepare();
+                                    this.move_node(o, r, last_pos, e[this._get_settings().dnd.copy_modifier + "Key"]);
+                             }
+                              o = false;
+                             r = false;
+                             m.hide();
+                              if(ml) { ml.hide(); }
+                  },
+                     dnd_enter : function (obj) {
+                           if(this.data.dnd.mto) {
+                                        clearTimeout(this.data.dnd.mto);
+                                       this.data.dnd.mto = false;
+                             }
+                              var s = this._get_settings().dnd;
+                              this.data.dnd.prepared = false;
+                                r = this._get_node(obj);
+                               if(s.check_timeout) {
+                                  // do the calculations after a minimal timeout (users tend to drag quickly to the desired location)
+                                    if(this.data.dnd.to1) { clearTimeout(this.data.dnd.to1); }
+                                     this.data.dnd.to1 = setTimeout($.proxy(this.dnd_prepare, this), s.check_timeout);
+                              }
+                              else {
+                                 this.dnd_prepare();
+                            }
+                              if(s.open_timeout) {
+                                   if(this.data.dnd.to2) { clearTimeout(this.data.dnd.to2); }
+                                     if(r && r.length && r.hasClass("jstree-closed")) {
+                                             // if the node is closed - open it, then recalculate
+                                           this.data.dnd.to2 = setTimeout($.proxy(this.dnd_open, this), s.open_timeout);
+                                  }
+                              }
+                              else {
+                                 if(r && r.length && r.hasClass("jstree-closed")) {
+                                             this.dnd_open();
+                                       }
+                              }
+                      },
+                     dnd_leave : function (e) {
+                             this.data.dnd.after               = false;
+                          this.data.dnd.before = false;
+                          this.data.dnd.inside = false;
+                          $.vakata.dnd.helper.children("ins").attr("class","jstree-invalid");
+                            m.hide();
+                              if(ml) { ml.hide(); }
+                          if(r && r[0] === e.target.parentNode) {
+                                        if(this.data.dnd.to1) {
+                                                clearTimeout(this.data.dnd.to1);
+                                               this.data.dnd.to1 = false;
+                                     }
+                                      if(this.data.dnd.to2) {
+                                                clearTimeout(this.data.dnd.to2);
+                                               this.data.dnd.to2 = false;
+                                     }
+                              }
+                      },
+                     start_drag : function (obj, e) {
+                               o = this._get_node(obj);
+                               if(this.data.ui && this.is_selected(o)) { o = this._get_node(null, true); }
+                            var dt = o.length > 1 ? this._get_string("multiple_selection") : this.get_text(o),
+                                     cnt = this.get_container();
+                            if(!this._get_settings().core.html_titles) { dt = dt.replace(/</ig,"&lt;").replace(/>/ig,"&gt;"); }
+                            $.vakata.dnd.drag_start(e, { jstree : true, obj : o }, "<ins class='jstree-icon'></ins>" + dt );
+                               if(this.data.themes) {
+                                 if(m) { m.attr("class", "jstree-" + this.data.themes.theme); }
+                                 if(ml) { ml.attr("class", "jstree-" + this.data.themes.theme); }
+                                       $.vakata.dnd.helper.attr("class", "jstree-dnd-helper jstree-" + this.data.themes.theme);
+                               }
+                              this.data.dnd.cof = cnt.offset();
+                              this.data.dnd.cw = parseInt(cnt.width(),10);
+                           this.data.dnd.ch = parseInt(cnt.height(),10);
+                          this.data.dnd.active = true;
+                   }
+              }
+      });
+    $(function() {
+         var css_string = '' +
+                  '#vakata-dragged ins { display:block; text-decoration:none; width:16px; height:16px; margin:0 0 0 0; padding:0; position:absolute; top:4px; left:4px; ' +
+                      ' -moz-border-radius:4px; border-radius:4px; -webkit-border-radius:4px; ' +
+                    '} ' +
+                 '#vakata-dragged .jstree-ok { background:green; } ' +
+                  '#vakata-dragged .jstree-invalid { background:red; } ' +
+                       '#jstree-marker { padding:0; margin:0; font-size:12px; overflow:hidden; height:12px; width:8px; position:absolute; top:-30px; z-index:10001; background-repeat:no-repeat; display:none; background-color:transparent; text-shadow:1px 1px 1px white; color:black; line-height:10px; } ' +
+                      '#jstree-marker-line { padding:0; margin:0; line-height:0%; font-size:1px; overflow:hidden; height:1px; width:100px; position:absolute; top:-30px; z-index:10000; background-repeat:no-repeat; display:none; background-color:#456c43; ' +
+                     ' cursor:pointer; border:1px solid #eeeeee; border-left:0; -moz-box-shadow: 0px 0px 2px #666; -webkit-box-shadow: 0px 0px 2px #666; box-shadow: 0px 0px 2px #666; ' +
+                  ' -moz-border-radius:1px; border-radius:1px; -webkit-border-radius:1px; ' +
+                    '}' +
+                  '';
+            $.vakata.css.add_sheet({ str : css_string, title : "jstree" });
+                m = $("<div />").attr({ id : "jstree-marker" }).hide().html("&raquo;")
+                 .bind("mouseleave mouseenter", function (e) {
+                          m.hide();
+                              ml.hide();
+                             e.preventDefault();
+                            e.stopImmediatePropagation();
+                          return false;
+                  })
+                     .appendTo("body");
+             ml = $("<div />").attr({ id : "jstree-marker-line" }).hide()
+                   .bind("mouseup", function (e) {
+                                if(r && r.length) {
+                                    r.children("a").trigger(e);
+                                    e.preventDefault();
+                                    e.stopImmediatePropagation();
+                                  return false;
+                          }
+                      })
+                     .bind("mouseleave", function (e) {
+                             var rt = $(e.relatedTarget);
+                           if(rt.is(".jstree") || rt.closest(".jstree").length === 0) {
+                                   if(r && r.length) {
+                                            r.children("a").trigger(e);
+                                            m.hide();
+                                              ml.hide();
+                                             e.preventDefault();
+                                            e.stopImmediatePropagation();
+                                          return false;
+                                  }
+                              }
+                      })
+                     .appendTo("body");
+             $(document).bind("drag_start.vakata", function (e, data) {
+                     if(data.data.jstree) { m.show(); if(ml) { ml.show(); } }
+               });
+            $(document).bind("drag_stop.vakata", function (e, data) {
+                      if(data.data.jstree) { m.hide(); if(ml) { ml.hide(); } }
+               });
+    });
+})(jQuery);
+//*/
+
+/*
+ * jsTree checkbox plugin
+ * Inserts checkboxes in front of every node
+ * Depends on the ui plugin
+ * DOES NOT WORK NICELY WITH MULTITREE DRAG'N'DROP
+ */
+(function ($) {
+     $.jstree.plugin("checkbox", {
+          __init : function () {
+                 this.data.checkbox.noui = this._get_settings().checkbox.override_ui;
+                   if(this.data.ui && this.data.checkbox.noui) {
+                          this.select_node = this.deselect_node = this.deselect_all = $.noop;
+                            this.get_selected = this.get_checked;
+                  }
+
+                     this.get_container()
+                           .bind("open_node.jstree create_node.jstree clean_node.jstree refresh.jstree", $.proxy(function (e, data) {
+                                             this._prepare_checkboxes(data.rslt.obj);
+                                       }, this))
+                              .bind("loaded.jstree", $.proxy(function (e) {
+                                          this._prepare_checkboxes();
+                                    }, this))
+                              .delegate( (this.data.ui && this.data.checkbox.noui ? "a" : "ins.jstree-checkbox") , "click.jstree", $.proxy(function (e) {
+                                            e.preventDefault();
+                                            if(this._get_node(e.target).hasClass("jstree-checked")) { this.uncheck_node(e.target); }
+                                               else { this.check_node(e.target); }
+                                            if(this.data.ui && this.data.checkbox.noui) {
+                                                  this.save_selected();
+                                                  if(this.data.cookies) { this.save_cookie("select_node"); }
+                                             }
+                                              else {
+                                                 e.stopImmediatePropagation();
+                                                  return false;
+                                          }
+                                      }, this));
+             },
+             defaults : {
+                   override_ui : false,
+                   two_state : false,
+                     real_checkboxes : false,
+                       checked_parent_open : true,
+                    real_checkboxes_names : function (n) { return [ ("check_" + (n[0].id || Math.ceil(Math.random() * 10000))) , 1]; }
+             },
+             __destroy : function () {
+                      this.get_container()
+                           .find("input.jstree-real-checkbox").removeClass("jstree-real-checkbox").end()
+                          .find("ins.jstree-checkbox").remove();
+         },
+             _fn : {
+                        _checkbox_notify : function (n, data) {
+                                if(data.checked) {
+                                     this.check_node(n, false);
+                             }
+                      },
+                     _prepare_checkboxes : function (obj) {
+                         obj = !obj || obj == -1 ? this.get_container().find("> ul > li") : this._get_node(obj);
+                                if(obj === false) { return; } // added for removing root nodes
+                         var c, _this = this, t, ts = this._get_settings().checkbox.two_state, rc = this._get_settings().checkbox.real_checkboxes, rcn = this._get_settings().checkbox.real_checkboxes_names;
+                           obj.each(function () {
+                                 t = $(this);
+                                   c = t.is("li") && (t.hasClass("jstree-checked") || (rc && t.children(":checked").length)) ? "jstree-checked" : "jstree-unchecked";
+                                     t.find("li").andSelf().each(function () {
+                                              var $t = $(this), nm;
+                                          $t.children("a" + (_this.data.languages ? "" : ":eq(0)") ).not(":has(.jstree-checkbox)").prepend("<ins class='jstree-checkbox'>&#160;</ins>").parent().not(".jstree-checked, .jstree-unchecked").addClass( ts ? "jstree-unchecked" : c );
+                                              if(rc) {
+                                                       if(!$t.children(":checkbox").length) {
+                                                         nm = rcn.call(_this, $t);
+                                                              $t.prepend("<input type='checkbox' class='jstree-real-checkbox' id='" + nm[0] + "' name='" + nm[0] + "' value='" + nm[1] + "' />");
+                                                    }
+                                                      else {
+                                                         $t.children(":checkbox").addClass("jstree-real-checkbox");
+                                                     }
+                                              }
+                                              if(!ts) {
+                                                      if(c === "jstree-checked" || $t.hasClass("jstree-checked") || $t.children(':checked').length) {
+                                                                $t.find("li").andSelf().addClass("jstree-checked").children(":checkbox").prop("checked", true);
+                                                        }
+                                              }
+                                              else {
+                                                 if($t.hasClass("jstree-checked") || $t.children(':checked').length) {
+                                                          $t.addClass("jstree-checked").children(":checkbox").prop("checked", true);
+                                                     }
+                                              }
+                                      });
+                            });
+                            if(!ts) {
+                                      obj.find(".jstree-checked").parent().parent().each(function () { _this._repair_state(this); });
+                                }
+                      },
+                     change_state : function (obj, state) {
+                         obj = this._get_node(obj);
+                             var coll = false, rc = this._get_settings().checkbox.real_checkboxes;
+                          if(!obj || obj === -1) { return false; }
+                               state = (state === false || state === true) ? state : obj.hasClass("jstree-checked");
+                          if(this._get_settings().checkbox.two_state) {
+                                  if(state) {
+                                            obj.removeClass("jstree-checked").addClass("jstree-unchecked");
+                                                if(rc) { obj.children(":checkbox").prop("checked", false); }
+                                   }
+                                      else {
+                                         obj.removeClass("jstree-unchecked").addClass("jstree-checked");
+                                                if(rc) { obj.children(":checkbox").prop("checked", true); }
+                                    }
+                              }
+                              else {
+                                 if(state) {
+                                            coll = obj.find("li").andSelf();
+                                               if(!coll.filter(".jstree-checked, .jstree-undetermined").length) { return false; }
+                                             coll.removeClass("jstree-checked jstree-undetermined").addClass("jstree-unchecked");
+                                           if(rc) { coll.children(":checkbox").prop("checked", false); }
+                                  }
+                                      else {
+                                         coll = obj.find("li").andSelf();
+                                               if(!coll.filter(".jstree-unchecked, .jstree-undetermined").length) { return false; }
+                                           coll.removeClass("jstree-unchecked jstree-undetermined").addClass("jstree-checked");
+                                           if(rc) { coll.children(":checkbox").prop("checked", true); }
+                                           if(this.data.ui) { this.data.ui.last_selected = obj; }
+                                         this.data.checkbox.last_selected = obj;
+                                        }
+                                      obj.parentsUntil(".jstree", "li").each(function () {
+                                           var $this = $(this);
+                                           if(state) {
+                                                    if($this.children("ul").children("li.jstree-checked, li.jstree-undetermined").length) {
+                                                                $this.parentsUntil(".jstree", "li").andSelf().removeClass("jstree-checked jstree-unchecked").addClass("jstree-undetermined");
+                                                          if(rc) { $this.parentsUntil(".jstree", "li").andSelf().children(":checkbox").prop("checked", false); }
+                                                         return false;
+                                                  }
+                                                      else {
+                                                         $this.removeClass("jstree-checked jstree-undetermined").addClass("jstree-unchecked");
+                                                          if(rc) { $this.children(":checkbox").prop("checked", false); }
+                                                 }
+                                              }
+                                              else {
+                                                 if($this.children("ul").children("li.jstree-unchecked, li.jstree-undetermined").length) {
+                                                              $this.parentsUntil(".jstree", "li").andSelf().removeClass("jstree-checked jstree-unchecked").addClass("jstree-undetermined");
+                                                          if(rc) { $this.parentsUntil(".jstree", "li").andSelf().children(":checkbox").prop("checked", false); }
+                                                         return false;
+                                                  }
+                                                      else {
+                                                         $this.removeClass("jstree-unchecked jstree-undetermined").addClass("jstree-checked");
+                                                          if(rc) { $this.children(":checkbox").prop("checked", true); }
+                                                  }
+                                              }
+                                      });
+                            }
+                              if(this.data.ui && this.data.checkbox.noui) { this.data.ui.selected = this.get_checked(); }
+                            this.__callback(obj);
+                          return true;
+                   },
+                     check_node : function (obj) {
+                          if(this.change_state(obj, false)) {
+                                    obj = this._get_node(obj);
+                                     if(this._get_settings().checkbox.checked_parent_open) {
+                                                var t = this;
+                                          obj.parents(".jstree-closed").each(function () { t.open_node(this, false, true); });
+                                   }
+                                      this.__callback({ "obj" : obj });
+                              }
+                      },
+                     uncheck_node : function (obj) {
+                                if(this.change_state(obj, true)) { this.__callback({ "obj" : this._get_node(obj) }); }
+                 },
+                     check_all : function () {
+                              var _this = this,
+                                      coll = this._get_settings().checkbox.two_state ? this.get_container_ul().find("li") : this.get_container_ul().children("li");
+                          coll.each(function () {
+                                        _this.change_state(this, false);
+                               });
+                            this.__callback();
+                     },
+                     uncheck_all : function () {
+                            var _this = this,
+                                      coll = this._get_settings().checkbox.two_state ? this.get_container_ul().find("li") : this.get_container_ul().children("li");
+                          coll.each(function () {
+                                        _this.change_state(this, true);
+                                });
+                            this.__callback();
+                     },
+
+                    is_checked : function(obj) {
+                           obj = this._get_node(obj);
+                             return obj.length ? obj.is(".jstree-checked") : false;
+                 },
+                     get_checked : function (obj, get_all) {
+                                obj = !obj || obj === -1 ? this.get_container() : this._get_node(obj);
+                         return get_all || this._get_settings().checkbox.two_state ? obj.find(".jstree-checked") : obj.find("> ul > .jstree-checked, .jstree-undetermined > ul > .jstree-checked");
+                     },
+                     get_unchecked : function (obj, get_all) {
+                              obj = !obj || obj === -1 ? this.get_container() : this._get_node(obj);
+                         return get_all || this._get_settings().checkbox.two_state ? obj.find(".jstree-unchecked") : obj.find("> ul > .jstree-unchecked, .jstree-undetermined > ul > .jstree-unchecked");
+                       },
+
+                    show_checkboxes : function () { this.get_container().children("ul").removeClass("jstree-no-checkboxes"); },
+                    hide_checkboxes : function () { this.get_container().children("ul").addClass("jstree-no-checkboxes"); },
+
+                      _repair_state : function (obj) {
+                               obj = this._get_node(obj);
+                             if(!obj.length) { return; }
+                            if(this._get_settings().checkbox.two_state) {
+                                  obj.find('li').andSelf().not('.jstree-checked').removeClass('jstree-undetermined').addClass('jstree-unchecked').children(':checkbox').prop('checked', true);
+                                   return;
+                                }
+                              var rc = this._get_settings().checkbox.real_checkboxes,
+                                        a = obj.find("> ul > .jstree-checked").length,
+                                 b = obj.find("> ul > .jstree-undetermined").length,
+                                    c = obj.find("> ul > li").length;
+                              if(c === 0) { if(obj.hasClass("jstree-undetermined")) { this.change_state(obj, false); } }
+                             else if(a === 0 && b === 0) { this.change_state(obj, true); }
+                          else if(a === c) { this.change_state(obj, false); }
+                            else {
+                                 obj.parentsUntil(".jstree","li").andSelf().removeClass("jstree-checked jstree-unchecked").addClass("jstree-undetermined");
+                                     if(rc) { obj.parentsUntil(".jstree", "li").andSelf().children(":checkbox").prop("checked", false); }
+                           }
+                      },
+                     reselect : function () {
+                               if(this.data.ui && this.data.checkbox.noui) {
+                                  var _this = this,
+                                              s = this.data.ui.to_select;
+                                    s = $.map($.makeArray(s), function (n) { return "#" + n.toString().replace(/^#/,"").replace(/\\\//g,"/").replace(/\//g,"\\\/").replace(/\\\./g,".").replace(/\./g,"\\.").replace(/\:/g,"\\:"); });
+                                     this.deselect_all();
+                                   $.each(s, function (i, val) { _this.check_node(val); });
+                                       this.__callback();
+                             }
+                              else {
+                                 this.__call_old();
+                             }
+                      },
+                     save_loaded : function () {
+                            var _this = this;
+                              this.data.core.to_load = [];
+                           this.get_container_ul().find("li.jstree-closed.jstree-undetermined").each(function () {
+                                        if(this.id) { _this.data.core.to_load.push("#" + this.id); }
+                           });
+                    }
+              }
+      });
+    $(function() {
+         var css_string = '.jstree .jstree-real-checkbox { display:none; } ';
+           $.vakata.css.add_sheet({ str : css_string, title : "jstree" });
+        });
+})(jQuery);
+//*/
+
+/*
+ * jsTree XML plugin
+ * The XML data store. Datastores are build by overriding the `load_node` and `_is_loaded` functions.
+ */
+(function ($) {
+        $.vakata.xslt = function (xml, xsl, callback) {
+                var rs = "", xm, xs, processor, support;
+               // TODO: IE9 no XSLTProcessor, no document.recalc
+              if(document.recalc) {
+                  xm = document.createElement('xml');
+                    xs = document.createElement('xml');
+                    xm.innerHTML = xml;
+                    xs.innerHTML = xsl;
+                    $("body").append(xm).append(xs);
+                       setTimeout( (function (xm, xs, callback) {
+                             return function () {
+                                   callback.call(null, xm.transformNode(xs.XMLDocument));
+                                 setTimeout( (function (xm, xs) { return function () { $(xm).remove(); $(xs).remove(); }; })(xm, xs), 200);
+                             };
+                     })(xm, xs, callback), 100);
+                    return true;
+           }
+              if(typeof window.DOMParser !== "undefined" && typeof window.XMLHttpRequest !== "undefined" && typeof window.XSLTProcessor === "undefined") {
+                   xml = new DOMParser().parseFromString(xml, "text/xml");
+                        xsl = new DOMParser().parseFromString(xsl, "text/xml");
+                        // alert(xml.transformNode());
+                 // callback.call(null, new XMLSerializer().serializeToString(rs));
+
+            }
+              if(typeof window.DOMParser !== "undefined" && typeof window.XMLHttpRequest !== "undefined" && typeof window.XSLTProcessor !== "undefined") {
+                   processor = new XSLTProcessor();
+                       support = $.isFunction(processor.transformDocument) ? (typeof window.XMLSerializer !== "undefined") : true;
+                    if(!support) { return false; }
+                 xml = new DOMParser().parseFromString(xml, "text/xml");
+                        xsl = new DOMParser().parseFromString(xsl, "text/xml");
+                        if($.isFunction(processor.transformDocument)) {
+                                rs = document.implementation.createDocument("", "", null);
+                             processor.transformDocument(xml, xsl, rs, null);
+                               callback.call(null, new XMLSerializer().serializeToString(rs));
+                                return true;
+                   }
+                      else {
+                         processor.importStylesheet(xsl);
+                               rs = processor.transformToFragment(xml, document);
+                             callback.call(null, $("<div />").append(rs).html());
+                           return true;
+                   }
+              }
+              return false;
+  };
+     var xsl = {
+            'nest' : '<' + '?xml version="1.0" encoding="utf-8" ?>' +
+                      '<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform" >' +
+                   '<xsl:output method="html" encoding="utf-8" omit-xml-declaration="yes" standalone="no" indent="no" media-type="text/html" />' +
+                        '<xsl:template match="/">' +
+                   '   <xsl:call-template name="nodes">' +
+                  '            <xsl:with-param name="node" select="/root" />' +
+                    '  </xsl:call-template>' +
+                      '</xsl:template>' +
+                    '<xsl:template name="nodes">' +
+                        '      <xsl:param name="node" />' +
+                 '     <ul>' +
+                      '        <xsl:for-each select="$node/item">' +
+                        '              <xsl:variable name="children" select="count(./item) &gt; 0" />' +
+                   '           <li>' +
+                     '                 <xsl:attribute name="class">' +
+                    '                          <xsl:if test="position() = last()">jstree-last </xsl:if>' +
+                       '                               <xsl:choose>' +
+                   '                                   <xsl:when test="@state = \'open\'">jstree-open </xsl:when>' +
+                    '                                  <xsl:when test="$children or @hasChildren or @state = \'closed\'">jstree-closed </xsl:when>' +
+                   '                                   <xsl:otherwise>jstree-leaf </xsl:otherwise>' +
+                   '                           </xsl:choose>' +
+                  '                            <xsl:value-of select="@class" />' +
+                       '                       </xsl:attribute>' +
+                        '                      <xsl:for-each select="@*">' +
+                      '                                <xsl:if test="name() != \'class\' and name() != \'state\' and name() != \'hasChildren\'">' +
+                      '                                        <xsl:attribute name="{name()}"><xsl:value-of select="." /></xsl:attribute>' +
+                    '                          </xsl:if>' +
+                      '                        </xsl:for-each>' +
+                 '     <ins class="jstree-icon"><xsl:text>&#xa0;</xsl:text></ins>' +
+                        '                      <xsl:for-each select="content/name">' +
+                    '                          <a>' +
+                    '                          <xsl:attribute name="href">' +
+                    '                                  <xsl:choose>' +
+                  '                                    <xsl:when test="@href"><xsl:value-of select="@href" /></xsl:when>' +
+                     '                                 <xsl:otherwise>#</xsl:otherwise>' +
+                      '                                        </xsl:choose>' +
+                 '                             </xsl:attribute>' +
+                       '                               <xsl:attribute name="class"><xsl:value-of select="@lang" /> <xsl:value-of select="@class" /></xsl:attribute>' +
+                   '                           <xsl:attribute name="style"><xsl:value-of select="@style" /></xsl:attribute>' +
+                   '                           <xsl:for-each select="@*">' +
+                     '                                 <xsl:if test="name() != \'style\' and name() != \'class\' and name() != \'href\'">' +
+                    '                                          <xsl:attribute name="{name()}"><xsl:value-of select="." /></xsl:attribute>' +
+                   '                                   </xsl:if>' +
+                     '                         </xsl:for-each>' +
+                        '                                      <ins>' +
+                 '                                             <xsl:attribute name="class">jstree-icon ' +
+                     '                                                 <xsl:if test="string-length(attribute::icon) > 0 and not(contains(@icon,\'/\'))"><xsl:value-of select="@icon" /></xsl:if>' +
+                   '                                           </xsl:attribute>' +
+                     '                                         <xsl:if test="string-length(attribute::icon) > 0 and contains(@icon,\'/\')"><xsl:attribute name="style">background:url(<xsl:value-of select="@icon" />) center center no-repeat;</xsl:attribute></xsl:if>' +
+                    '                                          <xsl:text>&#xa0;</xsl:text>' +
+                  '                                    </ins>' +
+                        '                                      <xsl:copy-of select="./child::node()" />' +
+                      '                                </a>' +
+                   '                   </xsl:for-each>' +
+                 '                     <xsl:if test="$children or @hasChildren"><xsl:call-template name="nodes"><xsl:with-param name="node" select="current()" /></xsl:call-template></xsl:if>' +
+                 '             </li>' +
+                    '  </xsl:for-each>' +
+                   '   </ul>' +
+                     '</xsl:template>' +
+                    '</xsl:stylesheet>',
+
+          'flat' : '<' + '?xml version="1.0" encoding="utf-8" ?>' +
+                      '<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform" >' +
+                   '<xsl:output method="html" encoding="utf-8" omit-xml-declaration="yes" standalone="no" indent="no" media-type="text/xml" />' +
+                 '<xsl:template match="/">' +
+                   '   <ul>' +
+                      '        <xsl:for-each select="//item[not(@parent_id) or @parent_id=0 or not(@parent_id = //item/@id)]">' + /* the last `or` may be removed */
+                        '              <xsl:call-template name="nodes">' +
+                 '                     <xsl:with-param name="node" select="." />' +
+                       '                       <xsl:with-param name="is_last" select="number(position() = last())" />' +
+                  '            </xsl:call-template>' +
+                     ' </xsl:for-each>' +
+                   '   </ul>' +
+                     '</xsl:template>' +
+                    '<xsl:template name="nodes">' +
+                        '      <xsl:param name="node" />' +
+                 '     <xsl:param name="is_last" />' +
+                      '        <xsl:variable name="children" select="count(//item[@parent_id=$node/attribute::id]) &gt; 0" />' +
+                    '  <li>' +
+                      '        <xsl:attribute name="class">' +
+                      '                <xsl:if test="$is_last = true()">jstree-last </xsl:if>' +
+                   '           <xsl:choose>' +
+                     '                 <xsl:when test="@state = \'open\'">jstree-open </xsl:when>' +
+                      '                        <xsl:when test="$children or @hasChildren or @state = \'closed\'">jstree-closed </xsl:when>' +
+                     '                 <xsl:otherwise>jstree-leaf </xsl:otherwise>' +
+                     '         </xsl:choose>' +
+                    '          <xsl:value-of select="@class" />' +
+                 '     </xsl:attribute>' +
+                  '    <xsl:for-each select="@*">' +
+                        '              <xsl:if test="name() != \'parent_id\' and name() != \'hasChildren\' and name() != \'class\' and name() != \'state\'">' +
+                    '          <xsl:attribute name="{name()}"><xsl:value-of select="." /></xsl:attribute>' +
+                       '               </xsl:if>' +
+                        '      </xsl:for-each>' +
+                   '   <ins class="jstree-icon"><xsl:text>&#xa0;</xsl:text></ins>' +
+                        '      <xsl:for-each select="content/name">' +
+                      '                <a>' +
+                      '                <xsl:attribute name="href">' +
+                      '                        <xsl:choose>' +
+                    '                  <xsl:when test="@href"><xsl:value-of select="@href" /></xsl:when>' +
+                       '                       <xsl:otherwise>#</xsl:otherwise>' +
+                        '                      </xsl:choose>' +
+                   '           </xsl:attribute>' +
+                 '             <xsl:attribute name="class"><xsl:value-of select="@lang" /> <xsl:value-of select="@class" /></xsl:attribute>' +
+                     '         <xsl:attribute name="style"><xsl:value-of select="@style" /></xsl:attribute>' +
+                     '         <xsl:for-each select="@*">' +
+                       '                       <xsl:if test="name() != \'style\' and name() != \'class\' and name() != \'href\'">' +
+                      '                                <xsl:attribute name="{name()}"><xsl:value-of select="." /></xsl:attribute>' +
+                     '                 </xsl:if>' +
+                       '               </xsl:for-each>' +
+                  '                    <ins>' +
+                   '                           <xsl:attribute name="class">jstree-icon ' +
+                       '                                       <xsl:if test="string-length(attribute::icon) > 0 and not(contains(@icon,\'/\'))"><xsl:value-of select="@icon" /></xsl:if>' +
+                     '                         </xsl:attribute>' +
+                       '                               <xsl:if test="string-length(attribute::icon) > 0 and contains(@icon,\'/\')"><xsl:attribute name="style">background:url(<xsl:value-of select="@icon" />) center center no-repeat;</xsl:attribute></xsl:if>' +
+                      '                                <xsl:text>&#xa0;</xsl:text>' +
+                    '                  </ins>' +
+                  '                    <xsl:copy-of select="./child::node()" />' +
+                        '              </a>' +
+                     ' </xsl:for-each>' +
+                   '   <xsl:if test="$children">' +
+                 '             <ul>' +
+                     '         <xsl:for-each select="//item[@parent_id=$node/attribute::id]">' +
+                   '                   <xsl:call-template name="nodes">' +
+                        '                              <xsl:with-param name="node" select="." />' +
+                      '                                <xsl:with-param name="is_last" select="number(position() = last())" />' +
+                 '                     </xsl:call-template>' +
+                    '          </xsl:for-each>' +
+                  '            </ul>' +
+                    '  </xsl:if>' +
+                 '     </li>' +
+                     '</xsl:template>' +
+                    '</xsl:stylesheet>'
+    },
+     escape_xml = function(string) {
+                return string
+                  .toString()
+                    .replace(/&/g, '&amp;')
+                        .replace(/</g, '&lt;')
+                 .replace(/>/g, '&gt;')
+                 .replace(/"/g, '&quot;')
+                       .replace(/'/g, '&apos;');
+      };
+     $.jstree.plugin("xml_data", {
+          defaults : {
+                   data : false,
+                  ajax : false,
+                  xsl : "flat",
+                  clean_node : false,
+                    correct_state : true,
+                  get_skip_empty : false,
+                        get_include_preamble : true
+            },
+             _fn : {
+                        load_node : function (obj, s_call, e_call) { var _this = this; this.load_node_xml(obj, function () { _this.__callback({ "obj" : _this._get_node(obj) }); s_call.call(this); }, e_call); },
+                     _is_loaded : function (obj) {
+                          var s = this._get_settings().xml_data;
+                         obj = this._get_node(obj);
+                             return obj == -1 || !obj || (!s.ajax && !$.isFunction(s.data)) || obj.is(".jstree-open, .jstree-leaf") || obj.children("ul").children("li").size() > 0;
+                        },
+                     load_node_xml : function (obj, s_call, e_call) {
+                               var s = this.get_settings().xml_data,
+                                  error_func = function () {},
+                                   success_func = function () {};
+
+                                obj = this._get_node(obj);
+                             if(obj && obj !== -1) {
+                                        if(obj.data("jstree_is_loading")) { return; }
+                                  else { obj.data("jstree_is_loading",true); }
+                           }
+                              switch(!0) {
+                                   case (!s.data && !s.ajax): throw "Neither data nor ajax settings supplied.";
+                                   case ($.isFunction(s.data)):
+                                           s.data.call(this, obj, $.proxy(function (d) {
+                                                  this.parse_xml(d, $.proxy(function (d) {
+                                                               if(d) {
+                                                                        d = d.replace(/ ?xmlns="[^"]*"/ig, "");
+                                                                        if(d.length > 10) {
+                                                                            d = $(d);
+                                                                              if(obj === -1 || !obj) { this.get_container().children("ul").empty().append(d.children()); }
+                                                                           else { obj.children("a.jstree-loading").removeClass("jstree-loading"); obj.append(d); obj.removeData("jstree_is_loading"); }
+                                                                           if(s.clean_node) { this.clean_node(obj); }
+                                                                             if(s_call) { s_call.call(this); }
+                                                                      }
+                                                                      else {
+                                                                         if(obj && obj !== -1) {
+                                                                                        obj.children("a.jstree-loading").removeClass("jstree-loading");
+                                                                                        obj.removeData("jstree_is_loading");
+                                                                                   if(s.correct_state) {
+                                                                                          this.correct_state(obj);
+                                                                                               if(s_call) { s_call.call(this); }
+                                                                                      }
+                                                                              }
+                                                                              else {
+                                                                                 if(s.correct_state) {
+                                                                                          this.get_container().children("ul").empty();
+                                                                                           if(s_call) { s_call.call(this); }
+                                                                                      }
+                                                                              }
+                                                                      }
+                                                              }
+                                                      }, this));
+                                             }, this));
+                                             break;
+                                 case (!!s.data && !s.ajax) || (!!s.data && !!s.ajax && (!obj || obj === -1)):
+                                          if(!obj || obj == -1) {
+                                                        this.parse_xml(s.data, $.proxy(function (d) {
+                                                          if(d) {
+                                                                        d = d.replace(/ ?xmlns="[^"]*"/ig, "");
+                                                                        if(d.length > 10) {
+                                                                            d = $(d);
+                                                                              this.get_container().children("ul").empty().append(d.children());
+                                                                              if(s.clean_node) { this.clean_node(obj); }
+                                                                             if(s_call) { s_call.call(this); }
+                                                                      }
+                                                              }
+                                                              else {
+                                                                 if(s.correct_state) {
+                                                                          this.get_container().children("ul").empty();
+                                                                           if(s_call) { s_call.call(this); }
+                                                                      }
+                                                              }
+                                                      }, this));
+                                             }
+                                              break;
+                                 case (!s.data && !!s.ajax) || (!!s.data && !!s.ajax && obj && obj !== -1):
+                                             error_func = function (x, t, e) {
+                                                      var ef = this.get_settings().xml_data.ajax.error;
+                                                      if(ef) { ef.call(this, x, t, e); }
+                                                     if(obj !== -1 && obj.length) {
+                                                         obj.children("a.jstree-loading").removeClass("jstree-loading");
+                                                                obj.removeData("jstree_is_loading");
+                                                           if(t === "success" && s.correct_state) { this.correct_state(obj); }
+                                                    }
+                                                      else {
+                                                         if(t === "success" && s.correct_state) { this.get_container().children("ul").empty(); }
+                                                        }
+                                                      if(e_call) { e_call.call(this); }
+                                              };
+                                             success_func = function (d, t, x) {
+                                                    d = x.responseText;
+                                                    var sf = this.get_settings().xml_data.ajax.success;
+                                                    if(sf) { d = sf.call(this,d,t,x) || d; }
+                                                       if(d === "" || (d && d.toString && d.toString().replace(/^[\s\n]+$/,"") === "")) {
+                                                             return error_func.call(this, x, t, "");
+                                                        }
+                                                      this.parse_xml(d, $.proxy(function (d) {
+                                                               if(d) {
+                                                                        d = d.replace(/ ?xmlns="[^"]*"/ig, "");
+                                                                        if(d.length > 10) {
+                                                                            d = $(d);
+                                                                              if(obj === -1 || !obj) { this.get_container().children("ul").empty().append(d.children()); }
+                                                                           else { obj.children("a.jstree-loading").removeClass("jstree-loading"); obj.append(d); obj.removeData("jstree_is_loading"); }
+                                                                           if(s.clean_node) { this.clean_node(obj); }
+                                                                             if(s_call) { s_call.call(this); }
+                                                                      }
+                                                                      else {
+                                                                         if(obj && obj !== -1) {
+                                                                                        obj.children("a.jstree-loading").removeClass("jstree-loading");
+                                                                                        obj.removeData("jstree_is_loading");
+                                                                                   if(s.correct_state) {
+                                                                                          this.correct_state(obj);
+                                                                                               if(s_call) { s_call.call(this); }
+                                                                                      }
+                                                                              }
+                                                                              else {
+                                                                                 if(s.correct_state) {
+                                                                                          this.get_container().children("ul").empty();
+                                                                                           if(s_call) { s_call.call(this); }
+                                                                                      }
+                                                                              }
+                                                                      }
+                                                              }
+                                                      }, this));
+                                             };
+                                             s.ajax.context = this;
+                                         s.ajax.error = error_func;
+                                             s.ajax.success = success_func;
+                                         if(!s.ajax.dataType) { s.ajax.dataType = "xml"; }
+                                              if($.isFunction(s.ajax.url)) { s.ajax.url = s.ajax.url.call(this, obj); }
+                                              if($.isFunction(s.ajax.data)) { s.ajax.data = s.ajax.data.call(this, obj); }
+                                           $.ajax(s.ajax);
+                                                break;
+                         }
+                      },
+                     parse_xml : function (xml, callback) {
+                         var s = this._get_settings().xml_data;
+                         $.vakata.xslt(xml, xsl[s.xsl], callback);
+                      },
+                     get_xml : function (tp, obj, li_attr, a_attr, is_callback) {
+                           var result = "",
+                                       s = this._get_settings(),
+                                      _this = this,
+                                  tmp1, tmp2, li, a, lang;
+                               if(!tp) { tp = "flat"; }
+                               if(!is_callback) { is_callback = 0; }
+                          obj = this._get_node(obj);
+                             if(!obj || obj === -1) { obj = this.get_container().find("> ul > li"); }
+                               li_attr = $.isArray(li_attr) ? li_attr : [ "id", "class" ];
+                            if(!is_callback && this.data.types && $.inArray(s.types.type_attr, li_attr) === -1) { li_attr.push(s.types.type_attr); }
+
+                              a_attr = $.isArray(a_attr) ? a_attr : [ ];
+
+                            if(!is_callback) {
+                                     if(s.xml_data.get_include_preamble) {
+                                          result += '<' + '?xml version="1.0" encoding="UTF-8"?' + '>';
+                                  }
+                                      result += "<root>";
+                            }
+                              obj.each(function () {
+                                 result += "<item";
+                                     li = $(this);
+                                  $.each(li_attr, function (i, v) {
+                                              var t = li.attr(v);
+                                            if(!s.xml_data.get_skip_empty || typeof t !== "undefined") {
+                                                   result += " " + v + "=\"" + escape_xml((" " + (t || "")).replace(/ jstree[^ ]*/ig,'').replace(/\s+$/ig," ").replace(/^ /,"").replace(/ $/,"")) + "\"";
+                                         }
+                                      });
+                                    if(li.hasClass("jstree-open")) { result += " state=\"open\""; }
+                                        if(li.hasClass("jstree-closed")) { result += " state=\"closed\""; }
+                                    if(tp === "flat") { result += " parent_id=\"" + escape_xml(is_callback) + "\""; }
+                                      result += ">";
+                                 result += "<content>";
+                                 a = li.children("a");
+                                  a.each(function () {
+                                           tmp1 = $(this);
+                                                lang = false;
+                                          result += "<name";
+                                             if($.inArray("languages", s.plugins) !== -1) {
+                                                 $.each(s.languages, function (k, z) {
+                                                          if(tmp1.hasClass(z)) { result += " lang=\"" + escape_xml(z) + "\""; lang = z; return false; }
+                                                  });
+                                            }
+                                              if(a_attr.length) {
+                                                    $.each(a_attr, function (k, z) {
+                                                               var t = tmp1.attr(z);
+                                                          if(!s.xml_data.get_skip_empty || typeof t !== "undefined") {
+                                                                   result += " " + z + "=\"" + escape_xml((" " + t || "").replace(/ jstree[^ ]*/ig,'').replace(/\s+$/ig," ").replace(/^ /,"").replace(/ $/,"")) + "\"";
+                                                           }
+                                                      });
+                                            }
+                                              if(tmp1.children("ins").get(0).className.replace(/jstree[^ ]*|$/ig,'').replace(/^\s+$/ig,"").length) {
+                                                 result += ' icon="' + escape_xml(tmp1.children("ins").get(0).className.replace(/jstree[^ ]*|$/ig,'').replace(/\s+$/ig," ").replace(/^ /,"").replace(/ $/,"")) + '"';
+                                           }
+                                              if(tmp1.children("ins").get(0).style.backgroundImage.length) {
+                                                 result += ' icon="' + escape_xml(tmp1.children("ins").get(0).style.backgroundImage.replace("url(","").replace(")","").replace(/'/ig,"").replace(/"/ig,"")) + '"';
+                                              }
+                                              result += ">";
+                                         result += "<![CDATA[" + _this.get_text(tmp1, lang) + "]]>";
+                                            result += "</name>";
+                                   });
+                                    result += "</content>";
+                                        tmp2 = li[0].id || true;
+                                       li = li.find("> ul > li");
+                                     if(li.length) { tmp2 = _this.get_xml(tp, li, li_attr, a_attr, tmp2); }
+                                 else { tmp2 = ""; }
+                                    if(tp == "nest") { result += tmp2; }
+                                   result += "</item>";
+                                   if(tp == "flat") { result += tmp2; }
+                           });
+                            if(!is_callback) { result += "</root>"; }
+                              return result;
+                 }
+              }
+      });
+})(jQuery);
+//*/
+
+/*
+ * jsTree search plugin
+ * Enables both sync and async search on the tree
+ * DOES NOT WORK WITH JSON PROGRESSIVE RENDER
+ */
+(function ($) {
+   $.expr[':'].jstree_contains = function(a,i,m){
+         return (a.textContent || a.innerText || "").toLowerCase().indexOf(m[3].toLowerCase())>=0;
+      };
+     $.expr[':'].jstree_title_contains = function(a,i,m) {
+          return (a.getAttribute("title") || "").toLowerCase().indexOf(m[3].toLowerCase())>=0;
+   };
+     $.jstree.plugin("search", {
+            __init : function () {
+                 this.data.search.str = "";
+                     this.data.search.result = $();
+                 if(this._get_settings().search.show_only_matches) {
+                            this.get_container()
+                                   .bind("search.jstree", function (e, data) {
+                                            $(this).children("ul").find("li").hide().removeClass("jstree-last");
+                                           data.rslt.nodes.parentsUntil(".jstree").andSelf().show()
+                                                       .filter("ul").each(function () { $(this).children("li:visible").eq(-1).addClass("jstree-last"); });
+                                    })
+                                     .bind("clear_search.jstree", function () {
+                                             $(this).children("ul").find("li").css("display","").end().end().jstree("clean_node", -1);
+                                      });
+                    }
+              },
+             defaults : {
+                   ajax : false,
+                  search_method : "jstree_contains", // for case insensitive - jstree_contains
+                   show_only_matches : false
+              },
+             _fn : {
+                        search : function (str, skip_async) {
+                          if($.trim(str) === "") { this.clear_search(); return; }
+                                var s = this.get_settings().search,
+                                    t = this,
+                                      error_func = function () { },
+                                  success_func = function () { };
+                                this.data.search.str = str;
+
+                           if(!skip_async && s.ajax !== false && this.get_container_ul().find("li.jstree-closed:not(:has(ul)):eq(0)").length > 0) {
+                                       this.search.supress_callback = true;
+                                   error_func = function () { };
+                                  success_func = function (d, t, x) {
+                                            var sf = this.get_settings().search.ajax.success;
+                                              if(sf) { d = sf.call(this,d,t,x) || d; }
+                                               this.data.search.to_open = d;
+                                          this._search_open();
+                                   };
+                                     s.ajax.context = this;
+                                 s.ajax.error = error_func;
+                                     s.ajax.success = success_func;
+                                 if($.isFunction(s.ajax.url)) { s.ajax.url = s.ajax.url.call(this, str); }
+                                      if($.isFunction(s.ajax.data)) { s.ajax.data = s.ajax.data.call(this, str); }
+                                   if(!s.ajax.data) { s.ajax.data = { "search_string" : str }; }
+                                  if(!s.ajax.dataType || /^json/.exec(s.ajax.dataType)) { s.ajax.dataType = "json"; }
+                                    $.ajax(s.ajax);
+                                        return;
+                                }
+                              if(this.data.search.result.length) { this.clear_search(); }
+                            this.data.search.result = this.get_container().find("a" + (this.data.languages ? "." + this.get_lang() : "" ) + ":" + (s.search_method) + "(" + this.data.search.str + ")");
+                           this.data.search.result.addClass("jstree-search").parent().parents(".jstree-closed").each(function () {
+                                        t.open_node(this, false, true);
+                                });
+                            this.__callback({ nodes : this.data.search.result, str : str });
+                       },
+                     clear_search : function (str) {
+                                this.data.search.result.removeClass("jstree-search");
+                          this.__callback(this.data.search.result);
+                              this.data.search.result = $();
+                 },
+                     _search_open : function (is_callback) {
+                                var _this = this,
+                                      done = true,
+                                   current = [],
+                                  remaining = [];
+                                if(this.data.search.to_open.length) {
+                                  $.each(this.data.search.to_open, function (i, val) {
+                                           if(val == "#") { return true; }
+                                                if($(val).length && $(val).is(".jstree-closed")) { current.push(val); }
+                                                else { remaining.push(val); }
+                                  });
+                                    if(current.length) {
+                                           this.data.search.to_open = remaining;
+                                          $.each(current, function (i, val) {
+                                                    _this.open_node(val, function () { _this._search_open(true); });
+                                               });
+                                            done = false;
+                                  }
+                              }
+                              if(done) { this.search(this.data.search.str, true); }
+                  }
+              }
+      });
+})(jQuery);
+//*/
+
+/*
+ * jsTree contextmenu plugin
+ */
+(function ($) {
+      $.vakata.context = {
+           hide_on_mouseleave : false,
+
+           cnt         : $("<div id='vakata-contextmenu' />"),
+           vis         : false,
+          tgt          : false,
+          par          : false,
+          func : false,
+          data : false,
+          rtl          : false,
+          show : function (s, t, x, y, d, p, rtl) {
+                      $.vakata.context.rtl = !!rtl;
+                  var html = $.vakata.context.parse(s), h, w;
+                    if(!html) { return; }
+                  $.vakata.context.vis = true;
+                   $.vakata.context.tgt = t;
+                      $.vakata.context.par = p || t || null;
+                 $.vakata.context.data = d || null;
+                     $.vakata.context.cnt
+                           .html(html)
+                            .css({ "visibility" : "hidden", "display" : "block", "left" : 0, "top" : 0 });
+
+                        if($.vakata.context.hide_on_mouseleave) {
+                              $.vakata.context.cnt
+                                   .one("mouseleave", function(e) { $.vakata.context.hide(); });
+                  }
+
+                     h = $.vakata.context.cnt.height();
+                     w = $.vakata.context.cnt.width();
+                      if(x + w > $(document).width()) {
+                              x = $(document).width() - (w + 5);
+                             $.vakata.context.cnt.find("li > ul").addClass("right");
+                        }
+                      if(y + h > $(document).height()) {
+                             y = y - (h + t[0].offsetHeight);
+                               $.vakata.context.cnt.find("li > ul").addClass("bottom");
+                       }
+
+                     $.vakata.context.cnt
+                           .css({ "left" : x, "top" : y })
+                                .find("li:has(ul)")
+                                    .bind("mouseenter", function (e) {
+                                             var w = $(document).width(),
+                                                   h = $(document).height(),
+                                                      ul = $(this).children("ul").show();
+                                            if(w !== $(document).width()) { ul.toggleClass("right"); }
+                                             if(h !== $(document).height()) { ul.toggleClass("bottom"); }
+                                   })
+                                     .bind("mouseleave", function (e) {
+                                             $(this).children("ul").hide();
+                                 })
+                                     .end()
+                         .css({ "visibility" : "visible" })
+                             .show();
+                       $(document).triggerHandler("context_show.vakata");
+             },
+             hide      : function () {
+                   $.vakata.context.vis = false;
+                  $.vakata.context.cnt.attr("class","").css({ "visibility" : "hidden" });
+                        $(document).triggerHandler("context_hide.vakata");
+             },
+             parse     : function (s, is_callback) {
+                    if(!s) { return false; }
+                       var str = "",
+                          tmp = false,
+                           was_sep = true;
+                        if(!is_callback) { $.vakata.context.func = {}; }
+                       str += "<ul>";
+                 $.each(s, function (i, val) {
+                          if(!val) { return true; }
+                              $.vakata.context.func[i] = val.action;
+                         if(!was_sep && val.separator_before) {
+                                 str += "<li class='vakata-separator vakata-separator-before'></li>";
+                           }
+                              was_sep = false;
+                               str += "<li class='" + (val._class || "") + (val._disabled ? " jstree-contextmenu-disabled " : "") + "'><ins ";
+                                if(val.icon && val.icon.indexOf("/") === -1) { str += " class='" + val.icon + "' "; }
+                          if(val.icon && val.icon.indexOf("/") !== -1) { str += " style='background:url(" + val.icon + ") center center no-repeat;' "; }
+                         str += ">&#160;</ins><a href='#' rel='" + i + "'>";
+                            if(val.submenu) {
+                                      str += "<span style='float:" + ($.vakata.context.rtl ? "left" : "right") + ";'>&raquo;</span>";
+                                }
+                              str += val.label + "</a>";
+                             if(val.submenu) {
+                                      tmp = $.vakata.context.parse(val.submenu, true);
+                                       if(tmp) { str += tmp; }
+                                }
+                              str += "</li>";
+                                if(val.separator_after) {
+                                      str += "<li class='vakata-separator vakata-separator-after'></li>";
+                                    was_sep = true;
+                                }
+                      });
+                    str = str.replace(/<li class\='vakata-separator vakata-separator-after'\><\/li\>$/,"");
+                        str += "</ul>";
+                        $(document).triggerHandler("context_parse.vakata");
+                    return str.length > 10 ? str : false;
+          },
+             exec      : function (i) {
+                  if($.isFunction($.vakata.context.func[i])) {
+                           // if is string - eval and call it!
+                            $.vakata.context.func[i].call($.vakata.context.data, $.vakata.context.par);
+                            return true;
+                   }
+                      else { return false; }
+         }
+      };
+     $(function () {
+                var css_string = '' +
+                  '#vakata-contextmenu { display:block; visibility:hidden; left:0; top:-200px; position:absolute; margin:0; padding:0; min-width:180px; background:#ebebeb; border:1px solid silver; z-index:10000; *width:180px; } ' +
+                  '#vakata-contextmenu ul { min-width:180px; *width:180px; } ' +
+                 '#vakata-contextmenu ul, #vakata-contextmenu li { margin:0; padding:0; list-style-type:none; display:block; } ' +
+                      '#vakata-contextmenu li { line-height:20px; min-height:20px; position:relative; padding:0px; } ' +
+                     '#vakata-contextmenu li a { padding:1px 6px; line-height:17px; display:block; text-decoration:none; margin:1px 1px 0 1px; } ' +
+                        '#vakata-contextmenu li ins { float:left; width:16px; height:16px; text-decoration:none; margin-right:2px; } ' +
+                       '#vakata-contextmenu li a:hover, #vakata-contextmenu li.vakata-hover > a { background:gray; color:white; } ' +
+                 '#vakata-contextmenu li ul { display:none; position:absolute; top:-2px; left:100%; background:#ebebeb; border:1px solid gray; } ' +
+                    '#vakata-contextmenu .right { right:100%; left:auto; } ' +
+                     '#vakata-contextmenu .bottom { bottom:-1px; top:auto; } ' +
+                    '#vakata-contextmenu li.vakata-separator { min-height:0; height:1px; line-height:1px; font-size:1px; overflow:hidden; margin:0 2px; background:silver; /* border-top:1px solid #fefefe; */ padding:0; } ';
+             $.vakata.css.add_sheet({ str : css_string, title : "vakata" });
+                $.vakata.context.cnt
+                   .delegate("a","click", function (e) { e.preventDefault(); })
+                   .delegate("a","mouseup", function (e) {
+                                if(!$(this).parent().hasClass("jstree-contextmenu-disabled") && $.vakata.context.exec($(this).attr("rel"))) {
+                                  $.vakata.context.hide();
+                               }
+                              else { $(this).blur(); }
+                       })
+                     .delegate("a","mouseover", function () {
+                               $.vakata.context.cnt.find(".vakata-hover").removeClass("vakata-hover");
+                        })
+                     .appendTo("body");
+             $(document).bind("mousedown", function (e) { if($.vakata.context.vis && !$.contains($.vakata.context.cnt[0], e.target)) { $.vakata.context.hide(); } });
+               if(typeof $.hotkeys !== "undefined") {
+                 $(document)
+                            .bind("keydown", "up", function (e) {
+                                  if($.vakata.context.vis) {
+                                             var o = $.vakata.context.cnt.find("ul:visible").last().children(".vakata-hover").removeClass("vakata-hover").prevAll("li:not(.vakata-separator)").first();
+                                             if(!o.length) { o = $.vakata.context.cnt.find("ul:visible").last().children("li:not(.vakata-separator)").last(); }
+                                             o.addClass("vakata-hover");
+                                            e.stopImmediatePropagation();
+                                          e.preventDefault();
+                                    }
+                              })
+                             .bind("keydown", "down", function (e) {
+                                        if($.vakata.context.vis) {
+                                             var o = $.vakata.context.cnt.find("ul:visible").last().children(".vakata-hover").removeClass("vakata-hover").nextAll("li:not(.vakata-separator)").first();
+                                             if(!o.length) { o = $.vakata.context.cnt.find("ul:visible").last().children("li:not(.vakata-separator)").first(); }
+                                            o.addClass("vakata-hover");
+                                            e.stopImmediatePropagation();
+                                          e.preventDefault();
+                                    }
+                              })
+                             .bind("keydown", "right", function (e) {
+                                       if($.vakata.context.vis) {
+                                             $.vakata.context.cnt.find(".vakata-hover").children("ul").show().children("li:not(.vakata-separator)").removeClass("vakata-hover").first().addClass("vakata-hover");
+                                           e.stopImmediatePropagation();
+                                          e.preventDefault();
+                                    }
+                              })
+                             .bind("keydown", "left", function (e) {
+                                        if($.vakata.context.vis) {
+                                             $.vakata.context.cnt.find(".vakata-hover").children("ul").hide().children(".vakata-separator").removeClass("vakata-hover");
+                                            e.stopImmediatePropagation();
+                                          e.preventDefault();
+                                    }
+                              })
+                             .bind("keydown", "esc", function (e) {
+                                 $.vakata.context.hide();
+                                       e.preventDefault();
+                            })
+                             .bind("keydown", "space", function (e) {
+                                       $.vakata.context.cnt.find(".vakata-hover").last().children("a").click();
+                                       e.preventDefault();
+                            });
+            }
+      });
+
+   $.jstree.plugin("contextmenu", {
+               __init : function () {
+                 this.get_container()
+                           .delegate("a", "contextmenu.jstree", $.proxy(function (e) {
+                                            e.preventDefault();
+                                            if(!$(e.currentTarget).hasClass("jstree-loading")) {
+                                                   this.show_contextmenu(e.currentTarget, e.pageX, e.pageY);
+                                              }
+                                      }, this))
+                              .delegate("a", "click.jstree", $.proxy(function (e) {
+                                          if(this.data.contextmenu) {
+                                                    $.vakata.context.hide();
+                                               }
+                                      }, this))
+                              .bind("destroy.jstree", $.proxy(function () {
+                                          // TODO: move this to descruct method
+                                          if(this.data.contextmenu) {
+                                                    $.vakata.context.hide();
+                                               }
+                                      }, this));
+                     $(document).bind("context_hide.vakata", $.proxy(function () { this.data.contextmenu = false; }, this));
+                },
+             defaults : {
+                   select_node : false, // requires UI plugin
+                     show_at_node : true,
+                   items : { // Could be a function that should return an object like this one
+                            "create" : {
+                                   "separator_before"  : false,
+                                    "separator_after"  : true,
+                                      "label"                          : "Create",
+                                 "action"                      : function (obj) { this.create(obj); }
+                              },
+                             "rename" : {
+                                   "separator_before"  : false,
+                                    "separator_after"  : false,
+                                     "label"                           : "Rename",
+                                 "action"                      : function (obj) { this.rename(obj); }
+                              },
+                             "remove" : {
+                                   "separator_before"  : false,
+                                    "icon"                             : false,
+                                     "separator_after" : false,
+                                     "label"                           : "Delete",
+                                 "action"                      : function (obj) { if(this.is_selected(obj)) { this.remove(); } else { this.remove(obj); } }
+                                },
+                             "ccp" : {
+                                      "separator_before"       : true,
+                                     "icon"                            : false,
+                                     "separator_after" : false,
+                                     "label"                           : "Edit",
+                                   "action"                    : false,
+                                    "submenu" : {
+                                          "cut" : {
+                                                      "separator_before"       : false,
+                                                    "separator_after"  : false,
+                                                     "label"                           : "Cut",
+                                                    "action"                   : function (obj) { this.cut(obj); }
+                                         },
+                                             "copy" : {
+                                                     "separator_before"        : false,
+                                                    "icon"                             : false,
+                                                     "separator_after" : false,
+                                                     "label"                           : "Copy",
+                                                   "action"                    : function (obj) { this.copy(obj); }
+                                                },
+                                             "paste" : {
+                                                    "separator_before" : false,
+                                                    "icon"                             : false,
+                                                     "separator_after" : false,
+                                                     "label"                           : "Paste",
+                                                  "action"                     : function (obj) { this.paste(obj); }
+                                               }
+                                      }
+                              }
+                      }
+              },
+             _fn : {
+                        show_contextmenu : function (obj, x, y) {
+                              obj = this._get_node(obj);
+                             var s = this.get_settings().contextmenu,
+                                       a = obj.children("a:visible:eq(0)"),
+                                   o = false,
+                                     i = false;
+                             if(s.select_node && this.data.ui && !this.is_selected(obj)) {
+                                  this.deselect_all();
+                                   this.select_node(obj, true);
+                           }
+                              if(s.show_at_node || typeof x === "undefined" || typeof y === "undefined") {
+                                   o = a.offset();
+                                        x = o.left;
+                                    y = o.top + this.data.core.li_height;
+                          }
+                              i = obj.data("jstree") && obj.data("jstree").contextmenu ? obj.data("jstree").contextmenu : s.items;
+                           if($.isFunction(i)) { i = i.call(this, obj); }
+                         this.data.contextmenu = true;
+                          $.vakata.context.show(i, a, x, y, this, obj, this._get_settings().core.rtl);
+                           if(this.data.themes) { $.vakata.context.cnt.attr("class", "jstree-" + this.data.themes.theme + "-context"); }
+                  }
+              }
+      });
+})(jQuery);
+//*/
+
+/*
+ * jsTree types plugin
+ * Adds support types of nodes
+ * You can set an attribute on each li node, that represents its type.
+ * According to the type setting the node may get custom icon/validation rules
+ */
+(function ($) {
+       $.jstree.plugin("types", {
+             __init : function () {
+                 var s = this._get_settings().types;
+                    this.data.types.attach_to = [];
+                        this.get_container()
+                           .bind("init.jstree", $.proxy(function () {
+                                             var types = s.types,
+                                                   attr  = s.type_attr,
+                                                   icons_css = "",
+                                                        _this = this;
+
+                                         $.each(types, function (i, tp) {
+                                                       $.each(tp, function (k, v) {
+                                                           if(!/^(max_depth|max_children|icon|valid_children)$/.test(k)) { _this.data.types.attach_to.push(k); }
+                                                  });
+                                                    if(!tp.icon) { return true; }
+                                                  if( tp.icon.image || tp.icon.position) {
+                                                               if(i == "default")      { icons_css += '.jstree-' + _this.get_index() + ' a > .jstree-icon { '; }
+                                                           else                                { icons_css += '.jstree-' + _this.get_index() + ' li[' + attr + '="' + i + '"] > a > .jstree-icon { '; }
+                                                               if(tp.icon.image)       { icons_css += ' background-image:url(' + tp.icon.image + '); '; }
+                                                           if(tp.icon.position){ icons_css += ' background-position:' + tp.icon.position + '; '; }
+                                                                else                           { icons_css += ' background-position:0 0; '; }
+                                                         icons_css += '} ';
+                                                     }
+                                              });
+                                            if(icons_css !== "") { $.vakata.css.add_sheet({ 'str' : icons_css, title : "jstree-types" }); }
+                                        }, this))
+                              .bind("before.jstree", $.proxy(function (e, data) {
+                                            var s, t,
+                                                      o = this._get_settings().types.use_data ? this._get_node(data.args[0]) : false,
+                                                        d = o && o !== -1 && o.length ? o.data("jstree") : false;
+                                              if(d && d.types && d.types[data.func] === false) { e.stopImmediatePropagation(); return false; }
+                                               if($.inArray(data.func, this.data.types.attach_to) !== -1) {
+                                                   if(!data.args[0] || (!data.args[0].tagName && !data.args[0].jquery)) { return; }
+                                                       s = this._get_settings().types.types;
+                                                  t = this._get_type(data.args[0]);
+                                                      if(
+                                                            (
+                                                                      (s[t] && typeof s[t][data.func] !== "undefined") ||
+                                                                    (s["default"] && typeof s["default"][data.func] !== "undefined")
+                                                               ) && this._check(data.func, data.args[0]) === false
+                                                    ) {
+                                                            e.stopImmediatePropagation();
+                                                          return false;
+                                                  }
+                                              }
+                                      }, this));
+                     if(is_ie6) {
+                           this.get_container()
+                                   .bind("load_node.jstree set_type.jstree", $.proxy(function (e, data) {
+                                                 var r = data && data.rslt && data.rslt.obj && data.rslt.obj !== -1 ? this._get_node(data.rslt.obj).parent() : this.get_container_ul(),
+                                                         c = false,
+                                                             s = this._get_settings().types;
+                                                        $.each(s.types, function (i, tp) {
+                                                             if(tp.icon && (tp.icon.image || tp.icon.position)) {
+                                                                   c = i === "default" ? r.find("li > a > .jstree-icon") : r.find("li[" + s.type_attr + "='" + i + "'] > a > .jstree-icon");
+                                                                      if(tp.icon.image) { c.css("backgroundImage","url(" + tp.icon.image + ")"); }
+                                                                   c.css("backgroundPosition", tp.icon.position || "0 0");
+                                                                }
+                                                      });
+                                            }, this));
+                     }
+              },
+             defaults : {
+                   // defines maximum number of root nodes (-1 means unlimited, -2 means disable max_children checking)
+                   max_children                : -1,
+                    // defines the maximum depth of the tree (-1 means unlimited, -2 means disable max_depth checking)
+                     max_depth                 : -1,
+                      // defines valid node types for the root nodes
+                 valid_children                : "all",
+
+                      // whether to use $.data
+                       use_data : false,
+                      // where is the type stores (the rel attribute of the LI element)
+                      type_attr : "rel",
+                     // a list of types
+                     types : {
+                              // the default type
+                            "default" : {
+                                  "max_children"       : -1,
+                                   "max_depth"         : -1,
+                                     "valid_children": "all"
+
+                                       // Bound functions - you can bind any other function here (using boolean or function)
+                                  //"select_node"      : true
+                         }
+                      }
+              },
+             _fn : {
+                        _types_notify : function (n, data) {
+                           if(data.type && this._get_settings().types.use_data) {
+                                 this.set_type(data.type, n);
+                           }
+                      },
+                     _get_type : function (obj) {
+                           obj = this._get_node(obj);
+                             return (!obj || !obj.length) ? false : obj.attr(this._get_settings().types.type_attr) || "default";
+                    },
+                     set_type : function (str, obj) {
+                               obj = this._get_node(obj);
+                             var ret = (!obj.length || !str) ? false : obj.attr(this._get_settings().types.type_attr, str);
+                         if(ret) { this.__callback({ obj : obj, type : str}); }
+                         return ret;
+                    },
+                     _check : function (rule, obj, opts) {
+                          obj = this._get_node(obj);
+                             var v = false, t = this._get_type(obj), d = 0, _this = this, s = this._get_settings().types, data = false;
+                             if(obj === -1) {
+                                       if(!!s[rule]) { v = s[rule]; }
+                                 else { return; }
+                               }
+                              else {
+                                 if(t === false) { return; }
+                                    data = s.use_data ? obj.data("jstree") : false;
+                                        if(data && data.types && typeof data.types[rule] !== "undefined") { v = data.types[rule]; }
+                                    else if(!!s.types[t] && typeof s.types[t][rule] !== "undefined") { v = s.types[t][rule]; }
+                                     else if(!!s.types["default"] && typeof s.types["default"][rule] !== "undefined") { v = s.types["default"][rule]; }
+                             }
+                              if($.isFunction(v)) { v = v.call(this, obj); }
+                         if(rule === "max_depth" && obj !== -1 && opts !== false && s.max_depth !== -2 && v !== 0) {
+                                    // also include the node itself - otherwise if root node it is not checked
+                                     obj.children("a:eq(0)").parentsUntil(".jstree","li").each(function (i) {
+                                               // check if current depth already exceeds global tree depth
+                                            if(s.max_depth !== -1 && s.max_depth - (i + 1) <= 0) { v = 0; return false; }
+                                          d = (i === 0) ? v : _this._check(rule, this, false);
+                                           // check if current node max depth is already matched or exceeded
+                                              if(d !== -1 && d - (i + 1) <= 0) { v = 0; return false; }
+                                              // otherwise - set the max depth to the current value minus current depth
+                                              if(d >= 0 && (d - (i + 1) < v || v < 0) ) { v = d - (i + 1); }
+                                         // if the global tree depth exists and it minus the nodes calculated so far is less than `v` or `v` is unlimited
+                                               if(s.max_depth >= 0 && (s.max_depth - (i + 1) < v || v < 0) ) { v = s.max_depth - (i + 1); }
+                                   });
+                            }
+                              return v;
+                      },
+                     check_move : function () {
+                             if(!this.__call_old()) { return false; }
+                               var m  = this._get_move(),
+                                     s  = m.rt._get_settings().types,
+                                       mc = m.rt._check("max_children", m.cr),
+                                        md = m.rt._check("max_depth", m.cr),
+                                   vc = m.rt._check("valid_children", m.cr),
+                                      ch = 0, d = 1, t;
+
+                             if(vc === "none") { return false; }
+                            if($.isArray(vc) && m.ot && m.ot._get_type) {
+                                  m.o.each(function () {
+                                         if($.inArray(m.ot._get_type(this), vc) === -1) { d = false; return false; }
+                                    });
+                                    if(d === false) { return false; }
+                              }
+                              if(s.max_children !== -2 && mc !== -1) {
+                                       ch = m.cr === -1 ? this.get_container().find("> ul > li").not(m.o).length : m.cr.find("> ul > li").not(m.o).length;
+                                    if(ch + m.o.length > mc) { return false; }
+                             }
+                              if(s.max_depth !== -2 && md !== -1) {
+                                  d = 0;
+                                 if(md === 0) { return false; }
+                                 if(typeof m.o.d === "undefined") {
+                                             // TODO: deal with progressive rendering and async when checking max_depth (how to know the depth of the moved node)
+                                           t = m.o;
+                                               while(t.length > 0) {
+                                                  t = t.find("> ul > li");
+                                                       d ++;
+                                          }
+                                              m.o.d = d;
+                                     }
+                                      if(md - m.o.d < 0) { return false; }
+                           }
+                              return true;
+                   },
+                     create_node : function (obj, position, js, callback, is_loaded, skip_check) {
+                          if(!skip_check && (is_loaded || this._is_loaded(obj))) {
+                                       var p  = (typeof position == "string" && position.match(/^before|after$/i) && obj !== -1) ? this._get_parent(obj) : this._get_node(obj),
+                                               s  = this._get_settings().types,
+                                               mc = this._check("max_children", p),
+                                           md = this._check("max_depth", p),
+                                              vc = this._check("valid_children", p),
+                                         ch;
+                                    if(typeof js === "string") { js = { data : js }; }
+                                     if(!js) { js = {}; }
+                                   if(vc === "none") { return false; }
+                                    if($.isArray(vc)) {
+                                            if(!js.attr || !js.attr[s.type_attr]) {
+                                                        if(!js.attr) { js.attr = {}; }
+                                                 js.attr[s.type_attr] = vc[0];
+                                          }
+                                              else {
+                                                 if($.inArray(js.attr[s.type_attr], vc) === -1) { return false; }
+                                               }
+                                      }
+                                      if(s.max_children !== -2 && mc !== -1) {
+                                               ch = p === -1 ? this.get_container().find("> ul > li").length : p.find("> ul > li").length;
+                                            if(ch + 1 > mc) { return false; }
+                                      }
+                                      if(s.max_depth !== -2 && md !== -1 && (md - 1) < 0) { return false; }
+                          }
+                              return this.__call_old(true, obj, position, js, callback, is_loaded, skip_check);
+                      }
+              }
+      });
+})(jQuery);
+//*/
+
+/*
+ * jsTree HTML plugin
+ * The HTML data store. Datastores are build by replacing the `load_node` and `_is_loaded` functions.
+ */
+(function ($) {
+       $.jstree.plugin("html_data", {
+         __init : function () {
+                 // this used to use html() and clean the whitespace, but this way any attached data was lost
+                   this.data.html_data.original_container_html = this.get_container().find(" > ul > li").clone(true);
+                     // remove white space from LI node - otherwise nodes appear a bit to the right
+                 this.data.html_data.original_container_html.find("li").andSelf().contents().filter(function() { return this.nodeType == 3; }).remove();
+                },
+             defaults : {
+                   data : false,
+                  ajax : false,
+                  correct_state : true
+           },
+             _fn : {
+                        load_node : function (obj, s_call, e_call) { var _this = this; this.load_node_html(obj, function () { _this.__callback({ "obj" : _this._get_node(obj) }); s_call.call(this); }, e_call); },
+                    _is_loaded : function (obj) {
+                          obj = this._get_node(obj);
+                             return obj == -1 || !obj || (!this._get_settings().html_data.ajax && !$.isFunction(this._get_settings().html_data.data)) || obj.is(".jstree-open, .jstree-leaf") || obj.children("ul").children("li").size() > 0;
+                      },
+                     load_node_html : function (obj, s_call, e_call) {
+                              var d,
+                                 s = this.get_settings().html_data,
+                                     error_func = function () {},
+                                   success_func = function () {};
+                         obj = this._get_node(obj);
+                             if(obj && obj !== -1) {
+                                        if(obj.data("jstree_is_loading")) { return; }
+                                  else { obj.data("jstree_is_loading",true); }
+                           }
+                              switch(!0) {
+                                   case ($.isFunction(s.data)):
+                                           s.data.call(this, obj, $.proxy(function (d) {
+                                                  if(d && d !== "" && d.toString && d.toString().replace(/^[\s\n]+$/,"") !== "") {
+                                                               d = $(d);
+                                                              if(!d.is("ul")) { d = $("<ul />").append(d); }
+                                                         if(obj == -1 || !obj) { this.get_container().children("ul").empty().append(d.children()).find("li, a").filter(function () { return !this.firstChild || !this.firstChild.tagName || this.firstChild.tagName !== "INS"; }).prepend("<ins class='jstree-icon'>&#160;</ins>").end().filter("a").children("ins:first-child").not(".jstree-icon").addClass("jstree-icon"); }
+                                                         else { obj.children("a.jstree-loading").removeClass("jstree-loading"); obj.append(d).children("ul").find("li, a").filter(function () { return !this.firstChild || !this.firstChild.tagName || this.firstChild.tagName !== "INS"; }).prepend("<ins class='jstree-icon'>&#160;</ins>").end().filter("a").children("ins:first-child").not(".jstree-icon").addClass("jstree-icon"); obj.removeData("jstree_is_loading"); }
+                                                         this.clean_node(obj);
+                                                          if(s_call) { s_call.call(this); }
+                                                      }
+                                                      else {
+                                                         if(obj && obj !== -1) {
+                                                                        obj.children("a.jstree-loading").removeClass("jstree-loading");
+                                                                        obj.removeData("jstree_is_loading");
+                                                                   if(s.correct_state) {
+                                                                          this.correct_state(obj);
+                                                                               if(s_call) { s_call.call(this); }
+                                                                      }
+                                                              }
+                                                              else {
+                                                                 if(s.correct_state) {
+                                                                          this.get_container().children("ul").empty();
+                                                                           if(s_call) { s_call.call(this); }
+                                                                      }
+                                                              }
+                                                      }
+                                              }, this));
+                                             break;
+                                 case (!s.data && !s.ajax):
+                                             if(!obj || obj == -1) {
+                                                        this.get_container()
+                                                           .children("ul").empty()
+                                                                .append(this.data.html_data.original_container_html)
+                                                           .find("li, a").filter(function () { return !this.firstChild || !this.firstChild.tagName || this.firstChild.tagName !== "INS"; }).prepend("<ins class='jstree-icon'>&#160;</ins>").end()
+                                                                .filter("a").children("ins:first-child").not(".jstree-icon").addClass("jstree-icon");
+                                                  this.clean_node();
+                                             }
+                                              if(s_call) { s_call.call(this); }
+                                              break;
+                                 case (!!s.data && !s.ajax) || (!!s.data && !!s.ajax && (!obj || obj === -1)):
+                                          if(!obj || obj == -1) {
+                                                        d = $(s.data);
+                                                 if(!d.is("ul")) { d = $("<ul />").append(d); }
+                                                 this.get_container()
+                                                           .children("ul").empty().append(d.children())
+                                                           .find("li, a").filter(function () { return !this.firstChild || !this.firstChild.tagName || this.firstChild.tagName !== "INS"; }).prepend("<ins class='jstree-icon'>&#160;</ins>").end()
+                                                                .filter("a").children("ins:first-child").not(".jstree-icon").addClass("jstree-icon");
+                                                  this.clean_node();
+                                             }
+                                              if(s_call) { s_call.call(this); }
+                                              break;
+                                 case (!s.data && !!s.ajax) || (!!s.data && !!s.ajax && obj && obj !== -1):
+                                             obj = this._get_node(obj);
+                                             error_func = function (x, t, e) {
+                                                      var ef = this.get_settings().html_data.ajax.error;
+                                                     if(ef) { ef.call(this, x, t, e); }
+                                                     if(obj != -1 && obj.length) {
+                                                          obj.children("a.jstree-loading").removeClass("jstree-loading");
+                                                                obj.removeData("jstree_is_loading");
+                                                           if(t === "success" && s.correct_state) { this.correct_state(obj); }
+                                                    }
+                                                      else {
+                                                         if(t === "success" && s.correct_state) { this.get_container().children("ul").empty(); }
+                                                        }
+                                                      if(e_call) { e_call.call(this); }
+                                              };
+                                             success_func = function (d, t, x) {
+                                                    var sf = this.get_settings().html_data.ajax.success;
+                                                   if(sf) { d = sf.call(this,d,t,x) || d; }
+                                                       if(d === "" || (d && d.toString && d.toString().replace(/^[\s\n]+$/,"") === "")) {
+                                                             return error_func.call(this, x, t, "");
+                                                        }
+                                                      if(d) {
+                                                                d = $(d);
+                                                              if(!d.is("ul")) { d = $("<ul />").append(d); }
+                                                         if(obj == -1 || !obj) { this.get_container().children("ul").empty().append(d.children()).find("li, a").filter(function () { return !this.firstChild || !this.firstChild.tagName || this.firstChild.tagName !== "INS"; }).prepend("<ins class='jstree-icon'>&#160;</ins>").end().filter("a").children("ins:first-child").not(".jstree-icon").addClass("jstree-icon"); }
+                                                         else { obj.children("a.jstree-loading").removeClass("jstree-loading"); obj.append(d).children("ul").find("li, a").filter(function () { return !this.firstChild || !this.firstChild.tagName || this.firstChild.tagName !== "INS"; }).prepend("<ins class='jstree-icon'>&#160;</ins>").end().filter("a").children("ins:first-child").not(".jstree-icon").addClass("jstree-icon"); obj.removeData("jstree_is_loading"); }
+                                                         this.clean_node(obj);
+                                                          if(s_call) { s_call.call(this); }
+                                                      }
+                                                      else {
+                                                         if(obj && obj !== -1) {
+                                                                        obj.children("a.jstree-loading").removeClass("jstree-loading");
+                                                                        obj.removeData("jstree_is_loading");
+                                                                   if(s.correct_state) {
+                                                                          this.correct_state(obj);
+                                                                               if(s_call) { s_call.call(this); }
+                                                                      }
+                                                              }
+                                                              else {
+                                                                 if(s.correct_state) {
+                                                                          this.get_container().children("ul").empty();
+                                                                           if(s_call) { s_call.call(this); }
+                                                                      }
+                                                              }
+                                                      }
+                                              };
+                                             s.ajax.context = this;
+                                         s.ajax.error = error_func;
+                                             s.ajax.success = success_func;
+                                         if(!s.ajax.dataType) { s.ajax.dataType = "html"; }
+                                             if($.isFunction(s.ajax.url)) { s.ajax.url = s.ajax.url.call(this, obj); }
+                                              if($.isFunction(s.ajax.data)) { s.ajax.data = s.ajax.data.call(this, obj); }
+                                           $.ajax(s.ajax);
+                                                break;
+                         }
+                      }
+              }
+      });
+    // include the HTML data plugin by default
+     $.jstree.defaults.plugins.push("html_data");
+})(jQuery);
+//*/
+
+/*
+ * jsTree themeroller plugin
+ * Adds support for jQuery UI themes. Include this at the end of your plugins list, also make sure "themes" is not included.
+ */
+(function ($) {
+        $.jstree.plugin("themeroller", {
+               __init : function () {
+                 var s = this._get_settings().themeroller;
+                      this.get_container()
+                           .addClass("ui-widget-content")
+                         .addClass("jstree-themeroller")
+                                .delegate("a","mouseenter.jstree", function (e) {
+                                      if(!$(e.currentTarget).hasClass("jstree-loading")) {
+                                           $(this).addClass(s.item_h);
+                                    }
+                              })
+                             .delegate("a","mouseleave.jstree", function () {
+                                       $(this).removeClass(s.item_h);
+                         })
+                             .bind("init.jstree", $.proxy(function (e, data) {
+                                              data.inst.get_container().find("> ul > li > .jstree-loading > ins").addClass("ui-icon-refresh");
+                                               this._themeroller(data.inst.get_container().find("> ul > li"));
+                                        }, this))
+                              .bind("open_node.jstree create_node.jstree", $.proxy(function (e, data) {
+                                              this._themeroller(data.rslt.obj);
+                                      }, this))
+                              .bind("loaded.jstree refresh.jstree", $.proxy(function (e) {
+                                           this._themeroller();
+                                   }, this))
+                              .bind("close_node.jstree", $.proxy(function (e, data) {
+                                                this._themeroller(data.rslt.obj);
+                                      }, this))
+                              .bind("delete_node.jstree", $.proxy(function (e, data) {
+                                               this._themeroller(data.rslt.parent);
+                                   }, this))
+                              .bind("correct_state.jstree", $.proxy(function (e, data) {
+                                             data.rslt.obj
+                                                  .children("ins.jstree-icon").removeClass(s.opened + " " + s.closed + " ui-icon").end()
+                                                 .find("> a > ins.ui-icon")
+                                                             .filter(function() {
+                                                                   return this.className.toString()
+                                                                               .replace(s.item_clsd,"").replace(s.item_open,"").replace(s.item_leaf,"")
+                                                                               .indexOf("ui-icon-") === -1;
+                                                           }).removeClass(s.item_open + " " + s.item_clsd).addClass(s.item_leaf || "jstree-no-icon");
+                                     }, this))
+                              .bind("select_node.jstree", $.proxy(function (e, data) {
+                                               data.rslt.obj.children("a").addClass(s.item_a);
+                                        }, this))
+                              .bind("deselect_node.jstree deselect_all.jstree", $.proxy(function (e, data) {
+                                         this.get_container()
+                                                   .find("a." + s.item_a).removeClass(s.item_a).end()
+                                                     .find("a.jstree-clicked").addClass(s.item_a);
+                                  }, this))
+                              .bind("dehover_node.jstree", $.proxy(function (e, data) {
+                                              data.rslt.obj.children("a").removeClass(s.item_h);
+                                     }, this))
+                              .bind("hover_node.jstree", $.proxy(function (e, data) {
+                                                this.get_container()
+                                                   .find("a." + s.item_h).not(data.rslt.obj).removeClass(s.item_h);
+                                               data.rslt.obj.children("a").addClass(s.item_h);
+                                        }, this))
+                              .bind("move_node.jstree", $.proxy(function (e, data) {
+                                         this._themeroller(data.rslt.o);
+                                                this._themeroller(data.rslt.op);
+                                       }, this));
+             },
+             __destroy : function () {
+                      var s = this._get_settings().themeroller,
+                              c = [ "ui-icon" ];
+                     $.each(s, function (i, v) {
+                            v = v.split(" ");
+                              if(v.length) { c = c.concat(v); }
+                      });
+                    this.get_container()
+                           .removeClass("ui-widget-content")
+                              .find("." + c.join(", .")).removeClass(c.join(" "));
+           },
+             _fn : {
+                        _themeroller : function (obj) {
+                                var s = this._get_settings().themeroller;
+                              obj = !obj || obj == -1 ? this.get_container_ul() : this._get_node(obj).parent();
+                              obj
+                                    .find("li.jstree-closed")
+                                              .children("ins.jstree-icon").removeClass(s.opened).addClass("ui-icon " + s.closed).end()
+                                               .children("a").addClass(s.item)
+                                                        .children("ins.jstree-icon").addClass("ui-icon")
+                                                               .filter(function() {
+                                                                   return this.className.toString()
+                                                                               .replace(s.item_clsd,"").replace(s.item_open,"").replace(s.item_leaf,"")
+                                                                               .indexOf("ui-icon-") === -1;
+                                                           }).removeClass(s.item_leaf + " " + s.item_open).addClass(s.item_clsd || "jstree-no-icon")
+                                                              .end()
+                                                 .end()
+                                         .end()
+                                 .end()
+                                 .find("li.jstree-open")
+                                                .children("ins.jstree-icon").removeClass(s.closed).addClass("ui-icon " + s.opened).end()
+                                               .children("a").addClass(s.item)
+                                                        .children("ins.jstree-icon").addClass("ui-icon")
+                                                               .filter(function() {
+                                                                   return this.className.toString()
+                                                                               .replace(s.item_clsd,"").replace(s.item_open,"").replace(s.item_leaf,"")
+                                                                               .indexOf("ui-icon-") === -1;
+                                                           }).removeClass(s.item_leaf + " " + s.item_clsd).addClass(s.item_open || "jstree-no-icon")
+                                                              .end()
+                                                 .end()
+                                         .end()
+                                 .end()
+                                 .find("li.jstree-leaf")
+                                                .children("ins.jstree-icon").removeClass(s.closed + " ui-icon " + s.opened).end()
+                                              .children("a").addClass(s.item)
+                                                        .children("ins.jstree-icon").addClass("ui-icon")
+                                                               .filter(function() {
+                                                                   return this.className.toString()
+                                                                               .replace(s.item_clsd,"").replace(s.item_open,"").replace(s.item_leaf,"")
+                                                                               .indexOf("ui-icon-") === -1;
+                                                           }).removeClass(s.item_clsd + " " + s.item_open).addClass(s.item_leaf || "jstree-no-icon");
+                     }
+              },
+             defaults : {
+                   "opened"    : "ui-icon-triangle-1-se",
+                    "closed"   : "ui-icon-triangle-1-e",
+                     "item"            : "ui-state-default",
+                  "item_h"     : "ui-state-hover",
+                   "item_a"    : "ui-state-active",
+                  "item_open"  : "ui-icon-folder-open",
+                   "item_clsd" : "ui-icon-folder-collapsed",
+                      "item_leaf"      : "ui-icon-document"
+               }
+      });
+    $(function() {
+         var css_string = '' +
+                  '.jstree-themeroller .ui-icon { overflow:visible; } ' +
+                        '.jstree-themeroller a { padding:0 2px; } ' +
+                  '.jstree-themeroller .jstree-no-icon { display:none; }';
+               $.vakata.css.add_sheet({ str : css_string, title : "jstree" });
+        });
+})(jQuery);
+//*/
+
+/*
+ * jsTree unique plugin
+ * Forces different names amongst siblings (still a bit experimental)
+ * NOTE: does not check language versions (it will not be possible to have nodes with the same title, even in different languages)
+ */
+(function ($) {
+  $.jstree.plugin("unique", {
+            __init : function () {
+                 this.get_container()
+                           .bind("before.jstree", $.proxy(function (e, data) {
+                                            var nms = [], res = true, p, t;
+                                                if(data.func == "move_node") {
+                                                 // obj, ref, position, is_copy, is_prepared, skip_check
+                                                        if(data.args[4] === true) {
+                                                            if(data.args[0].o && data.args[0].o.length) {
+                                                                  data.args[0].o.children("a").each(function () { nms.push($(this).text().replace(/^\s+/g,"")); });
+                                                                      res = this._check_unique(nms, data.args[0].np.find("> ul > li").not(data.args[0].o), "move_node");
+                                                             }
+                                                      }
+                                              }
+                                              if(data.func == "create_node") {
+                                                       // obj, position, js, callback, is_loaded
+                                                      if(data.args[4] || this._is_loaded(data.args[0])) {
+                                                            p = this._get_node(data.args[0]);
+                                                              if(data.args[1] && (data.args[1] === "before" || data.args[1] === "after")) {
+                                                                  p = this._get_parent(data.args[0]);
+                                                                    if(!p || p === -1) { p = this.get_container(); }
+                                                               }
+                                                              if(typeof data.args[2] === "string") { nms.push(data.args[2]); }
+                                                               else if(!data.args[2] || !data.args[2].data) { nms.push(this._get_string("new_node")); }
+                                                               else { nms.push(data.args[2].data); }
+                                                          res = this._check_unique(nms, p.find("> ul > li"), "create_node");
+                                                     }
+                                              }
+                                              if(data.func == "rename_node") {
+                                                       // obj, val
+                                                    nms.push(data.args[1]);
+                                                        t = this._get_node(data.args[0]);
+                                                      p = this._get_parent(t);
+                                                       if(!p || p === -1) { p = this.get_container(); }
+                                                       res = this._check_unique(nms, p.find("> ul > li").not(t), "rename_node");
+                                              }
+                                              if(!res) {
+                                                     e.stopPropagation();
+                                                   return false;
+                                          }
+                                      }, this));
+             },
+             defaults : {
+                   error_callback : $.noop
+                },
+             _fn : {
+                        _check_unique : function (nms, p, func) {
+                              var cnms = [];
+                         p.children("a").each(function () { cnms.push($(this).text().replace(/^\s+/g,"")); });
+                          if(!cnms.length || !nms.length) { return true; }
+                               cnms = cnms.sort().join(",,").replace(/(,|^)([^,]+)(,,\2)+(,|$)/g,"$1$2$4").replace(/,,+/g,",").replace(/,$/,"").split(",");
+                           if((cnms.length + nms.length) != cnms.concat(nms).sort().join(",,").replace(/(,|^)([^,]+)(,,\2)+(,|$)/g,"$1$2$4").replace(/,,+/g,",").replace(/,$/,"").split(",").length) {
+                                    this._get_settings().unique.error_callback.call(null, nms, p, func);
+                                   return false;
+                          }
+                              return true;
+                   },
+                     check_move : function () {
+                             if(!this.__call_old()) { return false; }
+                               var p = this._get_move(), nms = [];
+                            if(p.o && p.o.length) {
+                                        p.o.children("a").each(function () { nms.push($(this).text().replace(/^\s+/g,"")); });
+                                 return this._check_unique(nms, p.np.find("> ul > li").not(p.o), "check_move");
+                         }
+                              return true;
+                   }
+              }
+      });
+})(jQuery);
+//*/
+
+/*
+ * jsTree wholerow plugin
+ * Makes select and hover work on the entire width of the node
+ * MAY BE HEAVY IN LARGE DOM
+ */
+(function ($) {
+     $.jstree.plugin("wholerow", {
+          __init : function () {
+                 if(!this.data.ui) { throw "jsTree wholerow: jsTree UI plugin not included."; }
+                 this.data.wholerow.html = false;
+                       this.data.wholerow.to = false;
+                 this.get_container()
+                           .bind("init.jstree", $.proxy(function (e, data) {
+                                              this._get_settings().core.animation = 0;
+                                       }, this))
+                              .bind("open_node.jstree create_node.jstree clean_node.jstree loaded.jstree", $.proxy(function (e, data) {
+                                              this._prepare_wholerow_span( data && data.rslt && data.rslt.obj ? data.rslt.obj : -1 );
+                                        }, this))
+                              .bind("search.jstree clear_search.jstree reopen.jstree after_open.jstree after_close.jstree create_node.jstree delete_node.jstree clean_node.jstree", $.proxy(function (e, data) {
+                                             if(this.data.to) { clearTimeout(this.data.to); }
+                                               this.data.to = setTimeout( (function (t, o) { return function() { t._prepare_wholerow_ul(o); }; })(this,  data && data.rslt && data.rslt.obj ? data.rslt.obj : -1), 0);
+                                        }, this))
+                              .bind("deselect_all.jstree", $.proxy(function (e, data) {
+                                              this.get_container().find(" > .jstree-wholerow .jstree-clicked").removeClass("jstree-clicked " + (this.data.themeroller ? this._get_settings().themeroller.item_a : "" ));
+                                     }, this))
+                              .bind("select_node.jstree deselect_node.jstree ", $.proxy(function (e, data) {
+                                         data.rslt.obj.each(function () {
+                                                       var ref = data.inst.get_container().find(" > .jstree-wholerow li:visible:eq(" + ( parseInt((($(this).offset().top - data.inst.get_container().offset().top + data.inst.get_container()[0].scrollTop) / data.inst.data.core.li_height),10)) + ")");
+                                                     // ref.children("a")[e.type === "select_node" ? "addClass" : "removeClass"]("jstree-clicked");
+                                                 ref.children("a").attr("class",data.rslt.obj.children("a").attr("class"));
+                                             });
+                                    }, this))
+                              .bind("hover_node.jstree dehover_node.jstree", $.proxy(function (e, data) {
+                                            this.get_container().find(" > .jstree-wholerow .jstree-hovered").removeClass("jstree-hovered " + (this.data.themeroller ? this._get_settings().themeroller.item_h : "" ));
+                                             if(e.type === "hover_node") {
+                                                  var ref = this.get_container().find(" > .jstree-wholerow li:visible:eq(" + ( parseInt(((data.rslt.obj.offset().top - this.get_container().offset().top + this.get_container()[0].scrollTop) / this.data.core.li_height),10)) + ")");
+                                                   // ref.children("a").addClass("jstree-hovered");
+                                                       ref.children("a").attr("class",data.rslt.obj.children(".jstree-hovered").attr("class"));
+                                               }
+                                      }, this))
+                              .delegate(".jstree-wholerow-span, ins.jstree-icon, li", "click.jstree", function (e) {
+                                         var n = $(e.currentTarget);
+                                            if(e.target.tagName === "A" || (e.target.tagName === "INS" && n.closest("li").is(".jstree-open, .jstree-closed"))) { return; }
+                                         n.closest("li").children("a:visible:eq(0)").click();
+                                           e.stopImmediatePropagation();
+                                  })
+                             .delegate("li", "mouseover.jstree", $.proxy(function (e) {
+                                             e.stopImmediatePropagation();
+                                          if($(e.currentTarget).children(".jstree-hovered, .jstree-clicked").length) { return false; }
+                                           this.hover_node(e.currentTarget);
+                                              return false;
+                                  }, this))
+                              .delegate("li", "mouseleave.jstree", $.proxy(function (e) {
+                                            if($(e.currentTarget).children("a").hasClass("jstree-hovered").length) { return; }
+                                             this.dehover_node(e.currentTarget);
+                                    }, this));
+                     if(is_ie7 || is_ie6) {
+                         $.vakata.css.add_sheet({ str : ".jstree-" + this.get_index() + " { position:relative; } ", title : "jstree" });
+                        }
+              },
+             defaults : {
+           },
+             __destroy : function () {
+                      this.get_container().children(".jstree-wholerow").remove();
+                    this.get_container().find(".jstree-wholerow-span").remove();
+           },
+             _fn : {
+                        _prepare_wholerow_span : function (obj) {
+                              obj = !obj || obj == -1 ? this.get_container().find("> ul > li") : this._get_node(obj);
+                                if(obj === false) { return; } // added for removing root nodes
+                         obj.each(function () {
+                                 $(this).find("li").andSelf().each(function () {
+                                                var $t = $(this);
+                                              if($t.children(".jstree-wholerow-span").length) { return true; }
+                                               $t.prepend("<span class='jstree-wholerow-span' style='width:" + ($t.parentsUntil(".jstree","li").length * 18) + "px;'>&#160;</span>");
+                                 });
+                            });
+                    },
+                     _prepare_wholerow_ul : function () {
+                           var o = this.get_container().children("ul").eq(0), h = o.html();
+                               o.addClass("jstree-wholerow-real");
+                            if(this.data.wholerow.last_html !== h) {
+                                       this.data.wholerow.last_html = h;
+                                      this.get_container().children(".jstree-wholerow").remove();
+                                    this.get_container().append(
+                                           o.clone().removeClass("jstree-wholerow-real")
+                                                  .wrapAll("<div class='jstree-wholerow' />").parent()
+                                                   .width(o.parent()[0].scrollWidth)
+                                                      .css("top", (o.height() + ( is_ie7 ? 5 : 0)) * -1 )
+                                                    .find("li[id]").each(function () { this.removeAttribute("id"); }).end()
+                                        );
+                             }
+                      }
+              }
+      });
+    $(function() {
+         var css_string = '' +
+                  '.jstree .jstree-wholerow-real { position:relative; z-index:1; } ' +
+                   '.jstree .jstree-wholerow-real li { cursor:pointer; } ' +
+                      '.jstree .jstree-wholerow-real a { border-left-color:transparent !important; border-right-color:transparent !important; } ' +
+                  '.jstree .jstree-wholerow { position:relative; z-index:0; height:0; } ' +
+                      '.jstree .jstree-wholerow ul, .jstree .jstree-wholerow li { width:100%; } ' +
+                  '.jstree .jstree-wholerow, .jstree .jstree-wholerow ul, .jstree .jstree-wholerow li, .jstree .jstree-wholerow a { margin:0 !important; padding:0 !important; } ' +
+                     '.jstree .jstree-wholerow, .jstree .jstree-wholerow ul, .jstree .jstree-wholerow li { background:transparent !important; }' +
+                  '.jstree .jstree-wholerow ins, .jstree .jstree-wholerow span, .jstree .jstree-wholerow input { display:none !important; }' +
+                   '.jstree .jstree-wholerow a, .jstree .jstree-wholerow a:hover { text-indent:-9999px; !important; width:100%; padding:0 !important; border-right-width:0px !important; border-left-width:0px !important; } ' +
+                  '.jstree .jstree-wholerow-span { position:absolute; left:0; margin:0px; padding:0; height:18px; border-width:0; padding:0; z-index:0; }';
+              if(is_ff2) {
+                   css_string += '' +
+                             '.jstree .jstree-wholerow a { display:block; height:18px; margin:0; padding:0; border:0; } ' +
+                         '.jstree .jstree-wholerow-real a { border-color:transparent !important; } ';
+           }
+              if(is_ie7 || is_ie6) {
+                 css_string += '' +
+                             '.jstree .jstree-wholerow, .jstree .jstree-wholerow li, .jstree .jstree-wholerow ul, .jstree .jstree-wholerow a { margin:0; padding:0; line-height:18px; } ' +
+                         '.jstree .jstree-wholerow a { display:block; height:18px; line-height:18px; overflow:hidden; } ';
+              }
+              $.vakata.css.add_sheet({ str : css_string, title : "jstree" });
+        });
+})(jQuery);
+//*/
+
+/*
+* jsTree model plugin
+* This plugin gets jstree to use a class model to retrieve data, creating great dynamism
+*/
+(function ($) {
+     var nodeInterface = ["getChildren","getChildrenCount","getAttr","getName","getProps"],
+         validateInterface = function(obj, inter) {
+                     var valid = true;
+                      obj = obj || {};
+                       inter = [].concat(inter);
+                      $.each(inter, function (i, v) {
+                                if(!$.isFunction(obj[v])) { valid = false; return false; }
+                     });
+                    return valid;
+          };
+     $.jstree.plugin("model", {
+             __init : function () {
+                 if(!this.data.json_data) { throw "jsTree model: jsTree json_data plugin not included."; }
+                      this._get_settings().json_data.data = function (n, b) {
+                                var obj = (n == -1) ? this._get_settings().model.object : n.data("jstree_model");
+                              if(!validateInterface(obj, nodeInterface)) { return b.call(null, false); }
+                             if(this._get_settings().model.async) {
+                                 obj.getChildren($.proxy(function (data) {
+                                              this.model_done(data, b);
+                                      }, this));
+                             }
+                              else {
+                                 this.model_done(obj.getChildren(), b);
+                         }
+                      };
+             },
+             defaults : {
+                   object : false,
+                        id_prefix : false,
+                     async : false
+          },
+             _fn : {
+                        model_done : function (data, callback) {
+                               var ret = [],
+                                  s = this._get_settings(),
+                                      _this = this;
+
+                         if(!$.isArray(data)) { data = [data]; }
+                                $.each(data, function (i, nd) {
+                                        var r = nd.getProps() || {};
+                                   r.attr = nd.getAttr() || {};
+                                   if(nd.getChildrenCount()) { r.state = "closed"; }
+                                      r.data = nd.getName();
+                                 if(!$.isArray(r.data)) { r.data = [r.data]; }
+                                  if(_this.data.types && $.isFunction(nd.getType)) {
+                                             r.attr[s.types.type_attr] = nd.getType();
+                                      }
+                                      if(r.attr.id && s.model.id_prefix) { r.attr.id = s.model.id_prefix + r.attr.id; }
+                                      if(!r.metadata) { r.metadata = { }; }
+                                  r.metadata.jstree_model = nd;
+                                  ret.push(r);
+                           });
+                            callback.call(null, ret);
+                      }
+              }
+      });
+})(jQuery);
+//*/
+
+})();
\ No newline at end of file
diff --git a/koha-tmpl/opac-tmpl/lib/jquery/plugins/themes/classic/d.gif b/koha-tmpl/opac-tmpl/lib/jquery/plugins/themes/classic/d.gif
new file mode 100644 (file)
index 0000000..6eb0004
Binary files /dev/null and b/koha-tmpl/opac-tmpl/lib/jquery/plugins/themes/classic/d.gif differ
diff --git a/koha-tmpl/opac-tmpl/lib/jquery/plugins/themes/classic/d.png b/koha-tmpl/opac-tmpl/lib/jquery/plugins/themes/classic/d.png
new file mode 100644 (file)
index 0000000..275daec
Binary files /dev/null and b/koha-tmpl/opac-tmpl/lib/jquery/plugins/themes/classic/d.png differ
diff --git a/koha-tmpl/opac-tmpl/lib/jquery/plugins/themes/classic/dot_for_ie.gif b/koha-tmpl/opac-tmpl/lib/jquery/plugins/themes/classic/dot_for_ie.gif
new file mode 100644 (file)
index 0000000..c0cc5fd
Binary files /dev/null and b/koha-tmpl/opac-tmpl/lib/jquery/plugins/themes/classic/dot_for_ie.gif differ
diff --git a/koha-tmpl/opac-tmpl/lib/jquery/plugins/themes/classic/style.css b/koha-tmpl/opac-tmpl/lib/jquery/plugins/themes/classic/style.css
new file mode 100644 (file)
index 0000000..9fbab0e
--- /dev/null
@@ -0,0 +1,77 @@
+/*
+ * jsTree classic theme 1.0
+ * Supported features: dots/no-dots, icons/no-icons, focused, loading
+ * Supported plugins: ui (hovered, clicked), checkbox, contextmenu, search
+ */
+
+.jstree-classic li,
+.jstree-classic ins { background-image:url("d.png"); background-repeat:no-repeat; background-color:transparent; }
+.jstree-classic li { background-position:-90px 0; background-repeat:repeat-y;  }
+.jstree-classic li.jstree-last { background:transparent; }
+.jstree-classic .jstree-open > ins { background-position:-72px 0; }
+.jstree-classic .jstree-closed > ins { background-position:-54px 0; }
+.jstree-classic .jstree-leaf > ins { background-position:-36px 0; }
+
+.jstree-classic .jstree-hovered { background:#e7f4f9; border:1px solid #e7f4f9; padding:0 2px 0 1px; }
+.jstree-classic .jstree-clicked { background:navy; border:1px solid navy; padding:0 2px 0 1px; color:white; }
+.jstree-classic a .jstree-icon { background-position:-56px -19px; }
+.jstree-classic .jstree-open > a .jstree-icon { background-position:-56px -36px; }
+.jstree-classic a.jstree-loading .jstree-icon { background:url("throbber.gif") center center no-repeat !important; }
+
+.jstree-classic.jstree-focused { background:white; }
+
+.jstree-classic .jstree-no-dots li,
+.jstree-classic .jstree-no-dots .jstree-leaf > ins { background:transparent; }
+.jstree-classic .jstree-no-dots .jstree-open > ins { background-position:-18px 0; }
+.jstree-classic .jstree-no-dots .jstree-closed > ins { background-position:0 0; }
+
+.jstree-classic .jstree-no-icons a .jstree-icon { display:none; }
+
+.jstree-classic .jstree-search { font-style:italic; }
+
+.jstree-classic .jstree-no-icons .jstree-checkbox { display:inline-block; }
+.jstree-classic .jstree-no-checkboxes .jstree-checkbox { display:none !important; }
+.jstree-classic .jstree-checked > a > .jstree-checkbox { background-position:-38px -19px; }
+.jstree-classic .jstree-unchecked > a > .jstree-checkbox { background-position:-2px -19px; }
+.jstree-classic .jstree-undetermined > a > .jstree-checkbox { background-position:-20px -19px; }
+.jstree-classic .jstree-checked > a > .jstree-checkbox:hover { background-position:-38px -37px; }
+.jstree-classic .jstree-unchecked > a > .jstree-checkbox:hover { background-position:-2px -37px; }
+.jstree-classic .jstree-undetermined > a > .jstree-checkbox:hover { background-position:-20px -37px; }
+
+#vakata-dragged.jstree-classic ins { background:transparent !important; }
+#vakata-dragged.jstree-classic .jstree-ok { background:url("d.png") -2px -53px no-repeat !important; }
+#vakata-dragged.jstree-classic .jstree-invalid { background:url("d.png") -18px -53px no-repeat !important; }
+#jstree-marker.jstree-classic { background:url("d.png") -41px -57px no-repeat !important; text-indent:-100px; }
+
+.jstree-classic a.jstree-search { color:aqua; }
+.jstree-classic .jstree-locked a { color:silver; cursor:default; }
+
+#vakata-contextmenu.jstree-classic-context,
+#vakata-contextmenu.jstree-classic-context li ul { background:#f0f0f0; border:1px solid #979797; -moz-box-shadow: 1px 1px 2px #999; -webkit-box-shadow: 1px 1px 2px #999; box-shadow: 1px 1px 2px #999; }
+#vakata-contextmenu.jstree-classic-context li { }
+#vakata-contextmenu.jstree-classic-context a { color:black; }
+#vakata-contextmenu.jstree-classic-context a:hover,
+#vakata-contextmenu.jstree-classic-context .vakata-hover > a { padding:0 5px; background:#e8eff7; border:1px solid #aecff7; color:black; -moz-border-radius:2px; -webkit-border-radius:2px; border-radius:2px; }
+#vakata-contextmenu.jstree-classic-context li.jstree-contextmenu-disabled a,
+#vakata-contextmenu.jstree-classic-context li.jstree-contextmenu-disabled a:hover { color:silver; background:transparent; border:0; padding:1px 4px; }
+#vakata-contextmenu.jstree-classic-context li.vakata-separator { background:white; border-top:1px solid #e0e0e0; margin:0; }
+#vakata-contextmenu.jstree-classic-context li ul { margin-left:-4px; }
+
+/* IE6 BEGIN */
+.jstree-classic li,
+.jstree-classic ins,
+#vakata-dragged.jstree-classic .jstree-invalid,
+#vakata-dragged.jstree-classic .jstree-ok,
+#jstree-marker.jstree-classic { _background-image:url("d.gif"); }
+.jstree-classic .jstree-open ins { _background-position:-72px 0; }
+.jstree-classic .jstree-closed ins { _background-position:-54px 0; }
+.jstree-classic .jstree-leaf ins { _background-position:-36px 0; }
+.jstree-classic .jstree-open a ins.jstree-icon { _background-position:-56px -36px; }
+.jstree-classic .jstree-closed a ins.jstree-icon { _background-position:-56px -19px; }
+.jstree-classic .jstree-leaf a ins.jstree-icon { _background-position:-56px -19px; }
+#vakata-contextmenu.jstree-classic-context ins { _display:none; }
+#vakata-contextmenu.jstree-classic-context li { _zoom:1; }
+.jstree-classic .jstree-undetermined a .jstree-checkbox { _background-position:-20px -19px; }
+.jstree-classic .jstree-checked a .jstree-checkbox { _background-position:-38px -19px; }
+.jstree-classic .jstree-unchecked a .jstree-checkbox { _background-position:-2px -19px; }
+/* IE6 END */
\ No newline at end of file
diff --git a/koha-tmpl/opac-tmpl/lib/jquery/plugins/themes/classic/throbber.gif b/koha-tmpl/opac-tmpl/lib/jquery/plugins/themes/classic/throbber.gif
new file mode 100644 (file)
index 0000000..5b33f7e
Binary files /dev/null and b/koha-tmpl/opac-tmpl/lib/jquery/plugins/themes/classic/throbber.gif differ
diff --git a/koha-tmpl/opac-tmpl/lib/yui/button.css b/koha-tmpl/opac-tmpl/lib/yui/button.css
new file mode 100644 (file)
index 0000000..1a8aaca
--- /dev/null
@@ -0,0 +1,7 @@
+/*
+Copyright (c) 2007, Yahoo! Inc. All rights reserved.
+Code licensed under the BSD License:
+http://developer.yahoo.net/yui/license.txt
+version: 2.4.1
+*/
+body .yui-button{display:-moz-inline-box;display:inline-block;vertical-align:text-bottom;border-width:1px 0;background:url(yui-sprite.png) repeat-x 0 0;margin:auto .25em}body .yui-button .first-child,body .yui-button a,body .yui-button button{display:block;*display:inline-block}body .yui-button a,body .yui-button button{border:none;margin:0;padding:0 10px;font-size:93%;line-height:2;*line-height:1.7;min-height:2em;*min-height:auto}body .yui-button button{background:transparent;*overflow:visible;cursor:pointer}body .yui-button a{text-decoration:none;*line-height:2}body .yui-button,body .yui-button .first-child{border-style:solid}body .yui-button,body .yui-button .first-child,body .yui-split-button-activeoption,body .yui-split-button-activeoption .first-child{border-color:#808080}body .yui-button .first-child{border-width:0 1px;margin:0 -1px;*position:relative;*left:-1px}body .yui-button a,body .yui-button button,body .yui-button-focus a,body .yui-button-focus button,body .yui-button-hover a,body .yui-button-hover button,body .yui-button-active a,body .yui-button-active button{color:#000}body .yui-menu-button button,body .yui-split-button button{background:no-repeat right center;padding-right:20px}body .yui-menu-button button{background:url(menu-button-arrow.png)}body .yui-split-button button{background:url(split-button-arrow.png)}body .yui-button-focus,body .yui-button-hover{background:0 -1300px}body .yui-button-focus,body .yui-button-focus .first-child,body .yui-button-hover,body .yui-button-hover .first-child,body .yui-button-active,body .yui-button-active .first-child{border-color:#7d98b8}body .yui-split-button-focus button{background:url(split-button-arrow-focus.png)}body .yui-split-button-hover button{background:url(split-button-arrow-hover.png)}body .yui-button-active{background:0 -1700px}body .yui-split-button-activeoption{background:0 0}body .yui-split-button-activeoption button{background:url(split-button-arrow-active.png)}body .yui-checkbox-button-checked,body .yui-radio-button-checked{background:0 -1400px}body .yui-checkbox-button-checked,body .yui-radio-button-checked,body .yui-checkbox-button-checked .first-child,body .yui-radio-button-checked .first-child{border-color:#304369}body .yui-checkbox-button-checked button,body .yui-radio-button-checked button{color:#fff}body .yui-button-disabled{background:0 -1500px}body .yui-button-disabled,body .yui-button-disabled .first-child{border-color:#ccc}body .yui-button-disabled a,body .yui-button-disabled button{color:#a6a6a6;cursor:default}body .yui-menu-button-disabled button{background:url(menu-button-arrow-disabled.png)}body .yui-split-button-disabled button{background:url(split-button-arrow-disabled.png)}
\ No newline at end of file
diff --git a/koha-tmpl/opac-tmpl/lib/yui/container.css b/koha-tmpl/opac-tmpl/lib/yui/container.css
new file mode 100644 (file)
index 0000000..90e11f5
--- /dev/null
@@ -0,0 +1,318 @@
+/*
+Copyright (c) 2007, Yahoo! Inc. All rights reserved.
+Code licensed under the BSD License:
+http://developer.yahoo.net/yui/license.txt
+version: 2.4.1
+*/
+.yui-overlay,
+.yui-panel-container {
+    visibility:hidden;
+    position:absolute;
+    z-index: 2;
+}
+
+.yui-tt {
+    visibility:hidden;
+    position:absolute;
+    color:#333;
+    background-color:#FDFFB4;
+    font-family:arial,helvetica,verdana,sans-serif;
+    padding:2px;
+    border:1px solid #FCC90D;
+    font:100% sans-serif;
+    width:auto;
+}
+
+/*
+    PLEASE NOTE: The <DIV> element used for a Tooltip's shadow is appended 
+    to its root element via JavaScript once it has been rendered.  The 
+    code that creates the shadow lives in the Tooltip's public "onRender" 
+    event handler that is a prototype method of YAHOO.widget.Tooltip.  
+    Implementers wishing to remove a Tooltip's shadow or add any other markup
+    required for a given skin for Tooltip should override the "onRender" method.
+*/
+
+.yui-tt-shadow {
+    display: none;
+}
+
+* html body.masked select {
+    visibility:hidden;
+}
+
+* html div.yui-panel-container select {
+    visibility:inherit;
+}
+
+* html div.drag select {
+    visibility:hidden;
+}
+
+* html div.hide-select select {
+    visibility:hidden;
+}
+
+.mask {
+    z-index: 1; 
+    display:none;
+    position:absolute;
+    top:0;
+    left:0;
+    -moz-opacity: 0.5;
+    opacity:.50;
+    filter: alpha(opacity=50);
+    background-color:#CCC;
+}
+
+/*
+
+There are two known issues with YAHOO.widget.Overlay (and its subclasses) that 
+manifest in Gecko-based browsers on Mac OS X:
+
+    1) Elements with scrollbars will poke through Overlay instances floating 
+       above them.
+    
+    2) An Overlay's scrollbars and the scrollbars of its child nodes remain  
+       visible when the Overlay is hidden.
+
+To fix these bugs:
+
+    1) The "overflow" property of an Overlay instance's root element and child 
+       nodes is toggled between "hidden" and "auto" (through the application  
+       and removal of the "hide-scrollbars" and "show-scrollbars" CSS classes)
+       as its "visibility" configuration property is toggled between 
+       "false" and "true."
+    
+    2) The "display" property of <SELECT> elements that are child nodes of the 
+       Overlay instance's root element is set to "none" when it is hidden.
+
+PLEASE NOTE:  
+  
+    1) The "hide-scrollbars" and "show-scrollbars" CSS classes classes are 
+       applied only for Gecko on Mac OS X and are added/removed to/from the 
+       Overlay's root HTML element (DIV) via the "hideMacGeckoScrollbars" and 
+       "showMacGeckoScrollbars" methods of YAHOO.widget.Overlay.
+    
+    2) There may be instances where the CSS for a web page or application 
+       contains style rules whose specificity override the rules implemented by 
+       the Container CSS files to fix this bug.  In such cases, is necessary to 
+       leverage the provided "hide-scrollbars" and "show-scrollbars" classes to 
+       write custom style rules to guard against this bug.
+
+** For more information on this issue, see:
+
+   + https://bugzilla.mozilla.org/show_bug.cgi?id=187435
+   + SourceForge bug #1723530
+
+*/
+
+.hide-scrollbars,
+.hide-scrollbars * {
+
+    overflow: hidden;
+
+}
+
+.hide-scrollbars select {
+
+    display: none;
+
+}
+
+.show-scrollbars {
+
+    overflow: auto;
+
+}
+
+.yui-panel-container.show-scrollbars {
+
+    overflow: visible;
+
+}
+
+.yui-panel-container.show-scrollbars .underlay {
+
+    overflow: auto;
+
+}
+
+.yui-panel-container.focused {
+
+}
+
+
+/* Panel underlay styles */
+
+.yui-panel-container .underlay {
+
+    position: absolute;
+    top: 0;
+    right: 0;
+    bottom: 0;
+    left: 0;
+
+}
+
+.yui-panel-container.matte {
+
+    padding: 3px;
+    background-color: #fff;
+
+}
+
+.yui-panel-container.shadow .underlay {
+
+    top: 3px;
+    bottom: -3px;
+    right: -3px;
+    left: 3px;
+    background-color: #000;
+    opacity: .12;
+    filter: alpha(opacity=12);  /* For IE */
+
+}
+
+/* 
+   Workaround for Safari 2.x - the yui-force-redraw class is applied, and then removed when
+   the Panel's content changes, to force Safari 2.x to redraw the underlay.
+   We attempt to choose a CSS property which has no visual impact when added,
+   removed, but still causes Safari to redraw
+*/
+.yui-panel-container.shadow .underlay.yui-force-redraw {
+    padding-bottom: 1px;
+}
+
+.yui-effect-fade .underlay {
+    display:none;
+}
+
+.yui-panel {
+    visibility:hidden;
+    border-collapse:separate;
+    position:relative;
+    left:0;
+    top:0;
+    font:1em Arial;
+    background-color:#FFF;
+    border:1px solid #000;
+    z-index:1;
+    overflow:hidden;
+}
+
+.yui-panel .hd {
+    background-color:#3d77cb;
+    color:#FFF;
+    font-size:100%;
+    line-height:100%;
+    border:1px solid #FFF;
+    border-bottom:1px solid #000;
+    font-weight:bold;
+    padding:4px;
+    white-space:nowrap;
+}
+
+.yui-panel .bd {
+    overflow:hidden;
+    padding:4px;
+}
+
+.yui-panel .bd p {
+    margin:0 0 1em;
+}
+
+.yui-panel .container-close {
+    position:absolute;
+    top:5px;
+    right:4px;
+    z-index:6;
+    height:12px;
+    width:12px;
+    margin:0px;
+    padding:0px;
+    background:url(close12_1.gif) no-repeat;
+    cursor:pointer;
+    visibility:inherit;
+}
+
+.yui-panel .ft {
+    padding:4px;
+    overflow:hidden;
+}
+
+.yui-simple-dialog .bd .yui-icon {
+    background-repeat:no-repeat;
+    width:16px;
+    height:16px;
+    margin-right:10px;
+    float:left;
+}
+
+.yui-simple-dialog .bd span.blckicon {
+    background: url("blck16_1.gif") no-repeat;
+}
+
+.yui-simple-dialog .bd span.alrticon {
+    background: url("alrt16_1.gif") no-repeat;
+}
+
+.yui-simple-dialog .bd span.hlpicon {
+    background: url("hlp16_1.gif") no-repeat;
+}
+
+.yui-simple-dialog .bd span.infoicon {
+    background: url("info16_1.gif") no-repeat;
+}
+
+.yui-simple-dialog .bd span.warnicon {
+    background: url("warn16_1.gif") no-repeat;
+}
+
+.yui-simple-dialog .bd span.tipicon {
+    background: url("tip16_1.gif") no-repeat;
+}
+
+.yui-dialog .ft, 
+.yui-simple-dialog .ft {
+    padding-bottom:5px;
+    padding-right:5px;
+    text-align:right;
+}
+
+.yui-dialog form, 
+.yui-simple-dialog form {
+    margin:0;
+}
+
+.button-group button {
+    font:100 76% verdana;
+    text-decoration:none;
+    background-color: #E4E4E4;
+    color: #333;
+    cursor: hand;
+    vertical-align: middle;
+    border: 2px solid #797979;
+    border-top-color:#FFF;
+    border-left-color:#FFF;
+    margin:2px;
+    padding:2px;
+}
+
+.button-group button.default {
+    font-weight:bold;
+}
+
+.button-group button:hover, 
+.button-group button.hover {
+    border:2px solid #90A029;
+    background-color:#EBF09E;
+    border-top-color:#FFF;
+    border-left-color:#FFF;
+}
+
+.button-group button:active {
+    border:2px solid #E4E4E4;
+    background-color:#BBB;
+    border-top-color:#333;
+    border-left-color:#333;
+}
\ No newline at end of file
diff --git a/koha-tmpl/opac-tmpl/lib/yui/container/container-min.js b/koha-tmpl/opac-tmpl/lib/yui/container/container-min.js
new file mode 100644 (file)
index 0000000..c69470e
--- /dev/null
@@ -0,0 +1,17 @@
+/*
+Copyright (c) 2008, Yahoo! Inc. All rights reserved.
+Code licensed under the BSD License:
+http://developer.yahoo.net/yui/license.txt
+version: 2.5.1
+*/
+(function(){YAHOO.util.Config=function(D){if(D){this.init(D);}};var B=YAHOO.lang,C=YAHOO.util.CustomEvent,A=YAHOO.util.Config;A.CONFIG_CHANGED_EVENT="configChanged";A.BOOLEAN_TYPE="boolean";A.prototype={owner:null,queueInProgress:false,config:null,initialConfig:null,eventQueue:null,configChangedEvent:null,init:function(D){this.owner=D;this.configChangedEvent=this.createEvent(A.CONFIG_CHANGED_EVENT);this.configChangedEvent.signature=C.LIST;this.queueInProgress=false;this.config={};this.initialConfig={};this.eventQueue=[];},checkBoolean:function(D){return(typeof D==A.BOOLEAN_TYPE);},checkNumber:function(D){return(!isNaN(D));},fireEvent:function(D,F){var E=this.config[D];if(E&&E.event){E.event.fire(F);}},addProperty:function(E,D){E=E.toLowerCase();this.config[E]=D;D.event=this.createEvent(E,{scope:this.owner});D.event.signature=C.LIST;D.key=E;if(D.handler){D.event.subscribe(D.handler,this.owner);}this.setProperty(E,D.value,true);if(!D.suppressEvent){this.queueProperty(E,D.value);}},getConfig:function(){var D={},F,E;for(F in this.config){E=this.config[F];if(E&&E.event){D[F]=E.value;}}return D;},getProperty:function(D){var E=this.config[D.toLowerCase()];if(E&&E.event){return E.value;}else{return undefined;}},resetProperty:function(D){D=D.toLowerCase();var E=this.config[D];if(E&&E.event){if(this.initialConfig[D]&&!B.isUndefined(this.initialConfig[D])){this.setProperty(D,this.initialConfig[D]);return true;}}else{return false;}},setProperty:function(E,G,D){var F;E=E.toLowerCase();if(this.queueInProgress&&!D){this.queueProperty(E,G);return true;}else{F=this.config[E];if(F&&F.event){if(F.validator&&!F.validator(G)){return false;}else{F.value=G;if(!D){this.fireEvent(E,G);this.configChangedEvent.fire([E,G]);}return true;}}else{return false;}}},queueProperty:function(S,P){S=S.toLowerCase();var R=this.config[S],K=false,J,G,H,I,O,Q,F,M,N,D,L,T,E;if(R&&R.event){if(!B.isUndefined(P)&&R.validator&&!R.validator(P)){return false;}else{if(!B.isUndefined(P)){R.value=P;}else{P=R.value;}K=false;J=this.eventQueue.length;for(L=0;L<J;L++){G=this.eventQueue[L];if(G){H=G[0];I=G[1];if(H==S){this.eventQueue[L]=null;this.eventQueue.push([S,(!B.isUndefined(P)?P:I)]);K=true;break;}}}if(!K&&!B.isUndefined(P)){this.eventQueue.push([S,P]);}}if(R.supercedes){O=R.supercedes.length;for(T=0;T<O;T++){Q=R.supercedes[T];F=this.eventQueue.length;for(E=0;E<F;E++){M=this.eventQueue[E];if(M){N=M[0];D=M[1];if(N==Q.toLowerCase()){this.eventQueue.push([N,D]);this.eventQueue[E]=null;break;}}}}}return true;}else{return false;}},refireEvent:function(D){D=D.toLowerCase();var E=this.config[D];if(E&&E.event&&!B.isUndefined(E.value)){if(this.queueInProgress){this.queueProperty(D);}else{this.fireEvent(D,E.value);}}},applyConfig:function(D,G){var F,E;if(G){E={};for(F in D){if(B.hasOwnProperty(D,F)){E[F.toLowerCase()]=D[F];}}this.initialConfig=E;}for(F in D){if(B.hasOwnProperty(D,F)){this.queueProperty(F,D[F]);}}},refresh:function(){var D;for(D in this.config){this.refireEvent(D);}},fireQueue:function(){var E,H,D,G,F;this.queueInProgress=true;for(E=0;E<this.eventQueue.length;E++){H=this.eventQueue[E];if(H){D=H[0];G=H[1];F=this.config[D];F.value=G;this.fireEvent(D,G);}}this.queueInProgress=false;this.eventQueue=[];},subscribeToConfigEvent:function(E,F,H,D){var G=this.config[E.toLowerCase()];if(G&&G.event){if(!A.alreadySubscribed(G.event,F,H)){G.event.subscribe(F,H,D);}return true;}else{return false;}},unsubscribeFromConfigEvent:function(D,E,G){var F=this.config[D.toLowerCase()];if(F&&F.event){return F.event.unsubscribe(E,G);}else{return false;}},toString:function(){var D="Config";if(this.owner){D+=" ["+this.owner.toString()+"]";}return D;},outputEventQueue:function(){var D="",G,E,F=this.eventQueue.length;for(E=0;E<F;E++){G=this.eventQueue[E];if(G){D+=G[0]+"="+G[1]+", ";}}return D;},destroy:function(){var E=this.config,D,F;for(D in E){if(B.hasOwnProperty(E,D)){F=E[D];F.event.unsubscribeAll();F.event=null;}}this.configChangedEvent.unsubscribeAll();this.configChangedEvent=null;this.owner=null;this.config=null;this.initialConfig=null;this.eventQueue=null;}};A.alreadySubscribed=function(E,H,I){var F=E.subscribers.length,D,G;if(F>0){G=F-1;do{D=E.subscribers[G];if(D&&D.obj==I&&D.fn==H){return true;}}while(G--);}return false;};YAHOO.lang.augmentProto(A,YAHOO.util.EventProvider);}());(function(){YAHOO.widget.Module=function(Q,P){if(Q){this.init(Q,P);}else{}};var F=YAHOO.util.Dom,D=YAHOO.util.Config,M=YAHOO.util.Event,L=YAHOO.util.CustomEvent,G=YAHOO.widget.Module,H,O,N,E,A={"BEFORE_INIT":"beforeInit","INIT":"init","APPEND":"append","BEFORE_RENDER":"beforeRender","RENDER":"render","CHANGE_HEADER":"changeHeader","CHANGE_BODY":"changeBody","CHANGE_FOOTER":"changeFooter","CHANGE_CONTENT":"changeContent","DESTORY":"destroy","BEFORE_SHOW":"beforeShow","SHOW":"show","BEFORE_HIDE":"beforeHide","HIDE":"hide"},I={"VISIBLE":{key:"visible",value:true,validator:YAHOO.lang.isBoolean},"EFFECT":{key:"effect",suppressEvent:true,supercedes:["visible"]},"MONITOR_RESIZE":{key:"monitorresize",value:true},"APPEND_TO_DOCUMENT_BODY":{key:"appendtodocumentbody",value:false}};G.IMG_ROOT=null;G.IMG_ROOT_SSL=null;G.CSS_MODULE="yui-module";G.CSS_HEADER="hd";G.CSS_BODY="bd";G.CSS_FOOTER="ft";G.RESIZE_MONITOR_SECURE_URL="javascript:false;";G.textResizeEvent=new L("textResize");function K(){if(!H){H=document.createElement("div");H.innerHTML=('<div class="'+G.CSS_HEADER+'"></div>'+'<div class="'+G.CSS_BODY+'"></div><div class="'+G.CSS_FOOTER+'"></div>');O=H.firstChild;N=O.nextSibling;E=N.nextSibling;}return H;}function J(){if(!O){K();}return(O.cloneNode(false));}function B(){if(!N){K();}return(N.cloneNode(false));}function C(){if(!E){K();}return(E.cloneNode(false));}G.prototype={constructor:G,element:null,header:null,body:null,footer:null,id:null,imageRoot:G.IMG_ROOT,initEvents:function(){var P=L.LIST;this.beforeInitEvent=this.createEvent(A.BEFORE_INIT);this.beforeInitEvent.signature=P;this.initEvent=this.createEvent(A.INIT);this.initEvent.signature=P;this.appendEvent=this.createEvent(A.APPEND);
+this.appendEvent.signature=P;this.beforeRenderEvent=this.createEvent(A.BEFORE_RENDER);this.beforeRenderEvent.signature=P;this.renderEvent=this.createEvent(A.RENDER);this.renderEvent.signature=P;this.changeHeaderEvent=this.createEvent(A.CHANGE_HEADER);this.changeHeaderEvent.signature=P;this.changeBodyEvent=this.createEvent(A.CHANGE_BODY);this.changeBodyEvent.signature=P;this.changeFooterEvent=this.createEvent(A.CHANGE_FOOTER);this.changeFooterEvent.signature=P;this.changeContentEvent=this.createEvent(A.CHANGE_CONTENT);this.changeContentEvent.signature=P;this.destroyEvent=this.createEvent(A.DESTORY);this.destroyEvent.signature=P;this.beforeShowEvent=this.createEvent(A.BEFORE_SHOW);this.beforeShowEvent.signature=P;this.showEvent=this.createEvent(A.SHOW);this.showEvent.signature=P;this.beforeHideEvent=this.createEvent(A.BEFORE_HIDE);this.beforeHideEvent.signature=P;this.hideEvent=this.createEvent(A.HIDE);this.hideEvent.signature=P;},platform:function(){var P=navigator.userAgent.toLowerCase();if(P.indexOf("windows")!=-1||P.indexOf("win32")!=-1){return"windows";}else{if(P.indexOf("macintosh")!=-1){return"mac";}else{return false;}}}(),browser:function(){var P=navigator.userAgent.toLowerCase();if(P.indexOf("opera")!=-1){return"opera";}else{if(P.indexOf("msie 7")!=-1){return"ie7";}else{if(P.indexOf("msie")!=-1){return"ie";}else{if(P.indexOf("safari")!=-1){return"safari";}else{if(P.indexOf("gecko")!=-1){return"gecko";}else{return false;}}}}}}(),isSecure:function(){if(window.location.href.toLowerCase().indexOf("https")===0){return true;}else{return false;}}(),initDefaultConfig:function(){this.cfg.addProperty(I.VISIBLE.key,{handler:this.configVisible,value:I.VISIBLE.value,validator:I.VISIBLE.validator});this.cfg.addProperty(I.EFFECT.key,{suppressEvent:I.EFFECT.suppressEvent,supercedes:I.EFFECT.supercedes});this.cfg.addProperty(I.MONITOR_RESIZE.key,{handler:this.configMonitorResize,value:I.MONITOR_RESIZE.value});this.cfg.addProperty(I.APPEND_TO_DOCUMENT_BODY.key,{value:I.APPEND_TO_DOCUMENT_BODY.value});},init:function(U,T){var R,V;this.initEvents();this.beforeInitEvent.fire(G);this.cfg=new D(this);if(this.isSecure){this.imageRoot=G.IMG_ROOT_SSL;}if(typeof U=="string"){R=U;U=document.getElementById(U);if(!U){U=(K()).cloneNode(false);U.id=R;}}this.element=U;if(U.id){this.id=U.id;}V=this.element.firstChild;if(V){var Q=false,P=false,S=false;do{if(1==V.nodeType){if(!Q&&F.hasClass(V,G.CSS_HEADER)){this.header=V;Q=true;}else{if(!P&&F.hasClass(V,G.CSS_BODY)){this.body=V;P=true;}else{if(!S&&F.hasClass(V,G.CSS_FOOTER)){this.footer=V;S=true;}}}}}while((V=V.nextSibling));}this.initDefaultConfig();F.addClass(this.element,G.CSS_MODULE);if(T){this.cfg.applyConfig(T,true);}if(!D.alreadySubscribed(this.renderEvent,this.cfg.fireQueue,this.cfg)){this.renderEvent.subscribe(this.cfg.fireQueue,this.cfg,true);}this.initEvent.fire(G);},initResizeMonitor:function(){var Q=(YAHOO.env.ua.gecko&&this.platform=="windows");if(Q){var P=this;setTimeout(function(){P._initResizeMonitor();},0);}else{this._initResizeMonitor();}},_initResizeMonitor:function(){var P,R,T;function V(){G.textResizeEvent.fire();}if(!YAHOO.env.ua.opera){R=F.get("_yuiResizeMonitor");var U=this._supportsCWResize();if(!R){R=document.createElement("iframe");if(this.isSecure&&G.RESIZE_MONITOR_SECURE_URL&&YAHOO.env.ua.ie){R.src=G.RESIZE_MONITOR_SECURE_URL;}if(!U){T=["<html><head><script ",'type="text/javascript">',"window.onresize=function(){window.parent.","YAHOO.widget.Module.textResizeEvent.","fire();};<","/script></head>","<body></body></html>"].join("");R.src="data:text/html;charset=utf-8,"+encodeURIComponent(T);}R.id="_yuiResizeMonitor";R.style.position="absolute";R.style.visibility="hidden";var Q=document.body,S=Q.firstChild;if(S){Q.insertBefore(R,S);}else{Q.appendChild(R);}R.style.width="10em";R.style.height="10em";R.style.top=(-1*R.offsetHeight)+"px";R.style.left=(-1*R.offsetWidth)+"px";R.style.borderWidth="0";R.style.visibility="visible";if(YAHOO.env.ua.webkit){P=R.contentWindow.document;P.open();P.close();}}if(R&&R.contentWindow){G.textResizeEvent.subscribe(this.onDomResize,this,true);if(!G.textResizeInitialized){if(U){if(!M.on(R.contentWindow,"resize",V)){M.on(R,"resize",V);}}G.textResizeInitialized=true;}this.resizeMonitor=R;}}},_supportsCWResize:function(){var P=true;if(YAHOO.env.ua.gecko&&YAHOO.env.ua.gecko<=1.8){P=false;}return P;},onDomResize:function(S,R){var Q=-1*this.resizeMonitor.offsetWidth,P=-1*this.resizeMonitor.offsetHeight;this.resizeMonitor.style.top=P+"px";this.resizeMonitor.style.left=Q+"px";},setHeader:function(Q){var P=this.header||(this.header=J());if(Q.nodeName){P.innerHTML="";P.appendChild(Q);}else{P.innerHTML=Q;}this.changeHeaderEvent.fire(Q);this.changeContentEvent.fire();},appendToHeader:function(Q){var P=this.header||(this.header=J());P.appendChild(Q);this.changeHeaderEvent.fire(Q);this.changeContentEvent.fire();},setBody:function(Q){var P=this.body||(this.body=B());if(Q.nodeName){P.innerHTML="";P.appendChild(Q);}else{P.innerHTML=Q;}this.changeBodyEvent.fire(Q);this.changeContentEvent.fire();},appendToBody:function(Q){var P=this.body||(this.body=B());P.appendChild(Q);this.changeBodyEvent.fire(Q);this.changeContentEvent.fire();},setFooter:function(Q){var P=this.footer||(this.footer=C());if(Q.nodeName){P.innerHTML="";P.appendChild(Q);}else{P.innerHTML=Q;}this.changeFooterEvent.fire(Q);this.changeContentEvent.fire();},appendToFooter:function(Q){var P=this.footer||(this.footer=C());P.appendChild(Q);this.changeFooterEvent.fire(Q);this.changeContentEvent.fire();},render:function(R,P){var S=this,T;function Q(U){if(typeof U=="string"){U=document.getElementById(U);}if(U){S._addToParent(U,S.element);S.appendEvent.fire();}}this.beforeRenderEvent.fire();if(!P){P=this.element;}if(R){Q(R);}else{if(!F.inDocument(this.element)){return false;}}if(this.header&&!F.inDocument(this.header)){T=P.firstChild;if(T){P.insertBefore(this.header,T);}else{P.appendChild(this.header);}}if(this.body&&!F.inDocument(this.body)){if(this.footer&&F.isAncestor(this.moduleElement,this.footer)){P.insertBefore(this.body,this.footer);
+}else{P.appendChild(this.body);}}if(this.footer&&!F.inDocument(this.footer)){P.appendChild(this.footer);}this.renderEvent.fire();return true;},destroy:function(){var P,Q;if(this.element){M.purgeElement(this.element,true);P=this.element.parentNode;}if(P){P.removeChild(this.element);}this.element=null;this.header=null;this.body=null;this.footer=null;G.textResizeEvent.unsubscribe(this.onDomResize,this);this.cfg.destroy();this.cfg=null;this.destroyEvent.fire();for(Q in this){if(Q instanceof L){Q.unsubscribeAll();}}},show:function(){this.cfg.setProperty("visible",true);},hide:function(){this.cfg.setProperty("visible",false);},configVisible:function(Q,P,R){var S=P[0];if(S){this.beforeShowEvent.fire();F.setStyle(this.element,"display","block");this.showEvent.fire();}else{this.beforeHideEvent.fire();F.setStyle(this.element,"display","none");this.hideEvent.fire();}},configMonitorResize:function(R,Q,S){var P=Q[0];if(P){this.initResizeMonitor();}else{G.textResizeEvent.unsubscribe(this.onDomResize,this,true);this.resizeMonitor=null;}},_addToParent:function(P,Q){if(!this.cfg.getProperty("appendtodocumentbody")&&P===document.body&&P.firstChild){P.insertBefore(Q,P.firstChild);}else{P.appendChild(Q);}},toString:function(){return"Module "+this.id;}};YAHOO.lang.augmentProto(G,YAHOO.util.EventProvider);}());(function(){YAHOO.widget.Overlay=function(L,K){YAHOO.widget.Overlay.superclass.constructor.call(this,L,K);};var F=YAHOO.lang,I=YAHOO.util.CustomEvent,E=YAHOO.widget.Module,J=YAHOO.util.Event,D=YAHOO.util.Dom,C=YAHOO.util.Config,B=YAHOO.widget.Overlay,G,A={"BEFORE_MOVE":"beforeMove","MOVE":"move"},H={"X":{key:"x",validator:F.isNumber,suppressEvent:true,supercedes:["iframe"]},"Y":{key:"y",validator:F.isNumber,suppressEvent:true,supercedes:["iframe"]},"XY":{key:"xy",suppressEvent:true,supercedes:["iframe"]},"CONTEXT":{key:"context",suppressEvent:true,supercedes:["iframe"]},"FIXED_CENTER":{key:"fixedcenter",value:false,validator:F.isBoolean,supercedes:["iframe","visible"]},"WIDTH":{key:"width",suppressEvent:true,supercedes:["context","fixedcenter","iframe"]},"HEIGHT":{key:"height",suppressEvent:true,supercedes:["context","fixedcenter","iframe"]},"ZINDEX":{key:"zindex",value:null},"CONSTRAIN_TO_VIEWPORT":{key:"constraintoviewport",value:false,validator:F.isBoolean,supercedes:["iframe","x","y","xy"]},"IFRAME":{key:"iframe",value:(YAHOO.env.ua.ie==6?true:false),validator:F.isBoolean,supercedes:["zindex"]}};B.IFRAME_SRC="javascript:false;";B.IFRAME_OFFSET=3;B.VIEWPORT_OFFSET=10;B.TOP_LEFT="tl";B.TOP_RIGHT="tr";B.BOTTOM_LEFT="bl";B.BOTTOM_RIGHT="br";B.CSS_OVERLAY="yui-overlay";B.windowScrollEvent=new I("windowScroll");B.windowResizeEvent=new I("windowResize");B.windowScrollHandler=function(K){if(YAHOO.env.ua.ie){if(!window.scrollEnd){window.scrollEnd=-1;}clearTimeout(window.scrollEnd);window.scrollEnd=setTimeout(function(){B.windowScrollEvent.fire();},1);}else{B.windowScrollEvent.fire();}};B.windowResizeHandler=function(K){if(YAHOO.env.ua.ie){if(!window.resizeEnd){window.resizeEnd=-1;}clearTimeout(window.resizeEnd);window.resizeEnd=setTimeout(function(){B.windowResizeEvent.fire();},100);}else{B.windowResizeEvent.fire();}};B._initialized=null;if(B._initialized===null){J.on(window,"scroll",B.windowScrollHandler);J.on(window,"resize",B.windowResizeHandler);B._initialized=true;}YAHOO.extend(B,E,{init:function(L,K){B.superclass.init.call(this,L);this.beforeInitEvent.fire(B);D.addClass(this.element,B.CSS_OVERLAY);if(K){this.cfg.applyConfig(K,true);}if(this.platform=="mac"&&YAHOO.env.ua.gecko){if(!C.alreadySubscribed(this.showEvent,this.showMacGeckoScrollbars,this)){this.showEvent.subscribe(this.showMacGeckoScrollbars,this,true);}if(!C.alreadySubscribed(this.hideEvent,this.hideMacGeckoScrollbars,this)){this.hideEvent.subscribe(this.hideMacGeckoScrollbars,this,true);}}this.initEvent.fire(B);},initEvents:function(){B.superclass.initEvents.call(this);var K=I.LIST;this.beforeMoveEvent=this.createEvent(A.BEFORE_MOVE);this.beforeMoveEvent.signature=K;this.moveEvent=this.createEvent(A.MOVE);this.moveEvent.signature=K;},initDefaultConfig:function(){B.superclass.initDefaultConfig.call(this);this.cfg.addProperty(H.X.key,{handler:this.configX,validator:H.X.validator,suppressEvent:H.X.suppressEvent,supercedes:H.X.supercedes});this.cfg.addProperty(H.Y.key,{handler:this.configY,validator:H.Y.validator,suppressEvent:H.Y.suppressEvent,supercedes:H.Y.supercedes});this.cfg.addProperty(H.XY.key,{handler:this.configXY,suppressEvent:H.XY.suppressEvent,supercedes:H.XY.supercedes});this.cfg.addProperty(H.CONTEXT.key,{handler:this.configContext,suppressEvent:H.CONTEXT.suppressEvent,supercedes:H.CONTEXT.supercedes});this.cfg.addProperty(H.FIXED_CENTER.key,{handler:this.configFixedCenter,value:H.FIXED_CENTER.value,validator:H.FIXED_CENTER.validator,supercedes:H.FIXED_CENTER.supercedes});this.cfg.addProperty(H.WIDTH.key,{handler:this.configWidth,suppressEvent:H.WIDTH.suppressEvent,supercedes:H.WIDTH.supercedes});this.cfg.addProperty(H.HEIGHT.key,{handler:this.configHeight,suppressEvent:H.HEIGHT.suppressEvent,supercedes:H.HEIGHT.supercedes});this.cfg.addProperty(H.ZINDEX.key,{handler:this.configzIndex,value:H.ZINDEX.value});this.cfg.addProperty(H.CONSTRAIN_TO_VIEWPORT.key,{handler:this.configConstrainToViewport,value:H.CONSTRAIN_TO_VIEWPORT.value,validator:H.CONSTRAIN_TO_VIEWPORT.validator,supercedes:H.CONSTRAIN_TO_VIEWPORT.supercedes});this.cfg.addProperty(H.IFRAME.key,{handler:this.configIframe,value:H.IFRAME.value,validator:H.IFRAME.validator,supercedes:H.IFRAME.supercedes});},moveTo:function(K,L){this.cfg.setProperty("xy",[K,L]);},hideMacGeckoScrollbars:function(){D.removeClass(this.element,"show-scrollbars");D.addClass(this.element,"hide-scrollbars");},showMacGeckoScrollbars:function(){D.removeClass(this.element,"hide-scrollbars");D.addClass(this.element,"show-scrollbars");},configVisible:function(N,K,T){var M=K[0],O=D.getStyle(this.element,"visibility"),U=this.cfg.getProperty("effect"),R=[],Q=(this.platform=="mac"&&YAHOO.env.ua.gecko),b=C.alreadySubscribed,S,L,a,Y,X,W,Z,V,P;
+if(O=="inherit"){a=this.element.parentNode;while(a.nodeType!=9&&a.nodeType!=11){O=D.getStyle(a,"visibility");if(O!="inherit"){break;}a=a.parentNode;}if(O=="inherit"){O="visible";}}if(U){if(U instanceof Array){V=U.length;for(Y=0;Y<V;Y++){S=U[Y];R[R.length]=S.effect(this,S.duration);}}else{R[R.length]=U.effect(this,U.duration);}}if(M){if(Q){this.showMacGeckoScrollbars();}if(U){if(M){if(O!="visible"||O===""){this.beforeShowEvent.fire();P=R.length;for(X=0;X<P;X++){L=R[X];if(X===0&&!b(L.animateInCompleteEvent,this.showEvent.fire,this.showEvent)){L.animateInCompleteEvent.subscribe(this.showEvent.fire,this.showEvent,true);}L.animateIn();}}}}else{if(O!="visible"||O===""){this.beforeShowEvent.fire();D.setStyle(this.element,"visibility","visible");this.cfg.refireEvent("iframe");this.showEvent.fire();}}}else{if(Q){this.hideMacGeckoScrollbars();}if(U){if(O=="visible"){this.beforeHideEvent.fire();P=R.length;for(W=0;W<P;W++){Z=R[W];if(W===0&&!b(Z.animateOutCompleteEvent,this.hideEvent.fire,this.hideEvent)){Z.animateOutCompleteEvent.subscribe(this.hideEvent.fire,this.hideEvent,true);}Z.animateOut();}}else{if(O===""){D.setStyle(this.element,"visibility","hidden");}}}else{if(O=="visible"||O===""){this.beforeHideEvent.fire();D.setStyle(this.element,"visibility","hidden");this.hideEvent.fire();}}}},doCenterOnDOMEvent:function(){if(this.cfg.getProperty("visible")){this.center();}},configFixedCenter:function(O,M,P){var Q=M[0],L=C.alreadySubscribed,N=B.windowResizeEvent,K=B.windowScrollEvent;if(Q){this.center();if(!L(this.beforeShowEvent,this.center,this)){this.beforeShowEvent.subscribe(this.center);}if(!L(N,this.doCenterOnDOMEvent,this)){N.subscribe(this.doCenterOnDOMEvent,this,true);}if(!L(K,this.doCenterOnDOMEvent,this)){K.subscribe(this.doCenterOnDOMEvent,this,true);}}else{this.beforeShowEvent.unsubscribe(this.center);N.unsubscribe(this.doCenterOnDOMEvent,this);K.unsubscribe(this.doCenterOnDOMEvent,this);}},configHeight:function(N,L,O){var K=L[0],M=this.element;D.setStyle(M,"height",K);this.cfg.refireEvent("iframe");},configWidth:function(N,K,O){var M=K[0],L=this.element;D.setStyle(L,"width",M);this.cfg.refireEvent("iframe");},configzIndex:function(M,K,N){var O=K[0],L=this.element;if(!O){O=D.getStyle(L,"zIndex");if(!O||isNaN(O)){O=0;}}if(this.iframe||this.cfg.getProperty("iframe")===true){if(O<=0){O=1;}}D.setStyle(L,"zIndex",O);this.cfg.setProperty("zIndex",O,true);if(this.iframe){this.stackIframe();}},configXY:function(M,L,N){var P=L[0],K=P[0],O=P[1];this.cfg.setProperty("x",K);this.cfg.setProperty("y",O);this.beforeMoveEvent.fire([K,O]);K=this.cfg.getProperty("x");O=this.cfg.getProperty("y");this.cfg.refireEvent("iframe");this.moveEvent.fire([K,O]);},configX:function(M,L,N){var K=L[0],O=this.cfg.getProperty("y");this.cfg.setProperty("x",K,true);this.cfg.setProperty("y",O,true);this.beforeMoveEvent.fire([K,O]);K=this.cfg.getProperty("x");O=this.cfg.getProperty("y");D.setX(this.element,K,true);this.cfg.setProperty("xy",[K,O],true);this.cfg.refireEvent("iframe");this.moveEvent.fire([K,O]);},configY:function(M,L,N){var K=this.cfg.getProperty("x"),O=L[0];this.cfg.setProperty("x",K,true);this.cfg.setProperty("y",O,true);this.beforeMoveEvent.fire([K,O]);K=this.cfg.getProperty("x");O=this.cfg.getProperty("y");D.setY(this.element,O,true);this.cfg.setProperty("xy",[K,O],true);this.cfg.refireEvent("iframe");this.moveEvent.fire([K,O]);},showIframe:function(){var L=this.iframe,K;if(L){K=this.element.parentNode;if(K!=L.parentNode){this._addToParent(K,L);}L.style.display="block";}},hideIframe:function(){if(this.iframe){this.iframe.style.display="none";}},syncIframe:function(){var K=this.iframe,M=this.element,O=B.IFRAME_OFFSET,L=(O*2),N;if(K){K.style.width=(M.offsetWidth+L+"px");K.style.height=(M.offsetHeight+L+"px");N=this.cfg.getProperty("xy");if(!F.isArray(N)||(isNaN(N[0])||isNaN(N[1]))){this.syncPosition();N=this.cfg.getProperty("xy");}D.setXY(K,[(N[0]-O),(N[1]-O)]);}},stackIframe:function(){if(this.iframe){var K=D.getStyle(this.element,"zIndex");if(!YAHOO.lang.isUndefined(K)&&!isNaN(K)){D.setStyle(this.iframe,"zIndex",(K-1));}}},configIframe:function(N,M,O){var K=M[0];function P(){var R=this.iframe,S=this.element,T;if(!R){if(!G){G=document.createElement("iframe");if(this.isSecure){G.src=B.IFRAME_SRC;}if(YAHOO.env.ua.ie){G.style.filter="alpha(opacity=0)";G.frameBorder=0;}else{G.style.opacity="0";}G.style.position="absolute";G.style.border="none";G.style.margin="0";G.style.padding="0";G.style.display="none";}R=G.cloneNode(false);T=S.parentNode;var Q=T||document.body;this._addToParent(Q,R);this.iframe=R;}this.showIframe();this.syncIframe();this.stackIframe();if(!this._hasIframeEventListeners){this.showEvent.subscribe(this.showIframe);this.hideEvent.subscribe(this.hideIframe);this.changeContentEvent.subscribe(this.syncIframe);this._hasIframeEventListeners=true;}}function L(){P.call(this);this.beforeShowEvent.unsubscribe(L);this._iframeDeferred=false;}if(K){if(this.cfg.getProperty("visible")){P.call(this);}else{if(!this._iframeDeferred){this.beforeShowEvent.subscribe(L);this._iframeDeferred=true;}}}else{this.hideIframe();if(this._hasIframeEventListeners){this.showEvent.unsubscribe(this.showIframe);this.hideEvent.unsubscribe(this.hideIframe);this.changeContentEvent.unsubscribe(this.syncIframe);this._hasIframeEventListeners=false;}}},_primeXYFromDOM:function(){if(YAHOO.lang.isUndefined(this.cfg.getProperty("xy"))){this.syncPosition();this.cfg.refireEvent("xy");this.beforeShowEvent.unsubscribe(this._primeXYFromDOM);}},configConstrainToViewport:function(L,K,M){var N=K[0];if(N){if(!C.alreadySubscribed(this.beforeMoveEvent,this.enforceConstraints,this)){this.beforeMoveEvent.subscribe(this.enforceConstraints,this,true);}if(!C.alreadySubscribed(this.beforeShowEvent,this._primeXYFromDOM)){this.beforeShowEvent.subscribe(this._primeXYFromDOM);}}else{this.beforeShowEvent.unsubscribe(this._primeXYFromDOM);this.beforeMoveEvent.unsubscribe(this.enforceConstraints,this);}},configContext:function(M,L,O){var Q=L[0],N,P,K;if(Q){N=Q[0];P=Q[1];
+K=Q[2];if(N){if(typeof N=="string"){this.cfg.setProperty("context",[document.getElementById(N),P,K],true);}if(P&&K){this.align(P,K);}}}},align:function(L,K){var Q=this.cfg.getProperty("context"),P=this,O,N,R;function M(S,T){switch(L){case B.TOP_LEFT:P.moveTo(T,S);break;case B.TOP_RIGHT:P.moveTo((T-N.offsetWidth),S);break;case B.BOTTOM_LEFT:P.moveTo(T,(S-N.offsetHeight));break;case B.BOTTOM_RIGHT:P.moveTo((T-N.offsetWidth),(S-N.offsetHeight));break;}}if(Q){O=Q[0];N=this.element;P=this;if(!L){L=Q[1];}if(!K){K=Q[2];}if(N&&O){R=D.getRegion(O);switch(K){case B.TOP_LEFT:M(R.top,R.left);break;case B.TOP_RIGHT:M(R.top,R.right);break;case B.BOTTOM_LEFT:M(R.bottom,R.left);break;case B.BOTTOM_RIGHT:M(R.bottom,R.right);break;}}}},enforceConstraints:function(L,K,M){var O=K[0];var N=this.getConstrainedXY(O[0],O[1]);this.cfg.setProperty("x",N[0],true);this.cfg.setProperty("y",N[1],true);this.cfg.setProperty("xy",N,true);},getConstrainedXY:function(V,T){var N=B.VIEWPORT_OFFSET,U=D.getViewportWidth(),Q=D.getViewportHeight(),M=this.element.offsetHeight,S=this.element.offsetWidth,Y=D.getDocumentScrollLeft(),W=D.getDocumentScrollTop();var P=V;var L=T;if(S+N<U){var R=Y+N;var X=Y+U-S-N;if(V<R){P=R;}else{if(V>X){P=X;}}}else{P=N+Y;}if(M+N<Q){var O=W+N;var K=W+Q-M-N;if(T<O){L=O;}else{if(T>K){L=K;}}}else{L=N+W;}return[P,L];},center:function(){var N=B.VIEWPORT_OFFSET,O=this.element.offsetWidth,M=this.element.offsetHeight,L=D.getViewportWidth(),P=D.getViewportHeight(),K,Q;if(O<L){K=(L/2)-(O/2)+D.getDocumentScrollLeft();}else{K=N+D.getDocumentScrollLeft();}if(M<P){Q=(P/2)-(M/2)+D.getDocumentScrollTop();}else{Q=N+D.getDocumentScrollTop();}this.cfg.setProperty("xy",[parseInt(K,10),parseInt(Q,10)]);this.cfg.refireEvent("iframe");},syncPosition:function(){var K=D.getXY(this.element);this.cfg.setProperty("x",K[0],true);this.cfg.setProperty("y",K[1],true);this.cfg.setProperty("xy",K,true);},onDomResize:function(M,L){var K=this;B.superclass.onDomResize.call(this,M,L);setTimeout(function(){K.syncPosition();K.cfg.refireEvent("iframe");K.cfg.refireEvent("context");},0);},bringToTop:function(){var O=[],N=this.element;function R(V,U){var X=D.getStyle(V,"zIndex"),W=D.getStyle(U,"zIndex"),T=(!X||isNaN(X))?0:parseInt(X,10),S=(!W||isNaN(W))?0:parseInt(W,10);if(T>S){return -1;}else{if(T<S){return 1;}else{return 0;}}}function M(U){var S=D.hasClass(U,B.CSS_OVERLAY),T=YAHOO.widget.Panel;if(S&&!D.isAncestor(N,S)){if(T&&D.hasClass(U,T.CSS_PANEL)){O[O.length]=U.parentNode;}else{O[O.length]=U;}}}D.getElementsBy(M,"DIV",document.body);O.sort(R);var K=O[0],Q;if(K){Q=D.getStyle(K,"zIndex");if(!isNaN(Q)){var P=false;if(K!=N){P=true;}else{if(O.length>1){var L=D.getStyle(O[1],"zIndex");if(!isNaN(L)&&(Q==L)){P=true;}}}if(P){this.cfg.setProperty("zindex",(parseInt(Q,10)+2));}}}},destroy:function(){if(this.iframe){this.iframe.parentNode.removeChild(this.iframe);}this.iframe=null;B.windowResizeEvent.unsubscribe(this.doCenterOnDOMEvent,this);B.windowScrollEvent.unsubscribe(this.doCenterOnDOMEvent,this);B.superclass.destroy.call(this);},toString:function(){return"Overlay "+this.id;}});}());(function(){YAHOO.widget.OverlayManager=function(G){this.init(G);};var D=YAHOO.widget.Overlay,C=YAHOO.util.Event,E=YAHOO.util.Dom,B=YAHOO.util.Config,F=YAHOO.util.CustomEvent,A=YAHOO.widget.OverlayManager;A.CSS_FOCUSED="focused";A.prototype={constructor:A,overlays:null,initDefaultConfig:function(){this.cfg.addProperty("overlays",{suppressEvent:true});this.cfg.addProperty("focusevent",{value:"mousedown"});},init:function(I){this.cfg=new B(this);this.initDefaultConfig();if(I){this.cfg.applyConfig(I,true);}this.cfg.fireQueue();var H=null;this.getActive=function(){return H;};this.focus=function(J){var K=this.find(J);if(K){if(H!=K){if(H){H.blur();}this.bringToTop(K);H=K;E.addClass(H.element,A.CSS_FOCUSED);K.focusEvent.fire();}}};this.remove=function(K){var M=this.find(K),J;if(M){if(H==M){H=null;}var L=(M.element===null&&M.cfg===null)?true:false;if(!L){J=E.getStyle(M.element,"zIndex");M.cfg.setProperty("zIndex",-1000,true);}this.overlays.sort(this.compareZIndexDesc);this.overlays=this.overlays.slice(0,(this.overlays.length-1));M.hideEvent.unsubscribe(M.blur);M.destroyEvent.unsubscribe(this._onOverlayDestroy,M);if(!L){C.removeListener(M.element,this.cfg.getProperty("focusevent"),this._onOverlayElementFocus);M.cfg.setProperty("zIndex",J,true);M.cfg.setProperty("manager",null);}M.focusEvent.unsubscribeAll();M.blurEvent.unsubscribeAll();M.focusEvent=null;M.blurEvent=null;M.focus=null;M.blur=null;}};this.blurAll=function(){var K=this.overlays.length,J;if(K>0){J=K-1;do{this.overlays[J].blur();}while(J--);}};this._onOverlayBlur=function(K,J){H=null;};var G=this.cfg.getProperty("overlays");if(!this.overlays){this.overlays=[];}if(G){this.register(G);this.overlays.sort(this.compareZIndexDesc);}},_onOverlayElementFocus:function(I){var G=C.getTarget(I),H=this.close;if(H&&(G==H||E.isAncestor(H,G))){this.blur();}else{this.focus();}},_onOverlayDestroy:function(H,G,I){this.remove(I);},register:function(G){var K=this,L,I,H,J;if(G instanceof D){G.cfg.addProperty("manager",{value:this});G.focusEvent=G.createEvent("focus");G.focusEvent.signature=F.LIST;G.blurEvent=G.createEvent("blur");G.blurEvent.signature=F.LIST;G.focus=function(){K.focus(this);};G.blur=function(){if(K.getActive()==this){E.removeClass(this.element,A.CSS_FOCUSED);this.blurEvent.fire();}};G.blurEvent.subscribe(K._onOverlayBlur);G.hideEvent.subscribe(G.blur);G.destroyEvent.subscribe(this._onOverlayDestroy,G,this);C.on(G.element,this.cfg.getProperty("focusevent"),this._onOverlayElementFocus,null,G);L=E.getStyle(G.element,"zIndex");if(!isNaN(L)){G.cfg.setProperty("zIndex",parseInt(L,10));}else{G.cfg.setProperty("zIndex",0);}this.overlays.push(G);this.bringToTop(G);return true;}else{if(G instanceof Array){I=0;J=G.length;for(H=0;H<J;H++){if(this.register(G[H])){I++;}}if(I>0){return true;}}else{return false;}}},bringToTop:function(M){var I=this.find(M),L,G,J;if(I){J=this.overlays;J.sort(this.compareZIndexDesc);G=J[0];if(G){L=E.getStyle(G.element,"zIndex");
+if(!isNaN(L)){var K=false;if(G!==I){K=true;}else{if(J.length>1){var H=E.getStyle(J[1].element,"zIndex");if(!isNaN(H)&&(L==H)){K=true;}}}if(K){I.cfg.setProperty("zindex",(parseInt(L,10)+2));}}J.sort(this.compareZIndexDesc);}}},find:function(G){var I=this.overlays,J=I.length,H;if(J>0){H=J-1;if(G instanceof D){do{if(I[H]==G){return I[H];}}while(H--);}else{if(typeof G=="string"){do{if(I[H].id==G){return I[H];}}while(H--);}}return null;}},compareZIndexDesc:function(J,I){var H=(J.cfg)?J.cfg.getProperty("zIndex"):null,G=(I.cfg)?I.cfg.getProperty("zIndex"):null;if(H===null&&G===null){return 0;}else{if(H===null){return 1;}else{if(G===null){return -1;}else{if(H>G){return -1;}else{if(H<G){return 1;}else{return 0;}}}}}},showAll:function(){var H=this.overlays,I=H.length,G;if(I>0){G=I-1;do{H[G].show();}while(G--);}},hideAll:function(){var H=this.overlays,I=H.length,G;if(I>0){G=I-1;do{H[G].hide();}while(G--);}},toString:function(){return"OverlayManager";}};}());(function(){YAHOO.widget.Tooltip=function(N,M){YAHOO.widget.Tooltip.superclass.constructor.call(this,N,M);};var E=YAHOO.lang,L=YAHOO.util.Event,K=YAHOO.util.CustomEvent,C=YAHOO.util.Dom,G=YAHOO.widget.Tooltip,F,H={"PREVENT_OVERLAP":{key:"preventoverlap",value:true,validator:E.isBoolean,supercedes:["x","y","xy"]},"SHOW_DELAY":{key:"showdelay",value:200,validator:E.isNumber},"AUTO_DISMISS_DELAY":{key:"autodismissdelay",value:5000,validator:E.isNumber},"HIDE_DELAY":{key:"hidedelay",value:250,validator:E.isNumber},"TEXT":{key:"text",suppressEvent:true},"CONTAINER":{key:"container"},"DISABLED":{key:"disabled",value:false,suppressEvent:true}},A={"CONTEXT_MOUSE_OVER":"contextMouseOver","CONTEXT_MOUSE_OUT":"contextMouseOut","CONTEXT_TRIGGER":"contextTrigger"};G.CSS_TOOLTIP="yui-tt";function I(N,M,O){var R=O[0],P=O[1],Q=this.cfg,S=Q.getProperty("width");if(S==P){Q.setProperty("width",R);}this.unsubscribe("hide",this._onHide,O);}function D(N,M){var O=document.body,S=this.cfg,R=S.getProperty("width"),P,Q;if((!R||R=="auto")&&(S.getProperty("container")!=O||S.getProperty("x")>=C.getViewportWidth()||S.getProperty("y")>=C.getViewportHeight())){Q=this.element.cloneNode(true);Q.style.visibility="hidden";Q.style.top="0px";Q.style.left="0px";O.appendChild(Q);P=(Q.offsetWidth+"px");O.removeChild(Q);Q=null;S.setProperty("width",P);S.refireEvent("xy");this.subscribe("hide",I,[(R||""),P]);}}function B(N,M,O){this.render(O);}function J(){L.onDOMReady(B,this.cfg.getProperty("container"),this);}YAHOO.extend(G,YAHOO.widget.Overlay,{init:function(N,M){G.superclass.init.call(this,N);this.beforeInitEvent.fire(G);C.addClass(this.element,G.CSS_TOOLTIP);if(M){this.cfg.applyConfig(M,true);}this.cfg.queueProperty("visible",false);this.cfg.queueProperty("constraintoviewport",true);this.setBody("");this.subscribe("beforeShow",D);this.subscribe("init",J);this.subscribe("render",this.onRender);this.initEvent.fire(G);},initEvents:function(){G.superclass.initEvents.call(this);var M=K.LIST;this.contextMouseOverEvent=this.createEvent(A.CONTEXT_MOUSE_OVER);this.contextMouseOverEvent.signature=M;this.contextMouseOutEvent=this.createEvent(A.CONTEXT_MOUSE_OUT);this.contextMouseOutEvent.signature=M;this.contextTriggerEvent=this.createEvent(A.CONTEXT_TRIGGER);this.contextTriggerEvent.signature=M;},initDefaultConfig:function(){G.superclass.initDefaultConfig.call(this);this.cfg.addProperty(H.PREVENT_OVERLAP.key,{value:H.PREVENT_OVERLAP.value,validator:H.PREVENT_OVERLAP.validator,supercedes:H.PREVENT_OVERLAP.supercedes});this.cfg.addProperty(H.SHOW_DELAY.key,{handler:this.configShowDelay,value:200,validator:H.SHOW_DELAY.validator});this.cfg.addProperty(H.AUTO_DISMISS_DELAY.key,{handler:this.configAutoDismissDelay,value:H.AUTO_DISMISS_DELAY.value,validator:H.AUTO_DISMISS_DELAY.validator});this.cfg.addProperty(H.HIDE_DELAY.key,{handler:this.configHideDelay,value:H.HIDE_DELAY.value,validator:H.HIDE_DELAY.validator});this.cfg.addProperty(H.TEXT.key,{handler:this.configText,suppressEvent:H.TEXT.suppressEvent});this.cfg.addProperty(H.CONTAINER.key,{handler:this.configContainer,value:document.body});this.cfg.addProperty(H.DISABLED.key,{handler:this.configContainer,value:H.DISABLED.value,supressEvent:H.DISABLED.suppressEvent});},configText:function(N,M,O){var P=M[0];if(P){this.setBody(P);}},configContainer:function(O,N,P){var M=N[0];if(typeof M=="string"){this.cfg.setProperty("container",document.getElementById(M),true);}},_removeEventListeners:function(){var P=this._context,M,O,N;if(P){M=P.length;if(M>0){N=M-1;do{O=P[N];L.removeListener(O,"mouseover",this.onContextMouseOver);L.removeListener(O,"mousemove",this.onContextMouseMove);L.removeListener(O,"mouseout",this.onContextMouseOut);}while(N--);}}},configContext:function(R,N,S){var Q=N[0],T,M,P,O;if(Q){if(!(Q instanceof Array)){if(typeof Q=="string"){this.cfg.setProperty("context",[document.getElementById(Q)],true);}else{this.cfg.setProperty("context",[Q],true);}Q=this.cfg.getProperty("context");}this._removeEventListeners();this._context=Q;T=this._context;if(T){M=T.length;if(M>0){O=M-1;do{P=T[O];L.on(P,"mouseover",this.onContextMouseOver,this);L.on(P,"mousemove",this.onContextMouseMove,this);L.on(P,"mouseout",this.onContextMouseOut,this);}while(O--);}}}},onContextMouseMove:function(N,M){M.pageX=L.getPageX(N);M.pageY=L.getPageY(N);},onContextMouseOver:function(O,N){var M=this;if(M.title){N._tempTitle=M.title;M.title="";}if(N.fireEvent("contextMouseOver",M,O)!==false&&!N.cfg.getProperty("disabled")){if(N.hideProcId){clearTimeout(N.hideProcId);N.hideProcId=null;}L.on(M,"mousemove",N.onContextMouseMove,N);N.showProcId=N.doShow(O,M);}},onContextMouseOut:function(O,N){var M=this;if(N._tempTitle){M.title=N._tempTitle;N._tempTitle=null;}if(N.showProcId){clearTimeout(N.showProcId);N.showProcId=null;}if(N.hideProcId){clearTimeout(N.hideProcId);N.hideProcId=null;}N.fireEvent("contextMouseOut",M,O);N.hideProcId=setTimeout(function(){N.hide();},N.cfg.getProperty("hidedelay"));},doShow:function(O,M){var P=25,N=this;if(YAHOO.env.ua.opera&&M.tagName&&M.tagName.toUpperCase()=="A"){P+=12;
+}return setTimeout(function(){var Q=N.cfg.getProperty("text");if(N._tempTitle&&(Q===""||YAHOO.lang.isUndefined(Q)||YAHOO.lang.isNull(Q))){N.setBody(N._tempTitle);}else{N.cfg.refireEvent("text");}N.moveTo(N.pageX,N.pageY+P);if(N.cfg.getProperty("preventoverlap")){N.preventOverlap(N.pageX,N.pageY);}L.removeListener(M,"mousemove",N.onContextMouseMove);N.contextTriggerEvent.fire(M);N.show();N.hideProcId=N.doHide();},this.cfg.getProperty("showdelay"));},doHide:function(){var M=this;return setTimeout(function(){M.hide();},this.cfg.getProperty("autodismissdelay"));},preventOverlap:function(Q,P){var M=this.element.offsetHeight,O=new YAHOO.util.Point(Q,P),N=C.getRegion(this.element);N.top-=5;N.left-=5;N.right+=5;N.bottom+=5;if(N.contains(O)){this.cfg.setProperty("y",(P-M-5));}},onRender:function(Q,P){function R(){var U=this.element,T=this._shadow;if(T){T.style.width=(U.offsetWidth+6)+"px";T.style.height=(U.offsetHeight+1)+"px";}}function N(){C.addClass(this._shadow,"yui-tt-shadow-visible");}function M(){C.removeClass(this._shadow,"yui-tt-shadow-visible");}function S(){var V=this._shadow,U,T,X,W;if(!V){U=this.element;T=YAHOO.widget.Module;X=YAHOO.env.ua.ie;W=this;if(!F){F=document.createElement("div");F.className="yui-tt-shadow";}V=F.cloneNode(false);U.appendChild(V);this._shadow=V;N.call(this);this.subscribe("beforeShow",N);this.subscribe("beforeHide",M);if(X==6||(X==7&&document.compatMode=="BackCompat")){window.setTimeout(function(){R.call(W);},0);this.cfg.subscribeToConfigEvent("width",R);this.cfg.subscribeToConfigEvent("height",R);this.subscribe("changeContent",R);T.textResizeEvent.subscribe(R,this,true);this.subscribe("destroy",function(){T.textResizeEvent.unsubscribe(R,this);});}}}function O(){S.call(this);this.unsubscribe("beforeShow",O);}if(this.cfg.getProperty("visible")){S.call(this);}else{this.subscribe("beforeShow",O);}},destroy:function(){this._removeEventListeners();G.superclass.destroy.call(this);},toString:function(){return"Tooltip "+this.id;}});}());(function(){YAHOO.widget.Panel=function(R,Q){YAHOO.widget.Panel.superclass.constructor.call(this,R,Q);};var I=YAHOO.lang,E=YAHOO.util.DD,F=YAHOO.util.Dom,P=YAHOO.util.Event,B=YAHOO.widget.Overlay,O=YAHOO.util.CustomEvent,C=YAHOO.util.Config,N=YAHOO.widget.Panel,H,L,D,A={"SHOW_MASK":"showMask","HIDE_MASK":"hideMask","DRAG":"drag"},J={"CLOSE":{key:"close",value:true,validator:I.isBoolean,supercedes:["visible"]},"DRAGGABLE":{key:"draggable",value:(E?true:false),validator:I.isBoolean,supercedes:["visible"]},"DRAG_ONLY":{key:"dragonly",value:false,validator:I.isBoolean,supercedes:["draggable"]},"UNDERLAY":{key:"underlay",value:"shadow",supercedes:["visible"]},"MODAL":{key:"modal",value:false,validator:I.isBoolean,supercedes:["visible","zindex"]},"KEY_LISTENERS":{key:"keylisteners",suppressEvent:true,supercedes:["visible"]}};N.CSS_PANEL="yui-panel";N.CSS_PANEL_CONTAINER="yui-panel-container";N.FOCUSABLE=["a","button","select","textarea","input"];function M(R,Q){if(!this.header&&this.cfg.getProperty("draggable")){this.setHeader("&#160;");}}function K(R,Q,S){var V=S[0],T=S[1],U=this.cfg,W=U.getProperty("width");if(W==T){U.setProperty("width",V);}this.unsubscribe("hide",K,S);}function G(R,Q){var V=YAHOO.env.ua.ie,U,T,S;if(V==6||(V==7&&document.compatMode=="BackCompat")){U=this.cfg;T=U.getProperty("width");if(!T||T=="auto"){S=(this.element.offsetWidth+"px");U.setProperty("width",S);this.subscribe("hide",K,[(T||""),S]);}}}YAHOO.extend(N,B,{init:function(R,Q){N.superclass.init.call(this,R);this.beforeInitEvent.fire(N);F.addClass(this.element,N.CSS_PANEL);this.buildWrapper();if(Q){this.cfg.applyConfig(Q,true);}this.subscribe("showMask",this._addFocusHandlers);this.subscribe("hideMask",this._removeFocusHandlers);this.subscribe("beforeRender",M);this.initEvent.fire(N);},_onElementFocus:function(Q){this.blur();},_addFocusHandlers:function(Y,S){var V=this,Z="focus",U="hidden";function X(a){if(a.type!==U&&!F.isAncestor(V.element,a)){P.on(a,Z,V._onElementFocus);return true;}return false;}var W=N.FOCUSABLE,Q=W.length,T=[];for(var R=0;R<Q;R++){T=T.concat(F.getElementsBy(X,W[R]));}this.focusableElements=T;},_removeFocusHandlers:function(T,S){var V=this.focusableElements,Q=V.length,R="focus";if(V){for(var U=0;U<Q;U++){P.removeListener(V[U],R,this._onElementFocus);}}},initEvents:function(){N.superclass.initEvents.call(this);var Q=O.LIST;this.showMaskEvent=this.createEvent(A.SHOW_MASK);this.showMaskEvent.signature=Q;this.hideMaskEvent=this.createEvent(A.HIDE_MASK);this.hideMaskEvent.signature=Q;this.dragEvent=this.createEvent(A.DRAG);this.dragEvent.signature=Q;},initDefaultConfig:function(){N.superclass.initDefaultConfig.call(this);this.cfg.addProperty(J.CLOSE.key,{handler:this.configClose,value:J.CLOSE.value,validator:J.CLOSE.validator,supercedes:J.CLOSE.supercedes});this.cfg.addProperty(J.DRAGGABLE.key,{handler:this.configDraggable,value:J.DRAGGABLE.value,validator:J.DRAGGABLE.validator,supercedes:J.DRAGGABLE.supercedes});this.cfg.addProperty(J.DRAG_ONLY.key,{value:J.DRAG_ONLY.value,validator:J.DRAG_ONLY.validator,supercedes:J.DRAG_ONLY.supercedes});this.cfg.addProperty(J.UNDERLAY.key,{handler:this.configUnderlay,value:J.UNDERLAY.value,supercedes:J.UNDERLAY.supercedes});this.cfg.addProperty(J.MODAL.key,{handler:this.configModal,value:J.MODAL.value,validator:J.MODAL.validator,supercedes:J.MODAL.supercedes});this.cfg.addProperty(J.KEY_LISTENERS.key,{handler:this.configKeyListeners,suppressEvent:J.KEY_LISTENERS.suppressEvent,supercedes:J.KEY_LISTENERS.supercedes});},configClose:function(S,Q,U){var V=Q[0],R=this.close;function T(X,W){W.hide();}if(V){if(!R){if(!D){D=document.createElement("span");D.innerHTML="&#160;";D.className="container-close";}R=D.cloneNode(true);this.innerElement.appendChild(R);P.on(R,"click",T,this);this.close=R;}else{R.style.display="block";}}else{if(R){R.style.display="none";}}},configDraggable:function(R,Q,S){var T=Q[0];if(T){if(!E){this.cfg.setProperty("draggable",false);return ;}if(this.header){F.setStyle(this.header,"cursor","move");this.registerDragDrop();
+}this.subscribe("beforeShow",G);}else{if(this.dd){this.dd.unreg();}if(this.header){F.setStyle(this.header,"cursor","auto");}this.unsubscribe("beforeShow",G);}},configUnderlay:function(b,a,V){var Z=YAHOO.env.ua,X=(this.platform=="mac"&&Z.gecko),Y=(Z.ie==6||(Z.ie==7&&document.compatMode=="BackCompat")),c=a[0].toLowerCase(),R=this.underlay,S=this.element;function d(){var e=this.underlay;F.addClass(e,"yui-force-redraw");window.setTimeout(function(){F.removeClass(e,"yui-force-redraw");},0);}function T(){var e=false;if(!R){if(!L){L=document.createElement("div");L.className="underlay";}R=L.cloneNode(false);this.element.appendChild(R);this.underlay=R;if(Y){this.sizeUnderlay();this.cfg.subscribeToConfigEvent("width",this.sizeUnderlay);this.cfg.subscribeToConfigEvent("height",this.sizeUnderlay);this.changeContentEvent.subscribe(this.sizeUnderlay);YAHOO.widget.Module.textResizeEvent.subscribe(this.sizeUnderlay,this,true);}if(Z.webkit&&Z.webkit<420){this.changeContentEvent.subscribe(d);}e=true;}}function W(){var e=T.call(this);if(!e&&Y){this.sizeUnderlay();}this._underlayDeferred=false;this.beforeShowEvent.unsubscribe(W);}function U(){if(this._underlayDeferred){this.beforeShowEvent.unsubscribe(W);this._underlayDeferred=false;}if(R){this.cfg.unsubscribeFromConfigEvent("width",this.sizeUnderlay);this.cfg.unsubscribeFromConfigEvent("height",this.sizeUnderlay);this.changeContentEvent.unsubscribe(this.sizeUnderlay);this.changeContentEvent.unsubscribe(d);YAHOO.widget.Module.textResizeEvent.unsubscribe(this.sizeUnderlay,this,true);this.element.removeChild(R);this.underlay=null;}}switch(c){case"shadow":F.removeClass(S,"matte");F.addClass(S,"shadow");break;case"matte":if(!X){U.call(this);}F.removeClass(S,"shadow");F.addClass(S,"matte");break;default:if(!X){U.call(this);}F.removeClass(S,"shadow");F.removeClass(S,"matte");break;}if((c=="shadow")||(X&&!R)){if(this.cfg.getProperty("visible")){var Q=T.call(this);if(!Q&&Y){this.sizeUnderlay();}}else{if(!this._underlayDeferred){this.beforeShowEvent.subscribe(W);this._underlayDeferred=true;}}}},configModal:function(R,Q,T){var S=Q[0];if(S){if(!this._hasModalityEventListeners){this.subscribe("beforeShow",this.buildMask);this.subscribe("beforeShow",this.bringToTop);this.subscribe("beforeShow",this.showMask);this.subscribe("hide",this.hideMask);B.windowResizeEvent.subscribe(this.sizeMask,this,true);this._hasModalityEventListeners=true;}}else{if(this._hasModalityEventListeners){if(this.cfg.getProperty("visible")){this.hideMask();this.removeMask();}this.unsubscribe("beforeShow",this.buildMask);this.unsubscribe("beforeShow",this.bringToTop);this.unsubscribe("beforeShow",this.showMask);this.unsubscribe("hide",this.hideMask);B.windowResizeEvent.unsubscribe(this.sizeMask,this);this._hasModalityEventListeners=false;}}},removeMask:function(){var R=this.mask,Q;if(R){this.hideMask();Q=R.parentNode;if(Q){Q.removeChild(R);}this.mask=null;}},configKeyListeners:function(T,Q,W){var S=Q[0],V,U,R;if(S){if(S instanceof Array){U=S.length;for(R=0;R<U;R++){V=S[R];if(!C.alreadySubscribed(this.showEvent,V.enable,V)){this.showEvent.subscribe(V.enable,V,true);}if(!C.alreadySubscribed(this.hideEvent,V.disable,V)){this.hideEvent.subscribe(V.disable,V,true);this.destroyEvent.subscribe(V.disable,V,true);}}}else{if(!C.alreadySubscribed(this.showEvent,S.enable,S)){this.showEvent.subscribe(S.enable,S,true);}if(!C.alreadySubscribed(this.hideEvent,S.disable,S)){this.hideEvent.subscribe(S.disable,S,true);this.destroyEvent.subscribe(S.disable,S,true);}}}},configHeight:function(T,R,U){var Q=R[0],S=this.innerElement;F.setStyle(S,"height",Q);this.cfg.refireEvent("iframe");},configWidth:function(T,Q,U){var S=Q[0],R=this.innerElement;F.setStyle(R,"width",S);this.cfg.refireEvent("iframe");},configzIndex:function(R,Q,T){N.superclass.configzIndex.call(this,R,Q,T);if(this.mask||this.cfg.getProperty("modal")===true){var S=F.getStyle(this.element,"zIndex");if(!S||isNaN(S)){S=0;}if(S===0){this.cfg.setProperty("zIndex",1);}else{this.stackMask();}}},buildWrapper:function(){var S=this.element.parentNode,Q=this.element,R=document.createElement("div");R.className=N.CSS_PANEL_CONTAINER;R.id=Q.id+"_c";if(S){S.insertBefore(R,Q);}R.appendChild(Q);this.element=R;this.innerElement=Q;F.setStyle(this.innerElement,"visibility","inherit");},sizeUnderlay:function(){var R=this.underlay,Q;if(R){Q=this.element;R.style.width=Q.offsetWidth+"px";R.style.height=Q.offsetHeight+"px";}},registerDragDrop:function(){var R=this;if(this.header){if(!E){return ;}var Q=(this.cfg.getProperty("dragonly")===true);this.dd=new E(this.element.id,this.id,{dragOnly:Q});if(!this.header.id){this.header.id=this.id+"_h";}this.dd.startDrag=function(){var T,V,S,Y,X,W;if(YAHOO.env.ua.ie==6){F.addClass(R.element,"drag");}if(R.cfg.getProperty("constraintoviewport")){var U=B.VIEWPORT_OFFSET;T=R.element.offsetHeight;V=R.element.offsetWidth;S=F.getViewportWidth();Y=F.getViewportHeight();X=F.getDocumentScrollLeft();W=F.getDocumentScrollTop();if(T+U<Y){this.minY=W+U;this.maxY=W+Y-T-U;}else{this.minY=W+U;this.maxY=W+U;}if(V+U<S){this.minX=X+U;this.maxX=X+S-V-U;}else{this.minX=X+U;this.maxX=X+U;}this.constrainX=true;this.constrainY=true;}else{this.constrainX=false;this.constrainY=false;}R.dragEvent.fire("startDrag",arguments);};this.dd.onDrag=function(){R.syncPosition();R.cfg.refireEvent("iframe");if(this.platform=="mac"&&YAHOO.env.ua.gecko){this.showMacGeckoScrollbars();}R.dragEvent.fire("onDrag",arguments);};this.dd.endDrag=function(){if(YAHOO.env.ua.ie==6){F.removeClass(R.element,"drag");}R.dragEvent.fire("endDrag",arguments);R.moveEvent.fire(R.cfg.getProperty("xy"));};this.dd.setHandleElId(this.header.id);this.dd.addInvalidHandleType("INPUT");this.dd.addInvalidHandleType("SELECT");this.dd.addInvalidHandleType("TEXTAREA");}},buildMask:function(){var Q=this.mask;if(!Q){if(!H){H=document.createElement("div");H.className="mask";H.innerHTML="&#160;";}Q=H.cloneNode(true);Q.id=this.id+"_mask";document.body.insertBefore(Q,document.body.firstChild);this.mask=Q;if(YAHOO.env.ua.gecko&&this.platform=="mac"){F.addClass(this.mask,"block-scrollbars");
+}this.stackMask();}},hideMask:function(){if(this.cfg.getProperty("modal")&&this.mask){this.mask.style.display="none";this.hideMaskEvent.fire();F.removeClass(document.body,"masked");}},showMask:function(){if(this.cfg.getProperty("modal")&&this.mask){F.addClass(document.body,"masked");this.sizeMask();this.mask.style.display="block";this.showMaskEvent.fire();}},sizeMask:function(){if(this.mask){this.mask.style.height=F.getDocumentHeight()+"px";this.mask.style.width=F.getDocumentWidth()+"px";}},stackMask:function(){if(this.mask){var Q=F.getStyle(this.element,"zIndex");if(!YAHOO.lang.isUndefined(Q)&&!isNaN(Q)){F.setStyle(this.mask,"zIndex",Q-1);}}},render:function(Q){return N.superclass.render.call(this,Q,this.innerElement);},destroy:function(){B.windowResizeEvent.unsubscribe(this.sizeMask,this);this.removeMask();if(this.close){P.purgeElement(this.close);}N.superclass.destroy.call(this);},toString:function(){return"Panel "+this.id;}});}());(function(){YAHOO.widget.Dialog=function(L,K){YAHOO.widget.Dialog.superclass.constructor.call(this,L,K);};var J=YAHOO.util.Event,I=YAHOO.util.CustomEvent,D=YAHOO.util.Dom,B=YAHOO.util.KeyListener,H=YAHOO.util.Connect,F=YAHOO.widget.Dialog,E=YAHOO.lang,A={"BEFORE_SUBMIT":"beforeSubmit","SUBMIT":"submit","MANUAL_SUBMIT":"manualSubmit","ASYNC_SUBMIT":"asyncSubmit","FORM_SUBMIT":"formSubmit","CANCEL":"cancel"},G={"POST_METHOD":{key:"postmethod",value:"async"},"BUTTONS":{key:"buttons",value:"none"},"HIDEAFTERSUBMIT":{key:"hideaftersubmit",value:true}};F.CSS_DIALOG="yui-dialog";function C(){var N=this._aButtons,L,M,K;if(E.isArray(N)){L=N.length;if(L>0){K=L-1;do{M=N[K];if(YAHOO.widget.Button&&M instanceof YAHOO.widget.Button){M.destroy();}else{if(M.tagName.toUpperCase()=="BUTTON"){J.purgeElement(M);J.purgeElement(M,false);}}}while(K--);}}}YAHOO.extend(F,YAHOO.widget.Panel,{form:null,initDefaultConfig:function(){F.superclass.initDefaultConfig.call(this);this.callback={success:null,failure:null,argument:null};this.cfg.addProperty(G.POST_METHOD.key,{handler:this.configPostMethod,value:G.POST_METHOD.value,validator:function(K){if(K!="form"&&K!="async"&&K!="none"&&K!="manual"){return false;}else{return true;}}});this.cfg.addProperty(G.HIDEAFTERSUBMIT.key,{value:G.HIDEAFTERSUBMIT.value});this.cfg.addProperty(G.BUTTONS.key,{handler:this.configButtons,value:G.BUTTONS.value});},initEvents:function(){F.superclass.initEvents.call(this);var K=I.LIST;this.beforeSubmitEvent=this.createEvent(A.BEFORE_SUBMIT);this.beforeSubmitEvent.signature=K;this.submitEvent=this.createEvent(A.SUBMIT);this.submitEvent.signature=K;this.manualSubmitEvent=this.createEvent(A.MANUAL_SUBMIT);this.manualSubmitEvent.signature=K;this.asyncSubmitEvent=this.createEvent(A.ASYNC_SUBMIT);this.asyncSubmitEvent.signature=K;this.formSubmitEvent=this.createEvent(A.FORM_SUBMIT);this.formSubmitEvent.signature=K;this.cancelEvent=this.createEvent(A.CANCEL);this.cancelEvent.signature=K;},init:function(L,K){F.superclass.init.call(this,L);this.beforeInitEvent.fire(F);D.addClass(this.element,F.CSS_DIALOG);this.cfg.setProperty("visible",false);if(K){this.cfg.applyConfig(K,true);}this.showEvent.subscribe(this.focusFirst,this,true);this.beforeHideEvent.subscribe(this.blurButtons,this,true);this.subscribe("changeBody",this.registerForm);this.initEvent.fire(F);},doSubmit:function(){var Q=this.form,O=false,N=false,P,K,M,L;switch(this.cfg.getProperty("postmethod")){case"async":P=Q.elements;K=P.length;if(K>0){M=K-1;do{if(P[M].type=="file"){O=true;break;}}while(M--);}if(O&&YAHOO.env.ua.ie&&this.isSecure){N=true;}L=(Q.getAttribute("method")||"POST").toUpperCase();H.setForm(Q,O,N);H.asyncRequest(L,Q.getAttribute("action"),this.callback);this.asyncSubmitEvent.fire();break;case"form":Q.submit();this.formSubmitEvent.fire();break;case"none":case"manual":this.manualSubmitEvent.fire();break;}},registerForm:function(){var M=this.element.getElementsByTagName("form")[0],L=this,K,N;if(this.form){if(this.form==M&&D.isAncestor(this.element,this.form)){return ;}else{J.purgeElement(this.form);this.form=null;}}if(!M){M=document.createElement("form");M.name="frm_"+this.id;this.body.appendChild(M);}if(M){this.form=M;J.on(M,"submit",function(O){J.stopEvent(O);this.submit();this.form.blur();},this,true);this.firstFormElement=function(){var Q,P,O=M.elements.length;for(Q=0;Q<O;Q++){P=M.elements[Q];if(P.focus&&!P.disabled&&P.type!="hidden"){return P;}}return null;}();this.lastFormElement=function(){var Q,P,O=M.elements.length;for(Q=O-1;Q>=0;Q--){P=M.elements[Q];if(P.focus&&!P.disabled&&P.type!="hidden"){return P;}}return null;}();if(this.cfg.getProperty("modal")){K=this.firstFormElement||this.firstButton;if(K){this.preventBackTab=new B(K,{shift:true,keys:9},{fn:L.focusLast,scope:L,correctScope:true});this.showEvent.subscribe(this.preventBackTab.enable,this.preventBackTab,true);this.hideEvent.subscribe(this.preventBackTab.disable,this.preventBackTab,true);}N=this.lastButton||this.lastFormElement;if(N){this.preventTabOut=new B(N,{shift:false,keys:9},{fn:L.focusFirst,scope:L,correctScope:true});this.showEvent.subscribe(this.preventTabOut.enable,this.preventTabOut,true);this.hideEvent.subscribe(this.preventTabOut.disable,this.preventTabOut,true);}}}},configClose:function(M,K,N){var O=K[0];function L(Q,P){P.cancel();}if(O){if(!this.close){this.close=document.createElement("div");D.addClass(this.close,"container-close");this.close.innerHTML="&#160;";this.innerElement.appendChild(this.close);J.on(this.close,"click",L,this);}else{this.close.style.display="block";}}else{if(this.close){this.close.style.display="none";}}},configButtons:function(U,T,O){var P=YAHOO.widget.Button,W=T[0],M=this.innerElement,V,R,L,S,Q,K,N;C.call(this);this._aButtons=null;if(E.isArray(W)){Q=document.createElement("span");Q.className="button-group";S=W.length;this._aButtons=[];for(N=0;N<S;N++){V=W[N];if(P){L=new P({label:V.text,container:Q});R=L.get("element");if(V.isDefault){L.addClass("default");this.defaultHtmlButton=R;}if(E.isFunction(V.handler)){L.set("onclick",{fn:V.handler,obj:this,scope:this});
+}else{if(E.isObject(V.handler)&&E.isFunction(V.handler.fn)){L.set("onclick",{fn:V.handler.fn,obj:((!E.isUndefined(V.handler.obj))?V.handler.obj:this),scope:(V.handler.scope||this)});}}this._aButtons[this._aButtons.length]=L;}else{R=document.createElement("button");R.setAttribute("type","button");if(V.isDefault){R.className="default";this.defaultHtmlButton=R;}R.innerHTML=V.text;if(E.isFunction(V.handler)){J.on(R,"click",V.handler,this,true);}else{if(E.isObject(V.handler)&&E.isFunction(V.handler.fn)){J.on(R,"click",V.handler.fn,((!E.isUndefined(V.handler.obj))?V.handler.obj:this),(V.handler.scope||this));}}Q.appendChild(R);this._aButtons[this._aButtons.length]=R;}V.htmlButton=R;if(N===0){this.firstButton=R;}if(N==(S-1)){this.lastButton=R;}}this.setFooter(Q);K=this.footer;if(D.inDocument(this.element)&&!D.isAncestor(M,K)){M.appendChild(K);}this.buttonSpan=Q;}else{Q=this.buttonSpan;K=this.footer;if(Q&&K){K.removeChild(Q);this.buttonSpan=null;this.firstButton=null;this.lastButton=null;this.defaultHtmlButton=null;}}this.cfg.refireEvent("iframe");this.cfg.refireEvent("underlay");},getButtons:function(){var K=this._aButtons;if(K){return K;}},focusFirst:function(N,L,P){var M=this.firstFormElement,K;if(L){K=L[1];if(K){J.stopEvent(K);}}if(M){try{M.focus();}catch(O){}}else{this.focusDefaultButton();}},focusLast:function(N,L,P){var Q=this.cfg.getProperty("buttons"),M=this.lastFormElement,K;if(L){K=L[1];if(K){J.stopEvent(K);}}if(Q&&E.isArray(Q)){this.focusLastButton();}else{if(M){try{M.focus();}catch(O){}}}},focusDefaultButton:function(){var K=this.defaultHtmlButton;if(K){try{K.focus();}catch(L){}}},blurButtons:function(){var P=this.cfg.getProperty("buttons"),M,O,L,K;if(P&&E.isArray(P)){M=P.length;if(M>0){K=(M-1);do{O=P[K];if(O){L=O.htmlButton;if(L){try{L.blur();}catch(N){}}}}while(K--);}}},focusFirstButton:function(){var N=this.cfg.getProperty("buttons"),M,K;if(N&&E.isArray(N)){M=N[0];if(M){K=M.htmlButton;if(K){try{K.focus();}catch(L){}}}}},focusLastButton:function(){var O=this.cfg.getProperty("buttons"),L,N,K;if(O&&E.isArray(O)){L=O.length;if(L>0){N=O[(L-1)];if(N){K=N.htmlButton;if(K){try{K.focus();}catch(M){}}}}}},configPostMethod:function(L,K,M){this.registerForm();},validate:function(){return true;},submit:function(){if(this.validate()){this.beforeSubmitEvent.fire();this.doSubmit();this.submitEvent.fire();if(this.cfg.getProperty("hideaftersubmit")){this.hide();}return true;}else{return false;}},cancel:function(){this.cancelEvent.fire();this.hide();},getData:function(){var a=this.form,M,T,W,O,U,R,Q,L,X,N,Y,b,K,P,c,Z,V;function S(e){var d=e.tagName.toUpperCase();return((d=="INPUT"||d=="TEXTAREA"||d=="SELECT")&&e.name==O);}if(a){M=a.elements;T=M.length;W={};for(Z=0;Z<T;Z++){O=M[Z].name;U=D.getElementsBy(S,"*",a);R=U.length;if(R>0){if(R==1){U=U[0];Q=U.type;L=U.tagName.toUpperCase();switch(L){case"INPUT":if(Q=="checkbox"){W[O]=U.checked;}else{if(Q!="radio"){W[O]=U.value;}}break;case"TEXTAREA":W[O]=U.value;break;case"SELECT":X=U.options;N=X.length;Y=[];for(V=0;V<N;V++){b=X[V];if(b.selected){K=b.value;if(!K||K===""){K=b.text;}Y[Y.length]=K;}}W[O]=Y;break;}}else{Q=U[0].type;switch(Q){case"radio":for(V=0;V<R;V++){P=U[V];if(P.checked){W[O]=P.value;break;}}break;case"checkbox":Y=[];for(V=0;V<R;V++){c=U[V];if(c.checked){Y[Y.length]=c.value;}}W[O]=Y;break;}}}}}return W;},destroy:function(){C.call(this);this._aButtons=null;var K=this.element.getElementsByTagName("form"),L;if(K.length>0){L=K[0];if(L){J.purgeElement(L);if(L.parentNode){L.parentNode.removeChild(L);}this.form=null;}}F.superclass.destroy.call(this);},toString:function(){return"Dialog "+this.id;}});}());(function(){YAHOO.widget.SimpleDialog=function(E,D){YAHOO.widget.SimpleDialog.superclass.constructor.call(this,E,D);};var C=YAHOO.util.Dom,B=YAHOO.widget.SimpleDialog,A={"ICON":{key:"icon",value:"none",suppressEvent:true},"TEXT":{key:"text",value:"",suppressEvent:true,supercedes:["icon"]}};B.ICON_BLOCK="blckicon";B.ICON_ALARM="alrticon";B.ICON_HELP="hlpicon";B.ICON_INFO="infoicon";B.ICON_WARN="warnicon";B.ICON_TIP="tipicon";B.ICON_CSS_CLASSNAME="yui-icon";B.CSS_SIMPLEDIALOG="yui-simple-dialog";YAHOO.extend(B,YAHOO.widget.Dialog,{initDefaultConfig:function(){B.superclass.initDefaultConfig.call(this);this.cfg.addProperty(A.ICON.key,{handler:this.configIcon,value:A.ICON.value,suppressEvent:A.ICON.suppressEvent});this.cfg.addProperty(A.TEXT.key,{handler:this.configText,value:A.TEXT.value,suppressEvent:A.TEXT.suppressEvent,supercedes:A.TEXT.supercedes});},init:function(E,D){B.superclass.init.call(this,E);this.beforeInitEvent.fire(B);C.addClass(this.element,B.CSS_SIMPLEDIALOG);this.cfg.queueProperty("postmethod","manual");if(D){this.cfg.applyConfig(D,true);}this.beforeRenderEvent.subscribe(function(){if(!this.body){this.setBody("");}},this,true);this.initEvent.fire(B);},registerForm:function(){B.superclass.registerForm.call(this);this.form.innerHTML+='<input type="hidden" name="'+this.id+'" value=""/>';},configIcon:function(F,E,J){var K=E[0],D=this.body,I=B.ICON_CSS_CLASSNAME,H,G;if(K&&K!="none"){H=C.getElementsByClassName(I,"*",D);if(H){G=H.parentNode;if(G){G.removeChild(H);H=null;}}if(K.indexOf(".")==-1){H=document.createElement("span");H.className=(I+" "+K);H.innerHTML="&#160;";}else{H=document.createElement("img");H.src=(this.imageRoot+K);H.className=I;}if(H){D.insertBefore(H,D.firstChild);}}},configText:function(E,D,F){var G=D[0];if(G){this.setBody(G);this.cfg.refireEvent("icon");}},toString:function(){return"SimpleDialog "+this.id;}});}());(function(){YAHOO.widget.ContainerEffect=function(F,I,H,E,G){if(!G){G=YAHOO.util.Anim;}this.overlay=F;this.attrIn=I;this.attrOut=H;this.targetElement=E||F.element;this.animClass=G;};var B=YAHOO.util.Dom,D=YAHOO.util.CustomEvent,C=YAHOO.util.Easing,A=YAHOO.widget.ContainerEffect;A.FADE=function(E,G){var I={attributes:{opacity:{from:0,to:1}},duration:G,method:C.easeIn};var F={attributes:{opacity:{to:0}},duration:G,method:C.easeOut};var H=new A(E,I,F,E.element);H.handleUnderlayStart=function(){var K=this.overlay.underlay;
+if(K&&YAHOO.env.ua.ie){var J=(K.filters&&K.filters.length>0);if(J){B.addClass(E.element,"yui-effect-fade");}}};H.handleUnderlayComplete=function(){var J=this.overlay.underlay;if(J&&YAHOO.env.ua.ie){B.removeClass(E.element,"yui-effect-fade");}};H.handleStartAnimateIn=function(K,J,L){B.addClass(L.overlay.element,"hide-select");if(!L.overlay.underlay){L.overlay.cfg.refireEvent("underlay");}L.handleUnderlayStart();B.setStyle(L.overlay.element,"visibility","visible");B.setStyle(L.overlay.element,"opacity",0);};H.handleCompleteAnimateIn=function(K,J,L){B.removeClass(L.overlay.element,"hide-select");if(L.overlay.element.style.filter){L.overlay.element.style.filter=null;}L.handleUnderlayComplete();L.overlay.cfg.refireEvent("iframe");L.animateInCompleteEvent.fire();};H.handleStartAnimateOut=function(K,J,L){B.addClass(L.overlay.element,"hide-select");L.handleUnderlayStart();};H.handleCompleteAnimateOut=function(K,J,L){B.removeClass(L.overlay.element,"hide-select");if(L.overlay.element.style.filter){L.overlay.element.style.filter=null;}B.setStyle(L.overlay.element,"visibility","hidden");B.setStyle(L.overlay.element,"opacity",1);L.handleUnderlayComplete();L.overlay.cfg.refireEvent("iframe");L.animateOutCompleteEvent.fire();};H.init();return H;};A.SLIDE=function(G,I){var F=G.cfg.getProperty("x")||B.getX(G.element),K=G.cfg.getProperty("y")||B.getY(G.element),J=B.getClientWidth(),H=G.element.offsetWidth,E=new A(G,{attributes:{points:{to:[F,K]}},duration:I,method:C.easeIn},{attributes:{points:{to:[(J+25),K]}},duration:I,method:C.easeOut},G.element,YAHOO.util.Motion);E.handleStartAnimateIn=function(M,L,N){N.overlay.element.style.left=((-25)-H)+"px";N.overlay.element.style.top=K+"px";};E.handleTweenAnimateIn=function(O,N,P){var Q=B.getXY(P.overlay.element),M=Q[0],L=Q[1];if(B.getStyle(P.overlay.element,"visibility")=="hidden"&&M<F){B.setStyle(P.overlay.element,"visibility","visible");}P.overlay.cfg.setProperty("xy",[M,L],true);P.overlay.cfg.refireEvent("iframe");};E.handleCompleteAnimateIn=function(M,L,N){N.overlay.cfg.setProperty("xy",[F,K],true);N.startX=F;N.startY=K;N.overlay.cfg.refireEvent("iframe");N.animateInCompleteEvent.fire();};E.handleStartAnimateOut=function(M,L,P){var N=B.getViewportWidth(),Q=B.getXY(P.overlay.element),O=Q[1];P.animOut.attributes.points.to=[(N+25),O];};E.handleTweenAnimateOut=function(N,M,O){var Q=B.getXY(O.overlay.element),L=Q[0],P=Q[1];O.overlay.cfg.setProperty("xy",[L,P],true);O.overlay.cfg.refireEvent("iframe");};E.handleCompleteAnimateOut=function(M,L,N){B.setStyle(N.overlay.element,"visibility","hidden");N.overlay.cfg.setProperty("xy",[F,K]);N.animateOutCompleteEvent.fire();};E.init();return E;};A.prototype={init:function(){this.beforeAnimateInEvent=this.createEvent("beforeAnimateIn");this.beforeAnimateInEvent.signature=D.LIST;this.beforeAnimateOutEvent=this.createEvent("beforeAnimateOut");this.beforeAnimateOutEvent.signature=D.LIST;this.animateInCompleteEvent=this.createEvent("animateInComplete");this.animateInCompleteEvent.signature=D.LIST;this.animateOutCompleteEvent=this.createEvent("animateOutComplete");this.animateOutCompleteEvent.signature=D.LIST;this.animIn=new this.animClass(this.targetElement,this.attrIn.attributes,this.attrIn.duration,this.attrIn.method);this.animIn.onStart.subscribe(this.handleStartAnimateIn,this);this.animIn.onTween.subscribe(this.handleTweenAnimateIn,this);this.animIn.onComplete.subscribe(this.handleCompleteAnimateIn,this);this.animOut=new this.animClass(this.targetElement,this.attrOut.attributes,this.attrOut.duration,this.attrOut.method);this.animOut.onStart.subscribe(this.handleStartAnimateOut,this);this.animOut.onTween.subscribe(this.handleTweenAnimateOut,this);this.animOut.onComplete.subscribe(this.handleCompleteAnimateOut,this);},animateIn:function(){this.beforeAnimateInEvent.fire();this.animIn.animate();},animateOut:function(){this.beforeAnimateOutEvent.fire();this.animOut.animate();},handleStartAnimateIn:function(F,E,G){},handleTweenAnimateIn:function(F,E,G){},handleCompleteAnimateIn:function(F,E,G){},handleStartAnimateOut:function(F,E,G){},handleTweenAnimateOut:function(F,E,G){},handleCompleteAnimateOut:function(F,E,G){},toString:function(){var E="ContainerEffect";if(this.overlay){E+=" ["+this.overlay.toString()+"]";}return E;}};YAHOO.lang.augmentProto(A,YAHOO.util.EventProvider);})();YAHOO.register("container",YAHOO.widget.Module,{version:"2.5.1",build:"984"});
\ No newline at end of file
diff --git a/koha-tmpl/opac-tmpl/lib/yui/container/container_core-min.js b/koha-tmpl/opac-tmpl/lib/yui/container/container_core-min.js
new file mode 100644 (file)
index 0000000..10b3ec2
--- /dev/null
@@ -0,0 +1,12 @@
+/*
+Copyright (c) 2008, Yahoo! Inc. All rights reserved.
+Code licensed under the BSD License:
+http://developer.yahoo.net/yui/license.txt
+version: 2.5.1
+*/
+(function(){YAHOO.util.Config=function(D){if(D){this.init(D);}};var B=YAHOO.lang,C=YAHOO.util.CustomEvent,A=YAHOO.util.Config;A.CONFIG_CHANGED_EVENT="configChanged";A.BOOLEAN_TYPE="boolean";A.prototype={owner:null,queueInProgress:false,config:null,initialConfig:null,eventQueue:null,configChangedEvent:null,init:function(D){this.owner=D;this.configChangedEvent=this.createEvent(A.CONFIG_CHANGED_EVENT);this.configChangedEvent.signature=C.LIST;this.queueInProgress=false;this.config={};this.initialConfig={};this.eventQueue=[];},checkBoolean:function(D){return(typeof D==A.BOOLEAN_TYPE);},checkNumber:function(D){return(!isNaN(D));},fireEvent:function(D,F){var E=this.config[D];if(E&&E.event){E.event.fire(F);}},addProperty:function(E,D){E=E.toLowerCase();this.config[E]=D;D.event=this.createEvent(E,{scope:this.owner});D.event.signature=C.LIST;D.key=E;if(D.handler){D.event.subscribe(D.handler,this.owner);}this.setProperty(E,D.value,true);if(!D.suppressEvent){this.queueProperty(E,D.value);}},getConfig:function(){var D={},F,E;for(F in this.config){E=this.config[F];if(E&&E.event){D[F]=E.value;}}return D;},getProperty:function(D){var E=this.config[D.toLowerCase()];if(E&&E.event){return E.value;}else{return undefined;}},resetProperty:function(D){D=D.toLowerCase();var E=this.config[D];if(E&&E.event){if(this.initialConfig[D]&&!B.isUndefined(this.initialConfig[D])){this.setProperty(D,this.initialConfig[D]);return true;}}else{return false;}},setProperty:function(E,G,D){var F;E=E.toLowerCase();if(this.queueInProgress&&!D){this.queueProperty(E,G);return true;}else{F=this.config[E];if(F&&F.event){if(F.validator&&!F.validator(G)){return false;}else{F.value=G;if(!D){this.fireEvent(E,G);this.configChangedEvent.fire([E,G]);}return true;}}else{return false;}}},queueProperty:function(S,P){S=S.toLowerCase();var R=this.config[S],K=false,J,G,H,I,O,Q,F,M,N,D,L,T,E;if(R&&R.event){if(!B.isUndefined(P)&&R.validator&&!R.validator(P)){return false;}else{if(!B.isUndefined(P)){R.value=P;}else{P=R.value;}K=false;J=this.eventQueue.length;for(L=0;L<J;L++){G=this.eventQueue[L];if(G){H=G[0];I=G[1];if(H==S){this.eventQueue[L]=null;this.eventQueue.push([S,(!B.isUndefined(P)?P:I)]);K=true;break;}}}if(!K&&!B.isUndefined(P)){this.eventQueue.push([S,P]);}}if(R.supercedes){O=R.supercedes.length;for(T=0;T<O;T++){Q=R.supercedes[T];F=this.eventQueue.length;for(E=0;E<F;E++){M=this.eventQueue[E];if(M){N=M[0];D=M[1];if(N==Q.toLowerCase()){this.eventQueue.push([N,D]);this.eventQueue[E]=null;break;}}}}}return true;}else{return false;}},refireEvent:function(D){D=D.toLowerCase();var E=this.config[D];if(E&&E.event&&!B.isUndefined(E.value)){if(this.queueInProgress){this.queueProperty(D);}else{this.fireEvent(D,E.value);}}},applyConfig:function(D,G){var F,E;if(G){E={};for(F in D){if(B.hasOwnProperty(D,F)){E[F.toLowerCase()]=D[F];}}this.initialConfig=E;}for(F in D){if(B.hasOwnProperty(D,F)){this.queueProperty(F,D[F]);}}},refresh:function(){var D;for(D in this.config){this.refireEvent(D);}},fireQueue:function(){var E,H,D,G,F;this.queueInProgress=true;for(E=0;E<this.eventQueue.length;E++){H=this.eventQueue[E];if(H){D=H[0];G=H[1];F=this.config[D];F.value=G;this.fireEvent(D,G);}}this.queueInProgress=false;this.eventQueue=[];},subscribeToConfigEvent:function(E,F,H,D){var G=this.config[E.toLowerCase()];if(G&&G.event){if(!A.alreadySubscribed(G.event,F,H)){G.event.subscribe(F,H,D);}return true;}else{return false;}},unsubscribeFromConfigEvent:function(D,E,G){var F=this.config[D.toLowerCase()];if(F&&F.event){return F.event.unsubscribe(E,G);}else{return false;}},toString:function(){var D="Config";if(this.owner){D+=" ["+this.owner.toString()+"]";}return D;},outputEventQueue:function(){var D="",G,E,F=this.eventQueue.length;for(E=0;E<F;E++){G=this.eventQueue[E];if(G){D+=G[0]+"="+G[1]+", ";}}return D;},destroy:function(){var E=this.config,D,F;for(D in E){if(B.hasOwnProperty(E,D)){F=E[D];F.event.unsubscribeAll();F.event=null;}}this.configChangedEvent.unsubscribeAll();this.configChangedEvent=null;this.owner=null;this.config=null;this.initialConfig=null;this.eventQueue=null;}};A.alreadySubscribed=function(E,H,I){var F=E.subscribers.length,D,G;if(F>0){G=F-1;do{D=E.subscribers[G];if(D&&D.obj==I&&D.fn==H){return true;}}while(G--);}return false;};YAHOO.lang.augmentProto(A,YAHOO.util.EventProvider);}());(function(){YAHOO.widget.Module=function(Q,P){if(Q){this.init(Q,P);}else{}};var F=YAHOO.util.Dom,D=YAHOO.util.Config,M=YAHOO.util.Event,L=YAHOO.util.CustomEvent,G=YAHOO.widget.Module,H,O,N,E,A={"BEFORE_INIT":"beforeInit","INIT":"init","APPEND":"append","BEFORE_RENDER":"beforeRender","RENDER":"render","CHANGE_HEADER":"changeHeader","CHANGE_BODY":"changeBody","CHANGE_FOOTER":"changeFooter","CHANGE_CONTENT":"changeContent","DESTORY":"destroy","BEFORE_SHOW":"beforeShow","SHOW":"show","BEFORE_HIDE":"beforeHide","HIDE":"hide"},I={"VISIBLE":{key:"visible",value:true,validator:YAHOO.lang.isBoolean},"EFFECT":{key:"effect",suppressEvent:true,supercedes:["visible"]},"MONITOR_RESIZE":{key:"monitorresize",value:true},"APPEND_TO_DOCUMENT_BODY":{key:"appendtodocumentbody",value:false}};G.IMG_ROOT=null;G.IMG_ROOT_SSL=null;G.CSS_MODULE="yui-module";G.CSS_HEADER="hd";G.CSS_BODY="bd";G.CSS_FOOTER="ft";G.RESIZE_MONITOR_SECURE_URL="javascript:false;";G.textResizeEvent=new L("textResize");function K(){if(!H){H=document.createElement("div");H.innerHTML=('<div class="'+G.CSS_HEADER+'"></div>'+'<div class="'+G.CSS_BODY+'"></div><div class="'+G.CSS_FOOTER+'"></div>');O=H.firstChild;N=O.nextSibling;E=N.nextSibling;}return H;}function J(){if(!O){K();}return(O.cloneNode(false));}function B(){if(!N){K();}return(N.cloneNode(false));}function C(){if(!E){K();}return(E.cloneNode(false));}G.prototype={constructor:G,element:null,header:null,body:null,footer:null,id:null,imageRoot:G.IMG_ROOT,initEvents:function(){var P=L.LIST;this.beforeInitEvent=this.createEvent(A.BEFORE_INIT);this.beforeInitEvent.signature=P;this.initEvent=this.createEvent(A.INIT);this.initEvent.signature=P;this.appendEvent=this.createEvent(A.APPEND);
+this.appendEvent.signature=P;this.beforeRenderEvent=this.createEvent(A.BEFORE_RENDER);this.beforeRenderEvent.signature=P;this.renderEvent=this.createEvent(A.RENDER);this.renderEvent.signature=P;this.changeHeaderEvent=this.createEvent(A.CHANGE_HEADER);this.changeHeaderEvent.signature=P;this.changeBodyEvent=this.createEvent(A.CHANGE_BODY);this.changeBodyEvent.signature=P;this.changeFooterEvent=this.createEvent(A.CHANGE_FOOTER);this.changeFooterEvent.signature=P;this.changeContentEvent=this.createEvent(A.CHANGE_CONTENT);this.changeContentEvent.signature=P;this.destroyEvent=this.createEvent(A.DESTORY);this.destroyEvent.signature=P;this.beforeShowEvent=this.createEvent(A.BEFORE_SHOW);this.beforeShowEvent.signature=P;this.showEvent=this.createEvent(A.SHOW);this.showEvent.signature=P;this.beforeHideEvent=this.createEvent(A.BEFORE_HIDE);this.beforeHideEvent.signature=P;this.hideEvent=this.createEvent(A.HIDE);this.hideEvent.signature=P;},platform:function(){var P=navigator.userAgent.toLowerCase();if(P.indexOf("windows")!=-1||P.indexOf("win32")!=-1){return"windows";}else{if(P.indexOf("macintosh")!=-1){return"mac";}else{return false;}}}(),browser:function(){var P=navigator.userAgent.toLowerCase();if(P.indexOf("opera")!=-1){return"opera";}else{if(P.indexOf("msie 7")!=-1){return"ie7";}else{if(P.indexOf("msie")!=-1){return"ie";}else{if(P.indexOf("safari")!=-1){return"safari";}else{if(P.indexOf("gecko")!=-1){return"gecko";}else{return false;}}}}}}(),isSecure:function(){if(window.location.href.toLowerCase().indexOf("https")===0){return true;}else{return false;}}(),initDefaultConfig:function(){this.cfg.addProperty(I.VISIBLE.key,{handler:this.configVisible,value:I.VISIBLE.value,validator:I.VISIBLE.validator});this.cfg.addProperty(I.EFFECT.key,{suppressEvent:I.EFFECT.suppressEvent,supercedes:I.EFFECT.supercedes});this.cfg.addProperty(I.MONITOR_RESIZE.key,{handler:this.configMonitorResize,value:I.MONITOR_RESIZE.value});this.cfg.addProperty(I.APPEND_TO_DOCUMENT_BODY.key,{value:I.APPEND_TO_DOCUMENT_BODY.value});},init:function(U,T){var R,V;this.initEvents();this.beforeInitEvent.fire(G);this.cfg=new D(this);if(this.isSecure){this.imageRoot=G.IMG_ROOT_SSL;}if(typeof U=="string"){R=U;U=document.getElementById(U);if(!U){U=(K()).cloneNode(false);U.id=R;}}this.element=U;if(U.id){this.id=U.id;}V=this.element.firstChild;if(V){var Q=false,P=false,S=false;do{if(1==V.nodeType){if(!Q&&F.hasClass(V,G.CSS_HEADER)){this.header=V;Q=true;}else{if(!P&&F.hasClass(V,G.CSS_BODY)){this.body=V;P=true;}else{if(!S&&F.hasClass(V,G.CSS_FOOTER)){this.footer=V;S=true;}}}}}while((V=V.nextSibling));}this.initDefaultConfig();F.addClass(this.element,G.CSS_MODULE);if(T){this.cfg.applyConfig(T,true);}if(!D.alreadySubscribed(this.renderEvent,this.cfg.fireQueue,this.cfg)){this.renderEvent.subscribe(this.cfg.fireQueue,this.cfg,true);}this.initEvent.fire(G);},initResizeMonitor:function(){var Q=(YAHOO.env.ua.gecko&&this.platform=="windows");if(Q){var P=this;setTimeout(function(){P._initResizeMonitor();},0);}else{this._initResizeMonitor();}},_initResizeMonitor:function(){var P,R,T;function V(){G.textResizeEvent.fire();}if(!YAHOO.env.ua.opera){R=F.get("_yuiResizeMonitor");var U=this._supportsCWResize();if(!R){R=document.createElement("iframe");if(this.isSecure&&G.RESIZE_MONITOR_SECURE_URL&&YAHOO.env.ua.ie){R.src=G.RESIZE_MONITOR_SECURE_URL;}if(!U){T=["<html><head><script ",'type="text/javascript">',"window.onresize=function(){window.parent.","YAHOO.widget.Module.textResizeEvent.","fire();};<","/script></head>","<body></body></html>"].join("");R.src="data:text/html;charset=utf-8,"+encodeURIComponent(T);}R.id="_yuiResizeMonitor";R.style.position="absolute";R.style.visibility="hidden";var Q=document.body,S=Q.firstChild;if(S){Q.insertBefore(R,S);}else{Q.appendChild(R);}R.style.width="10em";R.style.height="10em";R.style.top=(-1*R.offsetHeight)+"px";R.style.left=(-1*R.offsetWidth)+"px";R.style.borderWidth="0";R.style.visibility="visible";if(YAHOO.env.ua.webkit){P=R.contentWindow.document;P.open();P.close();}}if(R&&R.contentWindow){G.textResizeEvent.subscribe(this.onDomResize,this,true);if(!G.textResizeInitialized){if(U){if(!M.on(R.contentWindow,"resize",V)){M.on(R,"resize",V);}}G.textResizeInitialized=true;}this.resizeMonitor=R;}}},_supportsCWResize:function(){var P=true;if(YAHOO.env.ua.gecko&&YAHOO.env.ua.gecko<=1.8){P=false;}return P;},onDomResize:function(S,R){var Q=-1*this.resizeMonitor.offsetWidth,P=-1*this.resizeMonitor.offsetHeight;this.resizeMonitor.style.top=P+"px";this.resizeMonitor.style.left=Q+"px";},setHeader:function(Q){var P=this.header||(this.header=J());if(Q.nodeName){P.innerHTML="";P.appendChild(Q);}else{P.innerHTML=Q;}this.changeHeaderEvent.fire(Q);this.changeContentEvent.fire();},appendToHeader:function(Q){var P=this.header||(this.header=J());P.appendChild(Q);this.changeHeaderEvent.fire(Q);this.changeContentEvent.fire();},setBody:function(Q){var P=this.body||(this.body=B());if(Q.nodeName){P.innerHTML="";P.appendChild(Q);}else{P.innerHTML=Q;}this.changeBodyEvent.fire(Q);this.changeContentEvent.fire();},appendToBody:function(Q){var P=this.body||(this.body=B());P.appendChild(Q);this.changeBodyEvent.fire(Q);this.changeContentEvent.fire();},setFooter:function(Q){var P=this.footer||(this.footer=C());if(Q.nodeName){P.innerHTML="";P.appendChild(Q);}else{P.innerHTML=Q;}this.changeFooterEvent.fire(Q);this.changeContentEvent.fire();},appendToFooter:function(Q){var P=this.footer||(this.footer=C());P.appendChild(Q);this.changeFooterEvent.fire(Q);this.changeContentEvent.fire();},render:function(R,P){var S=this,T;function Q(U){if(typeof U=="string"){U=document.getElementById(U);}if(U){S._addToParent(U,S.element);S.appendEvent.fire();}}this.beforeRenderEvent.fire();if(!P){P=this.element;}if(R){Q(R);}else{if(!F.inDocument(this.element)){return false;}}if(this.header&&!F.inDocument(this.header)){T=P.firstChild;if(T){P.insertBefore(this.header,T);}else{P.appendChild(this.header);}}if(this.body&&!F.inDocument(this.body)){if(this.footer&&F.isAncestor(this.moduleElement,this.footer)){P.insertBefore(this.body,this.footer);
+}else{P.appendChild(this.body);}}if(this.footer&&!F.inDocument(this.footer)){P.appendChild(this.footer);}this.renderEvent.fire();return true;},destroy:function(){var P,Q;if(this.element){M.purgeElement(this.element,true);P=this.element.parentNode;}if(P){P.removeChild(this.element);}this.element=null;this.header=null;this.body=null;this.footer=null;G.textResizeEvent.unsubscribe(this.onDomResize,this);this.cfg.destroy();this.cfg=null;this.destroyEvent.fire();for(Q in this){if(Q instanceof L){Q.unsubscribeAll();}}},show:function(){this.cfg.setProperty("visible",true);},hide:function(){this.cfg.setProperty("visible",false);},configVisible:function(Q,P,R){var S=P[0];if(S){this.beforeShowEvent.fire();F.setStyle(this.element,"display","block");this.showEvent.fire();}else{this.beforeHideEvent.fire();F.setStyle(this.element,"display","none");this.hideEvent.fire();}},configMonitorResize:function(R,Q,S){var P=Q[0];if(P){this.initResizeMonitor();}else{G.textResizeEvent.unsubscribe(this.onDomResize,this,true);this.resizeMonitor=null;}},_addToParent:function(P,Q){if(!this.cfg.getProperty("appendtodocumentbody")&&P===document.body&&P.firstChild){P.insertBefore(Q,P.firstChild);}else{P.appendChild(Q);}},toString:function(){return"Module "+this.id;}};YAHOO.lang.augmentProto(G,YAHOO.util.EventProvider);}());(function(){YAHOO.widget.Overlay=function(L,K){YAHOO.widget.Overlay.superclass.constructor.call(this,L,K);};var F=YAHOO.lang,I=YAHOO.util.CustomEvent,E=YAHOO.widget.Module,J=YAHOO.util.Event,D=YAHOO.util.Dom,C=YAHOO.util.Config,B=YAHOO.widget.Overlay,G,A={"BEFORE_MOVE":"beforeMove","MOVE":"move"},H={"X":{key:"x",validator:F.isNumber,suppressEvent:true,supercedes:["iframe"]},"Y":{key:"y",validator:F.isNumber,suppressEvent:true,supercedes:["iframe"]},"XY":{key:"xy",suppressEvent:true,supercedes:["iframe"]},"CONTEXT":{key:"context",suppressEvent:true,supercedes:["iframe"]},"FIXED_CENTER":{key:"fixedcenter",value:false,validator:F.isBoolean,supercedes:["iframe","visible"]},"WIDTH":{key:"width",suppressEvent:true,supercedes:["context","fixedcenter","iframe"]},"HEIGHT":{key:"height",suppressEvent:true,supercedes:["context","fixedcenter","iframe"]},"ZINDEX":{key:"zindex",value:null},"CONSTRAIN_TO_VIEWPORT":{key:"constraintoviewport",value:false,validator:F.isBoolean,supercedes:["iframe","x","y","xy"]},"IFRAME":{key:"iframe",value:(YAHOO.env.ua.ie==6?true:false),validator:F.isBoolean,supercedes:["zindex"]}};B.IFRAME_SRC="javascript:false;";B.IFRAME_OFFSET=3;B.VIEWPORT_OFFSET=10;B.TOP_LEFT="tl";B.TOP_RIGHT="tr";B.BOTTOM_LEFT="bl";B.BOTTOM_RIGHT="br";B.CSS_OVERLAY="yui-overlay";B.windowScrollEvent=new I("windowScroll");B.windowResizeEvent=new I("windowResize");B.windowScrollHandler=function(K){if(YAHOO.env.ua.ie){if(!window.scrollEnd){window.scrollEnd=-1;}clearTimeout(window.scrollEnd);window.scrollEnd=setTimeout(function(){B.windowScrollEvent.fire();},1);}else{B.windowScrollEvent.fire();}};B.windowResizeHandler=function(K){if(YAHOO.env.ua.ie){if(!window.resizeEnd){window.resizeEnd=-1;}clearTimeout(window.resizeEnd);window.resizeEnd=setTimeout(function(){B.windowResizeEvent.fire();},100);}else{B.windowResizeEvent.fire();}};B._initialized=null;if(B._initialized===null){J.on(window,"scroll",B.windowScrollHandler);J.on(window,"resize",B.windowResizeHandler);B._initialized=true;}YAHOO.extend(B,E,{init:function(L,K){B.superclass.init.call(this,L);this.beforeInitEvent.fire(B);D.addClass(this.element,B.CSS_OVERLAY);if(K){this.cfg.applyConfig(K,true);}if(this.platform=="mac"&&YAHOO.env.ua.gecko){if(!C.alreadySubscribed(this.showEvent,this.showMacGeckoScrollbars,this)){this.showEvent.subscribe(this.showMacGeckoScrollbars,this,true);}if(!C.alreadySubscribed(this.hideEvent,this.hideMacGeckoScrollbars,this)){this.hideEvent.subscribe(this.hideMacGeckoScrollbars,this,true);}}this.initEvent.fire(B);},initEvents:function(){B.superclass.initEvents.call(this);var K=I.LIST;this.beforeMoveEvent=this.createEvent(A.BEFORE_MOVE);this.beforeMoveEvent.signature=K;this.moveEvent=this.createEvent(A.MOVE);this.moveEvent.signature=K;},initDefaultConfig:function(){B.superclass.initDefaultConfig.call(this);this.cfg.addProperty(H.X.key,{handler:this.configX,validator:H.X.validator,suppressEvent:H.X.suppressEvent,supercedes:H.X.supercedes});this.cfg.addProperty(H.Y.key,{handler:this.configY,validator:H.Y.validator,suppressEvent:H.Y.suppressEvent,supercedes:H.Y.supercedes});this.cfg.addProperty(H.XY.key,{handler:this.configXY,suppressEvent:H.XY.suppressEvent,supercedes:H.XY.supercedes});this.cfg.addProperty(H.CONTEXT.key,{handler:this.configContext,suppressEvent:H.CONTEXT.suppressEvent,supercedes:H.CONTEXT.supercedes});this.cfg.addProperty(H.FIXED_CENTER.key,{handler:this.configFixedCenter,value:H.FIXED_CENTER.value,validator:H.FIXED_CENTER.validator,supercedes:H.FIXED_CENTER.supercedes});this.cfg.addProperty(H.WIDTH.key,{handler:this.configWidth,suppressEvent:H.WIDTH.suppressEvent,supercedes:H.WIDTH.supercedes});this.cfg.addProperty(H.HEIGHT.key,{handler:this.configHeight,suppressEvent:H.HEIGHT.suppressEvent,supercedes:H.HEIGHT.supercedes});this.cfg.addProperty(H.ZINDEX.key,{handler:this.configzIndex,value:H.ZINDEX.value});this.cfg.addProperty(H.CONSTRAIN_TO_VIEWPORT.key,{handler:this.configConstrainToViewport,value:H.CONSTRAIN_TO_VIEWPORT.value,validator:H.CONSTRAIN_TO_VIEWPORT.validator,supercedes:H.CONSTRAIN_TO_VIEWPORT.supercedes});this.cfg.addProperty(H.IFRAME.key,{handler:this.configIframe,value:H.IFRAME.value,validator:H.IFRAME.validator,supercedes:H.IFRAME.supercedes});},moveTo:function(K,L){this.cfg.setProperty("xy",[K,L]);},hideMacGeckoScrollbars:function(){D.removeClass(this.element,"show-scrollbars");D.addClass(this.element,"hide-scrollbars");},showMacGeckoScrollbars:function(){D.removeClass(this.element,"hide-scrollbars");D.addClass(this.element,"show-scrollbars");},configVisible:function(N,K,T){var M=K[0],O=D.getStyle(this.element,"visibility"),U=this.cfg.getProperty("effect"),R=[],Q=(this.platform=="mac"&&YAHOO.env.ua.gecko),b=C.alreadySubscribed,S,L,a,Y,X,W,Z,V,P;
+if(O=="inherit"){a=this.element.parentNode;while(a.nodeType!=9&&a.nodeType!=11){O=D.getStyle(a,"visibility");if(O!="inherit"){break;}a=a.parentNode;}if(O=="inherit"){O="visible";}}if(U){if(U instanceof Array){V=U.length;for(Y=0;Y<V;Y++){S=U[Y];R[R.length]=S.effect(this,S.duration);}}else{R[R.length]=U.effect(this,U.duration);}}if(M){if(Q){this.showMacGeckoScrollbars();}if(U){if(M){if(O!="visible"||O===""){this.beforeShowEvent.fire();P=R.length;for(X=0;X<P;X++){L=R[X];if(X===0&&!b(L.animateInCompleteEvent,this.showEvent.fire,this.showEvent)){L.animateInCompleteEvent.subscribe(this.showEvent.fire,this.showEvent,true);}L.animateIn();}}}}else{if(O!="visible"||O===""){this.beforeShowEvent.fire();D.setStyle(this.element,"visibility","visible");this.cfg.refireEvent("iframe");this.showEvent.fire();}}}else{if(Q){this.hideMacGeckoScrollbars();}if(U){if(O=="visible"){this.beforeHideEvent.fire();P=R.length;for(W=0;W<P;W++){Z=R[W];if(W===0&&!b(Z.animateOutCompleteEvent,this.hideEvent.fire,this.hideEvent)){Z.animateOutCompleteEvent.subscribe(this.hideEvent.fire,this.hideEvent,true);}Z.animateOut();}}else{if(O===""){D.setStyle(this.element,"visibility","hidden");}}}else{if(O=="visible"||O===""){this.beforeHideEvent.fire();D.setStyle(this.element,"visibility","hidden");this.hideEvent.fire();}}}},doCenterOnDOMEvent:function(){if(this.cfg.getProperty("visible")){this.center();}},configFixedCenter:function(O,M,P){var Q=M[0],L=C.alreadySubscribed,N=B.windowResizeEvent,K=B.windowScrollEvent;if(Q){this.center();if(!L(this.beforeShowEvent,this.center,this)){this.beforeShowEvent.subscribe(this.center);}if(!L(N,this.doCenterOnDOMEvent,this)){N.subscribe(this.doCenterOnDOMEvent,this,true);}if(!L(K,this.doCenterOnDOMEvent,this)){K.subscribe(this.doCenterOnDOMEvent,this,true);}}else{this.beforeShowEvent.unsubscribe(this.center);N.unsubscribe(this.doCenterOnDOMEvent,this);K.unsubscribe(this.doCenterOnDOMEvent,this);}},configHeight:function(N,L,O){var K=L[0],M=this.element;D.setStyle(M,"height",K);this.cfg.refireEvent("iframe");},configWidth:function(N,K,O){var M=K[0],L=this.element;D.setStyle(L,"width",M);this.cfg.refireEvent("iframe");},configzIndex:function(M,K,N){var O=K[0],L=this.element;if(!O){O=D.getStyle(L,"zIndex");if(!O||isNaN(O)){O=0;}}if(this.iframe||this.cfg.getProperty("iframe")===true){if(O<=0){O=1;}}D.setStyle(L,"zIndex",O);this.cfg.setProperty("zIndex",O,true);if(this.iframe){this.stackIframe();}},configXY:function(M,L,N){var P=L[0],K=P[0],O=P[1];this.cfg.setProperty("x",K);this.cfg.setProperty("y",O);this.beforeMoveEvent.fire([K,O]);K=this.cfg.getProperty("x");O=this.cfg.getProperty("y");this.cfg.refireEvent("iframe");this.moveEvent.fire([K,O]);},configX:function(M,L,N){var K=L[0],O=this.cfg.getProperty("y");this.cfg.setProperty("x",K,true);this.cfg.setProperty("y",O,true);this.beforeMoveEvent.fire([K,O]);K=this.cfg.getProperty("x");O=this.cfg.getProperty("y");D.setX(this.element,K,true);this.cfg.setProperty("xy",[K,O],true);this.cfg.refireEvent("iframe");this.moveEvent.fire([K,O]);},configY:function(M,L,N){var K=this.cfg.getProperty("x"),O=L[0];this.cfg.setProperty("x",K,true);this.cfg.setProperty("y",O,true);this.beforeMoveEvent.fire([K,O]);K=this.cfg.getProperty("x");O=this.cfg.getProperty("y");D.setY(this.element,O,true);this.cfg.setProperty("xy",[K,O],true);this.cfg.refireEvent("iframe");this.moveEvent.fire([K,O]);},showIframe:function(){var L=this.iframe,K;if(L){K=this.element.parentNode;if(K!=L.parentNode){this._addToParent(K,L);}L.style.display="block";}},hideIframe:function(){if(this.iframe){this.iframe.style.display="none";}},syncIframe:function(){var K=this.iframe,M=this.element,O=B.IFRAME_OFFSET,L=(O*2),N;if(K){K.style.width=(M.offsetWidth+L+"px");K.style.height=(M.offsetHeight+L+"px");N=this.cfg.getProperty("xy");if(!F.isArray(N)||(isNaN(N[0])||isNaN(N[1]))){this.syncPosition();N=this.cfg.getProperty("xy");}D.setXY(K,[(N[0]-O),(N[1]-O)]);}},stackIframe:function(){if(this.iframe){var K=D.getStyle(this.element,"zIndex");if(!YAHOO.lang.isUndefined(K)&&!isNaN(K)){D.setStyle(this.iframe,"zIndex",(K-1));}}},configIframe:function(N,M,O){var K=M[0];function P(){var R=this.iframe,S=this.element,T;if(!R){if(!G){G=document.createElement("iframe");if(this.isSecure){G.src=B.IFRAME_SRC;}if(YAHOO.env.ua.ie){G.style.filter="alpha(opacity=0)";G.frameBorder=0;}else{G.style.opacity="0";}G.style.position="absolute";G.style.border="none";G.style.margin="0";G.style.padding="0";G.style.display="none";}R=G.cloneNode(false);T=S.parentNode;var Q=T||document.body;this._addToParent(Q,R);this.iframe=R;}this.showIframe();this.syncIframe();this.stackIframe();if(!this._hasIframeEventListeners){this.showEvent.subscribe(this.showIframe);this.hideEvent.subscribe(this.hideIframe);this.changeContentEvent.subscribe(this.syncIframe);this._hasIframeEventListeners=true;}}function L(){P.call(this);this.beforeShowEvent.unsubscribe(L);this._iframeDeferred=false;}if(K){if(this.cfg.getProperty("visible")){P.call(this);}else{if(!this._iframeDeferred){this.beforeShowEvent.subscribe(L);this._iframeDeferred=true;}}}else{this.hideIframe();if(this._hasIframeEventListeners){this.showEvent.unsubscribe(this.showIframe);this.hideEvent.unsubscribe(this.hideIframe);this.changeContentEvent.unsubscribe(this.syncIframe);this._hasIframeEventListeners=false;}}},_primeXYFromDOM:function(){if(YAHOO.lang.isUndefined(this.cfg.getProperty("xy"))){this.syncPosition();this.cfg.refireEvent("xy");this.beforeShowEvent.unsubscribe(this._primeXYFromDOM);}},configConstrainToViewport:function(L,K,M){var N=K[0];if(N){if(!C.alreadySubscribed(this.beforeMoveEvent,this.enforceConstraints,this)){this.beforeMoveEvent.subscribe(this.enforceConstraints,this,true);}if(!C.alreadySubscribed(this.beforeShowEvent,this._primeXYFromDOM)){this.beforeShowEvent.subscribe(this._primeXYFromDOM);}}else{this.beforeShowEvent.unsubscribe(this._primeXYFromDOM);this.beforeMoveEvent.unsubscribe(this.enforceConstraints,this);}},configContext:function(M,L,O){var Q=L[0],N,P,K;if(Q){N=Q[0];P=Q[1];
+K=Q[2];if(N){if(typeof N=="string"){this.cfg.setProperty("context",[document.getElementById(N),P,K],true);}if(P&&K){this.align(P,K);}}}},align:function(L,K){var Q=this.cfg.getProperty("context"),P=this,O,N,R;function M(S,T){switch(L){case B.TOP_LEFT:P.moveTo(T,S);break;case B.TOP_RIGHT:P.moveTo((T-N.offsetWidth),S);break;case B.BOTTOM_LEFT:P.moveTo(T,(S-N.offsetHeight));break;case B.BOTTOM_RIGHT:P.moveTo((T-N.offsetWidth),(S-N.offsetHeight));break;}}if(Q){O=Q[0];N=this.element;P=this;if(!L){L=Q[1];}if(!K){K=Q[2];}if(N&&O){R=D.getRegion(O);switch(K){case B.TOP_LEFT:M(R.top,R.left);break;case B.TOP_RIGHT:M(R.top,R.right);break;case B.BOTTOM_LEFT:M(R.bottom,R.left);break;case B.BOTTOM_RIGHT:M(R.bottom,R.right);break;}}}},enforceConstraints:function(L,K,M){var O=K[0];var N=this.getConstrainedXY(O[0],O[1]);this.cfg.setProperty("x",N[0],true);this.cfg.setProperty("y",N[1],true);this.cfg.setProperty("xy",N,true);},getConstrainedXY:function(V,T){var N=B.VIEWPORT_OFFSET,U=D.getViewportWidth(),Q=D.getViewportHeight(),M=this.element.offsetHeight,S=this.element.offsetWidth,Y=D.getDocumentScrollLeft(),W=D.getDocumentScrollTop();var P=V;var L=T;if(S+N<U){var R=Y+N;var X=Y+U-S-N;if(V<R){P=R;}else{if(V>X){P=X;}}}else{P=N+Y;}if(M+N<Q){var O=W+N;var K=W+Q-M-N;if(T<O){L=O;}else{if(T>K){L=K;}}}else{L=N+W;}return[P,L];},center:function(){var N=B.VIEWPORT_OFFSET,O=this.element.offsetWidth,M=this.element.offsetHeight,L=D.getViewportWidth(),P=D.getViewportHeight(),K,Q;if(O<L){K=(L/2)-(O/2)+D.getDocumentScrollLeft();}else{K=N+D.getDocumentScrollLeft();}if(M<P){Q=(P/2)-(M/2)+D.getDocumentScrollTop();}else{Q=N+D.getDocumentScrollTop();}this.cfg.setProperty("xy",[parseInt(K,10),parseInt(Q,10)]);this.cfg.refireEvent("iframe");},syncPosition:function(){var K=D.getXY(this.element);this.cfg.setProperty("x",K[0],true);this.cfg.setProperty("y",K[1],true);this.cfg.setProperty("xy",K,true);},onDomResize:function(M,L){var K=this;B.superclass.onDomResize.call(this,M,L);setTimeout(function(){K.syncPosition();K.cfg.refireEvent("iframe");K.cfg.refireEvent("context");},0);},bringToTop:function(){var O=[],N=this.element;function R(V,U){var X=D.getStyle(V,"zIndex"),W=D.getStyle(U,"zIndex"),T=(!X||isNaN(X))?0:parseInt(X,10),S=(!W||isNaN(W))?0:parseInt(W,10);if(T>S){return -1;}else{if(T<S){return 1;}else{return 0;}}}function M(U){var S=D.hasClass(U,B.CSS_OVERLAY),T=YAHOO.widget.Panel;if(S&&!D.isAncestor(N,S)){if(T&&D.hasClass(U,T.CSS_PANEL)){O[O.length]=U.parentNode;}else{O[O.length]=U;}}}D.getElementsBy(M,"DIV",document.body);O.sort(R);var K=O[0],Q;if(K){Q=D.getStyle(K,"zIndex");if(!isNaN(Q)){var P=false;if(K!=N){P=true;}else{if(O.length>1){var L=D.getStyle(O[1],"zIndex");if(!isNaN(L)&&(Q==L)){P=true;}}}if(P){this.cfg.setProperty("zindex",(parseInt(Q,10)+2));}}}},destroy:function(){if(this.iframe){this.iframe.parentNode.removeChild(this.iframe);}this.iframe=null;B.windowResizeEvent.unsubscribe(this.doCenterOnDOMEvent,this);B.windowScrollEvent.unsubscribe(this.doCenterOnDOMEvent,this);B.superclass.destroy.call(this);},toString:function(){return"Overlay "+this.id;}});}());(function(){YAHOO.widget.OverlayManager=function(G){this.init(G);};var D=YAHOO.widget.Overlay,C=YAHOO.util.Event,E=YAHOO.util.Dom,B=YAHOO.util.Config,F=YAHOO.util.CustomEvent,A=YAHOO.widget.OverlayManager;A.CSS_FOCUSED="focused";A.prototype={constructor:A,overlays:null,initDefaultConfig:function(){this.cfg.addProperty("overlays",{suppressEvent:true});this.cfg.addProperty("focusevent",{value:"mousedown"});},init:function(I){this.cfg=new B(this);this.initDefaultConfig();if(I){this.cfg.applyConfig(I,true);}this.cfg.fireQueue();var H=null;this.getActive=function(){return H;};this.focus=function(J){var K=this.find(J);if(K){if(H!=K){if(H){H.blur();}this.bringToTop(K);H=K;E.addClass(H.element,A.CSS_FOCUSED);K.focusEvent.fire();}}};this.remove=function(K){var M=this.find(K),J;if(M){if(H==M){H=null;}var L=(M.element===null&&M.cfg===null)?true:false;if(!L){J=E.getStyle(M.element,"zIndex");M.cfg.setProperty("zIndex",-1000,true);}this.overlays.sort(this.compareZIndexDesc);this.overlays=this.overlays.slice(0,(this.overlays.length-1));M.hideEvent.unsubscribe(M.blur);M.destroyEvent.unsubscribe(this._onOverlayDestroy,M);if(!L){C.removeListener(M.element,this.cfg.getProperty("focusevent"),this._onOverlayElementFocus);M.cfg.setProperty("zIndex",J,true);M.cfg.setProperty("manager",null);}M.focusEvent.unsubscribeAll();M.blurEvent.unsubscribeAll();M.focusEvent=null;M.blurEvent=null;M.focus=null;M.blur=null;}};this.blurAll=function(){var K=this.overlays.length,J;if(K>0){J=K-1;do{this.overlays[J].blur();}while(J--);}};this._onOverlayBlur=function(K,J){H=null;};var G=this.cfg.getProperty("overlays");if(!this.overlays){this.overlays=[];}if(G){this.register(G);this.overlays.sort(this.compareZIndexDesc);}},_onOverlayElementFocus:function(I){var G=C.getTarget(I),H=this.close;if(H&&(G==H||E.isAncestor(H,G))){this.blur();}else{this.focus();}},_onOverlayDestroy:function(H,G,I){this.remove(I);},register:function(G){var K=this,L,I,H,J;if(G instanceof D){G.cfg.addProperty("manager",{value:this});G.focusEvent=G.createEvent("focus");G.focusEvent.signature=F.LIST;G.blurEvent=G.createEvent("blur");G.blurEvent.signature=F.LIST;G.focus=function(){K.focus(this);};G.blur=function(){if(K.getActive()==this){E.removeClass(this.element,A.CSS_FOCUSED);this.blurEvent.fire();}};G.blurEvent.subscribe(K._onOverlayBlur);G.hideEvent.subscribe(G.blur);G.destroyEvent.subscribe(this._onOverlayDestroy,G,this);C.on(G.element,this.cfg.getProperty("focusevent"),this._onOverlayElementFocus,null,G);L=E.getStyle(G.element,"zIndex");if(!isNaN(L)){G.cfg.setProperty("zIndex",parseInt(L,10));}else{G.cfg.setProperty("zIndex",0);}this.overlays.push(G);this.bringToTop(G);return true;}else{if(G instanceof Array){I=0;J=G.length;for(H=0;H<J;H++){if(this.register(G[H])){I++;}}if(I>0){return true;}}else{return false;}}},bringToTop:function(M){var I=this.find(M),L,G,J;if(I){J=this.overlays;J.sort(this.compareZIndexDesc);G=J[0];if(G){L=E.getStyle(G.element,"zIndex");
+if(!isNaN(L)){var K=false;if(G!==I){K=true;}else{if(J.length>1){var H=E.getStyle(J[1].element,"zIndex");if(!isNaN(H)&&(L==H)){K=true;}}}if(K){I.cfg.setProperty("zindex",(parseInt(L,10)+2));}}J.sort(this.compareZIndexDesc);}}},find:function(G){var I=this.overlays,J=I.length,H;if(J>0){H=J-1;if(G instanceof D){do{if(I[H]==G){return I[H];}}while(H--);}else{if(typeof G=="string"){do{if(I[H].id==G){return I[H];}}while(H--);}}return null;}},compareZIndexDesc:function(J,I){var H=(J.cfg)?J.cfg.getProperty("zIndex"):null,G=(I.cfg)?I.cfg.getProperty("zIndex"):null;if(H===null&&G===null){return 0;}else{if(H===null){return 1;}else{if(G===null){return -1;}else{if(H>G){return -1;}else{if(H<G){return 1;}else{return 0;}}}}}},showAll:function(){var H=this.overlays,I=H.length,G;if(I>0){G=I-1;do{H[G].show();}while(G--);}},hideAll:function(){var H=this.overlays,I=H.length,G;if(I>0){G=I-1;do{H[G].hide();}while(G--);}},toString:function(){return"OverlayManager";}};}());(function(){YAHOO.widget.ContainerEffect=function(F,I,H,E,G){if(!G){G=YAHOO.util.Anim;}this.overlay=F;this.attrIn=I;this.attrOut=H;this.targetElement=E||F.element;this.animClass=G;};var B=YAHOO.util.Dom,D=YAHOO.util.CustomEvent,C=YAHOO.util.Easing,A=YAHOO.widget.ContainerEffect;A.FADE=function(E,G){var I={attributes:{opacity:{from:0,to:1}},duration:G,method:C.easeIn};var F={attributes:{opacity:{to:0}},duration:G,method:C.easeOut};var H=new A(E,I,F,E.element);H.handleUnderlayStart=function(){var K=this.overlay.underlay;if(K&&YAHOO.env.ua.ie){var J=(K.filters&&K.filters.length>0);if(J){B.addClass(E.element,"yui-effect-fade");}}};H.handleUnderlayComplete=function(){var J=this.overlay.underlay;if(J&&YAHOO.env.ua.ie){B.removeClass(E.element,"yui-effect-fade");}};H.handleStartAnimateIn=function(K,J,L){B.addClass(L.overlay.element,"hide-select");if(!L.overlay.underlay){L.overlay.cfg.refireEvent("underlay");}L.handleUnderlayStart();B.setStyle(L.overlay.element,"visibility","visible");B.setStyle(L.overlay.element,"opacity",0);};H.handleCompleteAnimateIn=function(K,J,L){B.removeClass(L.overlay.element,"hide-select");if(L.overlay.element.style.filter){L.overlay.element.style.filter=null;}L.handleUnderlayComplete();L.overlay.cfg.refireEvent("iframe");L.animateInCompleteEvent.fire();};H.handleStartAnimateOut=function(K,J,L){B.addClass(L.overlay.element,"hide-select");L.handleUnderlayStart();};H.handleCompleteAnimateOut=function(K,J,L){B.removeClass(L.overlay.element,"hide-select");if(L.overlay.element.style.filter){L.overlay.element.style.filter=null;}B.setStyle(L.overlay.element,"visibility","hidden");B.setStyle(L.overlay.element,"opacity",1);L.handleUnderlayComplete();L.overlay.cfg.refireEvent("iframe");L.animateOutCompleteEvent.fire();};H.init();return H;};A.SLIDE=function(G,I){var F=G.cfg.getProperty("x")||B.getX(G.element),K=G.cfg.getProperty("y")||B.getY(G.element),J=B.getClientWidth(),H=G.element.offsetWidth,E=new A(G,{attributes:{points:{to:[F,K]}},duration:I,method:C.easeIn},{attributes:{points:{to:[(J+25),K]}},duration:I,method:C.easeOut},G.element,YAHOO.util.Motion);E.handleStartAnimateIn=function(M,L,N){N.overlay.element.style.left=((-25)-H)+"px";N.overlay.element.style.top=K+"px";};E.handleTweenAnimateIn=function(O,N,P){var Q=B.getXY(P.overlay.element),M=Q[0],L=Q[1];if(B.getStyle(P.overlay.element,"visibility")=="hidden"&&M<F){B.setStyle(P.overlay.element,"visibility","visible");}P.overlay.cfg.setProperty("xy",[M,L],true);P.overlay.cfg.refireEvent("iframe");};E.handleCompleteAnimateIn=function(M,L,N){N.overlay.cfg.setProperty("xy",[F,K],true);N.startX=F;N.startY=K;N.overlay.cfg.refireEvent("iframe");N.animateInCompleteEvent.fire();};E.handleStartAnimateOut=function(M,L,P){var N=B.getViewportWidth(),Q=B.getXY(P.overlay.element),O=Q[1];P.animOut.attributes.points.to=[(N+25),O];};E.handleTweenAnimateOut=function(N,M,O){var Q=B.getXY(O.overlay.element),L=Q[0],P=Q[1];O.overlay.cfg.setProperty("xy",[L,P],true);O.overlay.cfg.refireEvent("iframe");};E.handleCompleteAnimateOut=function(M,L,N){B.setStyle(N.overlay.element,"visibility","hidden");N.overlay.cfg.setProperty("xy",[F,K]);N.animateOutCompleteEvent.fire();};E.init();return E;};A.prototype={init:function(){this.beforeAnimateInEvent=this.createEvent("beforeAnimateIn");this.beforeAnimateInEvent.signature=D.LIST;this.beforeAnimateOutEvent=this.createEvent("beforeAnimateOut");this.beforeAnimateOutEvent.signature=D.LIST;this.animateInCompleteEvent=this.createEvent("animateInComplete");this.animateInCompleteEvent.signature=D.LIST;this.animateOutCompleteEvent=this.createEvent("animateOutComplete");this.animateOutCompleteEvent.signature=D.LIST;this.animIn=new this.animClass(this.targetElement,this.attrIn.attributes,this.attrIn.duration,this.attrIn.method);this.animIn.onStart.subscribe(this.handleStartAnimateIn,this);this.animIn.onTween.subscribe(this.handleTweenAnimateIn,this);this.animIn.onComplete.subscribe(this.handleCompleteAnimateIn,this);this.animOut=new this.animClass(this.targetElement,this.attrOut.attributes,this.attrOut.duration,this.attrOut.method);this.animOut.onStart.subscribe(this.handleStartAnimateOut,this);this.animOut.onTween.subscribe(this.handleTweenAnimateOut,this);this.animOut.onComplete.subscribe(this.handleCompleteAnimateOut,this);},animateIn:function(){this.beforeAnimateInEvent.fire();this.animIn.animate();},animateOut:function(){this.beforeAnimateOutEvent.fire();this.animOut.animate();},handleStartAnimateIn:function(F,E,G){},handleTweenAnimateIn:function(F,E,G){},handleCompleteAnimateIn:function(F,E,G){},handleStartAnimateOut:function(F,E,G){},handleTweenAnimateOut:function(F,E,G){},handleCompleteAnimateOut:function(F,E,G){},toString:function(){var E="ContainerEffect";if(this.overlay){E+=" ["+this.overlay.toString()+"]";}return E;}};YAHOO.lang.augmentProto(A,YAHOO.util.EventProvider);})();YAHOO.register("containercore",YAHOO.widget.Module,{version:"2.5.1",build:"984"});
\ No newline at end of file
diff --git a/koha-tmpl/opac-tmpl/lib/yui/menu.css b/koha-tmpl/opac-tmpl/lib/yui/menu.css
new file mode 100644 (file)
index 0000000..2b18dc6
--- /dev/null
@@ -0,0 +1,7 @@
+/*
+Copyright (c) 2007, Yahoo! Inc. All rights reserved.
+Code licensed under the BSD License:
+http://developer.yahoo.net/yui/license.txt
+version: 2.3.1
+*/
+.yuimenu .yuimenu,.yuimenubar .yuimenu{position:absolute;visibility:hidden;}.yuimenubar li,.yuimenu li{list-style-type:none;}.yuimenubar ul,.yuimenu ul,.yuimenubar li,.yuimenu li,.yuimenu h6,.yuimenubar h6{margin:0;padding:0;}.yuimenuitemlabel,.yuimenubaritemlabel{white-space:nowrap;}.yui-menu-shadow{position:absolute;z-index:-1;}.hide-scrollbars *{overflow:hidden;}.hide-scrollbars select{display:none;}.yuimenu.show-scrollbars{overflow:visible;}.yuimenu.hide-scrollbars .yui-menu-shadow{overflow:hidden;}.yuimenu.show-scrollbars .yui-menu-shadow{overflow:auto;}body .yuimenubar{border:solid 1px #808080;background:url(yui-sprite.png) repeat-x 0 0;}body .yuimenubar .bd,body .yuimenubar ul{*zoom:1;}body .yuimenubar>.bd>ul:after{content:".";display:block;clear:both;visibility:hidden;height:0;line-height:0;}body .yuimenubaritem{float:left;}body .yuimenubarnav .yuimenubaritem{border-right:solid 1px #ccc;}body .yuimenubaritemlabel{display:block;*display:inline-block;font-size:93%;line-height:2;*line-height:1.9;padding:0 10px;color:#000;text-decoration:none;outline:none;cursor:default;border-style:solid;border-color:#808080;border-width:1px 0;position:relative;margin:-1px 0;}body .yuimenubarnav .yuimenubaritemlabel{padding-right:20px;}body .yuimenubaritemlabel .submenuindicator{width:1px;height:1px;top:0;left:0;}body .yuimenubarnav .yuimenubaritemlabel .submenuindicator{top:50%;right:8px;left:auto;margin-top:-3px;height:4px;width:7px;text-indent:8px;background-position:-16px -856px;}body .yuimenubaritem a.selected{background:url(yui-sprite.png) repeat-x 0 -1700px;border-color:#7D98B8;}body .yuimenubarnav .yuimenubaritem a.selected{border-left-width:1px;margin-left:-1px;*left:-1px;}body .yuimenubar a.selected .submenuindicator{background:transparent;}body .yuimenubarnav a.selected .submenuindicator{background:url(yui-sprite.png) repeat-x -16px -856px;}body .yuimenubaritem a.disabled{cursor:default;color:#A6A6A6;}body .yuimenubarnav .yuimenubaritem a.disabled .submenuindicator{background-position:-16px -881px;}body .yuimenu .bd{border:solid 1px #808080;background-color:#fff;}body .yuimenu ul{padding:3px 0;border-width:1px 0 0 0;border-color:#ccc;border-style:solid;}body .yuimenu ul.first-of-type{border-width:0;}body .yuimenu h6{font-size:93%;font-weight:bold;line-height:1.5;*line-height:1.45;border-style:solid;border-color:#ccc;border-width:1px 0 0 0;color:#a4a4a4;padding:3px 10px 0 10px;}body .yuimenu ul.hastitle,body .yuimenu h6.first-of-type{border-width:0;}body .yuimenu .yui-menu-body-scrolled{border-color:#ccc #808080;overflow:hidden;}body .yuimenu .topscrollbar,body .yuimenu .bottomscrollbar{height:16px;border:solid 1px #808080;background:#fff url(yui-sprite.png) no-repeat 0 0;}body .yuimenu .topscrollbar{border-bottom-width:0;background-position:center -950px;}body .yuimenu .topscrollbar_disabled{background-position:center -975px;}body .yuimenu .bottomscrollbar{border-top-width:0;background-position:center -850px;}body .yuimenu .bottomscrollbar_disabled{background-position:center -875px;}body .yuimenuitemlabel{font-size:93%;line-height:1.5;*line-height:1.45;padding:0 20px;display:block;color:#000;text-decoration:none;outline:none;position:relative;*position:static;cursor:default;}body .yuimenuitemlabel .helptext{font-style:normal;display:block;margin:-1.5em 0 0 10em;*margin-top:-1.45em;}body .yuimenuitemlabel .submenuindicator,body .yuimenuitemlabel .checkedindicator,body .yuimenubaritemlabel .submenuindicator{position:absolute;overflow:hidden;background:url(yui-sprite.png) no-repeat;}body .yuimenuitemlabel .submenuindicator,body .yuimenuitemlabel .checkedindicator{*position:static;*display:inline-block;}body .yuimenuitemlabel .submenuindicator{top:50%;right:8px;margin-top:-3px;height:7px;width:4px;text-indent:5px;background-position:0 -906px;}body .yuimenuitemlabel .checkedindicator{top:50%;left:8px;margin-top:-3px;height:7px;width:7px;text-indent:8px;background-position:0 -1006px;}body .visible .yuimenuitemlabel .submenuindicator{*float:right;*margin:-1em 8px 0 8px;}body .visible .yuimenuitem .hassubmenu{*padding-right:0;}body .visible .yuimenuitemlabel .checkedindicator{*float:left;*margin:-1em 0 0 -12px;}body .yui-menu-shadow-visible{top:2px;right:-3px;left:-3px;bottom:-3px;background-color:#000;opacity:.12;*filter:alpha(opacity=12);visibility:visible;}body .visible .bd,body .visible .yuimenuitem{_zoom:1;}body .visible .yuimenuitemlabel{*zoom:1;}body .yuimenuitem a.selected{background:#B3D4FF;}body .yuimenubar .yuimenuitem a.selected .submenuindicator{background:url(yui-sprite.png) no-repeat 0 -906px;}body .yuimenubarnav .yuimenuitem a.selected{border-width:0;margin:0;*left:0;}body .yuimenuitem a.disabled{cursor:default;color:#A6A6A6;}body .yuimenuitem a.disabled .submenuindicator{background-position:0 -931px;}body .yuimenuitem a.disabled .checkedindicator{background-position:0 -1031px;}
diff --git a/koha-tmpl/opac-tmpl/lib/yui/menu/menu-min.js b/koha-tmpl/opac-tmpl/lib/yui/menu/menu-min.js
new file mode 100644 (file)
index 0000000..137c9b1
--- /dev/null
@@ -0,0 +1,16 @@
+/*
+Copyright (c) 2008, Yahoo! Inc. All rights reserved.
+Code licensed under the BSD License:
+http://developer.yahoo.net/yui/license.txt
+version: 2.5.1
+*/
+(function(){var B=YAHOO.util.Dom,A=YAHOO.util.Event;YAHOO.widget.MenuManager=function(){var N=false,F={},Q={},J={},E={"click":"clickEvent","mousedown":"mouseDownEvent","mouseup":"mouseUpEvent","mouseover":"mouseOverEvent","mouseout":"mouseOutEvent","keydown":"keyDownEvent","keyup":"keyUpEvent","keypress":"keyPressEvent"},K=null;function D(S){var R;if(S&&S.tagName){switch(S.tagName.toUpperCase()){case"DIV":R=S.parentNode;if((B.hasClass(S,"hd")||B.hasClass(S,"bd")||B.hasClass(S,"ft"))&&R&&R.tagName&&R.tagName.toUpperCase()=="DIV"){return R;}else{return S;}break;case"LI":return S;default:R=S.parentNode;if(R){return D(R);}break;}}}function G(V){var R=A.getTarget(V),S=D(R),X,T,U,Z,Y;if(S){T=S.tagName.toUpperCase();if(T=="LI"){U=S.id;if(U&&J[U]){Z=J[U];Y=Z.parent;}}else{if(T=="DIV"){if(S.id){Y=F[S.id];}}}}if(Y){X=E[V.type];if(Z&&!Z.cfg.getProperty("disabled")){Z[X].fire(V);if(V.type=="keyup"||V.type=="mousedown"){if(K!=Z){if(K){K.blurEvent.fire();}Z.focusEvent.fire();}}}Y[X].fire(V,Z);}else{if(V.type=="mousedown"){if(K){K.blurEvent.fire();K=null;}for(var W in Q){if(YAHOO.lang.hasOwnProperty(Q,W)){Y=Q[W];if(Y.cfg.getProperty("clicktohide")&&!(Y instanceof YAHOO.widget.MenuBar)&&Y.cfg.getProperty("position")=="dynamic"){Y.hide();}else{Y.clearActiveItem(true);}}}}else{if(V.type=="keyup"){if(K){K.blurEvent.fire();K=null;}}}}}function P(S,R,T){if(F[T.id]){this.removeMenu(T);}}function M(S,R){var T=R[0];if(T){K=T;}}function H(S,R){K=null;}function C(T,S){var R=S[0],U=this.id;if(R){Q[U]=this;}else{if(Q[U]){delete Q[U];}}}function L(S,R){O(this);}function O(S){var R=S.id;if(R&&J[R]){if(K==S){K=null;}delete J[R];S.destroyEvent.unsubscribe(L);}}function I(S,R){var U=R[0],T;if(U instanceof YAHOO.widget.MenuItem){T=U.id;if(!J[T]){J[T]=U;U.destroyEvent.subscribe(L);}}}return{addMenu:function(S){var R;if(S instanceof YAHOO.widget.Menu&&S.id&&!F[S.id]){F[S.id]=S;if(!N){R=document;A.on(R,"mouseover",G,this,true);A.on(R,"mouseout",G,this,true);A.on(R,"mousedown",G,this,true);A.on(R,"mouseup",G,this,true);A.on(R,"click",G,this,true);A.on(R,"keydown",G,this,true);A.on(R,"keyup",G,this,true);A.on(R,"keypress",G,this,true);N=true;}S.cfg.subscribeToConfigEvent("visible",C);S.destroyEvent.subscribe(P,S,this);S.itemAddedEvent.subscribe(I);S.focusEvent.subscribe(M);S.blurEvent.subscribe(H);}},removeMenu:function(U){var S,R,T;if(U){S=U.id;if(F[S]==U){R=U.getItems();if(R&&R.length>0){T=R.length-1;do{O(R[T]);}while(T--);}delete F[S];if(Q[S]==U){delete Q[S];}if(U.cfg){U.cfg.unsubscribeFromConfigEvent("visible",C);}U.destroyEvent.unsubscribe(P,U);U.itemAddedEvent.unsubscribe(I);U.focusEvent.unsubscribe(M);U.blurEvent.unsubscribe(H);}}},hideVisible:function(){var R;for(var S in Q){if(YAHOO.lang.hasOwnProperty(Q,S)){R=Q[S];if(!(R instanceof YAHOO.widget.MenuBar)&&R.cfg.getProperty("position")=="dynamic"){R.hide();}}}},getVisible:function(){return Q;},getMenus:function(){return F;},getMenu:function(S){var R=F[S];if(R){return R;}},getMenuItem:function(R){var S=J[R];if(S){return S;}},getMenuItemGroup:function(U){var S=B.get(U),R,W,V,T;if(S&&S.tagName&&S.tagName.toUpperCase()=="UL"){W=S.firstChild;if(W){R=[];do{T=W.id;if(T){V=this.getMenuItem(T);if(V){R[R.length]=V;}}}while((W=W.nextSibling));if(R.length>0){return R;}}}},getFocusedMenuItem:function(){return K;},getFocusedMenu:function(){if(K){return(K.parent.getRoot());}},toString:function(){return"MenuManager";}};}();})();(function(){YAHOO.widget.Menu=function(O,N){if(N){this.parent=N.parent;this.lazyLoad=N.lazyLoad||N.lazyload;this.itemData=N.itemData||N.itemdata;}YAHOO.widget.Menu.superclass.constructor.call(this,O,N);};function I(N){if(typeof N=="string"){return("dynamic,static".indexOf((N.toLowerCase()))!=-1);}}var C=YAHOO.util.Dom,M=YAHOO.util.Event,D=YAHOO.widget.Module,B=YAHOO.widget.Overlay,F=YAHOO.widget.Menu,K=YAHOO.widget.MenuManager,L=YAHOO.util.CustomEvent,E=YAHOO.lang,H=YAHOO.env.ua,G,A={"MOUSE_OVER":"mouseover","MOUSE_OUT":"mouseout","MOUSE_DOWN":"mousedown","MOUSE_UP":"mouseup","CLICK":"click","KEY_PRESS":"keypress","KEY_DOWN":"keydown","KEY_UP":"keyup","FOCUS":"focus","BLUR":"blur","ITEM_ADDED":"itemAdded","ITEM_REMOVED":"itemRemoved"},J={"VISIBLE":{key:"visible",value:false,validator:E.isBoolean},"CONSTRAIN_TO_VIEWPORT":{key:"constraintoviewport",value:true,validator:E.isBoolean,supercedes:["iframe","x","y","xy"]},"POSITION":{key:"position",value:"dynamic",validator:I,supercedes:["visible","iframe"]},"SUBMENU_ALIGNMENT":{key:"submenualignment",value:["tl","tr"],suppressEvent:true},"AUTO_SUBMENU_DISPLAY":{key:"autosubmenudisplay",value:true,validator:E.isBoolean,suppressEvent:true},"SHOW_DELAY":{key:"showdelay",value:250,validator:E.isNumber,suppressEvent:true},"HIDE_DELAY":{key:"hidedelay",value:0,validator:E.isNumber,suppressEvent:true},"SUBMENU_HIDE_DELAY":{key:"submenuhidedelay",value:250,validator:E.isNumber,suppressEvent:true},"CLICK_TO_HIDE":{key:"clicktohide",value:true,validator:E.isBoolean,suppressEvent:true},"CONTAINER":{key:"container",suppressEvent:true},"SCROLL_INCREMENT":{key:"scrollincrement",value:1,validator:E.isNumber,supercedes:["maxheight"],suppressEvent:true},"MIN_SCROLL_HEIGHT":{key:"minscrollheight",value:90,validator:E.isNumber,supercedes:["maxheight"],suppressEvent:true},"MAX_HEIGHT":{key:"maxheight",value:0,validator:E.isNumber,supercedes:["iframe"],suppressEvent:true},"CLASS_NAME":{key:"classname",value:null,validator:E.isString,suppressEvent:true},"DISABLED":{key:"disabled",value:false,validator:E.isBoolean,suppressEvent:true}};YAHOO.lang.extend(F,B,{CSS_CLASS_NAME:"yuimenu",ITEM_TYPE:null,GROUP_TITLE_TAG_NAME:"h6",OFF_SCREEN_POSITION:[-10000,-10000],_nHideDelayId:null,_nShowDelayId:null,_nSubmenuHideDelayId:null,_nBodyScrollId:null,_bHideDelayEventHandlersAssigned:false,_bHandledMouseOverEvent:false,_bHandledMouseOutEvent:false,_aGroupTitleElements:null,_aItemGroups:null,_aListElements:null,_nCurrentMouseX:0,_bStopMouseEventHandlers:false,_sClassName:null,lazyLoad:false,itemData:null,activeItem:null,parent:null,srcElement:null,mouseOverEvent:null,mouseOutEvent:null,mouseDownEvent:null,mouseUpEvent:null,clickEvent:null,keyPressEvent:null,keyDownEvent:null,keyUpEvent:null,itemAddedEvent:null,itemRemovedEvent:null,init:function(P,O){this._aItemGroups=[];
+this._aListElements=[];this._aGroupTitleElements=[];if(!this.ITEM_TYPE){this.ITEM_TYPE=YAHOO.widget.MenuItem;}var N;if(typeof P=="string"){N=document.getElementById(P);}else{if(P.tagName){N=P;}}if(N&&N.tagName){switch(N.tagName.toUpperCase()){case"DIV":this.srcElement=N;if(!N.id){N.setAttribute("id",C.generateId());}F.superclass.init.call(this,N);this.beforeInitEvent.fire(F);break;case"SELECT":this.srcElement=N;F.superclass.init.call(this,C.generateId());this.beforeInitEvent.fire(F);break;}}else{F.superclass.init.call(this,P);this.beforeInitEvent.fire(F);}if(this.element){C.addClass(this.element,this.CSS_CLASS_NAME);this.initEvent.subscribe(this._onInit);this.beforeRenderEvent.subscribe(this._onBeforeRender);this.renderEvent.subscribe(this._onRender);this.renderEvent.subscribe(this.onRender);this.beforeShowEvent.subscribe(this._onBeforeShow);this.hideEvent.subscribe(this.positionOffScreen);this.showEvent.subscribe(this._onShow);this.beforeHideEvent.subscribe(this._onBeforeHide);this.mouseOverEvent.subscribe(this._onMouseOver);this.mouseOutEvent.subscribe(this._onMouseOut);this.clickEvent.subscribe(this._onClick);this.keyDownEvent.subscribe(this._onKeyDown);this.keyPressEvent.subscribe(this._onKeyPress);if(H.gecko||H.webkit){this.cfg.subscribeToConfigEvent("y",this._onYChange);}if(O){this.cfg.applyConfig(O,true);}K.addMenu(this);this.initEvent.fire(F);}},_initSubTree:function(){var O=this.srcElement,N,Q,T,U,S,R,P;if(O){N=(O.tagName&&O.tagName.toUpperCase());if(N=="DIV"){U=this.body.firstChild;if(U){Q=0;T=this.GROUP_TITLE_TAG_NAME.toUpperCase();do{if(U&&U.tagName){switch(U.tagName.toUpperCase()){case T:this._aGroupTitleElements[Q]=U;break;case"UL":this._aListElements[Q]=U;this._aItemGroups[Q]=[];Q++;break;}}}while((U=U.nextSibling));if(this._aListElements[0]){C.addClass(this._aListElements[0],"first-of-type");}}}U=null;if(N){switch(N){case"DIV":S=this._aListElements;R=S.length;if(R>0){P=R-1;do{U=S[P].firstChild;if(U){do{if(U&&U.tagName&&U.tagName.toUpperCase()=="LI"){this.addItem(new this.ITEM_TYPE(U,{parent:this}),P);}}while((U=U.nextSibling));}}while(P--);}break;case"SELECT":U=O.firstChild;do{if(U&&U.tagName){switch(U.tagName.toUpperCase()){case"OPTGROUP":case"OPTION":this.addItem(new this.ITEM_TYPE(U,{parent:this}));break;}}}while((U=U.nextSibling));break;}}}},_getFirstEnabledItem:function(){var N=this.getItems(),Q=N.length,P;for(var O=0;O<Q;O++){P=N[O];if(P&&!P.cfg.getProperty("disabled")&&P.element.style.display!="none"){return P;}}},_addItemToGroup:function(S,T,W){var U,X,Q,V,R,O,P;function N(Y,Z){return(Y[Z]||N(Y,(Z+1)));}if(T instanceof this.ITEM_TYPE){U=T;U.parent=this;}else{if(typeof T=="string"){U=new this.ITEM_TYPE(T,{parent:this});}else{if(typeof T=="object"){T.parent=this;U=new this.ITEM_TYPE(T.text,T);}}}if(U){if(U.cfg.getProperty("selected")){this.activeItem=U;}X=typeof S=="number"?S:0;Q=this._getItemGroup(X);if(!Q){Q=this._createItemGroup(X);}if(typeof W=="number"){R=(W>=Q.length);if(Q[W]){Q.splice(W,0,U);}else{Q[W]=U;}V=Q[W];if(V){if(R&&(!V.element.parentNode||V.element.parentNode.nodeType==11)){this._aListElements[X].appendChild(V.element);}else{O=N(Q,(W+1));if(O&&(!V.element.parentNode||V.element.parentNode.nodeType==11)){this._aListElements[X].insertBefore(V.element,O.element);}}V.parent=this;this._subscribeToItemEvents(V);this._configureSubmenu(V);this._updateItemProperties(X);this.itemAddedEvent.fire(V);this.changeContentEvent.fire();return V;}}else{P=Q.length;Q[P]=U;V=Q[P];if(V){if(!C.isAncestor(this._aListElements[X],V.element)){this._aListElements[X].appendChild(V.element);}V.element.setAttribute("groupindex",X);V.element.setAttribute("index",P);V.parent=this;V.index=P;V.groupIndex=X;this._subscribeToItemEvents(V);this._configureSubmenu(V);if(P===0){C.addClass(V.element,"first-of-type");}this.itemAddedEvent.fire(V);this.changeContentEvent.fire();return V;}}}},_removeItemFromGroupByIndex:function(Q,O){var P=typeof Q=="number"?Q:0,R=this._getItemGroup(P),T,S,N;if(R){T=R.splice(O,1);S=T[0];if(S){this._updateItemProperties(P);if(R.length===0){N=this._aListElements[P];if(this.body&&N){this.body.removeChild(N);}this._aItemGroups.splice(P,1);this._aListElements.splice(P,1);N=this._aListElements[0];if(N){C.addClass(N,"first-of-type");}}this.itemRemovedEvent.fire(S);this.changeContentEvent.fire();return S;}}},_removeItemFromGroupByValue:function(P,N){var R=this._getItemGroup(P),S,Q,O;if(R){S=R.length;Q=-1;if(S>0){O=S-1;do{if(R[O]==N){Q=O;break;}}while(O--);if(Q>-1){return(this._removeItemFromGroupByIndex(P,Q));}}}},_updateItemProperties:function(O){var P=this._getItemGroup(O),S=P.length,R,Q,N;if(S>0){N=S-1;do{R=P[N];if(R){Q=R.element;R.index=N;R.groupIndex=O;Q.setAttribute("groupindex",O);Q.setAttribute("index",N);C.removeClass(Q,"first-of-type");}}while(N--);if(Q){C.addClass(Q,"first-of-type");}}},_createItemGroup:function(O){var N;if(!this._aItemGroups[O]){this._aItemGroups[O]=[];N=document.createElement("ul");this._aListElements[O]=N;return this._aItemGroups[O];}},_getItemGroup:function(O){var N=((typeof O=="number")?O:0);return this._aItemGroups[N];},_configureSubmenu:function(N){var O=N.cfg.getProperty("submenu");if(O){this.cfg.configChangedEvent.subscribe(this._onParentMenuConfigChange,O,true);this.renderEvent.subscribe(this._onParentMenuRender,O,true);O.beforeShowEvent.subscribe(this._onSubmenuBeforeShow);}},_subscribeToItemEvents:function(N){N.focusEvent.subscribe(this._onMenuItemFocus);N.blurEvent.subscribe(this._onMenuItemBlur);N.destroyEvent.subscribe(this._onMenuItemDestroy,N,this);N.cfg.configChangedEvent.subscribe(this._onMenuItemConfigChange,N,this);},_onVisibleChange:function(P,O){var N=O[0];if(N){C.addClass(this.element,"visible");}else{C.removeClass(this.element,"visible");}},_cancelHideDelay:function(){var N=this.getRoot();if(N._nHideDelayId){window.clearTimeout(N._nHideDelayId);}},_execHideDelay:function(){this._cancelHideDelay();var O=this.getRoot(),P=this;function N(){if(O.activeItem){O.clearActiveItem();}if(O==P&&!(P instanceof YAHOO.widget.MenuBar)&&P.cfg.getProperty("position")=="dynamic"){P.hide();
+}}O._nHideDelayId=window.setTimeout(N,O.cfg.getProperty("hidedelay"));},_cancelShowDelay:function(){var N=this.getRoot();if(N._nShowDelayId){window.clearTimeout(N._nShowDelayId);}},_execShowDelay:function(P){var O=this.getRoot();function N(){if(P.parent.cfg.getProperty("selected")){P.show();}}O._nShowDelayId=window.setTimeout(N,O.cfg.getProperty("showdelay"));},_execSubmenuHideDelay:function(Q,O,N){var P=this;Q._nSubmenuHideDelayId=window.setTimeout(function(){if(P._nCurrentMouseX>(O+10)){Q._nSubmenuHideDelayId=window.setTimeout(function(){Q.hide();},N);}else{Q.hide();}},50);},_disableScrollHeader:function(){if(!this._bHeaderDisabled){C.addClass(this.header,"topscrollbar_disabled");this._bHeaderDisabled=true;}},_disableScrollFooter:function(){if(!this._bFooterDisabled){C.addClass(this.footer,"bottomscrollbar_disabled");this._bFooterDisabled=true;}},_enableScrollHeader:function(){if(this._bHeaderDisabled){C.removeClass(this.header,"topscrollbar_disabled");this._bHeaderDisabled=false;}},_enableScrollFooter:function(){if(this._bFooterDisabled){C.removeClass(this.footer,"bottomscrollbar_disabled");this._bFooterDisabled=false;}},_onMouseOver:function(W,R){if(this._bStopMouseEventHandlers){return false;}var X=R[0],V=R[1],N=M.getTarget(X),O,Q,U,P,T,S;if(!this._bHandledMouseOverEvent&&(N==this.element||C.isAncestor(this.element,N))){this._nCurrentMouseX=0;M.on(this.element,"mousemove",this._onMouseMove,this,true);if(!C.isAncestor(V.element,M.getRelatedTarget(X))){this.clearActiveItem();}if(this.parent&&this._nSubmenuHideDelayId){window.clearTimeout(this._nSubmenuHideDelayId);this.parent.cfg.setProperty("selected",true);O=this.parent.parent;O._bHandledMouseOutEvent=true;O._bHandledMouseOverEvent=false;}this._bHandledMouseOverEvent=true;this._bHandledMouseOutEvent=false;}if(V&&!V.handledMouseOverEvent&&!V.cfg.getProperty("disabled")&&(N==V.element||C.isAncestor(V.element,N))){Q=this.cfg.getProperty("showdelay");U=(Q>0);if(U){this._cancelShowDelay();}P=this.activeItem;if(P){P.cfg.setProperty("selected",false);}T=V.cfg;T.setProperty("selected",true);if(this.hasFocus()){V.focus();}if(this.cfg.getProperty("autosubmenudisplay")){S=T.getProperty("submenu");if(S){if(U){this._execShowDelay(S);}else{S.show();}}}V.handledMouseOverEvent=true;V.handledMouseOutEvent=false;}},_onMouseOut:function(V,P){if(this._bStopMouseEventHandlers){return false;}var W=P[0],T=P[1],Q=M.getRelatedTarget(W),U=false,S,R,N,O;if(T&&!T.cfg.getProperty("disabled")){S=T.cfg;R=S.getProperty("submenu");if(R&&(Q==R.element||C.isAncestor(R.element,Q))){U=true;}if(!T.handledMouseOutEvent&&((Q!=T.element&&!C.isAncestor(T.element,Q))||U)){if(!U){T.cfg.setProperty("selected",false);if(R){N=this.cfg.getProperty("submenuhidedelay");O=this.cfg.getProperty("showdelay");if(!(this instanceof YAHOO.widget.MenuBar)&&N>0&&O>=N){this._execSubmenuHideDelay(R,M.getPageX(W),N);}else{R.hide();}}}T.handledMouseOutEvent=true;T.handledMouseOverEvent=false;}}if(!this._bHandledMouseOutEvent&&((Q!=this.element&&!C.isAncestor(this.element,Q))||U)){M.removeListener(this.element,"mousemove",this._onMouseMove);this._nCurrentMouseX=M.getPageX(W);this._bHandledMouseOutEvent=true;this._bHandledMouseOverEvent=false;}},_onMouseMove:function(O,N){if(this._bStopMouseEventHandlers){return false;}this._nCurrentMouseX=M.getPageX(O);},_onClick:function(Y,Q){var W=YAHOO.util.Event,P=YAHOO.util.Dom,Z=Q[0],T=Q[1],R,V=false,O,N,S,U,X;if(T){if(T.cfg.getProperty("disabled")){W.preventDefault(Z);}else{R=T.cfg.getProperty("submenu");S=T.cfg.getProperty("url");if(S){U=S.indexOf("#");X=S.length;if(U!=-1){S=S.substr(U,X);X=S.length;if(X>1){N=S.substr(1,X);V=P.isAncestor(this.element,N);}else{if(X===1){V=true;}}}}if(V&&!T.cfg.getProperty("target")){W.preventDefault(Z);if(H.webkit){T.focus();}else{T.focusEvent.fire();}}if(!R){O=this.getRoot();if(O instanceof YAHOO.widget.MenuBar||O.cfg.getProperty("position")=="static"){O.clearActiveItem();}else{O.hide();}}}}},_onKeyDown:function(b,V){var Y=V[0],X=V[1],f=this,U,Z,O,S,c,N,e,R,a,Q,W,d,T;function P(){f._bStopMouseEventHandlers=true;window.setTimeout(function(){f._bStopMouseEventHandlers=false;},10);}if(X&&!X.cfg.getProperty("disabled")){Z=X.cfg;O=this.parent;switch(Y.keyCode){case 38:case 40:c=(Y.keyCode==38)?X.getPreviousEnabledSibling():X.getNextEnabledSibling();if(c){this.clearActiveItem();c.cfg.setProperty("selected",true);c.focus();if(this.cfg.getProperty("maxheight")>0){N=this.body;e=N.scrollTop;R=N.offsetHeight;a=this.getItems();Q=a.length-1;W=c.element.offsetTop;if(Y.keyCode==40){if(W>=(R+e)){N.scrollTop=W-R;}else{if(W<=e){N.scrollTop=0;}}if(c==a[Q]){N.scrollTop=c.element.offsetTop;}}else{if(W<=e){N.scrollTop=W-c.element.offsetHeight;}else{if(W>=(e+R)){N.scrollTop=W;}}if(c==a[0]){N.scrollTop=0;}}e=N.scrollTop;d=N.scrollHeight-N.offsetHeight;if(e===0){this._disableScrollHeader();this._enableScrollFooter();}else{if(e==d){this._enableScrollHeader();this._disableScrollFooter();}else{this._enableScrollHeader();this._enableScrollFooter();}}}}M.preventDefault(Y);P();break;case 39:U=Z.getProperty("submenu");if(U){if(!Z.getProperty("selected")){Z.setProperty("selected",true);}U.show();U.setInitialFocus();U.setInitialSelection();}else{S=this.getRoot();if(S instanceof YAHOO.widget.MenuBar){c=S.activeItem.getNextEnabledSibling();if(c){S.clearActiveItem();c.cfg.setProperty("selected",true);U=c.cfg.getProperty("submenu");if(U){U.show();}c.focus();}}}M.preventDefault(Y);P();break;case 37:if(O){T=O.parent;if(T instanceof YAHOO.widget.MenuBar){c=T.activeItem.getPreviousEnabledSibling();if(c){T.clearActiveItem();c.cfg.setProperty("selected",true);U=c.cfg.getProperty("submenu");if(U){U.show();}c.focus();}}else{this.hide();O.focus();}}M.preventDefault(Y);P();break;}}if(Y.keyCode==27){if(this.cfg.getProperty("position")=="dynamic"){this.hide();if(this.parent){this.parent.focus();}}else{if(this.activeItem){U=this.activeItem.cfg.getProperty("submenu");if(U&&U.cfg.getProperty("visible")){U.hide();this.activeItem.focus();}else{this.activeItem.blur();this.activeItem.cfg.setProperty("selected",false);
+}}}M.preventDefault(Y);}},_onKeyPress:function(P,O){var N=O[0];if(N.keyCode==40||N.keyCode==38){M.preventDefault(N);}},_onYChange:function(O,N){var Q=this.parent,S,P,R;if(Q){S=Q.parent.body.scrollTop;if(S>0){R=(this.cfg.getProperty("y")-S);C.setY(this.element,R);P=this.iframe;if(P){C.setY(P,R);}this.cfg.setProperty("y",R,true);}}},_onScrollTargetMouseOver:function(T,W){this._cancelHideDelay();var P=M.getTarget(T),R=this.body,V=this,Q=this.cfg.getProperty("scrollincrement"),N,O;function U(){var X=R.scrollTop;if(X<N){R.scrollTop=(X+Q);V._enableScrollHeader();}else{R.scrollTop=N;window.clearInterval(V._nBodyScrollId);V._disableScrollFooter();}}function S(){var X=R.scrollTop;if(X>0){R.scrollTop=(X-Q);V._enableScrollFooter();}else{R.scrollTop=0;window.clearInterval(V._nBodyScrollId);V._disableScrollHeader();}}if(C.hasClass(P,"hd")){O=S;}else{N=R.scrollHeight-R.offsetHeight;O=U;}this._nBodyScrollId=window.setInterval(O,10);},_onScrollTargetMouseOut:function(O,N){window.clearInterval(this._nBodyScrollId);this._cancelHideDelay();},_onInit:function(O,N){this.cfg.subscribeToConfigEvent("visible",this._onVisibleChange);var P=!this.parent,Q=this.lazyLoad;if(((P&&!Q)||(P&&(this.cfg.getProperty("visible")||this.cfg.getProperty("position")=="static"))||(!P&&!Q))&&this.getItemGroups().length===0){if(this.srcElement){this._initSubTree();}if(this.itemData){this.addItems(this.itemData);}}else{if(Q){this.cfg.fireQueue();}}},_onBeforeRender:function(Q,P){var R=this.element,U=this._aListElements.length,O=true,T=0,N,S;if(U>0){do{N=this._aListElements[T];if(N){if(O){C.addClass(N,"first-of-type");O=false;}if(!C.isAncestor(R,N)){this.appendToBody(N);}S=this._aGroupTitleElements[T];if(S){if(!C.isAncestor(R,S)){N.parentNode.insertBefore(S,N);}C.addClass(N,"hastitle");}}T++;}while(T<U);}},_onRender:function(O,N){if(this.cfg.getProperty("position")=="dynamic"){if(!this.cfg.getProperty("visible")){this.positionOffScreen();}}},_onBeforeShow:function(W,R){var V,O,S,Q,T;if(this.lazyLoad&&this.getItemGroups().length===0){if(this.srcElement){this._initSubTree();}if(this.itemData){if(this.parent&&this.parent.parent&&this.parent.parent.srcElement&&this.parent.parent.srcElement.tagName.toUpperCase()=="SELECT"){V=this.itemData.length;for(O=0;O<V;O++){if(this.itemData[O].tagName){this.addItem((new this.ITEM_TYPE(this.itemData[O])));}}}else{this.addItems(this.itemData);}}T=this.srcElement;if(T){if(T.tagName.toUpperCase()=="SELECT"){if(C.inDocument(T)){this.render(T.parentNode);}else{this.render(this.cfg.getProperty("container"));}}else{this.render();}}else{if(this.parent){this.render(this.parent.element);}else{this.render(this.cfg.getProperty("container"));}}}var P=this.cfg.getProperty("maxheight"),N=this.cfg.getProperty("minscrollheight"),U=this.cfg.getProperty("position")=="dynamic";if(!this.parent&&U){this.cfg.refireEvent("xy");}function X(){this.cfg.setProperty("maxheight",0);this.hideEvent.unsubscribe(X);}if(!(this instanceof YAHOO.widget.MenuBar)&&U){if(P===0){S=C.getViewportHeight();if(this.parent&&this.parent.parent instanceof YAHOO.widget.MenuBar){Q=YAHOO.util.Region.getRegion(this.parent.element);S=(S-Q.bottom);}if(this.element.offsetHeight>=S){P=(S-(B.VIEWPORT_OFFSET*2));if(P<N){P=N;}this.cfg.setProperty("maxheight",P);this.hideEvent.subscribe(X);}}}},_onShow:function(Q,P){var T=this.parent,S,N,O;function R(V){var U;if(V.type=="mousedown"||(V.type=="keydown"&&V.keyCode==27)){U=M.getTarget(V);if(U!=S.element||!C.isAncestor(S.element,U)){S.cfg.setProperty("autosubmenudisplay",false);M.removeListener(document,"mousedown",R);M.removeListener(document,"keydown",R);}}}if(T){S=T.parent;N=S.cfg.getProperty("submenualignment");O=this.cfg.getProperty("submenualignment");if((N[0]!=O[0])&&(N[1]!=O[1])){this.cfg.setProperty("submenualignment",[N[0],N[1]]);}if(!S.cfg.getProperty("autosubmenudisplay")&&(S instanceof YAHOO.widget.MenuBar||S.cfg.getProperty("position")=="static")){S.cfg.setProperty("autosubmenudisplay",true);M.on(document,"mousedown",R);M.on(document,"keydown",R);}}},_onBeforeHide:function(P,O){var N=this.activeItem,R,Q;if(N){R=N.cfg;R.setProperty("selected",false);Q=R.getProperty("submenu");if(Q){Q.hide();}}if(this.getRoot()==this){this.blur();}},_onParentMenuConfigChange:function(O,N,R){var P=N[0][0],Q=N[0][1];switch(P){case"iframe":case"constraintoviewport":case"hidedelay":case"showdelay":case"submenuhidedelay":case"clicktohide":case"effect":case"classname":case"scrollincrement":case"minscrollheight":R.cfg.setProperty(P,Q);break;}},_onParentMenuRender:function(O,N,S){var P=S.parent.parent.cfg,Q={constraintoviewport:P.getProperty("constraintoviewport"),xy:[0,0],clicktohide:P.getProperty("clicktohide"),effect:P.getProperty("effect"),showdelay:P.getProperty("showdelay"),hidedelay:P.getProperty("hidedelay"),submenuhidedelay:P.getProperty("submenuhidedelay"),classname:P.getProperty("classname"),scrollincrement:P.getProperty("scrollincrement"),minscrollheight:P.getProperty("minscrollheight"),iframe:P.getProperty("iframe")},R;S.cfg.applyConfig(Q);if(!this.lazyLoad){R=this.parent.element;if(this.element.parentNode==R){this.render();}else{this.render(R);}}},_onSubmenuBeforeShow:function(P,O){var Q=this.parent,N=Q.parent.cfg.getProperty("submenualignment");if(!this.cfg.getProperty("context")){this.cfg.setProperty("context",[Q.element,N[0],N[1]]);}else{this.align();}},_onMenuItemFocus:function(O,N){this.parent.focusEvent.fire(this);},_onMenuItemBlur:function(O,N){this.parent.blurEvent.fire(this);},_onMenuItemDestroy:function(P,O,N){this._removeItemFromGroupByValue(N.groupIndex,N);},_onMenuItemConfigChange:function(P,O,N){var R=O[0][0],S=O[0][1],Q;switch(R){case"selected":if(S===true){this.activeItem=N;}break;case"submenu":Q=O[0][1];if(Q){this._configureSubmenu(N);}break;}},enforceConstraints:function(P,N,T){YAHOO.widget.Menu.superclass.enforceConstraints.apply(this,arguments);var S=this.parent,O,R,Q,U;if(S){O=S.parent;if(!(O instanceof YAHOO.widget.MenuBar)){R=O.cfg.getProperty("x");U=this.cfg.getProperty("x");if(U<(R+S.element.offsetWidth)){Q=(R-this.element.offsetWidth);
+this.cfg.setProperty("x",Q,true);this.cfg.setProperty("xy",[Q,(this.cfg.getProperty("y"))],true);}}}},configVisible:function(P,O,Q){var N,R;if(this.cfg.getProperty("position")=="dynamic"){F.superclass.configVisible.call(this,P,O,Q);}else{N=O[0];R=C.getStyle(this.element,"display");C.setStyle(this.element,"visibility","visible");if(N){if(R!="block"){this.beforeShowEvent.fire();C.setStyle(this.element,"display","block");this.showEvent.fire();}}else{if(R=="block"){this.beforeHideEvent.fire();C.setStyle(this.element,"display","none");this.hideEvent.fire();}}}},configPosition:function(P,O,S){var R=this.element,Q=O[0]=="static"?"static":"absolute",T=this.cfg,N;C.setStyle(R,"position",Q);if(Q=="static"){C.setStyle(R,"display","block");T.setProperty("visible",true);}else{C.setStyle(R,"visibility","hidden");}if(Q=="absolute"){N=T.getProperty("zindex");if(!N||N===0){N=this.parent?(this.parent.parent.cfg.getProperty("zindex")+1):1;T.setProperty("zindex",N);}}},configIframe:function(O,N,P){if(this.cfg.getProperty("position")=="dynamic"){F.superclass.configIframe.call(this,O,N,P);}},configHideDelay:function(O,N,R){var T=N[0],S=this.mouseOutEvent,P=this.mouseOverEvent,Q=this.keyDownEvent;if(T>0){if(!this._bHideDelayEventHandlersAssigned){S.subscribe(this._execHideDelay);P.subscribe(this._cancelHideDelay);Q.subscribe(this._cancelHideDelay);this._bHideDelayEventHandlersAssigned=true;}}else{S.unsubscribe(this._execHideDelay);P.unsubscribe(this._cancelHideDelay);Q.unsubscribe(this._cancelHideDelay);this._bHideDelayEventHandlersAssigned=false;}},configContainer:function(O,N,Q){var P=N[0];if(typeof P=="string"){this.cfg.setProperty("container",document.getElementById(P),true);}},_setMaxHeight:function(O,N,P){this.cfg.setProperty("maxheight",P);this.renderEvent.unsubscribe(this._setMaxHeight);},configMaxHeight:function(a,U,X){var T=U[0],Q=this.element,R=this.body,Y=this.header,O=this.footer,W=this._onScrollTargetMouseOver,b=this._onScrollTargetMouseOut,N=this.cfg.getProperty("minscrollheight"),V,S,P;if(T!==0&&T<N){T=N;}if(this.lazyLoad&&!R){this.renderEvent.unsubscribe(this._setMaxHeight);if(T>0){this.renderEvent.subscribe(this._setMaxHeight,T,this);}return ;}C.setStyle(R,"height","");C.removeClass(R,"yui-menu-body-scrolled");var Z=((H.gecko&&this.parent&&this.parent.parent&&this.parent.parent.cfg.getProperty("position")=="dynamic")||H.ie);if(Z){if(!this.cfg.getProperty("width")){S=Q.offsetWidth;Q.style.width=S+"px";P=(S-(Q.offsetWidth-S))+"px";this.cfg.setProperty("width",P);}}if(!Y&&!O){this.setHeader("&#32;");this.setFooter("&#32;");Y=this.header;O=this.footer;C.addClass(Y,"topscrollbar");C.addClass(O,"bottomscrollbar");Q.insertBefore(Y,R);Q.appendChild(O);}V=(T-(Y.offsetHeight+Y.offsetHeight));if(V>0&&(R.offsetHeight>T)){C.addClass(R,"yui-menu-body-scrolled");C.setStyle(R,"height",(V+"px"));M.on(Y,"mouseover",W,this,true);M.on(Y,"mouseout",b,this,true);M.on(O,"mouseover",W,this,true);M.on(O,"mouseout",b,this,true);this._disableScrollHeader();this._enableScrollFooter();}else{if(Y&&O){if(Z){this.cfg.setProperty("width","");}this._enableScrollHeader();this._enableScrollFooter();M.removeListener(Y,"mouseover",W);M.removeListener(Y,"mouseout",b);M.removeListener(O,"mouseover",W);M.removeListener(O,"mouseout",b);Q.removeChild(Y);Q.removeChild(O);this.header=null;this.footer=null;}}this.cfg.refireEvent("iframe");},configClassName:function(P,O,Q){var N=O[0];if(this._sClassName){C.removeClass(this.element,this._sClassName);}C.addClass(this.element,N);this._sClassName=N;},_onItemAdded:function(O,N){var P=N[0];if(P){P.cfg.setProperty("disabled",true);}},configDisabled:function(P,O,S){var R=O[0],N=this.getItems(),T,Q;if(E.isArray(N)){T=N.length;if(T>0){Q=T-1;do{N[Q].cfg.setProperty("disabled",R);}while(Q--);}if(R){this.clearActiveItem(true);C.addClass(this.element,"disabled");this.itemAddedEvent.subscribe(this._onItemAdded);}else{C.removeClass(this.element,"disabled");this.itemAddedEvent.unsubscribe(this._onItemAdded);}}},onRender:function(R,Q){function S(){var W=this.element,V=this._shadow;if(V&&W){V.style.width=(W.offsetWidth+6)+"px";V.style.height=(W.offsetHeight+1)+"px";}}function U(){this.element.appendChild(this._shadow);}function O(){C.addClass(this._shadow,"yui-menu-shadow-visible");}function N(){C.removeClass(this._shadow,"yui-menu-shadow-visible");}function T(){var W=this._shadow,V,X;if(!W){V=this.element;X=this;if(!G){G=document.createElement("div");G.className="yui-menu-shadow yui-menu-shadow-visible";}W=G.cloneNode(false);V.appendChild(W);this._shadow=W;this.beforeShowEvent.subscribe(O);this.beforeHideEvent.subscribe(N);if(H.ie){window.setTimeout(function(){S.call(X);X.syncIframe();},0);this.cfg.subscribeToConfigEvent("width",S);this.cfg.subscribeToConfigEvent("height",S);this.cfg.subscribeToConfigEvent("maxheight",S);this.changeContentEvent.subscribe(S);D.textResizeEvent.subscribe(S,X,true);this.destroyEvent.subscribe(function(){D.textResizeEvent.unsubscribe(S,X);});}this.cfg.subscribeToConfigEvent("maxheight",U);}}function P(){T.call(this);this.beforeShowEvent.unsubscribe(P);}if(this.cfg.getProperty("position")=="dynamic"){if(this.cfg.getProperty("visible")){T.call(this);}else{this.beforeShowEvent.subscribe(P);}}},initEvents:function(){F.superclass.initEvents.call(this);var N=L.LIST;this.mouseOverEvent=this.createEvent(A.MOUSE_OVER);this.mouseOverEvent.signature=N;this.mouseOutEvent=this.createEvent(A.MOUSE_OUT);this.mouseOutEvent.signature=N;this.mouseDownEvent=this.createEvent(A.MOUSE_DOWN);this.mouseDownEvent.signature=N;this.mouseUpEvent=this.createEvent(A.MOUSE_UP);this.mouseUpEvent.signature=N;this.clickEvent=this.createEvent(A.CLICK);this.clickEvent.signature=N;this.keyPressEvent=this.createEvent(A.KEY_PRESS);this.keyPressEvent.signature=N;this.keyDownEvent=this.createEvent(A.KEY_DOWN);this.keyDownEvent.signature=N;this.keyUpEvent=this.createEvent(A.KEY_UP);this.keyUpEvent.signature=N;this.focusEvent=this.createEvent(A.FOCUS);this.focusEvent.signature=N;this.blurEvent=this.createEvent(A.BLUR);this.blurEvent.signature=N;
+this.itemAddedEvent=this.createEvent(A.ITEM_ADDED);this.itemAddedEvent.signature=N;this.itemRemovedEvent=this.createEvent(A.ITEM_REMOVED);this.itemRemovedEvent.signature=N;},positionOffScreen:function(){var O=this.iframe,N=this.OFF_SCREEN_POSITION;C.setXY(this.element,N);if(O){C.setXY(O,N);}},getRoot:function(){var O=this.parent,N;if(O){N=O.parent;return N?N.getRoot():this;}else{return this;}},toString:function(){var O="Menu",N=this.id;if(N){O+=(" "+N);}return O;},setItemGroupTitle:function(S,R){var Q,P,O,N;if(typeof S=="string"&&S.length>0){Q=typeof R=="number"?R:0;P=this._aGroupTitleElements[Q];if(P){P.innerHTML=S;}else{P=document.createElement(this.GROUP_TITLE_TAG_NAME);P.innerHTML=S;this._aGroupTitleElements[Q]=P;}O=this._aGroupTitleElements.length-1;do{if(this._aGroupTitleElements[O]){C.removeClass(this._aGroupTitleElements[O],"first-of-type");N=O;}}while(O--);if(N!==null){C.addClass(this._aGroupTitleElements[N],"first-of-type");}this.changeContentEvent.fire();}},addItem:function(N,O){if(N){return this._addItemToGroup(O,N);}},addItems:function(Q,P){var S,N,R,O;if(E.isArray(Q)){S=Q.length;N=[];for(O=0;O<S;O++){R=Q[O];if(R){if(E.isArray(R)){N[N.length]=this.addItems(R,O);}else{N[N.length]=this._addItemToGroup(P,R);}}}if(N.length){return N;}}},insertItem:function(N,O,P){if(N){return this._addItemToGroup(P,N,O);}},removeItem:function(N,O){var P;if(typeof N!="undefined"){if(N instanceof YAHOO.widget.MenuItem){P=this._removeItemFromGroupByValue(O,N);}else{if(typeof N=="number"){P=this._removeItemFromGroupByIndex(O,N);}}if(P){P.destroy();return P;}}},getItems:function(){var P=this._aItemGroups,O,N=[];if(E.isArray(P)){O=P.length;return((O==1)?P[0]:(Array.prototype.concat.apply(N,P)));}},getItemGroups:function(){return this._aItemGroups;},getItem:function(N,O){var P;if(typeof N=="number"){P=this._getItemGroup(O);if(P){return P[N];}}},getSubmenus:function(){var O=this.getItems(),S=O.length,N,P,R,Q;if(S>0){N=[];for(Q=0;Q<S;Q++){R=O[Q];if(R){P=R.cfg.getProperty("submenu");if(P){N[N.length]=P;}}}}return N;},clearContent:function(){var R=this.getItems(),O=R.length,P=this.element,Q=this.body,V=this.header,N=this.footer,U,T,S;if(O>0){S=O-1;do{U=R[S];if(U){T=U.cfg.getProperty("submenu");if(T){this.cfg.configChangedEvent.unsubscribe(this._onParentMenuConfigChange,T);this.renderEvent.unsubscribe(this._onParentMenuRender,T);}this.removeItem(U);}}while(S--);}if(V){M.purgeElement(V);P.removeChild(V);}if(N){M.purgeElement(N);P.removeChild(N);}if(Q){M.purgeElement(Q);Q.innerHTML="";}this.activeItem=null;this._aItemGroups=[];this._aListElements=[];this._aGroupTitleElements=[];this.cfg.setProperty("width",null);},destroy:function(){this.clearContent();this._aItemGroups=null;this._aListElements=null;this._aGroupTitleElements=null;F.superclass.destroy.call(this);},setInitialFocus:function(){var N=this._getFirstEnabledItem();if(N){N.focus();}},setInitialSelection:function(){var N=this._getFirstEnabledItem();if(N){N.cfg.setProperty("selected",true);}},clearActiveItem:function(P){if(this.cfg.getProperty("showdelay")>0){this._cancelShowDelay();}var N=this.activeItem,Q,O;if(N){Q=N.cfg;if(P){N.blur();}Q.setProperty("selected",false);O=Q.getProperty("submenu");if(O){O.hide();}this.activeItem=null;}},focus:function(){if(!this.hasFocus()){this.setInitialFocus();}},blur:function(){var N;if(this.hasFocus()){N=K.getFocusedMenuItem();if(N){N.blur();}}},hasFocus:function(){return(K.getFocusedMenu()==this.getRoot());},subscribe:function(){function Q(V,U,X){var Y=U[0],W=Y.cfg.getProperty("submenu");if(W){W.subscribe.apply(W,X);}}function T(V,U,X){var W=this.cfg.getProperty("submenu");if(W){W.subscribe.apply(W,X);}}F.superclass.subscribe.apply(this,arguments);F.superclass.subscribe.call(this,"itemAdded",Q,arguments);var N=this.getItems(),S,R,O,P;if(N){S=N.length;if(S>0){P=S-1;do{R=N[P];O=R.cfg.getProperty("submenu");if(O){O.subscribe.apply(O,arguments);}else{R.cfg.subscribeToConfigEvent("submenu",T,arguments);}}while(P--);}}},initDefaultConfig:function(){F.superclass.initDefaultConfig.call(this);var N=this.cfg;N.addProperty(J.VISIBLE.key,{handler:this.configVisible,value:J.VISIBLE.value,validator:J.VISIBLE.validator});N.addProperty(J.CONSTRAIN_TO_VIEWPORT.key,{handler:this.configConstrainToViewport,value:J.CONSTRAIN_TO_VIEWPORT.value,validator:J.CONSTRAIN_TO_VIEWPORT.validator,supercedes:J.CONSTRAIN_TO_VIEWPORT.supercedes});N.addProperty(J.POSITION.key,{handler:this.configPosition,value:J.POSITION.value,validator:J.POSITION.validator,supercedes:J.POSITION.supercedes});N.addProperty(J.SUBMENU_ALIGNMENT.key,{value:J.SUBMENU_ALIGNMENT.value,suppressEvent:J.SUBMENU_ALIGNMENT.suppressEvent});N.addProperty(J.AUTO_SUBMENU_DISPLAY.key,{value:J.AUTO_SUBMENU_DISPLAY.value,validator:J.AUTO_SUBMENU_DISPLAY.validator,suppressEvent:J.AUTO_SUBMENU_DISPLAY.suppressEvent});N.addProperty(J.SHOW_DELAY.key,{value:J.SHOW_DELAY.value,validator:J.SHOW_DELAY.validator,suppressEvent:J.SHOW_DELAY.suppressEvent});N.addProperty(J.HIDE_DELAY.key,{handler:this.configHideDelay,value:J.HIDE_DELAY.value,validator:J.HIDE_DELAY.validator,suppressEvent:J.HIDE_DELAY.suppressEvent});N.addProperty(J.SUBMENU_HIDE_DELAY.key,{value:J.SUBMENU_HIDE_DELAY.value,validator:J.SUBMENU_HIDE_DELAY.validator,suppressEvent:J.SUBMENU_HIDE_DELAY.suppressEvent});N.addProperty(J.CLICK_TO_HIDE.key,{value:J.CLICK_TO_HIDE.value,validator:J.CLICK_TO_HIDE.validator,suppressEvent:J.CLICK_TO_HIDE.suppressEvent});N.addProperty(J.CONTAINER.key,{handler:this.configContainer,value:document.body,suppressEvent:J.CONTAINER.suppressEvent});N.addProperty(J.SCROLL_INCREMENT.key,{value:J.SCROLL_INCREMENT.value,validator:J.SCROLL_INCREMENT.validator,supercedes:J.SCROLL_INCREMENT.supercedes,suppressEvent:J.SCROLL_INCREMENT.suppressEvent});N.addProperty(J.MIN_SCROLL_HEIGHT.key,{value:J.MIN_SCROLL_HEIGHT.value,validator:J.MIN_SCROLL_HEIGHT.validator,supercedes:J.MIN_SCROLL_HEIGHT.supercedes,suppressEvent:J.MIN_SCROLL_HEIGHT.suppressEvent});N.addProperty(J.MAX_HEIGHT.key,{handler:this.configMaxHeight,value:J.MAX_HEIGHT.value,validator:J.MAX_HEIGHT.validator,suppressEvent:J.MAX_HEIGHT.suppressEvent,supercedes:J.MAX_HEIGHT.supercedes});
+N.addProperty(J.CLASS_NAME.key,{handler:this.configClassName,value:J.CLASS_NAME.value,validator:J.CLASS_NAME.validator,supercedes:J.CLASS_NAME.supercedes});N.addProperty(J.DISABLED.key,{handler:this.configDisabled,value:J.DISABLED.value,validator:J.DISABLED.validator,suppressEvent:J.DISABLED.suppressEvent});}});})();(function(){YAHOO.widget.MenuItem=function(K,J){if(K){if(J){this.parent=J.parent;this.value=J.value;this.id=J.id;}this.init(K,J);}};var B=YAHOO.util.Dom,C=YAHOO.widget.Module,E=YAHOO.widget.Menu,H=YAHOO.widget.MenuItem,I=YAHOO.util.CustomEvent,F=YAHOO.lang,D,A={"MOUSE_OVER":"mouseover","MOUSE_OUT":"mouseout","MOUSE_DOWN":"mousedown","MOUSE_UP":"mouseup","CLICK":"click","KEY_PRESS":"keypress","KEY_DOWN":"keydown","KEY_UP":"keyup","ITEM_ADDED":"itemAdded","ITEM_REMOVED":"itemRemoved","FOCUS":"focus","BLUR":"blur","DESTROY":"destroy"},G={"TEXT":{key:"text",value:"",validator:F.isString,suppressEvent:true},"HELP_TEXT":{key:"helptext",supercedes:["text"],suppressEvent:true},"URL":{key:"url",value:"#",suppressEvent:true},"TARGET":{key:"target",suppressEvent:true},"EMPHASIS":{key:"emphasis",value:false,validator:F.isBoolean,suppressEvent:true,supercedes:["text"]},"STRONG_EMPHASIS":{key:"strongemphasis",value:false,validator:F.isBoolean,suppressEvent:true,supercedes:["text"]},"CHECKED":{key:"checked",value:false,validator:F.isBoolean,suppressEvent:true,supercedes:["disabled","selected"]},"SUBMENU":{key:"submenu",suppressEvent:true,supercedes:["disabled","selected"]},"DISABLED":{key:"disabled",value:false,validator:F.isBoolean,suppressEvent:true,supercedes:["text","selected"]},"SELECTED":{key:"selected",value:false,validator:F.isBoolean,suppressEvent:true},"ONCLICK":{key:"onclick",suppressEvent:true},"CLASS_NAME":{key:"classname",value:null,validator:F.isString,suppressEvent:true}};H.prototype={CSS_CLASS_NAME:"yuimenuitem",CSS_LABEL_CLASS_NAME:"yuimenuitemlabel",SUBMENU_TYPE:null,_oAnchor:null,_oHelpTextEM:null,_oSubmenu:null,_oOnclickAttributeValue:null,_sClassName:null,constructor:H,index:null,groupIndex:null,parent:null,element:null,srcElement:null,value:null,browser:C.prototype.browser,id:null,destroyEvent:null,mouseOverEvent:null,mouseOutEvent:null,mouseDownEvent:null,mouseUpEvent:null,clickEvent:null,keyPressEvent:null,keyDownEvent:null,keyUpEvent:null,focusEvent:null,blurEvent:null,init:function(J,R){if(!this.SUBMENU_TYPE){this.SUBMENU_TYPE=E;}this.cfg=new YAHOO.util.Config(this);this.initDefaultConfig();var O=I.LIST,N=this.cfg,P="#",Q,K,M,L;if(F.isString(J)){this._createRootNodeStructure();N.queueProperty("text",J);}else{if(J&&J.tagName){switch(J.tagName.toUpperCase()){case"OPTION":this._createRootNodeStructure();N.queueProperty("text",J.text);N.queueProperty("disabled",J.disabled);this.value=J.value;this.srcElement=J;break;case"OPTGROUP":this._createRootNodeStructure();N.queueProperty("text",J.label);N.queueProperty("disabled",J.disabled);this.srcElement=J;this._initSubTree();break;case"LI":Q=B.getFirstChild(J);if(Q){P=Q.getAttribute("href",2);K=Q.getAttribute("target");M=Q.innerHTML;}this.srcElement=J;this.element=J;this._oAnchor=Q;N.setProperty("text",M,true);N.setProperty("url",P,true);N.setProperty("target",K,true);this._initSubTree();break;}}}if(this.element){L=(this.srcElement||this.element).id;if(!L){L=this.id||B.generateId();this.element.id=L;}this.id=L;B.addClass(this.element,this.CSS_CLASS_NAME);B.addClass(this._oAnchor,this.CSS_LABEL_CLASS_NAME);this.mouseOverEvent=this.createEvent(A.MOUSE_OVER);this.mouseOverEvent.signature=O;this.mouseOutEvent=this.createEvent(A.MOUSE_OUT);this.mouseOutEvent.signature=O;this.mouseDownEvent=this.createEvent(A.MOUSE_DOWN);this.mouseDownEvent.signature=O;this.mouseUpEvent=this.createEvent(A.MOUSE_UP);this.mouseUpEvent.signature=O;this.clickEvent=this.createEvent(A.CLICK);this.clickEvent.signature=O;this.keyPressEvent=this.createEvent(A.KEY_PRESS);this.keyPressEvent.signature=O;this.keyDownEvent=this.createEvent(A.KEY_DOWN);this.keyDownEvent.signature=O;this.keyUpEvent=this.createEvent(A.KEY_UP);this.keyUpEvent.signature=O;this.focusEvent=this.createEvent(A.FOCUS);this.focusEvent.signature=O;this.blurEvent=this.createEvent(A.BLUR);this.blurEvent.signature=O;this.destroyEvent=this.createEvent(A.DESTROY);this.destroyEvent.signature=O;if(R){N.applyConfig(R);}N.fireQueue();}},_createRootNodeStructure:function(){var J,K;if(!D){D=document.createElement("li");D.innerHTML='<a href="#"></a>';}J=D.cloneNode(true);J.className=this.CSS_CLASS_NAME;K=J.firstChild;K.className=this.CSS_LABEL_CLASS_NAME;this.element=J;this._oAnchor=K;},_initSubTree:function(){var P=this.srcElement,L=this.cfg,N,M,K,J,O;if(P.childNodes.length>0){if(this.parent.lazyLoad&&this.parent.srcElement&&this.parent.srcElement.tagName.toUpperCase()=="SELECT"){L.setProperty("submenu",{id:B.generateId(),itemdata:P.childNodes});}else{N=P.firstChild;M=[];do{if(N&&N.tagName){switch(N.tagName.toUpperCase()){case"DIV":L.setProperty("submenu",N);break;case"OPTION":M[M.length]=N;break;}}}while((N=N.nextSibling));K=M.length;if(K>0){J=new this.SUBMENU_TYPE(B.generateId());L.setProperty("submenu",J);for(O=0;O<K;O++){J.addItem((new J.ITEM_TYPE(M[O])));}}}}},configText:function(S,L,N){var K=L[0],M=this.cfg,Q=this._oAnchor,J=M.getProperty("helptext"),R="",O="",P="";if(K){if(J){R='<em class="helptext">'+J+"</em>";}if(M.getProperty("emphasis")){O="<em>";P="</em>";}if(M.getProperty("strongemphasis")){O="<strong>";P="</strong>";}Q.innerHTML=(O+K+P+R);}},configHelpText:function(L,K,J){this.cfg.refireEvent("text");},configURL:function(L,K,J){var N=K[0];if(!N){N="#";}var M=this._oAnchor;if(YAHOO.env.ua.opera){M.removeAttribute("href");}M.setAttribute("href",N);},configTarget:function(M,L,K){var J=L[0],N=this._oAnchor;if(J&&J.length>0){N.setAttribute("target",J);}else{N.removeAttribute("target");}},configEmphasis:function(L,K,J){var N=K[0],M=this.cfg;if(N&&M.getProperty("strongemphasis")){M.setProperty("strongemphasis",false);}M.refireEvent("text");},configStrongEmphasis:function(M,L,K){var J=L[0],N=this.cfg;
+if(J&&N.getProperty("emphasis")){N.setProperty("emphasis",false);}N.refireEvent("text");},configChecked:function(S,M,O){var R=M[0],K=this.element,Q=this._oAnchor,N=this.cfg,J="-checked",L=this.CSS_CLASS_NAME+J,P=this.CSS_LABEL_CLASS_NAME+J;if(R){B.addClass(K,L);B.addClass(Q,P);}else{B.removeClass(K,L);B.removeClass(Q,P);}N.refireEvent("text");if(N.getProperty("disabled")){N.refireEvent("disabled");}if(N.getProperty("selected")){N.refireEvent("selected");}},configDisabled:function(X,R,a){var Z=R[0],L=this.cfg,P=L.getProperty("submenu"),O=L.getProperty("checked"),S=this.element,V=this._oAnchor,U="-disabled",W="-checked"+U,Y="-hassubmenu"+U,M=this.CSS_CLASS_NAME+U,N=this.CSS_LABEL_CLASS_NAME+U,T=this.CSS_CLASS_NAME+W,Q=this.CSS_LABEL_CLASS_NAME+W,K=this.CSS_CLASS_NAME+Y,J=this.CSS_LABEL_CLASS_NAME+Y;if(Z){if(L.getProperty("selected")){L.setProperty("selected",false);}B.addClass(S,M);B.addClass(V,N);if(P){B.addClass(S,K);B.addClass(V,J);}if(O){B.addClass(S,T);B.addClass(V,Q);}}else{B.removeClass(S,M);B.removeClass(V,N);if(P){B.removeClass(S,K);B.removeClass(V,J);}if(O){B.removeClass(S,T);B.removeClass(V,Q);}}},configSelected:function(X,R,a){var L=this.cfg,Y=R[0],S=this.element,V=this._oAnchor,O=L.getProperty("checked"),P=L.getProperty("submenu"),U="-selected",W="-checked"+U,Z="-hassubmenu"+U,M=this.CSS_CLASS_NAME+U,N=this.CSS_LABEL_CLASS_NAME+U,T=this.CSS_CLASS_NAME+W,Q=this.CSS_LABEL_CLASS_NAME+W,K=this.CSS_CLASS_NAME+Z,J=this.CSS_LABEL_CLASS_NAME+Z;if(YAHOO.env.ua.opera){V.blur();}if(Y&&!L.getProperty("disabled")){B.addClass(S,M);B.addClass(V,N);if(P){B.addClass(S,K);B.addClass(V,J);}if(O){B.addClass(S,T);B.addClass(V,Q);}}else{B.removeClass(S,M);B.removeClass(V,N);if(P){B.removeClass(S,K);B.removeClass(V,J);}if(O){B.removeClass(S,T);B.removeClass(V,Q);}}if(this.hasFocus()&&YAHOO.env.ua.opera){V.focus();}},_onSubmenuBeforeHide:function(M,L){var N=this.parent,J;function K(){N._oAnchor.blur();J.beforeHideEvent.unsubscribe(K);}if(N.hasFocus()){J=N.parent;J.beforeHideEvent.subscribe(K);}},configSubmenu:function(V,O,R){var Q=O[0],P=this.cfg,K=this.element,T=this._oAnchor,N=this.parent&&this.parent.lazyLoad,J="-hassubmenu",L=this.CSS_CLASS_NAME+J,S=this.CSS_LABEL_CLASS_NAME+J,U,W,M;if(Q){if(Q instanceof E){U=Q;U.parent=this;U.lazyLoad=N;}else{if(typeof Q=="object"&&Q.id&&!Q.nodeType){W=Q.id;M=Q;M.lazyload=N;M.parent=this;U=new this.SUBMENU_TYPE(W,M);P.setProperty("submenu",U,true);}else{U=new this.SUBMENU_TYPE(Q,{lazyload:N,parent:this});P.setProperty("submenu",U,true);}}if(U){B.addClass(K,L);B.addClass(T,S);this._oSubmenu=U;if(YAHOO.env.ua.opera){U.beforeHideEvent.subscribe(this._onSubmenuBeforeHide);}}}else{B.removeClass(K,L);B.removeClass(T,S);if(this._oSubmenu){this._oSubmenu.destroy();}}if(P.getProperty("disabled")){P.refireEvent("disabled");}if(P.getProperty("selected")){P.refireEvent("selected");}},configOnClick:function(L,K,J){var M=K[0];if(this._oOnclickAttributeValue&&(this._oOnclickAttributeValue!=M)){this.clickEvent.unsubscribe(this._oOnclickAttributeValue.fn,this._oOnclickAttributeValue.obj);this._oOnclickAttributeValue=null;}if(!this._oOnclickAttributeValue&&typeof M=="object"&&typeof M.fn=="function"){this.clickEvent.subscribe(M.fn,((!YAHOO.lang.isUndefined(M.obj))?M.obj:this),M.scope);this._oOnclickAttributeValue=M;}},configClassName:function(M,L,K){var J=L[0];if(this._sClassName){B.removeClass(this.element,this._sClassName);}B.addClass(this.element,J);this._sClassName=J;},initDefaultConfig:function(){var J=this.cfg;J.addProperty(G.TEXT.key,{handler:this.configText,value:G.TEXT.value,validator:G.TEXT.validator,suppressEvent:G.TEXT.suppressEvent});J.addProperty(G.HELP_TEXT.key,{handler:this.configHelpText,supercedes:G.HELP_TEXT.supercedes,suppressEvent:G.HELP_TEXT.suppressEvent});J.addProperty(G.URL.key,{handler:this.configURL,value:G.URL.value,suppressEvent:G.URL.suppressEvent});J.addProperty(G.TARGET.key,{handler:this.configTarget,suppressEvent:G.TARGET.suppressEvent});J.addProperty(G.EMPHASIS.key,{handler:this.configEmphasis,value:G.EMPHASIS.value,validator:G.EMPHASIS.validator,suppressEvent:G.EMPHASIS.suppressEvent,supercedes:G.EMPHASIS.supercedes});J.addProperty(G.STRONG_EMPHASIS.key,{handler:this.configStrongEmphasis,value:G.STRONG_EMPHASIS.value,validator:G.STRONG_EMPHASIS.validator,suppressEvent:G.STRONG_EMPHASIS.suppressEvent,supercedes:G.STRONG_EMPHASIS.supercedes});J.addProperty(G.CHECKED.key,{handler:this.configChecked,value:G.CHECKED.value,validator:G.CHECKED.validator,suppressEvent:G.CHECKED.suppressEvent,supercedes:G.CHECKED.supercedes});J.addProperty(G.DISABLED.key,{handler:this.configDisabled,value:G.DISABLED.value,validator:G.DISABLED.validator,suppressEvent:G.DISABLED.suppressEvent});J.addProperty(G.SELECTED.key,{handler:this.configSelected,value:G.SELECTED.value,validator:G.SELECTED.validator,suppressEvent:G.SELECTED.suppressEvent});J.addProperty(G.SUBMENU.key,{handler:this.configSubmenu,supercedes:G.SUBMENU.supercedes,suppressEvent:G.SUBMENU.suppressEvent});J.addProperty(G.ONCLICK.key,{handler:this.configOnClick,suppressEvent:G.ONCLICK.suppressEvent});J.addProperty(G.CLASS_NAME.key,{handler:this.configClassName,value:G.CLASS_NAME.value,validator:G.CLASS_NAME.validator,suppressEvent:G.CLASS_NAME.suppressEvent});},getNextEnabledSibling:function(){var L,O,J,N,M;function K(P,Q){return P[Q]||K(P,(Q+1));}if(this.parent instanceof E){L=this.groupIndex;O=this.parent.getItemGroups();if(this.index<(O[L].length-1)){J=K(O[L],(this.index+1));}else{if(L<(O.length-1)){N=L+1;}else{N=0;}M=K(O,N);J=K(M,0);}return(J.cfg.getProperty("disabled")||J.element.style.display=="none")?J.getNextEnabledSibling():J;}},getPreviousEnabledSibling:function(){var N,P,K,J,M;function O(Q,R){return Q[R]||O(Q,(R-1));}function L(Q,R){return Q[R]?R:L(Q,(R+1));}if(this.parent instanceof E){N=this.groupIndex;P=this.parent.getItemGroups();if(this.index>L(P[N],0)){K=O(P[N],(this.index-1));}else{if(N>L(P,0)){J=N-1;}else{J=P.length-1;}M=O(P,J);K=O(M,(M.length-1));}return(K.cfg.getProperty("disabled")||K.element.style.display=="none")?K.getPreviousEnabledSibling():K;
+}},focus:function(){var N=this.parent,M=this._oAnchor,J=N.activeItem,L=this;function K(){try{if(YAHOO.env.ua.ie&&!document.hasFocus()){return ;}if(J){J.blurEvent.fire();}M.focus();L.focusEvent.fire();}catch(O){}}if(!this.cfg.getProperty("disabled")&&N&&N.cfg.getProperty("visible")&&this.element.style.display!="none"){window.setTimeout(K,0);}},blur:function(){var K=this.parent;if(!this.cfg.getProperty("disabled")&&K&&K.cfg.getProperty("visible")){var J=this;window.setTimeout(function(){try{J._oAnchor.blur();J.blurEvent.fire();}catch(L){}},0);}},hasFocus:function(){return(YAHOO.widget.MenuManager.getFocusedMenuItem()==this);},destroy:function(){var L=this.element,K,J;if(L){K=this.cfg.getProperty("submenu");if(K){K.destroy();}this.mouseOverEvent.unsubscribeAll();this.mouseOutEvent.unsubscribeAll();this.mouseDownEvent.unsubscribeAll();this.mouseUpEvent.unsubscribeAll();this.clickEvent.unsubscribeAll();this.keyPressEvent.unsubscribeAll();this.keyDownEvent.unsubscribeAll();this.keyUpEvent.unsubscribeAll();this.focusEvent.unsubscribeAll();this.blurEvent.unsubscribeAll();this.cfg.configChangedEvent.unsubscribeAll();J=L.parentNode;if(J){J.removeChild(L);this.destroyEvent.fire();}this.destroyEvent.unsubscribeAll();}},toString:function(){var K="MenuItem",J=this.id;if(J){K+=(" "+J);}return K;}};F.augmentProto(H,YAHOO.util.EventProvider);})();(function(){YAHOO.widget.ContextMenu=function(G,F){YAHOO.widget.ContextMenu.superclass.constructor.call(this,G,F);};var B=YAHOO.util.Event,E=YAHOO.widget.ContextMenu,D={"TRIGGER_CONTEXT_MENU":"triggerContextMenu","CONTEXT_MENU":(YAHOO.env.ua.opera?"mousedown":"contextmenu"),"CLICK":"click"},C={"TRIGGER":{key:"trigger",suppressEvent:true}};function A(G,F,H){this.cfg.setProperty("xy",H);this.beforeShowEvent.unsubscribe(A,H);}YAHOO.lang.extend(E,YAHOO.widget.Menu,{_oTrigger:null,_bCancelled:false,contextEventTarget:null,triggerContextMenuEvent:null,init:function(G,F){E.superclass.init.call(this,G);this.beforeInitEvent.fire(E);if(F){this.cfg.applyConfig(F,true);}this.initEvent.fire(E);},initEvents:function(){E.superclass.initEvents.call(this);this.triggerContextMenuEvent=this.createEvent(D.TRIGGER_CONTEXT_MENU);this.triggerContextMenuEvent.signature=YAHOO.util.CustomEvent.LIST;},cancel:function(){this._bCancelled=true;},_removeEventHandlers:function(){var F=this._oTrigger;if(F){B.removeListener(F,D.CONTEXT_MENU,this._onTriggerContextMenu);if(YAHOO.env.ua.opera){B.removeListener(F,D.CLICK,this._onTriggerClick);}}},_onTriggerClick:function(G,F){if(G.ctrlKey){B.stopEvent(G);}},_onTriggerContextMenu:function(H,F){if(H.type=="mousedown"&&!H.ctrlKey){return ;}var G;B.stopEvent(H);this.contextEventTarget=B.getTarget(H);this.triggerContextMenuEvent.fire(H);YAHOO.widget.MenuManager.hideVisible();if(!this._bCancelled){G=B.getXY(H);if(!YAHOO.util.Dom.inDocument(this.element)){this.beforeShowEvent.subscribe(A,G);}else{this.cfg.setProperty("xy",G);}this.show();}this._bCancelled=false;},toString:function(){var G="ContextMenu",F=this.id;if(F){G+=(" "+F);}return G;},initDefaultConfig:function(){E.superclass.initDefaultConfig.call(this);this.cfg.addProperty(C.TRIGGER.key,{handler:this.configTrigger,suppressEvent:C.TRIGGER.suppressEvent});},destroy:function(){this._removeEventHandlers();E.superclass.destroy.call(this);},configTrigger:function(G,F,I){var H=F[0];if(H){if(this._oTrigger){this._removeEventHandlers();}this._oTrigger=H;B.on(H,D.CONTEXT_MENU,this._onTriggerContextMenu,this,true);if(YAHOO.env.ua.opera){B.on(H,D.CLICK,this._onTriggerClick,this,true);}}else{this._removeEventHandlers();}}});}());YAHOO.widget.ContextMenuItem=YAHOO.widget.MenuItem;(function(){YAHOO.widget.MenuBar=function(F,E){YAHOO.widget.MenuBar.superclass.constructor.call(this,F,E);};function D(E){if(typeof E=="string"){return("dynamic,static".indexOf((E.toLowerCase()))!=-1);}}var B=YAHOO.util.Event,A=YAHOO.widget.MenuBar,C={"POSITION":{key:"position",value:"static",validator:D,supercedes:["visible"]},"SUBMENU_ALIGNMENT":{key:"submenualignment",value:["tl","bl"],suppressEvent:true},"AUTO_SUBMENU_DISPLAY":{key:"autosubmenudisplay",value:false,validator:YAHOO.lang.isBoolean,suppressEvent:true}};YAHOO.lang.extend(A,YAHOO.widget.Menu,{init:function(F,E){if(!this.ITEM_TYPE){this.ITEM_TYPE=YAHOO.widget.MenuBarItem;}A.superclass.init.call(this,F);this.beforeInitEvent.fire(A);if(E){this.cfg.applyConfig(E,true);}this.initEvent.fire(A);},CSS_CLASS_NAME:"yuimenubar",_onKeyDown:function(G,F,K){var E=F[0],L=F[1],I,J,H;if(L&&!L.cfg.getProperty("disabled")){J=L.cfg;switch(E.keyCode){case 37:case 39:if(L==this.activeItem&&!J.getProperty("selected")){J.setProperty("selected",true);}else{H=(E.keyCode==37)?L.getPreviousEnabledSibling():L.getNextEnabledSibling();if(H){this.clearActiveItem();H.cfg.setProperty("selected",true);if(this.cfg.getProperty("autosubmenudisplay")){I=H.cfg.getProperty("submenu");if(I){I.show();}}H.focus();}}B.preventDefault(E);break;case 40:if(this.activeItem!=L){this.clearActiveItem();J.setProperty("selected",true);L.focus();}I=J.getProperty("submenu");if(I){if(I.cfg.getProperty("visible")){I.setInitialSelection();I.setInitialFocus();}else{I.show();}}B.preventDefault(E);break;}}if(E.keyCode==27&&this.activeItem){I=this.activeItem.cfg.getProperty("submenu");if(I&&I.cfg.getProperty("visible")){I.hide();this.activeItem.focus();}else{this.activeItem.cfg.setProperty("selected",false);this.activeItem.blur();}B.preventDefault(E);}},_onClick:function(L,G,J){A.superclass._onClick.call(this,L,G,J);var K=G[1],M,E,F,H,I;if(K&&!K.cfg.getProperty("disabled")){M=G[0];E=B.getTarget(M);F=this.activeItem;H=this.cfg;if(F&&F!=K){this.clearActiveItem();}K.cfg.setProperty("selected",true);I=K.cfg.getProperty("submenu");if(I){if(I.cfg.getProperty("visible")){I.hide();}else{I.show();}}}},toString:function(){var F="MenuBar",E=this.id;if(E){F+=(" "+E);}return F;},initDefaultConfig:function(){A.superclass.initDefaultConfig.call(this);var E=this.cfg;E.addProperty(C.POSITION.key,{handler:this.configPosition,value:C.POSITION.value,validator:C.POSITION.validator,supercedes:C.POSITION.supercedes});
+E.addProperty(C.SUBMENU_ALIGNMENT.key,{value:C.SUBMENU_ALIGNMENT.value,suppressEvent:C.SUBMENU_ALIGNMENT.suppressEvent});E.addProperty(C.AUTO_SUBMENU_DISPLAY.key,{value:C.AUTO_SUBMENU_DISPLAY.value,validator:C.AUTO_SUBMENU_DISPLAY.validator,suppressEvent:C.AUTO_SUBMENU_DISPLAY.suppressEvent});}});}());YAHOO.widget.MenuBarItem=function(B,A){YAHOO.widget.MenuBarItem.superclass.constructor.call(this,B,A);};YAHOO.lang.extend(YAHOO.widget.MenuBarItem,YAHOO.widget.MenuItem,{init:function(B,A){if(!this.SUBMENU_TYPE){this.SUBMENU_TYPE=YAHOO.widget.Menu;}YAHOO.widget.MenuBarItem.superclass.init.call(this,B);var C=this.cfg;if(A){C.applyConfig(A,true);}C.fireQueue();},CSS_CLASS_NAME:"yuimenubaritem",CSS_LABEL_CLASS_NAME:"yuimenubaritemlabel",toString:function(){var A="MenuBarItem";if(this.cfg&&this.cfg.getProperty("text")){A+=(": "+this.cfg.getProperty("text"));}return A;}});YAHOO.register("menu",YAHOO.widget.Menu,{version:"2.5.1",build:"984"});
\ No newline at end of file
diff --git a/koha-tmpl/opac-tmpl/lib/yui/reset-fonts-grids.css b/koha-tmpl/opac-tmpl/lib/yui/reset-fonts-grids.css
new file mode 100644 (file)
index 0000000..a21e2c4
--- /dev/null
@@ -0,0 +1,9 @@
+/*
+Copyright (c) 2007, Yahoo! Inc. All rights reserved.
+Code licensed under the BSD License:
+http://developer.yahoo.net/yui/license.txt
+version: 2.3.0
+*/
+/*reset.css*/body{color:#000;background:#FFF;}body,div,dl,dt,dd,ul,ol,li,h1,h2,h3,h4,h5,h6,pre,code,form,fieldset,legend,input,textarea,p,blockquote,th,td{margin:0;padding:0;}table{border-collapse:collapse;border-spacing:0;}fieldset,img{border:0;}address,caption,cite,code,dfn,em,strong,th,var{font-style:normal;font-weight:normal;}li{list-style:none;}caption,th{text-align:left;}h1,h2,h3,h4,h5,h6{font-size:100%;font-weight:normal;}q:before,q:after{content:'';}abbr,acronym{border:0;font-variant:normal;}sup,sub{line-height:-1px;vertical-align:text-top;}sub{vertical-align:text-bottom;}input, textarea, select{font-family:inherit;font-size:inherit;font-weight:inherit;}
+/*fonts.css*/body {font:13px/1.22 arial,helvetica,clean,sans-serif;*font-size:small;*font:x-small;}table {font-size:inherit;font:100%;}pre,code,kbd,samp,tt{font-family:monospace;*font-size:108%;line-height:99%;}
+/*grids.css*/body{text-align:center;}#ft{clear:both;}#doc,#doc2,#doc3,#doc4,.yui-t1,.yui-t2,.yui-t3,.yui-t4,.yui-t5,.yui-t6,.yui-t7{margin:auto;text-align:left;width:57.69em;*width:56.301em;min-width:750px;}#doc2{width:73.074em;*width:71.313em;}#doc3{margin:auto 10px;width:auto;}#doc4{width:74.923em;*width:73.117em;}.yui-b{position:relative;}.yui-b{_position:static;}#yui-main .yui-b{position:static;}#yui-main{width:100%;}.yui-t1 #yui-main,.yui-t2 #yui-main,.yui-t3 #yui-main{float:right;margin-left:-25em;}.yui-t4 #yui-main,.yui-t5 #yui-main,.yui-t6 #yui-main{float:left;margin-right:-25em;}.yui-t1 .yui-b{float:left;width:12.3207em;*width:12.0106em;}.yui-t1 #yui-main .yui-b{margin-left:13.3207em;*margin-left:13.0106em;}.yui-t2 .yui-b{float:left;width:13.8456em;*width:13.512em;}.yui-t2 #yui-main .yui-b{margin-left:14.8456em;*margin-left:14.512em;}.yui-t3 .yui-b{float:left;width:23.0759em;*width:22.52em;}.yui-t3 #yui-main .yui-b{margin-left:24.0759em;*margin-left:23.52em;}.yui-t4 .yui-b{float:right;width:13.8456em;*width:13.512em;}.yui-t4 #yui-main .yui-b{margin-right:14.8456em;*margin-right:14.512em;}.yui-t5 .yui-b{float:right;width:18.4608em;*width:18.016em;}.yui-t5 #yui-main .yui-b{margin-right:19.4608em;*margin-right:19.016em;}.yui-t6 .yui-b{float:right;width:23.0759em;*width:22.52em;}.yui-t6 #yui-main .yui-b{margin-right:24.0759em;*margin-right:23.52em;}.yui-t7 #yui-main .yui-b{display:block;margin:0 0 1em 0;}#yui-main .yui-b{float:none;width:auto;}.yui-gb .yui-g,.yui-gb .yui-gb,.yui-gb .yui-u,.yui-g .yui-gb .yui-u,.yui-gb .yui-gc,.yui-gb .yui-gd,.yui-gb .yui-ge,.yui-gb .yui-gf,.yui-gc .yui-u,.yui-gc .yui-g,.yui-gd .yui-u{float:left;margin-left:2%;width:32%;}.yui-gb .yui-gb .yui-u,.yui-gb .yui-gc .yui-u{_margin-left:1.2%;*margin-left:1.7%;}.yui-g .yui-gb .yui-u{_margin-left:.8%;}.yui-gb .yui-u{margin-left:2%;width:32%;float:right;*width:31.8%;}.yui-gb div.first{margin-left:0;*margin-right:1px;float:left;}.yui-gb .yui-gb div.first{*margin-right:0;width:31.7%;}.yui-gb .yui-gc div.first,.yui-gb .yui-gd div.first{*margin-right:0;}.yui-g .yui-gc div.first,.yui-g .yui-ge div.first{float:left;}.yui-gb .yui-gd .yui-u{*width:66%;_width:61.2%;}.yui-gb .yui-gd div.first{*width:31%;_width:29.5%;}.yui-gb .yui-gc .yui-u,.yui-g .yui-gc .yui-u{_float:right;width:32%;_width:29.9%;}.yui-gb .yui-gc div.first{width:66%;*width:64.5%;*float:left;*margin-left:0;}.yui-gb .yui-ge .yui-u,.yui-gb .yui-gf .yui-u{margin:0;}.yui-g .yui-u,.yui-g .yui-g,.yui-g .yui-gb,.yui-g .yui-gc,.yui-g .yui-gd,.yui-g .yui-ge,.yui-g .yui-gf,.yui-gc .yui-u,.yui-gd .yui-g,.yui-g .yui-gc .yui-u,.yui-ge .yui-u,.yui-ge .yui-g,.yui-gf .yui-g,.yui-gf .yui-u{float:right;display:inline;}.yui-g div.first,.yui-g div.first,.yui-gc div.first,.yui-gc div.first div.first,.yui-gd div.first,.yui-ge div.first,.yui-gf div.first{float:left;}.yui-g .yui-g .yui-u,.yui-gb .yui-g .yui-u,.yui-gc .yui-g .yui-u,.yui-gd .yui-g .yui-u,.yui-ge .yui-g .yui-u,.yui-gf .yui-g .yui-u{width:48.1%;*margin-left:0;}.yui-g .yui-g div.first{*margin:0;}.yui-gb .yui-g div.first{*margin-right:1px;}.yui-gb .yui-gb .yui-u{_margin-left:.7%;}.yui-gb .yui-g div.first,.yui-gb .yui-gb div.first{*margin-left:0;}.yui-gc .yui-g .yui-u,.yui-gd .yui-g .yui-u{_width:48.1%;*width:48.1%;*margin-left:0;}.yui-g .yui-u,.yui-g .yui-g,.yui-g .yui-gb,.yui-g .yui-gc,.yui-g .yui-gd,.yui-g .yui-ge,.yui-g .yui-gf{width:49.1%;}.yui-g .yui-gb div.first,.yui-gb div.first,.yui-gc div.first,.yui-gd div.first{margin-left:0;}.yui-g .yui-gc div.first,.yui-gc div.first,.yui-gd .yui-g,.yui-gd .yui-u{width:66%;}.yui-gd div.first,.yui-gb .yui-gd div.first{width:32%;}.yui-g .yui-gd div.first{_width:29.9%;}.yui-ge .yui-u,.yui-ge .yui-g,.yui-gf div.first{width:24%;}.yui-ge div.first,.yui-gf .yui-g,.yui-gf .yui-u{width:74.2%;}.yui-gb .yui-ge .yui-u,.yui-gb .yui-gf div.first{*width:24%;_width:20%;}.yui-gb .yui-ge div.first,.yui-gb .yui-gf .yui-u{*width:73.5%;_width:65.5%;}#bd:after,.yui-g:after,.yui-gb:after,.yui-gc:after,.yui-gd:after,.yui-ge:after,.yui-gf:after{content:".";display:block;height:0;clear:both;visibility:hidden;}#bd,.yui-g,.yui-gb,.yui-gc,.yui-gd,.yui-ge,.yui-gf{zoom:1;}
diff --git a/koha-tmpl/opac-tmpl/lib/yui/skin.css b/koha-tmpl/opac-tmpl/lib/yui/skin.css
new file mode 100644 (file)
index 0000000..3d5aaa9
--- /dev/null
@@ -0,0 +1,23 @@
+/*
+Copyright (c) 2008, Yahoo! Inc. All rights reserved.
+Code licensed under the BSD License:
+http://developer.yahoo.net/yui/license.txt
+version: 2.5.1
+*/
+.yui-ac{position:relative;font-family:arial;font-size:100%;}.yui-ac-input{position:absolute;width:100%;}.yui-ac-container{position:absolute;top:1.6em;width:100%;}.yui-ac-content{position:absolute;width:100%;border:1px solid #808080;background:#fff;overflow:hidden;z-index:9050;}.yui-ac-shadow{position:absolute;margin:.3em;width:100%;background:#000;-moz-opacity:0.10;opacity:.10;filter:alpha(opacity=10);z-index:9049;}.yui-ac-content ul{margin:0;padding:0;width:100%;}.yui-ac-content li{margin:0;padding:2px 5px;cursor:default;white-space:nowrap;}.yui-ac-content li.yui-ac-prehighlight{background:#B3D4FF;}.yui-ac-content li.yui-ac-highlight{background:#426FD9;color:#FFF;}
+.yui-button{display:-moz-inline-box;display:inline-block;vertical-align:text-bottom;}.yui-button .first-child{display:block;*display:inline-block;}.yui-button button,.yui-button a{display:block;*display:inline-block;border:none;margin:0;}.yui-button button{background-color:transparent;*overflow:visible;cursor:pointer;}.yui-button a{text-decoration:none;}.yui-button{border-width:1px 0;border-style:solid;border-color:#808080;background:url(sprite.png) repeat-x 0 0;margin:auto .25em;}.yui-button .first-child{border-width:0 1px;border-style:solid;border-color:#808080;margin:0 -1px;*position:relative;*left:-1px;}.yui-button button,.yui-button a{padding:0 10px;font-size:93%;line-height:2;*line-height:1.7;min-height:2em;*min-height:auto;color:#000;}.yui-button a{*line-height:2;}.yui-split-button button,.yui-menu-button button{padding-right:20px;background-position:right center;background-repeat:no-repeat;}.yui-menu-button button{background-image:url(menu-button-arrow.png);}.yui-split-button button{background-image:url(split-button-arrow.png);}.yui-button-focus{border-color:#7D98B8;background-position:0 -1300px;}.yui-button-focus .first-child{border-color:#7D98B8;}.yui-button-focus button,.yui-button-focus a{color:#000;}.yui-split-button-focus button{background-image:url(split-button-arrow-focus.png);}.yui-button-hover{border-color:#7D98B8;background-position:0 -1300px;}.yui-button-hover .first-child{border-color:#7D98B8;}.yui-button-hover button,.yui-button-hover a{color:#000;}.yui-split-button-hover button{background-image:url(split-button-arrow-hover.png);}.yui-button-active{border-color:#7D98B8;background-position:0 -1700px;}.yui-button-active .first-child{border-color:#7D98B8;}.yui-button-active button,.yui-button-active a{color:#000;}.yui-split-button-activeoption{border-color:#808080;background-position:0 0;}.yui-split-button-activeoption .first-child{border-color:#808080;}.yui-split-button-activeoption button{background-image:url(split-button-arrow-active.png);}.yui-radio-button-checked,.yui-checkbox-button-checked{border-color:#304369;background-position:0 -1400px;}.yui-radio-button-checked .first-child,.yui-checkbox-button-checked .first-child{border-color:#304369;}.yui-radio-button-checked button,.yui-checkbox-button-checked button{color:#fff;}.yui-button-disabled{border-color:#ccc;background-position:0 -1500px;}.yui-button-disabled .first-child{border-color:#ccc;}.yui-button-disabled button,.yui-button-disabled a{color:#A6A6A6;cursor:default;}.yui-menu-button-disabled button{background-image:url(menu-button-arrow-disabled.png);}.yui-split-button-disabled button{background-image:url(split-button-arrow-disabled.png);}
+.yui-calcontainer{position:relative;float:left;_overflow:hidden;}.yui-calcontainer iframe{position:absolute;border:none;margin:0;padding:0;z-index:0;width:100%;height:100%;left:0px;top:0px;}.yui-calcontainer iframe.fixedsize{width:50em;height:50em;top:-1px;left:-1px;}.yui-calcontainer.multi .groupcal{z-index:1;float:left;position:relative;}.yui-calcontainer .title{position:relative;z-index:1;}.yui-calcontainer .close-icon{position:absolute;z-index:1;}.yui-calendar{position:relative;}.yui-calendar .calnavleft{position:absolute;z-index:1;}.yui-calendar .calnavright{position:absolute;z-index:1;}.yui-calendar .calheader{position:relative;width:100%;text-align:center;}.yui-calcontainer .yui-cal-nav-mask{position:absolute;z-index:2;margin:0;padding:0;width:100%;height:100%;_width:0;_height:0;left:0;top:0;display:none;}.yui-calcontainer .yui-cal-nav{position:absolute;z-index:3;top:0;display:none;}.yui-calcontainer .yui-cal-nav .yui-cal-nav-btn{display:-moz-inline-box;display:inline-block;}.yui-calcontainer .yui-cal-nav .yui-cal-nav-btn button{display:block;*display:inline-block;*overflow:visible;border:none;background-color:transparent;cursor:pointer;}.yui-calendar .calbody a:hover{background:inherit;}p#clear{clear:left;padding-top:10px;}.yui-calcontainer{background-color:#f2f2f2;border:1px solid #808080;padding:10px;}.yui-calcontainer.multi{padding:0 5px 0 5px;}.yui-calcontainer.multi .groupcal{background-color:transparent;border:none;padding:10px 5px 10px 5px;margin:0;}.yui-calcontainer .title{background:url(sprite.png) repeat-x 0 0;border-bottom:1px solid #cccccc;font:100% sans-serif;color:#000;font-weight:bold;height:auto;padding:.4em;margin:0 -10px 10px -10px;top:0;left:0;text-align:left;}.yui-calcontainer.multi .title{margin:0 -5px 0 -5px;}.yui-calcontainer.withtitle{padding-top:0;}.yui-calcontainer .calclose{background:url(sprite.png) no-repeat 0 -300px;width:25px;height:15px;top:.4em;right:.4em;cursor:pointer;}.yui-calendar{border-spacing:0;border-collapse:collapse;font:100% sans-serif;text-align:center;margin:0;}.yui-calendar .calhead{background:transparent;border:none;vertical-align:middle;padding:0;}.yui-calendar .calheader{background:transparent;font-weight:bold;padding:0 0 .6em 0;text-align:center;}.yui-calendar .calheader img{border:none;}.yui-calendar .calnavleft{background:url(sprite.png) no-repeat 0 -450px;width:25px;height:15px;top:0;bottom:0;left:-10px;margin-left:.4em;cursor:pointer;}.yui-calendar .calnavright{background:url(sprite.png) no-repeat 0 -500px;width:25px;height:15px;top:0;bottom:0;right:-10px;margin-right:.4em;cursor:pointer;}.yui-calendar .calweekdayrow{height:2em;}.yui-calendar .calweekdayrow th{padding:0;border:none;}.yui-calendar .calweekdaycell{color:#000;font-weight:bold;text-align:center;width:2em;}.yui-calendar .calfoot{background-color:#f2f2f2;}.yui-calendar .calrowhead,.yui-calendar .calrowfoot{color:#a6a6a6;font-size:85%;font-style:normal;font-weight:normal;border:none;}.yui-calendar .calrowhead{text-align:right;padding:0 2px 0 0;}.yui-calendar .calrowfoot{text-align:left;padding:0 0 0 2px;}.yui-calendar td.calcell{border:1px solid #cccccc;background:#fff;padding:1px;height:1.6em;line-height:1.6em;text-align:center;white-space:nowrap;}.yui-calendar td.calcell a{color:#0066cc;display:block;height:100%;text-decoration:none;}.yui-calendar td.calcell.today{background-color:#000;}.yui-calendar td.calcell.today a{background-color:#fff;}.yui-calendar td.calcell.oom{background-color:#cccccc;color:#a6a6a6;cursor:default;}.yui-calendar td.calcell.selected{background-color:#fff;color:#000;}.yui-calendar td.calcell.selected a{background-color:#b3d4ff;color:#000;}.yui-calendar td.calcell.calcellhover{background-color:#426fd9;color:#fff;cursor:pointer;}.yui-calendar td.calcell.calcellhover a{background-color:#426fd9;color:#fff;}.yui-calendar td.calcell.previous{color:#e0e0e0;}.yui-calendar td.calcell.restricted{text-decoration:line-through;}.yui-calendar td.calcell.highlight1{background-color:#ccff99;}.yui-calendar td.calcell.highlight2{background-color:#99ccff;}.yui-calendar td.calcell.highlight3{background-color:#ffcccc;}.yui-calendar td.calcell.highlight4{background-color:#ccff99;}.yui-calendar a.calnav{border:1px solid #f2f2f2;padding:0 4px;text-decoration:none;color:#000;zoom:1;}.yui-calendar a.calnav:hover{background:url(sprite.png) repeat-x 0 0;border-color:#A0A0A0;cursor:pointer;}.yui-calcontainer .yui-cal-nav-mask{background-color:#000;opacity:0.25;*filter:alpha(opacity=25);}.yui-calcontainer .yui-cal-nav{font-family:arial,helvetica,clean,sans-serif;font-size:93%;border:1px solid #808080;left:50%;margin-left:-7em;width:14em;padding:0;top:2.5em;background-color:#f2f2f2;}.yui-calcontainer.withtitle .yui-cal-nav{top:4.5em;}.yui-calcontainer.multi .yui-cal-nav{width:16em;margin-left:-8em;}.yui-calcontainer .yui-cal-nav-y,.yui-calcontainer .yui-cal-nav-m,.yui-calcontainer .yui-cal-nav-b{padding:5px 10px 5px 10px;}.yui-calcontainer .yui-cal-nav-b{text-align:center;}.yui-calcontainer .yui-cal-nav-e{margin-top:5px;padding:5px;background-color:#EDF5FF;border-top:1px solid black;display:none;}.yui-calcontainer .yui-cal-nav label{display:block;font-weight:bold;}.yui-calcontainer .yui-cal-nav-mc{width:100%;_width:auto;}.yui-calcontainer .yui-cal-nav-y input.yui-invalid{background-color:#FFEE69;border:1px solid #000;}.yui-calcontainer .yui-cal-nav-yc{width:4em;}.yui-calcontainer .yui-cal-nav .yui-cal-nav-btn{border:1px solid #808080;background:url(sprite.png) repeat-x 0 0;background-color:#ccc;margin:auto .15em;}.yui-calcontainer .yui-cal-nav .yui-cal-nav-btn button{padding:0 8px;font-size:93%;line-height:2;*line-height:1.7;min-height:2em;*min-height:auto;color:#000;}.yui-calcontainer .yui-cal-nav .yui-cal-nav-btn.yui-default{border:1px solid #304369;background-color:#426fd9;background:url(sprite.png) repeat-x 0 -1400px;}.yui-calcontainer .yui-cal-nav .yui-cal-nav-btn.yui-default button{color:#fff;}
+.yui-picker-panel{background:#e3e3e3;border-color:#888;}.yui-picker-panel .hd{background-color:#ccc;font-size:100%;line-height:100%;border:1px solid #e3e3e3;font-weight:bold;overflow:hidden;padding:6px;color:#000;}.yui-picker-panel .bd{background:#e8e8e8;margin:1px;height:200px;}.yui-picker-panel .ft{background:#e8e8e8;margin:1px;padding:1px;}.yui-picker{position:relative;}.yui-picker-hue-thumb{cursor:default;width:18px;height:18px;top:-8px;left:-2px;z-index:9;position:absolute;}.yui-picker-hue-bg{-moz-outline:none;outline:0px none;position:absolute;left:200px;height:183px;width:14px;background:url(hue_bg.png) no-repeat;top:4px;}.yui-picker-bg{-moz-outline:none;outline:0px none;position:absolute;top:4px;left:4px;height:182px;width:182px;background-color:#F00;background-image:url(picker_mask.png);}*html .yui-picker-bg{background-image:none;filter:progid:DXImageTransform.Microsoft.AlphaImageLoader(src='../../build/colorpicker/assets/picker_mask.png',sizingMethod='scale');}.yui-picker-mask{position:absolute;z-index:1;top:0px;left:0px;}.yui-picker-thumb{cursor:default;width:11px;height:11px;z-index:9;position:absolute;top:-4px;left:-4px;}.yui-picker-swatch{position:absolute;left:240px;top:4px;height:60px;width:55px;border:1px solid #888;}.yui-picker-websafe-swatch{position:absolute;left:304px;top:4px;height:24px;width:24px;border:1px solid #888;}.yui-picker-controls{position:absolute;top:72px;left:226px;font:1em monospace;}.yui-picker-controls .hd{background:transparent;border-width:0px !important;}.yui-picker-controls .bd{height:100px;border-width:0px !important;}.yui-picker-controls ul{float:left;padding:0 2px 0 0;margin:0}.yui-picker-controls li{padding:2px;list-style:none;margin:0}.yui-picker-controls input{font-size:0.85em;width:2.4em;}.yui-picker-hex-controls{clear:both;padding:2px;}.yui-picker-hex-controls input{width:4.6em;}.yui-picker-controls a{font:1em arial,helvetica,clean,sans-serif;display:block;*display:inline-block;padding:0;color:#000;}
+.yui-overlay,.yui-panel-container{visibility:hidden;position:absolute;z-index:2;}.yui-panel-container form{margin:0;}.mask{z-index:1;display:none;position:absolute;top:0;left:0;right:0;bottom:0;}.mask.block-scrollbars{overflow:auto;}.masked select,.drag select,.hide-select select{_visibility:hidden;}.yui-panel-container select{_visibility:inherit;}.hide-scrollbars,.hide-scrollbars *{overflow:hidden;}.hide-scrollbars select{display:none;}.show-scrollbars{overflow:auto;}.yui-panel-container.show-scrollbars,.yui-tt.show-scrollbars{overflow:visible;}.yui-panel-container.show-scrollbars .underlay,.yui-tt.show-scrollbars .yui-tt-shadow{overflow:auto;}.yui-panel-container.shadow .underlay.yui-force-redraw{padding-bottom:1px;}.yui-effect-fade .underlay{display:none;}.yui-tt-shadow{position:absolute;}.mask{background-color:#000;opacity:.25;*filter:alpha(opacity=25);}.yui-panel-container{padding:0 1px;*padding:2px 3px;}.yui-panel{position:relative;*zoom:1;left:0;top:0;border-style:solid;border-width:1px 0;border-color:#808080;z-index:1;}.yui-panel .hd,.yui-panel .bd,.yui-panel .ft{*zoom:1;*position:relative;border-style:solid;border-width:0 1px;border-color:#808080;margin:0 -1px;}.yui-panel .hd{border-bottom:solid 1px #ccc;}.yui-panel .bd,.yui-panel .ft{background-color:#F2F2F2;}.yui-panel .hd{padding:0 10px;font-size:93%;line-height:2;*line-height:1.9;font-weight:bold;color:#000;background:url(sprite.png) repeat-x 0 -200px;}.yui-panel .bd{padding:10px;}.yui-panel .ft{border-top:solid 1px #808080;padding:5px 10px;font-size:77%;}.yui-panel-container.focused .yui-panel .hd{}.container-close{position:absolute;top:5px;right:6px;width:25px;height:15px;background:url(sprite.png) no-repeat 0 -300px;cursor:pointer;}.yui-panel-container .underlay{right:-1px;left:-1px;}.yui-panel-container.matte{padding:9px 10px;background-color:#fff;}.yui-panel-container.shadow{_padding:2px 5px 0 3px;}.yui-panel-container.shadow .underlay{position:absolute;top:2px;right:-3px;bottom:-3px;left:-3px;*top:3px;*left:-1px;*right:-1px;*bottom:-1px;_top:0;_right:0;_bottom:0;_left:0;_margin-top:3px;_margin-left:-1px;background-color:#000;opacity:.12;*filter:alpha(opacity=12);}.yui-dialog .ft{border-top:none;padding:0 10px 10px 10px;font-size:100%;}.yui-dialog .ft .button-group{display:block;text-align:right;}.yui-dialog .ft button.default{font-weight:bold;}.yui-dialog .ft span.default{border-color:#304369;background-position:0 -1400px;}.yui-dialog .ft span.default .first-child{border-color:#304369;}.yui-dialog .ft span.default button{color:#fff;}.yui-simple-dialog .bd .yui-icon{background:url(sprite.png) no-repeat 0 0;width:16px;height:16px;margin-right:10px;float:left;}.yui-simple-dialog .bd span.blckicon{background-position:0 -1100px;}.yui-simple-dialog .bd span.alrticon{background-position:0 -1050px;}.yui-simple-dialog .bd span.hlpicon{background-position:0 -1150px;}.yui-simple-dialog .bd span.infoicon{background-position:0 -1200px;}.yui-simple-dialog .bd span.warnicon{background-position:0 -1900px;}.yui-simple-dialog .bd span.tipicon{background-position:0 -1250px;}.yui-tt .bd{position:relative;top:0;left:0;z-index:1;color:#000;padding:2px 5px;border-color:#D4C237 #A6982B #A6982B #A6982B;border-width:1px;border-style:solid;background-color:#FFEE69;}.yui-tt.show-scrollbars .bd{overflow:auto;}.yui-tt-shadow{top:2px;right:-3px;left:-3px;bottom:-3px;background-color:#000;}.yui-tt-shadow-visible{opacity:.12;*filter:alpha(opacity=12);}
+.yui-dt{border-bottom:1px solid transparent;}.yui-dt-noop{border-bottom:none;}.yui-dt-hd{display:none;}.yui-dt-scrollable .yui-dt-hd{display:block;}.yui-dt-scrollable .yui-dt-bd thead tr,.yui-dt-scrollable .yui-dt-bd thead th{position:absolute;left:-1500px;}.yui-dt-scrollable tbody{-moz-outline:none;}.yui-dt-draggable{cursor:move;}.yui-dt-coltarget{position:absolute;z-index:999;}.yui-dt-hd{zoom:1;}th.yui-dt-resizeable .yui-dt-liner{position:relative;}.yui-dt-resizer{position:absolute;right:0;bottom:0;height:100%;cursor:e-resize;cursor:col-resize;}.yui-dt-resizerproxy{visibility:hidden;position:absolute;z-index:9000;}th.yui-dt-hidden .yui-dt-liner,td.yui-dt-hidden .yui-dt-liner{margin:0;padding:0;overflow:hidden;white-space:nowrap;}.yui-dt-scrollable .yui-dt-bd{overflow:auto;}.yui-dt-scrollable .yui-dt-hd{overflow:hidden;position:relative;}.yui-dt-editor{position:absolute;z-index:9000;}.yui-dt table{margin:0;padding:0;font-family:arial;font-size:inherit;border-collapse:collapse;border-spacing:0;}.yui-dt thead{border-spacing:0;}.yui-dt caption{padding-bottom:1em;text-align:left;}.yui-dt-hd table{border-left:1px solid #7F7F7F;border-top:1px solid #7F7F7F;border-right:1px solid #7F7F7F;}.yui-dt-bd table{border:1px solid #7F7F7F;}.yui-dt-scrollable .yui-dt-hd table{border:0px;}.yui-dt-scrollable .yui-dt-bd table{border:0px;}.yui-dt-scrollable .yui-dt-hd{border-left:1px solid #7F7F7F;border-top:1px solid #7F7F7F;border-right:1px solid #7F7F7F;}.yui-dt-scrollable .yui-dt-bd{border-left:1px solid #7F7F7F;border-bottom:1px solid #7F7F7F;border-right:1px solid #7F7F7F;}.yui-dt th{background:#D8D8DA url(sprite.png) repeat-x 0 0;}.yui-dt th,.yui-dt th a{font-weight:normal;text-decoration:none;color:#000;vertical-align:bottom;}.yui-dt th{margin:0;padding:0;border:none;border-right:1px solid #CBCBCB;}.yui-dt-liner{margin:0;padding:0;padding:4px 10px 4px 10px;}.yui-dt-coltarget{width:5px;background-color:red;}.yui-dt td{margin:0;padding:0;border:none;border-right:1px solid #CBCBCB;text-align:left;}.yui-dt-list td{border-right:none;}.yui-dt-resizer{width:6px;}.yui-dt-loading{background-color:#FFF;}.yui-dt-empty{background-color:#FFF;}.yui-dt-error{background-color:#FFF;}thead .yui-dt-sortable{cursor:pointer;}th.yui-dt-asc,th.yui-dt-desc{background:url(sprite.png) repeat-x 0 -100px;}th.yui-dt-sortable .yui-dt-label{margin-right:10px;}th.yui-dt-asc .yui-dt-liner{background:url(dt-arrow-up.png) no-repeat right;}th.yui-dt-desc .yui-dt-liner{background:url(dt-arrow-dn.png) no-repeat right;}.yui-dt-editable{cursor:pointer;}.yui-dt-editor{text-align:left;background-color:#F2F2F2;border:1px solid #808080;padding:6px;}.yui-dt-editor label{padding-left:4px;padding-right:6px;}.yui-dt-editor .yui-dt-button{padding-top:6px;text-align:right;}.yui-dt-editor .yui-dt-button button{background:url(sprite.png) repeat-x 0 0;border:1px solid #999;width:4em;height:1.8em;margin-left:6px;}.yui-dt-editor .yui-dt-button button.yui-dt-default{background:url(sprite.png) repeat-x 0 -1400px;background-color:#5584E0;border:1px solid #304369;color:#FFF}.yui-dt-editor .yui-dt-button button:hover{background:url(sprite.png) repeat-x 0 -1300px;color:#000;}.yui-dt-editor .yui-dt-button button:active{background:url(sprite.png) repeat-x 0 -1700px;color:#000;}tr.yui-dt-even{background-color:#FFF;}tr.yui-dt-odd{background-color:#EDF5FF;}tr.yui-dt-even td.yui-dt-asc,tr.yui-dt-even td.yui-dt-desc{background-color:#EDF5FF;}tr.yui-dt-odd td.yui-dt-asc,tr.yui-dt-odd td.yui-dt-desc{background-color:#DBEAFF;}.yui-dt-list tr.yui-dt-even{background-color:#FFF;}.yui-dt-list tr.yui-dt-odd{background-color:#FFF;}.yui-dt-list tr.yui-dt-even td.yui-dt-asc,.yui-dt-list tr.yui-dt-even td.yui-dt-desc{background-color:#EDF5FF;}.yui-dt-list tr.yui-dt-odd td.yui-dt-asc,.yui-dt-list tr.yui-dt-odd td.yui-dt-desc{background-color:#EDF5FF;}th.yui-dt-highlighted,th.yui-dt-highlighted a{background-color:#B2D2FF;}tr.yui-dt-highlighted,tr.yui-dt-highlighted td.yui-dt-asc,tr.yui-dt-highlighted td.yui-dt-desc,tr.yui-dt-even td.yui-dt-highlighted,tr.yui-dt-odd td.yui-dt-highlighted{cursor:pointer;background-color:#B2D2FF;}.yui-dt-list th.yui-dt-highlighted,.yui-dt-list th.yui-dt-highlighted a{background-color:#B2D2FF;}.yui-dt-list tr.yui-dt-highlighted,.yui-dt-list tr.yui-dt-highlighted td.yui-dt-asc,.yui-dt-list tr.yui-dt-highlighted td.yui-dt-desc,.yui-dt-list tr.yui-dt-even td.yui-dt-highlighted,.yui-dt-list tr.yui-dt-odd td.yui-dt-highlighted{cursor:pointer;background-color:#B2D2FF;}th.yui-dt-selected,th.yui-dt-selected a{background-color:#446CD7;}tr.yui-dt-selected td,tr.yui-dt-selected td.yui-dt-asc,tr.yui-dt-selected td.yui-dt-desc{background-color:#426FD9;color:#FFF;}tr.yui-dt-even td.yui-dt-selected,tr.yui-dt-odd td.yui-dt-selected{background-color:#446CD7;color:#FFF;}.yui-dt-list th.yui-dt-selected,.yui-dt-list th.yui-dt-selected a{background-color:#446CD7;}.yui-dt-list tr.yui-dt-selected td,.yui-dt-list tr.yui-dt-selected td.yui-dt-asc,.yui-dt-list tr.yui-dt-selected td.yui-dt-desc{background-color:#426FD9;color:#FFF;}.yui-dt-list tr.yui-dt-even td.yui-dt-selected,.yui-dt-list tr.yui-dt-odd td.yui-dt-selected{background-color:#446CD7;color:#FFF;}.yui-pg-container,.yui-dt-paginator{display:block;margin:6px 0;white-space:nowrap;}.yui-pg-first,.yui-pg-last,.yui-pg-current-page,.yui-dt-first,.yui-dt-paginator .yui-dt-last,.yui-dt-paginator .yui-dt-selected{padding:2px 6px;}a.yui-pg-first,a.yui-pg-previous,a.yui-pg-next,a.yui-pg-last,a.yui-pg-page,.yui-dt-paginator a.yui-dt-first,.yui-dt-paginator a.yui-dt-last{text-decoration:none;}.yui-dt-paginator .yui-dt-previous,.yui-dt-paginator .yui-dt-next{display:none;}a.yui-pg-page,a.yui-dt-page{border:1px solid #CBCBCB;padding:2px 6px;text-decoration:none;background-color:#fff}.yui-pg-current-page,.yui-dt-selected{border:1px solid #fff;background-color:#fff;}.yui-pg-pages{margin-left:1ex;margin-right:1ex;}.yui-pg-page{margin-right:1px;margin-left:1px;}.yui-pg-first,.yui-pg-previous{margin-right:3px;}.yui-pg-next,.yui-pg-last{margin-left:3px;}.yui-pg-current,.yui-pg-rpp-options{margin-right:1em;margin-left:1em;}
+.yui-busy{cursor:wait !important;}.yui-toolbar-container fieldset{padding:0;margin:0;border:0;}.yui-toolbar-container legend{display:none;}.yui-toolbar-container .yui-toolbar-subcont{padding:.25em 0;zoom:1;}.yui-toolbar-container-collapsed .yui-toolbar-subcont{display:none;}.yui-toolbar-container .yui-toolbar-subcont:after{display:block;clear:both;visibility:hidden;content:'.';height:0;}.yui-toolbar-container span.yui-toolbar-draghandle{cursor:move;border-left:1px solid #999;border-right:1px solid #999;overflow:hidden;text-indent:77777px;width:2px;height:20px;display:block;clear:none;float:left;margin:0 0 0 .2em;}.yui-toolbar-container .yui-toolbar-titlebar.draggable{cursor:move;}.yui-toolbar-container .yui-toolbar-titlebar{position:relative;}.yui-toolbar-container .yui-toolbar-titlebar h2{font-weight:bold;letter-spacing:0;border:none;color:#000;margin:0;padding:.2em;}.yui-toolbar-container .yui-toolbar-titlebar h2 a{text-decoration:none;color:#000;cursor:default;}.yui-toolbar-container.yui-toolbar-grouped span.yui-toolbar-draghandle{height:40px;}.yui-toolbar-container .yui-toolbar-group{float:left;zoom:1;}.yui-toolbar-container .yui-toolbar-group:after{display:block;clear:both;visibility:hidden;content:'.';height:0;}.yui-toolbar-container .yui-toolbar-group h3{font-size:75%;padding:0 0 0 .25em;margin:0;}.yui-toolbar-container span.yui-toolbar-separator{width:2px;height:18px;margin:.2em 0 .2em .1em;display:block;clear:none;float:left;}.yui-toolbar-container.yui-toolbar-grouped span.yui-toolbar-separator{height:35px;}.yui-toolbar-container.yui-toolbar-grouped .yui-toolbar-group span.yui-toolbar-separator{height:18px;}.yui-toolbar-container ul li{margin:0;padding:0;list-style-type:none;}.yui-toolbar-container .yui-toolbar-nogrouplabels h3{display:none;}.yui-toolbar-container .yui-push-button,.yui-toolbar-container .yui-color-button,.yui-toolbar-container .yui-menu-button{position:relative;cursor:pointer;}.yui-toolbar-container .yui-button .first-child,.yui-toolbar-container .yui-button .first-child a{height:100%;width:100%;overflow:hidden;}.yui-toolbar-container .yui-button-disabled{cursor:default;}.yui-toolbar-container .yui-button-disabled .yui-toolbar-icon{opacity:.5;filter:alpha(opacity=50);}.yui-toolbar-container .yui-button-disabled .up,.yui-toolbar-container .yui-button-disabled .down{opacity:.5;filter:alpha(opacity=50);}.yui-toolbar-container .yui-button a{overflow:hidden;}.yui-toolbar-container .yui-toolbar-select .first-child a{cursor:pointer;}.yui-toolbar-fontname-arial{font-family:Arial;}.yui-toolbar-fontname-arial-black{font-family:Arial Black;}.yui-toolbar-fontname-comic-sans-ms{font-family:Comic Sans MS;}.yui-toolbar-fontname-courier-new{font-family:Courier New;}.yui-toolbar-fontname-times-new-roman{font-family:Times New Roman;}.yui-toolbar-fontname-verdana{font-family:Verdana;}.yui-toolbar-fontname-impact{font-family:Impact;}.yui-toolbar-fontname-lucida-console{font-family:Lucida Console;}.yui-toolbar-fontname-tahoma{font-family:Tahoma;}.yui-toolbar-fontname-trebuchet-ms{font-family:Trebuchet MS;}.yui-toolbar-container .yui-toolbar-spinbutton{position:relative;}.yui-toolbar-container .yui-toolbar-spinbutton .first-child a{z-index:0;opacity:1;}.yui-toolbar-container .yui-toolbar-spinbutton a.up,.yui-toolbar-container .yui-toolbar-spinbutton a.down{position:absolute;display:block right:0;cursor:pointer;z-index:1;padding:0;margin:0;}.yui-toolbar-container .yui-overlay{position:absolute;}.yui-toolbar-container .yui-overlay ul li{margin:0;list-style-type:none;}.yui-toolbar-container{z-index:1;}.yui-editor-container .yui-editor-editable-container{position:relative;z-index:0;width:100%;}.yui-editor-container .yui-editor-masked{background-color:#CCC;}.yui-editor-container iframe{border:0px;padding:0;margin:0;zoom:1;display:block;}.yui-editor-container .yui-editor-editable{padding:0;margin:0;}.yui-editor-container .dompath{font-size:85%;}.yui-editor-panel .hd{text-align:left;position:relative;}.yui-editor-panel .hd h3{font-weight:bold;padding:0.25em 0pt 0.25em 0.25em;margin:0;}.yui-editor-panel .bd{width:100%;zoom:1;position:relative;}.yui-editor-panel .bd div.yui-editor-body-cont{padding:.25em .1em;zoom:1;}.yui-editor-panel .bd div.yui-editor-body-cont:after{display:block;clear:both;visibility:hidden;content:'.';height:0;}.yui-editor-panel .ft{text-align:right;width:99%;float:left;clear:both;}.yui-editor-panel .ft span.tip{display:block;position:relative;padding:.5em .5em .5em 23px;text-align:left;zoom:1;}.yui-editor-panel label{clear:both;float:left;padding:0;width:100%;text-align:left;zoom:1;}.yui-editor-panel .gecko label{overflow:auto;}.yui-editor-panel label strong{float:left;width:6em;}.yui-editor-panel .removeLink{width:80%;text-align:right;}.yui-editor-panel label input{margin-left:.25em;float:left;}.yui-editor-panel .yui-toolbar-group-padding{}.yui-editor-panel .yui-toolbar-group-border{}.yui-editor-panel .yui-toolbar-group-textflow{}.yui-editor-panel .height-width{float:left;}.yui-editor-panel .height-width h3{}.yui-editor-panel .height-width span{font-style:italic;display:block;float:left;overflow:auto;}.yui-editor-panel .height-width span.info{font-size:70%;}.yui-editor-panel .yui-toolbar-bordersize,.yui-editor-panel .yui-toolbar-bordertype{font-size:75%;}.yui-editor-panel .yui-toolbar-container span.yui-toolbar-separator{border:none;}.yui-editor-panel .yui-toolbar-bordersize span a span,.yui-editor-panel .yui-toolbar-bordertype span a span{display:block;height:8px;left:4px;position:absolute;top:3px;*top:-5px;width:24px;}.yui-editor-panel .yui-toolbar-bordertype span a span.yui-toolbar-bordertype-solid{border-bottom:1px solid black;}.yui-editor-panel .yui-toolbar-bordertype span a span.yui-toolbar-bordertype-dotted{border-bottom:1px dotted black;}.yui-editor-panel .yui-toolbar-bordertype span a span.yui-toolbar-bordertype-dashed{border-bottom:1px dashed black;}.yui-editor-panel .yui-toolbar-bordersize span a span.yui-toolbar-bordersize-0{*top:0px;}.yui-editor-panel .yui-toolbar-bordersize span a span.yui-toolbar-bordersize-1{border-bottom:1px solid black;}.yui-editor-panel .yui-toolbar-bordersize span a span.yui-toolbar-bordersize-2{border-bottom:2px solid black;}.yui-editor-panel .yui-toolbar-bordersize span a span.yui-toolbar-bordersize-3{top:2px;*top:-5px;border-bottom:3px solid black;}.yui-editor-panel .yui-toolbar-bordersize span a span.yui-toolbar-bordersize-4{top:1px;*top:-5px;border-bottom:4px solid black;}.yui-editor-panel .yui-toolbar-bordersize span a span.yui-toolbar-bordersize-5{top:1px;*top:-5px;border-bottom:5px solid black;}.yui-toolbar-container .yui-toolbar-bordersize-menu,.yui-toolbar-container .yui-toolbar-bordertype-menu{width:95px !important;}.yui-toolbar-bordersize-menu .yuimenuitemlabel,.yui-toolbar-bordertype-menu .yuimenuitemlabel,.yui-toolbar-bordersize-menu .yuimenuitemlabel,.yui-toolbar-bordertype-menu .yuimenuitemlabel:hover{margin:0px 3px 7px 17px;}.yui-toolbar-bordersize-menu .yuimenuitemlabel .checkedindicator,.yui-toolbar-bordertype-menu .yuimenuitemlabel .checkedindicator{position:absolute;left:-12px;*top:14px;*left:0px;}.yui-toolbar-bordersize-menu li.yui-toolbar-bordersize-1 a{border-bottom:1px solid black;height:14px;}.yui-toolbar-bordersize-menu li.yui-toolbar-bordersize-2 a{border-bottom:2px solid black;height:14px;}.yui-toolbar-bordersize-menu li.yui-toolbar-bordersize-3 a{border-bottom:3px solid black;height:14px;}.yui-toolbar-bordersize-menu li.yui-toolbar-bordersize-4 a{border-bottom:4px solid black;height:14px;}.yui-toolbar-bordersize-menu li.yui-toolbar-bordersize-5 a{border-bottom:5px solid black;height:14px;}.yui-toolbar-bordertype-menu li.yui-toolbar-bordertype-solid a{border-bottom:1px solid black;height:14px;}.yui-toolbar-bordertype-menu li.yui-toolbar-bordertype-dashed a{border-bottom:1px dashed black;height:14px;}.yui-toolbar-bordertype-menu li.yui-toolbar-bordertype-dotted a{border-bottom:1px dotted black;height:14px;}h2.yui-editor-skipheader,h3.yui-editor-skipheader{height:0;margin:0;padding:0;border:none;width:0;overflow:hidden;position:absolute;}.yui-toolbar-colors{width:133px;zoom:1;display:none;z-index:100;overflow:hidden;}.yui-toolbar-colors:after{display:block;clear:both;visibility:hidden;content:'.';height:0;}.yui-toolbar-colors a{height:9px;width:9px;float:left;display:block;overflow:hidden;text-indent:999px;margin:0;cursor:pointer;border:1px solid #F6F7EE;}.yui-toolbar-colors a:hover{border:1px solid black;}.yui-color-button-menu{overflow:visible;background-color:transparent;}.yui-toolbar-colors span{position:relative;display:block;padding:3px;overflow:hidden;float:left;width:100%;zoom:1;}.yui-toolbar-colors span:after{display:block;clear:both;visibility:hidden;content:'.';height:0;}.yui-toolbar-colors span em{height:35px;width:30px;float:left;display:block;overflow:hidden;text-indent:999px;margin:0.75px;border:1px solid black;}.yui-toolbar-colors span strong{font-weight:normal;padding-left:3px;display:block;font-size:85%;float:left;width:65%;}.yui-editor-container{border:1px solid #808080;}.yui-toolbar-container{zoom:1;}.yui-toolbar-container .yui-toolbar-titlebar{background:url(sprite.png) repeat-x 0 -200px;position:relative;}.yui-toolbar-container .yui-toolbar-titlebar h2{color:#000000;font-weight:bold;margin:0;padding:0.3em 1em;font-size:100%;text-align:left;}.yui-toolbar-container .yui-toolbar-group h3{color:#808080;font-size:75%;margin:1em 0 0;padding-bottom:0;padding-left:0.25em;text-align:left;}.yui-toolbar-container span.yui-toolbar-separator{border:none;text-indent:33px;overflow:hidden;margin:.25em;}.yui-toolbar-container{background-color:#F2F2F2;}.yui-toolbar-container .yui-toolbar-subcont{padding:0 1em 0.35em;border-bottom:1px solid #808080;}.yui-toolbar-container-collapsed .yui-toolbar-titlebar{border-bottom:1px solid #808080;}.yui-editor-container .visible .yui-menu-shadow,.yui-editor-panel .visible .yui-menu-shadow{display:none;}.yui-editor-container ul{list-style-type:none;margin:0;padding:0;}.yui-editor-container ul li{list-style-type:none;margin:0;padding:0;}.yui-toolbar-group ul li.yui-toolbar-groupitem{float:left;}.yui-editor-container .dompath{background-color:#F2F2F2;border-top:1px solid #808080;color:#999;text-align:left;padding:0.25em;}.yui-toolbar-container .collapse{background:url(sprite.png) no-repeat 0 -400px;}.yui-toolbar-container .yui-toolbar-titlebar span.collapse{cursor:pointer;position:absolute;top:4px;right:2px;display:block;overflow:hidden;height:15px;width:15px;text-indent:9999px;}.yui-toolbar-container .yui-push-button,.yui-toolbar-container .yui-color-button,.yui-toolbar-container .yui-menu-button{background:url(sprite.png) repeat-x 0 0;position:relative;display:block;height:22px;width:30px;margin:0;border-color:#808080;border-style:solid;border-width:1px 0;}.yui-toolbar-container .yui-push-button a,.yui-toolbar-container .yui-color-button a,.yui-toolbar-container .yui-menu-button a{padding-left:35px;height:20px;text-decoration:none;font-size:93%;line-height:2;display:block;color:#000000;overflow:hidden;}.yui-toolbar-container .yui-push-button .first-child,.yui-toolbar-container .yui-color-button .first-child,.yui-toolbar-container .yui-menu-button .first-child{border-color:#808080;border-style:solid;border-width:0 1px;margin:0 -1px;display:block;}.yui-toolbar-container .yui-push-button-disabled .first-child,.yui-toolbar-container .yui-color-button-disabled .first-child,.yui-toolbar-container .yui-menu-button-disabled .first-child{border-color:#ccc;}.yui-toolbar-container .yui-push-button-disabled a,.yui-toolbar-container .yui-color-button-disabled a,.yui-toolbar-container .yui-menu-button-disabled a{color:#A6A6A6;cursor:default;}.yui-toolbar-container .yui-push-button-disabled,.yui-toolbar-container .yui-color-button-disabled,.yui-toolbar-container .yui-menu-button-disabled{border-color:#ccc;}.yui-toolbar-container .yui-button .first-child{*left:0px;}.yui-toolbar-container .yui-toolbar-fontname{width:135px;}.yui-toolbar-container .yui-toolbar-heading{width:92px;}.yui-toolbar-container .yui-button-hover{background:url(sprite.png) repeat-x 0 -1300px;border-color:#808080;}.yui-toolbar-container .yui-button-selected{background:url(sprite.png) repeat-x 0 -1700px;border-color:#808080;}.yui-toolbar-container .yui-toolbar-nogrouplabels h3{display:none;}.yui-toolbar-container .yui-toolbar-nogrouplabels .yui-toolbar-group{margin-top:.75em;}.yui-toolbar-container .yui-push-button span.yui-toolbar-icon,.yui-toolbar-container .yui-color-button span.yui-toolbar-icon,.yui-toolbar-container .yui-menu-button span.yui-toolbar-icon{display:block;position:absolute;top:2px;height:18px;width:18px;overflow:hidden;background:url(editor-sprite.gif) no-repeat 30px 30px;}.yui-toolbar-container .yui-button-selected span.yui-toolbar-icon,.yui-toolbar-container .yui-button-hover span.yui-toolbar-icon{background-image:url(editor-sprite-active.gif);}.yui-toolbar-container .visible .yuimenuitemlabel{cursor:pointer;color:#000;*position:relative;}.yui-toolbar-container .yui-button-menu{background-color:#fff;}div.yuimenu li.selected{background-color:#B3D4FF;}div.yuimenu li.selected a.selected{color:#000;}.yui-toolbar-container .yui-toolbar-bold span.yui-toolbar-icon{background-position:0 0;left:5px;}.yui-toolbar-container .yui-toolbar-italic span.yui-toolbar-icon{background-position:0 -36px;left:5px;}.yui-toolbar-container .yui-toolbar-underline span.yui-toolbar-icon{background-position:0 -72px;left:5px;}.yui-toolbar-container .yui-toolbar-subscript span.yui-toolbar-icon{background-position:0 -180px;left:5px;}.yui-toolbar-container .yui-toolbar-superscript span.yui-toolbar-icon{background-position:0 -144px;left:5px;}.yui-toolbar-container .yui-toolbar-forecolor span.yui-toolbar-icon{background-position:0 -216px;left:5px;}.yui-toolbar-container .yui-toolbar-backcolor span.yui-toolbar-icon{background-position:0 -288px;left:5px;}.yui-toolbar-container .yui-toolbar-justifyleft span.yui-toolbar-icon{background-position:0 -324px;left:5px;}.yui-toolbar-container .yui-toolbar-justifycenter span.yui-toolbar-icon{background-position:0 -360px;left:5px;}.yui-toolbar-container .yui-toolbar-justifyright span.yui-toolbar-icon{background-position:0 -396px;left:5px;}.yui-toolbar-container .yui-toolbar-justifyfull span.yui-toolbar-icon{background-position:0 -432px;left:5px;}.yui-toolbar-container .yui-toolbar-indent span.yui-toolbar-icon{background-position:0 -720px;left:5px;}.yui-toolbar-container .yui-toolbar-outdent span.yui-toolbar-icon{background-position:0 -684px;left:5px;}.yui-toolbar-container .yui-toolbar-createlink span.yui-toolbar-icon{background-position:0 -792px;left:5px;}.yui-toolbar-container .yui-toolbar-insertimage span.yui-toolbar-icon{background-position:1px -756px;left:5px;}.yui-toolbar-container .yui-toolbar-left span.yui-toolbar-icon{background-position:0 -972px;left:5px;}.yui-toolbar-container .yui-toolbar-right span.yui-toolbar-icon{background-position:0 -936px;left:5px;}.yui-toolbar-container .yui-toolbar-inline span.yui-toolbar-icon{background-position:0 -900px;left:5px;}.yui-toolbar-container .yui-toolbar-block span.yui-toolbar-icon{background-position:0 -864px;left:5px;}.yui-toolbar-container .yui-toolbar-bordercolor span.yui-toolbar-icon{background-position:0 -252px;left:5px;}.yui-toolbar-container .yui-toolbar-removeformat span.yui-toolbar-icon{background-position:0 -1080px;left:5px;}.yui-toolbar-container .yui-toolbar-hiddenelements span.yui-toolbar-icon{background-position:0 -1044px;left:5px;}.yui-toolbar-container .yui-toolbar-insertunorderedlist span.yui-toolbar-icon{background-position:0 -468px;left:5px;}.yui-toolbar-container .yui-toolbar-insertorderedlist span.yui-toolbar-icon{background-position:0 -504px;left:5px;}.yui-toolbar-container .yui-toolbar-spinbutton,.yui-toolbar-container .yui-toolbar-spinbutton .first-child{width:35px;}.yui-toolbar-container .yui-toolbar-spinbutton .first-child a{padding-left:2px;text-align:left;}.yui-toolbar-container .yui-toolbar-spinbutton span.yui-toolbar-icon{display:none;}.yui-toolbar-container .yui-toolbar-spinbutton a.up,.yui-toolbar-container .yui-toolbar-spinbutton a.down{right:2px;background:url(editor-sprite.gif) no-repeat 0 -1222px;overflow:hidden;height:6px;width:7px;min-height:0;padding:0;}.yui-toolbar-container .yui-toolbar-spinbutton a.up{top:2px;background-position:0 -1222px;}.yui-toolbar-container .yui-toolbar-spinbutton a.down{bottom:2px;background-position:0 -1187px;}.yui-toolbar-container select{height:22px;border:1px solid #808080;}.yui-toolbar-container .yui-toolbar-select .first-child a{padding-left:5px;text-align:left;}.yui-toolbar-container .yui-toolbar-select span.yui-toolbar-icon{background:url( editor-sprite.gif ) no-repeat 0 -1144px;overflow:hidden;right:-2px;top:0px;height:20px;}.yui-editor-panel .yui-color-button-menu .bd{background-color:transparent;border:none;width:135px;}.yui-color-button-menu .yui-toolbar-colors{border:1px solid #808080;}.yui-editor-panel{padding:0;margin:0;border:none;background-color:transparent;overflow:visible;}.yui-editor-panel .hd{margin:10px 0 0;padding:0;border:none;}.yui-editor-panel .hd h3{color:#000;border:1px solid #808080;background:url(sprite.png) repeat-x 0 -200px;width:99%;position:relative;margin:0;padding:3px 0 0 0;font-size:93%;text-indent:5px;height:20px;}.yui-editor-panel .bd{background-color:#F2F2F2;border-left:1px solid #808080;border-right:1px solid #808080;width:99%;margin:0;padding:0;overflow:visible;}.yui-editor-panel ul{list-style-type:none;margin:0;padding:0;}.yui-editor-panel ul li{margin:0;padding:0;}.yui-editor-panel .yuimenu{}.yui-editor-panel .yui-toolbar-container .yui-toolbar-subcont{padding:0;border:none;margin-top:0.35em;}.yui-editor-panel .yui-toolbar-bordersize,.yui-editor-panel .yui-toolbar-bordertype{width:50px;}.yui-editor-panel label{display:block;float:none;padding:4px 0;margin-bottom:7px;}.yui-editor-panel label strong{font-weight:normal;font-size:93%;text-align:right;padding-top:2px;}.yui-editor-panel label input{width:75%;}.yui-editor-panel #createlink_target,.yui-editor-panel #insertimage_target{width:auto;margin-right:5px;}.yui-editor-panel .removeLink{width:98%;}.yui-editor-panel label input.warning{background-color:#FFEE69;}.yui-editor-panel .yui-toolbar-group h3{color:#000;float:left;font-weight:normal;font-size:93%;margin:5px 0 0 0;padding:0 3px 0 0;text-align:right;}.yui-editor-panel .height-width h3{margin:3px 0 0 10px;}.yui-editor-panel .height-width{margin:3px 0 0 35px;*margin-left:14px;width:42%;*width:44%;}.yui-editor-panel .yui-toolbar-group-border{width:190px;}.yui-editor-panel .no-button .yui-toolbar-group-border{width:210px;}.yui-editor-panel .yui-toolbar-group-padding{width:203px;}.yui-editor-panel .no-button .yui-toolbar-group-padding{width:172px;}.yui-editor-panel .yui-toolbar-group-padding h3{margin-left:25px;*margin-left:12px;}.yui-editor-panel .yui-toolbar-group-textflow{width:182px;}.yui-editor-panel .hd{background:none;}.yui-editor-panel .ft{background-color:#F2F2F2;border:1px solid #808080;border-top:none;padding:0;margin:0 0 2px 0;}.yui-editor-panel .hd span.close{background:url(sprite.png) no-repeat 0 -300px;cursor:pointer;display:block;height:16px;overflow:hidden;position:absolute;right:5px;text-indent:500px;top:2px;width:26px;}.yui-editor-panel .ft span.tip{background-color:#EDF5FF;border-top:1px solid #808080;font-size:85%;}.yui-editor-panel .ft span.tip strong{display:block;float:left;margin:0 2px 8px 0;}.yui-editor-panel .ft span.tip span.icon{background:url( editor-sprite.gif ) no-repeat 0 -1260px;display:block;height:20px;left:2px;position:absolute;top:8px;width:20px;}.yui-editor-panel .ft span.tip span.icon-info{background-position:2px -1260px;}.yui-editor-panel .ft span.tip span.icon-warn{background-position:2px -1296px;}.yui-editor-panel .hd span.knob{position:absolute;height:10px;width:28px;top:-10px;left:25px;text-indent:9999px;overflow:hidden;background:url( editor-knob.gif ) no-repeat 0 0;}.yui-editor-panel .yui-toolbar-container{float:left;width:100%;background-image:none;border:none;}.yui-editor-panel .yui-toolbar-container .bd{background-color:#ffffff;}.yui-editor-blankimage{background-image:url( blankimage.png );}
+.yui-crop{position:relative;}.yui-crop .yui-crop-mask{position:absolute;top:0;left:0;height:100%;width:100%;}.yui-crop .yui-resize{position:absolute;top:10px;left:10px;}.yui-crop .yui-crop-resize-mask{position:absolute;top:0;left:0;height:100%;width:100%;background-position:-10px -10px;overflow:hidden;}.yui-crop .yui-crop-mask{background-color:#000;opacity:.5;filter:alpha(opacity=50);}.yui-crop .yui-resize{border:1px dashed #fff;}
+.yui-layout-loading{visibility:hidden;}body.yui-layout{overflow:hidden;position:relative;padding:0;margin:0;}.yui-layout-doc{position:relative;}.yui-layout-unit{height:50px;width:50px;padding:0;margin:0;float:none;z-index:0;overflow:hidden;}.yui-layout-unit-top{position:absolute;top:0;left:0;width:100%;}.yui-layout-unit-left{position:absolute;top:0;left:0;}.yui-layout-unit-right{position:absolute;top:0;right:0;}.yui-layout-unit-bottom{position:absolute;bottom:0;left:0;width:100%;}.yui-layout-unit-center{position:absolute;top:0;left:0;width:100%;}.yui-layout div.yui-layout-hd{position:absolute;top:0;left:0;zoom:1;width:100%;overflow:hidden;}.yui-layout div.yui-layout-bd{position:absolute;top:0;left:0;zoom:1;width:100%;overflow:hidden;}.yui-layout .yui-layout-scroll div.yui-layout-bd{overflow:auto;}.yui-layout div.yui-layout-ft{position:absolute;bottom:0;left:0;width:100%;zoom:1;overflow:hidden;}.yui-layout .yui-layout-unit div.yui-layout-hd h2{text-align:left;}.yui-layout .yui-layout-unit div.yui-layout-hd .collapse{cursor:pointer;height:13px;position:absolute;right:2px;top:2px;width:17px;font-size:0;}.yui-layout .yui-layout-unit div.yui-layout-hd .close{cursor:pointer;height:13px;position:absolute;right:2px;top:2px;width:17px;font-size:0;}.yui-layout .yui-layout-unit div.yui-layout-hd .collapse-close{right:25px;}.yui-layout .yui-layout-clip{position:absolute;height:20px;background-color:#c0c0c0;display:none;}.yui-layout .yui-layout-clip .collapse{cursor:pointer;height:13px;position:absolute;right:2px;top:2px;width:17px;font-size:0px;}.yui-layout .yui-layout-wrap{height:100%;width:100%;position:absolute;left:0;}.yui-layout .yui-layout-unit .yui-content{overflow:hidden;}.yui-layout .yui-layout-unit .yui-layout-scroll{overflow:auto;}.yui-layout .yui-resize-proxy{border:none;font-size:0;margin:0;padding:0;}.yui-layout .yui-resize-resizing .yui-resize-handle{opacity:0;filter:alpha(opacity=0);}.yui-layout .yui-resize-proxy div{position:absolute;border:1px solid #808080;background-color:#EDF5FF;}.yui-layout .yui-resize .yui-resize-handle-active{background-color:#EDF5FF;}.yui-layout .yui-resize-proxy .yui-layout-handle-l{width:5px;height:100%;top:0;left:0;}.yui-layout .yui-resize-proxy .yui-layout-handle-r{width:5px;top:0;right:0;height:100%;}.yui-layout .yui-resize-proxy .yui-layout-handle-b{width:100%;bottom:0;left:0;height:5px;}.yui-layout .yui-resize-proxy .yui-layout-handle-t{width:100%;top:0;left:0;height:5px;}.yui-layout .yui-layout-unit-left div.yui-layout-hd .collapse{background:transparent url(layout_sprite.png) no-repeat -20px -160px;border:1px solid #808080;}.yui-layout .yui-layout-clip-left .collapse{background:transparent url(layout_sprite.png) no-repeat -20px -140px;border:1px solid #808080;}.yui-layout .yui-layout-unit-right div.yui-layout-hd .collapse{background:transparent url(layout_sprite.png) no-repeat -20px -200px;border:1px solid #808080;}.yui-layout .yui-layout-clip-right .collapse{background:transparent url(layout_sprite.png) no-repeat -20px -120px;border:1px solid #808080;}.yui-layout .yui-layout-unit-top div.yui-layout-hd .collapse{background:transparent url(layout_sprite.png) no-repeat -20px -220px;border:1px solid #808080;}.yui-layout .yui-layout-clip-top .collapse{background:transparent url(layout_sprite.png) no-repeat -20px -240px;border:1px solid #808080;}.yui-layout .yui-layout-unit-bottom div.yui-layout-hd .collapse{background:transparent url(layout_sprite.png) no-repeat -20px -260px;border:1px solid #808080;}.yui-layout .yui-layout-clip-bottom .collapse{background:transparent url(layout_sprite.png) no-repeat -20px -180px;border:1px solid #808080;}.yui-layout .yui-layout-unit div.yui-layout-hd .close{background:transparent url(layout_sprite.png) no-repeat -20px -100px;border:1px solid #808080;}.yui-layout .yui-layout-hd{background:url(sprite.png) repeat-x 0 -1400px;border:1px solid #808080;}.yui-layout{background-color:#EDF5FF;}.yui-layout .yui-layout-unit div.yui-layout-hd h2{font-weight:bold;color:#fff;padding:3px;}.yui-layout .yui-layout-unit div.yui-layout-bd{border:1px solid #808080;border-bottom:none;border-top:none;*border-bottom-width:0;*border-top-width:0;background-color:#f2f2f2;text-align:left;}.yui-layout .yui-layout-unit div.yui-layout-bd-noft{border-bottom:1px solid #808080;}.yui-layout .yui-layout-unit div.yui-layout-bd-nohd{border-top:1px solid #808080;}.yui-layout .yui-layout-clip{position:absolute;height:20px;background-color:#EDF5FF;display:none;border:1px solid #808080;}.yui-layout div.yui-layout-ft{border:1px solid #808080;border-top:none;*border-top-width:0;background-color:#f2f2f2;}.yui-layout-unit .yui-resize-handle{background-color:transparent;}.yui-layout-unit .yui-resize-handle-r{right:0;top:0;background-image:none;}.yui-layout-unit .yui-resize-handle-l{left:0;top:0;background-image:none;}.yui-layout-unit .yui-resize-handle-b{right:0;bottom:0;background-image:none;}.yui-layout-unit .yui-resize-handle-t{right:0;top:0;background-image:none;}.yui-layout-unit .yui-resize-handle-r .yui-layout-resize-knob,.yui-layout-unit .yui-resize-handle-l .yui-layout-resize-knob{position:absolute;height:16px;width:6px;top:45%;left:0px;background:transparent url(layout_sprite.png) no-repeat 0 -5px;}.yui-layout-unit .yui-resize-handle-t .yui-layout-resize-knob,.yui-layout-unit .yui-resize-handle-b .yui-layout-resize-knob{position:absolute;height:6px;width:16px;left:45%;background:transparent url(layout_sprite.png) no-repeat -20px 0;}
+.yui-log{padding:1em;width:31em;background-color:#AAA;color:#000;border:1px solid black;font-family:monospace;font-size:77%;text-align:left;z-index:9000;}.yui-log-container{position:absolute;top:1em;right:1em;}.yui-log input{margin:0;padding:0;font-family:arial;font-size:100%;font-weight:normal;}.yui-log .yui-log-btns{position:relative;float:right;bottom:.25em;}.yui-log .yui-log-hd{margin-top:1em;padding:.5em;background-color:#575757;}.yui-log .yui-log-hd h4{margin:0;padding:0;font-size:108%;font-weight:bold;color:#FFF;}.yui-log .yui-log-bd{width:100%;height:20em;background-color:#FFF;border:1px solid gray;overflow:auto;}.yui-log p{margin:1px;padding:.1em;}.yui-log pre{margin:0;padding:0;}.yui-log pre.yui-log-verbose{white-space:pre-wrap;white-space:-moz-pre-wrap !important;white-space:-pre-wrap;white-space:-o-pre-wrap;word-wrap:break-word;}.yui-log .yui-log-ft{margin-top:.5em;}.yui-log .yui-log-ft .yui-log-categoryfilters{}.yui-log .yui-log-ft .yui-log-sourcefilters{width:100%;border-top:1px solid #575757;margin-top:.75em;padding-top:.75em;}.yui-log .yui-log-filtergrp{margin-right:.5em;}.yui-log .info{background-color:#A7CC25;}.yui-log .warn{background-color:#F58516;}.yui-log .error{background-color:#E32F0B;}.yui-log .time{background-color:#A6C9D7;}.yui-log .window{background-color:#F2E886;}
+.yuimenubar{visibility:visible;position:static;}.yuimenu .yuimenu,.yuimenubar .yuimenu{visibility:hidden;position:absolute;top:-10000px;left:-10000px;}.yuimenubar li,.yuimenu li{list-style-type:none;}.yuimenubar ul,.yuimenu ul,.yuimenubar li,.yuimenu li,.yuimenu h6,.yuimenubar h6{margin:0;padding:0;}.yuimenuitemlabel,.yuimenubaritemlabel{text-align:left;white-space:nowrap;}.yuimenubar ul{*zoom:1;}.yuimenubar .yuimenu ul{*zoom:normal;}.yuimenubar>.bd>ul:after{content:".";display:block;clear:both;visibility:hidden;height:0;line-height:0;}.yuimenubaritem{float:left;}.yuimenubaritemlabel,.yuimenuitemlabel{display:block;}.yuimenuitemlabel .helptext{font-style:normal;display:block;margin:-1em 0 0 10em;}.yui-menu-shadow{position:absolute;visibility:hidden;z-index:-1;}.yui-menu-shadow-visible{top:2px;right:-3px;left:-3px;bottom:-3px;visibility:visible;}.hide-scrollbars *{overflow:hidden;}.hide-scrollbars select{display:none;}.yuimenu.show-scrollbars,.yuimenubar.show-scrollbars{overflow:visible;}.yuimenu.hide-scrollbars .yui-menu-shadow,.yuimenubar.hide-scrollbars .yui-menu-shadow{overflow:hidden;}.yuimenu.show-scrollbars .yui-menu-shadow,.yuimenubar.show-scrollbars .yui-menu-shadow{overflow:auto;}.yuimenubar{font-size:93%;line-height:2;*line-height:1.9;border:solid 1px #808080;background:url(sprite.png) repeat-x 0 0;}.yuimenubarnav .yuimenubaritem{border-right:solid 1px #ccc;}.yuimenubaritemlabel{padding:0 10px;color:#000;text-decoration:none;cursor:default;border-style:solid;border-color:#808080;border-width:1px 0;*position:relative;margin:-1px 0;}.yuimenubarnav .yuimenubaritemlabel{padding-right:20px;*display:inline-block;}.yuimenubarnav .yuimenubaritemlabel-hassubmenu{background:url(menubaritem_submenuindicator.png) right center no-repeat;}.yuimenubaritem-selected{background:url(sprite.png) repeat-x 0 -1700px;}.yuimenubaritemlabel-selected{border-color:#7D98B8;}.yuimenubarnav .yuimenubaritemlabel-selected{border-left-width:1px;margin-left:-1px;*left:-1px;}.yuimenubaritemlabel-disabled{cursor:default;color:#A6A6A6;}.yuimenubarnav .yuimenubaritemlabel-hassubmenu-disabled{background-image:url(menubaritem_submenuindicator_disabled.png);}.yuimenu{font-size:93%;line-height:1.5;*line-height:1.45;}.yuimenubar .yuimenu,.yuimenu .yuimenu{font-size:100%;}.yuimenu .bd{border:solid 1px #808080;background-color:#fff;}.yuimenu ul{padding:3px 0;border-width:1px 0 0 0;border-color:#ccc;border-style:solid;}.yuimenu ul.first-of-type{border-width:0;}.yuimenu h6{font-weight:bold;border-style:solid;border-color:#ccc;border-width:1px 0 0 0;color:#a4a4a4;padding:3px 10px 0 10px;}.yuimenu ul.hastitle,.yuimenu h6.first-of-type{border-width:0;}.yuimenu .yui-menu-body-scrolled{border-color:#ccc #808080;overflow:hidden;}.yuimenu .topscrollbar,.yuimenu .bottomscrollbar{height:16px;border:solid 1px #808080;background:#fff url(sprite.png) no-repeat 0 0;}.yuimenu .topscrollbar{border-bottom-width:0;background-position:center -950px;}.yuimenu .topscrollbar_disabled{background-position:center -975px;}.yuimenu .bottomscrollbar{border-top-width:0;background-position:center -850px;}.yuimenu .bottomscrollbar_disabled{background-position:center -875px;}.yuimenuitem{_border-bottom:solid 1px #fff;}.yuimenuitemlabel{padding:0 20px;color:#000;text-decoration:none;cursor:default;}.yuimenuitemlabel .helptext{margin-top:-1.5em;*margin-top:-1.45em;}.yuimenuitem-hassubmenu{background-image:url(menuitem_submenuindicator.png);background-position:right center;background-repeat:no-repeat;}.yuimenuitem-checked{background-image:url(menuitem_checkbox.png);background-position:left center;background-repeat:no-repeat;}.yui-menu-shadow-visible{background-color:#000;opacity:.12;*filter:alpha(opacity=12);}.yuimenuitem-selected{background-color:#B3D4FF;}.yuimenuitemlabel-disabled{cursor:default;color:#A6A6A6;}.yuimenuitem-hassubmenu-disabled{background-image:url(menuitem_submenuindicator_disabled.png);}.yuimenuitem-checked-disabled{background-image:url(menuitem_checkbox_disabled.png);}
+.yui-pv{background-color:#4a4a4a;font:arial;position:relative;width:99%;z-index:1000;margin-bottom:1em;overflow:hidden;}.yui-pv .hd{background:url(header_background.png) repeat-x;min-height:30px;overflow:hidden;zoom:1;padding:2px 0;}.yui-pv .hd h4{padding:8px 10px;margin:0;font:bold 14px arial;color:#fff;}.yui-pv .hd a{background:#3f6bc3;font:bold 11px arial;color:#fff;padding:4px;margin:3px 10px 0 0;border:1px solid #3f567d;cursor:pointer;display:block;float:right;}.yui-pv .hd span{display:none;}.yui-pv .hd span.yui-pv-busy{height:18px;width:18px;background:url(wait.gif) no-repeat;overflow:hidden;display:block;float:right;margin:4px 10px 0 0;}.yui-pv .hd:after,.yui-pv .bd:after,.yui-pv-chartlegend dl:after{content:'.';visibility:hidden;clear:left;height:0;display:block;}.yui-pv .bd{position:relative;zoom:1;overflow-x:auto;overflow-y:hidden;}.yui-pv .yui-pv-table{padding:0 10px;margin:5px 0 10px 0;}.yui-pv .yui-pv-table .yui-dt-bd td{color:#eeee5c;font:12px arial;}.yui-pv .yui-pv-table tr.yui-dt-odd{background:#929292;}.yui-pv .yui-pv-table tr.yui-dt-even{background:#58637a;}.yui-pv .yui-pv-table tr.yui-dt-even td.yui-dt-asc,.yui-pv .yui-pv-table tr.yui-dt-even td.yui-dt-desc{background:#384970;}.yui-pv .yui-pv-table tr.yui-dt-odd td.yui-dt-asc,.yui-pv .yui-pv-table tr.yui-dt-odd td.yui-dt-desc{background:#6F6E6E;}.yui-pv .yui-pv-table .yui-dt-hd th{background-image:none;background:#2E2D2D;}.yui-pv th.yui-dt-asc .yui-dt-liner{background:transparent url(asc.gif) no-repeat scroll right center;}.yui-pv th.yui-dt-desc .yui-dt-liner{background:transparent url(desc.gif) no-repeat scroll right center;}.yui-pv .yui-pv-table .yui-dt-hd th a{color:#fff;font:bold 12px arial;}.yui-pv .yui-pv-table .yui-dt-hd th.yui-dt-asc,.yui-pv .yui-pv-table .yui-dt-hd th.yui-dt-desc{background:#333;}.yui-pv-chartcontainer{padding:0 10px;}.yui-pv-chart{height:250px;clear:right;margin:5px 0 0 0;color:#fff;}.yui-pv-chartlegend div{float:right;margin:0 0 0 10px;_width:250px;}.yui-pv-chartlegend dl{border:1px solid #999;padding:.2em 0 .2em .5em;zoom:1;margin:5px 0;}.yui-pv-chartlegend dt{float:left;display:block;height:.7em;width:.7em;padding:0;}.yui-pv-chartlegend dd{float:left;display:block;color:#fff;margin:0 1em 0 .5em;padding:0;font:11px arial;}.yui-pv-minimized{height:35px;}.yui-pv-minimized .bd{top:-3000px;}.yui-pv-minimized .hd a.yui-pv-refresh{display:none;}
+.yui-resize{position:relative;zoom:1;z-index:0;}.yui-resize-wrap{zoom:1;}.yui-draggable{cursor:move;}.yui-resize .yui-resize-handle{position:absolute;z-index:1;font-size:0;margin:0;padding:0;zoom:1;height:1px;width:1px;}.yui-resize .yui-resize-handle-br{height:5px;width:5px;bottom:0;right:0;cursor:se-resize;z-index:2;zoom:1;}.yui-resize .yui-resize-handle-bl{height:5px;width:5px;bottom:0;left:0;cursor:sw-resize;z-index:2;zoom:1;}.yui-resize .yui-resize-handle-tl{height:5px;width:5px;top:0;left:0;cursor:nw-resize;z-index:2;zoom:1;}.yui-resize .yui-resize-handle-tr{height:5px;width:5px;top:0;right:0;cursor:ne-resize;z-index:2;zoom:1;}.yui-resize .yui-resize-handle-r{width:5px;height:100%;top:0;right:0;cursor:e-resize;zoom:1;}.yui-resize .yui-resize-handle-l{height:100%;width:5px;top:0;left:0;cursor:w-resize;zoom:1;}.yui-resize .yui-resize-handle-b{width:100%;height:5px;bottom:0;right:0;cursor:s-resize;zoom:1;}.yui-resize .yui-resize-handle-t{width:100%;height:5px;top:0;right:0;cursor:n-resize;zoom:1;}.yui-resize-proxy{position:absolute;border:1px dashed #000;visibility:hidden;z-index:1000;}.yui-resize-hover .yui-resize-handle,.yui-resize-hidden .yui-resize-handle{opacity:0;filter:alpha(opacity=0);}.yui-resize-ghost{opacity:.5;filter:alpha(opacity=50);}.yui-resize-knob .yui-resize-handle{height:6px;width:6px;}.yui-resize-knob .yui-resize-handle-tr{right:-3px;top:-3px;}.yui-resize-knob .yui-resize-handle-tl{left:-3px;top:-3px;}.yui-resize-knob .yui-resize-handle-bl{left:-3px;bottom:-3px;}.yui-resize-knob .yui-resize-handle-br{right:-3px;bottom:-3px;}.yui-resize-knob .yui-resize-handle-t{left:45%;top:-3px;}.yui-resize-knob .yui-resize-handle-r{right:-3px;top:45%;}.yui-resize-knob .yui-resize-handle-l{left:-3px;top:45%;}.yui-resize-knob .yui-resize-handle-b{left:45%;bottom:-3px;}.yui-resize-status{position:absolute;top:-999px;left:-999px;padding:2px;font-size:80%;display:none;zoom:1;z-index:9999;}.yui-resize-status strong,.yui-resize-status em{font-weight:normal;font-style:normal;padding:1px;zoom:1;}.yui-resize .yui-resize-handle{background-color:#F2F2F2;}.yui-resize .yui-resize-handle-active{background-color:#7D98B8;zoom:1;}.yui-resize .yui-resize-handle-l,.yui-resize .yui-resize-handle-r,.yui-resize .yui-resize-handle-l-active,.yui-resize .yui-resize-handle-r-active{height:100%;}.yui-resize-knob .yui-resize-handle{border:1px solid #808080;}.yui-resize-hover .yui-resize-handle-active{opacity:1;filter:alpha(opacity=100);}.yui-resize-proxy{border:1px dashed #426FD9;}.yui-resize-status{border:1px solid #A6982B;border-top:1px solid #D4C237;background-color:#FFEE69}.yui-resize-status strong,.yui-resize-status em{float:left;display:block;clear:both;padding:1px;text-align:center;}.yui-resize .yui-resize-handle-inner-r,.yui-resize .yui-resize-handle-inner-l{background:transparent url( layout_sprite.png) no-repeat 0 -5px;height:16px;width:5px;position:absolute;top:45%;}.yui-resize .yui-resize-handle-inner-t,.yui-resize .yui-resize-handle-inner-b{background:transparent url(layout_sprite.png) no-repeat -20px 0;height:5px;width:16px;position:absolute;left:50%;}.yui-resize .yui-resize-handle-br{background-image:url( layout_sprite.png );background-repeat:no-repeat;background-position:-22px -62px;}.yui-resize .yui-resize-handle-tr{background-image:url( layout_sprite.png );background-repeat:no-repeat;background-position:-22px -42px;}.yui-resize .yui-resize-handle-tl{background-image:url( layout_sprite.png );background-repeat:no-repeat;background-position:-22px -82px;}.yui-resize .yui-resize-handle-bl{background-image:url( layout_sprite.png );background-repeat:no-repeat;background-position:-22px -23px;}.yui-resize-knob .yui-resize-handle-t,.yui-resize-knob .yui-resize-handle-r,.yui-resize-knob .yui-resize-handle-b,.yui-resize-knob .yui-resize-handle-l,.yui-resize-knob .yui-resize-handle-tl,.yui-resize-knob .yui-resize-handle-tr,.yui-resize-knob .yui-resize-handle-bl,.yui-resize-knob .yui-resize-handle-br,.yui-resize-knob .yui-resize-handle-inner-t,.yui-resize-knob .yui-resize-handle-inner-r,.yui-resize-knob .yui-resize-handle-inner-b,.yui-resize-knob .yui-resize-handle-inner-l,.yui-resize-knob .yui-resize-handle-inner-tl,.yui-resize-knob .yui-resize-handle-inner-tr,.yui-resize-knob .yui-resize-handle-inner-bl,.yui-resize-knob .yui-resize-handle-inner-br{background-image:none;}.yui-resize-knob .yui-resize-handle-l,.yui-resize-knob .yui-resize-handle-r,.yui-resize-knob .yui-resize-handle-l-active,.yui-resize-knob .yui-resize-handle-r-active{height:6px;width:6px;}
+.yui-busy{cursor:wait !important;}.yui-toolbar-container fieldset{padding:0;margin:0;border:0;}.yui-toolbar-container legend{display:none;}.yui-toolbar-container .yui-toolbar-subcont{padding:.25em 0;zoom:1;}.yui-toolbar-container-collapsed .yui-toolbar-subcont{display:none;}.yui-toolbar-container .yui-toolbar-subcont:after{display:block;clear:both;visibility:hidden;content:'.';height:0;}.yui-toolbar-container span.yui-toolbar-draghandle{cursor:move;border-left:1px solid #999;border-right:1px solid #999;overflow:hidden;text-indent:77777px;width:2px;height:20px;display:block;clear:none;float:left;margin:0 0 0 .2em;}.yui-toolbar-container .yui-toolbar-titlebar.draggable{cursor:move;}.yui-toolbar-container .yui-toolbar-titlebar{position:relative;}.yui-toolbar-container .yui-toolbar-titlebar h2{font-weight:bold;letter-spacing:0;border:none;color:#000;margin:0;padding:.2em;}.yui-toolbar-container .yui-toolbar-titlebar h2 a{text-decoration:none;color:#000;cursor:default;}.yui-toolbar-container.yui-toolbar-grouped span.yui-toolbar-draghandle{height:40px;}.yui-toolbar-container .yui-toolbar-group{float:left;zoom:1;}.yui-toolbar-container .yui-toolbar-group:after{display:block;clear:both;visibility:hidden;content:'.';height:0;}.yui-toolbar-container .yui-toolbar-group h3{font-size:75%;padding:0 0 0 .25em;margin:0;}.yui-toolbar-container span.yui-toolbar-separator{width:2px;height:18px;margin:.2em 0 .2em .1em;display:block;clear:none;float:left;}.yui-toolbar-container.yui-toolbar-grouped span.yui-toolbar-separator{height:35px;}.yui-toolbar-container.yui-toolbar-grouped .yui-toolbar-group span.yui-toolbar-separator{height:18px;}.yui-toolbar-container ul li{margin:0;padding:0;list-style-type:none;}.yui-toolbar-container .yui-toolbar-nogrouplabels h3{display:none;}.yui-toolbar-container .yui-push-button,.yui-toolbar-container .yui-color-button,.yui-toolbar-container .yui-menu-button{position:relative;cursor:pointer;}.yui-toolbar-container .yui-button .first-child,.yui-toolbar-container .yui-button .first-child a{height:100%;width:100%;overflow:hidden;}.yui-toolbar-container .yui-button-disabled{cursor:default;}.yui-toolbar-container .yui-button-disabled .yui-toolbar-icon{opacity:.5;filter:alpha(opacity=50);}.yui-toolbar-container .yui-button-disabled .up,.yui-toolbar-container .yui-button-disabled .down{opacity:.5;filter:alpha(opacity=50);}.yui-toolbar-container .yui-button a{overflow:hidden;}.yui-toolbar-container .yui-toolbar-select .first-child a{cursor:pointer;}.yui-toolbar-fontname-arial{font-family:Arial;}.yui-toolbar-fontname-arial-black{font-family:Arial Black;}.yui-toolbar-fontname-comic-sans-ms{font-family:Comic Sans MS;}.yui-toolbar-fontname-courier-new{font-family:Courier New;}.yui-toolbar-fontname-times-new-roman{font-family:Times New Roman;}.yui-toolbar-fontname-verdana{font-family:Verdana;}.yui-toolbar-fontname-impact{font-family:Impact;}.yui-toolbar-fontname-lucida-console{font-family:Lucida Console;}.yui-toolbar-fontname-tahoma{font-family:Tahoma;}.yui-toolbar-fontname-trebuchet-ms{font-family:Trebuchet MS;}.yui-toolbar-container .yui-toolbar-spinbutton{position:relative;}.yui-toolbar-container .yui-toolbar-spinbutton .first-child a{z-index:0;opacity:1;}.yui-toolbar-container .yui-toolbar-spinbutton a.up,.yui-toolbar-container .yui-toolbar-spinbutton a.down{position:absolute;display:block right:0;cursor:pointer;z-index:1;padding:0;margin:0;}.yui-toolbar-container .yui-overlay{position:absolute;}.yui-toolbar-container .yui-overlay ul li{margin:0;list-style-type:none;}.yui-toolbar-container{z-index:1;}.yui-editor-container .yui-editor-editable-container{position:relative;z-index:0;width:100%;}.yui-editor-container .yui-editor-masked{background-color:#CCC;}.yui-editor-container iframe{border:0px;padding:0;margin:0;zoom:1;display:block;}.yui-editor-container .yui-editor-editable{padding:0;margin:0;}.yui-editor-container .dompath{font-size:85%;}.yui-editor-panel .hd{text-align:left;position:relative;}.yui-editor-panel .hd h3{font-weight:bold;padding:0.25em 0pt 0.25em 0.25em;margin:0;}.yui-editor-panel .bd{width:100%;zoom:1;position:relative;}.yui-editor-panel .bd div.yui-editor-body-cont{padding:.25em .1em;zoom:1;}.yui-editor-panel .bd div.yui-editor-body-cont:after{display:block;clear:both;visibility:hidden;content:'.';height:0;}.yui-editor-panel .ft{text-align:right;width:99%;float:left;clear:both;}.yui-editor-panel .ft span.tip{display:block;position:relative;padding:.5em .5em .5em 23px;text-align:left;zoom:1;}.yui-editor-panel label{clear:both;float:left;padding:0;width:100%;text-align:left;zoom:1;}.yui-editor-panel .gecko label{overflow:auto;}.yui-editor-panel label strong{float:left;width:6em;}.yui-editor-panel .removeLink{width:80%;text-align:right;}.yui-editor-panel label input{margin-left:.25em;float:left;}.yui-editor-panel .yui-toolbar-group-padding{}.yui-editor-panel .yui-toolbar-group-border{}.yui-editor-panel .yui-toolbar-group-textflow{}.yui-editor-panel .height-width{float:left;}.yui-editor-panel .height-width h3{}.yui-editor-panel .height-width span{font-style:italic;display:block;float:left;overflow:auto;}.yui-editor-panel .height-width span.info{font-size:70%;}.yui-editor-panel .yui-toolbar-bordersize,.yui-editor-panel .yui-toolbar-bordertype{font-size:75%;}.yui-editor-panel .yui-toolbar-container span.yui-toolbar-separator{border:none;}.yui-editor-panel .yui-toolbar-bordersize span a span,.yui-editor-panel .yui-toolbar-bordertype span a span{display:block;height:8px;left:4px;position:absolute;top:3px;*top:-5px;width:24px;}.yui-editor-panel .yui-toolbar-bordertype span a span.yui-toolbar-bordertype-solid{border-bottom:1px solid black;}.yui-editor-panel .yui-toolbar-bordertype span a span.yui-toolbar-bordertype-dotted{border-bottom:1px dotted black;}.yui-editor-panel .yui-toolbar-bordertype span a span.yui-toolbar-bordertype-dashed{border-bottom:1px dashed black;}.yui-editor-panel .yui-toolbar-bordersize span a span.yui-toolbar-bordersize-0{*top:0px;}.yui-editor-panel .yui-toolbar-bordersize span a span.yui-toolbar-bordersize-1{border-bottom:1px solid black;}.yui-editor-panel .yui-toolbar-bordersize span a span.yui-toolbar-bordersize-2{border-bottom:2px solid black;}.yui-editor-panel .yui-toolbar-bordersize span a span.yui-toolbar-bordersize-3{top:2px;*top:-5px;border-bottom:3px solid black;}.yui-editor-panel .yui-toolbar-bordersize span a span.yui-toolbar-bordersize-4{top:1px;*top:-5px;border-bottom:4px solid black;}.yui-editor-panel .yui-toolbar-bordersize span a span.yui-toolbar-bordersize-5{top:1px;*top:-5px;border-bottom:5px solid black;}.yui-toolbar-container .yui-toolbar-bordersize-menu,.yui-toolbar-container .yui-toolbar-bordertype-menu{width:95px !important;}.yui-toolbar-bordersize-menu .yuimenuitemlabel,.yui-toolbar-bordertype-menu .yuimenuitemlabel,.yui-toolbar-bordersize-menu .yuimenuitemlabel,.yui-toolbar-bordertype-menu .yuimenuitemlabel:hover{margin:0px 3px 7px 17px;}.yui-toolbar-bordersize-menu .yuimenuitemlabel .checkedindicator,.yui-toolbar-bordertype-menu .yuimenuitemlabel .checkedindicator{position:absolute;left:-12px;*top:14px;*left:0px;}.yui-toolbar-bordersize-menu li.yui-toolbar-bordersize-1 a{border-bottom:1px solid black;height:14px;}.yui-toolbar-bordersize-menu li.yui-toolbar-bordersize-2 a{border-bottom:2px solid black;height:14px;}.yui-toolbar-bordersize-menu li.yui-toolbar-bordersize-3 a{border-bottom:3px solid black;height:14px;}.yui-toolbar-bordersize-menu li.yui-toolbar-bordersize-4 a{border-bottom:4px solid black;height:14px;}.yui-toolbar-bordersize-menu li.yui-toolbar-bordersize-5 a{border-bottom:5px solid black;height:14px;}.yui-toolbar-bordertype-menu li.yui-toolbar-bordertype-solid a{border-bottom:1px solid black;height:14px;}.yui-toolbar-bordertype-menu li.yui-toolbar-bordertype-dashed a{border-bottom:1px dashed black;height:14px;}.yui-toolbar-bordertype-menu li.yui-toolbar-bordertype-dotted a{border-bottom:1px dotted black;height:14px;}h2.yui-editor-skipheader,h3.yui-editor-skipheader{height:0;margin:0;padding:0;border:none;width:0;overflow:hidden;position:absolute;}.yui-toolbar-colors{width:133px;zoom:1;display:none;z-index:100;overflow:hidden;}.yui-toolbar-colors:after{display:block;clear:both;visibility:hidden;content:'.';height:0;}.yui-toolbar-colors a{height:9px;width:9px;float:left;display:block;overflow:hidden;text-indent:999px;margin:0;cursor:pointer;border:1px solid #F6F7EE;}.yui-toolbar-colors a:hover{border:1px solid black;}.yui-color-button-menu{overflow:visible;background-color:transparent;}.yui-toolbar-colors span{position:relative;display:block;padding:3px;overflow:hidden;float:left;width:100%;zoom:1;}.yui-toolbar-colors span:after{display:block;clear:both;visibility:hidden;content:'.';height:0;}.yui-toolbar-colors span em{height:35px;width:30px;float:left;display:block;overflow:hidden;text-indent:999px;margin:0.75px;border:1px solid black;}.yui-toolbar-colors span strong{font-weight:normal;padding-left:3px;display:block;font-size:85%;float:left;width:65%;}.yui-editor-container{border:1px solid #808080;}.yui-toolbar-container{zoom:1;}.yui-toolbar-container .yui-toolbar-titlebar{background:url(sprite.png) repeat-x 0 -200px;position:relative;}.yui-toolbar-container .yui-toolbar-titlebar h2{color:#000000;font-weight:bold;margin:0;padding:0.3em 1em;font-size:100%;text-align:left;}.yui-toolbar-container .yui-toolbar-group h3{color:#808080;font-size:75%;margin:1em 0 0;padding-bottom:0;padding-left:0.25em;text-align:left;}.yui-toolbar-container span.yui-toolbar-separator{border:none;text-indent:33px;overflow:hidden;margin:.25em;}.yui-toolbar-container{background-color:#F2F2F2;}.yui-toolbar-container .yui-toolbar-subcont{padding:0 1em 0.35em;border-bottom:1px solid #808080;}.yui-toolbar-container-collapsed .yui-toolbar-titlebar{border-bottom:1px solid #808080;}.yui-editor-container .visible .yui-menu-shadow,.yui-editor-panel .visible .yui-menu-shadow{display:none;}.yui-editor-container ul{list-style-type:none;margin:0;padding:0;}.yui-editor-container ul li{list-style-type:none;margin:0;padding:0;}.yui-toolbar-group ul li.yui-toolbar-groupitem{float:left;}.yui-editor-container .dompath{background-color:#F2F2F2;border-top:1px solid #808080;color:#999;text-align:left;padding:0.25em;}.yui-toolbar-container .collapse{background:url(sprite.png) no-repeat 0 -400px;}.yui-toolbar-container .yui-toolbar-titlebar span.collapse{cursor:pointer;position:absolute;top:4px;right:2px;display:block;overflow:hidden;height:15px;width:15px;text-indent:9999px;}.yui-toolbar-container .yui-push-button,.yui-toolbar-container .yui-color-button,.yui-toolbar-container .yui-menu-button{background:url(sprite.png) repeat-x 0 0;position:relative;display:block;height:22px;width:30px;margin:0;border-color:#808080;border-style:solid;border-width:1px 0;}.yui-toolbar-container .yui-push-button a,.yui-toolbar-container .yui-color-button a,.yui-toolbar-container .yui-menu-button a{padding-left:35px;height:20px;text-decoration:none;font-size:93%;line-height:2;display:block;color:#000000;overflow:hidden;}.yui-toolbar-container .yui-push-button .first-child,.yui-toolbar-container .yui-color-button .first-child,.yui-toolbar-container .yui-menu-button .first-child{border-color:#808080;border-style:solid;border-width:0 1px;margin:0 -1px;display:block;}.yui-toolbar-container .yui-push-button-disabled .first-child,.yui-toolbar-container .yui-color-button-disabled .first-child,.yui-toolbar-container .yui-menu-button-disabled .first-child{border-color:#ccc;}.yui-toolbar-container .yui-push-button-disabled a,.yui-toolbar-container .yui-color-button-disabled a,.yui-toolbar-container .yui-menu-button-disabled a{color:#A6A6A6;cursor:default;}.yui-toolbar-container .yui-push-button-disabled,.yui-toolbar-container .yui-color-button-disabled,.yui-toolbar-container .yui-menu-button-disabled{border-color:#ccc;}.yui-toolbar-container .yui-button .first-child{*left:0px;}.yui-toolbar-container .yui-toolbar-fontname{width:135px;}.yui-toolbar-container .yui-toolbar-heading{width:92px;}.yui-toolbar-container .yui-button-hover{background:url(sprite.png) repeat-x 0 -1300px;border-color:#808080;}.yui-toolbar-container .yui-button-selected{background:url(sprite.png) repeat-x 0 -1700px;border-color:#808080;}.yui-toolbar-container .yui-toolbar-nogrouplabels h3{display:none;}.yui-toolbar-container .yui-toolbar-nogrouplabels .yui-toolbar-group{margin-top:.75em;}.yui-toolbar-container .yui-push-button span.yui-toolbar-icon,.yui-toolbar-container .yui-color-button span.yui-toolbar-icon,.yui-toolbar-container .yui-menu-button span.yui-toolbar-icon{display:block;position:absolute;top:2px;height:18px;width:18px;overflow:hidden;background:url(editor-sprite.gif) no-repeat 30px 30px;}.yui-toolbar-container .yui-button-selected span.yui-toolbar-icon,.yui-toolbar-container .yui-button-hover span.yui-toolbar-icon{background-image:url(editor-sprite-active.gif);}.yui-toolbar-container .visible .yuimenuitemlabel{cursor:pointer;color:#000;*position:relative;}.yui-toolbar-container .yui-button-menu{background-color:#fff;}div.yuimenu li.selected{background-color:#B3D4FF;}div.yuimenu li.selected a.selected{color:#000;}.yui-toolbar-container .yui-toolbar-bold span.yui-toolbar-icon{background-position:0 0;left:5px;}.yui-toolbar-container .yui-toolbar-italic span.yui-toolbar-icon{background-position:0 -36px;left:5px;}.yui-toolbar-container .yui-toolbar-underline span.yui-toolbar-icon{background-position:0 -72px;left:5px;}.yui-toolbar-container .yui-toolbar-subscript span.yui-toolbar-icon{background-position:0 -180px;left:5px;}.yui-toolbar-container .yui-toolbar-superscript span.yui-toolbar-icon{background-position:0 -144px;left:5px;}.yui-toolbar-container .yui-toolbar-forecolor span.yui-toolbar-icon{background-position:0 -216px;left:5px;}.yui-toolbar-container .yui-toolbar-backcolor span.yui-toolbar-icon{background-position:0 -288px;left:5px;}.yui-toolbar-container .yui-toolbar-justifyleft span.yui-toolbar-icon{background-position:0 -324px;left:5px;}.yui-toolbar-container .yui-toolbar-justifycenter span.yui-toolbar-icon{background-position:0 -360px;left:5px;}.yui-toolbar-container .yui-toolbar-justifyright span.yui-toolbar-icon{background-position:0 -396px;left:5px;}.yui-toolbar-container .yui-toolbar-justifyfull span.yui-toolbar-icon{background-position:0 -432px;left:5px;}.yui-toolbar-container .yui-toolbar-indent span.yui-toolbar-icon{background-position:0 -720px;left:5px;}.yui-toolbar-container .yui-toolbar-outdent span.yui-toolbar-icon{background-position:0 -684px;left:5px;}.yui-toolbar-container .yui-toolbar-createlink span.yui-toolbar-icon{background-position:0 -792px;left:5px;}.yui-toolbar-container .yui-toolbar-insertimage span.yui-toolbar-icon{background-position:1px -756px;left:5px;}.yui-toolbar-container .yui-toolbar-left span.yui-toolbar-icon{background-position:0 -972px;left:5px;}.yui-toolbar-container .yui-toolbar-right span.yui-toolbar-icon{background-position:0 -936px;left:5px;}.yui-toolbar-container .yui-toolbar-inline span.yui-toolbar-icon{background-position:0 -900px;left:5px;}.yui-toolbar-container .yui-toolbar-block span.yui-toolbar-icon{background-position:0 -864px;left:5px;}.yui-toolbar-container .yui-toolbar-bordercolor span.yui-toolbar-icon{background-position:0 -252px;left:5px;}.yui-toolbar-container .yui-toolbar-removeformat span.yui-toolbar-icon{background-position:0 -1080px;left:5px;}.yui-toolbar-container .yui-toolbar-hiddenelements span.yui-toolbar-icon{background-position:0 -1044px;left:5px;}.yui-toolbar-container .yui-toolbar-insertunorderedlist span.yui-toolbar-icon{background-position:0 -468px;left:5px;}.yui-toolbar-container .yui-toolbar-insertorderedlist span.yui-toolbar-icon{background-position:0 -504px;left:5px;}.yui-toolbar-container .yui-toolbar-spinbutton,.yui-toolbar-container .yui-toolbar-spinbutton .first-child{width:35px;}.yui-toolbar-container .yui-toolbar-spinbutton .first-child a{padding-left:2px;text-align:left;}.yui-toolbar-container .yui-toolbar-spinbutton span.yui-toolbar-icon{display:none;}.yui-toolbar-container .yui-toolbar-spinbutton a.up,.yui-toolbar-container .yui-toolbar-spinbutton a.down{right:2px;background:url(editor-sprite.gif) no-repeat 0 -1222px;overflow:hidden;height:6px;width:7px;min-height:0;padding:0;}.yui-toolbar-container .yui-toolbar-spinbutton a.up{top:2px;background-position:0 -1222px;}.yui-toolbar-container .yui-toolbar-spinbutton a.down{bottom:2px;background-position:0 -1187px;}.yui-toolbar-container select{height:22px;border:1px solid #808080;}.yui-toolbar-container .yui-toolbar-select .first-child a{padding-left:5px;text-align:left;}.yui-toolbar-container .yui-toolbar-select span.yui-toolbar-icon{background:url( editor-sprite.gif ) no-repeat 0 -1144px;overflow:hidden;right:-2px;top:0px;height:20px;}.yui-editor-panel .yui-color-button-menu .bd{background-color:transparent;border:none;width:135px;}.yui-color-button-menu .yui-toolbar-colors{border:1px solid #808080;}.yui-editor-panel{padding:0;margin:0;border:none;background-color:transparent;overflow:visible;}.yui-editor-panel .hd{margin:10px 0 0;padding:0;border:none;}.yui-editor-panel .hd h3{color:#000;border:1px solid #808080;background:url(sprite.png) repeat-x 0 -200px;width:99%;position:relative;margin:0;padding:3px 0 0 0;font-size:93%;text-indent:5px;height:20px;}.yui-editor-panel .bd{background-color:#F2F2F2;border-left:1px solid #808080;border-right:1px solid #808080;width:99%;margin:0;padding:0;overflow:visible;}.yui-editor-panel ul{list-style-type:none;margin:0;padding:0;}.yui-editor-panel ul li{margin:0;padding:0;}.yui-editor-panel .yuimenu{}.yui-editor-panel .yui-toolbar-container .yui-toolbar-subcont{padding:0;border:none;margin-top:0.35em;}.yui-editor-panel .yui-toolbar-bordersize,.yui-editor-panel .yui-toolbar-bordertype{width:50px;}.yui-editor-panel label{display:block;float:none;padding:4px 0;margin-bottom:7px;}.yui-editor-panel label strong{font-weight:normal;font-size:93%;text-align:right;padding-top:2px;}.yui-editor-panel label input{width:75%;}.yui-editor-panel #createlink_target,.yui-editor-panel #insertimage_target{width:auto;margin-right:5px;}.yui-editor-panel .removeLink{width:98%;}.yui-editor-panel label input.warning{background-color:#FFEE69;}.yui-editor-panel .yui-toolbar-group h3{color:#000;float:left;font-weight:normal;font-size:93%;margin:5px 0 0 0;padding:0 3px 0 0;text-align:right;}.yui-editor-panel .height-width h3{margin:3px 0 0 10px;}.yui-editor-panel .height-width{margin:3px 0 0 35px;*margin-left:14px;width:42%;*width:44%;}.yui-editor-panel .yui-toolbar-group-border{width:190px;}.yui-editor-panel .no-button .yui-toolbar-group-border{width:210px;}.yui-editor-panel .yui-toolbar-group-padding{width:203px;}.yui-editor-panel .no-button .yui-toolbar-group-padding{width:172px;}.yui-editor-panel .yui-toolbar-group-padding h3{margin-left:25px;*margin-left:12px;}.yui-editor-panel .yui-toolbar-group-textflow{width:182px;}.yui-editor-panel .hd{background:none;}.yui-editor-panel .ft{background-color:#F2F2F2;border:1px solid #808080;border-top:none;padding:0;margin:0 0 2px 0;}.yui-editor-panel .hd span.close{background:url(sprite.png) no-repeat 0 -300px;cursor:pointer;display:block;height:16px;overflow:hidden;position:absolute;right:5px;text-indent:500px;top:2px;width:26px;}.yui-editor-panel .ft span.tip{background-color:#EDF5FF;border-top:1px solid #808080;font-size:85%;}.yui-editor-panel .ft span.tip strong{display:block;float:left;margin:0 2px 8px 0;}.yui-editor-panel .ft span.tip span.icon{background:url( editor-sprite.gif ) no-repeat 0 -1260px;display:block;height:20px;left:2px;position:absolute;top:8px;width:20px;}.yui-editor-panel .ft span.tip span.icon-info{background-position:2px -1260px;}.yui-editor-panel .ft span.tip span.icon-warn{background-position:2px -1296px;}.yui-editor-panel .hd span.knob{position:absolute;height:10px;width:28px;top:-10px;left:25px;text-indent:9999px;overflow:hidden;background:url( editor-knob.gif ) no-repeat 0 0;}.yui-editor-panel .yui-toolbar-container{float:left;width:100%;background-image:none;border:none;}.yui-editor-panel .yui-toolbar-container .bd{background-color:#ffffff;}.yui-editor-blankimage{background-image:url( blankimage.png );}
+.yui-navset .yui-nav li,.yui-navset .yui-navset-top .yui-nav li,.yui-navset .yui-navset-bottom .yui-nav li{margin:0 0.5em 0 0;}.yui-navset-left .yui-nav li,.yui-navset-right .yui-nav li{margin:0 0 0.5em;}.yui-navset .yui-navset-left .yui-nav,.yui-navset .yui-navset-right .yui-nav,.yui-navset-left .yui-nav,.yui-navset-right .yui-nav{width:6em;}.yui-navset-top .yui-nav,.yui-navset-bottom .yui-nav{width:auto;}.yui-navset .yui-navset-left,.yui-navset-left{padding:0 0 0 6em;}.yui-navset-right{padding:0 6em 0 0;}.yui-navset-top,.yui-navset-bottom{padding:auto;}.yui-nav,.yui-nav li{margin:0;padding:0;list-style:none;}.yui-navset li em{font-style:normal;}.yui-navset{position:relative;zoom:1;}.yui-navset .yui-content{zoom:1;}.yui-navset .yui-nav li,.yui-navset .yui-navset-top .yui-nav li,.yui-navset .yui-navset-bottom .yui-nav li{display:inline-block;display:-moz-inline-stack;*display:inline;vertical-align:bottom;cursor:pointer;zoom:1;}.yui-navset-left .yui-nav li,.yui-navset-right .yui-nav li{display:block;}.yui-navset .yui-nav a{position:relative;}.yui-navset .yui-nav li a,.yui-navset-top .yui-nav li a,.yui-navset-bottom .yui-nav li a{display:block;display:inline-block;vertical-align:bottom;zoom:1;}.yui-navset-left .yui-nav li a,.yui-navset-right .yui-nav li a{display:block;}.yui-navset-bottom .yui-nav li a{vertical-align:text-top;}.yui-navset .yui-nav li a em,.yui-navset-top .yui-nav li a em,.yui-navset-bottom .yui-nav li a em{display:block;}.yui-navset .yui-navset-left .yui-nav,.yui-navset .yui-navset-right .yui-nav,.yui-navset-left .yui-nav,.yui-navset-right .yui-nav{position:absolute;z-index:1;}.yui-navset-top .yui-nav,.yui-navset-bottom .yui-nav{position:static;}.yui-navset .yui-navset-left .yui-nav,.yui-navset-left .yui-nav{left:0;right:auto;}.yui-navset .yui-navset-right .yui-nav,.yui-navset-right .yui-nav{right:0;left:auto;}.yui-navset .yui-nav,.yui-navset .yui-navset-top .yui-nav{border:solid #2647a0;border-width:0 0 5px;Xposition:relative;zoom:1;}.yui-navset .yui-nav li,.yui-navset .yui-navset-top .yui-nav li{margin:0 0.16em 0 0;padding:1px 0 0;zoom:1;}.yui-navset .yui-nav .selected,.yui-navset .yui-navset-top .yui-nav .selected{margin:0 0.16em -1px 0;}.yui-navset .yui-nav a,.yui-navset .yui-navset-top .yui-nav a{background:#d8d8d8 url(sprite.png) repeat-x;border:solid #a3a3a3;border-width:0 1px;color:#000;position:relative;text-decoration:none;}.yui-navset .yui-nav a em,.yui-navset .yui-navset-top .yui-nav a em{border:solid #a3a3a3;border-width:1px 0 0;cursor:hand;padding:0.25em .75em;left:0;right:0;bottom:0;top:-1px;position:relative;}.yui-navset .yui-nav .selected a,.yui-navset .yui-nav .selected a:focus,.yui-navset .yui-nav .selected a:hover{background:#2647a0 url(sprite.png) repeat-x left -1400px;color:#fff;}.yui-navset .yui-nav a:hover,.yui-navset .yui-nav a:focus{background:#bfdaff url(sprite.png) repeat-x left -1300px;outline:0;}.yui-navset .yui-nav .selected a em{padding:0.35em 0.75em;}.yui-navset .yui-nav .selected a,.yui-navset .yui-nav .selected a em{border-color:#243356;}.yui-navset .yui-content{background:#edf5ff;}.yui-navset .yui-content,.yui-navset .yui-navset-top .yui-content{border:1px solid #808080;border-top-color:#243356;padding:0.25em 0.5em;}.yui-navset-left .yui-nav,.yui-navset .yui-navset-left .yui-nav,.yui-navset .yui-navset-right .yui-nav,.yui-navset-right .yui-nav{border-width:0 5px 0 0;Xposition:absolute;top:0;bottom:0;}.yui-navset .yui-navset-right .yui-nav,.yui-navset-right .yui-nav{border-width:0 0 0 5px;}.yui-navset-left .yui-nav li,.yui-navset .yui-navset-left .yui-nav li,.yui-navset-right .yui-nav li{margin:0 0 0.16em;padding:0 0 0 1px;}.yui-navset-right .yui-nav li{padding:0 1px 0 0;}.yui-navset-left .yui-nav .selected,.yui-navset .yui-navset-left .yui-nav .selected{margin:0 -1px 0.16em 0;}.yui-navset-right .yui-nav .selected{margin:0 0 0.16em -1px;}.yui-navset-left .yui-nav a,.yui-navset-right .yui-nav a{border-width:1px 0;}.yui-navset-left .yui-nav a em,.yui-navset .yui-navset-left .yui-nav a em,.yui-navset-right .yui-nav a em{border-width:0 0 0 1px;padding:0.2em .75em;top:auto;left:-1px;}.yui-navset-right .yui-nav a em{border-width:0 1px 0 0;left:auto;right:-1px;}.yui-navset-left .yui-nav a,.yui-navset-left .yui-nav .selected a,.yui-navset-left .yui-nav a:hover,.yui-navset-right .yui-nav a,.yui-navset-right .yui-nav .selected a,.yui-navset-right .yui-nav a:hover,.yui-navset-bottom .yui-nav a,.yui-navset-bottom .yui-nav .selected a,.yui-navset-bottom .yui-nav a:hover{background-image:none;}.yui-navset-left .yui-content{border:1px solid #808080;border-left-color:#243356;}.yui-navset-bottom .yui-nav,.yui-navset .yui-navset-bottom .yui-nav{border-width:5px 0 0;}.yui-navset .yui-navset-bottom .yui-nav .selected,.yui-navset-bottom .yui-nav .selected{margin:-1px 0.16em 0 0;}.yui-navset .yui-navset-bottom .yui-nav li,.yui-navset-bottom .yui-nav li{padding:0 0 1px 0;vertical-align:top;}.yui-navset .yui-navset-bottom .yui-nav li a,.yui-navset-bottom .yui-nav li a{}.yui-navset .yui-navset-bottom .yui-nav a em,.yui-navset-bottom .yui-nav a em{border-width:0 0 1px;top:auto;bottom:-1px;}.yui-navset-bottom .yui-content,.yui-navset .yui-navset-bottom .yui-content{border:1px solid #808080;border-bottom-color:#243356;}
+.ygtvtn{width:18px;height:22px;background:url(treeview-sprite.gif) 0 -5600px no-repeat;}.ygtvtm{width:18px;height:22px;cursor:pointer;background:url(treeview-sprite.gif) 0 -4000px no-repeat;}.ygtvtmh{width:18px;height:22px;cursor:pointer;background:url(treeview-sprite.gif) 0 -4800px no-repeat;}.ygtvtp{width:18px;height:22px;cursor:pointer;background:url(treeview-sprite.gif) 0 -6400px no-repeat;}.ygtvtph{width:18px;height:22px;cursor:pointer;background:url(treeview-sprite.gif) 0 -7200px no-repeat;}.ygtvln{width:18px;height:22px;background:url(treeview-sprite.gif) 0 -1600px no-repeat;}.ygtvlm{width:18px;height:22px;cursor:pointer;background:url(treeview-sprite.gif) 0 0px no-repeat;}.ygtvlmh{width:18px;height:22px;cursor:pointer;background:url(treeview-sprite.gif) 0 -800px no-repeat;}.ygtvlp{width:18px;height:22px;cursor:pointer;background:url(treeview-sprite.gif) 0 -2400px no-repeat;}.ygtvlph{width:18px;height:22px;cursor:pointer;background:url(treeview-sprite.gif) 0 -3200px no-repeat;}.ygtvloading{width:18px;height:22px;background:url(treeview-loading.gif) 0 0 no-repeat;}.ygtvdepthcell{width:18px;height:22px;background:url(treeview-sprite.gif) 0 -8000px no-repeat;}.ygtvblankdepthcell{width:18px;height:22px;}.ygtvitem{}.ygtvchildren{*zoom:1;}.ygtvlabel,.ygtvlabel:link,.ygtvlabel:visited,.ygtvlabel:hover{margin-left:2px;text-decoration:none;background-color:white;}.ygtvspacer{height:22px;width:12px;}
+
diff --git a/koha-tmpl/opac-tmpl/lib/yui/utilities/utilities.js b/koha-tmpl/opac-tmpl/lib/yui/utilities/utilities.js
new file mode 100644 (file)
index 0000000..8a3af98
--- /dev/null
@@ -0,0 +1,36 @@
+/*
+Copyright (c) 2008, Yahoo! Inc. All rights reserved.
+Code licensed under the BSD License:
+http://developer.yahoo.net/yui/license.txt
+version: 2.5.1
+*/
+if(typeof YAHOO=="undefined"||!YAHOO){var YAHOO={};}YAHOO.namespace=function(){var A=arguments,E=null,C,B,D;for(C=0;C<A.length;C=C+1){D=A[C].split(".");E=YAHOO;for(B=(D[0]=="YAHOO")?1:0;B<D.length;B=B+1){E[D[B]]=E[D[B]]||{};E=E[D[B]];}}return E;};YAHOO.log=function(D,A,C){var B=YAHOO.widget.Logger;if(B&&B.log){return B.log(D,A,C);}else{return false;}};YAHOO.register=function(A,E,D){var I=YAHOO.env.modules;if(!I[A]){I[A]={versions:[],builds:[]};}var B=I[A],H=D.version,G=D.build,F=YAHOO.env.listeners;B.name=A;B.version=H;B.build=G;B.versions.push(H);B.builds.push(G);B.mainClass=E;for(var C=0;C<F.length;C=C+1){F[C](B);}if(E){E.VERSION=H;E.BUILD=G;}else{YAHOO.log("mainClass is undefined for module "+A,"warn");}};YAHOO.env=YAHOO.env||{modules:[],listeners:[]};YAHOO.env.getVersion=function(A){return YAHOO.env.modules[A]||null;};YAHOO.env.ua=function(){var C={ie:0,opera:0,gecko:0,webkit:0,mobile:null,air:0};var B=navigator.userAgent,A;if((/KHTML/).test(B)){C.webkit=1;}A=B.match(/AppleWebKit\/([^\s]*)/);if(A&&A[1]){C.webkit=parseFloat(A[1]);if(/ Mobile\//.test(B)){C.mobile="Apple";}else{A=B.match(/NokiaN[^\/]*/);if(A){C.mobile=A[0];}}A=B.match(/AdobeAIR\/([^\s]*)/);if(A){C.air=A[0];}}if(!C.webkit){A=B.match(/Opera[\s\/]([^\s]*)/);if(A&&A[1]){C.opera=parseFloat(A[1]);A=B.match(/Opera Mini[^;]*/);if(A){C.mobile=A[0];}}else{A=B.match(/MSIE\s([^;]*)/);if(A&&A[1]){C.ie=parseFloat(A[1]);}else{A=B.match(/Gecko\/([^\s]*)/);if(A){C.gecko=1;A=B.match(/rv:([^\s\)]*)/);if(A&&A[1]){C.gecko=parseFloat(A[1]);}}}}}return C;}();(function(){YAHOO.namespace("util","widget","example");if("undefined"!==typeof YAHOO_config){var B=YAHOO_config.listener,A=YAHOO.env.listeners,D=true,C;if(B){for(C=0;C<A.length;C=C+1){if(A[C]==B){D=false;break;}}if(D){A.push(B);}}}})();YAHOO.lang=YAHOO.lang||{isArray:function(B){if(B){var A=YAHOO.lang;return A.isNumber(B.length)&&A.isFunction(B.splice);}return false;},isBoolean:function(A){return typeof A==="boolean";},isFunction:function(A){return typeof A==="function";},isNull:function(A){return A===null;},isNumber:function(A){return typeof A==="number"&&isFinite(A);},isObject:function(A){return(A&&(typeof A==="object"||YAHOO.lang.isFunction(A)))||false;},isString:function(A){return typeof A==="string";},isUndefined:function(A){return typeof A==="undefined";},hasOwnProperty:function(A,B){if(Object.prototype.hasOwnProperty){return A.hasOwnProperty(B);}return !YAHOO.lang.isUndefined(A[B])&&A.constructor.prototype[B]!==A[B];},_IEEnumFix:function(C,B){if(YAHOO.env.ua.ie){var E=["toString","valueOf"],A;for(A=0;A<E.length;A=A+1){var F=E[A],D=B[F];if(YAHOO.lang.isFunction(D)&&D!=Object.prototype[F]){C[F]=D;}}}},extend:function(D,E,C){if(!E||!D){throw new Error("YAHOO.lang.extend failed, please check that "+"all dependencies are included.");}var B=function(){};B.prototype=E.prototype;D.prototype=new B();D.prototype.constructor=D;D.superclass=E.prototype;if(E.prototype.constructor==Object.prototype.constructor){E.prototype.constructor=E;}if(C){for(var A in C){D.prototype[A]=C[A];}YAHOO.lang._IEEnumFix(D.prototype,C);}},augmentObject:function(E,D){if(!D||!E){throw new Error("Absorb failed, verify dependencies.");}var A=arguments,C,F,B=A[2];if(B&&B!==true){for(C=2;C<A.length;C=C+1){E[A[C]]=D[A[C]];}}else{for(F in D){if(B||!E[F]){E[F]=D[F];}}YAHOO.lang._IEEnumFix(E,D);}},augmentProto:function(D,C){if(!C||!D){throw new Error("Augment failed, verify dependencies.");}var A=[D.prototype,C.prototype];for(var B=2;B<arguments.length;B=B+1){A.push(arguments[B]);}YAHOO.lang.augmentObject.apply(this,A);},dump:function(A,G){var C=YAHOO.lang,D,F,I=[],J="{...}",B="f(){...}",H=", ",E=" => ";if(!C.isObject(A)){return A+"";}else{if(A instanceof Date||("nodeType" in A&&"tagName" in A)){return A;}else{if(C.isFunction(A)){return B;}}}G=(C.isNumber(G))?G:3;if(C.isArray(A)){I.push("[");for(D=0,F=A.length;D<F;D=D+1){if(C.isObject(A[D])){I.push((G>0)?C.dump(A[D],G-1):J);}else{I.push(A[D]);}I.push(H);}if(I.length>1){I.pop();}I.push("]");}else{I.push("{");for(D in A){if(C.hasOwnProperty(A,D)){I.push(D+E);if(C.isObject(A[D])){I.push((G>0)?C.dump(A[D],G-1):J);}else{I.push(A[D]);}I.push(H);}}if(I.length>1){I.pop();}I.push("}");}return I.join("");},substitute:function(Q,B,J){var G,F,E,M,N,P,D=YAHOO.lang,L=[],C,H="dump",K=" ",A="{",O="}";for(;;){G=Q.lastIndexOf(A);if(G<0){break;}F=Q.indexOf(O,G);if(G+1>=F){break;}C=Q.substring(G+1,F);M=C;P=null;E=M.indexOf(K);if(E>-1){P=M.substring(E+1);M=M.substring(0,E);}N=B[M];if(J){N=J(M,N,P);}if(D.isObject(N)){if(D.isArray(N)){N=D.dump(N,parseInt(P,10));}else{P=P||"";var I=P.indexOf(H);if(I>-1){P=P.substring(4);}if(N.toString===Object.prototype.toString||I>-1){N=D.dump(N,parseInt(P,10));}else{N=N.toString();}}}else{if(!D.isString(N)&&!D.isNumber(N)){N="~-"+L.length+"-~";L[L.length]=C;}}Q=Q.substring(0,G)+N+Q.substring(F+1);}for(G=L.length-1;G>=0;G=G-1){Q=Q.replace(new RegExp("~-"+G+"-~"),"{"+L[G]+"}","g");}return Q;},trim:function(A){try{return A.replace(/^\s+|\s+$/g,"");}catch(B){return A;}},merge:function(){var D={},B=arguments;for(var C=0,A=B.length;C<A;C=C+1){YAHOO.lang.augmentObject(D,B[C],true);}return D;},later:function(H,B,I,D,E){H=H||0;B=B||{};var C=I,G=D,F,A;if(YAHOO.lang.isString(I)){C=B[I];}if(!C){throw new TypeError("method undefined");}if(!YAHOO.lang.isArray(G)){G=[D];}F=function(){C.apply(B,G);};A=(E)?setInterval(F,H):setTimeout(F,H);return{interval:E,cancel:function(){if(this.interval){clearInterval(A);}else{clearTimeout(A);}}};},isValue:function(B){var A=YAHOO.lang;return(A.isObject(B)||A.isString(B)||A.isNumber(B)||A.isBoolean(B));}};YAHOO.util.Lang=YAHOO.lang;YAHOO.lang.augment=YAHOO.lang.augmentProto;YAHOO.augment=YAHOO.lang.augmentProto;YAHOO.extend=YAHOO.lang.extend;YAHOO.register("yahoo",YAHOO,{version:"2.5.1",build:"984"});YAHOO.util.Get=function(){var M={},L=0,Q=0,E=false,N=YAHOO.env.ua,R=YAHOO.lang;var J=function(V,S,W){var T=W||window,X=T.document,Y=X.createElement(V);for(var U in S){if(S[U]&&YAHOO.lang.hasOwnProperty(S,U)){Y.setAttribute(U,S[U]);}}return Y;
+};var H=function(S,T,V){var U=V||"utf-8";return J("link",{"id":"yui__dyn_"+(Q++),"type":"text/css","charset":U,"rel":"stylesheet","href":S},T);};var O=function(S,T,V){var U=V||"utf-8";return J("script",{"id":"yui__dyn_"+(Q++),"type":"text/javascript","charset":U,"src":S},T);};var A=function(S,T){return{tId:S.tId,win:S.win,data:S.data,nodes:S.nodes,msg:T,purge:function(){D(this.tId);}};};var B=function(S,V){var T=M[V],U=(R.isString(S))?T.win.document.getElementById(S):S;if(!U){P(V,"target node not found: "+S);}return U;};var P=function(V,U){var S=M[V];if(S.onFailure){var T=S.scope||S.win;S.onFailure.call(T,A(S,U));}};var C=function(V){var S=M[V];S.finished=true;if(S.aborted){var U="transaction "+V+" was aborted";P(V,U);return ;}if(S.onSuccess){var T=S.scope||S.win;S.onSuccess.call(T,A(S));}};var G=function(U,Y){var T=M[U];if(T.aborted){var W="transaction "+U+" was aborted";P(U,W);return ;}if(Y){T.url.shift();if(T.varName){T.varName.shift();}}else{T.url=(R.isString(T.url))?[T.url]:T.url;if(T.varName){T.varName=(R.isString(T.varName))?[T.varName]:T.varName;}}var b=T.win,a=b.document,Z=a.getElementsByTagName("head")[0],V;if(T.url.length===0){if(T.type==="script"&&N.webkit&&N.webkit<420&&!T.finalpass&&!T.varName){var X=O(null,T.win,T.charset);X.innerHTML='YAHOO.util.Get._finalize("'+U+'");';T.nodes.push(X);Z.appendChild(X);}else{C(U);}return ;}var S=T.url[0];if(T.type==="script"){V=O(S,b,T.charset);}else{V=H(S,b,T.charset);}F(T.type,V,U,S,b,T.url.length);T.nodes.push(V);if(T.insertBefore){var c=B(T.insertBefore,U);if(c){c.parentNode.insertBefore(V,c);}}else{Z.appendChild(V);}if((N.webkit||N.gecko)&&T.type==="css"){G(U,S);}};var K=function(){if(E){return ;}E=true;for(var S in M){var T=M[S];if(T.autopurge&&T.finished){D(T.tId);delete M[S];}}E=false;};var D=function(Z){var W=M[Z];if(W){var Y=W.nodes,S=Y.length,X=W.win.document,V=X.getElementsByTagName("head")[0];if(W.insertBefore){var U=B(W.insertBefore,Z);if(U){V=U.parentNode;}}for(var T=0;T<S;T=T+1){V.removeChild(Y[T]);}}W.nodes=[];};var I=function(T,S,U){var W="q"+(L++);U=U||{};if(L%YAHOO.util.Get.PURGE_THRESH===0){K();}M[W]=R.merge(U,{tId:W,type:T,url:S,finished:false,nodes:[]});var V=M[W];V.win=V.win||window;V.scope=V.scope||V.win;V.autopurge=("autopurge" in V)?V.autopurge:(T==="script")?true:false;R.later(0,V,G,W);return{tId:W};};var F=function(b,W,V,T,X,Y,a){var Z=a||G;if(N.ie){W.onreadystatechange=function(){var c=this.readyState;if("loaded"===c||"complete"===c){Z(V,T);}};}else{if(N.webkit){if(b==="script"){if(N.webkit>=420){W.addEventListener("load",function(){Z(V,T);});}else{var S=M[V];if(S.varName){var U=YAHOO.util.Get.POLL_FREQ;S.maxattempts=YAHOO.util.Get.TIMEOUT/U;S.attempts=0;S._cache=S.varName[0].split(".");S.timer=R.later(U,S,function(h){var e=this._cache,d=e.length,c=this.win,f;for(f=0;f<d;f=f+1){c=c[e[f]];if(!c){this.attempts++;if(this.attempts++>this.maxattempts){var g="Over retry limit, giving up";S.timer.cancel();P(V,g);}else{}return ;}}S.timer.cancel();Z(V,T);},null,true);}else{R.later(YAHOO.util.Get.POLL_FREQ,null,Z,[V,T]);}}}}else{W.onload=function(){Z(V,T);};}}};return{POLL_FREQ:10,PURGE_THRESH:20,TIMEOUT:2000,_finalize:function(S){R.later(0,null,C,S);},abort:function(T){var U=(R.isString(T))?T:T.tId;var S=M[U];if(S){S.aborted=true;}},script:function(S,T){return I("script",S,T);},css:function(S,T){return I("css",S,T);}};}();YAHOO.register("get",YAHOO.util.Get,{version:"2.5.1",build:"984"});(function(){var Y=YAHOO,util=Y.util,lang=Y.lang,env=Y.env,PROV="_provides",SUPER="_supersedes",REQ="expanded",AFTER="_after";var YUI={dupsAllowed:{"yahoo":true,"get":true},info:{"base":"http://yui.yahooapis.com/2.5.1/build/","skin":{"defaultSkin":"sam","base":"assets/skins/","path":"skin.css","after":["reset","fonts","grids","base"],"rollup":3},dupsAllowed:["yahoo","get"],"moduleInfo":{"animation":{"type":"js","path":"animation/animation-min.js","requires":["dom","event"]},"autocomplete":{"type":"js","path":"autocomplete/autocomplete-min.js","requires":["dom","event"],"optional":["connection","animation"],"skinnable":true},"base":{"type":"css","path":"base/base-min.css","after":["reset","fonts","grids"]},"button":{"type":"js","path":"button/button-min.js","requires":["element"],"optional":["menu"],"skinnable":true},"calendar":{"type":"js","path":"calendar/calendar-min.js","requires":["event","dom"],"skinnable":true},"charts":{"type":"js","path":"charts/charts-experimental-min.js","requires":["element","json","datasource"]},"colorpicker":{"type":"js","path":"colorpicker/colorpicker-min.js","requires":["slider","element"],"optional":["animation"],"skinnable":true},"connection":{"type":"js","path":"connection/connection-min.js","requires":["event"]},"container":{"type":"js","path":"container/container-min.js","requires":["dom","event"],"optional":["dragdrop","animation","connection"],"supersedes":["containercore"],"skinnable":true},"containercore":{"type":"js","path":"container/container_core-min.js","requires":["dom","event"],"pkg":"container"},"cookie":{"type":"js","path":"cookie/cookie-beta-min.js","requires":["yahoo"]},"datasource":{"type":"js","path":"datasource/datasource-beta-min.js","requires":["event"],"optional":["connection"]},"datatable":{"type":"js","path":"datatable/datatable-beta-min.js","requires":["element","datasource"],"optional":["calendar","dragdrop"],"skinnable":true},"dom":{"type":"js","path":"dom/dom-min.js","requires":["yahoo"]},"dragdrop":{"type":"js","path":"dragdrop/dragdrop-min.js","requires":["dom","event"]},"editor":{"type":"js","path":"editor/editor-beta-min.js","requires":["menu","element","button"],"optional":["animation","dragdrop"],"skinnable":true},"element":{"type":"js","path":"element/element-beta-min.js","requires":["dom","event"]},"event":{"type":"js","path":"event/event-min.js","requires":["yahoo"]},"fonts":{"type":"css","path":"fonts/fonts-min.css"},"get":{"type":"js","path":"get/get-min.js","requires":["yahoo"]},"grids":{"type":"css","path":"grids/grids-min.css","requires":["fonts"],"optional":["reset"]},"history":{"type":"js","path":"history/history-min.js","requires":["event"]},"imagecropper":{"type":"js","path":"imagecropper/imagecropper-beta-min.js","requires":["dom","event","dragdrop","element","resize"],"skinnable":true},"imageloader":{"type":"js","path":"imageloader/imageloader-min.js","requires":["event","dom"]},"json":{"type":"js","path":"json/json-min.js","requires":["yahoo"]},"layout":{"type":"js","path":"layout/layout-beta-min.js","requires":["dom","event","element"],"optional":["animation","dragdrop","resize","selector"],"skinnable":true},"logger":{"type":"js","path":"logger/logger-min.js","requires":["event","dom"],"optional":["dragdrop"],"skinnable":true},"menu":{"type":"js","path":"menu/menu-min.js","requires":["containercore"],"skinnable":true},"profiler":{"type":"js","path":"profiler/profiler-beta-min.js","requires":["yahoo"]},"profilerviewer":{"type":"js","path":"profilerviewer/profilerviewer-beta-min.js","requires":["profiler","yuiloader","element"],"skinnable":true},"reset":{"type":"css","path":"reset/reset-min.css"},"reset-fonts-grids":{"type":"css","path":"reset-fonts-grids/reset-fonts-grids.css","supersedes":["reset","fonts","grids","reset-fonts"],"rollup":4},"reset-fonts":{"type":"css","path":"reset-fonts/reset-fonts.css","supersedes":["reset","fonts"],"rollup":2},"resize":{"type":"js","path":"resize/resize-beta-min.js","requires":["dom","event","dragdrop","element"],"optional":["animation"],"skinnable":true},"selector":{"type":"js","path":"selector/selector-beta-min.js","requires":["yahoo","dom"]},"simpleeditor":{"type":"js","path":"editor/simpleeditor-beta-min.js","requires":["element"],"optional":["containercore","menu","button","animation","dragdrop"],"skinnable":true,"pkg":"editor"},"slider":{"type":"js","path":"slider/slider-min.js","requires":["dragdrop"],"optional":["animation"]},"tabview":{"type":"js","path":"tabview/tabview-min.js","requires":["element"],"optional":["connection"],"skinnable":true},"treeview":{"type":"js","path":"treeview/treeview-min.js","requires":["event"],"skinnable":true},"uploader":{"type":"js","path":"uploader/uploader-experimental.js","requires":["yahoo"]},"utilities":{"type":"js","path":"utilities/utilities.js","supersedes":["yahoo","event","dragdrop","animation","dom","connection","element","yahoo-dom-event","get","yuiloader","yuiloader-dom-event"],"rollup":8},"yahoo":{"type":"js","path":"yahoo/yahoo-min.js"},"yahoo-dom-event":{"type":"js","path":"yahoo-dom-event/yahoo-dom-event.js","supersedes":["yahoo","event","dom"],"rollup":3},"yuiloader":{"type":"js","path":"yuiloader/yuiloader-beta-min.js","supersedes":["yahoo","get"]},"yuiloader-dom-event":{"type":"js","path":"yuiloader-dom-event/yuiloader-dom-event.js","supersedes":["yahoo","dom","event","get","yuiloader","yahoo-dom-event"],"rollup":5},"yuitest":{"type":"js","path":"yuitest/yuitest-min.js","requires":["logger"],"skinnable":true}}},ObjectUtil:{appendArray:function(o,a){if(a){for(var i=0;
+i<a.length;i=i+1){o[a[i]]=true;}}},keys:function(o,ordered){var a=[],i;for(i in o){if(lang.hasOwnProperty(o,i)){a.push(i);}}return a;}},ArrayUtil:{appendArray:function(a1,a2){Array.prototype.push.apply(a1,a2);},indexOf:function(a,val){for(var i=0;i<a.length;i=i+1){if(a[i]===val){return i;}}return -1;},toObject:function(a){var o={};for(var i=0;i<a.length;i=i+1){o[a[i]]=true;}return o;},uniq:function(a){return YUI.ObjectUtil.keys(YUI.ArrayUtil.toObject(a));}}};YAHOO.util.YUILoader=function(o){this._internalCallback=null;this._useYahooListener=false;this.onSuccess=null;this.onFailure=Y.log;this.onProgress=null;this.scope=this;this.data=null;this.insertBefore=null;this.charset=null;this.varName=null;this.base=YUI.info.base;this.ignore=null;this.force=null;this.allowRollup=true;this.filter=null;this.required={};this.moduleInfo=lang.merge(YUI.info.moduleInfo);this.rollups=null;this.loadOptional=false;this.sorted=[];this.loaded={};this.dirty=true;this.inserted={};var self=this;env.listeners.push(function(m){if(self._useYahooListener){self.loadNext(m.name);}});this.skin=lang.merge(YUI.info.skin);this._config(o);};Y.util.YUILoader.prototype={FILTERS:{RAW:{"searchExp":"-min\\.js","replaceStr":".js"},DEBUG:{"searchExp":"-min\\.js","replaceStr":"-debug.js"}},SKIN_PREFIX:"skin-",_config:function(o){if(o){for(var i in o){if(lang.hasOwnProperty(o,i)){if(i=="require"){this.require(o[i]);}else{this[i]=o[i];}}}}var f=this.filter;if(lang.isString(f)){f=f.toUpperCase();if(f==="DEBUG"){this.require("logger");}if(!Y.widget.LogWriter){Y.widget.LogWriter=function(){return Y;};}this.filter=this.FILTERS[f];}},addModule:function(o){if(!o||!o.name||!o.type||(!o.path&&!o.fullpath)){return false;}o.ext=("ext" in o)?o.ext:true;o.requires=o.requires||[];this.moduleInfo[o.name]=o;this.dirty=true;return true;},require:function(what){var a=(typeof what==="string")?arguments:what;this.dirty=true;YUI.ObjectUtil.appendArray(this.required,a);},_addSkin:function(skin,mod){var name=this.formatSkin(skin),info=this.moduleInfo,sinf=this.skin,ext=info[mod]&&info[mod].ext;if(!info[name]){this.addModule({"name":name,"type":"css","path":sinf.base+skin+"/"+sinf.path,"after":sinf.after,"rollup":sinf.rollup,"ext":ext});}if(mod){name=this.formatSkin(skin,mod);if(!info[name]){var mdef=info[mod],pkg=mdef.pkg||mod;this.addModule({"name":name,"type":"css","after":sinf.after,"path":pkg+"/"+sinf.base+skin+"/"+mod+".css","ext":ext});}}return name;},getRequires:function(mod){if(!mod){return[];}if(!this.dirty&&mod.expanded){return mod.expanded;}mod.requires=mod.requires||[];var i,d=[],r=mod.requires,o=mod.optional,info=this.moduleInfo,m;for(i=0;i<r.length;i=i+1){d.push(r[i]);m=info[r[i]];YUI.ArrayUtil.appendArray(d,this.getRequires(m));}if(o&&this.loadOptional){for(i=0;i<o.length;i=i+1){d.push(o[i]);YUI.ArrayUtil.appendArray(d,this.getRequires(info[o[i]]));}}mod.expanded=YUI.ArrayUtil.uniq(d);return mod.expanded;},getProvides:function(name,notMe){var addMe=!(notMe),ckey=(addMe)?PROV:SUPER,m=this.moduleInfo[name],o={};if(!m){return o;}if(m[ckey]){return m[ckey];}var s=m.supersedes,done={},me=this;var add=function(mm){if(!done[mm]){done[mm]=true;lang.augmentObject(o,me.getProvides(mm));}};if(s){for(var i=0;i<s.length;i=i+1){add(s[i]);}}m[SUPER]=o;m[PROV]=lang.merge(o);m[PROV][name]=true;return m[ckey];},calculate:function(o){if(this.dirty){this._config(o);this._setup();this._explode();if(this.allowRollup){this._rollup();}this._reduce();this._sort();this.dirty=false;}},_setup:function(){var info=this.moduleInfo,name,i,j;for(name in info){var m=info[name];if(m&&m.skinnable){var o=this.skin.overrides,smod;if(o&&o[name]){for(i=0;i<o[name].length;i=i+1){smod=this._addSkin(o[name][i],name);}}else{smod=this._addSkin(this.skin.defaultSkin,name);}m.requires.push(smod);}}var l=lang.merge(this.inserted);if(!this._sandbox){l=lang.merge(l,env.modules);}if(this.ignore){YUI.ObjectUtil.appendArray(l,this.ignore);}if(this.force){for(i=0;i<this.force.length;i=i+1){if(this.force[i] in l){delete l[this.force[i]];}}}for(j in l){if(lang.hasOwnProperty(l,j)){lang.augmentObject(l,this.getProvides(j));}}this.loaded=l;},_explode:function(){var r=this.required,i,mod;for(i in r){mod=this.moduleInfo[i];if(mod){var req=this.getRequires(mod);if(req){YUI.ObjectUtil.appendArray(r,req);}}}},_skin:function(){},formatSkin:function(skin,mod){var s=this.SKIN_PREFIX+skin;if(mod){s=s+"-"+mod;}return s;},parseSkin:function(mod){if(mod.indexOf(this.SKIN_PREFIX)===0){var a=mod.split("-");return{skin:a[1],module:a[2]};}return null;},_rollup:function(){var i,j,m,s,rollups={},r=this.required,roll;if(this.dirty||!this.rollups){for(i in this.moduleInfo){m=this.moduleInfo[i];if(m&&m.rollup){rollups[i]=m;}}this.rollups=rollups;}for(;;){var rolled=false;for(i in rollups){if(!r[i]&&!this.loaded[i]){m=this.moduleInfo[i];s=m.supersedes;roll=false;if(!m.rollup){continue;}var skin=(m.ext)?false:this.parseSkin(i),c=0;if(skin){for(j in r){if(i!==j&&this.parseSkin(j)){c++;roll=(c>=m.rollup);if(roll){break;}}}}else{for(j=0;j<s.length;j=j+1){if(this.loaded[s[j]]&&(!YUI.dupsAllowed[s[j]])){roll=false;break;}else{if(r[s[j]]){c++;roll=(c>=m.rollup);if(roll){break;}}}}}if(roll){r[i]=true;rolled=true;this.getRequires(m);}}}if(!rolled){break;}}},_reduce:function(){var i,j,s,m,r=this.required;for(i in r){if(i in this.loaded){delete r[i];}else{var skinDef=this.parseSkin(i);if(skinDef){if(!skinDef.module){var skin_pre=this.SKIN_PREFIX+skinDef.skin;for(j in r){m=this.moduleInfo[j];var ext=m&&m.ext;if(!ext&&j!==i&&j.indexOf(skin_pre)>-1){delete r[j];}}}}else{m=this.moduleInfo[i];s=m&&m.supersedes;if(s){for(j=0;j<s.length;j=j+1){if(s[j] in r){delete r[s[j]];}}}}}}},_sort:function(){var s=[],info=this.moduleInfo,loaded=this.loaded,me=this;var requires=function(aa,bb){if(loaded[bb]){return false;}var ii,mm=info[aa],rr=mm&&mm.expanded,after=mm&&mm.after,other=info[bb];if(rr&&YUI.ArrayUtil.indexOf(rr,bb)>-1){return true;}if(after&&YUI.ArrayUtil.indexOf(after,bb)>-1){return true;}var ss=info[bb]&&info[bb].supersedes;if(ss){for(ii=0;
+ii<ss.length;ii=ii+1){if(requires(aa,ss[ii])){return true;}}}if(mm.ext&&mm.type=="css"&&(!other.ext)){return true;}return false;};for(var i in this.required){s.push(i);}var p=0;for(;;){var l=s.length,a,b,j,k,moved=false;for(j=p;j<l;j=j+1){a=s[j];for(k=j+1;k<l;k=k+1){if(requires(a,s[k])){b=s.splice(k,1);s.splice(j,0,b[0]);moved=true;break;}}if(moved){break;}else{p=p+1;}}if(!moved){break;}}this.sorted=s;},toString:function(){var o={type:"YUILoader",base:this.base,filter:this.filter,required:this.required,loaded:this.loaded,inserted:this.inserted};lang.dump(o,1);},insert:function(o,type){this.calculate(o);if(!type){var self=this;this._internalCallback=function(){self._internalCallback=null;self.insert(null,"js");};this.insert(null,"css");return ;}this._loading=true;this.loadType=type;this.loadNext();},sandbox:function(o,type){if(o){}else{}this._config(o);if(!this.onSuccess){throw new Error("You must supply an onSuccess handler for your sandbox");}this._sandbox=true;var self=this;if(!type||type!=="js"){this._internalCallback=function(){self._internalCallback=null;self.sandbox(null,"js");};this.insert(null,"css");return ;}if(!util.Connect){var ld=new YAHOO.util.YUILoader();ld.insert({base:this.base,filter:this.filter,require:"connection",insertBefore:this.insertBefore,charset:this.charset,onSuccess:function(){this.sandbox(null,"js");},scope:this},"js");return ;}this._scriptText=[];this._loadCount=0;this._stopCount=this.sorted.length;this._xhr=[];this.calculate();var s=this.sorted,l=s.length,i,m,url;for(i=0;i<l;i=i+1){m=this.moduleInfo[s[i]];if(!m){this.onFailure.call(this.scope,{msg:"undefined module "+m,data:this.data});for(var j=0;j<this._xhr.length;j=j+1){this._xhr[j].abort();}return ;}if(m.type!=="js"){this._loadCount++;continue;}url=m.fullpath||this._url(m.path);var xhrData={success:function(o){var idx=o.argument[0],name=o.argument[2];this._scriptText[idx]=o.responseText;if(this.onProgress){this.onProgress.call(this.scope,{name:name,scriptText:o.responseText,xhrResponse:o,data:this.data});}this._loadCount++;if(this._loadCount>=this._stopCount){var v=this.varName||"YAHOO";var t="(function() {\n";var b="\nreturn "+v+";\n})();";var ref=eval(t+this._scriptText.join("\n")+b);this._pushEvents(ref);if(ref){this.onSuccess.call(this.scope,{reference:ref,data:this.data});}else{this.onFailure.call(this.scope,{msg:this.varName+" reference failure",data:this.data});}}},failure:function(o){this.onFailure.call(this.scope,{msg:"XHR failure",xhrResponse:o,data:this.data});},scope:this,argument:[i,url,s[i]]};this._xhr.push(util.Connect.asyncRequest("GET",url,xhrData));}},loadNext:function(mname){if(!this._loading){return ;}if(mname){if(mname!==this._loading){return ;}this.inserted[mname]=true;if(this.onProgress){this.onProgress.call(this.scope,{name:mname,data:this.data});}}var s=this.sorted,len=s.length,i,m;for(i=0;i<len;i=i+1){if(s[i] in this.inserted){continue;}if(s[i]===this._loading){return ;}m=this.moduleInfo[s[i]];if(!m){this.onFailure.call(this.scope,{msg:"undefined module "+m,data:this.data});return ;}if(!this.loadType||this.loadType===m.type){this._loading=s[i];var fn=(m.type==="css")?util.Get.css:util.Get.script,url=m.fullpath||this._url(m.path),self=this,c=function(o){self.loadNext(o.data);};if(env.ua.webkit&&env.ua.webkit<420&&m.type==="js"&&!m.varName){c=null;this._useYahooListener=true;}fn(url,{data:s[i],onSuccess:c,insertBefore:this.insertBefore,charset:this.charset,varName:m.varName,scope:self});return ;}}this._loading=null;if(this._internalCallback){var f=this._internalCallback;this._internalCallback=null;f.call(this);}else{if(this.onSuccess){this._pushEvents();this.onSuccess.call(this.scope,{data:this.data});}}},_pushEvents:function(ref){var r=ref||YAHOO;if(r.util&&r.util.Event){r.util.Event._load();}},_url:function(path){var u=this.base||"",f=this.filter;u=u+path;if(f){u=u.replace(new RegExp(f.searchExp),f.replaceStr);}return u;}};})();(function(){var B=YAHOO.util,K,I,J={},F={},M=window.document;YAHOO.env._id_counter=YAHOO.env._id_counter||0;var C=YAHOO.env.ua.opera,L=YAHOO.env.ua.webkit,A=YAHOO.env.ua.gecko,G=YAHOO.env.ua.ie;var E={HYPHEN:/(-[a-z])/i,ROOT_TAG:/^body|html$/i,OP_SCROLL:/^(?:inline|table-row)$/i};var N=function(P){if(!E.HYPHEN.test(P)){return P;}if(J[P]){return J[P];}var Q=P;while(E.HYPHEN.exec(Q)){Q=Q.replace(RegExp.$1,RegExp.$1.substr(1).toUpperCase());}J[P]=Q;return Q;};var O=function(Q){var P=F[Q];if(!P){P=new RegExp("(?:^|\\s+)"+Q+"(?:\\s+|$)");F[Q]=P;}return P;};if(M.defaultView&&M.defaultView.getComputedStyle){K=function(P,S){var R=null;if(S=="float"){S="cssFloat";}var Q=P.ownerDocument.defaultView.getComputedStyle(P,"");if(Q){R=Q[N(S)];}return P.style[S]||R;};}else{if(M.documentElement.currentStyle&&G){K=function(P,R){switch(N(R)){case"opacity":var T=100;try{T=P.filters["DXImageTransform.Microsoft.Alpha"].opacity;}catch(S){try{T=P.filters("alpha").opacity;}catch(S){}}return T/100;case"float":R="styleFloat";default:var Q=P.currentStyle?P.currentStyle[R]:null;return(P.style[R]||Q);}};}else{K=function(P,Q){return P.style[Q];};}}if(G){I=function(P,Q,R){switch(Q){case"opacity":if(YAHOO.lang.isString(P.style.filter)){P.style.filter="alpha(opacity="+R*100+")";if(!P.currentStyle||!P.currentStyle.hasLayout){P.style.zoom=1;}}break;case"float":Q="styleFloat";default:P.style[Q]=R;}};}else{I=function(P,Q,R){if(Q=="float"){Q="cssFloat";}P.style[Q]=R;};}var D=function(P,Q){return P&&P.nodeType==1&&(!Q||Q(P));};YAHOO.util.Dom={get:function(R){if(R&&(R.nodeType||R.item)){return R;}if(YAHOO.lang.isString(R)||!R){return M.getElementById(R);}if(R.length!==undefined){var S=[];for(var Q=0,P=R.length;Q<P;++Q){S[S.length]=B.Dom.get(R[Q]);}return S;}return R;},getStyle:function(P,R){R=N(R);var Q=function(S){return K(S,R);};return B.Dom.batch(P,Q,B.Dom,true);},setStyle:function(P,R,S){R=N(R);var Q=function(T){I(T,R,S);};B.Dom.batch(P,Q,B.Dom,true);},getXY:function(P){var Q=function(R){if((R.parentNode===null||R.offsetParent===null||this.getStyle(R,"display")=="none")&&R!=R.ownerDocument.body){return false;}return H(R);};return B.Dom.batch(P,Q,B.Dom,true);},getX:function(P){var Q=function(R){return B.Dom.getXY(R)[0];};return B.Dom.batch(P,Q,B.Dom,true);},getY:function(P){var Q=function(R){return B.Dom.getXY(R)[1];};return B.Dom.batch(P,Q,B.Dom,true);},setXY:function(P,S,R){var Q=function(V){var U=this.getStyle(V,"position");if(U=="static"){this.setStyle(V,"position","relative");U="relative";}var X=this.getXY(V);if(X===false){return false;}var W=[parseInt(this.getStyle(V,"left"),10),parseInt(this.getStyle(V,"top"),10)];if(isNaN(W[0])){W[0]=(U=="relative")?0:V.offsetLeft;}if(isNaN(W[1])){W[1]=(U=="relative")?0:V.offsetTop;}if(S[0]!==null){V.style.left=S[0]-X[0]+W[0]+"px";}if(S[1]!==null){V.style.top=S[1]-X[1]+W[1]+"px";}if(!R){var T=this.getXY(V);if((S[0]!==null&&T[0]!=S[0])||(S[1]!==null&&T[1]!=S[1])){this.setXY(V,S,true);}}};B.Dom.batch(P,Q,B.Dom,true);},setX:function(Q,P){B.Dom.setXY(Q,[P,null]);},setY:function(P,Q){B.Dom.setXY(P,[null,Q]);},getRegion:function(P){var Q=function(R){if((R.parentNode===null||R.offsetParent===null||this.getStyle(R,"display")=="none")&&R!=R.ownerDocument.body){return false;}var S=B.Region.getRegion(R);return S;};return B.Dom.batch(P,Q,B.Dom,true);},getClientWidth:function(){return B.Dom.getViewportWidth();},getClientHeight:function(){return B.Dom.getViewportHeight();},getElementsByClassName:function(T,X,U,V){X=X||"*";U=(U)?B.Dom.get(U):null||M;if(!U){return[];}var Q=[],P=U.getElementsByTagName(X),W=O(T);for(var R=0,S=P.length;R<S;++R){if(W.test(P[R].className)){Q[Q.length]=P[R];if(V){V.call(P[R],P[R]);}}}return Q;},hasClass:function(R,Q){var P=O(Q);var S=function(T){return P.test(T.className);};return B.Dom.batch(R,S,B.Dom,true);},addClass:function(Q,P){var R=function(S){if(this.hasClass(S,P)){return false;}S.className=YAHOO.lang.trim([S.className,P].join(" "));return true;};return B.Dom.batch(Q,R,B.Dom,true);},removeClass:function(R,Q){var P=O(Q);var S=function(T){if(!Q||!this.hasClass(T,Q)){return false;}var U=T.className;T.className=U.replace(P," ");if(this.hasClass(T,Q)){this.removeClass(T,Q);}T.className=YAHOO.lang.trim(T.className);return true;};return B.Dom.batch(R,S,B.Dom,true);},replaceClass:function(S,Q,P){if(!P||Q===P){return false;}var R=O(Q);var T=function(U){if(!this.hasClass(U,Q)){this.addClass(U,P);return true;}U.className=U.className.replace(R," "+P+" ");if(this.hasClass(U,Q)){this.replaceClass(U,Q,P);}U.className=YAHOO.lang.trim(U.className);return true;};return B.Dom.batch(S,T,B.Dom,true);},generateId:function(P,R){R=R||"yui-gen";var Q=function(S){if(S&&S.id){return S.id;}var T=R+YAHOO.env._id_counter++;if(S){S.id=T;}return T;};return B.Dom.batch(P,Q,B.Dom,true)||Q.apply(B.Dom,arguments);},isAncestor:function(P,Q){P=B.Dom.get(P);Q=B.Dom.get(Q);if(!P||!Q){return false;}if(P.contains&&Q.nodeType&&!L){return P.contains(Q);}else{if(P.compareDocumentPosition&&Q.nodeType){return !!(P.compareDocumentPosition(Q)&16);}else{if(Q.nodeType){return !!this.getAncestorBy(Q,function(R){return R==P;});}}}return false;},inDocument:function(P){return this.isAncestor(M.documentElement,P);},getElementsBy:function(W,Q,R,T){Q=Q||"*";R=(R)?B.Dom.get(R):null||M;if(!R){return[];}var S=[],V=R.getElementsByTagName(Q);for(var U=0,P=V.length;U<P;++U){if(W(V[U])){S[S.length]=V[U];if(T){T(V[U]);}}}return S;},batch:function(T,W,V,R){T=(T&&(T.tagName||T.item))?T:B.Dom.get(T);if(!T||!W){return false;}var S=(R)?V:window;if(T.tagName||T.length===undefined){return W.call(S,T,V);}var U=[];for(var Q=0,P=T.length;Q<P;++Q){U[U.length]=W.call(S,T[Q],V);}return U;},getDocumentHeight:function(){var Q=(M.compatMode!="CSS1Compat")?M.body.scrollHeight:M.documentElement.scrollHeight;var P=Math.max(Q,B.Dom.getViewportHeight());return P;},getDocumentWidth:function(){var Q=(M.compatMode!="CSS1Compat")?M.body.scrollWidth:M.documentElement.scrollWidth;var P=Math.max(Q,B.Dom.getViewportWidth());return P;},getViewportHeight:function(){var P=self.innerHeight;
+var Q=M.compatMode;if((Q||G)&&!C){P=(Q=="CSS1Compat")?M.documentElement.clientHeight:M.body.clientHeight;}return P;},getViewportWidth:function(){var P=self.innerWidth;var Q=M.compatMode;if(Q||G){P=(Q=="CSS1Compat")?M.documentElement.clientWidth:M.body.clientWidth;}return P;},getAncestorBy:function(P,Q){while(P=P.parentNode){if(D(P,Q)){return P;}}return null;},getAncestorByClassName:function(Q,P){Q=B.Dom.get(Q);if(!Q){return null;}var R=function(S){return B.Dom.hasClass(S,P);};return B.Dom.getAncestorBy(Q,R);},getAncestorByTagName:function(Q,P){Q=B.Dom.get(Q);if(!Q){return null;}var R=function(S){return S.tagName&&S.tagName.toUpperCase()==P.toUpperCase();};return B.Dom.getAncestorBy(Q,R);},getPreviousSiblingBy:function(P,Q){while(P){P=P.previousSibling;if(D(P,Q)){return P;}}return null;},getPreviousSibling:function(P){P=B.Dom.get(P);if(!P){return null;}return B.Dom.getPreviousSiblingBy(P);},getNextSiblingBy:function(P,Q){while(P){P=P.nextSibling;if(D(P,Q)){return P;}}return null;},getNextSibling:function(P){P=B.Dom.get(P);if(!P){return null;}return B.Dom.getNextSiblingBy(P);},getFirstChildBy:function(P,R){var Q=(D(P.firstChild,R))?P.firstChild:null;return Q||B.Dom.getNextSiblingBy(P.firstChild,R);},getFirstChild:function(P,Q){P=B.Dom.get(P);if(!P){return null;}return B.Dom.getFirstChildBy(P);},getLastChildBy:function(P,R){if(!P){return null;}var Q=(D(P.lastChild,R))?P.lastChild:null;return Q||B.Dom.getPreviousSiblingBy(P.lastChild,R);},getLastChild:function(P){P=B.Dom.get(P);return B.Dom.getLastChildBy(P);},getChildrenBy:function(Q,S){var R=B.Dom.getFirstChildBy(Q,S);var P=R?[R]:[];B.Dom.getNextSiblingBy(R,function(T){if(!S||S(T)){P[P.length]=T;}return false;});return P;},getChildren:function(P){P=B.Dom.get(P);if(!P){}return B.Dom.getChildrenBy(P);},getDocumentScrollLeft:function(P){P=P||M;return Math.max(P.documentElement.scrollLeft,P.body.scrollLeft);},getDocumentScrollTop:function(P){P=P||M;return Math.max(P.documentElement.scrollTop,P.body.scrollTop);},insertBefore:function(Q,P){Q=B.Dom.get(Q);P=B.Dom.get(P);if(!Q||!P||!P.parentNode){return null;}return P.parentNode.insertBefore(Q,P);},insertAfter:function(Q,P){Q=B.Dom.get(Q);P=B.Dom.get(P);if(!Q||!P||!P.parentNode){return null;}if(P.nextSibling){return P.parentNode.insertBefore(Q,P.nextSibling);}else{return P.parentNode.appendChild(Q);}},getClientRegion:function(){var R=B.Dom.getDocumentScrollTop(),Q=B.Dom.getDocumentScrollLeft(),S=B.Dom.getViewportWidth()+Q,P=B.Dom.getViewportHeight()+R;return new B.Region(R,S,P,Q);}};var H=function(){if(M.documentElement.getBoundingClientRect){return function(Q){var R=Q.getBoundingClientRect();var P=Q.ownerDocument;return[R.left+B.Dom.getDocumentScrollLeft(P),R.top+B.Dom.getDocumentScrollTop(P)];};}else{return function(R){var S=[R.offsetLeft,R.offsetTop];var Q=R.offsetParent;var P=(L&&B.Dom.getStyle(R,"position")=="absolute"&&R.offsetParent==R.ownerDocument.body);if(Q!=R){while(Q){S[0]+=Q.offsetLeft;S[1]+=Q.offsetTop;if(!P&&L&&B.Dom.getStyle(Q,"position")=="absolute"){P=true;}Q=Q.offsetParent;}}if(P){S[0]-=R.ownerDocument.body.offsetLeft;S[1]-=R.ownerDocument.body.offsetTop;}Q=R.parentNode;while(Q.tagName&&!E.ROOT_TAG.test(Q.tagName)){if(Q.scrollTop||Q.scrollLeft){if(!E.OP_SCROLL.test(B.Dom.getStyle(Q,"display"))){if(!C||B.Dom.getStyle(Q,"overflow")!=="visible"){S[0]-=Q.scrollLeft;S[1]-=Q.scrollTop;}}}Q=Q.parentNode;}return S;};}}();})();YAHOO.util.Region=function(C,D,A,B){this.top=C;this[1]=C;this.right=D;this.bottom=A;this.left=B;this[0]=B;};YAHOO.util.Region.prototype.contains=function(A){return(A.left>=this.left&&A.right<=this.right&&A.top>=this.top&&A.bottom<=this.bottom);};YAHOO.util.Region.prototype.getArea=function(){return((this.bottom-this.top)*(this.right-this.left));};YAHOO.util.Region.prototype.intersect=function(E){var C=Math.max(this.top,E.top);var D=Math.min(this.right,E.right);var A=Math.min(this.bottom,E.bottom);var B=Math.max(this.left,E.left);if(A>=C&&D>=B){return new YAHOO.util.Region(C,D,A,B);}else{return null;}};YAHOO.util.Region.prototype.union=function(E){var C=Math.min(this.top,E.top);var D=Math.max(this.right,E.right);var A=Math.max(this.bottom,E.bottom);var B=Math.min(this.left,E.left);return new YAHOO.util.Region(C,D,A,B);};YAHOO.util.Region.prototype.toString=function(){return("Region {"+"top: "+this.top+", right: "+this.right+", bottom: "+this.bottom+", left: "+this.left+"}");};YAHOO.util.Region.getRegion=function(D){var F=YAHOO.util.Dom.getXY(D);var C=F[1];var E=F[0]+D.offsetWidth;var A=F[1]+D.offsetHeight;var B=F[0];return new YAHOO.util.Region(C,E,A,B);};YAHOO.util.Point=function(A,B){if(YAHOO.lang.isArray(A)){B=A[1];A=A[0];}this.x=this.right=this.left=this[0]=A;this.y=this.top=this.bottom=this[1]=B;};YAHOO.util.Point.prototype=new YAHOO.util.Region();YAHOO.register("dom",YAHOO.util.Dom,{version:"2.5.1",build:"984"});YAHOO.util.CustomEvent=function(D,B,C,A){this.type=D;this.scope=B||window;this.silent=C;this.signature=A||YAHOO.util.CustomEvent.LIST;this.subscribers=[];if(!this.silent){}var E="_YUICEOnSubscribe";if(D!==E){this.subscribeEvent=new YAHOO.util.CustomEvent(E,this,true);}this.lastError=null;};YAHOO.util.CustomEvent.LIST=0;YAHOO.util.CustomEvent.FLAT=1;YAHOO.util.CustomEvent.prototype={subscribe:function(B,C,A){if(!B){throw new Error("Invalid callback for subscriber to '"+this.type+"'");}if(this.subscribeEvent){this.subscribeEvent.fire(B,C,A);}this.subscribers.push(new YAHOO.util.Subscriber(B,C,A));},unsubscribe:function(D,F){if(!D){return this.unsubscribeAll();}var E=false;for(var B=0,A=this.subscribers.length;B<A;++B){var C=this.subscribers[B];if(C&&C.contains(D,F)){this._delete(B);E=true;}}return E;},fire:function(){var D=this.subscribers.length;if(!D&&this.silent){return true;}var H=[].slice.call(arguments,0),F=true,C,I=false;if(!this.silent){}var B=this.subscribers.slice();for(C=0;C<D;++C){var K=B[C];if(!K){I=true;}else{if(!this.silent){}var J=K.getScope(this.scope);if(this.signature==YAHOO.util.CustomEvent.FLAT){var A=null;if(H.length>0){A=H[0];}try{F=K.fn.call(J,A,K.obj);}catch(E){this.lastError=E;}}else{try{F=K.fn.call(J,this.type,H,K.obj);}catch(G){this.lastError=G;}}if(false===F){if(!this.silent){}return false;}}}return true;},unsubscribeAll:function(){for(var A=this.subscribers.length-1;A>-1;A--){this._delete(A);}this.subscribers=[];return A;},_delete:function(A){var B=this.subscribers[A];if(B){delete B.fn;delete B.obj;}this.subscribers.splice(A,1);},toString:function(){return"CustomEvent: "+"'"+this.type+"', "+"scope: "+this.scope;}};YAHOO.util.Subscriber=function(B,C,A){this.fn=B;this.obj=YAHOO.lang.isUndefined(C)?null:C;this.override=A;};YAHOO.util.Subscriber.prototype.getScope=function(A){if(this.override){if(this.override===true){return this.obj;}else{return this.override;}}return A;};YAHOO.util.Subscriber.prototype.contains=function(A,B){if(B){return(this.fn==A&&this.obj==B);}else{return(this.fn==A);}};YAHOO.util.Subscriber.prototype.toString=function(){return"Subscriber { obj: "+this.obj+", override: "+(this.override||"no")+" }";};if(!YAHOO.util.Event){YAHOO.util.Event=function(){var H=false;var I=[];var J=[];var G=[];var E=[];var C=0;var F=[];var B=[];var A=0;var D={63232:38,63233:40,63234:37,63235:39,63276:33,63277:34,25:9};return{POLL_RETRYS:2000,POLL_INTERVAL:20,EL:0,TYPE:1,FN:2,WFN:3,UNLOAD_OBJ:3,ADJ_SCOPE:4,OBJ:5,OVERRIDE:6,lastError:null,isSafari:YAHOO.env.ua.webkit,webkit:YAHOO.env.ua.webkit,isIE:YAHOO.env.ua.ie,_interval:null,_dri:null,DOMReady:false,startInterval:function(){if(!this._interval){var K=this;var L=function(){K._tryPreloadAttach();};this._interval=setInterval(L,this.POLL_INTERVAL);}},onAvailable:function(P,M,Q,O,N){var K=(YAHOO.lang.isString(P))?[P]:P;for(var L=0;L<K.length;L=L+1){F.push({id:K[L],fn:M,obj:Q,override:O,checkReady:N});}C=this.POLL_RETRYS;this.startInterval();},onContentReady:function(M,K,N,L){this.onAvailable(M,K,N,L,true);},onDOMReady:function(K,M,L){if(this.DOMReady){setTimeout(function(){var N=window;if(L){if(L===true){N=M;}else{N=L;}}K.call(N,"DOMReady",[],M);},0);}else{this.DOMReadyEvent.subscribe(K,M,L);}},addListener:function(M,K,V,Q,L){if(!V||!V.call){return false;}if(this._isValidCollection(M)){var W=true;for(var R=0,T=M.length;R<T;++R){W=this.on(M[R],K,V,Q,L)&&W;}return W;}else{if(YAHOO.lang.isString(M)){var P=this.getEl(M);if(P){M=P;}else{this.onAvailable(M,function(){YAHOO.util.Event.on(M,K,V,Q,L);});return true;}}}if(!M){return false;}if("unload"==K&&Q!==this){J[J.length]=[M,K,V,Q,L];return true;}var Y=M;if(L){if(L===true){Y=Q;}else{Y=L;}}var N=function(Z){return V.call(Y,YAHOO.util.Event.getEvent(Z,M),Q);};var X=[M,K,V,N,Y,Q,L];var S=I.length;I[S]=X;if(this.useLegacyEvent(M,K)){var O=this.getLegacyIndex(M,K);if(O==-1||M!=G[O][0]){O=G.length;B[M.id+K]=O;G[O]=[M,K,M["on"+K]];E[O]=[];M["on"+K]=function(Z){YAHOO.util.Event.fireLegacyEvent(YAHOO.util.Event.getEvent(Z),O);};}E[O].push(X);}else{try{this._simpleAdd(M,K,N,false);}catch(U){this.lastError=U;this.removeListener(M,K,V);return false;}}return true;},fireLegacyEvent:function(O,M){var Q=true,K,S,R,T,P;S=E[M].slice();for(var L=0,N=S.length;L<N;++L){R=S[L];if(R&&R[this.WFN]){T=R[this.ADJ_SCOPE];P=R[this.WFN].call(T,O);Q=(Q&&P);}}K=G[M];if(K&&K[2]){K[2](O);}return Q;},getLegacyIndex:function(L,M){var K=this.generateId(L)+M;if(typeof B[K]=="undefined"){return -1;}else{return B[K];}},useLegacyEvent:function(L,M){if(this.webkit&&("click"==M||"dblclick"==M)){var K=parseInt(this.webkit,10);if(!isNaN(K)&&K<418){return true;}}return false;},removeListener:function(L,K,T){var O,R,V;if(typeof L=="string"){L=this.getEl(L);}else{if(this._isValidCollection(L)){var U=true;for(O=L.length-1;O>-1;O--){U=(this.removeListener(L[O],K,T)&&U);}return U;}}if(!T||!T.call){return this.purgeElement(L,false,K);}if("unload"==K){for(O=J.length-1;O>-1;O--){V=J[O];if(V&&V[0]==L&&V[1]==K&&V[2]==T){J.splice(O,1);return true;}}return false;}var P=null;var Q=arguments[3];if("undefined"===typeof Q){Q=this._getCacheIndex(L,K,T);}if(Q>=0){P=I[Q];}if(!L||!P){return false;}if(this.useLegacyEvent(L,K)){var N=this.getLegacyIndex(L,K);var M=E[N];if(M){for(O=0,R=M.length;O<R;++O){V=M[O];if(V&&V[this.EL]==L&&V[this.TYPE]==K&&V[this.FN]==T){M.splice(O,1);break;}}}}else{try{this._simpleRemove(L,K,P[this.WFN],false);}catch(S){this.lastError=S;return false;}}delete I[Q][this.WFN];delete I[Q][this.FN];I.splice(Q,1);return true;},getTarget:function(M,L){var K=M.target||M.srcElement;return this.resolveTextNode(K);},resolveTextNode:function(L){try{if(L&&3==L.nodeType){return L.parentNode;}}catch(K){}return L;},getPageX:function(L){var K=L.pageX;if(!K&&0!==K){K=L.clientX||0;if(this.isIE){K+=this._getScrollLeft();}}return K;},getPageY:function(K){var L=K.pageY;if(!L&&0!==L){L=K.clientY||0;if(this.isIE){L+=this._getScrollTop();}}return L;},getXY:function(K){return[this.getPageX(K),this.getPageY(K)];},getRelatedTarget:function(L){var K=L.relatedTarget;
+if(!K){if(L.type=="mouseout"){K=L.toElement;}else{if(L.type=="mouseover"){K=L.fromElement;}}}return this.resolveTextNode(K);},getTime:function(M){if(!M.time){var L=new Date().getTime();try{M.time=L;}catch(K){this.lastError=K;return L;}}return M.time;},stopEvent:function(K){this.stopPropagation(K);this.preventDefault(K);},stopPropagation:function(K){if(K.stopPropagation){K.stopPropagation();}else{K.cancelBubble=true;}},preventDefault:function(K){if(K.preventDefault){K.preventDefault();}else{K.returnValue=false;}},getEvent:function(M,K){var L=M||window.event;if(!L){var N=this.getEvent.caller;while(N){L=N.arguments[0];if(L&&Event==L.constructor){break;}N=N.caller;}}return L;},getCharCode:function(L){var K=L.keyCode||L.charCode||0;if(YAHOO.env.ua.webkit&&(K in D)){K=D[K];}return K;},_getCacheIndex:function(O,P,N){for(var M=0,L=I.length;M<L;M=M+1){var K=I[M];if(K&&K[this.FN]==N&&K[this.EL]==O&&K[this.TYPE]==P){return M;}}return -1;},generateId:function(K){var L=K.id;if(!L){L="yuievtautoid-"+A;++A;K.id=L;}return L;},_isValidCollection:function(L){try{return(L&&typeof L!=="string"&&L.length&&!L.tagName&&!L.alert&&typeof L[0]!=="undefined");}catch(K){return false;}},elCache:{},getEl:function(K){return(typeof K==="string")?document.getElementById(K):K;},clearCache:function(){},DOMReadyEvent:new YAHOO.util.CustomEvent("DOMReady",this),_load:function(L){if(!H){H=true;var K=YAHOO.util.Event;K._ready();K._tryPreloadAttach();}},_ready:function(L){var K=YAHOO.util.Event;if(!K.DOMReady){K.DOMReady=true;K.DOMReadyEvent.fire();K._simpleRemove(document,"DOMContentLoaded",K._ready);}},_tryPreloadAttach:function(){if(F.length===0){C=0;clearInterval(this._interval);this._interval=null;return ;}if(this.locked){return ;}if(this.isIE){if(!this.DOMReady){this.startInterval();return ;}}this.locked=true;var Q=!H;if(!Q){Q=(C>0&&F.length>0);}var P=[];var R=function(T,U){var S=T;if(U.override){if(U.override===true){S=U.obj;}else{S=U.override;}}U.fn.call(S,U.obj);};var L,K,O,N,M=[];for(L=0,K=F.length;L<K;L=L+1){O=F[L];if(O){N=this.getEl(O.id);if(N){if(O.checkReady){if(H||N.nextSibling||!Q){M.push(O);F[L]=null;}}else{R(N,O);F[L]=null;}}else{P.push(O);}}}for(L=0,K=M.length;L<K;L=L+1){O=M[L];R(this.getEl(O.id),O);}C--;if(Q){for(L=F.length-1;L>-1;L--){O=F[L];if(!O||!O.id){F.splice(L,1);}}this.startInterval();}else{clearInterval(this._interval);this._interval=null;}this.locked=false;},purgeElement:function(O,P,R){var M=(YAHOO.lang.isString(O))?this.getEl(O):O;var Q=this.getListeners(M,R),N,K;if(Q){for(N=Q.length-1;N>-1;N--){var L=Q[N];this.removeListener(M,L.type,L.fn);}}if(P&&M&&M.childNodes){for(N=0,K=M.childNodes.length;N<K;++N){this.purgeElement(M.childNodes[N],P,R);}}},getListeners:function(M,K){var P=[],L;if(!K){L=[I,J];}else{if(K==="unload"){L=[J];}else{L=[I];}}var R=(YAHOO.lang.isString(M))?this.getEl(M):M;for(var O=0;O<L.length;O=O+1){var T=L[O];if(T){for(var Q=0,S=T.length;Q<S;++Q){var N=T[Q];if(N&&N[this.EL]===R&&(!K||K===N[this.TYPE])){P.push({type:N[this.TYPE],fn:N[this.FN],obj:N[this.OBJ],adjust:N[this.OVERRIDE],scope:N[this.ADJ_SCOPE],index:Q});}}}}return(P.length)?P:null;},_unload:function(Q){var K=YAHOO.util.Event,N,M,L,P,O,R=J.slice();for(N=0,P=J.length;N<P;++N){L=R[N];if(L){var S=window;if(L[K.ADJ_SCOPE]){if(L[K.ADJ_SCOPE]===true){S=L[K.UNLOAD_OBJ];}else{S=L[K.ADJ_SCOPE];}}L[K.FN].call(S,K.getEvent(Q,L[K.EL]),L[K.UNLOAD_OBJ]);R[N]=null;L=null;S=null;}}J=null;if(I){for(M=I.length-1;M>-1;M--){L=I[M];if(L){K.removeListener(L[K.EL],L[K.TYPE],L[K.FN],M);}}L=null;}G=null;K._simpleRemove(window,"unload",K._unload);},_getScrollLeft:function(){return this._getScroll()[1];},_getScrollTop:function(){return this._getScroll()[0];},_getScroll:function(){var K=document.documentElement,L=document.body;if(K&&(K.scrollTop||K.scrollLeft)){return[K.scrollTop,K.scrollLeft];}else{if(L){return[L.scrollTop,L.scrollLeft];}else{return[0,0];}}},regCE:function(){},_simpleAdd:function(){if(window.addEventListener){return function(M,N,L,K){M.addEventListener(N,L,(K));};}else{if(window.attachEvent){return function(M,N,L,K){M.attachEvent("on"+N,L);};}else{return function(){};}}}(),_simpleRemove:function(){if(window.removeEventListener){return function(M,N,L,K){M.removeEventListener(N,L,(K));};}else{if(window.detachEvent){return function(L,M,K){L.detachEvent("on"+M,K);};}else{return function(){};}}}()};}();(function(){var EU=YAHOO.util.Event;EU.on=EU.addListener;
+/* DOMReady: based on work by: Dean Edwards/John Resig/Matthias Miller */
+if(EU.isIE){YAHOO.util.Event.onDOMReady(YAHOO.util.Event._tryPreloadAttach,YAHOO.util.Event,true);var n=document.createElement("p");EU._dri=setInterval(function(){try{n.doScroll("left");clearInterval(EU._dri);EU._dri=null;EU._ready();n=null;}catch(ex){}},EU.POLL_INTERVAL);}else{if(EU.webkit&&EU.webkit<525){EU._dri=setInterval(function(){var rs=document.readyState;if("loaded"==rs||"complete"==rs){clearInterval(EU._dri);EU._dri=null;EU._ready();}},EU.POLL_INTERVAL);}else{EU._simpleAdd(document,"DOMContentLoaded",EU._ready);}}EU._simpleAdd(window,"load",EU._load);EU._simpleAdd(window,"unload",EU._unload);EU._tryPreloadAttach();})();}YAHOO.util.EventProvider=function(){};YAHOO.util.EventProvider.prototype={__yui_events:null,__yui_subscribers:null,subscribe:function(A,C,F,E){this.__yui_events=this.__yui_events||{};var D=this.__yui_events[A];if(D){D.subscribe(C,F,E);}else{this.__yui_subscribers=this.__yui_subscribers||{};var B=this.__yui_subscribers;if(!B[A]){B[A]=[];}B[A].push({fn:C,obj:F,override:E});}},unsubscribe:function(C,E,G){this.__yui_events=this.__yui_events||{};var A=this.__yui_events;if(C){var F=A[C];if(F){return F.unsubscribe(E,G);}}else{var B=true;for(var D in A){if(YAHOO.lang.hasOwnProperty(A,D)){B=B&&A[D].unsubscribe(E,G);}}return B;}return false;},unsubscribeAll:function(A){return this.unsubscribe(A);},createEvent:function(G,D){this.__yui_events=this.__yui_events||{};var A=D||{};var I=this.__yui_events;if(I[G]){}else{var H=A.scope||this;var E=(A.silent);var B=new YAHOO.util.CustomEvent(G,H,E,YAHOO.util.CustomEvent.FLAT);
+I[G]=B;if(A.onSubscribeCallback){B.subscribeEvent.subscribe(A.onSubscribeCallback);}this.__yui_subscribers=this.__yui_subscribers||{};var F=this.__yui_subscribers[G];if(F){for(var C=0;C<F.length;++C){B.subscribe(F[C].fn,F[C].obj,F[C].override);}}}return I[G];},fireEvent:function(E,D,A,C){this.__yui_events=this.__yui_events||{};var G=this.__yui_events[E];if(!G){return null;}var B=[];for(var F=1;F<arguments.length;++F){B.push(arguments[F]);}return G.fire.apply(G,B);},hasEvent:function(A){if(this.__yui_events){if(this.__yui_events[A]){return true;}}return false;}};YAHOO.util.KeyListener=function(A,F,B,C){if(!A){}else{if(!F){}else{if(!B){}}}if(!C){C=YAHOO.util.KeyListener.KEYDOWN;}var D=new YAHOO.util.CustomEvent("keyPressed");this.enabledEvent=new YAHOO.util.CustomEvent("enabled");this.disabledEvent=new YAHOO.util.CustomEvent("disabled");if(typeof A=="string"){A=document.getElementById(A);}if(typeof B=="function"){D.subscribe(B);}else{D.subscribe(B.fn,B.scope,B.correctScope);}function E(J,I){if(!F.shift){F.shift=false;}if(!F.alt){F.alt=false;}if(!F.ctrl){F.ctrl=false;}if(J.shiftKey==F.shift&&J.altKey==F.alt&&J.ctrlKey==F.ctrl){var G;if(F.keys instanceof Array){for(var H=0;H<F.keys.length;H++){G=F.keys[H];if(G==J.charCode){D.fire(J.charCode,J);break;}else{if(G==J.keyCode){D.fire(J.keyCode,J);break;}}}}else{G=F.keys;if(G==J.charCode){D.fire(J.charCode,J);}else{if(G==J.keyCode){D.fire(J.keyCode,J);}}}}}this.enable=function(){if(!this.enabled){YAHOO.util.Event.addListener(A,C,E);this.enabledEvent.fire(F);}this.enabled=true;};this.disable=function(){if(this.enabled){YAHOO.util.Event.removeListener(A,C,E);this.disabledEvent.fire(F);}this.enabled=false;};this.toString=function(){return"KeyListener ["+F.keys+"] "+A.tagName+(A.id?"["+A.id+"]":"");};};YAHOO.util.KeyListener.KEYDOWN="keydown";YAHOO.util.KeyListener.KEYUP="keyup";YAHOO.util.KeyListener.KEY={ALT:18,BACK_SPACE:8,CAPS_LOCK:20,CONTROL:17,DELETE:46,DOWN:40,END:35,ENTER:13,ESCAPE:27,HOME:36,LEFT:37,META:224,NUM_LOCK:144,PAGE_DOWN:34,PAGE_UP:33,PAUSE:19,PRINTSCREEN:44,RIGHT:39,SCROLL_LOCK:145,SHIFT:16,SPACE:32,TAB:9,UP:38};YAHOO.register("event",YAHOO.util.Event,{version:"2.5.1",build:"984"});YAHOO.util.Connect={_msxml_progid:["Microsoft.XMLHTTP","MSXML2.XMLHTTP.3.0","MSXML2.XMLHTTP"],_http_headers:{},_has_http_headers:false,_use_default_post_header:true,_default_post_header:"application/x-www-form-urlencoded; charset=UTF-8",_default_form_header:"application/x-www-form-urlencoded",_use_default_xhr_header:true,_default_xhr_header:"XMLHttpRequest",_has_default_headers:true,_default_headers:{},_isFormSubmit:false,_isFileUpload:false,_formNode:null,_sFormData:null,_poll:{},_timeOut:{},_polling_interval:50,_transaction_id:0,_submitElementValue:null,_hasSubmitListener:(function(){if(YAHOO.util.Event){YAHOO.util.Event.addListener(document,"click",function(B){var A=YAHOO.util.Event.getTarget(B);if(A.nodeName.toLowerCase()=="input"&&(A.type&&A.type.toLowerCase()=="submit")){YAHOO.util.Connect._submitElementValue=encodeURIComponent(A.name)+"="+encodeURIComponent(A.value);}});return true;}return false;})(),startEvent:new YAHOO.util.CustomEvent("start"),completeEvent:new YAHOO.util.CustomEvent("complete"),successEvent:new YAHOO.util.CustomEvent("success"),failureEvent:new YAHOO.util.CustomEvent("failure"),uploadEvent:new YAHOO.util.CustomEvent("upload"),abortEvent:new YAHOO.util.CustomEvent("abort"),_customEvents:{onStart:["startEvent","start"],onComplete:["completeEvent","complete"],onSuccess:["successEvent","success"],onFailure:["failureEvent","failure"],onUpload:["uploadEvent","upload"],onAbort:["abortEvent","abort"]},setProgId:function(A){this._msxml_progid.unshift(A);},setDefaultPostHeader:function(A){if(typeof A=="string"){this._default_post_header=A;}else{if(typeof A=="boolean"){this._use_default_post_header=A;}}},setDefaultXhrHeader:function(A){if(typeof A=="string"){this._default_xhr_header=A;}else{this._use_default_xhr_header=A;}},setPollingInterval:function(A){if(typeof A=="number"&&isFinite(A)){this._polling_interval=A;}},createXhrObject:function(E){var D,A;try{A=new XMLHttpRequest();D={conn:A,tId:E};}catch(C){for(var B=0;B<this._msxml_progid.length;++B){try{A=new ActiveXObject(this._msxml_progid[B]);D={conn:A,tId:E};break;}catch(C){}}}finally{return D;}},getConnectionObject:function(A){var C;var D=this._transaction_id;try{if(!A){C=this.createXhrObject(D);}else{C={};C.tId=D;C.isUpload=true;}if(C){this._transaction_id++;}}catch(B){}finally{return C;}},asyncRequest:function(F,C,E,A){var D=(this._isFileUpload)?this.getConnectionObject(true):this.getConnectionObject();var B=(E&&E.argument)?E.argument:null;if(!D){return null;}else{if(E&&E.customevents){this.initCustomEvents(D,E);}if(this._isFormSubmit){if(this._isFileUpload){this.uploadFile(D,E,C,A);return D;}if(F.toUpperCase()=="GET"){if(this._sFormData.length!==0){C+=((C.indexOf("?")==-1)?"?":"&")+this._sFormData;}}else{if(F.toUpperCase()=="POST"){A=A?this._sFormData+"&"+A:this._sFormData;}}}if(F.toUpperCase()=="GET"&&(E&&E.cache===false)){C+=((C.indexOf("?")==-1)?"?":"&")+"rnd="+new Date().valueOf().toString();}D.conn.open(F,C,true);if(this._use_default_xhr_header){if(!this._default_headers["X-Requested-With"]){this.initHeader("X-Requested-With",this._default_xhr_header,true);}}if((F.toUpperCase()=="POST"&&this._use_default_post_header)&&this._isFormSubmit===false){this.initHeader("Content-Type",this._default_post_header);}if(this._has_default_headers||this._has_http_headers){this.setHeader(D);}this.handleReadyState(D,E);D.conn.send(A||"");if(this._isFormSubmit===true){this.resetFormState();}this.startEvent.fire(D,B);if(D.startEvent){D.startEvent.fire(D,B);}return D;}},initCustomEvents:function(A,C){for(var B in C.customevents){if(this._customEvents[B][0]){A[this._customEvents[B][0]]=new YAHOO.util.CustomEvent(this._customEvents[B][1],(C.scope)?C.scope:null);A[this._customEvents[B][0]].subscribe(C.customevents[B]);}}},handleReadyState:function(C,D){var B=this;var A=(D&&D.argument)?D.argument:null;if(D&&D.timeout){this._timeOut[C.tId]=window.setTimeout(function(){B.abort(C,D,true);},D.timeout);}this._poll[C.tId]=window.setInterval(function(){if(C.conn&&C.conn.readyState===4){window.clearInterval(B._poll[C.tId]);delete B._poll[C.tId];if(D&&D.timeout){window.clearTimeout(B._timeOut[C.tId]);delete B._timeOut[C.tId];}B.completeEvent.fire(C,A);if(C.completeEvent){C.completeEvent.fire(C,A);}B.handleTransactionResponse(C,D);}},this._polling_interval);},handleTransactionResponse:function(F,G,A){var D,C;var B=(G&&G.argument)?G.argument:null;try{if(F.conn.status!==undefined&&F.conn.status!==0){D=F.conn.status;}else{D=13030;}}catch(E){D=13030;}if(D>=200&&D<300||D===1223){C=this.createResponseObject(F,B);if(G&&G.success){if(!G.scope){G.success(C);}else{G.success.apply(G.scope,[C]);}}this.successEvent.fire(C);if(F.successEvent){F.successEvent.fire(C);}}else{switch(D){case 12002:case 12029:case 12030:case 12031:case 12152:case 13030:C=this.createExceptionObject(F.tId,B,(A?A:false));if(G&&G.failure){if(!G.scope){G.failure(C);}else{G.failure.apply(G.scope,[C]);}}break;default:C=this.createResponseObject(F,B);if(G&&G.failure){if(!G.scope){G.failure(C);}else{G.failure.apply(G.scope,[C]);}}}this.failureEvent.fire(C);if(F.failureEvent){F.failureEvent.fire(C);}}this.releaseObject(F);C=null;},createResponseObject:function(A,G){var D={};var I={};try{var C=A.conn.getAllResponseHeaders();var F=C.split("\n");for(var E=0;E<F.length;E++){var B=F[E].indexOf(":");if(B!=-1){I[F[E].substring(0,B)]=F[E].substring(B+2);}}}catch(H){}D.tId=A.tId;D.status=(A.conn.status==1223)?204:A.conn.status;D.statusText=(A.conn.status==1223)?"No Content":A.conn.statusText;D.getResponseHeader=I;D.getAllResponseHeaders=C;D.responseText=A.conn.responseText;D.responseXML=A.conn.responseXML;if(G){D.argument=G;}return D;},createExceptionObject:function(H,D,A){var F=0;var G="communication failure";var C=-1;var B="transaction aborted";var E={};E.tId=H;if(A){E.status=C;E.statusText=B;}else{E.status=F;E.statusText=G;}if(D){E.argument=D;}return E;},initHeader:function(A,D,C){var B=(C)?this._default_headers:this._http_headers;B[A]=D;if(C){this._has_default_headers=true;}else{this._has_http_headers=true;
+}},setHeader:function(A){if(this._has_default_headers){for(var B in this._default_headers){if(YAHOO.lang.hasOwnProperty(this._default_headers,B)){A.conn.setRequestHeader(B,this._default_headers[B]);}}}if(this._has_http_headers){for(var B in this._http_headers){if(YAHOO.lang.hasOwnProperty(this._http_headers,B)){A.conn.setRequestHeader(B,this._http_headers[B]);}}delete this._http_headers;this._http_headers={};this._has_http_headers=false;}},resetDefaultHeaders:function(){delete this._default_headers;this._default_headers={};this._has_default_headers=false;},setForm:function(K,E,B){this.resetFormState();var J;if(typeof K=="string"){J=(document.getElementById(K)||document.forms[K]);}else{if(typeof K=="object"){J=K;}else{return ;}}if(E){var F=this.createFrame((window.location.href.toLowerCase().indexOf("https")===0||B)?true:false);this._isFormSubmit=true;this._isFileUpload=true;this._formNode=J;return ;}var A,I,G,L;var H=false;for(var D=0;D<J.elements.length;D++){A=J.elements[D];L=A.disabled;I=A.name;G=A.value;if(!L&&I){switch(A.type){case"select-one":case"select-multiple":for(var C=0;C<A.options.length;C++){if(A.options[C].selected){if(window.ActiveXObject){this._sFormData+=encodeURIComponent(I)+"="+encodeURIComponent(A.options[C].attributes["value"].specified?A.options[C].value:A.options[C].text)+"&";}else{this._sFormData+=encodeURIComponent(I)+"="+encodeURIComponent(A.options[C].hasAttribute("value")?A.options[C].value:A.options[C].text)+"&";}}}break;case"radio":case"checkbox":if(A.checked){this._sFormData+=encodeURIComponent(I)+"="+encodeURIComponent(G)+"&";}break;case"file":case undefined:case"reset":case"button":break;case"submit":if(H===false){if(this._hasSubmitListener&&this._submitElementValue){this._sFormData+=this._submitElementValue+"&";}else{this._sFormData+=encodeURIComponent(I)+"="+encodeURIComponent(G)+"&";}H=true;}break;default:this._sFormData+=encodeURIComponent(I)+"="+encodeURIComponent(G)+"&";}}}this._isFormSubmit=true;this._sFormData=this._sFormData.substr(0,this._sFormData.length-1);this.initHeader("Content-Type",this._default_form_header);return this._sFormData;},resetFormState:function(){this._isFormSubmit=false;this._isFileUpload=false;this._formNode=null;this._sFormData="";},createFrame:function(A){var B="yuiIO"+this._transaction_id;var C;if(window.ActiveXObject){C=document.createElement("<iframe id=\""+B+"\" name=\""+B+"\" />");if(typeof A=="boolean"){C.src="javascript:false";}}else{C=document.createElement("iframe");C.id=B;C.name=B;}C.style.position="absolute";C.style.top="-1000px";C.style.left="-1000px";document.body.appendChild(C);},appendPostData:function(A){var D=[];var B=A.split("&");for(var C=0;C<B.length;C++){var E=B[C].indexOf("=");if(E!=-1){D[C]=document.createElement("input");D[C].type="hidden";D[C].name=B[C].substring(0,E);D[C].value=B[C].substring(E+1);this._formNode.appendChild(D[C]);}}return D;},uploadFile:function(D,M,E,C){var N=this;var H="yuiIO"+D.tId;var I="multipart/form-data";var K=document.getElementById(H);var J=(M&&M.argument)?M.argument:null;var B={action:this._formNode.getAttribute("action"),method:this._formNode.getAttribute("method"),target:this._formNode.getAttribute("target")};this._formNode.setAttribute("action",E);this._formNode.setAttribute("method","POST");this._formNode.setAttribute("target",H);if(this._formNode.encoding){this._formNode.setAttribute("encoding",I);}else{this._formNode.setAttribute("enctype",I);}if(C){var L=this.appendPostData(C);}this._formNode.submit();this.startEvent.fire(D,J);if(D.startEvent){D.startEvent.fire(D,J);}if(M&&M.timeout){this._timeOut[D.tId]=window.setTimeout(function(){N.abort(D,M,true);},M.timeout);}if(L&&L.length>0){for(var G=0;G<L.length;G++){this._formNode.removeChild(L[G]);}}for(var A in B){if(YAHOO.lang.hasOwnProperty(B,A)){if(B[A]){this._formNode.setAttribute(A,B[A]);}else{this._formNode.removeAttribute(A);}}}this.resetFormState();var F=function(){if(M&&M.timeout){window.clearTimeout(N._timeOut[D.tId]);delete N._timeOut[D.tId];}N.completeEvent.fire(D,J);if(D.completeEvent){D.completeEvent.fire(D,J);}var P={};P.tId=D.tId;P.argument=M.argument;try{P.responseText=K.contentWindow.document.body?K.contentWindow.document.body.innerHTML:K.contentWindow.document.documentElement.textContent;P.responseXML=K.contentWindow.document.XMLDocument?K.contentWindow.document.XMLDocument:K.contentWindow.document;}catch(O){}if(M&&M.upload){if(!M.scope){M.upload(P);}else{M.upload.apply(M.scope,[P]);}}N.uploadEvent.fire(P);if(D.uploadEvent){D.uploadEvent.fire(P);}YAHOO.util.Event.removeListener(K,"load",F);setTimeout(function(){document.body.removeChild(K);N.releaseObject(D);},100);};YAHOO.util.Event.addListener(K,"load",F);},abort:function(E,G,A){var D;var B=(G&&G.argument)?G.argument:null;if(E&&E.conn){if(this.isCallInProgress(E)){E.conn.abort();window.clearInterval(this._poll[E.tId]);delete this._poll[E.tId];if(A){window.clearTimeout(this._timeOut[E.tId]);delete this._timeOut[E.tId];}D=true;}}else{if(E&&E.isUpload===true){var C="yuiIO"+E.tId;var F=document.getElementById(C);if(F){YAHOO.util.Event.removeListener(F,"load");document.body.removeChild(F);if(A){window.clearTimeout(this._timeOut[E.tId]);delete this._timeOut[E.tId];}D=true;}}else{D=false;}}if(D===true){this.abortEvent.fire(E,B);if(E.abortEvent){E.abortEvent.fire(E,B);}this.handleTransactionResponse(E,G,true);}return D;},isCallInProgress:function(B){if(B&&B.conn){return B.conn.readyState!==4&&B.conn.readyState!==0;}else{if(B&&B.isUpload===true){var A="yuiIO"+B.tId;return document.getElementById(A)?true:false;}else{return false;}}},releaseObject:function(A){if(A&&A.conn){A.conn=null;A=null;}}};YAHOO.register("connection",YAHOO.util.Connect,{version:"2.5.1",build:"984"});(function(){var B=YAHOO.util;var A=function(D,C,E,F){if(!D){}this.init(D,C,E,F);};A.NAME="Anim";A.prototype={toString:function(){var C=this.getEl()||{};var D=C.id||C.tagName;return(this.constructor.NAME+": "+D);},patterns:{noNegatives:/width|height|opacity|padding/i,offsetAttribute:/^((width|height)|(top|left))$/,defaultUnit:/width|height|top$|bottom$|left$|right$/i,offsetUnit:/\d+(em|%|en|ex|pt|in|cm|mm|pc)$/i},doMethod:function(C,E,D){return this.method(this.currentFrame,E,D-E,this.totalFrames);},setAttribute:function(C,E,D){if(this.patterns.noNegatives.test(C)){E=(E>0)?E:0;}B.Dom.setStyle(this.getEl(),C,E+D);},getAttribute:function(C){var E=this.getEl();var G=B.Dom.getStyle(E,C);if(G!=="auto"&&!this.patterns.offsetUnit.test(G)){return parseFloat(G);}var D=this.patterns.offsetAttribute.exec(C)||[];var H=!!(D[3]);var F=!!(D[2]);if(F||(B.Dom.getStyle(E,"position")=="absolute"&&H)){G=E["offset"+D[0].charAt(0).toUpperCase()+D[0].substr(1)];}else{G=0;}return G;},getDefaultUnit:function(C){if(this.patterns.defaultUnit.test(C)){return"px";}return"";},setRuntimeAttribute:function(D){var I;var E;var F=this.attributes;this.runtimeAttributes[D]={};var H=function(J){return(typeof J!=="undefined");};if(!H(F[D]["to"])&&!H(F[D]["by"])){return false;}I=(H(F[D]["from"]))?F[D]["from"]:this.getAttribute(D);if(H(F[D]["to"])){E=F[D]["to"];}else{if(H(F[D]["by"])){if(I.constructor==Array){E=[];for(var G=0,C=I.length;G<C;++G){E[G]=I[G]+F[D]["by"][G]*1;}}else{E=I+F[D]["by"]*1;}}}this.runtimeAttributes[D].start=I;this.runtimeAttributes[D].end=E;this.runtimeAttributes[D].unit=(H(F[D].unit))?F[D]["unit"]:this.getDefaultUnit(D);return true;},init:function(E,J,I,C){var D=false;var F=null;var H=0;E=B.Dom.get(E);this.attributes=J||{};this.duration=!YAHOO.lang.isUndefined(I)?I:1;this.method=C||B.Easing.easeNone;this.useSeconds=true;this.currentFrame=0;this.totalFrames=B.AnimMgr.fps;this.setEl=function(M){E=B.Dom.get(M);};this.getEl=function(){return E;};this.isAnimated=function(){return D;};this.getStartTime=function(){return F;};this.runtimeAttributes={};this.animate=function(){if(this.isAnimated()){return false;}this.currentFrame=0;this.totalFrames=(this.useSeconds)?Math.ceil(B.AnimMgr.fps*this.duration):this.duration;if(this.duration===0&&this.useSeconds){this.totalFrames=1;}B.AnimMgr.registerElement(this);return true;};this.stop=function(M){if(!this.isAnimated()){return false;}if(M){this.currentFrame=this.totalFrames;this._onTween.fire();}B.AnimMgr.stop(this);};var L=function(){this.onStart.fire();this.runtimeAttributes={};for(var M in this.attributes){this.setRuntimeAttribute(M);}D=true;H=0;F=new Date();};var K=function(){var O={duration:new Date()-this.getStartTime(),currentFrame:this.currentFrame};O.toString=function(){return("duration: "+O.duration+", currentFrame: "+O.currentFrame);};this.onTween.fire(O);var N=this.runtimeAttributes;for(var M in N){this.setAttribute(M,this.doMethod(M,N[M].start,N[M].end),N[M].unit);}H+=1;};var G=function(){var M=(new Date()-F)/1000;var N={duration:M,frames:H,fps:H/M};N.toString=function(){return("duration: "+N.duration+", frames: "+N.frames+", fps: "+N.fps);};D=false;H=0;this.onComplete.fire(N);};this._onStart=new B.CustomEvent("_start",this,true);this.onStart=new B.CustomEvent("start",this);this.onTween=new B.CustomEvent("tween",this);this._onTween=new B.CustomEvent("_tween",this,true);this.onComplete=new B.CustomEvent("complete",this);this._onComplete=new B.CustomEvent("_complete",this,true);this._onStart.subscribe(L);this._onTween.subscribe(K);this._onComplete.subscribe(G);}};B.Anim=A;})();YAHOO.util.AnimMgr=new function(){var C=null;var B=[];var A=0;this.fps=1000;this.delay=1;this.registerElement=function(F){B[B.length]=F;A+=1;F._onStart.fire();this.start();};this.unRegister=function(G,F){F=F||E(G);if(!G.isAnimated()||F==-1){return false;}G._onComplete.fire();B.splice(F,1);A-=1;if(A<=0){this.stop();}return true;};this.start=function(){if(C===null){C=setInterval(this.run,this.delay);}};this.stop=function(H){if(!H){clearInterval(C);for(var G=0,F=B.length;G<F;++G){this.unRegister(B[0],0);}B=[];C=null;A=0;}else{this.unRegister(H);}};this.run=function(){for(var H=0,F=B.length;H<F;++H){var G=B[H];if(!G||!G.isAnimated()){continue;}if(G.currentFrame<G.totalFrames||G.totalFrames===null){G.currentFrame+=1;if(G.useSeconds){D(G);}G._onTween.fire();}else{YAHOO.util.AnimMgr.stop(G,H);}}};var E=function(H){for(var G=0,F=B.length;G<F;++G){if(B[G]==H){return G;}}return -1;};var D=function(G){var J=G.totalFrames;var I=G.currentFrame;var H=(G.currentFrame*G.duration*1000/G.totalFrames);var F=(new Date()-G.getStartTime());var K=0;if(F<G.duration*1000){K=Math.round((F/H-1)*G.currentFrame);}else{K=J-(I+1);}if(K>0&&isFinite(K)){if(G.currentFrame+K>=J){K=J-(I+1);}G.currentFrame+=K;}};};YAHOO.util.Bezier=new function(){this.getPosition=function(E,D){var F=E.length;var C=[];for(var B=0;B<F;++B){C[B]=[E[B][0],E[B][1]];}for(var A=1;A<F;++A){for(B=0;B<F-A;++B){C[B][0]=(1-D)*C[B][0]+D*C[parseInt(B+1,10)][0];C[B][1]=(1-D)*C[B][1]+D*C[parseInt(B+1,10)][1];}}return[C[0][0],C[0][1]];};};(function(){var A=function(F,E,G,H){A.superclass.constructor.call(this,F,E,G,H);};A.NAME="ColorAnim";var C=YAHOO.util;YAHOO.extend(A,C.Anim);var D=A.superclass;var B=A.prototype;B.patterns.color=/color$/i;B.patterns.rgb=/^rgb\(([0-9]+)\s*,\s*([0-9]+)\s*,\s*([0-9]+)\)$/i;B.patterns.hex=/^#?([0-9A-F]{2})([0-9A-F]{2})([0-9A-F]{2})$/i;B.patterns.hex3=/^#?([0-9A-F]{1})([0-9A-F]{1})([0-9A-F]{1})$/i;B.patterns.transparent=/^transparent|rgba\(0, 0, 0, 0\)$/;B.parseColor=function(E){if(E.length==3){return E;}var F=this.patterns.hex.exec(E);if(F&&F.length==4){return[parseInt(F[1],16),parseInt(F[2],16),parseInt(F[3],16)];}F=this.patterns.rgb.exec(E);if(F&&F.length==4){return[parseInt(F[1],10),parseInt(F[2],10),parseInt(F[3],10)];}F=this.patterns.hex3.exec(E);if(F&&F.length==4){return[parseInt(F[1]+F[1],16),parseInt(F[2]+F[2],16),parseInt(F[3]+F[3],16)];}return null;};B.getAttribute=function(E){var G=this.getEl();if(this.patterns.color.test(E)){var H=YAHOO.util.Dom.getStyle(G,E);
+if(this.patterns.transparent.test(H)){var F=G.parentNode;H=C.Dom.getStyle(F,E);while(F&&this.patterns.transparent.test(H)){F=F.parentNode;H=C.Dom.getStyle(F,E);if(F.tagName.toUpperCase()=="HTML"){H="#fff";}}}}else{H=D.getAttribute.call(this,E);}return H;};B.doMethod=function(F,J,G){var I;if(this.patterns.color.test(F)){I=[];for(var H=0,E=J.length;H<E;++H){I[H]=D.doMethod.call(this,F,J[H],G[H]);}I="rgb("+Math.floor(I[0])+","+Math.floor(I[1])+","+Math.floor(I[2])+")";}else{I=D.doMethod.call(this,F,J,G);}return I;};B.setRuntimeAttribute=function(F){D.setRuntimeAttribute.call(this,F);if(this.patterns.color.test(F)){var H=this.attributes;var J=this.parseColor(this.runtimeAttributes[F].start);var G=this.parseColor(this.runtimeAttributes[F].end);if(typeof H[F]["to"]==="undefined"&&typeof H[F]["by"]!=="undefined"){G=this.parseColor(H[F].by);for(var I=0,E=J.length;I<E;++I){G[I]=J[I]+G[I];}}this.runtimeAttributes[F].start=J;this.runtimeAttributes[F].end=G;}};C.ColorAnim=A;})();
+/*
+TERMS OF USE - EASING EQUATIONS
+Open source under the BSD License.
+Copyright 2001 Robert Penner All rights reserved.
+
+Redistribution and use 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 the author nor the names of contributors may be used to endorse or promote products derived from this software without specific prior written permission.
+
+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.
+*/
+YAHOO.util.Easing={easeNone:function(B,A,D,C){return D*B/C+A;},easeIn:function(B,A,D,C){return D*(B/=C)*B+A;},easeOut:function(B,A,D,C){return -D*(B/=C)*(B-2)+A;},easeBoth:function(B,A,D,C){if((B/=C/2)<1){return D/2*B*B+A;}return -D/2*((--B)*(B-2)-1)+A;},easeInStrong:function(B,A,D,C){return D*(B/=C)*B*B*B+A;},easeOutStrong:function(B,A,D,C){return -D*((B=B/C-1)*B*B*B-1)+A;},easeBothStrong:function(B,A,D,C){if((B/=C/2)<1){return D/2*B*B*B*B+A;}return -D/2*((B-=2)*B*B*B-2)+A;},elasticIn:function(C,A,G,F,B,E){if(C==0){return A;}if((C/=F)==1){return A+G;}if(!E){E=F*0.3;}if(!B||B<Math.abs(G)){B=G;var D=E/4;}else{var D=E/(2*Math.PI)*Math.asin(G/B);}return -(B*Math.pow(2,10*(C-=1))*Math.sin((C*F-D)*(2*Math.PI)/E))+A;},elasticOut:function(C,A,G,F,B,E){if(C==0){return A;}if((C/=F)==1){return A+G;}if(!E){E=F*0.3;}if(!B||B<Math.abs(G)){B=G;var D=E/4;}else{var D=E/(2*Math.PI)*Math.asin(G/B);}return B*Math.pow(2,-10*C)*Math.sin((C*F-D)*(2*Math.PI)/E)+G+A;},elasticBoth:function(C,A,G,F,B,E){if(C==0){return A;}if((C/=F/2)==2){return A+G;}if(!E){E=F*(0.3*1.5);}if(!B||B<Math.abs(G)){B=G;var D=E/4;}else{var D=E/(2*Math.PI)*Math.asin(G/B);}if(C<1){return -0.5*(B*Math.pow(2,10*(C-=1))*Math.sin((C*F-D)*(2*Math.PI)/E))+A;}return B*Math.pow(2,-10*(C-=1))*Math.sin((C*F-D)*(2*Math.PI)/E)*0.5+G+A;},backIn:function(B,A,E,D,C){if(typeof C=="undefined"){C=1.70158;}return E*(B/=D)*B*((C+1)*B-C)+A;},backOut:function(B,A,E,D,C){if(typeof C=="undefined"){C=1.70158;}return E*((B=B/D-1)*B*((C+1)*B+C)+1)+A;},backBoth:function(B,A,E,D,C){if(typeof C=="undefined"){C=1.70158;}if((B/=D/2)<1){return E/2*(B*B*(((C*=(1.525))+1)*B-C))+A;}return E/2*((B-=2)*B*(((C*=(1.525))+1)*B+C)+2)+A;},bounceIn:function(B,A,D,C){return D-YAHOO.util.Easing.bounceOut(C-B,0,D,C)+A;},bounceOut:function(B,A,D,C){if((B/=C)<(1/2.75)){return D*(7.5625*B*B)+A;}else{if(B<(2/2.75)){return D*(7.5625*(B-=(1.5/2.75))*B+0.75)+A;}else{if(B<(2.5/2.75)){return D*(7.5625*(B-=(2.25/2.75))*B+0.9375)+A;}}}return D*(7.5625*(B-=(2.625/2.75))*B+0.984375)+A;},bounceBoth:function(B,A,D,C){if(B<C/2){return YAHOO.util.Easing.bounceIn(B*2,0,D,C)*0.5+A;}return YAHOO.util.Easing.bounceOut(B*2-C,0,D,C)*0.5+D*0.5+A;}};(function(){var A=function(H,G,I,J){if(H){A.superclass.constructor.call(this,H,G,I,J);}};A.NAME="Motion";var E=YAHOO.util;YAHOO.extend(A,E.ColorAnim);var F=A.superclass;var C=A.prototype;C.patterns.points=/^points$/i;C.setAttribute=function(G,I,H){if(this.patterns.points.test(G)){H=H||"px";F.setAttribute.call(this,"left",I[0],H);F.setAttribute.call(this,"top",I[1],H);}else{F.setAttribute.call(this,G,I,H);}};C.getAttribute=function(G){if(this.patterns.points.test(G)){var H=[F.getAttribute.call(this,"left"),F.getAttribute.call(this,"top")];}else{H=F.getAttribute.call(this,G);}return H;};C.doMethod=function(G,K,H){var J=null;if(this.patterns.points.test(G)){var I=this.method(this.currentFrame,0,100,this.totalFrames)/100;J=E.Bezier.getPosition(this.runtimeAttributes[G],I);}else{J=F.doMethod.call(this,G,K,H);}return J;};C.setRuntimeAttribute=function(P){if(this.patterns.points.test(P)){var H=this.getEl();var J=this.attributes;var G;var L=J["points"]["control"]||[];var I;var M,O;if(L.length>0&&!(L[0] instanceof Array)){L=[L];}else{var K=[];for(M=0,O=L.length;M<O;++M){K[M]=L[M];}L=K;}if(E.Dom.getStyle(H,"position")=="static"){E.Dom.setStyle(H,"position","relative");}if(D(J["points"]["from"])){E.Dom.setXY(H,J["points"]["from"]);}else{E.Dom.setXY(H,E.Dom.getXY(H));}G=this.getAttribute("points");if(D(J["points"]["to"])){I=B.call(this,J["points"]["to"],G);
+var N=E.Dom.getXY(this.getEl());for(M=0,O=L.length;M<O;++M){L[M]=B.call(this,L[M],G);}}else{if(D(J["points"]["by"])){I=[G[0]+J["points"]["by"][0],G[1]+J["points"]["by"][1]];for(M=0,O=L.length;M<O;++M){L[M]=[G[0]+L[M][0],G[1]+L[M][1]];}}}this.runtimeAttributes[P]=[G];if(L.length>0){this.runtimeAttributes[P]=this.runtimeAttributes[P].concat(L);}this.runtimeAttributes[P][this.runtimeAttributes[P].length]=I;}else{F.setRuntimeAttribute.call(this,P);}};var B=function(G,I){var H=E.Dom.getXY(this.getEl());G=[G[0]-H[0]+I[0],G[1]-H[1]+I[1]];return G;};var D=function(G){return(typeof G!=="undefined");};E.Motion=A;})();(function(){var D=function(F,E,G,H){if(F){D.superclass.constructor.call(this,F,E,G,H);}};D.NAME="Scroll";var B=YAHOO.util;YAHOO.extend(D,B.ColorAnim);var C=D.superclass;var A=D.prototype;A.doMethod=function(E,H,F){var G=null;if(E=="scroll"){G=[this.method(this.currentFrame,H[0],F[0]-H[0],this.totalFrames),this.method(this.currentFrame,H[1],F[1]-H[1],this.totalFrames)];}else{G=C.doMethod.call(this,E,H,F);}return G;};A.getAttribute=function(E){var G=null;var F=this.getEl();if(E=="scroll"){G=[F.scrollLeft,F.scrollTop];}else{G=C.getAttribute.call(this,E);}return G;};A.setAttribute=function(E,H,G){var F=this.getEl();if(E=="scroll"){F.scrollLeft=H[0];F.scrollTop=H[1];}else{C.setAttribute.call(this,E,H,G);}};B.Scroll=D;})();YAHOO.register("animation",YAHOO.util.Anim,{version:"2.5.1",build:"984"});if(!YAHOO.util.DragDropMgr){YAHOO.util.DragDropMgr=function(){var A=YAHOO.util.Event;return{ids:{},handleIds:{},dragCurrent:null,dragOvers:{},deltaX:0,deltaY:0,preventDefault:true,stopPropagation:true,initialized:false,locked:false,interactionInfo:null,init:function(){this.initialized=true;},POINT:0,INTERSECT:1,STRICT_INTERSECT:2,mode:0,_execOnAll:function(D,C){for(var E in this.ids){for(var B in this.ids[E]){var F=this.ids[E][B];if(!this.isTypeOfDD(F)){continue;}F[D].apply(F,C);}}},_onLoad:function(){this.init();A.on(document,"mouseup",this.handleMouseUp,this,true);A.on(document,"mousemove",this.handleMouseMove,this,true);A.on(window,"unload",this._onUnload,this,true);A.on(window,"resize",this._onResize,this,true);},_onResize:function(B){this._execOnAll("resetConstraints",[]);},lock:function(){this.locked=true;},unlock:function(){this.locked=false;},isLocked:function(){return this.locked;},locationCache:{},useCache:true,clickPixelThresh:3,clickTimeThresh:1000,dragThreshMet:false,clickTimeout:null,startX:0,startY:0,fromTimeout:false,regDragDrop:function(C,B){if(!this.initialized){this.init();}if(!this.ids[B]){this.ids[B]={};}this.ids[B][C.id]=C;},removeDDFromGroup:function(D,B){if(!this.ids[B]){this.ids[B]={};}var C=this.ids[B];if(C&&C[D.id]){delete C[D.id];}},_remove:function(C){for(var B in C.groups){if(B&&this.ids[B][C.id]){delete this.ids[B][C.id];}}delete this.handleIds[C.id];},regHandle:function(C,B){if(!this.handleIds[C]){this.handleIds[C]={};}this.handleIds[C][B]=B;},isDragDrop:function(B){return(this.getDDById(B))?true:false;},getRelated:function(G,C){var F=[];for(var E in G.groups){for(var D in this.ids[E]){var B=this.ids[E][D];if(!this.isTypeOfDD(B)){continue;}if(!C||B.isTarget){F[F.length]=B;}}}return F;},isLegalTarget:function(F,E){var C=this.getRelated(F,true);for(var D=0,B=C.length;D<B;++D){if(C[D].id==E.id){return true;}}return false;},isTypeOfDD:function(B){return(B&&B.__ygDragDrop);},isHandle:function(C,B){return(this.handleIds[C]&&this.handleIds[C][B]);},getDDById:function(C){for(var B in this.ids){if(this.ids[B][C]){return this.ids[B][C];}}return null;},handleMouseDown:function(D,C){this.currentTarget=YAHOO.util.Event.getTarget(D);this.dragCurrent=C;var B=C.getEl();this.startX=YAHOO.util.Event.getPageX(D);this.startY=YAHOO.util.Event.getPageY(D);this.deltaX=this.startX-B.offsetLeft;this.deltaY=this.startY-B.offsetTop;this.dragThreshMet=false;this.clickTimeout=setTimeout(function(){var E=YAHOO.util.DDM;E.startDrag(E.startX,E.startY);E.fromTimeout=true;},this.clickTimeThresh);},startDrag:function(B,D){clearTimeout(this.clickTimeout);var C=this.dragCurrent;if(C&&C.events.b4StartDrag){C.b4StartDrag(B,D);C.fireEvent("b4StartDragEvent",{x:B,y:D});}if(C&&C.events.startDrag){C.startDrag(B,D);C.fireEvent("startDragEvent",{x:B,y:D});}this.dragThreshMet=true;},handleMouseUp:function(B){if(this.dragCurrent){clearTimeout(this.clickTimeout);if(this.dragThreshMet){if(this.fromTimeout){this.handleMouseMove(B);}this.fromTimeout=false;this.fireEvents(B,true);}else{}this.stopDrag(B);this.stopEvent(B);}},stopEvent:function(B){if(this.stopPropagation){YAHOO.util.Event.stopPropagation(B);}if(this.preventDefault){YAHOO.util.Event.preventDefault(B);}},stopDrag:function(D,C){var B=this.dragCurrent;if(B&&!C){if(this.dragThreshMet){if(B.events.b4EndDrag){B.b4EndDrag(D);B.fireEvent("b4EndDragEvent",{e:D});}if(B.events.endDrag){B.endDrag(D);B.fireEvent("endDragEvent",{e:D});}}if(B.events.mouseUp){B.onMouseUp(D);B.fireEvent("mouseUpEvent",{e:D});}}this.dragCurrent=null;this.dragOvers={};},handleMouseMove:function(E){var B=this.dragCurrent;if(B){if(YAHOO.util.Event.isIE&&!E.button){this.stopEvent(E);return this.handleMouseUp(E);}else{if(E.clientX<0||E.clientY<0){}}if(!this.dragThreshMet){var D=Math.abs(this.startX-YAHOO.util.Event.getPageX(E));var C=Math.abs(this.startY-YAHOO.util.Event.getPageY(E));if(D>this.clickPixelThresh||C>this.clickPixelThresh){this.startDrag(this.startX,this.startY);}}if(this.dragThreshMet){if(B&&B.events.b4Drag){B.b4Drag(E);B.fireEvent("b4DragEvent",{e:E});}if(B&&B.events.drag){B.onDrag(E);B.fireEvent("dragEvent",{e:E});}if(B){this.fireEvents(E,false);}}this.stopEvent(E);}},fireEvents:function(U,K){var Z=this.dragCurrent;if(!Z||Z.isLocked()||Z.dragOnly){return ;}var M=YAHOO.util.Event.getPageX(U),L=YAHOO.util.Event.getPageY(U),O=new YAHOO.util.Point(M,L),J=Z.getTargetCoord(O.x,O.y),E=Z.getDragEl(),D=["out","over","drop","enter"],T=new YAHOO.util.Region(J.y,J.x+E.offsetWidth,J.y+E.offsetHeight,J.x),H=[],C={},P=[],a={outEvts:[],overEvts:[],dropEvts:[],enterEvts:[]};for(var R in this.dragOvers){var c=this.dragOvers[R];if(!this.isTypeOfDD(c)){continue;}if(!this.isOverTarget(O,c,this.mode,T)){a.outEvts.push(c);}H[R]=true;delete this.dragOvers[R];}for(var Q in Z.groups){if("string"!=typeof Q){continue;}for(R in this.ids[Q]){var F=this.ids[Q][R];if(!this.isTypeOfDD(F)){continue;}if(F.isTarget&&!F.isLocked()&&F!=Z){if(this.isOverTarget(O,F,this.mode,T)){C[Q]=true;if(K){a.dropEvts.push(F);}else{if(!H[F.id]){a.enterEvts.push(F);}else{a.overEvts.push(F);}this.dragOvers[F.id]=F;}}}}}this.interactionInfo={out:a.outEvts,enter:a.enterEvts,over:a.overEvts,drop:a.dropEvts,point:O,draggedRegion:T,sourceRegion:this.locationCache[Z.id],validDrop:K};for(var B in C){P.push(B);}if(K&&!a.dropEvts.length){this.interactionInfo.validDrop=false;if(Z.events.invalidDrop){Z.onInvalidDrop(U);Z.fireEvent("invalidDropEvent",{e:U});}}for(R=0;R<D.length;R++){var X=null;if(a[D[R]+"Evts"]){X=a[D[R]+"Evts"];}if(X&&X.length){var G=D[R].charAt(0).toUpperCase()+D[R].substr(1),W="onDrag"+G,I="b4Drag"+G,N="drag"+G+"Event",V="drag"+G;if(this.mode){if(Z.events[I]){Z[I](U,X,P);Z.fireEvent(I+"Event",{event:U,info:X,group:P});}if(Z.events[V]){Z[W](U,X,P);Z.fireEvent(N,{event:U,info:X,group:P});}}else{for(var Y=0,S=X.length;Y<S;++Y){if(Z.events[I]){Z[I](U,X[Y].id,P[0]);Z.fireEvent(I+"Event",{event:U,info:X[Y].id,group:P[0]});}if(Z.events[V]){Z[W](U,X[Y].id,P[0]);Z.fireEvent(N,{event:U,info:X[Y].id,group:P[0]});}}}}}},getBestMatch:function(D){var F=null;
+var C=D.length;if(C==1){F=D[0];}else{for(var E=0;E<C;++E){var B=D[E];if(this.mode==this.INTERSECT&&B.cursorIsOver){F=B;break;}else{if(!F||!F.overlap||(B.overlap&&F.overlap.getArea()<B.overlap.getArea())){F=B;}}}}return F;},refreshCache:function(C){var E=C||this.ids;for(var B in E){if("string"!=typeof B){continue;}for(var D in this.ids[B]){var F=this.ids[B][D];if(this.isTypeOfDD(F)){var G=this.getLocation(F);if(G){this.locationCache[F.id]=G;}else{delete this.locationCache[F.id];}}}}},verifyEl:function(C){try{if(C){var B=C.offsetParent;if(B){return true;}}}catch(D){}return false;},getLocation:function(G){if(!this.isTypeOfDD(G)){return null;}var E=G.getEl(),J,D,C,L,K,M,B,I,F;try{J=YAHOO.util.Dom.getXY(E);}catch(H){}if(!J){return null;}D=J[0];C=D+E.offsetWidth;L=J[1];K=L+E.offsetHeight;M=L-G.padding[0];B=C+G.padding[1];I=K+G.padding[2];F=D-G.padding[3];return new YAHOO.util.Region(M,B,I,F);},isOverTarget:function(J,B,D,E){var F=this.locationCache[B.id];if(!F||!this.useCache){F=this.getLocation(B);this.locationCache[B.id]=F;}if(!F){return false;}B.cursorIsOver=F.contains(J);var I=this.dragCurrent;if(!I||(!D&&!I.constrainX&&!I.constrainY)){return B.cursorIsOver;}B.overlap=null;if(!E){var G=I.getTargetCoord(J.x,J.y);var C=I.getDragEl();E=new YAHOO.util.Region(G.y,G.x+C.offsetWidth,G.y+C.offsetHeight,G.x);}var H=E.intersect(F);if(H){B.overlap=H;return(D)?true:B.cursorIsOver;}else{return false;}},_onUnload:function(C,B){this.unregAll();},unregAll:function(){if(this.dragCurrent){this.stopDrag();this.dragCurrent=null;}this._execOnAll("unreg",[]);this.ids={};},elementCache:{},getElWrapper:function(C){var B=this.elementCache[C];if(!B||!B.el){B=this.elementCache[C]=new this.ElementWrapper(YAHOO.util.Dom.get(C));}return B;},getElement:function(B){return YAHOO.util.Dom.get(B);},getCss:function(C){var B=YAHOO.util.Dom.get(C);return(B)?B.style:null;},ElementWrapper:function(B){this.el=B||null;this.id=this.el&&B.id;this.css=this.el&&B.style;},getPosX:function(B){return YAHOO.util.Dom.getX(B);},getPosY:function(B){return YAHOO.util.Dom.getY(B);},swapNode:function(D,B){if(D.swapNode){D.swapNode(B);}else{var E=B.parentNode;var C=B.nextSibling;if(C==D){E.insertBefore(D,B);}else{if(B==D.nextSibling){E.insertBefore(B,D);}else{D.parentNode.replaceChild(B,D);E.insertBefore(D,C);}}}},getScroll:function(){var D,B,E=document.documentElement,C=document.body;if(E&&(E.scrollTop||E.scrollLeft)){D=E.scrollTop;B=E.scrollLeft;}else{if(C){D=C.scrollTop;B=C.scrollLeft;}else{}}return{top:D,left:B};},getStyle:function(C,B){return YAHOO.util.Dom.getStyle(C,B);},getScrollTop:function(){return this.getScroll().top;},getScrollLeft:function(){return this.getScroll().left;},moveToEl:function(B,D){var C=YAHOO.util.Dom.getXY(D);YAHOO.util.Dom.setXY(B,C);},getClientHeight:function(){return YAHOO.util.Dom.getViewportHeight();},getClientWidth:function(){return YAHOO.util.Dom.getViewportWidth();},numericSort:function(C,B){return(C-B);},_timeoutCount:0,_addListeners:function(){var B=YAHOO.util.DDM;if(YAHOO.util.Event&&document){B._onLoad();}else{if(B._timeoutCount>2000){}else{setTimeout(B._addListeners,10);if(document&&document.body){B._timeoutCount+=1;}}}},handleWasClicked:function(B,D){if(this.isHandle(D,B.id)){return true;}else{var C=B.parentNode;while(C){if(this.isHandle(D,C.id)){return true;}else{C=C.parentNode;}}}return false;}};}();YAHOO.util.DDM=YAHOO.util.DragDropMgr;YAHOO.util.DDM._addListeners();}(function(){var A=YAHOO.util.Event;var B=YAHOO.util.Dom;YAHOO.util.DragDrop=function(E,C,D){if(E){this.init(E,C,D);}};YAHOO.util.DragDrop.prototype={events:null,on:function(){this.subscribe.apply(this,arguments);},id:null,config:null,dragElId:null,handleElId:null,invalidHandleTypes:null,invalidHandleIds:null,invalidHandleClasses:null,startPageX:0,startPageY:0,groups:null,locked:false,lock:function(){this.locked=true;},unlock:function(){this.locked=false;},isTarget:true,padding:null,dragOnly:false,_domRef:null,__ygDragDrop:true,constrainX:false,constrainY:false,minX:0,maxX:0,minY:0,maxY:0,deltaX:0,deltaY:0,maintainOffset:false,xTicks:null,yTicks:null,primaryButtonOnly:true,available:false,hasOuterHandles:false,cursorIsOver:false,overlap:null,b4StartDrag:function(C,D){},startDrag:function(C,D){},b4Drag:function(C){},onDrag:function(C){},onDragEnter:function(C,D){},b4DragOver:function(C){},onDragOver:function(C,D){},b4DragOut:function(C){},onDragOut:function(C,D){},b4DragDrop:function(C){},onDragDrop:function(C,D){},onInvalidDrop:function(C){},b4EndDrag:function(C){},endDrag:function(C){},b4MouseDown:function(C){},onMouseDown:function(C){},onMouseUp:function(C){},onAvailable:function(){},getEl:function(){if(!this._domRef){this._domRef=B.get(this.id);}return this._domRef;},getDragEl:function(){return B.get(this.dragElId);},init:function(F,C,D){this.initTarget(F,C,D);A.on(this._domRef||this.id,"mousedown",this.handleMouseDown,this,true);for(var E in this.events){this.createEvent(E+"Event");}},initTarget:function(E,C,D){this.config=D||{};this.events={};this.DDM=YAHOO.util.DDM;this.groups={};if(typeof E!=="string"){this._domRef=E;E=B.generateId(E);}this.id=E;this.addToGroup((C)?C:"default");this.handleElId=E;A.onAvailable(E,this.handleOnAvailable,this,true);this.setDragElId(E);this.invalidHandleTypes={A:"A"};this.invalidHandleIds={};this.invalidHandleClasses=[];this.applyConfig();},applyConfig:function(){this.events={mouseDown:true,b4MouseDown:true,mouseUp:true,b4StartDrag:true,startDrag:true,b4EndDrag:true,endDrag:true,drag:true,b4Drag:true,invalidDrop:true,b4DragOut:true,dragOut:true,dragEnter:true,b4DragOver:true,dragOver:true,b4DragDrop:true,dragDrop:true};if(this.config.events){for(var C in this.config.events){if(this.config.events[C]===false){this.events[C]=false;}}}this.padding=this.config.padding||[0,0,0,0];this.isTarget=(this.config.isTarget!==false);this.maintainOffset=(this.config.maintainOffset);this.primaryButtonOnly=(this.config.primaryButtonOnly!==false);this.dragOnly=((this.config.dragOnly===true)?true:false);},handleOnAvailable:function(){this.available=true;
+this.resetConstraints();this.onAvailable();},setPadding:function(E,C,F,D){if(!C&&0!==C){this.padding=[E,E,E,E];}else{if(!F&&0!==F){this.padding=[E,C,E,C];}else{this.padding=[E,C,F,D];}}},setInitPosition:function(F,E){var G=this.getEl();if(!this.DDM.verifyEl(G)){if(G&&G.style&&(G.style.display=="none")){}else{}return ;}var D=F||0;var C=E||0;var H=B.getXY(G);this.initPageX=H[0]-D;this.initPageY=H[1]-C;this.lastPageX=H[0];this.lastPageY=H[1];this.setStartPosition(H);},setStartPosition:function(D){var C=D||B.getXY(this.getEl());this.deltaSetXY=null;this.startPageX=C[0];this.startPageY=C[1];},addToGroup:function(C){this.groups[C]=true;this.DDM.regDragDrop(this,C);},removeFromGroup:function(C){if(this.groups[C]){delete this.groups[C];}this.DDM.removeDDFromGroup(this,C);},setDragElId:function(C){this.dragElId=C;},setHandleElId:function(C){if(typeof C!=="string"){C=B.generateId(C);}this.handleElId=C;this.DDM.regHandle(this.id,C);},setOuterHandleElId:function(C){if(typeof C!=="string"){C=B.generateId(C);}A.on(C,"mousedown",this.handleMouseDown,this,true);this.setHandleElId(C);this.hasOuterHandles=true;},unreg:function(){A.removeListener(this.id,"mousedown",this.handleMouseDown);this._domRef=null;this.DDM._remove(this);},isLocked:function(){return(this.DDM.isLocked()||this.locked);},handleMouseDown:function(H,G){var D=H.which||H.button;if(this.primaryButtonOnly&&D>1){return ;}if(this.isLocked()){return ;}var C=this.b4MouseDown(H);if(this.events.b4MouseDown){C=this.fireEvent("b4MouseDownEvent",H);}var E=this.onMouseDown(H);if(this.events.mouseDown){E=this.fireEvent("mouseDownEvent",H);}if((C===false)||(E===false)){return ;}this.DDM.refreshCache(this.groups);var F=new YAHOO.util.Point(A.getPageX(H),A.getPageY(H));if(!this.hasOuterHandles&&!this.DDM.isOverTarget(F,this)){}else{if(this.clickValidator(H)){this.setStartPosition();this.DDM.handleMouseDown(H,this);this.DDM.stopEvent(H);}else{}}},clickValidator:function(D){var C=YAHOO.util.Event.getTarget(D);return(this.isValidHandleChild(C)&&(this.id==this.handleElId||this.DDM.handleWasClicked(C,this.id)));},getTargetCoord:function(E,D){var C=E-this.deltaX;var F=D-this.deltaY;if(this.constrainX){if(C<this.minX){C=this.minX;}if(C>this.maxX){C=this.maxX;}}if(this.constrainY){if(F<this.minY){F=this.minY;}if(F>this.maxY){F=this.maxY;}}C=this.getTick(C,this.xTicks);F=this.getTick(F,this.yTicks);return{x:C,y:F};},addInvalidHandleType:function(C){var D=C.toUpperCase();this.invalidHandleTypes[D]=D;},addInvalidHandleId:function(C){if(typeof C!=="string"){C=B.generateId(C);}this.invalidHandleIds[C]=C;},addInvalidHandleClass:function(C){this.invalidHandleClasses.push(C);},removeInvalidHandleType:function(C){var D=C.toUpperCase();delete this.invalidHandleTypes[D];},removeInvalidHandleId:function(C){if(typeof C!=="string"){C=B.generateId(C);}delete this.invalidHandleIds[C];},removeInvalidHandleClass:function(D){for(var E=0,C=this.invalidHandleClasses.length;E<C;++E){if(this.invalidHandleClasses[E]==D){delete this.invalidHandleClasses[E];}}},isValidHandleChild:function(F){var E=true;var H;try{H=F.nodeName.toUpperCase();}catch(G){H=F.nodeName;}E=E&&!this.invalidHandleTypes[H];E=E&&!this.invalidHandleIds[F.id];for(var D=0,C=this.invalidHandleClasses.length;E&&D<C;++D){E=!B.hasClass(F,this.invalidHandleClasses[D]);}return E;},setXTicks:function(F,C){this.xTicks=[];this.xTickSize=C;var E={};for(var D=this.initPageX;D>=this.minX;D=D-C){if(!E[D]){this.xTicks[this.xTicks.length]=D;E[D]=true;}}for(D=this.initPageX;D<=this.maxX;D=D+C){if(!E[D]){this.xTicks[this.xTicks.length]=D;E[D]=true;}}this.xTicks.sort(this.DDM.numericSort);},setYTicks:function(F,C){this.yTicks=[];this.yTickSize=C;var E={};for(var D=this.initPageY;D>=this.minY;D=D-C){if(!E[D]){this.yTicks[this.yTicks.length]=D;E[D]=true;}}for(D=this.initPageY;D<=this.maxY;D=D+C){if(!E[D]){this.yTicks[this.yTicks.length]=D;E[D]=true;}}this.yTicks.sort(this.DDM.numericSort);},setXConstraint:function(E,D,C){this.leftConstraint=parseInt(E,10);this.rightConstraint=parseInt(D,10);this.minX=this.initPageX-this.leftConstraint;this.maxX=this.initPageX+this.rightConstraint;if(C){this.setXTicks(this.initPageX,C);}this.constrainX=true;},clearConstraints:function(){this.constrainX=false;this.constrainY=false;this.clearTicks();},clearTicks:function(){this.xTicks=null;this.yTicks=null;this.xTickSize=0;this.yTickSize=0;},setYConstraint:function(C,E,D){this.topConstraint=parseInt(C,10);this.bottomConstraint=parseInt(E,10);this.minY=this.initPageY-this.topConstraint;this.maxY=this.initPageY+this.bottomConstraint;if(D){this.setYTicks(this.initPageY,D);}this.constrainY=true;},resetConstraints:function(){if(this.initPageX||this.initPageX===0){var D=(this.maintainOffset)?this.lastPageX-this.initPageX:0;var C=(this.maintainOffset)?this.lastPageY-this.initPageY:0;this.setInitPosition(D,C);}else{this.setInitPosition();}if(this.constrainX){this.setXConstraint(this.leftConstraint,this.rightConstraint,this.xTickSize);}if(this.constrainY){this.setYConstraint(this.topConstraint,this.bottomConstraint,this.yTickSize);}},getTick:function(I,F){if(!F){return I;}else{if(F[0]>=I){return F[0];}else{for(var D=0,C=F.length;D<C;++D){var E=D+1;if(F[E]&&F[E]>=I){var H=I-F[D];var G=F[E]-I;return(G>H)?F[D]:F[E];}}return F[F.length-1];}}},toString:function(){return("DragDrop "+this.id);}};YAHOO.augment(YAHOO.util.DragDrop,YAHOO.util.EventProvider);})();YAHOO.util.DD=function(C,A,B){if(C){this.init(C,A,B);}};YAHOO.extend(YAHOO.util.DD,YAHOO.util.DragDrop,{scroll:true,autoOffset:function(C,B){var A=C-this.startPageX;var D=B-this.startPageY;this.setDelta(A,D);},setDelta:function(B,A){this.deltaX=B;this.deltaY=A;},setDragElPos:function(C,B){var A=this.getDragEl();this.alignElWithMouse(A,C,B);},alignElWithMouse:function(C,G,F){var E=this.getTargetCoord(G,F);if(!this.deltaSetXY){var H=[E.x,E.y];YAHOO.util.Dom.setXY(C,H);var D=parseInt(YAHOO.util.Dom.getStyle(C,"left"),10);var B=parseInt(YAHOO.util.Dom.getStyle(C,"top"),10);this.deltaSetXY=[D-E.x,B-E.y];}else{YAHOO.util.Dom.setStyle(C,"left",(E.x+this.deltaSetXY[0])+"px");
+YAHOO.util.Dom.setStyle(C,"top",(E.y+this.deltaSetXY[1])+"px");}this.cachePosition(E.x,E.y);var A=this;setTimeout(function(){A.autoScroll.call(A,E.x,E.y,C.offsetHeight,C.offsetWidth);},0);},cachePosition:function(B,A){if(B){this.lastPageX=B;this.lastPageY=A;}else{var C=YAHOO.util.Dom.getXY(this.getEl());this.lastPageX=C[0];this.lastPageY=C[1];}},autoScroll:function(J,I,E,K){if(this.scroll){var L=this.DDM.getClientHeight();var B=this.DDM.getClientWidth();var N=this.DDM.getScrollTop();var D=this.DDM.getScrollLeft();var H=E+I;var M=K+J;var G=(L+N-I-this.deltaY);var F=(B+D-J-this.deltaX);var C=40;var A=(document.all)?80:30;if(H>L&&G<C){window.scrollTo(D,N+A);}if(I<N&&N>0&&I-N<C){window.scrollTo(D,N-A);}if(M>B&&F<C){window.scrollTo(D+A,N);}if(J<D&&D>0&&J-D<C){window.scrollTo(D-A,N);}}},applyConfig:function(){YAHOO.util.DD.superclass.applyConfig.call(this);this.scroll=(this.config.scroll!==false);},b4MouseDown:function(A){this.setStartPosition();this.autoOffset(YAHOO.util.Event.getPageX(A),YAHOO.util.Event.getPageY(A));},b4Drag:function(A){this.setDragElPos(YAHOO.util.Event.getPageX(A),YAHOO.util.Event.getPageY(A));},toString:function(){return("DD "+this.id);}});YAHOO.util.DDProxy=function(C,A,B){if(C){this.init(C,A,B);this.initFrame();}};YAHOO.util.DDProxy.dragElId="ygddfdiv";YAHOO.extend(YAHOO.util.DDProxy,YAHOO.util.DD,{resizeFrame:true,centerFrame:false,createFrame:function(){var B=this,A=document.body;if(!A||!A.firstChild){setTimeout(function(){B.createFrame();},50);return ;}var G=this.getDragEl(),E=YAHOO.util.Dom;if(!G){G=document.createElement("div");G.id=this.dragElId;var D=G.style;D.position="absolute";D.visibility="hidden";D.cursor="move";D.border="2px solid #aaa";D.zIndex=999;D.height="25px";D.width="25px";var C=document.createElement("div");E.setStyle(C,"height","100%");E.setStyle(C,"width","100%");E.setStyle(C,"background-color","#ccc");E.setStyle(C,"opacity","0");G.appendChild(C);if(YAHOO.env.ua.ie){var F=document.createElement("iframe");F.setAttribute("src","about:blank");F.setAttribute("scrolling","no");F.setAttribute("frameborder","0");G.insertBefore(F,G.firstChild);E.setStyle(F,"height","100%");E.setStyle(F,"width","100%");E.setStyle(F,"position","absolute");E.setStyle(F,"top","0");E.setStyle(F,"left","0");E.setStyle(F,"opacity","0");E.setStyle(F,"zIndex","-1");E.setStyle(F.nextSibling,"zIndex","2");}A.insertBefore(G,A.firstChild);}},initFrame:function(){this.createFrame();},applyConfig:function(){YAHOO.util.DDProxy.superclass.applyConfig.call(this);this.resizeFrame=(this.config.resizeFrame!==false);this.centerFrame=(this.config.centerFrame);this.setDragElId(this.config.dragElId||YAHOO.util.DDProxy.dragElId);},showFrame:function(E,D){var C=this.getEl();var A=this.getDragEl();var B=A.style;this._resizeProxy();if(this.centerFrame){this.setDelta(Math.round(parseInt(B.width,10)/2),Math.round(parseInt(B.height,10)/2));}this.setDragElPos(E,D);YAHOO.util.Dom.setStyle(A,"visibility","visible");},_resizeProxy:function(){if(this.resizeFrame){var H=YAHOO.util.Dom;var B=this.getEl();var C=this.getDragEl();var G=parseInt(H.getStyle(C,"borderTopWidth"),10);var I=parseInt(H.getStyle(C,"borderRightWidth"),10);var F=parseInt(H.getStyle(C,"borderBottomWidth"),10);var D=parseInt(H.getStyle(C,"borderLeftWidth"),10);if(isNaN(G)){G=0;}if(isNaN(I)){I=0;}if(isNaN(F)){F=0;}if(isNaN(D)){D=0;}var E=Math.max(0,B.offsetWidth-I-D);var A=Math.max(0,B.offsetHeight-G-F);H.setStyle(C,"width",E+"px");H.setStyle(C,"height",A+"px");}},b4MouseDown:function(B){this.setStartPosition();var A=YAHOO.util.Event.getPageX(B);var C=YAHOO.util.Event.getPageY(B);this.autoOffset(A,C);},b4StartDrag:function(A,B){this.showFrame(A,B);},b4EndDrag:function(A){YAHOO.util.Dom.setStyle(this.getDragEl(),"visibility","hidden");},endDrag:function(D){var C=YAHOO.util.Dom;var B=this.getEl();var A=this.getDragEl();C.setStyle(A,"visibility","");C.setStyle(B,"visibility","hidden");YAHOO.util.DDM.moveToEl(B,A);C.setStyle(A,"visibility","hidden");C.setStyle(B,"visibility","");},toString:function(){return("DDProxy "+this.id);}});YAHOO.util.DDTarget=function(C,A,B){if(C){this.initTarget(C,A,B);}};YAHOO.extend(YAHOO.util.DDTarget,YAHOO.util.DragDrop,{toString:function(){return("DDTarget "+this.id);}});YAHOO.register("dragdrop",YAHOO.util.DragDropMgr,{version:"2.5.1",build:"984"});YAHOO.util.Attribute=function(B,A){if(A){this.owner=A;this.configure(B,true);}};YAHOO.util.Attribute.prototype={name:undefined,value:null,owner:null,readOnly:false,writeOnce:false,_initialConfig:null,_written:false,method:null,validator:null,getValue:function(){return this.value;},setValue:function(F,B){var E;var A=this.owner;var C=this.name;var D={type:C,prevValue:this.getValue(),newValue:F};if(this.readOnly||(this.writeOnce&&this._written)){return false;}if(this.validator&&!this.validator.call(A,F)){return false;}if(!B){E=A.fireBeforeChangeEvent(D);if(E===false){return false;}}if(this.method){this.method.call(A,F);}this.value=F;this._written=true;D.type=C;if(!B){this.owner.fireChangeEvent(D);}return true;},configure:function(B,C){B=B||{};this._written=false;this._initialConfig=this._initialConfig||{};for(var A in B){if(A&&YAHOO.lang.hasOwnProperty(B,A)){this[A]=B[A];if(C){this._initialConfig[A]=B[A];}}}},resetValue:function(){return this.setValue(this._initialConfig.value);},resetConfig:function(){this.configure(this._initialConfig);},refresh:function(A){this.setValue(this.value,A);}};(function(){var A=YAHOO.util.Lang;YAHOO.util.AttributeProvider=function(){};YAHOO.util.AttributeProvider.prototype={_configs:null,get:function(C){this._configs=this._configs||{};var B=this._configs[C];if(!B){return undefined;}return B.value;},set:function(D,E,B){this._configs=this._configs||{};var C=this._configs[D];if(!C){return false;}return C.setValue(E,B);},getAttributeKeys:function(){this._configs=this._configs;var D=[];var B;for(var C in this._configs){B=this._configs[C];if(A.hasOwnProperty(this._configs,C)&&!A.isUndefined(B)){D[D.length]=C;}}return D;},setAttributes:function(D,B){for(var C in D){if(A.hasOwnProperty(D,C)){this.set(C,D[C],B);}}},resetValue:function(C,B){this._configs=this._configs||{};if(this._configs[C]){this.set(C,this._configs[C]._initialConfig.value,B);return true;}return false;},refresh:function(E,C){this._configs=this._configs;E=((A.isString(E))?[E]:E)||this.getAttributeKeys();for(var D=0,B=E.length;D<B;++D){if(this._configs[E[D]]&&!A.isUndefined(this._configs[E[D]].value)&&!A.isNull(this._configs[E[D]].value)){this._configs[E[D]].refresh(C);}}},register:function(B,C){this.setAttributeConfig(B,C);},getAttributeConfig:function(C){this._configs=this._configs||{};var B=this._configs[C]||{};var D={};for(C in B){if(A.hasOwnProperty(B,C)){D[C]=B[C];}}return D;},setAttributeConfig:function(B,C,D){this._configs=this._configs||{};C=C||{};if(!this._configs[B]){C.name=B;this._configs[B]=this.createAttribute(C);}else{this._configs[B].configure(C,D);}},configureAttribute:function(B,C,D){this.setAttributeConfig(B,C,D);},resetAttributeConfig:function(B){this._configs=this._configs||{};this._configs[B].resetConfig();},subscribe:function(B,C){this._events=this._events||{};if(!(B in this._events)){this._events[B]=this.createEvent(B);}YAHOO.util.EventProvider.prototype.subscribe.apply(this,arguments);},on:function(){this.subscribe.apply(this,arguments);},addListener:function(){this.subscribe.apply(this,arguments);},fireBeforeChangeEvent:function(C){var B="before";B+=C.type.charAt(0).toUpperCase()+C.type.substr(1)+"Change";C.type=B;return this.fireEvent(C.type,C);},fireChangeEvent:function(B){B.type+="Change";return this.fireEvent(B.type,B);},createAttribute:function(B){return new YAHOO.util.Attribute(B,this);}};YAHOO.augment(YAHOO.util.AttributeProvider,YAHOO.util.EventProvider);})();(function(){var D=YAHOO.util.Dom,F=YAHOO.util.AttributeProvider;YAHOO.util.Element=function(G,H){if(arguments.length){this.init(G,H);}};YAHOO.util.Element.prototype={DOM_EVENTS:null,appendChild:function(G){G=G.get?G.get("element"):G;this.get("element").appendChild(G);},getElementsByTagName:function(G){return this.get("element").getElementsByTagName(G);},hasChildNodes:function(){return this.get("element").hasChildNodes();},insertBefore:function(G,H){G=G.get?G.get("element"):G;H=(H&&H.get)?H.get("element"):H;this.get("element").insertBefore(G,H);},removeChild:function(G){G=G.get?G.get("element"):G;this.get("element").removeChild(G);return true;},replaceChild:function(G,H){G=G.get?G.get("element"):G;H=H.get?H.get("element"):H;return this.get("element").replaceChild(G,H);},initAttributes:function(G){},addListener:function(K,J,L,I){var H=this.get("element");I=I||this;H=this.get("id")||H;var G=this;if(!this._events[K]){if(this.DOM_EVENTS[K]){YAHOO.util.Event.addListener(H,K,function(M){if(M.srcElement&&!M.target){M.target=M.srcElement;}G.fireEvent(K,M);},L,I);}this.createEvent(K,this);}YAHOO.util.EventProvider.prototype.subscribe.apply(this,arguments);},on:function(){this.addListener.apply(this,arguments);},subscribe:function(){this.addListener.apply(this,arguments);},removeListener:function(H,G){this.unsubscribe.apply(this,arguments);},addClass:function(G){D.addClass(this.get("element"),G);},getElementsByClassName:function(H,G){return D.getElementsByClassName(H,G,this.get("element"));},hasClass:function(G){return D.hasClass(this.get("element"),G);},removeClass:function(G){return D.removeClass(this.get("element"),G);},replaceClass:function(H,G){return D.replaceClass(this.get("element"),H,G);},setStyle:function(I,H){var G=this.get("element");if(!G){return this._queue[this._queue.length]=["setStyle",arguments];}return D.setStyle(G,I,H);},getStyle:function(G){return D.getStyle(this.get("element"),G);},fireQueue:function(){var H=this._queue;for(var I=0,G=H.length;I<G;++I){this[H[I][0]].apply(this,H[I][1]);}},appendTo:function(H,I){H=(H.get)?H.get("element"):D.get(H);this.fireEvent("beforeAppendTo",{type:"beforeAppendTo",target:H});I=(I&&I.get)?I.get("element"):D.get(I);var G=this.get("element");if(!G){return false;}if(!H){return false;}if(G.parent!=H){if(I){H.insertBefore(G,I);}else{H.appendChild(G);}}this.fireEvent("appendTo",{type:"appendTo",target:H});},get:function(G){var I=this._configs||{};var H=I.element;if(H&&!I[G]&&!YAHOO.lang.isUndefined(H.value[G])){return H.value[G];}return F.prototype.get.call(this,G);},setAttributes:function(L,H){var K=this.get("element");
+for(var J in L){if(!this._configs[J]&&!YAHOO.lang.isUndefined(K[J])){this.setAttributeConfig(J);}}for(var I=0,G=this._configOrder.length;I<G;++I){if(L[this._configOrder[I]]!==undefined){this.set(this._configOrder[I],L[this._configOrder[I]],H);}}},set:function(H,J,G){var I=this.get("element");if(!I){this._queue[this._queue.length]=["set",arguments];if(this._configs[H]){this._configs[H].value=J;}return ;}if(!this._configs[H]&&!YAHOO.lang.isUndefined(I[H])){C.call(this,H);}return F.prototype.set.apply(this,arguments);},setAttributeConfig:function(G,I,J){var H=this.get("element");if(H&&!this._configs[G]&&!YAHOO.lang.isUndefined(H[G])){C.call(this,G,I);}else{F.prototype.setAttributeConfig.apply(this,arguments);}this._configOrder.push(G);},getAttributeKeys:function(){var H=this.get("element");var I=F.prototype.getAttributeKeys.call(this);for(var G in H){if(!this._configs[G]){I[G]=I[G]||H[G];}}return I;},createEvent:function(H,G){this._events[H]=true;F.prototype.createEvent.apply(this,arguments);},init:function(H,G){A.apply(this,arguments);}};var A=function(H,G){this._queue=this._queue||[];this._events=this._events||{};this._configs=this._configs||{};this._configOrder=[];G=G||{};G.element=G.element||H||null;this.DOM_EVENTS={"click":true,"dblclick":true,"keydown":true,"keypress":true,"keyup":true,"mousedown":true,"mousemove":true,"mouseout":true,"mouseover":true,"mouseup":true,"focus":true,"blur":true,"submit":true};var I=false;if(YAHOO.lang.isString(H)){C.call(this,"id",{value:G.element});}if(D.get(H)){I=true;E.call(this,G);B.call(this,G);}YAHOO.util.Event.onAvailable(G.element,function(){if(!I){E.call(this,G);}this.fireEvent("available",{type:"available",target:G.element});},this,true);YAHOO.util.Event.onContentReady(G.element,function(){if(!I){B.call(this,G);}this.fireEvent("contentReady",{type:"contentReady",target:G.element});},this,true);};var E=function(G){this.setAttributeConfig("element",{value:D.get(G.element),readOnly:true});};var B=function(G){this.initAttributes(G);this.setAttributes(G,true);this.fireQueue();};var C=function(G,I){var H=this.get("element");I=I||{};I.name=G;I.method=I.method||function(J){H[G]=J;};I.value=I.value||H[G];this._configs[G]=new YAHOO.util.Attribute(I,this);};YAHOO.augment(YAHOO.util.Element,F);})();YAHOO.register("element",YAHOO.util.Element,{version:"2.5.1",build:"984"});YAHOO.register("utilities", YAHOO, {version: "2.5.1", build: "984"});
diff --git a/koha-tmpl/opac-tmpl/lib/yui/yui-sprite.png b/koha-tmpl/opac-tmpl/lib/yui/yui-sprite.png
new file mode 100644 (file)
index 0000000..afd65e0
Binary files /dev/null and b/koha-tmpl/opac-tmpl/lib/yui/yui-sprite.png differ
index e89096b..616db6f 100644 (file)
@@ -1,9 +1,11 @@
 /* jQuery.Rating Plugin CSS - http://www.fyneworks.com/jquery/star-rating/ */
 div.rating-cancel,div.star-rating{float:left;width:15px;height:15px;text-indent:-999em;cursor:pointer;display:block;background:transparent;overflow:hidden}
-div.rating-cancel,div.rating-cancel a{background:url(../../images/delete.gif) no-repeat 0 -16px}
-div.star-rating,div.star-rating a{background:url(../../images/star.gif) no-repeat 0 0px}
-div.rating-cancel a,div.star-rating a{display:block;width:16px;height:100%;background-position:0 0px;border:0}
+div.rating-cancel,div.rating-cancel a{background:url(../../images/star-ratings-sprite.png) no-repeat 0 -49px}
+div.star-rating,div.star-rating a{background:url(../../images/star-ratings-sprite.png) no-repeat 0 0px}
+div.rating-cancel a{display:block;width:16px;height:100%;background-position:0 -49px;border:0}
+div.star-rating a{display:block;width:16px;height:100%;background-position:0 0px;border:0}
 div.star-rating-on a{background-position:0 -32px!important}
+div.rating-cancel.star-rating-hover a{background-position:0 -65px}
 div.star-rating-hover a{background-position:0 -16px}
 /* Read Only CSS */
 div.star-rating-readonly a{cursor:default !important}
index 021238d..92f8b02 100644 (file)
@@ -1,6 +1,3 @@
-@import url("../lib/yui/reset-fonts-grids.css");
-@import url("../lib/yui/skin.css");
-
 a {
        font-weight : bold;
 }
@@ -2015,7 +2012,6 @@ a#MARCview, a#MARCviewPop, a#ISBDview, a#Normalview, a#Fullhistory, a#Briefhisto
        text-decoration : none;
 }
 #shelfbrowser td, #shelfbrowser th {
-       vertical-align : bottom;
        width : 20%;
 }
 #shelfbrowser td.top {
@@ -2027,6 +2023,30 @@ a#MARCview, a#MARCviewPop, a#ISBDview, a#Normalview, a#Fullhistory, a#Briefhisto
 #shelfbrowser a {
        display : block;
 }
+#shelfbrowser #browser_next,
+#shelfbrowser #browser_previous {
+    background-image : url("../../images/sprite.png");
+    background-position : -5px -988px;
+    background-repeat: no-repeat;
+    width : 16px;
+}
+#shelfbrowser #browser_next a,
+#shelfbrowser #browser_previous a {
+    cursor: pointer;
+    display : block;
+    height: 0 !important;
+    margin: 0;
+    overflow: hidden;
+    padding: 50px 0 0;
+    text-decoration: none;
+    width: 16px;
+}
+#shelfbrowser #browser_previous {
+background-position: -9px -1001px;
+}
+#shelfbrowser #browser_next {
+background-position: -9px -1051px;
+}
 
 #comments .commentline {
        border-bottom : 2px solid #eeeeeb;
@@ -2136,7 +2156,7 @@ div.ft {
 }
 #basket td ul li {
        font-size:90%;
-       list-style:disc outside url("../../images/item-bullet.gif");
+    list-style:disc outside url(data:image/gif;base64,R0lGODlhBQAHAJECAP///5zD6v///wAAACH5BAEAAAIALAAAAAAFAAcAAAIMjCUGkbvhFGQSmVAAADs=);
        padding:0.2em 0;
 }
 
@@ -2233,6 +2253,7 @@ a.koha_url {
     display: none;
        background-color:#F3F3F3;
        padding-bottom:10px;
+    z-index: 100;
 }
 
 
@@ -2431,6 +2452,65 @@ span.sep {
     margin: 5px;
 }
 
+/* jQueryUI Core */
+
+.ui-widget-content { border: 1px solid #B9D8D9; background: #ffffff none; color: #222222; }
+.ui-widget-header { border: 1px solid #B9D8D9; background: #E6F0F2 none; color: #222222; font-weight: bold; }
+.ui-state-default, .ui-widget-content .ui-state-default, .ui-widget-header .ui-state-default { border: 1px solid #B9D8D9; background: #F4F8F9 none; font-weight: normal; color: #555555; }
+.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 #B9D8D9; background: #E6F0F2 none; font-weight: normal; color: #212121; }
+.ui-state-active, .ui-widget-content .ui-state-active, .ui-widget-header .ui-state-active { border: 1px solid #aaaaaa; background: #ffffff none; font-weight: normal; color: #212121; }
+.ui-state-highlight, .ui-widget-content .ui-state-highlight, .ui-widget-header .ui-state-highlight  {border: 1px solid #fcefa1; background: #fbf9ee; color: #363636; }
+.ui-state-error, .ui-widget-content .ui-state-error, .ui-widget-header .ui-state-error {border: 1px solid #cd0a0a; background: #fef1ec; color: #cd0a0a; }
+
+/* jQueryUI autocomplete */
+
+.ui-autocomplete { position: absolute; cursor: default; -webkit-box-shadow: 2px 2px 2px rgba(0,0,0,.3); -moz-box-shadow: 2px 2px 2px rgba(0,0,0,.3); box-shadow: 2px 2px 2px rgba(0,0,0,.3); }
+.ui-autocomplete.ui-widget-content .ui-state-hover { border: 1px solid #B9D8D9; background: #E6F0F2 none; font-weight: normal; color: #212121; }
+.ui-autocomplete-loading { background: #FFF url("../../img/loading-small.gif") right center no-repeat; }
+.ui-menu li { list-style:none; }
+
+#social_networks span {
+    color: #274D7F;
+    display : block;
+    float : left;
+    font-size: 85%;
+    font-weight: bold;
+    line-height: 2em;
+    margin : .5em 0 .5em .5em !important;
+}
+#social_networks a {
+    background: transparent url("../../images/social-sprite.png") no-repeat;
+    display: block;
+    height : 20px !important;
+    width : 20px;
+    text-indent : -999em;
+}
+
+#social_networks div {
+    float : left !important;
+    margin : .5em 0 .5em .2em !important;
+}
+
+#social_networks #facebook {
+    background-position : -7px -35px;
+}
+
+#social_networks #twitter {
+    background-position : -7px -5px;
+}
+
+#social_networks #linkedin {
+    background-position : -7px -95px;
+}
+
+#social_networks #delicious {
+    background-position : -7px -66px;
+}
+
+#social_networks #email {
+    background-position : -7px -126px;
+}
+
 /* jQuery UI standard tabs */
 .ui-tabs-nav .ui-tabs-selected a,
 .ui-tabs-nav a:hover,
@@ -2454,6 +2534,7 @@ span.sep {
     font-family : inherit;
     font-size : inherit;
 }
+
 ul.ui-tabs-nav li {
     list-style : none;
 }
@@ -2606,7 +2687,42 @@ ul.ui-tabs-nav li {
     margin-left: 0.5em;
 }
 
+#didyoumean {
+    background-color: #EEE;
+    border: 1px solid #E8E8E8;
+    margin: 0 0 0.5em;
+    text-align: left;
+    padding: 0.5em;
+    border-radius: 3px 3px 3px 3px;
+}
+
+.suggestionlabel {
+    font-weight: bold;
+}
+
+.searchsuggestion {
+    padding: 0.2em 0.5em;
+    white-space: nowrap;
+    display: inline-block;
+}
+
+.authlink {
+    padding-left: 0.25em;
+}
+#hierarchies a {
+    font-weight: normal;
+    text-decoration: underline;
+    color: #069;
+}
+
+#hierarchies a:hover {
+    color: #990033;
+}
+
 /* jQuery UI Datepicker */
+.ui-datepicker table {width: 100%; font-size: .9em; border : 0; border-collapse: collapse; margin:0 0 .4em; }
+.ui-datepicker th { background : transparent none; padding: .7em .3em; text-align: center; font-weight: bold; border: 0;  }
+
 .ui-datepicker-trigger {
     vertical-align: middle;
     margin : 0 3px;
@@ -2617,3 +2733,78 @@ ul.ui-tabs-nav li {
     box-shadow: 1px 1px 3px 0 #666;
 }
 
+.contents {
+    width: 75%;
+}
+
+.contentblock {
+    position: relative;
+    margin-left: 2em;
+}
+
+.contents .t:first-child:before {
+    content: "→ ";
+}
+
+.contents .t:before {
+    content: "\A→ ";
+    white-space: pre;
+}
+
+.contents .t {
+    font-weight: bold;
+    display: inline;
+}
+
+.contents .r {
+    display: inline;
+}
+
+body#opac-main #opacmainuserblockmobile {
+    display: none;
+}
+
+.mobile_only {
+   display : none;
+}
+
+/* different sizes for different tags in opac-tags.tt */
+.tagweight0 {
+    font-size: 12px;
+}
+
+.tagweight1 {
+    font-size: 14px;
+}
+
+.tagweight2 {
+    font-size: 16px;
+}
+
+.tagweight3 {
+    font-size: 18px;
+}
+
+.tagweight4 {
+    font-size: 20px;
+}
+
+.tagweight5 {
+    font-size: 22px;
+}
+
+.tagweight6 {
+    font-size: 24px;
+}
+
+.tagweight7 {
+    font-size: 26px;
+}
+
+.tagweight8 {
+    font-size: 28px;
+}
+
+.tagweight9 {
+    font-size: 30px;
+}
index 3c4a8b4..4d8e25a 100644 (file)
@@ -1,6 +1,3 @@
-@import url("../../en/lib/yui/reset-fonts-grids.css");
-@import url("../../en/lib/yui/skin.css");
-
 a {
        font-weight : bold;
 }
@@ -140,27 +137,27 @@ div.message {
 
  
 .dialog input.back {
-       background : #FFF url(../../famfamfam/silk/arrow_left.png) no-repeat 4px center;
+    background : #FFF url(/opac-tmpl/lib/famfamfam/silk/arrow_left.png) no-repeat 4px center;
        padding : .4em .4em .4em 25px;  
  }
  
 .dialog input.return {
-       background : #FFF url(../../famfamfam/silk/book_previous.png) no-repeat 4px center;
+    background : #FFF url(/opac-tmpl/lib/famfamfam/silk/book_previous.png) no-repeat 4px center;
        padding : .4em .4em .4em 25px;  
  }
  
 .dialog input.renew {
-       background : #FFF url(../../famfamfam/silk/arrow_refresh.png) no-repeat 4px center;
+    background : #FFF url(/opac-tmpl/lib/famfamfam/silk/arrow_refresh.png) no-repeat 4px center;
        padding : .4em .4em .4em 25px;  
  }
  
 .dialog input.cancel {
-       background : #FFF url(../../famfamfam/silk/cancel.png) no-repeat 4px center;
+    background : #FFF url(/opac-tmpl/lib/famfamfam/silk/cancel.png) no-repeat 4px center;
        padding : .4em .4em .4em 25px;  
  }
 
 input.finish {
-       background : #dbe7ff url(../../famfamfam/silk/stop.png) no-repeat 4px center;
+    background : #dbe7ff url(/opac-tmpl/lib/famfamfam/silk/stop.png) no-repeat 4px center;
        border : 1px outset #666;
        padding : .2em .2em .2em 25px;
 }
@@ -234,7 +231,7 @@ input.focus {
        border : 2px inset #336699;
 }
 #checkouthelp {
-       background : #FFF url("../../famfamfam/silk/help.png") no-repeat 4px center;
+    background : #FFF url("/opac-tmpl/lib/famfamfam/silk/help.png") no-repeat 4px center;
        padding : 3px 3px 3px 26px;
        position : absolute;
        top : 0;
@@ -249,7 +246,7 @@ div.button a:link,
 div.button a:visited,
 div.button a:hover,
 div.button a:active {
-       background : #FFF url(../../famfamfam/silk/book_previous.png) no-repeat 4px center;
+    background : #FFF url(/opac-tmpl/lib/famfamfam/silk/book_previous.png) no-repeat 4px center;
        border : 1px outset #666;
        color : #000;
        padding : .4em .4em .4em 25px;  
@@ -338,4 +335,4 @@ span.lang{
 
 div.ft {
        clear : both;
-}
\ No newline at end of file
+}
index 3defe48..58f5f2d 100644 (file)
@@ -2,19 +2,22 @@
     [% IF marcflavour == 'UNIMARC' %]
         [% SWITCH type %]
         [% CASE 'broader' %]
-            <span class="BT">[% heading %]</span> --
+            <span class="BT">[% heading | html %]</span> --
         [% CASE 'narrower' %]
-            <span class="NT">[% heading %]</span> --
+            <span class="NT">[% heading | html %]</span> --
         [% CASE 'narrower' %]
-            <span class="NT">[% heading %]</span> --
+            <span class="NT">[% heading | html %]</span> --
         [% CASE 'seefrom' %]
-            <span class="UF">[% heading %]</span> --
+            <span class="UF">[% heading | html %]</span> --
         [% CASE 'seealso' %]
-            <span class="RT">[% heading %]</span> --
+            <span class="RT">[% heading | html %]</span> --
         [% END %]
     [% ELSE %]
-        [% IF ( label ) %]<span class="label">[% label %]</span>[% END %]
-        <span class="heading">[% heading %]</span>
+        [% IF ( label ) %]<span class="label">[% label | html %]</span>[% END %]
+        <span class="heading">
+        [% IF ( linkpath && search ) %]<a href="[% link | url %][% search | url %]">[% heading | html %]</a>
+        [% ELSE %][% heading | html %][% END %]
+        </span>
         [% UNLESS ( type=='seefrom' || type=='seealso' ) %]<span class="type">[% SWITCH type %]
         [% CASE 'earlier' %](Earlier heading)
         [% CASE 'later' %](Later heading)
         [% CASE 'musical' %](Musical composition)
         [% CASE 'broader' %](Broader heading)
         [% CASE 'narrower' %](Narrower heading)
-        [% CASE %]([% type %])
+        [% CASE 'parent' %](Immediate parent body)
+        [% CASE %][% IF type %]([% type | html %])[% END %]
         [% END %]</span>[% END %]
     [% END %]
 [% END %]
 [% BLOCK authresult %]
-    [% IF ( summary.summary ) %][% summary.summary %]:[% END %]
+    [% IF ( summary.summary ) %][% summary.summary | html %]:[% END %]
     [% UNLESS ( summary.summaryonly ) %]
         [% FOREACH authorize IN summary.authorized %]
-            <span class="authorizedheading">[% authorize.heading %]</span>
+            <span class="authorizedheading">[% authorize.heading | html %]</span>
         [% END %]
         [% IF ( marcflavour == 'UNIMARC' ) %]
             [% FOREACH note IN summary.notes %]
-                <span class="note">[% note %]</span>
+                <span class="note">[% note | html %]</span>
             [% END %]
             [% FOREACH seefro IN summary.seefrom %]
-                [% PROCESS showreference heading=seefro.heading label="" type=seefro.type %]
+                [% PROCESS showreference heading=seefro.heading label="" type=seefro.type search='' %]
             [% END %]
         [% ELSE %]
             [% IF ( summary.seefrom ) %]
                 [% FOREACH seefro IN summary.seefrom %]
                     <div class="seefrom authref">
-                    [% PROCESS showreference heading=seefro.heading label="used for/see from:" type=seefro.type %]
+                    [% PROCESS showreference heading=seefro.heading label="used for/see from:" type=seefro.type search='' %]
                     </div>
                 [% END %]
             [% END %]
             [% IF ( summary.seealso ) %]
                 [% FOREACH seeals IN summary.seealso %]
                     <div class="seealso authref">
-                    [% PROCESS showreference heading=seeals.heading label="see also:" type=seeals.type %]
+                    [% PROCESS showreference heading=seeals.heading label="see also:" type=seeals.type linkpath=link search=seeals.search %]
                     </div>
                 [% END %]
             [% END %]
index 3ce49ce..35d395f 100644 (file)
@@ -3,6 +3,8 @@
 <meta name="generator" content="Koha [% Version %]" /> <!-- leave this for stats -->
 <link rel="shortcut icon" href="[% IF ( OpacFavicon ) %][% OpacFavicon %][% ELSE %][% themelang %]/includes/favicon.ico[% END %]" type="image/x-icon" />
 <link rel="stylesheet" type="text/css" href="[% themelang %]/lib/jquery/jquery-ui.css" />
+<link rel="stylesheet" type="text/css" href="/opac-tmpl/lib/yui/reset-fonts-grids.css" />
+<link rel="stylesheet" type="text/css" href="/opac-tmpl/lib/yui/skin.css" />
 [% SET opaclayoutstylesheet='opac.css' UNLESS opaclayoutstylesheet %]
 [% IF (opaclayoutstylesheet.match('^https?:|^\/')) %]
     <link rel="stylesheet" type="text/css" href="[% opaclayoutstylesheet %]" />
@@ -20,6 +22,7 @@
     <link rel="stylesheet" type="text/css" href="[% themelang %]/css/[% opac_css_override %]" />
 [% END %]
 <link rel="stylesheet" type="text/css" media="print" href="[% themelang %]/css/print.css" />
+[% IF ( OPACMobileUserCSS ) %]<style type="text/css" media="screen and (max-width:700px)">[% OPACMobileUserCSS %]</style>[% END %]
 [% IF ( OPACUserCSS ) %]<style type="text/css">[% OPACUserCSS %]</style>[% END %]
 <!-- yui js --> 
 <script type="text/javascript" src="[% yuipath %]/utilities/utilities.js"></script> 
index d05583f..51c2e9f 100644 (file)
@@ -1,3 +1,5 @@
+[% USE KohaAuthorisedValues %]
+
 [% IF ( item.datedue ) %]
     [% IF ( OPACShowCheckoutName ) %]
         Checked out to [% item.cardnumber %] [% item.firstname %] [% item.surname %]
 [% ELSIF ( item.wthdrawn ) %]
     Item withdrawn
 [% ELSIF ( item.itemlost ) %]
-    [% IF ( item.lostimageurl ) %]
-        <img src="[% item.lostimageurl %]" alt="[% item.lostimagelabel %]" title="[% item.lostimagelabel %]">
+    [% av_lib_include = KohaAuthorisedValues.GetByCode( 'LOST', item.itemlost, 1 ) %]
+    [% IF ( av_lib_include ) %]
+        [% av_lib_include %]
     [% ELSE %]
-        Item lost
+        [% IF ( item.lostimageurl ) %]
+            <img src="[% item.lostimageurl %]" alt="[% item.lostimagelabel %]" title="[% item.lostimagelabel %]">
+        [% ELSE %]
+            Item lost
+        [% END %]
     [% END %]
 [% ELSIF ( item.itemnotforloan ) %]
     [% IF ( item.notforloanvalue ) %]
 [% ELSIF ( item.notforloan_per_itemtype ) %]
     Not for loan [% IF ( item.restrictedopac ) %]<span class="restricted">([% item.restrictedopac %])</span>[% END %]
 [% ELSIF ( item.damaged ) %]
-    Item damaged
+    [% av_lib_include = KohaAuthorisedValues.GetByCode( 'DAMAGED', item.damaged, 1 ) %]
+    [% IF av_lib_include %]
+        [% av_lib_include %]
+    [% ELSE %]
+        Item damaged
+    [% END %]
 [% ELSE %]
     Available [% IF ( item.restrictedopac ) %]<span class="restricted">([% item.restrictedopac %])</span>[% END %]
 [% END %]
diff --git a/koha-tmpl/opac-tmpl/prog/en/includes/opac-authorities.inc b/koha-tmpl/opac-tmpl/prog/en/includes/opac-authorities.inc
new file mode 100644 (file)
index 0000000..2e131bb
--- /dev/null
@@ -0,0 +1,56 @@
+[% BLOCK showhierarchy %]
+    [% FOREACH tree IN trees %]
+        [% PROCESS showtree tree = tree %]
+    [% END %]
+[% END %]
+[% BLOCK showtree %]
+    <ul class="hierarchy">
+        [% FOREACH node IN tree %]
+            <li id="hier[% node.authid %]" class="[% node.class %] authnode">
+            [% IF ( node.current_value ) %]
+                <span class='currentauth'>[% node.value | html %]</span>
+            [% ELSE %]
+                <a href="opac-authoritiesdetail.pl?authid=[% node.authid %]" title="Term">[% node.value | html %]</a>
+            [% END %]
+            [% IF ( node.children && node.children.size > 0 ) %]
+                [% PROCESS showtree tree = node.children %]
+            [% END %]
+            </li>
+        [% END %]
+    </ul>
+[% END %]
+
+[% BLOCK authtypelabel %]
+    [% UNLESS ( type=='seefrom' || type=='seealso' || type=='' ) %]
+        <span class="type">[% FILTER trim %][% SWITCH type %]
+        [% CASE 'earlier' %]Earlier heading
+        [% CASE 'later' %]Later heading
+        [% CASE 'acronym' %]Acronym
+        [% CASE 'musical' %]Musical composition
+        [% CASE 'broader' %]Broader heading
+        [% CASE 'narrower' %]Narrower heading
+        [% CASE %][% type %]
+        [% END %][% END %]</span>
+    [% END %]
+[% END %]
+[% BLOCK otherscript %]
+    [% FOREACH heading IN headings %]
+        [% IF heading.category == wantcategory %]
+            [% IF heading.direction == 'ltr' %]
+                <div class="heading otherscript [% heading.category %]">
+                <span class="[% heading.category %]">[% heading.term %]</span>
+                </div>
+            [% ELSIF heading.direction == 'rtl' %]
+                <div class="heading otherscript [% heading.category %] rtl">
+                <span class="[% heading.category %]">[% heading.term %]</span>
+                </div>
+            [% END %]
+        [% END %]
+    [% END %]
+[% END %]
+[% BLOCK authheadingdisplay %]
+    [% IF authid %]<a href="/cgi-bin/koha/opac-authoritiesdetail.pl?authid=[% authid %]">[% heading %]</a>
+    [% ELSIF search %]<a href="/cgi-bin/koha/opac-authorities-home.pl?op=do_search&type=opac&operator=contains&marclist=mainentry&and_ora=and&orderby=HeadingAsc&value=[% search %]">[% heading %]</a>
+    [% ELSE %][% heading %]
+    [% END %]
+[% END %]
index d9e4577..07cdd3b 100644 (file)
@@ -3,7 +3,7 @@
 <div id="search-facets">
 <h4>Refine your search</h4>
 <ul>
-       <li>Availability<ul><li>[% IF ( available ) %]Showing only <strong>available</strong> items. <a href="/cgi-bin/koha/opac-search.pl?[% query_cgi |html %][% limit_cgi_not_availablity %][% IF ( sort_by ) %]&amp;sort_by=[% sort_by %][% END %]">Show all items</a>[% ELSE %]Limit to <a href="/cgi-bin/koha/opac-search.pl?[% query_cgi |html %][% limit_cgi |html %][% IF ( sort_by ) %]&amp;sort_by=[% sort_by %][% END %]&amp;limit=available">currently available items.</a>[% END %]</li></ul>
+       <li>Availability<ul><li>[% IF ( available ) %]Showing only <strong>available</strong> items. <a href="/cgi-bin/koha/opac-search.pl?[% query_cgi |html %][% limit_cgi_not_availablity %][% IF ( sort_by ) %]&amp;sort_by=[% sort_by |html%][% END %]">Show all items</a>[% ELSE %]Limit to <a href="/cgi-bin/koha/opac-search.pl?[% query_cgi |html %][% limit_cgi |html %][% IF ( sort_by ) %]&amp;sort_by=[% sort_by |html%][% END %]&amp;limit=available">currently available items.</a>[% END %]</li></ul>
        [% IF ( related ) %] <li>(related searches: [% FOREACH relate IN related %][% relate.related_search %][% END %])</li>[% END %]
        </li>
        
 [% UNLESS ( singleBranchMode ) %]
 [% IF ( facets_loo.type_label_Libraries ) %]Libraries[% END %]
 [% END %]
+[% IF ( facets_loo.type_label_Location ) %]Locations[% END %]
 <ul>
-        [% FOREACH facet IN facets_loo.facets %]<li><a href="/cgi-bin/koha/opac-search.pl?[% query_cgi |html %][% limit_cgi |html %][% IF ( sort_by ) %]&amp;sort_by=[% sort_by %][% END %]&amp;limit=[% facet.type_link_value %]:[% facet.facet_link_value %]" title="[% facet.facet_title_value |html %]">[% facet.facet_label_value %]</a> [% IF ( displayFacetCount ) %]([% facet.facet_count %])[% END %]</li>[% END %][% IF ( facets_loo.expandable ) %]
-        <li class="showmore"><a href="/cgi-bin/koha/opac-search.pl?[% query_cgi |html %][% limit_cgi |html %][% IF ( sort_by ) %]&amp;sort_by=[% sort_by %][% END %][% IF ( offset ) %]&amp;offset=[% offset %][% END %]&amp;expand=[% facets_loo.expand %]#[% facets_loo.type_id %]">Show more</a></li>
+        [% FOREACH facet IN facets_loo.facets %]<li><a href="/cgi-bin/koha/opac-search.pl?[% query_cgi |html %][% limit_cgi |html %][% IF ( sort_by ) %]&amp;sort_by=[% sort_by |html %][% END %]&amp;limit=[% facet.type_link_value %]:[% facet.facet_link_value %]" title="[% facet.facet_title_value |html %]">[% facet.facet_label_value %]</a> [% IF ( displayFacetCount ) %]([% facet.facet_count %])[% END %]</li>[% END %][% IF ( facets_loo.expandable ) %]
+        <li class="showmore"><a href="/cgi-bin/koha/opac-search.pl?[% query_cgi |html %][% limit_cgi |html %][% IF ( sort_by ) %]&amp;sort_by=[% sort_by |html %][% END %][% IF ( offset ) %]&amp;offset=[% offset %][% END %]&amp;expand=[% facets_loo.expand %]#[% facets_loo.type_id %]">Show more</a></li>
 [% END %]
 </ul></li>
 [% END %]
index 738c0c9..935d943 100644 (file)
@@ -1,7 +1,6 @@
 [% IF ( PAGE_NUMBERS ) %]<div class="pages">
     <!-- Row of numbers corresponding to search result pages -->
-        [% IF ( previous_page_offset ) %]<a class="nav" href="/cgi-bin/koha/opac-search.pl?[% query_cgi |html %][% limit_cgi |html %]&amp;offset=[% previous_page_offset %][% IF ( sort_by ) %]&amp;sort_by=[% sort_by %][% END %]">&lt;&lt; Previous</a>[% END %]
-    [% FOREACH PAGE_NUMBER IN PAGE_NUMBERS %][% IF ( PAGE_NUMBER.highlight ) %]<span class="current">[% PAGE_NUMBER.pg %]</span>[% ELSE %]        <a class="nav" href="/cgi-bin/koha/opac-search.pl?[% query_cgi |html %][% limit_cgi |html %]&amp;offset=[% PAGE_NUMBER.offset %][% IF ( sort_by ) %]&amp;sort_by=[% sort_by %][% END %]">[% PAGE_NUMBER.pg %]</a>[% END %]
+        [% IF ( previous_page_offset ) %]<a class="nav" href="/cgi-bin/koha/opac-search.pl?[% query_cgi |html %][% limit_cgi |html %]&amp;offset=[% previous_page_offset %][% IF ( sort_by ) %]&amp;sort_by=[% sort_by |html %][% END %]">&lt;&lt; Previous</a>[% END %]
+    [% FOREACH PAGE_NUMBER IN PAGE_NUMBERS %][% IF ( PAGE_NUMBER.highlight ) %]<span class="current">[% PAGE_NUMBER.pg %]</span>[% ELSE %]        <a class="nav" href="/cgi-bin/koha/opac-search.pl?[% query_cgi |html %][% limit_cgi |html %]&amp;offset=[% PAGE_NUMBER.offset %][% IF ( sort_by ) %]&amp;sort_by=[% sort_by |html%][% END %]">[% PAGE_NUMBER.pg %]</a>[% END %]
     [% END %]
-        [% IF ( next_page_offset ) %]<a class="nav" href="/cgi-bin/koha/opac-search.pl?[% query_cgi |html %][% limit_cgi |html %]&amp;offset=[% next_page_offset %][% IF ( sort_by ) %]&amp;sort_by=[% sort_by %][% END %]">Next &gt;&gt;</a>[% END %]
-</div>[% END %]
+        [% IF ( next_page_offset ) %]<a class="nav" href="/cgi-bin/koha/opac-search.pl?[% query_cgi |html %][% limit_cgi |html %]&amp;offset=[% next_page_offset %][% IF ( sort_by ) %]&amp;sort_by=[% sort_by |html %][% END %]">Next &gt;&gt;</a>[% END %] </div>[% END %]
index 0e62b7a..5e30183 100644 (file)
@@ -11,7 +11,7 @@ $.datepicker.setDefaults({
         showOn: "both",
         changeMonth: true,
         changeYear: true,
-        buttonImage: '/opac-tmpl/prog/famfamfam/silk/calendar.png',
+        buttonImage: '/opac-tmpl/lib/famfamfam/silk/calendar.png',
         buttonImageOnly: true,
         showButtonPanel: true
     });
index 234b987..fe76cd3 100644 (file)
@@ -1,5 +1,5 @@
 /*!
- * jQuery UI CSS Framework 1.8.20
+ * jQuery UI CSS Framework 1.8.23
  *
  * Copyright 2012, AUTHORS.txt (http://jqueryui.com/about)
  * Dual licensed under the MIT or GPL Version 2 licenses.
@@ -39,7 +39,7 @@
 
 
 /*!
- * jQuery UI CSS Framework 1.8.20
+ * jQuery UI CSS Framework 1.8.23
  *
  * Copyright 2012, AUTHORS.txt (http://jqueryui.com/about)
  * Dual licensed under the MIT or GPL Version 2 licenses.
 .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 #B9D8D9; background: #ffffff; color: #222222; }
+.ui-widget-content { border: 1px solid #aaaaaa; background: #ffffff url(images/ui-bg_flat_75_ffffff_40x100.png) 50% 50% repeat-x; color: #222222; }
 .ui-widget-content a { color: #222222; }
-.ui-widget-header { border: 1px solid #B9D8D9; background: #E6F0F2 none; color: #222222; font-weight: bold; }
+.ui-widget-header { border: 1px solid #aaaaaa; background: #cccccc url(images/ui-bg_highlight-soft_75_cccccc_1x100.png) 50% 50% repeat-x; color: #222222; font-weight: bold; }
 .ui-widget-header a { color: #222222; }
 
 /* Interaction states
 ----------------------------------*/
-.ui-state-default, .ui-widget-content .ui-state-default, .ui-widget-header .ui-state-default { border: 1px solid #B9D8D9; background: #F4F8F9 none; font-weight: normal; color: #555555; }
+.ui-state-default, .ui-widget-content .ui-state-default, .ui-widget-header .ui-state-default { border: 1px solid #d3d3d3; background: #e6e6e6 url(images/ui-bg_glass_75_e6e6e6_1x400.png) 50% 50% repeat-x; font-weight: normal; color: #555555; }
 .ui-state-default a, .ui-state-default a:link, .ui-state-default a:visited { color: #555555; 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 #B9D8D9; background: #E6F0F2 none; font-weight: normal; color: #212121; }
+.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 #999999; background: #dadada url(images/ui-bg_glass_75_dadada_1x400.png) 50% 50% repeat-x; font-weight: normal; color: #212121; }
 .ui-state-hover a, .ui-state-hover a:hover { color: #212121; text-decoration: none; }
-.ui-state-active, .ui-widget-content .ui-state-active, .ui-widget-header .ui-state-active { border: 1px solid #aaaaaa; background: #ffffff none; font-weight: normal; color: #212121; }
+.ui-state-active, .ui-widget-content .ui-state-active, .ui-widget-header .ui-state-active { border: 1px solid #aaaaaa; background: #ffffff url(images/ui-bg_glass_65_ffffff_1x400.png) 50% 50% repeat-x; font-weight: normal; color: #212121; }
 .ui-state-active a, .ui-state-active a:link, .ui-state-active a:visited { color: #212121; 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; color: #363636; }
+.ui-state-highlight, .ui-widget-content .ui-state-highlight, .ui-widget-header .ui-state-highlight  {border: 1px solid #fcefa1; background: #fbf9ee url(images/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 #cd0a0a; background: #fef1ec; color: #cd0a0a; }
+.ui-state-error, .ui-widget-content .ui-state-error, .ui-widget-header .ui-state-error {border: 1px solid #cd0a0a; background: #fef1ec url(images/ui-bg_glass_95_fef1ec_1x400.png) 50% 50% repeat-x; color: #cd0a0a; }
 .ui-state-error a, .ui-widget-content .ui-state-error a, .ui-widget-header .ui-state-error a { color: #cd0a0a; }
 .ui-state-error-text, .ui-widget-content .ui-state-error-text, .ui-widget-header .ui-state-error-text { color: #cd0a0a; }
 .ui-priority-primary, .ui-widget-content .ui-priority-primary, .ui-widget-header .ui-priority-primary { font-weight: bold; }
 /* Overlays */
 .ui-widget-overlay { background: #aaaaaa url(images/ui-bg_flat_0_aaaaaa_40x100.png) 50% 50% repeat-x; opacity: .30;filter:Alpha(Opacity=30); }
 .ui-widget-shadow { margin: -8px 0 0 -8px; padding: 8px; background: #aaaaaa url(images/ui-bg_flat_0_aaaaaa_40x100.png) 50% 50% repeat-x; opacity: .30;filter:Alpha(Opacity=30); -moz-border-radius: 8px; -khtml-border-radius: 8px; -webkit-border-radius: 8px; border-radius: 8px; }/*!
- * jQuery UI Autocomplete 1.8.20
+ * jQuery UI Autocomplete 1.8.23
  *
  * Copyright 2012, AUTHORS.txt (http://jqueryui.com/about)
  * Dual licensed under the MIT or GPL Version 2 licenses.
  *
  * http://docs.jquery.com/UI/Autocomplete#theming
  */
-.ui-autocomplete { position: absolute; cursor: default; -webkit-box-shadow: 2px 2px 2px rgba(0,0,0,.3); -moz-box-shadow: 2px 2px 2px rgba(0,0,0,.3); box-shadow: 2px 2px 2px rgba(0,0,0,.3); }
-
-.ui-autocomplete.ui-widget-content .ui-state-hover { border: 1px solid #B9D8D9; background: #E6F0F2 none; font-weight: normal; color: #212121;
-}
-
-.ui-autocomplete-loading {
-    background: #FFF url("../../img/loading-small.gif") right center no-repeat;
-}
+.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.20
+ * jQuery UI Menu 1.8.23
  *
  * Copyright 2010, AUTHORS.txt (http://jqueryui.com/about)
  * Dual licensed under the MIT or GPL Version 2 licenses.
  * http://docs.jquery.com/UI/Menu#theming
  */
 .ui-menu {
-    list-style:none;
-    padding: 2px;
-    margin: 0;
-    display:block;
-    float: left;
-}
-.ui-menu li {
-    list-style:none;
+       list-style:none;
+       padding: 2px;
+  margin: 0;
+     display:block;
+ float: left;
 }
 .ui-menu .ui-menu {
-    margin-top: -3px;
+     margin-top: -3px;
 }
 .ui-menu .ui-menu-item {
-    margin:0;
-    padding: 0;
+   margin:0;
+      padding: 0;
     zoom: 1;
-    float: left;
-    clear: left;
-    width: 100%;
+       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;
+      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;
+  font-weight: normal;
+   margin: -1px;
 }
 /*!
- * jQuery UI Tabs 1.8.20
+ * jQuery UI Slider 1.8.23
+ *
+ * Copyright 2012, 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.23
  *
  * Copyright 2012, AUTHORS.txt (http://jqueryui.com/about)
  * Dual licensed under the MIT or GPL Version 2 licenses.
 .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.20
+ * jQuery UI Datepicker 1.8.23
  *
  * Copyright 2012, AUTHORS.txt (http://jqueryui.com/about)
  * Dual licensed under the MIT or GPL Version 2 licenses.
 .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 : 0; border-collapse: collapse; margin:0 0 .4em; }
-.ui-datepicker th { background : transparent none; padding: .7em .3em; text-align: center; font-weight: bold; border: 0;  }
+.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; }
 
 /* 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*/
index 6996eae..635f4c6 100644 (file)
@@ -1,29 +1,37 @@
-/*! jQuery UI - v1.8.21 - 2012-06-05
+/*! jQuery UI - v1.8.23 - 2012-08-15
 * https://github.com/jquery/jquery-ui
 * Includes: jquery.ui.core.js
 * Copyright (c) 2012 AUTHORS.txt; Licensed MIT, GPL */
-(function(a,b){function c(b,c){var e=b.nodeName.toLowerCase();if("area"===e){var f=b.parentNode,g=f.name,h;return!b.href||!g||f.nodeName.toLowerCase()!=="map"?!1:(h=a("img[usemap=#"+g+"]")[0],!!h&&d(h))}return(/input|select|textarea|button|object/.test(e)?!b.disabled:"a"==e?b.href||c:c)&&d(b)}function d(b){return!a(b).parents().andSelf().filter(function(){return a.curCSS(this,"visibility")==="hidden"||a.expr.filters.hidden(this)}).length}a.ui=a.ui||{};if(a.ui.version)return;a.extend(a.ui,{version:"1.8.21",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}}),a.fn.extend({propAttr:a.fn.prop||a.fn.attr,_focus:a.fn.focus,focus:function(b,c){return typeof b=="number"?this.each(function(){var d=this;setTimeout(function(){a(d).focus(),c&&c.call(d)},b)}):this._focus.apply(this,arguments)},scrollParent:function(){var b;return a.browser.msie&&/(static|relative)/.test(this.css("position"))||/absolute/.test(this.css("position"))?b=this.parents().filter(function(){return/(relative|absolute|fixed)/.test(a.curCSS(this,"position",1))&&/(auto|scroll)/.test(a.curCSS(this,"overflow",1)+a.curCSS(this,"overflow-y",1)+a.curCSS(this,"overflow-x",1))}).eq(0):b=this.parents().filter(function(){return/(auto|scroll)/.test(a.curCSS(this,"overflow",1)+a.curCSS(this,"overflow-y",1)+a.curCSS(this,"overflow-x",1))}).eq(0),/fixed/.test(this.css("position"))||!b.length?a(document):b},zIndex:function(c){if(c!==b)return this.css("zIndex",c);if(this.length){var d=a(this[0]),e,f;while(d.length&&d[0]!==document){e=d.css("position");if(e==="absolute"||e==="relative"||e==="fixed"){f=parseInt(d.css("zIndex"),10);if(!isNaN(f)&&f!==0)return f}d=d.parent()}}return 0},disableSelection:function(){return this.bind((a.support.selectstart?"selectstart":"mousedown")+".ui-disableSelection",function(a){a.preventDefault()})},enableSelection:function(){return this.unbind(".ui-disableSelection")}}),a.each(["Width","Height"],function(c,d){function h(b,c,d,f){return a.each(e,function(){c-=parseFloat(a.curCSS(b,"padding"+this,!0))||0,d&&(c-=parseFloat(a.curCSS(b,"border"+this+"Width",!0))||0),f&&(c-=parseFloat(a.curCSS(b,"margin"+this,!0))||0)}),c}var e=d==="Width"?["Left","Right"]:["Top","Bottom"],f=d.toLowerCase(),g={innerWidth:a.fn.innerWidth,innerHeight:a.fn.innerHeight,outerWidth:a.fn.outerWidth,outerHeight:a.fn.outerHeight};a.fn["inner"+d]=function(c){return c===b?g["inner"+d].call(this):this.each(function(){a(this).css(f,h(this,c)+"px")})},a.fn["outer"+d]=function(b,c){return typeof b!="number"?g["outer"+d].call(this,b):this.each(function(){a(this).css(f,h(this,b,!0,c)+"px")})}}),a.extend(a.expr[":"],{data:function(b,c,d){return!!a.data(b,d[3])},focusable:function(b){return c(b,!isNaN(a.attr(b,"tabindex")))},tabbable:function(b){var d=a.attr(b,"tabindex"),e=isNaN(d);return(e||d>=0)&&c(b,!e)}}),a(function(){var b=document.body,c=b.appendChild(c=document.createElement("div"));c.offsetHeight,a.extend(c.style,{minHeight:"100px",height:"auto",padding:0,borderWidth:0}),a.support.minHeight=c.offsetHeight===100,a.support.selectstart="onselectstart"in c,b.removeChild(c).style.display="none"}),a.extend(a.ui,{plugin:{add:function(b,c,d){var e=a.ui[b].prototype;for(var f in d)e.plugins[f]=e.plugins[f]||[],e.plugins[f].push([c,d[f]])},call:function(a,b,c){var d=a.plugins[b];if(!d||!a.element[0].parentNode)return;for(var e=0;e<d.length;e++)a.options[d[e][0]]&&d[e][1].apply(a.element,c)}},contains:function(a,b){return document.compareDocumentPosition?a.compareDocumentPosition(b)&16:a!==b&&a.contains(b)},hasScroll:function(b,c){if(a(b).css("overflow")==="hidden")return!1;var d=c&&c==="left"?"scrollLeft":"scrollTop",e=!1;return b[d]>0?!0:(b[d]=1,e=b[d]>0,b[d]=0,e)},isOverAxis:function(a,b,c){return a>b&&a<b+c},isOver:function(b,c,d,e,f,g){return a.ui.isOverAxis(b,d,f)&&a.ui.isOverAxis(c,e,g)}})})(jQuery);;/*! jQuery UI - v1.8.21 - 2012-06-05
+(function(a,b){function c(b,c){var e=b.nodeName.toLowerCase();if("area"===e){var f=b.parentNode,g=f.name,h;return!b.href||!g||f.nodeName.toLowerCase()!=="map"?!1:(h=a("img[usemap=#"+g+"]")[0],!!h&&d(h))}return(/input|select|textarea|button|object/.test(e)?!b.disabled:"a"==e?b.href||c:c)&&d(b)}function d(b){return!a(b).parents().andSelf().filter(function(){return a.curCSS(this,"visibility")==="hidden"||a.expr.filters.hidden(this)}).length}a.ui=a.ui||{};if(a.ui.version)return;a.extend(a.ui,{version:"1.8.23",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}}),a.fn.extend({propAttr:a.fn.prop||a.fn.attr,_focus:a.fn.focus,focus:function(b,c){return typeof b=="number"?this.each(function(){var d=this;setTimeout(function(){a(d).focus(),c&&c.call(d)},b)}):this._focus.apply(this,arguments)},scrollParent:function(){var b;return a.browser.msie&&/(static|relative)/.test(this.css("position"))||/absolute/.test(this.css("position"))?b=this.parents().filter(function(){return/(relative|absolute|fixed)/.test(a.curCSS(this,"position",1))&&/(auto|scroll)/.test(a.curCSS(this,"overflow",1)+a.curCSS(this,"overflow-y",1)+a.curCSS(this,"overflow-x",1))}).eq(0):b=this.parents().filter(function(){return/(auto|scroll)/.test(a.curCSS(this,"overflow",1)+a.curCSS(this,"overflow-y",1)+a.curCSS(this,"overflow-x",1))}).eq(0),/fixed/.test(this.css("position"))||!b.length?a(document):b},zIndex:function(c){if(c!==b)return this.css("zIndex",c);if(this.length){var d=a(this[0]),e,f;while(d.length&&d[0]!==document){e=d.css("position");if(e==="absolute"||e==="relative"||e==="fixed"){f=parseInt(d.css("zIndex"),10);if(!isNaN(f)&&f!==0)return f}d=d.parent()}}return 0},disableSelection:function(){return this.bind((a.support.selectstart?"selectstart":"mousedown")+".ui-disableSelection",function(a){a.preventDefault()})},enableSelection:function(){return this.unbind(".ui-disableSelection")}}),a("<a>").outerWidth(1).jquery||a.each(["Width","Height"],function(c,d){function h(b,c,d,f){return a.each(e,function(){c-=parseFloat(a.curCSS(b,"padding"+this,!0))||0,d&&(c-=parseFloat(a.curCSS(b,"border"+this+"Width",!0))||0),f&&(c-=parseFloat(a.curCSS(b,"margin"+this,!0))||0)}),c}var e=d==="Width"?["Left","Right"]:["Top","Bottom"],f=d.toLowerCase(),g={innerWidth:a.fn.innerWidth,innerHeight:a.fn.innerHeight,outerWidth:a.fn.outerWidth,outerHeight:a.fn.outerHeight};a.fn["inner"+d]=function(c){return c===b?g["inner"+d].call(this):this.each(function(){a(this).css(f,h(this,c)+"px")})},a.fn["outer"+d]=function(b,c){return typeof b!="number"?g["outer"+d].call(this,b):this.each(function(){a(this).css(f,h(this,b,!0,c)+"px")})}}),a.extend(a.expr[":"],{data:a.expr.createPseudo?a.expr.createPseudo(function(b){return function(c){return!!a.data(c,b)}}):function(b,c,d){return!!a.data(b,d[3])},focusable:function(b){return c(b,!isNaN(a.attr(b,"tabindex")))},tabbable:function(b){var d=a.attr(b,"tabindex"),e=isNaN(d);return(e||d>=0)&&c(b,!e)}}),a(function(){var b=document.body,c=b.appendChild(c=document.createElement("div"));c.offsetHeight,a.extend(c.style,{minHeight:"100px",height:"auto",padding:0,borderWidth:0}),a.support.minHeight=c.offsetHeight===100,a.support.selectstart="onselectstart"in c,b.removeChild(c).style.display="none"}),a.curCSS||(a.curCSS=a.css),a.extend(a.ui,{plugin:{add:function(b,c,d){var e=a.ui[b].prototype;for(var f in d)e.plugins[f]=e.plugins[f]||[],e.plugins[f].push([c,d[f]])},call:function(a,b,c){var d=a.plugins[b];if(!d||!a.element[0].parentNode)return;for(var e=0;e<d.length;e++)a.options[d[e][0]]&&d[e][1].apply(a.element,c)}},contains:function(a,b){return document.compareDocumentPosition?a.compareDocumentPosition(b)&16:a!==b&&a.contains(b)},hasScroll:function(b,c){if(a(b).css("overflow")==="hidden")return!1;var d=c&&c==="left"?"scrollLeft":"scrollTop",e=!1;return b[d]>0?!0:(b[d]=1,e=b[d]>0,b[d]=0,e)},isOverAxis:function(a,b,c){return a>b&&a<b+c},isOver:function(b,c,d,e,f,g){return a.ui.isOverAxis(b,d,f)&&a.ui.isOverAxis(c,e,g)}})})(jQuery);;/*! jQuery UI - v1.8.23 - 2012-08-15
 * https://github.com/jquery/jquery-ui
 * Includes: jquery.ui.widget.js
 * Copyright (c) 2012 AUTHORS.txt; Licensed MIT, GPL */
-(function(a,b){if(a.cleanData){var c=a.cleanData;a.cleanData=function(b){for(var d=0,e;(e=b[d])!=null;d++)try{a(e).triggerHandler("remove")}catch(f){}c(b)}}else{var d=a.fn.remove;a.fn.remove=function(b,c){return this.each(function(){return c||(!b||a.filter(b,[this]).length)&&a("*",this).add([this]).each(function(){try{a(this).triggerHandler("remove")}catch(b){}}),d.call(a(this),b,c)})}}a.widget=function(b,c,d){var e=b.split(".")[0],f;b=b.split(".")[1],f=e+"-"+b,d||(d=c,c=a.Widget),a.expr[":"][f]=function(c){return!!a.data(c,b)},a[e]=a[e]||{},a[e][b]=function(a,b){arguments.length&&this._createWidget(a,b)};var g=new c;g.options=a.extend(!0,{},g.options),a[e][b].prototype=a.extend(!0,g,{namespace:e,widgetName:b,widgetEventPrefix:a[e][b].prototype.widgetEventPrefix||b,widgetBaseClass:f},d),a.widget.bridge(b,a[e][b])},a.widget.bridge=function(c,d){a.fn[c]=function(e){var f=typeof e=="string",g=Array.prototype.slice.call(arguments,1),h=this;return e=!f&&g.length?a.extend.apply(null,[!0,e].concat(g)):e,f&&e.charAt(0)==="_"?h:(f?this.each(function(){var d=a.data(this,c),f=d&&a.isFunction(d[e])?d[e].apply(d,g):d;if(f!==d&&f!==b)return h=f,!1}):this.each(function(){var b=a.data(this,c);b?b.option(e||{})._init():a.data(this,c,new d(e,this))}),h)}},a.Widget=function(a,b){arguments.length&&this._createWidget(a,b)},a.Widget.prototype={widgetName:"widget",widgetEventPrefix:"",options:{disabled:!1},_createWidget:function(b,c){a.data(c,this.widgetName,this),this.element=a(c),this.options=a.extend(!0,{},this.options,this._getCreateOptions(),b);var d=this;this.element.bind("remove."+this.widgetName,function(){d.destroy()}),this._create(),this._trigger("create"),this._init()},_getCreateOptions:function(){return a.metadata&&a.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(c,d){var e=c;if(arguments.length===0)return a.extend({},this.options);if(typeof c=="string"){if(d===b)return this.options[c];e={},e[c]=d}return this._setOptions(e),this},_setOptions:function(b){var c=this;return a.each(b,function(a,b){c._setOption(a,b)}),this},_setOption:function(a,b){return this.options[a]=b,a==="disabled"&&this.widget()[b?"addClass":"removeClass"](this.widgetBaseClass+"-disabled"+" "+"ui-state-disabled").attr("aria-disabled",b),this},enable:function(){return this._setOption("disabled",!1)},disable:function(){return this._setOption("disabled",!0)},_trigger:function(b,c,d){var e,f,g=this.options[b];d=d||{},c=a.Event(c),c.type=(b===this.widgetEventPrefix?b:this.widgetEventPrefix+b).toLowerCase(),c.target=this.element[0],f=c.originalEvent;if(f)for(e in f)e in c||(c[e]=f[e]);return this.element.trigger(c,d),!(a.isFunction(g)&&g.call(this.element[0],c,d)===!1||c.isDefaultPrevented())}}})(jQuery);;/*! jQuery UI - v1.8.21 - 2012-06-05
+(function(a,b){if(a.cleanData){var c=a.cleanData;a.cleanData=function(b){for(var d=0,e;(e=b[d])!=null;d++)try{a(e).triggerHandler("remove")}catch(f){}c(b)}}else{var d=a.fn.remove;a.fn.remove=function(b,c){return this.each(function(){return c||(!b||a.filter(b,[this]).length)&&a("*",this).add([this]).each(function(){try{a(this).triggerHandler("remove")}catch(b){}}),d.call(a(this),b,c)})}}a.widget=function(b,c,d){var e=b.split(".")[0],f;b=b.split(".")[1],f=e+"-"+b,d||(d=c,c=a.Widget),a.expr[":"][f]=function(c){return!!a.data(c,b)},a[e]=a[e]||{},a[e][b]=function(a,b){arguments.length&&this._createWidget(a,b)};var g=new c;g.options=a.extend(!0,{},g.options),a[e][b].prototype=a.extend(!0,g,{namespace:e,widgetName:b,widgetEventPrefix:a[e][b].prototype.widgetEventPrefix||b,widgetBaseClass:f},d),a.widget.bridge(b,a[e][b])},a.widget.bridge=function(c,d){a.fn[c]=function(e){var f=typeof e=="string",g=Array.prototype.slice.call(arguments,1),h=this;return e=!f&&g.length?a.extend.apply(null,[!0,e].concat(g)):e,f&&e.charAt(0)==="_"?h:(f?this.each(function(){var d=a.data(this,c),f=d&&a.isFunction(d[e])?d[e].apply(d,g):d;if(f!==d&&f!==b)return h=f,!1}):this.each(function(){var b=a.data(this,c);b?b.option(e||{})._init():a.data(this,c,new d(e,this))}),h)}},a.Widget=function(a,b){arguments.length&&this._createWidget(a,b)},a.Widget.prototype={widgetName:"widget",widgetEventPrefix:"",options:{disabled:!1},_createWidget:function(b,c){a.data(c,this.widgetName,this),this.element=a(c),this.options=a.extend(!0,{},this.options,this._getCreateOptions(),b);var d=this;this.element.bind("remove."+this.widgetName,function(){d.destroy()}),this._create(),this._trigger("create"),this._init()},_getCreateOptions:function(){return a.metadata&&a.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(c,d){var e=c;if(arguments.length===0)return a.extend({},this.options);if(typeof c=="string"){if(d===b)return this.options[c];e={},e[c]=d}return this._setOptions(e),this},_setOptions:function(b){var c=this;return a.each(b,function(a,b){c._setOption(a,b)}),this},_setOption:function(a,b){return this.options[a]=b,a==="disabled"&&this.widget()[b?"addClass":"removeClass"](this.widgetBaseClass+"-disabled"+" "+"ui-state-disabled").attr("aria-disabled",b),this},enable:function(){return this._setOption("disabled",!1)},disable:function(){return this._setOption("disabled",!0)},_trigger:function(b,c,d){var e,f,g=this.options[b];d=d||{},c=a.Event(c),c.type=(b===this.widgetEventPrefix?b:this.widgetEventPrefix+b).toLowerCase(),c.target=this.element[0],f=c.originalEvent;if(f)for(e in f)e in c||(c[e]=f[e]);return this.element.trigger(c,d),!(a.isFunction(g)&&g.call(this.element[0],c,d)===!1||c.isDefaultPrevented())}}})(jQuery);;/*! jQuery UI - v1.8.23 - 2012-08-15
 * https://github.com/jquery/jquery-ui
 * Includes: jquery.ui.mouse.js
 * Copyright (c) 2012 AUTHORS.txt; Licensed MIT, GPL */
-(function(a,b){var c=!1;a(document).mouseup(function(a){c=!1}),a.widget("ui.mouse",{options:{cancel:":input,option",distance:1,delay:0},_mouseInit:function(){var b=this;this.element.bind("mousedown."+this.widgetName,function(a){return b._mouseDown(a)}).bind("click."+this.widgetName,function(c){if(!0===a.data(c.target,b.widgetName+".preventClickEvent"))return a.removeData(c.target,b.widgetName+".preventClickEvent"),c.stopImmediatePropagation(),!1}),this.started=!1},_mouseDestroy:function(){this.element.unbind("."+this.widgetName),a(document).unbind("mousemove."+this.widgetName,this._mouseMoveDelegate).unbind("mouseup."+this.widgetName,this._mouseUpDelegate)},_mouseDown:function(b){if(c)return;this._mouseStarted&&this._mouseUp(b),this._mouseDownEvent=b;var d=this,e=b.which==1,f=typeof this.options.cancel=="string"&&b.target.nodeName?a(b.target).closest(this.options.cancel).length:!1;if(!e||f||!this._mouseCapture(b))return!0;this.mouseDelayMet=!this.options.delay,this.mouseDelayMet||(this._mouseDelayTimer=setTimeout(function(){d.mouseDelayMet=!0},this.options.delay));if(this._mouseDistanceMet(b)&&this._mouseDelayMet(b)){this._mouseStarted=this._mouseStart(b)!==!1;if(!this._mouseStarted)return b.preventDefault(),!0}return!0===a.data(b.target,this.widgetName+".preventClickEvent")&&a.removeData(b.target,this.widgetName+".preventClickEvent"),this._mouseMoveDelegate=function(a){return d._mouseMove(a)},this._mouseUpDelegate=function(a){return d._mouseUp(a)},a(document).bind("mousemove."+this.widgetName,this._mouseMoveDelegate).bind("mouseup."+this.widgetName,this._mouseUpDelegate),b.preventDefault(),c=!0,!0},_mouseMove:function(b){return!a.browser.msie||document.documentMode>=9||!!b.button?this._mouseStarted?(this._mouseDrag(b),b.preventDefault()):(this._mouseDistanceMet(b)&&this._mouseDelayMet(b)&&(this._mouseStarted=this._mouseStart(this._mouseDownEvent,b)!==!1,this._mouseStarted?this._mouseDrag(b):this._mouseUp(b)),!this._mouseStarted):this._mouseUp(b)},_mouseUp:function(b){return a(document).unbind("mousemove."+this.widgetName,this._mouseMoveDelegate).unbind("mouseup."+this.widgetName,this._mouseUpDelegate),this._mouseStarted&&(this._mouseStarted=!1,b.target==this._mouseDownEvent.target&&a.data(b.target,this.widgetName+".preventClickEvent",!0),this._mouseStop(b)),!1},_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(a){return this.mouseDelayMet},_mouseStart:function(a){},_mouseDrag:function(a){},_mouseStop:function(a){},_mouseCapture:function(a){return!0}})})(jQuery);;/*! jQuery UI - v1.8.21 - 2012-06-05
+(function(a,b){var c=!1;a(document).mouseup(function(a){c=!1}),a.widget("ui.mouse",{options:{cancel:":input,option",distance:1,delay:0},_mouseInit:function(){var b=this;this.element.bind("mousedown."+this.widgetName,function(a){return b._mouseDown(a)}).bind("click."+this.widgetName,function(c){if(!0===a.data(c.target,b.widgetName+".preventClickEvent"))return a.removeData(c.target,b.widgetName+".preventClickEvent"),c.stopImmediatePropagation(),!1}),this.started=!1},_mouseDestroy:function(){this.element.unbind("."+this.widgetName),this._mouseMoveDelegate&&a(document).unbind("mousemove."+this.widgetName,this._mouseMoveDelegate).unbind("mouseup."+this.widgetName,this._mouseUpDelegate)},_mouseDown:function(b){if(c)return;this._mouseStarted&&this._mouseUp(b),this._mouseDownEvent=b;var d=this,e=b.which==1,f=typeof this.options.cancel=="string"&&b.target.nodeName?a(b.target).closest(this.options.cancel).length:!1;if(!e||f||!this._mouseCapture(b))return!0;this.mouseDelayMet=!this.options.delay,this.mouseDelayMet||(this._mouseDelayTimer=setTimeout(function(){d.mouseDelayMet=!0},this.options.delay));if(this._mouseDistanceMet(b)&&this._mouseDelayMet(b)){this._mouseStarted=this._mouseStart(b)!==!1;if(!this._mouseStarted)return b.preventDefault(),!0}return!0===a.data(b.target,this.widgetName+".preventClickEvent")&&a.removeData(b.target,this.widgetName+".preventClickEvent"),this._mouseMoveDelegate=function(a){return d._mouseMove(a)},this._mouseUpDelegate=function(a){return d._mouseUp(a)},a(document).bind("mousemove."+this.widgetName,this._mouseMoveDelegate).bind("mouseup."+this.widgetName,this._mouseUpDelegate),b.preventDefault(),c=!0,!0},_mouseMove:function(b){return!a.browser.msie||document.documentMode>=9||!!b.button?this._mouseStarted?(this._mouseDrag(b),b.preventDefault()):(this._mouseDistanceMet(b)&&this._mouseDelayMet(b)&&(this._mouseStarted=this._mouseStart(this._mouseDownEvent,b)!==!1,this._mouseStarted?this._mouseDrag(b):this._mouseUp(b)),!this._mouseStarted):this._mouseUp(b)},_mouseUp:function(b){return a(document).unbind("mousemove."+this.widgetName,this._mouseMoveDelegate).unbind("mouseup."+this.widgetName,this._mouseUpDelegate),this._mouseStarted&&(this._mouseStarted=!1,b.target==this._mouseDownEvent.target&&a.data(b.target,this.widgetName+".preventClickEvent",!0),this._mouseStop(b)),!1},_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(a){return this.mouseDelayMet},_mouseStart:function(a){},_mouseDrag:function(a){},_mouseStop:function(a){},_mouseCapture:function(a){return!0}})})(jQuery);;/*! jQuery UI - v1.8.23 - 2012-08-15
 * https://github.com/jquery/jquery-ui
 * Includes: jquery.ui.position.js
 * Copyright (c) 2012 AUTHORS.txt; Licensed MIT, GPL */
-(function(a,b){a.ui=a.ui||{};var c=/left|center|right/,d=/top|center|bottom/,e="center",f={},g=a.fn.position,h=a.fn.offset;a.fn.position=function(b){if(!b||!b.of)return g.apply(this,arguments);b=a.extend({},b);var h=a(b.of),i=h[0],j=(b.collision||"flip").split(" "),k=b.offset?b.offset.split(" "):[0,0],l,m,n;return i.nodeType===9?(l=h.width(),m=h.height(),n={top:0,left:0}):i.setTimeout?(l=h.width(),m=h.height(),n={top:h.scrollTop(),left:h.scrollLeft()}):i.preventDefault?(b.at="left top",l=m=0,n={top:b.of.pageY,left:b.of.pageX}):(l=h.outerWidth(),m=h.outerHeight(),n=h.offset()),a.each(["my","at"],function(){var a=(b[this]||"").split(" ");a.length===1&&(a=c.test(a[0])?a.concat([e]):d.test(a[0])?[e].concat(a):[e,e]),a[0]=c.test(a[0])?a[0]:e,a[1]=d.test(a[1])?a[1]:e,b[this]=a}),j.length===1&&(j[1]=j[0]),k[0]=parseInt(k[0],10)||0,k.length===1&&(k[1]=k[0]),k[1]=parseInt(k[1],10)||0,b.at[0]==="right"?n.left+=l:b.at[0]===e&&(n.left+=l/2),b.at[1]==="bottom"?n.top+=m:b.at[1]===e&&(n.top+=m/2),n.left+=k[0],n.top+=k[1],this.each(function(){var c=a(this),d=c.outerWidth(),g=c.outerHeight(),h=parseInt(a.curCSS(this,"marginLeft",!0))||0,i=parseInt(a.curCSS(this,"marginTop",!0))||0,o=d+h+(parseInt(a.curCSS(this,"marginRight",!0))||0),p=g+i+(parseInt(a.curCSS(this,"marginBottom",!0))||0),q=a.extend({},n),r;b.my[0]==="right"?q.left-=d:b.my[0]===e&&(q.left-=d/2),b.my[1]==="bottom"?q.top-=g:b.my[1]===e&&(q.top-=g/2),f.fractions||(q.left=Math.round(q.left),q.top=Math.round(q.top)),r={left:q.left-h,top:q.top-i},a.each(["left","top"],function(c,e){a.ui.position[j[c]]&&a.ui.position[j[c]][e](q,{targetWidth:l,targetHeight:m,elemWidth:d,elemHeight:g,collisionPosition:r,collisionWidth:o,collisionHeight:p,offset:k,my:b.my,at:b.at})}),a.fn.bgiframe&&c.bgiframe(),c.offset(a.extend(q,{using:b.using}))})},a.ui.position={fit:{left:function(b,c){var d=a(window),e=c.collisionPosition.left+c.collisionWidth-d.width()-d.scrollLeft();b.left=e>0?b.left-e:Math.max(b.left-c.collisionPosition.left,b.left)},top:function(b,c){var d=a(window),e=c.collisionPosition.top+c.collisionHeight-d.height()-d.scrollTop();b.top=e>0?b.top-e:Math.max(b.top-c.collisionPosition.top,b.top)}},flip:{left:function(b,c){if(c.at[0]===e)return;var d=a(window),f=c.collisionPosition.left+c.collisionWidth-d.width()-d.scrollLeft(),g=c.my[0]==="left"?-c.elemWidth:c.my[0]==="right"?c.elemWidth:0,h=c.at[0]==="left"?c.targetWidth:-c.targetWidth,i=-2*c.offset[0];b.left+=c.collisionPosition.left<0?g+h+i:f>0?g+h+i:0},top:function(b,c){if(c.at[1]===e)return;var d=a(window),f=c.collisionPosition.top+c.collisionHeight-d.height()-d.scrollTop(),g=c.my[1]==="top"?-c.elemHeight:c.my[1]==="bottom"?c.elemHeight:0,h=c.at[1]==="top"?c.targetHeight:-c.targetHeight,i=-2*c.offset[1];b.top+=c.collisionPosition.top<0?g+h+i:f>0?g+h+i:0}}},a.offset.setOffset||(a.offset.setOffset=function(b,c){/static/.test(a.curCSS(b,"position"))&&(b.style.position="relative");var d=a(b),e=d.offset(),f=parseInt(a.curCSS(b,"top",!0),10)||0,g=parseInt(a.curCSS(b,"left",!0),10)||0,h={top:c.top-e.top+f,left:c.left-e.left+g};"using"in c?c.using.call(b,h):d.css(h)},a.fn.offset=function(b){var c=this[0];return!c||!c.ownerDocument?null:b?a.isFunction(b)?this.each(function(c){a(this).offset(b.call(this,c,a(this).offset()))}):this.each(function(){a.offset.setOffset(this,b)}):h.call(this)}),function(){var b=document.getElementsByTagName("body")[0],c=document.createElement("div"),d,e,g,h,i;d=document.createElement(b?"div":"body"),g={visibility:"hidden",width:0,height:0,border:0,margin:0,background:"none"},b&&a.extend(g,{position:"absolute",left:"-1000px",top:"-1000px"});for(var j in g)d.style[j]=g[j];d.appendChild(c),e=b||document.documentElement,e.insertBefore(d,e.firstChild),c.style.cssText="position: absolute; left: 10.7432222px; top: 10.432325px; height: 30px; width: 201px;",h=a(c).offset(function(a,b){return b}).offset(),d.innerHTML="",e.removeChild(d),i=h.top+h.left+(b?2e3:0),f.fractions=i>21&&i<22}()})(jQuery);;/*! jQuery UI - v1.8.21 - 2012-06-05
+(function(a,b){a.ui=a.ui||{};var c=/left|center|right/,d=/top|center|bottom/,e="center",f={},g=a.fn.position,h=a.fn.offset;a.fn.position=function(b){if(!b||!b.of)return g.apply(this,arguments);b=a.extend({},b);var h=a(b.of),i=h[0],j=(b.collision||"flip").split(" "),k=b.offset?b.offset.split(" "):[0,0],l,m,n;return i.nodeType===9?(l=h.width(),m=h.height(),n={top:0,left:0}):i.setTimeout?(l=h.width(),m=h.height(),n={top:h.scrollTop(),left:h.scrollLeft()}):i.preventDefault?(b.at="left top",l=m=0,n={top:b.of.pageY,left:b.of.pageX}):(l=h.outerWidth(),m=h.outerHeight(),n=h.offset()),a.each(["my","at"],function(){var a=(b[this]||"").split(" ");a.length===1&&(a=c.test(a[0])?a.concat([e]):d.test(a[0])?[e].concat(a):[e,e]),a[0]=c.test(a[0])?a[0]:e,a[1]=d.test(a[1])?a[1]:e,b[this]=a}),j.length===1&&(j[1]=j[0]),k[0]=parseInt(k[0],10)||0,k.length===1&&(k[1]=k[0]),k[1]=parseInt(k[1],10)||0,b.at[0]==="right"?n.left+=l:b.at[0]===e&&(n.left+=l/2),b.at[1]==="bottom"?n.top+=m:b.at[1]===e&&(n.top+=m/2),n.left+=k[0],n.top+=k[1],this.each(function(){var c=a(this),d=c.outerWidth(),g=c.outerHeight(),h=parseInt(a.curCSS(this,"marginLeft",!0))||0,i=parseInt(a.curCSS(this,"marginTop",!0))||0,o=d+h+(parseInt(a.curCSS(this,"marginRight",!0))||0),p=g+i+(parseInt(a.curCSS(this,"marginBottom",!0))||0),q=a.extend({},n),r;b.my[0]==="right"?q.left-=d:b.my[0]===e&&(q.left-=d/2),b.my[1]==="bottom"?q.top-=g:b.my[1]===e&&(q.top-=g/2),f.fractions||(q.left=Math.round(q.left),q.top=Math.round(q.top)),r={left:q.left-h,top:q.top-i},a.each(["left","top"],function(c,e){a.ui.position[j[c]]&&a.ui.position[j[c]][e](q,{targetWidth:l,targetHeight:m,elemWidth:d,elemHeight:g,collisionPosition:r,collisionWidth:o,collisionHeight:p,offset:k,my:b.my,at:b.at})}),a.fn.bgiframe&&c.bgiframe(),c.offset(a.extend(q,{using:b.using}))})},a.ui.position={fit:{left:function(b,c){var d=a(window),e=c.collisionPosition.left+c.collisionWidth-d.width()-d.scrollLeft();b.left=e>0?b.left-e:Math.max(b.left-c.collisionPosition.left,b.left)},top:function(b,c){var d=a(window),e=c.collisionPosition.top+c.collisionHeight-d.height()-d.scrollTop();b.top=e>0?b.top-e:Math.max(b.top-c.collisionPosition.top,b.top)}},flip:{left:function(b,c){if(c.at[0]===e)return;var d=a(window),f=c.collisionPosition.left+c.collisionWidth-d.width()-d.scrollLeft(),g=c.my[0]==="left"?-c.elemWidth:c.my[0]==="right"?c.elemWidth:0,h=c.at[0]==="left"?c.targetWidth:-c.targetWidth,i=-2*c.offset[0];b.left+=c.collisionPosition.left<0?g+h+i:f>0?g+h+i:0},top:function(b,c){if(c.at[1]===e)return;var d=a(window),f=c.collisionPosition.top+c.collisionHeight-d.height()-d.scrollTop(),g=c.my[1]==="top"?-c.elemHeight:c.my[1]==="bottom"?c.elemHeight:0,h=c.at[1]==="top"?c.targetHeight:-c.targetHeight,i=-2*c.offset[1];b.top+=c.collisionPosition.top<0?g+h+i:f>0?g+h+i:0}}},a.offset.setOffset||(a.offset.setOffset=function(b,c){/static/.test(a.curCSS(b,"position"))&&(b.style.position="relative");var d=a(b),e=d.offset(),f=parseInt(a.curCSS(b,"top",!0),10)||0,g=parseInt(a.curCSS(b,"left",!0),10)||0,h={top:c.top-e.top+f,left:c.left-e.left+g};"using"in c?c.using.call(b,h):d.css(h)},a.fn.offset=function(b){var c=this[0];return!c||!c.ownerDocument?null:b?a.isFunction(b)?this.each(function(c){a(this).offset(b.call(this,c,a(this).offset()))}):this.each(function(){a.offset.setOffset(this,b)}):h.call(this)}),a.curCSS||(a.curCSS=a.css),function(){var b=document.getElementsByTagName("body")[0],c=document.createElement("div"),d,e,g,h,i;d=document.createElement(b?"div":"body"),g={visibility:"hidden",width:0,height:0,border:0,margin:0,background:"none"},b&&a.extend(g,{position:"absolute",left:"-1000px",top:"-1000px"});for(var j in g)d.style[j]=g[j];d.appendChild(c),e=b||document.documentElement,e.insertBefore(d,e.firstChild),c.style.cssText="position: absolute; left: 10.7432222px; top: 10.432325px; height: 30px; width: 201px;",h=a(c).offset(function(a,b){return b}).offset(),d.innerHTML="",e.removeChild(d),i=h.top+h.left+(b?2e3:0),f.fractions=i>21&&i<22}()})(jQuery);;/*! jQuery UI - v1.8.23 - 2012-08-15
+* https://github.com/jquery/jquery-ui
+* Includes: jquery.ui.sortable.js
+* Copyright (c) 2012 AUTHORS.txt; Licensed MIT, GPL */
+(function(a,b){a.widget("ui.sortable",a.ui.mouse,{widgetEventPrefix:"sort",ready:!1,options:{appendTo:"parent",axis:!1,connectWith:!1,containment:!1,cursor:"auto",cursorAt:!1,dropOnEmpty:!0,forcePlaceholderSize:!1,forceHelperSize:!1,grid:!1,handle:!1,helper:"original",items:"> *",opacity:!1,placeholder:!1,revert:!1,scroll:!0,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")):!1,this.offset=this.element.offset(),this._mouseInit(),this.ready=!0},destroy:function(){a.Widget.prototype.destroy.call(this),this.element.removeClass("ui-sortable ui-sortable-disabled"),this._mouseDestroy();for(var b=this.items.length-1;b>=0;b--)this.items[b].item.removeData(this.widgetName+"-item");return this},_setOption:function(b,c){b==="disabled"?(this.options[b]=c,this.widget()[c?"addClass":"removeClass"]("ui-sortable-disabled")):a.Widget.prototype._setOption.apply(this,arguments)},_mouseCapture:function(b,c){var d=this;if(this.reverting)return!1;if(this.options.disabled||this.options.type=="static")return!1;this._refreshItems(b);var e=null,f=this,g=a(b.target).parents().each(function(){if(a.data(this,d.widgetName+"-item")==f)return e=a(this),!1});a.data(b.target,d.widgetName+"-item")==f&&(e=a(b.target));if(!e)return!1;if(this.options.handle&&!c){var h=!1;a(this.options.handle,e).find("*").andSelf().each(function(){this==b.target&&(h=!0)});if(!h)return!1}return this.currentItem=e,this._removeCurrentsFromItems(),!0},_mouseStart:function(b,c,d){var e=this.options,f=this;this.currentContainer=this,this.refreshPositions(),this.helper=this._createHelper(b),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},a.extend(this.offset,{click:{left:b.pageX-this.offset.left,top:b.pageY-this.offset.top},parent:this._getParentOffset(),relative:this._getRelativeOffset()}),this.helper.css("position","absolute"),this.cssPosition=this.helper.css("position"),this.originalPosition=this._generatePosition(b),this.originalPageX=b.pageX,this.originalPageY=b.pageY,e.cursorAt&&this._adjustOffsetFromHelper(e.cursorAt),this.domPosition={prev:this.currentItem.prev()[0],parent:this.currentItem.parent()[0]},this.helper[0]!=this.currentItem[0]&&this.currentItem.hide(),this._createPlaceholder(),e.containment&&this._setContainment(),e.cursor&&(a("body").css("cursor")&&(this._storedCursor=a("body").css("cursor")),a("body").css("cursor",e.cursor)),e.opacity&&(this.helper.css("opacity")&&(this._storedOpacity=this.helper.css("opacity")),this.helper.css("opacity",e.opacity)),e.zIndex&&(this.helper.css("zIndex")&&(this._storedZIndex=this.helper.css("zIndex")),this.helper.css("zIndex",e.zIndex)),this.scrollParent[0]!=document&&this.scrollParent[0].tagName!="HTML"&&(this.overflowOffset=this.scrollParent.offset()),this._trigger("start",b,this._uiHash()),this._preserveHelperProportions||this._cacheHelperProportions();if(!d)for(var g=this.containers.length-1;g>=0;g--)this.containers[g]._trigger("activate",b,f._uiHash(this));return a.ui.ddmanager&&(a.ui.ddmanager.current=this),a.ui.ddmanager&&!e.dropBehaviour&&a.ui.ddmanager.prepareOffsets(this,b),this.dragging=!0,this.helper.addClass("ui-sortable-helper"),this._mouseDrag(b),!0},_mouseDrag:function(b){this.position=this._generatePosition(b),this.positionAbs=this._convertPositionTo("absolute"),this.lastPositionAbs||(this.lastPositionAbs=this.positionAbs);if(this.options.scroll){var c=this.options,d=!1;this.scrollParent[0]!=document&&this.scrollParent[0].tagName!="HTML"?(this.overflowOffset.top+this.scrollParent[0].offsetHeight-b.pageY<c.scrollSensitivity?this.scrollParent[0].scrollTop=d=this.scrollParent[0].scrollTop+c.scrollSpeed:b.pageY-this.overflowOffset.top<c.scrollSensitivity&&(this.scrollParent[0].scrollTop=d=this.scrollParent[0].scrollTop-c.scrollSpeed),this.overflowOffset.left+this.scrollParent[0].offsetWidth-b.pageX<c.scrollSensitivity?this.scrollParent[0].scrollLeft=d=this.scrollParent[0].scrollLeft+c.scrollSpeed:b.pageX-this.overflowOffset.left<c.scrollSensitivity&&(this.scrollParent[0].scrollLeft=d=this.scrollParent[0].scrollLeft-c.scrollSpeed)):(b.pageY-a(document).scrollTop()<c.scrollSensitivity?d=a(document).scrollTop(a(document).scrollTop()-c.scrollSpeed):a(window).height()-(b.pageY-a(document).scrollTop())<c.scrollSensitivity&&(d=a(document).scrollTop(a(document).scrollTop()+c.scrollSpeed)),b.pageX-a(document).scrollLeft()<c.scrollSensitivity?d=a(document).scrollLeft(a(document).scrollLeft()-c.scrollSpeed):a(window).width()-(b.pageX-a(document).scrollLeft())<c.scrollSensitivity&&(d=a(document).scrollLeft(a(document).scrollLeft()+c.scrollSpeed))),d!==!1&&a.ui.ddmanager&&!c.dropBehaviour&&a.ui.ddmanager.prepareOffsets(this,b)}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(var e=this.items.length-1;e>=0;e--){var f=this.items[e],g=f.item[0],h=this._intersectsWithPointer(f);if(!h)continue;if(g!=this.currentItem[0]&&this.placeholder[h==1?"next":"prev"]()[0]!=g&&!a.ui.contains(this.placeholder[0],g)&&(this.options.type=="semi-dynamic"?!a.ui.contains(this.element[0],g):!0)){this.direction=h==1?"down":"up";if(this.options.tolerance=="pointer"||this._intersectsWithSides(f))this._rearrange(b,f);else break;this._trigger("change",b,this._uiHash());break}}return this._contactContainers(b),a.ui.ddmanager&&a.ui.ddmanager.drag(this,b),this._trigger("sort",b,this._uiHash()),this.lastPositionAbs=this.positionAbs,!1},_mouseStop:function(b,c){if(!b)return;a.ui.ddmanager&&!this.options.dropBehaviour&&a.ui.ddmanager.drop(this,b);if(this.options.revert){var d=this,e=d.placeholder.offset();d.reverting=!0,a(this.helper).animate({left:e.left-this.offset.parent.left-d.margins.left+(this.offsetParent[0]==document.body?0:this.offsetParent[0].scrollLeft),top:e.top-this.offset.parent.top-d.margins.top+(this.offsetParent[0]==document.body?0:this.offsetParent[0].scrollTop)},parseInt(this.options.revert,10)||500,function(){d._clear(b)})}else this._clear(b,c);return!1},cancel:function(){var b=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 c=this.containers.length-1;c>=0;c--)this.containers[c]._trigger("deactivate",null,b._uiHash(this)),this.containers[c].containerCache.over&&(this.containers[c]._trigger("out",null,b._uiHash(this)),this.containers[c].containerCache.over=0)}return 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(),a.extend(this,{helper:null,dragging:!1,reverting:!1,_noFinalSort:null}),this.domPosition.prev?a(this.domPosition.prev).after(this.currentItem):a(this.domPosition.parent).prepend(this.currentItem)),this},serialize:function(b){var c=this._getItemsAsjQuery(b&&b.connected),d=[];return b=b||{},a(c).each(function(){var c=(a(b.item||this).attr(b.attribute||"id")||"").match(b.expression||/(.+)[-=_](.+)/);c&&d.push((b.key||c[1]+"[]")+"="+(b.key&&b.expression?c[1]:c[2]))}),!d.length&&b.key&&d.push(b.key+"="),d.join("&")},toArray:function(b){var c=this._getItemsAsjQuery(b&&b.connected),d=[];return b=b||{},c.each(function(){d.push(a(b.item||this).attr(b.attribute||"id")||"")}),d},_intersectsWith:function(a){var b=this.positionAbs.left,c=b+this.helperProportions.width,d=this.positionAbs.top,e=d+this.helperProportions.height,f=a.left,g=f+a.width,h=a.top,i=h+a.height,j=this.offset.click.top,k=this.offset.click.left,l=d+j>h&&d+j<i&&b+k>f&&b+k<g;return this.options.tolerance=="pointer"||this.options.forcePointerForContainers||this.options.tolerance!="pointer"&&this.helperProportions[this.floating?"width":"height"]>a[this.floating?"width":"height"]?l:f<b+this.helperProportions.width/2&&c-this.helperProportions.width/2<g&&h<d+this.helperProportions.height/2&&e-this.helperProportions.height/2<i},_intersectsWithPointer:function(b){var c=this.options.axis==="x"||a.ui.isOverAxis(this.positionAbs.top+this.offset.click.top,b.top,b.height),d=this.options.axis==="y"||a.ui.isOverAxis(this.positionAbs.left+this.offset.click.left,b.left,b.width),e=c&&d,f=this._getDragVerticalDirection(),g=this._getDragHorizontalDirection();return e?this.floating?g&&g=="right"||f=="down"?2:1:f&&(f=="down"?2:1):!1},_intersectsWithSides:function(b){var c=a.ui.isOverAxis(this.positionAbs.top+this.offset.click.top,b.top+b.height/2,b.height),d=a.ui.isOverAxis(this.positionAbs.left+this.offset.click.left,b.left+b.width/2,b.width),e=this._getDragVerticalDirection(),f=this._getDragHorizontalDirection();return this.floating&&f?f=="right"&&d||f=="left"&&!d:e&&(e=="down"&&c||e=="up"&&!c)},_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){return this._refreshItems(a),this.refreshPositions(),this},_connectWith:function(){var a=this.options;return a.connectWith.constructor==String?[a.connectWith]:a.connectWith},_getItemsAsjQuery:function(b){var c=this,d=[],e=[],f=this._connectWith();if(f&&b)for(var g=f.length-1;g>=0;g--){var h=a(f[g]);for(var i=h.length-1;i>=0;i--){var j=a.data(h[i],this.widgetName);j&&j!=this&&!j.options.disabled&&e.push([a.isFunction(j.options.items)?j.options.items.call(j.element):a(j.options.items,j.element).not(".ui-sortable-helper").not(".ui-sortable-placeholder"),j])}}e.push([a.isFunction(this.options.items)?this.options.items.call(this.element,null,{options:this.options,item:this.currentItem}):a(this.options.items,this.element).not(".ui-sortable-helper").not(".ui-sortable-placeholder"),this]);for(var g=e.length-1;g>=0;g--)e[g][0].each(function(){d.push(this)});return a(d)},_removeCurrentsFromItems:function(){var a=this.currentItem.find(":data("+this.widgetName+"-item)");for(var 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(b){this.items=[],this.containers=[this];var c=this.items,d=this,e=[[a.isFunction(this.options.items)?this.options.items.call(this.element[0],b,{item:this.currentItem}):a(this.options.items,this.element),this]],f=this._connectWith();if(f&&this.ready)for(var g=f.length-1;g>=0;g--){var h=a(f[g]);for(var i=h.length-1;i>=0;i--){var j=a.data(h[i],this.widgetName);j&&j!=this&&!j.options.disabled&&(e.push([a.isFunction(j.options.items)?j.options.items.call(j.element[0],b,{item:this.currentItem}):a(j.options.items,j.element),j]),this.containers.push(j))}}for(var g=e.length-1;g>=0;g--){var k=e[g][1],l=e[g][0];for(var i=0,m=l.length;i<m;i++){var n=a(l[i]);n.data(this.widgetName+"-item",k),c.push({item:n,instance:k,width:0,height:0,left:0,top:0})}}},refreshPositions:function(b){this.offsetParent&&this.helper&&(this.offset.parent=this._getParentOffset());for(var c=this.items.length-1;c>=0;c--){var d=this.items[c];if(d.instance!=this.currentContainer&&this.currentContainer&&d.item[0]!=this.currentItem[0])continue;var e=this.options.toleranceElement?a(this.options.toleranceElement,d.item):d.item;b||(d.width=e.outerWidth(),d.height=e.outerHeight());var f=e.offset();d.left=f.left,d.top=f.top}if(this.options.custom&&this.options.custom.refreshContainers)this.options.custom.refreshContainers.call(this);else for(var c=this.containers.length-1;c>=0;c--){var f=this.containers[c].element.offset();this.containers[c].containerCache.left=f.left,this.containers[c].containerCache.top=f.top,this.containers[c].containerCache.width=this.containers[c].element.outerWidth(),this.containers[c].containerCache.height=this.containers[c].element.outerHeight()}return this},_createPlaceholder:function(b){var c=b||this,d=c.options;if(!d.placeholder||d.placeholder.constructor==String){var e=d.placeholder;d.placeholder={element:function(){var b=a(document.createElement(c.currentItem[0].nodeName)).addClass(e||c.currentItem[0].className+" ui-sortable-placeholder").removeClass("ui-sortable-helper")[0];return e||(b.style.visibility="hidden"),b},update:function(a,b){if(e&&!d.forcePlaceholderSize)return;b.height()||b.height(c.currentItem.innerHeight()-parseInt(c.currentItem.css("paddingTop")||0,10)-parseInt(c.currentItem.css("paddingBottom")||0,10)),b.width()||b.width(c.currentItem.innerWidth()-parseInt(c.currentItem.css("paddingLeft")||0,10)-parseInt(c.currentItem.css("paddingRight")||0,10))}}}c.placeholder=a(d.placeholder.element.call(c.element,c.currentItem)),c.currentItem.after(c.placeholder),d.placeholder.update(c,c.placeholder)},_contactContainers:function(b){var c=null,d=null;for(var e=this.containers.length-1;e>=0;e--){if(a.ui.contains(this.currentItem[0],this.containers[e].element[0]))continue;if(this._intersectsWith(this.containers[e].containerCache)){if(c&&a.ui.contains(this.containers[e].element[0],c.element[0]))continue;c=this.containers[e],d=e}else this.containers[e].containerCache.over&&(this.containers[e]._trigger("out",b,this._uiHash(this)),this.containers[e].containerCache.over=0)}if(!c)return;if(this.containers.length===1)this.containers[d]._trigger("over",b,this._uiHash(this)),this.containers[d].containerCache.over=1;else if(this.currentContainer!=this.containers[d]){var f=1e4,g=null,h=this.positionAbs[this.containers[d].floating?"left":"top"];for(var i=this.items.length-1;i>=0;i--){if(!a.ui.contains(this.containers[d].element[0],this.items[i].item[0]))continue;var j=this.containers[d].floating?this.items[i].item.offset().left:this.items[i].item.offset().top;Math.abs(j-h)<f&&(f=Math.abs(j-h),g=this.items[i],this.direction=j-h>0?"down":"up")}if(!g&&!this.options.dropOnEmpty)return;this.currentContainer=this.containers[d],g?this._rearrange(b,g,null,!0):this._rearrange(b,null,this.containers[d].element,!0),this._trigger("change",b,this._uiHash()),this.containers[d]._trigger("change",b,this._uiHash(this)),this.options.placeholder.update(this.currentContainer,this.placeholder),this.containers[d]._trigger("over",b,this._uiHash(this)),this.containers[d].containerCache.over=1}},_createHelper:function(b){var c=this.options,d=a.isFunction(c.helper)?a(c.helper.apply(this.element[0],[b,this.currentItem])):c.helper=="clone"?this.currentItem.clone():this.currentItem;return d.parents("body").length||a(c.appendTo!="parent"?c.appendTo:this.currentItem[0].parentNode)[0].appendChild(d[0]),d[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")}),(d[0].style.width==""||c.forceHelperSize)&&d.width(this.currentItem.width()),(d[0].style.height==""||c.forceHelperSize)&&d.height(this.currentItem.height()),d},_adjustOffsetFromHelper:function(b){typeof b=="string"&&(b=b.split(" ")),a.isArray(b)&&(b={left:+b[0],top:+b[1]||0}),"left"in b&&(this.offset.click.left=b.left+this.margins.left),"right"in b&&(this.offset.click.left=this.helperProportions.width-b.right+this.margins.left),"top"in b&&(this.offset.click.top=b.top+this.margins.top),"bottom"in b&&(this.offset.click.top=this.helperProportions.height-b.bottom+this.margins.top)},_getParentOffset:function(){this.offsetParent=this.helper.offsetParent();var b=this.offsetParent.offset();this.cssPosition=="absolute"&&this.scrollParent[0]!=document&&a.ui.contains(this.scrollParent[0],this.offsetParent[0])&&(b.left+=this.scrollParent.scrollLeft(),b.top+=this.scrollParent.scrollTop());if(this.offsetParent[0]==document.body||this.offsetParent[0].tagName&&this.offsetParent[0].tagName.toLowerCase()=="html"&&a.browser.msie)b={top:0,left:0};return{top:b.top+(parseInt(this.offsetParent.css("borderTopWidth"),10)||0),left:b.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()}}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 b=this.options;b.containment=="parent"&&(b.containment=this.helper[0].parentNode);if(b.containment=="document"||b.containment=="window")this.containment=[0-this.offset.relative.left-this.offset.parent.left,0-this.offset.relative.top-this.offset.parent.top,a(b.containment=="document"?document:window).width()-this.helperProportions.width-this.margins.left,(a(b.containment=="document"?document:window).height()||document.body.parentNode.scrollHeight)-this.helperProportions.height-this.margins.top];if(!/^(document|window|parent)$/.test(b.containment)){var c=a(b.containment)[0],d=a(b.containment).offset(),e=a(c).css("overflow")!="hidden";this.containment=[d.left+(parseInt(a(c).css("borderLeftWidth"),10)||0)+(parseInt(a(c).css("paddingLeft"),10)||0)-this.margins.left,d.top+(parseInt(a(c).css("borderTopWidth"),10)||0)+(parseInt(a(c).css("paddingTop"),10)||0)-this.margins.top,d.left+(e?Math.max(c.scrollWidth,c.offsetWidth):c.offsetWidth)-(parseInt(a(c).css("borderLeftWidth"),10)||0)-(parseInt(a(c).css("paddingRight"),10)||0)-this.helperProportions.width-this.margins.left,d.top+(e?Math.max(c.scrollHeight,c.offsetHeight):c.offsetHeight)-(parseInt(a(c).css("borderTopWidth"),10)||0)-(parseInt(a(c).css("paddingBottom"),10)||0)-this.helperProportions.height-this.margins.top]}},_convertPositionTo:function(b,c){c||(c=this.position);var d=b=="absolute"?1:-1,e=this.options,f=this.cssPosition=="absolute"&&(this.scrollParent[0]==document||!a.ui.contains(this.scrollParent[0],this.offsetParent[0]))?this.offsetParent:this.scrollParent,g=/(html|body)/i.test(f[0].tagName);return{top:c.top+this.offset.relative.top*d+this.offset.parent.top*d-(a.browser.safari&&this.cssPosition=="fixed"?0:(this.cssPosition=="fixed"?-this.scrollParent.scrollTop():g?0:f.scrollTop())*d),left:c.left+this.offset.relative.left*d+this.offset.parent.left*d-(a.browser.safari&&this.cssPosition=="fixed"?0:(this.cssPosition=="fixed"?-this.scrollParent.scrollLeft():g?0:f.scrollLeft())*d)}},_generatePosition:function(b){var c=this.options,d=this.cssPosition=="absolute"&&(this.scrollParent[0]==document||!a.ui.contains(this.scrollParent[0],this.offsetParent[0]))?this.offsetParent:this.scrollParent,e=/(html|body)/i.test(d[0].tagName);this.cssPosition=="relative"&&(this.scrollParent[0]==document||this.scrollParent[0]==this.offsetParent[0])&&(this.offset.relative=this._getRelativeOffset());var f=b.pageX,g=b.pageY;if(this.originalPosition){this.containment&&(b.pageX-this.offset.click.left<this.containment[0]&&(f=this.containment[0]+this.offset.click.left),b.pageY-this.offset.click.top<this.containment[1]&&(g=this.containment[1]+this.offset.click.top),b.pageX-this.offset.click.left>this.containment[2]&&(f=this.containment[2]+this.offset.click.left),b.pageY-this.offset.click.top>this.containment[3]&&(g=this.containment[3]+this.offset.click.top));if(c.grid){var h=this.originalPageY+Math.round((g-this.originalPageY)/c.grid[1])*c.grid[1];g=this.containment?h-this.offset.click.top<this.containment[1]||h-this.offset.click.top>this.containment[3]?h-this.offset.click.top<this.containment[1]?h+c.grid[1]:h-c.grid[1]:h:h;var i=this.originalPageX+Math.round((f-this.originalPageX)/c.grid[0])*c.grid[0];f=this.containment?i-this.offset.click.left<this.containment[0]||i-this.offset.click.left>this.containment[2]?i-this.offset.click.left<this.containment[0]?i+c.grid[0]:i-c.grid[0]:i:i}}return{top:g-this.offset.click.top-this.offset.relative.top-this.offset.parent.top+(a.browser.safari&&this.cssPosition=="fixed"?0:this.cssPosition=="fixed"?-this.scrollParent.scrollTop():e?0:d.scrollTop()),left:f-this.offset.click.left-this.offset.relative.left-this.offset.parent.left+(a.browser.safari&&this.cssPosition=="fixed"?0:this.cssPosition=="fixed"?-this.scrollParent.scrollLeft():e?0:d.scrollLeft())}},_rearrange:function(a,b,c,d){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 e=this,f=this.counter;window.setTimeout(function(){f==e.counter&&e.refreshPositions(!d)},0)},_clear:function(b,c){this.reverting=!1;var d=[],e=this;!this._noFinalSort&&this.currentItem.parent().length&&this.placeholder.before(this.currentItem),this._noFinalSort=null;if(this.helper[0]==this.currentItem[0]){for(var f in this._storedCSS)if(this._storedCSS[f]=="auto"||this._storedCSS[f]=="static")this._storedCSS[f]="";this.currentItem.css(this._storedCSS).removeClass("ui-sortable-helper")}else this.currentItem.show();this.fromOutside&&!c&&d.push(function(a){this._trigger("receive",a,this._uiHash(this.fromOutside))}),(this.fromOutside||this.domPosition.prev!=this.currentItem.prev().not(".ui-sortable-helper")[0]||this.domPosition.parent!=this.currentItem.parent()[0])&&!c&&d.push(function(a){this._trigger("update",a,this._uiHash())});if(!a.ui.contains(this.element[0],this.currentItem[0])){c||d.push(function(a){this._trigger("remove",a,this._uiHash())});for(var f=this.containers.length-1;f>=0;f--)a.ui.contains(this.containers[f].element[0],this.currentItem[0])&&!c&&(d.push(function(a){return function(b){a._trigger("receive",b,this._uiHash(this))}}.call(this,this.containers[f])),d.push(function(a){return function(b){a._trigger("update",b,this._uiHash(this))}}.call(this,this.containers[f])))}for(var f=this.containers.length-1;f>=0;f--)c||d.push(function(a){return function(b){a._trigger("deactivate",b,this._uiHash(this))}}.call(this,this.containers[f])),this.containers[f].containerCache.over&&(d.push(function(a){return function(b){a._trigger("out",b,this._uiHash(this))}}.call(this,this.containers[f])),this.containers[f].containerCache.over=0);this._storedCursor&&a("body").css("cursor",this._storedCursor),this._storedOpacity&&this.helper.css("opacity",this._storedOpacity),this._storedZIndex&&this.helper.css("zIndex",this._storedZIndex=="auto"?"":this._storedZIndex),this.dragging=!1;if(this.cancelHelperRemoval){if(!c){this._trigger("beforeStop",b,this._uiHash());for(var f=0;f<d.length;f++)d[f].call(this,b);this._trigger("stop",b,this._uiHash())}return this.fromOutside=!1,!1}c||this._trigger("beforeStop",b,this._uiHash()),this.placeholder[0].parentNode.removeChild(this.placeholder[0]),this.helper[0]!=this.currentItem[0]&&this.helper.remove(),this.helper=null;if(!c){for(var f=0;f<d.length;f++)d[f].call(this,b);this._trigger("stop",b,this._uiHash())}return this.fromOutside=!1,!0},_trigger:function(){a.Widget.prototype._trigger.apply(this,arguments)===!1&&this.cancel()},_uiHash:function(b){var c=b||this;return{helper:c.helper,placeholder:c.placeholder||a([]),position:c.position,originalPosition:c.originalPosition,offset:c.positionAbs,item:c.currentItem,sender:b?b.element:null}}}),a.extend(a.ui.sortable,{version:"1.8.23"})})(jQuery);;/*! jQuery UI - v1.8.23 - 2012-08-15
 * https://github.com/jquery/jquery-ui
 * Includes: jquery.ui.autocomplete.js
 * Copyright (c) 2012 AUTHORS.txt; Licensed MIT, GPL */
-(function(a,b){var c=0;a.widget("ui.autocomplete",{options:{appendTo:"body",autoFocus:!1,delay:300,minLength:1,position:{my:"left top",at:"left bottom",collision:"none"},source:null},pending:0,_create:function(){var b=this,c=this.element[0].ownerDocument,d;this.isMultiLine=this.element.is("textarea"),this.element.addClass("ui-autocomplete-input").attr("autocomplete","off").attr({role:"textbox","aria-autocomplete":"list","aria-haspopup":"true"}).bind("keydown.autocomplete",function(c){if(b.options.disabled||b.element.propAttr("readOnly"))return;d=!1;var e=a.ui.keyCode;switch(c.keyCode){case e.PAGE_UP:b._move("previousPage",c);break;case e.PAGE_DOWN:b._move("nextPage",c);break;case e.UP:b._keyEvent("previous",c);break;case e.DOWN:b._keyEvent("next",c);break;case e.ENTER:case e.NUMPAD_ENTER:b.menu.active&&(d=!0,c.preventDefault());case e.TAB:if(!b.menu.active)return;b.menu.select(c);break;case e.ESCAPE:b.element.val(b.term),b.close(c);break;default:clearTimeout(b.searching),b.searching=setTimeout(function(){b.term!=b.element.val()&&(b.selectedItem=null,b.search(null,c))},b.options.delay)}}).bind("keypress.autocomplete",function(a){d&&(d=!1,a.preventDefault())}).bind("focus.autocomplete",function(){if(b.options.disabled)return;b.selectedItem=null,b.previous=b.element.val()}).bind("blur.autocomplete",function(a){if(b.options.disabled)return;clearTimeout(b.searching),b.closing=setTimeout(function(){b.close(a),b._change(a)},150)}),this._initSource(),this.menu=a("<ul></ul>").addClass("ui-autocomplete").appendTo(a(this.options.appendTo||"body",c)[0]).mousedown(function(c){var d=b.menu.element[0];a(c.target).closest(".ui-menu-item").length||setTimeout(function(){a(document).one("mousedown",function(c){c.target!==b.element[0]&&c.target!==d&&!a.ui.contains(d,c.target)&&b.close()})},1),setTimeout(function(){clearTimeout(b.closing)},13)}).menu({focus:function(a,c){var d=c.item.data("item.autocomplete");!1!==b._trigger("focus",a,{item:d})&&/^key/.test(a.originalEvent.type)&&b.element.val(d.value)},selected:function(a,d){var e=d.item.data("item.autocomplete"),f=b.previous;b.element[0]!==c.activeElement&&(b.element.focus(),b.previous=f,setTimeout(function(){b.previous=f,b.selectedItem=e},1)),!1!==b._trigger("select",a,{item:e})&&b.element.val(e.value),b.term=b.element.val(),b.close(a),b.selectedItem=e},blur:function(a,c){b.menu.element.is(":visible")&&b.element.val()!==b.term&&b.element.val(b.term)}}).zIndex(this.element.zIndex()+1).css({top:0,left:0}).hide().data("menu"),a.fn.bgiframe&&this.menu.element.bgiframe(),b.beforeunloadHandler=function(){b.element.removeAttr("autocomplete")},a(window).bind("beforeunload",b.beforeunloadHandler)},destroy:function(){this.element.removeClass("ui-autocomplete-input").removeAttr("autocomplete").removeAttr("role").removeAttr("aria-autocomplete").removeAttr("aria-haspopup"),this.menu.element.remove(),a(window).unbind("beforeunload",this.beforeunloadHandler),a.Widget.prototype.destroy.call(this)},_setOption:function(b,c){a.Widget.prototype._setOption.apply(this,arguments),b==="source"&&this._initSource(),b==="appendTo"&&this.menu.element.appendTo(a(c||"body",this.element[0].ownerDocument)[0]),b==="disabled"&&c&&this.xhr&&this.xhr.abort()},_initSource:function(){var b=this,c,d;a.isArray(this.options.source)?(c=this.options.source,this.source=function(b,d){d(a.ui.autocomplete.filter(c,b.term))}):typeof this.options.source=="string"?(d=this.options.source,this.source=function(c,e){b.xhr&&b.xhr.abort(),b.xhr=a.ajax({url:d,data:c,dataType:"json",success:function(a,b){e(a)},error:function(){e([])}})}):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)===!1)return;return this._search(a)},_search:function(a){this.pending++,this.element.addClass("ui-autocomplete-loading"),this.source({term:a},this._response())},_response:function(){var a=this,b=++c;return function(d){b===c&&a.__response(d),a.pending--,a.pending||a.element.removeClass("ui-autocomplete-loading")}},__response:function(a){!this.options.disabled&&a&&a.length?(a=this._normalize(a),this._suggest(a),this._trigger("open")):this.close()},close:function(a){clearTimeout(this.closing),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(b){return b.length&&b[0].label&&b[0].value?b:a.map(b,function(b){return typeof b=="string"?{label:b,value:b}:a.extend({label:b.label||b.value,value:b.value||b.label},b)})},_suggest:function(b){var c=this.menu.element.empty().zIndex(this.element.zIndex()+1);this._renderMenu(c,b),this.menu.deactivate(),this.menu.refresh(),c.show(),this._resizeMenu(),c.position(a.extend({of:this.element},this.options.position)),this.options.autoFocus&&this.menu.next(new a.Event("mouseover"))},_resizeMenu:function(){var a=this.menu.element;a.outerWidth(Math.max(a.width("").outerWidth()+1,this.element.outerWidth()))},_renderMenu:function(b,c){var d=this;a.each(c,function(a,c){d._renderItem(b,c)})},_renderItem:function(b,c){return a("<li></li>").data("item.autocomplete",c).append(a("<a></a>").text(c.label)).appendTo(b)},_move:function(a,b){if(!this.menu.element.is(":visible")){this.search(null,b);return}if(this.menu.first()&&/^previous/.test(a)||this.menu.last()&&/^next/.test(a)){this.element.val(this.term),this.menu.deactivate();return}this.menu[a](b)},widget:function(){return this.menu.element},_keyEvent:function(a,b){if(!this.isMultiLine||this.menu.element.is(":visible"))this._move(a,b),b.preventDefault()}}),a.extend(a.ui.autocomplete,{escapeRegex:function(a){return a.replace(/[-[\]{}()*+?.,\\^$|#\s]/g,"\\$&")},filter:function(b,c){var d=new RegExp(a.ui.autocomplete.escapeRegex(c),"i");return a.grep(b,function(a){return d.test(a.label||a.value||a)})}})})(jQuery),function(a){a.widget("ui.menu",{_create:function(){var b=this;this.element.addClass("ui-menu ui-widget ui-widget-content ui-corner-all").attr({role:"listbox","aria-activedescendant":"ui-active-menuitem"}).click(function(c){if(!a(c.target).closest(".ui-menu-item a").length)return;c.preventDefault(),b.select(c)}),this.refresh()},refresh:function(){var b=this,c=this.element.children("li:not(.ui-menu-item):has(a)").addClass("ui-menu-item").attr("role","menuitem");c.children("a").addClass("ui-corner-all").attr("tabindex",-1).mouseenter(function(c){b.activate(c,a(this).parent())}).mouseleave(function(){b.deactivate()})},activate:function(a,b){this.deactivate();if(this.hasScroll()){var c=b.offset().top-this.element.offset().top,d=this.element.scrollTop(),e=this.element.height();c<0?this.element.scrollTop(d+c):c>=e&&this.element.scrollTop(d+c-e+b.height())}this.active=b.eq(0).children("a").addClass("ui-state-hover").attr("id","ui-active-menuitem").end(),this._trigger("focus",a,{item:b})},deactivate:function(){if(!this.active)return;this.active.children("a").removeClass("ui-state-hover").removeAttr("id"),this._trigger("blur"),this.active=null},next:function(a){this.move("next",".ui-menu-item:first",a)},previous:function(a){this.move("prev",".ui-menu-item:last",a)},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(a,b,c){if(!this.active){this.activate(c,this.element.children(b));return}var d=this.active[a+"All"](".ui-menu-item").eq(0);d.length?this.activate(c,d):this.activate(c,this.element.children(b))},nextPage:function(b){if(this.hasScroll()){if(!this.active||this.last()){this.activate(b,this.element.children(".ui-menu-item:first"));return}var c=this.active.offset().top,d=this.element.height(),e=this.element.children(".ui-menu-item").filter(function(){var b=a(this).offset().top-c-d+a(this).height();return b<10&&b>-10});e.length||(e=this.element.children(".ui-menu-item:last")),this.activate(b,e)}else this.activate(b,this.element.children(".ui-menu-item").filter(!this.active||this.last()?":first":":last"))},previousPage:function(b){if(this.hasScroll()){if(!this.active||this.first()){this.activate(b,this.element.children(".ui-menu-item:last"));return}var c=this.active.offset().top,d=this.element.height(),e=this.element.children(".ui-menu-item").filter(function(){var b=a(this).offset().top-c+d-a(this).height();return b<10&&b>-10});e.length||(e=this.element.children(".ui-menu-item:first")),this.activate(b,e)}else this.activate(b,this.element.children(".ui-menu-item").filter(!this.active||this.first()?":last":":first"))},hasScroll:function(){return this.element.height()<this.element[a.fn.prop?"prop":"attr"]("scrollHeight")},select:function(a){this._trigger("selected",a,{item:this.active})}})}(jQuery);;/*! jQuery UI - v1.8.21 - 2012-06-05
+(function(a,b){var c=0;a.widget("ui.autocomplete",{options:{appendTo:"body",autoFocus:!1,delay:300,minLength:1,position:{my:"left top",at:"left bottom",collision:"none"},source:null},pending:0,_create:function(){var b=this,c=this.element[0].ownerDocument,d;this.isMultiLine=this.element.is("textarea"),this.element.addClass("ui-autocomplete-input").attr("autocomplete","off").attr({role:"textbox","aria-autocomplete":"list","aria-haspopup":"true"}).bind("keydown.autocomplete",function(c){if(b.options.disabled||b.element.propAttr("readOnly"))return;d=!1;var e=a.ui.keyCode;switch(c.keyCode){case e.PAGE_UP:b._move("previousPage",c);break;case e.PAGE_DOWN:b._move("nextPage",c);break;case e.UP:b._keyEvent("previous",c);break;case e.DOWN:b._keyEvent("next",c);break;case e.ENTER:case e.NUMPAD_ENTER:b.menu.active&&(d=!0,c.preventDefault());case e.TAB:if(!b.menu.active)return;b.menu.select(c);break;case e.ESCAPE:b.element.val(b.term),b.close(c);break;default:clearTimeout(b.searching),b.searching=setTimeout(function(){b.term!=b.element.val()&&(b.selectedItem=null,b.search(null,c))},b.options.delay)}}).bind("keypress.autocomplete",function(a){d&&(d=!1,a.preventDefault())}).bind("focus.autocomplete",function(){if(b.options.disabled)return;b.selectedItem=null,b.previous=b.element.val()}).bind("blur.autocomplete",function(a){if(b.options.disabled)return;clearTimeout(b.searching),b.closing=setTimeout(function(){b.close(a),b._change(a)},150)}),this._initSource(),this.menu=a("<ul></ul>").addClass("ui-autocomplete").appendTo(a(this.options.appendTo||"body",c)[0]).mousedown(function(c){var d=b.menu.element[0];a(c.target).closest(".ui-menu-item").length||setTimeout(function(){a(document).one("mousedown",function(c){c.target!==b.element[0]&&c.target!==d&&!a.ui.contains(d,c.target)&&b.close()})},1),setTimeout(function(){clearTimeout(b.closing)},13)}).menu({focus:function(a,c){var d=c.item.data("item.autocomplete");!1!==b._trigger("focus",a,{item:d})&&/^key/.test(a.originalEvent.type)&&b.element.val(d.value)},selected:function(a,d){var e=d.item.data("item.autocomplete"),f=b.previous;b.element[0]!==c.activeElement&&(b.element.focus(),b.previous=f,setTimeout(function(){b.previous=f,b.selectedItem=e},1)),!1!==b._trigger("select",a,{item:e})&&b.element.val(e.value),b.term=b.element.val(),b.close(a),b.selectedItem=e},blur:function(a,c){b.menu.element.is(":visible")&&b.element.val()!==b.term&&b.element.val(b.term)}}).zIndex(this.element.zIndex()+1).css({top:0,left:0}).hide().data("menu"),a.fn.bgiframe&&this.menu.element.bgiframe(),b.beforeunloadHandler=function(){b.element.removeAttr("autocomplete")},a(window).bind("beforeunload",b.beforeunloadHandler)},destroy:function(){this.element.removeClass("ui-autocomplete-input").removeAttr("autocomplete").removeAttr("role").removeAttr("aria-autocomplete").removeAttr("aria-haspopup"),this.menu.element.remove(),a(window).unbind("beforeunload",this.beforeunloadHandler),a.Widget.prototype.destroy.call(this)},_setOption:function(b,c){a.Widget.prototype._setOption.apply(this,arguments),b==="source"&&this._initSource(),b==="appendTo"&&this.menu.element.appendTo(a(c||"body",this.element[0].ownerDocument)[0]),b==="disabled"&&c&&this.xhr&&this.xhr.abort()},_initSource:function(){var b=this,c,d;a.isArray(this.options.source)?(c=this.options.source,this.source=function(b,d){d(a.ui.autocomplete.filter(c,b.term))}):typeof this.options.source=="string"?(d=this.options.source,this.source=function(c,e){b.xhr&&b.xhr.abort(),b.xhr=a.ajax({url:d,data:c,dataType:"json",success:function(a,b){e(a)},error:function(){e([])}})}):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)===!1)return;return this._search(a)},_search:function(a){this.pending++,this.element.addClass("ui-autocomplete-loading"),this.source({term:a},this._response())},_response:function(){var a=this,b=++c;return function(d){b===c&&a.__response(d),a.pending--,a.pending||a.element.removeClass("ui-autocomplete-loading")}},__response:function(a){!this.options.disabled&&a&&a.length?(a=this._normalize(a),this._suggest(a),this._trigger("open")):this.close()},close:function(a){clearTimeout(this.closing),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(b){return b.length&&b[0].label&&b[0].value?b:a.map(b,function(b){return typeof b=="string"?{label:b,value:b}:a.extend({label:b.label||b.value,value:b.value||b.label},b)})},_suggest:function(b){var c=this.menu.element.empty().zIndex(this.element.zIndex()+1);this._renderMenu(c,b),this.menu.deactivate(),this.menu.refresh(),c.show(),this._resizeMenu(),c.position(a.extend({of:this.element},this.options.position)),this.options.autoFocus&&this.menu.next(new a.Event("mouseover"))},_resizeMenu:function(){var a=this.menu.element;a.outerWidth(Math.max(a.width("").outerWidth()+1,this.element.outerWidth()))},_renderMenu:function(b,c){var d=this;a.each(c,function(a,c){d._renderItem(b,c)})},_renderItem:function(b,c){return a("<li></li>").data("item.autocomplete",c).append(a("<a></a>").text(c.label)).appendTo(b)},_move:function(a,b){if(!this.menu.element.is(":visible")){this.search(null,b);return}if(this.menu.first()&&/^previous/.test(a)||this.menu.last()&&/^next/.test(a)){this.element.val(this.term),this.menu.deactivate();return}this.menu[a](b)},widget:function(){return this.menu.element},_keyEvent:function(a,b){if(!this.isMultiLine||this.menu.element.is(":visible"))this._move(a,b),b.preventDefault()}}),a.extend(a.ui.autocomplete,{escapeRegex:function(a){return a.replace(/[-[\]{}()*+?.,\\^$|#\s]/g,"\\$&")},filter:function(b,c){var d=new RegExp(a.ui.autocomplete.escapeRegex(c),"i");return a.grep(b,function(a){return d.test(a.label||a.value||a)})}})})(jQuery),function(a){a.widget("ui.menu",{_create:function(){var b=this;this.element.addClass("ui-menu ui-widget ui-widget-content ui-corner-all").attr({role:"listbox","aria-activedescendant":"ui-active-menuitem"}).click(function(c){if(!a(c.target).closest(".ui-menu-item a").length)return;c.preventDefault(),b.select(c)}),this.refresh()},refresh:function(){var b=this,c=this.element.children("li:not(.ui-menu-item):has(a)").addClass("ui-menu-item").attr("role","menuitem");c.children("a").addClass("ui-corner-all").attr("tabindex",-1).mouseenter(function(c){b.activate(c,a(this).parent())}).mouseleave(function(){b.deactivate()})},activate:function(a,b){this.deactivate();if(this.hasScroll()){var c=b.offset().top-this.element.offset().top,d=this.element.scrollTop(),e=this.element.height();c<0?this.element.scrollTop(d+c):c>=e&&this.element.scrollTop(d+c-e+b.height())}this.active=b.eq(0).children("a").addClass("ui-state-hover").attr("id","ui-active-menuitem").end(),this._trigger("focus",a,{item:b})},deactivate:function(){if(!this.active)return;this.active.children("a").removeClass("ui-state-hover").removeAttr("id"),this._trigger("blur"),this.active=null},next:function(a){this.move("next",".ui-menu-item:first",a)},previous:function(a){this.move("prev",".ui-menu-item:last",a)},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(a,b,c){if(!this.active){this.activate(c,this.element.children(b));return}var d=this.active[a+"All"](".ui-menu-item").eq(0);d.length?this.activate(c,d):this.activate(c,this.element.children(b))},nextPage:function(b){if(this.hasScroll()){if(!this.active||this.last()){this.activate(b,this.element.children(".ui-menu-item:first"));return}var c=this.active.offset().top,d=this.element.height(),e=this.element.children(".ui-menu-item").filter(function(){var b=a(this).offset().top-c-d+a(this).height();return b<10&&b>-10});e.length||(e=this.element.children(".ui-menu-item:last")),this.activate(b,e)}else this.activate(b,this.element.children(".ui-menu-item").filter(!this.active||this.last()?":first":":last"))},previousPage:function(b){if(this.hasScroll()){if(!this.active||this.first()){this.activate(b,this.element.children(".ui-menu-item:last"));return}var c=this.active.offset().top,d=this.element.height(),e=this.element.children(".ui-menu-item").filter(function(){var b=a(this).offset().top-c+d-a(this).height();return b<10&&b>-10});e.length||(e=this.element.children(".ui-menu-item:first")),this.activate(b,e)}else this.activate(b,this.element.children(".ui-menu-item").filter(!this.active||this.first()?":last":":first"))},hasScroll:function(){return this.element.height()<this.element[a.fn.prop?"prop":"attr"]("scrollHeight")},select:function(a){this._trigger("selected",a,{item:this.active})}})}(jQuery);;/*! jQuery UI - v1.8.23 - 2012-08-15
+* https://github.com/jquery/jquery-ui
+* Includes: jquery.ui.slider.js
+* Copyright (c) 2012 AUTHORS.txt; Licensed MIT, GPL */
+(function(a,b){var c=5;a.widget("ui.slider",a.ui.mouse,{widgetEventPrefix:"slide",options:{animate:!1,distance:0,max:100,min:0,orientation:"horizontal",range:!1,step:1,value:0,values:null},_create:function(){var b=this,d=this.options,e=this.element.find(".ui-slider-handle").addClass("ui-state-default ui-corner-all"),f="<a class='ui-slider-handle ui-state-default ui-corner-all' href='#'></a>",g=d.values&&d.values.length||1,h=[];this._keySliding=!1,this._mouseSliding=!1,this._animateOff=!0,this._handleIndex=null,this._detectOrientation(),this._mouseInit(),this.element.addClass("ui-slider ui-slider-"+this.orientation+" ui-widget"+" ui-widget-content"+" ui-corner-all"+(d.disabled?" ui-slider-disabled ui-disabled":"")),this.range=a([]),d.range&&(d.range===!0&&(d.values||(d.values=[this._valueMin(),this._valueMin()]),d.values.length&&d.values.length!==2&&(d.values=[d.values[0],d.values[0]])),this.range=a("<div></div>").appendTo(this.element).addClass("ui-slider-range ui-widget-header"+(d.range==="min"||d.range==="max"?" ui-slider-range-"+d.range:"")));for(var i=e.length;i<g;i+=1)h.push(f);this.handles=e.add(a(h.join("")).appendTo(b.element)),this.handle=this.handles.eq(0),this.handles.add(this.range).filter("a").click(function(a){a.preventDefault()}).hover(function(){d.disabled||a(this).addClass("ui-state-hover")},function(){a(this).removeClass("ui-state-hover")}).focus(function(){d.disabled?a(this).blur():(a(".ui-slider .ui-state-focus").removeClass("ui-state-focus"),a(this).addClass("ui-state-focus"))}).blur(function(){a(this).removeClass("ui-state-focus")}),this.handles.each(function(b){a(this).data("index.ui-slider-handle",b)}),this.handles.keydown(function(d){var e=a(this).data("index.ui-slider-handle"),f,g,h,i;if(b.options.disabled)return;switch(d.keyCode){case a.ui.keyCode.HOME:case a.ui.keyCode.END:case a.ui.keyCode.PAGE_UP:case a.ui.keyCode.PAGE_DOWN:case a.ui.keyCode.UP:case a.ui.keyCode.RIGHT:case a.ui.keyCode.DOWN:case a.ui.keyCode.LEFT:d.preventDefault();if(!b._keySliding){b._keySliding=!0,a(this).addClass("ui-state-active"),f=b._start(d,e);if(f===!1)return}}i=b.options.step,b.options.values&&b.options.values.length?g=h=b.values(e):g=h=b.value();switch(d.keyCode){case a.ui.keyCode.HOME:h=b._valueMin();break;case a.ui.keyCode.END:h=b._valueMax();break;case a.ui.keyCode.PAGE_UP:h=b._trimAlignValue(g+(b._valueMax()-b._valueMin())/c);break;case a.ui.keyCode.PAGE_DOWN:h=b._trimAlignValue(g-(b._valueMax()-b._valueMin())/c);break;case a.ui.keyCode.UP:case a.ui.keyCode.RIGHT:if(g===b._valueMax())return;h=b._trimAlignValue(g+i);break;case a.ui.keyCode.DOWN:case a.ui.keyCode.LEFT:if(g===b._valueMin())return;h=b._trimAlignValue(g-i)}b._slide(d,e,h)}).keyup(function(c){var d=a(this).data("index.ui-slider-handle");b._keySliding&&(b._keySliding=!1,b._stop(c,d),b._change(c,d),a(this).removeClass("ui-state-active"))}),this._refreshValue(),this._animateOff=!1},destroy:function(){return 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(),this},_mouseCapture:function(b){var c=this.options,d,e,f,g,h,i,j,k,l;return c.disabled?!1:(this.elementSize={width:this.element.outerWidth(),height:this.element.outerHeight()},this.elementOffset=this.element.offset(),d={x:b.pageX,y:b.pageY},e=this._normValueFromMouse(d),f=this._valueMax()-this._valueMin()+1,h=this,this.handles.each(function(b){var c=Math.abs(e-h.values(b));f>c&&(f=c,g=a(this),i=b)}),c.range===!0&&this.values(1)===c.min&&(i+=1,g=a(this.handles[i])),j=this._start(b,i),j===!1?!1:(this._mouseSliding=!0,h._handleIndex=i,g.addClass("ui-state-active").focus(),k=g.offset(),l=!a(b.target).parents().andSelf().is(".ui-slider-handle"),this._clickOffset=l?{left:0,top:0}:{left:b.pageX-k.left-g.width()/2,top:b.pageY-k.top-g.height()/2-(parseInt(g.css("borderTopWidth"),10)||0)-(parseInt(g.css("borderBottomWidth"),10)||0)+(parseInt(g.css("marginTop"),10)||0)},this.handles.hasClass("ui-state-hover")||this._slide(b,i,e),this._animateOff=!0,!0))},_mouseStart:function(a){return!0},_mouseDrag:function(a){var b={x:a.pageX,y:a.pageY},c=this._normValueFromMouse(b);return this._slide(a,this._handleIndex,c),!1},_mouseStop:function(a){return this.handles.removeClass("ui-state-active"),this._mouseSliding=!1,this._stop(a,this._handleIndex),this._change(a,this._handleIndex),this._handleIndex=null,this._clickOffset=null,this._animateOff=!1,!1},_detectOrientation:function(){this.orientation=this.options.orientation==="vertical"?"vertical":"horizontal"},_normValueFromMouse:function(a){var b,c,d,e,f;return this.orientation==="horizontal"?(b=this.elementSize.width,c=a.x-this.elementOffset.left-(this._clickOffset?this._clickOffset.left:0)):(b=this.elementSize.height,c=a.y-this.elementOffset.top-(this._clickOffset?this._clickOffset.top:0)),d=c/b,d>1&&(d=1),d<0&&(d=0),this.orientation==="vertical"&&(d=1-d),e=this._valueMax()-this._valueMin(),f=this._valueMin()+d*e,this._trimAlignValue(f)},_start:function(a,b){var c={handle:this.handles[b],value:this.value()};return this.options.values&&this.options.values.length&&(c.value=this.values(b),c.values=this.values()),this._trigger("start",a,c)},_slide:function(a,b,c){var d,e,f;this.options.values&&this.options.values.length?(d=this.values(b?0:1),this.options.values.length===2&&this.options.range===!0&&(b===0&&c>d||b===1&&c<d)&&(c=d),c!==this.values(b)&&(e=this.values(),e[b]=c,f=this._trigger("slide",a,{handle:this.handles[b],value:c,values:e}),d=this.values(b?0:1),f!==!1&&this.values(b,c,!0))):c!==this.value()&&(f=this._trigger("slide",a,{handle:this.handles[b],value:c}),f!==!1&&this.value(c))},_stop:function(a,b){var c={handle:this.handles[b],value:this.value()};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()};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);return}return this._value()},values:function(b,c){var d,e,f;if(arguments.length>1){this.options.values[b]=this._trimAlignValue(c),this._refreshValue(),this._change(null,b);return}if(!arguments.length)return this._values();if(!a.isArray(arguments[0]))return this.options.values&&this.options.values.length?this._values(b):this.value();d=this.options.values,e=arguments[0];for(f=0;f<d.length;f+=1)d[f]=this._trimAlignValue(e[f]),this._change(null,f);this._refreshValue()},_setOption:function(b,c){var d,e=0;a.isArray(this.options.values)&&(e=this.options.values.length),a.Widget.prototype._setOption.apply(this,arguments);switch(b){case"disabled":c?(this.handles.filter(".ui-state-focus").blur(),this.handles.removeClass("ui-state-hover"),this.handles.propAttr("disabled",!0),this.element.addClass("ui-disabled")):(this.handles.propAttr("disabled",!1),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=!0,this._refreshValue(),this._change(null,0),this._animateOff=!1;break;case"values":this._animateOff=!0,this._refreshValue();for(d=0;d<e;d+=1)this._change(null,d);this._animateOff=!1}},_value:function(){var a=this.options.value;return a=this._trimAlignValue(a),a},_values:function(a){var b,c,d;if(arguments.length)return b=this.options.values[a],b=this._trimAlignValue(b),b;c=this.options.values.slice();for(d=0;d<c.length;d+=1)c[d]=this._trimAlignValue(c[d]);return c},_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,d=a-c;return Math.abs(c)*2>=b&&(d+=c>0?b:-b),parseFloat(d.toFixed(5))},_valueMin:function(){return this.options.min},_valueMax:function(){return this.options.max},_refreshValue:function(){var b=this.options.range,c=this.options,d=this,e=this._animateOff?!1:c.animate,f,g={},h,i,j,k;this.options.values&&this.options.values.length?this.handles.each(function(b,i){f=(d.values(b)-d._valueMin())/(d._valueMax()-d._valueMin())*100,g[d.orientation==="horizontal"?"left":"bottom"]=f+"%",a(this).stop(1,1)[e?"animate":"css"](g,c.animate),d.options.range===!0&&(d.orientation==="horizontal"?(b===0&&d.range.stop(1,1)[e?"animate":"css"]({left:f+"%"},c.animate),b===1&&d.range[e?"animate":"css"]({width:f-h+"%"},{queue:!1,duration:c.animate})):(b===0&&d.range.stop(1,1)[e?"animate":"css"]({bottom:f+"%"},c.animate),b===1&&d.range[e?"animate":"css"]({height:f-h+"%"},{queue:!1,duration:c.animate}))),h=f}):(i=this.value(),j=this._valueMin(),k=this._valueMax(),f=k!==j?(i-j)/(k-j)*100:0,g[d.orientation==="horizontal"?"left":"bottom"]=f+"%",this.handle.stop(1,1)[e?"animate":"css"](g,c.animate),b==="min"&&this.orientation==="horizontal"&&this.range.stop(1,1)[e?"animate":"css"]({width:f+"%"},c.animate),b==="max"&&this.orientation==="horizontal"&&this.range[e?"animate":"css"]({width:100-f+"%"},{queue:!1,duration:c.animate}),b==="min"&&this.orientation==="vertical"&&this.range.stop(1,1)[e?"animate":"css"]({height:f+"%"},c.animate),b==="max"&&this.orientation==="vertical"&&this.range[e?"animate":"css"]({height:100-f+"%"},{queue:!1,duration:c.animate}))}}),a.extend(a.ui.slider,{version:"1.8.23"})})(jQuery);;/*! jQuery UI - v1.8.23 - 2012-08-15
 * https://github.com/jquery/jquery-ui
 * Includes: jquery.ui.tabs.js
 * Copyright (c) 2012 AUTHORS.txt; Licensed MIT, GPL */
-(function(a,b){function e(){return++c}function f(){return++d}var c=0,d=0;a.widget("ui.tabs",{options:{add:null,ajaxOptions:null,cache:!1,cookie:null,collapsible:!1,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&#8230;</em>",tabTemplate:"<li><a href='#{href}'><span>#{label}</span></a></li>"},_create:function(){this._tabify(!0)},_setOption:function(a,b){if(a=="selected"){if(this.options.collapsible&&b==this.options.selected)return;this.select(b)}else this.options[a]=b,this._tabify()},_tabId:function(a){return a.title&&a.title.replace(/\s/g,"_").replace(/[^\w\u00c0-\uFFFF-]/g,"")||this.options.idPrefix+e()},_sanitizeSelector:function(a){return a.replace(/:/g,"\\:")},_cookie:function(){var b=this.cookie||(this.cookie=this.options.cookie.name||"ui-tabs-"+f());return a.cookie.apply(null,[b].concat(a.makeArray(arguments)))},_ui:function(a,b){return{tab:a,panel:b,index:this.anchors.index(a)}},_cleanup:function(){this.lis.filter(".ui-state-processing").removeClass("ui-state-processing").find("span:data(label.tabs)").each(function(){var b=a(this);b.html(b.data("label.tabs")).removeData("label.tabs")})},_tabify:function(c){function m(b,c){b.css("display",""),!a.support.opacity&&c.opacity&&b[0].style.removeAttribute("filter")}var d=this,e=this.options,f=/^#.+/;this.list=this.element.find("ol,ul").eq(0),this.lis=a(" > li:has(a[href])",this.list),this.anchors=this.lis.map(function(){return a("a",this)[0]}),this.panels=a([]),this.anchors.each(function(b,c){var g=a(c).attr("href"),h=g.split("#")[0],i;h&&(h===location.toString().split("#")[0]||(i=a("base")[0])&&h===i.href)&&(g=c.hash,c.href=g);if(f.test(g))d.panels=d.panels.add(d.element.find(d._sanitizeSelector(g)));else if(g&&g!=="#"){a.data(c,"href.tabs",g),a.data(c,"load.tabs",g.replace(/#.*$/,""));var j=d._tabId(c);c.href="#"+j;var k=d.element.find("#"+j);k.length||(k=a(e.panelTemplate).attr("id",j).addClass("ui-tabs-panel ui-widget-content ui-corner-bottom").insertAfter(d.panels[b-1]||d.list),k.data("destroy.tabs",!0)),d.panels=d.panels.add(k)}else e.disabled.push(b)}),c?(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"),e.selected===b?(location.hash&&this.anchors.each(function(a,b){if(b.hash==location.hash)return e.selected=a,!1}),typeof e.selected!="number"&&e.cookie&&(e.selected=parseInt(d._cookie(),10)),typeof e.selected!="number"&&this.lis.filter(".ui-tabs-selected").length&&(e.selected=this.lis.index(this.lis.filter(".ui-tabs-selected"))),e.selected=e.selected||(this.lis.length?0:-1)):e.selected===null&&(e.selected=-1),e.selected=e.selected>=0&&this.anchors[e.selected]||e.selected<0?e.selected:0,e.disabled=a.unique(e.disabled.concat(a.map(this.lis.filter(".ui-state-disabled"),function(a,b){return d.lis.index(a)}))).sort(),a.inArray(e.selected,e.disabled)!=-1&&e.disabled.splice(a.inArray(e.selected,e.disabled),1),this.panels.addClass("ui-tabs-hide"),this.lis.removeClass("ui-tabs-selected ui-state-active"),e.selected>=0&&this.anchors.length&&(d.element.find(d._sanitizeSelector(d.anchors[e.selected].hash)).removeClass("ui-tabs-hide"),this.lis.eq(e.selected).addClass("ui-tabs-selected ui-state-active"),d.element.queue("tabs",function(){d._trigger("show",null,d._ui(d.anchors[e.selected],d.element.find(d._sanitizeSelector(d.anchors[e.selected].hash))[0]))}),this.load(e.selected)),a(window).bind("unload",function(){d.lis.add(d.anchors).unbind(".tabs"),d.lis=d.anchors=d.panels=null})):e.selected=this.lis.index(this.lis.filter(".ui-tabs-selected")),this.element[e.collapsible?"addClass":"removeClass"]("ui-tabs-collapsible"),e.cookie&&this._cookie(e.selected,e.cookie);for(var g=0,h;h=this.lis[g];g++)a(h)[a.inArray(g,e.disabled)!=-1&&!a(h).hasClass("ui-tabs-selected")?"addClass":"removeClass"]("ui-state-disabled");e.cache===!1&&this.anchors.removeData("cache.tabs"),this.lis.add(this.anchors).unbind(".tabs");if(e.event!=="mouseover"){var i=function(a,b){b.is(":not(.ui-state-disabled)")&&b.addClass("ui-state-"+a)},j=function(a,b){b.removeClass("ui-state-"+a)};this.lis.bind("mouseover.tabs",function(){i("hover",a(this))}),this.lis.bind("mouseout.tabs",function(){j("hover",a(this))}),this.anchors.bind("focus.tabs",function(){i("focus",a(this).closest("li"))}),this.anchors.bind("blur.tabs",function(){j("focus",a(this).closest("li"))})}var k,l;e.fx&&(a.isArray(e.fx)?(k=e.fx[0],l=e.fx[1]):k=l=e.fx);var n=l?function(b,c){a(b).closest("li").addClass("ui-tabs-selected ui-state-active"),c.hide().removeClass("ui-tabs-hide").animate(l,l.duration||"normal",function(){m(c,l),d._trigger("show",null,d._ui(b,c[0]))})}:function(b,c){a(b).closest("li").addClass("ui-tabs-selected ui-state-active"),c.removeClass("ui-tabs-hide"),d._trigger("show",null,d._ui(b,c[0]))},o=k?function(a,b){b.animate(k,k.duration||"normal",function(){d.lis.removeClass("ui-tabs-selected ui-state-active"),b.addClass("ui-tabs-hide"),m(b,k),d.element.dequeue("tabs")})}:function(a,b,c){d.lis.removeClass("ui-tabs-selected ui-state-active"),b.addClass("ui-tabs-hide"),d.element.dequeue("tabs")};this.anchors.bind(e.event+".tabs",function(){var b=this,c=a(b).closest("li"),f=d.panels.filter(":not(.ui-tabs-hide)"),g=d.element.find(d._sanitizeSelector(b.hash));if(c.hasClass("ui-tabs-selected")&&!e.collapsible||c.hasClass("ui-state-disabled")||c.hasClass("ui-state-processing")||d.panels.filter(":animated").length||d._trigger("select",null,d._ui(this,g[0]))===!1)return this.blur(),!1;e.selected=d.anchors.index(this),d.abort();if(e.collapsible){if(c.hasClass("ui-tabs-selected"))return e.selected=-1,e.cookie&&d._cookie(e.selected,e.cookie),d.element.queue("tabs",function(){o(b,f)}).dequeue("tabs"),this.blur(),!1;if(!f.length)return e.cookie&&d._cookie(e.selected,e.cookie),d.element.queue("tabs",function(){n(b,g)}),d.load(d.anchors.index(this)),this.blur(),!1}e.cookie&&d._cookie(e.selected,e.cookie);if(g.length)f.length&&d.element.queue("tabs",function(){o(b,f)}),d.element.queue("tabs",function(){n(b,g)}),d.load(d.anchors.index(this));else throw"jQuery UI Tabs: Mismatching fragment identifier.";a.browser.msie&&this.blur()}),this.anchors.bind("click.tabs",function(){return!1})},_getIndex:function(a){return typeof a=="string"&&(a=this.anchors.index(this.anchors.filter("[href$='"+a+"']"))),a},destroy:function(){var b=this.options;return 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 b=a.data(this,"href.tabs");b&&(this.href=b);var c=a(this).unbind(".tabs");a.each(["href","load","cache"],function(a,b){c.removeData(b+".tabs")})}),this.lis.unbind(".tabs").add(this.panels).each(function(){a.data(this,"destroy.tabs")?a(this).remove():a(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"].join(" "))}),b.cookie&&this._cookie(null,b.cookie),this},add:function(c,d,e){e===b&&(e=this.anchors.length);var f=this,g=this.options,h=a(g.tabTemplate.replace(/#\{href\}/g,c).replace(/#\{label\}/g,d)),i=c.indexOf("#")?this._tabId(a("a",h)[0]):c.replace("#","");h.addClass("ui-state-default ui-corner-top").data("destroy.tabs",!0);var j=f.element.find("#"+i);return j.length||(j=a(g.panelTemplate).attr("id",i).data("destroy.tabs",!0)),j.addClass("ui-tabs-panel ui-widget-content ui-corner-bottom ui-tabs-hide"),e>=this.lis.length?(h.appendTo(this.list),j.appendTo(this.list[0].parentNode)):(h.insertBefore(this.lis[e]),j.insertBefore(this.panels[e])),g.disabled=a.map(g.disabled,function(a,b){return a>=e?++a:a}),this._tabify(),this.anchors.length==1&&(g.selected=0,h.addClass("ui-tabs-selected ui-state-active"),j.removeClass("ui-tabs-hide"),this.element.queue("tabs",function(){f._trigger("show",null,f._ui(f.anchors[0],f.panels[0]))}),this.load(0)),this._trigger("add",null,this._ui(this.anchors[e],this.panels[e])),this},remove:function(b){b=this._getIndex(b);var c=this.options,d=this.lis.eq(b).remove(),e=this.panels.eq(b).remove();return d.hasClass("ui-tabs-selected")&&this.anchors.length>1&&this.select(b+(b+1<this.anchors.length?1:-1)),c.disabled=a.map(a.grep(c.disabled,function(a,c){return a!=b}),function(a,c){return a>=b?--a:a}),this._tabify(),this._trigger("remove",null,this._ui(d.find("a")[0],e[0])),this},enable:function(b){b=this._getIndex(b);var c=this.options;if(a.inArray(b,c.disabled)==-1)return;return this.lis.eq(b).removeClass("ui-state-disabled"),c.disabled=a.grep(c.disabled,function(a,c){return a!=b}),this._trigger("enable",null,this._ui(this.anchors[b],this.panels[b])),this},disable:function(a){a=this._getIndex(a);var b=this,c=this.options;return a!=c.selected&&(this.lis.eq(a).addClass("ui-state-disabled"),c.disabled.push(a),c.disabled.sort(),this._trigger("disable",null,this._ui(this.anchors[a],this.panels[a]))),this},select:function(a){a=this._getIndex(a);if(a==-1)if(this.options.collapsible&&this.options.selected!=-1)a=this.options.selected;else return this;return this.anchors.eq(a).trigger(this.options.event+".tabs"),this},load:function(b){b=this._getIndex(b);var c=this,d=this.options,e=this.anchors.eq(b)[0],f=a.data(e,"load.tabs");this.abort();if(!f||this.element.queue("tabs").length!==0&&a.data(e,"cache.tabs")){this.element.dequeue("tabs");return}this.lis.eq(b).addClass("ui-state-processing");if(d.spinner){var g=a("span",e);g.data("label.tabs",g.html()).html(d.spinner)}return this.xhr=a.ajax(a.extend({},d.ajaxOptions,{url:f,success:function(f,g){c.element.find(c._sanitizeSelector(e.hash)).html(f),c._cleanup(),d.cache&&a.data(e,"cache.tabs",!0),c._trigger("load",null,c._ui(c.anchors[b],c.panels[b]));try{d.ajaxOptions.success(f,g)}catch(h){}},error:function(a,f,g){c._cleanup(),c._trigger("load",null,c._ui(c.anchors[b],c.panels[b]));try{d.ajaxOptions.error(a,f,b,e)}catch(g){}}})),c.element.dequeue("tabs"),this},abort:function(){return this.element.queue([]),this.panels.stop(!1,!0),this.element.queue("tabs",this.element.queue("tabs").splice(-2,2)),this.xhr&&(this.xhr.abort(),delete this.xhr),this._cleanup(),this},url:function(a,b){return this.anchors.eq(a).removeData("cache.tabs").data("load.tabs",b),this},length:function(){return this.anchors.length}}),a.extend(a.ui.tabs,{version:"1.8.21"}),a.extend(a.ui.tabs.prototype,{rotation:null,rotate:function(a,b){var c=this,d=this.options,e=c._rotate||(c._rotate=function(b){clearTimeout(c.rotation),c.rotation=setTimeout(function(){var a=d.selected;c.select(++a<c.anchors.length?a:0)},a),b&&b.stopPropagation()}),f=c._unrotate||(c._unrotate=b?function(a){e()}:function(a){a.clientX&&c.rotate(null)});return a?(this.element.bind("tabsshow",e),this.anchors.bind(d.event+".tabs",f),e()):(clearTimeout(c.rotation),this.element.unbind("tabsshow",e),this.anchors.unbind(d.event+".tabs",f),delete this._rotate,delete this._unrotate),this}})})(jQuery);;/*! jQuery UI - v1.8.21 - 2012-06-05
+(function(a,b){function e(){return++c}function f(){return++d}var c=0,d=0;a.widget("ui.tabs",{options:{add:null,ajaxOptions:null,cache:!1,cookie:null,collapsible:!1,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&#8230;</em>",tabTemplate:"<li><a href='#{href}'><span>#{label}</span></a></li>"},_create:function(){this._tabify(!0)},_setOption:function(a,b){if(a=="selected"){if(this.options.collapsible&&b==this.options.selected)return;this.select(b)}else this.options[a]=b,this._tabify()},_tabId:function(a){return a.title&&a.title.replace(/\s/g,"_").replace(/[^\w\u00c0-\uFFFF-]/g,"")||this.options.idPrefix+e()},_sanitizeSelector:function(a){return a.replace(/:/g,"\\:")},_cookie:function(){var b=this.cookie||(this.cookie=this.options.cookie.name||"ui-tabs-"+f());return a.cookie.apply(null,[b].concat(a.makeArray(arguments)))},_ui:function(a,b){return{tab:a,panel:b,index:this.anchors.index(a)}},_cleanup:function(){this.lis.filter(".ui-state-processing").removeClass("ui-state-processing").find("span:data(label.tabs)").each(function(){var b=a(this);b.html(b.data("label.tabs")).removeData("label.tabs")})},_tabify:function(c){function m(b,c){b.css("display",""),!a.support.opacity&&c.opacity&&b[0].style.removeAttribute("filter")}var d=this,e=this.options,f=/^#.+/;this.list=this.element.find("ol,ul").eq(0),this.lis=a(" > li:has(a[href])",this.list),this.anchors=this.lis.map(function(){return a("a",this)[0]}),this.panels=a([]),this.anchors.each(function(b,c){var g=a(c).attr("href"),h=g.split("#")[0],i;h&&(h===location.toString().split("#")[0]||(i=a("base")[0])&&h===i.href)&&(g=c.hash,c.href=g);if(f.test(g))d.panels=d.panels.add(d.element.find(d._sanitizeSelector(g)));else if(g&&g!=="#"){a.data(c,"href.tabs",g),a.data(c,"load.tabs",g.replace(/#.*$/,""));var j=d._tabId(c);c.href="#"+j;var k=d.element.find("#"+j);k.length||(k=a(e.panelTemplate).attr("id",j).addClass("ui-tabs-panel ui-widget-content ui-corner-bottom").insertAfter(d.panels[b-1]||d.list),k.data("destroy.tabs",!0)),d.panels=d.panels.add(k)}else e.disabled.push(b)}),c?(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"),e.selected===b?(location.hash&&this.anchors.each(function(a,b){if(b.hash==location.hash)return e.selected=a,!1}),typeof e.selected!="number"&&e.cookie&&(e.selected=parseInt(d._cookie(),10)),typeof e.selected!="number"&&this.lis.filter(".ui-tabs-selected").length&&(e.selected=this.lis.index(this.lis.filter(".ui-tabs-selected"))),e.selected=e.selected||(this.lis.length?0:-1)):e.selected===null&&(e.selected=-1),e.selected=e.selected>=0&&this.anchors[e.selected]||e.selected<0?e.selected:0,e.disabled=a.unique(e.disabled.concat(a.map(this.lis.filter(".ui-state-disabled"),function(a,b){return d.lis.index(a)}))).sort(),a.inArray(e.selected,e.disabled)!=-1&&e.disabled.splice(a.inArray(e.selected,e.disabled),1),this.panels.addClass("ui-tabs-hide"),this.lis.removeClass("ui-tabs-selected ui-state-active"),e.selected>=0&&this.anchors.length&&(d.element.find(d._sanitizeSelector(d.anchors[e.selected].hash)).removeClass("ui-tabs-hide"),this.lis.eq(e.selected).addClass("ui-tabs-selected ui-state-active"),d.element.queue("tabs",function(){d._trigger("show",null,d._ui(d.anchors[e.selected],d.element.find(d._sanitizeSelector(d.anchors[e.selected].hash))[0]))}),this.load(e.selected)),a(window).bind("unload",function(){d.lis.add(d.anchors).unbind(".tabs"),d.lis=d.anchors=d.panels=null})):e.selected=this.lis.index(this.lis.filter(".ui-tabs-selected")),this.element[e.collapsible?"addClass":"removeClass"]("ui-tabs-collapsible"),e.cookie&&this._cookie(e.selected,e.cookie);for(var g=0,h;h=this.lis[g];g++)a(h)[a.inArray(g,e.disabled)!=-1&&!a(h).hasClass("ui-tabs-selected")?"addClass":"removeClass"]("ui-state-disabled");e.cache===!1&&this.anchors.removeData("cache.tabs"),this.lis.add(this.anchors).unbind(".tabs");if(e.event!=="mouseover"){var i=function(a,b){b.is(":not(.ui-state-disabled)")&&b.addClass("ui-state-"+a)},j=function(a,b){b.removeClass("ui-state-"+a)};this.lis.bind("mouseover.tabs",function(){i("hover",a(this))}),this.lis.bind("mouseout.tabs",function(){j("hover",a(this))}),this.anchors.bind("focus.tabs",function(){i("focus",a(this).closest("li"))}),this.anchors.bind("blur.tabs",function(){j("focus",a(this).closest("li"))})}var k,l;e.fx&&(a.isArray(e.fx)?(k=e.fx[0],l=e.fx[1]):k=l=e.fx);var n=l?function(b,c){a(b).closest("li").addClass("ui-tabs-selected ui-state-active"),c.hide().removeClass("ui-tabs-hide").animate(l,l.duration||"normal",function(){m(c,l),d._trigger("show",null,d._ui(b,c[0]))})}:function(b,c){a(b).closest("li").addClass("ui-tabs-selected ui-state-active"),c.removeClass("ui-tabs-hide"),d._trigger("show",null,d._ui(b,c[0]))},o=k?function(a,b){b.animate(k,k.duration||"normal",function(){d.lis.removeClass("ui-tabs-selected ui-state-active"),b.addClass("ui-tabs-hide"),m(b,k),d.element.dequeue("tabs")})}:function(a,b,c){d.lis.removeClass("ui-tabs-selected ui-state-active"),b.addClass("ui-tabs-hide"),d.element.dequeue("tabs")};this.anchors.bind(e.event+".tabs",function(){var b=this,c=a(b).closest("li"),f=d.panels.filter(":not(.ui-tabs-hide)"),g=d.element.find(d._sanitizeSelector(b.hash));if(c.hasClass("ui-tabs-selected")&&!e.collapsible||c.hasClass("ui-state-disabled")||c.hasClass("ui-state-processing")||d.panels.filter(":animated").length||d._trigger("select",null,d._ui(this,g[0]))===!1)return this.blur(),!1;e.selected=d.anchors.index(this),d.abort();if(e.collapsible){if(c.hasClass("ui-tabs-selected"))return e.selected=-1,e.cookie&&d._cookie(e.selected,e.cookie),d.element.queue("tabs",function(){o(b,f)}).dequeue("tabs"),this.blur(),!1;if(!f.length)return e.cookie&&d._cookie(e.selected,e.cookie),d.element.queue("tabs",function(){n(b,g)}),d.load(d.anchors.index(this)),this.blur(),!1}e.cookie&&d._cookie(e.selected,e.cookie);if(g.length)f.length&&d.element.queue("tabs",function(){o(b,f)}),d.element.queue("tabs",function(){n(b,g)}),d.load(d.anchors.index(this));else throw"jQuery UI Tabs: Mismatching fragment identifier.";a.browser.msie&&this.blur()}),this.anchors.bind("click.tabs",function(){return!1})},_getIndex:function(a){return typeof a=="string"&&(a=this.anchors.index(this.anchors.filter("[href$='"+a+"']"))),a},destroy:function(){var b=this.options;return 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 b=a.data(this,"href.tabs");b&&(this.href=b);var c=a(this).unbind(".tabs");a.each(["href","load","cache"],function(a,b){c.removeData(b+".tabs")})}),this.lis.unbind(".tabs").add(this.panels).each(function(){a.data(this,"destroy.tabs")?a(this).remove():a(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"].join(" "))}),b.cookie&&this._cookie(null,b.cookie),this},add:function(c,d,e){e===b&&(e=this.anchors.length);var f=this,g=this.options,h=a(g.tabTemplate.replace(/#\{href\}/g,c).replace(/#\{label\}/g,d)),i=c.indexOf("#")?this._tabId(a("a",h)[0]):c.replace("#","");h.addClass("ui-state-default ui-corner-top").data("destroy.tabs",!0);var j=f.element.find("#"+i);return j.length||(j=a(g.panelTemplate).attr("id",i).data("destroy.tabs",!0)),j.addClass("ui-tabs-panel ui-widget-content ui-corner-bottom ui-tabs-hide"),e>=this.lis.length?(h.appendTo(this.list),j.appendTo(this.list[0].parentNode)):(h.insertBefore(this.lis[e]),j.insertBefore(this.panels[e])),g.disabled=a.map(g.disabled,function(a,b){return a>=e?++a:a}),this._tabify(),this.anchors.length==1&&(g.selected=0,h.addClass("ui-tabs-selected ui-state-active"),j.removeClass("ui-tabs-hide"),this.element.queue("tabs",function(){f._trigger("show",null,f._ui(f.anchors[0],f.panels[0]))}),this.load(0)),this._trigger("add",null,this._ui(this.anchors[e],this.panels[e])),this},remove:function(b){b=this._getIndex(b);var c=this.options,d=this.lis.eq(b).remove(),e=this.panels.eq(b).remove();return d.hasClass("ui-tabs-selected")&&this.anchors.length>1&&this.select(b+(b+1<this.anchors.length?1:-1)),c.disabled=a.map(a.grep(c.disabled,function(a,c){return a!=b}),function(a,c){return a>=b?--a:a}),this._tabify(),this._trigger("remove",null,this._ui(d.find("a")[0],e[0])),this},enable:function(b){b=this._getIndex(b);var c=this.options;if(a.inArray(b,c.disabled)==-1)return;return this.lis.eq(b).removeClass("ui-state-disabled"),c.disabled=a.grep(c.disabled,function(a,c){return a!=b}),this._trigger("enable",null,this._ui(this.anchors[b],this.panels[b])),this},disable:function(a){a=this._getIndex(a);var b=this,c=this.options;return a!=c.selected&&(this.lis.eq(a).addClass("ui-state-disabled"),c.disabled.push(a),c.disabled.sort(),this._trigger("disable",null,this._ui(this.anchors[a],this.panels[a]))),this},select:function(a){a=this._getIndex(a);if(a==-1)if(this.options.collapsible&&this.options.selected!=-1)a=this.options.selected;else return this;return this.anchors.eq(a).trigger(this.options.event+".tabs"),this},load:function(b){b=this._getIndex(b);var c=this,d=this.options,e=this.anchors.eq(b)[0],f=a.data(e,"load.tabs");this.abort();if(!f||this.element.queue("tabs").length!==0&&a.data(e,"cache.tabs")){this.element.dequeue("tabs");return}this.lis.eq(b).addClass("ui-state-processing");if(d.spinner){var g=a("span",e);g.data("label.tabs",g.html()).html(d.spinner)}return this.xhr=a.ajax(a.extend({},d.ajaxOptions,{url:f,success:function(f,g){c.element.find(c._sanitizeSelector(e.hash)).html(f),c._cleanup(),d.cache&&a.data(e,"cache.tabs",!0),c._trigger("load",null,c._ui(c.anchors[b],c.panels[b]));try{d.ajaxOptions.success(f,g)}catch(h){}},error:function(a,f,g){c._cleanup(),c._trigger("load",null,c._ui(c.anchors[b],c.panels[b]));try{d.ajaxOptions.error(a,f,b,e)}catch(g){}}})),c.element.dequeue("tabs"),this},abort:function(){return this.element.queue([]),this.panels.stop(!1,!0),this.element.queue("tabs",this.element.queue("tabs").splice(-2,2)),this.xhr&&(this.xhr.abort(),delete this.xhr),this._cleanup(),this},url:function(a,b){return this.anchors.eq(a).removeData("cache.tabs").data("load.tabs",b),this},length:function(){return this.anchors.length}}),a.extend(a.ui.tabs,{version:"1.8.23"}),a.extend(a.ui.tabs.prototype,{rotation:null,rotate:function(a,b){var c=this,d=this.options,e=c._rotate||(c._rotate=function(b){clearTimeout(c.rotation),c.rotation=setTimeout(function(){var a=d.selected;c.select(++a<c.anchors.length?a:0)},a),b&&b.stopPropagation()}),f=c._unrotate||(c._unrotate=b?function(a){e()}:function(a){a.clientX&&c.rotate(null)});return a?(this.element.bind("tabsshow",e),this.anchors.bind(d.event+".tabs",f),e()):(clearTimeout(c.rotation),this.element.unbind("tabsshow",e),this.anchors.unbind(d.event+".tabs",f),delete this._rotate,delete this._unrotate),this}})})(jQuery);;/*! jQuery UI - v1.8.23 - 2012-08-15
 * https://github.com/jquery/jquery-ui
 * Includes: jquery.ui.datepicker.js
 * Copyright (c) 2012 AUTHORS.txt; Licensed MIT, GPL */
-(function($,undefined){function Datepicker(){this.debug=!1,this._curInst=null,this._keyEvent=!1,this._disabledInputs=[],this._datepickerShowing=!1,this._inDialog=!1,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:!1,showMonthAfterYear:!1,yearSuffix:""},this._defaults={showOn:"focus",showAnim:"fadeIn",showOptions:{},defaultDate:null,appendText:"",buttonText:"...",buttonImage:"",buttonImageOnly:!1,hideIfNoPrevNext:!1,navigationAsDateFormat:!1,gotoCurrent:!1,changeMonth:!1,changeYear:!1,yearRange:"c-10:c+10",showOtherMonths:!1,selectOtherMonths:!1,showWeek:!1,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:!0,showButtonPanel:!1,autoSize:!1,disabled:!1},$.extend(this._defaults,this.regional[""]),this.dpDiv=bindHover($('<div id="'+this._mainDivId+'" class="ui-datepicker ui-widget ui-widget-content ui-helper-clearfix ui-corner-all"></div>'))}function bindHover(a){var b="button, .ui-datepicker-prev, .ui-datepicker-next, .ui-datepicker-calendar td a";return a.bind("mouseout",function(a){var c=$(a.target).closest(b);if(!c.length)return;c.removeClass("ui-state-hover ui-datepicker-prev-hover ui-datepicker-next-hover")}).bind("mouseover",function(c){var d=$(c.target).closest(b);if($.datepicker._isDisabledDatepicker(instActive.inline?a.parent()[0]:instActive.input[0])||!d.length)return;d.parents(".ui-datepicker-calendar").find("a").removeClass("ui-state-hover"),d.addClass("ui-state-hover"),d.hasClass("ui-datepicker-prev")&&d.addClass("ui-datepicker-prev-hover"),d.hasClass("ui-datepicker-next")&&d.addClass("ui-datepicker-next-hover")})}function extendRemove(a,b){$.extend(a,b);for(var c in b)if(b[c]==null||b[c]==undefined)a[c]=b[c];return a}function isArray(a){return a&&($.browser.safari&&typeof a=="object"&&a.length||a.constructor&&a.constructor.toString().match(/\Array\(\)/))}$.extend($.ui,{datepicker:{version:"1.8.21"}});var PROP_NAME="datepicker",dpuuid=(new Date).getTime(),instActive;$.extend(Datepicker.prototype,{markerClassName:"hasDatepicker",maxRows:4,log:function(){this.debug&&console.log.apply("",arguments)},_widgetDatepicker:function(){return this.dpDiv},setDefaults:function(a){return extendRemove(this._defaults,a||{}),this},_attachDatepicker:function(target,settings){var inlineSettings=null;for(var attrName in this._defaults){var attrValue=target.getAttribute("date:"+attrName);if(attrValue){inlineSettings=inlineSettings||{};try{inlineSettings[attrName]=eval(attrValue)}catch(err){inlineSettings[attrName]=attrValue}}}var nodeName=target.nodeName.toLowerCase(),inline=nodeName=="div"||nodeName=="span";target.id||(this.uuid+=1,target.id="dp"+this.uuid);var inst=this._newInst($(target),inline);inst.settings=$.extend({},settings||{},inlineSettings||{}),nodeName=="input"?this._connectDatepicker(target,inst):inline&&this._inlineDatepicker(target,inst)},_newInst:function(a,b){var c=a[0].id.replace(/([^A-Za-z0-9_-])/g,"\\\\$1");return{id:c,input:a,selectedDay:0,selectedMonth:0,selectedYear:0,drawMonth:0,drawYear:0,inline:b,dpDiv:b?bindHover($('<div class="'+this._inlineClass+' ui-datepicker ui-widget ui-widget-content ui-helper-clearfix ui-corner-all"></div>')):this.dpDiv}},_connectDatepicker:function(a,b){var c=$(a);b.append=$([]),b.trigger=$([]);if(c.hasClass(this.markerClassName))return;this._attachments(c,b),c.addClass(this.markerClassName).keydown(this._doKeyDown).keypress(this._doKeyPress).keyup(this._doKeyUp).bind("setData.datepicker",function(a,c,d){b.settings[c]=d}).bind("getData.datepicker",function(a,c){return this._get(b,c)}),this._autoSize(b),$.data(a,PROP_NAME,b),b.settings.disabled&&this._disableDatepicker(a)},_attachments:function(a,b){var c=this._get(b,"appendText"),d=this._get(b,"isRTL");b.append&&b.append.remove(),c&&(b.append=$('<span class="'+this._appendClass+'">'+c+"</span>"),a[d?"before":"after"](b.append)),a.unbind("focus",this._showDatepicker),b.trigger&&b.trigger.remove();var e=this._get(b,"showOn");(e=="focus"||e=="both")&&a.focus(this._showDatepicker);if(e=="button"||e=="both"){var f=this._get(b,"buttonText"),g=this._get(b,"buttonImage");b.trigger=$(this._get(b,"buttonImageOnly")?$("<img/>").addClass(this._triggerClass).attr({src:g,alt:f,title:f}):$('<button type="button"></button>').addClass(this._triggerClass).html(g==""?f:$("<img/>").attr({src:g,alt:f,title:f}))),a[d?"before":"after"](b.trigger),b.trigger.click(function(){return $.datepicker._datepickerShowing&&$.datepicker._lastInput==a[0]?$.datepicker._hideDatepicker():$.datepicker._datepickerShowing&&$.datepicker._lastInput!=a[0]?($.datepicker._hideDatepicker(),$.datepicker._showDatepicker(a[0])):$.datepicker._showDatepicker(a[0]),!1})}},_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 d=function(a){var b=0,c=0;for(var d=0;d<a.length;d++)a[d].length>b&&(b=a[d].length,c=d);return c};b.setMonth(d(this._get(a,c.match(/MM/)?"monthNames":"monthNamesShort"))),b.setDate(d(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=$(a);if(c.hasClass(this.markerClassName))return;c.addClass(this.markerClassName).append(b.dpDiv).bind("setData.datepicker",function(a,c,d){b.settings[c]=d}).bind("getData.datepicker",function(a,c){return this._get(b,c)}),$.data(a,PROP_NAME,b),this._setDate(b,this._getDefaultDate(b),!0),this._updateDatepicker(b),this._updateAlternate(b),b.settings.disabled&&this._disableDatepicker(a),b.dpDiv.css("display","block")},_dialogDatepicker:function(a,b,c,d,e){var f=this._dialogInst;if(!f){this.uuid+=1;var g="dp"+this.uuid;this._dialogInput=$('<input type="text" id="'+g+'" style="position: absolute; top: -100px; width: 0px; z-index: -10;"/>'),this._dialogInput.keydown(this._doKeyDown),$("body").append(this._dialogInput),f=this._dialogInst=this._newInst(this._dialogInput,!1),f.settings={},$.data(this._dialogInput[0],PROP_NAME,f)}extendRemove(f.settings,d||{}),b=b&&b.constructor==Date?this._formatDate(f,b):b,this._dialogInput.val(b),this._pos=e?e.length?e:[e.pageX,e.pageY]:null;if(!this._pos){var h=document.documentElement.clientWidth,i=document.documentElement.clientHeight,j=document.documentElement.scrollLeft||document.body.scrollLeft,k=document.documentElement.scrollTop||document.body.scrollTop;this._pos=[h/2-100+j,i/2-150+k]}return this._dialogInput.css("left",this._pos[0]+20+"px").css("top",this._pos[1]+"px"),f.settings.onSelect=c,this._inDialog=!0,this.dpDiv.addClass(this._dialogClass),this._showDatepicker(this._dialogInput[0]),$.blockUI&&$.blockUI(this.dpDiv),$.data(this._dialogInput[0],PROP_NAME,f),this},_destroyDatepicker:function(a){var b=$(a),c=$.data(a,PROP_NAME);if(!b.hasClass(this.markerClassName))return;var d=a.nodeName.toLowerCase();$.removeData(a,PROP_NAME),d=="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)):(d=="div"||d=="span")&&b.removeClass(this.markerClassName).empty()},_enableDatepicker:function(a){var b=$(a),c=$.data(a,PROP_NAME);if(!b.hasClass(this.markerClassName))return;var d=a.nodeName.toLowerCase();if(d=="input")a.disabled=!1,c.trigger.filter("button").each(function(){this.disabled=!1}).end().filter("img").css({opacity:"1.0",cursor:""});else if(d=="div"||d=="span"){var e=b.children("."+this._inlineClass);e.children().removeClass("ui-state-disabled"),e.find("select.ui-datepicker-month, select.ui-datepicker-year").removeAttr("disabled")}this._disabledInputs=$.map(this._disabledInputs,function(b){return b==a?null:b})},_disableDatepicker:function(a){var b=$(a),c=$.data(a,PROP_NAME);if(!b.hasClass(this.markerClassName))return;var d=a.nodeName.toLowerCase();if(d=="input")a.disabled=!0,c.trigger.filter("button").each(function(){this.disabled=!0}).end().filter("img").css({opacity:"0.5",cursor:"default"});else if(d=="div"||d=="span"){var e=b.children("."+this._inlineClass);e.children().addClass("ui-state-disabled"),e.find("select.ui-datepicker-month, select.ui-datepicker-year").attr("disabled","disabled")}this._disabledInputs=$.map(this._disabledInputs,function(b){return b==a?null:b}),this._disabledInputs[this._disabledInputs.length]=a},_isDisabledDatepicker:function(a){if(!a)return!1;for(var b=0;b<this._disabledInputs.length;b++)if(this._disabledInputs[b]==a)return!0;return!1},_getInst:function(a){try{return $.data(a,PROP_NAME)}catch(b){throw"Missing instance data for this datepicker"}},_optionDatepicker:function(a,b,c){var d=this._getInst(a);if(arguments.length==2&&typeof b=="string")return b=="defaults"?$.extend({},$.datepicker._defaults):d?b=="all"?$.extend({},d.settings):this._get(d,b):null;var e=b||{};typeof b=="string"&&(e={},e[b]=c);if(d){this._curInst==d&&this._hideDatepicker();var f=this._getDateDatepicker(a,!0),g=this._getMinMaxDate(d,"min"),h=this._getMinMaxDate(d,"max");extendRemove(d.settings,e),g!==null&&e.dateFormat!==undefined&&e.minDate===undefined&&(d.settings.minDate=this._formatDate(d,g)),h!==null&&e.dateFormat!==undefined&&e.maxDate===undefined&&(d.settings.maxDate=this._formatDate(d,h)),this._attachments($(a),d),this._autoSize(d),this._setDate(d,f),this._updateAlternate(d),this._updateDatepicker(d)}},_changeDatepicker:function(a,b,c){this._optionDatepicker(a,b,c)},_refreshDatepicker:function(a){var b=this._getInst(a);b&&this._updateDatepicker(b)},_setDateDatepicker:function(a,b){var c=this._getInst(a);c&&(this._setDate(c,b),this._updateDatepicker(c),this._updateAlternate(c))},_getDateDatepicker:function(a,b){var c=this._getInst(a);return c&&!c.inline&&this._setDateFromField(c,b),c?this._getDate(c):null},_doKeyDown:function(a){var b=$.datepicker._getInst(a.target),c=!0,d=b.dpDiv.is(".ui-datepicker-rtl");b._keyEvent=!0;if($.datepicker._datepickerShowing)switch(a.keyCode){case 9:$.datepicker._hideDatepicker(),c=!1;break;case 13:var e=$("td."+$.datepicker._dayOverClass+":not(."+$.datepicker._currentClass+")",b.dpDiv);e[0]&&$.datepicker._selectDay(a.target,b.selectedMonth,b.selectedYear,e[0]);var f=$.datepicker._get(b,"onSelect");if(f){var g=$.datepicker._formatDate(b);f.apply(b.input?b.input[0]:null,[g,b])}else $.datepicker._hideDatepicker();return!1;case 27:$.datepicker._hideDatepicker();break;case 33:$.datepicker._adjustDate(a.target,a.ctrlKey?-$.datepicker._get(b,"stepBigMonths"):-$.datepicker._get(b,"stepMonths"),"M");break;case 34:$.datepicker._adjustDate(a.target,a.ctrlKey?+$.datepicker._get(b,"stepBigMonths"):+$.datepicker._get(b,"stepMonths"),"M");break;case 35:(a.ctrlKey||a.metaKey)&&$.datepicker._clearDate(a.target),c=a.ctrlKey||a.metaKey;break;case 36:(a.ctrlKey||a.metaKey)&&$.datepicker._gotoToday(a.target),c=a.ctrlKey||a.metaKey;break;case 37:(a.ctrlKey||a.metaKey)&&$.datepicker._adjustDate(a.target,d?1:-1,"D"),c=a.ctrlKey||a.metaKey,a.originalEvent.altKey&&$.datepicker._adjustDate(a.target,a.ctrlKey?-$.datepicker._get(b,"stepBigMonths"):-$.datepicker._get(b,"stepMonths"),"M");break;case 38:(a.ctrlKey||a.metaKey)&&$.datepicker._adjustDate(a.target,-7,"D"),c=a.ctrlKey||a.metaKey;break;case 39:(a.ctrlKey||a.metaKey)&&$.datepicker._adjustDate(a.target,d?-1:1,"D"),c=a.ctrlKey||a.metaKey,a.originalEvent.altKey&&$.datepicker._adjustDate(a.target,a.ctrlKey?+$.datepicker._get(b,"stepBigMonths"):+$.datepicker._get(b,"stepMonths"),"M");break;case 40:(a.ctrlKey||a.metaKey)&&$.datepicker._adjustDate(a.target,7,"D"),c=a.ctrlKey||a.metaKey;break;default:c=!1}else a.keyCode==36&&a.ctrlKey?$.datepicker._showDatepicker(this):c=!1;c&&(a.preventDefault(),a.stopPropagation())},_doKeyPress:function(a){var b=$.datepicker._getInst(a.target);if($.datepicker._get(b,"constrainInput")){var c=$.datepicker._possibleChars($.datepicker._get(b,"dateFormat")),d=String.fromCharCode(a.charCode==undefined?a.keyCode:a.charCode);return a.ctrlKey||a.metaKey||d<" "||!c||c.indexOf(d)>-1}},_doKeyUp:function(a){var b=$.datepicker._getInst(a.target);if(b.input.val()!=b.lastVal)try{var c=$.datepicker.parseDate($.datepicker._get(b,"dateFormat"),b.input?b.input.val():null,$.datepicker._getFormatConfig(b));c&&($.datepicker._setDateFromField(b),$.datepicker._updateAlternate(b),$.datepicker._updateDatepicker(b))}catch(d){$.datepicker.log(d)}return!0},_showDatepicker:function(a){a=a.target||a,a.nodeName.toLowerCase()!="input"&&(a=$("input",a.parentNode)[0]);if($.datepicker._isDisabledDatepicker(a)||$.datepicker._lastInput==a)return;var b=$.datepicker._getInst(a);$.datepicker._curInst&&$.datepicker._curInst!=b&&($.datepicker._curInst.dpDiv.stop(!0,!0),b&&$.datepicker._datepickerShowing&&$.datepicker._hideDatepicker($.datepicker._curInst.input[0]));var c=$.datepicker._get(b,"beforeShow"),d=c?c.apply(a,[a,b]):{};if(d===!1)return;extendRemove(b.settings,d),b.lastVal=null,$.datepicker._lastInput=a,$.datepicker._setDateFromField(b),$.datepicker._inDialog&&(a.value=""),$.datepicker._pos||($.datepicker._pos=$.datepicker._findPos(a),$.datepicker._pos[1]+=a.offsetHeight);var e=!1;$(a).parents().each(function(){return e|=$(this).css("position")=="fixed",!e}),e&&$.browser.opera&&($.datepicker._pos[0]-=document.documentElement.scrollLeft,$.datepicker._pos[1]-=document.documentElement.scrollTop);var f={left:$.datepicker._pos[0],top:$.datepicker._pos[1]};$.datepicker._pos=null,b.dpDiv.empty(),b.dpDiv.css({position:"absolute",display:"block",top:"-1000px"}),$.datepicker._updateDatepicker(b),f=$.datepicker._checkOffset(b,f,e),b.dpDiv.css({position:$.datepicker._inDialog&&$.blockUI?"static":e?"fixed":"absolute",display:"none",left:f.left+"px",top:f.top+"px"});if(!b.inline){var g=$.datepicker._get(b,"showAnim"),h=$.datepicker._get(b,"duration"),i=function(){var a=b.dpDiv.find("iframe.ui-datepicker-cover");if(!!a.length){var c=$.datepicker._getBorders(b.dpDiv);a.css({left:-c[0],top:-c[1],width:b.dpDiv.outerWidth(),height:b.dpDiv.outerHeight()})}};b.dpDiv.zIndex($(a).zIndex()+1),$.datepicker._datepickerShowing=!0,$.effects&&$.effects[g]?b.dpDiv.show(g,$.datepicker._get(b,"showOptions"),h,i):b.dpDiv[g||"show"](g?h:null,i),(!g||!h)&&i(),b.input.is(":visible")&&!b.input.is(":disabled")&&b.input.focus(),$.datepicker._curInst=b}},_updateDatepicker:function(a){var b=this;b.maxRows=4;var c=$.datepicker._getBorders(a.dpDiv);instActive=a,a.dpDiv.empty().append(this._generateHTML(a));var d=a.dpDiv.find("iframe.ui-datepicker-cover");!d.length||d.css({left:-c[0],top:-c[1],width:a.dpDiv.outerWidth(),height:a.dpDiv.outerHeight()}),a.dpDiv.find("."+this._dayOverClass+" a").mouseover();var e=this._getNumberOfMonths(a),f=e[1],g=17;a.dpDiv.removeClass("ui-datepicker-multi-2 ui-datepicker-multi-3 ui-datepicker-multi-4").width(""),f>1&&a.dpDiv.addClass("ui-datepicker-multi-"+f).css("width",g*f+"em"),a.dpDiv[(e[0]!=1||e[1]!=1?"add":"remove")+"Class"]("ui-datepicker-multi"),a.dpDiv[(this._get(a,"isRTL")?"add":"remove")+"Class"]("ui-datepicker-rtl"),a==$.datepicker._curInst&&$.datepicker._datepickerShowing&&a.input&&a.input.is(":visible")&&!a.input.is(":disabled")&&a.input[0]!=document.activeElement&&a.input.focus();if(a.yearshtml){var h=a.yearshtml;setTimeout(function(){h===a.yearshtml&&a.yearshtml&&a.dpDiv.find("select.ui-datepicker-year:first").replaceWith(a.yearshtml),h=a.yearshtml=null},0)}},_getBorders:function(a){var b=function(a){return{thin:1,medium:2,thick:3}[a]||a};return[parseFloat(b(a.css("border-left-width"))),parseFloat(b(a.css("border-top-width")))]},_checkOffset:function(a,b,c){var d=a.dpDiv.outerWidth(),e=a.dpDiv.outerHeight(),f=a.input?a.input.outerWidth():0,g=a.input?a.input.outerHeight():0,h=document.documentElement.clientWidth+$(document).scrollLeft(),i=document.documentElement.clientHeight+$(document).scrollTop();return b.left-=this._get(a,"isRTL")?d-f:0,b.left-=c&&b.left==a.input.offset().left?$(document).scrollLeft():0,b.top-=c&&b.top==a.input.offset().top+g?$(document).scrollTop():0,b.left-=Math.min(b.left,b.left+d>h&&h>d?Math.abs(b.left+d-h):0),b.top-=Math.min(b.top,b.top+e>i&&i>e?Math.abs(e+g):0),b},_findPos:function(a){var b=this._getInst(a),c=this._get(b,"isRTL");while(a&&(a.type=="hidden"||a.nodeType!=1||$.expr.filters.hidden(a)))a=a[c?"previousSibling":"nextSibling"];var d=$(a).offset();return[d.left,d.top]},_hideDatepicker:function(a){var b=this._curInst;if(!b||a&&b!=$.data(a,PROP_NAME))return;if(this._datepickerShowing){var c=this._get(b,"showAnim"),d=this._get(b,"duration"),e=function(){$.datepicker._tidyDialog(b)};$.effects&&$.effects[c]?b.dpDiv.hide(c,$.datepicker._get(b,"showOptions"),d,e):b.dpDiv[c=="slideDown"?"slideUp":c=="fadeIn"?"fadeOut":"hide"](c?d:null,e),c||e(),this._datepickerShowing=!1;var f=this._get(b,"onClose");f&&f.apply(b.input?b.input[0]:null,[b.input?b.input.val():"",b]),this._lastInput=null,this._inDialog&&(this._dialogInput.css({position:"absolute",left:"0",top:"-100px"}),$.blockUI&&($.unblockUI(),$("body").append(this.dpDiv))),this._inDialog=!1}},_tidyDialog:function(a){a.dpDiv.removeClass(this._dialogClass).unbind(".ui-datepicker-calendar")},_checkExternalClick:function(a){if(!$.datepicker._curInst)return;var b=$(a.target),c=$.datepicker._getInst(b[0]);(b[0].id!=$.datepicker._mainDivId&&b.parents("#"+$.datepicker._mainDivId).length==0&&!b.hasClass($.datepicker.markerClassName)&&!b.closest("."+$.datepicker._triggerClass).length&&$.datepicker._datepickerShowing&&(!$.datepicker._inDialog||!$.blockUI)||b.hasClass($.datepicker.markerClassName)&&$.datepicker._curInst!=c)&&$.datepicker._hideDatepicker()},_adjustDate:function(a,b,c){var d=$(a),e=this._getInst(d[0]);if(this._isDisabledDatepicker(d[0]))return;this._adjustInstDate(e,b+(c=="M"?this._get(e,"showCurrentAtPos"):0),c),this._updateDatepicker(e)},_gotoToday:function(a){var b=$(a),c=this._getInst(b[0]);if(this._get(c,"gotoCurrent")&&c.currentDay)c.selectedDay=c.currentDay,c.drawMonth=c.selectedMonth=c.currentMonth,c.drawYear=c.selectedYear=c.currentYear;else{var d=new Date;c.selectedDay=d.getDate(),c.drawMonth=c.selectedMonth=d.getMonth(),c.drawYear=c.selectedYear=d.getFullYear()}this._notifyChange(c),this._adjustDate(b)},_selectMonthYear:function(a,b,c){var d=$(a),e=this._getInst(d[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(d)},_selectDay:function(a,b,c,d){var e=$(a);if($(d).hasClass(this._unselectableClass)||this._isDisabledDatepicker(e[0]))return;var f=this._getInst(e[0]);f.selectedDay=f.currentDay=$("a",d).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){var b=$(a),c=this._getInst(b[0]);this._selectDate(b,"")},_selectDate:function(a,b){var c=$(a),d=this._getInst(c[0]);b=b!=null?b:this._formatDate(d),d.input&&d.input.val(b),this._updateAlternate(d);var e=this._get(d,"onSelect");e?e.apply(d.input?d.input[0]:null,[b,d]):d.input&&d.input.trigger("change"),d.inline?this._updateDatepicker(d):(this._hideDatepicker(),this._lastInput=d.input[0],typeof d.input[0]!="object"&&d.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"),d=this._getDate(a),e=this.formatDate(c,d,this._getFormatConfig(a));$(b).each(function(){$(this).val(e)})}},noWeekends:function(a){var b=a.getDay();return[b>0&&b<6,""]},iso8601Week:function(a){var b=new Date(a.getTime());b.setDate(b.getDate()+4-(b.getDay()||7));var c=b.getTime();return b.setMonth(0),b.setDate(1),Math.floor(Math.round((c-b)/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 d=(c?c.shortYearCutoff:null)||this._defaults.shortYearCutoff;d=typeof d!="string"?d:(new Date).getFullYear()%100+parseInt(d,10);var e=(c?c.dayNamesShort:null)||this._defaults.dayNamesShort,f=(c?c.dayNames:null)||this._defaults.dayNames,g=(c?c.monthNamesShort:null)||this._defaults.monthNamesShort,h=(c?c.monthNames:null)||this._defaults.monthNames,i=-1,j=-1,k=-1,l=-1,m=!1,n=function(b){var c=s+1<a.length&&a.charAt(s+1)==b;return c&&s++,c},o=function(a){var c=n(a),d=a=="@"?14:a=="!"?20:a=="y"&&c?4:a=="o"?3:2,e=new RegExp("^\\d{1,"+d+"}"),f=b.substring(r).match(e);if(!f)throw"Missing number at position "+r;return r+=f[0].length,parseInt(f[0],10)},p=function(a,c,d){var e=$.map(n(a)?d:c,function(a,b){return[[b,a]]}).sort(function(a,b){return-(a[1].length-b[1].length)}),f=-1;$.each(e,function(a,c){var d=c[1];if(b.substr(r,d.length).toLowerCase()==d.toLowerCase())return f=c[0],r+=d.length,!1});if(f!=-1)return f+1;throw"Unknown name at position "+r},q=function(){if(b.charAt(r)!=a.charAt(s))throw"Unexpected literal at position "+r;r++},r=0;for(var s=0;s<a.length;s++)if(m)a.charAt(s)=="'"&&!n("'")?m=!1:q();else switch(a.charAt(s)){case"d":k=o("d");break;case"D":p("D",e,f);break;case"o":l=o("o");break;case"m":j=o("m");break;case"M":j=p("M",g,h);break;case"y":i=o("y");break;case"@":var t=new Date(o("@"));i=t.getFullYear(),j=t.getMonth()+1,k=t.getDate();break;case"!":var t=new Date((o("!")-this._ticksTo1970)/1e4);i=t.getFullYear(),j=t.getMonth()+1,k=t.getDate();break;case"'":n("'")?q():m=!0;break;default:q()}if(r<b.length)throw"Extra/unparsed characters found in date: "+b.substring(r);i==-1?i=(new Date).getFullYear():i<100&&(i+=(new Date).getFullYear()-(new Date).getFullYear()%100+(i<=d?0:-100));if(l>-1){j=1,k=l;do{var u=this._getDaysInMonth(i,j-1);if(k<=u)break;j++,k-=u}while(!0)}var t=this._daylightSavingAdjust(new Date(i,j-1,k));if(t.getFullYear()!=i||t.getMonth()+1!=j||t.getDate()!=k)throw"Invalid date";return t},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 d=(c?c.dayNamesShort:null)||this._defaults.dayNamesShort,e=(c?c.dayNames:null)||this._defaults.dayNames,f=(c?c.monthNamesShort:null)||this._defaults.monthNamesShort,g=(c?c.monthNames:null)||this._defaults.monthNames,h=function(b){var c=m+1<a.length&&a.charAt(m+1)==b;return c&&m++,c},i=function(a,b,c){var d=""+b;if(h(a))while(d.length<c)d="0"+d;return d},j=function(a,b,c,d){return h(a)?d[b]:c[b]},k="",l=!1;if(b)for(var m=0;m<a.length;m++)if(l)a.charAt(m)=="'"&&!h("'")?l=!1:k+=a.charAt(m);else switch(a.charAt(m)){case"d":k+=i("d",b.getDate(),2);break;case"D":k+=j("D",b.getDay(),d,e);break;case"o":k+=i("o",Math.round(((new Date(b.getFullYear(),b.getMonth(),b.getDate())).getTime()-(new Date(b.getFullYear(),0,0)).getTime())/864e5),3);break;case"m":k+=i("m",b.getMonth()+1,2);break;case"M":k+=j("M",b.getMonth(),f,g);break;case"y":k+=h("y")?b.getFullYear():(b.getYear()%100<10?"0":"")+b.getYear()%100;break;case"@":k+=b.getTime();break;case"!":k+=b.getTime()*1e4+this._ticksTo1970;break;case"'":h("'")?k+="'":l=!0;break;default:k+=a.charAt(m)}return k},_possibleChars:function(a){var b="",c=!1,d=function(b){var c=e+1<a.length&&a.charAt(e+1)==b;return c&&e++,c};for(var e=0;e<a.length;e++)if(c)a.charAt(e)=="'"&&!d("'")?c=!1:b+=a.charAt(e);else switch(a.charAt(e)){case"d":case"m":case"y":case"@":b+="0123456789";break;case"D":case"M":return null;case"'":d("'")?b+="'":c=!0;break;default:b+=a.charAt(e)}return b},_get:function(a,b){return a.settings[b]!==undefined?a.settings[b]:this._defaults[b]},_setDateFromField:function(a,b){if(a.input.val()==a.lastVal)return;var c=this._get(a,"dateFormat"),d=a.lastVal=a.input?a.input.val():null,e,f;e=f=this._getDefaultDate(a);var g=this._getFormatConfig(a);try{e=this.parseDate(c,d,g)||f}catch(h){this.log(h),d=b?"":d}a.selectedDay=e.getDate(),a.drawMonth=a.selectedMonth=e.getMonth(),a.drawYear=a.selectedYear=e.getFullYear(),a.currentDay=d?e.getDate():0,a.currentMonth=d?e.getMonth():0,a.currentYear=d?e.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 d=function(a){var b=new Date;return b.setDate(b.getDate()+a),b},e=function(b){try{return $.datepicker.parseDate($.datepicker._get(a,"dateFormat"),b,$.datepicker._getFormatConfig(a))}catch(c){}var d=(b.toLowerCase().match(/^c/)?$.datepicker._getDate(a):null)||new Date,e=d.getFullYear(),f=d.getMonth(),g=d.getDate(),h=/([+-]?[0-9]+)\s*(d|D|w|W|m|M|y|Y)?/g,i=h.exec(b);while(i){switch(i[2]||"d"){case"d":case"D":g+=parseInt(i[1],10);break;case"w":case"W":g+=parseInt(i[1],10)*7;break;case"m":case"M":f+=parseInt(i[1],10),g=Math.min(g,$.datepicker._getDaysInMonth(e,f));break;case"y":case"Y":e+=parseInt(i[1],10),g=Math.min(g,$.datepicker._getDaysInMonth(e,f))}i=h.exec(b)}return new Date(e,f,g)},f=b==null||b===""?c:typeof b=="string"?e(b):typeof b=="number"?isNaN(b)?c:d(b):new Date(b.getTime());return f=f&&f.toString()=="Invalid Date"?c:f,f&&(f.setHours(0),f.setMinutes(0),f.setSeconds(0),f.setMilliseconds(0)),this._daylightSavingAdjust(f)},_daylightSavingAdjust:function(a){return a?(a.setHours(a.getHours()>12?a.getHours()+2:0),a):null},_setDate:function(a,b,c){var d=!b,e=a.selectedMonth,f=a.selectedYear,g=this._restrictMinMax(a,this._determineDate(a,b,new Date));a.selectedDay=a.currentDay=g.getDate(),a.drawMonth=a.selectedMonth=a.currentMonth=g.getMonth(),a.drawYear=a.selectedYear=a.currentYear=g.getFullYear(),(e!=a.selectedMonth||f!=a.selectedYear)&&!c&&this._notifyChange(a),this._adjustInstDate(a),a.input&&a.input.val(d?"":this._formatDate(a))},_getDate:function(a){var b=!a.currentYear||a.input&&a.input.val()==""?null:this._daylightSavingAdjust(new Date(a.currentYear,a.currentMonth,a.currentDay));return b},_generateHTML:function(a){var b=new Date;b=this._daylightSavingAdjust(new Date(b.getFullYear(),b.getMonth(),b.getDate()));var c=this._get(a,"isRTL"),d=this._get(a,"showButtonPanel"),e=this._get(a,"hideIfNoPrevNext"),f=this._get(a,"navigationAsDateFormat"),g=this._getNumberOfMonths(a),h=this._get(a,"showCurrentAtPos"),i=this._get(a,"stepMonths"),j=g[0]!=1||g[1]!=1,k=this._daylightSavingAdjust(a.currentDay?new Date(a.currentYear,a.currentMonth,a.currentDay):new Date(9999,9,9)),l=this._getMinMaxDate(a,"min"),m=this._getMinMaxDate(a,"max"),n=a.drawMonth-h,o=a.drawYear;n<0&&(n+=12,o--);if(m){var p=this._daylightSavingAdjust(new Date(m.getFullYear(),m.getMonth()-g[0]*g[1]+1,m.getDate()));p=l&&p<l?l:p;while(this._daylightSavingAdjust(new Date(o,n,1))>p)n--,n<0&&(n=11,o--)}a.drawMonth=n,a.drawYear=o;var q=this._get(a,"prevText");q=f?this.formatDate(q,this._daylightSavingAdjust(new Date(o,n-i,1)),this._getFormatConfig(a)):q;var r=this._canAdjustMonth(a,-1,o,n)?'<a class="ui-datepicker-prev ui-corner-all" onclick="DP_jQuery_'+dpuuid+".datepicker._adjustDate('#"+a.id+"', -"+i+", 'M');\""+' title="'+q+'"><span class="ui-icon ui-icon-circle-triangle-'+(c?"e":"w")+'">'+q+"</span></a>":e?"":'<a class="ui-datepicker-prev ui-corner-all ui-state-disabled" title="'+q+'"><span class="ui-icon ui-icon-circle-triangle-'+(c?"e":"w")+'">'+q+"</span></a>",s=this._get(a,"nextText");s=f?this.formatDate(s,this._daylightSavingAdjust(new Date(o,n+i,1)),this._getFormatConfig(a)):s;var t=this._canAdjustMonth(a,1,o,n)?'<a class="ui-datepicker-next ui-corner-all" onclick="DP_jQuery_'+dpuuid+".datepicker._adjustDate('#"+a.id+"', +"+i+", 'M');\""+' title="'+s+'"><span class="ui-icon ui-icon-circle-triangle-'+(c?"w":"e")+'">'+s+"</span></a>":e?"":'<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>",u=this._get(a,"currentText"),v=this._get(a,"gotoCurrent")&&a.currentDay?k:b;u=f?this.formatDate(u,v,this._getFormatConfig(a)):u;var w=a.inline?"":'<button type="button" class="ui-datepicker-close ui-state-default ui-priority-primary ui-corner-all" onclick="DP_jQuery_'+dpuuid+'.datepicker._hideDatepicker();">'+this._get(a,"closeText")+"</button>",x=d?'<div class="ui-datepicker-buttonpane ui-widget-content">'+(c?w:"")+(this._isInRange(a,v)?'<button type="button" class="ui-datepicker-current ui-state-default ui-priority-secondary ui-corner-all" onclick="DP_jQuery_'+dpuuid+".datepicker._gotoToday('#"+a.id+"');\""+">"+u+"</button>":"")+(c?"":w)+"</div>":"",y=parseInt(this._get(a,"firstDay"),10);y=isNaN(y)?0:y;var z=this._get(a,"showWeek"),A=this._get(a,"dayNames"),B=this._get(a,"dayNamesShort"),C=this._get(a,"dayNamesMin"),D=this._get(a,"monthNames"),E=this._get(a,"monthNamesShort"),F=this._get(a,"beforeShowDay"),G=this._get(a,"showOtherMonths"),H=this._get(a,"selectOtherMonths"),I=this._get(a,"calculateWeek")||this.iso8601Week,J=this._getDefaultDate(a),K="";for(var L=0;L<g[0];L++){var M="";this.maxRows=4;for(var N=0;N<g[1];N++){var O=this._daylightSavingAdjust(new Date(o,n,a.selectedDay)),P=" ui-corner-all",Q="";if(j){Q+='<div class="ui-datepicker-group';if(g[1]>1)switch(N){case 0:Q+=" ui-datepicker-group-first",P=" ui-corner-"+(c?"right":"left");break;case g[1]-1:Q+=" ui-datepicker-group-last",P=" ui-corner-"+(c?"left":"right");break;default:Q+=" ui-datepicker-group-middle",P=""}Q+='">'}Q+='<div class="ui-datepicker-header ui-widget-header ui-helper-clearfix'+P+'">'+(/all|left/.test(P)&&L==0?c?t:r:"")+(/all|right/.test(P)&&L==0?c?r:t:"")+this._generateMonthYearHeader(a,n,o,l,m,L>0||N>0,D,E)+'</div><table class="ui-datepicker-calendar"><thead>'+"<tr>";var R=z?'<th class="ui-datepicker-week-col">'+this._get(a,"weekHeader")+"</th>":"";for(var S=0;S<7;S++){var T=(S+y)%7;R+="<th"+((S+y+6)%7>=5?' class="ui-datepicker-week-end"':"")+">"+'<span title="'+A[T]+'">'+C[T]+"</span></th>"}Q+=R+"</tr></thead><tbody>";var U=this._getDaysInMonth(o,n);o==a.selectedYear&&n==a.selectedMonth&&(a.selectedDay=Math.min(a.selectedDay,U));var V=(this._getFirstDayOfMonth(o,n)-y+7)%7,W=Math.ceil((V+U)/7),X=j?this.maxRows>W?this.maxRows:W:W;this.maxRows=X;var Y=this._daylightSavingAdjust(new Date(o,n,1-V));for(var Z=0;Z<X;Z++){Q+="<tr>";var _=z?'<td class="ui-datepicker-week-col">'+this._get(a,"calculateWeek")(Y)+"</td>":"";for(var S=0;S<7;S++){var ba=F?F.apply(a.input?a.input[0]:null,[Y]):[!0,""],bb=Y.getMonth()!=n,bc=bb&&!H||!ba[0]||l&&Y<l||m&&Y>m;_+='<td class="'+((S+y+6)%7>=5?" ui-datepicker-week-end":"")+(bb?" ui-datepicker-other-month":"")+(Y.getTime()==O.getTime()&&n==a.selectedMonth&&a._keyEvent||J.getTime()==Y.getTime()&&J.getTime()==O.getTime()?" "+this._dayOverClass:"")+(bc?" "+this._unselectableClass+" ui-state-disabled":"")+(bb&&!G?"":" "+ba[1]+(Y.getTime()==k.getTime()?" "+this._currentClass:"")+(Y.getTime()==b.getTime()?" ui-datepicker-today":""))+'"'+((!bb||G)&&ba[2]?' title="'+ba[2]+'"':"")+(bc?"":' onclick="DP_jQuery_'+dpuuid+".datepicker._selectDay('#"+a.id+"',"+Y.getMonth()+","+Y.getFullYear()+', this);return false;"')+">"+(bb&&!G?"&#xa0;":bc?'<span class="ui-state-default">'+Y.getDate()+"</span>":'<a class="ui-state-default'+(Y.getTime()==b.getTime()?" ui-state-highlight":"")+(Y.getTime()==k.getTime()?" ui-state-active":"")+(bb?" ui-priority-secondary":"")+'" href="#">'+Y.getDate()+"</a>")+"</td>",Y.setDate(Y.getDate()+1),Y=this._daylightSavingAdjust(Y)}Q+=_+"</tr>"}n++,n>11&&(n=0,o++),Q+="</tbody></table>"+(j?"</div>"+(g[0]>0&&N==g[1]-1?'<div class="ui-datepicker-row-break"></div>':""):""),M+=Q}K+=M}return K+=x+($.browser.msie&&parseInt($.browser.version,10)<7&&!a.inline?'<iframe src="javascript:false;" class="ui-datepicker-cover" frameborder="0"></iframe>':""),a._keyEvent=!1,K},_generateMonthYearHeader:function(a,b,c,d,e,f,g,h){var i=this._get(a,"changeMonth"),j=this._get(a,"changeYear"),k=this._get(a,"showMonthAfterYear"),l='<div class="ui-datepicker-title">',m="";if(f||!i)m+='<span class="ui-datepicker-month">'+g[b]+"</span>";else{var n=d&&d.getFullYear()==c,o=e&&e.getFullYear()==c;m+='<select class="ui-datepicker-month" onchange="DP_jQuery_'+dpuuid+".datepicker._selectMonthYear('#"+a.id+"', this, 'M');\" "+">";for(var p=0;p<12;p++)(!n||p>=d.getMonth())&&(!o||p<=e.getMonth())&&(m+='<option value="'+p+'"'+(p==b?' selected="selected"':"")+">"+h[p]+"</option>");m+="</select>"}k||(l+=m+(f||!i||!j?"&#xa0;":""));if(!a.yearshtml){a.yearshtml="";if(f||!j)l+='<span class="ui-datepicker-year">'+c+"</span>";else{var q=this._get(a,"yearRange").split(":"),r=(new Date).getFullYear(),s=function(a){var b=a.match(/c[+-].*/)?c+parseInt(a.substring(1),10):a.match(/[+-].*/)?r+parseInt(a,10):parseInt(a,10);return isNaN(b)?r:b},t=s(q[0]),u=Math.max(t,s(q[1]||""));t=d?Math.max(t,d.getFullYear()):t,u=e?Math.min(u,e.getFullYear()):u,a.yearshtml+='<select class="ui-datepicker-year" onchange="DP_jQuery_'+dpuuid+".datepicker._selectMonthYear('#"+a.id+"', this, 'Y');\" "+">";for(;t<=u;t++)a.yearshtml+='<option value="'+t+'"'+(t==c?' selected="selected"':"")+">"+t+"</option>";a.yearshtml+="</select>",l+=a.yearshtml,a.yearshtml=null}}return l+=this._get(a,"yearSuffix"),k&&(l+=(f||!i||!j?"&#xa0;":"")+m),l+="</div>",l},_adjustInstDate:function(a,b,c){var d=a.drawYear+(c=="Y"?b:0),e=a.drawMonth+(c=="M"?b:0),f=Math.min(a.selectedDay,this._getDaysInMonth(d,e))+(c=="D"?b:0),g=this._restrictMinMax(a,this._daylightSavingAdjust(new Date(d,e,f)));a.selectedDay=g.getDate(),a.drawMonth=a.selectedMonth=g.getMonth(),a.drawYear=a.selectedYear=g.getFullYear(),(c=="M"||c=="Y")&&this._notifyChange(a)},_restrictMinMax:function(a,b){var c=this._getMinMaxDate(a,"min"),d=this._getMinMaxDate(a,"max"),e=c&&b<c?c:b;return e=d&&e>d?d:e,e},_notifyChange:function(a){var b=this._get(a,"onChangeMonthYear");b&&b.apply(a.input?a.input[0]:null,[a.selectedYear,a.selectedMonth+1,a])},_getNumberOfMonths:function(a){var b=this._get(a,"numberOfMonths");return b==null?[1,1]:typeof b=="number"?[1,b]:b},_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,d){var e=this._getNumberOfMonths(a),f=this._daylightSavingAdjust(new Date(c,d+(b<0?b:e[0]*e[1]),1));return b<0&&f.setDate(this._getDaysInMonth(f.getFullYear(),f.getMonth())),this._isInRange(a,f)},_isInRange:function(a,b){var c=this._getMinMaxDate(a,"min"),d=this._getMinMaxDate(a,"max");return(!c||b.getTime()>=c.getTime())&&(!d||b.getTime()<=d.getTime())},_getFormatConfig:function(a){var b=this._get(a,"shortYearCutoff");return b=typeof b!="string"?b:(new Date).getFullYear()%100+parseInt(b,10),{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,d){b||(a.currentDay=a.selectedDay,a.currentMonth=a.selectedMonth,a.currentYear=a.selectedYear);var e=b?typeof b=="object"?b:this._daylightSavingAdjust(new Date(d,c,b)):this._daylightSavingAdjust(new Date(a.currentYear,a.currentMonth,a.currentDay));return this.formatDate(this._get(a,"dateFormat"),e,this._getFormatConfig(a))}}),$.fn.datepicker=function(a){if(!this.length)return this;$.datepicker.initialized||($(document).mousedown($.datepicker._checkExternalClick).find("body").append($.datepicker.dpDiv),$.datepicker.initialized=!0);var b=Array.prototype.slice.call(arguments,1);return typeof a!="string"||a!="isDisabled"&&a!="getDate"&&a!="widget"?a=="option"&&arguments.length==2&&typeof arguments[1]=="string"?$.datepicker["_"+a+"Datepicker"].apply($.datepicker,[this[0]].concat(b)):this.each(function(){typeof a=="string"?$.datepicker["_"+a+"Datepicker"].apply($.datepicker,[this].concat(b)):$.datepicker._attachDatepicker(this,a)}):$.datepicker["_"+a+"Datepicker"].apply($.datepicker,[this[0]].concat(b))},$.datepicker=new Datepicker,$.datepicker.initialized=!1,$.datepicker.uuid=(new Date).getTime(),$.datepicker.version="1.8.21",window["DP_jQuery_"+dpuuid]=$})(jQuery);;
\ No newline at end of file
+(function($,undefined){function Datepicker(){this.debug=!1,this._curInst=null,this._keyEvent=!1,this._disabledInputs=[],this._datepickerShowing=!1,this._inDialog=!1,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:!1,showMonthAfterYear:!1,yearSuffix:""},this._defaults={showOn:"focus",showAnim:"fadeIn",showOptions:{},defaultDate:null,appendText:"",buttonText:"...",buttonImage:"",buttonImageOnly:!1,hideIfNoPrevNext:!1,navigationAsDateFormat:!1,gotoCurrent:!1,changeMonth:!1,changeYear:!1,yearRange:"c-10:c+10",showOtherMonths:!1,selectOtherMonths:!1,showWeek:!1,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:!0,showButtonPanel:!1,autoSize:!1,disabled:!1},$.extend(this._defaults,this.regional[""]),this.dpDiv=bindHover($('<div id="'+this._mainDivId+'" class="ui-datepicker ui-widget ui-widget-content ui-helper-clearfix ui-corner-all"></div>'))}function bindHover(a){var b="button, .ui-datepicker-prev, .ui-datepicker-next, .ui-datepicker-calendar td a";return a.bind("mouseout",function(a){var c=$(a.target).closest(b);if(!c.length)return;c.removeClass("ui-state-hover ui-datepicker-prev-hover ui-datepicker-next-hover")}).bind("mouseover",function(c){var d=$(c.target).closest(b);if($.datepicker._isDisabledDatepicker(instActive.inline?a.parent()[0]:instActive.input[0])||!d.length)return;d.parents(".ui-datepicker-calendar").find("a").removeClass("ui-state-hover"),d.addClass("ui-state-hover"),d.hasClass("ui-datepicker-prev")&&d.addClass("ui-datepicker-prev-hover"),d.hasClass("ui-datepicker-next")&&d.addClass("ui-datepicker-next-hover")})}function extendRemove(a,b){$.extend(a,b);for(var c in b)if(b[c]==null||b[c]==undefined)a[c]=b[c];return a}function isArray(a){return a&&($.browser.safari&&typeof a=="object"&&a.length||a.constructor&&a.constructor.toString().match(/\Array\(\)/))}$.extend($.ui,{datepicker:{version:"1.8.23"}});var PROP_NAME="datepicker",dpuuid=(new Date).getTime(),instActive;$.extend(Datepicker.prototype,{markerClassName:"hasDatepicker",maxRows:4,log:function(){this.debug&&console.log.apply("",arguments)},_widgetDatepicker:function(){return this.dpDiv},setDefaults:function(a){return extendRemove(this._defaults,a||{}),this},_attachDatepicker:function(target,settings){var inlineSettings=null;for(var attrName in this._defaults){var attrValue=target.getAttribute("date:"+attrName);if(attrValue){inlineSettings=inlineSettings||{};try{inlineSettings[attrName]=eval(attrValue)}catch(err){inlineSettings[attrName]=attrValue}}}var nodeName=target.nodeName.toLowerCase(),inline=nodeName=="div"||nodeName=="span";target.id||(this.uuid+=1,target.id="dp"+this.uuid);var inst=this._newInst($(target),inline);inst.settings=$.extend({},settings||{},inlineSettings||{}),nodeName=="input"?this._connectDatepicker(target,inst):inline&&this._inlineDatepicker(target,inst)},_newInst:function(a,b){var c=a[0].id.replace(/([^A-Za-z0-9_-])/g,"\\\\$1");return{id:c,input:a,selectedDay:0,selectedMonth:0,selectedYear:0,drawMonth:0,drawYear:0,inline:b,dpDiv:b?bindHover($('<div class="'+this._inlineClass+' ui-datepicker ui-widget ui-widget-content ui-helper-clearfix ui-corner-all"></div>')):this.dpDiv}},_connectDatepicker:function(a,b){var c=$(a);b.append=$([]),b.trigger=$([]);if(c.hasClass(this.markerClassName))return;this._attachments(c,b),c.addClass(this.markerClassName).keydown(this._doKeyDown).keypress(this._doKeyPress).keyup(this._doKeyUp).bind("setData.datepicker",function(a,c,d){b.settings[c]=d}).bind("getData.datepicker",function(a,c){return this._get(b,c)}),this._autoSize(b),$.data(a,PROP_NAME,b),b.settings.disabled&&this._disableDatepicker(a)},_attachments:function(a,b){var c=this._get(b,"appendText"),d=this._get(b,"isRTL");b.append&&b.append.remove(),c&&(b.append=$('<span class="'+this._appendClass+'">'+c+"</span>"),a[d?"before":"after"](b.append)),a.unbind("focus",this._showDatepicker),b.trigger&&b.trigger.remove();var e=this._get(b,"showOn");(e=="focus"||e=="both")&&a.focus(this._showDatepicker);if(e=="button"||e=="both"){var f=this._get(b,"buttonText"),g=this._get(b,"buttonImage");b.trigger=$(this._get(b,"buttonImageOnly")?$("<img/>").addClass(this._triggerClass).attr({src:g,alt:f,title:f}):$('<button type="button"></button>').addClass(this._triggerClass).html(g==""?f:$("<img/>").attr({src:g,alt:f,title:f}))),a[d?"before":"after"](b.trigger),b.trigger.click(function(){return $.datepicker._datepickerShowing&&$.datepicker._lastInput==a[0]?$.datepicker._hideDatepicker():$.datepicker._datepickerShowing&&$.datepicker._lastInput!=a[0]?($.datepicker._hideDatepicker(),$.datepicker._showDatepicker(a[0])):$.datepicker._showDatepicker(a[0]),!1})}},_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 d=function(a){var b=0,c=0;for(var d=0;d<a.length;d++)a[d].length>b&&(b=a[d].length,c=d);return c};b.setMonth(d(this._get(a,c.match(/MM/)?"monthNames":"monthNamesShort"))),b.setDate(d(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=$(a);if(c.hasClass(this.markerClassName))return;c.addClass(this.markerClassName).append(b.dpDiv).bind("setData.datepicker",function(a,c,d){b.settings[c]=d}).bind("getData.datepicker",function(a,c){return this._get(b,c)}),$.data(a,PROP_NAME,b),this._setDate(b,this._getDefaultDate(b),!0),this._updateDatepicker(b),this._updateAlternate(b),b.settings.disabled&&this._disableDatepicker(a),b.dpDiv.css("display","block")},_dialogDatepicker:function(a,b,c,d,e){var f=this._dialogInst;if(!f){this.uuid+=1;var g="dp"+this.uuid;this._dialogInput=$('<input type="text" id="'+g+'" style="position: absolute; top: -100px; width: 0px;"/>'),this._dialogInput.keydown(this._doKeyDown),$("body").append(this._dialogInput),f=this._dialogInst=this._newInst(this._dialogInput,!1),f.settings={},$.data(this._dialogInput[0],PROP_NAME,f)}extendRemove(f.settings,d||{}),b=b&&b.constructor==Date?this._formatDate(f,b):b,this._dialogInput.val(b),this._pos=e?e.length?e:[e.pageX,e.pageY]:null;if(!this._pos){var h=document.documentElement.clientWidth,i=document.documentElement.clientHeight,j=document.documentElement.scrollLeft||document.body.scrollLeft,k=document.documentElement.scrollTop||document.body.scrollTop;this._pos=[h/2-100+j,i/2-150+k]}return this._dialogInput.css("left",this._pos[0]+20+"px").css("top",this._pos[1]+"px"),f.settings.onSelect=c,this._inDialog=!0,this.dpDiv.addClass(this._dialogClass),this._showDatepicker(this._dialogInput[0]),$.blockUI&&$.blockUI(this.dpDiv),$.data(this._dialogInput[0],PROP_NAME,f),this},_destroyDatepicker:function(a){var b=$(a),c=$.data(a,PROP_NAME);if(!b.hasClass(this.markerClassName))return;var d=a.nodeName.toLowerCase();$.removeData(a,PROP_NAME),d=="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)):(d=="div"||d=="span")&&b.removeClass(this.markerClassName).empty()},_enableDatepicker:function(a){var b=$(a),c=$.data(a,PROP_NAME);if(!b.hasClass(this.markerClassName))return;var d=a.nodeName.toLowerCase();if(d=="input")a.disabled=!1,c.trigger.filter("button").each(function(){this.disabled=!1}).end().filter("img").css({opacity:"1.0",cursor:""});else if(d=="div"||d=="span"){var e=b.children("."+this._inlineClass);e.children().removeClass("ui-state-disabled"),e.find("select.ui-datepicker-month, select.ui-datepicker-year").removeAttr("disabled")}this._disabledInputs=$.map(this._disabledInputs,function(b){return b==a?null:b})},_disableDatepicker:function(a){var b=$(a),c=$.data(a,PROP_NAME);if(!b.hasClass(this.markerClassName))return;var d=a.nodeName.toLowerCase();if(d=="input")a.disabled=!0,c.trigger.filter("button").each(function(){this.disabled=!0}).end().filter("img").css({opacity:"0.5",cursor:"default"});else if(d=="div"||d=="span"){var e=b.children("."+this._inlineClass);e.children().addClass("ui-state-disabled"),e.find("select.ui-datepicker-month, select.ui-datepicker-year").attr("disabled","disabled")}this._disabledInputs=$.map(this._disabledInputs,function(b){return b==a?null:b}),this._disabledInputs[this._disabledInputs.length]=a},_isDisabledDatepicker:function(a){if(!a)return!1;for(var b=0;b<this._disabledInputs.length;b++)if(this._disabledInputs[b]==a)return!0;return!1},_getInst:function(a){try{return $.data(a,PROP_NAME)}catch(b){throw"Missing instance data for this datepicker"}},_optionDatepicker:function(a,b,c){var d=this._getInst(a);if(arguments.length==2&&typeof b=="string")return b=="defaults"?$.extend({},$.datepicker._defaults):d?b=="all"?$.extend({},d.settings):this._get(d,b):null;var e=b||{};typeof b=="string"&&(e={},e[b]=c);if(d){this._curInst==d&&this._hideDatepicker();var f=this._getDateDatepicker(a,!0),g=this._getMinMaxDate(d,"min"),h=this._getMinMaxDate(d,"max");extendRemove(d.settings,e),g!==null&&e.dateFormat!==undefined&&e.minDate===undefined&&(d.settings.minDate=this._formatDate(d,g)),h!==null&&e.dateFormat!==undefined&&e.maxDate===undefined&&(d.settings.maxDate=this._formatDate(d,h)),this._attachments($(a),d),this._autoSize(d),this._setDate(d,f),this._updateAlternate(d),this._updateDatepicker(d)}},_changeDatepicker:function(a,b,c){this._optionDatepicker(a,b,c)},_refreshDatepicker:function(a){var b=this._getInst(a);b&&this._updateDatepicker(b)},_setDateDatepicker:function(a,b){var c=this._getInst(a);c&&(this._setDate(c,b),this._updateDatepicker(c),this._updateAlternate(c))},_getDateDatepicker:function(a,b){var c=this._getInst(a);return c&&!c.inline&&this._setDateFromField(c,b),c?this._getDate(c):null},_doKeyDown:function(a){var b=$.datepicker._getInst(a.target),c=!0,d=b.dpDiv.is(".ui-datepicker-rtl");b._keyEvent=!0;if($.datepicker._datepickerShowing)switch(a.keyCode){case 9:$.datepicker._hideDatepicker(),c=!1;break;case 13:var e=$("td."+$.datepicker._dayOverClass+":not(."+$.datepicker._currentClass+")",b.dpDiv);e[0]&&$.datepicker._selectDay(a.target,b.selectedMonth,b.selectedYear,e[0]);var f=$.datepicker._get(b,"onSelect");if(f){var g=$.datepicker._formatDate(b);f.apply(b.input?b.input[0]:null,[g,b])}else $.datepicker._hideDatepicker();return!1;case 27:$.datepicker._hideDatepicker();break;case 33:$.datepicker._adjustDate(a.target,a.ctrlKey?-$.datepicker._get(b,"stepBigMonths"):-$.datepicker._get(b,"stepMonths"),"M");break;case 34:$.datepicker._adjustDate(a.target,a.ctrlKey?+$.datepicker._get(b,"stepBigMonths"):+$.datepicker._get(b,"stepMonths"),"M");break;case 35:(a.ctrlKey||a.metaKey)&&$.datepicker._clearDate(a.target),c=a.ctrlKey||a.metaKey;break;case 36:(a.ctrlKey||a.metaKey)&&$.datepicker._gotoToday(a.target),c=a.ctrlKey||a.metaKey;break;case 37:(a.ctrlKey||a.metaKey)&&$.datepicker._adjustDate(a.target,d?1:-1,"D"),c=a.ctrlKey||a.metaKey,a.originalEvent.altKey&&$.datepicker._adjustDate(a.target,a.ctrlKey?-$.datepicker._get(b,"stepBigMonths"):-$.datepicker._get(b,"stepMonths"),"M");break;case 38:(a.ctrlKey||a.metaKey)&&$.datepicker._adjustDate(a.target,-7,"D"),c=a.ctrlKey||a.metaKey;break;case 39:(a.ctrlKey||a.metaKey)&&$.datepicker._adjustDate(a.target,d?-1:1,"D"),c=a.ctrlKey||a.metaKey,a.originalEvent.altKey&&$.datepicker._adjustDate(a.target,a.ctrlKey?+$.datepicker._get(b,"stepBigMonths"):+$.datepicker._get(b,"stepMonths"),"M");break;case 40:(a.ctrlKey||a.metaKey)&&$.datepicker._adjustDate(a.target,7,"D"),c=a.ctrlKey||a.metaKey;break;default:c=!1}else a.keyCode==36&&a.ctrlKey?$.datepicker._showDatepicker(this):c=!1;c&&(a.preventDefault(),a.stopPropagation())},_doKeyPress:function(a){var b=$.datepicker._getInst(a.target);if($.datepicker._get(b,"constrainInput")){var c=$.datepicker._possibleChars($.datepicker._get(b,"dateFormat")),d=String.fromCharCode(a.charCode==undefined?a.keyCode:a.charCode);return a.ctrlKey||a.metaKey||d<" "||!c||c.indexOf(d)>-1}},_doKeyUp:function(a){var b=$.datepicker._getInst(a.target);if(b.input.val()!=b.lastVal)try{var c=$.datepicker.parseDate($.datepicker._get(b,"dateFormat"),b.input?b.input.val():null,$.datepicker._getFormatConfig(b));c&&($.datepicker._setDateFromField(b),$.datepicker._updateAlternate(b),$.datepicker._updateDatepicker(b))}catch(d){$.datepicker.log(d)}return!0},_showDatepicker:function(a){a=a.target||a,a.nodeName.toLowerCase()!="input"&&(a=$("input",a.parentNode)[0]);if($.datepicker._isDisabledDatepicker(a)||$.datepicker._lastInput==a)return;var b=$.datepicker._getInst(a);$.datepicker._curInst&&$.datepicker._curInst!=b&&($.datepicker._curInst.dpDiv.stop(!0,!0),b&&$.datepicker._datepickerShowing&&$.datepicker._hideDatepicker($.datepicker._curInst.input[0]));var c=$.datepicker._get(b,"beforeShow"),d=c?c.apply(a,[a,b]):{};if(d===!1)return;extendRemove(b.settings,d),b.lastVal=null,$.datepicker._lastInput=a,$.datepicker._setDateFromField(b),$.datepicker._inDialog&&(a.value=""),$.datepicker._pos||($.datepicker._pos=$.datepicker._findPos(a),$.datepicker._pos[1]+=a.offsetHeight);var e=!1;$(a).parents().each(function(){return e|=$(this).css("position")=="fixed",!e}),e&&$.browser.opera&&($.datepicker._pos[0]-=document.documentElement.scrollLeft,$.datepicker._pos[1]-=document.documentElement.scrollTop);var f={left:$.datepicker._pos[0],top:$.datepicker._pos[1]};$.datepicker._pos=null,b.dpDiv.empty(),b.dpDiv.css({position:"absolute",display:"block",top:"-1000px"}),$.datepicker._updateDatepicker(b),f=$.datepicker._checkOffset(b,f,e),b.dpDiv.css({position:$.datepicker._inDialog&&$.blockUI?"static":e?"fixed":"absolute",display:"none",left:f.left+"px",top:f.top+"px"});if(!b.inline){var g=$.datepicker._get(b,"showAnim"),h=$.datepicker._get(b,"duration"),i=function(){var a=b.dpDiv.find("iframe.ui-datepicker-cover");if(!!a.length){var c=$.datepicker._getBorders(b.dpDiv);a.css({left:-c[0],top:-c[1],width:b.dpDiv.outerWidth(),height:b.dpDiv.outerHeight()})}};b.dpDiv.zIndex($(a).zIndex()+1),$.datepicker._datepickerShowing=!0,$.effects&&$.effects[g]?b.dpDiv.show(g,$.datepicker._get(b,"showOptions"),h,i):b.dpDiv[g||"show"](g?h:null,i),(!g||!h)&&i(),b.input.is(":visible")&&!b.input.is(":disabled")&&b.input.focus(),$.datepicker._curInst=b}},_updateDatepicker:function(a){var b=this;b.maxRows=4;var c=$.datepicker._getBorders(a.dpDiv);instActive=a,a.dpDiv.empty().append(this._generateHTML(a)),this._attachHandlers(a);var d=a.dpDiv.find("iframe.ui-datepicker-cover");!d.length||d.css({left:-c[0],top:-c[1],width:a.dpDiv.outerWidth(),height:a.dpDiv.outerHeight()}),a.dpDiv.find("."+this._dayOverClass+" a").mouseover();var e=this._getNumberOfMonths(a),f=e[1],g=17;a.dpDiv.removeClass("ui-datepicker-multi-2 ui-datepicker-multi-3 ui-datepicker-multi-4").width(""),f>1&&a.dpDiv.addClass("ui-datepicker-multi-"+f).css("width",g*f+"em"),a.dpDiv[(e[0]!=1||e[1]!=1?"add":"remove")+"Class"]("ui-datepicker-multi"),a.dpDiv[(this._get(a,"isRTL")?"add":"remove")+"Class"]("ui-datepicker-rtl"),a==$.datepicker._curInst&&$.datepicker._datepickerShowing&&a.input&&a.input.is(":visible")&&!a.input.is(":disabled")&&a.input[0]!=document.activeElement&&a.input.focus();if(a.yearshtml){var h=a.yearshtml;setTimeout(function(){h===a.yearshtml&&a.yearshtml&&a.dpDiv.find("select.ui-datepicker-year:first").replaceWith(a.yearshtml),h=a.yearshtml=null},0)}},_getBorders:function(a){var b=function(a){return{thin:1,medium:2,thick:3}[a]||a};return[parseFloat(b(a.css("border-left-width"))),parseFloat(b(a.css("border-top-width")))]},_checkOffset:function(a,b,c){var d=a.dpDiv.outerWidth(),e=a.dpDiv.outerHeight(),f=a.input?a.input.outerWidth():0,g=a.input?a.input.outerHeight():0,h=document.documentElement.clientWidth+(c?0:$(document).scrollLeft()),i=document.documentElement.clientHeight+(c?0:$(document).scrollTop());return b.left-=this._get(a,"isRTL")?d-f:0,b.left-=c&&b.left==a.input.offset().left?$(document).scrollLeft():0,b.top-=c&&b.top==a.input.offset().top+g?$(document).scrollTop():0,b.left-=Math.min(b.left,b.left+d>h&&h>d?Math.abs(b.left+d-h):0),b.top-=Math.min(b.top,b.top+e>i&&i>e?Math.abs(e+g):0),b},_findPos:function(a){var b=this._getInst(a),c=this._get(b,"isRTL");while(a&&(a.type=="hidden"||a.nodeType!=1||$.expr.filters.hidden(a)))a=a[c?"previousSibling":"nextSibling"];var d=$(a).offset();return[d.left,d.top]},_hideDatepicker:function(a){var b=this._curInst;if(!b||a&&b!=$.data(a,PROP_NAME))return;if(this._datepickerShowing){var c=this._get(b,"showAnim"),d=this._get(b,"duration"),e=function(){$.datepicker._tidyDialog(b)};$.effects&&$.effects[c]?b.dpDiv.hide(c,$.datepicker._get(b,"showOptions"),d,e):b.dpDiv[c=="slideDown"?"slideUp":c=="fadeIn"?"fadeOut":"hide"](c?d:null,e),c||e(),this._datepickerShowing=!1;var f=this._get(b,"onClose");f&&f.apply(b.input?b.input[0]:null,[b.input?b.input.val():"",b]),this._lastInput=null,this._inDialog&&(this._dialogInput.css({position:"absolute",left:"0",top:"-100px"}),$.blockUI&&($.unblockUI(),$("body").append(this.dpDiv))),this._inDialog=!1}},_tidyDialog:function(a){a.dpDiv.removeClass(this._dialogClass).unbind(".ui-datepicker-calendar")},_checkExternalClick:function(a){if(!$.datepicker._curInst)return;var b=$(a.target),c=$.datepicker._getInst(b[0]);(b[0].id!=$.datepicker._mainDivId&&b.parents("#"+$.datepicker._mainDivId).length==0&&!b.hasClass($.datepicker.markerClassName)&&!b.closest("."+$.datepicker._triggerClass).length&&$.datepicker._datepickerShowing&&(!$.datepicker._inDialog||!$.blockUI)||b.hasClass($.datepicker.markerClassName)&&$.datepicker._curInst!=c)&&$.datepicker._hideDatepicker()},_adjustDate:function(a,b,c){var d=$(a),e=this._getInst(d[0]);if(this._isDisabledDatepicker(d[0]))return;this._adjustInstDate(e,b+(c=="M"?this._get(e,"showCurrentAtPos"):0),c),this._updateDatepicker(e)},_gotoToday:function(a){var b=$(a),c=this._getInst(b[0]);if(this._get(c,"gotoCurrent")&&c.currentDay)c.selectedDay=c.currentDay,c.drawMonth=c.selectedMonth=c.currentMonth,c.drawYear=c.selectedYear=c.currentYear;else{var d=new Date;c.selectedDay=d.getDate(),c.drawMonth=c.selectedMonth=d.getMonth(),c.drawYear=c.selectedYear=d.getFullYear()}this._notifyChange(c),this._adjustDate(b)},_selectMonthYear:function(a,b,c){var d=$(a),e=this._getInst(d[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(d)},_selectDay:function(a,b,c,d){var e=$(a);if($(d).hasClass(this._unselectableClass)||this._isDisabledDatepicker(e[0]))return;var f=this._getInst(e[0]);f.selectedDay=f.currentDay=$("a",d).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){var b=$(a),c=this._getInst(b[0]);this._selectDate(b,"")},_selectDate:function(a,b){var c=$(a),d=this._getInst(c[0]);b=b!=null?b:this._formatDate(d),d.input&&d.input.val(b),this._updateAlternate(d);var e=this._get(d,"onSelect");e?e.apply(d.input?d.input[0]:null,[b,d]):d.input&&d.input.trigger("change"),d.inline?this._updateDatepicker(d):(this._hideDatepicker(),this._lastInput=d.input[0],typeof d.input[0]!="object"&&d.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"),d=this._getDate(a),e=this.formatDate(c,d,this._getFormatConfig(a));$(b).each(function(){$(this).val(e)})}},noWeekends:function(a){var b=a.getDay();return[b>0&&b<6,""]},iso8601Week:function(a){var b=new Date(a.getTime());b.setDate(b.getDate()+4-(b.getDay()||7));var c=b.getTime();return b.setMonth(0),b.setDate(1),Math.floor(Math.round((c-b)/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 d=(c?c.shortYearCutoff:null)||this._defaults.shortYearCutoff;d=typeof d!="string"?d:(new Date).getFullYear()%100+parseInt(d,10);var e=(c?c.dayNamesShort:null)||this._defaults.dayNamesShort,f=(c?c.dayNames:null)||this._defaults.dayNames,g=(c?c.monthNamesShort:null)||this._defaults.monthNamesShort,h=(c?c.monthNames:null)||this._defaults.monthNames,i=-1,j=-1,k=-1,l=-1,m=!1,n=function(b){var c=s+1<a.length&&a.charAt(s+1)==b;return c&&s++,c},o=function(a){var c=n(a),d=a=="@"?14:a=="!"?20:a=="y"&&c?4:a=="o"?3:2,e=new RegExp("^\\d{1,"+d+"}"),f=b.substring(r).match(e);if(!f)throw"Missing number at position "+r;return r+=f[0].length,parseInt(f[0],10)},p=function(a,c,d){var e=$.map(n(a)?d:c,function(a,b){return[[b,a]]}).sort(function(a,b){return-(a[1].length-b[1].length)}),f=-1;$.each(e,function(a,c){var d=c[1];if(b.substr(r,d.length).toLowerCase()==d.toLowerCase())return f=c[0],r+=d.length,!1});if(f!=-1)return f+1;throw"Unknown name at position "+r},q=function(){if(b.charAt(r)!=a.charAt(s))throw"Unexpected literal at position "+r;r++},r=0;for(var s=0;s<a.length;s++)if(m)a.charAt(s)=="'"&&!n("'")?m=!1:q();else switch(a.charAt(s)){case"d":k=o("d");break;case"D":p("D",e,f);break;case"o":l=o("o");break;case"m":j=o("m");break;case"M":j=p("M",g,h);break;case"y":i=o("y");break;case"@":var t=new Date(o("@"));i=t.getFullYear(),j=t.getMonth()+1,k=t.getDate();break;case"!":var t=new Date((o("!")-this._ticksTo1970)/1e4);i=t.getFullYear(),j=t.getMonth()+1,k=t.getDate();break;case"'":n("'")?q():m=!0;break;default:q()}if(r<b.length)throw"Extra/unparsed characters found in date: "+b.substring(r);i==-1?i=(new Date).getFullYear():i<100&&(i+=(new Date).getFullYear()-(new Date).getFullYear()%100+(i<=d?0:-100));if(l>-1){j=1,k=l;do{var u=this._getDaysInMonth(i,j-1);if(k<=u)break;j++,k-=u}while(!0)}var t=this._daylightSavingAdjust(new Date(i,j-1,k));if(t.getFullYear()!=i||t.getMonth()+1!=j||t.getDate()!=k)throw"Invalid date";return t},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 d=(c?c.dayNamesShort:null)||this._defaults.dayNamesShort,e=(c?c.dayNames:null)||this._defaults.dayNames,f=(c?c.monthNamesShort:null)||this._defaults.monthNamesShort,g=(c?c.monthNames:null)||this._defaults.monthNames,h=function(b){var c=m+1<a.length&&a.charAt(m+1)==b;return c&&m++,c},i=function(a,b,c){var d=""+b;if(h(a))while(d.length<c)d="0"+d;return d},j=function(a,b,c,d){return h(a)?d[b]:c[b]},k="",l=!1;if(b)for(var m=0;m<a.length;m++)if(l)a.charAt(m)=="'"&&!h("'")?l=!1:k+=a.charAt(m);else switch(a.charAt(m)){case"d":k+=i("d",b.getDate(),2);break;case"D":k+=j("D",b.getDay(),d,e);break;case"o":k+=i("o",Math.round(((new Date(b.getFullYear(),b.getMonth(),b.getDate())).getTime()-(new Date(b.getFullYear(),0,0)).getTime())/864e5),3);break;case"m":k+=i("m",b.getMonth()+1,2);break;case"M":k+=j("M",b.getMonth(),f,g);break;case"y":k+=h("y")?b.getFullYear():(b.getYear()%100<10?"0":"")+b.getYear()%100;break;case"@":k+=b.getTime();break;case"!":k+=b.getTime()*1e4+this._ticksTo1970;break;case"'":h("'")?k+="'":l=!0;break;default:k+=a.charAt(m)}return k},_possibleChars:function(a){var b="",c=!1,d=function(b){var c=e+1<a.length&&a.charAt(e+1)==b;return c&&e++,c};for(var e=0;e<a.length;e++)if(c)a.charAt(e)=="'"&&!d("'")?c=!1:b+=a.charAt(e);else switch(a.charAt(e)){case"d":case"m":case"y":case"@":b+="0123456789";break;case"D":case"M":return null;case"'":d("'")?b+="'":c=!0;break;default:b+=a.charAt(e)}return b},_get:function(a,b){return a.settings[b]!==undefined?a.settings[b]:this._defaults[b]},_setDateFromField:function(a,b){if(a.input.val()==a.lastVal)return;var c=this._get(a,"dateFormat"),d=a.lastVal=a.input?a.input.val():null,e,f;e=f=this._getDefaultDate(a);var g=this._getFormatConfig(a);try{e=this.parseDate(c,d,g)||f}catch(h){this.log(h),d=b?"":d}a.selectedDay=e.getDate(),a.drawMonth=a.selectedMonth=e.getMonth(),a.drawYear=a.selectedYear=e.getFullYear(),a.currentDay=d?e.getDate():0,a.currentMonth=d?e.getMonth():0,a.currentYear=d?e.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 d=function(a){var b=new Date;return b.setDate(b.getDate()+a),b},e=function(b){try{return $.datepicker.parseDate($.datepicker._get(a,"dateFormat"),b,$.datepicker._getFormatConfig(a))}catch(c){}var d=(b.toLowerCase().match(/^c/)?$.datepicker._getDate(a):null)||new Date,e=d.getFullYear(),f=d.getMonth(),g=d.getDate(),h=/([+-]?[0-9]+)\s*(d|D|w|W|m|M|y|Y)?/g,i=h.exec(b);while(i){switch(i[2]||"d"){case"d":case"D":g+=parseInt(i[1],10);break;case"w":case"W":g+=parseInt(i[1],10)*7;break;case"m":case"M":f+=parseInt(i[1],10),g=Math.min(g,$.datepicker._getDaysInMonth(e,f));break;case"y":case"Y":e+=parseInt(i[1],10),g=Math.min(g,$.datepicker._getDaysInMonth(e,f))}i=h.exec(b)}return new Date(e,f,g)},f=b==null||b===""?c:typeof b=="string"?e(b):typeof b=="number"?isNaN(b)?c:d(b):new Date(b.getTime());return f=f&&f.toString()=="Invalid Date"?c:f,f&&(f.setHours(0),f.setMinutes(0),f.setSeconds(0),f.setMilliseconds(0)),this._daylightSavingAdjust(f)},_daylightSavingAdjust:function(a){return a?(a.setHours(a.getHours()>12?a.getHours()+2:0),a):null},_setDate:function(a,b,c){var d=!b,e=a.selectedMonth,f=a.selectedYear,g=this._restrictMinMax(a,this._determineDate(a,b,new Date));a.selectedDay=a.currentDay=g.getDate(),a.drawMonth=a.selectedMonth=a.currentMonth=g.getMonth(),a.drawYear=a.selectedYear=a.currentYear=g.getFullYear(),(e!=a.selectedMonth||f!=a.selectedYear)&&!c&&this._notifyChange(a),this._adjustInstDate(a),a.input&&a.input.val(d?"":this._formatDate(a))},_getDate:function(a){var b=!a.currentYear||a.input&&a.input.val()==""?null:this._daylightSavingAdjust(new Date(a.currentYear,a.currentMonth,a.currentDay));return b},_attachHandlers:function(a){var b=this._get(a,"stepMonths"),c="#"+a.id.replace(/\\\\/g,"\\");a.dpDiv.find("[data-handler]").map(function(){var a={prev:function(){window["DP_jQuery_"+dpuuid].datepicker._adjustDate(c,-b,"M")},next:function(){window["DP_jQuery_"+dpuuid].datepicker._adjustDate(c,+b,"M")},hide:function(){window["DP_jQuery_"+dpuuid].datepicker._hideDatepicker()},today:function(){window["DP_jQuery_"+dpuuid].datepicker._gotoToday(c)},selectDay:function(){return window["DP_jQuery_"+dpuuid].datepicker._selectDay(c,+this.getAttribute("data-month"),+this.getAttribute("data-year"),this),!1},selectMonth:function(){return window["DP_jQuery_"+dpuuid].datepicker._selectMonthYear(c,this,"M"),!1},selectYear:function(){return window["DP_jQuery_"+dpuuid].datepicker._selectMonthYear(c,this,"Y"),!1}};$(this).bind(this.getAttribute("data-event"),a[this.getAttribute("data-handler")])})},_generateHTML:function(a){var b=new Date;b=this._daylightSavingAdjust(new Date(b.getFullYear(),b.getMonth(),b.getDate()));var c=this._get(a,"isRTL"),d=this._get(a,"showButtonPanel"),e=this._get(a,"hideIfNoPrevNext"),f=this._get(a,"navigationAsDateFormat"),g=this._getNumberOfMonths(a),h=this._get(a,"showCurrentAtPos"),i=this._get(a,"stepMonths"),j=g[0]!=1||g[1]!=1,k=this._daylightSavingAdjust(a.currentDay?new Date(a.currentYear,a.currentMonth,a.currentDay):new Date(9999,9,9)),l=this._getMinMaxDate(a,"min"),m=this._getMinMaxDate(a,"max"),n=a.drawMonth-h,o=a.drawYear;n<0&&(n+=12,o--);if(m){var p=this._daylightSavingAdjust(new Date(m.getFullYear(),m.getMonth()-g[0]*g[1]+1,m.getDate()));p=l&&p<l?l:p;while(this._daylightSavingAdjust(new Date(o,n,1))>p)n--,n<0&&(n=11,o--)}a.drawMonth=n,a.drawYear=o;var q=this._get(a,"prevText");q=f?this.formatDate(q,this._daylightSavingAdjust(new Date(o,n-i,1)),this._getFormatConfig(a)):q;var r=this._canAdjustMonth(a,-1,o,n)?'<a class="ui-datepicker-prev ui-corner-all" data-handler="prev" data-event="click" title="'+q+'"><span class="ui-icon ui-icon-circle-triangle-'+(c?"e":"w")+'">'+q+"</span></a>":e?"":'<a class="ui-datepicker-prev ui-corner-all ui-state-disabled" title="'+q+'"><span class="ui-icon ui-icon-circle-triangle-'+(c?"e":"w")+'">'+q+"</span></a>",s=this._get(a,"nextText");s=f?this.formatDate(s,this._daylightSavingAdjust(new Date(o,n+i,1)),this._getFormatConfig(a)):s;var t=this._canAdjustMonth(a,1,o,n)?'<a class="ui-datepicker-next ui-corner-all" data-handler="next" data-event="click" title="'+s+'"><span class="ui-icon ui-icon-circle-triangle-'+(c?"w":"e")+'">'+s+"</span></a>":e?"":'<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>",u=this._get(a,"currentText"),v=this._get(a,"gotoCurrent")&&a.currentDay?k:b;u=f?this.formatDate(u,v,this._getFormatConfig(a)):u;var w=a.inline?"":'<button type="button" class="ui-datepicker-close ui-state-default ui-priority-primary ui-corner-all" data-handler="hide" data-event="click">'+this._get(a,"closeText")+"</button>",x=d?'<div class="ui-datepicker-buttonpane ui-widget-content">'+(c?w:"")+(this._isInRange(a,v)?'<button type="button" class="ui-datepicker-current ui-state-default ui-priority-secondary ui-corner-all" data-handler="today" data-event="click">'+u+"</button>":"")+(c?"":w)+"</div>":"",y=parseInt(this._get(a,"firstDay"),10);y=isNaN(y)?0:y;var z=this._get(a,"showWeek"),A=this._get(a,"dayNames"),B=this._get(a,"dayNamesShort"),C=this._get(a,"dayNamesMin"),D=this._get(a,"monthNames"),E=this._get(a,"monthNamesShort"),F=this._get(a,"beforeShowDay"),G=this._get(a,"showOtherMonths"),H=this._get(a,"selectOtherMonths"),I=this._get(a,"calculateWeek")||this.iso8601Week,J=this._getDefaultDate(a),K="";for(var L=0;L<g[0];L++){var M="";this.maxRows=4;for(var N=0;N<g[1];N++){var O=this._daylightSavingAdjust(new Date(o,n,a.selectedDay)),P=" ui-corner-all",Q="";if(j){Q+='<div class="ui-datepicker-group';if(g[1]>1)switch(N){case 0:Q+=" ui-datepicker-group-first",P=" ui-corner-"+(c?"right":"left");break;case g[1]-1:Q+=" ui-datepicker-group-last",P=" ui-corner-"+(c?"left":"right");break;default:Q+=" ui-datepicker-group-middle",P=""}Q+='">'}Q+='<div class="ui-datepicker-header ui-widget-header ui-helper-clearfix'+P+'">'+(/all|left/.test(P)&&L==0?c?t:r:"")+(/all|right/.test(P)&&L==0?c?r:t:"")+this._generateMonthYearHeader(a,n,o,l,m,L>0||N>0,D,E)+'</div><table class="ui-datepicker-calendar"><thead>'+"<tr>";var R=z?'<th class="ui-datepicker-week-col">'+this._get(a,"weekHeader")+"</th>":"";for(var S=0;S<7;S++){var T=(S+y)%7;R+="<th"+((S+y+6)%7>=5?' class="ui-datepicker-week-end"':"")+">"+'<span title="'+A[T]+'">'+C[T]+"</span></th>"}Q+=R+"</tr></thead><tbody>";var U=this._getDaysInMonth(o,n);o==a.selectedYear&&n==a.selectedMonth&&(a.selectedDay=Math.min(a.selectedDay,U));var V=(this._getFirstDayOfMonth(o,n)-y+7)%7,W=Math.ceil((V+U)/7),X=j?this.maxRows>W?this.maxRows:W:W;this.maxRows=X;var Y=this._daylightSavingAdjust(new Date(o,n,1-V));for(var Z=0;Z<X;Z++){Q+="<tr>";var _=z?'<td class="ui-datepicker-week-col">'+this._get(a,"calculateWeek")(Y)+"</td>":"";for(var S=0;S<7;S++){var ba=F?F.apply(a.input?a.input[0]:null,[Y]):[!0,""],bb=Y.getMonth()!=n,bc=bb&&!H||!ba[0]||l&&Y<l||m&&Y>m;_+='<td class="'+((S+y+6)%7>=5?" ui-datepicker-week-end":"")+(bb?" ui-datepicker-other-month":"")+(Y.getTime()==O.getTime()&&n==a.selectedMonth&&a._keyEvent||J.getTime()==Y.getTime()&&J.getTime()==O.getTime()?" "+this._dayOverClass:"")+(bc?" "+this._unselectableClass+" ui-state-disabled":"")+(bb&&!G?"":" "+ba[1]+(Y.getTime()==k.getTime()?" "+this._currentClass:"")+(Y.getTime()==b.getTime()?" ui-datepicker-today":""))+'"'+((!bb||G)&&ba[2]?' title="'+ba[2]+'"':"")+(bc?"":' data-handler="selectDay" data-event="click" data-month="'+Y.getMonth()+'" data-year="'+Y.getFullYear()+'"')+">"+(bb&&!G?"&#xa0;":bc?'<span class="ui-state-default">'+Y.getDate()+"</span>":'<a class="ui-state-default'+(Y.getTime()==b.getTime()?" ui-state-highlight":"")+(Y.getTime()==k.getTime()?" ui-state-active":"")+(bb?" ui-priority-secondary":"")+'" href="#">'+Y.getDate()+"</a>")+"</td>",Y.setDate(Y.getDate()+1),Y=this._daylightSavingAdjust(Y)}Q+=_+"</tr>"}n++,n>11&&(n=0,o++),Q+="</tbody></table>"+(j?"</div>"+(g[0]>0&&N==g[1]-1?'<div class="ui-datepicker-row-break"></div>':""):""),M+=Q}K+=M}return K+=x+($.browser.msie&&parseInt($.browser.version,10)<7&&!a.inline?'<iframe src="javascript:false;" class="ui-datepicker-cover" frameborder="0"></iframe>':""),a._keyEvent=!1,K},_generateMonthYearHeader:function(a,b,c,d,e,f,g,h){var i=this._get(a,"changeMonth"),j=this._get(a,"changeYear"),k=this._get(a,"showMonthAfterYear"),l='<div class="ui-datepicker-title">',m="";if(f||!i)m+='<span class="ui-datepicker-month">'+g[b]+"</span>";else{var n=d&&d.getFullYear()==c,o=e&&e.getFullYear()==c;m+='<select class="ui-datepicker-month" data-handler="selectMonth" data-event="change">';for(var p=0;p<12;p++)(!n||p>=d.getMonth())&&(!o||p<=e.getMonth())&&(m+='<option value="'+p+'"'+(p==b?' selected="selected"':"")+">"+h[p]+"</option>");m+="</select>"}k||(l+=m+(f||!i||!j?"&#xa0;":""));if(!a.yearshtml){a.yearshtml="";if(f||!j)l+='<span class="ui-datepicker-year">'+c+"</span>";else{var q=this._get(a,"yearRange").split(":"),r=(new Date).getFullYear(),s=function(a){var b=a.match(/c[+-].*/)?c+parseInt(a.substring(1),10):a.match(/[+-].*/)?r+parseInt(a,10):parseInt(a,10);return isNaN(b)?r:b},t=s(q[0]),u=Math.max(t,s(q[1]||""));t=d?Math.max(t,d.getFullYear()):t,u=e?Math.min(u,e.getFullYear()):u,a.yearshtml+='<select class="ui-datepicker-year" data-handler="selectYear" data-event="change">';for(;t<=u;t++)a.yearshtml+='<option value="'+t+'"'+(t==c?' selected="selected"':"")+">"+t+"</option>";a.yearshtml+="</select>",l+=a.yearshtml,a.yearshtml=null}}return l+=this._get(a,"yearSuffix"),k&&(l+=(f||!i||!j?"&#xa0;":"")+m),l+="</div>",l},_adjustInstDate:function(a,b,c){var d=a.drawYear+(c=="Y"?b:0),e=a.drawMonth+(c=="M"?b:0),f=Math.min(a.selectedDay,this._getDaysInMonth(d,e))+(c=="D"?b:0),g=this._restrictMinMax(a,this._daylightSavingAdjust(new Date(d,e,f)));a.selectedDay=g.getDate(),a.drawMonth=a.selectedMonth=g.getMonth(),a.drawYear=a.selectedYear=g.getFullYear(),(c=="M"||c=="Y")&&this._notifyChange(a)},_restrictMinMax:function(a,b){var c=this._getMinMaxDate(a,"min"),d=this._getMinMaxDate(a,"max"),e=c&&b<c?c:b;return e=d&&e>d?d:e,e},_notifyChange:function(a){var b=this._get(a,"onChangeMonthYear");b&&b.apply(a.input?a.input[0]:null,[a.selectedYear,a.selectedMonth+1,a])},_getNumberOfMonths:function(a){var b=this._get(a,"numberOfMonths");return b==null?[1,1]:typeof b=="number"?[1,b]:b},_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,d){var e=this._getNumberOfMonths(a),f=this._daylightSavingAdjust(new Date(c,d+(b<0?b:e[0]*e[1]),1));return b<0&&f.setDate(this._getDaysInMonth(f.getFullYear(),f.getMonth())),this._isInRange(a,f)},_isInRange:function(a,b){var c=this._getMinMaxDate(a,"min"),d=this._getMinMaxDate(a,"max");return(!c||b.getTime()>=c.getTime())&&(!d||b.getTime()<=d.getTime())},_getFormatConfig:function(a){var b=this._get(a,"shortYearCutoff");return b=typeof b!="string"?b:(new Date).getFullYear()%100+parseInt(b,10),{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,d){b||(a.currentDay=a.selectedDay,a.currentMonth=a.selectedMonth,a.currentYear=a.selectedYear);var e=b?typeof b=="object"?b:this._daylightSavingAdjust(new Date(d,c,b)):this._daylightSavingAdjust(new Date(a.currentYear,a.currentMonth,a.currentDay));return this.formatDate(this._get(a,"dateFormat"),e,this._getFormatConfig(a))}}),$.fn.datepicker=function(a){if(!this.length)return this;$.datepicker.initialized||($(document).mousedown($.datepicker._checkExternalClick).find("body").append($.datepicker.dpDiv),$.datepicker.initialized=!0);var b=Array.prototype.slice.call(arguments,1);return typeof a!="string"||a!="isDisabled"&&a!="getDate"&&a!="widget"?a=="option"&&arguments.length==2&&typeof arguments[1]=="string"?$.datepicker["_"+a+"Datepicker"].apply($.datepicker,[this[0]].concat(b)):this.each(function(){typeof a=="string"?$.datepicker["_"+a+"Datepicker"].apply($.datepicker,[this].concat(b)):$.datepicker._attachDatepicker(this,a)}):$.datepicker["_"+a+"Datepicker"].apply($.datepicker,[this[0]].concat(b))},$.datepicker=new Datepicker,$.datepicker.initialized=!1,$.datepicker.uuid=(new Date).getTime(),$.datepicker.version="1.8.23",window["DP_jQuery_"+dpuuid]=$})(jQuery);;
\ No newline at end of file
diff --git a/koha-tmpl/opac-tmpl/prog/en/lib/yui/button.css b/koha-tmpl/opac-tmpl/prog/en/lib/yui/button.css
deleted file mode 100644 (file)
index 1a8aaca..0000000
+++ /dev/null
@@ -1,7 +0,0 @@
-/*
-Copyright (c) 2007, Yahoo! Inc. All rights reserved.
-Code licensed under the BSD License:
-http://developer.yahoo.net/yui/license.txt
-version: 2.4.1
-*/
-body .yui-button{display:-moz-inline-box;display:inline-block;vertical-align:text-bottom;border-width:1px 0;background:url(yui-sprite.png) repeat-x 0 0;margin:auto .25em}body .yui-button .first-child,body .yui-button a,body .yui-button button{display:block;*display:inline-block}body .yui-button a,body .yui-button button{border:none;margin:0;padding:0 10px;font-size:93%;line-height:2;*line-height:1.7;min-height:2em;*min-height:auto}body .yui-button button{background:transparent;*overflow:visible;cursor:pointer}body .yui-button a{text-decoration:none;*line-height:2}body .yui-button,body .yui-button .first-child{border-style:solid}body .yui-button,body .yui-button .first-child,body .yui-split-button-activeoption,body .yui-split-button-activeoption .first-child{border-color:#808080}body .yui-button .first-child{border-width:0 1px;margin:0 -1px;*position:relative;*left:-1px}body .yui-button a,body .yui-button button,body .yui-button-focus a,body .yui-button-focus button,body .yui-button-hover a,body .yui-button-hover button,body .yui-button-active a,body .yui-button-active button{color:#000}body .yui-menu-button button,body .yui-split-button button{background:no-repeat right center;padding-right:20px}body .yui-menu-button button{background:url(menu-button-arrow.png)}body .yui-split-button button{background:url(split-button-arrow.png)}body .yui-button-focus,body .yui-button-hover{background:0 -1300px}body .yui-button-focus,body .yui-button-focus .first-child,body .yui-button-hover,body .yui-button-hover .first-child,body .yui-button-active,body .yui-button-active .first-child{border-color:#7d98b8}body .yui-split-button-focus button{background:url(split-button-arrow-focus.png)}body .yui-split-button-hover button{background:url(split-button-arrow-hover.png)}body .yui-button-active{background:0 -1700px}body .yui-split-button-activeoption{background:0 0}body .yui-split-button-activeoption button{background:url(split-button-arrow-active.png)}body .yui-checkbox-button-checked,body .yui-radio-button-checked{background:0 -1400px}body .yui-checkbox-button-checked,body .yui-radio-button-checked,body .yui-checkbox-button-checked .first-child,body .yui-radio-button-checked .first-child{border-color:#304369}body .yui-checkbox-button-checked button,body .yui-radio-button-checked button{color:#fff}body .yui-button-disabled{background:0 -1500px}body .yui-button-disabled,body .yui-button-disabled .first-child{border-color:#ccc}body .yui-button-disabled a,body .yui-button-disabled button{color:#a6a6a6;cursor:default}body .yui-menu-button-disabled button{background:url(menu-button-arrow-disabled.png)}body .yui-split-button-disabled button{background:url(split-button-arrow-disabled.png)}
\ No newline at end of file
diff --git a/koha-tmpl/opac-tmpl/prog/en/lib/yui/container.css b/koha-tmpl/opac-tmpl/prog/en/lib/yui/container.css
deleted file mode 100644 (file)
index 90e11f5..0000000
+++ /dev/null
@@ -1,318 +0,0 @@
-/*
-Copyright (c) 2007, Yahoo! Inc. All rights reserved.
-Code licensed under the BSD License:
-http://developer.yahoo.net/yui/license.txt
-version: 2.4.1
-*/
-.yui-overlay,
-.yui-panel-container {
-    visibility:hidden;
-    position:absolute;
-    z-index: 2;
-}
-
-.yui-tt {
-    visibility:hidden;
-    position:absolute;
-    color:#333;
-    background-color:#FDFFB4;
-    font-family:arial,helvetica,verdana,sans-serif;
-    padding:2px;
-    border:1px solid #FCC90D;
-    font:100% sans-serif;
-    width:auto;
-}
-
-/*
-    PLEASE NOTE: The <DIV> element used for a Tooltip's shadow is appended 
-    to its root element via JavaScript once it has been rendered.  The 
-    code that creates the shadow lives in the Tooltip's public "onRender" 
-    event handler that is a prototype method of YAHOO.widget.Tooltip.  
-    Implementers wishing to remove a Tooltip's shadow or add any other markup
-    required for a given skin for Tooltip should override the "onRender" method.
-*/
-
-.yui-tt-shadow {
-    display: none;
-}
-
-* html body.masked select {
-    visibility:hidden;
-}
-
-* html div.yui-panel-container select {
-    visibility:inherit;
-}
-
-* html div.drag select {
-    visibility:hidden;
-}
-
-* html div.hide-select select {
-    visibility:hidden;
-}
-
-.mask {
-    z-index: 1; 
-    display:none;
-    position:absolute;
-    top:0;
-    left:0;
-    -moz-opacity: 0.5;
-    opacity:.50;
-    filter: alpha(opacity=50);
-    background-color:#CCC;
-}
-
-/*
-
-There are two known issues with YAHOO.widget.Overlay (and its subclasses) that 
-manifest in Gecko-based browsers on Mac OS X:
-
-    1) Elements with scrollbars will poke through Overlay instances floating 
-       above them.
-    
-    2) An Overlay's scrollbars and the scrollbars of its child nodes remain  
-       visible when the Overlay is hidden.
-
-To fix these bugs:
-
-    1) The "overflow" property of an Overlay instance's root element and child 
-       nodes is toggled between "hidden" and "auto" (through the application  
-       and removal of the "hide-scrollbars" and "show-scrollbars" CSS classes)
-       as its "visibility" configuration property is toggled between 
-       "false" and "true."
-    
-    2) The "display" property of <SELECT> elements that are child nodes of the 
-       Overlay instance's root element is set to "none" when it is hidden.
-
-PLEASE NOTE:  
-  
-    1) The "hide-scrollbars" and "show-scrollbars" CSS classes classes are 
-       applied only for Gecko on Mac OS X and are added/removed to/from the 
-       Overlay's root HTML element (DIV) via the "hideMacGeckoScrollbars" and 
-       "showMacGeckoScrollbars" methods of YAHOO.widget.Overlay.
-    
-    2) There may be instances where the CSS for a web page or application 
-       contains style rules whose specificity override the rules implemented by 
-       the Container CSS files to fix this bug.  In such cases, is necessary to 
-       leverage the provided "hide-scrollbars" and "show-scrollbars" classes to 
-       write custom style rules to guard against this bug.
-
-** For more information on this issue, see:
-
-   + https://bugzilla.mozilla.org/show_bug.cgi?id=187435
-   + SourceForge bug #1723530
-
-*/
-
-.hide-scrollbars,
-.hide-scrollbars * {
-
-    overflow: hidden;
-
-}
-
-.hide-scrollbars select {
-
-    display: none;
-
-}
-
-.show-scrollbars {
-
-    overflow: auto;
-
-}
-
-.yui-panel-container.show-scrollbars {
-
-    overflow: visible;
-
-}
-
-.yui-panel-container.show-scrollbars .underlay {
-
-    overflow: auto;
-
-}
-
-.yui-panel-container.focused {
-
-}
-
-
-/* Panel underlay styles */
-
-.yui-panel-container .underlay {
-
-    position: absolute;
-    top: 0;
-    right: 0;
-    bottom: 0;
-    left: 0;
-
-}
-
-.yui-panel-container.matte {
-
-    padding: 3px;
-    background-color: #fff;
-
-}
-
-.yui-panel-container.shadow .underlay {
-
-    top: 3px;
-    bottom: -3px;
-    right: -3px;
-    left: 3px;
-    background-color: #000;
-    opacity: .12;
-    filter: alpha(opacity=12);  /* For IE */
-
-}
-
-/* 
-   Workaround for Safari 2.x - the yui-force-redraw class is applied, and then removed when
-   the Panel's content changes, to force Safari 2.x to redraw the underlay.
-   We attempt to choose a CSS property which has no visual impact when added,
-   removed, but still causes Safari to redraw
-*/
-.yui-panel-container.shadow .underlay.yui-force-redraw {
-    padding-bottom: 1px;
-}
-
-.yui-effect-fade .underlay {
-    display:none;
-}
-
-.yui-panel {
-    visibility:hidden;
-    border-collapse:separate;
-    position:relative;
-    left:0;
-    top:0;
-    font:1em Arial;
-    background-color:#FFF;
-    border:1px solid #000;
-    z-index:1;
-    overflow:hidden;
-}
-
-.yui-panel .hd {
-    background-color:#3d77cb;
-    color:#FFF;
-    font-size:100%;
-    line-height:100%;
-    border:1px solid #FFF;
-    border-bottom:1px solid #000;
-    font-weight:bold;
-    padding:4px;
-    white-space:nowrap;
-}
-
-.yui-panel .bd {
-    overflow:hidden;
-    padding:4px;
-}
-
-.yui-panel .bd p {
-    margin:0 0 1em;
-}
-
-.yui-panel .container-close {
-    position:absolute;
-    top:5px;
-    right:4px;
-    z-index:6;
-    height:12px;
-    width:12px;
-    margin:0px;
-    padding:0px;
-    background:url(close12_1.gif) no-repeat;
-    cursor:pointer;
-    visibility:inherit;
-}
-
-.yui-panel .ft {
-    padding:4px;
-    overflow:hidden;
-}
-
-.yui-simple-dialog .bd .yui-icon {
-    background-repeat:no-repeat;
-    width:16px;
-    height:16px;
-    margin-right:10px;
-    float:left;
-}
-
-.yui-simple-dialog .bd span.blckicon {
-    background: url("blck16_1.gif") no-repeat;
-}
-
-.yui-simple-dialog .bd span.alrticon {
-    background: url("alrt16_1.gif") no-repeat;
-}
-
-.yui-simple-dialog .bd span.hlpicon {
-    background: url("hlp16_1.gif") no-repeat;
-}
-
-.yui-simple-dialog .bd span.infoicon {
-    background: url("info16_1.gif") no-repeat;
-}
-
-.yui-simple-dialog .bd span.warnicon {
-    background: url("warn16_1.gif") no-repeat;
-}
-
-.yui-simple-dialog .bd span.tipicon {
-    background: url("tip16_1.gif") no-repeat;
-}
-
-.yui-dialog .ft, 
-.yui-simple-dialog .ft {
-    padding-bottom:5px;
-    padding-right:5px;
-    text-align:right;
-}
-
-.yui-dialog form, 
-.yui-simple-dialog form {
-    margin:0;
-}
-
-.button-group button {
-    font:100 76% verdana;
-    text-decoration:none;
-    background-color: #E4E4E4;
-    color: #333;
-    cursor: hand;
-    vertical-align: middle;
-    border: 2px solid #797979;
-    border-top-color:#FFF;
-    border-left-color:#FFF;
-    margin:2px;
-    padding:2px;
-}
-
-.button-group button.default {
-    font-weight:bold;
-}
-
-.button-group button:hover, 
-.button-group button.hover {
-    border:2px solid #90A029;
-    background-color:#EBF09E;
-    border-top-color:#FFF;
-    border-left-color:#FFF;
-}
-
-.button-group button:active {
-    border:2px solid #E4E4E4;
-    background-color:#BBB;
-    border-top-color:#333;
-    border-left-color:#333;
-}
\ No newline at end of file
diff --git a/koha-tmpl/opac-tmpl/prog/en/lib/yui/container/container-min.js b/koha-tmpl/opac-tmpl/prog/en/lib/yui/container/container-min.js
deleted file mode 100644 (file)
index c69470e..0000000
+++ /dev/null
@@ -1,17 +0,0 @@
-/*
-Copyright (c) 2008, Yahoo! Inc. All rights reserved.
-Code licensed under the BSD License:
-http://developer.yahoo.net/yui/license.txt
-version: 2.5.1
-*/
-(function(){YAHOO.util.Config=function(D){if(D){this.init(D);}};var B=YAHOO.lang,C=YAHOO.util.CustomEvent,A=YAHOO.util.Config;A.CONFIG_CHANGED_EVENT="configChanged";A.BOOLEAN_TYPE="boolean";A.prototype={owner:null,queueInProgress:false,config:null,initialConfig:null,eventQueue:null,configChangedEvent:null,init:function(D){this.owner=D;this.configChangedEvent=this.createEvent(A.CONFIG_CHANGED_EVENT);this.configChangedEvent.signature=C.LIST;this.queueInProgress=false;this.config={};this.initialConfig={};this.eventQueue=[];},checkBoolean:function(D){return(typeof D==A.BOOLEAN_TYPE);},checkNumber:function(D){return(!isNaN(D));},fireEvent:function(D,F){var E=this.config[D];if(E&&E.event){E.event.fire(F);}},addProperty:function(E,D){E=E.toLowerCase();this.config[E]=D;D.event=this.createEvent(E,{scope:this.owner});D.event.signature=C.LIST;D.key=E;if(D.handler){D.event.subscribe(D.handler,this.owner);}this.setProperty(E,D.value,true);if(!D.suppressEvent){this.queueProperty(E,D.value);}},getConfig:function(){var D={},F,E;for(F in this.config){E=this.config[F];if(E&&E.event){D[F]=E.value;}}return D;},getProperty:function(D){var E=this.config[D.toLowerCase()];if(E&&E.event){return E.value;}else{return undefined;}},resetProperty:function(D){D=D.toLowerCase();var E=this.config[D];if(E&&E.event){if(this.initialConfig[D]&&!B.isUndefined(this.initialConfig[D])){this.setProperty(D,this.initialConfig[D]);return true;}}else{return false;}},setProperty:function(E,G,D){var F;E=E.toLowerCase();if(this.queueInProgress&&!D){this.queueProperty(E,G);return true;}else{F=this.config[E];if(F&&F.event){if(F.validator&&!F.validator(G)){return false;}else{F.value=G;if(!D){this.fireEvent(E,G);this.configChangedEvent.fire([E,G]);}return true;}}else{return false;}}},queueProperty:function(S,P){S=S.toLowerCase();var R=this.config[S],K=false,J,G,H,I,O,Q,F,M,N,D,L,T,E;if(R&&R.event){if(!B.isUndefined(P)&&R.validator&&!R.validator(P)){return false;}else{if(!B.isUndefined(P)){R.value=P;}else{P=R.value;}K=false;J=this.eventQueue.length;for(L=0;L<J;L++){G=this.eventQueue[L];if(G){H=G[0];I=G[1];if(H==S){this.eventQueue[L]=null;this.eventQueue.push([S,(!B.isUndefined(P)?P:I)]);K=true;break;}}}if(!K&&!B.isUndefined(P)){this.eventQueue.push([S,P]);}}if(R.supercedes){O=R.supercedes.length;for(T=0;T<O;T++){Q=R.supercedes[T];F=this.eventQueue.length;for(E=0;E<F;E++){M=this.eventQueue[E];if(M){N=M[0];D=M[1];if(N==Q.toLowerCase()){this.eventQueue.push([N,D]);this.eventQueue[E]=null;break;}}}}}return true;}else{return false;}},refireEvent:function(D){D=D.toLowerCase();var E=this.config[D];if(E&&E.event&&!B.isUndefined(E.value)){if(this.queueInProgress){this.queueProperty(D);}else{this.fireEvent(D,E.value);}}},applyConfig:function(D,G){var F,E;if(G){E={};for(F in D){if(B.hasOwnProperty(D,F)){E[F.toLowerCase()]=D[F];}}this.initialConfig=E;}for(F in D){if(B.hasOwnProperty(D,F)){this.queueProperty(F,D[F]);}}},refresh:function(){var D;for(D in this.config){this.refireEvent(D);}},fireQueue:function(){var E,H,D,G,F;this.queueInProgress=true;for(E=0;E<this.eventQueue.length;E++){H=this.eventQueue[E];if(H){D=H[0];G=H[1];F=this.config[D];F.value=G;this.fireEvent(D,G);}}this.queueInProgress=false;this.eventQueue=[];},subscribeToConfigEvent:function(E,F,H,D){var G=this.config[E.toLowerCase()];if(G&&G.event){if(!A.alreadySubscribed(G.event,F,H)){G.event.subscribe(F,H,D);}return true;}else{return false;}},unsubscribeFromConfigEvent:function(D,E,G){var F=this.config[D.toLowerCase()];if(F&&F.event){return F.event.unsubscribe(E,G);}else{return false;}},toString:function(){var D="Config";if(this.owner){D+=" ["+this.owner.toString()+"]";}return D;},outputEventQueue:function(){var D="",G,E,F=this.eventQueue.length;for(E=0;E<F;E++){G=this.eventQueue[E];if(G){D+=G[0]+"="+G[1]+", ";}}return D;},destroy:function(){var E=this.config,D,F;for(D in E){if(B.hasOwnProperty(E,D)){F=E[D];F.event.unsubscribeAll();F.event=null;}}this.configChangedEvent.unsubscribeAll();this.configChangedEvent=null;this.owner=null;this.config=null;this.initialConfig=null;this.eventQueue=null;}};A.alreadySubscribed=function(E,H,I){var F=E.subscribers.length,D,G;if(F>0){G=F-1;do{D=E.subscribers[G];if(D&&D.obj==I&&D.fn==H){return true;}}while(G--);}return false;};YAHOO.lang.augmentProto(A,YAHOO.util.EventProvider);}());(function(){YAHOO.widget.Module=function(Q,P){if(Q){this.init(Q,P);}else{}};var F=YAHOO.util.Dom,D=YAHOO.util.Config,M=YAHOO.util.Event,L=YAHOO.util.CustomEvent,G=YAHOO.widget.Module,H,O,N,E,A={"BEFORE_INIT":"beforeInit","INIT":"init","APPEND":"append","BEFORE_RENDER":"beforeRender","RENDER":"render","CHANGE_HEADER":"changeHeader","CHANGE_BODY":"changeBody","CHANGE_FOOTER":"changeFooter","CHANGE_CONTENT":"changeContent","DESTORY":"destroy","BEFORE_SHOW":"beforeShow","SHOW":"show","BEFORE_HIDE":"beforeHide","HIDE":"hide"},I={"VISIBLE":{key:"visible",value:true,validator:YAHOO.lang.isBoolean},"EFFECT":{key:"effect",suppressEvent:true,supercedes:["visible"]},"MONITOR_RESIZE":{key:"monitorresize",value:true},"APPEND_TO_DOCUMENT_BODY":{key:"appendtodocumentbody",value:false}};G.IMG_ROOT=null;G.IMG_ROOT_SSL=null;G.CSS_MODULE="yui-module";G.CSS_HEADER="hd";G.CSS_BODY="bd";G.CSS_FOOTER="ft";G.RESIZE_MONITOR_SECURE_URL="javascript:false;";G.textResizeEvent=new L("textResize");function K(){if(!H){H=document.createElement("div");H.innerHTML=('<div class="'+G.CSS_HEADER+'"></div>'+'<div class="'+G.CSS_BODY+'"></div><div class="'+G.CSS_FOOTER+'"></div>');O=H.firstChild;N=O.nextSibling;E=N.nextSibling;}return H;}function J(){if(!O){K();}return(O.cloneNode(false));}function B(){if(!N){K();}return(N.cloneNode(false));}function C(){if(!E){K();}return(E.cloneNode(false));}G.prototype={constructor:G,element:null,header:null,body:null,footer:null,id:null,imageRoot:G.IMG_ROOT,initEvents:function(){var P=L.LIST;this.beforeInitEvent=this.createEvent(A.BEFORE_INIT);this.beforeInitEvent.signature=P;this.initEvent=this.createEvent(A.INIT);this.initEvent.signature=P;this.appendEvent=this.createEvent(A.APPEND);
-this.appendEvent.signature=P;this.beforeRenderEvent=this.createEvent(A.BEFORE_RENDER);this.beforeRenderEvent.signature=P;this.renderEvent=this.createEvent(A.RENDER);this.renderEvent.signature=P;this.changeHeaderEvent=this.createEvent(A.CHANGE_HEADER);this.changeHeaderEvent.signature=P;this.changeBodyEvent=this.createEvent(A.CHANGE_BODY);this.changeBodyEvent.signature=P;this.changeFooterEvent=this.createEvent(A.CHANGE_FOOTER);this.changeFooterEvent.signature=P;this.changeContentEvent=this.createEvent(A.CHANGE_CONTENT);this.changeContentEvent.signature=P;this.destroyEvent=this.createEvent(A.DESTORY);this.destroyEvent.signature=P;this.beforeShowEvent=this.createEvent(A.BEFORE_SHOW);this.beforeShowEvent.signature=P;this.showEvent=this.createEvent(A.SHOW);this.showEvent.signature=P;this.beforeHideEvent=this.createEvent(A.BEFORE_HIDE);this.beforeHideEvent.signature=P;this.hideEvent=this.createEvent(A.HIDE);this.hideEvent.signature=P;},platform:function(){var P=navigator.userAgent.toLowerCase();if(P.indexOf("windows")!=-1||P.indexOf("win32")!=-1){return"windows";}else{if(P.indexOf("macintosh")!=-1){return"mac";}else{return false;}}}(),browser:function(){var P=navigator.userAgent.toLowerCase();if(P.indexOf("opera")!=-1){return"opera";}else{if(P.indexOf("msie 7")!=-1){return"ie7";}else{if(P.indexOf("msie")!=-1){return"ie";}else{if(P.indexOf("safari")!=-1){return"safari";}else{if(P.indexOf("gecko")!=-1){return"gecko";}else{return false;}}}}}}(),isSecure:function(){if(window.location.href.toLowerCase().indexOf("https")===0){return true;}else{return false;}}(),initDefaultConfig:function(){this.cfg.addProperty(I.VISIBLE.key,{handler:this.configVisible,value:I.VISIBLE.value,validator:I.VISIBLE.validator});this.cfg.addProperty(I.EFFECT.key,{suppressEvent:I.EFFECT.suppressEvent,supercedes:I.EFFECT.supercedes});this.cfg.addProperty(I.MONITOR_RESIZE.key,{handler:this.configMonitorResize,value:I.MONITOR_RESIZE.value});this.cfg.addProperty(I.APPEND_TO_DOCUMENT_BODY.key,{value:I.APPEND_TO_DOCUMENT_BODY.value});},init:function(U,T){var R,V;this.initEvents();this.beforeInitEvent.fire(G);this.cfg=new D(this);if(this.isSecure){this.imageRoot=G.IMG_ROOT_SSL;}if(typeof U=="string"){R=U;U=document.getElementById(U);if(!U){U=(K()).cloneNode(false);U.id=R;}}this.element=U;if(U.id){this.id=U.id;}V=this.element.firstChild;if(V){var Q=false,P=false,S=false;do{if(1==V.nodeType){if(!Q&&F.hasClass(V,G.CSS_HEADER)){this.header=V;Q=true;}else{if(!P&&F.hasClass(V,G.CSS_BODY)){this.body=V;P=true;}else{if(!S&&F.hasClass(V,G.CSS_FOOTER)){this.footer=V;S=true;}}}}}while((V=V.nextSibling));}this.initDefaultConfig();F.addClass(this.element,G.CSS_MODULE);if(T){this.cfg.applyConfig(T,true);}if(!D.alreadySubscribed(this.renderEvent,this.cfg.fireQueue,this.cfg)){this.renderEvent.subscribe(this.cfg.fireQueue,this.cfg,true);}this.initEvent.fire(G);},initResizeMonitor:function(){var Q=(YAHOO.env.ua.gecko&&this.platform=="windows");if(Q){var P=this;setTimeout(function(){P._initResizeMonitor();},0);}else{this._initResizeMonitor();}},_initResizeMonitor:function(){var P,R,T;function V(){G.textResizeEvent.fire();}if(!YAHOO.env.ua.opera){R=F.get("_yuiResizeMonitor");var U=this._supportsCWResize();if(!R){R=document.createElement("iframe");if(this.isSecure&&G.RESIZE_MONITOR_SECURE_URL&&YAHOO.env.ua.ie){R.src=G.RESIZE_MONITOR_SECURE_URL;}if(!U){T=["<html><head><script ",'type="text/javascript">',"window.onresize=function(){window.parent.","YAHOO.widget.Module.textResizeEvent.","fire();};<","/script></head>","<body></body></html>"].join("");R.src="data:text/html;charset=utf-8,"+encodeURIComponent(T);}R.id="_yuiResizeMonitor";R.style.position="absolute";R.style.visibility="hidden";var Q=document.body,S=Q.firstChild;if(S){Q.insertBefore(R,S);}else{Q.appendChild(R);}R.style.width="10em";R.style.height="10em";R.style.top=(-1*R.offsetHeight)+"px";R.style.left=(-1*R.offsetWidth)+"px";R.style.borderWidth="0";R.style.visibility="visible";if(YAHOO.env.ua.webkit){P=R.contentWindow.document;P.open();P.close();}}if(R&&R.contentWindow){G.textResizeEvent.subscribe(this.onDomResize,this,true);if(!G.textResizeInitialized){if(U){if(!M.on(R.contentWindow,"resize",V)){M.on(R,"resize",V);}}G.textResizeInitialized=true;}this.resizeMonitor=R;}}},_supportsCWResize:function(){var P=true;if(YAHOO.env.ua.gecko&&YAHOO.env.ua.gecko<=1.8){P=false;}return P;},onDomResize:function(S,R){var Q=-1*this.resizeMonitor.offsetWidth,P=-1*this.resizeMonitor.offsetHeight;this.resizeMonitor.style.top=P+"px";this.resizeMonitor.style.left=Q+"px";},setHeader:function(Q){var P=this.header||(this.header=J());if(Q.nodeName){P.innerHTML="";P.appendChild(Q);}else{P.innerHTML=Q;}this.changeHeaderEvent.fire(Q);this.changeContentEvent.fire();},appendToHeader:function(Q){var P=this.header||(this.header=J());P.appendChild(Q);this.changeHeaderEvent.fire(Q);this.changeContentEvent.fire();},setBody:function(Q){var P=this.body||(this.body=B());if(Q.nodeName){P.innerHTML="";P.appendChild(Q);}else{P.innerHTML=Q;}this.changeBodyEvent.fire(Q);this.changeContentEvent.fire();},appendToBody:function(Q){var P=this.body||(this.body=B());P.appendChild(Q);this.changeBodyEvent.fire(Q);this.changeContentEvent.fire();},setFooter:function(Q){var P=this.footer||(this.footer=C());if(Q.nodeName){P.innerHTML="";P.appendChild(Q);}else{P.innerHTML=Q;}this.changeFooterEvent.fire(Q);this.changeContentEvent.fire();},appendToFooter:function(Q){var P=this.footer||(this.footer=C());P.appendChild(Q);this.changeFooterEvent.fire(Q);this.changeContentEvent.fire();},render:function(R,P){var S=this,T;function Q(U){if(typeof U=="string"){U=document.getElementById(U);}if(U){S._addToParent(U,S.element);S.appendEvent.fire();}}this.beforeRenderEvent.fire();if(!P){P=this.element;}if(R){Q(R);}else{if(!F.inDocument(this.element)){return false;}}if(this.header&&!F.inDocument(this.header)){T=P.firstChild;if(T){P.insertBefore(this.header,T);}else{P.appendChild(this.header);}}if(this.body&&!F.inDocument(this.body)){if(this.footer&&F.isAncestor(this.moduleElement,this.footer)){P.insertBefore(this.body,this.footer);
-}else{P.appendChild(this.body);}}if(this.footer&&!F.inDocument(this.footer)){P.appendChild(this.footer);}this.renderEvent.fire();return true;},destroy:function(){var P,Q;if(this.element){M.purgeElement(this.element,true);P=this.element.parentNode;}if(P){P.removeChild(this.element);}this.element=null;this.header=null;this.body=null;this.footer=null;G.textResizeEvent.unsubscribe(this.onDomResize,this);this.cfg.destroy();this.cfg=null;this.destroyEvent.fire();for(Q in this){if(Q instanceof L){Q.unsubscribeAll();}}},show:function(){this.cfg.setProperty("visible",true);},hide:function(){this.cfg.setProperty("visible",false);},configVisible:function(Q,P,R){var S=P[0];if(S){this.beforeShowEvent.fire();F.setStyle(this.element,"display","block");this.showEvent.fire();}else{this.beforeHideEvent.fire();F.setStyle(this.element,"display","none");this.hideEvent.fire();}},configMonitorResize:function(R,Q,S){var P=Q[0];if(P){this.initResizeMonitor();}else{G.textResizeEvent.unsubscribe(this.onDomResize,this,true);this.resizeMonitor=null;}},_addToParent:function(P,Q){if(!this.cfg.getProperty("appendtodocumentbody")&&P===document.body&&P.firstChild){P.insertBefore(Q,P.firstChild);}else{P.appendChild(Q);}},toString:function(){return"Module "+this.id;}};YAHOO.lang.augmentProto(G,YAHOO.util.EventProvider);}());(function(){YAHOO.widget.Overlay=function(L,K){YAHOO.widget.Overlay.superclass.constructor.call(this,L,K);};var F=YAHOO.lang,I=YAHOO.util.CustomEvent,E=YAHOO.widget.Module,J=YAHOO.util.Event,D=YAHOO.util.Dom,C=YAHOO.util.Config,B=YAHOO.widget.Overlay,G,A={"BEFORE_MOVE":"beforeMove","MOVE":"move"},H={"X":{key:"x",validator:F.isNumber,suppressEvent:true,supercedes:["iframe"]},"Y":{key:"y",validator:F.isNumber,suppressEvent:true,supercedes:["iframe"]},"XY":{key:"xy",suppressEvent:true,supercedes:["iframe"]},"CONTEXT":{key:"context",suppressEvent:true,supercedes:["iframe"]},"FIXED_CENTER":{key:"fixedcenter",value:false,validator:F.isBoolean,supercedes:["iframe","visible"]},"WIDTH":{key:"width",suppressEvent:true,supercedes:["context","fixedcenter","iframe"]},"HEIGHT":{key:"height",suppressEvent:true,supercedes:["context","fixedcenter","iframe"]},"ZINDEX":{key:"zindex",value:null},"CONSTRAIN_TO_VIEWPORT":{key:"constraintoviewport",value:false,validator:F.isBoolean,supercedes:["iframe","x","y","xy"]},"IFRAME":{key:"iframe",value:(YAHOO.env.ua.ie==6?true:false),validator:F.isBoolean,supercedes:["zindex"]}};B.IFRAME_SRC="javascript:false;";B.IFRAME_OFFSET=3;B.VIEWPORT_OFFSET=10;B.TOP_LEFT="tl";B.TOP_RIGHT="tr";B.BOTTOM_LEFT="bl";B.BOTTOM_RIGHT="br";B.CSS_OVERLAY="yui-overlay";B.windowScrollEvent=new I("windowScroll");B.windowResizeEvent=new I("windowResize");B.windowScrollHandler=function(K){if(YAHOO.env.ua.ie){if(!window.scrollEnd){window.scrollEnd=-1;}clearTimeout(window.scrollEnd);window.scrollEnd=setTimeout(function(){B.windowScrollEvent.fire();},1);}else{B.windowScrollEvent.fire();}};B.windowResizeHandler=function(K){if(YAHOO.env.ua.ie){if(!window.resizeEnd){window.resizeEnd=-1;}clearTimeout(window.resizeEnd);window.resizeEnd=setTimeout(function(){B.windowResizeEvent.fire();},100);}else{B.windowResizeEvent.fire();}};B._initialized=null;if(B._initialized===null){J.on(window,"scroll",B.windowScrollHandler);J.on(window,"resize",B.windowResizeHandler);B._initialized=true;}YAHOO.extend(B,E,{init:function(L,K){B.superclass.init.call(this,L);this.beforeInitEvent.fire(B);D.addClass(this.element,B.CSS_OVERLAY);if(K){this.cfg.applyConfig(K,true);}if(this.platform=="mac"&&YAHOO.env.ua.gecko){if(!C.alreadySubscribed(this.showEvent,this.showMacGeckoScrollbars,this)){this.showEvent.subscribe(this.showMacGeckoScrollbars,this,true);}if(!C.alreadySubscribed(this.hideEvent,this.hideMacGeckoScrollbars,this)){this.hideEvent.subscribe(this.hideMacGeckoScrollbars,this,true);}}this.initEvent.fire(B);},initEvents:function(){B.superclass.initEvents.call(this);var K=I.LIST;this.beforeMoveEvent=this.createEvent(A.BEFORE_MOVE);this.beforeMoveEvent.signature=K;this.moveEvent=this.createEvent(A.MOVE);this.moveEvent.signature=K;},initDefaultConfig:function(){B.superclass.initDefaultConfig.call(this);this.cfg.addProperty(H.X.key,{handler:this.configX,validator:H.X.validator,suppressEvent:H.X.suppressEvent,supercedes:H.X.supercedes});this.cfg.addProperty(H.Y.key,{handler:this.configY,validator:H.Y.validator,suppressEvent:H.Y.suppressEvent,supercedes:H.Y.supercedes});this.cfg.addProperty(H.XY.key,{handler:this.configXY,suppressEvent:H.XY.suppressEvent,supercedes:H.XY.supercedes});this.cfg.addProperty(H.CONTEXT.key,{handler:this.configContext,suppressEvent:H.CONTEXT.suppressEvent,supercedes:H.CONTEXT.supercedes});this.cfg.addProperty(H.FIXED_CENTER.key,{handler:this.configFixedCenter,value:H.FIXED_CENTER.value,validator:H.FIXED_CENTER.validator,supercedes:H.FIXED_CENTER.supercedes});this.cfg.addProperty(H.WIDTH.key,{handler:this.configWidth,suppressEvent:H.WIDTH.suppressEvent,supercedes:H.WIDTH.supercedes});this.cfg.addProperty(H.HEIGHT.key,{handler:this.configHeight,suppressEvent:H.HEIGHT.suppressEvent,supercedes:H.HEIGHT.supercedes});this.cfg.addProperty(H.ZINDEX.key,{handler:this.configzIndex,value:H.ZINDEX.value});this.cfg.addProperty(H.CONSTRAIN_TO_VIEWPORT.key,{handler:this.configConstrainToViewport,value:H.CONSTRAIN_TO_VIEWPORT.value,validator:H.CONSTRAIN_TO_VIEWPORT.validator,supercedes:H.CONSTRAIN_TO_VIEWPORT.supercedes});this.cfg.addProperty(H.IFRAME.key,{handler:this.configIframe,value:H.IFRAME.value,validator:H.IFRAME.validator,supercedes:H.IFRAME.supercedes});},moveTo:function(K,L){this.cfg.setProperty("xy",[K,L]);},hideMacGeckoScrollbars:function(){D.removeClass(this.element,"show-scrollbars");D.addClass(this.element,"hide-scrollbars");},showMacGeckoScrollbars:function(){D.removeClass(this.element,"hide-scrollbars");D.addClass(this.element,"show-scrollbars");},configVisible:function(N,K,T){var M=K[0],O=D.getStyle(this.element,"visibility"),U=this.cfg.getProperty("effect"),R=[],Q=(this.platform=="mac"&&YAHOO.env.ua.gecko),b=C.alreadySubscribed,S,L,a,Y,X,W,Z,V,P;
-if(O=="inherit"){a=this.element.parentNode;while(a.nodeType!=9&&a.nodeType!=11){O=D.getStyle(a,"visibility");if(O!="inherit"){break;}a=a.parentNode;}if(O=="inherit"){O="visible";}}if(U){if(U instanceof Array){V=U.length;for(Y=0;Y<V;Y++){S=U[Y];R[R.length]=S.effect(this,S.duration);}}else{R[R.length]=U.effect(this,U.duration);}}if(M){if(Q){this.showMacGeckoScrollbars();}if(U){if(M){if(O!="visible"||O===""){this.beforeShowEvent.fire();P=R.length;for(X=0;X<P;X++){L=R[X];if(X===0&&!b(L.animateInCompleteEvent,this.showEvent.fire,this.showEvent)){L.animateInCompleteEvent.subscribe(this.showEvent.fire,this.showEvent,true);}L.animateIn();}}}}else{if(O!="visible"||O===""){this.beforeShowEvent.fire();D.setStyle(this.element,"visibility","visible");this.cfg.refireEvent("iframe");this.showEvent.fire();}}}else{if(Q){this.hideMacGeckoScrollbars();}if(U){if(O=="visible"){this.beforeHideEvent.fire();P=R.length;for(W=0;W<P;W++){Z=R[W];if(W===0&&!b(Z.animateOutCompleteEvent,this.hideEvent.fire,this.hideEvent)){Z.animateOutCompleteEvent.subscribe(this.hideEvent.fire,this.hideEvent,true);}Z.animateOut();}}else{if(O===""){D.setStyle(this.element,"visibility","hidden");}}}else{if(O=="visible"||O===""){this.beforeHideEvent.fire();D.setStyle(this.element,"visibility","hidden");this.hideEvent.fire();}}}},doCenterOnDOMEvent:function(){if(this.cfg.getProperty("visible")){this.center();}},configFixedCenter:function(O,M,P){var Q=M[0],L=C.alreadySubscribed,N=B.windowResizeEvent,K=B.windowScrollEvent;if(Q){this.center();if(!L(this.beforeShowEvent,this.center,this)){this.beforeShowEvent.subscribe(this.center);}if(!L(N,this.doCenterOnDOMEvent,this)){N.subscribe(this.doCenterOnDOMEvent,this,true);}if(!L(K,this.doCenterOnDOMEvent,this)){K.subscribe(this.doCenterOnDOMEvent,this,true);}}else{this.beforeShowEvent.unsubscribe(this.center);N.unsubscribe(this.doCenterOnDOMEvent,this);K.unsubscribe(this.doCenterOnDOMEvent,this);}},configHeight:function(N,L,O){var K=L[0],M=this.element;D.setStyle(M,"height",K);this.cfg.refireEvent("iframe");},configWidth:function(N,K,O){var M=K[0],L=this.element;D.setStyle(L,"width",M);this.cfg.refireEvent("iframe");},configzIndex:function(M,K,N){var O=K[0],L=this.element;if(!O){O=D.getStyle(L,"zIndex");if(!O||isNaN(O)){O=0;}}if(this.iframe||this.cfg.getProperty("iframe")===true){if(O<=0){O=1;}}D.setStyle(L,"zIndex",O);this.cfg.setProperty("zIndex",O,true);if(this.iframe){this.stackIframe();}},configXY:function(M,L,N){var P=L[0],K=P[0],O=P[1];this.cfg.setProperty("x",K);this.cfg.setProperty("y",O);this.beforeMoveEvent.fire([K,O]);K=this.cfg.getProperty("x");O=this.cfg.getProperty("y");this.cfg.refireEvent("iframe");this.moveEvent.fire([K,O]);},configX:function(M,L,N){var K=L[0],O=this.cfg.getProperty("y");this.cfg.setProperty("x",K,true);this.cfg.setProperty("y",O,true);this.beforeMoveEvent.fire([K,O]);K=this.cfg.getProperty("x");O=this.cfg.getProperty("y");D.setX(this.element,K,true);this.cfg.setProperty("xy",[K,O],true);this.cfg.refireEvent("iframe");this.moveEvent.fire([K,O]);},configY:function(M,L,N){var K=this.cfg.getProperty("x"),O=L[0];this.cfg.setProperty("x",K,true);this.cfg.setProperty("y",O,true);this.beforeMoveEvent.fire([K,O]);K=this.cfg.getProperty("x");O=this.cfg.getProperty("y");D.setY(this.element,O,true);this.cfg.setProperty("xy",[K,O],true);this.cfg.refireEvent("iframe");this.moveEvent.fire([K,O]);},showIframe:function(){var L=this.iframe,K;if(L){K=this.element.parentNode;if(K!=L.parentNode){this._addToParent(K,L);}L.style.display="block";}},hideIframe:function(){if(this.iframe){this.iframe.style.display="none";}},syncIframe:function(){var K=this.iframe,M=this.element,O=B.IFRAME_OFFSET,L=(O*2),N;if(K){K.style.width=(M.offsetWidth+L+"px");K.style.height=(M.offsetHeight+L+"px");N=this.cfg.getProperty("xy");if(!F.isArray(N)||(isNaN(N[0])||isNaN(N[1]))){this.syncPosition();N=this.cfg.getProperty("xy");}D.setXY(K,[(N[0]-O),(N[1]-O)]);}},stackIframe:function(){if(this.iframe){var K=D.getStyle(this.element,"zIndex");if(!YAHOO.lang.isUndefined(K)&&!isNaN(K)){D.setStyle(this.iframe,"zIndex",(K-1));}}},configIframe:function(N,M,O){var K=M[0];function P(){var R=this.iframe,S=this.element,T;if(!R){if(!G){G=document.createElement("iframe");if(this.isSecure){G.src=B.IFRAME_SRC;}if(YAHOO.env.ua.ie){G.style.filter="alpha(opacity=0)";G.frameBorder=0;}else{G.style.opacity="0";}G.style.position="absolute";G.style.border="none";G.style.margin="0";G.style.padding="0";G.style.display="none";}R=G.cloneNode(false);T=S.parentNode;var Q=T||document.body;this._addToParent(Q,R);this.iframe=R;}this.showIframe();this.syncIframe();this.stackIframe();if(!this._hasIframeEventListeners){this.showEvent.subscribe(this.showIframe);this.hideEvent.subscribe(this.hideIframe);this.changeContentEvent.subscribe(this.syncIframe);this._hasIframeEventListeners=true;}}function L(){P.call(this);this.beforeShowEvent.unsubscribe(L);this._iframeDeferred=false;}if(K){if(this.cfg.getProperty("visible")){P.call(this);}else{if(!this._iframeDeferred){this.beforeShowEvent.subscribe(L);this._iframeDeferred=true;}}}else{this.hideIframe();if(this._hasIframeEventListeners){this.showEvent.unsubscribe(this.showIframe);this.hideEvent.unsubscribe(this.hideIframe);this.changeContentEvent.unsubscribe(this.syncIframe);this._hasIframeEventListeners=false;}}},_primeXYFromDOM:function(){if(YAHOO.lang.isUndefined(this.cfg.getProperty("xy"))){this.syncPosition();this.cfg.refireEvent("xy");this.beforeShowEvent.unsubscribe(this._primeXYFromDOM);}},configConstrainToViewport:function(L,K,M){var N=K[0];if(N){if(!C.alreadySubscribed(this.beforeMoveEvent,this.enforceConstraints,this)){this.beforeMoveEvent.subscribe(this.enforceConstraints,this,true);}if(!C.alreadySubscribed(this.beforeShowEvent,this._primeXYFromDOM)){this.beforeShowEvent.subscribe(this._primeXYFromDOM);}}else{this.beforeShowEvent.unsubscribe(this._primeXYFromDOM);this.beforeMoveEvent.unsubscribe(this.enforceConstraints,this);}},configContext:function(M,L,O){var Q=L[0],N,P,K;if(Q){N=Q[0];P=Q[1];
-K=Q[2];if(N){if(typeof N=="string"){this.cfg.setProperty("context",[document.getElementById(N),P,K],true);}if(P&&K){this.align(P,K);}}}},align:function(L,K){var Q=this.cfg.getProperty("context"),P=this,O,N,R;function M(S,T){switch(L){case B.TOP_LEFT:P.moveTo(T,S);break;case B.TOP_RIGHT:P.moveTo((T-N.offsetWidth),S);break;case B.BOTTOM_LEFT:P.moveTo(T,(S-N.offsetHeight));break;case B.BOTTOM_RIGHT:P.moveTo((T-N.offsetWidth),(S-N.offsetHeight));break;}}if(Q){O=Q[0];N=this.element;P=this;if(!L){L=Q[1];}if(!K){K=Q[2];}if(N&&O){R=D.getRegion(O);switch(K){case B.TOP_LEFT:M(R.top,R.left);break;case B.TOP_RIGHT:M(R.top,R.right);break;case B.BOTTOM_LEFT:M(R.bottom,R.left);break;case B.BOTTOM_RIGHT:M(R.bottom,R.right);break;}}}},enforceConstraints:function(L,K,M){var O=K[0];var N=this.getConstrainedXY(O[0],O[1]);this.cfg.setProperty("x",N[0],true);this.cfg.setProperty("y",N[1],true);this.cfg.setProperty("xy",N,true);},getConstrainedXY:function(V,T){var N=B.VIEWPORT_OFFSET,U=D.getViewportWidth(),Q=D.getViewportHeight(),M=this.element.offsetHeight,S=this.element.offsetWidth,Y=D.getDocumentScrollLeft(),W=D.getDocumentScrollTop();var P=V;var L=T;if(S+N<U){var R=Y+N;var X=Y+U-S-N;if(V<R){P=R;}else{if(V>X){P=X;}}}else{P=N+Y;}if(M+N<Q){var O=W+N;var K=W+Q-M-N;if(T<O){L=O;}else{if(T>K){L=K;}}}else{L=N+W;}return[P,L];},center:function(){var N=B.VIEWPORT_OFFSET,O=this.element.offsetWidth,M=this.element.offsetHeight,L=D.getViewportWidth(),P=D.getViewportHeight(),K,Q;if(O<L){K=(L/2)-(O/2)+D.getDocumentScrollLeft();}else{K=N+D.getDocumentScrollLeft();}if(M<P){Q=(P/2)-(M/2)+D.getDocumentScrollTop();}else{Q=N+D.getDocumentScrollTop();}this.cfg.setProperty("xy",[parseInt(K,10),parseInt(Q,10)]);this.cfg.refireEvent("iframe");},syncPosition:function(){var K=D.getXY(this.element);this.cfg.setProperty("x",K[0],true);this.cfg.setProperty("y",K[1],true);this.cfg.setProperty("xy",K,true);},onDomResize:function(M,L){var K=this;B.superclass.onDomResize.call(this,M,L);setTimeout(function(){K.syncPosition();K.cfg.refireEvent("iframe");K.cfg.refireEvent("context");},0);},bringToTop:function(){var O=[],N=this.element;function R(V,U){var X=D.getStyle(V,"zIndex"),W=D.getStyle(U,"zIndex"),T=(!X||isNaN(X))?0:parseInt(X,10),S=(!W||isNaN(W))?0:parseInt(W,10);if(T>S){return -1;}else{if(T<S){return 1;}else{return 0;}}}function M(U){var S=D.hasClass(U,B.CSS_OVERLAY),T=YAHOO.widget.Panel;if(S&&!D.isAncestor(N,S)){if(T&&D.hasClass(U,T.CSS_PANEL)){O[O.length]=U.parentNode;}else{O[O.length]=U;}}}D.getElementsBy(M,"DIV",document.body);O.sort(R);var K=O[0],Q;if(K){Q=D.getStyle(K,"zIndex");if(!isNaN(Q)){var P=false;if(K!=N){P=true;}else{if(O.length>1){var L=D.getStyle(O[1],"zIndex");if(!isNaN(L)&&(Q==L)){P=true;}}}if(P){this.cfg.setProperty("zindex",(parseInt(Q,10)+2));}}}},destroy:function(){if(this.iframe){this.iframe.parentNode.removeChild(this.iframe);}this.iframe=null;B.windowResizeEvent.unsubscribe(this.doCenterOnDOMEvent,this);B.windowScrollEvent.unsubscribe(this.doCenterOnDOMEvent,this);B.superclass.destroy.call(this);},toString:function(){return"Overlay "+this.id;}});}());(function(){YAHOO.widget.OverlayManager=function(G){this.init(G);};var D=YAHOO.widget.Overlay,C=YAHOO.util.Event,E=YAHOO.util.Dom,B=YAHOO.util.Config,F=YAHOO.util.CustomEvent,A=YAHOO.widget.OverlayManager;A.CSS_FOCUSED="focused";A.prototype={constructor:A,overlays:null,initDefaultConfig:function(){this.cfg.addProperty("overlays",{suppressEvent:true});this.cfg.addProperty("focusevent",{value:"mousedown"});},init:function(I){this.cfg=new B(this);this.initDefaultConfig();if(I){this.cfg.applyConfig(I,true);}this.cfg.fireQueue();var H=null;this.getActive=function(){return H;};this.focus=function(J){var K=this.find(J);if(K){if(H!=K){if(H){H.blur();}this.bringToTop(K);H=K;E.addClass(H.element,A.CSS_FOCUSED);K.focusEvent.fire();}}};this.remove=function(K){var M=this.find(K),J;if(M){if(H==M){H=null;}var L=(M.element===null&&M.cfg===null)?true:false;if(!L){J=E.getStyle(M.element,"zIndex");M.cfg.setProperty("zIndex",-1000,true);}this.overlays.sort(this.compareZIndexDesc);this.overlays=this.overlays.slice(0,(this.overlays.length-1));M.hideEvent.unsubscribe(M.blur);M.destroyEvent.unsubscribe(this._onOverlayDestroy,M);if(!L){C.removeListener(M.element,this.cfg.getProperty("focusevent"),this._onOverlayElementFocus);M.cfg.setProperty("zIndex",J,true);M.cfg.setProperty("manager",null);}M.focusEvent.unsubscribeAll();M.blurEvent.unsubscribeAll();M.focusEvent=null;M.blurEvent=null;M.focus=null;M.blur=null;}};this.blurAll=function(){var K=this.overlays.length,J;if(K>0){J=K-1;do{this.overlays[J].blur();}while(J--);}};this._onOverlayBlur=function(K,J){H=null;};var G=this.cfg.getProperty("overlays");if(!this.overlays){this.overlays=[];}if(G){this.register(G);this.overlays.sort(this.compareZIndexDesc);}},_onOverlayElementFocus:function(I){var G=C.getTarget(I),H=this.close;if(H&&(G==H||E.isAncestor(H,G))){this.blur();}else{this.focus();}},_onOverlayDestroy:function(H,G,I){this.remove(I);},register:function(G){var K=this,L,I,H,J;if(G instanceof D){G.cfg.addProperty("manager",{value:this});G.focusEvent=G.createEvent("focus");G.focusEvent.signature=F.LIST;G.blurEvent=G.createEvent("blur");G.blurEvent.signature=F.LIST;G.focus=function(){K.focus(this);};G.blur=function(){if(K.getActive()==this){E.removeClass(this.element,A.CSS_FOCUSED);this.blurEvent.fire();}};G.blurEvent.subscribe(K._onOverlayBlur);G.hideEvent.subscribe(G.blur);G.destroyEvent.subscribe(this._onOverlayDestroy,G,this);C.on(G.element,this.cfg.getProperty("focusevent"),this._onOverlayElementFocus,null,G);L=E.getStyle(G.element,"zIndex");if(!isNaN(L)){G.cfg.setProperty("zIndex",parseInt(L,10));}else{G.cfg.setProperty("zIndex",0);}this.overlays.push(G);this.bringToTop(G);return true;}else{if(G instanceof Array){I=0;J=G.length;for(H=0;H<J;H++){if(this.register(G[H])){I++;}}if(I>0){return true;}}else{return false;}}},bringToTop:function(M){var I=this.find(M),L,G,J;if(I){J=this.overlays;J.sort(this.compareZIndexDesc);G=J[0];if(G){L=E.getStyle(G.element,"zIndex");
-if(!isNaN(L)){var K=false;if(G!==I){K=true;}else{if(J.length>1){var H=E.getStyle(J[1].element,"zIndex");if(!isNaN(H)&&(L==H)){K=true;}}}if(K){I.cfg.setProperty("zindex",(parseInt(L,10)+2));}}J.sort(this.compareZIndexDesc);}}},find:function(G){var I=this.overlays,J=I.length,H;if(J>0){H=J-1;if(G instanceof D){do{if(I[H]==G){return I[H];}}while(H--);}else{if(typeof G=="string"){do{if(I[H].id==G){return I[H];}}while(H--);}}return null;}},compareZIndexDesc:function(J,I){var H=(J.cfg)?J.cfg.getProperty("zIndex"):null,G=(I.cfg)?I.cfg.getProperty("zIndex"):null;if(H===null&&G===null){return 0;}else{if(H===null){return 1;}else{if(G===null){return -1;}else{if(H>G){return -1;}else{if(H<G){return 1;}else{return 0;}}}}}},showAll:function(){var H=this.overlays,I=H.length,G;if(I>0){G=I-1;do{H[G].show();}while(G--);}},hideAll:function(){var H=this.overlays,I=H.length,G;if(I>0){G=I-1;do{H[G].hide();}while(G--);}},toString:function(){return"OverlayManager";}};}());(function(){YAHOO.widget.Tooltip=function(N,M){YAHOO.widget.Tooltip.superclass.constructor.call(this,N,M);};var E=YAHOO.lang,L=YAHOO.util.Event,K=YAHOO.util.CustomEvent,C=YAHOO.util.Dom,G=YAHOO.widget.Tooltip,F,H={"PREVENT_OVERLAP":{key:"preventoverlap",value:true,validator:E.isBoolean,supercedes:["x","y","xy"]},"SHOW_DELAY":{key:"showdelay",value:200,validator:E.isNumber},"AUTO_DISMISS_DELAY":{key:"autodismissdelay",value:5000,validator:E.isNumber},"HIDE_DELAY":{key:"hidedelay",value:250,validator:E.isNumber},"TEXT":{key:"text",suppressEvent:true},"CONTAINER":{key:"container"},"DISABLED":{key:"disabled",value:false,suppressEvent:true}},A={"CONTEXT_MOUSE_OVER":"contextMouseOver","CONTEXT_MOUSE_OUT":"contextMouseOut","CONTEXT_TRIGGER":"contextTrigger"};G.CSS_TOOLTIP="yui-tt";function I(N,M,O){var R=O[0],P=O[1],Q=this.cfg,S=Q.getProperty("width");if(S==P){Q.setProperty("width",R);}this.unsubscribe("hide",this._onHide,O);}function D(N,M){var O=document.body,S=this.cfg,R=S.getProperty("width"),P,Q;if((!R||R=="auto")&&(S.getProperty("container")!=O||S.getProperty("x")>=C.getViewportWidth()||S.getProperty("y")>=C.getViewportHeight())){Q=this.element.cloneNode(true);Q.style.visibility="hidden";Q.style.top="0px";Q.style.left="0px";O.appendChild(Q);P=(Q.offsetWidth+"px");O.removeChild(Q);Q=null;S.setProperty("width",P);S.refireEvent("xy");this.subscribe("hide",I,[(R||""),P]);}}function B(N,M,O){this.render(O);}function J(){L.onDOMReady(B,this.cfg.getProperty("container"),this);}YAHOO.extend(G,YAHOO.widget.Overlay,{init:function(N,M){G.superclass.init.call(this,N);this.beforeInitEvent.fire(G);C.addClass(this.element,G.CSS_TOOLTIP);if(M){this.cfg.applyConfig(M,true);}this.cfg.queueProperty("visible",false);this.cfg.queueProperty("constraintoviewport",true);this.setBody("");this.subscribe("beforeShow",D);this.subscribe("init",J);this.subscribe("render",this.onRender);this.initEvent.fire(G);},initEvents:function(){G.superclass.initEvents.call(this);var M=K.LIST;this.contextMouseOverEvent=this.createEvent(A.CONTEXT_MOUSE_OVER);this.contextMouseOverEvent.signature=M;this.contextMouseOutEvent=this.createEvent(A.CONTEXT_MOUSE_OUT);this.contextMouseOutEvent.signature=M;this.contextTriggerEvent=this.createEvent(A.CONTEXT_TRIGGER);this.contextTriggerEvent.signature=M;},initDefaultConfig:function(){G.superclass.initDefaultConfig.call(this);this.cfg.addProperty(H.PREVENT_OVERLAP.key,{value:H.PREVENT_OVERLAP.value,validator:H.PREVENT_OVERLAP.validator,supercedes:H.PREVENT_OVERLAP.supercedes});this.cfg.addProperty(H.SHOW_DELAY.key,{handler:this.configShowDelay,value:200,validator:H.SHOW_DELAY.validator});this.cfg.addProperty(H.AUTO_DISMISS_DELAY.key,{handler:this.configAutoDismissDelay,value:H.AUTO_DISMISS_DELAY.value,validator:H.AUTO_DISMISS_DELAY.validator});this.cfg.addProperty(H.HIDE_DELAY.key,{handler:this.configHideDelay,value:H.HIDE_DELAY.value,validator:H.HIDE_DELAY.validator});this.cfg.addProperty(H.TEXT.key,{handler:this.configText,suppressEvent:H.TEXT.suppressEvent});this.cfg.addProperty(H.CONTAINER.key,{handler:this.configContainer,value:document.body});this.cfg.addProperty(H.DISABLED.key,{handler:this.configContainer,value:H.DISABLED.value,supressEvent:H.DISABLED.suppressEvent});},configText:function(N,M,O){var P=M[0];if(P){this.setBody(P);}},configContainer:function(O,N,P){var M=N[0];if(typeof M=="string"){this.cfg.setProperty("container",document.getElementById(M),true);}},_removeEventListeners:function(){var P=this._context,M,O,N;if(P){M=P.length;if(M>0){N=M-1;do{O=P[N];L.removeListener(O,"mouseover",this.onContextMouseOver);L.removeListener(O,"mousemove",this.onContextMouseMove);L.removeListener(O,"mouseout",this.onContextMouseOut);}while(N--);}}},configContext:function(R,N,S){var Q=N[0],T,M,P,O;if(Q){if(!(Q instanceof Array)){if(typeof Q=="string"){this.cfg.setProperty("context",[document.getElementById(Q)],true);}else{this.cfg.setProperty("context",[Q],true);}Q=this.cfg.getProperty("context");}this._removeEventListeners();this._context=Q;T=this._context;if(T){M=T.length;if(M>0){O=M-1;do{P=T[O];L.on(P,"mouseover",this.onContextMouseOver,this);L.on(P,"mousemove",this.onContextMouseMove,this);L.on(P,"mouseout",this.onContextMouseOut,this);}while(O--);}}}},onContextMouseMove:function(N,M){M.pageX=L.getPageX(N);M.pageY=L.getPageY(N);},onContextMouseOver:function(O,N){var M=this;if(M.title){N._tempTitle=M.title;M.title="";}if(N.fireEvent("contextMouseOver",M,O)!==false&&!N.cfg.getProperty("disabled")){if(N.hideProcId){clearTimeout(N.hideProcId);N.hideProcId=null;}L.on(M,"mousemove",N.onContextMouseMove,N);N.showProcId=N.doShow(O,M);}},onContextMouseOut:function(O,N){var M=this;if(N._tempTitle){M.title=N._tempTitle;N._tempTitle=null;}if(N.showProcId){clearTimeout(N.showProcId);N.showProcId=null;}if(N.hideProcId){clearTimeout(N.hideProcId);N.hideProcId=null;}N.fireEvent("contextMouseOut",M,O);N.hideProcId=setTimeout(function(){N.hide();},N.cfg.getProperty("hidedelay"));},doShow:function(O,M){var P=25,N=this;if(YAHOO.env.ua.opera&&M.tagName&&M.tagName.toUpperCase()=="A"){P+=12;
-}return setTimeout(function(){var Q=N.cfg.getProperty("text");if(N._tempTitle&&(Q===""||YAHOO.lang.isUndefined(Q)||YAHOO.lang.isNull(Q))){N.setBody(N._tempTitle);}else{N.cfg.refireEvent("text");}N.moveTo(N.pageX,N.pageY+P);if(N.cfg.getProperty("preventoverlap")){N.preventOverlap(N.pageX,N.pageY);}L.removeListener(M,"mousemove",N.onContextMouseMove);N.contextTriggerEvent.fire(M);N.show();N.hideProcId=N.doHide();},this.cfg.getProperty("showdelay"));},doHide:function(){var M=this;return setTimeout(function(){M.hide();},this.cfg.getProperty("autodismissdelay"));},preventOverlap:function(Q,P){var M=this.element.offsetHeight,O=new YAHOO.util.Point(Q,P),N=C.getRegion(this.element);N.top-=5;N.left-=5;N.right+=5;N.bottom+=5;if(N.contains(O)){this.cfg.setProperty("y",(P-M-5));}},onRender:function(Q,P){function R(){var U=this.element,T=this._shadow;if(T){T.style.width=(U.offsetWidth+6)+"px";T.style.height=(U.offsetHeight+1)+"px";}}function N(){C.addClass(this._shadow,"yui-tt-shadow-visible");}function M(){C.removeClass(this._shadow,"yui-tt-shadow-visible");}function S(){var V=this._shadow,U,T,X,W;if(!V){U=this.element;T=YAHOO.widget.Module;X=YAHOO.env.ua.ie;W=this;if(!F){F=document.createElement("div");F.className="yui-tt-shadow";}V=F.cloneNode(false);U.appendChild(V);this._shadow=V;N.call(this);this.subscribe("beforeShow",N);this.subscribe("beforeHide",M);if(X==6||(X==7&&document.compatMode=="BackCompat")){window.setTimeout(function(){R.call(W);},0);this.cfg.subscribeToConfigEvent("width",R);this.cfg.subscribeToConfigEvent("height",R);this.subscribe("changeContent",R);T.textResizeEvent.subscribe(R,this,true);this.subscribe("destroy",function(){T.textResizeEvent.unsubscribe(R,this);});}}}function O(){S.call(this);this.unsubscribe("beforeShow",O);}if(this.cfg.getProperty("visible")){S.call(this);}else{this.subscribe("beforeShow",O);}},destroy:function(){this._removeEventListeners();G.superclass.destroy.call(this);},toString:function(){return"Tooltip "+this.id;}});}());(function(){YAHOO.widget.Panel=function(R,Q){YAHOO.widget.Panel.superclass.constructor.call(this,R,Q);};var I=YAHOO.lang,E=YAHOO.util.DD,F=YAHOO.util.Dom,P=YAHOO.util.Event,B=YAHOO.widget.Overlay,O=YAHOO.util.CustomEvent,C=YAHOO.util.Config,N=YAHOO.widget.Panel,H,L,D,A={"SHOW_MASK":"showMask","HIDE_MASK":"hideMask","DRAG":"drag"},J={"CLOSE":{key:"close",value:true,validator:I.isBoolean,supercedes:["visible"]},"DRAGGABLE":{key:"draggable",value:(E?true:false),validator:I.isBoolean,supercedes:["visible"]},"DRAG_ONLY":{key:"dragonly",value:false,validator:I.isBoolean,supercedes:["draggable"]},"UNDERLAY":{key:"underlay",value:"shadow",supercedes:["visible"]},"MODAL":{key:"modal",value:false,validator:I.isBoolean,supercedes:["visible","zindex"]},"KEY_LISTENERS":{key:"keylisteners",suppressEvent:true,supercedes:["visible"]}};N.CSS_PANEL="yui-panel";N.CSS_PANEL_CONTAINER="yui-panel-container";N.FOCUSABLE=["a","button","select","textarea","input"];function M(R,Q){if(!this.header&&this.cfg.getProperty("draggable")){this.setHeader("&#160;");}}function K(R,Q,S){var V=S[0],T=S[1],U=this.cfg,W=U.getProperty("width");if(W==T){U.setProperty("width",V);}this.unsubscribe("hide",K,S);}function G(R,Q){var V=YAHOO.env.ua.ie,U,T,S;if(V==6||(V==7&&document.compatMode=="BackCompat")){U=this.cfg;T=U.getProperty("width");if(!T||T=="auto"){S=(this.element.offsetWidth+"px");U.setProperty("width",S);this.subscribe("hide",K,[(T||""),S]);}}}YAHOO.extend(N,B,{init:function(R,Q){N.superclass.init.call(this,R);this.beforeInitEvent.fire(N);F.addClass(this.element,N.CSS_PANEL);this.buildWrapper();if(Q){this.cfg.applyConfig(Q,true);}this.subscribe("showMask",this._addFocusHandlers);this.subscribe("hideMask",this._removeFocusHandlers);this.subscribe("beforeRender",M);this.initEvent.fire(N);},_onElementFocus:function(Q){this.blur();},_addFocusHandlers:function(Y,S){var V=this,Z="focus",U="hidden";function X(a){if(a.type!==U&&!F.isAncestor(V.element,a)){P.on(a,Z,V._onElementFocus);return true;}return false;}var W=N.FOCUSABLE,Q=W.length,T=[];for(var R=0;R<Q;R++){T=T.concat(F.getElementsBy(X,W[R]));}this.focusableElements=T;},_removeFocusHandlers:function(T,S){var V=this.focusableElements,Q=V.length,R="focus";if(V){for(var U=0;U<Q;U++){P.removeListener(V[U],R,this._onElementFocus);}}},initEvents:function(){N.superclass.initEvents.call(this);var Q=O.LIST;this.showMaskEvent=this.createEvent(A.SHOW_MASK);this.showMaskEvent.signature=Q;this.hideMaskEvent=this.createEvent(A.HIDE_MASK);this.hideMaskEvent.signature=Q;this.dragEvent=this.createEvent(A.DRAG);this.dragEvent.signature=Q;},initDefaultConfig:function(){N.superclass.initDefaultConfig.call(this);this.cfg.addProperty(J.CLOSE.key,{handler:this.configClose,value:J.CLOSE.value,validator:J.CLOSE.validator,supercedes:J.CLOSE.supercedes});this.cfg.addProperty(J.DRAGGABLE.key,{handler:this.configDraggable,value:J.DRAGGABLE.value,validator:J.DRAGGABLE.validator,supercedes:J.DRAGGABLE.supercedes});this.cfg.addProperty(J.DRAG_ONLY.key,{value:J.DRAG_ONLY.value,validator:J.DRAG_ONLY.validator,supercedes:J.DRAG_ONLY.supercedes});this.cfg.addProperty(J.UNDERLAY.key,{handler:this.configUnderlay,value:J.UNDERLAY.value,supercedes:J.UNDERLAY.supercedes});this.cfg.addProperty(J.MODAL.key,{handler:this.configModal,value:J.MODAL.value,validator:J.MODAL.validator,supercedes:J.MODAL.supercedes});this.cfg.addProperty(J.KEY_LISTENERS.key,{handler:this.configKeyListeners,suppressEvent:J.KEY_LISTENERS.suppressEvent,supercedes:J.KEY_LISTENERS.supercedes});},configClose:function(S,Q,U){var V=Q[0],R=this.close;function T(X,W){W.hide();}if(V){if(!R){if(!D){D=document.createElement("span");D.innerHTML="&#160;";D.className="container-close";}R=D.cloneNode(true);this.innerElement.appendChild(R);P.on(R,"click",T,this);this.close=R;}else{R.style.display="block";}}else{if(R){R.style.display="none";}}},configDraggable:function(R,Q,S){var T=Q[0];if(T){if(!E){this.cfg.setProperty("draggable",false);return ;}if(this.header){F.setStyle(this.header,"cursor","move");this.registerDragDrop();
-}this.subscribe("beforeShow",G);}else{if(this.dd){this.dd.unreg();}if(this.header){F.setStyle(this.header,"cursor","auto");}this.unsubscribe("beforeShow",G);}},configUnderlay:function(b,a,V){var Z=YAHOO.env.ua,X=(this.platform=="mac"&&Z.gecko),Y=(Z.ie==6||(Z.ie==7&&document.compatMode=="BackCompat")),c=a[0].toLowerCase(),R=this.underlay,S=this.element;function d(){var e=this.underlay;F.addClass(e,"yui-force-redraw");window.setTimeout(function(){F.removeClass(e,"yui-force-redraw");},0);}function T(){var e=false;if(!R){if(!L){L=document.createElement("div");L.className="underlay";}R=L.cloneNode(false);this.element.appendChild(R);this.underlay=R;if(Y){this.sizeUnderlay();this.cfg.subscribeToConfigEvent("width",this.sizeUnderlay);this.cfg.subscribeToConfigEvent("height",this.sizeUnderlay);this.changeContentEvent.subscribe(this.sizeUnderlay);YAHOO.widget.Module.textResizeEvent.subscribe(this.sizeUnderlay,this,true);}if(Z.webkit&&Z.webkit<420){this.changeContentEvent.subscribe(d);}e=true;}}function W(){var e=T.call(this);if(!e&&Y){this.sizeUnderlay();}this._underlayDeferred=false;this.beforeShowEvent.unsubscribe(W);}function U(){if(this._underlayDeferred){this.beforeShowEvent.unsubscribe(W);this._underlayDeferred=false;}if(R){this.cfg.unsubscribeFromConfigEvent("width",this.sizeUnderlay);this.cfg.unsubscribeFromConfigEvent("height",this.sizeUnderlay);this.changeContentEvent.unsubscribe(this.sizeUnderlay);this.changeContentEvent.unsubscribe(d);YAHOO.widget.Module.textResizeEvent.unsubscribe(this.sizeUnderlay,this,true);this.element.removeChild(R);this.underlay=null;}}switch(c){case"shadow":F.removeClass(S,"matte");F.addClass(S,"shadow");break;case"matte":if(!X){U.call(this);}F.removeClass(S,"shadow");F.addClass(S,"matte");break;default:if(!X){U.call(this);}F.removeClass(S,"shadow");F.removeClass(S,"matte");break;}if((c=="shadow")||(X&&!R)){if(this.cfg.getProperty("visible")){var Q=T.call(this);if(!Q&&Y){this.sizeUnderlay();}}else{if(!this._underlayDeferred){this.beforeShowEvent.subscribe(W);this._underlayDeferred=true;}}}},configModal:function(R,Q,T){var S=Q[0];if(S){if(!this._hasModalityEventListeners){this.subscribe("beforeShow",this.buildMask);this.subscribe("beforeShow",this.bringToTop);this.subscribe("beforeShow",this.showMask);this.subscribe("hide",this.hideMask);B.windowResizeEvent.subscribe(this.sizeMask,this,true);this._hasModalityEventListeners=true;}}else{if(this._hasModalityEventListeners){if(this.cfg.getProperty("visible")){this.hideMask();this.removeMask();}this.unsubscribe("beforeShow",this.buildMask);this.unsubscribe("beforeShow",this.bringToTop);this.unsubscribe("beforeShow",this.showMask);this.unsubscribe("hide",this.hideMask);B.windowResizeEvent.unsubscribe(this.sizeMask,this);this._hasModalityEventListeners=false;}}},removeMask:function(){var R=this.mask,Q;if(R){this.hideMask();Q=R.parentNode;if(Q){Q.removeChild(R);}this.mask=null;}},configKeyListeners:function(T,Q,W){var S=Q[0],V,U,R;if(S){if(S instanceof Array){U=S.length;for(R=0;R<U;R++){V=S[R];if(!C.alreadySubscribed(this.showEvent,V.enable,V)){this.showEvent.subscribe(V.enable,V,true);}if(!C.alreadySubscribed(this.hideEvent,V.disable,V)){this.hideEvent.subscribe(V.disable,V,true);this.destroyEvent.subscribe(V.disable,V,true);}}}else{if(!C.alreadySubscribed(this.showEvent,S.enable,S)){this.showEvent.subscribe(S.enable,S,true);}if(!C.alreadySubscribed(this.hideEvent,S.disable,S)){this.hideEvent.subscribe(S.disable,S,true);this.destroyEvent.subscribe(S.disable,S,true);}}}},configHeight:function(T,R,U){var Q=R[0],S=this.innerElement;F.setStyle(S,"height",Q);this.cfg.refireEvent("iframe");},configWidth:function(T,Q,U){var S=Q[0],R=this.innerElement;F.setStyle(R,"width",S);this.cfg.refireEvent("iframe");},configzIndex:function(R,Q,T){N.superclass.configzIndex.call(this,R,Q,T);if(this.mask||this.cfg.getProperty("modal")===true){var S=F.getStyle(this.element,"zIndex");if(!S||isNaN(S)){S=0;}if(S===0){this.cfg.setProperty("zIndex",1);}else{this.stackMask();}}},buildWrapper:function(){var S=this.element.parentNode,Q=this.element,R=document.createElement("div");R.className=N.CSS_PANEL_CONTAINER;R.id=Q.id+"_c";if(S){S.insertBefore(R,Q);}R.appendChild(Q);this.element=R;this.innerElement=Q;F.setStyle(this.innerElement,"visibility","inherit");},sizeUnderlay:function(){var R=this.underlay,Q;if(R){Q=this.element;R.style.width=Q.offsetWidth+"px";R.style.height=Q.offsetHeight+"px";}},registerDragDrop:function(){var R=this;if(this.header){if(!E){return ;}var Q=(this.cfg.getProperty("dragonly")===true);this.dd=new E(this.element.id,this.id,{dragOnly:Q});if(!this.header.id){this.header.id=this.id+"_h";}this.dd.startDrag=function(){var T,V,S,Y,X,W;if(YAHOO.env.ua.ie==6){F.addClass(R.element,"drag");}if(R.cfg.getProperty("constraintoviewport")){var U=B.VIEWPORT_OFFSET;T=R.element.offsetHeight;V=R.element.offsetWidth;S=F.getViewportWidth();Y=F.getViewportHeight();X=F.getDocumentScrollLeft();W=F.getDocumentScrollTop();if(T+U<Y){this.minY=W+U;this.maxY=W+Y-T-U;}else{this.minY=W+U;this.maxY=W+U;}if(V+U<S){this.minX=X+U;this.maxX=X+S-V-U;}else{this.minX=X+U;this.maxX=X+U;}this.constrainX=true;this.constrainY=true;}else{this.constrainX=false;this.constrainY=false;}R.dragEvent.fire("startDrag",arguments);};this.dd.onDrag=function(){R.syncPosition();R.cfg.refireEvent("iframe");if(this.platform=="mac"&&YAHOO.env.ua.gecko){this.showMacGeckoScrollbars();}R.dragEvent.fire("onDrag",arguments);};this.dd.endDrag=function(){if(YAHOO.env.ua.ie==6){F.removeClass(R.element,"drag");}R.dragEvent.fire("endDrag",arguments);R.moveEvent.fire(R.cfg.getProperty("xy"));};this.dd.setHandleElId(this.header.id);this.dd.addInvalidHandleType("INPUT");this.dd.addInvalidHandleType("SELECT");this.dd.addInvalidHandleType("TEXTAREA");}},buildMask:function(){var Q=this.mask;if(!Q){if(!H){H=document.createElement("div");H.className="mask";H.innerHTML="&#160;";}Q=H.cloneNode(true);Q.id=this.id+"_mask";document.body.insertBefore(Q,document.body.firstChild);this.mask=Q;if(YAHOO.env.ua.gecko&&this.platform=="mac"){F.addClass(this.mask,"block-scrollbars");
-}this.stackMask();}},hideMask:function(){if(this.cfg.getProperty("modal")&&this.mask){this.mask.style.display="none";this.hideMaskEvent.fire();F.removeClass(document.body,"masked");}},showMask:function(){if(this.cfg.getProperty("modal")&&this.mask){F.addClass(document.body,"masked");this.sizeMask();this.mask.style.display="block";this.showMaskEvent.fire();}},sizeMask:function(){if(this.mask){this.mask.style.height=F.getDocumentHeight()+"px";this.mask.style.width=F.getDocumentWidth()+"px";}},stackMask:function(){if(this.mask){var Q=F.getStyle(this.element,"zIndex");if(!YAHOO.lang.isUndefined(Q)&&!isNaN(Q)){F.setStyle(this.mask,"zIndex",Q-1);}}},render:function(Q){return N.superclass.render.call(this,Q,this.innerElement);},destroy:function(){B.windowResizeEvent.unsubscribe(this.sizeMask,this);this.removeMask();if(this.close){P.purgeElement(this.close);}N.superclass.destroy.call(this);},toString:function(){return"Panel "+this.id;}});}());(function(){YAHOO.widget.Dialog=function(L,K){YAHOO.widget.Dialog.superclass.constructor.call(this,L,K);};var J=YAHOO.util.Event,I=YAHOO.util.CustomEvent,D=YAHOO.util.Dom,B=YAHOO.util.KeyListener,H=YAHOO.util.Connect,F=YAHOO.widget.Dialog,E=YAHOO.lang,A={"BEFORE_SUBMIT":"beforeSubmit","SUBMIT":"submit","MANUAL_SUBMIT":"manualSubmit","ASYNC_SUBMIT":"asyncSubmit","FORM_SUBMIT":"formSubmit","CANCEL":"cancel"},G={"POST_METHOD":{key:"postmethod",value:"async"},"BUTTONS":{key:"buttons",value:"none"},"HIDEAFTERSUBMIT":{key:"hideaftersubmit",value:true}};F.CSS_DIALOG="yui-dialog";function C(){var N=this._aButtons,L,M,K;if(E.isArray(N)){L=N.length;if(L>0){K=L-1;do{M=N[K];if(YAHOO.widget.Button&&M instanceof YAHOO.widget.Button){M.destroy();}else{if(M.tagName.toUpperCase()=="BUTTON"){J.purgeElement(M);J.purgeElement(M,false);}}}while(K--);}}}YAHOO.extend(F,YAHOO.widget.Panel,{form:null,initDefaultConfig:function(){F.superclass.initDefaultConfig.call(this);this.callback={success:null,failure:null,argument:null};this.cfg.addProperty(G.POST_METHOD.key,{handler:this.configPostMethod,value:G.POST_METHOD.value,validator:function(K){if(K!="form"&&K!="async"&&K!="none"&&K!="manual"){return false;}else{return true;}}});this.cfg.addProperty(G.HIDEAFTERSUBMIT.key,{value:G.HIDEAFTERSUBMIT.value});this.cfg.addProperty(G.BUTTONS.key,{handler:this.configButtons,value:G.BUTTONS.value});},initEvents:function(){F.superclass.initEvents.call(this);var K=I.LIST;this.beforeSubmitEvent=this.createEvent(A.BEFORE_SUBMIT);this.beforeSubmitEvent.signature=K;this.submitEvent=this.createEvent(A.SUBMIT);this.submitEvent.signature=K;this.manualSubmitEvent=this.createEvent(A.MANUAL_SUBMIT);this.manualSubmitEvent.signature=K;this.asyncSubmitEvent=this.createEvent(A.ASYNC_SUBMIT);this.asyncSubmitEvent.signature=K;this.formSubmitEvent=this.createEvent(A.FORM_SUBMIT);this.formSubmitEvent.signature=K;this.cancelEvent=this.createEvent(A.CANCEL);this.cancelEvent.signature=K;},init:function(L,K){F.superclass.init.call(this,L);this.beforeInitEvent.fire(F);D.addClass(this.element,F.CSS_DIALOG);this.cfg.setProperty("visible",false);if(K){this.cfg.applyConfig(K,true);}this.showEvent.subscribe(this.focusFirst,this,true);this.beforeHideEvent.subscribe(this.blurButtons,this,true);this.subscribe("changeBody",this.registerForm);this.initEvent.fire(F);},doSubmit:function(){var Q=this.form,O=false,N=false,P,K,M,L;switch(this.cfg.getProperty("postmethod")){case"async":P=Q.elements;K=P.length;if(K>0){M=K-1;do{if(P[M].type=="file"){O=true;break;}}while(M--);}if(O&&YAHOO.env.ua.ie&&this.isSecure){N=true;}L=(Q.getAttribute("method")||"POST").toUpperCase();H.setForm(Q,O,N);H.asyncRequest(L,Q.getAttribute("action"),this.callback);this.asyncSubmitEvent.fire();break;case"form":Q.submit();this.formSubmitEvent.fire();break;case"none":case"manual":this.manualSubmitEvent.fire();break;}},registerForm:function(){var M=this.element.getElementsByTagName("form")[0],L=this,K,N;if(this.form){if(this.form==M&&D.isAncestor(this.element,this.form)){return ;}else{J.purgeElement(this.form);this.form=null;}}if(!M){M=document.createElement("form");M.name="frm_"+this.id;this.body.appendChild(M);}if(M){this.form=M;J.on(M,"submit",function(O){J.stopEvent(O);this.submit();this.form.blur();},this,true);this.firstFormElement=function(){var Q,P,O=M.elements.length;for(Q=0;Q<O;Q++){P=M.elements[Q];if(P.focus&&!P.disabled&&P.type!="hidden"){return P;}}return null;}();this.lastFormElement=function(){var Q,P,O=M.elements.length;for(Q=O-1;Q>=0;Q--){P=M.elements[Q];if(P.focus&&!P.disabled&&P.type!="hidden"){return P;}}return null;}();if(this.cfg.getProperty("modal")){K=this.firstFormElement||this.firstButton;if(K){this.preventBackTab=new B(K,{shift:true,keys:9},{fn:L.focusLast,scope:L,correctScope:true});this.showEvent.subscribe(this.preventBackTab.enable,this.preventBackTab,true);this.hideEvent.subscribe(this.preventBackTab.disable,this.preventBackTab,true);}N=this.lastButton||this.lastFormElement;if(N){this.preventTabOut=new B(N,{shift:false,keys:9},{fn:L.focusFirst,scope:L,correctScope:true});this.showEvent.subscribe(this.preventTabOut.enable,this.preventTabOut,true);this.hideEvent.subscribe(this.preventTabOut.disable,this.preventTabOut,true);}}}},configClose:function(M,K,N){var O=K[0];function L(Q,P){P.cancel();}if(O){if(!this.close){this.close=document.createElement("div");D.addClass(this.close,"container-close");this.close.innerHTML="&#160;";this.innerElement.appendChild(this.close);J.on(this.close,"click",L,this);}else{this.close.style.display="block";}}else{if(this.close){this.close.style.display="none";}}},configButtons:function(U,T,O){var P=YAHOO.widget.Button,W=T[0],M=this.innerElement,V,R,L,S,Q,K,N;C.call(this);this._aButtons=null;if(E.isArray(W)){Q=document.createElement("span");Q.className="button-group";S=W.length;this._aButtons=[];for(N=0;N<S;N++){V=W[N];if(P){L=new P({label:V.text,container:Q});R=L.get("element");if(V.isDefault){L.addClass("default");this.defaultHtmlButton=R;}if(E.isFunction(V.handler)){L.set("onclick",{fn:V.handler,obj:this,scope:this});
-}else{if(E.isObject(V.handler)&&E.isFunction(V.handler.fn)){L.set("onclick",{fn:V.handler.fn,obj:((!E.isUndefined(V.handler.obj))?V.handler.obj:this),scope:(V.handler.scope||this)});}}this._aButtons[this._aButtons.length]=L;}else{R=document.createElement("button");R.setAttribute("type","button");if(V.isDefault){R.className="default";this.defaultHtmlButton=R;}R.innerHTML=V.text;if(E.isFunction(V.handler)){J.on(R,"click",V.handler,this,true);}else{if(E.isObject(V.handler)&&E.isFunction(V.handler.fn)){J.on(R,"click",V.handler.fn,((!E.isUndefined(V.handler.obj))?V.handler.obj:this),(V.handler.scope||this));}}Q.appendChild(R);this._aButtons[this._aButtons.length]=R;}V.htmlButton=R;if(N===0){this.firstButton=R;}if(N==(S-1)){this.lastButton=R;}}this.setFooter(Q);K=this.footer;if(D.inDocument(this.element)&&!D.isAncestor(M,K)){M.appendChild(K);}this.buttonSpan=Q;}else{Q=this.buttonSpan;K=this.footer;if(Q&&K){K.removeChild(Q);this.buttonSpan=null;this.firstButton=null;this.lastButton=null;this.defaultHtmlButton=null;}}this.cfg.refireEvent("iframe");this.cfg.refireEvent("underlay");},getButtons:function(){var K=this._aButtons;if(K){return K;}},focusFirst:function(N,L,P){var M=this.firstFormElement,K;if(L){K=L[1];if(K){J.stopEvent(K);}}if(M){try{M.focus();}catch(O){}}else{this.focusDefaultButton();}},focusLast:function(N,L,P){var Q=this.cfg.getProperty("buttons"),M=this.lastFormElement,K;if(L){K=L[1];if(K){J.stopEvent(K);}}if(Q&&E.isArray(Q)){this.focusLastButton();}else{if(M){try{M.focus();}catch(O){}}}},focusDefaultButton:function(){var K=this.defaultHtmlButton;if(K){try{K.focus();}catch(L){}}},blurButtons:function(){var P=this.cfg.getProperty("buttons"),M,O,L,K;if(P&&E.isArray(P)){M=P.length;if(M>0){K=(M-1);do{O=P[K];if(O){L=O.htmlButton;if(L){try{L.blur();}catch(N){}}}}while(K--);}}},focusFirstButton:function(){var N=this.cfg.getProperty("buttons"),M,K;if(N&&E.isArray(N)){M=N[0];if(M){K=M.htmlButton;if(K){try{K.focus();}catch(L){}}}}},focusLastButton:function(){var O=this.cfg.getProperty("buttons"),L,N,K;if(O&&E.isArray(O)){L=O.length;if(L>0){N=O[(L-1)];if(N){K=N.htmlButton;if(K){try{K.focus();}catch(M){}}}}}},configPostMethod:function(L,K,M){this.registerForm();},validate:function(){return true;},submit:function(){if(this.validate()){this.beforeSubmitEvent.fire();this.doSubmit();this.submitEvent.fire();if(this.cfg.getProperty("hideaftersubmit")){this.hide();}return true;}else{return false;}},cancel:function(){this.cancelEvent.fire();this.hide();},getData:function(){var a=this.form,M,T,W,O,U,R,Q,L,X,N,Y,b,K,P,c,Z,V;function S(e){var d=e.tagName.toUpperCase();return((d=="INPUT"||d=="TEXTAREA"||d=="SELECT")&&e.name==O);}if(a){M=a.elements;T=M.length;W={};for(Z=0;Z<T;Z++){O=M[Z].name;U=D.getElementsBy(S,"*",a);R=U.length;if(R>0){if(R==1){U=U[0];Q=U.type;L=U.tagName.toUpperCase();switch(L){case"INPUT":if(Q=="checkbox"){W[O]=U.checked;}else{if(Q!="radio"){W[O]=U.value;}}break;case"TEXTAREA":W[O]=U.value;break;case"SELECT":X=U.options;N=X.length;Y=[];for(V=0;V<N;V++){b=X[V];if(b.selected){K=b.value;if(!K||K===""){K=b.text;}Y[Y.length]=K;}}W[O]=Y;break;}}else{Q=U[0].type;switch(Q){case"radio":for(V=0;V<R;V++){P=U[V];if(P.checked){W[O]=P.value;break;}}break;case"checkbox":Y=[];for(V=0;V<R;V++){c=U[V];if(c.checked){Y[Y.length]=c.value;}}W[O]=Y;break;}}}}}return W;},destroy:function(){C.call(this);this._aButtons=null;var K=this.element.getElementsByTagName("form"),L;if(K.length>0){L=K[0];if(L){J.purgeElement(L);if(L.parentNode){L.parentNode.removeChild(L);}this.form=null;}}F.superclass.destroy.call(this);},toString:function(){return"Dialog "+this.id;}});}());(function(){YAHOO.widget.SimpleDialog=function(E,D){YAHOO.widget.SimpleDialog.superclass.constructor.call(this,E,D);};var C=YAHOO.util.Dom,B=YAHOO.widget.SimpleDialog,A={"ICON":{key:"icon",value:"none",suppressEvent:true},"TEXT":{key:"text",value:"",suppressEvent:true,supercedes:["icon"]}};B.ICON_BLOCK="blckicon";B.ICON_ALARM="alrticon";B.ICON_HELP="hlpicon";B.ICON_INFO="infoicon";B.ICON_WARN="warnicon";B.ICON_TIP="tipicon";B.ICON_CSS_CLASSNAME="yui-icon";B.CSS_SIMPLEDIALOG="yui-simple-dialog";YAHOO.extend(B,YAHOO.widget.Dialog,{initDefaultConfig:function(){B.superclass.initDefaultConfig.call(this);this.cfg.addProperty(A.ICON.key,{handler:this.configIcon,value:A.ICON.value,suppressEvent:A.ICON.suppressEvent});this.cfg.addProperty(A.TEXT.key,{handler:this.configText,value:A.TEXT.value,suppressEvent:A.TEXT.suppressEvent,supercedes:A.TEXT.supercedes});},init:function(E,D){B.superclass.init.call(this,E);this.beforeInitEvent.fire(B);C.addClass(this.element,B.CSS_SIMPLEDIALOG);this.cfg.queueProperty("postmethod","manual");if(D){this.cfg.applyConfig(D,true);}this.beforeRenderEvent.subscribe(function(){if(!this.body){this.setBody("");}},this,true);this.initEvent.fire(B);},registerForm:function(){B.superclass.registerForm.call(this);this.form.innerHTML+='<input type="hidden" name="'+this.id+'" value=""/>';},configIcon:function(F,E,J){var K=E[0],D=this.body,I=B.ICON_CSS_CLASSNAME,H,G;if(K&&K!="none"){H=C.getElementsByClassName(I,"*",D);if(H){G=H.parentNode;if(G){G.removeChild(H);H=null;}}if(K.indexOf(".")==-1){H=document.createElement("span");H.className=(I+" "+K);H.innerHTML="&#160;";}else{H=document.createElement("img");H.src=(this.imageRoot+K);H.className=I;}if(H){D.insertBefore(H,D.firstChild);}}},configText:function(E,D,F){var G=D[0];if(G){this.setBody(G);this.cfg.refireEvent("icon");}},toString:function(){return"SimpleDialog "+this.id;}});}());(function(){YAHOO.widget.ContainerEffect=function(F,I,H,E,G){if(!G){G=YAHOO.util.Anim;}this.overlay=F;this.attrIn=I;this.attrOut=H;this.targetElement=E||F.element;this.animClass=G;};var B=YAHOO.util.Dom,D=YAHOO.util.CustomEvent,C=YAHOO.util.Easing,A=YAHOO.widget.ContainerEffect;A.FADE=function(E,G){var I={attributes:{opacity:{from:0,to:1}},duration:G,method:C.easeIn};var F={attributes:{opacity:{to:0}},duration:G,method:C.easeOut};var H=new A(E,I,F,E.element);H.handleUnderlayStart=function(){var K=this.overlay.underlay;
-if(K&&YAHOO.env.ua.ie){var J=(K.filters&&K.filters.length>0);if(J){B.addClass(E.element,"yui-effect-fade");}}};H.handleUnderlayComplete=function(){var J=this.overlay.underlay;if(J&&YAHOO.env.ua.ie){B.removeClass(E.element,"yui-effect-fade");}};H.handleStartAnimateIn=function(K,J,L){B.addClass(L.overlay.element,"hide-select");if(!L.overlay.underlay){L.overlay.cfg.refireEvent("underlay");}L.handleUnderlayStart();B.setStyle(L.overlay.element,"visibility","visible");B.setStyle(L.overlay.element,"opacity",0);};H.handleCompleteAnimateIn=function(K,J,L){B.removeClass(L.overlay.element,"hide-select");if(L.overlay.element.style.filter){L.overlay.element.style.filter=null;}L.handleUnderlayComplete();L.overlay.cfg.refireEvent("iframe");L.animateInCompleteEvent.fire();};H.handleStartAnimateOut=function(K,J,L){B.addClass(L.overlay.element,"hide-select");L.handleUnderlayStart();};H.handleCompleteAnimateOut=function(K,J,L){B.removeClass(L.overlay.element,"hide-select");if(L.overlay.element.style.filter){L.overlay.element.style.filter=null;}B.setStyle(L.overlay.element,"visibility","hidden");B.setStyle(L.overlay.element,"opacity",1);L.handleUnderlayComplete();L.overlay.cfg.refireEvent("iframe");L.animateOutCompleteEvent.fire();};H.init();return H;};A.SLIDE=function(G,I){var F=G.cfg.getProperty("x")||B.getX(G.element),K=G.cfg.getProperty("y")||B.getY(G.element),J=B.getClientWidth(),H=G.element.offsetWidth,E=new A(G,{attributes:{points:{to:[F,K]}},duration:I,method:C.easeIn},{attributes:{points:{to:[(J+25),K]}},duration:I,method:C.easeOut},G.element,YAHOO.util.Motion);E.handleStartAnimateIn=function(M,L,N){N.overlay.element.style.left=((-25)-H)+"px";N.overlay.element.style.top=K+"px";};E.handleTweenAnimateIn=function(O,N,P){var Q=B.getXY(P.overlay.element),M=Q[0],L=Q[1];if(B.getStyle(P.overlay.element,"visibility")=="hidden"&&M<F){B.setStyle(P.overlay.element,"visibility","visible");}P.overlay.cfg.setProperty("xy",[M,L],true);P.overlay.cfg.refireEvent("iframe");};E.handleCompleteAnimateIn=function(M,L,N){N.overlay.cfg.setProperty("xy",[F,K],true);N.startX=F;N.startY=K;N.overlay.cfg.refireEvent("iframe");N.animateInCompleteEvent.fire();};E.handleStartAnimateOut=function(M,L,P){var N=B.getViewportWidth(),Q=B.getXY(P.overlay.element),O=Q[1];P.animOut.attributes.points.to=[(N+25),O];};E.handleTweenAnimateOut=function(N,M,O){var Q=B.getXY(O.overlay.element),L=Q[0],P=Q[1];O.overlay.cfg.setProperty("xy",[L,P],true);O.overlay.cfg.refireEvent("iframe");};E.handleCompleteAnimateOut=function(M,L,N){B.setStyle(N.overlay.element,"visibility","hidden");N.overlay.cfg.setProperty("xy",[F,K]);N.animateOutCompleteEvent.fire();};E.init();return E;};A.prototype={init:function(){this.beforeAnimateInEvent=this.createEvent("beforeAnimateIn");this.beforeAnimateInEvent.signature=D.LIST;this.beforeAnimateOutEvent=this.createEvent("beforeAnimateOut");this.beforeAnimateOutEvent.signature=D.LIST;this.animateInCompleteEvent=this.createEvent("animateInComplete");this.animateInCompleteEvent.signature=D.LIST;this.animateOutCompleteEvent=this.createEvent("animateOutComplete");this.animateOutCompleteEvent.signature=D.LIST;this.animIn=new this.animClass(this.targetElement,this.attrIn.attributes,this.attrIn.duration,this.attrIn.method);this.animIn.onStart.subscribe(this.handleStartAnimateIn,this);this.animIn.onTween.subscribe(this.handleTweenAnimateIn,this);this.animIn.onComplete.subscribe(this.handleCompleteAnimateIn,this);this.animOut=new this.animClass(this.targetElement,this.attrOut.attributes,this.attrOut.duration,this.attrOut.method);this.animOut.onStart.subscribe(this.handleStartAnimateOut,this);this.animOut.onTween.subscribe(this.handleTweenAnimateOut,this);this.animOut.onComplete.subscribe(this.handleCompleteAnimateOut,this);},animateIn:function(){this.beforeAnimateInEvent.fire();this.animIn.animate();},animateOut:function(){this.beforeAnimateOutEvent.fire();this.animOut.animate();},handleStartAnimateIn:function(F,E,G){},handleTweenAnimateIn:function(F,E,G){},handleCompleteAnimateIn:function(F,E,G){},handleStartAnimateOut:function(F,E,G){},handleTweenAnimateOut:function(F,E,G){},handleCompleteAnimateOut:function(F,E,G){},toString:function(){var E="ContainerEffect";if(this.overlay){E+=" ["+this.overlay.toString()+"]";}return E;}};YAHOO.lang.augmentProto(A,YAHOO.util.EventProvider);})();YAHOO.register("container",YAHOO.widget.Module,{version:"2.5.1",build:"984"});
\ No newline at end of file
diff --git a/koha-tmpl/opac-tmpl/prog/en/lib/yui/container/container_core-min.js b/koha-tmpl/opac-tmpl/prog/en/lib/yui/container/container_core-min.js
deleted file mode 100644 (file)
index 10b3ec2..0000000
+++ /dev/null
@@ -1,12 +0,0 @@
-/*
-Copyright (c) 2008, Yahoo! Inc. All rights reserved.
-Code licensed under the BSD License:
-http://developer.yahoo.net/yui/license.txt
-version: 2.5.1
-*/
-(function(){YAHOO.util.Config=function(D){if(D){this.init(D);}};var B=YAHOO.lang,C=YAHOO.util.CustomEvent,A=YAHOO.util.Config;A.CONFIG_CHANGED_EVENT="configChanged";A.BOOLEAN_TYPE="boolean";A.prototype={owner:null,queueInProgress:false,config:null,initialConfig:null,eventQueue:null,configChangedEvent:null,init:function(D){this.owner=D;this.configChangedEvent=this.createEvent(A.CONFIG_CHANGED_EVENT);this.configChangedEvent.signature=C.LIST;this.queueInProgress=false;this.config={};this.initialConfig={};this.eventQueue=[];},checkBoolean:function(D){return(typeof D==A.BOOLEAN_TYPE);},checkNumber:function(D){return(!isNaN(D));},fireEvent:function(D,F){var E=this.config[D];if(E&&E.event){E.event.fire(F);}},addProperty:function(E,D){E=E.toLowerCase();this.config[E]=D;D.event=this.createEvent(E,{scope:this.owner});D.event.signature=C.LIST;D.key=E;if(D.handler){D.event.subscribe(D.handler,this.owner);}this.setProperty(E,D.value,true);if(!D.suppressEvent){this.queueProperty(E,D.value);}},getConfig:function(){var D={},F,E;for(F in this.config){E=this.config[F];if(E&&E.event){D[F]=E.value;}}return D;},getProperty:function(D){var E=this.config[D.toLowerCase()];if(E&&E.event){return E.value;}else{return undefined;}},resetProperty:function(D){D=D.toLowerCase();var E=this.config[D];if(E&&E.event){if(this.initialConfig[D]&&!B.isUndefined(this.initialConfig[D])){this.setProperty(D,this.initialConfig[D]);return true;}}else{return false;}},setProperty:function(E,G,D){var F;E=E.toLowerCase();if(this.queueInProgress&&!D){this.queueProperty(E,G);return true;}else{F=this.config[E];if(F&&F.event){if(F.validator&&!F.validator(G)){return false;}else{F.value=G;if(!D){this.fireEvent(E,G);this.configChangedEvent.fire([E,G]);}return true;}}else{return false;}}},queueProperty:function(S,P){S=S.toLowerCase();var R=this.config[S],K=false,J,G,H,I,O,Q,F,M,N,D,L,T,E;if(R&&R.event){if(!B.isUndefined(P)&&R.validator&&!R.validator(P)){return false;}else{if(!B.isUndefined(P)){R.value=P;}else{P=R.value;}K=false;J=this.eventQueue.length;for(L=0;L<J;L++){G=this.eventQueue[L];if(G){H=G[0];I=G[1];if(H==S){this.eventQueue[L]=null;this.eventQueue.push([S,(!B.isUndefined(P)?P:I)]);K=true;break;}}}if(!K&&!B.isUndefined(P)){this.eventQueue.push([S,P]);}}if(R.supercedes){O=R.supercedes.length;for(T=0;T<O;T++){Q=R.supercedes[T];F=this.eventQueue.length;for(E=0;E<F;E++){M=this.eventQueue[E];if(M){N=M[0];D=M[1];if(N==Q.toLowerCase()){this.eventQueue.push([N,D]);this.eventQueue[E]=null;break;}}}}}return true;}else{return false;}},refireEvent:function(D){D=D.toLowerCase();var E=this.config[D];if(E&&E.event&&!B.isUndefined(E.value)){if(this.queueInProgress){this.queueProperty(D);}else{this.fireEvent(D,E.value);}}},applyConfig:function(D,G){var F,E;if(G){E={};for(F in D){if(B.hasOwnProperty(D,F)){E[F.toLowerCase()]=D[F];}}this.initialConfig=E;}for(F in D){if(B.hasOwnProperty(D,F)){this.queueProperty(F,D[F]);}}},refresh:function(){var D;for(D in this.config){this.refireEvent(D);}},fireQueue:function(){var E,H,D,G,F;this.queueInProgress=true;for(E=0;E<this.eventQueue.length;E++){H=this.eventQueue[E];if(H){D=H[0];G=H[1];F=this.config[D];F.value=G;this.fireEvent(D,G);}}this.queueInProgress=false;this.eventQueue=[];},subscribeToConfigEvent:function(E,F,H,D){var G=this.config[E.toLowerCase()];if(G&&G.event){if(!A.alreadySubscribed(G.event,F,H)){G.event.subscribe(F,H,D);}return true;}else{return false;}},unsubscribeFromConfigEvent:function(D,E,G){var F=this.config[D.toLowerCase()];if(F&&F.event){return F.event.unsubscribe(E,G);}else{return false;}},toString:function(){var D="Config";if(this.owner){D+=" ["+this.owner.toString()+"]";}return D;},outputEventQueue:function(){var D="",G,E,F=this.eventQueue.length;for(E=0;E<F;E++){G=this.eventQueue[E];if(G){D+=G[0]+"="+G[1]+", ";}}return D;},destroy:function(){var E=this.config,D,F;for(D in E){if(B.hasOwnProperty(E,D)){F=E[D];F.event.unsubscribeAll();F.event=null;}}this.configChangedEvent.unsubscribeAll();this.configChangedEvent=null;this.owner=null;this.config=null;this.initialConfig=null;this.eventQueue=null;}};A.alreadySubscribed=function(E,H,I){var F=E.subscribers.length,D,G;if(F>0){G=F-1;do{D=E.subscribers[G];if(D&&D.obj==I&&D.fn==H){return true;}}while(G--);}return false;};YAHOO.lang.augmentProto(A,YAHOO.util.EventProvider);}());(function(){YAHOO.widget.Module=function(Q,P){if(Q){this.init(Q,P);}else{}};var F=YAHOO.util.Dom,D=YAHOO.util.Config,M=YAHOO.util.Event,L=YAHOO.util.CustomEvent,G=YAHOO.widget.Module,H,O,N,E,A={"BEFORE_INIT":"beforeInit","INIT":"init","APPEND":"append","BEFORE_RENDER":"beforeRender","RENDER":"render","CHANGE_HEADER":"changeHeader","CHANGE_BODY":"changeBody","CHANGE_FOOTER":"changeFooter","CHANGE_CONTENT":"changeContent","DESTORY":"destroy","BEFORE_SHOW":"beforeShow","SHOW":"show","BEFORE_HIDE":"beforeHide","HIDE":"hide"},I={"VISIBLE":{key:"visible",value:true,validator:YAHOO.lang.isBoolean},"EFFECT":{key:"effect",suppressEvent:true,supercedes:["visible"]},"MONITOR_RESIZE":{key:"monitorresize",value:true},"APPEND_TO_DOCUMENT_BODY":{key:"appendtodocumentbody",value:false}};G.IMG_ROOT=null;G.IMG_ROOT_SSL=null;G.CSS_MODULE="yui-module";G.CSS_HEADER="hd";G.CSS_BODY="bd";G.CSS_FOOTER="ft";G.RESIZE_MONITOR_SECURE_URL="javascript:false;";G.textResizeEvent=new L("textResize");function K(){if(!H){H=document.createElement("div");H.innerHTML=('<div class="'+G.CSS_HEADER+'"></div>'+'<div class="'+G.CSS_BODY+'"></div><div class="'+G.CSS_FOOTER+'"></div>');O=H.firstChild;N=O.nextSibling;E=N.nextSibling;}return H;}function J(){if(!O){K();}return(O.cloneNode(false));}function B(){if(!N){K();}return(N.cloneNode(false));}function C(){if(!E){K();}return(E.cloneNode(false));}G.prototype={constructor:G,element:null,header:null,body:null,footer:null,id:null,imageRoot:G.IMG_ROOT,initEvents:function(){var P=L.LIST;this.beforeInitEvent=this.createEvent(A.BEFORE_INIT);this.beforeInitEvent.signature=P;this.initEvent=this.createEvent(A.INIT);this.initEvent.signature=P;this.appendEvent=this.createEvent(A.APPEND);
-this.appendEvent.signature=P;this.beforeRenderEvent=this.createEvent(A.BEFORE_RENDER);this.beforeRenderEvent.signature=P;this.renderEvent=this.createEvent(A.RENDER);this.renderEvent.signature=P;this.changeHeaderEvent=this.createEvent(A.CHANGE_HEADER);this.changeHeaderEvent.signature=P;this.changeBodyEvent=this.createEvent(A.CHANGE_BODY);this.changeBodyEvent.signature=P;this.changeFooterEvent=this.createEvent(A.CHANGE_FOOTER);this.changeFooterEvent.signature=P;this.changeContentEvent=this.createEvent(A.CHANGE_CONTENT);this.changeContentEvent.signature=P;this.destroyEvent=this.createEvent(A.DESTORY);this.destroyEvent.signature=P;this.beforeShowEvent=this.createEvent(A.BEFORE_SHOW);this.beforeShowEvent.signature=P;this.showEvent=this.createEvent(A.SHOW);this.showEvent.signature=P;this.beforeHideEvent=this.createEvent(A.BEFORE_HIDE);this.beforeHideEvent.signature=P;this.hideEvent=this.createEvent(A.HIDE);this.hideEvent.signature=P;},platform:function(){var P=navigator.userAgent.toLowerCase();if(P.indexOf("windows")!=-1||P.indexOf("win32")!=-1){return"windows";}else{if(P.indexOf("macintosh")!=-1){return"mac";}else{return false;}}}(),browser:function(){var P=navigator.userAgent.toLowerCase();if(P.indexOf("opera")!=-1){return"opera";}else{if(P.indexOf("msie 7")!=-1){return"ie7";}else{if(P.indexOf("msie")!=-1){return"ie";}else{if(P.indexOf("safari")!=-1){return"safari";}else{if(P.indexOf("gecko")!=-1){return"gecko";}else{return false;}}}}}}(),isSecure:function(){if(window.location.href.toLowerCase().indexOf("https")===0){return true;}else{return false;}}(),initDefaultConfig:function(){this.cfg.addProperty(I.VISIBLE.key,{handler:this.configVisible,value:I.VISIBLE.value,validator:I.VISIBLE.validator});this.cfg.addProperty(I.EFFECT.key,{suppressEvent:I.EFFECT.suppressEvent,supercedes:I.EFFECT.supercedes});this.cfg.addProperty(I.MONITOR_RESIZE.key,{handler:this.configMonitorResize,value:I.MONITOR_RESIZE.value});this.cfg.addProperty(I.APPEND_TO_DOCUMENT_BODY.key,{value:I.APPEND_TO_DOCUMENT_BODY.value});},init:function(U,T){var R,V;this.initEvents();this.beforeInitEvent.fire(G);this.cfg=new D(this);if(this.isSecure){this.imageRoot=G.IMG_ROOT_SSL;}if(typeof U=="string"){R=U;U=document.getElementById(U);if(!U){U=(K()).cloneNode(false);U.id=R;}}this.element=U;if(U.id){this.id=U.id;}V=this.element.firstChild;if(V){var Q=false,P=false,S=false;do{if(1==V.nodeType){if(!Q&&F.hasClass(V,G.CSS_HEADER)){this.header=V;Q=true;}else{if(!P&&F.hasClass(V,G.CSS_BODY)){this.body=V;P=true;}else{if(!S&&F.hasClass(V,G.CSS_FOOTER)){this.footer=V;S=true;}}}}}while((V=V.nextSibling));}this.initDefaultConfig();F.addClass(this.element,G.CSS_MODULE);if(T){this.cfg.applyConfig(T,true);}if(!D.alreadySubscribed(this.renderEvent,this.cfg.fireQueue,this.cfg)){this.renderEvent.subscribe(this.cfg.fireQueue,this.cfg,true);}this.initEvent.fire(G);},initResizeMonitor:function(){var Q=(YAHOO.env.ua.gecko&&this.platform=="windows");if(Q){var P=this;setTimeout(function(){P._initResizeMonitor();},0);}else{this._initResizeMonitor();}},_initResizeMonitor:function(){var P,R,T;function V(){G.textResizeEvent.fire();}if(!YAHOO.env.ua.opera){R=F.get("_yuiResizeMonitor");var U=this._supportsCWResize();if(!R){R=document.createElement("iframe");if(this.isSecure&&G.RESIZE_MONITOR_SECURE_URL&&YAHOO.env.ua.ie){R.src=G.RESIZE_MONITOR_SECURE_URL;}if(!U){T=["<html><head><script ",'type="text/javascript">',"window.onresize=function(){window.parent.","YAHOO.widget.Module.textResizeEvent.","fire();};<","/script></head>","<body></body></html>"].join("");R.src="data:text/html;charset=utf-8,"+encodeURIComponent(T);}R.id="_yuiResizeMonitor";R.style.position="absolute";R.style.visibility="hidden";var Q=document.body,S=Q.firstChild;if(S){Q.insertBefore(R,S);}else{Q.appendChild(R);}R.style.width="10em";R.style.height="10em";R.style.top=(-1*R.offsetHeight)+"px";R.style.left=(-1*R.offsetWidth)+"px";R.style.borderWidth="0";R.style.visibility="visible";if(YAHOO.env.ua.webkit){P=R.contentWindow.document;P.open();P.close();}}if(R&&R.contentWindow){G.textResizeEvent.subscribe(this.onDomResize,this,true);if(!G.textResizeInitialized){if(U){if(!M.on(R.contentWindow,"resize",V)){M.on(R,"resize",V);}}G.textResizeInitialized=true;}this.resizeMonitor=R;}}},_supportsCWResize:function(){var P=true;if(YAHOO.env.ua.gecko&&YAHOO.env.ua.gecko<=1.8){P=false;}return P;},onDomResize:function(S,R){var Q=-1*this.resizeMonitor.offsetWidth,P=-1*this.resizeMonitor.offsetHeight;this.resizeMonitor.style.top=P+"px";this.resizeMonitor.style.left=Q+"px";},setHeader:function(Q){var P=this.header||(this.header=J());if(Q.nodeName){P.innerHTML="";P.appendChild(Q);}else{P.innerHTML=Q;}this.changeHeaderEvent.fire(Q);this.changeContentEvent.fire();},appendToHeader:function(Q){var P=this.header||(this.header=J());P.appendChild(Q);this.changeHeaderEvent.fire(Q);this.changeContentEvent.fire();},setBody:function(Q){var P=this.body||(this.body=B());if(Q.nodeName){P.innerHTML="";P.appendChild(Q);}else{P.innerHTML=Q;}this.changeBodyEvent.fire(Q);this.changeContentEvent.fire();},appendToBody:function(Q){var P=this.body||(this.body=B());P.appendChild(Q);this.changeBodyEvent.fire(Q);this.changeContentEvent.fire();},setFooter:function(Q){var P=this.footer||(this.footer=C());if(Q.nodeName){P.innerHTML="";P.appendChild(Q);}else{P.innerHTML=Q;}this.changeFooterEvent.fire(Q);this.changeContentEvent.fire();},appendToFooter:function(Q){var P=this.footer||(this.footer=C());P.appendChild(Q);this.changeFooterEvent.fire(Q);this.changeContentEvent.fire();},render:function(R,P){var S=this,T;function Q(U){if(typeof U=="string"){U=document.getElementById(U);}if(U){S._addToParent(U,S.element);S.appendEvent.fire();}}this.beforeRenderEvent.fire();if(!P){P=this.element;}if(R){Q(R);}else{if(!F.inDocument(this.element)){return false;}}if(this.header&&!F.inDocument(this.header)){T=P.firstChild;if(T){P.insertBefore(this.header,T);}else{P.appendChild(this.header);}}if(this.body&&!F.inDocument(this.body)){if(this.footer&&F.isAncestor(this.moduleElement,this.footer)){P.insertBefore(this.body,this.footer);
-}else{P.appendChild(this.body);}}if(this.footer&&!F.inDocument(this.footer)){P.appendChild(this.footer);}this.renderEvent.fire();return true;},destroy:function(){var P,Q;if(this.element){M.purgeElement(this.element,true);P=this.element.parentNode;}if(P){P.removeChild(this.element);}this.element=null;this.header=null;this.body=null;this.footer=null;G.textResizeEvent.unsubscribe(this.onDomResize,this);this.cfg.destroy();this.cfg=null;this.destroyEvent.fire();for(Q in this){if(Q instanceof L){Q.unsubscribeAll();}}},show:function(){this.cfg.setProperty("visible",true);},hide:function(){this.cfg.setProperty("visible",false);},configVisible:function(Q,P,R){var S=P[0];if(S){this.beforeShowEvent.fire();F.setStyle(this.element,"display","block");this.showEvent.fire();}else{this.beforeHideEvent.fire();F.setStyle(this.element,"display","none");this.hideEvent.fire();}},configMonitorResize:function(R,Q,S){var P=Q[0];if(P){this.initResizeMonitor();}else{G.textResizeEvent.unsubscribe(this.onDomResize,this,true);this.resizeMonitor=null;}},_addToParent:function(P,Q){if(!this.cfg.getProperty("appendtodocumentbody")&&P===document.body&&P.firstChild){P.insertBefore(Q,P.firstChild);}else{P.appendChild(Q);}},toString:function(){return"Module "+this.id;}};YAHOO.lang.augmentProto(G,YAHOO.util.EventProvider);}());(function(){YAHOO.widget.Overlay=function(L,K){YAHOO.widget.Overlay.superclass.constructor.call(this,L,K);};var F=YAHOO.lang,I=YAHOO.util.CustomEvent,E=YAHOO.widget.Module,J=YAHOO.util.Event,D=YAHOO.util.Dom,C=YAHOO.util.Config,B=YAHOO.widget.Overlay,G,A={"BEFORE_MOVE":"beforeMove","MOVE":"move"},H={"X":{key:"x",validator:F.isNumber,suppressEvent:true,supercedes:["iframe"]},"Y":{key:"y",validator:F.isNumber,suppressEvent:true,supercedes:["iframe"]},"XY":{key:"xy",suppressEvent:true,supercedes:["iframe"]},"CONTEXT":{key:"context",suppressEvent:true,supercedes:["iframe"]},"FIXED_CENTER":{key:"fixedcenter",value:false,validator:F.isBoolean,supercedes:["iframe","visible"]},"WIDTH":{key:"width",suppressEvent:true,supercedes:["context","fixedcenter","iframe"]},"HEIGHT":{key:"height",suppressEvent:true,supercedes:["context","fixedcenter","iframe"]},"ZINDEX":{key:"zindex",value:null},"CONSTRAIN_TO_VIEWPORT":{key:"constraintoviewport",value:false,validator:F.isBoolean,supercedes:["iframe","x","y","xy"]},"IFRAME":{key:"iframe",value:(YAHOO.env.ua.ie==6?true:false),validator:F.isBoolean,supercedes:["zindex"]}};B.IFRAME_SRC="javascript:false;";B.IFRAME_OFFSET=3;B.VIEWPORT_OFFSET=10;B.TOP_LEFT="tl";B.TOP_RIGHT="tr";B.BOTTOM_LEFT="bl";B.BOTTOM_RIGHT="br";B.CSS_OVERLAY="yui-overlay";B.windowScrollEvent=new I("windowScroll");B.windowResizeEvent=new I("windowResize");B.windowScrollHandler=function(K){if(YAHOO.env.ua.ie){if(!window.scrollEnd){window.scrollEnd=-1;}clearTimeout(window.scrollEnd);window.scrollEnd=setTimeout(function(){B.windowScrollEvent.fire();},1);}else{B.windowScrollEvent.fire();}};B.windowResizeHandler=function(K){if(YAHOO.env.ua.ie){if(!window.resizeEnd){window.resizeEnd=-1;}clearTimeout(window.resizeEnd);window.resizeEnd=setTimeout(function(){B.windowResizeEvent.fire();},100);}else{B.windowResizeEvent.fire();}};B._initialized=null;if(B._initialized===null){J.on(window,"scroll",B.windowScrollHandler);J.on(window,"resize",B.windowResizeHandler);B._initialized=true;}YAHOO.extend(B,E,{init:function(L,K){B.superclass.init.call(this,L);this.beforeInitEvent.fire(B);D.addClass(this.element,B.CSS_OVERLAY);if(K){this.cfg.applyConfig(K,true);}if(this.platform=="mac"&&YAHOO.env.ua.gecko){if(!C.alreadySubscribed(this.showEvent,this.showMacGeckoScrollbars,this)){this.showEvent.subscribe(this.showMacGeckoScrollbars,this,true);}if(!C.alreadySubscribed(this.hideEvent,this.hideMacGeckoScrollbars,this)){this.hideEvent.subscribe(this.hideMacGeckoScrollbars,this,true);}}this.initEvent.fire(B);},initEvents:function(){B.superclass.initEvents.call(this);var K=I.LIST;this.beforeMoveEvent=this.createEvent(A.BEFORE_MOVE);this.beforeMoveEvent.signature=K;this.moveEvent=this.createEvent(A.MOVE);this.moveEvent.signature=K;},initDefaultConfig:function(){B.superclass.initDefaultConfig.call(this);this.cfg.addProperty(H.X.key,{handler:this.configX,validator:H.X.validator,suppressEvent:H.X.suppressEvent,supercedes:H.X.supercedes});this.cfg.addProperty(H.Y.key,{handler:this.configY,validator:H.Y.validator,suppressEvent:H.Y.suppressEvent,supercedes:H.Y.supercedes});this.cfg.addProperty(H.XY.key,{handler:this.configXY,suppressEvent:H.XY.suppressEvent,supercedes:H.XY.supercedes});this.cfg.addProperty(H.CONTEXT.key,{handler:this.configContext,suppressEvent:H.CONTEXT.suppressEvent,supercedes:H.CONTEXT.supercedes});this.cfg.addProperty(H.FIXED_CENTER.key,{handler:this.configFixedCenter,value:H.FIXED_CENTER.value,validator:H.FIXED_CENTER.validator,supercedes:H.FIXED_CENTER.supercedes});this.cfg.addProperty(H.WIDTH.key,{handler:this.configWidth,suppressEvent:H.WIDTH.suppressEvent,supercedes:H.WIDTH.supercedes});this.cfg.addProperty(H.HEIGHT.key,{handler:this.configHeight,suppressEvent:H.HEIGHT.suppressEvent,supercedes:H.HEIGHT.supercedes});this.cfg.addProperty(H.ZINDEX.key,{handler:this.configzIndex,value:H.ZINDEX.value});this.cfg.addProperty(H.CONSTRAIN_TO_VIEWPORT.key,{handler:this.configConstrainToViewport,value:H.CONSTRAIN_TO_VIEWPORT.value,validator:H.CONSTRAIN_TO_VIEWPORT.validator,supercedes:H.CONSTRAIN_TO_VIEWPORT.supercedes});this.cfg.addProperty(H.IFRAME.key,{handler:this.configIframe,value:H.IFRAME.value,validator:H.IFRAME.validator,supercedes:H.IFRAME.supercedes});},moveTo:function(K,L){this.cfg.setProperty("xy",[K,L]);},hideMacGeckoScrollbars:function(){D.removeClass(this.element,"show-scrollbars");D.addClass(this.element,"hide-scrollbars");},showMacGeckoScrollbars:function(){D.removeClass(this.element,"hide-scrollbars");D.addClass(this.element,"show-scrollbars");},configVisible:function(N,K,T){var M=K[0],O=D.getStyle(this.element,"visibility"),U=this.cfg.getProperty("effect"),R=[],Q=(this.platform=="mac"&&YAHOO.env.ua.gecko),b=C.alreadySubscribed,S,L,a,Y,X,W,Z,V,P;
-if(O=="inherit"){a=this.element.parentNode;while(a.nodeType!=9&&a.nodeType!=11){O=D.getStyle(a,"visibility");if(O!="inherit"){break;}a=a.parentNode;}if(O=="inherit"){O="visible";}}if(U){if(U instanceof Array){V=U.length;for(Y=0;Y<V;Y++){S=U[Y];R[R.length]=S.effect(this,S.duration);}}else{R[R.length]=U.effect(this,U.duration);}}if(M){if(Q){this.showMacGeckoScrollbars();}if(U){if(M){if(O!="visible"||O===""){this.beforeShowEvent.fire();P=R.length;for(X=0;X<P;X++){L=R[X];if(X===0&&!b(L.animateInCompleteEvent,this.showEvent.fire,this.showEvent)){L.animateInCompleteEvent.subscribe(this.showEvent.fire,this.showEvent,true);}L.animateIn();}}}}else{if(O!="visible"||O===""){this.beforeShowEvent.fire();D.setStyle(this.element,"visibility","visible");this.cfg.refireEvent("iframe");this.showEvent.fire();}}}else{if(Q){this.hideMacGeckoScrollbars();}if(U){if(O=="visible"){this.beforeHideEvent.fire();P=R.length;for(W=0;W<P;W++){Z=R[W];if(W===0&&!b(Z.animateOutCompleteEvent,this.hideEvent.fire,this.hideEvent)){Z.animateOutCompleteEvent.subscribe(this.hideEvent.fire,this.hideEvent,true);}Z.animateOut();}}else{if(O===""){D.setStyle(this.element,"visibility","hidden");}}}else{if(O=="visible"||O===""){this.beforeHideEvent.fire();D.setStyle(this.element,"visibility","hidden");this.hideEvent.fire();}}}},doCenterOnDOMEvent:function(){if(this.cfg.getProperty("visible")){this.center();}},configFixedCenter:function(O,M,P){var Q=M[0],L=C.alreadySubscribed,N=B.windowResizeEvent,K=B.windowScrollEvent;if(Q){this.center();if(!L(this.beforeShowEvent,this.center,this)){this.beforeShowEvent.subscribe(this.center);}if(!L(N,this.doCenterOnDOMEvent,this)){N.subscribe(this.doCenterOnDOMEvent,this,true);}if(!L(K,this.doCenterOnDOMEvent,this)){K.subscribe(this.doCenterOnDOMEvent,this,true);}}else{this.beforeShowEvent.unsubscribe(this.center);N.unsubscribe(this.doCenterOnDOMEvent,this);K.unsubscribe(this.doCenterOnDOMEvent,this);}},configHeight:function(N,L,O){var K=L[0],M=this.element;D.setStyle(M,"height",K);this.cfg.refireEvent("iframe");},configWidth:function(N,K,O){var M=K[0],L=this.element;D.setStyle(L,"width",M);this.cfg.refireEvent("iframe");},configzIndex:function(M,K,N){var O=K[0],L=this.element;if(!O){O=D.getStyle(L,"zIndex");if(!O||isNaN(O)){O=0;}}if(this.iframe||this.cfg.getProperty("iframe")===true){if(O<=0){O=1;}}D.setStyle(L,"zIndex",O);this.cfg.setProperty("zIndex",O,true);if(this.iframe){this.stackIframe();}},configXY:function(M,L,N){var P=L[0],K=P[0],O=P[1];this.cfg.setProperty("x",K);this.cfg.setProperty("y",O);this.beforeMoveEvent.fire([K,O]);K=this.cfg.getProperty("x");O=this.cfg.getProperty("y");this.cfg.refireEvent("iframe");this.moveEvent.fire([K,O]);},configX:function(M,L,N){var K=L[0],O=this.cfg.getProperty("y");this.cfg.setProperty("x",K,true);this.cfg.setProperty("y",O,true);this.beforeMoveEvent.fire([K,O]);K=this.cfg.getProperty("x");O=this.cfg.getProperty("y");D.setX(this.element,K,true);this.cfg.setProperty("xy",[K,O],true);this.cfg.refireEvent("iframe");this.moveEvent.fire([K,O]);},configY:function(M,L,N){var K=this.cfg.getProperty("x"),O=L[0];this.cfg.setProperty("x",K,true);this.cfg.setProperty("y",O,true);this.beforeMoveEvent.fire([K,O]);K=this.cfg.getProperty("x");O=this.cfg.getProperty("y");D.setY(this.element,O,true);this.cfg.setProperty("xy",[K,O],true);this.cfg.refireEvent("iframe");this.moveEvent.fire([K,O]);},showIframe:function(){var L=this.iframe,K;if(L){K=this.element.parentNode;if(K!=L.parentNode){this._addToParent(K,L);}L.style.display="block";}},hideIframe:function(){if(this.iframe){this.iframe.style.display="none";}},syncIframe:function(){var K=this.iframe,M=this.element,O=B.IFRAME_OFFSET,L=(O*2),N;if(K){K.style.width=(M.offsetWidth+L+"px");K.style.height=(M.offsetHeight+L+"px");N=this.cfg.getProperty("xy");if(!F.isArray(N)||(isNaN(N[0])||isNaN(N[1]))){this.syncPosition();N=this.cfg.getProperty("xy");}D.setXY(K,[(N[0]-O),(N[1]-O)]);}},stackIframe:function(){if(this.iframe){var K=D.getStyle(this.element,"zIndex");if(!YAHOO.lang.isUndefined(K)&&!isNaN(K)){D.setStyle(this.iframe,"zIndex",(K-1));}}},configIframe:function(N,M,O){var K=M[0];function P(){var R=this.iframe,S=this.element,T;if(!R){if(!G){G=document.createElement("iframe");if(this.isSecure){G.src=B.IFRAME_SRC;}if(YAHOO.env.ua.ie){G.style.filter="alpha(opacity=0)";G.frameBorder=0;}else{G.style.opacity="0";}G.style.position="absolute";G.style.border="none";G.style.margin="0";G.style.padding="0";G.style.display="none";}R=G.cloneNode(false);T=S.parentNode;var Q=T||document.body;this._addToParent(Q,R);this.iframe=R;}this.showIframe();this.syncIframe();this.stackIframe();if(!this._hasIframeEventListeners){this.showEvent.subscribe(this.showIframe);this.hideEvent.subscribe(this.hideIframe);this.changeContentEvent.subscribe(this.syncIframe);this._hasIframeEventListeners=true;}}function L(){P.call(this);this.beforeShowEvent.unsubscribe(L);this._iframeDeferred=false;}if(K){if(this.cfg.getProperty("visible")){P.call(this);}else{if(!this._iframeDeferred){this.beforeShowEvent.subscribe(L);this._iframeDeferred=true;}}}else{this.hideIframe();if(this._hasIframeEventListeners){this.showEvent.unsubscribe(this.showIframe);this.hideEvent.unsubscribe(this.hideIframe);this.changeContentEvent.unsubscribe(this.syncIframe);this._hasIframeEventListeners=false;}}},_primeXYFromDOM:function(){if(YAHOO.lang.isUndefined(this.cfg.getProperty("xy"))){this.syncPosition();this.cfg.refireEvent("xy");this.beforeShowEvent.unsubscribe(this._primeXYFromDOM);}},configConstrainToViewport:function(L,K,M){var N=K[0];if(N){if(!C.alreadySubscribed(this.beforeMoveEvent,this.enforceConstraints,this)){this.beforeMoveEvent.subscribe(this.enforceConstraints,this,true);}if(!C.alreadySubscribed(this.beforeShowEvent,this._primeXYFromDOM)){this.beforeShowEvent.subscribe(this._primeXYFromDOM);}}else{this.beforeShowEvent.unsubscribe(this._primeXYFromDOM);this.beforeMoveEvent.unsubscribe(this.enforceConstraints,this);}},configContext:function(M,L,O){var Q=L[0],N,P,K;if(Q){N=Q[0];P=Q[1];
-K=Q[2];if(N){if(typeof N=="string"){this.cfg.setProperty("context",[document.getElementById(N),P,K],true);}if(P&&K){this.align(P,K);}}}},align:function(L,K){var Q=this.cfg.getProperty("context"),P=this,O,N,R;function M(S,T){switch(L){case B.TOP_LEFT:P.moveTo(T,S);break;case B.TOP_RIGHT:P.moveTo((T-N.offsetWidth),S);break;case B.BOTTOM_LEFT:P.moveTo(T,(S-N.offsetHeight));break;case B.BOTTOM_RIGHT:P.moveTo((T-N.offsetWidth),(S-N.offsetHeight));break;}}if(Q){O=Q[0];N=this.element;P=this;if(!L){L=Q[1];}if(!K){K=Q[2];}if(N&&O){R=D.getRegion(O);switch(K){case B.TOP_LEFT:M(R.top,R.left);break;case B.TOP_RIGHT:M(R.top,R.right);break;case B.BOTTOM_LEFT:M(R.bottom,R.left);break;case B.BOTTOM_RIGHT:M(R.bottom,R.right);break;}}}},enforceConstraints:function(L,K,M){var O=K[0];var N=this.getConstrainedXY(O[0],O[1]);this.cfg.setProperty("x",N[0],true);this.cfg.setProperty("y",N[1],true);this.cfg.setProperty("xy",N,true);},getConstrainedXY:function(V,T){var N=B.VIEWPORT_OFFSET,U=D.getViewportWidth(),Q=D.getViewportHeight(),M=this.element.offsetHeight,S=this.element.offsetWidth,Y=D.getDocumentScrollLeft(),W=D.getDocumentScrollTop();var P=V;var L=T;if(S+N<U){var R=Y+N;var X=Y+U-S-N;if(V<R){P=R;}else{if(V>X){P=X;}}}else{P=N+Y;}if(M+N<Q){var O=W+N;var K=W+Q-M-N;if(T<O){L=O;}else{if(T>K){L=K;}}}else{L=N+W;}return[P,L];},center:function(){var N=B.VIEWPORT_OFFSET,O=this.element.offsetWidth,M=this.element.offsetHeight,L=D.getViewportWidth(),P=D.getViewportHeight(),K,Q;if(O<L){K=(L/2)-(O/2)+D.getDocumentScrollLeft();}else{K=N+D.getDocumentScrollLeft();}if(M<P){Q=(P/2)-(M/2)+D.getDocumentScrollTop();}else{Q=N+D.getDocumentScrollTop();}this.cfg.setProperty("xy",[parseInt(K,10),parseInt(Q,10)]);this.cfg.refireEvent("iframe");},syncPosition:function(){var K=D.getXY(this.element);this.cfg.setProperty("x",K[0],true);this.cfg.setProperty("y",K[1],true);this.cfg.setProperty("xy",K,true);},onDomResize:function(M,L){var K=this;B.superclass.onDomResize.call(this,M,L);setTimeout(function(){K.syncPosition();K.cfg.refireEvent("iframe");K.cfg.refireEvent("context");},0);},bringToTop:function(){var O=[],N=this.element;function R(V,U){var X=D.getStyle(V,"zIndex"),W=D.getStyle(U,"zIndex"),T=(!X||isNaN(X))?0:parseInt(X,10),S=(!W||isNaN(W))?0:parseInt(W,10);if(T>S){return -1;}else{if(T<S){return 1;}else{return 0;}}}function M(U){var S=D.hasClass(U,B.CSS_OVERLAY),T=YAHOO.widget.Panel;if(S&&!D.isAncestor(N,S)){if(T&&D.hasClass(U,T.CSS_PANEL)){O[O.length]=U.parentNode;}else{O[O.length]=U;}}}D.getElementsBy(M,"DIV",document.body);O.sort(R);var K=O[0],Q;if(K){Q=D.getStyle(K,"zIndex");if(!isNaN(Q)){var P=false;if(K!=N){P=true;}else{if(O.length>1){var L=D.getStyle(O[1],"zIndex");if(!isNaN(L)&&(Q==L)){P=true;}}}if(P){this.cfg.setProperty("zindex",(parseInt(Q,10)+2));}}}},destroy:function(){if(this.iframe){this.iframe.parentNode.removeChild(this.iframe);}this.iframe=null;B.windowResizeEvent.unsubscribe(this.doCenterOnDOMEvent,this);B.windowScrollEvent.unsubscribe(this.doCenterOnDOMEvent,this);B.superclass.destroy.call(this);},toString:function(){return"Overlay "+this.id;}});}());(function(){YAHOO.widget.OverlayManager=function(G){this.init(G);};var D=YAHOO.widget.Overlay,C=YAHOO.util.Event,E=YAHOO.util.Dom,B=YAHOO.util.Config,F=YAHOO.util.CustomEvent,A=YAHOO.widget.OverlayManager;A.CSS_FOCUSED="focused";A.prototype={constructor:A,overlays:null,initDefaultConfig:function(){this.cfg.addProperty("overlays",{suppressEvent:true});this.cfg.addProperty("focusevent",{value:"mousedown"});},init:function(I){this.cfg=new B(this);this.initDefaultConfig();if(I){this.cfg.applyConfig(I,true);}this.cfg.fireQueue();var H=null;this.getActive=function(){return H;};this.focus=function(J){var K=this.find(J);if(K){if(H!=K){if(H){H.blur();}this.bringToTop(K);H=K;E.addClass(H.element,A.CSS_FOCUSED);K.focusEvent.fire();}}};this.remove=function(K){var M=this.find(K),J;if(M){if(H==M){H=null;}var L=(M.element===null&&M.cfg===null)?true:false;if(!L){J=E.getStyle(M.element,"zIndex");M.cfg.setProperty("zIndex",-1000,true);}this.overlays.sort(this.compareZIndexDesc);this.overlays=this.overlays.slice(0,(this.overlays.length-1));M.hideEvent.unsubscribe(M.blur);M.destroyEvent.unsubscribe(this._onOverlayDestroy,M);if(!L){C.removeListener(M.element,this.cfg.getProperty("focusevent"),this._onOverlayElementFocus);M.cfg.setProperty("zIndex",J,true);M.cfg.setProperty("manager",null);}M.focusEvent.unsubscribeAll();M.blurEvent.unsubscribeAll();M.focusEvent=null;M.blurEvent=null;M.focus=null;M.blur=null;}};this.blurAll=function(){var K=this.overlays.length,J;if(K>0){J=K-1;do{this.overlays[J].blur();}while(J--);}};this._onOverlayBlur=function(K,J){H=null;};var G=this.cfg.getProperty("overlays");if(!this.overlays){this.overlays=[];}if(G){this.register(G);this.overlays.sort(this.compareZIndexDesc);}},_onOverlayElementFocus:function(I){var G=C.getTarget(I),H=this.close;if(H&&(G==H||E.isAncestor(H,G))){this.blur();}else{this.focus();}},_onOverlayDestroy:function(H,G,I){this.remove(I);},register:function(G){var K=this,L,I,H,J;if(G instanceof D){G.cfg.addProperty("manager",{value:this});G.focusEvent=G.createEvent("focus");G.focusEvent.signature=F.LIST;G.blurEvent=G.createEvent("blur");G.blurEvent.signature=F.LIST;G.focus=function(){K.focus(this);};G.blur=function(){if(K.getActive()==this){E.removeClass(this.element,A.CSS_FOCUSED);this.blurEvent.fire();}};G.blurEvent.subscribe(K._onOverlayBlur);G.hideEvent.subscribe(G.blur);G.destroyEvent.subscribe(this._onOverlayDestroy,G,this);C.on(G.element,this.cfg.getProperty("focusevent"),this._onOverlayElementFocus,null,G);L=E.getStyle(G.element,"zIndex");if(!isNaN(L)){G.cfg.setProperty("zIndex",parseInt(L,10));}else{G.cfg.setProperty("zIndex",0);}this.overlays.push(G);this.bringToTop(G);return true;}else{if(G instanceof Array){I=0;J=G.length;for(H=0;H<J;H++){if(this.register(G[H])){I++;}}if(I>0){return true;}}else{return false;}}},bringToTop:function(M){var I=this.find(M),L,G,J;if(I){J=this.overlays;J.sort(this.compareZIndexDesc);G=J[0];if(G){L=E.getStyle(G.element,"zIndex");
-if(!isNaN(L)){var K=false;if(G!==I){K=true;}else{if(J.length>1){var H=E.getStyle(J[1].element,"zIndex");if(!isNaN(H)&&(L==H)){K=true;}}}if(K){I.cfg.setProperty("zindex",(parseInt(L,10)+2));}}J.sort(this.compareZIndexDesc);}}},find:function(G){var I=this.overlays,J=I.length,H;if(J>0){H=J-1;if(G instanceof D){do{if(I[H]==G){return I[H];}}while(H--);}else{if(typeof G=="string"){do{if(I[H].id==G){return I[H];}}while(H--);}}return null;}},compareZIndexDesc:function(J,I){var H=(J.cfg)?J.cfg.getProperty("zIndex"):null,G=(I.cfg)?I.cfg.getProperty("zIndex"):null;if(H===null&&G===null){return 0;}else{if(H===null){return 1;}else{if(G===null){return -1;}else{if(H>G){return -1;}else{if(H<G){return 1;}else{return 0;}}}}}},showAll:function(){var H=this.overlays,I=H.length,G;if(I>0){G=I-1;do{H[G].show();}while(G--);}},hideAll:function(){var H=this.overlays,I=H.length,G;if(I>0){G=I-1;do{H[G].hide();}while(G--);}},toString:function(){return"OverlayManager";}};}());(function(){YAHOO.widget.ContainerEffect=function(F,I,H,E,G){if(!G){G=YAHOO.util.Anim;}this.overlay=F;this.attrIn=I;this.attrOut=H;this.targetElement=E||F.element;this.animClass=G;};var B=YAHOO.util.Dom,D=YAHOO.util.CustomEvent,C=YAHOO.util.Easing,A=YAHOO.widget.ContainerEffect;A.FADE=function(E,G){var I={attributes:{opacity:{from:0,to:1}},duration:G,method:C.easeIn};var F={attributes:{opacity:{to:0}},duration:G,method:C.easeOut};var H=new A(E,I,F,E.element);H.handleUnderlayStart=function(){var K=this.overlay.underlay;if(K&&YAHOO.env.ua.ie){var J=(K.filters&&K.filters.length>0);if(J){B.addClass(E.element,"yui-effect-fade");}}};H.handleUnderlayComplete=function(){var J=this.overlay.underlay;if(J&&YAHOO.env.ua.ie){B.removeClass(E.element,"yui-effect-fade");}};H.handleStartAnimateIn=function(K,J,L){B.addClass(L.overlay.element,"hide-select");if(!L.overlay.underlay){L.overlay.cfg.refireEvent("underlay");}L.handleUnderlayStart();B.setStyle(L.overlay.element,"visibility","visible");B.setStyle(L.overlay.element,"opacity",0);};H.handleCompleteAnimateIn=function(K,J,L){B.removeClass(L.overlay.element,"hide-select");if(L.overlay.element.style.filter){L.overlay.element.style.filter=null;}L.handleUnderlayComplete();L.overlay.cfg.refireEvent("iframe");L.animateInCompleteEvent.fire();};H.handleStartAnimateOut=function(K,J,L){B.addClass(L.overlay.element,"hide-select");L.handleUnderlayStart();};H.handleCompleteAnimateOut=function(K,J,L){B.removeClass(L.overlay.element,"hide-select");if(L.overlay.element.style.filter){L.overlay.element.style.filter=null;}B.setStyle(L.overlay.element,"visibility","hidden");B.setStyle(L.overlay.element,"opacity",1);L.handleUnderlayComplete();L.overlay.cfg.refireEvent("iframe");L.animateOutCompleteEvent.fire();};H.init();return H;};A.SLIDE=function(G,I){var F=G.cfg.getProperty("x")||B.getX(G.element),K=G.cfg.getProperty("y")||B.getY(G.element),J=B.getClientWidth(),H=G.element.offsetWidth,E=new A(G,{attributes:{points:{to:[F,K]}},duration:I,method:C.easeIn},{attributes:{points:{to:[(J+25),K]}},duration:I,method:C.easeOut},G.element,YAHOO.util.Motion);E.handleStartAnimateIn=function(M,L,N){N.overlay.element.style.left=((-25)-H)+"px";N.overlay.element.style.top=K+"px";};E.handleTweenAnimateIn=function(O,N,P){var Q=B.getXY(P.overlay.element),M=Q[0],L=Q[1];if(B.getStyle(P.overlay.element,"visibility")=="hidden"&&M<F){B.setStyle(P.overlay.element,"visibility","visible");}P.overlay.cfg.setProperty("xy",[M,L],true);P.overlay.cfg.refireEvent("iframe");};E.handleCompleteAnimateIn=function(M,L,N){N.overlay.cfg.setProperty("xy",[F,K],true);N.startX=F;N.startY=K;N.overlay.cfg.refireEvent("iframe");N.animateInCompleteEvent.fire();};E.handleStartAnimateOut=function(M,L,P){var N=B.getViewportWidth(),Q=B.getXY(P.overlay.element),O=Q[1];P.animOut.attributes.points.to=[(N+25),O];};E.handleTweenAnimateOut=function(N,M,O){var Q=B.getXY(O.overlay.element),L=Q[0],P=Q[1];O.overlay.cfg.setProperty("xy",[L,P],true);O.overlay.cfg.refireEvent("iframe");};E.handleCompleteAnimateOut=function(M,L,N){B.setStyle(N.overlay.element,"visibility","hidden");N.overlay.cfg.setProperty("xy",[F,K]);N.animateOutCompleteEvent.fire();};E.init();return E;};A.prototype={init:function(){this.beforeAnimateInEvent=this.createEvent("beforeAnimateIn");this.beforeAnimateInEvent.signature=D.LIST;this.beforeAnimateOutEvent=this.createEvent("beforeAnimateOut");this.beforeAnimateOutEvent.signature=D.LIST;this.animateInCompleteEvent=this.createEvent("animateInComplete");this.animateInCompleteEvent.signature=D.LIST;this.animateOutCompleteEvent=this.createEvent("animateOutComplete");this.animateOutCompleteEvent.signature=D.LIST;this.animIn=new this.animClass(this.targetElement,this.attrIn.attributes,this.attrIn.duration,this.attrIn.method);this.animIn.onStart.subscribe(this.handleStartAnimateIn,this);this.animIn.onTween.subscribe(this.handleTweenAnimateIn,this);this.animIn.onComplete.subscribe(this.handleCompleteAnimateIn,this);this.animOut=new this.animClass(this.targetElement,this.attrOut.attributes,this.attrOut.duration,this.attrOut.method);this.animOut.onStart.subscribe(this.handleStartAnimateOut,this);this.animOut.onTween.subscribe(this.handleTweenAnimateOut,this);this.animOut.onComplete.subscribe(this.handleCompleteAnimateOut,this);},animateIn:function(){this.beforeAnimateInEvent.fire();this.animIn.animate();},animateOut:function(){this.beforeAnimateOutEvent.fire();this.animOut.animate();},handleStartAnimateIn:function(F,E,G){},handleTweenAnimateIn:function(F,E,G){},handleCompleteAnimateIn:function(F,E,G){},handleStartAnimateOut:function(F,E,G){},handleTweenAnimateOut:function(F,E,G){},handleCompleteAnimateOut:function(F,E,G){},toString:function(){var E="ContainerEffect";if(this.overlay){E+=" ["+this.overlay.toString()+"]";}return E;}};YAHOO.lang.augmentProto(A,YAHOO.util.EventProvider);})();YAHOO.register("containercore",YAHOO.widget.Module,{version:"2.5.1",build:"984"});
\ No newline at end of file
diff --git a/koha-tmpl/opac-tmpl/prog/en/lib/yui/menu.css b/koha-tmpl/opac-tmpl/prog/en/lib/yui/menu.css
deleted file mode 100644 (file)
index 2b18dc6..0000000
+++ /dev/null
@@ -1,7 +0,0 @@
-/*
-Copyright (c) 2007, Yahoo! Inc. All rights reserved.
-Code licensed under the BSD License:
-http://developer.yahoo.net/yui/license.txt
-version: 2.3.1
-*/
-.yuimenu .yuimenu,.yuimenubar .yuimenu{position:absolute;visibility:hidden;}.yuimenubar li,.yuimenu li{list-style-type:none;}.yuimenubar ul,.yuimenu ul,.yuimenubar li,.yuimenu li,.yuimenu h6,.yuimenubar h6{margin:0;padding:0;}.yuimenuitemlabel,.yuimenubaritemlabel{white-space:nowrap;}.yui-menu-shadow{position:absolute;z-index:-1;}.hide-scrollbars *{overflow:hidden;}.hide-scrollbars select{display:none;}.yuimenu.show-scrollbars{overflow:visible;}.yuimenu.hide-scrollbars .yui-menu-shadow{overflow:hidden;}.yuimenu.show-scrollbars .yui-menu-shadow{overflow:auto;}body .yuimenubar{border:solid 1px #808080;background:url(yui-sprite.png) repeat-x 0 0;}body .yuimenubar .bd,body .yuimenubar ul{*zoom:1;}body .yuimenubar>.bd>ul:after{content:".";display:block;clear:both;visibility:hidden;height:0;line-height:0;}body .yuimenubaritem{float:left;}body .yuimenubarnav .yuimenubaritem{border-right:solid 1px #ccc;}body .yuimenubaritemlabel{display:block;*display:inline-block;font-size:93%;line-height:2;*line-height:1.9;padding:0 10px;color:#000;text-decoration:none;outline:none;cursor:default;border-style:solid;border-color:#808080;border-width:1px 0;position:relative;margin:-1px 0;}body .yuimenubarnav .yuimenubaritemlabel{padding-right:20px;}body .yuimenubaritemlabel .submenuindicator{width:1px;height:1px;top:0;left:0;}body .yuimenubarnav .yuimenubaritemlabel .submenuindicator{top:50%;right:8px;left:auto;margin-top:-3px;height:4px;width:7px;text-indent:8px;background-position:-16px -856px;}body .yuimenubaritem a.selected{background:url(yui-sprite.png) repeat-x 0 -1700px;border-color:#7D98B8;}body .yuimenubarnav .yuimenubaritem a.selected{border-left-width:1px;margin-left:-1px;*left:-1px;}body .yuimenubar a.selected .submenuindicator{background:transparent;}body .yuimenubarnav a.selected .submenuindicator{background:url(yui-sprite.png) repeat-x -16px -856px;}body .yuimenubaritem a.disabled{cursor:default;color:#A6A6A6;}body .yuimenubarnav .yuimenubaritem a.disabled .submenuindicator{background-position:-16px -881px;}body .yuimenu .bd{border:solid 1px #808080;background-color:#fff;}body .yuimenu ul{padding:3px 0;border-width:1px 0 0 0;border-color:#ccc;border-style:solid;}body .yuimenu ul.first-of-type{border-width:0;}body .yuimenu h6{font-size:93%;font-weight:bold;line-height:1.5;*line-height:1.45;border-style:solid;border-color:#ccc;border-width:1px 0 0 0;color:#a4a4a4;padding:3px 10px 0 10px;}body .yuimenu ul.hastitle,body .yuimenu h6.first-of-type{border-width:0;}body .yuimenu .yui-menu-body-scrolled{border-color:#ccc #808080;overflow:hidden;}body .yuimenu .topscrollbar,body .yuimenu .bottomscrollbar{height:16px;border:solid 1px #808080;background:#fff url(yui-sprite.png) no-repeat 0 0;}body .yuimenu .topscrollbar{border-bottom-width:0;background-position:center -950px;}body .yuimenu .topscrollbar_disabled{background-position:center -975px;}body .yuimenu .bottomscrollbar{border-top-width:0;background-position:center -850px;}body .yuimenu .bottomscrollbar_disabled{background-position:center -875px;}body .yuimenuitemlabel{font-size:93%;line-height:1.5;*line-height:1.45;padding:0 20px;display:block;color:#000;text-decoration:none;outline:none;position:relative;*position:static;cursor:default;}body .yuimenuitemlabel .helptext{font-style:normal;display:block;margin:-1.5em 0 0 10em;*margin-top:-1.45em;}body .yuimenuitemlabel .submenuindicator,body .yuimenuitemlabel .checkedindicator,body .yuimenubaritemlabel .submenuindicator{position:absolute;overflow:hidden;background:url(yui-sprite.png) no-repeat;}body .yuimenuitemlabel .submenuindicator,body .yuimenuitemlabel .checkedindicator{*position:static;*display:inline-block;}body .yuimenuitemlabel .submenuindicator{top:50%;right:8px;margin-top:-3px;height:7px;width:4px;text-indent:5px;background-position:0 -906px;}body .yuimenuitemlabel .checkedindicator{top:50%;left:8px;margin-top:-3px;height:7px;width:7px;text-indent:8px;background-position:0 -1006px;}body .visible .yuimenuitemlabel .submenuindicator{*float:right;*margin:-1em 8px 0 8px;}body .visible .yuimenuitem .hassubmenu{*padding-right:0;}body .visible .yuimenuitemlabel .checkedindicator{*float:left;*margin:-1em 0 0 -12px;}body .yui-menu-shadow-visible{top:2px;right:-3px;left:-3px;bottom:-3px;background-color:#000;opacity:.12;*filter:alpha(opacity=12);visibility:visible;}body .visible .bd,body .visible .yuimenuitem{_zoom:1;}body .visible .yuimenuitemlabel{*zoom:1;}body .yuimenuitem a.selected{background:#B3D4FF;}body .yuimenubar .yuimenuitem a.selected .submenuindicator{background:url(yui-sprite.png) no-repeat 0 -906px;}body .yuimenubarnav .yuimenuitem a.selected{border-width:0;margin:0;*left:0;}body .yuimenuitem a.disabled{cursor:default;color:#A6A6A6;}body .yuimenuitem a.disabled .submenuindicator{background-position:0 -931px;}body .yuimenuitem a.disabled .checkedindicator{background-position:0 -1031px;}
diff --git a/koha-tmpl/opac-tmpl/prog/en/lib/yui/menu/menu-min.js b/koha-tmpl/opac-tmpl/prog/en/lib/yui/menu/menu-min.js
deleted file mode 100644 (file)
index 137c9b1..0000000
+++ /dev/null
@@ -1,16 +0,0 @@
-/*
-Copyright (c) 2008, Yahoo! Inc. All rights reserved.
-Code licensed under the BSD License:
-http://developer.yahoo.net/yui/license.txt
-version: 2.5.1
-*/
-(function(){var B=YAHOO.util.Dom,A=YAHOO.util.Event;YAHOO.widget.MenuManager=function(){var N=false,F={},Q={},J={},E={"click":"clickEvent","mousedown":"mouseDownEvent","mouseup":"mouseUpEvent","mouseover":"mouseOverEvent","mouseout":"mouseOutEvent","keydown":"keyDownEvent","keyup":"keyUpEvent","keypress":"keyPressEvent"},K=null;function D(S){var R;if(S&&S.tagName){switch(S.tagName.toUpperCase()){case"DIV":R=S.parentNode;if((B.hasClass(S,"hd")||B.hasClass(S,"bd")||B.hasClass(S,"ft"))&&R&&R.tagName&&R.tagName.toUpperCase()=="DIV"){return R;}else{return S;}break;case"LI":return S;default:R=S.parentNode;if(R){return D(R);}break;}}}function G(V){var R=A.getTarget(V),S=D(R),X,T,U,Z,Y;if(S){T=S.tagName.toUpperCase();if(T=="LI"){U=S.id;if(U&&J[U]){Z=J[U];Y=Z.parent;}}else{if(T=="DIV"){if(S.id){Y=F[S.id];}}}}if(Y){X=E[V.type];if(Z&&!Z.cfg.getProperty("disabled")){Z[X].fire(V);if(V.type=="keyup"||V.type=="mousedown"){if(K!=Z){if(K){K.blurEvent.fire();}Z.focusEvent.fire();}}}Y[X].fire(V,Z);}else{if(V.type=="mousedown"){if(K){K.blurEvent.fire();K=null;}for(var W in Q){if(YAHOO.lang.hasOwnProperty(Q,W)){Y=Q[W];if(Y.cfg.getProperty("clicktohide")&&!(Y instanceof YAHOO.widget.MenuBar)&&Y.cfg.getProperty("position")=="dynamic"){Y.hide();}else{Y.clearActiveItem(true);}}}}else{if(V.type=="keyup"){if(K){K.blurEvent.fire();K=null;}}}}}function P(S,R,T){if(F[T.id]){this.removeMenu(T);}}function M(S,R){var T=R[0];if(T){K=T;}}function H(S,R){K=null;}function C(T,S){var R=S[0],U=this.id;if(R){Q[U]=this;}else{if(Q[U]){delete Q[U];}}}function L(S,R){O(this);}function O(S){var R=S.id;if(R&&J[R]){if(K==S){K=null;}delete J[R];S.destroyEvent.unsubscribe(L);}}function I(S,R){var U=R[0],T;if(U instanceof YAHOO.widget.MenuItem){T=U.id;if(!J[T]){J[T]=U;U.destroyEvent.subscribe(L);}}}return{addMenu:function(S){var R;if(S instanceof YAHOO.widget.Menu&&S.id&&!F[S.id]){F[S.id]=S;if(!N){R=document;A.on(R,"mouseover",G,this,true);A.on(R,"mouseout",G,this,true);A.on(R,"mousedown",G,this,true);A.on(R,"mouseup",G,this,true);A.on(R,"click",G,this,true);A.on(R,"keydown",G,this,true);A.on(R,"keyup",G,this,true);A.on(R,"keypress",G,this,true);N=true;}S.cfg.subscribeToConfigEvent("visible",C);S.destroyEvent.subscribe(P,S,this);S.itemAddedEvent.subscribe(I);S.focusEvent.subscribe(M);S.blurEvent.subscribe(H);}},removeMenu:function(U){var S,R,T;if(U){S=U.id;if(F[S]==U){R=U.getItems();if(R&&R.length>0){T=R.length-1;do{O(R[T]);}while(T--);}delete F[S];if(Q[S]==U){delete Q[S];}if(U.cfg){U.cfg.unsubscribeFromConfigEvent("visible",C);}U.destroyEvent.unsubscribe(P,U);U.itemAddedEvent.unsubscribe(I);U.focusEvent.unsubscribe(M);U.blurEvent.unsubscribe(H);}}},hideVisible:function(){var R;for(var S in Q){if(YAHOO.lang.hasOwnProperty(Q,S)){R=Q[S];if(!(R instanceof YAHOO.widget.MenuBar)&&R.cfg.getProperty("position")=="dynamic"){R.hide();}}}},getVisible:function(){return Q;},getMenus:function(){return F;},getMenu:function(S){var R=F[S];if(R){return R;}},getMenuItem:function(R){var S=J[R];if(S){return S;}},getMenuItemGroup:function(U){var S=B.get(U),R,W,V,T;if(S&&S.tagName&&S.tagName.toUpperCase()=="UL"){W=S.firstChild;if(W){R=[];do{T=W.id;if(T){V=this.getMenuItem(T);if(V){R[R.length]=V;}}}while((W=W.nextSibling));if(R.length>0){return R;}}}},getFocusedMenuItem:function(){return K;},getFocusedMenu:function(){if(K){return(K.parent.getRoot());}},toString:function(){return"MenuManager";}};}();})();(function(){YAHOO.widget.Menu=function(O,N){if(N){this.parent=N.parent;this.lazyLoad=N.lazyLoad||N.lazyload;this.itemData=N.itemData||N.itemdata;}YAHOO.widget.Menu.superclass.constructor.call(this,O,N);};function I(N){if(typeof N=="string"){return("dynamic,static".indexOf((N.toLowerCase()))!=-1);}}var C=YAHOO.util.Dom,M=YAHOO.util.Event,D=YAHOO.widget.Module,B=YAHOO.widget.Overlay,F=YAHOO.widget.Menu,K=YAHOO.widget.MenuManager,L=YAHOO.util.CustomEvent,E=YAHOO.lang,H=YAHOO.env.ua,G,A={"MOUSE_OVER":"mouseover","MOUSE_OUT":"mouseout","MOUSE_DOWN":"mousedown","MOUSE_UP":"mouseup","CLICK":"click","KEY_PRESS":"keypress","KEY_DOWN":"keydown","KEY_UP":"keyup","FOCUS":"focus","BLUR":"blur","ITEM_ADDED":"itemAdded","ITEM_REMOVED":"itemRemoved"},J={"VISIBLE":{key:"visible",value:false,validator:E.isBoolean},"CONSTRAIN_TO_VIEWPORT":{key:"constraintoviewport",value:true,validator:E.isBoolean,supercedes:["iframe","x","y","xy"]},"POSITION":{key:"position",value:"dynamic",validator:I,supercedes:["visible","iframe"]},"SUBMENU_ALIGNMENT":{key:"submenualignment",value:["tl","tr"],suppressEvent:true},"AUTO_SUBMENU_DISPLAY":{key:"autosubmenudisplay",value:true,validator:E.isBoolean,suppressEvent:true},"SHOW_DELAY":{key:"showdelay",value:250,validator:E.isNumber,suppressEvent:true},"HIDE_DELAY":{key:"hidedelay",value:0,validator:E.isNumber,suppressEvent:true},"SUBMENU_HIDE_DELAY":{key:"submenuhidedelay",value:250,validator:E.isNumber,suppressEvent:true},"CLICK_TO_HIDE":{key:"clicktohide",value:true,validator:E.isBoolean,suppressEvent:true},"CONTAINER":{key:"container",suppressEvent:true},"SCROLL_INCREMENT":{key:"scrollincrement",value:1,validator:E.isNumber,supercedes:["maxheight"],suppressEvent:true},"MIN_SCROLL_HEIGHT":{key:"minscrollheight",value:90,validator:E.isNumber,supercedes:["maxheight"],suppressEvent:true},"MAX_HEIGHT":{key:"maxheight",value:0,validator:E.isNumber,supercedes:["iframe"],suppressEvent:true},"CLASS_NAME":{key:"classname",value:null,validator:E.isString,suppressEvent:true},"DISABLED":{key:"disabled",value:false,validator:E.isBoolean,suppressEvent:true}};YAHOO.lang.extend(F,B,{CSS_CLASS_NAME:"yuimenu",ITEM_TYPE:null,GROUP_TITLE_TAG_NAME:"h6",OFF_SCREEN_POSITION:[-10000,-10000],_nHideDelayId:null,_nShowDelayId:null,_nSubmenuHideDelayId:null,_nBodyScrollId:null,_bHideDelayEventHandlersAssigned:false,_bHandledMouseOverEvent:false,_bHandledMouseOutEvent:false,_aGroupTitleElements:null,_aItemGroups:null,_aListElements:null,_nCurrentMouseX:0,_bStopMouseEventHandlers:false,_sClassName:null,lazyLoad:false,itemData:null,activeItem:null,parent:null,srcElement:null,mouseOverEvent:null,mouseOutEvent:null,mouseDownEvent:null,mouseUpEvent:null,clickEvent:null,keyPressEvent:null,keyDownEvent:null,keyUpEvent:null,itemAddedEvent:null,itemRemovedEvent:null,init:function(P,O){this._aItemGroups=[];
-this._aListElements=[];this._aGroupTitleElements=[];if(!this.ITEM_TYPE){this.ITEM_TYPE=YAHOO.widget.MenuItem;}var N;if(typeof P=="string"){N=document.getElementById(P);}else{if(P.tagName){N=P;}}if(N&&N.tagName){switch(N.tagName.toUpperCase()){case"DIV":this.srcElement=N;if(!N.id){N.setAttribute("id",C.generateId());}F.superclass.init.call(this,N);this.beforeInitEvent.fire(F);break;case"SELECT":this.srcElement=N;F.superclass.init.call(this,C.generateId());this.beforeInitEvent.fire(F);break;}}else{F.superclass.init.call(this,P);this.beforeInitEvent.fire(F);}if(this.element){C.addClass(this.element,this.CSS_CLASS_NAME);this.initEvent.subscribe(this._onInit);this.beforeRenderEvent.subscribe(this._onBeforeRender);this.renderEvent.subscribe(this._onRender);this.renderEvent.subscribe(this.onRender);this.beforeShowEvent.subscribe(this._onBeforeShow);this.hideEvent.subscribe(this.positionOffScreen);this.showEvent.subscribe(this._onShow);this.beforeHideEvent.subscribe(this._onBeforeHide);this.mouseOverEvent.subscribe(this._onMouseOver);this.mouseOutEvent.subscribe(this._onMouseOut);this.clickEvent.subscribe(this._onClick);this.keyDownEvent.subscribe(this._onKeyDown);this.keyPressEvent.subscribe(this._onKeyPress);if(H.gecko||H.webkit){this.cfg.subscribeToConfigEvent("y",this._onYChange);}if(O){this.cfg.applyConfig(O,true);}K.addMenu(this);this.initEvent.fire(F);}},_initSubTree:function(){var O=this.srcElement,N,Q,T,U,S,R,P;if(O){N=(O.tagName&&O.tagName.toUpperCase());if(N=="DIV"){U=this.body.firstChild;if(U){Q=0;T=this.GROUP_TITLE_TAG_NAME.toUpperCase();do{if(U&&U.tagName){switch(U.tagName.toUpperCase()){case T:this._aGroupTitleElements[Q]=U;break;case"UL":this._aListElements[Q]=U;this._aItemGroups[Q]=[];Q++;break;}}}while((U=U.nextSibling));if(this._aListElements[0]){C.addClass(this._aListElements[0],"first-of-type");}}}U=null;if(N){switch(N){case"DIV":S=this._aListElements;R=S.length;if(R>0){P=R-1;do{U=S[P].firstChild;if(U){do{if(U&&U.tagName&&U.tagName.toUpperCase()=="LI"){this.addItem(new this.ITEM_TYPE(U,{parent:this}),P);}}while((U=U.nextSibling));}}while(P--);}break;case"SELECT":U=O.firstChild;do{if(U&&U.tagName){switch(U.tagName.toUpperCase()){case"OPTGROUP":case"OPTION":this.addItem(new this.ITEM_TYPE(U,{parent:this}));break;}}}while((U=U.nextSibling));break;}}}},_getFirstEnabledItem:function(){var N=this.getItems(),Q=N.length,P;for(var O=0;O<Q;O++){P=N[O];if(P&&!P.cfg.getProperty("disabled")&&P.element.style.display!="none"){return P;}}},_addItemToGroup:function(S,T,W){var U,X,Q,V,R,O,P;function N(Y,Z){return(Y[Z]||N(Y,(Z+1)));}if(T instanceof this.ITEM_TYPE){U=T;U.parent=this;}else{if(typeof T=="string"){U=new this.ITEM_TYPE(T,{parent:this});}else{if(typeof T=="object"){T.parent=this;U=new this.ITEM_TYPE(T.text,T);}}}if(U){if(U.cfg.getProperty("selected")){this.activeItem=U;}X=typeof S=="number"?S:0;Q=this._getItemGroup(X);if(!Q){Q=this._createItemGroup(X);}if(typeof W=="number"){R=(W>=Q.length);if(Q[W]){Q.splice(W,0,U);}else{Q[W]=U;}V=Q[W];if(V){if(R&&(!V.element.parentNode||V.element.parentNode.nodeType==11)){this._aListElements[X].appendChild(V.element);}else{O=N(Q,(W+1));if(O&&(!V.element.parentNode||V.element.parentNode.nodeType==11)){this._aListElements[X].insertBefore(V.element,O.element);}}V.parent=this;this._subscribeToItemEvents(V);this._configureSubmenu(V);this._updateItemProperties(X);this.itemAddedEvent.fire(V);this.changeContentEvent.fire();return V;}}else{P=Q.length;Q[P]=U;V=Q[P];if(V){if(!C.isAncestor(this._aListElements[X],V.element)){this._aListElements[X].appendChild(V.element);}V.element.setAttribute("groupindex",X);V.element.setAttribute("index",P);V.parent=this;V.index=P;V.groupIndex=X;this._subscribeToItemEvents(V);this._configureSubmenu(V);if(P===0){C.addClass(V.element,"first-of-type");}this.itemAddedEvent.fire(V);this.changeContentEvent.fire();return V;}}}},_removeItemFromGroupByIndex:function(Q,O){var P=typeof Q=="number"?Q:0,R=this._getItemGroup(P),T,S,N;if(R){T=R.splice(O,1);S=T[0];if(S){this._updateItemProperties(P);if(R.length===0){N=this._aListElements[P];if(this.body&&N){this.body.removeChild(N);}this._aItemGroups.splice(P,1);this._aListElements.splice(P,1);N=this._aListElements[0];if(N){C.addClass(N,"first-of-type");}}this.itemRemovedEvent.fire(S);this.changeContentEvent.fire();return S;}}},_removeItemFromGroupByValue:function(P,N){var R=this._getItemGroup(P),S,Q,O;if(R){S=R.length;Q=-1;if(S>0){O=S-1;do{if(R[O]==N){Q=O;break;}}while(O--);if(Q>-1){return(this._removeItemFromGroupByIndex(P,Q));}}}},_updateItemProperties:function(O){var P=this._getItemGroup(O),S=P.length,R,Q,N;if(S>0){N=S-1;do{R=P[N];if(R){Q=R.element;R.index=N;R.groupIndex=O;Q.setAttribute("groupindex",O);Q.setAttribute("index",N);C.removeClass(Q,"first-of-type");}}while(N--);if(Q){C.addClass(Q,"first-of-type");}}},_createItemGroup:function(O){var N;if(!this._aItemGroups[O]){this._aItemGroups[O]=[];N=document.createElement("ul");this._aListElements[O]=N;return this._aItemGroups[O];}},_getItemGroup:function(O){var N=((typeof O=="number")?O:0);return this._aItemGroups[N];},_configureSubmenu:function(N){var O=N.cfg.getProperty("submenu");if(O){this.cfg.configChangedEvent.subscribe(this._onParentMenuConfigChange,O,true);this.renderEvent.subscribe(this._onParentMenuRender,O,true);O.beforeShowEvent.subscribe(this._onSubmenuBeforeShow);}},_subscribeToItemEvents:function(N){N.focusEvent.subscribe(this._onMenuItemFocus);N.blurEvent.subscribe(this._onMenuItemBlur);N.destroyEvent.subscribe(this._onMenuItemDestroy,N,this);N.cfg.configChangedEvent.subscribe(this._onMenuItemConfigChange,N,this);},_onVisibleChange:function(P,O){var N=O[0];if(N){C.addClass(this.element,"visible");}else{C.removeClass(this.element,"visible");}},_cancelHideDelay:function(){var N=this.getRoot();if(N._nHideDelayId){window.clearTimeout(N._nHideDelayId);}},_execHideDelay:function(){this._cancelHideDelay();var O=this.getRoot(),P=this;function N(){if(O.activeItem){O.clearActiveItem();}if(O==P&&!(P instanceof YAHOO.widget.MenuBar)&&P.cfg.getProperty("position")=="dynamic"){P.hide();
-}}O._nHideDelayId=window.setTimeout(N,O.cfg.getProperty("hidedelay"));},_cancelShowDelay:function(){var N=this.getRoot();if(N._nShowDelayId){window.clearTimeout(N._nShowDelayId);}},_execShowDelay:function(P){var O=this.getRoot();function N(){if(P.parent.cfg.getProperty("selected")){P.show();}}O._nShowDelayId=window.setTimeout(N,O.cfg.getProperty("showdelay"));},_execSubmenuHideDelay:function(Q,O,N){var P=this;Q._nSubmenuHideDelayId=window.setTimeout(function(){if(P._nCurrentMouseX>(O+10)){Q._nSubmenuHideDelayId=window.setTimeout(function(){Q.hide();},N);}else{Q.hide();}},50);},_disableScrollHeader:function(){if(!this._bHeaderDisabled){C.addClass(this.header,"topscrollbar_disabled");this._bHeaderDisabled=true;}},_disableScrollFooter:function(){if(!this._bFooterDisabled){C.addClass(this.footer,"bottomscrollbar_disabled");this._bFooterDisabled=true;}},_enableScrollHeader:function(){if(this._bHeaderDisabled){C.removeClass(this.header,"topscrollbar_disabled");this._bHeaderDisabled=false;}},_enableScrollFooter:function(){if(this._bFooterDisabled){C.removeClass(this.footer,"bottomscrollbar_disabled");this._bFooterDisabled=false;}},_onMouseOver:function(W,R){if(this._bStopMouseEventHandlers){return false;}var X=R[0],V=R[1],N=M.getTarget(X),O,Q,U,P,T,S;if(!this._bHandledMouseOverEvent&&(N==this.element||C.isAncestor(this.element,N))){this._nCurrentMouseX=0;M.on(this.element,"mousemove",this._onMouseMove,this,true);if(!C.isAncestor(V.element,M.getRelatedTarget(X))){this.clearActiveItem();}if(this.parent&&this._nSubmenuHideDelayId){window.clearTimeout(this._nSubmenuHideDelayId);this.parent.cfg.setProperty("selected",true);O=this.parent.parent;O._bHandledMouseOutEvent=true;O._bHandledMouseOverEvent=false;}this._bHandledMouseOverEvent=true;this._bHandledMouseOutEvent=false;}if(V&&!V.handledMouseOverEvent&&!V.cfg.getProperty("disabled")&&(N==V.element||C.isAncestor(V.element,N))){Q=this.cfg.getProperty("showdelay");U=(Q>0);if(U){this._cancelShowDelay();}P=this.activeItem;if(P){P.cfg.setProperty("selected",false);}T=V.cfg;T.setProperty("selected",true);if(this.hasFocus()){V.focus();}if(this.cfg.getProperty("autosubmenudisplay")){S=T.getProperty("submenu");if(S){if(U){this._execShowDelay(S);}else{S.show();}}}V.handledMouseOverEvent=true;V.handledMouseOutEvent=false;}},_onMouseOut:function(V,P){if(this._bStopMouseEventHandlers){return false;}var W=P[0],T=P[1],Q=M.getRelatedTarget(W),U=false,S,R,N,O;if(T&&!T.cfg.getProperty("disabled")){S=T.cfg;R=S.getProperty("submenu");if(R&&(Q==R.element||C.isAncestor(R.element,Q))){U=true;}if(!T.handledMouseOutEvent&&((Q!=T.element&&!C.isAncestor(T.element,Q))||U)){if(!U){T.cfg.setProperty("selected",false);if(R){N=this.cfg.getProperty("submenuhidedelay");O=this.cfg.getProperty("showdelay");if(!(this instanceof YAHOO.widget.MenuBar)&&N>0&&O>=N){this._execSubmenuHideDelay(R,M.getPageX(W),N);}else{R.hide();}}}T.handledMouseOutEvent=true;T.handledMouseOverEvent=false;}}if(!this._bHandledMouseOutEvent&&((Q!=this.element&&!C.isAncestor(this.element,Q))||U)){M.removeListener(this.element,"mousemove",this._onMouseMove);this._nCurrentMouseX=M.getPageX(W);this._bHandledMouseOutEvent=true;this._bHandledMouseOverEvent=false;}},_onMouseMove:function(O,N){if(this._bStopMouseEventHandlers){return false;}this._nCurrentMouseX=M.getPageX(O);},_onClick:function(Y,Q){var W=YAHOO.util.Event,P=YAHOO.util.Dom,Z=Q[0],T=Q[1],R,V=false,O,N,S,U,X;if(T){if(T.cfg.getProperty("disabled")){W.preventDefault(Z);}else{R=T.cfg.getProperty("submenu");S=T.cfg.getProperty("url");if(S){U=S.indexOf("#");X=S.length;if(U!=-1){S=S.substr(U,X);X=S.length;if(X>1){N=S.substr(1,X);V=P.isAncestor(this.element,N);}else{if(X===1){V=true;}}}}if(V&&!T.cfg.getProperty("target")){W.preventDefault(Z);if(H.webkit){T.focus();}else{T.focusEvent.fire();}}if(!R){O=this.getRoot();if(O instanceof YAHOO.widget.MenuBar||O.cfg.getProperty("position")=="static"){O.clearActiveItem();}else{O.hide();}}}}},_onKeyDown:function(b,V){var Y=V[0],X=V[1],f=this,U,Z,O,S,c,N,e,R,a,Q,W,d,T;function P(){f._bStopMouseEventHandlers=true;window.setTimeout(function(){f._bStopMouseEventHandlers=false;},10);}if(X&&!X.cfg.getProperty("disabled")){Z=X.cfg;O=this.parent;switch(Y.keyCode){case 38:case 40:c=(Y.keyCode==38)?X.getPreviousEnabledSibling():X.getNextEnabledSibling();if(c){this.clearActiveItem();c.cfg.setProperty("selected",true);c.focus();if(this.cfg.getProperty("maxheight")>0){N=this.body;e=N.scrollTop;R=N.offsetHeight;a=this.getItems();Q=a.length-1;W=c.element.offsetTop;if(Y.keyCode==40){if(W>=(R+e)){N.scrollTop=W-R;}else{if(W<=e){N.scrollTop=0;}}if(c==a[Q]){N.scrollTop=c.element.offsetTop;}}else{if(W<=e){N.scrollTop=W-c.element.offsetHeight;}else{if(W>=(e+R)){N.scrollTop=W;}}if(c==a[0]){N.scrollTop=0;}}e=N.scrollTop;d=N.scrollHeight-N.offsetHeight;if(e===0){this._disableScrollHeader();this._enableScrollFooter();}else{if(e==d){this._enableScrollHeader();this._disableScrollFooter();}else{this._enableScrollHeader();this._enableScrollFooter();}}}}M.preventDefault(Y);P();break;case 39:U=Z.getProperty("submenu");if(U){if(!Z.getProperty("selected")){Z.setProperty("selected",true);}U.show();U.setInitialFocus();U.setInitialSelection();}else{S=this.getRoot();if(S instanceof YAHOO.widget.MenuBar){c=S.activeItem.getNextEnabledSibling();if(c){S.clearActiveItem();c.cfg.setProperty("selected",true);U=c.cfg.getProperty("submenu");if(U){U.show();}c.focus();}}}M.preventDefault(Y);P();break;case 37:if(O){T=O.parent;if(T instanceof YAHOO.widget.MenuBar){c=T.activeItem.getPreviousEnabledSibling();if(c){T.clearActiveItem();c.cfg.setProperty("selected",true);U=c.cfg.getProperty("submenu");if(U){U.show();}c.focus();}}else{this.hide();O.focus();}}M.preventDefault(Y);P();break;}}if(Y.keyCode==27){if(this.cfg.getProperty("position")=="dynamic"){this.hide();if(this.parent){this.parent.focus();}}else{if(this.activeItem){U=this.activeItem.cfg.getProperty("submenu");if(U&&U.cfg.getProperty("visible")){U.hide();this.activeItem.focus();}else{this.activeItem.blur();this.activeItem.cfg.setProperty("selected",false);
-}}}M.preventDefault(Y);}},_onKeyPress:function(P,O){var N=O[0];if(N.keyCode==40||N.keyCode==38){M.preventDefault(N);}},_onYChange:function(O,N){var Q=this.parent,S,P,R;if(Q){S=Q.parent.body.scrollTop;if(S>0){R=(this.cfg.getProperty("y")-S);C.setY(this.element,R);P=this.iframe;if(P){C.setY(P,R);}this.cfg.setProperty("y",R,true);}}},_onScrollTargetMouseOver:function(T,W){this._cancelHideDelay();var P=M.getTarget(T),R=this.body,V=this,Q=this.cfg.getProperty("scrollincrement"),N,O;function U(){var X=R.scrollTop;if(X<N){R.scrollTop=(X+Q);V._enableScrollHeader();}else{R.scrollTop=N;window.clearInterval(V._nBodyScrollId);V._disableScrollFooter();}}function S(){var X=R.scrollTop;if(X>0){R.scrollTop=(X-Q);V._enableScrollFooter();}else{R.scrollTop=0;window.clearInterval(V._nBodyScrollId);V._disableScrollHeader();}}if(C.hasClass(P,"hd")){O=S;}else{N=R.scrollHeight-R.offsetHeight;O=U;}this._nBodyScrollId=window.setInterval(O,10);},_onScrollTargetMouseOut:function(O,N){window.clearInterval(this._nBodyScrollId);this._cancelHideDelay();},_onInit:function(O,N){this.cfg.subscribeToConfigEvent("visible",this._onVisibleChange);var P=!this.parent,Q=this.lazyLoad;if(((P&&!Q)||(P&&(this.cfg.getProperty("visible")||this.cfg.getProperty("position")=="static"))||(!P&&!Q))&&this.getItemGroups().length===0){if(this.srcElement){this._initSubTree();}if(this.itemData){this.addItems(this.itemData);}}else{if(Q){this.cfg.fireQueue();}}},_onBeforeRender:function(Q,P){var R=this.element,U=this._aListElements.length,O=true,T=0,N,S;if(U>0){do{N=this._aListElements[T];if(N){if(O){C.addClass(N,"first-of-type");O=false;}if(!C.isAncestor(R,N)){this.appendToBody(N);}S=this._aGroupTitleElements[T];if(S){if(!C.isAncestor(R,S)){N.parentNode.insertBefore(S,N);}C.addClass(N,"hastitle");}}T++;}while(T<U);}},_onRender:function(O,N){if(this.cfg.getProperty("position")=="dynamic"){if(!this.cfg.getProperty("visible")){this.positionOffScreen();}}},_onBeforeShow:function(W,R){var V,O,S,Q,T;if(this.lazyLoad&&this.getItemGroups().length===0){if(this.srcElement){this._initSubTree();}if(this.itemData){if(this.parent&&this.parent.parent&&this.parent.parent.srcElement&&this.parent.parent.srcElement.tagName.toUpperCase()=="SELECT"){V=this.itemData.length;for(O=0;O<V;O++){if(this.itemData[O].tagName){this.addItem((new this.ITEM_TYPE(this.itemData[O])));}}}else{this.addItems(this.itemData);}}T=this.srcElement;if(T){if(T.tagName.toUpperCase()=="SELECT"){if(C.inDocument(T)){this.render(T.parentNode);}else{this.render(this.cfg.getProperty("container"));}}else{this.render();}}else{if(this.parent){this.render(this.parent.element);}else{this.render(this.cfg.getProperty("container"));}}}var P=this.cfg.getProperty("maxheight"),N=this.cfg.getProperty("minscrollheight"),U=this.cfg.getProperty("position")=="dynamic";if(!this.parent&&U){this.cfg.refireEvent("xy");}function X(){this.cfg.setProperty("maxheight",0);this.hideEvent.unsubscribe(X);}if(!(this instanceof YAHOO.widget.MenuBar)&&U){if(P===0){S=C.getViewportHeight();if(this.parent&&this.parent.parent instanceof YAHOO.widget.MenuBar){Q=YAHOO.util.Region.getRegion(this.parent.element);S=(S-Q.bottom);}if(this.element.offsetHeight>=S){P=(S-(B.VIEWPORT_OFFSET*2));if(P<N){P=N;}this.cfg.setProperty("maxheight",P);this.hideEvent.subscribe(X);}}}},_onShow:function(Q,P){var T=this.parent,S,N,O;function R(V){var U;if(V.type=="mousedown"||(V.type=="keydown"&&V.keyCode==27)){U=M.getTarget(V);if(U!=S.element||!C.isAncestor(S.element,U)){S.cfg.setProperty("autosubmenudisplay",false);M.removeListener(document,"mousedown",R);M.removeListener(document,"keydown",R);}}}if(T){S=T.parent;N=S.cfg.getProperty("submenualignment");O=this.cfg.getProperty("submenualignment");if((N[0]!=O[0])&&(N[1]!=O[1])){this.cfg.setProperty("submenualignment",[N[0],N[1]]);}if(!S.cfg.getProperty("autosubmenudisplay")&&(S instanceof YAHOO.widget.MenuBar||S.cfg.getProperty("position")=="static")){S.cfg.setProperty("autosubmenudisplay",true);M.on(document,"mousedown",R);M.on(document,"keydown",R);}}},_onBeforeHide:function(P,O){var N=this.activeItem,R,Q;if(N){R=N.cfg;R.setProperty("selected",false);Q=R.getProperty("submenu");if(Q){Q.hide();}}if(this.getRoot()==this){this.blur();}},_onParentMenuConfigChange:function(O,N,R){var P=N[0][0],Q=N[0][1];switch(P){case"iframe":case"constraintoviewport":case"hidedelay":case"showdelay":case"submenuhidedelay":case"clicktohide":case"effect":case"classname":case"scrollincrement":case"minscrollheight":R.cfg.setProperty(P,Q);break;}},_onParentMenuRender:function(O,N,S){var P=S.parent.parent.cfg,Q={constraintoviewport:P.getProperty("constraintoviewport"),xy:[0,0],clicktohide:P.getProperty("clicktohide"),effect:P.getProperty("effect"),showdelay:P.getProperty("showdelay"),hidedelay:P.getProperty("hidedelay"),submenuhidedelay:P.getProperty("submenuhidedelay"),classname:P.getProperty("classname"),scrollincrement:P.getProperty("scrollincrement"),minscrollheight:P.getProperty("minscrollheight"),iframe:P.getProperty("iframe")},R;S.cfg.applyConfig(Q);if(!this.lazyLoad){R=this.parent.element;if(this.element.parentNode==R){this.render();}else{this.render(R);}}},_onSubmenuBeforeShow:function(P,O){var Q=this.parent,N=Q.parent.cfg.getProperty("submenualignment");if(!this.cfg.getProperty("context")){this.cfg.setProperty("context",[Q.element,N[0],N[1]]);}else{this.align();}},_onMenuItemFocus:function(O,N){this.parent.focusEvent.fire(this);},_onMenuItemBlur:function(O,N){this.parent.blurEvent.fire(this);},_onMenuItemDestroy:function(P,O,N){this._removeItemFromGroupByValue(N.groupIndex,N);},_onMenuItemConfigChange:function(P,O,N){var R=O[0][0],S=O[0][1],Q;switch(R){case"selected":if(S===true){this.activeItem=N;}break;case"submenu":Q=O[0][1];if(Q){this._configureSubmenu(N);}break;}},enforceConstraints:function(P,N,T){YAHOO.widget.Menu.superclass.enforceConstraints.apply(this,arguments);var S=this.parent,O,R,Q,U;if(S){O=S.parent;if(!(O instanceof YAHOO.widget.MenuBar)){R=O.cfg.getProperty("x");U=this.cfg.getProperty("x");if(U<(R+S.element.offsetWidth)){Q=(R-this.element.offsetWidth);
-this.cfg.setProperty("x",Q,true);this.cfg.setProperty("xy",[Q,(this.cfg.getProperty("y"))],true);}}}},configVisible:function(P,O,Q){var N,R;if(this.cfg.getProperty("position")=="dynamic"){F.superclass.configVisible.call(this,P,O,Q);}else{N=O[0];R=C.getStyle(this.element,"display");C.setStyle(this.element,"visibility","visible");if(N){if(R!="block"){this.beforeShowEvent.fire();C.setStyle(this.element,"display","block");this.showEvent.fire();}}else{if(R=="block"){this.beforeHideEvent.fire();C.setStyle(this.element,"display","none");this.hideEvent.fire();}}}},configPosition:function(P,O,S){var R=this.element,Q=O[0]=="static"?"static":"absolute",T=this.cfg,N;C.setStyle(R,"position",Q);if(Q=="static"){C.setStyle(R,"display","block");T.setProperty("visible",true);}else{C.setStyle(R,"visibility","hidden");}if(Q=="absolute"){N=T.getProperty("zindex");if(!N||N===0){N=this.parent?(this.parent.parent.cfg.getProperty("zindex")+1):1;T.setProperty("zindex",N);}}},configIframe:function(O,N,P){if(this.cfg.getProperty("position")=="dynamic"){F.superclass.configIframe.call(this,O,N,P);}},configHideDelay:function(O,N,R){var T=N[0],S=this.mouseOutEvent,P=this.mouseOverEvent,Q=this.keyDownEvent;if(T>0){if(!this._bHideDelayEventHandlersAssigned){S.subscribe(this._execHideDelay);P.subscribe(this._cancelHideDelay);Q.subscribe(this._cancelHideDelay);this._bHideDelayEventHandlersAssigned=true;}}else{S.unsubscribe(this._execHideDelay);P.unsubscribe(this._cancelHideDelay);Q.unsubscribe(this._cancelHideDelay);this._bHideDelayEventHandlersAssigned=false;}},configContainer:function(O,N,Q){var P=N[0];if(typeof P=="string"){this.cfg.setProperty("container",document.getElementById(P),true);}},_setMaxHeight:function(O,N,P){this.cfg.setProperty("maxheight",P);this.renderEvent.unsubscribe(this._setMaxHeight);},configMaxHeight:function(a,U,X){var T=U[0],Q=this.element,R=this.body,Y=this.header,O=this.footer,W=this._onScrollTargetMouseOver,b=this._onScrollTargetMouseOut,N=this.cfg.getProperty("minscrollheight"),V,S,P;if(T!==0&&T<N){T=N;}if(this.lazyLoad&&!R){this.renderEvent.unsubscribe(this._setMaxHeight);if(T>0){this.renderEvent.subscribe(this._setMaxHeight,T,this);}return ;}C.setStyle(R,"height","");C.removeClass(R,"yui-menu-body-scrolled");var Z=((H.gecko&&this.parent&&this.parent.parent&&this.parent.parent.cfg.getProperty("position")=="dynamic")||H.ie);if(Z){if(!this.cfg.getProperty("width")){S=Q.offsetWidth;Q.style.width=S+"px";P=(S-(Q.offsetWidth-S))+"px";this.cfg.setProperty("width",P);}}if(!Y&&!O){this.setHeader("&#32;");this.setFooter("&#32;");Y=this.header;O=this.footer;C.addClass(Y,"topscrollbar");C.addClass(O,"bottomscrollbar");Q.insertBefore(Y,R);Q.appendChild(O);}V=(T-(Y.offsetHeight+Y.offsetHeight));if(V>0&&(R.offsetHeight>T)){C.addClass(R,"yui-menu-body-scrolled");C.setStyle(R,"height",(V+"px"));M.on(Y,"mouseover",W,this,true);M.on(Y,"mouseout",b,this,true);M.on(O,"mouseover",W,this,true);M.on(O,"mouseout",b,this,true);this._disableScrollHeader();this._enableScrollFooter();}else{if(Y&&O){if(Z){this.cfg.setProperty("width","");}this._enableScrollHeader();this._enableScrollFooter();M.removeListener(Y,"mouseover",W);M.removeListener(Y,"mouseout",b);M.removeListener(O,"mouseover",W);M.removeListener(O,"mouseout",b);Q.removeChild(Y);Q.removeChild(O);this.header=null;this.footer=null;}}this.cfg.refireEvent("iframe");},configClassName:function(P,O,Q){var N=O[0];if(this._sClassName){C.removeClass(this.element,this._sClassName);}C.addClass(this.element,N);this._sClassName=N;},_onItemAdded:function(O,N){var P=N[0];if(P){P.cfg.setProperty("disabled",true);}},configDisabled:function(P,O,S){var R=O[0],N=this.getItems(),T,Q;if(E.isArray(N)){T=N.length;if(T>0){Q=T-1;do{N[Q].cfg.setProperty("disabled",R);}while(Q--);}if(R){this.clearActiveItem(true);C.addClass(this.element,"disabled");this.itemAddedEvent.subscribe(this._onItemAdded);}else{C.removeClass(this.element,"disabled");this.itemAddedEvent.unsubscribe(this._onItemAdded);}}},onRender:function(R,Q){function S(){var W=this.element,V=this._shadow;if(V&&W){V.style.width=(W.offsetWidth+6)+"px";V.style.height=(W.offsetHeight+1)+"px";}}function U(){this.element.appendChild(this._shadow);}function O(){C.addClass(this._shadow,"yui-menu-shadow-visible");}function N(){C.removeClass(this._shadow,"yui-menu-shadow-visible");}function T(){var W=this._shadow,V,X;if(!W){V=this.element;X=this;if(!G){G=document.createElement("div");G.className="yui-menu-shadow yui-menu-shadow-visible";}W=G.cloneNode(false);V.appendChild(W);this._shadow=W;this.beforeShowEvent.subscribe(O);this.beforeHideEvent.subscribe(N);if(H.ie){window.setTimeout(function(){S.call(X);X.syncIframe();},0);this.cfg.subscribeToConfigEvent("width",S);this.cfg.subscribeToConfigEvent("height",S);this.cfg.subscribeToConfigEvent("maxheight",S);this.changeContentEvent.subscribe(S);D.textResizeEvent.subscribe(S,X,true);this.destroyEvent.subscribe(function(){D.textResizeEvent.unsubscribe(S,X);});}this.cfg.subscribeToConfigEvent("maxheight",U);}}function P(){T.call(this);this.beforeShowEvent.unsubscribe(P);}if(this.cfg.getProperty("position")=="dynamic"){if(this.cfg.getProperty("visible")){T.call(this);}else{this.beforeShowEvent.subscribe(P);}}},initEvents:function(){F.superclass.initEvents.call(this);var N=L.LIST;this.mouseOverEvent=this.createEvent(A.MOUSE_OVER);this.mouseOverEvent.signature=N;this.mouseOutEvent=this.createEvent(A.MOUSE_OUT);this.mouseOutEvent.signature=N;this.mouseDownEvent=this.createEvent(A.MOUSE_DOWN);this.mouseDownEvent.signature=N;this.mouseUpEvent=this.createEvent(A.MOUSE_UP);this.mouseUpEvent.signature=N;this.clickEvent=this.createEvent(A.CLICK);this.clickEvent.signature=N;this.keyPressEvent=this.createEvent(A.KEY_PRESS);this.keyPressEvent.signature=N;this.keyDownEvent=this.createEvent(A.KEY_DOWN);this.keyDownEvent.signature=N;this.keyUpEvent=this.createEvent(A.KEY_UP);this.keyUpEvent.signature=N;this.focusEvent=this.createEvent(A.FOCUS);this.focusEvent.signature=N;this.blurEvent=this.createEvent(A.BLUR);this.blurEvent.signature=N;
-this.itemAddedEvent=this.createEvent(A.ITEM_ADDED);this.itemAddedEvent.signature=N;this.itemRemovedEvent=this.createEvent(A.ITEM_REMOVED);this.itemRemovedEvent.signature=N;},positionOffScreen:function(){var O=this.iframe,N=this.OFF_SCREEN_POSITION;C.setXY(this.element,N);if(O){C.setXY(O,N);}},getRoot:function(){var O=this.parent,N;if(O){N=O.parent;return N?N.getRoot():this;}else{return this;}},toString:function(){var O="Menu",N=this.id;if(N){O+=(" "+N);}return O;},setItemGroupTitle:function(S,R){var Q,P,O,N;if(typeof S=="string"&&S.length>0){Q=typeof R=="number"?R:0;P=this._aGroupTitleElements[Q];if(P){P.innerHTML=S;}else{P=document.createElement(this.GROUP_TITLE_TAG_NAME);P.innerHTML=S;this._aGroupTitleElements[Q]=P;}O=this._aGroupTitleElements.length-1;do{if(this._aGroupTitleElements[O]){C.removeClass(this._aGroupTitleElements[O],"first-of-type");N=O;}}while(O--);if(N!==null){C.addClass(this._aGroupTitleElements[N],"first-of-type");}this.changeContentEvent.fire();}},addItem:function(N,O){if(N){return this._addItemToGroup(O,N);}},addItems:function(Q,P){var S,N,R,O;if(E.isArray(Q)){S=Q.length;N=[];for(O=0;O<S;O++){R=Q[O];if(R){if(E.isArray(R)){N[N.length]=this.addItems(R,O);}else{N[N.length]=this._addItemToGroup(P,R);}}}if(N.length){return N;}}},insertItem:function(N,O,P){if(N){return this._addItemToGroup(P,N,O);}},removeItem:function(N,O){var P;if(typeof N!="undefined"){if(N instanceof YAHOO.widget.MenuItem){P=this._removeItemFromGroupByValue(O,N);}else{if(typeof N=="number"){P=this._removeItemFromGroupByIndex(O,N);}}if(P){P.destroy();return P;}}},getItems:function(){var P=this._aItemGroups,O,N=[];if(E.isArray(P)){O=P.length;return((O==1)?P[0]:(Array.prototype.concat.apply(N,P)));}},getItemGroups:function(){return this._aItemGroups;},getItem:function(N,O){var P;if(typeof N=="number"){P=this._getItemGroup(O);if(P){return P[N];}}},getSubmenus:function(){var O=this.getItems(),S=O.length,N,P,R,Q;if(S>0){N=[];for(Q=0;Q<S;Q++){R=O[Q];if(R){P=R.cfg.getProperty("submenu");if(P){N[N.length]=P;}}}}return N;},clearContent:function(){var R=this.getItems(),O=R.length,P=this.element,Q=this.body,V=this.header,N=this.footer,U,T,S;if(O>0){S=O-1;do{U=R[S];if(U){T=U.cfg.getProperty("submenu");if(T){this.cfg.configChangedEvent.unsubscribe(this._onParentMenuConfigChange,T);this.renderEvent.unsubscribe(this._onParentMenuRender,T);}this.removeItem(U);}}while(S--);}if(V){M.purgeElement(V);P.removeChild(V);}if(N){M.purgeElement(N);P.removeChild(N);}if(Q){M.purgeElement(Q);Q.innerHTML="";}this.activeItem=null;this._aItemGroups=[];this._aListElements=[];this._aGroupTitleElements=[];this.cfg.setProperty("width",null);},destroy:function(){this.clearContent();this._aItemGroups=null;this._aListElements=null;this._aGroupTitleElements=null;F.superclass.destroy.call(this);},setInitialFocus:function(){var N=this._getFirstEnabledItem();if(N){N.focus();}},setInitialSelection:function(){var N=this._getFirstEnabledItem();if(N){N.cfg.setProperty("selected",true);}},clearActiveItem:function(P){if(this.cfg.getProperty("showdelay")>0){this._cancelShowDelay();}var N=this.activeItem,Q,O;if(N){Q=N.cfg;if(P){N.blur();}Q.setProperty("selected",false);O=Q.getProperty("submenu");if(O){O.hide();}this.activeItem=null;}},focus:function(){if(!this.hasFocus()){this.setInitialFocus();}},blur:function(){var N;if(this.hasFocus()){N=K.getFocusedMenuItem();if(N){N.blur();}}},hasFocus:function(){return(K.getFocusedMenu()==this.getRoot());},subscribe:function(){function Q(V,U,X){var Y=U[0],W=Y.cfg.getProperty("submenu");if(W){W.subscribe.apply(W,X);}}function T(V,U,X){var W=this.cfg.getProperty("submenu");if(W){W.subscribe.apply(W,X);}}F.superclass.subscribe.apply(this,arguments);F.superclass.subscribe.call(this,"itemAdded",Q,arguments);var N=this.getItems(),S,R,O,P;if(N){S=N.length;if(S>0){P=S-1;do{R=N[P];O=R.cfg.getProperty("submenu");if(O){O.subscribe.apply(O,arguments);}else{R.cfg.subscribeToConfigEvent("submenu",T,arguments);}}while(P--);}}},initDefaultConfig:function(){F.superclass.initDefaultConfig.call(this);var N=this.cfg;N.addProperty(J.VISIBLE.key,{handler:this.configVisible,value:J.VISIBLE.value,validator:J.VISIBLE.validator});N.addProperty(J.CONSTRAIN_TO_VIEWPORT.key,{handler:this.configConstrainToViewport,value:J.CONSTRAIN_TO_VIEWPORT.value,validator:J.CONSTRAIN_TO_VIEWPORT.validator,supercedes:J.CONSTRAIN_TO_VIEWPORT.supercedes});N.addProperty(J.POSITION.key,{handler:this.configPosition,value:J.POSITION.value,validator:J.POSITION.validator,supercedes:J.POSITION.supercedes});N.addProperty(J.SUBMENU_ALIGNMENT.key,{value:J.SUBMENU_ALIGNMENT.value,suppressEvent:J.SUBMENU_ALIGNMENT.suppressEvent});N.addProperty(J.AUTO_SUBMENU_DISPLAY.key,{value:J.AUTO_SUBMENU_DISPLAY.value,validator:J.AUTO_SUBMENU_DISPLAY.validator,suppressEvent:J.AUTO_SUBMENU_DISPLAY.suppressEvent});N.addProperty(J.SHOW_DELAY.key,{value:J.SHOW_DELAY.value,validator:J.SHOW_DELAY.validator,suppressEvent:J.SHOW_DELAY.suppressEvent});N.addProperty(J.HIDE_DELAY.key,{handler:this.configHideDelay,value:J.HIDE_DELAY.value,validator:J.HIDE_DELAY.validator,suppressEvent:J.HIDE_DELAY.suppressEvent});N.addProperty(J.SUBMENU_HIDE_DELAY.key,{value:J.SUBMENU_HIDE_DELAY.value,validator:J.SUBMENU_HIDE_DELAY.validator,suppressEvent:J.SUBMENU_HIDE_DELAY.suppressEvent});N.addProperty(J.CLICK_TO_HIDE.key,{value:J.CLICK_TO_HIDE.value,validator:J.CLICK_TO_HIDE.validator,suppressEvent:J.CLICK_TO_HIDE.suppressEvent});N.addProperty(J.CONTAINER.key,{handler:this.configContainer,value:document.body,suppressEvent:J.CONTAINER.suppressEvent});N.addProperty(J.SCROLL_INCREMENT.key,{value:J.SCROLL_INCREMENT.value,validator:J.SCROLL_INCREMENT.validator,supercedes:J.SCROLL_INCREMENT.supercedes,suppressEvent:J.SCROLL_INCREMENT.suppressEvent});N.addProperty(J.MIN_SCROLL_HEIGHT.key,{value:J.MIN_SCROLL_HEIGHT.value,validator:J.MIN_SCROLL_HEIGHT.validator,supercedes:J.MIN_SCROLL_HEIGHT.supercedes,suppressEvent:J.MIN_SCROLL_HEIGHT.suppressEvent});N.addProperty(J.MAX_HEIGHT.key,{handler:this.configMaxHeight,value:J.MAX_HEIGHT.value,validator:J.MAX_HEIGHT.validator,suppressEvent:J.MAX_HEIGHT.suppressEvent,supercedes:J.MAX_HEIGHT.supercedes});
-N.addProperty(J.CLASS_NAME.key,{handler:this.configClassName,value:J.CLASS_NAME.value,validator:J.CLASS_NAME.validator,supercedes:J.CLASS_NAME.supercedes});N.addProperty(J.DISABLED.key,{handler:this.configDisabled,value:J.DISABLED.value,validator:J.DISABLED.validator,suppressEvent:J.DISABLED.suppressEvent});}});})();(function(){YAHOO.widget.MenuItem=function(K,J){if(K){if(J){this.parent=J.parent;this.value=J.value;this.id=J.id;}this.init(K,J);}};var B=YAHOO.util.Dom,C=YAHOO.widget.Module,E=YAHOO.widget.Menu,H=YAHOO.widget.MenuItem,I=YAHOO.util.CustomEvent,F=YAHOO.lang,D,A={"MOUSE_OVER":"mouseover","MOUSE_OUT":"mouseout","MOUSE_DOWN":"mousedown","MOUSE_UP":"mouseup","CLICK":"click","KEY_PRESS":"keypress","KEY_DOWN":"keydown","KEY_UP":"keyup","ITEM_ADDED":"itemAdded","ITEM_REMOVED":"itemRemoved","FOCUS":"focus","BLUR":"blur","DESTROY":"destroy"},G={"TEXT":{key:"text",value:"",validator:F.isString,suppressEvent:true},"HELP_TEXT":{key:"helptext",supercedes:["text"],suppressEvent:true},"URL":{key:"url",value:"#",suppressEvent:true},"TARGET":{key:"target",suppressEvent:true},"EMPHASIS":{key:"emphasis",value:false,validator:F.isBoolean,suppressEvent:true,supercedes:["text"]},"STRONG_EMPHASIS":{key:"strongemphasis",value:false,validator:F.isBoolean,suppressEvent:true,supercedes:["text"]},"CHECKED":{key:"checked",value:false,validator:F.isBoolean,suppressEvent:true,supercedes:["disabled","selected"]},"SUBMENU":{key:"submenu",suppressEvent:true,supercedes:["disabled","selected"]},"DISABLED":{key:"disabled",value:false,validator:F.isBoolean,suppressEvent:true,supercedes:["text","selected"]},"SELECTED":{key:"selected",value:false,validator:F.isBoolean,suppressEvent:true},"ONCLICK":{key:"onclick",suppressEvent:true},"CLASS_NAME":{key:"classname",value:null,validator:F.isString,suppressEvent:true}};H.prototype={CSS_CLASS_NAME:"yuimenuitem",CSS_LABEL_CLASS_NAME:"yuimenuitemlabel",SUBMENU_TYPE:null,_oAnchor:null,_oHelpTextEM:null,_oSubmenu:null,_oOnclickAttributeValue:null,_sClassName:null,constructor:H,index:null,groupIndex:null,parent:null,element:null,srcElement:null,value:null,browser:C.prototype.browser,id:null,destroyEvent:null,mouseOverEvent:null,mouseOutEvent:null,mouseDownEvent:null,mouseUpEvent:null,clickEvent:null,keyPressEvent:null,keyDownEvent:null,keyUpEvent:null,focusEvent:null,blurEvent:null,init:function(J,R){if(!this.SUBMENU_TYPE){this.SUBMENU_TYPE=E;}this.cfg=new YAHOO.util.Config(this);this.initDefaultConfig();var O=I.LIST,N=this.cfg,P="#",Q,K,M,L;if(F.isString(J)){this._createRootNodeStructure();N.queueProperty("text",J);}else{if(J&&J.tagName){switch(J.tagName.toUpperCase()){case"OPTION":this._createRootNodeStructure();N.queueProperty("text",J.text);N.queueProperty("disabled",J.disabled);this.value=J.value;this.srcElement=J;break;case"OPTGROUP":this._createRootNodeStructure();N.queueProperty("text",J.label);N.queueProperty("disabled",J.disabled);this.srcElement=J;this._initSubTree();break;case"LI":Q=B.getFirstChild(J);if(Q){P=Q.getAttribute("href",2);K=Q.getAttribute("target");M=Q.innerHTML;}this.srcElement=J;this.element=J;this._oAnchor=Q;N.setProperty("text",M,true);N.setProperty("url",P,true);N.setProperty("target",K,true);this._initSubTree();break;}}}if(this.element){L=(this.srcElement||this.element).id;if(!L){L=this.id||B.generateId();this.element.id=L;}this.id=L;B.addClass(this.element,this.CSS_CLASS_NAME);B.addClass(this._oAnchor,this.CSS_LABEL_CLASS_NAME);this.mouseOverEvent=this.createEvent(A.MOUSE_OVER);this.mouseOverEvent.signature=O;this.mouseOutEvent=this.createEvent(A.MOUSE_OUT);this.mouseOutEvent.signature=O;this.mouseDownEvent=this.createEvent(A.MOUSE_DOWN);this.mouseDownEvent.signature=O;this.mouseUpEvent=this.createEvent(A.MOUSE_UP);this.mouseUpEvent.signature=O;this.clickEvent=this.createEvent(A.CLICK);this.clickEvent.signature=O;this.keyPressEvent=this.createEvent(A.KEY_PRESS);this.keyPressEvent.signature=O;this.keyDownEvent=this.createEvent(A.KEY_DOWN);this.keyDownEvent.signature=O;this.keyUpEvent=this.createEvent(A.KEY_UP);this.keyUpEvent.signature=O;this.focusEvent=this.createEvent(A.FOCUS);this.focusEvent.signature=O;this.blurEvent=this.createEvent(A.BLUR);this.blurEvent.signature=O;this.destroyEvent=this.createEvent(A.DESTROY);this.destroyEvent.signature=O;if(R){N.applyConfig(R);}N.fireQueue();}},_createRootNodeStructure:function(){var J,K;if(!D){D=document.createElement("li");D.innerHTML='<a href="#"></a>';}J=D.cloneNode(true);J.className=this.CSS_CLASS_NAME;K=J.firstChild;K.className=this.CSS_LABEL_CLASS_NAME;this.element=J;this._oAnchor=K;},_initSubTree:function(){var P=this.srcElement,L=this.cfg,N,M,K,J,O;if(P.childNodes.length>0){if(this.parent.lazyLoad&&this.parent.srcElement&&this.parent.srcElement.tagName.toUpperCase()=="SELECT"){L.setProperty("submenu",{id:B.generateId(),itemdata:P.childNodes});}else{N=P.firstChild;M=[];do{if(N&&N.tagName){switch(N.tagName.toUpperCase()){case"DIV":L.setProperty("submenu",N);break;case"OPTION":M[M.length]=N;break;}}}while((N=N.nextSibling));K=M.length;if(K>0){J=new this.SUBMENU_TYPE(B.generateId());L.setProperty("submenu",J);for(O=0;O<K;O++){J.addItem((new J.ITEM_TYPE(M[O])));}}}}},configText:function(S,L,N){var K=L[0],M=this.cfg,Q=this._oAnchor,J=M.getProperty("helptext"),R="",O="",P="";if(K){if(J){R='<em class="helptext">'+J+"</em>";}if(M.getProperty("emphasis")){O="<em>";P="</em>";}if(M.getProperty("strongemphasis")){O="<strong>";P="</strong>";}Q.innerHTML=(O+K+P+R);}},configHelpText:function(L,K,J){this.cfg.refireEvent("text");},configURL:function(L,K,J){var N=K[0];if(!N){N="#";}var M=this._oAnchor;if(YAHOO.env.ua.opera){M.removeAttribute("href");}M.setAttribute("href",N);},configTarget:function(M,L,K){var J=L[0],N=this._oAnchor;if(J&&J.length>0){N.setAttribute("target",J);}else{N.removeAttribute("target");}},configEmphasis:function(L,K,J){var N=K[0],M=this.cfg;if(N&&M.getProperty("strongemphasis")){M.setProperty("strongemphasis",false);}M.refireEvent("text");},configStrongEmphasis:function(M,L,K){var J=L[0],N=this.cfg;
-if(J&&N.getProperty("emphasis")){N.setProperty("emphasis",false);}N.refireEvent("text");},configChecked:function(S,M,O){var R=M[0],K=this.element,Q=this._oAnchor,N=this.cfg,J="-checked",L=this.CSS_CLASS_NAME+J,P=this.CSS_LABEL_CLASS_NAME+J;if(R){B.addClass(K,L);B.addClass(Q,P);}else{B.removeClass(K,L);B.removeClass(Q,P);}N.refireEvent("text");if(N.getProperty("disabled")){N.refireEvent("disabled");}if(N.getProperty("selected")){N.refireEvent("selected");}},configDisabled:function(X,R,a){var Z=R[0],L=this.cfg,P=L.getProperty("submenu"),O=L.getProperty("checked"),S=this.element,V=this._oAnchor,U="-disabled",W="-checked"+U,Y="-hassubmenu"+U,M=this.CSS_CLASS_NAME+U,N=this.CSS_LABEL_CLASS_NAME+U,T=this.CSS_CLASS_NAME+W,Q=this.CSS_LABEL_CLASS_NAME+W,K=this.CSS_CLASS_NAME+Y,J=this.CSS_LABEL_CLASS_NAME+Y;if(Z){if(L.getProperty("selected")){L.setProperty("selected",false);}B.addClass(S,M);B.addClass(V,N);if(P){B.addClass(S,K);B.addClass(V,J);}if(O){B.addClass(S,T);B.addClass(V,Q);}}else{B.removeClass(S,M);B.removeClass(V,N);if(P){B.removeClass(S,K);B.removeClass(V,J);}if(O){B.removeClass(S,T);B.removeClass(V,Q);}}},configSelected:function(X,R,a){var L=this.cfg,Y=R[0],S=this.element,V=this._oAnchor,O=L.getProperty("checked"),P=L.getProperty("submenu"),U="-selected",W="-checked"+U,Z="-hassubmenu"+U,M=this.CSS_CLASS_NAME+U,N=this.CSS_LABEL_CLASS_NAME+U,T=this.CSS_CLASS_NAME+W,Q=this.CSS_LABEL_CLASS_NAME+W,K=this.CSS_CLASS_NAME+Z,J=this.CSS_LABEL_CLASS_NAME+Z;if(YAHOO.env.ua.opera){V.blur();}if(Y&&!L.getProperty("disabled")){B.addClass(S,M);B.addClass(V,N);if(P){B.addClass(S,K);B.addClass(V,J);}if(O){B.addClass(S,T);B.addClass(V,Q);}}else{B.removeClass(S,M);B.removeClass(V,N);if(P){B.removeClass(S,K);B.removeClass(V,J);}if(O){B.removeClass(S,T);B.removeClass(V,Q);}}if(this.hasFocus()&&YAHOO.env.ua.opera){V.focus();}},_onSubmenuBeforeHide:function(M,L){var N=this.parent,J;function K(){N._oAnchor.blur();J.beforeHideEvent.unsubscribe(K);}if(N.hasFocus()){J=N.parent;J.beforeHideEvent.subscribe(K);}},configSubmenu:function(V,O,R){var Q=O[0],P=this.cfg,K=this.element,T=this._oAnchor,N=this.parent&&this.parent.lazyLoad,J="-hassubmenu",L=this.CSS_CLASS_NAME+J,S=this.CSS_LABEL_CLASS_NAME+J,U,W,M;if(Q){if(Q instanceof E){U=Q;U.parent=this;U.lazyLoad=N;}else{if(typeof Q=="object"&&Q.id&&!Q.nodeType){W=Q.id;M=Q;M.lazyload=N;M.parent=this;U=new this.SUBMENU_TYPE(W,M);P.setProperty("submenu",U,true);}else{U=new this.SUBMENU_TYPE(Q,{lazyload:N,parent:this});P.setProperty("submenu",U,true);}}if(U){B.addClass(K,L);B.addClass(T,S);this._oSubmenu=U;if(YAHOO.env.ua.opera){U.beforeHideEvent.subscribe(this._onSubmenuBeforeHide);}}}else{B.removeClass(K,L);B.removeClass(T,S);if(this._oSubmenu){this._oSubmenu.destroy();}}if(P.getProperty("disabled")){P.refireEvent("disabled");}if(P.getProperty("selected")){P.refireEvent("selected");}},configOnClick:function(L,K,J){var M=K[0];if(this._oOnclickAttributeValue&&(this._oOnclickAttributeValue!=M)){this.clickEvent.unsubscribe(this._oOnclickAttributeValue.fn,this._oOnclickAttributeValue.obj);this._oOnclickAttributeValue=null;}if(!this._oOnclickAttributeValue&&typeof M=="object"&&typeof M.fn=="function"){this.clickEvent.subscribe(M.fn,((!YAHOO.lang.isUndefined(M.obj))?M.obj:this),M.scope);this._oOnclickAttributeValue=M;}},configClassName:function(M,L,K){var J=L[0];if(this._sClassName){B.removeClass(this.element,this._sClassName);}B.addClass(this.element,J);this._sClassName=J;},initDefaultConfig:function(){var J=this.cfg;J.addProperty(G.TEXT.key,{handler:this.configText,value:G.TEXT.value,validator:G.TEXT.validator,suppressEvent:G.TEXT.suppressEvent});J.addProperty(G.HELP_TEXT.key,{handler:this.configHelpText,supercedes:G.HELP_TEXT.supercedes,suppressEvent:G.HELP_TEXT.suppressEvent});J.addProperty(G.URL.key,{handler:this.configURL,value:G.URL.value,suppressEvent:G.URL.suppressEvent});J.addProperty(G.TARGET.key,{handler:this.configTarget,suppressEvent:G.TARGET.suppressEvent});J.addProperty(G.EMPHASIS.key,{handler:this.configEmphasis,value:G.EMPHASIS.value,validator:G.EMPHASIS.validator,suppressEvent:G.EMPHASIS.suppressEvent,supercedes:G.EMPHASIS.supercedes});J.addProperty(G.STRONG_EMPHASIS.key,{handler:this.configStrongEmphasis,value:G.STRONG_EMPHASIS.value,validator:G.STRONG_EMPHASIS.validator,suppressEvent:G.STRONG_EMPHASIS.suppressEvent,supercedes:G.STRONG_EMPHASIS.supercedes});J.addProperty(G.CHECKED.key,{handler:this.configChecked,value:G.CHECKED.value,validator:G.CHECKED.validator,suppressEvent:G.CHECKED.suppressEvent,supercedes:G.CHECKED.supercedes});J.addProperty(G.DISABLED.key,{handler:this.configDisabled,value:G.DISABLED.value,validator:G.DISABLED.validator,suppressEvent:G.DISABLED.suppressEvent});J.addProperty(G.SELECTED.key,{handler:this.configSelected,value:G.SELECTED.value,validator:G.SELECTED.validator,suppressEvent:G.SELECTED.suppressEvent});J.addProperty(G.SUBMENU.key,{handler:this.configSubmenu,supercedes:G.SUBMENU.supercedes,suppressEvent:G.SUBMENU.suppressEvent});J.addProperty(G.ONCLICK.key,{handler:this.configOnClick,suppressEvent:G.ONCLICK.suppressEvent});J.addProperty(G.CLASS_NAME.key,{handler:this.configClassName,value:G.CLASS_NAME.value,validator:G.CLASS_NAME.validator,suppressEvent:G.CLASS_NAME.suppressEvent});},getNextEnabledSibling:function(){var L,O,J,N,M;function K(P,Q){return P[Q]||K(P,(Q+1));}if(this.parent instanceof E){L=this.groupIndex;O=this.parent.getItemGroups();if(this.index<(O[L].length-1)){J=K(O[L],(this.index+1));}else{if(L<(O.length-1)){N=L+1;}else{N=0;}M=K(O,N);J=K(M,0);}return(J.cfg.getProperty("disabled")||J.element.style.display=="none")?J.getNextEnabledSibling():J;}},getPreviousEnabledSibling:function(){var N,P,K,J,M;function O(Q,R){return Q[R]||O(Q,(R-1));}function L(Q,R){return Q[R]?R:L(Q,(R+1));}if(this.parent instanceof E){N=this.groupIndex;P=this.parent.getItemGroups();if(this.index>L(P[N],0)){K=O(P[N],(this.index-1));}else{if(N>L(P,0)){J=N-1;}else{J=P.length-1;}M=O(P,J);K=O(M,(M.length-1));}return(K.cfg.getProperty("disabled")||K.element.style.display=="none")?K.getPreviousEnabledSibling():K;
-}},focus:function(){var N=this.parent,M=this._oAnchor,J=N.activeItem,L=this;function K(){try{if(YAHOO.env.ua.ie&&!document.hasFocus()){return ;}if(J){J.blurEvent.fire();}M.focus();L.focusEvent.fire();}catch(O){}}if(!this.cfg.getProperty("disabled")&&N&&N.cfg.getProperty("visible")&&this.element.style.display!="none"){window.setTimeout(K,0);}},blur:function(){var K=this.parent;if(!this.cfg.getProperty("disabled")&&K&&K.cfg.getProperty("visible")){var J=this;window.setTimeout(function(){try{J._oAnchor.blur();J.blurEvent.fire();}catch(L){}},0);}},hasFocus:function(){return(YAHOO.widget.MenuManager.getFocusedMenuItem()==this);},destroy:function(){var L=this.element,K,J;if(L){K=this.cfg.getProperty("submenu");if(K){K.destroy();}this.mouseOverEvent.unsubscribeAll();this.mouseOutEvent.unsubscribeAll();this.mouseDownEvent.unsubscribeAll();this.mouseUpEvent.unsubscribeAll();this.clickEvent.unsubscribeAll();this.keyPressEvent.unsubscribeAll();this.keyDownEvent.unsubscribeAll();this.keyUpEvent.unsubscribeAll();this.focusEvent.unsubscribeAll();this.blurEvent.unsubscribeAll();this.cfg.configChangedEvent.unsubscribeAll();J=L.parentNode;if(J){J.removeChild(L);this.destroyEvent.fire();}this.destroyEvent.unsubscribeAll();}},toString:function(){var K="MenuItem",J=this.id;if(J){K+=(" "+J);}return K;}};F.augmentProto(H,YAHOO.util.EventProvider);})();(function(){YAHOO.widget.ContextMenu=function(G,F){YAHOO.widget.ContextMenu.superclass.constructor.call(this,G,F);};var B=YAHOO.util.Event,E=YAHOO.widget.ContextMenu,D={"TRIGGER_CONTEXT_MENU":"triggerContextMenu","CONTEXT_MENU":(YAHOO.env.ua.opera?"mousedown":"contextmenu"),"CLICK":"click"},C={"TRIGGER":{key:"trigger",suppressEvent:true}};function A(G,F,H){this.cfg.setProperty("xy",H);this.beforeShowEvent.unsubscribe(A,H);}YAHOO.lang.extend(E,YAHOO.widget.Menu,{_oTrigger:null,_bCancelled:false,contextEventTarget:null,triggerContextMenuEvent:null,init:function(G,F){E.superclass.init.call(this,G);this.beforeInitEvent.fire(E);if(F){this.cfg.applyConfig(F,true);}this.initEvent.fire(E);},initEvents:function(){E.superclass.initEvents.call(this);this.triggerContextMenuEvent=this.createEvent(D.TRIGGER_CONTEXT_MENU);this.triggerContextMenuEvent.signature=YAHOO.util.CustomEvent.LIST;},cancel:function(){this._bCancelled=true;},_removeEventHandlers:function(){var F=this._oTrigger;if(F){B.removeListener(F,D.CONTEXT_MENU,this._onTriggerContextMenu);if(YAHOO.env.ua.opera){B.removeListener(F,D.CLICK,this._onTriggerClick);}}},_onTriggerClick:function(G,F){if(G.ctrlKey){B.stopEvent(G);}},_onTriggerContextMenu:function(H,F){if(H.type=="mousedown"&&!H.ctrlKey){return ;}var G;B.stopEvent(H);this.contextEventTarget=B.getTarget(H);this.triggerContextMenuEvent.fire(H);YAHOO.widget.MenuManager.hideVisible();if(!this._bCancelled){G=B.getXY(H);if(!YAHOO.util.Dom.inDocument(this.element)){this.beforeShowEvent.subscribe(A,G);}else{this.cfg.setProperty("xy",G);}this.show();}this._bCancelled=false;},toString:function(){var G="ContextMenu",F=this.id;if(F){G+=(" "+F);}return G;},initDefaultConfig:function(){E.superclass.initDefaultConfig.call(this);this.cfg.addProperty(C.TRIGGER.key,{handler:this.configTrigger,suppressEvent:C.TRIGGER.suppressEvent});},destroy:function(){this._removeEventHandlers();E.superclass.destroy.call(this);},configTrigger:function(G,F,I){var H=F[0];if(H){if(this._oTrigger){this._removeEventHandlers();}this._oTrigger=H;B.on(H,D.CONTEXT_MENU,this._onTriggerContextMenu,this,true);if(YAHOO.env.ua.opera){B.on(H,D.CLICK,this._onTriggerClick,this,true);}}else{this._removeEventHandlers();}}});}());YAHOO.widget.ContextMenuItem=YAHOO.widget.MenuItem;(function(){YAHOO.widget.MenuBar=function(F,E){YAHOO.widget.MenuBar.superclass.constructor.call(this,F,E);};function D(E){if(typeof E=="string"){return("dynamic,static".indexOf((E.toLowerCase()))!=-1);}}var B=YAHOO.util.Event,A=YAHOO.widget.MenuBar,C={"POSITION":{key:"position",value:"static",validator:D,supercedes:["visible"]},"SUBMENU_ALIGNMENT":{key:"submenualignment",value:["tl","bl"],suppressEvent:true},"AUTO_SUBMENU_DISPLAY":{key:"autosubmenudisplay",value:false,validator:YAHOO.lang.isBoolean,suppressEvent:true}};YAHOO.lang.extend(A,YAHOO.widget.Menu,{init:function(F,E){if(!this.ITEM_TYPE){this.ITEM_TYPE=YAHOO.widget.MenuBarItem;}A.superclass.init.call(this,F);this.beforeInitEvent.fire(A);if(E){this.cfg.applyConfig(E,true);}this.initEvent.fire(A);},CSS_CLASS_NAME:"yuimenubar",_onKeyDown:function(G,F,K){var E=F[0],L=F[1],I,J,H;if(L&&!L.cfg.getProperty("disabled")){J=L.cfg;switch(E.keyCode){case 37:case 39:if(L==this.activeItem&&!J.getProperty("selected")){J.setProperty("selected",true);}else{H=(E.keyCode==37)?L.getPreviousEnabledSibling():L.getNextEnabledSibling();if(H){this.clearActiveItem();H.cfg.setProperty("selected",true);if(this.cfg.getProperty("autosubmenudisplay")){I=H.cfg.getProperty("submenu");if(I){I.show();}}H.focus();}}B.preventDefault(E);break;case 40:if(this.activeItem!=L){this.clearActiveItem();J.setProperty("selected",true);L.focus();}I=J.getProperty("submenu");if(I){if(I.cfg.getProperty("visible")){I.setInitialSelection();I.setInitialFocus();}else{I.show();}}B.preventDefault(E);break;}}if(E.keyCode==27&&this.activeItem){I=this.activeItem.cfg.getProperty("submenu");if(I&&I.cfg.getProperty("visible")){I.hide();this.activeItem.focus();}else{this.activeItem.cfg.setProperty("selected",false);this.activeItem.blur();}B.preventDefault(E);}},_onClick:function(L,G,J){A.superclass._onClick.call(this,L,G,J);var K=G[1],M,E,F,H,I;if(K&&!K.cfg.getProperty("disabled")){M=G[0];E=B.getTarget(M);F=this.activeItem;H=this.cfg;if(F&&F!=K){this.clearActiveItem();}K.cfg.setProperty("selected",true);I=K.cfg.getProperty("submenu");if(I){if(I.cfg.getProperty("visible")){I.hide();}else{I.show();}}}},toString:function(){var F="MenuBar",E=this.id;if(E){F+=(" "+E);}return F;},initDefaultConfig:function(){A.superclass.initDefaultConfig.call(this);var E=this.cfg;E.addProperty(C.POSITION.key,{handler:this.configPosition,value:C.POSITION.value,validator:C.POSITION.validator,supercedes:C.POSITION.supercedes});
-E.addProperty(C.SUBMENU_ALIGNMENT.key,{value:C.SUBMENU_ALIGNMENT.value,suppressEvent:C.SUBMENU_ALIGNMENT.suppressEvent});E.addProperty(C.AUTO_SUBMENU_DISPLAY.key,{value:C.AUTO_SUBMENU_DISPLAY.value,validator:C.AUTO_SUBMENU_DISPLAY.validator,suppressEvent:C.AUTO_SUBMENU_DISPLAY.suppressEvent});}});}());YAHOO.widget.MenuBarItem=function(B,A){YAHOO.widget.MenuBarItem.superclass.constructor.call(this,B,A);};YAHOO.lang.extend(YAHOO.widget.MenuBarItem,YAHOO.widget.MenuItem,{init:function(B,A){if(!this.SUBMENU_TYPE){this.SUBMENU_TYPE=YAHOO.widget.Menu;}YAHOO.widget.MenuBarItem.superclass.init.call(this,B);var C=this.cfg;if(A){C.applyConfig(A,true);}C.fireQueue();},CSS_CLASS_NAME:"yuimenubaritem",CSS_LABEL_CLASS_NAME:"yuimenubaritemlabel",toString:function(){var A="MenuBarItem";if(this.cfg&&this.cfg.getProperty("text")){A+=(": "+this.cfg.getProperty("text"));}return A;}});YAHOO.register("menu",YAHOO.widget.Menu,{version:"2.5.1",build:"984"});
\ No newline at end of file
diff --git a/koha-tmpl/opac-tmpl/prog/en/lib/yui/reset-fonts-grids.css b/koha-tmpl/opac-tmpl/prog/en/lib/yui/reset-fonts-grids.css
deleted file mode 100644 (file)
index a21e2c4..0000000
+++ /dev/null
@@ -1,9 +0,0 @@
-/*
-Copyright (c) 2007, Yahoo! Inc. All rights reserved.
-Code licensed under the BSD License:
-http://developer.yahoo.net/yui/license.txt
-version: 2.3.0
-*/
-/*reset.css*/body{color:#000;background:#FFF;}body,div,dl,dt,dd,ul,ol,li,h1,h2,h3,h4,h5,h6,pre,code,form,fieldset,legend,input,textarea,p,blockquote,th,td{margin:0;padding:0;}table{border-collapse:collapse;border-spacing:0;}fieldset,img{border:0;}address,caption,cite,code,dfn,em,strong,th,var{font-style:normal;font-weight:normal;}li{list-style:none;}caption,th{text-align:left;}h1,h2,h3,h4,h5,h6{font-size:100%;font-weight:normal;}q:before,q:after{content:'';}abbr,acronym{border:0;font-variant:normal;}sup,sub{line-height:-1px;vertical-align:text-top;}sub{vertical-align:text-bottom;}input, textarea, select{font-family:inherit;font-size:inherit;font-weight:inherit;}
-/*fonts.css*/body {font:13px/1.22 arial,helvetica,clean,sans-serif;*font-size:small;*font:x-small;}table {font-size:inherit;font:100%;}pre,code,kbd,samp,tt{font-family:monospace;*font-size:108%;line-height:99%;}
-/*grids.css*/body{text-align:center;}#ft{clear:both;}#doc,#doc2,#doc3,#doc4,.yui-t1,.yui-t2,.yui-t3,.yui-t4,.yui-t5,.yui-t6,.yui-t7{margin:auto;text-align:left;width:57.69em;*width:56.301em;min-width:750px;}#doc2{width:73.074em;*width:71.313em;}#doc3{margin:auto 10px;width:auto;}#doc4{width:74.923em;*width:73.117em;}.yui-b{position:relative;}.yui-b{_position:static;}#yui-main .yui-b{position:static;}#yui-main{width:100%;}.yui-t1 #yui-main,.yui-t2 #yui-main,.yui-t3 #yui-main{float:right;margin-left:-25em;}.yui-t4 #yui-main,.yui-t5 #yui-main,.yui-t6 #yui-main{float:left;margin-right:-25em;}.yui-t1 .yui-b{float:left;width:12.3207em;*width:12.0106em;}.yui-t1 #yui-main .yui-b{margin-left:13.3207em;*margin-left:13.0106em;}.yui-t2 .yui-b{float:left;width:13.8456em;*width:13.512em;}.yui-t2 #yui-main .yui-b{margin-left:14.8456em;*margin-left:14.512em;}.yui-t3 .yui-b{float:left;width:23.0759em;*width:22.52em;}.yui-t3 #yui-main .yui-b{margin-left:24.0759em;*margin-left:23.52em;}.yui-t4 .yui-b{float:right;width:13.8456em;*width:13.512em;}.yui-t4 #yui-main .yui-b{margin-right:14.8456em;*margin-right:14.512em;}.yui-t5 .yui-b{float:right;width:18.4608em;*width:18.016em;}.yui-t5 #yui-main .yui-b{margin-right:19.4608em;*margin-right:19.016em;}.yui-t6 .yui-b{float:right;width:23.0759em;*width:22.52em;}.yui-t6 #yui-main .yui-b{margin-right:24.0759em;*margin-right:23.52em;}.yui-t7 #yui-main .yui-b{display:block;margin:0 0 1em 0;}#yui-main .yui-b{float:none;width:auto;}.yui-gb .yui-g,.yui-gb .yui-gb,.yui-gb .yui-u,.yui-g .yui-gb .yui-u,.yui-gb .yui-gc,.yui-gb .yui-gd,.yui-gb .yui-ge,.yui-gb .yui-gf,.yui-gc .yui-u,.yui-gc .yui-g,.yui-gd .yui-u{float:left;margin-left:2%;width:32%;}.yui-gb .yui-gb .yui-u,.yui-gb .yui-gc .yui-u{_margin-left:1.2%;*margin-left:1.7%;}.yui-g .yui-gb .yui-u{_margin-left:.8%;}.yui-gb .yui-u{margin-left:2%;width:32%;float:right;*width:31.8%;}.yui-gb div.first{margin-left:0;*margin-right:1px;float:left;}.yui-gb .yui-gb div.first{*margin-right:0;width:31.7%;}.yui-gb .yui-gc div.first,.yui-gb .yui-gd div.first{*margin-right:0;}.yui-g .yui-gc div.first,.yui-g .yui-ge div.first{float:left;}.yui-gb .yui-gd .yui-u{*width:66%;_width:61.2%;}.yui-gb .yui-gd div.first{*width:31%;_width:29.5%;}.yui-gb .yui-gc .yui-u,.yui-g .yui-gc .yui-u{_float:right;width:32%;_width:29.9%;}.yui-gb .yui-gc div.first{width:66%;*width:64.5%;*float:left;*margin-left:0;}.yui-gb .yui-ge .yui-u,.yui-gb .yui-gf .yui-u{margin:0;}.yui-g .yui-u,.yui-g .yui-g,.yui-g .yui-gb,.yui-g .yui-gc,.yui-g .yui-gd,.yui-g .yui-ge,.yui-g .yui-gf,.yui-gc .yui-u,.yui-gd .yui-g,.yui-g .yui-gc .yui-u,.yui-ge .yui-u,.yui-ge .yui-g,.yui-gf .yui-g,.yui-gf .yui-u{float:right;display:inline;}.yui-g div.first,.yui-g div.first,.yui-gc div.first,.yui-gc div.first div.first,.yui-gd div.first,.yui-ge div.first,.yui-gf div.first{float:left;}.yui-g .yui-g .yui-u,.yui-gb .yui-g .yui-u,.yui-gc .yui-g .yui-u,.yui-gd .yui-g .yui-u,.yui-ge .yui-g .yui-u,.yui-gf .yui-g .yui-u{width:48.1%;*margin-left:0;}.yui-g .yui-g div.first{*margin:0;}.yui-gb .yui-g div.first{*margin-right:1px;}.yui-gb .yui-gb .yui-u{_margin-left:.7%;}.yui-gb .yui-g div.first,.yui-gb .yui-gb div.first{*margin-left:0;}.yui-gc .yui-g .yui-u,.yui-gd .yui-g .yui-u{_width:48.1%;*width:48.1%;*margin-left:0;}.yui-g .yui-u,.yui-g .yui-g,.yui-g .yui-gb,.yui-g .yui-gc,.yui-g .yui-gd,.yui-g .yui-ge,.yui-g .yui-gf{width:49.1%;}.yui-g .yui-gb div.first,.yui-gb div.first,.yui-gc div.first,.yui-gd div.first{margin-left:0;}.yui-g .yui-gc div.first,.yui-gc div.first,.yui-gd .yui-g,.yui-gd .yui-u{width:66%;}.yui-gd div.first,.yui-gb .yui-gd div.first{width:32%;}.yui-g .yui-gd div.first{_width:29.9%;}.yui-ge .yui-u,.yui-ge .yui-g,.yui-gf div.first{width:24%;}.yui-ge div.first,.yui-gf .yui-g,.yui-gf .yui-u{width:74.2%;}.yui-gb .yui-ge .yui-u,.yui-gb .yui-gf div.first{*width:24%;_width:20%;}.yui-gb .yui-ge div.first,.yui-gb .yui-gf .yui-u{*width:73.5%;_width:65.5%;}#bd:after,.yui-g:after,.yui-gb:after,.yui-gc:after,.yui-gd:after,.yui-ge:after,.yui-gf:after{content:".";display:block;height:0;clear:both;visibility:hidden;}#bd,.yui-g,.yui-gb,.yui-gc,.yui-gd,.yui-ge,.yui-gf{zoom:1;}
diff --git a/koha-tmpl/opac-tmpl/prog/en/lib/yui/skin.css b/koha-tmpl/opac-tmpl/prog/en/lib/yui/skin.css
deleted file mode 100644 (file)
index 3d5aaa9..0000000
+++ /dev/null
@@ -1,23 +0,0 @@
-/*
-Copyright (c) 2008, Yahoo! Inc. All rights reserved.
-Code licensed under the BSD License:
-http://developer.yahoo.net/yui/license.txt
-version: 2.5.1
-*/
-.yui-ac{position:relative;font-family:arial;font-size:100%;}.yui-ac-input{position:absolute;width:100%;}.yui-ac-container{position:absolute;top:1.6em;width:100%;}.yui-ac-content{position:absolute;width:100%;border:1px solid #808080;background:#fff;overflow:hidden;z-index:9050;}.yui-ac-shadow{position:absolute;margin:.3em;width:100%;background:#000;-moz-opacity:0.10;opacity:.10;filter:alpha(opacity=10);z-index:9049;}.yui-ac-content ul{margin:0;padding:0;width:100%;}.yui-ac-content li{margin:0;padding:2px 5px;cursor:default;white-space:nowrap;}.yui-ac-content li.yui-ac-prehighlight{background:#B3D4FF;}.yui-ac-content li.yui-ac-highlight{background:#426FD9;color:#FFF;}
-.yui-button{display:-moz-inline-box;display:inline-block;vertical-align:text-bottom;}.yui-button .first-child{display:block;*display:inline-block;}.yui-button button,.yui-button a{display:block;*display:inline-block;border:none;margin:0;}.yui-button button{background-color:transparent;*overflow:visible;cursor:pointer;}.yui-button a{text-decoration:none;}.yui-button{border-width:1px 0;border-style:solid;border-color:#808080;background:url(sprite.png) repeat-x 0 0;margin:auto .25em;}.yui-button .first-child{border-width:0 1px;border-style:solid;border-color:#808080;margin:0 -1px;*position:relative;*left:-1px;}.yui-button button,.yui-button a{padding:0 10px;font-size:93%;line-height:2;*line-height:1.7;min-height:2em;*min-height:auto;color:#000;}.yui-button a{*line-height:2;}.yui-split-button button,.yui-menu-button button{padding-right:20px;background-position:right center;background-repeat:no-repeat;}.yui-menu-button button{background-image:url(menu-button-arrow.png);}.yui-split-button button{background-image:url(split-button-arrow.png);}.yui-button-focus{border-color:#7D98B8;background-position:0 -1300px;}.yui-button-focus .first-child{border-color:#7D98B8;}.yui-button-focus button,.yui-button-focus a{color:#000;}.yui-split-button-focus button{background-image:url(split-button-arrow-focus.png);}.yui-button-hover{border-color:#7D98B8;background-position:0 -1300px;}.yui-button-hover .first-child{border-color:#7D98B8;}.yui-button-hover button,.yui-button-hover a{color:#000;}.yui-split-button-hover button{background-image:url(split-button-arrow-hover.png);}.yui-button-active{border-color:#7D98B8;background-position:0 -1700px;}.yui-button-active .first-child{border-color:#7D98B8;}.yui-button-active button,.yui-button-active a{color:#000;}.yui-split-button-activeoption{border-color:#808080;background-position:0 0;}.yui-split-button-activeoption .first-child{border-color:#808080;}.yui-split-button-activeoption button{background-image:url(split-button-arrow-active.png);}.yui-radio-button-checked,.yui-checkbox-button-checked{border-color:#304369;background-position:0 -1400px;}.yui-radio-button-checked .first-child,.yui-checkbox-button-checked .first-child{border-color:#304369;}.yui-radio-button-checked button,.yui-checkbox-button-checked button{color:#fff;}.yui-button-disabled{border-color:#ccc;background-position:0 -1500px;}.yui-button-disabled .first-child{border-color:#ccc;}.yui-button-disabled button,.yui-button-disabled a{color:#A6A6A6;cursor:default;}.yui-menu-button-disabled button{background-image:url(menu-button-arrow-disabled.png);}.yui-split-button-disabled button{background-image:url(split-button-arrow-disabled.png);}
-.yui-calcontainer{position:relative;float:left;_overflow:hidden;}.yui-calcontainer iframe{position:absolute;border:none;margin:0;padding:0;z-index:0;width:100%;height:100%;left:0px;top:0px;}.yui-calcontainer iframe.fixedsize{width:50em;height:50em;top:-1px;left:-1px;}.yui-calcontainer.multi .groupcal{z-index:1;float:left;position:relative;}.yui-calcontainer .title{position:relative;z-index:1;}.yui-calcontainer .close-icon{position:absolute;z-index:1;}.yui-calendar{position:relative;}.yui-calendar .calnavleft{position:absolute;z-index:1;}.yui-calendar .calnavright{position:absolute;z-index:1;}.yui-calendar .calheader{position:relative;width:100%;text-align:center;}.yui-calcontainer .yui-cal-nav-mask{position:absolute;z-index:2;margin:0;padding:0;width:100%;height:100%;_width:0;_height:0;left:0;top:0;display:none;}.yui-calcontainer .yui-cal-nav{position:absolute;z-index:3;top:0;display:none;}.yui-calcontainer .yui-cal-nav .yui-cal-nav-btn{display:-moz-inline-box;display:inline-block;}.yui-calcontainer .yui-cal-nav .yui-cal-nav-btn button{display:block;*display:inline-block;*overflow:visible;border:none;background-color:transparent;cursor:pointer;}.yui-calendar .calbody a:hover{background:inherit;}p#clear{clear:left;padding-top:10px;}.yui-calcontainer{background-color:#f2f2f2;border:1px solid #808080;padding:10px;}.yui-calcontainer.multi{padding:0 5px 0 5px;}.yui-calcontainer.multi .groupcal{background-color:transparent;border:none;padding:10px 5px 10px 5px;margin:0;}.yui-calcontainer .title{background:url(sprite.png) repeat-x 0 0;border-bottom:1px solid #cccccc;font:100% sans-serif;color:#000;font-weight:bold;height:auto;padding:.4em;margin:0 -10px 10px -10px;top:0;left:0;text-align:left;}.yui-calcontainer.multi .title{margin:0 -5px 0 -5px;}.yui-calcontainer.withtitle{padding-top:0;}.yui-calcontainer .calclose{background:url(sprite.png) no-repeat 0 -300px;width:25px;height:15px;top:.4em;right:.4em;cursor:pointer;}.yui-calendar{border-spacing:0;border-collapse:collapse;font:100% sans-serif;text-align:center;margin:0;}.yui-calendar .calhead{background:transparent;border:none;vertical-align:middle;padding:0;}.yui-calendar .calheader{background:transparent;font-weight:bold;padding:0 0 .6em 0;text-align:center;}.yui-calendar .calheader img{border:none;}.yui-calendar .calnavleft{background:url(sprite.png) no-repeat 0 -450px;width:25px;height:15px;top:0;bottom:0;left:-10px;margin-left:.4em;cursor:pointer;}.yui-calendar .calnavright{background:url(sprite.png) no-repeat 0 -500px;width:25px;height:15px;top:0;bottom:0;right:-10px;margin-right:.4em;cursor:pointer;}.yui-calendar .calweekdayrow{height:2em;}.yui-calendar .calweekdayrow th{padding:0;border:none;}.yui-calendar .calweekdaycell{color:#000;font-weight:bold;text-align:center;width:2em;}.yui-calendar .calfoot{background-color:#f2f2f2;}.yui-calendar .calrowhead,.yui-calendar .calrowfoot{color:#a6a6a6;font-size:85%;font-style:normal;font-weight:normal;border:none;}.yui-calendar .calrowhead{text-align:right;padding:0 2px 0 0;}.yui-calendar .calrowfoot{text-align:left;padding:0 0 0 2px;}.yui-calendar td.calcell{border:1px solid #cccccc;background:#fff;padding:1px;height:1.6em;line-height:1.6em;text-align:center;white-space:nowrap;}.yui-calendar td.calcell a{color:#0066cc;display:block;height:100%;text-decoration:none;}.yui-calendar td.calcell.today{background-color:#000;}.yui-calendar td.calcell.today a{background-color:#fff;}.yui-calendar td.calcell.oom{background-color:#cccccc;color:#a6a6a6;cursor:default;}.yui-calendar td.calcell.selected{background-color:#fff;color:#000;}.yui-calendar td.calcell.selected a{background-color:#b3d4ff;color:#000;}.yui-calendar td.calcell.calcellhover{background-color:#426fd9;color:#fff;cursor:pointer;}.yui-calendar td.calcell.calcellhover a{background-color:#426fd9;color:#fff;}.yui-calendar td.calcell.previous{color:#e0e0e0;}.yui-calendar td.calcell.restricted{text-decoration:line-through;}.yui-calendar td.calcell.highlight1{background-color:#ccff99;}.yui-calendar td.calcell.highlight2{background-color:#99ccff;}.yui-calendar td.calcell.highlight3{background-color:#ffcccc;}.yui-calendar td.calcell.highlight4{background-color:#ccff99;}.yui-calendar a.calnav{border:1px solid #f2f2f2;padding:0 4px;text-decoration:none;color:#000;zoom:1;}.yui-calendar a.calnav:hover{background:url(sprite.png) repeat-x 0 0;border-color:#A0A0A0;cursor:pointer;}.yui-calcontainer .yui-cal-nav-mask{background-color:#000;opacity:0.25;*filter:alpha(opacity=25);}.yui-calcontainer .yui-cal-nav{font-family:arial,helvetica,clean,sans-serif;font-size:93%;border:1px solid #808080;left:50%;margin-left:-7em;width:14em;padding:0;top:2.5em;background-color:#f2f2f2;}.yui-calcontainer.withtitle .yui-cal-nav{top:4.5em;}.yui-calcontainer.multi .yui-cal-nav{width:16em;margin-left:-8em;}.yui-calcontainer .yui-cal-nav-y,.yui-calcontainer .yui-cal-nav-m,.yui-calcontainer .yui-cal-nav-b{padding:5px 10px 5px 10px;}.yui-calcontainer .yui-cal-nav-b{text-align:center;}.yui-calcontainer .yui-cal-nav-e{margin-top:5px;padding:5px;background-color:#EDF5FF;border-top:1px solid black;display:none;}.yui-calcontainer .yui-cal-nav label{display:block;font-weight:bold;}.yui-calcontainer .yui-cal-nav-mc{width:100%;_width:auto;}.yui-calcontainer .yui-cal-nav-y input.yui-invalid{background-color:#FFEE69;border:1px solid #000;}.yui-calcontainer .yui-cal-nav-yc{width:4em;}.yui-calcontainer .yui-cal-nav .yui-cal-nav-btn{border:1px solid #808080;background:url(sprite.png) repeat-x 0 0;background-color:#ccc;margin:auto .15em;}.yui-calcontainer .yui-cal-nav .yui-cal-nav-btn button{padding:0 8px;font-size:93%;line-height:2;*line-height:1.7;min-height:2em;*min-height:auto;color:#000;}.yui-calcontainer .yui-cal-nav .yui-cal-nav-btn.yui-default{border:1px solid #304369;background-color:#426fd9;background:url(sprite.png) repeat-x 0 -1400px;}.yui-calcontainer .yui-cal-nav .yui-cal-nav-btn.yui-default button{color:#fff;}
-.yui-picker-panel{background:#e3e3e3;border-color:#888;}.yui-picker-panel .hd{background-color:#ccc;font-size:100%;line-height:100%;border:1px solid #e3e3e3;font-weight:bold;overflow:hidden;padding:6px;color:#000;}.yui-picker-panel .bd{background:#e8e8e8;margin:1px;height:200px;}.yui-picker-panel .ft{background:#e8e8e8;margin:1px;padding:1px;}.yui-picker{position:relative;}.yui-picker-hue-thumb{cursor:default;width:18px;height:18px;top:-8px;left:-2px;z-index:9;position:absolute;}.yui-picker-hue-bg{-moz-outline:none;outline:0px none;position:absolute;left:200px;height:183px;width:14px;background:url(hue_bg.png) no-repeat;top:4px;}.yui-picker-bg{-moz-outline:none;outline:0px none;position:absolute;top:4px;left:4px;height:182px;width:182px;background-color:#F00;background-image:url(picker_mask.png);}*html .yui-picker-bg{background-image:none;filter:progid:DXImageTransform.Microsoft.AlphaImageLoader(src='../../build/colorpicker/assets/picker_mask.png',sizingMethod='scale');}.yui-picker-mask{position:absolute;z-index:1;top:0px;left:0px;}.yui-picker-thumb{cursor:default;width:11px;height:11px;z-index:9;position:absolute;top:-4px;left:-4px;}.yui-picker-swatch{position:absolute;left:240px;top:4px;height:60px;width:55px;border:1px solid #888;}.yui-picker-websafe-swatch{position:absolute;left:304px;top:4px;height:24px;width:24px;border:1px solid #888;}.yui-picker-controls{position:absolute;top:72px;left:226px;font:1em monospace;}.yui-picker-controls .hd{background:transparent;border-width:0px !important;}.yui-picker-controls .bd{height:100px;border-width:0px !important;}.yui-picker-controls ul{float:left;padding:0 2px 0 0;margin:0}.yui-picker-controls li{padding:2px;list-style:none;margin:0}.yui-picker-controls input{font-size:0.85em;width:2.4em;}.yui-picker-hex-controls{clear:both;padding:2px;}.yui-picker-hex-controls input{width:4.6em;}.yui-picker-controls a{font:1em arial,helvetica,clean,sans-serif;display:block;*display:inline-block;padding:0;color:#000;}
-.yui-overlay,.yui-panel-container{visibility:hidden;position:absolute;z-index:2;}.yui-panel-container form{margin:0;}.mask{z-index:1;display:none;position:absolute;top:0;left:0;right:0;bottom:0;}.mask.block-scrollbars{overflow:auto;}.masked select,.drag select,.hide-select select{_visibility:hidden;}.yui-panel-container select{_visibility:inherit;}.hide-scrollbars,.hide-scrollbars *{overflow:hidden;}.hide-scrollbars select{display:none;}.show-scrollbars{overflow:auto;}.yui-panel-container.show-scrollbars,.yui-tt.show-scrollbars{overflow:visible;}.yui-panel-container.show-scrollbars .underlay,.yui-tt.show-scrollbars .yui-tt-shadow{overflow:auto;}.yui-panel-container.shadow .underlay.yui-force-redraw{padding-bottom:1px;}.yui-effect-fade .underlay{display:none;}.yui-tt-shadow{position:absolute;}.mask{background-color:#000;opacity:.25;*filter:alpha(opacity=25);}.yui-panel-container{padding:0 1px;*padding:2px 3px;}.yui-panel{position:relative;*zoom:1;left:0;top:0;border-style:solid;border-width:1px 0;border-color:#808080;z-index:1;}.yui-panel .hd,.yui-panel .bd,.yui-panel .ft{*zoom:1;*position:relative;border-style:solid;border-width:0 1px;border-color:#808080;margin:0 -1px;}.yui-panel .hd{border-bottom:solid 1px #ccc;}.yui-panel .bd,.yui-panel .ft{background-color:#F2F2F2;}.yui-panel .hd{padding:0 10px;font-size:93%;line-height:2;*line-height:1.9;font-weight:bold;color:#000;background:url(sprite.png) repeat-x 0 -200px;}.yui-panel .bd{padding:10px;}.yui-panel .ft{border-top:solid 1px #808080;padding:5px 10px;font-size:77%;}.yui-panel-container.focused .yui-panel .hd{}.container-close{position:absolute;top:5px;right:6px;width:25px;height:15px;background:url(sprite.png) no-repeat 0 -300px;cursor:pointer;}.yui-panel-container .underlay{right:-1px;left:-1px;}.yui-panel-container.matte{padding:9px 10px;background-color:#fff;}.yui-panel-container.shadow{_padding:2px 5px 0 3px;}.yui-panel-container.shadow .underlay{position:absolute;top:2px;right:-3px;bottom:-3px;left:-3px;*top:3px;*left:-1px;*right:-1px;*bottom:-1px;_top:0;_right:0;_bottom:0;_left:0;_margin-top:3px;_margin-left:-1px;background-color:#000;opacity:.12;*filter:alpha(opacity=12);}.yui-dialog .ft{border-top:none;padding:0 10px 10px 10px;font-size:100%;}.yui-dialog .ft .button-group{display:block;text-align:right;}.yui-dialog .ft button.default{font-weight:bold;}.yui-dialog .ft span.default{border-color:#304369;background-position:0 -1400px;}.yui-dialog .ft span.default .first-child{border-color:#304369;}.yui-dialog .ft span.default button{color:#fff;}.yui-simple-dialog .bd .yui-icon{background:url(sprite.png) no-repeat 0 0;width:16px;height:16px;margin-right:10px;float:left;}.yui-simple-dialog .bd span.blckicon{background-position:0 -1100px;}.yui-simple-dialog .bd span.alrticon{background-position:0 -1050px;}.yui-simple-dialog .bd span.hlpicon{background-position:0 -1150px;}.yui-simple-dialog .bd span.infoicon{background-position:0 -1200px;}.yui-simple-dialog .bd span.warnicon{background-position:0 -1900px;}.yui-simple-dialog .bd span.tipicon{background-position:0 -1250px;}.yui-tt .bd{position:relative;top:0;left:0;z-index:1;color:#000;padding:2px 5px;border-color:#D4C237 #A6982B #A6982B #A6982B;border-width:1px;border-style:solid;background-color:#FFEE69;}.yui-tt.show-scrollbars .bd{overflow:auto;}.yui-tt-shadow{top:2px;right:-3px;left:-3px;bottom:-3px;background-color:#000;}.yui-tt-shadow-visible{opacity:.12;*filter:alpha(opacity=12);}
-.yui-dt{border-bottom:1px solid transparent;}.yui-dt-noop{border-bottom:none;}.yui-dt-hd{display:none;}.yui-dt-scrollable .yui-dt-hd{display:block;}.yui-dt-scrollable .yui-dt-bd thead tr,.yui-dt-scrollable .yui-dt-bd thead th{position:absolute;left:-1500px;}.yui-dt-scrollable tbody{-moz-outline:none;}.yui-dt-draggable{cursor:move;}.yui-dt-coltarget{position:absolute;z-index:999;}.yui-dt-hd{zoom:1;}th.yui-dt-resizeable .yui-dt-liner{position:relative;}.yui-dt-resizer{position:absolute;right:0;bottom:0;height:100%;cursor:e-resize;cursor:col-resize;}.yui-dt-resizerproxy{visibility:hidden;position:absolute;z-index:9000;}th.yui-dt-hidden .yui-dt-liner,td.yui-dt-hidden .yui-dt-liner{margin:0;padding:0;overflow:hidden;white-space:nowrap;}.yui-dt-scrollable .yui-dt-bd{overflow:auto;}.yui-dt-scrollable .yui-dt-hd{overflow:hidden;position:relative;}.yui-dt-editor{position:absolute;z-index:9000;}.yui-dt table{margin:0;padding:0;font-family:arial;font-size:inherit;border-collapse:collapse;border-spacing:0;}.yui-dt thead{border-spacing:0;}.yui-dt caption{padding-bottom:1em;text-align:left;}.yui-dt-hd table{border-left:1px solid #7F7F7F;border-top:1px solid #7F7F7F;border-right:1px solid #7F7F7F;}.yui-dt-bd table{border:1px solid #7F7F7F;}.yui-dt-scrollable .yui-dt-hd table{border:0px;}.yui-dt-scrollable .yui-dt-bd table{border:0px;}.yui-dt-scrollable .yui-dt-hd{border-left:1px solid #7F7F7F;border-top:1px solid #7F7F7F;border-right:1px solid #7F7F7F;}.yui-dt-scrollable .yui-dt-bd{border-left:1px solid #7F7F7F;border-bottom:1px solid #7F7F7F;border-right:1px solid #7F7F7F;}.yui-dt th{background:#D8D8DA url(sprite.png) repeat-x 0 0;}.yui-dt th,.yui-dt th a{font-weight:normal;text-decoration:none;color:#000;vertical-align:bottom;}.yui-dt th{margin:0;padding:0;border:none;border-right:1px solid #CBCBCB;}.yui-dt-liner{margin:0;padding:0;padding:4px 10px 4px 10px;}.yui-dt-coltarget{width:5px;background-color:red;}.yui-dt td{margin:0;padding:0;border:none;border-right:1px solid #CBCBCB;text-align:left;}.yui-dt-list td{border-right:none;}.yui-dt-resizer{width:6px;}.yui-dt-loading{background-color:#FFF;}.yui-dt-empty{background-color:#FFF;}.yui-dt-error{background-color:#FFF;}thead .yui-dt-sortable{cursor:pointer;}th.yui-dt-asc,th.yui-dt-desc{background:url(sprite.png) repeat-x 0 -100px;}th.yui-dt-sortable .yui-dt-label{margin-right:10px;}th.yui-dt-asc .yui-dt-liner{background:url(dt-arrow-up.png) no-repeat right;}th.yui-dt-desc .yui-dt-liner{background:url(dt-arrow-dn.png) no-repeat right;}.yui-dt-editable{cursor:pointer;}.yui-dt-editor{text-align:left;background-color:#F2F2F2;border:1px solid #808080;padding:6px;}.yui-dt-editor label{padding-left:4px;padding-right:6px;}.yui-dt-editor .yui-dt-button{padding-top:6px;text-align:right;}.yui-dt-editor .yui-dt-button button{background:url(sprite.png) repeat-x 0 0;border:1px solid #999;width:4em;height:1.8em;margin-left:6px;}.yui-dt-editor .yui-dt-button button.yui-dt-default{background:url(sprite.png) repeat-x 0 -1400px;background-color:#5584E0;border:1px solid #304369;color:#FFF}.yui-dt-editor .yui-dt-button button:hover{background:url(sprite.png) repeat-x 0 -1300px;color:#000;}.yui-dt-editor .yui-dt-button button:active{background:url(sprite.png) repeat-x 0 -1700px;color:#000;}tr.yui-dt-even{background-color:#FFF;}tr.yui-dt-odd{background-color:#EDF5FF;}tr.yui-dt-even td.yui-dt-asc,tr.yui-dt-even td.yui-dt-desc{background-color:#EDF5FF;}tr.yui-dt-odd td.yui-dt-asc,tr.yui-dt-odd td.yui-dt-desc{background-color:#DBEAFF;}.yui-dt-list tr.yui-dt-even{background-color:#FFF;}.yui-dt-list tr.yui-dt-odd{background-color:#FFF;}.yui-dt-list tr.yui-dt-even td.yui-dt-asc,.yui-dt-list tr.yui-dt-even td.yui-dt-desc{background-color:#EDF5FF;}.yui-dt-list tr.yui-dt-odd td.yui-dt-asc,.yui-dt-list tr.yui-dt-odd td.yui-dt-desc{background-color:#EDF5FF;}th.yui-dt-highlighted,th.yui-dt-highlighted a{background-color:#B2D2FF;}tr.yui-dt-highlighted,tr.yui-dt-highlighted td.yui-dt-asc,tr.yui-dt-highlighted td.yui-dt-desc,tr.yui-dt-even td.yui-dt-highlighted,tr.yui-dt-odd td.yui-dt-highlighted{cursor:pointer;background-color:#B2D2FF;}.yui-dt-list th.yui-dt-highlighted,.yui-dt-list th.yui-dt-highlighted a{background-color:#B2D2FF;}.yui-dt-list tr.yui-dt-highlighted,.yui-dt-list tr.yui-dt-highlighted td.yui-dt-asc,.yui-dt-list tr.yui-dt-highlighted td.yui-dt-desc,.yui-dt-list tr.yui-dt-even td.yui-dt-highlighted,.yui-dt-list tr.yui-dt-odd td.yui-dt-highlighted{cursor:pointer;background-color:#B2D2FF;}th.yui-dt-selected,th.yui-dt-selected a{background-color:#446CD7;}tr.yui-dt-selected td,tr.yui-dt-selected td.yui-dt-asc,tr.yui-dt-selected td.yui-dt-desc{background-color:#426FD9;color:#FFF;}tr.yui-dt-even td.yui-dt-selected,tr.yui-dt-odd td.yui-dt-selected{background-color:#446CD7;color:#FFF;}.yui-dt-list th.yui-dt-selected,.yui-dt-list th.yui-dt-selected a{background-color:#446CD7;}.yui-dt-list tr.yui-dt-selected td,.yui-dt-list tr.yui-dt-selected td.yui-dt-asc,.yui-dt-list tr.yui-dt-selected td.yui-dt-desc{background-color:#426FD9;color:#FFF;}.yui-dt-list tr.yui-dt-even td.yui-dt-selected,.yui-dt-list tr.yui-dt-odd td.yui-dt-selected{background-color:#446CD7;color:#FFF;}.yui-pg-container,.yui-dt-paginator{display:block;margin:6px 0;white-space:nowrap;}.yui-pg-first,.yui-pg-last,.yui-pg-current-page,.yui-dt-first,.yui-dt-paginator .yui-dt-last,.yui-dt-paginator .yui-dt-selected{padding:2px 6px;}a.yui-pg-first,a.yui-pg-previous,a.yui-pg-next,a.yui-pg-last,a.yui-pg-page,.yui-dt-paginator a.yui-dt-first,.yui-dt-paginator a.yui-dt-last{text-decoration:none;}.yui-dt-paginator .yui-dt-previous,.yui-dt-paginator .yui-dt-next{display:none;}a.yui-pg-page,a.yui-dt-page{border:1px solid #CBCBCB;padding:2px 6px;text-decoration:none;background-color:#fff}.yui-pg-current-page,.yui-dt-selected{border:1px solid #fff;background-color:#fff;}.yui-pg-pages{margin-left:1ex;margin-right:1ex;}.yui-pg-page{margin-right:1px;margin-left:1px;}.yui-pg-first,.yui-pg-previous{margin-right:3px;}.yui-pg-next,.yui-pg-last{margin-left:3px;}.yui-pg-current,.yui-pg-rpp-options{margin-right:1em;margin-left:1em;}
-.yui-busy{cursor:wait !important;}.yui-toolbar-container fieldset{padding:0;margin:0;border:0;}.yui-toolbar-container legend{display:none;}.yui-toolbar-container .yui-toolbar-subcont{padding:.25em 0;zoom:1;}.yui-toolbar-container-collapsed .yui-toolbar-subcont{display:none;}.yui-toolbar-container .yui-toolbar-subcont:after{display:block;clear:both;visibility:hidden;content:'.';height:0;}.yui-toolbar-container span.yui-toolbar-draghandle{cursor:move;border-left:1px solid #999;border-right:1px solid #999;overflow:hidden;text-indent:77777px;width:2px;height:20px;display:block;clear:none;float:left;margin:0 0 0 .2em;}.yui-toolbar-container .yui-toolbar-titlebar.draggable{cursor:move;}.yui-toolbar-container .yui-toolbar-titlebar{position:relative;}.yui-toolbar-container .yui-toolbar-titlebar h2{font-weight:bold;letter-spacing:0;border:none;color:#000;margin:0;padding:.2em;}.yui-toolbar-container .yui-toolbar-titlebar h2 a{text-decoration:none;color:#000;cursor:default;}.yui-toolbar-container.yui-toolbar-grouped span.yui-toolbar-draghandle{height:40px;}.yui-toolbar-container .yui-toolbar-group{float:left;zoom:1;}.yui-toolbar-container .yui-toolbar-group:after{display:block;clear:both;visibility:hidden;content:'.';height:0;}.yui-toolbar-container .yui-toolbar-group h3{font-size:75%;padding:0 0 0 .25em;margin:0;}.yui-toolbar-container span.yui-toolbar-separator{width:2px;height:18px;margin:.2em 0 .2em .1em;display:block;clear:none;float:left;}.yui-toolbar-container.yui-toolbar-grouped span.yui-toolbar-separator{height:35px;}.yui-toolbar-container.yui-toolbar-grouped .yui-toolbar-group span.yui-toolbar-separator{height:18px;}.yui-toolbar-container ul li{margin:0;padding:0;list-style-type:none;}.yui-toolbar-container .yui-toolbar-nogrouplabels h3{display:none;}.yui-toolbar-container .yui-push-button,.yui-toolbar-container .yui-color-button,.yui-toolbar-container .yui-menu-button{position:relative;cursor:pointer;}.yui-toolbar-container .yui-button .first-child,.yui-toolbar-container .yui-button .first-child a{height:100%;width:100%;overflow:hidden;}.yui-toolbar-container .yui-button-disabled{cursor:default;}.yui-toolbar-container .yui-button-disabled .yui-toolbar-icon{opacity:.5;filter:alpha(opacity=50);}.yui-toolbar-container .yui-button-disabled .up,.yui-toolbar-container .yui-button-disabled .down{opacity:.5;filter:alpha(opacity=50);}.yui-toolbar-container .yui-button a{overflow:hidden;}.yui-toolbar-container .yui-toolbar-select .first-child a{cursor:pointer;}.yui-toolbar-fontname-arial{font-family:Arial;}.yui-toolbar-fontname-arial-black{font-family:Arial Black;}.yui-toolbar-fontname-comic-sans-ms{font-family:Comic Sans MS;}.yui-toolbar-fontname-courier-new{font-family:Courier New;}.yui-toolbar-fontname-times-new-roman{font-family:Times New Roman;}.yui-toolbar-fontname-verdana{font-family:Verdana;}.yui-toolbar-fontname-impact{font-family:Impact;}.yui-toolbar-fontname-lucida-console{font-family:Lucida Console;}.yui-toolbar-fontname-tahoma{font-family:Tahoma;}.yui-toolbar-fontname-trebuchet-ms{font-family:Trebuchet MS;}.yui-toolbar-container .yui-toolbar-spinbutton{position:relative;}.yui-toolbar-container .yui-toolbar-spinbutton .first-child a{z-index:0;opacity:1;}.yui-toolbar-container .yui-toolbar-spinbutton a.up,.yui-toolbar-container .yui-toolbar-spinbutton a.down{position:absolute;display:block right:0;cursor:pointer;z-index:1;padding:0;margin:0;}.yui-toolbar-container .yui-overlay{position:absolute;}.yui-toolbar-container .yui-overlay ul li{margin:0;list-style-type:none;}.yui-toolbar-container{z-index:1;}.yui-editor-container .yui-editor-editable-container{position:relative;z-index:0;width:100%;}.yui-editor-container .yui-editor-masked{background-color:#CCC;}.yui-editor-container iframe{border:0px;padding:0;margin:0;zoom:1;display:block;}.yui-editor-container .yui-editor-editable{padding:0;margin:0;}.yui-editor-container .dompath{font-size:85%;}.yui-editor-panel .hd{text-align:left;position:relative;}.yui-editor-panel .hd h3{font-weight:bold;padding:0.25em 0pt 0.25em 0.25em;margin:0;}.yui-editor-panel .bd{width:100%;zoom:1;position:relative;}.yui-editor-panel .bd div.yui-editor-body-cont{padding:.25em .1em;zoom:1;}.yui-editor-panel .bd div.yui-editor-body-cont:after{display:block;clear:both;visibility:hidden;content:'.';height:0;}.yui-editor-panel .ft{text-align:right;width:99%;float:left;clear:both;}.yui-editor-panel .ft span.tip{display:block;position:relative;padding:.5em .5em .5em 23px;text-align:left;zoom:1;}.yui-editor-panel label{clear:both;float:left;padding:0;width:100%;text-align:left;zoom:1;}.yui-editor-panel .gecko label{overflow:auto;}.yui-editor-panel label strong{float:left;width:6em;}.yui-editor-panel .removeLink{width:80%;text-align:right;}.yui-editor-panel label input{margin-left:.25em;float:left;}.yui-editor-panel .yui-toolbar-group-padding{}.yui-editor-panel .yui-toolbar-group-border{}.yui-editor-panel .yui-toolbar-group-textflow{}.yui-editor-panel .height-width{float:left;}.yui-editor-panel .height-width h3{}.yui-editor-panel .height-width span{font-style:italic;display:block;float:left;overflow:auto;}.yui-editor-panel .height-width span.info{font-size:70%;}.yui-editor-panel .yui-toolbar-bordersize,.yui-editor-panel .yui-toolbar-bordertype{font-size:75%;}.yui-editor-panel .yui-toolbar-container span.yui-toolbar-separator{border:none;}.yui-editor-panel .yui-toolbar-bordersize span a span,.yui-editor-panel .yui-toolbar-bordertype span a span{display:block;height:8px;left:4px;position:absolute;top:3px;*top:-5px;width:24px;}.yui-editor-panel .yui-toolbar-bordertype span a span.yui-toolbar-bordertype-solid{border-bottom:1px solid black;}.yui-editor-panel .yui-toolbar-bordertype span a span.yui-toolbar-bordertype-dotted{border-bottom:1px dotted black;}.yui-editor-panel .yui-toolbar-bordertype span a span.yui-toolbar-bordertype-dashed{border-bottom:1px dashed black;}.yui-editor-panel .yui-toolbar-bordersize span a span.yui-toolbar-bordersize-0{*top:0px;}.yui-editor-panel .yui-toolbar-bordersize span a span.yui-toolbar-bordersize-1{border-bottom:1px solid black;}.yui-editor-panel .yui-toolbar-bordersize span a span.yui-toolbar-bordersize-2{border-bottom:2px solid black;}.yui-editor-panel .yui-toolbar-bordersize span a span.yui-toolbar-bordersize-3{top:2px;*top:-5px;border-bottom:3px solid black;}.yui-editor-panel .yui-toolbar-bordersize span a span.yui-toolbar-bordersize-4{top:1px;*top:-5px;border-bottom:4px solid black;}.yui-editor-panel .yui-toolbar-bordersize span a span.yui-toolbar-bordersize-5{top:1px;*top:-5px;border-bottom:5px solid black;}.yui-toolbar-container .yui-toolbar-bordersize-menu,.yui-toolbar-container .yui-toolbar-bordertype-menu{width:95px !important;}.yui-toolbar-bordersize-menu .yuimenuitemlabel,.yui-toolbar-bordertype-menu .yuimenuitemlabel,.yui-toolbar-bordersize-menu .yuimenuitemlabel,.yui-toolbar-bordertype-menu .yuimenuitemlabel:hover{margin:0px 3px 7px 17px;}.yui-toolbar-bordersize-menu .yuimenuitemlabel .checkedindicator,.yui-toolbar-bordertype-menu .yuimenuitemlabel .checkedindicator{position:absolute;left:-12px;*top:14px;*left:0px;}.yui-toolbar-bordersize-menu li.yui-toolbar-bordersize-1 a{border-bottom:1px solid black;height:14px;}.yui-toolbar-bordersize-menu li.yui-toolbar-bordersize-2 a{border-bottom:2px solid black;height:14px;}.yui-toolbar-bordersize-menu li.yui-toolbar-bordersize-3 a{border-bottom:3px solid black;height:14px;}.yui-toolbar-bordersize-menu li.yui-toolbar-bordersize-4 a{border-bottom:4px solid black;height:14px;}.yui-toolbar-bordersize-menu li.yui-toolbar-bordersize-5 a{border-bottom:5px solid black;height:14px;}.yui-toolbar-bordertype-menu li.yui-toolbar-bordertype-solid a{border-bottom:1px solid black;height:14px;}.yui-toolbar-bordertype-menu li.yui-toolbar-bordertype-dashed a{border-bottom:1px dashed black;height:14px;}.yui-toolbar-bordertype-menu li.yui-toolbar-bordertype-dotted a{border-bottom:1px dotted black;height:14px;}h2.yui-editor-skipheader,h3.yui-editor-skipheader{height:0;margin:0;padding:0;border:none;width:0;overflow:hidden;position:absolute;}.yui-toolbar-colors{width:133px;zoom:1;display:none;z-index:100;overflow:hidden;}.yui-toolbar-colors:after{display:block;clear:both;visibility:hidden;content:'.';height:0;}.yui-toolbar-colors a{height:9px;width:9px;float:left;display:block;overflow:hidden;text-indent:999px;margin:0;cursor:pointer;border:1px solid #F6F7EE;}.yui-toolbar-colors a:hover{border:1px solid black;}.yui-color-button-menu{overflow:visible;background-color:transparent;}.yui-toolbar-colors span{position:relative;display:block;padding:3px;overflow:hidden;float:left;width:100%;zoom:1;}.yui-toolbar-colors span:after{display:block;clear:both;visibility:hidden;content:'.';height:0;}.yui-toolbar-colors span em{height:35px;width:30px;float:left;display:block;overflow:hidden;text-indent:999px;margin:0.75px;border:1px solid black;}.yui-toolbar-colors span strong{font-weight:normal;padding-left:3px;display:block;font-size:85%;float:left;width:65%;}.yui-editor-container{border:1px solid #808080;}.yui-toolbar-container{zoom:1;}.yui-toolbar-container .yui-toolbar-titlebar{background:url(sprite.png) repeat-x 0 -200px;position:relative;}.yui-toolbar-container .yui-toolbar-titlebar h2{color:#000000;font-weight:bold;margin:0;padding:0.3em 1em;font-size:100%;text-align:left;}.yui-toolbar-container .yui-toolbar-group h3{color:#808080;font-size:75%;margin:1em 0 0;padding-bottom:0;padding-left:0.25em;text-align:left;}.yui-toolbar-container span.yui-toolbar-separator{border:none;text-indent:33px;overflow:hidden;margin:.25em;}.yui-toolbar-container{background-color:#F2F2F2;}.yui-toolbar-container .yui-toolbar-subcont{padding:0 1em 0.35em;border-bottom:1px solid #808080;}.yui-toolbar-container-collapsed .yui-toolbar-titlebar{border-bottom:1px solid #808080;}.yui-editor-container .visible .yui-menu-shadow,.yui-editor-panel .visible .yui-menu-shadow{display:none;}.yui-editor-container ul{list-style-type:none;margin:0;padding:0;}.yui-editor-container ul li{list-style-type:none;margin:0;padding:0;}.yui-toolbar-group ul li.yui-toolbar-groupitem{float:left;}.yui-editor-container .dompath{background-color:#F2F2F2;border-top:1px solid #808080;color:#999;text-align:left;padding:0.25em;}.yui-toolbar-container .collapse{background:url(sprite.png) no-repeat 0 -400px;}.yui-toolbar-container .yui-toolbar-titlebar span.collapse{cursor:pointer;position:absolute;top:4px;right:2px;display:block;overflow:hidden;height:15px;width:15px;text-indent:9999px;}.yui-toolbar-container .yui-push-button,.yui-toolbar-container .yui-color-button,.yui-toolbar-container .yui-menu-button{background:url(sprite.png) repeat-x 0 0;position:relative;display:block;height:22px;width:30px;margin:0;border-color:#808080;border-style:solid;border-width:1px 0;}.yui-toolbar-container .yui-push-button a,.yui-toolbar-container .yui-color-button a,.yui-toolbar-container .yui-menu-button a{padding-left:35px;height:20px;text-decoration:none;font-size:93%;line-height:2;display:block;color:#000000;overflow:hidden;}.yui-toolbar-container .yui-push-button .first-child,.yui-toolbar-container .yui-color-button .first-child,.yui-toolbar-container .yui-menu-button .first-child{border-color:#808080;border-style:solid;border-width:0 1px;margin:0 -1px;display:block;}.yui-toolbar-container .yui-push-button-disabled .first-child,.yui-toolbar-container .yui-color-button-disabled .first-child,.yui-toolbar-container .yui-menu-button-disabled .first-child{border-color:#ccc;}.yui-toolbar-container .yui-push-button-disabled a,.yui-toolbar-container .yui-color-button-disabled a,.yui-toolbar-container .yui-menu-button-disabled a{color:#A6A6A6;cursor:default;}.yui-toolbar-container .yui-push-button-disabled,.yui-toolbar-container .yui-color-button-disabled,.yui-toolbar-container .yui-menu-button-disabled{border-color:#ccc;}.yui-toolbar-container .yui-button .first-child{*left:0px;}.yui-toolbar-container .yui-toolbar-fontname{width:135px;}.yui-toolbar-container .yui-toolbar-heading{width:92px;}.yui-toolbar-container .yui-button-hover{background:url(sprite.png) repeat-x 0 -1300px;border-color:#808080;}.yui-toolbar-container .yui-button-selected{background:url(sprite.png) repeat-x 0 -1700px;border-color:#808080;}.yui-toolbar-container .yui-toolbar-nogrouplabels h3{display:none;}.yui-toolbar-container .yui-toolbar-nogrouplabels .yui-toolbar-group{margin-top:.75em;}.yui-toolbar-container .yui-push-button span.yui-toolbar-icon,.yui-toolbar-container .yui-color-button span.yui-toolbar-icon,.yui-toolbar-container .yui-menu-button span.yui-toolbar-icon{display:block;position:absolute;top:2px;height:18px;width:18px;overflow:hidden;background:url(editor-sprite.gif) no-repeat 30px 30px;}.yui-toolbar-container .yui-button-selected span.yui-toolbar-icon,.yui-toolbar-container .yui-button-hover span.yui-toolbar-icon{background-image:url(editor-sprite-active.gif);}.yui-toolbar-container .visible .yuimenuitemlabel{cursor:pointer;color:#000;*position:relative;}.yui-toolbar-container .yui-button-menu{background-color:#fff;}div.yuimenu li.selected{background-color:#B3D4FF;}div.yuimenu li.selected a.selected{color:#000;}.yui-toolbar-container .yui-toolbar-bold span.yui-toolbar-icon{background-position:0 0;left:5px;}.yui-toolbar-container .yui-toolbar-italic span.yui-toolbar-icon{background-position:0 -36px;left:5px;}.yui-toolbar-container .yui-toolbar-underline span.yui-toolbar-icon{background-position:0 -72px;left:5px;}.yui-toolbar-container .yui-toolbar-subscript span.yui-toolbar-icon{background-position:0 -180px;left:5px;}.yui-toolbar-container .yui-toolbar-superscript span.yui-toolbar-icon{background-position:0 -144px;left:5px;}.yui-toolbar-container .yui-toolbar-forecolor span.yui-toolbar-icon{background-position:0 -216px;left:5px;}.yui-toolbar-container .yui-toolbar-backcolor span.yui-toolbar-icon{background-position:0 -288px;left:5px;}.yui-toolbar-container .yui-toolbar-justifyleft span.yui-toolbar-icon{background-position:0 -324px;left:5px;}.yui-toolbar-container .yui-toolbar-justifycenter span.yui-toolbar-icon{background-position:0 -360px;left:5px;}.yui-toolbar-container .yui-toolbar-justifyright span.yui-toolbar-icon{background-position:0 -396px;left:5px;}.yui-toolbar-container .yui-toolbar-justifyfull span.yui-toolbar-icon{background-position:0 -432px;left:5px;}.yui-toolbar-container .yui-toolbar-indent span.yui-toolbar-icon{background-position:0 -720px;left:5px;}.yui-toolbar-container .yui-toolbar-outdent span.yui-toolbar-icon{background-position:0 -684px;left:5px;}.yui-toolbar-container .yui-toolbar-createlink span.yui-toolbar-icon{background-position:0 -792px;left:5px;}.yui-toolbar-container .yui-toolbar-insertimage span.yui-toolbar-icon{background-position:1px -756px;left:5px;}.yui-toolbar-container .yui-toolbar-left span.yui-toolbar-icon{background-position:0 -972px;left:5px;}.yui-toolbar-container .yui-toolbar-right span.yui-toolbar-icon{background-position:0 -936px;left:5px;}.yui-toolbar-container .yui-toolbar-inline span.yui-toolbar-icon{background-position:0 -900px;left:5px;}.yui-toolbar-container .yui-toolbar-block span.yui-toolbar-icon{background-position:0 -864px;left:5px;}.yui-toolbar-container .yui-toolbar-bordercolor span.yui-toolbar-icon{background-position:0 -252px;left:5px;}.yui-toolbar-container .yui-toolbar-removeformat span.yui-toolbar-icon{background-position:0 -1080px;left:5px;}.yui-toolbar-container .yui-toolbar-hiddenelements span.yui-toolbar-icon{background-position:0 -1044px;left:5px;}.yui-toolbar-container .yui-toolbar-insertunorderedlist span.yui-toolbar-icon{background-position:0 -468px;left:5px;}.yui-toolbar-container .yui-toolbar-insertorderedlist span.yui-toolbar-icon{background-position:0 -504px;left:5px;}.yui-toolbar-container .yui-toolbar-spinbutton,.yui-toolbar-container .yui-toolbar-spinbutton .first-child{width:35px;}.yui-toolbar-container .yui-toolbar-spinbutton .first-child a{padding-left:2px;text-align:left;}.yui-toolbar-container .yui-toolbar-spinbutton span.yui-toolbar-icon{display:none;}.yui-toolbar-container .yui-toolbar-spinbutton a.up,.yui-toolbar-container .yui-toolbar-spinbutton a.down{right:2px;background:url(editor-sprite.gif) no-repeat 0 -1222px;overflow:hidden;height:6px;width:7px;min-height:0;padding:0;}.yui-toolbar-container .yui-toolbar-spinbutton a.up{top:2px;background-position:0 -1222px;}.yui-toolbar-container .yui-toolbar-spinbutton a.down{bottom:2px;background-position:0 -1187px;}.yui-toolbar-container select{height:22px;border:1px solid #808080;}.yui-toolbar-container .yui-toolbar-select .first-child a{padding-left:5px;text-align:left;}.yui-toolbar-container .yui-toolbar-select span.yui-toolbar-icon{background:url( editor-sprite.gif ) no-repeat 0 -1144px;overflow:hidden;right:-2px;top:0px;height:20px;}.yui-editor-panel .yui-color-button-menu .bd{background-color:transparent;border:none;width:135px;}.yui-color-button-menu .yui-toolbar-colors{border:1px solid #808080;}.yui-editor-panel{padding:0;margin:0;border:none;background-color:transparent;overflow:visible;}.yui-editor-panel .hd{margin:10px 0 0;padding:0;border:none;}.yui-editor-panel .hd h3{color:#000;border:1px solid #808080;background:url(sprite.png) repeat-x 0 -200px;width:99%;position:relative;margin:0;padding:3px 0 0 0;font-size:93%;text-indent:5px;height:20px;}.yui-editor-panel .bd{background-color:#F2F2F2;border-left:1px solid #808080;border-right:1px solid #808080;width:99%;margin:0;padding:0;overflow:visible;}.yui-editor-panel ul{list-style-type:none;margin:0;padding:0;}.yui-editor-panel ul li{margin:0;padding:0;}.yui-editor-panel .yuimenu{}.yui-editor-panel .yui-toolbar-container .yui-toolbar-subcont{padding:0;border:none;margin-top:0.35em;}.yui-editor-panel .yui-toolbar-bordersize,.yui-editor-panel .yui-toolbar-bordertype{width:50px;}.yui-editor-panel label{display:block;float:none;padding:4px 0;margin-bottom:7px;}.yui-editor-panel label strong{font-weight:normal;font-size:93%;text-align:right;padding-top:2px;}.yui-editor-panel label input{width:75%;}.yui-editor-panel #createlink_target,.yui-editor-panel #insertimage_target{width:auto;margin-right:5px;}.yui-editor-panel .removeLink{width:98%;}.yui-editor-panel label input.warning{background-color:#FFEE69;}.yui-editor-panel .yui-toolbar-group h3{color:#000;float:left;font-weight:normal;font-size:93%;margin:5px 0 0 0;padding:0 3px 0 0;text-align:right;}.yui-editor-panel .height-width h3{margin:3px 0 0 10px;}.yui-editor-panel .height-width{margin:3px 0 0 35px;*margin-left:14px;width:42%;*width:44%;}.yui-editor-panel .yui-toolbar-group-border{width:190px;}.yui-editor-panel .no-button .yui-toolbar-group-border{width:210px;}.yui-editor-panel .yui-toolbar-group-padding{width:203px;}.yui-editor-panel .no-button .yui-toolbar-group-padding{width:172px;}.yui-editor-panel .yui-toolbar-group-padding h3{margin-left:25px;*margin-left:12px;}.yui-editor-panel .yui-toolbar-group-textflow{width:182px;}.yui-editor-panel .hd{background:none;}.yui-editor-panel .ft{background-color:#F2F2F2;border:1px solid #808080;border-top:none;padding:0;margin:0 0 2px 0;}.yui-editor-panel .hd span.close{background:url(sprite.png) no-repeat 0 -300px;cursor:pointer;display:block;height:16px;overflow:hidden;position:absolute;right:5px;text-indent:500px;top:2px;width:26px;}.yui-editor-panel .ft span.tip{background-color:#EDF5FF;border-top:1px solid #808080;font-size:85%;}.yui-editor-panel .ft span.tip strong{display:block;float:left;margin:0 2px 8px 0;}.yui-editor-panel .ft span.tip span.icon{background:url( editor-sprite.gif ) no-repeat 0 -1260px;display:block;height:20px;left:2px;position:absolute;top:8px;width:20px;}.yui-editor-panel .ft span.tip span.icon-info{background-position:2px -1260px;}.yui-editor-panel .ft span.tip span.icon-warn{background-position:2px -1296px;}.yui-editor-panel .hd span.knob{position:absolute;height:10px;width:28px;top:-10px;left:25px;text-indent:9999px;overflow:hidden;background:url( editor-knob.gif ) no-repeat 0 0;}.yui-editor-panel .yui-toolbar-container{float:left;width:100%;background-image:none;border:none;}.yui-editor-panel .yui-toolbar-container .bd{background-color:#ffffff;}.yui-editor-blankimage{background-image:url( blankimage.png );}
-.yui-crop{position:relative;}.yui-crop .yui-crop-mask{position:absolute;top:0;left:0;height:100%;width:100%;}.yui-crop .yui-resize{position:absolute;top:10px;left:10px;}.yui-crop .yui-crop-resize-mask{position:absolute;top:0;left:0;height:100%;width:100%;background-position:-10px -10px;overflow:hidden;}.yui-crop .yui-crop-mask{background-color:#000;opacity:.5;filter:alpha(opacity=50);}.yui-crop .yui-resize{border:1px dashed #fff;}
-.yui-layout-loading{visibility:hidden;}body.yui-layout{overflow:hidden;position:relative;padding:0;margin:0;}.yui-layout-doc{position:relative;}.yui-layout-unit{height:50px;width:50px;padding:0;margin:0;float:none;z-index:0;overflow:hidden;}.yui-layout-unit-top{position:absolute;top:0;left:0;width:100%;}.yui-layout-unit-left{position:absolute;top:0;left:0;}.yui-layout-unit-right{position:absolute;top:0;right:0;}.yui-layout-unit-bottom{position:absolute;bottom:0;left:0;width:100%;}.yui-layout-unit-center{position:absolute;top:0;left:0;width:100%;}.yui-layout div.yui-layout-hd{position:absolute;top:0;left:0;zoom:1;width:100%;overflow:hidden;}.yui-layout div.yui-layout-bd{position:absolute;top:0;left:0;zoom:1;width:100%;overflow:hidden;}.yui-layout .yui-layout-scroll div.yui-layout-bd{overflow:auto;}.yui-layout div.yui-layout-ft{position:absolute;bottom:0;left:0;width:100%;zoom:1;overflow:hidden;}.yui-layout .yui-layout-unit div.yui-layout-hd h2{text-align:left;}.yui-layout .yui-layout-unit div.yui-layout-hd .collapse{cursor:pointer;height:13px;position:absolute;right:2px;top:2px;width:17px;font-size:0;}.yui-layout .yui-layout-unit div.yui-layout-hd .close{cursor:pointer;height:13px;position:absolute;right:2px;top:2px;width:17px;font-size:0;}.yui-layout .yui-layout-unit div.yui-layout-hd .collapse-close{right:25px;}.yui-layout .yui-layout-clip{position:absolute;height:20px;background-color:#c0c0c0;display:none;}.yui-layout .yui-layout-clip .collapse{cursor:pointer;height:13px;position:absolute;right:2px;top:2px;width:17px;font-size:0px;}.yui-layout .yui-layout-wrap{height:100%;width:100%;position:absolute;left:0;}.yui-layout .yui-layout-unit .yui-content{overflow:hidden;}.yui-layout .yui-layout-unit .yui-layout-scroll{overflow:auto;}.yui-layout .yui-resize-proxy{border:none;font-size:0;margin:0;padding:0;}.yui-layout .yui-resize-resizing .yui-resize-handle{opacity:0;filter:alpha(opacity=0);}.yui-layout .yui-resize-proxy div{position:absolute;border:1px solid #808080;background-color:#EDF5FF;}.yui-layout .yui-resize .yui-resize-handle-active{background-color:#EDF5FF;}.yui-layout .yui-resize-proxy .yui-layout-handle-l{width:5px;height:100%;top:0;left:0;}.yui-layout .yui-resize-proxy .yui-layout-handle-r{width:5px;top:0;right:0;height:100%;}.yui-layout .yui-resize-proxy .yui-layout-handle-b{width:100%;bottom:0;left:0;height:5px;}.yui-layout .yui-resize-proxy .yui-layout-handle-t{width:100%;top:0;left:0;height:5px;}.yui-layout .yui-layout-unit-left div.yui-layout-hd .collapse{background:transparent url(layout_sprite.png) no-repeat -20px -160px;border:1px solid #808080;}.yui-layout .yui-layout-clip-left .collapse{background:transparent url(layout_sprite.png) no-repeat -20px -140px;border:1px solid #808080;}.yui-layout .yui-layout-unit-right div.yui-layout-hd .collapse{background:transparent url(layout_sprite.png) no-repeat -20px -200px;border:1px solid #808080;}.yui-layout .yui-layout-clip-right .collapse{background:transparent url(layout_sprite.png) no-repeat -20px -120px;border:1px solid #808080;}.yui-layout .yui-layout-unit-top div.yui-layout-hd .collapse{background:transparent url(layout_sprite.png) no-repeat -20px -220px;border:1px solid #808080;}.yui-layout .yui-layout-clip-top .collapse{background:transparent url(layout_sprite.png) no-repeat -20px -240px;border:1px solid #808080;}.yui-layout .yui-layout-unit-bottom div.yui-layout-hd .collapse{background:transparent url(layout_sprite.png) no-repeat -20px -260px;border:1px solid #808080;}.yui-layout .yui-layout-clip-bottom .collapse{background:transparent url(layout_sprite.png) no-repeat -20px -180px;border:1px solid #808080;}.yui-layout .yui-layout-unit div.yui-layout-hd .close{background:transparent url(layout_sprite.png) no-repeat -20px -100px;border:1px solid #808080;}.yui-layout .yui-layout-hd{background:url(sprite.png) repeat-x 0 -1400px;border:1px solid #808080;}.yui-layout{background-color:#EDF5FF;}.yui-layout .yui-layout-unit div.yui-layout-hd h2{font-weight:bold;color:#fff;padding:3px;}.yui-layout .yui-layout-unit div.yui-layout-bd{border:1px solid #808080;border-bottom:none;border-top:none;*border-bottom-width:0;*border-top-width:0;background-color:#f2f2f2;text-align:left;}.yui-layout .yui-layout-unit div.yui-layout-bd-noft{border-bottom:1px solid #808080;}.yui-layout .yui-layout-unit div.yui-layout-bd-nohd{border-top:1px solid #808080;}.yui-layout .yui-layout-clip{position:absolute;height:20px;background-color:#EDF5FF;display:none;border:1px solid #808080;}.yui-layout div.yui-layout-ft{border:1px solid #808080;border-top:none;*border-top-width:0;background-color:#f2f2f2;}.yui-layout-unit .yui-resize-handle{background-color:transparent;}.yui-layout-unit .yui-resize-handle-r{right:0;top:0;background-image:none;}.yui-layout-unit .yui-resize-handle-l{left:0;top:0;background-image:none;}.yui-layout-unit .yui-resize-handle-b{right:0;bottom:0;background-image:none;}.yui-layout-unit .yui-resize-handle-t{right:0;top:0;background-image:none;}.yui-layout-unit .yui-resize-handle-r .yui-layout-resize-knob,.yui-layout-unit .yui-resize-handle-l .yui-layout-resize-knob{position:absolute;height:16px;width:6px;top:45%;left:0px;background:transparent url(layout_sprite.png) no-repeat 0 -5px;}.yui-layout-unit .yui-resize-handle-t .yui-layout-resize-knob,.yui-layout-unit .yui-resize-handle-b .yui-layout-resize-knob{position:absolute;height:6px;width:16px;left:45%;background:transparent url(layout_sprite.png) no-repeat -20px 0;}
-.yui-log{padding:1em;width:31em;background-color:#AAA;color:#000;border:1px solid black;font-family:monospace;font-size:77%;text-align:left;z-index:9000;}.yui-log-container{position:absolute;top:1em;right:1em;}.yui-log input{margin:0;padding:0;font-family:arial;font-size:100%;font-weight:normal;}.yui-log .yui-log-btns{position:relative;float:right;bottom:.25em;}.yui-log .yui-log-hd{margin-top:1em;padding:.5em;background-color:#575757;}.yui-log .yui-log-hd h4{margin:0;padding:0;font-size:108%;font-weight:bold;color:#FFF;}.yui-log .yui-log-bd{width:100%;height:20em;background-color:#FFF;border:1px solid gray;overflow:auto;}.yui-log p{margin:1px;padding:.1em;}.yui-log pre{margin:0;padding:0;}.yui-log pre.yui-log-verbose{white-space:pre-wrap;white-space:-moz-pre-wrap !important;white-space:-pre-wrap;white-space:-o-pre-wrap;word-wrap:break-word;}.yui-log .yui-log-ft{margin-top:.5em;}.yui-log .yui-log-ft .yui-log-categoryfilters{}.yui-log .yui-log-ft .yui-log-sourcefilters{width:100%;border-top:1px solid #575757;margin-top:.75em;padding-top:.75em;}.yui-log .yui-log-filtergrp{margin-right:.5em;}.yui-log .info{background-color:#A7CC25;}.yui-log .warn{background-color:#F58516;}.yui-log .error{background-color:#E32F0B;}.yui-log .time{background-color:#A6C9D7;}.yui-log .window{background-color:#F2E886;}
-.yuimenubar{visibility:visible;position:static;}.yuimenu .yuimenu,.yuimenubar .yuimenu{visibility:hidden;position:absolute;top:-10000px;left:-10000px;}.yuimenubar li,.yuimenu li{list-style-type:none;}.yuimenubar ul,.yuimenu ul,.yuimenubar li,.yuimenu li,.yuimenu h6,.yuimenubar h6{margin:0;padding:0;}.yuimenuitemlabel,.yuimenubaritemlabel{text-align:left;white-space:nowrap;}.yuimenubar ul{*zoom:1;}.yuimenubar .yuimenu ul{*zoom:normal;}.yuimenubar>.bd>ul:after{content:".";display:block;clear:both;visibility:hidden;height:0;line-height:0;}.yuimenubaritem{float:left;}.yuimenubaritemlabel,.yuimenuitemlabel{display:block;}.yuimenuitemlabel .helptext{font-style:normal;display:block;margin:-1em 0 0 10em;}.yui-menu-shadow{position:absolute;visibility:hidden;z-index:-1;}.yui-menu-shadow-visible{top:2px;right:-3px;left:-3px;bottom:-3px;visibility:visible;}.hide-scrollbars *{overflow:hidden;}.hide-scrollbars select{display:none;}.yuimenu.show-scrollbars,.yuimenubar.show-scrollbars{overflow:visible;}.yuimenu.hide-scrollbars .yui-menu-shadow,.yuimenubar.hide-scrollbars .yui-menu-shadow{overflow:hidden;}.yuimenu.show-scrollbars .yui-menu-shadow,.yuimenubar.show-scrollbars .yui-menu-shadow{overflow:auto;}.yuimenubar{font-size:93%;line-height:2;*line-height:1.9;border:solid 1px #808080;background:url(sprite.png) repeat-x 0 0;}.yuimenubarnav .yuimenubaritem{border-right:solid 1px #ccc;}.yuimenubaritemlabel{padding:0 10px;color:#000;text-decoration:none;cursor:default;border-style:solid;border-color:#808080;border-width:1px 0;*position:relative;margin:-1px 0;}.yuimenubarnav .yuimenubaritemlabel{padding-right:20px;*display:inline-block;}.yuimenubarnav .yuimenubaritemlabel-hassubmenu{background:url(menubaritem_submenuindicator.png) right center no-repeat;}.yuimenubaritem-selected{background:url(sprite.png) repeat-x 0 -1700px;}.yuimenubaritemlabel-selected{border-color:#7D98B8;}.yuimenubarnav .yuimenubaritemlabel-selected{border-left-width:1px;margin-left:-1px;*left:-1px;}.yuimenubaritemlabel-disabled{cursor:default;color:#A6A6A6;}.yuimenubarnav .yuimenubaritemlabel-hassubmenu-disabled{background-image:url(menubaritem_submenuindicator_disabled.png);}.yuimenu{font-size:93%;line-height:1.5;*line-height:1.45;}.yuimenubar .yuimenu,.yuimenu .yuimenu{font-size:100%;}.yuimenu .bd{border:solid 1px #808080;background-color:#fff;}.yuimenu ul{padding:3px 0;border-width:1px 0 0 0;border-color:#ccc;border-style:solid;}.yuimenu ul.first-of-type{border-width:0;}.yuimenu h6{font-weight:bold;border-style:solid;border-color:#ccc;border-width:1px 0 0 0;color:#a4a4a4;padding:3px 10px 0 10px;}.yuimenu ul.hastitle,.yuimenu h6.first-of-type{border-width:0;}.yuimenu .yui-menu-body-scrolled{border-color:#ccc #808080;overflow:hidden;}.yuimenu .topscrollbar,.yuimenu .bottomscrollbar{height:16px;border:solid 1px #808080;background:#fff url(sprite.png) no-repeat 0 0;}.yuimenu .topscrollbar{border-bottom-width:0;background-position:center -950px;}.yuimenu .topscrollbar_disabled{background-position:center -975px;}.yuimenu .bottomscrollbar{border-top-width:0;background-position:center -850px;}.yuimenu .bottomscrollbar_disabled{background-position:center -875px;}.yuimenuitem{_border-bottom:solid 1px #fff;}.yuimenuitemlabel{padding:0 20px;color:#000;text-decoration:none;cursor:default;}.yuimenuitemlabel .helptext{margin-top:-1.5em;*margin-top:-1.45em;}.yuimenuitem-hassubmenu{background-image:url(menuitem_submenuindicator.png);background-position:right center;background-repeat:no-repeat;}.yuimenuitem-checked{background-image:url(menuitem_checkbox.png);background-position:left center;background-repeat:no-repeat;}.yui-menu-shadow-visible{background-color:#000;opacity:.12;*filter:alpha(opacity=12);}.yuimenuitem-selected{background-color:#B3D4FF;}.yuimenuitemlabel-disabled{cursor:default;color:#A6A6A6;}.yuimenuitem-hassubmenu-disabled{background-image:url(menuitem_submenuindicator_disabled.png);}.yuimenuitem-checked-disabled{background-image:url(menuitem_checkbox_disabled.png);}
-.yui-pv{background-color:#4a4a4a;font:arial;position:relative;width:99%;z-index:1000;margin-bottom:1em;overflow:hidden;}.yui-pv .hd{background:url(header_background.png) repeat-x;min-height:30px;overflow:hidden;zoom:1;padding:2px 0;}.yui-pv .hd h4{padding:8px 10px;margin:0;font:bold 14px arial;color:#fff;}.yui-pv .hd a{background:#3f6bc3;font:bold 11px arial;color:#fff;padding:4px;margin:3px 10px 0 0;border:1px solid #3f567d;cursor:pointer;display:block;float:right;}.yui-pv .hd span{display:none;}.yui-pv .hd span.yui-pv-busy{height:18px;width:18px;background:url(wait.gif) no-repeat;overflow:hidden;display:block;float:right;margin:4px 10px 0 0;}.yui-pv .hd:after,.yui-pv .bd:after,.yui-pv-chartlegend dl:after{content:'.';visibility:hidden;clear:left;height:0;display:block;}.yui-pv .bd{position:relative;zoom:1;overflow-x:auto;overflow-y:hidden;}.yui-pv .yui-pv-table{padding:0 10px;margin:5px 0 10px 0;}.yui-pv .yui-pv-table .yui-dt-bd td{color:#eeee5c;font:12px arial;}.yui-pv .yui-pv-table tr.yui-dt-odd{background:#929292;}.yui-pv .yui-pv-table tr.yui-dt-even{background:#58637a;}.yui-pv .yui-pv-table tr.yui-dt-even td.yui-dt-asc,.yui-pv .yui-pv-table tr.yui-dt-even td.yui-dt-desc{background:#384970;}.yui-pv .yui-pv-table tr.yui-dt-odd td.yui-dt-asc,.yui-pv .yui-pv-table tr.yui-dt-odd td.yui-dt-desc{background:#6F6E6E;}.yui-pv .yui-pv-table .yui-dt-hd th{background-image:none;background:#2E2D2D;}.yui-pv th.yui-dt-asc .yui-dt-liner{background:transparent url(asc.gif) no-repeat scroll right center;}.yui-pv th.yui-dt-desc .yui-dt-liner{background:transparent url(desc.gif) no-repeat scroll right center;}.yui-pv .yui-pv-table .yui-dt-hd th a{color:#fff;font:bold 12px arial;}.yui-pv .yui-pv-table .yui-dt-hd th.yui-dt-asc,.yui-pv .yui-pv-table .yui-dt-hd th.yui-dt-desc{background:#333;}.yui-pv-chartcontainer{padding:0 10px;}.yui-pv-chart{height:250px;clear:right;margin:5px 0 0 0;color:#fff;}.yui-pv-chartlegend div{float:right;margin:0 0 0 10px;_width:250px;}.yui-pv-chartlegend dl{border:1px solid #999;padding:.2em 0 .2em .5em;zoom:1;margin:5px 0;}.yui-pv-chartlegend dt{float:left;display:block;height:.7em;width:.7em;padding:0;}.yui-pv-chartlegend dd{float:left;display:block;color:#fff;margin:0 1em 0 .5em;padding:0;font:11px arial;}.yui-pv-minimized{height:35px;}.yui-pv-minimized .bd{top:-3000px;}.yui-pv-minimized .hd a.yui-pv-refresh{display:none;}
-.yui-resize{position:relative;zoom:1;z-index:0;}.yui-resize-wrap{zoom:1;}.yui-draggable{cursor:move;}.yui-resize .yui-resize-handle{position:absolute;z-index:1;font-size:0;margin:0;padding:0;zoom:1;height:1px;width:1px;}.yui-resize .yui-resize-handle-br{height:5px;width:5px;bottom:0;right:0;cursor:se-resize;z-index:2;zoom:1;}.yui-resize .yui-resize-handle-bl{height:5px;width:5px;bottom:0;left:0;cursor:sw-resize;z-index:2;zoom:1;}.yui-resize .yui-resize-handle-tl{height:5px;width:5px;top:0;left:0;cursor:nw-resize;z-index:2;zoom:1;}.yui-resize .yui-resize-handle-tr{height:5px;width:5px;top:0;right:0;cursor:ne-resize;z-index:2;zoom:1;}.yui-resize .yui-resize-handle-r{width:5px;height:100%;top:0;right:0;cursor:e-resize;zoom:1;}.yui-resize .yui-resize-handle-l{height:100%;width:5px;top:0;left:0;cursor:w-resize;zoom:1;}.yui-resize .yui-resize-handle-b{width:100%;height:5px;bottom:0;right:0;cursor:s-resize;zoom:1;}.yui-resize .yui-resize-handle-t{width:100%;height:5px;top:0;right:0;cursor:n-resize;zoom:1;}.yui-resize-proxy{position:absolute;border:1px dashed #000;visibility:hidden;z-index:1000;}.yui-resize-hover .yui-resize-handle,.yui-resize-hidden .yui-resize-handle{opacity:0;filter:alpha(opacity=0);}.yui-resize-ghost{opacity:.5;filter:alpha(opacity=50);}.yui-resize-knob .yui-resize-handle{height:6px;width:6px;}.yui-resize-knob .yui-resize-handle-tr{right:-3px;top:-3px;}.yui-resize-knob .yui-resize-handle-tl{left:-3px;top:-3px;}.yui-resize-knob .yui-resize-handle-bl{left:-3px;bottom:-3px;}.yui-resize-knob .yui-resize-handle-br{right:-3px;bottom:-3px;}.yui-resize-knob .yui-resize-handle-t{left:45%;top:-3px;}.yui-resize-knob .yui-resize-handle-r{right:-3px;top:45%;}.yui-resize-knob .yui-resize-handle-l{left:-3px;top:45%;}.yui-resize-knob .yui-resize-handle-b{left:45%;bottom:-3px;}.yui-resize-status{position:absolute;top:-999px;left:-999px;padding:2px;font-size:80%;display:none;zoom:1;z-index:9999;}.yui-resize-status strong,.yui-resize-status em{font-weight:normal;font-style:normal;padding:1px;zoom:1;}.yui-resize .yui-resize-handle{background-color:#F2F2F2;}.yui-resize .yui-resize-handle-active{background-color:#7D98B8;zoom:1;}.yui-resize .yui-resize-handle-l,.yui-resize .yui-resize-handle-r,.yui-resize .yui-resize-handle-l-active,.yui-resize .yui-resize-handle-r-active{height:100%;}.yui-resize-knob .yui-resize-handle{border:1px solid #808080;}.yui-resize-hover .yui-resize-handle-active{opacity:1;filter:alpha(opacity=100);}.yui-resize-proxy{border:1px dashed #426FD9;}.yui-resize-status{border:1px solid #A6982B;border-top:1px solid #D4C237;background-color:#FFEE69}.yui-resize-status strong,.yui-resize-status em{float:left;display:block;clear:both;padding:1px;text-align:center;}.yui-resize .yui-resize-handle-inner-r,.yui-resize .yui-resize-handle-inner-l{background:transparent url( layout_sprite.png) no-repeat 0 -5px;height:16px;width:5px;position:absolute;top:45%;}.yui-resize .yui-resize-handle-inner-t,.yui-resize .yui-resize-handle-inner-b{background:transparent url(layout_sprite.png) no-repeat -20px 0;height:5px;width:16px;position:absolute;left:50%;}.yui-resize .yui-resize-handle-br{background-image:url( layout_sprite.png );background-repeat:no-repeat;background-position:-22px -62px;}.yui-resize .yui-resize-handle-tr{background-image:url( layout_sprite.png );background-repeat:no-repeat;background-position:-22px -42px;}.yui-resize .yui-resize-handle-tl{background-image:url( layout_sprite.png );background-repeat:no-repeat;background-position:-22px -82px;}.yui-resize .yui-resize-handle-bl{background-image:url( layout_sprite.png );background-repeat:no-repeat;background-position:-22px -23px;}.yui-resize-knob .yui-resize-handle-t,.yui-resize-knob .yui-resize-handle-r,.yui-resize-knob .yui-resize-handle-b,.yui-resize-knob .yui-resize-handle-l,.yui-resize-knob .yui-resize-handle-tl,.yui-resize-knob .yui-resize-handle-tr,.yui-resize-knob .yui-resize-handle-bl,.yui-resize-knob .yui-resize-handle-br,.yui-resize-knob .yui-resize-handle-inner-t,.yui-resize-knob .yui-resize-handle-inner-r,.yui-resize-knob .yui-resize-handle-inner-b,.yui-resize-knob .yui-resize-handle-inner-l,.yui-resize-knob .yui-resize-handle-inner-tl,.yui-resize-knob .yui-resize-handle-inner-tr,.yui-resize-knob .yui-resize-handle-inner-bl,.yui-resize-knob .yui-resize-handle-inner-br{background-image:none;}.yui-resize-knob .yui-resize-handle-l,.yui-resize-knob .yui-resize-handle-r,.yui-resize-knob .yui-resize-handle-l-active,.yui-resize-knob .yui-resize-handle-r-active{height:6px;width:6px;}
-.yui-busy{cursor:wait !important;}.yui-toolbar-container fieldset{padding:0;margin:0;border:0;}.yui-toolbar-container legend{display:none;}.yui-toolbar-container .yui-toolbar-subcont{padding:.25em 0;zoom:1;}.yui-toolbar-container-collapsed .yui-toolbar-subcont{display:none;}.yui-toolbar-container .yui-toolbar-subcont:after{display:block;clear:both;visibility:hidden;content:'.';height:0;}.yui-toolbar-container span.yui-toolbar-draghandle{cursor:move;border-left:1px solid #999;border-right:1px solid #999;overflow:hidden;text-indent:77777px;width:2px;height:20px;display:block;clear:none;float:left;margin:0 0 0 .2em;}.yui-toolbar-container .yui-toolbar-titlebar.draggable{cursor:move;}.yui-toolbar-container .yui-toolbar-titlebar{position:relative;}.yui-toolbar-container .yui-toolbar-titlebar h2{font-weight:bold;letter-spacing:0;border:none;color:#000;margin:0;padding:.2em;}.yui-toolbar-container .yui-toolbar-titlebar h2 a{text-decoration:none;color:#000;cursor:default;}.yui-toolbar-container.yui-toolbar-grouped span.yui-toolbar-draghandle{height:40px;}.yui-toolbar-container .yui-toolbar-group{float:left;zoom:1;}.yui-toolbar-container .yui-toolbar-group:after{display:block;clear:both;visibility:hidden;content:'.';height:0;}.yui-toolbar-container .yui-toolbar-group h3{font-size:75%;padding:0 0 0 .25em;margin:0;}.yui-toolbar-container span.yui-toolbar-separator{width:2px;height:18px;margin:.2em 0 .2em .1em;display:block;clear:none;float:left;}.yui-toolbar-container.yui-toolbar-grouped span.yui-toolbar-separator{height:35px;}.yui-toolbar-container.yui-toolbar-grouped .yui-toolbar-group span.yui-toolbar-separator{height:18px;}.yui-toolbar-container ul li{margin:0;padding:0;list-style-type:none;}.yui-toolbar-container .yui-toolbar-nogrouplabels h3{display:none;}.yui-toolbar-container .yui-push-button,.yui-toolbar-container .yui-color-button,.yui-toolbar-container .yui-menu-button{position:relative;cursor:pointer;}.yui-toolbar-container .yui-button .first-child,.yui-toolbar-container .yui-button .first-child a{height:100%;width:100%;overflow:hidden;}.yui-toolbar-container .yui-button-disabled{cursor:default;}.yui-toolbar-container .yui-button-disabled .yui-toolbar-icon{opacity:.5;filter:alpha(opacity=50);}.yui-toolbar-container .yui-button-disabled .up,.yui-toolbar-container .yui-button-disabled .down{opacity:.5;filter:alpha(opacity=50);}.yui-toolbar-container .yui-button a{overflow:hidden;}.yui-toolbar-container .yui-toolbar-select .first-child a{cursor:pointer;}.yui-toolbar-fontname-arial{font-family:Arial;}.yui-toolbar-fontname-arial-black{font-family:Arial Black;}.yui-toolbar-fontname-comic-sans-ms{font-family:Comic Sans MS;}.yui-toolbar-fontname-courier-new{font-family:Courier New;}.yui-toolbar-fontname-times-new-roman{font-family:Times New Roman;}.yui-toolbar-fontname-verdana{font-family:Verdana;}.yui-toolbar-fontname-impact{font-family:Impact;}.yui-toolbar-fontname-lucida-console{font-family:Lucida Console;}.yui-toolbar-fontname-tahoma{font-family:Tahoma;}.yui-toolbar-fontname-trebuchet-ms{font-family:Trebuchet MS;}.yui-toolbar-container .yui-toolbar-spinbutton{position:relative;}.yui-toolbar-container .yui-toolbar-spinbutton .first-child a{z-index:0;opacity:1;}.yui-toolbar-container .yui-toolbar-spinbutton a.up,.yui-toolbar-container .yui-toolbar-spinbutton a.down{position:absolute;display:block right:0;cursor:pointer;z-index:1;padding:0;margin:0;}.yui-toolbar-container .yui-overlay{position:absolute;}.yui-toolbar-container .yui-overlay ul li{margin:0;list-style-type:none;}.yui-toolbar-container{z-index:1;}.yui-editor-container .yui-editor-editable-container{position:relative;z-index:0;width:100%;}.yui-editor-container .yui-editor-masked{background-color:#CCC;}.yui-editor-container iframe{border:0px;padding:0;margin:0;zoom:1;display:block;}.yui-editor-container .yui-editor-editable{padding:0;margin:0;}.yui-editor-container .dompath{font-size:85%;}.yui-editor-panel .hd{text-align:left;position:relative;}.yui-editor-panel .hd h3{font-weight:bold;padding:0.25em 0pt 0.25em 0.25em;margin:0;}.yui-editor-panel .bd{width:100%;zoom:1;position:relative;}.yui-editor-panel .bd div.yui-editor-body-cont{padding:.25em .1em;zoom:1;}.yui-editor-panel .bd div.yui-editor-body-cont:after{display:block;clear:both;visibility:hidden;content:'.';height:0;}.yui-editor-panel .ft{text-align:right;width:99%;float:left;clear:both;}.yui-editor-panel .ft span.tip{display:block;position:relative;padding:.5em .5em .5em 23px;text-align:left;zoom:1;}.yui-editor-panel label{clear:both;float:left;padding:0;width:100%;text-align:left;zoom:1;}.yui-editor-panel .gecko label{overflow:auto;}.yui-editor-panel label strong{float:left;width:6em;}.yui-editor-panel .removeLink{width:80%;text-align:right;}.yui-editor-panel label input{margin-left:.25em;float:left;}.yui-editor-panel .yui-toolbar-group-padding{}.yui-editor-panel .yui-toolbar-group-border{}.yui-editor-panel .yui-toolbar-group-textflow{}.yui-editor-panel .height-width{float:left;}.yui-editor-panel .height-width h3{}.yui-editor-panel .height-width span{font-style:italic;display:block;float:left;overflow:auto;}.yui-editor-panel .height-width span.info{font-size:70%;}.yui-editor-panel .yui-toolbar-bordersize,.yui-editor-panel .yui-toolbar-bordertype{font-size:75%;}.yui-editor-panel .yui-toolbar-container span.yui-toolbar-separator{border:none;}.yui-editor-panel .yui-toolbar-bordersize span a span,.yui-editor-panel .yui-toolbar-bordertype span a span{display:block;height:8px;left:4px;position:absolute;top:3px;*top:-5px;width:24px;}.yui-editor-panel .yui-toolbar-bordertype span a span.yui-toolbar-bordertype-solid{border-bottom:1px solid black;}.yui-editor-panel .yui-toolbar-bordertype span a span.yui-toolbar-bordertype-dotted{border-bottom:1px dotted black;}.yui-editor-panel .yui-toolbar-bordertype span a span.yui-toolbar-bordertype-dashed{border-bottom:1px dashed black;}.yui-editor-panel .yui-toolbar-bordersize span a span.yui-toolbar-bordersize-0{*top:0px;}.yui-editor-panel .yui-toolbar-bordersize span a span.yui-toolbar-bordersize-1{border-bottom:1px solid black;}.yui-editor-panel .yui-toolbar-bordersize span a span.yui-toolbar-bordersize-2{border-bottom:2px solid black;}.yui-editor-panel .yui-toolbar-bordersize span a span.yui-toolbar-bordersize-3{top:2px;*top:-5px;border-bottom:3px solid black;}.yui-editor-panel .yui-toolbar-bordersize span a span.yui-toolbar-bordersize-4{top:1px;*top:-5px;border-bottom:4px solid black;}.yui-editor-panel .yui-toolbar-bordersize span a span.yui-toolbar-bordersize-5{top:1px;*top:-5px;border-bottom:5px solid black;}.yui-toolbar-container .yui-toolbar-bordersize-menu,.yui-toolbar-container .yui-toolbar-bordertype-menu{width:95px !important;}.yui-toolbar-bordersize-menu .yuimenuitemlabel,.yui-toolbar-bordertype-menu .yuimenuitemlabel,.yui-toolbar-bordersize-menu .yuimenuitemlabel,.yui-toolbar-bordertype-menu .yuimenuitemlabel:hover{margin:0px 3px 7px 17px;}.yui-toolbar-bordersize-menu .yuimenuitemlabel .checkedindicator,.yui-toolbar-bordertype-menu .yuimenuitemlabel .checkedindicator{position:absolute;left:-12px;*top:14px;*left:0px;}.yui-toolbar-bordersize-menu li.yui-toolbar-bordersize-1 a{border-bottom:1px solid black;height:14px;}.yui-toolbar-bordersize-menu li.yui-toolbar-bordersize-2 a{border-bottom:2px solid black;height:14px;}.yui-toolbar-bordersize-menu li.yui-toolbar-bordersize-3 a{border-bottom:3px solid black;height:14px;}.yui-toolbar-bordersize-menu li.yui-toolbar-bordersize-4 a{border-bottom:4px solid black;height:14px;}.yui-toolbar-bordersize-menu li.yui-toolbar-bordersize-5 a{border-bottom:5px solid black;height:14px;}.yui-toolbar-bordertype-menu li.yui-toolbar-bordertype-solid a{border-bottom:1px solid black;height:14px;}.yui-toolbar-bordertype-menu li.yui-toolbar-bordertype-dashed a{border-bottom:1px dashed black;height:14px;}.yui-toolbar-bordertype-menu li.yui-toolbar-bordertype-dotted a{border-bottom:1px dotted black;height:14px;}h2.yui-editor-skipheader,h3.yui-editor-skipheader{height:0;margin:0;padding:0;border:none;width:0;overflow:hidden;position:absolute;}.yui-toolbar-colors{width:133px;zoom:1;display:none;z-index:100;overflow:hidden;}.yui-toolbar-colors:after{display:block;clear:both;visibility:hidden;content:'.';height:0;}.yui-toolbar-colors a{height:9px;width:9px;float:left;display:block;overflow:hidden;text-indent:999px;margin:0;cursor:pointer;border:1px solid #F6F7EE;}.yui-toolbar-colors a:hover{border:1px solid black;}.yui-color-button-menu{overflow:visible;background-color:transparent;}.yui-toolbar-colors span{position:relative;display:block;padding:3px;overflow:hidden;float:left;width:100%;zoom:1;}.yui-toolbar-colors span:after{display:block;clear:both;visibility:hidden;content:'.';height:0;}.yui-toolbar-colors span em{height:35px;width:30px;float:left;display:block;overflow:hidden;text-indent:999px;margin:0.75px;border:1px solid black;}.yui-toolbar-colors span strong{font-weight:normal;padding-left:3px;display:block;font-size:85%;float:left;width:65%;}.yui-editor-container{border:1px solid #808080;}.yui-toolbar-container{zoom:1;}.yui-toolbar-container .yui-toolbar-titlebar{background:url(sprite.png) repeat-x 0 -200px;position:relative;}.yui-toolbar-container .yui-toolbar-titlebar h2{color:#000000;font-weight:bold;margin:0;padding:0.3em 1em;font-size:100%;text-align:left;}.yui-toolbar-container .yui-toolbar-group h3{color:#808080;font-size:75%;margin:1em 0 0;padding-bottom:0;padding-left:0.25em;text-align:left;}.yui-toolbar-container span.yui-toolbar-separator{border:none;text-indent:33px;overflow:hidden;margin:.25em;}.yui-toolbar-container{background-color:#F2F2F2;}.yui-toolbar-container .yui-toolbar-subcont{padding:0 1em 0.35em;border-bottom:1px solid #808080;}.yui-toolbar-container-collapsed .yui-toolbar-titlebar{border-bottom:1px solid #808080;}.yui-editor-container .visible .yui-menu-shadow,.yui-editor-panel .visible .yui-menu-shadow{display:none;}.yui-editor-container ul{list-style-type:none;margin:0;padding:0;}.yui-editor-container ul li{list-style-type:none;margin:0;padding:0;}.yui-toolbar-group ul li.yui-toolbar-groupitem{float:left;}.yui-editor-container .dompath{background-color:#F2F2F2;border-top:1px solid #808080;color:#999;text-align:left;padding:0.25em;}.yui-toolbar-container .collapse{background:url(sprite.png) no-repeat 0 -400px;}.yui-toolbar-container .yui-toolbar-titlebar span.collapse{cursor:pointer;position:absolute;top:4px;right:2px;display:block;overflow:hidden;height:15px;width:15px;text-indent:9999px;}.yui-toolbar-container .yui-push-button,.yui-toolbar-container .yui-color-button,.yui-toolbar-container .yui-menu-button{background:url(sprite.png) repeat-x 0 0;position:relative;display:block;height:22px;width:30px;margin:0;border-color:#808080;border-style:solid;border-width:1px 0;}.yui-toolbar-container .yui-push-button a,.yui-toolbar-container .yui-color-button a,.yui-toolbar-container .yui-menu-button a{padding-left:35px;height:20px;text-decoration:none;font-size:93%;line-height:2;display:block;color:#000000;overflow:hidden;}.yui-toolbar-container .yui-push-button .first-child,.yui-toolbar-container .yui-color-button .first-child,.yui-toolbar-container .yui-menu-button .first-child{border-color:#808080;border-style:solid;border-width:0 1px;margin:0 -1px;display:block;}.yui-toolbar-container .yui-push-button-disabled .first-child,.yui-toolbar-container .yui-color-button-disabled .first-child,.yui-toolbar-container .yui-menu-button-disabled .first-child{border-color:#ccc;}.yui-toolbar-container .yui-push-button-disabled a,.yui-toolbar-container .yui-color-button-disabled a,.yui-toolbar-container .yui-menu-button-disabled a{color:#A6A6A6;cursor:default;}.yui-toolbar-container .yui-push-button-disabled,.yui-toolbar-container .yui-color-button-disabled,.yui-toolbar-container .yui-menu-button-disabled{border-color:#ccc;}.yui-toolbar-container .yui-button .first-child{*left:0px;}.yui-toolbar-container .yui-toolbar-fontname{width:135px;}.yui-toolbar-container .yui-toolbar-heading{width:92px;}.yui-toolbar-container .yui-button-hover{background:url(sprite.png) repeat-x 0 -1300px;border-color:#808080;}.yui-toolbar-container .yui-button-selected{background:url(sprite.png) repeat-x 0 -1700px;border-color:#808080;}.yui-toolbar-container .yui-toolbar-nogrouplabels h3{display:none;}.yui-toolbar-container .yui-toolbar-nogrouplabels .yui-toolbar-group{margin-top:.75em;}.yui-toolbar-container .yui-push-button span.yui-toolbar-icon,.yui-toolbar-container .yui-color-button span.yui-toolbar-icon,.yui-toolbar-container .yui-menu-button span.yui-toolbar-icon{display:block;position:absolute;top:2px;height:18px;width:18px;overflow:hidden;background:url(editor-sprite.gif) no-repeat 30px 30px;}.yui-toolbar-container .yui-button-selected span.yui-toolbar-icon,.yui-toolbar-container .yui-button-hover span.yui-toolbar-icon{background-image:url(editor-sprite-active.gif);}.yui-toolbar-container .visible .yuimenuitemlabel{cursor:pointer;color:#000;*position:relative;}.yui-toolbar-container .yui-button-menu{background-color:#fff;}div.yuimenu li.selected{background-color:#B3D4FF;}div.yuimenu li.selected a.selected{color:#000;}.yui-toolbar-container .yui-toolbar-bold span.yui-toolbar-icon{background-position:0 0;left:5px;}.yui-toolbar-container .yui-toolbar-italic span.yui-toolbar-icon{background-position:0 -36px;left:5px;}.yui-toolbar-container .yui-toolbar-underline span.yui-toolbar-icon{background-position:0 -72px;left:5px;}.yui-toolbar-container .yui-toolbar-subscript span.yui-toolbar-icon{background-position:0 -180px;left:5px;}.yui-toolbar-container .yui-toolbar-superscript span.yui-toolbar-icon{background-position:0 -144px;left:5px;}.yui-toolbar-container .yui-toolbar-forecolor span.yui-toolbar-icon{background-position:0 -216px;left:5px;}.yui-toolbar-container .yui-toolbar-backcolor span.yui-toolbar-icon{background-position:0 -288px;left:5px;}.yui-toolbar-container .yui-toolbar-justifyleft span.yui-toolbar-icon{background-position:0 -324px;left:5px;}.yui-toolbar-container .yui-toolbar-justifycenter span.yui-toolbar-icon{background-position:0 -360px;left:5px;}.yui-toolbar-container .yui-toolbar-justifyright span.yui-toolbar-icon{background-position:0 -396px;left:5px;}.yui-toolbar-container .yui-toolbar-justifyfull span.yui-toolbar-icon{background-position:0 -432px;left:5px;}.yui-toolbar-container .yui-toolbar-indent span.yui-toolbar-icon{background-position:0 -720px;left:5px;}.yui-toolbar-container .yui-toolbar-outdent span.yui-toolbar-icon{background-position:0 -684px;left:5px;}.yui-toolbar-container .yui-toolbar-createlink span.yui-toolbar-icon{background-position:0 -792px;left:5px;}.yui-toolbar-container .yui-toolbar-insertimage span.yui-toolbar-icon{background-position:1px -756px;left:5px;}.yui-toolbar-container .yui-toolbar-left span.yui-toolbar-icon{background-position:0 -972px;left:5px;}.yui-toolbar-container .yui-toolbar-right span.yui-toolbar-icon{background-position:0 -936px;left:5px;}.yui-toolbar-container .yui-toolbar-inline span.yui-toolbar-icon{background-position:0 -900px;left:5px;}.yui-toolbar-container .yui-toolbar-block span.yui-toolbar-icon{background-position:0 -864px;left:5px;}.yui-toolbar-container .yui-toolbar-bordercolor span.yui-toolbar-icon{background-position:0 -252px;left:5px;}.yui-toolbar-container .yui-toolbar-removeformat span.yui-toolbar-icon{background-position:0 -1080px;left:5px;}.yui-toolbar-container .yui-toolbar-hiddenelements span.yui-toolbar-icon{background-position:0 -1044px;left:5px;}.yui-toolbar-container .yui-toolbar-insertunorderedlist span.yui-toolbar-icon{background-position:0 -468px;left:5px;}.yui-toolbar-container .yui-toolbar-insertorderedlist span.yui-toolbar-icon{background-position:0 -504px;left:5px;}.yui-toolbar-container .yui-toolbar-spinbutton,.yui-toolbar-container .yui-toolbar-spinbutton .first-child{width:35px;}.yui-toolbar-container .yui-toolbar-spinbutton .first-child a{padding-left:2px;text-align:left;}.yui-toolbar-container .yui-toolbar-spinbutton span.yui-toolbar-icon{display:none;}.yui-toolbar-container .yui-toolbar-spinbutton a.up,.yui-toolbar-container .yui-toolbar-spinbutton a.down{right:2px;background:url(editor-sprite.gif) no-repeat 0 -1222px;overflow:hidden;height:6px;width:7px;min-height:0;padding:0;}.yui-toolbar-container .yui-toolbar-spinbutton a.up{top:2px;background-position:0 -1222px;}.yui-toolbar-container .yui-toolbar-spinbutton a.down{bottom:2px;background-position:0 -1187px;}.yui-toolbar-container select{height:22px;border:1px solid #808080;}.yui-toolbar-container .yui-toolbar-select .first-child a{padding-left:5px;text-align:left;}.yui-toolbar-container .yui-toolbar-select span.yui-toolbar-icon{background:url( editor-sprite.gif ) no-repeat 0 -1144px;overflow:hidden;right:-2px;top:0px;height:20px;}.yui-editor-panel .yui-color-button-menu .bd{background-color:transparent;border:none;width:135px;}.yui-color-button-menu .yui-toolbar-colors{border:1px solid #808080;}.yui-editor-panel{padding:0;margin:0;border:none;background-color:transparent;overflow:visible;}.yui-editor-panel .hd{margin:10px 0 0;padding:0;border:none;}.yui-editor-panel .hd h3{color:#000;border:1px solid #808080;background:url(sprite.png) repeat-x 0 -200px;width:99%;position:relative;margin:0;padding:3px 0 0 0;font-size:93%;text-indent:5px;height:20px;}.yui-editor-panel .bd{background-color:#F2F2F2;border-left:1px solid #808080;border-right:1px solid #808080;width:99%;margin:0;padding:0;overflow:visible;}.yui-editor-panel ul{list-style-type:none;margin:0;padding:0;}.yui-editor-panel ul li{margin:0;padding:0;}.yui-editor-panel .yuimenu{}.yui-editor-panel .yui-toolbar-container .yui-toolbar-subcont{padding:0;border:none;margin-top:0.35em;}.yui-editor-panel .yui-toolbar-bordersize,.yui-editor-panel .yui-toolbar-bordertype{width:50px;}.yui-editor-panel label{display:block;float:none;padding:4px 0;margin-bottom:7px;}.yui-editor-panel label strong{font-weight:normal;font-size:93%;text-align:right;padding-top:2px;}.yui-editor-panel label input{width:75%;}.yui-editor-panel #createlink_target,.yui-editor-panel #insertimage_target{width:auto;margin-right:5px;}.yui-editor-panel .removeLink{width:98%;}.yui-editor-panel label input.warning{background-color:#FFEE69;}.yui-editor-panel .yui-toolbar-group h3{color:#000;float:left;font-weight:normal;font-size:93%;margin:5px 0 0 0;padding:0 3px 0 0;text-align:right;}.yui-editor-panel .height-width h3{margin:3px 0 0 10px;}.yui-editor-panel .height-width{margin:3px 0 0 35px;*margin-left:14px;width:42%;*width:44%;}.yui-editor-panel .yui-toolbar-group-border{width:190px;}.yui-editor-panel .no-button .yui-toolbar-group-border{width:210px;}.yui-editor-panel .yui-toolbar-group-padding{width:203px;}.yui-editor-panel .no-button .yui-toolbar-group-padding{width:172px;}.yui-editor-panel .yui-toolbar-group-padding h3{margin-left:25px;*margin-left:12px;}.yui-editor-panel .yui-toolbar-group-textflow{width:182px;}.yui-editor-panel .hd{background:none;}.yui-editor-panel .ft{background-color:#F2F2F2;border:1px solid #808080;border-top:none;padding:0;margin:0 0 2px 0;}.yui-editor-panel .hd span.close{background:url(sprite.png) no-repeat 0 -300px;cursor:pointer;display:block;height:16px;overflow:hidden;position:absolute;right:5px;text-indent:500px;top:2px;width:26px;}.yui-editor-panel .ft span.tip{background-color:#EDF5FF;border-top:1px solid #808080;font-size:85%;}.yui-editor-panel .ft span.tip strong{display:block;float:left;margin:0 2px 8px 0;}.yui-editor-panel .ft span.tip span.icon{background:url( editor-sprite.gif ) no-repeat 0 -1260px;display:block;height:20px;left:2px;position:absolute;top:8px;width:20px;}.yui-editor-panel .ft span.tip span.icon-info{background-position:2px -1260px;}.yui-editor-panel .ft span.tip span.icon-warn{background-position:2px -1296px;}.yui-editor-panel .hd span.knob{position:absolute;height:10px;width:28px;top:-10px;left:25px;text-indent:9999px;overflow:hidden;background:url( editor-knob.gif ) no-repeat 0 0;}.yui-editor-panel .yui-toolbar-container{float:left;width:100%;background-image:none;border:none;}.yui-editor-panel .yui-toolbar-container .bd{background-color:#ffffff;}.yui-editor-blankimage{background-image:url( blankimage.png );}
-.yui-navset .yui-nav li,.yui-navset .yui-navset-top .yui-nav li,.yui-navset .yui-navset-bottom .yui-nav li{margin:0 0.5em 0 0;}.yui-navset-left .yui-nav li,.yui-navset-right .yui-nav li{margin:0 0 0.5em;}.yui-navset .yui-navset-left .yui-nav,.yui-navset .yui-navset-right .yui-nav,.yui-navset-left .yui-nav,.yui-navset-right .yui-nav{width:6em;}.yui-navset-top .yui-nav,.yui-navset-bottom .yui-nav{width:auto;}.yui-navset .yui-navset-left,.yui-navset-left{padding:0 0 0 6em;}.yui-navset-right{padding:0 6em 0 0;}.yui-navset-top,.yui-navset-bottom{padding:auto;}.yui-nav,.yui-nav li{margin:0;padding:0;list-style:none;}.yui-navset li em{font-style:normal;}.yui-navset{position:relative;zoom:1;}.yui-navset .yui-content{zoom:1;}.yui-navset .yui-nav li,.yui-navset .yui-navset-top .yui-nav li,.yui-navset .yui-navset-bottom .yui-nav li{display:inline-block;display:-moz-inline-stack;*display:inline;vertical-align:bottom;cursor:pointer;zoom:1;}.yui-navset-left .yui-nav li,.yui-navset-right .yui-nav li{display:block;}.yui-navset .yui-nav a{position:relative;}.yui-navset .yui-nav li a,.yui-navset-top .yui-nav li a,.yui-navset-bottom .yui-nav li a{display:block;display:inline-block;vertical-align:bottom;zoom:1;}.yui-navset-left .yui-nav li a,.yui-navset-right .yui-nav li a{display:block;}.yui-navset-bottom .yui-nav li a{vertical-align:text-top;}.yui-navset .yui-nav li a em,.yui-navset-top .yui-nav li a em,.yui-navset-bottom .yui-nav li a em{display:block;}.yui-navset .yui-navset-left .yui-nav,.yui-navset .yui-navset-right .yui-nav,.yui-navset-left .yui-nav,.yui-navset-right .yui-nav{position:absolute;z-index:1;}.yui-navset-top .yui-nav,.yui-navset-bottom .yui-nav{position:static;}.yui-navset .yui-navset-left .yui-nav,.yui-navset-left .yui-nav{left:0;right:auto;}.yui-navset .yui-navset-right .yui-nav,.yui-navset-right .yui-nav{right:0;left:auto;}.yui-navset .yui-nav,.yui-navset .yui-navset-top .yui-nav{border:solid #2647a0;border-width:0 0 5px;Xposition:relative;zoom:1;}.yui-navset .yui-nav li,.yui-navset .yui-navset-top .yui-nav li{margin:0 0.16em 0 0;padding:1px 0 0;zoom:1;}.yui-navset .yui-nav .selected,.yui-navset .yui-navset-top .yui-nav .selected{margin:0 0.16em -1px 0;}.yui-navset .yui-nav a,.yui-navset .yui-navset-top .yui-nav a{background:#d8d8d8 url(sprite.png) repeat-x;border:solid #a3a3a3;border-width:0 1px;color:#000;position:relative;text-decoration:none;}.yui-navset .yui-nav a em,.yui-navset .yui-navset-top .yui-nav a em{border:solid #a3a3a3;border-width:1px 0 0;cursor:hand;padding:0.25em .75em;left:0;right:0;bottom:0;top:-1px;position:relative;}.yui-navset .yui-nav .selected a,.yui-navset .yui-nav .selected a:focus,.yui-navset .yui-nav .selected a:hover{background:#2647a0 url(sprite.png) repeat-x left -1400px;color:#fff;}.yui-navset .yui-nav a:hover,.yui-navset .yui-nav a:focus{background:#bfdaff url(sprite.png) repeat-x left -1300px;outline:0;}.yui-navset .yui-nav .selected a em{padding:0.35em 0.75em;}.yui-navset .yui-nav .selected a,.yui-navset .yui-nav .selected a em{border-color:#243356;}.yui-navset .yui-content{background:#edf5ff;}.yui-navset .yui-content,.yui-navset .yui-navset-top .yui-content{border:1px solid #808080;border-top-color:#243356;padding:0.25em 0.5em;}.yui-navset-left .yui-nav,.yui-navset .yui-navset-left .yui-nav,.yui-navset .yui-navset-right .yui-nav,.yui-navset-right .yui-nav{border-width:0 5px 0 0;Xposition:absolute;top:0;bottom:0;}.yui-navset .yui-navset-right .yui-nav,.yui-navset-right .yui-nav{border-width:0 0 0 5px;}.yui-navset-left .yui-nav li,.yui-navset .yui-navset-left .yui-nav li,.yui-navset-right .yui-nav li{margin:0 0 0.16em;padding:0 0 0 1px;}.yui-navset-right .yui-nav li{padding:0 1px 0 0;}.yui-navset-left .yui-nav .selected,.yui-navset .yui-navset-left .yui-nav .selected{margin:0 -1px 0.16em 0;}.yui-navset-right .yui-nav .selected{margin:0 0 0.16em -1px;}.yui-navset-left .yui-nav a,.yui-navset-right .yui-nav a{border-width:1px 0;}.yui-navset-left .yui-nav a em,.yui-navset .yui-navset-left .yui-nav a em,.yui-navset-right .yui-nav a em{border-width:0 0 0 1px;padding:0.2em .75em;top:auto;left:-1px;}.yui-navset-right .yui-nav a em{border-width:0 1px 0 0;left:auto;right:-1px;}.yui-navset-left .yui-nav a,.yui-navset-left .yui-nav .selected a,.yui-navset-left .yui-nav a:hover,.yui-navset-right .yui-nav a,.yui-navset-right .yui-nav .selected a,.yui-navset-right .yui-nav a:hover,.yui-navset-bottom .yui-nav a,.yui-navset-bottom .yui-nav .selected a,.yui-navset-bottom .yui-nav a:hover{background-image:none;}.yui-navset-left .yui-content{border:1px solid #808080;border-left-color:#243356;}.yui-navset-bottom .yui-nav,.yui-navset .yui-navset-bottom .yui-nav{border-width:5px 0 0;}.yui-navset .yui-navset-bottom .yui-nav .selected,.yui-navset-bottom .yui-nav .selected{margin:-1px 0.16em 0 0;}.yui-navset .yui-navset-bottom .yui-nav li,.yui-navset-bottom .yui-nav li{padding:0 0 1px 0;vertical-align:top;}.yui-navset .yui-navset-bottom .yui-nav li a,.yui-navset-bottom .yui-nav li a{}.yui-navset .yui-navset-bottom .yui-nav a em,.yui-navset-bottom .yui-nav a em{border-width:0 0 1px;top:auto;bottom:-1px;}.yui-navset-bottom .yui-content,.yui-navset .yui-navset-bottom .yui-content{border:1px solid #808080;border-bottom-color:#243356;}
-.ygtvtn{width:18px;height:22px;background:url(treeview-sprite.gif) 0 -5600px no-repeat;}.ygtvtm{width:18px;height:22px;cursor:pointer;background:url(treeview-sprite.gif) 0 -4000px no-repeat;}.ygtvtmh{width:18px;height:22px;cursor:pointer;background:url(treeview-sprite.gif) 0 -4800px no-repeat;}.ygtvtp{width:18px;height:22px;cursor:pointer;background:url(treeview-sprite.gif) 0 -6400px no-repeat;}.ygtvtph{width:18px;height:22px;cursor:pointer;background:url(treeview-sprite.gif) 0 -7200px no-repeat;}.ygtvln{width:18px;height:22px;background:url(treeview-sprite.gif) 0 -1600px no-repeat;}.ygtvlm{width:18px;height:22px;cursor:pointer;background:url(treeview-sprite.gif) 0 0px no-repeat;}.ygtvlmh{width:18px;height:22px;cursor:pointer;background:url(treeview-sprite.gif) 0 -800px no-repeat;}.ygtvlp{width:18px;height:22px;cursor:pointer;background:url(treeview-sprite.gif) 0 -2400px no-repeat;}.ygtvlph{width:18px;height:22px;cursor:pointer;background:url(treeview-sprite.gif) 0 -3200px no-repeat;}.ygtvloading{width:18px;height:22px;background:url(treeview-loading.gif) 0 0 no-repeat;}.ygtvdepthcell{width:18px;height:22px;background:url(treeview-sprite.gif) 0 -8000px no-repeat;}.ygtvblankdepthcell{width:18px;height:22px;}.ygtvitem{}.ygtvchildren{*zoom:1;}.ygtvlabel,.ygtvlabel:link,.ygtvlabel:visited,.ygtvlabel:hover{margin-left:2px;text-decoration:none;background-color:white;}.ygtvspacer{height:22px;width:12px;}
-
diff --git a/koha-tmpl/opac-tmpl/prog/en/lib/yui/utilities/utilities.js b/koha-tmpl/opac-tmpl/prog/en/lib/yui/utilities/utilities.js
deleted file mode 100644 (file)
index 8a3af98..0000000
+++ /dev/null
@@ -1,36 +0,0 @@
-/*
-Copyright (c) 2008, Yahoo! Inc. All rights reserved.
-Code licensed under the BSD License:
-http://developer.yahoo.net/yui/license.txt
-version: 2.5.1
-*/
-if(typeof YAHOO=="undefined"||!YAHOO){var YAHOO={};}YAHOO.namespace=function(){var A=arguments,E=null,C,B,D;for(C=0;C<A.length;C=C+1){D=A[C].split(".");E=YAHOO;for(B=(D[0]=="YAHOO")?1:0;B<D.length;B=B+1){E[D[B]]=E[D[B]]||{};E=E[D[B]];}}return E;};YAHOO.log=function(D,A,C){var B=YAHOO.widget.Logger;if(B&&B.log){return B.log(D,A,C);}else{return false;}};YAHOO.register=function(A,E,D){var I=YAHOO.env.modules;if(!I[A]){I[A]={versions:[],builds:[]};}var B=I[A],H=D.version,G=D.build,F=YAHOO.env.listeners;B.name=A;B.version=H;B.build=G;B.versions.push(H);B.builds.push(G);B.mainClass=E;for(var C=0;C<F.length;C=C+1){F[C](B);}if(E){E.VERSION=H;E.BUILD=G;}else{YAHOO.log("mainClass is undefined for module "+A,"warn");}};YAHOO.env=YAHOO.env||{modules:[],listeners:[]};YAHOO.env.getVersion=function(A){return YAHOO.env.modules[A]||null;};YAHOO.env.ua=function(){var C={ie:0,opera:0,gecko:0,webkit:0,mobile:null,air:0};var B=navigator.userAgent,A;if((/KHTML/).test(B)){C.webkit=1;}A=B.match(/AppleWebKit\/([^\s]*)/);if(A&&A[1]){C.webkit=parseFloat(A[1]);if(/ Mobile\//.test(B)){C.mobile="Apple";}else{A=B.match(/NokiaN[^\/]*/);if(A){C.mobile=A[0];}}A=B.match(/AdobeAIR\/([^\s]*)/);if(A){C.air=A[0];}}if(!C.webkit){A=B.match(/Opera[\s\/]([^\s]*)/);if(A&&A[1]){C.opera=parseFloat(A[1]);A=B.match(/Opera Mini[^;]*/);if(A){C.mobile=A[0];}}else{A=B.match(/MSIE\s([^;]*)/);if(A&&A[1]){C.ie=parseFloat(A[1]);}else{A=B.match(/Gecko\/([^\s]*)/);if(A){C.gecko=1;A=B.match(/rv:([^\s\)]*)/);if(A&&A[1]){C.gecko=parseFloat(A[1]);}}}}}return C;}();(function(){YAHOO.namespace("util","widget","example");if("undefined"!==typeof YAHOO_config){var B=YAHOO_config.listener,A=YAHOO.env.listeners,D=true,C;if(B){for(C=0;C<A.length;C=C+1){if(A[C]==B){D=false;break;}}if(D){A.push(B);}}}})();YAHOO.lang=YAHOO.lang||{isArray:function(B){if(B){var A=YAHOO.lang;return A.isNumber(B.length)&&A.isFunction(B.splice);}return false;},isBoolean:function(A){return typeof A==="boolean";},isFunction:function(A){return typeof A==="function";},isNull:function(A){return A===null;},isNumber:function(A){return typeof A==="number"&&isFinite(A);},isObject:function(A){return(A&&(typeof A==="object"||YAHOO.lang.isFunction(A)))||false;},isString:function(A){return typeof A==="string";},isUndefined:function(A){return typeof A==="undefined";},hasOwnProperty:function(A,B){if(Object.prototype.hasOwnProperty){return A.hasOwnProperty(B);}return !YAHOO.lang.isUndefined(A[B])&&A.constructor.prototype[B]!==A[B];},_IEEnumFix:function(C,B){if(YAHOO.env.ua.ie){var E=["toString","valueOf"],A;for(A=0;A<E.length;A=A+1){var F=E[A],D=B[F];if(YAHOO.lang.isFunction(D)&&D!=Object.prototype[F]){C[F]=D;}}}},extend:function(D,E,C){if(!E||!D){throw new Error("YAHOO.lang.extend failed, please check that "+"all dependencies are included.");}var B=function(){};B.prototype=E.prototype;D.prototype=new B();D.prototype.constructor=D;D.superclass=E.prototype;if(E.prototype.constructor==Object.prototype.constructor){E.prototype.constructor=E;}if(C){for(var A in C){D.prototype[A]=C[A];}YAHOO.lang._IEEnumFix(D.prototype,C);}},augmentObject:function(E,D){if(!D||!E){throw new Error("Absorb failed, verify dependencies.");}var A=arguments,C,F,B=A[2];if(B&&B!==true){for(C=2;C<A.length;C=C+1){E[A[C]]=D[A[C]];}}else{for(F in D){if(B||!E[F]){E[F]=D[F];}}YAHOO.lang._IEEnumFix(E,D);}},augmentProto:function(D,C){if(!C||!D){throw new Error("Augment failed, verify dependencies.");}var A=[D.prototype,C.prototype];for(var B=2;B<arguments.length;B=B+1){A.push(arguments[B]);}YAHOO.lang.augmentObject.apply(this,A);},dump:function(A,G){var C=YAHOO.lang,D,F,I=[],J="{...}",B="f(){...}",H=", ",E=" => ";if(!C.isObject(A)){return A+"";}else{if(A instanceof Date||("nodeType" in A&&"tagName" in A)){return A;}else{if(C.isFunction(A)){return B;}}}G=(C.isNumber(G))?G:3;if(C.isArray(A)){I.push("[");for(D=0,F=A.length;D<F;D=D+1){if(C.isObject(A[D])){I.push((G>0)?C.dump(A[D],G-1):J);}else{I.push(A[D]);}I.push(H);}if(I.length>1){I.pop();}I.push("]");}else{I.push("{");for(D in A){if(C.hasOwnProperty(A,D)){I.push(D+E);if(C.isObject(A[D])){I.push((G>0)?C.dump(A[D],G-1):J);}else{I.push(A[D]);}I.push(H);}}if(I.length>1){I.pop();}I.push("}");}return I.join("");},substitute:function(Q,B,J){var G,F,E,M,N,P,D=YAHOO.lang,L=[],C,H="dump",K=" ",A="{",O="}";for(;;){G=Q.lastIndexOf(A);if(G<0){break;}F=Q.indexOf(O,G);if(G+1>=F){break;}C=Q.substring(G+1,F);M=C;P=null;E=M.indexOf(K);if(E>-1){P=M.substring(E+1);M=M.substring(0,E);}N=B[M];if(J){N=J(M,N,P);}if(D.isObject(N)){if(D.isArray(N)){N=D.dump(N,parseInt(P,10));}else{P=P||"";var I=P.indexOf(H);if(I>-1){P=P.substring(4);}if(N.toString===Object.prototype.toString||I>-1){N=D.dump(N,parseInt(P,10));}else{N=N.toString();}}}else{if(!D.isString(N)&&!D.isNumber(N)){N="~-"+L.length+"-~";L[L.length]=C;}}Q=Q.substring(0,G)+N+Q.substring(F+1);}for(G=L.length-1;G>=0;G=G-1){Q=Q.replace(new RegExp("~-"+G+"-~"),"{"+L[G]+"}","g");}return Q;},trim:function(A){try{return A.replace(/^\s+|\s+$/g,"");}catch(B){return A;}},merge:function(){var D={},B=arguments;for(var C=0,A=B.length;C<A;C=C+1){YAHOO.lang.augmentObject(D,B[C],true);}return D;},later:function(H,B,I,D,E){H=H||0;B=B||{};var C=I,G=D,F,A;if(YAHOO.lang.isString(I)){C=B[I];}if(!C){throw new TypeError("method undefined");}if(!YAHOO.lang.isArray(G)){G=[D];}F=function(){C.apply(B,G);};A=(E)?setInterval(F,H):setTimeout(F,H);return{interval:E,cancel:function(){if(this.interval){clearInterval(A);}else{clearTimeout(A);}}};},isValue:function(B){var A=YAHOO.lang;return(A.isObject(B)||A.isString(B)||A.isNumber(B)||A.isBoolean(B));}};YAHOO.util.Lang=YAHOO.lang;YAHOO.lang.augment=YAHOO.lang.augmentProto;YAHOO.augment=YAHOO.lang.augmentProto;YAHOO.extend=YAHOO.lang.extend;YAHOO.register("yahoo",YAHOO,{version:"2.5.1",build:"984"});YAHOO.util.Get=function(){var M={},L=0,Q=0,E=false,N=YAHOO.env.ua,R=YAHOO.lang;var J=function(V,S,W){var T=W||window,X=T.document,Y=X.createElement(V);for(var U in S){if(S[U]&&YAHOO.lang.hasOwnProperty(S,U)){Y.setAttribute(U,S[U]);}}return Y;
-};var H=function(S,T,V){var U=V||"utf-8";return J("link",{"id":"yui__dyn_"+(Q++),"type":"text/css","charset":U,"rel":"stylesheet","href":S},T);};var O=function(S,T,V){var U=V||"utf-8";return J("script",{"id":"yui__dyn_"+(Q++),"type":"text/javascript","charset":U,"src":S},T);};var A=function(S,T){return{tId:S.tId,win:S.win,data:S.data,nodes:S.nodes,msg:T,purge:function(){D(this.tId);}};};var B=function(S,V){var T=M[V],U=(R.isString(S))?T.win.document.getElementById(S):S;if(!U){P(V,"target node not found: "+S);}return U;};var P=function(V,U){var S=M[V];if(S.onFailure){var T=S.scope||S.win;S.onFailure.call(T,A(S,U));}};var C=function(V){var S=M[V];S.finished=true;if(S.aborted){var U="transaction "+V+" was aborted";P(V,U);return ;}if(S.onSuccess){var T=S.scope||S.win;S.onSuccess.call(T,A(S));}};var G=function(U,Y){var T=M[U];if(T.aborted){var W="transaction "+U+" was aborted";P(U,W);return ;}if(Y){T.url.shift();if(T.varName){T.varName.shift();}}else{T.url=(R.isString(T.url))?[T.url]:T.url;if(T.varName){T.varName=(R.isString(T.varName))?[T.varName]:T.varName;}}var b=T.win,a=b.document,Z=a.getElementsByTagName("head")[0],V;if(T.url.length===0){if(T.type==="script"&&N.webkit&&N.webkit<420&&!T.finalpass&&!T.varName){var X=O(null,T.win,T.charset);X.innerHTML='YAHOO.util.Get._finalize("'+U+'");';T.nodes.push(X);Z.appendChild(X);}else{C(U);}return ;}var S=T.url[0];if(T.type==="script"){V=O(S,b,T.charset);}else{V=H(S,b,T.charset);}F(T.type,V,U,S,b,T.url.length);T.nodes.push(V);if(T.insertBefore){var c=B(T.insertBefore,U);if(c){c.parentNode.insertBefore(V,c);}}else{Z.appendChild(V);}if((N.webkit||N.gecko)&&T.type==="css"){G(U,S);}};var K=function(){if(E){return ;}E=true;for(var S in M){var T=M[S];if(T.autopurge&&T.finished){D(T.tId);delete M[S];}}E=false;};var D=function(Z){var W=M[Z];if(W){var Y=W.nodes,S=Y.length,X=W.win.document,V=X.getElementsByTagName("head")[0];if(W.insertBefore){var U=B(W.insertBefore,Z);if(U){V=U.parentNode;}}for(var T=0;T<S;T=T+1){V.removeChild(Y[T]);}}W.nodes=[];};var I=function(T,S,U){var W="q"+(L++);U=U||{};if(L%YAHOO.util.Get.PURGE_THRESH===0){K();}M[W]=R.merge(U,{tId:W,type:T,url:S,finished:false,nodes:[]});var V=M[W];V.win=V.win||window;V.scope=V.scope||V.win;V.autopurge=("autopurge" in V)?V.autopurge:(T==="script")?true:false;R.later(0,V,G,W);return{tId:W};};var F=function(b,W,V,T,X,Y,a){var Z=a||G;if(N.ie){W.onreadystatechange=function(){var c=this.readyState;if("loaded"===c||"complete"===c){Z(V,T);}};}else{if(N.webkit){if(b==="script"){if(N.webkit>=420){W.addEventListener("load",function(){Z(V,T);});}else{var S=M[V];if(S.varName){var U=YAHOO.util.Get.POLL_FREQ;S.maxattempts=YAHOO.util.Get.TIMEOUT/U;S.attempts=0;S._cache=S.varName[0].split(".");S.timer=R.later(U,S,function(h){var e=this._cache,d=e.length,c=this.win,f;for(f=0;f<d;f=f+1){c=c[e[f]];if(!c){this.attempts++;if(this.attempts++>this.maxattempts){var g="Over retry limit, giving up";S.timer.cancel();P(V,g);}else{}return ;}}S.timer.cancel();Z(V,T);},null,true);}else{R.later(YAHOO.util.Get.POLL_FREQ,null,Z,[V,T]);}}}}else{W.onload=function(){Z(V,T);};}}};return{POLL_FREQ:10,PURGE_THRESH:20,TIMEOUT:2000,_finalize:function(S){R.later(0,null,C,S);},abort:function(T){var U=(R.isString(T))?T:T.tId;var S=M[U];if(S){S.aborted=true;}},script:function(S,T){return I("script",S,T);},css:function(S,T){return I("css",S,T);}};}();YAHOO.register("get",YAHOO.util.Get,{version:"2.5.1",build:"984"});(function(){var Y=YAHOO,util=Y.util,lang=Y.lang,env=Y.env,PROV="_provides",SUPER="_supersedes",REQ="expanded",AFTER="_after";var YUI={dupsAllowed:{"yahoo":true,"get":true},info:{"base":"http://yui.yahooapis.com/2.5.1/build/","skin":{"defaultSkin":"sam","base":"assets/skins/","path":"skin.css","after":["reset","fonts","grids","base"],"rollup":3},dupsAllowed:["yahoo","get"],"moduleInfo":{"animation":{"type":"js","path":"animation/animation-min.js","requires":["dom","event"]},"autocomplete":{"type":"js","path":"autocomplete/autocomplete-min.js","requires":["dom","event"],"optional":["connection","animation"],"skinnable":true},"base":{"type":"css","path":"base/base-min.css","after":["reset","fonts","grids"]},"button":{"type":"js","path":"button/button-min.js","requires":["element"],"optional":["menu"],"skinnable":true},"calendar":{"type":"js","path":"calendar/calendar-min.js","requires":["event","dom"],"skinnable":true},"charts":{"type":"js","path":"charts/charts-experimental-min.js","requires":["element","json","datasource"]},"colorpicker":{"type":"js","path":"colorpicker/colorpicker-min.js","requires":["slider","element"],"optional":["animation"],"skinnable":true},"connection":{"type":"js","path":"connection/connection-min.js","requires":["event"]},"container":{"type":"js","path":"container/container-min.js","requires":["dom","event"],"optional":["dragdrop","animation","connection"],"supersedes":["containercore"],"skinnable":true},"containercore":{"type":"js","path":"container/container_core-min.js","requires":["dom","event"],"pkg":"container"},"cookie":{"type":"js","path":"cookie/cookie-beta-min.js","requires":["yahoo"]},"datasource":{"type":"js","path":"datasource/datasource-beta-min.js","requires":["event"],"optional":["connection"]},"datatable":{"type":"js","path":"datatable/datatable-beta-min.js","requires":["element","datasource"],"optional":["calendar","dragdrop"],"skinnable":true},"dom":{"type":"js","path":"dom/dom-min.js","requires":["yahoo"]},"dragdrop":{"type":"js","path":"dragdrop/dragdrop-min.js","requires":["dom","event"]},"editor":{"type":"js","path":"editor/editor-beta-min.js","requires":["menu","element","button"],"optional":["animation","dragdrop"],"skinnable":true},"element":{"type":"js","path":"element/element-beta-min.js","requires":["dom","event"]},"event":{"type":"js","path":"event/event-min.js","requires":["yahoo"]},"fonts":{"type":"css","path":"fonts/fonts-min.css"},"get":{"type":"js","path":"get/get-min.js","requires":["yahoo"]},"grids":{"type":"css","path":"grids/grids-min.css","requires":["fonts"],"optional":["reset"]},"history":{"type":"js","path":"history/history-min.js","requires":["event"]},"imagecropper":{"type":"js","path":"imagecropper/imagecropper-beta-min.js","requires":["dom","event","dragdrop","element","resize"],"skinnable":true},"imageloader":{"type":"js","path":"imageloader/imageloader-min.js","requires":["event","dom"]},"json":{"type":"js","path":"json/json-min.js","requires":["yahoo"]},"layout":{"type":"js","path":"layout/layout-beta-min.js","requires":["dom","event","element"],"optional":["animation","dragdrop","resize","selector"],"skinnable":true},"logger":{"type":"js","path":"logger/logger-min.js","requires":["event","dom"],"optional":["dragdrop"],"skinnable":true},"menu":{"type":"js","path":"menu/menu-min.js","requires":["containercore"],"skinnable":true},"profiler":{"type":"js","path":"profiler/profiler-beta-min.js","requires":["yahoo"]},"profilerviewer":{"type":"js","path":"profilerviewer/profilerviewer-beta-min.js","requires":["profiler","yuiloader","element"],"skinnable":true},"reset":{"type":"css","path":"reset/reset-min.css"},"reset-fonts-grids":{"type":"css","path":"reset-fonts-grids/reset-fonts-grids.css","supersedes":["reset","fonts","grids","reset-fonts"],"rollup":4},"reset-fonts":{"type":"css","path":"reset-fonts/reset-fonts.css","supersedes":["reset","fonts"],"rollup":2},"resize":{"type":"js","path":"resize/resize-beta-min.js","requires":["dom","event","dragdrop","element"],"optional":["animation"],"skinnable":true},"selector":{"type":"js","path":"selector/selector-beta-min.js","requires":["yahoo","dom"]},"simpleeditor":{"type":"js","path":"editor/simpleeditor-beta-min.js","requires":["element"],"optional":["containercore","menu","button","animation","dragdrop"],"skinnable":true,"pkg":"editor"},"slider":{"type":"js","path":"slider/slider-min.js","requires":["dragdrop"],"optional":["animation"]},"tabview":{"type":"js","path":"tabview/tabview-min.js","requires":["element"],"optional":["connection"],"skinnable":true},"treeview":{"type":"js","path":"treeview/treeview-min.js","requires":["event"],"skinnable":true},"uploader":{"type":"js","path":"uploader/uploader-experimental.js","requires":["yahoo"]},"utilities":{"type":"js","path":"utilities/utilities.js","supersedes":["yahoo","event","dragdrop","animation","dom","connection","element","yahoo-dom-event","get","yuiloader","yuiloader-dom-event"],"rollup":8},"yahoo":{"type":"js","path":"yahoo/yahoo-min.js"},"yahoo-dom-event":{"type":"js","path":"yahoo-dom-event/yahoo-dom-event.js","supersedes":["yahoo","event","dom"],"rollup":3},"yuiloader":{"type":"js","path":"yuiloader/yuiloader-beta-min.js","supersedes":["yahoo","get"]},"yuiloader-dom-event":{"type":"js","path":"yuiloader-dom-event/yuiloader-dom-event.js","supersedes":["yahoo","dom","event","get","yuiloader","yahoo-dom-event"],"rollup":5},"yuitest":{"type":"js","path":"yuitest/yuitest-min.js","requires":["logger"],"skinnable":true}}},ObjectUtil:{appendArray:function(o,a){if(a){for(var i=0;
-i<a.length;i=i+1){o[a[i]]=true;}}},keys:function(o,ordered){var a=[],i;for(i in o){if(lang.hasOwnProperty(o,i)){a.push(i);}}return a;}},ArrayUtil:{appendArray:function(a1,a2){Array.prototype.push.apply(a1,a2);},indexOf:function(a,val){for(var i=0;i<a.length;i=i+1){if(a[i]===val){return i;}}return -1;},toObject:function(a){var o={};for(var i=0;i<a.length;i=i+1){o[a[i]]=true;}return o;},uniq:function(a){return YUI.ObjectUtil.keys(YUI.ArrayUtil.toObject(a));}}};YAHOO.util.YUILoader=function(o){this._internalCallback=null;this._useYahooListener=false;this.onSuccess=null;this.onFailure=Y.log;this.onProgress=null;this.scope=this;this.data=null;this.insertBefore=null;this.charset=null;this.varName=null;this.base=YUI.info.base;this.ignore=null;this.force=null;this.allowRollup=true;this.filter=null;this.required={};this.moduleInfo=lang.merge(YUI.info.moduleInfo);this.rollups=null;this.loadOptional=false;this.sorted=[];this.loaded={};this.dirty=true;this.inserted={};var self=this;env.listeners.push(function(m){if(self._useYahooListener){self.loadNext(m.name);}});this.skin=lang.merge(YUI.info.skin);this._config(o);};Y.util.YUILoader.prototype={FILTERS:{RAW:{"searchExp":"-min\\.js","replaceStr":".js"},DEBUG:{"searchExp":"-min\\.js","replaceStr":"-debug.js"}},SKIN_PREFIX:"skin-",_config:function(o){if(o){for(var i in o){if(lang.hasOwnProperty(o,i)){if(i=="require"){this.require(o[i]);}else{this[i]=o[i];}}}}var f=this.filter;if(lang.isString(f)){f=f.toUpperCase();if(f==="DEBUG"){this.require("logger");}if(!Y.widget.LogWriter){Y.widget.LogWriter=function(){return Y;};}this.filter=this.FILTERS[f];}},addModule:function(o){if(!o||!o.name||!o.type||(!o.path&&!o.fullpath)){return false;}o.ext=("ext" in o)?o.ext:true;o.requires=o.requires||[];this.moduleInfo[o.name]=o;this.dirty=true;return true;},require:function(what){var a=(typeof what==="string")?arguments:what;this.dirty=true;YUI.ObjectUtil.appendArray(this.required,a);},_addSkin:function(skin,mod){var name=this.formatSkin(skin),info=this.moduleInfo,sinf=this.skin,ext=info[mod]&&info[mod].ext;if(!info[name]){this.addModule({"name":name,"type":"css","path":sinf.base+skin+"/"+sinf.path,"after":sinf.after,"rollup":sinf.rollup,"ext":ext});}if(mod){name=this.formatSkin(skin,mod);if(!info[name]){var mdef=info[mod],pkg=mdef.pkg||mod;this.addModule({"name":name,"type":"css","after":sinf.after,"path":pkg+"/"+sinf.base+skin+"/"+mod+".css","ext":ext});}}return name;},getRequires:function(mod){if(!mod){return[];}if(!this.dirty&&mod.expanded){return mod.expanded;}mod.requires=mod.requires||[];var i,d=[],r=mod.requires,o=mod.optional,info=this.moduleInfo,m;for(i=0;i<r.length;i=i+1){d.push(r[i]);m=info[r[i]];YUI.ArrayUtil.appendArray(d,this.getRequires(m));}if(o&&this.loadOptional){for(i=0;i<o.length;i=i+1){d.push(o[i]);YUI.ArrayUtil.appendArray(d,this.getRequires(info[o[i]]));}}mod.expanded=YUI.ArrayUtil.uniq(d);return mod.expanded;},getProvides:function(name,notMe){var addMe=!(notMe),ckey=(addMe)?PROV:SUPER,m=this.moduleInfo[name],o={};if(!m){return o;}if(m[ckey]){return m[ckey];}var s=m.supersedes,done={},me=this;var add=function(mm){if(!done[mm]){done[mm]=true;lang.augmentObject(o,me.getProvides(mm));}};if(s){for(var i=0;i<s.length;i=i+1){add(s[i]);}}m[SUPER]=o;m[PROV]=lang.merge(o);m[PROV][name]=true;return m[ckey];},calculate:function(o){if(this.dirty){this._config(o);this._setup();this._explode();if(this.allowRollup){this._rollup();}this._reduce();this._sort();this.dirty=false;}},_setup:function(){var info=this.moduleInfo,name,i,j;for(name in info){var m=info[name];if(m&&m.skinnable){var o=this.skin.overrides,smod;if(o&&o[name]){for(i=0;i<o[name].length;i=i+1){smod=this._addSkin(o[name][i],name);}}else{smod=this._addSkin(this.skin.defaultSkin,name);}m.requires.push(smod);}}var l=lang.merge(this.inserted);if(!this._sandbox){l=lang.merge(l,env.modules);}if(this.ignore){YUI.ObjectUtil.appendArray(l,this.ignore);}if(this.force){for(i=0;i<this.force.length;i=i+1){if(this.force[i] in l){delete l[this.force[i]];}}}for(j in l){if(lang.hasOwnProperty(l,j)){lang.augmentObject(l,this.getProvides(j));}}this.loaded=l;},_explode:function(){var r=this.required,i,mod;for(i in r){mod=this.moduleInfo[i];if(mod){var req=this.getRequires(mod);if(req){YUI.ObjectUtil.appendArray(r,req);}}}},_skin:function(){},formatSkin:function(skin,mod){var s=this.SKIN_PREFIX+skin;if(mod){s=s+"-"+mod;}return s;},parseSkin:function(mod){if(mod.indexOf(this.SKIN_PREFIX)===0){var a=mod.split("-");return{skin:a[1],module:a[2]};}return null;},_rollup:function(){var i,j,m,s,rollups={},r=this.required,roll;if(this.dirty||!this.rollups){for(i in this.moduleInfo){m=this.moduleInfo[i];if(m&&m.rollup){rollups[i]=m;}}this.rollups=rollups;}for(;;){var rolled=false;for(i in rollups){if(!r[i]&&!this.loaded[i]){m=this.moduleInfo[i];s=m.supersedes;roll=false;if(!m.rollup){continue;}var skin=(m.ext)?false:this.parseSkin(i),c=0;if(skin){for(j in r){if(i!==j&&this.parseSkin(j)){c++;roll=(c>=m.rollup);if(roll){break;}}}}else{for(j=0;j<s.length;j=j+1){if(this.loaded[s[j]]&&(!YUI.dupsAllowed[s[j]])){roll=false;break;}else{if(r[s[j]]){c++;roll=(c>=m.rollup);if(roll){break;}}}}}if(roll){r[i]=true;rolled=true;this.getRequires(m);}}}if(!rolled){break;}}},_reduce:function(){var i,j,s,m,r=this.required;for(i in r){if(i in this.loaded){delete r[i];}else{var skinDef=this.parseSkin(i);if(skinDef){if(!skinDef.module){var skin_pre=this.SKIN_PREFIX+skinDef.skin;for(j in r){m=this.moduleInfo[j];var ext=m&&m.ext;if(!ext&&j!==i&&j.indexOf(skin_pre)>-1){delete r[j];}}}}else{m=this.moduleInfo[i];s=m&&m.supersedes;if(s){for(j=0;j<s.length;j=j+1){if(s[j] in r){delete r[s[j]];}}}}}}},_sort:function(){var s=[],info=this.moduleInfo,loaded=this.loaded,me=this;var requires=function(aa,bb){if(loaded[bb]){return false;}var ii,mm=info[aa],rr=mm&&mm.expanded,after=mm&&mm.after,other=info[bb];if(rr&&YUI.ArrayUtil.indexOf(rr,bb)>-1){return true;}if(after&&YUI.ArrayUtil.indexOf(after,bb)>-1){return true;}var ss=info[bb]&&info[bb].supersedes;if(ss){for(ii=0;
-ii<ss.length;ii=ii+1){if(requires(aa,ss[ii])){return true;}}}if(mm.ext&&mm.type=="css"&&(!other.ext)){return true;}return false;};for(var i in this.required){s.push(i);}var p=0;for(;;){var l=s.length,a,b,j,k,moved=false;for(j=p;j<l;j=j+1){a=s[j];for(k=j+1;k<l;k=k+1){if(requires(a,s[k])){b=s.splice(k,1);s.splice(j,0,b[0]);moved=true;break;}}if(moved){break;}else{p=p+1;}}if(!moved){break;}}this.sorted=s;},toString:function(){var o={type:"YUILoader",base:this.base,filter:this.filter,required:this.required,loaded:this.loaded,inserted:this.inserted};lang.dump(o,1);},insert:function(o,type){this.calculate(o);if(!type){var self=this;this._internalCallback=function(){self._internalCallback=null;self.insert(null,"js");};this.insert(null,"css");return ;}this._loading=true;this.loadType=type;this.loadNext();},sandbox:function(o,type){if(o){}else{}this._config(o);if(!this.onSuccess){throw new Error("You must supply an onSuccess handler for your sandbox");}this._sandbox=true;var self=this;if(!type||type!=="js"){this._internalCallback=function(){self._internalCallback=null;self.sandbox(null,"js");};this.insert(null,"css");return ;}if(!util.Connect){var ld=new YAHOO.util.YUILoader();ld.insert({base:this.base,filter:this.filter,require:"connection",insertBefore:this.insertBefore,charset:this.charset,onSuccess:function(){this.sandbox(null,"js");},scope:this},"js");return ;}this._scriptText=[];this._loadCount=0;this._stopCount=this.sorted.length;this._xhr=[];this.calculate();var s=this.sorted,l=s.length,i,m,url;for(i=0;i<l;i=i+1){m=this.moduleInfo[s[i]];if(!m){this.onFailure.call(this.scope,{msg:"undefined module "+m,data:this.data});for(var j=0;j<this._xhr.length;j=j+1){this._xhr[j].abort();}return ;}if(m.type!=="js"){this._loadCount++;continue;}url=m.fullpath||this._url(m.path);var xhrData={success:function(o){var idx=o.argument[0],name=o.argument[2];this._scriptText[idx]=o.responseText;if(this.onProgress){this.onProgress.call(this.scope,{name:name,scriptText:o.responseText,xhrResponse:o,data:this.data});}this._loadCount++;if(this._loadCount>=this._stopCount){var v=this.varName||"YAHOO";var t="(function() {\n";var b="\nreturn "+v+";\n})();";var ref=eval(t+this._scriptText.join("\n")+b);this._pushEvents(ref);if(ref){this.onSuccess.call(this.scope,{reference:ref,data:this.data});}else{this.onFailure.call(this.scope,{msg:this.varName+" reference failure",data:this.data});}}},failure:function(o){this.onFailure.call(this.scope,{msg:"XHR failure",xhrResponse:o,data:this.data});},scope:this,argument:[i,url,s[i]]};this._xhr.push(util.Connect.asyncRequest("GET",url,xhrData));}},loadNext:function(mname){if(!this._loading){return ;}if(mname){if(mname!==this._loading){return ;}this.inserted[mname]=true;if(this.onProgress){this.onProgress.call(this.scope,{name:mname,data:this.data});}}var s=this.sorted,len=s.length,i,m;for(i=0;i<len;i=i+1){if(s[i] in this.inserted){continue;}if(s[i]===this._loading){return ;}m=this.moduleInfo[s[i]];if(!m){this.onFailure.call(this.scope,{msg:"undefined module "+m,data:this.data});return ;}if(!this.loadType||this.loadType===m.type){this._loading=s[i];var fn=(m.type==="css")?util.Get.css:util.Get.script,url=m.fullpath||this._url(m.path),self=this,c=function(o){self.loadNext(o.data);};if(env.ua.webkit&&env.ua.webkit<420&&m.type==="js"&&!m.varName){c=null;this._useYahooListener=true;}fn(url,{data:s[i],onSuccess:c,insertBefore:this.insertBefore,charset:this.charset,varName:m.varName,scope:self});return ;}}this._loading=null;if(this._internalCallback){var f=this._internalCallback;this._internalCallback=null;f.call(this);}else{if(this.onSuccess){this._pushEvents();this.onSuccess.call(this.scope,{data:this.data});}}},_pushEvents:function(ref){var r=ref||YAHOO;if(r.util&&r.util.Event){r.util.Event._load();}},_url:function(path){var u=this.base||"",f=this.filter;u=u+path;if(f){u=u.replace(new RegExp(f.searchExp),f.replaceStr);}return u;}};})();(function(){var B=YAHOO.util,K,I,J={},F={},M=window.document;YAHOO.env._id_counter=YAHOO.env._id_counter||0;var C=YAHOO.env.ua.opera,L=YAHOO.env.ua.webkit,A=YAHOO.env.ua.gecko,G=YAHOO.env.ua.ie;var E={HYPHEN:/(-[a-z])/i,ROOT_TAG:/^body|html$/i,OP_SCROLL:/^(?:inline|table-row)$/i};var N=function(P){if(!E.HYPHEN.test(P)){return P;}if(J[P]){return J[P];}var Q=P;while(E.HYPHEN.exec(Q)){Q=Q.replace(RegExp.$1,RegExp.$1.substr(1).toUpperCase());}J[P]=Q;return Q;};var O=function(Q){var P=F[Q];if(!P){P=new RegExp("(?:^|\\s+)"+Q+"(?:\\s+|$)");F[Q]=P;}return P;};if(M.defaultView&&M.defaultView.getComputedStyle){K=function(P,S){var R=null;if(S=="float"){S="cssFloat";}var Q=P.ownerDocument.defaultView.getComputedStyle(P,"");if(Q){R=Q[N(S)];}return P.style[S]||R;};}else{if(M.documentElement.currentStyle&&G){K=function(P,R){switch(N(R)){case"opacity":var T=100;try{T=P.filters["DXImageTransform.Microsoft.Alpha"].opacity;}catch(S){try{T=P.filters("alpha").opacity;}catch(S){}}return T/100;case"float":R="styleFloat";default:var Q=P.currentStyle?P.currentStyle[R]:null;return(P.style[R]||Q);}};}else{K=function(P,Q){return P.style[Q];};}}if(G){I=function(P,Q,R){switch(Q){case"opacity":if(YAHOO.lang.isString(P.style.filter)){P.style.filter="alpha(opacity="+R*100+")";if(!P.currentStyle||!P.currentStyle.hasLayout){P.style.zoom=1;}}break;case"float":Q="styleFloat";default:P.style[Q]=R;}};}else{I=function(P,Q,R){if(Q=="float"){Q="cssFloat";}P.style[Q]=R;};}var D=function(P,Q){return P&&P.nodeType==1&&(!Q||Q(P));};YAHOO.util.Dom={get:function(R){if(R&&(R.nodeType||R.item)){return R;}if(YAHOO.lang.isString(R)||!R){return M.getElementById(R);}if(R.length!==undefined){var S=[];for(var Q=0,P=R.length;Q<P;++Q){S[S.length]=B.Dom.get(R[Q]);}return S;}return R;},getStyle:function(P,R){R=N(R);var Q=function(S){return K(S,R);};return B.Dom.batch(P,Q,B.Dom,true);},setStyle:function(P,R,S){R=N(R);var Q=function(T){I(T,R,S);};B.Dom.batch(P,Q,B.Dom,true);},getXY:function(P){var Q=function(R){if((R.parentNode===null||R.offsetParent===null||this.getStyle(R,"display")=="none")&&R!=R.ownerDocument.body){return false;}return H(R);};return B.Dom.batch(P,Q,B.Dom,true);},getX:function(P){var Q=function(R){return B.Dom.getXY(R)[0];};return B.Dom.batch(P,Q,B.Dom,true);},getY:function(P){var Q=function(R){return B.Dom.getXY(R)[1];};return B.Dom.batch(P,Q,B.Dom,true);},setXY:function(P,S,R){var Q=function(V){var U=this.getStyle(V,"position");if(U=="static"){this.setStyle(V,"position","relative");U="relative";}var X=this.getXY(V);if(X===false){return false;}var W=[parseInt(this.getStyle(V,"left"),10),parseInt(this.getStyle(V,"top"),10)];if(isNaN(W[0])){W[0]=(U=="relative")?0:V.offsetLeft;}if(isNaN(W[1])){W[1]=(U=="relative")?0:V.offsetTop;}if(S[0]!==null){V.style.left=S[0]-X[0]+W[0]+"px";}if(S[1]!==null){V.style.top=S[1]-X[1]+W[1]+"px";}if(!R){var T=this.getXY(V);if((S[0]!==null&&T[0]!=S[0])||(S[1]!==null&&T[1]!=S[1])){this.setXY(V,S,true);}}};B.Dom.batch(P,Q,B.Dom,true);},setX:function(Q,P){B.Dom.setXY(Q,[P,null]);},setY:function(P,Q){B.Dom.setXY(P,[null,Q]);},getRegion:function(P){var Q=function(R){if((R.parentNode===null||R.offsetParent===null||this.getStyle(R,"display")=="none")&&R!=R.ownerDocument.body){return false;}var S=B.Region.getRegion(R);return S;};return B.Dom.batch(P,Q,B.Dom,true);},getClientWidth:function(){return B.Dom.getViewportWidth();},getClientHeight:function(){return B.Dom.getViewportHeight();},getElementsByClassName:function(T,X,U,V){X=X||"*";U=(U)?B.Dom.get(U):null||M;if(!U){return[];}var Q=[],P=U.getElementsByTagName(X),W=O(T);for(var R=0,S=P.length;R<S;++R){if(W.test(P[R].className)){Q[Q.length]=P[R];if(V){V.call(P[R],P[R]);}}}return Q;},hasClass:function(R,Q){var P=O(Q);var S=function(T){return P.test(T.className);};return B.Dom.batch(R,S,B.Dom,true);},addClass:function(Q,P){var R=function(S){if(this.hasClass(S,P)){return false;}S.className=YAHOO.lang.trim([S.className,P].join(" "));return true;};return B.Dom.batch(Q,R,B.Dom,true);},removeClass:function(R,Q){var P=O(Q);var S=function(T){if(!Q||!this.hasClass(T,Q)){return false;}var U=T.className;T.className=U.replace(P," ");if(this.hasClass(T,Q)){this.removeClass(T,Q);}T.className=YAHOO.lang.trim(T.className);return true;};return B.Dom.batch(R,S,B.Dom,true);},replaceClass:function(S,Q,P){if(!P||Q===P){return false;}var R=O(Q);var T=function(U){if(!this.hasClass(U,Q)){this.addClass(U,P);return true;}U.className=U.className.replace(R," "+P+" ");if(this.hasClass(U,Q)){this.replaceClass(U,Q,P);}U.className=YAHOO.lang.trim(U.className);return true;};return B.Dom.batch(S,T,B.Dom,true);},generateId:function(P,R){R=R||"yui-gen";var Q=function(S){if(S&&S.id){return S.id;}var T=R+YAHOO.env._id_counter++;if(S){S.id=T;}return T;};return B.Dom.batch(P,Q,B.Dom,true)||Q.apply(B.Dom,arguments);},isAncestor:function(P,Q){P=B.Dom.get(P);Q=B.Dom.get(Q);if(!P||!Q){return false;}if(P.contains&&Q.nodeType&&!L){return P.contains(Q);}else{if(P.compareDocumentPosition&&Q.nodeType){return !!(P.compareDocumentPosition(Q)&16);}else{if(Q.nodeType){return !!this.getAncestorBy(Q,function(R){return R==P;});}}}return false;},inDocument:function(P){return this.isAncestor(M.documentElement,P);},getElementsBy:function(W,Q,R,T){Q=Q||"*";R=(R)?B.Dom.get(R):null||M;if(!R){return[];}var S=[],V=R.getElementsByTagName(Q);for(var U=0,P=V.length;U<P;++U){if(W(V[U])){S[S.length]=V[U];if(T){T(V[U]);}}}return S;},batch:function(T,W,V,R){T=(T&&(T.tagName||T.item))?T:B.Dom.get(T);if(!T||!W){return false;}var S=(R)?V:window;if(T.tagName||T.length===undefined){return W.call(S,T,V);}var U=[];for(var Q=0,P=T.length;Q<P;++Q){U[U.length]=W.call(S,T[Q],V);}return U;},getDocumentHeight:function(){var Q=(M.compatMode!="CSS1Compat")?M.body.scrollHeight:M.documentElement.scrollHeight;var P=Math.max(Q,B.Dom.getViewportHeight());return P;},getDocumentWidth:function(){var Q=(M.compatMode!="CSS1Compat")?M.body.scrollWidth:M.documentElement.scrollWidth;var P=Math.max(Q,B.Dom.getViewportWidth());return P;},getViewportHeight:function(){var P=self.innerHeight;
-var Q=M.compatMode;if((Q||G)&&!C){P=(Q=="CSS1Compat")?M.documentElement.clientHeight:M.body.clientHeight;}return P;},getViewportWidth:function(){var P=self.innerWidth;var Q=M.compatMode;if(Q||G){P=(Q=="CSS1Compat")?M.documentElement.clientWidth:M.body.clientWidth;}return P;},getAncestorBy:function(P,Q){while(P=P.parentNode){if(D(P,Q)){return P;}}return null;},getAncestorByClassName:function(Q,P){Q=B.Dom.get(Q);if(!Q){return null;}var R=function(S){return B.Dom.hasClass(S,P);};return B.Dom.getAncestorBy(Q,R);},getAncestorByTagName:function(Q,P){Q=B.Dom.get(Q);if(!Q){return null;}var R=function(S){return S.tagName&&S.tagName.toUpperCase()==P.toUpperCase();};return B.Dom.getAncestorBy(Q,R);},getPreviousSiblingBy:function(P,Q){while(P){P=P.previousSibling;if(D(P,Q)){return P;}}return null;},getPreviousSibling:function(P){P=B.Dom.get(P);if(!P){return null;}return B.Dom.getPreviousSiblingBy(P);},getNextSiblingBy:function(P,Q){while(P){P=P.nextSibling;if(D(P,Q)){return P;}}return null;},getNextSibling:function(P){P=B.Dom.get(P);if(!P){return null;}return B.Dom.getNextSiblingBy(P);},getFirstChildBy:function(P,R){var Q=(D(P.firstChild,R))?P.firstChild:null;return Q||B.Dom.getNextSiblingBy(P.firstChild,R);},getFirstChild:function(P,Q){P=B.Dom.get(P);if(!P){return null;}return B.Dom.getFirstChildBy(P);},getLastChildBy:function(P,R){if(!P){return null;}var Q=(D(P.lastChild,R))?P.lastChild:null;return Q||B.Dom.getPreviousSiblingBy(P.lastChild,R);},getLastChild:function(P){P=B.Dom.get(P);return B.Dom.getLastChildBy(P);},getChildrenBy:function(Q,S){var R=B.Dom.getFirstChildBy(Q,S);var P=R?[R]:[];B.Dom.getNextSiblingBy(R,function(T){if(!S||S(T)){P[P.length]=T;}return false;});return P;},getChildren:function(P){P=B.Dom.get(P);if(!P){}return B.Dom.getChildrenBy(P);},getDocumentScrollLeft:function(P){P=P||M;return Math.max(P.documentElement.scrollLeft,P.body.scrollLeft);},getDocumentScrollTop:function(P){P=P||M;return Math.max(P.documentElement.scrollTop,P.body.scrollTop);},insertBefore:function(Q,P){Q=B.Dom.get(Q);P=B.Dom.get(P);if(!Q||!P||!P.parentNode){return null;}return P.parentNode.insertBefore(Q,P);},insertAfter:function(Q,P){Q=B.Dom.get(Q);P=B.Dom.get(P);if(!Q||!P||!P.parentNode){return null;}if(P.nextSibling){return P.parentNode.insertBefore(Q,P.nextSibling);}else{return P.parentNode.appendChild(Q);}},getClientRegion:function(){var R=B.Dom.getDocumentScrollTop(),Q=B.Dom.getDocumentScrollLeft(),S=B.Dom.getViewportWidth()+Q,P=B.Dom.getViewportHeight()+R;return new B.Region(R,S,P,Q);}};var H=function(){if(M.documentElement.getBoundingClientRect){return function(Q){var R=Q.getBoundingClientRect();var P=Q.ownerDocument;return[R.left+B.Dom.getDocumentScrollLeft(P),R.top+B.Dom.getDocumentScrollTop(P)];};}else{return function(R){var S=[R.offsetLeft,R.offsetTop];var Q=R.offsetParent;var P=(L&&B.Dom.getStyle(R,"position")=="absolute"&&R.offsetParent==R.ownerDocument.body);if(Q!=R){while(Q){S[0]+=Q.offsetLeft;S[1]+=Q.offsetTop;if(!P&&L&&B.Dom.getStyle(Q,"position")=="absolute"){P=true;}Q=Q.offsetParent;}}if(P){S[0]-=R.ownerDocument.body.offsetLeft;S[1]-=R.ownerDocument.body.offsetTop;}Q=R.parentNode;while(Q.tagName&&!E.ROOT_TAG.test(Q.tagName)){if(Q.scrollTop||Q.scrollLeft){if(!E.OP_SCROLL.test(B.Dom.getStyle(Q,"display"))){if(!C||B.Dom.getStyle(Q,"overflow")!=="visible"){S[0]-=Q.scrollLeft;S[1]-=Q.scrollTop;}}}Q=Q.parentNode;}return S;};}}();})();YAHOO.util.Region=function(C,D,A,B){this.top=C;this[1]=C;this.right=D;this.bottom=A;this.left=B;this[0]=B;};YAHOO.util.Region.prototype.contains=function(A){return(A.left>=this.left&&A.right<=this.right&&A.top>=this.top&&A.bottom<=this.bottom);};YAHOO.util.Region.prototype.getArea=function(){return((this.bottom-this.top)*(this.right-this.left));};YAHOO.util.Region.prototype.intersect=function(E){var C=Math.max(this.top,E.top);var D=Math.min(this.right,E.right);var A=Math.min(this.bottom,E.bottom);var B=Math.max(this.left,E.left);if(A>=C&&D>=B){return new YAHOO.util.Region(C,D,A,B);}else{return null;}};YAHOO.util.Region.prototype.union=function(E){var C=Math.min(this.top,E.top);var D=Math.max(this.right,E.right);var A=Math.max(this.bottom,E.bottom);var B=Math.min(this.left,E.left);return new YAHOO.util.Region(C,D,A,B);};YAHOO.util.Region.prototype.toString=function(){return("Region {"+"top: "+this.top+", right: "+this.right+", bottom: "+this.bottom+", left: "+this.left+"}");};YAHOO.util.Region.getRegion=function(D){var F=YAHOO.util.Dom.getXY(D);var C=F[1];var E=F[0]+D.offsetWidth;var A=F[1]+D.offsetHeight;var B=F[0];return new YAHOO.util.Region(C,E,A,B);};YAHOO.util.Point=function(A,B){if(YAHOO.lang.isArray(A)){B=A[1];A=A[0];}this.x=this.right=this.left=this[0]=A;this.y=this.top=this.bottom=this[1]=B;};YAHOO.util.Point.prototype=new YAHOO.util.Region();YAHOO.register("dom",YAHOO.util.Dom,{version:"2.5.1",build:"984"});YAHOO.util.CustomEvent=function(D,B,C,A){this.type=D;this.scope=B||window;this.silent=C;this.signature=A||YAHOO.util.CustomEvent.LIST;this.subscribers=[];if(!this.silent){}var E="_YUICEOnSubscribe";if(D!==E){this.subscribeEvent=new YAHOO.util.CustomEvent(E,this,true);}this.lastError=null;};YAHOO.util.CustomEvent.LIST=0;YAHOO.util.CustomEvent.FLAT=1;YAHOO.util.CustomEvent.prototype={subscribe:function(B,C,A){if(!B){throw new Error("Invalid callback for subscriber to '"+this.type+"'");}if(this.subscribeEvent){this.subscribeEvent.fire(B,C,A);}this.subscribers.push(new YAHOO.util.Subscriber(B,C,A));},unsubscribe:function(D,F){if(!D){return this.unsubscribeAll();}var E=false;for(var B=0,A=this.subscribers.length;B<A;++B){var C=this.subscribers[B];if(C&&C.contains(D,F)){this._delete(B);E=true;}}return E;},fire:function(){var D=this.subscribers.length;if(!D&&this.silent){return true;}var H=[].slice.call(arguments,0),F=true,C,I=false;if(!this.silent){}var B=this.subscribers.slice();for(C=0;C<D;++C){var K=B[C];if(!K){I=true;}else{if(!this.silent){}var J=K.getScope(this.scope);if(this.signature==YAHOO.util.CustomEvent.FLAT){var A=null;if(H.length>0){A=H[0];}try{F=K.fn.call(J,A,K.obj);}catch(E){this.lastError=E;}}else{try{F=K.fn.call(J,this.type,H,K.obj);}catch(G){this.lastError=G;}}if(false===F){if(!this.silent){}return false;}}}return true;},unsubscribeAll:function(){for(var A=this.subscribers.length-1;A>-1;A--){this._delete(A);}this.subscribers=[];return A;},_delete:function(A){var B=this.subscribers[A];if(B){delete B.fn;delete B.obj;}this.subscribers.splice(A,1);},toString:function(){return"CustomEvent: "+"'"+this.type+"', "+"scope: "+this.scope;}};YAHOO.util.Subscriber=function(B,C,A){this.fn=B;this.obj=YAHOO.lang.isUndefined(C)?null:C;this.override=A;};YAHOO.util.Subscriber.prototype.getScope=function(A){if(this.override){if(this.override===true){return this.obj;}else{return this.override;}}return A;};YAHOO.util.Subscriber.prototype.contains=function(A,B){if(B){return(this.fn==A&&this.obj==B);}else{return(this.fn==A);}};YAHOO.util.Subscriber.prototype.toString=function(){return"Subscriber { obj: "+this.obj+", override: "+(this.override||"no")+" }";};if(!YAHOO.util.Event){YAHOO.util.Event=function(){var H=false;var I=[];var J=[];var G=[];var E=[];var C=0;var F=[];var B=[];var A=0;var D={63232:38,63233:40,63234:37,63235:39,63276:33,63277:34,25:9};return{POLL_RETRYS:2000,POLL_INTERVAL:20,EL:0,TYPE:1,FN:2,WFN:3,UNLOAD_OBJ:3,ADJ_SCOPE:4,OBJ:5,OVERRIDE:6,lastError:null,isSafari:YAHOO.env.ua.webkit,webkit:YAHOO.env.ua.webkit,isIE:YAHOO.env.ua.ie,_interval:null,_dri:null,DOMReady:false,startInterval:function(){if(!this._interval){var K=this;var L=function(){K._tryPreloadAttach();};this._interval=setInterval(L,this.POLL_INTERVAL);}},onAvailable:function(P,M,Q,O,N){var K=(YAHOO.lang.isString(P))?[P]:P;for(var L=0;L<K.length;L=L+1){F.push({id:K[L],fn:M,obj:Q,override:O,checkReady:N});}C=this.POLL_RETRYS;this.startInterval();},onContentReady:function(M,K,N,L){this.onAvailable(M,K,N,L,true);},onDOMReady:function(K,M,L){if(this.DOMReady){setTimeout(function(){var N=window;if(L){if(L===true){N=M;}else{N=L;}}K.call(N,"DOMReady",[],M);},0);}else{this.DOMReadyEvent.subscribe(K,M,L);}},addListener:function(M,K,V,Q,L){if(!V||!V.call){return false;}if(this._isValidCollection(M)){var W=true;for(var R=0,T=M.length;R<T;++R){W=this.on(M[R],K,V,Q,L)&&W;}return W;}else{if(YAHOO.lang.isString(M)){var P=this.getEl(M);if(P){M=P;}else{this.onAvailable(M,function(){YAHOO.util.Event.on(M,K,V,Q,L);});return true;}}}if(!M){return false;}if("unload"==K&&Q!==this){J[J.length]=[M,K,V,Q,L];return true;}var Y=M;if(L){if(L===true){Y=Q;}else{Y=L;}}var N=function(Z){return V.call(Y,YAHOO.util.Event.getEvent(Z,M),Q);};var X=[M,K,V,N,Y,Q,L];var S=I.length;I[S]=X;if(this.useLegacyEvent(M,K)){var O=this.getLegacyIndex(M,K);if(O==-1||M!=G[O][0]){O=G.length;B[M.id+K]=O;G[O]=[M,K,M["on"+K]];E[O]=[];M["on"+K]=function(Z){YAHOO.util.Event.fireLegacyEvent(YAHOO.util.Event.getEvent(Z),O);};}E[O].push(X);}else{try{this._simpleAdd(M,K,N,false);}catch(U){this.lastError=U;this.removeListener(M,K,V);return false;}}return true;},fireLegacyEvent:function(O,M){var Q=true,K,S,R,T,P;S=E[M].slice();for(var L=0,N=S.length;L<N;++L){R=S[L];if(R&&R[this.WFN]){T=R[this.ADJ_SCOPE];P=R[this.WFN].call(T,O);Q=(Q&&P);}}K=G[M];if(K&&K[2]){K[2](O);}return Q;},getLegacyIndex:function(L,M){var K=this.generateId(L)+M;if(typeof B[K]=="undefined"){return -1;}else{return B[K];}},useLegacyEvent:function(L,M){if(this.webkit&&("click"==M||"dblclick"==M)){var K=parseInt(this.webkit,10);if(!isNaN(K)&&K<418){return true;}}return false;},removeListener:function(L,K,T){var O,R,V;if(typeof L=="string"){L=this.getEl(L);}else{if(this._isValidCollection(L)){var U=true;for(O=L.length-1;O>-1;O--){U=(this.removeListener(L[O],K,T)&&U);}return U;}}if(!T||!T.call){return this.purgeElement(L,false,K);}if("unload"==K){for(O=J.length-1;O>-1;O--){V=J[O];if(V&&V[0]==L&&V[1]==K&&V[2]==T){J.splice(O,1);return true;}}return false;}var P=null;var Q=arguments[3];if("undefined"===typeof Q){Q=this._getCacheIndex(L,K,T);}if(Q>=0){P=I[Q];}if(!L||!P){return false;}if(this.useLegacyEvent(L,K)){var N=this.getLegacyIndex(L,K);var M=E[N];if(M){for(O=0,R=M.length;O<R;++O){V=M[O];if(V&&V[this.EL]==L&&V[this.TYPE]==K&&V[this.FN]==T){M.splice(O,1);break;}}}}else{try{this._simpleRemove(L,K,P[this.WFN],false);}catch(S){this.lastError=S;return false;}}delete I[Q][this.WFN];delete I[Q][this.FN];I.splice(Q,1);return true;},getTarget:function(M,L){var K=M.target||M.srcElement;return this.resolveTextNode(K);},resolveTextNode:function(L){try{if(L&&3==L.nodeType){return L.parentNode;}}catch(K){}return L;},getPageX:function(L){var K=L.pageX;if(!K&&0!==K){K=L.clientX||0;if(this.isIE){K+=this._getScrollLeft();}}return K;},getPageY:function(K){var L=K.pageY;if(!L&&0!==L){L=K.clientY||0;if(this.isIE){L+=this._getScrollTop();}}return L;},getXY:function(K){return[this.getPageX(K),this.getPageY(K)];},getRelatedTarget:function(L){var K=L.relatedTarget;
-if(!K){if(L.type=="mouseout"){K=L.toElement;}else{if(L.type=="mouseover"){K=L.fromElement;}}}return this.resolveTextNode(K);},getTime:function(M){if(!M.time){var L=new Date().getTime();try{M.time=L;}catch(K){this.lastError=K;return L;}}return M.time;},stopEvent:function(K){this.stopPropagation(K);this.preventDefault(K);},stopPropagation:function(K){if(K.stopPropagation){K.stopPropagation();}else{K.cancelBubble=true;}},preventDefault:function(K){if(K.preventDefault){K.preventDefault();}else{K.returnValue=false;}},getEvent:function(M,K){var L=M||window.event;if(!L){var N=this.getEvent.caller;while(N){L=N.arguments[0];if(L&&Event==L.constructor){break;}N=N.caller;}}return L;},getCharCode:function(L){var K=L.keyCode||L.charCode||0;if(YAHOO.env.ua.webkit&&(K in D)){K=D[K];}return K;},_getCacheIndex:function(O,P,N){for(var M=0,L=I.length;M<L;M=M+1){var K=I[M];if(K&&K[this.FN]==N&&K[this.EL]==O&&K[this.TYPE]==P){return M;}}return -1;},generateId:function(K){var L=K.id;if(!L){L="yuievtautoid-"+A;++A;K.id=L;}return L;},_isValidCollection:function(L){try{return(L&&typeof L!=="string"&&L.length&&!L.tagName&&!L.alert&&typeof L[0]!=="undefined");}catch(K){return false;}},elCache:{},getEl:function(K){return(typeof K==="string")?document.getElementById(K):K;},clearCache:function(){},DOMReadyEvent:new YAHOO.util.CustomEvent("DOMReady",this),_load:function(L){if(!H){H=true;var K=YAHOO.util.Event;K._ready();K._tryPreloadAttach();}},_ready:function(L){var K=YAHOO.util.Event;if(!K.DOMReady){K.DOMReady=true;K.DOMReadyEvent.fire();K._simpleRemove(document,"DOMContentLoaded",K._ready);}},_tryPreloadAttach:function(){if(F.length===0){C=0;clearInterval(this._interval);this._interval=null;return ;}if(this.locked){return ;}if(this.isIE){if(!this.DOMReady){this.startInterval();return ;}}this.locked=true;var Q=!H;if(!Q){Q=(C>0&&F.length>0);}var P=[];var R=function(T,U){var S=T;if(U.override){if(U.override===true){S=U.obj;}else{S=U.override;}}U.fn.call(S,U.obj);};var L,K,O,N,M=[];for(L=0,K=F.length;L<K;L=L+1){O=F[L];if(O){N=this.getEl(O.id);if(N){if(O.checkReady){if(H||N.nextSibling||!Q){M.push(O);F[L]=null;}}else{R(N,O);F[L]=null;}}else{P.push(O);}}}for(L=0,K=M.length;L<K;L=L+1){O=M[L];R(this.getEl(O.id),O);}C--;if(Q){for(L=F.length-1;L>-1;L--){O=F[L];if(!O||!O.id){F.splice(L,1);}}this.startInterval();}else{clearInterval(this._interval);this._interval=null;}this.locked=false;},purgeElement:function(O,P,R){var M=(YAHOO.lang.isString(O))?this.getEl(O):O;var Q=this.getListeners(M,R),N,K;if(Q){for(N=Q.length-1;N>-1;N--){var L=Q[N];this.removeListener(M,L.type,L.fn);}}if(P&&M&&M.childNodes){for(N=0,K=M.childNodes.length;N<K;++N){this.purgeElement(M.childNodes[N],P,R);}}},getListeners:function(M,K){var P=[],L;if(!K){L=[I,J];}else{if(K==="unload"){L=[J];}else{L=[I];}}var R=(YAHOO.lang.isString(M))?this.getEl(M):M;for(var O=0;O<L.length;O=O+1){var T=L[O];if(T){for(var Q=0,S=T.length;Q<S;++Q){var N=T[Q];if(N&&N[this.EL]===R&&(!K||K===N[this.TYPE])){P.push({type:N[this.TYPE],fn:N[this.FN],obj:N[this.OBJ],adjust:N[this.OVERRIDE],scope:N[this.ADJ_SCOPE],index:Q});}}}}return(P.length)?P:null;},_unload:function(Q){var K=YAHOO.util.Event,N,M,L,P,O,R=J.slice();for(N=0,P=J.length;N<P;++N){L=R[N];if(L){var S=window;if(L[K.ADJ_SCOPE]){if(L[K.ADJ_SCOPE]===true){S=L[K.UNLOAD_OBJ];}else{S=L[K.ADJ_SCOPE];}}L[K.FN].call(S,K.getEvent(Q,L[K.EL]),L[K.UNLOAD_OBJ]);R[N]=null;L=null;S=null;}}J=null;if(I){for(M=I.length-1;M>-1;M--){L=I[M];if(L){K.removeListener(L[K.EL],L[K.TYPE],L[K.FN],M);}}L=null;}G=null;K._simpleRemove(window,"unload",K._unload);},_getScrollLeft:function(){return this._getScroll()[1];},_getScrollTop:function(){return this._getScroll()[0];},_getScroll:function(){var K=document.documentElement,L=document.body;if(K&&(K.scrollTop||K.scrollLeft)){return[K.scrollTop,K.scrollLeft];}else{if(L){return[L.scrollTop,L.scrollLeft];}else{return[0,0];}}},regCE:function(){},_simpleAdd:function(){if(window.addEventListener){return function(M,N,L,K){M.addEventListener(N,L,(K));};}else{if(window.attachEvent){return function(M,N,L,K){M.attachEvent("on"+N,L);};}else{return function(){};}}}(),_simpleRemove:function(){if(window.removeEventListener){return function(M,N,L,K){M.removeEventListener(N,L,(K));};}else{if(window.detachEvent){return function(L,M,K){L.detachEvent("on"+M,K);};}else{return function(){};}}}()};}();(function(){var EU=YAHOO.util.Event;EU.on=EU.addListener;
-/* DOMReady: based on work by: Dean Edwards/John Resig/Matthias Miller */
-if(EU.isIE){YAHOO.util.Event.onDOMReady(YAHOO.util.Event._tryPreloadAttach,YAHOO.util.Event,true);var n=document.createElement("p");EU._dri=setInterval(function(){try{n.doScroll("left");clearInterval(EU._dri);EU._dri=null;EU._ready();n=null;}catch(ex){}},EU.POLL_INTERVAL);}else{if(EU.webkit&&EU.webkit<525){EU._dri=setInterval(function(){var rs=document.readyState;if("loaded"==rs||"complete"==rs){clearInterval(EU._dri);EU._dri=null;EU._ready();}},EU.POLL_INTERVAL);}else{EU._simpleAdd(document,"DOMContentLoaded",EU._ready);}}EU._simpleAdd(window,"load",EU._load);EU._simpleAdd(window,"unload",EU._unload);EU._tryPreloadAttach();})();}YAHOO.util.EventProvider=function(){};YAHOO.util.EventProvider.prototype={__yui_events:null,__yui_subscribers:null,subscribe:function(A,C,F,E){this.__yui_events=this.__yui_events||{};var D=this.__yui_events[A];if(D){D.subscribe(C,F,E);}else{this.__yui_subscribers=this.__yui_subscribers||{};var B=this.__yui_subscribers;if(!B[A]){B[A]=[];}B[A].push({fn:C,obj:F,override:E});}},unsubscribe:function(C,E,G){this.__yui_events=this.__yui_events||{};var A=this.__yui_events;if(C){var F=A[C];if(F){return F.unsubscribe(E,G);}}else{var B=true;for(var D in A){if(YAHOO.lang.hasOwnProperty(A,D)){B=B&&A[D].unsubscribe(E,G);}}return B;}return false;},unsubscribeAll:function(A){return this.unsubscribe(A);},createEvent:function(G,D){this.__yui_events=this.__yui_events||{};var A=D||{};var I=this.__yui_events;if(I[G]){}else{var H=A.scope||this;var E=(A.silent);var B=new YAHOO.util.CustomEvent(G,H,E,YAHOO.util.CustomEvent.FLAT);
-I[G]=B;if(A.onSubscribeCallback){B.subscribeEvent.subscribe(A.onSubscribeCallback);}this.__yui_subscribers=this.__yui_subscribers||{};var F=this.__yui_subscribers[G];if(F){for(var C=0;C<F.length;++C){B.subscribe(F[C].fn,F[C].obj,F[C].override);}}}return I[G];},fireEvent:function(E,D,A,C){this.__yui_events=this.__yui_events||{};var G=this.__yui_events[E];if(!G){return null;}var B=[];for(var F=1;F<arguments.length;++F){B.push(arguments[F]);}return G.fire.apply(G,B);},hasEvent:function(A){if(this.__yui_events){if(this.__yui_events[A]){return true;}}return false;}};YAHOO.util.KeyListener=function(A,F,B,C){if(!A){}else{if(!F){}else{if(!B){}}}if(!C){C=YAHOO.util.KeyListener.KEYDOWN;}var D=new YAHOO.util.CustomEvent("keyPressed");this.enabledEvent=new YAHOO.util.CustomEvent("enabled");this.disabledEvent=new YAHOO.util.CustomEvent("disabled");if(typeof A=="string"){A=document.getElementById(A);}if(typeof B=="function"){D.subscribe(B);}else{D.subscribe(B.fn,B.scope,B.correctScope);}function E(J,I){if(!F.shift){F.shift=false;}if(!F.alt){F.alt=false;}if(!F.ctrl){F.ctrl=false;}if(J.shiftKey==F.shift&&J.altKey==F.alt&&J.ctrlKey==F.ctrl){var G;if(F.keys instanceof Array){for(var H=0;H<F.keys.length;H++){G=F.keys[H];if(G==J.charCode){D.fire(J.charCode,J);break;}else{if(G==J.keyCode){D.fire(J.keyCode,J);break;}}}}else{G=F.keys;if(G==J.charCode){D.fire(J.charCode,J);}else{if(G==J.keyCode){D.fire(J.keyCode,J);}}}}}this.enable=function(){if(!this.enabled){YAHOO.util.Event.addListener(A,C,E);this.enabledEvent.fire(F);}this.enabled=true;};this.disable=function(){if(this.enabled){YAHOO.util.Event.removeListener(A,C,E);this.disabledEvent.fire(F);}this.enabled=false;};this.toString=function(){return"KeyListener ["+F.keys+"] "+A.tagName+(A.id?"["+A.id+"]":"");};};YAHOO.util.KeyListener.KEYDOWN="keydown";YAHOO.util.KeyListener.KEYUP="keyup";YAHOO.util.KeyListener.KEY={ALT:18,BACK_SPACE:8,CAPS_LOCK:20,CONTROL:17,DELETE:46,DOWN:40,END:35,ENTER:13,ESCAPE:27,HOME:36,LEFT:37,META:224,NUM_LOCK:144,PAGE_DOWN:34,PAGE_UP:33,PAUSE:19,PRINTSCREEN:44,RIGHT:39,SCROLL_LOCK:145,SHIFT:16,SPACE:32,TAB:9,UP:38};YAHOO.register("event",YAHOO.util.Event,{version:"2.5.1",build:"984"});YAHOO.util.Connect={_msxml_progid:["Microsoft.XMLHTTP","MSXML2.XMLHTTP.3.0","MSXML2.XMLHTTP"],_http_headers:{},_has_http_headers:false,_use_default_post_header:true,_default_post_header:"application/x-www-form-urlencoded; charset=UTF-8",_default_form_header:"application/x-www-form-urlencoded",_use_default_xhr_header:true,_default_xhr_header:"XMLHttpRequest",_has_default_headers:true,_default_headers:{},_isFormSubmit:false,_isFileUpload:false,_formNode:null,_sFormData:null,_poll:{},_timeOut:{},_polling_interval:50,_transaction_id:0,_submitElementValue:null,_hasSubmitListener:(function(){if(YAHOO.util.Event){YAHOO.util.Event.addListener(document,"click",function(B){var A=YAHOO.util.Event.getTarget(B);if(A.nodeName.toLowerCase()=="input"&&(A.type&&A.type.toLowerCase()=="submit")){YAHOO.util.Connect._submitElementValue=encodeURIComponent(A.name)+"="+encodeURIComponent(A.value);}});return true;}return false;})(),startEvent:new YAHOO.util.CustomEvent("start"),completeEvent:new YAHOO.util.CustomEvent("complete"),successEvent:new YAHOO.util.CustomEvent("success"),failureEvent:new YAHOO.util.CustomEvent("failure"),uploadEvent:new YAHOO.util.CustomEvent("upload"),abortEvent:new YAHOO.util.CustomEvent("abort"),_customEvents:{onStart:["startEvent","start"],onComplete:["completeEvent","complete"],onSuccess:["successEvent","success"],onFailure:["failureEvent","failure"],onUpload:["uploadEvent","upload"],onAbort:["abortEvent","abort"]},setProgId:function(A){this._msxml_progid.unshift(A);},setDefaultPostHeader:function(A){if(typeof A=="string"){this._default_post_header=A;}else{if(typeof A=="boolean"){this._use_default_post_header=A;}}},setDefaultXhrHeader:function(A){if(typeof A=="string"){this._default_xhr_header=A;}else{this._use_default_xhr_header=A;}},setPollingInterval:function(A){if(typeof A=="number"&&isFinite(A)){this._polling_interval=A;}},createXhrObject:function(E){var D,A;try{A=new XMLHttpRequest();D={conn:A,tId:E};}catch(C){for(var B=0;B<this._msxml_progid.length;++B){try{A=new ActiveXObject(this._msxml_progid[B]);D={conn:A,tId:E};break;}catch(C){}}}finally{return D;}},getConnectionObject:function(A){var C;var D=this._transaction_id;try{if(!A){C=this.createXhrObject(D);}else{C={};C.tId=D;C.isUpload=true;}if(C){this._transaction_id++;}}catch(B){}finally{return C;}},asyncRequest:function(F,C,E,A){var D=(this._isFileUpload)?this.getConnectionObject(true):this.getConnectionObject();var B=(E&&E.argument)?E.argument:null;if(!D){return null;}else{if(E&&E.customevents){this.initCustomEvents(D,E);}if(this._isFormSubmit){if(this._isFileUpload){this.uploadFile(D,E,C,A);return D;}if(F.toUpperCase()=="GET"){if(this._sFormData.length!==0){C+=((C.indexOf("?")==-1)?"?":"&")+this._sFormData;}}else{if(F.toUpperCase()=="POST"){A=A?this._sFormData+"&"+A:this._sFormData;}}}if(F.toUpperCase()=="GET"&&(E&&E.cache===false)){C+=((C.indexOf("?")==-1)?"?":"&")+"rnd="+new Date().valueOf().toString();}D.conn.open(F,C,true);if(this._use_default_xhr_header){if(!this._default_headers["X-Requested-With"]){this.initHeader("X-Requested-With",this._default_xhr_header,true);}}if((F.toUpperCase()=="POST"&&this._use_default_post_header)&&this._isFormSubmit===false){this.initHeader("Content-Type",this._default_post_header);}if(this._has_default_headers||this._has_http_headers){this.setHeader(D);}this.handleReadyState(D,E);D.conn.send(A||"");if(this._isFormSubmit===true){this.resetFormState();}this.startEvent.fire(D,B);if(D.startEvent){D.startEvent.fire(D,B);}return D;}},initCustomEvents:function(A,C){for(var B in C.customevents){if(this._customEvents[B][0]){A[this._customEvents[B][0]]=new YAHOO.util.CustomEvent(this._customEvents[B][1],(C.scope)?C.scope:null);A[this._customEvents[B][0]].subscribe(C.customevents[B]);}}},handleReadyState:function(C,D){var B=this;var A=(D&&D.argument)?D.argument:null;if(D&&D.timeout){this._timeOut[C.tId]=window.setTimeout(function(){B.abort(C,D,true);},D.timeout);}this._poll[C.tId]=window.setInterval(function(){if(C.conn&&C.conn.readyState===4){window.clearInterval(B._poll[C.tId]);delete B._poll[C.tId];if(D&&D.timeout){window.clearTimeout(B._timeOut[C.tId]);delete B._timeOut[C.tId];}B.completeEvent.fire(C,A);if(C.completeEvent){C.completeEvent.fire(C,A);}B.handleTransactionResponse(C,D);}},this._polling_interval);},handleTransactionResponse:function(F,G,A){var D,C;var B=(G&&G.argument)?G.argument:null;try{if(F.conn.status!==undefined&&F.conn.status!==0){D=F.conn.status;}else{D=13030;}}catch(E){D=13030;}if(D>=200&&D<300||D===1223){C=this.createResponseObject(F,B);if(G&&G.success){if(!G.scope){G.success(C);}else{G.success.apply(G.scope,[C]);}}this.successEvent.fire(C);if(F.successEvent){F.successEvent.fire(C);}}else{switch(D){case 12002:case 12029:case 12030:case 12031:case 12152:case 13030:C=this.createExceptionObject(F.tId,B,(A?A:false));if(G&&G.failure){if(!G.scope){G.failure(C);}else{G.failure.apply(G.scope,[C]);}}break;default:C=this.createResponseObject(F,B);if(G&&G.failure){if(!G.scope){G.failure(C);}else{G.failure.apply(G.scope,[C]);}}}this.failureEvent.fire(C);if(F.failureEvent){F.failureEvent.fire(C);}}this.releaseObject(F);C=null;},createResponseObject:function(A,G){var D={};var I={};try{var C=A.conn.getAllResponseHeaders();var F=C.split("\n");for(var E=0;E<F.length;E++){var B=F[E].indexOf(":");if(B!=-1){I[F[E].substring(0,B)]=F[E].substring(B+2);}}}catch(H){}D.tId=A.tId;D.status=(A.conn.status==1223)?204:A.conn.status;D.statusText=(A.conn.status==1223)?"No Content":A.conn.statusText;D.getResponseHeader=I;D.getAllResponseHeaders=C;D.responseText=A.conn.responseText;D.responseXML=A.conn.responseXML;if(G){D.argument=G;}return D;},createExceptionObject:function(H,D,A){var F=0;var G="communication failure";var C=-1;var B="transaction aborted";var E={};E.tId=H;if(A){E.status=C;E.statusText=B;}else{E.status=F;E.statusText=G;}if(D){E.argument=D;}return E;},initHeader:function(A,D,C){var B=(C)?this._default_headers:this._http_headers;B[A]=D;if(C){this._has_default_headers=true;}else{this._has_http_headers=true;
-}},setHeader:function(A){if(this._has_default_headers){for(var B in this._default_headers){if(YAHOO.lang.hasOwnProperty(this._default_headers,B)){A.conn.setRequestHeader(B,this._default_headers[B]);}}}if(this._has_http_headers){for(var B in this._http_headers){if(YAHOO.lang.hasOwnProperty(this._http_headers,B)){A.conn.setRequestHeader(B,this._http_headers[B]);}}delete this._http_headers;this._http_headers={};this._has_http_headers=false;}},resetDefaultHeaders:function(){delete this._default_headers;this._default_headers={};this._has_default_headers=false;},setForm:function(K,E,B){this.resetFormState();var J;if(typeof K=="string"){J=(document.getElementById(K)||document.forms[K]);}else{if(typeof K=="object"){J=K;}else{return ;}}if(E){var F=this.createFrame((window.location.href.toLowerCase().indexOf("https")===0||B)?true:false);this._isFormSubmit=true;this._isFileUpload=true;this._formNode=J;return ;}var A,I,G,L;var H=false;for(var D=0;D<J.elements.length;D++){A=J.elements[D];L=A.disabled;I=A.name;G=A.value;if(!L&&I){switch(A.type){case"select-one":case"select-multiple":for(var C=0;C<A.options.length;C++){if(A.options[C].selected){if(window.ActiveXObject){this._sFormData+=encodeURIComponent(I)+"="+encodeURIComponent(A.options[C].attributes["value"].specified?A.options[C].value:A.options[C].text)+"&";}else{this._sFormData+=encodeURIComponent(I)+"="+encodeURIComponent(A.options[C].hasAttribute("value")?A.options[C].value:A.options[C].text)+"&";}}}break;case"radio":case"checkbox":if(A.checked){this._sFormData+=encodeURIComponent(I)+"="+encodeURIComponent(G)+"&";}break;case"file":case undefined:case"reset":case"button":break;case"submit":if(H===false){if(this._hasSubmitListener&&this._submitElementValue){this._sFormData+=this._submitElementValue+"&";}else{this._sFormData+=encodeURIComponent(I)+"="+encodeURIComponent(G)+"&";}H=true;}break;default:this._sFormData+=encodeURIComponent(I)+"="+encodeURIComponent(G)+"&";}}}this._isFormSubmit=true;this._sFormData=this._sFormData.substr(0,this._sFormData.length-1);this.initHeader("Content-Type",this._default_form_header);return this._sFormData;},resetFormState:function(){this._isFormSubmit=false;this._isFileUpload=false;this._formNode=null;this._sFormData="";},createFrame:function(A){var B="yuiIO"+this._transaction_id;var C;if(window.ActiveXObject){C=document.createElement("<iframe id=\""+B+"\" name=\""+B+"\" />");if(typeof A=="boolean"){C.src="javascript:false";}}else{C=document.createElement("iframe");C.id=B;C.name=B;}C.style.position="absolute";C.style.top="-1000px";C.style.left="-1000px";document.body.appendChild(C);},appendPostData:function(A){var D=[];var B=A.split("&");for(var C=0;C<B.length;C++){var E=B[C].indexOf("=");if(E!=-1){D[C]=document.createElement("input");D[C].type="hidden";D[C].name=B[C].substring(0,E);D[C].value=B[C].substring(E+1);this._formNode.appendChild(D[C]);}}return D;},uploadFile:function(D,M,E,C){var N=this;var H="yuiIO"+D.tId;var I="multipart/form-data";var K=document.getElementById(H);var J=(M&&M.argument)?M.argument:null;var B={action:this._formNode.getAttribute("action"),method:this._formNode.getAttribute("method"),target:this._formNode.getAttribute("target")};this._formNode.setAttribute("action",E);this._formNode.setAttribute("method","POST");this._formNode.setAttribute("target",H);if(this._formNode.encoding){this._formNode.setAttribute("encoding",I);}else{this._formNode.setAttribute("enctype",I);}if(C){var L=this.appendPostData(C);}this._formNode.submit();this.startEvent.fire(D,J);if(D.startEvent){D.startEvent.fire(D,J);}if(M&&M.timeout){this._timeOut[D.tId]=window.setTimeout(function(){N.abort(D,M,true);},M.timeout);}if(L&&L.length>0){for(var G=0;G<L.length;G++){this._formNode.removeChild(L[G]);}}for(var A in B){if(YAHOO.lang.hasOwnProperty(B,A)){if(B[A]){this._formNode.setAttribute(A,B[A]);}else{this._formNode.removeAttribute(A);}}}this.resetFormState();var F=function(){if(M&&M.timeout){window.clearTimeout(N._timeOut[D.tId]);delete N._timeOut[D.tId];}N.completeEvent.fire(D,J);if(D.completeEvent){D.completeEvent.fire(D,J);}var P={};P.tId=D.tId;P.argument=M.argument;try{P.responseText=K.contentWindow.document.body?K.contentWindow.document.body.innerHTML:K.contentWindow.document.documentElement.textContent;P.responseXML=K.contentWindow.document.XMLDocument?K.contentWindow.document.XMLDocument:K.contentWindow.document;}catch(O){}if(M&&M.upload){if(!M.scope){M.upload(P);}else{M.upload.apply(M.scope,[P]);}}N.uploadEvent.fire(P);if(D.uploadEvent){D.uploadEvent.fire(P);}YAHOO.util.Event.removeListener(K,"load",F);setTimeout(function(){document.body.removeChild(K);N.releaseObject(D);},100);};YAHOO.util.Event.addListener(K,"load",F);},abort:function(E,G,A){var D;var B=(G&&G.argument)?G.argument:null;if(E&&E.conn){if(this.isCallInProgress(E)){E.conn.abort();window.clearInterval(this._poll[E.tId]);delete this._poll[E.tId];if(A){window.clearTimeout(this._timeOut[E.tId]);delete this._timeOut[E.tId];}D=true;}}else{if(E&&E.isUpload===true){var C="yuiIO"+E.tId;var F=document.getElementById(C);if(F){YAHOO.util.Event.removeListener(F,"load");document.body.removeChild(F);if(A){window.clearTimeout(this._timeOut[E.tId]);delete this._timeOut[E.tId];}D=true;}}else{D=false;}}if(D===true){this.abortEvent.fire(E,B);if(E.abortEvent){E.abortEvent.fire(E,B);}this.handleTransactionResponse(E,G,true);}return D;},isCallInProgress:function(B){if(B&&B.conn){return B.conn.readyState!==4&&B.conn.readyState!==0;}else{if(B&&B.isUpload===true){var A="yuiIO"+B.tId;return document.getElementById(A)?true:false;}else{return false;}}},releaseObject:function(A){if(A&&A.conn){A.conn=null;A=null;}}};YAHOO.register("connection",YAHOO.util.Connect,{version:"2.5.1",build:"984"});(function(){var B=YAHOO.util;var A=function(D,C,E,F){if(!D){}this.init(D,C,E,F);};A.NAME="Anim";A.prototype={toString:function(){var C=this.getEl()||{};var D=C.id||C.tagName;return(this.constructor.NAME+": "+D);},patterns:{noNegatives:/width|height|opacity|padding/i,offsetAttribute:/^((width|height)|(top|left))$/,defaultUnit:/width|height|top$|bottom$|left$|right$/i,offsetUnit:/\d+(em|%|en|ex|pt|in|cm|mm|pc)$/i},doMethod:function(C,E,D){return this.method(this.currentFrame,E,D-E,this.totalFrames);},setAttribute:function(C,E,D){if(this.patterns.noNegatives.test(C)){E=(E>0)?E:0;}B.Dom.setStyle(this.getEl(),C,E+D);},getAttribute:function(C){var E=this.getEl();var G=B.Dom.getStyle(E,C);if(G!=="auto"&&!this.patterns.offsetUnit.test(G)){return parseFloat(G);}var D=this.patterns.offsetAttribute.exec(C)||[];var H=!!(D[3]);var F=!!(D[2]);if(F||(B.Dom.getStyle(E,"position")=="absolute"&&H)){G=E["offset"+D[0].charAt(0).toUpperCase()+D[0].substr(1)];}else{G=0;}return G;},getDefaultUnit:function(C){if(this.patterns.defaultUnit.test(C)){return"px";}return"";},setRuntimeAttribute:function(D){var I;var E;var F=this.attributes;this.runtimeAttributes[D]={};var H=function(J){return(typeof J!=="undefined");};if(!H(F[D]["to"])&&!H(F[D]["by"])){return false;}I=(H(F[D]["from"]))?F[D]["from"]:this.getAttribute(D);if(H(F[D]["to"])){E=F[D]["to"];}else{if(H(F[D]["by"])){if(I.constructor==Array){E=[];for(var G=0,C=I.length;G<C;++G){E[G]=I[G]+F[D]["by"][G]*1;}}else{E=I+F[D]["by"]*1;}}}this.runtimeAttributes[D].start=I;this.runtimeAttributes[D].end=E;this.runtimeAttributes[D].unit=(H(F[D].unit))?F[D]["unit"]:this.getDefaultUnit(D);return true;},init:function(E,J,I,C){var D=false;var F=null;var H=0;E=B.Dom.get(E);this.attributes=J||{};this.duration=!YAHOO.lang.isUndefined(I)?I:1;this.method=C||B.Easing.easeNone;this.useSeconds=true;this.currentFrame=0;this.totalFrames=B.AnimMgr.fps;this.setEl=function(M){E=B.Dom.get(M);};this.getEl=function(){return E;};this.isAnimated=function(){return D;};this.getStartTime=function(){return F;};this.runtimeAttributes={};this.animate=function(){if(this.isAnimated()){return false;}this.currentFrame=0;this.totalFrames=(this.useSeconds)?Math.ceil(B.AnimMgr.fps*this.duration):this.duration;if(this.duration===0&&this.useSeconds){this.totalFrames=1;}B.AnimMgr.registerElement(this);return true;};this.stop=function(M){if(!this.isAnimated()){return false;}if(M){this.currentFrame=this.totalFrames;this._onTween.fire();}B.AnimMgr.stop(this);};var L=function(){this.onStart.fire();this.runtimeAttributes={};for(var M in this.attributes){this.setRuntimeAttribute(M);}D=true;H=0;F=new Date();};var K=function(){var O={duration:new Date()-this.getStartTime(),currentFrame:this.currentFrame};O.toString=function(){return("duration: "+O.duration+", currentFrame: "+O.currentFrame);};this.onTween.fire(O);var N=this.runtimeAttributes;for(var M in N){this.setAttribute(M,this.doMethod(M,N[M].start,N[M].end),N[M].unit);}H+=1;};var G=function(){var M=(new Date()-F)/1000;var N={duration:M,frames:H,fps:H/M};N.toString=function(){return("duration: "+N.duration+", frames: "+N.frames+", fps: "+N.fps);};D=false;H=0;this.onComplete.fire(N);};this._onStart=new B.CustomEvent("_start",this,true);this.onStart=new B.CustomEvent("start",this);this.onTween=new B.CustomEvent("tween",this);this._onTween=new B.CustomEvent("_tween",this,true);this.onComplete=new B.CustomEvent("complete",this);this._onComplete=new B.CustomEvent("_complete",this,true);this._onStart.subscribe(L);this._onTween.subscribe(K);this._onComplete.subscribe(G);}};B.Anim=A;})();YAHOO.util.AnimMgr=new function(){var C=null;var B=[];var A=0;this.fps=1000;this.delay=1;this.registerElement=function(F){B[B.length]=F;A+=1;F._onStart.fire();this.start();};this.unRegister=function(G,F){F=F||E(G);if(!G.isAnimated()||F==-1){return false;}G._onComplete.fire();B.splice(F,1);A-=1;if(A<=0){this.stop();}return true;};this.start=function(){if(C===null){C=setInterval(this.run,this.delay);}};this.stop=function(H){if(!H){clearInterval(C);for(var G=0,F=B.length;G<F;++G){this.unRegister(B[0],0);}B=[];C=null;A=0;}else{this.unRegister(H);}};this.run=function(){for(var H=0,F=B.length;H<F;++H){var G=B[H];if(!G||!G.isAnimated()){continue;}if(G.currentFrame<G.totalFrames||G.totalFrames===null){G.currentFrame+=1;if(G.useSeconds){D(G);}G._onTween.fire();}else{YAHOO.util.AnimMgr.stop(G,H);}}};var E=function(H){for(var G=0,F=B.length;G<F;++G){if(B[G]==H){return G;}}return -1;};var D=function(G){var J=G.totalFrames;var I=G.currentFrame;var H=(G.currentFrame*G.duration*1000/G.totalFrames);var F=(new Date()-G.getStartTime());var K=0;if(F<G.duration*1000){K=Math.round((F/H-1)*G.currentFrame);}else{K=J-(I+1);}if(K>0&&isFinite(K)){if(G.currentFrame+K>=J){K=J-(I+1);}G.currentFrame+=K;}};};YAHOO.util.Bezier=new function(){this.getPosition=function(E,D){var F=E.length;var C=[];for(var B=0;B<F;++B){C[B]=[E[B][0],E[B][1]];}for(var A=1;A<F;++A){for(B=0;B<F-A;++B){C[B][0]=(1-D)*C[B][0]+D*C[parseInt(B+1,10)][0];C[B][1]=(1-D)*C[B][1]+D*C[parseInt(B+1,10)][1];}}return[C[0][0],C[0][1]];};};(function(){var A=function(F,E,G,H){A.superclass.constructor.call(this,F,E,G,H);};A.NAME="ColorAnim";var C=YAHOO.util;YAHOO.extend(A,C.Anim);var D=A.superclass;var B=A.prototype;B.patterns.color=/color$/i;B.patterns.rgb=/^rgb\(([0-9]+)\s*,\s*([0-9]+)\s*,\s*([0-9]+)\)$/i;B.patterns.hex=/^#?([0-9A-F]{2})([0-9A-F]{2})([0-9A-F]{2})$/i;B.patterns.hex3=/^#?([0-9A-F]{1})([0-9A-F]{1})([0-9A-F]{1})$/i;B.patterns.transparent=/^transparent|rgba\(0, 0, 0, 0\)$/;B.parseColor=function(E){if(E.length==3){return E;}var F=this.patterns.hex.exec(E);if(F&&F.length==4){return[parseInt(F[1],16),parseInt(F[2],16),parseInt(F[3],16)];}F=this.patterns.rgb.exec(E);if(F&&F.length==4){return[parseInt(F[1],10),parseInt(F[2],10),parseInt(F[3],10)];}F=this.patterns.hex3.exec(E);if(F&&F.length==4){return[parseInt(F[1]+F[1],16),parseInt(F[2]+F[2],16),parseInt(F[3]+F[3],16)];}return null;};B.getAttribute=function(E){var G=this.getEl();if(this.patterns.color.test(E)){var H=YAHOO.util.Dom.getStyle(G,E);
-if(this.patterns.transparent.test(H)){var F=G.parentNode;H=C.Dom.getStyle(F,E);while(F&&this.patterns.transparent.test(H)){F=F.parentNode;H=C.Dom.getStyle(F,E);if(F.tagName.toUpperCase()=="HTML"){H="#fff";}}}}else{H=D.getAttribute.call(this,E);}return H;};B.doMethod=function(F,J,G){var I;if(this.patterns.color.test(F)){I=[];for(var H=0,E=J.length;H<E;++H){I[H]=D.doMethod.call(this,F,J[H],G[H]);}I="rgb("+Math.floor(I[0])+","+Math.floor(I[1])+","+Math.floor(I[2])+")";}else{I=D.doMethod.call(this,F,J,G);}return I;};B.setRuntimeAttribute=function(F){D.setRuntimeAttribute.call(this,F);if(this.patterns.color.test(F)){var H=this.attributes;var J=this.parseColor(this.runtimeAttributes[F].start);var G=this.parseColor(this.runtimeAttributes[F].end);if(typeof H[F]["to"]==="undefined"&&typeof H[F]["by"]!=="undefined"){G=this.parseColor(H[F].by);for(var I=0,E=J.length;I<E;++I){G[I]=J[I]+G[I];}}this.runtimeAttributes[F].start=J;this.runtimeAttributes[F].end=G;}};C.ColorAnim=A;})();
-/*
-TERMS OF USE - EASING EQUATIONS
-Open source under the BSD License.
-Copyright 2001 Robert Penner All rights reserved.
-
-Redistribution and use 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 the author nor the names of contributors may be used to endorse or promote products derived from this software without specific prior written permission.
-
-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.
-*/
-YAHOO.util.Easing={easeNone:function(B,A,D,C){return D*B/C+A;},easeIn:function(B,A,D,C){return D*(B/=C)*B+A;},easeOut:function(B,A,D,C){return -D*(B/=C)*(B-2)+A;},easeBoth:function(B,A,D,C){if((B/=C/2)<1){return D/2*B*B+A;}return -D/2*((--B)*(B-2)-1)+A;},easeInStrong:function(B,A,D,C){return D*(B/=C)*B*B*B+A;},easeOutStrong:function(B,A,D,C){return -D*((B=B/C-1)*B*B*B-1)+A;},easeBothStrong:function(B,A,D,C){if((B/=C/2)<1){return D/2*B*B*B*B+A;}return -D/2*((B-=2)*B*B*B-2)+A;},elasticIn:function(C,A,G,F,B,E){if(C==0){return A;}if((C/=F)==1){return A+G;}if(!E){E=F*0.3;}if(!B||B<Math.abs(G)){B=G;var D=E/4;}else{var D=E/(2*Math.PI)*Math.asin(G/B);}return -(B*Math.pow(2,10*(C-=1))*Math.sin((C*F-D)*(2*Math.PI)/E))+A;},elasticOut:function(C,A,G,F,B,E){if(C==0){return A;}if((C/=F)==1){return A+G;}if(!E){E=F*0.3;}if(!B||B<Math.abs(G)){B=G;var D=E/4;}else{var D=E/(2*Math.PI)*Math.asin(G/B);}return B*Math.pow(2,-10*C)*Math.sin((C*F-D)*(2*Math.PI)/E)+G+A;},elasticBoth:function(C,A,G,F,B,E){if(C==0){return A;}if((C/=F/2)==2){return A+G;}if(!E){E=F*(0.3*1.5);}if(!B||B<Math.abs(G)){B=G;var D=E/4;}else{var D=E/(2*Math.PI)*Math.asin(G/B);}if(C<1){return -0.5*(B*Math.pow(2,10*(C-=1))*Math.sin((C*F-D)*(2*Math.PI)/E))+A;}return B*Math.pow(2,-10*(C-=1))*Math.sin((C*F-D)*(2*Math.PI)/E)*0.5+G+A;},backIn:function(B,A,E,D,C){if(typeof C=="undefined"){C=1.70158;}return E*(B/=D)*B*((C+1)*B-C)+A;},backOut:function(B,A,E,D,C){if(typeof C=="undefined"){C=1.70158;}return E*((B=B/D-1)*B*((C+1)*B+C)+1)+A;},backBoth:function(B,A,E,D,C){if(typeof C=="undefined"){C=1.70158;}if((B/=D/2)<1){return E/2*(B*B*(((C*=(1.525))+1)*B-C))+A;}return E/2*((B-=2)*B*(((C*=(1.525))+1)*B+C)+2)+A;},bounceIn:function(B,A,D,C){return D-YAHOO.util.Easing.bounceOut(C-B,0,D,C)+A;},bounceOut:function(B,A,D,C){if((B/=C)<(1/2.75)){return D*(7.5625*B*B)+A;}else{if(B<(2/2.75)){return D*(7.5625*(B-=(1.5/2.75))*B+0.75)+A;}else{if(B<(2.5/2.75)){return D*(7.5625*(B-=(2.25/2.75))*B+0.9375)+A;}}}return D*(7.5625*(B-=(2.625/2.75))*B+0.984375)+A;},bounceBoth:function(B,A,D,C){if(B<C/2){return YAHOO.util.Easing.bounceIn(B*2,0,D,C)*0.5+A;}return YAHOO.util.Easing.bounceOut(B*2-C,0,D,C)*0.5+D*0.5+A;}};(function(){var A=function(H,G,I,J){if(H){A.superclass.constructor.call(this,H,G,I,J);}};A.NAME="Motion";var E=YAHOO.util;YAHOO.extend(A,E.ColorAnim);var F=A.superclass;var C=A.prototype;C.patterns.points=/^points$/i;C.setAttribute=function(G,I,H){if(this.patterns.points.test(G)){H=H||"px";F.setAttribute.call(this,"left",I[0],H);F.setAttribute.call(this,"top",I[1],H);}else{F.setAttribute.call(this,G,I,H);}};C.getAttribute=function(G){if(this.patterns.points.test(G)){var H=[F.getAttribute.call(this,"left"),F.getAttribute.call(this,"top")];}else{H=F.getAttribute.call(this,G);}return H;};C.doMethod=function(G,K,H){var J=null;if(this.patterns.points.test(G)){var I=this.method(this.currentFrame,0,100,this.totalFrames)/100;J=E.Bezier.getPosition(this.runtimeAttributes[G],I);}else{J=F.doMethod.call(this,G,K,H);}return J;};C.setRuntimeAttribute=function(P){if(this.patterns.points.test(P)){var H=this.getEl();var J=this.attributes;var G;var L=J["points"]["control"]||[];var I;var M,O;if(L.length>0&&!(L[0] instanceof Array)){L=[L];}else{var K=[];for(M=0,O=L.length;M<O;++M){K[M]=L[M];}L=K;}if(E.Dom.getStyle(H,"position")=="static"){E.Dom.setStyle(H,"position","relative");}if(D(J["points"]["from"])){E.Dom.setXY(H,J["points"]["from"]);}else{E.Dom.setXY(H,E.Dom.getXY(H));}G=this.getAttribute("points");if(D(J["points"]["to"])){I=B.call(this,J["points"]["to"],G);
-var N=E.Dom.getXY(this.getEl());for(M=0,O=L.length;M<O;++M){L[M]=B.call(this,L[M],G);}}else{if(D(J["points"]["by"])){I=[G[0]+J["points"]["by"][0],G[1]+J["points"]["by"][1]];for(M=0,O=L.length;M<O;++M){L[M]=[G[0]+L[M][0],G[1]+L[M][1]];}}}this.runtimeAttributes[P]=[G];if(L.length>0){this.runtimeAttributes[P]=this.runtimeAttributes[P].concat(L);}this.runtimeAttributes[P][this.runtimeAttributes[P].length]=I;}else{F.setRuntimeAttribute.call(this,P);}};var B=function(G,I){var H=E.Dom.getXY(this.getEl());G=[G[0]-H[0]+I[0],G[1]-H[1]+I[1]];return G;};var D=function(G){return(typeof G!=="undefined");};E.Motion=A;})();(function(){var D=function(F,E,G,H){if(F){D.superclass.constructor.call(this,F,E,G,H);}};D.NAME="Scroll";var B=YAHOO.util;YAHOO.extend(D,B.ColorAnim);var C=D.superclass;var A=D.prototype;A.doMethod=function(E,H,F){var G=null;if(E=="scroll"){G=[this.method(this.currentFrame,H[0],F[0]-H[0],this.totalFrames),this.method(this.currentFrame,H[1],F[1]-H[1],this.totalFrames)];}else{G=C.doMethod.call(this,E,H,F);}return G;};A.getAttribute=function(E){var G=null;var F=this.getEl();if(E=="scroll"){G=[F.scrollLeft,F.scrollTop];}else{G=C.getAttribute.call(this,E);}return G;};A.setAttribute=function(E,H,G){var F=this.getEl();if(E=="scroll"){F.scrollLeft=H[0];F.scrollTop=H[1];}else{C.setAttribute.call(this,E,H,G);}};B.Scroll=D;})();YAHOO.register("animation",YAHOO.util.Anim,{version:"2.5.1",build:"984"});if(!YAHOO.util.DragDropMgr){YAHOO.util.DragDropMgr=function(){var A=YAHOO.util.Event;return{ids:{},handleIds:{},dragCurrent:null,dragOvers:{},deltaX:0,deltaY:0,preventDefault:true,stopPropagation:true,initialized:false,locked:false,interactionInfo:null,init:function(){this.initialized=true;},POINT:0,INTERSECT:1,STRICT_INTERSECT:2,mode:0,_execOnAll:function(D,C){for(var E in this.ids){for(var B in this.ids[E]){var F=this.ids[E][B];if(!this.isTypeOfDD(F)){continue;}F[D].apply(F,C);}}},_onLoad:function(){this.init();A.on(document,"mouseup",this.handleMouseUp,this,true);A.on(document,"mousemove",this.handleMouseMove,this,true);A.on(window,"unload",this._onUnload,this,true);A.on(window,"resize",this._onResize,this,true);},_onResize:function(B){this._execOnAll("resetConstraints",[]);},lock:function(){this.locked=true;},unlock:function(){this.locked=false;},isLocked:function(){return this.locked;},locationCache:{},useCache:true,clickPixelThresh:3,clickTimeThresh:1000,dragThreshMet:false,clickTimeout:null,startX:0,startY:0,fromTimeout:false,regDragDrop:function(C,B){if(!this.initialized){this.init();}if(!this.ids[B]){this.ids[B]={};}this.ids[B][C.id]=C;},removeDDFromGroup:function(D,B){if(!this.ids[B]){this.ids[B]={};}var C=this.ids[B];if(C&&C[D.id]){delete C[D.id];}},_remove:function(C){for(var B in C.groups){if(B&&this.ids[B][C.id]){delete this.ids[B][C.id];}}delete this.handleIds[C.id];},regHandle:function(C,B){if(!this.handleIds[C]){this.handleIds[C]={};}this.handleIds[C][B]=B;},isDragDrop:function(B){return(this.getDDById(B))?true:false;},getRelated:function(G,C){var F=[];for(var E in G.groups){for(var D in this.ids[E]){var B=this.ids[E][D];if(!this.isTypeOfDD(B)){continue;}if(!C||B.isTarget){F[F.length]=B;}}}return F;},isLegalTarget:function(F,E){var C=this.getRelated(F,true);for(var D=0,B=C.length;D<B;++D){if(C[D].id==E.id){return true;}}return false;},isTypeOfDD:function(B){return(B&&B.__ygDragDrop);},isHandle:function(C,B){return(this.handleIds[C]&&this.handleIds[C][B]);},getDDById:function(C){for(var B in this.ids){if(this.ids[B][C]){return this.ids[B][C];}}return null;},handleMouseDown:function(D,C){this.currentTarget=YAHOO.util.Event.getTarget(D);this.dragCurrent=C;var B=C.getEl();this.startX=YAHOO.util.Event.getPageX(D);this.startY=YAHOO.util.Event.getPageY(D);this.deltaX=this.startX-B.offsetLeft;this.deltaY=this.startY-B.offsetTop;this.dragThreshMet=false;this.clickTimeout=setTimeout(function(){var E=YAHOO.util.DDM;E.startDrag(E.startX,E.startY);E.fromTimeout=true;},this.clickTimeThresh);},startDrag:function(B,D){clearTimeout(this.clickTimeout);var C=this.dragCurrent;if(C&&C.events.b4StartDrag){C.b4StartDrag(B,D);C.fireEvent("b4StartDragEvent",{x:B,y:D});}if(C&&C.events.startDrag){C.startDrag(B,D);C.fireEvent("startDragEvent",{x:B,y:D});}this.dragThreshMet=true;},handleMouseUp:function(B){if(this.dragCurrent){clearTimeout(this.clickTimeout);if(this.dragThreshMet){if(this.fromTimeout){this.handleMouseMove(B);}this.fromTimeout=false;this.fireEvents(B,true);}else{}this.stopDrag(B);this.stopEvent(B);}},stopEvent:function(B){if(this.stopPropagation){YAHOO.util.Event.stopPropagation(B);}if(this.preventDefault){YAHOO.util.Event.preventDefault(B);}},stopDrag:function(D,C){var B=this.dragCurrent;if(B&&!C){if(this.dragThreshMet){if(B.events.b4EndDrag){B.b4EndDrag(D);B.fireEvent("b4EndDragEvent",{e:D});}if(B.events.endDrag){B.endDrag(D);B.fireEvent("endDragEvent",{e:D});}}if(B.events.mouseUp){B.onMouseUp(D);B.fireEvent("mouseUpEvent",{e:D});}}this.dragCurrent=null;this.dragOvers={};},handleMouseMove:function(E){var B=this.dragCurrent;if(B){if(YAHOO.util.Event.isIE&&!E.button){this.stopEvent(E);return this.handleMouseUp(E);}else{if(E.clientX<0||E.clientY<0){}}if(!this.dragThreshMet){var D=Math.abs(this.startX-YAHOO.util.Event.getPageX(E));var C=Math.abs(this.startY-YAHOO.util.Event.getPageY(E));if(D>this.clickPixelThresh||C>this.clickPixelThresh){this.startDrag(this.startX,this.startY);}}if(this.dragThreshMet){if(B&&B.events.b4Drag){B.b4Drag(E);B.fireEvent("b4DragEvent",{e:E});}if(B&&B.events.drag){B.onDrag(E);B.fireEvent("dragEvent",{e:E});}if(B){this.fireEvents(E,false);}}this.stopEvent(E);}},fireEvents:function(U,K){var Z=this.dragCurrent;if(!Z||Z.isLocked()||Z.dragOnly){return ;}var M=YAHOO.util.Event.getPageX(U),L=YAHOO.util.Event.getPageY(U),O=new YAHOO.util.Point(M,L),J=Z.getTargetCoord(O.x,O.y),E=Z.getDragEl(),D=["out","over","drop","enter"],T=new YAHOO.util.Region(J.y,J.x+E.offsetWidth,J.y+E.offsetHeight,J.x),H=[],C={},P=[],a={outEvts:[],overEvts:[],dropEvts:[],enterEvts:[]};for(var R in this.dragOvers){var c=this.dragOvers[R];if(!this.isTypeOfDD(c)){continue;}if(!this.isOverTarget(O,c,this.mode,T)){a.outEvts.push(c);}H[R]=true;delete this.dragOvers[R];}for(var Q in Z.groups){if("string"!=typeof Q){continue;}for(R in this.ids[Q]){var F=this.ids[Q][R];if(!this.isTypeOfDD(F)){continue;}if(F.isTarget&&!F.isLocked()&&F!=Z){if(this.isOverTarget(O,F,this.mode,T)){C[Q]=true;if(K){a.dropEvts.push(F);}else{if(!H[F.id]){a.enterEvts.push(F);}else{a.overEvts.push(F);}this.dragOvers[F.id]=F;}}}}}this.interactionInfo={out:a.outEvts,enter:a.enterEvts,over:a.overEvts,drop:a.dropEvts,point:O,draggedRegion:T,sourceRegion:this.locationCache[Z.id],validDrop:K};for(var B in C){P.push(B);}if(K&&!a.dropEvts.length){this.interactionInfo.validDrop=false;if(Z.events.invalidDrop){Z.onInvalidDrop(U);Z.fireEvent("invalidDropEvent",{e:U});}}for(R=0;R<D.length;R++){var X=null;if(a[D[R]+"Evts"]){X=a[D[R]+"Evts"];}if(X&&X.length){var G=D[R].charAt(0).toUpperCase()+D[R].substr(1),W="onDrag"+G,I="b4Drag"+G,N="drag"+G+"Event",V="drag"+G;if(this.mode){if(Z.events[I]){Z[I](U,X,P);Z.fireEvent(I+"Event",{event:U,info:X,group:P});}if(Z.events[V]){Z[W](U,X,P);Z.fireEvent(N,{event:U,info:X,group:P});}}else{for(var Y=0,S=X.length;Y<S;++Y){if(Z.events[I]){Z[I](U,X[Y].id,P[0]);Z.fireEvent(I+"Event",{event:U,info:X[Y].id,group:P[0]});}if(Z.events[V]){Z[W](U,X[Y].id,P[0]);Z.fireEvent(N,{event:U,info:X[Y].id,group:P[0]});}}}}}},getBestMatch:function(D){var F=null;
-var C=D.length;if(C==1){F=D[0];}else{for(var E=0;E<C;++E){var B=D[E];if(this.mode==this.INTERSECT&&B.cursorIsOver){F=B;break;}else{if(!F||!F.overlap||(B.overlap&&F.overlap.getArea()<B.overlap.getArea())){F=B;}}}}return F;},refreshCache:function(C){var E=C||this.ids;for(var B in E){if("string"!=typeof B){continue;}for(var D in this.ids[B]){var F=this.ids[B][D];if(this.isTypeOfDD(F)){var G=this.getLocation(F);if(G){this.locationCache[F.id]=G;}else{delete this.locationCache[F.id];}}}}},verifyEl:function(C){try{if(C){var B=C.offsetParent;if(B){return true;}}}catch(D){}return false;},getLocation:function(G){if(!this.isTypeOfDD(G)){return null;}var E=G.getEl(),J,D,C,L,K,M,B,I,F;try{J=YAHOO.util.Dom.getXY(E);}catch(H){}if(!J){return null;}D=J[0];C=D+E.offsetWidth;L=J[1];K=L+E.offsetHeight;M=L-G.padding[0];B=C+G.padding[1];I=K+G.padding[2];F=D-G.padding[3];return new YAHOO.util.Region(M,B,I,F);},isOverTarget:function(J,B,D,E){var F=this.locationCache[B.id];if(!F||!this.useCache){F=this.getLocation(B);this.locationCache[B.id]=F;}if(!F){return false;}B.cursorIsOver=F.contains(J);var I=this.dragCurrent;if(!I||(!D&&!I.constrainX&&!I.constrainY)){return B.cursorIsOver;}B.overlap=null;if(!E){var G=I.getTargetCoord(J.x,J.y);var C=I.getDragEl();E=new YAHOO.util.Region(G.y,G.x+C.offsetWidth,G.y+C.offsetHeight,G.x);}var H=E.intersect(F);if(H){B.overlap=H;return(D)?true:B.cursorIsOver;}else{return false;}},_onUnload:function(C,B){this.unregAll();},unregAll:function(){if(this.dragCurrent){this.stopDrag();this.dragCurrent=null;}this._execOnAll("unreg",[]);this.ids={};},elementCache:{},getElWrapper:function(C){var B=this.elementCache[C];if(!B||!B.el){B=this.elementCache[C]=new this.ElementWrapper(YAHOO.util.Dom.get(C));}return B;},getElement:function(B){return YAHOO.util.Dom.get(B);},getCss:function(C){var B=YAHOO.util.Dom.get(C);return(B)?B.style:null;},ElementWrapper:function(B){this.el=B||null;this.id=this.el&&B.id;this.css=this.el&&B.style;},getPosX:function(B){return YAHOO.util.Dom.getX(B);},getPosY:function(B){return YAHOO.util.Dom.getY(B);},swapNode:function(D,B){if(D.swapNode){D.swapNode(B);}else{var E=B.parentNode;var C=B.nextSibling;if(C==D){E.insertBefore(D,B);}else{if(B==D.nextSibling){E.insertBefore(B,D);}else{D.parentNode.replaceChild(B,D);E.insertBefore(D,C);}}}},getScroll:function(){var D,B,E=document.documentElement,C=document.body;if(E&&(E.scrollTop||E.scrollLeft)){D=E.scrollTop;B=E.scrollLeft;}else{if(C){D=C.scrollTop;B=C.scrollLeft;}else{}}return{top:D,left:B};},getStyle:function(C,B){return YAHOO.util.Dom.getStyle(C,B);},getScrollTop:function(){return this.getScroll().top;},getScrollLeft:function(){return this.getScroll().left;},moveToEl:function(B,D){var C=YAHOO.util.Dom.getXY(D);YAHOO.util.Dom.setXY(B,C);},getClientHeight:function(){return YAHOO.util.Dom.getViewportHeight();},getClientWidth:function(){return YAHOO.util.Dom.getViewportWidth();},numericSort:function(C,B){return(C-B);},_timeoutCount:0,_addListeners:function(){var B=YAHOO.util.DDM;if(YAHOO.util.Event&&document){B._onLoad();}else{if(B._timeoutCount>2000){}else{setTimeout(B._addListeners,10);if(document&&document.body){B._timeoutCount+=1;}}}},handleWasClicked:function(B,D){if(this.isHandle(D,B.id)){return true;}else{var C=B.parentNode;while(C){if(this.isHandle(D,C.id)){return true;}else{C=C.parentNode;}}}return false;}};}();YAHOO.util.DDM=YAHOO.util.DragDropMgr;YAHOO.util.DDM._addListeners();}(function(){var A=YAHOO.util.Event;var B=YAHOO.util.Dom;YAHOO.util.DragDrop=function(E,C,D){if(E){this.init(E,C,D);}};YAHOO.util.DragDrop.prototype={events:null,on:function(){this.subscribe.apply(this,arguments);},id:null,config:null,dragElId:null,handleElId:null,invalidHandleTypes:null,invalidHandleIds:null,invalidHandleClasses:null,startPageX:0,startPageY:0,groups:null,locked:false,lock:function(){this.locked=true;},unlock:function(){this.locked=false;},isTarget:true,padding:null,dragOnly:false,_domRef:null,__ygDragDrop:true,constrainX:false,constrainY:false,minX:0,maxX:0,minY:0,maxY:0,deltaX:0,deltaY:0,maintainOffset:false,xTicks:null,yTicks:null,primaryButtonOnly:true,available:false,hasOuterHandles:false,cursorIsOver:false,overlap:null,b4StartDrag:function(C,D){},startDrag:function(C,D){},b4Drag:function(C){},onDrag:function(C){},onDragEnter:function(C,D){},b4DragOver:function(C){},onDragOver:function(C,D){},b4DragOut:function(C){},onDragOut:function(C,D){},b4DragDrop:function(C){},onDragDrop:function(C,D){},onInvalidDrop:function(C){},b4EndDrag:function(C){},endDrag:function(C){},b4MouseDown:function(C){},onMouseDown:function(C){},onMouseUp:function(C){},onAvailable:function(){},getEl:function(){if(!this._domRef){this._domRef=B.get(this.id);}return this._domRef;},getDragEl:function(){return B.get(this.dragElId);},init:function(F,C,D){this.initTarget(F,C,D);A.on(this._domRef||this.id,"mousedown",this.handleMouseDown,this,true);for(var E in this.events){this.createEvent(E+"Event");}},initTarget:function(E,C,D){this.config=D||{};this.events={};this.DDM=YAHOO.util.DDM;this.groups={};if(typeof E!=="string"){this._domRef=E;E=B.generateId(E);}this.id=E;this.addToGroup((C)?C:"default");this.handleElId=E;A.onAvailable(E,this.handleOnAvailable,this,true);this.setDragElId(E);this.invalidHandleTypes={A:"A"};this.invalidHandleIds={};this.invalidHandleClasses=[];this.applyConfig();},applyConfig:function(){this.events={mouseDown:true,b4MouseDown:true,mouseUp:true,b4StartDrag:true,startDrag:true,b4EndDrag:true,endDrag:true,drag:true,b4Drag:true,invalidDrop:true,b4DragOut:true,dragOut:true,dragEnter:true,b4DragOver:true,dragOver:true,b4DragDrop:true,dragDrop:true};if(this.config.events){for(var C in this.config.events){if(this.config.events[C]===false){this.events[C]=false;}}}this.padding=this.config.padding||[0,0,0,0];this.isTarget=(this.config.isTarget!==false);this.maintainOffset=(this.config.maintainOffset);this.primaryButtonOnly=(this.config.primaryButtonOnly!==false);this.dragOnly=((this.config.dragOnly===true)?true:false);},handleOnAvailable:function(){this.available=true;
-this.resetConstraints();this.onAvailable();},setPadding:function(E,C,F,D){if(!C&&0!==C){this.padding=[E,E,E,E];}else{if(!F&&0!==F){this.padding=[E,C,E,C];}else{this.padding=[E,C,F,D];}}},setInitPosition:function(F,E){var G=this.getEl();if(!this.DDM.verifyEl(G)){if(G&&G.style&&(G.style.display=="none")){}else{}return ;}var D=F||0;var C=E||0;var H=B.getXY(G);this.initPageX=H[0]-D;this.initPageY=H[1]-C;this.lastPageX=H[0];this.lastPageY=H[1];this.setStartPosition(H);},setStartPosition:function(D){var C=D||B.getXY(this.getEl());this.deltaSetXY=null;this.startPageX=C[0];this.startPageY=C[1];},addToGroup:function(C){this.groups[C]=true;this.DDM.regDragDrop(this,C);},removeFromGroup:function(C){if(this.groups[C]){delete this.groups[C];}this.DDM.removeDDFromGroup(this,C);},setDragElId:function(C){this.dragElId=C;},setHandleElId:function(C){if(typeof C!=="string"){C=B.generateId(C);}this.handleElId=C;this.DDM.regHandle(this.id,C);},setOuterHandleElId:function(C){if(typeof C!=="string"){C=B.generateId(C);}A.on(C,"mousedown",this.handleMouseDown,this,true);this.setHandleElId(C);this.hasOuterHandles=true;},unreg:function(){A.removeListener(this.id,"mousedown",this.handleMouseDown);this._domRef=null;this.DDM._remove(this);},isLocked:function(){return(this.DDM.isLocked()||this.locked);},handleMouseDown:function(H,G){var D=H.which||H.button;if(this.primaryButtonOnly&&D>1){return ;}if(this.isLocked()){return ;}var C=this.b4MouseDown(H);if(this.events.b4MouseDown){C=this.fireEvent("b4MouseDownEvent",H);}var E=this.onMouseDown(H);if(this.events.mouseDown){E=this.fireEvent("mouseDownEvent",H);}if((C===false)||(E===false)){return ;}this.DDM.refreshCache(this.groups);var F=new YAHOO.util.Point(A.getPageX(H),A.getPageY(H));if(!this.hasOuterHandles&&!this.DDM.isOverTarget(F,this)){}else{if(this.clickValidator(H)){this.setStartPosition();this.DDM.handleMouseDown(H,this);this.DDM.stopEvent(H);}else{}}},clickValidator:function(D){var C=YAHOO.util.Event.getTarget(D);return(this.isValidHandleChild(C)&&(this.id==this.handleElId||this.DDM.handleWasClicked(C,this.id)));},getTargetCoord:function(E,D){var C=E-this.deltaX;var F=D-this.deltaY;if(this.constrainX){if(C<this.minX){C=this.minX;}if(C>this.maxX){C=this.maxX;}}if(this.constrainY){if(F<this.minY){F=this.minY;}if(F>this.maxY){F=this.maxY;}}C=this.getTick(C,this.xTicks);F=this.getTick(F,this.yTicks);return{x:C,y:F};},addInvalidHandleType:function(C){var D=C.toUpperCase();this.invalidHandleTypes[D]=D;},addInvalidHandleId:function(C){if(typeof C!=="string"){C=B.generateId(C);}this.invalidHandleIds[C]=C;},addInvalidHandleClass:function(C){this.invalidHandleClasses.push(C);},removeInvalidHandleType:function(C){var D=C.toUpperCase();delete this.invalidHandleTypes[D];},removeInvalidHandleId:function(C){if(typeof C!=="string"){C=B.generateId(C);}delete this.invalidHandleIds[C];},removeInvalidHandleClass:function(D){for(var E=0,C=this.invalidHandleClasses.length;E<C;++E){if(this.invalidHandleClasses[E]==D){delete this.invalidHandleClasses[E];}}},isValidHandleChild:function(F){var E=true;var H;try{H=F.nodeName.toUpperCase();}catch(G){H=F.nodeName;}E=E&&!this.invalidHandleTypes[H];E=E&&!this.invalidHandleIds[F.id];for(var D=0,C=this.invalidHandleClasses.length;E&&D<C;++D){E=!B.hasClass(F,this.invalidHandleClasses[D]);}return E;},setXTicks:function(F,C){this.xTicks=[];this.xTickSize=C;var E={};for(var D=this.initPageX;D>=this.minX;D=D-C){if(!E[D]){this.xTicks[this.xTicks.length]=D;E[D]=true;}}for(D=this.initPageX;D<=this.maxX;D=D+C){if(!E[D]){this.xTicks[this.xTicks.length]=D;E[D]=true;}}this.xTicks.sort(this.DDM.numericSort);},setYTicks:function(F,C){this.yTicks=[];this.yTickSize=C;var E={};for(var D=this.initPageY;D>=this.minY;D=D-C){if(!E[D]){this.yTicks[this.yTicks.length]=D;E[D]=true;}}for(D=this.initPageY;D<=this.maxY;D=D+C){if(!E[D]){this.yTicks[this.yTicks.length]=D;E[D]=true;}}this.yTicks.sort(this.DDM.numericSort);},setXConstraint:function(E,D,C){this.leftConstraint=parseInt(E,10);this.rightConstraint=parseInt(D,10);this.minX=this.initPageX-this.leftConstraint;this.maxX=this.initPageX+this.rightConstraint;if(C){this.setXTicks(this.initPageX,C);}this.constrainX=true;},clearConstraints:function(){this.constrainX=false;this.constrainY=false;this.clearTicks();},clearTicks:function(){this.xTicks=null;this.yTicks=null;this.xTickSize=0;this.yTickSize=0;},setYConstraint:function(C,E,D){this.topConstraint=parseInt(C,10);this.bottomConstraint=parseInt(E,10);this.minY=this.initPageY-this.topConstraint;this.maxY=this.initPageY+this.bottomConstraint;if(D){this.setYTicks(this.initPageY,D);}this.constrainY=true;},resetConstraints:function(){if(this.initPageX||this.initPageX===0){var D=(this.maintainOffset)?this.lastPageX-this.initPageX:0;var C=(this.maintainOffset)?this.lastPageY-this.initPageY:0;this.setInitPosition(D,C);}else{this.setInitPosition();}if(this.constrainX){this.setXConstraint(this.leftConstraint,this.rightConstraint,this.xTickSize);}if(this.constrainY){this.setYConstraint(this.topConstraint,this.bottomConstraint,this.yTickSize);}},getTick:function(I,F){if(!F){return I;}else{if(F[0]>=I){return F[0];}else{for(var D=0,C=F.length;D<C;++D){var E=D+1;if(F[E]&&F[E]>=I){var H=I-F[D];var G=F[E]-I;return(G>H)?F[D]:F[E];}}return F[F.length-1];}}},toString:function(){return("DragDrop "+this.id);}};YAHOO.augment(YAHOO.util.DragDrop,YAHOO.util.EventProvider);})();YAHOO.util.DD=function(C,A,B){if(C){this.init(C,A,B);}};YAHOO.extend(YAHOO.util.DD,YAHOO.util.DragDrop,{scroll:true,autoOffset:function(C,B){var A=C-this.startPageX;var D=B-this.startPageY;this.setDelta(A,D);},setDelta:function(B,A){this.deltaX=B;this.deltaY=A;},setDragElPos:function(C,B){var A=this.getDragEl();this.alignElWithMouse(A,C,B);},alignElWithMouse:function(C,G,F){var E=this.getTargetCoord(G,F);if(!this.deltaSetXY){var H=[E.x,E.y];YAHOO.util.Dom.setXY(C,H);var D=parseInt(YAHOO.util.Dom.getStyle(C,"left"),10);var B=parseInt(YAHOO.util.Dom.getStyle(C,"top"),10);this.deltaSetXY=[D-E.x,B-E.y];}else{YAHOO.util.Dom.setStyle(C,"left",(E.x+this.deltaSetXY[0])+"px");
-YAHOO.util.Dom.setStyle(C,"top",(E.y+this.deltaSetXY[1])+"px");}this.cachePosition(E.x,E.y);var A=this;setTimeout(function(){A.autoScroll.call(A,E.x,E.y,C.offsetHeight,C.offsetWidth);},0);},cachePosition:function(B,A){if(B){this.lastPageX=B;this.lastPageY=A;}else{var C=YAHOO.util.Dom.getXY(this.getEl());this.lastPageX=C[0];this.lastPageY=C[1];}},autoScroll:function(J,I,E,K){if(this.scroll){var L=this.DDM.getClientHeight();var B=this.DDM.getClientWidth();var N=this.DDM.getScrollTop();var D=this.DDM.getScrollLeft();var H=E+I;var M=K+J;var G=(L+N-I-this.deltaY);var F=(B+D-J-this.deltaX);var C=40;var A=(document.all)?80:30;if(H>L&&G<C){window.scrollTo(D,N+A);}if(I<N&&N>0&&I-N<C){window.scrollTo(D,N-A);}if(M>B&&F<C){window.scrollTo(D+A,N);}if(J<D&&D>0&&J-D<C){window.scrollTo(D-A,N);}}},applyConfig:function(){YAHOO.util.DD.superclass.applyConfig.call(this);this.scroll=(this.config.scroll!==false);},b4MouseDown:function(A){this.setStartPosition();this.autoOffset(YAHOO.util.Event.getPageX(A),YAHOO.util.Event.getPageY(A));},b4Drag:function(A){this.setDragElPos(YAHOO.util.Event.getPageX(A),YAHOO.util.Event.getPageY(A));},toString:function(){return("DD "+this.id);}});YAHOO.util.DDProxy=function(C,A,B){if(C){this.init(C,A,B);this.initFrame();}};YAHOO.util.DDProxy.dragElId="ygddfdiv";YAHOO.extend(YAHOO.util.DDProxy,YAHOO.util.DD,{resizeFrame:true,centerFrame:false,createFrame:function(){var B=this,A=document.body;if(!A||!A.firstChild){setTimeout(function(){B.createFrame();},50);return ;}var G=this.getDragEl(),E=YAHOO.util.Dom;if(!G){G=document.createElement("div");G.id=this.dragElId;var D=G.style;D.position="absolute";D.visibility="hidden";D.cursor="move";D.border="2px solid #aaa";D.zIndex=999;D.height="25px";D.width="25px";var C=document.createElement("div");E.setStyle(C,"height","100%");E.setStyle(C,"width","100%");E.setStyle(C,"background-color","#ccc");E.setStyle(C,"opacity","0");G.appendChild(C);if(YAHOO.env.ua.ie){var F=document.createElement("iframe");F.setAttribute("src","about:blank");F.setAttribute("scrolling","no");F.setAttribute("frameborder","0");G.insertBefore(F,G.firstChild);E.setStyle(F,"height","100%");E.setStyle(F,"width","100%");E.setStyle(F,"position","absolute");E.setStyle(F,"top","0");E.setStyle(F,"left","0");E.setStyle(F,"opacity","0");E.setStyle(F,"zIndex","-1");E.setStyle(F.nextSibling,"zIndex","2");}A.insertBefore(G,A.firstChild);}},initFrame:function(){this.createFrame();},applyConfig:function(){YAHOO.util.DDProxy.superclass.applyConfig.call(this);this.resizeFrame=(this.config.resizeFrame!==false);this.centerFrame=(this.config.centerFrame);this.setDragElId(this.config.dragElId||YAHOO.util.DDProxy.dragElId);},showFrame:function(E,D){var C=this.getEl();var A=this.getDragEl();var B=A.style;this._resizeProxy();if(this.centerFrame){this.setDelta(Math.round(parseInt(B.width,10)/2),Math.round(parseInt(B.height,10)/2));}this.setDragElPos(E,D);YAHOO.util.Dom.setStyle(A,"visibility","visible");},_resizeProxy:function(){if(this.resizeFrame){var H=YAHOO.util.Dom;var B=this.getEl();var C=this.getDragEl();var G=parseInt(H.getStyle(C,"borderTopWidth"),10);var I=parseInt(H.getStyle(C,"borderRightWidth"),10);var F=parseInt(H.getStyle(C,"borderBottomWidth"),10);var D=parseInt(H.getStyle(C,"borderLeftWidth"),10);if(isNaN(G)){G=0;}if(isNaN(I)){I=0;}if(isNaN(F)){F=0;}if(isNaN(D)){D=0;}var E=Math.max(0,B.offsetWidth-I-D);var A=Math.max(0,B.offsetHeight-G-F);H.setStyle(C,"width",E+"px");H.setStyle(C,"height",A+"px");}},b4MouseDown:function(B){this.setStartPosition();var A=YAHOO.util.Event.getPageX(B);var C=YAHOO.util.Event.getPageY(B);this.autoOffset(A,C);},b4StartDrag:function(A,B){this.showFrame(A,B);},b4EndDrag:function(A){YAHOO.util.Dom.setStyle(this.getDragEl(),"visibility","hidden");},endDrag:function(D){var C=YAHOO.util.Dom;var B=this.getEl();var A=this.getDragEl();C.setStyle(A,"visibility","");C.setStyle(B,"visibility","hidden");YAHOO.util.DDM.moveToEl(B,A);C.setStyle(A,"visibility","hidden");C.setStyle(B,"visibility","");},toString:function(){return("DDProxy "+this.id);}});YAHOO.util.DDTarget=function(C,A,B){if(C){this.initTarget(C,A,B);}};YAHOO.extend(YAHOO.util.DDTarget,YAHOO.util.DragDrop,{toString:function(){return("DDTarget "+this.id);}});YAHOO.register("dragdrop",YAHOO.util.DragDropMgr,{version:"2.5.1",build:"984"});YAHOO.util.Attribute=function(B,A){if(A){this.owner=A;this.configure(B,true);}};YAHOO.util.Attribute.prototype={name:undefined,value:null,owner:null,readOnly:false,writeOnce:false,_initialConfig:null,_written:false,method:null,validator:null,getValue:function(){return this.value;},setValue:function(F,B){var E;var A=this.owner;var C=this.name;var D={type:C,prevValue:this.getValue(),newValue:F};if(this.readOnly||(this.writeOnce&&this._written)){return false;}if(this.validator&&!this.validator.call(A,F)){return false;}if(!B){E=A.fireBeforeChangeEvent(D);if(E===false){return false;}}if(this.method){this.method.call(A,F);}this.value=F;this._written=true;D.type=C;if(!B){this.owner.fireChangeEvent(D);}return true;},configure:function(B,C){B=B||{};this._written=false;this._initialConfig=this._initialConfig||{};for(var A in B){if(A&&YAHOO.lang.hasOwnProperty(B,A)){this[A]=B[A];if(C){this._initialConfig[A]=B[A];}}}},resetValue:function(){return this.setValue(this._initialConfig.value);},resetConfig:function(){this.configure(this._initialConfig);},refresh:function(A){this.setValue(this.value,A);}};(function(){var A=YAHOO.util.Lang;YAHOO.util.AttributeProvider=function(){};YAHOO.util.AttributeProvider.prototype={_configs:null,get:function(C){this._configs=this._configs||{};var B=this._configs[C];if(!B){return undefined;}return B.value;},set:function(D,E,B){this._configs=this._configs||{};var C=this._configs[D];if(!C){return false;}return C.setValue(E,B);},getAttributeKeys:function(){this._configs=this._configs;var D=[];var B;for(var C in this._configs){B=this._configs[C];if(A.hasOwnProperty(this._configs,C)&&!A.isUndefined(B)){D[D.length]=C;}}return D;},setAttributes:function(D,B){for(var C in D){if(A.hasOwnProperty(D,C)){this.set(C,D[C],B);}}},resetValue:function(C,B){this._configs=this._configs||{};if(this._configs[C]){this.set(C,this._configs[C]._initialConfig.value,B);return true;}return false;},refresh:function(E,C){this._configs=this._configs;E=((A.isString(E))?[E]:E)||this.getAttributeKeys();for(var D=0,B=E.length;D<B;++D){if(this._configs[E[D]]&&!A.isUndefined(this._configs[E[D]].value)&&!A.isNull(this._configs[E[D]].value)){this._configs[E[D]].refresh(C);}}},register:function(B,C){this.setAttributeConfig(B,C);},getAttributeConfig:function(C){this._configs=this._configs||{};var B=this._configs[C]||{};var D={};for(C in B){if(A.hasOwnProperty(B,C)){D[C]=B[C];}}return D;},setAttributeConfig:function(B,C,D){this._configs=this._configs||{};C=C||{};if(!this._configs[B]){C.name=B;this._configs[B]=this.createAttribute(C);}else{this._configs[B].configure(C,D);}},configureAttribute:function(B,C,D){this.setAttributeConfig(B,C,D);},resetAttributeConfig:function(B){this._configs=this._configs||{};this._configs[B].resetConfig();},subscribe:function(B,C){this._events=this._events||{};if(!(B in this._events)){this._events[B]=this.createEvent(B);}YAHOO.util.EventProvider.prototype.subscribe.apply(this,arguments);},on:function(){this.subscribe.apply(this,arguments);},addListener:function(){this.subscribe.apply(this,arguments);},fireBeforeChangeEvent:function(C){var B="before";B+=C.type.charAt(0).toUpperCase()+C.type.substr(1)+"Change";C.type=B;return this.fireEvent(C.type,C);},fireChangeEvent:function(B){B.type+="Change";return this.fireEvent(B.type,B);},createAttribute:function(B){return new YAHOO.util.Attribute(B,this);}};YAHOO.augment(YAHOO.util.AttributeProvider,YAHOO.util.EventProvider);})();(function(){var D=YAHOO.util.Dom,F=YAHOO.util.AttributeProvider;YAHOO.util.Element=function(G,H){if(arguments.length){this.init(G,H);}};YAHOO.util.Element.prototype={DOM_EVENTS:null,appendChild:function(G){G=G.get?G.get("element"):G;this.get("element").appendChild(G);},getElementsByTagName:function(G){return this.get("element").getElementsByTagName(G);},hasChildNodes:function(){return this.get("element").hasChildNodes();},insertBefore:function(G,H){G=G.get?G.get("element"):G;H=(H&&H.get)?H.get("element"):H;this.get("element").insertBefore(G,H);},removeChild:function(G){G=G.get?G.get("element"):G;this.get("element").removeChild(G);return true;},replaceChild:function(G,H){G=G.get?G.get("element"):G;H=H.get?H.get("element"):H;return this.get("element").replaceChild(G,H);},initAttributes:function(G){},addListener:function(K,J,L,I){var H=this.get("element");I=I||this;H=this.get("id")||H;var G=this;if(!this._events[K]){if(this.DOM_EVENTS[K]){YAHOO.util.Event.addListener(H,K,function(M){if(M.srcElement&&!M.target){M.target=M.srcElement;}G.fireEvent(K,M);},L,I);}this.createEvent(K,this);}YAHOO.util.EventProvider.prototype.subscribe.apply(this,arguments);},on:function(){this.addListener.apply(this,arguments);},subscribe:function(){this.addListener.apply(this,arguments);},removeListener:function(H,G){this.unsubscribe.apply(this,arguments);},addClass:function(G){D.addClass(this.get("element"),G);},getElementsByClassName:function(H,G){return D.getElementsByClassName(H,G,this.get("element"));},hasClass:function(G){return D.hasClass(this.get("element"),G);},removeClass:function(G){return D.removeClass(this.get("element"),G);},replaceClass:function(H,G){return D.replaceClass(this.get("element"),H,G);},setStyle:function(I,H){var G=this.get("element");if(!G){return this._queue[this._queue.length]=["setStyle",arguments];}return D.setStyle(G,I,H);},getStyle:function(G){return D.getStyle(this.get("element"),G);},fireQueue:function(){var H=this._queue;for(var I=0,G=H.length;I<G;++I){this[H[I][0]].apply(this,H[I][1]);}},appendTo:function(H,I){H=(H.get)?H.get("element"):D.get(H);this.fireEvent("beforeAppendTo",{type:"beforeAppendTo",target:H});I=(I&&I.get)?I.get("element"):D.get(I);var G=this.get("element");if(!G){return false;}if(!H){return false;}if(G.parent!=H){if(I){H.insertBefore(G,I);}else{H.appendChild(G);}}this.fireEvent("appendTo",{type:"appendTo",target:H});},get:function(G){var I=this._configs||{};var H=I.element;if(H&&!I[G]&&!YAHOO.lang.isUndefined(H.value[G])){return H.value[G];}return F.prototype.get.call(this,G);},setAttributes:function(L,H){var K=this.get("element");
-for(var J in L){if(!this._configs[J]&&!YAHOO.lang.isUndefined(K[J])){this.setAttributeConfig(J);}}for(var I=0,G=this._configOrder.length;I<G;++I){if(L[this._configOrder[I]]!==undefined){this.set(this._configOrder[I],L[this._configOrder[I]],H);}}},set:function(H,J,G){var I=this.get("element");if(!I){this._queue[this._queue.length]=["set",arguments];if(this._configs[H]){this._configs[H].value=J;}return ;}if(!this._configs[H]&&!YAHOO.lang.isUndefined(I[H])){C.call(this,H);}return F.prototype.set.apply(this,arguments);},setAttributeConfig:function(G,I,J){var H=this.get("element");if(H&&!this._configs[G]&&!YAHOO.lang.isUndefined(H[G])){C.call(this,G,I);}else{F.prototype.setAttributeConfig.apply(this,arguments);}this._configOrder.push(G);},getAttributeKeys:function(){var H=this.get("element");var I=F.prototype.getAttributeKeys.call(this);for(var G in H){if(!this._configs[G]){I[G]=I[G]||H[G];}}return I;},createEvent:function(H,G){this._events[H]=true;F.prototype.createEvent.apply(this,arguments);},init:function(H,G){A.apply(this,arguments);}};var A=function(H,G){this._queue=this._queue||[];this._events=this._events||{};this._configs=this._configs||{};this._configOrder=[];G=G||{};G.element=G.element||H||null;this.DOM_EVENTS={"click":true,"dblclick":true,"keydown":true,"keypress":true,"keyup":true,"mousedown":true,"mousemove":true,"mouseout":true,"mouseover":true,"mouseup":true,"focus":true,"blur":true,"submit":true};var I=false;if(YAHOO.lang.isString(H)){C.call(this,"id",{value:G.element});}if(D.get(H)){I=true;E.call(this,G);B.call(this,G);}YAHOO.util.Event.onAvailable(G.element,function(){if(!I){E.call(this,G);}this.fireEvent("available",{type:"available",target:G.element});},this,true);YAHOO.util.Event.onContentReady(G.element,function(){if(!I){B.call(this,G);}this.fireEvent("contentReady",{type:"contentReady",target:G.element});},this,true);};var E=function(G){this.setAttributeConfig("element",{value:D.get(G.element),readOnly:true});};var B=function(G){this.initAttributes(G);this.setAttributes(G,true);this.fireQueue();};var C=function(G,I){var H=this.get("element");I=I||{};I.name=G;I.method=I.method||function(J){H[G]=J;};I.value=I.value||H[G];this._configs[G]=new YAHOO.util.Attribute(I,this);};YAHOO.augment(YAHOO.util.Element,F);})();YAHOO.register("element",YAHOO.util.Element,{version:"2.5.1",build:"984"});YAHOO.register("utilities", YAHOO, {version: "2.5.1", build: "984"});
diff --git a/koha-tmpl/opac-tmpl/prog/en/lib/yui/yui-sprite.png b/koha-tmpl/opac-tmpl/prog/en/lib/yui/yui-sprite.png
deleted file mode 100644 (file)
index afd65e0..0000000
Binary files a/koha-tmpl/opac-tmpl/prog/en/lib/yui/yui-sprite.png and /dev/null differ
index 581b948..eb9ee87 100644 (file)
@@ -13,7 +13,7 @@
                <div id="useraccount" class="container">
 <!--CONTENT-->
     [% FOREACH BORROWER_INF IN BORROWER_INFO %]
-        <h3><a href="/cgi-bin/koha/opac-user.pl">[% BORROWER_INF.firstname %] [% BORROWER_INF.surname %]'s account</a> <img src="[% themelang %]../../images/caret.gif" width="16" height="16" alt="&gt;" border="0" /> Fines and charges</h3>
+        <h3><a href="/cgi-bin/koha/opac-user.pl">[% BORROWER_INF.firstname %] [% BORROWER_INF.surname %]'s account</a> &#8674; Fines and charges</h3>
     [% END %]
 
     [% IF ( ACCOUNT_LINES ) %]
index 6ed2b86..515d954 100644 (file)
         <select name="idx">
             <option value="kw">Keyword</option>
             <option value="su,wrdl">Subject</option>
-[% IF ( search_boxes_loo.expanded_options ) %]
+[% IF ( expanded_options ) %]
             <option value="su,phr">&nbsp;&nbsp;&nbsp;&nbsp; Subject phrase</option>
+            <option value="su-br">&nbsp;&nbsp;&nbsp;&nbsp; Subject and broader terms</option>
+            <option value="su-na">&nbsp;&nbsp;&nbsp;&nbsp; Subject and narrower terms</option>
+            <option value="su-rl">&nbsp;&nbsp;&nbsp;&nbsp; Subject and related terms</option>
 [% END %]
             <option value="ti">Title</option>
 [% IF ( expanded_options ) %]
 <!-- AVAILABILITY LIMITS -->
     [% UNLESS ( singleBranchMode ) %]
     <div id="location" class="container"><fieldset><legend>Location and availability: </legend>
-        
+
+        <label for="branchloop">Library:</label>
         <select name="limit" id="branchloop">
         <option value="">All libraries</option>
         [% FOREACH BranchesLoo IN BranchesLoop %]
 </div>
 <div class="yui-u">
 <!-- RANK LIMITS -->
-    <div id="sortby" class="container"><fieldset><legend>Sort by: </legend>
-        <select id="sort_by" name="sort_by">
+    <div id="sortby" class="container"><fieldset><legend>Sorting: </legend>
+        <label for="sort_by">Sort by:</label> <select id="sort_by" name="sort_by">
 [% INCLUDE 'resort_form.inc' %]
 </select></fieldset></div>
 <!-- RANK LIMITS -->
index 3863fad..ad5ddc7 100644 (file)
@@ -1,34 +1,29 @@
+[% PROCESS 'opac-authorities.inc' %]
 [% INCLUDE 'doc-head-open.inc' %][% IF ( LibraryNameTitle ) %][% LibraryNameTitle %][% ELSE %]Koha online[% END %] catalog &rsaquo;  Entry
 [% INCLUDE 'doc-head-close.inc' %]
-[% IF ( displayhierarchy ) %]
-<link rel="stylesheet" type="text/css" href="[% themelang %]/css/hierarchy.css">
-<script language="JavaScript" type="text/javascript">
-function showParents(mynumber) {
-  var parents=document.getElementsByName(mynumber+'p')
-  for(i=0;i<parents.length;i++){
-    if (parents[i].style.display == "none") {
-      parents[i].style.display ="block";
-    } else {
-      parents[i].style.display ="none";
-    }
-  } 
-}
-function showChildren(mynumber) {
-  var children=document.getElementsByName(mynumber+'c')
-  for(i=0;i<children.length;i++){
-    if (children[i].style.display == "none") {
-      children[i].style.display = "block";
-    } else {
-      children[i].style.display = "none";
-    }
-  }
-}
+<script language="javascript" type="text/javascript" src="/opac-tmpl/lib/jquery/plugins/jquery.jstree.js"></script>
+<script language="javascript" type="text/javascript">
+//<![CDATA[
+$(document).ready(function() {
+    [% IF ( displayhierarchy ) %]
+        var current_nodes = [];
+        $('.currentauth').each(function() {
+            current_nodes.push('#' + $(this).parent().parents('li:first').attr('id'));
+            });
+        $('#hierarchies').jstree({
+                "plugins": [ "themes", "html_data"],
+                "themes": { "theme": "classic",
+                            "icons": false },
+                "core": { "initially_open": current_nodes }
+            });
+    [% END %]
+});
+//]]>
 </script>
-[% END %]
 </head>
 <body id="opac-authoritiesdetail">
 
-<div id="doc3" class="yui-t1">
+<div id="doc3" class="yui-t7">
    <div id="bd">
 [% INCLUDE 'masthead.inc' %]
        <div id="yui-main">
@@ -38,30 +33,11 @@ function showChildren(mynumber) {
     <div id="views"><span class="view"><a id="MARCview" href="/cgi-bin/koha/opac-authoritiesdetail.pl?authid=[% authid %]">Normal view</a></span> <span class="view"><span id="MARCview">MARC view</span></span></div>
 
 [% IF ( displayhierarchy ) %]
-
-<div class="hierarchies">
-[% FOREACH loophierarchie IN loophierarchies %]
-  <div class="hierarchy">
-  [% FOREACH loopelemen IN loophierarchie.loopelement %]
-    <div id="[% loopelemen.loopauthid %]" class="[% loopelemen.class %]">
-    [% IF ( loopelemen.current_value ) %]
-        [% loopelemen.value %]
-    [% ELSE %]
-        <a href="opac-authoritiesdetail.pl?authid=[% loopelemen.loopauthid %]" title="Term">[% loopelemen.value %]</a>
-    [% END %]
-    [% IF ( loopelemen.ifchildren ) %]
-      <sub><a class="parents" title="Narrower terms" href="JavaScript:showChildren('[% loopelemen.loopauthid %]');">+</a></sub><br/>
-      [% FOREACH loopchildre IN loopelemen.loopchildren %]
-        <div name="[% loopchildre.loopauthid %]c" class="child"> <a href="opac-authoritiesdetail.pl?authid=[% loopchildre.childauthid %]">[% loopchildre.childvalue %]</a></div>
-      [% END %]
-    [% END %]
-    </div>
-  [% END %]
-    
-  </div>
-[% END %]
+<div id="hierarchies">
+[% PROCESS showhierarchy trees = loophierarchies %]
 </div>
 [% END %]
+
 <h1>Entry [% authtypetext %]</h1>
        <p>Used in <a href="opac-search.pl?type=opac&amp;q=[% authid %]&amp;idx=an,phr">[% count %] records</a></p>
         [% FOREACH Tag0X IN Tab0XX %]
@@ -79,11 +55,5 @@ function showChildren(mynumber) {
 </div>
 </div>
 </div>
-[% IF ( OpacNav ) %]
-<div class="yui-b">
-<div id="leftmenus" class="container">
-[% INCLUDE 'navigation.inc' %]
-</div>
-</div>[% END %]
 </div>
 [% INCLUDE 'opac-bottom.inc' %]
index 2f438be..cb195b1 100644 (file)
@@ -1,74 +1,32 @@
-[% BLOCK authtypelabel %]
-    [% UNLESS ( type=='seefrom' || type=='seealso' || type=='' ) %]
-        <span class="type">[% FILTER trim %][% SWITCH type %]
-        [% CASE 'earlier' %]Earlier heading
-        [% CASE 'later' %]Later heading
-        [% CASE 'acronym' %]Acronym
-        [% CASE 'musical' %]Musical composition
-        [% CASE 'broader' %]Broader heading
-        [% CASE 'narrower' %]Narrower heading
-        [% CASE %][% type %]
-        [% END %][% END %]</span>
-    [% END %]
-[% END %]
-[% BLOCK otherscript %]
-    [% FOREACH heading IN headings %]
-        [% IF heading.category == wantcategory %]
-            [% IF heading.direction == 'ltr' %]
-                <div class="heading otherscript [% heading.category %]">
-                <span class="[% heading.category %]">[% heading.term %]</span>
-                </div>
-            [% ELSIF heading.direction == 'rtl' %]
-                <div class="heading otherscript [% heading.category %] rtl">
-                <span class="[% heading.category %]">[% heading.term %]</span>
-                </div>
-            [% END %]
-        [% END %]
-    [% END %]
-[% END %]
-[% BLOCK authheadingdisplay %]
-    [% IF authid %]<a href="/cgi-bin/koha/opac-authoritiesdetail.pl?authid=[% authid %]">[% heading %]</a>
-    [% ELSIF search %]<a href="/cgi-bin/koha/opac-authorities-home.pl?op=do_search&type=opac&operator=contains&marclist=mainentry&and_ora=and&orderby=HeadingAsc&value=[% search %]">[% heading %]</a>
-    [% ELSE %][% heading %]
-    [% END %]
-[% END %]
+[% PROCESS 'opac-authorities.inc' %]
 [% INCLUDE 'doc-head-open.inc' %][% IF ( LibraryNameTitle ) %][% LibraryNameTitle %][% ELSE %]Koha online[% END %] catalog &rsaquo;  Entry
 [% INCLUDE 'doc-head-close.inc' %]
 [% IF ( displayhierarchy ) %]
-<link rel="stylesheet" type="text/css" href="[% themelang %]/css/hierarchy.css">
+<script language="javascript" type="text/javascript" src="/opac-tmpl/lib/jquery/plugins/jquery.jstree.js"></script>
 [% END %]
-<script language="JavaScript" type="text/javascript">
+<script language="javascript" type="text/javascript">
+//<![CDATA[
 $(document).ready(function() {
     $('#authdescriptions').tabs();
+    [% IF ( displayhierarchy ) %]
+        var current_nodes = [];
+        $('.currentauth').each(function() {
+            current_nodes.push('#' + $(this).parent().parents('li:first').attr('id'));
+            });
+        $('#hierarchies').jstree({
+                "plugins": [ "themes", "html_data"],
+                "themes": { "theme": "classic",
+                            "icons": false },
+                "core": { "initially_open": current_nodes }
+            });
+    [% END %]
 });
-
-[% IF ( displayhierarchy ) %]
-function showParents(mynumber) {
-  var parents=document.getElementsByName(mynumber+'p')
-  for(i=0;i<parents.length;i++){
-    if (parents[i].style.display == "none") {
-      parents[i].style.display ="block";
-    } else {
-      parents[i].style.display ="none";
-    }
-  }
-}
-function showChildren(mynumber) {
-  var children=document.getElementsByName(mynumber+'c')
-  for(i=0;i<children.length;i++){
-    if (children[i].style.display == "none") {
-      children[i].style.display = "block";
-    } else {
-      children[i].style.display = "none";
-    }
-  }
-}
-[% END %]
+//]]>
 </script>
 </head>
 <body id="opac-authoritiesdetail">
 
-<div id="doc3" class="yui-t1">
+<div id="doc3" class="yui-t7">
    <div id="bd">
 [% INCLUDE 'masthead.inc' %]
     <div id="yui-main">
@@ -79,30 +37,11 @@ function showChildren(mynumber) {
 <div id="userauthdetails" class="container">
 
 [% IF ( displayhierarchy ) %]
-
-<div class="hierarchies">
-[% FOREACH loophierarchie IN loophierarchies %]
-  <div class="hierarchy">
-  [% FOREACH loopelemen IN loophierarchie.loopelement %]
-    <div id="[% loopelemen.loopauthid %]" class="[% loopelemen.class %]">
-    [% IF ( loopelemen.current_value ) %]
-        [% loopelemen.value %]
-    [% ELSE %]
-        <a href="opac-authoritiesdetail.pl?authid=[% loopelemen.loopauthid %]" title="Term">[% loopelemen.value %]</a>
-    [% END %]
-    [% IF ( loopelemen.ifchildren ) %]
-      <sub><a class="parents" title="Narrower terms" href="JavaScript:showChildren('[% loopelemen.loopauthid %]');">+</a></sub><br/>
-      [% FOREACH loopchildre IN loopelemen.loopchildren %]
-        <div name="[% loopchildre.loopauthid %]c" class="child"> <a href="opac-authoritiesdetail.pl?authid=[% loopchildre.childauthid %]">[% loopchildre.childvalue %]</a></div>
-      [% END %]
-    [% END %]
-    </div>
-  [% END %]
-
-  </div>
-[% END %]
+<div id="hierarchies">
+[% PROCESS showhierarchy trees = loophierarchies %]
 </div>
 [% END %]
+
 <h1>[% summary.mainentry %][% IF authtypetext %]([% authtypetext %])[% END %]</h1>
 <div class="usedin">Used in <a href="opac-search.pl?type=opac&amp;q=[% authid %]&amp;idx=an,phr">[% count %] records</a></div>
 <div class="authstanza">
@@ -163,11 +102,5 @@ function showChildren(mynumber) {
 </div>
 </div>
 </div>
-[% IF ( OpacNav ) %]
-<div class="yui-b">
-<div id="leftmenus" class="container">
-[% INCLUDE 'navigation.inc' %]
-</div>
-</div>[% END %]
 </div>
 [% INCLUDE 'opac-bottom.inc' %]
index 04d5a8c..93f27b9 100644 (file)
                 [% END %]
                 [% END %]
                 </select>
-                <select name="operatorc" id="anywhere">
+                <select name="operator" id="anywhere">
                     <option value="contains">contains</option>
                     <option value="start">starts with</option>
                     <option value="is">is exactly</option>
                 </select>
-                <input type="text" name="valuec" id="anywhere_value" value="[% value %]" />
-                <input type="hidden" name="marclistc" value="" />
-                    <input type="hidden" name="and_ora" value="and" />
-                <input type="hidden" name="excludingc" value="" />
+                <input type="text" name="value" id="value" value="[% value %]" />
+                <select name="marclist" id="marclist">
+                    <option value="any" selected="selected">in keyword</option>
+                    <option value="match">in any heading</option>
+                    <option value="mainentry">in main entry</option>
+                </select>
+                <input type="hidden" name="and_ora" value="and" />
+                <input type="hidden" name="excluding" value="" />
             </li>
             <li><label for="orderby">Order by: </label><select name="orderby" id="orderby">
                 <option value="">None</option>
index 2f0f3a0..96fa3e0 100644 (file)
@@ -57,7 +57,7 @@
             [% ELSE %]
                 <tr>
             [% END %]
-                    <td>[% PROCESS authresult summary=resul.summary %]</td>
+                    <td>[% PROCESS authresult summary=resul.summary link="/cgi-bin/koha/opac-authorities-home.pl?op=do_search&type=opac&operatorc=contains&marclistc=mainentry&and_orc=and&orderby=HeadingAsc&valuec=" %]</td>
                     <td>[% resul.authtype %]</td>
                                        [% UNLESS ( resul.isEDITORS ) %]
                                                <td>
index 2ea6d94..0672027 100644 (file)
     @import url([% themelang %]/css/print.css);
 </style>
     [% ELSE %][% INCLUDE 'doc-head-close.inc' %]
-       <script type="text/javascript" src="[% themelang %]/lib/jquery/plugins/jquery.checkboxes.min.js"></script>
-       <script type="text/javascript" src="[% themelang %]/lib/jquery/plugins/jquery.tablesorter.min.js"></script>
-       <script type="text/javascript">
-       //<![CDATA[
+    <script type="text/javascript" src="[% themelang %]/lib/jquery/plugins/jquery.checkboxes.min.js"></script>
+    <script type="text/javascript" src="[% themelang %]/lib/jquery/plugins/jquery.tablesorter.min.js"></script>
+    <script type="text/javascript">
+    //<![CDATA[
 
 var MSG_NO_RECORD_SELECTED = _("Please select one or more items");
+
+$.tablesorter.addParser({
+    // set a unique id
+    id: 'links',
+    is: function(s)
+    {
+        // return false so this parser is not auto detected
+        return false;
+    },
+    format: function(s)
+    {
+        // format your data for normalization
+        return s.replace(new RegExp(/<.*?>/),"");
+    },
+    // set type, either numeric or text
+    type: 'text'
+});
+
 $(document).ready(function()
     {
         $("#itemst").tablesorter({
-                        headers: { 0: { sorter: false },4:{sorter:false}}
+                        headers: { 0: { sorter: false }, 1: {sorter: 'links'}, 4:{sorter:false}}
                 });
     $(".cb").click(function(){
       enableCheckboxActions();
@@ -77,27 +95,27 @@ function tagAdded() {
     return false;
 }
 [% END %][% END %][% END %]
-       $(document).ready(function(){
-               $("#CheckAll").click(function(){
-               var checked = [];
-               $(".checkboxed").checkCheckboxes("*", true).each(
-                   function() {
-                               selRecord(this.value,true);
-                       }
-               );
-        enableCheckboxActions();
-               return false;
-           });
-           $("#CheckNone").click(function(){
-           var checked = [];
-               $(".checkboxed").unCheckCheckboxes("*",true).each(
-                   function() {
-                               selRecord(this.value,false);
-                       }
-               );
+    $(document).ready(function(){
+        $("#CheckAll").click(function(){
+            var checked = [];
+            $(".checkboxed").checkCheckboxes("*", true).each(
+                function() {
+                    selRecord(this.value,true);
+                }
+            );
+            enableCheckboxActions();
+            return false;
+        });
+        $("#CheckNone").click(function(){
+        var checked = [];
+        $(".checkboxed").unCheckCheckboxes("*",true).each(
+            function() {
+                selRecord(this.value,false);
+            }
+        );
         enableCheckboxActions();
-               return false;
-           });
+            return false;
+        });
 
 [% IF ( opacuserlogin ) %][% IF ( loggedinusername ) %][% IF ( TagsEnabled ) %]
           $("#tagsel_button").click(function(){
@@ -105,7 +123,7 @@ function tagAdded() {
               return false;
           });
 [% END %][% END %][% END %]
-       });
+    });
 [% IF ( opacuserlogin ) %][% IF ( RequestOnOpac ) %]
     function holdSel() {
         var items = document.getElementById('records').value;
@@ -127,9 +145,9 @@ function enableCheckboxActions(){
       $("#selections-toolbar .links a").addClass("disabled");
     }
 }
-       //]]>
-       </script>
-       [% END %]
+    //]]>
+    </script>
+    [% END %]
 </head>
 <body id="basket">
 
@@ -141,9 +159,9 @@ function enableCheckboxActions(){
 <div id="toolbar">
 <ul>
     <li>[% IF ( verbose ) %]<a href="opac-basket.pl" class="brief" onclick="showLess(); return false;">Brief display</a>[% ELSE %]<a href="opac-basket.pl" class="detail" onclick="showMore(); return false;">More details</a>[% END %]</li>
-       [% IF ( opacuserlogin ) %]<li><a class="send" href="opac-basket.pl" onclick="sendBasket(); return false;">Send</a></li>[% END %]
-       <li><a class="download" href="opac-basket.pl" onclick="downloadBasket(); return false;">Download</a></li>
-       <li><a class="print" href="opac-basket.pl" onclick="printBasket(); return false;">Print</a></li>
+    [% IF ( opacuserlogin ) %]<li><a class="send" href="opac-basket.pl" onclick="sendBasket(); return false;">Send</a></li>[% END %]
+    <li><a class="download" href="opac-basket.pl" onclick="downloadBasket(); return false;">Download</a></li>
+    <li><a class="print" href="opac-basket.pl" onclick="printBasket(); return false;">Print</a></li>
     <li><a class="empty" href="opac-basket.pl" onclick="delBasket(); return false;">Empty and close</a></li>
     <li><a class="hide close" href="opac-basket.pl">Hide window</a></li>
 </ul>
@@ -151,7 +169,7 @@ function enableCheckboxActions(){
         [% END %]
 
 [% IF ( verbose ) %]
-       [% UNLESS ( print_basket ) %]<div id="selections-toolbar"><a id="CheckAll" href="#">Select all</a> <a id="CheckNone" href="#">Clear all</a> <span class="sep">|</span> <span class="links"><span id="selections">Select titles to: </span>
+    [% UNLESS ( print_basket ) %]<div id="selections-toolbar"><a id="CheckAll" href="#">Select all</a> <a id="CheckNone" href="#">Clear all</a> <span class="sep">|</span> <span class="links"><span id="selections">Select titles to: </span>
 <span id="tag_hides">
 <a href="#" class="deleteshelf disabled" onclick="delSelRecords(); return false;">Remove</a>
 [% IF ( opacuserlogin ) %]
@@ -186,7 +204,7 @@ function enableCheckboxActions(){
                 [% IF ( BIBLIO_RESULT.author ) %] [% BIBLIO_RESULT.author |html %][% END %]
         [% END %]
     </h3>
-           <!-- COinS / Openurl -->
+        <!-- COinS / Openurl -->
     <span class="Z3988" title="ctx_ver=Z39.88-2004&amp;rft_val_fmt=info%3Aofi%2Ffmt%3Akev%3Amtx%3Abook&amp;rft.au=[% BIBLIO_RESULT.author %]&amp;rft.btitle=[% BIBLIO_RESULT.title |url %]&amp;rft.date=[% BIBLIO_RESULT.publicationyear %]&amp;rft.tpages=[% BIBLIO_RESULT.size %]&amp;rft.isbn=[% BIBLIO_RESULT.isbn |url %]&amp;rft.aucorp=&amp;rft.place=[% BIBLIO_RESULT.place %]&amp;rft.pub=[% BIBLIO_RESULT.publisher |url %]&amp;rft.edition=[% BIBLIO_RESULT.edition %]&amp;rft.series=[% BIBLIO_RESULT.series %]&amp;rft.genre="></span>
     <table>
         [% IF ( BIBLIO_RESULT.isbn ) %]
@@ -212,7 +230,7 @@ function enableCheckboxActions(){
                        </p>
                        [% END %]
                    [% END %]
-           </td>
+        </td>
         </tr>
         [% END %]
 
@@ -298,20 +316,24 @@ function enableCheckboxActions(){
         <tr>
             <th scope="row">URL(s)</th>
             <td>
-          [% FOREACH MARCurl IN BIBLIO_RESULT.MARCurlS %]
-               <p>[% IF ( MARCurl.part ) %][% MARCurl.part %]
-                       <br />[% END %]
+               [% FOREACH MARCurl IN BIBLIO_RESULT.MARCurlS %]
+                    <p>
+                    [% IF ( MARCurl.part ) %][% MARCurl.part %]
+                        <br />
+                    [% END %]
 
-               [% MARCurl.MARCurl %]
-                       [% IF ( MARCurl.notes ) %][% FOREACH note IN MARCurl.notes %][% note.note %]<br />[% END %][% END %]
-            [% END %]</p></td>
+                    [% MARCurl.MARCurl %]
+                        [% IF ( MARCurl.notes ) %][% FOREACH note IN MARCurl.notes %][% note.note %]<br />[% END %][% END %]
+                    [% END %]
+                    </p>
+            </td>
         </tr>[% END %]
 
         <tr>
             <th scope="row">Location(s) (Status)</th>
             <td>[% IF ( BIBLIO_RESULT.ITEM_RESULTS ) %]<ul>[% FOREACH ITEM_RESULT IN BIBLIO_RESULT.ITEM_RESULTS %]
                             <li>
-                                <strong>[% ITEM_RESULT.homebranch %]</strong>[% IF ( ITEM_RESULT.location_opac ) %], [% ITEM_RESULT.location_opac %][% END %]
+                                <strong>[% ITEM_RESULT.branchname %]</strong>[% IF ( ITEM_RESULT.location_opac ) %], [% ITEM_RESULT.location_opac %][% END %]
                                 [% IF ( ITEM_RESULT.itemcallnumber ) %]
                                     ([% ITEM_RESULT.itemcallnumber %])
                                 [% END %]
@@ -349,13 +371,15 @@ function enableCheckboxActions(){
 </div>
 [% END %]
     <table id="itemst">
-       <thead><tr>
-           [% UNLESS ( print_basket ) %]<th>&nbsp;</th>[% END %]
-           <th>Title</th>
-           <th>Author</th>
-           <th>Year</th>
-        <th>Location (Status)</th>
-        </tr></thead>
+    <thead>
+        <tr>
+            [% UNLESS ( print_basket ) %]<th>&nbsp;</th>[% END %]
+            <th>Title</th>
+            <th>Author</th>
+            <th>Year</th>
+            <th>Location (Status)</th>
+        </tr>
+    </thead>
 
         [% FOREACH BIBLIO_RESULT IN BIBLIO_RESULTS %]
             [% IF ( BIBLIO_RESULT.even ) %]
@@ -368,31 +392,30 @@ function enableCheckboxActions(){
 
                 </td> [% END %]
             <td>
-               <a href="#" onclick="openBiblio('[% BIBLIO_RESULT.dest %]',[% BIBLIO_RESULT.biblionumber %])">
-                        [% BIBLIO_RESULT.title |html %][% IF ( BIBLIO_RESULT.subtitle ) %] [% FOREACH subtitl IN BIBLIO_RESULT.subtitle %][% subtitl.subfield |html %][% END %][% END %]
-                </a>
+                <a href="#" onclick="openBiblio('[% BIBLIO_RESULT.dest %]',[% BIBLIO_RESULT.biblionumber %])">[% BIBLIO_RESULT.title |html %][% IF ( BIBLIO_RESULT.subtitle ) %] [% FOREACH subtitl IN BIBLIO_RESULT.subtitle %][% subtitl.subfield |html %][% END %][% END %]</a>
                 <!-- COinS / Openurl -->
-                   <span class="Z3988" title="ctx_ver=Z39.88-2004&amp;rft_val_fmt=info%3Aofi%2Ffmt%3Akev%3Amtx%3Abook&amp;rft.au=[% BIBLIO_RESULT.author %]&amp;rft.btitle=[% BIBLIO_RESULT.title |url %]&amp;rft.date=[% BIBLIO_RESULT.publicationyear %]&amp;rft.tpages=[% BIBLIO_RESULT.size %]&amp;rft.isbn=[% BIBLIO_RESULT.isbn |url %]&amp;rft.aucorp=&amp;rft.place=[% BIBLIO_RESULT.place %]&amp;rft.pub=[% BIBLIO_RESULT.publisher |url %]&amp;rft.edition=[% BIBLIO_RESULT.edition %]&amp;rft.series=[% BIBLIO_RESULT.series %]&amp;rft.genre="></span>
-                   [% IF ( opacuserlogin ) %][% IF ( loggedinusername ) %][% IF ( TagsEnabled ) %]<div id="newtag[% BIBLIO_RESULT.biblionumber %]_status" class="tagstatus results_summary" style="display:none">Tag status here.</div>[% END %][% END %][% END %]
-           </td>
-           <td>[% BIBLIO_RESULT.author %]</td>
-           <td>
-               [% IF ( BIBLIO_RESULT.publicationyear ) %]
-                   [% BIBLIO_RESULT.publicationyear %]
+                <span class="Z3988" title="ctx_ver=Z39.88-2004&amp;rft_val_fmt=info%3Aofi%2Ffmt%3Akev%3Amtx%3Abook&amp;rft.au=[% BIBLIO_RESULT.author %]&amp;rft.btitle=[% BIBLIO_RESULT.title |url %]&amp;rft.date=[% BIBLIO_RESULT.publicationyear %]&amp;rft.tpages=[% BIBLIO_RESULT.size %]&amp;rft.isbn=[% BIBLIO_RESULT.isbn |url %]&amp;rft.aucorp=&amp;rft.place=[% BIBLIO_RESULT.place %]&amp;rft.pub=[% BIBLIO_RESULT.publisher |url %]&amp;rft.edition=[% BIBLIO_RESULT.edition %]&amp;rft.series=[% BIBLIO_RESULT.series %]&amp;rft.genre="></span>
+                [% IF ( opacuserlogin ) %][% IF ( loggedinusername ) %][% IF ( TagsEnabled ) %]<div id="newtag[% BIBLIO_RESULT.biblionumber %]_status" class="tagstatus results_summary" style="display:none">Tag status here.</div>[% END %][% END %][% END %]
+            </td>
+            <td>[% BIBLIO_RESULT.author %]</td>
+            <td>
+                [% IF ( BIBLIO_RESULT.publicationyear ) %]
+                    [% BIBLIO_RESULT.publicationyear %]
                 [% ELSE %]
-                   [% BIBLIO_RESULT.copyrightdate %]
+                    [% BIBLIO_RESULT.copyrightdate %]
                 [% END %]
-           </td>
-                <td>[% IF ( BIBLIO_RESULT.ITEM_RESULTS ) %]<ul>[% FOREACH ITEM_RESULT IN BIBLIO_RESULT.ITEM_RESULTS %]
-                    <li>
-                        [% ITEM_RESULT.homebranch %][% IF ( ITEM_RESULT.location_opac ) %], [% ITEM_RESULT.location_opac %][% END %]
-                        [% IF ( ITEM_RESULT.itemcallnumber ) %]
-                            ([% ITEM_RESULT.itemcallnumber %])
-                        [% END %]
-                        ([% INCLUDE 'item-status.inc' item = ITEM_RESULT %])
-                    </li>
-                    [% END %]</ul>[% ELSE %]This record has no items.[% END %]</td>
-            </tr>
+            </td>
+            <td>[% IF ( BIBLIO_RESULT.ITEM_RESULTS ) %]<ul>[% FOREACH ITEM_RESULT IN BIBLIO_RESULT.ITEM_RESULTS %]
+                <li>
+                    [% ITEM_RESULT.branchname %][% IF ( ITEM_RESULT.location_opac ) %], [% ITEM_RESULT.location_opac %][% END %]
+                    [% IF ( ITEM_RESULT.itemcallnumber ) %]
+                        ([% ITEM_RESULT.itemcallnumber %])
+                    [% END %]
+                    ([% INCLUDE 'item-status.inc' item = ITEM_RESULT %])
+                </li>
+                [% END %]</ul>[% ELSE %]This record has no items.[% END %]
+            </td>
+        </tr>
         [% END %]
     </table></form>
 [% END %]
index 99a21b3..f740488 100644 (file)
@@ -359,12 +359,18 @@ YAHOO.util.Event.onContentReady("furtherm", function () {
     </span>
 
     [% IF ( MARCAUTHORS ) %]
-    <span class="results_summary"><span class="label">Authors:</span>
-                [% FOREACH MARCAUTHOR IN MARCAUTHORS %]
-                [% FOREACH MARCAUTHOR_SUBFIELDS_LOO IN MARCAUTHOR.MARCAUTHOR_SUBFIELDS_LOOP %][% MARCAUTHOR_SUBFIELDS_LOO.separator %]<a title="‡[% MARCAUTHOR_SUBFIELDS_LOO.code %] [% MARCAUTHOR_SUBFIELDS_LOO.value %]" href="/cgi-bin/koha/opac-search.pl?q=[% FOREACH link_loo IN MARCAUTHOR_SUBFIELDS_LOO.link_loop %][% link_loo.operator |url %][% link_loo.limit |url %]:[% link_loo.link |url %][% END %]">[% MARCAUTHOR_SUBFIELDS_LOO.value %]</a>[% END %] 
-        [% UNLESS ( loop.last ) %]|
-[% END %]
-                [% END %]
+    <span class="results_summary"><span class="label">Additional authors:</span>
+        [% FOREACH MARCAUTHOR IN MARCAUTHORS %]
+            [% FOREACH MARCAUTHOR_SUBFIELDS_LOO IN MARCAUTHOR.MARCAUTHOR_SUBFIELDS_LOOP %]
+                [% MARCAUTHOR_SUBFIELDS_LOO.separator %]
+                <a title="‡[% MARCAUTHOR_SUBFIELDS_LOO.code %] [% MARCAUTHOR_SUBFIELDS_LOO.value %]"
+                    href="/cgi-bin/koha/opac-search.pl?q=[% FOREACH link_loo IN MARCAUTHOR_SUBFIELDS_LOO.link_loop %][% link_loo.operator |url %][% link_loo.limit |url %]:[% link_loo.link |url %][% END %]">[% MARCAUTHOR_SUBFIELDS_LOO.value %]</a>
+            [% END %]
+            [% IF (MARCAUTHOR.authoritylink) %]
+                <a class='authlink' href="/cgi-bin/koha/opac-authoritiesdetail.pl?authid=[% MARCAUTHOR.authoritylink %]"><img style="vertical-align:middle" height="15" width="15" src="/opac-tmpl/prog/images/filefind.png"></a>
+            [% END %]
+            [% UNLESS ( loop.last ) %]|[% END %]
+        [% END %]
     </span>
     [% END %]
 
@@ -418,12 +424,20 @@ YAHOO.util.Event.onContentReady("furtherm", function () {
     [% END %]
 
     [% IF ( MARCSUBJCTS ) %]
-            <span class="results_summary"><span class="label">Subject(s):</span> 
-                [% FOREACH MARCSUBJCT IN MARCSUBJCTS %]
-                    [% FOREACH MARCSUBJECT_SUBFIELDS_LOO IN MARCSUBJCT.MARCSUBJECT_SUBFIELDS_LOOP %]
-                        [% MARCSUBJECT_SUBFIELDS_LOO.separator %]<a title="$[% MARCSUBJECT_SUBFIELDS_LOO.code %] [% MARCSUBJECT_SUBFIELDS_LOO.value %]" href="/cgi-bin/koha/opac-search.pl?q=[% FOREACH link_loo IN MARCSUBJECT_SUBFIELDS_LOO.link_loop %][% link_loo.operator |url %][% link_loo.limit |url %]:[% link_loo.link |url %][% END %]">[% MARCSUBJECT_SUBFIELDS_LOO.value %]</a>[% END %]
-        [% IF ( loop.last ) %][% ELSE %]|[% END %]
-                [% END %]</span>
+        <span class="results_summary">
+            <span class="label">Subject(s):</span>
+            [% FOREACH MARCSUBJCT IN MARCSUBJCTS %]
+                [% subjectsloop = loop %]
+                [% FOREACH SUBFIELD IN MARCSUBJCT.MARCSUBJECT_SUBFIELDS_LOOP %]
+                    [% SUBFIELD.separator %]
+                    <a title="$[% SUBFIELD.code %] [% SUBFIELD.value %]" href="/cgi-bin/koha/opac-search.pl?q=[% FOREACH link_loo IN SUBFIELD.link_loop %][% link_loo.operator |url %][% link_loo.limit |url %]:[% link_loo.link |url %][% END %]" onclick="showSubjects(this, [% subjectsloop.count %], [% loop.count %]); return false;">[% SUBFIELD.value %]</a>
+                [% END %]
+                [% IF (MARCSUBJCT.authoritylink) %]
+                    <a class="authlink" href="/cgi-bin/koha/opac-authoritiesdetail.pl?authid=[% MARCSUBJCT.authoritylink %]"><img style="vertical-align:middle" height="15" width="15" src="/opac-tmpl/prog/images/filefind.png" /></a>
+                [% END %]
+                [% UNLESS ( loop.last ) %] | [% END %]
+            [% END %]
+        </span>
     [% ELSE %]
     [% IF ( subjects ) %]<span class="results_summary"><span class="label">Subject(s):</span> [% FOREACH subject IN subjects %]<a href="/cgi-bin/koha/opac-search.pl?q=su:[% subject.subject |url %]">[% subject.subject %]</a> | [% END %]</span>[% END %]
     [% END %]
@@ -701,8 +715,9 @@ YAHOO.util.Event.onContentReady("furtherm", function () {
     <table id="serialcollectiont">
        <thead>
            <tr>
-               <th id="serial_library">Library</th>
-               <th id="seral_collection">Serial collection</th>
+            <th id="serial_library">Library</th>
+            <th id="serial_collection">Serial collection</th>
+            <th id="serial_itemcallnumber">Item callnumber</th>
            </tr>
        </thead>
        <tbody>
@@ -710,6 +725,7 @@ YAHOO.util.Event.onContentReady("furtherm", function () {
            <tr>
                <td>[% serialcollection.branch %]</td>
                <td>[% serialcollection.text %]</td>
+        <td>[% serialcollection.itemcallnumber %]</td>
            </tr>
        [% END %]
        </tbody>
@@ -742,8 +758,8 @@ YAHOO.util.Event.onContentReady("furtherm", function () {
         [% END %]
         </tr></thead>
            <tbody>[% FOREACH ITEM_RESULT IN ITEM_RESULTS %]
-           <tr>[% IF ( item_level_itypes ) %]<td>[% UNLESS ( noItemTypeImages ) %][% IF ( ITEM_RESULT.imageurl ) %]<img src="[% ITEM_RESULT.imageurl %]" title="[% ITEM_RESULT.description %]" alt="[% ITEM_RESULT.description %]" />[% END %][% END %] [% ITEM_RESULT.description %]</td>[% END %]
-               <td>
+      <tr>[% IF ( item_level_itypes ) %]<td class="itype">[% UNLESS ( noItemTypeImages ) %][% IF ( ITEM_RESULT.imageurl ) %]<img src="[% ITEM_RESULT.imageurl %]" title="[% ITEM_RESULT.description %]" alt="[% ITEM_RESULT.description %]" />[% END %][% END %] [% ITEM_RESULT.description %]</td>[% END %]
+             <td class="location">
     [% UNLESS ( singleBranchMode ) %]
         <span class="[% ITEM_RESULT.branch_opac_info ? 'branch-info-tooltip-trigger' : '' %]">
         [% IF ( ITEM_RESULT.branchurl ) %]
@@ -756,17 +772,17 @@ YAHOO.util.Event.onContentReady("furtherm", function () {
     [% END %]
     <span class="shelvingloc">[% ITEM_RESULT.location_description %]</span>
     </td>
-               [% IF ( itemdata_ccode ) %]<td>[% ITEM_RESULT.ccode %]</td>[% END %]
-        <td>[% IF ( ITEM_RESULT.itemcallnumber ) %] [% ITEM_RESULT.itemcallnumber %][% IF ( OPACShelfBrowser ) %] (<a href="/cgi-bin/koha/opac-detail.pl?biblionumber=[% ITEM_RESULT.biblionumber %]&amp;shelfbrowse_itemnumber=[% ITEM_RESULT.itemnumber %]#shelfbrowser">Browse shelf</a>)[% END %][% END %]</td>
-               [% IF ( itemdata_enumchron ) %]<td>[% ITEM_RESULT.enumchron %]</td>[% END %]
-               [% IF ( itemdata_uri ) %]<td><a href="[% ITEM_RESULT.uri %]">[% ITEM_RESULT.uri %]</a></td>[% END %]
-               [% IF ( itemdata_copynumber ) %]<td>[% ITEM_RESULT.copynumber %]</td>[% END %]
-               <td>[% INCLUDE 'item-status.inc' item = ITEM_RESULT %]</td>
-               [% IF ( itemdata_itemnotes ) %]<td>[% ITEM_RESULT.itemnotes %]</td>[% END %]
-        <td>[% ITEM_RESULT.datedue | $KohaDates %]</td>
-        [% IF ( OPACShowBarcode ) %]<td>[% ITEM_RESULT.barcode %]</td>[% END %]
+            [% IF ( itemdata_ccode ) %]<td class="collection">[% ITEM_RESULT.ccode %]</td>[% END %]
+        <td class="call_no">[% IF ( ITEM_RESULT.itemcallnumber ) %] [% ITEM_RESULT.itemcallnumber %][% IF ( OPACShelfBrowser ) %] (<a href="/cgi-bin/koha/opac-detail.pl?biblionumber=[% ITEM_RESULT.biblionumber %]&amp;shelfbrowse_itemnumber=[% ITEM_RESULT.itemnumber %]#shelfbrowser">Browse shelf</a>)[% END %][% END %]</td>
+            [% IF ( itemdata_enumchron ) %]<td class="vol_info">[% ITEM_RESULT.enumchron %]</td>[% END %]
+          [% IF ( itemdata_uri ) %]<td class="url"><a href="[% ITEM_RESULT.uri %]">[% ITEM_RESULT.uri %]</a></td>[% END %]
+               [% IF ( itemdata_copynumber ) %]<td class="copynumber">[% ITEM_RESULT.copynumber %]</td>[% END %]
+              <td class="status">[% INCLUDE 'item-status.inc' item = ITEM_RESULT %]</td>
+             [% IF ( itemdata_itemnotes ) %]<td class="notes">[% ITEM_RESULT.itemnotes %]</td>[% END %]
+        <td class="date_due">[% ITEM_RESULT.datedue | $KohaDates %]</td>
+        [% IF ( OPACShowBarcode ) %]<td class="barcode">[% ITEM_RESULT.barcode %]</td>[% END %]
         [% IF holds_count.defined || show_priority %]
-        <td>
+        <td class="holds_count">
             [% IF holds_count.defined %] [% ITEM_RESULT.holds_count %] [% END %]
             [% IF ITEM_RESULT.priority %]
                 [% IF holds_count.defined %]
@@ -811,7 +827,7 @@ YAHOO.util.Event.onContentReady("furtherm", function () {
 
         
         <table><tr>
-        <td rowspan="2" style="width:20px;"><a style="height: 10em;" href="/cgi-bin/koha/opac-detail.pl?biblionumber=[% IF ( shelfbrowser_prev_biblionumber ) %][% shelfbrowser_prev_biblionumber %][% ELSE %][% biblionumber %][% END %]&amp;shelfbrowse_itemnumber=[% shelfbrowser_prev_itemnumber %]#shelfbrowser"><img src="/opac-tmpl/prog/images/browse-prev.gif" alt="Previous" border="0" /></a></td>
+        <td rowspan="2" style="width:20px;"><div id="browser_previous"><a href="/cgi-bin/koha/opac-detail.pl?biblionumber=[% IF ( shelfbrowser_prev_biblionumber ) %][% shelfbrowser_prev_biblionumber %][% ELSE %][% biblionumber %][% END %]&amp;shelfbrowse_itemnumber=[% shelfbrowser_prev_itemnumber %]#shelfbrowser">Previous</a></div></td>
 [% FOREACH PREVIOUS_SHELF_BROWS IN PREVIOUS_SHELF_BROWSE %]
         <td><a href="/cgi-bin/koha/opac-detail.pl?biblionumber=[% PREVIOUS_SHELF_BROWS.biblionumber %]&amp;shelfbrowse_itemnumber=[% PREVIOUS_SHELF_BROWS.itemnumber %]#shelfbrowser">
     [% IF ( OPACAmazonCoverImages ) %][% IF ( PREVIOUS_SHELF_BROWS.browser_normalized_isbn ) %]<img border="0" src="http://images.amazon.com/images/P/[% PREVIOUS_SHELF_BROWS.browser_normalized_isbn %].01._AA75_PU_PU-5_.jpg" alt="" />[% ELSE %]<span class="no-image">No cover image available</span>[% END %][% END %]
@@ -845,7 +861,7 @@ YAHOO.util.Event.onContentReady("furtherm", function () {
 
 </a></td>
 [% END %]
-<td rowspan="2" style="width:20px;"><a style="height: 10em;" href="/cgi-bin/koha/opac-detail.pl?biblionumber=[% IF ( shelfbrowser_next_biblionumber ) %][% shelfbrowser_next_biblionumber %][% ELSE %][% biblionumber %][% END %]&amp;shelfbrowse_itemnumber=[% shelfbrowser_next_itemnumber %]#shelfbrowser"><img src="/opac-tmpl/prog/images/browse-next.gif" alt="Next" border="0" /></a></td>
+<td rowspan="2"><div id="browser_next"><a href="/cgi-bin/koha/opac-detail.pl?biblionumber=[% IF ( shelfbrowser_next_biblionumber ) %][% shelfbrowser_next_biblionumber %][% ELSE %][% biblionumber %][% END %]&amp;shelfbrowse_itemnumber=[% shelfbrowser_next_itemnumber %]#shelfbrowser">Next</a></div></td>
 </tr>
 
 <tr>
@@ -854,7 +870,7 @@ YAHOO.util.Event.onContentReady("furtherm", function () {
 [% END %]
 
 [% FOREACH NEXT_SHELF_BROWS IN NEXT_SHELF_BROWSE %]
-       <td class="top">[% NEXT_SHELF_BROWS.itemcallnumber %]<a href="/cgi-bin/koha/opac-detail.pl?biblionumber=[% NEXT_SHELF_BROWS.biblionumber %]&amp;shelfbrowse_itemnumber=[% NEXT_SHELF_BROWS.itemnumber %]#shelfbrowser">[% NEXT_SHELF_BROWS.title |html %]</a></td>
+       <td class="top" style="width:20px;">[% NEXT_SHELF_BROWS.itemcallnumber %]<a href="/cgi-bin/koha/opac-detail.pl?biblionumber=[% NEXT_SHELF_BROWS.biblionumber %]&amp;shelfbrowse_itemnumber=[% NEXT_SHELF_BROWS.itemnumber %]#shelfbrowser">[% NEXT_SHELF_BROWS.title |html %]</a></td>
 [% END %]
 </tr>
 </table>
@@ -1200,14 +1216,14 @@ YAHOO.util.Event.onContentReady("furtherm", function () {
 [% END %]
 
 [% IF ( SocialNetworks ) %]
-    <div class="social_networks">
+    <div id="social_networks">
         <span>Share</span>
-        <a href="http://www.facebook.com/sharer.php?u=[% current_url |url %]&amp;t=[% title |url %]" title="Share on Facebook"><img alt="Share on Facebook" src="/opac-tmpl/prog/images/socnet/facebook16.png" /></a>
-        <a href="http://twitter.com/share" title="Share on Twitter"><img alt="Share on Twitter" src="/opac-tmpl/prog/images/socnet/twitter16.png" /></a>
-        <a href="http://www.linkedin.com/shareArticle?mini=true&amp;url=[% current_url |url %]&amp;title=[% title |url %]" title="Share on LinkedIn"><img alt="Share on LinkedIn" src="/opac-tmpl/prog/images/socnet/linkedin16.png" /></a>
-        <a href="http://www.delicious.com/save?url=[% current_url |url %]&amp;title=[% title |url %]" title="Share on Delicious"><img alt="Share on Delicious" src="/opac-tmpl/prog/images/socnet/delicious16.gif" /></a>
-        <g:plusone size="small"></g:plusone>
-        <a href="mailto:?subject=[% title %]&amp;body=[% title %] ([% current_url |url %])" title="Share by email"><img alt="Share by email" src="/opac-tmpl/prog/images/socnet/mailto16.png" /></a>
+        <div><a id="facebook" href="http://www.facebook.com/sharer.php?u=[% current_url |url %]&amp;t=[% title |url %]" title="Share on Facebook">Facebook</a></div>
+        <div><a id="twitter" href="http://twitter.com/share" title="Share on Twitter">Twitter</a></div>
+        <div><a id="linkedin" href="http://www.linkedin.com/shareArticle?mini=true&amp;url=[% current_url |url %]&amp;title=[% title |url %]" title="Share on LinkedIn">LinkedIn</a></div>
+        <div><a id="delicious" href="http://www.delicious.com/save?url=[% current_url |url %]&amp;title=[% title |url %]" title="Share on Delicious">Delicious</a></div>
+        <div><a id="email" href="mailto:?subject=[% title %]&amp;body=[% title %] ([% current_url |url %])" title="Share by email">Email</a></div>
+        <div><g:plusone size="small"></g:plusone></div>
     </div>
 [% END %]
 
index d291b2a..cc67ff2 100644 (file)
@@ -37,6 +37,7 @@
 [% END %]
 
        [% IF ( OpacMainUserBlock ) %]<div id="opacmainuserblock" class="container">[% OpacMainUserBlock %]</div>[% END %]
+ [% IF ( OpacMainUserBlockMobile ) %]<div id="opacmainuserblockmobile" class="container">[% OpacMainUserBlockMobile %]</div>[% END %]
 
 </div>
                
index 8cfd5eb..8f8e6b4 100644 (file)
@@ -25,7 +25,7 @@
        <div class="yui-b"><div class="yui-g" id="usermessaging">
 
 [% FOREACH BORROWER_INF IN BORROWER_INFO %]
-<h3><a href="/cgi-bin/koha/opac-user.pl">[% BORROWER_INF.firstname %] [% BORROWER_INF.surname %]'s account</a> <img src="[% themelang %]../../images/caret.gif" width="16" height="16" alt="&gt;" border="0" /> Your messaging settings</h3>
+<h3><a href="/cgi-bin/koha/opac-user.pl">[% BORROWER_INF.firstname %] [% BORROWER_INF.surname %]'s account</a> &#8674; Your messaging settings</h3>
 [% END %]
 
 <form action="/cgi-bin/koha/opac-messaging.pl" method="get" name="opacmessaging">
index e761402..324d22c 100644 (file)
@@ -19,7 +19,7 @@
    <channel>
      <title><![CDATA[[% LibraryName |html %] Search [% IF ( query_desc ) %]for '[% query_desc |html %]'[% END %][% IF ( limit_desc ) %] with limit(s): '[% limit_desc |html %]'[% END %]]]></title>
      <link>[% OPACBaseURL %]/cgi-bin/koha/opac-search.pl?[% query_cgi |html %][% limit_cgi |html %]&amp;format=rss2</link>
-     <atom:link rel="self" type="application/rss+xml" href="[% OPACBaseurl %]/cgi-bin/koha/opac-search.pl?[% query_cgi |html %][% limit_cgi |html %]&amp;sort_by=[% sort_by |html %]&amp;format=rss2"/>
+     <atom:link rel="self" type="application/rss+xml" href="[% OPACBaseURL %]/cgi-bin/koha/opac-search.pl?[% query_cgi |html %][% limit_cgi |html %]&amp;sort_by=[% sort_by |html %]&amp;format=rss2"/>
      <description><![CDATA[ Search results [% IF ( query_desc ) %]for '[% query_desc |html %]'[% END %][% IF ( limit_desc ) %] with limit(s): '[% limit_desc |html %]'[% END %] at [% LibraryName |html %]]]></description>
      <opensearch:totalResults>[% total %]</opensearch:totalResults>
      <opensearch:startIndex>[% offset %]</opensearch:startIndex>
@@ -29,7 +29,7 @@
        <opensearch:itemsPerPage>20</opensearch:itemsPerPage>
      [% END %]
         [% FOREACH SEARCH_RESULT IN SEARCH_RESULTS %]
-     <atom:link rel="search" type="application/opensearchdescription+xml" href="[% SEARCH_RESULT.OPACBaseurl %]/cgi-bin/koha/opac-search.pl?[% SEARCH_RESULT.query_cgi |html %][% SEARCH_RESULT.limit_cgi |html %]&amp;sort_by=[% SEARCH_RESULT.sort_by |html %]&amp;format=opensearchdescription"/>
+     <atom:link rel="search" type="application/opensearchdescription+xml" href="[% OPACBaseURL %]/cgi-bin/koha/opac-search.pl?[% SEARCH_RESULT.query_cgi |html %][% SEARCH_RESULT.limit_cgi |html %]&amp;sort_by=[% SEARCH_RESULT.sort_by |html %]&amp;format=opensearchdescription"/>
      <opensearch:Query role="request" searchTerms="[% SEARCH_RESULT.query_desc |url %][% SEARCH_RESULT.limit_desc |url %]" startPage="[% SEARCH_RESULT.page %]" />
      <item>
        <title>[% SEARCH_RESULT.title |html %] [% FOREACH subtitl IN SEARCH_RESULT.subtitle %], [% subtitl.subfield |html %][% END %]</title>
@@ -51,7 +51,7 @@
                         [% IF ( SEARCH_RESULT.size ) %] [% SEARCH_RESULT.size |html %]. [% END %]
                         [% IF ( SEARCH_RESULT.isbn ) %] [% SEARCH_RESULT.isbn |html %][% END %] </p><p>
 [% IF ( RequestOnOpac ) %]
-<a href="[% SEARCH_RESULT.OPACBaseurl %]/cgi-bin/koha/opac-reserve.pl?biblionumber=[% SEARCH_RESULT.biblionumber %]">Place Hold on <i>[% SEARCH_RESULT.title %]</i></a></p>
+<a href="[% OPACBaseURL %]/cgi-bin/koha/opac-reserve.pl?biblionumber=[% SEARCH_RESULT.biblionumber %]">Place Hold on <i>[% SEARCH_RESULT.title %]</i></a></p>
 [% END %]
                                                ]]></description>
        <guid>[% OPACBaseURL %]/cgi-bin/koha/opac-detail.pl?biblionumber=[% SEARCH_RESULT.biblionumber %]</guid>
      <opensearch:itemsPerPage>20</opensearch:itemsPerPage>
    [% END %]
    <opensearch:Query role="request" searchTerms="[% query_desc |html %] [% limit_desc |html %]" startPage="[% page |html %]" />
-   <link rel="alternate" href="[% OPACBaseurl %]/cgi-bin/koha/opac-search.pl?[% query_cgi %][% limit_cgi %]pw=[% page %]&amp;format=atom" type="application/atom+xml"/>
+   <link rel="alternate" href="[% OPACBaseURL %]/cgi-bin/koha/opac-search.pl?[% query_cgi %][% limit_cgi %]pw=[% page %]&amp;format=atom" type="application/atom+xml"/>
    <link rel="self" href="[% OPACBaseURL %]/cgi-bin/koha/opac-search.pl?[% query_cgi %][% limit_cgi %]&amp;format=atom" type="application/atom+xml"/>
    <link rel="first" href="[% OPACBaseURL %]/cgi-bin/koha/opac-search.pl?[% query_cgi %][% limit_cgi %]pw=1&amp;format=atom" type="application/atom+xml"/>
    <link rel="previous" href="[% OPACBaseURL %]/cgi-bin/koha/opac-search.pl?[% query_cgi %][% limit_cgi %]pw=2&amp;format=atom" type="application/atom+xml"/>
    <link rel="next" href="[% OPACBaseURL %]/cgi-bin/koha/opac-search.pl?[% query_cgi %][% limit_cgi %]pw=4&amp;format=atom" type="application/atom+xml"/>
-   <link rel="last" href="[% OPACBaseurl %]/cgi-bin/koha/opac-search.pl?[% query_cgi %][% limit_cgi %]pw=42299&amp;format=atom" type="application/atom+xml"/>
+   <link rel="last" href="[% OPACBaseURL %]/cgi-bin/koha/opac-search.pl?[% query_cgi %][% limit_cgi %]pw=42299&amp;format=atom" type="application/atom+xml"/>
    <link rel="search" type="application/opensearchdescription+xml" href="[% OPACBaseURL %]/cgi-bin/koha/opac-search.pl?format=opensearchdescription"/>
 
    [% FOREACH SEARCH_RESULT IN SEARCH_RESULTS %]
index 3be0ef8..907835f 100644 (file)
@@ -9,7 +9,7 @@
        <div id="yui-main">
        <div class="yui-b"><div class="yui-g">
        <div id="userpasswd" class="container">
-    <h3><a href="/cgi-bin/koha/opac-user.pl">[% firstname %] [% surname %]'s account</a> <img src="[% themelang %]l../../images/caret.gif" width="16" height="16" alt="&gt;" border="0" /> Change your password </h3>
+    <h3><a href="/cgi-bin/koha/opac-user.pl">[% firstname %] [% surname %]'s account</a> &#8674; Change your password </h3>
 
     [% IF ( Error_messages ) %]
 <div class="dialog error">        <h3>There was a problem with your submission</h3>
index adbc8f0..6440351 100644 (file)
@@ -9,7 +9,7 @@
        <div id="yui-main">
        <div class="yui-b"><div class="yui-g">
        <div id="userprivacy" class="container">
-       <h3><a href="/cgi-bin/koha/opac-user.pl">[% firstname %] [% surname %]'s account</a> <img src="[% themelang %]l../../images/caret.gif" width="16" height="16" alt="&gt;" border="0" /> Privacy policy </h3>
+    <h3><a href="/cgi-bin/koha/opac-user.pl">[% firstname %] [% surname %]'s account</a> &#8674; Privacy policy </h3>
 
     [% IF ( deleted ) %]
         <div class="dialog message">Your reading history has been deleted.</div>
index 69b27a4..05f4c45 100644 (file)
@@ -24,9 +24,9 @@ $(document).ready(function(){
        <div class="yui-b"><div class="yui-g">
 <div id="userreadingrecord" class="container">
 <!--CONTENT-->
-<h3><a href="/cgi-bin/koha/opac-user.pl">[% firstname %] [% surname %]'s account</a> <img src="[% themelang %]../../images/caret.gif" width="16" height="16" alt="&gt;" border="0" /> Checkout history</h3>
+<h3><a href="/cgi-bin/koha/opac-user.pl">[% firstname %] [% surname %]'s account</a> &#8674; Checkout history</h3>
 
-[% UNLESS ( count ) %]
+[% IF READING_RECORD.size() == 0 %]
 You have never borrowed anything from this library.
 [% ELSE %]
 <div id="opac-user-readingrec" class="statictabs">
@@ -59,32 +59,73 @@ You have never borrowed anything from this library.
 <th>Item type</th>
 <th>Call no.</th>
 <th>Date</th>
+[% IF ( OPACMySummaryHTML ) %]
+<th>Links</th>
+[% END %]
 </tr>
 
-[% FOREACH READING_RECOR IN READING_RECORD %]
+[% FOREACH issue IN READING_RECORD %]
 
-[% UNLESS ( loop.odd ) %]<tr class="highlight">[% ELSE %]<tr>[% END %]
+[% IF  loop.even  %]<tr class="highlight">[% ELSE %]<tr>[% END %]
 <td>
-[% IF ( OPACAmazonCoverImages ) %][% IF ( READING_RECOR.normalized_isbn ) %]<a href="http://www.amazon.com/gp/reader/[% READING_RECOR.normalized_isbn %]/ref=sib_dp_pt/002-7879865-0184864#reader-link"><img border="0" src="http://images.amazon.com/images/P/[% READING_RECOR.normalized_isbn %].01.THUMBZZZ.jpg" alt="Cover Image" /></a>[% ELSE %]<span class="no-image">No cover image available</span>[% END %][% END %]
+[% IF  OPACAmazonCoverImages %]
+    [% IF  issue.normalized_isbn %]
+        <a href="http://www.amazon.com/gp/reader/[% issue.normalized_isbn %]/ref=sib_dp_pt/002-7879865-0184864#reader-link"><img border="0" src="http://images.amazon.com/images/P/[% issue.normalized_isbn %].01.THUMBZZZ.jpg" alt="Cover Image" /></a>
+    [% ELSE %]
+         <span class="no-image">No cover image available</span>
+    [% END %]
+[% END %]
 
-    [% IF ( GoogleJackets ) %][% IF ( READING_RECOR.normalized_isbn ) %]<div style="block" title="[% READING_RECOR.biblionumber |url %]" class="[% READING_RECOR.normalized_isbn %]" id="gbs-thumbnail[% loop.count %]"></div>[% ELSE %]<span class="no-image">No cover image available</span>[% END %][% END %]
+[% IF GoogleJackets %]
+    [% IF  issue.normalized_isbn %]
+        <div style="block" title="[% issue.biblionumber |url %]" class="[% issue.normalized_isbn %]" id="gbs-thumbnail[% loop.count %]"></div>
+    [% ELSE %]
+       <span class="no-image">No cover image available</span>
+    [% END %]
+[% END %]
 
-    [% IF ( BakerTaylorEnabled ) %][% IF ( READING_RECOR.normalized_isbn ) %]<a href="https://[% BakerTaylorBookstoreURL |html %][% READING_RECOR.normalized_isbn %]"><img alt="See Baker &amp; Taylor" src="[% BakerTaylorImageURL |html %][% READING_RECOR.normalized_isbn %]" /></a>[% ELSE %]<span class="no-image">No cover image available</span>[% END %][% END %]
+[% IF BakerTaylorEnabled %]
+    [% IF issue.normalized_isbn %]
+      <a href="https://[% BakerTaylorBookstoreURL |html %][% issue.normalized_isbn %]"><img alt="See Baker &amp; Taylor" src="[% BakerTaylorImageURL |html %][% issue.normalized_isbn %]" /></a>
+    [% ELSE %]
+       <span class="no-image">No cover image available</span>
+    [% END %]
+[% END %]
 
-       [% IF ( SyndeticsEnabled ) %][% IF ( SyndeticsCoverImages ) %][% IF ( using_https ) %]
-       <img src="https://secure.syndetics.com/index.aspx?isbn=[% READING_RECOR.normalized_isbn %]/SC.GIF&amp;client=[% SyndeticsClientCode %]&amp;type=xw10&amp;upc=[% READING_RECOR.normalized_upc %]&amp;oclc=[% READING_RECOR.normalized_oclc %]" alt="" class="thumbnail" />
-       [% ELSE %]
-       <img src="http://www.syndetics.com/index.aspx?isbn=[% READING_RECOR.normalized_isbn %]/SC.GIF&amp;client=[% SyndeticsClientCode %]&amp;type=xw10&amp;upc=[% READING_RECOR.normalized_upc %]&amp;oclc=[% READING_RECOR.normalized_oclc %]" alt="" class="thumbnail" />[% END %][% END %][% END %]
+[% IF SyndeticsEnabled %]
+    [% IF SyndeticsCoverImages %]
+        [% IF  using_https  %]
+<img src="https://secure.syndetics.com/index.aspx?isbn=[% issue.normalized_isbn %]/SC.GIF&amp;client=[% SyndeticsClientCode %]&amp;type=xw10&amp;upc=[% issue.normalized_upc %]&amp;oclc=[% issue.normalized_oclc %]" alt="" class="thumbnail" />
+       [% ELSE %]
+<img src="http://www.syndetics.com/index.aspx?isbn=[% issue.normalized_isbn %]/SC.GIF&amp;client=[% SyndeticsClientCode %]&amp;type=xw10&amp;upc=[% issue.normalized_upc %]&amp;oclc=[% issue.normalized_oclc %]" alt="" class="thumbnail" />
+       [% END %]
+    [% END %]
+[% END %]
 </td>
-<td>[% IF ( READING_RECOR.BiblioDefaultViewmarc ) %]<a class="title" href="/cgi-bin/koha/opac-MARCdetail.pl?biblionumber=[% READING_RECOR.biblionumber |url %]">[% READING_RECOR.title |html %] [% IF ( READING_RECOR.subtitle ) %][% FOREACH subtitl IN READING_RECOR.subtitle %][% subtitl.subfield %][% END %][% END %]</a>[% ELSE %]
-[% IF ( READING_RECOR.BiblioDefaultViewisbd ) %]<a class="title" href="/cgi-bin/koha/opac-ISBDdetail.pl?biblionumber=[% READING_RECOR.biblionumber |url %]">[% READING_RECOR.title |html %] [% IF ( READING_RECOR.subtitle ) %][% FOREACH subtitl IN READING_RECOR.subtitle %][% subtitl.subfield %][% END %][% END %]</a>[% ELSE %]
-<a class="title" href="/cgi-bin/koha/opac-detail.pl?biblionumber=[% READING_RECOR.biblionumber |url %]">[% READING_RECOR.title |html %] [% IF ( READING_RECOR.subtitle ) %][% FOREACH subtitl IN READING_RECOR.subtitle %][% subtitl.subfield %][% END %][% END %]</a>[% END %][% END %]
+<td>
+[% IF  issue.BiblioDefaultViewmarc %]
+     <a class="title" href="/cgi-bin/koha/opac-MARCdetail.pl?biblionumber=[% issue.biblionumber |url %]">[% issue.title |html %] [% IF  issue.subtitle  %][% FOREACH subtitl IN issue.subtitle %][% subtitl.subfield %][% END %][% END %]</a>
+[% ELSIF issue.BiblioDefaultViewisbd %]
+     <a class="title" href="/cgi-bin/koha/opac-ISBDdetail.pl?biblionumber=[% issue.biblionumber |url %]">[% issue.title |html %] [% IF issue.subtitle %][% FOREACH subtitl IN issue.subtitle %][% subtitl.subfield %][% END %][% END %]</a>
+[% ELSE %]
+     <a class="title" href="/cgi-bin/koha/opac-detail.pl?biblionumber=[% issue.biblionumber |url %]">[% issue.title |html %] [% IF issue.subtitle %][% FOREACH subtitl IN issue.subtitle %][% subtitl.subfield %][% END %][% END %]</a>
+[% END %]
                     <span class="item-details">
-                        [% READING_RECOR.author %]
+                        [% issue.author %]
                     </span></td>
-<td>[% UNLESS ( noItemTypeImages ) %][% IF ( READING_RECOR.imageurl ) %]<img src="[% READING_RECOR.imageurl %]" alt="" />[% END %][% END %] [% READING_RECOR.description %]</td>
-<td>[% READING_RECOR.itemcallnumber %]</td>
-<td>[% IF ( READING_RECOR.returndate ) %][% READING_RECOR.returndate | $KohaDates %][% ELSE %]<em>(Checked out)</em>[% END %]</td>
+<td>
+[% UNLESS ( noItemTypeImages ) %][% IF ( issue.imageurl ) %]<img src="[% issue.imageurl %]" alt="" />[% END %][% END %] [% issue.description %]</td>
+<td>[% issue.itemcallnumber %]</td>
+<td>
+[% IF issue.returndate %]
+    [% issue.returndate | $KohaDates %]
+[% ELSE %]
+    <em>(Checked out)</em>
+[% END %]
+</td>
+[% IF OPACMySummaryHTML %]
+    <td>[% issue.MySummaryHTML %]</td>
+[% END %]
 </tr>
 
 [% END %]
index cdd201b..8096baf 100644 (file)
                 [% FOREACH bibitemloo IN bibitemloop %]
                   <tr>
                       [% IF ( bibitemloo.holdable ) %]
-                                         <td>
+                                    <td class="hold">
                       <input class="reserve_mode" name="reserve_mode" type="hidden" value="single"/>
                       <input class="single_bib" name="single_bib" type="hidden" value="[% bibitemloo.biblionumber %]"/>
                         <span class="confirmjs_hold" title="[% bibitemloo.biblionumber %]"></span>
                         </span>
                                        </td>
                       [% ELSE %]
-                                         [% UNLESS ( none_available ) %]<td>&nbsp;</td>[% END %]
+                                      [% UNLESS ( none_available ) %]<td class="hold">&nbsp;</td>[% END %]
                       [% END %]
-                    [% IF ( bibitemloo.holdable ) %]<td>[% ELSE %]<td colspan="5">[% END %]
+                    [% IF ( bibitemloo.holdable ) %]<td class="title">[% ELSE %]<td class="title" colspan="5">[% END %]
                       <a href="/cgi-bin/koha/opac-detail.pl?biblionumber=[% bibitemloo.biblionumber %]">[% bibitemloo.title |html %][% IF ( bibitemloo.subtitle ) %] [% FOREACH subtitl IN bibitemloo.subtitle %][% subtitl.subfield %][% END %][% END %]</a>
                       [% IF ( bibitemloo.author ) %],  by [% bibitemloo.author %][% END %]
 
                     [% IF ( bibitemloo.holdable ) %]
             <!-- HOLDABLE -->
                         [% UNLESS ( item_level_itypes ) %]
-                        <td>
+                        <td class="itype">
                             [% IF ( bibitemloo.imageurl ) %]<img src="[% bibitemloo.imageurl %]" alt="" />[% END %]
                             [% bibitemloo.description %]
                         </td>
                         [% END %]
                         [% IF showholds || showpriority %]
-                        <td>
+                        <td class="priority">
                         [% IF showpriority %] [% bibitemloo.rank %] [% END %]
                         [% IF showholds && showpriority %] out of [% END %]
                         [% IF showholds %] [% bibitemloo.reservecount %] [% END %]
                         </td>
                         [% END %]
                 [% IF ( reserve_in_future ) %]
-                        <td>
+                        <td class="reserve_date">
               <input name="reserve_date_[% bibitemloo.biblionumber %]" id="from" size="10" class="datepickerfrom"/>
               <script language="JavaScript" type="text/javascript">
               //<![CDATA[
                 </td>[% END %]
 
                    [% END %]
-       [% IF ( bibitemloo.holdable ) %]<td>
+        [% IF ( bibitemloo.holdable ) %]<td class="expiration_date">
         <input name="expiration_date_[% bibitemloo.biblionumber %]" id="to" size="10" readonly="readonly" class="datepickerto" />
       <p style="margin:.3em 2em;">
       <a href="#" style="font-size:85%;text-decoration:none;" onclick="document.getElementById('expiration_date_[% bibitemloo.biblionumber %]').value='';return false;">Clear date</a></p>
                     [% UNLESS ( singleBranchMode ) %]
                         [% IF ( bibitemloo.holdable ) %]
                            [% IF ( choose_branch ) %]
-                                          <td>
+                                          <td class="branch">
                          [% UNLESS ( bibitemloo.holdable ) %]
                             <select name="branch" id="branch_[% bibitemloo.biblionumber %]" disabled="disabled">
                               [% FOREACH branchChoicesLoo IN bibitemloo.branchChoicesLoop %]
 
                           [% FOREACH itemLoo IN bibitemloo.itemLoop %]
                             <tr class="[% itemLoo.backgroundcolor %]">
-                              <td>
+                              <td class="copy">
                                 [% IF ( itemLoo.available ) %]
                                   <input type="radio" class="checkitem checkitem_[% bibitemloo.biblionumber %]" name="checkitem_[% bibitemloo.biblionumber %]"
                                          value="[% itemLoo.itemnumber %]" />
                                 [% ELSE %]
                                   <input disabled="disabled" type="radio" class="checkitem" name="checkitem" value="[% itemLoo.itemnumber %]" />
-                                  <img src="/opac-tmpl/[% theme %]/famfamfam/silk/cross.png" alt="Cannot be put on hold" title="Cannot be put on hold" />
+                                  <img src="/opac-tmpl/lib/famfamfam/silk/cross.png" alt="Cannot be put on hold" title="Cannot be put on hold" />
                                 [% END %] [% IF ( itemLoo.copynumber ) %][% itemLoo.copynumber %][% END %]
                               </td>
                               [% IF ( item_level_itypes ) %]
-                                <td>
+                                <td class="itype">
                                   [% UNLESS ( noItemTypeImages ) %]
                                   [% IF ( itemLoo.imageurl ) %]<img src="[% itemLoo.imageurl %]" alt="" />[% END %]
                                   [% END %]
                                                                [% itemLoo.description %]
                                 </td>
                               [% END %]
-                              <td>[% itemLoo.barcode %]</td>
+                              <td class="barcode">[% itemLoo.barcode %]</td>
                               [% UNLESS ( singleBranchMode ) %]
-                                <td>[% itemLoo.homeBranchName %]</td>
-                                <td>[% itemLoo.holdingBranchName %]</td>
+                                <td class="homebranch">[% itemLoo.homeBranchName %]</td>
+                                <td class="holdingbranch">[% itemLoo.holdingBranchName %]</td>
                               [% END %]
-                              <td>[% itemLoo.callNumber %]</td>
+                              <td class="call_no">[% itemLoo.callNumber %]</td>
                               [% IF ( itemLoo.itemdata_enumchron ) %]<!-- test -->
-                                <td>[% itemLoo.enumchron %]</td>
+                                <td class="vol_info">[% itemLoo.enumchron %]</td>
                               [% END %]
-                              <td>
+                              <td class="information">
                                 [% IF ( itemLoo.dateDue ) %]
                                   <span class="checkedout">Due [% itemLoo.dateDue %]</span>
                                 [% ELSIF ( itemLoo.transfertwhen ) %]
index 6191342..a3c09e2 100644 (file)
@@ -6,7 +6,7 @@
     You did not specify any search criteria.
 [% END %]
 [% INCLUDE 'doc-head-close.inc' %]
-<link rel="alternate" type="application/rss+xml" title="[% LibraryName |html %] Search RSS Feed" href="[% OPACBaseurl %]/cgi-bin/koha/opac-search.pl?[% query_cgi |html %][% limit_cgi |html %]&amp;count=[% countrss |html %]&amp;sort_by=acqdate_dsc&amp;format=rss2" />
+<link rel="alternate" type="application/rss+xml" title="[% LibraryName |html %] Search RSS Feed" href="[% OPACBaseURL %]/cgi-bin/koha/opac-search.pl?[% query_cgi |html %][% limit_cgi |html %]&amp;count=[% countrss |html %]&amp;sort_by=acqdate_dsc&amp;format=rss2" />
 [% IF ( OpacStarRatings == 'all' ) %]<script type="text/javascript" src="/opac-tmpl/prog/en/lib/jquery/plugins/jquery.rating.js"></script>
 <link rel="stylesheet" type="text/css" href="/opac-tmpl/prog/en/css/jquery.rating.css" />[% END %]
 
@@ -263,6 +263,13 @@ $(document).ready(function(){
     [% IF OpenLibraryCovers %]KOHA.OpenLibrary.GetCoverFromIsbn();[% END %]
     [% IF OPACLocalCoverImages %]KOHA.LocalCover.GetCoverFromBibnumber(false);[% END %]
     [% IF ( GoogleJackets ) %]KOHA.Google.GetCoverFromIsbn();[% END %]
+
+    $('#didyoumean').load('/cgi-bin/koha/svc/suggestion?render=stub&q=[% querystring | uri %]',
+        function() {
+            $('.searchsuggestion').parent().parent().css({
+                'border-color': '#F4ECBE',
+                'background-color': '#FFFBEA'});
+            } );
 });
 
 //]]>
@@ -278,6 +285,10 @@ $(document).ready(function(){
     <div id="yui-main">
     <div class="yui-b">
     <div id="userresults" class="container">
+    [% IF ( DidYouMean ) %]
+        <div id='didyoumean'>Not what you expected? Check for <a href='/cgi-bin/koha/svc/suggestion?render=standalone&q=[% querystring | uri %]'>suggestions</a></div>
+    [% END %]
+    [% INCLUDE 'page-numbers.inc' %]<br />
   [% IF ( koha_spsuggest ) %]
     Did you mean:
     <ul style="list-style: none;">
@@ -475,10 +486,9 @@ $(document).ready(function(){
 
                 <span class="results_summary">
                 <span class="label">Availability:</span>
-                    [% IF ( SEARCH_RESULT.available_items_loop.0 ) %]
+                    [% IF ( SEARCH_RESULT.available_items_loop.size() ) %]
                     <span class="available"><strong>Copies available:</strong>
                     [% FOREACH available_items_loo IN SEARCH_RESULT.available_items_loop %]
-                    [% UNLESS ( available_items_loo.hideatopac ) %]
                     [% IF ( singleBranchMode ) %]
                         [% available_items_loo.location %]
                     [% ELSE %]
@@ -491,7 +501,6 @@ $(document).ready(function(){
                     [% END %]
                     ([% available_items_loo.count %]),
                     [% END %]
-                    [% END %]
                     </span>
                     [% ELSE %]
                     [% IF ( SEARCH_RESULT.ALTERNATEHOLDINGS ) %]
index 6e2b974..6845f6b 100644 (file)
@@ -11,7 +11,7 @@
                        [% IF ( cgi_debug ) %]alert(_('injecting OLD comment: ')+comment);[% END %]
             parent.opener.$('#c[% reviewid %] p').prev("small").prev("h5").html(_("Your edited comment (preview, pending approval)"));
                        parent.opener.$('#c[% reviewid %] p').html(comment);
-                       parent.opener.$('#c[% reviewid %] p').append("<a href=\"#comment\" onclick=\"Dopop(\'/cgi-bin/koha/opac-review.pl?biblionumber=[% biblionumber | uri %]&amp;reviewid=[% reviewid | uri%]\');\">Edit<\/a>");
+            parent.opener.$('#c[% reviewid %] p').append(" <a href=\"#comment\" onclick=\"Dopop(\'/cgi-bin/koha/opac-review.pl?biblionumber=[% biblionumber | uri %]&amp;reviewid=[% reviewid | uri%]\');\">"+_("Edit")+"<\/a>");
                        [% END %]
                        return 1;
                };
@@ -21,7 +21,7 @@
                        parent.opener.$('#newcomment').html(
                 "<h5>" + _("Your comment (preview, pending approval)") + "<\/h5>" +
                                "<p>"+comment+"<\/p>" +
-                               "<a href=\"#comment\" onclick=\"Dopop(\'/cgi-bin/koha/opac-review.pl?biblionumber=[% biblionumber |uri%]\');\">Edit<\/a><\/p>"
+                "<a href=\"#comment\" onclick=\"Dopop(\'/cgi-bin/koha/opac-review.pl?biblionumber=[% biblionumber |uri%]\');\">"+_("Edit")+"<\/a><\/p>"
                        );
                        parent.opener.$("#addcomment").prev("p").remove();
                        parent.opener.$("#addcomment").remove();
@@ -41,7 +41,6 @@
                                window.close();
                        [% END %]
                [% END %]
-               // $('#reviewf').submit(function() {});
        });
 //]]>
 </script>
@@ -67,6 +66,7 @@
 [% END %]
 <form id="reviewf" action="/cgi-bin/koha/opac-review.pl[% IF ( cgi_debug ) %]?debug=1[% END %]" method="post">
     <input type="hidden" name="biblionumber" value="[% biblionumber | html%]" />
+    [% IF ( reviewid ) %]<input type="hidden" name="reviewid" value="[% reviewid | html%]" />[% END %]
        <fieldset class="brief">
        <legend>Comments on <i>[% title |html %] [% subtitle %]</i>[% IF ( author ) %]by [% author %][% END %]</legend>
             <ol><li><textarea id="review" name="review" cols="60" rows="8">[% review %]</textarea></li></ol>
index 18f3da5..471dddb 100644 (file)
@@ -147,6 +147,8 @@ $(function() {
       return false;
     });
   [% END %]
+    [% IF OpenLibraryCovers %]KOHA.OpenLibrary.GetCoverFromIsbn();[% END %]
+    [% IF OPACLocalCoverImages %]KOHA.LocalCover.GetCoverFromBibnumber(false);[% END %]
   [% IF ( GoogleJackets ) %]KOHA.Google.GetCoverFromIsbn();[% END %]
 });
       function Check(f) {
@@ -221,7 +223,7 @@ $(function() {
                      </div>
                     [% END %]
                     [% IF ( paramsloo.nopermission ) %]
-                      <div class="dialog alert">ERROR: You do not have adequate permission for that action on list [% paramsloo.nopermission %].</div>
+                      <div class="dialog alert">ERROR: You do not have adequate permission for that action on list [% paramsloo.nopermission |html%].</div>
                     [% END %]
                     [% IF ( paramsloo.failgetitem ) %]
                       <div class="dialog alert">ERROR: No item found with barcode [% paramsloo.failgetitem %].</div>
@@ -255,7 +257,7 @@ $(function() {
             <div class="yui-g">
 
             [% IF ( viewshelf ) %]<!--  Viewing a particular shelf -->
-              <h3><a href="/cgi-bin/koha/opac-shelves.pl">Lists</a> <img src="[% themelang %]/../images/caret.gif" width="16" height="16" alt="&gt;" border="0" /> <em>[% shelfname |html %]</em></h3>
+              <h3><a href="/cgi-bin/koha/opac-shelves.pl">Lists</a> &#8674; <em>[% shelfname |html %]</em></h3>
               [% IF ( itemsloop ) %]
                   <div id="toolbar" class="list-actions">
 
@@ -408,6 +410,7 @@ $(function() {
                         </td>
           <td>
           <a class="p1" href="/cgi-bin/koha/opac-detail.pl?biblionumber=[% itemsloo.biblionumber %]">
+            [% IF ( OPACLocalCoverImages ) %]<span title="[% itemsloo.biblionumber |url %]" class="[% itemsloo.biblionumber %]" id="local-thumbnail[% loop.count %]"></span>[% END %]
                     [% IF ( OPACAmazonCoverImages ) %][% IF ( itemsloo.normalized_isbn ) %]<img src="http://images.amazon.com/images/P/[% itemsloo.normalized_isbn %].01.TZZZZZZZ.jpg" alt="" class="thumbnail" />[% ELSE %]<span class="no-image">No cover image available</span>[% END %][% END %]
 
           [% IF ( SyndeticsEnabled ) %][% IF ( SyndeticsCoverImages ) %][% IF ( using_https ) %]
@@ -416,6 +419,7 @@ $(function() {
                 <img src="http://www.syndetics.com/index.aspx?isbn=[% itemsloo.normalized_isbn %]/SC.GIF&amp;client=[% SyndeticsClientCode %]&amp;type=xw10&amp;upc=[% itemsloo.normalized_upc %]&amp;oclc=[% itemsloo.normalized_oclc %]" alt="" class="thumbnail" />[% END %][% END %][% END %]
 
                 [% IF ( GoogleJackets ) %][% IF ( itemsloo.normalized_isbn ) %]<div style="block" title="[% itemsloo.biblionumber |url %]" class="[% itemsloo.normalized_isbn %]" id="gbs-thumbnail[% loop.count %]"></div>[% ELSE %]<span class="no-image">No cover image available</span>[% END %][% END %]
+                [% IF OpenLibraryCovers %][% IF itemsloo.normalized_isbn %]<span style="block" title="[% itemsloo.biblionumber %]" class="[% itemsloo.normalized_isbn %]" id="openlibrary-thumbnail[% loop.count %]"></span>[% ELSE %]<span class="no-image">No cover image available</span>[% END %][% END %]
                 </a>
                 [% IF ( BakerTaylorEnabled ) %][% IF ( itemsloo.normalized_isbn ) %]<a href="https://[% BakerTaylorBookstoreURL |html %][% itemsloo.normalized_isbn %]"><img alt="See Baker &amp; Taylor" src="[% BakerTaylorImageURL |html %][% itemsloo.normalized_isbn %]" /></a>[% ELSE %]<span class="no-image">No cover image available</span>[% END %][% END %]
         </td>
index 2159022..b354419 100644 (file)
@@ -1,6 +1,4 @@
-[% USE KohaDates %]
-
-<?xml version="1.0" encoding="utf-8"?>
+[% USE KohaDates # XML declaration should have no white space before it %]<?xml version="1.0" encoding="utf-8"?>
 <rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom">
 <channel>
      <title><![CDATA[[% IF ( LibraryNameTitle ) %][% LibraryNameTitle %][% ELSE %]Koha online[% END %] Catalog Recent Comments]]></title>
index b91d3d1..a9f05c8 100644 (file)
 </style>
 <script type="text/javascript">
 //<![CDATA[
-       var fontsizes = new Array (12,14,16,18,20,22,24,26,28,30);
-       var fontcount = fontsizes.length;
-       var maxcloudweight = 1;
-       $(document).ready(function() {
-               // $('#tagcloud').css('background-color','lightgrey');
-               // $('#tagcloud .tag').css('border','1px solid black');
-               $('#tagcloud .tag').each(function() {
-                       if (maxcloudweight < this.title) { maxcloudweight = this.title; }
-                       // have to run through the set of tags once to get the max: cannot be combined w/ 2nd pass
-               });
-               $('#tagcloud .tag').each(function(i) {
-                       var pos = this.id;
-                       var weight = this.title;        // "cloudweight"
-                       weight = (! weight) ? 1 : (weight > maxcloudweight) ? maxcloudweight : weight ;
-                       var index = Math.round(fontcount * weight/maxcloudweight) - 1;
-                       index  = (! index ) ? 0 : ( index > fontcount     ) ? fontcount      : index  ;
-                       var newsize = fontsizes[index];
-                       // alert(pos+ " (" +i+ ") weight = " +weight+ " of " +maxcloudweight+ ", fontsize[" +index+ " of " +fontcount+ "] = " +newsize);
-                       $('#' + pos).css({"font-size":(newsize + 'px'), display:"inline"});
-               });
                $("#mytagst").tablesorter({[% IF ( dateformat == 'metric' ) %]
     dateFormat: 'uk',[% END %]
             widgets : ['zebra'],
                        headers: { 3: { sorter: false }},
             sortList: [[2,0]]
         });
-       });
 //]]>
 </script>
 </head>
@@ -90,7 +69,7 @@
        [% IF ( TAGLOOP ) %]
        <div id="tagcloud">
        [% FOREACH TAGLOO IN TAGLOOP %]
-    <span class="tag" id="tag[% loop.count %]">
+            <span class="tag tagweight[% TAGLOO.stratum %]" id="tag[% loop.count %]" style="display:inline;">
                <a href="/cgi-bin/koha/opac-search.pl?tag=[% TAGLOO.term |url %]&amp;q=[% TAGLOO.term |url %]">
                [% TAGLOO.term |html %]</a>
                        <span class="tagweight">[% TAGLOO.weight_total %]</span>
index 26b5efc..43b8329 100644 (file)
@@ -101,9 +101,9 @@ $.tablesorter.addParser({
                 <span id="lost"><li><strong>Please note: </strong> Your library card has been marked as lost or stolen. If this is an error, please contact the library.</li></span>
             [% END %]
             [% IF ( renewal_blocked_fines ) && ( OpacRenewalAllowed ) %]
-                <span id="renewal_blocked_fines"><li><strong>Please note: </strong> Since you have <a href="/cgi-bin/koha/opac-account.pl">more than <span id="renewal_blocked_fines_amount">[% renewal_blocked_fines %]</span></a> in fines, you cannot renew your books online. Please pay your fines if you wish to renew your books.</li></span>
+                <span id="renewal_blocked_fines"><li><strong>Please note: </strong> Since you have <a href="/cgi-bin/koha/opac-account.pl">[% IF renewal_blocked_fines != "0.00" %] more than <span id="renewal_blocked_fines_amount">[% renewal_blocked_fines %]</span> in [% END %] fines</a>, you cannot renew your books online. Please pay your fines if you wish to renew your books.</li></span>
             [% ELSIF ( renewal_blocked_fines ) %]
-                <span id="renewal_blocked_fines"><li><strong>Please note: </strong> You currently owe <a href="/cgi-bin/koha/opac-account.pl"><span id="renewal_blocked_fines_amount">[% renewal_blocked_fines %] in fines.</span></a></li></span>
+                <span id="renewal_blocked_fines"><li><strong>Please note: </strong> You currently owe <a href="/cgi-bin/koha/opac-account.pl"><span id="renewal_blocked_fines_amount">[% renewal_blocked_fines_amountoutstanding %] in fines. Please pay your fines if you wish to renew your books.</span></a></li></span>
             [% END %]
         </ul></div>
         [% END %]
@@ -171,28 +171,28 @@ $.tablesorter.addParser({
 
 </td>[% END %]
 
-                <td><a href="/cgi-bin/koha/opac-detail.pl?biblionumber=[% ISSUE.biblionumber %]">[% ISSUE.title |html %]</a><span class="item-details">
+                <td class="title"><a href="/cgi-bin/koha/opac-detail.pl?biblionumber=[% ISSUE.biblionumber %]">[% ISSUE.title |html %]</a><span class="item-details">
                         [% ISSUE.author %]
                     </span></td>
                 [% IF ( ISSUE.overdue ) %]
-                    <td class="overdue">[% ISSUE.date_due | $KohaDates %]</td>
+                    <td class="date_due overdue">[% ISSUE.date_due | $KohaDates %]</td>
                 [% ELSE %]
-                    <td>[% ISSUE.date_due | $KohaDates %]</td>
+                    <td class="date_due">[% ISSUE.date_due | $KohaDates %]</td>
                 [% END %]
-                [% UNLESS ( item_level_itypes ) %]<td>[% IF ( ISSUE.imageurl ) %]<img src="[% ISSUE.imageurl %]" title="[% ISSUE.description %]" alt="[% ISSUE.description %]" />[% END %] [% ISSUE.description %]</td>[% END %]
-                [% IF ( show_barcode ) %]<td>[% ISSUE.barcode %]</td>[% END %]
-                <td>[% ISSUE.itemcallnumber %]</td>
+                [% UNLESS ( item_level_itypes ) %]<td class="itype">[% IF ( ISSUE.imageurl ) %]<img src="[% ISSUE.imageurl %]" title="[% ISSUE.description %]" alt="[% ISSUE.description %]" />[% END %] [% ISSUE.description %]</td>[% END %]
+                [% IF ( show_barcode ) %]<td class="barcode">[% ISSUE.barcode %]</td>[% END %]
+                <td class="call_no">[% ISSUE.itemcallnumber %]</td>
                 [% IF ( OpacRenewalAllowed ) %]
-                    <td>[% IF ( ISSUE.status ) %][% IF ( canrenew ) %]<input type="checkbox" name="item" value="[% ISSUE.itemnumber %]"/> <a href="/cgi-bin/koha/opac-renew.pl?from=opac_user&amp;item=[% ISSUE.itemnumber %]&amp;borrowernumber=[% ISSUE.borrowernumber %]">Renew</a>[% END %] <span class="renewals">([% ISSUE.renewsleft %] of [% ISSUE.renewsallowed %] renewals remaining)</span>
+                    <td class="renew">[% IF ( ISSUE.status ) %][% IF ( canrenew ) %]<input type="checkbox" name="item" value="[% ISSUE.itemnumber %]"/> <a href="/cgi-bin/koha/opac-renew.pl?from=opac_user&amp;item=[% ISSUE.itemnumber %]&amp;borrowernumber=[% ISSUE.borrowernumber %]">Renew</a>[% END %] <span class="renewals">([% ISSUE.renewsleft %] of [% ISSUE.renewsallowed %] renewals remaining)</span>
                         [% ELSE %]
                         Not renewable[% IF ( ISSUE.too_many ) %] <span class="renewals">([% ISSUE.renewsleft %] of [% ISSUE.renewsallowed %] renewals remaining)</span>[% ELSE %][% IF ( ISSUE.on_reserve ) %] <span class="renewals">(On hold)</span>[% END %][% END %] 
                         [% END %]</td>
                 [% END %]
 [% IF ( OPACFinesTab ) %]
-                <td>[% IF ( ISSUE.charges ) %]Yes[% ELSE %]No[% END %]</td>
+                <td class="fines">[% IF ( ISSUE.charges ) %]Yes[% ELSE %]No[% END %]</td>
 [% END %]
             [% IF ( OPACMySummaryHTML ) %]
-                <td>[% ISSUE.MySummaryHTML %]</td>
+                <td class="links">[% ISSUE.MySummaryHTML %]</td>
             [% END %]
             </tr>
         [% END %]</tbody>
@@ -372,16 +372,16 @@ $.tablesorter.addParser({
                     [% ELSE %]
                             <tr>
                     [% END %]
-                <td><a href="/cgi-bin/koha/opac-detail.pl?biblionumber=[% RESERVE.biblionumber %]">[% RESERVE.reserves_title %]</a>
+                <td class="title"><a href="/cgi-bin/koha/opac-detail.pl?biblionumber=[% RESERVE.biblionumber %]">[% RESERVE.reserves_title %]</a>
                     [% RESERVE.author %]
                 </td>
-                <td>[% RESERVE.reservedate | $KohaDates %]</td>
-        <td>[% IF ( RESERVE.expirationdate ) %][% RESERVE.expirationdate | $KohaDates %][% ELSE %]Never expires[% END %]</td>
-                <td>[% RESERVE.branch %]</td>
+                <td class="reservedate">[% RESERVE.reservedate | $KohaDates %]</td>
+        <td class="expirationdate">[% IF ( RESERVE.expirationdate ) %][% RESERVE.expirationdate | $KohaDates %][% ELSE %]Never expires[% END %]</td>
+                <td class="branch">[% RESERVE.branch %]</td>
                                [% IF ( showpriority ) %]
-                               <td>[% RESERVE.priority %] </td>
+                             <td class="priority">[% RESERVE.priority %] </td>
                                [% END %]
-                <td>
+                <td class="status">
                     [% IF ( RESERVE.wait ) %]
                         [% IF ( RESERVE.atdestination ) %]
                             [% IF ( RESERVE.found ) %]
@@ -404,7 +404,7 @@ $.tablesorter.addParser({
                             [% END %]
                     [% END %]
                 </td>
-               <td>
+              <td class="modify">
                [% IF ( RESERVE.cancelable ) %]
                        <form action="/cgi-bin/koha/opac-modrequest.pl" method="post">
                        <input type="hidden" name="biblionumber" value="[% RESERVE.biblionumber %]" />
index 0befa83..e695a7a 100644 (file)
@@ -9,7 +9,7 @@
        <div id="yui-main">
        <div class="yui-b"><div class="yui-g">
 
-<h3><a href="/cgi-bin/koha/opac-user.pl">[% firstname %] [% surname %]'s account</a> <img src="[% themelang %]../../images/caret.gif" width="16" height="16" alt="&gt;" border="0" /> Personal details</h3>
+<h3><a href="/cgi-bin/koha/opac-user.pl">[% firstname %] [% surname %]'s account</a> &#8674; Personal details</h3>
 
 <table>
 <tr><th scope="row">Name:</th><td> [% firstname %] [% surname %]</td></tr>
index b903e4d..320b30b 100644 (file)
@@ -13,7 +13,7 @@
 
 <div id="userupdatecontainer" class="container">
 [% FOREACH BORROWER_INF IN BORROWER_INFO %]
-<h3><a href="/cgi-bin/koha/opac-user.pl">[% INCLUDE 'patron-title.inc' firstname = BORROWER_INF.firstname surname = BORROWER_INF.surname othernames = BORROWER_INF.othernames cardnumber = BORROWER_INF.cardnumber %]'s account</a> <img src="[% themelang %]../../images/caret.gif" width="16" height="16" alt="&gt;" border="0" /> Your personal details</h3>
+<h3><a href="/cgi-bin/koha/opac-user.pl">[% INCLUDE 'patron-title.inc' firstname = BORROWER_INF.firstname surname = BORROWER_INF.surname othernames = BORROWER_INF.othernames cardnumber = BORROWER_INF.cardnumber %]'s account</a> &#8674; Your personal details</h3>
 
 [% IF ( OPACPatronDetails ) %]
 <form action="/cgi-bin/koha/opac-userupdate.pl" method="get">
@@ -89,9 +89,9 @@
     [% FOREACH patron_attribute IN BORROWER_INF.patron_attributes %]
         <li><label>[% patron_attribute.description %]</label>
         [% IF ( patron_attribute.value_description ) %]
-            <input type="text"  disabled="disabled" readonly="readonly" value="[% patron_attribute.value_description %]" />
+            [% patron_attribute.value_description %]"
         [% ELSE %]
-            <input type="text"  disabled="disabled" readonly="readonly" value="[% patron_attribute.value %]" />
+            [% patron_attribute.value |html_line_break %]
         [% END %]
         </li>
     [% END %]
index df4f0d3..32b4f56 100644 (file)
@@ -3,6 +3,8 @@
 <meta name="generator" content="Koha [% Version %]" /> <!-- leave this for stats -->
 <link rel="shortcut icon" href="[% themelang %]/includes/favicon.ico" type="image/x-icon" />
 
+<link rel="stylesheet" type="text/css" href="[% yuipath %]/reset-fonts-grids.css" />
+<link rel="stylesheet" type="text/css" href="[% yuipath %]/skin.css" />
 <link rel="stylesheet" type="text/css" href="[% themelang %]/css/sco.css" />
 </head>
 <body>
index 8eb9f08..66cace5 100644 (file)
@@ -97,6 +97,8 @@ $(document).ready(function() {
 [% IF ( opacuserjs ) %]<script type="text/javascript">[% opacuserjs %]</script>[% END %]
 
 
+<link rel="stylesheet" type="text/css" href="[% yuipath %]/reset-fonts-grids.css" />
+<link rel="stylesheet" type="text/css" href="[% yuipath %]/skin.css" />
 <link rel="stylesheet" type="text/css" href="[% themelang %]/css/sco.css" />
 [% IF ( OPACUserCSS ) %]<style type="text/css">[% OPACUserCSS %]</style>[% END %]
 
index ab2ea12..39b5405 100644 (file)
@@ -6,7 +6,7 @@
     You did not specify any search criteria.
 [% END %]
 [% INCLUDE 'doc-head-close.inc' %]
-<link rel="alternate" type="application/rss+xml" title="[% LibraryName |html %] Search RSS Feed" href="[% OPACBaseurl %]/cgi-bin/koha/opac-search.pl?[% query_cgi |html %][% limit_cgi |html %]&amp;count=[% countrss |html %]&amp;sort_by=acqdate_dsc&amp;format=rss2" />
+<link rel="alternate" type="application/rss+xml" title="[% LibraryName |html %] Search RSS Feed" href="[% OPACBaseURL %]/cgi-bin/koha/opac-search.pl?[% query_cgi |html %][% limit_cgi |html %]&amp;count=[% countrss |html %]&amp;sort_by=acqdate_dsc&amp;format=rss2" />
 <script type="text/javascript" src="/opac-tmpl/prog/en/lib/jquery/jquery.js"></script>
 <link rel="stylesheet" type="text/css" href="/opac-tmpl/prog/en/css/jquery.rating.css" />
 
diff --git a/koha-tmpl/opac-tmpl/prog/en/modules/svc/suggestion.tt b/koha-tmpl/opac-tmpl/prog/en/modules/svc/suggestion.tt
new file mode 100644 (file)
index 0000000..1bc77ba
--- /dev/null
@@ -0,0 +1,36 @@
+[% IF (render=='standalone') %]
+[% INCLUDE 'doc-head-open.inc' %]Search suggestions</title>
+    [% INCLUDE 'doc-head-close.inc' %]
+</head>
+<body id="opac-suggestion">
+    [% IF ( OpacNav ) %]<div id="doc3" class="yui-t1">[% ELSE %]<div id="doc3" class="yui-t7">[% END %]
+        <div id="bd">
+            [% INCLUDE 'masthead.inc' %]
+            <div id="yui-main">
+            <div class="yui-b">
+            <div class="yui-ge">
+            <div class="container">
+            <h1 class="title">Suggestions</h1>
+[% END %]
+[% IF suggestions && suggestions.size %]
+    <div>
+    <span class='suggestionlabel'>Did you mean:</span>
+    [% FOREACH suggestion IN suggestions %]
+        <span class='searchsuggestion'><a href='/cgi-bin/koha/opac-search.pl?q=[% suggestion.search | uri %]'>[% suggestion.label %]</a></span>
+    [% END %]
+    </div>
+[% ELSE %]
+    <span class='nosuggestions'>Sorry, no suggestions.</span>
+[% END %]
+[% IF (render=='standalone') %]
+    </div>
+    </div>
+    </div>
+    [% IF ( OpacNav ) %]
+        <div class="yui-b"><div id="leftmenus" class="container">
+        [% INCLUDE 'navigation.inc' %]
+        </div></div>
+    [% END %]
+    </div>
+    [% INCLUDE 'opac-bottom.inc' %]
+[% END %]
diff --git a/koha-tmpl/opac-tmpl/prog/en/modules/text/explodedterms.tt b/koha-tmpl/opac-tmpl/prog/en/modules/text/explodedterms.tt
new file mode 100644 (file)
index 0000000..6f394ad
--- /dev/null
@@ -0,0 +1,8 @@
+[%- SWITCH index -%]
+[%- CASE 'su-na' -%]
+Search also for narrower subjects
+[%- CASE 'su-br' -%]
+Search also for broader subjects
+[%- CASE 'su-rl' -%]
+Search also for related subjects
+[%- END -%]
index 5daff77..7917c0b 100644 (file)
@@ -7,7 +7,7 @@
   xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
   exclude-result-prefixes="marc items">
     <xsl:import href="MARC21slimUtils.xsl"/>
-    <xsl:output method = "xml" indent="yes" omit-xml-declaration = "yes" />
+    <xsl:output method = "html" indent="yes" omit-xml-declaration = "yes" />
     <xsl:template match="/">
             <xsl:apply-templates/>
     </xsl:template>
    <xsl:if test="$DisplayOPACiconsXSLT!='0'">
         <xsl:if test="$materialTypeCode!=''">
         <span class="results_summary type"><span class="label">Type: </span>
-        <xsl:element name="img"><xsl:attribute name="src">/opac-tmpl/prog/famfamfam/<xsl:value-of select="$materialTypeCode"/>.png</xsl:attribute><xsl:attribute name="alt">materialTypeLabel</xsl:attribute><xsl:attribute name="class">materialtype</xsl:attribute></xsl:element>
+        <xsl:element name="img"><xsl:attribute name="src">/opac-tmpl/lib/famfamfam/<xsl:value-of select="$materialTypeCode"/>.png</xsl:attribute><xsl:attribute name="alt">materialTypeLabel</xsl:attribute><xsl:attribute name="class">materialtype</xsl:attribute></xsl:element>
         <xsl:value-of select="$materialTypeLabel"/>
         </span>
         </xsl:if>
                 </xsl:with-param>
             </xsl:call-template>
             </a>
+            <xsl:if test="marc:subfield[@code=9]">
+                <a class='authlink'>
+                    <xsl:attribute name="href">/cgi-bin/koha/opac-authoritiesdetail.pl?authid=<xsl:value-of select="marc:subfield[@code=9]"/></xsl:attribute>
+                    <img style="vertical-align:middle" height="15" width="15" src="/opac-tmpl/prog/images/filefind.png"/>
+                </a>
+            </xsl:if>
             <xsl:choose>
             <xsl:when test="position()=last()"></xsl:when>
             <xsl:otherwise> | </xsl:otherwise>
 
         <!-- 505 -->
         <xsl:if test="marc:datafield[@tag=505]">
+        <div class="results_summary contents">
         <xsl:for-each select="marc:datafield[@tag=505]">
-        <span class="results_summary contents">
-        <xsl:choose>
-        <xsl:when test="@ind1=1">
-            <span class="label">Incomplete contents:</span>
-        </xsl:when>
-        <xsl:when test="@ind1=1">
-            <span class="label">Partial contents:</span>
-        </xsl:when>
-        <xsl:otherwise>
-            <span class="label">Contents:</span>
-        </xsl:otherwise>
-        </xsl:choose>
+        <xsl:if test="position()=1">
+            <xsl:choose>
+            <xsl:when test="@ind1=1">
+                <span class="label">Incomplete contents:</span>
+            </xsl:when>
+            <xsl:when test="@ind1=2">
+                <span class="label">Partial contents:</span>
+            </xsl:when>
+            <xsl:otherwise>
+                <span class="label">Contents:</span>
+            </xsl:otherwise>
+            </xsl:choose>
+        </xsl:if>
+        <div class='contentblock'>
         <xsl:choose>
         <xsl:when test="@ind2=0">
-            <xsl:call-template name="subfieldSelect">
+            <xsl:call-template name="subfieldSelectSpan">
                 <xsl:with-param name="codes">tru</xsl:with-param>
             </xsl:call-template>
         </xsl:when>
         <xsl:otherwise>
-            <xsl:call-template name="subfieldSelect">
-                <xsl:with-param name="codes">au</xsl:with-param>
+            <xsl:call-template name="subfieldSelectSpan">
+                <xsl:with-param name="codes">atru</xsl:with-param>
             </xsl:call-template>
         </xsl:otherwise>
         </xsl:choose>
-        </span>
+        </div>
         </xsl:for-each>
+        </div>
         </xsl:if>
 
         <!-- 583 -->
                     <xsl:text>]</xsl:text>
                 </xsl:if>
             </a>
+            <xsl:if test="marc:subfield[@code=9]">
+                <a class='authlink'>
+                    <xsl:attribute name="href">/cgi-bin/koha/opac-authoritiesdetail.pl?authid=<xsl:value-of select="marc:subfield[@code=9]"/></xsl:attribute>
+                    <img style="vertical-align:middle" height="15" width="15" src="/opac-tmpl/prog/images/filefind.png"/>
+                </a>
+            </xsl:if>
         </xsl:for-each>
         <xsl:text>.</xsl:text>
     </xsl:template>
index 2b5aacc..4f0acd3 100644 (file)
@@ -7,7 +7,7 @@
   xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
   exclude-result-prefixes="marc items">
     <xsl:import href="MARC21slimUtils.xsl"/>
-    <xsl:output method = "xml" indent="yes" omit-xml-declaration = "yes" />
+    <xsl:output method = "html" indent="yes" omit-xml-declaration = "yes" />
     <xsl:key name="item-by-status" match="items:item" use="items:status"/>
     <xsl:key name="item-by-status-and-branch" match="items:item" use="concat(items:status, ' ', items:homebranch)"/>
 
@@ -27,6 +27,7 @@
     <xsl:variable name="AlternateHoldingsField" select="substring(marc:sysprefs/marc:syspref[@name='AlternateHoldingsField'], 1, 3)"/>
     <xsl:variable name="AlternateHoldingsSubfields" select="substring(marc:sysprefs/marc:syspref[@name='AlternateHoldingsField'], 4)"/>
     <xsl:variable name="AlternateHoldingsSeparator" select="marc:sysprefs/marc:syspref[@name='AlternateHoldingsSeparator']"/>
+    <xsl:variable name="singleBranchMode" select="marc:sysprefs/marc:syspref[@name='singleBranchMode']"/>
         <xsl:variable name="leader" select="marc:leader"/>
         <xsl:variable name="leader6" select="substring($leader,7,1)"/>
         <xsl:variable name="leader7" select="substring($leader,8,1)"/>
                 chip cartridge
             </xsl:if>
             <xsl:if test="marc:controlfield[@tag=007][substring(text(),1,1)='c'][substring(text(),2,1)='c']">
-                <img src="/opac-tmpl/prog/famfamfam/silk/cd.png" alt="computer optical disc cartridge" title="computer optical disc cartridge" class="format"/>
+                <img src="/opac-tmpl/lib/famfamfam/silk/cd.png" alt="computer optical disc cartridge" title="computer optical disc cartridge" class="format"/>
             </xsl:if>
             <xsl:if test="marc:controlfield[@tag=007][substring(text(),1,1)='c'][substring(text(),2,1)='j']">
                 magnetic disc
                 magneto-optical disc
             </xsl:if>
             <xsl:if test="marc:controlfield[@tag=007][substring(text(),1,1)='c'][substring(text(),2,1)='o']">
-                <img src="/opac-tmpl/prog/famfamfam/silk/cd.png" alt="optical disc" title="optical disc" class="format"/>
+                <img src="/opac-tmpl/lib/famfamfam/silk/cd.png" alt="optical disc" title="optical disc" class="format"/>
             </xsl:if>
             <xsl:if test="marc:controlfield[@tag=007][substring(text(),1,1)='c'][substring(text(),2,1)='r']">
                available online
-                <img src="/opac-tmpl/prog/famfamfam/silk/drive_web.png" alt="remote" title="remote" class="format"/>
+                <img src="/opac-tmpl/lib/famfamfam/silk/drive_web.png" alt="remote" title="remote" class="format"/>
             </xsl:if>
             <xsl:if test="marc:controlfield[@tag=007][substring(text(),1,1)='c'][substring(text(),2,1)='a']">
                 tape cartridge
             </xsl:if>
 
             <xsl:if test="marc:controlfield[@tag=007][substring(text(),1,1)='d'][substring(text(),2,1)='a']">
-                <img src="/opac-tmpl/prog/famfamfam/silk/world.png" alt="celestial globe" title="celestial globe" class="format"/>
+                <img src="/opac-tmpl/lib/famfamfam/silk/world.png" alt="celestial globe" title="celestial globe" class="format"/>
             </xsl:if>
             <xsl:if test="marc:controlfield[@tag=007][substring(text(),1,1)='d'][substring(text(),2,1)='e']">
-                <img src="/opac-tmpl/prog/famfamfam/silk/world.png" alt="earth moon globe" title="earth moon globe" class="format"/>
+                <img src="/opac-tmpl/lib/famfamfam/silk/world.png" alt="earth moon globe" title="earth moon globe" class="format"/>
             </xsl:if>
             <xsl:if test="marc:controlfield[@tag=007][substring(text(),1,1)='d'][substring(text(),2,1)='b']">
-                <img src="/opac-tmpl/prog/famfamfam/silk/world.png" alt="planetary or lunar globe" title="planetary or lunar globe" class="format"/>
+                <img src="/opac-tmpl/lib/famfamfam/silk/world.png" alt="planetary or lunar globe" title="planetary or lunar globe" class="format"/>
             </xsl:if>
             <xsl:if test="marc:controlfield[@tag=007][substring(text(),1,1)='d'][substring(text(),2,1)='c']">
-                <img src="/opac-tmpl/prog/famfamfam/silk/world.png" alt="terrestrial globe" title="terrestrial globe" class="format"/>
+                <img src="/opac-tmpl/lib/famfamfam/silk/world.png" alt="terrestrial globe" title="terrestrial globe" class="format"/>
             </xsl:if>
 
             <xsl:if test="marc:controlfield[@tag=007][substring(text(),1,1)='o'][substring(text(),2,1)='o']">
                 film reel
             </xsl:if>
             <xsl:if test="marc:controlfield[@tag=007][substring(text(),1,1)='k'][substring(text(),2,1)='n']">
-                <img src="/opac-tmpl/prog/famfamfam/silk/chart_curve.png" alt="chart" title="chart" class="format"/>
+                <img src="/opac-tmpl/lib/famfamfam/silk/chart_curve.png" alt="chart" title="chart" class="format"/>
             </xsl:if>
             <xsl:if test="marc:controlfield[@tag=007][substring(text(),1,1)='k'][substring(text(),2,1)='c']">
                 collage
             </xsl:if>
             <xsl:if test="marc:controlfield[@tag=007][substring(text(),1,1)='k'][substring(text(),2,1)='d']">
-                 <img src="/opac-tmpl/prog/famfamfam/silk/pencil.png" alt="drawing" title="drawing" class="format"/>
+                 <img src="/opac-tmpl/lib/famfamfam/silk/pencil.png" alt="drawing" title="drawing" class="format"/>
             </xsl:if>
             <xsl:if test="marc:controlfield[@tag=007][substring(text(),1,1)='k'][substring(text(),2,1)='o']">
-                <img src="/opac-tmpl/prog/famfamfam/silk/note.png" alt="flash card" title="flash card" class="format"/>
+                <img src="/opac-tmpl/lib/famfamfam/silk/note.png" alt="flash card" title="flash card" class="format"/>
             </xsl:if>
             <xsl:if test="marc:controlfield[@tag=007][substring(text(),1,1)='k'][substring(text(),2,1)='e']">
-                <img src="/opac-tmpl/prog/famfamfam/silk/paintbrush.png" alt="painting" title="painting" class="format"/>
+                <img src="/opac-tmpl/lib/famfamfam/silk/paintbrush.png" alt="painting" title="painting" class="format"/>
             </xsl:if>
             <xsl:if test="marc:controlfield[@tag=007][substring(text(),1,1)='k'][substring(text(),2,1)='f']">
                 photomechanical print
                 photoprint
             </xsl:if>
             <xsl:if test="marc:controlfield[@tag=007][substring(text(),1,1)='k'][substring(text(),2,1)='i']">
-                <img src="/opac-tmpl/prog/famfamfam/silk/picture.png" alt="picture" title="picture" class="format"/>
+                <img src="/opac-tmpl/lib/famfamfam/silk/picture.png" alt="picture" title="picture" class="format"/>
             </xsl:if>
             <xsl:if test="marc:controlfield[@tag=007][substring(text(),1,1)='k'][substring(text(),2,1)='j']">
                 print
                 technical drawing
             </xsl:if>
             <xsl:if test="marc:controlfield[@tag=007][substring(text(),1,1)='q'][substring(text(),2,1)='q']">
-                <img src="/opac-tmpl/prog/famfamfam/silk/script.png" alt="notated music" title="notated music" class="format"/>
+                <img src="/opac-tmpl/lib/famfamfam/silk/script.png" alt="notated music" title="notated music" class="format"/>
             </xsl:if>
             <xsl:if test="marc:controlfield[@tag=007][substring(text(),1,1)='g'][substring(text(),2,1)='d']">
                 filmslip
                 other filmstrip type
             </xsl:if>
             <xsl:if test="marc:controlfield[@tag=007][substring(text(),1,1)='g'][substring(text(),2,1)='s']">
-                <img src="/opac-tmpl/prog/famfamfam/silk/pictures.png" alt="slide" title="slide" class="format"/>
+                <img src="/opac-tmpl/lib/famfamfam/silk/pictures.png" alt="slide" title="slide" class="format"/>
             </xsl:if>
             <xsl:if test="marc:controlfield[@tag=007][substring(text(),1,1)='g'][substring(text(),2,1)='t']">
                 transparency
                 sound cassette
             </xsl:if>
             <xsl:if test="marc:controlfield[@tag=007][substring(text(),1,1)='s'][substring(text(),2,1)='d']">
-                <img src="/opac-tmpl/prog/famfamfam/silk/cd.png" alt="sound disc" title="sound disc" class="format"/>
+                <img src="/opac-tmpl/lib/famfamfam/silk/cd.png" alt="sound disc" title="sound disc" class="format"/>
             </xsl:if>
             <xsl:if test="marc:controlfield[@tag=007][substring(text(),1,1)='s'][substring(text(),2,1)='t']">
                 sound-tape reel
                 braille
             </xsl:if>
             <xsl:if test="marc:controlfield[@tag=007][substring(text(),1,1)='t'][substring(text(),2,1)='b']">
-                <img src="/opac-tmpl/prog/famfamfam/silk/magnifier.png" alt="large print" title="large print" class="format"/>
+                <img src="/opac-tmpl/lib/famfamfam/silk/magnifier.png" alt="large print" title="large print" class="format"/>
             </xsl:if>
             <xsl:if test="marc:controlfield[@tag=007][substring(text(),1,1)='t'][substring(text(),2,1)='a']">
                 regular print
                 videocassette
             </xsl:if>
             <xsl:if test="marc:controlfield[@tag=007][substring(text(),1,1)='v'][substring(text(),2,1)='d']">
-                <img src="/opac-tmpl/prog/famfamfam/silk/dvd.png" alt="videodisc" title="videodisc" class="format"/>
+                <img src="/opac-tmpl/lib/famfamfam/silk/dvd.png" alt="videodisc" title="videodisc" class="format"/>
             </xsl:if>
             <xsl:if test="marc:controlfield[@tag=007][substring(text(),1,1)='v'][substring(text(),2,1)='r']">
                 videoreel
     <xsl:when test="marc:datafield[@tag=100] or marc:datafield[@tag=110] or marc:datafield[@tag=111] or marc:datafield[@tag=700] or marc:datafield[@tag=710] or marc:datafield[@tag=711]">
 
     by <span class="author">
-        <xsl:for-each select="marc:datafield[@tag=100 or @tag=700]">
+        <xsl:for-each select="marc:datafield[(@tag=100 or @tag=700) and @ind1!='z']">
             <xsl:choose>
             <xsl:when test="position()=last()">
                 <xsl:call-template name="nameABCDQ"/>.
             </xsl:choose>
         </xsl:for-each>
 
-        <xsl:for-each select="marc:datafield[@tag=110 or @tag=710]">
+        <xsl:for-each select="marc:datafield[(@tag=110 or @tag=710) and @ind1!='z']">
             <xsl:choose>
             <xsl:when test="position()=1">
                <xsl:text> -- </xsl:text>
             </xsl:choose>
         </xsl:for-each>
 
-        <xsl:for-each select="marc:datafield[@tag=111 or @tag=711]">
+        <xsl:for-each select="marc:datafield[(@tag=111 or @tag=711) and @ind1!='z']">
             <xsl:choose>
             <xsl:when test="position()=1">
                <xsl:text> -- </xsl:text>
     <xsl:if test="$typeOf008!=''">
         <span class="label">Type: </span>
             <xsl:choose>
-                <xsl:when test="$leader19='a'"><img src="/opac-tmpl/prog/famfamfam/silk/book_link.png" alt="book" title="book" class="materialtype"/> Set</xsl:when>
+                <xsl:when test="$leader19='a'"><img src="/opac-tmpl/lib/famfamfam/silk/book_link.png" alt="book" title="book" class="materialtype"/> Set</xsl:when>
                 <xsl:when test="$leader6='a'">
                     <xsl:choose>
-                        <xsl:when test="$leader7='c' or $leader7='d' or $leader7='m'"><img src="/opac-tmpl/prog/famfamfam/silk/book.png" alt="book" title="book" class="materialtype"/> Book</xsl:when>
-                        <xsl:when test="$leader7='i' or $leader7='s'"><img src="/opac-tmpl/prog/famfamfam/silk/newspaper.png" alt="serial" title="serial" class="materialtype"/> Continuing Resource</xsl:when>
-                        <xsl:when test="$leader7='a' or $leader7='b'"><img src="/opac-tmpl/prog/famfamfam/silk/book_open.png" alt="article" title="article" class="materialtype"/> Article</xsl:when>
+                        <xsl:when test="$leader7='c' or $leader7='d' or $leader7='m'"><img src="/opac-tmpl/lib/famfamfam/silk/book.png" alt="book" title="book" class="materialtype"/> Book</xsl:when>
+                        <xsl:when test="$leader7='i' or $leader7='s'"><img src="/opac-tmpl/lib/famfamfam/silk/newspaper.png" alt="serial" title="serial" class="materialtype"/> Continuing Resource</xsl:when>
+                        <xsl:when test="$leader7='a' or $leader7='b'"><img src="/opac-tmpl/lib/famfamfam/silk/book_open.png" alt="article" title="article" class="materialtype"/> Article</xsl:when>
                     </xsl:choose>
                 </xsl:when>
-                <xsl:when test="$leader6='t'"><img src="/opac-tmpl/prog/famfamfam/silk/book.png" alt="book" title="book" class="materialtype"/> Book</xsl:when>
-                               <xsl:when test="$leader6='o'"><img src="/opac-tmpl/prog/famfamfam/silk/report_disk.png" alt="kit" title="kit" class="materialtype"/> Kit</xsl:when>
-                               <xsl:when test="$leader6='p'"><img src="/opac-tmpl/prog/famfamfam/silk/report_disk.png" alt="mixed materials" title="mixed materials" class="materialtype"/>Mixed Materials</xsl:when>
-                <xsl:when test="$leader6='m'"><img src="/opac-tmpl/prog/famfamfam/silk/computer_link.png" alt="computer file" title="computer file" class="materialtype"/> Computer File</xsl:when>
-                <xsl:when test="$leader6='e' or $leader6='f'"><img src="/opac-tmpl/prog/famfamfam/silk/map.png" alt="map" title="map" class="materialtype"/> Map</xsl:when>
-                <xsl:when test="$leader6='g' or $leader6='k' or $leader6='r'"><img src="/opac-tmpl/prog/famfamfam/silk/film.png" alt="visual material" title="visual material" class="materialtype"/> Visual Material</xsl:when>
-                <xsl:when test="$leader6='c' or $leader6='d'"><img src="/opac-tmpl/prog/famfamfam/silk/music.png" alt="score" title="score" class="materialtype"/> Score</xsl:when>
-                <xsl:when test="$leader6='i'"><img src="/opac-tmpl/prog/famfamfam/silk/sound.png" alt="sound" title="sound" class="materialtype"/> Sound</xsl:when>
-                <xsl:when test="$leader6='j'"><img src="/opac-tmpl/prog/famfamfam/silk/sound.png" alt="music" title="music" class="materialtype"/> Music</xsl:when>
+                <xsl:when test="$leader6='t'"><img src="/opac-tmpl/lib/famfamfam/silk/book.png" alt="book" title="book" class="materialtype"/> Book</xsl:when>
+                <xsl:when test="$leader6='o'"><img src="/opac-tmpl/lib/famfamfam/silk/report_disk.png" alt="kit" title="kit" class="materialtype"/> Kit</xsl:when>
+                <xsl:when test="$leader6='p'"><img src="/opac-tmpl/lib/famfamfam/silk/report_disk.png" alt="mixed materials" title="mixed materials" class="materialtype"/>Mixed Materials</xsl:when>
+                <xsl:when test="$leader6='m'"><img src="/opac-tmpl/lib/famfamfam/silk/computer_link.png" alt="computer file" title="computer file" class="materialtype"/> Computer File</xsl:when>
+                <xsl:when test="$leader6='e' or $leader6='f'"><img src="/opac-tmpl/lib/famfamfam/silk/map.png" alt="map" title="map" class="materialtype"/> Map</xsl:when>
+                <xsl:when test="$leader6='g' or $leader6='k' or $leader6='r'"><img src="/opac-tmpl/lib/famfamfam/silk/film.png" alt="visual material" title="visual material" class="materialtype"/> Visual Material</xsl:when>
+                <xsl:when test="$leader6='c' or $leader6='d'"><img src="/opac-tmpl/lib/famfamfam/silk/music.png" alt="score" title="score" class="materialtype"/> Score</xsl:when>
+                <xsl:when test="$leader6='i'"><img src="/opac-tmpl/lib/famfamfam/silk/sound.png" alt="sound" title="sound" class="materialtype"/> Sound</xsl:when>
+                <xsl:when test="$leader6='j'"><img src="/opac-tmpl/lib/famfamfam/silk/sound.png" alt="music" title="music" class="materialtype"/> Music</xsl:when>
             </xsl:choose>
     </xsl:if>
     <xsl:if test="string-length(normalize-space($physicalDescription))">
         </xsl:if>
             <xsl:choose>
                 <xsl:when test="$controlField008-21='d'">
-                     <img src="/opac-tmpl/prog/famfamfam/silk/database.png" alt="database" title="database" class="format"/>
+                     <img src="/opac-tmpl/lib/famfamfam/silk/database.png" alt="database" title="database" class="format"/>
                 </xsl:when>
                 <xsl:when test="$controlField008-21='l'">
                     loose-leaf
                     periodical
                 </xsl:when>
                 <xsl:when test="$controlField008-21='w'">
-                     <img src="/opac-tmpl/prog/famfamfam/silk/world_link.png" alt="web site" title="web site" class="format"/>
+                     <img src="/opac-tmpl/lib/famfamfam/silk/world_link.png" alt="web site" title="web site" class="format"/>
                 </xsl:when>
             </xsl:choose>
         </xsl:if>
                 </xsl:when>
                 <xsl:when test="contains($controlField008-24,'b')">
                        bibliography
-                     <img src="/opac-tmpl/prog/famfamfam/silk/text_list_bullets.png" alt="bibliography" title="bibliography" class="natureofcontents"/>
+                     <img src="/opac-tmpl/lib/famfamfam/silk/text_list_bullets.png" alt="bibliography" title="bibliography" class="natureofcontents"/>
                 </xsl:when>
                 <xsl:when test="contains($controlField008-24,'c')">
                     catalog
                     statistics
                 </xsl:when>
                 <xsl:when test="contains($controlField008-24,'t')">
-                     <img src="/opac-tmpl/prog/famfamfam/silk/report.png" alt="technical report" title="technical report" class="natureofcontents"/>
+                     <img src="/opac-tmpl/lib/famfamfam/silk/report.png" alt="technical report" title="technical report" class="natureofcontents"/>
                 </xsl:when>
                 <xsl:when test="contains($controlField008-24,'v')">
                     legal case and case notes
                     numeric data
                 </xsl:when>
                 <xsl:when test="$controlField008-26='e'">
-                     <img src="/opac-tmpl/prog/famfamfam/silk/database.png" alt="database" title="database" class="format"/>
+                     <img src="/opac-tmpl/lib/famfamfam/silk/database.png" alt="database" title="database" class="format"/>
                 </xsl:when>
                 <xsl:when test="$controlField008-26='f'">
-                     <img src="/opac-tmpl/prog/famfamfam/silk/font.png" alt="font" title="font" class="format"/> 
+                     <img src="/opac-tmpl/lib/famfamfam/silk/font.png" alt="font" title="font" class="format"/>
                 </xsl:when>
                 <xsl:when test="$controlField008-26='g'">
-                     <img src="/opac-tmpl/prog/famfamfam/silk/controller.png" alt="game" title="game" class="format"/>
+                     <img src="/opac-tmpl/lib/famfamfam/silk/controller.png" alt="game" title="game" class="format"/>
                 </xsl:when>
             </xsl:choose>
         </xsl:if>
                 festschrift
             </xsl:if>
             <xsl:if test="$controlField008-34='a' or $controlField008-34='b' or $controlField008-34='c' or $controlField008-34='d'">
-                 <img src="/opac-tmpl/prog/famfamfam/silk/user.png" alt="biography" title="biography" class="natureofcontents"/>
+                 <img src="/opac-tmpl/lib/famfamfam/silk/user.png" alt="biography" title="biography" class="natureofcontents"/>
             </xsl:if>
 
             <xsl:if test="$controlField008-33 and $controlField008-33!='|' and $controlField008-33!='u' and $controlField008-33!=' '">
                        <b><xsl:text>Copies available for loan: </xsl:text></b>
                        <xsl:variable name="available_items"
                            select="key('item-by-status', 'available')"/>
-                       <xsl:for-each select="$available_items[generate-id() = generate-id(key('item-by-status-and-branch', concat(items:status, ' ', items:homebranch))[1])]">
-                           <xsl:value-of select="items:homebranch"/>
-                                                  <xsl:if test="items:itemcallnumber != '' and items:itemcallnumber"> [<xsl:value-of select="items:itemcallnumber"/>]</xsl:if>
-                           <xsl:text> (</xsl:text>
-                           <xsl:value-of select="count(key('item-by-status-and-branch', concat(items:status, ' ', items:homebranch)))"/>
-                           <xsl:text>)</xsl:text>
-<xsl:choose><xsl:when test="position()=last()"><xsl:text>. </xsl:text></xsl:when><xsl:otherwise><xsl:text>, </xsl:text></xsl:otherwise></xsl:choose>
-                       </xsl:for-each>
-                   </span>
+               <xsl:choose>
+               <xsl:when test="$singleBranchMode=1">
+               <xsl:for-each select="$available_items[generate-id() = generate-id(key('item-by-status-and-branch', concat(items:status, ' ', items:homebranch))[1])]">
+                   <xsl:if test="items:itemcallnumber != '' and items:itemcallnumber"> [<xsl:value-of select="items:itemcallnumber"/>]</xsl:if>
+                               <xsl:text> (</xsl:text>
+                               <xsl:value-of select="count(key('item-by-status-and-branch', concat(items:status, ' ', items:homebranch)))"/>
+                               <xsl:text>)</xsl:text>
+                               <xsl:choose><xsl:when test="position()=last()"><xsl:text>. </xsl:text></xsl:when><xsl:otherwise><xsl:text>, </xsl:text></xsl:otherwise></xsl:choose>
+                               </xsl:for-each>
+               </xsl:when>
+               <xsl:otherwise>
+                   <xsl:for-each select="$available_items[generate-id() = generate-id(key('item-by-status-and-branch', concat(items:status, ' ', items:homebranch))[1])]">
+                               <xsl:value-of select="items:homebranch"/>
+                   <xsl:if test="items:itemcallnumber != '' and items:itemcallnumber"> [<xsl:value-of select="items:itemcallnumber"/>]</xsl:if>
+                               <xsl:text> (</xsl:text>
+                               <xsl:value-of select="count(key('item-by-status-and-branch', concat(items:status, ' ', items:homebranch)))"/>
+                               <xsl:text>)</xsl:text>
+                               <xsl:choose><xsl:when test="position()=last()"><xsl:text>. </xsl:text></xsl:when><xsl:otherwise><xsl:text>, </xsl:text></xsl:otherwise></xsl:choose>
+                               </xsl:for-each>
+               </xsl:otherwise>
+               </xsl:choose>
+           </span>
+
                    </xsl:when>
                                   </xsl:choose>
 
index 8a7d511..df7c450 100644 (file)
                <xsl:value-of select="substring($str,1,string-length($str)-string-length($delimeter))"/>
        </xsl:template>
 
+    <xsl:template name="subfieldSelectSpan">
+        <xsl:param name="codes"/>
+        <xsl:param name="delimeter"><xsl:text> </xsl:text></xsl:param>
+        <xsl:param name="subdivCodes"/>
+        <xsl:param name="subdivDelimiter"/>
+        <xsl:param name="prefix"/>
+        <xsl:param name="suffix"/>
+            <xsl:for-each select="marc:subfield">
+                <xsl:if test="contains($codes, @code)">
+                    <span>
+                        <xsl:attribute name="class"><xsl:value-of select="@code"/></xsl:attribute>
+                        <xsl:if test="contains($subdivCodes, @code)">
+                            <xsl:value-of select="$subdivDelimiter"/>
+                        </xsl:if>
+                        <xsl:value-of select="$prefix"/><xsl:value-of select="text()"/><xsl:value-of select="$suffix"/><xsl:if test="position()!=last()"><xsl:value-of select="$delimeter"/></xsl:if>
+                    </span>
+                </xsl:if>
+            </xsl:for-each>
+    </xsl:template>
+
        <xsl:template name="buildSpaces">
                <xsl:param name="spaces"/>
                <xsl:param name="char"><xsl:text> </xsl:text></xsl:param>
index 3a77417..299dfee 100644 (file)
@@ -9,7 +9,7 @@
   xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
   exclude-result-prefixes="marc items">
     <xsl:import href="NORMARCslimUtils.xsl"/>
-    <xsl:output method = "xml" indent="yes" omit-xml-declaration = "yes" />
+    <xsl:output method = "html" indent="yes" omit-xml-declaration = "yes" />
     <xsl:template match="/">
             <xsl:apply-templates/>
     </xsl:template>
@@ -38,7 +38,8 @@
         <xsl:variable name="leader7" select="substring($leader,8,1)"/>
         <xsl:variable name="controlField008" select="marc:controlfield[@tag=008]"/>
         <xsl:variable name="field019b" select="marc:datafield[@tag=019]/marc:subfield[@code='b']"/>
-        <xsl:variable name="materialTypeCode">
+        <xsl:variable name="typeOf008">
+            <!-- The logic here should be exactly the same for NORMARCslim2intranetDetail.xsl, NORMARCslim2intranetResults.xsl, NORMARCslim2OPACDetail.xsl and NORMARCslim2OPACResults.xsl -->
             <xsl:choose>
                 <xsl:when test="$field019b='b' or $field019b='k' or $field019b='l' or $leader6='b'">Mon</xsl:when>
                 <xsl:when test="$field019b='e' or contains($field019b,'ec') or contains($field019b,'ed') or contains($field019b,'ee') or contains($field019b,'ef') or $leader6='g'">FV</xsl:when>
                 </xsl:when>
             </xsl:choose>
         </xsl:variable>
-        <xsl:variable name="materialTypeLabel">
-                        <xsl:choose>
-                <xsl:when test="$field019b='b' or $field019b='k' or $field019b='l' or $leader6='b'">Bok</xsl:when>
-                <xsl:when test="$field019b='e' or contains($field019b,'ec') or contains($field019b,'ed') or contains($field019b,'ee') or contains($field019b,'ef') or $leader6='g'">Film og video</xsl:when>
-                <xsl:when test="$field019b='c' or $field019b='d' or contains($field019b,'da') or contains($field019b,'db') or contains($field019b,'dc') or contains($field019b,'dd') or contains($field019b,'dg') or contains($field019b,'dh') or contains($field019b,'di') or contains($field019b,'dj') or contains($field019b,'dk') or $leader6='c' or $leader6='d' or $leader6='i' or $leader6='j'">Musikalier</xsl:when>
-                <xsl:when test="$field019b='a' or contains($field019b,'ab') or contains($field019b,'aj') or $leader6='e' or $leader6='f'">Kart</xsl:when>
-                <xsl:when test="$field019b='f' or $field019b='i' or contains($field019b,'ib') or contains($field019b,'ic') or contains($field019b,'fd') or contains($field019b,'ff') or contains($field019b,'fi') or $leader6='k'">Grafisk materiale</xsl:when>
-                <xsl:when test="$field019b='g' or contains($field019b,'gb') or contains($field019b,'gd') or contains($field019b,'ge') or $leader6='m'">Fil</xsl:when>
-                <xsl:when test="$leader6='o'">Kombidokument</xsl:when>
-                <xsl:when test="$field019b='h' or $leader6='r'">Tredimensjonal gjenstand</xsl:when>
-                <xsl:when test="$field019b='j' or $leader6='a'">
-                    <xsl:choose>
-                        <xsl:when test="$leader7='a' or $leader7='c' or $leader7='m' or $leader7='p'">Bok</xsl:when>
-                        <xsl:when test="$field019b='j' or $leader7='b' or $leader7='s'">Periodikum</xsl:when>
-                    </xsl:choose>
-                </xsl:when>
-            </xsl:choose>
-
-        </xsl:variable>
 
         <!-- Tittel og ansvarsopplysninger -->
         <xsl:if test="marc:datafield[@tag=245]">
             </xsl:otherwise>
         </xsl:choose>
         <xsl:call-template name="nameABCDQ"/></a>
+        <xsl:if test="marc:subfield[@code=9]">
+            <a class='authlink'>
+                <xsl:attribute name="href">/cgi-bin/koha/opac-authoritiesdetail.pl?authid=<xsl:value-of select="marc:subfield[@code=9]"/></xsl:attribute>
+                <img style="vertical-align:middle" height="15" width="15" src="/opac-tmpl/prog/images/filefind.png"/>
+            </a>
+        </xsl:if>
         <xsl:choose>
         <xsl:when test="position()=last()"><xsl:text>.</xsl:text></xsl:when><xsl:otherwise><xsl:text>; </xsl:text></xsl:otherwise></xsl:choose>
         </xsl:for-each>
             </xsl:otherwise>
         </xsl:choose>
         <xsl:call-template name="nameABCDN"/></a>
+        <xsl:if test="marc:subfield[@code=9]">
+            <a class='authlink'>
+                <xsl:attribute name="href">/cgi-bin/koha/opac-authoritiesdetail.pl?authid=<xsl:value-of select="marc:subfield[@code=9]"/></xsl:attribute>
+                <img style="vertical-align:middle" height="15" width="15" src="/opac-tmpl/prog/images/filefind.png"/>
+            </a>
+        </xsl:if>
         <xsl:choose><xsl:when test="position()=last()"><xsl:text>.</xsl:text></xsl:when><xsl:otherwise><xsl:text>; </xsl:text></xsl:otherwise></xsl:choose>
         </xsl:for-each>
 
             </xsl:otherwise>
         </xsl:choose>
         <xsl:call-template name="nameACDEQ"/></a>
+        <xsl:if test="marc:subfield[@code=9]">
+            <a class='authlink'>
+                <xsl:attribute name="href">/cgi-bin/koha/opac-authoritiesdetail.pl?authid=<xsl:value-of select="marc:subfield[@code=9]"/></xsl:attribute>
+                <img style="vertical-align:middle" height="15" width="15" src="/opac-tmpl/prog/images/filefind.png"/>
+            </a>
+        </xsl:if>
         <xsl:choose><xsl:when test="position()=last()"><xsl:text>.</xsl:text></xsl:when><xsl:otherwise><xsl:text>; </xsl:text></xsl:otherwise></xsl:choose>
 
         </xsl:for-each>
         </xsl:choose>
 
     <xsl:if test="$DisplayOPACiconsXSLT!='0'">
-        <xsl:if test="$materialTypeCode!=''">
-        <span class="results_summary"><span class="label">Materialtype: </span>
-        <xsl:element name="img"><xsl:attribute name="src">/opac-tmpl/prog/famfamfam/<xsl:value-of select="$materialTypeCode"/>.png</xsl:attribute><xsl:attribute name="alt"></xsl:attribute></xsl:element>
-        <xsl:value-of select="$materialTypeLabel"/>
+        <xsl:if test="$typeOf008!=''">
+        <span class="results_summary">
+            <span class="label">Materialtype: </span>
+            <xsl:choose>
+                <xsl:when test="$typeOf008='Mon'"><img src="/opac-tmpl/lib/famfamfam/BK.png" alt="Bok" title="Bok"/> Bok</xsl:when>
+                <xsl:when test="$typeOf008='Per'"><img src="/opac-tmpl/lib/famfamfam/AR.png" alt="Periodika" title="Periodika"/> Periodika</xsl:when>
+                <xsl:when test="$typeOf008='Fil'"><img src="/opac-tmpl/lib/famfamfam/CF.png" alt="Fil" title="Fil"/> Fil</xsl:when>
+                <xsl:when test="$typeOf008='Kar'"><img src="/opac-tmpl/lib/famfamfam/MP.png" alt="Kart" title="Kart"/> Kart</xsl:when>
+                <xsl:when test="$typeOf008='FV'"><img  src="/opac-tmpl/lib/famfamfam/VM.png" alt="Film og video" title="Film og video"/> Film og video</xsl:when>
+                <xsl:when test="$typeOf008='Mus'"><img src="/opac-tmpl/lib/famfamfam/PR.png" alt="Musikktrykk og lydopptak" title="Musikktrykk og lydopptak"/> Musikk</xsl:when>
+                <xsl:when test="$typeOf008='gra'"><img src="/opac-tmpl/lib/famfamfam/GR.png" alt="Grafisk materiale" title="Grafisk materiale"/> Grafisk materiale</xsl:when>
+                <xsl:when test="$typeOf008='kom'"><img src="/opac-tmpl/lib/famfamfam/MX.png" alt="Kombidokumenter" title="Kombidokumenter"/> Kombidokumenter</xsl:when>
+                <xsl:when test="$typeOf008='trd'"><img src="/opac-tmpl/lib/famfamfam/TD.png" alt="Tre-dimensjonale gjenstander" title="Tre-dimensjonale gjenstander"/> Tre-dimensjonale gjenstander</xsl:when>
+            </xsl:choose>
         </span>
         </xsl:if>
     </xsl:if>
                 </xsl:with-param>
             </xsl:call-template>
             </a>
+            <xsl:if test="marc:subfield[@code=9]">
+                <a class='authlink'>
+                    <xsl:attribute name="href">/cgi-bin/koha/opac-authoritiesdetail.pl?authid=<xsl:value-of select="marc:subfield[@code=9]"/></xsl:attribute>
+                    <img style="vertical-align:middle" height="15" width="15" src="/opac-tmpl/prog/images/filefind.png"/>
+                </a>
+            </xsl:if>
             <xsl:choose>
             <xsl:when test="position()=last()"></xsl:when>
             <xsl:otherwise> | </xsl:otherwise>
index c6b700a..d7d8423 100644 (file)
@@ -9,7 +9,7 @@
   xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
   exclude-result-prefixes="marc items">
     <xsl:import href="NORMARCslimUtils.xsl"/>
-    <xsl:output method = "xml" indent="yes" omit-xml-declaration = "yes" />
+    <xsl:output method = "html" indent="yes" omit-xml-declaration = "yes" />
     <xsl:key name="item-by-status" match="items:item" use="items:status"/>
     <xsl:key name="item-by-status-and-branch" match="items:item" use="concat(items:status, ' ', items:homebranch)"/>
 
@@ -19,6 +19,7 @@
     <xsl:template match="marc:record">
 
     <xsl:variable name="DisplayOPACiconsXSLT" select="marc:sysprefs/marc:syspref[@name='DisplayOPACiconsXSLT']"/>
+    <xsl:variable name="singleBranchMode" select="marc:sysprefs/marc:syspref[@name='singleBranchMode']"/>
 
         <xsl:variable name="leader" select="marc:leader"/>
         <xsl:variable name="leader6" select="substring($leader,7,1)"/>
@@ -31,7 +32,7 @@
         <xsl:variable name="controlField008" select="marc:controlfield[@tag=008]"/>
         <xsl:variable name="field019b" select="marc:datafield[@tag=019]/marc:subfield[@code='b']"/>
         <xsl:variable name="typeOf008">
-        <!-- Codes with upper case first letter below are from the NORMARC standard, lower case first letter are made up. -->
+            <!-- The logic here should be exactly the same for NORMARCslim2intranetDetail.xsl, NORMARCslim2intranetResults.xsl, NORMARCslim2OPACDetail.xsl and NORMARCslim2OPACResults.xsl -->
             <xsl:choose>
                 <xsl:when test="$field019b='b' or $field019b='k' or $field019b='l' or $leader6='b'">Mon</xsl:when>
                 <xsl:when test="$field019b='e' or contains($field019b,'ec') or contains($field019b,'ed') or contains($field019b,'ee') or contains($field019b,'ef') or $leader6='g'">FV</xsl:when>
     <xsl:when test="marc:datafield[@tag=100] or marc:datafield[@tag=110] or marc:datafield[@tag=111] or marc:datafield[@tag=700] or marc:datafield[@tag=710] or marc:datafield[@tag=711]">
 
     av 
-        <xsl:for-each select="marc:datafield[@tag=100 or @tag=700]">
+        <xsl:for-each select="marc:datafield[(@tag=100 or @tag=700) and @ind1!='z']">
             <xsl:choose>
             <xsl:when test="position()=last()">
                 <xsl:call-template name="nameABCDQ"/>.
             </xsl:choose>
         </xsl:for-each>
 
-        <xsl:for-each select="marc:datafield[@tag=110 or @tag=710]">
+        <xsl:for-each select="marc:datafield[(@tag=110 or @tag=710) and @ind1!='z']">
             <xsl:choose>
             <xsl:when test="position()=last()">
                 <xsl:call-template name="nameABCDN"/>.
             </xsl:choose>
         </xsl:for-each>
 
-        <xsl:for-each select="marc:datafield[@tag=111 or @tag=711]">
+        <xsl:for-each select="marc:datafield[(@tag=111 or @tag=711) and @ind1!='z']">
             <xsl:choose>
             <xsl:when test="position()=last()">
                 <xsl:call-template name="nameACDEQ"/>.
 <xsl:if test="$DisplayOPACiconsXSLT!='0'">
     <span class="results_summary">
     <xsl:if test="$typeOf008!=''">
-        <span class="label">Type: </span>
-        
-            <xsl:choose>
-                <xsl:when test="$typeOf008='Mon'"><img src="/opac-tmpl/prog/famfamfam/silk/book.png" alt="Bok" title="Bok"/> Bok</xsl:when>
-                <xsl:when test="$typeOf008='Per'"><img src="/opac-tmpl/prog/famfamfam/silk/newspaper.png" alt="Periodika" title="Periodika"/> Periodika</xsl:when>      
-                <xsl:when test="$typeOf008='Fil'"><img src="/opac-tmpl/prog/famfamfam/silk/computer_link.png" alt="Fil" title="Fil"/> Fil</xsl:when>
-                <xsl:when test="$typeOf008='Kar'"><img src="/opac-tmpl/prog/famfamfam/silk/map.png" alt="Kart" title="Kart"/> Kart</xsl:when>
-                <xsl:when test="$typeOf008='FV'"><img src="/opac-tmpl/prog/famfamfam/silk/film.png" alt="Film og video" title="Film og video"/> Film og video</xsl:when>
-                <xsl:when test="$typeOf008='Mus'"><img src="/opac-tmpl/prog/famfamfam/silk/sound.png" alt="Musikktrykk og lydopptak" title="Musikktrykk og lydopptak"/> Musikk</xsl:when>
-                <xsl:when test="$typeOf008='gra'"> Grafisk materiale</xsl:when>
-                <xsl:when test="$typeOf008='kom'"> Kombidokumenter</xsl:when>
-                <xsl:when test="$typeOf008='trd'"> Tre-dimensjonale gjenstander</xsl:when>
-            </xsl:choose>
+        <span class="label">Materialtype: </span>
+        <xsl:choose>
+            <xsl:when test="$typeOf008='Mon'"><img src="/opac-tmpl/lib/famfamfam/BK.png" alt="Bok" title="Bok"/> Bok</xsl:when>
+            <xsl:when test="$typeOf008='Per'"><img src="/opac-tmpl/lib/famfamfam/AR.png" alt="Periodika" title="Periodika"/> Periodika</xsl:when>
+            <xsl:when test="$typeOf008='Fil'"><img src="/opac-tmpl/lib/famfamfam/CF.png" alt="Fil" title="Fil"/> Fil</xsl:when>
+            <xsl:when test="$typeOf008='Kar'"><img src="/opac-tmpl/lib/famfamfam/MP.png" alt="Kart" title="Kart"/> Kart</xsl:when>
+            <xsl:when test="$typeOf008='FV'"><img  src="/opac-tmpl/lib/famfamfam/VM.png" alt="Film og video" title="Film og video"/> Film og video</xsl:when>
+            <xsl:when test="$typeOf008='Mus'"><img src="/opac-tmpl/lib/famfamfam/PR.png" alt="Musikktrykk og lydopptak" title="Musikktrykk og lydopptak"/> Musikk</xsl:when>
+            <xsl:when test="$typeOf008='gra'"><img src="/opac-tmpl/lib/famfamfam/GR.png" alt="Grafisk materiale" title="Grafisk materiale"/> Grafisk materiale</xsl:when>
+            <xsl:when test="$typeOf008='kom'"><img src="/opac-tmpl/lib/famfamfam/MX.png" alt="Kombidokumenter" title="Kombidokumenter"/> Kombidokumenter</xsl:when>
+            <xsl:when test="$typeOf008='trd'"><img src="/opac-tmpl/lib/famfamfam/TD.png" alt="Tre-dimensjonale gjenstander" title="Tre-dimensjonale gjenstander"/> Tre-dimensjonale gjenstander</xsl:when>
+        </xsl:choose>
     </xsl:if>
     <xsl:if test="string-length(normalize-space($physicalDescription))">
         <span class="label">; Format: </span><xsl:copy-of select="$physicalDescription"></xsl:copy-of>
                    <xsl:when test="count(key('item-by-status', 'available'))>0">
                    <span class="available">
                        <b><xsl:text>Copies available for loan: </xsl:text></b>
-                       <xsl:variable name="available_items"
-                           select="key('item-by-status', 'available')"/>
+                       <xsl:variable name="available_items" select="key('item-by-status', 'available')"/>
+               <xsl:choose>
+               <xsl:when test="$singleBranchMode=1">
+               <xsl:for-each select="$available_items[generate-id() = generate-id(key('item-by-status-and-branch', concat(items:status, ' ', items:homebranch))[1])]">
+                 <xsl:if test="items:itemcallnumber != '' and items:itemcallnumber"> [<xsl:value-of select="items:itemcallnumber"/>]</xsl:if>
+               <xsl:text> (</xsl:text>
+               <xsl:value-of select="count(key('item-by-status-and-branch', concat(items:status, ' ', items:homebranch)))"/>
+                <xsl:text>)</xsl:text>
+                <xsl:choose><xsl:when test="position()=last()"><xsl:text>. </xsl:text></xsl:when><xsl:otherwise><xsl:text>, </xsl:text></xsl:otherwise></xsl:choose>
+            </xsl:for-each>
+            </xsl:when>
+               <xsl:otherwise>
                        <xsl:for-each select="$available_items[generate-id() = generate-id(key('item-by-status-and-branch', concat(items:status, ' ', items:homebranch))[1])]">
                            <xsl:value-of select="items:homebranch"/>
                                                   <xsl:if test="items:itemcallnumber != '' and items:itemcallnumber"> [<xsl:value-of select="items:itemcallnumber"/>]</xsl:if>
                            <xsl:text>)</xsl:text>
 <xsl:choose><xsl:when test="position()=last()"><xsl:text>. </xsl:text></xsl:when><xsl:otherwise><xsl:text>, </xsl:text></xsl:otherwise></xsl:choose>
                        </xsl:for-each>
+               </xsl:otherwise>
+               </xsl:choose>
                    </span>
                    </xsl:when>
 
index 1dc43cd..6fee4fb 100644 (file)
@@ -9,7 +9,7 @@
   exclude-result-prefixes="marc items">
 
 <xsl:import href="UNIMARCslimUtils.xsl"/>
-<xsl:output method = "xml" indent="yes" omit-xml-declaration = "yes" />
+<xsl:output method = "html" indent="yes" omit-xml-declaration = "yes" />
 <xsl:template match="/">
   <xsl:apply-templates/>
 </xsl:template>
index e7ff9da..2b416fb 100644 (file)
@@ -9,7 +9,7 @@
   exclude-result-prefixes="marc items">
 
 <xsl:import href="UNIMARCslimUtils.xsl"/>
-<xsl:output method = "xml" indent="yes" omit-xml-declaration = "yes" />
+<xsl:output method = "html" indent="yes" omit-xml-declaration = "yes" />
 <xsl:key name="item-by-status" match="items:item" use="items:status"/>
 <xsl:key name="item-by-status-and-branch" match="items:item" use="concat(items:status, ' ', items:homebranch)"/>
 
@@ -27,6 +27,7 @@
    select="marc:datafield[@tag=010]/marc:subfield[@code='a']"/>
 
   <xsl:variable name="hidelostitems" select="marc:sysprefs/marc:syspref[@name='hidelostitems']"/>
+  <xsl:variable name="singleBranchMode" select="marc:sysprefs/marc:syspref[@name='singleBranchMode']"/>
 
   <xsl:if test="marc:datafield[@tag=200]">
     <xsl:for-each select="marc:datafield[@tag=200]">
         <span class="available">
           <b><xsl:text>Copies available for loan: </xsl:text></b>
           <xsl:variable name="available_items" select="key('item-by-status', 'available')"/>
+      <xsl:choose>
+      <xsl:when test="$singleBranchMode=1">
+      <xsl:for-each select="$available_items[generate-id() = generate-id(key('item-by-status-and-branch', concat(items:status, ' ', items:homebranch))[1])]">
+        <xsl:if test="items:itemcallnumber != '' and items:itemcallnumber"> [<xsl:value-of select="items:itemcallnumber"/>]</xsl:if>
+          <xsl:text> (</xsl:text>
+          <xsl:value-of select="count(key('item-by-status-and-branch', concat(items:status, ' ', items:homebranch)))"/>
+          <xsl:text>)</xsl:text>
+          <xsl:choose><xsl:when test="position()=last()"><xsl:text>. </xsl:text></xsl:when><xsl:otherwise><xsl:text>, </xsl:text></xsl:otherwise></xsl:choose>
+      </xsl:for-each>
+      </xsl:when>
+      <xsl:otherwise>
           <xsl:for-each select="$available_items[generate-id() = generate-id(key('item-by-status-and-branch', concat(items:status, ' ', items:homebranch))[1])]">
             <xsl:value-of select="items:homebranch"/>
                            <xsl:if test="items:itemcallnumber != '' and items:itemcallnumber">[<xsl:value-of select="items:itemcallnumber"/>]
               </xsl:otherwise>
             </xsl:choose>
           </xsl:for-each>
+      </xsl:otherwise>
+      </xsl:choose>
         </span>
       </xsl:when>
     </xsl:choose>
index 32f8cde..09bd9e0 100644 (file)
             <xsl:variable name="start" select="position()"/>
             <xsl:variable name="ends">
               <xsl:for-each select="../marc:subfield[position() &gt; $start]">
-                <xsl:if test="@code=3 or @code=9 or @code=2">
+                <xsl:if test="@code=9">
                   <xsl:variable name="end" select="position() + $start"/>
                   <xsl:value-of select="$end"/>
                   <xsl:text>,</xsl:text>
               </xsl:choose>
             </xsl:variable>
             <xsl:variable name="display">
-              <xsl:for-each select="../marc:subfield[position() &gt; $start and position() &lt; $end]">
+              <xsl:for-each select="../marc:subfield[position() &gt; $start and position() &lt; $end and @code!=2 and @code!=3]">
                 <xsl:value-of select="."/>
                 <xsl:if test="not(position()=last())">
                   <xsl:text>, </xsl:text>
diff --git a/koha-tmpl/opac-tmpl/prog/famfamfam/AR.png b/koha-tmpl/opac-tmpl/prog/famfamfam/AR.png
deleted file mode 100644 (file)
index 7d863f9..0000000
Binary files a/koha-tmpl/opac-tmpl/prog/famfamfam/AR.png and /dev/null differ
diff --git a/koha-tmpl/opac-tmpl/prog/famfamfam/BK.png b/koha-tmpl/opac-tmpl/prog/famfamfam/BK.png
deleted file mode 100644 (file)
index b0f4dd7..0000000
Binary files a/koha-tmpl/opac-tmpl/prog/famfamfam/BK.png and /dev/null differ
diff --git a/koha-tmpl/opac-tmpl/prog/famfamfam/CF.png b/koha-tmpl/opac-tmpl/prog/famfamfam/CF.png
deleted file mode 100644 (file)
index 99d532e..0000000
Binary files a/koha-tmpl/opac-tmpl/prog/famfamfam/CF.png and /dev/null differ
diff --git a/koha-tmpl/opac-tmpl/prog/famfamfam/MM.png b/koha-tmpl/opac-tmpl/prog/famfamfam/MM.png
deleted file mode 100644 (file)
index 1c856cd..0000000
Binary files a/koha-tmpl/opac-tmpl/prog/famfamfam/MM.png and /dev/null differ
diff --git a/koha-tmpl/opac-tmpl/prog/famfamfam/MP.png b/koha-tmpl/opac-tmpl/prog/famfamfam/MP.png
deleted file mode 100644 (file)
index f90ef25..0000000
Binary files a/koha-tmpl/opac-tmpl/prog/famfamfam/MP.png and /dev/null differ
diff --git a/koha-tmpl/opac-tmpl/prog/famfamfam/MU.png b/koha-tmpl/opac-tmpl/prog/famfamfam/MU.png
deleted file mode 100644 (file)
index 6056d23..0000000
Binary files a/koha-tmpl/opac-tmpl/prog/famfamfam/MU.png and /dev/null differ
diff --git a/koha-tmpl/opac-tmpl/prog/famfamfam/MX.png b/koha-tmpl/opac-tmpl/prog/famfamfam/MX.png
deleted file mode 100644 (file)
index 1c856cd..0000000
Binary files a/koha-tmpl/opac-tmpl/prog/famfamfam/MX.png and /dev/null differ
diff --git a/koha-tmpl/opac-tmpl/prog/famfamfam/SE.png b/koha-tmpl/opac-tmpl/prog/famfamfam/SE.png
deleted file mode 100644 (file)
index 6a2ecce..0000000
Binary files a/koha-tmpl/opac-tmpl/prog/famfamfam/SE.png and /dev/null differ
diff --git a/koha-tmpl/opac-tmpl/prog/famfamfam/ST.png b/koha-tmpl/opac-tmpl/prog/famfamfam/ST.png
deleted file mode 100644 (file)
index dd0820e..0000000
Binary files a/koha-tmpl/opac-tmpl/prog/famfamfam/ST.png and /dev/null differ
diff --git a/koha-tmpl/opac-tmpl/prog/famfamfam/VM.png b/koha-tmpl/opac-tmpl/prog/famfamfam/VM.png
deleted file mode 100644 (file)
index b0ce7bb..0000000
Binary files a/koha-tmpl/opac-tmpl/prog/famfamfam/VM.png and /dev/null differ
diff --git a/koha-tmpl/opac-tmpl/prog/famfamfam/mini/action_back.gif b/koha-tmpl/opac-tmpl/prog/famfamfam/mini/action_back.gif
deleted file mode 100644 (file)
index 46a8ffb..0000000
Binary files a/koha-tmpl/opac-tmpl/prog/famfamfam/mini/action_back.gif and /dev/null differ
diff --git a/koha-tmpl/opac-tmpl/prog/famfamfam/mini/action_forward.gif b/koha-tmpl/opac-tmpl/prog/famfamfam/mini/action_forward.gif
deleted file mode 100644 (file)
index 21da437..0000000
Binary files a/koha-tmpl/opac-tmpl/prog/famfamfam/mini/action_forward.gif and /dev/null differ
diff --git a/koha-tmpl/opac-tmpl/prog/famfamfam/mini/action_go.gif b/koha-tmpl/opac-tmpl/prog/famfamfam/mini/action_go.gif
deleted file mode 100644 (file)
index 82ae7ed..0000000
Binary files a/koha-tmpl/opac-tmpl/prog/famfamfam/mini/action_go.gif and /dev/null differ
diff --git a/koha-tmpl/opac-tmpl/prog/famfamfam/mini/action_paste.gif b/koha-tmpl/opac-tmpl/prog/famfamfam/mini/action_paste.gif
deleted file mode 100644 (file)
index bffd6b0..0000000
Binary files a/koha-tmpl/opac-tmpl/prog/famfamfam/mini/action_paste.gif and /dev/null differ
diff --git a/koha-tmpl/opac-tmpl/prog/famfamfam/mini/action_print.gif b/koha-tmpl/opac-tmpl/prog/famfamfam/mini/action_print.gif
deleted file mode 100644 (file)
index 92e7e0a..0000000
Binary files a/koha-tmpl/opac-tmpl/prog/famfamfam/mini/action_print.gif and /dev/null differ
diff --git a/koha-tmpl/opac-tmpl/prog/famfamfam/mini/action_refresh.gif b/koha-tmpl/opac-tmpl/prog/famfamfam/mini/action_refresh.gif
deleted file mode 100644 (file)
index 8268958..0000000
Binary files a/koha-tmpl/opac-tmpl/prog/famfamfam/mini/action_refresh.gif and /dev/null differ
diff --git a/koha-tmpl/opac-tmpl/prog/famfamfam/mini/action_refresh_blue.gif b/koha-tmpl/opac-tmpl/prog/famfamfam/mini/action_refresh_blue.gif
deleted file mode 100644 (file)
index 7c8bcd0..0000000
Binary files a/koha-tmpl/opac-tmpl/prog/famfamfam/mini/action_refresh_blue.gif and /dev/null differ
diff --git a/koha-tmpl/opac-tmpl/prog/famfamfam/mini/action_save.gif b/koha-tmpl/opac-tmpl/prog/famfamfam/mini/action_save.gif
deleted file mode 100644 (file)
index 6e6f7de..0000000
Binary files a/koha-tmpl/opac-tmpl/prog/famfamfam/mini/action_save.gif and /dev/null differ
diff --git a/koha-tmpl/opac-tmpl/prog/famfamfam/mini/action_stop.gif b/koha-tmpl/opac-tmpl/prog/famfamfam/mini/action_stop.gif
deleted file mode 100644 (file)
index c941c19..0000000
Binary files a/koha-tmpl/opac-tmpl/prog/famfamfam/mini/action_stop.gif and /dev/null differ
diff --git a/koha-tmpl/opac-tmpl/prog/famfamfam/mini/application_dreamweaver.gif b/koha-tmpl/opac-tmpl/prog/famfamfam/mini/application_dreamweaver.gif
deleted file mode 100644 (file)
index 15fe107..0000000
Binary files a/koha-tmpl/opac-tmpl/prog/famfamfam/mini/application_dreamweaver.gif and /dev/null differ
diff --git a/koha-tmpl/opac-tmpl/prog/famfamfam/mini/application_firefox.gif b/koha-tmpl/opac-tmpl/prog/famfamfam/mini/application_firefox.gif
deleted file mode 100644 (file)
index 1192e3e..0000000
Binary files a/koha-tmpl/opac-tmpl/prog/famfamfam/mini/application_firefox.gif and /dev/null differ
diff --git a/koha-tmpl/opac-tmpl/prog/famfamfam/mini/application_flash.gif b/koha-tmpl/opac-tmpl/prog/famfamfam/mini/application_flash.gif
deleted file mode 100644 (file)
index 92abbcb..0000000
Binary files a/koha-tmpl/opac-tmpl/prog/famfamfam/mini/application_flash.gif and /dev/null differ
diff --git a/koha-tmpl/opac-tmpl/prog/famfamfam/mini/arrow_down.gif b/koha-tmpl/opac-tmpl/prog/famfamfam/mini/arrow_down.gif
deleted file mode 100644 (file)
index f0bb6a4..0000000
Binary files a/koha-tmpl/opac-tmpl/prog/famfamfam/mini/arrow_down.gif and /dev/null differ
diff --git a/koha-tmpl/opac-tmpl/prog/famfamfam/mini/arrow_left.gif b/koha-tmpl/opac-tmpl/prog/famfamfam/mini/arrow_left.gif
deleted file mode 100644 (file)
index 932ade1..0000000
Binary files a/koha-tmpl/opac-tmpl/prog/famfamfam/mini/arrow_left.gif and /dev/null differ
diff --git a/koha-tmpl/opac-tmpl/prog/famfamfam/mini/arrow_right.gif b/koha-tmpl/opac-tmpl/prog/famfamfam/mini/arrow_right.gif
deleted file mode 100644 (file)
index 780431c..0000000
Binary files a/koha-tmpl/opac-tmpl/prog/famfamfam/mini/arrow_right.gif and /dev/null differ
diff --git a/koha-tmpl/opac-tmpl/prog/famfamfam/mini/arrow_up.gif b/koha-tmpl/opac-tmpl/prog/famfamfam/mini/arrow_up.gif
deleted file mode 100644 (file)
index e823417..0000000
Binary files a/koha-tmpl/opac-tmpl/prog/famfamfam/mini/arrow_up.gif and /dev/null differ
diff --git a/koha-tmpl/opac-tmpl/prog/famfamfam/mini/box.gif b/koha-tmpl/opac-tmpl/prog/famfamfam/mini/box.gif
deleted file mode 100644 (file)
index cd4729a..0000000
Binary files a/koha-tmpl/opac-tmpl/prog/famfamfam/mini/box.gif and /dev/null differ
diff --git a/koha-tmpl/opac-tmpl/prog/famfamfam/mini/calendar.gif b/koha-tmpl/opac-tmpl/prog/famfamfam/mini/calendar.gif
deleted file mode 100644 (file)
index f78788c..0000000
Binary files a/koha-tmpl/opac-tmpl/prog/famfamfam/mini/calendar.gif and /dev/null differ
diff --git a/koha-tmpl/opac-tmpl/prog/famfamfam/mini/comment.gif b/koha-tmpl/opac-tmpl/prog/famfamfam/mini/comment.gif
deleted file mode 100644 (file)
index 897cf2e..0000000
Binary files a/koha-tmpl/opac-tmpl/prog/famfamfam/mini/comment.gif and /dev/null differ
diff --git a/koha-tmpl/opac-tmpl/prog/famfamfam/mini/comment_blue.gif b/koha-tmpl/opac-tmpl/prog/famfamfam/mini/comment_blue.gif
deleted file mode 100644 (file)
index 897cf2e..0000000
Binary files a/koha-tmpl/opac-tmpl/prog/famfamfam/mini/comment_blue.gif and /dev/null differ
diff --git a/koha-tmpl/opac-tmpl/prog/famfamfam/mini/comment_delete.gif b/koha-tmpl/opac-tmpl/prog/famfamfam/mini/comment_delete.gif
deleted file mode 100644 (file)
index 691b546..0000000
Binary files a/koha-tmpl/opac-tmpl/prog/famfamfam/mini/comment_delete.gif and /dev/null differ
diff --git a/koha-tmpl/opac-tmpl/prog/famfamfam/mini/comment_new.gif b/koha-tmpl/opac-tmpl/prog/famfamfam/mini/comment_new.gif
deleted file mode 100644 (file)
index aa7e9d3..0000000
Binary files a/koha-tmpl/opac-tmpl/prog/famfamfam/mini/comment_new.gif and /dev/null differ
diff --git a/koha-tmpl/opac-tmpl/prog/famfamfam/mini/comment_yellow.gif b/koha-tmpl/opac-tmpl/prog/famfamfam/mini/comment_yellow.gif
deleted file mode 100644 (file)
index df7158a..0000000
Binary files a/koha-tmpl/opac-tmpl/prog/famfamfam/mini/comment_yellow.gif and /dev/null differ
diff --git a/koha-tmpl/opac-tmpl/prog/famfamfam/mini/copy.gif b/koha-tmpl/opac-tmpl/prog/famfamfam/mini/copy.gif
deleted file mode 100644 (file)
index ff81b3b..0000000
Binary files a/koha-tmpl/opac-tmpl/prog/famfamfam/mini/copy.gif and /dev/null differ
diff --git a/koha-tmpl/opac-tmpl/prog/famfamfam/mini/cut.gif b/koha-tmpl/opac-tmpl/prog/famfamfam/mini/cut.gif
deleted file mode 100644 (file)
index ffd7f4f..0000000
Binary files a/koha-tmpl/opac-tmpl/prog/famfamfam/mini/cut.gif and /dev/null differ
diff --git a/koha-tmpl/opac-tmpl/prog/famfamfam/mini/date.gif b/koha-tmpl/opac-tmpl/prog/famfamfam/mini/date.gif
deleted file mode 100644 (file)
index 0cbdf00..0000000
Binary files a/koha-tmpl/opac-tmpl/prog/famfamfam/mini/date.gif and /dev/null differ
diff --git a/koha-tmpl/opac-tmpl/prog/famfamfam/mini/date_delete.gif b/koha-tmpl/opac-tmpl/prog/famfamfam/mini/date_delete.gif
deleted file mode 100644 (file)
index 65f716b..0000000
Binary files a/koha-tmpl/opac-tmpl/prog/famfamfam/mini/date_delete.gif and /dev/null differ
diff --git a/koha-tmpl/opac-tmpl/prog/famfamfam/mini/date_new.gif b/koha-tmpl/opac-tmpl/prog/famfamfam/mini/date_new.gif
deleted file mode 100644 (file)
index e224d78..0000000
Binary files a/koha-tmpl/opac-tmpl/prog/famfamfam/mini/date_new.gif and /dev/null differ
diff --git a/koha-tmpl/opac-tmpl/prog/famfamfam/mini/file_acrobat.gif b/koha-tmpl/opac-tmpl/prog/famfamfam/mini/file_acrobat.gif
deleted file mode 100644 (file)
index 7bc7de9..0000000
Binary files a/koha-tmpl/opac-tmpl/prog/famfamfam/mini/file_acrobat.gif and /dev/null differ
diff --git a/koha-tmpl/opac-tmpl/prog/famfamfam/mini/file_font.gif b/koha-tmpl/opac-tmpl/prog/famfamfam/mini/file_font.gif
deleted file mode 100644 (file)
index 52b5ef3..0000000
Binary files a/koha-tmpl/opac-tmpl/prog/famfamfam/mini/file_font.gif and /dev/null differ
diff --git a/koha-tmpl/opac-tmpl/prog/famfamfam/mini/file_font_truetype.gif b/koha-tmpl/opac-tmpl/prog/famfamfam/mini/file_font_truetype.gif
deleted file mode 100644 (file)
index 0569425..0000000
Binary files a/koha-tmpl/opac-tmpl/prog/famfamfam/mini/file_font_truetype.gif and /dev/null differ
diff --git a/koha-tmpl/opac-tmpl/prog/famfamfam/mini/flag_blue.gif b/koha-tmpl/opac-tmpl/prog/famfamfam/mini/flag_blue.gif
deleted file mode 100644 (file)
index a092405..0000000
Binary files a/koha-tmpl/opac-tmpl/prog/famfamfam/mini/flag_blue.gif and /dev/null differ
diff --git a/koha-tmpl/opac-tmpl/prog/famfamfam/mini/flag_green.gif b/koha-tmpl/opac-tmpl/prog/famfamfam/mini/flag_green.gif
deleted file mode 100644 (file)
index 76b8925..0000000
Binary files a/koha-tmpl/opac-tmpl/prog/famfamfam/mini/flag_green.gif and /dev/null differ
diff --git a/koha-tmpl/opac-tmpl/prog/famfamfam/mini/flag_orange.gif b/koha-tmpl/opac-tmpl/prog/famfamfam/mini/flag_orange.gif
deleted file mode 100644 (file)
index 0596070..0000000
Binary files a/koha-tmpl/opac-tmpl/prog/famfamfam/mini/flag_orange.gif and /dev/null differ
diff --git a/koha-tmpl/opac-tmpl/prog/famfamfam/mini/flag_red.gif b/koha-tmpl/opac-tmpl/prog/famfamfam/mini/flag_red.gif
deleted file mode 100644 (file)
index 16698e3..0000000
Binary files a/koha-tmpl/opac-tmpl/prog/famfamfam/mini/flag_red.gif and /dev/null differ
diff --git a/koha-tmpl/opac-tmpl/prog/famfamfam/mini/flag_white.gif b/koha-tmpl/opac-tmpl/prog/famfamfam/mini/flag_white.gif
deleted file mode 100644 (file)
index b566c01..0000000
Binary files a/koha-tmpl/opac-tmpl/prog/famfamfam/mini/flag_white.gif and /dev/null differ
diff --git a/koha-tmpl/opac-tmpl/prog/famfamfam/mini/folder.gif b/koha-tmpl/opac-tmpl/prog/famfamfam/mini/folder.gif
deleted file mode 100644 (file)
index 8dc04c4..0000000
Binary files a/koha-tmpl/opac-tmpl/prog/famfamfam/mini/folder.gif and /dev/null differ
diff --git a/koha-tmpl/opac-tmpl/prog/famfamfam/mini/folder_delete.gif b/koha-tmpl/opac-tmpl/prog/famfamfam/mini/folder_delete.gif
deleted file mode 100644 (file)
index ce9f448..0000000
Binary files a/koha-tmpl/opac-tmpl/prog/famfamfam/mini/folder_delete.gif and /dev/null differ
diff --git a/koha-tmpl/opac-tmpl/prog/famfamfam/mini/folder_images.gif b/koha-tmpl/opac-tmpl/prog/famfamfam/mini/folder_images.gif
deleted file mode 100644 (file)
index 81a7c3b..0000000
Binary files a/koha-tmpl/opac-tmpl/prog/famfamfam/mini/folder_images.gif and /dev/null differ
diff --git a/koha-tmpl/opac-tmpl/prog/famfamfam/mini/folder_lock.gif b/koha-tmpl/opac-tmpl/prog/famfamfam/mini/folder_lock.gif
deleted file mode 100644 (file)
index b1bfa02..0000000
Binary files a/koha-tmpl/opac-tmpl/prog/famfamfam/mini/folder_lock.gif and /dev/null differ
diff --git a/koha-tmpl/opac-tmpl/prog/famfamfam/mini/folder_new.gif b/koha-tmpl/opac-tmpl/prog/famfamfam/mini/folder_new.gif
deleted file mode 100644 (file)
index 5f30cfa..0000000
Binary files a/koha-tmpl/opac-tmpl/prog/famfamfam/mini/folder_new.gif and /dev/null differ
diff --git a/koha-tmpl/opac-tmpl/prog/famfamfam/mini/folder_page.gif b/koha-tmpl/opac-tmpl/prog/famfamfam/mini/folder_page.gif
deleted file mode 100644 (file)
index a8c53e2..0000000
Binary files a/koha-tmpl/opac-tmpl/prog/famfamfam/mini/folder_page.gif and /dev/null differ
diff --git a/koha-tmpl/opac-tmpl/prog/famfamfam/mini/icon_accept.gif b/koha-tmpl/opac-tmpl/prog/famfamfam/mini/icon_accept.gif
deleted file mode 100644 (file)
index 35e9499..0000000
Binary files a/koha-tmpl/opac-tmpl/prog/famfamfam/mini/icon_accept.gif and /dev/null differ
diff --git a/koha-tmpl/opac-tmpl/prog/famfamfam/mini/icon_airmail.gif b/koha-tmpl/opac-tmpl/prog/famfamfam/mini/icon_airmail.gif
deleted file mode 100644 (file)
index 2be8457..0000000
Binary files a/koha-tmpl/opac-tmpl/prog/famfamfam/mini/icon_airmail.gif and /dev/null differ
diff --git a/koha-tmpl/opac-tmpl/prog/famfamfam/mini/icon_alert.gif b/koha-tmpl/opac-tmpl/prog/famfamfam/mini/icon_alert.gif
deleted file mode 100644 (file)
index 429a5d9..0000000
Binary files a/koha-tmpl/opac-tmpl/prog/famfamfam/mini/icon_alert.gif and /dev/null differ
diff --git a/koha-tmpl/opac-tmpl/prog/famfamfam/mini/icon_attachment.gif b/koha-tmpl/opac-tmpl/prog/famfamfam/mini/icon_attachment.gif
deleted file mode 100644 (file)
index 4400e61..0000000
Binary files a/koha-tmpl/opac-tmpl/prog/famfamfam/mini/icon_attachment.gif and /dev/null differ
diff --git a/koha-tmpl/opac-tmpl/prog/famfamfam/mini/icon_clock.gif b/koha-tmpl/opac-tmpl/prog/famfamfam/mini/icon_clock.gif
deleted file mode 100644 (file)
index 6ac6ebc..0000000
Binary files a/koha-tmpl/opac-tmpl/prog/famfamfam/mini/icon_clock.gif and /dev/null differ
diff --git a/koha-tmpl/opac-tmpl/prog/famfamfam/mini/icon_component.gif b/koha-tmpl/opac-tmpl/prog/famfamfam/mini/icon_component.gif
deleted file mode 100644 (file)
index bde079f..0000000
Binary files a/koha-tmpl/opac-tmpl/prog/famfamfam/mini/icon_component.gif and /dev/null differ
diff --git a/koha-tmpl/opac-tmpl/prog/famfamfam/mini/icon_download.gif b/koha-tmpl/opac-tmpl/prog/famfamfam/mini/icon_download.gif
deleted file mode 100644 (file)
index d052d09..0000000
Binary files a/koha-tmpl/opac-tmpl/prog/famfamfam/mini/icon_download.gif and /dev/null differ
diff --git a/koha-tmpl/opac-tmpl/prog/famfamfam/mini/icon_email.gif b/koha-tmpl/opac-tmpl/prog/famfamfam/mini/icon_email.gif
deleted file mode 100644 (file)
index 62bc6ff..0000000
Binary files a/koha-tmpl/opac-tmpl/prog/famfamfam/mini/icon_email.gif and /dev/null differ
diff --git a/koha-tmpl/opac-tmpl/prog/famfamfam/mini/icon_extension.gif b/koha-tmpl/opac-tmpl/prog/famfamfam/mini/icon_extension.gif
deleted file mode 100644 (file)
index 50c2d46..0000000
Binary files a/koha-tmpl/opac-tmpl/prog/famfamfam/mini/icon_extension.gif and /dev/null differ
diff --git a/koha-tmpl/opac-tmpl/prog/famfamfam/mini/icon_favourites.gif b/koha-tmpl/opac-tmpl/prog/famfamfam/mini/icon_favourites.gif
deleted file mode 100644 (file)
index 785b938..0000000
Binary files a/koha-tmpl/opac-tmpl/prog/famfamfam/mini/icon_favourites.gif and /dev/null differ
diff --git a/koha-tmpl/opac-tmpl/prog/famfamfam/mini/icon_get_world.gif b/koha-tmpl/opac-tmpl/prog/famfamfam/mini/icon_get_world.gif
deleted file mode 100644 (file)
index f99a538..0000000
Binary files a/koha-tmpl/opac-tmpl/prog/famfamfam/mini/icon_get_world.gif and /dev/null differ
diff --git a/koha-tmpl/opac-tmpl/prog/famfamfam/mini/icon_history.gif b/koha-tmpl/opac-tmpl/prog/famfamfam/mini/icon_history.gif
deleted file mode 100644 (file)
index 4473b1b..0000000
Binary files a/koha-tmpl/opac-tmpl/prog/famfamfam/mini/icon_history.gif and /dev/null differ
diff --git a/koha-tmpl/opac-tmpl/prog/famfamfam/mini/icon_home.gif b/koha-tmpl/opac-tmpl/prog/famfamfam/mini/icon_home.gif
deleted file mode 100644 (file)
index 327e76f..0000000
Binary files a/koha-tmpl/opac-tmpl/prog/famfamfam/mini/icon_home.gif and /dev/null differ
diff --git a/koha-tmpl/opac-tmpl/prog/famfamfam/mini/icon_info.gif b/koha-tmpl/opac-tmpl/prog/famfamfam/mini/icon_info.gif
deleted file mode 100644 (file)
index 9dfa0e1..0000000
Binary files a/koha-tmpl/opac-tmpl/prog/famfamfam/mini/icon_info.gif and /dev/null differ
diff --git a/koha-tmpl/opac-tmpl/prog/famfamfam/mini/icon_key.gif b/koha-tmpl/opac-tmpl/prog/famfamfam/mini/icon_key.gif
deleted file mode 100644 (file)
index e3853e5..0000000
Binary files a/koha-tmpl/opac-tmpl/prog/famfamfam/mini/icon_key.gif and /dev/null differ
diff --git a/koha-tmpl/opac-tmpl/prog/famfamfam/mini/icon_link.gif b/koha-tmpl/opac-tmpl/prog/famfamfam/mini/icon_link.gif
deleted file mode 100644 (file)
index c64c23c..0000000
Binary files a/koha-tmpl/opac-tmpl/prog/famfamfam/mini/icon_link.gif and /dev/null differ
diff --git a/koha-tmpl/opac-tmpl/prog/famfamfam/mini/icon_mail.gif b/koha-tmpl/opac-tmpl/prog/famfamfam/mini/icon_mail.gif
deleted file mode 100644 (file)
index 5b5c7a7..0000000
Binary files a/koha-tmpl/opac-tmpl/prog/famfamfam/mini/icon_mail.gif and /dev/null differ
diff --git a/koha-tmpl/opac-tmpl/prog/famfamfam/mini/icon_monitor_mac.gif b/koha-tmpl/opac-tmpl/prog/famfamfam/mini/icon_monitor_mac.gif
deleted file mode 100644 (file)
index b700287..0000000
Binary files a/koha-tmpl/opac-tmpl/prog/famfamfam/mini/icon_monitor_mac.gif and /dev/null differ
diff --git a/koha-tmpl/opac-tmpl/prog/famfamfam/mini/icon_monitor_pc.gif b/koha-tmpl/opac-tmpl/prog/famfamfam/mini/icon_monitor_pc.gif
deleted file mode 100644 (file)
index d9a9472..0000000
Binary files a/koha-tmpl/opac-tmpl/prog/famfamfam/mini/icon_monitor_pc.gif and /dev/null differ
diff --git a/koha-tmpl/opac-tmpl/prog/famfamfam/mini/icon_network.gif b/koha-tmpl/opac-tmpl/prog/famfamfam/mini/icon_network.gif
deleted file mode 100644 (file)
index c607888..0000000
Binary files a/koha-tmpl/opac-tmpl/prog/famfamfam/mini/icon_network.gif and /dev/null differ
diff --git a/koha-tmpl/opac-tmpl/prog/famfamfam/mini/icon_package.gif b/koha-tmpl/opac-tmpl/prog/famfamfam/mini/icon_package.gif
deleted file mode 100644 (file)
index e01b1ff..0000000
Binary files a/koha-tmpl/opac-tmpl/prog/famfamfam/mini/icon_package.gif and /dev/null differ
diff --git a/koha-tmpl/opac-tmpl/prog/famfamfam/mini/icon_package_get.gif b/koha-tmpl/opac-tmpl/prog/famfamfam/mini/icon_package_get.gif
deleted file mode 100644 (file)
index 19712a9..0000000
Binary files a/koha-tmpl/opac-tmpl/prog/famfamfam/mini/icon_package_get.gif and /dev/null differ
diff --git a/koha-tmpl/opac-tmpl/prog/famfamfam/mini/icon_package_open.gif b/koha-tmpl/opac-tmpl/prog/famfamfam/mini/icon_package_open.gif
deleted file mode 100644 (file)
index e630faf..0000000
Binary files a/koha-tmpl/opac-tmpl/prog/famfamfam/mini/icon_package_open.gif and /dev/null differ
diff --git a/koha-tmpl/opac-tmpl/prog/famfamfam/mini/icon_padlock.gif b/koha-tmpl/opac-tmpl/prog/famfamfam/mini/icon_padlock.gif
deleted file mode 100644 (file)
index f70cc95..0000000
Binary files a/koha-tmpl/opac-tmpl/prog/famfamfam/mini/icon_padlock.gif and /dev/null differ
diff --git a/koha-tmpl/opac-tmpl/prog/famfamfam/mini/icon_security.gif b/koha-tmpl/opac-tmpl/prog/famfamfam/mini/icon_security.gif
deleted file mode 100644 (file)
index 929284d..0000000
Binary files a/koha-tmpl/opac-tmpl/prog/famfamfam/mini/icon_security.gif and /dev/null differ
diff --git a/koha-tmpl/opac-tmpl/prog/famfamfam/mini/icon_settings.gif b/koha-tmpl/opac-tmpl/prog/famfamfam/mini/icon_settings.gif
deleted file mode 100644 (file)
index 14339f7..0000000
Binary files a/koha-tmpl/opac-tmpl/prog/famfamfam/mini/icon_settings.gif and /dev/null differ
diff --git a/koha-tmpl/opac-tmpl/prog/famfamfam/mini/icon_user.gif b/koha-tmpl/opac-tmpl/prog/famfamfam/mini/icon_user.gif
deleted file mode 100644 (file)
index dcb5c2a..0000000
Binary files a/koha-tmpl/opac-tmpl/prog/famfamfam/mini/icon_user.gif and /dev/null differ
diff --git a/koha-tmpl/opac-tmpl/prog/famfamfam/mini/icon_wand.gif b/koha-tmpl/opac-tmpl/prog/famfamfam/mini/icon_wand.gif
deleted file mode 100644 (file)
index d4eb47e..0000000
Binary files a/koha-tmpl/opac-tmpl/prog/famfamfam/mini/icon_wand.gif and /dev/null differ
diff --git a/koha-tmpl/opac-tmpl/prog/famfamfam/mini/icon_world.gif b/koha-tmpl/opac-tmpl/prog/famfamfam/mini/icon_world.gif
deleted file mode 100644 (file)
index 355c1a9..0000000
Binary files a/koha-tmpl/opac-tmpl/prog/famfamfam/mini/icon_world.gif and /dev/null differ
diff --git a/koha-tmpl/opac-tmpl/prog/famfamfam/mini/icon_world_dynamic.gif b/koha-tmpl/opac-tmpl/prog/famfamfam/mini/icon_world_dynamic.gif
deleted file mode 100644 (file)
index e5ed08c..0000000
Binary files a/koha-tmpl/opac-tmpl/prog/famfamfam/mini/icon_world_dynamic.gif and /dev/null differ
diff --git a/koha-tmpl/opac-tmpl/prog/famfamfam/mini/image.gif b/koha-tmpl/opac-tmpl/prog/famfamfam/mini/image.gif
deleted file mode 100644 (file)
index d5924f4..0000000
Binary files a/koha-tmpl/opac-tmpl/prog/famfamfam/mini/image.gif and /dev/null differ
diff --git a/koha-tmpl/opac-tmpl/prog/famfamfam/mini/image_new.gif b/koha-tmpl/opac-tmpl/prog/famfamfam/mini/image_new.gif
deleted file mode 100644 (file)
index 4f4d12e..0000000
Binary files a/koha-tmpl/opac-tmpl/prog/famfamfam/mini/image_new.gif and /dev/null differ
diff --git a/koha-tmpl/opac-tmpl/prog/famfamfam/mini/interface_browser.gif b/koha-tmpl/opac-tmpl/prog/famfamfam/mini/interface_browser.gif
deleted file mode 100644 (file)
index 602ef50..0000000
Binary files a/koha-tmpl/opac-tmpl/prog/famfamfam/mini/interface_browser.gif and /dev/null differ
diff --git a/koha-tmpl/opac-tmpl/prog/famfamfam/mini/interface_dialog.gif b/koha-tmpl/opac-tmpl/prog/famfamfam/mini/interface_dialog.gif
deleted file mode 100644 (file)
index 31e1b07..0000000
Binary files a/koha-tmpl/opac-tmpl/prog/famfamfam/mini/interface_dialog.gif and /dev/null differ
diff --git a/koha-tmpl/opac-tmpl/prog/famfamfam/mini/interface_installer.gif b/koha-tmpl/opac-tmpl/prog/famfamfam/mini/interface_installer.gif
deleted file mode 100644 (file)
index 4b11af3..0000000
Binary files a/koha-tmpl/opac-tmpl/prog/famfamfam/mini/interface_installer.gif and /dev/null differ
diff --git a/koha-tmpl/opac-tmpl/prog/famfamfam/mini/list_comments.gif b/koha-tmpl/opac-tmpl/prog/famfamfam/mini/list_comments.gif
deleted file mode 100644 (file)
index b313894..0000000
Binary files a/koha-tmpl/opac-tmpl/prog/famfamfam/mini/list_comments.gif and /dev/null differ
diff --git a/koha-tmpl/opac-tmpl/prog/famfamfam/mini/list_components.gif b/koha-tmpl/opac-tmpl/prog/famfamfam/mini/list_components.gif
deleted file mode 100644 (file)
index d38de9d..0000000
Binary files a/koha-tmpl/opac-tmpl/prog/famfamfam/mini/list_components.gif and /dev/null differ
diff --git a/koha-tmpl/opac-tmpl/prog/famfamfam/mini/list_errors.gif b/koha-tmpl/opac-tmpl/prog/famfamfam/mini/list_errors.gif
deleted file mode 100644 (file)
index 2e68d10..0000000
Binary files a/koha-tmpl/opac-tmpl/prog/famfamfam/mini/list_errors.gif and /dev/null differ
diff --git a/koha-tmpl/opac-tmpl/prog/famfamfam/mini/list_extensions.gif b/koha-tmpl/opac-tmpl/prog/famfamfam/mini/list_extensions.gif
deleted file mode 100644 (file)
index a5e542a..0000000
Binary files a/koha-tmpl/opac-tmpl/prog/famfamfam/mini/list_extensions.gif and /dev/null differ
diff --git a/koha-tmpl/opac-tmpl/prog/famfamfam/mini/list_images.gif b/koha-tmpl/opac-tmpl/prog/famfamfam/mini/list_images.gif
deleted file mode 100644 (file)
index f744f19..0000000
Binary files a/koha-tmpl/opac-tmpl/prog/famfamfam/mini/list_images.gif and /dev/null differ
diff --git a/koha-tmpl/opac-tmpl/prog/famfamfam/mini/list_keys.gif b/koha-tmpl/opac-tmpl/prog/famfamfam/mini/list_keys.gif
deleted file mode 100644 (file)
index 6d3990a..0000000
Binary files a/koha-tmpl/opac-tmpl/prog/famfamfam/mini/list_keys.gif and /dev/null differ
diff --git a/koha-tmpl/opac-tmpl/prog/famfamfam/mini/list_links.gif b/koha-tmpl/opac-tmpl/prog/famfamfam/mini/list_links.gif
deleted file mode 100644 (file)
index 4beb044..0000000
Binary files a/koha-tmpl/opac-tmpl/prog/famfamfam/mini/list_links.gif and /dev/null differ
diff --git a/koha-tmpl/opac-tmpl/prog/famfamfam/mini/list_packages.gif b/koha-tmpl/opac-tmpl/prog/famfamfam/mini/list_packages.gif
deleted file mode 100644 (file)
index c6cadf3..0000000
Binary files a/koha-tmpl/opac-tmpl/prog/famfamfam/mini/list_packages.gif and /dev/null differ
diff --git a/koha-tmpl/opac-tmpl/prog/famfamfam/mini/list_security.gif b/koha-tmpl/opac-tmpl/prog/famfamfam/mini/list_security.gif
deleted file mode 100644 (file)
index 3e32002..0000000
Binary files a/koha-tmpl/opac-tmpl/prog/famfamfam/mini/list_security.gif and /dev/null differ
diff --git a/koha-tmpl/opac-tmpl/prog/famfamfam/mini/list_settings.gif b/koha-tmpl/opac-tmpl/prog/famfamfam/mini/list_settings.gif
deleted file mode 100644 (file)
index 0845095..0000000
Binary files a/koha-tmpl/opac-tmpl/prog/famfamfam/mini/list_settings.gif and /dev/null differ
diff --git a/koha-tmpl/opac-tmpl/prog/famfamfam/mini/list_users.gif b/koha-tmpl/opac-tmpl/prog/famfamfam/mini/list_users.gif
deleted file mode 100644 (file)
index 394aba6..0000000
Binary files a/koha-tmpl/opac-tmpl/prog/famfamfam/mini/list_users.gif and /dev/null differ
diff --git a/koha-tmpl/opac-tmpl/prog/famfamfam/mini/list_world.gif b/koha-tmpl/opac-tmpl/prog/famfamfam/mini/list_world.gif
deleted file mode 100644 (file)
index a56265e..0000000
Binary files a/koha-tmpl/opac-tmpl/prog/famfamfam/mini/list_world.gif and /dev/null differ
diff --git a/koha-tmpl/opac-tmpl/prog/famfamfam/mini/note.gif b/koha-tmpl/opac-tmpl/prog/famfamfam/mini/note.gif
deleted file mode 100644 (file)
index 17b9f41..0000000
Binary files a/koha-tmpl/opac-tmpl/prog/famfamfam/mini/note.gif and /dev/null differ
diff --git a/koha-tmpl/opac-tmpl/prog/famfamfam/mini/note_delete.gif b/koha-tmpl/opac-tmpl/prog/famfamfam/mini/note_delete.gif
deleted file mode 100644 (file)
index 13402a5..0000000
Binary files a/koha-tmpl/opac-tmpl/prog/famfamfam/mini/note_delete.gif and /dev/null differ
diff --git a/koha-tmpl/opac-tmpl/prog/famfamfam/mini/note_new.gif b/koha-tmpl/opac-tmpl/prog/famfamfam/mini/note_new.gif
deleted file mode 100644 (file)
index 431ff64..0000000
Binary files a/koha-tmpl/opac-tmpl/prog/famfamfam/mini/note_new.gif and /dev/null differ
diff --git a/koha-tmpl/opac-tmpl/prog/famfamfam/mini/page.gif b/koha-tmpl/opac-tmpl/prog/famfamfam/mini/page.gif
deleted file mode 100644 (file)
index c5743c0..0000000
Binary files a/koha-tmpl/opac-tmpl/prog/famfamfam/mini/page.gif and /dev/null differ
diff --git a/koha-tmpl/opac-tmpl/prog/famfamfam/mini/page_alert.gif b/koha-tmpl/opac-tmpl/prog/famfamfam/mini/page_alert.gif
deleted file mode 100644 (file)
index 4719a1f..0000000
Binary files a/koha-tmpl/opac-tmpl/prog/famfamfam/mini/page_alert.gif and /dev/null differ
diff --git a/koha-tmpl/opac-tmpl/prog/famfamfam/mini/page_attachment.gif b/koha-tmpl/opac-tmpl/prog/famfamfam/mini/page_attachment.gif
deleted file mode 100644 (file)
index a8e1b45..0000000
Binary files a/koha-tmpl/opac-tmpl/prog/famfamfam/mini/page_attachment.gif and /dev/null differ
diff --git a/koha-tmpl/opac-tmpl/prog/famfamfam/mini/page_bookmark.gif b/koha-tmpl/opac-tmpl/prog/famfamfam/mini/page_bookmark.gif
deleted file mode 100644 (file)
index 1b2a923..0000000
Binary files a/koha-tmpl/opac-tmpl/prog/famfamfam/mini/page_bookmark.gif and /dev/null differ
diff --git a/koha-tmpl/opac-tmpl/prog/famfamfam/mini/page_boy.gif b/koha-tmpl/opac-tmpl/prog/famfamfam/mini/page_boy.gif
deleted file mode 100644 (file)
index 4ae3ff0..0000000
Binary files a/koha-tmpl/opac-tmpl/prog/famfamfam/mini/page_boy.gif and /dev/null differ
diff --git a/koha-tmpl/opac-tmpl/prog/famfamfam/mini/page_code.gif b/koha-tmpl/opac-tmpl/prog/famfamfam/mini/page_code.gif
deleted file mode 100644 (file)
index 912517b..0000000
Binary files a/koha-tmpl/opac-tmpl/prog/famfamfam/mini/page_code.gif and /dev/null differ
diff --git a/koha-tmpl/opac-tmpl/prog/famfamfam/mini/page_colors.gif b/koha-tmpl/opac-tmpl/prog/famfamfam/mini/page_colors.gif
deleted file mode 100644 (file)
index 0141d38..0000000
Binary files a/koha-tmpl/opac-tmpl/prog/famfamfam/mini/page_colors.gif and /dev/null differ
diff --git a/koha-tmpl/opac-tmpl/prog/famfamfam/mini/page_component.gif b/koha-tmpl/opac-tmpl/prog/famfamfam/mini/page_component.gif
deleted file mode 100644 (file)
index f9aee3f..0000000
Binary files a/koha-tmpl/opac-tmpl/prog/famfamfam/mini/page_component.gif and /dev/null differ
diff --git a/koha-tmpl/opac-tmpl/prog/famfamfam/mini/page_cross.gif b/koha-tmpl/opac-tmpl/prog/famfamfam/mini/page_cross.gif
deleted file mode 100644 (file)
index bf43a0a..0000000
Binary files a/koha-tmpl/opac-tmpl/prog/famfamfam/mini/page_cross.gif and /dev/null differ
diff --git a/koha-tmpl/opac-tmpl/prog/famfamfam/mini/page_delete.gif b/koha-tmpl/opac-tmpl/prog/famfamfam/mini/page_delete.gif
deleted file mode 100644 (file)
index 0c6be03..0000000
Binary files a/koha-tmpl/opac-tmpl/prog/famfamfam/mini/page_delete.gif and /dev/null differ
diff --git a/koha-tmpl/opac-tmpl/prog/famfamfam/mini/page_deny.gif b/koha-tmpl/opac-tmpl/prog/famfamfam/mini/page_deny.gif
deleted file mode 100644 (file)
index 2bf5013..0000000
Binary files a/koha-tmpl/opac-tmpl/prog/famfamfam/mini/page_deny.gif and /dev/null differ
diff --git a/koha-tmpl/opac-tmpl/prog/famfamfam/mini/page_down.gif b/koha-tmpl/opac-tmpl/prog/famfamfam/mini/page_down.gif
deleted file mode 100644 (file)
index 390ba69..0000000
Binary files a/koha-tmpl/opac-tmpl/prog/famfamfam/mini/page_down.gif and /dev/null differ
diff --git a/koha-tmpl/opac-tmpl/prog/famfamfam/mini/page_dynamic.gif b/koha-tmpl/opac-tmpl/prog/famfamfam/mini/page_dynamic.gif
deleted file mode 100644 (file)
index 11c59e6..0000000
Binary files a/koha-tmpl/opac-tmpl/prog/famfamfam/mini/page_dynamic.gif and /dev/null differ
diff --git a/koha-tmpl/opac-tmpl/prog/famfamfam/mini/page_edit.gif b/koha-tmpl/opac-tmpl/prog/famfamfam/mini/page_edit.gif
deleted file mode 100644 (file)
index 7b02b6e..0000000
Binary files a/koha-tmpl/opac-tmpl/prog/famfamfam/mini/page_edit.gif and /dev/null differ
diff --git a/koha-tmpl/opac-tmpl/prog/famfamfam/mini/page_extension.gif b/koha-tmpl/opac-tmpl/prog/famfamfam/mini/page_extension.gif
deleted file mode 100644 (file)
index 7bbe56a..0000000
Binary files a/koha-tmpl/opac-tmpl/prog/famfamfam/mini/page_extension.gif and /dev/null differ
diff --git a/koha-tmpl/opac-tmpl/prog/famfamfam/mini/page_favourites.gif b/koha-tmpl/opac-tmpl/prog/famfamfam/mini/page_favourites.gif
deleted file mode 100644 (file)
index eab0d9d..0000000
Binary files a/koha-tmpl/opac-tmpl/prog/famfamfam/mini/page_favourites.gif and /dev/null differ
diff --git a/koha-tmpl/opac-tmpl/prog/famfamfam/mini/page_find.gif b/koha-tmpl/opac-tmpl/prog/famfamfam/mini/page_find.gif
deleted file mode 100644 (file)
index 9ae5e34..0000000
Binary files a/koha-tmpl/opac-tmpl/prog/famfamfam/mini/page_find.gif and /dev/null differ
diff --git a/koha-tmpl/opac-tmpl/prog/famfamfam/mini/page_flash.gif b/koha-tmpl/opac-tmpl/prog/famfamfam/mini/page_flash.gif
deleted file mode 100644 (file)
index 6e17277..0000000
Binary files a/koha-tmpl/opac-tmpl/prog/famfamfam/mini/page_flash.gif and /dev/null differ
diff --git a/koha-tmpl/opac-tmpl/prog/famfamfam/mini/page_girl.gif b/koha-tmpl/opac-tmpl/prog/famfamfam/mini/page_girl.gif
deleted file mode 100644 (file)
index 9f48a22..0000000
Binary files a/koha-tmpl/opac-tmpl/prog/famfamfam/mini/page_girl.gif and /dev/null differ
diff --git a/koha-tmpl/opac-tmpl/prog/famfamfam/mini/page_html.gif b/koha-tmpl/opac-tmpl/prog/famfamfam/mini/page_html.gif
deleted file mode 100644 (file)
index 34e79d1..0000000
Binary files a/koha-tmpl/opac-tmpl/prog/famfamfam/mini/page_html.gif and /dev/null differ
diff --git a/koha-tmpl/opac-tmpl/prog/famfamfam/mini/page_java.gif b/koha-tmpl/opac-tmpl/prog/famfamfam/mini/page_java.gif
deleted file mode 100644 (file)
index 6592a87..0000000
Binary files a/koha-tmpl/opac-tmpl/prog/famfamfam/mini/page_java.gif and /dev/null differ
diff --git a/koha-tmpl/opac-tmpl/prog/famfamfam/mini/page_key.gif b/koha-tmpl/opac-tmpl/prog/famfamfam/mini/page_key.gif
deleted file mode 100644 (file)
index ebf83ca..0000000
Binary files a/koha-tmpl/opac-tmpl/prog/famfamfam/mini/page_key.gif and /dev/null differ
diff --git a/koha-tmpl/opac-tmpl/prog/famfamfam/mini/page_left.gif b/koha-tmpl/opac-tmpl/prog/famfamfam/mini/page_left.gif
deleted file mode 100644 (file)
index f222b46..0000000
Binary files a/koha-tmpl/opac-tmpl/prog/famfamfam/mini/page_left.gif and /dev/null differ
diff --git a/koha-tmpl/opac-tmpl/prog/famfamfam/mini/page_link.gif b/koha-tmpl/opac-tmpl/prog/famfamfam/mini/page_link.gif
deleted file mode 100644 (file)
index ff0b39d..0000000
Binary files a/koha-tmpl/opac-tmpl/prog/famfamfam/mini/page_link.gif and /dev/null differ
diff --git a/koha-tmpl/opac-tmpl/prog/famfamfam/mini/page_lock.gif b/koha-tmpl/opac-tmpl/prog/famfamfam/mini/page_lock.gif
deleted file mode 100644 (file)
index 07a2756..0000000
Binary files a/koha-tmpl/opac-tmpl/prog/famfamfam/mini/page_lock.gif and /dev/null differ
diff --git a/koha-tmpl/opac-tmpl/prog/famfamfam/mini/page_new.gif b/koha-tmpl/opac-tmpl/prog/famfamfam/mini/page_new.gif
deleted file mode 100644 (file)
index 0888abf..0000000
Binary files a/koha-tmpl/opac-tmpl/prog/famfamfam/mini/page_new.gif and /dev/null differ
diff --git a/koha-tmpl/opac-tmpl/prog/famfamfam/mini/page_next.gif b/koha-tmpl/opac-tmpl/prog/famfamfam/mini/page_next.gif
deleted file mode 100644 (file)
index 60769b6..0000000
Binary files a/koha-tmpl/opac-tmpl/prog/famfamfam/mini/page_next.gif and /dev/null differ
diff --git a/koha-tmpl/opac-tmpl/prog/famfamfam/mini/page_package.gif b/koha-tmpl/opac-tmpl/prog/famfamfam/mini/page_package.gif
deleted file mode 100644 (file)
index d94a075..0000000
Binary files a/koha-tmpl/opac-tmpl/prog/famfamfam/mini/page_package.gif and /dev/null differ
diff --git a/koha-tmpl/opac-tmpl/prog/famfamfam/mini/page_php.gif b/koha-tmpl/opac-tmpl/prog/famfamfam/mini/page_php.gif
deleted file mode 100644 (file)
index d997903..0000000
Binary files a/koha-tmpl/opac-tmpl/prog/famfamfam/mini/page_php.gif and /dev/null differ
diff --git a/koha-tmpl/opac-tmpl/prog/famfamfam/mini/page_prev.gif b/koha-tmpl/opac-tmpl/prog/famfamfam/mini/page_prev.gif
deleted file mode 100644 (file)
index f0bb78d..0000000
Binary files a/koha-tmpl/opac-tmpl/prog/famfamfam/mini/page_prev.gif and /dev/null differ
diff --git a/koha-tmpl/opac-tmpl/prog/famfamfam/mini/page_refresh.gif b/koha-tmpl/opac-tmpl/prog/famfamfam/mini/page_refresh.gif
deleted file mode 100644 (file)
index dc23846..0000000
Binary files a/koha-tmpl/opac-tmpl/prog/famfamfam/mini/page_refresh.gif and /dev/null differ
diff --git a/koha-tmpl/opac-tmpl/prog/famfamfam/mini/page_right.gif b/koha-tmpl/opac-tmpl/prog/famfamfam/mini/page_right.gif
deleted file mode 100644 (file)
index aedf4ba..0000000
Binary files a/koha-tmpl/opac-tmpl/prog/famfamfam/mini/page_right.gif and /dev/null differ
diff --git a/koha-tmpl/opac-tmpl/prog/famfamfam/mini/page_script.gif b/koha-tmpl/opac-tmpl/prog/famfamfam/mini/page_script.gif
deleted file mode 100644 (file)
index 44717b3..0000000
Binary files a/koha-tmpl/opac-tmpl/prog/famfamfam/mini/page_script.gif and /dev/null differ
diff --git a/koha-tmpl/opac-tmpl/prog/famfamfam/mini/page_security.gif b/koha-tmpl/opac-tmpl/prog/famfamfam/mini/page_security.gif
deleted file mode 100644 (file)
index 5050dc4..0000000
Binary files a/koha-tmpl/opac-tmpl/prog/famfamfam/mini/page_security.gif and /dev/null differ
diff --git a/koha-tmpl/opac-tmpl/prog/famfamfam/mini/page_settings.gif b/koha-tmpl/opac-tmpl/prog/famfamfam/mini/page_settings.gif
deleted file mode 100644 (file)
index af40997..0000000
Binary files a/koha-tmpl/opac-tmpl/prog/famfamfam/mini/page_settings.gif and /dev/null differ
diff --git a/koha-tmpl/opac-tmpl/prog/famfamfam/mini/page_sound.gif b/koha-tmpl/opac-tmpl/prog/famfamfam/mini/page_sound.gif
deleted file mode 100644 (file)
index 1526ad1..0000000
Binary files a/koha-tmpl/opac-tmpl/prog/famfamfam/mini/page_sound.gif and /dev/null differ
diff --git a/koha-tmpl/opac-tmpl/prog/famfamfam/mini/page_tag_blue.gif b/koha-tmpl/opac-tmpl/prog/famfamfam/mini/page_tag_blue.gif
deleted file mode 100644 (file)
index 5ceb96c..0000000
Binary files a/koha-tmpl/opac-tmpl/prog/famfamfam/mini/page_tag_blue.gif and /dev/null differ
diff --git a/koha-tmpl/opac-tmpl/prog/famfamfam/mini/page_tag_red.gif b/koha-tmpl/opac-tmpl/prog/famfamfam/mini/page_tag_red.gif
deleted file mode 100644 (file)
index 4aa2416..0000000
Binary files a/koha-tmpl/opac-tmpl/prog/famfamfam/mini/page_tag_red.gif and /dev/null differ
diff --git a/koha-tmpl/opac-tmpl/prog/famfamfam/mini/page_text.gif b/koha-tmpl/opac-tmpl/prog/famfamfam/mini/page_text.gif
deleted file mode 100644 (file)
index c1132e4..0000000
Binary files a/koha-tmpl/opac-tmpl/prog/famfamfam/mini/page_text.gif and /dev/null differ
diff --git a/koha-tmpl/opac-tmpl/prog/famfamfam/mini/page_text_delete.gif b/koha-tmpl/opac-tmpl/prog/famfamfam/mini/page_text_delete.gif
deleted file mode 100644 (file)
index f3178ab..0000000
Binary files a/koha-tmpl/opac-tmpl/prog/famfamfam/mini/page_text_delete.gif and /dev/null differ
diff --git a/koha-tmpl/opac-tmpl/prog/famfamfam/mini/page_tick.gif b/koha-tmpl/opac-tmpl/prog/famfamfam/mini/page_tick.gif
deleted file mode 100644 (file)
index d7edd0c..0000000
Binary files a/koha-tmpl/opac-tmpl/prog/famfamfam/mini/page_tick.gif and /dev/null differ
diff --git a/koha-tmpl/opac-tmpl/prog/famfamfam/mini/page_tree.gif b/koha-tmpl/opac-tmpl/prog/famfamfam/mini/page_tree.gif
deleted file mode 100644 (file)
index 847274e..0000000
Binary files a/koha-tmpl/opac-tmpl/prog/famfamfam/mini/page_tree.gif and /dev/null differ
diff --git a/koha-tmpl/opac-tmpl/prog/famfamfam/mini/page_up.gif b/koha-tmpl/opac-tmpl/prog/famfamfam/mini/page_up.gif
deleted file mode 100644 (file)
index 08ef934..0000000
Binary files a/koha-tmpl/opac-tmpl/prog/famfamfam/mini/page_up.gif and /dev/null differ
diff --git a/koha-tmpl/opac-tmpl/prog/famfamfam/mini/page_url.gif b/koha-tmpl/opac-tmpl/prog/famfamfam/mini/page_url.gif
deleted file mode 100644 (file)
index 1b27952..0000000
Binary files a/koha-tmpl/opac-tmpl/prog/famfamfam/mini/page_url.gif and /dev/null differ
diff --git a/koha-tmpl/opac-tmpl/prog/famfamfam/mini/page_user.gif b/koha-tmpl/opac-tmpl/prog/famfamfam/mini/page_user.gif
deleted file mode 100644 (file)
index ad39fb7..0000000
Binary files a/koha-tmpl/opac-tmpl/prog/famfamfam/mini/page_user.gif and /dev/null differ
diff --git a/koha-tmpl/opac-tmpl/prog/famfamfam/mini/page_user_dark.gif b/koha-tmpl/opac-tmpl/prog/famfamfam/mini/page_user_dark.gif
deleted file mode 100644 (file)
index 6ee2c1c..0000000
Binary files a/koha-tmpl/opac-tmpl/prog/famfamfam/mini/page_user_dark.gif and /dev/null differ
diff --git a/koha-tmpl/opac-tmpl/prog/famfamfam/mini/page_user_light.gif b/koha-tmpl/opac-tmpl/prog/famfamfam/mini/page_user_light.gif
deleted file mode 100644 (file)
index 2b7a924..0000000
Binary files a/koha-tmpl/opac-tmpl/prog/famfamfam/mini/page_user_light.gif and /dev/null differ
diff --git a/koha-tmpl/opac-tmpl/prog/famfamfam/mini/page_video.gif b/koha-tmpl/opac-tmpl/prog/famfamfam/mini/page_video.gif
deleted file mode 100644 (file)
index a1c5032..0000000
Binary files a/koha-tmpl/opac-tmpl/prog/famfamfam/mini/page_video.gif and /dev/null differ
diff --git a/koha-tmpl/opac-tmpl/prog/famfamfam/mini/page_wizard.gif b/koha-tmpl/opac-tmpl/prog/famfamfam/mini/page_wizard.gif
deleted file mode 100644 (file)
index fd816ea..0000000
Binary files a/koha-tmpl/opac-tmpl/prog/famfamfam/mini/page_wizard.gif and /dev/null differ
diff --git a/koha-tmpl/opac-tmpl/prog/famfamfam/mini/readme.txt b/koha-tmpl/opac-tmpl/prog/famfamfam/mini/readme.txt
deleted file mode 100644 (file)
index 0b03079..0000000
+++ /dev/null
@@ -1,2 +0,0 @@
-mini icons - famfamfam.com\r
-Contact: mjames@gmail.com
\ No newline at end of file
diff --git a/koha-tmpl/opac-tmpl/prog/famfamfam/mini/table.gif b/koha-tmpl/opac-tmpl/prog/famfamfam/mini/table.gif
deleted file mode 100644 (file)
index e5daec4..0000000
Binary files a/koha-tmpl/opac-tmpl/prog/famfamfam/mini/table.gif and /dev/null differ
diff --git a/koha-tmpl/opac-tmpl/prog/famfamfam/mini/table_delete.gif b/koha-tmpl/opac-tmpl/prog/famfamfam/mini/table_delete.gif
deleted file mode 100644 (file)
index 99190cd..0000000
Binary files a/koha-tmpl/opac-tmpl/prog/famfamfam/mini/table_delete.gif and /dev/null differ
diff --git a/koha-tmpl/opac-tmpl/prog/famfamfam/mini/tables.gif b/koha-tmpl/opac-tmpl/prog/famfamfam/mini/tables.gif
deleted file mode 100644 (file)
index 87246be..0000000
Binary files a/koha-tmpl/opac-tmpl/prog/famfamfam/mini/tables.gif and /dev/null differ
diff --git a/koha-tmpl/opac-tmpl/prog/famfamfam/readme.txt b/koha-tmpl/opac-tmpl/prog/famfamfam/readme.txt
deleted file mode 100644 (file)
index 0b03079..0000000
+++ /dev/null
@@ -1,2 +0,0 @@
-mini icons - famfamfam.com\r
-Contact: mjames@gmail.com
\ No newline at end of file
diff --git a/koha-tmpl/opac-tmpl/prog/famfamfam/silk/accept.png b/koha-tmpl/opac-tmpl/prog/famfamfam/silk/accept.png
deleted file mode 100644 (file)
index 89c8129..0000000
Binary files a/koha-tmpl/opac-tmpl/prog/famfamfam/silk/accept.png and /dev/null differ
diff --git a/koha-tmpl/opac-tmpl/prog/famfamfam/silk/add.png b/koha-tmpl/opac-tmpl/prog/famfamfam/silk/add.png
deleted file mode 100644 (file)
index 6332fef..0000000
Binary files a/koha-tmpl/opac-tmpl/prog/famfamfam/silk/add.png and /dev/null differ
diff --git a/koha-tmpl/opac-tmpl/prog/famfamfam/silk/anchor.png b/koha-tmpl/opac-tmpl/prog/famfamfam/silk/anchor.png
deleted file mode 100644 (file)
index 9b3422c..0000000
Binary files a/koha-tmpl/opac-tmpl/prog/famfamfam/silk/anchor.png and /dev/null differ
diff --git a/koha-tmpl/opac-tmpl/prog/famfamfam/silk/application.png b/koha-tmpl/opac-tmpl/prog/famfamfam/silk/application.png
deleted file mode 100644 (file)
index 1dee9e3..0000000
Binary files a/koha-tmpl/opac-tmpl/prog/famfamfam/silk/application.png and /dev/null differ
diff --git a/koha-tmpl/opac-tmpl/prog/famfamfam/silk/application_add.png b/koha-tmpl/opac-tmpl/prog/famfamfam/silk/application_add.png
deleted file mode 100644 (file)
index 2e94507..0000000
Binary files a/koha-tmpl/opac-tmpl/prog/famfamfam/silk/application_add.png and /dev/null differ
diff --git a/koha-tmpl/opac-tmpl/prog/famfamfam/silk/application_cascade.png b/koha-tmpl/opac-tmpl/prog/famfamfam/silk/application_cascade.png
deleted file mode 100644 (file)
index da5c622..0000000
Binary files a/koha-tmpl/opac-tmpl/prog/famfamfam/silk/application_cascade.png and /dev/null differ
diff --git a/koha-tmpl/opac-tmpl/prog/famfamfam/silk/application_delete.png b/koha-tmpl/opac-tmpl/prog/famfamfam/silk/application_delete.png
deleted file mode 100644 (file)
index 0a335ac..0000000
Binary files a/koha-tmpl/opac-tmpl/prog/famfamfam/silk/application_delete.png and /dev/null differ
diff --git a/koha-tmpl/opac-tmpl/prog/famfamfam/silk/application_double.png b/koha-tmpl/opac-tmpl/prog/famfamfam/silk/application_double.png
deleted file mode 100644 (file)
index 647592f..0000000
Binary files a/koha-tmpl/opac-tmpl/prog/famfamfam/silk/application_double.png and /dev/null differ
diff --git a/koha-tmpl/opac-tmpl/prog/famfamfam/silk/application_edit.png b/koha-tmpl/opac-tmpl/prog/famfamfam/silk/application_edit.png
deleted file mode 100644 (file)
index fb2efb8..0000000
Binary files a/koha-tmpl/opac-tmpl/prog/famfamfam/silk/application_edit.png and /dev/null differ
diff --git a/koha-tmpl/opac-tmpl/prog/famfamfam/silk/application_error.png b/koha-tmpl/opac-tmpl/prog/famfamfam/silk/application_error.png
deleted file mode 100644 (file)
index b35fa57..0000000
Binary files a/koha-tmpl/opac-tmpl/prog/famfamfam/silk/application_error.png and /dev/null differ
diff --git a/koha-tmpl/opac-tmpl/prog/famfamfam/silk/application_form.png b/koha-tmpl/opac-tmpl/prog/famfamfam/silk/application_form.png
deleted file mode 100644 (file)
index 807b862..0000000
Binary files a/koha-tmpl/opac-tmpl/prog/famfamfam/silk/application_form.png and /dev/null differ
diff --git a/koha-tmpl/opac-tmpl/prog/famfamfam/silk/application_form_add.png b/koha-tmpl/opac-tmpl/prog/famfamfam/silk/application_form_add.png
deleted file mode 100644 (file)
index 28c2175..0000000
Binary files a/koha-tmpl/opac-tmpl/prog/famfamfam/silk/application_form_add.png and /dev/null differ
diff --git a/koha-tmpl/opac-tmpl/prog/famfamfam/silk/application_form_delete.png b/koha-tmpl/opac-tmpl/prog/famfamfam/silk/application_form_delete.png
deleted file mode 100644 (file)
index cd305ec..0000000
Binary files a/koha-tmpl/opac-tmpl/prog/famfamfam/silk/application_form_delete.png and /dev/null differ
diff --git a/koha-tmpl/opac-tmpl/prog/famfamfam/silk/application_form_edit.png b/koha-tmpl/opac-tmpl/prog/famfamfam/silk/application_form_edit.png
deleted file mode 100644 (file)
index af486c9..0000000
Binary files a/koha-tmpl/opac-tmpl/prog/famfamfam/silk/application_form_edit.png and /dev/null differ
diff --git a/koha-tmpl/opac-tmpl/prog/famfamfam/silk/application_form_magnify.png b/koha-tmpl/opac-tmpl/prog/famfamfam/silk/application_form_magnify.png
deleted file mode 100644 (file)
index 7b7fbd1..0000000
Binary files a/koha-tmpl/opac-tmpl/prog/famfamfam/silk/application_form_magnify.png and /dev/null differ
diff --git a/koha-tmpl/opac-tmpl/prog/famfamfam/silk/application_get.png b/koha-tmpl/opac-tmpl/prog/famfamfam/silk/application_get.png
deleted file mode 100644 (file)
index 28e41ea..0000000
Binary files a/koha-tmpl/opac-tmpl/prog/famfamfam/silk/application_get.png and /dev/null differ
diff --git a/koha-tmpl/opac-tmpl/prog/famfamfam/silk/application_go.png b/koha-tmpl/opac-tmpl/prog/famfamfam/silk/application_go.png
deleted file mode 100644 (file)
index 5cc2b0d..0000000
Binary files a/koha-tmpl/opac-tmpl/prog/famfamfam/silk/application_go.png and /dev/null differ
diff --git a/koha-tmpl/opac-tmpl/prog/famfamfam/silk/application_home.png b/koha-tmpl/opac-tmpl/prog/famfamfam/silk/application_home.png
deleted file mode 100644 (file)
index b60d0c8..0000000
Binary files a/koha-tmpl/opac-tmpl/prog/famfamfam/silk/application_home.png and /dev/null differ
diff --git a/koha-tmpl/opac-tmpl/prog/famfamfam/silk/application_key.png b/koha-tmpl/opac-tmpl/prog/famfamfam/silk/application_key.png
deleted file mode 100644 (file)
index 998d65c..0000000
Binary files a/koha-tmpl/opac-tmpl/prog/famfamfam/silk/application_key.png and /dev/null differ
diff --git a/koha-tmpl/opac-tmpl/prog/famfamfam/silk/application_lightning.png b/koha-tmpl/opac-tmpl/prog/famfamfam/silk/application_lightning.png
deleted file mode 100644 (file)
index 7e91545..0000000
Binary files a/koha-tmpl/opac-tmpl/prog/famfamfam/silk/application_lightning.png and /dev/null differ
diff --git a/koha-tmpl/opac-tmpl/prog/famfamfam/silk/application_link.png b/koha-tmpl/opac-tmpl/prog/famfamfam/silk/application_link.png
deleted file mode 100644 (file)
index f8fbb3e..0000000
Binary files a/koha-tmpl/opac-tmpl/prog/famfamfam/silk/application_link.png and /dev/null differ
diff --git a/koha-tmpl/opac-tmpl/prog/famfamfam/silk/application_osx.png b/koha-tmpl/opac-tmpl/prog/famfamfam/silk/application_osx.png
deleted file mode 100644 (file)
index 9f022ec..0000000
Binary files a/koha-tmpl/opac-tmpl/prog/famfamfam/silk/application_osx.png and /dev/null differ
diff --git a/koha-tmpl/opac-tmpl/prog/famfamfam/silk/application_osx_terminal.png b/koha-tmpl/opac-tmpl/prog/famfamfam/silk/application_osx_terminal.png
deleted file mode 100644 (file)
index b3d8ce0..0000000
Binary files a/koha-tmpl/opac-tmpl/prog/famfamfam/silk/application_osx_terminal.png and /dev/null differ
diff --git a/koha-tmpl/opac-tmpl/prog/famfamfam/silk/application_put.png b/koha-tmpl/opac-tmpl/prog/famfamfam/silk/application_put.png
deleted file mode 100644 (file)
index c30cf59..0000000
Binary files a/koha-tmpl/opac-tmpl/prog/famfamfam/silk/application_put.png and /dev/null differ
diff --git a/koha-tmpl/opac-tmpl/prog/famfamfam/silk/application_side_boxes.png b/koha-tmpl/opac-tmpl/prog/famfamfam/silk/application_side_boxes.png
deleted file mode 100644 (file)
index efbf3c4..0000000
Binary files a/koha-tmpl/opac-tmpl/prog/famfamfam/silk/application_side_boxes.png and /dev/null differ
diff --git a/koha-tmpl/opac-tmpl/prog/famfamfam/silk/application_side_contract.png b/koha-tmpl/opac-tmpl/prog/famfamfam/silk/application_side_contract.png
deleted file mode 100644 (file)
index 3585f94..0000000
Binary files a/koha-tmpl/opac-tmpl/prog/famfamfam/silk/application_side_contract.png and /dev/null differ
diff --git a/koha-tmpl/opac-tmpl/prog/famfamfam/silk/application_side_expand.png b/koha-tmpl/opac-tmpl/prog/famfamfam/silk/application_side_expand.png
deleted file mode 100644 (file)
index 030cf7c..0000000
Binary files a/koha-tmpl/opac-tmpl/prog/famfamfam/silk/application_side_expand.png and /dev/null differ
diff --git a/koha-tmpl/opac-tmpl/prog/famfamfam/silk/application_side_list.png b/koha-tmpl/opac-tmpl/prog/famfamfam/silk/application_side_list.png
deleted file mode 100644 (file)
index 248eaf1..0000000
Binary files a/koha-tmpl/opac-tmpl/prog/famfamfam/silk/application_side_list.png and /dev/null differ
diff --git a/koha-tmpl/opac-tmpl/prog/famfamfam/silk/application_side_tree.png b/koha-tmpl/opac-tmpl/prog/famfamfam/silk/application_side_tree.png
deleted file mode 100644 (file)
index f04a52b..0000000
Binary files a/koha-tmpl/opac-tmpl/prog/famfamfam/silk/application_side_tree.png and /dev/null differ
diff --git a/koha-tmpl/opac-tmpl/prog/famfamfam/silk/application_split.png b/koha-tmpl/opac-tmpl/prog/famfamfam/silk/application_split.png
deleted file mode 100644 (file)
index a91c78a..0000000
Binary files a/koha-tmpl/opac-tmpl/prog/famfamfam/silk/application_split.png and /dev/null differ
diff --git a/koha-tmpl/opac-tmpl/prog/famfamfam/silk/application_tile_horizontal.png b/koha-tmpl/opac-tmpl/prog/famfamfam/silk/application_tile_horizontal.png
deleted file mode 100644 (file)
index 8a1191c..0000000
Binary files a/koha-tmpl/opac-tmpl/prog/famfamfam/silk/application_tile_horizontal.png and /dev/null differ
diff --git a/koha-tmpl/opac-tmpl/prog/famfamfam/silk/application_tile_vertical.png b/koha-tmpl/opac-tmpl/prog/famfamfam/silk/application_tile_vertical.png
deleted file mode 100644 (file)
index 1d40383..0000000
Binary files a/koha-tmpl/opac-tmpl/prog/famfamfam/silk/application_tile_vertical.png and /dev/null differ
diff --git a/koha-tmpl/opac-tmpl/prog/famfamfam/silk/application_view_columns.png b/koha-tmpl/opac-tmpl/prog/famfamfam/silk/application_view_columns.png
deleted file mode 100644 (file)
index dc2e9d5..0000000
Binary files a/koha-tmpl/opac-tmpl/prog/famfamfam/silk/application_view_columns.png and /dev/null differ
diff --git a/koha-tmpl/opac-tmpl/prog/famfamfam/silk/application_view_detail.png b/koha-tmpl/opac-tmpl/prog/famfamfam/silk/application_view_detail.png
deleted file mode 100644 (file)
index aba044b..0000000
Binary files a/koha-tmpl/opac-tmpl/prog/famfamfam/silk/application_view_detail.png and /dev/null differ
diff --git a/koha-tmpl/opac-tmpl/prog/famfamfam/silk/application_view_gallery.png b/koha-tmpl/opac-tmpl/prog/famfamfam/silk/application_view_gallery.png
deleted file mode 100644 (file)
index 851950d..0000000
Binary files a/koha-tmpl/opac-tmpl/prog/famfamfam/silk/application_view_gallery.png and /dev/null differ
diff --git a/koha-tmpl/opac-tmpl/prog/famfamfam/silk/application_view_icons.png b/koha-tmpl/opac-tmpl/prog/famfamfam/silk/application_view_icons.png
deleted file mode 100644 (file)
index 6a93cda..0000000
Binary files a/koha-tmpl/opac-tmpl/prog/famfamfam/silk/application_view_icons.png and /dev/null differ
diff --git a/koha-tmpl/opac-tmpl/prog/famfamfam/silk/application_view_list.png b/koha-tmpl/opac-tmpl/prog/famfamfam/silk/application_view_list.png
deleted file mode 100644 (file)
index acc30b8..0000000
Binary files a/koha-tmpl/opac-tmpl/prog/famfamfam/silk/application_view_list.png and /dev/null differ
diff --git a/koha-tmpl/opac-tmpl/prog/famfamfam/silk/application_view_tile.png b/koha-tmpl/opac-tmpl/prog/famfamfam/silk/application_view_tile.png
deleted file mode 100644 (file)
index 3bc0bd3..0000000
Binary files a/koha-tmpl/opac-tmpl/prog/famfamfam/silk/application_view_tile.png and /dev/null differ
diff --git a/koha-tmpl/opac-tmpl/prog/famfamfam/silk/application_xp.png b/koha-tmpl/opac-tmpl/prog/famfamfam/silk/application_xp.png
deleted file mode 100644 (file)
index d22860a..0000000
Binary files a/koha-tmpl/opac-tmpl/prog/famfamfam/silk/application_xp.png and /dev/null differ
diff --git a/koha-tmpl/opac-tmpl/prog/famfamfam/silk/application_xp_terminal.png b/koha-tmpl/opac-tmpl/prog/famfamfam/silk/application_xp_terminal.png
deleted file mode 100644 (file)
index c28dd63..0000000
Binary files a/koha-tmpl/opac-tmpl/prog/famfamfam/silk/application_xp_terminal.png and /dev/null differ
diff --git a/koha-tmpl/opac-tmpl/prog/famfamfam/silk/arrow_branch.png b/koha-tmpl/opac-tmpl/prog/famfamfam/silk/arrow_branch.png
deleted file mode 100644 (file)
index 7542db1..0000000
Binary files a/koha-tmpl/opac-tmpl/prog/famfamfam/silk/arrow_branch.png and /dev/null differ
diff --git a/koha-tmpl/opac-tmpl/prog/famfamfam/silk/arrow_divide.png b/koha-tmpl/opac-tmpl/prog/famfamfam/silk/arrow_divide.png
deleted file mode 100644 (file)
index 61a7b1d..0000000
Binary files a/koha-tmpl/opac-tmpl/prog/famfamfam/silk/arrow_divide.png and /dev/null differ
diff --git a/koha-tmpl/opac-tmpl/prog/famfamfam/silk/arrow_down.png b/koha-tmpl/opac-tmpl/prog/famfamfam/silk/arrow_down.png
deleted file mode 100644 (file)
index 2c4e279..0000000
Binary files a/koha-tmpl/opac-tmpl/prog/famfamfam/silk/arrow_down.png and /dev/null differ
diff --git a/koha-tmpl/opac-tmpl/prog/famfamfam/silk/arrow_in.png b/koha-tmpl/opac-tmpl/prog/famfamfam/silk/arrow_in.png
deleted file mode 100644 (file)
index 745c651..0000000
Binary files a/koha-tmpl/opac-tmpl/prog/famfamfam/silk/arrow_in.png and /dev/null differ
diff --git a/koha-tmpl/opac-tmpl/prog/famfamfam/silk/arrow_inout.png b/koha-tmpl/opac-tmpl/prog/famfamfam/silk/arrow_inout.png
deleted file mode 100644 (file)
index 1b76367..0000000
Binary files a/koha-tmpl/opac-tmpl/prog/famfamfam/silk/arrow_inout.png and /dev/null differ
diff --git a/koha-tmpl/opac-tmpl/prog/famfamfam/silk/arrow_join.png b/koha-tmpl/opac-tmpl/prog/famfamfam/silk/arrow_join.png
deleted file mode 100644 (file)
index a128413..0000000
Binary files a/koha-tmpl/opac-tmpl/prog/famfamfam/silk/arrow_join.png and /dev/null differ
diff --git a/koha-tmpl/opac-tmpl/prog/famfamfam/silk/arrow_left.png b/koha-tmpl/opac-tmpl/prog/famfamfam/silk/arrow_left.png
deleted file mode 100644 (file)
index 5dc6967..0000000
Binary files a/koha-tmpl/opac-tmpl/prog/famfamfam/silk/arrow_left.png and /dev/null differ
diff --git a/koha-tmpl/opac-tmpl/prog/famfamfam/silk/arrow_merge.png b/koha-tmpl/opac-tmpl/prog/famfamfam/silk/arrow_merge.png
deleted file mode 100644 (file)
index 7502dbb..0000000
Binary files a/koha-tmpl/opac-tmpl/prog/famfamfam/silk/arrow_merge.png and /dev/null differ
diff --git a/koha-tmpl/opac-tmpl/prog/famfamfam/silk/arrow_out.png b/koha-tmpl/opac-tmpl/prog/famfamfam/silk/arrow_out.png
deleted file mode 100644 (file)
index 2e9bc42..0000000
Binary files a/koha-tmpl/opac-tmpl/prog/famfamfam/silk/arrow_out.png and /dev/null differ
diff --git a/koha-tmpl/opac-tmpl/prog/famfamfam/silk/arrow_redo.png b/koha-tmpl/opac-tmpl/prog/famfamfam/silk/arrow_redo.png
deleted file mode 100644 (file)
index fdc394c..0000000
Binary files a/koha-tmpl/opac-tmpl/prog/famfamfam/silk/arrow_redo.png and /dev/null differ
diff --git a/koha-tmpl/opac-tmpl/prog/famfamfam/silk/arrow_refresh.png b/koha-tmpl/opac-tmpl/prog/famfamfam/silk/arrow_refresh.png
deleted file mode 100644 (file)
index 0de2656..0000000
Binary files a/koha-tmpl/opac-tmpl/prog/famfamfam/silk/arrow_refresh.png and /dev/null differ
diff --git a/koha-tmpl/opac-tmpl/prog/famfamfam/silk/arrow_refresh_small.png b/koha-tmpl/opac-tmpl/prog/famfamfam/silk/arrow_refresh_small.png
deleted file mode 100644 (file)
index d3087df..0000000
Binary files a/koha-tmpl/opac-tmpl/prog/famfamfam/silk/arrow_refresh_small.png and /dev/null differ
diff --git a/koha-tmpl/opac-tmpl/prog/famfamfam/silk/arrow_right.png b/koha-tmpl/opac-tmpl/prog/famfamfam/silk/arrow_right.png
deleted file mode 100644 (file)
index b1a1819..0000000
Binary files a/koha-tmpl/opac-tmpl/prog/famfamfam/silk/arrow_right.png and /dev/null differ
diff --git a/koha-tmpl/opac-tmpl/prog/famfamfam/silk/arrow_rotate_anticlockwise.png b/koha-tmpl/opac-tmpl/prog/famfamfam/silk/arrow_rotate_anticlockwise.png
deleted file mode 100644 (file)
index 46c75aa..0000000
Binary files a/koha-tmpl/opac-tmpl/prog/famfamfam/silk/arrow_rotate_anticlockwise.png and /dev/null differ
diff --git a/koha-tmpl/opac-tmpl/prog/famfamfam/silk/arrow_rotate_clockwise.png b/koha-tmpl/opac-tmpl/prog/famfamfam/silk/arrow_rotate_clockwise.png
deleted file mode 100644 (file)
index aa65210..0000000
Binary files a/koha-tmpl/opac-tmpl/prog/famfamfam/silk/arrow_rotate_clockwise.png and /dev/null differ
diff --git a/koha-tmpl/opac-tmpl/prog/famfamfam/silk/arrow_switch.png b/koha-tmpl/opac-tmpl/prog/famfamfam/silk/arrow_switch.png
deleted file mode 100644 (file)
index 258c16c..0000000
Binary files a/koha-tmpl/opac-tmpl/prog/famfamfam/silk/arrow_switch.png and /dev/null differ
diff --git a/koha-tmpl/opac-tmpl/prog/famfamfam/silk/arrow_turn_left.png b/koha-tmpl/opac-tmpl/prog/famfamfam/silk/arrow_turn_left.png
deleted file mode 100644 (file)
index a3d6c9e..0000000
Binary files a/koha-tmpl/opac-tmpl/prog/famfamfam/silk/arrow_turn_left.png and /dev/null differ
diff --git a/koha-tmpl/opac-tmpl/prog/famfamfam/silk/arrow_turn_right.png b/koha-tmpl/opac-tmpl/prog/famfamfam/silk/arrow_turn_right.png
deleted file mode 100644 (file)
index 629f20d..0000000
Binary files a/koha-tmpl/opac-tmpl/prog/famfamfam/silk/arrow_turn_right.png and /dev/null differ
diff --git a/koha-tmpl/opac-tmpl/prog/famfamfam/silk/arrow_undo.png b/koha-tmpl/opac-tmpl/prog/famfamfam/silk/arrow_undo.png
deleted file mode 100644 (file)
index 6972c5e..0000000
Binary files a/koha-tmpl/opac-tmpl/prog/famfamfam/silk/arrow_undo.png and /dev/null differ
diff --git a/koha-tmpl/opac-tmpl/prog/famfamfam/silk/arrow_up.png b/koha-tmpl/opac-tmpl/prog/famfamfam/silk/arrow_up.png
deleted file mode 100644 (file)
index 1ebb193..0000000
Binary files a/koha-tmpl/opac-tmpl/prog/famfamfam/silk/arrow_up.png and /dev/null differ
diff --git a/koha-tmpl/opac-tmpl/prog/famfamfam/silk/asterisk_orange.png b/koha-tmpl/opac-tmpl/prog/famfamfam/silk/asterisk_orange.png
deleted file mode 100644 (file)
index 1ebebde..0000000
Binary files a/koha-tmpl/opac-tmpl/prog/famfamfam/silk/asterisk_orange.png and /dev/null differ
diff --git a/koha-tmpl/opac-tmpl/prog/famfamfam/silk/asterisk_yellow.png b/koha-tmpl/opac-tmpl/prog/famfamfam/silk/asterisk_yellow.png
deleted file mode 100644 (file)
index bab7cc9..0000000
Binary files a/koha-tmpl/opac-tmpl/prog/famfamfam/silk/asterisk_yellow.png and /dev/null differ
diff --git a/koha-tmpl/opac-tmpl/prog/famfamfam/silk/attach.png b/koha-tmpl/opac-tmpl/prog/famfamfam/silk/attach.png
deleted file mode 100644 (file)
index ea897cc..0000000
Binary files a/koha-tmpl/opac-tmpl/prog/famfamfam/silk/attach.png and /dev/null differ
diff --git a/koha-tmpl/opac-tmpl/prog/famfamfam/silk/award_star_add.png b/koha-tmpl/opac-tmpl/prog/famfamfam/silk/award_star_add.png
deleted file mode 100644 (file)
index 9c4be9b..0000000
Binary files a/koha-tmpl/opac-tmpl/prog/famfamfam/silk/award_star_add.png and /dev/null differ
diff --git a/koha-tmpl/opac-tmpl/prog/famfamfam/silk/award_star_bronze_1.png b/koha-tmpl/opac-tmpl/prog/famfamfam/silk/award_star_bronze_1.png
deleted file mode 100644 (file)
index 658c711..0000000
Binary files a/koha-tmpl/opac-tmpl/prog/famfamfam/silk/award_star_bronze_1.png and /dev/null differ
diff --git a/koha-tmpl/opac-tmpl/prog/famfamfam/silk/award_star_bronze_2.png b/koha-tmpl/opac-tmpl/prog/famfamfam/silk/award_star_bronze_2.png
deleted file mode 100644 (file)
index e47babd..0000000
Binary files a/koha-tmpl/opac-tmpl/prog/famfamfam/silk/award_star_bronze_2.png and /dev/null differ
diff --git a/koha-tmpl/opac-tmpl/prog/famfamfam/silk/award_star_bronze_3.png b/koha-tmpl/opac-tmpl/prog/famfamfam/silk/award_star_bronze_3.png
deleted file mode 100644 (file)
index 396e4b3..0000000
Binary files a/koha-tmpl/opac-tmpl/prog/famfamfam/silk/award_star_bronze_3.png and /dev/null differ
diff --git a/koha-tmpl/opac-tmpl/prog/famfamfam/silk/award_star_delete.png b/koha-tmpl/opac-tmpl/prog/famfamfam/silk/award_star_delete.png
deleted file mode 100644 (file)
index 4721b15..0000000
Binary files a/koha-tmpl/opac-tmpl/prog/famfamfam/silk/award_star_delete.png and /dev/null differ
diff --git a/koha-tmpl/opac-tmpl/prog/famfamfam/silk/award_star_gold_1.png b/koha-tmpl/opac-tmpl/prog/famfamfam/silk/award_star_gold_1.png
deleted file mode 100644 (file)
index 97a22b7..0000000
Binary files a/koha-tmpl/opac-tmpl/prog/famfamfam/silk/award_star_gold_1.png and /dev/null differ
diff --git a/koha-tmpl/opac-tmpl/prog/famfamfam/silk/award_star_gold_2.png b/koha-tmpl/opac-tmpl/prog/famfamfam/silk/award_star_gold_2.png
deleted file mode 100644 (file)
index 0eaa571..0000000
Binary files a/koha-tmpl/opac-tmpl/prog/famfamfam/silk/award_star_gold_2.png and /dev/null differ
diff --git a/koha-tmpl/opac-tmpl/prog/famfamfam/silk/award_star_gold_3.png b/koha-tmpl/opac-tmpl/prog/famfamfam/silk/award_star_gold_3.png
deleted file mode 100644 (file)
index 124c991..0000000
Binary files a/koha-tmpl/opac-tmpl/prog/famfamfam/silk/award_star_gold_3.png and /dev/null differ
diff --git a/koha-tmpl/opac-tmpl/prog/famfamfam/silk/award_star_silver_1.png b/koha-tmpl/opac-tmpl/prog/famfamfam/silk/award_star_silver_1.png
deleted file mode 100644 (file)
index 028a546..0000000
Binary files a/koha-tmpl/opac-tmpl/prog/famfamfam/silk/award_star_silver_1.png and /dev/null differ
diff --git a/koha-tmpl/opac-tmpl/prog/famfamfam/silk/award_star_silver_2.png b/koha-tmpl/opac-tmpl/prog/famfamfam/silk/award_star_silver_2.png
deleted file mode 100644 (file)
index e487c3a..0000000
Binary files a/koha-tmpl/opac-tmpl/prog/famfamfam/silk/award_star_silver_2.png and /dev/null differ
diff --git a/koha-tmpl/opac-tmpl/prog/famfamfam/silk/award_star_silver_3.png b/koha-tmpl/opac-tmpl/prog/famfamfam/silk/award_star_silver_3.png
deleted file mode 100644 (file)
index 1d72d47..0000000
Binary files a/koha-tmpl/opac-tmpl/prog/famfamfam/silk/award_star_silver_3.png and /dev/null differ
diff --git a/koha-tmpl/opac-tmpl/prog/famfamfam/silk/basket.png b/koha-tmpl/opac-tmpl/prog/famfamfam/silk/basket.png
deleted file mode 100644 (file)
index b0686d7..0000000
Binary files a/koha-tmpl/opac-tmpl/prog/famfamfam/silk/basket.png and /dev/null differ
diff --git a/koha-tmpl/opac-tmpl/prog/famfamfam/silk/basket_add.png b/koha-tmpl/opac-tmpl/prog/famfamfam/silk/basket_add.png
deleted file mode 100644 (file)
index 3554368..0000000
Binary files a/koha-tmpl/opac-tmpl/prog/famfamfam/silk/basket_add.png and /dev/null differ
diff --git a/koha-tmpl/opac-tmpl/prog/famfamfam/silk/basket_delete.png b/koha-tmpl/opac-tmpl/prog/famfamfam/silk/basket_delete.png
deleted file mode 100644 (file)
index 1349974..0000000
Binary files a/koha-tmpl/opac-tmpl/prog/famfamfam/silk/basket_delete.png and /dev/null differ
diff --git a/koha-tmpl/opac-tmpl/prog/famfamfam/silk/basket_edit.png b/koha-tmpl/opac-tmpl/prog/famfamfam/silk/basket_edit.png
deleted file mode 100644 (file)
index 8138bbd..0000000
Binary files a/koha-tmpl/opac-tmpl/prog/famfamfam/silk/basket_edit.png and /dev/null differ
diff --git a/koha-tmpl/opac-tmpl/prog/famfamfam/silk/basket_error.png b/koha-tmpl/opac-tmpl/prog/famfamfam/silk/basket_error.png
deleted file mode 100644 (file)
index 3978b29..0000000
Binary files a/koha-tmpl/opac-tmpl/prog/famfamfam/silk/basket_error.png and /dev/null differ
diff --git a/koha-tmpl/opac-tmpl/prog/famfamfam/silk/basket_go.png b/koha-tmpl/opac-tmpl/prog/famfamfam/silk/basket_go.png
deleted file mode 100644 (file)
index ed8b9a5..0000000
Binary files a/koha-tmpl/opac-tmpl/prog/famfamfam/silk/basket_go.png and /dev/null differ
diff --git a/koha-tmpl/opac-tmpl/prog/famfamfam/silk/basket_put.png b/koha-tmpl/opac-tmpl/prog/famfamfam/silk/basket_put.png
deleted file mode 100644 (file)
index be62faa..0000000
Binary files a/koha-tmpl/opac-tmpl/prog/famfamfam/silk/basket_put.png and /dev/null differ
diff --git a/koha-tmpl/opac-tmpl/prog/famfamfam/silk/basket_remove.png b/koha-tmpl/opac-tmpl/prog/famfamfam/silk/basket_remove.png
deleted file mode 100644 (file)
index 04dd7fd..0000000
Binary files a/koha-tmpl/opac-tmpl/prog/famfamfam/silk/basket_remove.png and /dev/null differ
diff --git a/koha-tmpl/opac-tmpl/prog/famfamfam/silk/bell.png b/koha-tmpl/opac-tmpl/prog/famfamfam/silk/bell.png
deleted file mode 100644 (file)
index 6e0015d..0000000
Binary files a/koha-tmpl/opac-tmpl/prog/famfamfam/silk/bell.png and /dev/null differ
diff --git a/koha-tmpl/opac-tmpl/prog/famfamfam/silk/bell_add.png b/koha-tmpl/opac-tmpl/prog/famfamfam/silk/bell_add.png
deleted file mode 100644 (file)
index 7db01d6..0000000
Binary files a/koha-tmpl/opac-tmpl/prog/famfamfam/silk/bell_add.png and /dev/null differ
diff --git a/koha-tmpl/opac-tmpl/prog/famfamfam/silk/bell_delete.png b/koha-tmpl/opac-tmpl/prog/famfamfam/silk/bell_delete.png
deleted file mode 100644 (file)
index 23907bb..0000000
Binary files a/koha-tmpl/opac-tmpl/prog/famfamfam/silk/bell_delete.png and /dev/null differ
diff --git a/koha-tmpl/opac-tmpl/prog/famfamfam/silk/bell_error.png b/koha-tmpl/opac-tmpl/prog/famfamfam/silk/bell_error.png
deleted file mode 100644 (file)
index a0ddc00..0000000
Binary files a/koha-tmpl/opac-tmpl/prog/famfamfam/silk/bell_error.png and /dev/null differ
diff --git a/koha-tmpl/opac-tmpl/prog/famfamfam/silk/bell_go.png b/koha-tmpl/opac-tmpl/prog/famfamfam/silk/bell_go.png
deleted file mode 100644 (file)
index b89bb34..0000000
Binary files a/koha-tmpl/opac-tmpl/prog/famfamfam/silk/bell_go.png and /dev/null differ
diff --git a/koha-tmpl/opac-tmpl/prog/famfamfam/silk/bell_link.png b/koha-tmpl/opac-tmpl/prog/famfamfam/silk/bell_link.png
deleted file mode 100644 (file)
index b8c64af..0000000
Binary files a/koha-tmpl/opac-tmpl/prog/famfamfam/silk/bell_link.png and /dev/null differ
diff --git a/koha-tmpl/opac-tmpl/prog/famfamfam/silk/bin.png b/koha-tmpl/opac-tmpl/prog/famfamfam/silk/bin.png
deleted file mode 100644 (file)
index ebad933..0000000
Binary files a/koha-tmpl/opac-tmpl/prog/famfamfam/silk/bin.png and /dev/null differ
diff --git a/koha-tmpl/opac-tmpl/prog/famfamfam/silk/bin_closed.png b/koha-tmpl/opac-tmpl/prog/famfamfam/silk/bin_closed.png
deleted file mode 100644 (file)
index afe22ba..0000000
Binary files a/koha-tmpl/opac-tmpl/prog/famfamfam/silk/bin_closed.png and /dev/null differ
diff --git a/koha-tmpl/opac-tmpl/prog/famfamfam/silk/bin_empty.png b/koha-tmpl/opac-tmpl/prog/famfamfam/silk/bin_empty.png
deleted file mode 100644 (file)
index 375b8bf..0000000
Binary files a/koha-tmpl/opac-tmpl/prog/famfamfam/silk/bin_empty.png and /dev/null differ
diff --git a/koha-tmpl/opac-tmpl/prog/famfamfam/silk/bomb.png b/koha-tmpl/opac-tmpl/prog/famfamfam/silk/bomb.png
deleted file mode 100644 (file)
index 1be3797..0000000
Binary files a/koha-tmpl/opac-tmpl/prog/famfamfam/silk/bomb.png and /dev/null differ
diff --git a/koha-tmpl/opac-tmpl/prog/famfamfam/silk/book.png b/koha-tmpl/opac-tmpl/prog/famfamfam/silk/book.png
deleted file mode 100644 (file)
index b0f4dd7..0000000
Binary files a/koha-tmpl/opac-tmpl/prog/famfamfam/silk/book.png and /dev/null differ
diff --git a/koha-tmpl/opac-tmpl/prog/famfamfam/silk/book_add.png b/koha-tmpl/opac-tmpl/prog/famfamfam/silk/book_add.png
deleted file mode 100644 (file)
index e2f0847..0000000
Binary files a/koha-tmpl/opac-tmpl/prog/famfamfam/silk/book_add.png and /dev/null differ
diff --git a/koha-tmpl/opac-tmpl/prog/famfamfam/silk/book_addresses.png b/koha-tmpl/opac-tmpl/prog/famfamfam/silk/book_addresses.png
deleted file mode 100644 (file)
index b73419b..0000000
Binary files a/koha-tmpl/opac-tmpl/prog/famfamfam/silk/book_addresses.png and /dev/null differ
diff --git a/koha-tmpl/opac-tmpl/prog/famfamfam/silk/book_delete.png b/koha-tmpl/opac-tmpl/prog/famfamfam/silk/book_delete.png
deleted file mode 100644 (file)
index d9a6340..0000000
Binary files a/koha-tmpl/opac-tmpl/prog/famfamfam/silk/book_delete.png and /dev/null differ
diff --git a/koha-tmpl/opac-tmpl/prog/famfamfam/silk/book_edit.png b/koha-tmpl/opac-tmpl/prog/famfamfam/silk/book_edit.png
deleted file mode 100644 (file)
index 6e756cc..0000000
Binary files a/koha-tmpl/opac-tmpl/prog/famfamfam/silk/book_edit.png and /dev/null differ
diff --git a/koha-tmpl/opac-tmpl/prog/famfamfam/silk/book_error.png b/koha-tmpl/opac-tmpl/prog/famfamfam/silk/book_error.png
deleted file mode 100644 (file)
index f3fbed0..0000000
Binary files a/koha-tmpl/opac-tmpl/prog/famfamfam/silk/book_error.png and /dev/null differ
diff --git a/koha-tmpl/opac-tmpl/prog/famfamfam/silk/book_go.png b/koha-tmpl/opac-tmpl/prog/famfamfam/silk/book_go.png
deleted file mode 100644 (file)
index cd4e196..0000000
Binary files a/koha-tmpl/opac-tmpl/prog/famfamfam/silk/book_go.png and /dev/null differ
diff --git a/koha-tmpl/opac-tmpl/prog/famfamfam/silk/book_key.png b/koha-tmpl/opac-tmpl/prog/famfamfam/silk/book_key.png
deleted file mode 100644 (file)
index d8e23ec..0000000
Binary files a/koha-tmpl/opac-tmpl/prog/famfamfam/silk/book_key.png and /dev/null differ
diff --git a/koha-tmpl/opac-tmpl/prog/famfamfam/silk/book_link.png b/koha-tmpl/opac-tmpl/prog/famfamfam/silk/book_link.png
deleted file mode 100644 (file)
index dd0820e..0000000
Binary files a/koha-tmpl/opac-tmpl/prog/famfamfam/silk/book_link.png and /dev/null differ
diff --git a/koha-tmpl/opac-tmpl/prog/famfamfam/silk/book_next.png b/koha-tmpl/opac-tmpl/prog/famfamfam/silk/book_next.png
deleted file mode 100644 (file)
index ff2ea1a..0000000
Binary files a/koha-tmpl/opac-tmpl/prog/famfamfam/silk/book_next.png and /dev/null differ
diff --git a/koha-tmpl/opac-tmpl/prog/famfamfam/silk/book_open.png b/koha-tmpl/opac-tmpl/prog/famfamfam/silk/book_open.png
deleted file mode 100644 (file)
index 7d863f9..0000000
Binary files a/koha-tmpl/opac-tmpl/prog/famfamfam/silk/book_open.png and /dev/null differ
diff --git a/koha-tmpl/opac-tmpl/prog/famfamfam/silk/book_previous.png b/koha-tmpl/opac-tmpl/prog/famfamfam/silk/book_previous.png
deleted file mode 100644 (file)
index 2e53c69..0000000
Binary files a/koha-tmpl/opac-tmpl/prog/famfamfam/silk/book_previous.png and /dev/null differ
diff --git a/koha-tmpl/opac-tmpl/prog/famfamfam/silk/box.png b/koha-tmpl/opac-tmpl/prog/famfamfam/silk/box.png
deleted file mode 100644 (file)
index 8443c23..0000000
Binary files a/koha-tmpl/opac-tmpl/prog/famfamfam/silk/box.png and /dev/null differ
diff --git a/koha-tmpl/opac-tmpl/prog/famfamfam/silk/brick.png b/koha-tmpl/opac-tmpl/prog/famfamfam/silk/brick.png
deleted file mode 100644 (file)
index 7851cf3..0000000
Binary files a/koha-tmpl/opac-tmpl/prog/famfamfam/silk/brick.png and /dev/null differ
diff --git a/koha-tmpl/opac-tmpl/prog/famfamfam/silk/brick_add.png b/koha-tmpl/opac-tmpl/prog/famfamfam/silk/brick_add.png
deleted file mode 100644 (file)
index fac186b..0000000
Binary files a/koha-tmpl/opac-tmpl/prog/famfamfam/silk/brick_add.png and /dev/null differ
diff --git a/koha-tmpl/opac-tmpl/prog/famfamfam/silk/brick_delete.png b/koha-tmpl/opac-tmpl/prog/famfamfam/silk/brick_delete.png
deleted file mode 100644 (file)
index 3a8c373..0000000
Binary files a/koha-tmpl/opac-tmpl/prog/famfamfam/silk/brick_delete.png and /dev/null differ
diff --git a/koha-tmpl/opac-tmpl/prog/famfamfam/silk/brick_edit.png b/koha-tmpl/opac-tmpl/prog/famfamfam/silk/brick_edit.png
deleted file mode 100644 (file)
index eb06df3..0000000
Binary files a/koha-tmpl/opac-tmpl/prog/famfamfam/silk/brick_edit.png and /dev/null differ
diff --git a/koha-tmpl/opac-tmpl/prog/famfamfam/silk/brick_error.png b/koha-tmpl/opac-tmpl/prog/famfamfam/silk/brick_error.png
deleted file mode 100644 (file)
index 18ab01e..0000000
Binary files a/koha-tmpl/opac-tmpl/prog/famfamfam/silk/brick_error.png and /dev/null differ
diff --git a/koha-tmpl/opac-tmpl/prog/famfamfam/silk/brick_go.png b/koha-tmpl/opac-tmpl/prog/famfamfam/silk/brick_go.png
deleted file mode 100644 (file)
index fe0d335..0000000
Binary files a/koha-tmpl/opac-tmpl/prog/famfamfam/silk/brick_go.png and /dev/null differ
diff --git a/koha-tmpl/opac-tmpl/prog/famfamfam/silk/brick_link.png b/koha-tmpl/opac-tmpl/prog/famfamfam/silk/brick_link.png
deleted file mode 100644 (file)
index 9ebf013..0000000
Binary files a/koha-tmpl/opac-tmpl/prog/famfamfam/silk/brick_link.png and /dev/null differ
diff --git a/koha-tmpl/opac-tmpl/prog/famfamfam/silk/bricks.png b/koha-tmpl/opac-tmpl/prog/famfamfam/silk/bricks.png
deleted file mode 100644 (file)
index 0905f93..0000000
Binary files a/koha-tmpl/opac-tmpl/prog/famfamfam/silk/bricks.png and /dev/null differ
diff --git a/koha-tmpl/opac-tmpl/prog/famfamfam/silk/briefcase.png b/koha-tmpl/opac-tmpl/prog/famfamfam/silk/briefcase.png
deleted file mode 100644 (file)
index 05c5649..0000000
Binary files a/koha-tmpl/opac-tmpl/prog/famfamfam/silk/briefcase.png and /dev/null differ
diff --git a/koha-tmpl/opac-tmpl/prog/famfamfam/silk/bug.png b/koha-tmpl/opac-tmpl/prog/famfamfam/silk/bug.png
deleted file mode 100644 (file)
index 2d5fb90..0000000
Binary files a/koha-tmpl/opac-tmpl/prog/famfamfam/silk/bug.png and /dev/null differ
diff --git a/koha-tmpl/opac-tmpl/prog/famfamfam/silk/bug_add.png b/koha-tmpl/opac-tmpl/prog/famfamfam/silk/bug_add.png
deleted file mode 100644 (file)
index ced7817..0000000
Binary files a/koha-tmpl/opac-tmpl/prog/famfamfam/silk/bug_add.png and /dev/null differ
diff --git a/koha-tmpl/opac-tmpl/prog/famfamfam/silk/bug_delete.png b/koha-tmpl/opac-tmpl/prog/famfamfam/silk/bug_delete.png
deleted file mode 100644 (file)
index e81d757..0000000
Binary files a/koha-tmpl/opac-tmpl/prog/famfamfam/silk/bug_delete.png and /dev/null differ
diff --git a/koha-tmpl/opac-tmpl/prog/famfamfam/silk/bug_edit.png b/koha-tmpl/opac-tmpl/prog/famfamfam/silk/bug_edit.png
deleted file mode 100644 (file)
index e5c7dc0..0000000
Binary files a/koha-tmpl/opac-tmpl/prog/famfamfam/silk/bug_edit.png and /dev/null differ
diff --git a/koha-tmpl/opac-tmpl/prog/famfamfam/silk/bug_error.png b/koha-tmpl/opac-tmpl/prog/famfamfam/silk/bug_error.png
deleted file mode 100644 (file)
index c4e8c28..0000000
Binary files a/koha-tmpl/opac-tmpl/prog/famfamfam/silk/bug_error.png and /dev/null differ
diff --git a/koha-tmpl/opac-tmpl/prog/famfamfam/silk/bug_go.png b/koha-tmpl/opac-tmpl/prog/famfamfam/silk/bug_go.png
deleted file mode 100644 (file)
index 4e4ae99..0000000
Binary files a/koha-tmpl/opac-tmpl/prog/famfamfam/silk/bug_go.png and /dev/null differ
diff --git a/koha-tmpl/opac-tmpl/prog/famfamfam/silk/bug_link.png b/koha-tmpl/opac-tmpl/prog/famfamfam/silk/bug_link.png
deleted file mode 100644 (file)
index 30e25ab..0000000
Binary files a/koha-tmpl/opac-tmpl/prog/famfamfam/silk/bug_link.png and /dev/null differ
diff --git a/koha-tmpl/opac-tmpl/prog/famfamfam/silk/building.png b/koha-tmpl/opac-tmpl/prog/famfamfam/silk/building.png
deleted file mode 100644 (file)
index 11a017c..0000000
Binary files a/koha-tmpl/opac-tmpl/prog/famfamfam/silk/building.png and /dev/null differ
diff --git a/koha-tmpl/opac-tmpl/prog/famfamfam/silk/building_add.png b/koha-tmpl/opac-tmpl/prog/famfamfam/silk/building_add.png
deleted file mode 100644 (file)
index d88e2b9..0000000
Binary files a/koha-tmpl/opac-tmpl/prog/famfamfam/silk/building_add.png and /dev/null differ
diff --git a/koha-tmpl/opac-tmpl/prog/famfamfam/silk/building_delete.png b/koha-tmpl/opac-tmpl/prog/famfamfam/silk/building_delete.png
deleted file mode 100644 (file)
index db6455d..0000000
Binary files a/koha-tmpl/opac-tmpl/prog/famfamfam/silk/building_delete.png and /dev/null differ
diff --git a/koha-tmpl/opac-tmpl/prog/famfamfam/silk/building_edit.png b/koha-tmpl/opac-tmpl/prog/famfamfam/silk/building_edit.png
deleted file mode 100644 (file)
index 646db36..0000000
Binary files a/koha-tmpl/opac-tmpl/prog/famfamfam/silk/building_edit.png and /dev/null differ
diff --git a/koha-tmpl/opac-tmpl/prog/famfamfam/silk/building_error.png b/koha-tmpl/opac-tmpl/prog/famfamfam/silk/building_error.png
deleted file mode 100644 (file)
index a342eef..0000000
Binary files a/koha-tmpl/opac-tmpl/prog/famfamfam/silk/building_error.png and /dev/null differ
diff --git a/koha-tmpl/opac-tmpl/prog/famfamfam/silk/building_go.png b/koha-tmpl/opac-tmpl/prog/famfamfam/silk/building_go.png
deleted file mode 100644 (file)
index cdcbcb3..0000000
Binary files a/koha-tmpl/opac-tmpl/prog/famfamfam/silk/building_go.png and /dev/null differ
diff --git a/koha-tmpl/opac-tmpl/prog/famfamfam/silk/building_key.png b/koha-tmpl/opac-tmpl/prog/famfamfam/silk/building_key.png
deleted file mode 100644 (file)
index 8b79e30..0000000
Binary files a/koha-tmpl/opac-tmpl/prog/famfamfam/silk/building_key.png and /dev/null differ
diff --git a/koha-tmpl/opac-tmpl/prog/famfamfam/silk/building_link.png b/koha-tmpl/opac-tmpl/prog/famfamfam/silk/building_link.png
deleted file mode 100644 (file)
index a340629..0000000
Binary files a/koha-tmpl/opac-tmpl/prog/famfamfam/silk/building_link.png and /dev/null differ
diff --git a/koha-tmpl/opac-tmpl/prog/famfamfam/silk/bullet_add.png b/koha-tmpl/opac-tmpl/prog/famfamfam/silk/bullet_add.png
deleted file mode 100644 (file)
index 41ff833..0000000
Binary files a/koha-tmpl/opac-tmpl/prog/famfamfam/silk/bullet_add.png and /dev/null differ
diff --git a/koha-tmpl/opac-tmpl/prog/famfamfam/silk/bullet_arrow_bottom.png b/koha-tmpl/opac-tmpl/prog/famfamfam/silk/bullet_arrow_bottom.png
deleted file mode 100644 (file)
index 1a28d82..0000000
Binary files a/koha-tmpl/opac-tmpl/prog/famfamfam/silk/bullet_arrow_bottom.png and /dev/null differ
diff --git a/koha-tmpl/opac-tmpl/prog/famfamfam/silk/bullet_arrow_down.png b/koha-tmpl/opac-tmpl/prog/famfamfam/silk/bullet_arrow_down.png
deleted file mode 100644 (file)
index 9b23c06..0000000
Binary files a/koha-tmpl/opac-tmpl/prog/famfamfam/silk/bullet_arrow_down.png and /dev/null differ
diff --git a/koha-tmpl/opac-tmpl/prog/famfamfam/silk/bullet_arrow_top.png b/koha-tmpl/opac-tmpl/prog/famfamfam/silk/bullet_arrow_top.png
deleted file mode 100644 (file)
index 0ce86d2..0000000
Binary files a/koha-tmpl/opac-tmpl/prog/famfamfam/silk/bullet_arrow_top.png and /dev/null differ
diff --git a/koha-tmpl/opac-tmpl/prog/famfamfam/silk/bullet_arrow_up.png b/koha-tmpl/opac-tmpl/prog/famfamfam/silk/bullet_arrow_up.png
deleted file mode 100644 (file)
index 24df0f4..0000000
Binary files a/koha-tmpl/opac-tmpl/prog/famfamfam/silk/bullet_arrow_up.png and /dev/null differ
diff --git a/koha-tmpl/opac-tmpl/prog/famfamfam/silk/bullet_black.png b/koha-tmpl/opac-tmpl/prog/famfamfam/silk/bullet_black.png
deleted file mode 100644 (file)
index 5761970..0000000
Binary files a/koha-tmpl/opac-tmpl/prog/famfamfam/silk/bullet_black.png and /dev/null differ
diff --git a/koha-tmpl/opac-tmpl/prog/famfamfam/silk/bullet_blue.png b/koha-tmpl/opac-tmpl/prog/famfamfam/silk/bullet_blue.png
deleted file mode 100644 (file)
index a7651ec..0000000
Binary files a/koha-tmpl/opac-tmpl/prog/famfamfam/silk/bullet_blue.png and /dev/null differ
diff --git a/koha-tmpl/opac-tmpl/prog/famfamfam/silk/bullet_delete.png b/koha-tmpl/opac-tmpl/prog/famfamfam/silk/bullet_delete.png
deleted file mode 100644 (file)
index bd6271b..0000000
Binary files a/koha-tmpl/opac-tmpl/prog/famfamfam/silk/bullet_delete.png and /dev/null differ
diff --git a/koha-tmpl/opac-tmpl/prog/famfamfam/silk/bullet_disk.png b/koha-tmpl/opac-tmpl/prog/famfamfam/silk/bullet_disk.png
deleted file mode 100644 (file)
index 209c6a7..0000000
Binary files a/koha-tmpl/opac-tmpl/prog/famfamfam/silk/bullet_disk.png and /dev/null differ
diff --git a/koha-tmpl/opac-tmpl/prog/famfamfam/silk/bullet_error.png b/koha-tmpl/opac-tmpl/prog/famfamfam/silk/bullet_error.png
deleted file mode 100644 (file)
index bca2b49..0000000
Binary files a/koha-tmpl/opac-tmpl/prog/famfamfam/silk/bullet_error.png and /dev/null differ
diff --git a/koha-tmpl/opac-tmpl/prog/famfamfam/silk/bullet_feed.png b/koha-tmpl/opac-tmpl/prog/famfamfam/silk/bullet_feed.png
deleted file mode 100644 (file)
index 1a0e0f1..0000000
Binary files a/koha-tmpl/opac-tmpl/prog/famfamfam/silk/bullet_feed.png and /dev/null differ
diff --git a/koha-tmpl/opac-tmpl/prog/famfamfam/silk/bullet_go.png b/koha-tmpl/opac-tmpl/prog/famfamfam/silk/bullet_go.png
deleted file mode 100644 (file)
index bc4faa7..0000000
Binary files a/koha-tmpl/opac-tmpl/prog/famfamfam/silk/bullet_go.png and /dev/null differ
diff --git a/koha-tmpl/opac-tmpl/prog/famfamfam/silk/bullet_green.png b/koha-tmpl/opac-tmpl/prog/famfamfam/silk/bullet_green.png
deleted file mode 100644 (file)
index 058ad26..0000000
Binary files a/koha-tmpl/opac-tmpl/prog/famfamfam/silk/bullet_green.png and /dev/null differ
diff --git a/koha-tmpl/opac-tmpl/prog/famfamfam/silk/bullet_key.png b/koha-tmpl/opac-tmpl/prog/famfamfam/silk/bullet_key.png
deleted file mode 100644 (file)
index 3d37f2e..0000000
Binary files a/koha-tmpl/opac-tmpl/prog/famfamfam/silk/bullet_key.png and /dev/null differ
diff --git a/koha-tmpl/opac-tmpl/prog/famfamfam/silk/bullet_orange.png b/koha-tmpl/opac-tmpl/prog/famfamfam/silk/bullet_orange.png
deleted file mode 100644 (file)
index fa63024..0000000
Binary files a/koha-tmpl/opac-tmpl/prog/famfamfam/silk/bullet_orange.png and /dev/null differ
diff --git a/koha-tmpl/opac-tmpl/prog/famfamfam/silk/bullet_picture.png b/koha-tmpl/opac-tmpl/prog/famfamfam/silk/bullet_picture.png
deleted file mode 100644 (file)
index 386cb30..0000000
Binary files a/koha-tmpl/opac-tmpl/prog/famfamfam/silk/bullet_picture.png and /dev/null differ
diff --git a/koha-tmpl/opac-tmpl/prog/famfamfam/silk/bullet_pink.png b/koha-tmpl/opac-tmpl/prog/famfamfam/silk/bullet_pink.png
deleted file mode 100644 (file)
index 0c9f73e..0000000
Binary files a/koha-tmpl/opac-tmpl/prog/famfamfam/silk/bullet_pink.png and /dev/null differ
diff --git a/koha-tmpl/opac-tmpl/prog/famfamfam/silk/bullet_purple.png b/koha-tmpl/opac-tmpl/prog/famfamfam/silk/bullet_purple.png
deleted file mode 100644 (file)
index 52ba503..0000000
Binary files a/koha-tmpl/opac-tmpl/prog/famfamfam/silk/bullet_purple.png and /dev/null differ
diff --git a/koha-tmpl/opac-tmpl/prog/famfamfam/silk/bullet_red.png b/koha-tmpl/opac-tmpl/prog/famfamfam/silk/bullet_red.png
deleted file mode 100644 (file)
index 0cd8031..0000000
Binary files a/koha-tmpl/opac-tmpl/prog/famfamfam/silk/bullet_red.png and /dev/null differ
diff --git a/koha-tmpl/opac-tmpl/prog/famfamfam/silk/bullet_star.png b/koha-tmpl/opac-tmpl/prog/famfamfam/silk/bullet_star.png
deleted file mode 100644 (file)
index fab774a..0000000
Binary files a/koha-tmpl/opac-tmpl/prog/famfamfam/silk/bullet_star.png and /dev/null differ
diff --git a/koha-tmpl/opac-tmpl/prog/famfamfam/silk/bullet_toggle_minus.png b/koha-tmpl/opac-tmpl/prog/famfamfam/silk/bullet_toggle_minus.png
deleted file mode 100644 (file)
index b47ce55..0000000
Binary files a/koha-tmpl/opac-tmpl/prog/famfamfam/silk/bullet_toggle_minus.png and /dev/null differ
diff --git a/koha-tmpl/opac-tmpl/prog/famfamfam/silk/bullet_toggle_plus.png b/koha-tmpl/opac-tmpl/prog/famfamfam/silk/bullet_toggle_plus.png
deleted file mode 100644 (file)
index 9ab4a89..0000000
Binary files a/koha-tmpl/opac-tmpl/prog/famfamfam/silk/bullet_toggle_plus.png and /dev/null differ
diff --git a/koha-tmpl/opac-tmpl/prog/famfamfam/silk/bullet_white.png b/koha-tmpl/opac-tmpl/prog/famfamfam/silk/bullet_white.png
deleted file mode 100644 (file)
index a9af8d4..0000000
Binary files a/koha-tmpl/opac-tmpl/prog/famfamfam/silk/bullet_white.png and /dev/null differ
diff --git a/koha-tmpl/opac-tmpl/prog/famfamfam/silk/bullet_wrench.png b/koha-tmpl/opac-tmpl/prog/famfamfam/silk/bullet_wrench.png
deleted file mode 100644 (file)
index 67817e6..0000000
Binary files a/koha-tmpl/opac-tmpl/prog/famfamfam/silk/bullet_wrench.png and /dev/null differ
diff --git a/koha-tmpl/opac-tmpl/prog/famfamfam/silk/bullet_yellow.png b/koha-tmpl/opac-tmpl/prog/famfamfam/silk/bullet_yellow.png
deleted file mode 100644 (file)
index 6469cea..0000000
Binary files a/koha-tmpl/opac-tmpl/prog/famfamfam/silk/bullet_yellow.png and /dev/null differ
diff --git a/koha-tmpl/opac-tmpl/prog/famfamfam/silk/cake.png b/koha-tmpl/opac-tmpl/prog/famfamfam/silk/cake.png
deleted file mode 100644 (file)
index 4ef151a..0000000
Binary files a/koha-tmpl/opac-tmpl/prog/famfamfam/silk/cake.png and /dev/null differ
diff --git a/koha-tmpl/opac-tmpl/prog/famfamfam/silk/calculator.png b/koha-tmpl/opac-tmpl/prog/famfamfam/silk/calculator.png
deleted file mode 100644 (file)
index 701a60a..0000000
Binary files a/koha-tmpl/opac-tmpl/prog/famfamfam/silk/calculator.png and /dev/null differ
diff --git a/koha-tmpl/opac-tmpl/prog/famfamfam/silk/calculator_add.png b/koha-tmpl/opac-tmpl/prog/famfamfam/silk/calculator_add.png
deleted file mode 100644 (file)
index fd377bd..0000000
Binary files a/koha-tmpl/opac-tmpl/prog/famfamfam/silk/calculator_add.png and /dev/null differ
diff --git a/koha-tmpl/opac-tmpl/prog/famfamfam/silk/calculator_delete.png b/koha-tmpl/opac-tmpl/prog/famfamfam/silk/calculator_delete.png
deleted file mode 100644 (file)
index ac96170..0000000
Binary files a/koha-tmpl/opac-tmpl/prog/famfamfam/silk/calculator_delete.png and /dev/null differ
diff --git a/koha-tmpl/opac-tmpl/prog/famfamfam/silk/calculator_edit.png b/koha-tmpl/opac-tmpl/prog/famfamfam/silk/calculator_edit.png
deleted file mode 100644 (file)
index 63b06b9..0000000
Binary files a/koha-tmpl/opac-tmpl/prog/famfamfam/silk/calculator_edit.png and /dev/null differ
diff --git a/koha-tmpl/opac-tmpl/prog/famfamfam/silk/calculator_error.png b/koha-tmpl/opac-tmpl/prog/famfamfam/silk/calculator_error.png
deleted file mode 100644 (file)
index 0bc4288..0000000
Binary files a/koha-tmpl/opac-tmpl/prog/famfamfam/silk/calculator_error.png and /dev/null differ
diff --git a/koha-tmpl/opac-tmpl/prog/famfamfam/silk/calculator_link.png b/koha-tmpl/opac-tmpl/prog/famfamfam/silk/calculator_link.png
deleted file mode 100644 (file)
index a2a8fe6..0000000
Binary files a/koha-tmpl/opac-tmpl/prog/famfamfam/silk/calculator_link.png and /dev/null differ
diff --git a/koha-tmpl/opac-tmpl/prog/famfamfam/silk/calendar.png b/koha-tmpl/opac-tmpl/prog/famfamfam/silk/calendar.png
deleted file mode 100644 (file)
index 6589138..0000000
Binary files a/koha-tmpl/opac-tmpl/prog/famfamfam/silk/calendar.png and /dev/null differ
diff --git a/koha-tmpl/opac-tmpl/prog/famfamfam/silk/calendar_add.png b/koha-tmpl/opac-tmpl/prog/famfamfam/silk/calendar_add.png
deleted file mode 100644 (file)
index 17679db..0000000
Binary files a/koha-tmpl/opac-tmpl/prog/famfamfam/silk/calendar_add.png and /dev/null differ
diff --git a/koha-tmpl/opac-tmpl/prog/famfamfam/silk/calendar_delete.png b/koha-tmpl/opac-tmpl/prog/famfamfam/silk/calendar_delete.png
deleted file mode 100644 (file)
index 69a3b10..0000000
Binary files a/koha-tmpl/opac-tmpl/prog/famfamfam/silk/calendar_delete.png and /dev/null differ
diff --git a/koha-tmpl/opac-tmpl/prog/famfamfam/silk/calendar_edit.png b/koha-tmpl/opac-tmpl/prog/famfamfam/silk/calendar_edit.png
deleted file mode 100644 (file)
index d1d2d6e..0000000
Binary files a/koha-tmpl/opac-tmpl/prog/famfamfam/silk/calendar_edit.png and /dev/null differ
diff --git a/koha-tmpl/opac-tmpl/prog/famfamfam/silk/calendar_link.png b/koha-tmpl/opac-tmpl/prog/famfamfam/silk/calendar_link.png
deleted file mode 100644 (file)
index 6b106b9..0000000
Binary files a/koha-tmpl/opac-tmpl/prog/famfamfam/silk/calendar_link.png and /dev/null differ
diff --git a/koha-tmpl/opac-tmpl/prog/famfamfam/silk/calendar_view_day.png b/koha-tmpl/opac-tmpl/prog/famfamfam/silk/calendar_view_day.png
deleted file mode 100644 (file)
index 9740f76..0000000
Binary files a/koha-tmpl/opac-tmpl/prog/famfamfam/silk/calendar_view_day.png and /dev/null differ
diff --git a/koha-tmpl/opac-tmpl/prog/famfamfam/silk/calendar_view_month.png b/koha-tmpl/opac-tmpl/prog/famfamfam/silk/calendar_view_month.png
deleted file mode 100644 (file)
index 6cff76c..0000000
Binary files a/koha-tmpl/opac-tmpl/prog/famfamfam/silk/calendar_view_month.png and /dev/null differ
diff --git a/koha-tmpl/opac-tmpl/prog/famfamfam/silk/calendar_view_week.png b/koha-tmpl/opac-tmpl/prog/famfamfam/silk/calendar_view_week.png
deleted file mode 100644 (file)
index 8fe695f..0000000
Binary files a/koha-tmpl/opac-tmpl/prog/famfamfam/silk/calendar_view_week.png and /dev/null differ
diff --git a/koha-tmpl/opac-tmpl/prog/famfamfam/silk/camera.png b/koha-tmpl/opac-tmpl/prog/famfamfam/silk/camera.png
deleted file mode 100644 (file)
index 8536d1a..0000000
Binary files a/koha-tmpl/opac-tmpl/prog/famfamfam/silk/camera.png and /dev/null differ
diff --git a/koha-tmpl/opac-tmpl/prog/famfamfam/silk/camera_add.png b/koha-tmpl/opac-tmpl/prog/famfamfam/silk/camera_add.png
deleted file mode 100644 (file)
index 08b5da9..0000000
Binary files a/koha-tmpl/opac-tmpl/prog/famfamfam/silk/camera_add.png and /dev/null differ
diff --git a/koha-tmpl/opac-tmpl/prog/famfamfam/silk/camera_delete.png b/koha-tmpl/opac-tmpl/prog/famfamfam/silk/camera_delete.png
deleted file mode 100644 (file)
index 3846d74..0000000
Binary files a/koha-tmpl/opac-tmpl/prog/famfamfam/silk/camera_delete.png and /dev/null differ
diff --git a/koha-tmpl/opac-tmpl/prog/famfamfam/silk/camera_edit.png b/koha-tmpl/opac-tmpl/prog/famfamfam/silk/camera_edit.png
deleted file mode 100644 (file)
index b5015b1..0000000
Binary files a/koha-tmpl/opac-tmpl/prog/famfamfam/silk/camera_edit.png and /dev/null differ
diff --git a/koha-tmpl/opac-tmpl/prog/famfamfam/silk/camera_error.png b/koha-tmpl/opac-tmpl/prog/famfamfam/silk/camera_error.png
deleted file mode 100644 (file)
index 3c1bc95..0000000
Binary files a/koha-tmpl/opac-tmpl/prog/famfamfam/silk/camera_error.png and /dev/null differ
diff --git a/koha-tmpl/opac-tmpl/prog/famfamfam/silk/camera_go.png b/koha-tmpl/opac-tmpl/prog/famfamfam/silk/camera_go.png
deleted file mode 100644 (file)
index 94ce2b2..0000000
Binary files a/koha-tmpl/opac-tmpl/prog/famfamfam/silk/camera_go.png and /dev/null differ
diff --git a/koha-tmpl/opac-tmpl/prog/famfamfam/silk/camera_link.png b/koha-tmpl/opac-tmpl/prog/famfamfam/silk/camera_link.png
deleted file mode 100644 (file)
index d2ac9f9..0000000
Binary files a/koha-tmpl/opac-tmpl/prog/famfamfam/silk/camera_link.png and /dev/null differ
diff --git a/koha-tmpl/opac-tmpl/prog/famfamfam/silk/camera_small.png b/koha-tmpl/opac-tmpl/prog/famfamfam/silk/camera_small.png
deleted file mode 100644 (file)
index 454b0b0..0000000
Binary files a/koha-tmpl/opac-tmpl/prog/famfamfam/silk/camera_small.png and /dev/null differ
diff --git a/koha-tmpl/opac-tmpl/prog/famfamfam/silk/cancel.png b/koha-tmpl/opac-tmpl/prog/famfamfam/silk/cancel.png
deleted file mode 100644 (file)
index c149c2b..0000000
Binary files a/koha-tmpl/opac-tmpl/prog/famfamfam/silk/cancel.png and /dev/null differ
diff --git a/koha-tmpl/opac-tmpl/prog/famfamfam/silk/car.png b/koha-tmpl/opac-tmpl/prog/famfamfam/silk/car.png
deleted file mode 100644 (file)
index 4f3a770..0000000
Binary files a/koha-tmpl/opac-tmpl/prog/famfamfam/silk/car.png and /dev/null differ
diff --git a/koha-tmpl/opac-tmpl/prog/famfamfam/silk/car_add.png b/koha-tmpl/opac-tmpl/prog/famfamfam/silk/car_add.png
deleted file mode 100644 (file)
index 1215a51..0000000
Binary files a/koha-tmpl/opac-tmpl/prog/famfamfam/silk/car_add.png and /dev/null differ
diff --git a/koha-tmpl/opac-tmpl/prog/famfamfam/silk/car_delete.png b/koha-tmpl/opac-tmpl/prog/famfamfam/silk/car_delete.png
deleted file mode 100644 (file)
index 2803b56..0000000
Binary files a/koha-tmpl/opac-tmpl/prog/famfamfam/silk/car_delete.png and /dev/null differ
diff --git a/koha-tmpl/opac-tmpl/prog/famfamfam/silk/cart.png b/koha-tmpl/opac-tmpl/prog/famfamfam/silk/cart.png
deleted file mode 100644 (file)
index 1baf7b9..0000000
Binary files a/koha-tmpl/opac-tmpl/prog/famfamfam/silk/cart.png and /dev/null differ
diff --git a/koha-tmpl/opac-tmpl/prog/famfamfam/silk/cart_add.png b/koha-tmpl/opac-tmpl/prog/famfamfam/silk/cart_add.png
deleted file mode 100644 (file)
index 45c2900..0000000
Binary files a/koha-tmpl/opac-tmpl/prog/famfamfam/silk/cart_add.png and /dev/null differ
diff --git a/koha-tmpl/opac-tmpl/prog/famfamfam/silk/cart_delete.png b/koha-tmpl/opac-tmpl/prog/famfamfam/silk/cart_delete.png
deleted file mode 100644 (file)
index ac5bce5..0000000
Binary files a/koha-tmpl/opac-tmpl/prog/famfamfam/silk/cart_delete.png and /dev/null differ
diff --git a/koha-tmpl/opac-tmpl/prog/famfamfam/silk/cart_edit.png b/koha-tmpl/opac-tmpl/prog/famfamfam/silk/cart_edit.png
deleted file mode 100644 (file)
index b94ff88..0000000
Binary files a/koha-tmpl/opac-tmpl/prog/famfamfam/silk/cart_edit.png and /dev/null differ
diff --git a/koha-tmpl/opac-tmpl/prog/famfamfam/silk/cart_error.png b/koha-tmpl/opac-tmpl/prog/famfamfam/silk/cart_error.png
deleted file mode 100644 (file)
index 144c835..0000000
Binary files a/koha-tmpl/opac-tmpl/prog/famfamfam/silk/cart_error.png and /dev/null differ
diff --git a/koha-tmpl/opac-tmpl/prog/famfamfam/silk/cart_go.png b/koha-tmpl/opac-tmpl/prog/famfamfam/silk/cart_go.png
deleted file mode 100644 (file)
index 20ee058..0000000
Binary files a/koha-tmpl/opac-tmpl/prog/famfamfam/silk/cart_go.png and /dev/null differ
diff --git a/koha-tmpl/opac-tmpl/prog/famfamfam/silk/cart_put.png b/koha-tmpl/opac-tmpl/prog/famfamfam/silk/cart_put.png
deleted file mode 100644 (file)
index 3aec353..0000000
Binary files a/koha-tmpl/opac-tmpl/prog/famfamfam/silk/cart_put.png and /dev/null differ
diff --git a/koha-tmpl/opac-tmpl/prog/famfamfam/silk/cart_remove.png b/koha-tmpl/opac-tmpl/prog/famfamfam/silk/cart_remove.png
deleted file mode 100644 (file)
index 360217b..0000000
Binary files a/koha-tmpl/opac-tmpl/prog/famfamfam/silk/cart_remove.png and /dev/null differ
diff --git a/koha-tmpl/opac-tmpl/prog/famfamfam/silk/cd.png b/koha-tmpl/opac-tmpl/prog/famfamfam/silk/cd.png
deleted file mode 100644 (file)
index ef43223..0000000
Binary files a/koha-tmpl/opac-tmpl/prog/famfamfam/silk/cd.png and /dev/null differ
diff --git a/koha-tmpl/opac-tmpl/prog/famfamfam/silk/cd_add.png b/koha-tmpl/opac-tmpl/prog/famfamfam/silk/cd_add.png
deleted file mode 100644 (file)
index b0254ef..0000000
Binary files a/koha-tmpl/opac-tmpl/prog/famfamfam/silk/cd_add.png and /dev/null differ
diff --git a/koha-tmpl/opac-tmpl/prog/famfamfam/silk/cd_burn.png b/koha-tmpl/opac-tmpl/prog/famfamfam/silk/cd_burn.png
deleted file mode 100644 (file)
index 157cb0b..0000000
Binary files a/koha-tmpl/opac-tmpl/prog/famfamfam/silk/cd_burn.png and /dev/null differ
diff --git a/koha-tmpl/opac-tmpl/prog/famfamfam/silk/cd_delete.png b/koha-tmpl/opac-tmpl/prog/famfamfam/silk/cd_delete.png
deleted file mode 100644 (file)
index 7d7b3d5..0000000
Binary files a/koha-tmpl/opac-tmpl/prog/famfamfam/silk/cd_delete.png and /dev/null differ
diff --git a/koha-tmpl/opac-tmpl/prog/famfamfam/silk/cd_edit.png b/koha-tmpl/opac-tmpl/prog/famfamfam/silk/cd_edit.png
deleted file mode 100644 (file)
index b0dc194..0000000
Binary files a/koha-tmpl/opac-tmpl/prog/famfamfam/silk/cd_edit.png and /dev/null differ
diff --git a/koha-tmpl/opac-tmpl/prog/famfamfam/silk/cd_eject.png b/koha-tmpl/opac-tmpl/prog/famfamfam/silk/cd_eject.png
deleted file mode 100644 (file)
index 762932f..0000000
Binary files a/koha-tmpl/opac-tmpl/prog/famfamfam/silk/cd_eject.png and /dev/null differ
diff --git a/koha-tmpl/opac-tmpl/prog/famfamfam/silk/cd_go.png b/koha-tmpl/opac-tmpl/prog/famfamfam/silk/cd_go.png
deleted file mode 100644 (file)
index 13e0499..0000000
Binary files a/koha-tmpl/opac-tmpl/prog/famfamfam/silk/cd_go.png and /dev/null differ
diff --git a/koha-tmpl/opac-tmpl/prog/famfamfam/silk/chart_bar.png b/koha-tmpl/opac-tmpl/prog/famfamfam/silk/chart_bar.png
deleted file mode 100644 (file)
index 9051fbc..0000000
Binary files a/koha-tmpl/opac-tmpl/prog/famfamfam/silk/chart_bar.png and /dev/null differ
diff --git a/koha-tmpl/opac-tmpl/prog/famfamfam/silk/chart_bar_add.png b/koha-tmpl/opac-tmpl/prog/famfamfam/silk/chart_bar_add.png
deleted file mode 100644 (file)
index d283e84..0000000
Binary files a/koha-tmpl/opac-tmpl/prog/famfamfam/silk/chart_bar_add.png and /dev/null differ
diff --git a/koha-tmpl/opac-tmpl/prog/famfamfam/silk/chart_bar_delete.png b/koha-tmpl/opac-tmpl/prog/famfamfam/silk/chart_bar_delete.png
deleted file mode 100644 (file)
index 259f686..0000000
Binary files a/koha-tmpl/opac-tmpl/prog/famfamfam/silk/chart_bar_delete.png and /dev/null differ
diff --git a/koha-tmpl/opac-tmpl/prog/famfamfam/silk/chart_bar_edit.png b/koha-tmpl/opac-tmpl/prog/famfamfam/silk/chart_bar_edit.png
deleted file mode 100644 (file)
index df64d97..0000000
Binary files a/koha-tmpl/opac-tmpl/prog/famfamfam/silk/chart_bar_edit.png and /dev/null differ
diff --git a/koha-tmpl/opac-tmpl/prog/famfamfam/silk/chart_bar_error.png b/koha-tmpl/opac-tmpl/prog/famfamfam/silk/chart_bar_error.png
deleted file mode 100644 (file)
index bdacea5..0000000
Binary files a/koha-tmpl/opac-tmpl/prog/famfamfam/silk/chart_bar_error.png and /dev/null differ
diff --git a/koha-tmpl/opac-tmpl/prog/famfamfam/silk/chart_bar_link.png b/koha-tmpl/opac-tmpl/prog/famfamfam/silk/chart_bar_link.png
deleted file mode 100644 (file)
index bf18aed..0000000
Binary files a/koha-tmpl/opac-tmpl/prog/famfamfam/silk/chart_bar_link.png and /dev/null differ
diff --git a/koha-tmpl/opac-tmpl/prog/famfamfam/silk/chart_curve.png b/koha-tmpl/opac-tmpl/prog/famfamfam/silk/chart_curve.png
deleted file mode 100644 (file)
index 01e933a..0000000
Binary files a/koha-tmpl/opac-tmpl/prog/famfamfam/silk/chart_curve.png and /dev/null differ
diff --git a/koha-tmpl/opac-tmpl/prog/famfamfam/silk/chart_curve_add.png b/koha-tmpl/opac-tmpl/prog/famfamfam/silk/chart_curve_add.png
deleted file mode 100644 (file)
index f9e2050..0000000
Binary files a/koha-tmpl/opac-tmpl/prog/famfamfam/silk/chart_curve_add.png and /dev/null differ
diff --git a/koha-tmpl/opac-tmpl/prog/famfamfam/silk/chart_curve_delete.png b/koha-tmpl/opac-tmpl/prog/famfamfam/silk/chart_curve_delete.png
deleted file mode 100644 (file)
index b411391..0000000
Binary files a/koha-tmpl/opac-tmpl/prog/famfamfam/silk/chart_curve_delete.png and /dev/null differ
diff --git a/koha-tmpl/opac-tmpl/prog/famfamfam/silk/chart_curve_edit.png b/koha-tmpl/opac-tmpl/prog/famfamfam/silk/chart_curve_edit.png
deleted file mode 100644 (file)
index bd07673..0000000
Binary files a/koha-tmpl/opac-tmpl/prog/famfamfam/silk/chart_curve_edit.png and /dev/null differ
diff --git a/koha-tmpl/opac-tmpl/prog/famfamfam/silk/chart_curve_error.png b/koha-tmpl/opac-tmpl/prog/famfamfam/silk/chart_curve_error.png
deleted file mode 100644 (file)
index 906dd03..0000000
Binary files a/koha-tmpl/opac-tmpl/prog/famfamfam/silk/chart_curve_error.png and /dev/null differ
diff --git a/koha-tmpl/opac-tmpl/prog/famfamfam/silk/chart_curve_go.png b/koha-tmpl/opac-tmpl/prog/famfamfam/silk/chart_curve_go.png
deleted file mode 100644 (file)
index ac9eda5..0000000
Binary files a/koha-tmpl/opac-tmpl/prog/famfamfam/silk/chart_curve_go.png and /dev/null differ
diff --git a/koha-tmpl/opac-tmpl/prog/famfamfam/silk/chart_curve_link.png b/koha-tmpl/opac-tmpl/prog/famfamfam/silk/chart_curve_link.png
deleted file mode 100644 (file)
index 144eafe..0000000
Binary files a/koha-tmpl/opac-tmpl/prog/famfamfam/silk/chart_curve_link.png and /dev/null differ
diff --git a/koha-tmpl/opac-tmpl/prog/famfamfam/silk/chart_line.png b/koha-tmpl/opac-tmpl/prog/famfamfam/silk/chart_line.png
deleted file mode 100644 (file)
index 85020f3..0000000
Binary files a/koha-tmpl/opac-tmpl/prog/famfamfam/silk/chart_line.png and /dev/null differ
diff --git a/koha-tmpl/opac-tmpl/prog/famfamfam/silk/chart_line_add.png b/koha-tmpl/opac-tmpl/prog/famfamfam/silk/chart_line_add.png
deleted file mode 100644 (file)
index 5571a5e..0000000
Binary files a/koha-tmpl/opac-tmpl/prog/famfamfam/silk/chart_line_add.png and /dev/null differ
diff --git a/koha-tmpl/opac-tmpl/prog/famfamfam/silk/chart_line_delete.png b/koha-tmpl/opac-tmpl/prog/famfamfam/silk/chart_line_delete.png
deleted file mode 100644 (file)
index 5b0aa90..0000000
Binary files a/koha-tmpl/opac-tmpl/prog/famfamfam/silk/chart_line_delete.png and /dev/null differ
diff --git a/koha-tmpl/opac-tmpl/prog/famfamfam/silk/chart_line_edit.png b/koha-tmpl/opac-tmpl/prog/famfamfam/silk/chart_line_edit.png
deleted file mode 100644 (file)
index 9cf6607..0000000
Binary files a/koha-tmpl/opac-tmpl/prog/famfamfam/silk/chart_line_edit.png and /dev/null differ
diff --git a/koha-tmpl/opac-tmpl/prog/famfamfam/silk/chart_line_error.png b/koha-tmpl/opac-tmpl/prog/famfamfam/silk/chart_line_error.png
deleted file mode 100644 (file)
index ff23c03..0000000
Binary files a/koha-tmpl/opac-tmpl/prog/famfamfam/silk/chart_line_error.png and /dev/null differ
diff --git a/koha-tmpl/opac-tmpl/prog/famfamfam/silk/chart_line_link.png b/koha-tmpl/opac-tmpl/prog/famfamfam/silk/chart_line_link.png
deleted file mode 100644 (file)
index f3727d2..0000000
Binary files a/koha-tmpl/opac-tmpl/prog/famfamfam/silk/chart_line_link.png and /dev/null differ
diff --git a/koha-tmpl/opac-tmpl/prog/famfamfam/silk/chart_organisation.png b/koha-tmpl/opac-tmpl/prog/famfamfam/silk/chart_organisation.png
deleted file mode 100644 (file)
index c32d25c..0000000
Binary files a/koha-tmpl/opac-tmpl/prog/famfamfam/silk/chart_organisation.png and /dev/null differ
diff --git a/koha-tmpl/opac-tmpl/prog/famfamfam/silk/chart_organisation_add.png b/koha-tmpl/opac-tmpl/prog/famfamfam/silk/chart_organisation_add.png
deleted file mode 100644 (file)
index f0dba4a..0000000
Binary files a/koha-tmpl/opac-tmpl/prog/famfamfam/silk/chart_organisation_add.png and /dev/null differ
diff --git a/koha-tmpl/opac-tmpl/prog/famfamfam/silk/chart_organisation_delete.png b/koha-tmpl/opac-tmpl/prog/famfamfam/silk/chart_organisation_delete.png
deleted file mode 100644 (file)
index 7dc8dca..0000000
Binary files a/koha-tmpl/opac-tmpl/prog/famfamfam/silk/chart_organisation_delete.png and /dev/null differ
diff --git a/koha-tmpl/opac-tmpl/prog/famfamfam/silk/chart_pie.png b/koha-tmpl/opac-tmpl/prog/famfamfam/silk/chart_pie.png
deleted file mode 100644 (file)
index fe00fa0..0000000
Binary files a/koha-tmpl/opac-tmpl/prog/famfamfam/silk/chart_pie.png and /dev/null differ
diff --git a/koha-tmpl/opac-tmpl/prog/famfamfam/silk/chart_pie_add.png b/koha-tmpl/opac-tmpl/prog/famfamfam/silk/chart_pie_add.png
deleted file mode 100644 (file)
index bf0822e..0000000
Binary files a/koha-tmpl/opac-tmpl/prog/famfamfam/silk/chart_pie_add.png and /dev/null differ
diff --git a/koha-tmpl/opac-tmpl/prog/famfamfam/silk/chart_pie_delete.png b/koha-tmpl/opac-tmpl/prog/famfamfam/silk/chart_pie_delete.png
deleted file mode 100644 (file)
index 5ab9efd..0000000
Binary files a/koha-tmpl/opac-tmpl/prog/famfamfam/silk/chart_pie_delete.png and /dev/null differ
diff --git a/koha-tmpl/opac-tmpl/prog/famfamfam/silk/chart_pie_edit.png b/koha-tmpl/opac-tmpl/prog/famfamfam/silk/chart_pie_edit.png
deleted file mode 100644 (file)
index 3debc12..0000000
Binary files a/koha-tmpl/opac-tmpl/prog/famfamfam/silk/chart_pie_edit.png and /dev/null differ
diff --git a/koha-tmpl/opac-tmpl/prog/famfamfam/silk/chart_pie_error.png b/koha-tmpl/opac-tmpl/prog/famfamfam/silk/chart_pie_error.png
deleted file mode 100644 (file)
index 7344174..0000000
Binary files a/koha-tmpl/opac-tmpl/prog/famfamfam/silk/chart_pie_error.png and /dev/null differ
diff --git a/koha-tmpl/opac-tmpl/prog/famfamfam/silk/chart_pie_link.png b/koha-tmpl/opac-tmpl/prog/famfamfam/silk/chart_pie_link.png
deleted file mode 100644 (file)
index c072f8e..0000000
Binary files a/koha-tmpl/opac-tmpl/prog/famfamfam/silk/chart_pie_link.png and /dev/null differ
diff --git a/koha-tmpl/opac-tmpl/prog/famfamfam/silk/clock.png b/koha-tmpl/opac-tmpl/prog/famfamfam/silk/clock.png
deleted file mode 100644 (file)
index e2672c2..0000000
Binary files a/koha-tmpl/opac-tmpl/prog/famfamfam/silk/clock.png and /dev/null differ
diff --git a/koha-tmpl/opac-tmpl/prog/famfamfam/silk/clock_add.png b/koha-tmpl/opac-tmpl/prog/famfamfam/silk/clock_add.png
deleted file mode 100644 (file)
index 598b839..0000000
Binary files a/koha-tmpl/opac-tmpl/prog/famfamfam/silk/clock_add.png and /dev/null differ
diff --git a/koha-tmpl/opac-tmpl/prog/famfamfam/silk/clock_delete.png b/koha-tmpl/opac-tmpl/prog/famfamfam/silk/clock_delete.png
deleted file mode 100644 (file)
index 8bf9efe..0000000
Binary files a/koha-tmpl/opac-tmpl/prog/famfamfam/silk/clock_delete.png and /dev/null differ
diff --git a/koha-tmpl/opac-tmpl/prog/famfamfam/silk/clock_edit.png b/koha-tmpl/opac-tmpl/prog/famfamfam/silk/clock_edit.png
deleted file mode 100644 (file)
index 7d35718..0000000
Binary files a/koha-tmpl/opac-tmpl/prog/famfamfam/silk/clock_edit.png and /dev/null differ
diff --git a/koha-tmpl/opac-tmpl/prog/famfamfam/silk/clock_error.png b/koha-tmpl/opac-tmpl/prog/famfamfam/silk/clock_error.png
deleted file mode 100644 (file)
index a7c461b..0000000
Binary files a/koha-tmpl/opac-tmpl/prog/famfamfam/silk/clock_error.png and /dev/null differ
diff --git a/koha-tmpl/opac-tmpl/prog/famfamfam/silk/clock_go.png b/koha-tmpl/opac-tmpl/prog/famfamfam/silk/clock_go.png
deleted file mode 100644 (file)
index a1a24d3..0000000
Binary files a/koha-tmpl/opac-tmpl/prog/famfamfam/silk/clock_go.png and /dev/null differ
diff --git a/koha-tmpl/opac-tmpl/prog/famfamfam/silk/clock_link.png b/koha-tmpl/opac-tmpl/prog/famfamfam/silk/clock_link.png
deleted file mode 100644 (file)
index 481cf04..0000000
Binary files a/koha-tmpl/opac-tmpl/prog/famfamfam/silk/clock_link.png and /dev/null differ
diff --git a/koha-tmpl/opac-tmpl/prog/famfamfam/silk/clock_pause.png b/koha-tmpl/opac-tmpl/prog/famfamfam/silk/clock_pause.png
deleted file mode 100644 (file)
index ba74725..0000000
Binary files a/koha-tmpl/opac-tmpl/prog/famfamfam/silk/clock_pause.png and /dev/null differ
diff --git a/koha-tmpl/opac-tmpl/prog/famfamfam/silk/clock_play.png b/koha-tmpl/opac-tmpl/prog/famfamfam/silk/clock_play.png
deleted file mode 100644 (file)
index fb4ebc8..0000000
Binary files a/koha-tmpl/opac-tmpl/prog/famfamfam/silk/clock_play.png and /dev/null differ
diff --git a/koha-tmpl/opac-tmpl/prog/famfamfam/silk/clock_red.png b/koha-tmpl/opac-tmpl/prog/famfamfam/silk/clock_red.png
deleted file mode 100644 (file)
index 2842cc3..0000000
Binary files a/koha-tmpl/opac-tmpl/prog/famfamfam/silk/clock_red.png and /dev/null differ
diff --git a/koha-tmpl/opac-tmpl/prog/famfamfam/silk/clock_stop.png b/koha-tmpl/opac-tmpl/prog/famfamfam/silk/clock_stop.png
deleted file mode 100644 (file)
index 6fe8a6f..0000000
Binary files a/koha-tmpl/opac-tmpl/prog/famfamfam/silk/clock_stop.png and /dev/null differ
diff --git a/koha-tmpl/opac-tmpl/prog/famfamfam/silk/cog.png b/koha-tmpl/opac-tmpl/prog/famfamfam/silk/cog.png
deleted file mode 100644 (file)
index 67de2c6..0000000
Binary files a/koha-tmpl/opac-tmpl/prog/famfamfam/silk/cog.png and /dev/null differ
diff --git a/koha-tmpl/opac-tmpl/prog/famfamfam/silk/cog_add.png b/koha-tmpl/opac-tmpl/prog/famfamfam/silk/cog_add.png
deleted file mode 100644 (file)
index 04f22ba..0000000
Binary files a/koha-tmpl/opac-tmpl/prog/famfamfam/silk/cog_add.png and /dev/null differ
diff --git a/koha-tmpl/opac-tmpl/prog/famfamfam/silk/cog_delete.png b/koha-tmpl/opac-tmpl/prog/famfamfam/silk/cog_delete.png
deleted file mode 100644 (file)
index 8ce71c4..0000000
Binary files a/koha-tmpl/opac-tmpl/prog/famfamfam/silk/cog_delete.png and /dev/null differ
diff --git a/koha-tmpl/opac-tmpl/prog/famfamfam/silk/cog_edit.png b/koha-tmpl/opac-tmpl/prog/famfamfam/silk/cog_edit.png
deleted file mode 100644 (file)
index 47b75a4..0000000
Binary files a/koha-tmpl/opac-tmpl/prog/famfamfam/silk/cog_edit.png and /dev/null differ
diff --git a/koha-tmpl/opac-tmpl/prog/famfamfam/silk/cog_error.png b/koha-tmpl/opac-tmpl/prog/famfamfam/silk/cog_error.png
deleted file mode 100644 (file)
index 4766743..0000000
Binary files a/koha-tmpl/opac-tmpl/prog/famfamfam/silk/cog_error.png and /dev/null differ
diff --git a/koha-tmpl/opac-tmpl/prog/famfamfam/silk/cog_go.png b/koha-tmpl/opac-tmpl/prog/famfamfam/silk/cog_go.png
deleted file mode 100644 (file)
index 3262767..0000000
Binary files a/koha-tmpl/opac-tmpl/prog/famfamfam/silk/cog_go.png and /dev/null differ
diff --git a/koha-tmpl/opac-tmpl/prog/famfamfam/silk/coins.png b/koha-tmpl/opac-tmpl/prog/famfamfam/silk/coins.png
deleted file mode 100644 (file)
index 0ca9074..0000000
Binary files a/koha-tmpl/opac-tmpl/prog/famfamfam/silk/coins.png and /dev/null differ
diff --git a/koha-tmpl/opac-tmpl/prog/famfamfam/silk/coins_add.png b/koha-tmpl/opac-tmpl/prog/famfamfam/silk/coins_add.png
deleted file mode 100644 (file)
index cdff5d3..0000000
Binary files a/koha-tmpl/opac-tmpl/prog/famfamfam/silk/coins_add.png and /dev/null differ
diff --git a/koha-tmpl/opac-tmpl/prog/famfamfam/silk/coins_delete.png b/koha-tmpl/opac-tmpl/prog/famfamfam/silk/coins_delete.png
deleted file mode 100644 (file)
index 18e0c0f..0000000
Binary files a/koha-tmpl/opac-tmpl/prog/famfamfam/silk/coins_delete.png and /dev/null differ
diff --git a/koha-tmpl/opac-tmpl/prog/famfamfam/silk/color_swatch.png b/koha-tmpl/opac-tmpl/prog/famfamfam/silk/color_swatch.png
deleted file mode 100644 (file)
index 6e6e852..0000000
Binary files a/koha-tmpl/opac-tmpl/prog/famfamfam/silk/color_swatch.png and /dev/null differ
diff --git a/koha-tmpl/opac-tmpl/prog/famfamfam/silk/color_wheel.png b/koha-tmpl/opac-tmpl/prog/famfamfam/silk/color_wheel.png
deleted file mode 100644 (file)
index 809fb00..0000000
Binary files a/koha-tmpl/opac-tmpl/prog/famfamfam/silk/color_wheel.png and /dev/null differ
diff --git a/koha-tmpl/opac-tmpl/prog/famfamfam/silk/comment.png b/koha-tmpl/opac-tmpl/prog/famfamfam/silk/comment.png
deleted file mode 100644 (file)
index 7bc9233..0000000
Binary files a/koha-tmpl/opac-tmpl/prog/famfamfam/silk/comment.png and /dev/null differ
diff --git a/koha-tmpl/opac-tmpl/prog/famfamfam/silk/comment_add.png b/koha-tmpl/opac-tmpl/prog/famfamfam/silk/comment_add.png
deleted file mode 100644 (file)
index 75e78de..0000000
Binary files a/koha-tmpl/opac-tmpl/prog/famfamfam/silk/comment_add.png and /dev/null differ
diff --git a/koha-tmpl/opac-tmpl/prog/famfamfam/silk/comment_delete.png b/koha-tmpl/opac-tmpl/prog/famfamfam/silk/comment_delete.png
deleted file mode 100644 (file)
index 643fdbe..0000000
Binary files a/koha-tmpl/opac-tmpl/prog/famfamfam/silk/comment_delete.png and /dev/null differ
diff --git a/koha-tmpl/opac-tmpl/prog/famfamfam/silk/comment_edit.png b/koha-tmpl/opac-tmpl/prog/famfamfam/silk/comment_edit.png
deleted file mode 100644 (file)
index 73db110..0000000
Binary files a/koha-tmpl/opac-tmpl/prog/famfamfam/silk/comment_edit.png and /dev/null differ
diff --git a/koha-tmpl/opac-tmpl/prog/famfamfam/silk/comments.png b/koha-tmpl/opac-tmpl/prog/famfamfam/silk/comments.png
deleted file mode 100644 (file)
index 39433cf..0000000
Binary files a/koha-tmpl/opac-tmpl/prog/famfamfam/silk/comments.png and /dev/null differ
diff --git a/koha-tmpl/opac-tmpl/prog/famfamfam/silk/comments_add.png b/koha-tmpl/opac-tmpl/prog/famfamfam/silk/comments_add.png
deleted file mode 100644 (file)
index b325634..0000000
Binary files a/koha-tmpl/opac-tmpl/prog/famfamfam/silk/comments_add.png and /dev/null differ
diff --git a/koha-tmpl/opac-tmpl/prog/famfamfam/silk/comments_delete.png b/koha-tmpl/opac-tmpl/prog/famfamfam/silk/comments_delete.png
deleted file mode 100644 (file)
index 6df7376..0000000
Binary files a/koha-tmpl/opac-tmpl/prog/famfamfam/silk/comments_delete.png and /dev/null differ
diff --git a/koha-tmpl/opac-tmpl/prog/famfamfam/silk/compress.png b/koha-tmpl/opac-tmpl/prog/famfamfam/silk/compress.png
deleted file mode 100644 (file)
index 8606ff0..0000000
Binary files a/koha-tmpl/opac-tmpl/prog/famfamfam/silk/compress.png and /dev/null differ
diff --git a/koha-tmpl/opac-tmpl/prog/famfamfam/silk/computer.png b/koha-tmpl/opac-tmpl/prog/famfamfam/silk/computer.png
deleted file mode 100644 (file)
index 9bc37dc..0000000
Binary files a/koha-tmpl/opac-tmpl/prog/famfamfam/silk/computer.png and /dev/null differ
diff --git a/koha-tmpl/opac-tmpl/prog/famfamfam/silk/computer_add.png b/koha-tmpl/opac-tmpl/prog/famfamfam/silk/computer_add.png
deleted file mode 100644 (file)
index db604ee..0000000
Binary files a/koha-tmpl/opac-tmpl/prog/famfamfam/silk/computer_add.png and /dev/null differ
diff --git a/koha-tmpl/opac-tmpl/prog/famfamfam/silk/computer_delete.png b/koha-tmpl/opac-tmpl/prog/famfamfam/silk/computer_delete.png
deleted file mode 100644 (file)
index 5e9b268..0000000
Binary files a/koha-tmpl/opac-tmpl/prog/famfamfam/silk/computer_delete.png and /dev/null differ
diff --git a/koha-tmpl/opac-tmpl/prog/famfamfam/silk/computer_edit.png b/koha-tmpl/opac-tmpl/prog/famfamfam/silk/computer_edit.png
deleted file mode 100644 (file)
index 34c72fe..0000000
Binary files a/koha-tmpl/opac-tmpl/prog/famfamfam/silk/computer_edit.png and /dev/null differ
diff --git a/koha-tmpl/opac-tmpl/prog/famfamfam/silk/computer_error.png b/koha-tmpl/opac-tmpl/prog/famfamfam/silk/computer_error.png
deleted file mode 100644 (file)
index b2c3ed5..0000000
Binary files a/koha-tmpl/opac-tmpl/prog/famfamfam/silk/computer_error.png and /dev/null differ
diff --git a/koha-tmpl/opac-tmpl/prog/famfamfam/silk/computer_go.png b/koha-tmpl/opac-tmpl/prog/famfamfam/silk/computer_go.png
deleted file mode 100644 (file)
index 0b26144..0000000
Binary files a/koha-tmpl/opac-tmpl/prog/famfamfam/silk/computer_go.png and /dev/null differ
diff --git a/koha-tmpl/opac-tmpl/prog/famfamfam/silk/computer_key.png b/koha-tmpl/opac-tmpl/prog/famfamfam/silk/computer_key.png
deleted file mode 100644 (file)
index eca5430..0000000
Binary files a/koha-tmpl/opac-tmpl/prog/famfamfam/silk/computer_key.png and /dev/null differ
diff --git a/koha-tmpl/opac-tmpl/prog/famfamfam/silk/computer_link.png b/koha-tmpl/opac-tmpl/prog/famfamfam/silk/computer_link.png
deleted file mode 100644 (file)
index 3859db2..0000000
Binary files a/koha-tmpl/opac-tmpl/prog/famfamfam/silk/computer_link.png and /dev/null differ
diff --git a/koha-tmpl/opac-tmpl/prog/famfamfam/silk/connect.png b/koha-tmpl/opac-tmpl/prog/famfamfam/silk/connect.png
deleted file mode 100644 (file)
index 024138e..0000000
Binary files a/koha-tmpl/opac-tmpl/prog/famfamfam/silk/connect.png and /dev/null differ
diff --git a/koha-tmpl/opac-tmpl/prog/famfamfam/silk/contrast.png b/koha-tmpl/opac-tmpl/prog/famfamfam/silk/contrast.png
deleted file mode 100644 (file)
index adcc004..0000000
Binary files a/koha-tmpl/opac-tmpl/prog/famfamfam/silk/contrast.png and /dev/null differ
diff --git a/koha-tmpl/opac-tmpl/prog/famfamfam/silk/contrast_decrease.png b/koha-tmpl/opac-tmpl/prog/famfamfam/silk/contrast_decrease.png
deleted file mode 100644 (file)
index 0155bf5..0000000
Binary files a/koha-tmpl/opac-tmpl/prog/famfamfam/silk/contrast_decrease.png and /dev/null differ
diff --git a/koha-tmpl/opac-tmpl/prog/famfamfam/silk/contrast_high.png b/koha-tmpl/opac-tmpl/prog/famfamfam/silk/contrast_high.png
deleted file mode 100644 (file)
index d87c8cb..0000000
Binary files a/koha-tmpl/opac-tmpl/prog/famfamfam/silk/contrast_high.png and /dev/null differ
diff --git a/koha-tmpl/opac-tmpl/prog/famfamfam/silk/contrast_increase.png b/koha-tmpl/opac-tmpl/prog/famfamfam/silk/contrast_increase.png
deleted file mode 100644 (file)
index a3e7f52..0000000
Binary files a/koha-tmpl/opac-tmpl/prog/famfamfam/silk/contrast_increase.png and /dev/null differ
diff --git a/koha-tmpl/opac-tmpl/prog/famfamfam/silk/contrast_low.png b/koha-tmpl/opac-tmpl/prog/famfamfam/silk/contrast_low.png
deleted file mode 100644 (file)
index dc9f4b1..0000000
Binary files a/koha-tmpl/opac-tmpl/prog/famfamfam/silk/contrast_low.png and /dev/null differ
diff --git a/koha-tmpl/opac-tmpl/prog/famfamfam/silk/control_eject.png b/koha-tmpl/opac-tmpl/prog/famfamfam/silk/control_eject.png
deleted file mode 100644 (file)
index 924d817..0000000
Binary files a/koha-tmpl/opac-tmpl/prog/famfamfam/silk/control_eject.png and /dev/null differ
diff --git a/koha-tmpl/opac-tmpl/prog/famfamfam/silk/control_eject_blue.png b/koha-tmpl/opac-tmpl/prog/famfamfam/silk/control_eject_blue.png
deleted file mode 100644 (file)
index 2bd4963..0000000
Binary files a/koha-tmpl/opac-tmpl/prog/famfamfam/silk/control_eject_blue.png and /dev/null differ
diff --git a/koha-tmpl/opac-tmpl/prog/famfamfam/silk/control_end.png b/koha-tmpl/opac-tmpl/prog/famfamfam/silk/control_end.png
deleted file mode 100644 (file)
index 036e04d..0000000
Binary files a/koha-tmpl/opac-tmpl/prog/famfamfam/silk/control_end.png and /dev/null differ
diff --git a/koha-tmpl/opac-tmpl/prog/famfamfam/silk/control_end_blue.png b/koha-tmpl/opac-tmpl/prog/famfamfam/silk/control_end_blue.png
deleted file mode 100644 (file)
index 7207935..0000000
Binary files a/koha-tmpl/opac-tmpl/prog/famfamfam/silk/control_end_blue.png and /dev/null differ
diff --git a/koha-tmpl/opac-tmpl/prog/famfamfam/silk/control_equalizer.png b/koha-tmpl/opac-tmpl/prog/famfamfam/silk/control_equalizer.png
deleted file mode 100644 (file)
index 4606087..0000000
Binary files a/koha-tmpl/opac-tmpl/prog/famfamfam/silk/control_equalizer.png and /dev/null differ
diff --git a/koha-tmpl/opac-tmpl/prog/famfamfam/silk/control_equalizer_blue.png b/koha-tmpl/opac-tmpl/prog/famfamfam/silk/control_equalizer_blue.png
deleted file mode 100644 (file)
index 1b2e6a3..0000000
Binary files a/koha-tmpl/opac-tmpl/prog/famfamfam/silk/control_equalizer_blue.png and /dev/null differ
diff --git a/koha-tmpl/opac-tmpl/prog/famfamfam/silk/control_fastforward.png b/koha-tmpl/opac-tmpl/prog/famfamfam/silk/control_fastforward.png
deleted file mode 100644 (file)
index 31f7fd3..0000000
Binary files a/koha-tmpl/opac-tmpl/prog/famfamfam/silk/control_fastforward.png and /dev/null differ
diff --git a/koha-tmpl/opac-tmpl/prog/famfamfam/silk/control_fastforward_blue.png b/koha-tmpl/opac-tmpl/prog/famfamfam/silk/control_fastforward_blue.png
deleted file mode 100644 (file)
index 4a2f9d4..0000000
Binary files a/koha-tmpl/opac-tmpl/prog/famfamfam/silk/control_fastforward_blue.png and /dev/null differ
diff --git a/koha-tmpl/opac-tmpl/prog/famfamfam/silk/control_pause.png b/koha-tmpl/opac-tmpl/prog/famfamfam/silk/control_pause.png
deleted file mode 100644 (file)
index 2d9ce9c..0000000
Binary files a/koha-tmpl/opac-tmpl/prog/famfamfam/silk/control_pause.png and /dev/null differ
diff --git a/koha-tmpl/opac-tmpl/prog/famfamfam/silk/control_pause_blue.png b/koha-tmpl/opac-tmpl/prog/famfamfam/silk/control_pause_blue.png
deleted file mode 100644 (file)
index ec61099..0000000
Binary files a/koha-tmpl/opac-tmpl/prog/famfamfam/silk/control_pause_blue.png and /dev/null differ
diff --git a/koha-tmpl/opac-tmpl/prog/famfamfam/silk/control_play.png b/koha-tmpl/opac-tmpl/prog/famfamfam/silk/control_play.png
deleted file mode 100644 (file)
index 0846555..0000000
Binary files a/koha-tmpl/opac-tmpl/prog/famfamfam/silk/control_play.png and /dev/null differ
diff --git a/koha-tmpl/opac-tmpl/prog/famfamfam/silk/control_play_blue.png b/koha-tmpl/opac-tmpl/prog/famfamfam/silk/control_play_blue.png
deleted file mode 100644 (file)
index f8c8ec6..0000000
Binary files a/koha-tmpl/opac-tmpl/prog/famfamfam/silk/control_play_blue.png and /dev/null differ
diff --git a/koha-tmpl/opac-tmpl/prog/famfamfam/silk/control_repeat.png b/koha-tmpl/opac-tmpl/prog/famfamfam/silk/control_repeat.png
deleted file mode 100644 (file)
index 1c4f57a..0000000
Binary files a/koha-tmpl/opac-tmpl/prog/famfamfam/silk/control_repeat.png and /dev/null differ
diff --git a/koha-tmpl/opac-tmpl/prog/famfamfam/silk/control_repeat_blue.png b/koha-tmpl/opac-tmpl/prog/famfamfam/silk/control_repeat_blue.png
deleted file mode 100644 (file)
index 406ec33..0000000
Binary files a/koha-tmpl/opac-tmpl/prog/famfamfam/silk/control_repeat_blue.png and /dev/null differ
diff --git a/koha-tmpl/opac-tmpl/prog/famfamfam/silk/control_rewind.png b/koha-tmpl/opac-tmpl/prog/famfamfam/silk/control_rewind.png
deleted file mode 100644 (file)
index c029447..0000000
Binary files a/koha-tmpl/opac-tmpl/prog/famfamfam/silk/control_rewind.png and /dev/null differ
diff --git a/koha-tmpl/opac-tmpl/prog/famfamfam/silk/control_rewind_blue.png b/koha-tmpl/opac-tmpl/prog/famfamfam/silk/control_rewind_blue.png
deleted file mode 100644 (file)
index 15d1584..0000000
Binary files a/koha-tmpl/opac-tmpl/prog/famfamfam/silk/control_rewind_blue.png and /dev/null differ
diff --git a/koha-tmpl/opac-tmpl/prog/famfamfam/silk/control_start.png b/koha-tmpl/opac-tmpl/prog/famfamfam/silk/control_start.png
deleted file mode 100644 (file)
index 7dd1c07..0000000
Binary files a/koha-tmpl/opac-tmpl/prog/famfamfam/silk/control_start.png and /dev/null differ
diff --git a/koha-tmpl/opac-tmpl/prog/famfamfam/silk/control_start_blue.png b/koha-tmpl/opac-tmpl/prog/famfamfam/silk/control_start_blue.png
deleted file mode 100644 (file)
index 6f11fcb..0000000
Binary files a/koha-tmpl/opac-tmpl/prog/famfamfam/silk/control_start_blue.png and /dev/null differ
diff --git a/koha-tmpl/opac-tmpl/prog/famfamfam/silk/control_stop.png b/koha-tmpl/opac-tmpl/prog/famfamfam/silk/control_stop.png
deleted file mode 100644 (file)
index 893bb60..0000000
Binary files a/koha-tmpl/opac-tmpl/prog/famfamfam/silk/control_stop.png and /dev/null differ
diff --git a/koha-tmpl/opac-tmpl/prog/famfamfam/silk/control_stop_blue.png b/koha-tmpl/opac-tmpl/prog/famfamfam/silk/control_stop_blue.png
deleted file mode 100644 (file)
index e6f75d2..0000000
Binary files a/koha-tmpl/opac-tmpl/prog/famfamfam/silk/control_stop_blue.png and /dev/null differ
diff --git a/koha-tmpl/opac-tmpl/prog/famfamfam/silk/controller.png b/koha-tmpl/opac-tmpl/prog/famfamfam/silk/controller.png
deleted file mode 100644 (file)
index 5cf76ed..0000000
Binary files a/koha-tmpl/opac-tmpl/prog/famfamfam/silk/controller.png and /dev/null differ
diff --git a/koha-tmpl/opac-tmpl/prog/famfamfam/silk/controller_add.png b/koha-tmpl/opac-tmpl/prog/famfamfam/silk/controller_add.png
deleted file mode 100644 (file)
index efecb38..0000000
Binary files a/koha-tmpl/opac-tmpl/prog/famfamfam/silk/controller_add.png and /dev/null differ
diff --git a/koha-tmpl/opac-tmpl/prog/famfamfam/silk/controller_delete.png b/koha-tmpl/opac-tmpl/prog/famfamfam/silk/controller_delete.png
deleted file mode 100644 (file)
index 3d83bc7..0000000
Binary files a/koha-tmpl/opac-tmpl/prog/famfamfam/silk/controller_delete.png and /dev/null differ
diff --git a/koha-tmpl/opac-tmpl/prog/famfamfam/silk/controller_error.png b/koha-tmpl/opac-tmpl/prog/famfamfam/silk/controller_error.png
deleted file mode 100644 (file)
index 7f17c0c..0000000
Binary files a/koha-tmpl/opac-tmpl/prog/famfamfam/silk/controller_error.png and /dev/null differ
diff --git a/koha-tmpl/opac-tmpl/prog/famfamfam/silk/creditcards.png b/koha-tmpl/opac-tmpl/prog/famfamfam/silk/creditcards.png
deleted file mode 100644 (file)
index 4eae583..0000000
Binary files a/koha-tmpl/opac-tmpl/prog/famfamfam/silk/creditcards.png and /dev/null differ
diff --git a/koha-tmpl/opac-tmpl/prog/famfamfam/silk/cross.png b/koha-tmpl/opac-tmpl/prog/famfamfam/silk/cross.png
deleted file mode 100644 (file)
index 1514d51..0000000
Binary files a/koha-tmpl/opac-tmpl/prog/famfamfam/silk/cross.png and /dev/null differ
diff --git a/koha-tmpl/opac-tmpl/prog/famfamfam/silk/css.png b/koha-tmpl/opac-tmpl/prog/famfamfam/silk/css.png
deleted file mode 100644 (file)
index 23f3101..0000000
Binary files a/koha-tmpl/opac-tmpl/prog/famfamfam/silk/css.png and /dev/null differ
diff --git a/koha-tmpl/opac-tmpl/prog/famfamfam/silk/css_add.png b/koha-tmpl/opac-tmpl/prog/famfamfam/silk/css_add.png
deleted file mode 100644 (file)
index e8ea10f..0000000
Binary files a/koha-tmpl/opac-tmpl/prog/famfamfam/silk/css_add.png and /dev/null differ
diff --git a/koha-tmpl/opac-tmpl/prog/famfamfam/silk/css_delete.png b/koha-tmpl/opac-tmpl/prog/famfamfam/silk/css_delete.png
deleted file mode 100644 (file)
index 326aba4..0000000
Binary files a/koha-tmpl/opac-tmpl/prog/famfamfam/silk/css_delete.png and /dev/null differ
diff --git a/koha-tmpl/opac-tmpl/prog/famfamfam/silk/css_go.png b/koha-tmpl/opac-tmpl/prog/famfamfam/silk/css_go.png
deleted file mode 100644 (file)
index 6cdf38c..0000000
Binary files a/koha-tmpl/opac-tmpl/prog/famfamfam/silk/css_go.png and /dev/null differ
diff --git a/koha-tmpl/opac-tmpl/prog/famfamfam/silk/css_valid.png b/koha-tmpl/opac-tmpl/prog/famfamfam/silk/css_valid.png
deleted file mode 100644 (file)
index 4c72ca5..0000000
Binary files a/koha-tmpl/opac-tmpl/prog/famfamfam/silk/css_valid.png and /dev/null differ
diff --git a/koha-tmpl/opac-tmpl/prog/famfamfam/silk/cup.png b/koha-tmpl/opac-tmpl/prog/famfamfam/silk/cup.png
deleted file mode 100644 (file)
index b7bfcd1..0000000
Binary files a/koha-tmpl/opac-tmpl/prog/famfamfam/silk/cup.png and /dev/null differ
diff --git a/koha-tmpl/opac-tmpl/prog/famfamfam/silk/cup_add.png b/koha-tmpl/opac-tmpl/prog/famfamfam/silk/cup_add.png
deleted file mode 100644 (file)
index 4ecaece..0000000
Binary files a/koha-tmpl/opac-tmpl/prog/famfamfam/silk/cup_add.png and /dev/null differ
diff --git a/koha-tmpl/opac-tmpl/prog/famfamfam/silk/cup_delete.png b/koha-tmpl/opac-tmpl/prog/famfamfam/silk/cup_delete.png
deleted file mode 100644 (file)
index 59a6d9c..0000000
Binary files a/koha-tmpl/opac-tmpl/prog/famfamfam/silk/cup_delete.png and /dev/null differ
diff --git a/koha-tmpl/opac-tmpl/prog/famfamfam/silk/cup_edit.png b/koha-tmpl/opac-tmpl/prog/famfamfam/silk/cup_edit.png
deleted file mode 100644 (file)
index 0b8f1e1..0000000
Binary files a/koha-tmpl/opac-tmpl/prog/famfamfam/silk/cup_edit.png and /dev/null differ
diff --git a/koha-tmpl/opac-tmpl/prog/famfamfam/silk/cup_error.png b/koha-tmpl/opac-tmpl/prog/famfamfam/silk/cup_error.png
deleted file mode 100644 (file)
index 6879874..0000000
Binary files a/koha-tmpl/opac-tmpl/prog/famfamfam/silk/cup_error.png and /dev/null differ
diff --git a/koha-tmpl/opac-tmpl/prog/famfamfam/silk/cup_go.png b/koha-tmpl/opac-tmpl/prog/famfamfam/silk/cup_go.png
deleted file mode 100644 (file)
index 9527efb..0000000
Binary files a/koha-tmpl/opac-tmpl/prog/famfamfam/silk/cup_go.png and /dev/null differ
diff --git a/koha-tmpl/opac-tmpl/prog/famfamfam/silk/cup_key.png b/koha-tmpl/opac-tmpl/prog/famfamfam/silk/cup_key.png
deleted file mode 100644 (file)
index 7ae160c..0000000
Binary files a/koha-tmpl/opac-tmpl/prog/famfamfam/silk/cup_key.png and /dev/null differ
diff --git a/koha-tmpl/opac-tmpl/prog/famfamfam/silk/cup_link.png b/koha-tmpl/opac-tmpl/prog/famfamfam/silk/cup_link.png
deleted file mode 100644 (file)
index 41d1ace..0000000
Binary files a/koha-tmpl/opac-tmpl/prog/famfamfam/silk/cup_link.png and /dev/null differ
diff --git a/koha-tmpl/opac-tmpl/prog/famfamfam/silk/cursor.png b/koha-tmpl/opac-tmpl/prog/famfamfam/silk/cursor.png
deleted file mode 100644 (file)
index 532f532..0000000
Binary files a/koha-tmpl/opac-tmpl/prog/famfamfam/silk/cursor.png and /dev/null differ
diff --git a/koha-tmpl/opac-tmpl/prog/famfamfam/silk/cut.png b/koha-tmpl/opac-tmpl/prog/famfamfam/silk/cut.png
deleted file mode 100644 (file)
index f215d6f..0000000
Binary files a/koha-tmpl/opac-tmpl/prog/famfamfam/silk/cut.png and /dev/null differ
diff --git a/koha-tmpl/opac-tmpl/prog/famfamfam/silk/cut_red.png b/koha-tmpl/opac-tmpl/prog/famfamfam/silk/cut_red.png
deleted file mode 100644 (file)
index 85bb2f0..0000000
Binary files a/koha-tmpl/opac-tmpl/prog/famfamfam/silk/cut_red.png and /dev/null differ
diff --git a/koha-tmpl/opac-tmpl/prog/famfamfam/silk/database.png b/koha-tmpl/opac-tmpl/prog/famfamfam/silk/database.png
deleted file mode 100644 (file)
index 3d09261..0000000
Binary files a/koha-tmpl/opac-tmpl/prog/famfamfam/silk/database.png and /dev/null differ
diff --git a/koha-tmpl/opac-tmpl/prog/famfamfam/silk/database_add.png b/koha-tmpl/opac-tmpl/prog/famfamfam/silk/database_add.png
deleted file mode 100644 (file)
index 802bd6c..0000000
Binary files a/koha-tmpl/opac-tmpl/prog/famfamfam/silk/database_add.png and /dev/null differ
diff --git a/koha-tmpl/opac-tmpl/prog/famfamfam/silk/database_connect.png b/koha-tmpl/opac-tmpl/prog/famfamfam/silk/database_connect.png
deleted file mode 100644 (file)
index 3a11197..0000000
Binary files a/koha-tmpl/opac-tmpl/prog/famfamfam/silk/database_connect.png and /dev/null differ
diff --git a/koha-tmpl/opac-tmpl/prog/famfamfam/silk/database_delete.png b/koha-tmpl/opac-tmpl/prog/famfamfam/silk/database_delete.png
deleted file mode 100644 (file)
index cce652e..0000000
Binary files a/koha-tmpl/opac-tmpl/prog/famfamfam/silk/database_delete.png and /dev/null differ
diff --git a/koha-tmpl/opac-tmpl/prog/famfamfam/silk/database_edit.png b/koha-tmpl/opac-tmpl/prog/famfamfam/silk/database_edit.png
deleted file mode 100644 (file)
index e501b66..0000000
Binary files a/koha-tmpl/opac-tmpl/prog/famfamfam/silk/database_edit.png and /dev/null differ
diff --git a/koha-tmpl/opac-tmpl/prog/famfamfam/silk/database_error.png b/koha-tmpl/opac-tmpl/prog/famfamfam/silk/database_error.png
deleted file mode 100644 (file)
index 578221a..0000000
Binary files a/koha-tmpl/opac-tmpl/prog/famfamfam/silk/database_error.png and /dev/null differ
diff --git a/koha-tmpl/opac-tmpl/prog/famfamfam/silk/database_gear.png b/koha-tmpl/opac-tmpl/prog/famfamfam/silk/database_gear.png
deleted file mode 100644 (file)
index 7c0ab2b..0000000
Binary files a/koha-tmpl/opac-tmpl/prog/famfamfam/silk/database_gear.png and /dev/null differ
diff --git a/koha-tmpl/opac-tmpl/prog/famfamfam/silk/database_go.png b/koha-tmpl/opac-tmpl/prog/famfamfam/silk/database_go.png
deleted file mode 100644 (file)
index 61a8556..0000000
Binary files a/koha-tmpl/opac-tmpl/prog/famfamfam/silk/database_go.png and /dev/null differ
diff --git a/koha-tmpl/opac-tmpl/prog/famfamfam/silk/database_key.png b/koha-tmpl/opac-tmpl/prog/famfamfam/silk/database_key.png
deleted file mode 100644 (file)
index 3334147..0000000
Binary files a/koha-tmpl/opac-tmpl/prog/famfamfam/silk/database_key.png and /dev/null differ
diff --git a/koha-tmpl/opac-tmpl/prog/famfamfam/silk/database_lightning.png b/koha-tmpl/opac-tmpl/prog/famfamfam/silk/database_lightning.png
deleted file mode 100644 (file)
index d9eefc2..0000000
Binary files a/koha-tmpl/opac-tmpl/prog/famfamfam/silk/database_lightning.png and /dev/null differ
diff --git a/koha-tmpl/opac-tmpl/prog/famfamfam/silk/database_link.png b/koha-tmpl/opac-tmpl/prog/famfamfam/silk/database_link.png
deleted file mode 100644 (file)
index 4c8204a..0000000
Binary files a/koha-tmpl/opac-tmpl/prog/famfamfam/silk/database_link.png and /dev/null differ
diff --git a/koha-tmpl/opac-tmpl/prog/famfamfam/silk/database_refresh.png b/koha-tmpl/opac-tmpl/prog/famfamfam/silk/database_refresh.png
deleted file mode 100644 (file)
index ff803be..0000000
Binary files a/koha-tmpl/opac-tmpl/prog/famfamfam/silk/database_refresh.png and /dev/null differ
diff --git a/koha-tmpl/opac-tmpl/prog/famfamfam/silk/database_save.png b/koha-tmpl/opac-tmpl/prog/famfamfam/silk/database_save.png
deleted file mode 100644 (file)
index 44c06dd..0000000
Binary files a/koha-tmpl/opac-tmpl/prog/famfamfam/silk/database_save.png and /dev/null differ
diff --git a/koha-tmpl/opac-tmpl/prog/famfamfam/silk/database_table.png b/koha-tmpl/opac-tmpl/prog/famfamfam/silk/database_table.png
deleted file mode 100644 (file)
index 693709c..0000000
Binary files a/koha-tmpl/opac-tmpl/prog/famfamfam/silk/database_table.png and /dev/null differ
diff --git a/koha-tmpl/opac-tmpl/prog/famfamfam/silk/date.png b/koha-tmpl/opac-tmpl/prog/famfamfam/silk/date.png
deleted file mode 100644 (file)
index 783c833..0000000
Binary files a/koha-tmpl/opac-tmpl/prog/famfamfam/silk/date.png and /dev/null differ
diff --git a/koha-tmpl/opac-tmpl/prog/famfamfam/silk/date_add.png b/koha-tmpl/opac-tmpl/prog/famfamfam/silk/date_add.png
deleted file mode 100644 (file)
index 6a7ae02..0000000
Binary files a/koha-tmpl/opac-tmpl/prog/famfamfam/silk/date_add.png and /dev/null differ
diff --git a/koha-tmpl/opac-tmpl/prog/famfamfam/silk/date_delete.png b/koha-tmpl/opac-tmpl/prog/famfamfam/silk/date_delete.png
deleted file mode 100644 (file)
index 969a6b7..0000000
Binary files a/koha-tmpl/opac-tmpl/prog/famfamfam/silk/date_delete.png and /dev/null differ
diff --git a/koha-tmpl/opac-tmpl/prog/famfamfam/silk/date_edit.png b/koha-tmpl/opac-tmpl/prog/famfamfam/silk/date_edit.png
deleted file mode 100644 (file)
index e681065..0000000
Binary files a/koha-tmpl/opac-tmpl/prog/famfamfam/silk/date_edit.png and /dev/null differ
diff --git a/koha-tmpl/opac-tmpl/prog/famfamfam/silk/date_error.png b/koha-tmpl/opac-tmpl/prog/famfamfam/silk/date_error.png
deleted file mode 100644 (file)
index 442cd97..0000000
Binary files a/koha-tmpl/opac-tmpl/prog/famfamfam/silk/date_error.png and /dev/null differ
diff --git a/koha-tmpl/opac-tmpl/prog/famfamfam/silk/date_go.png b/koha-tmpl/opac-tmpl/prog/famfamfam/silk/date_go.png
deleted file mode 100644 (file)
index 52dd9f3..0000000
Binary files a/koha-tmpl/opac-tmpl/prog/famfamfam/silk/date_go.png and /dev/null differ
diff --git a/koha-tmpl/opac-tmpl/prog/famfamfam/silk/date_link.png b/koha-tmpl/opac-tmpl/prog/famfamfam/silk/date_link.png
deleted file mode 100644 (file)
index 9f0aada..0000000
Binary files a/koha-tmpl/opac-tmpl/prog/famfamfam/silk/date_link.png and /dev/null differ
diff --git a/koha-tmpl/opac-tmpl/prog/famfamfam/silk/date_magnify.png b/koha-tmpl/opac-tmpl/prog/famfamfam/silk/date_magnify.png
deleted file mode 100644 (file)
index cd05f19..0000000
Binary files a/koha-tmpl/opac-tmpl/prog/famfamfam/silk/date_magnify.png and /dev/null differ
diff --git a/koha-tmpl/opac-tmpl/prog/famfamfam/silk/date_next.png b/koha-tmpl/opac-tmpl/prog/famfamfam/silk/date_next.png
deleted file mode 100644 (file)
index 48d740a..0000000
Binary files a/koha-tmpl/opac-tmpl/prog/famfamfam/silk/date_next.png and /dev/null differ
diff --git a/koha-tmpl/opac-tmpl/prog/famfamfam/silk/date_previous.png b/koha-tmpl/opac-tmpl/prog/famfamfam/silk/date_previous.png
deleted file mode 100644 (file)
index e117a83..0000000
Binary files a/koha-tmpl/opac-tmpl/prog/famfamfam/silk/date_previous.png and /dev/null differ
diff --git a/koha-tmpl/opac-tmpl/prog/famfamfam/silk/delete.png b/koha-tmpl/opac-tmpl/prog/famfamfam/silk/delete.png
deleted file mode 100644 (file)
index 08f2493..0000000
Binary files a/koha-tmpl/opac-tmpl/prog/famfamfam/silk/delete.png and /dev/null differ
diff --git a/koha-tmpl/opac-tmpl/prog/famfamfam/silk/disconnect.png b/koha-tmpl/opac-tmpl/prog/famfamfam/silk/disconnect.png
deleted file mode 100644 (file)
index b335cb1..0000000
Binary files a/koha-tmpl/opac-tmpl/prog/famfamfam/silk/disconnect.png and /dev/null differ
diff --git a/koha-tmpl/opac-tmpl/prog/famfamfam/silk/disk.png b/koha-tmpl/opac-tmpl/prog/famfamfam/silk/disk.png
deleted file mode 100644 (file)
index 99d532e..0000000
Binary files a/koha-tmpl/opac-tmpl/prog/famfamfam/silk/disk.png and /dev/null differ
diff --git a/koha-tmpl/opac-tmpl/prog/famfamfam/silk/disk_multiple.png b/koha-tmpl/opac-tmpl/prog/famfamfam/silk/disk_multiple.png
deleted file mode 100644 (file)
index fc5a52f..0000000
Binary files a/koha-tmpl/opac-tmpl/prog/famfamfam/silk/disk_multiple.png and /dev/null differ
diff --git a/koha-tmpl/opac-tmpl/prog/famfamfam/silk/door.png b/koha-tmpl/opac-tmpl/prog/famfamfam/silk/door.png
deleted file mode 100644 (file)
index 369fc46..0000000
Binary files a/koha-tmpl/opac-tmpl/prog/famfamfam/silk/door.png and /dev/null differ
diff --git a/koha-tmpl/opac-tmpl/prog/famfamfam/silk/door_in.png b/koha-tmpl/opac-tmpl/prog/famfamfam/silk/door_in.png
deleted file mode 100644 (file)
index 41676a0..0000000
Binary files a/koha-tmpl/opac-tmpl/prog/famfamfam/silk/door_in.png and /dev/null differ
diff --git a/koha-tmpl/opac-tmpl/prog/famfamfam/silk/door_open.png b/koha-tmpl/opac-tmpl/prog/famfamfam/silk/door_open.png
deleted file mode 100644 (file)
index 64bab57..0000000
Binary files a/koha-tmpl/opac-tmpl/prog/famfamfam/silk/door_open.png and /dev/null differ
diff --git a/koha-tmpl/opac-tmpl/prog/famfamfam/silk/door_out.png b/koha-tmpl/opac-tmpl/prog/famfamfam/silk/door_out.png
deleted file mode 100644 (file)
index 2541d2b..0000000
Binary files a/koha-tmpl/opac-tmpl/prog/famfamfam/silk/door_out.png and /dev/null differ
diff --git a/koha-tmpl/opac-tmpl/prog/famfamfam/silk/drink.png b/koha-tmpl/opac-tmpl/prog/famfamfam/silk/drink.png
deleted file mode 100644 (file)
index d98359c..0000000
Binary files a/koha-tmpl/opac-tmpl/prog/famfamfam/silk/drink.png and /dev/null differ
diff --git a/koha-tmpl/opac-tmpl/prog/famfamfam/silk/drink_empty.png b/koha-tmpl/opac-tmpl/prog/famfamfam/silk/drink_empty.png
deleted file mode 100644 (file)
index a40211e..0000000
Binary files a/koha-tmpl/opac-tmpl/prog/famfamfam/silk/drink_empty.png and /dev/null differ
diff --git a/koha-tmpl/opac-tmpl/prog/famfamfam/silk/drive.png b/koha-tmpl/opac-tmpl/prog/famfamfam/silk/drive.png
deleted file mode 100644 (file)
index 37b7c9b..0000000
Binary files a/koha-tmpl/opac-tmpl/prog/famfamfam/silk/drive.png and /dev/null differ
diff --git a/koha-tmpl/opac-tmpl/prog/famfamfam/silk/drive_add.png b/koha-tmpl/opac-tmpl/prog/famfamfam/silk/drive_add.png
deleted file mode 100644 (file)
index 29a35d5..0000000
Binary files a/koha-tmpl/opac-tmpl/prog/famfamfam/silk/drive_add.png and /dev/null differ
diff --git a/koha-tmpl/opac-tmpl/prog/famfamfam/silk/drive_burn.png b/koha-tmpl/opac-tmpl/prog/famfamfam/silk/drive_burn.png
deleted file mode 100644 (file)
index 80fd79f..0000000
Binary files a/koha-tmpl/opac-tmpl/prog/famfamfam/silk/drive_burn.png and /dev/null differ
diff --git a/koha-tmpl/opac-tmpl/prog/famfamfam/silk/drive_cd.png b/koha-tmpl/opac-tmpl/prog/famfamfam/silk/drive_cd.png
deleted file mode 100644 (file)
index 1850b70..0000000
Binary files a/koha-tmpl/opac-tmpl/prog/famfamfam/silk/drive_cd.png and /dev/null differ
diff --git a/koha-tmpl/opac-tmpl/prog/famfamfam/silk/drive_cd_empty.png b/koha-tmpl/opac-tmpl/prog/famfamfam/silk/drive_cd_empty.png
deleted file mode 100644 (file)
index 8df38d9..0000000
Binary files a/koha-tmpl/opac-tmpl/prog/famfamfam/silk/drive_cd_empty.png and /dev/null differ
diff --git a/koha-tmpl/opac-tmpl/prog/famfamfam/silk/drive_delete.png b/koha-tmpl/opac-tmpl/prog/famfamfam/silk/drive_delete.png
deleted file mode 100644 (file)
index e6eb186..0000000
Binary files a/koha-tmpl/opac-tmpl/prog/famfamfam/silk/drive_delete.png and /dev/null differ
diff --git a/koha-tmpl/opac-tmpl/prog/famfamfam/silk/drive_disk.png b/koha-tmpl/opac-tmpl/prog/famfamfam/silk/drive_disk.png
deleted file mode 100644 (file)
index 5a51e81..0000000
Binary files a/koha-tmpl/opac-tmpl/prog/famfamfam/silk/drive_disk.png and /dev/null differ
diff --git a/koha-tmpl/opac-tmpl/prog/famfamfam/silk/drive_edit.png b/koha-tmpl/opac-tmpl/prog/famfamfam/silk/drive_edit.png
deleted file mode 100644 (file)
index 7923fad..0000000
Binary files a/koha-tmpl/opac-tmpl/prog/famfamfam/silk/drive_edit.png and /dev/null differ
diff --git a/koha-tmpl/opac-tmpl/prog/famfamfam/silk/drive_error.png b/koha-tmpl/opac-tmpl/prog/famfamfam/silk/drive_error.png
deleted file mode 100644 (file)
index 309f639..0000000
Binary files a/koha-tmpl/opac-tmpl/prog/famfamfam/silk/drive_error.png and /dev/null differ
diff --git a/koha-tmpl/opac-tmpl/prog/famfamfam/silk/drive_go.png b/koha-tmpl/opac-tmpl/prog/famfamfam/silk/drive_go.png
deleted file mode 100644 (file)
index fc53379..0000000
Binary files a/koha-tmpl/opac-tmpl/prog/famfamfam/silk/drive_go.png and /dev/null differ
diff --git a/koha-tmpl/opac-tmpl/prog/famfamfam/silk/drive_key.png b/koha-tmpl/opac-tmpl/prog/famfamfam/silk/drive_key.png
deleted file mode 100644 (file)
index d0b3c67..0000000
Binary files a/koha-tmpl/opac-tmpl/prog/famfamfam/silk/drive_key.png and /dev/null differ
diff --git a/koha-tmpl/opac-tmpl/prog/famfamfam/silk/drive_link.png b/koha-tmpl/opac-tmpl/prog/famfamfam/silk/drive_link.png
deleted file mode 100644 (file)
index 8679c4b..0000000
Binary files a/koha-tmpl/opac-tmpl/prog/famfamfam/silk/drive_link.png and /dev/null differ
diff --git a/koha-tmpl/opac-tmpl/prog/famfamfam/silk/drive_magnify.png b/koha-tmpl/opac-tmpl/prog/famfamfam/silk/drive_magnify.png
deleted file mode 100644 (file)
index 0f0f444..0000000
Binary files a/koha-tmpl/opac-tmpl/prog/famfamfam/silk/drive_magnify.png and /dev/null differ
diff --git a/koha-tmpl/opac-tmpl/prog/famfamfam/silk/drive_network.png b/koha-tmpl/opac-tmpl/prog/famfamfam/silk/drive_network.png
deleted file mode 100644 (file)
index 63d2d5d..0000000
Binary files a/koha-tmpl/opac-tmpl/prog/famfamfam/silk/drive_network.png and /dev/null differ
diff --git a/koha-tmpl/opac-tmpl/prog/famfamfam/silk/drive_rename.png b/koha-tmpl/opac-tmpl/prog/famfamfam/silk/drive_rename.png
deleted file mode 100644 (file)
index 2a9f38b..0000000
Binary files a/koha-tmpl/opac-tmpl/prog/famfamfam/silk/drive_rename.png and /dev/null differ
diff --git a/koha-tmpl/opac-tmpl/prog/famfamfam/silk/drive_user.png b/koha-tmpl/opac-tmpl/prog/famfamfam/silk/drive_user.png
deleted file mode 100644 (file)
index 0b4751c..0000000
Binary files a/koha-tmpl/opac-tmpl/prog/famfamfam/silk/drive_user.png and /dev/null differ
diff --git a/koha-tmpl/opac-tmpl/prog/famfamfam/silk/drive_web.png b/koha-tmpl/opac-tmpl/prog/famfamfam/silk/drive_web.png
deleted file mode 100644 (file)
index 8850a83..0000000
Binary files a/koha-tmpl/opac-tmpl/prog/famfamfam/silk/drive_web.png and /dev/null differ
diff --git a/koha-tmpl/opac-tmpl/prog/famfamfam/silk/dvd.png b/koha-tmpl/opac-tmpl/prog/famfamfam/silk/dvd.png
deleted file mode 100644 (file)
index 9d94de5..0000000
Binary files a/koha-tmpl/opac-tmpl/prog/famfamfam/silk/dvd.png and /dev/null differ
diff --git a/koha-tmpl/opac-tmpl/prog/famfamfam/silk/dvd_add.png b/koha-tmpl/opac-tmpl/prog/famfamfam/silk/dvd_add.png
deleted file mode 100644 (file)
index 517d112..0000000
Binary files a/koha-tmpl/opac-tmpl/prog/famfamfam/silk/dvd_add.png and /dev/null differ
diff --git a/koha-tmpl/opac-tmpl/prog/famfamfam/silk/dvd_delete.png b/koha-tmpl/opac-tmpl/prog/famfamfam/silk/dvd_delete.png
deleted file mode 100644 (file)
index 87bed22..0000000
Binary files a/koha-tmpl/opac-tmpl/prog/famfamfam/silk/dvd_delete.png and /dev/null differ
diff --git a/koha-tmpl/opac-tmpl/prog/famfamfam/silk/dvd_edit.png b/koha-tmpl/opac-tmpl/prog/famfamfam/silk/dvd_edit.png
deleted file mode 100644 (file)
index d6330aa..0000000
Binary files a/koha-tmpl/opac-tmpl/prog/famfamfam/silk/dvd_edit.png and /dev/null differ
diff --git a/koha-tmpl/opac-tmpl/prog/famfamfam/silk/dvd_error.png b/koha-tmpl/opac-tmpl/prog/famfamfam/silk/dvd_error.png
deleted file mode 100644 (file)
index 8f6d4be..0000000
Binary files a/koha-tmpl/opac-tmpl/prog/famfamfam/silk/dvd_error.png and /dev/null differ
diff --git a/koha-tmpl/opac-tmpl/prog/famfamfam/silk/dvd_go.png b/koha-tmpl/opac-tmpl/prog/famfamfam/silk/dvd_go.png
deleted file mode 100644 (file)
index ef6959f..0000000
Binary files a/koha-tmpl/opac-tmpl/prog/famfamfam/silk/dvd_go.png and /dev/null differ
diff --git a/koha-tmpl/opac-tmpl/prog/famfamfam/silk/dvd_key.png b/koha-tmpl/opac-tmpl/prog/famfamfam/silk/dvd_key.png
deleted file mode 100644 (file)
index da9307f..0000000
Binary files a/koha-tmpl/opac-tmpl/prog/famfamfam/silk/dvd_key.png and /dev/null differ
diff --git a/koha-tmpl/opac-tmpl/prog/famfamfam/silk/dvd_link.png b/koha-tmpl/opac-tmpl/prog/famfamfam/silk/dvd_link.png
deleted file mode 100644 (file)
index caad726..0000000
Binary files a/koha-tmpl/opac-tmpl/prog/famfamfam/silk/dvd_link.png and /dev/null differ
diff --git a/koha-tmpl/opac-tmpl/prog/famfamfam/silk/email.png b/koha-tmpl/opac-tmpl/prog/famfamfam/silk/email.png
deleted file mode 100644 (file)
index 7348aed..0000000
Binary files a/koha-tmpl/opac-tmpl/prog/famfamfam/silk/email.png and /dev/null differ
diff --git a/koha-tmpl/opac-tmpl/prog/famfamfam/silk/email_add.png b/koha-tmpl/opac-tmpl/prog/famfamfam/silk/email_add.png
deleted file mode 100644 (file)
index 6c93368..0000000
Binary files a/koha-tmpl/opac-tmpl/prog/famfamfam/silk/email_add.png and /dev/null differ
diff --git a/koha-tmpl/opac-tmpl/prog/famfamfam/silk/email_attach.png b/koha-tmpl/opac-tmpl/prog/famfamfam/silk/email_attach.png
deleted file mode 100644 (file)
index 1f99485..0000000
Binary files a/koha-tmpl/opac-tmpl/prog/famfamfam/silk/email_attach.png and /dev/null differ
diff --git a/koha-tmpl/opac-tmpl/prog/famfamfam/silk/email_delete.png b/koha-tmpl/opac-tmpl/prog/famfamfam/silk/email_delete.png
deleted file mode 100644 (file)
index a9932b1..0000000
Binary files a/koha-tmpl/opac-tmpl/prog/famfamfam/silk/email_delete.png and /dev/null differ
diff --git a/koha-tmpl/opac-tmpl/prog/famfamfam/silk/email_edit.png b/koha-tmpl/opac-tmpl/prog/famfamfam/silk/email_edit.png
deleted file mode 100644 (file)
index 244f04a..0000000
Binary files a/koha-tmpl/opac-tmpl/prog/famfamfam/silk/email_edit.png and /dev/null differ
diff --git a/koha-tmpl/opac-tmpl/prog/famfamfam/silk/email_error.png b/koha-tmpl/opac-tmpl/prog/famfamfam/silk/email_error.png
deleted file mode 100644 (file)
index 8bdd330..0000000
Binary files a/koha-tmpl/opac-tmpl/prog/famfamfam/silk/email_error.png and /dev/null differ
diff --git a/koha-tmpl/opac-tmpl/prog/famfamfam/silk/email_go.png b/koha-tmpl/opac-tmpl/prog/famfamfam/silk/email_go.png
deleted file mode 100644 (file)
index 4a6c5d3..0000000
Binary files a/koha-tmpl/opac-tmpl/prog/famfamfam/silk/email_go.png and /dev/null differ
diff --git a/koha-tmpl/opac-tmpl/prog/famfamfam/silk/email_link.png b/koha-tmpl/opac-tmpl/prog/famfamfam/silk/email_link.png
deleted file mode 100644 (file)
index 2c49f78..0000000
Binary files a/koha-tmpl/opac-tmpl/prog/famfamfam/silk/email_link.png and /dev/null differ
diff --git a/koha-tmpl/opac-tmpl/prog/famfamfam/silk/email_open.png b/koha-tmpl/opac-tmpl/prog/famfamfam/silk/email_open.png
deleted file mode 100644 (file)
index 7b6f981..0000000
Binary files a/koha-tmpl/opac-tmpl/prog/famfamfam/silk/email_open.png and /dev/null differ
diff --git a/koha-tmpl/opac-tmpl/prog/famfamfam/silk/email_open_image.png b/koha-tmpl/opac-tmpl/prog/famfamfam/silk/email_open_image.png
deleted file mode 100644 (file)
index e588e2f..0000000
Binary files a/koha-tmpl/opac-tmpl/prog/famfamfam/silk/email_open_image.png and /dev/null differ
diff --git a/koha-tmpl/opac-tmpl/prog/famfamfam/silk/emoticon_evilgrin.png b/koha-tmpl/opac-tmpl/prog/famfamfam/silk/emoticon_evilgrin.png
deleted file mode 100644 (file)
index 817bd50..0000000
Binary files a/koha-tmpl/opac-tmpl/prog/famfamfam/silk/emoticon_evilgrin.png and /dev/null differ
diff --git a/koha-tmpl/opac-tmpl/prog/famfamfam/silk/emoticon_grin.png b/koha-tmpl/opac-tmpl/prog/famfamfam/silk/emoticon_grin.png
deleted file mode 100644 (file)
index fc60c5e..0000000
Binary files a/koha-tmpl/opac-tmpl/prog/famfamfam/silk/emoticon_grin.png and /dev/null differ
diff --git a/koha-tmpl/opac-tmpl/prog/famfamfam/silk/emoticon_happy.png b/koha-tmpl/opac-tmpl/prog/famfamfam/silk/emoticon_happy.png
deleted file mode 100644 (file)
index 6b7336e..0000000
Binary files a/koha-tmpl/opac-tmpl/prog/famfamfam/silk/emoticon_happy.png and /dev/null differ
diff --git a/koha-tmpl/opac-tmpl/prog/famfamfam/silk/emoticon_smile.png b/koha-tmpl/opac-tmpl/prog/famfamfam/silk/emoticon_smile.png
deleted file mode 100644 (file)
index ade4318..0000000
Binary files a/koha-tmpl/opac-tmpl/prog/famfamfam/silk/emoticon_smile.png and /dev/null differ
diff --git a/koha-tmpl/opac-tmpl/prog/famfamfam/silk/emoticon_surprised.png b/koha-tmpl/opac-tmpl/prog/famfamfam/silk/emoticon_surprised.png
deleted file mode 100644 (file)
index 4520cfc..0000000
Binary files a/koha-tmpl/opac-tmpl/prog/famfamfam/silk/emoticon_surprised.png and /dev/null differ
diff --git a/koha-tmpl/opac-tmpl/prog/famfamfam/silk/emoticon_tongue.png b/koha-tmpl/opac-tmpl/prog/famfamfam/silk/emoticon_tongue.png
deleted file mode 100644 (file)
index ecafd2f..0000000
Binary files a/koha-tmpl/opac-tmpl/prog/famfamfam/silk/emoticon_tongue.png and /dev/null differ
diff --git a/koha-tmpl/opac-tmpl/prog/famfamfam/silk/emoticon_unhappy.png b/koha-tmpl/opac-tmpl/prog/famfamfam/silk/emoticon_unhappy.png
deleted file mode 100644 (file)
index fd5d030..0000000
Binary files a/koha-tmpl/opac-tmpl/prog/famfamfam/silk/emoticon_unhappy.png and /dev/null differ
diff --git a/koha-tmpl/opac-tmpl/prog/famfamfam/silk/emoticon_waii.png b/koha-tmpl/opac-tmpl/prog/famfamfam/silk/emoticon_waii.png
deleted file mode 100644 (file)
index 458f936..0000000
Binary files a/koha-tmpl/opac-tmpl/prog/famfamfam/silk/emoticon_waii.png and /dev/null differ
diff --git a/koha-tmpl/opac-tmpl/prog/famfamfam/silk/emoticon_wink.png b/koha-tmpl/opac-tmpl/prog/famfamfam/silk/emoticon_wink.png
deleted file mode 100644 (file)
index a631949..0000000
Binary files a/koha-tmpl/opac-tmpl/prog/famfamfam/silk/emoticon_wink.png and /dev/null differ
diff --git a/koha-tmpl/opac-tmpl/prog/famfamfam/silk/error.png b/koha-tmpl/opac-tmpl/prog/famfamfam/silk/error.png
deleted file mode 100644 (file)
index 628cf2d..0000000
Binary files a/koha-tmpl/opac-tmpl/prog/famfamfam/silk/error.png and /dev/null differ
diff --git a/koha-tmpl/opac-tmpl/prog/famfamfam/silk/error_add.png b/koha-tmpl/opac-tmpl/prog/famfamfam/silk/error_add.png
deleted file mode 100644 (file)
index 4c97484..0000000
Binary files a/koha-tmpl/opac-tmpl/prog/famfamfam/silk/error_add.png and /dev/null differ
diff --git a/koha-tmpl/opac-tmpl/prog/famfamfam/silk/error_delete.png b/koha-tmpl/opac-tmpl/prog/famfamfam/silk/error_delete.png
deleted file mode 100644 (file)
index 7f78bcc..0000000
Binary files a/koha-tmpl/opac-tmpl/prog/famfamfam/silk/error_delete.png and /dev/null differ
diff --git a/koha-tmpl/opac-tmpl/prog/famfamfam/silk/error_go.png b/koha-tmpl/opac-tmpl/prog/famfamfam/silk/error_go.png
deleted file mode 100644 (file)
index caa1838..0000000
Binary files a/koha-tmpl/opac-tmpl/prog/famfamfam/silk/error_go.png and /dev/null differ
diff --git a/koha-tmpl/opac-tmpl/prog/famfamfam/silk/exclamation.png b/koha-tmpl/opac-tmpl/prog/famfamfam/silk/exclamation.png
deleted file mode 100644 (file)
index c37bd06..0000000
Binary files a/koha-tmpl/opac-tmpl/prog/famfamfam/silk/exclamation.png and /dev/null differ
diff --git a/koha-tmpl/opac-tmpl/prog/famfamfam/silk/eye.png b/koha-tmpl/opac-tmpl/prog/famfamfam/silk/eye.png
deleted file mode 100644 (file)
index 564a1a9..0000000
Binary files a/koha-tmpl/opac-tmpl/prog/famfamfam/silk/eye.png and /dev/null differ
diff --git a/koha-tmpl/opac-tmpl/prog/famfamfam/silk/feed.png b/koha-tmpl/opac-tmpl/prog/famfamfam/silk/feed.png
deleted file mode 100644 (file)
index 315c4f4..0000000
Binary files a/koha-tmpl/opac-tmpl/prog/famfamfam/silk/feed.png and /dev/null differ
diff --git a/koha-tmpl/opac-tmpl/prog/famfamfam/silk/feed_add.png b/koha-tmpl/opac-tmpl/prog/famfamfam/silk/feed_add.png
deleted file mode 100644 (file)
index e77d46e..0000000
Binary files a/koha-tmpl/opac-tmpl/prog/famfamfam/silk/feed_add.png and /dev/null differ
diff --git a/koha-tmpl/opac-tmpl/prog/famfamfam/silk/feed_delete.png b/koha-tmpl/opac-tmpl/prog/famfamfam/silk/feed_delete.png
deleted file mode 100644 (file)
index 5e332b4..0000000
Binary files a/koha-tmpl/opac-tmpl/prog/famfamfam/silk/feed_delete.png and /dev/null differ
diff --git a/koha-tmpl/opac-tmpl/prog/famfamfam/silk/feed_disk.png b/koha-tmpl/opac-tmpl/prog/famfamfam/silk/feed_disk.png
deleted file mode 100644 (file)
index a158c99..0000000
Binary files a/koha-tmpl/opac-tmpl/prog/famfamfam/silk/feed_disk.png and /dev/null differ
diff --git a/koha-tmpl/opac-tmpl/prog/famfamfam/silk/feed_edit.png b/koha-tmpl/opac-tmpl/prog/famfamfam/silk/feed_edit.png
deleted file mode 100644 (file)
index f1fde7a..0000000
Binary files a/koha-tmpl/opac-tmpl/prog/famfamfam/silk/feed_edit.png and /dev/null differ
diff --git a/koha-tmpl/opac-tmpl/prog/famfamfam/silk/feed_error.png b/koha-tmpl/opac-tmpl/prog/famfamfam/silk/feed_error.png
deleted file mode 100644 (file)
index c0a801c..0000000
Binary files a/koha-tmpl/opac-tmpl/prog/famfamfam/silk/feed_error.png and /dev/null differ
diff --git a/koha-tmpl/opac-tmpl/prog/famfamfam/silk/feed_go.png b/koha-tmpl/opac-tmpl/prog/famfamfam/silk/feed_go.png
deleted file mode 100644 (file)
index f2eed1e..0000000
Binary files a/koha-tmpl/opac-tmpl/prog/famfamfam/silk/feed_go.png and /dev/null differ
diff --git a/koha-tmpl/opac-tmpl/prog/famfamfam/silk/feed_key.png b/koha-tmpl/opac-tmpl/prog/famfamfam/silk/feed_key.png
deleted file mode 100644 (file)
index 156bfa9..0000000
Binary files a/koha-tmpl/opac-tmpl/prog/famfamfam/silk/feed_key.png and /dev/null differ
diff --git a/koha-tmpl/opac-tmpl/prog/famfamfam/silk/feed_link.png b/koha-tmpl/opac-tmpl/prog/famfamfam/silk/feed_link.png
deleted file mode 100644 (file)
index c45a534..0000000
Binary files a/koha-tmpl/opac-tmpl/prog/famfamfam/silk/feed_link.png and /dev/null differ
diff --git a/koha-tmpl/opac-tmpl/prog/famfamfam/silk/feed_magnify.png b/koha-tmpl/opac-tmpl/prog/famfamfam/silk/feed_magnify.png
deleted file mode 100644 (file)
index 3023695..0000000
Binary files a/koha-tmpl/opac-tmpl/prog/famfamfam/silk/feed_magnify.png and /dev/null differ
diff --git a/koha-tmpl/opac-tmpl/prog/famfamfam/silk/female.png b/koha-tmpl/opac-tmpl/prog/famfamfam/silk/female.png
deleted file mode 100644 (file)
index f92958e..0000000
Binary files a/koha-tmpl/opac-tmpl/prog/famfamfam/silk/female.png and /dev/null differ
diff --git a/koha-tmpl/opac-tmpl/prog/famfamfam/silk/film.png b/koha-tmpl/opac-tmpl/prog/famfamfam/silk/film.png
deleted file mode 100644 (file)
index b0ce7bb..0000000
Binary files a/koha-tmpl/opac-tmpl/prog/famfamfam/silk/film.png and /dev/null differ
diff --git a/koha-tmpl/opac-tmpl/prog/famfamfam/silk/film_add.png b/koha-tmpl/opac-tmpl/prog/famfamfam/silk/film_add.png
deleted file mode 100644 (file)
index 40d681f..0000000
Binary files a/koha-tmpl/opac-tmpl/prog/famfamfam/silk/film_add.png and /dev/null differ
diff --git a/koha-tmpl/opac-tmpl/prog/famfamfam/silk/film_delete.png b/koha-tmpl/opac-tmpl/prog/famfamfam/silk/film_delete.png
deleted file mode 100644 (file)
index 23a2508..0000000
Binary files a/koha-tmpl/opac-tmpl/prog/famfamfam/silk/film_delete.png and /dev/null differ
diff --git a/koha-tmpl/opac-tmpl/prog/famfamfam/silk/film_edit.png b/koha-tmpl/opac-tmpl/prog/famfamfam/silk/film_edit.png
deleted file mode 100644 (file)
index af66b73..0000000
Binary files a/koha-tmpl/opac-tmpl/prog/famfamfam/silk/film_edit.png and /dev/null differ
diff --git a/koha-tmpl/opac-tmpl/prog/famfamfam/silk/film_error.png b/koha-tmpl/opac-tmpl/prog/famfamfam/silk/film_error.png
deleted file mode 100644 (file)
index 88f3d69..0000000
Binary files a/koha-tmpl/opac-tmpl/prog/famfamfam/silk/film_error.png and /dev/null differ
diff --git a/koha-tmpl/opac-tmpl/prog/famfamfam/silk/film_go.png b/koha-tmpl/opac-tmpl/prog/famfamfam/silk/film_go.png
deleted file mode 100644 (file)
index dd0168e..0000000
Binary files a/koha-tmpl/opac-tmpl/prog/famfamfam/silk/film_go.png and /dev/null differ
diff --git a/koha-tmpl/opac-tmpl/prog/famfamfam/silk/film_key.png b/koha-tmpl/opac-tmpl/prog/famfamfam/silk/film_key.png
deleted file mode 100644 (file)
index 5892162..0000000
Binary files a/koha-tmpl/opac-tmpl/prog/famfamfam/silk/film_key.png and /dev/null differ
diff --git a/koha-tmpl/opac-tmpl/prog/famfamfam/silk/film_link.png b/koha-tmpl/opac-tmpl/prog/famfamfam/silk/film_link.png
deleted file mode 100644 (file)
index 0f24e86..0000000
Binary files a/koha-tmpl/opac-tmpl/prog/famfamfam/silk/film_link.png and /dev/null differ
diff --git a/koha-tmpl/opac-tmpl/prog/famfamfam/silk/film_save.png b/koha-tmpl/opac-tmpl/prog/famfamfam/silk/film_save.png
deleted file mode 100644 (file)
index bc8c0d3..0000000
Binary files a/koha-tmpl/opac-tmpl/prog/famfamfam/silk/film_save.png and /dev/null differ
diff --git a/koha-tmpl/opac-tmpl/prog/famfamfam/silk/find.png b/koha-tmpl/opac-tmpl/prog/famfamfam/silk/find.png
deleted file mode 100644 (file)
index 1547479..0000000
Binary files a/koha-tmpl/opac-tmpl/prog/famfamfam/silk/find.png and /dev/null differ
diff --git a/koha-tmpl/opac-tmpl/prog/famfamfam/silk/flag_blue.png b/koha-tmpl/opac-tmpl/prog/famfamfam/silk/flag_blue.png
deleted file mode 100644 (file)
index 003924f..0000000
Binary files a/koha-tmpl/opac-tmpl/prog/famfamfam/silk/flag_blue.png and /dev/null differ
diff --git a/koha-tmpl/opac-tmpl/prog/famfamfam/silk/flag_green.png b/koha-tmpl/opac-tmpl/prog/famfamfam/silk/flag_green.png
deleted file mode 100644 (file)
index e4bc611..0000000
Binary files a/koha-tmpl/opac-tmpl/prog/famfamfam/silk/flag_green.png and /dev/null differ
diff --git a/koha-tmpl/opac-tmpl/prog/famfamfam/silk/flag_orange.png b/koha-tmpl/opac-tmpl/prog/famfamfam/silk/flag_orange.png
deleted file mode 100644 (file)
index e632024..0000000
Binary files a/koha-tmpl/opac-tmpl/prog/famfamfam/silk/flag_orange.png and /dev/null differ
diff --git a/koha-tmpl/opac-tmpl/prog/famfamfam/silk/flag_pink.png b/koha-tmpl/opac-tmpl/prog/famfamfam/silk/flag_pink.png
deleted file mode 100644 (file)
index 5f15e52..0000000
Binary files a/koha-tmpl/opac-tmpl/prog/famfamfam/silk/flag_pink.png and /dev/null differ
diff --git a/koha-tmpl/opac-tmpl/prog/famfamfam/silk/flag_purple.png b/koha-tmpl/opac-tmpl/prog/famfamfam/silk/flag_purple.png
deleted file mode 100644 (file)
index d069866..0000000
Binary files a/koha-tmpl/opac-tmpl/prog/famfamfam/silk/flag_purple.png and /dev/null differ
diff --git a/koha-tmpl/opac-tmpl/prog/famfamfam/silk/flag_red.png b/koha-tmpl/opac-tmpl/prog/famfamfam/silk/flag_red.png
deleted file mode 100644 (file)
index e8a602d..0000000
Binary files a/koha-tmpl/opac-tmpl/prog/famfamfam/silk/flag_red.png and /dev/null differ
diff --git a/koha-tmpl/opac-tmpl/prog/famfamfam/silk/flag_yellow.png b/koha-tmpl/opac-tmpl/prog/famfamfam/silk/flag_yellow.png
deleted file mode 100644 (file)
index 14c89a5..0000000
Binary files a/koha-tmpl/opac-tmpl/prog/famfamfam/silk/flag_yellow.png and /dev/null differ
diff --git a/koha-tmpl/opac-tmpl/prog/famfamfam/silk/folder.png b/koha-tmpl/opac-tmpl/prog/famfamfam/silk/folder.png
deleted file mode 100644 (file)
index 784e8fa..0000000
Binary files a/koha-tmpl/opac-tmpl/prog/famfamfam/silk/folder.png and /dev/null differ
diff --git a/koha-tmpl/opac-tmpl/prog/famfamfam/silk/folder_add.png b/koha-tmpl/opac-tmpl/prog/famfamfam/silk/folder_add.png
deleted file mode 100644 (file)
index 529fe8f..0000000
Binary files a/koha-tmpl/opac-tmpl/prog/famfamfam/silk/folder_add.png and /dev/null differ
diff --git a/koha-tmpl/opac-tmpl/prog/famfamfam/silk/folder_bell.png b/koha-tmpl/opac-tmpl/prog/famfamfam/silk/folder_bell.png
deleted file mode 100644 (file)
index d04dd7f..0000000
Binary files a/koha-tmpl/opac-tmpl/prog/famfamfam/silk/folder_bell.png and /dev/null differ
diff --git a/koha-tmpl/opac-tmpl/prog/famfamfam/silk/folder_brick.png b/koha-tmpl/opac-tmpl/prog/famfamfam/silk/folder_brick.png
deleted file mode 100644 (file)
index 5dea976..0000000
Binary files a/koha-tmpl/opac-tmpl/prog/famfamfam/silk/folder_brick.png and /dev/null differ
diff --git a/koha-tmpl/opac-tmpl/prog/famfamfam/silk/folder_bug.png b/koha-tmpl/opac-tmpl/prog/famfamfam/silk/folder_bug.png
deleted file mode 100644 (file)
index 4f791b6..0000000
Binary files a/koha-tmpl/opac-tmpl/prog/famfamfam/silk/folder_bug.png and /dev/null differ
diff --git a/koha-tmpl/opac-tmpl/prog/famfamfam/silk/folder_camera.png b/koha-tmpl/opac-tmpl/prog/famfamfam/silk/folder_camera.png
deleted file mode 100644 (file)
index c951941..0000000
Binary files a/koha-tmpl/opac-tmpl/prog/famfamfam/silk/folder_camera.png and /dev/null differ
diff --git a/koha-tmpl/opac-tmpl/prog/famfamfam/silk/folder_database.png b/koha-tmpl/opac-tmpl/prog/famfamfam/silk/folder_database.png
deleted file mode 100644 (file)
index 5193e2e..0000000
Binary files a/koha-tmpl/opac-tmpl/prog/famfamfam/silk/folder_database.png and /dev/null differ
diff --git a/koha-tmpl/opac-tmpl/prog/famfamfam/silk/folder_delete.png b/koha-tmpl/opac-tmpl/prog/famfamfam/silk/folder_delete.png
deleted file mode 100644 (file)
index 112b016..0000000
Binary files a/koha-tmpl/opac-tmpl/prog/famfamfam/silk/folder_delete.png and /dev/null differ
diff --git a/koha-tmpl/opac-tmpl/prog/famfamfam/silk/folder_edit.png b/koha-tmpl/opac-tmpl/prog/famfamfam/silk/folder_edit.png
deleted file mode 100644 (file)
index ad669cc..0000000
Binary files a/koha-tmpl/opac-tmpl/prog/famfamfam/silk/folder_edit.png and /dev/null differ
diff --git a/koha-tmpl/opac-tmpl/prog/famfamfam/silk/folder_error.png b/koha-tmpl/opac-tmpl/prog/famfamfam/silk/folder_error.png
deleted file mode 100644 (file)
index 1af8809..0000000
Binary files a/koha-tmpl/opac-tmpl/prog/famfamfam/silk/folder_error.png and /dev/null differ
diff --git a/koha-tmpl/opac-tmpl/prog/famfamfam/silk/folder_explore.png b/koha-tmpl/opac-tmpl/prog/famfamfam/silk/folder_explore.png
deleted file mode 100644 (file)
index 0ba9391..0000000
Binary files a/koha-tmpl/opac-tmpl/prog/famfamfam/silk/folder_explore.png and /dev/null differ
diff --git a/koha-tmpl/opac-tmpl/prog/famfamfam/silk/folder_feed.png b/koha-tmpl/opac-tmpl/prog/famfamfam/silk/folder_feed.png
deleted file mode 100644 (file)
index d06ee51..0000000
Binary files a/koha-tmpl/opac-tmpl/prog/famfamfam/silk/folder_feed.png and /dev/null differ
diff --git a/koha-tmpl/opac-tmpl/prog/famfamfam/silk/folder_find.png b/koha-tmpl/opac-tmpl/prog/famfamfam/silk/folder_find.png
deleted file mode 100644 (file)
index c64e2ee..0000000
Binary files a/koha-tmpl/opac-tmpl/prog/famfamfam/silk/folder_find.png and /dev/null differ
diff --git a/koha-tmpl/opac-tmpl/prog/famfamfam/silk/folder_go.png b/koha-tmpl/opac-tmpl/prog/famfamfam/silk/folder_go.png
deleted file mode 100644 (file)
index 34a736f..0000000
Binary files a/koha-tmpl/opac-tmpl/prog/famfamfam/silk/folder_go.png and /dev/null differ
diff --git a/koha-tmpl/opac-tmpl/prog/famfamfam/silk/folder_heart.png b/koha-tmpl/opac-tmpl/prog/famfamfam/silk/folder_heart.png
deleted file mode 100644 (file)
index 56d7da1..0000000
Binary files a/koha-tmpl/opac-tmpl/prog/famfamfam/silk/folder_heart.png and /dev/null differ
diff --git a/koha-tmpl/opac-tmpl/prog/famfamfam/silk/folder_image.png b/koha-tmpl/opac-tmpl/prog/famfamfam/silk/folder_image.png
deleted file mode 100644 (file)
index d5df75b..0000000
Binary files a/koha-tmpl/opac-tmpl/prog/famfamfam/silk/folder_image.png and /dev/null differ
diff --git a/koha-tmpl/opac-tmpl/prog/famfamfam/silk/folder_key.png b/koha-tmpl/opac-tmpl/prog/famfamfam/silk/folder_key.png
deleted file mode 100644 (file)
index fb9b4c2..0000000
Binary files a/koha-tmpl/opac-tmpl/prog/famfamfam/silk/folder_key.png and /dev/null differ
diff --git a/koha-tmpl/opac-tmpl/prog/famfamfam/silk/folder_lightbulb.png b/koha-tmpl/opac-tmpl/prog/famfamfam/silk/folder_lightbulb.png
deleted file mode 100644 (file)
index f367a51..0000000
Binary files a/koha-tmpl/opac-tmpl/prog/famfamfam/silk/folder_lightbulb.png and /dev/null differ
diff --git a/koha-tmpl/opac-tmpl/prog/famfamfam/silk/folder_link.png b/koha-tmpl/opac-tmpl/prog/famfamfam/silk/folder_link.png
deleted file mode 100644 (file)
index b9b75f6..0000000
Binary files a/koha-tmpl/opac-tmpl/prog/famfamfam/silk/folder_link.png and /dev/null differ
diff --git a/koha-tmpl/opac-tmpl/prog/famfamfam/silk/folder_magnify.png b/koha-tmpl/opac-tmpl/prog/famfamfam/silk/folder_magnify.png
deleted file mode 100644 (file)
index 0a3e798..0000000
Binary files a/koha-tmpl/opac-tmpl/prog/famfamfam/silk/folder_magnify.png and /dev/null differ
diff --git a/koha-tmpl/opac-tmpl/prog/famfamfam/silk/folder_page.png b/koha-tmpl/opac-tmpl/prog/famfamfam/silk/folder_page.png
deleted file mode 100644 (file)
index 1ef6e11..0000000
Binary files a/koha-tmpl/opac-tmpl/prog/famfamfam/silk/folder_page.png and /dev/null differ
diff --git a/koha-tmpl/opac-tmpl/prog/famfamfam/silk/folder_page_white.png b/koha-tmpl/opac-tmpl/prog/famfamfam/silk/folder_page_white.png
deleted file mode 100644 (file)
index 14d6b61..0000000
Binary files a/koha-tmpl/opac-tmpl/prog/famfamfam/silk/folder_page_white.png and /dev/null differ
diff --git a/koha-tmpl/opac-tmpl/prog/famfamfam/silk/folder_palette.png b/koha-tmpl/opac-tmpl/prog/famfamfam/silk/folder_palette.png
deleted file mode 100644 (file)
index ba12fe8..0000000
Binary files a/koha-tmpl/opac-tmpl/prog/famfamfam/silk/folder_palette.png and /dev/null differ
diff --git a/koha-tmpl/opac-tmpl/prog/famfamfam/silk/folder_picture.png b/koha-tmpl/opac-tmpl/prog/famfamfam/silk/folder_picture.png
deleted file mode 100644 (file)
index 052b336..0000000
Binary files a/koha-tmpl/opac-tmpl/prog/famfamfam/silk/folder_picture.png and /dev/null differ
diff --git a/koha-tmpl/opac-tmpl/prog/famfamfam/silk/folder_star.png b/koha-tmpl/opac-tmpl/prog/famfamfam/silk/folder_star.png
deleted file mode 100644 (file)
index 448e46f..0000000
Binary files a/koha-tmpl/opac-tmpl/prog/famfamfam/silk/folder_star.png and /dev/null differ
diff --git a/koha-tmpl/opac-tmpl/prog/famfamfam/silk/folder_table.png b/koha-tmpl/opac-tmpl/prog/famfamfam/silk/folder_table.png
deleted file mode 100644 (file)
index 473cee3..0000000
Binary files a/koha-tmpl/opac-tmpl/prog/famfamfam/silk/folder_table.png and /dev/null differ
diff --git a/koha-tmpl/opac-tmpl/prog/famfamfam/silk/folder_user.png b/koha-tmpl/opac-tmpl/prog/famfamfam/silk/folder_user.png
deleted file mode 100644 (file)
index f021c3e..0000000
Binary files a/koha-tmpl/opac-tmpl/prog/famfamfam/silk/folder_user.png and /dev/null differ
diff --git a/koha-tmpl/opac-tmpl/prog/famfamfam/silk/folder_wrench.png b/koha-tmpl/opac-tmpl/prog/famfamfam/silk/folder_wrench.png
deleted file mode 100644 (file)
index ea3404e..0000000
Binary files a/koha-tmpl/opac-tmpl/prog/famfamfam/silk/folder_wrench.png and /dev/null differ
diff --git a/koha-tmpl/opac-tmpl/prog/famfamfam/silk/font.png b/koha-tmpl/opac-tmpl/prog/famfamfam/silk/font.png
deleted file mode 100644 (file)
index b7960db..0000000
Binary files a/koha-tmpl/opac-tmpl/prog/famfamfam/silk/font.png and /dev/null differ
diff --git a/koha-tmpl/opac-tmpl/prog/famfamfam/silk/font_add.png b/koha-tmpl/opac-tmpl/prog/famfamfam/silk/font_add.png
deleted file mode 100644 (file)
index b709eba..0000000
Binary files a/koha-tmpl/opac-tmpl/prog/famfamfam/silk/font_add.png and /dev/null differ
diff --git a/koha-tmpl/opac-tmpl/prog/famfamfam/silk/font_delete.png b/koha-tmpl/opac-tmpl/prog/famfamfam/silk/font_delete.png
deleted file mode 100644 (file)
index 1d6124d..0000000
Binary files a/koha-tmpl/opac-tmpl/prog/famfamfam/silk/font_delete.png and /dev/null differ
diff --git a/koha-tmpl/opac-tmpl/prog/famfamfam/silk/font_go.png b/koha-tmpl/opac-tmpl/prog/famfamfam/silk/font_go.png
deleted file mode 100644 (file)
index 75eba80..0000000
Binary files a/koha-tmpl/opac-tmpl/prog/famfamfam/silk/font_go.png and /dev/null differ
diff --git a/koha-tmpl/opac-tmpl/prog/famfamfam/silk/group.png b/koha-tmpl/opac-tmpl/prog/famfamfam/silk/group.png
deleted file mode 100644 (file)
index 7fb4e1f..0000000
Binary files a/koha-tmpl/opac-tmpl/prog/famfamfam/silk/group.png and /dev/null differ
diff --git a/koha-tmpl/opac-tmpl/prog/famfamfam/silk/group_add.png b/koha-tmpl/opac-tmpl/prog/famfamfam/silk/group_add.png
deleted file mode 100644 (file)
index 06c5350..0000000
Binary files a/koha-tmpl/opac-tmpl/prog/famfamfam/silk/group_add.png and /dev/null differ
diff --git a/koha-tmpl/opac-tmpl/prog/famfamfam/silk/group_delete.png b/koha-tmpl/opac-tmpl/prog/famfamfam/silk/group_delete.png
deleted file mode 100644 (file)
index 4489ca2..0000000
Binary files a/koha-tmpl/opac-tmpl/prog/famfamfam/silk/group_delete.png and /dev/null differ
diff --git a/koha-tmpl/opac-tmpl/prog/famfamfam/silk/group_edit.png b/koha-tmpl/opac-tmpl/prog/famfamfam/silk/group_edit.png
deleted file mode 100644 (file)
index c88b945..0000000
Binary files a/koha-tmpl/opac-tmpl/prog/famfamfam/silk/group_edit.png and /dev/null differ
diff --git a/koha-tmpl/opac-tmpl/prog/famfamfam/silk/group_error.png b/koha-tmpl/opac-tmpl/prog/famfamfam/silk/group_error.png
deleted file mode 100644 (file)
index 7364a13..0000000
Binary files a/koha-tmpl/opac-tmpl/prog/famfamfam/silk/group_error.png and /dev/null differ
diff --git a/koha-tmpl/opac-tmpl/prog/famfamfam/silk/group_gear.png b/koha-tmpl/opac-tmpl/prog/famfamfam/silk/group_gear.png
deleted file mode 100644 (file)
index 2544f2e..0000000
Binary files a/koha-tmpl/opac-tmpl/prog/famfamfam/silk/group_gear.png and /dev/null differ
diff --git a/koha-tmpl/opac-tmpl/prog/famfamfam/silk/group_go.png b/koha-tmpl/opac-tmpl/prog/famfamfam/silk/group_go.png
deleted file mode 100644 (file)
index 1f52333..0000000
Binary files a/koha-tmpl/opac-tmpl/prog/famfamfam/silk/group_go.png and /dev/null differ
diff --git a/koha-tmpl/opac-tmpl/prog/famfamfam/silk/group_key.png b/koha-tmpl/opac-tmpl/prog/famfamfam/silk/group_key.png
deleted file mode 100644 (file)
index 257f111..0000000
Binary files a/koha-tmpl/opac-tmpl/prog/famfamfam/silk/group_key.png and /dev/null differ
diff --git a/koha-tmpl/opac-tmpl/prog/famfamfam/silk/group_link.png b/koha-tmpl/opac-tmpl/prog/famfamfam/silk/group_link.png
deleted file mode 100644 (file)
index c77ed88..0000000
Binary files a/koha-tmpl/opac-tmpl/prog/famfamfam/silk/group_link.png and /dev/null differ
diff --git a/koha-tmpl/opac-tmpl/prog/famfamfam/silk/heart.png b/koha-tmpl/opac-tmpl/prog/famfamfam/silk/heart.png
deleted file mode 100644 (file)
index d9ee53e..0000000
Binary files a/koha-tmpl/opac-tmpl/prog/famfamfam/silk/heart.png and /dev/null differ
diff --git a/koha-tmpl/opac-tmpl/prog/famfamfam/silk/heart_add.png b/koha-tmpl/opac-tmpl/prog/famfamfam/silk/heart_add.png
deleted file mode 100644 (file)
index d4195ff..0000000
Binary files a/koha-tmpl/opac-tmpl/prog/famfamfam/silk/heart_add.png and /dev/null differ
diff --git a/koha-tmpl/opac-tmpl/prog/famfamfam/silk/heart_delete.png b/koha-tmpl/opac-tmpl/prog/famfamfam/silk/heart_delete.png
deleted file mode 100644 (file)
index ce523e3..0000000
Binary files a/koha-tmpl/opac-tmpl/prog/famfamfam/silk/heart_delete.png and /dev/null differ
diff --git a/koha-tmpl/opac-tmpl/prog/famfamfam/silk/help.png b/koha-tmpl/opac-tmpl/prog/famfamfam/silk/help.png
deleted file mode 100644 (file)
index 5c87017..0000000
Binary files a/koha-tmpl/opac-tmpl/prog/famfamfam/silk/help.png and /dev/null differ
diff --git a/koha-tmpl/opac-tmpl/prog/famfamfam/silk/hourglass.png b/koha-tmpl/opac-tmpl/prog/famfamfam/silk/hourglass.png
deleted file mode 100644 (file)
index 57b03ce..0000000
Binary files a/koha-tmpl/opac-tmpl/prog/famfamfam/silk/hourglass.png and /dev/null differ
diff --git a/koha-tmpl/opac-tmpl/prog/famfamfam/silk/hourglass_add.png b/koha-tmpl/opac-tmpl/prog/famfamfam/silk/hourglass_add.png
deleted file mode 100644 (file)
index 170dfff..0000000
Binary files a/koha-tmpl/opac-tmpl/prog/famfamfam/silk/hourglass_add.png and /dev/null differ
diff --git a/koha-tmpl/opac-tmpl/prog/famfamfam/silk/hourglass_delete.png b/koha-tmpl/opac-tmpl/prog/famfamfam/silk/hourglass_delete.png
deleted file mode 100644 (file)
index 4b1337b..0000000
Binary files a/koha-tmpl/opac-tmpl/prog/famfamfam/silk/hourglass_delete.png and /dev/null differ
diff --git a/koha-tmpl/opac-tmpl/prog/famfamfam/silk/hourglass_go.png b/koha-tmpl/opac-tmpl/prog/famfamfam/silk/hourglass_go.png
deleted file mode 100644 (file)
index b2d3a98..0000000
Binary files a/koha-tmpl/opac-tmpl/prog/famfamfam/silk/hourglass_go.png and /dev/null differ
diff --git a/koha-tmpl/opac-tmpl/prog/famfamfam/silk/hourglass_link.png b/koha-tmpl/opac-tmpl/prog/famfamfam/silk/hourglass_link.png
deleted file mode 100644 (file)
index ecc59b0..0000000
Binary files a/koha-tmpl/opac-tmpl/prog/famfamfam/silk/hourglass_link.png and /dev/null differ
diff --git a/koha-tmpl/opac-tmpl/prog/famfamfam/silk/house.png b/koha-tmpl/opac-tmpl/prog/famfamfam/silk/house.png
deleted file mode 100644 (file)
index fed6221..0000000
Binary files a/koha-tmpl/opac-tmpl/prog/famfamfam/silk/house.png and /dev/null differ
diff --git a/koha-tmpl/opac-tmpl/prog/famfamfam/silk/house_go.png b/koha-tmpl/opac-tmpl/prog/famfamfam/silk/house_go.png
deleted file mode 100644 (file)
index 5457dbd..0000000
Binary files a/koha-tmpl/opac-tmpl/prog/famfamfam/silk/house_go.png and /dev/null differ
diff --git a/koha-tmpl/opac-tmpl/prog/famfamfam/silk/house_link.png b/koha-tmpl/opac-tmpl/prog/famfamfam/silk/house_link.png
deleted file mode 100644 (file)
index be2c271..0000000
Binary files a/koha-tmpl/opac-tmpl/prog/famfamfam/silk/house_link.png and /dev/null differ
diff --git a/koha-tmpl/opac-tmpl/prog/famfamfam/silk/html.png b/koha-tmpl/opac-tmpl/prog/famfamfam/silk/html.png
deleted file mode 100644 (file)
index 55d1072..0000000
Binary files a/koha-tmpl/opac-tmpl/prog/famfamfam/silk/html.png and /dev/null differ
diff --git a/koha-tmpl/opac-tmpl/prog/famfamfam/silk/html_add.png b/koha-tmpl/opac-tmpl/prog/famfamfam/silk/html_add.png
deleted file mode 100644 (file)
index f1c08b7..0000000
Binary files a/koha-tmpl/opac-tmpl/prog/famfamfam/silk/html_add.png and /dev/null differ
diff --git a/koha-tmpl/opac-tmpl/prog/famfamfam/silk/html_delete.png b/koha-tmpl/opac-tmpl/prog/famfamfam/silk/html_delete.png
deleted file mode 100644 (file)
index 1bd2848..0000000
Binary files a/koha-tmpl/opac-tmpl/prog/famfamfam/silk/html_delete.png and /dev/null differ
diff --git a/koha-tmpl/opac-tmpl/prog/famfamfam/silk/html_go.png b/koha-tmpl/opac-tmpl/prog/famfamfam/silk/html_go.png
deleted file mode 100644 (file)
index a95cede..0000000
Binary files a/koha-tmpl/opac-tmpl/prog/famfamfam/silk/html_go.png and /dev/null differ
diff --git a/koha-tmpl/opac-tmpl/prog/famfamfam/silk/html_valid.png b/koha-tmpl/opac-tmpl/prog/famfamfam/silk/html_valid.png
deleted file mode 100644 (file)
index 71cec92..0000000
Binary files a/koha-tmpl/opac-tmpl/prog/famfamfam/silk/html_valid.png and /dev/null differ
diff --git a/koha-tmpl/opac-tmpl/prog/famfamfam/silk/image.png b/koha-tmpl/opac-tmpl/prog/famfamfam/silk/image.png
deleted file mode 100644 (file)
index fc3c393..0000000
Binary files a/koha-tmpl/opac-tmpl/prog/famfamfam/silk/image.png and /dev/null differ
diff --git a/koha-tmpl/opac-tmpl/prog/famfamfam/silk/image_add.png b/koha-tmpl/opac-tmpl/prog/famfamfam/silk/image_add.png
deleted file mode 100644 (file)
index fc5d613..0000000
Binary files a/koha-tmpl/opac-tmpl/prog/famfamfam/silk/image_add.png and /dev/null differ
diff --git a/koha-tmpl/opac-tmpl/prog/famfamfam/silk/image_delete.png b/koha-tmpl/opac-tmpl/prog/famfamfam/silk/image_delete.png
deleted file mode 100644 (file)
index c260e1d..0000000
Binary files a/koha-tmpl/opac-tmpl/prog/famfamfam/silk/image_delete.png and /dev/null differ
diff --git a/koha-tmpl/opac-tmpl/prog/famfamfam/silk/image_edit.png b/koha-tmpl/opac-tmpl/prog/famfamfam/silk/image_edit.png
deleted file mode 100644 (file)
index 0aa4cc6..0000000
Binary files a/koha-tmpl/opac-tmpl/prog/famfamfam/silk/image_edit.png and /dev/null differ
diff --git a/koha-tmpl/opac-tmpl/prog/famfamfam/silk/image_link.png b/koha-tmpl/opac-tmpl/prog/famfamfam/silk/image_link.png
deleted file mode 100644 (file)
index 4bdb354..0000000
Binary files a/koha-tmpl/opac-tmpl/prog/famfamfam/silk/image_link.png and /dev/null differ
diff --git a/koha-tmpl/opac-tmpl/prog/famfamfam/silk/images.png b/koha-tmpl/opac-tmpl/prog/famfamfam/silk/images.png
deleted file mode 100644 (file)
index 184860d..0000000
Binary files a/koha-tmpl/opac-tmpl/prog/famfamfam/silk/images.png and /dev/null differ
diff --git a/koha-tmpl/opac-tmpl/prog/famfamfam/silk/information.png b/koha-tmpl/opac-tmpl/prog/famfamfam/silk/information.png
deleted file mode 100644 (file)
index 12cd1ae..0000000
Binary files a/koha-tmpl/opac-tmpl/prog/famfamfam/silk/information.png and /dev/null differ
diff --git a/koha-tmpl/opac-tmpl/prog/famfamfam/silk/ipod.png b/koha-tmpl/opac-tmpl/prog/famfamfam/silk/ipod.png
deleted file mode 100644 (file)
index 3f768da..0000000
Binary files a/koha-tmpl/opac-tmpl/prog/famfamfam/silk/ipod.png and /dev/null differ
diff --git a/koha-tmpl/opac-tmpl/prog/famfamfam/silk/ipod_cast.png b/koha-tmpl/opac-tmpl/prog/famfamfam/silk/ipod_cast.png
deleted file mode 100644 (file)
index 6f6d340..0000000
Binary files a/koha-tmpl/opac-tmpl/prog/famfamfam/silk/ipod_cast.png and /dev/null differ
diff --git a/koha-tmpl/opac-tmpl/prog/famfamfam/silk/ipod_cast_add.png b/koha-tmpl/opac-tmpl/prog/famfamfam/silk/ipod_cast_add.png
deleted file mode 100644 (file)
index c3257f5..0000000
Binary files a/koha-tmpl/opac-tmpl/prog/famfamfam/silk/ipod_cast_add.png and /dev/null differ
diff --git a/koha-tmpl/opac-tmpl/prog/famfamfam/silk/ipod_cast_delete.png b/koha-tmpl/opac-tmpl/prog/famfamfam/silk/ipod_cast_delete.png
deleted file mode 100644 (file)
index 377ab69..0000000
Binary files a/koha-tmpl/opac-tmpl/prog/famfamfam/silk/ipod_cast_delete.png and /dev/null differ
diff --git a/koha-tmpl/opac-tmpl/prog/famfamfam/silk/ipod_sound.png b/koha-tmpl/opac-tmpl/prog/famfamfam/silk/ipod_sound.png
deleted file mode 100644 (file)
index fef6e8b..0000000
Binary files a/koha-tmpl/opac-tmpl/prog/famfamfam/silk/ipod_sound.png and /dev/null differ
diff --git a/koha-tmpl/opac-tmpl/prog/famfamfam/silk/joystick.png b/koha-tmpl/opac-tmpl/prog/famfamfam/silk/joystick.png
deleted file mode 100644 (file)
index 62168f5..0000000
Binary files a/koha-tmpl/opac-tmpl/prog/famfamfam/silk/joystick.png and /dev/null differ
diff --git a/koha-tmpl/opac-tmpl/prog/famfamfam/silk/joystick_add.png b/koha-tmpl/opac-tmpl/prog/famfamfam/silk/joystick_add.png
deleted file mode 100644 (file)
index 77e7107..0000000
Binary files a/koha-tmpl/opac-tmpl/prog/famfamfam/silk/joystick_add.png and /dev/null differ
diff --git a/koha-tmpl/opac-tmpl/prog/famfamfam/silk/joystick_delete.png b/koha-tmpl/opac-tmpl/prog/famfamfam/silk/joystick_delete.png
deleted file mode 100644 (file)
index 5d44b59..0000000
Binary files a/koha-tmpl/opac-tmpl/prog/famfamfam/silk/joystick_delete.png and /dev/null differ
diff --git a/koha-tmpl/opac-tmpl/prog/famfamfam/silk/joystick_error.png b/koha-tmpl/opac-tmpl/prog/famfamfam/silk/joystick_error.png
deleted file mode 100644 (file)
index b32149e..0000000
Binary files a/koha-tmpl/opac-tmpl/prog/famfamfam/silk/joystick_error.png and /dev/null differ
diff --git a/koha-tmpl/opac-tmpl/prog/famfamfam/silk/key.png b/koha-tmpl/opac-tmpl/prog/famfamfam/silk/key.png
deleted file mode 100644 (file)
index 4ec1a92..0000000
Binary files a/koha-tmpl/opac-tmpl/prog/famfamfam/silk/key.png and /dev/null differ
diff --git a/koha-tmpl/opac-tmpl/prog/famfamfam/silk/key_add.png b/koha-tmpl/opac-tmpl/prog/famfamfam/silk/key_add.png
deleted file mode 100644 (file)
index d407403..0000000
Binary files a/koha-tmpl/opac-tmpl/prog/famfamfam/silk/key_add.png and /dev/null differ
diff --git a/koha-tmpl/opac-tmpl/prog/famfamfam/silk/key_delete.png b/koha-tmpl/opac-tmpl/prog/famfamfam/silk/key_delete.png
deleted file mode 100644 (file)
index 00dec80..0000000
Binary files a/koha-tmpl/opac-tmpl/prog/famfamfam/silk/key_delete.png and /dev/null differ
diff --git a/koha-tmpl/opac-tmpl/prog/famfamfam/silk/key_go.png b/koha-tmpl/opac-tmpl/prog/famfamfam/silk/key_go.png
deleted file mode 100644 (file)
index 30b0dc3..0000000
Binary files a/koha-tmpl/opac-tmpl/prog/famfamfam/silk/key_go.png and /dev/null differ
diff --git a/koha-tmpl/opac-tmpl/prog/famfamfam/silk/keyboard.png b/koha-tmpl/opac-tmpl/prog/famfamfam/silk/keyboard.png
deleted file mode 100644 (file)
index 898d402..0000000
Binary files a/koha-tmpl/opac-tmpl/prog/famfamfam/silk/keyboard.png and /dev/null differ
diff --git a/koha-tmpl/opac-tmpl/prog/famfamfam/silk/keyboard_add.png b/koha-tmpl/opac-tmpl/prog/famfamfam/silk/keyboard_add.png
deleted file mode 100644 (file)
index 26938dd..0000000
Binary files a/koha-tmpl/opac-tmpl/prog/famfamfam/silk/keyboard_add.png and /dev/null differ
diff --git a/koha-tmpl/opac-tmpl/prog/famfamfam/silk/keyboard_delete.png b/koha-tmpl/opac-tmpl/prog/famfamfam/silk/keyboard_delete.png
deleted file mode 100644 (file)
index 1786ed5..0000000
Binary files a/koha-tmpl/opac-tmpl/prog/famfamfam/silk/keyboard_delete.png and /dev/null differ
diff --git a/koha-tmpl/opac-tmpl/prog/famfamfam/silk/keyboard_magnify.png b/koha-tmpl/opac-tmpl/prog/famfamfam/silk/keyboard_magnify.png
deleted file mode 100644 (file)
index 928fc17..0000000
Binary files a/koha-tmpl/opac-tmpl/prog/famfamfam/silk/keyboard_magnify.png and /dev/null differ
diff --git a/koha-tmpl/opac-tmpl/prog/famfamfam/silk/layers.png b/koha-tmpl/opac-tmpl/prog/famfamfam/silk/layers.png
deleted file mode 100644 (file)
index 00818f6..0000000
Binary files a/koha-tmpl/opac-tmpl/prog/famfamfam/silk/layers.png and /dev/null differ
diff --git a/koha-tmpl/opac-tmpl/prog/famfamfam/silk/layout.png b/koha-tmpl/opac-tmpl/prog/famfamfam/silk/layout.png
deleted file mode 100644 (file)
index ea086b0..0000000
Binary files a/koha-tmpl/opac-tmpl/prog/famfamfam/silk/layout.png and /dev/null differ
diff --git a/koha-tmpl/opac-tmpl/prog/famfamfam/silk/layout_add.png b/koha-tmpl/opac-tmpl/prog/famfamfam/silk/layout_add.png
deleted file mode 100644 (file)
index 6203722..0000000
Binary files a/koha-tmpl/opac-tmpl/prog/famfamfam/silk/layout_add.png and /dev/null differ
diff --git a/koha-tmpl/opac-tmpl/prog/famfamfam/silk/layout_content.png b/koha-tmpl/opac-tmpl/prog/famfamfam/silk/layout_content.png
deleted file mode 100644 (file)
index b4aaad9..0000000
Binary files a/koha-tmpl/opac-tmpl/prog/famfamfam/silk/layout_content.png and /dev/null differ
diff --git a/koha-tmpl/opac-tmpl/prog/famfamfam/silk/layout_delete.png b/koha-tmpl/opac-tmpl/prog/famfamfam/silk/layout_delete.png
deleted file mode 100644 (file)
index 4bd45f1..0000000
Binary files a/koha-tmpl/opac-tmpl/prog/famfamfam/silk/layout_delete.png and /dev/null differ
diff --git a/koha-tmpl/opac-tmpl/prog/famfamfam/silk/layout_edit.png b/koha-tmpl/opac-tmpl/prog/famfamfam/silk/layout_edit.png
deleted file mode 100644 (file)
index ab3100b..0000000
Binary files a/koha-tmpl/opac-tmpl/prog/famfamfam/silk/layout_edit.png and /dev/null differ
diff --git a/koha-tmpl/opac-tmpl/prog/famfamfam/silk/layout_error.png b/koha-tmpl/opac-tmpl/prog/famfamfam/silk/layout_error.png
deleted file mode 100644 (file)
index 5b5acea..0000000
Binary files a/koha-tmpl/opac-tmpl/prog/famfamfam/silk/layout_error.png and /dev/null differ
diff --git a/koha-tmpl/opac-tmpl/prog/famfamfam/silk/layout_header.png b/koha-tmpl/opac-tmpl/prog/famfamfam/silk/layout_header.png
deleted file mode 100644 (file)
index c6ea7f2..0000000
Binary files a/koha-tmpl/opac-tmpl/prog/famfamfam/silk/layout_header.png and /dev/null differ
diff --git a/koha-tmpl/opac-tmpl/prog/famfamfam/silk/layout_link.png b/koha-tmpl/opac-tmpl/prog/famfamfam/silk/layout_link.png
deleted file mode 100644 (file)
index 3445d42..0000000
Binary files a/koha-tmpl/opac-tmpl/prog/famfamfam/silk/layout_link.png and /dev/null differ
diff --git a/koha-tmpl/opac-tmpl/prog/famfamfam/silk/layout_sidebar.png b/koha-tmpl/opac-tmpl/prog/famfamfam/silk/layout_sidebar.png
deleted file mode 100644 (file)
index 3be27bb..0000000
Binary files a/koha-tmpl/opac-tmpl/prog/famfamfam/silk/layout_sidebar.png and /dev/null differ
diff --git a/koha-tmpl/opac-tmpl/prog/famfamfam/silk/lightbulb.png b/koha-tmpl/opac-tmpl/prog/famfamfam/silk/lightbulb.png
deleted file mode 100644 (file)
index d22fde8..0000000
Binary files a/koha-tmpl/opac-tmpl/prog/famfamfam/silk/lightbulb.png and /dev/null differ
diff --git a/koha-tmpl/opac-tmpl/prog/famfamfam/silk/lightbulb_add.png b/koha-tmpl/opac-tmpl/prog/famfamfam/silk/lightbulb_add.png
deleted file mode 100644 (file)
index 0dd848b..0000000
Binary files a/koha-tmpl/opac-tmpl/prog/famfamfam/silk/lightbulb_add.png and /dev/null differ
diff --git a/koha-tmpl/opac-tmpl/prog/famfamfam/silk/lightbulb_delete.png b/koha-tmpl/opac-tmpl/prog/famfamfam/silk/lightbulb_delete.png
deleted file mode 100644 (file)
index f4781da..0000000
Binary files a/koha-tmpl/opac-tmpl/prog/famfamfam/silk/lightbulb_delete.png and /dev/null differ
diff --git a/koha-tmpl/opac-tmpl/prog/famfamfam/silk/lightbulb_off.png b/koha-tmpl/opac-tmpl/prog/famfamfam/silk/lightbulb_off.png
deleted file mode 100644 (file)
index e95b8c5..0000000
Binary files a/koha-tmpl/opac-tmpl/prog/famfamfam/silk/lightbulb_off.png and /dev/null differ
diff --git a/koha-tmpl/opac-tmpl/prog/famfamfam/silk/lightning.png b/koha-tmpl/opac-tmpl/prog/famfamfam/silk/lightning.png
deleted file mode 100644 (file)
index 9680afd..0000000
Binary files a/koha-tmpl/opac-tmpl/prog/famfamfam/silk/lightning.png and /dev/null differ
diff --git a/koha-tmpl/opac-tmpl/prog/famfamfam/silk/lightning_add.png b/koha-tmpl/opac-tmpl/prog/famfamfam/silk/lightning_add.png
deleted file mode 100644 (file)
index dac3c90..0000000
Binary files a/koha-tmpl/opac-tmpl/prog/famfamfam/silk/lightning_add.png and /dev/null differ
diff --git a/koha-tmpl/opac-tmpl/prog/famfamfam/silk/lightning_delete.png b/koha-tmpl/opac-tmpl/prog/famfamfam/silk/lightning_delete.png
deleted file mode 100644 (file)
index dfe2770..0000000
Binary files a/koha-tmpl/opac-tmpl/prog/famfamfam/silk/lightning_delete.png and /dev/null differ
diff --git a/koha-tmpl/opac-tmpl/prog/famfamfam/silk/lightning_go.png b/koha-tmpl/opac-tmpl/prog/famfamfam/silk/lightning_go.png
deleted file mode 100644 (file)
index 29039e6..0000000
Binary files a/koha-tmpl/opac-tmpl/prog/famfamfam/silk/lightning_go.png and /dev/null differ
diff --git a/koha-tmpl/opac-tmpl/prog/famfamfam/silk/link.png b/koha-tmpl/opac-tmpl/prog/famfamfam/silk/link.png
deleted file mode 100644 (file)
index 25eacb7..0000000
Binary files a/koha-tmpl/opac-tmpl/prog/famfamfam/silk/link.png and /dev/null differ
diff --git a/koha-tmpl/opac-tmpl/prog/famfamfam/silk/link_add.png b/koha-tmpl/opac-tmpl/prog/famfamfam/silk/link_add.png
deleted file mode 100644 (file)
index 00be352..0000000
Binary files a/koha-tmpl/opac-tmpl/prog/famfamfam/silk/link_add.png and /dev/null differ
diff --git a/koha-tmpl/opac-tmpl/prog/famfamfam/silk/link_break.png b/koha-tmpl/opac-tmpl/prog/famfamfam/silk/link_break.png
deleted file mode 100644 (file)
index 5235753..0000000
Binary files a/koha-tmpl/opac-tmpl/prog/famfamfam/silk/link_break.png and /dev/null differ
diff --git a/koha-tmpl/opac-tmpl/prog/famfamfam/silk/link_delete.png b/koha-tmpl/opac-tmpl/prog/famfamfam/silk/link_delete.png
deleted file mode 100644 (file)
index f66e297..0000000
Binary files a/koha-tmpl/opac-tmpl/prog/famfamfam/silk/link_delete.png and /dev/null differ
diff --git a/koha-tmpl/opac-tmpl/prog/famfamfam/silk/link_edit.png b/koha-tmpl/opac-tmpl/prog/famfamfam/silk/link_edit.png
deleted file mode 100644 (file)
index 5b3aed0..0000000
Binary files a/koha-tmpl/opac-tmpl/prog/famfamfam/silk/link_edit.png and /dev/null differ
diff --git a/koha-tmpl/opac-tmpl/prog/famfamfam/silk/link_error.png b/koha-tmpl/opac-tmpl/prog/famfamfam/silk/link_error.png
deleted file mode 100644 (file)
index ab694b1..0000000
Binary files a/koha-tmpl/opac-tmpl/prog/famfamfam/silk/link_error.png and /dev/null differ
diff --git a/koha-tmpl/opac-tmpl/prog/famfamfam/silk/link_go.png b/koha-tmpl/opac-tmpl/prog/famfamfam/silk/link_go.png
deleted file mode 100644 (file)
index ae8cae8..0000000
Binary files a/koha-tmpl/opac-tmpl/prog/famfamfam/silk/link_go.png and /dev/null differ
diff --git a/koha-tmpl/opac-tmpl/prog/famfamfam/silk/lock.png b/koha-tmpl/opac-tmpl/prog/famfamfam/silk/lock.png
deleted file mode 100644 (file)
index 2ebc4f6..0000000
Binary files a/koha-tmpl/opac-tmpl/prog/famfamfam/silk/lock.png and /dev/null differ
diff --git a/koha-tmpl/opac-tmpl/prog/famfamfam/silk/lock_add.png b/koha-tmpl/opac-tmpl/prog/famfamfam/silk/lock_add.png
deleted file mode 100644 (file)
index a7b566b..0000000
Binary files a/koha-tmpl/opac-tmpl/prog/famfamfam/silk/lock_add.png and /dev/null differ
diff --git a/koha-tmpl/opac-tmpl/prog/famfamfam/silk/lock_break.png b/koha-tmpl/opac-tmpl/prog/famfamfam/silk/lock_break.png
deleted file mode 100644 (file)
index 13578ab..0000000
Binary files a/koha-tmpl/opac-tmpl/prog/famfamfam/silk/lock_break.png and /dev/null differ
diff --git a/koha-tmpl/opac-tmpl/prog/famfamfam/silk/lock_delete.png b/koha-tmpl/opac-tmpl/prog/famfamfam/silk/lock_delete.png
deleted file mode 100644 (file)
index ecb50a9..0000000
Binary files a/koha-tmpl/opac-tmpl/prog/famfamfam/silk/lock_delete.png and /dev/null differ
diff --git a/koha-tmpl/opac-tmpl/prog/famfamfam/silk/lock_edit.png b/koha-tmpl/opac-tmpl/prog/famfamfam/silk/lock_edit.png
deleted file mode 100644 (file)
index 116aa5b..0000000
Binary files a/koha-tmpl/opac-tmpl/prog/famfamfam/silk/lock_edit.png and /dev/null differ
diff --git a/koha-tmpl/opac-tmpl/prog/famfamfam/silk/lock_go.png b/koha-tmpl/opac-tmpl/prog/famfamfam/silk/lock_go.png
deleted file mode 100644 (file)
index 8c7c89b..0000000
Binary files a/koha-tmpl/opac-tmpl/prog/famfamfam/silk/lock_go.png and /dev/null differ
diff --git a/koha-tmpl/opac-tmpl/prog/famfamfam/silk/lock_open.png b/koha-tmpl/opac-tmpl/prog/famfamfam/silk/lock_open.png
deleted file mode 100644 (file)
index a471765..0000000
Binary files a/koha-tmpl/opac-tmpl/prog/famfamfam/silk/lock_open.png and /dev/null differ
diff --git a/koha-tmpl/opac-tmpl/prog/famfamfam/silk/lorry.png b/koha-tmpl/opac-tmpl/prog/famfamfam/silk/lorry.png
deleted file mode 100644 (file)
index 8f95f5a..0000000
Binary files a/koha-tmpl/opac-tmpl/prog/famfamfam/silk/lorry.png and /dev/null differ
diff --git a/koha-tmpl/opac-tmpl/prog/famfamfam/silk/lorry_add.png b/koha-tmpl/opac-tmpl/prog/famfamfam/silk/lorry_add.png
deleted file mode 100644 (file)
index a2c5124..0000000
Binary files a/koha-tmpl/opac-tmpl/prog/famfamfam/silk/lorry_add.png and /dev/null differ
diff --git a/koha-tmpl/opac-tmpl/prog/famfamfam/silk/lorry_delete.png b/koha-tmpl/opac-tmpl/prog/famfamfam/silk/lorry_delete.png
deleted file mode 100644 (file)
index 66217f5..0000000
Binary files a/koha-tmpl/opac-tmpl/prog/famfamfam/silk/lorry_delete.png and /dev/null differ
diff --git a/koha-tmpl/opac-tmpl/prog/famfamfam/silk/lorry_error.png b/koha-tmpl/opac-tmpl/prog/famfamfam/silk/lorry_error.png
deleted file mode 100644 (file)
index 3619ead..0000000
Binary files a/koha-tmpl/opac-tmpl/prog/famfamfam/silk/lorry_error.png and /dev/null differ
diff --git a/koha-tmpl/opac-tmpl/prog/famfamfam/silk/lorry_flatbed.png b/koha-tmpl/opac-tmpl/prog/famfamfam/silk/lorry_flatbed.png
deleted file mode 100644 (file)
index 8b20f55..0000000
Binary files a/koha-tmpl/opac-tmpl/prog/famfamfam/silk/lorry_flatbed.png and /dev/null differ
diff --git a/koha-tmpl/opac-tmpl/prog/famfamfam/silk/lorry_go.png b/koha-tmpl/opac-tmpl/prog/famfamfam/silk/lorry_go.png
deleted file mode 100644 (file)
index 1c296a6..0000000
Binary files a/koha-tmpl/opac-tmpl/prog/famfamfam/silk/lorry_go.png and /dev/null differ
diff --git a/koha-tmpl/opac-tmpl/prog/famfamfam/silk/lorry_link.png b/koha-tmpl/opac-tmpl/prog/famfamfam/silk/lorry_link.png
deleted file mode 100644 (file)
index 5e6663e..0000000
Binary files a/koha-tmpl/opac-tmpl/prog/famfamfam/silk/lorry_link.png and /dev/null differ
diff --git a/koha-tmpl/opac-tmpl/prog/famfamfam/silk/magifier_zoom_out.png b/koha-tmpl/opac-tmpl/prog/famfamfam/silk/magifier_zoom_out.png
deleted file mode 100644 (file)
index 81f2819..0000000
Binary files a/koha-tmpl/opac-tmpl/prog/famfamfam/silk/magifier_zoom_out.png and /dev/null differ
diff --git a/koha-tmpl/opac-tmpl/prog/famfamfam/silk/magnifier.png b/koha-tmpl/opac-tmpl/prog/famfamfam/silk/magnifier.png
deleted file mode 100644 (file)
index cf3d97f..0000000
Binary files a/koha-tmpl/opac-tmpl/prog/famfamfam/silk/magnifier.png and /dev/null differ
diff --git a/koha-tmpl/opac-tmpl/prog/famfamfam/silk/magnifier_zoom_in.png b/koha-tmpl/opac-tmpl/prog/famfamfam/silk/magnifier_zoom_in.png
deleted file mode 100644 (file)
index af4fe07..0000000
Binary files a/koha-tmpl/opac-tmpl/prog/famfamfam/silk/magnifier_zoom_in.png and /dev/null differ
diff --git a/koha-tmpl/opac-tmpl/prog/famfamfam/silk/male.png b/koha-tmpl/opac-tmpl/prog/famfamfam/silk/male.png
deleted file mode 100644 (file)
index 25d6ea9..0000000
Binary files a/koha-tmpl/opac-tmpl/prog/famfamfam/silk/male.png and /dev/null differ
diff --git a/koha-tmpl/opac-tmpl/prog/famfamfam/silk/map.png b/koha-tmpl/opac-tmpl/prog/famfamfam/silk/map.png
deleted file mode 100644 (file)
index f90ef25..0000000
Binary files a/koha-tmpl/opac-tmpl/prog/famfamfam/silk/map.png and /dev/null differ
diff --git a/koha-tmpl/opac-tmpl/prog/famfamfam/silk/map_add.png b/koha-tmpl/opac-tmpl/prog/famfamfam/silk/map_add.png
deleted file mode 100644 (file)
index 2b72da0..0000000
Binary files a/koha-tmpl/opac-tmpl/prog/famfamfam/silk/map_add.png and /dev/null differ
diff --git a/koha-tmpl/opac-tmpl/prog/famfamfam/silk/map_delete.png b/koha-tmpl/opac-tmpl/prog/famfamfam/silk/map_delete.png
deleted file mode 100644 (file)
index e74402f..0000000
Binary files a/koha-tmpl/opac-tmpl/prog/famfamfam/silk/map_delete.png and /dev/null differ
diff --git a/koha-tmpl/opac-tmpl/prog/famfamfam/silk/map_edit.png b/koha-tmpl/opac-tmpl/prog/famfamfam/silk/map_edit.png
deleted file mode 100644 (file)
index 93d4d7e..0000000
Binary files a/koha-tmpl/opac-tmpl/prog/famfamfam/silk/map_edit.png and /dev/null differ
diff --git a/koha-tmpl/opac-tmpl/prog/famfamfam/silk/map_go.png b/koha-tmpl/opac-tmpl/prog/famfamfam/silk/map_go.png
deleted file mode 100644 (file)
index 11eab26..0000000
Binary files a/koha-tmpl/opac-tmpl/prog/famfamfam/silk/map_go.png and /dev/null differ
diff --git a/koha-tmpl/opac-tmpl/prog/famfamfam/silk/map_magnify.png b/koha-tmpl/opac-tmpl/prog/famfamfam/silk/map_magnify.png
deleted file mode 100644 (file)
index 7184c9d..0000000
Binary files a/koha-tmpl/opac-tmpl/prog/famfamfam/silk/map_magnify.png and /dev/null differ
diff --git a/koha-tmpl/opac-tmpl/prog/famfamfam/silk/medal_bronze_1.png b/koha-tmpl/opac-tmpl/prog/famfamfam/silk/medal_bronze_1.png
deleted file mode 100644 (file)
index 5f8a6d6..0000000
Binary files a/koha-tmpl/opac-tmpl/prog/famfamfam/silk/medal_bronze_1.png and /dev/null differ
diff --git a/koha-tmpl/opac-tmpl/prog/famfamfam/silk/medal_bronze_2.png b/koha-tmpl/opac-tmpl/prog/famfamfam/silk/medal_bronze_2.png
deleted file mode 100644 (file)
index 623d68c..0000000
Binary files a/koha-tmpl/opac-tmpl/prog/famfamfam/silk/medal_bronze_2.png and /dev/null differ
diff --git a/koha-tmpl/opac-tmpl/prog/famfamfam/silk/medal_bronze_3.png b/koha-tmpl/opac-tmpl/prog/famfamfam/silk/medal_bronze_3.png
deleted file mode 100644 (file)
index ed3f43e..0000000
Binary files a/koha-tmpl/opac-tmpl/prog/famfamfam/silk/medal_bronze_3.png and /dev/null differ
diff --git a/koha-tmpl/opac-tmpl/prog/famfamfam/silk/medal_bronze_add.png b/koha-tmpl/opac-tmpl/prog/famfamfam/silk/medal_bronze_add.png
deleted file mode 100644 (file)
index 8487b2c..0000000
Binary files a/koha-tmpl/opac-tmpl/prog/famfamfam/silk/medal_bronze_add.png and /dev/null differ
diff --git a/koha-tmpl/opac-tmpl/prog/famfamfam/silk/medal_bronze_delete.png b/koha-tmpl/opac-tmpl/prog/famfamfam/silk/medal_bronze_delete.png
deleted file mode 100644 (file)
index d32aed7..0000000
Binary files a/koha-tmpl/opac-tmpl/prog/famfamfam/silk/medal_bronze_delete.png and /dev/null differ
diff --git a/koha-tmpl/opac-tmpl/prog/famfamfam/silk/medal_gold_1.png b/koha-tmpl/opac-tmpl/prog/famfamfam/silk/medal_gold_1.png
deleted file mode 100644 (file)
index 87584dc..0000000
Binary files a/koha-tmpl/opac-tmpl/prog/famfamfam/silk/medal_gold_1.png and /dev/null differ
diff --git a/koha-tmpl/opac-tmpl/prog/famfamfam/silk/medal_gold_2.png b/koha-tmpl/opac-tmpl/prog/famfamfam/silk/medal_gold_2.png
deleted file mode 100644 (file)
index fa3a15d..0000000
Binary files a/koha-tmpl/opac-tmpl/prog/famfamfam/silk/medal_gold_2.png and /dev/null differ
diff --git a/koha-tmpl/opac-tmpl/prog/famfamfam/silk/medal_gold_3.png b/koha-tmpl/opac-tmpl/prog/famfamfam/silk/medal_gold_3.png
deleted file mode 100644 (file)
index ef1b08b..0000000
Binary files a/koha-tmpl/opac-tmpl/prog/famfamfam/silk/medal_gold_3.png and /dev/null differ
diff --git a/koha-tmpl/opac-tmpl/prog/famfamfam/silk/medal_gold_add.png b/koha-tmpl/opac-tmpl/prog/famfamfam/silk/medal_gold_add.png
deleted file mode 100644 (file)
index dcade0d..0000000
Binary files a/koha-tmpl/opac-tmpl/prog/famfamfam/silk/medal_gold_add.png and /dev/null differ
diff --git a/koha-tmpl/opac-tmpl/prog/famfamfam/silk/medal_gold_delete.png b/koha-tmpl/opac-tmpl/prog/famfamfam/silk/medal_gold_delete.png
deleted file mode 100644 (file)
index 84b06d5..0000000
Binary files a/koha-tmpl/opac-tmpl/prog/famfamfam/silk/medal_gold_delete.png and /dev/null differ
diff --git a/koha-tmpl/opac-tmpl/prog/famfamfam/silk/medal_silver_1.png b/koha-tmpl/opac-tmpl/prog/famfamfam/silk/medal_silver_1.png
deleted file mode 100644 (file)
index 75a64da..0000000
Binary files a/koha-tmpl/opac-tmpl/prog/famfamfam/silk/medal_silver_1.png and /dev/null differ
diff --git a/koha-tmpl/opac-tmpl/prog/famfamfam/silk/medal_silver_2.png b/koha-tmpl/opac-tmpl/prog/famfamfam/silk/medal_silver_2.png
deleted file mode 100644 (file)
index 2e0fe75..0000000
Binary files a/koha-tmpl/opac-tmpl/prog/famfamfam/silk/medal_silver_2.png and /dev/null differ
diff --git a/koha-tmpl/opac-tmpl/prog/famfamfam/silk/medal_silver_3.png b/koha-tmpl/opac-tmpl/prog/famfamfam/silk/medal_silver_3.png
deleted file mode 100644 (file)
index e385b54..0000000
Binary files a/koha-tmpl/opac-tmpl/prog/famfamfam/silk/medal_silver_3.png and /dev/null differ
diff --git a/koha-tmpl/opac-tmpl/prog/famfamfam/silk/medal_silver_add.png b/koha-tmpl/opac-tmpl/prog/famfamfam/silk/medal_silver_add.png
deleted file mode 100644 (file)
index b0633fa..0000000
Binary files a/koha-tmpl/opac-tmpl/prog/famfamfam/silk/medal_silver_add.png and /dev/null differ
diff --git a/koha-tmpl/opac-tmpl/prog/famfamfam/silk/medal_silver_delete.png b/koha-tmpl/opac-tmpl/prog/famfamfam/silk/medal_silver_delete.png
deleted file mode 100644 (file)
index 06cab46..0000000
Binary files a/koha-tmpl/opac-tmpl/prog/famfamfam/silk/medal_silver_delete.png and /dev/null differ
diff --git a/koha-tmpl/opac-tmpl/prog/famfamfam/silk/money.png b/koha-tmpl/opac-tmpl/prog/famfamfam/silk/money.png
deleted file mode 100644 (file)
index 42c52d0..0000000
Binary files a/koha-tmpl/opac-tmpl/prog/famfamfam/silk/money.png and /dev/null differ
diff --git a/koha-tmpl/opac-tmpl/prog/famfamfam/silk/money_add.png b/koha-tmpl/opac-tmpl/prog/famfamfam/silk/money_add.png
deleted file mode 100644 (file)
index 588fa9d..0000000
Binary files a/koha-tmpl/opac-tmpl/prog/famfamfam/silk/money_add.png and /dev/null differ
diff --git a/koha-tmpl/opac-tmpl/prog/famfamfam/silk/money_delete.png b/koha-tmpl/opac-tmpl/prog/famfamfam/silk/money_delete.png
deleted file mode 100644 (file)
index eae2c52..0000000
Binary files a/koha-tmpl/opac-tmpl/prog/famfamfam/silk/money_delete.png and /dev/null differ
diff --git a/koha-tmpl/opac-tmpl/prog/famfamfam/silk/money_dollar.png b/koha-tmpl/opac-tmpl/prog/famfamfam/silk/money_dollar.png
deleted file mode 100644 (file)
index 59af163..0000000
Binary files a/koha-tmpl/opac-tmpl/prog/famfamfam/silk/money_dollar.png and /dev/null differ
diff --git a/koha-tmpl/opac-tmpl/prog/famfamfam/silk/money_euro.png b/koha-tmpl/opac-tmpl/prog/famfamfam/silk/money_euro.png
deleted file mode 100644 (file)
index b322ba9..0000000
Binary files a/koha-tmpl/opac-tmpl/prog/famfamfam/silk/money_euro.png and /dev/null differ
diff --git a/koha-tmpl/opac-tmpl/prog/famfamfam/silk/money_pound.png b/koha-tmpl/opac-tmpl/prog/famfamfam/silk/money_pound.png
deleted file mode 100644 (file)
index b711364..0000000
Binary files a/koha-tmpl/opac-tmpl/prog/famfamfam/silk/money_pound.png and /dev/null differ
diff --git a/koha-tmpl/opac-tmpl/prog/famfamfam/silk/money_yen.png b/koha-tmpl/opac-tmpl/prog/famfamfam/silk/money_yen.png
deleted file mode 100644 (file)
index 228a677..0000000
Binary files a/koha-tmpl/opac-tmpl/prog/famfamfam/silk/money_yen.png and /dev/null differ
diff --git a/koha-tmpl/opac-tmpl/prog/famfamfam/silk/monitor.png b/koha-tmpl/opac-tmpl/prog/famfamfam/silk/monitor.png
deleted file mode 100644 (file)
index d040bd0..0000000
Binary files a/koha-tmpl/opac-tmpl/prog/famfamfam/silk/monitor.png and /dev/null differ
diff --git a/koha-tmpl/opac-tmpl/prog/famfamfam/silk/monitor_add.png b/koha-tmpl/opac-tmpl/prog/famfamfam/silk/monitor_add.png
deleted file mode 100644 (file)
index a818066..0000000
Binary files a/koha-tmpl/opac-tmpl/prog/famfamfam/silk/monitor_add.png and /dev/null differ
diff --git a/koha-tmpl/opac-tmpl/prog/famfamfam/silk/monitor_delete.png b/koha-tmpl/opac-tmpl/prog/famfamfam/silk/monitor_delete.png
deleted file mode 100644 (file)
index 3733256..0000000
Binary files a/koha-tmpl/opac-tmpl/prog/famfamfam/silk/monitor_delete.png and /dev/null differ
diff --git a/koha-tmpl/opac-tmpl/prog/famfamfam/silk/monitor_edit.png b/koha-tmpl/opac-tmpl/prog/famfamfam/silk/monitor_edit.png
deleted file mode 100644 (file)
index f772c56..0000000
Binary files a/koha-tmpl/opac-tmpl/prog/famfamfam/silk/monitor_edit.png and /dev/null differ
diff --git a/koha-tmpl/opac-tmpl/prog/famfamfam/silk/monitor_error.png b/koha-tmpl/opac-tmpl/prog/famfamfam/silk/monitor_error.png
deleted file mode 100644 (file)
index 270c501..0000000
Binary files a/koha-tmpl/opac-tmpl/prog/famfamfam/silk/monitor_error.png and /dev/null differ
diff --git a/koha-tmpl/opac-tmpl/prog/famfamfam/silk/monitor_go.png b/koha-tmpl/opac-tmpl/prog/famfamfam/silk/monitor_go.png
deleted file mode 100644 (file)
index 8af3eda..0000000
Binary files a/koha-tmpl/opac-tmpl/prog/famfamfam/silk/monitor_go.png and /dev/null differ
diff --git a/koha-tmpl/opac-tmpl/prog/famfamfam/silk/monitor_lightning.png b/koha-tmpl/opac-tmpl/prog/famfamfam/silk/monitor_lightning.png
deleted file mode 100644 (file)
index 06e53a9..0000000
Binary files a/koha-tmpl/opac-tmpl/prog/famfamfam/silk/monitor_lightning.png and /dev/null differ
diff --git a/koha-tmpl/opac-tmpl/prog/famfamfam/silk/monitor_link.png b/koha-tmpl/opac-tmpl/prog/famfamfam/silk/monitor_link.png
deleted file mode 100644 (file)
index a014b02..0000000
Binary files a/koha-tmpl/opac-tmpl/prog/famfamfam/silk/monitor_link.png and /dev/null differ
diff --git a/koha-tmpl/opac-tmpl/prog/famfamfam/silk/mouse.png b/koha-tmpl/opac-tmpl/prog/famfamfam/silk/mouse.png
deleted file mode 100644 (file)
index 63a92fa..0000000
Binary files a/koha-tmpl/opac-tmpl/prog/famfamfam/silk/mouse.png and /dev/null differ
diff --git a/koha-tmpl/opac-tmpl/prog/famfamfam/silk/mouse_add.png b/koha-tmpl/opac-tmpl/prog/famfamfam/silk/mouse_add.png
deleted file mode 100644 (file)
index 65bcab5..0000000
Binary files a/koha-tmpl/opac-tmpl/prog/famfamfam/silk/mouse_add.png and /dev/null differ
diff --git a/koha-tmpl/opac-tmpl/prog/famfamfam/silk/mouse_delete.png b/koha-tmpl/opac-tmpl/prog/famfamfam/silk/mouse_delete.png
deleted file mode 100644 (file)
index 7286566..0000000
Binary files a/koha-tmpl/opac-tmpl/prog/famfamfam/silk/mouse_delete.png and /dev/null differ
diff --git a/koha-tmpl/opac-tmpl/prog/famfamfam/silk/mouse_error.png b/koha-tmpl/opac-tmpl/prog/famfamfam/silk/mouse_error.png
deleted file mode 100644 (file)
index bcc1562..0000000
Binary files a/koha-tmpl/opac-tmpl/prog/famfamfam/silk/mouse_error.png and /dev/null differ
diff --git a/koha-tmpl/opac-tmpl/prog/famfamfam/silk/music.png b/koha-tmpl/opac-tmpl/prog/famfamfam/silk/music.png
deleted file mode 100644 (file)
index a8b3ede..0000000
Binary files a/koha-tmpl/opac-tmpl/prog/famfamfam/silk/music.png and /dev/null differ
diff --git a/koha-tmpl/opac-tmpl/prog/famfamfam/silk/new.png b/koha-tmpl/opac-tmpl/prog/famfamfam/silk/new.png
deleted file mode 100644 (file)
index 6a9bf03..0000000
Binary files a/koha-tmpl/opac-tmpl/prog/famfamfam/silk/new.png and /dev/null differ
diff --git a/koha-tmpl/opac-tmpl/prog/famfamfam/silk/newspaper.png b/koha-tmpl/opac-tmpl/prog/famfamfam/silk/newspaper.png
deleted file mode 100644 (file)
index 6a2ecce..0000000
Binary files a/koha-tmpl/opac-tmpl/prog/famfamfam/silk/newspaper.png and /dev/null differ
diff --git a/koha-tmpl/opac-tmpl/prog/famfamfam/silk/newspaper_add.png b/koha-tmpl/opac-tmpl/prog/famfamfam/silk/newspaper_add.png
deleted file mode 100644 (file)
index 8140e8c..0000000
Binary files a/koha-tmpl/opac-tmpl/prog/famfamfam/silk/newspaper_add.png and /dev/null differ
diff --git a/koha-tmpl/opac-tmpl/prog/famfamfam/silk/newspaper_delete.png b/koha-tmpl/opac-tmpl/prog/famfamfam/silk/newspaper_delete.png
deleted file mode 100644 (file)
index bde96ce..0000000
Binary files a/koha-tmpl/opac-tmpl/prog/famfamfam/silk/newspaper_delete.png and /dev/null differ
diff --git a/koha-tmpl/opac-tmpl/prog/famfamfam/silk/newspaper_go.png b/koha-tmpl/opac-tmpl/prog/famfamfam/silk/newspaper_go.png
deleted file mode 100644 (file)
index fd61428..0000000
Binary files a/koha-tmpl/opac-tmpl/prog/famfamfam/silk/newspaper_go.png and /dev/null differ
diff --git a/koha-tmpl/opac-tmpl/prog/famfamfam/silk/newspaper_link.png b/koha-tmpl/opac-tmpl/prog/famfamfam/silk/newspaper_link.png
deleted file mode 100644 (file)
index 99e57cb..0000000
Binary files a/koha-tmpl/opac-tmpl/prog/famfamfam/silk/newspaper_link.png and /dev/null differ
diff --git a/koha-tmpl/opac-tmpl/prog/famfamfam/silk/note.png b/koha-tmpl/opac-tmpl/prog/famfamfam/silk/note.png
deleted file mode 100644 (file)
index 244e6ca..0000000
Binary files a/koha-tmpl/opac-tmpl/prog/famfamfam/silk/note.png and /dev/null differ
diff --git a/koha-tmpl/opac-tmpl/prog/famfamfam/silk/note_add.png b/koha-tmpl/opac-tmpl/prog/famfamfam/silk/note_add.png
deleted file mode 100644 (file)
index abdad91..0000000
Binary files a/koha-tmpl/opac-tmpl/prog/famfamfam/silk/note_add.png and /dev/null differ
diff --git a/koha-tmpl/opac-tmpl/prog/famfamfam/silk/note_delete.png b/koha-tmpl/opac-tmpl/prog/famfamfam/silk/note_delete.png
deleted file mode 100644 (file)
index 8a1f0ff..0000000
Binary files a/koha-tmpl/opac-tmpl/prog/famfamfam/silk/note_delete.png and /dev/null differ
diff --git a/koha-tmpl/opac-tmpl/prog/famfamfam/silk/note_edit.png b/koha-tmpl/opac-tmpl/prog/famfamfam/silk/note_edit.png
deleted file mode 100644 (file)
index 291bfc7..0000000
Binary files a/koha-tmpl/opac-tmpl/prog/famfamfam/silk/note_edit.png and /dev/null differ
diff --git a/koha-tmpl/opac-tmpl/prog/famfamfam/silk/note_error.png b/koha-tmpl/opac-tmpl/prog/famfamfam/silk/note_error.png
deleted file mode 100644 (file)
index 896dadf..0000000
Binary files a/koha-tmpl/opac-tmpl/prog/famfamfam/silk/note_error.png and /dev/null differ
diff --git a/koha-tmpl/opac-tmpl/prog/famfamfam/silk/note_go.png b/koha-tmpl/opac-tmpl/prog/famfamfam/silk/note_go.png
deleted file mode 100644 (file)
index 49e54fd..0000000
Binary files a/koha-tmpl/opac-tmpl/prog/famfamfam/silk/note_go.png and /dev/null differ
diff --git a/koha-tmpl/opac-tmpl/prog/famfamfam/silk/overlays.png b/koha-tmpl/opac-tmpl/prog/famfamfam/silk/overlays.png
deleted file mode 100644 (file)
index ab3100b..0000000
Binary files a/koha-tmpl/opac-tmpl/prog/famfamfam/silk/overlays.png and /dev/null differ
diff --git a/koha-tmpl/opac-tmpl/prog/famfamfam/silk/package.png b/koha-tmpl/opac-tmpl/prog/famfamfam/silk/package.png
deleted file mode 100644 (file)
index da3c2a2..0000000
Binary files a/koha-tmpl/opac-tmpl/prog/famfamfam/silk/package.png and /dev/null differ
diff --git a/koha-tmpl/opac-tmpl/prog/famfamfam/silk/package_add.png b/koha-tmpl/opac-tmpl/prog/famfamfam/silk/package_add.png
deleted file mode 100644 (file)
index 9c8a9da..0000000
Binary files a/koha-tmpl/opac-tmpl/prog/famfamfam/silk/package_add.png and /dev/null differ
diff --git a/koha-tmpl/opac-tmpl/prog/famfamfam/silk/package_delete.png b/koha-tmpl/opac-tmpl/prog/famfamfam/silk/package_delete.png
deleted file mode 100644 (file)
index 86f7fbc..0000000
Binary files a/koha-tmpl/opac-tmpl/prog/famfamfam/silk/package_delete.png and /dev/null differ
diff --git a/koha-tmpl/opac-tmpl/prog/famfamfam/silk/package_go.png b/koha-tmpl/opac-tmpl/prog/famfamfam/silk/package_go.png
deleted file mode 100644 (file)
index aace63a..0000000
Binary files a/koha-tmpl/opac-tmpl/prog/famfamfam/silk/package_go.png and /dev/null differ
diff --git a/koha-tmpl/opac-tmpl/prog/famfamfam/silk/package_green.png b/koha-tmpl/opac-tmpl/prog/famfamfam/silk/package_green.png
deleted file mode 100644 (file)
index 25b28bb..0000000
Binary files a/koha-tmpl/opac-tmpl/prog/famfamfam/silk/package_green.png and /dev/null differ
diff --git a/koha-tmpl/opac-tmpl/prog/famfamfam/silk/package_link.png b/koha-tmpl/opac-tmpl/prog/famfamfam/silk/package_link.png
deleted file mode 100644 (file)
index 48e7ab5..0000000
Binary files a/koha-tmpl/opac-tmpl/prog/famfamfam/silk/package_link.png and /dev/null differ
diff --git a/koha-tmpl/opac-tmpl/prog/famfamfam/silk/page.png b/koha-tmpl/opac-tmpl/prog/famfamfam/silk/page.png
deleted file mode 100644 (file)
index 03ddd79..0000000
Binary files a/koha-tmpl/opac-tmpl/prog/famfamfam/silk/page.png and /dev/null differ
diff --git a/koha-tmpl/opac-tmpl/prog/famfamfam/silk/page_add.png b/koha-tmpl/opac-tmpl/prog/famfamfam/silk/page_add.png
deleted file mode 100644 (file)
index d5bfa07..0000000
Binary files a/koha-tmpl/opac-tmpl/prog/famfamfam/silk/page_add.png and /dev/null differ
diff --git a/koha-tmpl/opac-tmpl/prog/famfamfam/silk/page_attach.png b/koha-tmpl/opac-tmpl/prog/famfamfam/silk/page_attach.png
deleted file mode 100644 (file)
index 89ee2da..0000000
Binary files a/koha-tmpl/opac-tmpl/prog/famfamfam/silk/page_attach.png and /dev/null differ
diff --git a/koha-tmpl/opac-tmpl/prog/famfamfam/silk/page_code.png b/koha-tmpl/opac-tmpl/prog/famfamfam/silk/page_code.png
deleted file mode 100644 (file)
index f7ea904..0000000
Binary files a/koha-tmpl/opac-tmpl/prog/famfamfam/silk/page_code.png and /dev/null differ
diff --git a/koha-tmpl/opac-tmpl/prog/famfamfam/silk/page_copy.png b/koha-tmpl/opac-tmpl/prog/famfamfam/silk/page_copy.png
deleted file mode 100644 (file)
index 195dc6d..0000000
Binary files a/koha-tmpl/opac-tmpl/prog/famfamfam/silk/page_copy.png and /dev/null differ
diff --git a/koha-tmpl/opac-tmpl/prog/famfamfam/silk/page_delete.png b/koha-tmpl/opac-tmpl/prog/famfamfam/silk/page_delete.png
deleted file mode 100644 (file)
index 3141467..0000000
Binary files a/koha-tmpl/opac-tmpl/prog/famfamfam/silk/page_delete.png and /dev/null differ
diff --git a/koha-tmpl/opac-tmpl/prog/famfamfam/silk/page_edit.png b/koha-tmpl/opac-tmpl/prog/famfamfam/silk/page_edit.png
deleted file mode 100644 (file)
index 046811e..0000000
Binary files a/koha-tmpl/opac-tmpl/prog/famfamfam/silk/page_edit.png and /dev/null differ
diff --git a/koha-tmpl/opac-tmpl/prog/famfamfam/silk/page_error.png b/koha-tmpl/opac-tmpl/prog/famfamfam/silk/page_error.png
deleted file mode 100644 (file)
index f07f449..0000000
Binary files a/koha-tmpl/opac-tmpl/prog/famfamfam/silk/page_error.png and /dev/null differ
diff --git a/koha-tmpl/opac-tmpl/prog/famfamfam/silk/page_excel.png b/koha-tmpl/opac-tmpl/prog/famfamfam/silk/page_excel.png
deleted file mode 100644 (file)
index eb6158e..0000000
Binary files a/koha-tmpl/opac-tmpl/prog/famfamfam/silk/page_excel.png and /dev/null differ
diff --git a/koha-tmpl/opac-tmpl/prog/famfamfam/silk/page_find.png b/koha-tmpl/opac-tmpl/prog/famfamfam/silk/page_find.png
deleted file mode 100644 (file)
index 2f19388..0000000
Binary files a/koha-tmpl/opac-tmpl/prog/famfamfam/silk/page_find.png and /dev/null differ
diff --git a/koha-tmpl/opac-tmpl/prog/famfamfam/silk/page_gear.png b/koha-tmpl/opac-tmpl/prog/famfamfam/silk/page_gear.png
deleted file mode 100644 (file)
index 8e83281..0000000
Binary files a/koha-tmpl/opac-tmpl/prog/famfamfam/silk/page_gear.png and /dev/null differ
diff --git a/koha-tmpl/opac-tmpl/prog/famfamfam/silk/page_go.png b/koha-tmpl/opac-tmpl/prog/famfamfam/silk/page_go.png
deleted file mode 100644 (file)
index 80fe1ed..0000000
Binary files a/koha-tmpl/opac-tmpl/prog/famfamfam/silk/page_go.png and /dev/null differ
diff --git a/koha-tmpl/opac-tmpl/prog/famfamfam/silk/page_green.png b/koha-tmpl/opac-tmpl/prog/famfamfam/silk/page_green.png
deleted file mode 100644 (file)
index de8e003..0000000
Binary files a/koha-tmpl/opac-tmpl/prog/famfamfam/silk/page_green.png and /dev/null differ
diff --git a/koha-tmpl/opac-tmpl/prog/famfamfam/silk/page_key.png b/koha-tmpl/opac-tmpl/prog/famfamfam/silk/page_key.png
deleted file mode 100644 (file)
index d6626cb..0000000
Binary files a/koha-tmpl/opac-tmpl/prog/famfamfam/silk/page_key.png and /dev/null differ
diff --git a/koha-tmpl/opac-tmpl/prog/famfamfam/silk/page_lightning.png b/koha-tmpl/opac-tmpl/prog/famfamfam/silk/page_lightning.png
deleted file mode 100644 (file)
index 7e56870..0000000
Binary files a/koha-tmpl/opac-tmpl/prog/famfamfam/silk/page_lightning.png and /dev/null differ
diff --git a/koha-tmpl/opac-tmpl/prog/famfamfam/silk/page_link.png b/koha-tmpl/opac-tmpl/prog/famfamfam/silk/page_link.png
deleted file mode 100644 (file)
index 312eab0..0000000
Binary files a/koha-tmpl/opac-tmpl/prog/famfamfam/silk/page_link.png and /dev/null differ
diff --git a/koha-tmpl/opac-tmpl/prog/famfamfam/silk/page_paintbrush.png b/koha-tmpl/opac-tmpl/prog/famfamfam/silk/page_paintbrush.png
deleted file mode 100644 (file)
index 246a2f0..0000000
Binary files a/koha-tmpl/opac-tmpl/prog/famfamfam/silk/page_paintbrush.png and /dev/null differ
diff --git a/koha-tmpl/opac-tmpl/prog/famfamfam/silk/page_paste.png b/koha-tmpl/opac-tmpl/prog/famfamfam/silk/page_paste.png
deleted file mode 100644 (file)
index 968f073..0000000
Binary files a/koha-tmpl/opac-tmpl/prog/famfamfam/silk/page_paste.png and /dev/null differ
diff --git a/koha-tmpl/opac-tmpl/prog/famfamfam/silk/page_red.png b/koha-tmpl/opac-tmpl/prog/famfamfam/silk/page_red.png
deleted file mode 100644 (file)
index 0b18247..0000000
Binary files a/koha-tmpl/opac-tmpl/prog/famfamfam/silk/page_red.png and /dev/null differ
diff --git a/koha-tmpl/opac-tmpl/prog/famfamfam/silk/page_refresh.png b/koha-tmpl/opac-tmpl/prog/famfamfam/silk/page_refresh.png
deleted file mode 100644 (file)
index cf347c7..0000000
Binary files a/koha-tmpl/opac-tmpl/prog/famfamfam/silk/page_refresh.png and /dev/null differ
diff --git a/koha-tmpl/opac-tmpl/prog/famfamfam/silk/page_save.png b/koha-tmpl/opac-tmpl/prog/famfamfam/silk/page_save.png
deleted file mode 100644 (file)
index caea546..0000000
Binary files a/koha-tmpl/opac-tmpl/prog/famfamfam/silk/page_save.png and /dev/null differ
diff --git a/koha-tmpl/opac-tmpl/prog/famfamfam/silk/page_white.png b/koha-tmpl/opac-tmpl/prog/famfamfam/silk/page_white.png
deleted file mode 100644 (file)
index 8b8b1ca..0000000
Binary files a/koha-tmpl/opac-tmpl/prog/famfamfam/silk/page_white.png and /dev/null differ
diff --git a/koha-tmpl/opac-tmpl/prog/famfamfam/silk/page_white_acrobat.png b/koha-tmpl/opac-tmpl/prog/famfamfam/silk/page_white_acrobat.png
deleted file mode 100644 (file)
index 8f8095e..0000000
Binary files a/koha-tmpl/opac-tmpl/prog/famfamfam/silk/page_white_acrobat.png and /dev/null differ
diff --git a/koha-tmpl/opac-tmpl/prog/famfamfam/silk/page_white_actionscript.png b/koha-tmpl/opac-tmpl/prog/famfamfam/silk/page_white_actionscript.png
deleted file mode 100644 (file)
index 159b240..0000000
Binary files a/koha-tmpl/opac-tmpl/prog/famfamfam/silk/page_white_actionscript.png and /dev/null differ
diff --git a/koha-tmpl/opac-tmpl/prog/famfamfam/silk/page_white_add.png b/koha-tmpl/opac-tmpl/prog/famfamfam/silk/page_white_add.png
deleted file mode 100644 (file)
index aa23dde..0000000
Binary files a/koha-tmpl/opac-tmpl/prog/famfamfam/silk/page_white_add.png and /dev/null differ
diff --git a/koha-tmpl/opac-tmpl/prog/famfamfam/silk/page_white_c.png b/koha-tmpl/opac-tmpl/prog/famfamfam/silk/page_white_c.png
deleted file mode 100644 (file)
index 34a05cc..0000000
Binary files a/koha-tmpl/opac-tmpl/prog/famfamfam/silk/page_white_c.png and /dev/null differ
diff --git a/koha-tmpl/opac-tmpl/prog/famfamfam/silk/page_white_camera.png b/koha-tmpl/opac-tmpl/prog/famfamfam/silk/page_white_camera.png
deleted file mode 100644 (file)
index f501a59..0000000
Binary files a/koha-tmpl/opac-tmpl/prog/famfamfam/silk/page_white_camera.png and /dev/null differ
diff --git a/koha-tmpl/opac-tmpl/prog/famfamfam/silk/page_white_cd.png b/koha-tmpl/opac-tmpl/prog/famfamfam/silk/page_white_cd.png
deleted file mode 100644 (file)
index 848bdaf..0000000
Binary files a/koha-tmpl/opac-tmpl/prog/famfamfam/silk/page_white_cd.png and /dev/null differ
diff --git a/koha-tmpl/opac-tmpl/prog/famfamfam/silk/page_white_code.png b/koha-tmpl/opac-tmpl/prog/famfamfam/silk/page_white_code.png
deleted file mode 100644 (file)
index 0c76bd1..0000000
Binary files a/koha-tmpl/opac-tmpl/prog/famfamfam/silk/page_white_code.png and /dev/null differ
diff --git a/koha-tmpl/opac-tmpl/prog/famfamfam/silk/page_white_code_red.png b/koha-tmpl/opac-tmpl/prog/famfamfam/silk/page_white_code_red.png
deleted file mode 100644 (file)
index 87a6914..0000000
Binary files a/koha-tmpl/opac-tmpl/prog/famfamfam/silk/page_white_code_red.png and /dev/null differ
diff --git a/koha-tmpl/opac-tmpl/prog/famfamfam/silk/page_white_coldfusion.png b/koha-tmpl/opac-tmpl/prog/famfamfam/silk/page_white_coldfusion.png
deleted file mode 100644 (file)
index c66011f..0000000
Binary files a/koha-tmpl/opac-tmpl/prog/famfamfam/silk/page_white_coldfusion.png and /dev/null differ
diff --git a/koha-tmpl/opac-tmpl/prog/famfamfam/silk/page_white_compressed.png b/koha-tmpl/opac-tmpl/prog/famfamfam/silk/page_white_compressed.png
deleted file mode 100644 (file)
index 2b6b100..0000000
Binary files a/koha-tmpl/opac-tmpl/prog/famfamfam/silk/page_white_compressed.png and /dev/null differ
diff --git a/koha-tmpl/opac-tmpl/prog/famfamfam/silk/page_white_copy.png b/koha-tmpl/opac-tmpl/prog/famfamfam/silk/page_white_copy.png
deleted file mode 100644 (file)
index a9f31a2..0000000
Binary files a/koha-tmpl/opac-tmpl/prog/famfamfam/silk/page_white_copy.png and /dev/null differ
diff --git a/koha-tmpl/opac-tmpl/prog/famfamfam/silk/page_white_cplusplus.png b/koha-tmpl/opac-tmpl/prog/famfamfam/silk/page_white_cplusplus.png
deleted file mode 100644 (file)
index a87cf84..0000000
Binary files a/koha-tmpl/opac-tmpl/prog/famfamfam/silk/page_white_cplusplus.png and /dev/null differ
diff --git a/koha-tmpl/opac-tmpl/prog/famfamfam/silk/page_white_csharp.png b/koha-tmpl/opac-tmpl/prog/famfamfam/silk/page_white_csharp.png
deleted file mode 100644 (file)
index ffb8fc9..0000000
Binary files a/koha-tmpl/opac-tmpl/prog/famfamfam/silk/page_white_csharp.png and /dev/null differ
diff --git a/koha-tmpl/opac-tmpl/prog/famfamfam/silk/page_white_cup.png b/koha-tmpl/opac-tmpl/prog/famfamfam/silk/page_white_cup.png
deleted file mode 100644 (file)
index 0a7d6f4..0000000
Binary files a/koha-tmpl/opac-tmpl/prog/famfamfam/silk/page_white_cup.png and /dev/null differ
diff --git a/koha-tmpl/opac-tmpl/prog/famfamfam/silk/page_white_database.png b/koha-tmpl/opac-tmpl/prog/famfamfam/silk/page_white_database.png
deleted file mode 100644 (file)
index bddba1f..0000000
Binary files a/koha-tmpl/opac-tmpl/prog/famfamfam/silk/page_white_database.png and /dev/null differ
diff --git a/koha-tmpl/opac-tmpl/prog/famfamfam/silk/page_white_delete.png b/koha-tmpl/opac-tmpl/prog/famfamfam/silk/page_white_delete.png
deleted file mode 100644 (file)
index af1ecaf..0000000
Binary files a/koha-tmpl/opac-tmpl/prog/famfamfam/silk/page_white_delete.png and /dev/null differ
diff --git a/koha-tmpl/opac-tmpl/prog/famfamfam/silk/page_white_dvd.png b/koha-tmpl/opac-tmpl/prog/famfamfam/silk/page_white_dvd.png
deleted file mode 100644 (file)
index 4cc537a..0000000
Binary files a/koha-tmpl/opac-tmpl/prog/famfamfam/silk/page_white_dvd.png and /dev/null differ
diff --git a/koha-tmpl/opac-tmpl/prog/famfamfam/silk/page_white_edit.png b/koha-tmpl/opac-tmpl/prog/famfamfam/silk/page_white_edit.png
deleted file mode 100644 (file)
index b93e776..0000000
Binary files a/koha-tmpl/opac-tmpl/prog/famfamfam/silk/page_white_edit.png and /dev/null differ
diff --git a/koha-tmpl/opac-tmpl/prog/famfamfam/silk/page_white_error.png b/koha-tmpl/opac-tmpl/prog/famfamfam/silk/page_white_error.png
deleted file mode 100644 (file)
index 9fc5a0a..0000000
Binary files a/koha-tmpl/opac-tmpl/prog/famfamfam/silk/page_white_error.png and /dev/null differ
diff --git a/koha-tmpl/opac-tmpl/prog/famfamfam/silk/page_white_excel.png b/koha-tmpl/opac-tmpl/prog/famfamfam/silk/page_white_excel.png
deleted file mode 100644 (file)
index b977d7e..0000000
Binary files a/koha-tmpl/opac-tmpl/prog/famfamfam/silk/page_white_excel.png and /dev/null differ
diff --git a/koha-tmpl/opac-tmpl/prog/famfamfam/silk/page_white_find.png b/koha-tmpl/opac-tmpl/prog/famfamfam/silk/page_white_find.png
deleted file mode 100644 (file)
index 5818436..0000000
Binary files a/koha-tmpl/opac-tmpl/prog/famfamfam/silk/page_white_find.png and /dev/null differ
diff --git a/koha-tmpl/opac-tmpl/prog/famfamfam/silk/page_white_flash.png b/koha-tmpl/opac-tmpl/prog/famfamfam/silk/page_white_flash.png
deleted file mode 100644 (file)
index 5769120..0000000
Binary files a/koha-tmpl/opac-tmpl/prog/famfamfam/silk/page_white_flash.png and /dev/null differ
diff --git a/koha-tmpl/opac-tmpl/prog/famfamfam/silk/page_white_freehand.png b/koha-tmpl/opac-tmpl/prog/famfamfam/silk/page_white_freehand.png
deleted file mode 100644 (file)
index 8d719df..0000000
Binary files a/koha-tmpl/opac-tmpl/prog/famfamfam/silk/page_white_freehand.png and /dev/null differ
diff --git a/koha-tmpl/opac-tmpl/prog/famfamfam/silk/page_white_gear.png b/koha-tmpl/opac-tmpl/prog/famfamfam/silk/page_white_gear.png
deleted file mode 100644 (file)
index 106f5aa..0000000
Binary files a/koha-tmpl/opac-tmpl/prog/famfamfam/silk/page_white_gear.png and /dev/null differ
diff --git a/koha-tmpl/opac-tmpl/prog/famfamfam/silk/page_white_get.png b/koha-tmpl/opac-tmpl/prog/famfamfam/silk/page_white_get.png
deleted file mode 100644 (file)
index e4a1ecb..0000000
Binary files a/koha-tmpl/opac-tmpl/prog/famfamfam/silk/page_white_get.png and /dev/null differ
diff --git a/koha-tmpl/opac-tmpl/prog/famfamfam/silk/page_white_go.png b/koha-tmpl/opac-tmpl/prog/famfamfam/silk/page_white_go.png
deleted file mode 100644 (file)
index 7e62a92..0000000
Binary files a/koha-tmpl/opac-tmpl/prog/famfamfam/silk/page_white_go.png and /dev/null differ
diff --git a/koha-tmpl/opac-tmpl/prog/famfamfam/silk/page_white_h.png b/koha-tmpl/opac-tmpl/prog/famfamfam/silk/page_white_h.png
deleted file mode 100644 (file)
index e902abb..0000000
Binary files a/koha-tmpl/opac-tmpl/prog/famfamfam/silk/page_white_h.png and /dev/null differ
diff --git a/koha-tmpl/opac-tmpl/prog/famfamfam/silk/page_white_horizontal.png b/koha-tmpl/opac-tmpl/prog/famfamfam/silk/page_white_horizontal.png
deleted file mode 100644 (file)
index 1d2d0a4..0000000
Binary files a/koha-tmpl/opac-tmpl/prog/famfamfam/silk/page_white_horizontal.png and /dev/null differ
diff --git a/koha-tmpl/opac-tmpl/prog/famfamfam/silk/page_white_key.png b/koha-tmpl/opac-tmpl/prog/famfamfam/silk/page_white_key.png
deleted file mode 100644 (file)
index d616484..0000000
Binary files a/koha-tmpl/opac-tmpl/prog/famfamfam/silk/page_white_key.png and /dev/null differ
diff --git a/koha-tmpl/opac-tmpl/prog/famfamfam/silk/page_white_lightning.png b/koha-tmpl/opac-tmpl/prog/famfamfam/silk/page_white_lightning.png
deleted file mode 100644 (file)
index 7215d1e..0000000
Binary files a/koha-tmpl/opac-tmpl/prog/famfamfam/silk/page_white_lightning.png and /dev/null differ
diff --git a/koha-tmpl/opac-tmpl/prog/famfamfam/silk/page_white_link.png b/koha-tmpl/opac-tmpl/prog/famfamfam/silk/page_white_link.png
deleted file mode 100644 (file)
index bf7bd1c..0000000
Binary files a/koha-tmpl/opac-tmpl/prog/famfamfam/silk/page_white_link.png and /dev/null differ
diff --git a/koha-tmpl/opac-tmpl/prog/famfamfam/silk/page_white_magnify.png b/koha-tmpl/opac-tmpl/prog/famfamfam/silk/page_white_magnify.png
deleted file mode 100644 (file)
index f6b74cc..0000000
Binary files a/koha-tmpl/opac-tmpl/prog/famfamfam/silk/page_white_magnify.png and /dev/null differ
diff --git a/koha-tmpl/opac-tmpl/prog/famfamfam/silk/page_white_medal.png b/koha-tmpl/opac-tmpl/prog/famfamfam/silk/page_white_medal.png
deleted file mode 100644 (file)
index d3fffb6..0000000
Binary files a/koha-tmpl/opac-tmpl/prog/famfamfam/silk/page_white_medal.png and /dev/null differ
diff --git a/koha-tmpl/opac-tmpl/prog/famfamfam/silk/page_white_office.png b/koha-tmpl/opac-tmpl/prog/famfamfam/silk/page_white_office.png
deleted file mode 100644 (file)
index a65bcb3..0000000
Binary files a/koha-tmpl/opac-tmpl/prog/famfamfam/silk/page_white_office.png and /dev/null differ
diff --git a/koha-tmpl/opac-tmpl/prog/famfamfam/silk/page_white_paint.png b/koha-tmpl/opac-tmpl/prog/famfamfam/silk/page_white_paint.png
deleted file mode 100644 (file)
index 23a37b8..0000000
Binary files a/koha-tmpl/opac-tmpl/prog/famfamfam/silk/page_white_paint.png and /dev/null differ
diff --git a/koha-tmpl/opac-tmpl/prog/famfamfam/silk/page_white_paintbrush.png b/koha-tmpl/opac-tmpl/prog/famfamfam/silk/page_white_paintbrush.png
deleted file mode 100644 (file)
index f907e44..0000000
Binary files a/koha-tmpl/opac-tmpl/prog/famfamfam/silk/page_white_paintbrush.png and /dev/null differ
diff --git a/koha-tmpl/opac-tmpl/prog/famfamfam/silk/page_white_paste.png b/koha-tmpl/opac-tmpl/prog/famfamfam/silk/page_white_paste.png
deleted file mode 100644 (file)
index 5b2cbb3..0000000
Binary files a/koha-tmpl/opac-tmpl/prog/famfamfam/silk/page_white_paste.png and /dev/null differ
diff --git a/koha-tmpl/opac-tmpl/prog/famfamfam/silk/page_white_php.png b/koha-tmpl/opac-tmpl/prog/famfamfam/silk/page_white_php.png
deleted file mode 100644 (file)
index 7868a25..0000000
Binary files a/koha-tmpl/opac-tmpl/prog/famfamfam/silk/page_white_php.png and /dev/null differ
diff --git a/koha-tmpl/opac-tmpl/prog/famfamfam/silk/page_white_picture.png b/koha-tmpl/opac-tmpl/prog/famfamfam/silk/page_white_picture.png
deleted file mode 100644 (file)
index 134b669..0000000
Binary files a/koha-tmpl/opac-tmpl/prog/famfamfam/silk/page_white_picture.png and /dev/null differ
diff --git a/koha-tmpl/opac-tmpl/prog/famfamfam/silk/page_white_powerpoint.png b/koha-tmpl/opac-tmpl/prog/famfamfam/silk/page_white_powerpoint.png
deleted file mode 100644 (file)
index c4eff03..0000000
Binary files a/koha-tmpl/opac-tmpl/prog/famfamfam/silk/page_white_powerpoint.png and /dev/null differ
diff --git a/koha-tmpl/opac-tmpl/prog/famfamfam/silk/page_white_put.png b/koha-tmpl/opac-tmpl/prog/famfamfam/silk/page_white_put.png
deleted file mode 100644 (file)
index 884ffd6..0000000
Binary files a/koha-tmpl/opac-tmpl/prog/famfamfam/silk/page_white_put.png and /dev/null differ
diff --git a/koha-tmpl/opac-tmpl/prog/famfamfam/silk/page_white_ruby.png b/koha-tmpl/opac-tmpl/prog/famfamfam/silk/page_white_ruby.png
deleted file mode 100644 (file)
index f59b7c4..0000000
Binary files a/koha-tmpl/opac-tmpl/prog/famfamfam/silk/page_white_ruby.png and /dev/null differ
diff --git a/koha-tmpl/opac-tmpl/prog/famfamfam/silk/page_white_stack.png b/koha-tmpl/opac-tmpl/prog/famfamfam/silk/page_white_stack.png
deleted file mode 100644 (file)
index 44084ad..0000000
Binary files a/koha-tmpl/opac-tmpl/prog/famfamfam/silk/page_white_stack.png and /dev/null differ
diff --git a/koha-tmpl/opac-tmpl/prog/famfamfam/silk/page_white_star.png b/koha-tmpl/opac-tmpl/prog/famfamfam/silk/page_white_star.png
deleted file mode 100644 (file)
index 3a1441c..0000000
Binary files a/koha-tmpl/opac-tmpl/prog/famfamfam/silk/page_white_star.png and /dev/null differ
diff --git a/koha-tmpl/opac-tmpl/prog/famfamfam/silk/page_white_swoosh.png b/koha-tmpl/opac-tmpl/prog/famfamfam/silk/page_white_swoosh.png
deleted file mode 100644 (file)
index e770829..0000000
Binary files a/koha-tmpl/opac-tmpl/prog/famfamfam/silk/page_white_swoosh.png and /dev/null differ
diff --git a/koha-tmpl/opac-tmpl/prog/famfamfam/silk/page_white_text.png b/koha-tmpl/opac-tmpl/prog/famfamfam/silk/page_white_text.png
deleted file mode 100644 (file)
index 813f712..0000000
Binary files a/koha-tmpl/opac-tmpl/prog/famfamfam/silk/page_white_text.png and /dev/null differ
diff --git a/koha-tmpl/opac-tmpl/prog/famfamfam/silk/page_white_text_width.png b/koha-tmpl/opac-tmpl/prog/famfamfam/silk/page_white_text_width.png
deleted file mode 100644 (file)
index d9cf132..0000000
Binary files a/koha-tmpl/opac-tmpl/prog/famfamfam/silk/page_white_text_width.png and /dev/null differ
diff --git a/koha-tmpl/opac-tmpl/prog/famfamfam/silk/page_white_tux.png b/koha-tmpl/opac-tmpl/prog/famfamfam/silk/page_white_tux.png
deleted file mode 100644 (file)
index 52699bf..0000000
Binary files a/koha-tmpl/opac-tmpl/prog/famfamfam/silk/page_white_tux.png and /dev/null differ
diff --git a/koha-tmpl/opac-tmpl/prog/famfamfam/silk/page_white_vector.png b/koha-tmpl/opac-tmpl/prog/famfamfam/silk/page_white_vector.png
deleted file mode 100644 (file)
index 4a05955..0000000
Binary files a/koha-tmpl/opac-tmpl/prog/famfamfam/silk/page_white_vector.png and /dev/null differ
diff --git a/koha-tmpl/opac-tmpl/prog/famfamfam/silk/page_white_visualstudio.png b/koha-tmpl/opac-tmpl/prog/famfamfam/silk/page_white_visualstudio.png
deleted file mode 100644 (file)
index a0a433d..0000000
Binary files a/koha-tmpl/opac-tmpl/prog/famfamfam/silk/page_white_visualstudio.png and /dev/null differ
diff --git a/koha-tmpl/opac-tmpl/prog/famfamfam/silk/page_white_width.png b/koha-tmpl/opac-tmpl/prog/famfamfam/silk/page_white_width.png
deleted file mode 100644 (file)
index 1eb8809..0000000
Binary files a/koha-tmpl/opac-tmpl/prog/famfamfam/silk/page_white_width.png and /dev/null differ
diff --git a/koha-tmpl/opac-tmpl/prog/famfamfam/silk/page_white_word.png b/koha-tmpl/opac-tmpl/prog/famfamfam/silk/page_white_word.png
deleted file mode 100644 (file)
index ae8ecbf..0000000
Binary files a/koha-tmpl/opac-tmpl/prog/famfamfam/silk/page_white_word.png and /dev/null differ
diff --git a/koha-tmpl/opac-tmpl/prog/famfamfam/silk/page_white_world.png b/koha-tmpl/opac-tmpl/prog/famfamfam/silk/page_white_world.png
deleted file mode 100644 (file)
index 6ed2490..0000000
Binary files a/koha-tmpl/opac-tmpl/prog/famfamfam/silk/page_white_world.png and /dev/null differ
diff --git a/koha-tmpl/opac-tmpl/prog/famfamfam/silk/page_white_wrench.png b/koha-tmpl/opac-tmpl/prog/famfamfam/silk/page_white_wrench.png
deleted file mode 100644 (file)
index fecadd0..0000000
Binary files a/koha-tmpl/opac-tmpl/prog/famfamfam/silk/page_white_wrench.png and /dev/null differ
diff --git a/koha-tmpl/opac-tmpl/prog/famfamfam/silk/page_white_zip.png b/koha-tmpl/opac-tmpl/prog/famfamfam/silk/page_white_zip.png
deleted file mode 100644 (file)
index fd4bbcc..0000000
Binary files a/koha-tmpl/opac-tmpl/prog/famfamfam/silk/page_white_zip.png and /dev/null differ
diff --git a/koha-tmpl/opac-tmpl/prog/famfamfam/silk/page_word.png b/koha-tmpl/opac-tmpl/prog/famfamfam/silk/page_word.png
deleted file mode 100644 (file)
index 834cdfa..0000000
Binary files a/koha-tmpl/opac-tmpl/prog/famfamfam/silk/page_word.png and /dev/null differ
diff --git a/koha-tmpl/opac-tmpl/prog/famfamfam/silk/page_world.png b/koha-tmpl/opac-tmpl/prog/famfamfam/silk/page_world.png
deleted file mode 100644 (file)
index b8895dd..0000000
Binary files a/koha-tmpl/opac-tmpl/prog/famfamfam/silk/page_world.png and /dev/null differ
diff --git a/koha-tmpl/opac-tmpl/prog/famfamfam/silk/paintbrush.png b/koha-tmpl/opac-tmpl/prog/famfamfam/silk/paintbrush.png
deleted file mode 100644 (file)
index a3ecf87..0000000
Binary files a/koha-tmpl/opac-tmpl/prog/famfamfam/silk/paintbrush.png and /dev/null differ
diff --git a/koha-tmpl/opac-tmpl/prog/famfamfam/silk/paintcan.png b/koha-tmpl/opac-tmpl/prog/famfamfam/silk/paintcan.png
deleted file mode 100644 (file)
index f82a886..0000000
Binary files a/koha-tmpl/opac-tmpl/prog/famfamfam/silk/paintcan.png and /dev/null differ
diff --git a/koha-tmpl/opac-tmpl/prog/famfamfam/silk/palette.png b/koha-tmpl/opac-tmpl/prog/famfamfam/silk/palette.png
deleted file mode 100644 (file)
index 73c5b3f..0000000
Binary files a/koha-tmpl/opac-tmpl/prog/famfamfam/silk/palette.png and /dev/null differ
diff --git a/koha-tmpl/opac-tmpl/prog/famfamfam/silk/paste_plain.png b/koha-tmpl/opac-tmpl/prog/famfamfam/silk/paste_plain.png
deleted file mode 100644 (file)
index c0490eb..0000000
Binary files a/koha-tmpl/opac-tmpl/prog/famfamfam/silk/paste_plain.png and /dev/null differ
diff --git a/koha-tmpl/opac-tmpl/prog/famfamfam/silk/paste_word.png b/koha-tmpl/opac-tmpl/prog/famfamfam/silk/paste_word.png
deleted file mode 100644 (file)
index f6b87f8..0000000
Binary files a/koha-tmpl/opac-tmpl/prog/famfamfam/silk/paste_word.png and /dev/null differ
diff --git a/koha-tmpl/opac-tmpl/prog/famfamfam/silk/pencil.png b/koha-tmpl/opac-tmpl/prog/famfamfam/silk/pencil.png
deleted file mode 100644 (file)
index 0bfecd5..0000000
Binary files a/koha-tmpl/opac-tmpl/prog/famfamfam/silk/pencil.png and /dev/null differ
diff --git a/koha-tmpl/opac-tmpl/prog/famfamfam/silk/pencil_add.png b/koha-tmpl/opac-tmpl/prog/famfamfam/silk/pencil_add.png
deleted file mode 100644 (file)
index 902bbe6..0000000
Binary files a/koha-tmpl/opac-tmpl/prog/famfamfam/silk/pencil_add.png and /dev/null differ
diff --git a/koha-tmpl/opac-tmpl/prog/famfamfam/silk/pencil_delete.png b/koha-tmpl/opac-tmpl/prog/famfamfam/silk/pencil_delete.png
deleted file mode 100644 (file)
index d8944e6..0000000
Binary files a/koha-tmpl/opac-tmpl/prog/famfamfam/silk/pencil_delete.png and /dev/null differ
diff --git a/koha-tmpl/opac-tmpl/prog/famfamfam/silk/pencil_go.png b/koha-tmpl/opac-tmpl/prog/famfamfam/silk/pencil_go.png
deleted file mode 100644 (file)
index 937bded..0000000
Binary files a/koha-tmpl/opac-tmpl/prog/famfamfam/silk/pencil_go.png and /dev/null differ
diff --git a/koha-tmpl/opac-tmpl/prog/famfamfam/silk/phone.png b/koha-tmpl/opac-tmpl/prog/famfamfam/silk/phone.png
deleted file mode 100644 (file)
index c39f162..0000000
Binary files a/koha-tmpl/opac-tmpl/prog/famfamfam/silk/phone.png and /dev/null differ
diff --git a/koha-tmpl/opac-tmpl/prog/famfamfam/silk/phone_add.png b/koha-tmpl/opac-tmpl/prog/famfamfam/silk/phone_add.png
deleted file mode 100644 (file)
index d3555e0..0000000
Binary files a/koha-tmpl/opac-tmpl/prog/famfamfam/silk/phone_add.png and /dev/null differ
diff --git a/koha-tmpl/opac-tmpl/prog/famfamfam/silk/phone_delete.png b/koha-tmpl/opac-tmpl/prog/famfamfam/silk/phone_delete.png
deleted file mode 100644 (file)
index bbe4f8a..0000000
Binary files a/koha-tmpl/opac-tmpl/prog/famfamfam/silk/phone_delete.png and /dev/null differ
diff --git a/koha-tmpl/opac-tmpl/prog/famfamfam/silk/phone_sound.png b/koha-tmpl/opac-tmpl/prog/famfamfam/silk/phone_sound.png
deleted file mode 100644 (file)
index 7fdf1c5..0000000
Binary files a/koha-tmpl/opac-tmpl/prog/famfamfam/silk/phone_sound.png and /dev/null differ
diff --git a/koha-tmpl/opac-tmpl/prog/famfamfam/silk/photo.png b/koha-tmpl/opac-tmpl/prog/famfamfam/silk/photo.png
deleted file mode 100644 (file)
index 6c2aaaa..0000000
Binary files a/koha-tmpl/opac-tmpl/prog/famfamfam/silk/photo.png and /dev/null differ
diff --git a/koha-tmpl/opac-tmpl/prog/famfamfam/silk/photo_add.png b/koha-tmpl/opac-tmpl/prog/famfamfam/silk/photo_add.png
deleted file mode 100644 (file)
index 63cc355..0000000
Binary files a/koha-tmpl/opac-tmpl/prog/famfamfam/silk/photo_add.png and /dev/null differ
diff --git a/koha-tmpl/opac-tmpl/prog/famfamfam/silk/photo_delete.png b/koha-tmpl/opac-tmpl/prog/famfamfam/silk/photo_delete.png
deleted file mode 100644 (file)
index 18b67df..0000000
Binary files a/koha-tmpl/opac-tmpl/prog/famfamfam/silk/photo_delete.png and /dev/null differ
diff --git a/koha-tmpl/opac-tmpl/prog/famfamfam/silk/photo_link.png b/koha-tmpl/opac-tmpl/prog/famfamfam/silk/photo_link.png
deleted file mode 100644 (file)
index e6bb35f..0000000
Binary files a/koha-tmpl/opac-tmpl/prog/famfamfam/silk/photo_link.png and /dev/null differ
diff --git a/koha-tmpl/opac-tmpl/prog/famfamfam/silk/photos.png b/koha-tmpl/opac-tmpl/prog/famfamfam/silk/photos.png
deleted file mode 100644 (file)
index 8836fe6..0000000
Binary files a/koha-tmpl/opac-tmpl/prog/famfamfam/silk/photos.png and /dev/null differ
diff --git a/koha-tmpl/opac-tmpl/prog/famfamfam/silk/picture.png b/koha-tmpl/opac-tmpl/prog/famfamfam/silk/picture.png
deleted file mode 100644 (file)
index 4a158fe..0000000
Binary files a/koha-tmpl/opac-tmpl/prog/famfamfam/silk/picture.png and /dev/null differ
diff --git a/koha-tmpl/opac-tmpl/prog/famfamfam/silk/picture_add.png b/koha-tmpl/opac-tmpl/prog/famfamfam/silk/picture_add.png
deleted file mode 100644 (file)
index d6d3f85..0000000
Binary files a/koha-tmpl/opac-tmpl/prog/famfamfam/silk/picture_add.png and /dev/null differ
diff --git a/koha-tmpl/opac-tmpl/prog/famfamfam/silk/picture_delete.png b/koha-tmpl/opac-tmpl/prog/famfamfam/silk/picture_delete.png
deleted file mode 100644 (file)
index cca9f53..0000000
Binary files a/koha-tmpl/opac-tmpl/prog/famfamfam/silk/picture_delete.png and /dev/null differ
diff --git a/koha-tmpl/opac-tmpl/prog/famfamfam/silk/picture_edit.png b/koha-tmpl/opac-tmpl/prog/famfamfam/silk/picture_edit.png
deleted file mode 100644 (file)
index 9a70c34..0000000
Binary files a/koha-tmpl/opac-tmpl/prog/famfamfam/silk/picture_edit.png and /dev/null differ
diff --git a/koha-tmpl/opac-tmpl/prog/famfamfam/silk/picture_empty.png b/koha-tmpl/opac-tmpl/prog/famfamfam/silk/picture_empty.png
deleted file mode 100644 (file)
index abd2b9b..0000000
Binary files a/koha-tmpl/opac-tmpl/prog/famfamfam/silk/picture_empty.png and /dev/null differ
diff --git a/koha-tmpl/opac-tmpl/prog/famfamfam/silk/picture_error.png b/koha-tmpl/opac-tmpl/prog/famfamfam/silk/picture_error.png
deleted file mode 100644 (file)
index d41d90d..0000000
Binary files a/koha-tmpl/opac-tmpl/prog/famfamfam/silk/picture_error.png and /dev/null differ
diff --git a/koha-tmpl/opac-tmpl/prog/famfamfam/silk/picture_go.png b/koha-tmpl/opac-tmpl/prog/famfamfam/silk/picture_go.png
deleted file mode 100644 (file)
index 27c63c5..0000000
Binary files a/koha-tmpl/opac-tmpl/prog/famfamfam/silk/picture_go.png and /dev/null differ
diff --git a/koha-tmpl/opac-tmpl/prog/famfamfam/silk/picture_key.png b/koha-tmpl/opac-tmpl/prog/famfamfam/silk/picture_key.png
deleted file mode 100644 (file)
index 667086c..0000000
Binary files a/koha-tmpl/opac-tmpl/prog/famfamfam/silk/picture_key.png and /dev/null differ
diff --git a/koha-tmpl/opac-tmpl/prog/famfamfam/silk/picture_link.png b/koha-tmpl/opac-tmpl/prog/famfamfam/silk/picture_link.png
deleted file mode 100644 (file)
index 42dca74..0000000
Binary files a/koha-tmpl/opac-tmpl/prog/famfamfam/silk/picture_link.png and /dev/null differ
diff --git a/koha-tmpl/opac-tmpl/prog/famfamfam/silk/picture_save.png b/koha-tmpl/opac-tmpl/prog/famfamfam/silk/picture_save.png
deleted file mode 100644 (file)
index 777fb5d..0000000
Binary files a/koha-tmpl/opac-tmpl/prog/famfamfam/silk/picture_save.png and /dev/null differ
diff --git a/koha-tmpl/opac-tmpl/prog/famfamfam/silk/pictures.png b/koha-tmpl/opac-tmpl/prog/famfamfam/silk/pictures.png
deleted file mode 100644 (file)
index d9591c1..0000000
Binary files a/koha-tmpl/opac-tmpl/prog/famfamfam/silk/pictures.png and /dev/null differ
diff --git a/koha-tmpl/opac-tmpl/prog/famfamfam/silk/pilcrow.png b/koha-tmpl/opac-tmpl/prog/famfamfam/silk/pilcrow.png
deleted file mode 100644 (file)
index 95704fb..0000000
Binary files a/koha-tmpl/opac-tmpl/prog/famfamfam/silk/pilcrow.png and /dev/null differ
diff --git a/koha-tmpl/opac-tmpl/prog/famfamfam/silk/pill.png b/koha-tmpl/opac-tmpl/prog/famfamfam/silk/pill.png
deleted file mode 100644 (file)
index f2bdef6..0000000
Binary files a/koha-tmpl/opac-tmpl/prog/famfamfam/silk/pill.png and /dev/null differ
diff --git a/koha-tmpl/opac-tmpl/prog/famfamfam/silk/pill_add.png b/koha-tmpl/opac-tmpl/prog/famfamfam/silk/pill_add.png
deleted file mode 100644 (file)
index ac9c2df..0000000
Binary files a/koha-tmpl/opac-tmpl/prog/famfamfam/silk/pill_add.png and /dev/null differ
diff --git a/koha-tmpl/opac-tmpl/prog/famfamfam/silk/pill_delete.png b/koha-tmpl/opac-tmpl/prog/famfamfam/silk/pill_delete.png
deleted file mode 100644 (file)
index c61592e..0000000
Binary files a/koha-tmpl/opac-tmpl/prog/famfamfam/silk/pill_delete.png and /dev/null differ
diff --git a/koha-tmpl/opac-tmpl/prog/famfamfam/silk/pill_go.png b/koha-tmpl/opac-tmpl/prog/famfamfam/silk/pill_go.png
deleted file mode 100644 (file)
index e5c07d4..0000000
Binary files a/koha-tmpl/opac-tmpl/prog/famfamfam/silk/pill_go.png and /dev/null differ
diff --git a/koha-tmpl/opac-tmpl/prog/famfamfam/silk/plugin.png b/koha-tmpl/opac-tmpl/prog/famfamfam/silk/plugin.png
deleted file mode 100644 (file)
index 6187b15..0000000
Binary files a/koha-tmpl/opac-tmpl/prog/famfamfam/silk/plugin.png and /dev/null differ
diff --git a/koha-tmpl/opac-tmpl/prog/famfamfam/silk/plugin_add.png b/koha-tmpl/opac-tmpl/prog/famfamfam/silk/plugin_add.png
deleted file mode 100644 (file)
index ae43690..0000000
Binary files a/koha-tmpl/opac-tmpl/prog/famfamfam/silk/plugin_add.png and /dev/null differ
diff --git a/koha-tmpl/opac-tmpl/prog/famfamfam/silk/plugin_delete.png b/koha-tmpl/opac-tmpl/prog/famfamfam/silk/plugin_delete.png
deleted file mode 100644 (file)
index d9c3376..0000000
Binary files a/koha-tmpl/opac-tmpl/prog/famfamfam/silk/plugin_delete.png and /dev/null differ
diff --git a/koha-tmpl/opac-tmpl/prog/famfamfam/silk/plugin_disabled.png b/koha-tmpl/opac-tmpl/prog/famfamfam/silk/plugin_disabled.png
deleted file mode 100644 (file)
index f4f6be5..0000000
Binary files a/koha-tmpl/opac-tmpl/prog/famfamfam/silk/plugin_disabled.png and /dev/null differ
diff --git a/koha-tmpl/opac-tmpl/prog/famfamfam/silk/plugin_edit.png b/koha-tmpl/opac-tmpl/prog/famfamfam/silk/plugin_edit.png
deleted file mode 100644 (file)
index b6cb0ec..0000000
Binary files a/koha-tmpl/opac-tmpl/prog/famfamfam/silk/plugin_edit.png and /dev/null differ
diff --git a/koha-tmpl/opac-tmpl/prog/famfamfam/silk/plugin_error.png b/koha-tmpl/opac-tmpl/prog/famfamfam/silk/plugin_error.png
deleted file mode 100644 (file)
index cff65d7..0000000
Binary files a/koha-tmpl/opac-tmpl/prog/famfamfam/silk/plugin_error.png and /dev/null differ
diff --git a/koha-tmpl/opac-tmpl/prog/famfamfam/silk/plugin_go.png b/koha-tmpl/opac-tmpl/prog/famfamfam/silk/plugin_go.png
deleted file mode 100644 (file)
index 41da991..0000000
Binary files a/koha-tmpl/opac-tmpl/prog/famfamfam/silk/plugin_go.png and /dev/null differ
diff --git a/koha-tmpl/opac-tmpl/prog/famfamfam/silk/plugin_link.png b/koha-tmpl/opac-tmpl/prog/famfamfam/silk/plugin_link.png
deleted file mode 100644 (file)
index 445c188..0000000
Binary files a/koha-tmpl/opac-tmpl/prog/famfamfam/silk/plugin_link.png and /dev/null differ
diff --git a/koha-tmpl/opac-tmpl/prog/famfamfam/silk/printer.png b/koha-tmpl/opac-tmpl/prog/famfamfam/silk/printer.png
deleted file mode 100644 (file)
index a350d18..0000000
Binary files a/koha-tmpl/opac-tmpl/prog/famfamfam/silk/printer.png and /dev/null differ
diff --git a/koha-tmpl/opac-tmpl/prog/famfamfam/silk/printer_add.png b/koha-tmpl/opac-tmpl/prog/famfamfam/silk/printer_add.png
deleted file mode 100644 (file)
index d228d05..0000000
Binary files a/koha-tmpl/opac-tmpl/prog/famfamfam/silk/printer_add.png and /dev/null differ
diff --git a/koha-tmpl/opac-tmpl/prog/famfamfam/silk/printer_delete.png b/koha-tmpl/opac-tmpl/prog/famfamfam/silk/printer_delete.png
deleted file mode 100644 (file)
index 1d8605f..0000000
Binary files a/koha-tmpl/opac-tmpl/prog/famfamfam/silk/printer_delete.png and /dev/null differ
diff --git a/koha-tmpl/opac-tmpl/prog/famfamfam/silk/printer_empty.png b/koha-tmpl/opac-tmpl/prog/famfamfam/silk/printer_empty.png
deleted file mode 100644 (file)
index 94e8c16..0000000
Binary files a/koha-tmpl/opac-tmpl/prog/famfamfam/silk/printer_empty.png and /dev/null differ
diff --git a/koha-tmpl/opac-tmpl/prog/famfamfam/silk/printer_error.png b/koha-tmpl/opac-tmpl/prog/famfamfam/silk/printer_error.png
deleted file mode 100644 (file)
index 279ebb0..0000000
Binary files a/koha-tmpl/opac-tmpl/prog/famfamfam/silk/printer_error.png and /dev/null differ
diff --git a/koha-tmpl/opac-tmpl/prog/famfamfam/silk/rainbow.png b/koha-tmpl/opac-tmpl/prog/famfamfam/silk/rainbow.png
deleted file mode 100644 (file)
index 5ede989..0000000
Binary files a/koha-tmpl/opac-tmpl/prog/famfamfam/silk/rainbow.png and /dev/null differ
diff --git a/koha-tmpl/opac-tmpl/prog/famfamfam/silk/report.png b/koha-tmpl/opac-tmpl/prog/famfamfam/silk/report.png
deleted file mode 100644 (file)
index 779ad58..0000000
Binary files a/koha-tmpl/opac-tmpl/prog/famfamfam/silk/report.png and /dev/null differ
diff --git a/koha-tmpl/opac-tmpl/prog/famfamfam/silk/report_add.png b/koha-tmpl/opac-tmpl/prog/famfamfam/silk/report_add.png
deleted file mode 100644 (file)
index d5eac9b..0000000
Binary files a/koha-tmpl/opac-tmpl/prog/famfamfam/silk/report_add.png and /dev/null differ
diff --git a/koha-tmpl/opac-tmpl/prog/famfamfam/silk/report_delete.png b/koha-tmpl/opac-tmpl/prog/famfamfam/silk/report_delete.png
deleted file mode 100644 (file)
index dcce0b6..0000000
Binary files a/koha-tmpl/opac-tmpl/prog/famfamfam/silk/report_delete.png and /dev/null differ
diff --git a/koha-tmpl/opac-tmpl/prog/famfamfam/silk/report_disk.png b/koha-tmpl/opac-tmpl/prog/famfamfam/silk/report_disk.png
deleted file mode 100644 (file)
index 1c856cd..0000000
Binary files a/koha-tmpl/opac-tmpl/prog/famfamfam/silk/report_disk.png and /dev/null differ
diff --git a/koha-tmpl/opac-tmpl/prog/famfamfam/silk/report_edit.png b/koha-tmpl/opac-tmpl/prog/famfamfam/silk/report_edit.png
deleted file mode 100644 (file)
index c61a6d8..0000000
Binary files a/koha-tmpl/opac-tmpl/prog/famfamfam/silk/report_edit.png and /dev/null differ
diff --git a/koha-tmpl/opac-tmpl/prog/famfamfam/silk/report_go.png b/koha-tmpl/opac-tmpl/prog/famfamfam/silk/report_go.png
deleted file mode 100644 (file)
index f35a979..0000000
Binary files a/koha-tmpl/opac-tmpl/prog/famfamfam/silk/report_go.png and /dev/null differ
diff --git a/koha-tmpl/opac-tmpl/prog/famfamfam/silk/report_key.png b/koha-tmpl/opac-tmpl/prog/famfamfam/silk/report_key.png
deleted file mode 100644 (file)
index 90b758e..0000000
Binary files a/koha-tmpl/opac-tmpl/prog/famfamfam/silk/report_key.png and /dev/null differ
diff --git a/koha-tmpl/opac-tmpl/prog/famfamfam/silk/report_link.png b/koha-tmpl/opac-tmpl/prog/famfamfam/silk/report_link.png
deleted file mode 100644 (file)
index 23f2611..0000000
Binary files a/koha-tmpl/opac-tmpl/prog/famfamfam/silk/report_link.png and /dev/null differ
diff --git a/koha-tmpl/opac-tmpl/prog/famfamfam/silk/report_magnify.png b/koha-tmpl/opac-tmpl/prog/famfamfam/silk/report_magnify.png
deleted file mode 100644 (file)
index aeaa889..0000000
Binary files a/koha-tmpl/opac-tmpl/prog/famfamfam/silk/report_magnify.png and /dev/null differ
diff --git a/koha-tmpl/opac-tmpl/prog/famfamfam/silk/report_picture.png b/koha-tmpl/opac-tmpl/prog/famfamfam/silk/report_picture.png
deleted file mode 100644 (file)
index 3a9a7e5..0000000
Binary files a/koha-tmpl/opac-tmpl/prog/famfamfam/silk/report_picture.png and /dev/null differ
diff --git a/koha-tmpl/opac-tmpl/prog/famfamfam/silk/report_user.png b/koha-tmpl/opac-tmpl/prog/famfamfam/silk/report_user.png
deleted file mode 100644 (file)
index 7766edd..0000000
Binary files a/koha-tmpl/opac-tmpl/prog/famfamfam/silk/report_user.png and /dev/null differ
diff --git a/koha-tmpl/opac-tmpl/prog/famfamfam/silk/report_word.png b/koha-tmpl/opac-tmpl/prog/famfamfam/silk/report_word.png
deleted file mode 100644 (file)
index 9951342..0000000
Binary files a/koha-tmpl/opac-tmpl/prog/famfamfam/silk/report_word.png and /dev/null differ
diff --git a/koha-tmpl/opac-tmpl/prog/famfamfam/silk/resultset_first.png b/koha-tmpl/opac-tmpl/prog/famfamfam/silk/resultset_first.png
deleted file mode 100644 (file)
index b03eaf8..0000000
Binary files a/koha-tmpl/opac-tmpl/prog/famfamfam/silk/resultset_first.png and /dev/null differ
diff --git a/koha-tmpl/opac-tmpl/prog/famfamfam/silk/resultset_last.png b/koha-tmpl/opac-tmpl/prog/famfamfam/silk/resultset_last.png
deleted file mode 100644 (file)
index 8ec8947..0000000
Binary files a/koha-tmpl/opac-tmpl/prog/famfamfam/silk/resultset_last.png and /dev/null differ
diff --git a/koha-tmpl/opac-tmpl/prog/famfamfam/silk/resultset_next.png b/koha-tmpl/opac-tmpl/prog/famfamfam/silk/resultset_next.png
deleted file mode 100644 (file)
index e252606..0000000
Binary files a/koha-tmpl/opac-tmpl/prog/famfamfam/silk/resultset_next.png and /dev/null differ
diff --git a/koha-tmpl/opac-tmpl/prog/famfamfam/silk/resultset_previous.png b/koha-tmpl/opac-tmpl/prog/famfamfam/silk/resultset_previous.png
deleted file mode 100644 (file)
index 18f9cc1..0000000
Binary files a/koha-tmpl/opac-tmpl/prog/famfamfam/silk/resultset_previous.png and /dev/null differ
diff --git a/koha-tmpl/opac-tmpl/prog/famfamfam/silk/rosette.png b/koha-tmpl/opac-tmpl/prog/famfamfam/silk/rosette.png
deleted file mode 100644 (file)
index f233bc7..0000000
Binary files a/koha-tmpl/opac-tmpl/prog/famfamfam/silk/rosette.png and /dev/null differ
diff --git a/koha-tmpl/opac-tmpl/prog/famfamfam/silk/rss.png b/koha-tmpl/opac-tmpl/prog/famfamfam/silk/rss.png
deleted file mode 100644 (file)
index 1dc6ff3..0000000
Binary files a/koha-tmpl/opac-tmpl/prog/famfamfam/silk/rss.png and /dev/null differ
diff --git a/koha-tmpl/opac-tmpl/prog/famfamfam/silk/rss_add.png b/koha-tmpl/opac-tmpl/prog/famfamfam/silk/rss_add.png
deleted file mode 100644 (file)
index b590beb..0000000
Binary files a/koha-tmpl/opac-tmpl/prog/famfamfam/silk/rss_add.png and /dev/null differ
diff --git a/koha-tmpl/opac-tmpl/prog/famfamfam/silk/rss_delete.png b/koha-tmpl/opac-tmpl/prog/famfamfam/silk/rss_delete.png
deleted file mode 100644 (file)
index 9deb738..0000000
Binary files a/koha-tmpl/opac-tmpl/prog/famfamfam/silk/rss_delete.png and /dev/null differ
diff --git a/koha-tmpl/opac-tmpl/prog/famfamfam/silk/rss_go.png b/koha-tmpl/opac-tmpl/prog/famfamfam/silk/rss_go.png
deleted file mode 100644 (file)
index 43a86bf..0000000
Binary files a/koha-tmpl/opac-tmpl/prog/famfamfam/silk/rss_go.png and /dev/null differ
diff --git a/koha-tmpl/opac-tmpl/prog/famfamfam/silk/rss_valid.png b/koha-tmpl/opac-tmpl/prog/famfamfam/silk/rss_valid.png
deleted file mode 100644 (file)
index a6d0b0e..0000000
Binary files a/koha-tmpl/opac-tmpl/prog/famfamfam/silk/rss_valid.png and /dev/null differ
diff --git a/koha-tmpl/opac-tmpl/prog/famfamfam/silk/ruby.png b/koha-tmpl/opac-tmpl/prog/famfamfam/silk/ruby.png
deleted file mode 100644 (file)
index f763a16..0000000
Binary files a/koha-tmpl/opac-tmpl/prog/famfamfam/silk/ruby.png and /dev/null differ
diff --git a/koha-tmpl/opac-tmpl/prog/famfamfam/silk/ruby_add.png b/koha-tmpl/opac-tmpl/prog/famfamfam/silk/ruby_add.png
deleted file mode 100644 (file)
index a2cd648..0000000
Binary files a/koha-tmpl/opac-tmpl/prog/famfamfam/silk/ruby_add.png and /dev/null differ
diff --git a/koha-tmpl/opac-tmpl/prog/famfamfam/silk/ruby_delete.png b/koha-tmpl/opac-tmpl/prog/famfamfam/silk/ruby_delete.png
deleted file mode 100644 (file)
index 3002263..0000000
Binary files a/koha-tmpl/opac-tmpl/prog/famfamfam/silk/ruby_delete.png and /dev/null differ
diff --git a/koha-tmpl/opac-tmpl/prog/famfamfam/silk/ruby_gear.png b/koha-tmpl/opac-tmpl/prog/famfamfam/silk/ruby_gear.png
deleted file mode 100644 (file)
index 4a10590..0000000
Binary files a/koha-tmpl/opac-tmpl/prog/famfamfam/silk/ruby_gear.png and /dev/null differ
diff --git a/koha-tmpl/opac-tmpl/prog/famfamfam/silk/ruby_get.png b/koha-tmpl/opac-tmpl/prog/famfamfam/silk/ruby_get.png
deleted file mode 100644 (file)
index f5203c7..0000000
Binary files a/koha-tmpl/opac-tmpl/prog/famfamfam/silk/ruby_get.png and /dev/null differ
diff --git a/koha-tmpl/opac-tmpl/prog/famfamfam/silk/ruby_go.png b/koha-tmpl/opac-tmpl/prog/famfamfam/silk/ruby_go.png
deleted file mode 100644 (file)
index d8d276e..0000000
Binary files a/koha-tmpl/opac-tmpl/prog/famfamfam/silk/ruby_go.png and /dev/null differ
diff --git a/koha-tmpl/opac-tmpl/prog/famfamfam/silk/ruby_key.png b/koha-tmpl/opac-tmpl/prog/famfamfam/silk/ruby_key.png
deleted file mode 100644 (file)
index 451cfeb..0000000
Binary files a/koha-tmpl/opac-tmpl/prog/famfamfam/silk/ruby_key.png and /dev/null differ
diff --git a/koha-tmpl/opac-tmpl/prog/famfamfam/silk/ruby_link.png b/koha-tmpl/opac-tmpl/prog/famfamfam/silk/ruby_link.png
deleted file mode 100644 (file)
index bf4be52..0000000
Binary files a/koha-tmpl/opac-tmpl/prog/famfamfam/silk/ruby_link.png and /dev/null differ
diff --git a/koha-tmpl/opac-tmpl/prog/famfamfam/silk/ruby_put.png b/koha-tmpl/opac-tmpl/prog/famfamfam/silk/ruby_put.png
deleted file mode 100644 (file)
index e026323..0000000
Binary files a/koha-tmpl/opac-tmpl/prog/famfamfam/silk/ruby_put.png and /dev/null differ
diff --git a/koha-tmpl/opac-tmpl/prog/famfamfam/silk/script.png b/koha-tmpl/opac-tmpl/prog/famfamfam/silk/script.png
deleted file mode 100644 (file)
index 0f9ed4d..0000000
Binary files a/koha-tmpl/opac-tmpl/prog/famfamfam/silk/script.png and /dev/null differ
diff --git a/koha-tmpl/opac-tmpl/prog/famfamfam/silk/script_add.png b/koha-tmpl/opac-tmpl/prog/famfamfam/silk/script_add.png
deleted file mode 100644 (file)
index d650552..0000000
Binary files a/koha-tmpl/opac-tmpl/prog/famfamfam/silk/script_add.png and /dev/null differ
diff --git a/koha-tmpl/opac-tmpl/prog/famfamfam/silk/script_code.png b/koha-tmpl/opac-tmpl/prog/famfamfam/silk/script_code.png
deleted file mode 100644 (file)
index 63fe6ce..0000000
Binary files a/koha-tmpl/opac-tmpl/prog/famfamfam/silk/script_code.png and /dev/null differ
diff --git a/koha-tmpl/opac-tmpl/prog/famfamfam/silk/script_code_red.png b/koha-tmpl/opac-tmpl/prog/famfamfam/silk/script_code_red.png
deleted file mode 100644 (file)
index 8fcf0f0..0000000
Binary files a/koha-tmpl/opac-tmpl/prog/famfamfam/silk/script_code_red.png and /dev/null differ
diff --git a/koha-tmpl/opac-tmpl/prog/famfamfam/silk/script_delete.png b/koha-tmpl/opac-tmpl/prog/famfamfam/silk/script_delete.png
deleted file mode 100644 (file)
index e6500ce..0000000
Binary files a/koha-tmpl/opac-tmpl/prog/famfamfam/silk/script_delete.png and /dev/null differ
diff --git a/koha-tmpl/opac-tmpl/prog/famfamfam/silk/script_edit.png b/koha-tmpl/opac-tmpl/prog/famfamfam/silk/script_edit.png
deleted file mode 100644 (file)
index b4d31ce..0000000
Binary files a/koha-tmpl/opac-tmpl/prog/famfamfam/silk/script_edit.png and /dev/null differ
diff --git a/koha-tmpl/opac-tmpl/prog/famfamfam/silk/script_error.png b/koha-tmpl/opac-tmpl/prog/famfamfam/silk/script_error.png
deleted file mode 100644 (file)
index 0491954..0000000
Binary files a/koha-tmpl/opac-tmpl/prog/famfamfam/silk/script_error.png and /dev/null differ
diff --git a/koha-tmpl/opac-tmpl/prog/famfamfam/silk/script_gear.png b/koha-tmpl/opac-tmpl/prog/famfamfam/silk/script_gear.png
deleted file mode 100644 (file)
index 56fcf84..0000000
Binary files a/koha-tmpl/opac-tmpl/prog/famfamfam/silk/script_gear.png and /dev/null differ
diff --git a/koha-tmpl/opac-tmpl/prog/famfamfam/silk/script_go.png b/koha-tmpl/opac-tmpl/prog/famfamfam/silk/script_go.png
deleted file mode 100644 (file)
index 8e154e2..0000000
Binary files a/koha-tmpl/opac-tmpl/prog/famfamfam/silk/script_go.png and /dev/null differ
diff --git a/koha-tmpl/opac-tmpl/prog/famfamfam/silk/script_key.png b/koha-tmpl/opac-tmpl/prog/famfamfam/silk/script_key.png
deleted file mode 100644 (file)
index 49bb24d..0000000
Binary files a/koha-tmpl/opac-tmpl/prog/famfamfam/silk/script_key.png and /dev/null differ
diff --git a/koha-tmpl/opac-tmpl/prog/famfamfam/silk/script_lightning.png b/koha-tmpl/opac-tmpl/prog/famfamfam/silk/script_lightning.png
deleted file mode 100644 (file)
index b3fa18c..0000000
Binary files a/koha-tmpl/opac-tmpl/prog/famfamfam/silk/script_lightning.png and /dev/null differ
diff --git a/koha-tmpl/opac-tmpl/prog/famfamfam/silk/script_link.png b/koha-tmpl/opac-tmpl/prog/famfamfam/silk/script_link.png
deleted file mode 100644 (file)
index bdeb985..0000000
Binary files a/koha-tmpl/opac-tmpl/prog/famfamfam/silk/script_link.png and /dev/null differ
diff --git a/koha-tmpl/opac-tmpl/prog/famfamfam/silk/script_palette.png b/koha-tmpl/opac-tmpl/prog/famfamfam/silk/script_palette.png
deleted file mode 100644 (file)
index 6d46962..0000000
Binary files a/koha-tmpl/opac-tmpl/prog/famfamfam/silk/script_palette.png and /dev/null differ
diff --git a/koha-tmpl/opac-tmpl/prog/famfamfam/silk/script_save.png b/koha-tmpl/opac-tmpl/prog/famfamfam/silk/script_save.png
deleted file mode 100644 (file)
index 36216d8..0000000
Binary files a/koha-tmpl/opac-tmpl/prog/famfamfam/silk/script_save.png and /dev/null differ
diff --git a/koha-tmpl/opac-tmpl/prog/famfamfam/silk/server.png b/koha-tmpl/opac-tmpl/prog/famfamfam/silk/server.png
deleted file mode 100644 (file)
index 720a237..0000000
Binary files a/koha-tmpl/opac-tmpl/prog/famfamfam/silk/server.png and /dev/null differ
diff --git a/koha-tmpl/opac-tmpl/prog/famfamfam/silk/server_add.png b/koha-tmpl/opac-tmpl/prog/famfamfam/silk/server_add.png
deleted file mode 100644 (file)
index 3f10a3a..0000000
Binary files a/koha-tmpl/opac-tmpl/prog/famfamfam/silk/server_add.png and /dev/null differ
diff --git a/koha-tmpl/opac-tmpl/prog/famfamfam/silk/server_chart.png b/koha-tmpl/opac-tmpl/prog/famfamfam/silk/server_chart.png
deleted file mode 100644 (file)
index 1128d3f..0000000
Binary files a/koha-tmpl/opac-tmpl/prog/famfamfam/silk/server_chart.png and /dev/null differ
diff --git a/koha-tmpl/opac-tmpl/prog/famfamfam/silk/server_compressed.png b/koha-tmpl/opac-tmpl/prog/famfamfam/silk/server_compressed.png
deleted file mode 100644 (file)
index bf49fad..0000000
Binary files a/koha-tmpl/opac-tmpl/prog/famfamfam/silk/server_compressed.png and /dev/null differ
diff --git a/koha-tmpl/opac-tmpl/prog/famfamfam/silk/server_connect.png b/koha-tmpl/opac-tmpl/prog/famfamfam/silk/server_connect.png
deleted file mode 100644 (file)
index 49b2691..0000000
Binary files a/koha-tmpl/opac-tmpl/prog/famfamfam/silk/server_connect.png and /dev/null differ
diff --git a/koha-tmpl/opac-tmpl/prog/famfamfam/silk/server_database.png b/koha-tmpl/opac-tmpl/prog/famfamfam/silk/server_database.png
deleted file mode 100644 (file)
index b24e826..0000000
Binary files a/koha-tmpl/opac-tmpl/prog/famfamfam/silk/server_database.png and /dev/null differ
diff --git a/koha-tmpl/opac-tmpl/prog/famfamfam/silk/server_delete.png b/koha-tmpl/opac-tmpl/prog/famfamfam/silk/server_delete.png
deleted file mode 100644 (file)
index 61e740f..0000000
Binary files a/koha-tmpl/opac-tmpl/prog/famfamfam/silk/server_delete.png and /dev/null differ
diff --git a/koha-tmpl/opac-tmpl/prog/famfamfam/silk/server_edit.png b/koha-tmpl/opac-tmpl/prog/famfamfam/silk/server_edit.png
deleted file mode 100644 (file)
index dc76253..0000000
Binary files a/koha-tmpl/opac-tmpl/prog/famfamfam/silk/server_edit.png and /dev/null differ
diff --git a/koha-tmpl/opac-tmpl/prog/famfamfam/silk/server_error.png b/koha-tmpl/opac-tmpl/prog/famfamfam/silk/server_error.png
deleted file mode 100644 (file)
index f640256..0000000
Binary files a/koha-tmpl/opac-tmpl/prog/famfamfam/silk/server_error.png and /dev/null differ
diff --git a/koha-tmpl/opac-tmpl/prog/famfamfam/silk/server_go.png b/koha-tmpl/opac-tmpl/prog/famfamfam/silk/server_go.png
deleted file mode 100644 (file)
index 540c8e2..0000000
Binary files a/koha-tmpl/opac-tmpl/prog/famfamfam/silk/server_go.png and /dev/null differ
diff --git a/koha-tmpl/opac-tmpl/prog/famfamfam/silk/server_key.png b/koha-tmpl/opac-tmpl/prog/famfamfam/silk/server_key.png
deleted file mode 100644 (file)
index ecd5174..0000000
Binary files a/koha-tmpl/opac-tmpl/prog/famfamfam/silk/server_key.png and /dev/null differ
diff --git a/koha-tmpl/opac-tmpl/prog/famfamfam/silk/server_lightning.png b/koha-tmpl/opac-tmpl/prog/famfamfam/silk/server_lightning.png
deleted file mode 100644 (file)
index b0f4e46..0000000
Binary files a/koha-tmpl/opac-tmpl/prog/famfamfam/silk/server_lightning.png and /dev/null differ
diff --git a/koha-tmpl/opac-tmpl/prog/famfamfam/silk/server_link.png b/koha-tmpl/opac-tmpl/prog/famfamfam/silk/server_link.png
deleted file mode 100644 (file)
index e8821df..0000000
Binary files a/koha-tmpl/opac-tmpl/prog/famfamfam/silk/server_link.png and /dev/null differ
diff --git a/koha-tmpl/opac-tmpl/prog/famfamfam/silk/server_uncompressed.png b/koha-tmpl/opac-tmpl/prog/famfamfam/silk/server_uncompressed.png
deleted file mode 100644 (file)
index 86e8325..0000000
Binary files a/koha-tmpl/opac-tmpl/prog/famfamfam/silk/server_uncompressed.png and /dev/null differ
diff --git a/koha-tmpl/opac-tmpl/prog/famfamfam/silk/shading.png b/koha-tmpl/opac-tmpl/prog/famfamfam/silk/shading.png
deleted file mode 100644 (file)
index 09275f9..0000000
Binary files a/koha-tmpl/opac-tmpl/prog/famfamfam/silk/shading.png and /dev/null differ
diff --git a/koha-tmpl/opac-tmpl/prog/famfamfam/silk/shape_align_bottom.png b/koha-tmpl/opac-tmpl/prog/famfamfam/silk/shape_align_bottom.png
deleted file mode 100644 (file)
index 55d2694..0000000
Binary files a/koha-tmpl/opac-tmpl/prog/famfamfam/silk/shape_align_bottom.png and /dev/null differ
diff --git a/koha-tmpl/opac-tmpl/prog/famfamfam/silk/shape_align_center.png b/koha-tmpl/opac-tmpl/prog/famfamfam/silk/shape_align_center.png
deleted file mode 100644 (file)
index efe9a98..0000000
Binary files a/koha-tmpl/opac-tmpl/prog/famfamfam/silk/shape_align_center.png and /dev/null differ
diff --git a/koha-tmpl/opac-tmpl/prog/famfamfam/silk/shape_align_left.png b/koha-tmpl/opac-tmpl/prog/famfamfam/silk/shape_align_left.png
deleted file mode 100644 (file)
index aaedc41..0000000
Binary files a/koha-tmpl/opac-tmpl/prog/famfamfam/silk/shape_align_left.png and /dev/null differ
diff --git a/koha-tmpl/opac-tmpl/prog/famfamfam/silk/shape_align_middle.png b/koha-tmpl/opac-tmpl/prog/famfamfam/silk/shape_align_middle.png
deleted file mode 100644 (file)
index d350dd8..0000000
Binary files a/koha-tmpl/opac-tmpl/prog/famfamfam/silk/shape_align_middle.png and /dev/null differ
diff --git a/koha-tmpl/opac-tmpl/prog/famfamfam/silk/shape_align_right.png b/koha-tmpl/opac-tmpl/prog/famfamfam/silk/shape_align_right.png
deleted file mode 100644 (file)
index ff556b6..0000000
Binary files a/koha-tmpl/opac-tmpl/prog/famfamfam/silk/shape_align_right.png and /dev/null differ
diff --git a/koha-tmpl/opac-tmpl/prog/famfamfam/silk/shape_align_top.png b/koha-tmpl/opac-tmpl/prog/famfamfam/silk/shape_align_top.png
deleted file mode 100644 (file)
index 1181b43..0000000
Binary files a/koha-tmpl/opac-tmpl/prog/famfamfam/silk/shape_align_top.png and /dev/null differ
diff --git a/koha-tmpl/opac-tmpl/prog/famfamfam/silk/shape_flip_horizontal.png b/koha-tmpl/opac-tmpl/prog/famfamfam/silk/shape_flip_horizontal.png
deleted file mode 100644 (file)
index 8667c81..0000000
Binary files a/koha-tmpl/opac-tmpl/prog/famfamfam/silk/shape_flip_horizontal.png and /dev/null differ
diff --git a/koha-tmpl/opac-tmpl/prog/famfamfam/silk/shape_flip_vertical.png b/koha-tmpl/opac-tmpl/prog/famfamfam/silk/shape_flip_vertical.png
deleted file mode 100644 (file)
index 0bd66d1..0000000
Binary files a/koha-tmpl/opac-tmpl/prog/famfamfam/silk/shape_flip_vertical.png and /dev/null differ
diff --git a/koha-tmpl/opac-tmpl/prog/famfamfam/silk/shape_group.png b/koha-tmpl/opac-tmpl/prog/famfamfam/silk/shape_group.png
deleted file mode 100644 (file)
index bb2ff51..0000000
Binary files a/koha-tmpl/opac-tmpl/prog/famfamfam/silk/shape_group.png and /dev/null differ
diff --git a/koha-tmpl/opac-tmpl/prog/famfamfam/silk/shape_handles.png b/koha-tmpl/opac-tmpl/prog/famfamfam/silk/shape_handles.png
deleted file mode 100644 (file)
index ce27fe3..0000000
Binary files a/koha-tmpl/opac-tmpl/prog/famfamfam/silk/shape_handles.png and /dev/null differ
diff --git a/koha-tmpl/opac-tmpl/prog/famfamfam/silk/shape_move_back.png b/koha-tmpl/opac-tmpl/prog/famfamfam/silk/shape_move_back.png
deleted file mode 100644 (file)
index a216ffd..0000000
Binary files a/koha-tmpl/opac-tmpl/prog/famfamfam/silk/shape_move_back.png and /dev/null differ
diff --git a/koha-tmpl/opac-tmpl/prog/famfamfam/silk/shape_move_backwards.png b/koha-tmpl/opac-tmpl/prog/famfamfam/silk/shape_move_backwards.png
deleted file mode 100644 (file)
index ee3f9b2..0000000
Binary files a/koha-tmpl/opac-tmpl/prog/famfamfam/silk/shape_move_backwards.png and /dev/null differ
diff --git a/koha-tmpl/opac-tmpl/prog/famfamfam/silk/shape_move_forwards.png b/koha-tmpl/opac-tmpl/prog/famfamfam/silk/shape_move_forwards.png
deleted file mode 100644 (file)
index cfe4493..0000000
Binary files a/koha-tmpl/opac-tmpl/prog/famfamfam/silk/shape_move_forwards.png and /dev/null differ
diff --git a/koha-tmpl/opac-tmpl/prog/famfamfam/silk/shape_move_front.png b/koha-tmpl/opac-tmpl/prog/famfamfam/silk/shape_move_front.png
deleted file mode 100644 (file)
index b4a4e3b..0000000
Binary files a/koha-tmpl/opac-tmpl/prog/famfamfam/silk/shape_move_front.png and /dev/null differ
diff --git a/koha-tmpl/opac-tmpl/prog/famfamfam/silk/shape_rotate_anticlockwise.png b/koha-tmpl/opac-tmpl/prog/famfamfam/silk/shape_rotate_anticlockwise.png
deleted file mode 100644 (file)
index 07a3020..0000000
Binary files a/koha-tmpl/opac-tmpl/prog/famfamfam/silk/shape_rotate_anticlockwise.png and /dev/null differ
diff --git a/koha-tmpl/opac-tmpl/prog/famfamfam/silk/shape_rotate_clockwise.png b/koha-tmpl/opac-tmpl/prog/famfamfam/silk/shape_rotate_clockwise.png
deleted file mode 100644 (file)
index b99db7d..0000000
Binary files a/koha-tmpl/opac-tmpl/prog/famfamfam/silk/shape_rotate_clockwise.png and /dev/null differ
diff --git a/koha-tmpl/opac-tmpl/prog/famfamfam/silk/shape_square.png b/koha-tmpl/opac-tmpl/prog/famfamfam/silk/shape_square.png
deleted file mode 100644 (file)
index 33af046..0000000
Binary files a/koha-tmpl/opac-tmpl/prog/famfamfam/silk/shape_square.png and /dev/null differ
diff --git a/koha-tmpl/opac-tmpl/prog/famfamfam/silk/shape_square_add.png b/koha-tmpl/opac-tmpl/prog/famfamfam/silk/shape_square_add.png
deleted file mode 100644 (file)
index 31edfce..0000000
Binary files a/koha-tmpl/opac-tmpl/prog/famfamfam/silk/shape_square_add.png and /dev/null differ
diff --git a/koha-tmpl/opac-tmpl/prog/famfamfam/silk/shape_square_delete.png b/koha-tmpl/opac-tmpl/prog/famfamfam/silk/shape_square_delete.png
deleted file mode 100644 (file)
index ede912d..0000000
Binary files a/koha-tmpl/opac-tmpl/prog/famfamfam/silk/shape_square_delete.png and /dev/null differ
diff --git a/koha-tmpl/opac-tmpl/prog/famfamfam/silk/shape_square_edit.png b/koha-tmpl/opac-tmpl/prog/famfamfam/silk/shape_square_edit.png
deleted file mode 100644 (file)
index d28dc6b..0000000
Binary files a/koha-tmpl/opac-tmpl/prog/famfamfam/silk/shape_square_edit.png and /dev/null differ
diff --git a/koha-tmpl/opac-tmpl/prog/famfamfam/silk/shape_square_error.png b/koha-tmpl/opac-tmpl/prog/famfamfam/silk/shape_square_error.png
deleted file mode 100644 (file)
index 0d0dcfa..0000000
Binary files a/koha-tmpl/opac-tmpl/prog/famfamfam/silk/shape_square_error.png and /dev/null differ
diff --git a/koha-tmpl/opac-tmpl/prog/famfamfam/silk/shape_square_go.png b/koha-tmpl/opac-tmpl/prog/famfamfam/silk/shape_square_go.png
deleted file mode 100644 (file)
index 5a2ad90..0000000
Binary files a/koha-tmpl/opac-tmpl/prog/famfamfam/silk/shape_square_go.png and /dev/null differ
diff --git a/koha-tmpl/opac-tmpl/prog/famfamfam/silk/shape_square_key.png b/koha-tmpl/opac-tmpl/prog/famfamfam/silk/shape_square_key.png
deleted file mode 100644 (file)
index c34b982..0000000
Binary files a/koha-tmpl/opac-tmpl/prog/famfamfam/silk/shape_square_key.png and /dev/null differ
diff --git a/koha-tmpl/opac-tmpl/prog/famfamfam/silk/shape_square_link.png b/koha-tmpl/opac-tmpl/prog/famfamfam/silk/shape_square_link.png
deleted file mode 100644 (file)
index b885fcc..0000000
Binary files a/koha-tmpl/opac-tmpl/prog/famfamfam/silk/shape_square_link.png and /dev/null differ
diff --git a/koha-tmpl/opac-tmpl/prog/famfamfam/silk/shape_ungroup.png b/koha-tmpl/opac-tmpl/prog/famfamfam/silk/shape_ungroup.png
deleted file mode 100644 (file)
index 3a6f369..0000000
Binary files a/koha-tmpl/opac-tmpl/prog/famfamfam/silk/shape_ungroup.png and /dev/null differ
diff --git a/koha-tmpl/opac-tmpl/prog/famfamfam/silk/shield.png b/koha-tmpl/opac-tmpl/prog/famfamfam/silk/shield.png
deleted file mode 100644 (file)
index 3cb4e25..0000000
Binary files a/koha-tmpl/opac-tmpl/prog/famfamfam/silk/shield.png and /dev/null differ
diff --git a/koha-tmpl/opac-tmpl/prog/famfamfam/silk/shield_add.png b/koha-tmpl/opac-tmpl/prog/famfamfam/silk/shield_add.png
deleted file mode 100644 (file)
index e20a1b4..0000000
Binary files a/koha-tmpl/opac-tmpl/prog/famfamfam/silk/shield_add.png and /dev/null differ
diff --git a/koha-tmpl/opac-tmpl/prog/famfamfam/silk/shield_delete.png b/koha-tmpl/opac-tmpl/prog/famfamfam/silk/shield_delete.png
deleted file mode 100644 (file)
index 22823a7..0000000
Binary files a/koha-tmpl/opac-tmpl/prog/famfamfam/silk/shield_delete.png and /dev/null differ
diff --git a/koha-tmpl/opac-tmpl/prog/famfamfam/silk/shield_go.png b/koha-tmpl/opac-tmpl/prog/famfamfam/silk/shield_go.png
deleted file mode 100644 (file)
index e9bd852..0000000
Binary files a/koha-tmpl/opac-tmpl/prog/famfamfam/silk/shield_go.png and /dev/null differ
diff --git a/koha-tmpl/opac-tmpl/prog/famfamfam/silk/sitemap.png b/koha-tmpl/opac-tmpl/prog/famfamfam/silk/sitemap.png
deleted file mode 100644 (file)
index ca779f3..0000000
Binary files a/koha-tmpl/opac-tmpl/prog/famfamfam/silk/sitemap.png and /dev/null differ
diff --git a/koha-tmpl/opac-tmpl/prog/famfamfam/silk/sitemap_color.png b/koha-tmpl/opac-tmpl/prog/famfamfam/silk/sitemap_color.png
deleted file mode 100644 (file)
index c64582b..0000000
Binary files a/koha-tmpl/opac-tmpl/prog/famfamfam/silk/sitemap_color.png and /dev/null differ
diff --git a/koha-tmpl/opac-tmpl/prog/famfamfam/silk/sound.png b/koha-tmpl/opac-tmpl/prog/famfamfam/silk/sound.png
deleted file mode 100644 (file)
index 6056d23..0000000
Binary files a/koha-tmpl/opac-tmpl/prog/famfamfam/silk/sound.png and /dev/null differ
diff --git a/koha-tmpl/opac-tmpl/prog/famfamfam/silk/sound_add.png b/koha-tmpl/opac-tmpl/prog/famfamfam/silk/sound_add.png
deleted file mode 100644 (file)
index 965c503..0000000
Binary files a/koha-tmpl/opac-tmpl/prog/famfamfam/silk/sound_add.png and /dev/null differ
diff --git a/koha-tmpl/opac-tmpl/prog/famfamfam/silk/sound_delete.png b/koha-tmpl/opac-tmpl/prog/famfamfam/silk/sound_delete.png
deleted file mode 100644 (file)
index ab9577a..0000000
Binary files a/koha-tmpl/opac-tmpl/prog/famfamfam/silk/sound_delete.png and /dev/null differ
diff --git a/koha-tmpl/opac-tmpl/prog/famfamfam/silk/sound_low.png b/koha-tmpl/opac-tmpl/prog/famfamfam/silk/sound_low.png
deleted file mode 100644 (file)
index 4d91863..0000000
Binary files a/koha-tmpl/opac-tmpl/prog/famfamfam/silk/sound_low.png and /dev/null differ
diff --git a/koha-tmpl/opac-tmpl/prog/famfamfam/silk/sound_mute.png b/koha-tmpl/opac-tmpl/prog/famfamfam/silk/sound_mute.png
deleted file mode 100644 (file)
index b652d2a..0000000
Binary files a/koha-tmpl/opac-tmpl/prog/famfamfam/silk/sound_mute.png and /dev/null differ
diff --git a/koha-tmpl/opac-tmpl/prog/famfamfam/silk/sound_none.png b/koha-tmpl/opac-tmpl/prog/famfamfam/silk/sound_none.png
deleted file mode 100644 (file)
index b497ebd..0000000
Binary files a/koha-tmpl/opac-tmpl/prog/famfamfam/silk/sound_none.png and /dev/null differ
diff --git a/koha-tmpl/opac-tmpl/prog/famfamfam/silk/spellcheck.png b/koha-tmpl/opac-tmpl/prog/famfamfam/silk/spellcheck.png
deleted file mode 100644 (file)
index ebc632d..0000000
Binary files a/koha-tmpl/opac-tmpl/prog/famfamfam/silk/spellcheck.png and /dev/null differ
diff --git a/koha-tmpl/opac-tmpl/prog/famfamfam/silk/sport_8ball.png b/koha-tmpl/opac-tmpl/prog/famfamfam/silk/sport_8ball.png
deleted file mode 100644 (file)
index 4f627b7..0000000
Binary files a/koha-tmpl/opac-tmpl/prog/famfamfam/silk/sport_8ball.png and /dev/null differ
diff --git a/koha-tmpl/opac-tmpl/prog/famfamfam/silk/sport_basketball.png b/koha-tmpl/opac-tmpl/prog/famfamfam/silk/sport_basketball.png
deleted file mode 100644 (file)
index f7a000b..0000000
Binary files a/koha-tmpl/opac-tmpl/prog/famfamfam/silk/sport_basketball.png and /dev/null differ
diff --git a/koha-tmpl/opac-tmpl/prog/famfamfam/silk/sport_football.png b/koha-tmpl/opac-tmpl/prog/famfamfam/silk/sport_football.png
deleted file mode 100644 (file)
index 199f0f7..0000000
Binary files a/koha-tmpl/opac-tmpl/prog/famfamfam/silk/sport_football.png and /dev/null differ
diff --git a/koha-tmpl/opac-tmpl/prog/famfamfam/silk/sport_golf.png b/koha-tmpl/opac-tmpl/prog/famfamfam/silk/sport_golf.png
deleted file mode 100644 (file)
index e21fa44..0000000
Binary files a/koha-tmpl/opac-tmpl/prog/famfamfam/silk/sport_golf.png and /dev/null differ
diff --git a/koha-tmpl/opac-tmpl/prog/famfamfam/silk/sport_raquet.png b/koha-tmpl/opac-tmpl/prog/famfamfam/silk/sport_raquet.png
deleted file mode 100644 (file)
index f5e0f0c..0000000
Binary files a/koha-tmpl/opac-tmpl/prog/famfamfam/silk/sport_raquet.png and /dev/null differ
diff --git a/koha-tmpl/opac-tmpl/prog/famfamfam/silk/sport_shuttlecock.png b/koha-tmpl/opac-tmpl/prog/famfamfam/silk/sport_shuttlecock.png
deleted file mode 100644 (file)
index 917287f..0000000
Binary files a/koha-tmpl/opac-tmpl/prog/famfamfam/silk/sport_shuttlecock.png and /dev/null differ
diff --git a/koha-tmpl/opac-tmpl/prog/famfamfam/silk/sport_soccer.png b/koha-tmpl/opac-tmpl/prog/famfamfam/silk/sport_soccer.png
deleted file mode 100644 (file)
index 3eb1828..0000000
Binary files a/koha-tmpl/opac-tmpl/prog/famfamfam/silk/sport_soccer.png and /dev/null differ
diff --git a/koha-tmpl/opac-tmpl/prog/famfamfam/silk/sport_tennis.png b/koha-tmpl/opac-tmpl/prog/famfamfam/silk/sport_tennis.png
deleted file mode 100644 (file)
index e88a6ef..0000000
Binary files a/koha-tmpl/opac-tmpl/prog/famfamfam/silk/sport_tennis.png and /dev/null differ
diff --git a/koha-tmpl/opac-tmpl/prog/famfamfam/silk/star.png b/koha-tmpl/opac-tmpl/prog/famfamfam/silk/star.png
deleted file mode 100644 (file)
index b88c857..0000000
Binary files a/koha-tmpl/opac-tmpl/prog/famfamfam/silk/star.png and /dev/null differ
diff --git a/koha-tmpl/opac-tmpl/prog/famfamfam/silk/status_away.png b/koha-tmpl/opac-tmpl/prog/famfamfam/silk/status_away.png
deleted file mode 100644 (file)
index 70bcbcc..0000000
Binary files a/koha-tmpl/opac-tmpl/prog/famfamfam/silk/status_away.png and /dev/null differ
diff --git a/koha-tmpl/opac-tmpl/prog/famfamfam/silk/status_busy.png b/koha-tmpl/opac-tmpl/prog/famfamfam/silk/status_busy.png
deleted file mode 100644 (file)
index 987c806..0000000
Binary files a/koha-tmpl/opac-tmpl/prog/famfamfam/silk/status_busy.png and /dev/null differ
diff --git a/koha-tmpl/opac-tmpl/prog/famfamfam/silk/status_offline.png b/koha-tmpl/opac-tmpl/prog/famfamfam/silk/status_offline.png
deleted file mode 100644 (file)
index a88261a..0000000
Binary files a/koha-tmpl/opac-tmpl/prog/famfamfam/silk/status_offline.png and /dev/null differ
diff --git a/koha-tmpl/opac-tmpl/prog/famfamfam/silk/status_online.png b/koha-tmpl/opac-tmpl/prog/famfamfam/silk/status_online.png
deleted file mode 100644 (file)
index 947bd4b..0000000
Binary files a/koha-tmpl/opac-tmpl/prog/famfamfam/silk/status_online.png and /dev/null differ
diff --git a/koha-tmpl/opac-tmpl/prog/famfamfam/silk/stop.png b/koha-tmpl/opac-tmpl/prog/famfamfam/silk/stop.png
deleted file mode 100644 (file)
index 0cfd585..0000000
Binary files a/koha-tmpl/opac-tmpl/prog/famfamfam/silk/stop.png and /dev/null differ
diff --git a/koha-tmpl/opac-tmpl/prog/famfamfam/silk/style.png b/koha-tmpl/opac-tmpl/prog/famfamfam/silk/style.png
deleted file mode 100644 (file)
index 81e41de..0000000
Binary files a/koha-tmpl/opac-tmpl/prog/famfamfam/silk/style.png and /dev/null differ
diff --git a/koha-tmpl/opac-tmpl/prog/famfamfam/silk/style_add.png b/koha-tmpl/opac-tmpl/prog/famfamfam/silk/style_add.png
deleted file mode 100644 (file)
index e0369c6..0000000
Binary files a/koha-tmpl/opac-tmpl/prog/famfamfam/silk/style_add.png and /dev/null differ
diff --git a/koha-tmpl/opac-tmpl/prog/famfamfam/silk/style_delete.png b/koha-tmpl/opac-tmpl/prog/famfamfam/silk/style_delete.png
deleted file mode 100644 (file)
index 640f187..0000000
Binary files a/koha-tmpl/opac-tmpl/prog/famfamfam/silk/style_delete.png and /dev/null differ
diff --git a/koha-tmpl/opac-tmpl/prog/famfamfam/silk/style_edit.png b/koha-tmpl/opac-tmpl/prog/famfamfam/silk/style_edit.png
deleted file mode 100644 (file)
index 25bb5b6..0000000
Binary files a/koha-tmpl/opac-tmpl/prog/famfamfam/silk/style_edit.png and /dev/null differ
diff --git a/koha-tmpl/opac-tmpl/prog/famfamfam/silk/style_go.png b/koha-tmpl/opac-tmpl/prog/famfamfam/silk/style_go.png
deleted file mode 100644 (file)
index 25d6181..0000000
Binary files a/koha-tmpl/opac-tmpl/prog/famfamfam/silk/style_go.png and /dev/null differ
diff --git a/koha-tmpl/opac-tmpl/prog/famfamfam/silk/sum.png b/koha-tmpl/opac-tmpl/prog/famfamfam/silk/sum.png
deleted file mode 100644 (file)
index fd7b32e..0000000
Binary files a/koha-tmpl/opac-tmpl/prog/famfamfam/silk/sum.png and /dev/null differ
diff --git a/koha-tmpl/opac-tmpl/prog/famfamfam/silk/tab.png b/koha-tmpl/opac-tmpl/prog/famfamfam/silk/tab.png
deleted file mode 100644 (file)
index 3d8207f..0000000
Binary files a/koha-tmpl/opac-tmpl/prog/famfamfam/silk/tab.png and /dev/null differ
diff --git a/koha-tmpl/opac-tmpl/prog/famfamfam/silk/tab_add.png b/koha-tmpl/opac-tmpl/prog/famfamfam/silk/tab_add.png
deleted file mode 100644 (file)
index d3b9936..0000000
Binary files a/koha-tmpl/opac-tmpl/prog/famfamfam/silk/tab_add.png and /dev/null differ
diff --git a/koha-tmpl/opac-tmpl/prog/famfamfam/silk/tab_delete.png b/koha-tmpl/opac-tmpl/prog/famfamfam/silk/tab_delete.png
deleted file mode 100644 (file)
index 100da2f..0000000
Binary files a/koha-tmpl/opac-tmpl/prog/famfamfam/silk/tab_delete.png and /dev/null differ
diff --git a/koha-tmpl/opac-tmpl/prog/famfamfam/silk/tab_edit.png b/koha-tmpl/opac-tmpl/prog/famfamfam/silk/tab_edit.png
deleted file mode 100644 (file)
index 4c09c0f..0000000
Binary files a/koha-tmpl/opac-tmpl/prog/famfamfam/silk/tab_edit.png and /dev/null differ
diff --git a/koha-tmpl/opac-tmpl/prog/famfamfam/silk/tab_go.png b/koha-tmpl/opac-tmpl/prog/famfamfam/silk/tab_go.png
deleted file mode 100644 (file)
index 844ce04..0000000
Binary files a/koha-tmpl/opac-tmpl/prog/famfamfam/silk/tab_go.png and /dev/null differ
diff --git a/koha-tmpl/opac-tmpl/prog/famfamfam/silk/table.png b/koha-tmpl/opac-tmpl/prog/famfamfam/silk/table.png
deleted file mode 100644 (file)
index abcd936..0000000
Binary files a/koha-tmpl/opac-tmpl/prog/famfamfam/silk/table.png and /dev/null differ
diff --git a/koha-tmpl/opac-tmpl/prog/famfamfam/silk/table_add.png b/koha-tmpl/opac-tmpl/prog/famfamfam/silk/table_add.png
deleted file mode 100644 (file)
index 2a3e5c4..0000000
Binary files a/koha-tmpl/opac-tmpl/prog/famfamfam/silk/table_add.png and /dev/null differ
diff --git a/koha-tmpl/opac-tmpl/prog/famfamfam/silk/table_delete.png b/koha-tmpl/opac-tmpl/prog/famfamfam/silk/table_delete.png
deleted file mode 100644 (file)
index b85916d..0000000
Binary files a/koha-tmpl/opac-tmpl/prog/famfamfam/silk/table_delete.png and /dev/null differ
diff --git a/koha-tmpl/opac-tmpl/prog/famfamfam/silk/table_edit.png b/koha-tmpl/opac-tmpl/prog/famfamfam/silk/table_edit.png
deleted file mode 100644 (file)
index bfcb024..0000000
Binary files a/koha-tmpl/opac-tmpl/prog/famfamfam/silk/table_edit.png and /dev/null differ
diff --git a/koha-tmpl/opac-tmpl/prog/famfamfam/silk/table_error.png b/koha-tmpl/opac-tmpl/prog/famfamfam/silk/table_error.png
deleted file mode 100644 (file)
index 589e92b..0000000
Binary files a/koha-tmpl/opac-tmpl/prog/famfamfam/silk/table_error.png and /dev/null differ
diff --git a/koha-tmpl/opac-tmpl/prog/famfamfam/silk/table_gear.png b/koha-tmpl/opac-tmpl/prog/famfamfam/silk/table_gear.png
deleted file mode 100644 (file)
index cfc2702..0000000
Binary files a/koha-tmpl/opac-tmpl/prog/famfamfam/silk/table_gear.png and /dev/null differ
diff --git a/koha-tmpl/opac-tmpl/prog/famfamfam/silk/table_go.png b/koha-tmpl/opac-tmpl/prog/famfamfam/silk/table_go.png
deleted file mode 100644 (file)
index 0528dfa..0000000
Binary files a/koha-tmpl/opac-tmpl/prog/famfamfam/silk/table_go.png and /dev/null differ
diff --git a/koha-tmpl/opac-tmpl/prog/famfamfam/silk/table_key.png b/koha-tmpl/opac-tmpl/prog/famfamfam/silk/table_key.png
deleted file mode 100644 (file)
index 34e23e2..0000000
Binary files a/koha-tmpl/opac-tmpl/prog/famfamfam/silk/table_key.png and /dev/null differ
diff --git a/koha-tmpl/opac-tmpl/prog/famfamfam/silk/table_lightning.png b/koha-tmpl/opac-tmpl/prog/famfamfam/silk/table_lightning.png
deleted file mode 100644 (file)
index 612612b..0000000
Binary files a/koha-tmpl/opac-tmpl/prog/famfamfam/silk/table_lightning.png and /dev/null differ
diff --git a/koha-tmpl/opac-tmpl/prog/famfamfam/silk/table_link.png b/koha-tmpl/opac-tmpl/prog/famfamfam/silk/table_link.png
deleted file mode 100644 (file)
index decac8a..0000000
Binary files a/koha-tmpl/opac-tmpl/prog/famfamfam/silk/table_link.png and /dev/null differ
diff --git a/koha-tmpl/opac-tmpl/prog/famfamfam/silk/table_multiple.png b/koha-tmpl/opac-tmpl/prog/famfamfam/silk/table_multiple.png
deleted file mode 100644 (file)
index d76448e..0000000
Binary files a/koha-tmpl/opac-tmpl/prog/famfamfam/silk/table_multiple.png and /dev/null differ
diff --git a/koha-tmpl/opac-tmpl/prog/famfamfam/silk/table_refresh.png b/koha-tmpl/opac-tmpl/prog/famfamfam/silk/table_refresh.png
deleted file mode 100644 (file)
index ab92010..0000000
Binary files a/koha-tmpl/opac-tmpl/prog/famfamfam/silk/table_refresh.png and /dev/null differ
diff --git a/koha-tmpl/opac-tmpl/prog/famfamfam/silk/table_relationship.png b/koha-tmpl/opac-tmpl/prog/famfamfam/silk/table_relationship.png
deleted file mode 100644 (file)
index 28b8505..0000000
Binary files a/koha-tmpl/opac-tmpl/prog/famfamfam/silk/table_relationship.png and /dev/null differ
diff --git a/koha-tmpl/opac-tmpl/prog/famfamfam/silk/table_row_delete.png b/koha-tmpl/opac-tmpl/prog/famfamfam/silk/table_row_delete.png
deleted file mode 100644 (file)
index 54c6969..0000000
Binary files a/koha-tmpl/opac-tmpl/prog/famfamfam/silk/table_row_delete.png and /dev/null differ
diff --git a/koha-tmpl/opac-tmpl/prog/famfamfam/silk/table_row_insert.png b/koha-tmpl/opac-tmpl/prog/famfamfam/silk/table_row_insert.png
deleted file mode 100644 (file)
index ff5925e..0000000
Binary files a/koha-tmpl/opac-tmpl/prog/famfamfam/silk/table_row_insert.png and /dev/null differ
diff --git a/koha-tmpl/opac-tmpl/prog/famfamfam/silk/table_save.png b/koha-tmpl/opac-tmpl/prog/famfamfam/silk/table_save.png
deleted file mode 100644 (file)
index 25b74d1..0000000
Binary files a/koha-tmpl/opac-tmpl/prog/famfamfam/silk/table_save.png and /dev/null differ
diff --git a/koha-tmpl/opac-tmpl/prog/famfamfam/silk/table_sort.png b/koha-tmpl/opac-tmpl/prog/famfamfam/silk/table_sort.png
deleted file mode 100644 (file)
index ed6785a..0000000
Binary files a/koha-tmpl/opac-tmpl/prog/famfamfam/silk/table_sort.png and /dev/null differ
diff --git a/koha-tmpl/opac-tmpl/prog/famfamfam/silk/tag.png b/koha-tmpl/opac-tmpl/prog/famfamfam/silk/tag.png
deleted file mode 100644 (file)
index e093032..0000000
Binary files a/koha-tmpl/opac-tmpl/prog/famfamfam/silk/tag.png and /dev/null differ
diff --git a/koha-tmpl/opac-tmpl/prog/famfamfam/silk/tag_blue.png b/koha-tmpl/opac-tmpl/prog/famfamfam/silk/tag_blue.png
deleted file mode 100644 (file)
index 9757fc6..0000000
Binary files a/koha-tmpl/opac-tmpl/prog/famfamfam/silk/tag_blue.png and /dev/null differ
diff --git a/koha-tmpl/opac-tmpl/prog/famfamfam/silk/tag_blue_add.png b/koha-tmpl/opac-tmpl/prog/famfamfam/silk/tag_blue_add.png
deleted file mode 100644 (file)
index f135248..0000000
Binary files a/koha-tmpl/opac-tmpl/prog/famfamfam/silk/tag_blue_add.png and /dev/null differ
diff --git a/koha-tmpl/opac-tmpl/prog/famfamfam/silk/tag_blue_delete.png b/koha-tmpl/opac-tmpl/prog/famfamfam/silk/tag_blue_delete.png
deleted file mode 100644 (file)
index 9fbae67..0000000
Binary files a/koha-tmpl/opac-tmpl/prog/famfamfam/silk/tag_blue_delete.png and /dev/null differ
diff --git a/koha-tmpl/opac-tmpl/prog/famfamfam/silk/tag_blue_edit.png b/koha-tmpl/opac-tmpl/prog/famfamfam/silk/tag_blue_edit.png
deleted file mode 100644 (file)
index 2a9f626..0000000
Binary files a/koha-tmpl/opac-tmpl/prog/famfamfam/silk/tag_blue_edit.png and /dev/null differ
diff --git a/koha-tmpl/opac-tmpl/prog/famfamfam/silk/tag_green.png b/koha-tmpl/opac-tmpl/prog/famfamfam/silk/tag_green.png
deleted file mode 100644 (file)
index 83ec984..0000000
Binary files a/koha-tmpl/opac-tmpl/prog/famfamfam/silk/tag_green.png and /dev/null differ
diff --git a/koha-tmpl/opac-tmpl/prog/famfamfam/silk/tag_orange.png b/koha-tmpl/opac-tmpl/prog/famfamfam/silk/tag_orange.png
deleted file mode 100644 (file)
index 454a59f..0000000
Binary files a/koha-tmpl/opac-tmpl/prog/famfamfam/silk/tag_orange.png and /dev/null differ
diff --git a/koha-tmpl/opac-tmpl/prog/famfamfam/silk/tag_pink.png b/koha-tmpl/opac-tmpl/prog/famfamfam/silk/tag_pink.png
deleted file mode 100644 (file)
index 76e2296..0000000
Binary files a/koha-tmpl/opac-tmpl/prog/famfamfam/silk/tag_pink.png and /dev/null differ
diff --git a/koha-tmpl/opac-tmpl/prog/famfamfam/silk/tag_purple.png b/koha-tmpl/opac-tmpl/prog/famfamfam/silk/tag_purple.png
deleted file mode 100644 (file)
index ebaf0e8..0000000
Binary files a/koha-tmpl/opac-tmpl/prog/famfamfam/silk/tag_purple.png and /dev/null differ
diff --git a/koha-tmpl/opac-tmpl/prog/famfamfam/silk/tag_red.png b/koha-tmpl/opac-tmpl/prog/famfamfam/silk/tag_red.png
deleted file mode 100644 (file)
index 6ebb37d..0000000
Binary files a/koha-tmpl/opac-tmpl/prog/famfamfam/silk/tag_red.png and /dev/null differ
diff --git a/koha-tmpl/opac-tmpl/prog/famfamfam/silk/tag_yellow.png b/koha-tmpl/opac-tmpl/prog/famfamfam/silk/tag_yellow.png
deleted file mode 100644 (file)
index 83d1292..0000000
Binary files a/koha-tmpl/opac-tmpl/prog/famfamfam/silk/tag_yellow.png and /dev/null differ
diff --git a/koha-tmpl/opac-tmpl/prog/famfamfam/silk/telephone.png b/koha-tmpl/opac-tmpl/prog/famfamfam/silk/telephone.png
deleted file mode 100644 (file)
index cecc436..0000000
Binary files a/koha-tmpl/opac-tmpl/prog/famfamfam/silk/telephone.png and /dev/null differ
diff --git a/koha-tmpl/opac-tmpl/prog/famfamfam/silk/telephone_add.png b/koha-tmpl/opac-tmpl/prog/famfamfam/silk/telephone_add.png
deleted file mode 100644 (file)
index 5591cfc..0000000
Binary files a/koha-tmpl/opac-tmpl/prog/famfamfam/silk/telephone_add.png and /dev/null differ
diff --git a/koha-tmpl/opac-tmpl/prog/famfamfam/silk/telephone_delete.png b/koha-tmpl/opac-tmpl/prog/famfamfam/silk/telephone_delete.png
deleted file mode 100644 (file)
index 0013268..0000000
Binary files a/koha-tmpl/opac-tmpl/prog/famfamfam/silk/telephone_delete.png and /dev/null differ
diff --git a/koha-tmpl/opac-tmpl/prog/famfamfam/silk/telephone_edit.png b/koha-tmpl/opac-tmpl/prog/famfamfam/silk/telephone_edit.png
deleted file mode 100644 (file)
index bcf6d7e..0000000
Binary files a/koha-tmpl/opac-tmpl/prog/famfamfam/silk/telephone_edit.png and /dev/null differ
diff --git a/koha-tmpl/opac-tmpl/prog/famfamfam/silk/telephone_error.png b/koha-tmpl/opac-tmpl/prog/famfamfam/silk/telephone_error.png
deleted file mode 100644 (file)
index d3ec3a1..0000000
Binary files a/koha-tmpl/opac-tmpl/prog/famfamfam/silk/telephone_error.png and /dev/null differ
diff --git a/koha-tmpl/opac-tmpl/prog/famfamfam/silk/telephone_go.png b/koha-tmpl/opac-tmpl/prog/famfamfam/silk/telephone_go.png
deleted file mode 100644 (file)
index 395c8fb..0000000
Binary files a/koha-tmpl/opac-tmpl/prog/famfamfam/silk/telephone_go.png and /dev/null differ
diff --git a/koha-tmpl/opac-tmpl/prog/famfamfam/silk/telephone_key.png b/koha-tmpl/opac-tmpl/prog/famfamfam/silk/telephone_key.png
deleted file mode 100644 (file)
index cef5dec..0000000
Binary files a/koha-tmpl/opac-tmpl/prog/famfamfam/silk/telephone_key.png and /dev/null differ
diff --git a/koha-tmpl/opac-tmpl/prog/famfamfam/silk/telephone_link.png b/koha-tmpl/opac-tmpl/prog/famfamfam/silk/telephone_link.png
deleted file mode 100644 (file)
index ef1ee5d..0000000
Binary files a/koha-tmpl/opac-tmpl/prog/famfamfam/silk/telephone_link.png and /dev/null differ
diff --git a/koha-tmpl/opac-tmpl/prog/famfamfam/silk/television.png b/koha-tmpl/opac-tmpl/prog/famfamfam/silk/television.png
deleted file mode 100644 (file)
index 1738a4f..0000000
Binary files a/koha-tmpl/opac-tmpl/prog/famfamfam/silk/television.png and /dev/null differ
diff --git a/koha-tmpl/opac-tmpl/prog/famfamfam/silk/television_add.png b/koha-tmpl/opac-tmpl/prog/famfamfam/silk/television_add.png
deleted file mode 100644 (file)
index 2baaad9..0000000
Binary files a/koha-tmpl/opac-tmpl/prog/famfamfam/silk/television_add.png and /dev/null differ
diff --git a/koha-tmpl/opac-tmpl/prog/famfamfam/silk/television_delete.png b/koha-tmpl/opac-tmpl/prog/famfamfam/silk/television_delete.png
deleted file mode 100644 (file)
index b9a5860..0000000
Binary files a/koha-tmpl/opac-tmpl/prog/famfamfam/silk/television_delete.png and /dev/null differ
diff --git a/koha-tmpl/opac-tmpl/prog/famfamfam/silk/text_align_center.png b/koha-tmpl/opac-tmpl/prog/famfamfam/silk/text_align_center.png
deleted file mode 100644 (file)
index 57beb38..0000000
Binary files a/koha-tmpl/opac-tmpl/prog/famfamfam/silk/text_align_center.png and /dev/null differ
diff --git a/koha-tmpl/opac-tmpl/prog/famfamfam/silk/text_align_justify.png b/koha-tmpl/opac-tmpl/prog/famfamfam/silk/text_align_justify.png
deleted file mode 100644 (file)
index 2fbdd69..0000000
Binary files a/koha-tmpl/opac-tmpl/prog/famfamfam/silk/text_align_justify.png and /dev/null differ
diff --git a/koha-tmpl/opac-tmpl/prog/famfamfam/silk/text_align_left.png b/koha-tmpl/opac-tmpl/prog/famfamfam/silk/text_align_left.png
deleted file mode 100644 (file)
index 6c8fcc1..0000000
Binary files a/koha-tmpl/opac-tmpl/prog/famfamfam/silk/text_align_left.png and /dev/null differ
diff --git a/koha-tmpl/opac-tmpl/prog/famfamfam/silk/text_align_right.png b/koha-tmpl/opac-tmpl/prog/famfamfam/silk/text_align_right.png
deleted file mode 100644 (file)
index a150257..0000000
Binary files a/koha-tmpl/opac-tmpl/prog/famfamfam/silk/text_align_right.png and /dev/null differ
diff --git a/koha-tmpl/opac-tmpl/prog/famfamfam/silk/text_allcaps.png b/koha-tmpl/opac-tmpl/prog/famfamfam/silk/text_allcaps.png
deleted file mode 100644 (file)
index 280fd44..0000000
Binary files a/koha-tmpl/opac-tmpl/prog/famfamfam/silk/text_allcaps.png and /dev/null differ
diff --git a/koha-tmpl/opac-tmpl/prog/famfamfam/silk/text_bold.png b/koha-tmpl/opac-tmpl/prog/famfamfam/silk/text_bold.png
deleted file mode 100644 (file)
index 889ae80..0000000
Binary files a/koha-tmpl/opac-tmpl/prog/famfamfam/silk/text_bold.png and /dev/null differ
diff --git a/koha-tmpl/opac-tmpl/prog/famfamfam/silk/text_columns.png b/koha-tmpl/opac-tmpl/prog/famfamfam/silk/text_columns.png
deleted file mode 100644 (file)
index 97b2e03..0000000
Binary files a/koha-tmpl/opac-tmpl/prog/famfamfam/silk/text_columns.png and /dev/null differ
diff --git a/koha-tmpl/opac-tmpl/prog/famfamfam/silk/text_dropcaps.png b/koha-tmpl/opac-tmpl/prog/famfamfam/silk/text_dropcaps.png
deleted file mode 100644 (file)
index dd65786..0000000
Binary files a/koha-tmpl/opac-tmpl/prog/famfamfam/silk/text_dropcaps.png and /dev/null differ
diff --git a/koha-tmpl/opac-tmpl/prog/famfamfam/silk/text_heading_1.png b/koha-tmpl/opac-tmpl/prog/famfamfam/silk/text_heading_1.png
deleted file mode 100644 (file)
index 9c122e9..0000000
Binary files a/koha-tmpl/opac-tmpl/prog/famfamfam/silk/text_heading_1.png and /dev/null differ
diff --git a/koha-tmpl/opac-tmpl/prog/famfamfam/silk/text_heading_2.png b/koha-tmpl/opac-tmpl/prog/famfamfam/silk/text_heading_2.png
deleted file mode 100644 (file)
index fbd8765..0000000
Binary files a/koha-tmpl/opac-tmpl/prog/famfamfam/silk/text_heading_2.png and /dev/null differ
diff --git a/koha-tmpl/opac-tmpl/prog/famfamfam/silk/text_heading_3.png b/koha-tmpl/opac-tmpl/prog/famfamfam/silk/text_heading_3.png
deleted file mode 100644 (file)
index c7836cf..0000000
Binary files a/koha-tmpl/opac-tmpl/prog/famfamfam/silk/text_heading_3.png and /dev/null differ
diff --git a/koha-tmpl/opac-tmpl/prog/famfamfam/silk/text_heading_4.png b/koha-tmpl/opac-tmpl/prog/famfamfam/silk/text_heading_4.png
deleted file mode 100644 (file)
index 4e929ea..0000000
Binary files a/koha-tmpl/opac-tmpl/prog/famfamfam/silk/text_heading_4.png and /dev/null differ
diff --git a/koha-tmpl/opac-tmpl/prog/famfamfam/silk/text_heading_5.png b/koha-tmpl/opac-tmpl/prog/famfamfam/silk/text_heading_5.png
deleted file mode 100644 (file)
index 30cabeb..0000000
Binary files a/koha-tmpl/opac-tmpl/prog/famfamfam/silk/text_heading_5.png and /dev/null differ
diff --git a/koha-tmpl/opac-tmpl/prog/famfamfam/silk/text_heading_6.png b/koha-tmpl/opac-tmpl/prog/famfamfam/silk/text_heading_6.png
deleted file mode 100644 (file)
index 058170a..0000000
Binary files a/koha-tmpl/opac-tmpl/prog/famfamfam/silk/text_heading_6.png and /dev/null differ
diff --git a/koha-tmpl/opac-tmpl/prog/famfamfam/silk/text_horizontalrule.png b/koha-tmpl/opac-tmpl/prog/famfamfam/silk/text_horizontalrule.png
deleted file mode 100644 (file)
index 8dd1da1..0000000
Binary files a/koha-tmpl/opac-tmpl/prog/famfamfam/silk/text_horizontalrule.png and /dev/null differ
diff --git a/koha-tmpl/opac-tmpl/prog/famfamfam/silk/text_indent.png b/koha-tmpl/opac-tmpl/prog/famfamfam/silk/text_indent.png
deleted file mode 100644 (file)
index 9364532..0000000
Binary files a/koha-tmpl/opac-tmpl/prog/famfamfam/silk/text_indent.png and /dev/null differ
diff --git a/koha-tmpl/opac-tmpl/prog/famfamfam/silk/text_indent_remove.png b/koha-tmpl/opac-tmpl/prog/famfamfam/silk/text_indent_remove.png
deleted file mode 100644 (file)
index 1651b07..0000000
Binary files a/koha-tmpl/opac-tmpl/prog/famfamfam/silk/text_indent_remove.png and /dev/null differ
diff --git a/koha-tmpl/opac-tmpl/prog/famfamfam/silk/text_italic.png b/koha-tmpl/opac-tmpl/prog/famfamfam/silk/text_italic.png
deleted file mode 100644 (file)
index 8482ac8..0000000
Binary files a/koha-tmpl/opac-tmpl/prog/famfamfam/silk/text_italic.png and /dev/null differ
diff --git a/koha-tmpl/opac-tmpl/prog/famfamfam/silk/text_kerning.png b/koha-tmpl/opac-tmpl/prog/famfamfam/silk/text_kerning.png
deleted file mode 100644 (file)
index 377def6..0000000
Binary files a/koha-tmpl/opac-tmpl/prog/famfamfam/silk/text_kerning.png and /dev/null differ
diff --git a/koha-tmpl/opac-tmpl/prog/famfamfam/silk/text_letter_omega.png b/koha-tmpl/opac-tmpl/prog/famfamfam/silk/text_letter_omega.png
deleted file mode 100644 (file)
index 5075ec6..0000000
Binary files a/koha-tmpl/opac-tmpl/prog/famfamfam/silk/text_letter_omega.png and /dev/null differ
diff --git a/koha-tmpl/opac-tmpl/prog/famfamfam/silk/text_letterspacing.png b/koha-tmpl/opac-tmpl/prog/famfamfam/silk/text_letterspacing.png
deleted file mode 100644 (file)
index 41390f5..0000000
Binary files a/koha-tmpl/opac-tmpl/prog/famfamfam/silk/text_letterspacing.png and /dev/null differ
diff --git a/koha-tmpl/opac-tmpl/prog/famfamfam/silk/text_linespacing.png b/koha-tmpl/opac-tmpl/prog/famfamfam/silk/text_linespacing.png
deleted file mode 100644 (file)
index 1a91cbd..0000000
Binary files a/koha-tmpl/opac-tmpl/prog/famfamfam/silk/text_linespacing.png and /dev/null differ
diff --git a/koha-tmpl/opac-tmpl/prog/famfamfam/silk/text_list_bullets.png b/koha-tmpl/opac-tmpl/prog/famfamfam/silk/text_list_bullets.png
deleted file mode 100644 (file)
index 4a8672b..0000000
Binary files a/koha-tmpl/opac-tmpl/prog/famfamfam/silk/text_list_bullets.png and /dev/null differ
diff --git a/koha-tmpl/opac-tmpl/prog/famfamfam/silk/text_list_numbers.png b/koha-tmpl/opac-tmpl/prog/famfamfam/silk/text_list_numbers.png
deleted file mode 100644 (file)
index 33b0b8d..0000000
Binary files a/koha-tmpl/opac-tmpl/prog/famfamfam/silk/text_list_numbers.png and /dev/null differ
diff --git a/koha-tmpl/opac-tmpl/prog/famfamfam/silk/text_lowercase.png b/koha-tmpl/opac-tmpl/prog/famfamfam/silk/text_lowercase.png
deleted file mode 100644 (file)
index 382a102..0000000
Binary files a/koha-tmpl/opac-tmpl/prog/famfamfam/silk/text_lowercase.png and /dev/null differ
diff --git a/koha-tmpl/opac-tmpl/prog/famfamfam/silk/text_padding_bottom.png b/koha-tmpl/opac-tmpl/prog/famfamfam/silk/text_padding_bottom.png
deleted file mode 100644 (file)
index 4880c43..0000000
Binary files a/koha-tmpl/opac-tmpl/prog/famfamfam/silk/text_padding_bottom.png and /dev/null differ
diff --git a/koha-tmpl/opac-tmpl/prog/famfamfam/silk/text_padding_left.png b/koha-tmpl/opac-tmpl/prog/famfamfam/silk/text_padding_left.png
deleted file mode 100644 (file)
index b55482e..0000000
Binary files a/koha-tmpl/opac-tmpl/prog/famfamfam/silk/text_padding_left.png and /dev/null differ
diff --git a/koha-tmpl/opac-tmpl/prog/famfamfam/silk/text_padding_right.png b/koha-tmpl/opac-tmpl/prog/famfamfam/silk/text_padding_right.png
deleted file mode 100644 (file)
index 106edae..0000000
Binary files a/koha-tmpl/opac-tmpl/prog/famfamfam/silk/text_padding_right.png and /dev/null differ
diff --git a/koha-tmpl/opac-tmpl/prog/famfamfam/silk/text_padding_top.png b/koha-tmpl/opac-tmpl/prog/famfamfam/silk/text_padding_top.png
deleted file mode 100644 (file)
index c5c45b2..0000000
Binary files a/koha-tmpl/opac-tmpl/prog/famfamfam/silk/text_padding_top.png and /dev/null differ
diff --git a/koha-tmpl/opac-tmpl/prog/famfamfam/silk/text_replace.png b/koha-tmpl/opac-tmpl/prog/famfamfam/silk/text_replace.png
deleted file mode 100644 (file)
index 877f82f..0000000
Binary files a/koha-tmpl/opac-tmpl/prog/famfamfam/silk/text_replace.png and /dev/null differ
diff --git a/koha-tmpl/opac-tmpl/prog/famfamfam/silk/text_signature.png b/koha-tmpl/opac-tmpl/prog/famfamfam/silk/text_signature.png
deleted file mode 100644 (file)
index c72fd80..0000000
Binary files a/koha-tmpl/opac-tmpl/prog/famfamfam/silk/text_signature.png and /dev/null differ
diff --git a/koha-tmpl/opac-tmpl/prog/famfamfam/silk/text_smallcaps.png b/koha-tmpl/opac-tmpl/prog/famfamfam/silk/text_smallcaps.png
deleted file mode 100644 (file)
index 5b98a6e..0000000
Binary files a/koha-tmpl/opac-tmpl/prog/famfamfam/silk/text_smallcaps.png and /dev/null differ
diff --git a/koha-tmpl/opac-tmpl/prog/famfamfam/silk/text_strikethrough.png b/koha-tmpl/opac-tmpl/prog/famfamfam/silk/text_strikethrough.png
deleted file mode 100644 (file)
index 612058a..0000000
Binary files a/koha-tmpl/opac-tmpl/prog/famfamfam/silk/text_strikethrough.png and /dev/null differ
diff --git a/koha-tmpl/opac-tmpl/prog/famfamfam/silk/text_subscript.png b/koha-tmpl/opac-tmpl/prog/famfamfam/silk/text_subscript.png
deleted file mode 100644 (file)
index 1a2b010..0000000
Binary files a/koha-tmpl/opac-tmpl/prog/famfamfam/silk/text_subscript.png and /dev/null differ
diff --git a/koha-tmpl/opac-tmpl/prog/famfamfam/silk/text_superscript.png b/koha-tmpl/opac-tmpl/prog/famfamfam/silk/text_superscript.png
deleted file mode 100644 (file)
index 2fb2a7c..0000000
Binary files a/koha-tmpl/opac-tmpl/prog/famfamfam/silk/text_superscript.png and /dev/null differ
diff --git a/koha-tmpl/opac-tmpl/prog/famfamfam/silk/text_underline.png b/koha-tmpl/opac-tmpl/prog/famfamfam/silk/text_underline.png
deleted file mode 100644 (file)
index 90d0df2..0000000
Binary files a/koha-tmpl/opac-tmpl/prog/famfamfam/silk/text_underline.png and /dev/null differ
diff --git a/koha-tmpl/opac-tmpl/prog/famfamfam/silk/text_uppercase.png b/koha-tmpl/opac-tmpl/prog/famfamfam/silk/text_uppercase.png
deleted file mode 100644 (file)
index 8dcc2db..0000000
Binary files a/koha-tmpl/opac-tmpl/prog/famfamfam/silk/text_uppercase.png and /dev/null differ
diff --git a/koha-tmpl/opac-tmpl/prog/famfamfam/silk/textfield.png b/koha-tmpl/opac-tmpl/prog/famfamfam/silk/textfield.png
deleted file mode 100644 (file)
index d37e730..0000000
Binary files a/koha-tmpl/opac-tmpl/prog/famfamfam/silk/textfield.png and /dev/null differ
diff --git a/koha-tmpl/opac-tmpl/prog/famfamfam/silk/textfield_add.png b/koha-tmpl/opac-tmpl/prog/famfamfam/silk/textfield_add.png
deleted file mode 100644 (file)
index 204de72..0000000
Binary files a/koha-tmpl/opac-tmpl/prog/famfamfam/silk/textfield_add.png and /dev/null differ
diff --git a/koha-tmpl/opac-tmpl/prog/famfamfam/silk/textfield_delete.png b/koha-tmpl/opac-tmpl/prog/famfamfam/silk/textfield_delete.png
deleted file mode 100644 (file)
index c7bd58b..0000000
Binary files a/koha-tmpl/opac-tmpl/prog/famfamfam/silk/textfield_delete.png and /dev/null differ
diff --git a/koha-tmpl/opac-tmpl/prog/famfamfam/silk/textfield_key.png b/koha-tmpl/opac-tmpl/prog/famfamfam/silk/textfield_key.png
deleted file mode 100644 (file)
index a9d5e4f..0000000
Binary files a/koha-tmpl/opac-tmpl/prog/famfamfam/silk/textfield_key.png and /dev/null differ
diff --git a/koha-tmpl/opac-tmpl/prog/famfamfam/silk/textfield_rename.png b/koha-tmpl/opac-tmpl/prog/famfamfam/silk/textfield_rename.png
deleted file mode 100644 (file)
index 4e3688e..0000000
Binary files a/koha-tmpl/opac-tmpl/prog/famfamfam/silk/textfield_rename.png and /dev/null differ
diff --git a/koha-tmpl/opac-tmpl/prog/famfamfam/silk/thumb_down.png b/koha-tmpl/opac-tmpl/prog/famfamfam/silk/thumb_down.png
deleted file mode 100644 (file)
index 3c832d4..0000000
Binary files a/koha-tmpl/opac-tmpl/prog/famfamfam/silk/thumb_down.png and /dev/null differ
diff --git a/koha-tmpl/opac-tmpl/prog/famfamfam/silk/thumb_up.png b/koha-tmpl/opac-tmpl/prog/famfamfam/silk/thumb_up.png
deleted file mode 100644 (file)
index 2bd16cc..0000000
Binary files a/koha-tmpl/opac-tmpl/prog/famfamfam/silk/thumb_up.png and /dev/null differ
diff --git a/koha-tmpl/opac-tmpl/prog/famfamfam/silk/tick.png b/koha-tmpl/opac-tmpl/prog/famfamfam/silk/tick.png
deleted file mode 100644 (file)
index a9925a0..0000000
Binary files a/koha-tmpl/opac-tmpl/prog/famfamfam/silk/tick.png and /dev/null differ
diff --git a/koha-tmpl/opac-tmpl/prog/famfamfam/silk/time.png b/koha-tmpl/opac-tmpl/prog/famfamfam/silk/time.png
deleted file mode 100644 (file)
index 911da3f..0000000
Binary files a/koha-tmpl/opac-tmpl/prog/famfamfam/silk/time.png and /dev/null differ
diff --git a/koha-tmpl/opac-tmpl/prog/famfamfam/silk/time_add.png b/koha-tmpl/opac-tmpl/prog/famfamfam/silk/time_add.png
deleted file mode 100644 (file)
index dcc45cb..0000000
Binary files a/koha-tmpl/opac-tmpl/prog/famfamfam/silk/time_add.png and /dev/null differ
diff --git a/koha-tmpl/opac-tmpl/prog/famfamfam/silk/time_delete.png b/koha-tmpl/opac-tmpl/prog/famfamfam/silk/time_delete.png
deleted file mode 100644 (file)
index 5bf8313..0000000
Binary files a/koha-tmpl/opac-tmpl/prog/famfamfam/silk/time_delete.png and /dev/null differ
diff --git a/koha-tmpl/opac-tmpl/prog/famfamfam/silk/time_go.png b/koha-tmpl/opac-tmpl/prog/famfamfam/silk/time_go.png
deleted file mode 100644 (file)
index d451ee0..0000000
Binary files a/koha-tmpl/opac-tmpl/prog/famfamfam/silk/time_go.png and /dev/null differ
diff --git a/koha-tmpl/opac-tmpl/prog/famfamfam/silk/timeline_marker.png b/koha-tmpl/opac-tmpl/prog/famfamfam/silk/timeline_marker.png
deleted file mode 100644 (file)
index a3fbddf..0000000
Binary files a/koha-tmpl/opac-tmpl/prog/famfamfam/silk/timeline_marker.png and /dev/null differ
diff --git a/koha-tmpl/opac-tmpl/prog/famfamfam/silk/transmit.png b/koha-tmpl/opac-tmpl/prog/famfamfam/silk/transmit.png
deleted file mode 100644 (file)
index f54bf73..0000000
Binary files a/koha-tmpl/opac-tmpl/prog/famfamfam/silk/transmit.png and /dev/null differ
diff --git a/koha-tmpl/opac-tmpl/prog/famfamfam/silk/transmit_add.png b/koha-tmpl/opac-tmpl/prog/famfamfam/silk/transmit_add.png
deleted file mode 100644 (file)
index b7fd4e6..0000000
Binary files a/koha-tmpl/opac-tmpl/prog/famfamfam/silk/transmit_add.png and /dev/null differ
diff --git a/koha-tmpl/opac-tmpl/prog/famfamfam/silk/transmit_blue.png b/koha-tmpl/opac-tmpl/prog/famfamfam/silk/transmit_blue.png
deleted file mode 100644 (file)
index 7b1142f..0000000
Binary files a/koha-tmpl/opac-tmpl/prog/famfamfam/silk/transmit_blue.png and /dev/null differ
diff --git a/koha-tmpl/opac-tmpl/prog/famfamfam/silk/transmit_delete.png b/koha-tmpl/opac-tmpl/prog/famfamfam/silk/transmit_delete.png
deleted file mode 100644 (file)
index 3d72be2..0000000
Binary files a/koha-tmpl/opac-tmpl/prog/famfamfam/silk/transmit_delete.png and /dev/null differ
diff --git a/koha-tmpl/opac-tmpl/prog/famfamfam/silk/transmit_edit.png b/koha-tmpl/opac-tmpl/prog/famfamfam/silk/transmit_edit.png
deleted file mode 100644 (file)
index eb9a3dd..0000000
Binary files a/koha-tmpl/opac-tmpl/prog/famfamfam/silk/transmit_edit.png and /dev/null differ
diff --git a/koha-tmpl/opac-tmpl/prog/famfamfam/silk/transmit_error.png b/koha-tmpl/opac-tmpl/prog/famfamfam/silk/transmit_error.png
deleted file mode 100644 (file)
index fd1d449..0000000
Binary files a/koha-tmpl/opac-tmpl/prog/famfamfam/silk/transmit_error.png and /dev/null differ
diff --git a/koha-tmpl/opac-tmpl/prog/famfamfam/silk/transmit_go.png b/koha-tmpl/opac-tmpl/prog/famfamfam/silk/transmit_go.png
deleted file mode 100644 (file)
index 10137e5..0000000
Binary files a/koha-tmpl/opac-tmpl/prog/famfamfam/silk/transmit_go.png and /dev/null differ
diff --git a/koha-tmpl/opac-tmpl/prog/famfamfam/silk/tux.png b/koha-tmpl/opac-tmpl/prog/famfamfam/silk/tux.png
deleted file mode 100644 (file)
index bbefe2e..0000000
Binary files a/koha-tmpl/opac-tmpl/prog/famfamfam/silk/tux.png and /dev/null differ
diff --git a/koha-tmpl/opac-tmpl/prog/famfamfam/silk/user.png b/koha-tmpl/opac-tmpl/prog/famfamfam/silk/user.png
deleted file mode 100644 (file)
index 79f35cc..0000000
Binary files a/koha-tmpl/opac-tmpl/prog/famfamfam/silk/user.png and /dev/null differ
diff --git a/koha-tmpl/opac-tmpl/prog/famfamfam/silk/user_add.png b/koha-tmpl/opac-tmpl/prog/famfamfam/silk/user_add.png
deleted file mode 100644 (file)
index deae99b..0000000
Binary files a/koha-tmpl/opac-tmpl/prog/famfamfam/silk/user_add.png and /dev/null differ
diff --git a/koha-tmpl/opac-tmpl/prog/famfamfam/silk/user_comment.png b/koha-tmpl/opac-tmpl/prog/famfamfam/silk/user_comment.png
deleted file mode 100644 (file)
index e54ebeb..0000000
Binary files a/koha-tmpl/opac-tmpl/prog/famfamfam/silk/user_comment.png and /dev/null differ
diff --git a/koha-tmpl/opac-tmpl/prog/famfamfam/silk/user_delete.png b/koha-tmpl/opac-tmpl/prog/famfamfam/silk/user_delete.png
deleted file mode 100644 (file)
index acbb563..0000000
Binary files a/koha-tmpl/opac-tmpl/prog/famfamfam/silk/user_delete.png and /dev/null differ
diff --git a/koha-tmpl/opac-tmpl/prog/famfamfam/silk/user_edit.png b/koha-tmpl/opac-tmpl/prog/famfamfam/silk/user_edit.png
deleted file mode 100644 (file)
index c1974cd..0000000
Binary files a/koha-tmpl/opac-tmpl/prog/famfamfam/silk/user_edit.png and /dev/null differ
diff --git a/koha-tmpl/opac-tmpl/prog/famfamfam/silk/user_female.png b/koha-tmpl/opac-tmpl/prog/famfamfam/silk/user_female.png
deleted file mode 100644 (file)
index 7c71de0..0000000
Binary files a/koha-tmpl/opac-tmpl/prog/famfamfam/silk/user_female.png and /dev/null differ
diff --git a/koha-tmpl/opac-tmpl/prog/famfamfam/silk/user_go.png b/koha-tmpl/opac-tmpl/prog/famfamfam/silk/user_go.png
deleted file mode 100644 (file)
index 0468cf0..0000000
Binary files a/koha-tmpl/opac-tmpl/prog/famfamfam/silk/user_go.png and /dev/null differ
diff --git a/koha-tmpl/opac-tmpl/prog/famfamfam/silk/user_gray.png b/koha-tmpl/opac-tmpl/prog/famfamfam/silk/user_gray.png
deleted file mode 100644 (file)
index 8fd539e..0000000
Binary files a/koha-tmpl/opac-tmpl/prog/famfamfam/silk/user_gray.png and /dev/null differ
diff --git a/koha-tmpl/opac-tmpl/prog/famfamfam/silk/user_green.png b/koha-tmpl/opac-tmpl/prog/famfamfam/silk/user_green.png
deleted file mode 100644 (file)
index 30383c2..0000000
Binary files a/koha-tmpl/opac-tmpl/prog/famfamfam/silk/user_green.png and /dev/null differ
diff --git a/koha-tmpl/opac-tmpl/prog/famfamfam/silk/user_orange.png b/koha-tmpl/opac-tmpl/prog/famfamfam/silk/user_orange.png
deleted file mode 100644 (file)
index b818127..0000000
Binary files a/koha-tmpl/opac-tmpl/prog/famfamfam/silk/user_orange.png and /dev/null differ
diff --git a/koha-tmpl/opac-tmpl/prog/famfamfam/silk/user_red.png b/koha-tmpl/opac-tmpl/prog/famfamfam/silk/user_red.png
deleted file mode 100644 (file)
index c6f66e8..0000000
Binary files a/koha-tmpl/opac-tmpl/prog/famfamfam/silk/user_red.png and /dev/null differ
diff --git a/koha-tmpl/opac-tmpl/prog/famfamfam/silk/user_suit.png b/koha-tmpl/opac-tmpl/prog/famfamfam/silk/user_suit.png
deleted file mode 100644 (file)
index b3454e1..0000000
Binary files a/koha-tmpl/opac-tmpl/prog/famfamfam/silk/user_suit.png and /dev/null differ
diff --git a/koha-tmpl/opac-tmpl/prog/famfamfam/silk/vcard.png b/koha-tmpl/opac-tmpl/prog/famfamfam/silk/vcard.png
deleted file mode 100644 (file)
index c02f315..0000000
Binary files a/koha-tmpl/opac-tmpl/prog/famfamfam/silk/vcard.png and /dev/null differ
diff --git a/koha-tmpl/opac-tmpl/prog/famfamfam/silk/vcard_add.png b/koha-tmpl/opac-tmpl/prog/famfamfam/silk/vcard_add.png
deleted file mode 100644 (file)
index 2a68453..0000000
Binary files a/koha-tmpl/opac-tmpl/prog/famfamfam/silk/vcard_add.png and /dev/null differ
diff --git a/koha-tmpl/opac-tmpl/prog/famfamfam/silk/vcard_delete.png b/koha-tmpl/opac-tmpl/prog/famfamfam/silk/vcard_delete.png
deleted file mode 100644 (file)
index b194b97..0000000
Binary files a/koha-tmpl/opac-tmpl/prog/famfamfam/silk/vcard_delete.png and /dev/null differ
diff --git a/koha-tmpl/opac-tmpl/prog/famfamfam/silk/vcard_edit.png b/koha-tmpl/opac-tmpl/prog/famfamfam/silk/vcard_edit.png
deleted file mode 100644 (file)
index ab0f6e7..0000000
Binary files a/koha-tmpl/opac-tmpl/prog/famfamfam/silk/vcard_edit.png and /dev/null differ
diff --git a/koha-tmpl/opac-tmpl/prog/famfamfam/silk/vector.png b/koha-tmpl/opac-tmpl/prog/famfamfam/silk/vector.png
deleted file mode 100644 (file)
index a1291c2..0000000
Binary files a/koha-tmpl/opac-tmpl/prog/famfamfam/silk/vector.png and /dev/null differ
diff --git a/koha-tmpl/opac-tmpl/prog/famfamfam/silk/vector_add.png b/koha-tmpl/opac-tmpl/prog/famfamfam/silk/vector_add.png
deleted file mode 100644 (file)
index 988770f..0000000
Binary files a/koha-tmpl/opac-tmpl/prog/famfamfam/silk/vector_add.png and /dev/null differ
diff --git a/koha-tmpl/opac-tmpl/prog/famfamfam/silk/vector_delete.png b/koha-tmpl/opac-tmpl/prog/famfamfam/silk/vector_delete.png
deleted file mode 100644 (file)
index ca139e0..0000000
Binary files a/koha-tmpl/opac-tmpl/prog/famfamfam/silk/vector_delete.png and /dev/null differ
diff --git a/koha-tmpl/opac-tmpl/prog/famfamfam/silk/wand.png b/koha-tmpl/opac-tmpl/prog/famfamfam/silk/wand.png
deleted file mode 100644 (file)
index 44ccbf8..0000000
Binary files a/koha-tmpl/opac-tmpl/prog/famfamfam/silk/wand.png and /dev/null differ
diff --git a/koha-tmpl/opac-tmpl/prog/famfamfam/silk/weather_clouds.png b/koha-tmpl/opac-tmpl/prog/famfamfam/silk/weather_clouds.png
deleted file mode 100644 (file)
index 3f73eaa..0000000
Binary files a/koha-tmpl/opac-tmpl/prog/famfamfam/silk/weather_clouds.png and /dev/null differ
diff --git a/koha-tmpl/opac-tmpl/prog/famfamfam/silk/weather_cloudy.png b/koha-tmpl/opac-tmpl/prog/famfamfam/silk/weather_cloudy.png
deleted file mode 100644 (file)
index 5856e1d..0000000
Binary files a/koha-tmpl/opac-tmpl/prog/famfamfam/silk/weather_cloudy.png and /dev/null differ
diff --git a/koha-tmpl/opac-tmpl/prog/famfamfam/silk/weather_lightning.png b/koha-tmpl/opac-tmpl/prog/famfamfam/silk/weather_lightning.png
deleted file mode 100644 (file)
index 1d42b36..0000000
Binary files a/koha-tmpl/opac-tmpl/prog/famfamfam/silk/weather_lightning.png and /dev/null differ
diff --git a/koha-tmpl/opac-tmpl/prog/famfamfam/silk/weather_rain.png b/koha-tmpl/opac-tmpl/prog/famfamfam/silk/weather_rain.png
deleted file mode 100644 (file)
index cb3d54d..0000000
Binary files a/koha-tmpl/opac-tmpl/prog/famfamfam/silk/weather_rain.png and /dev/null differ
diff --git a/koha-tmpl/opac-tmpl/prog/famfamfam/silk/weather_snow.png b/koha-tmpl/opac-tmpl/prog/famfamfam/silk/weather_snow.png
deleted file mode 100644 (file)
index 45bbdf1..0000000
Binary files a/koha-tmpl/opac-tmpl/prog/famfamfam/silk/weather_snow.png and /dev/null differ
diff --git a/koha-tmpl/opac-tmpl/prog/famfamfam/silk/weather_sun.png b/koha-tmpl/opac-tmpl/prog/famfamfam/silk/weather_sun.png
deleted file mode 100644 (file)
index 0156c26..0000000
Binary files a/koha-tmpl/opac-tmpl/prog/famfamfam/silk/weather_sun.png and /dev/null differ
diff --git a/koha-tmpl/opac-tmpl/prog/famfamfam/silk/webcam.png b/koha-tmpl/opac-tmpl/prog/famfamfam/silk/webcam.png
deleted file mode 100644 (file)
index af71c30..0000000
Binary files a/koha-tmpl/opac-tmpl/prog/famfamfam/silk/webcam.png and /dev/null differ
diff --git a/koha-tmpl/opac-tmpl/prog/famfamfam/silk/webcam_add.png b/koha-tmpl/opac-tmpl/prog/famfamfam/silk/webcam_add.png
deleted file mode 100644 (file)
index f02fcfa..0000000
Binary files a/koha-tmpl/opac-tmpl/prog/famfamfam/silk/webcam_add.png and /dev/null differ
diff --git a/koha-tmpl/opac-tmpl/prog/famfamfam/silk/webcam_delete.png b/koha-tmpl/opac-tmpl/prog/famfamfam/silk/webcam_delete.png
deleted file mode 100644 (file)
index bd6277f..0000000
Binary files a/koha-tmpl/opac-tmpl/prog/famfamfam/silk/webcam_delete.png and /dev/null differ
diff --git a/koha-tmpl/opac-tmpl/prog/famfamfam/silk/webcam_error.png b/koha-tmpl/opac-tmpl/prog/famfamfam/silk/webcam_error.png
deleted file mode 100644 (file)
index 2faa706..0000000
Binary files a/koha-tmpl/opac-tmpl/prog/famfamfam/silk/webcam_error.png and /dev/null differ
diff --git a/koha-tmpl/opac-tmpl/prog/famfamfam/silk/world.png b/koha-tmpl/opac-tmpl/prog/famfamfam/silk/world.png
deleted file mode 100644 (file)
index 68f21d3..0000000
Binary files a/koha-tmpl/opac-tmpl/prog/famfamfam/silk/world.png and /dev/null differ
diff --git a/koha-tmpl/opac-tmpl/prog/famfamfam/silk/world_add.png b/koha-tmpl/opac-tmpl/prog/famfamfam/silk/world_add.png
deleted file mode 100644 (file)
index 6d0d7f7..0000000
Binary files a/koha-tmpl/opac-tmpl/prog/famfamfam/silk/world_add.png and /dev/null differ
diff --git a/koha-tmpl/opac-tmpl/prog/famfamfam/silk/world_delete.png b/koha-tmpl/opac-tmpl/prog/famfamfam/silk/world_delete.png
deleted file mode 100644 (file)
index ffcd115..0000000
Binary files a/koha-tmpl/opac-tmpl/prog/famfamfam/silk/world_delete.png and /dev/null differ
diff --git a/koha-tmpl/opac-tmpl/prog/famfamfam/silk/world_edit.png b/koha-tmpl/opac-tmpl/prog/famfamfam/silk/world_edit.png
deleted file mode 100644 (file)
index 00794d4..0000000
Binary files a/koha-tmpl/opac-tmpl/prog/famfamfam/silk/world_edit.png and /dev/null differ
diff --git a/koha-tmpl/opac-tmpl/prog/famfamfam/silk/world_go.png b/koha-tmpl/opac-tmpl/prog/famfamfam/silk/world_go.png
deleted file mode 100644 (file)
index aee9c97..0000000
Binary files a/koha-tmpl/opac-tmpl/prog/famfamfam/silk/world_go.png and /dev/null differ
diff --git a/koha-tmpl/opac-tmpl/prog/famfamfam/silk/world_link.png b/koha-tmpl/opac-tmpl/prog/famfamfam/silk/world_link.png
deleted file mode 100644 (file)
index b8edc12..0000000
Binary files a/koha-tmpl/opac-tmpl/prog/famfamfam/silk/world_link.png and /dev/null differ
diff --git a/koha-tmpl/opac-tmpl/prog/famfamfam/silk/wrench.png b/koha-tmpl/opac-tmpl/prog/famfamfam/silk/wrench.png
deleted file mode 100644 (file)
index 5c8213f..0000000
Binary files a/koha-tmpl/opac-tmpl/prog/famfamfam/silk/wrench.png and /dev/null differ
diff --git a/koha-tmpl/opac-tmpl/prog/famfamfam/silk/wrench_orange.png b/koha-tmpl/opac-tmpl/prog/famfamfam/silk/wrench_orange.png
deleted file mode 100644 (file)
index 565a933..0000000
Binary files a/koha-tmpl/opac-tmpl/prog/famfamfam/silk/wrench_orange.png and /dev/null differ
diff --git a/koha-tmpl/opac-tmpl/prog/famfamfam/silk/xhtml.png b/koha-tmpl/opac-tmpl/prog/famfamfam/silk/xhtml.png
deleted file mode 100644 (file)
index da5dbf2..0000000
Binary files a/koha-tmpl/opac-tmpl/prog/famfamfam/silk/xhtml.png and /dev/null differ
diff --git a/koha-tmpl/opac-tmpl/prog/famfamfam/silk/xhtml_add.png b/koha-tmpl/opac-tmpl/prog/famfamfam/silk/xhtml_add.png
deleted file mode 100644 (file)
index bbaf784..0000000
Binary files a/koha-tmpl/opac-tmpl/prog/famfamfam/silk/xhtml_add.png and /dev/null differ
diff --git a/koha-tmpl/opac-tmpl/prog/famfamfam/silk/xhtml_delete.png b/koha-tmpl/opac-tmpl/prog/famfamfam/silk/xhtml_delete.png
deleted file mode 100644 (file)
index 157b520..0000000
Binary files a/koha-tmpl/opac-tmpl/prog/famfamfam/silk/xhtml_delete.png and /dev/null differ
diff --git a/koha-tmpl/opac-tmpl/prog/famfamfam/silk/xhtml_go.png b/koha-tmpl/opac-tmpl/prog/famfamfam/silk/xhtml_go.png
deleted file mode 100644 (file)
index 43cf814..0000000
Binary files a/koha-tmpl/opac-tmpl/prog/famfamfam/silk/xhtml_go.png and /dev/null differ
diff --git a/koha-tmpl/opac-tmpl/prog/famfamfam/silk/xhtml_valid.png b/koha-tmpl/opac-tmpl/prog/famfamfam/silk/xhtml_valid.png
deleted file mode 100644 (file)
index d2e1cfb..0000000
Binary files a/koha-tmpl/opac-tmpl/prog/famfamfam/silk/xhtml_valid.png and /dev/null differ
diff --git a/koha-tmpl/opac-tmpl/prog/famfamfam/silk/zoom.png b/koha-tmpl/opac-tmpl/prog/famfamfam/silk/zoom.png
deleted file mode 100644 (file)
index 908612e..0000000
Binary files a/koha-tmpl/opac-tmpl/prog/famfamfam/silk/zoom.png and /dev/null differ
diff --git a/koha-tmpl/opac-tmpl/prog/famfamfam/silk/zoom_in.png b/koha-tmpl/opac-tmpl/prog/famfamfam/silk/zoom_in.png
deleted file mode 100644 (file)
index cdf0a52..0000000
Binary files a/koha-tmpl/opac-tmpl/prog/famfamfam/silk/zoom_in.png and /dev/null differ
diff --git a/koha-tmpl/opac-tmpl/prog/famfamfam/silk/zoom_out.png b/koha-tmpl/opac-tmpl/prog/famfamfam/silk/zoom_out.png
deleted file mode 100644 (file)
index 07bf98a..0000000
Binary files a/koha-tmpl/opac-tmpl/prog/famfamfam/silk/zoom_out.png and /dev/null differ
diff --git a/koha-tmpl/opac-tmpl/prog/images/browse-next.gif b/koha-tmpl/opac-tmpl/prog/images/browse-next.gif
deleted file mode 100644 (file)
index 7fcd3f0..0000000
Binary files a/koha-tmpl/opac-tmpl/prog/images/browse-next.gif and /dev/null differ
diff --git a/koha-tmpl/opac-tmpl/prog/images/browse-prev.gif b/koha-tmpl/opac-tmpl/prog/images/browse-prev.gif
deleted file mode 100644 (file)
index feca93e..0000000
Binary files a/koha-tmpl/opac-tmpl/prog/images/browse-prev.gif and /dev/null differ
diff --git a/koha-tmpl/opac-tmpl/prog/images/caret.gif b/koha-tmpl/opac-tmpl/prog/images/caret.gif
deleted file mode 100644 (file)
index 8c3bf7b..0000000
Binary files a/koha-tmpl/opac-tmpl/prog/images/caret.gif and /dev/null differ
diff --git a/koha-tmpl/opac-tmpl/prog/images/delete.gif b/koha-tmpl/opac-tmpl/prog/images/delete.gif
deleted file mode 100755 (executable)
index 43c6ca8..0000000
Binary files a/koha-tmpl/opac-tmpl/prog/images/delete.gif and /dev/null differ
diff --git a/koha-tmpl/opac-tmpl/prog/images/item-bullet.gif b/koha-tmpl/opac-tmpl/prog/images/item-bullet.gif
deleted file mode 100644 (file)
index eae920d..0000000
Binary files a/koha-tmpl/opac-tmpl/prog/images/item-bullet.gif and /dev/null differ
diff --git a/koha-tmpl/opac-tmpl/prog/images/social-sprite.png b/koha-tmpl/opac-tmpl/prog/images/social-sprite.png
new file mode 100644 (file)
index 0000000..63d6b74
Binary files /dev/null and b/koha-tmpl/opac-tmpl/prog/images/social-sprite.png differ
diff --git a/koha-tmpl/opac-tmpl/prog/images/socnet/delicious16.gif b/koha-tmpl/opac-tmpl/prog/images/socnet/delicious16.gif
deleted file mode 100644 (file)
index 11682e8..0000000
Binary files a/koha-tmpl/opac-tmpl/prog/images/socnet/delicious16.gif and /dev/null differ
diff --git a/koha-tmpl/opac-tmpl/prog/images/socnet/facebook16.png b/koha-tmpl/opac-tmpl/prog/images/socnet/facebook16.png
deleted file mode 100644 (file)
index 1176590..0000000
Binary files a/koha-tmpl/opac-tmpl/prog/images/socnet/facebook16.png and /dev/null differ
diff --git a/koha-tmpl/opac-tmpl/prog/images/socnet/linkedin16.png b/koha-tmpl/opac-tmpl/prog/images/socnet/linkedin16.png
deleted file mode 100644 (file)
index 2a195c2..0000000
Binary files a/koha-tmpl/opac-tmpl/prog/images/socnet/linkedin16.png and /dev/null differ
diff --git a/koha-tmpl/opac-tmpl/prog/images/socnet/mailto16.png b/koha-tmpl/opac-tmpl/prog/images/socnet/mailto16.png
deleted file mode 100644 (file)
index d8e4a5a..0000000
Binary files a/koha-tmpl/opac-tmpl/prog/images/socnet/mailto16.png and /dev/null differ
diff --git a/koha-tmpl/opac-tmpl/prog/images/socnet/twitter16.png b/koha-tmpl/opac-tmpl/prog/images/socnet/twitter16.png
deleted file mode 100644 (file)
index ccb1b61..0000000
Binary files a/koha-tmpl/opac-tmpl/prog/images/socnet/twitter16.png and /dev/null differ
index 797c0f5..734328b 100644 (file)
Binary files a/koha-tmpl/opac-tmpl/prog/images/sprite.png and b/koha-tmpl/opac-tmpl/prog/images/sprite.png differ
diff --git a/koha-tmpl/opac-tmpl/prog/images/star-ratings-sprite.png b/koha-tmpl/opac-tmpl/prog/images/star-ratings-sprite.png
new file mode 100644 (file)
index 0000000..1dadc55
Binary files /dev/null and b/koha-tmpl/opac-tmpl/prog/images/star-ratings-sprite.png differ
diff --git a/koha-tmpl/opac-tmpl/prog/images/star.gif b/koha-tmpl/opac-tmpl/prog/images/star.gif
deleted file mode 100644 (file)
index d0948a7..0000000
Binary files a/koha-tmpl/opac-tmpl/prog/images/star.gif and /dev/null differ
diff --git a/koha-tmpl/opac-tmpl/prog/itemtypeimg/colors/000000.png b/koha-tmpl/opac-tmpl/prog/itemtypeimg/colors/000000.png
new file mode 100644 (file)
index 0000000..c49677f
Binary files /dev/null and b/koha-tmpl/opac-tmpl/prog/itemtypeimg/colors/000000.png differ
diff --git a/koha-tmpl/opac-tmpl/prog/itemtypeimg/colors/006600.png b/koha-tmpl/opac-tmpl/prog/itemtypeimg/colors/006600.png
new file mode 100644 (file)
index 0000000..fe1f139
Binary files /dev/null and b/koha-tmpl/opac-tmpl/prog/itemtypeimg/colors/006600.png differ
diff --git a/koha-tmpl/opac-tmpl/prog/itemtypeimg/colors/3333cc.png b/koha-tmpl/opac-tmpl/prog/itemtypeimg/colors/3333cc.png
new file mode 100644 (file)
index 0000000..99b4dd9
Binary files /dev/null and b/koha-tmpl/opac-tmpl/prog/itemtypeimg/colors/3333cc.png differ
diff --git a/koha-tmpl/opac-tmpl/prog/itemtypeimg/colors/660000.png b/koha-tmpl/opac-tmpl/prog/itemtypeimg/colors/660000.png
new file mode 100644 (file)
index 0000000..c9d1460
Binary files /dev/null and b/koha-tmpl/opac-tmpl/prog/itemtypeimg/colors/660000.png differ
diff --git a/koha-tmpl/opac-tmpl/prog/itemtypeimg/colors/6600cc.png b/koha-tmpl/opac-tmpl/prog/itemtypeimg/colors/6600cc.png
new file mode 100644 (file)
index 0000000..824a29b
Binary files /dev/null and b/koha-tmpl/opac-tmpl/prog/itemtypeimg/colors/6600cc.png differ
diff --git a/koha-tmpl/opac-tmpl/prog/itemtypeimg/colors/663333.png b/koha-tmpl/opac-tmpl/prog/itemtypeimg/colors/663333.png
new file mode 100644 (file)
index 0000000..c9188a1
Binary files /dev/null and b/koha-tmpl/opac-tmpl/prog/itemtypeimg/colors/663333.png differ
diff --git a/koha-tmpl/opac-tmpl/prog/itemtypeimg/colors/6666cc.png b/koha-tmpl/opac-tmpl/prog/itemtypeimg/colors/6666cc.png
new file mode 100644 (file)
index 0000000..971e519
Binary files /dev/null and b/koha-tmpl/opac-tmpl/prog/itemtypeimg/colors/6666cc.png differ
diff --git a/koha-tmpl/opac-tmpl/prog/itemtypeimg/colors/66cc66.png b/koha-tmpl/opac-tmpl/prog/itemtypeimg/colors/66cc66.png
new file mode 100644 (file)
index 0000000..6ef627a
Binary files /dev/null and b/koha-tmpl/opac-tmpl/prog/itemtypeimg/colors/66cc66.png differ
diff --git a/koha-tmpl/opac-tmpl/prog/itemtypeimg/colors/990000.png b/koha-tmpl/opac-tmpl/prog/itemtypeimg/colors/990000.png
new file mode 100644 (file)
index 0000000..ebde602
Binary files /dev/null and b/koha-tmpl/opac-tmpl/prog/itemtypeimg/colors/990000.png differ
diff --git a/koha-tmpl/opac-tmpl/prog/itemtypeimg/colors/996633.png b/koha-tmpl/opac-tmpl/prog/itemtypeimg/colors/996633.png
new file mode 100644 (file)
index 0000000..eb887fb
Binary files /dev/null and b/koha-tmpl/opac-tmpl/prog/itemtypeimg/colors/996633.png differ
diff --git a/koha-tmpl/opac-tmpl/prog/itemtypeimg/colors/999999.png b/koha-tmpl/opac-tmpl/prog/itemtypeimg/colors/999999.png
new file mode 100644 (file)
index 0000000..43fd127
Binary files /dev/null and b/koha-tmpl/opac-tmpl/prog/itemtypeimg/colors/999999.png differ
diff --git a/koha-tmpl/opac-tmpl/prog/itemtypeimg/colors/9999cc.png b/koha-tmpl/opac-tmpl/prog/itemtypeimg/colors/9999cc.png
new file mode 100644 (file)
index 0000000..aef8072
Binary files /dev/null and b/koha-tmpl/opac-tmpl/prog/itemtypeimg/colors/9999cc.png differ
diff --git a/koha-tmpl/opac-tmpl/prog/itemtypeimg/colors/99cc33.png b/koha-tmpl/opac-tmpl/prog/itemtypeimg/colors/99cc33.png
new file mode 100644 (file)
index 0000000..a8bdda4
Binary files /dev/null and b/koha-tmpl/opac-tmpl/prog/itemtypeimg/colors/99cc33.png differ
diff --git a/koha-tmpl/opac-tmpl/prog/itemtypeimg/colors/cc3333.png b/koha-tmpl/opac-tmpl/prog/itemtypeimg/colors/cc3333.png
new file mode 100644 (file)
index 0000000..bfbb87e
Binary files /dev/null and b/koha-tmpl/opac-tmpl/prog/itemtypeimg/colors/cc3333.png differ
diff --git a/koha-tmpl/opac-tmpl/prog/itemtypeimg/colors/cc6666.png b/koha-tmpl/opac-tmpl/prog/itemtypeimg/colors/cc6666.png
new file mode 100644 (file)
index 0000000..7245ce2
Binary files /dev/null and b/koha-tmpl/opac-tmpl/prog/itemtypeimg/colors/cc6666.png differ
diff --git a/koha-tmpl/opac-tmpl/prog/itemtypeimg/colors/cc66cc.png b/koha-tmpl/opac-tmpl/prog/itemtypeimg/colors/cc66cc.png
new file mode 100644 (file)
index 0000000..a6d755e
Binary files /dev/null and b/koha-tmpl/opac-tmpl/prog/itemtypeimg/colors/cc66cc.png differ
diff --git a/koha-tmpl/opac-tmpl/prog/itemtypeimg/colors/cc9999.png b/koha-tmpl/opac-tmpl/prog/itemtypeimg/colors/cc9999.png
new file mode 100644 (file)
index 0000000..efc8d4f
Binary files /dev/null and b/koha-tmpl/opac-tmpl/prog/itemtypeimg/colors/cc9999.png differ
diff --git a/koha-tmpl/opac-tmpl/prog/itemtypeimg/colors/cc99cc.png b/koha-tmpl/opac-tmpl/prog/itemtypeimg/colors/cc99cc.png
new file mode 100644 (file)
index 0000000..da331c1
Binary files /dev/null and b/koha-tmpl/opac-tmpl/prog/itemtypeimg/colors/cc99cc.png differ
diff --git a/koha-tmpl/opac-tmpl/prog/itemtypeimg/colors/cccc00.png b/koha-tmpl/opac-tmpl/prog/itemtypeimg/colors/cccc00.png
new file mode 100644 (file)
index 0000000..a9894bd
Binary files /dev/null and b/koha-tmpl/opac-tmpl/prog/itemtypeimg/colors/cccc00.png differ
diff --git a/koha-tmpl/opac-tmpl/prog/itemtypeimg/colors/ffff33.png b/koha-tmpl/opac-tmpl/prog/itemtypeimg/colors/ffff33.png
new file mode 100644 (file)
index 0000000..7124afd
Binary files /dev/null and b/koha-tmpl/opac-tmpl/prog/itemtypeimg/colors/ffff33.png differ
diff --git a/koha-tmpl/opac-tmpl/prog/itemtypeimg/colors/ffffcc.png b/koha-tmpl/opac-tmpl/prog/itemtypeimg/colors/ffffcc.png
new file mode 100644 (file)
index 0000000..96be0f4
Binary files /dev/null and b/koha-tmpl/opac-tmpl/prog/itemtypeimg/colors/ffffcc.png differ
diff --git a/koha-tmpl/opac-tmpl/prog/itemtypeimg/colors/ffffff.png b/koha-tmpl/opac-tmpl/prog/itemtypeimg/colors/ffffff.png
new file mode 100644 (file)
index 0000000..5fb4c35
Binary files /dev/null and b/koha-tmpl/opac-tmpl/prog/itemtypeimg/colors/ffffff.png differ
index 0bca780..db591d3 100644 (file)
@@ -16,7 +16,7 @@ the kohaversion is divided in 4 parts :
 use strict;
 
 sub kohaversion {
-    our $VERSION = '3.09.00.032';
+    our $VERSION = '3.09.00.061';
     # version needs to be set this way
     # so that it can be picked up by Makefile.PL
     # during install
index 44db953..eebc8d3 100755 (executable)
@@ -53,7 +53,7 @@ my $action = $input->param('action') || '';
 my $data=GetMember('borrowernumber' => $borrowernumber);
 
 if ( $action eq 'reverse' ) {
-  ReversePayment( $borrowernumber, $input->param('accountno') );
+  ReversePayment( $input->param('accountlines_id') );
 }
 
 if ( $data->{'category_type'} eq 'C') {
index f011c77..84bc41e 100755 (executable)
@@ -23,8 +23,10 @@ use warnings;
 use CGI;
 
 use C4::Auth;
+use C4::Branch;
 use C4::Output;
 use C4::Members;
+use C4::Members::Attributes qw(GetBorrowerAttributes);
 use C4::Debug;
 
 use Koha::DateUtils;
@@ -100,6 +102,22 @@ else {
     }
 
     $template->param(
+        categoryname    => $data->{'description'},
+        branchname      => GetBranchName($data->{'branchcode'}),
+    );
+
+    if (C4::Context->preference('ExtendedPatronAttributes')) {
+        my $attributes = GetBorrowerAttributes($borrowernumber);
+        $template->param(
+            ExtendedPatronAttributes => 1,
+            extendedattributes => $attributes
+        );
+    }
+
+    my ($picture, $dberror) = GetPatronImage($data->{'cardnumber'});
+    $template->param( picture => 1 ) if $picture;
+
+    $template->param(
         files => Koha::Borrower::Files->new( borrowernumber => $borrowernumber )
           ->GetFilesInfo(),
 
index bef3323..f8aa4f1 100755 (executable)
@@ -141,6 +141,7 @@ foreach my $borrower(@$results[$from..$to-1]){
     issues => $issue,
     odissue => "$od/$issue",
     fines =>  sprintf("%.2f",$fines),
+    branchname => $branches->{$borrower->{branchcode}}->{branchname},
     );
   push(@resultsdata, \%row);
 }
index 2a39110..9a3dd18 100755 (executable)
@@ -433,9 +433,10 @@ if ($op eq "modify")  {
 if ( $op eq "duplicate" ) {
     $template->param( updtype => 'I' );
     $template->param( step_1 => 1, step_2 => 1, step_3 => 1, step_4 => 1, step_5 => 1, step_6 => 1 ) unless $step;
+    $data{'cardnumber'} = "";
 }
 
-$data{'cardnumber'}=fixup_cardnumber($data{'cardnumber'}) if $op eq 'add';
+$data{'cardnumber'}=fixup_cardnumber($data{'cardnumber'}) if ( ( $op eq 'add' ) or ( $op eq 'duplicate' ) );
 if(!defined($data{'sex'})){
     $template->param( none => 1);
 } elsif($data{'sex'} eq 'F'){
index 8f5233c..7580daf 100755 (executable)
@@ -42,6 +42,8 @@ use C4::Branch;
 use C4::Members::Attributes qw(GetBorrowerAttributes);
 
 our $input = CGI->new;
+our $writeoff_sth;
+our $add_writeoff_sth;
 
 our ( $template, $loggedinuser, $cookie ) = get_template_and_user(
     {   template_name   => 'members/pay.tmpl',
@@ -83,11 +85,11 @@ my $writeoff_all = $input->param('woall');    # writeoff all fines
 if ($writeoff_all) {
     writeoff_all(@names);
 } elsif ($writeoff_item) {
-    my $accountno    = $input->param('accountno');
+    my $accountlines_id = $input->param('accountlines_id');
     my $itemno       = $input->param('itemnumber');
     my $account_type = $input->param('accounttype');
     my $amount       = $input->param('amountoutstanding');
-    WriteOffFee( $borrowernumber, $accountno, $itemno, $account_type, $amount, $branch );
+    WriteOffFee( $borrowernumber, $accountlines_id, $itemno, $account_type, $amount, $branch );
 }
 
 for (@names) {
@@ -106,6 +108,23 @@ add_accounts_to_template();
 
 output_html_with_http_headers $input, $cookie, $template->output;
 
+sub writeoff {
+    my ( $accountlines_id, $itemnum, $accounttype, $amount ) = @_;
+    my $manager_id = 0;
+    $manager_id = C4::Context->userenv->{'number'} if C4::Context->userenv;
+
+    # if no item is attached to fine, make sure to store it as a NULL
+    $itemnum ||= undef;
+    get_writeoff_sth();
+    $writeoff_sth->execute( $accountlines_id );
+
+    my $acct = getnextacctno($borrowernumber);
+    $add_writeoff_sth->execute( $borrowernumber, $acct, $itemnum, $amount, $manager_id );
+
+    UpdateStats( $branch, 'writeoff', $amount, q{}, q{}, q{}, $borrowernumber );
+
+    return;
+}
 
 sub add_accounts_to_template {
 
@@ -167,6 +186,7 @@ sub redirect_to_paycollect {
     $redirect .= get_for_redirect( 'itemnumber',   "itemnumber$line_no",   0 );
     $redirect .= get_for_redirect( 'notify_id',    "notify_id$line_no",    0 );
     $redirect .= get_for_redirect( 'notify_level', "notify_level$line_no", 0 );
+    $redirect .= get_for_redirect( 'accountlines_id', "accountlines_id$line_no", 0 );
     $redirect .= '&remote_user=';
     $redirect .= $user;
     return print $input->redirect($redirect);
@@ -184,7 +204,8 @@ sub writeoff_all {
             my $itemno    = $input->param("itemnumber$value");
             my $amount    = $input->param("amountoutstanding$value");
             my $accountno = $input->param("accountno$value");
-            WriteOffFee( $borrowernumber, $accountno, $itemno, $accounttype, $amount, $branch );
+            my $accountlines_id = $input->param("accountlines_id$value");
+            WriteOffFee( $borrowernumber, $accountlines_id, $itemno, $accounttype, $amount, $branch );
         }
     }
 
@@ -250,3 +271,23 @@ sub payselected {
     print $input->redirect($redirect);
     return;
 }
+
+sub get_writeoff_sth {
+
+    # lets prepare these statement handles only once
+    if ($writeoff_sth) {
+        return;
+    } else {
+        my $dbh = C4::Context->dbh;
+
+        # Do we need to validate accounttype
+        my $sql = 'Update accountlines set amountoutstanding=0 '
+          . 'WHERE accountlines_id=?';
+        $writeoff_sth = $dbh->prepare($sql);
+        my $insert =
+q{insert into accountlines (borrowernumber,accountno,itemnumber,date,amount,description,accounttype,manager_id)}
+          . q{values (?,?,?,now(),?,'Writeoff','W',?)};
+        $add_writeoff_sth = $dbh->prepare($insert);
+    }
+    return;
+}
index 7dfb622..5a732a9 100755 (executable)
@@ -56,7 +56,7 @@ my $writeoff     = $input->param('writeoff_individual');
 my $select_lines = $input->param('selected');
 my $select       = $input->param('selected_accts');
 my $accountno;
-
+my $accountlines_id;
 if ( $individual || $writeoff ) {
     if ($individual) {
         $template->param( pay_individual => 1 );
@@ -64,6 +64,7 @@ if ( $individual || $writeoff ) {
         $template->param( writeoff_individual => 1 );
     }
     my $accounttype       = $input->param('accounttype');
+    $accountlines_id       = $input->param('accountlines_id');
     my $amount            = $input->param('amount');
     my $amountoutstanding = $input->param('amountoutstanding');
     $accountno = $input->param('accountno');
@@ -75,6 +76,7 @@ if ( $individual || $writeoff ) {
     $total_due = $amountoutstanding;
     $template->param(
         accounttype       => $accounttype,
+        accountlines_id    => $accountlines_id,
         accountno         => $accountno,
         amount            => $amount,
         amountoutstanding => $amountoutstanding,
@@ -101,10 +103,10 @@ if ( $total_paid and $total_paid ne '0.00' ) {
     } else {
         if ($individual) {
             if ( $total_paid == $total_due ) {
-                makepayment( $borrowernumber, $accountno, $total_paid, $user,
+                makepayment( $accountlines_id, $borrowernumber, $accountno, $total_paid, $user,
                     $branch );
             } else {
-                makepartialpayment( $borrowernumber, $accountno, $total_paid,
+                makepartialpayment( $accountlines_id, $borrowernumber, $accountno, $total_paid,
                     $user, $branch );
             }
             print $input->redirect(
index 039132f..3e04fcc 100755 (executable)
@@ -48,6 +48,7 @@ my ($template, $loggedinuser, $cookie)
 my $borrowernumber=$input->param('borrowernumber');
 my $action = $input->param('action') || '';
 my $accountno = $input->param('accountno');
+my $accountlines_id = $input->param('accountlines_id');
 
 #get borrower details
 my $data=GetMember('borrowernumber' => $borrowernumber);
index d95cc8f..d1cf5cf 100755 (executable)
@@ -28,7 +28,7 @@ use CGI;
 use C4::Auth;
 use C4::Output;
 use C4::Members;
-use C4::Branch;
+use C4::Branch qw(GetBranches);
 use List::MoreUtils qw/any uniq/;
 use Koha::DateUtils;
 
@@ -62,44 +62,29 @@ if ($input->param('borrowernumber')) {
 
 my $order = 'date_due desc';
 my $limit = 0;
-my ( $issues ) = GetAllIssues($borrowernumber,$order,$limit);
-
-my @loop_reading;
-my @barcodes;
-my $today = C4::Dates->new();
-$today = $today->output("iso");
-
-foreach my $issue (@{$issues}){
-       my %line;
-       $line{issuestimestamp} = format_date($issue->{'issuestimestamp'});
-       $line{biblionumber}    = $issue->{'biblionumber'};
-       $line{title}           = $issue->{'title'};
-       $line{author}          = $issue->{'author'};
-       $line{classification}  = $issue->{'classification'} || $issue->{'itemcallnumber'};
-       $line{date_due}        = format_sqldatetime($issue->{date_due});
-       $line{returndate}      = format_sqldatetime($issue->{returndate});
-       $line{issuedate}       = format_sqldatetime($issue->{issuedate});
-       $line{issuingbranch}   = GetBranchName($issue->{'branchcode'});
-       $line{renewals}        = $issue->{'renewals'};
-       $line{barcode}         = $issue->{'barcode'};
-       $line{volumeddesc}     = $issue->{'volumeddesc'};
-       push(@loop_reading,\%line);
-    my $return_dt = Koha::DateUtils::dt_from_string($issue->{'returndate'}, 'iso');
-    if ( ( $input->param('op') eq 'export_barcodes' ) and ( $today eq $return_dt->ymd() ) ) {
-        push( @barcodes, $issue->{'barcode'} );
-    }
+my $issues = GetAllIssues($borrowernumber,$order,$limit);
+
+my $branches = GetBranches();
+foreach my $issue ( @{$issues} ) {
+    $issue->{issuingbranch} = $branches->{ $issue->{branchcode} }->{branchname};
 }
 
-if ($input->param('op') eq 'export_barcodes') {
-    my $borrowercardnumber = GetMember( borrowernumber => $borrowernumber )->{'cardnumber'} ;
+#   barcode export
+if ( $input->param('op') eq 'export_barcodes' ) {
+    my $today = C4::Dates->new();
+    $today = $today->output('iso');
+    my @barcodes =
+      map { $_->{barcode} } grep { $_->{returndate} =~ m/^$today/o } @{$issues};
+    my $borrowercardnumber =
+      GetMember( borrowernumber => $borrowernumber )->{'cardnumber'};
     my $delimiter = "\n";
-    binmode( STDOUT, ":encoding(UTF-8)");
+    binmode( STDOUT, ":encoding(UTF-8)" );
     print $input->header(
         -type       => 'application/octet-stream',
         -charset    => 'utf-8',
         -attachment => "$today-$borrowercardnumber-checkinexport.txt"
     );
-    my $content = join($delimiter, uniq(@barcodes));
+    my $content = join $delimiter, uniq(@barcodes);
     print $content;
     exit;
 }
@@ -116,6 +101,7 @@ if (! $limit){
        $limit = 'full';
 }
 
+
 my ($picture, $dberror) = GetPatronImage($data->{'cardnumber'});
 $template->param( picture => 1 ) if $picture;
 
@@ -128,36 +114,31 @@ if (C4::Context->preference('ExtendedPatronAttributes')) {
 }
 
 $template->param(
-                                               readingrecordview => 1,
-                                               biblionumber => $data->{'biblionumber'},
-                                               title => $data->{'title'},
-                                               initials => $data->{'initials'},
-                                               surname => $data->{'surname'},
-                                               othernames => $data->{'othernames'},
-                                               borrowernumber => $borrowernumber,
-                                               limit => $limit,
-                                               firstname => $data->{'firstname'},
-                                               cardnumber => $data->{'cardnumber'},
-                                           categorycode => $data->{'categorycode'},
-                                           category_type => $data->{'category_type'},
-                                          # category_description => $data->{'description'},
-                                           categoryname        => $data->{'description'},
-                                           address => $data->{'address'},
-                                               address2 => $data->{'address2'},
-                                           city => $data->{'city'},
-                                           state => $data->{'state'},
-                                               zipcode => $data->{'zipcode'},
-                                               country => $data->{'country'},
-                                               phone => $data->{'phone'},
-                                               email => $data->{'email'},
-                                               branchcode => $data->{'branchcode'},
-                                               is_child        => ($data->{'category_type'} eq 'C'),
-                                               branchname => GetBranchName($data->{'branchcode'}),
-                                               showfulllink => (scalar @loop_reading > 50),                                    
-                                               loop_reading => \@loop_reading,
-                                               activeBorrowerRelationship => (C4::Context->preference('borrowerRelationship') ne ''),
+    readingrecordview => 1,
+    title             => $data->{title},
+    initials          => $data->{initials},
+    surname           => $data->{surname},
+    othernames        => $data->{othernames},
+    borrowernumber    => $borrowernumber,
+    firstname         => $data->{firstname},
+    cardnumber        => $data->{cardnumber},
+    categorycode      => $data->{categorycode},
+    category_type     => $data->{category_type},
+    categoryname      => $data->{description},
+    address           => $data->{address},
+    address2          => $data->{address2},
+    city              => $data->{city},
+    state             => $data->{state},
+    zipcode           => $data->{zipcode},
+    country           => $data->{country},
+    phone             => $data->{phone},
+    email             => $data->{email},
+    branchcode        => $data->{branchcode},
+    is_child          => ( $data->{category_type} eq 'C' ),
+    branchname        => $branches->{ $data->{branchcode} }->{branchname},
+    loop_reading      => $issues,
+    activeBorrowerRelationship =>
+      ( C4::Context->preference('borrowerRelationship') ne '' ),
 );
 output_html_with_http_headers $input, $cookie, $template->output;
 
-
-
index 7125560..d48cdde 100755 (executable)
@@ -29,6 +29,7 @@ use C4::Branch;
 use C4::Context;
 use C4::Members;
 use C4::Members::Statistics;
+use C4::Members::Attributes qw(GetBorrowerAttributes);
 use C4::Output;
 
 my $input = new CGI;
@@ -56,7 +57,10 @@ if ( not defined $borrower ) {
 foreach my $key ( keys %$borrower ) {
     $template->param( $key => $borrower->{$key} );
 }
-
+$template->param(
+    categoryname    => $borrower->{'description'},
+    branchname      => GetBranchName($borrower->{'branchcode'}),
+);
 # Construct column names
 my $fields = C4::Members::Statistics::get_fields();
 our @statistic_column_names = split '\|', $fields;
@@ -80,6 +84,17 @@ my $count_total_issues = $total->{count_total_issues_today} || 0;
 my $count_total_issues_returned = $total->{count_total_issues_returned_today} || 0;
 my $count_total_actual_state = ($count_total_precedent_state - $count_total_issues_returned + $count_total_issues);
 
+if (C4::Context->preference('ExtendedPatronAttributes')) {
+    my $attributes = GetBorrowerAttributes($borrowernumber);
+    $template->param(
+        ExtendedPatronAttributes => 1,
+        extendedattributes => $attributes
+    );
+}
+
+my ($picture, $dberror) = GetPatronImage($borrower->{'cardnumber'});
+$template->param( picture => 1 ) if $picture;
+
 $template->param(
     statisticsview => 1,
     datas          => $datas,
diff --git a/misc/batchdeletebiblios.pl b/misc/batchdeletebiblios.pl
new file mode 100755 (executable)
index 0000000..9bc999a
--- /dev/null
@@ -0,0 +1,90 @@
+#!/usr/bin/perl
+
+use Modern::Perl;
+use Getopt::Long;
+use Pod::Usage;
+use IO::File;
+
+use C4::Biblio;
+
+my ($help, $files);
+GetOptions(
+    'h|help' => \$help,
+);
+
+pod2usage(1) if $help or not @ARGV;
+
+for my $file ( @ARGV ) {
+    say "Find biblionumber in file $file";
+    my $fh;
+    open($fh, '<', $file) or say "Error: '$file' $!" and next;
+
+    while ( <$fh> ) {
+        my $biblionumber = $_;
+        $biblionumber =~ s/$1/\n/g if $biblionumber =~ m/(\r\n?|\n\r?)/;
+        chomp $biblionumber;
+        my $dbh = C4::Context->dbh;
+        next if not $biblionumber =~ /^\d*$/;
+        print "Delete biblionumber $biblionumber ";
+        my $error;
+        eval {
+            $error = DelBiblio $biblionumber;
+        };
+        if ( $@ or $error) {
+            say "KO $@ ($! | $error)";
+        } else {
+            say "OK";
+        }
+    }
+}
+
+exit(0);
+
+__END__
+
+=head1 NAME
+
+batchdeletebiblios.pl
+
+=head1 SYNOPSIS
+
+./batchdeletebiblio.pl file1 [file2 ... filen]
+
+This script batch deletes biblios which contain a biblionumber present in file passed in parameter.
+If one biblio has items, it is not deleted.
+
+=head1 OPTIONS
+
+=over 8
+
+=item B<-h|--help>
+
+prints this help message
+
+=back
+
+=head1 AUTHOR
+
+Jonathan Druart <jonathan.druart@biblibre.com>
+
+=head1 COPYRIGHT
+
+Copyright 2012 BibLibre
+
+=head1 LICENSE
+
+This file is part of Koha.
+
+Koha is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software
+Foundation; either version 2 of the License, or (at your option) any later version.
+
+You should have received a copy of the GNU General Public License along
+with Koha; if not, write to the Free Software Foundation, Inc.,
+51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
+
+=head1 DISCLAIMER OF WARRANTY
+
+Koha is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR
+A PARTICULAR PURPOSE.  See the GNU General Public License for more details.
+
+=cut
index 9d32f8a..dd83afb 100755 (executable)
@@ -87,12 +87,16 @@ use IO::Socket::INET;
 use IO::Select;
 use POSIX;
 use HTTP::Status qw(:constants);
+use strict;
+use warnings;
 
 use LWP::UserAgent;
 use XML::Simple;
+use MARC::Record;
+use MARC::File::XML;
 
 use constant CLIENT_READ_TIMEOUT     => 5;
-use constant CLIENT_READ_BUFFER_SIZE => 4 * 1024;
+use constant CLIENT_READ_BUFFER_SIZE => 100000;
 use constant AUTH_URI       => "/cgi-bin/koha/mainpage.pl";
 use constant IMPORT_SVC_URI => "/cgi-bin/koha/svc/import_bib";
 
@@ -222,7 +226,7 @@ sub _ua {
 sub read_request {
     my ( $self, $io ) = @_;
 
-    my ($in, @in, $timeout);
+    my ($in, @in_arr, $timeout, $bad_marc);
     my $select = IO::Select->new($io) ;
     while ( "FOREVER" ) {
         if ( $select->can_read(CLIENT_READ_TIMEOUT) ){
@@ -231,22 +235,27 @@ sub read_request {
 
             # XXX ignore after NULL
             if ( $in =~ m/^(.*)\000/so ) { # null received, EOT
-                push @in, $1;
+                push @in_arr, $1;
                 last;
             }
-            push @in, $in;
+            push @in_arr, $in;
         }
         else {
-            $timeout = 1;
             last;
         }
     }
 
-    $in = join '', @in;
+    $in = join '', @in_arr;
 
+    $in =~ m/(.)$/;
+    my $lastchar = $1;
     my ($xml, $user, $password, $local_user);
     my $data = $in; # copy for diagmostic purposes
-    while ( my $first = substr( $data, 0, 1 ) ) {
+    while () {
+        my $first = substr( $data, 0, 1 );
+        if (!defined $first) {
+           last;
+        }
         $first eq 'U' && do {
             ($user, $data) = _trim_identifier($data);
             next;
@@ -256,26 +265,36 @@ sub read_request {
             next;
         };
         $first eq 'P' && do {
-            ($password,, $data) = _trim_identifier($data);
+            ($password, $data) = _trim_identifier($data);
             next;
         };
         $first eq ' ' && do {
             $data = substr( $data, 1 ); # trim
             next;
         };
-        $first eq '<' && do {
-            $xml = $data;
+        $data =~ m/^[0-9]/ && do {
+            # What we have here might be a MARC record...
+            my $marc_record;
+            eval { $marc_record = MARC::Record->new_from_usmarc($data); };
+            if ($@) {
+                $bad_marc = 1;
+            }
+            else {
+               $xml = $marc_record->as_xml();
+            }
             last;
         };
-
         last; # unexpected input
     }
 
     my @details;
     push @details, "Timeout" if $timeout;
+    push @details, "Bad MARC" if $bad_marc;
     push @details, "User: $user" if $user;
     push @details, "Password: " . ( $self->{debug} ? $password : ("x" x length($password)) ) if $password;
     push @details, "Local user: $local_user" if $local_user;
+    push @details, "XML: $xml" if $xml;
+    push @details, "Remaining data: $data" if ($data && !$xml);
     unless ($xml) {
         $self->log("Invalid request", $in, @details);
         return;
@@ -287,9 +306,14 @@ sub read_request {
 }
 
 sub _trim_identifier {
-    my ($a, $len) = unpack "cc", substr( $_[0], 0, 2 );
-
-    return ( substr( $_[0], 2, $len ), substr( $_[0], 2 + $len ) );
+    #my ($a, $len) = unpack "cc", substr( $_[0], 0, 2 );
+    my $len=ord(substr ($_[0], 1, 1)) - 64;
+    if ($len <0) {  #length is numeric, and thus comes from the web client, not the desktop client.
+       $_[0] =~ m/.(\d+)/;
+       $len = $1;
+       return ( substr( $_[0], length($len)+1 , $len ), substr( $_[0], length($len) + 1 + $len ) );
+    }
+    return ( substr( $_[0], 2 , $len ), substr( $_[0], 2 + $len ) );
 }
 
 sub handle_request {
@@ -309,13 +333,28 @@ sub handle_request {
     }
 
     my $base_url = $self->{koha};
-    my $resp = $ua->post( $base_url.IMPORT_SVC_URI, $self->{params}, 'Content-Type' => 'text/plain', Content => $data );
+    my $resp = $ua->post( $base_url.IMPORT_SVC_URI,
+                              {'nomatch_action' => $self->{params}->{nomatch_action},
+                               'overlay_action' => $self->{params}->{overlay_action},
+                               'match'          => $self->{params}->{match},
+                               'import_mode'    => $self->{params}->{import_mode},
+                               'framework'      => $self->{params}->{framework},
+                               'item_action'    => $self->{params}->{item_action},
+                               'xml'            => $data});
+
     my $status = $resp->code;
     if ($status == HTTP_UNAUTHORIZED || $status == HTTP_FORBIDDEN) {
         my $user = $self->{user};
         my $password = $self->{password};
         $resp = $ua->post( $base_url.AUTH_URI, { userid => $user, password => $password } );
-        $resp = $ua->post( $base_url.IMPORT_SVC_URI, $self->{params}, 'Content-Type' => 'text/plain', Content => $data )
+        $resp = $ua->post( $base_url.IMPORT_SVC_URI,
+                              {'nomatch_action' => $self->{params}->{nomatch_action},
+                               'overlay_action' => $self->{params}->{overlay_action},
+                               'match'          => $self->{params}->{match},
+                               'import_mode'    => $self->{params}->{import_mode},
+                               'framework'      => $self->{params}->{framework},
+                               'item_action'    => $self->{params}->{item_action},
+                               'xml'            => $data})
           if $resp->is_success;
     }
     unless ($resp->is_success) {
@@ -323,11 +362,14 @@ sub handle_request {
         return $self->error_response("Unsuccessful request");
     }
 
-    my ($koha_status, $bib, $batch_id, $error);
+    my ($koha_status, $bib, $overlay, $batch_id, $error, $url);
     if ( my $r = eval { XMLin($resp->content) } ) {
         $koha_status = $r->{status};
         $batch_id    = $r->{import_batch_id};
         $error       = $r->{error};
+        $bib         = $r->{biblionumber};
+        $overlay     = $r->{match_status};
+        $url         = $r->{url};
     }
     else {
         $koha_status = "error";
@@ -336,7 +378,12 @@ sub handle_request {
     }
 
     if ($koha_status eq "ok") {
-        return $self->response( sprintf( "Success. Import batch id: %s", $batch_id ) );
+        my $response_string = sprintf( "Success.  Batch number %s - biblio record number %s",
+                                        $batch_id,$bib);
+        $response_string .= $overlay eq 'no_match' ? ' added to Koha.' : ' overlaid by import.';
+        $response_string .= "\n\n$url";
+
+        return $self->response( $response_string );
     }
 
     return $self->error_response( sprintf( "%s.  Please contact administrator.", $error ) );
diff --git a/misc/bin/set-selinux-labels.sh b/misc/bin/set-selinux-labels.sh
new file mode 100755 (executable)
index 0000000..43cbd47
--- /dev/null
@@ -0,0 +1,121 @@
+#!/bin/sh
+#
+# This script changes selinux file labels for cgi scripts.
+# It may be useful for Linux installations with SELinux (like CentOS, Fedora,
+# RedHat among others) and having it enabled (enforcing mode).
+#
+# Copyright 2012 Rijksmuseum
+#
+# This file is part of Koha.
+#
+# Koha is free software; you can redistribute it and/or modify it under the
+# terms of the GNU General Public License as published by the Free Software
+# Foundation; either version 2 of the License, or (at your option) any later
+# version.
+#
+# Koha is distributed in the hope that it will be useful, but WITHOUT ANY
+# WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR
+# A PARTICULAR PURPOSE.  See the GNU General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License along
+# with Koha; if not, write to the Free Software Foundation, Inc.,
+# 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
+
+usage() {
+    echo "Usage: set-selinux-labels [-h] [-u] [-r] [-s] [-v]"
+    echo "  -h prints help information."
+    echo "  -u updates the selinux label for scripts in Koha installation."
+    echo "    Note: you should be in the root directory of a Koha install."
+    echo "  -r uses restorecon on scripts to restore default label."
+    echo "  -s shows all files (incl. scripts), not having default label."
+    echo "  -v provides (verbose) diagnostics per file (for update/restore)."
+    echo
+    echo "The output of -s may be confusing, but it does not reset any labels. It only prints informational messages from restorecon with -n flag."
+}
+
+updatelabel() {
+    #Now set perl scripts to httpd_sys_script_exec_t
+    #We skip scripts in: misc docs t xt and atomicupdate
+    find -name "*.pl" -and ! -path "./docs/*" -and ! -path "./misc/*" -and ! -path "./t/*" -and ! -path "./xt/*" -and ! -path "./installer/data/mysql/atomicupdate/*" | xargs chcon $verbose -t httpd_sys_script_exec_t
+
+    #Handle exceptions to the rule: scripts without .pl
+    chcon $verbose -t httpd_sys_script_exec_t opac/unapi
+    find opac/svc -type f | xargs chcon $verbose -t httpd_sys_script_exec_t
+    find svc -type f | xargs chcon $verbose -t httpd_sys_script_exec_t
+}
+
+restorelabel() {
+    find -name "*.pl" -and ! -path "./docs/*" -and ! -path "./misc/*" -and ! -path "./t/*" -and ! -path "./xt/*" -and ! -path "./installer/data/mysql/atomicupdate/*" | xargs restorecon $verbose
+    restorecon $verbose opac/unapi
+    find opac/svc -type f | xargs restorecon $verbose
+    find svc -type f | xargs restorecon $verbose
+}
+
+showlabel() {
+    restorecon -r -n -v *
+}
+
+#First: check on chcon xargs restorecon
+chcon --help >/dev/null 2>&1
+retval=$?
+if [ $retval -ne 0 ]; then
+    echo "Chcon command not found. Exiting script now.";
+    exit;
+fi
+xargs --help >/dev/null 2>&1
+retval=$?
+if [ $retval -ne 0 ]; then
+    echo "Xargs command not found. Exiting script now.";
+    exit;
+fi
+restorecon -n >/dev/null 2>&1
+retval=$?
+if [ $retval -ne 0 ]; then
+    echo "Restorecon command not found. Exiting script now.";
+    exit;
+fi
+
+#No arguments?
+if [ $# -eq 0 ]; then
+    usage
+    exit
+fi
+
+#Check command line options
+restore=0
+show=0
+update=0
+verbose=
+while getopts "hrsuv" option; do
+    case $option in
+    h)
+        usage
+        exit;;
+    r)
+        restore=1;;
+    s)
+        show=1;;
+    u)
+        update=1;;
+    v)
+        verbose="-v";;
+    esac
+done
+
+#Check if you are on root level of Koha installation
+if [ ! -e kohaversion.pl ]; then
+    echo "You are not in root directory of Koha install. Cannot continue. Bye.";
+    exit;
+fi
+
+#Cannot update and restore together
+if [ $update -eq 1 ] && [ $restore -eq 1 ]; then
+    echo "You cannot run update and restore at the same time."
+    exit;
+fi
+
+#Now run the job or print usage
+if [ $update -eq 1 ]; then updatelabel; exit; fi
+if [ $restore -eq 1 ]; then restorelabel; exit; fi
+if [ $show -eq 1 ]; then showlabel; exit; fi
+usage
diff --git a/misc/commit_biblios_file.pl b/misc/commit_biblios_file.pl
deleted file mode 100755 (executable)
index b4be670..0000000
+++ /dev/null
@@ -1,119 +0,0 @@
-#!/usr/bin/perl
-
-use strict;
-#use warnings; FIXME - Bug 2505
-BEGIN {
-    # find Koha's Perl modules
-    # test carefully before changing this
-    use FindBin;
-    eval { require "$FindBin::Bin/kohalib.pl" };
-}
-
-use C4::Context;
-use C4::ImportBatch;
-use Getopt::Long;
-
-$| = 1;
-
-# command-line parameters
-my $batch_number = "";
-my $list_batches = 0;
-my $want_help = 0;
-
-my $result = GetOptions(
-    'batch-number:s' => \$batch_number,
-    'list-batches'   => \$list_batches,
-    'h|help'         => \$want_help
-);
-
-if ($want_help or (not $batch_number and not $list_batches)) {
-    print_usage();
-    exit 0;
-}
-
-if ($list_batches) {
-    list_batches();
-    exit 0;
-}
-
-# FIXME dummy user so that logging won't fail
-# in future, probably should tie to a real user account
-C4::Context->set_userenv(0, 'batch', 0, 'batch', 'batch', 'batch', 'batch', 'batch');
-
-my $dbh = C4::Context->dbh;
-$dbh->{AutoCommit} = 0;
-if ($batch_number =~ /^\d+$/ and $batch_number > 0) {
-    my $batch = GetImportBatch($batch_number);
-    die "$0: import batch $batch_number does not exist in database\n" unless defined $batch;
-    die "$0: import batch $batch_number status is '" . $batch->{'import_status'} . "', and therefore cannot be imported\n"
-        unless $batch->{'import_status'} eq "staged" or $batch->{'import_status'} eq "reverted";
-    process_batch($batch_number);
-    $dbh->commit();
-} else {
-    die "$0: please specify a numeric batch ID\n";
-}
-
-exit 0;
-
-sub list_batches {
-    my $results = GetAllImportBatches();
-    print sprintf("%5.5s %-25.25s %-25.25s %-10.10s\n", "#", "File name", "Batch comments", "Status");
-    print '-' x 5, ' ' , '-' x 25, ' ', '-' x 25, ' ', '-' x 10, "\n" ;
-    foreach my $batch (@{ $results}) {
-        if ($batch->{'import_status'} eq "staged" or $batch->{'import_status'} eq "reverted") {
-            print sprintf("%5.5s %-25.25s %-25.25s %-10.10s\n",
-                          $batch->{'import_batch_id'},
-                          $batch->{'file_name'},
-                          $batch->{'comments'},
-                          $batch->{'import_status'});
-        }
-    }
-}
-
-sub process_batch {
-    my ($import_batch_id) = @_;
-
-    print "... importing MARC records -- please wait\n";
-    my ($num_added, $num_updated, $num_items_added, $num_items_errored, $num_ignored) = 
-        BatchCommitBibRecords($import_batch_id, '', 100, \&print_progress_and_commit);
-    print "... finished importing MARC records\n";
-
-    print <<_SUMMARY_;
-
-MARC record import report
-----------------------------------------
-Batch number:                    $import_batch_id
-Number of new bibs added:        $num_added
-Number of bibs replaced:         $num_updated
-Number of bibs ignored:          $num_ignored
-Number of items added:           $num_items_added
-Number of items ignored:         $num_items_errored
-
-Note: an item is ignored if its barcode is a 
-duplicate of one already in the database.
-_SUMMARY_
-}
-
-sub print_progress_and_commit {
-    my $recs = shift;
-    print "... processed $recs records\n";
-    $dbh->commit();
-}
-
-sub print_usage {
-    print <<_USAGE_;
-$0: import a batch of staged MARC records into database.
-
-Use this batch job to complete the import of a batch of
-MARC records that was staged either by the batch job
-stage_biblios_file.pl or by the Koha Tools option
-"Stage MARC Records for Import".
-
-Parameters:
-    --batch-number <#>   number of the record batch
-                         to import
-    --list-batches       print a list of record batches
-                         available to commit
-    --help or -h            show this message.
-_USAGE_
-}
diff --git a/misc/commit_file.pl b/misc/commit_file.pl
new file mode 100755 (executable)
index 0000000..9c1089a
--- /dev/null
@@ -0,0 +1,151 @@
+#!/usr/bin/perl
+
+use strict;
+use warnings;
+BEGIN {
+    # find Koha's Perl modules
+    # test carefully before changing this
+    use FindBin;
+    eval { require "$FindBin::Bin/kohalib.pl" };
+}
+
+use C4::Context;
+use C4::ImportBatch;
+use Getopt::Long;
+
+$| = 1;
+
+# command-line parameters
+my $batch_number = "";
+my $list_batches = 0;
+my $revert = 0;
+my $want_help = 0;
+
+my $result = GetOptions(
+    'batch-number:s' => \$batch_number,
+    'list-batches'   => \$list_batches,
+    'revert'         => \$revert,
+    'h|help'         => \$want_help
+);
+
+if ($want_help or (not $batch_number and not $list_batches)) {
+    print_usage();
+    exit 0;
+}
+
+if ($list_batches) {
+    list_batches();
+    exit 0;
+}
+
+# FIXME dummy user so that logging won't fail
+# in future, probably should tie to a real user account
+C4::Context->set_userenv(0, 'batch', 0, 'batch', 'batch', 'batch', 'batch', 'batch');
+
+my $dbh = C4::Context->dbh;
+$dbh->{AutoCommit} = 0;
+if ($batch_number =~ /^\d+$/ and $batch_number > 0) {
+    my $batch = GetImportBatch($batch_number);
+    die "$0: import batch $batch_number does not exist in database\n" unless defined $batch;
+    if ($revert) {
+        die "$0: import batch $batch_number status is '" . $batch->{'import_status'} . "', and therefore cannot be imported\n"
+            unless $batch->{'import_status'} eq "imported";
+        revert_batch($batch_number);
+    } else {
+        die "$0: import batch $batch_number status is '" . $batch->{'import_status'} . "', and therefore cannot be imported\n"
+            unless $batch->{'import_status'} eq "staged" or $batch->{'import_status'} eq "reverted";
+        process_batch($batch_number);
+    }
+    $dbh->commit();
+} else {
+    die "$0: please specify a numeric batch ID\n";
+}
+
+exit 0;
+
+sub list_batches {
+    my $results = GetAllImportBatches();
+    print sprintf("%5.5s %-25.25s %-25.25s %-10.10s\n", "#", "File name", "Batch comments", "Status");
+    print '-' x 5, ' ' , '-' x 25, ' ', '-' x 25, ' ', '-' x 10, "\n" ;
+    foreach my $batch (@{ $results}) {
+        if ($batch->{'import_status'} eq "staged" or $batch->{'import_status'} eq "reverted") {
+            print sprintf("%5.5s %-25.25s %-25.25s %-10.10s\n",
+                          $batch->{'import_batch_id'},
+                          $batch->{'file_name'},
+                          $batch->{'comments'},
+                          $batch->{'import_status'});
+        }
+    }
+}
+
+sub process_batch {
+    my ($import_batch_id) = @_;
+
+    print "... importing MARC records -- please wait\n";
+    my ($num_added, $num_updated, $num_items_added, $num_items_errored, $num_ignored) =
+        BatchCommitRecords($import_batch_id, '', 100, \&print_progress_and_commit);
+    print "... finished importing MARC records\n";
+
+    print <<_SUMMARY_;
+
+MARC record import report
+----------------------------------------
+Batch number:                    $import_batch_id
+Number of new records added:     $num_added
+Number of records replaced:      $num_updated
+Number of records ignored:       $num_ignored
+Number of items added:           $num_items_added
+Number of items ignored:         $num_items_errored
+
+Note: an item is ignored if its barcode is a
+duplicate of one already in the database.
+_SUMMARY_
+}
+
+sub revert_batch {
+    my ($import_batch_id) = @_;
+
+    print "... reverting batch -- please wait\n";
+    my ($num_deleted, $num_errors, $num_reverted, $num_items_deleted, $num_ignored) =
+        BatchRevertRecords($import_batch_id, 100, \&print_progress_and_commit);
+    print "... finished reverting batch\n";
+
+    print <<_SUMMARY_;
+
+MARC record import report
+----------------------------------------
+Batch number:                    $import_batch_id
+Number of records deleted:       $num_deleted
+Number of errors:                $num_errors
+Number of records reverted:      $num_reverted
+Number of records ignored:       $num_ignored
+Number of items added:           $num_items_deleted
+
+_SUMMARY_
+}
+
+
+sub print_progress_and_commit {
+    my $recs = shift;
+    print "... processed $recs records\n";
+    $dbh->commit();
+}
+
+sub print_usage {
+    print <<_USAGE_;
+$0: import a batch of staged MARC records into database.
+
+Use this batch job to complete the import of a batch of
+MARC records that was staged either by the batch job
+stage_file.pl or by the Koha Tools option
+"Stage MARC Records for Import".
+
+Parameters:
+    --batch-number <#>   number of the record batch
+                         to import
+    --list-batches       print a list of record batches
+                         available to commit
+    --revert             revert a batch instead of importing it
+    --help or -h         show this message.
+_USAGE_
+}
diff --git a/misc/cronjobs/check-url-quick.pl b/misc/cronjobs/check-url-quick.pl
new file mode 100755 (executable)
index 0000000..d1674e8
--- /dev/null
@@ -0,0 +1,209 @@
+#!/usr/bin/perl
+
+# Copyright 2012 Tamil s.a.r.l.
+#
+# This file is part of Koha.
+#
+# Koha is free software; you can redistribute it and/or modify it under the
+# terms of the GNU General Public License as published by the Free Software
+# Foundation; either version 2 of the License, or (at your option) any later
+# version.
+#
+# Koha is distributed in the hope that it will be useful, but WITHOUT ANY
+# WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR
+# A PARTICULAR PURPOSE.  See the GNU General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License along
+# with Koha; if not, write to the Free Software Foundation, Inc.,
+# 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
+
+use Modern::Perl;
+use Pod::Usage;
+use Getopt::Long;
+use C4::Context;
+use C4::Biblio;
+eval { require AnyEvent }       or die "This script requires AnyEvent perl library. Use check-url.pl if you can't install AnyEvent" ;
+eval { require AnyEvent::HTTP } or die "This script requires AnyEvent::HTTP perl library. Use check-url.pl if you can't install AnyEvent::HTTP" ;
+
+my ( $verbose, $help, $html ) = ( 0, 0, 0 );
+my ( $host,    $host_intranet ) = ( '', '' );
+my ( $timeout, $maxconn )       = ( 10, 200 );
+my @tags;
+my $uriedit    = "/cgi-bin/koha/cataloguing/addbiblio.pl?biblionumber=";
+my $user_agent = 'Mozilla/5.0 (compatible; U; Koha checkurl)';
+GetOptions(
+    'verbose'         => \$verbose,
+    'html'            => \$html,
+    'h|help'          => \$help,
+    'host=s'          => \$host,
+    'host-intranet=s' => \$host_intranet,
+    'timeout=i'       => \$timeout,
+    'maxconn=i'       => \$maxconn,
+    'tags=s{,}'       => \@tags,
+);
+
+# Validate tags to check
+{
+    my %h = map { $_ => undef } @tags;
+    @tags = sort keys %h;
+    my @invalids;
+    for (@tags) {
+        push @invalids, $_ unless /^\d{3}$/;
+    }
+    if (@invalids) {
+        say "Invalid tag(s): ", join( ' ', @invalids );
+        exit;
+    }
+    push @tags, '856' unless @tags;
+}
+
+sub usage {
+    pod2usage( -verbose => 2 );
+    exit;
+}
+
+sub report {
+    my ( $hdr, $biblionumber, $url ) = @_;
+    print $html
+      ? "<tr>\n <td><a href=\""
+      . $host_intranet
+      . $uriedit
+      . $biblionumber
+      . "\">$biblionumber</a>"
+      . "</td>\n <td>$url</td>\n <td>"
+      . "$hdr->{Status} $hdr->{Reason}</td>\n</tr>\n"
+      : "$biblionumber\t$url\t" . "$hdr->{Status} $hdr->{Reason}\n";
+}
+
+# Check all URLs from all current Koha biblio records
+
+sub check_all_url {
+    my $sth = C4::Context->dbh->prepare(
+        "SELECT biblionumber FROM biblioitems ORDER BY biblionumber");
+    $sth->execute;
+
+    my $count = 0;                   # Number of requested URL
+    my $cv    = AnyEvent->condvar;
+    say "<html>\n<body>\n<div id=\"checkurl\">\n<table>" if $html;
+    my $idle = AnyEvent->timer(
+        interval => .3,
+        cb       => sub {
+            return if $count > $maxconn;
+            while ( my ($biblionumber) = $sth->fetchrow ) {
+                my $record = GetMarcBiblio($biblionumber);
+                for my $tag (@tags) {
+                    foreach my $field ( $record->field($tag) ) {
+                        my $url = $field->subfield('u');
+                        next unless $url;
+                        $url = "$host/$url" unless $url =~ /^http/i;
+                        $count++;
+                        http_request(
+                            HEAD    => $url,
+                            headers => { 'user-agent' => $user_agent },
+                            timeout => $timeout,
+                            sub {
+                                my ( undef, $hdr ) = @_;
+                                $count--;
+                                report( $hdr, $biblionumber, $url )
+                                  if $hdr->{Status} !~ /^2/ || $verbose;
+                            },
+                        );
+                    }
+                }
+                return if $count > $maxconn;
+            }
+            $cv->send;
+        }
+    );
+    $cv->recv;
+    $idle = undef;
+
+    # Few more time for pending requests
+    $cv = AnyEvent->condvar;
+    my $timer = AnyEvent->timer(
+        after    => $timeout,
+        interval => $timeout,
+        cb       => sub { $cv->send if $count == 0; }
+    );
+    $cv->recv;
+    say "</table>\n</div>\n</body>\n</html>" if $html;
+}
+
+usage() if $help;
+
+if ( $html && !$host_intranet ) {
+    if ($host) {
+        $host_intranet = $host;
+    }
+    else {
+        say
+"Error: host-intranet parameter or host must be provided in html mode";
+        exit;
+    }
+}
+
+check_all_url();
+
+=head1 NAME
+
+check-url-quick.pl - Check URLs from biblio records
+
+=head1 USAGE
+
+=over
+
+=item check-url-quick [--verbose|--help|--html] [--tags 310 856] [--host=http://default.tld]
+[--host-intranet]
+
+Scan all URLs found by default in 856$u of bib records and display if resources
+are available or not. HTTP requests are sent in parallel for efficiency, and
+speed.  This script replaces check-url.pl script.
+
+=back
+
+=head1 PARAMETERS
+
+=over
+
+=item B<--host=http://default.tld>
+
+Server host used when URL doesn't have one, ie doesn't begin with 'http:'.
+For example, if --host=http://www.mylib.com, then when 856$u contains
+'img/image.jpg', the url checked is: http://www.mylib.com/image.jpg'.
+
+=item B<--tags>
+
+Tags containing URLs in $u subfields. If not provided, 856 tag is checked. Multiple tags can be specified, for example:
+
+ check-url-quick.pl --tags 310 410 856
+
+=item B<--verbose|-v>
+
+Outputs both successful and failed URLs.
+
+=item B<--html>
+
+Formats output in HTML. The result can be redirected to a file
+accessible by http. This way, it's possible to link directly to biblio
+record in edit mode. With this parameter B<--host-intranet> is required.
+
+=item B<--host-intranet=http://koha-pro.tld>
+
+Server host used to link to biblio record editing page in Koha intranet
+interface.
+
+=item B<--timeout=10>
+
+Timeout for fetching URLs. By default 10 seconds.
+
+=item B<--maxconn=1000>
+
+Number of simulaneous HTTP requests. By default 200 connexions.
+
+=item B<--help|-h>
+
+Print this help page.
+
+=back
+
+=cut
index fae2413..589a4c5 100755 (executable)
@@ -250,6 +250,7 @@ check-url.pl - Check URLs from 856$u field.
 
 Scan all URLs found in 856$u of bib records 
 and display if resources are available or not.
+This script is deprecated. You should rather use check-url-quick.pl.
 
 =back
 
index ed8f117..012747c 100644 (file)
@@ -29,10 +29,10 @@ KOHA_CRON_PATH = /usr/share/koha/bin/cronjobs
 # by manipulating those variables in the command.
 #
 # For example, on the same codebase:
-# */10 * * * *    KOHA_CONF=/etc/koha/koha-conf.xml /usr/share/koha/bin/migration_tools/rebuild_zebra.pl -b -a -z >/dev/null
+# */10 * * * *    __KOHA_USER__  KOHA_CONF=/etc/koha/koha-conf.xml /usr/share/koha/bin/migration_tools/rebuild_zebra.pl -b -a -z >/dev/null
 #
 # For example, on a separate codebase:
-# */10 * * * *    KOHA_CONF=/etc/koha/koha-conf.xml PERL5LIB=/home/koha/kohaclone /home/koha/kohaclone/misc/migration_tools/rebuild_zebra.pl -b -a -z >/dev/null
+# */10 * * * *    __KOHA_USER__  KOHA_CONF=/etc/koha/koha-conf.xml PERL5LIB=/home/koha/kohaclone /home/koha/kohaclone/misc/migration_tools/rebuild_zebra.pl -b -a -z >/dev/null
 # 
 # ADDITIONAL INFO:
 # See the perldoc of individual scripts to determine what other options
@@ -43,42 +43,42 @@ KOHA_CRON_PATH = /usr/share/koha/bin/cronjobs
 # Cron/crontab will choke without it.
 #
 # SCHEDULED JOBS:
-# m h  dom mon dow   command
+# m h  dom mon dow   user command
 
 # OVERDUE NOTICES
-0    1 * * *  $KOHA_CRON_PATH/overdue_notices.pl -t
+0    1 * * *  __KOHA_USER__  $KOHA_CRON_PATH/overdue_notices.pl -t
 
 # FINES
-5    1 * * *  $KOHA_CRON_PATH/fines.pl
+5    1 * * *  __KOHA_USER__  $KOHA_CRON_PATH/fines.pl
 
 # ADVANCE NOTICES
-10   1 * * *  $KOHA_CRON_PATH/advance_notices.pl -c
+10   1 * * *  __KOHA_USER__  $KOHA_CRON_PATH/advance_notices.pl -c
 
 # PROCESS LONG OVERDUES
 # updates item status from available to longoverdue for items long overdue
-# 19 1 * * *  $KOHA_CRON_PATH/longoverdue.pl --lost 90=1 --confirm
+# 19 1 * * *  __KOHA_USER__  $KOHA_CRON_PATH/longoverdue.pl --lost 90=1 --confirm
 
 # SEND EMAILS
-15   * * * *  $KOHA_CRON_PATH/process_message_queue.pl
+15   * * * *  __KOHA_USER__  $KOHA_CRON_PATH/process_message_queue.pl
 
 # Hourly holds queue updated
-52   * * * *  $KOHA_CRON_PATH/holds/build_holds_queue.pl >/dev/null 2>&1
+52   * * * *  __KOHA_USER__  $KOHA_CRON_PATH/holds/build_holds_queue.pl >/dev/null 2>&1
 
 # Cancel expired holds
-0 1 * * *  $KOHA_CRON_PATH/holds/cancel_expired_holds.pl >/dev/null 2>&1
+0 1 * * *  __KOHA_USER__ $KOHA_CRON_PATH/holds/cancel_expired_holds.pl >/dev/null 2>&1
 
 # Update popularity counts for biblio records
-0 2 * * *  $KOHA_CRON_PATH/update_totalissues.pl --commit=1000 --use-stats --incremental --interval=1d >/dev/null 2>&1
+0 2 * * *  __KOHA_USER__ $KOHA_CRON_PATH/update_totalissues.pl --commit=1000 --use-stats --incremental --interval=1d >/dev/null 2>&1
 
 # ZEBRA INDEX UPDATES with -z option, incremental index updates throughout the day
 # for both authorities and bibs
-*/10 * * * *  $KOHA_CRON_PATH/../migration_tools/rebuild_zebra.pl -b -a -z >/dev/null
+*/10 * * * *  __KOHA_USER__  $KOHA_CRON_PATH/../migration_tools/rebuild_zebra.pl -b -a -z >/dev/null
 
 # services_throttle -- resets the xISBN service
-59 23 * * *  $KOHA_CRON_PATH/services_throttle.pl > /dev/null 2>&1
+59 23 * * *  __KOHA_USER__ $KOHA_CRON_PATH/services_throttle.pl > /dev/null 2>&1
 
 # clean up databases nightly.  Be sure not to run this with --sessions during a time when the system is in use!
-16 1 * * * $KOHA_CRON_PATH/cleanup_database.pl --sessions --zebraqueue 10
+16 1 * * * __KOHA_USER__ $KOHA_CRON_PATH/cleanup_database.pl --sessions --zebraqueue 10
 
 # delete old purchase suggestions weekly. Replace XX with a number to define the age of suggestions to delete.
-@weekly        $KOHA_CRON_PATH/purge_suggestions.pl --days XX > /dev/null 2>&1
+@weekly        __KOHA_USER__  $KOHA_CRON_PATH/purge_suggestions.pl --days XX > /dev/null 2>&1
index d920c04..9ec9825 100755 (executable)
@@ -5,7 +5,6 @@
 #-----------------------------------
 # FIXME: add command-line options for verbosity and summary
 # FIXME: expand perldoc, explain intended logic
-# FIXME: refactor all subroutines into C4 for testability
 
 use strict;
 use warnings;
@@ -16,387 +15,7 @@ BEGIN {
     eval { require "$FindBin::Bin/../kohalib.pl" };
 }
 
-use C4::Context;
-use C4::Search;
-use C4::Items;
-use C4::Branch;
-use C4::Circulation;
-use C4::Members;
-use C4::Biblio;
+use C4::HoldsQueue qw(CreateQueue);
 
-use List::Util qw(shuffle);
+CreateQueue();
 
-my $bibs_with_pending_requests = GetBibsWithPendingHoldRequests();
-
-my $dbh   = C4::Context->dbh;
-$dbh->do("DELETE FROM tmp_holdsqueue");  # clear the old table for new info
-$dbh->do("DELETE FROM hold_fill_targets");
-
-my $total_bibs            = 0;
-my $total_requests        = 0;
-my $total_available_items = 0;
-my $num_items_mapped      = 0;
-
-my @branches_to_use = _get_branches_to_pull_from();
-
-foreach my $biblionumber (@$bibs_with_pending_requests) {
-    $total_bibs++;
-    my $hold_requests   = GetPendingHoldRequestsForBib($biblionumber);
-    my $available_items = GetItemsAvailableToFillHoldRequestsForBib($biblionumber, @branches_to_use);
-    $total_requests        += scalar(@$hold_requests);
-    $total_available_items += scalar(@$available_items);
-    my $item_map = MapItemsToHoldRequests($hold_requests, $available_items, @branches_to_use);
-
-    (defined($item_map)) or next;
-
-    my $item_map_size = scalar(keys %$item_map);
-    $num_items_mapped += $item_map_size;
-    CreatePicklistFromItemMap($item_map);
-    AddToHoldTargetMap($item_map);
-    if (($item_map_size < scalar(@$hold_requests  )) and
-        ($item_map_size < scalar(@$available_items))) {
-        # DOUBLE CHECK, but this is probably OK - unfilled item-level requests
-        # FIXME
-        #warn "unfilled requests for $biblionumber";
-        #warn Dumper($hold_requests), Dumper($available_items), Dumper($item_map);
-    }
-}
-
-exit 0;
-
-=head1 FUNCTIONS
-
-=head2 GetBibsWithPendingHoldRequests
-
-  my $biblionumber_aref = GetBibsWithPendingHoldRequests();
-
-Return an arrayref of the biblionumbers of all bibs
-that have one or more unfilled hold requests.
-
-=cut
-
-sub GetBibsWithPendingHoldRequests {
-    my $dbh = C4::Context->dbh;
-
-    my $bib_query = "SELECT DISTINCT biblionumber
-                     FROM reserves
-                     WHERE found IS NULL
-                     AND priority > 0
-                     AND reservedate <= CURRENT_DATE()
-                     AND suspend = 0
-                     ";
-    my $sth = $dbh->prepare($bib_query);
-
-    $sth->execute();
-    my $biblionumbers = $sth->fetchall_arrayref();
-
-    return [ map { $_->[0] } @$biblionumbers ];
-}
-
-=head2 GetPendingHoldRequestsForBib
-
-  my $requests = GetPendingHoldRequestsForBib($biblionumber);
-
-Returns an arrayref of hashrefs to pending, unfilled hold requests
-on the bib identified by $biblionumber.  The following keys
-are present in each hashref:
-
-    biblionumber
-    borrowernumber
-    itemnumber
-    priority
-    branchcode
-    reservedate
-    reservenotes
-    borrowerbranch
-
-The arrayref is sorted in order of increasing priority.
-
-=cut
-
-sub GetPendingHoldRequestsForBib {
-    my $biblionumber = shift;
-
-    my $dbh = C4::Context->dbh;
-
-    my $request_query = "SELECT biblionumber, borrowernumber, itemnumber, priority, reserves.branchcode, 
-                                reservedate, reservenotes, borrowers.branchcode AS borrowerbranch
-                         FROM reserves
-                         JOIN borrowers USING (borrowernumber)
-                         WHERE biblionumber = ?
-                         AND found IS NULL
-                         AND priority > 0
-                         AND reservedate <= CURRENT_DATE()
-                         AND suspend = 0
-                         ORDER BY priority";
-    my $sth = $dbh->prepare($request_query);
-    $sth->execute($biblionumber);
-
-    my $requests = $sth->fetchall_arrayref({});
-    return $requests;
-
-}
-
-=head2 GetItemsAvailableToFillHoldRequestsForBib
-
-  my $available_items = GetItemsAvailableToFillHoldRequestsForBib($biblionumber);
-
-Returns an arrayref of items available to fill hold requests
-for the bib identified by C<$biblionumber>.  An item is available
-to fill a hold request if and only if:
-
-    * it is not on loan
-    * it is not withdrawn
-    * it is not marked notforloan
-    * it is not currently in transit
-    * it is not lost
-    * it is not sitting on the hold shelf
-
-=cut
-
-sub GetItemsAvailableToFillHoldRequestsForBib {
-    my $biblionumber = shift;
-    my @branches_to_use = @_;
-
-    my $dbh = C4::Context->dbh;
-    my $items_query = "SELECT itemnumber, homebranch, holdingbranch, itemtypes.itemtype AS itype
-                       FROM items ";
-
-    if (C4::Context->preference('item-level_itypes')) {
-        $items_query .=   "LEFT JOIN itemtypes ON (itemtypes.itemtype = items.itype) ";
-    } else {
-        $items_query .=   "JOIN biblioitems USING (biblioitemnumber)
-                           LEFT JOIN itemtypes USING (itemtype) ";
-    }
-    $items_query .=   "WHERE items.notforloan = 0
-                       AND holdingbranch IS NOT NULL
-                       AND itemlost = 0
-                       AND wthdrawn = 0";
-    $items_query .=   " AND damaged = 0 " unless C4::Context->preference('AllowHoldsOnDamagedItems');
-    $items_query .=   " AND items.onloan IS NULL
-                       AND (itemtypes.notforloan IS NULL OR itemtypes.notforloan = 0)
-                       AND itemnumber NOT IN (
-                           SELECT itemnumber
-                           FROM reserves
-                           WHERE biblionumber = ?
-                           AND itemnumber IS NOT NULL
-                           AND (found IS NOT NULL OR priority = 0)
-                        )
-                       AND items.biblionumber = ?";
-    my @params = ($biblionumber, $biblionumber);
-    if ($#branches_to_use > -1) {
-        $items_query .= " AND holdingbranch IN (" . join (",", map { "?" } @branches_to_use) . ")";
-        push @params, @branches_to_use;
-    }
-    my $sth = $dbh->prepare($items_query);
-    $sth->execute(@params);
-
-    my $items = $sth->fetchall_arrayref({});
-    $items = [ grep { my @transfers = GetTransfers($_->{itemnumber}); $#transfers == -1; } @$items ]; 
-    map { my $rule = GetBranchItemRule($_->{homebranch}, $_->{itype}); $_->{holdallowed} = $rule->{holdallowed}; $rule->{holdallowed} != 0 } @$items;
-    return [ grep { $_->{holdallowed} != 0 } @$items ];
-}
-
-=head2 MapItemsToHoldRequests
-
-  MapItemsToHoldRequests($hold_requests, $available_items);
-
-=cut
-
-sub MapItemsToHoldRequests {
-    my $hold_requests = shift;
-    my $available_items = shift;
-    my @branches_to_use = @_;
-
-    # handle trival cases
-    return unless scalar(@$hold_requests) > 0;
-    return unless scalar(@$available_items) > 0;
-
-    # identify item-level requests
-    my %specific_items_requested = map { $_->{itemnumber} => 1 } 
-                                   grep { defined($_->{itemnumber}) }
-                                   @$hold_requests;
-
-    # group available items by itemnumber
-    my %items_by_itemnumber = map { $_->{itemnumber} => $_ } @$available_items;
-
-    # items already allocated
-    my %allocated_items = ();
-
-    # map of items to hold requests
-    my %item_map = ();
-    # figure out which item-level requests can be filled    
-    my $num_items_remaining = scalar(@$available_items);
-    foreach my $request (@$hold_requests) {
-        last if $num_items_remaining == 0;
-
-        # is this an item-level request?
-        if (defined($request->{itemnumber})) {
-            # fill it if possible; if not skip it
-            if (exists $items_by_itemnumber{$request->{itemnumber}} and
-                not exists $allocated_items{$request->{itemnumber}}) {
-                $item_map{$request->{itemnumber}} = { 
-                    borrowernumber => $request->{borrowernumber},
-                    biblionumber => $request->{biblionumber},
-                    holdingbranch =>  $items_by_itemnumber{$request->{itemnumber}}->{holdingbranch},
-                    pickup_branch => $request->{branchcode},
-                    item_level => 1,
-                    reservedate => $request->{reservedate},
-                    reservenotes => $request->{reservenotes},
-                };
-                $allocated_items{$request->{itemnumber}}++;
-                $num_items_remaining--;
-            }
-        } else {
-            # it's title-level request that will take up one item
-            $num_items_remaining--;
-        }
-    }
-
-    # group available items by branch
-    my %items_by_branch = ();
-    foreach my $item (@$available_items) {
-        push @{ $items_by_branch{ $item->{holdingbranch} } }, $item unless exists $allocated_items{ $item->{itemnumber} };
-    }
-
-    # now handle the title-level requests
-    $num_items_remaining = scalar(@$available_items) - scalar(keys %allocated_items); 
-    foreach my $request (@$hold_requests) {
-        last if $num_items_remaining <= 0;
-        next if defined($request->{itemnumber}); # already handled these
-
-        # look for local match first
-        my $pickup_branch = $request->{branchcode};
-        if (exists $items_by_branch{$pickup_branch} and 
-            not ($items_by_branch{$pickup_branch}->[0]->{holdallowed} == 1 and 
-                 $request->{borrowerbranch} ne $items_by_branch{$pickup_branch}->[0]->{homebranch}) 
-           ) {
-            my $item = pop @{ $items_by_branch{$pickup_branch} };
-            delete $items_by_branch{$pickup_branch} if scalar(@{ $items_by_branch{$pickup_branch} }) == 0;
-            $item_map{$item->{itemnumber}} = { 
-                                                borrowernumber => $request->{borrowernumber},
-                                                biblionumber => $request->{biblionumber},
-                                                holdingbranch => $pickup_branch,
-                                                pickup_branch => $pickup_branch,
-                                                item_level => 0,
-                                                reservedate => $request->{reservedate},
-                                                reservenotes => $request->{reservenotes},
-                                             };
-            $num_items_remaining--;
-        } else {
-            my @pull_branches = ();
-            if ($#branches_to_use > -1) {
-                @pull_branches = @branches_to_use;
-            } else {
-                @pull_branches = sort keys %items_by_branch;
-            }
-            foreach my $branch (@pull_branches) {
-                next unless exists $items_by_branch{$branch} and
-                            not ($items_by_branch{$branch}->[0]->{holdallowed} == 1 and 
-                                $request->{borrowerbranch} ne $items_by_branch{$branch}->[0]->{homebranch});
-                my $item = pop @{ $items_by_branch{$branch} };
-                delete $items_by_branch{$branch} if scalar(@{ $items_by_branch{$branch} }) == 0;
-                $item_map{$item->{itemnumber}} = { 
-                                                    borrowernumber => $request->{borrowernumber},
-                                                    biblionumber => $request->{biblionumber},
-                                                    holdingbranch => $branch,
-                                                    pickup_branch => $pickup_branch,
-                                                    item_level => 0,
-                                                    reservedate => $request->{reservedate},
-                                                    reservenotes => $request->{reservenotes},
-                                                 };
-                $num_items_remaining--; 
-                last;
-            }
-        }
-    }
-    return \%item_map;
-}
-
-=head2 CreatePickListFromItemMap 
-
-=cut
-
-sub CreatePicklistFromItemMap {
-    my $item_map = shift;
-
-    my $dbh = C4::Context->dbh;
-
-    my $sth_load=$dbh->prepare("
-        INSERT INTO tmp_holdsqueue (biblionumber,itemnumber,barcode,surname,firstname,phone,borrowernumber,
-                                    cardnumber,reservedate,title, itemcallnumber,
-                                    holdingbranch,pickbranch,notes, item_level_request)
-        VALUES (?,?,?,?,?,?,?,?,?,?,?,?,?,?,?)
-    ");
-
-    foreach my $itemnumber  (sort keys %$item_map) {
-        my $mapped_item = $item_map->{$itemnumber};
-        my $biblionumber = $mapped_item->{biblionumber}; 
-        my $borrowernumber = $mapped_item->{borrowernumber}; 
-        my $pickbranch = $mapped_item->{pickup_branch};
-        my $holdingbranch = $mapped_item->{holdingbranch};
-        my $reservedate = $mapped_item->{reservedate};
-        my $reservenotes = $mapped_item->{reservenotes};
-        my $item_level = $mapped_item->{item_level};
-
-        my $item = GetItem($itemnumber);
-        my $barcode = $item->{barcode};
-        my $itemcallnumber = $item->{itemcallnumber};
-
-        my $borrower = GetMember('borrowernumber'=>$borrowernumber);
-        my $cardnumber = $borrower->{'cardnumber'};
-        my $surname = $borrower->{'surname'};
-        my $firstname = $borrower->{'firstname'};
-        my $phone = $borrower->{'phone'};
-   
-        my $bib = GetBiblioData($biblionumber);
-        my $title = $bib->{title}; 
-
-        $sth_load->execute($biblionumber, $itemnumber, $barcode, $surname, $firstname, $phone, $borrowernumber,
-                           $cardnumber, $reservedate, $title, $itemcallnumber,
-                           $holdingbranch, $pickbranch, $reservenotes, $item_level);
-    }
-}
-
-=head2 AddToHoldTargetMap
-
-=cut
-
-sub AddToHoldTargetMap {
-    my $item_map = shift;
-
-    my $dbh = C4::Context->dbh;
-
-    my $insert_sql = q(
-        INSERT INTO hold_fill_targets (borrowernumber, biblionumber, itemnumber, source_branchcode, item_level_request)
-                               VALUES (?, ?, ?, ?, ?)
-    );
-    my $sth_insert = $dbh->prepare($insert_sql);
-
-    foreach my $itemnumber (keys %$item_map) {
-        my $mapped_item = $item_map->{$itemnumber};
-        $sth_insert->execute($mapped_item->{borrowernumber}, $mapped_item->{biblionumber}, $itemnumber,
-                             $mapped_item->{holdingbranch}, $mapped_item->{item_level});
-    }
-}
-
-=head2 _get_branches_to_pull_from
-
-Query system preferences to get ordered list of
-branches to use to fill hold requests.
-
-=cut
-
-sub _get_branches_to_pull_from {
-    my @branches_to_use = ();
-  
-    my $static_branch_list = C4::Context->preference("StaticHoldsQueueWeight");
-    if ($static_branch_list) {
-        @branches_to_use = map { s/^\s+//; s/\s+$//; $_; } split /,/, $static_branch_list;
-    }
-
-    @branches_to_use = shuffle(@branches_to_use) if  C4::Context->preference("RandomizeHoldsQueueWeight");
-
-    return @branches_to_use;
-}
index d1b30ef..3f57779 100755 (executable)
@@ -54,4 +54,4 @@ EOF
 my $batch_ids = GetStagedWebserviceBatches() or exit;
 
 $framework ||= '';
-BatchCommitBibRecords($_, $framework) foreach @$batch_ids;
+BatchCommitRecords($_, $framework) foreach @$batch_ids;
index 1243add..e83bd39 100755 (executable)
@@ -432,6 +432,12 @@ END_SQL
                 next PERIOD;
             }
 
+            my $letter_template = C4::Letters::GetLetter (
+                module => 'circulation',
+                letter_code => $overdue_rules->{"letter$i"},
+                branchcode => $branchcode
+            );
+
             # $letter->{'content'} is the text of the mail that is sent.
             # this text contains fields that are replaced by their value. Those fields must be written between brackets
             # The following fields are available :
@@ -503,6 +509,7 @@ END_SQL
 
                 my $letter = parse_letter(
                     {   letter_code     => $overdue_rules->{"letter$i"},
+                        letter          => $letter_template,
                         borrowernumber  => $borrowernumber,
                         branchcode      => $branchcode,
                         items           => \@items,
@@ -602,11 +609,12 @@ END_SQL
             
         my $attachment = {
             filename => defined $csvfilename ? 'attachment.csv' : 'attachment.txt',
-            type => 'text/plain',
+            type => 'text/plain; charset="utf-8"',
             content => $content, 
         };
 
         my $letter = {
+            'content-type' => 'text/plain; charset="utf-8"',
             title   => 'Overdue Notices',
             content => 'These messages were not sent directly to the patrons.',
         };
@@ -671,7 +679,7 @@ sub parse_letter {
     my $currency_format;
     if ($params->{'letter'}->{'content'} =~ m/<fine>(.*)<\/fine>/o) { # process any fine tags...
         $currency_format = $1;
-        $params->{'letter'}->{'content'} =~ s/<fine>.*<\/fine>/<<item.fine>>/o;
+        $params->{'letter'}->{'content'} =~ s/<fine>.*<\/fine>/<<items.fine>>/o;
     }
 
     my @item_tables;
@@ -696,13 +704,14 @@ sub parse_letter {
         }
     }
 
-    return C4::Letters::GetPreparedLetter (
+    return C4::Letters::GetProcessedLetter (
         module => 'circulation',
         letter_code => $params->{'letter_code'},
+        letter => $params->{'letter'},
         branchcode => $params->{'branchcode'},
         tables => \%tables,
         substitute => $substitute,
-        repeat => { item => \@item_tables },
+        repeat => { item => \@item_tables }
     );
 }
 
index 6a8cce7..690f216 100755 (executable)
@@ -186,14 +186,26 @@ unless (scalar(@ARGV)) {
 ($verbose) and print scalar(@ARGV), " argument(s) after options: " . join(" ", @ARGV) . "\n";
 
 
-foreach my $report (@ARGV) {
-    my ($sql, $type) = get_saved_report($report);
-    unless ($sql) {
-        carp "ERROR: No saved report $report found";
+foreach my $report_id (@ARGV) {
+    my $report = get_saved_report($report_id);
+    unless ($report) {
+        warn "ERROR: No saved report $report_id found";
         next;
     }
+    my $sql         => $report->{savedsql};
+    my $report_name => $report->{report_name};
+    my $type        => $report->{type};
+
     $verbose and print "SQL: $sql\n\n";
-    # my $results = execute_query($sql, undef, 0, 99999, $format, $report); 
+    if (defined($report_name) and $report_name ne "")
+    {
+        $subject = $report_name ;
+    }
+    else
+    {
+        $subject = 'Koha Saved Report';
+    }
+    # my $results = execute_query($sql, undef, 0, 99999, $format, $report_id);
     my ($sth) = execute_query($sql);
     # execute_query(sql, , 0, 20, , )
     my $count = scalar($sth->rows);
index 098fae6..0d819a5 100755 (executable)
@@ -45,6 +45,7 @@ use C4::Biblio;
 use C4::Debug;            # supplying $debug and $cgi_debug
 use Getopt::Long;
 use List::MoreUtils qw/none/;
+use Koha::DateUtils;
 
 my $help    = 0;
 my $verbose = 0;
@@ -122,12 +123,19 @@ INIT {
       "Delimiter: '$delim'\n";
 }
 $debug and (defined $borrowernumberlimit) and print "--borrower limitation: borrower $borrowernumberlimit\n";
-my $data = (defined $borrowernumberlimit) ? checkoverdues($borrowernumberlimit) : Getoverdues();
+my ($numOverdueItems, $data);
+if (defined $borrowernumberlimit) {
+    ($numOverdueItems, $data) = checkoverdues($borrowernumberlimit);
+} else {
+    $data = Getoverdues();
+    $numOverdueItems = scalar @$data;
+}
 my $overdueItemsCounted = 0;
 my %calendars           = ();
 $today      = C4::Dates->new();
 $today_iso  = $today->output('iso');
-$today_days = Date_to_Days( split( /-/, $today_iso ) );
+my ($tyear, $tmonth, $tday) = split( /-/, $today_iso );
+$today_days = Date_to_Days( $tyear, $tmonth, $tday );
 
 for ( my $i = 0 ; $i < scalar(@$data) ; $i++ ) {
     my $datedue;
@@ -167,7 +175,7 @@ for ( my $i = 0 ; $i < scalar(@$data) ; $i++ ) {
         $calendars{$branchcode} = C4::Calendar->new( branchcode => $branchcode );
     }
     $calendar = $calendars{$branchcode};
-    my $isHoliday = $calendar->isHoliday( split '/', $today->output('metric') );
+    my $isHoliday = $calendar->isHoliday( $tday, $tmonth, $tyear );
 
     # Reassing datedue_days if -delay specified in commandline
     $bigdebug and warn "Using commandline supplied delay : $delay" if ($delay);
@@ -176,7 +184,13 @@ for ( my $i = 0 ; $i < scalar(@$data) ; $i++ ) {
     ( $datedue_days <= $today_days ) or next;    # or it's not overdue, right?
 
     $overdueItemsCounted++;
-    my ( $amount, $type, $unitcounttotal, $unitcount ) = CalcFine( $data->[$i], $borrower->{'categorycode'}, $branchcode, undef, undef, $datedue, $today );
+    my ( $amount, $type, $unitcounttotal, $unitcount ) = CalcFine(
+        $data->[$i],
+        $borrower->{'categorycode'},
+        $branchcode,
+        dt_from_string($datedue->output('iso')),
+        dt_from_string($today->output('iso')),
+    );
 
     # Reassign fine's amount if specified in command-line
     $amount = $catamounts{$borrower->{'categorycode'}} if (defined $catamounts{$borrower->{'categorycode'}});
@@ -224,7 +238,6 @@ for ( my $i = 0 ; $i < scalar(@$data) ; $i++ ) {
     }
 }
 
-my $numOverdueItems = scalar(@$data);
 if ($verbose) {
     print <<EOM;
 Fines assessment -- $today_iso
index 226f17e..b4d4e9c 100755 (executable)
@@ -127,20 +127,17 @@ foreach my $type (@types) {
         my $date = C4::Dates->new( $issues->{'date_due'}, 'iso' );
         my $due_date = $date->output('metric');
 
-        # gets the placeholder message, and enqueues the letter
-        my $letter = getletter( $module, $code );
-        die "No letter found for type $type!... dying\n" unless $letter;
+        my $letter = C4::Letters::GetPreparedLetter(
+            module      => $module,
+            letter_code => $code,
+            tables      => {
+                borrowers   => $issues->{'borrowernumber'},
+                biblio      => $issues->{'biblionumber'},
+                biblioitems => $issues->{'biblionumber'}
+            },
+        );
 
-        # covers basic variable parsing in letter
-        $letter =
-          C4::Letters::parseletter( $letter, 'borrowers',
-            $issues->{'borrowernumber'} );
-        $letter =
-          C4::Letters::parseletter( $letter, 'biblio',
-            $issues->{'biblionumber'} );
-        $letter =
-          C4::Letters::parseletter( $letter, 'biblioitems',
-            $issues->{'biblionumber'} );
+        die "No letter found for type $type!... dying\n" unless $letter;
 
         my $message_id = 0;
         if ($outfile) {
index b35a00e..37596c5 100755 (executable)
@@ -18,6 +18,7 @@ use Pod::Usage;
 use Data::Dumper;
 use Time::HiRes qw/time/;
 use POSIX qw/strftime ceil/;
+use Module::Load::Conditional qw(can_load);
 
 sub usage {
     pod2usage( -verbose => 2 );
@@ -53,13 +54,11 @@ if ( not $result or $want_help ) {
 
 my $linker_module =
   "C4::Linker::" . ( C4::Context->preference("LinkerModule") || 'Default' );
-eval { eval "require $linker_module"; };
-if ($@) {
+unless ( can_load( modules => { $linker_module => undef } ) ) {
     $linker_module = 'C4::Linker::Default';
-    eval "require $linker_module";
-}
-if ($@) {
-    die "Unable to load linker module. Aborting.";
+    unless ( can_load( modules => { $linker_module => undef } ) ) {
+        die "Unable to load linker module. Aborting.";
+    }
 }
 
 my $linker = $linker_module->new(
diff --git a/misc/maintenance/process_record_through_filter.pl b/misc/maintenance/process_record_through_filter.pl
new file mode 100755 (executable)
index 0000000..3b3e537
--- /dev/null
@@ -0,0 +1,18 @@
+#!/usr/bin/perl
+
+# This script is intended for testing RecordProcessor filters. To use it
+# run the script like so:
+# > perl process_record_through_filter.pl ${BIBLIONUMBER} ${FILTER}
+
+use strict;
+use warnings;
+use Koha::RecordProcessor;
+use Data::Dumper;
+use C4::Biblio;
+
+my $record = GetMarcBiblio($ARGV[0]);
+
+print "Before: " . $record->as_formatted() . "\n";
+my $processor = Koha::RecordProcessor->new( { filters => ( $ARGV[1] ) });
+$record = $processor->process($record);
+print "After : " . $record->as_formatted() . "\n";
index 1621e84..e11817d 100755 (executable)
@@ -10,6 +10,7 @@ use File::Path;
 use C4::Biblio;
 use C4::AuthoritiesMarc;
 use C4::Items;
+use Koha::RecordProcessor;
 
 # 
 # script that checks zebradir structure & create directories & mandatory files if needed
@@ -497,6 +498,9 @@ sub get_corrected_marc_record {
         fix_leader($marc);
         if ($record_type eq 'authority') {
             fix_authority_id($marc, $record_number);
+        } elsif ($record_type eq 'biblio' && C4::Context->preference('IncludeSeeFromInSearches')) {
+            my $normalizer = Koha::RecordProcessor->new( { filters => 'EmbedSeeFromHeadings' } );
+            $marc = $normalizer->process($marc);
         }
         if (C4::Context->preference("marcflavour") eq "UNIMARC") {
             fix_unimarc_100($marc);
index f1b73f9..35752e0 100755 (executable)
@@ -5,9 +5,9 @@ usage() {
     cat <<EOF
 $scriptname
 
-Index Koha records by chunks. It is useful when some record causes errors and
-stop the indexation process. With this script, if indexation of one chunk fails,
-chunk is splitted in two or more chunks, and indexation continue on these chunks.
+Index Koha records by chunks. It is useful when a record causes errors and
+stops the indexing process. With this script, if indexing of one chunk fails,
+that chunk is split into two or more chunks, and indexing continues on these chunks.
 rebuild_zebra.pl is called only once to export records. Splitting and indexing
 is handled by this script (using yaz-marcdump and zebraidx).
 
diff --git a/misc/stage_biblios_file.pl b/misc/stage_biblios_file.pl
deleted file mode 100755 (executable)
index 6e2b30c..0000000
+++ /dev/null
@@ -1,185 +0,0 @@
-#!/usr/bin/perl
-
-# This file is part of Koha.
-#
-# Copyright (C) 2007 LibLime
-# Parts Copyright BSZ 2011
-#
-# Koha is free software; you can redistribute it and/or modify it under the
-# terms of the GNU General Public License as published by the Free Software
-# Foundation; either version 2 of the License, or (at your option) any later
-# version.
-#
-# Koha is distributed in the hope that it will be useful, but WITHOUT ANY
-# WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR
-# A PARTICULAR PURPOSE.  See the GNU General Public License for more details.
-#
-# You should have received a copy of the GNU General Public License along
-# with this program; if not, write to the Free Software Foundation, Inc.,
-# 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
-
-use strict;
-use warnings;
-BEGIN {
-    # find Koha's Perl modules
-    # test carefully before changing this
-    use FindBin;
-    eval { require "$FindBin::Bin/kohalib.pl" };
-}
-
-use C4::Context;
-use C4::ImportBatch;
-use C4::Matcher;
-use Getopt::Long;
-
-$| = 1;
-
-# command-line parameters
-my $encoding = "";
-my $match_bibs = 0;
-my $add_items = 0;
-my $input_file = "";
-my $batch_comment = "";
-my $want_help = 0;
-my $no_replace ;
-
-my $result = GetOptions(
-    'encoding:s'    => \$encoding,
-    'file:s'        => \$input_file,
-    'match-bibs:s'  => \$match_bibs,
-    'add-items'     => \$add_items,
-    'no-replace'    => \$no_replace,
-    'comment:s'     => \$batch_comment,
-    'h|help'        => \$want_help
-);
-
-if ($encoding eq "") {
-    $encoding = "utf8";
-}
-
-if (not $result or $input_file eq "" or $want_help) {
-    print_usage();
-    exit 0;
-}
-
-unless (-r $input_file) {
-    die "$0: cannot open input file $input_file: $!\n";
-}
-
-my $dbh = C4::Context->dbh;
-$dbh->{AutoCommit} = 0;
-process_batch($input_file, $match_bibs, $add_items, $batch_comment);
-$dbh->commit();
-
-exit 0;
-
-sub process_batch {
-    my ($input_file, $match_bibs, $add_items, $batch_comment) = @_;
-
-    open IN, "<$input_file" or die "$0: cannot open input file $input_file: $!\n";
-    my $marc_records = "";
-    $/ = "\035";
-    my $num_input_records = 0;
-    while (<IN>) {
-        s/^\s+//;
-        s/\s+$//;
-        next unless $_; # skip if record has only whitespace, as might occur
-                        # if file includes newlines between each MARC record
-        $marc_records .= $_; # FIXME - this sort of string concatenation
-                             # is probably rather inefficient
-        $num_input_records++;
-    }
-    close IN;
-
-    print "... staging MARC records -- please wait\n";
-    my ($batch_id, $num_valid, $num_items, @import_errors) = 
-        BatchStageMarcRecords($encoding, $marc_records, $input_file, $batch_comment, '', $add_items, 0,
-                              100, \&print_progress_and_commit);
-    print "... finished staging MARC records\n";
-
-    my $num_with_matches = 0;
-    if ($match_bibs) {
-        my $matcher = C4::Matcher->fetch($match_bibs) ;
-        if (! defined $matcher) {
-            $matcher = C4::Matcher->new('biblio');
-            $matcher->add_simple_matchpoint('isbn', 1000, '020', 'a', -1, 0, '');
-            $matcher->add_simple_required_check('245', 'a', -1, 0, '', 
-                                            '245', 'a', -1, 0, '');
-        } else {
-            SetImportBatchMatcher($batch_id, $match_bibs);
-        }
-        # set default record overlay behavior
-        SetImportBatchOverlayAction($batch_id, ($no_replace) ? 'ignore' : 'replace');
-        SetImportBatchNoMatchAction($batch_id, 'create_new');
-        SetImportBatchItemAction($batch_id, 'always_add');
-        print "... looking for matches with records already in database\n";
-        $num_with_matches = BatchFindBibDuplicates($batch_id, $matcher, 10, 100, \&print_progress_and_commit);
-        print "... finished looking for matches\n";
-    }
-
-    my $num_invalid_bibs = scalar(@import_errors);
-    print <<_SUMMARY_;
-
-MARC record staging report
-------------------------------------
-Input file:              $input_file
-Number of input bibs:    $num_input_records
-Number of valid bibs:    $num_valid
-Number of invalid bibs:  $num_invalid_bibs
-_SUMMARY_
-    if ($match_bibs) {
-        print "Number of bibs matched:  $num_with_matches\n";
-    } else {
-        print "Incoming bibs not matched against existing bibs (--match-bibs option not supplied)\n";
-    }
-    if ($add_items) {
-        print "Number of items parsed:  $num_items\n";
-    } else {
-        print "No items parsed (--add-items option not supplied)\n";
-    }
-
-    print "\n";
-    print "Batch number assigned:  $batch_id\n";
-    print "\n";
-}
-
-sub print_progress_and_commit {
-    my $recs = shift;
-    $dbh->commit();
-    print "... processed $recs records\n";
-}
-
-sub print_usage {
-    print <<_USAGE_;
-$0: stage MARC bib file into reservoir.
-
-Use this batch job to load a file of MARC bibliographic records
-(with optional item information) into the Koha reservoir.
-
-After running this program to stage your file, you can use
-either the batch job commit_biblios_file.pl or the Koha
-Tools option "Manage Staged MARC Records" to load the
-records into the main Koha database.
-
-Parameters:
-    --file <file_name>      name of input MARC bib file
-    --encoding <encoding>   encoding of MARC records, default is utf8.
-                            Other possible options are: MARC-8,
-                            ISO_5426, ISO_6937, ISO_8859-1, EUC-KR
-    --match-bibs <match_id> use this option to match bibs
-                            in the file with bibs already in 
-                            the database for future overlay.
-                            If <match_id> isn't defined, a default 
-                            MARC21 ISBN & title match rule will be applied.
-    --add-items             use this option to specify that
-                            item data is embedded in the MARC
-                            bibs and should be parsed.
-    --no-replace            overlay action for bib record: default is to 
-                            replace extant bib with the imported record.
-    --comment <comment>     optional comment to describe
-                            the record batch; if the comment
-                            has spaces in it, surround the
-                            comment with quotation marks.
-    --help or -h            show this message.
-_USAGE_
-}
diff --git a/misc/stage_file.pl b/misc/stage_file.pl
new file mode 100755 (executable)
index 0000000..4ce16b5
--- /dev/null
@@ -0,0 +1,197 @@
+#!/usr/bin/perl
+
+# This file is part of Koha.
+#
+# Copyright (C) 2007 LibLime
+# Parts Copyright BSZ 2011
+# Parts Copyright C & P Bibliography Services 2012
+#
+# Koha is free software; you can redistribute it and/or modify it under the
+# terms of the GNU General Public License as published by the Free Software
+# Foundation; either version 2 of the License, or (at your option) any later
+# version.
+#
+# Koha is distributed in the hope that it will be useful, but WITHOUT ANY
+# WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR
+# A PARTICULAR PURPOSE.  See the GNU General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License along
+# with this program; if not, write to the Free Software Foundation, Inc.,
+# 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
+
+use strict;
+use warnings;
+BEGIN {
+    # find Koha's Perl modules
+    # test carefully before changing this
+    use FindBin;
+    eval { require "$FindBin::Bin/kohalib.pl" };
+}
+
+use C4::Context;
+use C4::ImportBatch;
+use C4::Matcher;
+use Getopt::Long;
+
+$| = 1;
+
+# command-line parameters
+my $record_type = "biblio";
+my $encoding = "";
+my $authorities = 0;
+my $match = 0;
+my $add_items = 0;
+my $input_file = "";
+my $batch_comment = "";
+my $want_help = 0;
+my $no_replace ;
+
+my $result = GetOptions(
+    'encoding:s'    => \$encoding,
+    'file:s'        => \$input_file,
+    'match|match-bibs:s'  => \$match,
+    'add-items'     => \$add_items,
+    'no-replace'    => \$no_replace,
+    'comment:s'     => \$batch_comment,
+    'authorities'   => \$authorities,
+    'h|help'        => \$want_help
+);
+
+$record_type = 'auth' if ($authorities);
+
+if ($encoding eq "") {
+    $encoding = "utf8";
+}
+
+if (not $result or $input_file eq "" or $want_help) {
+    print_usage();
+    exit 0;
+}
+
+unless (-r $input_file) {
+    die "$0: cannot open input file $input_file: $!\n";
+}
+
+my $dbh = C4::Context->dbh;
+$dbh->{AutoCommit} = 0;
+process_batch($input_file, $record_type, $match, $add_items, $batch_comment);
+$dbh->commit();
+
+exit 0;
+
+sub process_batch {
+    my ($input_file, $record_type, $match, $add_items, $batch_comment) = @_;
+
+    open IN, "<$input_file" or die "$0: cannot open input file $input_file: $!\n";
+    my $marc_records = "";
+    $/ = "\035";
+    my $num_input_records = 0;
+    while (<IN>) {
+        s/^\s+//;
+        s/\s+$//;
+        next unless $_; # skip if record has only whitespace, as might occur
+                        # if file includes newlines between each MARC record
+        $marc_records .= $_; # FIXME - this sort of string concatenation
+                             # is probably rather inefficient
+        $num_input_records++;
+    }
+    close IN;
+
+    print "... staging MARC records -- please wait\n";
+    my ($batch_id, $num_valid_records, $num_items, @import_errors) =
+        BatchStageMarcRecords($record_type, $encoding, $marc_records, $input_file, $batch_comment, '', $add_items, 0,
+                              100, \&print_progress_and_commit);
+    print "... finished staging MARC records\n";
+
+    my $num_with_matches = 0;
+    if ($match) {
+        my $matcher = C4::Matcher->fetch($match) ;
+        if (defined $matcher) {
+            SetImportBatchMatcher($batch_id, $match);
+        } elsif ($record_type eq 'biblio')  {
+            $matcher = C4::Matcher->new($record_type);
+            $matcher->add_simple_matchpoint('isbn', 1000, '020', 'a', -1, 0, '');
+            $matcher->add_simple_required_check('245', 'a', -1, 0, '',
+                                            '245', 'a', -1, 0, '');
+        }
+        # set default record overlay behavior
+        SetImportBatchOverlayAction($batch_id, ($no_replace) ? 'ignore' : 'replace');
+        SetImportBatchNoMatchAction($batch_id, 'create_new');
+        SetImportBatchItemAction($batch_id, 'always_add');
+        print "... looking for matches with records already in database\n";
+        $num_with_matches = BatchFindDuplicates($batch_id, $matcher, 10, 100, \&print_progress_and_commit);
+        print "... finished looking for matches\n";
+    }
+
+    my $num_invalid_records = scalar(@import_errors);
+    print <<_SUMMARY_;
+
+MARC record staging report
+------------------------------------
+Input file:                 $input_file
+Record type:                $record_type
+Number of input records:    $num_input_records
+Number of valid records:    $num_valid_records
+Number of invalid records:  $num_invalid_records
+_SUMMARY_
+    if ($match) {
+        print "Number of records matched:  $num_with_matches\n";
+    } else {
+        print "Incoming records not matched against existing records (--match option not supplied)\n";
+    }
+    if ($record_type eq 'biblio') {
+        if ($add_items) {
+            print "Number of items parsed:  $num_items\n";
+        } else {
+            print "No items parsed (--add-items option not supplied)\n";
+        }
+    }
+
+    print "\n";
+    print "Batch number assigned:  $batch_id\n";
+    print "\n";
+}
+
+sub print_progress_and_commit {
+    my $recs = shift;
+    $dbh->commit();
+    print "... processed $recs records\n";
+}
+
+sub print_usage {
+    print <<_USAGE_;
+$0: stage MARC file into reservoir.
+
+Use this batch job to load a file of MARC bibliographic
+(with optional item information) or authority records into
+the Koha reservoir.
+
+After running this program to stage your file, you can use
+either the batch job commit_file.pl or the Koha
+Tools option "Manage Staged MARC Records" to load the
+records into the main Koha database.
+
+Parameters:
+    --file <file_name>      name of input MARC bib file
+    --authorities           stage authority records instead of bibs
+    --encoding <encoding>   encoding of MARC records, default is utf8.
+                            Other possible options are: MARC-8,
+                            ISO_5426, ISO_6937, ISO_8859-1, EUC-KR
+    --match <match_id>      use this option to match records
+                            in the file with records already in
+                            the database for future overlay.
+                            If <match_id> isn't defined, a default
+                            MARC21 ISBN & title match rule will be applied
+                            for bib imports.
+    --add-items             use this option to specify that
+                            item data is embedded in the MARC
+                            bibs and should be parsed.
+    --no-replace            overlay action for record: default is to
+                            replace extant with the imported record.
+    --comment <comment>     optional comment to describe
+                            the record batch; if the comment
+                            has spaces in it, surround the
+                            comment with quotation marks.
+    --help or -h            show this message.
+_USAGE_
+}
index f9abda6..00daaf4 100644 (file)
@@ -17,8 +17,7 @@ package LangInstaller;
 # with Koha; if not, write to the Free Software Foundation, Inc.,
 # 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
 
-use strict;
-use warnings;
+use Modern::Perl;
 
 use C4::Context;
 # WARNING: Any other tested YAML library fails to work properly in this
@@ -29,6 +28,7 @@ use FindBin qw( $Bin );
 
 $YAML::Syck::ImplicitTyping = 1;
 
+
 sub set_lang {
     my ($self, $lang) = @_;
 
@@ -63,21 +63,34 @@ sub new {
     # Get all available language codes
     opendir $fh, $self->{path_po};
     my @langs =  map { ($_) =~ /(.*)-i-opac/ } 
-        grep { $_ =~ /.*-opac-/ } readdir($fh);
+        grep { $_ =~ /.*-opac-t-prog/ } readdir($fh);
     closedir $fh;
     $self->{langs} = \@langs;
 
     # Map for both interfaces opac/intranet
-    $self->{interface} = {
-        opac => {
-            dir    => $context->config('opachtdocs') . '/prog',
+    my $opachtdocs = $context->config('opachtdocs');
+    $self->{interface} = [
+        {
+            name   => 'OPAC prog',
+            dir    => "$opachtdocs/prog",
             suffix => '-i-opac-t-prog-v-3006000.po',
         },
-        intranet => {
+        {
+            name   => 'Intranet prog',
             dir    => $context->config('intrahtdocs') . '/prog',
             suffix => '-i-staff-t-prog-v-3006000.po',
-        }
-    };
+        },
+    ];
+
+    # Alternate opac themes
+    opendir $fh, $context->config('opachtdocs');
+    for ( grep { not /^\.|\.\.|prog|lib$/ } readdir($fh) ) {
+        push @{$self->{interface}}, {
+            name   => "OPAC $_",
+            dir    => "$opachtdocs/$_",
+            suffix => "-opac-$_.po",
+        };
+    }
 
     bless $self, $class;
 }
@@ -211,7 +224,7 @@ sub save_po {
     my $self = shift;
     # Write .po entries into a file put in Koha standard po directory
     Locale::PO->save_file_fromhash( $self->po_filename, $self->{po} );
-    print "Saved in file: ", $self->po_filename, "\n" if $self->{verbose};
+    say "Saved in file: ", $self->po_filename if $self->{verbose};
 }
 
 
@@ -291,21 +304,21 @@ sub install_prefs {
 
 sub install_tmpl {
     my $self = shift;
-    print "Install templates\n" if $self->{verbose};
-    while ( my ($interface, $tmpl) = each %{$self->{interface}} ) {
+    say "Install templates" if $self->{verbose};
+    for my $trans ( @{$self->{interface}} ) {
         print
-            "  Install templates '$interface\n",
-            "    From: $tmpl->{dir}/en/\n",
-            "    To  : $tmpl->{dir}/$self->{lang}\n",
-            "    With: $self->{path_po}/$self->{lang}$tmpl->{suffix}\n"
+            "  Install templates '$trans->{name}'\n",
+            "    From: $trans->{dir}/en/\n",
+            "    To  : $trans->{dir}/$self->{lang}\n",
+            "    With: $self->{path_po}/$self->{lang}$trans->{suffix}\n"
                 if $self->{verbose};
-        my $lang_dir = "$tmpl->{dir}/$self->{lang}";
+        my $lang_dir = "$trans->{dir}/$self->{lang}";
         mkdir $lang_dir unless -d $lang_dir;
         system
             "$self->{process} install " .
-            "-i $tmpl->{dir}/en/ " .
-            "-o $tmpl->{dir}/$self->{lang} ".
-            "-s $self->{path_po}/$self->{lang}$tmpl->{suffix} -r"
+            "-i $trans->{dir}/en/ " .
+            "-o $trans->{dir}/$self->{lang} ".
+            "-s $self->{path_po}/$self->{lang}$trans->{suffix} -r"
     }
 }
 
@@ -313,19 +326,19 @@ sub install_tmpl {
 sub update_tmpl {
     my $self = shift;
 
-    print "Update templates\n" if $self->{verbose};
-    while ( my ($interface, $tmpl) = each %{$self->{interface}} ) {
+    say "Update templates" if $self->{verbose};
+    for my $trans ( @{$self->{interface}} ) {
         print
-            "  Update templates '$interface'\n",
-            "    From: $tmpl->{dir}/en/\n",
-            "    To  : $self->{path_po}/$self->{lang}$tmpl->{suffix}\n"
+            "  Update templates '$trans->{name}'\n",
+            "    From: $trans->{dir}/en/\n",
+            "    To  : $self->{path_po}/$self->{lang}$trans->{suffix}\n"
                 if $self->{verbose};
-        my $lang_dir = "$tmpl->{dir}/$self->{lang}";
+        my $lang_dir = "$trans->{dir}/$self->{lang}";
         mkdir $lang_dir unless -d $lang_dir;
         system
             "$self->{process} update " .
-            "-i $tmpl->{dir}/en/ " .
-            "-s $self->{path_po}/$self->{lang}$tmpl->{suffix} -r"
+            "-i $trans->{dir}/en/ " .
+            "-s $self->{path_po}/$self->{lang}$trans->{suffix} -r"
     }
 }
 
@@ -333,6 +346,10 @@ sub update_tmpl {
 sub create_prefs {
     my $self = shift;
 
+    if ( -e $self->po_filename ) {
+        say "Preferences .po file already exists. Delete it if you want to recreate it.";
+        return;
+    }
     $self->get_po_from_prefs();
     $self->save_po();
 }
@@ -341,17 +358,17 @@ sub create_prefs {
 sub create_tmpl {
     my $self = shift;
 
-    print "Create templates\n" if $self->{verbose};
-    while ( my ($interface, $tmpl) = each %{$self->{interface}} ) {
+    say "Create templates\n" if $self->{verbose};
+    for my $trans ( @{$self->{interface}} ) {
         print
-            "  Create templates .po files for '$interface'\n",
-            "    From: $tmpl->{dir}/en/\n",
-            "    To  : $self->{path_po}/$self->{lang}$tmpl->{suffix}\n"
+            "  Create templates .po files for '$trans->{name}'\n",
+            "    From: $trans->{dir}/en/\n",
+            "    To  : $self->{path_po}/$self->{lang}$trans->{suffix}\n"
                 if $self->{verbose};
         system
             "$self->{process} create " .
-            "-i $tmpl->{dir}/en/ " .
-            "-s $self->{path_po}/$self->{lang}$tmpl->{suffix} -r"
+            "-i $trans->{dir}/en/ " .
+            "-s $self->{path_po}/$self->{lang}$trans->{suffix} -r"
     }
 }
 
index 4e9f9ab..5656228 100755 (executable)
@@ -58,12 +58,12 @@ foreach my $thisauthtype (
 }
 
 if ( $op eq "do_search" ) {
-    my @marclist = ($query->param('marclista'),$query->param('marclistb'),$query->param('marclistc'));
-    my @and_or = ($query->param('and_ora'),$query->param('and_orb'),$query->param('and_orc'));
-    my @excluding = ($query->param('excludinga'),$query->param('excludingb'),$query->param('excludingc'),);
-    my @operator = ($query->param('operatora'),$query->param('operatorb'),$query->param('operatorc'));
+    my @marclist = ($query->param('marclist'));
+    my @and_or = ($query->param('and_or'));
+    my @excluding = ($query->param('excluding'),);
+    my @operator = ($query->param('operator'));
     my $orderby = $query->param('orderby');
-    my @value = ($query->param('valuea') || "",$query->param('valueb') || "",$query->param('valuec') || "",);
+    my @value = ($query->param('value') || "",);
 
     $resultsperpage = $query->param('resultsperpage');
     $resultsperpage = 20 if ( !defined $resultsperpage );
@@ -90,15 +90,7 @@ if ( $op eq "do_search" ) {
         $displaynext = 1;
     }
 
-    my @field_data = ();
-
-    foreach my $letter (qw/a b c/){
-        push @field_data, { term => "marclist$letter" , val => $query->param("marclist$letter") || ''};
-        push @field_data, { term => "and_or$letter" , val => $query->param("and_or$letter") || ''};
-        push @field_data, { term => "excluding$letter" , val => $query->param("excluding$letter") || ''};
-        push @field_data, { term => "operator$letter" , val => $query->param("operator$letter") || ''};
-        push @field_data, { term => "value$letter" , val => $query->param("value$letter") || ''};
-    }
+    my @field_data = ( { term => "marclist" , val => $query->param("marclist") || ''} );
 
     my @numbers = ();
 
index 8d5367f..ffe9734 100755 (executable)
@@ -66,7 +66,7 @@ my ( $template, $loggedinuser, $cookie ) = get_template_and_user(
     }
 );
 
-my $authid       = $query->param('authid');
+my $authid = $query->param('authid');
 my $record = GetAuthority( $authid );
 if ( ! $record ) {
     print $query->redirect("/cgi-bin/koha/errors/404.pl"); # escape early
@@ -76,28 +76,10 @@ if ( ! $record ) {
 my $authtypecode = &GetAuthTypeCode( $authid );
 
 if ($display_hierarchy){
-  my $trees=BuildUnimarcHierarchies($authid);
-  my @trees = split /;/,$trees ;
-  push @trees,$trees unless (@trees);
-  my @loophierarchies;
-  foreach my $tree (@trees){
-    my @tree=split /,/,$tree;
-    push @tree,$tree unless (@tree);
-    my $cnt=0;
-    my @loophierarchy;
-    foreach my $element (@tree){
-      my $cell;
-      my $elementdata = GetAuthority($element);
-      push @loophierarchy, BuildUnimarcHierarchy($elementdata,"child".$cnt, $authid);
-      $cnt++;
-    }
-    push @loophierarchies, { 'loopelement' =>\@loophierarchy};
-  }
-  $template->param(
-    'displayhierarchy' => $display_hierarchy,
-    'loophierarchies' =>\@loophierarchies,
-  );
+    $template->{VARS}->{'displayhierarchy'} = $display_hierarchy;
+    $template->{VARS}->{'loophierarchies'} = GenerateHierarchy($authid);
 }
+
 my $count = CountUsage($authid);
 
 
@@ -156,7 +138,7 @@ if ($show_marc) {
 
 # loop through each subfield
             for my $i ( 0 .. $#subf ) {
-                $subf[$i][0] = "@" unless $subf[$i][0];
+                $subf[$i][0] = "@" unless defined $subf[$i][0];
                 next if ( $tagslib->{ $field->tag() }->{ $subf[$i][0] }->{hidden} );
 # skip useless subfields (for patrons)
                 next if $subf[$i][0] =~ /7|8|9/;
@@ -188,4 +170,3 @@ if ($show_marc) {
 }
 
 output_html_with_http_headers $query, $cookie, $template->output;
-
index feaa89b..cdb4a5a 100755 (executable)
@@ -722,6 +722,9 @@ if (C4::Context->preference("OPACFRBRizeEditions")==1) {
 
 # Serial Collection
 my @sc_fields = $record->field(955);
+my @lc_fields = $marcflavour eq 'UNIMARC'
+    ? $record->field(930)
+    : $record->field(852);
 my @serialcollections = ();
 
 foreach my $sc_field (@sc_fields) {
@@ -729,9 +732,15 @@ foreach my $sc_field (@sc_fields) {
 
     $row_data{text}    = $sc_field->subfield('r');
     $row_data{branch}  = $sc_field->subfield('9');
+    foreach my $lc_field (@lc_fields) {
+        $row_data{itemcallnumber} = $marcflavour eq 'UNIMARC'
+            ? $lc_field->subfield('a') # 930$a
+            : $lc_field->subfield('h') # 852$h
+            if ($sc_field->subfield('5') eq $lc_field->subfield('5'));
+    }
 
     if ($row_data{text} && $row_data{branch}) { 
-       push (@serialcollections, \%row_data);
+        push (@serialcollections, \%row_data);
     }
 }
 
index 300e90f..1870321 100755 (executable)
@@ -39,7 +39,7 @@ my ( $template, $borrowernumber, $cookie ) = get_template_and_user(
 
 my $biblionumber = $query->param('biblionumber') || $query->param('bib');
 my $imagenumber = $query->param('imagenumber');
-my ( $count, $biblio ) = GetBiblio($biblionumber);
+my $biblio = GetBiblio($biblionumber);
 
 if ( C4::Context->preference("OPACLocalCoverImages") ) {
     my @images = ListImagesForBiblio($biblionumber);
index 0d5bb9e..c716c60 100755 (executable)
@@ -46,7 +46,7 @@ $template->param(
 
 # display news
 # use cookie setting for language, bug default to syspref if it's not set
-my ($theme, $news_lang) = C4::Templates::themelanguage(C4::Context->config('opachtdocs'),'opac-main.tt','opac',$input);
+my ($theme, $news_lang, $availablethemes) = C4::Templates::themelanguage(C4::Context->config('opachtdocs'),'opac-main.tt','opac',$input);
 
 my $all_koha_news   = &GetNewsToDisplay($news_lang);
 my $koha_news_count = scalar @$all_koha_news;
index 3e78c9a..4f16c66 100755 (executable)
@@ -27,8 +27,10 @@ use C4::Biblio;
 use C4::Circulation;
 use C4::Members;
 use Koha::DateUtils;
+use MARC::Record;
 
 use C4::Output;
+use C4::Charset qw(StripNonXmlChars);
 
 my $query = new CGI;
 my ( $template, $borrowernumber, $cookie ) = get_template_and_user(
@@ -50,55 +52,65 @@ $template->param(%{$borr});
 my $itemtypes = GetItemTypes();
 
 # get the record
-my $order  = $query->param('order') || '';
-if ( $order eq '' ) {
-    $order = "date_due desc";
-    $template->param( orderbydate => 1 );
-}
-
+my $order = $query->param('order') || '';
 if ( $order eq 'title' ) {
     $template->param( orderbytitle => 1 );
 }
-
-if ( $order eq 'author' ) {
+elsif ( $order eq 'author' ) {
     $template->param( orderbyauthor => 1 );
 }
-
-my $limit = $query->param('limit') || 50;
-if ( $limit eq 'full' ) {
-    $limit = 0;
-}
 else {
-    $limit = 50;
+    $order = "date_due desc";
+    $template->param( orderbydate => 1 );
 }
 
-my ( $issues ) = GetAllIssues( $borrowernumber, $order, $limit );
-
-
-my @loop_reading;
-
-foreach my $issue (@{$issues} ) {
-    my %line;
-       
-    my $record = GetMarcBiblio($issue->{'biblionumber'});
-
-       # XISBN Stuff
-       my $isbn               = GetNormalizedISBN($issue->{'isbn'});
-       $line{normalized_isbn} = $isbn;
-    $line{biblionumber}    = $issue->{'biblionumber'};
-    $line{title}           = $issue->{'title'};
-    $line{author}          = $issue->{'author'};
-    $line{itemcallnumber}  = $issue->{'itemcallnumber'};
-    $line{date_due}        = $issue->{'date_due'};
-    $line{returndate}      = $issue->{'returndate'};
-    $line{volumeddesc}     = $issue->{'volumeddesc'};
-    $issue->{'itemtype'}   = C4::Context->preference('item-level_itypes') ? $issue->{'itype'} : $issue->{'itemtype'};
-    if($issue->{'itemtype'}) {
-        $line{'description'}   = $itemtypes->{ $issue->{'itemtype'} }->{'description'};
-        $line{imageurl}        = getitemtypeimagelocation( 'opac', $itemtypes->{ $issue->{'itemtype'}  }->{'imageurl'} );
+
+my $limit = $query->param('limit');
+$limit = ( $limit eq 'full' ) ? 0 : 50;
+
+my $issues = GetAllIssues( $borrowernumber, $order, $limit );
+
+my $itype_attribute =
+  ( C4::Context->preference('item-level_itypes') ) ? 'itype' : 'itemtype';
+
+my $opac_summary_html = C4::Context->preference('OPACMySummaryHTML');
+foreach my $issue ( @{$issues} ) {
+    $issue->{normalized_isbn} = GetNormalizedISBN( $issue->{isbn} );
+    if ( $issue->{$itype_attribute} ) {
+        $issue->{description} =
+          $itemtypes->{ $issue->{$itype_attribute} }->{description};
+        $issue->{imageurl} =
+          getitemtypeimagelocation( 'opac',
+            $itemtypes->{ $issue->{$itype_attribute} }->{imageurl} );
+    }
+    if ( $issue->{marcxml} ) {
+        my $marcxml = StripNonXmlChars( $issue->{marcxml} );
+        my $marc_rec =
+          MARC::Record::new_from_xml( $marcxml, 'utf8',
+            C4::Context->preference('marcflavour') );
+        $issue->{subtitle} =
+          GetRecordValue( 'subtitle', $marc_rec, $issue->{frameworkcode} );
+    }
+    # My Summary HTML
+    if ($opac_summary_html) {
+        my $my_summary_html = $opac_summary_html;
+        $issue->{author}
+          ? $my_summary_html =~ s/{AUTHOR}/$issue->{author}/g
+          : $my_summary_html =~ s/{AUTHOR}//g;
+        my $title = $issue->{title};
+        $title =~ s/\/+$//;    # remove trailing slash
+        $title =~ s/\s+$//;    # remove trailing space
+        $title
+          ? $my_summary_html =~ s/{TITLE}/$title/g
+          : $my_summary_html =~ s/{TITLE}//g;
+        $issue->{normalized_isbn}
+          ? $my_summary_html =~ s/{ISBN}/$issue->{normalized_isbn}/g
+          : $my_summary_html =~ s/{ISBN}//g;
+        $issue->{biblionumber}
+          ? $my_summary_html =~ s/{BIBLIONUMBER}/$issue->{biblionumber}/g
+          : $my_summary_html =~ s/{BIBLIONUMBER}//g;
+        $issue->{MySummaryHTML} = $my_summary_html;
     }
-    push( @loop_reading, \%line );
-    $line{subtitle} = GetRecordValue('subtitle', $record, GetFrameworkCode($issue->{'biblionumber'}));
 }
 
 if (C4::Context->preference('BakerTaylorEnabled')) {
@@ -125,11 +137,11 @@ for(qw(AmazonCoverImages GoogleJackets)) {        # BakerTaylorEnabled handled above
 }
 
 $template->param(
-    READING_RECORD => \@loop_reading,
+    READING_RECORD => $issues,
     limit          => $limit,
     showfulllink   => 1,
-       readingrecview => 1,
-       count          => scalar @loop_reading,
+    readingrecview => 1,
+    OPACMySummaryHTML => $opac_summary_html ? 1 : 0,
 );
 
 output_html_with_http_headers $query, $cookie, $template->output;
index 2bbb4be..bb23752 100755 (executable)
@@ -172,7 +172,10 @@ foreach my $biblioNumber (@biblionumbers) {
 #
 if ( $query->param('place_reserve') ) {
     my $notes = $query->param('notes');
-       my $canreserve=0;
+    my $reserve_cnt = 0;
+    if ($MAXIMUM_NUMBER_OF_RESERVES) {
+        $reserve_cnt = GetReservesFromBorrowernumber( $borrowernumber );
+    }
 
     # List is composed of alternating biblio/item/branch
     my $selectedItems = $query->param('selecteditems');
@@ -203,55 +206,74 @@ if ( $query->param('place_reserve') ) {
     while (@selectedItems) {
         my $biblioNum = shift(@selectedItems);
         my $itemNum   = shift(@selectedItems);
-        my $branch    = shift(@selectedItems); # i.e., branch code, not name
+        my $branch    = shift(@selectedItems);    # i.e., branch code, not name
+
+        my $canreserve = 0;
 
         my $singleBranchMode = C4::Context->preference("singleBranchMode");
-        if ($singleBranchMode || ! $OPACChooseBranch) { # single branch mode or disabled user choosing
+        if ( $singleBranchMode || !$OPACChooseBranch )
+        {    # single branch mode or disabled user choosing
             $branch = $borr->{'branchcode'};
         }
 
-       #item may belong to a host biblio, if yes change biblioNum to hosts bilbionumber
-       if ($itemNum ne '') {
-               my $hostbiblioNum = GetBiblionumberFromItemnumber($itemNum);
-               if ($hostbiblioNum ne $biblioNum) {
-                       $biblioNum = $hostbiblioNum;
-               }
-       }
+#item may belong to a host biblio, if yes change biblioNum to hosts bilbionumber
+        if ( $itemNum ne '' ) {
+            my $hostbiblioNum = GetBiblionumberFromItemnumber($itemNum);
+            if ( $hostbiblioNum ne $biblioNum ) {
+                $biblioNum = $hostbiblioNum;
+            }
+        }
 
         my $biblioData = $biblioDataHash{$biblioNum};
         my $found;
 
-       # Check for user supplied reserve date
-       my $startdate;
-       if (
-           C4::Context->preference( 'AllowHoldDateInFuture' ) &&
-           C4::Context->preference( 'OPACAllowHoldDateInFuture' )
-           ) {
-           $startdate = $query->param("reserve_date_$biblioNum");
-       }
-       
-       my $expiration_date = $query->param("expiration_date_$biblioNum");
+        # Check for user supplied reserve date
+        my $startdate;
+        if (   C4::Context->preference('AllowHoldDateInFuture')
+            && C4::Context->preference('OPACAllowHoldDateInFuture') )
+        {
+            $startdate = $query->param("reserve_date_$biblioNum");
+        }
+
+        my $expiration_date = $query->param("expiration_date_$biblioNum");
 
-        # If a specific item was selected and the pickup branch is the same as the
-        # holdingbranch, force the value $rank and $found.
+      # If a specific item was selected and the pickup branch is the same as the
+      # holdingbranch, force the value $rank and $found.
         my $rank = $biblioData->{rank};
-        if ($itemNum ne ''){
-               $canreserve = 1 if CanItemBeReserved($borrowernumber,$itemNum);
+        if ( $itemNum ne '' ) {
+            $canreserve = 1 if CanItemBeReserved( $borrowernumber, $itemNum );
             $rank = '0' unless C4::Context->preference('ReservesNeedReturns');
             my $item = GetItem($itemNum);
-            if ( $item->{'holdingbranch'} eq $branch ){
-                $found = 'W' unless C4::Context->preference('ReservesNeedReturns');
+            if ( $item->{'holdingbranch'} eq $branch ) {
+                $found = 'W'
+                  unless C4::Context->preference('ReservesNeedReturns');
             }
         }
         else {
-               $canreserve = 1 if CanBookBeReserved($borrowernumber,$biblioNum);
+            $canreserve = 1 if CanBookBeReserved( $borrowernumber, $biblioNum );
+
             # Inserts a null into the 'itemnumber' field of 'reserves' table.
             $itemNum = undef;
         }
 
+        if (   $MAXIMUM_NUMBER_OF_RESERVES
+            && $reserve_cnt >= $MAXIMUM_NUMBER_OF_RESERVES )
+        {
+            $canreserve = 0;
+        }
+
         # Here we actually do the reserveration. Stage 3.
-        AddReserve($branch, $borrowernumber, $biblioNum, 'a', [$biblioNum], $rank, $startdate, $expiration_date, $notes,
-                   $biblioData->{'title'}, $itemNum, $found) if ($canreserve);
+        if ($canreserve) {
+            AddReserve(
+                $branch,      $borrowernumber,
+                $biblioNum,   'a',
+                [$biblioNum], $rank,
+                $startdate,   $expiration_date,
+                $notes,       $biblioData->{title},
+                $itemNum,     $found
+            );
+            ++$reserve_cnt;
+        }
     }
 
     print $query->redirect("/cgi-bin/koha/opac-user.pl#opac-user-holds");
@@ -272,14 +294,14 @@ if ( $borr->{'amountoutstanding'} && ($borr->{'amountoutstanding'} > $maxoutstan
     $noreserves = 1;
     $template->param( too_much_oweing => $amount );
 }
-if ( $borr->{gonenoaddress} && ($borr->{gonenoaddress} eq 1) ) {
+if ( $borr->{gonenoaddress} && ($borr->{gonenoaddress} == 1) ) {
     $noreserves = 1;
     $template->param(
                      message => 1,
                      GNA     => 1
                     );
 }
-if ( $borr->{lost} && ($borr->{lost} eq 1) ) {
+if ( $borr->{lost} && ($borr->{lost} == 1) ) {
     $noreserves = 1;
     $template->param(
                      message => 1,
index 1e5a0d7..7677d86 100755 (executable)
@@ -312,7 +312,7 @@ $tag = $params->{tag} if $params->{tag};
 my $pasarParams = '';
 my $j = 0;
 for (keys %$params) {
-    my @pasarParam = split("\0", $params->{$_});
+    my @pasarParam = $cgi->param($_);
     for my $paramValue(@pasarParam) {
         $pasarParams .= '&amp;' if ($j > 0);
         $pasarParams .= $_ . '=' . $paramValue;
@@ -333,7 +333,7 @@ if (   C4::Context->preference('OPACdefaultSortField')
 }
 
 my @allowed_sortby = qw /acqdate_asc acqdate_dsc author_az author_za call_number_asc call_number_dsc popularity_asc popularity_dsc pubdate_asc pubdate_dsc relevance title_az title_za/; 
-@sort_by = split("\0",$params->{'sort_by'}) if $params->{'sort_by'};
+@sort_by = $cgi->param('sort_by');
 $sort_by[0] = $default_sort_by if !$sort_by[0] && defined($default_sort_by);
 foreach my $sort (@sort_by) {
     if ( $sort ~~ @allowed_sortby ) {
@@ -343,8 +343,7 @@ foreach my $sort (@sort_by) {
 $template->param('sort_by' => $sort_by[0]);
 
 # Use the servers defined, or just search our local catalog(default)
-my @servers;
-@servers = split("\0",$params->{'server'}) if $params->{'server'};
+my @servers = $cgi->param('server');
 unless (@servers) {
     #FIXME: this should be handled using Context.pm
     @servers = ("biblioserver");
@@ -353,21 +352,20 @@ unless (@servers) {
 
 # operators include boolean and proximity operators and are used
 # to evaluate multiple operands
-my @operators;
-@operators = split("\0",$params->{'op'}) if $params->{'op'};
+my @operators = $cgi->param('op');
 
 # indexes are query qualifiers, like 'title', 'author', etc. They
 # can be single or multiple parameters separated by comma: kw,right-Truncation 
-my @indexes;
-@indexes = split("\0",$params->{'idx'}) if $params->{'idx'};
+my @indexes = $cgi->param('idx');
 
 # if a simple index (only one)  display the index used in the top search box
 if ($indexes[0] && !$indexes[1]) {
     $template->param("ms_".$indexes[0] => 1);
 }
 # an operand can be a single term, a phrase, or a complete ccl query
-my @operands;
-@operands = split("\0",$params->{'q'}) if $params->{'q'};
+my @operands = $cgi->param('q');
+
+$template->{VARS}->{querystring} = join(' ', @operands);
 
 # if a simple search, display the value in the search box
 if ($operands[0] && !$operands[1]) {
@@ -375,8 +373,7 @@ if ($operands[0] && !$operands[1]) {
 }
 
 # limits are use to limit to results to a pre-defined category such as branch or language
-my @limits;
-@limits = split("\0",$params->{'limit'}) if $params->{'limit'};
+my @limits = $cgi->param('limit');
 
 if($params->{'multibranchlimit'}) {
     push @limits, '('.join( " or ", map { "branch: $_ " } @{ GetBranchesInCategory( $params->{'multibranchlimit'} ) } ).')';
@@ -449,7 +446,17 @@ my @limit_inputs = $limit_cgi ? _input_cgi_parse($limit_cgi) : ();
 #
 # add OPAC suppression - requires at least one item indexed with Suppress
 if (C4::Context->preference('OpacSuppression')) {
-    $query = "($query) not Suppress=1";
+    # OPAC suppression by IP address
+    if (C4::Context->preference('OpacSuppressionByIPRange')) {
+        my $IPAddress = $ENV{'REMOTE_ADDR'};
+        my $IPRange = C4::Context->preference('OpacSuppressionByIPRange');
+        if ($IPAddress !~ /^$IPRange/)  {
+            $query = "($query) not Suppress=1";
+        }
+    }
+    else {
+        $query = "($query) not Suppress=1";
+    }
 }
 
 $template->param ( LIMIT_INPUTS => \@limit_inputs );
@@ -487,7 +494,7 @@ elsif (C4::Context->preference('NoZebra')) {
     $pasarParams .= '&amp;simple_query=' . $simple_query;
     $pasarParams .= '&amp;query_type=' . $query_type if ($query_type);
     eval {
-        ($error, $results_hashref, $facets) = getRecords($query,$simple_query,\@sort_by,\@servers,$results_per_page,$offset,$expanded_facet,$branches,$itemtypes,$query_type,$scan);
+        ($error, $results_hashref, $facets) = getRecords($query,$simple_query,\@sort_by,\@servers,$results_per_page,$offset,$expanded_facet,$branches,$itemtypes,$query_type,$scan,1);
     };
 }
 # This sorts the facets into alphabetical order
@@ -609,7 +616,7 @@ for (my $i=0;$i<@servers;$i++) {
 
             if (!$borrowernumber || $borrowernumber eq '') {
                 # To a cookie (the user is not logged in)
-                if (($params->{'offset'}||'') eq '') {
+                if (!$offset) {
                     push @recentSearches, {
                                 "query_desc" => $query_desc_history || "unknown",
                                 "query_cgi"  => $query_cgi_history  || "unknown",
@@ -631,7 +638,7 @@ for (my $i=0;$i<@servers;$i++) {
             }
             else {
                 # To the session (the user is logged in)
-                if (($params->{'offset'}||'') eq '') {
+                if (!$offset) {
                     AddSearchHistory($borrowernumber, $cgi->cookie("CGISESSID"), $query_desc_history, $query_cgi_history, $total);
                     $template->param(ShowOpacRecentSearchLink => 1);
                 }
@@ -689,7 +696,7 @@ for (my $i=0;$i<@servers;$i++) {
             $hide = ($hide =~ m/\S/) if $hide; # Just in case it has some spaces/new lines
             $template->param(
                 SEARCH_RESULTS => \@newresults,
-                OPACItemsResultsDisplay => (C4::Context->preference("OPACItemsResultsDisplay") eq "itemdetails"?1:0),
+                OPACItemsResultsDisplay => (C4::Context->preference("OPACItemsResultsDisplay")),
                 suppress_result_number => $hide,
                             );
            if (C4::Context->preference("OPACLocalCoverImages")){
@@ -816,5 +823,7 @@ if (C4::Context->preference('GoogleIndicTransliteration')) {
         $template->param('GoogleIndicTransliteration' => 1);
 }
 
+$template->{VARS}->{DidYouMean} = C4::Context->preference('OPACdidyoumean') =~ m/enable/;
+
     $template->param( borrowernumber    => $borrowernumber);
 output_with_http_headers $cgi, $cookie, $template->output, $content_type;
index a0ed523..a856081 100755 (executable)
@@ -41,7 +41,7 @@ use C4::Debug;
 use C4::Output qw(:html :ajax pagination_bar);
 use C4::Scrubber;
 use C4::Biblio;
-use C4::Tags qw(add_tag get_approval_rows get_tag_rows remove_tag);
+use C4::Tags qw(add_tag get_approval_rows get_tag_rows remove_tag stratify_tags);
 
 use Data::Dumper;
 
@@ -263,34 +263,9 @@ if ($add_op) {
                $arghash->{biblionumber} = $arg;
        }
        $results = get_approval_rows($arghash);
-
+    stratify_tags(10, $results); # work out the differents sizes for things
        my $count = scalar @$results;
        $template->param(TAGLOOP_COUNT => $count, mine => $mine);
-       # Here we make a halfhearted attempt to separate the tags into "strata" based on weight_total
-       # FIXME: code4lib probably has a better algorithm, iirc
-       # FIXME: when we get a better algorithm, move to C4
-       my $maxstrata = 5;
-       my $strata = 1;
-       my $previous = 0;
-       my $chunk = ($count/$maxstrata)/2;
-       my $total = 0;
-       my %cloud;
-       foreach (reverse @$results) {
-               my $current = $_->{weight_total};
-               $total++;
-               $cloud{$strata}++;
-               if ($current == $previous) {
-                       $_->{cloudweight} = $strata;
-                       next;
-               } 
-               if ($strata < $maxstrata and 
-                       ($cloud{$strata} > $chunk or 
-                       $count-$total <= $maxstrata-$strata)) {
-                       $strata++;
-               }
-               $_->{cloudweight} = $strata;
-               $previous = $current;
-       }
 }
 (scalar @errors  ) and $template->param(ERRORS  => \@errors);
 my @orderedresult = sort { uc($a->{'term'}) cmp uc($b->{'term'}) } @$results;
index 50a167e..eee3d38 100755 (executable)
@@ -109,7 +109,8 @@ if ( $borr->{amountoutstanding} > $no_renewal_amt ) {
     $borr->{'flagged'} = 1;
     $canrenew = 0;
     $template->param(
-        renewal_blocked_fines => sprintf( '%.02f', $borr->{amountoutstanding} ),
+        renewal_blocked_fines => sprintf( '%.02f', $no_renewal_amt ),
+        renewal_blocked_fines_amountoutstanding => sprintf( '%.02f', $borr->{amountoutstanding} ),
     );
 }
 
index 86b7a00..38cbd42 100755 (executable)
@@ -31,38 +31,34 @@ my $query  = CGI->new();
 my $report_id = $query->param('id');
 my $report_name = $query->param('name');
 
-my $cache;
-my $sql;
-my $type;
-my $notes;
-my $cache_expiry;
-my $public;
+my $report_rec = get_saved_report( $report_name ? { 'name' => $report_name } : { 'id' => $report_id } );
+die "Sorry this report is not public\n" unless $report_rec->{public};
 
-( $sql, $type, $report_name, $notes, $cache_expiry, $public, $report_id ) =
-  get_saved_report($report_name ? { 'name' => $report_name } : { 'id' => $report_id } );
-die "Sorry this report is not public\n" unless $public;
 
-if (Koha::Cache->is_cache_active) {
-    $cache = Koha::Cache->new(
-    );
-    my $page = $cache->get_from_cache("opac:report:$report_id");
-    if ($page) {
-        print $query->header;
-        print $page;
-        exit;
-    }
+my $cache_active = Koha::Cache->is_cache_active;
+my ($cache_key, $cache, $json_text);
+if ($cache_active) {
+    $cache_key = "opac:report:".($report_name ? "name:$report_name" : "id:$report_id");
+    $cache = Koha::Cache->new();
+    $json_text = $cache->get_from_cache($cache_key);
 }
 
-print $query->header;
-if ($sql) {
+unless ($json_text) {
     my $offset = 0;
     my $limit  = C4::Context->preference("SvcMaxReportRows") || 10;
-    my ( $sth, $errors ) = execute_query( $sql, $offset, $limit );
-    my $lines     = $sth->fetchall_arrayref;
-    my $json_text = to_json($lines);
-    print $json_text;
+    my ( $sth, $errors ) = execute_query( $report_rec->{savedsql}, $offset, $limit );
+    if ($sth) {
+        my $lines     = $sth->fetchall_arrayref;
+        $json_text = to_json($lines);
 
-    if (Koha::Cache->is_cache_active) {
-        $cache->set_in_cache( "opac:report:$report_id", $json_text, $cache_expiry );
+        if ($cache_active) {
+            $cache->set_in_cache( $cache_key, $json_text, $report_rec->{cache_expiry} );
+        }
+    }
+    else {
+        $json_text = to_json($errors);
     }
 }
+
+print $query->header;
+print $json_text;
diff --git a/opac/svc/suggestion b/opac/svc/suggestion
new file mode 100755 (executable)
index 0000000..9c08565
--- /dev/null
@@ -0,0 +1,109 @@
+#!/usr/bin/perl
+
+# Copyright 2012 C & P Bibliography Services
+#
+# This file is part of Koha.
+#
+# Koha is free software; you can redistribute it and/or modify it under the
+# terms of the GNU General Public License as published by the Free Software
+# Foundation; either version 2 of the License, or (at your option) any later
+# version.
+#
+# Koha is distributed in the hope that it will be useful, but WITHOUT ANY
+# WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR
+# A PARTICULAR PURPOSE.  See the GNU General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License along
+# with Koha; if not, write to the Free Software Foundation, Inc.,
+# 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
+
+=head1 NAME
+
+opac-suggestion.pl : script to render suggestions for the OPAC
+
+=head1 SYNOPSIS
+
+=cut
+
+=head1 DESCRIPTION
+
+This script produces suggestions for the OPAC given a search string.
+
+It takes the following parameters:
+
+=over 8
+
+=item I<q>
+
+Required. Query string.
+
+=item I<render>
+
+If set to 'stub' render a stub HTML page suitable for inclusion into a
+div via AJAX. If set to 'standalone', return a full page instead of the stub.
+If not set, return JSON.
+
+=item I<count>
+
+Number of suggestions to display. Defaults to 4 in stub mode, 20 otherwise.
+
+=back
+
+=cut
+
+use strict;
+use warnings;
+
+use C4::Auth;
+use C4::Context;
+use C4::Output;
+use CGI;
+use JSON;
+use Koha::SuggestionEngine;
+
+my $query = new CGI;
+
+my $dbh = C4::Context->dbh;
+
+my $search = $query->param('q')      || '';
+my $render = $query->param('render') || '';
+my $count  = $query->param('count')  || ( $render eq 'stub' ? 4 : 20 );
+
+# open template
+my ( $template, $loggedinuser, $cookie ) = get_template_and_user(
+    {
+        template_name   => "svc/suggestion.tt",
+        query           => $query,
+        type            => "opac",
+        authnotrequired => ( C4::Context->preference("OpacPublic") ? 1 : 0 ),
+        debug           => 1,
+    }
+);
+
+my @plugins = ();
+
+my $pluginsconfig = from_json(C4::Context->preference('OPACdidyoumean') || '[]');
+
+foreach my $plugin (@$pluginsconfig) {
+    push @plugins, $plugin->{name} if ($plugin->{enabled});
+}
+
+unless ( @plugins ) {
+    print $query->header;
+    exit;
+}
+
+my $suggestor = Koha::SuggestionEngine->new( { plugins => \@plugins } );
+
+my $suggestions =
+  $suggestor->get_suggestions( { search => $search, count => $count } );
+
+if ($render) {
+    $template->{VARS}->{render} = $render;
+    $template->{VARS}->{suggestions} = $suggestions if $suggestions;
+    output_html_with_http_headers $query, $cookie, $template->output;
+}
+else {
+    print $query->header;
+    print to_json($suggestions);
+}
index 4f94d69..aae96c9 100755 (executable)
@@ -37,11 +37,12 @@ my $input = new CGI;
 my $referer = $input->referer();
 
 my $phase = $input->param('phase') || 'View Dictionary';
-my $area = $input->param('areas') || '';
-my $no_html = 0; # this will be set if we dont want to print out an html::template
-my     ( $template, $borrowernumber, $cookie ) = get_template_and_user(
-    {
-        template_name   => "reports/dictionary.tmpl",
+my $definition_name        = $input->param('definition_name');
+my $definition_description = $input->param('definition_description');
+my $area  = $input->param('area') || '';
+my $no_html = 0;    # this will be set if we dont want to print out an html::template
+my ( $template, $borrowernumber, $cookie ) = get_template_and_user(
+    {   template_name   => "reports/dictionary.tmpl",
         query           => $input,
         type            => "intranet",
         authnotrequired => 0,
@@ -51,78 +52,71 @@ my  ( $template, $borrowernumber, $cookie ) = get_template_and_user(
        );
 
 if ($phase eq 'View Dictionary'){
-       # view the dictionary we use to set up abstract variables such as all borrowers over fifty who live in a certain town
-       my $areas = get_report_areas();
-    foreach (@{ $areas }) {
-        $_->{selected} = 1 if $_->{id} eq $area; # mark active area
-    }
-       my $definitions = get_from_dictionary($area);
-       $template->param( 'areas' => $areas ,
-               'start_dictionary' => 1,
-               'definitions' => $definitions,
-       );
-}
-elsif ($phase eq 'Add New Definition'){
-       # display form allowing them to add a new definition
-       $template->param( 'new_dictionary' => 1,
-               );
+    # view the dictionary we use to set up abstract variables such as all borrowers over fifty who live in a certain town
+    my $definitions = get_from_dictionary($area);
+    $template->param(
+        'areas'=> areas(),
+        'start_dictionary' => 1,
+        'definitions'      => $definitions,
+    );
+} elsif ( $phase eq 'Add New Definition' ) {
+
+    # display form allowing them to add a new definition
+    $template->param( 'new_dictionary' => 1, );
 }
 
-elsif ($phase eq 'New Term step 2'){
-       # Choosing the area
-       my $areas = C4::Reports::Guided::get_report_areas();
-       my $definition_name=$input->param('definition_name');
-       my $definition_description=$input->param('definition_description');             
-       $template->param( 'step_2' => 1,
-               'areas' => $areas,
-               'definition_name' => $definition_name,
-               'definition_description' => $definition_description,
-       );
+elsif ( $phase eq 'New Term step 2' ) {
+
+    # Choosing the area
+    $template->param(
+        'step_2'                 => 1,
+        'areas'                  => areas(),
+        'definition_name'        => $definition_name,
+        'definition_description' => $definition_description,
+    );
 }
 
-elsif ($phase eq 'New Term step 3'){
-       # Choosing the columns
-       my $area = $input->param('areas');
-       my $columns = get_columns($area,$input);
-       my $definition_name=$input->param('definition_name');
-       my $definition_description=$input->param('definition_description');             
-       $template->param( 'step_3' => 1,
-               'area' => $area,
-               'columns' => $columns,
-               'definition_name' => $definition_name,
-               'definition_description' => $definition_description,
-       );
+elsif ( $phase eq 'New Term step 3' ) {
+
+    # Choosing the columns
+    my $columns                = get_columns( $area, $input );
+    $template->param(
+        'step_3'                 => 1,
+        'area'                   => $area,
+        'columns'                => $columns,
+        'definition_name'        => $definition_name,
+        'definition_description' => $definition_description,
+    );
 }
 
-elsif ($phase eq 'New Term step 4'){
-       # Choosing the values
-       my $area=$input->param('area');
-       my $definition_name=$input->param('definition_name');
-       my $definition_description=$input->param('definition_description');             
-    my @columns = $input->param('columns');
-       my $columnstring = join (',',@columns);
-       my @column_loop;
-       foreach my $column (@columns){
-               my %tmp_hash;
-               $tmp_hash{'name'}=$column;
-               my $type =get_column_type($column);
-               if ($type eq 'distinct'){
-                       my $values = get_distinct_values($column);
-                       $tmp_hash{'values'} = $values;
-                       $tmp_hash{'distinct'} = 1;
-                         
-               }
-               if ($type eq 'DATE' || $type eq 'DATETIME'){
-                       $tmp_hash{'date'}=1;
-               }
-               if ($type eq 'TEXT' || $type eq 'MEDIUMTEXT'){
-                       $tmp_hash{'text'}=1;
-               }
-#              else {
-#                      warn $type;#
-#                      }
-               push @column_loop,\%tmp_hash;
-               }
+elsif ( $phase eq 'New Term step 4' ) {
+
+    # Choosing the values
+    my @columns                = $input->param('columns');
+    my $columnstring           = join( ',', @columns );
+    my @column_loop;
+    foreach my $column (@columns) {
+        my %tmp_hash;
+        $tmp_hash{'name'} = $column;
+        my $type = get_column_type($column);
+        if ( $type eq 'distinct' ) {
+            my $values = get_distinct_values($column);
+            $tmp_hash{'values'}   = $values;
+            $tmp_hash{'distinct'} = 1;
+
+        }
+        if ( $type eq 'DATE' || $type eq 'DATETIME' ) {
+            $tmp_hash{'date'} = 1;
+        }
+        if ( $type eq 'TEXT' ) {
+            $tmp_hash{'text'} = 1;
+        }
+
+        #              else {
+        #                      warn $type;#
+        #                      }
+        push @column_loop, \%tmp_hash;
+    }
 
        $template->param( 'step_4' => 1,
                'area' => $area,
@@ -134,83 +128,78 @@ elsif ($phase eq 'New Term step 4'){
        );
 }
 
-elsif ($phase eq 'New Term step 5'){
-       # Confirmation screen
-       my $areas = C4::Reports::Guided::get_report_areas();
-       my $area = $input->param('area');
-    my $areaname = $areas->[$area - 1]->{'name'};
-       my $columnstring = $input->param('columnstring');
-       my $definition_name=$input->param('definition_name');
-       my $definition_description=$input->param('definition_description');     
-       my @criteria = $input->param('criteria_column'); 
-       my $query_criteria;
-       my @criteria_loop;
-       foreach my $crit (@criteria) {
-               my $value = $input->param( $crit . "_value" );
-               if ($value) {
-                    my %tmp_hash;
-                    $tmp_hash{'name'}=$crit;
-                    $tmp_hash{'value'} = $value;
-                    push @criteria_loop,\%tmp_hash;
-                    if ($value =~ C4::Dates->regexp(C4::Context->preference('dateformat'))) {    
-                        my $date = C4::Dates->new($value);
-                        $value = $date->output("iso");
-                    }
-                    $query_criteria .= " AND $crit='$value'";
-               }
-               $value = $input->param( $crit . "_start_value" );
-               if ($value) {
-                    my %tmp_hash;
-                    $tmp_hash{'name'}="$crit Start";
-                    $tmp_hash{'value'} = $value;
-                    push @criteria_loop,\%tmp_hash;
-                    if ($value =~ C4::Dates->regexp(C4::Context->preference('dateformat'))) {    
-                        my $date = C4::Dates->new($value);
-                        $value = $date->output("iso");
-                    }
-                    $query_criteria .= " AND $crit >= '$value'";
-               }
-               $value = $input->param( $crit . "_end_value" );
-               if ($value) {
-                    my %tmp_hash;
-                    $tmp_hash{'name'}="$crit End";
-                    $tmp_hash{'value'} = $value;
-                    push @criteria_loop,\%tmp_hash;
-                    if ($value =~ C4::Dates->regexp(C4::Context->preference('dateformat'))) {    
-                        my $date = C4::Dates->new($value);
-                        $value = $date->output("iso");
-                    }
-                    $query_criteria .= " AND $crit <= '$value'";
-               }                 
-       }
-       $template->param( 'step_5' => 1,
-               'area' => $area,
-               'areaname' => $areaname,
-               'definition_name' => $definition_name,
-               'definition_description' => $definition_description,
-               'query' => $query_criteria,
-               'columnstring' => $columnstring,
-               'criteria_loop' => \@criteria_loop,
-       );
+elsif ( $phase eq 'New Term step 5' ) {
+    # Confirmation screen
+    my $columnstring           = $input->param('columnstring');
+    my @criteria               = $input->param('criteria_column');
+    my $query_criteria;
+    my @criteria_loop;
+
+    foreach my $crit (@criteria) {
+        my $value = $input->param( $crit . "_value" );
+        if ($value) {
+            my %tmp_hash;
+            $tmp_hash{'name'}  = $crit;
+            $tmp_hash{'value'} = $value;
+            push @criteria_loop, \%tmp_hash;
+            if ( $value =~ C4::Dates->regexp( C4::Context->preference('dateformat') ) ) {
+                my $date = C4::Dates->new($value);
+                $value = $date->output("iso");
+            }
+            $query_criteria .= " AND $crit='$value'";
+        }
+        $value = $input->param( $crit . "_start_value" );
+        if ($value) {
+            my %tmp_hash;
+            $tmp_hash{'name'}  = "$crit Start";
+            $tmp_hash{'value'} = $value;
+            push @criteria_loop, \%tmp_hash;
+            if ( $value =~ C4::Dates->regexp( C4::Context->preference('dateformat') ) ) {
+                my $date = C4::Dates->new($value);
+                $value = $date->output("iso");
+            }
+            $query_criteria .= " AND $crit >= '$value'";
+        }
+        $value = $input->param( $crit . "_end_value" );
+        if ($value) {
+            my %tmp_hash;
+            $tmp_hash{'name'}  = "$crit End";
+            $tmp_hash{'value'} = $value;
+            push @criteria_loop, \%tmp_hash;
+            if ( $value =~ C4::Dates->regexp( C4::Context->preference('dateformat') ) ) {
+                my $date = C4::Dates->new($value);
+                $value = $date->output("iso");
+            }
+            $query_criteria .= " AND $crit <= '$value'";
+        }
+    }
+    my %report_areas = map @$_, get_report_areas();
+    $template->param(
+        'step_5'                 => 1,
+        'area'                   => $area,
+        'areaname'               => $report_areas{$area},
+        'definition_name'        => $definition_name,
+        'definition_description' => $definition_description,
+        'query'                  => $query_criteria,
+        'columnstring'           => $columnstring,
+        'criteria_loop'          => \@criteria_loop,
+    );
 }
 
-elsif ($phase eq 'New Term step 6'){
-       # Saving
-       my $area = $input->param('area');
-       my $definition_name=$input->param('definition_name');
-       my $definition_description=$input->param('definition_description');             
-       my $sql=$input->param('sql');
-       save_dictionary($definition_name,$definition_description,$sql,$area);
-       $no_html=1;
-       print $input->redirect("/cgi-bin/koha/reports/dictionary.pl?phase=View%20Dictionary");  
-
+elsif ( $phase eq 'New Term step 6' ) {
+    # Saving
+    my $area                   = $input->param('area');
+    my $sql                    = $input->param('sql');
+    save_dictionary( $definition_name, $definition_description, $sql, $area );
+    $no_html = 1;
+    print $input->redirect("/cgi-bin/koha/reports/dictionary.pl?phase=View%20Dictionary");
+
+} elsif ( $phase eq 'Delete Definition' ) {
+    $no_html = 1;
+    my $id = $input->param('id');
+    delete_definition($id);
+    print $input->redirect("/cgi-bin/koha/reports/dictionary.pl?phase=View%20Dictionary");
 }
-elsif ($phase eq 'Delete Definition'){
-       $no_html=1;
-       my $id = $input->param('id');
-       delete_definition($id);
-       print $input->redirect("/cgi-bin/koha/reports/dictionary.pl?phase=View%20Dictionary");
-       }
 
 $template->param( 'referer' => $referer );
 
@@ -218,3 +207,16 @@ $template->param( 'referer' => $referer );
 if (!$no_html){
        output_html_with_http_headers $input, $cookie, $template->output;
 }
+
+sub areas {
+    my $areas = get_report_areas();
+    my @a;
+    foreach (@$areas) {
+        push @a, {
+            id => $_->[0],
+            name => $_->[1],
+            selected => ($_->[0] eq $area),
+        };
+    }
+    return \@a;
+}
index 8a2aada..de18072 100755 (executable)
 # 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
 
 use strict;
-#use warnings; FIXME - Bug 2505
+use warnings;
+
 use CGI;
 use Text::CSV;
 use URI::Escape;
 use C4::Reports::Guided;
 use C4::Auth qw/:DEFAULT get_session/;
 use C4::Output;
-use C4::Dates;
+use C4::Dates qw/format_date/;
 use C4::Debug;
 use C4::Branch; # XXX subfield_is_koha_internal_p
 
@@ -68,7 +69,7 @@ my $session = $cookie ? get_session($cookie->value) : undef;
 my $filter;
 if ( $input->param("filter_set") ) {
     $filter = {};
-    $filter->{$_} = $input->param("filter_$_") foreach qw/date author keyword/;
+    $filter->{$_} = $input->param("filter_$_") foreach qw/date author keyword group subgroup/;
     $session->param('report_filter', $filter) if $session;
     $template->param( 'filter_set' => 1 );
 }
@@ -85,21 +86,27 @@ if ( !$phase ) {
 elsif ( $phase eq 'Build new' ) {
     # build a new report
     $template->param( 'build1' => 1 );
-    $template->param( 'areas' => get_report_areas(), 'usecache' => $usecache, 'cache_expiry' => 300, 'public' => '0' );
-}
-elsif ( $phase eq 'Use saved' ) {
+    my $areas = get_report_areas();
+    $template->param(
+        'areas' => [map { id => $_->[0], name => $_->[1] }, @$areas],
+        'usecache' => $usecache,
+        'cache_expiry' => 300,
+        'public' => '0',
+    );
+} elsif ( $phase eq 'Use saved' ) {
+
     # use a saved report
     # get list of reports and display them
+    my $group = $input->param('group');
+    my $subgroup = $input->param('subgroup');
+    $filter->{group} = $group;
+    $filter->{subgroup} = $subgroup;
     $template->param(
         'saved1' => 1,
         'savedreports' => get_saved_reports($filter),
         'usecache' => $usecache,
+        'groups_with_subgroups'=> groups_with_subgroups($group, $subgroup),
     );
-    if ($filter) {
-        while ( my ($k, $v) = each %$filter ) {
-            $template->param( "filter_$k" => $v ) if $v;
-        }
-    }
 }
 
 elsif ( $phase eq 'Delete Saved') {
@@ -113,30 +120,33 @@ elsif ( $phase eq 'Delete Saved') {
 
 elsif ( $phase eq 'Show SQL'){
        
-       my $id = $input->param('reports');
-    my ($sql,$type,$reportname,$notes) = get_saved_report($id);
-       $template->param(
+    my $id = $input->param('reports');
+    my $report = get_saved_report($id);
+    $template->param(
         'id'      => $id,
-        'reportname' => $reportname,
-        'notes'      => $notes,
-               'sql'     => $sql,
-               'showsql' => 1,
+        'reportname' => $report->{report_name},
+        'notes'      => $report->{notes},
+       'sql'     => $report->{savedsql},
+       'showsql' => 1,
     );
 }
 
 elsif ( $phase eq 'Edit SQL'){
        
     my $id = $input->param('reports');
-    my ($sql,$type,$reportname,$notes, $cache_expiry, $public) = get_saved_report($id);
+    my $report = get_saved_report($id);
+    my $group = $report->{report_group};
+    my $subgroup  = $report->{report_subgroup};
     $template->param(
-           'sql'        => $sql,
-           'reportname' => $reportname,
-        'notes'      => $notes,
+        'sql'        => $report->{savedsql},
+        'reportname' => $report->{report_name},
+        'groups_with_subgroups' => groups_with_subgroups($group, $subgroup),
+        'notes'      => $report->{notes},
         'id'         => $id,
-        'cache_expiry' => $cache_expiry,
-        'public' => $public,
+        'cache_expiry' => $report->{cache_expiry},
+        'public' => $report->{public},
         'usecache' => $usecache,
-           'editsql'    => 1,
+        'editsql'    => 1,
     );
 }
 
@@ -144,6 +154,8 @@ elsif ( $phase eq 'Update SQL'){
     my $id         = $input->param('id');
     my $sql        = $input->param('sql');
     my $reportname = $input->param('reportname');
+    my $group      = $input->param('group');
+    my $subgroup   = $input->param('subgroup');
     my $notes      = $input->param('notes');
     my $cache_expiry = $input->param('cache_expiry');
     my $cache_expiry_units = $input->param('cache_expiry_units');
@@ -177,16 +189,22 @@ elsif ( $phase eq 'Update SQL'){
             'errors'    => \@errors,
             'sql'       => $sql,
         );
-    }
-    else {
-        update_sql( $id, $sql, $reportname, $notes, $cache_expiry, $public );
+    } else {
+        update_sql( $id, {
+                sql => $sql,
+                name => $reportname,
+                group => $group,
+                subgroup => $subgroup,
+                notes => $notes,
+                cache_expiry => $cache_expiry,
+                public => $public,
+        } );
         $template->param(
             'save_successful'       => 1,
             'reportname'            => $reportname,
             'id'                    => $id,
         );
     }
-    
 }
 
 elsif ($phase eq 'retrieve results') {
@@ -228,7 +246,7 @@ elsif ( $phase eq 'Report on this Area' ) {
       # they have choosen a new report and the area to report on
       $template->param(
           'build2' => 1,
-          'area'   => $input->param('areas'),
+          'area'   => $input->param('area'),
           'types'  => get_report_types(),
           'cache_expiry' => $cache_expiry,
           'public' => $input->param('public'),
@@ -275,42 +293,42 @@ elsif ( $phase eq 'Choose these criteria' ) {
     my $area     = $input->param('area');
     my $type     = $input->param('type');
     my $column   = $input->param('column');
-       my @definitions = $input->param('definition');
-       my $definition = join (',',@definitions);
+    my @definitions = $input->param('definition');
+    my $definition = join (',',@definitions);
     my @criteria = $input->param('criteria_column');
-       my $query_criteria;
+    my $query_criteria;
     foreach my $crit (@criteria) {
         my $value = $input->param( $crit . "_value" );
-       
-       # If value is not defined, then it may be range values
-       if (!defined $value) {
-
-           my $fromvalue = $input->param( "from_" . $crit . "_value" );
-           my $tovalue   = $input->param( "to_"   . $crit . "_value" );
-           
-           # If the range values are dates
-           if ($fromvalue =~ C4::Dates->regexp('syspref') && $tovalue =~ C4::Dates->regexp('syspref')) { 
-               $fromvalue = C4::Dates->new($fromvalue)->output("iso");
-               $tovalue = C4::Dates->new($tovalue)->output("iso");
-           }
-
-           if ($fromvalue && $tovalue) {
-               $query_criteria .= " AND $crit >= '$fromvalue' AND $crit <= '$tovalue'";
-           }
-
-       } else {
-
-           # If value is a date
-           if ($value =~ C4::Dates->regexp('syspref')) { 
-               $value = C4::Dates->new($value)->output("iso");
-           }
-        # don't escape runtime parameters, they'll be at runtime
-        if ($value =~ /<<.*>>/) {
-            $query_criteria .= " AND $crit=$value";
+
+        # If value is not defined, then it may be range values
+        if (!defined $value) {
+
+            my $fromvalue = $input->param( "from_" . $crit . "_value" );
+            my $tovalue   = $input->param( "to_"   . $crit . "_value" );
+
+            # If the range values are dates
+            if ($fromvalue =~ C4::Dates->regexp('syspref') && $tovalue =~ C4::Dates->regexp('syspref')) {
+                $fromvalue = C4::Dates->new($fromvalue)->output("iso");
+                $tovalue = C4::Dates->new($tovalue)->output("iso");
+            }
+
+            if ($fromvalue && $tovalue) {
+                $query_criteria .= " AND $crit >= '$fromvalue' AND $crit <= '$tovalue'";
+            }
+
         } else {
-            $query_criteria .= " AND $crit='$value'";
+
+            # If value is a date
+            if ($value =~ C4::Dates->regexp('syspref')) {
+                $value = C4::Dates->new($value)->output("iso");
+            }
+            # don't escape runtime parameters, they'll be at runtime
+            if ($value =~ /<<.*>>/) {
+                $query_criteria .= " AND $crit=$value";
+            } else {
+                $query_criteria .= " AND $crit='$value'";
+            }
         }
-       }
     }
     $template->param(
         'build5'         => 1,
@@ -412,6 +430,7 @@ elsif ( $phase eq 'Build report' ) {
       build_query( \@columns, $query_criteria, $query_orderby, $area, $totals, $definition );
     $template->param(
         'showreport' => 1,
+        'area'       => $area,
         'sql'        => $sql,
         'type'       => $type,
         'cache_expiry' => $input->param('cache_expiry'),
@@ -420,23 +439,29 @@ elsif ( $phase eq 'Build report' ) {
 }
 
 elsif ( $phase eq 'Save' ) {
-       # Save the report that has just been built
+    # Save the report that has just been built
+    my $area           = $input->param('area');
     my $sql  = $input->param('sql');
     my $type = $input->param('type');
     $template->param(
         'save' => 1,
+        'area'  => $area,
         'sql'  => $sql,
         'type' => $type,
         'cache_expiry' => $input->param('cache_expiry'),
         'public' => $input->param('public'),
+        'groups_with_subgroups' => groups_with_subgroups($area), # in case we have a report group that matches area
     );
 }
 
 elsif ( $phase eq 'Save Report' ) {
-    # save the sql pasted in by a user 
-    my $sql  = $input->param('sql');
-    my $name = $input->param('reportname');
-    my $type = $input->param('types');
+    # save the sql pasted in by a user
+    my $area  = $input->param('area');
+    my $group = $input->param('group');
+    my $subgroup = $input->param('subgroup');
+    my $sql   = $input->param('sql');
+    my $name  = $input->param('reportname');
+    my $type  = $input->param('types');
     my $notes = $input->param('notes');
     my $cache_expiry = $input->param('cache_expiry');
     my $cache_expiry_units = $input->param('cache_expiry_units');
@@ -454,7 +479,7 @@ elsif ( $phase eq 'Save Report' ) {
       }
     }
     # check $cache_expiry isnt too large, Memcached::set requires it to be less than 30 days or it will be treated as if it were an absolute time stamp
-    if( $cache_expiry >= 2592000 ){
+    if( $cache_expiry && $cache_expiry >= 2592000 ){
       push @errors, {cache_expiry => $cache_expiry};
     }
     ## FIXME this is AFTER entering a name to save the report under
@@ -462,7 +487,7 @@ elsif ( $phase eq 'Save Report' ) {
         push @errors, {sqlerr => $1};
     }
     elsif ($sql !~ /^(SELECT)/i) {
-        push @errors, {queryerr => 1};
+        push @errors, {queryerr => "No SELECT"};
     }
     if (@errors) {
         $template->param(
@@ -476,161 +501,178 @@ elsif ( $phase eq 'Save Report' ) {
         );
     }
     else {
-        my $id = save_report( $borrowernumber, $sql, $name, $type, $notes, $cache_expiry, $public );
+        my $id = save_report( {
+                borrowernumber => $borrowernumber,
+                sql            => $sql,
+                name           => $name,
+                area           => $area,
+                group          => $group,
+                subgroup       => $subgroup,
+                type           => $type,
+                notes          => $notes,
+                cache_expiry   => $cache_expiry,
+                public         => $public,
+            } );
         $template->param(
-            'save_successful'       => 1,
-            'reportname'            => $name,
-            'id'                    => $id,
+            'save_successful' => 1,
+            'reportname'      => $name,
+            'id'              => $id,
         );
     }
 }
 
 elsif ($phase eq 'Run this report'){
     # execute a saved report
-    my $limit  = 20;    # page size. # TODO: move to DB or syspref?
-    my $offset = 0;
-    my $report = $input->param('reports');
+    my $limit      = 20; # page size. # TODO: move to DB or syspref?
+    my $offset     = 0;
+    my $report_id  = $input->param('reports');
     my @sql_params = $input->param('sql_params');
     # offset algorithm
     if ($input->param('page')) {
         $offset = ($input->param('page') - 1) * $limit;
     }
-    my ($sql,$type,$name,$notes) = get_saved_report($report);
-    unless ($sql) {
-        push @errors, {no_sql_for_id=>$report};   
-    } 
-    my @rows = ();
-    # if we have at least 1 parameter, and it's not filled, then don't execute but ask for parameters
-    if ($sql =~ /<</ && !@sql_params) {
-        # split on ??. Each odd (2,4,6,...) entry should be a parameter to fill
-        my @split = split /<<|>>/,$sql;
-        my @tmpl_parameters;
-        for(my $i=0;$i<($#split/2);$i++) {
-            my ($text,$authorised_value) = split /\|/,$split[$i*2+1];
-            my $input;
-            my $labelid;
-            if ($authorised_value eq "date") {
-               $input = 'date';
-            }
-            elsif ($authorised_value) {
-                my $dbh=C4::Context->dbh;
-                my @authorised_values;
-                my %authorised_lib;
-                # builds list, depending on authorised value...
-                if ( $authorised_value eq "branches" ) {
-                    my $branches = GetBranchesLoop();
-                    foreach my $thisbranch (@$branches) {
-                        push @authorised_values, $thisbranch->{value};
-                        $authorised_lib{$thisbranch->{value}} = $thisbranch->{branchname};
-                    }
+
+    my ( $sql, $type, $name, $notes );
+    if (my $report = get_saved_report($report_id)) {
+        $sql   = $report->{savedsql};
+        $name  = $report->{report_name};
+        $notes = $report->{notes};
+
+        my @rows = ();
+        # if we have at least 1 parameter, and it's not filled, then don't execute but ask for parameters
+        if ($sql =~ /<</ && !@sql_params) {
+            # split on ??. Each odd (2,4,6,...) entry should be a parameter to fill
+            my @split = split /<<|>>/,$sql;
+            my @tmpl_parameters;
+            for(my $i=0;$i<($#split/2);$i++) {
+                my ($text,$authorised_value) = split /\|/,$split[$i*2+1];
+                my $input;
+                my $labelid;
+                if ($authorised_value eq "date") {
+                   $input = 'date';
                 }
-                elsif ( $authorised_value eq "itemtypes" ) {
-                    my $sth = $dbh->prepare("SELECT itemtype,description FROM itemtypes ORDER BY description");
-                    $sth->execute;
-                    while ( my ( $itemtype, $description ) = $sth->fetchrow_array ) {
-                        push @authorised_values, $itemtype;
-                        $authorised_lib{$itemtype} = $description;
+                elsif ($authorised_value) {
+                    my $dbh=C4::Context->dbh;
+                    my @authorised_values;
+                    my %authorised_lib;
+                    # builds list, depending on authorised value...
+                    if ( $authorised_value eq "branches" ) {
+                        my $branches = GetBranchesLoop();
+                        foreach my $thisbranch (@$branches) {
+                            push @authorised_values, $thisbranch->{value};
+                            $authorised_lib{$thisbranch->{value}} = $thisbranch->{branchname};
+                        }
                     }
-                }
-                elsif ( $authorised_value eq "cn_source" ) {
-                    my $class_sources = GetClassSources();
-                    my $default_source = C4::Context->preference("DefaultClassificationSource");
-                    foreach my $class_source (sort keys %$class_sources) {
-                        next unless $class_sources->{$class_source}->{'used'} or
-                                    ($class_source eq $default_source);
-                        push @authorised_values, $class_source;
-                        $authorised_lib{$class_source} = $class_sources->{$class_source}->{'description'};
+                    elsif ( $authorised_value eq "itemtypes" ) {
+                        my $sth = $dbh->prepare("SELECT itemtype,description FROM itemtypes ORDER BY description");
+                        $sth->execute;
+                        while ( my ( $itemtype, $description ) = $sth->fetchrow_array ) {
+                            push @authorised_values, $itemtype;
+                            $authorised_lib{$itemtype} = $description;
+                        }
                     }
-                }
-                elsif ( $authorised_value eq "categorycode" ) {
-                    my $sth = $dbh->prepare("SELECT categorycode, description FROM categories ORDER BY description");
-                    $sth->execute;
-                    while ( my ( $categorycode, $description ) = $sth->fetchrow_array ) {
-                        push @authorised_values, $categorycode;
-                        $authorised_lib{$categorycode} = $description;
+                    elsif ( $authorised_value eq "cn_source" ) {
+                        my $class_sources = GetClassSources();
+                        my $default_source = C4::Context->preference("DefaultClassificationSource");
+                        foreach my $class_source (sort keys %$class_sources) {
+                            next unless $class_sources->{$class_source}->{'used'} or
+                                        ($class_source eq $default_source);
+                            push @authorised_values, $class_source;
+                            $authorised_lib{$class_source} = $class_sources->{$class_source}->{'description'};
+                        }
                     }
+                    elsif ( $authorised_value eq "categorycode" ) {
+                        my $sth = $dbh->prepare("SELECT categorycode, description FROM categories ORDER BY description");
+                        $sth->execute;
+                        while ( my ( $categorycode, $description ) = $sth->fetchrow_array ) {
+                            push @authorised_values, $categorycode;
+                            $authorised_lib{$categorycode} = $description;
+                        }
+
+                        #---- "true" authorised value
+                    }
+                    else {
+                        my $authorised_values_sth = $dbh->prepare("SELECT authorised_value,lib FROM authorised_values WHERE category=? ORDER BY lib");
 
-                    #---- "true" authorised value
-                }
-                else {
-                    my $authorised_values_sth = $dbh->prepare("SELECT authorised_value,lib FROM authorised_values WHERE category=? ORDER BY lib");
-
-                    $authorised_values_sth->execute( $authorised_value);
+                        $authorised_values_sth->execute( $authorised_value);
 
-                    while ( my ( $value, $lib ) = $authorised_values_sth->fetchrow_array ) {
-                        push @authorised_values, $value;
-                        $authorised_lib{$value} = $lib;
-                        # For item location, we show the code and the libelle
-                        $authorised_lib{$value} = $lib;
+                        while ( my ( $value, $lib ) = $authorised_values_sth->fetchrow_array ) {
+                            push @authorised_values, $value;
+                            $authorised_lib{$value} = $lib;
+                            # For item location, we show the code and the libelle
+                            $authorised_lib{$value} = $lib;
+                        }
                     }
-                }
-                $labelid = $text;
-                $labelid =~ s/\W//g;
-                $input =CGI::scrolling_list(      # FIXME: factor out scrolling_list
-                    -name     => "sql_params",
-                    -id       => "sql_params_".$labelid,
-                    -values   => \@authorised_values,
+                    $labelid = $text;
+                    $labelid =~ s/\W//g;
+                    $input =CGI::scrolling_list(      # FIXME: factor out scrolling_list
+                        -name     => "sql_params",
+                        -id       => "sql_params_".$labelid,
+                        -values   => \@authorised_values,
 #                     -default  => $value,
-                    -labels   => \%authorised_lib,
-                    -override => 1,
-                    -size     => 1,
-                    -multiple => 0,
-                    -tabindex => 1,
-                );
-
-            } else {
-                $input = "text";
+                        -labels   => \%authorised_lib,
+                        -override => 1,
+                        -size     => 1,
+                        -multiple => 0,
+                        -tabindex => 1,
+                    );
+                } else {
+                    $input = "text";
+                }
+                push @tmpl_parameters, {'entry' => $text, 'input' => $input, 'labelid' => $labelid };
             }
-            push @tmpl_parameters, {'entry' => $text, 'input' => $input, 'labelid' => $labelid };
-        }
-        $template->param('sql'         => $sql,
-                        'name'         => $name,
-                        'sql_params'   => \@tmpl_parameters,
-                        'enter_params' => 1,
-                        'reports'      => $report,
-                        );
-    } else {
-        # OK, we have parameters, or there are none, we run the report
-        # if there were parameters, replace before running
-        # split on ??. Each odd (2,4,6,...) entry should be a parameter to fill
-        my @split = split /<<|>>/,$sql;
-        my @tmpl_parameters;
-        for(my $i=0;$i<$#split/2;$i++) {
-            my $quoted = C4::Context->dbh->quote($sql_params[$i]);
-            # if there are special regexp chars, we must \ them
-            $split[$i*2+1] =~ s/(\||\?|\.|\*|\(|\)|\%)/\\$1/g;
-            $sql =~ s/<<$split[$i*2+1]>>/$quoted/;
-        }
-        my ($sth, $errors) = execute_query($sql, $offset, $limit);
-        my $total = nb_rows($sql) || 0;
-        unless ($sth) {
-            die "execute_query failed to return sth for report $report: $sql";
+            $template->param('sql'         => $sql,
+                            'name'         => $name,
+                            'sql_params'   => \@tmpl_parameters,
+                            'enter_params' => 1,
+                            'reports'      => $report_id,
+                            );
         } else {
-            my $headref = $sth->{NAME} || [];
-            my @headers = map { +{ cell => $_ } } @$headref;
-            $template->param(header_row => \@headers);
-            while (my $row = $sth->fetchrow_arrayref()) {
-                my @cells = map { +{ cell => $_ } } @$row;
-                push @rows, { cells => \@cells };
+            # OK, we have parameters, or there are none, we run the report
+            # if there were parameters, replace before running
+            # split on ??. Each odd (2,4,6,...) entry should be a parameter to fill
+            my @split = split /<<|>>/,$sql;
+            my @tmpl_parameters;
+            for(my $i=0;$i<$#split/2;$i++) {
+                my $quoted = C4::Context->dbh->quote($sql_params[$i]);
+                # if there are special regexp chars, we must \ them
+                $split[$i*2+1] =~ s/(\||\?|\.|\*|\(|\)|\%)/\\$1/g;
+                $sql =~ s/<<$split[$i*2+1]>>/$quoted/;
+            }
+            my ($sth, $errors) = execute_query($sql, $offset, $limit);
+            my $total = nb_rows($sql) || 0;
+            unless ($sth) {
+                die "execute_query failed to return sth for report $report_id: $sql";
+            } else {
+                my $headref = $sth->{NAME} || [];
+                my @headers = map { +{ cell => $_ } } @$headref;
+                $template->param(header_row => \@headers);
+                while (my $row = $sth->fetchrow_arrayref()) {
+                    my @cells = map { +{ cell => $_ } } @$row;
+                    push @rows, { cells => \@cells };
+                }
             }
-        }
 
-        my $totpages = int($total/$limit) + (($total % $limit) > 0 ? 1 : 0);
-        my $url = "/cgi-bin/koha/reports/guided_reports.pl?reports=$report&amp;phase=Run%20this%20report";
-        if (@sql_params) {
-            $url = join('&amp;sql_params=', $url, map { URI::Escape::uri_escape($_) } @sql_params);
+            my $totpages = int($total/$limit) + (($total % $limit) > 0 ? 1 : 0);
+            my $url = "/cgi-bin/koha/reports/guided_reports.pl?reports=$report_id&amp;phase=Run%20this%20report";
+            if (@sql_params) {
+                $url = join('&amp;sql_params=', $url, map { URI::Escape::uri_escape($_) } @sql_params);
+            }
+            $template->param(
+                'results' => \@rows,
+                'sql'     => $sql,
+                'id'      => $report_id,
+                'execute' => 1,
+                'name'    => $name,
+                'notes'   => $notes,
+                'errors'  => $errors,
+                'pagination_bar'  => pagination_bar($url, $totpages, $input->param('page')),
+                'unlimited_total' => $total,
+            );
         }
-        $template->param(
-            'results' => \@rows,
-            'sql'     => $sql,
-            'id'      => $report,
-            'execute' => 1,
-            'name'    => $name,
-            'notes'   => $notes,
-            'errors'  => $errors,
-            'pagination_bar'  => pagination_bar($url, $totpages, $input->param('page')),
-            'unlimited_total' => $total,
-        );
+    }
+    else {
+        push @errors, { no_sql_for_id => $report_id };
     }
 }
 
@@ -680,16 +722,26 @@ elsif ($phase eq 'Export'){
     );
 }
 
-elsif ($phase eq 'Create report from SQL') {
-       # allow the user to paste in sql
-    if ($input->param('sql')) {
+elsif ( $phase eq 'Create report from SQL' ) {
+
+    my ($group, $subgroup);
+    # allow the user to paste in sql
+    if ( $input->param('sql') ) {
+        $group = $input->param('report_group');
+        $subgroup  = $input->param('report_subgroup');
         $template->param(
             'sql'           => $input->param('sql'),
             'reportname'    => $input->param('reportname'),
             'notes'         => $input->param('notes'),
         );
     }
-        $template->param('create' => 1, 'public' => '0', 'cache_expiry' => 300, 'usecache' => $usecache);
+    $template->param(
+        'create' => 1,
+        'groups_with_subgroups' => groups_with_subgroups($group, $subgroup),
+        'public' => '0',
+        'cache_expiry' => 300,
+        'usecache' => $usecache,
+    );
 }
 
 elsif ($phase eq 'Create Compound Report'){
@@ -728,3 +780,29 @@ $template->param(   'referer' => $input->referer(),
                 );
 
 output_html_with_http_headers $input, $cookie, $template->output;
+
+sub groups_with_subgroups {
+    my ($group, $subgroup) = @_;
+
+    my $groups_with_subgroups = get_report_groups();
+    my @g_sg;
+    while (my ($g_id, $v) = each %$groups_with_subgroups) {
+        my @subgroups;
+        if (my $sg = $v->{subgroups}) {
+            while (my ($sg_id, $n) = each %$sg) {
+                push @subgroups, {
+                    id => $sg_id,
+                    name => $n,
+                    selected => ($group && $g_id eq $group && $subgroup && $sg_id eq $subgroup ),
+                };
+            }
+        }
+        push @g_sg, {
+            id => $g_id,
+            name => $v->{name},
+            selected => ($group && $g_id eq $group),
+            subgroups => \@subgroups,
+        };
+    }
+    return \@g_sg;
+}
index ff80b2f..9aff54b 100755 (executable)
@@ -140,19 +140,7 @@ if($do_it){
     while(my $row = $sth->fetchrow_hashref){
         push(@booksellers,$row)
     }
-   
-    ## We generate branchlist
-    my $branches=GetBranches();
-       my @branchloop;
-       foreach (sort {$branches->{$a}->{'branchname'} cmp $branches->{$b}->{'branchname'}} keys %$branches) {
-               my $thisbranch = ''; # FIXME: populate $thisbranch to preselect one
-               my %row = (branchcode => $_,
-                       selected => ($thisbranch eq $_ ? 1 : 0),
-                       branchname => $branches->{$_}->{'branchname'},
-               );
-               push @branchloop, \%row;
-       } 
-    
+
        my $CGIextChoice=CGI::scrolling_list(
                                -name => 'MIME',
                                -id => 'MIME',
@@ -164,7 +152,7 @@ if($do_it){
                CGIextChoice => $CGIextChoice,
                CGIsepChoice => $CGIsepChoice,
         booksellers  => \@booksellers,
-        branches     => \@branchloop);
+        branches     => GetBranchesLoop(C4::Context->userenv->{'branch'}));
 }
 
 output_html_with_http_headers $input, $cookie, $template->output;
index d13ced3..dbdced9 100755 (executable)
@@ -68,6 +68,8 @@ my $branch = $input->param('branch');
 my $datedue;
 if ( $input->param('newduedate') ) {
     $datedue = dt_from_string( $input->param('newduedate') );
+    $datedue->set_hour(23);
+    $datedue->set_minute(59);
 }
 
 # warn "barcodes : @barcodes";
index 610de60..4393546 100755 (executable)
@@ -34,6 +34,7 @@ use List::MoreUtils qw/uniq/;
 
 my $query = new CGI;
 my $op = $query->param('op') || q{};
+my $nbissues=$query->param('nbissues');
 my $dbh = C4::Context->dbh;
 
 my ($template, $loggedinuser, $cookie);
@@ -55,19 +56,20 @@ my $subscriptions;
 
 if($op eq 'gennext' && @subscriptionid){
     my $subscriptionid = $subscriptionid[0];
-    my $subscription = GetSubscription($subscriptionid);
-
-       my $sth = $dbh->prepare("SELECT publisheddate, serialid, serialseq, planneddate
+    my $sth = $dbh->prepare("SELECT publisheddate, serialid, serialseq, planneddate
                                                        FROM serial WHERE status = 1 AND subscriptionid = ?");
+    my $status = defined( $nbissues ) ? 2 : 3;
+    $nbissues ||= 1;
+    for ( my $i = 0; $i < $nbissues; $i++ ){
        $sth->execute($subscriptionid);
-
        # modify actual expected issue, to generate the next
        if ( my $issue = $sth->fetchrow_hashref ) {
                ModSerialStatus( $issue->{serialid}, $issue->{serialseq},
                 $issue->{planneddate}, $issue->{publisheddate},
-                3, "" );
+                $status, "" );
        }else{
-               my $expected = GetNextExpected($subscriptionid);
+            my $subscription = GetSubscription($subscriptionid);
+            my $expected = GetNextExpected($subscriptionid);
            my (
                 $newserialseq,  $newlastvalue1, $newlastvalue2, $newlastvalue3,
              $newinnerloop1, $newinnerloop2, $newinnerloop3
@@ -82,14 +84,16 @@ if($op eq 'gennext' && @subscriptionid){
             ## Updating the subscription seq status
             my $squery = "UPDATE subscription SET lastvalue1=?, lastvalue2=?, lastvalue3=?, innerloop1=?, innerloop2=?, innerloop3=?
                         WHERE  subscriptionid = ?";
-            $sth = $dbh->prepare($squery);
-            $sth->execute(
+            my $seqsth = $dbh->prepare($squery);
+            $seqsth->execute(
                 $newlastvalue1, $newlastvalue2, $newlastvalue3, $newinnerloop1,
                 $newinnerloop2, $newinnerloop3, $subscriptionid
                 );
 
        }
-
+       last if $nbissues == 1;
+       last if HasSubscriptionExpired($subscriptionid) > 0;
+    }
     print $query->redirect('/cgi-bin/koha/serials/serials-collection.pl?subscriptionid='.$subscriptionid);
 }
 
@@ -161,9 +165,10 @@ $template->param(
           routing => C4::Context->preference("RoutingSerials"),
           subscr=>$query->param('subscriptionid'),
           subscriptioncount => $subscriptioncount,
-    location          => $locationlib,
-    callnumber        => $callnumber,
-    uc(C4::Context->preference("marcflavour")) => 1
+          location            => $locationlib,
+          callnumber          => $callnumber,
+          uc(C4::Context->preference("marcflavour")) => 1,
+          serialsadditems   => $subscriptiondescs->[0]{'serialsadditems'},
           );
 
 output_html_with_http_headers $query, $cookie, $template->output;
index b78e191..bb87c5f 100755 (executable)
@@ -394,6 +394,7 @@ my $default_bib_view = get_default_view();
 $template->param(
     serialsadditems => $serialdatalist[0]->{'serialsadditems'},
     callnumber      => $serialdatalist[0]->{'callnumber'},
+    internalnotes   => $serialdatalist[0]->{'internalnotes'},
     bibliotitle     => $biblio->{'title'},
     biblionumber    => $serialdatalist[0]->{'biblionumber'},
     serialslist     => \@serialdatalist,
index 21b76e0..9ec0336 100755 (executable)
@@ -26,42 +26,18 @@ serials-home.pl
 
 this script is the main page for serials/
 
-=head1 PARAMETERS
-
-=over 4
-
-=item title
-
-=item ISSN
-
-=item biblionumber
-
-=back
-
 =cut
 
-use strict;
-use warnings;
+use Modern::Perl;
 use CGI;
 use C4::Auth;
-use C4::Serials;
-use C4::Output;
-use C4::Context;
 use C4::Branch;
+use C4::Context;
+use C4::Output;
+use C4::Serials;
 
-my $query        = new CGI;
-my $title        = $query->param('title_filter');
-my $ISSN         = $query->param('ISSN_filter');
-my $EAN          = $query->param('EAN_filter');
-my $routing      = $query->param('routing') || C4::Context->preference("RoutingSerials");
-my $searched     = $query->param('searched');
-my $biblionumber = $query->param('biblionumber');
-
-my @serialseqs = $query->param('serialseq');
-my @planneddates = $query->param('planneddate');
-my @publisheddates = $query->param('publisheddate');
-my @status = $query->param('status');
-my @notes = $query->param('notes');
+my $query   = new CGI;
+my $routing = $query->param('routing') || C4::Context->preference("RoutingSerials");
 
 my ( $template, $loggedinuser, $cookie ) = get_template_and_user(
     {
@@ -74,42 +50,7 @@ my ( $template, $loggedinuser, $cookie ) = get_template_and_user(
     }
 );
 
-if (@serialseqs){
-  my @information;
-  my $index;
-  foreach my $seq (@serialseqs){
-    if ($seq){
-      ### FIXME  This limitation that a serial must be given a title may not be very efficient for some library who do not update serials titles.
-      push @information,
-        { serialseq=>$seq,
-          publisheddate=>$publisheddates[$index],
-          planneddate=>$planneddates[$index],
-          notes=>$notes[$index],
-          status=>$status[$index]
-        }
-    }
-    $index++;
-  }
-  $template->param('information'=>\@information);
-}
-my @subscriptions;
-if ($searched) {
-    @subscriptions = GetSubscriptions( $title, $ISSN, $EAN, $biblionumber );
-}
-
-# to toggle between create or edit routing list options
-if ($routing) {
-    for my $subscription ( @subscriptions) {
-        $subscription->{routingedit} = check_routing( $subscription->{subscriptionid} );
-        $subscription->{branchname} = GetBranchName ( $subscription->{branchcode} );
-    }
-}
-
 $template->param(
-    subscriptions => \@subscriptions,
-    title_filter  => $title,
-    ISSN_filter   => $ISSN,
-    done_searched => $searched,
     routing       => $routing,
     (uc(C4::Context->preference("marcflavour"))) => 1
 );
diff --git a/serials/serials-search.pl b/serials/serials-search.pl
new file mode 100755 (executable)
index 0000000..ac5d0d3
--- /dev/null
@@ -0,0 +1,110 @@
+#!/usr/bin/perl
+
+# Copyright 2012 Koha Team
+#
+# This file is part of Koha.
+#
+# Koha is free software; you can redistribute it and/or modify it under the
+# terms of the GNU General Public License as published by the Free Software
+# Foundation; either version 2 of the License, or (at your option) any later
+# version.
+#
+# Koha is distributed in the hope that it will be useful, but WITHOUT ANY
+# WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR
+# A PARTICULAR PURPOSE.  See the GNU General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License along
+# with Koha; if not, write to the Free Software Foundation, Inc.,
+# 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
+
+
+=head1 NAME
+
+serials-search.pl
+
+=head1 DESCRIPTION
+
+this script is the search page for serials
+
+=cut
+
+use Modern::Perl;
+use CGI;
+use C4::Auth;
+use C4::Branch;
+use C4::Context;
+use C4::Output;
+use C4::Serials;
+
+my $query         = new CGI;
+my $title         = $query->param('title_filter') || '';
+my $ISSN          = $query->param('ISSN_filter') || '';
+my $EAN           = $query->param('EAN_filter') || '';
+my $publisher     = $query->param('publisher_filter') || '';
+my $bookseller    = $query->param('bookseller_filter') || '';
+my $biblionumber  = $query->param('biblionumber') || '';
+my $branch        = $query->param('branch_filter') || '';
+my $routing       = $query->param('routing') || C4::Context->preference("RoutingSerials");
+my $searched      = $query->param('searched') || 0;
+
+my ( $template, $loggedinuser, $cookie ) = get_template_and_user(
+    {
+        template_name   => "serials/serials-search.tmpl",
+        query           => $query,
+        type            => "intranet",
+        authnotrequired => 0,
+        flagsrequired   => { serials => '*' },
+        debug           => 1,
+    }
+);
+
+my @subscriptions;
+if ($searched){
+    @subscriptions = SearchSubscriptions(
+        {
+            biblionumber => $biblionumber,
+            title        => $title,
+            issn         => $ISSN,
+            ean          => $EAN,
+            publisher    => $publisher,
+            bookseller   => $bookseller,
+            branch       => $branch,
+        }
+    );
+}
+
+# to toggle between create or edit routing list options
+if ($routing) {
+    for my $subscription ( @subscriptions) {
+        $subscription->{routingedit} = check_routing( $subscription->{subscriptionid} );
+        $subscription->{branchname} = GetBranchName ( $subscription->{branchcode} );
+    }
+}
+
+my $branches = GetBranches();
+my @branches_loop;
+foreach (sort keys %$branches){
+    my $selected = 0;
+    $selected = 1 if( $branch eq $_ );
+    push @branches_loop, {
+        branchcode  => $_,
+        branchname  => $branches->{$_}->{'branchname'},
+        selected    => $selected,
+    };
+}
+
+$template->param(
+    subscriptions => \@subscriptions,
+    title_filter  => $title,
+    ISSN_filter   => $ISSN,
+    EAN_filter    => $EAN,
+    publisher_filter => $publisher,
+    bookseller_filter  => $bookseller,
+    branch_filter => $branch,
+    branches_loop => \@branches_loop,
+    done_searched => $searched,
+    routing       => $routing,
+    marcflavour   => (uc(C4::Context->preference("marcflavour")))
+);
+
+output_html_with_http_headers $query, $cookie, $template->output;
index ae85c51..f3a50ac 100755 (executable)
@@ -100,7 +100,7 @@ my $hasRouting = check_routing($subscriptionid);
 
 # COMMENT hdl : IMHO, we should think about passing more and more data hash to template->param rather than duplicating code a new coding Guideline ?
 
-for my $date qw(startdate enddate firstacquidate histstartdate histenddate){
+for my $date ( qw(startdate enddate firstacquidate histstartdate histenddate) ) {
     $$subs{$date}      = format_date($$subs{$date}) if $date && $$subs{$date};
 }
 $subs->{location} = GetKohaAuthorisedValueLib("LOC",$subs->{location});
@@ -119,6 +119,34 @@ if (! $subs->{periodicity}) {
     $subs->{periodicity} = '0';
 }
 my $default_bib_view = get_default_view();
+
+my ( $order, $bookseller, $tmpl_infos );
+# FIXME = see http://bugs.koha-community.org/bugzilla3/show_bug.cgi?id=5335#c52
+#if ( defined $subscriptionid ) {
+#    my $lastOrderNotReceived = GetLastOrderNotReceivedFromSubscriptionid $subscriptionid;
+#    my $lastOrderReceived = GetLastOrderReceivedFromSubscriptionid $subscriptionid;
+#    if ( defined $lastOrderNotReceived ) {
+#        my $basket = GetBasket $lastOrderNotReceived->{basketno};
+#        my $bookseller = GetBookSellerFromId $basket->{booksellerid};
+#        ( $tmpl_infos->{valuegsti_ordered}, $tmpl_infos->{valuegste_ordered} ) = get_value_with_gst_params ( $lastOrderNotReceived->{ecost}, $lastOrderNotReceived->{gstrate}, $bookseller );
+#        $tmpl_infos->{valuegsti_ordered} = sprintf( "%.2f", $tmpl_infos->{valuegsti_ordered} );
+#        $tmpl_infos->{valuegste_ordered} = sprintf( "%.2f", $tmpl_infos->{valuegste_ordered} );
+#        $tmpl_infos->{budget_name_ordered} = GetBudgetName $lastOrderNotReceived->{budget_id};
+#        $tmpl_infos->{basketno} = $lastOrderNotReceived->{basketno};
+#        $tmpl_infos->{ordered_exists} = 1;
+#    }
+#    if ( defined $lastOrderReceived ) {
+#        my $basket = GetBasket $lastOrderReceived->{basketno};
+#        my $bookseller = GetBookSellerFromId $basket->{booksellerid};
+#        ( $tmpl_infos->{valuegsti_spent}, $tmpl_infos->{valuegste_spent} ) = get_value_with_gst_params ( $lastOrderReceived->{unitprice}, $lastOrderReceived->{gstrate}, $bookseller );
+#        $tmpl_infos->{valuegsti_spent} = sprintf( "%.2f", $tmpl_infos->{valuegsti_spent} );
+#        $tmpl_infos->{valuegste_spent} = sprintf( "%.2f", $tmpl_infos->{valuegste_spent} );
+#        $tmpl_infos->{budget_name_spent} = GetBudgetName $lastOrderReceived->{budget_id};
+#        $tmpl_infos->{invoicenumber} = $lastOrderReceived->{booksellerinvoicenumber};
+#        $tmpl_infos->{spent_exists} = 1;
+#    }
+#}
+
 $template->param(
        subscriptionid => $subscriptionid,
     serialslist => \@serialslist,
@@ -138,7 +166,8 @@ $template->param(
     intranetcolorstylesheet => C4::Context->preference('intranetcolorstylesheet'),
     irregular_issues => scalar @irregular_issues,
     default_bib_view => $default_bib_view,
-    (uc(C4::Context->preference("marcflavour"))) => 1
+    (uc(C4::Context->preference("marcflavour"))) => 1,
+    show_acquisition_details => defined $tmpl_infos->{ordered_exists} || defined $tmpl_infos->{spent_exists} ? 1 : 0,
     );
 
 output_html_with_http_headers $query, $cookie, $template->output;
index 5e7e493..3e43339 100755 (executable)
@@ -41,10 +41,10 @@ unless ($status eq "ok") {
 
 my $xml;
 if ($query->request_method eq "POST") {
-    $xml = $query->param('POSTDATA');
+    $xml = $query->param('xml');
 }
 if ($xml) {
-    my %params = map { $_ => $query->url_param($_) } $query->url_param;
+    my %params = map { $_ => $query->param($_) } $query->param;
     my $result = import_bib($xml, \%params );
     print $query->header(-type => 'text/xml');
     print XMLout($result, NoAttr => 1, RootName => 'response', XMLDecl => 1);
@@ -62,7 +62,7 @@ sub import_bib {
     my $import_mode = delete $params->{import_mode} || '';
     my $framework   = delete $params->{framework}   || '';
 
-    if (my $matcher_code = delete $params->{matcher}) {
+    if (my $matcher_code = delete $params->{match}) {
         $params->{matcher_id} = C4::Matcher::GetMatcherId($matcher_code);
     }
 
@@ -83,19 +83,27 @@ sub import_bib {
 
     my $import_record_id = AddBiblioToBatch($batch_id, 0, $marc_record, "utf8", int(rand(99999)));
     my @import_items_ids = AddItemsToImportBiblio($batch_id, $import_record_id, $marc_record, 'UPDATE COUNTS');
-    my $marcxml = GetImportRecordMarcXML($import_record_id);
-    unless ($marcxml) {
-        $result->{'status'} = "failed";
-        $result->{'error'} = "database write error";
-        return $result;
-    }
-    $marcxml =~ s/<\?xml.*?\?>//i;
+
+    my $matcher = C4::Matcher->new($params->{record_type} || 'biblio');
+    $matcher = C4::Matcher->fetch($params->{matcher_id});
+    my $number_of_matches =  BatchFindBibDuplicates($batch_id, $matcher);
 
     # XXX we are ignoring the result of this;
-    BatchCommitBibRecords($batch_id, $framework) if lc($import_mode) eq 'direct';
+    BatchCommitRecords($batch_id, $framework) if lc($import_mode) eq 'direct';
+
+    my $dbh = C4::Context->dbh();
+    my $sth = $dbh->prepare("SELECT matched_biblionumber FROM import_biblios WHERE import_record_id =?");
+    $sth->execute($import_record_id);
+    my $biblionumber=$sth->fetchrow_arrayref->[0] || '';
+    $sth = $dbh->prepare("SELECT overlay_status FROM import_records WHERE import_record_id =?");
+    $sth->execute($import_record_id);
+    my $match_status = $sth->fetchrow_arrayref->[0] || 'no_match';
+    my $url = 'http://'. C4::Context->preference('staffClientBaseURL') .'/cgi-bin/koha/catalogue/detail.pl?biblionumber='. $biblionumber;
 
     $result->{'status'} = "ok";
-    $result->{'import_batch_id'} =  $batch_id;
-    $result->{'marcxml'} =  $marcxml;
+    $result->{'import_batch_id'} = $batch_id;
+    $result->{'match_status'} = $match_status;
+    $result->{'biblionumber'} = $biblionumber;
+    $result->{'url'} = $url;
     return $result;
 }
index b0507bd..654ef15 100755 (executable)
@@ -33,13 +33,6 @@ my $query  = CGI->new();
 my $report_id = $query->param('id');
 my $report_name = $query->param('name');
 
-my $cache;
-my $sql;
-my $type;
-my $notes;
-my $cache_expiry;
-my $public;
-
 my ( $template, $loggedinuser, $cookie ) = get_template_and_user(
     {
         template_name   => "intranet-main.tmpl",
@@ -50,39 +43,31 @@ my ( $template, $loggedinuser, $cookie ) = get_template_and_user(
     }
 );
 
-if (Koha::Cache->is_cache_active) {
-    if ($report_name) { # When retrieving by name, we have to hit the
-                        # database to get the ID before we can check
-                        # the cache. Yuck.
-        ( $sql, $type, $report_name, $notes, $cache_expiry, $public, $report_id ) =
-            get_saved_report( { 'name' => $report_name } );
-    }
-
+my $cache_active = Koha::Cache->is_cache_active;
+my ($cache_key, $cache, $json_text);
+if ($cache_active) {
+    $cache_key = "intranet:report:".($report_name ? "name:$report_name" : "id:$report_id");
     $cache = Koha::Cache->new();
-    my $page = $cache->get_from_cache("intranet:report:$report_id");
-    if ($page) {
-        print $query->header;
-        print $page;
-        exit;
-    }
+    $json_text = $cache->get_from_cache($cache_key);
 }
 
-print $query->header;
-
-# $public isnt used for intranet
-unless ($sql) {
-    ( $sql, $type, $report_name, $notes, $cache_expiry, $public, $report_id ) =
-        get_saved_report($report_name ? { 'name' => $report_name } : { 'id' => $report_id } );
-}
-if ($sql) {
+unless ($json_text) {
+    my $report_rec = get_saved_report($report_name ? { 'name' => $report_name } : { 'id' => $report_id });
     my $offset = 0;
     my $limit  = C4::Context->preference("SvcMaxReportRows") || 10;
-    my ( $sth, $errors ) = execute_query( $sql, $offset, $limit );
-    my $lines     = $sth->fetchall_arrayref;
-    my $json_text = to_json($lines);
-    print $json_text;
+    my ( $sth, $errors ) = execute_query( $report_rec->{savedsql}, $offset, $limit );
+    if ($sth) {
+        my $lines     = $sth->fetchall_arrayref;
+        $json_text = to_json($lines);
 
-    if (Koha::Cache->is_cache_active) {
-        $cache->set_in_cache( "intranet:report:$report_id", $json_text, $cache_expiry );
+        if ($cache_active) {
+            $cache->set_in_cache( $cache_key, $json_text, $report_rec->{cache_expiry} );
+        }
+    }
+    else {
+        $json_text = to_json($errors);
     }
 }
+
+print $query->header;
+print $json_text;
diff --git a/t/Acquisition/Invoice.t b/t/Acquisition/Invoice.t
new file mode 100755 (executable)
index 0000000..a887965
--- /dev/null
@@ -0,0 +1,131 @@
+#!/usr/bin/perl
+
+use Modern::Perl;
+use C4::Context;
+
+use Test::More tests => 47;
+use Test::MockModule;
+
+use_ok('C4::Acquisition');
+
+my $module = new Test::MockModule('C4::Context');
+$module->mock('_new_dbh', sub {
+    my $dbh = DBI->connect( 'DBI:Mock:', '', '' )
+        || die "Cannot create handle: $DBI::errstr\n";
+    return $dbh;
+});
+
+my $dbh = C4::Context->dbh;
+
+# We need to add a resultset to avoid DBI fail
+# ("DBI bind_columns: invalid number of arguments...")
+my $rs = [
+    [qw(one two three four)],
+    [1, 2, 3, 4]
+];
+
+$dbh->{mock_add_resultset} = $rs;
+my @invoices = C4::Acquisition::GetInvoices(
+    supplierid => "supplierid",
+    invoicenumber => "invoicenumber",
+    suppliername => "suppliername",
+    shipmentdatefrom => "shipmentdatefrom",
+    shipmentdateto => "shipmentdateto",
+    billingdatefrom => "billingdatefrom",
+    billingdateto => "billingdateto",
+    isbneanissn => "isbneanissn",
+    title => "title",
+    author => "author",
+    publisher => "publisher",
+    publicationyear => "publicationyear",
+    branchcode => "branchcode",
+);
+my $history = $dbh->{mock_all_history};
+
+is(scalar(@$history), 1);
+my @bound_params = @{ $history->[0]->{bound_params} };
+is(scalar(@bound_params), 15);
+is($bound_params[0], 'supplierid');
+is($bound_params[1], '%invoicenumber%');
+is($bound_params[2], '%suppliername%');
+is($bound_params[3], 'shipmentdatefrom');
+is($bound_params[4], 'shipmentdateto');
+is($bound_params[5], 'billingdatefrom');
+is($bound_params[6], 'billingdateto');
+is($bound_params[7], 'isbneanissn');
+is($bound_params[8], 'isbneanissn');
+is($bound_params[9], 'isbneanissn');
+is($bound_params[10], 'title');
+is($bound_params[11], 'author');
+is($bound_params[12], 'publisher');
+is($bound_params[13], 'publicationyear');
+is($bound_params[14], 'branchcode');
+
+$dbh->{mock_clear_history} = 1;
+$dbh->{mock_add_resultset} = $rs;
+GetInvoice(42);
+$history = $dbh->{mock_all_history};
+is(scalar(@$history), 1);
+@bound_params = @{ $history->[0]->{bound_params} };
+is(scalar(@bound_params), 1);
+is($bound_params[0], 42);
+
+$dbh->{mock_clear_history} = 1;
+$dbh->{mock_add_resultset} = $rs;
+$dbh->{mock_add_resultset} = $rs;
+my $invoice = GetInvoiceDetails(42);
+$history = $dbh->{mock_all_history};
+is(scalar(@$history), 2);
+@bound_params = @{ $history->[0]->{bound_params} };
+is(scalar(@bound_params), 1);
+is($bound_params[0], 42);
+@bound_params = @{ $history->[1]->{bound_params} };
+is(scalar(@bound_params), 1);
+is($bound_params[0], 42);
+ok(exists $invoice->{orders});
+
+$dbh->{mock_clear_history} = 1;
+is(AddInvoice(booksellerid => 1), undef);   # Fails because of a missing parameter
+$history = $dbh->{mock_all_history};
+is(scalar(@$history), 0);
+
+$dbh->{mock_clear_history} = 1;
+AddInvoice(invoicenumber => 'invoice', booksellerid => 1, unknown => "unknown");
+$history = $dbh->{mock_all_history};
+is(scalar(@$history), 1);
+@bound_params = @{ $history->[0]->{bound_params} };
+is(scalar(@bound_params), 2);
+ok(grep /^1$/, @bound_params);
+ok(grep /^invoice$/, @bound_params);
+ok(not grep /unknown/, @bound_params);
+
+$dbh->{mock_clear_history} = 1;
+is(ModInvoice(booksellerid => 1), undef);   # Fails because of a missing parameter
+$history = $dbh->{mock_all_history};
+is(scalar(@$history), 0);
+
+$dbh->{mock_clear_history} = 1;
+ModInvoice(invoiceid => 3, invoicenumber => 'invoice', unknown => "unknown");
+$history = $dbh->{mock_all_history};
+is(scalar(@$history), 1);
+@bound_params = @{ $history->[0]->{bound_params} };
+is(scalar(@bound_params), 2);
+ok(grep /^3$/, @bound_params);
+ok(grep /^invoice$/, @bound_params);
+ok(not grep /unknown/, @bound_params);
+
+$dbh->{mock_clear_history} = 1;
+CloseInvoice(42);
+$history = $dbh->{mock_all_history};
+is(scalar(@$history), 1);
+@bound_params = @{ $history->[0]->{bound_params} };
+is(scalar(@bound_params), 1);
+is($bound_params[0], 42);
+
+$dbh->{mock_clear_history} = 1;
+ReopenInvoice(42);
+$history = $dbh->{mock_all_history};
+is(scalar(@$history), 1);
+@bound_params = @{ $history->[0]->{bound_params} };
+is(scalar(@bound_params), 1);
+is($bound_params[0], 42);
index d59b43b..9c8c1fd 100755 (executable)
@@ -6,9 +6,93 @@
 use strict;
 use warnings;
 
-use Test::More tests => 1;
+use Test::More tests => 5;
+use Test::MockModule;
+use MARC::Record;
 
 BEGIN {
         use_ok('C4::AuthoritiesMarc');
 }
 
+# We are now going to be testing the authorities hierarchy code, and
+# therefore need to pretend that we have consistent data in our database
+my $module = new Test::MockModule('C4::AuthoritiesMarc');
+$module->mock('GetHeaderAuthority', sub {
+    return {'authtrees' => ''};
+});
+$module->mock('AddAuthorityTrees', sub {
+    return;
+});
+$module->mock('GetAuthority', sub {
+    my ($authid) = @_;
+    my $record = MARC::Record->new();
+    if ($authid eq '1') {
+        $record->add_fields(
+            [ '001', '1' ],
+            [ '151', ' ', ' ', a => 'United States' ]
+            );
+    } elsif ($authid eq '2') {
+        $record->add_fields(
+            [ '001', '2' ],
+            [ '151', ' ', ' ', a => 'New York (State)' ],
+            [ '551', ' ', ' ', a => 'United States', w => 'g', 9 => '1' ]
+            );
+    } elsif ($authid eq '3') {
+        $record->add_fields(
+            [ '001', '3' ],
+            [ '151', ' ', ' ', a => 'New York (City)' ],
+            [ '551', ' ', ' ', a => 'New York (State)', w => 'g', 9 => '2' ]
+            );
+    } elsif ($authid eq '4') {
+        $record->add_fields(
+            [ '001', '4' ],
+            [ '151', ' ', ' ', a => 'New York (City)' ],
+            [ '551', ' ', ' ', a => 'New York (State)', w => 'g' ]
+            );
+    } else {
+        undef $record;
+    }
+    return $record;
+});
+
+is(BuildAuthHierarchies(3, 1), '1,2,3', "Built linked authtrees hierarchy string");
+
+my $expectedhierarchy = [ [ {
+        'authid' => '1',
+        'value' => 'United States',
+        'class' => 'child0',
+        'children' => [ {
+            'authid' => '2',
+            'value' => 'New York (State)',
+            'class' => 'child1',
+            'children' => [ {
+                'authid' => '3',
+                'current_value' => 1,
+                'value' => 'New York (City)',
+                'class' => 'child2',
+                'children' => [],
+                'parents' => [ {
+                    'authid' => '2',
+                    'value' => 'New York (State)'
+                } ]
+            } ],
+            'parents' => [ {
+                'authid' => '1',
+                'value' => 'United States'
+            } ]
+        } ],
+        'parents' => []
+} ] ];
+
+is_deeply(GenerateHierarchy(3), $expectedhierarchy, "Generated hierarchy data structure for linked hierarchy");
+
+is(BuildAuthHierarchies(4, 1), '4', "Built unlinked authtrees hierarchy string");
+$expectedhierarchy = [ [ {
+    'authid' => '4',
+    'current_value' => 1,
+    'value' => 'New York (City)',
+    'class' => 'child0',
+    'children' => [],
+    'parents' => []
+} ] ];
+is_deeply(GenerateHierarchy(4), $expectedhierarchy, "Generated hierarchy data structure for unlinked hierarchy");
index dbf38a6..a55c0d9 100755 (executable)
@@ -5,7 +5,7 @@ use DateTime;
 use DateTime::TimeZone;
 
 use C4::Context;
-use Test::More tests => 25;
+use Test::More tests => 28;
 
 BEGIN { use_ok('Koha::DateUtils'); }
 
@@ -26,13 +26,22 @@ $dt->set_minute(0);
 my $date_string = output_pref( $dt, 'iso' );
 cmp_ok $date_string, 'eq', '2011-06-16 12:00', 'iso output';
 
+my $date_string = output_pref( $dt, 'iso',1 );
+cmp_ok $date_string, 'eq', '2011-06-16', 'iso output (date only)';
+
 $date_string = output_pref( $dt, 'us' );
 cmp_ok $date_string, 'eq', '06/16/2011 12:00', 'us output';
 
+$date_string = output_pref( $dt, 'us', 1 );
+cmp_ok $date_string, 'eq', '06/16/2011', 'us output (date only)';
+
 # metric should return the French Revolutionary Calendar Really
 $date_string = output_pref( $dt, 'metric' );
 cmp_ok $date_string, 'eq', '16/06/2011 12:00', 'metric output';
 
+$date_string = output_pref( $dt, 'metric',1 );
+cmp_ok $date_string, 'eq', '16/06/2011', 'metric output (date only)';
+
 $date_string = output_pref_due( $dt, 'metric' );
 cmp_ok $date_string, 'eq', '16/06/2011 12:00',
   'output_pref_due preserves non midnight HH:SS';
diff --git a/t/Images.t b/t/Images.t
new file mode 100644 (file)
index 0000000..c35d5bd
--- /dev/null
@@ -0,0 +1,54 @@
+#!/usr/bin/perl
+#
+#Testing C4 Images
+
+use strict;
+use warnings;
+use Test::More tests => 7;
+use Test::MockModule;
+
+BEGIN {
+    use_ok('C4::Images');
+}
+
+my $module = new Test::MockModule('C4::Context');
+$module->mock(
+    '_new_dbh',
+    sub {
+        my $dbh = DBI->connect( 'DBI:Mock:', '', '' )
+          || die "Cannot create handle: $DBI::errstr\n";
+        return $dbh;
+    }
+);
+my $images = [
+    [ 'imagenumber', 'biblionumber', 'mimetype', 'imagefile', 'thumbnail' ],
+    [ 1, 2, 'gif',  'red',  001, 000 ],
+    [ 3, 2, 'jpeg', 'blue', 111, 110 ]
+];
+my $dbh = C4::Context->dbh();
+
+$dbh->{mock_add_resultset} = $images;
+
+my $image = C4::Images::RetrieveImage();
+
+is( $image->{'imagenumber'}, 1, 'First imagenumber is 1' );
+
+is( $image->{'mimetype'}, 'gif', 'First mimetype is red' );
+
+is( $image->{'thumbnail'}, 001, 'First thumbnail is 001' );
+
+$image = C4::Images::RetrieveImage();
+
+$image = C4::Images::RetrieveImage();
+
+$dbh->{mock_add_resultset} = $images;
+
+my @imagenumbers = C4::Images::ListImagesForBiblio();
+
+is( $imagenumbers[0], 1, 'imagenumber is 1' );
+
+is( $imagenumbers[1], 3, 'imagenumber is 3' );
+
+$dbh->{mock_add_resultset} = $images;
+
+is( $imagenumbers[4], undef, 'imagenumber undef' );
index 561d84c..f64ed85 100755 (executable)
@@ -6,9 +6,32 @@
 use strict;
 use warnings;
 
-use Test::More tests => 1;
+use Test::More tests => 15;
 
 BEGIN {
         use_ok('C4::Installer::PerlModules');
 }
 
+my $modules;
+ok ($modules = C4::Installer::PerlModules->new(), 'Tests modules object');
+my $prereq_pm = $modules->prereq_pm();
+ok (exists($prereq_pm->{"DBI"}), 'DBI required for installer to run');
+ok (exists($prereq_pm->{"CGI"}), 'CGI required for installer to run' );
+ok (exists($prereq_pm->{"YAML"}), 'YAML required for installer to run');
+is ($modules->required('module'=>"DBI"),1, 'DBI should return 1 since required');
+is ($modules->required('module'=>"thisdoesn'texist"),-1, 'string should return -1 since not in hash');
+my $required = $modules->required('required'=>1);
+my %params = map { $_ => 1 } @$required;
+ok (exists($params{"DBI"}), 'DBI required for installer to run');
+my $optional = $modules->required('optional'=>1);
+%params = map { $_ => 1 } @$optional;
+ok (exists($params{"Test::Strict"}), 'test::strict optional for installer to run');
+is ($optional = $modules->required('spaghetti'=>1),-1, '-1 returned when parsing in unknown parameter');
+my $version_info = $modules->version_info('module'=>"DBI");
+ok (exists($version_info->{'DBI'}->{"required"}), 'required exists');
+ok (exists($version_info->{'DBI'}->{"upgrade"}), 'upgrade exists');
+is ($modules->version_info('module'=>"thisdoesn'texist"),-1, 'thisdoesntexist should return -1');
+ok ($modules->module_count() >10 , 'count should be greater than 10');
+my @module_list = $modules->module_list;
+%params = map { $_ => 1 } @module_list;
+ok (exists($params{"DBI"}), 'DBI exists in array');
index de7a4e2..87e090e 100755 (executable)
@@ -1,14 +1,78 @@
 #!/usr/bin/perl
 #
-# This Koha test module is a stub!  
 # Add more tests here!!!
 
 use strict;
 use warnings;
-
-use Test::More tests => 1;
+use DBI;
+use Test::More tests => 15;
+use Test::MockModule;
 
 BEGIN {
-        use_ok('C4::ItemType');
+    use_ok('C4::ItemType');
 }
 
+my $module = new Test::MockModule('C4::Context');
+$module->mock(
+    '_new_dbh',
+    sub {
+        my $dbh = DBI->connect( 'DBI:Mock:', '', '' )
+          || die "Cannot create handle: $DBI::errstr\n";
+        return $dbh;
+    }
+);
+
+# Mock data
+my $itemtypes = [
+    [
+        'itemtype', 'description', 'rentalcharge', 'notforloan',
+        'imageurl', 'summary'
+    ],
+    [ 'BK', 'Books', 0, 0, '', '' ],
+    [ 'CD', 'CDRom', 0, 0, '', '' ]
+];
+
+my $itemtypes_empty = [
+    [
+        'itemtype', 'description', 'rentalcharge', 'notforloan',
+        'imageurl', 'summary'
+    ],
+];
+
+my $dbh = C4::Context->dbh();
+$dbh->{mock_add_resultset} = $itemtypes_empty;
+
+my @itemtypes = C4::ItemType->all();
+is( @itemtypes, 0, 'Testing all itemtypes is empty' );
+
+# This should run exactly one query so we can test
+my $history = $dbh->{mock_all_history};
+is( scalar( @{$history} ), 1, 'Correct number of statements executed' );
+
+# Now lets mock some data
+$dbh->{mock_add_resultset} = $itemtypes;
+
+@itemtypes = C4::ItemType->all();
+is( @itemtypes, 2, 'ItemType->all should return an array with 2 elements' );
+
+is( $itemtypes[0]->fish, undef, 'Calling a bad descriptor gives undef' );
+
+is( $itemtypes[0]->itemtype, 'BK', 'First itemtype is bk' );
+
+is( $itemtypes[1]->itemtype, 'CD', 'second itemtype is cd' );
+
+is( $itemtypes[0]->description, 'Books', 'First description is books' );
+
+is( $itemtypes[1]->description, 'CDRom', 'second description is CDRom' );
+
+is( $itemtypes[0]->rentalcharge, '0', 'first rental charge is 0' );
+
+is( $itemtypes[1]->rentalcharge, '0', 'second rental charge is 0' );
+
+is( $itemtypes[0]->notforloan, '0', 'first not for loan is 0' );
+
+is( $itemtypes[1]->notforloan, '0', 'second not for loan is 0' );
+
+is( $itemtypes[0]->imageurl, '', 'first not for loan is undef' );
+
+is( $itemtypes[1]->imageurl, '', 'second not for loan is undef' );
index 603e37e..b269e86 100755 (executable)
@@ -1,14 +1,36 @@
 #!/usr/bin/perl
 #
-# This Koha test module is a stub!  
+# This Koha test module is a stub!
 # Add more tests here!!!
 
 use strict;
 use warnings;
-
-use Test::More tests => 1;
+use Test::MockModule;
+use Test::More tests => 2;
 
 BEGIN {
-        use_ok('C4::Letters');
+    use_ok('C4::Letters');
 }
 
+my $module = new Test::MockModule('C4::Context');
+$module->mock(
+    '_new_dbh',
+    sub {
+        my $dbh = DBI->connect( 'DBI:Mock:', '', '' )
+          || die "Cannot create handle: $DBI::errstr\n";
+        return $dbh;
+    }
+);
+my $mock_letters = [
+    [ 'module', 'code', 'branchcode', 'name', 'is_html', 'title', 'content' ],
+    [ 'blah',   'ISBN', 'NBSI',       'book', 1,         'green', 'blahblah' ],
+    [ 'bleh',   'ISSN', 'NSSI',       'page', 0,         'blue',  'blehbleh' ]
+];
+
+my $dbh = C4::Context->dbh();
+
+$dbh->{mock_add_resultset} = $mock_letters;
+
+my $letters = C4::Letters::GetLetters();
+
+is( $letters->{ISBN}, 'book', 'HASH ref of ISBN is book' );
index f374877..484afe0 100755 (executable)
@@ -1,14 +1,64 @@
 #!/usr/bin/perl
 #
-# This Koha test module is a stub!  
-# Add more tests here!!!
+#testing C4 matcher
 
 use strict;
 use warnings;
-
-use Test::More tests => 1;
+use Test::More tests => 10;
+use Test::MockModule;
 
 BEGIN {
-        use_ok('C4::Matcher');
+    use_ok('C4::Matcher');
 }
 
+my $module = new Test::MockModule('C4::Context');
+$module->mock(
+    '_new_dbh',
+    sub {
+        my $dbh = DBI->connect( 'DBI:Mock:', '', '' )
+          || die "Cannot create handle: $DBI::errstr\n";
+        return $dbh;
+    }
+);
+my $matcher = [
+    [ 'matcher_id', 'code', 'description', 'record_type', 'threshold' ],
+    [ 1,            'ISBN', 'ISBN',        'red',         1 ],
+    [ 2,            'ISSN', 'ISSN',        'blue',        0 ]
+];
+my $dbh = C4::Context->dbh();
+
+$dbh->{mock_add_resultset} = $matcher;
+
+my @matchers = C4::Matcher::GetMatcherList();
+
+is( $matchers[0]->{'matcher_id'}, 1, 'First matcher_id value is 1' );
+
+is( $matchers[1]->{'matcher_id'}, 2, 'Second matcher_id value is 2' );
+
+$dbh->{mock_add_resultset} = $matcher;
+
+my $matcher_id = C4::Matcher::GetMatcherId('ISBN');
+
+is( $matcher_id, 1, 'testing getmatcherid' );
+
+my $testmatcher;
+
+ok( $testmatcher = C4::Matcher->new( 'red', 1 ), 'testing matcher new' );
+
+ok( $testmatcher = C4::Matcher->new( 'blue', 0 ), 'testing matcher new' );
+
+$testmatcher->threshold(1000);
+
+is( $testmatcher->threshold(), 1000, 'testing threshhold accessor method' );
+
+$testmatcher->_id(53);
+
+is( $testmatcher->_id(), 53, 'testing _id accessor' );
+
+$testmatcher->code('match on ISBN');
+
+is( $testmatcher->code(), 'match on ISBN', 'testing code accessor' );
+
+$testmatcher->description('match on ISSN');
+
+is( $testmatcher->description(), 'match on ISSN', 'testing code accessor' );
index 9dfc6c3..5aba165 100755 (executable)
@@ -1,14 +1,67 @@
 #!/usr/bin/perl
 #
-# This Koha test module is a stub!  
-# Add more tests here!!!
+# Tests 'fetch', 'fake db data', and 'checks for existant attributes'
 
 use strict;
 use warnings;
-
-use Test::More tests => 1;
+use Test::MockModule;
+use Test::More tests => 9;
 
 BEGIN {
-        use_ok('C4::Members::AttributeTypes');
+    use_ok('C4::Members::AttributeTypes');
 }
 
+my $module = new Test::MockModule('C4::Context');
+$module->mock(
+    '_new_dbh',
+    sub {
+        my $dbh = DBI->connect( 'DBI:Mock:', '', '' )
+          || die "Cannot create handle: $DBI::errstr\n";
+        return $dbh;
+    }
+);
+my $members_attributetypes = [
+    [
+        'code',             'description',
+        'repeatable',       'unique_id',
+        'opac_display',     'password_allowed',
+        'staff_searchable', 'authorised_value_category',
+        'display_checkout', 'catagory_code',
+        'class'
+    ],
+    [ 'one', 'ISBN', '1', '1', '1', '1', '1', 'red',  '1', 'orange', 'green' ],
+    [ 'two', 'ISSN', '0', '0', '0', '0', '0', 'blue', '0', 'yellow', 'silver' ]
+];
+
+my $dbh = C4::Context->dbh();
+
+$dbh->{mock_add_resultset} = $members_attributetypes;
+
+my @members_attributetypes = C4::Members::AttributeTypes::GetAttributeTypes();
+
+is( $members_attributetypes[0]->{'code'}, 'one', 'First code value is one' );
+
+is( $members_attributetypes[1]->{'code'}, 'two', 'Second code value is two' );
+
+is( $members_attributetypes[0]->{'class'},
+    'green', 'First class value is green' );
+
+is( $members_attributetypes[1]->{'class'},
+    'silver', 'Second class value is silver' );
+
+$dbh->{mock_add_resultset} = $members_attributetypes;
+
+ok( C4::Members::AttributeTypes::AttributeTypeExists('one'),
+    'checking an attribute type exists' );
+
+ok(
+    !C4::Members::AttributeTypes::AttributeTypeExists('three'),
+    "checking a attribute that isn't in the code doesn't exist"
+);
+
+$dbh->{mock_add_resultset} = $members_attributetypes;
+
+ok( C4::Members::AttributeTypes->fetch('ISBN'), "testing fetch feature" );
+
+ok( !C4::Members::AttributeTypes->fetch('FAKE'),
+    "testing fetch feature doesn't work if value not in database" );
diff --git a/t/RecordProcessor.t b/t/RecordProcessor.t
new file mode 100755 (executable)
index 0000000..32acc6b
--- /dev/null
@@ -0,0 +1,80 @@
+#!/usr/bin/perl
+
+# Copyright 2012 C & P Bibliography Services
+#
+# This file is part of Koha.
+#
+# Koha is free software; you can redistribute it and/or modify it under the
+# terms of the GNU General Public License as published by the Free Software
+# Foundation; either version 2 of the License, or (at your option) any later
+# version.
+#
+# Koha is distributed in the hope that it will be useful, but WITHOUT ANY
+# WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR
+# A PARTICULAR PURPOSE.  See the GNU General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License along
+# with Koha; if not, write to the Free Software Foundation, Inc.,
+# 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
+
+use strict;
+use warnings;
+use File::Spec;
+use MARC::Record;
+
+use Test::More;
+
+BEGIN {
+        use_ok('Koha::RecordProcessor');
+}
+
+my $isbn = '0590353403';
+my $title = 'Foundation';
+my $marc_record=MARC::Record->new;
+my $field = MARC::Field->new('020','','','a' => $isbn);
+$marc_record->append_fields($field);
+$field = MARC::Field->new('245','','','a' => $title);
+$marc_record->append_fields($field);
+
+
+my $filterdir = File::Spec->rel2abs('Koha/Filter') . '/MARC';
+
+opendir(my $dh, $filterdir);
+my @installed_filters = map { ( /\.pm$/ && -f "$filterdir/$_" && s/\.pm$// ) ? "Koha::Filters::MARC::$_" : () } readdir($dh);
+my @available_filters = Koha::RecordProcessor::AvailableFilters();
+
+foreach my $filter (@installed_filters) {
+    ok(grep($filter, @available_filters), "Found filter $filter");
+}
+
+my $marc_filters = grep (/MARC/, @available_filters);
+is(scalar Koha::RecordProcessor::AvailableFilters('MARC'), $marc_filters, 'Retrieved list of MARC filters');
+
+my $processor = Koha::RecordProcessor->new( { filters => ( 'ABCD::EFGH::IJKL' ) } );
+
+is(ref($processor), 'Koha::RecordProcessor', 'Created record processor with invalid filter');
+
+is($processor->process($marc_record), $marc_record, 'Process record with empty processor');
+
+$processor = Koha::RecordProcessor->new( { filters => ( 'Null' ) } );
+is(ref($processor->filters->[0]), 'Koha::Filter::MARC::Null', 'Created record processor with implicitly scoped Null filter');
+
+$processor = Koha::RecordProcessor->new( { filters => ( 'Koha::Filter::MARC::Null' ) } );
+is(ref($processor->filters->[0]), 'Koha::Filter::MARC::Null', 'Created record processor with explicitly scoped Null filter');
+
+is($processor->process($marc_record), $marc_record, 'Process record');
+
+$processor->bind($marc_record);
+
+is($processor->record, $marc_record, 'Bound record to processor');
+
+is($processor->process(), $marc_record, 'Filter bound record');
+
+eval {
+    $processor = Koha::RecordProcessor->new( { filters => ( 'Koha::Filter::MARC::Null' ) } );
+    undef $processor;
+};
+
+ok(!$@, 'Destroyed processor successfully');
+
+done_testing();
diff --git a/t/SocialData.t b/t/SocialData.t
new file mode 100644 (file)
index 0000000..06705a5
--- /dev/null
@@ -0,0 +1,55 @@
+#!/usr/bin/perl
+#
+#Testing C4 SocialData
+
+use strict;
+use warnings;
+use Test::More tests => 5;
+use Test::MockModule;
+
+BEGIN {
+    use_ok('C4::SocialData');
+}
+
+my $module = new Test::MockModule('C4::Context');
+$module->mock(
+    '_new_dbh',
+    sub {
+        my $dbh = DBI->connect( 'DBI:Mock:', '', '' )
+          || die "Cannot create handle: $DBI::errstr\n";
+        return $dbh;
+    }
+);
+my $socialdata = [
+    [
+        'isbn',            'num_critics',
+        'num_critics_pro', 'num_quotations',
+        'num_videos',      'score_avg',
+        'num_scores'
+    ],
+    [ '0-596-52674-1', 1, 2, 3, 4, 5.2, 6 ],
+    [ '0-596-00289-0', 2, 3, 4, 5, 6.2, 7 ]
+];
+my $dbh = C4::Context->dbh();
+
+$dbh->{mock_add_resultset} = $socialdata;
+
+my $data = C4::SocialData::get_data();
+
+is( $data->{'isbn'}, '0-596-52674-1', 'First isbn is 0-596-52674-1' );
+
+my $reportdata =
+  [ [ 'biblionumber', 'isbn' ], [ 1, '0-596-52674-1' ],
+    [ 2, '0-596-00289-0' ] ];
+
+use Data::Dumper;
+
+$dbh->{mock_add_resultset} = $reportdata;
+
+ok( my $report = C4::SocialData::get_report() );
+
+is( $report->{'without'}->[0]->{'original'},
+    '0-596-52674-1', 'testing get_report gives isbn' );
+
+is( $report->{'without'}->[0]->{'isbn'}, '9780596526740',
+    'testing get_report' );
diff --git a/t/SuggestionEngine.t b/t/SuggestionEngine.t
new file mode 100755 (executable)
index 0000000..eed6fe8
--- /dev/null
@@ -0,0 +1,46 @@
+#!/usr/bin/perl
+
+use strict;
+use warnings;
+use File::Spec;
+
+use Test::More;
+
+BEGIN {
+        use_ok('Koha::SuggestionEngine');
+}
+
+my $plugindir = File::Spec->rel2abs('Koha/SuggestionEngine/Plugin');
+
+opendir(my $dh, $plugindir);
+my @installed_plugins = map { ( /\.pm$/ && -f "$plugindir/$_" && s/\.pm$// ) ? "Koha::SuggestionEngine::Plugin::$_" : () } readdir($dh);
+my @available_plugins = Koha::SuggestionEngine::AvailablePlugins();
+
+foreach my $plugin (@installed_plugins) {
+    ok(grep($plugin, @available_plugins), "Found plugin $plugin");
+}
+
+my $suggestor = Koha::SuggestionEngine->new( { plugins => [ 'ABCD::EFGH::IJKL' ] } );
+
+is(ref($suggestor), 'Koha::SuggestionEngine', 'Created suggestion engine with invalid plugin');
+is(scalar @{ $suggestor->get_suggestions({ 'search' => 'books' }) }, 0 , 'Request suggestions with empty suggestor');
+
+$suggestor = Koha::SuggestionEngine->new( { plugins => [ 'Null' ] } );
+is(ref($suggestor->plugins->[0]), 'Koha::SuggestionEngine::Plugin::Null', 'Created record suggestor with implicitly scoped Null filter');
+
+$suggestor = Koha::SuggestionEngine->new( { plugins => [ 'Koha::SuggestionEngine::Plugin::Null' ] } );
+is(ref($suggestor->plugins->[0]), 'Koha::SuggestionEngine::Plugin::Null', 'Created record suggestor with explicitly scoped Null filter');
+
+my $suggestions = $suggestor->get_suggestions({ 'search' => 'books' });
+
+is_deeply($suggestions->[0], { 'search' => 'book', label => 'Book!', relevance => 1 }, "Good suggestion");
+
+$suggestions = $suggestor->get_suggestions({ 'search' => 'silliness' });
+
+eval {
+    $suggestor = Koha::SuggestionEngine->new( { plugins => [ 'Koha::SuggestionEngine::Plugin::Null' ] } );
+    undef $suggestor;
+};
+ok(!$@, 'Destroyed suggestor successfully');
+
+done_testing();
diff --git a/t/SuggestionEngine_AuthorityFile.t b/t/SuggestionEngine_AuthorityFile.t
new file mode 100755 (executable)
index 0000000..18a6e42
--- /dev/null
@@ -0,0 +1,43 @@
+#!/usr/bin/perl
+#
+# This Koha test module uses Test::MockModule to get around the need for known
+# contents in the authority file by returning a single known authority record
+# for every call to SearchAuthorities
+
+use strict;
+use warnings;
+use File::Spec;
+use MARC::Record;
+
+use Test::More;
+use Test::MockModule;
+
+BEGIN {
+        use_ok('Koha::SuggestionEngine');
+}
+
+my $module = new Test::MockModule('C4::AuthoritiesMarc');
+$module->mock('SearchAuthorities', sub {
+        return [ { 'authid' => '1234',
+                    'reported_tag' => undef,
+                    'even' => 0,
+                    'summary' => {
+                        'authorized' => [ { 'heading' => 'Cooking' } ],
+                        'otherscript' => [],
+                        'seefrom' => [ 'Cookery' ],
+                        'notes' => [ 'Your quintessential poor heading selection' ],
+                        'seealso' => []
+                    },
+                    'used' => 1,
+                    'authtype' => 'Topical Term'
+                } ], 1
+});
+
+my $suggestor = Koha::SuggestionEngine->new( { plugins => [ 'AuthorityFile' ] } );
+is(ref($suggestor), 'Koha::SuggestionEngine', 'Created suggestion engine');
+
+my $result = $suggestor->get_suggestions({search => 'Cookery'});
+
+is_deeply($result, [ { 'search' => 'an=1234', 'relevance' => 1, 'label' => 'Cooking' } ], "Suggested correct alternative to 'Cookery'");
+
+done_testing();
diff --git a/t/SuggestionEngine_ExplodedTerms.t b/t/SuggestionEngine_ExplodedTerms.t
new file mode 100755 (executable)
index 0000000..52683b2
--- /dev/null
@@ -0,0 +1,31 @@
+#!/usr/bin/perl
+
+use strict;
+use warnings;
+
+use Test::More;
+
+BEGIN {
+        use_ok('Koha::SuggestionEngine');
+}
+
+my $suggestor = Koha::SuggestionEngine->new( { plugins => [ 'ExplodedTerms' ] } );
+is(ref($suggestor), 'Koha::SuggestionEngine', 'Created suggestion engine');
+
+my $result = $suggestor->get_suggestions({search => 'Cookery'});
+
+ok((grep { $_->{'search'} eq 'su-na=Cookery' } @$result) && (grep { $_->{'search'} eq 'su-br=Cookery' } @$result) && (grep { $_->{'search'} eq 'su-rl=Cookery' } @$result), "Suggested correct alternatives for keyword search 'Cookery'");
+
+$result = $suggestor->get_suggestions({search => 'su:Cookery'});
+
+ok((grep { $_->{'search'} eq 'su-na=Cookery' } @$result) && (grep { $_->{'search'} eq 'su-br=Cookery' } @$result) && (grep { $_->{'search'} eq 'su-rl=Cookery' } @$result), "Suggested correct alternatives for subject search 'Cookery'");
+
+$result = $suggestor->get_suggestions({search => 'nt:Cookery'});
+
+is(scalar @$result, 0, "No suggestions for fielded search");
+
+$result = $suggestor->get_suggestions({search => 'ccl=su:Cookery'});
+
+is(scalar @$result, 0, "No suggestions for CCL search");
+
+done_testing();
index 2c39128..4a5b31e 100755 (executable)
@@ -47,7 +47,7 @@ SKIP: {
     my @expectedfields = qw( basketno
                              biblioitemnumber
                              biblionumber
-                             booksellerinvoicenumber
+                             invoiceid
                              budgetdate
                              cancelledby
                              closedate
@@ -59,7 +59,7 @@ SKIP: {
                              entrydate
                              firstname
                              freight
-                             gst
+                             gstrate
                              listprice
                              notes
                              ordernumber
diff --git a/t/db_dependent/HoldsQueue.t b/t/db_dependent/HoldsQueue.t
new file mode 100755 (executable)
index 0000000..7fb459a
--- /dev/null
@@ -0,0 +1,173 @@
+#!/usr/bin/perl
+
+# Test C4::HoldsQueue::CreateQueue() for both transport cost matrix
+# and StaticHoldsQueueWeight array (no RandomizeHoldsQueueWeight, no point)
+# Wraps tests in transaction that's rolled back, so no data is destroyed
+# MySQL WARNING: This makes sense only if your tables are InnoDB, otherwise
+# transactions are not supported and mess is left behind
+
+use strict;
+use warnings;
+use C4::Context;
+
+use Data::Dumper;
+
+use Test::More tests => 18;
+
+BEGIN {
+    use FindBin;
+    use lib $FindBin::Bin;
+    use_ok('C4::Reserves');
+    use_ok('C4::HoldsQueue');
+}
+
+my $TITLE = "Test Holds Queue XXX";
+# Pick a plausible borrower. Easier than creating one.
+my $BORROWER_QRY = <<EOQ;
+select *
+from borrowers
+where borrowernumber = (select max(borrowernumber) from issues)
+EOQ
+my $dbh = C4::Context->dbh;
+my $borrower = $dbh->selectrow_hashref($BORROWER_QRY);
+my $borrowernumber = $borrower->{borrowernumber};
+# Set special (for this test) branches
+my $borrower_branchcode = $borrower->{branchcode};
+my @other_branches = grep { $_ ne $borrower_branchcode } @{ $dbh->selectcol_arrayref("SELECT branchcode FROM branches") };
+my $least_cost_branch_code = pop @other_branches
+  or BAIL_OUT("No point testing only one branch...");
+my $itemtype = $dbh->selectrow_array("SELECT min(itemtype) FROM itemtypes WHERE notforloan = 0")
+  or BAIL_OUT("No adequate itemtype");
+
+# Start transaction
+$dbh->{AutoCommit} = 0;
+$dbh->{RaiseError} = 1;
+
+#Set up the stage
+# Sysprefs and cost matrix
+$dbh->do("UPDATE systempreferences SET value = ? WHERE variable = 'StaticHoldsQueueWeight'", undef,
+         join( ',', @other_branches, $borrower_branchcode, $least_cost_branch_code));
+$dbh->do("UPDATE systempreferences SET value = '0' WHERE variable = 'RandomizeHoldsQueueWeight'");
+
+$dbh->do("DELETE FROM transport_cost");
+my $transport_cost_insert_sth = $dbh->prepare("insert into transport_cost (frombranch, tobranch, cost) values (?, ?, ?)");
+# Favour $least_cost_branch_code
+$transport_cost_insert_sth->execute($borrower_branchcode, $least_cost_branch_code, 0.2);
+$transport_cost_insert_sth->execute($least_cost_branch_code, $borrower_branchcode, 0.2);
+my @b = @other_branches;
+while ( my $b1 = shift @b ) {
+    foreach my $b2 ($borrower_branchcode, $least_cost_branch_code, @b) {
+        $transport_cost_insert_sth->execute($b1, $b2, 0.5);
+        $transport_cost_insert_sth->execute($b2, $b1, 0.5);
+    }
+}
+
+
+# Loanable items - all possible combinations of homebranch and holdingbranch
+$dbh->do("INSERT INTO biblio (frameworkcode, author, title, datecreated)
+          VALUES             ('SER', 'Koha test', '$TITLE', '2011-02-01')");
+my $biblionumber = $dbh->selectrow_array("SELECT biblionumber FROM biblio WHERE title = '$TITLE'")
+  or BAIL_OUT("Cannot find newly created biblio record");
+$dbh->do("INSERT INTO biblioitems (biblionumber, marcxml, itemtype)
+          VALUES                  ($biblionumber, '', '$itemtype')");
+my $biblioitemnumber = $dbh->selectrow_array("SELECT biblioitemnumber FROM biblioitems WHERE biblionumber = $biblionumber")
+  or BAIL_OUT("Cannot find newly created biblioitems record");
+
+my $items_insert_sth = $dbh->prepare("INSERT INTO items (biblionumber, biblioitemnumber, barcode, homebranch, holdingbranch, notforloan, damaged, itemlost, wthdrawn, onloan, itype)
+                                      VALUES            ($biblionumber, $biblioitemnumber, ?, ?, ?, 0, 0, 0, 0, NULL, '$itemtype')"); # CURRENT_DATE - 3)");
+my $first_barcode = int(rand(1000000000000)); # XXX
+my $barcode = $first_barcode;
+foreach ( $borrower_branchcode, $least_cost_branch_code, @other_branches ) {
+    $items_insert_sth->execute($barcode++, $borrower_branchcode, $_);
+    $items_insert_sth->execute($barcode++, $_, $_);
+    $items_insert_sth->execute($barcode++, $_, $borrower_branchcode);
+}
+
+# Remove existing reserves, makes debugging easier
+$dbh->do("DELETE FROM reserves");
+my $constraint = undef;
+my $bibitems = undef;
+my $priority = 1;
+# Make a reserve
+AddReserve ( $borrower_branchcode, $borrowernumber, $biblionumber, $constraint, $bibitems,  $priority );
+#                           $resdate, $expdate, $notes, $title, $checkitem, $found
+$dbh->do("UPDATE reserves SET reservedate = reservedate - 1");
+
+# Tests
+my $use_cost_matrix_sth = $dbh->prepare("UPDATE systempreferences SET value = ? WHERE variable = 'UseTransportCostMatrix'");
+my $test_sth = $dbh->prepare("SELECT * FROM hold_fill_targets
+                              JOIN tmp_holdsqueue USING (borrowernumber, biblionumber, itemnumber)
+                              JOIN items USING (itemnumber)
+                              WHERE borrowernumber = $borrowernumber");
+
+# We have a book available homed in borrower branch, no point fiddling with AutomaticItemReturn
+test_queue ('take from homebranch',  0, $borrower_branchcode, $borrower_branchcode);
+test_queue ('take from homebranch',  1, $borrower_branchcode, $borrower_branchcode);
+
+$dbh->do("DELETE FROM tmp_holdsqueue");
+$dbh->do("DELETE FROM hold_fill_targets");
+$dbh->do("DELETE FROM issues WHERE itemnumber IN (SELECT itemnumber FROM items WHERE homebranch = '$borrower_branchcode' AND holdingbranch = '$borrower_branchcode')");
+$dbh->do("DELETE FROM items WHERE homebranch = '$borrower_branchcode' AND holdingbranch = '$borrower_branchcode'");
+# test_queue will flush
+$dbh->do("UPDATE systempreferences SET value = 1 WHERE variable = 'AutomaticItemReturn'");
+# Not sure how to make this test more difficult - holding branch does not matter
+test_queue ('take from holdingbranch AutomaticItemReturn on', 0, $borrower_branchcode, undef);
+test_queue ('take from holdingbranch AutomaticItemReturn on', 1, $borrower_branchcode, $least_cost_branch_code);
+
+$dbh->do("DELETE FROM tmp_holdsqueue");
+$dbh->do("DELETE FROM hold_fill_targets");
+$dbh->do("DELETE FROM issues WHERE itemnumber IN (SELECT itemnumber FROM items WHERE homebranch = '$borrower_branchcode')");
+$dbh->do("DELETE FROM items WHERE homebranch = '$borrower_branchcode'");
+$dbh->do("UPDATE systempreferences SET value = 0 WHERE variable = 'AutomaticItemReturn'");
+# We have a book available held in borrower branch
+test_queue ('take from holdingbranch', 0, $borrower_branchcode, $borrower_branchcode);
+test_queue ('take from holdingbranch', 1, $borrower_branchcode, $borrower_branchcode);
+
+$dbh->do("DELETE FROM tmp_holdsqueue");
+$dbh->do("DELETE FROM hold_fill_targets");
+$dbh->do("DELETE FROM issues WHERE itemnumber IN (SELECT itemnumber FROM items WHERE holdingbranch = '$borrower_branchcode')");
+$dbh->do("DELETE FROM items WHERE holdingbranch = '$borrower_branchcode'");
+# No book available in borrower branch, pick according to the rules
+# Frst branch from StaticHoldsQueueWeight
+test_queue ('take from lowest cost branch', 0, $borrower_branchcode, $other_branches[0]);
+test_queue ('take from lowest cost branch', 1, $borrower_branchcode, $least_cost_branch_code);
+my $queue = C4::HoldsQueue::GetHoldsQueueItems($least_cost_branch_code) || [];
+my $queue_item = $queue->[0];
+ok( $queue_item
+ && $queue_item->{pickbranch} eq $borrower_branchcode
+ && $queue_item->{holdingbranch} eq $least_cost_branch_code, "GetHoldsQueueItems" )
+  or diag( "Expected item for pick $borrower_branchcode, hold $least_cost_branch_code, got ".Dumper($queue_item) );
+
+# XXX All this tests are for borrower branch pick-up.
+# Maybe needs expanding to homebranch or holdingbranch pick-up.
+
+# Cleanup
+$dbh->rollback;
+
+exit;
+
+sub test_queue {
+    my ($test_name, $use_cost_matrix, $pick_branch, $hold_branch) = @_;
+
+    $test_name = "$test_name (".($use_cost_matrix ? "" : "don't ")."use cost matrix)";
+
+    $use_cost_matrix_sth->execute($use_cost_matrix);
+    C4::Context->clear_syspref_cache();
+    C4::HoldsQueue::CreateQueue();
+
+    my $results = $dbh->selectall_arrayref($test_sth, { Slice => {} }); # should be only one
+    my $r = $results->[0];
+
+    my $ok = is( $r->{pickbranch}, $pick_branch, "$test_name pick up branch");
+    $ok &&=  is( $r->{holdingbranch}, $hold_branch, "$test_name holding branch")
+      if $hold_branch;
+
+    diag( "Wrong pick-up/hold for first target (pick_branch, hold_branch, reserves, hold_fill_targets, tmp_holdsqueue): "
+        . Dumper ($pick_branch, $hold_branch, map dump_records($_), qw(reserves hold_fill_targets tmp_holdsqueue)) )
+      unless $ok;
+}
+
+sub dump_records {
+    my ($tablename) = @_;
+    return $dbh->selectall_arrayref("SELECT * from $tablename where borrowernumber = ?", { Slice => {} }, $borrowernumber);
+}
diff --git a/t/db_dependent/Holidays.t b/t/db_dependent/Holidays.t
new file mode 100755 (executable)
index 0000000..5c4da1b
--- /dev/null
@@ -0,0 +1,45 @@
+use strict;
+use warnings;
+use 5.010;
+use DateTime;
+use DateTime::TimeZone;
+
+use C4::Context;
+use Test::More tests => 8;
+
+BEGIN { use_ok('Koha::Calendar'); }
+BEGIN { use_ok('C4::Calendar'); }
+
+my $branchcode = 'MPL';
+
+my $koha_calendar = Koha::Calendar->new( branchcode => $branchcode );
+my $c4_calendar = C4::Calendar->new( branchcode => $branchcode );
+
+isa_ok( $koha_calendar, 'Koha::Calendar', 'Koha::Calendar class returned' );
+isa_ok( $c4_calendar,   'C4::Calendar',   'C4::Calendar class returned' );
+
+my $sunday = DateTime->new(
+    year  => 2011,
+    month => 6,
+    day   => 26,
+);
+my $monday = DateTime->new(
+    year  => 2011,
+    month => 6,
+    day   => 27,
+);
+my $christmas = DateTime->new(
+    year  => 2032,
+    month => 12,
+    day   => 25,
+);
+my $newyear = DateTime->new(
+    year  => 2035,
+    month => 1,
+    day   => 1,
+);
+
+is( $koha_calendar->is_holiday($sunday),    1, 'Sunday is a closed day' );
+is( $koha_calendar->is_holiday($monday),    0, 'Monday is not a closed day' );
+is( $koha_calendar->is_holiday($christmas), 1, 'Christmas is a closed day' );
+is( $koha_calendar->is_holiday($newyear), 1, 'New Years day is a closed day' );
index be209c8..eff5249 100755 (executable)
@@ -26,7 +26,7 @@ cmp_ok($item_bibitemnum, '==', $bibitemnum, "New item is linked to correct bibli
 # Get item.
 my $getitem = GetItem($itemnumber);
 cmp_ok($getitem->{'itemnumber'}, '==', $itemnumber, "Retrieved item has correct itemnumber.");
-cmp_ok($getitem->{'biblioitemnumber'}, '==', $item_bibnum, "Retrieved item has correct biblioitemnumber.");
+cmp_ok($getitem->{'biblioitemnumber'}, '==', $item_bibitemnum, "Retrieved item has correct biblioitemnumber.");
 
 # Modify item; setting barcode.
 ModItem({ barcode => '987654321' }, $bibnum, $itemnumber);
diff --git a/t/db_dependent/Koha_Authority.t b/t/db_dependent/Koha_Authority.t
new file mode 100755 (executable)
index 0000000..dc57774
--- /dev/null
@@ -0,0 +1,66 @@
+#!/usr/bin/perl
+
+# Copyright 2012 C & P Bibliography Services
+#
+# This file is part of Koha.
+#
+# Koha is free software; you can redistribute it and/or modify it under the
+# terms of the GNU General Public License as published by the Free Software
+# Foundation; either version 2 of the License, or (at your option) any later
+# version.
+#
+# Koha is distributed in the hope that it will be useful, but WITHOUT ANY
+# WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR
+# A PARTICULAR PURPOSE.  See the GNU General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License along
+# with Koha; if not, write to the Free Software Foundation, Inc.,
+# 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
+
+use strict;
+use warnings;
+
+use C4::Context;
+use Test::More;
+
+BEGIN {
+        use_ok('Koha::Authority');
+}
+
+my $record = MARC::Record->new;
+
+$record->add_fields(
+        [ '001', '1234' ],
+        [ '150', ' ', ' ', a => 'Cooking' ],
+        [ '450', ' ', ' ', a => 'Cookery' ],
+        );
+my $authority = Koha::Authority->new($record);
+
+is(ref($authority), 'Koha::Authority', 'Created valid Koha::Authority object');
+
+is_deeply($authority->record, $record, 'Saved record');
+
+SKIP:
+{
+    my $dbh = C4::Context->dbh;
+    my $sth = $dbh->prepare("SELECT authid FROM auth_header LIMIT 1;");
+    $sth->execute();
+
+    my $authid;
+    for my $row ($sth->fetchrow_hashref) {
+        $authid = $row->{'authid'};
+    }
+    skip 'No authorities', 3 unless $authid;
+    $authority = Koha::Authority->get_from_authid($authid);
+
+    is(ref($authority), 'Koha::Authority', 'Retrieved valid Koha::Authority object');
+
+    is($authority->authid, $authid, 'Object authid is correct');
+
+    is($authority->record->field('001')->data(), $authid, 'Retrieved correct record');
+
+    $authority = Koha::Authority->get_from_authid('alphabetsoup');
+    is($authority, undef, 'No invalid record is retrieved');
+}
+
+done_testing();
diff --git a/t/db_dependent/RecordProcessor_EmbedSeeFromHeadings.t b/t/db_dependent/RecordProcessor_EmbedSeeFromHeadings.t
new file mode 100755 (executable)
index 0000000..4742983
--- /dev/null
@@ -0,0 +1,66 @@
+#!/usr/bin/perl
+
+# Copyright 2012 C & P Bibliography Services
+#
+# This file is part of Koha.
+#
+# Koha is free software; you can redistribute it and/or modify it under the
+# terms of the GNU General Public License as published by the Free Software
+# Foundation; either version 2 of the License, or (at your option) any later
+# version.
+#
+# Koha is distributed in the hope that it will be useful, but WITHOUT ANY
+# WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR
+# A PARTICULAR PURPOSE.  See the GNU General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License along
+# with Koha; if not, write to the Free Software Foundation, Inc.,
+# 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
+
+use strict;
+use warnings;
+use File::Spec;
+use MARC::Record;
+use Koha::Authority;
+
+use Test::More;
+use Test::MockModule;
+
+BEGIN {
+        use_ok('Koha::RecordProcessor');
+}
+
+my $module = new Test::MockModule('MARC::Record');
+$module->mock('new_from_xml', sub {
+    my $record = MARC::Record->new;
+
+    $record->add_fields(
+        [ '001', '1234' ],
+        [ '150', ' ', ' ', a => 'Cooking' ],
+        [ '450', ' ', ' ', a => 'Cookery' ],
+        );
+
+    return $record;
+});
+
+my $bib = MARC::Record->new;
+$bib->add_fields(
+    [ '245', '0', '4', a => 'The Ifrane cookbook' ],
+    [ '650', ' ', ' ', a => 'Cooking', 9 => '1234' ]
+    );
+
+my $resultbib = MARC::Record->new;
+$resultbib->add_fields(
+    [ '245', '0', '4', a => 'The Ifrane cookbook' ],
+    [ '650', ' ', ' ', a => 'Cooking', 9 => '1234' ],
+    [ '650', 'z', ' ', a => 'Cookery' ]
+    );
+
+my $processor = Koha::RecordProcessor->new( { filters => ( 'EmbedSeeFromHeadings' ) } );
+is(ref($processor), 'Koha::RecordProcessor', 'Created record processor');
+
+my $result = $processor->process($bib);
+
+is_deeply($result, $resultbib, 'Inserted see-from heading to record');
+
+done_testing();
diff --git a/t/db_dependent/Reports/Guided.t b/t/db_dependent/Reports/Guided.t
new file mode 100644 (file)
index 0000000..5963066
--- /dev/null
@@ -0,0 +1,92 @@
+# Copyright 2012 Catalyst IT Ltd.
+#
+# This file is part of Koha.
+#
+# Koha is free software; you can redistribute it and/or modify it under the
+# terms of the GNU General Public License as published by the Free Software
+# Foundation; either version 2 of the License, or (at your option) any later
+# version.
+#
+# Koha is distributed in the hope that it will be useful, but WITHOUT ANY
+# WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR
+# A PARTICULAR PURPOSE.  See the GNU General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License along
+# with Koha; if not, write to the Free Software Foundation, Inc.,
+# 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
+
+use strict;
+use warnings;
+
+use Test::More tests => 19;                      # last test to print
+
+use_ok('C4::Reports::Guided');
+
+# This is the query I found that triggered bug 8594.
+my $sql = "SELECT aqorders.ordernumber, biblio.title, biblio.biblionumber, items.homebranch,
+    aqorders.entrydate, aqorders.datereceived,
+    (SELECT DATE(datetime) FROM statistics
+        WHERE itemnumber=items.itemnumber AND
+            (type='return' OR type='issue') LIMIT 1)
+    AS shelvedate,
+    DATEDIFF(COALESCE(
+        (SELECT DATE(datetime) FROM statistics
+            WHERE itemnumber=items.itemnumber AND
+            (type='return' OR type='issue') LIMIT 1),
+    aqorders.datereceived), aqorders.entrydate) AS totaldays
+FROM aqorders
+LEFT JOIN biblio USING (biblionumber)
+LEFT JOIN items ON (items.biblionumber = biblio.biblionumber
+    AND dateaccessioned=aqorders.datereceived)
+WHERE (entrydate >= '2011-01-01' AND (datereceived < '2011-02-01' OR datereceived IS NULL))
+    AND items.homebranch LIKE 'INFO'
+ORDER BY title";
+
+my ($res_sql, $res_lim1, $res_lim2) = C4::Reports::Guided::strip_limit($sql);
+is($res_sql, $sql, "Not breaking subqueries");
+is($res_lim1, 0, "Returns correct default offset");
+is($res_lim2, undef, "Returns correct default LIMIT");
+
+# Now the same thing, but we want it to remove the LIMIT from the end
+
+my $test_sql = $res_sql . " LIMIT 242";
+($res_sql, $res_lim1, $res_lim2) = C4::Reports::Guided::strip_limit($test_sql);
+# The replacement drops a ' ' where the limit was
+is(trim($res_sql), $sql, "Correctly removes only final LIMIT");
+is($res_lim1, 0, "Returns correct default offset");
+is($res_lim2, 242, "Returns correct extracted LIMIT");
+
+$test_sql = $res_sql . " LIMIT 13,242";
+($res_sql, $res_lim1, $res_lim2) = C4::Reports::Guided::strip_limit($test_sql);
+# The replacement drops a ' ' where the limit was
+is(trim($res_sql), $sql, "Correctly removes only final LIMIT (with offset)");
+is($res_lim1, 13, "Returns correct extracted offset");
+is($res_lim2, 242, "Returns correct extracted LIMIT");
+
+# After here is the simpler case, where there isn't a WHERE clause to worry
+# about.
+
+# First case with nothing to change
+$sql = "SELECT * FROM items";
+($res_sql, $res_lim1, $res_lim2) = C4::Reports::Guided::strip_limit($sql);
+is($res_sql, $sql, "Not breaking simple queries");
+is($res_lim1, 0, "Returns correct default offset");
+is($res_lim2, undef, "Returns correct default LIMIT");
+
+$test_sql = $sql . " LIMIT 242";
+($res_sql, $res_lim1, $res_lim2) = C4::Reports::Guided::strip_limit($test_sql);
+is(trim($res_sql), $sql, "Correctly removes LIMIT in simple case");
+is($res_lim1, 0, "Returns correct default offset");
+is($res_lim2, 242, "Returns correct extracted LIMIT");
+
+$test_sql = $sql . " LIMIT 13,242";
+($res_sql, $res_lim1, $res_lim2) = C4::Reports::Guided::strip_limit($test_sql);
+is(trim($res_sql), $sql, "Correctly removes LIMIT in simple case (with offset)");
+is($res_lim1, 13, "Returns correct extracted offset");
+is($res_lim2, 242, "Returns correct extracted LIMIT");
+
+sub trim {
+    my ($s) = @_;
+    $s =~ s/^\s*(.*?)\s*$/$1/s;
+    return $s;
+}
index ca4d42e..1e20318 100755 (executable)
@@ -5,6 +5,9 @@ use warnings;
 use C4::Branch;
 
 use Test::More tests => 4;
+use MARC::Record;
+use C4::Biblio;
+use C4::Items;
 
 BEGIN {
        use FindBin;
@@ -12,6 +15,20 @@ BEGIN {
        use_ok('C4::Reserves');
 }
 
+# Setup Test------------------------
+# Helper biblio.
+diag("\nCreating biblio instance for testing.");
+my ($bibnum, $title, $bibitemnum) = create_helper_biblio();
+
+# Helper item for that biblio.
+diag("Creating item instance for testing.");
+my ($item_bibnum, $item_bibitemnum, $itemnumber) = AddItem({ homebranch => 'CPL', holdingbranch => 'CPL' } , $bibnum);
+
+# Modify item; setting barcode.
+my $testbarcode = '97531';
+ModItem({ barcode => $testbarcode }, $bibnum, $itemnumber);
+
+# Get a borrower
 my $dbh = C4::Context->dbh;
 my $query = qq/SELECT borrowernumber
     FROM   borrowers
@@ -20,27 +37,16 @@ my $sth = $dbh->prepare($query);
 $sth->execute;
 my $borrower = $sth->fetchrow_hashref;
 
-$query = qq/SELECT biblionumber, title, itemnumber, barcode
-    FROM biblio
-    LEFT JOIN items USING (biblionumber)
-    WHERE barcode <> ""
-    AND barcode IS NOT NULL
-    LIMIT  1/;
-$sth = $dbh->prepare($query);
-$sth->execute;
-my $biblio = $sth->fetchrow_hashref;
-
-
 my $borrowernumber = $borrower->{'borrowernumber'};
-my $biblionumber   = $biblio->{'biblionumber'};
-my $itemnumber     = $biblio->{'itemnumber'};
-my $barcode        = $biblio->{'barcode'};
+my $biblionumber   = $bibnum;
+my $barcode        = $testbarcode;
 
 my $constraint     = 'a';
 my $bibitems       = '';
 my $priority       = '1';
+my $resdate        = undef;
+my $expdate        = undef;
 my $notes          = '';
-my $title          = $biblio->{'title'};
 my $checkitem      = undef;
 my $found          = undef;
 
@@ -48,7 +54,7 @@ my @branches = GetBranchesLoop();
 my $branch = $branches[0][0]{value};
 
 AddReserve($branch,    $borrowernumber, $biblionumber,
-        $constraint, $bibitems,  $priority,       $notes,
+        $constraint, $bibitems,  $priority, $resdate, $expdate, $notes,
         $title,      $checkitem, $found);
         
 my ($status, $reserve, $all_reserves) = CheckReserves($itemnumber, $barcode);
@@ -60,3 +66,23 @@ ok($status eq "Reserved", "CheckReserves Test 2");
 ($status, $reserve, $all_reserves) = CheckReserves(undef, $barcode);
 ok($status eq "Reserved", "CheckReserves Test 3");
 
+
+# Teardown Test---------------------
+# Delete item.
+diag("Deleting item testing instance.");
+DelItem($dbh, $bibnum, $itemnumber);
+
+# Delete helper Biblio.
+diag("Deleting biblio testing instance.");
+DelBiblio($bibnum);
+
+# Helper method to set up a Biblio.
+sub create_helper_biblio {
+    my $bib = MARC::Record->new();
+    my $title = 'Silence in the library';
+    $bib->append_fields(
+        MARC::Field->new('100', ' ', ' ', a => 'Moffat, Steven'),
+        MARC::Field->new('245', ' ', ' ', a => $title),
+    );
+    return ($bibnum, $title, $bibitemnum) = AddBiblio($bib, '');
+}
index 17fac6e..6d3d7a3 100644 (file)
@@ -10,10 +10,107 @@ use utf8;
 use YAML;
 
 use C4::Debug;
-use C4::Context;
-use C4::Search;
+require C4::Context;
 
-use Test::More tests => 4;
+use Test::More tests => 78;
+use Test::MockModule;
+use MARC::Record;
+use File::Spec;
+use File::Basename;
+use File::Find;
+use Test::Warn;
+use File::Temp qw/ tempdir /;
+use File::Path;
+use DBI;
+
+my $datadir = tempdir();
+system(dirname(__FILE__) . "/zebra_config.pl $datadir");
+my $sourcedir = dirname(__FILE__) . "/data";
+
+my $QueryStemming = 0;
+my $QueryAutoTruncate = 0;
+my $QueryWeightFields = 0;
+my $QueryFuzzy = 0;
+my $QueryRemoveStopwords = 0;
+my $contextmodule = new Test::MockModule('C4::Context');
+$contextmodule->mock('_new_dbh', sub {
+    my $dbh = DBI->connect( 'DBI:Mock:', '', '' )
+    || die "Cannot create handle: $DBI::errstr\n";
+    return $dbh });
+$contextmodule->mock('preference', sub {
+    my ($self, $pref) = @_;
+    if ($pref eq 'NoZebra') {
+        return 0;
+    } elsif ($pref eq 'marcflavour') {
+        return 'MARC21';
+    } elsif ($pref eq 'QueryStemming') {
+        return $QueryStemming;
+    } elsif ($pref eq 'QueryAutoTruncate') {
+        return $QueryAutoTruncate;
+    } elsif ($pref eq 'QueryWeightFields') {
+        return $QueryWeightFields;
+    } elsif ($pref eq 'QueryFuzzy') {
+        return $QueryFuzzy;
+    } elsif ($pref eq 'QueryRemoveStopwords') {
+        return $QueryRemoveStopwords;
+    } elsif ($pref eq 'maxRecordsForFacets') {
+        return 20;
+    } elsif ($pref eq 'FacetLabelTruncationLength') {
+        return 20;
+    } elsif ($pref eq 'OpacHiddenItems') {
+        return '';
+    } elsif ($pref eq 'AlternateHoldingsField') {
+        return '490av';
+    } else {
+        warn "The syspref $pref was requested but I don't know what to say; this indicates that the test requires updating"
+            unless $pref =~ m/(XSLT|item|branch|holding|image|insecure)/i;
+        return 0;
+    }
+});
+$contextmodule->mock('marcfromkohafield', sub {
+    my %hash = (
+        '' => {
+            'biblio.biblionumber' => [ '999', 'c' ],
+            'items.barcode' => ['952', 'p' ],
+            'items.booksellerid' => ['952', 'e' ],
+            'items.ccode' => ['952', '8' ],
+            'items.cn_sort' => ['952', '6' ],
+            'items.cn_source' => ['952', '2' ],
+            'items.coded_location_qualifier' => ['952', 'f' ],
+            'items.copynumber' => ['952', 't' ],
+            'items.damaged' => ['952', '4' ],
+            'items.dateaccessioned' => ['952', 'd' ],
+            'items.datelastborrowed' => ['952', 's' ],
+            'items.datelastseen' => ['952', 'r' ],
+            'items.enumchron' => ['952', 'h' ],
+            'items.holdingbranch' => ['952', 'b' ],
+            'items.homebranch' => ['952', 'a' ],
+            'items.issues' => ['952', 'l' ],
+            'items.itemcallnumber' => ['952', 'o' ],
+            'items.itemlost' => ['952', '1' ],
+            'items.itemnotes' => ['952', 'z' ],
+            'items.itemnumber' => ['952', '9' ],
+            'items.itype' => ['952', 'y' ],
+            'items.location' => ['952', 'c' ],
+            'items.materials' => ['952', '3' ],
+            'items.nonpublicnote' => ['952', 'x' ],
+            'items.notforloan' => ['952', '7' ],
+            'items.onloan' => ['952', 'q' ],
+            'items.price' => ['952', 'g' ],
+            'items.renewals' => ['952', 'm' ],
+            'items.replacementprice' => ['952', 'v' ],
+            'items.replacementpricedate' => ['952', 'w' ],
+            'items.reserves' => ['952', 'n' ],
+            'items.restricted' => ['952', '5' ],
+            'items.stack' => ['952', 'j' ],
+            'items.uri' => ['952', 'u' ],
+            'items.wthdrawn' => ['952', '0' ]
+            }
+        );
+        return \%hash;
+});
+my $context = new C4::Context("$datadir/etc/koha-conf.xml");
+$context->set_context();
 
 use_ok('C4::Search');
 
@@ -28,3 +125,472 @@ foreach my $string ("A book about the stars") {
     $debug && warn "$string ",Dump(@results);
     ok($results[0] ne $string,"$results[0] from $string");
 }
+
+my $indexes = C4::Search::getIndexes();
+is(scalar(grep(/^ti$/, @$indexes)), 1, "Title index supported");
+
+my $bibliomodule = new Test::MockModule('C4::Biblio');
+$bibliomodule->mock('_get_inverted_marc_field_map', sub {
+    my %hash = (
+        '' => {
+            '245' => { 'sfs' => { 'a' => [ [ 'biblio', 'title' ] ], 'b' => [ [ 'bibliosubtitle', 'subtitle' ] ] },
+                'list' => [ [ 'a', 'biblio', 'title' ], [ 'b', 'bibliosubtitle', 'subtitle' ] ]
+            },
+            '100' => {
+                'sfs' => { 'a' => [ [ 'biblio', 'author' ] ] },
+                'list' => [ [ 'a', 'biblio', 'author' ] ]
+            },
+            '999' => {
+                'sfs' => { 'c' => [ [ 'biblio', 'biblionumber' ] ], 'd' => [ [ 'biblioitems', 'biblioitemnumber' ] ] },
+                'list' => [ [ 'd', 'biblioitems', 'biblioitemnumber' ], [ 'c', 'biblio', 'biblionumber' ] ]
+            },
+            '020' => {
+                'sfs' => { 'a' => [ [ 'biblioitems', 'isbn' ] ] },
+                'list' => [ [ 'a', 'biblioitems', 'isbn' ] ]
+            }
+        }
+    );
+    return \%hash;
+});
+my $dbh = C4::Context->dbh;
+$dbh->{mock_add_resultset} = {
+    sql     => 'SHOW COLUMNS FROM items',
+    results => [
+        [ 'itemnumber' ], [ 'biblionumber' ], [ 'biblioitemnumber' ],
+        [ 'barcode' ], [ 'dateaccessioned' ], [ 'booksellerid' ],
+        [ 'homebranch' ], [ 'price' ], [ 'replacementprice' ],
+        [ 'replacementpricedate' ], [ 'datelastborrowed' ], [ 'datelastseen' ],
+        [ 'stack' ], [ 'notforloan' ], [ 'damaged' ],
+        [ 'itemlost' ], [ 'wthdrawn' ], [ 'itemcallnumber' ],
+        [ 'issues' ], [ 'renewals' ], [ 'reserves' ],
+        [ 'restricted' ], [ 'itemnotes' ], [ 'nonpublicnote' ],
+        [ 'holdingbranch' ], [ 'paidfor' ], [ 'timestamp' ],
+        [ 'location' ], [ 'permanent_location' ], [ 'onloan' ],
+        [ 'cn_source' ], [ 'cn_sort' ], [ 'ccode' ],
+        [ 'materials' ], [ 'uri' ], [ 'itype' ],
+        [ 'more_subfields_xml' ], [ 'enumchron' ], [ 'copynumber' ],
+        [ 'stocknumber' ],
+    ]
+};
+
+my %branches = (
+    'CPL' => { 'branchaddress1' => 'Jefferson Summit', 'branchcode' => 'CPL', 'branchname' => 'Centerville', },
+    'FFL' => { 'branchaddress1' => 'River Station', 'branchcode' => 'FFL', 'branchname' => 'Fairfield', },
+    'FPL' => { 'branchaddress1' => 'Hickory Squere', 'branchcode' => 'FPL', 'branchname' => 'Fairview', },
+    'FRL' => { 'branchaddress1' => 'Smith Heights', 'branchcode' => 'FRL', 'branchname' => 'Franklin', },
+    'IPT' => { 'branchaddress1' => '', 'branchcode' => 'IPT', 'branchname' => "Institut Protestant de Théologie", },
+    'LPL' => { 'branchaddress1' => 'East Hills', 'branchcode' => 'LPL', 'branchname' => 'Liberty', },
+    'MPL' => { 'branchaddress1' => '372 Forest Street', 'branchcode' => 'MPL', 'branchname' => 'Midway', },
+    'PVL' => { 'branchaddress1' => 'Meadow Grove', 'branchcode' => 'PVL', 'branchname' => 'Pleasant Valley', },
+    'RPL' => { 'branchaddress1' => 'Johnson Terrace', 'branchcode' => 'RPL', 'branchname' => 'Riverside', },
+    'SPL' => { 'branchaddress1' => 'Highland Boulevard', 'branchcode' => 'SPL', 'branchname' => 'Springfield', },
+    'S'   => { 'branchaddress1' => '', 'branchcode' => 'S', 'branchname' => 'Test', },
+    'TPL' => { 'branchaddress1' => 'Valley Way', 'branchcode' => 'TPL', 'branchname' => 'Troy', },
+    'UPL' => { 'branchaddress1' => 'Chestnut Hollow', 'branchcode' => 'UPL', 'branchname' => 'Union', },
+);
+my %itemtypes = (
+    'BK' => { 'imageurl' => 'bridge/book.gif', 'summary' => '', 'itemtype' => 'BK', 'description' => 'Books' },
+    'CF' => { 'imageurl' => 'bridge/computer_file.gif', 'summary' => '', 'itemtype' => 'CF', 'description' => 'Computer Files' },
+    'CR' => { 'imageurl' => 'bridge/periodical.gif', 'summary' => '', 'itemtype' => 'CR', 'description' => 'Continuing Resources' },
+    'MP' => { 'imageurl' => 'bridge/map.gif', 'summary' => '', 'itemtype' => 'MP', 'description' => 'Maps' },
+    'MU' => { 'imageurl' => 'bridge/sound.gif', 'summary' => '', 'itemtype' => 'MU', 'description' => 'Music' },
+    'MX' => { 'imageurl' => 'bridge/kit.gif', 'summary' => '', 'itemtype' => 'MX', 'description' => 'Mixed Materials' },
+    'REF' => { 'imageurl' => '', 'summary' => '', 'itemtype' => 'REF', 'description' => 'Reference' },
+    'VM' => { 'imageurl' => 'bridge/dvd.gif', 'summary' => '', 'itemtype' => 'VM', 'description' => 'Visual Materials' },
+);
+
+unlink("$datadir/zebra.log");
+system("zebraidx -c $datadir/etc/koha/zebradb/zebra-biblios.cfg  -v none,fatal,warn  -g iso2709 -d biblios init");
+system("zebraidx -c $datadir/etc/koha/zebradb/zebra-biblios.cfg  -v none,fatal,warn   -g iso2709 -d biblios update $sourcedir/zebraexport/biblio");
+system("zebraidx -c $datadir/etc/koha/zebradb/zebra-biblios.cfg  -v none,fatal,warn  -g iso2709 -d biblios commit");
+
+my $child = fork();
+if ($child == 0) {
+    exec("zebrasrv -f $datadir/etc/koha-conf.xml -v none,request -l $datadir/zebra.log");
+    exit;
+}
+
+sleep(1);
+
+my ($biblionumber, $title);
+my $record = MARC::Record->new;
+
+$record->add_fields(
+        [ '020', ' ', ' ', a => '9788522421718' ],
+        [ '245', '0', '0', a => 'Administração da produção /' ]
+        );
+($biblionumber,undef,$title) = FindDuplicate($record);
+is($biblionumber, 51, 'Found duplicate with ISBN');
+
+$record = MARC::Record->new;
+
+$record->add_fields(
+        [ '100', '1', ' ', a => 'Carter, Philip J.' ],
+        [ '245', '1', '4', a => 'Test your emotional intelligence :' ]
+        );
+($biblionumber,undef,$title) = FindDuplicate($record);
+is($biblionumber, 203, 'Found duplicate with author/title');
+
+# Testing SimpleSearch
+
+my ( $error, $marcresults, $total_hits ) = SimpleSearch("book", 0, 9);
+
+is(scalar @$marcresults, 9, "SimpleSearch retrieved requested number of records");
+is($total_hits, 101, "SimpleSearch for 'book' matched right number of records");
+is($error, undef, "SimpleSearch does not return an error when successful");
+
+my $marcresults2;
+( $error, $marcresults2, $total_hits ) = SimpleSearch("book", 5, 5);
+is($marcresults->[5], $marcresults2->[0], "SimpleSearch cursor functions");
+
+( $error, $marcresults, $total_hits ) = SimpleSearch("kw=book", 0, 10);
+is($total_hits, 101, "SimpleSearch handles simple CCL");
+
+# Testing getRecords
+
+my $results_hashref;
+my $facets_loop;
+( undef, $results_hashref, $facets_loop ) =
+    getRecords('kw:book', 'book', [], [ 'biblioserver' ], '19', 0, undef, \%branches, \%itemtypes, 'ccl', undef);
+is($results_hashref->{biblioserver}->{hits}, 101, "getRecords keyword search for 'book' matched right number of records");
+is(scalar @{$results_hashref->{biblioserver}->{RECORDS}}, 19, "getRecords returned requested number of records");
+my $record5 = $results_hashref->{biblioserver}->{RECORDS}->[5];
+( undef, $results_hashref, $facets_loop ) =
+    getRecords('kw:book', 'book', [], [ 'biblioserver' ], '20', 5, undef, \%branches, \%itemtypes, 'ccl', undef);
+ok(!defined $results_hashref->{biblioserver}->{RECORDS}->[0] &&
+    !defined $results_hashref->{biblioserver}->{RECORDS}->[1] &&
+    !defined $results_hashref->{biblioserver}->{RECORDS}->[2] &&
+    !defined $results_hashref->{biblioserver}->{RECORDS}->[3] &&
+    !defined $results_hashref->{biblioserver}->{RECORDS}->[4] &&
+    $results_hashref->{biblioserver}->{RECORDS}->[5] eq $record5, "getRecords cursor works");
+
+( undef, $results_hashref, $facets_loop ) =
+    getRecords('ti:book', 'ti:book', [], [ 'biblioserver' ], '20', 0, undef, \%branches, \%itemtypes, 'ccl', undef);
+is($results_hashref->{biblioserver}->{hits}, 11, "getRecords title search for 'book' matched right number of records");
+
+( undef, $results_hashref, $facets_loop ) =
+    getRecords('au:Lessig', 'au:Lessig', [], [ 'biblioserver' ], '20', 0, undef, \%branches, \%itemtypes, 'ccl', undef);
+is($results_hashref->{biblioserver}->{hits}, 4, "getRecords title search for 'Australia' matched right number of records");
+
+( undef, $results_hashref, $facets_loop ) =
+    getRecords('salud', 'salud', [], [ 'biblioserver' ], '19', 0, undef, \%branches, \%itemtypes, 'ccl', undef);
+ok(MARC::Record::new_from_usmarc($results_hashref->{biblioserver}->{RECORDS}->[0])->title_proper() =~ m/^Efectos del ambiente/ &&
+    MARC::Record::new_from_usmarc($results_hashref->{biblioserver}->{RECORDS}->[7])->title_proper() eq 'Salud y seguridad de los trabajadores del sector salud: manual para gerentes y administradores^ies' &&
+    MARC::Record::new_from_usmarc($results_hashref->{biblioserver}->{RECORDS}->[18])->title_proper() =~ m/^Indicadores de resultados identificados/
+    , "Simple relevance sorting in getRecords matches old behavior");
+
+( undef, $results_hashref, $facets_loop ) =
+    getRecords('salud', 'salud', [ 'author_az' ], [ 'biblioserver' ], '38', 0, undef, \%branches, \%itemtypes, 'ccl', undef);
+ok(MARC::Record::new_from_usmarc($results_hashref->{biblioserver}->{RECORDS}->[0])->title_proper() =~ m/la enfermedad laboral\^ies$/ &&
+    MARC::Record::new_from_usmarc($results_hashref->{biblioserver}->{RECORDS}->[6])->title_proper() =~ m/^Indicadores de resultados identificados/ &&
+    MARC::Record::new_from_usmarc($results_hashref->{biblioserver}->{RECORDS}->[18])->title_proper() eq 'World health statistics 2009^ien'
+    , "Simple ascending author sorting in getRecords matches old behavior");
+
+( undef, $results_hashref, $facets_loop ) =
+    getRecords('salud', 'salud', [ 'author_za' ], [ 'biblioserver' ], '38', 0, undef, \%branches, \%itemtypes, 'ccl', undef);
+ok(MARC::Record::new_from_usmarc($results_hashref->{biblioserver}->{RECORDS}->[0])->title_proper() eq 'World health statistics 2009^ien' &&
+    MARC::Record::new_from_usmarc($results_hashref->{biblioserver}->{RECORDS}->[12])->title_proper() =~ m/^Indicadores de resultados identificados/ &&
+    MARC::Record::new_from_usmarc($results_hashref->{biblioserver}->{RECORDS}->[18])->title_proper() =~ m/la enfermedad laboral\^ies$/
+    , "Simple descending author sorting in getRecords matches old behavior");
+
+( undef, $results_hashref, $facets_loop ) =
+    getRecords('salud', 'salud', [ 'pubdate_asc' ], [ 'biblioserver' ], '38', 0, undef, \%branches, \%itemtypes, 'ccl', undef);
+ok(MARC::Record::new_from_usmarc($results_hashref->{biblioserver}->{RECORDS}->[0])->title_proper() eq 'Manual de higiene industrial^ies' &&
+    MARC::Record::new_from_usmarc($results_hashref->{biblioserver}->{RECORDS}->[7])->title_proper() =~ m/seguridad e higiene del trabajo\^ies$/ &&
+    MARC::Record::new_from_usmarc($results_hashref->{biblioserver}->{RECORDS}->[18])->title_proper() =~ m/^Indicadores de resultados identificados/
+    , "Simple ascending publication date sorting in getRecords matches old behavior");
+
+( undef, $results_hashref, $facets_loop ) =
+    getRecords('salud', 'salud', [ 'pubdate_dsc' ], [ 'biblioserver' ], '38', 0, undef, \%branches, \%itemtypes, 'ccl', undef);
+ok(MARC::Record::new_from_usmarc($results_hashref->{biblioserver}->{RECORDS}->[0])->title_proper() =~ m/^Estado de salud/ &&
+    MARC::Record::new_from_usmarc($results_hashref->{biblioserver}->{RECORDS}->[7])->title_proper() eq 'World health statistics 2009^ien' &&
+    MARC::Record::new_from_usmarc($results_hashref->{biblioserver}->{RECORDS}->[18])->title_proper() eq 'Manual de higiene industrial^ies'
+    , "Simple descending publication date sorting in getRecords matches old behavior");
+
+( undef, $results_hashref, $facets_loop ) =
+    getRecords('books', 'books', [ 'relevance' ], [ 'biblioserver' ], '20', 0, undef, \%branches, \%itemtypes, undef, 1);
+$record = MARC::Record::new_from_usmarc($results_hashref->{biblioserver}->{RECORDS}->[0]);
+is($record->title_proper(), 'books', "Scan returned requested item");
+is($record->subfield('100', 'a'), 2, "Scan returned correct number of records matching term");
+
+# Time to test buildQuery and searchResults too.
+
+my ( $query, $simple_query, $query_cgi,
+$query_desc, $limit, $limit_cgi, $limit_desc,
+$stopwords_removed, $query_type );
+( $error, $query, $simple_query, $query_cgi,
+$query_desc, $limit, $limit_cgi, $limit_desc,
+$stopwords_removed, $query_type ) = buildQuery([], [ 'salud' ], [], [], [], 0, 'en');
+like($query, qr/kw\W.*salud/, "Built CCL keyword query");
+
+($error, $results_hashref, $facets_loop) = getRecords($query,$simple_query,[ ], [ 'biblioserver' ],20,0,undef,\%branches,\%itemtypes,$query_type,0);
+is($results_hashref->{biblioserver}->{hits}, 19, "getRecords generated keyword search for 'salud' matched right number of records");
+
+my @newresults = searchResults('opac', $query_desc, $results_hashref->{'biblioserver'}->{'hits'}, 18, 0, 0,
+    $results_hashref->{'biblioserver'}->{"RECORDS"});
+is(scalar @newresults,18, "searchResults returns requested number of hits");
+
+( $error, $query, $simple_query, $query_cgi,
+$query_desc, $limit, $limit_cgi, $limit_desc,
+$stopwords_removed, $query_type ) = buildQuery([ 'and' ], [ 'salud', 'higiene' ], [], [], [], 0, 'en');
+like($query, qr/kw\W.*salud\W.*and.*kw\W.*higiene/, "Built composed explicit-and CCL keyword query");
+
+($error, $results_hashref, $facets_loop) = getRecords($query,$simple_query,[ ], [ 'biblioserver' ],20,0,undef,\%branches,\%itemtypes,$query_type,0);
+is($results_hashref->{biblioserver}->{hits}, 3, "getRecords generated composed keyword search for 'salud' explicit-and 'higiene' matched right number of records");
+
+( $error, $query, $simple_query, $query_cgi,
+$query_desc, $limit, $limit_cgi, $limit_desc,
+$stopwords_removed, $query_type ) = buildQuery([ 'or' ], [ 'salud', 'higiene' ], [], [], [], 0, 'en');
+like($query, qr/kw\W.*salud\W.*or.*kw\W.*higiene/, "Built composed explicit-or CCL keyword query");
+
+($error, $results_hashref, $facets_loop) = getRecords($query,$simple_query,[ ], [ 'biblioserver' ],20,0,undef,\%branches,\%itemtypes,$query_type,0);
+is($results_hashref->{biblioserver}->{hits}, 20, "getRecords generated composed keyword search for 'salud' explicit-or 'higiene' matched right number of records");
+
+( $error, $query, $simple_query, $query_cgi,
+$query_desc, $limit, $limit_cgi, $limit_desc,
+$stopwords_removed, $query_type ) = buildQuery([], [ 'salud', 'higiene' ], [], [], [], 0, 'en');
+like($query, qr/kw\W.*salud\W.*and.*kw\W.*higiene/, "Built composed implicit-and CCL keyword query");
+
+($error, $results_hashref, $facets_loop) = getRecords($query,$simple_query,[ ], [ 'biblioserver' ],20,0,undef,\%branches,\%itemtypes,$query_type,0);
+is($results_hashref->{biblioserver}->{hits}, 3, "getRecords generated composed keyword search for 'salud' implicit-and 'higiene' matched right number of records");
+
+( $error, $query, $simple_query, $query_cgi,
+$query_desc, $limit, $limit_cgi, $limit_desc,
+$stopwords_removed, $query_type ) = buildQuery([], [ 'salud' ], [ 'kw' ], [ 'su-to:Laboratorios' ], [], 0, 'en');
+like($query, qr/kw\W.*salud\W*and\W*su-to\W.*Laboratorios/, "Faceted query generated correctly");
+unlike($query_desc, qr/Laboratorios/, "Facets not included in query description");
+
+($error, $results_hashref, $facets_loop) = getRecords($query,$simple_query,[ ], [ 'biblioserver' ],20,0,undef,\%branches,\%itemtypes,$query_type,0);
+is($results_hashref->{biblioserver}->{hits}, 2, "getRecords generated faceted search matched right number of records");
+
+
+( $error, $query, $simple_query, $query_cgi,
+$query_desc, $limit, $limit_cgi, $limit_desc,
+$stopwords_removed, $query_type ) = buildQuery([], [ '' ], [ 'kw' ], [ 'mc-itype:MP', 'mc-itype:MU' ], [], 0, 'en');
+
+($error, $results_hashref, $facets_loop) = getRecords($query,$simple_query,[ ], [ 'biblioserver' ],20,0,undef,\%branches,\%itemtypes,$query_type,0);
+is($results_hashref->{biblioserver}->{hits}, 2, "getRecords generated mc-faceted search matched right number of records");
+
+
+( $error, $query, $simple_query, $query_cgi,
+$query_desc, $limit, $limit_cgi, $limit_desc,
+$stopwords_removed, $query_type ) = buildQuery([], [ '' ], [ 'kw' ], [ 'mc-loc:GEN', 'branch:FFL' ], [], 0, 'en');
+
+($error, $results_hashref, $facets_loop) = getRecords($query,$simple_query,[ ], [ 'biblioserver' ],20,0,undef,\%branches,\%itemtypes,$query_type,0);
+is($results_hashref->{biblioserver}->{hits}, 2, "getRecords generated multi-faceted search matched right number of records");
+
+
+# FIXME: the availability limit does not actually work, so for the moment we
+# are just checking that it behaves consistently
+( $error, $query, $simple_query, $query_cgi,
+$query_desc, $limit, $limit_cgi, $limit_desc,
+$stopwords_removed, $query_type ) = buildQuery([], [ '' ], [ 'kw' ], [ 'available' ], [], 0, 'en');
+
+($error, $results_hashref, $facets_loop) = getRecords($query,$simple_query,[ ], [ 'biblioserver' ],20,0,undef,\%branches,\%itemtypes,$query_type,0);
+is($results_hashref->{biblioserver}->{hits}, 26, "getRecords generated availability-limited search matched right number of records");
+
+@newresults = searchResults('opac', $query_desc, $results_hashref->{'biblioserver'}->{'hits'}, 17, 0, 0,
+    $results_hashref->{'biblioserver'}->{"RECORDS"});
+my $allavailable = 'true';
+foreach my $result (@newresults) {
+    $allavailable = 'false' unless $result->{availablecount} > 0;
+}
+is ($allavailable, 'true', 'All records have at least one item available');
+
+
+( $error, $query, $simple_query, $query_cgi,
+$query_desc, $limit, $limit_cgi, $limit_desc,
+$stopwords_removed, $query_type ) = buildQuery([], [ 'pqf=@attr 1=_ALLRECORDS @attr 2=103 ""' ], [], [], [], 0, 'en');
+
+($error, $results_hashref, $facets_loop) = getRecords($query,$simple_query,[ ], [ 'biblioserver' ],20,0,undef,\%branches,\%itemtypes,$query_type,0);
+is($results_hashref->{biblioserver}->{hits}, 178, "getRecords on _ALLRECORDS PQF returned all records");
+
+( $error, $query, $simple_query, $query_cgi,
+$query_desc, $limit, $limit_cgi, $limit_desc,
+$stopwords_removed, $query_type ) = buildQuery([], [ 'pqf=@attr 1=1016 "Lessig"' ], [], [], [], 0, 'en');
+
+($error, $results_hashref, $facets_loop) = getRecords($query,$simple_query,[ ], [ 'biblioserver' ],20,0,undef,\%branches,\%itemtypes,$query_type,0);
+is($results_hashref->{biblioserver}->{hits}, 4, "getRecords PQF author search for Lessig returned proper number of matches");
+
+( $error, $query, $simple_query, $query_cgi,
+$query_desc, $limit, $limit_cgi, $limit_desc,
+$stopwords_removed, $query_type ) = buildQuery([], [ 'ccl=au:Lessig' ], [], [], [], 0, 'en');
+
+($error, $results_hashref, $facets_loop) = getRecords($query,$simple_query,[ ], [ 'biblioserver' ],20,0,undef,\%branches,\%itemtypes,$query_type,0);
+is($results_hashref->{biblioserver}->{hits}, 4, "getRecords CCL author search for Lessig returned proper number of matches");
+
+( $error, $query, $simple_query, $query_cgi,
+$query_desc, $limit, $limit_cgi, $limit_desc,
+$stopwords_removed, $query_type ) = buildQuery([], [ 'cql=dc.author any lessig' ], [], [], [], 0, 'en');
+
+($error, $results_hashref, $facets_loop) = getRecords($query,$simple_query,[ ], [ 'biblioserver' ],20,0,undef,\%branches,\%itemtypes,$query_type,0);
+is($results_hashref->{biblioserver}->{hits}, 4, "getRecords CQL author search for Lessig returned proper number of matches");
+
+$QueryStemming = $QueryAutoTruncate = $QueryFuzzy = $QueryRemoveStopwords = 0;
+$QueryWeightFields = 1;
+( $error, $query, $simple_query, $query_cgi,
+$query_desc, $limit, $limit_cgi, $limit_desc,
+$stopwords_removed, $query_type ) = buildQuery([], [ 'salud' ], [ 'kw' ], [], [], 0, 'en');
+
+($error, $results_hashref, $facets_loop) = getRecords($query,$simple_query,[ ], [ 'biblioserver' ],20,0,undef,\%branches,\%itemtypes,$query_type,0);
+is($results_hashref->{biblioserver}->{hits}, 19, "Weighted query returned correct number of results");
+is(MARC::Record::new_from_usmarc($results_hashref->{biblioserver}->{RECORDS}->[0])->title_proper(), 'Salud y seguridad de los trabajadores del sector salud: manual para gerentes y administradores^ies', "Weighted query returns best match first");
+
+$QueryStemming = $QueryWeightFields = $QueryFuzzy = $QueryRemoveStopwords = 0;
+$QueryAutoTruncate = 1;
+( $error, $query, $simple_query, $query_cgi,
+$query_desc, $limit, $limit_cgi, $limit_desc,
+$stopwords_removed, $query_type ) = buildQuery([], [ 'medic' ], [ 'kw' ], [], [], 0, 'en');
+
+($error, $results_hashref, $facets_loop) = getRecords($query,$simple_query,[ ], [ 'biblioserver' ],20,0,undef,\%branches,\%itemtypes,$query_type,0);
+is($results_hashref->{biblioserver}->{hits}, 5, "Search for 'medic' returns matches  with automatic truncation on");
+
+( $error, $query, $simple_query, $query_cgi,
+$query_desc, $limit, $limit_cgi, $limit_desc,
+$stopwords_removed, $query_type ) = buildQuery([], [ 'medic*' ], [ 'kw' ], [], [], 0, 'en');
+
+($error, $results_hashref, $facets_loop) = getRecords($query,$simple_query,[ ], [ 'biblioserver' ],20,0,undef,\%branches,\%itemtypes,$query_type,0);
+is($results_hashref->{biblioserver}->{hits}, 5, "Search for 'medic*' returns matches with automatic truncation on");
+
+$QueryStemming = $QueryWeightFields = $QueryFuzzy = $QueryRemoveStopwords = $QueryAutoTruncate = 0;
+( $error, $query, $simple_query, $query_cgi,
+$query_desc, $limit, $limit_cgi, $limit_desc,
+$stopwords_removed, $query_type ) = buildQuery([], [ 'medic' ], [ 'kw' ], [], [], 0, 'en');
+
+($error, $results_hashref, $facets_loop) = getRecords($query,$simple_query,[ ], [ 'biblioserver' ],20,0,undef,\%branches,\%itemtypes,$query_type,0);
+is($results_hashref->{biblioserver}->{hits}, undef, "Search for 'medic' returns no matches with automatic truncation off");
+
+( $error, $query, $simple_query, $query_cgi,
+$query_desc, $limit, $limit_cgi, $limit_desc,
+$stopwords_removed, $query_type ) = buildQuery([], [ 'medic*' ], [ 'kw' ], [], [], 0, 'en');
+
+($error, $results_hashref, $facets_loop) = getRecords($query,$simple_query,[ ], [ 'biblioserver' ],20,0,undef,\%branches,\%itemtypes,$query_type,0);
+is($results_hashref->{biblioserver}->{hits}, 5, "Search for 'medic*' returns matches with automatic truncation off");
+
+$QueryStemming = $QueryWeightFields = 1;
+$QueryFuzzy = $QueryRemoveStopwords = $QueryAutoTruncate = 0;
+( $error, $query, $simple_query, $query_cgi,
+$query_desc, $limit, $limit_cgi, $limit_desc,
+$stopwords_removed, $query_type ) = buildQuery([], [ 'pressed' ], [ 'kw' ], [], [], 0, 'en');
+
+($error, $results_hashref, $facets_loop) = getRecords($query,$simple_query,[ ], [ 'biblioserver' ],20,0,undef,\%branches,\%itemtypes,$query_type,0);
+is($results_hashref->{biblioserver}->{hits}, 7, "Search for 'pressed' returns matches when stemming (and query weighting) is on");
+
+$QueryStemming = $QueryWeightFields = $QueryFuzzy = $QueryRemoveStopwords = $QueryAutoTruncate = 0;
+( $error, $query, $simple_query, $query_cgi,
+$query_desc, $limit, $limit_cgi, $limit_desc,
+$stopwords_removed, $query_type ) = buildQuery([], [ 'pressed' ], [ 'kw' ], [], [], 0, 'en');
+
+($error, $results_hashref, $facets_loop) = getRecords($query,$simple_query,[ ], [ 'biblioserver' ],20,0,undef,\%branches,\%itemtypes,$query_type,0);
+is($results_hashref->{biblioserver}->{hits}, undef, "Search for 'pressed' returns no matches when stemming is off");
+
+# Let's see what happens when we pass bad data into these routines.
+# We have to catch warnings since we're not very good about returning errors.
+
+warning_like { ( $error, $marcresults, $total_hits ) = SimpleSearch("@==ccl blah", 0, 9) } qr/CCL parsing error/,
+    "SimpleSearch warns about CCL parsing error with nonsense query";
+isnt($error, undef, "SimpleSearch returns an error when passed gibberish");
+
+warning_like {( undef, $results_hashref, $facets_loop ) =
+    getRecords('kw:book', 'book', [], [ 'biblioserver' ], '19', 0, undef, \%branches, \%itemtypes, 'nonsense', undef) }
+    qr/Unknown query_type/, "getRecords warns about unknown query type";
+
+warning_like {( undef, $results_hashref, $facets_loop ) =
+    getRecords('pqf=@attr 1=4 "title"', 'pqf=@attr 1=4 "title"', [], [ 'biblioserver' ], '19', 0, undef, \%branches, \%itemtypes, '', undef) }
+    qr/WARNING: query problem/, "getRecords warns when query type is not specified for non-CCL query";
+
+# Let's just test a few other bits and bobs, just for fun
+
+($error, $results_hashref, $facets_loop) = getRecords("Godzina pąsowej róży","Godzina pąsowej róży",[ ], [ 'biblioserver' ],20,0,undef,\%branches,\%itemtypes,$query_type,0);
+@newresults = searchResults('intranet', $query_desc, $results_hashref->{'biblioserver'}->{'hits'}, 17, 0, 0,
+    $results_hashref->{'biblioserver'}->{"RECORDS"});
+is($newresults[0]->{'alternateholdings_count'}, 1, 'Alternate holdings filled in correctly');
+
+END {
+    if ($child) {
+        kill 9, $child;
+
+        # Clean up the Zebra files since the child process was just shot
+        rmtree $datadir;
+    }
+}
+
+# Testing exploding indexes
+my $term;
+my $searchmodule = new Test::MockModule('C4::Search');
+$searchmodule->mock('SimpleSearch', sub {
+    my $query = shift;
+
+    is($query, "Heading,wrdl=$term", "Searching for expected term '$term' for exploding") or return '', [], 0;
+
+    my $record = MARC::Record->new;
+    if ($query =~ m/Arizona/) {
+        $record->add_fields(
+            [ '001', '1234' ],
+            [ '151', ' ', ' ', a => 'Arizona' ],
+            [ '551', ' ', ' ', a => 'United States', w => 'g' ],
+            [ '551', ' ', ' ', a => 'Maricopa County', w => 'h' ],
+            [ '551', ' ', ' ', a => 'Navajo County', w => 'h' ],
+            [ '551', ' ', ' ', a => 'Pima County', w => 'h' ],
+            [ '551', ' ', ' ', a => 'New Mexico' ],
+            );
+    }
+    return '', [ $record->as_usmarc() ], 1;
+});
+
+$term = 'Arizona';
+( $error, $query, $simple_query, $query_cgi,
+$query_desc, $limit, $limit_cgi, $limit_desc,
+$stopwords_removed, $query_type ) = buildQuery([], [ $term ], [ 'su-br' ], [  ], [], 0, 'en');
+matchesExplodedTerms("Advanced search for broader subjects", $query, 'Arizona', 'United States');
+
+( $error, $query, $simple_query, $query_cgi,
+$query_desc, $limit, $limit_cgi, $limit_desc,
+$stopwords_removed, $query_type ) = buildQuery([], [ $term ], [ 'su-na' ], [  ], [], 0, 'en');
+matchesExplodedTerms("Advanced search for narrower subjects", $query, 'Arizona', 'Maricopa County', 'Navajo County', 'Pima County');
+
+( $error, $query, $simple_query, $query_cgi,
+$query_desc, $limit, $limit_cgi, $limit_desc,
+$stopwords_removed, $query_type ) = buildQuery([], [ $term ], [ 'su-rl' ], [  ], [], 0, 'en');
+matchesExplodedTerms("Advanced search for related subjects", $query, 'Arizona', 'United States', 'Maricopa County', 'Navajo County', 'Pima County');
+
+( $error, $query, $simple_query, $query_cgi,
+$query_desc, $limit, $limit_cgi, $limit_desc,
+$stopwords_removed, $query_type ) = buildQuery([], [ "$term", 'history' ], [ 'su-rl', 'kw' ], [  ], [], 0, 'en');
+matchesExplodedTerms("Advanced search for related subjects and keyword 'history' searches related subjects", $query, 'Arizona', 'United States', 'Maricopa County', 'Navajo County', 'Pima County');
+like($query, qr/history/, "Advanced search for related subjects and keyword 'history' searches for 'history'");
+
+( $error, $query, $simple_query, $query_cgi,
+$query_desc, $limit, $limit_cgi, $limit_desc,
+$stopwords_removed, $query_type ) = buildQuery([], [ 'history', "$term" ], [ 'kw', 'su-rl' ], [  ], [], 0, 'en');
+matchesExplodedTerms("Order of terms doesn't matter for advanced search", $query, 'Arizona', 'United States', 'Maricopa County', 'Navajo County', 'Pima County');
+like($query, qr/history/, "Order of terms doesn't matter for advanced search");
+
+( $error, $query, $simple_query, $query_cgi,
+$query_desc, $limit, $limit_cgi, $limit_desc,
+$stopwords_removed, $query_type ) = buildQuery([], [ "su-br:$term" ], [  ], [  ], [], 0, 'en');
+matchesExplodedTerms("Simple search for broader subjects", $query, 'Arizona', 'United States');
+
+( $error, $query, $simple_query, $query_cgi,
+$query_desc, $limit, $limit_cgi, $limit_desc,
+$stopwords_removed, $query_type ) = buildQuery([], [ "su-na:$term" ], [  ], [  ], [], 0, 'en');
+matchesExplodedTerms("Simple search for narrower subjects", $query, 'Arizona', 'Maricopa County', 'Navajo County', 'Pima County');
+
+( $error, $query, $simple_query, $query_cgi,
+$query_desc, $limit, $limit_cgi, $limit_desc,
+$stopwords_removed, $query_type ) = buildQuery([], [ "su-rl:$term" ], [  ], [  ], [], 0, 'en');
+matchesExplodedTerms("Simple search for related subjects", $query, 'Arizona', 'United States', 'Maricopa County', 'Navajo County', 'Pima County');
+
+( $error, $query, $simple_query, $query_cgi,
+$query_desc, $limit, $limit_cgi, $limit_desc,
+$stopwords_removed, $query_type ) = buildQuery([], [ "history and su-rl:$term" ], [  ], [  ], [], 0, 'en');
+matchesExplodedTerms("Simple search for related subjects and keyword 'history' searches related subjects", $query, 'Arizona', 'United States', 'Maricopa County', 'Navajo County', 'Pima County');
+like($query, qr/history/, "Simple search for related subjects and keyword 'history' searches for 'history'");
+
+sub matchesExplodedTerms {
+    my ($message, $query, @terms) = @_;
+    my $match = "(( or )?\\((" . join ('|', map { "su=\"$_\"" } @terms) . ")\\)){" . scalar(@terms) . "}";
+    like($query, qr/$match/, $message);
+}
+
+1;
index 83b3c9b..5359e30 100755 (executable)
@@ -6,9 +6,60 @@
 use strict;
 use warnings;
 
-use Test::More tests => 1;
+use Test::More tests => 30;
 
 BEGIN {
         use_ok('C4::Tags');
 }
 
+# Simple 'sequential 5' test
+my $tags = make_tags(1,2,3,4,5);
+my @strata = (0,1,2,3,4);
+my ($min, $max) = C4::Tags::stratify_tags(5, $tags);
+check_tag_strata($tags, \@strata, 'Sequential 5');
+is($min, 0, 'Sequential 5 min');
+is($max, 4, 'Sequential 5 max');
+
+# Reverse test - should have the same results as previous
+$tags = make_tags(5,4,3,2,1);
+@strata = (4,3,2,1,0);
+($min, $max) = C4::Tags::stratify_tags(5, $tags);
+check_tag_strata($tags, \@strata, 'Reverse Sequential 5');
+is($min, 0, 'Sequential 5 min');
+is($max, 4, 'Sequential 5 max');
+
+# All the same test - should all have the same results
+$tags = make_tags(4,4,4,4,4);
+@strata = (0,0,0,0,0);
+($min, $max) = C4::Tags::stratify_tags(5, $tags);
+check_tag_strata($tags, \@strata, 'All The Same');
+is($min, 0, 'Sequential 5 min');
+is($max, 0, 'Sequential 5 max');
+
+# Some the same, some different
+$tags = make_tags(1,2,2,3,3,8);
+@strata = (0,0,0,1,1,4);
+($min, $max) = C4::Tags::stratify_tags(5, $tags);
+check_tag_strata($tags, \@strata, 'All The Same');
+is($min, 0, 'Sequential 5 min');
+is($max, 7, 'Sequential 5 max');
+
+# Runs tests against the results
+sub check_tag_strata {
+    my ($tags, $expected, $name) = @_;
+
+    foreach my $t (@$tags) {
+        my $w = $t->{weight_total};
+        my $s = $t->{stratum};
+        is($s, shift @$expected, $name . " - $w ($s)");
+    }
+}
+
+# Makes some tags with just enough info to test
+sub make_tags {
+    my @res;
+    while (@_) {
+        push @res, { weight_total => shift @_ };
+    }
+    return \@res;
+}
diff --git a/t/db_dependent/data/zebraexport/authority/exported_records b/t/db_dependent/data/zebraexport/authority/exported_records
new file mode 100644 (file)
index 0000000..e69de29
diff --git a/t/db_dependent/data/zebraexport/biblio/exported_records b/t/db_dependent/data/zebraexport/biblio/exported_records
new file mode 100644 (file)
index 0000000..c193fb1
--- /dev/null
@@ -0,0 +1 @@
+00340nam a22001337a 4500003000400000005001700004008004100021040001000062100001300072245001400085942001200099999001100111952008400122\1eOSt\1e20111207151138.0\1e111207t        xxu||||| |||| 00| 0 eng d\1e  \1fcNEKLS\1e  \1faSome Guy\1e  \1faSome book\1e  \1f2ddc\1fcBK\1e  \1fc10\1fd10\1e  \1fw2011-12-07\1fpTEST11111\1fr2011-12-07\1f40\1f00\1f91\1fbMPL\1f10\1fd2011-12-07\1f70\1f2ddc\1fyBK\1faMPL\1e\1d00348nam a22001337a 4500003000400000005001700004008004100021040001000062100001300072245001700085942001200102999001100114952008900125\1eOSt\1e20111207153101.0\1e111207t        xxu||||| |||| 00| 0 eng d\1e  \1fcNEKLS\1e  \1faSome Guy\1e  \1faAnother book\1e  \1f2ddc\1fcBK\1e  \1fc14\1fd14\1e  \1fw2011-12-07\1fpTEST22222\1fr2011-12-07\1f40\1f00\1f92\1fbMPL\1f10\1fd2011-12-07\1f8FIC\1f70\1f2ddc\1fyBK\1faMPL\1e\1d00255nam a22001217a 4500003000400000005001700004008004100021040001000062100001500072245002000087942001500107999001100122\1eOSt\1e20111207173614.0\1e111207t        xxu||||| |||| 00| 0 eng d\1e  \1fcNEKLS\1e  \1faPeople INC\1e  \1faPeople Magazine\1e  \1f2ddc\1fcBK\1fs1\1e  \1fc33\1fd33\1e\1d00341nam a22001337a 4500003000400000005001700004008004100021040001000062100001300072245001600085942001200101999001100113952008300124\1eOSt\1e20111207174400.0\1e111207t        xxu||||| |||| 00| 0 eng d\1e  \1fcNEKLS\1e  \1faSome Guy\1e  \1faSome book 1\1e  \1f2ddc\1fcBK\1e  \1fc34\1fd34\1e  \1fw2011-12-07\1fpTEST3333\1fr2011-12-07\1f40\1f00\1f93\1fbMPL\1f10\1fd2011-12-07\1f70\1f2ddc\1fyBK\1faMPL\1e\1d00341nam a22001337a 4500003000400000005001700004008004100021040001000062100001300072245001600085942001200101999001100113952008300124\1eOSt\1e20111207174440.0\1e111207t        xxu||||| |||| 00| 0 eng d\1e  \1fcNEKLS\1e  \1faSome Guy\1e  \1faSome book 2\1e  \1f2ddc\1fcBK\1e  \1fc35\1fd35\1e  \1fw2011-12-07\1fpTEST4444\1fr2011-12-07\1f40\1f00\1f94\1fbMPL\1f10\1fd2011-12-07\1f70\1f2ddc\1fyBK\1faMPL\1e\1d00341nam a22001337a 4500003000400000005001700004008004100021040001000062100001300072245001600085942001200101999001100113952008300124\1eOSt\1e20111207174517.0\1e111207t        xxu||||| |||| 00| 0 eng d\1e  \1fcNEKLS\1e  \1faSome Guy\1e  \1faSome book 3\1e  \1f2ddc\1fcBK\1e  \1fc36\1fd36\1e  \1fw2011-12-07\1fpTEST5555\1fr2011-12-07\1f40\1f00\1f95\1fbMPL\1f10\1fd2011-12-07\1f70\1f2ddc\1fyBK\1faMPL\1e\1d00341nam a22001337a 4500003000400000005001700004008004100021040001000062100001300072245001600085942001200101999001100113952008300124\1eOSt\1e20111207174550.0\1e111207t        xxu||||| |||| 00| 0 eng d\1e  \1fcNEKLS\1e  \1faSome Guy\1e  \1faSome book 5\1e  \1f2ddc\1fcBK\1e  \1fc37\1fd37\1e  \1fw2011-12-07\1fpTEST6666\1fr2011-12-07\1f40\1f00\1f96\1fbMPL\1f10\1fd2011-12-07\1f70\1f2ddc\1fyBK\1faMPL\1e\1d00341nam a22001337a 4500003000400000005001700004008004100021040001000062100001300072245001600085942001200101999001100113952008300124\1eOSt\1e20111207182429.0\1e111207t        xxu||||| |||| 00| 0 eng d\1e  \1fcNEKLS\1e  \1faSome Guy\1e  \1faSome book 7\1e  \1f2ddc\1fcBK\1e  \1fc38\1fd38\1e  \1fw2011-12-07\1fpTEST7777\1fr2011-12-07\1f40\1f00\1f97\1fbMPL\1f10\1fd2011-12-07\1f70\1f2ddc\1fyBK\1faMPL\1e\1d00341nam a22001337a 4500003000400000005001700004008004100021040001000062100001300072245001600085942001200101999001100113952008300124\1eOSt\1e20111207182513.0\1e111207t        xxu||||| |||| 00| 0 eng d\1e  \1fcNEKLS\1e  \1faSome Guy\1e  \1faSome book 8\1e  \1f2ddc\1fcBK\1e  \1fc39\1fd39\1e  \1fw2011-12-07\1fpTEST8888\1fr2011-12-07\1f40\1f00\1f98\1fbMPL\1f10\1fd2011-12-07\1f70\1f2ddc\1fyBK\1faMPL\1e\1d00341nam a22001337a 4500003000400000005001700004008004100021040001000062100001300072245001600085942001200101999001100113952008300124\1eOSt\1e20111207182549.0\1e111207t        xxu||||| |||| 00| 0 eng d\1e  \1fcNEKLS\1e  \1faSome Guy\1e  \1faSome book 9\1e  \1f2ddc\1fcBK\1e  \1fc40\1fd40\1e  \1fw2011-12-07\1fpTEST9999\1fr2011-12-07\1f40\1f00\1f99\1fbMPL\1f10\1fd2011-12-07\1f70\1f2ddc\1fyBK\1faMPL\1e\1d00347nam a22001337a 4500003000400000005001700004008004100021040001000062100001300072245001700085942001200102999001100114952008800125\1eOSt\1e20111207182657.0\1e111207t        xxu||||| |||| 00| 0 eng d\1e  \1fcNEKLS\1e  \1faSome Guy\1e  \1faSome book 10\1e  \1f2ddc\1fcBK\1e  \1fc41\1fd41\1e  \1fw2011-12-07\1fpTEST10101010\1fr2011-12-07\1f40\1f00\1f910\1fbMPL\1f10\1fd2011-12-07\1f70\1f2ddc\1fyBK\1faMPL\1e\1d00347nam a22001337a 4500003000400000005001700004008004100021040001000062100001300072245001700085942001200102999001100114952008800125\1eOSt\1e20111207182731.0\1e111207t        xxu||||| |||| 00| 0 eng d\1e  \1fcNEKLS\1e  \1faSome Guy\1e  \1faSome book 11\1e  \1f2ddc\1fcBK\1e  \1fc42\1fd42\1e  \1fw2011-12-07\1fpTEST12121212\1fr2011-12-07\1f40\1f00\1f911\1fbMPL\1f10\1fd2011-12-07\1f70\1f2ddc\1fyBK\1faMPL\1e\1d01195nam a2200253 a 4500001001000000008004100010020001900051020002000070080000800090082001300098082001300111082001300124100002100137245005800158260003300216300002200249942000700271999001100278952014000289952013100429952012800560952014400688952010900832\1e000242241\1e                       r           eng  \1e  \1fa0465039138\1fbh.\1e  \1fa046503912x\1fbib.\1eua\1fa308\1ekj\1fa303.4833\1e\1fa303.4833\1e\1fa303.4833\1e  \1faLessig, Lawrence\1e  \1faCode\1fband other laws (of cyberspace)\1fcLawrence Lessig\1e  \1faNew York\1fbBasic Books\1fcc1999\1e  \1faXII, 297 s.\1fcill.\1e  \1fcBK\1e  \1fc46\1fd46\1e  \1fw2011-04-22\1fp1\1fr2012-08-15\1f40\1f00\1f6303_483300000000000\1f912\1fbMPL\1f10\1fo303.4833\1fd2011-04-22\1fq2012-09-05\1f70\1fcGEN\1f2ddc\1fyBK\1fs2012-08-15\1fl3\1faCPL\1e  \1fw2011-04-22\1fp2\1fr2012-01-04\1f40\1f00\1f6303_483300000000000\1f913\1fbFFL\1fm1\1f10\1fo303.4833\1fd2011-04-22\1f70\1fcNEW\1f2ddc\1fyBK\1fs2012-01-04\1fl3\1faFFL\1e  \1fw2011-04-22\1fp3\1fr2011-10-07\1f40\1f00\1f6303_483300000000000\1f914\1fbFFL\1f10\1fo303.4833\1fd2011-04-22\1f70\1fcGEN\1f2ddc\1fyBK\1fs2011-10-07\1fl2\1faFPL\1e  \1fw2011-06-17\1fp0479876576\1fr2012-08-15\1f40\1f00\1f6303_483300000000000\1f915\1fbMPL\1f10\1fo303.4833\1fd2011-06-17\1fq2012-09-05\1f70\1f2ddc\1fyBK\1fs2012-08-15\1fl3\1faCPL\1e  \1fw2011-06-17\1fr2011-06-17\1f40\1f00\1f6303_483300000000000\1f916\1fbCPL\1f10\1fo303.4833\1fd2011-06-17\1ft12\1f70\1f2ddc\1fyBK\1faCPL\1e\1d00716nam a2200169 a 4500001001000000008004100010020002000051100002100071245010000092260003400192300001700226776001400243942000700257999001100264952013400275952013700409\1e020079648\1e                       r           eng  \1e  \1fa0375505784\1fbib.\1e  \1faLessig, Lawrence\1e  \1faทดสอบ\1fbthe fate of the commons in a connected world\1fcLawrence Lessig\1fwfuture of ideas\1e  \1faNew York\1fbRandom House\1fcc2001\1e  \1faXIII, 352 s.\1e  \1fw040558401\1e  \1fcBK\1e  \1fc47\1fd47\1e  \1fw2011-04-22\1fp4\1fr2011-09-13\1f40\1f00\1f6303_480000000000000_LES\1f917\1fbCPL\1f10\1fo303.48 Les\1fd2011-04-22\1f70\1fcGEN\1f2ddc\1fyBK\1fs2011-09-13\1fl1\1faCPL\1e  \1fw2011-04-22\1fp6\1fr2012-01-04\1f40\1f00\1f6303_480000000000000_LES\1f918\1fbCPL\1fm1\1f10\1fo303.48 Les\1fd2011-04-22\1f70\1fcGEN\1f2ddc\1fyBK\1fs2012-01-04\1fl1\1faCPL\1e\1d00617nam a2200205 a 4500001001000000008004100010020001900051020002200070082001300092082001300105100002100118245003900139260003300178300001800211650001400229776001400243942000700257999001100264952013600275\1e070576602\1e                       r           eng  \1e  \1fa0465039146\1fbh.\1e  \1fa9780465039142\1fbh.\1ekj\1fa341.7577\1euk\1fa303.4833\1e  \1faLessig, Lawrence\1e  \1faCode\1fbversion 2.0\1fcLawrence Lessig\1e  \1faNew York\1fbBasic Books\1fcc2006\1e  \1faXVIII, 410 s.\1e  \1f0Copyright\1e  \1fw080292992\1e  \1fcBK\1e  \1fc48\1fd48\1e  \1fw2011-05-23\1fp12\1fr2012-08-15\1f40\1f00\1f6341_757700000000000\1f919\1fbMPL\1f10\1fo341.7577\1fd2011-05-23\1fq2012-09-05\1f70\1f2ddc\1fyBK\1fs2012-08-15\1fl2\1faCPL\1e\1d13488nam a2201345 a 4500001001000000008004100010020002000051100002100071245010400092260003400196300001700230776001400247942000700261999001100268952011600279952011600395952014300511952011700654952014400771952014400915952013201059952011701191952011701308952011701425952011701542952011701659952011701776952011701893952014402010952011702154952011702271952011702388952011702505952011702622952011702739952011702856952011702973952011703090952011703207952011703324952011703441952011703558952011703675952011703792952011703909952011704026952011704143952011704260952011704377952011704494952011704611952011704728952011704845952011704962952011705079952011705196952011705313952011705430952011705547952011705664952011705781952011705898952011706015952011706132952011706249952011706366952011706483952011706600952011706717952011706834952011706951952011707068952011707185952011707302952011707419952011707536952011707653952011707770952011707887952011708004952011708121952011708238952011708355952011708472952011708589952011708706952011708823952011708940952011709057952011709174952011709291952011709408952011709525952011709642952011809759952011809877952011809995952011810113952011810231952011810349952011810467952011810585952011810703952011810821952011810939952011811057952013411175952011911309952011911428952011911547952011911666952011911785952011911904952011912023\1e020079648\1e                       r           eng  \1e  \1fa0375505784\1fbib.\1e  \1faLessig, Lawrence\1e  \1faThe future of ideas\1fbthe fate of the commons in a connected world\1fcLawrence Lessig\1fwfuture of ideas\1e  \1faNew York\1fbRandom House\1fcc2001\1e  \1faXIII, 352 s.\1e  \1fw040558401\1e  \1fcBK\1e  \1fc49\1fd49\1e  \1fw2011-05-23\1fp7\1fr2011-05-23\1f40\1f00\1f6341_000000000000000_LES\1f920\1fbCPL\1f10\1fo341 Les\1fd2011-05-23\1f70\1fcGEN\1f2ddc\1fyBK\1faCPL\1e  \1fw2011-05-23\1fp8\1fr2011-05-23\1f40\1f00\1f6341_000000000000000_LES\1f921\1fbCPL\1f10\1fo341 Les\1fd2011-05-23\1f70\1fcGEN\1f2ddc\1fyBK\1faCPL\1e  \1fw2011-05-23\1fp9\1fr2012-01-04\1f40\1f00\1f6341_000000000000000_LES\1f922\1fbCPL\1f10\1fo341 Les\1fd2011-05-23\1fq2012-01-31\1f70\1fcGEN\1f2ddc\1fyBK\1fs2012-01-04\1fl2\1faCPL\1e  \1fw2011-05-23\1fp10\1fr2011-05-23\1f40\1f00\1f6341_000000000000000_LES\1f923\1fbCPL\1f10\1fo341 Les\1fd2011-05-23\1f70\1fcGEN\1f2ddc\1fyBK\1faCPL\1e  \1fw2011-05-23\1fp11\1fr2011-11-04\1f40\1f00\1f6341_000000000000000_LES\1f924\1fbCPL\1f10\1fo341 Les\1fd2011-05-23\1fq2011-12-07\1f70\1fcGEN\1f2ddc\1fyBK\1fs2011-11-04\1fl3\1faCPL\1e  \1fw2011-05-23\1fp13\1fr2011-12-02\1f40\1f00\1f6341_000000000000000_LES\1f925\1fbCPL\1f10\1fo341 Les\1fd2011-05-23\1fq2012-01-04\1f70\1fcGEN\1f2ddc\1fyBK\1fs2011-12-02\1fl1\1faCPL\1e  \1fw2011-05-23\1fp14\1fr2012-01-04\1f40\1f00\1f6341_000000000000000_LES\1f926\1fbCPL\1f10\1fo341 Les\1fd2011-05-23\1f70\1fcGEN\1f2ddc\1fyBK\1fs2011-12-02\1fl1\1faCPL\1e  \1fw2011-05-23\1fp15\1fr2011-05-23\1f40\1f00\1f6341_000000000000000_LES\1f927\1fbCPL\1f10\1fo341 Les\1fd2011-05-23\1f70\1fcGEN\1f2ddc\1fyBK\1faCPL\1e  \1fw2011-05-23\1fp16\1fr2011-05-23\1f40\1f00\1f6341_000000000000000_LES\1f928\1fbCPL\1f10\1fo341 Les\1fd2011-05-23\1f70\1fcGEN\1f2ddc\1fyBK\1faCPL\1e  \1fw2011-05-23\1fp17\1fr2011-05-23\1f40\1f00\1f6341_000000000000000_LES\1f929\1fbCPL\1f10\1fo341 Les\1fd2011-05-23\1f70\1fcGEN\1f2ddc\1fyBK\1faCPL\1e  \1fw2011-05-23\1fp18\1fr2011-05-23\1f40\1f00\1f6341_000000000000000_LES\1f930\1fbCPL\1f10\1fo341 Les\1fd2011-05-23\1f70\1fcGEN\1f2ddc\1fyBK\1faCPL\1e  \1fw2011-05-23\1fp19\1fr2011-05-23\1f40\1f00\1f6341_000000000000000_LES\1f931\1fbCPL\1f10\1fo341 Les\1fd2011-05-23\1f70\1fcGEN\1f2ddc\1fyBK\1faCPL\1e  \1fw2011-05-23\1fp20\1fr2011-05-23\1f40\1f00\1f6341_000000000000000_LES\1f932\1fbCPL\1f10\1fo341 Les\1fd2011-05-23\1f70\1fcGEN\1f2ddc\1fyBK\1faCPL\1e  \1fw2011-05-23\1fp21\1fr2011-05-23\1f40\1f00\1f6341_000000000000000_LES\1f933\1fbCPL\1f10\1fo341 Les\1fd2011-05-23\1f70\1fcGEN\1f2ddc\1fyBK\1faCPL\1e  \1fw2011-05-23\1fp22\1fr2011-10-19\1f40\1f00\1f6341_000000000000000_LES\1f934\1fbCPL\1f10\1fo341 Les\1fd2011-05-23\1fq2011-11-16\1f70\1fcGEN\1f2ddc\1fyBK\1fs2011-10-19\1fl1\1faCPL\1e  \1fw2011-05-23\1fp23\1fr2011-05-23\1f40\1f00\1f6341_000000000000000_LES\1f935\1fbCPL\1f10\1fo341 Les\1fd2011-05-23\1f70\1fcGEN\1f2ddc\1fyBK\1faCPL\1e  \1fw2011-05-23\1fp24\1fr2011-05-23\1f40\1f00\1f6341_000000000000000_LES\1f936\1fbCPL\1f10\1fo341 Les\1fd2011-05-23\1f70\1fcGEN\1f2ddc\1fyBK\1faCPL\1e  \1fw2011-05-23\1fp25\1fr2011-05-23\1f40\1f00\1f6341_000000000000000_LES\1f937\1fbCPL\1f10\1fo341 Les\1fd2011-05-23\1f70\1fcGEN\1f2ddc\1fyBK\1faCPL\1e  \1fw2011-05-23\1fp26\1fr2011-05-23\1f40\1f00\1f6341_000000000000000_LES\1f938\1fbCPL\1f10\1fo341 Les\1fd2011-05-23\1f70\1fcGEN\1f2ddc\1fyBK\1faCPL\1e  \1fw2011-05-23\1fp27\1fr2011-05-23\1f40\1f00\1f6341_000000000000000_LES\1f939\1fbCPL\1f10\1fo341 Les\1fd2011-05-23\1f70\1fcGEN\1f2ddc\1fyBK\1faCPL\1e  \1fw2011-05-23\1fp28\1fr2011-05-23\1f40\1f00\1f6341_000000000000000_LES\1f940\1fbCPL\1f10\1fo341 Les\1fd2011-05-23\1f70\1fcGEN\1f2ddc\1fyBK\1faCPL\1e  \1fw2011-05-23\1fp29\1fr2011-05-23\1f40\1f00\1f6341_000000000000000_LES\1f941\1fbCPL\1f10\1fo341 Les\1fd2011-05-23\1f70\1fcGEN\1f2ddc\1fyBK\1faCPL\1e  \1fw2011-05-23\1fp30\1fr2011-05-23\1f40\1f00\1f6341_000000000000000_LES\1f942\1fbCPL\1f10\1fo341 Les\1fd2011-05-23\1f70\1fcGEN\1f2ddc\1fyBK\1faCPL\1e  \1fw2011-05-23\1fp31\1fr2011-05-23\1f40\1f00\1f6341_000000000000000_LES\1f943\1fbCPL\1f10\1fo341 Les\1fd2011-05-23\1f70\1fcGEN\1f2ddc\1fyBK\1faCPL\1e  \1fw2011-05-23\1fp32\1fr2011-05-23\1f40\1f00\1f6341_000000000000000_LES\1f944\1fbCPL\1f10\1fo341 Les\1fd2011-05-23\1f70\1fcGEN\1f2ddc\1fyBK\1faCPL\1e  \1fw2011-05-23\1fp33\1fr2011-05-23\1f40\1f00\1f6341_000000000000000_LES\1f945\1fbCPL\1f10\1fo341 Les\1fd2011-05-23\1f70\1fcGEN\1f2ddc\1fyBK\1faCPL\1e  \1fw2011-05-23\1fp34\1fr2011-05-23\1f40\1f00\1f6341_000000000000000_LES\1f946\1fbCPL\1f10\1fo341 Les\1fd2011-05-23\1f70\1fcGEN\1f2ddc\1fyBK\1faCPL\1e  \1fw2011-05-23\1fp35\1fr2011-05-23\1f40\1f00\1f6341_000000000000000_LES\1f947\1fbCPL\1f10\1fo341 Les\1fd2011-05-23\1f70\1fcGEN\1f2ddc\1fyBK\1faCPL\1e  \1fw2011-05-23\1fp36\1fr2011-05-23\1f40\1f00\1f6341_000000000000000_LES\1f948\1fbCPL\1f10\1fo341 Les\1fd2011-05-23\1f70\1fcGEN\1f2ddc\1fyBK\1faCPL\1e  \1fw2011-05-23\1fp37\1fr2011-05-23\1f40\1f00\1f6341_000000000000000_LES\1f949\1fbCPL\1f10\1fo341 Les\1fd2011-05-23\1f70\1fcGEN\1f2ddc\1fyBK\1faCPL\1e  \1fw2011-05-23\1fp38\1fr2011-05-23\1f40\1f00\1f6341_000000000000000_LES\1f950\1fbCPL\1f10\1fo341 Les\1fd2011-05-23\1f70\1fcGEN\1f2ddc\1fyBK\1faCPL\1e  \1fw2011-05-23\1fp39\1fr2011-05-23\1f40\1f00\1f6341_000000000000000_LES\1f951\1fbCPL\1f10\1fo341 Les\1fd2011-05-23\1f70\1fcGEN\1f2ddc\1fyBK\1faCPL\1e  \1fw2011-05-23\1fp40\1fr2011-05-23\1f40\1f00\1f6341_000000000000000_LES\1f952\1fbCPL\1f10\1fo341 Les\1fd2011-05-23\1f70\1fcGEN\1f2ddc\1fyBK\1faCPL\1e  \1fw2011-05-23\1fp41\1fr2011-05-23\1f40\1f00\1f6341_000000000000000_LES\1f953\1fbCPL\1f10\1fo341 Les\1fd2011-05-23\1f70\1fcGEN\1f2ddc\1fyBK\1faCPL\1e  \1fw2011-05-23\1fp42\1fr2011-05-23\1f40\1f00\1f6341_000000000000000_LES\1f954\1fbCPL\1f10\1fo341 Les\1fd2011-05-23\1f70\1fcGEN\1f2ddc\1fyBK\1faCPL\1e  \1fw2011-05-23\1fp43\1fr2011-05-23\1f40\1f00\1f6341_000000000000000_LES\1f955\1fbCPL\1f10\1fo341 Les\1fd2011-05-23\1f70\1fcGEN\1f2ddc\1fyBK\1faCPL\1e  \1fw2011-05-23\1fp44\1fr2011-05-23\1f40\1f00\1f6341_000000000000000_LES\1f956\1fbCPL\1f10\1fo341 Les\1fd2011-05-23\1f70\1fcGEN\1f2ddc\1fyBK\1faCPL\1e  \1fw2011-05-23\1fp45\1fr2011-05-23\1f40\1f00\1f6341_000000000000000_LES\1f957\1fbCPL\1f10\1fo341 Les\1fd2011-05-23\1f70\1fcGEN\1f2ddc\1fyBK\1faCPL\1e  \1fw2011-05-23\1fp46\1fr2011-05-23\1f40\1f00\1f6341_000000000000000_LES\1f958\1fbCPL\1f10\1fo341 Les\1fd2011-05-23\1f70\1fcGEN\1f2ddc\1fyBK\1faCPL\1e  \1fw2011-05-23\1fp47\1fr2011-05-23\1f40\1f00\1f6341_000000000000000_LES\1f959\1fbCPL\1f10\1fo341 Les\1fd2011-05-23\1f70\1fcGEN\1f2ddc\1fyBK\1faCPL\1e  \1fw2011-05-23\1fp48\1fr2011-05-23\1f40\1f00\1f6341_000000000000000_LES\1f960\1fbCPL\1f10\1fo341 Les\1fd2011-05-23\1f70\1fcGEN\1f2ddc\1fyBK\1faCPL\1e  \1fw2011-05-23\1fp49\1fr2011-05-23\1f40\1f00\1f6341_000000000000000_LES\1f961\1fbCPL\1f10\1fo341 Les\1fd2011-05-23\1f70\1fcGEN\1f2ddc\1fyBK\1faCPL\1e  \1fw2011-05-23\1fp50\1fr2011-05-23\1f40\1f00\1f6341_000000000000000_LES\1f962\1fbCPL\1f10\1fo341 Les\1fd2011-05-23\1f70\1fcGEN\1f2ddc\1fyBK\1faCPL\1e  \1fw2011-05-23\1fp51\1fr2011-05-23\1f40\1f00\1f6341_000000000000000_LES\1f963\1fbCPL\1f10\1fo341 Les\1fd2011-05-23\1f70\1fcGEN\1f2ddc\1fyBK\1faCPL\1e  \1fw2011-05-23\1fp52\1fr2011-05-23\1f40\1f00\1f6341_000000000000000_LES\1f964\1fbCPL\1f10\1fo341 Les\1fd2011-05-23\1f70\1fcGEN\1f2ddc\1fyBK\1faCPL\1e  \1fw2011-05-23\1fp53\1fr2011-05-23\1f40\1f00\1f6341_000000000000000_LES\1f965\1fbCPL\1f10\1fo341 Les\1fd2011-05-23\1f70\1fcGEN\1f2ddc\1fyBK\1faCPL\1e  \1fw2011-05-23\1fp54\1fr2011-05-23\1f40\1f00\1f6341_000000000000000_LES\1f966\1fbCPL\1f10\1fo341 Les\1fd2011-05-23\1f70\1fcGEN\1f2ddc\1fyBK\1faCPL\1e  \1fw2011-05-23\1fp55\1fr2011-05-23\1f40\1f00\1f6341_000000000000000_LES\1f967\1fbCPL\1f10\1fo341 Les\1fd2011-05-23\1f70\1fcGEN\1f2ddc\1fyBK\1faCPL\1e  \1fw2011-05-23\1fp56\1fr2011-05-23\1f40\1f00\1f6341_000000000000000_LES\1f968\1fbCPL\1f10\1fo341 Les\1fd2011-05-23\1f70\1fcGEN\1f2ddc\1fyBK\1faCPL\1e  \1fw2011-05-23\1fp57\1fr2011-05-23\1f40\1f00\1f6341_000000000000000_LES\1f969\1fbCPL\1f10\1fo341 Les\1fd2011-05-23\1f70\1fcGEN\1f2ddc\1fyBK\1faCPL\1e  \1fw2011-05-23\1fp58\1fr2011-05-23\1f40\1f00\1f6341_000000000000000_LES\1f970\1fbCPL\1f10\1fo341 Les\1fd2011-05-23\1f70\1fcGEN\1f2ddc\1fyBK\1faCPL\1e  \1fw2011-05-23\1fp59\1fr2011-05-23\1f40\1f00\1f6341_000000000000000_LES\1f971\1fbCPL\1f10\1fo341 Les\1fd2011-05-23\1f70\1fcGEN\1f2ddc\1fyBK\1faCPL\1e  \1fw2011-05-23\1fp60\1fr2011-05-23\1f40\1f00\1f6341_000000000000000_LES\1f972\1fbCPL\1f10\1fo341 Les\1fd2011-05-23\1f70\1fcGEN\1f2ddc\1fyBK\1faCPL\1e  \1fw2011-05-23\1fp61\1fr2011-05-23\1f40\1f00\1f6341_000000000000000_LES\1f973\1fbCPL\1f10\1fo341 Les\1fd2011-05-23\1f70\1fcGEN\1f2ddc\1fyBK\1faCPL\1e  \1fw2011-05-23\1fp62\1fr2011-05-23\1f40\1f00\1f6341_000000000000000_LES\1f974\1fbCPL\1f10\1fo341 Les\1fd2011-05-23\1f70\1fcGEN\1f2ddc\1fyBK\1faCPL\1e  \1fw2011-05-23\1fp63\1fr2011-05-23\1f40\1f00\1f6341_000000000000000_LES\1f975\1fbCPL\1f10\1fo341 Les\1fd2011-05-23\1f70\1fcGEN\1f2ddc\1fyBK\1faCPL\1e  \1fw2011-05-23\1fp64\1fr2011-05-23\1f40\1f00\1f6341_000000000000000_LES\1f976\1fbCPL\1f10\1fo341 Les\1fd2011-05-23\1f70\1fcGEN\1f2ddc\1fyBK\1faCPL\1e  \1fw2011-05-23\1fp65\1fr2011-05-23\1f40\1f00\1f6341_000000000000000_LES\1f977\1fbCPL\1f10\1fo341 Les\1fd2011-05-23\1f70\1fcGEN\1f2ddc\1fyBK\1faCPL\1e  \1fw2011-05-23\1fp66\1fr2011-05-23\1f40\1f00\1f6341_000000000000000_LES\1f978\1fbCPL\1f10\1fo341 Les\1fd2011-05-23\1f70\1fcGEN\1f2ddc\1fyBK\1faCPL\1e  \1fw2011-05-23\1fp67\1fr2011-05-23\1f40\1f00\1f6341_000000000000000_LES\1f979\1fbCPL\1f10\1fo341 Les\1fd2011-05-23\1f70\1fcGEN\1f2ddc\1fyBK\1faCPL\1e  \1fw2011-05-23\1fp68\1fr2011-05-23\1f40\1f00\1f6341_000000000000000_LES\1f980\1fbCPL\1f10\1fo341 Les\1fd2011-05-23\1f70\1fcGEN\1f2ddc\1fyBK\1faCPL\1e  \1fw2011-05-23\1fp69\1fr2011-05-23\1f40\1f00\1f6341_000000000000000_LES\1f981\1fbCPL\1f10\1fo341 Les\1fd2011-05-23\1f70\1fcGEN\1f2ddc\1fyBK\1faCPL\1e  \1fw2011-05-23\1fp70\1fr2011-05-23\1f40\1f00\1f6341_000000000000000_LES\1f982\1fbCPL\1f10\1fo341 Les\1fd2011-05-23\1f70\1fcGEN\1f2ddc\1fyBK\1faCPL\1e  \1fw2011-05-23\1fp71\1fr2011-05-23\1f40\1f00\1f6341_000000000000000_LES\1f983\1fbCPL\1f10\1fo341 Les\1fd2011-05-23\1f70\1fcGEN\1f2ddc\1fyBK\1faCPL\1e  \1fw2011-05-23\1fp72\1fr2011-05-23\1f40\1f00\1f6341_000000000000000_LES\1f984\1fbCPL\1f10\1fo341 Les\1fd2011-05-23\1f70\1fcGEN\1f2ddc\1fyBK\1faCPL\1e  \1fw2011-05-23\1fp73\1fr2011-05-23\1f40\1f00\1f6341_000000000000000_LES\1f985\1fbCPL\1f10\1fo341 Les\1fd2011-05-23\1f70\1fcGEN\1f2ddc\1fyBK\1faCPL\1e  \1fw2011-05-23\1fp74\1fr2011-05-23\1f40\1f00\1f6341_000000000000000_LES\1f986\1fbCPL\1f10\1fo341 Les\1fd2011-05-23\1f70\1fcGEN\1f2ddc\1fyBK\1faCPL\1e  \1fw2011-05-23\1fp75\1fr2011-05-23\1f40\1f00\1f6341_000000000000000_LES\1f987\1fbCPL\1f10\1fo341 Les\1fd2011-05-23\1f70\1fcGEN\1f2ddc\1fyBK\1faCPL\1e  \1fw2011-05-23\1fp76\1fr2011-05-23\1f40\1f00\1f6341_000000000000000_LES\1f988\1fbCPL\1f10\1fo341 Les\1fd2011-05-23\1f70\1fcGEN\1f2ddc\1fyBK\1faCPL\1e  \1fw2011-05-23\1fp77\1fr2011-05-23\1f40\1f00\1f6341_000000000000000_LES\1f989\1fbCPL\1f10\1fo341 Les\1fd2011-05-23\1f70\1fcGEN\1f2ddc\1fyBK\1faCPL\1e  \1fw2011-05-23\1fp78\1fr2011-05-23\1f40\1f00\1f6341_000000000000000_LES\1f990\1fbCPL\1f10\1fo341 Les\1fd2011-05-23\1f70\1fcGEN\1f2ddc\1fyBK\1faCPL\1e  \1fw2011-05-23\1fp79\1fr2011-05-23\1f40\1f00\1f6341_000000000000000_LES\1f991\1fbCPL\1f10\1fo341 Les\1fd2011-05-23\1f70\1fcGEN\1f2ddc\1fyBK\1faCPL\1e  \1fw2011-05-23\1fp80\1fr2011-05-23\1f40\1f00\1f6341_000000000000000_LES\1f992\1fbCPL\1f10\1fo341 Les\1fd2011-05-23\1f70\1fcGEN\1f2ddc\1fyBK\1faCPL\1e  \1fw2011-05-23\1fp81\1fr2011-05-23\1f40\1f00\1f6341_000000000000000_LES\1f993\1fbCPL\1f10\1fo341 Les\1fd2011-05-23\1f70\1fcGEN\1f2ddc\1fyBK\1faCPL\1e  \1fw2011-05-23\1fp82\1fr2011-05-23\1f40\1f00\1f6341_000000000000000_LES\1f994\1fbCPL\1f10\1fo341 Les\1fd2011-05-23\1f70\1fcGEN\1f2ddc\1fyBK\1faCPL\1e  \1fw2011-05-23\1fp83\1fr2011-05-23\1f40\1f00\1f6341_000000000000000_LES\1f995\1fbCPL\1f10\1fo341 Les\1fd2011-05-23\1f70\1fcGEN\1f2ddc\1fyBK\1faCPL\1e  \1fw2011-05-23\1fp84\1fr2011-05-23\1f40\1f00\1f6341_000000000000000_LES\1f996\1fbCPL\1f10\1fo341 Les\1fd2011-05-23\1f70\1fcGEN\1f2ddc\1fyBK\1faCPL\1e  \1fw2011-05-23\1fp85\1fr2011-05-23\1f40\1f00\1f6341_000000000000000_LES\1f997\1fbCPL\1f10\1fo341 Les\1fd2011-05-23\1f70\1fcGEN\1f2ddc\1fyBK\1faCPL\1e  \1fw2011-05-23\1fp86\1fr2011-05-23\1f40\1f00\1f6341_000000000000000_LES\1f998\1fbCPL\1f10\1fo341 Les\1fd2011-05-23\1f70\1fcGEN\1f2ddc\1fyBK\1faCPL\1e  \1fw2011-05-23\1fp87\1fr2011-05-23\1f40\1f00\1f6341_000000000000000_LES\1f999\1fbCPL\1f10\1fo341 Les\1fd2011-05-23\1f70\1fcGEN\1f2ddc\1fyBK\1faCPL\1e  \1fw2011-05-23\1fp88\1fr2011-05-23\1f40\1f00\1f6341_000000000000000_LES\1f9100\1fbCPL\1f10\1fo341 Les\1fd2011-05-23\1f70\1fcGEN\1f2ddc\1fyBK\1faCPL\1e  \1fw2011-05-23\1fp89\1fr2011-05-23\1f40\1f00\1f6341_000000000000000_LES\1f9101\1fbCPL\1f10\1fo341 Les\1fd2011-05-23\1f70\1fcGEN\1f2ddc\1fyBK\1faCPL\1e  \1fw2011-05-23\1fp90\1fr2011-05-23\1f40\1f00\1f6341_000000000000000_LES\1f9102\1fbCPL\1f10\1fo341 Les\1fd2011-05-23\1f70\1fcGEN\1f2ddc\1fyBK\1faCPL\1e  \1fw2011-05-23\1fp91\1fr2011-05-23\1f40\1f00\1f6341_000000000000000_LES\1f9103\1fbCPL\1f10\1fo341 Les\1fd2011-05-23\1f70\1fcGEN\1f2ddc\1fyBK\1faCPL\1e  \1fw2011-05-23\1fp92\1fr2011-05-23\1f40\1f00\1f6341_000000000000000_LES\1f9104\1fbCPL\1f10\1fo341 Les\1fd2011-05-23\1f70\1fcGEN\1f2ddc\1fyBK\1faCPL\1e  \1fw2011-05-23\1fp93\1fr2011-05-23\1f40\1f00\1f6341_000000000000000_LES\1f9105\1fbCPL\1f10\1fo341 Les\1fd2011-05-23\1f70\1fcGEN\1f2ddc\1fyBK\1faCPL\1e  \1fw2011-05-23\1fp94\1fr2011-05-23\1f40\1f00\1f6341_000000000000000_LES\1f9106\1fbCPL\1f10\1fo341 Les\1fd2011-05-23\1f70\1fcGEN\1f2ddc\1fyBK\1faCPL\1e  \1fw2011-05-23\1fp95\1fr2011-05-23\1f40\1f00\1f6341_000000000000000_LES\1f9107\1fbCPL\1f10\1fo341 Les\1fd2011-05-23\1f70\1fcGEN\1f2ddc\1fyBK\1faCPL\1e  \1fw2011-05-23\1fp96\1fr2011-05-23\1f40\1f00\1f6341_000000000000000_LES\1f9108\1fbCPL\1f10\1fo341 Les\1fd2011-05-23\1f70\1fcGEN\1f2ddc\1fyBK\1faCPL\1e  \1fw2011-05-23\1fp97\1fr2011-05-23\1f40\1f00\1f6341_000000000000000_LES\1f9109\1fbCPL\1f10\1fo341 Les\1fd2011-05-23\1f70\1fcGEN\1f2ddc\1fyBK\1faCPL\1e  \1fw2011-05-23\1fp98\1fr2011-05-23\1f40\1f00\1f6341_000000000000000_LES\1f9110\1fbCPL\1f10\1fo341 Les\1fd2011-05-23\1f70\1fcGEN\1f2ddc\1fyBK\1faCPL\1e  \1fw2011-05-23\1fp99\1fr2011-05-23\1f40\1f00\1f6341_000000000000000_LES\1f9111\1fbCPL\1f10\1fo341 Les\1fd2011-05-23\1f70\1fcGEN\1f2ddc\1fyBK\1faCPL\1e  \1fw2011-05-23\1fp100\1fr2011-10-07\1f40\1f00\1f6341_000000000000000_LES\1f9112\1fbCPL\1f10\1fo341 Les\1fd2011-05-23\1f70\1fcGEN\1f2ddc\1fyBK\1fs2011-05-25\1fl1\1faCPL\1e  \1fw2011-05-23\1fp101\1fr2011-05-23\1f40\1f00\1f6341_000000000000000_LES\1f9113\1fbCPL\1f10\1fo341 Les\1fd2011-05-23\1f70\1fcGEN\1f2ddc\1fyBK\1faCPL\1e  \1fw2011-05-23\1fp102\1fr2011-05-23\1f40\1f00\1f6341_000000000000000_LES\1f9114\1fbCPL\1f10\1fo341 Les\1fd2011-05-23\1f70\1fcGEN\1f2ddc\1fyBK\1faCPL\1e  \1fw2011-05-23\1fp103\1fr2011-05-23\1f40\1f00\1f6341_000000000000000_LES\1f9115\1fbCPL\1f10\1fo341 Les\1fd2011-05-23\1f70\1fcGEN\1f2ddc\1fyBK\1faCPL\1e  \1fw2011-05-23\1fp104\1fr2011-05-23\1f40\1f00\1f6341_000000000000000_LES\1f9116\1fbCPL\1f10\1fo341 Les\1fd2011-05-23\1f70\1fcGEN\1f2ddc\1fyBK\1faCPL\1e  \1fw2011-05-23\1fp105\1fr2011-05-23\1f40\1f00\1f6341_000000000000000_LES\1f9117\1fbCPL\1f10\1fo341 Les\1fd2011-05-23\1f70\1fcGEN\1f2ddc\1fyBK\1faCPL\1e  \1fw2011-05-23\1fp106\1fr2011-05-23\1f40\1f00\1f6341_000000000000000_LES\1f9118\1fbCPL\1f10\1fo341 Les\1fd2011-05-23\1f70\1fcGEN\1f2ddc\1fyBK\1faCPL\1e  \1fw2011-05-23\1fp107\1fr2011-05-23\1f40\1f00\1f6341_000000000000000_LES\1f9119\1fbCPL\1f10\1fo341 Les\1fd2011-05-23\1f70\1fcGEN\1f2ddc\1fyBK\1faCPL\1e\1d03703cam a2200313 a 4500001000900000008004100009010001700050020001500067040000800082100004100090245013800131246005900269260020800328300002900536440004200565490001700607505228800624610005302912650007002965650005403035650005603089700002303145700003803168710005703206830003303263942000703296999001103303952007503314\1e14351290\1e060424s2004    bl a     b   s000 0 por d\1e  \1fa  2006338767\1e  \1fa8575261398\1e  \1faNYP\1e  \1fa20110611              frey50        \1e00\1faAfirmando direitos :\1fbacesso e permanência de jovens negros na universidade /\1fcNilma Lino Gomes, Aracy Alves Martins, organizadoras.\1e30\1faAcesso e permanência de jovens negros na universidade\1e  \1faBelo Horizonte, MG :\1fbAutêntica ;\1fa[Rio de Janeiro, Brazil] :\1fbUniversidade do Estado do Rio de Janeiro, Laboratório de Políticas Públicas, Programa Políticas da Cor na Educação Brasileira,\1fc2004.\1e  \1fa294 p. :\1fbill. ;\1fc21 cm.\1e 0\1faColeção Cultura negra e identidades\1e\1faSérie PPCor\1e\1faTempos de lutas e tempos de desafios :  a trajetória de um programa de permanência voltado para alunos e alunas negras da graduação da UFMG / Nilma Lino Gomes -- Redefinindo os termos do debate sobre a democratização da universidade : as experiências do Programa Políticas da Cor / Renato Emerson dos Santos -- Programa Ações Afirmativas na UFMG / Nilma Lino Gomes -- Políticas de Ação Afirmativa em benefício da população negra do Brasil : um ponto de vista em defesa de cotas / Kabengele Munanga -- Ações Afirmativas como base para uma aliança negro-branco-indígena contra a discriminação étnica e racial no Brasil / José Jorge de Carvalho -- Ações Afirmativas no Brasil / Luís Alberto Oliveira Gonçalves -- A experiência de ações afirmativas da PUC/Minas / Benilda Regina Paiva de Brito -- Geração XXI : o início das ações afirmativas em educação para jovens negros/as / Cidinha da Silva -- Brancos e negros no ensino superior / Delcele Mascarenhas Queiroz -- Metodologia de pesquisa entre tensões e conflitos da nossa história / Ana Maria Rabelo Gomes -- Primeira vice-diretora negra : depoimento para o livro do Programa Ações Afirmativas na UFMG / Antônia Vitória Soares Aranha -- Reflexões sobre identidade e discurso em oficinas culturais / Elânia de Oliveira, Natalino -- Da identidade às Identidades / Shirley de Jesus Ferreira -- A trajetória de uma bolsista negra em um programa de fortalecimento acadêmico / Shirley Pereira Raimundo -- Minha participação em um programa de permanência na universidade / Solange Maria da Silva -- Negros capazes contra a corrente / Tiago Gualberto Morais -- Programa Ações Afirmativas na UFMG : um espaço para a construção de negros universitários conscientes / Viviane Angélica Silva -- Construindo a profissão / Luciano César Alves de Deus -- Perseverar acima de tudo / Joseane Dias -- Trajetória estudantil : dificuldades étnico-raciais e escrita / Jovanira Lázaro Pereira -- Ações Afirmativas : as múltiplas contribuições de uma iniciativa / Maria Zenaide Alves -- Refletindo o passado, o presente e o futuro / Miriane Maciel -- Morre mais um neguinho / Rodrigo Ednilson de Jesus -- Programa Ações Afirmativas na UFMG : identidade e afirmação / Simone Meireles.\1e20\1faUniversidade Federal de Minas Gerais\1fxAdmission.\1e 0\1faAffirmative action programs in education\1fzBrazil\1fzBelo Horizonte.\1e 0\1faEducational equalization\1fzBrazil\1fzBelo Horizonte.\1e 0\1faBlacks\1fxEducation (Higher)\1fzBrazil\1fzBelo Horizonte.\1e\1faGomes, Nilma Lino.\1e\1faEvangelista, Aracy Alves Martins.\1e\1faPrograma Políticas da Cor na Educação Brasileira.\1e 0\1faColeção Políticas da cor.\1e  \1fcBK\1e  \1fc50\1fd50\1e  \1fw2011-06-11\1f70\1fr2011-06-11\1f40\1f2ddc\1f00\1f9120\1fbCPL\1fyBK\1f10\1fd2011-06-11\1faCPL\1e\1d00921nam a22002777a 4500005001700000008004100017020001800058041001300076082001000089100004100099245011400140260003300254300001800287500004300305500001700348650003900365650003500404650004400439700002700483700002900510700002700539700002800566700002600594942001200620999001100632\1e20120120101715.0\1e110714t        xxu||||| |||| 00| 0 eng d\1e  \1fa9788522421718\1e  \1fapor\1fheng\1e  \1fa658.5\1e  \1fa20110714              frey50        \1e\1faAdministração da produção /\1fcNigel Slack ... [et al.]; revisão técnica Henrique Corrêa, Irineu Gianesi\1e  \1faSão Paulo : \1fbAtlas, \1fc2010\1e  \1fa526 p. :\1fbil.\1e  \1faTítulo original: Operation management\1e  \1faEd. compacta\1e  \1faAdministração da produção\1f9139\1e  \1faProdução - planejamento\1f9140\1e  \1faQualidade total - administração \1f9141\1e  \1faChambers, Stuart.\1f9142\1e  \1faHarland, Christine.\1f9143\1e  \1faJohnston, Robert.\1f9144\1e  \1faCorrêa, Henrique.\1f9145\1e  \1faGianesi, Irineu.\1f9146\1e  \1f2ddc\1fcBK\1e  \1fc51\1fd51\1e\1d00995nam a2200265 a 4500005001700000008004100017020001500058020001800073040002000091041001300111082000800124100004100132245017100173250001400344260003100358300001100389500006200400650003800462650003700500650003500537650003300572942001200605999001100617952010100628\1e20120120101715.0\1e940114s1990    spba    r     000 0 por d\1e  \1fa8522405018\1e  \1fa9788522405015\1e  \1faBIBLIODATA\1fbpor\1e\1fapor\1fhfre\1e04\1fa658\1e  \1fa20110714              frey50        \1e10\1faAdministração industrial e geral :\1fbprevisão, organização, comando, coordenação, controle /\1fcHenri Fayol ; [tradução de Irene de Bojano e Mário de Souza]. -\1e  \1fa10. ed. -\1e  \1faSão Paulo :\1fbAtlas,\1fc2010\1e  \1fa138 p.\1e  \1faTítulo original: Administration Industrielle et Generale\1e 4\1faAdministração de empresas.\1f9148\1e 4\1faAdministração de pessoal.\1f9149\1e 4\1faOrganização industrial.\1f9150\1e 4\1faEficiência industrial.\1f9151\1e  \1f2ddc\1fcBK\1e  \1fc52\1fd52\1e  \1fw2011-11-11\1fr2011-11-11\1f40\1f00\1f6658_000000000000000\1f9121\1fbCPL\1f10\1fo658\1fd2011-11-11\1f70\1f2ddc\1fyBK\1faCPL\1e\1d02769nas a2200901 a 4500001001000000008004100010022001400051080000700065080000700072080000700079080000900086080001100095080001000106082000800116082000800124082000800132082000800140082000800148082000800156082000800164082000800172082000800180130005500188100004100243245004500284260002400329776001400353850001000367850001300377850001600390850001500406850001900421850002000440850001800460850001800478850001900496850001900515850002000534850002100554850002200575850002200597850002400619850002400643850002400667850002200691850002300713850002700736850002700763850002900790850002500819850002800844850003300872850002600905850002900931850002900960850003000989850003001019850002701049850003501076850003101111850003101142850002901173850003201202850003501234850003301269850003301302850003501335850003401370850003701404850003401441850004001475850004101515850004201556942001001598999001101608952012401619952012401743\1e872113310\1e                       r           eng  \1e  \1fa0163-7053\1eua\1fa05\1e\1fa05\1e\1fa05\1etb\1fa(05)\1e\1fa05(73)\1euk\1fa0(05)\1eux\1fa300\1eug\1fa050\1eur\1fa051\1euv\1fa052\1euk\1fa050\1eup\1fa300\1exd\1fa050\1ekj\1fa052\1exj\1fa050\1e  \1faNewsweek\1fqInternational, Atlantic ed. : trykt utg.\1e  \1fa20110716              frey50        \1e  \1faNewsweek\1fbthe international newsmagazine\1e  \1faNew York\1fbNewsweek.\1e  \1fw031325181\1e  \1fbNOBEL\1e  \1faHIH\1fbHIH\1e  \1faHIT\1fbB� T\1e  \1faUBB\1fbUBBPS\1e  \1faH�L\1fbH�L t\1e  \1faUBT�\1fbUBT/TMU\1e  \1faNLA\1fbNLA/Sand\1e  \1faHIB\1fbHiB/LAND\1e  \1faUBIT\1fbGUNNERUS\1e  \1faHIST\1fbHIST/ATI\1e  \1faNFR\1fbNFR T\1fcNew\1e  \1faMH\1fbMH Tids\1fcNew\1e  \1faNHHB\1fbNHHB t\1fcNew\1e  \1faHIBU\1fbHIBU/KBG\1fcT\1e  \1faHIG\1fbHIG Tidssk GEN\1e  \1faHVE\1fbHIVE TIDS\1fcNew\1e  \1faFHS\1fbFHS Tidsskrift\1e  \1faBI\1fbBI Tidsskrift\1e  \1faUHS\1fbUHS\1fcTids New\1e  \1faHVO\1fbHVO Tidsskr.\1fcNew\1e  \1faUBB\1fbUBBHF Mag qZ\1fcNew\1e  \1faUBT�\1fbUBT/KS tids\1fcNew\1e  \1faUHS\1fbUHS/SOPH\1fcZ New\1e  \1faUBMB\1fbUBMB/NORAG\1fcZ NEW\1e  \1faHI�\1fbHI�/fred Tidsskrift\1e  \1faHINT\1fbHINT/LEV t\1fcNew\1e  \1faHIST\1fbHIST/HS tidsskrift\1e  \1faFIDEP\1fbFIDEP\1fcTidsskrift\1e  \1faUBIT\1fbTEK t-saml\1fc051 N47\1e  \1faHBO\1fbUBIN\1fctidsskrift New\1e  \1faBI\1fbBITHEIM Tidsskrift\1e  \1faHI�\1fbHI�/hald TidsBIB\1fcNew\1e  \1faHIM\1fbHiMolde tids SAM\1fcNew\1e  \1faUBIS\1fbUBIS TidsskrGEN\1fcNEW\1e  \1faUHS\1fbUHS Mag312\1fcqBZ New\1e  \1faHIF\1fbHIF/ALTA tids\1fcallment\1e  \1faUBT�\1fbUBT/IS Tidsskrift\1fcNew\1e  \1faUBA\1fbUBA/KRIS Tids Avis\1fcNew\1e  \1faHIO\1fbHIO/P35 Tidsskrift\1fcNEW\1e  \1faUBT�\1fbUBT/LU Tidsskrift\1fcNew\1e  \1faHHE\1fbHH/Rena Tidsskrift\1fcRekr\1e  \1faHIST\1fbHIST/T�H tidsskrift\1fcNEW\1e  \1faPOLITIHS\1fbPOLITIHS Tidsskrift\1e  \1faUBIT\1fbDRAGVOLL Tidsskr\1fcAllment New\1e  \1faHIN\1fbHIN tidsskrift\1fcSport og fritid\1e  \1faHHE\1fbHH/Hamar Tidsskrift\1fcSamfunnsfag\1e  \1fcCR\1fs1\1e  \1fc53\1fd53\1e  \1fw2011-07-16\1fr2011-07-16\1f40\1f00\1f6300_000000000000000\1f9122\1fbCPL\1f10\1fo300\1fd2011-07-16\1ft1\1f70\1fhVol 123, No 1\1fcGEN\1f2ddc\1fyCR\1faCPL\1e  \1fw2011-07-16\1fr2011-07-16\1f40\1f00\1f6300_000000000000000\1f9123\1fbCPL\1f10\1fo300\1fd2011-07-16\1ft1\1f70\1fhVol 123, No 2\1fcGEN\1f2ddc\1fyCR\1faCPL\1e\1d01013cam a2200301 a 4500001000900000008004100009010001700050020001800067020001500085040000800100100004100108245009700149246004500246250001100291260003800302300003100340490002500371500002000396650003100416650002900447650003600476700003600512700003300548830002600581942000700607999001100614952008600625\1e15578892\1e090108s2008    pe c          000 j spa c\1e  \1fa  2008465446\1e  \1fa9789872426101\1e  \1fa9872426104\1e  \1faCOD\1e  \1fa20110721              frey50        \1e00\1fa17 fantásticos cuentos peruanos /\1fcGabriel Rimachi Sialer, Carlos M. Sotomayor [compilers].\1e30\1faDiecisiete fantásticos cuentos peruanos\1e  \1fa1. ed.\1e  \1faLima, Perú :\1fbCasatomada,\1fc2008.\1e  \1fa224 p. :\1fbports. ;\1fc21 cm.\1e\1faCasatomada narrativa\1e  \1fa"Antología .1"\1e 0\1faFantasy fiction, Peruvian.\1e 0\1faShort stories, Peruvian.\1e 0\1faPeruvian fiction\1fy20th century.\1e\1faRimachi Sialer, Gabriel,\1fd1974-\1e\1faSotomayor, Carlos M.,\1fd1975-\1e 0\1faCasatomada narrativa.\1e  \1fcBK\1e  \1fc54\1fd54\1e  \1fw2011-07-21\1fp000023234\1fr2011-07-21\1f40\1f00\1f9124\1fbCPL\1f10\1fd2011-07-21\1f70\1f2ddc\1fyBK\1faCPL\1e\1d00523nam a22001572  4500008004100000020001800041100004000059245011100099250001300210260003400223300001800257500002400275650004800299942000700347999001100354\1e110726t        xxu||||| |||| 00| 0 eng d\1e  \1fa9788571948945\1e  \1fa20110726              frey50       \1e10\1faCNC :\1fbprogramação de comandos numéricos computadorizados : torneamento /\1fcSidnei Domingues da Silva. -\1e  \1fa8. ed. -\1e  \1faSão Paulo :\1fbÉrica, \1fc2008.\1e  \1fa308 p. :\1fbil.\1e  \1fa4. reimpr. de 2010.\1e 4\1faMáquinas-ferramenta\1fxcontrole automático.\1e  \1fcBK\1e  \1fc55\1fd55\1e\1d00890nam a2200241 a 4500001001000000008004100010020001500051082001200066100004100078245011200119260002600231300001500257700001700272700002100289850002200310850002800332850002900360850003100389942000700420999001100427952010500438952010500543\1e981212328\1e                       r           eng  \1e  \1fa9041105468\1evq\1fa325.481\1e  \1fa20110802              frey50        \1e  \1faDetention of asylum seekers in Europe\1fbanalysis and perspectives\1fcedited by Jane Hughes and Fabrice Liebaut\1e  \1faHague\1fbNijhoff\1fcc1998\1e  \1faXV, 332 s.\1e  \1faHughes, Jane\1e  \1faLiebaut, Fabrice\1e  \1fbNOBEL\1fc341.44 D48\1e  \1faKRUS\1fbKRUS\1fc325.481 Hug\1e  \1faUJUR\1fbUJUR/IOR\1fc1203 Det\1e  \1faUBT�\1fbUBT/PJ\1fcL 1203 Det\1e  \1fcMP\1e  \1fc56\1fd56\1e  \1fw2011-08-02\1fr2011-08-02\1f40\1f01\1f6325_481000000000000\1f9125\1fbCPL\1f14\1fo325.481\1fd2011-08-02\1f70\1f2ddc\1fyMP\1faCPL\1e  \1fw2011-08-02\1fr2011-08-02\1f40\1f00\1f6325_481000000000000\1f9126\1fbCPL\1f10\1fo325.481\1fd2011-08-02\1f70\1f2ddc\1fyMP\1faCPL\1e\1d00733nas a2200253   4500001001300000989001800013008004100031020001500072040002200087041001300109100003100122245008300153260003200236300002600268440002200294700003100316920002700347995000700374923001200381980001800393990004300411942001400454999001100468\1ewp2004004749\1e  \1fa050101/000100\1e040102                                  \1e  \1fa8324119027\1e  \1faWA M\1fcWA M\1fdmgbpk\1e\1fapol\1fheng\1e\1faSteel, Danielle\1fd(1948- ).\1e00\1faBezpieczna przystań /\1fcDanielle Steel ; przekł. [z ang.] Alicja Skarbińska.\1e  \1faWarszawa :\1fb"Amber",\1fc2004.\1e  \1fa214, [2] s. ;\1fc21 cm.\1e 0\1faWszystko dla Pań\1e\1faSkarbińska, Alicja.\1feTł.\1e  \1fa83-241-1902-7 :\1fc25,33\1e  \1fkML\1e  \1fn880/ŚG\1e  \1fa821.111(73)-3\1e  \1fa821.111(73)-3\1fcPowieść amerykańska.\1e  \1f2ddc\1fcBOOK\1e  \1fc59\1fd59\1e\1d00602nas a2200229   4500001001400000989001800014008004100032020001500073040002200088041000800110100001900118245004300137260004400180300002600224920002700250995000700277923001200284980001600296990003500312942001400347999001100361\1e030511/000103\1e  \1fa030511/000103\1e030103                                  \1e  \1fa8373373594\1e  \1faWA M\1fcWA M\1fdmgbpk\1e\1fapol\1e\1faSowa, Izabela.\1e00\1faHerbatniki z jagodami /\1fcIzabela Sowa.\1e  \1faWarszawa :\1fbPrószyński i S-ka,\1fc2003.\1e  \1fa222, [1] s. ;\1fc21 cm.\1e  \1fa83-7337-359-4 :\1fc22,10\1e  \1fkML\1e  \1fn875/ŚG\1e  \1fa821.162.1-3\1e  \1fa821.162.1-3\1fcPowieść polska.\1e  \1f2ddc\1fcBOOK\1e  \1fc60\1fd60\1e\1d00621nas a2200241   4500001001400000008004100014020001500055040002200070041000800092044000700100100001900107245004300126260004400169300002600213920002700239995000700266923001200273980001600285989001800301990003500319942001400354999001100368\1e020204/000073\1e020128                                  \1e  \1fa8372559732\1e  \1faWA M\1fcWA M\1fdmgbpk\1e\1fapol\1e  \1faPL\1e\1faSowa, Izabela.\1e00\1faSmak świeżych malin /\1fcIzabela Sowa.\1e  \1faWarszawa :\1fbPrószyński i S-ka,\1fc2002.\1e  \1fa188, [1] s. ;\1fc21 cm.\1e  \1fa83-7255-973-2 :\1fc20,40\1e  \1fkML\1e  \1fn876/ŚG\1e  \1fa821.162.1-3\1e  \1fa020204/000073\1e  \1fa821.162.1-3\1fcPowieść polska.\1e  \1f2ddc\1fcBOOK\1e  \1fc61\1fd61\1e\1d00685nas a2200229   4500001001400000008004100014020001500055040002200070100003200092245007800124260004300202300002600245700003400271920002700305995000700332923001200339980001800351989001800369990004300387942001400430999001100444\1e011122/000095\1e011105                                  \1e  \1fa8373116702\1e  \1faWA M\1fcWA M\1fdmgbpk\1e\1faSparks, Nicholas\1fd(1965- ).\1e00\1faList w butelce /\1fcNicholas Sparks ; z ang. przeł. Małgorzata Samborska.\1e  \1faWarszawa :\1fb"Świat Książki",\1fc2003.\1e  \1fa285, [1] s. ;\1fc20 cm.\1e\1faSamborska, Małgorzata.\1feTł.\1e  \1fa83-7311-670-2 :\1fc16,92\1e  \1fkML\1e  \1fn878/ŚG\1e  \1fa821.111(73)-3\1e  \1fa011122/000095\1e  \1fa821.111(73)-3\1fcPowieść amerykańska.\1e  \1f2ddc\1fcBOOK\1e  \1fc62\1fd62\1e\1d00775nas a2200265   4500001001300000989001800013008004100031020001500072040002200087041001300109100003200122245008000154260003200234300002600266490002800292700003700320830002800357920002700385995000700412923001200419980001600431990003700447942001400484999001100498\1ewp2004001961\1e  \1fa040612/000140\1e040102                                  \1e  \1fa8324116087\1e  \1faWA M\1fcWA M\1fdmgbpk\1e\1fapol\1fhrus\1e\1faStrugacki, Borys\1fd(1933- ).\1e00\1faBezsilni tego świata /\1fcBorys Strugacki ; przekł. [ z ros.] Ewa Skórska.\1e  \1faWarszawa :\1fb"Amber",\1fc2004.\1e  \1fa238, [2] s. ;\1fc20 cm.\1e\1faMistrzowie SF i Fantasy\1e\1faSkórska, Ewa\1fc(tłumacz).\1feTł.\1e 0\1faMistrzowie SF & Fantasy\1e  \1fa83-241-1608-7 :\1fc25,33\1e  \1fkML\1e  \1fn886/ŚG\1e  \1fa821.161.1-3\1e  \1fa821.161.1-3\1fcPowieść rosyjska.\1e  \1f2ddc\1fcBOOK\1e  \1fc63\1fd63\1e\1d00696nas a2200241   4500001001400000008004100014020001500055040002200070100003100092245007900123260004400202300002600246440001800272700003900290920002700329995000700356923001200363980001800375989001800393990001800411942001400429999001100443\1e990918/000191\1e990827                                  \1e  \1fa8324119795\1e  \1faWA M\1fcWA M\1fdmgbpk\1e\1faSheldon, Sidney\1fd(1917- ).\1e00\1faRanek, południe, noc /\1fcSidney Sheldon ; przeł. [z ang.] Danuta Górska.\1e  \1faWarszawa :\1fbPrószyński i S-ka,\1fc2005.\1e  \1fa222, [2] s. ;\1fc21 cm.\1e 0\1faSrebrna Seria\1e\1faGórska, Danuta\1fc(tłumacz).\1feTł.\1e  \1fa83-241-1979-5 :\1fc25,33\1e  \1fkML\1e  \1fn868/ŚG\1e  \1fa821.111(73)-3\1e  \1fa990918/000191\1e  \1fa821.111(73)-3\1e  \1f2ddc\1fcBOOK\1e  \1fc64\1fd64\1e\1d00570nas a2200217   4500001001400000008004100014020001500055040002200070245003900092250003500131260003000166300002600196920002700222995000700249923001200256100002700268980001600295990001600311942001400327999001100341\1e991020/000139\1e990927                                  \1e  \1fa8386944388\1e  \1faWA M\1fcWA M\1fdmgbpk\1e00\1faPoczątek /\1fcAndrzej Szczypiorski.\1e  \1faWyd. 12 wyd. polskie (dodruk).\1e  \1faPoznań :\1fb"Sens",\1fc2004.\1e  \1fa297, [2] s. ;\1fc20 cm.\1e  \1fa83-86944-38-8 :\1fc24,65\1e  \1fkML\1e  \1fn890/ŚG\1e\1faSzczypiorski, Andrzej.\1e  \1fa821.162.1-3\1e  \1fa821.162.1-3\1e  \1f2ddc\1fcBOOK\1e  \1fc65\1fd65\1e\1d00764nas a2200253   4500001001300000989001800013008004100031020001500072040002200087041000800109245010100117260004100218300002600259700003600285700003100321920002700352995000700379923001200386980001600398990003800414990003300452942001400485999001100499\1ewp2004001618\1e  \1fa040511/000101\1e040102                                  \1e  \1fa8308035647\1e  \1faWA M\1fcWA M\1fdmgbpk\1e\1fapol\1e00\1faPL+50 :\1fbhistorie przyszłości /\1fcwybór i wstęp Jacek Dukaj ; [aut. Zygmunt] Bauman [et al.].\1e  \1faKraków :\1fbWydaw. Literackie,\1fc2004.\1e  \1fa557, [2] s. ;\1fc21 cm.\1e\1faDukaj, Jacek\1fd(1974- ).\1feWybór\1e\1faBauman, Zygmunt\1fd(1925- ).\1e  \1fa83-08-03564-7 :\1fc28,90\1e  \1fkML\1e  \1fn837/ŚG\1e  \1fa821.162.1-3\1e  \1fa821.162.1-3\1fcOpowiadanie polskie.\1e  \1fa821.162.1-4\1fcSzkice polskie.\1e  \1f2ddc\1fcBOOK\1e  \1fc66\1fd66\1e\1d00613nas a2200229   4500001001100000989001800011008004100029020001500070040002200085041000800107100002800115245005300143260004100196300002600237920002700263995000700290923001200297980001600309990003300325942001400358999001100372\1ewp03020880\1e  \1fa031020/000182\1e030103                                  \1e  \1fa8308034578\1e  \1faWA M\1fcWA M\1fdmgbpk\1e\1fapol\1e\1faPilch, Jerzy\1fd(1952- ).\1e00\1faRozpacz z powodu utraty furmanki /\1fcJerzy Pilch.\1e  \1faKraków :\1fbWydaw. Literackie,\1fc2003.\1e  \1fa276, [3] s. ;\1fc21 cm.\1e  \1fa83-08-03457-8 :\1fc25,42\1e  \1fkML\1e  \1fn836/ŚG\1e  \1fa821.162.1-4\1e  \1fa821.162.1-4\1fcSzkice polskie.\1e  \1f2ddc\1fcBOOK\1e  \1fc67\1fd67\1e\1d00632nas a2200241   4500001001400000989001800014008004100032020001500073040002200088041000800110100003400118245003000152250001900182260004100201300002600242920002700268995000700295923001200302980001600314990003500330942001400365999001100379\1e030305/000073\1e  \1fa030305/000073\1e030103                                  \1e  \1fa8308033555\1e  \1faWA M\1fcWA M\1fdmgbpk\1e\1fapol\1e\1faTerakowska, Dorota\1fd(1938- ).\1e00\1faOno /\1fcDorota Terakowska.\1e  \1faWyd. 1 dodruk.\1e  \1faKraków :\1fbWydaw. Literackie,\1fc2005.\1e  \1fa470, [2] s. ;\1fc21 cm.\1e  \1fa83-08-03355-5 :\1fc25,42\1e  \1fkML\1e  \1fn904/ŚG\1e  \1fa821.162.1-3\1e  \1fa821.162.1-3\1fcPowieść polska.\1e  \1f2ddc\1fcBOOK\1e  \1fc68\1fd68\1e\1d00637nas a2200229   4500001001400000008004100014020001500055040002200070041000800092100003400100245004300134260004100177300002600218920002700244995000700271923001200278980002300290989001800313990005100331942001400382999001100396\1e030612/000182\1e030103                                  \1e  \1fa8308033075\1e  \1faWA M\1fcWA M\1fdmgbpk\1e\1fapol\1e\1faTerakowska, Dorota\1fd(1938- ).\1e00\1faCórka Czarownic /\1fcDorota Terakowska.\1e  \1faKraków :\1fbWydaw. Literackie,\1fc2004.\1e  \1fa358, [1] s. ;\1fc21 cm.\1e  \1fa83-08-03307-5 :\1fc25,50\1e  \1fkML\1e  \1fn903/ŚG\1e  \1fa821.162.1-3\1fbBD IV\1e  \1fa030612/000182\1e  \1fa821.162.1-93\1fcLiteratura młodzieżowa polska.\1e  \1f2ddc\1fcBOOK\1e  \1fc69\1fd69\1e\1d00669nas a2200253   4500001001300000989001800013008004100031020001500072040002200087041000800109100002000117245004600137260004600183300002600229490002000255830001800275920002700293995000700320923001200327980001600339990003500355942001400390999001100404\1ewp2005000631\1e  \1fa050306/000087\1e050120                                  \1e  \1fa8373379452\1e  \1faWA M\1fcWA M\1fdmgbpk\1e\1fapol\1e\1faSzwaja, Monika.\1e00\1faStateczna i postrzelona /\1fcMonika Szwaja.\1e  \1faWarszawa :\1fbPrószyński i S-ka,\1fc[2005].\1e  \1fa421, [1] s. ;\1fc21 cm.\1e\1fa[Owocowa Seria]\1e 0\1faOwocowa Seria\1e  \1fa83-7337-945-2 :\1fc22,10\1e  \1fkML\1e  \1fn899/ŚG\1e  \1fa821.162.1-3\1e  \1fa821.162.1-3\1fcPowieść polska.\1e  \1f2ddc\1fcBOOK\1e  \1fc70\1fd70\1e\1d01080nas a2200313   4500001001400000008004100014020001500055040002200070041000800092044000700100100004000107245017200147250001800319260003000337300007700367700003100444700002100475700003800496920002700534995000700561923001200568980001800580989001800598990004500616990003400661990004600695942001400741999001100755\1e020918/000159\1e020729                                  \1e  \1fa8324000216\1e  \1faWA M\1fcWA M\1fdmgbpk\1e\1fapol\1e  \1faPL\1e\1faSzpilman, Władysław\1fd(1911-2000).\1e00\1faPianista :\1fbwarszawskie wspomnienia 1939-1945 /\1fcWładysław Szpilman ; wstęp i oprac. Andrzej Szpilman ; fragmenty pamiętnika Wilm Hosenfeld ; posł. Wolf Biermann.\1e  \1faWyd. 1, dodr.\1e  \1faKraków :\1fb"Znak",\1fc2003.\1e  \1fa212, [4] s., [28] s. tabl. :\1fbfot. (w tym kolor.), portr., pl. ;\1fc21 cm.\1e\1faSzpilman, Andrzej.\1feOprac.\1e\1faHosenfeld, Wilm.\1e\1faBiermann, Wolf\1fd(1936- ).\1fePosł.\1e  \1fa83-240-0021-6 :\1fc30,60\1e  \1fkML\1e  \1fn898/ŚG\1e  \1fa94(438).082.2\1e  \1fa020918/000159\1e  \1fa94(438).082.2\1fcPolska-okupacja-historia.\1e  \1fa94(=411.16)\1fcŻydzi-historia.\1e  \1fa929 Szpilman W.\1fcSzpilman W.-pamiętniki.\1e  \1f2ddc\1fcBOOK\1e  \1fc71\1fd71\1e\1d00551nas a2200193   4500040001700000008004100017020001500058920001800073995000700091923001200098100003600110245004200146260005200188300002600240980002200266990004400288942001400332999001100346\1e  \1famgbpk\1fcmgbpk\1e050505P        pol                      \1e  \1fa8373898131\1e  \1fa83-7389-813-1\1e  \1fkBC\1e  \1fn823/ŚG\1e\1faOżogowska, Hanna\1fd(1904-1995).\1e00\1faUcho od śledzia /\1fcHanna Ożogowska.\1e  \1faKraków :\1fbWydawnictwo "Zielona Sowa",\1fc[2005].\1e  \1fa207, [1] s. ;\1fc21 cm.\1e  \1fa821.162.1-93\1fbIII\1e  \1fa82-93\1fcLiteratura młodzieżowa polska.\1e  \1f2ddc\1fcBOOK\1e  \1fc72\1fd72\1e\1d00616nas a2200205   4500008004100000020001500041040002200056100003600078245005500114260005200169300002600221490003500247920001800282995000700300923001200307980002200319990004400341942001400385999001100399\1e000127                                  \1e  \1fa8387463337\1e  \1faWA M\1fcWA M\1fdMGBPK\1e\1faOżogowska, Hanna\1fd(1904-1995).\1e00\1faZa minutę pierwsza miłość /\1fcHanna Ożogowska.\1e  \1faŁódź :\1fbWydawnictwo "Akapit Press",\1fc[2004].\1e  \1fa168, [1] s. ;\1fc21 cm.\1e\1faLektura Szkolna / Akapit Press\1e  \1fa83-87463-33-7\1e  \1fkBC\1e  \1fn826/ŚG\1e  \1fa821.162.1-93\1fbIII\1e  \1fa82-93\1fcLiteratura młodzieżowa polska.\1e  \1f2ddc\1fcBOOK\1e  \1fc73\1fd73\1e\1d00616nas a2200205   4500008004100000020001500041040002200056100003600078245005500114260005200169300002600221490003500247920001800282995000700300923001200307980002200319990004400341942001400385999001100399\1e000127                                  \1e  \1fa8387463337\1e  \1faWA M\1fcWA M\1fdMGBPK\1e\1faOżogowska, Hanna\1fd(1904-1995).\1e00\1faZa minutę pierwsza miłość /\1fcHanna Ożogowska.\1e  \1faŁódź :\1fbWydawnictwo "Akapit Press",\1fc[2004].\1e  \1fa168, [1] s. ;\1fc21 cm.\1e\1faLektura Szkolna / Akapit Press\1e  \1fa83-87463-33-7\1e  \1fkBC\1e  \1fn825/ŚG\1e  \1fa821.162.1-93\1fbIII\1e  \1fa82-93\1fcLiteratura młodzieżowa polska.\1e  \1f2ddc\1fcBOOK\1e  \1fc74\1fd74\1e\1d00663nas a2200217   4500008004100000020001500041040002200056100003600078245005500114260005200169300002600221490003500247830003500282920001800317995000700335923001200342980002200354990004400376942001400420999001100434\1e000127                                  \1e  \1fa8387463337\1e  \1faWA M\1fcWA M\1fdMGBPK\1e\1faOżogowska, Hanna\1fd(1904-1995).\1e00\1faZa minutę pierwsza miłość /\1fcHanna Ożogowska.\1e  \1faŁódź :\1fbWydawnictwo "Akapit Press",\1fc[2004].\1e  \1fa168, [1] s. ;\1fc21 cm.\1e\1faLektura Szkolna / Akapit Press\1e 0\1faLektura Szkolna - Akapit Press\1e  \1fa83-87463-33-7\1e  \1fkBC\1e  \1fn824/ŚG\1e  \1fa821.162.1-93\1fbIII\1e  \1fa82-93\1fcLiteratura młodzieżowa polska.\1e  \1f2ddc\1fcBOOK\1e  \1fc75\1fd75\1e\1d00657nas a2200217   4500008004100000020001500041040002200056100003500078245007500113250001200188260004800200300003900248700002900287920001800316995000700334923001200341980002000353990004100373942001400414999001100428\1e020715                                  \1e  \1fa8389409259\1e  \1faWA M\1fcWA M\1fdMGBPK\1e\1faPapuzińska, Joanna\1fd(1939- ).\1e00\1faNasza mama czarodziejka /\1fcJoanna Papuzińska ; il. Aneta Krella-Moch.\1e  \1faWyd. 5.\1e  \1faŁódź :\1fbWydawnictwo "Literatura",\1fc2004.\1e  \1fa30, [2] s. :\1fbil. kolor. ;\1fc20 cm.\1e\1faKrella-Moch, Aneta.\1feIl.\1e  \1fa83-89409-25-9\1e  \1fkBC\1e  \1fn831/ŚG\1e  \1fa821.162.1-93\1fbI\1e  \1fa82-93\1fcLiteratura dziecięca polska.\1e  \1f2ddc\1fcBOOK\1e  \1fc76\1fd76\1e\1d00657nas a2200217   4500008004100000020001500041040002200056100003500078245007500113250001200188260004800200300003900248700002900287920001800316995000700334923001200341980002000353990004100373942001400414999001100428\1e020715                                  \1e  \1fa8389409259\1e  \1faWA M\1fcWA M\1fdMGBPK\1e\1faPapuzińska, Joanna\1fd(1939- ).\1e00\1faNasza mama czarodziejka /\1fcJoanna Papuzińska ; il. Aneta Krella-Moch.\1e  \1faWyd. 5.\1e  \1faŁódź :\1fbWydawnictwo "Literatura",\1fc2004.\1e  \1fa30, [2] s. :\1fbil. kolor. ;\1fc20 cm.\1e\1faKrella-Moch, Aneta.\1feIl.\1e  \1fa83-89409-25-9\1e  \1fkBC\1e  \1fn830/ŚG\1e  \1fa821.162.1-93\1fbI\1e  \1fa82-93\1fcLiteratura dziecięca polska.\1e  \1f2ddc\1fcBOOK\1e  \1fc77\1fd77\1e\1d00657nas a2200217   4500008004100000020001500041040002200056100003500078245007500113250001200188260004800200300003900248700002900287920001800316995000700334923001200341980002000353990004100373942001400414999001100428\1e020715                                  \1e  \1fa8389409259\1e  \1faWA M\1fcWA M\1fdMGBPK\1e\1faPapuzińska, Joanna\1fd(1939- ).\1e00\1faNasza mama czarodziejka /\1fcJoanna Papuzińska ; il. Aneta Krella-Moch.\1e  \1faWyd. 5.\1e  \1faŁódź :\1fbWydawnictwo "Literatura",\1fc2004.\1e  \1fa30, [2] s. :\1fbil. kolor. ;\1fc20 cm.\1e\1faKrella-Moch, Aneta.\1feIl.\1e  \1fa83-89409-25-9\1e  \1fkBC\1e  \1fn829/ŚG\1e  \1fa821.162.1-93\1fbI\1e  \1fa82-93\1fcLiteratura dziecięca polska.\1e  \1f2ddc\1fcBOOK\1e  \1fc78\1fd78\1e\1d00657nas a2200217   4500008004100000020001500041040002200056100003500078245007500113250001200188260004800200300003900248700002900287920001800316995000700334923001200341980002000353990004100373942001400414999001100428\1e020715                                  \1e  \1fa8389409259\1e  \1faWA M\1fcWA M\1fdMGBPK\1e\1faPapuzińska, Joanna\1fd(1939- ).\1e00\1faNasza mama czarodziejka /\1fcJoanna Papuzińska ; il. Aneta Krella-Moch.\1e  \1faWyd. 5.\1e  \1faŁódź :\1fbWydawnictwo "Literatura",\1fc2004.\1e  \1fa30, [2] s. :\1fbil. kolor. ;\1fc20 cm.\1e\1faKrella-Moch, Aneta.\1feIl.\1e  \1fa83-89409-25-9\1e  \1fkBC\1e  \1fn828/ŚG\1e  \1fa821.162.1-93\1fbI\1e  \1fa82-93\1fcLiteratura dziecięca polska.\1e  \1f2ddc\1fcBOOK\1e  \1fc79\1fd79\1e\1d00766nas a2200253   4500008004100000020001500041040002200056041000800078044000700086100003500093245007500128250001200203260004800215300003900263521005800302700002900360920001800389995000700407923001200414980002000426990004100446942001400487999001100501\1e020715                                  \1e  \1fa8389409259\1e  \1faWA M\1fcWA M\1fdMGBPK\1e\1fapol\1e  \1faPL\1e\1faPapuzińska, Joanna\1fd(1939- ).\1e00\1faNasza mama czarodziejka /\1fcJoanna Papuzińska ; il. Aneta Krella-Moch.\1e  \1faWyd. 5.\1e  \1faŁódź :\1fbWydawnictwo "Literatura",\1fc2004.\1e  \1fa30, [2] s. :\1fbil. kolor. ;\1fc20 cm.\1e\1faLektura obowiązkowa dla klasy I szkoły podstawowej.\1e\1faKrella-Moch, Aneta.\1feIl.\1e  \1fa83-89409-25-9\1e  \1fkBC\1e  \1fn827/ŚG\1e  \1fa821.162.1-93\1fbI\1e  \1fa82-93\1fcLiteratura dziecięca polska.\1e  \1f2ddc\1fcBOOK\1e  \1fc80\1fd80\1e\1d00703nas a2200217   4500008004100000020001500041040002200056100003800078245007200116260005000188300002900238490006400267700003100331920001800362995000700380923001200387980002000399990004100419942001400460999001100474\1e050120                                  \1e  \1fa8371626061\1e  \1faWA M\1fcWA M\1fdMGBPK\1e\1faPorazińska, Janina\1fd(1888-1971).\1e00\1faPsotki i Śmieszki /\1fcJanina Porazińska ; il. Jarosław Żukowski.\1e  \1faWrocław :\1fbWydawnictwo "Siedmioróg",\1fc2005.\1e  \1fa[39] s. :\1fbil. ;\1fc21 cm.\1e\1faPolska Literatura dla Dzieci : biblioteka pierwszych lektur\1e\1faŻukowski, Jarosław.\1feIl.\1e  \1fa83-7162-606-1\1e  \1fkBC\1e  \1fn842/ŚG\1e  \1fa821.162.1-93\1fbI\1e  \1fa82-93\1fcLiteratura dziecięca polska.\1e  \1f2ddc\1fcBOOK\1e  \1fc81\1fd81\1e\1d00703nas a2200217   4500008004100000020001500041040002200056100003800078245007200116260005000188300002900238490006400267700003100331920001800362995000700380923001200387980002000399990004100419942001400460999001100474\1e050120                                  \1e  \1fa8371626061\1e  \1faWA M\1fcWA M\1fdMGBPK\1e\1faPorazińska, Janina\1fd(1888-1971).\1e00\1faPsotki i Śmieszki /\1fcJanina Porazińska ; il. Jarosław Żukowski.\1e  \1faWrocław :\1fbWydawnictwo "Siedmioróg",\1fc2005.\1e  \1fa[39] s. :\1fbil. ;\1fc21 cm.\1e\1faPolska Literatura dla Dzieci : biblioteka pierwszych lektur\1e\1faŻukowski, Jarosław.\1feIl.\1e  \1fa83-7162-606-1\1e  \1fkBC\1e  \1fn841/ŚG\1e  \1fa821.162.1-93\1fbI\1e  \1fa82-93\1fcLiteratura dziecięca polska.\1e  \1f2ddc\1fcBOOK\1e  \1fc82\1fd82\1e\1d00703nas a2200217   4500008004100000020001500041040002200056100003800078245007200116260005000188300002900238490006400267700003100331920001800362995000700380923001200387980002000399990004100419942001400460999001100474\1e050120                                  \1e  \1fa8371626061\1e  \1faWA M\1fcWA M\1fdMGBPK\1e\1faPorazińska, Janina\1fd(1888-1971).\1e00\1faPsotki i Śmieszki /\1fcJanina Porazińska ; il. Jarosław Żukowski.\1e  \1faWrocław :\1fbWydawnictwo "Siedmioróg",\1fc2005.\1e  \1fa[39] s. :\1fbil. ;\1fc21 cm.\1e\1faPolska Literatura dla Dzieci : biblioteka pierwszych lektur\1e\1faŻukowski, Jarosław.\1feIl.\1e  \1fa83-7162-606-1\1e  \1fkBC\1e  \1fn840/ŚG\1e  \1fa821.162.1-93\1fbI\1e  \1fa82-93\1fcLiteratura dziecięca polska.\1e  \1f2ddc\1fcBOOK\1e  \1fc83\1fd83\1e\1d00703nas a2200217   4500008004100000020001500041040002200056100003800078245007200116260005000188300002900238490006400267700003100331920001800362995000700380923001200387980002000399990004100419942001400460999001100474\1e050120                                  \1e  \1fa8371626061\1e  \1faWA M\1fcWA M\1fdMGBPK\1e\1faPorazińska, Janina\1fd(1888-1971).\1e00\1faPsotki i Śmieszki /\1fcJanina Porazińska ; il. Jarosław Żukowski.\1e  \1faWrocław :\1fbWydawnictwo "Siedmioróg",\1fc2005.\1e  \1fa[39] s. :\1fbil. ;\1fc21 cm.\1e\1faPolska Literatura dla Dzieci : biblioteka pierwszych lektur\1e\1faŻukowski, Jarosław.\1feIl.\1e  \1fa83-7162-606-1\1e  \1fkBC\1e  \1fn839/ŚG\1e  \1fa821.162.1-93\1fbI\1e  \1fa82-93\1fcLiteratura dziecięca polska.\1e  \1f2ddc\1fcBOOK\1e  \1fc84\1fd84\1e\1d00805nas a2200253   4500008004100000020001500041040002200056041000800078100003800086245007200124260005000196300002900246490006400275521002500339700003100364830003300395920001800428995000700446923001200453980002000465990004100485942001400526999001100540\1e050120                                  \1e  \1fa8371626061\1e  \1faWA M\1fcWA M\1fdMGBPK\1e\1fapol\1e\1faPorazińska, Janina\1fd(1888-1971).\1e00\1faPsotki i Śmieszki /\1fcJanina Porazińska ; il. Jarosław Żukowski.\1e  \1faWrocław :\1fbWydawnictwo "Siedmioróg",\1fc2005.\1e  \1fa[39] s. :\1fbil. ;\1fc21 cm.\1e\1faPolska Literatura dla Dzieci : biblioteka pierwszych lektur\1e\1faLektura dla klasy I.\1e\1faŻukowski, Jarosław.\1feIl.\1e 0\1faPolska Literatura dla Dzieci\1e  \1fa83-7162-606-1\1e  \1fkBC\1e  \1fn838/ŚG\1e  \1fa821.162.1-93\1fbI\1e  \1fa82-93\1fcLiteratura dziecięca polska.\1e  \1f2ddc\1fcBOOK\1e  \1fc85\1fd85\1e\1d00810nas a2200241   4500008004100000020001500041040002200056100002600078245011300104260005600217300003600273490002000309700003800329700003500367830004000402920001800442995000700460923001200467980002000479990004400499942001400543999001100557\1e000829                                  \1e  \1fa8310110162\1e  \1faWA M\1fcWA M\1fdMGBPK\1e\1faMichałkow, Siergiej.\1e00\1faNie płacz, koziołku /\1fcSiergiej Michałkow ; przeł. [z ros.] Maria Górska ; il. Małgorzata Zachorowska.\1e  \1faWarszawa :\1fbWydawnictwo "Nasza Księgarnia",\1fc2004.\1e  \1fa[24] s. :\1fbil. kolor. ;\1fc22 cm.\1e\1faMoje Poczytajki\1e\1faGórska, Maria\1fc(tłumacz).\1feTł.\1e\1faZachorowska, Małgorzata.\1feIl.\1e 0\1faLektura Szkolna - Nasza Księgarnia\1e  \1fa83-10-11016-2\1e  \1fkBC\1e  \1fn763/ŚG\1e  \1fa821.161.1-93\1fbI\1e  \1fa82-93\1fcLiteratutra dziecięca rosyjska.\1e  \1f2ddc\1fcBOOK\1e  \1fc86\1fd86\1e\1d00681nas a2200217   4500008004100000020001500041040002200056100003300078245009800111260004300209300002600252500003600278700004200314920001800356995000700374923001200381980001400393990003100407942001400438999001100452\1e980409                                  \1e  \1fa8372009961\1e  \1faWA M\1fcWA M\1fdMGBPK\1e\1faOrwell, George\1fd(1903-1950).\1e00\1faFolwark zwierzęcy :\1fbbajka /\1fcGeorge Orwell [pseud.] ; przeł. [z ang.] Bartłomiej Zborski.\1e  \1faWarszawa :\1fbWydawnictwo "Muza",\1fc2005.\1e  \1fa132, [4] s. ;\1fc20 cm.\1e  \1faNazwa aut. : Eric Arthur Blair.\1e\1faZborski, Bartłomiej\1fd(1953- ).\1feTł.\1e  \1fa83-7200-996-1\1e  \1fkBC\1e  \1fn820/ŚG\1e  \1fa821.111-3\1e  \1fa82-3\1fcPowieść angielska.\1e  \1f2ddc\1fcBOOK\1e  \1fc87\1fd87\1e\1d00681nas a2200217   4500008004100000020001500041040002200056100003300078245009800111260004300209300002600252500003600278700004200314920001800356995000700374923001200381980001400393990003100407942001400438999001100452\1e980409                                  \1e  \1fa8372009961\1e  \1faWA M\1fcWA M\1fdMGBPK\1e\1faOrwell, George\1fd(1903-1950).\1e00\1faFolwark zwierzęcy :\1fbbajka /\1fcGeorge Orwell [pseud.] ; przeł. [z ang.] Bartłomiej Zborski.\1e  \1faWarszawa :\1fbWydawnictwo "Muza",\1fc2005.\1e  \1fa132, [4] s. ;\1fc20 cm.\1e  \1faNazwa aut. : Eric Arthur Blair.\1e\1faZborski, Bartłomiej\1fd(1953- ).\1feTł.\1e  \1fa83-7200-996-1\1e  \1fkBC\1e  \1fn819/ŚG\1e  \1fa821.111-3\1e  \1fa82-3\1fcPowieść angielska.\1e  \1f2ddc\1fcBOOK\1e  \1fc88\1fd88\1e\1d00706nas a2200229   4500008004100000020001500041040002200056041001300078100003300091245009800124260004300222300002600265500003600291700004200327920001800369995000700387923001200394980001400406990003100420942001400451999001100465\1e980409                                  \1e  \1fa8372009961\1e  \1faWA M\1fcWA M\1fdMGBPK\1e\1fapol\1fheng\1e\1faOrwell, George\1fd(1903-1950).\1e00\1faFolwark zwierzęcy :\1fbbajka /\1fcGeorge Orwell [pseud.] ; przeł. [z ang.] Bartłomiej Zborski.\1e  \1faWarszawa :\1fbWydawnictwo "Muza",\1fc2005.\1e  \1fa132, [4] s. ;\1fc20 cm.\1e  \1faNazwa aut. : Eric Arthur Blair.\1e\1faZborski, Bartłomiej\1fd(1953- ).\1feTł.\1e  \1fa83-7200-996-1\1e  \1fkBC\1e  \1fn818/ŚG\1e  \1fa821.111-3\1e  \1fa82-3\1fcPowieść angielska.\1e  \1f2ddc\1fcBOOK\1e  \1fc89\1fd89\1e\1d00631nas a2200205   4500008004100000020001500041040002200056100003600078245007200114260005000186300002600236490003500262920001800297995000700315923001200322980002200334990004400356942001400400999001100414\1e990330                                  \1e  \1fa8387463582\1e  \1faWA M\1fcWA M\1fdMGBPK\1e\1faOżogowska, Hanna\1fd(1904-1995).\1e00\1faDziewczyna i chłopak czyli Heca na 14 fajerek /\1fcHanna Ożogowska.\1e  \1faŁódź :\1fbWydawnictwo "Akapit Press",\1fc2003.\1e  \1fa182, [2] s. ;\1fc21 cm.\1e\1faLektura Szkolna / Akapit Press\1e  \1fa83-87463-58-2\1e  \1fkBC\1e  \1fn822/ŚG\1e  \1fa821.162.1-93\1fbIII\1e  \1fa82-93\1fcLiteratura młodzieżowa polska.\1e  \1f2ddc\1fcBOOK\1e  \1fc90\1fd90\1e\1d00678nas a2200217   4500008004100000020001500041040002200056100003600078245007200114260005000186300002600236490003500262830003500297920001800332995000700350923001200357980002200369990004400391942001400435999001100449\1e990330                                  \1e  \1fa8387463582\1e  \1faWA M\1fcWA M\1fdMGBPK\1e\1faOżogowska, Hanna\1fd(1904-1995).\1e00\1faDziewczyna i chłopak czyli Heca na 14 fajerek /\1fcHanna Ożogowska.\1e  \1faŁódź :\1fbWydawnictwo "Akapit Press",\1fc2003.\1e  \1fa182, [2] s. ;\1fc21 cm.\1e\1faLektura Szkolna / Akapit Press\1e 0\1faLektura Szkolna - Akapit Press\1e  \1fa83-87463-58-2\1e  \1fkBC\1e  \1fn821/ŚG\1e  \1fa821.162.1-93\1fbIII\1e  \1fa82-93\1fcLiteratura młodzieżowa polska.\1e  \1f2ddc\1fcBOOK\1e  \1fc91\1fd91\1e\1d00804nas a2200241   4500008004100000020001500041040002200056041001300078100003400091245011000125260006500235300003300300500004400333700002600377700003000403920001800433995000700451923001200458980002000470990004700490942001400537999001100551\1e040102                                  \1e  \1fa8372780978\1e  \1faWA M\1fcWA M\1fdMGBPK\1e\1fapol\1fheng\1e\1faRowling, Joanne K.\1fd(1965- ).\1e00\1faHarry Potter i Zakon Feniksa /\1fcJoanne K. Rowling ; il. Mary GrandPré ; tł. [z ang.] Andrzej Polkowski.\1e  \1faPoznań :\1fbWydawnictwo "Media Rodzina [of Poznań]"\1fc[2005].\1e  \1fa959, [1] s. :\1fbil. ;\1fc22 cm.\1e  \1faStanowi cz. 5 cyklu: Harry Potter i ...\1e\1faGrandPré, Mary.\1feIl.\1e\1faPolkowski, Andrzej.\1feTł.\1e  \1fa83-7278-097-8\1e  \1fkBC\1e  \1fn852/ŚG\1e  \1fa821.111-93\1fbIII\1e  \1fa82-93\1fcLiteratura młodzieżowa angielska.\1e  \1f2ddc\1fcBOOK\1e  \1fc92\1fd92\1e\1d00781nas a2200229   4500008004100000020001500041040002200056100003400078245011300112260006600225300003300291500004400324700002600368700003000394920001800424995000700442923001200449980002000461990004500481942001400526999001100540\1e000415                                  \1e  \1fa8372780129\1e  \1faWA M\1fcWA M\1fdMGBPK\1e\1faRowling, Joanne K.\1fd(1965- ).\1e00\1faHarry Potter i Komnata Tajemnic /\1fcJoanne K. Rowling ; il. Mary GrandPré ; tł. [z ang.] Andrzej Polkowski.\1e  \1faPoznań :\1fbWydawnictwo "Media Rodzina [of Poznań]",\1fc[2005].\1e  \1fa365, [1] s. :\1fbil. ;\1fc21 cm.\1e  \1faStanowi cz. 2 cyklu: Harry Potter i ...\1e\1faGrandPré, Mary.\1feIl.\1e\1faPolkowski, Andrzej.\1feTł.\1e  \1fa83-7278-012-9\1e  \1fkBC\1e  \1fn850/ŚG\1e  \1fa821.111-93\1fbIII\1e  \1fa82-93\1fcLiteratura mlodzieżowa angielska\1e  \1f2ddc\1fcBOOK\1e  \1fc93\1fd93\1e\1d00785nas a2200229   4500008004100000020001500041040002200056100003400078245011500112260006600227300003300293500004400326700002600370700003000396920001800426995000700444923001200451980002000463990004700483942001400530999001100544\1e000415                                  \1e  \1fa8372780161\1e  \1faWA M\1fcWA M\1fdMGBPK\1e\1faRowling, Joanne K.\1fd(1965- ).\1e00\1faHarry Potter i więzień Azkabanu /\1fcJoanne K. Rowling ; il. Mary GrandPré ; tł. [z ang.] Andrzej Polkowski.\1e  \1faPoznań :\1fbWydawnictwo "Media Rodzina [of Poznań]",\1fc[2005].\1e  \1fa458, [1] s. :\1fbil. ;\1fc21 cm.\1e  \1faStanowi cz. 3 cyklu: Harry Potter i ...\1e\1faGrandPré, Mary.\1feIl.\1e\1faPolkowski, Andrzej.\1feTł.\1e  \1fa83-7278-016-1\1e  \1fkBC\1e  \1fn851/ŚG\1e  \1fa821.111-93\1fbIII\1e  \1fa82-93\1fcLiteratura młodzieżowa angielska.\1e  \1f2ddc\1fcBOOK\1e  \1fc94\1fd94\1e\1d00777nas a2200229   4500008004100000020001500041040002200056100003400078245010800112260006600220300003300286500004300319700002600362700003000388920001800418995000700436923001200443980002000455990004700475942001400522999001100536\1e010809                                  \1e  \1fa8372780226\1e  \1faWA M\1fcWA M\1fdMGBPK\1e\1faRowling, Joanne K.\1fd(1965- ).\1e00\1faHarry Potter i czara ognia /\1fcJoanne K. Rowling ; il. Mary Grandpré ; tł. [z ang.] Andrzej Polkowski.\1e  \1faPoznań :\1fbWydawnictwo "Media Rodzina [of Poznań]",\1fc[2005].\1e  \1fa766, [1] s. :\1fbil. ;\1fc21 cm.\1e  \1faStanowi cz. 4 cyklu: Harry Potter i...\1e\1faGrandPré, Mary.\1feIl.\1e\1faPolkowski, Andrzej.\1feTł.\1e  \1fa83-7278-022-6\1e  \1fkBC\1e  \1fn848/ŚG\1e  \1fa821.111-93\1fbIII\1e  \1fa82-93\1fcLiteratura młodzieżowa angielska.\1e  \1f2ddc\1fcBOOK\1e  \1fc95\1fd95\1e\1d00785nas a2200229   4500008004100000020001500041040002200056100003400078245011700112260006600229300003300295500004300328700002600371700003000397920001800427995000700445923001200452980002000464990004600484942001400530999001100544\1e000415                                  \1e  \1fa8372780110\1e  \1faWA M\1fcWA M\1fdMGBPK\1e\1faRowling, Joanne K.\1fd(1965- ).\1e00\1faHarry Potter i kamień filozoficzny /\1fcJoanne K. Rowling ; il. Mary GrandPré ; tł. [z ang.] Andrzej Polkowski.\1e  \1faPoznań :\1fbWydawnictwo "Media Rodzina [of Poznań]",\1fc[2005].\1e  \1fa326, [1] s. :\1fbil. ;\1fc21 cm.\1e  \1faStanowi cz. 1 cyklu: Harry Potter i...\1e\1faGrandPré, Mary.\1feIl.\1e\1faPolkowski, Andrzej.\1feTł.\1e  \1fa83-7278-011-0\1e  \1fkBC\1e  \1fn849/ŚG\1e  \1fa821.111-93\1fbIII\1e  \1fa82-93\1fcLiteratura mlodzieżowa angielska.\1e  \1f2ddc\1fcBOOK\1e  \1fc96\1fd96\1e\1d00650nas a2200229   4500008004100000020001500041040002200056041000800078100003100086245004500117250001300162260005500175300002600230920001800256995000700274923001200281980003300293990004200326990002700368942001400395999001100409\1e940510                                  \1e  \1fa8389127059\1e  \1faWA M\1fcWA M\1fdMGBPK\1e\1fapol\1e\1faRosiek, Barbara\1fd(1959- ).\1e00\1faPamiętnik narkomanki /\1fcBarbara Rosiek.\1e  \1faWyd. 10.\1e  \1faWarszawa :\1fbWydawnictwo "Pracownia Słów",\1fc2003.\1e  \1fa302, [2] s. ;\1fc21 cm.\1e  \1fa83-89127-05-9\1e  \1fkBC\1e  \1fn847/ŚG\1e  \1fa929 Rosiek B.:613.83\1fbIII/DZ\1e  \1fa929 Rosiek B.\1fcRosiek B.-pamiętniki.\1e  \1fa6\1fcNarkomania-higiena.\1e  \1f2ddc\1fcBOOK\1e  \1fc97\1fd97\1e\1d00631nas a2200205   4500008004100000020001500041040002200056100003800078245008000116260004600196300002600242700004300268920001800311995000700329923001200336980001800348990003400366942001400400999001100414\1e961122                                  \1e  \1fa8320717515\1e  \1faWA M\1fcWA M\1fdMGBPK\1e\1faSalinger, Jerome David\1fd(1919- ).\1e00\1faBuszujący w zbożu /\1fcJ. D. Salinger ; przeł. [z ang.] Maria Skibniewska.\1e  \1faWarszawa :\1fbWydawnictwo "Iskry",\1fc[2005].\1e  \1fa221, [3] s. ;\1fc20 cm.\1e\1faSkibniewska, Maria\1fd(1904-1984).\1feTł.\1e  \1fa83-207-1751-5\1e  \1fkBC\1e  \1fn861/ŚG\1e  \1fa821.111(73)-3\1e  \1fa82-3\1fcPowieść amerykańska.\1e  \1f2ddc\1fcBOOK\1e  \1fc98\1fd98\1e\1d00631nas a2200205   4500008004100000020001500041040002200056100003800078245008000116260004600196300002600242700004300268920001800311995000700329923001200336980001800348990003400366942001400400999001100414\1e961122                                  \1e  \1fa8320717515\1e  \1faWA M\1fcWA M\1fdMGBPK\1e\1faSalinger, Jerome David\1fd(1919- ).\1e00\1faBuszujący w zbożu /\1fcJ. D. Salinger ; przeł. [z ang.] Maria Skibniewska.\1e  \1faWarszawa :\1fbWydawnictwo "Iskry",\1fc[2005].\1e  \1fa221, [3] s. ;\1fc20 cm.\1e\1faSkibniewska, Maria\1fd(1904-1984).\1feTł.\1e  \1fa83-207-1751-5\1e  \1fkBC\1e  \1fn860/ŚG\1e  \1fa821.111(73)-3\1e  \1fa82-3\1fcPowieść amerykańska.\1e  \1f2ddc\1fcBOOK\1e  \1fc99\1fd99\1e\1d00658nas a2200217   4500008004100000020001500041040002200056041001300078100003800091245008000129260004600209300002600255700004300281920001800324995000700342923001200349980001800361990003400379942001400413999001300427\1e961122                                  \1e  \1fa8320717515\1e  \1faWA M\1fcWA M\1fdMGBPK\1e\1fapol\1fheng\1e\1faSalinger, Jerome David\1fd(1919- ).\1e00\1faBuszujący w zbożu /\1fcJ. D. Salinger ; przeł. [z ang.] Maria Skibniewska.\1e  \1faWarszawa :\1fbWydawnictwo "Iskry",\1fc[2005].\1e  \1fa221, [3] s. ;\1fc20 cm.\1e\1faSkibniewska, Maria\1fd(1904-1984).\1feTł.\1e  \1fa83-207-1751-5\1e  \1fkBC\1e  \1fn859/ŚG\1e  \1fa821.111(73)-3\1e  \1fa82-3\1fcPowieść amerykańska.\1e  \1f2ddc\1fcBOOK\1e  \1fc100\1fd100\1e\1d00757nas a2200217   4500008004100000020001500041040002200056100003500078245012600113260005300239300003300292700004200325700003600367920001800403995000700421923001200428980002000440990005200460942001400512999001300526\1e940714                                  \1e  \1fa8385353771\1e  \1faWa M\1fcWa M\1fdMGBPK\1e\1faKipling, Rudyard\1fd(1865-1936).\1e00\1faKsięga dżungli :\1fbdzieje Mowgliego /\1fcRudyard Kipling ; [il.] Pierre Joubert ; w przekł. [z fr.] Józefa Czekalskiego.\1e  \1faLublin :\1fbWydawnictwo "Paweł Skokowski",\1fc1994.\1e  \1fa139, [2] s. :\1fbil. ;\1fc32 cm.\1e\1faCzekalski, Józef\1fd(1865-1906).\1feTł.\1e\1faJoubert, Pierre\1fd(1910- ).\1feIl.\1e  \1fa83-85353-77-1\1e  \1fkBC\1e  \1fn695/ŚG\1e  \1fa821.111-93\1fbIII\1e  \1fa821.111-93\1fcLiteratura młodzieżowa angielska.\1e  \1f2ddc\1fcBOOK\1e  \1fc101\1fd101\1e\1d00875nas a2200241   4500008004100000020001500041040002700056100002500083245013800108260005800246300002800304500003900332650004300371980002200414990004400436700005400480700003500534920001800569995000700587923001200594942001400606999001300620\1e000904                                  \1e  \1fa8372556490\1e  \1faWA N\1fcWA N\1fdMGBPK\1fePNN\1e\1faKraszewski, Tadeusz.\1e10\1faRobin Hood ;\1fbMarianna, żona Robin Hooda /\1fcwedług legend i opowieści napisał Tadeusz Kraszewski ; [il. Katarzyna Karina Chmiel].\1e  \1faWarszawa :\1fbWydawnictwo "Prószyński i S-ka",\1fc2000.\1e  \1fa492 s. :\1fbil. ;\1fc21 cm.\1e  \1faTyt. okł. i grzbiet.: Robin Hood.\1e 9\1faLiteratura młodzieżowa polska\1fy20 w.\1e  \1fa821.162.1-93\1fbIII\1e  \1fa82-93\1fcLiteratura młodzieżowa polska.\1e12\1faKraszewski, Tadeusz.\1ftMarianna, żona Robin Hooda\1e\1faChmiel, Katarzyna Karina.\1feIl.\1e  \1fa83-7255-649-0\1e  \1fkBC\1e  \1fn721/ŚG\1e  \1f2ddc\1fcBOOK\1e  \1fc102\1fd102\1e\1d00632nas a2200205   4500008004100000020001500041040002200056100003900078245009500117260005200212300003300264700003300297920001800330995000700348923001200355980002200367990001000389942001400399999001300413\1e001102                                  \1e  \1fa8373891692\1e  \1faWA M\1fcWA M\1fdMGBPK\1e\1faMakuszyński, Kornel\1fd(1884-1953).\1e00\1faO dwóch takich co ukradli księżyc /\1fcKornel Makuszyński ; [il. Stanisław Dzięcioł].\1e  \1faKraków :\1fbWydawnictwo "Zielona Sowa",\1fc[2003].\1e  \1fa188, [4] s. :\1fbil. ;\1fc21 cm.\1e\1faDzięcioł, Stanisław.\1feIl.\1e  \1fa83-7389-169-2\1e  \1fkBC\1e  \1fn751/ŚG\1e  \1fa821.162.1-93\1fbIII\1e  \1fa82-93\1e  \1f2ddc\1fcBOOK\1e  \1fc103\1fd103\1e\1d00632nas a2200205   4500008004100000020001500041040002200056100003900078245009500117260005200212300003300264700003300297920001800330995000700348923001200355980002200367990001000389942001400399999001300413\1e001102                                  \1e  \1fa8373891692\1e  \1faWA M\1fcWA M\1fdMGBPK\1e\1faMakuszyński, Kornel\1fd(1884-1953).\1e00\1faO dwóch takich co ukradli księżyc /\1fcKornel Makuszyński ; [il. Stanisław Dzięcioł].\1e  \1faKraków :\1fbWydawnictwo "Zielona Sowa",\1fc[2003].\1e  \1fa188, [4] s. :\1fbil. ;\1fc21 cm.\1e\1faDzięcioł, Stanisław.\1feIl.\1e  \1fa83-7389-169-2\1e  \1fkBC\1e  \1fn750/ŚG\1e  \1fa821.162.1-93\1fbIII\1e  \1fa82-93\1e  \1f2ddc\1fcBOOK\1e  \1fc104\1fd104\1e\1d00632nas a2200205   4500008004100000020001500041040002200056100003900078245009500117260005200212300003300264700003300297920001800330995000700348923001200355980002200367990001000389942001400399999001300413\1e001102                                  \1e  \1fa8373891692\1e  \1faWA M\1fcWA M\1fdMGBPK\1e\1faMakuszyński, Kornel\1fd(1884-1953).\1e00\1faO dwóch takich co ukradli księżyc /\1fcKornel Makuszyński ; [il. Stanisław Dzięcioł].\1e  \1faKraków :\1fbWydawnictwo "Zielona Sowa",\1fc[2003].\1e  \1fa188, [4] s. :\1fbil. ;\1fc21 cm.\1e\1faDzięcioł, Stanisław.\1feIl.\1e  \1fa83-7389-169-2\1e  \1fkBC\1e  \1fn749/ŚG\1e  \1fa821.162.1-93\1fbIII\1e  \1fa82-93\1e  \1f2ddc\1fcBOOK\1e  \1fc105\1fd105\1e\1d00632nas a2200205   4500008004100000020001500041040002200056100003900078245009500117260005200212300003300264700003300297920001800330995000700348923001200355980002200367990001000389942001400399999001300413\1e001102                                  \1e  \1fa8373891692\1e  \1faWA M\1fcWA M\1fdMGBPK\1e\1faMakuszyński, Kornel\1fd(1884-1953).\1e00\1faO dwóch takich co ukradli księżyc /\1fcKornel Makuszyński ; [il. Stanisław Dzięcioł].\1e  \1faKraków :\1fbWydawnictwo "Zielona Sowa",\1fc[2003].\1e  \1fa188, [4] s. :\1fbil. ;\1fc21 cm.\1e\1faDzięcioł, Stanisław.\1feIl.\1e  \1fa83-7389-169-2\1e  \1fkBC\1e  \1fn748/ŚG\1e  \1fa821.162.1-93\1fbIII\1e  \1fa82-93\1e  \1f2ddc\1fcBOOK\1e  \1fc106\1fd106\1e\1d00632nas a2200205   4500008004100000020001500041040002200056100003900078245009500117260005200212300003300264700003300297920001800330995000700348923001200355980002200367990001000389942001400399999001300413\1e001102                                  \1e  \1fa8373891692\1e  \1faWA M\1fcWA M\1fdMGBPK\1e\1faMakuszyński, Kornel\1fd(1884-1953).\1e00\1faO dwóch takich co ukradli księżyc /\1fcKornel Makuszyński ; [il. Stanisław Dzięcioł].\1e  \1faKraków :\1fbWydawnictwo "Zielona Sowa",\1fc[2003].\1e  \1fa188, [4] s. :\1fbil. ;\1fc21 cm.\1e\1faDzięcioł, Stanisław.\1feIl.\1e  \1fa83-7389-169-2\1e  \1fkBC\1e  \1fn747/ŚG\1e  \1fa821.162.1-93\1fbIII\1e  \1fa82-93\1e  \1f2ddc\1fcBOOK\1e  \1fc107\1fd107\1e\1d00637nas a2200205   4500008004100000020001500041040002200056100003900078245009500117260005200212300003300264700003300297920001800330995000700348923001200355980002200367990001500389942001400404999001300418\1e001102                                  \1e  \1fa8373891692\1e  \1faWA M\1fcWA M\1fdMGBPK\1e\1faMakuszyński, Kornel\1fd(1884-1953).\1e00\1faO dwóch takich co ukradli księżyc /\1fcKornel Makuszyński ; [il. Stanisław Dzięcioł].\1e  \1faKraków :\1fbWydawnictwo "Zielona Sowa",\1fc[2003].\1e  \1fa188, [4] s. :\1fbil. ;\1fc21 cm.\1e\1faDzięcioł, Stanisław.\1feIl.\1e  \1fa83-7389-169-2\1e  \1fkBC\1e  \1fn746/ŚG\1e  \1fa821.162.1-93\1fbIII\1e  \1fa82-93\1fbIII\1e  \1f2ddc\1fcBOOK\1e  \1fc108\1fd108\1e\1d00575nas a2200193   4500008004100000020001500041040002200056100003900078245005200117260005600169300002600225920001800251995000700269923001200276980002200288990004400310942001400354999001300368\1e030103                                  \1e  \1fa8310109741\1e  \1faWA M\1fcWA M\1fdMGBPK\1e\1faMakuszyński, Kornel\1fd(1884-1953).\1e00\1faSzatan z siódmej klasy /\1fcKornel Makuszyński.\1e  \1faWarszawa :\1fbWydawnictwo "Nasza Księgarnia",\1fc2004.\1e  \1fa269, [3] s. ;\1fc21 cm.\1e  \1fa83-10-10974-1\1e  \1fkBC\1e  \1fn755/ŚG\1e  \1fa821.162.1-93\1fbIII\1e  \1fa82-93\1fcLiteratura młodzieżowa polska.\1e  \1f2ddc\1fcBOOK\1e  \1fc109\1fd109\1e\1d00575nas a2200193   4500008004100000020001500041040002200056100003900078245005200117260005600169300002600225920001800251995000700269923001200276980002200288990004400310942001400354999001300368\1e030103                                  \1e  \1fa8310109741\1e  \1faWA M\1fcWA M\1fdMGBPK\1e\1faMakuszyński, Kornel\1fd(1884-1953).\1e00\1faSzatan z siódmej klasy /\1fcKornel Makuszyński.\1e  \1faWarszawa :\1fbWydawnictwo "Nasza Księgarnia",\1fc2004.\1e  \1fa269, [3] s. ;\1fc21 cm.\1e  \1fa83-10-10974-1\1e  \1fkBC\1e  \1fn754/ŚG\1e  \1fa821.162.1-93\1fbIII\1e  \1fa82-93\1fcLiteratura młodzieżowa polska.\1e  \1f2ddc\1fcBOOK\1e  \1fc110\1fd110\1e\1d00575nas a2200193   4500008004100000020001500041040002200056100003900078245005200117260005600169300002600225920001800251995000700269923001200276980002200288990004400310942001400354999001300368\1e030103                                  \1e  \1fa8310109741\1e  \1faWA M\1fcWA M\1fdMGBPK\1e\1faMakuszyński, Kornel\1fd(1884-1953).\1e00\1faSzatan z siódmej klasy /\1fcKornel Makuszyński.\1e  \1faWarszawa :\1fbWydawnictwo "Nasza Księgarnia",\1fc2004.\1e  \1fa269, [3] s. ;\1fc21 cm.\1e  \1fa83-10-10974-1\1e  \1fkBC\1e  \1fn753/ŚG\1e  \1fa821.162.1-93\1fbIII\1e  \1fa82-93\1fcLiteratura młodzieżowa polska.\1e  \1f2ddc\1fcBOOK\1e  \1fc111\1fd111\1e\1d00595nas a2200205   4500008004100000020001500041040002200056041000800078100003900086245005200125260005600177300002600233920001800259995000700277923001200284980002200296990004400318942001400362999001300376\1e030103                                  \1e  \1fa8310109741\1e  \1faWA M\1fcWA M\1fdMGBPK\1e\1fapol\1e\1faMakuszyński, Kornel\1fd(1884-1953).\1e00\1faSzatan z siódmej klasy /\1fcKornel Makuszyński.\1e  \1faWarszawa :\1fbWydawnictwo "Nasza Księgarnia",\1fc2004.\1e  \1fa269, [3] s. ;\1fc21 cm.\1e  \1fa83-10-10974-1\1e  \1fkBC\1e  \1fn752/ŚG\1e  \1fa821.162.1-93\1fbIII\1e  \1fa82-93\1fcLiteratura młodzieżowa polska.\1e  \1f2ddc\1fcBOOK\1e  \1fc112\1fd112\1e\1d00711nas a2200229   4500008004100000020001500041040002200056041001300078100003100091245007600122260005000198300002600248440002000274700004900294920001800343995000700361923001200368980002400380990005000404942001400454999001300468\1e050120                                  \1e  \1fa8372545642\1e  \1faWA M\1fcWA M\1fdMGBPK\1e\1fapol\1fheng\1e\1faLondon, Jack\1fd(1876-1916).\1e00\1faBiały Kieł /\1fcJack London ; przeł. [z ang.] Stanisława Kuszelewska.\1e  \1faWrocław :\1fbWydawnictwo "Siedmioróg",\1fc2004.\1e  \1fa222, [2] s. ;\1fc19 cm.\1e 0\1faKanon Lektur\1fv6\1e\1faKuszelewska, Stanisława\1fd(1894-1966).\1feTł.\1e  \1fa83-7254-564-2\1e  \1fkBC\1e  \1fn741/ŚG\1e  \1fa821.111(73)-93\1fbIII\1e  \1fa82-93\1fcLiteratura młodzieżowa amerykańska.\1e  \1f2ddc\1fcBOOK\1e  \1fc113\1fd113\1e\1d00532nas a2200193   4500008004100000020001500041040002200056100003900078245004500117260005000162300002500212920001800237995000700255923001200262980002200274990001500296942001400311999001300325\1e001102                                  \1e  \1fa8372202095\1e  \1faWA M\1fcWA M\1fdMGBPK\1e\1faMakuszyński, Kornel\1fd(1884-1953).\1e00\1faBezgrzeszne lata /\1fcKornel Makuszyński.\1e  \1faKraków :\1fbWydawnictwo "Zielona Sowa",\1fc2000.\1e  \1fa94, [1] s. ;\1fc21 cm.\1e  \1fa83-7220-209-5\1e  \1fkBC\1e  \1fn745/ŚG\1e  \1fa821.162.1-93\1fbIII\1e  \1fa82-93\1fbIII\1e  \1f2ddc\1fcBOOK\1e  \1fc114\1fd114\1e\1d00540nas a2200193   4500008004100000020001500041040002200056100003900078245004600117260005800163300002600221920001800247995000700265923001200272980002100284990001400305942001400319999001300333\1e000804                                  \1e  \1fa8310110049\1e  \1faWA M\1fcWA M\1fdMGBPK\1e\1faMakuszyński, Kornel\1fd(1884-1953).\1e00\1faAwantura o Basię /\1fcKornel Makuszyński.\1e  \1faWarszawa :\1fbWydawnictwo "Nasza Księgarnia",\1fc[2004].\1e  \1fa226, [2] s. ;\1fc21 cm.\1e  \1fa83-10-11004-9\1e  \1fkBC\1e  \1fn744/ŚG\1e  \1fa821.162.1-93\1fbII\1e  \1fa82-93\1fbII\1e  \1f2ddc\1fcBOOK\1e  \1fc115\1fd115\1e\1d00750nas a2200229   4500008004100000020001500041040002200056100003500078245007800113260005500191300003300246440004900279500003400328700003200362920001800394995000700412923001200419980002100431990004100452942001400493999001300507\1e010117                                  \1e  \1fa8373894888\1e  \1faWA M\1fcWA M\1fdMGBPK\1e\1faKorczak, Janusz\1fd(1878?-1942).\1e00\1faKajtuś czarodziej /\1fcJanusz Korczak [pseud. ; il. Paweł Kołodziejski].\1e  \1faKraków :\1fbWydawnictwo "Zielona Sowa",\1fccop. 2003.\1e  \1fa196, [4] s. :\1fbil. ;\1fc21 cm.\1e 0\1faNiezapomniane Książki Naszego Dzieciństwa\1e  \1faNazwa aut.: Henryk Goldszmit.\1e\1faKołodziejski, Paweł.\1feIl.\1e  \1fa83-7389-488-8\1e  \1fkBC\1e  \1fn702/ŚG\1e  \1fa821.162.1-93\1fbII\1e  \1fa82-93\1fcLiteratura dziecięca polska.\1e  \1f2ddc\1fcBOOK\1e  \1fc116\1fd116\1e\1d00851nas a2200241   4500008004100000020001500041040002200056100003400078245011500112260005800227300003300285490005000318700004100368700004500409830004000454920001800494995000700512923001200519980002400531990002700555942001400582999001300596\1e000829                                  \1e  \1fa8310110308\1e  \1faWA M\1fcWA M\1fdMGBPK\1e\1faMolnár, Ferenc\1fd(1878-1952).\1e00\1faChłopcy z Placu Broni /\1fcFerenc Molnár ; przeł. [z węg.] Tadeusz Olszański ; il. Maria Orłowska-Gabryś.\1e  \1faWarszawa :\1fbWydawnictwo "Nasza Księgarnia",\1fc[2004].\1e  \1fa164, [4] s. :\1fbil. ;\1fc21 cm.\1e\1faLektura Szkolna : klasa 5 / Nasza Księgarnia\1e\1faOlszański, Tadeusz\1fd(1929- ).\1feTł.\1e\1faOrłowska-Gabryś, Maria\1fd(1925- ).\1feIl.\1e 0\1faLektura Szkolna - Nasza Księgarnia\1e  \1fa83-10-11030-8\1e  \1fkBC\1e  \1fn778/ŚG\1e  \1fa821.511.141-93\1fbIII\1e  \1fa821.511.141-93\1fbBD III\1e  \1f2ddc\1fcBOOK\1e  \1fc117\1fd117\1e\1d00771nas a2200229   4500008004100000020001500041040002200056100003900078245010100117250001300218260004300231300006200274700004900336700003800385920001800423995000700441923001200448980002300460990003100483942001400514999001300528\1e020701                                  \1e  \1fa8324004939\1e  \1faWA M\1fcWA M\1fdMGBPK\1e\1faMoczarski, Kazimierz\1fd(1907-1975).\1e00\1faRozmowy z katem /\1fcKazimierz Moczarski ; wstęp Norman Davies ; oprac. Andrzej Krzysztof Kunert.\1e  \1faWyd. 16.\1e  \1faWarszawa :\1fbWydawnictwo "Znak",\1fc2004.\1e  \1fa447, [1] s., [8] s. fot. :\1fbfaks., fot., portr. ;\1fc21 cm.\1e\1faKunert, Andrzej Krzysztof\1fd(1952- ).\1feOprac.\1e\1faDavies, Norman\1fd(1939-).\1feWstęp.\1e  \1fa83-240-0493-9\1e  \1fkBC\1e  \1fn777/ŚG\1e  \1fa94(100)"1939/1945"\1e  \1fa93/94\1fcII wojna światowa.\1e  \1f2ddc\1fcBOOK\1e  \1fc118\1fd118\1e\1d00771nas a2200229   4500008004100000020001500041040002200056100003900078245010100117250001300218260004300231300006200274700004900336700003800385920001800423995000700441923001200448980002300460990003100483942001400514999001300528\1e020701                                  \1e  \1fa8324004939\1e  \1faWA M\1fcWA M\1fdMGBPK\1e\1faMoczarski, Kazimierz\1fd(1907-1975).\1e00\1faRozmowy z katem /\1fcKazimierz Moczarski ; wstęp Norman Davies ; oprac. Andrzej Krzysztof Kunert.\1e  \1faWyd. 16.\1e  \1faWarszawa :\1fbWydawnictwo "Znak",\1fc2004.\1e  \1fa447, [1] s., [8] s. fot. :\1fbfaks., fot., portr. ;\1fc21 cm.\1e\1faKunert, Andrzej Krzysztof\1fd(1952- ).\1feOprac.\1e\1faDavies, Norman\1fd(1939-).\1feWstęp.\1e  \1fa83-240-0493-9\1e  \1fkBC\1e  \1fn776/ŚG\1e  \1fa94(100)"1939/1945"\1e  \1fa93/94\1fcII wojna światowa.\1e  \1f2ddc\1fcBOOK\1e  \1fc119\1fd119\1e\1d00851nas a2200265   4500008004100000020001500041040002200056041000800078044000700086100003900093245010100132250001300233260004300246300006200289504001200351700004900363700003800412920001800450995000700468923001200475980002300487990004800510942001400558999001300572\1e020701                                  \1e  \1fa8324004939\1e  \1faWA M\1fcWA M\1fdMGBPK\1e\1fapol\1e  \1faPL\1e\1faMoczarski, Kazimierz\1fd(1907-1975).\1e00\1faRozmowy z katem /\1fcKazimierz Moczarski ; wstęp Norman Davies ; oprac. Andrzej Krzysztof Kunert.\1e  \1faWyd. 16.\1e  \1faWarszawa :\1fbWydawnictwo "Znak",\1fc2004.\1e  \1fa447, [1] s., [8] s. fot. :\1fbfaks., fot., portr. ;\1fc21 cm.\1e  \1faIndeks.\1e\1faKunert, Andrzej Krzysztof\1fd(1952- ).\1feOprac.\1e\1faDavies, Norman\1fd(1939-).\1feWstęp.\1e  \1fa83-240-0493-9\1e  \1fkBC\1e  \1fn775/ŚG\1e  \1fa94(100)"1939/1945"\1e  \1fa93/94\1fcZbrodnie wojenne-II wojna światowa.\1e  \1f2ddc\1fcBOOK\1e  \1fc120\1fd120\1e\1d00778nas a2200229   4500008004100000020001500041040002200056100004000078245007700118260005800195300003300253490005000286700004600336830004000382920001800422995000700440923001200447980002100459990004100480942001400521999001300535\1e000911                                  \1e  \1fa831010846X\1e  \1faWA M\1fcWA M\1fdMGBPK\1e\1faKorczakowska, Jadwiga\1fd(1906-1994).\1e00\1faSpotkanie nad morzem /\1fcJadwiga Korczakowska ; il. Mieczysław Majewski.\1e  \1faWarszawa :\1fbWydawnictwo "Nasza Księgarnia",\1fc[2004].\1e  \1fa156, [4] s. :\1fbil. ;\1fc20 cm.\1e\1faLektura Szkolna : klasa 4 / Nasza Księgarnia\1e\1faMajewski, Mieczysław\1fc(ilustrator).\1feIl.\1e 0\1faLektura Szkolna - Nasza Księgarnia\1e  \1fa83-10-10767-6\1e  \1fkBC\1e  \1fn706/ŚG\1e  \1fa821.162.1-93\1fbII\1e  \1fa82-93\1fcLiteratura dziecięca polska.\1e  \1f2ddc\1fcBOOK\1e  \1fc121\1fd121\1e\1d00913nas a2200253   4500008004100000020001500041040002200056100003500078245018300113260004400296300004100340490003700381500003400418504001200452700005000464830001900514920001800533995000700551923001200558980002100570990004100591942001400632999001300646\1e010105                                  \1e  \1fa8373272097\1e  \1faWA M\1fcWA M\1fdMGBPK\1e\1faKorczak, Janusz\1fd(1878?-1942).\1e00\1faKról Maciuś Pierwszy /\1fcJanusz Korczak [pseud.] ; notatki na marginesie, cytaty, które warto znać, streszczenie oprac. Barbara Włodarczyk ; [il. Jolanta Adamus-Ludwikowska].\1e  \1faKraków :\1fbWydawnictwo "Greg",\1fc[2003].\1e  \1fa[2], 268 s. :\1fbil., portr. ;\1fc21 cm.\1e\1faLektura : wydanie z opracowaniem\1e  \1faNazwa aut.: Henryk Goldszmit.\1e  \1faIndeks.\1e\1faWłodarczyk, Barbara\1fc(nauczycielka).\1feOprac.\1e 0\1faLektura - Greg\1e  \1fa83-7237-209-7\1e  \1fkBC\1e  \1fn705/ŚG\1e  \1fa821.162.1-93\1fbII\1e  \1fa82-93\1fcLiteratura dziecięca polska.\1e  \1f2ddc\1fcBOOK\1e  \1fc122\1fd122\1e\1d00593nas a2200205   4500008004100000020001500041040002200056100003400078245006700112260004300179300003900222700003100261920001800292995000700310923001200317980002100329990001000350942001400360999001300374\1e000828                                  \1e  \1fa837272069X\1e  \1faWA M\1fcWA M\1fdMGBPK\1e\1faKownacka, Maria\1fd(1894-1982).\1e00\1faKajtkowe przygody /\1fcMaria Kownacka ; il. Przemysław Tomczak.\1e  \1faPoznań :\1fbWydawnictwo "G&P",\1fc[2005].\1e  \1fa83, [1] s. :\1fbil. kolor. ;\1fc24 cm.\1e\1faTomczak, Przemysław.\1feIl.\1e  \1fa83-7272-069-X\1e  \1fkBC\1e  \1fn712/ŚG\1e  \1fa821.162.1-93\1fbII\1e  \1fa82-93\1e  \1f2ddc\1fcBOOK\1e  \1fc123\1fd123\1e\1d00593nas a2200205   4500008004100000020001500041040002200056100003400078245006700112260004300179300003900222700003100261920001800292995000700310923001200317980002100329990001000350942001400360999001300374\1e000828                                  \1e  \1fa837272069X\1e  \1faWA M\1fcWA M\1fdMGBPK\1e\1faKownacka, Maria\1fd(1894-1982).\1e00\1faKajtkowe przygody /\1fcMaria Kownacka ; il. Przemysław Tomczak.\1e  \1faPoznań :\1fbWydawnictwo "G&P",\1fc[2005].\1e  \1fa83, [1] s. :\1fbil. kolor. ;\1fc24 cm.\1e\1faTomczak, Przemysław.\1feIl.\1e  \1fa83-7272-069-X\1e  \1fkBC\1e  \1fn711/ŚG\1e  \1fa821.162.1-93\1fbII\1e  \1fa82-93\1e  \1f2ddc\1fcBOOK\1e  \1fc124\1fd124\1e\1d00593nas a2200205   4500008004100000020001500041040002200056100003400078245006700112260004300179300003900222700003100261920001800292995000700310923001200317980002100329990001000350942001400360999001300374\1e000828                                  \1e  \1fa837272069X\1e  \1faWA M\1fcWA M\1fdMGBPK\1e\1faKownacka, Maria\1fd(1894-1982).\1e00\1faKajtkowe przygody /\1fcMaria Kownacka ; il. Przemysław Tomczak.\1e  \1faPoznań :\1fbWydawnictwo "G&P",\1fc[2005].\1e  \1fa83, [1] s. :\1fbil. kolor. ;\1fc24 cm.\1e\1faTomczak, Przemysław.\1feIl.\1e  \1fa83-7272-069-X\1e  \1fkBC\1e  \1fn710/ŚG\1e  \1fa821.162.1-93\1fbII\1e  \1fa82-93\1e  \1f2ddc\1fcBOOK\1e  \1fc125\1fd125\1e\1d00593nas a2200205   4500008004100000020001500041040002200056100003400078245006700112260004300179300003900222700003100261920001800292995000700310923001200317980002100329990001000350942001400360999001300374\1e000828                                  \1e  \1fa837272069X\1e  \1faWA M\1fcWA M\1fdMGBPK\1e\1faKownacka, Maria\1fd(1894-1982).\1e00\1faKajtkowe przygody /\1fcMaria Kownacka ; il. Przemysław Tomczak.\1e  \1faPoznań :\1fbWydawnictwo "G&P",\1fc[2005].\1e  \1fa83, [1] s. :\1fbil. kolor. ;\1fc24 cm.\1e\1faTomczak, Przemysław.\1feIl.\1e  \1fa83-7272-069-X\1e  \1fkBC\1e  \1fn709/ŚG\1e  \1fa821.162.1-93\1fbII\1e  \1fa82-93\1e  \1f2ddc\1fcBOOK\1e  \1fc126\1fd126\1e\1d00624nas a2200205   4500008004100000020001500041040002200056100003400078245006700112260004300179300003900222700003100261920001800292995000700310923001200317980002100329990004100350942001400391999001300405\1e000828                                  \1e  \1fa837272069X\1e  \1faWA M\1fcWA M\1fdMGBPK\1e\1faKownacka, Maria\1fd(1894-1982).\1e00\1faKajtkowe przygody /\1fcMaria Kownacka ; il. Przemysław Tomczak.\1e  \1faPoznań :\1fbWydawnictwo "G&P",\1fc[2005].\1e  \1fa83, [1] s. :\1fbil. kolor. ;\1fc24 cm.\1e\1faTomczak, Przemysław.\1feIl.\1e  \1fa83-7272-069-X\1e  \1fkBC\1e  \1fn708/ŚG\1e  \1fa821.162.1-93\1fbII\1e  \1fa82-93\1fbLiteratura dziecięca polska.\1e  \1f2ddc\1fcBOOK\1e  \1fc127\1fd127\1e\1d00636nas a2200205   4500008004100000020001500041040002200056100003400078245007200112260005000184300003900234700003100273920001800304995000700322923001200329980002100341990004100362942001400403999001300417\1e030103                                  \1e  \1fa8371625227\1e  \1faWA M\1fcWA M\1fdMGBPK\1e\1faKownacka, Maria\1fd(1894-1982).\1e00\1faPlastusiowy pamiętnik /\1fcMaria Kownacka ; il. Jarosław Żukowski.\1e  \1faWrocław :\1fbWydawnictwo "Siedmioróg",\1fc2005.\1e  \1fa77, [3] s. :\1fbil. kolor. ;\1fc21 cm.\1e\1faŻukowski, Jarosław.\1feIl.\1e  \1fa83-7162-522-7\1e  \1fkBC\1e  \1fn715/ŚG\1e  \1fa821.162.1-93\1fbII\1e  \1fa82-93\1fcLiteratura dziecięca polska.\1e  \1f2ddc\1fcBOOK\1e  \1fc128\1fd128\1e\1d00636nas a2200205   4500008004100000020001500041040002200056100003400078245007200112260005000184300003900234700003100273920001800304995000700322923001200329980002100341990004100362942001400403999001300417\1e030103                                  \1e  \1fa8371625227\1e  \1faWA M\1fcWA M\1fdMGBPK\1e\1faKownacka, Maria\1fd(1894-1982).\1e00\1faPlastusiowy pamiętnik /\1fcMaria Kownacka ; il. Jarosław Żukowski.\1e  \1faWrocław :\1fbWydawnictwo "Siedmioróg",\1fc2005.\1e  \1fa77, [3] s. :\1fbil. kolor. ;\1fc21 cm.\1e\1faŻukowski, Jarosław.\1feIl.\1e  \1fa83-7162-522-7\1e  \1fkBC\1e  \1fn714/ŚG\1e  \1fa821.162.1-93\1fbII\1e  \1fa82-93\1fcLiteratura dziecięca polska.\1e  \1f2ddc\1fcBOOK\1e  \1fc129\1fd129\1e\1d00713nas a2200229   4500008004100000020001500041040002200056041000800078100003400086245007200120260005000192300003900242521004500281700003100326920001800357995000700375923001200382980002100394990004100415942001400456999001300470\1e030103                                  \1e  \1fa8371625227\1e  \1faWA M\1fcWA M\1fdMGBPK\1e\1fapol\1e\1faKownacka, Maria\1fd(1894-1982).\1e00\1faPlastusiowy pamiętnik /\1fcMaria Kownacka ; il. Jarosław Żukowski.\1e  \1faWrocław :\1fbWydawnictwo "Siedmioróg",\1fc2005.\1e  \1fa77, [3] s. :\1fbil. kolor. ;\1fc21 cm.\1e\1faLektura dla klasy I szkoły podstawowej.\1e\1faŻukowski, Jarosław.\1feIl.\1e  \1fa83-7162-522-7\1e  \1fkBC\1e  \1fn713/ŚG\1e  \1fa821.162.1-93\1fbII\1e  \1fa82-93\1fcLiteratura dziecięca polska.\1e  \1f2ddc\1fcBOOK\1e  \1fc130\1fd130\1e\1d00875nas a2200241   4500008004100000020001500041040002700056100002500083245013800108260005800246300002800304500003900332650004300371980002200414990004400436700005400480700003500534920001800569995000700587923001200594942001400606999001300620\1e000904                                  \1e  \1fa8372556490\1e  \1faWA N\1fcWA N\1fdMGBPK\1fePNN\1e\1faKraszewski, Tadeusz.\1e10\1faRobin Hood ;\1fbMarianna, żona Robin Hooda /\1fcwedług legend i opowieści napisał Tadeusz Kraszewski ; [il. Katarzyna Karina Chmiel].\1e  \1faWarszawa :\1fbWydawnictwo "Prószyński i S-ka",\1fc2000.\1e  \1fa492 s. :\1fbil. ;\1fc21 cm.\1e  \1faTyt. okł. i grzbiet.: Robin Hood.\1e 9\1faLiteratura młodzieżowa polska\1fy20 w.\1e  \1fa821.162.1-93\1fbIII\1e  \1fa82-93\1fcLiteratura młodzieżowa polska.\1e12\1faKraszewski, Tadeusz.\1ftMarianna, żona Robin Hooda\1e\1faChmiel, Katarzyna Karina.\1feIl.\1e  \1fa83-7255-649-0\1e  \1fkBC\1e  \1fn720/ŚG\1e  \1f2ddc\1fcBOOK\1e  \1fc131\1fd131\1e\1d00895nas a2200253   4500008004100000020001500041040002700056041000800083100002500091245013800116260005800254300002800312500003900340650004300379980002200422990004400444700005400488700003500542920001800577995000700595923001200602942001400614999001300628\1e000904                                  \1e  \1fa8372556490\1e  \1faWA N\1fcWA N\1fdMGBPK\1fePNN\1e\1fapol\1e\1faKraszewski, Tadeusz.\1e10\1faRobin Hood ;\1fbMarianna, żona Robin Hooda /\1fcwedług legend i opowieści napisał Tadeusz Kraszewski ; [il. Katarzyna Karina Chmiel].\1e  \1faWarszawa :\1fbWydawnictwo "Prószyński i S-ka",\1fc2000.\1e  \1fa492 s. :\1fbil. ;\1fc21 cm.\1e\1faTyt. okł. i grzbiet.: Robin Hood.\1e 9\1faLiteratura młodzieżowa polska\1fy20 w.\1e  \1fa821.162.1-93\1fbIII\1e  \1fa82-93\1fcLiteratura młodzieżowa polska.\1e12\1faKraszewski, Tadeusz.\1ftMarianna, żona Robin Hooda\1e\1faChmiel, Katarzyna Karina.\1feIl.\1e  \1fa83-7255-649-0\1e  \1fkBC\1e  \1fn719/ŚG\1e  \1f2ddc\1fcBOOK\1e  \1fc132\1fd132\1e\1d00678nas a2200229   4500008004100000020001500041040002700056041001300083100002900096245004400125260005200169300002600221546002300247650004600270980002200316990004600338920001800384995000700402923001200409942001400421999001300435\1e000819                                  \1e  \1fa8373890726\1e  \1faWA N\1fcMGBPK\1fdWA N\1fePNN\1e\1fapol\1fhger\1e\1faMay, Karol\1fd(1842-1912).\1e10\1faSkarb w srebrnym jeziorze /\1fcKarol May.\1e  \1faKraków :\1fbWydawnictwo "Zielona Sowa",\1fc[2003].\1e  \1fa311, [1] s. ;\1fc21 cm.\1e  \1faTekst tł. z niem.\1e 9\1faLiteratura młodzieżowa niemiecka\1fy19 w.\1e  \1fa821.112.2-93\1fbIII\1e  \1fa82-93\1fcLiteratura mlodzieżowa niemiecka.\1e  \1fa83-7389-072-6\1e  \1fkBC\1e  \1fn761/ŚG\1e  \1f2ddc\1fcBOOK\1e  \1fc133\1fd133\1e\1d00665nas a2200229   4500008004100000020001500041040002200056041000800078100003300086245004600119260005000165300002600215490003400241830003000275920001800305995000700323923001200330980002200342990004400364942001400408999001300422\1e030103                                  \1e  \1fa8371625049\1e  \1faWA M\1fcWA M\1fdMGBPK\1e\1fapol\1e\1faKrüger, Maria\1fd(1911-1999).\1e00\1faGodzina pąsowej róży /\1fcMaria Krüger.\1e  \1faWrocław :\1fbWydawnictwo "Siedmioróg",\1fc2004.\1e  \1fa199, [1] s. ;\1fc21 cm.\1e\1faTylko! dla Młodzieży! ;\1fv56\1e 0\1faTylko dla Młodzieży\1fv56\1e  \1fa83-7162-504-9\1e  \1fkBC\1e  \1fn722/ŚG\1e  \1fa821.162.1-93\1fbIII\1e  \1fa82-93\1fcLiteratura młodzieżowa polska.\1e  \1f2ddc\1fcBOOK\1e  \1fc134\1fd134\1e\1d00769nas a2200241   4500008004100000020001500041040002200056100003500078245011200113260005600225300002600281490004000307700002800347700002600375700003100401920001800432995000700450923001200457980002100469990001000490942001400500999001300514\1e960612                                  \1e  \1fa8310105991\1e  \1faWa M\1fcWa M\1fdMGBPK\1e\1faLagerlöf, Selma\1fd(1858-1940).\1e00\1faCudowna podróż /\1fcSelma Lagerlöf ; przeł. [ze szw.] Teresa Chłapowska ; [adapt. Tage i Katrin Aurell].\1e  \1faWarszawa :\1fbWydawnictwo "Nasza Księgarnia",\1fc2001.\1e  \1fa102, [2] s. ;\1fc20 cm.\1e\1faLektura Szkolna / Nasza Księgarnia\1e\1faAurell, Katrin.\1feOprac.\1e\1faAurell, Tage.\1feOprac.\1e\1faChłapowska, Teresa.\1feTł.\1e  \1fa83-10-10599-1\1e  \1fkBC\1e  \1fn727/ŚG\1e  \1fa821.113.6-93\1fbII\1e  \1fa82-93\1e  \1f2ddc\1fcBOOK\1e  \1fc135\1fd135\1e\1d00773nas a2200241   4500008004100000020001500041040002200056100003500078245011200113260005600225300002600281490004000307700002800347700002600375700003100401920001800432995000700450923001200457980002100469990001400490942001400504999001300518\1e960612                                  \1e  \1fa8310105991\1e  \1faWa M\1fcWa M\1fdMGBPK\1e\1faLagerlöf, Selma\1fd(1858-1940).\1e00\1faCudowna podróż /\1fcSelma Lagerlöf ; przeł. [ze szw.] Teresa Chłapowska ; [adapt. Tage i Katrin Aurell].\1e  \1faWarszawa :\1fbWydawnictwo "Nasza Księgarnia",\1fc2001.\1e  \1fa102, [2] s. ;\1fc20 cm.\1e\1faLektura Szkolna / Nasza Księgarnia\1e\1faAurell, Katrin.\1feOprac.\1e\1faAurell, Tage.\1feOprac.\1e\1faChłapowska, Teresa.\1feTł.\1e  \1fa83-10-10599-1\1e  \1fkBC\1e  \1fn727/ŚG\1e  \1fa821.113.6-93\1fbII\1e  \1fa82-93\1fbII\1e  \1f2ddc\1fcBOOK\1e  \1fc136\1fd136\1e\1d00644nas a2200205   4500008004100000020001500041040002700056100002900083245008100112260005200193300002100245650004300266980002100309990004400330920001800374995000700392923001200399942001400411999001300425\1e000812                                  \1e  \1fa8387463841\1e  \1faWA N\1fcWA N\1fdMGBPK\1fePNN\1e\1faLegut, Lucyna\1fd(1926- ).\1e10\1faMarzę o ślubie :\1fb(trzecia część "Miłości 13-latki") /\1fcLucyna Legut.\1e  \1faŁódź :\1fbWydawnictwo "Akapit Press",\1fc[2002].\1e  \1fa144 s. ;\1fc20 cm.\1e 9\1faLiteratura młodzieżowa polska\1fy20 w.\1e  \1fa821.162.1-93\1fbIV\1e  \1fa82-93\1fcLiteratura młodzieżowa polska.\1e  \1fa83-87463-84-1\1e  \1fkBC\1e  \1fn729/ŚG\1e  \1f2ddc\1fcBOOK\1e  \1fc137\1fd137\1e\1d00695nas a2200217   4500008004100000020001500041040002700056041000800083100002900091245010700120260005200227300002600279650004300305980002100348990004400369920001800413995000700431923001200438942001400450999001300464\1e000812                                  \1e  \1fa8387463531\1e  \1faWA N\1fcWA N\1fdMGBPK\1fePNN\1e\1fapol\1e\1faLegut, Lucyna\1fd(1926- ).\1e10\1faTa miłość przetrwa :\1fb(dalsze losy bohaterki powieści "Miłość trzynastolatki") /\1fcLucyna Legut.\1e  \1faŁódź :\1fbWydawnictwo "Akapit Press",\1fc[2002].\1e  \1fa123, [1] s. ;\1fc20 cm.\1e 9\1faLiteratura młodzieżowa polska\1fy20 w.\1e  \1fa821.162.1-93\1fbIV\1e  \1fa82-93\1fcLiteratura młodzieżowa polska.\1e  \1fa83-87463-53-1\1e  \1fkBC\1e  \1fn730/ŚG\1e  \1f2ddc\1fcBOOK\1e  \1fc138\1fd138\1e\1d00702nas a2200217   4500008004100000020001500041040002200056100003500078245010000113260005600213300003300269700003000302700002400332920001800356995000700374923001200381980002100393990004300414942001400457999001300471\1e040102                                  \1e  \1fa8310109385\1e  \1faWA M\1fcWA M\1fdMGBPK\1e\1faLindgren, Astrid\1fd(1907-2002).\1e00\1faDzieci z Bullerbyn /\1fcAstrid Lindgren ; przeł. [ze szw.] Irena Wyszomirska ; il. Ilon Wikland.\1e  \1faWarszawa :\1fbWydawnictwo "Nasza Księgarnia",\1fc2004.\1e  \1fa285, [3] s. :\1fbil. ;\1fc21 cm.\1e\1faWyszomirska, Irena.\1feTł.\1e\1faWikland, Ilon.\1feIl.\1e  \1fa83-10-10938-5\1e  \1fkBC\1e  \1fn740/ŚG\1e  \1fa821.113.6-93\1fbII\1e  \1fa82-93\1fcLiteratura dziecięca szwedzka.\1e  \1f2ddc\1fcBOOK\1e  \1fc139\1fd139\1e\1d00702nas a2200217   4500008004100000020001500041040002200056100003500078245010000113260005600213300003300269700003000302700002400332920001800356995000700374923001200381980002100393990004300414942001400457999001300471\1e040102                                  \1e  \1fa8310109385\1e  \1faWA M\1fcWA M\1fdMGBPK\1e\1faLindgren, Astrid\1fd(1907-2002).\1e00\1faDzieci z Bullerbyn /\1fcAstrid Lindgren ; przeł. [ze szw.] Irena Wyszomirska ; il. Ilon Wikland.\1e  \1faWarszawa :\1fbWydawnictwo "Nasza Księgarnia",\1fc2004.\1e  \1fa285, [3] s. :\1fbil. ;\1fc21 cm.\1e\1faWyszomirska, Irena.\1feTł.\1e\1faWikland, Ilon.\1feIl.\1e  \1fa83-10-10938-5\1e  \1fkBC\1e  \1fn739/ŚG\1e  \1fa821.113.6-93\1fbII\1e  \1fa82-93\1fcLiteratura dziecięca szwedzka.\1e  \1f2ddc\1fcBOOK\1e  \1fc140\1fd140\1e\1d00727nas a2200229   4500008004100000020001500041040002200056041001300078100003500091245010000126260005600226300003300282700003000315700002400345920001800369995000700387923001200394980002100406990004300427942001400470999001300484\1e040102                                  \1e  \1fa8310109385\1e  \1faWA M\1fcWA M\1fdMGBPK\1e\1fapol\1fhswe\1e\1faLindgren, Astrid\1fd(1907-2002).\1e00\1faDzieci z Bullerbyn /\1fcAstrid Lindgren ; przeł. [ze szw.] Irena Wyszomirska ; il. Ilon Wikland.\1e  \1faWarszawa :\1fbWydawnictwo "Nasza Księgarnia",\1fc2004.\1e  \1fa285, [3] s. :\1fbil. ;\1fc21 cm.\1e\1faWyszomirska, Irena.\1feTł.\1e\1faWikland, Ilon.\1feIl.\1e  \1fa83-10-10938-5\1e  \1fkBC\1e  \1fn738/ŚG\1e  \1fa821.113.6-93\1fbII\1e  \1fa82-93\1fcLiteratura dziecięca szwedzka.\1e  \1f2ddc\1fcBOOK\1e  \1fc141\1fd141\1e\1d00660nas a2200217   4500008004100000020001500041040002200056041000800078100003400086245007200120260004100192300004000233700004300273920001800316995000700334923001200341980002100353990004100374942001400415999001300429\1e030103                                  \1e  \1fa8308034721\1e  \1faWA M\1fcWA M\1fdMGBPK\1e\1fapol\1e\1faKern, Ludwik Jerzy\1fd(1921- ).\1e00\1faFerdynand Wspaniały /\1fcLudwik Jerzy Kern ; il. Kazimierz Mikulski.\1e  \1faKraków :\1fbWydaw. Literackie,\1fc2004.\1e  \1fa130, [2] s. :\1fbil. kolor. ;\1fc24 cm.\1e\1faMikulski, Kazimierz\1fd(1918-1998).\1feIl.\1e  \1fa83-08-03472-1\1e  \1fkBC\1e  \1fn688/ŚG\1e  \1fa821.162.1-93\1fbII\1e  \1fa82-93\1fcLiteratura dziecięca polska.\1e  \1f2ddc\1fcBOOK\1e  \1fc142\1fd142\1e\1d00605nas a2200217   4500008004100000020001500041040002200056041000800078100003700086245004300123250001300166260005200179300002600231920001800257995000700275923001200282980002200294990004400316942001400360999001300374\1e011002                                  \1e  \1fa8372202281\1e  \1faWA M\1fcWA M\1fdMGBPK\1e\1fapol\1e\1faNienacki, Zbigniew\1fd(1929-1994).\1e00\1faKsięga urwisów /\1fcZbigniew Nienacki.\1e  \1faWyd. 20.\1e  \1faŁódź :\1fbWydawnictwo "Zielona Sowa",\1fc[2002].\1e  \1fa334, [2] s. ;\1fc21 cm.\1e  \1fa83-7220-228-1\1e  \1fkBC\1e  \1fn807/ŚG\1e  \1fa821.162.1-93\1fbIII\1e  \1fa82-93\1fcLiteratura młodzieżowa polska.\1e  \1f2ddc\1fcBOOK\1e  \1fc143\1fd143\1e\1d00604nas a2200205   4500008004100000020001500041040002200056100002800078245004700106260005600153300002600209440003300235920001800268995000700286923001200293980002200305990004400327942001400371999001300385\1e001121                                  \1e  \1fa8310108990\1e  \1faWA M\1fcWA M\1fdMGBPK\1e\1faNowacka, Ewa\1fd(1934- ).\1e00\1faMałgosia contra Małgosia /\1fcEwa Nowacka.\1e  \1faWarszawa :\1fbWydawnictwo "Nasza Księgarnia",\1fc2004.\1e  \1fa223, [1] s. ;\1fc21 cm.\1e 0\1faO Dziewczynach dla Dziewczyn\1e  \1fa83-10-10899-0\1e  \1fkBC\1e  \1fn813/ŚG\1e  \1fa821.162.1-93\1fbIII\1e  \1fa82-93\1fcLiteratura młodzieżowa polska.\1e  \1f2ddc\1fcBOOK\1e  \1fc144\1fd144\1e\1d00604nas a2200205   4500008004100000020001500041040002200056100002800078245004700106260005600153300002600209440003300235920001800268995000700286923001200293980002200305990004400327942001400371999001300385\1e001121                                  \1e  \1fa8310108990\1e  \1faWA M\1fcWA M\1fdMGBPK\1e\1faNowacka, Ewa\1fd(1934- ).\1e00\1faMałgosia contra Małgosia /\1fcEwa Nowacka.\1e  \1faWarszawa :\1fbWydawnictwo "Nasza Księgarnia",\1fc2004.\1e  \1fa223, [1] s. ;\1fc21 cm.\1e 0\1faO Dziewczynach dla Dziewczyn\1e  \1fa83-10-10899-0\1e  \1fkBC\1e  \1fn814/ŚG\1e  \1fa821.162.1-93\1fbIII\1e  \1fa82-93\1fcLiteratura młodzieżowa polska.\1e  \1f2ddc\1fcBOOK\1e  \1fc145\1fd145\1e\1d00624nas a2200217   4500008004100000020001500041040002200056041000800078100002800086245004700114260005600161300002600217440003300243920001800276995000700294923001200301980002200313990004400335942001400379999001300393\1e001121                                  \1e  \1fa8310108990\1e  \1faWA M\1fcWA M\1fdMGBPK\1e\1fapol\1e\1faNowacka, Ewa\1fd(1934- ).\1e00\1faMałgosia contra Małgosia /\1fcEwa Nowacka.\1e  \1faWarszawa :\1fbWydawnictwo "Nasza Księgarnia",\1fc2004.\1e  \1fa223, [1] s. ;\1fc21 cm.\1e 0\1faO Dziewczynach dla Dziewczyn\1e  \1fa83-10-10899-0\1e  \1fkBC\1e  \1fn815/ŚG\1e  \1fa821.162.1-93\1fbIII\1e  \1fa82-93\1fcLiteratura młodzieżowa polska.\1e  \1f2ddc\1fcBOOK\1e  \1fc146\1fd146\1e\1d00521nas a2200193   4500040001700000008004100017020001500058920001800073995000700091923001200098100003600110245003300146260004300179300002700222980001600249990003500265942001400300999001300314\1e  \1famgbpk\1fcmgbpk\1e050430P        pol                      \1e  \1fa8372974179\1e  \1fa83-7297-417-9\1e  \1fkBC\1e  \1fn799/ŚG\1e\1faNałkowska, Zofia\1fd(1884-1954).\1e00\1faGranica /\1fcZofia Nałkowska.\1e  \1faWarszawa :\1fbWydawnictwo "Sara",\1fc2003.\1e  \1fa0254, [2] s. ;\1fb21 cm.\1e  \1fa821.162.1-3\1e  \1fa821.162.1-3\1fcPowieść polska.\1e  \1f2ddc\1fcBOOK\1e  \1fc147\1fd147\1e\1d00913nam0a2200205 u04500001000500000003000700005005001700012008004100029041000800070084001300078110004400091245003500135260004300170300002400213520035600237590004800593650001600641650003700657999001300694\1e7874\1ePE14.1\1e20120120101719.0\1e000000e20090000xxk                 eng  \1e\1fbeng\1e\1faCH-00316\1e\1faBritish Pharmacopoeia Commission Office\1e00\1faBritish Pharmacopoeia 2010^ien\1e  \1faLondon :\1fbThe Stationery Office,\1fc2009\1e  \1fa[4000] p. :\1fb^bilus\1e  \1faContiene: v.1: medicinal and phamaceutical substances (A-I) v.2: medicinal and phamaceutical substances (J-Z) v.3: Blood related products, immunological products, radiopharmaceutical preparations, surgical materials, homoeophatic preparations v.4: general notices, infrared reference spectra, supplementary chapters. British pharmacopoeia (veterinary)\1e  \1faEUROAMERICAN BUSINES/6450.00 SOLES/17122009\1e12\1faFarmacopeas\1e12\1faPreparaciones Farmac��uticas\1e  \1fc148\1fd148\1e\1d00627nam0a2200169 u04500001000500000003000700005008004100012084001600053100004300069245013800112260007700250300002800327590004700355650002400402650001800426999001300444\1e7873\1ePE14.1\1e000000e19990000sp                  spa  \1e\1faCENSO-01353\1e\1faSebasti��n Garc��a, Olga\1fus.af\1e00\1faEfectos del ambiente f��sico de trabajo sobre las personas: respuestas psicofisiol��gicas, subjetivas y de comportamiento^ies\1e  \1faMadrid :\1fbInstituto Nacional de Seguridad e Higiene en el Trabajo,\1fc1999\1e  \1fa79 p. :\1fb^bilus, ^bgraf\1e  \1faOC-1270-2009/EUROAMERICAN BUSINES/89 SOLES\1e12\1faAmbiente de Trabajo\1e12\1faSalud Laboral\1e  \1fc149\1fd149\1e\1d00466nam0a2200157 u04500001000500000003000700005008004100012084001600053100003100069245003800100260004200138300002600180590006100206650002800267999001300295\1e7872\1ePE14.1\1e000000e20000000xxu                 eng  \1e\1faCENSO-01354\1e\1faPapirer, Eug��ne\1fus.af\1e00\1faAdsorption on silica surfaces^ien\1e  \1faNew York :\1fbMarcel Dekker, Inc,\1fc2000\1e  \1faxiii,753 p. :\1fb^bgraf\1e  \1faOC-1270-2009/EUROAMERICAN BUSINES/2450.00 SOLES/17122009\1e12\1faDi��xido de Silicio\1e  \1fc150\1fd150\1e\1d00758nam0a2200229 u04500001000500000003000700005008004100012084001600053100003700069700005200106700004600158700003200204700004100236700003400277245004500311260003800356300002100394590006100415650001800476650002100494999001300515\1e7871\1ePE14.1\1e000000e20030000sp                  spa  \1e\1faCENSO-01355\1e\1faGarc��a Leyte, Gerardo\1fus.af\1e\1faMart��n Borrego, Jos�� ��ngel\1fus.af\1e\1faRu��z D��ez, Jos�� Luis\1fus.af\1e\1faRamos Learra, Alfonso\1fus.af\1e\1faBarbero Marcos, Javier Alberto\1fus.af\1e\1faRubio G��mez, Jorge\1fus.af\1e00\1faIluminaci��n y seguridad laboral^ies\1e  \1faMadrid :\1fbEditorial MAPFRE,\1fc2003\1e  \1fa648 p. :\1fb^bilus\1e  \1faOC-1270-2009/Euroamerican Busines/S/. 700 soles/17122009\1e12\1faSalud Laboral\1e12\1faIluminaci��n\1e  \1fc151\1fd151\1e\1d00616nam0a2200217 u04500001000500000003000700005005001700012008004100029084001600070110002600086245003700112260003800149300002100187590004200208650001800250650003200268650003000300650002100330650003400351999001300385\1e7870\1ePE14.1\1e20120120101719.0\1e000000e19910000sp                  spa  \1e\1faCENSO-01356\1e\1faFundaci��n MAPFRE\1e00\1faManual de higiene industrial^ies\1e  \1faMadrid :\1fbEditorial MAPFRE,\1fc1991\1e  \1fa903 p. :\1fb^bilus\1e  \1faOC 1270-2009/S/.700.00 SOLES/17122009\1e12\1faSalud Laboral\1e12\1faContaminantes Qu��micos\1e12\1faContaminaci��n Sonora\1e12\1faIluminaci��n\1e12\1faContaminantes Biol��gicos\1e  \1fc152\1fd152\1e\1d00455nam0a2200157 u04500001000500000003000700005008004100012084001600053100003500069245004200104260004400146300002900190590003700219650002800256999001300284\1e7869\1ePE14.1\1e000000e19980000xxk                 eng  \1e\1faCENSO-01357\1e\1faLegrand. Andr��\1feedt\1fus.af\1e00\1faThe surface properties of silicas^ien\1e  \1faWest Susses :\1fbJohn Wiley & Sons,\1fc1998\1e  \1fa470 p. :\1fb^bilus, ^bgraf\1e  \1faOC 1270-2009/4000 SOLES/17122009\1e12\1faDi��xido de Silicio\1e  \1fc153\1fd153\1e\1d00576nam0a2200193 u04500001000500000003000700005005001700012008004100029084001600070100002200086245011000108260004800218300001100266590003700277650001400314650002800328650001300356999001300369\1e7868\1ePE14.1\1e20120120101719.0\1e000000e19790000xxu                 eng  \1e\1faCENSO-01358\1e\1faIler, Ralph\1fus.af\1e00\1faThe chemistry of silica: solubility, polymerization, colloid and surface properties, and biochemistry^ien\1e  \1faWashington, D.C :\1fbJohn Wiley & Sons,\1fc1979\1e  \1fa866 p.\1e  \1faOC 1270-2009/3200 SOLES/17122009\1e12\1faSilicatos\1e12\1faDi��xido de Silicio\1e12\1faColoides\1e  \1fc154\1fd154\1e\1d00585nam0a2200193 u04500001000500000003000700005008004100012084001800053100004100071700004300112700003900155245005400194260004000248300001100288650001300299650003800312650002800350999001300378\1e7867\1ePE14.1\1e000000e20070000pe                  spa  \1e\1faCENTRAL-02873\1e\1faContreras Contreras, Fortunato\1fus.af\1e\1faOlaya Guerrero, Julio C��sar\1fus.af\1e\1faPe��a Herrera, Jos��\1fus.af\1e00\1faMarketing en las unidades de informaci��n^ies\1e  \1faLima :\1fbGrupo Bibliodocencia,\1fc2007\1e  \1fa259 p.\1e12\1faMercadeo\1e12\1faAdministraci��n de Biblioteca\1e12\1faServicios de Biblioteca\1e  \1fc155\1fd155\1e\1d00553nam0a2200169 u04500001000500000003000700005008004100012084001800053100004100071700004300112245008500155260003600240300002100276650003500297650003800332999001300370\1e7866\1ePE14.1\1e000000e20050000pe                  spa  \1e\1faCENTRAL-02872\1e\1faContreras Contreras, Fortunato\1fus.af\1e\1faOlaya Guerrero, Julio C��sar\1fus.af\1e00\1faPlaneamiento estrat��gico en bibliotecas y centros de documentaci��n^ies\1e  \1faLima :\1fbEdiciones OSREVI,\1fc2005\1e  \1fa129 p. :\1fb^bilus\1e12\1faPlanificaci��n Estrategica\1e12\1faAdministraci��n de Biblioteca\1e  \1fc156\1fd156\1e\1d00535nam0a2200169 u04500001000500000003000700005008004100012084001800053100003100071700004300102245008400145260003600229300002100265650003400286650003200320999001300352\1e7865\1ePE14.1\1e000000e20060000pe                  spa  \1e\1faCENTRAL-02871\1e\1faContreras, Fortunato\1fus.af\1e\1faOlaya Guerrero, Julio C��sar\1fus.af\1e00\1faDise��o y formulaci��n de proyectos en unidades de informaci��n^ies\1e  \1faLima :\1fbEdiciones OSREVI,\1fc2006\1e  \1fa154 p. :\1fb^bgraf\1e12\1faFormulaci��n de Proyectos\1e12\1faCentros de Informaci��n\1e  \1fc157\1fd157\1e\1d00524nam0a2200157 u04500001000500000003000700005008004100012084001800053100004100071245010300112260007000215300001100285650003400296650002300330999001300353\1e7864\1ePE14.1\1e000000e20060000pe                  spa  \1e\1faCENTRAL-02870\1e\1faContreras Contreras, Fortunato\1fus.af\1e00\1faPlaneamiento estrat��gico para la calidad de los servicios en unidades de informaci��n^ies\1e  \1faLima :\1fbUniversidad Ricardo Palma. Editorial Universitaria,\1fc2006\1e  \1fa142 p.\1e12\1faServicios de Informaci��n\1e12\1faPlanificaci��n\1e  \1fc158\1fd158\1e\1d00398nam0a2200157 u04500001000500000003000700005008004100012084001800053100002600071245002900097260004300126300002000169650001200189650002600201999001300227\1e7863\1ePE14.1\1e000000e20050000xxu                 spa  \1e\1faCENTRAL-02869\1e\1faWyborny, Sheila\1fus.af\1e00\1faThe malaria parasite^ies\1e  \1faWashington, D.C :\1fbThomson Gale,\1fc2005\1e  \1fa32 p. :\1fb^bilus\1e12\1faMalaria\1e12\1faPlasmodium falciparum\1e  \1fc159\1fd159\1e\1d00485nam0a2200169 u04500001000500000003000700005008004100012084001800053110003500071245004200106260002500148300002900173650002700202650002200229650005100251999001300302\1e7862\1ePE14.1\1e000000e20070000pe                  spa  \1e\1faCENTRAL-02868\1e\1faPer��. Ministerio de Salud\1e00\1faPlan nacional concertado de salud^ies\1e  \1faLima :\1fbMINSA,\1fc2007\1e  \1fa111 p. :\1fb^bilus, ^bgraf\1e12\1faPol��tica de Salud\1e12\1faSistemas de Salud\1e12\1faDiagn��stico de la Situaci��n en Salud\1e  \1fc160\1fd160\1e\1d00976nam0a2200205 u04500001000500000003000700005008004100012041000800053084001800061100003300079700003600112245004300148260006400191300002400255520031600279590007700595650004300672650004200715999001300757\1e7861\1ePE14.1\1e000000e19980000xxu                 eng  \1e\1fbspa\1e\1faCENTRAL-02867\1e\1faNelson, Ann Marie\1feedt\1fus.af\1e\1faHorsburgh, C. Robert\1feedt\1fus.af\1e00\1faPathology of emerging infections 2^ien\1e  \1faWashington, D.C :\1fbAmerican Society for Microbiology,\1fc1998\1e  \1faxx,393 p. :\1fb^bilus\1e  \1faContiene: Evolvability of emerging viruses, yellow fever, dengue and other viral hemorrhagic fevers, leptospirosis, human immunodeficiency virus, emerging fungal infections, diphtheria, tuberculosis, mycobaterium avium, chancroid, meningococcal disease, escherichia coli O157:H7, malaria, lymphatic filariasis, \1e  \1faOC 699-07/ Adm de Emp Librer��a Editorial SAC/ 623.00 soles/17032008\1e12\1faEnfermedades Transmisibles\1fxfisiopatol\1e12\1faEnfermedades Transmisibles\1fxepidemiol\1e  \1fc161\1fd161\1e\1d00707nam0a2200193 u04500001000500000003000700005008004100012084001800053100004000071700003000111245020300141260004600344300002000390650002000410650002300430650003300453650001400486999001300500\1e7860\1ePE14.1\1e000000e20090000pe                  spa  \1e\1faCENTRAL-02865\1e\1faMor��n Tello, Andr��s\1fus.af\1e\1faCornejo Salas, Yeri\1fus.af\1e00\1faEstado de salud y nutrici��n del ni��o en Comunidades del R��o Tambo 2008: L��nea de base del Proyecto Apoyo Repsol a Comunidades Ind��genas de las cuencas del R��o Tambo^ies\1e  \1faLima :\1fbC��ritas del Per��,\1fc2009\1e  \1fa64 p. :\1fb^bilus\1e12\1faEstado de Salud\1e12\1faEstado Nutricional\1e12\1faPoblaci��n Ind��gena\1e22\1faPer��\1e  \1fc162\1fd162\1e\1d01255nam0a2200217 u04500001000500000003000700005005001700012008004100029041000800070084001800078110003500096245010000131260002500231300002100256520054300277590011200820650004500932650003300977650001401010999001301024\1e7859\1ePE14.1\1e20120120101719.0\1e000000e20090000pe                  spa  \1e\1fbspa\1e\1faCENTRAL-02866\1e\1faPer��. Ministerio de Salud\1e00\1faPandemia de influenza A (H1N1): experiencias desde la Direcci��n de Salud V Lima Ciudad^ies\1e  \1faLima :\1fbMINSA,\1fc2009\1e  \1fa166 p. :\1fb^bilus\1e  \1faContiene.- aspectos y determinantes de riesgo para enfermedades infecciosas, organizaci��n y respuesta de la DISA V Lima Ciudad, Vigilancia epidemiol��gica de la influenza A (H1N1), respuesta del laboratorio referencial en la detecci��n del virus, intervenci��n de los equipos de alerta respuesta, organizaci��n y respuesta de los servicios de salud, promoci��n de la salud durante la pandemia, comunicaci��n del riesgo durante la pandemia, manejo y abastecimiento de medicamentos e insumos durante la pandemia\1e  \1fa. Per��/MINSA/DISAVLC-09/001 & Documentos metodol��gicos en epidemiolog��a y salud p��blica\1e12\1faSubtipo H1N1 del Virus de la Influenza A\1e12\1faBrotes de Enfermedades\1fxprev\1e22\1faPer��\1e  \1fc163\1fd163\1e\1d00601nam0a2200181 u04500001000500000003000700005008004100012084001800053110003000071245014800101260003000249300002100279650001200300650003600312650003100348650002700379999001300406\1e7858\1ePE14.1\1e000000e20090000pe                  spa  \1e\1faCENTRAL-02864\1e\1faOrganismo Andino de Salud\1e00\1faCompartiendo lecciones aprendidas. Proyecto Control de la Malaria en las Zonas Fronterizas de la Regi��n Andina: un enfoque comunitario^ies\1e  \1faLima :\1fbORAS-CONHU,\1fc2009\1e  \1fa111 p. :\1fb^bilus\1e12\1faMalaria\1e12\1faAprendizaje Basado en Problemas\1e12\1faPromoci��n de la Salud\1e12\1fa��reas Fronterizas\1e  \1fc164\1fd164\1e\1d01030nam0a2200217 u04500001000500000003000700005008004100012041000800053084001600061110004700077245010300124260003400227300002100261520040200282650001800684650003700702650002500739650002200764650001300786999001300799\1e7857\1ePE14.1\1e000000e20050000xxu                 spa  \1e\1fbspa\1e\1faCENSO-01351\1e\1faOrganizaci��n Panamericana de la Salud\1e00\1faSalud y seguridad de los trabajadores del sector salud: manual para gerentes y administradores^ies\1e  \1faWashington, D.C :\1fbOPS,\1fc2005\1e  \1fa167 p. :\1fb^bilus\1e  \1faContiene.- desarrollo de un sistema de gesti��n de salud y seguridad ocupacional para una instituci��n prestadora de servicios de salud, conceptos b��sicos de la gesti��n de salud y seguridad ocupacional, riesgos con efectos potenciales y controles, condiciones generales y seguridad de los establecimientos, herramientas para los programas de salud y seguridad de los trabajadores\1e12\1faSalud Laboral\1e12\1faSector de Atenci��n de Salud\1e12\1faSeguridad de Equipos\1e12\1faRiesgos Laborales\1e12\1faManuales\1e  \1fc165\1fd165\1e\1d01010nam0a2200205 u04500001000500000003000700005008004100012041000800053084001600061100005400077245009500131250000900226260004600235300002100281520036000302590008900662650001800751650002200769999001300791\1e7856\1ePE14.1\1e000000e20070000sp                  spa  \1e\1fbspa\1e\1faCENSO-01350\1e\1faCort��s D��az, Jos�� Mar��a\1fus.af\1e00\1faT��cnicas de prevenci��n de riesgos laborales: seguridad e higiene del trabajo^ies\1e  \1fa9 ed\1e  \1faMadrid :\1fbEditorial T��bar S.L,\1fc2007\1e  \1fa842 p. :\1fb^bilus\1e  \1faContiene.- Introducci��n a la seguridad e higiene del trabajo, seguridad del trabajo, higiene del trabajo, seguridad en el proyecto y mapas de riesgos, ergonom��a, psicosociolog��a aplicada a la prevenci��n, medicina del trabajo, otras actuaciones en materia de prevenci��n de riesgos laborales, organizaci��n de la prevenci��n\1e  \1faOC-112-08/Librer��a Cient��fica y Tecnol��gica SAC/440.00 soles/17032008\1e12\1faSalud Laboral\1e12\1faRiesgos Laborales\1e  \1fc166\1fd166\1e\1d01080nam0a2200229 u04500001000500000003000700005008004100012041000800053084001600061100002900077700002800106245011000134250000900244260005400253300001100307520035300318590008900671650003700760650001900797650002100816999001300837\1e7855\1ePE14.1\1e000000e20030000mx                  spa  \1e\1fbspa\1e\1faCENSO-01349\1e\1faTrue, Bev-Lorraine\1fus.af\1e\1faDreisbach, Robert\1fus.af\1e00\1faManual de toxicolog��a cl��nica de Dreisbach: prevenci��n, diagn��stico y tratamiento^ies\1e  \1fa7 ed\1e  \1faM��xico :\1fbEditorial El Manual Moderno,\1fc2003\1e  \1fa559 p.\1e  \1faProporciona informaci��n general sobre prevenci��n, diagn��stico y tratamiento de intoxicaciones y envenenamientos. Revisa los aspetos m��dicos legales importantes de la intoxicaci��n y el envenenamiento. Se revisan los t��xicos expec��ficos, organizados en agr��colas, industriales, caseros, medicinales y naturales\1e  \1faOC-112-08/Librer��a Cient��fica y Tecnol��gica SAC/665.00 soles/17032008\1e12\1faS��ntomas Toxicol��gicos\1e12\1faEnvenenamiento\1e12\1faToxicolog��a\1e  \1fc167\1fd167\1e\1d00910nam0a2200193 u04500001000500000003000700005008004100012041000800053084001600061100003000077245008300107260005500190300002100245520028800266590008900554650002700643650003300670999001300703\1e7854\1ePE14.1\1e000000e19950000sp                  spa  \1e\1fbspa\1e\1faCENSO-01348\1e\1faBustamante, Antonio\1fus.af\1e00\1faDise��o ergon��mico en la prevenci��n de la enfermedad laboral^ies\1e  \1faMadrid :\1fbEdiciones D��az de Santos S.A,\1fc1995\1e  \1fa110 p. :\1fb^bilus\1e  \1faContiene.- el dise��o ergon��mico, ergonom��a en escarlata, patolog��a de las posturas desustanciadas, desidia de la sedestaci��n, biomec��nica de la pro-posici��n, el s��ndrome del edificio pat��geno, la salud de las casas, el medio pat��geno\1e  \1faOC-112-08/Librer��a Cient��fica y Tecnol��gica SAC/137.00 soles/17032008\1e12\1faIngenier��a Humana\1e12\1faEnfermedades Laborales\1fxprev\1e  \1fc168\1fd168\1e\1d01035nam0a2200265 u04500001000500000003000700005005001700012008004100029041000800070084001600078100003900094700003100133700003100164700003300195700003400228700003100262700002700293245006500320260003100385300002000416520019700436590008900633650003400722999001300756\1e7853\1ePE14.1\1e20120120101719.0\1e000000e20000000cu                  spa  \1e\1fbspa\1e\1faCENSO-01347\1e\1faRicardo Mari��o, Caridad\1fus.af\1e\1faDierksmeier, Gonzalo\1fus.af\1e\1faSu��rez, Benigno\1fus.af\1e\1faHern��ndez, Rafael\1fus.af\1e\1faNela LLanes, Mar��a\1fus.af\1e\1faGarc��a, Maribel\1fus.af\1e\1faLinares, Cecilia\1fus.af\1e00\1faM��todos de an��lisis de residuos de plaguicidas^ies\1e  \1faLa Habana :\1fbINISAV,\1fc2000\1e  \1fa295 p. :\1fb^btab\1e  \1faContiene: 1. M��todos multi-residuales 2.M��todos especiales 3. Cromatograf��a de Capa Delgada 4. Orientaciones al analista 5. Caracter��sticas fundamentales de los plaguicidas\1e  \1faOC-112-08/Librer��a Cient��fica y Tecnol��gica SAC/595.00 soles/17032008\1e12\1faResiduos de Plaguicidas\1fxanal\1e  \1fc169\1fd169\1e\1d00702nam0a2200193 u04500001000500000003000700005005001700012008004100029084001600070100002000086700002000106245017400126250000900300260003500309300002900344590008600373650003600459999001300495\1e7852\1ePE14.1\1e20120120101720.0\1e000000e20060000sp                  spa  \1e\1faCENAN-02084\1e\1faMossel, D\1fus.af\1e\1faMoreno, B\1fus.af\1e00\1faMicrobiolog��a de los alimentos: fundamentos ecol��gicos para garantizar y comprobar la integridad (inocuidad y calidad) microbiol��gica de los alimentos^ies\1e  \1fa2 ed\1e  \1faZaragoza :\1fbAcribia S.A,\1fc2006\1e  \1fa703 p. :\1fb^bilus, ^bgraf\1e  \1faOC 112-08/Librer��a Cient��fica y Tecnol��gica Univ. SAC/598.00 soles\1e12\1faMicrobiolog��a de Alimentos\1e  \1fc170\1fd170\1e\1d00673nam0a2200181 u04500001000500000003000700005005001700012008004100029084001600070110007900086245012400165260003500289300002100324590007100345650003600416650002600452999001300478\1e7851\1ePE14.1\1e20120120101720.0\1e000000e20020000sp                  spa  \1e\1faCENAN-02083\1e\1faInternational Commission on Microbiological Specifications for Foods ICMSF\1e00\1faMicroorganismos de los alimentos7: an��lisis microbiol��gico en la gesti��n de la seguridad alimentaria^ies\1e  \1faZaragoza :\1fbAcribia S.A,\1fc2002\1e  \1fa367 p. :\1fb^bgraf\1e  \1faOC 699-07/Adm de Empresas Librer��a Editorial SAC/382.20 soles\1e12\1faMicrobiolog��a de Alimentos\1e12\1faSeguridad Alimentaria\1e  \1fc171\1fd171\1e\1d01292nam0a2200205 u04500001000500000003000700005005001700012008004100029041000800070084001600078100007000094245002900164260003000193300002800223520067000251590007100921650003600992650004501028999001301073\1e7850\1ePE14.1\1e20120120101720.0\1e000000e20060000xxu                 eng  \1e\1fbspa\1e\1faCENAN-02082\1e\1faMaurer, John\1feedt\1fuUniversity of Georgia Georgia, Estados Unidos.\1e00\1faPCR methods in foods^ien\1e  \1faAthens :\1fbSpringer,\1fc2006\1e  \1fa148 p. :\1fb^bilus, ^btab\1e  \1faEste libro es un manual para estudiantes, profesores y otros profesionales interesados en la biolog��a molecular y su integraci��n en la seguridad alimentaria, por introducir al lector en la PCR de diagn��stico basados en las tecnolog��as utilizadas en la detecci��n de pat��genos en los alimentos: 1. PCR Basics 2. The Mythology of PCR: A Warning to the Wise 3. Sample Preparation for PCR 4. Making PCR a Normal Routine of the Food Microbiology Lab 5. Molecular Detection of Foodborne Bacterial Pathogens 6. Molecular Approaches for the Detection of Foodborne ViralPathogens 7. Molecular Tools for the Identification of Foodborne Parasites \1e  \1faOC 699-07/Adm de Empresas Librer��a Editorial SAC/430.50 soles\1e12\1faMicrobiolog��a de Alimentos\1e12\1faReacci��n en Cadena de la Polimerasa\1e  \1fc172\1fd172\1e\1d01237nam0a2200241 u04500001000500000003000700005005001700012008004100029041000800070084001600078100002200094700001900116245006100135250000900196260003600205300002800241520051500269590007100784650002400855650003600879650006700915999001300982\1e7849\1ePE14.1\1e20120120101720.0\1e000000e19990000sp                  spa  \1e\1fbspa\1e\1faCENAN-02081\1e\1faForsythe, S\1fus.af\1e\1faHayes, P\1fus.af\1e00\1faHigiene de los alimentos, microbiolog��a y HACCP^ies\1e  \1fa2 ed\1e  \1faZaragoza :\1fbACRIBIA. S.A,\1fc1999\1e  \1fa489 p. :\1fb^bilus, ^btab\1e  \1faContiene: Principios fundamentales de microbiolog��a, toxiinfecciones alimentarias y otros peligros transmitidos por los alimentos, deterioro alimenticio, m��todos de examen microbiol��gico, dise��o y construc{thorn}ci��n de la f��brica, disposici��n de la f��brica, dise��o del equipo de procesado de alimentos, HACCP y calidad del producto, limpieza y desinfecci��n, higiene y aprendizaje del personal, programas y legislaci��n mundiales de seguridades alimentaria\1e  \1faOC 699-07/Adm de Empresas Librer��a Editorial SAC/500.00 soles\1e12\1faHigiene Alimentaria\1e12\1faMicrobiolog��a de Alimentos\1e12\1faAn��lisis de Peligros y de Puntos Cr��ticos de Control\1e  \1fc173\1fd173\1e\1d00506nam0a2200193 u04500001000500000003000700005005001700012008004100029084001300070110003200083242003500115245003800150260002300188300002000211650002700231650002700258650001400285999001300299\1e7848\1ePE14.1\1e20120120101720.0\1e000000e20090000pe                  spa  \1e\1faINS-0136\1e\1faInstituto Nacional de Salud\1e10\1faStatistical Yearbook 2008\1fyeng\1e00\1faAnuario estad��stico 2008^ies\1e  \1faLima :\1fbINS,\1fc2009\1e  \1fa278 p. :\1fb^btab\1e12\1faLaboratorios\1fxestadist\1e12\1faAcademias e Institutos\1e22\1faPer��\1e  \1fc174\1fd174\1e\1d00632nam0a2200217 u04500001000500000003000700005005001700012008004100029084003500070110003200105242004500137245005700182250001000239260002300249300001900272650004300291650003500334650001800369650001400387999001300401\1e7847\1ePE14.1\1e20120120101720.0\1e000000e20090000pe                  spa  \1e\1faINS-0135 (Octava Edici��n)\1e\1faInstituto Nacional de Salud\1e10\1faPeruvian Tables of Food Composition\1fyeng\1e00\1faTablas peruanas de composici��n de alimentos^ies\1e  \1fa8a ed\1e  \1faLima :\1fbINS,\1fc2009\1e  \1fa64 p. :\1fb^btab\1e12\1faTabla de Composici��n de Alimentos\1e12\1faAn��lisis de los Alimentos\1e12\1faDieta\1fxnormas\1e22\1faPer��\1e  \1fc175\1fd175\1e\1d01293nam0a2200253 u04500001000500000003000700005005001700012008004100029041000800070084001800078110006900096245010300165260002400268300002000292520058400312650001100896650002800907650002900935650001000964650001500974650002300989650001401012999001301026\1e7846\1ePE14.1\1e20120120101720.0\1e000000e20080000pe                  spa  \1e\1fbspa\1e\1faCENTRAL-02859\1e\1faInstituto Nacional de Estad��stica e Inform��tica (INEI)\1e00\1faResultado definitivos Per��. Censos Nacionales 2007: XI de Poblaci��n y VI de Vivienda^ies\1e  \1faLima :\1fbINEI,\1fc2008\1e  \1fa5 t p. :\1fb^btab\1e  \1faContiene: Tomo1: Aspectos generales.  Poblaci��n -- Tomo 2: Poblaci��n: Caracter��sticas de Educaci��n - Caracter��sticas Econ��micas -- Tomo 3: Poblaci��n: Caracter��sticas Econ��micas -- Tomo 4: Poblaci��n: Caracter��sticas Econ��micas, Caracter��sticas de Estado Civil y Religi��n, Caracter��sticas de Fecundidad -- Tomo 5: Poblaci��n: Caracter��sticas de Fecundidad - Vivienda: Caracter��sticas de la Vivienda -- Tomo 6: Vivienda: Carcter��sticas de la Vivienda - Caracter��sticas de los Hogares\1e12\1faCensos\1e12\1faDatos Demogr��ficos\1e12\1faEducaci��n\1fxestadist\1e12\1faSalud\1e12\1faFertilidad\1e12\1faVivienda\1fxestadist\1e22\1faPer��\1e  \1fc176\1fd176\1e\1d01203nam0a2200253 u04500001000500000003000700005005001700012008004100029041000800070084001800078110004700096245009700143250001000240260003400250300001100284520041200295650005800707650002800765650003400793650002300827650002600850650006000876999001300936\1e7845\1ePE14.1\1e20120120101720.0\1e000000e20090000xxu                 spa  \1e\1fbspa\1e\1faCENTRAL-02848\1e\1faOrganizaci��n Panamericana de la Salud\1e00\1faCurso de gesti��n de calidad y buenas pr��cticas de laboratorio: II edici��n^ies\1e  \1fa2a ed\1e  \1faWashington, D.C :\1fbOPS,\1fc2009\1e  \1fa600 p.\1e  \1faContiene: gu��a del curso, gu��a para tutores, conceptos y normas de calidad, planificaci��n del sistema de calidad, documentaci��n del sistema de calidad, organizaci��n de los recursos humanos, gesti��n de los proveedores, equipos y materiales, gesti��n y control de procesos, gesti��n de no conformidades, el costo de la calidad, satisfacci��n del cliente, bioseguridad\1e12\1faT��cnicas y Procedimientos de Laboratorio\1fxnormas\1e12\1faGesti��n de Calidad\1e12\1faPersonal de Laboratorio\1fxeduc\1e12\1faControl de Calidad\1e12\1faLaboratorios\1fxrec hum\1e12\1faT��cnicas de Laboratorio Cl��nico\1fxm��todos\1e  \1fc177\1fd177\1e\1d00507nam0a2200169 u04500001000500000003000700005005001700012008004100029084001800070100002200088245006600110260004400176300002000220650007000240650001400310999001300324\1e7844\1ePE14.1\1e20120120101720.0\1e000000e20090000pe                  spa  \1e\1faCENTRAL-02858\1e\1faDiller, Guillermo\1e00\1faLa gesti��n del conocimiento en la Red SIDA Per��^ies\1e  \1faLima :\1fbRed Sida Per�� ; CIM,\1fc2009\1e  \1fa53 p. :\1fb^bilus\1e12\1faGesti��n del Conocimiento para la Investigaci��n en Salud\1e22\1faPer��\1e  \1fc178\1fd178\1e\1d00592nam0a2200229 u04500001000500000003000700005005001700012008004100029084001800070110003000088245003700118260002600155300002000181650002500201650001800226650003300244650002000277650001500297650001500312650002200327999001300349\1e7841\1ePE14.1\1e20120120101720.0\1e000000e20090000sz                  eng  \1e\1faCENTRAL-02855\1e\1faWorld Health Organization\1e00\1faWorld health statistics 2009^ien\1e  \1faGinebra :\1fbWHO,\1fc2009\1e  \1fa149 p. :\1fb^btab\1e12\1faIndicadores de Salud\1e12\1faSalud Mundial\1e12\1faServicios de Salud\1fxestadist\1e12\1faDemograf��a\1e12\1faMortalidad\1e12\1faMorbilidad\1e12\1faEsperanza de Vida\1e  \1fc179\1fd179\1e\1d00723nam0a2200217 u04500001000500000003000700005005001700012008004100029084001800070110003000088245007800118260002600196300002400222650004200246650004000288650004200328650004500370650005000415650002700465999001300492\1e7840\1ePE14.1\1e20120120101720.0\1e000000e20080000sz                  eng  \1e\1faCENTRAL-02854\1e\1faWorld Health Organization\1e00\1faFoodborne disease outbreaks: guidelines for investigation and control^ien\1e  \1faGinebra :\1fbWHO,\1fc2008\1e  \1favi, 146 p. :\1fb^btab\1e12\1faContaminaci��n de Alimentos\1fxprev\1e12\1faIntoxicaci��n Alimentaria\1fxprev\1e12\1faEnfermedades Gastrointestinales\1fxprev\1e12\1faInfecciones por Enterobacteriaceae\1fxprev\1e12\1faInfecciones por Enterobacteriaceae\1fxepidemiol\1e12\1faBrotes de Enfermedades\1e  \1fc180\1fd180\1e\1d00631nam0a2200193 u04500001000500000003000700005005001700012008004100029084001800070110009200088245005400180260004900234300001900283650002800302650003700330650004300367650001400410999001300424\1e7839\1ePE14.1\1e20120120101720.0\1e000000e20050000pe                  spa  \1e\1faCENTRAL-02853\1e\1faPer��. Ministerio de Salud. Direcci��n General de Medicamentos Insumos y Drogas\1e00\1faPetitorio nacional de medicamentos esenciales^ies\1e  \1faLima :\1fbMinisterio de Salud ; DIGEMID,\1fc2005\1e  \1fa63 p. :\1fb^btab\1e12\1faMedicamentos Esenciales\1e12\1faLegislaci��n de Medicamentos\1e12\1faPol��tica Nacional de Medicamentos\1e22\1faPer��\1e  \1fc181\1fd181\1e\1d00672nam0a2200217 u04500001000500000003000700005005001700012008004100029084001800070110005100088245008800139260002600227300002000253500002200273650003400295650004800329650003900377650001100416650001400427999001300441\1e7838\1ePE14.1\1e20120120101720.0\1e000000e20090000pe                  spa  \1e\1faCENTRAL-02852\1e\1faPer��. Instituto Nacional de Defensa Civil\1e00\1faCompendio estad��stico de prevenci��n y atenci��n de desastres 2007^ies\1e  \1faLima :\1fbINDECI,\1fc2009\1e  \1fa607 p. :\1fb^btab\1e  \1faIncluye un CD-ROM\1e12\1faDesastres Naturales\1fxestadist\1e12\1faPrevenci��n y Mitigaci��n\1fxestadist\1e12\1faEmergencias en Desastres\1fxestadist\1e12\1faSismos\1e22\1faPer��\1e  \1fc182\1fd182\1e\1d00853nam0a2200253 u04500001000500000003000700005005001700012008004100029041000800070084001800078110006800096245006500164260003900229300002000268520015500288650001100443650002100454650002000475650001900495650003300514650002500547650001400572999001300586\1e7833\1ePE14.1\1e20120120101720.0\1e000000e20090000pe                  spa  \1e\1fbspa\1e\1faCENTRAL-02846\1e\1faInstituto Nacional e Estad��stica e Inform��tica (INEI)\1e00\1faCenso del 2007: an��lisis de temas poblacionales (I)^ies\1e  \1faLima :\1fbUNFPA ; INEI ; CIES,\1fc2009\1e  \1fa60 p. :\1fb^bgraf\1e  \1faPresenta el an��lisis del empleo y la protecci��n social, el an��lisis de g��nero y el an��lisis de la dispersi��n poblacional\1e12\1faEmpleo\1e12\1faSeguridad Social\1e12\1faSeguro de Salud\1e12\1faEnvejecimiento\1e12\1faCrecimiento Demogr��fico\1e12\1faIndicadores de Salud\1e22\1faPer��\1e  \1fc183\1fd183\1e\1d00666nam0a2200217 u04500001000500000003000700005005001700012008004100029084001800070110006900088245006400157260003200221300002100253500006600274650001100340650003400351650002500385650001400410651001100424999001300435\1e7832\1ePE14.1\1e20120120101720.0\1e000000e20090000pe                  spa  \1e\1faCENTRAL-02843\1e\1faInstituto Nacional de Estad��stica e Inform��tica (INEI)\1e00\1faPerfil sociodemogr��fico del departamento de Tumbes^ies\1e  \1faLima :\1fbINEI ; UNFPA,\1fc2009\1e  \1fa249 p. :\1fb^bgraf\1e  \1faCensos Nacionales 2007: XI de Poblaci��n y VI de Vivienda\1e12\1faCensos\1e12\1faIndicadores Demogr��ficos\1e12\1faIndicadores Sociales\1e22\1faPer��\1e 4\1faTumbes\1e  \1fc184\1fd184\1e\1d00670nam0a2200217 u04500001000500000003000700005005001700012008004100029084001800070110006900088245006600157260003200223300002100255500006600276650001100342650003400353650002500387650001400412651001300426999001300439\1e7831\1ePE14.1\1e20120120101720.0\1e000000e20090000pe                  spa  \1e\1faCENTRAL-02842\1e\1faInstituto Nacional de Estad��stica e Inform��tica (INEI)\1e00\1faPerfil sociodemogr��fico del departamento de Moquegua^ies\1e  \1faLima :\1fbINEI ; UNFPA,\1fc2009\1e  \1fa265 p. :\1fb^bgraf\1e  \1faCensos Nacionales 2007: XI de Poblaci��n y VI de Vivienda\1e12\1faCensos\1e12\1faIndicadores Demogr��ficos\1e12\1faIndicadores Sociales\1e22\1faPer��\1e 4\1faMoquegua\1e  \1fc185\1fd185\1e\1d01774nam0a2200229 u04500001000500000003000700005005001700012008004100029041000800070084001800078110013800096245008300234260003200317300001900349520105300368650003201421650002701453650002501480650001401505856001201519999001301531\1e7830\1ePE14.1\1e20120120101720.0\1e000000e20090000pe                  spa  \1e\1fbspa\1e\1faCENTRAL-02840\1e\1faInstituto Nacional de Estad��stica e Inform��tica (INEI).  Direcci��n T��cnica de Demograf��a y Estudios Sociales\1e00\1faIndicadores de resultados identificados en los programas estrat��gicos^ies\1e  \1faLima :\1fbINEI ; USAID,\1fc2009\1e  \1fa86 p. :\1fb^btab\1e  \1faContiene: Indicadores del Programa articulado nutricional: desnutrici��n cr��nica, lactancia exclusiva, prevalencia de anemia, infecci��n respiratoria aguda, enfermedades diarreica aguda, bajo peso al nacer, vacunas completas, controles de crecimiento y desarrollo, ni��o que recibieron suplemento de hierro, acceso a agua segura, servicio de saneamiento b��sico, gestantes que reciben suplemento de hierro.  --  Programa salud mateno neonatal: tasa de mortalidad neonatal, tasa global de fecundidad, mujer en edad f��rtil con conocimiento de alg��n m��todo de planificaci��n familiar, tasa de prevalencia de anticonceptivos, parto institucional, ces��reas, parto en establecimiento de salud, parto atendido por profesional de la salud, nacimiento prematuro, mujeres con demanda insatisfecha de m��todos, gestantes con por lo menos un control prenatal, gestantes con seis atenciones prenatales. --  Programa acceso de la poblaci��n a la identidad: ni��os que no estan incritos en la municipalidad\1e12\1faProgramas de Nutrici��n\1e12\1faSalud Materno-Infantil\1e12\1faIndicadores de Salud\1e22\1faPer��\1e\1fues\1fqpdf\1e  \1fc186\1fd186\1e\1d00688nam0a2200217 u04500001000500000003000700005005001700012008004100029084001800070110003000088245012400118260002600242300002600268650003700294650002500331650002400356650001600380650002900396650003200425999001300457\1e7829\1ePE14.1\1e20120120101720.0\1e000000e20090000sz                  eng  \1e\1faCENTRAL-02841\1e\1faWorld Health Organization\1e00\1faWHO child growth standards: growth velocity based on weight, length and head circumference. Methods and development^ien\1e  \1faGinebra :\1fbWHO,\1fc2009\1e  \1faxix, 242 p. :\1fb^bgraf\1e12\1faAntropometr��a\1fxm��todos\1e12\1faTama��o Corporal\1e12\1faDesarrollo Infantil\1e12\1faCrecimiento\1e12\1faEstandares de Referencia\1e12\1faEvaluaci��n Nutricional\1e  \1fc187\1fd187\1e\1d00588nam0a2200205 u04500001000500000003000700005005001700012008004100029084001800070110006900088245006400157260003200221300002100253650001100274650003400285650002500319650001400344651001100358999001300369\1e7828\1ePE14.1\1e20120120101720.0\1e000000e20080000pe                  spa  \1e\1faCENTRAL-02839\1e\1faInstituto Nacional de Estad��stica e Inform��tica (INEI)\1e00\1faPerfil sociodemogr��fico del departamento de Loreto^ies\1e  \1faLima :\1fbINEI ; UNFPA,\1fc2008\1e  \1fa308 p. :\1fb^bgraf\1e12\1faCensos\1e12\1faIndicadores Demogr��ficos\1e12\1faIndicadores Sociales\1e22\1faPer��\1e 4\1faLoreto\1e  \1fc188\1fd188\1e\1d00684nam0a2200217 u04500001000500000003000700005005001700012008004100029084001800070110006900088245008200157260003200239300002100271500006600292650001100358650003400369650002500403650001400428651001100442999001300453\1e7827\1ePE14.1\1e20120120101720.0\1e000000e20080000pe                  spa  \1e\1faCENTRAL-02838\1e\1faInstituto Nacional de Estad��stica e Inform��tica (INEI)\1e00\1faPerfil sociodemogr��fico de la provincia de Constitucional del Callao^ies\1e  \1faLima :\1fbINEI ; UNFPA,\1fc2008\1e  \1fa241 p. :\1fb^bgraf\1e  \1faCensos Nacionales 2007: XI de Poblaci��n y VI de Vivienda\1e12\1faCensos\1e12\1faIndicadores Demogr��ficos\1e12\1faIndicadores Sociales\1e22\1faPer��\1e 4\1faCallao\1e  \1fc189\1fd189\1e\1d00661nam0a2200217 u04500001000500000003000700005005001700012008004100029084001800070110006900088245006100157260003200218300002100250500006600271650001100337650003400348650002500382650001400407651000900421999001300430\1e7826\1ePE14.1\1e20120120101720.0\1e000000e20080000pe                  spa  \1e\1faCENTRAL-02837\1e\1faInstituto Nacional de Estad��stica e Inform��tica (INEI)\1e00\1faPerfil sociodemogr��fico de la provincia de Lima^ies\1e  \1faLima :\1fbINEI ; UNFPA,\1fc2008\1e  \1fa527 p. :\1fb^bgraf\1e  \1faCensos Nacionales 2007: XI de Poblaci��n y VI de Vivienda\1e12\1faCensos\1e12\1faIndicadores Demogr��ficos\1e12\1faIndicadores Sociales\1e22\1faPer��\1e 4\1faLima\1e  \1fc190\1fd190\1e\1d00725nam0a2200229 u04500001000500000003000700005005001700012008004100029084001800070110006900088245010200157260003200259300002100291500006600312650001100378650003400389650002500423650001400448651000900462651001100471999001300482\1e7825\1ePE14.1\1e20120120101720.0\1e000000e20080000pe                  spa  \1e\1faCENTRAL-02836\1e\1faInstituto Nacional de Estad��stica e Inform��tica (INEI)\1e00\1faPerfil sociodemogr��fico del departamento de Lima y la provincia Constitucional el Callao^ies\1e  \1faLima :\1fbINEI ; UNFPA,\1fc2008\1e  \1fa364 p. :\1fb^bgraf\1e  \1faCensos Nacionales 2007: XI de Poblaci��n y VI de Vivienda\1e12\1faCensos\1e12\1faIndicadores Demogr��ficos\1e12\1faIndicadores Sociales\1e22\1faPer��\1e 4\1faLima\1e 4\1faCallao\1e  \1fc191\1fd191\1e\1d00677nam0a2200217 u04500001000500000003000700005005001700012008004100029084001800070110006900088245007700157260003200234300002100266500006600287650001100353650003400364650002500398650001400423651000900437999001300446\1e7824\1ePE14.1\1e20120120101720.0\1e000000e20090000pe                  spa  \1e\1faCENTRAL-02835\1e\1faInstituto Nacional de Estad��stica e Inform��tica (INEI)\1e00\1faPerfil sociodemogr��fico de la regi��n Lima: Lima provincias^ies\1e  \1faLima :\1fbINEI ; UNFPA,\1fc2009\1e  \1fa364 p. :\1fb^bgraf\1e  \1faCensos Nacionales 2007: XI de Poblaci��n y VI de Vivienda\1e12\1faCensos\1e12\1faIndicadores Demogr��ficos\1e12\1faIndicadores Sociales\1e22\1faPer��\1e 4\1faLima\1e  \1fc192\1fd192\1e\1d00660nam0a2200217 u04500001000500000003000700005005001700012008004100029084001800070110006900088245006100157260003200218300002100250500006600271650001100337650003400348650002500382650001400407651000800421999001300429\1e7823\1ePE14.1\1e20120120101720.0\1e000000e20080000pe                  spa  \1e\1faCENTRAL-02834\1e\1faInstituto Nacional de Estad��stica e Inform��tica (INEI)\1e00\1faPerfil sociodemogr��fico del departamento de Ica^ies\1e  \1faLima :\1fbINEI ; UNFPA,\1fc2008\1e  \1fa305 p. :\1fb^bgraf\1e  \1faCensos Nacionales 2007: XI de Poblaci��n y VI de Vivienda\1e12\1faCensos\1e12\1faIndicadores Demogr��ficos\1e12\1faIndicadores Sociales\1e22\1faPer��\1e 4\1faIca\1e  \1fc193\1fd193\1e\1d00680nam0a2200217 u04500001000500000003000700005005001700012008004100029084001800070110006900088245007100157260003200228300002100260500006600281650001100347650003400358650002500392650001400417651001800431999001300449\1e7822\1ePE14.1\1e20120120101720.0\1e000000e20090000pe                  spa  \1e\1faCENTRAL-02833\1e\1faInstituto Nacional de Estad��stica e Inform��tica (INEI)\1e00\1faPerfil sociodemogr��fico del departamento de Apur��mac^ies\1e  \1faLima :\1fbINEI ; UNFPA,\1fc2009\1e  \1fa287 p. :\1fb^bgraf\1e  \1faCensos Nacionales 2007: XI de Poblaci��n y VI de Vivienda\1e12\1faCensos\1e12\1faIndicadores Demogr��ficos\1e12\1faIndicadores Sociales\1e22\1faPer��\1e 4\1faApur��mac\1e  \1fc194\1fd194\1e\1d00670nam0a2200217 u04500001000500000003000700005005001700012008004100029084001800070110006900088245006600157260003200223300002100255500006600276650001100342650003400353650002500387650001400412651001300426999001300439\1e7821\1ePE14.1\1e20120120101720.0\1e000000e20090000pe                  spa  \1e\1faCENTRAL-02832\1e\1faInstituto Nacional de Estad��stica e Inform��tica (INEI)\1e00\1faPerfil sociodemogr��fico del departamento de Amazonas^ies\1e  \1faLima :\1fbINEI ; UNFPA,\1fc2009\1e  \1fa287 p. :\1fb^bgraf\1e  \1faCensos Nacionales 2007: XI de Poblaci��n y VI de Vivienda\1e12\1faCensos\1e12\1faIndicadores Demogr��ficos\1e12\1faIndicadores Sociales\1e22\1faPer��\1e 4\1faAmazonas\1e  \1fc195\1fd195\1e\1d00956nam0a2200229 u04500001000500000003000700005005001700012008004100029041000800070084001800078110006900096245011400165250000900279260003200288300002000320520028900340650001100629650003400640650002500674650001400699999001300713\1e7820\1ePE14.1\1e20120120101720.0\1e000000e20080000pe                  spa  \1e\1fbspa\1e\1faCENTRAL-02831\1e\1faInstituto Nacional de Estad��stica e Inform��tica (INEI)\1e00\1faPerfil sociodemogr��fico del Per��. Censos Nacionales 2007: XI de Poblaci��n y VI de Vivienda^ies\1e  \1fa2 ed\1e  \1faLima :\1fbINEI ; UNFPA,\1fc2008\1e  \1fa474 p. :\1fb^btab\1e  \1faContiene: caracter��stica de poblaci��n, caracter��sticas sociales, participaci��n en la actividad econ��mica, caracter��sticas de la vivienda, caracter��sticas del hogar, estratificaci��n de de{D3}rta,emtps en base a indicadores sociodemogr��ficos\1e12\1faCensos\1e12\1faIndicadores Demogr��ficos\1e12\1faIndicadores Sociales\1e22\1faPer��\1e  \1fc196\1fd196\1e\1d00738nam0a2200229 u04500001000500000003000700005005001700012008004100029084001800070110007400088245012000162260002600282300002000308650002500328650003200353650003400385650001900419650002800438650001400466651001500480999001300495\1e7819\1ePE14.1\1e20120120101720.0\1e000000q2009    pe                  spa  \1e\1faCENTRAL-02825\1e\1faInstituto Nacional de Estad��stica e Inform��tica (INEI)\1feaut\1e00\1faPrincipales indicadores demogr��ficos, sociales y econ��micos a nivel provincial y distrital: Cajamarca^ies\1e  \1faLima :\1fbINEI,\1fc[2009]\1e  \1fa602 p. :\1fb^btab\1e12\1faIndicadores Sociales\1e12\1faIndicadores Econ��micos\1e12\1faFactores Socioecon��micos\1e12\1faPoblaci��n\1e12\1faDatos Demogr��ficos\1e22\1faPer��\1e 4\1faCajarmarca\1e  \1fc197\1fd197\1e\1d00666nam a22001812  4500010002200000084001400022084001600036084000700052084000700059100003000066245020000096260003300296300001200329440009100341850003200432942000700464999001300471\1e  \1fa978-5-8183-1248-4\1e  \1f773\1farubbk\1e  \1f776,1\1fzrubbk\1e  \1f778\1e  \1f779\1e  \1f8Зупарова, Л. Б.\1e  \1faАналитико-синтетическая переработка информации\1fbучебник\1fcЛ. Б. Зупарова, Т.А. Зайева; под ред. Ю. Н. Столярова\1e  \1faМосква\1fbФАИР\1fc2007\1e  \1fa400 с.\1e  \1faСпециальный издательский проект для библиотек\1e  \1faГИВЦ\1fbЛБС\1fpК-191750\1e  \1fcBK\1e  \1fc198\1fd198\1e\1d00232nam a22000972  4500041000800000245004500008260003500053300002600088942000700114999001300121\1e  \1faspa\1e03\1faLa sagrada Biblia\1fctraduccion de alguien\1e  \1faEstados Unidos\1fbStampley\1fc1965\1e  \1favi, 1466p.\1fbil\1fc29cm.\1e  \1fcBK\1e  \1fc199\1fd199\1e\1d00753nam a22001932  4500008004100000040001200041041000800053100002300061245007900084260003100163300002100194440002300215600003300238700003300271942000700304999001300311952011700324952011800441\1e111012s1972    ag abo g      000 0 spa d\1e  \1faMxMUNAL\1e  \1faspa\1e\1faLassaigne, Jacques\1e10\1faVincent Van Gogh\1fcJAcques Lassaigne, traducción María Paola de Benedetti\1e  \1faArgentina\1fbViscontea\1fc1975\1e  \1fa93p.\1fbil.\1fc33cm.\1e  \1faLos impresionistas\1e14\1faGogh, Vincent Van\1fd1853-1890\1e\1faBenedetti, María Paola\1fetr.\1e  \1fcBK\1e  \1fc200\1fd200\1e  \1fw2012-01-20\1fpTEST99999\1fr2012-01-20\1f40\1f00\1f6NF_LASS\1f9137\1fbPVL\1f10\1foNF LASS\1fd2012-01-20\1f8NFIC\1f70\1f2ddc\1fg20.00\1fyBK\1faPVL\1e  \1fw2012-01-20\1fpTEST100000\1fr2012-01-20\1f40\1f00\1f6NF_LASS\1f9138\1fbPVL\1f10\1foNF LASS\1fd2012-01-20\1f8NFIC\1f70\1f2ddc\1fg20.00\1fyBK\1faPVL\1e\1d00383nam a22000972  4500008004100000020001500041210012100056942000700177999001300184952008800197\1e111013t        xxu||||| |||| 00| 0 eng d\1e  \1fa966734326X\1e  \1faМікроскопічна теорія фазових переходів у тривимірних системах\1e  \1fcBK\1e  \1fc201\1fd201\1e  \1fw2011-10-13\1fp45764574576\1fr2011-10-13\1f40\1f00\1f9127\1fbCPL\1f10\1fd2011-10-13\1f70\1f2ddc\1fyBK\1faCPL\1e\1d00970cas a2200301   4500001000900000008004100009010001700050022001400067040000800081041001100089082001100100245001700111260004800128300002100176310001600197362002100213362004800234546002300282630005200305650003900357650006200396710003300458710005800491710005800549850004100607942000700648999001300655\1e11240964\1e800422d19781986nr fr p      f0    0eng d\1e  \1fa   80645728 \1e  \1fa0378-7990\1e  \1faWaU\1e\1faengfre\1e  \1fa016.96\1e00\1faAfribiblios.\1e  \1fa[Lagos,\1fbNational Library of Nigeria, etc.]\1e  \1fav.\1fbill.\1fc23 cm.\1e  \1faSemiannual,\1e\1fav. 1- Mar. 1978-\1e\1faCeased with v. 9, no. 2, published in 1986.\1e  \1faEnglish or French.\1e00\1faInternational Serials Data System\1fvPeriodicals.\1e 0\1faBibliography\1fzAfrica\1fvPeriodicals.\1e 0\1faInternational Standard Book Numbers\1fzAfrica\1fvPeriodicals.\1e\1faNational Library of Nigeria.\1e\1faLagos Seminar on Bibliographic Control and Standards.\1e\1faAfrican Standing Conference on Bibliographic Control.\1e  \1faCaOTULS\1faDLC\1faIEN\1faIaU\1faInU\1faMH\1faWaU\1e  \1fcCR\1e  \1fc202\1fd202\1e\1d00837cam a22002538a 4500001000900000008004100009010001700050020001800067020001800085040000800103082001900111100002200130245011900152260005000271263000900321300001100330500010800341650002800449650002800477650002100505700003700526942000700563999001300570\1e16648777\1e110211s2011    enk           000 0 eng  \1e  \1fa  2011006122\1e  \1fa9780749462307\1e  \1fa9780749462314\1e  \1faDLC\1e00\1fa152.4028/7\1f222\1e\1faCarter, Philip J.\1e10\1faTest your emotional intelligence :\1fbimprove your EQ and learn how to impress potential employers /\1fcPhilip Carter.\1e  \1faLondon ;\1faPhiladelphia :\1fbKogan Page,\1fcc2011.\1e  \1fa1111\1e  \1fap. cm.\1e  \1fa"First published in Great Britain and the United States in 2009 by Kogan Page Limited as Test Your EQ."\1e 0\1faEmotional intelligence.\1e 0\1faPersonality assessment.\1e 0\1faSelf-evaluation.\1e\1faCarter, Philip J.\1ftTest your EQ.\1e  \1fcMX\1e  \1fc203\1fd203\1e\1d00981nab a2200205 a 4500001001000000008004100010020002200051082001100073100001800084245035800102260005900460300001700519440001800536700002000554700004300574850003400617942000700651999001300658952010400671\1e100446981\1e                       r           ger  \1e  \1fa9783499625381\1fbh.\1euc\1fa791.43\1e  \1faMonaco, James\1e  \1faFilm verstehen\1fbKunst, Technik, Sprache, Geschichte und Theorie des Films und der neuen Medien : mit einer Einf�hrung in Multimedia\1fcJames Monaco ; deutsche Fassung herausgegeben von Hans-Michael Bock ; mit Grafiken von David Lindroth ; �bersetzt von Brigitte Westermeier, Robert Wohlleben und Hans-Michael Bock ; redaktionelle Mitarbeit: Olaf Brill\1e  \1faReinbek bei Hamburg\1fbRowohlt Taschenbuch Verlag\1fcc2009\1e  \1fa810 s.\1fbill.\1e  \1farororo\1fv62538\1e  \1faLindroth, David\1e  \1faBock, Hans-Michael\1fwBock, Hans Michael\1e  \1faHI�\1fbHI�/hald\1fc791.43 Mon\1e  \1fcMU\1e  \1fc204\1fd204\1e  \1fw2011-11-03\1fr2011-11-03\1f40\1f00\1f6791_430000000000000\1f9128\1fbCPL\1f10\1fo791.43\1fd2011-11-03\1f70\1f2ddc\1fyMU\1faCPL\1e\1d01168cjm a22002173a 4500001000900000007001500009008004100024010001700065024001700082028004000099040000800139245012400147260005500271300004100326500001800367500001800385505045200403942000700855999001300862952007500875\1e14268364\1esd fsngnnmmned\1e060216s2005    cauppn|           |      \1e  \1fa  2006572204\1e\1fa093624963127\1e02\1fa49631-2\1fbWarner Sunset/Warner Bros.\1e  \1faDLC\1e00\1faHarry Potter and the goblet of fire\1fh[sound recording] :\1fboriginal motion picture soundtrack /\1fcmusic by Patrick Doyle.\1e  \1faBurbank, CA :\1fbWarner Sunset/Warner Bros.,\1fcp2005.\1e  \1fa1 sound disc :\1fbdigital ;\1fc4 3/4 in.\1e  \1faCompact disc.\1e  \1faBrief record.\1e\1faThe story continues -- Frank dies -- The Quidditch world cup -- The dark mark -- Foreign visitors arrive -- The goblet of fire -- Rita Skeeter -- Sirius fire -- Harry sees dragons -- Golden egg -- Neville's waltz -- Harry in winter -- Potter waltz -- Underwater secrets -- The black lake -- Hogwarts' march -- The maze -- Voldemort -- Death of Cedric -- Another year ends -- Hogwarts' hymn -- Do the hippogriff -- This is the night -- Magic works.\1e  \1fcBK\1e  \1fc205\1fd205\1e  \1fw2011-11-04\1f70\1fr2011-11-04\1f40\1f2ddc\1f00\1f9129\1fbCPL\1fyBK\1f10\1fd2011-11-04\1faCPL\1e\1d00617nam a2200181 a 4500001001000000008004100010020001800051100001800069245007200087260003000159300004600189500002400235700001700259850003400276942000700310999001300317952010500330\1e092806473\1e                                   eng  \1e  \1fa9780747586432\1e  \1faRowling, J.K.\1e  \1faHarry Potter and the chamber of secrets\1fcby J.K. Rowling\1fhlydopptak\1e  \1faLondon\1fbBloomsbury\1fcc2000\1e  \1fa8 plater (CD) (9 t 40 min)\1fc12 cm, i eske\1e  \1faLest av Stephen Fry\1e  \1faFry, Stephen\1e  \1faUBT�\1fbUBT/KS lyd/bilde\1fc814\1e  \1fcBK\1e  \1fc206\1fd206\1e  \1fw2011-11-12\1fr2011-11-12\1f40\1f00\1f6645_425000000000000\1f9130\1fbCPL\1f10\1fo645.425\1fd2011-11-12\1f70\1f2ddc\1fyBK\1faCPL\1e\1d01208nab a2200277 a 4500001001000000008004100010020001900051080001300070082001100083082001300094100002400107245018100131260004000312300001100352440010900363500002800472500006000500600002800560850002700588850003300615850003200648942000700680999001300687952011600700952011400816\1e05004253x\1e                       rx          ger  \1e  \1fa3631521715\1fbh.\1e\1fa830(091)\1e\1fa550.92\1ekj\1fa830.9006\1e  \1faHaberkorn, Michaela\1e  \1faNaturhistoriker und Zeitenseher\1fbGeologie und Poesie um 1800 : der Kreis um Abraham Gottlob Werner (Goethe, A.v. Humboldt, Novalis, Steffens, G.H. Schubert)\1fcMichaela Haberkorn\1e  \1faFrankfurt am Main\1fbPeter Lang\1fc2004\1e  \1fa335 s.\1e  \1faRegensburger Beitr�ge zur deutschen Sprach- und Literaturwissenschaft\1fnReihe B\1fpUntersuchungen\1fvBd. 87\1e  \1faBibliografi: s. 319-335\1e  \1faAvhandling (doktorgrad) - Universit�t Regenberg, 2003\1e  \1faWerner, Abraham Gottlob\1e  \1faUHS\1fbUHS\1fc830.9006 Hab\1e  \1faUBT�\1fbUBT/KS\1fc830(091) Hab\1e  \1faNBO\1fbNB/BRU\1fcMag 550.92 Hab\1e  \1fcBK\1e  \1fc207\1fd207\1e  \1fw2011-11-13\1fp24598\1fr2011-11-13\1f40\1f00\1f6550_920000000000000\1f9131\1fbFFL\1f10\1fo550.92\1fd2011-11-13\1f70\1fcGEN\1f2ddc\1fyBK\1faFFL\1e  \1fw2011-11-13\1fp98765\1fr2011-11-13\1f40\1f00\1f6550_920000000000000\1f9132\1fbCPL\1f10\1fo550.92\1fd2011-11-13\1ft1\1f70\1f2ddc\1fyBK\1faCPL\1e\1d00286    a2200073   4500245006500000999001300065952006900078952006500147\1e  \1faข่าวสารประชาสัมพันธ์\1e  \1fc208\1fd208\1e  \1fw2011-11-19\1fp0098870\1f70\1fr2011-11-19\1f40\1f00\1f9133\1fyBK\1f10\1fd2011-11-19\1e  \1fw2011-11-19\1fp0098871\1f70\1fr2011-11-19\1f40\1f00\1f9134\1f10\1fd2011-11-19\1e\1d00834nam a2200265 a 4500001001000000008004100010015001500051020002200066082001000088082001000098100004100108245015100149260003700300300001800337650002200355650003200377700001800409776001400427850002500441850002400466850002800490850003000518942000700548999001300555\1e082415056\1e                       r           eng  \1e  \1falc07029983\1e  \1fa9780470170779\1fbh.\1ens\1fa005.8\1exh\1fa005.8\1e  \1fa20111122              frey50        \1e  \1faThe web application hacker's handbook\1fbdiscovering and exploiting security flaws\1fcDafydd Stuttard, Marcus Pinto\1fwweb application hacker's handbook\1e  \1faIndianapolis, Ind.\1fbWiley\1fcc2008\1e  \1faxxxii, 736 s.\1e  \1faComputer security\1e  \1faInternet\1fxSecurity measures\1e  \1faPinto, Marcus\1e  \1fw093128983\1e  \1faNITH\1fbNITH\1fc005.8 St\1e  \1faUMN\1fbUMN\1fc005.8 STU\1e  \1faUMN\1fbUMN/INF\1fcK.6.5 Stu\1e  \1faUBT�\1fbUBT/NH\1fcK.6.5 Stu\1e  \1fcBK\1e  \1fc209\1fd209\1e\1d00289nam a22000972  4500008004100000100002300041245002500064942000700089999001300096952008200109\1e111226t        xxu||||| |||| 00| 0 eng d\1e  \1f8zalabany, mohammad\1e  \1fahistory of libraries\1e  \1fcBK\1e  \1fc210\1fd210\1e  \1fw2011-12-26\1fr2011-12-26\1f40\1f00\1f9135\1fbFFL\1f10\1fd2011-12-26\1ft55444\1f70\1f2ddc\1fyBK\1faFFL\1e\1d00450nam a22001697u 4500001001400000003000500014005001700019008004100036020003000077035001000107040001100117100002100128245009900149260000900248990001000257999001300267\1esehn:I01000OL\1esehn\1e20120120101720.0\1e110318t1990uuuuxx           u      und d\1e  \1fa3762723842\1f93-7627-2384-2\1e  \1fa73819\1e  \1fcDE-Hb6\1e\1faPelster, Theodor\1e  \1faArbeitsbuch Deutsch: vom Mittelalter zum Barock; Einfuehrung in Methoden der Texterschliessung\1e  \1fc1990\1e  \1fa73819\1e  \1fc211\1fd211\1e\1d00792nam a2200241 a 4500001001000000008004100010020001900051020002200070082001000092082001100102245011400113260004500227300002200272700001800294700001900312776001400331850002700345850002500372850003000397942000700427999001300434952010300447\1e101747578\1e                       r           eng  \1e  \1fa1449379869\1fbh.\1e  \1fa9781449379865\1fbh.\1exb\1fa006.6\1eug\1fa302.23\1e  \1faBeautiful visualization\1fb[looking at data through the eyes of experts]\1fcedited by Julie Steele, Noah Iliinsky\1e  \1faSebastopol, Calif.\1fbO'Reilly Media\1fc2010\1e  \1faXVI, 397 s.\1fbill.\1e  \1faSteele, Julie\1e  \1faIliinsky, Noah\1e  \1fw111485894\1e  \1faH�L\1fbH�L\1fc006.6 Be\1e  \1faHIG\1fbHIG\1fc302.23 Bea\1e  \1faUBT�\1fbUBT/NH\1fcH.5.0 Bea\1e  \1fcBK\1e  \1fc212\1fd212\1e  \1fw2012-01-02\1fr2012-01-02\1f40\1f00\1f6006_600000000000000\1f9136\1fbCPL\1f10\1fo006.6\1fd2012-01-02\1f70\1f2ddc\1fyBK\1faCPL\1e\1d00621nam a2200169 a 4500005001700000008004100017100002600058245007400084260004800158300001200206500004800218650003400266650001700300650007100317852005000388999001300438\1e20120120101721.0\1e100330s19uu    xx            00    eng d\1e10\1faPe�na, Andrew Rey S\1e  \1faEthnolinguistic vitality of Manide :\1fba thesis /\1fcAndrew Rey S. Pe�\1e  \1faManila :\1fbPhilippine Normal University,\1fc20\1e  \1fa113 lea\1e  \1faThesis (M.A.L.)--Philippine Normal Universi\1e  \1faBilingual education\1fxPhilippi\1e  \1faEthnolinguis\1e  \1faLanguage and languages\1fxManide language\1fxCamarines Norte, Philippi\1e  \1fbM\1fh306.44089\1fiP397\1fp50867\1f6Paper\1f7Gift\1f820100\1e  \1fc213\1fd213\1e\1d
\ No newline at end of file
index c26e5f2..383ee1b 100644 (file)
@@ -48,6 +48,7 @@ sub one_parcel : Test( 17 ) {
                                         undef,         # $quantrec,
                                         undef,         # $user,
                                         undef,         # $cost,
+                                        undef,         # $ecost,
                                         $invoice,         # $invoiceno,
                                         undef,         # $freight,
                                         undef,         # $rrp,
index fd3ad0f..e0c815b 100644 (file)
@@ -276,6 +276,7 @@ sub create_order {
                                         undef,         # $quantrec,
                                         undef,         # $user,
                                         undef,         # $cost,
+                                        undef,         # $ecost,
                                         $param{'invoice'},         # $invoiceno,
                                         undef,         # $freight,
                                         undef,         # $rrp,
diff --git a/t/db_dependent/zebra_config.pl b/t/db_dependent/zebra_config.pl
new file mode 100755 (executable)
index 0000000..581a702
--- /dev/null
@@ -0,0 +1,53 @@
+#!/usr/bin/perl
+
+use Modern::Perl;
+use File::Copy;
+use File::Path qw(make_path);
+use File::Find;
+use File::Basename;
+use File::Spec;
+
+my $source = File::Spec->rel2abs('.');
+my $destination = $ARGV[0];
+
+make_path("$destination/var/lock/zebradb");
+make_path("$destination/var/lock/zebradb/biblios");
+make_path("$destination/var/lock/zebradb/authorities");
+make_path("$destination/var/lib/zebradb");
+make_path("$destination/var/lib/zebradb/biblios");
+make_path("$destination/var/lib/zebradb/biblios/key");
+make_path("$destination/var/lib/zebradb/biblios/register");
+make_path("$destination/var/lib/zebradb/biblios/shadow");
+make_path("$destination/var/lib/zebradb/biblios/tmp");
+make_path("$destination/var/lib/zebradb/authorities");
+make_path("$destination/var/lib/zebradb/authorities/key");
+make_path("$destination/var/lib/zebradb/authorities/register");
+make_path("$destination/var/lib/zebradb/authorities/shadow");
+make_path("$destination/var/lib/zebradb/authorities/tmp");
+make_path("$destination/var/run/zebradb");
+
+$ENV{'INSTALL_BASE'} = $destination;
+$ENV{'__INSTALL_BASE__'} = $destination;
+
+my @files = ( "$source/etc/koha-conf.xml" );
+
+find(sub { push @files, $File::Find::name if ( -f $File::Find::name ); }, "$source/etc/zebradb");
+
+foreach my $file (@files) {
+    my $target = "$file";
+    $target =~ s#$source#$destination#;
+    $target =~ s#etc/zebradb#etc/koha/zebradb#;
+    unlink($target);
+    make_path(dirname($target));
+    copy("$file", "$target");
+    system("perl $source/rewrite-config.PL $target");
+    if ($file =~ m/xml/) {
+        replace("$target", "$destination/intranet/templates", "$source/koha-tmpl/intranet-tmpl");
+    }
+}
+
+
+sub replace {
+    my ($file, $pattern, $replacement) = @_;
+    system("sed -i -e 's#$pattern#$replacement#' $file");
+}
index 3ba93a8..f0ea8f8 100755 (executable)
@@ -53,6 +53,7 @@ my $template_flag;
 if (!defined $op) {
     $template_name = "tools/batchMod.tmpl";
     $template_flag = { tools => '*' };
+    $op = q{};
 } else {
     $template_name = ($del) ? "tools/batchMod-del.tmpl" : "tools/batchMod-edit.tmpl";
     $template_flag = ($del) ? { tools => 'items_batchdel' }   : { tools => 'items_batchmod' };
@@ -440,8 +441,8 @@ foreach my $tag (sort keys %{$tagslib}) {
 $template->param(%$items_display_hashref) if $items_display_hashref;
 $template->param(
     op      => $nextop,
-    $op => 1,
 );
+$template->param( $op => 1 ) if $op;
 
 if ($op eq "action") {
 
@@ -457,9 +458,10 @@ if ($op eq "action") {
 }
 
 foreach my $error (@errors) {
-    $template->param($error => 1);
+    $template->param($error => 1) if $error;
 }
 $template->param(src => $src);
+$template->param(biblionumber => $biblionumber);
 output_html_with_http_headers $input, $cookie, $template->output;
 exit;
 
index 64a4860..0a36a20 100755 (executable)
@@ -7,7 +7,7 @@ use CGI;
 
 use C4::Auth;
 use C4::Output;
-
+use DateTime;
 
 use C4::Calendar;
 
@@ -19,10 +19,13 @@ my $weekday = $input->param('showWeekday');
 my $day = $input->param('showDay');
 my $month = $input->param('showMonth');
 my $year = $input->param('showYear');
+my $day1;
+my $month1;
+my $year1;
 my $title = $input->param('showTitle');
 my $description = $input->param('showDescription');
 my $holidaytype = $input->param('showHolidayType');
-
+my $datecancelrange = $input->param('datecancelrange');
 my $calendardate = sprintf("%04d-%02d-%02d", $year, $month, $day);
 my $isodate = C4::Dates->new($calendardate, 'iso');
 $calendardate = $isodate->output('syspref');
@@ -37,12 +40,53 @@ if ($description) {
     $description = '';
 }   
 
+# We format the date
+my @dateend = split(/[\/-]/, $datecancelrange);
+if (C4::Context->preference("dateformat") eq "metric") {
+    $day1 = $dateend[0];
+    $month1 = $dateend[1];
+    $year1 = $dateend[2];
+}elsif (C4::Context->preference("dateformat") eq "us") {
+    $month1 = $dateend[0];
+    $day1 = $dateend[1];
+    $year1 = $dateend[2];
+} else {
+    $year1 = $dateend[0];
+    $month1 = $dateend[1];
+    $day1 = $dateend[2];
+}
+
+# We make an array with holiday's days
+my @holiday_list;
+if ($year1 && $month1 && $day1){
+            my $first_dt = DateTime->new(year => $year, month  => $month,  day => $day);
+            my $end_dt   = DateTime->new(year => $year1, month  => $month1,  day => $day1);
+
+            for (my $dt = $first_dt->clone();
+                $dt <= $end_dt;
+                $dt->add(days => 1) )
+                {
+                push @holiday_list, $dt->clone();
+                }
+}
 if ($input->param('showOperation') eq 'exception') {
        $calendar->insert_exception_holiday(day => $day,
                                                                                month => $month,
                                                                            year => $year,
                                                                title => $title,
                                                                description => $description);
+} elsif ($input->param('showOperation') eq 'exceptionrange' ) {
+        if (@holiday_list){
+            foreach my $date (@holiday_list){
+                $calendar->insert_exception_holiday(
+                    day         => $date->{local_c}->{day},
+                    month       => $date->{local_c}->{month},
+                    year       => $date->{local_c}->{year},
+                    title       => $title,
+                    description => $description
+                    );
+            }
+        }
 } elsif ($input->param('showOperation') eq 'edit') {
     if($holidaytype eq 'weekday') {
       $calendar->ModWeekdayholiday(weekday => $weekday,
@@ -71,5 +115,31 @@ if ($input->param('showOperation') eq 'exception') {
                                  day => $day,
                                  month => $month,
                                              year => $year);
+}elsif ($input->param('showOperation') eq 'deleterange') {
+    if (@holiday_list){
+        foreach my $date (@holiday_list){
+            $calendar->delete_holiday_range(weekday => $weekday,
+                                            day => $date->{local_c}->{day},
+                                            month => $date->{local_c}->{month},
+                                            year => $date->{local_c}->{year});
+            }
+    }
+}elsif ($input->param('showOperation') eq 'deleterangerepeat') {
+    if (@holiday_list){
+        foreach my $date (@holiday_list){
+           $calendar->delete_holiday_range_repeatable(weekday => $weekday,
+                                         day => $date->{local_c}->{day},
+                                         month => $date->{local_c}->{month});
+        }
+    }
+}elsif ($input->param('showOperation') eq 'deleterangerepeatexcept') {
+    if (@holiday_list){
+        foreach my $date (@holiday_list){
+           $calendar->delete_exception_holiday_range(weekday => $weekday,
+                                         day => $date->{local_c}->{day},
+                                         month => $date->{local_c}->{month},
+                                         year => $date->{local_c}->{year});
+        }
+    }
 }
 print $input->redirect("/cgi-bin/koha/tools/holidays.pl?branch=$branchcode&calendardate=$calendardate");
index 3ef8427..c7a8fd8 100755 (executable)
 # Koha; if not, write to the Free Software Foundation, Inc., 59 Temple Place,
 # Suite 330, Boston, MA  02111-1307 USA
 
-
-use strict;
-use warnings;
+use Modern::Perl;
+use List::MoreUtils qw(uniq);
+use Getopt::Long;
+use CGI;
 use C4::Auth;
+use C4::AuthoritiesMarc;    # GetAuthority
+use C4::Biblio;             # GetMarcBiblio GetXmlBiblio
+use C4::Branch;             # GetBranches
+use C4::Csv;
+use C4::Koha;               # GetItemTypes
 use C4::Output;
-use C4::Biblio;  # GetMarcBiblio GetXmlBiblio
-use C4::AuthoritiesMarc; # GetAuthority
-use CGI;
-use C4::Koha;    # GetItemTypes
-use C4::Branch;  # GetBranches
 use C4::Record;
-use Getopt::Long;
 
 my $query = new CGI;
 
-my $op;
-my $filename;
-my $dbh         = C4::Context->dbh;
-my $marcflavour = C4::Context->preference("marcflavour");
 my $clean;
 my $output_format;
 my $dont_export_items;
@@ -42,6 +38,11 @@ my $deleted_barcodes;
 my $timestamp;
 my $record_type;
 my $help;
+my $op       = $query->param("op")       || '';
+my $filename = $query->param("filename") || 'koha.mrc';
+my $dbh      = C4::Context->dbh;
+my $marcflavour = C4::Context->preference("marcflavour");
+my $format = $query->param("format") || 'iso2709';
 
 # Checks if the script is called from commandline
 my $commandline = not defined $ENV{GATEWAY_INTERFACE};
@@ -51,14 +52,14 @@ if ( $commandline ) {
     # Getting parameters
     $op = 'export';
     GetOptions(
-        'format=s' => \$output_format,
-        'date=s' => \$timestamp,
+        'format=s'          => \$output_format,
+        'date=s'            => \$timestamp,
         'dont_export_items' => \$dont_export_items,
-        'deleted_barcodes' => \$deleted_barcodes,
-        'clean' => \$clean,
-        'filename=s' => \$filename,
-        'record-type=s' => \$record_type,
-        'help|?' => \$help
+        'deleted_barcodes'  => \$deleted_barcodes,
+        'clean'             => \$clean,
+        'filename=s'        => \$filename,
+        'record-type=s'     => \$record_type,
+        'help|?'            => \$help
     );
 
     if ($help) {
@@ -95,313 +96,337 @@ _USAGE_
     # Redirect stdout
     open STDOUT, '>', $filename if $filename;
 
-} else {
+}
+else {
 
-    $op          = $query->param("op") || '';
-    $filename    = $query->param("filename") || 'koha.mrc';
+    $op       = $query->param("op")       || '';
+    $filename = $query->param("filename") || 'koha.mrc';
     $filename =~ s/(\r|\n)//;
 
 }
 
-my ($template, $loggedinuser, $cookie, $flags) = get_template_and_user(
+my ( $template, $loggedinuser, $cookie, $flags ) = get_template_and_user(
     {
-        template_name => "tools/export.tmpl",
-        query => $query,
-        type => "intranet",
+        template_name   => "tools/export.tmpl",
+        query           => $query,
+        type            => "intranet",
         authnotrequired => $commandline,
-        flagsrequired => {tools => 'export_catalog'},
-        debug => 1,
+        flagsrequired   => { tools => 'export_catalog' },
+        debug           => 1,
     }
 );
 
-my $limit_ind_branch = (
-    C4::Context->preference('IndependantBranches') &&
-    C4::Context->userenv &&
-    !(C4::Context->userenv->{flags} & 1) &&
-    C4::Context->userenv->{branch}
-) ? 1 : 0;
+my $limit_ind_branch =
+  (      C4::Context->preference('IndependantBranches')
+      && C4::Context->userenv
+      && !( C4::Context->userenv->{flags} & 1 )
+      && C4::Context->userenv->{branch} ) ? 1 : 0;
 
 my $branch = $query->param("branch") || '';
-if ( C4::Context->preference("IndependantBranches") &&
-     C4::Context->userenv &&
-     !(C4::Context->userenv->{flags} & 1) ) {
+if (   C4::Context->preference("IndependantBranches")
+    && C4::Context->userenv
+    && !( C4::Context->userenv->{flags} & 1 ) )
+{
     $branch = C4::Context->userenv->{'branch'};
 }
 
 my $backupdir = C4::Context->config('backupdir');
 
-if ($op eq "export") {
-    my $charset  = 'utf-8';
-    my $mimetype = 'application/octet-stream';
-    binmode STDOUT, ':encoding(UTF-8)';
-    if ( $filename =~ m/\.gz$/ ) {
-        $mimetype = 'application/x-gzip';
-        $charset = '';
-        binmode STDOUT;
-    } elsif ( $filename =~ m/\.bz2$/ ) {
-        $mimetype = 'application/x-bzip2';
-        binmode STDOUT;
-        $charset = '';
-    }
-    print $query->header(
-        -type => $mimetype,
-        -charset => $charset,
-        -attachment => $filename
-    ) unless ($commandline);
-
-    $record_type           = $query->param("record_type") unless ($commandline);
-    $output_format         = $query->param("output_format") || 'marc' unless ($commandline);
-    my $dont_export_fields = $query->param("dont_export_fields");
-    my @sql_params;
-    my $sql_query;
-
-    my $StartingBiblionumber = $query->param("StartingBiblionumber");
-    my $EndingBiblionumber   = $query->param("EndingBiblionumber");
-    my $itemtype             = $query->param("itemtype");
-    my $start_callnumber     = $query->param("start_callnumber");
-    my $end_callnumber       = $query->param("end_callnumber");
-    $timestamp = ($timestamp) ? C4::Dates->new($timestamp) : '' if ($commandline);
-    my $start_accession =
-      ( $query->param("start_accession") )
-      ? C4::Dates->new( $query->param("start_accession") )
-      : '';
-    my $end_accession =
-      ( $query->param("end_accession") )
-      ? C4::Dates->new( $query->param("end_accession") )
-      : '';
-    $dont_export_items    = $query->param("dont_export_item") unless ($commandline);
-    my $strip_nonlocal_items = $query->param("strip_nonlocal_items");
-
-    my $biblioitemstable = ($commandline and $deleted_barcodes)
-                                ? 'deletedbiblioitems'
-                                : 'biblioitems';
-    my $itemstable = ($commandline and $deleted_barcodes)
-                                ? 'deleteditems'
-                                : 'items';
-
-    my $starting_authid = $query->param('starting_authid');
-    my $ending_authid   = $query->param('ending_authid');
-    my $authtype        = $query->param('authtype');
-
-    if ( $record_type eq 'bibs' ) {
-        if ($timestamp) {
+if ( $op eq "export" ) {
+    if ( $format eq "iso2709" or $format eq "xml" ) {
+        my $charset  = 'utf-8';
+        my $mimetype = 'application/octet-stream';
+        binmode STDOUT, ':encoding(UTF-8)';
+        if ( $filename =~ m/\.gz$/ ) {
+            $mimetype = 'application/x-gzip';
+            $charset  = '';
+            binmode STDOUT;
+        }
+        elsif ( $filename =~ m/\.bz2$/ ) {
+            $mimetype = 'application/x-bzip2';
+            binmode STDOUT;
+            $charset = '';
+        }
+        print $query->header(
+            -type       => $mimetype,
+            -charset    => $charset,
+            -attachment => $filename
+        ) unless ($commandline);
+
+        $record_type = $query->param("record_type") unless ($commandline);
+        $output_format = $query->param("output_format") || 'marc'
+          unless ($commandline);
+        my $export_remove_fields = $query->param("export_remove_fields");
+        my @biblionumbers      = $query->param("biblionumbers");
+        my @itemnumbers        = $query->param("itemnumbers");
+        my @sql_params;
+        my $sql_query;
+        my @recordids;
+
+        my $StartingBiblionumber = $query->param("StartingBiblionumber");
+        my $EndingBiblionumber   = $query->param("EndingBiblionumber");
+        my $itemtype             = $query->param("itemtype");
+        my $start_callnumber     = $query->param("start_callnumber");
+        my $end_callnumber       = $query->param("end_callnumber");
+        $timestamp = ($timestamp) ? C4::Dates->new($timestamp) : ''
+          if ($commandline);
+        my $start_accession =
+          ( $query->param("start_accession") )
+          ? C4::Dates->new( $query->param("start_accession") )
+          : '';
+        my $end_accession =
+          ( $query->param("end_accession") )
+          ? C4::Dates->new( $query->param("end_accession") )
+          : '';
+        $dont_export_items = $query->param("dont_export_item")
+          unless ($commandline);
+
+        my $strip_nonlocal_items = $query->param("strip_nonlocal_items");
+
+        my $biblioitemstable =
+          ( $commandline and $deleted_barcodes )
+          ? 'deletedbiblioitems'
+          : 'biblioitems';
+        my $itemstable =
+          ( $commandline and $deleted_barcodes )
+          ? 'deleteditems'
+          : 'items';
+
+        my $starting_authid = $query->param('starting_authid');
+        my $ending_authid   = $query->param('ending_authid');
+        my $authtype        = $query->param('authtype');
+
+        if ( $record_type eq 'bibs' and not @biblionumbers ) {
+            if ($timestamp) {
+
             # Specific query when timestamp is used
             # Actually it's used only with CLI and so all previous filters
             # are not used.
             # If one day timestamp is used via the web interface, this part will
             # certainly have to be rewrited
-            $sql_query = " (
-                SELECT biblionumber
-                FROM $biblioitemstable
-                  LEFT JOIN items USING(biblionumber)
-                WHERE $biblioitemstable.timestamp >= ?
-                  OR items.timestamp >= ?
-            ) UNION (
-                SELECT biblionumber
-                FROM $biblioitemstable
-                  LEFT JOIN deleteditems USING(biblionumber)
-                WHERE $biblioitemstable.timestamp >= ?
-                  OR deleteditems.timestamp >= ?
-            ) ";
-            my $ts = $timestamp->output('iso');
-            @sql_params = ($ts, $ts, $ts, $ts);
-        } else {
-            my $items_filter =
-                $branch || $start_callnumber || $end_callnumber ||
-                $start_accession || $timestamp || $end_accession ||
-                ($itemtype && C4::Context->preference('item-level_itypes'));
-            $sql_query = $items_filter ?
-                "SELECT DISTINCT $biblioitemstable.biblionumber
-                FROM $biblioitemstable JOIN $itemstable
-                USING (biblionumber) WHERE 1"
-                :
-                "SELECT $biblioitemstable.biblionumber FROM $biblioitemstable WHERE biblionumber >0 ";
-
-            if ( $StartingBiblionumber ) {
-                $sql_query .= " AND $biblioitemstable.biblionumber >= ? ";
-                push @sql_params, $StartingBiblionumber;
-            }
-
-            if ( $EndingBiblionumber ) {
-                $sql_query .= " AND $biblioitemstable.biblionumber <= ? ";
-                push @sql_params, $EndingBiblionumber;
-            }
+                my ( $query, $params ) = construct_query(
+                    {
+                        recordtype       => $record_type,
+                        timestamp        => $timestamp,
+                        biblioitemstable => $biblioitemstable,
+                    }
+                );
+                $sql_query  = $query;
+                @sql_params = @$params;
 
-            if ($branch) {
-                $sql_query .= " AND homebranch = ? ";
-                push @sql_params, $branch;
             }
-
-            if ($start_callnumber) {
-                $sql_query .= " AND itemcallnumber <= ? ";
-                push @sql_params, $start_callnumber;
+            else {
+                my ( $query, $params ) = construct_query(
+                    {
+                        recordtype           => $record_type,
+                        biblioitemstable     => $biblioitemstable,
+                        itemstable           => $itemstable,
+                        StartingBiblionumber => $StartingBiblionumber,
+                        EndingBiblionumber   => $EndingBiblionumber,
+                        branch               => $branch,
+                        start_callnumber     => $start_callnumber,
+                        end_callnumber       => $end_callnumber,
+                        start_accession      => $start_accession,
+                        end_accession        => $end_accession,
+                        itemtype             => $itemtype,
+                    }
+                );
+                $sql_query  = $query;
+                @sql_params = @$params;
             }
+        }
+        elsif ( $record_type eq 'auths' ) {
+            my ( $query, $params ) = construct_query(
+                {
+                    recordtype      => $record_type,
+                    starting_authid => $starting_authid,
+                    ending_authid   => $ending_authid,
+                    authtype        => $authtype,
+                }
+            );
+            $sql_query  = $query;
+            @sql_params = @$params;
 
-            if ($end_callnumber) {
-                $sql_query .= " AND itemcallnumber >= ? ";
-                push @sql_params, $end_callnumber;
+        }
+        elsif ( $record_type eq 'db' ) {
+            my $successful_export;
+            if ( $flags->{superlibrarian}
+                && C4::Context->config('backup_db_via_tools') )
+            {
+                $successful_export = download_backup(
+                    {
+                        directory => "$backupdir",
+                        extension => 'sql',
+                        filename  => "$filename"
+                    }
+                );
             }
-            if ($start_accession) {
-                $sql_query .= " AND dateaccessioned >= ? ";
-                push @sql_params, $start_accession->output('iso');
+            unless ($successful_export) {
+                my $remotehost = $query->remote_host();
+                $remotehost =~ s/(\n|\r)//;
+                warn
+"A suspicious attempt was made to download the db at '$filename' by someone at "
+                  . $remotehost . "\n";
             }
-
-            if ($end_accession) {
-                $sql_query .= " AND dateaccessioned <= ? ";
-                push @sql_params, $end_accession->output('iso');
+            exit;
+        }
+        elsif ( $record_type eq 'conf' ) {
+            my $successful_export;
+            if ( $flags->{superlibrarian}
+                && C4::Context->config('backup_conf_via_tools') )
+            {
+                $successful_export = download_backup(
+                    {
+                        directory => "$backupdir",
+                        extension => 'tar',
+                        filename  => "$filename"
+                    }
+                );
             }
-
-            if ( $itemtype ) {
-                $sql_query .= (C4::Context->preference('item-level_itypes')) ? " AND items.itype = ? " : " AND biblioitems.itemtype = ?";
-                push @sql_params, $itemtype;
+            unless ($successful_export) {
+                my $remotehost = $query->remote_host();
+                $remotehost =~ s/(\n|\r)//;
+                warn
+"A suspicious attempt was made to download the configuration at '$filename' by someone at "
+                  . $remotehost . "\n";
             }
+            exit;
         }
-    }
-    elsif ( $record_type eq 'auths' ) {
-        $sql_query =
-          "SELECT DISTINCT auth_header.authid FROM auth_header WHERE 1";
-
-        if ($starting_authid) {
-            $sql_query .= " AND auth_header.authid >= ? ";
-            push @sql_params, $starting_authid;
+        elsif (@biblionumbers) {
+            push @recordids, (@biblionumbers);
         }
+        else {
 
-        if ($ending_authid) {
-            $sql_query .= " AND auth_header.authid <= ? ";
-            push @sql_params, $ending_authid;
+            # Someone is trying to mess us up
+            exit;
         }
 
-        if ($authtype) {
-            $sql_query .= " AND auth_header.authtypecode = ? ";
-            push @sql_params, $authtype;
-        }
-    }
-    elsif ( $record_type eq 'db' ) {
-        my $successful_export;
-        if ( $flags->{superlibrarian} && C4::Context->config('backup_db_via_tools') ) {
-            $successful_export = download_backup( { directory => "$backupdir", extension => 'sql', filename => "$filename" } )
-        }
-        unless ( $successful_export ) {
-            my $remotehost = $query->remote_host();
-            $remotehost =~ s/(\n|\r)//;
-            warn "A suspicious attempt was made to download the db at '$filename' by someone at " . $remotehost . "\n";
-        }
-        exit;
-    }
-    elsif ( $record_type eq 'conf' ) {
-        my $successful_export;
-        if ( $flags->{superlibrarian} && C4::Context->config('backup_conf_via_tools') ) {
-            $successful_export = download_backup( { directory => "$backupdir", extension => 'tar', filename => "$filename" } )
-        }
-        unless ( $successful_export ) {
-            my $remotehost = $query->remote_host();
-            $remotehost =~ s/(\n|\r)//;
-            warn "A suspicious attempt was made to download the configuration at '$filename' by someone at " . $remotehost . "\n";
+        unless (@biblionumbers) {
+            my $sth = $dbh->prepare($sql_query);
+            $sth->execute(@sql_params);
+            push @recordids, map {
+                map { $$_[0] } $_
+            } @{ $sth->fetchall_arrayref };
         }
-        exit;
-    }
-    else {
-        # Someone is trying to mess us up
-        exit;
-    }
-
-    my $sth = $dbh->prepare($sql_query);
-    $sth->execute(@sql_params);
-
-    while ( my ($recordid) = $sth->fetchrow ) {
-        if ( $deleted_barcodes ) {
-            my $q = "
-                SELECT DISTINCT barcode
-                FROM deleteditems
-                WHERE deleteditems.biblionumber = ?
-            ";
-            my $sth = $dbh->prepare($q);
-            $sth->execute($recordid);
-            while (my $row = $sth->fetchrow_array) {
-                print "$row\n";
-            }
-        } else {
-            my $record;
-            if ( $record_type eq 'bibs' ) {
-                $record = eval { GetMarcBiblio($recordid); };
 
-                if ($@) {
-                    next;
+        for my $recordid ( uniq @recordids ) {
+            if ($deleted_barcodes) {
+                my $q = "
+                    SELECT DISTINCT barcode
+                    FROM deleteditems
+                    WHERE deleteditems.biblionumber = ?
+                ";
+                my $sth = $dbh->prepare($q);
+                $sth->execute($recordid);
+                while ( my $row = $sth->fetchrow_array ) {
+                    print "$row\n";
                 }
-                next if not defined $record;
-                C4::Biblio::EmbedItemsInMarcBiblio( $record, $recordid )
-                  unless $dont_export_items;
-                if ( $strip_nonlocal_items || $limit_ind_branch ) {
-                    my ( $homebranchfield, $homebranchsubfield ) =
-                      GetMarcFromKohaField( 'items.homebranch', '' );
-                    for my $itemfield ( $record->field($homebranchfield) ) {
-
-    # if stripping nonlocal items, use loggedinuser's branch if they didn't select one
-                        $branch = C4::Context->userenv->{'branch'} unless $branch;
-                        $record->delete_field($itemfield)
-                          if (
-                            $itemfield->subfield($homebranchsubfield) ne $branch );
+            }
+            else {
+                my $record;
+                if ( $record_type eq 'bibs' ) {
+                    $record = eval { GetMarcBiblio($recordid); };
+
+                    next if $@;
+                    next if not defined $record;
+                    C4::Biblio::EmbedItemsInMarcBiblio( $record, $recordid,
+                        \@itemnumbers )
+                      unless $dont_export_items;
+                    if (   $strip_nonlocal_items
+                        || $limit_ind_branch
+                        || $dont_export_items )
+                    {
+                        my ( $homebranchfield, $homebranchsubfield ) =
+                          GetMarcFromKohaField( 'items.homebranch', '' );
+                        for my $itemfield ( $record->field($homebranchfield) ) {
+
+# if stripping nonlocal items, use loggedinuser's branch if they didn't select one
+                            $branch = C4::Context->userenv->{'branch'}
+                              unless $branch;
+                            $record->delete_field($itemfield)
+                              if ( $dont_export_items
+                                || $itemfield->subfield($homebranchsubfield) ne
+                                $branch );
+                        }
                     }
                 }
-            }
-            elsif ( $record_type eq 'auths' ) {
-                $record = C4::AuthoritiesMarc::GetAuthority($recordid);
-                next if not defined $record;
-            }
+                elsif ( $record_type eq 'auths' ) {
+                    $record = C4::AuthoritiesMarc::GetAuthority($recordid);
+                    next if not defined $record;
+                }
 
-            if ( $dont_export_fields ) {
-                my @fields = split " ", $dont_export_fields;
-                foreach ( @fields ) {
-                    /^(\d*)(\w)?$/;
-                    my $field = $1;
-                    my $subfield = $2;
-                    # skip if this record doesn't have this field
-                    next if not defined $record->field($field);
-                    if( $subfield ) {
-                        $record->field($field)->delete_subfields($subfield);
+                if ($export_remove_fields) {
+                    my @fields = split " ", $export_remove_fields;
+                    foreach (@fields) {
+                        /^(\d*)(\w)?$/;
+                        my $field    = $1;
+                        my $subfield = $2;
+
+                        # skip if this record doesn't have this field
+                        next if not defined $record->field($field);
+                        if ($subfield) {
+                            $record->field($field)->delete_subfields($subfield);
+                        }
+                        else {
+                            $record->delete_field( $record->field($field) );
+                        }
+                    }
+                }
+                RemoveAllNsb($record) if ($clean);
+                if ( $output_format eq "xml" ) {
+                    if ( $marcflavour eq 'UNIMARC' && $record_type eq 'auths' )
+                    {
+                        print $record->as_xml_record('UNIMARCAUTH');
                     }
                     else {
-                        $record->delete_field($record->field($field));
+                        print $record->as_xml_record($marcflavour);
                     }
                 }
-            }
-            RemoveAllNsb($record) if ($clean);
-            if ( $output_format eq "xml" ) {
-                if ($marcflavour eq 'UNIMARC' && $record_type eq 'auths') {
-                    print $record->as_xml_record('UNIMARCAUTH');
-                } else {
-                    print $record->as_xml_record($marcflavour);
+                else {
+                    print $record->as_usmarc();
                 }
             }
-            else {
-                print $record->as_usmarc();
-            }
         }
+        exit;
+    }
+    elsif ( $format eq "csv" ) {
+        my @biblionumbers = uniq $query->param("biblionumbers");
+        my @itemnumbers   = $query->param("itemnumbers");
+        my $output =
+          marc2csv( \@biblionumbers,
+            GetCsvProfileId( C4::Context->preference('ExportWithCsvProfile') ),
+            \@itemnumbers, );
+        print $query->header(
+            -type                        => 'application/octet-stream',
+            -'Content-Transfer-Encoding' => 'binary',
+            -attachment                  => "export.csv"
+        );
+        print $output;
+        exit;
     }
-    exit;
-
 }    # if export
 
 else {
 
     my $itemtypes = GetItemTypes;
     my @itemtypesloop;
-    foreach my $thisitemtype (sort keys %$itemtypes) {
-        my %row =
-            (
-                value => $thisitemtype,
-                description => $itemtypes->{$thisitemtype}->{'description'},
-            );
-       push @itemtypesloop, \%row;
+    foreach my $thisitemtype ( sort keys %$itemtypes ) {
+        my %row = (
+            value       => $thisitemtype,
+            description => $itemtypes->{$thisitemtype}->{'description'},
+        );
+        push @itemtypesloop, \%row;
     }
     my $branches = GetBranches($limit_ind_branch);
     my @branchloop;
     for my $thisbranch (
         sort { $branches->{$a}->{branchname} cmp $branches->{$b}->{branchname} }
         keys %{$branches}
-      ) {
+      )
+    {
         push @branchloop,
-          { value      => $thisbranch,
+          {
+            value      => $thisbranch,
             selected   => $thisbranch eq $branch,
             branchname => $branches->{$thisbranch}->{'branchname'},
           };
@@ -418,14 +443,24 @@ else {
         push @authtypesloop, \%row;
     }
 
-    if ( $flags->{superlibrarian} && C4::Context->config('backup_db_via_tools') && $backupdir && -d $backupdir ) {
+    if (   $flags->{superlibrarian}
+        && C4::Context->config('backup_db_via_tools')
+        && $backupdir
+        && -d $backupdir )
+    {
         $template->{VARS}->{'allow_db_export'} = 1;
-        $template->{VARS}->{'dbfiles'} = getbackupfilelist( { directory => "$backupdir", extension => 'sql' } );
+        $template->{VARS}->{'dbfiles'}         = getbackupfilelist(
+            { directory => "$backupdir", extension => 'sql' } );
     }
 
-    if ( $flags->{superlibrarian} && C4::Context->config('backup_conf_via_tools') && $backupdir && -d $backupdir ) {
+    if (   $flags->{superlibrarian}
+        && C4::Context->config('backup_conf_via_tools')
+        && $backupdir
+        && -d $backupdir )
+    {
         $template->{VARS}->{'allow_conf_export'} = 1;
-        $template->{VARS}->{'conffiles'} = getbackupfilelist( { directory => "$backupdir", extension => 'tar' } );
+        $template->{VARS}->{'conffiles'}         = getbackupfilelist(
+            { directory => "$backupdir", extension => 'tar' } );
     }
 
     $template->param(
@@ -433,22 +468,145 @@ else {
         itemtypeloop             => \@itemtypesloop,
         DHTMLcalendar_dateformat => C4::Dates->DHTMLcalendar(),
         authtypeloop             => \@authtypesloop,
-        dont_export_fields       => C4::Context->preference("DontExportFields"),
+        export_remove_fields     => C4::Context->preference("ExportRemoveFields"),
     );
 
     output_html_with_http_headers $query, $cookie, $template->output;
 }
 
+sub construct_query {
+    my ($params) = @_;
+
+    my ( $sql_query, @sql_params );
+
+    if ( $params->{recordtype} eq "bibs" ) {
+        if ( $params->{timestamp} ) {
+            my $biblioitemstable = $params->{biblioitemstable};
+            $sql_query = " (
+                SELECT biblionumber
+                FROM $biblioitemstable
+                  LEFT JOIN items USING(biblionumber)
+                WHERE $biblioitemstable.timestamp >= ?
+                  OR items.timestamp >= ?
+            ) UNION (
+                SELECT biblionumber
+                FROM $biblioitemstable
+                  LEFT JOIN deleteditems USING(biblionumber)
+                WHERE $biblioitemstable.timestamp >= ?
+                  OR deleteditems.timestamp >= ?
+            ) ";
+            my $ts = $timestamp->output('iso');
+            @sql_params = ( $ts, $ts, $ts, $ts );
+        }
+        else {
+            my $biblioitemstable     = $params->{biblioitemstable};
+            my $itemstable           = $params->{itemstable};
+            my $StartingBiblionumber = $params->{StartingBiblionumber};
+            my $EndingBiblionumber   = $params->{EndingBiblionumber};
+            my $branch               = $params->{branch};
+            my $start_callnumber     = $params->{start_callnumber};
+            my $end_callnumber       = $params->{end_callnumber};
+            my $start_accession      = $params->{star_accession};
+            my $end_accession        = $params->{end_accession};
+            my $itemtype             = $params->{itemtype};
+            my $items_filter =
+                 $branch
+              || $start_callnumber
+              || $end_callnumber
+              || $start_accession
+              || $end_accession
+              || ( $itemtype && C4::Context->preference('item-level_itypes') );
+            $sql_query = $items_filter
+              ? "SELECT DISTINCT $biblioitemstable.biblionumber
+                FROM $biblioitemstable JOIN $itemstable
+                USING (biblionumber) WHERE 1"
+              : "SELECT $biblioitemstable.biblionumber FROM $biblioitemstable WHERE biblionumber >0 ";
+
+            if ($StartingBiblionumber) {
+                $sql_query .= " AND $biblioitemstable.biblionumber >= ? ";
+                push @sql_params, $StartingBiblionumber;
+            }
+
+            if ($EndingBiblionumber) {
+                $sql_query .= " AND $biblioitemstable.biblionumber <= ? ";
+                push @sql_params, $EndingBiblionumber;
+            }
+
+            if ($branch) {
+                $sql_query .= " AND homebranch = ? ";
+                push @sql_params, $branch;
+            }
+
+            if ($start_callnumber) {
+                $sql_query .= " AND itemcallnumber >= ? ";
+                push @sql_params, $start_callnumber;
+            }
+
+            if ($end_callnumber) {
+                $sql_query .= " AND itemcallnumber <= ? ";
+                push @sql_params, $end_callnumber;
+            }
+            if ($start_accession) {
+                $sql_query .= " AND dateaccessioned >= ? ";
+                push @sql_params, $start_accession->output('iso');
+            }
+
+            if ($end_accession) {
+                $sql_query .= " AND dateaccessioned <= ? ";
+                push @sql_params, $end_accession->output('iso');
+            }
+
+            if ($itemtype) {
+                $sql_query .=
+                  ( C4::Context->preference('item-level_itypes') )
+                  ? " AND items.itype = ? "
+                  : " AND biblioitems.itemtype = ?";
+                push @sql_params, $itemtype;
+            }
+        }
+    }
+    elsif ( $params->{recordtype} eq "auths" ) {
+        if ( $params->{timestamp} ) {
+
+            #TODO
+        }
+        else {
+            my $starting_authid = $params->{starting_authid};
+            my $ending_authid   = $params->{ending_authid};
+            my $authtype        = $params->{authtype};
+            $sql_query =
+              "SELECT DISTINCT auth_header.authid FROM auth_header WHERE 1";
+
+            if ($starting_authid) {
+                $sql_query .= " AND auth_header.authid >= ? ";
+                push @sql_params, $starting_authid;
+            }
+
+            if ($ending_authid) {
+                $sql_query .= " AND auth_header.authid <= ? ";
+                push @sql_params, $ending_authid;
+            }
+
+            if ($authtype) {
+                $sql_query .= " AND auth_header.authtypecode = ? ";
+                push @sql_params, $authtype;
+            }
+        }
+    }
+    return ( $sql_query, \@sql_params );
+}
+
 sub getbackupfilelist {
-    my $args = shift;
+    my $args      = shift;
     my $directory = $args->{directory};
     my $extension = $args->{extension};
     my @files;
 
-    if ( opendir(my $dir, $directory) ) {
-        while (my $file = readdir($dir)) {
+    if ( opendir( my $dir, $directory ) ) {
+        while ( my $file = readdir($dir) ) {
             next unless ( $file =~ m/\.$extension(\.(gz|bz2|xz))?/ );
-            push @files, $file if ( -f "$directory/$file" && -r "$directory/$file" );
+            push @files, $file
+              if ( -f "$directory/$file" && -r "$directory/$file" );
         }
         closedir($dir);
     }
@@ -456,7 +614,7 @@ sub getbackupfilelist {
 }
 
 sub download_backup {
-    my $args = shift;
+    my $args      = shift;
     my $directory = $args->{directory};
     my $extension = $args->{extension};
     my $filename  = $args->{filename};
@@ -466,11 +624,12 @@ sub download_backup {
     return if ( $filename =~ m#/# );
     $filename = "$directory/$filename";
     return unless ( -f $filename && -r $filename );
-    return unless ( open(my $dump, '<', $filename) );
+    return unless ( open( my $dump, '<', $filename ) );
     binmode $dump;
-    while (read($dump, my $data, 64 * 1024)) {
+
+    while ( read( $dump, my $data, 64 * 1024 ) ) {
         print $data;
     }
-    close ($dump);
+    close($dump);
     return 1;
 }
index 03f5bb9..32d3645 100755 (executable)
@@ -29,6 +29,7 @@ use MARC::File::USMARC;
 use C4::Context;
 use C4::Koha;
 use C4::Auth;
+use C4::AuthoritiesMarc;
 use C4::Output;
 use C4::Biblio;
 use C4::ImportBatch;
@@ -59,7 +60,7 @@ my ($template, $loggedinuser, $cookie)
                  });
 
 my %cookies = parse CGI::Cookie($cookie);
-my $sessionID = $cookies{'CGISESSID'}->value;
+our $sessionID = $cookies{'CGISESSID'}->value;
 our $dbh = C4::Context->dbh;
 
 # Frameworks selection loop
@@ -99,7 +100,7 @@ if ($op eq "") {
     if ($import_batch_id eq '') {
         import_batches_list($template, $offset, $results_per_page);
     } else {
-        import_biblios_list($template, $import_batch_id, $offset, $results_per_page);
+        import_records_list($template, $import_batch_id, $offset, $results_per_page);
     }
 } elsif ($op eq "commit-batch") {
     if ($completedJobID) {
@@ -108,14 +109,14 @@ if ($op eq "") {
         my $framework = $input->param('framework');
         commit_batch($template, $import_batch_id, $framework);
     }
-    import_biblios_list($template, $import_batch_id, $offset, $results_per_page);
+    import_records_list($template, $import_batch_id, $offset, $results_per_page);
 } elsif ($op eq "revert-batch") {
     if ($completedJobID) {
         add_saved_job_results_to_template($template, $completedJobID);
     } else {
         revert_batch($template, $import_batch_id);
     }
-    import_biblios_list($template, $import_batch_id, $offset, $results_per_page);
+    import_records_list($template, $import_batch_id, $offset, $results_per_page);
 } elsif ($op eq "clean-batch") {
     CleanBatch($import_batch_id);
     import_batches_list($template, $offset, $results_per_page);
@@ -131,7 +132,7 @@ if ($op eq "") {
     my $item_action = $input->param('item_action');
     redo_matching($template, $import_batch_id, $new_matcher_id, $current_matcher_id, 
                   $overlay_action, $nomatch_action, $item_action);
-    import_biblios_list($template, $import_batch_id, $offset, $results_per_page);
+    import_records_list($template, $import_batch_id, $offset, $results_per_page);
 } 
 
 output_html_with_http_headers $input, $cookie, $template->output;
@@ -163,21 +164,17 @@ sub redo_matching {
         $template->param('changed_item_action' => 1);
     }
 
-    if ($new_matcher_id eq $current_matcher_id) {
-        return;
-    } 
-
     my $num_with_matches = 0;
     if (defined $new_matcher_id and $new_matcher_id ne "") {
         my $matcher = C4::Matcher->fetch($new_matcher_id);
         if (defined $matcher) {
-            $num_with_matches = BatchFindBibDuplicates($import_batch_id, $matcher);
+            $num_with_matches = BatchFindDuplicates($import_batch_id, $matcher);
             SetImportBatchMatcher($import_batch_id, $new_matcher_id);
         } else {
             $rematch_failed = 1;
         }
     } else {
-        $num_with_matches = BatchFindBibDuplicates($import_batch_id, undef);
+        $num_with_matches = BatchFindDuplicates($import_batch_id, undef);
         SetImportBatchMatcher($import_batch_id, undef);
         SetImportBatchOverlayAction('create_new');
     }
@@ -214,13 +211,14 @@ sub import_batches_list {
     foreach my $batch (@$batches) {
         push @list, {
             import_batch_id => $batch->{'import_batch_id'},
-            num_biblios => $batch->{'num_biblios'},
+            num_records => $batch->{'num_records'},
             num_items => $batch->{'num_items'},
             upload_timestamp => $batch->{'upload_timestamp'},
             import_status => $batch->{'import_status'},
             file_name => $batch->{'file_name'} || "($batch->{'batch_type'})",
             comments => $batch->{'comments'},
             can_clean => ($batch->{'import_status'} ne 'cleaned') ? 1 : 0,
+            record_type => $batch->{'record_type'},
         };
     }
     $template->param(batch_list => \@list); 
@@ -244,7 +242,7 @@ sub commit_batch {
         $callback = progress_callback($job, $dbh);
     }
     my ($num_added, $num_updated, $num_items_added, $num_items_errored, $num_ignored) = 
-        BatchCommitBibRecords($import_batch_id, $framework, 50, $callback);
+        BatchCommitRecords($import_batch_id, $framework, 50, $callback);
     $dbh->commit();
 
     my $results = {
@@ -273,7 +271,7 @@ sub revert_batch {
         $callback = progress_callback($job, $dbh);
     }
     my ($num_deleted, $num_errors, $num_reverted, $num_items_deleted, $num_ignored) = 
-        BatchRevertBibRecords($import_batch_id, 50, $callback);
+        BatchRevertRecords($import_batch_id, 50, $callback);
     $dbh->commit();
 
     my $results = {
@@ -295,7 +293,7 @@ sub put_in_background {
     my $import_batch_id = shift;
 
     my $batch = GetImportBatch($import_batch_id);
-    my $job = C4::BackgroundJob->new($sessionID, $batch->{'file_name'}, $ENV{'SCRIPT_NAME'}, $batch->{'num_biblios'});
+    my $job = C4::BackgroundJob->new($sessionID, $batch->{'file_name'}, $ENV{'SCRIPT_NAME'}, $batch->{'num_records'});
     my $jobID = $job->id();
 
     # fork off
@@ -350,46 +348,53 @@ sub add_saved_job_results_to_template {
     add_results_to_template($template, $results);
 }
 
-sub import_biblios_list {
+sub import_records_list {
     my ($template, $import_batch_id, $offset, $results_per_page) = @_;
 
     my $batch = GetImportBatch($import_batch_id);
-    my $biblios = GetImportBibliosRange($import_batch_id, $offset, $results_per_page);
+    my $records = GetImportRecordsRange($import_batch_id, $offset, $results_per_page);
     my @list = ();
-    foreach my $biblio (@$biblios) {
-        my $citation = $biblio->{'title'};
-        $citation .= " $biblio->{'author'}" if $biblio->{'author'};
-        $citation .= " (" if $biblio->{'issn'} or $biblio->{'isbn'};
-        $citation .= $biblio->{'isbn'} if $biblio->{'isbn'};
-        $citation .= ", " if $biblio->{'issn'} and $biblio->{'isbn'};
-        $citation .= $biblio->{'issn'} if $biblio->{'issn'};
-        $citation .= ")" if $biblio->{'issn'} or $biblio->{'isbn'};
-
-        my $match = GetImportRecordMatches($biblio->{'import_record_id'}, 1);
+    foreach my $record (@$records) {
+        my $citation = $record->{'title'} || $record->{'authorized_heading'};
+        $citation .= " $record->{'author'}" if $record->{'author'};
+        $citation .= " (" if $record->{'issn'} or $record->{'isbn'};
+        $citation .= $record->{'isbn'} if $record->{'isbn'};
+        $citation .= ", " if $record->{'issn'} and $record->{'isbn'};
+        $citation .= $record->{'issn'} if $record->{'issn'};
+        $citation .= ")" if $record->{'issn'} or $record->{'isbn'};
+
+        my $match = GetImportRecordMatches($record->{'import_record_id'}, 1);
         my $match_citation = '';
         if ($#$match > -1) {
-            $match_citation .= $match->[0]->{'title'} if defined($match->[0]->{'title'});
-            $match_citation .= ' ' . $match->[0]->{'author'} if defined($match->[0]->{'author'});
+            if ($match->[0]->{'record_type'} eq 'biblio') {
+                $match_citation .= $match->[0]->{'title'} if defined($match->[0]->{'title'});
+                $match_citation .= ' ' . $match->[0]->{'author'} if defined($match->[0]->{'author'});
+            } elsif ($match->[0]->{'record_type'} eq 'auth') {
+                $match_citation .= $match->[0]->{'authorized_heading'} if defined($match->[0]->{'authorized_heading'});
+            }
         }
 
         push @list,
-          { import_record_id         => $biblio->{'import_record_id'},
-            final_match_biblionumber => $biblio->{'matched_biblionumber'},
+          { import_record_id         => $record->{'import_record_id'},
+            final_match_id           => $record->{'matched_biblionumber'} || $record->{'matched_authid'},
             citation                 => $citation,
-            status                   => $biblio->{'status'},
-            record_sequence          => $biblio->{'record_sequence'},
-            overlay_status           => $biblio->{'overlay_status'},
-            match_biblionumber       => $#$match > -1 ? $match->[0]->{'biblionumber'} : 0,
+            status                   => $record->{'status'},
+            record_sequence          => $record->{'record_sequence'},
+            overlay_status           => $record->{'overlay_status'},
+            # Sorry about the match_id being from the "biblionumber" field;
+            # as it turns out, any match id will go in biblionumber
+            match_id                 => $#$match > -1 ? $match->[0]->{'biblionumber'} : 0,
             match_citation           => $match_citation,
             match_score              => $#$match > -1 ? $match->[0]->{'score'} : 0,
+            record_type              => $record->{'record_type'},
           };
     }
-    my $num_biblios = $batch->{'num_biblios'};
-    $template->param(biblio_list => \@list); 
-    add_page_numbers($template, $offset, $results_per_page, $num_biblios);
+    my $num_records = $batch->{'num_records'};
+    $template->param(record_list => \@list);
+    add_page_numbers($template, $offset, $results_per_page, $num_records);
     $template->param(offset => $offset);
     $template->param(range_top => $offset + $results_per_page - 1);
-    $template->param(num_results => $num_biblios);
+    $template->param(num_results => $num_records);
     $template->param(results_per_page => $results_per_page);
     $template->param(import_batch_id => $import_batch_id);
     my $overlay_action = GetImportBatchOverlayAction($import_batch_id);
@@ -412,12 +417,13 @@ sub batch_info {
     $template->param(comments => $batch->{'comments'});
     $template->param(import_status => $batch->{'import_status'});
     $template->param(upload_timestamp => $batch->{'upload_timestamp'});
-    $template->param(num_biblios => $batch->{'num_biblios'});
-    $template->param(num_items => $batch->{'num_biblios'});
+    $template->{VARS}->{'record_type'} = $batch->{'record_type'};
+    $template->param(num_records => $batch->{'num_records'});
+    $template->param(num_items => $batch->{'num_items'});
     if ($batch->{'import_status'} ne 'cleaned') {
         $template->param(can_clean => 1);
     }
-    if ($batch->{'num_biblios'} > 0) {
+    if ($batch->{'num_records'} > 0) {
         if ($batch->{'import_status'} eq 'staged' or $batch->{'import_status'} eq 'reverted') {
             $template->param(can_commit => 1);
         }
index c36d328..ffe99a3 100755 (executable)
@@ -56,6 +56,20 @@ if ($description) {
        $description = '';
 }
 
+# We make an array with holiday's days
+my @holiday_list;
+if ($year1 && $month1 && $day1){
+            my $first_dt = DateTime->new(year => $year, month  => $month,  day => $day);
+            my $end_dt   = DateTime->new(year => $year1, month  => $month1,  day => $day1);
+
+            for (my $dt = $first_dt->clone();
+                $dt <= $end_dt;
+                $dt->add(days => 1) )
+                {
+                push @holiday_list, $dt->clone();
+                }
+}
+
 if($allbranches) {
        my $branch;
        my @branchcodes = split(/\|/, $input->param('branchCodes')); 
@@ -100,50 +114,30 @@ sub add_holiday {
                }
 
        } elsif ( $newoperation eq 'holidayrange' ) {
-        #Make an array with holiday's days
-        my $first_dt = DateTime->new(year => $year, month  => $month,  day => $day);
-        my $end_dt   = DateTime->new(year => $year1, month  => $month1,  day => $day1);
-        my @holiday_list = ();
-
-        for (my $dt = $first_dt->clone();
-            $dt <= $end_dt;
-            $dt->add(days => 1) )
-            {
-            push @holiday_list, $dt->clone();
-            }
-
-        foreach my $date (@holiday_list){
-            unless ( $calendar->isHoliday( $date->{local_c}->{day}, $date->{local_c}->{month}, $date->{local_c}->{year} ) ) {
-            $calendar->insert_single_holiday(
-                day         => $date->{local_c}->{day},
-                month       => $date->{local_c}->{month},
-                year        => $date->{local_c}->{year},
-                title       => $title,
-                description => $description
-                );
+        if (@holiday_list){
+            foreach my $date (@holiday_list){
+                unless ( $calendar->isHoliday( $date->{local_c}->{day}, $date->{local_c}->{month}, $date->{local_c}->{year} ) ) {
+                    $calendar->insert_single_holiday(
+                        day         => $date->{local_c}->{day},
+                        month       => $date->{local_c}->{month},
+                        year        => $date->{local_c}->{year},
+                        title       => $title,
+                        description => $description
+                    );
+                }
             }
         }
     } elsif ( $newoperation eq 'holidayrangerepeat' ) {
-        #Make an array with holiday's days
-        my $first_dt = DateTime->new(year => $year, month  => $month,  day => $day);
-        my $end_dt   = DateTime->new(year => $year1, month  => $month1,  day => $day1);
-        my @holiday_list = ();
-
-        for (my $dt = $first_dt->clone();
-            $dt <= $end_dt;
-            $dt->add(days => 1) )
-            {
-            push @holiday_list, $dt->clone();
-            }
-
-        foreach my $date (@holiday_list){
-            unless ( $calendar->isHoliday( $date->{local_c}->{day}, $date->{local_c}->{month}, $date->{local_c}->{year} ) ) {
-            $calendar->insert_day_month_holiday(
-                day         => $date->{local_c}->{day},
-                month       => $date->{local_c}->{month},
-                title       => $title,
-                description => $description
-                );
+        if (@holiday_list){
+            foreach my $date (@holiday_list){
+                unless ( $calendar->isHoliday( $date->{local_c}->{day}, $date->{local_c}->{month}, $date->{local_c}->{year} ) ) {
+                    $calendar->insert_day_month_holiday(
+                        day         => $date->{local_c}->{day},
+                        month       => $date->{local_c}->{month},
+                        title       => $title,
+                        description => $description
+                    );
+                }
             }
         }
     }
index bfb233e..4507fa1 100755 (executable)
@@ -80,7 +80,7 @@ if ( ($op eq 'Upload') && $uploadfile ) {       # Case is important in these ope
     $debug and warn "dirname = $dirname";
     my $filesuffix;
     if ( $uploadfilename =~ m/(\..+)$/i ) {
-        my $filesuffix = $1;
+        $filesuffix = $1;
     }
     ( $tfh, $tempfile ) = File::Temp::tempfile( SUFFIX => $filesuffix, UNLINK => 1 );
     $debug and warn "tempfile = $tempfile";
index 0de73d4..fbb5365 100755 (executable)
@@ -55,6 +55,7 @@ my $nomatch_action = $input->param('nomatch_action');
 my $parse_items = $input->param('parse_items');
 my $item_action = $input->param('item_action');
 my $comments = $input->param('comments');
+my $record_type = $input->param('record_type');
 my $encoding = $input->param('encoding');
 my ($template, $loggedinuser, $cookie)
        = get_template_and_user({template_name => "tools/stage-marc-import.tmpl",
@@ -115,7 +116,7 @@ if ($completedJobID) {
             # close STDOUT to signal to Apache that
             # we're now running in the background
             close STDOUT;
-            close STDERR;
+            # close STDERR; # there is no good reason to close STDERR
         } else {
             # fork failed, so exit immediately
             warn "fork failed while attempting to run $ENV{'SCRIPT_NAME'} as a background job";
@@ -130,7 +131,7 @@ if ($completedJobID) {
     }
 
     # FIXME branch code
-    my ($batch_id, $num_valid, $num_items, @import_errors) = BatchStageMarcRecords($encoding, $marcrecord, $filename, $comments, '', $parse_items, 0, 50, staging_progress_callback($job, $dbh));
+    my ($batch_id, $num_valid, $num_items, @import_errors) = BatchStageMarcRecords($record_type, $encoding, $marcrecord, $filename, $comments, '', $parse_items, 0, 50, staging_progress_callback($job, $dbh));
 
     $dbh->commit();
 
@@ -143,7 +144,7 @@ if ($completedJobID) {
         if (defined $matcher) {
             $checked_matches = 1;
             $matcher_code = $matcher->code();
-            $num_with_matches = BatchFindBibDuplicates($batch_id, $matcher, 
+            $num_with_matches = BatchFindDuplicates($batch_id, $matcher,
                                                        10, 50, matching_progress_callback($job, $dbh));
             SetImportBatchMatcher($batch_id, $matcher_id);
             SetImportBatchOverlayAction($batch_id, $overlay_action);