=item defaults entrydate to Now
-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".
+The following keys are used: "biblionumber", "title", "basketno", "quantity", "notes", "biblioitemnumber", "rrp", "ecost", "gstrate", "unitprice", "subscription", "sort1", "sort2", "booksellerinvoicenumber", "listprice", "budgetdate", "purchaseordernumber", "branchcode", "booksellerinvoicenumber", "budget_id".
=back
=item C<branchcode>
-=item C<bookfundid>
+=item C<budget_id>
=back
sub GetInvoiceDetails {
my ($invoiceid) = @_;
- my $invoice;
- return unless $invoiceid;
+ if ( !defined $invoiceid ) {
+ carp 'GetInvoiceDetails called without an invoiceid';
+ return;
+ }
my $dbh = C4::Context->dbh;
my $query = qq{
my $sth = $dbh->prepare($query);
$sth->execute($invoiceid);
- $invoice = $sth->fetchrow_hashref;
+ my $invoice = $sth->fetchrow_hashref;
$query = qq{
SELECT aqorders.*, biblio.*
$_->{'time'},
) foreach @recentSearches;
- # And then, delete the cookie's content
- my $newsearchcookie = $in->{'query'}->cookie(
- -name => 'KohaOpacRecentSearches',
- -value => freeze([]),
- -expires => ''
- );
+ # And then, delete the cookie's content
+ my $newsearchcookie = $in->{'query'}->cookie(
+ -name => 'KohaOpacRecentSearches',
+ -value => freeze([]),
+ -HttpOnly => 1,
+ -expires => ''
+ );
$cookie = [$cookie, $newsearchcookie];
}
}
}
if(C4::Context->preference('dateformat')){
+ $template->param( dateformat => C4::Context->preference('dateformat') );
if(C4::Context->preference('dateformat') eq "metric"){
$template->param(dateformat_metric => 1);
} elsif(C4::Context->preference('dateformat') eq "us"){
# when using authentication against multiple CAS servers, as configured in Auth_cas_servers.yaml
my $casparam = $query->param('cas');
- if ( $userid = $ENV{'REMOTE_USER'} ) {
- # Using Basic Authentication, no cookies required
+ if ( $userid = $ENV{'REMOTE_USER'} ) {
+ # Using Basic Authentication, no cookies required
$cookie = $query->cookie(
- -name => 'CGISESSID',
- -value => '',
- -expires => ''
+ -name => 'CGISESSID',
+ -value => '',
+ -expires => '',
+ -HttpOnly => 1,
);
$loggedin = 1;
}
- elsif ( $sessionID = $query->cookie("CGISESSID")) { # assignment, not comparison
+ elsif ( $sessionID = $query->cookie("CGISESSID") )
+ { # assignment, not comparison
my $session = get_session($sessionID);
C4::Context->_new_userenv($sessionID);
my ($ip, $lasttime, $sessiontype);
$userid = undef;
}
else {
- $cookie = $query->cookie( CGISESSID => $session->id );
- $session->param('lasttime',time());
+ $cookie = $query->cookie(
+ -name => 'CGISESSID',
+ -value => $session->id,
+ -HttpOnly => 1
+ );
+ $session->param( 'lasttime', time() );
unless ( $sessiontype && $sessiontype eq 'anon' ) { #if this is an anonymous session, we want to update the session, but not behave as if they are logged in...
$flags = haspermission($userid, $flagsrequired);
if ($flags) {
my $session = get_session("") or die "Auth ERROR: Cannot get_session()";
my $sessionID = $session->id;
C4::Context->_new_userenv($sessionID);
- $cookie = $query->cookie( CGISESSID => $sessionID );
- $userid = $query->param('userid');
+ $cookie = $query->cookie(
+ -name => 'CGISESSID',
+ -value => $session->id,
+ -HttpOnly => 1
+ );
+ $userid = $query->param('userid');
if ( ( $cas && $query->param('ticket') )
|| $userid
|| ( my $pki_field = C4::Context->preference('AllowPKIAuth') ) ne
{
# successful login
unless ($cookie) {
- $cookie = $query->cookie( CGISESSID => '' );
+ $cookie = $query->cookie(
+ -name => 'CGISESSID',
+ -value => '',
+ -HttpOnly => 1
+ );
}
return ( $userid, $cookie, $sessionID, $flags );
}
$sessionID = undef;
return ("expired", undef, undef);
} else {
- my $cookie = $query->cookie( CGISESSID => $session->id );
+ my $cookie = $query->cookie(
+ -name => 'CGISESSID',
+ -value => $session->id,
+ -HttpOnly => 1,
+ );
$session->param('lasttime',time());
my $flags = haspermission($userid, $flagsrequired);
if ($flags) {
my $sessionID = $session->id;
C4::Context->_new_userenv($sessionID);
- my $cookie = $query->cookie(CGISESSID => $sessionID);
+ my $cookie = $query->cookie(
+ -name => 'CGISESSID',
+ -value => $sessionID,
+ -HttpOnly => 1,
+ );
if ( $return == 1 ) {
my (
$borrowernumber, $firstname, $surname,
# warn "ERROR IN ISBD DEFINITION at : $isbdfield" unless $fieldvalue;
# warn "FV : $fieldvalue";
if ( $subfvalue ne "" ) {
+ # OPAC hidden subfield
+ next
+ if ( ( $template eq 'opac' )
+ && ( $tagslib->{$fieldvalue}->{$subfvalue}->{'hidden'} || 0 ) > 0 );
foreach my $field (@fieldslist) {
foreach my $subfield ( $field->subfield($subfvalue) ) {
my $calculated = $analysestring;
for my $i ( 0 .. $#subf ) {
my $valuecode = $subf[$i][1];
my $subfieldcode = $subf[$i][0];
+ # OPAC hidden subfield
+ next
+ if ( ( $template eq 'opac' )
+ && ( $tagslib->{$fieldvalue}->{$subfieldcode}->{'hidden'} || 0 ) > 0 );
my $subfieldvalue = GetAuthorisedValueDesc( $tag, $subf[$i][0], $subf[$i][1], '', $tagslib );
my $tagsubf = $tag . $subfieldcode;
my $marcxml = GetXmlBiblio($biblionumber);
Returns biblioitems.marcxml of the biblionumber passed in parameter.
-The XML contains both biblio & item datas
+The XML should only contain biblio information (item information is no longer stored in marcxml field)
=cut
my $note = "";
my $tag = "";
my $marcnote;
+ my %blacklist = map { $_ => 1 } split(/,/,C4::Context->preference('NotesBlacklist'));
foreach my $field ( $record->field($scope) ) {
- my $value = $field->as_string();
- if ( $note ne "" ) {
- $marcnote = { marcnote => $note, };
- push @marcnotes, $marcnote;
- $note = $value;
- }
- if ( $note ne $value ) {
- $note = $note . " " . $value;
+ my $tag = $field->tag();
+ if (!$blacklist{$tag}) {
+ my $value = $field->as_string();
+ if ( $note ne "" ) {
+ $marcnote = { marcnote => $note, };
+ push @marcnotes, $marcnote;
+ $note = $value;
+ }
+ if ( $note ne $value ) {
+ $note = $note . " " . $value;
+ }
}
}
my $dbh = C4::Context->dbh;
# The categories table is small enough for
# `SELECT *` to be harmless.
- my $query = "SELECT * FROM categories";
+ my $query = "SELECT categories.* FROM categories";
$query .= qq{
LEFT JOIN categories_branches ON categories_branches.categorycode = categories.categorycode
WHERE categories_branches.branchcode = ? OR categories_branches.branchcode IS NULL
&GetBiblioIssues
&GetOpenIssue
&AnonymiseIssueHistory
+ &CheckIfIssuedToPatron
);
# subs to deal with returns
#
# DEBTS
- my ($amount) =
- C4::Members::GetMemberAccountRecords( $borrower->{'borrowernumber'}, '' && $duedate->ymd() );
+ my ($balance, $non_issue_charges, $other_charges) =
+ C4::Members::GetMemberAccountBalance( $borrower->{'borrowernumber'} );
my $amountlimit = C4::Context->preference("noissuescharge");
my $allowfineoverride = C4::Context->preference("AllowFineOverride");
my $allfinesneedoverride = C4::Context->preference("AllFinesNeedOverride");
if ( C4::Context->preference("IssuingInProcess") ) {
- if ( $amount > $amountlimit && !$inprocess && !$allowfineoverride) {
- $issuingimpossible{DEBT} = sprintf( "%.2f", $amount );
- } elsif ( $amount > $amountlimit && !$inprocess && $allowfineoverride) {
- $needsconfirmation{DEBT} = sprintf( "%.2f", $amount );
- } elsif ( $allfinesneedoverride && $amount > 0 && $amount <= $amountlimit && !$inprocess ) {
- $needsconfirmation{DEBT} = sprintf( "%.2f", $amount );
+ if ( $non_issue_charges > $amountlimit && !$inprocess && !$allowfineoverride) {
+ $issuingimpossible{DEBT} = sprintf( "%.2f", $non_issue_charges );
+ } elsif ( $non_issue_charges > $amountlimit && !$inprocess && $allowfineoverride) {
+ $needsconfirmation{DEBT} = sprintf( "%.2f", $non_issue_charges );
+ } elsif ( $allfinesneedoverride && $non_issue_charges > 0 && $non_issue_charges <= $amountlimit && !$inprocess ) {
+ $needsconfirmation{DEBT} = sprintf( "%.2f", $non_issue_charges );
}
}
else {
- if ( $amount > $amountlimit && $allowfineoverride ) {
- $needsconfirmation{DEBT} = sprintf( "%.2f", $amount );
- } elsif ( $amount > $amountlimit && !$allowfineoverride) {
- $issuingimpossible{DEBT} = sprintf( "%.2f", $amount );
- } elsif ( $amount > 0 && $allfinesneedoverride ) {
- $needsconfirmation{DEBT} = sprintf( "%.2f", $amount );
+ if ( $non_issue_charges > $amountlimit && $allowfineoverride ) {
+ $needsconfirmation{DEBT} = sprintf( "%.2f", $non_issue_charges );
+ } elsif ( $non_issue_charges > $amountlimit && !$allowfineoverride) {
+ $issuingimpossible{DEBT} = sprintf( "%.2f", $non_issue_charges );
+ } elsif ( $non_issue_charges > 0 && $allfinesneedoverride ) {
+ $needsconfirmation{DEBT} = sprintf( "%.2f", $non_issue_charges );
}
}
+ if ($balance > 0 && $other_charges > 0) {
+ $alerts{OTHER_CHARGES} = sprintf( "%.2f", $other_charges );
+ }
my ($blocktype, $count) = C4::Members::IsMemberBlocked($borrower->{'borrowernumber'});
if ($blocktype == -1) {
#
# ITEM CHECKING
#
- if ( $item->{'notforloan'}
- && $item->{'notforloan'} > 0 )
+ if ( $item->{'notforloan'} )
{
if(!C4::Context->preference("AllowNotForLoanOverride")){
$issuingimpossible{NOT_FOR_LOAN} = 1;
$needsconfirmation{NOT_FOR_LOAN_FORCING} = 1;
}
}
- elsif ( !$item->{'notforloan'} ){
+ else {
# we have to check itemtypes.notforloan also
if (C4::Context->preference('item-level_itypes')){
# this should probably be a subroutine
);
}
+=head2 CheckIfIssuedToPatron
+
+ CheckIfIssuedToPatron($borrowernumber, $biblionumber)
+
+ Return 1 if any record item is issued to patron, otherwise return 0
+
+=cut
+
+sub CheckIfIssuedToPatron {
+ my ($borrowernumber, $biblionumber) = @_;
+
+ my $items = GetItemsByBiblioitemnumber($biblionumber);
+
+ foreach my $item (@{$items}) {
+ return 1 if ($item->{borrowernumber} && $item->{borrowernumber} eq $borrowernumber);
+ }
+
+ return;
+}
+
1;
--- /dev/null
+package C4::HTML5Media;
+
+# Copyright 2012 Mirko Tietgen
+#
+# 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 MARC::Field;
+
+
+=head1 HTML5Media
+
+C4::HTML5Media
+
+=head1 Description
+
+This module gets the relevant data from field 856 (MARC21/UNIMARC) to create a HTML5 audio or video element containing the file(s) catalogued in 856.
+
+=cut
+
+=head2 gethtml5media
+
+Get all relevant data from field 856. Takes a $record in the subroutine call, sets appropriate params.
+
+=cut
+
+sub gethtml5media {
+ my $self = shift;
+ my $record = shift;
+ my @HTML5Media_sets = ();
+ my @HTML5Media_fields = $record->field(856);
+ my $HTML5MediaParent;
+ my $HTML5MediaWidth;
+ my @HTML5MediaExtensions = split( /\|/, C4::Context->preference("HTML5MediaExtensions") );
+ my $marcflavour = C4::Context->preference("marcflavour");
+ foreach my $HTML5Media_field (@HTML5Media_fields) {
+ my %HTML5Media;
+ # protocol
+ if ( $HTML5Media_field->indicator(1) eq '1' ) {
+ $HTML5Media{protocol} = 'ftp';
+ }
+ elsif ( $HTML5Media_field->indicator(1) eq '4' ) {
+ $HTML5Media{protocol} = 'http';
+ }
+ elsif ( $HTML5Media_field->indicator(1) eq '7' ) {
+ if ($marcflavour eq 'MARC21' || $marcflavour eq 'NORMARC') {
+ $HTML5Media{protocol} = $HTML5Media_field->subfield('2');
+ }
+ elsif ($marcflavour eq 'UNIMARC') {
+ $HTML5Media{protocol} = $HTML5Media_field->subfield('y');
+ }
+ }
+ else {
+ $HTML5Media{protocol} = 'http';
+ }
+ # user
+ if ( $HTML5Media_field->subfield('l') ) {
+ $HTML5Media{username} = $HTML5Media_field->subfield('l'); # yes, that is arbitrary if h and l are not the same. originally i flipped a coin in that case.
+ }
+ elsif ( $HTML5Media_field->subfield('h') ) {
+ $HTML5Media{username} = $HTML5Media_field->subfield('h');
+ }
+ # user/pass
+ if ( $HTML5Media{username} && $HTML5Media_field->subfield('k') ) {
+ $HTML5Media{loginblock} = $HTML5Media{username} . ':' . $HTML5Media_field->subfield('k') . '@';
+ }
+ elsif ( $HTML5Media{username} ) {
+ $HTML5Media{loginblock} = $HTML5Media{username} . '@';
+ }
+ else {
+ $HTML5Media{loginblock} = '';
+ }
+ # port
+ if ( $HTML5Media_field->subfield('p') ) {
+ $HTML5Media{portblock} = ':' . $HTML5Media_field->subfield('k');
+ }
+ else {
+ $HTML5Media{portblock} = '';
+ }
+ # src
+ if ( $HTML5Media_field->subfield('u') ) {
+ $HTML5Media{srcblock} = $HTML5Media_field->subfield('u');
+ }
+ elsif ( $HTML5Media_field->subfield('a') && $HTML5Media_field->subfield('d') && $HTML5Media_field->subfield('f') ) {
+ $HTML5Media{host} = $HTML5Media_field->subfield('a');
+ $HTML5Media{host} =~ s/(^\/|\/$)//g;
+ $HTML5Media{path} = $HTML5Media_field->subfield('d');
+ $HTML5Media{path} =~ s/(^\/|\/$)//g;
+ $HTML5Media{file} = $HTML5Media_field->subfield('f');
+ $HTML5Media{srcblock} = $HTML5Media{protocol} . '://' . $HTML5Media{loginblock} . $HTML5Media{host} . $HTML5Media{portblock} . '/' . $HTML5Media{path} . '/' . $HTML5Media{file};
+ }
+ else {
+ next; # no file to play
+ }
+ # extension
+ $HTML5Media{extension} = ($HTML5Media{srcblock} =~ m/([^.]+)$/)[0];
+ if ( !grep /$HTML5Media{extension}/, @HTML5MediaExtensions ) {
+ next; # not a specified media file
+ }
+ # mime
+ if ( $HTML5Media_field->subfield('c') ) {
+ $HTML5Media{codecs} = $HTML5Media_field->subfield('c');
+ }
+ ### from subfield q…
+ if ( $HTML5Media_field->subfield('q') ) {
+ $HTML5Media{mime} = $HTML5Media_field->subfield('q');
+ }
+ ### …or from file extension and codecs…
+ elsif ( $HTML5Media{codecs} ) {
+ if ( $HTML5Media{codecs} =~ /theora.*vorbis/ ) {
+ $HTML5Media{mime} = 'video/ogg';
+ }
+ elsif ( $HTML5Media{codecs} =~ /vp8.*vorbis/ ) {
+ $HTML5Media{mime} = 'video/webm';
+ }
+ elsif ( ($HTML5Media{codecs} =~ /^vorbis$/) && ($HTML5Media{extension} eq 'ogg') ) {
+ $HTML5Media{mime} = 'audio/ogg';
+ }
+ elsif ( ($HTML5Media{codecs} =~ /^vorbis$/) && ($HTML5Media{extension} eq 'webm') ) {
+ $HTML5Media{mime} = 'audio/webm';
+ }
+ }
+ ### …or just from file extension
+ else {
+ if ( $HTML5Media{extension} eq 'ogv' ) {
+ $HTML5Media{mime} = 'video/ogg';
+ $HTML5Media{codecs} = 'theora,vorbis';
+ }
+ if ( $HTML5Media{extension} eq 'oga' ) {
+ $HTML5Media{mime} = 'audio/ogg';
+ $HTML5Media{codecs} = 'vorbis';
+ }
+ elsif ( $HTML5Media{extension} eq 'spx' ) {
+ $HTML5Media{mime} = 'audio/ogg';
+ $HTML5Media{codecs} = 'speex';
+ }
+ elsif ( $HTML5Media{extension} eq 'opus' ) {
+ $HTML5Media{mime} = 'audio/ogg';
+ $HTML5Media{codecs} = 'opus';
+ }
+ elsif ( $HTML5Media{extension} eq 'vtt' ) {
+ $HTML5Media{mime} = 'text/vtt';
+ }
+ }
+ # codecs
+ if ( $HTML5Media{codecs} ) {
+ $HTML5Media{codecblock} = '; codecs="' . $HTML5Media{codecs} . '"';
+ }
+ else {
+ $HTML5Media{codecblock} = '';
+ }
+ # type
+ if ( $HTML5Media{mime} ) {
+ $HTML5Media{typeblock} = ' type=\'' . $HTML5Media{mime} . $HTML5Media{codecblock} . '\'';
+ }
+ else {
+ $HTML5Media{typeblock} = '';
+ }
+ # element
+ if ( $HTML5Media{mime} =~ /audio/ ) {
+ $HTML5Media{type} = 'audio';
+ }
+ elsif ( $HTML5Media{mime} =~ /video/ ) {
+ $HTML5Media{type} = 'video';
+ }
+ elsif ( $HTML5Media{mime} =~ /text/ ) {
+ $HTML5Media{type} = 'track';
+ }
+ # push
+ if ( $HTML5Media{srcblock} && $HTML5Media{type} ) {
+ push (@HTML5Media_sets, \%HTML5Media);
+ }
+ }
+ # parent element
+ for my $media ( @HTML5Media_sets ) {
+ if ( ($media->{mime}) && ($media->{mime} =~ /audio/) ) {
+ if ( $HTML5MediaParent ne 'video' ) {
+ $HTML5MediaParent = 'audio';
+ $HTML5MediaWidth = '';
+ }
+ }
+ elsif ( ($media->{mime}) && ($media->{mime} =~ /video/) ) {
+ $HTML5MediaParent = 'video';
+ $HTML5MediaWidth = ' width="480"';
+ }
+ }
+ # child element
+ for my $media ( @HTML5Media_sets ) {
+ if ( ($media->{type}) && ( ($media->{type} eq 'video') || ($media->{type} eq 'audio') ) ) {
+ if ( $media->{type} eq $HTML5MediaParent ) {
+ $media->{child} = 'source';
+ }
+ }
+ else {
+ $media->{child} = $media->{type};
+ }
+ }
+
+ return (
+ HTML5MediaEnabled => ( (scalar(@HTML5Media_sets) > 0) && ($HTML5MediaParent) ),
+ HTML5MediaSets => \@HTML5Media_sets,
+ HTML5MediaParent => $HTML5MediaParent,
+ HTML5MediaWidth => $HTML5MediaWidth,
+ );
+}
+
+1;
# remove item fields so that they don't get
# added again if record is reverted
+ # FIXME: GetXmlBiblio output should not contain item info any more! So the next foreach should not be needed. Does not hurt either; may remove old 952s that should not have been there anymore.
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);
'String::Random' => {
'usage' => 'OpacSelfRegistration',
'required' => '0',
- 'min_ver' => '1.4',
+ 'min_ver' => '0.22',
},
};
$defaultvalue = $tagslib->{$tag}->{$subfield}->{defaultvalue} unless $defaultvalue;
if ( !defined $defaultvalue ) {
$defaultvalue = q||;
+ } else {
+ $defaultvalue =~ s/"/"/g;
}
- $defaultvalue =~ s/"/"/g;
# search for itemcallnumber if applicable
if ( $tagslib->{$tag}->{$subfield}->{kohafield} eq 'items.itemcallnumber'
&& C4::Context->preference('itemcallnumber') ) {
my $CNtag = substr( C4::Context->preference('itemcallnumber'), 0, 3 );
my $CNsubfield = substr( C4::Context->preference('itemcallnumber'), 3, 1 );
- if ($itemrecord) {
- my $temp = $itemrecord->field($CNtag);
- if ($temp) {
- $defaultvalue = $temp->subfield($CNsubfield);
- }
+ if ( $itemrecord and my $field = $itemrecord->field($CNtag) ) {
+ $defaultvalue = $field->subfield($CNsubfield);
}
}
if ( $tagslib->{$tag}->{$subfield}->{kohafield} eq 'items.itemcallnumber'
&& $defaultvalues
&& $defaultvalues->{'callnumber'} ) {
- my $temp;
- if ($itemrecord) {
- $temp = $itemrecord->field($subfield);
- }
- unless ($temp) {
- $defaultvalue = $defaultvalues->{'callnumber'} if $defaultvalues;
+ if( $itemrecord and $defaultvalues and not $itemrecord->field($subfield) ){
+ $defaultvalue = $defaultvalues->{callnumber};
}
}
if ( ( $tagslib->{$tag}->{$subfield}->{kohafield} eq 'items.holdingbranch' || $tagslib->{$tag}->{$subfield}->{kohafield} eq 'items.homebranch' )
&& $defaultvalues
&& $defaultvalues->{'branchcode'} ) {
- my $temp;
- if ($itemrecord) {
- $temp = $itemrecord->field($subfield);
- }
- unless ($temp) {
- $defaultvalue = $defaultvalues->{branchcode} if $defaultvalues;
+ if ( $itemrecord and $defaultvalues and not $itemrecord->field($subfield) ) {
+ $defaultvalue = $defaultvalues->{branchcode};
}
}
if ( ( $tagslib->{$tag}->{$subfield}->{kohafield} eq 'items.location' )
&& $defaultvalues
&& $defaultvalues->{'location'} ) {
- my $temp; # make perlcritic happy :)
- $temp = $itemrecord->field($subfield) if ($itemrecord);
-
- unless ($temp) {
- $defaultvalue = $defaultvalues->{location} if $defaultvalues;
+ if ( $itemrecord and $defaultvalues and not $itemrecord->field($subfield) ) {
+ $defaultvalue = $defaultvalues->{location};
}
}
if ( $tagslib->{$tag}->{$subfield}->{authorised_value} ) {
# opening plugin
my $plugin = C4::Context->intranetdir . "/cataloguing/value_builder/" . $tagslib->{$tag}->{$subfield}->{'value_builder'};
if (do $plugin) {
- my $temp;
- my $extended_param = plugin_parameters( $dbh, $temp, $tagslib, $subfield_data{id}, undef );
- my ( $function_name, $javascript ) = plugin_javascript( $dbh, $temp, $tagslib, $subfield_data{id}, undef );
+ my $extended_param = plugin_parameters( $dbh, undef, $tagslib, $subfield_data{id}, undef );
+ my ( $function_name, $javascript ) = plugin_javascript( $dbh, undef, $tagslib, $subfield_data{id}, undef );
$subfield_data{random} = int(rand(1000000)); # why do we need 2 different randoms?
$subfield_data{marc_value} = qq[<input tabindex="1" id="$subfield_data{id}" name="field_value" class="input_marceditor" size="67" maxlength="255"
onfocus="Focus$function_name($subfield_data{random}, '$subfield_data{id}');"
=head2 getitemtypeinfo
- $itemtype = &getitemtype($itemtype);
+ $itemtype = &getitemtypeinfo($itemtype, [$interface]);
-Returns information about an itemtype.
+Returns information about an itemtype. The optional $interface argument
+sets which interface ('opac' or 'intranet') to return the imageurl for.
+Defaults to intranet.
=cut
sub getitemtypeinfo {
- my ($itemtype) = @_;
+ my ($itemtype, $interface) = @_;
my $dbh = C4::Context->dbh;
my $sth = $dbh->prepare("select * from itemtypes where itemtype=?");
$sth->execute($itemtype);
my $res = $sth->fetchrow_hashref;
- $res->{imageurl} = getitemtypeimagelocation( 'intranet', $res->{imageurl} );
+ $res->{imageurl} = getitemtypeimagelocation( ( ( defined $interface && $interface eq 'opac' ) ? 'opac' : 'intranet' ), $res->{imageurl} );
return $res;
}
{
'checked' => 'checked',
- 'encoding' => 'MARC-8'
+ 'encoding' => 'utf8',
'icon' => undef,
'id' => 'LIBRARY OF CONGRESS',
'label' => '',
'name' => 'server',
'opensearch' => '',
- 'value' => 'z3950.loc.gov:7090/',
+ 'value' => 'lx2.loc.gov:210/',
'zed' => 1,
},
use C4::Log;
use C4::SMS;
use C4::Debug;
+use Koha::DateUtils;
+
use Date::Calc qw( Add_Delta_Days );
use Encode;
-use Unicode::Normalize;
use Carp;
use vars qw($VERSION @ISA @EXPORT @EXPORT_OK %EXPORT_TAGS);
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 ) = @_;
=head2 GetPreparedLetter( %params )
- retrieves letter template and performs substituion processing
-
%params hash:
module => letter module, mandatory
letter_code => letter code, mandatory
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;
sub _parseletter {
my ( $letter, $table, $values ) = @_;
- # TEMPORARY hack until the expirationdate column is added to reserves
if ( $table eq 'reserves' && $values->{'waitingdate'} ) {
my @waitingdate = split /-/, $values->{'waitingdate'};
- $values->{'expirationdate'} = C4::Dates->new(
- sprintf(
- '%04d-%02d-%02d',
- Add_Delta_Days( @waitingdate, C4::Context->preference( 'ReservesMaxPickUpDelay' ) )
- ),
- 'iso'
- )->output();
+ my $dt = dt_from_string();
+ $dt->add( days => C4::Context->preference('ReservesMaxPickUpDelay') );
+ $values->{'expirationdate'} = output_pref( $dt, undef, 1 );
+
+ $values->{'waitingdate'} = output_pref( dt_from_string( $values->{'waitingdate'} ), undef, 1 );
+
}
if ($letter->{content} && $letter->{content} =~ /<<today>>/) {
$letter->{content} =~ s/<<today>>/$todaysdate/go;
}
- # and get all fields from the table
-# my $columns = $columns{$table};
-# unless ($columns) {
-# $columns = $columns{$table} = C4::Context->dbh->selectcol_arrayref("SHOW COLUMNS FROM $table");
-# }
-# foreach my $field (@$columns) {
-
while ( my ($field, $val) = each %$values ) {
my $replacetablefield = "<<$table.$field>>";
my $replacefield = "<<$field>>";
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(
$message->attach(
Type => $letter->{'content-type'} || 'TEXT',
Data => $letter->{'is_html'}
- ? _wrap_html($letter->{'content'}, NFC($letter->{'title'}))
- : NFC($letter->{'content'}),
+ ? _wrap_html($letter->{'content'}, $letter->{'title'})
+ : $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'},
GetBorrowerCategorycode
&GetBorrowercategoryList
- &GetBorrowersWhoHaveNotBorrowedSince
+ &GetBorrowersToExpunge
&GetBorrowersWhoHaveNeverBorrowed
&GetBorrowersWithIssuesHistoryOlderThan
my %flags;
my ( $patroninformation) = @_;
my $dbh=C4::Context->dbh;
- my ($amount) = GetMemberAccountRecords( $patroninformation->{'borrowernumber'});
- if ( $amount > 0 ) {
+ my ($balance, $owing) = GetMemberAccountBalance( $patroninformation->{'borrowernumber'});
+ if ( $owing > 0 ) {
my %flaginfo;
my $noissuescharge = C4::Context->preference("noissuescharge") || 5;
- $flaginfo{'message'} = sprintf "Patron owes \$%.02f", $amount;
- $flaginfo{'amount'} = sprintf "%.02f", $amount;
- if ( $amount > $noissuescharge && !C4::Context->preference("AllowFineOverride") ) {
+ $flaginfo{'message'} = sprintf "Patron owes \$%.02f", $owing;
+ $flaginfo{'amount'} = sprintf "%.02f", $owing;
+ if ( $owing > $noissuescharge && !C4::Context->preference("AllowFineOverride") ) {
$flaginfo{'noissues'} = 1;
}
$flags{'CHARGES'} = \%flaginfo;
}
- elsif ( $amount < 0 ) {
+ elsif ( $balance < 0 ) {
my %flaginfo;
- $flaginfo{'message'} = sprintf "Patron has credit of \$%.02f", -$amount;
- $flaginfo{'amount'} = sprintf "%.02f", $amount;
+ $flaginfo{'message'} = sprintf "Patron has credit of \$%.02f", -$balance;
+ $flaginfo{'amount'} = sprintf "%.02f", $balance;
$flags{'CREDITS'} = \%flaginfo;
}
if ( $patroninformation->{'gonenoaddress'}
=cut
-#'
sub GetMemberAccountRecords {
- my ($borrowernumber,$date) = @_;
+ my ($borrowernumber) = @_;
my $dbh = C4::Context->dbh;
my @acctlines;
my $numlines = 0;
SELECT *
FROM accountlines
WHERE borrowernumber=?);
- my @bind = ($borrowernumber);
- if ($date && $date ne ''){
- $strsth.=" AND date < ? ";
- push(@bind,$date);
- }
$strsth.=" ORDER BY date desc,timestamp DESC";
my $sth= $dbh->prepare( $strsth );
- $sth->execute( @bind );
+ $sth->execute( $borrowernumber );
+
my $total = 0;
while ( my $data = $sth->fetchrow_hashref ) {
if ( $data->{itemnumber} ) {
return ( $total, \@acctlines,$numlines);
}
+=head2 GetMemberAccountBalance
+
+ ($total_balance, $non_issue_balance, $other_charges) = &GetMemberAccountBalance($borrowernumber);
+
+Calculates amount immediately owing by the patron - non-issue charges.
+Based on GetMemberAccountRecords.
+Charges exempt from non-issue are:
+* Res (reserves)
+* Rent (rental) if RentalsInNoissuesCharge syspref is set to false
+* Manual invoices if ManInvInNoissuesCharge syspref is set to false
+
+=cut
+
+my $ACCOUNT_TYPE_LENGTH = 5; # this is plain ridiculous...
+
+my @not_fines = ('Res');
+push @not_fines, 'Rent' unless C4::Context->preference('RentalsInNoissuesCharge');
+unless ( C4::Context->preference('ManInvInNoissuesCharge') ) {
+ my $dbh = C4::Context->dbh;
+ my $man_inv_types = $dbh->selectcol_arrayref(qq{SELECT authorised_value FROM authorised_values WHERE category = 'MANUAL_INV'});
+ push @not_fines, map substr($_, 0, $ACCOUNT_TYPE_LENGTH), @$man_inv_types;
+}
+my %not_fine = map {$_ => 1} @not_fines;
+
+sub GetMemberAccountBalance {
+ my ($borrowernumber) = @_;
+
+ my ($total, $acctlines) = GetMemberAccountRecords($borrowernumber);
+ my $other_charges = 0;
+ foreach (@$acctlines) {
+ $other_charges += $_->{amountoutstanding} if $not_fine{ substr($_->{accounttype}, 0, $ACCOUNT_TYPE_LENGTH) };
+ }
+
+ return ( $total, $total - $other_charges, $other_charges);
+}
+
=head2 GetBorNotifyAcctRecord
($total, $acctlines, $count) = &GetBorNotifyAcctRecord($params,$notifyid);
? 0
: C4::Context->userenv ? C4::Context->userenv->{"branch"} : "";
my $dbh = C4::Context->dbh;
- my $query = "SELECT * FROM categories";
+ my $query = "SELECT categories.* FROM categories";
$query .= qq{
LEFT JOIN categories_branches ON categories.categorycode = categories_branches.categorycode
WHERE branchcode = ? OR branchcode IS NULL GROUP BY description
return ($roadtype);
}
-=head2 GetBorrowersWhoHaveNotBorrowedSince
+=head2 GetBorrowersToExpunge
- &GetBorrowersWhoHaveNotBorrowedSince($date)
+ $borrowers = &GetBorrowersToExpunge(
+ not_borrowered_since => $not_borrowered_since,
+ expired_before => $expired_before,
+ category_code => $category_code,
+ branchcode => $branchcode
+ );
-this function get all borrowers who haven't borrowed since the date given on input arg.
+ This function get all borrowers based on the given criteria.
=cut
-sub GetBorrowersWhoHaveNotBorrowedSince {
- my $filterdate = shift||POSIX::strftime("%Y-%m-%d",localtime());
- my $filterexpiry = shift;
- my $filterbranch = shift ||
+sub GetBorrowersToExpunge {
+ my $params = shift;
+
+ my $filterdate = $params->{'not_borrowered_since'};
+ my $filterexpiry = $params->{'expired_before'};
+ my $filtercategory = $params->{'category_code'};
+ my $filterbranch = $params->{'branchcode'} ||
((C4::Context->preference('IndependantBranches')
&& C4::Context->userenv
&& C4::Context->userenv->{flags} % 2 !=1
&& C4::Context->userenv->{branch})
? C4::Context->userenv->{branch}
: "");
+
my $dbh = C4::Context->dbh;
my $query = "
SELECT borrowers.borrowernumber,
- max(old_issues.timestamp) as latestissue,
- max(issues.timestamp) as currentissue
+ MAX(old_issues.timestamp) AS latestissue,
+ MAX(issues.timestamp) AS currentissue
FROM borrowers
JOIN categories USING (categorycode)
LEFT JOIN old_issues USING (borrowernumber)
LEFT JOIN issues USING (borrowernumber)
WHERE category_type <> 'S'
- AND borrowernumber NOT IN (SELECT guarantorid FROM borrowers WHERE guarantorid IS NOT NULL AND guarantorid <> 0)
+ AND borrowernumber NOT IN (SELECT guarantorid FROM borrowers WHERE guarantorid IS NOT NULL AND guarantorid <> 0)
";
my @query_params;
- if ($filterbranch && $filterbranch ne ""){
- $query.=" AND borrowers.branchcode= ?";
- push @query_params,$filterbranch;
+ if ( $filterbranch && $filterbranch ne "" ) {
+ $query.= " AND borrowers.branchcode = ? ";
+ push( @query_params, $filterbranch );
}
- if($filterexpiry){
+ if ( $filterexpiry ) {
$query .= " AND dateexpiry < ? ";
- push @query_params,$filterdate;
+ push( @query_params, $filterexpiry );
+ }
+ if ( $filtercategory ) {
+ $query .= " AND categorycode = ? ";
+ push( @query_params, $filtercategory );
}
- $query.=" GROUP BY borrowers.borrowernumber";
- if ($filterdate){
- $query.=" HAVING (latestissue < ? OR latestissue IS NULL)
- AND currentissue IS NULL";
+ $query.=" GROUP BY borrowers.borrowernumber HAVING currentissue IS NULL ";
+ if ( $filterdate ) {
+ $query.=" AND ( latestissue < ? OR latestissue IS NULL ) ";
push @query_params,$filterdate;
}
warn $query if $debug;
+
my $sth = $dbh->prepare($query);
if (scalar(@query_params)>0){
$sth->execute(@query_params);
$debug and warn "new Patron (GetMemberDetails): " . Dumper($kp);
my $pw = $kp->{password}; ### FIXME - md5hash -- deal with .
my $flags = $kp->{flags}; # or warn "Warning: No flags from patron object for '$patron_id'";
- my $debarred = $kp->{debarred}; # 1 if ($kp->{flags}->{DBARRED}->{noissues});
+ my $debarred = defined($kp->{flags}->{DBARRED});
$debug and warn sprintf("Debarred = %s : ", ($debarred||'undef')) . Dumper(%{$kp->{flags}});
my ($day, $month, $year) = (localtime)[3,4,5];
my $today = sprintf '%04d-%02d-%02d', $year+1900, $month+1, $day;
use strict;
use warnings;
-use English;
use Exporter;
use Readonly;
package Sip::Configuration;
use strict;
-use English;
use warnings;
use XML::Simple qw(:strict);
use strict;
use warnings;
-use English;
-# use Exporter;
sub new {
my ($class, $obj) = @_;
use strict;
use warnings;
-use English;
-# use Exporter;
sub new {
my ($class, $obj) = @_;
use strict;
use warnings;
-use English;
-# use Exporter;
sub new {
my ($class, $obj) = @_;
return ( $error, undef, undef );
}
}
- while ( ( my $i = ZOOM::event( \@zconns ) ) != 0 ) {
- my $event = $zconns[ $i - 1 ]->last_event();
- if ( $event == ZOOM::Event::ZEND ) {
- my $first_record = defined( $offset ) ? $offset+1 : 1;
+ _ZOOM_event_loop(
+ \@zconns,
+ \@tmpresults,
+ sub {
+ my ($i, $size) = @_;
+ my $first_record = defined($offset) ? $offset + 1 : 1;
my $hits = $tmpresults[ $i - 1 ]->size();
$total_hits += $hits;
my $last_record = $hits;
if ( defined $max_results && $offset + $max_results < $hits ) {
- $last_record = $offset + $max_results;
+ $last_record = $offset + $max_results;
}
- for my $j ( $first_record..$last_record ) {
- my $record = $tmpresults[ $i - 1 ]->record( $j-1 )->raw(); # 0 indexed
+ for my $j ( $first_record .. $last_record ) {
+ my $record =
+ $tmpresults[ $i - 1 ]->record( $j - 1 )->raw()
+ ; # 0 indexed
push @{$results}, $record;
}
}
- }
+ );
- foreach my $result (@tmpresults) {
- $result->destroy();
- }
foreach my $zoom_query (@zoom_queries) {
$zoom_query->destroy();
}
} # finished looping through servers
# The big moment: asynchronously retrieve results from all servers
- while ( ( my $i = ZOOM::event( \@zconns ) ) != 0 ) {
- my $ev = $zconns[ $i - 1 ]->last_event();
- if ( $ev == ZOOM::Event::ZEND ) {
- next unless $results[ $i - 1 ];
- my $size = $results[ $i - 1 ]->size();
- if ( $size > 0 ) {
+ _ZOOM_event_loop(
+ \@zconns,
+ \@results,
+ sub {
+ my ( $i, $size ) = @_;
my $results_hash;
# loop through the results
my $tmpauthor;
# the minimal record in author/title (depending on MARC flavour)
- if (C4::Context->preference("marcflavour") eq "UNIMARC") {
- $tmptitle = MARC::Field->new('200',' ',' ', a => $term, f => $occ);
+ if ( C4::Context->preference("marcflavour") eq
+ "UNIMARC" )
+ {
+ $tmptitle = MARC::Field->new(
+ '200', ' ', ' ',
+ a => $term,
+ f => $occ
+ );
$tmprecord->append_fields($tmptitle);
- } else {
- $tmptitle = MARC::Field->new('245',' ',' ', a => $term,);
- $tmpauthor = MARC::Field->new('100',' ',' ', a => $occ,);
+ }
+ else {
+ $tmptitle =
+ MARC::Field->new( '245', ' ', ' ', a => $term, );
+ $tmpauthor =
+ MARC::Field->new( '100', ' ', ' ', a => $occ, );
$tmprecord->append_fields($tmptitle);
$tmprecord->append_fields($tmpauthor);
}
- $results_hash->{'RECORDS'}[$j] = $tmprecord->as_usmarc();
+ $results_hash->{'RECORDS'}[$j] =
+ $tmprecord->as_usmarc();
}
# not an index scan
}
$results_hashref->{ $servers[ $i - 1 ] } = $results_hash;
- # Fill the facets while we're looping, but only for the biblioserver and not for a scan
+# Fill the facets while we're looping, but only for the biblioserver and not for a scan
if ( !$scan && $servers[ $i - 1 ] =~ /biblioserver/ ) {
- my $jmax = $size>$facets_maxrecs? $facets_maxrecs: $size;
- for my $facet ( @$facets ) {
- for ( my $j = 0 ; $j < $jmax ; $j++ ) {
- my $render_record = $results[ $i - 1 ]->record($j)->render();
+ my $jmax =
+ $size > $facets_maxrecs ? $facets_maxrecs : $size;
+ for my $facet (@$facets) {
+ for ( my $j = 0 ; $j < $jmax ; $j++ ) {
+ my $render_record =
+ $results[ $i - 1 ]->record($j)->render();
my @used_datas = ();
- foreach my $tag ( @{$facet->{tags}} ) {
+ foreach my $tag ( @{ $facet->{tags} } ) {
+
# avoid first line
- my $tag_num = substr($tag, 0, 3);
- my $letters = substr($tag, 3);
- 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 ) ;
+ my $tag_num = substr( $tag, 0, 3 );
+ my $letters = substr( $tag, 3 );
+ 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 );
+ my @subf = ( $field_token =~
+ /\$([a-zA-Z0-9]) ([^\$]+)/g );
my @values;
- for (my $i = 0; $i < @subf; $i += 2) {
+ for ( my $i = 0 ; $i < @subf ; $i += 2 ) {
if ( $letters =~ $subf[$i] ) {
- my $value = $subf[$i+1];
- $value =~ s/^ *//;
- $value =~ s/ *$//;
- push @values, $value;
+ my $value = $subf[ $i + 1 ];
+ $value =~ s/^ *//;
+ $value =~ s/ *$//;
+ push @values, $value;
}
}
- my $data = join($facet->{sep}, @values);
+ my $data = join( $facet->{sep}, @values );
unless ( $data ~~ @used_datas ) {
- $facets_counter->{ $facet->{idx} }->{$data}++;
+ $facets_counter->{ $facet->{idx} }
+ ->{$data}++;
push @used_datas, $data;
}
- } # fields
- } # field codes
- } # records
- $facets_info->{ $facet->{idx} }->{label_value} = $facet->{label};
- $facets_info->{ $facet->{idx} }->{expanded} = $facet->{expanded};
- } # facets
+ } # fields
+ } # field codes
+ } # records
+ $facets_info->{ $facet->{idx} }->{label_value} =
+ $facet->{label};
+ $facets_info->{ $facet->{idx} }->{expanded} =
+ $facet->{expanded};
+ } # facets
}
- }
- # warn "connection ", $i-1, ": $size hits";
- # warn $results[$i-1]->record(0)->render() if $size > 0;
+ # warn "connection ", $i-1, ": $size hits";
+ # warn $results[$i-1]->record(0)->render() if $size > 0;
- # BUILD FACETS
- if ( $servers[ $i - 1 ] =~ /biblioserver/ ) {
- for my $link_value (
- sort { $facets_counter->{$b} <=> $facets_counter->{$a} }
- keys %$facets_counter )
- {
- my $expandable;
- my $number_of_facets;
- my @this_facets_array;
- for my $one_facet (
- sort {
- $facets_counter->{$link_value}->{$b}
- <=> $facets_counter->{$link_value}->{$a}
- } keys %{ $facets_counter->{$link_value} }
+ # BUILD FACETS
+ if ( $servers[ $i - 1 ] =~ /biblioserver/ ) {
+ for my $link_value (
+ sort { $facets_counter->{$b} <=> $facets_counter->{$a} }
+ keys %$facets_counter
)
{
- $number_of_facets++;
- if ( ( $number_of_facets < 6 )
- || ( $expanded_facet eq $link_value )
- || ( $facets_info->{$link_value}->{'expanded'} ) )
+ my $expandable;
+ my $number_of_facets;
+ my @this_facets_array;
+ for my $one_facet (
+ sort {
+ $facets_counter->{$link_value}
+ ->{$b} <=> $facets_counter->{$link_value}
+ ->{$a}
+ } keys %{ $facets_counter->{$link_value} }
+ )
{
+ $number_of_facets++;
+ if ( ( $number_of_facets < 6 )
+ || ( $expanded_facet eq $link_value )
+ || ( $facets_info->{$link_value}->{'expanded'} )
+ )
+ {
+
+# Sanitize the link value : parenthesis, question and exclamation mark will cause errors with CCL
+ my $facet_link_value = $one_facet;
+ $facet_link_value =~ s/[()!?¡¿؟]/ /g;
+
+ # fix the length that will display in the label,
+ my $facet_label_value = $one_facet;
+ my $facet_max_length = C4::Context->preference(
+ 'FacetLabelTruncationLength')
+ || 20;
+ $facet_label_value =
+ substr( $one_facet, 0, $facet_max_length )
+ . "..."
+ if length($facet_label_value) >
+ $facet_max_length;
- # Sanitize the link value : parenthesis, question and exclamation mark will cause errors with CCL
- my $facet_link_value = $one_facet;
- $facet_link_value =~ s/[()!?¡¿؟]/ /g;
+ # if it's a branch, label by the name, not the code,
+ if ( $link_value =~ /branch/ ) {
+ if ( defined $branches
+ && ref($branches) eq "HASH"
+ && defined $branches->{$one_facet}
+ && ref( $branches->{$one_facet} ) eq
+ "HASH" )
+ {
+ $facet_label_value =
+ $branches->{$one_facet}
+ ->{'branchname'};
+ }
+ else {
+ $facet_label_value = "*";
+ }
+ }
- # fix the length that will display in the label,
- my $facet_label_value = $one_facet;
- my $facet_max_length =
- C4::Context->preference('FacetLabelTruncationLength') || 20;
- $facet_label_value =
- substr( $one_facet, 0, $facet_max_length ) . "..."
- if length($facet_label_value) > $facet_max_length;
+ # if it's a itemtype, label by the name, not the code,
+ if ( $link_value =~ /itype/ ) {
+ if ( defined $itemtypes
+ && ref($itemtypes) eq "HASH"
+ && defined $itemtypes->{$one_facet}
+ && ref( $itemtypes->{$one_facet} ) eq
+ "HASH" )
+ {
+ $facet_label_value =
+ $itemtypes->{$one_facet}
+ ->{'description'};
+ }
+ }
- # if it's a branch, label by the name, not the code,
- if ( $link_value =~ /branch/ ) {
- if (defined $branches
- && ref($branches) eq "HASH"
- && defined $branches->{$one_facet}
- && ref ($branches->{$one_facet}) eq "HASH")
- {
- $facet_label_value =
- $branches->{$one_facet}->{'branchname'};
- }
- else {
- $facet_label_value = "*";
- }
- }
- # if it's a itemtype, label by the name, not the code,
- if ( $link_value =~ /itype/ ) {
- if (defined $itemtypes
- && ref($itemtypes) eq "HASH"
- && defined $itemtypes->{$one_facet}
- && ref ($itemtypes->{$one_facet}) eq "HASH")
- {
+ # also, if it's a location code, use the name instead of the code
+ if ( $link_value =~ /location/ ) {
$facet_label_value =
- $itemtypes->{$one_facet}->{'description'};
+ GetKohaAuthorisedValueLib( 'LOC',
+ $one_facet, $opac );
}
- }
- # 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},
+ facet_label_value => $facet_label_value,
+ facet_title_value => $one_facet,
+ facet_link_value => $facet_link_value,
+ type_link_value => $link_value,
+ }
+ if ($facet_label_value);
}
-
- # 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},
- facet_label_value => $facet_label_value,
- facet_title_value => $one_facet,
- facet_link_value => $facet_link_value,
- type_link_value => $link_value,
- } if ( $facet_label_value );
}
- }
- # handle expanded option
- unless ( $facets_info->{$link_value}->{'expanded'} ) {
- $expandable = 1
- if ( ( $number_of_facets > 6 )
- && ( $expanded_facet ne $link_value ) );
+ # handle expanded option
+ unless ( $facets_info->{$link_value}->{'expanded'} ) {
+ $expandable = 1
+ if ( ( $number_of_facets > 6 )
+ && ( $expanded_facet ne $link_value ) );
+ }
+ push @facets_loop,
+ {
+ type_link_value => $link_value,
+ type_id => $link_value . "_id",
+ "type_label_"
+ . $facets_info->{$link_value}->{'label_value'} =>
+ 1,
+ facets => \@this_facets_array,
+ expandable => $expandable,
+ expand => $link_value,
+ }
+ unless (
+ (
+ $facets_info->{$link_value}->{'label_value'} =~
+ /Libraries/
+ )
+ and ( C4::Context->preference('singleBranchMode') )
+ );
}
- push @facets_loop, {
- type_link_value => $link_value,
- type_id => $link_value . "_id",
- "type_label_" . $facets_info->{$link_value}->{'label_value'} => 1,
- facets => \@this_facets_array,
- expandable => $expandable,
- expand => $link_value,
- } unless ( ($facets_info->{$link_value}->{'label_value'} =~ /Libraries/) and (C4::Context->preference('singleBranchMode')) );
}
}
- }
- }
+ );
return ( undef, $results_hashref, \@facets_loop );
}
}
# The big moment: asynchronously retrieve results from all servers
my @elements;
- while ( ( my $i = ZOOM::event( \@zconns ) ) != 0 ) {
- my $ev = $zconns[ $i - 1 ]->last_event();
- if ( $ev == ZOOM::Event::ZEND ) {
- next unless $results[ $i - 1 ];
- my $size = $results[ $i - 1 ]->size();
- if ( $size > 0 ) {
- for (my $j=0;$j<$size;$j++){
- my %hashscan;
- @hashscan{qw(value cnt)}=$results[ $i - 1 ]->display_term($j);
- push @elements, \%hashscan;
- }
- }
- }
- }
+ _ZOOM_event_loop(
+ \@zconns,
+ \@results,
+ sub {
+ my ( $i, $size ) = @_;
+ for ( my $j = 0 ; $j < $size ; $j++ ) {
+ my %hashscan;
+ @hashscan{qw(value cnt)} =
+ $results[ $i - 1 ]->display_term($j);
+ push @elements, \%hashscan;
+ }
+ }
+ );
return \@elements;
}
}
+=head2 _ZOOM_event_loop
+
+ _ZOOM_event_loop(\@zconns, \@results, sub {
+ my ( $i, $size ) = @_;
+ ....
+ } );
+
+Processes a ZOOM event loop and passes control to a closure for
+processing the results, and destroying the resultsets.
+
+=cut
+
+sub _ZOOM_event_loop {
+ my ($zconns, $results, $callback) = @_;
+ while ( ( my $i = ZOOM::event( $zconns ) ) != 0 ) {
+ my $ev = $zconns->[ $i - 1 ]->last_event();
+ if ( $ev == ZOOM::Event::ZEND ) {
+ next unless $results->[ $i - 1 ];
+ my $size = $results->[ $i - 1 ]->size();
+ if ( $size > 0 ) {
+ $callback->($i, $size);
+ }
+ }
+ }
+
+ foreach my $result (@$results) {
+ $result->destroy();
+ }
+}
+
END { } # module clean-up code here (global destructor)
this function returns the subscription which has $subscriptionid as id.
return :
a hashref. This hash containts
-subscription, subscriptionhistory, aqbudget.bookfundid, biblio.title
+subscription, subscriptionhistory, aqbooksellers.name, biblio.title
=cut
# 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; FIXME - Bug 2505
use CGI;
use C4::SQLHelper qw(:all);
use C4::Debug;
use C4::Letters;
-use List::MoreUtils qw<any>;
+use List::MoreUtils qw(any);
use C4::Dates qw(format_date_in_iso);
use base qw(Exporter);
+
our $VERSION = 3.07.00.049;
-our @EXPORT = qw<
- ConnectSuggestionAndBiblio
- CountSuggestion
- DelSuggestion
- GetSuggestion
- GetSuggestionByStatus
- GetSuggestionFromBiblionumber
- GetSuggestionInfoFromBiblionumber
- GetSuggestionInfo
- ModStatus
- ModSuggestion
- NewSuggestion
- SearchSuggestion
- DelSuggestionsOlderThan
->;
+our @EXPORT = qw(
+ ConnectSuggestionAndBiblio
+ CountSuggestion
+ DelSuggestion
+ GetSuggestion
+ GetSuggestionByStatus
+ GetSuggestionFromBiblionumber
+ GetSuggestionInfoFromBiblionumber
+ GetSuggestionInfo
+ ModStatus
+ ModSuggestion
+ NewSuggestion
+ SearchSuggestion
+ DelSuggestionsOlderThan
+);
=head1 NAME
=cut
-sub SearchSuggestion {
- my ($suggestion)=@_;
+sub SearchSuggestion {
+ my ($suggestion) = @_;
my $dbh = C4::Context->dbh;
my @sql_params;
my @query = (
- q{ SELECT suggestions.*,
- U1.branchcode AS branchcodesuggestedby,
- B1.branchname AS branchnamesuggestedby,
- U1.surname AS surnamesuggestedby,
- U1.firstname AS firstnamesuggestedby,
- U1.email AS emailsuggestedby,
- U1.borrowernumber AS borrnumsuggestedby,
- U1.categorycode AS categorycodesuggestedby,
- C1.description AS categorydescriptionsuggestedby,
- U2.surname AS surnamemanagedby,
- U2.firstname AS firstnamemanagedby,
- B2.branchname AS branchnamesuggestedby,
- U2.email AS emailmanagedby,
- U2.branchcode AS branchcodemanagedby,
- U2.borrowernumber AS borrnummanagedby
- FROM suggestions
- LEFT JOIN borrowers AS U1 ON suggestedby=U1.borrowernumber
- LEFT JOIN branches AS B1 ON B1.branchcode=U1.branchcode
- LEFT JOIN categories AS C1 ON C1.categorycode = U1.categorycode
- LEFT JOIN borrowers AS U2 ON managedby=U2.borrowernumber
- LEFT JOIN branches AS B2 ON B2.branchcode=U2.branchcode
- LEFT JOIN categories AS C2 ON C2.categorycode = U2.categorycode
- WHERE 1=1
- } , map {
- if ( my $s = $suggestion->{$_} ) {
- push @sql_params,'%'.$s.'%';
- " and suggestions.$_ like ? ";
- } else { () }
- } qw( title author isbn publishercode collectiontitle )
+ q{
+ SELECT suggestions.*,
+ U1.branchcode AS branchcodesuggestedby,
+ B1.branchname AS branchnamesuggestedby,
+ U1.surname AS surnamesuggestedby,
+ U1.firstname AS firstnamesuggestedby,
+ U1.email AS emailsuggestedby,
+ U1.borrowernumber AS borrnumsuggestedby,
+ U1.categorycode AS categorycodesuggestedby,
+ C1.description AS categorydescriptionsuggestedby,
+ U2.surname AS surnamemanagedby,
+ U2.firstname AS firstnamemanagedby,
+ B2.branchname AS branchnamesuggestedby,
+ U2.email AS emailmanagedby,
+ U2.branchcode AS branchcodemanagedby,
+ U2.borrowernumber AS borrnummanagedby
+ FROM suggestions
+ LEFT JOIN borrowers AS U1 ON suggestedby=U1.borrowernumber
+ LEFT JOIN branches AS B1 ON B1.branchcode=U1.branchcode
+ LEFT JOIN categories AS C1 ON C1.categorycode=U1.categorycode
+ LEFT JOIN borrowers AS U2 ON managedby=U2.borrowernumber
+ LEFT JOIN branches AS B2 ON B2.branchcode=U2.branchcode
+ LEFT JOIN categories AS C2 ON C2.categorycode=U2.categorycode
+ WHERE 1=1
+ }
);
- my $userenv = C4::Context->userenv;
- if (C4::Context->preference('IndependantBranches')) {
- if ($userenv) {
- if (($userenv->{flags} % 2) != 1 && !$suggestion->{branchcode}){
- push @sql_params,$$userenv{branch};
- push @query,q{ and (suggestions.branchcode = ? or suggestions.branchcode ='')};
- }
+ # filter on biblio informations
+ foreach my $field (
+ qw( title author isbn publishercode copyrightdate collectiontitle ))
+ {
+ if ( $suggestion->{$field} ) {
+ push @sql_params, '%' . $suggestion->{$field} . '%';
+ push @query, qq{ AND suggestions.$field LIKE ? };
+ }
+ }
+
+ # filter on user branch
+ if ( C4::Context->preference('IndependantBranches') ) {
+ my $userenv = C4::Context->userenv;
+ if ($userenv) {
+ if ( ( $userenv->{flags} % 2 ) != 1 && !$suggestion->{branchcode} )
+ {
+ push @sql_params, $$userenv{branch};
+ push @query, q{
+ AND (suggestions.branchcode=? OR suggestions.branchcode='')
+ };
}
+ }
}
- foreach my $field (grep { my $fieldname=$_;
- any {$fieldname eq $_ } qw<
- STATUS branchcode itemtype suggestedby managedby acceptedby
- bookfundid biblionumber
- >} keys %$suggestion
- ) {
- if ($$suggestion{$field}){
- push @sql_params,$suggestion->{$field};
- push @query, " and suggestions.$field=?";
- }
- else {
- push @query, " and (suggestions.$field='' OR suggestions.$field IS NULL)";
+ # filter on nillable fields
+ foreach my $field (
+ qw( STATUS branchcode itemtype suggestedby managedby acceptedby budgetid biblionumber )
+ )
+ {
+ if ( exists $suggestion->{$field} ) {
+ if ( defined $suggestion->{$field} and $suggestion->{$field} ne '' )
+ {
+ push @sql_params, $suggestion->{$field};
+ push @query, qq{ AND suggestions.$field=? };
+ }
+ else {
+ push @query, qq{
+ AND (suggestions.$field='' OR suggestions.$field IS NULL)
+ };
+ }
}
}
+ # filter on date fields
my $today = C4::Dates->today('iso');
-
- foreach ( qw( suggesteddate manageddate accepteddate ) ) {
- my $from = $_ . "_from";
- my $to = $_ . "_to";
- if ($$suggestion{$from} || $$suggestion{$to}) {
- push @query, " AND suggestions.suggesteddate BETWEEN '"
- . (format_date_in_iso($$suggestion{$from}) || 0000-00-00) . "' AND '" . (format_date_in_iso($$suggestion{$to}) || $today) . "'";
- }
+ foreach my $field (qw( suggesteddate manageddate accepteddate )) {
+ my $from = $field . "_from";
+ my $to = $field . "_to";
+ if ( $suggestion->{$from} || $suggestion->{$to} ) {
+ push @query, qq{ AND suggestions.$field BETWEEN ? AND ? };
+ push @sql_params,
+ format_date_in_iso( $suggestion->{$from} ) || '0000-00-00';
+ push @sql_params,
+ format_date_in_iso( $suggestion->{$to} ) || $today;
+ }
}
$debug && warn "@query";
- my $sth=$dbh->prepare("@query");
+ my $sth = $dbh->prepare("@query");
$sth->execute(@sql_params);
my @results;
- while ( my $data=$sth->fetchrow_hashref ){
- $$data{$$data{STATUS}} = 1;
- push(@results,$data);
+
+ # add status as field
+ while ( my $data = $sth->fetchrow_hashref ) {
+ $data->{ $data->{STATUS} } = 1;
+ push( @results, $data );
}
- return (\@results);
+
+ return ( \@results );
}
=head2 GetSuggestion
sub GetSuggestion {
my ($ordernumber) = @_;
- my $dbh = C4::Context->dbh;
- my $query = "
+ my $dbh = C4::Context->dbh;
+ my $query = q{
SELECT *
FROM suggestions
WHERE suggestionid=?
- ";
+ };
my $sth = $dbh->prepare($query);
$sth->execute($ordernumber);
- return($sth->fetchrow_hashref);
+ return ( $sth->fetchrow_hashref );
}
=head2 GetSuggestionFromBiblionumber
FROM suggestions
WHERE biblionumber=? LIMIT 1
};
- my $dbh=C4::Context->dbh;
+ my $dbh = C4::Context->dbh;
my $sth = $dbh->prepare($query);
$sth->execute($biblionumber);
my ($suggestionid) = $sth->fetchrow;
sub GetSuggestionInfoFromBiblionumber {
my ($biblionumber) = @_;
- my $query = qq{
+ my $query = q{
SELECT suggestions.*,
- U1.surname AS surnamesuggestedby,
- U1.firstname AS firstnamesuggestedby,
- U1.borrowernumber AS borrnumsuggestedby
+ U1.surname AS surnamesuggestedby,
+ U1.firstname AS firstnamesuggestedby,
+ U1.borrowernumber AS borrnumsuggestedby
FROM suggestions
- LEFT JOIN borrowers AS U1 ON suggestedby=U1.borrowernumber
- WHERE biblionumber = ? LIMIT 1
+ LEFT JOIN borrowers AS U1 ON suggestedby=U1.borrowernumber
+ WHERE biblionumber=?
+ LIMIT 1
};
my $dbh = C4::Context->dbh;
my $sth = $dbh->prepare($query);
sub GetSuggestionInfo {
my ($suggestionid) = @_;
- my $query = qq{
+ my $query = q{
SELECT suggestions.*,
- U1.surname AS surnamesuggestedby,
- U1.firstname AS firstnamesuggestedby,
- U1.borrowernumber AS borrnumsuggestedby
+ U1.surname AS surnamesuggestedby,
+ U1.firstname AS firstnamesuggestedby,
+ U1.borrowernumber AS borrnumsuggestedby
FROM suggestions
- LEFT JOIN borrowers AS U1 ON suggestedby=U1.borrowernumber
- WHERE suggestionid = ? LIMIT 1
+ LEFT JOIN borrowers AS U1 ON suggestedby=U1.borrowernumber
+ WHERE suggestionid=?
+ LIMIT 1
};
my $dbh = C4::Context->dbh;
my $sth = $dbh->prepare($query);
=cut
sub GetSuggestionByStatus {
- my $status = shift;
+ my $status = shift;
my $branchcode = shift;
- my $dbh = C4::Context->dbh;
- my @sql_params=($status);
- my $query = qq(SELECT suggestions.*,
- U1.surname AS surnamesuggestedby,
- U1.firstname AS firstnamesuggestedby,
- U1.branchcode AS branchcodesuggestedby,
- B1.branchname AS branchnamesuggestedby,
- U1.borrowernumber AS borrnumsuggestedby,
- U1.categorycode AS categorycodesuggestedby,
- C1.description AS categorydescriptionsuggestedby,
- U2.surname AS surnamemanagedby,
- U2.firstname AS firstnamemanagedby,
- U2.borrowernumber AS borrnummanagedby
- FROM suggestions
- LEFT JOIN borrowers AS U1 ON suggestedby=U1.borrowernumber
- LEFT JOIN borrowers AS U2 ON managedby=U2.borrowernumber
- LEFT JOIN categories AS C1 ON C1.categorycode=U1.categorycode
- LEFT JOIN branches AS B1 on B1.branchcode = U1.branchcode
- WHERE status = ?);
- if (C4::Context->preference("IndependantBranches") || $branchcode) {
+ my $dbh = C4::Context->dbh;
+ my @sql_params = ($status);
+ my $query = q{
+ SELECT suggestions.*,
+ U1.surname AS surnamesuggestedby,
+ U1.firstname AS firstnamesuggestedby,
+ U1.branchcode AS branchcodesuggestedby,
+ B1.branchname AS branchnamesuggestedby,
+ U1.borrowernumber AS borrnumsuggestedby,
+ U1.categorycode AS categorycodesuggestedby,
+ C1.description AS categorydescriptionsuggestedby,
+ U2.surname AS surnamemanagedby,
+ U2.firstname AS firstnamemanagedby,
+ U2.borrowernumber AS borrnummanagedby
+ FROM suggestions
+ LEFT JOIN borrowers AS U1 ON suggestedby=U1.borrowernumber
+ LEFT JOIN borrowers AS U2 ON managedby=U2.borrowernumber
+ LEFT JOIN categories AS C1 ON C1.categorycode=U1.categorycode
+ LEFT JOIN branches AS B1 on B1.branchcode=U1.branchcode
+ WHERE status = ?
+ };
+
+ # filter on branch
+ if ( C4::Context->preference("IndependantBranches") || $branchcode ) {
my $userenv = C4::Context->userenv;
if ($userenv) {
- unless ($userenv->{flags} % 2 == 1){
- push @sql_params,$userenv->{branch};
- $query .= " and (U1.branchcode = ? or U1.branchcode ='')";
+ unless ( $userenv->{flags} % 2 == 1 ) {
+ push @sql_params, $userenv->{branch};
+ $query .= q{ AND (U1.branchcode = ? OR U1.branchcode ='') };
}
}
if ($branchcode) {
- push @sql_params,$branchcode;
- $query .= " and (U1.branchcode = ? or U1.branchcode ='')";
+ push @sql_params, $branchcode;
+ $query .= q{ AND (U1.branchcode = ? OR U1.branchcode ='') };
}
}
my $sth = $dbh->prepare($query);
$sth->execute(@sql_params);
-
my $results;
- $results= $sth->fetchall_arrayref({});
+ $results = $sth->fetchall_arrayref( {} );
return $results;
}
my ($status) = @_;
my $dbh = C4::Context->dbh;
my $sth;
- if (C4::Context->preference("IndependantBranches")){
- my $userenv = C4::Context->userenv;
- if ($userenv->{flags} % 2 == 1){
- my $query = qq |
- SELECT count(*)
- FROM suggestions
- WHERE STATUS=?
- |;
- $sth = $dbh->prepare($query);
- $sth->execute($status);
- }
- else {
- my $query = qq |
- SELECT count(*)
- FROM suggestions LEFT JOIN borrowers ON borrowers.borrowernumber=suggestions.suggestedby
- WHERE STATUS=?
- AND (borrowers.branchcode='' OR borrowers.branchcode =?)
- |;
- $sth = $dbh->prepare($query);
- $sth->execute($status,$userenv->{branch});
- }
+ my $userenv = C4::Context->userenv;
+ if ( C4::Context->preference("IndependantBranches")
+ && $userenv->{flags} % 2 != 1 )
+ {
+ my $query = q{
+ SELECT count(*)
+ FROM suggestions
+ LEFT JOIN borrowers ON borrowers.borrowernumber=suggestions.suggestedby
+ WHERE STATUS=?
+ AND (borrowers.branchcode='' OR borrowers.branchcode=?)
+ };
+ $sth = $dbh->prepare($query);
+ $sth->execute( $status, $userenv->{branch} );
}
else {
- my $query = qq |
+ my $query = q{
SELECT count(*)
FROM suggestions
WHERE STATUS=?
- |;
+ };
$sth = $dbh->prepare($query);
$sth->execute($status);
}
sub NewSuggestion {
my ($suggestion) = @_;
- $suggestion->{STATUS}="ASKED" unless $suggestion->{STATUS};
- return InsertInTable("suggestions",$suggestion);
+ $suggestion->{STATUS} = "ASKED" unless $suggestion->{STATUS};
+ return InsertInTable( "suggestions", $suggestion );
}
=head2 ModSuggestion
=cut
sub ModSuggestion {
- my ($suggestion)=@_;
- my $status_update_table=UpdateInTable("suggestions", $suggestion);
+ my ($suggestion) = @_;
+ my $status_update_table = UpdateInTable( "suggestions", $suggestion );
+
+ if ( $suggestion->{STATUS} ) {
- if ($suggestion->{STATUS}) {
# fetch the entire updated suggestion so that we can populate the letter
- my $full_suggestion = GetSuggestion($suggestion->{suggestionid});
- if ( my $letter = C4::Letters::GetPreparedLetter (
- module => 'suggestions',
- letter_code => $full_suggestion->{STATUS},
- branchcode => $full_suggestion->{branchcode},
- tables => {
- 'branches' => $full_suggestion->{branchcode},
- 'borrowers' => $full_suggestion->{suggestedby},
- 'suggestions' => $full_suggestion,
- 'biblio' => $full_suggestion->{biblionumber},
- },
- ) ) {
- C4::Letters::EnqueueLetter({
- letter => $letter,
- borrowernumber => $full_suggestion->{suggestedby},
- suggestionid => $full_suggestion->{suggestionid},
- LibraryName => C4::Context->preference("LibraryName"),
- message_transport_type => 'email',
- }) or warn "can't enqueue letter $letter";
+ my $full_suggestion = GetSuggestion( $suggestion->{suggestionid} );
+ if (
+ my $letter = C4::Letters::GetPreparedLetter(
+ module => 'suggestions',
+ letter_code => $full_suggestion->{STATUS},
+ branchcode => $full_suggestion->{branchcode},
+ tables => {
+ 'branches' => $full_suggestion->{branchcode},
+ 'borrowers' => $full_suggestion->{suggestedby},
+ 'suggestions' => $full_suggestion,
+ 'biblio' => $full_suggestion->{biblionumber},
+ },
+ )
+ )
+ {
+ C4::Letters::EnqueueLetter(
+ {
+ letter => $letter,
+ borrowernumber => $full_suggestion->{suggestedby},
+ suggestionid => $full_suggestion->{suggestionid},
+ LibraryName => C4::Context->preference("LibraryName"),
+ message_transport_type => 'email',
+ }
+ ) or warn "can't enqueue letter $letter";
}
}
return $status_update_table;
=cut
sub ConnectSuggestionAndBiblio {
- my ($suggestionid,$biblionumber) = @_;
- my $dbh=C4::Context->dbh;
- my $query = "
+ my ( $suggestionid, $biblionumber ) = @_;
+ my $dbh = C4::Context->dbh;
+ my $query = q{
UPDATE suggestions
SET biblionumber=?
WHERE suggestionid=?
- ";
+ };
my $sth = $dbh->prepare($query);
- $sth->execute($biblionumber,$suggestionid);
+ $sth->execute( $biblionumber, $suggestionid );
}
=head2 DelSuggestion
=cut
sub DelSuggestion {
- my ($borrowernumber,$suggestionid,$type) = @_;
+ my ( $borrowernumber, $suggestionid, $type ) = @_;
my $dbh = C4::Context->dbh;
+
# check that the suggestion comes from the suggestor
- my $query = "
+ my $query = q{
SELECT suggestedby
FROM suggestions
WHERE suggestionid=?
- ";
+ };
my $sth = $dbh->prepare($query);
$sth->execute($suggestionid);
my ($suggestedby) = $sth->fetchrow;
- if ($type eq "intranet" || $suggestedby eq $borrowernumber ) {
- my $queryDelete = "
+ if ( $type eq 'intranet' || $suggestedby eq $borrowernumber ) {
+ my $queryDelete = q{
DELETE FROM suggestions
WHERE suggestionid=?
- ";
+ };
$sth = $dbh->prepare($queryDelete);
- my $suggestiondeleted=$sth->execute($suggestionid);
- return $suggestiondeleted;
+ my $suggestiondeleted = $sth->execute($suggestionid);
+ return $suggestiondeleted;
}
}
Delete all suggestions older than TODAY-$days , that have be accepted or rejected.
=cut
+
sub DelSuggestionsOlderThan {
my ($days) = @_;
- return if not $days;
+ return unless $days;
my $dbh = C4::Context->dbh;
-
- my $sth = $dbh->prepare("
- DELETE FROM suggestions WHERE STATUS <> 'ASKED' AND date < ADDDATE(NOW(), ?);
- ");
+ my $sth = $dbh->prepare(
+ q{
+ DELETE FROM suggestions
+ WHERE STATUS<>'ASKED'
+ AND date < ADDDATE(NOW(), ?)
+ }
+ );
$sth->execute("-$days");
}
my $cookie = $query->cookie(
-name => 'KohaOpacLanguage',
-value => $language,
+ -HttpOnly => 1,
-expires => '+3y'
);
print $query->redirect(
#$this_item->{imageurl} = $imgdir."/".$itemtypes->{ $this_item->{itemtype} }->{'imageurl'};
#$this_item->{'description'} = $itemtypes->{ $this_item->{itemtype} }->{'description'};
$this_item->{'dateadded'} = format_date( $this_item->{'dateadded'} );
- $this_item->{'imageurl'} = getitemtypeinfo( $this_item->{'itemtype'} )->{'imageurl'};
+ $this_item->{'imageurl'} = getitemtypeinfo( $this_item->{'itemtype'}, $type )->{'imageurl'};
$this_item->{'coins'} = GetCOinSBiblio( $record );
$this_item->{'subtitle'} = GetRecordValue('subtitle', $record, GetFrameworkCode($this_item->{'biblionumber'}));
$this_item->{'normalized_upc'} = GetNormalizedUPC( $record,$marcflavour);
my $self = shift;
my $branch = $self->{branchcode};
my $dbh = C4::Context->dbh();
- my $repeat_sth = $dbh->prepare(
-'SELECT * from repeatable_holidays WHERE branchcode = ? AND ISNULL(weekday) = ?'
+ my $weekly_closed_days_sth = $dbh->prepare(
+'SELECT weekday FROM repeatable_holidays WHERE branchcode = ? AND weekday IS NOT NULL'
);
- $repeat_sth->execute( $branch, 0 );
+ $weekly_closed_days_sth->execute( $branch );
$self->{weekly_closed_days} = [ 0, 0, 0, 0, 0, 0, 0 ];
Readonly::Scalar my $sunday => 7;
- while ( my $tuple = $repeat_sth->fetchrow_hashref ) {
+ while ( my $tuple = $weekly_closed_days_sth->fetchrow_hashref ) {
$self->{weekly_closed_days}->[ $tuple->{weekday} ] = 1;
}
- $repeat_sth->execute( $branch, 1 );
+ my $day_month_closed_days_sth = $dbh->prepare(
+'SELECT day, month FROM repeatable_holidays WHERE branchcode = ? AND weekday IS NULL'
+ );
+ $day_month_closed_days_sth->execute( $branch );
$self->{day_month_closed_days} = {};
- while ( my $tuple = $repeat_sth->fetchrow_hashref ) {
+ while ( my $tuple = $day_month_closed_days_sth->fetchrow_hashref ) {
$self->{day_month_closed_days}->{ $tuple->{month} }->{ $tuple->{day} } =
1;
}
- my $special = $dbh->prepare(
-'SELECT day, month, year FROM special_holidays WHERE branchcode = ? AND isexception = ?'
+ my $exception_holidays_sth = $dbh->prepare(
+'SELECT day, month, year FROM special_holidays WHERE branchcode = ? AND isexception = 1'
);
- $special->execute( $branch, 1 );
+ $exception_holidays_sth->execute( $branch );
my $dates = [];
- while ( my ( $day, $month, $year ) = $special->fetchrow ) {
+ while ( my ( $day, $month, $year ) = $exception_holidays_sth->fetchrow ) {
push @{$dates},
DateTime->new(
day => $day,
$self->{exception_holidays} =
DateTime::Set->from_datetimes( dates => $dates );
- $special->execute( $branch, 0 );
+ my $single_holidays_sth = $dbh->prepare(
+'SELECT day, month, year FROM special_holidays WHERE branchcode = ? AND isexception = 0'
+ );
+ $single_holidays_sth->execute( $branch );
$dates = [];
- while ( my ( $day, $month, $year ) = $special->fetchrow ) {
+ while ( my ( $day, $month, $year ) = $single_holidays_sth->fetchrow ) {
push @{$dates},
DateTime->new(
day => $day,
my $start_dt = shift;
my $end_dt = shift;
+ if ( $start_dt->compare($end_dt) > 0 ) {
+ # swap dates
+ my $int_dt = $end_dt;
+ $end_dt = $start_dt;
+ $start_dt = $int_dt;
+ }
+
# start and end should not be closed days
my $days = $start_dt->delta_days($end_dt)->delta_days;
\.orig$
\.old$
\.bak$
-[ ]
+\[ \]
\.git/
MANIFEST.bak
+\.gitignore
+\.mailmap
\ No newline at end of file
my $booksellerid=$$orderinfo{booksellerid};
if (my $import_batch_id=$$orderinfo{import_batch_id}) {
print $input->redirect("/cgi-bin/koha/acqui/addorderiso2709.pl?import_batch_id=$import_batch_id&basketno=$basketno&booksellerid=$booksellerid");
+} elsif ( defined $orderinfo->{invoiceid} ) {
+ print $input->redirect("/cgi-bin/koha/acqui/parcel.pl?invoiceid=" . $orderinfo->{invoiceid});
} else {
print $input->redirect("/cgi-bin/koha/acqui/basket.pl?basketno=$basketno");
}
SetImportRecordStatus( $biblio->{'import_record_id'}, 'imported' );
}
# 3rd add order
- my $patron = C4::Members->GetMember( borrowernumber => $loggedinuser );
+ my $patron = C4::Members::GetMember( borrowernumber => $loggedinuser );
my $branch = C4::Branch->GetBranchDetail( $patron->{branchcode} );
# get quantity in the MARC record (1 if none)
my $quantity = GetMarcQuantity($marcrecord, C4::Context->preference('marcflavour')) || 1;
my $basket = GetBasket( $orderinfo{basketno} );
my $bookseller = GetBookSellerFromId( $basket->{booksellerid} );
$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{rrp} = $price;
+ $orderinfo{ecost} = $orderinfo{rrp} * ( 1 - $bookseller->{discount} / 100 );
$orderinfo{listprice} = $orderinfo{rrp};
$orderinfo{unitprice} = $orderinfo{ecost};
$orderinfo{total} = $orderinfo{ecost};
'current_matcher_description' => $matcher->description());
}
}
- add_matcher_list($batch->{'matcher_id'});
+ add_matcher_list($batch->{'matcher_id'}, $template);
}
sub add_matcher_list {
- my $current_matcher_id = shift;
+ my ($current_matcher_id, $template) = @_;
my @matchers = C4::Matcher::GetMatcherList();
if (defined $current_matcher_id) {
for (my $i = 0; $i <= $#matchers; $i++) {
$input->param('basketnote'),
$input->param('basketbooksellernote'),
$input->param('basketcontractnumber') || undef,
- undef,
$input->param('deliveryplace'),
$input->param('billingplace'),
);
loop_suppliers => $loop_suppliers,
supplier => ( $booksellerid || $supplier ),
count => $supplier_count,
- dateformat => C4::Context->preference('dateformat'),
);
output_html_with_http_headers $query, $cookie, $template->output;
basketgroupname => $basketgroupname,
from_placed_on => $from_date,
to_placed_on => $to_date,
- DHTMLcalendar_dateformat=> C4::Dates->DHTMLcalendar(),
- dateformat => C4::Dates->new()->format(),
debug => $debug || $input->param('debug') || 0,
uc(C4::Context->preference("marcflavour")) => 1
);
total_quantity => $total_quantity,
invoiceincgst => $bookseller->{invoiceincgst},
currency => $bookseller->{listprice},
- DHTMLcalendar_dateformat => C4::Dates->DHTMLcalendar(),
budgets_loop => \@budgets_loop,
);
branchname => $branchname,
suppliers_loop => \@suppliers_loop,
branches_loop => \@branches_loop,
- DHTMLcalendar_dateformat => C4::Dates->DHTMLcalendar(),
);
output_html_with_http_headers $input, $cookie, $template->output;
estimateddeliverydateto => $estimateddeliverydateto,
total => $total,
intranetcolorstylesheet => C4::Context->preference("intranetcolorstylesheet"),
- DHTMLcalendar_dateformat => C4::Dates->DHTMLcalendar(),
);
output_html_with_http_headers $input, $cookie, $template->output;
option => $_
}, split( '\|', C4::Context->preference("gist") );
-my $cur = GetCurrency();
-
$template->param(
existing => $biblionumber,
ordernumber => $ordernumber,
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'},
dateto => $dateto,
resultsperpage => $resultsperpage,
name => $bookseller->{'name'},
- DHTMLcalendar_dateformat => C4::Dates->DHTMLcalendar(),
shipmentdate_today => C4::Dates->new()->output(),
booksellerid => $booksellerid,
GST => C4::Context->preference('gist'),
basketcount => $supplier->{'basketcount'},
subscriptioncount => $supplier->{'subscriptioncount'},
contracts => $contracts,
- dateformat => C4::Context->preference("dateformat"),
);
} elsif ( $op eq 'delete' ) {
# no further message needed for the user
%$budgetperiod_hash
);
} # IF-MOD
- $template->param( DHTMLcalendar_dateformat => C4::Dates->DHTMLcalendar(),);
}
elsif ( $op eq 'add_validate' ) {
# display the form for duplicating
elsif ( $op eq 'duplicate_form'){
$template->param(
- DHTMLcalendar_dateformat => C4::Dates->DHTMLcalendar(),
'duplicate_form' => '1',
'budget_period_id' => $budget_period_id,
);
active_pagination_bar => $active_pagination_bar,
inactive_pagination_bar => $inactive_pagination_bar,
tab => $tab,
- dateformat => C4::Context->preference('dateformat'),
);
$template->param($op=>1);
contractnumber => $contractnumber,
booksellerid => $booksellerid,
booksellername => $bookseller->{name},
- DHTMLcalendar_dateformat => C4::Dates->DHTMLcalendar(),
- dateformat => C4::Context->preference("dateformat"),
);
#ADD_FORM: called if $op is 'add_form'. Used to create form to add or modify a record
contractdescription => $contract->{contractdescription},
contractstartdate => format_date( $contract->{contractstartdate} ),
contractenddate => format_date( $contract->{contractenddate} ),
- DHTMLcalendar_dateformat => C4::Dates->DHTMLcalendar,
);
} else {
$template->param(
contractdescription => undef,
contractstartdate => undef,
contractenddate => undef,
- DHTMLcalendar_dateformat => C4::Dates->DHTMLcalendar,
);
}
my $id = $input->param('id');
my $sth=$dbh->prepare("delete from authorised_values where id=?");
$sth->execute($id);
- $sth = $dbh->prepare("DELETE FROM authorised_values_branches WHERE id = ?");
- $sth->execute($id);
print "Content-Type: text/html\n\n<META HTTP-EQUIV=Refresh CONTENT=\"0; URL=authorised_values.pl?searchfield=$searchfield&offset=$offset\"></html>";
exit;
# END $OP eq DELETE_CONFIRMED
reservefee => sprintf("%.2f",$data->{'reservefee'}),
hidelostitems => $data->{'hidelostitems'},
category_type => $data->{'category_type'},
- DHTMLcalendar_dateformat => C4::Dates->DHTMLcalendar(),
SMSSendDriver => C4::Context->preference("SMSSendDriver"),
TalkingTechItivaPhone => C4::Context->preference("TalkingTechItivaPhoneNotification"),
"type_".$data->{'category_type'} => 1,
my @mappings;
my $i = 0;
while($i < @marcfields and $i < @marcsubfields and $i < @marcvalues) {
- if($marcfields[$i] and $marcsubfields[$i] and $marcvalues[$i]) {
+ if($marcfields[$i] and $marcsubfields[$i]) {
push @mappings, {
marcfield => $marcfields[$i],
marcsubfield => $marcsubfields[$i],
$sth->finish;
}
$template->param( $_ => $data->{$_} )
- for ( qw( host port db userid password checked rank timeout ) );
+ for ( qw( host port db userid password checked rank timeout encoding ) );
$template->param( $_ . $data->{$_} => 1)
- for ( qw( syntax encoding ) );
+ for ( qw( syntax ) );
# END $OP eq ADD_FORM
################## ADD_VALIDATE ##################################
# called by add_form, used to insert/modify data in DB
C4::Search::enabled_staff_search_views,
);
+
+my ( $holdcount, $holds ) = C4::Reserves::GetReservesFromBiblionumber($biblionumber,1);
+$template->param( holdcount => $holdcount, holds => $holds );
+
output_html_with_http_headers $query, $cookie, $template->output;
C4::Search::enabled_staff_search_views,
);
+my ( $holdcount, $holds ) = C4::Reserves::GetReservesFromBiblionumber($biblionumber,1);
+$template->param( holdcount => $holdcount, holds => $holds );
+
output_html_with_http_headers $query, $cookie, $template->output;
use C4::XSLT;
use C4::Images;
use Koha::DateUtils;
+use C4::HTML5Media;
# use Smart::Comments;
my $dat = &GetBiblioData($biblionumber);
-# get count of holds
-my ( $holdcount, $holds ) = GetReservesFromBiblionumber($biblionumber,1);
-
#coping with subscriptions
my $subscriptionsnumber = CountSubscriptionFromBiblionumber($biblionumber);
my @subscriptions = GetSubscriptions( $dat->{title}, $dat->{issn}, undef, $biblionumber );
# can place holds defaults to yes
$norequests = 0 unless ( ( $item->{'notforloan'} > 0 ) || ( $item->{'itemnotforloan'} > 0 ) );
- # format some item fields for display
- if ( defined $item->{'publictype'} ) {
- $item->{ $item->{'publictype'} } = 1;
- }
$item->{imageurl} = defined $item->{itype} ? getitemtypeimagelocation('intranet', $itemtypes->{ $item->{itype} }{imageurl})
: '';
volinfo => $itemfields{enumchron},
itemdata_itemnotes => $itemfields{itemnotes},
z3950_search_params => C4::Search::z3950_search_args($dat),
- holdcount => $holdcount,
hostrecords => $hostrecords,
analytics_flag => $analytics_flag,
C4::Search::enabled_staff_search_views,
$template->{VARS}->{localimages} = \@images;
}
+# HTML5 Media
+if ( (C4::Context->preference("HTML5MediaEnabled") eq 'both') or (C4::Context->preference("HTML5MediaEnabled") eq 'staff') ) {
+ $template->param( C4::HTML5Media->gethtml5media($record));
+}
+
+
# Get OPAC URL
if (C4::Context->preference('OPACBaseURL')){
$template->param( OpacUrl => C4::Context->preference('OPACBaseURL') );
'sort'=>'-weight', limit=>$tag_quantity}));
}
+my ( $holdcount, $holds ) = C4::Reserves::GetReservesFromBiblionumber($biblionumber,1);
+$template->param( holdcount => $holdcount, holds => $holds );
+
output_html_with_http_headers $query, $cookie, $template->output;
$template->param(C4::Search::enabled_staff_search_views);
$template->{VARS}->{'biblio'} = $biblio;
+my ( $holdcount, $holds ) = C4::Reserves::GetReservesFromBiblionumber($biblionumber,1);
+$template->param( holdcount => $holdcount, holds => $holds );
+
output_html_with_http_headers $query, $cookie, $template->output;
C4::Search::enabled_staff_search_views,
);
+my ( $holdcount, $holds ) = C4::Reserves::GetReservesFromBiblionumber($biblionumber,1);
+$template->param( holdcount => $holdcount, holds => $holds );
+
output_html_with_http_headers $query, $cookie, $template->output;
use C4::Members; # to use GetMember
use C4::Search; # enabled_staff_search_views
use C4::Members qw/GetHideLostItemsPreference/;
+use C4::Reserves qw(GetReservesFromBiblionumber);
use Koha::DateUtils;
my $query=new CGI;
);
$template->param(ONLY_ONE => 1) if ( $itemnumber && $showncount != @items );
+
+my ( $holdcount, $holds ) = GetReservesFromBiblionumber($biblionumber,1);
+$template->param( holdcount => $holdcount, holds => $holds );
+
output_html_with_http_headers $query, $cookie, $template->output;
-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 ) ),
+ -HttpOnly => 1,
-expires => ''
);
my $borrowerslist;
my $message;
if ($findborrower) {
- my $borrowers = Search($findborrower, 'cardnumber');
- my @borrowers = @$borrowers;
+ my $borrowers = Search($findborrower, 'cardnumber') || [];
if (C4::Context->preference("AddPatronLists")) {
$template->param(
"AddPatronLists_".C4::Context->preference("AddPatronLists")=> "1",
$template->param(categories=>$categories);
}
}
- if ( $#borrowers == -1 ) {
+ if ( @$borrowers == 0 ) {
$query->param( 'findborrower', '' );
$message = "'$findborrower'";
}
- elsif ( $#borrowers == 0 ) {
- $query->param( 'borrowernumber', $borrowers[0]->{'borrowernumber'} );
+ elsif ( @$borrowers == 1 ) {
+ $borrowernumber = $borrowers->[0]->{'borrowernumber'};
+ $query->param( 'borrowernumber', $borrowernumber );
$query->param( 'barcode', '' );
- $borrowernumber = $borrowers[0]->{'borrowernumber'};
}
else {
- $borrowerslist = \@borrowers;
+ $borrowerslist = $borrowers;
}
}
$getWaitingReserveInfo{biblionumber} = $getiteminfo->{'biblionumber'};
$getWaitingReserveInfo{itemtype} = $itemtypeinfo->{'description'};
$getWaitingReserveInfo{author} = $getiteminfo->{'author'};
+ $getWaitingReserveInfo{itemcallnumber} = $getiteminfo->{'itemcallnumber'};
$getWaitingReserveInfo{reservedate} = format_date( $num_res->{'reservedate'} );
$getWaitingReserveInfo{waitingat} = GetBranchName( $num_res->{'branchcode'} );
$getWaitingReserveInfo{waitinghere} = 1 if $num_res->{'branchcode'} eq $branch;
$flags->{$flag}->{'message'} =~ s#\n#<br />#g;
if ( $flags->{$flag}->{'noissues'} ) {
$template->param(
- flagged => 1,
noissues => 'true',
);
if ( $flag eq 'GNA' ) {
if ( $flag eq 'CHARGES' ) {
$template->param(
charges => 'true',
- flagged => 1,
chargesmsg => $flags->{'CHARGES'}->{'message'},
chargesamount => $flags->{'CHARGES'}->{'amount'},
);
elsif ( $flag eq 'ODUES' ) {
$template->param(
odues => 'true',
- flagged => 1,
oduesmsg => $flags->{'ODUES'}->{'message'}
);
elsif ( $flag eq 'NOTES' ) {
$template->param(
notes => 'true',
- flagged => 1,
notesmsg => $flags->{'NOTES'}->{'message'}
);
}
SpecifyDueDate => $duedatespec_allow,
CircAutocompl => C4::Context->preference("CircAutocompl"),
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,
borname => $bornamefilter,
order => $order,
showall => $showall,
- DHTMLcalendar_dateformat => C4::Dates->DHTMLcalendar(),
dateduefrom => $input->param( 'dateduefrom' ) || '',
datedueto => $input->param( 'datedueto' ) || '',
);
$sqldatewhere
AND (reserves.itemnumber IS NULL OR reserves.itemnumber = items.itemnumber)
AND items.itemnumber NOT IN (SELECT itemnumber FROM branchtransfers where datearrived IS NULL)
+ AND items.itemnumber NOT IN (select itemnumber FROM reserves where found='W')
AND issues.itemnumber IS NULL
AND reserves.priority <> 0
AND reserves.suspend = 0
run_report => $run_report,
reserveloop => \@reservedata,
"BiblioDefaultView".C4::Context->preference("BiblioDefaultView") => 1,
- DHTMLcalendar_dateformat => C4::Dates->DHTMLcalendar(),
- dateformat => C4::Context->preference("dateformat"),
HoldsToPullStartDate => (C4::Context->preference('HoldsToPullStartDate')?C4::Context->preference('HoldsToPullStartDate'):2),
);
to => $enddate,
ratio => $ratio,
reserveloop => \@reservedata,
- DHTMLcalendar_dateformat => C4::Dates->DHTMLcalendar(),
);
output_html_with_http_headers $input, $cookie, $template->output;
$template->param(
branchesloop => \@branchesloop,
show_date => format_date(C4::Dates->today('iso')),
- 'dateformat_' . (C4::Context->preference("dateformat") || '') => 1,
TransfersMaxDaysWarning => C4::Context->preference('TransfersMaxDaysWarning'),
latetransfers => $latetransfers ? 1 : 0,
);
total => scalar @$items,
itemsloop => $items,
run_report => $run_report,
- dateformat => C4::Context->preference("dateformat"),
);
}
overloop => \@overloop,
overcount => $overcount,
show_date => format_date(C4::Dates->today('iso')),
- dateformat => C4::Context->preference("dateformat"),
ReservesMaxPickUpDelay => C4::Context->preference('ReservesMaxPickUpDelay')
);
my $buildresult;
my $distribution='squeeze-dev';
my $git_checks='all';
-my $version='3.9-1~git';
+my $version='3.11-1~git';
my $auto_version=1;
my $need_help;
my $debug;
+koha (3.10.00-1) squeeze; urgency=low
+
+ * New major upstream release (3.10.00)
+
+ -- Robin Sheat <robin@catalyst.net.nz> Mon, 26 Nov 2012 17:25:11 +1300
+
koha (3.8.0-1) squeeze; urgency=low
* New major upstream release (3.08.00)
September 1 2010 General IRC meeting http://wiki.koha-community.org/wiki/General_IRC_Meeting,_1_September_2010
September 29 2010 Eric Olsen becomes the 117th committer to have a patch accepted
October 6 2010 General IRC meeting http://wiki.koha-community.org/wiki/General_IRC_Meeting,_6_October_2010
+October 17 2012 Bernardo Gonzalez Kriegel becomes the 118th developer to have a patch pushed
October 22 2010 Koha 3.2.0 released
October 25-31 2010 Kohacon10 in Wellington
-October 30 2010 Brian Engard becomes the 118th committer to have a patch accepted
-October 30 2010 Daniel Grobani becomes the 119th committer to have a patch accepted
-October 31 2010 Nate Curulla becomes the 120th committer to have a patch accepted
+October 30 2010 Brian Engard becomes the 119th committer to have a patch accepted
+October 30 2010 Daniel Grobani becomes the 120th committer to have a patch accepted
+October 31 2010 Nate Curulla becomes the 121st committer to have a patch accepted
November 10 2010 General IRC meeting http://wiki.koha-community.org/wiki/General_IRC_Meeting,_10_November_2010
-November 17 2010 Tomás Cohen Arazi becomes the 121th committer to have a patch accepted
+November 17 2010 Tomás Cohen Arazi becomes the 122nd committer to have a patch accepted
November 20 2010 Koha 3.2.1 released
December 8 2010 General IRC meeting http://wiki.koha-community.org/wiki/General_IRC_Meeting,_8_December_2010
-December 15 2010 Serhij Dubyk becomes the 122st developer to have a patch pushed
-December 16 2010 Christophe Croullebois becomes the 123nd developer to have a patch pushed
-December 19 2010 Edward Allen becomes the 124rd developer to have a patch pushed
-December 20 2010 Dobrica Pavlinusic becomes the 125th developer to have a patch pushed
+December 15 2010 Serhij Dubyk becomes the 123rd developer to have a patch pushed
+December 16 2010 Christophe Croullebois becomes the 124th developer to have a patch pushed
+December 19 2010 Edward Allen becomes the 125th developer to have a patch pushed
+December 20 2010 Dobrica Pavlinusic becomes the 126th developer to have a patch pushed
December 22 2010 Koha 3.2.2 released
January 5 2011 General IRC meeting http://wiki.koha-community.org/wiki/General_IRC_Meeting,_5_January_2011
-January 12 2011 Brice Sanchez becomes the 126th developer to have a patch pushed
-January 17 2011 Zach Sim becomes the 127th developer to have a patch pushed
-January 17 2011 Claudia Forsman becomes the 128th developer to have a patch pushed
-January 17 2011 John Copeland becomes the 129th developer to have a patch pushed
-January 17 2011 Stephanie Hogan becomes the 130th developer to have a patch pushed
+January 12 2011 Brice Sanchez becomes the 127th developer to have a patch pushed
+January 17 2011 Zach Sim becomes the 128th developer to have a patch pushed
+January 17 2011 Claudia Forsman becomes the 129th developer to have a patch pushed
+January 17 2011 John Copeland becomes the 130th developer to have a patch pushed
+January 17 2011 Stephanie Hogan becomes the 131st developer to have a patch pushed
January 22 2011 Koha 3.2.3 released
-January 26 2011 Jerome Charaoui becomes the 131th developer to have a patch pushed
-January 31 2011 Reed Wade becomes the 132sth developer to have a patch pushed
+January 26 2011 Jerome Charaoui becomes the 132nd developer to have a patch pushed
+January 31 2011 Reed Wade becomes the 133rd developer to have a patch pushed
February 1 2011 #koha moves from irc.katipo.co.nz to irc.oftc.net
February 2 2011 General IRC meeting http://wiki.koha-community.org/wiki/General_IRC_Meeting,_2_February_2011
-February 3 2011 Frédérick Capovilla becomes the 133nd developer to have a patch pushed
-February 4 2011 Christopher Hall becomes the 134rd developer to have a patch pushed
+February 3 2011 Frédérick Capovilla becomes the 134th developer to have a patch pushed
+February 4 2011 Christopher Hall becomes the 135th developer to have a patch pushed
February 22 2011 Koha 3.2.4 released
February 24 2011 Koha 3.2.5 released
March 2 2011 General IRC meeting http://wiki.koha-community.org/wiki/General_IRC_Meeting,_2_March_2011
-March 13 2011 Janusz Kaczmarek becomes the 135th developer to have a patch pushed
-March 13 2011 Salvador Zaragoza Rubio becomes the 136th developer to have a patch pushed
-March 17 2011 Julian Maurice becomes the 137th developer to have a patch pushed
-March 17 2011 Sophie Meynieux becomes the 138th developer to have a patch pushed
+March 13 2011 Janusz Kaczmarek becomes the 136th developer to have a patch pushed
+March 13 2011 Salvador Zaragoza Rubio becomes the 137th developer to have a patch pushed
+March 17 2011 Julian Maurice becomes the 138th developer to have a patch pushed
+March 17 2011 Sophie Meynieux becomes the 139th developer to have a patch pushed
March 22 2011 Koha 3.2.6 released
-March 31 2011 Doug Dearden becomes the 139th developer to have a patch pushed
+March 31 2011 Doug Dearden becomes the 140th developer to have a patch pushed
April 6 2011 General IRC meeting http://wiki.koha-community.org/wiki/General_IRC_Meeting,_6_April_2011
-April 8 2011 Mark Gavillet becomes the 140th developer to have a patch pushed
-April 9 2011 Frederic Durand becomes the 141th developer to have a patch pushed
-April 9 2011 Jonathan Druart becomes the 142st developer to have a patch pushed
+April 8 2011 Mark Gavillet becomes the 141st developer to have a patch pushed
+April 9 2011 Frederic Durand becomes the 142nd developer to have a patch pushed
+April 9 2011 Jonathan Druart becomes the 143rd developer to have a patch pushed
April 16 2011 Koha 3.2.7 released releases
-April 20 2011 Fernando Canizo becomes the 143nd developer to have a patch pushed
+April 20 2011 Fernando Canizo becomes the 144th developer to have a patch pushed
April 22 2011 Koha 3.4.0 released releases
May 11 2011 General IRC meeting http://wiki.koha-community.org/wiki/General_IRC_Meeting,_11_May_2011
May 15 2011 Koha 3.2.8 released releases
May 15 2011 Koha 3.2.9 released releases
May 22 2011 Koha 3.4.1 released releases
-June 1 2011 Fridolyn Somers becomes the 144rd developer to have a patch pushed
-June 3 2011 Elliott Davis becomes the 145th developer to have a patch pushed
+June 1 2011 Fridolyn Somers becomes the 145th developer to have a patch pushed
+June 3 2011 Elliott Davis becomes the 146th developer to have a patch pushed
June 14 2011 General IRC meeting http://wiki.koha-community.org/wiki/General_IRC_Meeting,_14_June_2011
June 15 2011 First ever global sign off day
-June 17 2011 Jeremy Crabtree becomes the 146th developer to have a patch pushed
+June 17 2011 Jeremy Crabtree becomes the 147th developer to have a patch pushed
June 19 2011 Koha 3.2.10 released releases
June 28 2011 Koha 3.4.2 released releases
June 28 2011 Spanish speaking community meeting http://wiki.koha-community.org/wiki/Spanish_speaking_community_creation_IRC_Meeting,_28_June_2011
June 29 2011 Kohacon11 volunteers meeting http://wiki.koha-community.org/wiki/KohaCon11_Volunteers#Next_Meeting_:_Wednesday_June_29_6.00_UTC
-July 5 2011 Francois Marier becomes the 147th developer to have a patch pushed
+July 5 2011 Francois Marier becomes the 148th developer to have a patch pushed
July 6 2011 General IRC meeting http://wiki.koha-community.org/wiki/General_IRC_Meeting,_6_July_2011
July 25 2011 Koha 3.4.3 released releases
-July 28 2011 John Seymour becomes the 148th developer to have a patch pushed
+July 28 2011 John Seymour becomes the 149th developer to have a patch pushed
August 2 2011 General IRC meeting http://wiki.koha-community.org/wiki/General_IRC_Meeting,_2_August_2011
August 3 2011 Spanish speaking community meeting http://wiki.koha-community.org/wiki/Spanish_speaking_community_Mail_List_IRC_Meeting,_3_August_2011
-August 11 2011 Juan Romay Sieira becomes the 149th developer to have a patch pushed
-August 11 2011 Nuño López Ansótegui becomes the 150th developer to have a patch pushed
+August 11 2011 Juan Romay Sieira becomes the 150th developer to have a patch pushed
+August 11 2011 Nuño López Ansótegui becomes the 151sy developer to have a patch pushed
August 22 2011 Koha 3.4.4 released releases
-August 26 2011 Ward van Wanrooij becomes the 151th developer to have a patch pushed
-August 27 2011 Ulrich Kleiber becomes the 152st developer to have a patch pushed
-September 1 2011 Maxime Pelletier becomes the 153nd developer to have a patch pushed
-September 2 2011 Steven Callender becomes the 154rd developer to have a patch pushed
-September 6 2011 Brett Wilkins becomes the 155th developer to have a patch pushed
-September 11 2011 Meenakshi.R becomes the 156th developer to have a patch pushed
-September 23 2011 Joy Nelson becomes the 157th developer to have a patch pushed
-September 24 2011 Larry Baerveldt becomes the 158th developer to have a patch pushed
+August 26 2011 Ward van Wanrooij becomes the 152nd developer to have a patch pushed
+August 27 2011 Ulrich Kleiber becomes the 153rd developer to have a patch pushed
+September 1 2011 Maxime Pelletier becomes the 154th developer to have a patch pushed
+September 2 2011 Steven Callender becomes the 155th developer to have a patch pushed
+September 6 2011 Brett Wilkins becomes the 156th developer to have a patch pushed
+September 11 2011 Meenakshi.R becomes the 157th developer to have a patch pushed
+September 23 2011 Joy Nelson becomes the 158th developer to have a patch pushed
+September 24 2011 Larry Baerveldt becomes the 159th developer to have a patch pushed
September 27 2011 Koha 3.4.5 released releases
-September 28 2011 Thatcher Rea becomes the 159th developer to have a patch pushed
+September 28 2011 Thatcher Rea becomes the 160th developer to have a patch pushed
October 5 2011 General IRC meeting http://wiki.koha-community.org/wiki/General_IRC_Meeting,_5_October_2011
-October 15 2011 Greg Barniskis becomes the 160th developer to have a patch pushed
+October 15 2011 Greg Barniskis becomes the 161st developer to have a patch pushed
October 22 2011 Koha 3.6.0 released releases
October 31 2011 4th KohaCon in Mumbaï, India
November 9 2011 Koha 3.4.6 released releases
November 21 2011 Plea for help from Horowhenua Library Trust (Koha TM in NZ)
November 29 2011 Koha 3.6.1 released releases
December 4 2011 Koha 3.2.11 released releases
-December 6 2011 Martin Renvoize becomes the 161st developer to have a patch pushed
-December 6 2011 Adrien Saurat becomes the 162nd developer to have a patch pushed
-December 6 2011 Albert Oller becomes the 163rd developer to have a patch pushed
-December 7 2011 Jon Aker becomes the 164th developer to have a patch pushed
+December 6 2011 Martin Renvoize becomes the 162nd developer to have a patch pushed
+December 6 2011 Adrien Saurat becomes the 163rd developer to have a patch pushed
+December 6 2011 Albert Oller becomes the 164th developer to have a patch pushed
+December 7 2011 Jon Aker becomes the 165th developer to have a patch pushed
December 7 2011 Koha 3.4.7 released releases
-December 13 2011 Fabio Tiana becomes the 165th developer to have a patch pushed
-December 15 2011 Duncan Tyler becomes the 166th developer to have a patch pushed
-December 15 2011 Marc Balmer becomes the 167th developer to have a patch pushed
+December 13 2011 Fabio Tiana becomes the 166th developer to have a patch pushed
+December 15 2011 Duncan Tyler becomes the 167th developer to have a patch pushed
+December 15 2011 Marc Balmer becomes the 168th developer to have a patch pushed
December 22 2011 Koha 3.6.2 released releases
-January 16 2012 Jesse Maseto becomes the 168th developer to have a patch pushed
-January 17 2012 Connor Dewar becomes the 169th developer to have a patch pushed (as part of the Catalyst Open Source Academy)
-January 17 2012 Sam Sanders becomes the 170th developer to have a patch pushed (as part of the Catalyst Open Source Academy)
-January 18 2012 Olivier Crouzet becomes the 171st developer to have a patch pushed
+January 16 2012 Jesse Maseto becomes the 169th developer to have a patch pushed
+January 17 2012 Connor Dewar becomes the 170th developer to have a patch pushed (as part of the Catalyst Open Source Academy)
+January 17 2012 Sam Sanders becomes the 171st developer to have a patch pushed (as part of the Catalyst Open Source Academy)
+January 18 2012 Olivier Crouzet becomes the 172nd developer to have a patch pushed
January 27 2012 Koha 3.6.3 released releases
January 27 2012 Koha 3.4.8 released releases
-January 31 2012 Bart Jorgensen becomes the 172nd developer to have a patch pushed
-January 31 2012 Kate Henderson becomes the 173rd developer to have a patch pushed
-January 31 2012 Jono Mingard becomes the 174th developer to have a patch pushed
-January 31 2012 Jorgia Kelsey becomes the 175th developer to have a patch pushed
-February 1 2012 Aleksa Vujicic becomes the 176th developer to have a patch pushed
-February 1 2012 Peter Lorimer becomes the 177th developer to have a patch pushed
+January 31 2012 Bart Jorgensen becomes the 173rd developer to have a patch pushed
+January 31 2012 Kate Henderson becomes the 174th developer to have a patch pushed
+January 31 2012 Jono Mingard becomes the 175th developer to have a patch pushed
+January 31 2012 Jorgia Kelsey becomes the 176th developer to have a patch pushed
+February 1 2012 Aleksa Vujicic becomes the 177th developer to have a patch pushed
+February 1 2012 Peter Lorimer becomes the 178th developer to have a patch pushed
March 4 2012 Koha 3.6.4 released releases
-March 16 2012 David Cook becomes the 178th developer to have a patch pushed
-March 20 2012 Gaetan Boisson becomes the 179th developer to have a patch pushed
-April 15 2012 Marc Veron becomes the 180th developer to have a patch pushed
+March 16 2012 David Cook becomes the 179th developer to have a patch pushed
+March 20 2012 Gaetan Boisson becomes the 180th developer to have a patch pushed
+April 15 2012 Marc Veron becomes the 181st developer to have a patch pushed
April 22 2012 Koha 3.8.0 released releases
-May 11 2012 Lyon 3 team becomes the 181st developer to have a patch pushed
+May 11 2012 Lyon 3 team becomes the 182nd developer to have a patch pushed
May 22 2012 Koha 3.8.1 released releases
May 25 2012 Koha 3.6.5 released releases
-May 28 2012 Simon Story becomes the 182nd developer to have a patch pushed
-May 28 2012 Piotr Kowalski becomes the 183th developer to have a patch pushed
+May 28 2012 Simon Story becomes the 183rd developer to have a patch pushed
+May 28 2012 Piotr Kowalski becomes the 184th developer to have a patch pushed
June 5-7 2012 Kohacon12 in Edinburgh
June 9-11 2012 Kohacon12 hackfest in Edinburgh
-June 10 2012 Shari Perkins becomes the 184th developer to have a patch pushed
-June 20 2012 Claire Hernandez becomes the 185th developer to have a patch pushed
+June 10 2012 Shari Perkins becomes the 185th developer to have a patch pushed
+June 20 2012 Claire Hernandez becomes the 186th developer to have a patch pushed
June 22 2012 Koha 3.8.2 released releases
June 23 2012 Koha 3.6.6 released releases
-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 3 2012 Mark Tompsett becomes the 187th developer to have a patch pushed
+July 7 2012 Stacey Walker becomes the 188th developer to have a patch pushed
+July 7 2012 Mirko Tietgen becomes the 189th developer to have a patch pushed
July 22 2012 Koha 3.8.3 released releases
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 3 2012 Kathryn Tyree becomes the 190th developer to have a patch pushed
+September 11 2012 Melia Meggs becomes the 191st developer to have a patch pushed
+September 20 2012 Joseph Alway beomes the 192nd developer to have a patch pushed
September 22 2012 Koha 3.8.5 released releases
September 22 2012 Koha 3.6.9 released releases
-October 13 2012 Ivan Brown becomes the 192nd developer to have a patch pushed
-October 22 2012 Mathieu Saby becomes the 193rd developer to have a patch pushed
+October 13 2012 Ivan Brown becomes the 193rd developer to have a patch pushed
+October 22 2012 Mathieu Saby becomes the 194th developer to have a patch pushed
October 22 2012 Koha 3.8.6 released releases
October 23 2012 Koha 3.6.10 released releases
-October 26 2012 Robert Williams becomes the 194th developer to have a patch pushed
+October 26 2012 Robert Williams becomes the 195th developer to have a patch pushed
November 22 2012 Koha 3.8.7 released releases
November 23 2012 Koha 3.10.0 released releases
-December 12 2012 Romina Racca becomes the 195th developer to have a patch pushed
-December 17 2012 Vitor Fernandes becomes the 196th developer to have a patch pushed
-December 21 2012 Nadia Nicolaides becomes the 197th developer to have a patch pushed
-
+December 12 2012 Romina Racca becomes the 196th developer to have a patch pushed
+December 17 2012 Vitor Fernandes becomes the 197th developer to have a patch pushed
+December 21 2012 Nadia Nicolaides becomes the 198th developer to have a patch pushed
+December 22 2012 Koha 3.10.1 released releases
+December 22 2012 Koha 3.8.8 released releases
+December 27 2012 Koha 3.6.11 released releases
+January 17 2013 Hugh Davenport becomes the 199th developer to have a patch pushed
+January 17 2013 Corey Fuimaono becomes the 200th developer to have a patch pushed
+January 17 2013 Fred Pierre becomes the 201st developer to have a patch pushed
le 2=2
eq 2=3
ge 2=4
-ne 2=5
-phonetic 2=6
-stem 2=100
+gt 2=5
+ne 2=6
+phonetic 2=100
+stem 2=101
relevance 2=102
rk 2=102
rank relevance
<target_index>ISSN:w</target_index>
<target_index>Identifier-standard:w</target_index>
</index_subfields>
- <!--record.abs line 42: melm 200$b itemtype:w,itemtype:p,itype:w,itype:p-->
- <index_subfields xmlns="http://www.koha-community.org/schemas/index-defs" tag="200" subfields="b">
- <target_index>itemtype:w</target_index>
- <target_index>itemtype:p</target_index>
- <target_index>itype:w</target_index>
- <target_index>itype:p</target_index>
+ <!--record.abs line 44: melm 011$f Identifier-standard:w-->
+ <index_subfields xmlns="http://www.koha-community.org/schemas/index-defs" tag="011" subfields="f">
+ <target_index>Identifier-standard:w</target_index>
</index_subfields>
- <!--record.abs line 43: melm 995$r itemtype:w,itemtype:p,itype:w,itype:p-->
- <index_subfields xmlns="http://www.koha-community.org/schemas/index-defs" tag="995" subfields="r">
- <target_index>itemtype:w</target_index>
- <target_index>itemtype:p</target_index>
- <target_index>itype:w</target_index>
- <target_index>itype:p</target_index>
+ <!--record.abs line 45: melm 011$g Identifier-standard:w-->
+ <index_subfields xmlns="http://www.koha-community.org/schemas/index-defs" tag="011" subfields="g">
+ <target_index>Identifier-standard:w</target_index>
+ </index_subfields>
+ <!--record.abs line 47: melm 012$a Identifier-standard:w-->
+ <index_subfields xmlns="http://www.koha-community.org/schemas/index-defs" tag="012" subfields="a">
+ <target_index>Identifier-standard:w</target_index>
+ </index_subfields>
+ <!--record.abs line 49: melm 013$a Identifier-standard:w-->
+ <index_subfields xmlns="http://www.koha-community.org/schemas/index-defs" tag="013" subfields="a">
+ <target_index>Identifier-standard:w</target_index>
</index_subfields>
- <!--record.abs line 44: melm 071$a Music-number:w,Identifier-standard:w-->
+ <!--record.abs line 50: melm 013$z Identifier-standard:w-->
+ <index_subfields xmlns="http://www.koha-community.org/schemas/index-defs" tag="013" subfields="z">
+ <target_index>Identifier-standard:w</target_index>
+ </index_subfields>
+ <!--record.abs line 52: melm 014$a Identifier-standard:w-->
+ <index_subfields xmlns="http://www.koha-community.org/schemas/index-defs" tag="014" subfields="a">
+ <target_index>Identifier-standard:w</target_index>
+ </index_subfields>
+ <!--record.abs line 53: melm 014$z Identifier-standard:w-->
+ <index_subfields xmlns="http://www.koha-community.org/schemas/index-defs" tag="014" subfields="z">
+ <target_index>Identifier-standard:w</target_index>
+ </index_subfields>
+ <!--record.abs line 55: melm 015$a Identifier-standard:w-->
+ <index_subfields xmlns="http://www.koha-community.org/schemas/index-defs" tag="015" subfields="a">
+ <target_index>Identifier-standard:w</target_index>
+ </index_subfields>
+ <!--record.abs line 56: melm 015$z Identifier-standard:w-->
+ <index_subfields xmlns="http://www.koha-community.org/schemas/index-defs" tag="015" subfields="z">
+ <target_index>Identifier-standard:w</target_index>
+ </index_subfields>
+ <!--record.abs line 58: melm 016$a Identifier-standard:w-->
+ <index_subfields xmlns="http://www.koha-community.org/schemas/index-defs" tag="016" subfields="a">
+ <target_index>Identifier-standard:w</target_index>
+ </index_subfields>
+ <!--record.abs line 59: melm 016$z Identifier-standard:w-->
+ <index_subfields xmlns="http://www.koha-community.org/schemas/index-defs" tag="016" subfields="z">
+ <target_index>Identifier-standard:w</target_index>
+ </index_subfields>
+ <!--record.abs line 61: melm 017$a Identifier-standard:w-->
+ <index_subfields xmlns="http://www.koha-community.org/schemas/index-defs" tag="017" subfields="a">
+ <target_index>Identifier-standard:w</target_index>
+ </index_subfields>
+ <!--record.abs line 62: melm 017$z Identifier-standard:w-->
+ <index_subfields xmlns="http://www.koha-community.org/schemas/index-defs" tag="017" subfields="z">
+ <target_index>Identifier-standard:w</target_index>
+ </index_subfields>
+ <!--record.abs line 72: melm 040$a Identifier-standard:w-->
+ <index_subfields xmlns="http://www.koha-community.org/schemas/index-defs" tag="040" subfields="a">
+ <target_index>Identifier-standard:w</target_index>
+ </index_subfields>
+ <!--record.abs line 73: melm 040$z Identifier-standard:w-->
+ <index_subfields xmlns="http://www.koha-community.org/schemas/index-defs" tag="040" subfields="z">
+ <target_index>Identifier-standard:w</target_index>
+ </index_subfields>
+ <!--record.abs line 75: melm 071$a Music-number:w,Identifier-standard:w-->
<index_subfields xmlns="http://www.koha-community.org/schemas/index-defs" tag="071" subfields="a">
<target_index>Music-number:w</target_index>
<target_index>Identifier-standard:w</target_index>
</index_subfields>
- <!--record.abs line 45: melm 072$a UPC:w,Identifier-standard:w-->
+ <!--record.abs line 76: melm 071$z Music-number:w,Identifier-standard:w-->
+ <index_subfields xmlns="http://www.koha-community.org/schemas/index-defs" tag="071" subfields="z">
+ <target_index>Music-number:w</target_index>
+ <target_index>Identifier-standard:w</target_index>
+ </index_subfields>
+ <!--record.abs line 77: melm 071$b Publisher,Publisher:p-->
+ <index_subfields xmlns="http://www.koha-community.org/schemas/index-defs" tag="071" subfields="b">
+ <target_index>Publisher:w</target_index>
+ <target_index>Publisher:p</target_index>
+ </index_subfields>
+ <!--record.abs line 79: melm 072$a UPC:w,Identifier-standard:w-->
<index_subfields xmlns="http://www.koha-community.org/schemas/index-defs" tag="072" subfields="a">
<target_index>UPC:w</target_index>
<target_index>Identifier-standard:w</target_index>
</index_subfields>
- <!--record.abs line 46: melm 073$a EAN:w,Identifier-standard:w-->
+ <!--record.abs line 80: melm 072$z UPC:w,Identifier-standard:w-->
+ <index_subfields xmlns="http://www.koha-community.org/schemas/index-defs" tag="072" subfields="z">
+ <target_index>UPC:w</target_index>
+ <target_index>Identifier-standard:w</target_index>
+ </index_subfields>
+ <!--record.abs line 82: melm 073$a EAN:w,Identifier-standard:w-->
<index_subfields xmlns="http://www.koha-community.org/schemas/index-defs" tag="073" subfields="a">
<target_index>EAN:w</target_index>
<target_index>Identifier-standard:w</target_index>
</index_subfields>
+ <!--record.abs line 83: melm 073$z EAN:w,Identifier-standard:w-->
+ <index_subfields xmlns="http://www.koha-community.org/schemas/index-defs" tag="073" subfields="z">
+ <target_index>EAN:w</target_index>
+ <target_index>Identifier-standard:w</target_index>
+ </index_subfields>
+ <!--record.abs line 86: melm 200$b itemtype:w,itemtype:p,itype:w,itype:p-->
+ <index_subfields xmlns="http://www.koha-community.org/schemas/index-defs" tag="200" subfields="b">
+ <target_index>itemtype:w</target_index>
+ <target_index>itemtype:p</target_index>
+ <target_index>itype:w</target_index>
+ <target_index>itype:p</target_index>
+ </index_subfields>
+ <!--record.abs line 87: melm 995$r itemtype:w,itemtype:p,itype:w,itype:p-->
+ <index_subfields xmlns="http://www.koha-community.org/schemas/index-defs" tag="995" subfields="r">
+ <target_index>itemtype:w</target_index>
+ <target_index>itemtype:p</target_index>
+ <target_index>itype:w</target_index>
+ <target_index>itype:p</target_index>
+ </index_subfields>
<!--record.abs line 48: melm 100$a tpubdate:s:range(data,8,1),ta:w:range(data,17,1),ta:w:range(data,18,1),ta:w:range(data,19,1),Modified-code:n:range(data,21,1),ln:s:range(data,22,3),char-encoding:n:range(data,26,2),char-encoding:n:range(data,28,2),char-encoding:n:range(data,30,2),script-Title:n:range(data,34,2)-->
<index_subfields xmlns="http://www.koha-community.org/schemas/index-defs" tag="100" subfields="a">
<target_index>tpubdate:s</target_index>
<target_index>Graphics-support:w</target_index>
<target_index>Graphics-support:w</target_index>
</index_subfields>
- <!--record.abs line 82: melm 680$b LC-call-number:s-->
- <index_subfields xmlns="http://www.koha-community.org/schemas/index-defs" tag="680" subfields="b">
- <target_index>LC-call-number:s</target_index>
- </index_subfields>
- <!--record.abs line 83: melm 680 LC-call-number-->
- <index_data_field xmlns="http://www.koha-community.org/schemas/index-defs" tag="680">
- <target_index>LC-call-number:w</target_index>
- </index_data_field>
- <!--record.abs line 86: melm 200$b itype:w,itype:p-->
- <index_subfields xmlns="http://www.koha-community.org/schemas/index-defs" tag="200" subfields="b">
- <target_index>itype:w</target_index>
- <target_index>itype:p</target_index>
- </index_subfields>
<!--record.abs line 92: melm 200$f Author:w,Author:p-->
<index_subfields xmlns="http://www.koha-community.org/schemas/index-defs" tag="200" subfields="f">
<target_index>Author:w</target_index>
<target_index>Corporate-name:p</target_index>
<target_index>Conference-name:p</target_index>
</index_data_field>
+ <!--record.abs line 147: melm 716$9 Koha-Auth-Number,Koha-Auth-Number:n-->
+ <index_subfields xmlns="http://www.koha-community.org/schemas/index-defs" tag="716" subfields="9">
+ <target_index>Koha-Auth-Number:w</target_index>
+ <target_index>Koha-Auth-Number:n</target_index>
+ </index_subfields>
+ <!--record.abs line 148: melm 716 Author:w,Author:p-->
+ <index_data_field xmlns="http://www.koha-community.org/schemas/index-defs" tag="716">
+ <target_index>Author:w</target_index>
+ <target_index>Author:p</target_index>
+ </index_data_field>
+ <!--record.abs line 151: melm 720$9 Koha-Auth-Number,Koha-Auth-Number:n-->
+ <index_subfields xmlns="http://www.koha-community.org/schemas/index-defs" tag="720" subfields="9">
+ <target_index>Koha-Auth-Number:w</target_index>
+ <target_index>Koha-Auth-Number:n</target_index>
+ </index_subfields>
+ <!--record.abs line 152: melm 720 Author:w,Author:p-->
+ <index_data_field xmlns="http://www.koha-community.org/schemas/index-defs" tag="720">
+ <target_index>Author:w</target_index>
+ <target_index>Author:p</target_index>
+ </index_data_field>
+ <!--record.abs line 153: melm 721$9 Koha-Auth-Number,Koha-Auth-Number:n-->
+ <index_subfields xmlns="http://www.koha-community.org/schemas/index-defs" tag="721" subfields="9">
+ <target_index>Koha-Auth-Number:w</target_index>
+ <target_index>Koha-Auth-Number:n</target_index>
+ </index_subfields>
+ <!--record.abs line 154: melm 721 Author:w,Author:p-->
+ <index_data_field xmlns="http://www.koha-community.org/schemas/index-defs" tag="721">
+ <target_index>Author:w</target_index>
+ <target_index>Author:p</target_index>
+ </index_data_field>
+ <!--record.abs line 155: melm 722$9 Koha-Auth-Number,Koha-Auth-Number:n-->
+ <index_subfields xmlns="http://www.koha-community.org/schemas/index-defs" tag="722" subfields="9">
+ <target_index>Koha-Auth-Number:w</target_index>
+ <target_index>Koha-Auth-Number:n</target_index>
+ </index_subfields>
+ <!--record.abs line 156: melm 722 Author:w,Author:p-->
+ <index_data_field xmlns="http://www.koha-community.org/schemas/index-defs" tag="722">
+ <target_index>Author:w</target_index>
+ <target_index>Author:p</target_index>
+ </index_data_field>
+ <!--record.abs line 159: melm 730$9 Koha-Auth-Number,Koha-Auth-Number:n-->
+ <index_subfields xmlns="http://www.koha-community.org/schemas/index-defs" tag="730" subfields="9">
+ <target_index>Koha-Auth-Number:w</target_index>
+ <target_index>Koha-Auth-Number:n</target_index>
+ </index_subfields>
+ <!--record.abs line 160: melm 730 Author:w,Author:p-->
+ <index_data_field xmlns="http://www.koha-community.org/schemas/index-defs" tag="730">
+ <target_index>Author:w</target_index>
+ <target_index>Author:p</target_index>
+ </index_data_field>
<!--record.abs line 115: melm 200$a Title:w,Title:p,Title:s,Title-cover:w,Title-cover:p,Title-cover:s-->
<index_subfields xmlns="http://www.koha-community.org/schemas/index-defs" tag="200" subfields="a">
<target_index>Title:w</target_index>
<target_index>Title-cover:w</target_index>
<target_index>Title-cover:p</target_index>
</index_subfields>
- <!--record.abs line 123: melm 200$i title:w,title:p,Title-cover:w,Title-cover:p-->
+ <!--record.abs line 123: melm 200$i Title:w,Title:p,Title-cover:w,Title-cover:p-->
<index_subfields xmlns="http://www.koha-community.org/schemas/index-defs" tag="200" subfields="i">
- <target_index>title:w</target_index>
- <target_index>title:p</target_index>
+ <target_index>Title:w</target_index>
+ <target_index>Title:p</target_index>
<target_index>Title-cover:w</target_index>
<target_index>Title-cover:p</target_index>
</index_subfields>
<target_index>Title:w</target_index>
<target_index>Title:p</target_index>
</index_data_field>
- <!--record.abs line 127: melm 208 Serials,Serials:p-->
- <index_data_field xmlns="http://www.koha-community.org/schemas/index-defs" tag="208">
+ <!--record.abs line 127: melm 207 Serials,Serials:p-->
+ <index_data_field xmlns="http://www.koha-community.org/schemas/index-defs" tag="207">
<target_index>Serials:w</target_index>
<target_index>Serials:p</target_index>
</index_data_field>
- <!--record.abs line 128: melm 207 Printed-music,Printed-music:p-->
- <index_data_field xmlns="http://www.koha-community.org/schemas/index-defs" tag="207">
+ <!--record.abs line 128: melm 208 Printed-music,Printed-music:p-->
+ <index_data_field xmlns="http://www.koha-community.org/schemas/index-defs" tag="208">
<target_index>Printed-music:w</target_index>
<target_index>Printed-music:p</target_index>
</index_data_field>
+ <!--record.abs line 186: melm 230$a Electronic-ressource-->
+ <index_subfields xmlns="http://www.koha-community.org/schemas/index-defs" tag="230" subfields="a">
+ <target_index>Electronic-ressource:w</target_index>
+ </index_subfields>
<!--record.abs line 132: melm 210$a pl,pl:p-->
<index_subfields xmlns="http://www.koha-community.org/schemas/index-defs" tag="210" subfields="a">
<target_index>pl:w</target_index>
<target_index>Title-series:w</target_index>
<target_index>Title-series:p</target_index>
</index_subfields>
- <!--record.abs line 148: melm 225$i Title-series,Title-series:p -->
+ <!--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>
<index_subfields xmlns="http://www.koha-community.org/schemas/index-defs" tag="225" subfields="x">
<target_index>ISSN:w</target_index>
</index_subfields>
- <!--record.abs line 153: melm 230$a Electronic-ressource-->
- <index_subfields xmlns="http://www.koha-community.org/schemas/index-defs" tag="230" subfields="a">
- <target_index>Electronic-ressource:w</target_index>
- </index_subfields>
<!--record.abs line 156: melm 300$a Note,Note:p-->
<index_subfields xmlns="http://www.koha-community.org/schemas/index-defs" tag="300" subfields="a">
<target_index>Note:w</target_index>
<target_index>Note:w</target_index>
<target_index>Note:p</target_index>
</index_data_field>
- <!--record.abs line 165: melm 308$a Note,Note:p-->
- <index_subfields xmlns="http://www.koha-community.org/schemas/index-defs" tag="308" subfields="a">
- <target_index>Note:w</target_index>
- <target_index>Note:p</target_index>
- </index_subfields>
<!--record.abs line 166: melm 310$a Note,Note:p-->
<index_subfields xmlns="http://www.koha-community.org/schemas/index-defs" tag="310" subfields="a">
<target_index>Note:w</target_index>
<target_index>Note:w</target_index>
<target_index>Note:p</target_index>
</index_data_field>
- <!--record.abs line 184: melm 328$a Note,Note:p-->
- <index_subfields xmlns="http://www.koha-community.org/schemas/index-defs" tag="328" subfields="a">
- <target_index>Note:w</target_index>
- <target_index>Note:p</target_index>
- </index_subfields>
<!--record.abs line 185: melm 330$a Abstract,Note:w,Abstract:p,Note:p-->
<index_subfields xmlns="http://www.koha-community.org/schemas/index-defs" tag="330" subfields="a">
<target_index>Abstract:w</target_index>
<target_index>Note:w</target_index>
<target_index>Note:p</target_index>
</index_subfields>
+ <!--record.abs line 273: melm 334$a Note,Note:p-->
+ <index_subfields xmlns="http://www.koha-community.org/schemas/index-defs" tag="334" subfields="a">
+ <target_index>Note:w</target_index>
+ <target_index>Note:p</target_index>
+ </index_subfields>
<!--record.abs line 188: melm 336$a Note,Note:p-->
<index_subfields xmlns="http://www.koha-community.org/schemas/index-defs" tag="336" subfields="a">
<target_index>Note:w</target_index>
<target_index>Note:w</target_index>
<target_index>Note:p</target_index>
</index_subfields>
- <!--record.abs line 195: melm 400$t Title,Title:p-->
- <index_subfields xmlns="http://www.koha-community.org/schemas/index-defs" tag="400" subfields="t">
+ <!--record.abs line 198: melm 410$t Title-series,Title-series:p-->
+ <index_subfields xmlns="http://www.koha-community.org/schemas/index-defs" tag="410" subfields="t">
+ <target_index>Title-series:w</target_index>
+ <target_index>Title-series:p</target_index>
+ </index_subfields>
+ <!--record.abs line 284: melm 411$t Title,Title:p-->
+ <index_subfields xmlns="http://www.koha-community.org/schemas/index-defs" tag="411" subfields="t">
<target_index>Title:w</target_index>
<target_index>Title:p</target_index>
</index_subfields>
- <!--record.abs line 196: melm 401$t Title,Title:p-->
- <index_subfields xmlns="http://www.koha-community.org/schemas/index-defs" tag="401" subfields="t">
+ <!--record.abs line 199: melm 412$t Title,Title:p-->
+ <index_subfields xmlns="http://www.koha-community.org/schemas/index-defs" tag="412" subfields="t">
<target_index>Title:w</target_index>
<target_index>Title:p</target_index>
</index_subfields>
- <!--record.abs line 197: melm 403$t Title,Title:p,Title-Uniform,Title-Uniform:p-->
- <index_subfields xmlns="http://www.koha-community.org/schemas/index-defs" tag="403" subfields="t">
+ <!--record.abs line 286: melm 413$t Title,Title:p-->
+ <index_subfields xmlns="http://www.koha-community.org/schemas/index-defs" tag="413" subfields="t">
<target_index>Title:w</target_index>
<target_index>Title:p</target_index>
- <target_index>Title-Uniform:w</target_index>
- <target_index>Title-Uniform:p</target_index>
</index_subfields>
- <!--record.abs line 198: melm 410$t Title-series,Title-series:p-->
- <index_subfields xmlns="http://www.koha-community.org/schemas/index-defs" tag="410" subfields="t">
- <target_index>Title-series:w</target_index>
- <target_index>Title-series:p</target_index>
+ <!--record.abs line 287: melm 421$t Title,Title:p-->
+ <index_subfields xmlns="http://www.koha-community.org/schemas/index-defs" tag="421" subfields="t">
+ <target_index>Title:w</target_index>
+ <target_index>Title:p</target_index>
</index_subfields>
- <!--record.abs line 199: melm 412$t Title,Title:p-->
- <index_subfields xmlns="http://www.koha-community.org/schemas/index-defs" tag="412" subfields="t">
+ <!--record.abs line 288: melm 422$t Title,Title:p-->
+ <index_subfields xmlns="http://www.koha-community.org/schemas/index-defs" tag="422" subfields="t">
<target_index>Title:w</target_index>
<target_index>Title:p</target_index>
</index_subfields>
- <!--record.abs line 200: melm 413$t Title,Title:p-->
- <index_subfields xmlns="http://www.koha-community.org/schemas/index-defs" tag="413" subfields="t">
+ <!--record.abs line 289: melm 423$t Title,Title:p-->
+ <index_subfields xmlns="http://www.koha-community.org/schemas/index-defs" tag="423" subfields="t">
<target_index>Title:w</target_index>
<target_index>Title:p</target_index>
</index_subfields>
- <!--record.abs line 201: melm 414$t Title,Title:p-->
- <index_subfields xmlns="http://www.koha-community.org/schemas/index-defs" tag="414" subfields="t">
+ <!--record.abs line 290: melm 424$t Title,Title:p-->
+ <index_subfields xmlns="http://www.koha-community.org/schemas/index-defs" tag="424" subfields="t">
<target_index>Title:w</target_index>
<target_index>Title:p</target_index>
</index_subfields>
- <!--record.abs line 202: melm 415$t Title,Title:p-->
- <index_subfields xmlns="http://www.koha-community.org/schemas/index-defs" tag="415" subfields="t">
+ <!--record.abs line 291: melm 425$t Title,Title:p-->
+ <index_subfields xmlns="http://www.koha-community.org/schemas/index-defs" tag="425" subfields="t">
<target_index>Title:w</target_index>
<target_index>Title:p</target_index>
</index_subfields>
- <!--record.abs line 203: melm 416$t Title,Title:p-->
- <index_subfields xmlns="http://www.koha-community.org/schemas/index-defs" tag="416" subfields="t">
+ <!--record.abs line 292: melm 430$t Title,Title:p-->
+ <index_subfields xmlns="http://www.koha-community.org/schemas/index-defs" tag="430" subfields="t">
<target_index>Title:w</target_index>
<target_index>Title:p</target_index>
</index_subfields>
- <!--record.abs line 204: melm 417$t Title,Title:p-->
- <index_subfields xmlns="http://www.koha-community.org/schemas/index-defs" tag="417" subfields="t">
+ <!--record.abs line 293: melm 431$t Title,Title:p-->
+ <index_subfields xmlns="http://www.koha-community.org/schemas/index-defs" tag="431" subfields="t">
<target_index>Title:w</target_index>
<target_index>Title:p</target_index>
</index_subfields>
- <!--record.abs line 205: melm 418$t Title,Title:p-->
- <index_subfields xmlns="http://www.koha-community.org/schemas/index-defs" tag="418" subfields="t">
+ <!--record.abs line 294: melm 432$t Title,Title:p-->
+ <index_subfields xmlns="http://www.koha-community.org/schemas/index-defs" tag="432" subfields="t">
<target_index>Title:w</target_index>
<target_index>Title:p</target_index>
</index_subfields>
- <!--record.abs line 206: melm 419$t Title,Title:p-->
- <index_subfields xmlns="http://www.koha-community.org/schemas/index-defs" tag="419" subfields="t">
+ <!--record.abs line 295: melm 433$t Title,Title:p-->
+ <index_subfields xmlns="http://www.koha-community.org/schemas/index-defs" tag="433" subfields="t">
<target_index>Title:w</target_index>
<target_index>Title:p</target_index>
</index_subfields>
- <!--record.abs line 207: melm 420$t Title,Title:p-->
- <index_subfields xmlns="http://www.koha-community.org/schemas/index-defs" tag="420" subfields="t">
+ <!--record.abs line 296: melm 434$t Title,Title:p-->
+ <index_subfields xmlns="http://www.koha-community.org/schemas/index-defs" tag="434" subfields="t">
<target_index>Title:w</target_index>
<target_index>Title:p</target_index>
</index_subfields>
- <!--record.abs line 208: melm 430$t Title,Title:p-->
- <index_subfields xmlns="http://www.koha-community.org/schemas/index-defs" tag="430" subfields="t">
+ <!--record.abs line 297: melm 435$t Title,Title:p-->
+ <index_subfields xmlns="http://www.koha-community.org/schemas/index-defs" tag="435" subfields="t">
<target_index>Title:w</target_index>
<target_index>Title:p</target_index>
</index_subfields>
- <!--record.abs line 209: melm 431$t Title,Title:p-->
- <index_subfields xmlns="http://www.koha-community.org/schemas/index-defs" tag="431" subfields="t">
+ <!--record.abs line 298: melm 436$t Title,Title:p-->
+ <index_subfields xmlns="http://www.koha-community.org/schemas/index-defs" tag="436" subfields="t">
<target_index>Title:w</target_index>
<target_index>Title:p</target_index>
</index_subfields>
- <!--record.abs line 210: melm 432$t Title,Title:p-->
- <index_subfields xmlns="http://www.koha-community.org/schemas/index-defs" tag="432" subfields="t">
+ <!--record.abs line 299: melm 437$t Title,Title:p-->
+ <index_subfields xmlns="http://www.koha-community.org/schemas/index-defs" tag="437" subfields="t">
<target_index>Title:w</target_index>
<target_index>Title:p</target_index>
</index_subfields>
<target_index>Title:w</target_index>
<target_index>Title:p</target_index>
</index_subfields>
- <!--record.abs line 213: melm 445$t Title,Title:p-->
+ <!--record.abs line 302: melm 442$t Title,Title:p-->
+ <index_subfields xmlns="http://www.koha-community.org/schemas/index-defs" tag="442" subfields="t">
+ <target_index>Title:w</target_index>
+ <target_index>Title:p</target_index>
+ </index_subfields>
+ <!--record.abs line 303: melm 443$t Title,Title:p-->
+ <index_subfields xmlns="http://www.koha-community.org/schemas/index-defs" tag="443" subfields="t">
+ <target_index>Title:w</target_index>
+ <target_index>Title:p</target_index>
+ </index_subfields>
+ <!--record.abs line 304: melm 444$t Title,Title:p-->
+ <index_subfields xmlns="http://www.koha-community.org/schemas/index-defs" tag="444" subfields="t">
+ <target_index>Title:w</target_index>
+ <target_index>Title:p</target_index>
+ </index_subfields>
+ <!--record.abs line 305: melm 445$t Title,Title:p-->
<index_subfields xmlns="http://www.koha-community.org/schemas/index-defs" tag="445" subfields="t">
<target_index>Title:w</target_index>
<target_index>Title:p</target_index>
</index_subfields>
- <!--record.abs line 214: melm 461$t Title,Title-host:w,title-host:p-->
+ <!--record.abs line 306: melm 446$t Title,Title:p-->
+ <index_subfields xmlns="http://www.koha-community.org/schemas/index-defs" tag="446" subfields="t">
+ <target_index>Title:w</target_index>
+ <target_index>Title:p</target_index>
+ </index_subfields>
+ <!--record.abs line 307: melm 447$t Title,Title:p-->
+ <index_subfields xmlns="http://www.koha-community.org/schemas/index-defs" tag="447" subfields="t">
+ <target_index>Title:w</target_index>
+ <target_index>Title:p</target_index>
+ </index_subfields>
+ <!--record.abs line 308: melm 448$t Title,Title:p-->
+ <index_subfields xmlns="http://www.koha-community.org/schemas/index-defs" tag="448" subfields="t">
+ <target_index>Title:w</target_index>
+ <target_index>Title:p</target_index>
+ </index_subfields>
+ <!--record.abs line 309: melm 451$t Title,Title:p-->
+ <index_subfields xmlns="http://www.koha-community.org/schemas/index-defs" tag="451" subfields="t">
+ <target_index>Title:w</target_index>
+ <target_index>Title:p</target_index>
+ </index_subfields>
+ <!--record.abs line 310: melm 452$t Title,Title:p-->
+ <index_subfields xmlns="http://www.koha-community.org/schemas/index-defs" tag="452" subfields="t">
+ <target_index>Title:w</target_index>
+ <target_index>Title:p</target_index>
+ </index_subfields>
+ <!--record.abs line 311: melm 453$t Title,Title:p-->
+ <index_subfields xmlns="http://www.koha-community.org/schemas/index-defs" tag="453" subfields="t">
+ <target_index>Title:w</target_index>
+ <target_index>Title:p</target_index>
+ </index_subfields>
+ <!--record.abs line 312: melm 454$t Title,Title:p-->
+ <index_subfields xmlns="http://www.koha-community.org/schemas/index-defs" tag="454" subfields="t">
+ <target_index>Title:w</target_index>
+ <target_index>Title:p</target_index>
+ </index_subfields>
+ <!--record.abs line 313: melm 455$t Title,Title:p-->
+ <index_subfields xmlns="http://www.koha-community.org/schemas/index-defs" tag="455" subfields="t">
+ <target_index>Title:w</target_index>
+ <target_index>Title:p</target_index>
+ </index_subfields>
+ <!--record.abs line 314: melm 456$t Title,Title:p-->
+ <index_subfields xmlns="http://www.koha-community.org/schemas/index-defs" tag="456" subfields="t">
+ <target_index>Title:w</target_index>
+ <target_index>Title:p</target_index>
+ </index_subfields>
+ <!--record.abs line 316: melm 461$t Title,Title-host:w,title-host:p-->
<index_subfields xmlns="http://www.koha-community.org/schemas/index-defs" tag="461" subfields="t">
<target_index>Title:w</target_index>
<target_index>Title-host:w</target_index>
<target_index>title-host:p</target_index>
</index_subfields>
- <!--record.abs line 215: melm 464$t Title,Title-host:w,title-host:p,Title:p-->
+ <!--record.abs line 317: melm 462$t Title,Title:p-->
+ <index_subfields xmlns="http://www.koha-community.org/schemas/index-defs" tag="462" subfields="t">
+ <target_index>Title:w</target_index>
+ <target_index>Title:p</target_index>
+ </index_subfields>
+ <!--record.abs line 318: melm 463$t Title,Title:p-->
+ <index_subfields xmlns="http://www.koha-community.org/schemas/index-defs" tag="463" subfields="t">
+ <target_index>Title:w</target_index>
+ <target_index>Title:p</target_index>
+ </index_subfields>
+ <!--record.abs line 320: melm 464$t Title,Title-host:w,title-host:p,Title:p-->
<index_subfields xmlns="http://www.koha-community.org/schemas/index-defs" tag="464" subfields="t">
<target_index>Title:w</target_index>
<target_index>Title-host:w</target_index>
<target_index>title-host:p</target_index>
<target_index>Title:p</target_index>
</index_subfields>
+ <!--record.abs line 321: melm 470$t Title,Title:p-->
+ <index_subfields xmlns="http://www.koha-community.org/schemas/index-defs" tag="470" subfields="t">
+ <target_index>Title:w</target_index>
+ <target_index>Title:p</target_index>
+ </index_subfields>
+ <!--record.abs line 322: melm 481$t Title,Title:p-->
+ <index_subfields xmlns="http://www.koha-community.org/schemas/index-defs" tag="481" subfields="t">
+ <target_index>Title:w</target_index>
+ <target_index>Title:p</target_index>
+ </index_subfields>
+ <!--record.abs line 323: melm 482$t Title,Title:p-->
+ <index_subfields xmlns="http://www.koha-community.org/schemas/index-defs" tag="482" subfields="t">
+ <target_index>Title:w</target_index>
+ <target_index>Title:p</target_index>
+ </index_subfields>
+ <!--record.abs line 324: melm 488$t Title,Title:p-->
+ <index_subfields xmlns="http://www.koha-community.org/schemas/index-defs" tag="488" subfields="t">
+ <target_index>Title:w</target_index>
+ <target_index>Title:p</target_index>
+ </index_subfields>
+ <!--record.abs line 328: melm 461$9 Host-Item-Number-->
+ <index_subfields xmlns="http://www.koha-community.org/schemas/index-defs" tag="461" subfields="9">
+ <target_index>Host-Item-Number:w</target_index>
+ </index_subfields>
+ <!--record.abs line 331: melm 400$t Title,Title:p-->
+ <index_subfields xmlns="http://www.koha-community.org/schemas/index-defs" tag="400" subfields="t">
+ <target_index>Title:w</target_index>
+ <target_index>Title:p</target_index>
+ </index_subfields>
+ <!--record.abs line 332: melm 401$t Title,Title:p-->
+ <index_subfields xmlns="http://www.koha-community.org/schemas/index-defs" tag="401" subfields="t">
+ <target_index>Title:w</target_index>
+ <target_index>Title:p</target_index>
+ </index_subfields>
+ <!--record.abs line 333: melm 403$t Title,Title:p,Title-Uniform,Title-Uniform:p-->
+ <index_subfields xmlns="http://www.koha-community.org/schemas/index-defs" tag="403" subfields="t">
+ <target_index>Title:w</target_index>
+ <target_index>Title:p</target_index>
+ <target_index>Title-Uniform:w</target_index>
+ <target_index>Title-Uniform:p</target_index>
+ </index_subfields>
+ <!--record.abs line 334: melm 414$t Title,Title:p-->
+ <index_subfields xmlns="http://www.koha-community.org/schemas/index-defs" tag="414" subfields="t">
+ <target_index>Title:w</target_index>
+ <target_index>Title:p</target_index>
+ </index_subfields>
+ <!--record.abs line 335: melm 415$t Title,Title:p-->
+ <index_subfields xmlns="http://www.koha-community.org/schemas/index-defs" tag="415" subfields="t">
+ <target_index>Title:w</target_index>
+ <target_index>Title:p</target_index>
+ </index_subfields>
+ <!--record.abs line 336: melm 416$t Title,Title:p-->
+ <index_subfields xmlns="http://www.koha-community.org/schemas/index-defs" tag="416" subfields="t">
+ <target_index>Title:w</target_index>
+ <target_index>Title:p</target_index>
+ </index_subfields>
+ <!--record.abs line 337: melm 417$t Title,Title:p-->
+ <index_subfields xmlns="http://www.koha-community.org/schemas/index-defs" tag="417" subfields="t">
+ <target_index>Title:w</target_index>
+ <target_index>Title:p</target_index>
+ </index_subfields>
+ <!--record.abs line 338: melm 418$t Title,Title:p-->
+ <index_subfields xmlns="http://www.koha-community.org/schemas/index-defs" tag="418" subfields="t">
+ <target_index>Title:w</target_index>
+ <target_index>Title:p</target_index>
+ </index_subfields>
+ <!--record.abs line 339: melm 419$t Title,Title:p-->
+ <index_subfields xmlns="http://www.koha-community.org/schemas/index-defs" tag="419" subfields="t">
+ <target_index>Title:w</target_index>
+ <target_index>Title:p</target_index>
+ </index_subfields>
+ <!--record.abs line 340: melm 420$t Title,Title:p-->
+ <index_subfields xmlns="http://www.koha-community.org/schemas/index-defs" tag="420" subfields="t">
+ <target_index>Title:w</target_index>
+ <target_index>Title:p</target_index>
+ </index_subfields>
<!--record.abs line 217: melm 400$d pubdate:n-->
<index_subfields xmlns="http://www.koha-community.org/schemas/index-defs" tag="400" subfields="d">
<target_index>pubdate:n</target_index>
<target_index>Koha-Auth-Number:w</target_index>
<target_index>Koha-Auth-Number:n</target_index>
</index_subfields>
+ <!--record.abs melm 560$9 Koha-Auth-Number,Koha-Auth-Number:n-->
+ <index_subfields xmlns="http://www.koha-community.org/schemas/index-defs" tag="560" subfields="9">
+ <target_index>Koha-Auth-Number:w</target_index>
+ <target_index>Koha-Auth-Number:n</target_index>
+ </index_subfields>
<!--record.abs line 262: melm 500 Title,Title:p-->
<index_data_field xmlns="http://www.koha-community.org/schemas/index-defs" tag="500">
<target_index>Title:w</target_index>
<target_index>Title:w</target_index>
<target_index>Title:p</target_index>
</index_data_field>
+ <!--record.abs melm 560 Title,Title:p-->
+ <index_data_field xmlns="http://www.koha-community.org/schemas/index-defs" tag="560">
+ <target_index>Title:w</target_index>
+ <target_index>Title:p</target_index>
+ </index_data_field>
<!--record.abs line 283: melm 600$9 Koha-Auth-Number,Koha-Auth-Number:n-->
<index_subfields xmlns="http://www.koha-community.org/schemas/index-defs" tag="600" subfields="9">
<target_index>Koha-Auth-Number:w</target_index>
<target_index>Koha-Auth-Number:w</target_index>
<target_index>Koha-Auth-Number:n</target_index>
</index_subfields>
+ <!--record.abs melm 608$9 Koha-Auth-Number,Koha-Auth-Number:n-->
+ <index_subfields xmlns="http://www.koha-community.org/schemas/index-defs" tag="608" subfields="9">
+ <target_index>Koha-Auth-Number:w</target_index>
+ <target_index>Koha-Auth-Number:n</target_index>
+ </index_subfields>
<!--record.abs line 291: melm 610$9 Koha-Auth-Number,Koha-Auth-Number:n-->
<index_subfields xmlns="http://www.koha-community.org/schemas/index-defs" tag="610" subfields="9">
<target_index>Koha-Auth-Number:w</target_index>
<target_index>Koha-Auth-Number:n</target_index>
</index_subfields>
+ <!--record.abs melm 615$9 Koha-Auth-Number,Koha-Auth-Number:n-->
+ <index_subfields xmlns="http://www.koha-community.org/schemas/index-defs" tag="615" subfields="9">
+ <target_index>Koha-Auth-Number:w</target_index>
+ <target_index>Koha-Auth-Number:n</target_index>
+ </index_subfields>
+ <!--record.abs melm 616$9 Koha-Auth-Number,Koha-Auth-Number:n-->
+ <index_subfields xmlns="http://www.koha-community.org/schemas/index-defs" tag="616" subfields="9">
+ <target_index>Koha-Auth-Number:w</target_index>
+ <target_index>Koha-Auth-Number:n</target_index>
+ </index_subfields>
+ <!--record.abs melm 617$9 Koha-Auth-Number,Koha-Auth-Number:n-->
+ <index_subfields xmlns="http://www.koha-community.org/schemas/index-defs" tag="617" subfields="9">
+ <target_index>Koha-Auth-Number:w</target_index>
+ <target_index>Koha-Auth-Number:n</target_index>
+ </index_subfields>
+ <!--record.abs melm 620$9 Koha-Auth-Number,Koha-Auth-Number:n-->
+ <index_subfields xmlns="http://www.koha-community.org/schemas/index-defs" tag="620" subfields="9">
+ <target_index>Koha-Auth-Number:w</target_index>
+ <target_index>Koha-Auth-Number:n</target_index>
+ </index_subfields>
+ <!--record.abs melm 621$9 Koha-Auth-Number,Koha-Auth-Number:n-->
+ <index_subfields xmlns="http://www.koha-community.org/schemas/index-defs" tag="621" subfields="9">
+ <target_index>Koha-Auth-Number:w</target_index>
+ <target_index>Koha-Auth-Number:n</target_index>
+ </index_subfields>
<!--record.abs line 292: melm 630$9 Koha-Auth-Number,Koha-Auth-Number:n-->
<index_subfields xmlns="http://www.koha-community.org/schemas/index-defs" tag="630" subfields="9">
<target_index>Koha-Auth-Number:w</target_index>
<target_index>Koha-Auth-Number:w</target_index>
<target_index>Koha-Auth-Number:n</target_index>
</index_subfields>
- <!--record.abs line 300: melm 600$a Personal-name,Personal-name:p,Subject,Subject:p-->
+ <!--record.abs line 300: melm 600$a Personal-name,Personal-name:p,Subject,Subject:p-->
<index_subfields xmlns="http://www.koha-community.org/schemas/index-defs" tag="600" subfields="a">
<target_index>Personal-name:w</target_index>
<target_index>Personal-name:p</target_index>
<target_index>Subject:w</target_index>
<target_index>Subject:p</target_index>
</index_data_field>
- <!--record.abs line 306: melm 604 Subject,Subject:p-->
+ <!--record.abs line 306: melm 604 Subject,Subject:p-->
<index_data_field xmlns="http://www.koha-community.org/schemas/index-defs" tag="604">
<target_index>Subject:w</target_index>
<target_index>Subject:p</target_index>
<target_index>Subject:w</target_index>
<target_index>Subject:p</target_index>
</index_data_field>
- <!--record.abs line 310: melm 630 Subject,Subject:p-->
- <index_data_field xmlns="http://www.koha-community.org/schemas/index-defs" tag="630">
+ <!--record.abs line 445: melm 608 Subject,Subject:p-->
+ <index_data_field xmlns="http://www.koha-community.org/schemas/index-defs" tag="608">
<target_index>Subject:w</target_index>
<target_index>Subject:p</target_index>
</index_data_field>
- <!--record.abs line 311: melm 631 Subject,Subject:p-->
- <index_data_field xmlns="http://www.koha-community.org/schemas/index-defs" tag="631">
+ <!--record.abs line 446: melm 610 Subject,Subject:p-->
+ <index_data_field xmlns="http://www.koha-community.org/schemas/index-defs" tag="610">
<target_index>Subject:w</target_index>
<target_index>Subject:p</target_index>
</index_data_field>
- <!--record.abs line 312: melm 632 Subject,Subject:p-->
- <index_data_field xmlns="http://www.koha-community.org/schemas/index-defs" tag="632">
+ <!--record.abs line 447: melm 615 Subject,Subject:p-->
+ <index_data_field xmlns="http://www.koha-community.org/schemas/index-defs" tag="615">
<target_index>Subject:w</target_index>
<target_index>Subject:p</target_index>
</index_data_field>
- <!--record.abs line 313: melm 633 Subject,Subject:p-->
- <index_data_field xmlns="http://www.koha-community.org/schemas/index-defs" tag="633">
+ <!--record.abs line 448: melm 616 Subject,Subject:p-->
+ <index_data_field xmlns="http://www.koha-community.org/schemas/index-defs" tag="616">
<target_index>Subject:w</target_index>
<target_index>Subject:p</target_index>
</index_data_field>
- <!--record.abs line 314: melm 634 Subject,Subject:p-->
- <index_data_field xmlns="http://www.koha-community.org/schemas/index-defs" tag="634">
+ <!--record.abs line 449: melm 617 Subject,Subject:p-->
+ <index_data_field xmlns="http://www.koha-community.org/schemas/index-defs" tag="617">
<target_index>Subject:w</target_index>
<target_index>Subject:p</target_index>
</index_data_field>
- <!--record.abs line 315: melm 635 Subject,Subject:p-->
- <index_data_field xmlns="http://www.koha-community.org/schemas/index-defs" tag="635">
+ <!--record.abs line 450: melm 620 Subject,Subject:p-->
+ <index_data_field xmlns="http://www.koha-community.org/schemas/index-defs" tag="620">
<target_index>Subject:w</target_index>
<target_index>Subject:p</target_index>
</index_data_field>
- <!--record.abs line 316: melm 636 Subject,Subject:p-->
- <index_data_field xmlns="http://www.koha-community.org/schemas/index-defs" tag="636">
+ <!--record.abs line 451: melm 621 Subject,Subject:p-->
+ <index_data_field xmlns="http://www.koha-community.org/schemas/index-defs" tag="621">
<target_index>Subject:w</target_index>
<target_index>Subject:p</target_index>
</index_data_field>
- <!--record.abs line 317: melm 610 Subject,Subject:p-->
- <index_data_field xmlns="http://www.koha-community.org/schemas/index-defs" tag="610">
+ <!--record.abs line 460: melm 603 Subject,Subject:p-->
+ <index_data_field xmlns="http://www.koha-community.org/schemas/index-defs" tag="603">
+ <target_index>Subject:w</target_index>
+ <target_index>Subject:p</target_index>
+ </index_data_field>
+ <!--record.abs line 310: melm 630 Subject,Subject:p-->
+ <index_data_field xmlns="http://www.koha-community.org/schemas/index-defs" tag="630">
<target_index>Subject:w</target_index>
<target_index>Subject:p</target_index>
</index_data_field>
- <!--record.abs line 318: melm 640 Subject,Subject:p-->
- <index_data_field xmlns="http://www.koha-community.org/schemas/index-defs" tag="640">
+ <!--record.abs line 311: melm 631 Subject,Subject:p-->
+ <index_data_field xmlns="http://www.koha-community.org/schemas/index-defs" tag="631">
<target_index>Subject:w</target_index>
<target_index>Subject:p</target_index>
</index_data_field>
- <!--record.abs line 319: melm 641 Subject,Subject:p-->
- <index_data_field xmlns="http://www.koha-community.org/schemas/index-defs" tag="641">
+ <!--record.abs line 312: melm 632 Subject,Subject:p-->
+ <index_data_field xmlns="http://www.koha-community.org/schemas/index-defs" tag="632">
<target_index>Subject:w</target_index>
<target_index>Subject:p</target_index>
</index_data_field>
- <!--record.abs line 320: melm 642 Subject,Subject:p-->
- <index_data_field xmlns="http://www.koha-community.org/schemas/index-defs" tag="642">
+ <!--record.abs line 313: melm 633 Subject,Subject:p-->
+ <index_data_field xmlns="http://www.koha-community.org/schemas/index-defs" tag="633">
<target_index>Subject:w</target_index>
<target_index>Subject:p</target_index>
</index_data_field>
- <!--record.abs line 321: melm 643 Subject,Subject:p-->
- <index_data_field xmlns="http://www.koha-community.org/schemas/index-defs" tag="643">
+ <!--record.abs line 314: melm 634 Subject,Subject:p-->
+ <index_data_field xmlns="http://www.koha-community.org/schemas/index-defs" tag="634">
<target_index>Subject:w</target_index>
<target_index>Subject:p</target_index>
</index_data_field>
- <!--record.abs line 322: melm 644 Subject,Subject:p-->
- <index_data_field xmlns="http://www.koha-community.org/schemas/index-defs" tag="644">
+ <!--record.abs line 315: melm 635 Subject,Subject:p-->
+ <index_data_field xmlns="http://www.koha-community.org/schemas/index-defs" tag="635">
<target_index>Subject:w</target_index>
<target_index>Subject:p</target_index>
</index_data_field>
- <!--record.abs line 323: melm 645 Subject,Subject:p-->
- <index_data_field xmlns="http://www.koha-community.org/schemas/index-defs" tag="645">
+ <!--record.abs line 316: melm 636 Subject,Subject:p-->
+ <index_data_field xmlns="http://www.koha-community.org/schemas/index-defs" tag="636">
<target_index>Subject:w</target_index>
<target_index>Subject:p</target_index>
</index_data_field>
<target_index>Subject:w</target_index>
<target_index>Subject:p</target_index>
</index_data_field>
- <!--record.abs line 328: melm 676$a Dewey-classification:w,Dewey-classification:s-->
+ <!--record.abs line 471: melm 670 Subject-precis:w,Subject-precis:p-->
+ <index_data_field xmlns="http://www.koha-community.org/schemas/index-defs" tag="670">
+ <target_index>Subject-precis:w</target_index>
+ <target_index>Subject-precis:p</target_index>
+ </index_data_field>
+ <!--record.abs line 473: melm 675$a UDC-classification:w,UDC-classification:p,UDC-classification:s-->
+ <index_subfields xmlns="http://www.koha-community.org/schemas/index-defs" tag="675" subfields="a">
+ <target_index>UDC-classification:w</target_index>
+ <target_index>UDC-classification:p</target_index>
+ <target_index>UDC-classification:s</target_index>
+ </index_subfields>
+ <!--record.abs line 328: melm 676$a Dewey-classification:w,Dewey-classification:p,Dewey-classification:s-->
<index_subfields xmlns="http://www.koha-community.org/schemas/index-defs" tag="676" subfields="a">
<target_index>Dewey-classification:w</target_index>
+ <target_index>Dewey-classification:p</target_index>
<target_index>Dewey-classification:s</target_index>
</index_subfields>
+ <!--record.abs line 477: melm 680$b LC-call-number:s-->
+ <index_subfields xmlns="http://www.koha-community.org/schemas/index-defs" tag="680" subfields="b">
+ <target_index>LC-call-number:s</target_index>
+ </index_subfields>
+ <!--record.abs line 478: melm 680 LC-call-number:w,LC-call-number:p-->
+ <index_data_field xmlns="http://www.koha-community.org/schemas/index-defs" tag="680">
+ <target_index>LC-call-number:w</target_index>
+ <target_index>LC-call-number:p</target_index>
+ </index_data_field>
+ <!--record.abs line 480: melm 686 Local-classification:w,Local-classification:p-->
+ <index_data_field xmlns="http://www.koha-community.org/schemas/index-defs" tag="686">
+ <target_index>Local-classification:w</target_index>
+ <target_index>Local-classification:p</target_index>
+ </index_data_field>
<!--record.abs line 331: melm 995$2 lost,lost:n,item-->
<index_subfields xmlns="http://www.koha-community.org/schemas/index-defs" tag="995" subfields="2">
<target_index>lost:w</target_index>
<target_index>Record-Source:w</target_index>
<target_index>item:w</target_index>
</index_subfields>
- <!--record.abs line 335: melm 995$d holdingbranch,Record-Source,item-->
+ <!--record.abs line 335: melm 995$d holdingbranch,Record-Source,item-->
<index_subfields xmlns="http://www.koha-community.org/schemas/index-defs" tag="995" subfields="d">
<target_index>holdingbranch:w</target_index>
<target_index>Record-Source:w</target_index>
</z:index>
</xslo:if>
</xslo:for-each>
+ <xslo:for-each select="marc:subfield">
+ <xslo:if test="contains('f', @code)">
+ <z:index name="Identifier-standard:w">
+ <xslo:value-of select="."/>
+ </z:index>
+ </xslo:if>
+ </xslo:for-each>
+ <xslo:for-each select="marc:subfield">
+ <xslo:if test="contains('g', @code)">
+ <z:index name="Identifier-standard:w">
+ <xslo:value-of select="."/>
+ </z:index>
+ </xslo:if>
+ </xslo:for-each>
</xslo:template>
- <xslo:template mode="index_subfields" match="marc:datafield[@tag='200']">
+ <xslo:template mode="index_subfields" match="marc:datafield[@tag='012']">
+ <xslo:for-each select="marc:subfield">
+ <xslo:if test="contains('a', @code)">
+ <z:index name="Identifier-standard:w">
+ <xslo:value-of select="."/>
+ </z:index>
+ </xslo:if>
+ </xslo:for-each>
+ </xslo:template>
+ <xslo:template mode="index_subfields" match="marc:datafield[@tag='013']">
+ <xslo:for-each select="marc:subfield">
+ <xslo:if test="contains('a', @code)">
+ <z:index name="Identifier-standard:w">
+ <xslo:value-of select="."/>
+ </z:index>
+ </xslo:if>
+ </xslo:for-each>
+ <xslo:for-each select="marc:subfield">
+ <xslo:if test="contains('z', @code)">
+ <z:index name="Identifier-standard:w">
+ <xslo:value-of select="."/>
+ </z:index>
+ </xslo:if>
+ </xslo:for-each>
+ </xslo:template>
+ <xslo:template mode="index_subfields" match="marc:datafield[@tag='014']">
+ <xslo:for-each select="marc:subfield">
+ <xslo:if test="contains('a', @code)">
+ <z:index name="Identifier-standard:w">
+ <xslo:value-of select="."/>
+ </z:index>
+ </xslo:if>
+ </xslo:for-each>
+ <xslo:for-each select="marc:subfield">
+ <xslo:if test="contains('z', @code)">
+ <z:index name="Identifier-standard:w">
+ <xslo:value-of select="."/>
+ </z:index>
+ </xslo:if>
+ </xslo:for-each>
+ </xslo:template>
+ <xslo:template mode="index_subfields" match="marc:datafield[@tag='015']">
+ <xslo:for-each select="marc:subfield">
+ <xslo:if test="contains('a', @code)">
+ <z:index name="Identifier-standard:w">
+ <xslo:value-of select="."/>
+ </z:index>
+ </xslo:if>
+ </xslo:for-each>
+ <xslo:for-each select="marc:subfield">
+ <xslo:if test="contains('z', @code)">
+ <z:index name="Identifier-standard:w">
+ <xslo:value-of select="."/>
+ </z:index>
+ </xslo:if>
+ </xslo:for-each>
+ </xslo:template>
+ <xslo:template mode="index_subfields" match="marc:datafield[@tag='016']">
+ <xslo:for-each select="marc:subfield">
+ <xslo:if test="contains('a', @code)">
+ <z:index name="Identifier-standard:w">
+ <xslo:value-of select="."/>
+ </z:index>
+ </xslo:if>
+ </xslo:for-each>
+ <xslo:for-each select="marc:subfield">
+ <xslo:if test="contains('z', @code)">
+ <z:index name="Identifier-standard:w">
+ <xslo:value-of select="."/>
+ </z:index>
+ </xslo:if>
+ </xslo:for-each>
+ </xslo:template>
+ <xslo:template mode="index_subfields" match="marc:datafield[@tag='017']">
+ <xslo:for-each select="marc:subfield">
+ <xslo:if test="contains('a', @code)">
+ <z:index name="Identifier-standard:w">
+ <xslo:value-of select="."/>
+ </z:index>
+ </xslo:if>
+ </xslo:for-each>
+ <xslo:for-each select="marc:subfield">
+ <xslo:if test="contains('z', @code)">
+ <z:index name="Identifier-standard:w">
+ <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('a', @code)">
+ <z:index name="Identifier-standard:w">
+ <xslo:value-of select="."/>
+ </z:index>
+ </xslo:if>
+ </xslo:for-each>
+ <xslo:for-each select="marc:subfield">
+ <xslo:if test="contains('z', @code)">
+ <z:index name="Identifier-standard:w">
+ <xslo:value-of select="."/>
+ </z:index>
+ </xslo:if>
+ </xslo:for-each>
+ </xslo:template>
+ <xslo:template mode="index_subfields" match="marc:datafield[@tag='071']">
+ <xslo:for-each select="marc:subfield">
+ <xslo:if test="contains('a', @code)">
+ <z:index name="Music-number:w Identifier-standard:w">
+ <xslo:value-of select="."/>
+ </z:index>
+ </xslo:if>
+ </xslo:for-each>
+ <xslo:for-each select="marc:subfield">
+ <xslo:if test="contains('z', @code)">
+ <z:index name="Music-number:w Identifier-standard:w">
+ <xslo:value-of select="."/>
+ </z:index>
+ </xslo:if>
+ </xslo:for-each>
<xslo:for-each select="marc:subfield">
<xslo:if test="contains('b', @code)">
- <z:index name="itemtype:w itemtype:p itype:w itype:p">
+ <z:index name="Publisher:w Publisher:p">
+ <xslo:value-of select="."/>
+ </z:index>
+ </xslo:if>
+ </xslo:for-each>
+ </xslo:template>
+ <xslo:template mode="index_subfields" match="marc:datafield[@tag='072']">
+ <xslo:for-each select="marc:subfield">
+ <xslo:if test="contains('a', @code)">
+ <z:index name="UPC:w Identifier-standard:w">
+ <xslo:value-of select="."/>
+ </z:index>
+ </xslo:if>
+ </xslo:for-each>
+ <xslo:for-each select="marc:subfield">
+ <xslo:if test="contains('z', @code)">
+ <z:index name="UPC:w Identifier-standard:w">
+ <xslo:value-of select="."/>
+ </z:index>
+ </xslo:if>
+ </xslo:for-each>
+ </xslo:template>
+ <xslo:template mode="index_subfields" match="marc:datafield[@tag='073']">
+ <xslo:for-each select="marc:subfield">
+ <xslo:if test="contains('a', @code)">
+ <z:index name="EAN:w Identifier-standard:w">
+ <xslo:value-of select="."/>
+ </z:index>
+ </xslo:if>
+ </xslo:for-each>
+ <xslo:for-each select="marc:subfield">
+ <xslo:if test="contains('z', @code)">
+ <z:index name="EAN:w Identifier-standard:w">
<xslo:value-of select="."/>
</z:index>
</xslo:if>
</xslo:for-each>
+ </xslo:template>
+ <xslo:template mode="index_subfields" match="marc:datafield[@tag='200']">
<xslo:for-each select="marc:subfield">
<xslo:if test="contains('b', @code)">
- <z:index name="itype:w itype:p">
+ <z:index name="itemtype:w itemtype:p itype:w itype:p">
<xslo:value-of select="."/>
</z:index>
</xslo:if>
</xslo:for-each>
<xslo:for-each select="marc:subfield">
<xslo:if test="contains('i', @code)">
- <z:index name="title:w title:p Title-cover:w Title-cover:p">
+ <z:index name="Title:w Title:p Title-cover:w Title-cover:p">
<xslo:value-of select="."/>
</z:index>
</xslo:if>
</xslo:if>
</xslo:for-each>
</xslo:template>
- <xslo:template mode="index_subfields" match="marc:datafield[@tag='071']">
+ <xslo:template mode="index_subfields" match="marc:datafield[@tag='100']">
<xslo:for-each select="marc:subfield">
<xslo:if test="contains('a', @code)">
- <z:index name="Music-number:w Identifier-standard:w">
+ <z:index name="tpubdate:s ta:w ta:w ta:w Modified-code:n ln:s char-encoding:n char-encoding:n char-encoding:n script-Title:n">
<xslo:value-of select="."/>
</z:index>
</xslo:if>
</xslo:for-each>
</xslo:template>
- <xslo:template mode="index_subfields" match="marc:datafield[@tag='072']">
+ <xslo:template mode="index_subfields" match="marc:datafield[@tag='101']">
<xslo:for-each select="marc:subfield">
<xslo:if test="contains('a', @code)">
- <z:index name="UPC:w Identifier-standard:w">
+ <z:index name="ln:w">
<xslo:value-of select="."/>
</z:index>
</xslo:if>
</xslo:for-each>
</xslo:template>
- <xslo:template mode="index_subfields" match="marc:datafield[@tag='073']">
+ <xslo:template mode="index_subfields" match="marc:datafield[@tag='102']">
<xslo:for-each select="marc:subfield">
<xslo:if test="contains('a', @code)">
- <z:index name="EAN:w Identifier-standard:w">
+ <z:index name="Country-heading:w">
<xslo:value-of select="."/>
</z:index>
</xslo:if>
</xslo:for-each>
</xslo:template>
- <xslo:template mode="index_subfields" match="marc:datafield[@tag='100']">
+ <xslo:template mode="index_subfields" match="marc:datafield[@tag='105']">
<xslo:for-each select="marc:subfield">
<xslo:if test="contains('a', @code)">
- <z:index name="tpubdate:s ta:w ta:w ta:w Modified-code:n ln:s char-encoding:n char-encoding:n char-encoding:n script-Title:n">
+ <z:index name="Illustration-code:w Content-type:w Content-type:w Content-type:w Content-type:w Conference-code:w Festschrift-indicator:w Index-indicator:w Literature-Code:w Biography-Code:w">
<xslo:value-of select="."/>
</z:index>
</xslo:if>
</xslo:for-each>
</xslo:template>
- <xslo:template mode="index_subfields" match="marc:datafield[@tag='101']">
+ <xslo:template mode="index_subfields" match="marc:datafield[@tag='106']">
<xslo:for-each select="marc:subfield">
<xslo:if test="contains('a', @code)">
- <z:index name="ln:w">
+ <z:index name="itype:w itype:p">
<xslo:value-of select="."/>
</z:index>
</xslo:if>
</xslo:for-each>
</xslo:template>
- <xslo:template mode="index_subfields" match="marc:datafield[@tag='102']">
+ <xslo:template mode="index_subfields" match="marc:datafield[@tag='110']">
<xslo:for-each select="marc:subfield">
<xslo:if test="contains('a', @code)">
- <z:index name="Country-heading:w">
+ <z:index name="Type-Of-Serial:w Frequency-code:w Regularity-code:w Content-type:w Content-type:w Conference-publication-Code:w Title-Page-availability-Code:w Index-availability-Code:w Cumulative-Index-availability-Code:w">
<xslo:value-of select="."/>
</z:index>
</xslo:if>
</xslo:for-each>
</xslo:template>
- <xslo:template mode="index_subfields" match="marc:datafield[@tag='105']">
+ <xslo:template mode="index_subfields" match="marc:datafield[@tag='115']">
<xslo:for-each select="marc:subfield">
<xslo:if test="contains('a', @code)">
- <z:index name="Illustration-code:w Content-type:w Content-type:w Content-type:w Content-type:w Conference-code:w Festschrift-indicator:w Index-indicator:w Literature-Code:w Biography-Code:w">
+ <z:index name="Video-mt:w">
<xslo:value-of select="."/>
</z:index>
</xslo:if>
</xslo:for-each>
</xslo:template>
- <xslo:template mode="index_subfields" match="marc:datafield[@tag='106']">
+ <xslo:template mode="index_subfields" match="marc:datafield[@tag='116']">
<xslo:for-each select="marc:subfield">
<xslo:if test="contains('a', @code)">
- <z:index name="itype:w itype:p">
+ <z:index name="Graphics-type:w Graphics-support:w Graphics-support:w">
<xslo:value-of select="."/>
</z:index>
</xslo:if>
</xslo:for-each>
</xslo:template>
- <xslo:template mode="index_subfields" match="marc:datafield[@tag='110']">
+ <xslo:template mode="index_subfields" match="marc:datafield[@tag='700']">
+ <xslo:for-each select="marc:subfield">
+ <xslo:if test="contains('9', @code)">
+ <z:index name="Koha-Auth-Number:w Koha-Auth-Number:n">
+ <xslo:value-of select="."/>
+ </z:index>
+ </xslo:if>
+ </xslo:for-each>
<xslo:for-each select="marc:subfield">
<xslo:if test="contains('a', @code)">
- <z:index name="Type-Of-Serial:w Frequency-code:w Regularity-code:w Content-type:w Content-type:w Conference-publication-Code:w Title-Page-availability-Code:w Index-availability-Code:w Cumulative-Index-availability-Code:w">
+ <z:index name="Author:w Personal-name:w Author:p Personal-name:p Personal-name:w Author:s">
<xslo:value-of select="."/>
</z:index>
</xslo:if>
</xslo:for-each>
</xslo:template>
- <xslo:template mode="index_subfields" match="marc:datafield[@tag='115']">
+ <xslo:template mode="index_subfields" match="marc:datafield[@tag='701']">
<xslo:for-each select="marc:subfield">
- <xslo:if test="contains('a', @code)">
- <z:index name="Video-mt:w">
+ <xslo:if test="contains('9', @code)">
+ <z:index name="Koha-Auth-Number:w Koha-Auth-Number:n">
<xslo:value-of select="."/>
</z:index>
</xslo:if>
</xslo:for-each>
</xslo:template>
- <xslo:template mode="index_subfields" match="marc:datafield[@tag='116']">
+ <xslo:template mode="index_subfields" match="marc:datafield[@tag='702']">
<xslo:for-each select="marc:subfield">
- <xslo:if test="contains('a', @code)">
- <z:index name="Graphics-type:w Graphics-support:w Graphics-support:w">
+ <xslo:if test="contains('9', @code)">
+ <z:index name="Koha-Auth-Number:w Koha-Auth-Number:n">
<xslo:value-of select="."/>
</z:index>
</xslo:if>
</xslo:for-each>
</xslo:template>
- <xslo:template mode="index_subfields" match="marc:datafield[@tag='680']">
+ <xslo:template mode="index_subfields" match="marc:datafield[@tag='710']">
<xslo:for-each select="marc:subfield">
- <xslo:if test="contains('b', @code)">
- <z:index name="LC-call-number:s">
+ <xslo:if test="contains('9', @code)">
+ <z:index name="Koha-Auth-Number:w Koha-Auth-Number:n">
<xslo:value-of select="."/>
</z:index>
</xslo:if>
</xslo:for-each>
</xslo:template>
- <xslo:template mode="index_subfields" match="marc:datafield[@tag='700']">
+ <xslo:template mode="index_subfields" match="marc:datafield[@tag='711']">
<xslo:for-each select="marc:subfield">
<xslo:if test="contains('9', @code)">
<z:index name="Koha-Auth-Number:w Koha-Auth-Number:n">
</z:index>
</xslo:if>
</xslo:for-each>
+ </xslo:template>
+ <xslo:template mode="index_subfields" match="marc:datafield[@tag='712']">
<xslo:for-each select="marc:subfield">
- <xslo:if test="contains('a', @code)">
- <z:index name="Author:w Personal-name:w Author:p Personal-name:p Personal-name:w Author:s">
+ <xslo:if test="contains('9', @code)">
+ <z:index name="Koha-Auth-Number:w Koha-Auth-Number:n">
<xslo:value-of select="."/>
</z:index>
</xslo:if>
</xslo:for-each>
</xslo:template>
- <xslo:template mode="index_subfields" match="marc:datafield[@tag='701']">
+ <xslo:template mode="index_subfields" match="marc:datafield[@tag='716']">
<xslo:for-each select="marc:subfield">
<xslo:if test="contains('9', @code)">
<z:index name="Koha-Auth-Number:w Koha-Auth-Number:n">
</xslo:if>
</xslo:for-each>
</xslo:template>
- <xslo:template mode="index_subfields" match="marc:datafield[@tag='702']">
+ <xslo:template mode="index_subfields" match="marc:datafield[@tag='720']">
<xslo:for-each select="marc:subfield">
<xslo:if test="contains('9', @code)">
<z:index name="Koha-Auth-Number:w Koha-Auth-Number:n">
</xslo:if>
</xslo:for-each>
</xslo:template>
- <xslo:template mode="index_subfields" match="marc:datafield[@tag='710']">
+ <xslo:template mode="index_subfields" match="marc:datafield[@tag='721']">
<xslo:for-each select="marc:subfield">
<xslo:if test="contains('9', @code)">
<z:index name="Koha-Auth-Number:w Koha-Auth-Number:n">
</xslo:if>
</xslo:for-each>
</xslo:template>
- <xslo:template mode="index_subfields" match="marc:datafield[@tag='711']">
+ <xslo:template mode="index_subfields" match="marc:datafield[@tag='722']">
<xslo:for-each select="marc:subfield">
<xslo:if test="contains('9', @code)">
<z:index name="Koha-Auth-Number:w Koha-Auth-Number:n">
</xslo:if>
</xslo:for-each>
</xslo:template>
- <xslo:template mode="index_subfields" match="marc:datafield[@tag='712']">
+ <xslo:template mode="index_subfields" match="marc:datafield[@tag='730']">
<xslo:for-each select="marc:subfield">
<xslo:if test="contains('9', @code)">
<z:index name="Koha-Auth-Number:w Koha-Auth-Number:n">
</xslo:if>
</xslo:for-each>
</xslo:template>
+ <xslo:template mode="index_subfields" match="marc:datafield[@tag='230']">
+ <xslo:for-each select="marc:subfield">
+ <xslo:if test="contains('a', @code)">
+ <z:index name="Electronic-ressource:w">
+ <xslo:value-of select="."/>
+ </z:index>
+ </xslo:if>
+ </xslo:for-each>
+ </xslo:template>
<xslo:template mode="index_subfields" match="marc:datafield[@tag='210']">
<xslo:for-each select="marc:subfield">
<xslo:if test="contains('a', @code)">
</xslo:if>
</xslo:for-each>
</xslo:template>
- <xslo:template mode="index_subfields" match="marc:datafield[@tag='230']">
- <xslo:for-each select="marc:subfield">
- <xslo:if test="contains('a', @code)">
- <z:index name="Electronic-ressource:w">
- <xslo:value-of select="."/>
- </z:index>
- </xslo:if>
- </xslo:for-each>
- </xslo:template>
<xslo:template mode="index_subfields" match="marc:datafield[@tag='300']">
<xslo:for-each select="marc:subfield">
<xslo:if test="contains('a', @code)">
</xslo:if>
</xslo:for-each>
</xslo:template>
- <xslo:template mode="index_subfields" match="marc:datafield[@tag='308']">
- <xslo:for-each select="marc:subfield">
- <xslo:if test="contains('a', @code)">
- <z:index name="Note:w Note:p">
- <xslo:value-of select="."/>
- </z:index>
- </xslo:if>
- </xslo:for-each>
- </xslo:template>
<xslo:template mode="index_subfields" match="marc:datafield[@tag='310']">
<xslo:for-each select="marc:subfield">
<xslo:if test="contains('a', @code)">
</xslo:if>
</xslo:for-each>
</xslo:template>
- <xslo:template mode="index_subfields" match="marc:datafield[@tag='328']">
+ <xslo:template mode="index_subfields" match="marc:datafield[@tag='330']">
<xslo:for-each select="marc:subfield">
<xslo:if test="contains('a', @code)">
- <z:index name="Note:w Note:p">
+ <z:index name="Abstract:w Note:w Abstract:p Note:p">
<xslo:value-of select="."/>
</z:index>
</xslo:if>
</xslo:for-each>
</xslo:template>
- <xslo:template mode="index_subfields" match="marc:datafield[@tag='330']">
+ <xslo:template mode="index_subfields" match="marc:datafield[@tag='332']">
<xslo:for-each select="marc:subfield">
<xslo:if test="contains('a', @code)">
- <z:index name="Abstract:w Note:w Abstract:p Note:p">
+ <z:index name="Note:w Note:p">
<xslo:value-of select="."/>
</z:index>
</xslo:if>
</xslo:for-each>
</xslo:template>
- <xslo:template mode="index_subfields" match="marc:datafield[@tag='332']">
+ <xslo:template mode="index_subfields" match="marc:datafield[@tag='333']">
<xslo:for-each select="marc:subfield">
<xslo:if test="contains('a', @code)">
<z:index name="Note:w Note:p">
</xslo:if>
</xslo:for-each>
</xslo:template>
- <xslo:template mode="index_subfields" match="marc:datafield[@tag='333']">
+ <xslo:template mode="index_subfields" match="marc:datafield[@tag='334']">
<xslo:for-each select="marc:subfield">
<xslo:if test="contains('a', @code)">
<z:index name="Note:w Note:p">
</xslo:if>
</xslo:for-each>
</xslo:template>
- <xslo:template mode="index_subfields" match="marc:datafield[@tag='400']">
+ <xslo:template mode="index_subfields" match="marc:datafield[@tag='410']">
+ <xslo:for-each select="marc:subfield">
+ <xslo:if test="contains('t', @code)">
+ <z:index name="Title-series:w Title-series:p">
+ <xslo:value-of select="."/>
+ </z:index>
+ </xslo:if>
+ </xslo:for-each>
+ <xslo:for-each select="marc:subfield">
+ <xslo:if test="contains('d', @code)">
+ <z:index name="pubdate:n">
+ <xslo:value-of select="."/>
+ </z:index>
+ </xslo:if>
+ </xslo:for-each>
+ </xslo:template>
+ <xslo:template mode="index_subfields" match="marc:datafield[@tag='411']">
+ <xslo:for-each select="marc:subfield">
+ <xslo:if test="contains('t', @code)">
+ <z:index name="Title:w Title:p">
+ <xslo:value-of select="."/>
+ </z:index>
+ </xslo:if>
+ </xslo:for-each>
+ </xslo:template>
+ <xslo:template mode="index_subfields" match="marc:datafield[@tag='412']">
<xslo:for-each select="marc:subfield">
<xslo:if test="contains('t', @code)">
<z:index name="Title:w Title:p">
</xslo:if>
</xslo:for-each>
</xslo:template>
- <xslo:template mode="index_subfields" match="marc:datafield[@tag='401']">
+ <xslo:template mode="index_subfields" match="marc:datafield[@tag='413']">
<xslo:for-each select="marc:subfield">
<xslo:if test="contains('t', @code)">
<z:index name="Title:w Title:p">
</xslo:if>
</xslo:for-each>
</xslo:template>
- <xslo:template mode="index_subfields" match="marc:datafield[@tag='403']">
+ <xslo:template mode="index_subfields" match="marc:datafield[@tag='421']">
<xslo:for-each select="marc:subfield">
<xslo:if test="contains('t', @code)">
- <z:index name="Title:w Title:p Title-Uniform:w Title-Uniform:p">
+ <z:index name="Title:w Title:p">
+ <xslo:value-of select="."/>
+ </z:index>
+ </xslo:if>
+ </xslo:for-each>
+ </xslo:template>
+ <xslo:template mode="index_subfields" match="marc:datafield[@tag='422']">
+ <xslo:for-each select="marc:subfield">
+ <xslo:if test="contains('t', @code)">
+ <z:index name="Title:w Title:p">
+ <xslo:value-of select="."/>
+ </z:index>
+ </xslo:if>
+ </xslo:for-each>
+ </xslo:template>
+ <xslo:template mode="index_subfields" match="marc:datafield[@tag='423']">
+ <xslo:for-each select="marc:subfield">
+ <xslo:if test="contains('t', @code)">
+ <z:index name="Title:w Title:p">
+ <xslo:value-of select="."/>
+ </z:index>
+ </xslo:if>
+ </xslo:for-each>
+ </xslo:template>
+ <xslo:template mode="index_subfields" match="marc:datafield[@tag='424']">
+ <xslo:for-each select="marc:subfield">
+ <xslo:if test="contains('t', @code)">
+ <z:index name="Title:w Title:p">
+ <xslo:value-of select="."/>
+ </z:index>
+ </xslo:if>
+ </xslo:for-each>
+ </xslo:template>
+ <xslo:template mode="index_subfields" match="marc:datafield[@tag='425']">
+ <xslo:for-each select="marc:subfield">
+ <xslo:if test="contains('t', @code)">
+ <z:index name="Title:w Title:p">
+ <xslo:value-of select="."/>
+ </z:index>
+ </xslo:if>
+ </xslo:for-each>
+ </xslo:template>
+ <xslo:template mode="index_subfields" match="marc:datafield[@tag='430']">
+ <xslo:for-each select="marc:subfield">
+ <xslo:if test="contains('t', @code)">
+ <z:index name="Title:w Title:p">
<xslo:value-of select="."/>
</z:index>
</xslo:if>
</xslo:if>
</xslo:for-each>
</xslo:template>
- <xslo:template mode="index_subfields" match="marc:datafield[@tag='410']">
+ <xslo:template mode="index_subfields" match="marc:datafield[@tag='431']">
<xslo:for-each select="marc:subfield">
<xslo:if test="contains('t', @code)">
- <z:index name="Title-series:w Title-series:p">
+ <z:index name="Title:w Title:p">
<xslo:value-of select="."/>
</z:index>
</xslo:if>
</xslo:if>
</xslo:for-each>
</xslo:template>
- <xslo:template mode="index_subfields" match="marc:datafield[@tag='412']">
+ <xslo:template mode="index_subfields" match="marc:datafield[@tag='432']">
<xslo:for-each select="marc:subfield">
<xslo:if test="contains('t', @code)">
<z:index name="Title:w Title:p">
</xslo:if>
</xslo:for-each>
</xslo:template>
- <xslo:template mode="index_subfields" match="marc:datafield[@tag='413']">
+ <xslo:template mode="index_subfields" match="marc:datafield[@tag='433']">
+ <xslo:for-each select="marc:subfield">
+ <xslo:if test="contains('t', @code)">
+ <z:index name="Title:w Title:p">
+ <xslo:value-of select="."/>
+ </z:index>
+ </xslo:if>
+ </xslo:for-each>
+ </xslo:template>
+ <xslo:template mode="index_subfields" match="marc:datafield[@tag='434']">
+ <xslo:for-each select="marc:subfield">
+ <xslo:if test="contains('t', @code)">
+ <z:index name="Title:w Title:p">
+ <xslo:value-of select="."/>
+ </z:index>
+ </xslo:if>
+ </xslo:for-each>
+ </xslo:template>
+ <xslo:template mode="index_subfields" match="marc:datafield[@tag='435']">
+ <xslo:for-each select="marc:subfield">
+ <xslo:if test="contains('t', @code)">
+ <z:index name="Title:w Title:p">
+ <xslo:value-of select="."/>
+ </z:index>
+ </xslo:if>
+ </xslo:for-each>
+ </xslo:template>
+ <xslo:template mode="index_subfields" match="marc:datafield[@tag='436']">
+ <xslo:for-each select="marc:subfield">
+ <xslo:if test="contains('t', @code)">
+ <z:index name="Title:w Title:p">
+ <xslo:value-of select="."/>
+ </z:index>
+ </xslo:if>
+ </xslo:for-each>
+ </xslo:template>
+ <xslo:template mode="index_subfields" match="marc:datafield[@tag='437']">
+ <xslo:for-each select="marc:subfield">
+ <xslo:if test="contains('t', @code)">
+ <z:index name="Title:w Title:p">
+ <xslo:value-of select="."/>
+ </z:index>
+ </xslo:if>
+ </xslo:for-each>
+ </xslo:template>
+ <xslo:template mode="index_subfields" match="marc:datafield[@tag='440']">
<xslo:for-each select="marc:subfield">
<xslo:if test="contains('t', @code)">
<z:index name="Title:w Title:p">
</xslo:if>
</xslo:for-each>
</xslo:template>
- <xslo:template mode="index_subfields" match="marc:datafield[@tag='414']">
+ <xslo:template mode="index_subfields" match="marc:datafield[@tag='441']">
<xslo:for-each select="marc:subfield">
<xslo:if test="contains('t', @code)">
<z:index name="Title:w Title:p">
</xslo:if>
</xslo:for-each>
</xslo:template>
- <xslo:template mode="index_subfields" match="marc:datafield[@tag='415']">
+ <xslo:template mode="index_subfields" match="marc:datafield[@tag='442']">
+ <xslo:for-each select="marc:subfield">
+ <xslo:if test="contains('t', @code)">
+ <z:index name="Title:w Title:p">
+ <xslo:value-of select="."/>
+ </z:index>
+ </xslo:if>
+ </xslo:for-each>
+ </xslo:template>
+ <xslo:template mode="index_subfields" match="marc:datafield[@tag='443']">
+ <xslo:for-each select="marc:subfield">
+ <xslo:if test="contains('t', @code)">
+ <z:index name="Title:w Title:p">
+ <xslo:value-of select="."/>
+ </z:index>
+ </xslo:if>
+ </xslo:for-each>
+ </xslo:template>
+ <xslo:template mode="index_subfields" match="marc:datafield[@tag='444']">
+ <xslo:for-each select="marc:subfield">
+ <xslo:if test="contains('t', @code)">
+ <z:index name="Title:w Title:p">
+ <xslo:value-of select="."/>
+ </z:index>
+ </xslo:if>
+ </xslo:for-each>
+ </xslo:template>
+ <xslo:template mode="index_subfields" match="marc:datafield[@tag='445']">
<xslo:for-each select="marc:subfield">
<xslo:if test="contains('t', @code)">
<z:index name="Title:w Title:p">
</xslo:if>
</xslo:for-each>
</xslo:template>
- <xslo:template mode="index_subfields" match="marc:datafield[@tag='416']">
+ <xslo:template mode="index_subfields" match="marc:datafield[@tag='446']">
+ <xslo:for-each select="marc:subfield">
+ <xslo:if test="contains('t', @code)">
+ <z:index name="Title:w Title:p">
+ <xslo:value-of select="."/>
+ </z:index>
+ </xslo:if>
+ </xslo:for-each>
+ </xslo:template>
+ <xslo:template mode="index_subfields" match="marc:datafield[@tag='447']">
+ <xslo:for-each select="marc:subfield">
+ <xslo:if test="contains('t', @code)">
+ <z:index name="Title:w Title:p">
+ <xslo:value-of select="."/>
+ </z:index>
+ </xslo:if>
+ </xslo:for-each>
+ </xslo:template>
+ <xslo:template mode="index_subfields" match="marc:datafield[@tag='448']">
+ <xslo:for-each select="marc:subfield">
+ <xslo:if test="contains('t', @code)">
+ <z:index name="Title:w Title:p">
+ <xslo:value-of select="."/>
+ </z:index>
+ </xslo:if>
+ </xslo:for-each>
+ </xslo:template>
+ <xslo:template mode="index_subfields" match="marc:datafield[@tag='451']">
+ <xslo:for-each select="marc:subfield">
+ <xslo:if test="contains('t', @code)">
+ <z:index name="Title:w Title:p">
+ <xslo:value-of select="."/>
+ </z:index>
+ </xslo:if>
+ </xslo:for-each>
+ </xslo:template>
+ <xslo:template mode="index_subfields" match="marc:datafield[@tag='452']">
+ <xslo:for-each select="marc:subfield">
+ <xslo:if test="contains('t', @code)">
+ <z:index name="Title:w Title:p">
+ <xslo:value-of select="."/>
+ </z:index>
+ </xslo:if>
+ </xslo:for-each>
+ </xslo:template>
+ <xslo:template mode="index_subfields" match="marc:datafield[@tag='453']">
+ <xslo:for-each select="marc:subfield">
+ <xslo:if test="contains('t', @code)">
+ <z:index name="Title:w Title:p">
+ <xslo:value-of select="."/>
+ </z:index>
+ </xslo:if>
+ </xslo:for-each>
+ </xslo:template>
+ <xslo:template mode="index_subfields" match="marc:datafield[@tag='454']">
+ <xslo:for-each select="marc:subfield">
+ <xslo:if test="contains('t', @code)">
+ <z:index name="Title:w Title:p">
+ <xslo:value-of select="."/>
+ </z:index>
+ </xslo:if>
+ </xslo:for-each>
+ </xslo:template>
+ <xslo:template mode="index_subfields" match="marc:datafield[@tag='455']">
+ <xslo:for-each select="marc:subfield">
+ <xslo:if test="contains('t', @code)">
+ <z:index name="Title:w Title:p">
+ <xslo:value-of select="."/>
+ </z:index>
+ </xslo:if>
+ </xslo:for-each>
+ </xslo:template>
+ <xslo:template mode="index_subfields" match="marc:datafield[@tag='456']">
<xslo:for-each select="marc:subfield">
<xslo:if test="contains('t', @code)">
<z:index name="Title:w Title:p">
</z:index>
</xslo:if>
</xslo:for-each>
+ </xslo:template>
+ <xslo:template mode="index_subfields" match="marc:datafield[@tag='461']">
+ <xslo:for-each select="marc:subfield">
+ <xslo:if test="contains('t', @code)">
+ <z:index name="Title:w Title-host:w title-host:p">
+ <xslo:value-of select="."/>
+ </z:index>
+ </xslo:if>
+ </xslo:for-each>
+ <xslo:for-each select="marc:subfield">
+ <xslo:if test="contains('9', @code)">
+ <z:index name="Host-Item-Number:w">
+ <xslo:value-of select="."/>
+ </z:index>
+ </xslo:if>
+ </xslo:for-each>
<xslo:for-each select="marc:subfield">
<xslo:if test="contains('d', @code)">
<z:index name="pubdate:n">
</z:index>
</xslo:if>
</xslo:for-each>
+ <xslo:for-each select="marc:subfield">
+ <xslo:if test="contains('9', @code)">
+ <z:index name="Host-Item-Number:w">
+ <xslo:value-of select="."/>
+ </z:index>
+ </xslo:if>
+ </xslo:for-each>
</xslo:template>
- <xslo:template mode="index_subfields" match="marc:datafield[@tag='417']">
+ <xslo:template mode="index_subfields" match="marc:datafield[@tag='462']">
+ <xslo:for-each select="marc:subfield">
+ <xslo:if test="contains('t', @code)">
+ <z:index name="Title:w Title:p">
+ <xslo:value-of select="."/>
+ </z:index>
+ </xslo:if>
+ </xslo:for-each>
+ </xslo:template>
+ <xslo:template mode="index_subfields" match="marc:datafield[@tag='463']">
+ <xslo:for-each select="marc:subfield">
+ <xslo:if test="contains('t', @code)">
+ <z:index name="Title:w Title:p">
+ <xslo:value-of select="."/>
+ </z:index>
+ </xslo:if>
+ </xslo:for-each>
+ </xslo:template>
+ <xslo:template mode="index_subfields" match="marc:datafield[@tag='464']">
+ <xslo:for-each select="marc:subfield">
+ <xslo:if test="contains('t', @code)">
+ <z:index name="Title:w Title-host:w title-host:p Title:p">
+ <xslo:value-of select="."/>
+ </z:index>
+ </xslo:if>
+ </xslo:for-each>
+ </xslo:template>
+ <xslo:template mode="index_subfields" match="marc:datafield[@tag='470']">
<xslo:for-each select="marc:subfield">
<xslo:if test="contains('t', @code)">
<z:index name="Title:w Title:p">
</z:index>
</xslo:if>
</xslo:for-each>
+ </xslo:template>
+ <xslo:template mode="index_subfields" match="marc:datafield[@tag='481']">
<xslo:for-each select="marc:subfield">
- <xslo:if test="contains('d', @code)">
- <z:index name="pubdate:n">
+ <xslo:if test="contains('t', @code)">
+ <z:index name="Title:w Title:p">
<xslo:value-of select="."/>
</z:index>
</xslo:if>
</xslo:for-each>
</xslo:template>
- <xslo:template mode="index_subfields" match="marc:datafield[@tag='418']">
+ <xslo:template mode="index_subfields" match="marc:datafield[@tag='482']">
<xslo:for-each select="marc:subfield">
<xslo:if test="contains('t', @code)">
<z:index name="Title:w Title:p">
</z:index>
</xslo:if>
</xslo:for-each>
+ </xslo:template>
+ <xslo:template mode="index_subfields" match="marc:datafield[@tag='488']">
<xslo:for-each select="marc:subfield">
- <xslo:if test="contains('d', @code)">
- <z:index name="pubdate:n">
+ <xslo:if test="contains('t', @code)">
+ <z:index name="Title:w Title:p">
<xslo:value-of select="."/>
</z:index>
</xslo:if>
</xslo:for-each>
</xslo:template>
- <xslo:template mode="index_subfields" match="marc:datafield[@tag='419']">
+ <xslo:template mode="index_subfields" match="marc:datafield[@tag='400']">
<xslo:for-each select="marc:subfield">
<xslo:if test="contains('t', @code)">
<z:index name="Title:w Title:p">
</xslo:if>
</xslo:for-each>
</xslo:template>
- <xslo:template mode="index_subfields" match="marc:datafield[@tag='420']">
+ <xslo:template mode="index_subfields" match="marc:datafield[@tag='401']">
<xslo:for-each select="marc:subfield">
<xslo:if test="contains('t', @code)">
<z:index name="Title:w Title:p">
</xslo:if>
</xslo:for-each>
</xslo:template>
- <xslo:template mode="index_subfields" match="marc:datafield[@tag='430']">
+ <xslo:template mode="index_subfields" match="marc:datafield[@tag='403']">
<xslo:for-each select="marc:subfield">
<xslo:if test="contains('t', @code)">
- <z:index name="Title:w Title:p">
+ <z:index name="Title:w Title:p Title-Uniform:w Title-Uniform:p">
<xslo:value-of select="."/>
</z:index>
</xslo:if>
</xslo:if>
</xslo:for-each>
</xslo:template>
- <xslo:template mode="index_subfields" match="marc:datafield[@tag='431']">
+ <xslo:template mode="index_subfields" match="marc:datafield[@tag='414']">
<xslo:for-each select="marc:subfield">
<xslo:if test="contains('t', @code)">
<z:index name="Title:w Title:p">
</xslo:if>
</xslo:for-each>
</xslo:template>
- <xslo:template mode="index_subfields" match="marc:datafield[@tag='432']">
+ <xslo:template mode="index_subfields" match="marc:datafield[@tag='415']">
<xslo:for-each select="marc:subfield">
<xslo:if test="contains('t', @code)">
<z:index name="Title:w Title:p">
</xslo:if>
</xslo:for-each>
</xslo:template>
- <xslo:template mode="index_subfields" match="marc:datafield[@tag='440']">
+ <xslo:template mode="index_subfields" match="marc:datafield[@tag='416']">
<xslo:for-each select="marc:subfield">
<xslo:if test="contains('t', @code)">
<z:index name="Title:w Title:p">
</xslo:if>
</xslo:for-each>
</xslo:template>
- <xslo:template mode="index_subfields" match="marc:datafield[@tag='441']">
+ <xslo:template mode="index_subfields" match="marc:datafield[@tag='417']">
<xslo:for-each select="marc:subfield">
<xslo:if test="contains('t', @code)">
<z:index name="Title:w Title:p">
</xslo:if>
</xslo:for-each>
</xslo:template>
- <xslo:template mode="index_subfields" match="marc:datafield[@tag='445']">
+ <xslo:template mode="index_subfields" match="marc:datafield[@tag='418']">
<xslo:for-each select="marc:subfield">
<xslo:if test="contains('t', @code)">
<z:index name="Title:w Title:p">
</xslo:if>
</xslo:for-each>
</xslo:template>
- <xslo:template mode="index_subfields" match="marc:datafield[@tag='461']">
+ <xslo:template mode="index_subfields" match="marc:datafield[@tag='419']">
<xslo:for-each select="marc:subfield">
<xslo:if test="contains('t', @code)">
- <z:index name="Title:w Title-host:w title-host:p">
+ <z:index name="Title:w Title:p">
<xslo:value-of select="."/>
</z:index>
</xslo:if>
</z:index>
</xslo:if>
</xslo:for-each>
+ </xslo:template>
+ <xslo:template mode="index_subfields" match="marc:datafield[@tag='420']">
<xslo:for-each select="marc:subfield">
- <xslo:if test="contains('9', @code)">
- <z:index name="Host-Item-Number:w">
+ <xslo:if test="contains('t', @code)">
+ <z:index name="Title:w Title:p">
<xslo:value-of select="."/>
</z:index>
</xslo:if>
</xslo:for-each>
- </xslo:template>
- <xslo:template mode="index_subfields" match="marc:datafield[@tag='464']">
<xslo:for-each select="marc:subfield">
- <xslo:if test="contains('t', @code)">
- <z:index name="Title:w Title-host:w title-host:p Title:p">
+ <xslo:if test="contains('d', @code)">
+ <z:index name="pubdate:n">
<xslo:value-of select="."/>
</z:index>
</xslo:if>
</xslo:if>
</xslo:for-each>
</xslo:template>
+ <xslo:template mode="index_subfields" match="marc:datafield[@tag='560']">
+ <xslo:for-each select="marc:subfield">
+ <xslo:if test="contains('9', @code)">
+ <z:index name="Koha-Auth-Number:w Koha-Auth-Number:n">
+ <xslo:value-of select="."/>
+ </z:index>
+ </xslo:if>
+ </xslo:for-each>
+ </xslo:template>
<xslo:template mode="index_subfields" match="marc:datafield[@tag='600']">
<xslo:for-each select="marc:subfield">
<xslo:if test="contains('9', @code)">
</xslo:if>
</xslo:for-each>
</xslo:template>
+ <xslo:template mode="index_subfields" match="marc:datafield[@tag='608']">
+ <xslo:for-each select="marc:subfield">
+ <xslo:if test="contains('9', @code)">
+ <z:index name="Koha-Auth-Number:w Koha-Auth-Number:n">
+ <xslo:value-of select="."/>
+ </z:index>
+ </xslo:if>
+ </xslo:for-each>
+ </xslo:template>
<xslo:template mode="index_subfields" match="marc:datafield[@tag='610']">
<xslo:for-each select="marc:subfield">
<xslo:if test="contains('9', @code)">
</xslo:if>
</xslo:for-each>
</xslo:template>
+ <xslo:template mode="index_subfields" match="marc:datafield[@tag='615']">
+ <xslo:for-each select="marc:subfield">
+ <xslo:if test="contains('9', @code)">
+ <z:index name="Koha-Auth-Number:w Koha-Auth-Number:n">
+ <xslo:value-of select="."/>
+ </z:index>
+ </xslo:if>
+ </xslo:for-each>
+ </xslo:template>
+ <xslo:template mode="index_subfields" match="marc:datafield[@tag='616']">
+ <xslo:for-each select="marc:subfield">
+ <xslo:if test="contains('9', @code)">
+ <z:index name="Koha-Auth-Number:w Koha-Auth-Number:n">
+ <xslo:value-of select="."/>
+ </z:index>
+ </xslo:if>
+ </xslo:for-each>
+ </xslo:template>
+ <xslo:template mode="index_subfields" match="marc:datafield[@tag='617']">
+ <xslo:for-each select="marc:subfield">
+ <xslo:if test="contains('9', @code)">
+ <z:index name="Koha-Auth-Number:w Koha-Auth-Number:n">
+ <xslo:value-of select="."/>
+ </z:index>
+ </xslo:if>
+ </xslo:for-each>
+ </xslo:template>
+ <xslo:template mode="index_subfields" match="marc:datafield[@tag='620']">
+ <xslo:for-each select="marc:subfield">
+ <xslo:if test="contains('9', @code)">
+ <z:index name="Koha-Auth-Number:w Koha-Auth-Number:n">
+ <xslo:value-of select="."/>
+ </z:index>
+ </xslo:if>
+ </xslo:for-each>
+ </xslo:template>
+ <xslo:template mode="index_subfields" match="marc:datafield[@tag='621']">
+ <xslo:for-each select="marc:subfield">
+ <xslo:if test="contains('9', @code)">
+ <z:index name="Koha-Auth-Number:w Koha-Auth-Number:n">
+ <xslo:value-of select="."/>
+ </z:index>
+ </xslo:if>
+ </xslo:for-each>
+ </xslo:template>
<xslo:template mode="index_subfields" match="marc:datafield[@tag='630']">
<xslo:for-each select="marc:subfield">
<xslo:if test="contains('9', @code)">
</xslo:if>
</xslo:for-each>
</xslo:template>
+ <xslo:template mode="index_subfields" match="marc:datafield[@tag='675']">
+ <xslo:for-each select="marc:subfield">
+ <xslo:if test="contains('a', @code)">
+ <z:index name="UDC-classification:w UDC-classification:p UDC-classification:s">
+ <xslo:value-of select="."/>
+ </z:index>
+ </xslo:if>
+ </xslo:for-each>
+ </xslo:template>
<xslo:template mode="index_subfields" match="marc:datafield[@tag='676']">
<xslo:for-each select="marc:subfield">
<xslo:if test="contains('a', @code)">
- <z:index name="Dewey-classification:w Dewey-classification:s">
+ <z:index name="Dewey-classification:w Dewey-classification:p Dewey-classification:s">
+ <xslo:value-of select="."/>
+ </z:index>
+ </xslo:if>
+ </xslo:for-each>
+ </xslo:template>
+ <xslo:template mode="index_subfields" match="marc:datafield[@tag='680']">
+ <xslo:for-each select="marc:subfield">
+ <xslo:if test="contains('b', @code)">
+ <z:index name="LC-call-number:s">
<xslo:value-of select="."/>
</z:index>
</xslo:if>
</xslo:if>
</xslo:for-each>
</xslo:template>
- <xslo:template mode="index_data_field" match="marc:datafield[@tag='680']">
- <z:index name="LC-call-number:w">
+ <xslo:template mode="index_data_field" match="marc:datafield[@tag='700']">
+ <z:index name="Author:w Personal-name:w Author:p Personal-name:p Personal-name:p">
<xslo:variable name="raw_heading">
<xslo:for-each select="marc:subfield">
<xslo:if test="position() > 1">
<xslo:value-of select="normalize-space($raw_heading)"/>
</z:index>
</xslo:template>
- <xslo:template mode="index_data_field" match="marc:datafield[@tag='700']">
+ <xslo:template mode="index_data_field" match="marc:datafield[@tag='701']">
<z:index name="Author:w Personal-name:w Author:p Personal-name:p Personal-name:p">
<xslo:variable name="raw_heading">
<xslo:for-each select="marc:subfield">
<xslo:value-of select="normalize-space($raw_heading)"/>
</z:index>
</xslo:template>
- <xslo:template mode="index_data_field" match="marc:datafield[@tag='701']">
+ <xslo:template mode="index_data_field" match="marc:datafield[@tag='702']">
<z:index name="Author:w Personal-name:w Author:p Personal-name:p Personal-name:p">
<xslo:variable name="raw_heading">
<xslo:for-each select="marc:subfield">
<xslo:value-of select="normalize-space($raw_heading)"/>
</z:index>
</xslo:template>
- <xslo:template mode="index_data_field" match="marc:datafield[@tag='702']">
- <z:index name="Author:w Personal-name:w Author:p Personal-name:p Personal-name:p">
+ <xslo:template mode="index_data_field" match="marc:datafield[@tag='710']">
+ <z:index name="Author:w Author-name-corporate:w Author-name-conference:w Corporate-name:w Conference-name:w Author:p Author-name-corporate:p Author-name-conference:p Corporate-name:p Conference-name:p">
<xslo:variable name="raw_heading">
<xslo:for-each select="marc:subfield">
<xslo:if test="position() > 1">
<xslo:value-of select="normalize-space($raw_heading)"/>
</z:index>
</xslo:template>
- <xslo:template mode="index_data_field" match="marc:datafield[@tag='710']">
+ <xslo:template mode="index_data_field" match="marc:datafield[@tag='711']">
<z:index name="Author:w Author-name-corporate:w Author-name-conference:w Corporate-name:w Conference-name:w Author:p Author-name-corporate:p Author-name-conference:p Corporate-name:p Conference-name:p">
<xslo:variable name="raw_heading">
<xslo:for-each select="marc:subfield">
<xslo:value-of select="normalize-space($raw_heading)"/>
</z:index>
</xslo:template>
- <xslo:template mode="index_data_field" match="marc:datafield[@tag='711']">
+ <xslo:template mode="index_data_field" match="marc:datafield[@tag='712']">
<z:index name="Author:w Author-name-corporate:w Author-name-conference:w Corporate-name:w Conference-name:w Author:p Author-name-corporate:p Author-name-conference:p Corporate-name:p Conference-name:p">
<xslo:variable name="raw_heading">
<xslo:for-each select="marc:subfield">
<xslo:value-of select="normalize-space($raw_heading)"/>
</z:index>
</xslo:template>
- <xslo:template mode="index_data_field" match="marc:datafield[@tag='712']">
- <z:index name="Author:w Author-name-corporate:w Author-name-conference:w Corporate-name:w Conference-name:w Author:p Author-name-corporate:p Author-name-conference:p Corporate-name:p Conference-name:p">
+ <xslo:template mode="index_data_field" match="marc:datafield[@tag='716']">
+ <z:index name="Author:w Author:p">
+ <xslo:variable name="raw_heading">
+ <xslo:for-each select="marc:subfield">
+ <xslo:if test="position() > 1">
+ <xslo:value-of select="substring(' ', 1, 1)"/>
+ </xslo:if>
+ <xslo:value-of select="."/>
+ </xslo:for-each>
+ </xslo:variable>
+ <xslo:value-of select="normalize-space($raw_heading)"/>
+ </z:index>
+ </xslo:template>
+ <xslo:template mode="index_data_field" match="marc:datafield[@tag='720']">
+ <z:index name="Author:w Author:p">
+ <xslo:variable name="raw_heading">
+ <xslo:for-each select="marc:subfield">
+ <xslo:if test="position() > 1">
+ <xslo:value-of select="substring(' ', 1, 1)"/>
+ </xslo:if>
+ <xslo:value-of select="."/>
+ </xslo:for-each>
+ </xslo:variable>
+ <xslo:value-of select="normalize-space($raw_heading)"/>
+ </z:index>
+ </xslo:template>
+ <xslo:template mode="index_data_field" match="marc:datafield[@tag='721']">
+ <z:index name="Author:w Author:p">
+ <xslo:variable name="raw_heading">
+ <xslo:for-each select="marc:subfield">
+ <xslo:if test="position() > 1">
+ <xslo:value-of select="substring(' ', 1, 1)"/>
+ </xslo:if>
+ <xslo:value-of select="."/>
+ </xslo:for-each>
+ </xslo:variable>
+ <xslo:value-of select="normalize-space($raw_heading)"/>
+ </z:index>
+ </xslo:template>
+ <xslo:template mode="index_data_field" match="marc:datafield[@tag='722']">
+ <z:index name="Author:w Author:p">
+ <xslo:variable name="raw_heading">
+ <xslo:for-each select="marc:subfield">
+ <xslo:if test="position() > 1">
+ <xslo:value-of select="substring(' ', 1, 1)"/>
+ </xslo:if>
+ <xslo:value-of select="."/>
+ </xslo:for-each>
+ </xslo:variable>
+ <xslo:value-of select="normalize-space($raw_heading)"/>
+ </z:index>
+ </xslo:template>
+ <xslo:template mode="index_data_field" match="marc:datafield[@tag='730']">
+ <z:index name="Author:w Author:p">
<xslo:variable name="raw_heading">
<xslo:for-each select="marc:subfield">
<xslo:if test="position() > 1">
<xslo:value-of select="normalize-space($raw_heading)"/>
</z:index>
</xslo:template>
- <xslo:template mode="index_data_field" match="marc:datafield[@tag='208']">
+ <xslo:template mode="index_data_field" match="marc:datafield[@tag='207']">
<z:index name="Serials:w Serials:p">
<xslo:variable name="raw_heading">
<xslo:for-each select="marc:subfield">
<xslo:value-of select="normalize-space($raw_heading)"/>
</z:index>
</xslo:template>
- <xslo:template mode="index_data_field" match="marc:datafield[@tag='207']">
+ <xslo:template mode="index_data_field" match="marc:datafield[@tag='208']">
<z:index name="Printed-music:w Printed-music:p">
<xslo:variable name="raw_heading">
<xslo:for-each select="marc:subfield">
<xslo:value-of select="normalize-space($raw_heading)"/>
</z:index>
</xslo:template>
+ <xslo:template mode="index_data_field" match="marc:datafield[@tag='560']">
+ <z:index name="Title:w Title:p">
+ <xslo:variable name="raw_heading">
+ <xslo:for-each select="marc:subfield">
+ <xslo:if test="position() > 1">
+ <xslo:value-of select="substring(' ', 1, 1)"/>
+ </xslo:if>
+ <xslo:value-of select="."/>
+ </xslo:for-each>
+ </xslo:variable>
+ <xslo:value-of select="normalize-space($raw_heading)"/>
+ </z:index>
+ </xslo:template>
<xslo:template mode="index_data_field" match="marc:datafield[@tag='600']">
<z:index name="Subject:w Subject:p">
<xslo:variable name="raw_heading">
<xslo:value-of select="normalize-space($raw_heading)"/>
</z:index>
</xslo:template>
- <xslo:template mode="index_data_field" match="marc:datafield[@tag='630']">
+ <xslo:template mode="index_data_field" match="marc:datafield[@tag='608']">
<z:index name="Subject:w Subject:p">
<xslo:variable name="raw_heading">
<xslo:for-each select="marc:subfield">
<xslo:value-of select="normalize-space($raw_heading)"/>
</z:index>
</xslo:template>
- <xslo:template mode="index_data_field" match="marc:datafield[@tag='631']">
+ <xslo:template mode="index_data_field" match="marc:datafield[@tag='610']">
<z:index name="Subject:w Subject:p">
<xslo:variable name="raw_heading">
<xslo:for-each select="marc:subfield">
<xslo:value-of select="normalize-space($raw_heading)"/>
</z:index>
</xslo:template>
- <xslo:template mode="index_data_field" match="marc:datafield[@tag='632']">
+ <xslo:template mode="index_data_field" match="marc:datafield[@tag='615']">
<z:index name="Subject:w Subject:p">
<xslo:variable name="raw_heading">
<xslo:for-each select="marc:subfield">
<xslo:value-of select="normalize-space($raw_heading)"/>
</z:index>
</xslo:template>
- <xslo:template mode="index_data_field" match="marc:datafield[@tag='633']">
+ <xslo:template mode="index_data_field" match="marc:datafield[@tag='616']">
<z:index name="Subject:w Subject:p">
<xslo:variable name="raw_heading">
<xslo:for-each select="marc:subfield">
<xslo:value-of select="normalize-space($raw_heading)"/>
</z:index>
</xslo:template>
- <xslo:template mode="index_data_field" match="marc:datafield[@tag='634']">
+ <xslo:template mode="index_data_field" match="marc:datafield[@tag='617']">
<z:index name="Subject:w Subject:p">
<xslo:variable name="raw_heading">
<xslo:for-each select="marc:subfield">
<xslo:value-of select="normalize-space($raw_heading)"/>
</z:index>
</xslo:template>
- <xslo:template mode="index_data_field" match="marc:datafield[@tag='635']">
+ <xslo:template mode="index_data_field" match="marc:datafield[@tag='620']">
<z:index name="Subject:w Subject:p">
<xslo:variable name="raw_heading">
<xslo:for-each select="marc:subfield">
<xslo:value-of select="normalize-space($raw_heading)"/>
</z:index>
</xslo:template>
- <xslo:template mode="index_data_field" match="marc:datafield[@tag='636']">
+ <xslo:template mode="index_data_field" match="marc:datafield[@tag='621']">
<z:index name="Subject:w Subject:p">
<xslo:variable name="raw_heading">
<xslo:for-each select="marc:subfield">
<xslo:value-of select="normalize-space($raw_heading)"/>
</z:index>
</xslo:template>
- <xslo:template mode="index_data_field" match="marc:datafield[@tag='610']">
+ <xslo:template mode="index_data_field" match="marc:datafield[@tag='603']">
+ <z:index name="Subject:w Subject:p">
+ <xslo:variable name="raw_heading">
+ <xslo:for-each select="marc:subfield">
+ <xslo:if test="position() > 1">
+ <xslo:value-of select="substring(' ', 1, 1)"/>
+ </xslo:if>
+ <xslo:value-of select="."/>
+ </xslo:for-each>
+ </xslo:variable>
+ <xslo:value-of select="normalize-space($raw_heading)"/>
+ </z:index>
+ </xslo:template>
+ <xslo:template mode="index_data_field" match="marc:datafield[@tag='630']">
<z:index name="Subject:w Subject:p">
<xslo:variable name="raw_heading">
<xslo:for-each select="marc:subfield">
<xslo:value-of select="normalize-space($raw_heading)"/>
</z:index>
</xslo:template>
- <xslo:template mode="index_data_field" match="marc:datafield[@tag='640']">
+ <xslo:template mode="index_data_field" match="marc:datafield[@tag='631']">
<z:index name="Subject:w Subject:p">
<xslo:variable name="raw_heading">
<xslo:for-each select="marc:subfield">
<xslo:value-of select="normalize-space($raw_heading)"/>
</z:index>
</xslo:template>
- <xslo:template mode="index_data_field" match="marc:datafield[@tag='641']">
+ <xslo:template mode="index_data_field" match="marc:datafield[@tag='632']">
<z:index name="Subject:w Subject:p">
<xslo:variable name="raw_heading">
<xslo:for-each select="marc:subfield">
<xslo:value-of select="normalize-space($raw_heading)"/>
</z:index>
</xslo:template>
- <xslo:template mode="index_data_field" match="marc:datafield[@tag='642']">
+ <xslo:template mode="index_data_field" match="marc:datafield[@tag='633']">
<z:index name="Subject:w Subject:p">
<xslo:variable name="raw_heading">
<xslo:for-each select="marc:subfield">
<xslo:value-of select="normalize-space($raw_heading)"/>
</z:index>
</xslo:template>
- <xslo:template mode="index_data_field" match="marc:datafield[@tag='643']">
+ <xslo:template mode="index_data_field" match="marc:datafield[@tag='634']">
<z:index name="Subject:w Subject:p">
<xslo:variable name="raw_heading">
<xslo:for-each select="marc:subfield">
<xslo:value-of select="normalize-space($raw_heading)"/>
</z:index>
</xslo:template>
- <xslo:template mode="index_data_field" match="marc:datafield[@tag='644']">
+ <xslo:template mode="index_data_field" match="marc:datafield[@tag='635']">
<z:index name="Subject:w Subject:p">
<xslo:variable name="raw_heading">
<xslo:for-each select="marc:subfield">
<xslo:value-of select="normalize-space($raw_heading)"/>
</z:index>
</xslo:template>
- <xslo:template mode="index_data_field" match="marc:datafield[@tag='645']">
+ <xslo:template mode="index_data_field" match="marc:datafield[@tag='636']">
<z:index name="Subject:w Subject:p">
<xslo:variable name="raw_heading">
<xslo:for-each select="marc:subfield">
<xslo:value-of select="normalize-space($raw_heading)"/>
</z:index>
</xslo:template>
+ <xslo:template mode="index_data_field" match="marc:datafield[@tag='670']">
+ <z:index name="Subject-precis:w Subject-precis:p">
+ <xslo:variable name="raw_heading">
+ <xslo:for-each select="marc:subfield">
+ <xslo:if test="position() > 1">
+ <xslo:value-of select="substring(' ', 1, 1)"/>
+ </xslo:if>
+ <xslo:value-of select="."/>
+ </xslo:for-each>
+ </xslo:variable>
+ <xslo:value-of select="normalize-space($raw_heading)"/>
+ </z:index>
+ </xslo:template>
+ <xslo:template mode="index_data_field" match="marc:datafield[@tag='680']">
+ <z:index name="LC-call-number:w LC-call-number:p">
+ <xslo:variable name="raw_heading">
+ <xslo:for-each select="marc:subfield">
+ <xslo:if test="position() > 1">
+ <xslo:value-of select="substring(' ', 1, 1)"/>
+ </xslo:if>
+ <xslo:value-of select="."/>
+ </xslo:for-each>
+ </xslo:variable>
+ <xslo:value-of select="normalize-space($raw_heading)"/>
+ </z:index>
+ </xslo:template>
+ <xslo:template mode="index_data_field" match="marc:datafield[@tag='686']">
+ <z:index name="Local-classification:w Local-classification:p">
+ <xslo:variable name="raw_heading">
+ <xslo:for-each select="marc:subfield">
+ <xslo:if test="position() > 1">
+ <xslo:value-of select="substring(' ', 1, 1)"/>
+ </xslo:if>
+ <xslo:value-of select="."/>
+ </xslo:for-each>
+ </xslo:variable>
+ <xslo:value-of select="normalize-space($raw_heading)"/>
+ </z:index>
+ </xslo:template>
<xslo:template mode="index_data_field" match="marc:datafield[@tag='995']">
<z:index name="item # just to index every subfield:w">
<xslo:variable name="raw_heading">
xpath disable
all any
+############ IDENTIFICATION NUMBERS ##################
melm 001 Local-number,Local-number:n
# Local-number (biblionumber can be either in 090$9 or, on some setup, on 001)
melm 009 Identifier-standard:w,Identifier-standard:n
melm 099$d Date/time-last-modified:s,Date/time-last-modified:n,Date/time-last-modified:y
melm 099$t ccode:w
-
+# ISBN
melm 010$a ISBN:w
# wrong ISBN
melm 010$z ISBN:w,Identifier-standard:w
+# ISSN
melm 011$a ISSN:w,Identifier-standard:w
# cancelled ISSN
melm 011$y ISSN:w,Identifier-standard:w
# wrong ISSN
melm 011$z ISSN:w,Identifier-standard:w
-
-melm 200$b itemtype:w,itemtype:p,itype:w,itype:p
-melm 995$r itemtype:w,itemtype:p,itype:w,itype:p
+# L-ISSN
+melm 011$f Identifier-standard:w
+melm 011$g Identifier-standard:w
+# Fingerprint (ancient books)
+melm 012$a Identifier-standard:w
+# ISMN
+melm 013$a Identifier-standard:w
+melm 013$z Identifier-standard:w
+# Article indentifier
+melm 014$a Identifier-standard:w
+melm 014$z Identifier-standard:w
+# ISRN
+melm 015$a Identifier-standard:w
+melm 015$z Identifier-standard:w
+# ISRC
+melm 016$a Identifier-standard:w
+melm 016$z Identifier-standard:w
+# Other identifiers (DOI...)
+melm 017$a Identifier-standard:w
+melm 017$z Identifier-standard:w
+# National bibliography
+# uncomment to index
+# melm 020$a Identifier-standard:w
+# melm 020$z Identifier-standard:w
+# Legal deposit
+# uncomment to index
+# melm 021$a Identifier-standard:w
+# melm 021$z Identifier-standard:w
+# CODEN
+melm 040$a Identifier-standard:w
+melm 040$z Identifier-standard:w
+# Publisher's number (for music)
melm 071$a Music-number:w,Identifier-standard:w
+melm 071$z Music-number:w,Identifier-standard:w
+melm 071$b Publisher,Publisher:p
+# UPC
melm 072$a UPC:w,Identifier-standard:w
+melm 072$z UPC:w,Identifier-standard:w
+# EAN
melm 073$a EAN:w,Identifier-standard:w
+melm 073$z EAN:w,Identifier-standard:w
+
+############ ITEM TYPE ##################
+melm 200$b itemtype:w,itemtype:p,itype:w,itype:p
+melm 995$r itemtype:w,itemtype:p,itype:w,itype:p
+############ CODED INFORMATIONS ##################
melm 100$a tpubdate:s:range(data,8,1),ta:w:range(data,17,1),ta:w:range(data,18,1),ta:w:range(data,19,1),Modified-code:n:range(data,21,1),ln:s:range(data,22,3),char-encoding:n:range(data,26,2),char-encoding:n:range(data,28,2),char-encoding:n:range(data,30,2),script-Title:n:range(data,34,2)
melm 101$a ln
melm 102$a Country-heading
melm 116$a Graphics-type:w:range(data,0,1),Graphics-support:w:range(data,1,1),Graphics-support:w:range(data,2,1),
-
-melm 680$b LC-call-number:s
-melm 680 LC-call-number
-#melm 001 Identifier-standard:w
-
-melm 200$b itype:w,itype:p
-
-#melm 100$9 Cross-Reference !:w
-
############ AUTHORS ##################
# main Author
melm 200$f Author:w,Author:p
melm 712$9 Koha-Auth-Number,Koha-Auth-Number:n
melm 712 Author,Author-name-corporate,Author-name-conference,Corporate-name,Conference-name,Author:p,Author-name-corporate:p,Author-name-conference:p,Corporate-name:p,Conference-name:p
+# trademark Author : 716
+melm 716$9 Koha-Auth-Number,Koha-Auth-Number:n
+melm 716 Author:w,Author:p
+
+# family Author : 72X
+melm 720$9 Koha-Auth-Number,Koha-Auth-Number:n
+melm 720 Author:w,Author:p
+melm 721$9 Koha-Auth-Number,Koha-Auth-Number:n
+melm 721 Author:w,Author:p
+melm 722$9 Koha-Auth-Number,Koha-Auth-Number:n
+melm 722 Author:w,Author:p
+
+# name-responsabily Author
+melm 730$9 Koha-Auth-Number,Koha-Auth-Number:n
+melm 730 Author:w,Author:p
+
+# 740-742 = uniform and conventional headings for legal and religious texts. Use not recommended in France (503 used instead, see http://multimedia.bnf.fr/unimarcb_trad/B7XX-6-2011.pdf )
+
############## TITLE ##################
# main Title
+# Keep Title-cover (used for in query weighting algorithm)
melm 200$a Title:w,Title:p,Title:s,Title-cover:w,Title-cover:p,Title-cover:s
-# Title 2
+# Title from an other author
melm 200$c Title:w,Title:p
-# // Title
+# Parallel title
melm 200$d Title:w,Title:p
-# subTitle
+# subtitle
melm 200$e Title:w,Title:p,Title-cover:w,Title-cover:p
+# volume : do not index
+# melm 200$h Title:w,Title:p
# part title
-melm 200$i title:w,title:p,Title-cover:w,Title-cover:p
+melm 200$i Title:w,Title:p,Title-cover:w,Title-cover:p
+# edition statement
melm 205 Title,Title:p
-melm 208 Serials,Serials:p
-melm 207 Printed-music,Printed-music:p
-
-
+########## MATERIAL SPECIFIC AREA #################
+# TODO 206
+melm 207 Serials,Serials:p
+melm 208 Printed-music,Printed-music:p
+melm 230$a Electronic-ressource
+########## PUBLISHER #################
melm 210$a pl,pl:p
melm 210$c Publisher,Publisher:p
melm 210$d pubdate:n,pubdate:y,pubdate:s
+########## DESCRIPTION #################
melm 215 Extent
-#Series
+########## SERIES #################
melm 225$a Title-series,Title-series:p
melm 225$d Title-series,Title-series:p
#SubTit
melm 225$v Title-series,Title-series:p
melm 225$x ISSN
-melm 230$a Electronic-ressource
-
########## NOTES #################
+# General Note
melm 300$a Note,Note:p
+# Notes Pertaining to Identification Numbers
melm 301$a Note,Note:p
+# Notes Pertaining to Coded Information (languages...)
melm 302$a Note,Note:p
+# Notes Pertaining to Descriptive Information
melm 303$a Note,Note:p
+# Notes Pertaining to Title and Statement of Responsibility
melm 304$a Note,Note:p
+# Notes Pertaining to Edition and Bibliographic History
melm 305$a Note,Note:p
+# Notes Pertaining to Publication, Distribution, etc.
melm 306$a Note,Note:p
+# Notes Pertaining to Physical Description
melm 307$a Note,Note:p
+# Notes Pertaining to Series
melm 308 Note,Note:p
-melm 308$a Note,Note:p
+# Notes Pertaining to Binding and Availability
melm 310$a Note,Note:p
+# Notes Pertaining to Linking Fields
melm 311$a Note,Note:p
+# Notes Pertaining to Related Titles
melm 312$a Note,Note:p
+# Notes Pertaining to Subject Access
melm 313$a Note,Note:p
+# Notes Pertaining to Intellectual Responsability (in Sudoc catalogue, may contains the 4th, 5th etc. authors)
melm 314$a Note,Note:p
+# Notes Pertaining to Material (or Type of Publication) Specific Information
melm 315$a Note,Note:p
+# Note Relating to the Copy in Hand (ancient books)
melm 316$a Note,Note:p
+# Provenance Note (ancient books)
melm 317$a Note,Note:p
+# Action Note
melm 318$a Note,Note:p
+# Internal Bibliographies/Indexes Note
melm 320$a Note,Note:p
+# External Indexes/Abstracts/References Note
melm 321$a Note,Note:p
+# Credits Note (Projected and Video Material and Sound Recordings)
melm 322$a Note,Note:p
+# Cast Note (Projected and Video Material and Sound Recordings)
melm 323$a Note,Note:p
+# Facsimile Note
melm 324$a Note,Note:p
+# Reproduction Note
melm 325$a Note,Note:p
+# Frequency Statement Note (Serials)
melm 326$a Note,Note:p
+# Contents Note
melm 327$a Note,Note:p
-melm 328 Note,Note:p
-melm 328$a Note,Note:p
-melm 330$a Abstract,Note:w,Abstract:p,Note:p
+# Dissertation note
+melm 328 Note,Note:p
+# Summary or Abstract
+melm 330$a Abstract:w,Note:w,Abstract:p,Note:p
+# Preferred Citation of Described Materials
melm 332$a Note,Note:p
+# Users/Intended Audience Note
melm 333$a Note,Note:p
+# Awards note
+melm 334$a Note,Note:p
+# Type of electronic ressource note
melm 336$a Note,Note:p
+# System requirements note
melm 337$a Note,Note:p
+# Acquisition Information Note
melm 345$a Note,Note:p
-
############## 4XX - LINKING ##################
-# Authorities Title,Title:p
-melm 400$t Title,Title:p
-melm 401$t Title,Title:p
-melm 403$t Title,Title:p,Title-Uniform,Title-Uniform:p
+# All 4XX indexed as Title, except for 410
melm 410$t Title-series,Title-series:p
+melm 411$t Title,Title:p
melm 412$t Title,Title:p
melm 413$t Title,Title:p
-melm 414$t Title,Title:p
-melm 415$t Title,Title:p
-melm 416$t Title,Title:p
-melm 417$t Title,Title:p
-melm 418$t Title,Title:p
-melm 419$t Title,Title:p
-melm 420$t Title,Title:p
+melm 421$t Title,Title:p
+melm 422$t Title,Title:p
+melm 423$t Title,Title:p
+melm 424$t Title,Title:p
+melm 425$t Title,Title:p
melm 430$t Title,Title:p
melm 431$t Title,Title:p
melm 432$t Title,Title:p
+melm 433$t Title,Title:p
+melm 434$t Title,Title:p
+melm 435$t Title,Title:p
+melm 436$t Title,Title:p
+melm 437$t Title,Title:p
melm 440$t Title,Title:p
melm 441$t Title,Title:p
+melm 442$t Title,Title:p
+melm 443$t Title,Title:p
+melm 444$t Title,Title:p
melm 445$t Title,Title:p
+melm 446$t Title,Title:p
+melm 447$t Title,Title:p
+melm 448$t Title,Title:p
+melm 451$t Title,Title:p
+melm 452$t Title,Title:p
+melm 453$t Title,Title:p
+melm 454$t Title,Title:p
+melm 455$t Title,Title:p
+melm 456$t Title,Title:p
+# FIXME Warning : field used by Koha for analytics, but also in Sudoc network
melm 461$t Title,Title-host:w,title-host:p
+melm 462$t Title,Title:p
+melm 463$t Title,Title:p
+# FIXME Warning : field used by Koha for analytics, but also in Sudoc network
melm 464$t Title,Title-host:w,title-host:p,Title:p
+melm 470$t Title,Title:p
+melm 481$t Title,Title:p
+melm 482$t Title,Title:p
+melm 488$t Title,Title:p
+
+# Linking ids (Koha analytics)
+# FIXME Warning : field used by Koha for analytics, but also in Sudoc network
+melm 461$9 Host-Item-Number
+
+#FIXME Fields 400, 401, 403, 414, 415, 416, 417, 418, 419, 420 are not defined in Unimarc, but may be used by some libraries.
+melm 400$t Title,Title:p
+melm 401$t Title,Title:p
+melm 403$t Title,Title:p,Title-Uniform,Title-Uniform:p
+melm 414$t Title,Title:p
+melm 415$t Title,Title:p
+melm 416$t Title,Title:p
+melm 417$t Title,Title:p
+melm 418$t Title,Title:p
+melm 419$t Title,Title:p
+melm 420$t Title,Title:p
melm 400$d pubdate:n
melm 401$d pubdate:n
melm 445$d pubdate:n
melm 461$d pubdate:n
-#Linking ids
-melm 461$9 Host-Item-Number
-
-# Authorities Title
+############## 5XX - TITLES ##################
melm 500$9 Koha-Auth-Number,Koha-Auth-Number:n
melm 501$9 Koha-Auth-Number,Koha-Auth-Number:n
melm 503$9 Koha-Auth-Number,Koha-Auth-Number:n
melm 540$9 Koha-Auth-Number,Koha-Auth-Number:n
melm 541$9 Koha-Auth-Number,Koha-Auth-Number:n
melm 545$9 Koha-Auth-Number,Koha-Auth-Number:n
+melm 560$9 Koha-Auth-Number,Koha-Auth-Number:n
melm 500 Title,Title:p
melm 501 Title,Title:p
melm 540 Title,Title:p
melm 541 Title,Title:p
melm 545 Title,Title:p
+melm 560 Title,Title:p
########### SUBJECTS (6xx) ##################
melm 600$9 Koha-Auth-Number,Koha-Auth-Number:n
melm 601$9 Koha-Auth-Number,Koha-Auth-Number:n
melm 602$9 Koha-Auth-Number,Koha-Auth-Number:n
-melm 603$9 Koha-Auth-Number,Koha-Auth-Number:n
melm 604$9 Koha-Auth-Number,Koha-Auth-Number:n
melm 605$9 Koha-Auth-Number,Koha-Auth-Number:n
melm 606$9 Koha-Auth-Number,Koha-Auth-Number:n
melm 607$9 Koha-Auth-Number,Koha-Auth-Number:n
+melm 608$9 Koha-Auth-Number,Koha-Auth-Number:n
melm 610$9 Koha-Auth-Number,Koha-Auth-Number:n
+melm 615$9 Koha-Auth-Number,Koha-Auth-Number:n
+melm 616$9 Koha-Auth-Number,Koha-Auth-Number:n
+melm 617$9 Koha-Auth-Number,Koha-Auth-Number:n
+melm 620$9 Koha-Auth-Number,Koha-Auth-Number:n
+melm 621$9 Koha-Auth-Number,Koha-Auth-Number:n
+# melm 626$9 Koha-Auth-Number,Koha-Auth-Number:n
+# melm 660$9 Koha-Auth-Number,Koha-Auth-Number:n
+# melm 661$9 Koha-Auth-Number,Koha-Auth-Number:n
+
+#FIXME Fields 603, 630, 631, 632, 633, 634, 635, 636, 646 are not defined in Unimarc, but may be used by some libraries.
+melm 603$9 Koha-Auth-Number,Koha-Auth-Number:n
melm 630$9 Koha-Auth-Number,Koha-Auth-Number:n
melm 631$9 Koha-Auth-Number,Koha-Auth-Number:n
melm 632$9 Koha-Auth-Number,Koha-Auth-Number:n
melm 635$9 Koha-Auth-Number,Koha-Auth-Number:n
melm 636$9 Koha-Auth-Number,Koha-Auth-Number:n
-melm 600$a Personal-name,Personal-name:p,Subject,Subject:p
-melm 600 Subject,Subject:p
-melm 601$a Corporate-name,Conference-name,Corporate-name:p,Conference-name:p
-melm 601 Subject,Subject:p
+melm 600$a Personal-name,Personal-name:p,Subject,Subject:p
+melm 600 Subject,Subject:p
+melm 601$a Corporate-name,Conference-name,Corporate-name:p,Conference-name:p
+melm 601 Subject,Subject:p
melm 602$a Personal-name,Personal-name:p
melm 602 Subject,Subject:p
-melm 604 Subject,Subject:p
-melm 605 Subject,Subject:p
-melm 606 Subject,Subject:p
-melm 607 Subject,Subject:p
-melm 630 Subject,Subject:p
-melm 631 Subject,Subject:p
-melm 632 Subject,Subject:p
-melm 633 Subject,Subject:p
-melm 634 Subject,Subject:p
-melm 635 Subject,Subject:p
-melm 636 Subject,Subject:p
-melm 610 Subject,Subject:p
-melm 640 Subject,Subject:p
-melm 641 Subject,Subject:p
-melm 642 Subject,Subject:p
-melm 643 Subject,Subject:p
-melm 644 Subject,Subject:p
-melm 645 Subject,Subject:p
-melm 646 Subject,Subject:p
-
-######################
-
-melm 676$a Dewey-classification:w,Dewey-classification:s
+melm 604 Subject,Subject:p
+melm 605 Subject,Subject:p
+melm 606 Subject,Subject:p
+melm 607 Subject,Subject:p
+melm 608 Subject,Subject:p
+melm 610 Subject,Subject:p
+melm 615 Subject,Subject:p
+melm 616 Subject,Subject:p
+melm 617 Subject,Subject:p
+melm 620 Subject,Subject:p
+melm 621 Subject,Subject:p
+# Technical details access // see Marc21 753. Seems deprecated.
+# melm 626 Subject,Subject:p
+# Geographic area code // see Marc21 043. Probably not useful
+# melm 660 Subject,Subject:p
+# Chronological coverage code. Probably not useful
+# melm 661 Subject,Subject:p
+
+#FIXME Fields 603, 630, 631, 632, 633, 634, 635, 636, 646 are not defined in Unimarc, but may be used by some libraries.
+melm 603 Subject,Subject:p
+melm 630 Subject,Subject:p
+melm 631 Subject,Subject:p
+melm 632 Subject,Subject:p
+melm 633 Subject,Subject:p
+melm 634 Subject,Subject:p
+melm 635 Subject,Subject:p
+melm 636 Subject,Subject:p
+melm 646 Subject,Subject:p
+
+########### CLASSIFICATIONS (67x/68x) ##################
+# PRECIS
+melm 670 Subject-precis:w,Subject-precis:p
+# Universal Decimal Classification // see Marc21 080
+melm 675$a UDC-classification:w,UDC-classification:p,UDC-classification:s
+# Dewey // see Marc21 082
+melm 676$a Dewey-classification:w,Dewey-classification:p,Dewey-classification:s
+# LC // see Marc21 050
+melm 680$b LC-call-number:s
+melm 680 LC-call-number:w,LC-call-number:p
+# Other class numbers // see Marc21 084
+melm 686 Local-classification:w,Local-classification:p
#############"# item information (based on 995) ###############
melm 995$2 lost,lost:n,item
$session->param('emailaddress'),
$session->param('branchprinter')
);
- $cookie = $query->cookie( CGISESSID => $session->id );
+ $cookie = $query->cookie(
+ -name => 'CGISESSID',
+ -value => $session->id,
+ -HttpOnly => 1,
+ );
$loggedin = 1;
$userid = $session->param('cardnumber');
}
# printf L "%20s from %16s logged in at %30s.\n", $userid,
# $ENV{'REMOTE_ADDR'}, $time;
# close L;
- $cookie = $query->cookie( CGISESSID => $sessionID );
+ $cookie = $query->cookie(
+ -name => 'CGISESSID',
+ -value => $sessionID,
+ -HttpOnly => 1,
+ );
if ( $return == 2 ) {
#Only superlibrarian should have access to this page.
$cookie = $query->cookie(
-name => 'CGISESSID',
-value => '',
+ -HttpOnly => 1,
-expires => ''
);
}
$cookie = $query->cookie(
-name => 'CGISESSID',
-value => $sessionID,
+ -HttpOnly => 1,
-expires => ''
);
print $query->header(
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'),
+('lx2.loc.gov',210,'LCDB','','','LIBRARY OF CONGRESS',1,1,1,'USMARC','utf8'),
('clio-db.cc.columbia.edu',7090,'voyager','','','COLUMBIA UNIVERSITY',6,0,0,'USMARC','MARC-8'),
('siris-libraries.si.edu',210,'Default','','','SMITHSONIAN INSTITUTION LIBRARIES',10,0,0,'USMARC','MARC-8');
('circulation','DUEDGST','Item Due Reminder (Digest)','Item Due Reminder','You have <<count>> items due'),
('circulation','PREDUE','Advance Notice of Item Due','Advance Notice of Item Due','Dear <<borrowers.firstname>> <<borrowers.surname>>,\r\n\r\nThe following item will be due soon:\r\n\r\n<<biblio.title>>, <<biblio.author>> (<<items.barcode>>)'),
('circulation','PREDUEDGST','Advance Notice of Item Due (Digest)','Advance Notice of Item Due','You have <<count>> items due soon'),
-('circulation','RENEWAL','Item Renewals','Item Renewals','The following items have been renewed:\r\n----\r\n<<biblio.title>>\r\n----\r\nThank you for visiting <<branches.branchname>>.');
+('circulation','RENEWAL','Item Renewals','Item Renewals','The following items have been renewed:\r\n----\r\n<<biblio.title>>\r\n----\r\nThank you for visiting <<branches.branchname>>.'),
('reserves', 'HOLD', 'Hold Available for Pickup', 'Hold Available for Pickup at <<branches.branchname>>', 'Dear <<borrowers.firstname>> <<borrowers.surname>>,\r\n\r\nYou have a hold available for pickup as of <<reserves.waitingdate>>:\r\n\r\nTitle: <<biblio.title>>\r\nAuthor: <<biblio.author>>\r\nCopy: <<items.copynumber>>\r\nLocation: <<branches.branchname>>\r\n<<branches.branchaddress1>>\r\n<<branches.branchaddress2>>\r\n<<branches.branchaddress3>>\r\n<<branches.branchcity>> <<branches.branchzip>>'),
('reserves', 'HOLD_PRINT', 'Hold Available for Pickup (print notice)', 'Hold Available for Pickup (print notice)', '<<branches.branchname>>\r\n<<branches.branchaddress1>>\r\n<<branches.branchaddress2>>\r\n\r\n\r\nChange Service Requested\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n<<borrowers.firstname>> <<borrowers.surname>>\r\n<<borrowers.address>>\r\n<<borrowers.city>> <<borrowers.zipcode>>\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n<<borrowers.firstname>> <<borrowers.surname>> <<borrowers.cardnumber>>\r\n\r\nYou have a hold available for pickup as of <<reserves.waitingdate>>:\r\n\r\nTitle: <<biblio.title>>\r\nAuthor: <<biblio.author>>\r\nCopy: <<items.copynumber>>\r\n'),
('circulation','CHECKIN','Item Check-in (Digest)','Check-ins','The following items have been checked in:\r\n----\r\n<<biblio.title>>\r\n----\r\nThank you.'),
If you did not initiate this request, you may safely ignore this one-time message. The request will expire shortly.'
);
-
-INSERT INTO `letter` (module, code, name, title, content) VALUES ('circulation','RENEWAL','Item Renewal','Renewals','The following items have been renew:\r\n----\r\n<<biblio.title>>\r\n----\r\nThank you for visiting <<branches.branchname>>.');
INSERT INTO `userflags` VALUES(0,'superlibrarian','Access to all librarian functions',0);
-INSERT INTO `userflags` VALUES(1,'circulate','Circulate books',0);
-INSERT INTO `userflags` VALUES(2,'catalogue','View Catalog (Librarian Interface)',0);
-INSERT INTO `userflags` VALUES(3,'parameters','Set Koha system parameters',0);
-INSERT INTO `userflags` VALUES(4,'borrowers','Add or modify borrowers',0);
+INSERT INTO `userflags` VALUES(1,'circulate','Check out and check in items',0);
+INSERT INTO `userflags` VALUES(2,'catalogue','<b>Required for staff login.</b> Staff access, allows viewing of catalogue in staff client.',0);
+INSERT INTO `userflags` VALUES(3,'parameters','Manage Koha system settings (Administration panel)',0);
+INSERT INTO `userflags` VALUES(4,'borrowers','Add or modify patrons',0);
INSERT INTO `userflags` VALUES(5,'permissions','Set user permissions',0);
INSERT INTO `userflags` VALUES(6,'reserveforothers','Place and modify holds for patrons',0);
INSERT INTO `userflags` VALUES(7,'borrow','Borrow books',1);
INSERT INTO `userflags` VALUES(9,'editcatalogue','Edit Catalog (Modify bibliographic/holdings data)',0);
-INSERT INTO `userflags` VALUES(10,'updatecharges','Update borrower charges',0);
+INSERT INTO `userflags` VALUES(10,'updatecharges','Manage patrons fines and fees',0);
INSERT INTO `userflags` VALUES(11,'acquisition','Acquisition and/or suggestion management',0);
-INSERT INTO `userflags` VALUES(12,'management','Set library management parameters',0);
-INSERT INTO `userflags` VALUES(13,'tools','Use tools (export, import, barcodes)',0);
-INSERT INTO `userflags` VALUES(14,'editauthorities','Allow to edit authorities',0);
-INSERT INTO `userflags` VALUES(15,'serials','Allow to manage serials subscriptions',0);
-INSERT INTO `userflags` VALUES(16,'reports','Allow to access to the reports module',0);
-INSERT INTO `userflags` VALUES(17,'staffaccess','Modify login / permissions for staff users',0);
+INSERT INTO `userflags` VALUES(12,'management','Set library management parameters (deprecated)',0);
+INSERT INTO `userflags` VALUES(13,'tools','Use all tools (expand for granular tools permissions)',0);
+INSERT INTO `userflags` VALUES(14,'editauthorities','Edit Authorities',0);
+INSERT INTO `userflags` VALUES(15,'serials','Manage serial subscriptions',0);
+INSERT INTO `userflags` VALUES(16,'reports','Allow access to the reports module',0);
+INSERT INTO `userflags` VALUES(17,'staffaccess','Allow staff members to modify permissions for other staff members',0);
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'),
+('lx2.loc.gov',210,'LCDB','','','LIBRARY OF CONGRESS',1,1,1,'USMARC','utf8'),
('clio-db.cc.columbia.edu',7090,'voyager','','','COLUMBIA UNIVERSITY',6,0,0,'USMARC','MARC-8'),
('siris-libraries.si.edu',210,'Default','','','SMITHSONIAN INSTITUTION LIBRARIES',10,0,0,'USMARC','MARC-8');
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'),
+('lx2.loc.gov',210,'LCDB','','','LIBRARY OF CONGRESS',1,1,1,'USMARC','utf8'),
('clio-db.cc.columbia.edu',7090,'voyager','','','COLUMBIA UNIVERSITY',6,0,0,'USMARC','MARC-8'),
('siris-libraries.si.edu',210,'Default','','','SMITHSONIAN INSTITUTION LIBRARIES',10,0,0,'USMARC','MARC-8');
('LANG', 'fre', 'francese'),
('LANG', 'lat', 'latino');
+-- Raggruppamenti di esempio per i reports
+INSERT INTO authorised_values (category, authorised_value, lib) VALUES ('REPORT_GROUP', 'CIRC', 'Circulation');
+INSERT INTO authorised_values (category, authorised_value, lib) VALUES ('REPORT_GROUP', 'CAT', 'Catalog');
+INSERT INTO authorised_values (category, authorised_value, lib) VALUES ('REPORT_GROUP', 'PAT', 'Patrons');
+INSERT INTO authorised_values (category, authorised_value, lib) VALUES ('REPORT_GROUP', 'ACQ', 'Acquisitions');
+INSERT INTO authorised_values (category, authorised_value, lib) VALUES ('REPORT_GROUP', 'ACC', 'Accounts');
+
SET FOREIGN_KEY_CHECKS=1;
INSERT INTO permissions (module_bit, code, description) VALUES
( 1, 'circulate_remaining_permissions', 'Permessi rimanenti per la circolazione'),
( 1, 'override_renewals', 'Sblocca i rinnovi bloccati'),
- ( 3, 'parameters_remaining_permissions', 'Remaining system parameters permissions'),
- ( 3, 'manage_circ_rules', 'manage circulation rules'),
+ ( 3, 'parameters_remaining_permissions', 'Permessi rimanenti'),
+ ( 3, 'manage_circ_rules', 'Gestisci regole circolazione'),
( 6, 'place_holds', 'Fai prenotazioni per gli utenti'),
( 6, 'modify_holds_priority', 'Modifica priorità prenotazioni'),
( 9, 'edit_catalogue', 'Cataloga (crea/modifica dati bibliografici e di copia)'),
(11, 'group_manage', 'Gestisci ordini e raccoglitori raggruppati'),
(11, 'order_receive', 'Gestisci arrivi'),
(11, 'budget_add_del', 'Aggiungi e cancella budgets (senza modificarli)'),
- (11, 'budget_manage_all', 'Manage all budgets'),
+ (11, 'budget_manage_all', 'Gestisci tutti i budgets'),
(13, 'edit_news', 'Scrivi le news per l\'OPAC e per l\'interfaccia staff'),
(13, 'label_creator', 'Crea etichette da stampare e barcodes dal catalogo e dai dati degli utenti'),
(13, 'edit_calendar', 'Definisci i giorni di chiusura della biblioteca'),
(13, 'moderate_comments', 'Modera i commenti degli utenti'),
(13, 'edit_notices', 'Definisci le notifiche'),
(13, 'edit_notice_status_triggers', 'Imposta il messaggio o lo stato delle notifiche per le copie in ritardo'),
- (13, 'edit_quotes', 'Edit quotes for quote-of-the-day feature'),
+ (13, 'edit_quotes', 'Modifica suggerimenti/citazioni per la feature corrispondente'),
(13, 'view_system_logs', 'Scorri i log di sistema'),
(13, 'inventory', 'Lavora sugli inventari (stocktaking) del tuo catalogo'),
(13, 'stage_marc_import', 'Opera sui Record MARC presenti nella zona di lavoro'),
(13, 'manage_staged_marc', 'Gestisci i record MARC in lavorazione, inclusi il completare e il cancellare gli import'),
(13, 'export_catalog', 'Esporta i dati bibliografici e di copia'),
(13, 'import_patrons', 'Importa i dati utente'),
- (13, 'edit_patrons', 'Perform batch modification of patrons'),
+ (13, 'edit_patrons', 'Modifica utenti via batch'),
(13, 'delete_anonymize_patrons', 'Cancella i vecchi prestiti e rendi anonimo lo storico della circolazione (canella in lettura lo storico utenti prestito)'),
(13, 'batch_upload_patron_images', 'Aggiorna le foto utente in modalità batch o al momento'),
(13, 'schedule_tasks', 'Schedula i task da far andare'),
- (13, 'items_batchmod', 'Perform batch modification of items'),
- (13, 'items_batchdel', 'Perform batch deletion of items'),
+ (13, 'items_batchmod', 'Abilita alla modifica batch delle copie'),
+ (13, 'items_batchdel', 'Abilita alla cancellazione via batch delle copie'),
(13, 'manage_csv_profiles', 'Gestisci i profili CSV di export'),
(13, 'moderate_tags', 'Modera i tag inseriti dagli utenti'),
(13, 'rotating_collections', 'Gestisci le collezioni circolanti (rotating collections)'),
INSERT INTO z3950servers (host, port, db, userid, password, name, id, checked, rank, syntax, timeout, icon, position, type, encoding, description) VALUES
-('z3950.loc.gov',7090,'Voyager','','','LIBRARY OF CONGRESS',1,0,0,'USMARC',0,NULL,'primary','zed','MARC-8',''),
+('lx2.loc.gov',210,'LCDB','','','LIBRARY OF CONGRESS',1,0,0,'USMARC',0,NULL,'primary','zed','utf8',''),
('z3950.bibsys.no',2100,'BIBSYS','','','BIBSYS',12,1,1,'NORMARC',0,NULL,'primary','zed','ISO_6937',''),
('z3950.nb.no',2100,'Norbok','','','NORBOK',13,0,0,'NORMARC',0,NULL,'primary','zed','ISO_6937',''),
('z3950.nb.no',2100,'Sambok','','','SAMBOK',14,0,0,'NORMARC',0,NULL,'primary','zed','ISO_6937',''),
(`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');
+('lx2.loc.gov',210,'LCDB','','','LIBRARY OF CONGRESS',3,0,1,'USMARC','utf8');
INSERT INTO `systempreferences` (variable,value,explanation,options,type) VALUES('EasyAnalyticalRecords','0','If on, display in the catalogue screens tools to easily setup analytical record relationships','','YesNo');
INSERT INTO systempreferences (variable,value,explanation,options,type) VALUES('OpacShowRecentComments',0,'If ON a link to recent comments will appear in the OPAC masthead',NULL,'YesNo');
INSERT INTO systempreferences (variable,value,explanation,options,type) VALUES ('CircAutoPrintQuickSlip', '1', 'Choose what should happen when an empty barcode field is submitted in circulation: Display a print quick slip window or Clear the screen.',NULL,'YesNo');
+INSERT INTO systempreferences (variable,value,explanation,options,type) VALUES ('RentalsInNoissuesCharge', '1', 'Rental charges block checkouts (added to noissuescharge).',NULL,'YesNo');
+INSERT INTO systempreferences (variable,value,explanation,options,type) VALUES ('ManInvInNoissuesCharge', '1', 'MANUAL_INV charges block checkouts (added to noissuescharge).',NULL,'YesNo');
INSERT INTO `systempreferences` (variable,value,explanation,options,type) VALUES('NoticeCSS','','Notices CSS url.',NULL,'free');
INSERT INTO `systempreferences` (variable,value,explanation,options,type) VALUES('SlipCSS','','Slips CSS url.',NULL,'free');
INSERT INTO `systempreferences` (variable,value,explanation,options,type) VALUES('TransferWhenCancelAllWaitingHolds','0','Transfer items when cancelling all waiting holds',NULL,'YesNo');
INSERT INTO systempreferences (variable,value,explanation,options,type) VALUES('OpacSeparateHoldings', '0', 'Separate current branch holdings from other holdings (OPAC)', NULL, 'YesNo');
INSERT INTO systempreferences (variable,value,explanation,options,type) VALUES('OpacSeparateHoldingsBranch', 'homebranch', 'Branch used to separate holdings (OPAC)', 'homebranch|holdingbranch', 'Choice');
INSERT INTO systempreferences (variable,value,explanation,options,type) VALUES('RenewalSendNotice','0', NULL, '', 'YesNo');
+INSERT INTO systempreferences (variable,value,explanation,options,type) VALUES('HTML5MediaEnabled','not','Show a tab with a HTML5 media player for files catalogued in field 856','not|opac|staff|both','Choice');
+INSERT INTO systempreferences (variable,value,explanation,options,type) VALUES('HTML5MediaExtensions','webm|ogg|ogv|oga|vtt','Media file extensions','','free');
+INSERT INTO systempreferences (variable,value,explanation,options,type) VALUES('AllowHoldsOnPatronsPossessions', '1', 'Allow holds on records that patron have items of it',NULL,'YesNo');
+INSERT INTO systempreferences (variable,value,explanation,options,type) VALUES('NotesBlacklist','','List of notes fields that should not appear in the title notes/description separator of details',NULL,'free');
+INSERT INTO systempreferences (variable,value,options,explanation,type) VALUES ('SCOUserCSS', '', NULL, 'Add CSS to be included in the SCO module in an embedded <style> tag.', 'free');
+INSERT INTO systempreferences (variable,value,options,explanation,type) VALUES ('SCOUserJS', '', NULL, 'Define custom javascript for inclusion in the SCO module', 'free');
+INSERT IGNORE INTO systempreferences (variable,value,explanation,options,type) VALUES('IDreamBooksReviews','0','Display book review snippets from IDreamBooks.com','','YesNo');
+INSERT IGNORE INTO systempreferences (variable,value,explanation,options,type) VALUES('IDreamBooksReadometer','0','Display Readometer from IDreamBooks.com','','YesNo');
+INSERT IGNORE INTO systempreferences (variable,value,explanation,options,type) VALUES('IDreamBooksResults','0','Display IDreamBooks.com rating in search results','','YesNo');
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');");
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;");
SetVersion($DBversion);
}
+$DBversion = "3.11.00.011";
+if ( CheckVersion($DBversion) ) {
+ $dbh->do("INSERT INTO systempreferences (variable,value,explanation,options,type) VALUES('HTML5MediaEnabled','not','Show a HTML5 media player in a tab on opac-detail.pl for media files catalogued in field 856.','not|opac|staff|both','Choice');");
+ $dbh->do("INSERT INTO systempreferences (variable,value,explanation,options,type) VALUES('HTML5MediaExtensions','webm|ogg|ogv|oga|vtt','Media file extensions','','free');");
+ print "Upgrade to $DBversion done (Bug 8377: Add HTML5MediaEnabled and HTML5MediaExtensions sysprefs)\n";
+ SetVersion ($DBversion);
+}
+
+$DBversion = "3.11.00.012";
+if ( CheckVersion($DBversion) ) {
+ $dbh->do("INSERT INTO systempreferences (variable,value,explanation,options,type) VALUES('AllowHoldsOnPatronsPossessions', '1', 'Allow holds on records that patron have items of it',NULL,'YesNo')");
+ print "Upgrade to $DBversion done (Bug 9206: Only allow place holds in records that the patron don't have in his possession)\n";
+ SetVersion($DBversion);
+}
+
+$DBversion = "3.11.00.013";
+if ( CheckVersion($DBversion) ) {
+ $dbh->do("INSERT INTO systempreferences (variable,value,explanation,options,type) VALUES('NotesBlacklist','','List of notes fields that should not appear in the title notes/description separator of details',NULL,'free')");
+ print "Upgrade to $DBversion done (Bug 9162 - Add a system preference to set which notes fields appears on title notes/description separator)\n";
+ SetVersion($DBversion);
+}
+
+$DBversion = "3.11.00.014";
+if ( CheckVersion($DBversion) ) {
+ $dbh->do("INSERT INTO systempreferences ( variable, value, explanation, type ) VALUES ( 'SCOUserCSS', '', 'Add CSS to be included in the SCO module in an embedded <style> tag.', 'free' )");
+ $dbh->do("INSERT INTO systempreferences ( variable, value, explanation, type ) VALUES ( 'SCOUserJS', '', 'Define custom javascript for inclusion in the SCO module', 'free' )");
+ print "Upgrade to $DBversion done (Bug 9009: Add SCOUserCSS and SCOUserJS sysprefs)\n";
+ SetVersion ($DBversion);
+}
+
+$DBversion = "3.11.00.015";
+if (C4::Context->preference("Version") < TransformToNum($DBversion)) {
+ $dbh->do("INSERT INTO systempreferences (variable,value,explanation,options,type) VALUES ('RentalsInNoissuesCharge', '1', 'Rental charges block checkouts (added to noissuescharge).',NULL,'YesNo');");
+ $dbh->do("INSERT INTO systempreferences (variable,value,explanation,options,type) VALUES ('ManInvInNoissuesCharge', '1', 'MANUAL_INV charges block checkouts (added to noissuescharge).',NULL,'YesNo');");
+ print "Upgrade to $DBversion done (Add sysprefs RentalsInNoissuesCharge and ManInvInNoissuesCharge.)\n";
+ SetVersion($DBversion);
+}
+
+$DBversion = "3.11.00.016";
+if ( CheckVersion($DBversion) ) {
+ $dbh->do(q{
+ UPDATE userflags SET flagdesc="<b>Required for staff login.</b> Staff access, allows viewing of catalogue in staff client." where flag="catalogue";
+ });
+ $dbh->do(q{
+ UPDATE userflags SET flagdesc="Edit Authorities" where flag="editauthorities";
+ });
+ $dbh->do(q{
+ UPDATE userflags SET flagdesc="Allow access to the reports module" where flag="reports";
+ });
+ $dbh->do(q{
+ UPDATE userflags SET flagdesc="Set library management parameters (deprecated)" where flag="management";
+ });
+ $dbh->do(q{
+ UPDATE userflags SET flagdesc="Manage serial subscriptions" where flag="serials";
+ });
+ $dbh->do(q{
+ UPDATE userflags SET flagdesc="Manage patrons fines and fees" where flag="updatecharges";
+ });
+ $dbh->do(q{
+ UPDATE userflags SET flagdesc="Check out and check in items" where flag="circulate";
+ });
+ $dbh->do(q{
+ UPDATE userflags SET flagdesc="Manage Koha system settings (Administration panel)" where flag="parameters";
+ });
+ $dbh->do(q{
+ UPDATE userflags SET flagdesc="Add or modify patrons" where flag="borrowers";
+ });
+ $dbh->do(q{
+ UPDATE userflags SET flagdesc="Use all tools (expand for granular tools permissions)" where flag="tools";
+ });
+ $dbh->do(q{
+ UPDATE userflags SET flagdesc="Allow staff members to modify permissions for other staff members" where flag="staffaccess";
+ });
+ $dbh->do(q{
+ UPDATE userflags SET flagdesc="Perform batch modification of patrons" where flag="edit_patrons";
+ });
+
+ print "Upgrade to $DBversion done (Bug 9382 - refresh permission descriptions to make more sense)\n";
+ SetVersion ($DBversion);
+}
+
+$DBversion ="3.11.00.017";
+if ( CheckVersion($DBversion) ) {
+ $dbh->do("INSERT IGNORE INTO systempreferences (variable,value,explanation,options,type) VALUES('IDreamBooksReviews','0','Display book review snippets from IDreamBooks.com','','YesNo');");
+ $dbh->do("INSERT IGNORE INTO systempreferences (variable,value,explanation,options,type) VALUES('IDreamBooksReadometer','0','Display Readometer from IDreamBooks.com','','YesNo');");
+ $dbh->do("INSERT IGNORE INTO systempreferences (variable,value,explanation,options,type) VALUES('IDreamBooksResults','0','Display IDreamBooks.com rating in search results','','YesNo');");
+ print "Upgrade to $DBversion done (Add IDreamBooks enhanced content)\n";
+ SetVersion($DBversion);
+}
+
+
=head1 FUNCTIONS
=head2 TableExists($table)
--- /dev/null
+/*!
+ * 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.
+ * 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.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/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 #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 #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 #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 #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 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 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 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; }
+.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 Accordion 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/Accordion#theming
+ */
+/* IE/Win - Fix animation bug - #4615 */
+.ui-accordion { width: 100%; }
+.ui-accordion .ui-accordion-header { cursor: pointer; position: relative; margin-top: 1px; zoom: 1; }
+.ui-accordion .ui-accordion-li-fix { display: inline; }
+.ui-accordion .ui-accordion-header-active { border-bottom: 0 !important; }
+.ui-accordion .ui-accordion-header a { display: block; font-size: 1em; padding: .5em .5em .5em .7em; }
+.ui-accordion-icons .ui-accordion-header a { padding-left: 2.2em; }
+.ui-accordion .ui-accordion-header .ui-icon { position: absolute; left: .5em; top: 50%; margin-top: -8px; }
+.ui-accordion .ui-accordion-content { padding: 1em 2.2em; border-top: 0; margin-top: -2px; position: relative; top: 1px; margin-bottom: 2px; overflow: auto; display: none; zoom: 1; }
+.ui-accordion .ui-accordion-content-active { display: block; }
+/*!
+ * jQuery UI Autocomplete 1.8.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/Autocomplete#theming
+ */
+.ui-autocomplete { position: absolute; cursor: default; }
+
+/* workarounds */
+* html .ui-autocomplete { width:1px; } /* without this, the menu expands to 100% in IE6 */
+
+/*
+ * jQuery UI Menu 1.8.23
+ *
+ * Copyright 2010, AUTHORS.txt (http://jqueryui.com/about)
+ * Dual licensed under the MIT or GPL Version 2 licenses.
+ * http://jquery.org/license
+ *
+ * http://docs.jquery.com/UI/Menu#theming
+ */
+.ui-menu {
+ list-style:none;
+ padding: 2px;
+ margin: 0;
+ display:block;
+ float: left;
+}
+.ui-menu .ui-menu {
+ margin-top: -3px;
+}
+.ui-menu .ui-menu-item {
+ margin:0;
+ padding: 0;
+ zoom: 1;
+ float: left;
+ clear: left;
+ width: 100%;
+}
+.ui-menu .ui-menu-item a {
+ text-decoration:none;
+ display:block;
+ padding:.2em .4em;
+ line-height:1.5;
+ zoom:1;
+}
+.ui-menu .ui-menu-item a.ui-state-hover,
+.ui-menu .ui-menu-item a.ui-state-active {
+ font-weight: normal;
+ margin: -1px;
+}
+/*!
+ * jQuery UI Button 1.8.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/Button#theming
+ */
+.ui-button { display: inline-block; position: relative; padding: 0; margin-right: .1em; text-decoration: none !important; cursor: pointer; text-align: center; zoom: 1; overflow: visible; } /* the overflow property removes extra width in IE */
+.ui-button-icon-only { width: 2.2em; } /* to make room for the icon, a width needs to be set here */
+button.ui-button-icon-only { width: 2.4em; } /* button elements seem to need a little more width */
+.ui-button-icons-only { width: 3.4em; }
+button.ui-button-icons-only { width: 3.7em; }
+
+/*button text element */
+.ui-button .ui-button-text { display: block; line-height: 1.4; }
+.ui-button-text-only .ui-button-text { padding: .4em 1em; }
+.ui-button-icon-only .ui-button-text, .ui-button-icons-only .ui-button-text { padding: .4em; text-indent: -9999999px; }
+.ui-button-text-icon-primary .ui-button-text, .ui-button-text-icons .ui-button-text { padding: .4em 1em .4em 2.1em; }
+.ui-button-text-icon-secondary .ui-button-text, .ui-button-text-icons .ui-button-text { padding: .4em 2.1em .4em 1em; }
+.ui-button-text-icons .ui-button-text { padding-left: 2.1em; padding-right: 2.1em; }
+/* no icon support for input elements, provide padding by default */
+input.ui-button { padding: .4em 1em; }
+
+/*button icon element(s) */
+.ui-button-icon-only .ui-icon, .ui-button-text-icon-primary .ui-icon, .ui-button-text-icon-secondary .ui-icon, .ui-button-text-icons .ui-icon, .ui-button-icons-only .ui-icon { position: absolute; top: 50%; margin-top: -8px; }
+.ui-button-icon-only .ui-icon { left: 50%; margin-left: -8px; }
+.ui-button-text-icon-primary .ui-button-icon-primary, .ui-button-text-icons .ui-button-icon-primary, .ui-button-icons-only .ui-button-icon-primary { left: .5em; }
+.ui-button-text-icon-secondary .ui-button-icon-secondary, .ui-button-text-icons .ui-button-icon-secondary, .ui-button-icons-only .ui-button-icon-secondary { right: .5em; }
+.ui-button-text-icons .ui-button-icon-secondary, .ui-button-icons-only .ui-button-icon-secondary { right: .5em; }
+
+/*button sets*/
+.ui-buttonset { margin-right: 7px; }
+.ui-buttonset .ui-button { margin-left: 0; margin-right: -.3em; }
+
+/* workarounds */
+button.ui-button::-moz-focus-inner { border: 0; padding: 0; } /* reset extra padding in Firefox */
+/*!
+ * jQuery UI Dialog 1.8.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/Dialog#theming
+ */
+.ui-dialog { position: absolute; padding: .2em; width: 300px; overflow: hidden; }
+.ui-dialog .ui-dialog-titlebar { padding: .4em 1em; position: relative; }
+.ui-dialog .ui-dialog-title { float: left; margin: .1em 16px .1em 0; }
+.ui-dialog .ui-dialog-titlebar-close { position: absolute; right: .3em; top: 50%; width: 19px; margin: -10px 0 0 0; padding: 1px; height: 18px; }
+.ui-dialog .ui-dialog-titlebar-close span { display: block; margin: 1px; }
+.ui-dialog .ui-dialog-titlebar-close:hover, .ui-dialog .ui-dialog-titlebar-close:focus { padding: 0; }
+.ui-dialog .ui-dialog-content { position: relative; border: 0; padding: .5em 1em; background: none; overflow: auto; zoom: 1; }
+.ui-dialog .ui-dialog-buttonpane { text-align: left; border-width: 1px 0 0 0; background-image: none; margin: .5em 0 0 0; padding: .3em 1em .5em .4em; }
+.ui-dialog .ui-dialog-buttonpane .ui-dialog-buttonset { float: right; }
+.ui-dialog .ui-dialog-buttonpane button { margin: .5em .4em .5em 0; cursor: pointer; }
+.ui-dialog .ui-resizable-se { width: 14px; height: 14px; right: 3px; bottom: 3px; }
+.ui-draggable .ui-dialog-titlebar { cursor: move; }
+/*!
+ * jQuery UI Slider 1.8.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.
+ * 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.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/Datepicker#theming
+ */
+.ui-datepicker { width: 17em; padding: .2em .2em 0; display: none; }
+.ui-datepicker .ui-datepicker-header { position:relative; padding:.2em 0; }
+.ui-datepicker .ui-datepicker-prev, .ui-datepicker .ui-datepicker-next { position:absolute; top: 2px; width: 1.8em; height: 1.8em; }
+.ui-datepicker .ui-datepicker-prev-hover, .ui-datepicker .ui-datepicker-next-hover { top: 1px; }
+.ui-datepicker .ui-datepicker-prev { left:2px; }
+.ui-datepicker .ui-datepicker-next { right:2px; }
+.ui-datepicker .ui-datepicker-prev-hover { left:1px; }
+.ui-datepicker .ui-datepicker-next-hover { right:1px; }
+.ui-datepicker .ui-datepicker-prev span, .ui-datepicker .ui-datepicker-next span { display: block; position: absolute; left: 50%; margin-left: -8px; top: 50%; margin-top: -8px; }
+.ui-datepicker .ui-datepicker-title { margin: 0 2.3em; line-height: 1.8em; text-align: center; }
+.ui-datepicker .ui-datepicker-title select { font-size:1em; margin:1px 0; }
+.ui-datepicker select.ui-datepicker-month-year {width: 100%;}
+.ui-datepicker select.ui-datepicker-month,
+.ui-datepicker select.ui-datepicker-year { width: 49%;}
+.ui-datepicker table {width: 100%; font-size: .9em; border-collapse: collapse; margin:0 0 .4em; }
+.ui-datepicker th { padding: .7em .3em; text-align: center; font-weight: bold; border: 0; }
+.ui-datepicker td { border: 0; padding: 1px; }
+.ui-datepicker td span, .ui-datepicker td a { display: block; padding: .2em; text-align: right; text-decoration: none; }
+.ui-datepicker .ui-datepicker-buttonpane { background-image: none; margin: .7em 0 0 0; padding:0 .2em; border-left: 0; border-right: 0; border-bottom: 0; }
+.ui-datepicker .ui-datepicker-buttonpane button { float: right; margin: .5em .2em .4em; cursor: pointer; padding: .2em .6em .3em .6em; width:auto; overflow:visible; }
+.ui-datepicker .ui-datepicker-buttonpane button.ui-datepicker-current { float:left; }
+
+/* with multiple calendars */
+.ui-datepicker.ui-datepicker-multi { width:auto; }
+.ui-datepicker-multi .ui-datepicker-group { float:left; }
+.ui-datepicker-multi .ui-datepicker-group table { width:95%; margin:0 auto .4em; }
+.ui-datepicker-multi-2 .ui-datepicker-group { width:50%; }
+.ui-datepicker-multi-3 .ui-datepicker-group { width:33.3%; }
+.ui-datepicker-multi-4 .ui-datepicker-group { width:25%; }
+.ui-datepicker-multi .ui-datepicker-group-last .ui-datepicker-header { border-left-width:0; }
+.ui-datepicker-multi .ui-datepicker-group-middle .ui-datepicker-header { border-left-width:0; }
+.ui-datepicker-multi .ui-datepicker-buttonpane { clear:left; }
+.ui-datepicker-row-break { clear:both; width:100%; font-size:0em; }
+
+/* RTL support */
+.ui-datepicker-rtl { direction: rtl; }
+.ui-datepicker-rtl .ui-datepicker-prev { right: 2px; left: auto; }
+.ui-datepicker-rtl .ui-datepicker-next { left: 2px; right: auto; }
+.ui-datepicker-rtl .ui-datepicker-prev:hover { right: 1px; left: auto; }
+.ui-datepicker-rtl .ui-datepicker-next:hover { left: 1px; right: auto; }
+.ui-datepicker-rtl .ui-datepicker-buttonpane { clear:right; }
+.ui-datepicker-rtl .ui-datepicker-buttonpane button { float: left; }
+.ui-datepicker-rtl .ui-datepicker-buttonpane button.ui-datepicker-current { float:right; }
+.ui-datepicker-rtl .ui-datepicker-group { float:right; }
+.ui-datepicker-rtl .ui-datepicker-group-last .ui-datepicker-header { border-right-width:0; border-left-width:1px; }
+.ui-datepicker-rtl .ui-datepicker-group-middle .ui-datepicker-header { border-right-width:0; border-left-width:1px; }
+
+/* IE6 IFRAME FIX (taken from datepicker 1.5.3 */
+.ui-datepicker-cover {
+ position: absolute; /*must have*/
+ z-index: -1; /*must have*/
+ filter: mask(); /*must have*/
+ top: -4px; /*must have*/
+ left: -4px; /*must have*/
+ width: 200px; /*must have*/
+ height: 200px; /*must have*/
+}/*!
+ * jQuery UI Progressbar 1.8.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/Progressbar#theming
+ */
+.ui-progressbar { height:2em; text-align: left; overflow: hidden; }
+.ui-progressbar .ui-progressbar-value {margin: -1px; height:100%; }
--- /dev/null
+/*! 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.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.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),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)}),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.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.23"}),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.23 - 2012-08-15
+* 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.23"}),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.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.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.23",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.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.23 - 2012-08-15
+* 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.23 - 2012-08-15
+* 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};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||" ",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"),f=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(f);a.each(d,function(a,b){if(a==="click")return;a in e?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||" "))}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.23",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.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…</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.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?" ":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?" ":""));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?" ":"")+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);;/*! jQuery UI - v1.8.23 - 2012-08-15
+* 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.23"})})(jQuery);;/*! jQuery UI - v1.8.23 - 2012-08-15
+* 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.23",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}});var m={};a.each(["Quad","Cubic","Quart","Quint","Expo"],function(a,b){m[b]=function(b){return Math.pow(b,a+2)}}),a.extend(m,{Sine:function(a){return 1-Math.cos(a*Math.PI/2)},Circ:function(a){return 1-Math.sqrt(1-a*a)},Elastic:function(a){return a===0||a===1?a:-Math.pow(2,8*(a-1))*Math.sin(((a-1)*80-7.5)*Math.PI/15)},Back:function(a){return a*a*(3*a-2)},Bounce:function(a){var b,c=4;while(a<((b=Math.pow(2,--c))-1)/11);return 1/Math.pow(4,3-c)-7.5625*Math.pow((b*3-2)/22-a,2)}}),a.each(m,function(b,c){a.easing["easeIn"+b]=c,a.easing["easeOut"+b]=function(a){return 1-c(1-a)},a.easing["easeInOut"+b]=function(a){return a<.5?c(a*2)/2:c(a*-2+2)/-2+1}})}(jQuery);;/*! jQuery UI - v1.8.23 - 2012-08-15
+* 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);;
--- /dev/null
+/*! 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
--- /dev/null
+jQuery.cookie=function(b,j,m){if(typeof j!="undefined"){m=m||{};if(j===null){j="";m.expires=-1}var e="";if(m.expires&&(typeof m.expires=="number"||m.expires.toUTCString)){var f;if(typeof m.expires=="number"){f=new Date();f.setTime(f.getTime()+(m.expires*24*60*60*1000))}else{f=m.expires}e="; expires="+f.toUTCString()}var l=m.path?"; path="+(m.path):"";var g=m.domain?"; domain="+(m.domain):"";var a=m.secure?"; secure":"";document.cookie=[b,"=",encodeURIComponent(j),e,l,g,a].join("")}else{var d=null;if(document.cookie&&document.cookie!=""){var k=document.cookie.split(";");for(var h=0;h<k.length;h++){var c=jQuery.trim(k[h]);if(c.substring(0,b.length+1)==(b+"=")){d=decodeURIComponent(c.substring(b.length+1));break}}}return d}};
\ No newline at end of file
--- /dev/null
+/*
+
+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();
+};
--- /dev/null
+(function(jQuery){jQuery.fn.__bind__=jQuery.fn.bind;jQuery.fn.__unbind__=jQuery.fn.unbind;jQuery.fn.__find__=jQuery.fn.find;var hotkeys={version:'0.7.9',override:/keypress|keydown|keyup/g,triggersMap:{},specialKeys:{27:'esc',9:'tab',32:'space',13:'return',8:'backspace',145:'scroll',20:'capslock',144:'numlock',19:'pause',45:'insert',36:'home',46:'del',35:'end',33:'pageup',34:'pagedown',37:'left',38:'up',39:'right',40:'down',109:'-',112:'f1',113:'f2',114:'f3',115:'f4',116:'f5',117:'f6',118:'f7',119:'f8',120:'f9',121:'f10',122:'f11',123:'f12',191:'/'},shiftNums:{"`":"~","1":"!","2":"@","3":"#","4":"$","5":"%","6":"^","7":"&","8":"*","9":"(","0":")","-":"_","=":"+",";":":","'":"\"",",":"<",".":">","/":"?","\\":"|"},newTrigger:function(type,combi,callback){var result={};result[type]={};result[type][combi]={cb:callback,disableInInput:false};return result;}};hotkeys.specialKeys=jQuery.extend(hotkeys.specialKeys,{96:'0',97:'1',98:'2',99:'3',100:'4',101:'5',102:'6',103:'7',104:'8',105:'9',106:'*',107:'+',109:'-',110:'.',111:'/'});jQuery.fn.find=function(selector){this.query=selector;return jQuery.fn.__find__.apply(this,arguments);};jQuery.fn.unbind=function(type,combi,fn){if(jQuery.isFunction(combi)){fn=combi;combi=null;}
+if(combi&&typeof combi==='string'){var selectorId=((this.prevObject&&this.prevObject.query)||(this[0].id&&this[0].id)||this[0]).toString();var hkTypes=type.split(' ');for(var x=0;x<hkTypes.length;x++){delete hotkeys.triggersMap[selectorId][hkTypes[x]][combi];}}
+return this.__unbind__(type,fn);};jQuery.fn.bind=function(type,data,fn){var handle=type.match(hotkeys.override);if(jQuery.isFunction(data)||!handle){return this.__bind__(type,data,fn);}
+else{var result=null,pass2jq=jQuery.trim(type.replace(hotkeys.override,''));if(pass2jq){result=this.__bind__(pass2jq,data,fn);}
+if(typeof data==="string"){data={'combi':data};}
+if(data.combi){for(var x=0;x<handle.length;x++){var eventType=handle[x];var combi=data.combi.toLowerCase(),trigger=hotkeys.newTrigger(eventType,combi,fn),selectorId=((this.prevObject&&this.prevObject.query)||(this[0].id&&this[0].id)||this[0]).toString();trigger[eventType][combi].disableInInput=data.disableInInput;if(!hotkeys.triggersMap[selectorId]){hotkeys.triggersMap[selectorId]=trigger;}
+else if(!hotkeys.triggersMap[selectorId][eventType]){hotkeys.triggersMap[selectorId][eventType]=trigger[eventType];}
+var mapPoint=hotkeys.triggersMap[selectorId][eventType][combi];if(!mapPoint){hotkeys.triggersMap[selectorId][eventType][combi]=[trigger[eventType][combi]];}
+else if(mapPoint.constructor!==Array){hotkeys.triggersMap[selectorId][eventType][combi]=[mapPoint];}
+else{hotkeys.triggersMap[selectorId][eventType][combi][mapPoint.length]=trigger[eventType][combi];}
+this.each(function(){var jqElem=jQuery(this);if(jqElem.attr('hkId')&&jqElem.attr('hkId')!==selectorId){selectorId=jqElem.attr('hkId')+";"+selectorId;}
+jqElem.attr('hkId',selectorId);});result=this.__bind__(handle.join(' '),data,hotkeys.handler)}}
+return result;}};hotkeys.findElement=function(elem){if(!jQuery(elem).attr('hkId')){if(jQuery.browser.opera||jQuery.browser.safari){while(!jQuery(elem).attr('hkId')&&elem.parentNode){elem=elem.parentNode;}}}
+return elem;};hotkeys.handler=function(event){var target=hotkeys.findElement(event.currentTarget),jTarget=jQuery(target),ids=jTarget.attr('hkId');if(ids){ids=ids.split(';');var code=event.which,type=event.type,special=hotkeys.specialKeys[code],character=!special&&String.fromCharCode(code).toLowerCase(),shift=event.shiftKey,ctrl=event.ctrlKey,alt=event.altKey||event.originalEvent.altKey,mapPoint=null;for(var x=0;x<ids.length;x++){if(hotkeys.triggersMap[ids[x]][type]){mapPoint=hotkeys.triggersMap[ids[x]][type];break;}}
+if(mapPoint){var trigger;if(!shift&&!ctrl&&!alt){trigger=mapPoint[special]||(character&&mapPoint[character]);}
+else{var modif='';if(alt)modif+='alt+';if(ctrl)modif+='ctrl+';if(shift)modif+='shift+';trigger=mapPoint[modif+special];if(!trigger){if(character){trigger=mapPoint[modif+character]||mapPoint[modif+hotkeys.shiftNums[character]]||(modif==='shift+'&&mapPoint[hotkeys.shiftNums[character]]);}}}
+if(trigger){var result=false;for(var x=0;x<trigger.length;x++){if(trigger[x].disableInInput){var elem=jQuery(event.target);if(jTarget.is("input")||jTarget.is("textarea")||jTarget.is("select")||elem.is("input")||elem.is("textarea")||elem.is("select")){return true;}}
+result=result||trigger[x].cb.apply(this,[event]);}
+return result;}}}};window.hotkeys=hotkeys;return jQuery;})(jQuery);
\ No newline at end of file
background-color: #D3D3D3;
}
+/* ColumnFilter */
+span.filter_column > input.text_filter {
+ font-size: 80%;
+ width: 100%;
+}
a.yuimenuitemlabel-disabled, #disabled a {
color: #999;
}
+a.yuimenuitemlabel-disabled, #disabled2 a {
+ color: #999;
+}
a.yuimenuitemlabel-disabled:hover, #disabled a:hover {
color : #999;
}
/* jQuery UI Accordion */
.ui-accordion-header { font-weight: bold; font-size : 110%; }
+
+video {
+ width: 480px;
+}
jQueryUI we expose the localization strings in the default configuration */
jQuery(function($){
$.datepicker.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'),
+ 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: '[% IF ( dateformat_us ) %]mm/dd/yy[% ELSIF ( dateformat_metric ) %]dd/mm/yy[% ELSE %]yy-mm-dd[% END %]',
firstDay: [% CalendarFirstDayOfWeek %],
isRTL: [% IF ( bidi ) %]true[% ELSE %]false[% END %],
window.open("/cgi-bin/koha/cataloguing/z3950_search.pl?biblionumber=[% biblionumber %]"+strQuery,"z3950search",'width=740,height=450,location=yes,toolbar=no,scrollbars=yes,resize=yes');
}
}
+ function PopupZ3950Confirmed() {
+ if (confirm(_("Please note that this Z39.50 search could replace the current record."))){
+ PopupZ3950();
+ }
+ }
/* provide Z3950 search points */
function GetZ3950Terms(){
}
function printBiblio() {window.print(); }
[% IF ( CAN_user_editcatalogue_edit_catalogue ) %]
-function confirm_deletion() {
- var count = [% count %];
+ function confirm_deletion() {
+ var count = [% count %];
+ var holdcount = [% holdcount %];
+
var is_confirmed;
- if (count>0){
- is_confirmed= alert(_('There are [ '+ count +' ] item(s) attached to this record \n You must delete all items before deleting this record.'));
- } else{
- is_confirmed= confirm(_('Are you sure you want to delete this record? '));
- }
+ if (count > 0){
+ is_confirmed = alert( count + " " +_("item(s) are attached to this record.\nYou must delete all items before deleting this record.") );
+ } else if ( holdcount > 0 ) {
+ is_confirmed = confirm( holdcount + " " + _("holds(s) for this record \n Are you sure you want to delete this record?."));
+ } else {
+ is_confirmed = confirm(_("Are you sure you want to delete this record?"));
+ }
- if (is_confirmed) {
- if (count>0){
- // window.location="/cgi-bin/koha/catalogue/detail.pl?biblionumber=[% biblionumber %]";
- } else {
- window.location="/cgi-bin/koha/cataloguing/addbiblio.pl?op=delete&biblionumber=[% biblionumber %]";
- }
+ if (is_confirmed) {
+ if ( count > 0 || holdcount > 0 ){
+ return false;
+ } else {
+ window.location="/cgi-bin/koha/cataloguing/addbiblio.pl?op=delete&biblionumber=[% biblionumber %]";
+ }
} else {
- return false;
+ return false;
}
-}
+ }
[% END %]
+
[% IF ( CAN_user_editcatalogue_edit_items ) %]
-function confirm_items_deletion() {
+ function confirm_items_deletion() {
var count = [% count %];
- if(count > 0){
- if(confirm(_('Are you sure you want to delete the ' + count + ' attached items? '))){
+ var holdcount = [% holdcount %];
+
+ if ( holdcount > 0 ) {
+ alert( holdcount + " " + _("holds(s) for this record \n You must delete all holds before deleting all items.") );
+ } else if ( count > 0 ) {
+ if( confirm( _("Are you sure you want to delete the") + " " + count + " " + _("attached items?") ) ) {
window.location="/cgi-bin/koha/cataloguing/additem.pl?op=delallitems&biblionumber=[% biblionumber %]";
- }else{
+ } else {
return false;
}
- } else {
- alert(_("This record has no items."));
- return false;
- }
-}
+ } else {
+ alert(_("This record has no items."));
+ return false;
+ }
+ }
[% END %]
// prepare DOM for YUI Toolbar
[% 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 %]
[% IF ( CAN_user_editcatalogue_edit_catalogue ) %]{ text: _("Edit as new (duplicate)"), url: "/cgi-bin/koha/cataloguing/addbiblio.pl?biblionumber=[% biblionumber %]&frameworkcode=&op=duplicate" },[% END %]
[% IF ( CAN_user_editcatalogue_edit_catalogue ) %]{ text: _("Replace record via Z39.50"), onclick: {fn: PopupZ3950 } },[% END %]
- [% IF ( CAN_user_editcatalogue_edit_catalogue ) %]{ text: _("Delete record"), onclick: {fn: confirm_deletion }[% IF ( count ) %],id:'disabled'[% END %] },[% END %]
- [% IF ( CAN_user_editcatalogue_edit_items ) %]{ text: _("Delete all items"), onclick: {fn: confirm_items_deletion }[% UNLESS ( count ) %],id:'disabled'[% END %] }[% END %]
+ [% IF ( CAN_user_editcatalogue_edit_catalogue ) %]{ text: _("Delete record"), onclick: {fn: confirm_deletion }[% IF ( count || holdcount ) %],id:'disabled'[% END %] },[% END %]
+ [% IF ( CAN_user_editcatalogue_edit_items ) %]{ text: _("Delete all items"), onclick: {fn: confirm_items_deletion }[% IF ( count < 1 || holdcount ) %],id:'disabled2'[% END %] },[% END %]
];
if(editmenu.length){
new YAHOO.widget.Button({
[% 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="if (confirm(_('Please note that this Z39.50 search could replace the current record.'))){ PopupZ3950(); } return false;" /></li>[% END %]
+ [% IF ( CAN_user_editcatalogue_edit_catalogue ) %]<li id="z3950searchc"><input type="button" id="z3950search" value="Z39.50 Search" onclick="PopupZ3950Confirmed(); return false;" /></li>[% END %]
</ul>
</form>
</div>
+++ /dev/null
-<div id="toolbar">
- <script type="text/javascript">
- //<![CDATA[
-
-function confirm_deletion() {
- var is_confirmed = window.confirm(_('Are you sure you want to delete this patron? This cannot be undone.'));
- if (is_confirmed) {
- window.location='/cgi-bin/koha/members/deletemem.pl?member=[% borrowernumber %]';
- }
-}
-
-function confirm_updatechild() {
- var is_confirmed = window.confirm(_('Are you sure you want to update this child to an Adult category? This cannot be undone.'));
- if (is_confirmed) {
- window.location='/cgi-bin/koha/members/update-child.pl?op=update&borrowernumber=[% borrowernumber %]&catcode=[% catcode %]&catcode_multi=[% CATCODE_MULTI %]';
- }
-}
-
-function confirm_reregistration() {
- var is_confirmed = window.confirm(_('Are you sure you want to renew this patron\'s registration?'));
- // var borrowernumbervalue1 = $("#borrowernumber").attr("value");
- if (is_confirmed) {
- window.location = '/cgi-bin/koha/members/setstatus.pl?borrowernumber=[% borrowernumber %]&cardnumber=[% cardnumber %]&destination=circ&reregistration=y';
- }
-}
-
-function update_child() {
- // var borrowernumbervalue= $("#borrowernumber").attr("value");
-[% IF ( CATCODE_MULTI ) %]
- window.open('/cgi-bin/koha/members/update-child.pl?op=multi&borrowernumber=[% borrowernumber %]','UpdateChild','width=400,height=300,toolbar=no,scrollbars=yes,resizable=yes');
-[% ELSE %]
- confirm_updatechild();
-[% END %]
-}
-
-function export_barcodes() {
- window.open('/cgi-bin/koha/members/readingrec.pl?borrowernumber=[% borrowernumber %]&op=export_barcodes');
-}
-
- // prepare DOM for YUI Toolbar
-
- $(document).ready(function() {
- $("#printslip,#patronflags,#deletepatron").parent().remove();
- $("#moremenuc,#printmenuc,#searchtoholdc").empty();
- yuiToolbar();
- });
-
- // YUI Toolbar Functions
- var slip_re = /slip/;
- function printx_window(print_type) {
- var handler = print_type.match(slip_re) ? "printslip" : "moremember";
- window.open("/cgi-bin/koha/members/" + handler + ".pl?borrowernumber=[% borrowernumber %]&print=" + print_type, "printwindow");
- return false;
- }
- function searchToHold(){
- var date = new Date();
- date.setTime(date.getTime() + (10 * 60 * 1000));
- $.cookie("holdfor", "[% borrowernumber %]", { path: "/", expires: date });
- location.href="/cgi-bin/koha/catalogue/search.pl";
- }
- function yuiToolbar() {
- var printmenu = [
- [% IF ( CAN_user_borrowers ) %]
- { text: _("Print summary"), onclick: {fn: function(){printx_window("page")}} },
- [% END %]
- { text: _("Print slip"), onclick: {fn: function(){printx_window("slip")}} },
- { text: _("Print quick slip"), onclick: {fn: function(){printx_window("qslip")}} }
- ];
-
- var moremenu = [
- { text: _("Renew patron"), onclick: { fn: confirm_reregistration } },
- { text: _("Set permissions"), url: "/cgi-bin/koha/members/member-flags.pl?member=[% borrowernumber %]"[% UNLESS CAN_user_permissions %], disabled: true[% END %]},
- { text: _("Delete"), [% UNLESS CAN_user_borrowers %]disabled: true, [% END %] onclick: { fn: confirm_deletion } },
- { text: _("Update child to adult patron") , onclick: { fn: update_child }[% UNLESS is_child %], disabled: true[% END %]},
- { text: _("Export today's checked in barcodes"), onclick: { fn: export_barcodes }}
- ];
-
- new YAHOO.widget.Button({
- type: "menu",
- label: _("Print"),
- name: "printmenubutton",
- menu: printmenu,
- container: "printmenuc"
- });
- new YAHOO.widget.Button({
- id: "searchtohold",
- type: "button",
- label: _("Search to hold"),
- container: "searchtoholdc",
- onclick: {fn: searchToHold }
- });
- new YAHOO.widget.Button({
- type: "menu",
- label: _("More"),
- name: "moremenubutton",
- menu: moremenu,
- container: "moremenuc"
- });
-
- [% IF ( adultborrower ) %]new YAHOO.widget.Button("addchild");[% END %]
- new YAHOO.widget.Button("editpatron");
- new YAHOO.widget.Button("addnote");
- [% IF CAN_user_borrowers %] new YAHOO.widget.Button("changepassword"); [% END %]
- new YAHOO.widget.Button("duplicate");
- new YAHOO.widget.Button("printslip");
- new YAHOO.widget.Button("printpage");
- }
-
- //]]>
- </script>
- <ul class="toolbar">
- [% IF ( CAN_user_borrowers ) %]
- [% IF ( category_type ) %]
- [% IF ( guarantor ) %]
- <li><a id="editpatron" href="/cgi-bin/koha/members/memberentry.pl?op=modify&destination=circ&borrowernumber=[% borrowernumber %]&guarantorid=[% guarantorborrowernumber %]&category_type=[% category_type %]">
- [% ELSE %]
- <li><a id="editpatron" href="/cgi-bin/koha/members/memberentry.pl?op=modify&destination=circ&borrowernumber=[% borrowernumber %]&category_type=[% category_type %]">
- [% END %]Edit</a></li>
- [% ELSE %] <!-- try with categorycode if no category_type -->
- [% IF ( categorycode ) %]
- <li><a id="editpatron" href="/cgi-bin/koha/members/memberentry.pl?op=modify&destination=circ&borrowernumber=[% borrowernumber %]&categorycode=[% categorycode %]">Edit</a></li>
- [% ELSE %] <!-- if no categorycode, set category_type to A by default -->
- <li><a id="editpatron" href="/cgi-bin/koha/members/memberentry.pl?op=modify&destination=circ&borrowernumber=[% borrowernumber %]&category_type=A">Edit</a></li>
- [% END %]
- [% END %]
- [% END %]
- [% IF ( CAN_user_borrowers ) %]
- [% IF ( adultborrower AND activeBorrowerRelationship ) %]<li><a id="addchild" href="/cgi-bin/koha/members/memberentry.pl?op=add&guarantorid=[% borrowernumber %]&category_type=C">Add child</a></li>[% END %]
- [% IF ( CAN_user_borrowers ) %] <li><a id="changepassword" href="/cgi-bin/koha/members/member-password.pl?member=[% borrowernumber %]">Change password</a></li>[% END %]
- [% END %]
- <li><a id="duplicate" href="/cgi-bin/koha/members/memberentry.pl?op=duplicate&borrowernumber=[% borrowernumber %]&category_type=[% category_type %]">Duplicate</a></li>
- <li id="printmenuc"><a id="printpage" href="/cgi-bin/koha/members/moremember.pl?borrowernumber=[% borrowernumber %]&print=page">Print summary</a></li>
- <li><a id="printslip" href="/cgi-bin/koha/members/moremember.pl?borrowernumber=[% borrowernumber %]&print=slip">Print slip</a></li>
- <li id="searchtoholdc"><a id="searchtohold" href="#">Search to hold</a></li>
- <li id="moremenuc"><a id="renewpatron" href="/cgi-bin/koha/members/moremember.pl?reregistration=y&borrowernumber=[% borrowernumber %]">Renew account</a></li>
- [% IF ( CAN_user_permissions ) %]
- [% IF ( StaffMember ) %]
- [% IF ( CAN_user_staffaccess ) %]
- <li><a id="patronflags" href="/cgi-bin/koha/members/member-flags.pl?member=[% borrowernumber %]">Set permissions</a></li>
- [% END %]
- [% ELSE %]
- <li><a id="patronflags" href="/cgi-bin/koha/members/member-flags.pl?member=[% borrowernumber %]">Set permissions</a></li>
- [% END %]
- [% END %]
- [% IF ( StaffMember ) %][% UNLESS ( CAN_user_staffaccess ) %]<li><a id="deletepatron" href="javascript:confirm_deletion();">Delete</a></li>[% END %]
- [% ELSE %]<li><a id="deletepatron" href="javascript:confirm_deletion();">Delete</a></li>[% END %]
-
-</ul></div>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<link rel="shortcut icon" href="[% IF ( IntranetFavicon ) %][% IntranetFavicon %][% 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="[% interface %]/lib/jquery/jquery-ui.css" />
<link rel="stylesheet" type="text/css" media="print" href="[% themelang %]/css/print.css" />
[% IF ( intranetstylesheet ) %]
<link rel="stylesheet" type="text/css" href="[% intranetstylesheet %]" />
<link rel="stylesheet" type="text/css" href="[% themelang %]/css/staff-global.css" />
[% END %]
[% IF ( IntranetUserCSS ) %]<style type="text/css">[% IntranetUserCSS %]</style>[% END %]
-<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.hotkeys.min.js"></script>
-<script type="text/javascript" src="[% themelang %]/lib/jquery/plugins/jquery.cookie.min.js"></script>
-<script type="text/javascript" src="[% themelang %]/lib/jquery/plugins/jquery.highlight-3.js"></script>
+<script type="text/javascript" src="[% interface %]/lib/jquery/jquery.js"></script>
+<script type="text/javascript" src="[% interface %]/lib/jquery/jquery-ui.js"></script>
+<script type="text/javascript" src="[% interface %]/lib/jquery/plugins/jquery.hotkeys.min.js"></script>
+<script type="text/javascript" src="[% interface %]/lib/jquery/plugins/jquery.cookie.min.js"></script>
+<script type="text/javascript" src="[% interface %]/lib/jquery/plugins/jquery.highlight-3.js"></script>
[% IF ( login ) %]
<link rel="stylesheet" type="text/css" href="[% themelang %]/css/login.css" />
[% END %]
//]]>
</script>
[% END %]
-<script type="text/javascript" language="javascript">
+<script type="text/javascript">
//<![CDATA[
[% IF ( intranetbookbag ) %]var MSG_BASKET_EMPTY = _("Your cart is currently empty");
var MSG_RECORD_IN_BASKET = _("This item is already in your cart");
//]]>
</script>
[% IF ( virtualshelves || intranetbookbag ) %]
- <script type="text/javascript" language="javascript" src="[% themelang %]/js/basket.js"></script>
+ <script type="text/javascript" src="[% themelang %]/js/basket.js"></script>
[% END %]
[% IF LocalCoverImages %]
-<script type="text/javascript" language="javascript" src="[% themelang %]/js/localcovers.js"></script>
-<script type="text/javascript" language="javascript">
+<script type="text/javascript" src="[% themelang %]/js/localcovers.js"></script>
+<script type="text/javascript">
//<![CDATA[
var NO_LOCAL_JACKET = _("No cover image available");
//]]>
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
- "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-[% IF ( bidi ) %]<html lang="[% lang %]" xml:lang="[% lang %]" dir="[% bidi %]" xmlns="http://www.w3.org/1999/xhtml">[% ELSE %]<html lang="[% lang %]" xml:lang="[% lang %]" xmlns="http://www.w3.org/1999/xhtml">[% END %]
+<!DOCTYPE html>
+[% IF ( bidi ) %]<html lang="[% lang %]" dir="[% bidi %]">[% ELSE %]<html lang="[% lang %]">[% END %]
<head>
[% ELSE %]
You are not logged in |
[% END %]
- <a class="toplinks" href="/cgi-bin/koha/help.pl" id="helper" onclick="var link=window.open('','Koha_Help','width=600,height=600,toolbar=false,scrollbars=yes'); link.location='/cgi-bin/koha/help.pl'; return false;">[ ? ]</a>
+ <a class="toplinks" href="/cgi-bin/koha/help.pl" id="helper" onclick="var link=window.open('','Koha_Help','width=600,height=600,toolbar=false,scrollbars=yes'); link.location='/cgi-bin/koha/help.pl'; return false;">Help</a>
</div>
</div>
<title>Online Help</title>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<link rel="shortcut icon" href="[% IF ( IntranetFavicon ) %][% IntranetFavicon %][% 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="[% interface %]/lib/jquery/jquery-ui.css" />
<link rel="stylesheet" type="text/css" media="print" href="[% themelang %]/css/print.css" />
[% IF ( intranetstylesheet ) %]
<link rel="stylesheet" type="text/css" href="[% intranetstylesheet %]" />
[% ELSE %]
<link rel="stylesheet" type="text/css" href="[% themelang %]/css/staff-global.css" />
[% END %]
-<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.hotkeys.min.js"></script>
+<script type="text/javascript" src="[% interface %]/lib/jquery/jquery.js"></script>
+<script type="text/javascript" src="[% interface %]/lib/jquery/jquery-ui.js"></script>
+<script type="text/javascript" src="[% interface %]/lib/jquery/plugins/jquery.hotkeys.min.js"></script>
<!-- local colors -->
[% IF ( intranetcolorstylesheet ) %]
<link rel="stylesheet" type="text/css" href="[% themelang %]/css/[% intranetcolorstylesheet %]" />
<div id="toolbar">
- <script type="text/javascript">
- //<![CDATA[
-
+ <script type="text/javascript">
+ //<![CDATA[
+[% IF ( CAN_user_borrowers ) %]
function confirm_deletion() {
- var is_confirmed = window.confirm(_('Are you sure you want to delete this patron? This cannot be undone.'));
- if (is_confirmed) {
- window.location='/cgi-bin/koha/members/deletemem.pl?member=[% borrowernumber %]';
- }
-}
-function confirm_updatechild() {
- var is_confirmed = window.confirm(_('Are you sure you want to update this child to an Adult category? This cannot be undone.'));
-
+ var is_confirmed = window.confirm(_("Are you sure you want to delete this patron? This cannot be undone."));
if (is_confirmed) {
- window.location='/cgi-bin/koha/members/update-child.pl?op=update&borrowernumber=[% borrowernumber %]&catcode=[% catcode %]&catcode_multi=[% CATCODE_MULTI %]';
+ window.location='/cgi-bin/koha/members/deletemem.pl?member=[% borrowernumber %]';
}
}
-function confirm_reregistration() {
- var is_confirmed = window.confirm(_('Are you sure you want to renew this patron\'s registration?'));
+[% IF ( is_child ) %]function confirm_updatechild() {
+ var is_confirmed = window.confirm(_("Are you sure you want to update this child to an Adult category? This cannot be undone."));
if (is_confirmed) {
- window.location='/cgi-bin/koha/members/moremember.pl?reregistration=y&borrowernumber=[% borrowernumber %]';
+ window.location='/cgi-bin/koha/members/update-child.pl?op=update&borrowernumber=[% borrowernumber %]&catcode=[% catcode %]&catcode_multi=[% CATCODE_MULTI %]';
}
}
function update_child() {
[% IF ( CATCODE_MULTI ) %]
- window.open('update-child.pl?op=multi&borrowernumber=[% borrowernumber %]','UpdateChild','width=400,height=300,toolbar=no,scrollbars=yes,resizable=yes');
+ window.open('/cgi-bin/koha/members/update-child.pl?op=multi&borrowernumber=[% borrowernumber %]','UpdateChild','width=400,height=300,toolbar=no,scrollbars=yes,resizable=yes');
[% ELSE %]
confirm_updatechild();
[% END %]
+}[% ELSE %][% END %]
+
+function confirm_reregistration() {
+ var is_confirmed = window.confirm(_("Are you sure you want to renew this patron's registration?"));
+ if (is_confirmed) {
+ window.location = '/cgi-bin/koha/members/setstatus.pl?borrowernumber=[% borrowernumber %]&cardnumber=[% cardnumber %]&destination=[% destination %]&reregistration=y';
+ }
}
+function export_barcodes() {
+ window.open('/cgi-bin/koha/members/readingrec.pl?borrowernumber=[% borrowernumber %]&op=export_barcodes');
+}
+[% END %]
- // prepare DOM for YUI Toolbar
+ // prepare DOM for YUI Toolbar
- $(document).ready(function() {
- $("#printslip,#patronflags,#deletepatron").parent().remove();
- $("#moremenuc,#printmenuc,#searchtoholdc").empty();
- yuiToolbar();
- });
+ $(document).ready(function() {
+ $("#printslip,#patronflags,#deletepatron").parent().remove();
+ $("#moremenuc,#printmenuc,#searchtoholdc").empty();
+ yuiToolbar();
+ });
- // YUI Toolbar Functions
- function printx_window(print_type) {
- window.open("/cgi-bin/koha/members/moremember.pl?borrowernumber=[% borrowernumber %]&print=" + print_type, "printwindow");
- return false;
- }
- function searchToHold(){
- var date = new Date();
- date.setTime(date.getTime() + (10 * 60 * 1000));
- $.cookie("holdfor", "[% borrowernumber %]", { path: "/", expires: date });
- location.href="/cgi-bin/koha/catalogue/search.pl";
- }
- function yuiToolbar() {
- var printmenu = [
+ // YUI Toolbar Functions
+ var slip_re = /slip/;
+ function printx_window(print_type) {
+ var handler = print_type.match(slip_re) ? "printslip" : "moremember";
+ window.open("/cgi-bin/koha/members/" + handler + ".pl?borrowernumber=[% borrowernumber %]&print=" + print_type, "printwindow");
+ return false;
+ }
+ function searchToHold(){
+ var date = new Date();
+ date.setTime(date.getTime() + (10 * 60 * 1000));
+ $.cookie("holdfor", "[% borrowernumber %]", { path: "/", expires: date });
+ location.href="/cgi-bin/koha/catalogue/search.pl";
+ }
+ function yuiToolbar() {
+ var printmenu = [
{ text: _("Print summary"), onclick: {fn: function(){printx_window("page")}} },
{ text: _("Print slip"), onclick: {fn: function(){printx_window("slip")}} },
{ text: _("Print quick slip"), onclick: {fn: function(){printx_window("qslip")}} }
- ];
-
- var moremenu = [
- { text: _("Renew patron"), onclick: { fn: confirm_reregistration } },
- { text: _("Set permissions"), url: "/cgi-bin/koha/members/member-flags.pl?member=[% borrowernumber %]"[% UNLESS ( CAN_user_permissions ) %], disabled: true[% END %]},
- { text: _("Delete"), onclick: { fn: confirm_deletion}[% UNLESS ( CANDELETEUSER ) %], disabled: true[% END %] },
- { text: _("Update child to adult patron") , onclick: { fn: update_child }[% UNLESS ( is_child ) %], disabled: true[% END %]}
- ];
+ ];
- new YAHOO.widget.Button({
- type: "menu",
- label: _("Print"),
- name: "printmenubutton",
- menu: printmenu,
- container: "printmenuc"
- });
+ var moremenu = [
+ { text: _("Renew patron"), [% UNLESS CAN_user_borrowers %]disabled: true, [% END %] onclick: { fn: confirm_reregistration } },
+ { text: _("Set permissions"), url: "/cgi-bin/koha/members/member-flags.pl?member=[% borrowernumber %]"[% UNLESS CAN_user_permissions %], disabled: true[% END %]},
+ { text: _("Delete"), [% UNLESS CAN_user_borrowers %]disabled: true, [% END %] onclick: { fn: confirm_deletion } },
+ { text: _("Update child to adult patron")[% IF is_child && CAN_user_borrowers %], onclick: { fn: update_child }[% ELSE %], disabled: true[% END %]},
+ { text: _("Export today's checked in barcodes"), [% UNLESS CAN_user_borrowers %]disabled: true, [% END %] onclick: { fn: export_barcodes }}
+ ];
- new YAHOO.widget.Button({
- id: "searchtohold",
- type: "button",
- label: _("Search to hold"),
- container: "searchtoholdc",
- onclick: {fn: searchToHold }
- });
+ new YAHOO.widget.Button({
+ type: "menu",
+ label: _("Print"),
+ name: "printmenubutton",
+ menu: printmenu,
+ container: "printmenuc"
+ });
+ new YAHOO.widget.Button({
+ id: "searchtohold",
+ type: "button",
+ label: _("Search to hold"),
+ container: "searchtoholdc",
+ onclick: {fn: searchToHold }
+ });
+ new YAHOO.widget.Button({
+ type: "menu",
+ label: _("More"),
+ name: "moremenubutton",
+ menu: moremenu,
+ container: "moremenuc"
+ });
- new YAHOO.widget.Button({
- type: "menu",
- label: _("More"),
- name: "moremenubutton",
- menu: moremenu,
- container: "moremenuc"
- });
-
- [% IF ( adultborrower ) %]new YAHOO.widget.Button("addchild");[% END %]
- new YAHOO.widget.Button("editpatron");
- new YAHOO.widget.Button("addnote");
- [% IF CAN_user_borrowers %]new YAHOO.widget.Button("changepassword"); [% END %]
- new YAHOO.widget.Button("duplicate");
- new YAHOO.widget.Button("printslip");
- new YAHOO.widget.Button("printpage");
- }
-
- //]]>
+ [% IF ( CAN_user_borrowers ) %][% IF ( adultborrower ) %]new YAHOO.widget.Button("addchild");[% END %]
+ new YAHOO.widget.Button("editpatron");
+ new YAHOO.widget.Button("changepassword");
+ new YAHOO.widget.Button("duplicate");[% END %]
+ new YAHOO.widget.Button("printslip");
+ new YAHOO.widget.Button("printpage");
+ }
- </script>
- <ul class="toolbar">
- [% IF ( category_type ) %]
+ //]]>
+ </script>
+ <ul class="toolbar">
+ [% IF ( CAN_user_borrowers ) %]
+ [% IF ( category_type ) %]
[% IF ( guarantor ) %]
- <li><a id="editpatron" href="/cgi-bin/koha/members/memberentry.pl?op=modify&borrowernumber=[% borrowernumber %]&guarantorid=[% guarantorborrowernumber %]&category_type=[% category_type %]">
+ <li><a id="editpatron" href="/cgi-bin/koha/members/memberentry.pl?op=modify&destination=[% destination %]&borrowernumber=[% borrowernumber %]&guarantorid=[% guarantorborrowernumber %]&category_type=[% category_type %]">
[% ELSE %]
- <li><a id="editpatron" href="/cgi-bin/koha/members/memberentry.pl?op=modify&borrowernumber=[% borrowernumber %]&category_type=[% category_type %]">
+ <li><a id="editpatron" href="/cgi-bin/koha/members/memberentry.pl?op=modify&destination=[% destination %]&borrowernumber=[% borrowernumber %]&category_type=[% category_type %]">
[% END %]Edit</a></li>
[% ELSE %] <!-- try with categorycode if no category_type -->
[% IF ( categorycode ) %]
- <li><a id="editpatron" href="/cgi-bin/koha/members/memberentry.pl?op=modify&borrowernumber=[% borrowernumber %]&categorycode=[% categorycode %]">Edit</a></li>
+ <li><a id="editpatron" href="/cgi-bin/koha/members/memberentry.pl?op=modify&destination=[% destination %]&borrowernumber=[% borrowernumber %]&categorycode=[% categorycode %]">Edit</a></li>
[% ELSE %] <!-- if no categorycode, set category_type to A by default -->
- <li><a id="editpatron" href="/cgi-bin/koha/members/memberentry.pl?op=modify&borrowernumber=[% borrowernumber %]&category_type=A">Edit</a></li>
+ <li><a id="editpatron" href="/cgi-bin/koha/members/memberentry.pl?op=modify&destination=[% destination %]&borrowernumber=[% borrowernumber %]&category_type=A">Edit</a></li>
[% END %]
[% END %]
- [% IF ( adultborrower AND activeBorrowerRelationship ) %]<li><a id="addchild" href="/cgi-bin/koha/members/memberentry.pl?op=add&guarantorid=[% borrowernumber %]&category_type=C">Add child</a></li>[% END %]
- [% IF CAN_user_borrowers %]<li><a id="changepassword" href="/cgi-bin/koha/members/member-password.pl?member=[% borrowernumber %]">Change password</a></li> [% END %]
- <li><a id="duplicate" href="/cgi-bin/koha/members/memberentry.pl?op=duplicate&borrowernumber=[% borrowernumber %]&category_type=[% category_type %]">Duplicate</a></li>
+ [% IF ( adultborrower AND activeBorrowerRelationship ) %]<li><a id="addchild" href="/cgi-bin/koha/members/memberentry.pl?op=add&guarantorid=[% borrowernumber %]&category_type=C">Add child</a></li>[% END %]
+ <li><a id="changepassword" href="/cgi-bin/koha/members/member-password.pl?member=[% borrowernumber %]">Change password</a></li>
+ <li><a id="duplicate" href="/cgi-bin/koha/members/memberentry.pl?op=duplicate&borrowernumber=[% borrowernumber %]&category_type=[% category_type %]">Duplicate</a></li>
+ [% END %]
<li id="printmenuc"><a id="printpage" href="/cgi-bin/koha/members/moremember.pl?borrowernumber=[% borrowernumber %]&print=page">Print summary</a></li>
<li><a id="printslip" href="/cgi-bin/koha/members/moremember.pl?borrowernumber=[% borrowernumber %]&print=slip">Print slip</a></li>
- <li id="searchtoholdc"><a id="searchtohold" href="#">Search to hold</a></li>
- <li id="moremenuc"><a id="renewpatron" href="/cgi-bin/koha/members/moremember.pl?reregistration=y&borrowernumber=[% borrowernumber %]">Renew account</a></li>[% IF ( CAN_user_permissions ) %]<li><a id="patronflags" href="/cgi-bin/koha/members/member-flags.pl?member=[% borrowernumber %]">Set permissions</a></li>[% END %]<li><a id="deletepatron" href="javascript:confirm_deletion();">Delete</a></li>
+ <li id="searchtoholdc"><a id="searchtohold" href="#">Search to hold</a></li>
+ [% IF ( CAN_user_borrowers ) %]<li id="moremenuc"><a id="renewpatron" href="/cgi-bin/koha/members/moremember.pl?reregistration=y&borrowernumber=[% borrowernumber %]">Renew account</a></li>[% END %]
+ [% IF ( CAN_user_permissions ) %]
+ [% IF ( CAN_user_staffaccess ) %]
+ <li><a id="patronflags" href="/cgi-bin/koha/members/member-flags.pl?member=[% borrowernumber %]">Set permissions</a></li>
+ [% END %]
+ [% END %]
+ [% IF ( CAN_user_staffaccess ) %]<li><a id="deletepatron" href="#" onclick="confirm_deletion();">Delete</a></li>[% END %]
+
</ul></div>
<option value='streettype,address,address2,city,state,zipcode,country'>Street Address</option>
</select>
+ <label for="searchtype">Search type:</label>
+ <select name="searchtype" id="searchtype">
+ <option selected="selected" value=''>Starts with</option>
+ <option value='contain'>Contains</option>
+ </select>
+
<label for="orderby">Order by:</label>
<select name="orderby" id="searchorderby">
<option value="">Surname, Firstname</option>
<option value="aud:b">pre-primary (0-5)</option>
<option value="aud:c">primary (5-8)</option>
<option value="aud:d">children (9-14)</option>
- <option value="aud:e">young Adult</option>
+ <option value="aud:e">young adult</option>
<option value="aud:k">adult, serious</option>
<option value="aud:m">adult, general</option>
<option value="aud:u">unknown</option>
<option value="ctype:r" >literature surveys/reviews</option>
<option value="ctype:s" >treaties</option>
<option value="ctype:t" >cartoons or comic strips</option>
- <option value="ctype:v" >dissertation or thesis (revised)</option>v
+ <option value="ctype:v" >dissertation or thesis (revised)</option>
<option value="ctype:w" >religious text</option>
<option value="ctype:z" >other</option>
</select>
<li><a href="/cgi-bin/koha/patroncards/home.pl">Patron card creator</a></li>
[% END %]
[% IF ( CAN_user_tools_delete_anonymize_patrons ) %]
- <li><a href="/cgi-bin/koha/tools/cleanborrowers.pl">Patrons (anonymize, bulk-delete)</a></li>
+ <li><a href="/cgi-bin/koha/tools/cleanborrowers.pl">Batch patron deletion/anonymization</a></li>
[% END %]
[% IF ( CAN_user_tools_edit_patrons ) %]
<li><a href="/cgi-bin/koha/tools/modborrowers.pl">Batch patron modification</a></li>
if(document.location = '/cgi-bin/koha/acqui/basketgroup.pl?op=closeandprint&basketgroupid=' + bg ){
setTimeout("window.location.reload();",3000);
}else{
- alert(_('Error downloading the file'));
+ alert(_("Error downloading the file"));
}
}
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 currcode = new String($("#currency").val());
+ var exchangerate = new Number($("#currency_rate_"+currcode).val());
var gst_on=false;
var rrp = new Number(listprice*exchangerate);
// var currency = f.currency.value;
var currcode = new String(document.getElementById('currency').value);
var price = new Number(document.getElementById('price').value);
- var exchangerate = new Number(document.getElementById(currcode).value);
+ var exchangerate = new Number(document.getElementById('currency_rate_'+currcode).value);
var total = new Number(quantity*price*exchangerate);
cache: false,
dataType: 'json',
type: 'POST',
- error: function ( xhr, stat, error ) { KOHA.AJAX.BaseError( error_callback, xhr, stat, error ) }
+ error: function ( xhr, stat, error ) { KOHA.AJAX.BaseError( error_callback, xhr, stat, error ); }
} );
$.ajax( options );
},
KOHA.xhr = xhr;
if ( !xhr.getResponseHeader( 'content-type' ).match( 'application/json' ) ) {
// Something really failed
- humanMsg.displayAlert( _( 'Internal Server Error, please reload the page' ) );
+ humanMsg.displayAlert( _("Internal Server Error, please reload the page") );
return;
}
var error = eval( '(' + xhr.responseText + ')' );
if ( error.type == 'auth' ) {
- humanMsg.displayMsg( _( 'You need to log in again, your session has timed out' ) );
+ humanMsg.displayMsg( _("You need to log in again, your session has timed out") );
}
if ( callback ) {
callback( error );
} else {
- humanMsg.displayAlert( _( 'Error; your data might not have been saved' ) );
+ humanMsg.displayAlert( _("Error; your data might not have been saved") );
}
},
MarkRunning: function ( selector, text ) {
- text = text || _( 'Loading...' );
+ text = text || _("Loading...");
$( selector )
.attr( 'disabled', 'disabled' )
.each( function () {
var $image = $( '<img src="/intranet-tmpl/prog/img/spinner-small.gif" alt="" class="spinner" />' );
var selector_type = this.localName;
- if (selector_type == undefined) selector_type = this.nodeName; // IE only
+ if (selector_type === undefined) selector_type = this.nodeName; // IE only
switch ( selector_type.toLowerCase() ) {
case 'input':
$( this ).data( 'original-text', this.value );
.removeAttr( 'disabled' )
.each( function () {
var selector_type = this.localName;
- if (selector_type == undefined) selector_type = this.nodeName; // IE only
+ if (selector_type === undefined) selector_type = this.nodeName; // IE only
switch ( selector_type.toLowerCase() ) {
case 'input':
this.value = $( this ).data( 'original-text' );
} )
.removeData( 'original-text' );
}
-}
+};
// this function checks id date is like DD/MM/YYYY
function CheckDate(field) {
var d = field.value;
-if (d!="") {
- var amin = 1900;
- var amax = 2100;
+if (d!=="") {
+ var amin = 1900;
+ var amax = 2100;
var date = d.split("/");
var ok=1;
var msg;
if ( (date.length < 2) && (ok==1) ) {
msg = MSG_SEPARATOR+field.name;
- alert(msg); ok=0; field.focus();
- return;
+ alert(msg); ok=0; field.focus();
+ return;
}
var dd = date[0];
var mm = date[1];
- var yyyy = date[2];
+ var yyyy = date[2];
// checking days
if ( ((isNaN(dd))||(dd<1)||(dd>31)) && (ok==1) ) {
msg = MSG_INCORRECT_DAY+field.name;
- alert(msg); ok=0; field.focus();
- return false;
+ alert(msg); ok=0; field.focus();
+ return false;
}
// checking months
if ( ((isNaN(mm))||(mm<1)||(mm>12)) && (ok==1) ) {
msg = MSG_INCORRECT_MONTH+field.name;
- alert(msg); ok=0; field.focus();
- return false;
+ alert(msg); ok=0; field.focus();
+ return false;
}
// checking years
if ( ((isNaN(yyyy))||(yyyy<amin)||(yyyy>amax)) && (ok==1) ) {
msg = MSG_INCORRECT_YEAR+field.name;
- alert(msg); ok=0; field.focus();
- return false;
+ alert(msg); ok=0; field.focus();
+ return false;
}
}
}
var msg1;
var msg2;
if ( document.form.check_member.value==1){
- if (document.form.categorycode.value != "I"){
-
- msg1 += MSG_DUPLICATE_PATRON;
- alert(msg1);
- check_form_borrowers(0);
- document.form.submit();
-
- }else{
- msg2 += MSG_DUPLICATE_ORGANIZATION;
- alert(msg2);
- check_form_borrowers(0);
- }
+ if (document.form.categorycode.value != "I"){
+
+ msg1 += MSG_DUPLICATE_PATRON;
+ alert(msg1);
+ check_form_borrowers(0);
+ document.form.submit();
+
+ }else{
+ msg2 += MSG_DUPLICATE_ORGANIZATION;
+ alert(msg2);
+ check_form_borrowers(0);
+ }
}
else
{
- document.form.submit();
+ document.form.submit();
}
}
function check_manip_date(status) {
if (status=='verify'){
// this part of function('verify') is used to check if dateenrolled<date expiry
-if (document.form.dateenrolled != '' && document.form.dateexpiry.value !='') {
+if (document.form.dateenrolled !== '' && document.form.dateexpiry.value !=='') {
var myDate1=document.form.dateenrolled.value.split ('/');
var myDate2=document.form.dateexpiry.value.split ('/');
- if ((myDate1[2]>myDate2[2])||(myDate1[2]==myDate2[2] && myDate1[1]>myDate2[1])||(myDate1[2]==myDate2[2] && myDate1[1]>=myDate2[1] && myDate1[0]>=myDate2[0]))
-
- {
- document.form.dateenrolled.focus();
- var msg = MSG_LATE_EXPIRY;
- alert(msg);
- }
- }
- }
+ if ((myDate1[2]>myDate2[2])||(myDate1[2]==myDate2[2] && myDate1[1]>myDate2[1])||(myDate1[2]==myDate2[2] && myDate1[1]>=myDate2[1] && myDate1[0]>=myDate2[0]))
+
+ {
+ document.form.dateenrolled.focus();
+ var msg = MSG_LATE_EXPIRY;
+ alert(msg);
+ }
+ }
+ }
}
//end function
// function to test all fields in forms and nav in different forms(1 ,2 or 3)
function check_form_borrowers(nav){
- var statut=0;
- var message = "";
- var message_champ="";
- if (document.form.check_member.value == 1 )
- {
- if (document.form_double.answernodouble) {
- if( (!(document.form_double.answernodouble.checked))){
- document.form.nodouble.value=0;
- } else {
- document.form.nodouble.value=1;
- }
- }
- }
-
- if (document.form.BorrowerMandatoryField.value=='')
- {}
- else
- {
- var champ_verif = document.form.BorrowerMandatoryField.value.split ('|');
- message += MSG_MISSING_MANDATORY
- message += "\n";
- for (var i=0; i<champ_verif.length; i++) {
- if (document.getElementsByName(""+champ_verif[i]+"")[0]) {
- var val_champ=eval("document.form."+champ_verif[i]+".value");
- var ref_champ=eval("document.form."+champ_verif[i]);
- //check if it's a select
- if (ref_champ.type=='select-one'){
- // check to see if first option is selected and is blank
- if (ref_champ.options[0].selected &&
- ref_champ.options[0].text == ''){
- // action if field is empty
- message_champ+=champ_verif[i]+"\n";
- //test to know if you must show a message with error
- statut=1;
- }
- } else {
- if ( val_champ == '' ) {
- // action if the field is not empty
- message_champ+=champ_verif[i]+"\n";
- statut=1;
- }
- }
- }
- }
- }
+ var statut=0;
+ var message = "";
+ var message_champ="";
+ if (document.form.check_member.value == 1 )
+ {
+ if (document.form_double.answernodouble) {
+ if( (!(document.form_double.answernodouble.checked))){
+ document.form.nodouble.value=0;
+ } else {
+ document.form.nodouble.value=1;
+ }
+ }
+ }
- if ( document.form.password.value != document.form.password2.value ){
- if ( message_champ != '' ){
- message_champ += "\n";
- }
- message_champ+= MSG_PASSWORD_MISMATCH;
- statut=1;
- }
+ if (document.form.BorrowerMandatoryField.value==='')
+ {}
+ else
+ {
+ var champ_verif = document.form.BorrowerMandatoryField.value.split ('|');
+ message += MSG_MISSING_MANDATORY;
+ message += "\n";
+ for (var i=0; i<champ_verif.length; i++) {
+ if (document.getElementsByName(""+champ_verif[i]+"")[0]) {
+ var val_champ=eval("document.form."+champ_verif[i]+".value");
+ var ref_champ=eval("document.form."+champ_verif[i]);
+ //check if it's a select
+ if (ref_champ.type=='select-one'){
+ // check to see if first option is selected and is blank
+ if (ref_champ.options[0].selected &&
+ ref_champ.options[0].text === ''){
+ // action if field is empty
+ message_champ+=champ_verif[i]+"\n";
+ //test to know if you must show a message with error
+ statut=1;
+ }
+ } else {
+ if ( val_champ === '' ) {
+ // action if the field is not empty
+ message_champ+=champ_verif[i]+"\n";
+ statut=1;
+ }
+ }
+ }
+ }
+ }
+
+ if ( document.form.password.value != document.form.password2.value ){
+ if ( message_champ !== '' ){
+ message_champ += "\n";
+ }
+ message_champ+= MSG_PASSWORD_MISMATCH;
+ statut=1;
+ }
- //patrons form to test if you checked no to the question of double
- if (statut!=1 && document.form.check_member.value > 0 ) {
- if (!(document.form_double.answernodouble.checked)){
- message_champ+= MSG_DUPLICATE_SUSPICION;
- statut=1;
- document.form.nodouble.value=0;
- } else {
- document.form.nodouble.value=1;
- }
- }
-
- if (statut==1){
- //alert if at least 1 error
- alert(message+"\n"+message_champ);
- return false;
- } else {
- document.form.submit();
- }
+ //patrons form to test if you checked no to the question of double
+ if (statut!=1 && document.form.check_member.value > 0 ) {
+ if (!(document.form_double.answernodouble.checked)){
+ message_champ+= MSG_DUPLICATE_SUSPICION;
+ statut=1;
+ document.form.nodouble.value=0;
+ } else {
+ document.form.nodouble.value=1;
+ }
+ }
+
+ if (statut==1){
+ //alert if at least 1 error
+ alert(message+"\n"+message_champ);
+ return false;
+ } else {
+ document.form.submit();
+ }
}
function Dopop(link) {
-// // var searchstring=document.form.value[i].value;
- var newin=window.open(link,'popup','width=600,height=400,resizable=no,toolbar=false,scrollbars=no,top');
+// // var searchstring=document.form.value[i].value;
+ var newin=window.open(link,'popup','width=600,height=400,resizable=no,toolbar=false,scrollbars=no,top');
}
function Dopopguarantor(link) {
- var newin=window.open(link,'popup','width=600,height=400,resizable=no,toolbar=false,scrollbars=yes,top');
+ var newin=window.open(link,'popup','width=600,height=400,resizable=no,toolbar=false,scrollbars=yes,top');
}
$(document).ready(function(){
var words = to_highlight.split( ' ' );
$( '.prefs-tab table' ).find( 'td, th' ).not( '.name-cell' ).each( function ( i, td ) {
$.each( words, function ( i, word ) { $( td ).highlight( word ) } );
- } ).find( 'option' ).removeHighlight();
+ } ).find( 'option, textarea' ).removeHighlight();
}
if ( search_jumped ) {
+++ /dev/null
-/*!
- * 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.
- * 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.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/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 #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 #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 #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 #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 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 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 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; }
-.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 Accordion 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/Accordion#theming
- */
-/* IE/Win - Fix animation bug - #4615 */
-.ui-accordion { width: 100%; }
-.ui-accordion .ui-accordion-header { cursor: pointer; position: relative; margin-top: 1px; zoom: 1; }
-.ui-accordion .ui-accordion-li-fix { display: inline; }
-.ui-accordion .ui-accordion-header-active { border-bottom: 0 !important; }
-.ui-accordion .ui-accordion-header a { display: block; font-size: 1em; padding: .5em .5em .5em .7em; }
-.ui-accordion-icons .ui-accordion-header a { padding-left: 2.2em; }
-.ui-accordion .ui-accordion-header .ui-icon { position: absolute; left: .5em; top: 50%; margin-top: -8px; }
-.ui-accordion .ui-accordion-content { padding: 1em 2.2em; border-top: 0; margin-top: -2px; position: relative; top: 1px; margin-bottom: 2px; overflow: auto; display: none; zoom: 1; }
-.ui-accordion .ui-accordion-content-active { display: block; }
-/*!
- * jQuery UI Autocomplete 1.8.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/Autocomplete#theming
- */
-.ui-autocomplete { position: absolute; cursor: default; }
-
-/* workarounds */
-* html .ui-autocomplete { width:1px; } /* without this, the menu expands to 100% in IE6 */
-
-/*
- * jQuery UI Menu 1.8.23
- *
- * Copyright 2010, AUTHORS.txt (http://jqueryui.com/about)
- * Dual licensed under the MIT or GPL Version 2 licenses.
- * http://jquery.org/license
- *
- * http://docs.jquery.com/UI/Menu#theming
- */
-.ui-menu {
- list-style:none;
- padding: 2px;
- margin: 0;
- display:block;
- float: left;
-}
-.ui-menu .ui-menu {
- margin-top: -3px;
-}
-.ui-menu .ui-menu-item {
- margin:0;
- padding: 0;
- zoom: 1;
- float: left;
- clear: left;
- width: 100%;
-}
-.ui-menu .ui-menu-item a {
- text-decoration:none;
- display:block;
- padding:.2em .4em;
- line-height:1.5;
- zoom:1;
-}
-.ui-menu .ui-menu-item a.ui-state-hover,
-.ui-menu .ui-menu-item a.ui-state-active {
- font-weight: normal;
- margin: -1px;
-}
-/*!
- * jQuery UI Button 1.8.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/Button#theming
- */
-.ui-button { display: inline-block; position: relative; padding: 0; margin-right: .1em; text-decoration: none !important; cursor: pointer; text-align: center; zoom: 1; overflow: visible; } /* the overflow property removes extra width in IE */
-.ui-button-icon-only { width: 2.2em; } /* to make room for the icon, a width needs to be set here */
-button.ui-button-icon-only { width: 2.4em; } /* button elements seem to need a little more width */
-.ui-button-icons-only { width: 3.4em; }
-button.ui-button-icons-only { width: 3.7em; }
-
-/*button text element */
-.ui-button .ui-button-text { display: block; line-height: 1.4; }
-.ui-button-text-only .ui-button-text { padding: .4em 1em; }
-.ui-button-icon-only .ui-button-text, .ui-button-icons-only .ui-button-text { padding: .4em; text-indent: -9999999px; }
-.ui-button-text-icon-primary .ui-button-text, .ui-button-text-icons .ui-button-text { padding: .4em 1em .4em 2.1em; }
-.ui-button-text-icon-secondary .ui-button-text, .ui-button-text-icons .ui-button-text { padding: .4em 2.1em .4em 1em; }
-.ui-button-text-icons .ui-button-text { padding-left: 2.1em; padding-right: 2.1em; }
-/* no icon support for input elements, provide padding by default */
-input.ui-button { padding: .4em 1em; }
-
-/*button icon element(s) */
-.ui-button-icon-only .ui-icon, .ui-button-text-icon-primary .ui-icon, .ui-button-text-icon-secondary .ui-icon, .ui-button-text-icons .ui-icon, .ui-button-icons-only .ui-icon { position: absolute; top: 50%; margin-top: -8px; }
-.ui-button-icon-only .ui-icon { left: 50%; margin-left: -8px; }
-.ui-button-text-icon-primary .ui-button-icon-primary, .ui-button-text-icons .ui-button-icon-primary, .ui-button-icons-only .ui-button-icon-primary { left: .5em; }
-.ui-button-text-icon-secondary .ui-button-icon-secondary, .ui-button-text-icons .ui-button-icon-secondary, .ui-button-icons-only .ui-button-icon-secondary { right: .5em; }
-.ui-button-text-icons .ui-button-icon-secondary, .ui-button-icons-only .ui-button-icon-secondary { right: .5em; }
-
-/*button sets*/
-.ui-buttonset { margin-right: 7px; }
-.ui-buttonset .ui-button { margin-left: 0; margin-right: -.3em; }
-
-/* workarounds */
-button.ui-button::-moz-focus-inner { border: 0; padding: 0; } /* reset extra padding in Firefox */
-/*!
- * jQuery UI Dialog 1.8.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/Dialog#theming
- */
-.ui-dialog { position: absolute; padding: .2em; width: 300px; overflow: hidden; }
-.ui-dialog .ui-dialog-titlebar { padding: .4em 1em; position: relative; }
-.ui-dialog .ui-dialog-title { float: left; margin: .1em 16px .1em 0; }
-.ui-dialog .ui-dialog-titlebar-close { position: absolute; right: .3em; top: 50%; width: 19px; margin: -10px 0 0 0; padding: 1px; height: 18px; }
-.ui-dialog .ui-dialog-titlebar-close span { display: block; margin: 1px; }
-.ui-dialog .ui-dialog-titlebar-close:hover, .ui-dialog .ui-dialog-titlebar-close:focus { padding: 0; }
-.ui-dialog .ui-dialog-content { position: relative; border: 0; padding: .5em 1em; background: none; overflow: auto; zoom: 1; }
-.ui-dialog .ui-dialog-buttonpane { text-align: left; border-width: 1px 0 0 0; background-image: none; margin: .5em 0 0 0; padding: .3em 1em .5em .4em; }
-.ui-dialog .ui-dialog-buttonpane .ui-dialog-buttonset { float: right; }
-.ui-dialog .ui-dialog-buttonpane button { margin: .5em .4em .5em 0; cursor: pointer; }
-.ui-dialog .ui-resizable-se { width: 14px; height: 14px; right: 3px; bottom: 3px; }
-.ui-draggable .ui-dialog-titlebar { cursor: move; }
-/*!
- * jQuery UI Slider 1.8.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.
- * 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.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/Datepicker#theming
- */
-.ui-datepicker { width: 17em; padding: .2em .2em 0; display: none; }
-.ui-datepicker .ui-datepicker-header { position:relative; padding:.2em 0; }
-.ui-datepicker .ui-datepicker-prev, .ui-datepicker .ui-datepicker-next { position:absolute; top: 2px; width: 1.8em; height: 1.8em; }
-.ui-datepicker .ui-datepicker-prev-hover, .ui-datepicker .ui-datepicker-next-hover { top: 1px; }
-.ui-datepicker .ui-datepicker-prev { left:2px; }
-.ui-datepicker .ui-datepicker-next { right:2px; }
-.ui-datepicker .ui-datepicker-prev-hover { left:1px; }
-.ui-datepicker .ui-datepicker-next-hover { right:1px; }
-.ui-datepicker .ui-datepicker-prev span, .ui-datepicker .ui-datepicker-next span { display: block; position: absolute; left: 50%; margin-left: -8px; top: 50%; margin-top: -8px; }
-.ui-datepicker .ui-datepicker-title { margin: 0 2.3em; line-height: 1.8em; text-align: center; }
-.ui-datepicker .ui-datepicker-title select { font-size:1em; margin:1px 0; }
-.ui-datepicker select.ui-datepicker-month-year {width: 100%;}
-.ui-datepicker select.ui-datepicker-month,
-.ui-datepicker select.ui-datepicker-year { width: 49%;}
-.ui-datepicker table {width: 100%; font-size: .9em; border-collapse: collapse; margin:0 0 .4em; }
-.ui-datepicker th { padding: .7em .3em; text-align: center; font-weight: bold; border: 0; }
-.ui-datepicker td { border: 0; padding: 1px; }
-.ui-datepicker td span, .ui-datepicker td a { display: block; padding: .2em; text-align: right; text-decoration: none; }
-.ui-datepicker .ui-datepicker-buttonpane { background-image: none; margin: .7em 0 0 0; padding:0 .2em; border-left: 0; border-right: 0; border-bottom: 0; }
-.ui-datepicker .ui-datepicker-buttonpane button { float: right; margin: .5em .2em .4em; cursor: pointer; padding: .2em .6em .3em .6em; width:auto; overflow:visible; }
-.ui-datepicker .ui-datepicker-buttonpane button.ui-datepicker-current { float:left; }
-
-/* with multiple calendars */
-.ui-datepicker.ui-datepicker-multi { width:auto; }
-.ui-datepicker-multi .ui-datepicker-group { float:left; }
-.ui-datepicker-multi .ui-datepicker-group table { width:95%; margin:0 auto .4em; }
-.ui-datepicker-multi-2 .ui-datepicker-group { width:50%; }
-.ui-datepicker-multi-3 .ui-datepicker-group { width:33.3%; }
-.ui-datepicker-multi-4 .ui-datepicker-group { width:25%; }
-.ui-datepicker-multi .ui-datepicker-group-last .ui-datepicker-header { border-left-width:0; }
-.ui-datepicker-multi .ui-datepicker-group-middle .ui-datepicker-header { border-left-width:0; }
-.ui-datepicker-multi .ui-datepicker-buttonpane { clear:left; }
-.ui-datepicker-row-break { clear:both; width:100%; font-size:0em; }
-
-/* RTL support */
-.ui-datepicker-rtl { direction: rtl; }
-.ui-datepicker-rtl .ui-datepicker-prev { right: 2px; left: auto; }
-.ui-datepicker-rtl .ui-datepicker-next { left: 2px; right: auto; }
-.ui-datepicker-rtl .ui-datepicker-prev:hover { right: 1px; left: auto; }
-.ui-datepicker-rtl .ui-datepicker-next:hover { left: 1px; right: auto; }
-.ui-datepicker-rtl .ui-datepicker-buttonpane { clear:right; }
-.ui-datepicker-rtl .ui-datepicker-buttonpane button { float: left; }
-.ui-datepicker-rtl .ui-datepicker-buttonpane button.ui-datepicker-current { float:right; }
-.ui-datepicker-rtl .ui-datepicker-group { float:right; }
-.ui-datepicker-rtl .ui-datepicker-group-last .ui-datepicker-header { border-right-width:0; border-left-width:1px; }
-.ui-datepicker-rtl .ui-datepicker-group-middle .ui-datepicker-header { border-right-width:0; border-left-width:1px; }
-
-/* IE6 IFRAME FIX (taken from datepicker 1.5.3 */
-.ui-datepicker-cover {
- position: absolute; /*must have*/
- z-index: -1; /*must have*/
- filter: mask(); /*must have*/
- top: -4px; /*must have*/
- left: -4px; /*must have*/
- width: 200px; /*must have*/
- height: 200px; /*must have*/
-}/*!
- * jQuery UI Progressbar 1.8.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/Progressbar#theming
- */
-.ui-progressbar { height:2em; text-align: left; overflow: hidden; }
-.ui-progressbar .ui-progressbar-value {margin: -1px; height:100%; }
+++ /dev/null
-/*! 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.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.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),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)}),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.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.23"}),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.23 - 2012-08-15
-* 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.23"}),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.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.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.23",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.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.23 - 2012-08-15
-* 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.23 - 2012-08-15
-* 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};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||" ",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"),f=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(f);a.each(d,function(a,b){if(a==="click")return;a in e?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||" "))}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.23",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.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…</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.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?" ":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?" ":""));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?" ":"")+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);;/*! jQuery UI - v1.8.23 - 2012-08-15
-* 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.23"})})(jQuery);;/*! jQuery UI - v1.8.23 - 2012-08-15
-* 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.23",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}});var m={};a.each(["Quad","Cubic","Quart","Quint","Expo"],function(a,b){m[b]=function(b){return Math.pow(b,a+2)}}),a.extend(m,{Sine:function(a){return 1-Math.cos(a*Math.PI/2)},Circ:function(a){return 1-Math.sqrt(1-a*a)},Elastic:function(a){return a===0||a===1?a:-Math.pow(2,8*(a-1))*Math.sin(((a-1)*80-7.5)*Math.PI/15)},Back:function(a){return a*a*(3*a-2)},Bounce:function(a){var b,c=4;while(a<((b=Math.pow(2,--c))-1)/11);return 1/Math.pow(4,3-c)-7.5625*Math.pow((b*3-2)/22-a,2)}}),a.each(m,function(b,c){a.easing["easeIn"+b]=c,a.easing["easeOut"+b]=function(a){return 1-c(1-a)},a.easing["easeInOut"+b]=function(a){return a<.5?c(a*2)/2:c(a*-2+2)/-2+1}})}(jQuery);;/*! jQuery UI - v1.8.23 - 2012-08-15
-* 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);;
+++ /dev/null
-/*! 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
.unbind('click', humanMsg.removeMsg)
.unbind('keypress', humanMsg.removeMsg)
- // If message is fully transparent, fade it out
- if (jQuery('#'+humanMsg.msgID).css('opacity') == humanMsg.msgOpacity)
- jQuery('#'+humanMsg.msgID).animate({ opacity: 0 }, 500, function() { jQuery(this).hide() })
+ // If message is fully transparent, fade it out
+ if ( Math.abs(jQuery('#'+humanMsg.msgID).css('opacity') - humanMsg.msgOpacity ) < 0.00001 )
+ jQuery('#'+humanMsg.msgID).animate({ opacity: 0 }, 500, function() { jQuery(this).hide() })
}
};
+++ /dev/null
-jQuery.cookie=function(b,j,m){if(typeof j!="undefined"){m=m||{};if(j===null){j="";m.expires=-1}var e="";if(m.expires&&(typeof m.expires=="number"||m.expires.toUTCString)){var f;if(typeof m.expires=="number"){f=new Date();f.setTime(f.getTime()+(m.expires*24*60*60*1000))}else{f=m.expires}e="; expires="+f.toUTCString()}var l=m.path?"; path="+(m.path):"";var g=m.domain?"; domain="+(m.domain):"";var a=m.secure?"; secure":"";document.cookie=[b,"=",encodeURIComponent(j),e,l,g,a].join("")}else{var d=null;if(document.cookie&&document.cookie!=""){var k=document.cookie.split(";");for(var h=0;h<k.length;h++){var c=jQuery.trim(k[h]);if(c.substring(0,b.length+1)==(b+"=")){d=decodeURIComponent(c.substring(b.length+1));break}}}return d}};
\ No newline at end of file
--- /dev/null
+/*
+* File: jquery.dataTables.columnFilter.js
+* Version: 1.5.0.
+* Author: Jovan Popovic
+*
+* Copyright 2011-2012 Jovan Popovic, all rights reserved.
+*
+* This source file is free software, under either the GPL v2 license or a
+* BSD style license, as supplied with this software.
+*
+* 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.
+*
+* Parameters:"
+* @sPlaceHolder String Place where inline filtering function should be placed ("tfoot", "thead:before", "thead:after"). Default is "tfoot"
+* @sRangeSeparator String Separator that will be used when range values are sent to the server-side. Default value is "~".
+* @sRangeFormat string Default format of the From ... to ... range inputs. Default is From {from} to {to}
+* @aoColumns Array Array of the filter settings that will be applied on the columns
+*/
+(function ($) {
+
+
+ $.fn.columnFilter = function (options) {
+
+ var asInitVals, i, label, th;
+
+ //var sTableId = "table";
+ var sRangeFormat = "From {from} to {to}";
+ //Array of the functions that will override sSearch_ parameters
+ var afnSearch_ = new Array();
+ var aiCustomSearch_Indexes = new Array();
+
+ var oFunctionTimeout = null;
+
+ var fnOnFiltered = function () { };
+
+ function _fnGetColumnValues(oSettings, iColumn, bUnique, bFiltered, bIgnoreEmpty) {
+ ///<summary>
+ ///Return values in the column
+ ///</summary>
+ ///<param name="oSettings" type="Object">DataTables settings</param>
+ ///<param name="iColumn" type="int">Id of the column</param>
+ ///<param name="bUnique" type="bool">Return only distinct values</param>
+ ///<param name="bFiltered" type="bool">Return values only from the filtered rows</param>
+ ///<param name="bIgnoreEmpty" type="bool">Ignore empty cells</param>
+
+ // 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++) {
+ var iRow = aiRows[i];
+ var aData = oTable.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.sort();
+ }
+
+ function _fnColumnIndex(iColumnIndex) {
+ if (properties.bUseColVis)
+ return iColumnIndex;
+ else
+ return oTable.fnSettings().oApi._fnVisibleToColumnIndex(oTable.fnSettings(), iColumnIndex);
+ //return iColumnIndex;
+ //return oTable.fnSettings().oApi._fnColumnIndexToVisible(oTable.fnSettings(), iColumnIndex);
+ }
+
+ function fnCreateInput(oTable, regex, smart, bIsNumber, iFilterLength, iMaxLenght) {
+ var sCSSClass = "text_filter";
+ if (bIsNumber)
+ sCSSClass = "number_filter";
+
+ label = label.replace(/(^\s*)|(\s*$)/g, "");
+ var currentFilter = oTable.fnSettings().aoPreSearchCols[i].sSearch;
+ var search_init = 'search_init ';
+ var inputvalue = label;
+ if (currentFilter != '' && currentFilter != '^') {
+ if (bIsNumber && currentFilter.charAt(0) == '^')
+ inputvalue = currentFilter.substr(1); //ignore trailing ^
+ else
+ inputvalue = currentFilter;
+ search_init = '';
+ }
+
+ var input = $('<input type="text" class="' + search_init + sCSSClass + '" value="' + inputvalue + '"/>');
+ if (iMaxLenght != undefined && iMaxLenght != -1) {
+ input.attr('maxlength', iMaxLenght);
+ }
+ th.html(input);
+ if (bIsNumber)
+ th.wrapInner('<span class="filter_column filter_number" />');
+ else
+ th.wrapInner('<span class="filter_column filter_text" />');
+
+ asInitVals[i] = label;
+ var index = i;
+
+ if (bIsNumber && !oTable.fnSettings().oFeatures.bServerSide) {
+ input.keyup(function () {
+ /* Filter on the column all numbers that starts with the entered value */
+ oTable.fnFilter('^' + this.value, _fnColumnIndex(index), true, false); //Issue 37
+ fnOnFiltered();
+ });
+ } else {
+ input.keyup(function () {
+ if (oTable.fnSettings().oFeatures.bServerSide && iFilterLength != 0) {
+ //If filter length is set in the server-side processing mode
+ //Check has the user entered at least iFilterLength new characters
+
+ var currentFilter = oTable.fnSettings().aoPreSearchCols[index].sSearch;
+ var iLastFilterLength = $(this).data("dt-iLastFilterLength");
+ if (typeof iLastFilterLength == "undefined")
+ iLastFilterLength = 0;
+ var iCurrentFilterLength = this.value.length;
+ if (Math.abs(iCurrentFilterLength - iLastFilterLength) < iFilterLength
+ //&& currentFilter.length == 0 //Why this?
+ ) {
+ //Cancel the filtering
+ return;
+ }
+ else {
+ //Remember the current filter length
+ $(this).data("dt-iLastFilterLength", iCurrentFilterLength);
+ }
+ }
+ /* Filter on the column (the index) of this element */
+ oTable.fnFilter(this.value, _fnColumnIndex(index), regex, smart); //Issue 37
+ fnOnFiltered();
+ });
+ }
+
+ input.focus(function () {
+ if ($(this).hasClass("search_init")) {
+ $(this).removeClass("search_init");
+ this.value = "";
+ }
+ });
+ input.blur(function () {
+ if (this.value == "") {
+ $(this).addClass("search_init");
+ this.value = asInitVals[index];
+ }
+ });
+ }
+
+ function fnCreateRangeInput(oTable) {
+
+ //var currentFilter = oTable.fnSettings().aoPreSearchCols[i].sSearch;
+ th.html(_fnRangeLabelPart(0));
+ var sFromId = oTable.attr("id") + '_range_from_' + i;
+ var from = $('<input type="text" class="number_range_filter" id="' + sFromId + '" rel="' + i + '"/>');
+ th.append(from);
+ th.append(_fnRangeLabelPart(1));
+ var sToId = oTable.attr("id") + '_range_to_' + i;
+ var to = $('<input type="text" class="number_range_filter" id="' + sToId + '" rel="' + i + '"/>');
+ th.append(to);
+ th.append(_fnRangeLabelPart(2));
+ th.wrapInner('<span class="filter_column filter_number_range" />');
+ var index = i;
+ aiCustomSearch_Indexes.push(i);
+
+
+
+ //------------start range filtering function
+
+
+ /* Custom filtering function which will filter data in column four between two values
+ * Author: Allan Jardine, Modified by Jovan Popovic
+ */
+ //$.fn.dataTableExt.afnFiltering.push(
+ oTable.dataTableExt.afnFiltering.push(
+ function (oSettings, aData, iDataIndex) {
+ if (oTable.attr("id") != oSettings.sTableId)
+ return true;
+ // Try to handle missing nodes more gracefully
+ if (document.getElementById(sFromId) == null)
+ return true;
+ var iMin = document.getElementById(sFromId).value * 1;
+ var iMax = document.getElementById(sToId).value * 1;
+ var iValue = aData[_fnColumnIndex(index)] == "-" ? 0 : aData[_fnColumnIndex(index)] * 1;
+ if (iMin == "" && iMax == "") {
+ return true;
+ }
+ else if (iMin == "" && iValue <= iMax) {
+ return true;
+ }
+ else if (iMin <= iValue && "" == iMax) {
+ return true;
+ }
+ else if (iMin <= iValue && iValue <= iMax) {
+ return true;
+ }
+ return false;
+ }
+ );
+ //------------end range filtering function
+
+
+
+ $('#' + sFromId + ',#' + sToId, th).keyup(function () {
+
+ var iMin = document.getElementById(sFromId).value * 1;
+ var iMax = document.getElementById(sToId).value * 1;
+ if (iMin != 0 && iMax != 0 && iMin > iMax)
+ return;
+
+ oTable.fnDraw();
+ fnOnFiltered();
+ });
+
+
+ }
+
+
+ function fnCreateDateRangeInput(oTable) {
+
+ var aoFragments = sRangeFormat.split(/[}{]/);
+
+ th.html("");
+ //th.html(_fnRangeLabelPart(0));
+ var sFromId = oTable.attr("id") + '_range_from_' + i;
+ var from = $('<input type="text" class="date_range_filter" id="' + sFromId + '" rel="' + i + '"/>');
+ from.datepicker();
+ //th.append(from);
+ //th.append(_fnRangeLabelPart(1));
+ var sToId = oTable.attr("id") + '_range_to_' + i;
+ var to = $('<input type="text" class="date_range_filter" id="' + sToId + '" rel="' + i + '"/>');
+ //th.append(to);
+ //th.append(_fnRangeLabelPart(2));
+
+ for (ti = 0; ti < aoFragments.length; ti++) {
+
+ if (aoFragments[ti] == properties.sDateFromToken) {
+ th.append(from);
+ } else {
+ if (aoFragments[ti] == properties.sDateToToken) {
+ th.append(to);
+ } else {
+ th.append(aoFragments[ti]);
+ }
+ }
+
+
+ }
+
+
+ th.wrapInner('<span class="filter_column filter_date_range" />');
+ to.datepicker();
+ var index = i;
+ aiCustomSearch_Indexes.push(i);
+
+
+ //------------start date range filtering function
+
+ //$.fn.dataTableExt.afnFiltering.push(
+ oTable.dataTableExt.afnFiltering.push(
+ function (oSettings, aData, iDataIndex) {
+ if (oTable.attr("id") != oSettings.sTableId)
+ return true;
+
+ var dStartDate = from.datepicker("getDate");
+
+ var dEndDate = to.datepicker("getDate");
+
+ if (dStartDate == null && dEndDate == null) {
+ return true;
+ }
+
+ var dCellDate = null;
+ try {
+ if (aData[_fnColumnIndex(index)] == null || aData[_fnColumnIndex(index)] == "")
+ return false;
+ dCellDate = $.datepicker.parseDate($.datepicker.regional[""].dateFormat, aData[_fnColumnIndex(index)]);
+ } catch (ex) {
+ return false;
+ }
+ if (dCellDate == null)
+ return false;
+
+
+ if (dStartDate == null && dCellDate <= dEndDate) {
+ return true;
+ }
+ else if (dStartDate <= dCellDate && dEndDate == null) {
+ return true;
+ }
+ else if (dStartDate <= dCellDate && dCellDate <= dEndDate) {
+ return true;
+ }
+ return false;
+ }
+ );
+ //------------end date range filtering function
+
+ $('#' + sFromId + ',#' + sToId, th).change(function () {
+ oTable.fnDraw();
+ fnOnFiltered();
+ });
+
+
+ }
+
+ function fnCreateColumnSelect(oTable, aData, iColumn, nTh, sLabel, bRegex, oSelected) {
+ if (aData == null)
+ aData = _fnGetColumnValues(oTable.fnSettings(), iColumn, true, false, true);
+ var index = iColumn;
+ var currentFilter = oTable.fnSettings().aoPreSearchCols[i].sSearch;
+ if (currentFilter == null || currentFilter == "")//Issue 81
+ currentFilter = oSelected;
+
+ var r = '<select class="search_init select_filter"><option value="" class="search_init">' + sLabel + '</option>';
+ var j = 0;
+ var iLen = aData.length;
+ for (j = 0; j < iLen; j++) {
+ if (typeof (aData[j]) != 'object') {
+ var selected = '';
+ if (escape(aData[j]) == currentFilter
+ || escape(aData[j]) == escape(currentFilter)
+ )
+ selected = 'selected '
+ r += '<option ' + selected + ' value="' + escape(aData[j]) + '">' + aData[j] + '</option>';
+ }
+ else {
+ var selected = '';
+ if (bRegex) {
+ //Do not escape values if they are explicitely set to avoid escaping special characters in the regexp
+ if (aData[j].value == currentFilter) selected = 'selected ';
+ r += '<option ' + selected + 'value="' + aData[j].value + '">' + aData[j].label + '</option>';
+ } else {
+ if (escape(aData[j].value) == currentFilter) selected = 'selected ';
+ r += '<option ' + selected + 'value="' + escape(aData[j].value) + '">' + aData[j].label + '</option>';
+ }
+ }
+ }
+
+ var select = $(r + '</select>');
+ nTh.html(select);
+ nTh.wrapInner('<span class="filter_column filter_select" />');
+ select.change(function () {
+ //var val = $(this).val();
+ if ($(this).val() != "") {
+ $(this).removeClass("search_init");
+ } else {
+ $(this).addClass("search_init");
+ }
+ if (bRegex)
+ oTable.fnFilter($(this).val(), iColumn, bRegex); //Issue 41
+ else
+ oTable.fnFilter(unescape($(this).val()), iColumn); //Issue 25
+ fnOnFiltered();
+ });
+ if (currentFilter != null && currentFilter != "")//Issue 81
+ oTable.fnFilter(unescape(currentFilter), iColumn);
+ }
+
+ function fnCreateSelect(oTable, aData, bRegex, oSelected) {
+ var oSettings = oTable.fnSettings();
+ if (aData == null && oSettings.sAjaxSource != "" && !oSettings.oFeatures.bServerSide) {
+ // Add a function to the draw callback, which will check for the Ajax data having
+ // been loaded. Use a closure for the individual column elements that are used to
+ // built the column filter, since 'i' and 'th' (etc) are locally "global".
+ oSettings.aoDrawCallback.push({
+ "fn": (function (iColumn, nTh, sLabel) {
+ return function () {
+ // Only rebuild the select on the second draw - i.e. when the Ajax
+ // data has been loaded.
+ if (oSettings.iDraw == 2 && oSettings.sAjaxSource != null && oSettings.sAjaxSource != "" && !oSettings.oFeatures.bServerSide) {
+ return fnCreateColumnSelect(oTable, null, _fnColumnIndex(iColumn), nTh, sLabel, bRegex, oSelected); //Issue 37
+ }
+ };
+ })(i, th, label),
+ "sName": "column_filter_" + i
+ });
+ }
+ // Regardless of the Ajax state, build the select on first pass
+ fnCreateColumnSelect(oTable, aData, _fnColumnIndex(i), th, label, bRegex, oSelected); //Issue 37
+
+ }
+
+ function fnCreateCheckbox(oTable, aData) {
+
+ if (aData == null)
+ aData = _fnGetColumnValues(oTable.fnSettings(), i, true, true, true);
+ var index = i;
+
+ var r = '', j, iLen = aData.length;
+
+ //clean the string
+ var localLabel = label.replace('%', 'Perc').replace("&", "AND").replace("$", "DOL").replace("£", "STERL").replace("@", "AT").replace(/\s/g, "_");
+ localLabel = localLabel.replace(/[^a-zA-Z 0-9]+/g, '');
+ //clean the string
+
+ //button label override
+ var labelBtn = label;
+ if (properties.sFilterButtonText != null || properties.sFilterButtonText != undefined) {
+ labelBtn = properties.sFilterButtonText;
+ }
+
+ var relativeDivWidthToggleSize = 10;
+ var numRow = 12; //numero di checkbox per colonna
+ var numCol = Math.floor(iLen / numRow);
+ if (iLen % numRow > 0) {
+ numCol = numCol + 1;
+ };
+
+ //count how many column should be generated and split the div size
+ var divWidth = 100 / numCol - 2;
+
+ var divWidthToggle = relativeDivWidthToggleSize * numCol;
+
+ if (numCol == 1) {
+ divWidth = 20;
+ }
+
+ var divRowDef = '<div style="float:left; min-width: ' + divWidth + '%; " >';
+ var divClose = '</div>';
+
+ var uniqueId = oTable.attr("id") + localLabel;
+ var buttonId = "chkBtnOpen" + uniqueId;
+ var checkToggleDiv = uniqueId + "-flt-toggle";
+ r += '<button id="' + buttonId + '" class="checkbox_filter" > ' + labelBtn + '</button>'; //filter button witch open dialog
+ r += '<div id="' + checkToggleDiv + '" '
+ + 'title="' + label + '" '
+ + 'class="toggle-check ui-widget-content ui-corner-all" style="width: ' + (divWidthToggle) + '%; " >'; //dialog div
+ //r+= '<div align="center" style="margin-top: 5px; "> <button id="'+buttonId+'Reset" class="checkbox_filter" > reset </button> </div>'; //reset button and its div
+ r += divRowDef;
+
+ for (j = 0; j < iLen; j++) {
+
+ //if last check close div
+ if (j % numRow == 0 && j != 0) {
+ r += divClose + divRowDef;
+ }
+
+ //check button
+ r += '<input class="search_init checkbox_filter" type="checkbox" id= "' + aData[j] + '" name= "' + localLabel + '" value="' + aData[j] + '" >' + aData[j] + '<br/>';
+
+ var checkbox = $(r);
+ th.html(checkbox);
+ th.wrapInner('<span class="filter_column filter_checkbox" />');
+ //on every checkbox selection
+ checkbox.change(function () {
+
+ var search = '';
+ var or = '|'; //var for select checks in 'or' into the regex
+ var resSize = $('input:checkbox[name="' + localLabel + '"]:checked').size();
+ $('input:checkbox[name="' + localLabel + '"]:checked').each(function (index) {
+
+ //search = search + ' ' + $(this).val();
+ //concatenation for selected checks in or
+ if ((index == 0 && resSize == 1)
+ || (index != 0 && index == resSize - 1)) {
+ or = '';
+ }
+ //trim
+ search = search.replace(/^\s+|\s+$/g, "");
+ search = search + $(this).val() + or;
+ or = '|';
+
+ });
+
+ for (var jj = 0; jj < iLen; jj++) {
+ if (search != "") {
+ $('#' + aData[jj]).removeClass("search_init");
+ } else {
+ $('#' + aData[jj]).addClass("search_init");
+ }
+ }
+
+ //execute search
+ oTable.fnFilter(search, index, true, false);
+ fnOnFiltered();
+ });
+ }
+
+ //filter button
+ $('#' + buttonId).button();
+ //dialog
+ $('#' + checkToggleDiv).dialog({
+ //height: 140,
+ autoOpen: false,
+ //show: "blind",
+ hide: "blind",
+ buttons: [{
+ text: "Reset",
+ click: function () {
+ //$('#'+buttonId).removeClass("filter_selected"); //LM remove border if filter selected
+ $('input:checkbox[name="' + localLabel + '"]:checked').each(function (index3) {
+ $(this).attr('checked', false);
+ $(this).addClass("search_init");
+ });
+ oTable.fnFilter('', index, true, false);
+ fnOnFiltered();
+ return false;
+ }
+ },
+ {
+ text: "Close",
+ click: function () { $(this).dialog("close"); }
+ }
+ ]
+ });
+
+
+ $('#' + buttonId).click(function () {
+
+ $('#' + checkToggleDiv).dialog('open');
+ var target = $(this);
+ $('#' + checkToggleDiv).dialog("widget").position({ my: 'top',
+ at: 'bottom',
+ of: target
+ });
+
+ return false;
+ });
+
+ var fnOnFilteredCurrent = fnOnFiltered;
+
+ fnOnFiltered = function () {
+ var target = $('#' + buttonId);
+ $('#' + checkToggleDiv).dialog("widget").position({ my: 'top',
+ at: 'bottom',
+ of: target
+ });
+ fnOnFilteredCurrent();
+ };
+ //reset
+ /*
+ $('#'+buttonId+"Reset").button();
+ $('#'+buttonId+"Reset").click(function(){
+ $('#'+buttonId).removeClass("filter_selected"); //LM remove border if filter selected
+ $('input:checkbox[name="'+localLabel+'"]:checked').each(function(index3) {
+ $(this).attr('checked', false);
+ $(this).addClass("search_init");
+ });
+ oTable.fnFilter('', index, true, false);
+ return false;
+ });
+ */
+ }
+
+
+
+
+ function _fnRangeLabelPart(iPlace) {
+ switch (iPlace) {
+ case 0:
+ return sRangeFormat.substring(0, sRangeFormat.indexOf("{from}"));
+ case 1:
+ return sRangeFormat.substring(sRangeFormat.indexOf("{from}") + 6, sRangeFormat.indexOf("{to}"));
+ default:
+ return sRangeFormat.substring(sRangeFormat.indexOf("{to}") + 4);
+ }
+ }
+
+
+
+
+ var oTable = this;
+
+ var defaults = {
+ sPlaceHolder: "foot",
+ sRangeSeparator: "~",
+ iFilteringDelay: 500,
+ aoColumns: null,
+ sRangeFormat: "From {from} to {to}",
+ sDateFromToken: "from",
+ sDateToToken: "to"
+ };
+
+ var properties = $.extend(defaults, options);
+
+ return this.each(function () {
+
+ if (!oTable.fnSettings().oFeatures.bFilter)
+ return;
+ asInitVals = new Array();
+
+ var aoFilterCells = oTable.fnSettings().aoFooter[0];
+
+ var oHost = oTable.fnSettings().nTFoot; //Before fix for ColVis
+ var sFilterRow = "tr"; //Before fix for ColVis
+
+ if (properties.sPlaceHolder == "head:after") {
+ var tr = $("tr:first", oTable.fnSettings().nTHead).detach();
+ //tr.appendTo($(oTable.fnSettings().nTHead));
+ if (oTable.fnSettings().bSortCellsTop) {
+ tr.prependTo($(oTable.fnSettings().nTHead));
+ //tr.appendTo($("thead", oTable));
+ aoFilterCells = oTable.fnSettings().aoHeader[1];
+ }
+ else {
+ tr.appendTo($(oTable.fnSettings().nTHead));
+ //tr.prependTo($("thead", oTable));
+ aoFilterCells = oTable.fnSettings().aoHeader[0];
+ }
+
+ sFilterRow = "tr:last";
+ oHost = oTable.fnSettings().nTHead;
+
+ } else if (properties.sPlaceHolder == "head:before") {
+
+ if (oTable.fnSettings().bSortCellsTop) {
+ var tr = $("tr:first", oTable.fnSettings().nTHead).detach();
+ tr.appendTo($(oTable.fnSettings().nTHead));
+ aoFilterCells = oTable.fnSettings().aoHeader[1];
+ } else {
+ aoFilterCells = oTable.fnSettings().aoHeader[0];
+ }
+ /*else {
+ //tr.prependTo($("thead", oTable));
+ sFilterRow = "tr:first";
+ }*/
+
+ sFilterRow = "tr:first";
+
+ oHost = oTable.fnSettings().nTHead;
+
+
+ }
+
+ //$(sFilterRow + " th", oHost).each(function (index) {//bug with ColVis
+ $(aoFilterCells).each(function (index) {//fix for ColVis
+ i = index;
+ var aoColumn = { type: "text",
+ bRegex: false,
+ bSmart: true,
+ iMaxLenght: -1,
+ iFilterLength: 0
+ };
+ if (properties.aoColumns != null) {
+ if (properties.aoColumns.length < i || properties.aoColumns[i] == null)
+ return;
+ aoColumn = properties.aoColumns[i];
+ }
+ //label = $(this).text(); //Before fix for ColVis
+ label = $($(this)[0].cell).text(); //Fix for ColVis
+ if (aoColumn.sSelector == null) {
+ //th = $($(this)[0]);//Before fix for ColVis
+ th = $($(this)[0].cell); //Fix for ColVis
+ }
+ else {
+ th = $(aoColumn.sSelector);
+ if (th.length == 0)
+ th = $($(this)[0].cell);
+ }
+
+ if (aoColumn != null) {
+ if (aoColumn.sRangeFormat != null)
+ sRangeFormat = aoColumn.sRangeFormat;
+ else
+ sRangeFormat = properties.sRangeFormat;
+ switch (aoColumn.type) {
+ case "null":
+ break;
+ case "number":
+ fnCreateInput(oTable, true, false, true, aoColumn.iFilterLength, aoColumn.iMaxLenght);
+ break;
+ case "select":
+ if (aoColumn.bRegex != true)
+ aoColumn.bRegex = false;
+ fnCreateSelect(oTable, aoColumn.values, aoColumn.bRegex, aoColumn.selected);
+ break;
+ case "number-range":
+ fnCreateRangeInput(oTable);
+ break;
+ case "date-range":
+ fnCreateDateRangeInput(oTable);
+ break;
+ case "checkbox":
+ fnCreateCheckbox(oTable, aoColumn.values);
+ break;
+ case "text":
+ default:
+ bRegex = (aoColumn.bRegex == null ? false : aoColumn.bRegex);
+ bSmart = (aoColumn.bSmart == null ? false : aoColumn.bSmart);
+ fnCreateInput(oTable, bRegex, bSmart, false, aoColumn.iFilterLength, aoColumn.iMaxLenght);
+ break;
+
+ }
+ }
+ });
+
+ for (j = 0; j < aiCustomSearch_Indexes.length; j++) {
+ //var index = aiCustomSearch_Indexes[j];
+ var fnSearch_ = function () {
+ var id = oTable.attr("id");
+ return $("#" + id + "_range_from_" + aiCustomSearch_Indexes[j]).val() + properties.sRangeSeparator + $("#" + id + "_range_to_" + aiCustomSearch_Indexes[j]).val()
+ }
+ afnSearch_.push(fnSearch_);
+ }
+
+ if (oTable.fnSettings().oFeatures.bServerSide) {
+
+ var fnServerDataOriginal = oTable.fnSettings().fnServerData;
+
+ oTable.fnSettings().fnServerData = function (sSource, aoData, fnCallback) {
+
+ for (j = 0; j < aiCustomSearch_Indexes.length; j++) {
+ var index = aiCustomSearch_Indexes[j];
+
+ for (k = 0; k < aoData.length; k++) {
+ if (aoData[k].name == "sSearch_" + index)
+ aoData[k].value = afnSearch_[j]();
+ }
+ }
+ aoData.push({ "name": "sRangeSeparator", "value": properties.sRangeSeparator });
+
+ if (fnServerDataOriginal != null) {
+ try {
+ fnServerDataOriginal(sSource, aoData, fnCallback, oTable.fnSettings()); //TODO: See Issue 18
+ } catch (ex) {
+ fnServerDataOriginal(sSource, aoData, fnCallback);
+ }
+ }
+ else {
+ $.getJSON(sSource, aoData, function (json) {
+ fnCallback(json)
+ });
+ }
+ };
+
+ }
+
+ });
+
+ };
+
+
+
+
+})(jQuery);
+++ /dev/null
-/*
-
-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();
-};
+++ /dev/null
-(function(jQuery){jQuery.fn.__bind__=jQuery.fn.bind;jQuery.fn.__unbind__=jQuery.fn.unbind;jQuery.fn.__find__=jQuery.fn.find;var hotkeys={version:'0.7.9',override:/keypress|keydown|keyup/g,triggersMap:{},specialKeys:{27:'esc',9:'tab',32:'space',13:'return',8:'backspace',145:'scroll',20:'capslock',144:'numlock',19:'pause',45:'insert',36:'home',46:'del',35:'end',33:'pageup',34:'pagedown',37:'left',38:'up',39:'right',40:'down',109:'-',112:'f1',113:'f2',114:'f3',115:'f4',116:'f5',117:'f6',118:'f7',119:'f8',120:'f9',121:'f10',122:'f11',123:'f12',191:'/'},shiftNums:{"`":"~","1":"!","2":"@","3":"#","4":"$","5":"%","6":"^","7":"&","8":"*","9":"(","0":")","-":"_","=":"+",";":":","'":"\"",",":"<",".":">","/":"?","\\":"|"},newTrigger:function(type,combi,callback){var result={};result[type]={};result[type][combi]={cb:callback,disableInInput:false};return result;}};hotkeys.specialKeys=jQuery.extend(hotkeys.specialKeys,{96:'0',97:'1',98:'2',99:'3',100:'4',101:'5',102:'6',103:'7',104:'8',105:'9',106:'*',107:'+',109:'-',110:'.',111:'/'});jQuery.fn.find=function(selector){this.query=selector;return jQuery.fn.__find__.apply(this,arguments);};jQuery.fn.unbind=function(type,combi,fn){if(jQuery.isFunction(combi)){fn=combi;combi=null;}
-if(combi&&typeof combi==='string'){var selectorId=((this.prevObject&&this.prevObject.query)||(this[0].id&&this[0].id)||this[0]).toString();var hkTypes=type.split(' ');for(var x=0;x<hkTypes.length;x++){delete hotkeys.triggersMap[selectorId][hkTypes[x]][combi];}}
-return this.__unbind__(type,fn);};jQuery.fn.bind=function(type,data,fn){var handle=type.match(hotkeys.override);if(jQuery.isFunction(data)||!handle){return this.__bind__(type,data,fn);}
-else{var result=null,pass2jq=jQuery.trim(type.replace(hotkeys.override,''));if(pass2jq){result=this.__bind__(pass2jq,data,fn);}
-if(typeof data==="string"){data={'combi':data};}
-if(data.combi){for(var x=0;x<handle.length;x++){var eventType=handle[x];var combi=data.combi.toLowerCase(),trigger=hotkeys.newTrigger(eventType,combi,fn),selectorId=((this.prevObject&&this.prevObject.query)||(this[0].id&&this[0].id)||this[0]).toString();trigger[eventType][combi].disableInInput=data.disableInInput;if(!hotkeys.triggersMap[selectorId]){hotkeys.triggersMap[selectorId]=trigger;}
-else if(!hotkeys.triggersMap[selectorId][eventType]){hotkeys.triggersMap[selectorId][eventType]=trigger[eventType];}
-var mapPoint=hotkeys.triggersMap[selectorId][eventType][combi];if(!mapPoint){hotkeys.triggersMap[selectorId][eventType][combi]=[trigger[eventType][combi]];}
-else if(mapPoint.constructor!==Array){hotkeys.triggersMap[selectorId][eventType][combi]=[mapPoint];}
-else{hotkeys.triggersMap[selectorId][eventType][combi][mapPoint.length]=trigger[eventType][combi];}
-this.each(function(){var jqElem=jQuery(this);if(jqElem.attr('hkId')&&jqElem.attr('hkId')!==selectorId){selectorId=jqElem.attr('hkId')+";"+selectorId;}
-jqElem.attr('hkId',selectorId);});result=this.__bind__(handle.join(' '),data,hotkeys.handler)}}
-return result;}};hotkeys.findElement=function(elem){if(!jQuery(elem).attr('hkId')){if(jQuery.browser.opera||jQuery.browser.safari){while(!jQuery(elem).attr('hkId')&&elem.parentNode){elem=elem.parentNode;}}}
-return elem;};hotkeys.handler=function(event){var target=hotkeys.findElement(event.currentTarget),jTarget=jQuery(target),ids=jTarget.attr('hkId');if(ids){ids=ids.split(';');var code=event.which,type=event.type,special=hotkeys.specialKeys[code],character=!special&&String.fromCharCode(code).toLowerCase(),shift=event.shiftKey,ctrl=event.ctrlKey,alt=event.altKey||event.originalEvent.altKey,mapPoint=null;for(var x=0;x<ids.length;x++){if(hotkeys.triggersMap[ids[x]][type]){mapPoint=hotkeys.triggersMap[ids[x]][type];break;}}
-if(mapPoint){var trigger;if(!shift&&!ctrl&&!alt){trigger=mapPoint[special]||(character&&mapPoint[character]);}
-else{var modif='';if(alt)modif+='alt+';if(ctrl)modif+='ctrl+';if(shift)modif+='shift+';trigger=mapPoint[modif+special];if(!trigger){if(character){trigger=mapPoint[modif+character]||mapPoint[modif+hotkeys.shiftNums[character]]||(modif==='shift+'&&mapPoint[hotkeys.shiftNums[character]]);}}}
-if(trigger){var result=false;for(var x=0;x<trigger.length;x++){if(trigger[x].disableInInput){var elem=jQuery(event.target);if(jTarget.is("input")||jTarget.is("textarea")||jTarget.is("select")||elem.is("input")||elem.is("textarea")||elem.is("select")){return true;}}
-result=result||trigger[x].cb.apply(this,[event]);}
-return result;}}}};window.hotkeys=hotkeys;return jQuery;})(jQuery);
\ No newline at end of file
<li>Richard Anderson</li>
<li><a href="https://www.ohloh.net/p/koha/contributors/6620692181851">Nahuel Angelinetti</a></li>
<li>Nuño López Ansótegui</li>
- <li>Tomás Cohen Arazi</li>
+ <li>Tomás Cohen Arazi</li>
<li><a href="https://www.ohloh.net/p/koha/contributors/6620692124662">Andrew Arensburger (the small and great C4::Context module)</a></li>
<li>Alex Arnaud</li>
<li><a href="https://www.ohloh.net/p/koha/contributors/6618544614259">Joe Atzberger</a></li>
<li>Larry Baerveldt</li>
<li>Al Banks</li>
<li>Daniel Banzli</li>
- <li>Greg Barniskis</li>
+ <li>Greg Barniskis</li>
<li>Benedykt P. Barszcz (Polish for 2.0)</li>
<li>D Ruth Bavousett</li>
<li>John Beppu</li>
<li>Christophe Croullebois</li>
<li>Nate Curulla</li>
<li>Vincent Danjean</li>
+ <li>Hugh Davenport</li>
<li>Elliott Davis</li>
<li>Doug Dearden</li>
<li>Kip DeGraaf</li>
<li><a href="https://www.ohloh.net/p/koha/contributors/6618544670742">Katrin Fischer</a></li>
<li>Clay Fouts</li>
<li>Claudia Forsman</li>
+ <li>Corey Fuimaono</li>
<li>Marco Gaiarin</li>
<li>Pierrick Le Gall</li>
<li>Brendan A. Gallagher</li>
<li>Mark Gavillet</li>
<li>Daniel Kahn Gillmor</li>
<li>David Goldfein</li>
+ <li>Bernardo Gonzalez Kriegel</li>
<li>Daniel Grobani</li>
<li>Amit Gupta</li>
<li>Michael Hafen</li>
<li>H. Passini</li>
<li>Dobrica Pavlinusic</li>
<li>Maxime Pelletier</li>
- <li>Polytechnic University</li>
<li>Shari Perkins</li>
+ <li>Fred Pierre</li>
+ <li>Polytechnic University</li>
<li>Romina Racca</li>
<li><a href="https://www.ohloh.net/p/koha/contributors/6620692116417">MJ Ray</a></li>
<li>Liz Rea</li>
<li>ByWater Solutions, USA</li>
<li>Calyx, Australia</li>
<li>Catalyst IT, New Zealand</li>
+ <li>C & P Bibliography Services, USA</li>
<li>Katipo Communications, New Zealand</li>
+ <li>KEEP SOLUTIONS, Portugal</li>
<li>KohaAloha, New Zealand</li>
<li>LibLime, USA</li>
<li>Libriotech, Norway</li>
<li>PTFS Europe Ltd, United Kingdom</li>
<li>Rijksmuseum, Amsterdam, The Netherlands</li>
<li>SAN-Ouest Provence, France</li>
- <li>Software Coop, United Kingdom</li>
+ <li>software.coop, United Kingdom</li>
<li>Tamil, France</li>
<li>Xercode, Spain</li>
</ul>
<li>Français (French) <a href="http://www.koha-fr.org/category/tags/association">Kohala</a>, Pascale Nalon (ENSMP), and many more </li>
<li>Galego (Galician) Ignacio Javier</li>
<li>Deutsch (German) Friedrich zur Hellen, Robert Hillig, Katrin Fischer, Beda Szukics, Mirko Tietgen and Marc Véron</li>
-<li>ελληνικά (Greek, Modern [1453- ])Georgia Katsarou, Panoraia Gaitanou</li>
+<li>ελληνικά (Greek, Modern [1453- ]) Georgia Katsarou, Panoraia Gaitanou and Kiriaki Roditi</li>
<li>עברית (Hebrew)</li>
<li>हिन्दी (Hindi)</li>
<li>Magyar (Hungarian)Agnes Imecs</li>
<script type="text/javascript" src="[% themelang %]/js/acq.js"></script>
<script type="text/JavaScript">
//<![CDATA[
+ [% IF (dateformat == 'metric') %]
+ dt_add_type_uk_date();
+ [% END %]
$(document).ready(function() {
var srlt = $("#files").dataTable($.extend(true, {}, dataTablesDefaults, {
"aoColumnDefs": [
<script type="text/javascript">
//<![CDATA[
function confirm_close() {
- var is_confirmed = confirm(_('Are you sure you want to close this basket?'));
+ var is_confirmed = confirm(_("Are you sure you want to close this basket?"));
if (is_confirmed) {
window.location = "[% script_name %]?op=close&basketno=[% basketno %]";
}
}
function confirm_deletion() {
- var is_confirmed = confirm(_('Are you sure you want to delete this basket?'));
+ var is_confirmed = confirm(_("Are you sure you want to delete this basket?"));
if (is_confirmed) {
window.location = "[% script_name %]?op=delete_confirm&basketno=[% basketno %]&booksellerid=[% booksellerid %]";
}
}
function confirm_delete_item(ordernumber, biblionumber) {
- var is_confirmed = confirm(_('Are you sure you want to delete this order ?'));
+ var is_confirmed = confirm(_("Are you sure you want to delete this order ?"));
if (is_confirmed) {
window.location = "addorder.pl?ordernumber="+ordernumber+"&basketno=[% basketno %]&quantity=0&biblionumber="+biblionumber;
}
}
function confirm_delete_biblio(ordernumber, biblionumber) {
- var is_confirmed = confirm(_('Are you sure you want to delete this catalog record and order ?'));
+ 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 type="text/javascript">
//<![CDATA[
function confirm_reopen(skip) {
- var is_confirmed = skip || confirm(_('Are you sure you want to reopen this basket?'));
+ var is_confirmed = skip || confirm(_("Are you sure you want to reopen this basket?"));
if (is_confirmed) {
window.location = "[% script_name %]?op=reopen&basketno=[% basketno %]";
}
<script type="text/javascript" src="[% themelang %]/js/datatables.js"></script>
<script type="text/javascript">
//<![CDATA[
+[% IF (dateformat == 'metric') %]
+ dt_add_type_uk_date();
+[% END %]
$(document).ready(function() {
var histsearcht = $("#histsearcht").dataTable($.extend(true, {}, dataTablesDefaults, {
"sPaginationType": "four_button"
[% END %]
</td>
<td>[% IF ( suggestions_loo.invoicenumber ) %]
- <a href="/cgi-bin/koha/acqui/parcel.pl?invoice=[% suggestions_loo.invoicenumber %]&booksellerid=[% suggestions_loo.id %]&datereceived=[% suggestions_loo.datereceived %]">[% suggestions_loo.invoicenumber %]</a>
+ <a href="/cgi-bin/koha/acqui/parcel.pl?invoiceid=[% suggestions_loo.invoicenumber %]">[% suggestions_loo.invoicenumber %]</a>
[% ELSE %]
[% END %]
<script type="text/javascript">
//<![CDATA[
$(document).ready(function() {
+ [% IF (dateformat == 'metric') %]
+ dt_add_type_uk_date();
+ [% END %]
$("#resultst").dataTable($.extend(true, {}, dataTablesDefaults, {
bInfo: false,
bPaginate: false,
<script type="text/javascript" src="[% themelang %]/lib/jquery/plugins/jquery.checkboxes.min.js"></script>
<script type="text/javascript">
//<![CDATA[
+[% IF (dateformat == 'metric') %]
+ dt_add_type_uk_date();
+[% END %]
$(document).ready(function() {
var late_orderst = $("#late_orders").dataTable($.extend(true, {}, dataTablesDefaults, {
"aoColumnDefs": [
[% INCLUDE 'additem.js.inc' %]
<script type="text/javascript" src="[% themelang %]/js/additem.js"></script>
<script type="text/javascript">
+var nav = window.Event ? true : false;
+if (nav) {
+ window.captureEvents(Event.KEYDOWN);
+ window.onkeydown = NetscapeEventHandler_KeyDown;
+} else {
+ document.onkeydown = IEEventHandler_KeyDown;
+}
+
+function NetscapeEventHandler_KeyDown(e) {
+ if (e.which == 13 && e.target.type != 'textarea' && e.target.type != 'submit') { return false; }
+ return true;
+}
+
+function IEEventHandler_KeyDown() {
+ if (event.keyCode == 13 && event.srcElement.type != 'textarea' && event.srcElement.type != 'submit')
+ return false;
+ return true;
+}
//<![CDATA[
actTotal = "";
[% IF (AcqCreateItemOrdering) %]
if(check_additem('[% UniqueItemFields %]') == false) {
- alert(_('Duplicate values detected. Please correct the errors and resubmit.') );
+ alert(_("Duplicate values detected. Please correct the errors and resubmit.") );
if(tobedeleted) {
$(lastitemblock).appendTo('#outeritemblock');
}
alert(_("You can't add a new item, please create a new order line"));
// and we replace the original value
$(this).val([% quantityrec %])
+ updateCosts(); // blur is invoked after change which updated values
return false;
}
});
//]]>
</script>
</head>
-<body id="acq_neworderempty" class="acq" onload="updateCosts()">
+<body id="acq_neworderempty" class="acq">
[% INCLUDE 'header.inc' %]
[% INCLUDE 'acquisitions-search.inc' %]
<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="currency_rate_[% loop_currencie.currcode %]" name="[% loop_currencie.currcode %]" value="[% loop_currencie.rate %]" />
+ [% END %]
<ol><li>
[% IF ( biblionumber ) %]
<script type="text/javascript" src="[% themelang %]/js/datatables.js"></script>
<script type="text/javascript">
//<![CDATA[
+[% IF (dateformat == 'metric') %]
+ dt_add_type_uk_date();
+[% END %]
$(document).ready(function() {
var spent = $("#spent").dataTable($.extend(true, {}, dataTablesDefaults, {
"sPaginationType": "four_button"
[% INCLUDE 'additem.js.inc' %]
<script type="text/javascript" src="[% themelang %]/js/additem.js"> </script>
<script type="text/javascript">
+
+var nav = window.Event ? true : false;
+if (nav) {
+ window.captureEvents(Event.KEYDOWN);
+ window.onkeydown = NetscapeEventHandler_KeyDown;
+} else {
+ document.onkeydown = IEEventHandler_KeyDown;
+}
+
+function NetscapeEventHandler_KeyDown(e) {
+ if (e.which == 13 && e.target.type != 'textarea' && e.target.type != 'submit') { return false; }
+ return true;
+}
+
+function IEEventHandler_KeyDown() {
+ if (event.keyCode == 13 && event.srcElement.type != 'textarea' && event.srcElement.type != 'submit')
+ return false;
+ return true;
+}
//<![CDATA[
function Check(form) {
[% IF (AcqCreateItemReceiving) %]
}
});
- var alertString;
- if (total_errors==0) {
- return true;
- } else {
- alertString = _("Form not submitted because of the following problem(s)");
+ if (total_errors != 0) {
+ var alertString = _("Form not submitted because of the following problem(s)");
alertString += "\n------------------------------------------------------------------------------------\n";
alertString += "\n- "+ total_errors+_(" mandatory fields empty (highlighted)");
alert(alertString);
return false;
}
+ if(check_additem('[% UniqueItemFields %]') == false){
+ alert(_('Duplicate values detected. Please correct the errors and resubmit.') );
+ return false;
+ };
+
// Remove last itemblock if it is not in items_list
var lastitemblock = $("#outeritemblock > div:last");
var tobedeleted = true;
}
if(check_additem('[% UniqueItemFields %]') == false){
- alert(_('Duplicate values detected. Please correct the errors and resubmit.') );
+ alert(_("Duplicate values detected. Please correct the errors and resubmit.") );
if(tobedeleted) {
$(lastitemblock).appendTo("#outeritemblock");
}
</div>
</div><div class="yui-g"><fieldset class="action">
- <input type="submit" onclick="return false;" style="display: none;" id="phony_submit" value="phony_submit" name="phony_submit" />
<input type="submit" value="Save" class="button" accesskey="w" />
<a class="cancel" href="/cgi-bin/koha/acqui/parcel.pl?invoiceid=[% invoiceid %]">Cancel</a>
</fieldset></div> </form>
<script type="text/javascript">
//<![CDATA[
function confirm_delete_item(ordernumber, basketno, biblionumber) {
- var is_confirmed = confirm(_('Are you sure you want to delete this order ?'));
+ var is_confirmed = confirm(_("Are you sure you want to delete this order ?"));
if (is_confirmed) {
- window.location = "addorder.pl?ordernumber="+ordernumber+"&basketno="+basketno+"&quantity=0&biblionumber="+biblionumber;
+ window.location = "addorder.pl?ordernumber="+ordernumber+"&basketno="+basketno+"&quantity=0&biblionumber="+biblionumber+"&invoiceid=[% invoiceid %]";
}
}
function confirm_delete_biblio(ordernumber, basketno, biblionumber) {
- var is_confirmed = confirm(_('Are you sure you want to delete this catalog record and order ?'));
+ 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";
+ window.location = "addorder.pl?ordernumber="+ordernumber+"&basketno="+basketno+"&quantity=0&biblionumber="+biblionumber+"&delbiblio=1&invoiceid=[% invoiceid %]";
}
}
//]]>
[% 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>
+ <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.biblionumber %])" class="button">Delete order and catalog record</a><br>
+ <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 %]
<script type="text/javascript">
//<![CDATA[
$(document).ready(function() {
+[% IF (dateformat == 'metric') %]
+ dt_add_type_uk_date();
+[% END %]
var parcelst = $("#parcelst").dataTable($.extend(true, {}, dataTablesDefaults, {
"sPaginationType": "four_button"
} ) );
<script type="text/javascript">
//<![CDATA[
$(document).ready(function() {
+ [% IF (dateformat == 'metric') %]
+ dt_add_type_uk_date();
+ [% END %]
var spent = $("#spent").dataTable($.extend(true, {}, dataTablesDefaults, {
"sPaginationType": "four_button"
} ) );
[% END %]
<ol>
<li><label for="discount">Discount</label>
- <input type="text" size="6" id="discount" name="discount" value="[% discount %]" />%</li>
+ <input type="text" size="6" id="discount" name="discount" value="[% discount | format ("%.1f") %]" />%</li>
<li>
<label for="deliverytime">Delivery time</label>
<input type="text" size="2" id="deliverytime" name="deliverytime" value="[% deliverytime %]" /> days
<p><strong>Invoice item price includes tax: </strong>
[% IF ( invoiceincgst ) %]Yes[% ELSE %]No[% END %]</p>[% END %]
<p><strong>Discount: </strong>
- [% discount %] %</p>
+ [% discount | format("%.1f") %] %</p>
<p><strong>Tax rate: </strong>
- [% 0 + gstrate * 100 | format("%.1f") %]%</p>
+ [% 0 + gstrate * 100 | format("%.1f") %] %</p>
[% IF deliverytime.defined %]
<p><strong>Delivery time: </strong>
[% deliverytime %] days</p>
var filename = $(this).val();
if ( ! /(?:\.csv|\.sql|\.ods|\.xml)$/.test(filename)) {
$(this).css("background-color","yellow");
- alert(_('Please select an ods or xml file'));
+ alert(_("Please select an ods or xml file"));
$(this).val("");
$(this).css("background-color","white");
}
return false;
}
obj.css("background-color","yellow");
- alert(_('Please select an spreadsheet (csv, ods, xml) or sql file'));
+ alert(_("Please select an spreadsheet (csv, ods, xml) or sql file"));
obj.val("");
obj.css("background-color","white");
return false;
<script type="text/javascript" src="[% themelang %]/lib/jquery/plugins/jquery.tablesorter.min.js"></script>
<script type="text/javascript" src="[% themelang %]/lib/jquery/plugins/jquery.tablesorter.pager.js"></script>
<script type="text/javascript" src="[% themelang %]/js/tinymce/jscripts/tiny_mce/tiny_mce.js"></script>
-<script language="javascript" type="text/javascript">
+<script type="text/javascript">
tinyMCE.init({
mode : "textareas",
theme : "advanced",
$(function(){
$('#alerttabs').tabs();
- var blocked = _('Blocked!');
- var saving = _('Saving...');
- var disabledForAll = _('Disabled for all');
- var disabledForCurrent = _('Disabled for') + ' ' + $branch;
+ var blocked = _("Blocked!");
+ var saving = _("Saving...");
+ var disabledForAll = _("Disabled for all");
+ var disabledForCurrent = _("Disabled for") + ' ' + $branch;
$('#branch_selector input:submit').hide();
$('#branch').change(function(){
[% INCLUDE 'doc-head-close.inc' %]
<script type="text/javascript" src="[% themelang %]/lib/jquery/plugins/jquery.tablesorter.min.js"></script>
<link rel="stylesheet" type="text/css" href="[% themelang %]/css/preferences.css" />
-<link rel="stylesheet" type="text/css" href="[% themelang %]/css/humanmsg.css" />
-<script src="[% themelang %]/lib/jquery/plugins/humanmsg.js" type="text/javascript"></script>
-<script src="[% themelang %]/js/ajax.js" type="text/javascript"></script>
<script type="text/javascript" src="[% themelang %]/lib/jquery/plugins/jquery.fixFloat.js"></script>
<script type="text/javascript">
//<![CDATA[
var MSG_MADE_CHANGES = _("You have made changes to system preferences.");
var MSG_CLICK_TO_EXPAND = _("Click to expand this section");
var MSG_CLICK_TO_COLLAPSE = _("Click to collapse this section");
+ var MSG_INTERNAL_SERVER_ERROR = _( "Internal Server Error, please reload the page" );
+ var MSG_SESSION_TIMED_OUT = _( 'You need to log in again, your session has timed out' );
+ var MSG_DATA_NOT_SAVED = _( 'Error; your data might not have been saved' );
+ var MSG_LOADING = _( 'Loading...' );
+
//]]>
</script>
+<link rel="stylesheet" type="text/css" href="[% themelang %]/css/humanmsg.css" />
+<script src="[% themelang %]/lib/jquery/plugins/humanmsg.js" type="text/javascript"></script>
+<script src="[% themelang %]/js/ajax.js" type="text/javascript"></script>
<script src="[% themelang %]/js/pages/preferences.js" type="text/javascript"></script>
-<script src="[% themelang %]/lib/jquery/plugins/jquery.highlight-3.js" type="text/javascript"></script>
</head>
<body id="admin_preferences" class="admin">
[% INCLUDE 'header.inc' %]
choices:
yes: Separate
no: Don't separate
- - 'items display into two tabs. First tab contains items whose'
+ - "items display into two tabs, where the first tab contains items whose"
- pref: SeparateHoldingsBranch
choices:
- homebranch: 'home branch'
- holdingbranch: 'holding branch'
- - 'is the branch of user logged in. The other tab contains other items.'
+ homebranch: 'home library'
+ holdingbranch: 'holding library'
+ - "is the logged in user's library. The second tab will contain all other items."
+ -
+ - Don't show these
+ - pref: NotesBlacklist
+ class: multi
+ - note fields in title notes separator (OPAC record details) and in the description separator (Staff client record details). The fields should appear separated with commas and according with the Koha MARC format (eg 3.. for UNIMARC, 5.. for MARC21)
class: integer
- '[% local_currency %] in fines.'
-
+ - pref: RentalsInNoissuesCharge
+ choices:
+ yes: Include
+ no: "Don't include"
+ - rental charges when summing up charges for noissuescharge.
+ -
+ - pref: ManInvInNoissuesCharge
+ choices:
+ yes: Include
+ no: "Don't include"
+ - MANUAL_INV charges when summing up charges for noissuescharge.
+ -
- pref: ReturnBeforeExpiry
choices:
yes: Require
- pref: decreaseLoanHighHoldsValue
class: integer
- holds.
+ -
+ - pref: AllowHoldsOnPatronsPossessions
+ choices:
+ yes: Allow
+ no: "Don't allow"
+ - a patron to place a hold on a record where the patron already has one or more items attached to that record checked out.
Fines Policy:
-
- Calculate fines based on days overdue
- lost item fees charged to a borrower when the lost item is returned.
Self Checkout:
-
+ - "Include the following JavaScript on all pages in the web-based self checkout:"
+ - pref: SCOUserJS
+ type: textarea
+ class: code
+ -
+ - "Include the following CSS on all pages in the web-based self checkout:"
+ - pref: SCOUserCSS
+ type: textarea
+ class: code
+ -
- pref: ShowPatronImageInWebBasedSelfCheck
choices:
yes: Show
choices:
yes: in tabs.
no: in line with the bibliographic information.
+ IDreamLibraries:
+ -
+ - pref: IDreamBooksReviews
+ choices:
+ yes: Add
+ no: "Don't add"
+ - a tab on the OPAC details with book reviews from critics aggregated by <a href='http://idreambooks.com/'>IDreamBooks.com</a>.
+ -
+ - pref: IDreamBooksReadometer
+ choices:
+ yes: Add
+ no: "Don't add"
+ - a "Readometer" that summarizes the reviews gathered by <a href='http://idreambooks.com/'>IDreamBooks.com</a> to the OPAC details page.
+ -
+ - pref: IDreamBooksResults
+ choices:
+ yes: Add
+ no: "Don't add"
+ - the rating from <a href='http://idreambooks.com/'>IDreamBooks.com</a> to OPAC search results.
OCLC:
-
- pref: XISBN
yes: Allow
no: "Don't allow"
- multiple images to be attached to each bibliographic record.
+ HTML5 Media:
+ -
+ - Show a tab with a HTML5 media player for files catalogued in field 856
+ - pref: HTML5MediaEnabled
+ choices:
+ not: "not at all."
+ opac: "in the OPAC."
+ staff: "in the staff client."
+ both: "in OPAC and staff client."
+ -
+ - Media file extensions
+ - pref: HTML5MediaExtensions
+ class: multi
+ - (separated with |).
- a library select pulldown menu on the OPAC masthead.
-
- 'Display this HTML when no results are found for a search in the OPAC:'
+ - '<br />Note: You can insert placeholders {QUERY_KW} that will be replaced with the keywords of the query.'
- pref: OPACNoResultsFound
type: textarea
class: code
choices:
yes: Separate
no: Don't separate
- - 'items display into two tabs. First tab contains items whose'
+ - "items display into two tabs, where the first tab contains items whose"
- pref: OpacSeparateHoldingsBranch
choices:
- homebranch: 'home branch'
- holdingbranch: 'holding branch'
- - 'is the branch of user logged in. The other tab contains other items.'
+ homebranch: 'home library'
+ holdingbranch: 'holding library'
+ - "is the logged in user's library. The second tab will contain all other items."
Features:
-
- pref: opacuserlogin
[% INCLUDE 'doc-head-close.inc' %]
<script type="text/javascript" src="[% themelang %]/lib/jquery/plugins/tablednd.js"></script>
<script type="text/javascript" src="[% themelang %]/lib/jquery/plugins/jquery.textarea-expander.js"></script>
-<script type="text/javascript" language="javascript">
+<script type="text/javascript">
function clean_line( line ) {
$(line).find('input[type="text"]').val("");
$(line).find('input[type="checkbox"]').attr("checked", false);
[% END %]
</title>
[% INCLUDE 'doc-head-close.inc' %]
-<script language="javascript" type="text/javascript">
+<script type="text/javascript">
//<![CDATA[
$(document).ready(function() {
new YAHOO.widget.Button("newstopword");
<li><label for="encoding">Encoding (z3950 can send<br /> records in various encodings. Choose one): </label>
<select name="encoding">
-[% IF ( encodingutf8 ) %]
-<option value="utf8" selected="selected">UTF-8</option>
-[% ELSE %]
-<option value="utf8">UTF-8</option>
-[% END %]
-[% IF ( encodingEUC_KR ) %]
-<option value="EUC-KR" selected="selected">EUC-KR</option>
-[% ELSE %]
-<option value="EUC-KR">EUC-KR</option>
-[% END %]
-[% IF ( encodingISO_5426 ) %]
-<option value="ISO_5426" selected="selected">ISO_5426</option>
-[% ELSE %]
-<option value="ISO_5426">ISO_5426</option>
-[% END %]
-[% IF ( encodingISO_6937 ) %]
-<option value="ISO_6937" selected="selected">ISO_6937</option>
-[% ELSE %]
-<option value="ISO_6937">ISO_6937</option>
-[% END %]
-[% IF ( encodingMARC_8 ) %]
-<option value="MARC-8" selected="selected">MARC-8</option>
-[% ELSE %]
-<option value="MARC-8">MARC-8</option>
+[% FOREACH enc IN [ 'utf8' 'EUC-KR' 'ISO_5426' 'ISO_6937' 'ISO_8859-1' 'MARC-8' ] %]
+ [% IF ( encoding == enc ) %]
+ <option value="[% enc %]" selected="selected">[% enc %]</option>
+ [% ELSE %]
+ <option value="[% enc %]">[% enc %]</option>
+ [% END %]
[% END %]
</select>
</li>
</title>
[% INCLUDE 'doc-head-close.inc' %]
[% IF ( displayhierarchy ) %]
-<script language="javascript" type="text/javascript" src="/intranet-tmpl/lib/jquery/plugins/jquery.jstree.js"></script>
+<script type="text/javascript" src="/intranet-tmpl/lib/jquery/plugins/jquery.jstree.js"></script>
[% END %]
<script type="text/javascript">
});[% END %]
//]]>
</script>
+<link rel="stylesheet" type="text/css" href="[% themelang %]/css/datatables.css" />
+<script type="text/javascript" src="[% themelang %]/lib/jquery/plugins/jquery.dataTables.min.js"></script>
+<script type="text/javascript" src="[% themelang %]/lib/jquery/plugins/jquery.dataTables.columnFilter.js"></script>
+[% INCLUDE 'datatables-strings.inc' %]
+<script type="text/javascript" src="[% themelang %]/js/datatables.js"></script>
+<script type="text/javascript">
+//<![CDATA[
+ function activate_filters(id) {
+ table = $("#" + id + " table");
+ if (table.length == 1) {
+ filters_row = table.find('thead tr.filters_row');
+ if (table.find('thead tr.columnFilter').length == 0) {
+ table.dataTable().columnFilter({
+ 'sPlaceHolder': 'head:after'
+ });
+ filters_row.addClass('columnFilter');
+ }
+ filters_row.show();
+ }
+
+ $('#' + id + '_activate_filters')
+ .text(_("Deactivate filters"))
+ .unbind('click')
+ .click(function() {
+ deactivate_filters(id);
+ return false;
+ });
+ }
+
+ function deactivate_filters(id) {
+ filters_row = $("#" + id + " table").find('thead tr.filters_row');
+
+ filters_row.find('input[type="text"]')
+ .val('') // Empty filter text boxes
+ .trigger('keyup') // Filter (display all rows)
+ .trigger('blur'); // Reset value to the column name
+ filters_row.hide();
+
+ $('#' + id + '_activate_filters')
+ .text(_("Activate filters"))
+ .unbind('click')
+ .click(function() {
+ activate_filters(id);
+ return false;
+ });
+ }
+
+ $(document).ready(function() {
+ var ids = ['holdings', 'otherholdings'];
+ for (var i in ids) {
+ var id = ids[i];
+ table = $('#' + id + ' table');
+
+ // Duplicate the table header row for columnFilter
+ thead_row = table.find('thead tr');
+ clone = thead_row.clone().addClass('filters_row');
+ thead_row.before(clone);
+
+ // Enable sorting
+ table.dataTable($.extend(true, {}, dataTablesDefaults, {
+ 'sDom': 't',
+ 'bPaginate': false,
+ 'bAutoWidth': false
+ }));
+
+ // Show a link to activate filtering
+ link = $('<a>')
+ .attr('href', '#')
+ .attr('id', id + '_activate_filters');
+ table.before(link);
+ deactivate_filters(id);
+ }
+ });
+//]]>
+</script>
</head>
<body id="catalog_detail" class="catalog">
[% IF ( subscriptionsnumber ) %]<li><a href="#subscriptions">Subscriptions</a></li>[% END %]
[% IF ( FRBRizeEditions ) %][% IF ( XISBNS ) %]<li><a href="#editions">Editions</a></li>[% END %][% END %]
[% IF ( LocalCoverImages ) %][% IF ( localimages || CAN_user_tools_upload_local_cover_images ) %]<li><a href="#images">Images</a></li>[% END %][% END %]
- </ul>
+[% IF ( HTML5MediaEnabled ) %][% IF ( HTML5MediaSets ) %]<li><a href="#html5media">Play media</a></li>[% END %][% END %]
+</ul>
[% BLOCK items_table %]
<table>
</div>
[% END %]
+[% IF ( HTML5MediaEnabled ) %]
+<div id="html5media">
+ <p>
+ <[% HTML5MediaParent %] controls preload=none>
+ [% FOREACH HTML5MediaSet IN HTML5MediaSets %]
+ <[% HTML5MediaSet.child %] src="[% HTML5MediaSet.srcblock %]"[% HTML5MediaSet.typeblock %] />
+ [% END %]
+ [[% HTML5MediaParent %] tag not supported by your browser.]
+ </[% HTML5MediaParent %]>
+ </p>
+</div>
+[% END %]
+
+
</div><!-- /bibliodetails -->
<div class="yui-g" id="export" style="margin-top: 1em;">
[% INCLUDE 'datatables-strings.inc' %]
<script type="text/javascript" id="js">
$(document).ready(function() {
+ [% IF (dateformat == 'metric') %]
+ dt_add_type_uk_date();
+ [% END %]
$("#table_issues").dataTable($.extend(true, {}, dataTablesDefaults, {
"aaSorting": [[ 4, "desc" ]]
})
}
// If the field is not repeatable, we check if it already exists in the result table
if (canbeadded == false) {
- alert(_('The field is non-repeatable and already exists in the destination record. Therefore, you cannot add it.'));
+ alert(_("The field is non-repeatable and already exists in the destination record. Therefore, you cannot add it."));
pField.checked = 0;
} else {
// We select the whole field and removing non-selected subfields, instead of...
// Alerting the user
- alert(_('This subfield cannot be added: there is no ' + field + ' field in the destination record.'));
+ alert(_("This subfield cannot be added: there is no") + " " + field + " " + _("field in the destination record."));
pField.checked = false;
} else {
[% ELSE %]
<option value="a">a- AACR 2</option>
[% END %]
+ [% IF ( f18c ) %]
+ <option value="c" selected="selected">c- ISBD punctuation omitted</option>
+ [% ELSE %]
+ <option value="c">c- ISBD punctuation omitted</option>
+ [% END %]
[% IF ( f18i ) %]
- <option value="i" selected="selected">i- ISBD</option>
+ <option value="i" selected="selected">i- ISBD punctuation included</option>
[% ELSE %]
- <option value="i">i- ISBD</option>
+ <option value="i">i- ISBD punctuation included</option>
[% END %]
[% IF ( f18u ) %]
<option value="u" selected="selected">u- Unknown</option>
[% ELSE %]
<option value="a">a- AACR 2</option>
[% END %]
+ [% IF ( f18c ) %]
+ <option value="c" selected="selected">c- ISBD punctuation omitted</option>
+ [% ELSE %]
+ <option value="c">c- ISBD punctuation omitted</option>
+ [% END %]
[% IF ( f18i ) %]
- <option value="i" selected="selected">i- ISBD</option>
+ <option value="i" selected="selected">i- ISBD punctuation included</option>
[% ELSE %]
- <option value="i">i- ISBD</option>
+ <option value="i">i- ISBD punctuation included</option>
[% END %]
[% IF ( f18u ) %]
<option value="u" selected="selected">u- Unknown</option>
[% ELSE %]
<option value="a">a- AACR 2</option>
[% END %]
+ [% IF ( f18c ) %]
+ <option value="c" selected="selected">c- ISBD punctuation omitted</option>
+ [% ELSE %]
+ <option value="c">c- ISBD punctuation omitted</option>
+ [% END %]
[% IF ( f18i ) %]
- <option value="i" selected="selected">i- ISBD</option>
+ <option value="i" selected="selected">i- ISBD punctuation included</option>
[% ELSE %]
- <option value="i">i- ISBD</option>
+ <option value="i">i- ISBD punctuation included</option>
[% END %]
[% IF ( f18u ) %]
<option value="u" selected="selected">u- Unknown</option>
<title>Koha › Cataloguing › plugin for links</title>
[% INCLUDE 'doc-head-close.inc' %]
[% IF ( fillinput ) %]
- <script language="javascript" type="text/javascript">
+ <script type="text/javascript">
function go() {
<title>Koha › Cataloging › 4XX plugin</title>
[% INCLUDE 'doc-head-close.inc' %]
[% IF ( fillinput ) %]
- <script language="javascript" type="text/javascript">
+ <script type="text/javascript">
function go() {
[% USE KohaDates %]
[% INCLUDE 'doc-head-open.inc' %]
+[% SET destination = "circ" %]
<title>Koha › Circulation
[% IF borrowernumber %]
› Checking out to [% INCLUDE 'patron-title.inc' invert_name = 1 %]
$(this).removeAttr("checked");
} else {
$(this).attr("checked","checked");
- // radioCheckBox($(this));
+ radioCheckBox($(this));
}
});
}
$("input.radio").click(function(){
radioCheckBox($(this));
});
- $("#exportmenuc").empty();
- initExportButton();
$("#newduedate").datetimepicker({
minDate: 1, // require that renewal date is after today
hour: 23,
minute: 59
});
-
+ $("#export_submit").click(function(){
+ var export_format = $("#export_formats").val();
+ export_checkouts(export_format);
+ return false;
+ })
});
-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) {
+function export_checkouts(format) {
if ($("input:checkbox[name='biblionumbers'][checked]").length < 1){
alert(_("You must select a checkout to export"));
return;
[% END %]
[% IF ( borrowernumber ) %]
-[% INCLUDE 'circ-toolbar.inc' %]
+[% INCLUDE 'members-toolbar.inc' %]
[% END %]
<!-- INITIAL BLOC : PARAMETERS & BORROWER INFO -->
<div class="dialog message">This item has been lost with a status of "[% alert.ITEM_LOST %]".</div>
[% END %]
+[% IF ( alert.OTHER_CHARGES ) %]
+ <div class="dialog message">The patron has unpaid charges for reserves, rentals etc of [% alert.OTHER_CHARGES %]</div>
+[% END %]
+
[% IF ( NEEDSCONFIRMATION ) %]
<div class="yui-g">
<h4>Holds waiting:</h4>
[% FOREACH WaitingReserveLoo IN WaitingReserveLoop %]
<ul>
- <li> <a href="/cgi-bin/koha/reserve/request.pl?biblionumber=[% WaitingReserveLoo.biblionumber %]">[% WaitingReserveLoo.title |html %]</a> ([% WaitingReserveLoo.itemtype %]), [% IF ( WaitingReserveLoo.author ) %]by [% WaitingReserveLoo.author %][% END %] Hold placed on [% WaitingReserveLoo.reservedate %].
+ <li> <a href="/cgi-bin/koha/reserve/request.pl?biblionumber=[% WaitingReserveLoo.biblionumber %]">[% WaitingReserveLoo.title |html %]</a> ([% WaitingReserveLoo.itemtype %]), [% IF ( WaitingReserveLoo.author ) %]by [% WaitingReserveLoo.author %][% END %] [% IF ( WaitingReserveLoo.itemcallnumber ) %][[% WaitingReserveLoo.itemcallnumber %]] [% END %]Hold placed on [% WaitingReserveLoo.reservedate %].
[% IF ( WaitingReserveLoo.waitingat ) %]
<br />[% IF ( WaitingReserveLoo.waitinghere ) %]<strong class="waitinghere">[% ELSE %]<strong>[% END %]Waiting at [% WaitingReserveLoo.waitingat %]</strong>
[% END %]
[% 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>
+ <fieldset>
+ <label for="export_formats"><b>Export checkouts using format:</b></label>
+ <select name="export_formats" id="export_formats">
+ <option value="iso2709_995">ISO2709 with items</option>
+ <option value="iso2709">ISO2709 without items</option>
+ <option value="csv">CSV</option>
+ </select>
+ <label for="export_remove_fields">Don't export fields:</label> <input type="text" id="export_remove_fields" name="export_remove_fields" value="[% export_remove_fields %]" title="Use for iso2709 exports" />
<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" />
+ <input type="button" id="export_submit" value="Export" />
+ </fieldset>
[% END %]
- </fieldset>
[% END %]
</form>
[% ELSE %]
<script type="text/JavaScript" language="JavaScript">
//<![CDATA[
$(document).ready(function() {
+ [% IF (dateformat == 'metric') %]
+ dt_add_type_uk_date();
+ [% END %]
var holdst = $("#holdst").dataTable($.extend(true, {}, dataTablesDefaults, {
}));
holdst.fnAddFilters("filter");
<link rel="stylesheet" type="text/css" href="[% stylesheet %]" />
[% END %]
-<script language="javascript">
+<script type="text/javascript">
[% IF ( IntranetSlipPrinterJS ) %]
[% IntranetSlipPrinterJS %]
[% ELSE %]
[% INCLUDE 'doc-head-open.inc' %]
<title>Koha › Circulation › Transfers</title>
[% INCLUDE 'doc-head-close-receipt.inc' %]
-<script language="javascript">
+<script type="text/javascript">
function printandclose()
{
window.print();
<li>GREATER SUDBURY PUBLIC 216.223.90.51:210 INNOPAC</li>
<li>HALIFAX PUBLIC catalogue.halifaxpubliclibraries.ca:210 horizon</li>
<li>HALTON HILLS PUBLIC cat.hhpl.on.ca:210 halton_hills</li>
- <li>LIBRARY OF CONGRESS z3950.loc.gov:7090 Voyager</li>
+ <li>LIBRARY OF CONGRESS lx2.loc.gov:210 LCDB</li>
<li>LONDON PUBLIC LIBRARY catalogue.londonpubliclibrary.ca:210 INNOPAC</li>
<li>MANITOBA PUBLIC library.gov.mb.ca:210 horizon</li>
<li>MILTON PL cat.mpl.on.ca:210 horizon</li>
<p><strong>See the full documentation for Z39.50 Servers in the <a href="http://manual.koha-community.org/3.10/en/additionaladmin.html#z3950admin">manual</a> (online).</strong></p>
-[% INCLUDE 'help-bottom.inc' %]
\ No newline at end of file
+[% INCLUDE 'help-bottom.inc' %]
[% INCLUDE 'doc-head-open.inc' %]
<title>Online help</title>
-<script language="javascript" type="text/javascript" src="[% themelang %]/js/tinymce/jscripts/tiny_mce/tiny_mce.js"></script>
-<script language="javascript" type="text/javascript">
+<script type="text/javascript" src="[% themelang %]/js/tinymce/jscripts/tiny_mce/tiny_mce.js"></script>
+<script type="text/javascript">
tinyMCE.init({
mode : "textareas",
theme : "advanced",
return(document.layouts.action[selected[0]].value);
}
else {
- alert(_('Please select only one ')+'[% label_element %]'+_(' to')+op+'.');
+ alert(_("Please select only one ")+"[% label_element %]"+_(" to")+op+".");
return (-1);
}
}
return(document.layouts.action.value);
}
};
- alert(_('Please select a ')+'[% label_element %].');
+ alert(_("Please select a ")+"[% label_element %].");
return (-1);
};
//]]>
<div id="bd">
<div id="yui-main">
<div class="yui-b">
- [% INCLUDE 'circ-toolbar.inc' %]
+ [% INCLUDE 'members-toolbar.inc' %]
<h1>Files</h1>
[% INCLUDE 'doc-head-open.inc' %]
-<title>Koha › Patrons › Set privileges for [% surname %], [% firstname %]</title>
+<title>Koha › Patrons › Set permissions for [% surname %], [% firstname %]</title>
[% INCLUDE 'doc-head-close.inc' %]
<link rel="stylesheet" type="text/css" href="[% themelang %]/css/treeview/jquery.treeview.css"/>
<script type="text/javascript" src="[% themelang %]/lib/jquery/plugins/jquery.treeview.pack.js"></script>
<script type="text/javascript">
$(document).ready(function() {
$("#permissionstree").treeview({animated: "fast", collapsed: true});
+
+ // Enforce Superlibrarian Privilege Mutual Exclusivity
+ if($('input[id="flag-0"]:checked').length){
+ if ($('input[name="flag"]:checked').length > 1){
+ alert('Inconsistency Detected!\n\nThe superlibrarian privilege is mutually exclusive of other privileges, as it includes them all.\n\nThis patron\'s privileges will now be reset to include only superlibrarian.');
+ }
+
+ $('input[name="flag"]').each(function() {
+ if($(this).attr('id') != "flag-0"){
+ $(this).attr('disabled', 'disabled');
+ $(this).removeAttr('checked', 'checked');
+ }
+ });
+ }
+
+ $('input#flag-0').click(function() {
+ if($('input[id="flag-0"]:checked').length){
+ $('input[name="flag"]').each(function() {
+ if($(this).attr('id') != "flag-0"){
+ $(this).attr('disabled', 'disabled');
+ $(this).removeAttr('checked', 'checked');
+ }
+ });
+ }
+ else {
+ $('input[name="flag"]').each(function() {
+ $(this).removeAttr('disabled', 'disabled');
+ });
+ }
+ });
+
});
</script>
<!-- manage checking/unchecking parent permissions -->
[% INCLUDE 'header.inc' %]
[% INCLUDE 'patron-search.inc' %]
-<div id="breadcrumbs"><a href="/cgi-bin/koha/mainpage.pl">Home</a> › <a href="/cgi-bin/koha/members/members-home.pl">Patrons</a> › Set privileges for [% surname %], [% firstname %]</div>
+<div id="breadcrumbs"><a href="/cgi-bin/koha/mainpage.pl">Home</a> › <a href="/cgi-bin/koha/members/members-home.pl">Patrons</a> › Set permissions for [% surname %], [% firstname %]</div>
<div id="doc3" class="yui-t2">
<form method="post" action="/cgi-bin/koha/members/member-flags.pl">
<input type="hidden" name="member" id="borrowernumber" value="[% borrowernumber %]" />
<input type="hidden" name="newflags" value="1" />
- <h1>Set Privileges for [% surname %], [% firstname %]</h1>
+ <h1>Set permissions for [% surname %], [% firstname %]</h1>
<!-- <ul id="permissionstree"><li class="root">All privileges<ul> -->
<ul id="permissionstree" class="treeview-grey">
<!-- <li class="folder-close">One level down<ul> -->
<!-- </ul></li></ul> -->
</ul>
-<fieldset class="action"><input type="submit" value="Set Flags" /> <a class="cancel" href="/cgi-bin/koha/members/moremember.pl?borrowernumber=[% borrowernumber %]">Cancel</a></fieldset>
+<fieldset class="action"><input type="submit" value="Save" /> <a class="cancel" href="/cgi-bin/koha/members/moremember.pl?borrowernumber=[% borrowernumber %]">Cancel</a></fieldset>
</form>
</div>
[% IF ( opadd ) %]Add[% ELSIF ( opduplicate ) %]Duplicate[% ELSE %] Modify[% END %] [% IF ( categoryname ) %] [% categoryname %] patron[% ELSE %][% IF ( I ) %] Organization patron[% END %][% IF ( A ) %] Adult patron[% END %][% IF ( C ) %] Child patron[% END %][% IF ( P ) %] Professional patron[% END %][% IF ( S ) %] Staff patron[% END %][% END %][% UNLESS ( opadd ) %] [% surname %], [% firstname %][% END %]</title>
[% INCLUDE 'doc-head-close.inc' %]
[% INCLUDE 'calendar.inc' %]
-<script type="text/JavaScript">
+<script type="text/javascript">
//<![CDATA[
$(document).ready(function() {
$("fieldset.rows input").keydown(function(e){ return checkEnter(e); });
<!-- handle changing prefs if creating new patron and changing
the patron category
-->
- <script language="javascript" type="text/javascript">//<![CDATA[
+ <script type="text/javascript">//<![CDATA[
$(document).ready(function(){
var message_prefs_dirty = false;
$('#memberentry_messaging_prefs > *').change(function() {
var attrid = item.message_attribute_id;
var transports = ['email', 'rss', 'sms'];
$.each(transports, function(j, transport) {
- if (item['transport-' + transport] != ' ') {
- $('#' + transport + attrid).attr('checked', item['transport-' + transport]);
+ if (item['transports_' + transport] == 1) {
+ $('#' + transport + attrid).attr('checked', 'checked');
} else {
$('#' + transport + attrid).removeAttr('checked');
}
<li><span class="label">Registration date: </span>[% dateenrolled %]</li>
<li><span class="label">Expiration date: </span>
[% IF ( reregistration ) %]
- <strong class="reregistrinfo">[% dateexpiry %]</span>
+ <strong class="reregistrinfo">[% dateexpiry %]</strong>
[% ELSE %]
[% dateexpiry %]
[% END %]
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<link rel="shortcut icon" href="[% IF ( IntranetFavicon ) %][% IntranetFavicon %][% ELSE %][% themelang %]/includes/favicon.ico[% END %]" type="image/x-icon" />
<link rel="stylesheet" type="text/css" href="[% themelang %]/css/print.css" />
-<script language="javascript">
+<script type="text/javascript">
function printThenClose() {
window.print();
window.close();
<link rel="shortcut icon" href="[% IF ( IntranetFavicon ) %][% IntranetFavicon %][% ELSE %][% themelang %]/includes/favicon.ico[% END %]" type="image/x-icon" />
<link rel="stylesheet" type="text/css" href="[% themelang %]/css/print.css" />
-<script language="javascript">
+<script type="text/javascript">
function printThenClose() {
window.print();
window.close();
[% IF ( picture ) %]
// new YAHOO.widget.Button("delpicture"); // FIXME: formatting mismatch between YUI and normal button
$('#delpicture').click(function(){
- return confirm(_('Are you sure you want to delete this patron image? This cannot be undone.'));
+ return confirm(_("Are you sure you want to delete this patron image? This cannot be undone."));
});
$('#manage-patron-image').find("input[value*=Upload]").click(function(){
if($("#uploadfile").val() == ""){
alert(_("Please choose a file to upload"));
return false;
}
- return confirm(_('Are you sure you want to replace the current patron image? This cannot be undone.'));
+ return confirm(_("Are you sure you want to replace the current patron image? This cannot be undone."));
});[% END %]
$("#renew_all" ).click(function(){ $(".checkboxed").checkCheckboxes(":input[name*=items]" ); $(".checkboxed").unCheckCheckboxes(":input[name*=barcodes]"); });
$("#CheckAllitems" ).click(function(){ $(".checkboxed").checkCheckboxes(":input[name*=items]" ); $(".checkboxed").unCheckCheckboxes(":input[name*=barcodes]"); return false; });
<li><span class="label">Expiration date: </span>
[% IF ( reregistration ) %]
- <strong class="reregistrinfo">[% dateexpiry %]</span>
+ <strong class="reregistrinfo">[% dateexpiry %]</strong>
[% ELSE %]
[% dateexpiry %]
[% END %]
<title>Sent notices for [% INCLUDE 'patron-title.inc' %]</title>
[% INCLUDE 'doc-head-close.inc' %]
<script type="text/javascript" src="[% themelang %]/lib/jquery/plugins/jquery.tablesorter.min.js"></script>
-<script type="text/javascript" language="javascript">
+<script type="text/javascript">
//<![CDATA[
$(document).ready(function() {
$("#noticestable").tablesorter({
<div id="bd">
<div id="yui-main">
<div class="yui-b">
-[% INCLUDE 'circ-toolbar.inc' %]
+[% INCLUDE 'members-toolbar.inc' %]
<h1>Sent notices for [% INCLUDE 'patron-title.inc' %]</h1>
</li>
</ul>
<div class="tabs-container">
-[% IF ( error ) %]
+[% IF ( error_over ) %]
<div id="error_message" class="dialog alert">
- [% error %]
+ You must pay a value less than or equal to [% total_due | format('%.2f') %].
</div>
[% END %]
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<link rel="shortcut icon" href="[% IF ( IntranetFavicon ) %][% IntranetFavicon %][% ELSE %][% themelang %]/includes/favicon.ico[% END %]" type="image/x-icon" />
<link rel="stylesheet" type="text/css" href="[% themelang %]/css/printreceiptinvoice.css" />
-<script language="javascript">
+<script type="text/javascript">
function printThenClose() {
window.print();
window.close();
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<link rel="shortcut icon" href="[% IF ( IntranetFavicon ) %][% IntranetFavicon %][% ELSE %][% themelang %]/includes/favicon.ico[% END %]" type="image/x-icon" />
<link rel="stylesheet" type="text/css" href="[% themelang %]/css/printreceiptinvoice.css" />
-<script language="javascript">
+<script type="text/javascript">
function printThenClose() {
window.print();
window.close();
<script type="text/javascript" src="/intranet-tmpl/prog/en/lib/jquery/plugins/jquery.dataTables.min.js"></script>
[% INCLUDE 'datatables-strings.inc' %]
<script type="text/javascript" src="/intranet-tmpl/prog/en/js/datatables.js"></script>
-<script type="text/javascript" id="js">$(document).ready(function() {
+<script type="text/javascript" id="js">
+//<![CDATA[
$(document).ready(function() {
+ [% IF (dateformat == 'metric') %]
+ dt_add_type_uk_date();
+ [% END %]
$("#table_readingrec").dataTable($.extend(true, {}, dataTablesDefaults, {
"sPaginationType": "four_button",
}));
});
-}); </script>
+//]]>
+</script>
</head>
<body id="pat_readingrec" class="pat">
[% INCLUDE 'header.inc' %]
<div id="bd">
<div id="yui-main">
<div class="yui-b">
-[% INCLUDE 'circ-toolbar.inc' %]
+[% INCLUDE 'members-toolbar.inc' %]
<h1>Circulation history</h1>
[% IF loop_reading %]
<form action="/cgi-bin/koha/members/readingrec.pl" method="get"><input type="hidden" name="borrowernumber" id="borrowernumber" value="[% borrowernumber %]" /></form>
<div id="bd">
<div id="yui-main">
<div class="yui-b">
-[% INCLUDE 'circ-toolbar.inc' %]
+[% INCLUDE 'members-toolbar.inc' %]
<!-- Search Bar -->
<p class="tip">Search subscriptions:</p>
[% IF ( unknowuser ) %]
Patron does not exist
[% ELSE %]
- Patron details for [% INCLUDE 'patron-title.inc' %]
+ Statistics for [% INCLUDE 'patron-title.inc' %]
[% END %]
</title>
<link rel="stylesheet" type="text/css" href="[% themelang %]/css/datatables.css" />
<div id="breadcrumbs">
<a href="/cgi-bin/koha/mainpage.pl">Home</a>
› <a href="/cgi-bin/koha/members/members-home.pl">Patrons</a>
-› [% IF ( unknowuser ) %]Patron does not exist[% ELSE %]Patron statistics for [% firstname %] [% surname %] ([% cardnumber %])[% END %]
+› [% IF ( unknowuser ) %]Patron does not exist[% ELSE %]Statistics for [% firstname %] [% surname %] ([% cardnumber %])[% END %]
</div>
<div id="doc3" class="yui-t1">
<div id="bd">
<div id="yui-main">
<div class="yui-b">
- <div class="yui-g">
- <h2>Statistics</h2>
+ [% INCLUDE 'members-toolbar.inc' %]
+
+ <h3>Statistics for [% UNLESS ( I ) %][% title %] [% firstname %] [% END %] [% surname %] ([% cardnumber %])</h3>
+ [% IF ( datas.size ) %]
<table id="statistics">
<thead>
<tr>
[% FOREACH cn IN column_names %]
- <th>[% cn %]</th>
+ <th>
+ [% SWITCH cn %]
+ [% CASE 'itype' %]
+ Item type
+ [% CASE 'ccode' %]
+ Collection code
+ [% CASE 'location' %]
+ Shelving location
+ [% CASE 'homebranch' %]
+ Home library
+ [% CASE 'holdingbranch' %]
+ Holding library
+ [% CASE %]
+ [% cn %]
+ [% END %]
+ </th>
[% END %]
<th>Total checkouts as of yesterday</th>
<th>Today's checkouts</th>
</tr>
</tfoot>
</table>
- </div>
+ [% ELSE %]
+ <div class="dialog message">There are no statistics for this patron.</div>
+ [% END %]
</div>
</div>
<div class="yui-b">
<div id="bd">
[% IF ( CONFIRM ) %]
-<script language="javascript" type="text/javascript">
+<script type="text/javascript">
function confirm_updatechild() {
var is_confirmed = window.confirm('Are you sure you want to update this child to an Adult category? This cannot be undone.');
[% END %]
[% IF ( SUCCESS ) %]
-<script language="javascript" type="text/javascript">
+<script type="text/javascript">
self.opener.location.href='/cgi-bin/koha/members/moremember.pl?borrowernumber=[% borrowernumber %]';
window.close();
</script>
[% INCLUDE "doc-head-close.inc" %]
<script type="text/javascript" src="[% themelang %]/lib/jquery/plugins/jquery.tablesorter.min.js"></script>
<script type="text/javascript" src="[% themelang %]/lib/jquery/plugins/jquery.checkboxes.min.js"></script>
- <script type="text/javascript" language="javascript">
+ <script type="text/javascript">
//<![CDATA[
$(document).ready(function() {
- $("span.clearall").html("<a id=\"CheckNone\" href=\"/cgi-bin/koha/offline_circ/list.pl\">"+_('Uncheck all')+"<\/a>");
- $("span.checkall").html("<a id=\"CheckAll\" href=\"/cgi-bin/koha/offline_circ/list.pl\">"+_('Check all')+"<\/a>");
+ $("span.clearall").html("<a id=\"CheckNone\" href=\"/cgi-bin/koha/offline_circ/list.pl\">"+_("Uncheck all")+"<\/a>");
+ $("span.checkall").html("<a id=\"CheckAll\" href=\"/cgi-bin/koha/offline_circ/list.pl\">"+_("Check all")+"<\/a>");
$('#CheckNone').click(function() {
$("#operations").unCheckCheckboxes();
return false;
}
function CheckForm(f) {
if (f.uploadedfileid.value == '') {
- alert(_('Please upload a file first.'));
+ alert(_("Please upload a file first."));
} else {
$("#fileuploadstatus").hide();
$("#fileuploadform").slideUp();
}
}
if (batches.length < 1) {
- alert(_('Please select at least one batch to export.'));
+ alert(_("Please select at least one batch to export."));
return; // no batch selected
}
getstr = batches.join("&");
getstr = "batch_id="+document.layouts.action.value;
}
else {
- alert(_('Please select at least one batch to export.'));
+ alert(_("Please select at least one batch to export."));
return; // no batch selected
}
return GB_showCenter('Export Patron Cards', "/cgi-bin/koha/patroncards/print.pl?" + getstr, 700, 800);
return(document.layouts.action[selected[0]].value);
}
else {
- alert(_('Please select only one ')+'[% card_element %]'+_(' to ') + op + '.');
+ alert(_("Please select only one ")+"[% card_element %]"+_(" to ") + op + ".");
return (-1);
}
}
return(document.layouts.action.value);
}
};
- alert(_('Please select a ')+'[% card_element %].');
+ alert(_("Please select a ")+"[% card_element %].");
return (-1);
};
//]]>
</select>
</td>
</tr>
+ [% ELSE %]
+ <input type="hidden" name="Filter" />
[% END %]
[% IF ( SORT2_LOOP ) %]
[% UNLESS ( SORT1_LOOP ) %]<tr class="highlight">
</select>
</td>
</tr>
+ [% ELSE %]
+ <input type="hidden" name="Filter" />
[% END %]
- </tbody>
- </table><br /></fieldset>
+ [% IF ( ExtendedPatronAttributes ) %]
+ <tr>
+ <th colspan="4">Patron attributes</th>
+ </tr>
+ [% FOREACH pa_loo IN patron_attributes %]
+ [% IF (pa_loo.class) %]
+ <tr>
+ <th>[% pa_loo.class %] ([% pa_loo.lib %])</th>
+ <th colspan="3"></th>
+ </tr>
+ [% END %]
+ [% FOREACH patron_attribute IN pa_loo.items %]
+ <tr data-category_code="[% patron_attribute.category_code %]">
+ <td>
+ [% patron_attribute.code %]
+ ([% patron_attribute.description %])
+ </td>
+ <td>
+ <input type="radio" name="Line"
+ value="patron_attr.[% patron_attribute.code %]" />
+ </td>
+ <td>
+ <input type="radio" name="Column"
+ value="patron_attr.[% patron_attribute.code %]" />
+ </td>
+ <td>
+ [% IF ( patron_attribute.use_dropdown ) %]
+ <select name="Filter_patron_attr.[% patron_attribute.code %]" >
+ <option value="" />
+ [% FOREACH auth_val_loo IN patron_attribute.auth_val_loop %]
+ <option value="[% auth_val_loo.authorised_value %]" >
+ [% auth_val_loo.lib %]
+ </option>
+ [% END %]
+ </select>
+ [% ELSE %]
+ <input type="text" maxlength="64"
+ name="Filter_patron_attr.[% patron_attribute.code %]" />
+ [% END %]
+ </td>
+ </tr>
+ [% END %]
+ [% END %]
+ [% END %]
+ </tbody>
+ </table>
+ </fieldset>
+
<fieldset class="rows">
<legend>Output</legend>
widgets : ['zebra'],
sortList: [[1,0]],
headers: {
- 6: { sorter: false},
- 7: { sorter: false},
- 8: { sorter: false},
- 9: { sorter: false},
- 10: { sorter: false}
+ 10: { sorter: false},
+ 11: { sorter: false},
+ 12: { sorter: false},
+ 13: { sorter: false}
}
}).tablesorterPager({
container: $("#pagertable_reports"),
[% IF ( notes ) %]<p>[% notes %]</p>[% END %]
[% IF ( unlimited_total ) %]<p>Total number of rows matching the (unlimited) query is [% unlimited_total %].</p>[% END %]
<pre id="sql_output">[% sql |html %]</pre>
+
+<form>
+ <input type="hidden" name="phase" value="Run this report"/>
+ <input type="hidden" name="reports" value="[% report_id %]"/>
+
+ <label for="limit">Rows per page: </label>
+ <select name="limit">
+ [% limits = [ 10, 20, 50, 100, 200, 300, 400, 500, 1000 ] %]
+ [% FOREACH l IN limits %]
+ [% IF l == limit %]
+ <option value="[% l %]" selected="selected">[% l %]</option>
+ [% ELSE %]
+ <option value="[% l %]">[% l %]</option>
+ [% END %]
+ [% END %]
+ </select>
+
+ <input type="submit" value="Update" />
+</form>
+
<div class="pages">[% pagination_bar %]</div>
[% UNLESS ( errors ) %]
<table>
var msg = '';
switch (override_items[itemnumber].holdallowed) {
- case 0: msg = _( 'This item normally cannot be put on hold.' ); break;
- case 1: msg = _( 'This item normally cannot be put on hold except for patrons from ' ) + override_items[itemnumber].homebranch + '.'; break;
+ case 0: msg = _("This item normally cannot be put on hold."); break;
+ case 1: msg = _("This item normally cannot be put on hold except for patrons from ") + override_items[itemnumber].homebranch + "."; break;
}
- msg += "\n\n" + _( 'Place hold on this item?' );
+ msg += "\n\n" + _("Place hold on this item?");
return confirm(msg);
});
$("input.warning").click(function() {
- return confirm( _( 'None of these items can normally be put on hold for this patron.' ) + "\n\n" + _( 'Place hold?' ) );
+ return confirm( _("None of these items can normally be put on hold for this patron.") + "\n\n" + _("Place hold?") );
});
$("#requestany").click(function() {
if(this.checked){
[% IF ( none_available ) %]
<li> <strong>No copies are available</strong> to be placed on hold</li>
[% END %]
+ [% IF ( alreadypossession ) %]
+ <li> <a href="/cgi-bin/koha/members/moremember.pl?borrowernumber=[% borrowernumber %]">[% borrowerfirstname %] [% borrowersurname %]</a> <strong>is already in possesion</strong> of one item</li>
+ [% END %]
</ul>
[% ELSE %]
<h3>Cannot place hold on some items</h3>
var selected = $("input:checked");
if (selected.length == 0) {
- alert(_('Please select at least one item to export.'));
+ alert(_("Please select at least one item to export."));
return false;
}
// Checks if the form can be sent (at least one checkbox must be checked)
function checkForm() {
if ($("input:checked").length == 0) {
- alert(_('Please select at least one item.'));
+ alert(_("Please select at least one item."));
return false;
}
}
// Checks if the beginning date is valid
if (!parseInt(beginDate)) {
- alert(_('The beginning date is missing or invalid.'));
+ alert(_("The beginning date is missing or invalid."));
return false;
}
// Checks if the ending date is valid
if (!parseInt(endDate)) {
- alert(_('The ending date is missing or invalid.'));
+ alert(_("The ending date is missing or invalid."));
return false;
}
[% INCLUDE 'doc-head-open.inc' %]
<title>Koha › Serials › Search results</title>
[% INCLUDE 'doc-head-close.inc' %]
-<script type="text/javascript" language="javascript">
+<script type="text/javascript">
//<![CDATA[
function GetIt(bibno,title)
{
[% INCLUDE 'doc-head-open.inc' %]
<title>Koha › Serials › [% title |html %] › [% IF ( op ) %]Create Routing List[% ELSE %]Edit routing list[% END %]</title>
[% INCLUDE 'doc-head-close.inc' %]
-<script language="javascript" type="text/javascript">
+<script type="text/javascript">
<!--
function reorder_item(sid,rid,rank){
<p>
<input type="submit" value="Edit serials" />
[% UNLESS subscription.closed %]
- <input type="button" value="Generate Next" onclick="javascript:generateNext([% subscriptionidlist %])" />
+ <input type="button" value="Generate next" onclick="javascript:generateNext([% subscriptionidlist %])" />
[% IF ( subscriptions.size == 1 and !serialsadditems ) %] <input type="button" value="Multi receiving" onclick="javascript:generateReceive([% subscriptionidlist %])" />[% END %]
[% END %]
</p>
[% serial.serialseq %]
</td>
<td>
- [% IF ( latestserial.status1 ) %]Expected[% END %]
- [% IF ( latestserial.status2 ) %]Arrived[% END %]
- [% IF ( latestserial.status3 ) %]Late[% END %]
- [% IF ( latestserial.status4 ) %]Missing[% END %]
- [% IF ( latestserial.status5 ) %]Not issued[% END %]
- [% IF ( latestserial.status6 ) %]Delete[% END %]
- [% IF ( latestserial.status7 ) %]Claimed[% END %]
- [% IF ( latestserial.status8 ) %]Stopped[% END %]
+ [% IF ( serial.status1 ) %]Expected[% END %]
+ [% IF ( serial.status2 ) %]Arrived[% END %]
+ [% IF ( serial.status3 ) %]Late[% END %]
+ [% IF ( serial.status4 ) %]Missing[% END %]
+ [% IF ( serial.status5 ) %]Not issued[% END %]
+ [% IF ( serial.status6 ) %]Delete[% END %]
+ [% IF ( serial.status7 ) %]Claimed[% END %]
+ [% IF ( serial.status8 ) %]Stopped[% END %]
</td>
<td>
[% serial.notes %]
[% INCLUDE 'doc-head-close.inc' %]
<script type="text/javascript" src="[% themelang %]/js/cataloging.js"></script>
<script language="JavaScript" type="text/javascript">
+var nav = window.Event ? true : false;
+if (nav) {
+ window.captureEvents(Event.KEYDOWN);
+ window.onkeydown = NetscapeEventHandler_KeyDown;
+} else {
+ document.onkeydown = IEEventHandler_KeyDown;
+}
+
+function NetscapeEventHandler_KeyDown(e) {
+ if (e.which == 13 && e.target.type != 'textarea' && e.target.type != 'submit') { return false; }
+ return true;
+}
+
+function IEEventHandler_KeyDown() {
+ if (event.keyCode == 13 && event.srcElement.type != 'textarea' && event.srcElement.type != 'submit')
+ return false;
+ return true;
+}
//<![CDATA[
function generateReceive() {
var subscriptionid = document.getElementsByName("subscriptionid")[0].value;
</table>
<fieldset class="action">
- <input type="submit" onclick="return false;" style="display: none;" id="phony_submit" value="phony_submit" name="phony_submit" />
<input type="submit" value="Save" class="button" accesskey="w" />
[% UNLESS ( serialsadditems ) %] <input type="button" onclick="javascript:generateReceive()" value="Multi receiving">[% END %]
</fieldset>
<script type="text/javascript">
//<![CDATA[
$(document).ready(function() {
+ [% IF (dateformat == 'metric') %]
+ dt_add_type_uk_date();
+ [% END %]
var osrlt = $("#osrlt").dataTable($.extend(true, {}, dataTablesDefaults, {
+
"aoColumnDefs": [
{ "aTargets": [ -1, -2, -3 ], "bSortable": false, "bSearchable": false },
],
csrlt.fnAddFilters("filter", 750);
$('#serialstabs').tabs();
-
+ $("#reopensub").click(function(){
+ return confirm(_("Are you sure you want to reopen this subscription?"));
+ });
});
//]]>
</script>
</td>
<td>
[% UNLESS subscription.cannotedit %]
- <a href="/cgi-bin/koha/serials/serials-search.pl?subscriptionid=[% subscription.subscriptionid %]&op=reopen&routing=[% subscription.routing %]&searched=1&title_filter=[% title_filter %]&ISSN_filter=[% ISSN_filter %]&EAN_filter=[% EAN_filter %]&published_filter=[% publisher_filter %]&bookseller_filter=[% bookseller_filter %]&branch_filter=[% branch_filter %]" onclick="return confirm(_('Are you sure you want to reopen this subscription?'));">Reopen</a>
+ <a href="/cgi-bin/koha/serials/serials-search.pl?subscriptionid=[% subscription.subscriptionid %]&op=reopen&routing=[% subscription.routing %]&searched=1&title_filter=[% title_filter %]&ISSN_filter=[% ISSN_filter %]&EAN_filter=[% EAN_filter %]&published_filter=[% publisher_filter %]&bookseller_filter=[% bookseller_filter %]&branch_filter=[% branch_filter %]" id="reopensub">Reopen</a>
[% ELSE %]
Cannot edit
[% END %]
+[% USE KohaBranchName %]
[% INCLUDE 'doc-head-open.inc' %]
<title>Koha › Serials › Details for subscription #[% subscriptionid %]</title>
[% INCLUDE 'doc-head-close.inc' %]
<li><span class="label">Librarian identity:</span> [% librarian %]</li>
<li><span class="label">Vendor:</span> <a href="/cgi-bin/koha/acqui/supplier.pl?booksellerid=[% aqbooksellerid %]">[% aqbooksellername %]</a></li>
<li><span class="label">Biblio:</span> <a href="/cgi-bin/koha/catalogue/[% default_bib_view %].pl?biblionumber=[% bibnum %]">[% bibliotitle %]</a> <i>([% bibnum %])</i></li>
-[% IF ( branchcode ) %]<li><span class="label">Library:</span> [% branchcode %]</li>[% END %]
+[% IF ( branchcode ) %]<li><span class="label">Library:</span> [% branchcode | $KohaBranchName %]</li>[% END %]
[% IF ( serialsadditems ) %]
<li><span class="label">Items:</span> Serial receipt creates an item record.</li>
[% ELSE %]
<li>
<span class="label">Manual history: </span>
[% IF ( manualhistory ) %]
- Disabled
- [% ELSE %]
Enabled
+ [% ELSE %]
+ Disabled
[% END %]
</li>
<li><span class="label">Number pattern:</span>
<li><label for="author"> Author:</label><input type="text" id="author" name="author" value="[% author %]" /></li>
<li><label for="isbn"> ISBN:</label><input type="text" id="isbn" name="isbn" value="[% isbn %]" /></li>
<li><label for="publishercode"> Publisher:</label><input type="text" id="publishercode" name="publishercode" value="[% publishercode %]" /></li>
- <li><label for="publicationyear"> Publication year:</label><input type="text" id="publicationyear" name="publicationyear" value="[% publicationyear %]" /></li>
+ <li><label for="copyrightdate_filter"> Copyright date:</label><input type="text" id="copyrightdate_filter" name="copyrightdate" value="[% copyrightdate %]" /></li>
<li><label for="collectiontitle"> Collection title:</label><input type="text" id="collectiontitle" name="collectiontitle" value="[% collectiontitle %]" /></li><li><input type="submit" value="Go" /></li></ol>
</fieldset>
<fieldset class="brief"><h4 class="collapse"><a href="#">Suggestion information</a></h4>
<li><label for="suggestedby"> Suggested by:</label><select id="suggestedby" name="suggestedby"><option value="">Any</option>
[% FOREACH suggestedby_loo IN suggestedby_loop %][% IF ( suggestedby_loo.selected ) %]<option value="[% suggestedby_loo.code %]" selected="selected">[% suggestedby_loo.desc %]</option>[% ELSE %]<option value="[% suggestedby_loo.code %]">[% suggestedby_loo.desc %]</option>[% END %][% END %]
</select></li>
- <li><label for="suggesteddate_from"> Suggested on:</label>[% suggesteddate %]
+ <li><label for="suggesteddate_from"> Suggested on:</label>
<table class="invis">
<tr>
- <td><label for="suggesteddate_from">from:</label></td><td><input type="text" id="suggesteddate_from" name="suggesteddate_from" style="width:80px;" /></td>
+ <td><label for="suggesteddate_from">from:</label></td><td><input type="text" id="suggesteddate_from" name="suggesteddate_from" value="[% suggesteddate_from %]" style="width:76px;" /></td>
</tr>
<tr>
- <td><label for="suggesteddate_to">to:</label></td><td><input type="text" id="suggesteddate_to" name="suggesteddate_to" style="width:80px;" /></td>
+ <td><label for="suggesteddate_to">to:</label></td><td><input type="text" id="suggesteddate_to" name="suggesteddate_to" value="[% suggesteddate_to %]" style="width:76px;" /></td>
</tr>
</table>
</li>
<li><label for="managedby"> Managed by:</label><select id="managedby" name="managedby"><option value="">Any</option>
[% FOREACH managedby_loo IN managedby_loop %][% IF ( managedby_loo.selected ) %]<option value="[% managedby_loo.code %]" selected="selected">[% managedby_loo.desc %]</option>[% ELSE %]<option value="[% managedby_loo.code %]">[% managedby_loo.desc %]</option>[% END %][% END %]
</select></li>
- <li><label for="manageddate_from"> Management date:</label>[% manageddate %]
+ <li><label for="manageddate_from"> Management date:</label>
<table class="invis">
<tr>
- <td><label for="manageddate_from">from:</label></td><td><input type="text" id="manageddate_from" name="manageddate_from" style="width:80px;" /></td>
+ <td><label for="manageddate_from">from:</label></td><td><input type="text" id="manageddate_from" name="manageddate_from" value="[% manageddate_from %]" style="width:76px;" /></td>
</tr>
<tr>
- <td><label for="manageddate_to">to:</label></td><td><input type="text" id="manageddate_to" name="manageddate_to" style="width:80px;" /></td>
+ <td><label for="manageddate_to">to:</label></td><td><input type="text" id="manageddate_to" name="manageddate_to" value="[% manageddate_to %]" style="width:76px;" /></td>
</tr>
</table>
</li>
<li><label for="acceptedby"> Accepted by:</label><select id="acceptedby" name="acceptedby"><option value="">Any</option>
[% FOREACH acceptedby_loo IN acceptedby_loop %][% IF ( acceptedby_loo.selected ) %] <option value="[% acceptedby_loo.code %]" selected="selected">[% acceptedby_loo.desc %]</option>[% ELSE %]<option value="[% acceptedby_loo.code %]">[% acceptedby_loo.desc %]</option>[% END %][% END %]
</select></li>
- <li><label for="accepteddate_from"> Accepted on:</label>[% accepteddate %]
+ <li><label for="accepteddate_from"> Accepted on:</label>
<table class="invis">
<tr>
- <td><label for="accepteddate_from">from:</label></td><td><input type="text" id="accepteddate_from" name="accepteddate_from" style="width:80px;" /></td>
+ <td><label for="accepteddate_from">from:</label></td><td><input type="text" id="accepteddate_from" name="accepteddate_from" value="[% accepteddate_from %]" style="width:76px;" /></td>
</tr>
<tr>
- <td><label for="accepteddate_to">to:</label></td><td><input type="text" id="accepteddate_to" name="accepteddate_to" style="width:80px;" /></td>
+ <td><label for="accepteddate_to">to:</label></td><td><input type="text" id="accepteddate_to" name="accepteddate_to" value="[% accepteddate_to %]" style="width:76px;" /></td>
</tr>
</table>
</li>
[% INCLUDE 'doc-head-open.inc' %]
<title>Koha › Tools › Tags › [% IF ( do_it ) %]Review › [% ELSE %]Review tags[% END %]</title>
[% INCLUDE 'doc-head-close.inc' %]
-<script type="text/javascript" src="[% themelang %]/lib/jquery/plugins/jquery.tablesorter.min.js"></script>
+<link rel="stylesheet" type="text/css" href="/intranet-tmpl/prog/en/css/datatables.css" />
+<script type="text/javascript" src="/intranet-tmpl/prog/en/lib/jquery/plugins/jquery.dataTables.min.js"></script>
+[% INCLUDE 'datatables-strings.inc' %]
+<script type="text/javascript" src="/intranet-tmpl/prog/en/js/datatables.js"></script>
<script type="text/javascript">
//<![CDATA[
- $.tablesorter.addParser({
- id: 'articles',
- is: function(s) {return false; },
- format: function(s) { return s.toLowerCase().replace(/^(the|an|a) /,''); },
- type: 'text'
- });
$(document).ready(function() {
$(".delete").click(function (event) {
$(this).parent().parent().parent().addClass("selected");
event.preventDefault();
}
});
- $("#itemst").tablesorter({
- sortList: [[0,0]],
- headers: { 0: { sorter: 'articles' },1: { sorter: false },2:{sorter:false}}
- });
+ $("#itemst").dataTable($.extend(true, {}, dataTablesDefaults, {
+ "aoColumnDefs": [
+ { "aTargets": [ -1, -2 ], "bSortable": false, "bSearchable": false },
+ ],
+ "aaSorting": [[ 0, "asc" ]],
+ "aLengthMenu": [[10, 20, 50, 100, -1], [10, 20, 50, 100, "All"]],
+ "iDisplayLength": 20,
+ "sPaginationType": "four_button"
+ }));
});
//]]>
</script>
}
}
var success_approve = function(tag){
- // window.alert(_('AJAX approved tag: ') + tag);
+ // window.alert(_("AJAX approved tag: ") + tag);
};
var failure_approve = function(tag){
window.alert(_("AJAX failed to approve tag: ") + tag);
};
var success_reject = function(tag){
- // window.alert(_('AJAX rejected tag: ') + tag);
+ // window.alert(_("AJAX rejected tag: ") + tag);
};
var failure_reject = function(tag){
window.alert(_("AJAX failed to reject tag: ") + tag);
$('#test_button').removeAttr("disabled");
$('#test_button').attr("value","test");
};
- function readCookie(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;
- }
$(document).ready(function() {
$('.ajax_buttons' ).css({visibility:"visible"});
$("p.check").html("<strong>"+_("Select:")+" <\/strong><a id=\"CheckAll\" href=\"/cgi-bin/koha/tags/review.pl\">"+_("All")+"<\/a> <a id=\"CheckPending\" href=\"/cgi-bin/koha/tags/review.pl\">"+_("Pending")+"<\/a> <a id=\"CheckNone\" href=\"/cgi-bin/koha/tags/review.pl\">"+_("None")+"<\/a>");
// window.alert(_("Click detected on ") + event.target + ": " + $(event.target).html);
if ($(event.target).is('.ok')) {
$.ajax({
- "data": {ok: $(event.target).attr("title"), CGISESSID: readCookie('CGISESSID')},
+ "data": {ok: $(event.target).attr("title")},
"success": count_approve // success_approve
});
$(event.target).next(".rej").removeAttr("disabled").attr("value","Reject").css("color","#000");
}
if ($(event.target).is('.rej')) {
$.ajax({
- "data": {rej: $(event.target).attr("title"), CGISESSID: readCookie('CGISESSID')},
+ "data": {rej: $(event.target).attr("title")},
"success": count_reject // success_reject
});
$(event.target).prev(".ok").removeAttr("disabled").attr("value","Approve").css("color","#000");
[% INCLUDE 'doc-head-open.inc' %]
-<title>Koha › Tools › Clean patron records [% IF ( step2 ) %]› Confirm[% END %][% IF ( step3 ) %]› Finished[% END %]</title>
+<title>Koha › Tools › Batch patron deletion/anonymization [% IF ( step2 ) %]› Confirm[% END %][% IF ( step3 ) %]› Finished[% END %]</title>
[% INCLUDE 'doc-head-close.inc' %]
[% INCLUDE 'calendar.inc' %]
<script type="text/javascript">
*/
function checkForm(form) {
if((form.checkbox[0].checked)){
- if(!(form.date1.value)){
- alert(_("please enter a date !"));
- document.form.date1.focus();
+ if ( (!form.date1.value) && (!form.borrower_dateexpiry.value) && (!form.borrower_categorycode.value) ){
+ alert(_("Please enter at least one criterion for deletion!"));
return false;
}
}
if((form.checkbox[1].checked)){
if(!(form.date2.value)){
alert(_("please enter a date !"));
- document.form.date2.focus();
return false;
}
}
<div id="breadcrumbs"><a href="/cgi-bin/koha/mainpage.pl">Home</a> › <a href="/cgi-bin/koha/tools/tools-home.pl">Tools</a> › [% IF ( step1 ) %]Clean Patron Records[% ELSE %]<a href="/cgi-bin/koha/tools/cleanborrowers.pl">Clean patron records</a> › [% END %][% IF ( step2 ) %]Confirm[% END %][% IF ( step3 ) %]Finished[% END %]</div>
<div id="doc3" class="yui-t2">
-
- <div id="bd">
- <div id="yui-main">
- <div class="yui-b">
-<h1>Delete some old patrons/Anonymize some check-out history</h1>
+ <div id="bd">
+ <div id="yui-main">
+ <div class="yui-b">
+<h1>Batch patron deletion/anonymization</h1>
+<div class="help">
+ <p>This tool allows you to delete patrons and anonymize checkout history. For deleting patrons, any combination of limits can be used.</p>
+</div>
[% IF ( step1 ) %]
<!-- step 1 START -->
<div id="step1">
<form name="f1" onsubmit="return checkForm(this);" action="/cgi-bin/koha/tools/cleanborrowers.pl" method="post">
<fieldset>
- <legend>What do you want to do ?</legend>
- <p><input id="checkborrower" type="checkbox" name="checkbox" value="borrower" checked="checked" />
- <label for="checkborrower">Delete borrower who has not borrowed since:</label>
- <input size="10" id="date1" name="filterdate1" value="[% filterdate1 %]" type="text" class="datepicker" />
- <span class="hint">[% INCLUDE 'date-format.inc' %]</span></p>
-
- <p><input id="checkissue" type="checkbox" name="checkbox" value="issue" checked="checked" />
- <label for="checkissue">Anonymize check-out history older than</label>
- <input size="10" id="date2" name="filterdate2" value="[% filterdate2 %]" type="text" class="datepicker" />
- <span class="hint">[% INCLUDE 'date-format.inc' %]</span></p>
+ <legend>Delete patrons</legend>
+ <h3><input id="checkborrower" type="checkbox" name="checkbox" value="borrower" /><label for="checkborrower"> Verify you want to delete patrons</label></h3>
+ <br />
+ <h5>Delete patrons who meet the following criteria:</h5>
+ <ul>
+ <li>
+ <label for="date1">who have not borrowed since:</label>
+ <input size="10" id="date1" name="filterdate1" type="text" class="datepicker" />
+ <span class="hint">[% INCLUDE 'date-format.inc' %]</span>
+ </li>
+ <li>
+ <label for="borrower_dateexpiry">whose expiration date is before:</label>
+ <input size="10" id="borrower_dateexpiry" name="borrower_dateexpiry" type="text" class="datepicker" />
+ <span class="hint">[% INCLUDE 'date-format.inc' %]</span>
+ </li>
+ <li>
+ <label for="borrower_categorycode">whose patron category is:</label>
+ <select id="borrower_categorycode" name="borrower_categorycode">
+ <option value="" selected="selected">Any</option>
+ [% FOREACH bc IN borrower_categorycodes %]
+ [% UNLESS bc.categorycode == 'S' %]
+ <option value="[% bc.categorycode %]">[% bc.description %]</option>
+ [% END %]
+ [% END %]
+ </select>
+ </li>
+ </ul>
+ </fieldset>
+ <fieldset>
+ <legend>Anonymize checkout history</legend>
+ <h3><input id="checkissue" type="checkbox" name="checkbox" value="issue" /><label for="checkissue"> Verify you want to anonymize patron checkout history</label></h3>
+ <br />
+ <ul>
+ <li>
+ <label for="date2">Permanently delete checkout history older than</label>
+ <input size="10" id="date2" name="filterdate2" type="text" class="datepicker" />
+ <span class="hint">[% INCLUDE 'date-format.inc' %]</span>
+ </li>
+ </ul>
<!-- hidden here -->
<input type="hidden" name="step2" value="1" />
- </fieldset>
+ </fieldset>
<fieldset class="action"><input type="submit" value="Next >>" /></fieldset>
</form>
</div>
<form name="f2" action="/cgi-bin/koha/tools/cleanborrowers.pl" method="post" onsubmit="return checkForm2(this);">
<fieldset>
<legend>Warnings</legend>
-
- <ul>
- <li>[% IF ( totalToDelete ) %][% totalToDelete %] [% ELSE %]0 [% END %] patrons will be deleted</li>
- <li>[% IF ( totalToAnonymize ) %][% totalToAnonymize %] [% ELSE %]0 [% END %] check-out history will be anonymized</li>
- </ul>
+ <ul>
+ <li>[% IF ( totalToDelete ) %][% totalToDelete %] [% ELSE %]0 [% END %] patrons will be deleted</li>
+ <li>[% IF ( totalToAnonymize ) %][% totalToAnonymize %] [% ELSE %]0 [% END %] checkout history will be anonymized</li>
+ </ul>
<br />
[% IF ( totalToDelete ) %]
<fieldset><legend>What do you want to do for deleted patrons?</legend>
<label for="delete">Permanently delete these patrons</label>
<input id="delete" type="radio" name="radio" value="delete" checked="checked" />
-
+
<label for="trash">Move these patrons to the trash</label>
<input id="trash" type="radio" name="radio" value="trash" />
<input type="hidden" name="do_delete" value="[% totalToDelete %]" /></fieldset>
[% END %]
[% IF ( totalToAnonymize ) %]
-
- Check-out history for [% totalToAnonymize %] patrons will be anonymized
+ Checkout history for [% totalToAnonymize %] patrons will be anonymized
<input type="hidden" name="do_anonym" value="[% totalToAnonymize %]" />
[% END %]
-
+
<input type="hidden" name="step3" value="1" />
<input type="hidden" name="filterdate1" value="[% filterdate1 %]" />
<input type="hidden" name="filterdate2" value="[% filterdate2 %]" />
+ <input type="hidden" name="borrower_dateexpiry" value="[% borrower_dateexpiry %]" />
+ <input type="hidden" name="borrower_categorycode" value="[% borrower_categorycode %]" />
</fieldset>
- <fieldset class="action"><input type="submit" value="Finish" /> <a class="cancel" href="/cgi-bin/koha/tools/cleanborrowers.pl">Cancel</a></fieldset>
+ <fieldset class="action"><input type="submit" value="Finish" /> <a class="cancel" href="/cgi-bin/koha/tools/cleanborrowers.pl">Cancel</a></fieldset>
</form>
</div>
<!-- STEP 2 END -->
<div id="step3">
- [% IF ( do_delete ) %]
- [% IF ( trash ) %]
- <h4>[% TotalDel %] patrons have been successfully moved to trash</h4>
- [% ELSE %]
- <h4>[% TotalDel %] patrons have been successfully deleted</h4>
- [% END %]
- [% ELSE %]
- <h4>No patron records have been removed</h4>
- [% END %]
- [% IF ( do_anonym ) %]
- <h4>All patrons with checkouts older than [% filterdate1 %] have been anonymized</h4>
- [% ELSE %]
- <h4>No patron records have been anonymized</h4>
+ [% IF ( do_delete ) %]
+ [% IF ( trash ) %]
+ <h4>[% TotalDel %] patrons have been successfully moved to trash</h4>
+ [% ELSE %]
+ <h4>[% TotalDel %] patrons have been successfully deleted</h4>
[% END %]
+ [% ELSE %]
+ <h4>No patron records have been removed</h4>
+ [% END %]
+ [% IF ( do_anonym ) %]
+ <h4>All patrons with checkouts older than [% filterdate1 %] have been anonymized</h4>
+ [% ELSE %]
+ <h4>No patron records have been anonymized</h4>
+ [% END %]
</div>
<!-- Step 3 END -->
$('#showHolidayType').val(holidayType);
if (holidayType == 'exception') {
- $("#showOperationDelLabel").html(_('Delete this exception.'));
+ $("#showOperationDelLabel").html(_("Delete this exception."));
$("#holtype").attr("class","key exception").html(_("Holiday exception"));
} else if(holidayType == 'weekday') {
- $("#showOperationDelLabel").html(_('Delete this holiday.'));
+ $("#showOperationDelLabel").html(_("Delete this holiday."));
$("#holtype").attr("class","key repeatableweekly").html(_("Holiday repeating weekly"));
} else if(holidayType == 'daymonth') {
- $("#showOperationDelLabel").html(_('Delete this holiday.'));
+ $("#showOperationDelLabel").html(_("Delete this holiday."));
$("#holtype").attr("class","key repeatableyearly").html(_("Holiday repeating yearly"));
} else {
- $("#showOperationDelLabel").html(_('Delete this holiday.'));
+ $("#showOperationDelLabel").html(_("Delete this holiday."));
$("#holtype").attr("class","key holiday").html(_("Unique holiday"));
}
<title>Koha › Tools › News</title>
[% INCLUDE 'doc-head-close.inc' %]
[% INCLUDE 'calendar.inc' %]
-<script type="text/javascript" src="[% themelang %]/lib/jquery/plugins/jquery.tablesorter.min.js"></script>
+[% IF ( opac_news_count ) %]
+ <link rel="stylesheet" type="text/css" href="/intranet-tmpl/prog/en/css/datatables.css" />
+ <script type="text/javascript" src="/intranet-tmpl/prog/en/lib/jquery/plugins/jquery.dataTables.min.js"></script>
+ [% INCLUDE 'datatables-strings.inc' %]
+ <script type="text/javascript" src="/intranet-tmpl/prog/en/js/datatables.js"></script>
+ <script type="text/javascript">//<![CDATA[
+ [% IF (dateformat == 'metric') %]dt_add_type_uk_date();[% END %]
+ $(document).ready(function() {
+ $("#newst").dataTable($.extend(true, {}, dataTablesDefaults, {
+ "sDom": 't',
+ "aoColumnDefs": [
+ { "aTargets": [ 0,-1,-2 ], "bSortable": false, "bSearchable": false }
+ ],
+ "bPaginate": false
+ }));
+ });
+ //]]>
+ </script>
+[% END %]
+<script type="text/javascript" src="[% themelang %]/js/tinymce/jscripts/tiny_mce/tiny_mce.js"></script>
<script type="text/javascript">//<![CDATA[
-$(document).ready(function() {
- $("#newst").tablesorter({[% IF ( dateformat == 'metric' ) %]
- dateFormat: 'uk',[% END %]
- sortList: [[2,0]],
- headers: { 0: {sorter:false},6: { sorter: false },7: { sorter: false }}
- });
-});
-//]]>
-</script>
-<script language="javascript" type="text/javascript" src="[% themelang %]/js/tinymce/jscripts/tiny_mce/tiny_mce.js"></script>
-<script language="javascript" type="text/javascript">
tinyMCE.init({
mode : "textareas",
theme : "advanced",
apply_source_formatting : true,
height : "300",
width : "700"
+//]]>
});
</script>
</head>
[% INCLUDE 'doc-head-open.inc' %]
<title>Koha › Tools › Notices[% IF ( add_form ) %][% IF ( modify ) %] › Modify notice[% ELSE %] › Add notice[% END %][% END %][% IF ( add_validate ) %] › Notice added[% END %][% IF ( delete_confirm ) %] › Confirm deletion[% END %]</title>
[% INCLUDE 'doc-head-close.inc' %]
-<script type="text/javascript" src="[% themelang %]/lib/jquery/plugins/jquery.tablesorter.min.js"></script>
- <script type="text/javascript">
- //<![CDATA[
+<link rel="stylesheet" type="text/css" href="/intranet-tmpl/prog/en/css/datatables.css" />
+<script type="text/javascript" src="/intranet-tmpl/prog/en/lib/jquery/plugins/jquery.dataTables.min.js"></script>
+[% INCLUDE 'datatables-strings.inc' %]
+<script type="text/javascript" src="/intranet-tmpl/prog/en/js/datatables.js"></script>
+<script type="text/javascript">
+//<![CDATA[
$(document).ready(function() {
- $("#lettert:has(tbody tr)").tablesorter({
- widgets : ['zebra'],
- sortList: [[0,0]],
- headers: { 4: {sorter:false},5: { sorter: false },6: { sorter: false }}
- });
-
+ $("#lettert:has(tbody tr)").dataTable($.extend(true, {}, dataTablesDefaults, {
+ "sDom": 't',
+ "aoColumnDefs": [
+ { "aTargets": [ -1,-2, -3 ], "bSortable": false, "bSearchable": false }
+ ],
+ "bPaginate": false
+ }));
$('#branch').change(function() {
$('#op').val("");
$('#selectlibrary').submit();
<td>[% lette.module %]</td>
<td>[% lette.code %]</td>
<td>[% lette.name %]</td>
- <td>
+ <td style="white-space: nowrap">
[% IF !independant_branch || !lette.branchcode %]
<form method="post" action="/cgi-bin/koha/tools/letter.pl">
<input type="hidden" name="op" value="copy" />
<script type="text/javascript" src="[% themelang %]/js/background-job-progressbar.js"></script>
<script type="text/JavaScript" language="JavaScript">
//<![CDATA[
+var MSG_CONFIRM_CLEAN = _("Clear all reservoir records staged in this batch? This cannot be undone.");
+
$(document).ready(function(){
$("#staged-record-matching-rules select").change(function(){
var str = $(this).attr("id");
<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>
+ <li><span class="label">Status:</span>
+ [% IF ( import_status == 'cleaned' ) %]
+ Cleaned
+ [% ELSIF ( import_status == 'imported' ) %]
+ Imported
+ [% ELSIF ( import_status == 'importing' ) %]
+ Importing
+ [% ELSIF ( import_status == 'reverted' ) %]
+ Reverted
+ [% ELSIF ( import_status == 'reverting' ) %]
+ Reverting
+ [% ELSIF ( import_status == 'staged' ) %]
+ Staged
+ [% ELSE %]
+ [% import_status %]
+ [% END %]
+ </li>
+ <li>
[% IF ( can_commit ) %]<label for="new_matcher_id">Matching rule applied:</label><select name="new_matcher_id" id="new_matcher_id">
<option value="">Do not look for matching records</option>
[% FOREACH available_matcher IN available_matchers %]
<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>
+ [% IF ( batch_lis.import_status == 'cleaned' ) %]
+ Cleaned
+ [% ELSIF ( batch_lis.import_status == 'imported' ) %]
+ Imported
+ [% ELSIF ( batch_lis.import_status == 'importing' ) %]
+ Importing
+ [% ELSIF ( batch_lis.import_status == 'reverted' ) %]
+ Reverted
+ [% ELSIF ( batch_lis.import_status == 'reverting' ) %]
+ Reverting
+ [% ELSIF ( batch_lis.import_status == 'staged' ) %]
+ Staged
+ [% ELSE %]
+ [% batch_lis.import_status %]
+ [% END %]
+ </td>
<td>[% batch_lis.upload_timestamp %]</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 %]&op=create_labels">(Create label batch)</a>[% END %]</td>
<form method="post" action="[% batch_lis.script_name %]" name="clean_batch_[% batch_lis.import_batch_id %]" id="clean_batch_[% batch_lis.import_batch_id %]" >
<input type="hidden" name="import_batch_id" value="[% batch_lis.import_batch_id %]" />
<input type="hidden" name="op" value="clean-batch" />
- <input type="submit" class="button" value="Clean" onclick="return confirm(_('Clear all reservoir records staged in this batch? This cannot be undone.'));" />
+ <input type="submit" class="button" value="Clean" onclick="return confirm(MSG_CONFIRM_CLEAN);" />
</form>
[% END %]
</td>
<title>Koha › Tools › Batch patron modification</title>
[% INCLUDE 'doc-head-close.inc' %]
[% INCLUDE 'calendar.inc' %]
-<script type="text/javascript" src="[% themelang %]/lib/jquery/plugins/jquery.tablesorter.min.js"></script>
-<script type="text/JavaScript">
+<link rel="stylesheet" type="text/css" href="/intranet-tmpl/prog/en/css/datatables.css" />
+<script type="text/javascript" src="/intranet-tmpl/prog/en/lib/jquery/plugins/jquery.dataTables.min.js"></script>
+[% INCLUDE 'datatables-strings.inc' %]
+<script type="text/javascript" src="/intranet-tmpl/prog/en/js/datatables.js"></script>
+<script type="text/javascript">
//<![CDATA[
+ [% IF (dateformat == 'metric') %]dt_add_type_uk_date();[% END %]
var patron_attributes_lib = new Array();
var patron_attributes_values = new Array();
$(document).ready(function() {
[% IF borrowers %]
- $("#borrowerst").tablesorter({
- headers: { 0: { sorter: false}},
- widgets : ['zebra'],
- sortList: [[1,0]]
- });
-
+ $("#borrowerst").dataTable($.extend(true, {}, dataTablesDefaults, {
+ "sDom": 't',
+ "aoColumnDefs": [
+ { "aTargets": [ 0 ], "bSortable": false, "bSearchable": false }
+ ],
+ "bPaginate": false
+ }));
$("#selectallbutton").click(function() {
$("#borrowerst").find("input:checkbox").each(function() {
$(this).attr("checked", true);
[% INCLUDE 'header.inc' %]
[% INCLUDE 'patron-search.inc' %]
-<div id="breadcrumbs"><a href="/cgi-bin/koha/mainpage.pl">Home</a> › <a href="/cgi-bin/koha/tools/tools-home.pl">Tools</a> › Upload patron images </div>
+<div id="breadcrumbs"><a href="/cgi-bin/koha/mainpage.pl">Home</a> › <a href="/cgi-bin/koha/tools/tools-home.pl">Tools</a> › [% IF ( TOTAL ) %]<a href="/cgi-bin/koha/tools/picture-upload.pl">Upload patron images</a> › Results[% ELSE %]Upload patron images[% END %] </div>
<div id="doc3" class="yui-t2">
<div id="bd">
<div id="yui-main">
[% IF ( TOTAL ) %]
<div class="yui-b">
- <div class="yui-g">
- <div class="yui-u first">
[% IF ( ERRORS ) %]
[% IF ( TCOUNTS ) %]
<div class="dialog alert">
- <h3>Patron Image(s) Uploaded with some errors</h3>
+ <h3>Patron image(s) uploaded with some errors</h3>
+ </div>
[% ELSE %]
<div class="dialog alert">
<h3>Patron image failed to upload</h3>
+ </div>
[% END %]
[% ELSE %]
<div class="dialog message">
<h3>Patron image(s) successfully uploaded</h3>
+ </div>
[% END %]
<ul class="data">
<li>Unpacking completed</li>
</ul>
[% FOREACH COUNT IN COUNTS %]
- <ul class="data">
+ <div class="container">
+ <table>
+ <caption>Results</caption>
+ <thead>
+ <tr><th>File name</th><th>Card number</th><th>Result</th></tr>
+ </thead>
+ <tbody>
[% IF ( COUNT.TCOUNTS ) %]<li>[% COUNT.TCOUNTS %] image(s) moved into the database:</li>[% END %]
[% FOREACH filename IN COUNT.filenames %]
- <li>[% filename.source %] - Cardnumber: [% filename.cardnumber %]
- [% IF ( filename.filerrors ) %]
+ <tr>
+ <td>[% filename.source %]</td>
+ <td><a href="/cgi-bin/koha/circ/circulation.pl?findborrower=[% filename.cardnumber %]">[% filename.cardnumber %]</a></td>
+ <td>
+ [% IF ( filename.filerrors ) %]
[% FOREACH filerror IN filename.filerrors %]
- [% IF ( filerror.DBERR ) %]<br /><b>ERROR:</b> Image not imported because the database returned an error. Please refer to the error log for more details.
- [% ELSIF ( filerror.IMGEXISTS ) %]<br /><b>ERROR:</b> Image not imported because this patron does not exist in the database.
- [% ELSIF ( filerror.MIMERR ) %]<br /><b>ERROR:</b> Image not imported because the image format is unrecognized.
- [% ELSIF ( filerror.CORERR ) %]<br /><b>ERROR:</b> Image not imported because the image file is corrupted.
- [% ELSIF ( filerror.OPNERR ) %]<br /><b>ERROR:</b> Image not imported because Koha was unable to open the image for reading.
- [% ELSIF ( filerror.OVRSIZ ) %]<br /><b>ERROR:</b> Image not imported because the image file is too big (see online help for maximum size).
- [% ELSIF ( filerror.CRDFIL ) %]<br /><b>ERROR:</b> Image not imported ([% filerror.CRDFIL %] missing).
- [% ELSE %]<br /><b>ERROR:</b> Image not imported because of an unknown error. Please refer to the error log for more details.
+ [% IF ( filerror.DBERR ) %]<b>ERROR:</b> Image not imported because the database returned an error. Please refer to the error log for more details.
+ [% ELSIF ( filerror.IMGEXISTS ) %]<b>ERROR:</b> Image not imported because this patron does not exist in the database.
+ [% ELSIF ( filerror.MIMERR ) %]<b>ERROR:</b> Image not imported because the image format is unrecognized.
+ [% ELSIF ( filerror.CORERR ) %]<b>ERROR:</b> Image not imported because the image file is corrupted.
+ [% ELSIF ( filerror.OPNERR ) %]<b>ERROR:</b> Image not imported because Koha was unable to open the image for reading.
+ [% ELSIF ( filerror.OVRSIZ ) %]<b>ERROR:</b> Image not imported because the image file is too big (see online help for maximum size).
+ [% ELSIF ( filerror.CRDFIL ) %]<b>ERROR:</b> Image not imported ([% filerror.CRDFIL %] missing).
+ [% ELSE %]<b>ERROR:</b> Image not imported because of an unknown error. Please refer to the error log for more details.
[% END %]
[% END %]
[% ELSE %] imported successfully.
- [% END %]
- </li>
+ [% END %]</td>
+ </tr>
[% END %]
- </ul>
+ </tbody>
+ </table>
+ </div>
[% END %]
-
- </div>
- [% IF ( borrowernumber ) %]
- <a id="member" href="/cgi-bin/koha/members/moremember.pl?borrowernumber=[% borrowernumber %]">Return to patron detail</a>
- [% ELSE %]
- <a id="uploadmore" href="/cgi-bin/koha/tools/picture-upload.pl">Upload more images</a>
- <a id="doneupload" href="/cgi-bin/koha/tools/tools-home.pl">Return to tools</a>
- [% END %]
+<ul>
+ [% IF ( borrowernumber ) %]
+ <li><a id="member" href="/cgi-bin/koha/members/moremember.pl?borrowernumber=[% borrowernumber %]">Return to patron detail</a></li>
+ [% ELSE %]
+ <li><a id="uploadmore" href="/cgi-bin/koha/tools/picture-upload.pl">Upload more images</a></li>
+ <li><a id="doneupload" href="/cgi-bin/koha/tools/tools-home.pl">Return to tools</a></li>
+ [% END %]</ul>
</div>
[% ELSE %]
<div class="yui-b">
- <div class="yui-g">
- <div class="yui-u first">
<h1>Upload patron images</h1>
[% IF ( ERRORS ) %]
<div class="dialog alert">
</div>
[% END %]
- </div>
- </div>
</div>
<div class="yui-b noprint">
[% INCLUDE 'tools-menu.inc' %]
var fileSizeInK = Math.round(evt.target.files[0].size/1024);
if (!fileType.match(/comma-separated-values|csv|excel/i)) {
- alert(_('Uploads limited to csv. Incorrect filetype: ')+fileType);
+ alert(_("Uploads limited to csv. Incorrect filetype: ")+fileType);
parent.location='quotes-upload.pl';
return;
}
if (fileSizeInK > 512) {
- if (!confirm(evt.target.files[0].name+' '+fileSizeInK+_(' KB Do you really want to upload this file?'))) {
+ if (!confirm(evt.target.files[0].name+' '+fileSizeInK+_(" KB Do you really want to upload this file?"))) {
parent.location='quotes-upload.pl';
return;
}
success : function(){
var response = JSON.parse(jqXHR.responseText);
if (response.success) {
- alert(response.records+_(' quotes saved.'));
+ alert(response.records+_(" quotes saved."));
window.location.reload(true); // is this the best route?
}
else {
- alert(response.records+_(' quotes saved, but an error has occurred. Please ask your administrator to check the server log for more details.'));
+ alert(response.records+_(" quotes saved, but an error has occurred. Please ask your administrator to check the server log for more details."));
window.location.reload(true); // is this the best route?
}
},
return this.id;
}).get().join(', ');
if (!idsToDelete) {
- alert(_('Please select a quote(s) by clicking the quote id(s) you desire to delete.'));
+ alert(_("Please select a quote(s) by clicking the quote id(s) you desire to delete."));
}
- else if (confirm(_('Are you sure you wish to delete quote(s) ')+idsToDelete+'?')) {
+ else if (confirm(_("Are you sure you wish to delete quote(s) ")+idsToDelete+"?")) {
oTable.$('.selected').each(function(){
oTable.fnDeleteRow(this);
});
<script type="text/javascript" src="[% themelang %]/js/jquery.jeditable.mini.js"></script>
<script type="text/javascript">
//<![CDATA[
+ var MSG_ID_HELP = _("Click on the quote's id to select or deselect the quote. Multiple quotes may be selected.");
+
var oTable; /* oTable needs to be global */
- var sEmptyTable = _('No quotes available. Please use the "Add quote" button to add a quote.'); /* override the default message in datatables-strings.inc */
+ var sEmptyTable = _("No quotes available. Please use the \"Add quote\" button to add a quote."); /* override the default message in datatables-strings.inc */
$(document).ready(function() {
/* NOTE: This is an ajax-source datatable and *not* a server-side sourced datatable. */
/* See the datatable docs if you don't understand this difference. */
});
}
else {
- alert(_('Please supply both the text and source of the quote before saving.'));
+ alert(_("Please supply both the text and source of the quote before saving."));
}
}
else if (e.keyCode == 27) {
- if (confirm(_('Are you sure you want to cancel adding this quote?'))) {
+ if (confirm(_("Are you sure you want to cancel adding this quote?"))) {
oTable.fnDeleteRow(node);
}
else {
return this.id;
}).get().join(', ');
if (!idsToDelete) {
- alert(_('Please select a quote(s) by clicking the quote id(s) you desire to delete.'));
+ alert(_("Please select a quote(s) by clicking the quote id(s) you desire to delete."));
}
- else if (confirm(_('Are you sure you wish to delete quote(s) ')+idsToDelete+'?')) {
+ else if (confirm(_("Are you sure you wish to delete quote(s) ")+idsToDelete+"?")) {
oTable.$('.selected').each(function(){
var quoteID = $(this).attr('id');
$.ajax({
<table id="quotes_editor">
<thead>
<tr>
- <th><span style="cursor: help" onclick="event.stopPropagation();alert(_('Click on the quote\'s id to select or deselect the quote. Multiple quotes may be selected.'));">ID</span></th>
+ <th><span style="cursor: help" onclick="event.stopPropagation();alert(MSG_ID_HELP);">ID</span></th>
<th>Source</th>
<th>Text</th>
<th>Last displayed</th>
});
function CheckForm(f) {
if ($("#fileToUpload").value == '') {
- alert(_('Please upload a file first.'));
+ alert(_("Please upload a file first."));
} else {
return submitBackgroundJob(f);
}
[% END %]
[% IF ( CAN_user_tools_delete_anonymize_patrons ) %]
- <dt><a href="/cgi-bin/koha/tools/cleanborrowers.pl">Patrons (anonymize, bulk-delete)</a></dt>
- <dd>Delete old borrowers and anonymize circulation history (deletes borrower reading history)</dd>
+ <dt><a href="/cgi-bin/koha/tools/cleanborrowers.pl">Batch patron deletion/anonymization</a></dt>
+ <dd>Batch delete patrons and delete patron circulation history</dd>
[% END %]
[% IF ( CAN_user_tools_edit_patrons ) %]
});
function CheckForm(f) {
if ($("#fileToUpload").value == '') {
- alert(_('Please upload a file first.'));
+ alert(_("Please upload a file first."));
} else {
return submitBackgroundJob(f);
}
//<![CDATA[
var MSG_NO_ITEM_SELECTED = _("Nothing is selected.");
+var MSG_REMOVE_FROM_LIST = _("Are you sure you want to remove these records from the shelf?");
+var MSG_CONFIRM_DELETE_LIST = _("Are you sure you want to remove this list?");
$(document).ready(function(){
$("#addbarcode").focus();
- $("span.clearall").html("<a id=\"CheckNone\" href=\"/cgi-bin/koha/shelves.pl\">"+_('Clear all')+"<\/a>");
- $("span.checkall").html("<a id=\"CheckAll\" href=\"/cgi-bin/koha/shelves.pl\">"+_('Select all')+"<\/a>");
+ $("span.clearall").html("<a id=\"CheckNone\" href=\"/cgi-bin/koha/shelves.pl\">"+_("Clear all")+"<\/a>");
+ $("span.checkall").html("<a id=\"CheckAll\" href=\"/cgi-bin/koha/shelves.pl\">"+_("Select all")+"<\/a>");
$("#CheckAll").click(function(){
$(".checkboxed").checkCheckboxes();
return false;
var checkboxes = $("input:checkbox:checked");
var nbCheckbox = checkboxes.length;
if (nbCheckbox != 2) {
- alert(_('Two records must be selected for merging.'));
+ alert(_("Two records must be selected for merging."));
} else {
location.href='/cgi-bin/koha/cataloguing/merge.pl?biblionumber=' + checkboxes[0].value + '&biblionumber=' + checkboxes[1].value;
}
</table><fieldset class="action">
[% IF ( itemsloop ) %]
<input type="button" id="placehold" style="display:none" onclick="placeHold(); return false;" value="Place holds" />
- [% IF ( allowremovingitems ) %]<input type="submit" value="Remove selected records" onclick="return confirm(_('Are you sure you want to remove these records from the shelf?'));" />[% END %]
+ [% IF ( allowremovingitems ) %]<input type="submit" value="Remove selected records" onclick="return confirm(MSG_REMOVE_FROM_LIST);" />[% END %]
<input type="submit" value="Merge selected records" onclick="return MergeItems();" />
[% END %]
</fieldset>
<input type="hidden" name="CONFIRM-[% shelveslooppri.confirm %]" value="1" />
<input type="submit" class="approve" value="Confirm" />
[% ELSE %]
- <input type="submit" class="deleteshelf" onclick="return confirmDelete(_('Are you sure you want to remove this list?'));" value="Delete" />
+ <input type="submit" class="deleteshelf" onclick="return confirmDelete(MSG_CONFIRM_DELETE_LIST);" value="Delete" />
[% END %]
</form>
[% ELSE %]
<input type="hidden" name="CONFIRM-[% shelvesloo.confirm %]" value="1" />
<input type="submit" class="approve" value="Confirm" />
[% ELSE %]
- <input type="submit" class="deleteshelf" onclick="return confirmDelete(_('Are you sure you want to remove this list?'));" value="Delete" />
+ <input type="submit" class="deleteshelf" onclick="return confirmDelete(MSG_CONFIRM_DELETE_LIST);" value="Delete" />
[% END %]
</form>
[% ELSE %]
[% INCLUDE 'doc-head-open.inc' %]
<title>Koha › Z39.50 search results</title>
[% INCLUDE 'doc-head-close.inc' %]
-<script language="javascript" type="text/javascript">
+<script type="text/javascript">
//<![CDATA[
function Import(GetThisOne) {
opener.document.location= "../cataloguing/addbiblio.pl?z3950=1&oldbiblionumber=[% oldbiblionumber %]&breedingid="+GetThisOne;
</xsl:call-template>
</xsl:with-param>
</xsl:call-template>
- </a>
- <xsl:text> </xsl:text><xsl:call-template name="part"/>
- <xsl:choose><xsl:when test="position()=last()"><xsl:text>.</xsl:text></xsl:when><xsl:otherwise><xsl:text>; </xsl:text></xsl:otherwise></xsl:choose>
+ </a>
+ <xsl:call-template name="part"/>
+ <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>
<!-- 490 Series not traced, Ind1 = 0 -->
</xsl:choose>
<!-- add relator code too between brackets-->
<xsl:if test="marc:subfield[@code='4' or @code='e']">
- <xsl:text>[</xsl:text>
+ <span class="relatorcode">
+ <xsl:text> [</xsl:text>
<xsl:choose>
<xsl:when test="marc:subfield[@code=4]"><xsl:value-of select="marc:subfield[@code=4]"/></xsl:when>
<xsl:otherwise><xsl:value-of select="marc:subfield[@code='e']"/></xsl:otherwise>
</xsl:choose>
<xsl:text>]</xsl:text>
+ </span>
</xsl:if>
</a>
<xsl:choose>
/* 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}
#tagslist li { display : inline; }
a.tag_add {
- background-image: url(../../images/tag-small.png);
- background-position : -1px center;
- background-repeat : no-repeat;
+ background-image: url("../../images/sprite.png"); /* Tag results */
+ background-position: -10px -1104px;
+ 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;
+ background-image: url("../../images/sprite.png"); /* Tag results disabled */
+ background-position: -10px -1124px;
+ background-repeat: no-repeat;
padding-left : 13px;
text-decoration: none;
margin-left: 1em;
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;
.tagweight9 {
font-size: 30px;
}
+
+.review {
+ margin-bottom: 20px;
+}
+
+#idreambooksreadometer {
+ float: right;
+}
+a.idreambooksrating {
+ font-size: 30px;
+ color: #29ADE4;
+ padding-left: 85px;
+ line-height: 30px;
+ text-decoration: none;
+}
+
+.idreambookslegend {
+ font-size: small;
+}
+
+a.reviewlink,a.reviewlink:visited {
+ text-decoration: none;
+ color: black;
+ font-weight: normal;
+}
+
+.idreambookssummary a {
+ color: #707070;
+ text-decoration: none;
+}
+
+.idreambookssummary img, .idbresult img {
+ vertical-align: middle;
+}
+
+.idbresult {
+ color: #29ADE4;
+ text-align: center;
+ margin: 0.5em;
+ padding: 0.5em;
+}
+
+.idbresult a, .idbresult a:visited {
+ text-decoration: none;
+ color: #29ADE4;
+}
+
+.idbresult img {
+ padding-right: 6px;
+}
+++ /dev/null
-
-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
<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>
+<script type="text/javascript" src="[% themelang %]/js/script.js"></script>
[% IF ( OPACAmazonCoverImages ) %]
-<script type="text/javascript" language="javascript">//<![CDATA[
+<script type="text/javascript">//<![CDATA[
var NO_AMAZON_IMAGE = _("No cover image available");
//]]>
</script>
-<script type="text/javascript" language="javascript" src="[% themelang %]/js/amazonimages.js"></script>
+<script type="text/javascript" src="[% themelang %]/js/amazonimages.js"></script>
[% END %]
[% IF ( SyndeticsCoverImages ) %]
-<script type="text/javascript" language="javascript">//<![CDATA[
+<script type="text/javascript">//<![CDATA[
var NO_AMAZON_IMAGE = _("No cover image available");
//]]>
</script>
-<script type="text/javascript" language="javascript" src="[% themelang %]/js/amazonimages.js"></script> [% END %]
+<script type="text/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 %]
+[% IF ( opacbookbag ) %]<script type="text/javascript" src="[% themelang %]/js/basket.js">
+[% ELSIF ( virtualshelves ) %]<script type="text/javascript" src="[% themelang %]/js/basket.js">
+[% ELSE %]<script type="text/javascript"> var readCookie;[% END %]
</script>
-<script type="text/javascript" language="javascript">
+<script type="text/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");
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 ( opacbookbag ) %]</script><script type="text/javascript" src="[% themelang %]/js/basket.js">
+[% ELSIF ( virtualshelves ) %]</script><script type="text/javascript" src="[% themelang %]/js/basket.js">
+[% ELSE %]</script><script type="text/javascript">var readCookie;[% END %]</script>
+[% IF ( opacuserlogin ) %][% IF ( TagsEnabled ) %]<script type="text/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">
+<script type="text/javascript" src="[% themelang %]/js/google-jackets.js"></script>
+<script type="text/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">
+<script type="text/javascript" src="[% themelang %]/js/openlibrary.js"></script>
+<script type="text/javascript">
//<![CDATA[
var NO_OL_JACKET = _("No cover image available");
//]]>
[% END %]
[% IF OPACLocalCoverImages %]
-<script type="text/javascript" language="javascript" src="[% themelang %]/js/localcovers.js"></script>
-<script type="text/javascript" language="javascript">
+<script type="text/javascript" src="[% themelang %]/js/localcovers.js"></script>
+<script type="text/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">
+[% IF ( BakerTaylorEnabled ) %]<script type="text/javascript" src="[% themelang %]/js/bakertaylorimages.js"></script>
+<script type="text/javascript">
//<![CDATA[
var NO_BAKERTAYLOR_IMAGE = _("No cover image available");
$(window).load(function(){
<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>
+ <script type="text/javascript" src="[% themelang %]/js/googleindictransliteration.js"></script>
[% END %]
<div id="opac-main-search" class="yui-g">
<a class="logo" href="/cgi-bin/koha/opac-main.pl">
+ [% UNLESS ( opacsmallimage ) %]
+ [% UNLESS ( LibraryName ) %]
<img src="/opac-tmpl/ccsr/images/logo-koha.png" alt="Koha Online Catalog" />
+ [% ELSE %]
+ <img src="/opac-tmpl/ccsr/images/logo-koha.png" alt="[% LibraryName %] Online Catalog" />
+ [% END %]
+ [% ELSE %]
+ [% UNLESS ( LibraryName ) %]
+ <img src="[% opacsmallimage %]" alt="Koha Online Catalog" />
+ [% ELSE %]
+ <img src="[% opacsmallimage %]" alt="[% LibraryName %] Online Catalog" />
+ [% END %]
+ [% END %]
</a>
<div id="fluid">
*/
GetCoverFromIsbn: function(newWindow) {
var bibkeys = [];
- $("div [id^=gbs-thumbnail]").each(function(i) {
+ $("[id^=gbs-thumbnail]").each(function(i) {
bibkeys.push($(this).attr("class")); // id=isbn
});
bibkeys = bibkeys.join(',');
}
for (id in booksInfo) {
var book = booksInfo[id];
- $("."+book.bib_key).each(function() {
+ $("[id^=gbs-thumbnail]."+book.bib_key).each(function() {
var a = document.createElement("a");
a.href = book.info_url;
if (typeof(book.thumbnail_url) != "undefined") {
}
});
}
+
}
};
*/
GetCoverFromIsbn: function() {
var bibkeys = [];
- $("div [id^=openlibrary-thumbnail]").each(function(i) {
+ $("[id^=openlibrary-thumbnail]").each(function(i) {
bibkeys.push("ISBN:" + $(this).attr("class")); // id=isbn
});
bibkeys = bibkeys.join(',');
for (id in booksInfo) {
var book = booksInfo[id];
var isbn = id.substring(5);
- $("."+isbn).each(function() {
+ $("[id^=openlibrary-thumbnail]."+isbn).each(function() {
var is_opacdetail = /openlibrary-thumbnail-preview/.exec($(this).attr("id"));
var a = document.createElement("a");
a.href = booksInfo.url;
/**
* 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",
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(bibnum, tag){
var mynewtag = "newtag" + bibnum;
var mytagid = "#" + mynewtag;
- var mydata = {CGISESSID: readCookie('CGISESSID')}; // Someday this should be OPACSESSID
- mydata[mynewtag] = tag; // need [bracket] for variable property id
+ var mydata = {};
+ mydata[mynewtag] = tag;
var response; // AJAX from server will assign value to response.
$.post(
"/cgi-bin/koha/opac-tags.pl",
// 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
+ var mydata = {};
for (var i = 0; i < bibarray.length; i++) {
var mynewtag = "newtag" + bibarray[i];
mydata[mynewtag] = tag;
}
#action a.print {
- background-image: url("../../images/sprite.png");
+ background-image: url("../../images/sprite.png"); /* Print */
background-position: -5px -186px;
background-repeat: no-repeat;
}
#action a.highlight_toggle {
- background-image: url("../../images/sprite.png"); /* place hold icon */
+ background-image: url("../../images/sprite.png"); /* Highlight */
background-position: -5px -841px;
background-repeat: no-repeat;
display: none;
}
#action a#furthersearches {
- background-image: url("../../images/sprite.png");
+ background-image: url("../../images/sprite.png"); /* Menu arrow */
background-position: 106px -295px;
background-repeat: no-repeat;
border : 1px solid #F3F3F3;
#action a.reserve,
.searchresults a.reserve {
- background-image: url("../../images/sprite.png");
+ background-image: url("../../images/sprite.png"); /* Place hold */
background-position: -5px -144px;
background-repeat: no-repeat;
}
#action a.addtoshelf, #toolbar a.addtoshelf {
- background-image: url("../../images/sprite.png");
+ background-image: url("../../images/sprite.png"); /* Virtual shelf */
background-position: -5px -225px;
background-repeat: no-repeat;
}
#action a.addtocart, #toolbar a.addtocart {
- background-image: url("../../images/sprite.png");
+ background-image: url("../../images/sprite.png"); /* Cart */
background-position: -5px -265px;
background-repeat: no-repeat;
}
}
#action a.incart {
- background-image: url("../../images/sprite.png");
+ background-image: url("../../images/sprite.png"); /* Cart */
background-position: -5px -265px;
background-repeat: no-repeat;
color : #666;
#toolbar a.print {
- background-image: url("../../images/sprite.png");
+ background-image: url("../../images/sprite.png"); /* Toolbar print */
background-position : 0px -423px;
background-repeat: no-repeat;
text-decoration : none;
}
#toolbar a.brief {
- background-image : url("../../images/sprite.png");
+ background-image : url("../../images/sprite.png"); /* Zoom out */
background-position : -2px -868px;
background-repeat: no-repeat;
text-decoration : none;
}
#toolbar a.detail {
- background-image : url("../../images/sprite.png");
+ background-image : url("../../images/sprite.png"); /* Zoom in */
background-position : -2px -898px;
background-repeat: no-repeat;
text-decoration : none;
}
#toolbar a.download {
- background-image : url("../../images/sprite.png");
+ background-image : url("../../images/sprite.png"); /* Download */
background-position : 2px -348px;
background-repeat: no-repeat;
padding-left : 28px;
}
#toolbar a.editshelf {
- background-image : url("../../images/sprite.png");
+ background-image : url("../../images/sprite.png"); /* List edit */
background-position : 2px -348px;
background-repeat: no-repeat;
padding-left : 26px;
}
#toolbar a.empty {
- background-image : url("../../images/sprite.png");
+ background-image : url("../../images/sprite.png"); /* Trash */
background-position : 2px -598px;
background-repeat: no-repeat;
text-decoration : none;
}
#toolbar a.hide {
- background-image : url("../../images/sprite.png");
+ background-image : url("../../images/sprite.png"); /* Close */
background-position: -3px -814px;
background-repeat: no-repeat;
text-decoration : none;
#toolbar a.hold,
#selections-toolbar a.hold {
- background-image: url("../../images/sprite.png");
+ background-image: url("../../images/sprite.png"); /* Toolbar place hold */
background-position : -5px -453px;
background-repeat: no-repeat;
text-decoration : none;
}
#selections-toolbar a.hold.disabled {
- background-image: url("../../images/sprite.png");
+ background-image: url("../../images/sprite.png"); /* Place hold disabled */
background-position : -5px -621px;
background-repeat: no-repeat;
}
#selections-toolbar a.removeitems,
#selections-toolbar a.deleteshelf {
- background-image : url("../../images/sprite.png");
+ background-image : url("../../images/sprite.png"); /* Delete */
background-position : 2px -690px;
background-repeat: no-repeat;
text-decoration : none;
#selections-toolbar a.removeitems.disabled,
#selections-toolbar a.deleteshelf.disabled {
- background-image: url("../../images/sprite.png");
+ background-image: url("../../images/sprite.png"); /* Delete disabled */
background-position : 2px -712px;
background-repeat: no-repeat;
}
#toolbar a.send,
a.send {
- background-image: url("../../images/sprite.png");
+ background-image: url("../../images/sprite.png"); /* Email */
background-position : 2px -386px;
background-repeat: no-repeat;
text-decoration : none;
}
#toolbar a.new {
- background-image : url("../../images/sprite.png");
+ background-image : url("../../images/sprite.png"); /* New */
background-position : -4px -922px;
background-repeat : no-repeat;
padding-left : 23px;
#toolbar input.editshelf,
input.editshelf {
- background : transparent url("../../images/sprite.png") 2px -732px no-repeat;
+ background-image : url("../../images/sprite.png"); /* List edit */
+ background-position : 2px -732px;
+ background-repeat: no-repeat;
border : 0;
color : #006699;
cursor : pointer;
#toolbar input.newshelf,
#toolbar a.newshelf,
a.newshelf {
- background-image: url("../../images/sprite.png"); /* add to list icon */
+ background-image: url("../../images/sprite.png"); /* List new */
background-position: -4px -764px;
background-repeat: no-repeat;
border : 0;
}
a.newshelf.disabled {
- background-image: url("../../images/sprite.png"); /* add to list icon */
+ background-image: url("../../images/sprite.png"); /* List new disabled */
background-position: -4px -791px;
background-repeat: no-repeat;
}
#toolbar input.deleteshelf,
input.deleteshelf {
- background : transparent url("../../images/sprite.png") 2px -685px no-repeat;
+ background-image : url("../../images/sprite.png"); /* Delete */
+ background-position : 2px -685px;
+ background-repeat: no-repeat;
border : 0;
color : #006699;
cursor : pointer;
#tagsel_span input.submit,
#tagsel_tag {
- background-image : url("../../images/sprite.png"); /* tag icon */
+ background-image : url("../../images/sprite.png"); /* Tags */
background-position : 7px -640px;
background-repeat : no-repeat;
padding-left : 25px;
#tagslist li { display : inline; }
a.tag_add {
- background-image: url(../../images/tag-small.png);
- background-position : -1px center;
- background-repeat : no-repeat;
+ background-image: url("../../images/sprite.png"); /* Tag results */
+ background-position: -10px -1104px;
+ 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;
+ background-image: url("../../images/sprite.png"); /* Tag results disabled */
+ background-position: -10px -1124px;
+ background-repeat: no-repeat;
padding-left : 13px;
text-decoration: none;
margin-left: 1em;
max-width : 10em;
}
+/* Search results add to cart (lists disabled) */
.addto a.addtocart {
- background-image: url("../../images/sprite.png"); /* cart icon */
- background-position: -5px -265px;
+ background-image: url("../../images/sprite.png"); /* Cart */
+ background-position: -5px -266px;
background-repeat: no-repeat;
text-decoration : none;
padding-left : 33px;
}
-
+/* Search results place hold link */
#placehold input.submit {
- background-image: url("../../images/sprite.png"); /* place hold icon */
+ background-image: url("../../images/sprite.png"); /* Place hold */
background-position: -1px -140px;
background-repeat: no-repeat;
text-decoration : none;
cursor : pointer;
}
.searchresults a.highlight_toggle {
- background-image: url("../../images/sprite.png"); /* place hold icon */
+ background-image: url("../../images/sprite.png"); /* Highlight */
background-position: -11px -841px;
background-repeat: no-repeat;
display: none;
text-decoration : none;
}
+/* Search results rows place hold */
.actions a.hold {
- background-image : url("../../images/sprite.png");
+ background-image : url("../../images/sprite.png"); /* Place hold small */
background-position : -10px -542px;
background-repeat: no-repeat;
padding-left : 16px;
}
+/* Search results rows add to cart */
.actions a.addtocart {
- background-image : url("../../images/sprite.png");
+ background-image : url("../../images/sprite.png"); /* Cart small */
background-position : -10px -572px;
background-repeat: no-repeat;
padding-left : 15px;
display : none;
}
+/* Search results rows save to lists */
.actions a.addtoshelf {
- background-image : url("../../images/sprite.png");
+ background-image : url("../../images/sprite.png"); /* MARC view */
background-position: -10px -27px;
background-repeat: no-repeat;
padding-left : 13px;
ul#i18nMenu li.more a {
- background-image : url("../../images/sprite.png");
+ background-image : url("../../images/sprite.png"); /* Arrow up */
background-position : 37px -940px;
background-repeat:no-repeat;
padding-right: 1.3em;
padding : 2px;
}
-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;
}
.nav_results .l_Results a {
- background:#E1E1E1 url("../../images/sprite.png") no-repeat 0px -504px;
+ background:#E1E1E1 url("../../images/sprite.png") no-repeat 0px -504px; /* Browse results menu */
color:#006699;
display:block;
padding:8px 28px;
#patronregistration a {
display: block;
}
+
+video {
+ width: 480px;
+}
+
+.review {
+ margin-bottom: 20px;
+}
+
+#idreambooksreadometer {
+ float: right;
+}
+a.idreambooksrating {
+ font-size: 30px;
+ color: #29ADE4;
+ padding-left: 85px;
+ line-height: 30px;
+ text-decoration: none;
+}
+
+.idreambookslegend {
+ font-size: small;
+}
+
+a.reviewlink,a.reviewlink:visited {
+ text-decoration: none;
+ color: black;
+ font-weight: normal;
+}
+
+.idreambookssummary a {
+ color: #707070;
+ text-decoration: none;
+}
+
+.idreambookssummary img, .idbresult img {
+ vertical-align: middle;
+}
+
+.idbresult {
+ color: #29ADE4;
+ text-align: center;
+ margin: 0.5em;
+ padding: 0.5em;
+}
+
+.idbresult a, .idbresult a:visited {
+ text-decoration: none;
+ color: #29ADE4;
+}
+
+.idbresult img {
+ padding-right: 6px;
+}
+++ /dev/null
-
-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
+@import url("/opac-tmpl/lib/yui/reset-fonts-grids.css");
+@import url("/opac-tmpl/lib/yui/skin.css");
+
a {
font-weight : bold;
}
.dialog input.back {
background : #FFF url(/opac-tmpl/lib/famfamfam/silk/arrow_left.png) no-repeat 4px center;
+ border: 1px solid #BCBCBC;
padding : .4em .4em .4em 25px;
}
div.ft {
clear : both;
}
+
+.inline {
+ display: inline;
+}
<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>
+<script type="text/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 type="text/javascript" language="javascript" src="[% themelang %]/js/amazonimages.js"></script>
[% END %]
[% IF ( SyndeticsCoverImages ) %]
-<script type="text/javascript" language="javascript">//<![CDATA[
+<script type="text/javascript">//<![CDATA[
var NO_AMAZON_IMAGE = _("No cover image available");
//]]>
</script>
-<script type="text/javascript" language="javascript" src="[% themelang %]/js/amazonimages.js"></script> [% END %]
+<script type="text/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 %]
+[% IF ( opacbookbag ) %]<script type="text/javascript" src="[% themelang %]/js/basket.js">
+[% ELSIF ( virtualshelves ) %]<script type="text/javascript" src="[% themelang %]/js/basket.js">
+[% ELSE %]<script type="text/javascript"> var readCookie;[% END %]
</script>
-<script type="text/javascript" language="javascript">
+<script type="text/javascript">
//<![CDATA[
+ var MSG_CONFIRM_AGAIN = _("Warning: Cannot be undone. Please confirm once again")
+ var MSG_DELETE_SEARCH_HISTORY = _("Are you sure you want to delete your search history?");
[% 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_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=\"\"><i><\/i><span><i><\/i><span><\/span><span id=\"carticon\"></span> "+_("Cart")+"<span id=\"basketcount\"><\/span><\/span><\/a>"); }); [% ELSE %][% IF ( virtualshelves ) %]
+ $("#cartDetails").ready(function(){ $("#cmspan").html("<a href=\"#\" id=\"cartmenulink\"><span id=\"carticon\"></span> "+_("Cart")+"<span id=\"basketcount\"><\/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.");
});[% END %]
[% IF ( opacuserjs ) %][% opacuserjs %][% 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 ( opacbookbag ) %]</script><script type="text/javascript" src="[% themelang %]/js/basket.js">
+[% ELSIF ( virtualshelves ) %]</script><script type="text/javascript" src="[% themelang %]/js/basket.js">
+[% ELSE %]</script><script type="text/javascript">var readCookie;[% END %]</script>
+[% IF ( opacuserlogin ) %][% IF ( TagsEnabled ) %]<script type="text/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">
+<script type="text/javascript" src="[% themelang %]/js/google-jackets.js"></script>
+<script type="text/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">
+<script type="text/javascript" src="[% themelang %]/js/openlibrary.js"></script>
+<script type="text/javascript">
//<![CDATA[
var NO_OL_JACKET = _("No cover image available");
//]]>
[% END %]
[% IF OPACLocalCoverImages %]
-<script type="text/javascript" language="javascript" src="[% themelang %]/js/localcovers.js"></script>
-<script type="text/javascript" language="javascript">
+<script type="text/javascript" src="[% themelang %]/js/localcovers.js"></script>
+<script type="text/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">
+[% IF ( BakerTaylorEnabled ) %]<script type="text/javascript" src="[% themelang %]/js/bakertaylorimages.js"></script>
+<script type="text/javascript">
//<![CDATA[
var NO_BAKERTAYLOR_IMAGE = _("No cover image available");
$(window).load(function(){
<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>
+ <script type="text/javascript" src="[% themelang %]/js/googleindictransliteration.js"></script>
[% END %]
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
- "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-[% IF ( bidi ) %]<html lang="[% lang %]" xml:lang="[% lang %]" dir="[% bidi %]" xmlns="http://www.w3.org/1999/xhtml">[% ELSE %]<html lang="[% lang %]" xml:lang="[% lang %]" xmlns="http://www.w3.org/1999/xhtml">[% END %]
+<!DOCTYPE html>
+[% IF ( bidi ) %]<html lang="[% lang %]" dir="[% bidi %]">[% ELSE %]<html lang="[% lang %]">[% END %]
<head>
<title>
[% END %]
[% IF ( ShowOpacRecentSearchLink ) %]
- <li><a href="/cgi-bin/koha/opac-search-history.pl" title="View your search history">Search history</a> [<a class="logout" href="/cgi-bin/koha/opac-search-history.pl?action=delete" title="Delete your search history" onclick="return confirm(_('Are you sure you want to delete your search history?'));">x</a>]</li>
+ <li><a href="/cgi-bin/koha/opac-search-history.pl" title="View your search history">Search history</a> [<a class="logout" href="/cgi-bin/koha/opac-search-history.pl?action=delete" title="Delete your search history" onclick="return confirm(MSG_DELETE_SEARCH_HISTORY);">x</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>
<option value="callnum">Call number</option>
[% END %]</select>
[% 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>
+ <input type="text" title="Type search term" 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>
+ <input type="text" title="Type search term" id = "transl1" name="q" class="left" style="width: 35%; font-size: 111%;"/><div id="translControl"></div>
[% END %]
[% IF ( OpacAddMastheadLibraryPulldown ) %]
<select name="limit" id="select_library" class="left">
</div>
<div id="breadcrumbs" class="yui-g">
[% IF ( searchdesc ) %]<p>[% 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 %]&count=[% countrss |html %]&sort_by=acqdate_dsc&format=rss2" class="rsssearchlink"><img src="/opac-tmpl/prog/images/feed-icon-16x16.png" alt="Subscribe to this search" title="Subscribe to this search" border="0" class="rsssearchicon"/></a>
+<a href="[% OPACBaseURL %]/cgi-bin/koha/opac-search.pl?[% query_cgi |html |url %][% limit_cgi |html | url %]&count=[% countrss |html %]&sort_by=acqdate_dsc&format=rss2" class="rsssearchlink"><img src="/opac-tmpl/prog/images/feed-icon-16x16.png" alt="Subscribe to this search" title="Subscribe to this search" 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 %]&format=rss2" class="rsssearchlink"><img src="/opac-tmpl/prog/images/feed-icon-16x16.png" alt="Subscribe to this search" title="Subscribe to this search" border="0" class="rsssearchicon"/></a>
+ No results found for that in [% LibraryName %] catalog. <a href="[% OPACBaseURL %]/cgi-bin/koha/opac-search.pl?[% query_cgi | html | url %][% limit_cgi | html | url %]&format=rss2" class="rsssearchlink"><img src="/opac-tmpl/prog/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 %]
<option value="aud:b">pre-primary (0-5)</option>
<option value="aud:c">primary (5-8)</option>
<option value="aud:d">children (9-14)</option>
- <option value="aud:e">young Adult</option>
+ <option value="aud:e">young adult</option>
<option value="aud:k">adult, serious</option>
<option value="aud:m">adult, General</option>
<option value="aud:u">unknown</option>
<option value="ctype:r" >literature surveys/reviews</option>
<option value="ctype:s" >treaties</option>
<option value="ctype:t" >cartoons or comic strips</option>
- <option value="ctype:v" >dissertation or thesis (revised)</option>v
+ <option value="ctype:v" >dissertation or thesis (revised)</option>
<option value="ctype:w" >religious text</option>
<option value="ctype:z" >other</option>
</select>
*/
GetCoverFromIsbn: function(newWindow) {
var bibkeys = [];
- $("div [id^=gbs-thumbnail]").each(function(i) {
+ $("[id^=gbs-thumbnail]").each(function(i) {
bibkeys.push($(this).attr("class")); // id=isbn
});
bibkeys = bibkeys.join(',');
}
for (id in booksInfo) {
var book = booksInfo[id];
- $("."+book.bib_key).each(function() {
+ $("[id^=gbs-thumbnail]."+book.bib_key).each(function() {
var a = document.createElement("a");
a.href = book.info_url;
if (typeof(book.thumbnail_url) != "undefined") {
}
});
}
+
}
};
*/
GetCoverFromIsbn: function() {
var bibkeys = [];
- $("div [id^=openlibrary-thumbnail]").each(function(i) {
+ $("[id^=openlibrary-thumbnail]").each(function(i) {
bibkeys.push("ISBN:" + $(this).attr("class")); // id=isbn
});
bibkeys = bibkeys.join(',');
for (id in booksInfo) {
var book = booksInfo[id];
var isbn = id.substring(5);
- $("."+isbn).each(function() {
+ $("[id^=openlibrary-thumbnail]."+isbn).each(function() {
var is_opacdetail = /openlibrary-thumbnail-preview/.exec($(this).attr("id"));
var a = document.createElement("a");
a.href = booksInfo.url;
/**
* 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",
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(bibnum, tag){
var mynewtag = "newtag" + bibnum;
var mytagid = "#" + mynewtag;
- var mydata = {CGISESSID: readCookie('CGISESSID')}; // Someday this should be OPACSESSID
- mydata[mynewtag] = tag; // need [bracket] for variable property id
+ var mydata = {};
+ mydata[mynewtag] = tag;
var response; // AJAX from server will assign value to response.
$.post(
"/cgi-bin/koha/opac-tags.pl",
// 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
+ var mydata = {};
for (var i = 0; i < bibarray.length; i++) {
var mynewtag = "newtag" + bibarray[i];
mydata[mynewtag] = tag;
[% INCLUDE 'doc-head-open.inc' %][% IF ( LibraryNameTitle ) %][% LibraryNameTitle %][% ELSE %]Koha online[% END %] catalog › ISBD view
[% INCLUDE 'doc-head-close.inc' %]
-<script type="text/JavaScript" language="JavaScript">
+<script type="text/javascript">
//<![CDATA[
YAHOO.util.Event.onContentReady("furtherm", function () {
$("#furtherm").css("display","block").css("visibility","hidden");
<div id="subtypes" class="container"><fieldset>
<legend>Subtype limits</legend><select name="limit" class="subtype">
<option value="" selected="selected" class="menuheader">Any audience</option>
- <option value="aud:a">Easy</option>
- <option value="aud:c">Juvenile</option>
- <option value="aud:d">Young adult</option>
+ <option value="aud:a">Preschool</option>
+ <option value="aud:b">Primary</option>
+ <option value="aud:c">Pre-adolescent</option>
+ <option value="aud:d">Adolescent</option>
<option value="aud:e">Adult</option>
+ <option value="aud:f">Specialized</option>
+ <option value="aud:g">General</option>
+ <option value="aud:j">Juvenile</option>
</select>
-
+
<select name="limit" class="subtype">
<option value="" selected="selected" class="menuheader">Any content</option>
<option value="fic:1">Fiction</option>
<script type="text/javascript" src="[% themelang %]/lib/jquery/plugins/jquery.tools.min.js"></script>
[% IF ( SocialNetworks ) %]
<script type="text/javascript" src="https://apis.google.com/js/plusone.js">
+ //<![CDATA[
{lang: '[% lang %]'}
+ //]]>
</script>
<script type="text/javascript">!function(d,s,id){var js,fjs=d.getElementsByTagName(s)[0];if(!d.getElementById(id)){js=d.createElement(s);js.id=id;js.src="//platform.twitter.com/widgets.js";fjs.parentNode.insertBefore(js,fjs);}}(document,"script","twitter-wjs");</script>
[% END %]
<link rel="stylesheet" type="text/css" href="/opac-tmpl/prog/en/css/jquery.rating.css" />[% END %]
[% IF ( OpacHighlightedWords ) %]<script type="text/javascript" src="[% themelang %]/lib/jquery/plugins/jquery.highlight-3.js"></script>[% END %]
-<script type="text/JavaScript" language="JavaScript">
+<script type="text/javascript">
//<![CDATA[
[% IF ( OpacBrowseResults && busc ) %]
});
// -----------------------------------------------------
[% END %]
+[% IF ( IDreamBooksReviews || IDreamBooksReadometer ) %]
+ var isbn = $(".isbn:last").text().split(" ")[1];
+ if (isbn) {
+ isbn = isbn.replace(/\W*$/, '');
+ isbn = isbn.replace(/-/, '');
+
+ if ($.browser.msie && parseInt($.browser.version, 10) >= 8 && window.XDomainRequest) {
+ // Use Microsoft XDR for IE version 8 or above
+ var xdr = new XDomainRequest();
+ xdr.open("get", "http://idreambooks.com/newbooks/api.json?q="+encodeURIComponent(isbn)+"&key=8bf66516232d1b72f3e47df939653e1e");
+ xdr.onload = function() {
+ json = 'json = '+xdr.responseText; // the string now looks like.. json = { ... };
+ eval(json); // json is now a regular JSON object
+ parseIDBJSON(json); // parse using same function as for jQuery's success event
+ }
+ xdr.send();
+ } else {
+ $.getJSON("http://idreambooks.com/newbooks/api.json?q="+encodeURIComponent(isbn)+"&key=8bf66516232d1b72f3e47df939653e1e", function(json){
+ parseIDBJSON(json);
+ });
+ }
+ }
+
+[% END %]
});
+[% IF ( IDreamBooksReviews || IDreamBooksReadometer ) %]
+function parseIDBJSON( json ) {
+ if(json.total_results > 0 && json.book.rating > 0){
+ var isbn = $(".isbn:last").text().split(" ")[1];
+ isbn = isbn.replace(/-/, '');
+
+[% IF ( IDreamBooksReadometer ) %]
+ $(".title").append('<a href="'+json.book.detail_link+'" id="idreambooksreadometer"><img src="http://idreambooks.com/remotereadometer/'+isbn+'.jpg" alt="'+json.book.title+' by '+json.book.author+'" title="Rating based on reviews of '+json.book.title+'"></a>');
+[% END %]
+
+
+[% IF ( IDreamBooksReviews ) %]
+ //build new tab for critic reviews
+ $("#tab_idb_critic_reviews a").text($("#tab_idb_critic_reviews a").text().replace('XXX', json.book.review_count));
+
+ //append happy-sad cloud review
+
+ $("#catalogue_detail_biblio").append("<span class='idreambookssummary results_summary'><a href='"+json.book.detail_link+"'><img src='"+json.book.to_read_or_not_small+"' alt='"+json.book.title+" by "+json.book.author+"' title='Rating based on reviews of "+json.book.title+"'>"+json.book.rating+"%</a> <a href='http://www.idreambooks.com/'>rating based on reviews at iDreamBooks.com</a></span>");
+
+ //insert data into Book reviews tab
+ $.each(json.book.critic_reviews, function(){
+ $("#idb_review_snippets").append("<div class='review'><div><a href='"+this.review_link+"'>"+this.source+"</a></div><div>\"..."+this.snippet+"...\"</div><div>Review date: "+this.review_date+"</div><div><a class='reviewlink' href='"+json.book.detail_link+"'>Review result: "+this.pos_or_neg+" <img src='"+this.smiley_or_sad_small+"' alt='iDreamBooks.com rating' title='"+this.pos_or_neg+"' /></a></div></div>");
+ });
+ $("#seemoreidb").attr('href', json.book.detail_link);
+ $("#tab_idb_critic_reviews").show();
+[% END %]
+
+ }
+
+}
+[% END %]
[% IF ( OpacBrowseResults && busc ) %]
var timeoutRFW;
[% IF ( pages ) %]<span class="results_summary"><span class="label">Physical details:</span> [% pages %] [% illus %] [% size %]</span>[% END %]
[% IF ( MARCISBNS ) %]
- <span class="results_summary"><span class="label">ISBN:</span>[% FOREACH MARCISBN IN MARCISBNS %][% MARCISBN.marcisbn %][% IF ( loop.last ) %].[% ELSE %]; [% END %][% END %]</span>
+ <span class="results_summary isbn"><span class="label">ISBN:</span>[% FOREACH MARCISBN IN MARCISBNS %][% MARCISBN.marcisbn %][% IF ( loop.last ) %].[% ELSE %]; [% END %][% END %]</span>
[% ELSE %]
[% IF ( normalized_isbn ) %]
- <span class="results_summary"><span class="label">ISBN: </span>[% normalized_isbn %]</span>
+ <span class="results_summary isbn"><span class="label">ISBN: </span>[% normalized_isbn %]</span>
[% END %]
[% END %]
[% IF ( issn ) %]
<br />[% END %]
<!-- here you might do a tmpl_if name="toc" and use greybox or equivalent for table of contents -->
- [% IF ( MARCurl.OPACurlOpenInNewWindow ) %]<a href="[% MARCurl.MARCURL %]" title="[% MARCurl.MARCURL %]" target="_blank">[% ELSE %]<a href="[% MARCurl.MARCURL %]" title="[% MARCurl.MARCURL %]">[% END %]
+ [% IF ( OPACURLOpenInNewWindow ) %]<a href="[% MARCurl.MARCURL %]" title="[% MARCurl.MARCURL %]" target="_blank">[% ELSE %]<a href="[% MARCurl.MARCURL %]" title="[% MARCurl.MARCURL %]">[% END %]
[% MARCurl.linktext %]</a>
[% IF ( MARCurl.notes ) %]<ul>[% FOREACH note IN MARCurl.notes %]<li>[% note.note %]</li>[% END %]</ul>[% END %]</li>
[% IF ( OPACLocalCoverImages && localimages.size ) %]
<li id="tab_images"><a href="#images">Images</a></li>
[% END %]
+
+[% IF ( HTML5MediaEnabled ) %][% IF ( HTML5MediaSets ) %]
+ <li id="tab_html5media"><a href="#html5media">Play media</a></li>
+[% END %][% END %]
+
+[% IF ( IDreamBooksReviews ) %]
+ <li id='tab_idb_critic_reviews' style="display:none;"><a href='#idb_critic_reviews'>Book reviews by critics ( XXX )</a></li>
+[% END %]
</ul>
[% IF ( serialcollection ) %]
</table>
</div>[% END %][% END %]
+[% IF ( HTML5MediaEnabled ) %]
+<div id="html5media">
+ <p>
+ <[% HTML5MediaParent %] controls preload=none>
+ [% FOREACH HTML5MediaSet IN HTML5MediaSets %]
+ <[% HTML5MediaSet.child %] src="[% HTML5MediaSet.srcblock %]"[% HTML5MediaSet.typeblock %] />
+ [% END %]
+ [[% HTML5MediaParent %] tag not supported by your browser.]
+ </[% HTML5MediaParent %]>
+ </p>
+</div>
+[% END %]
+
[% IF ( OPACLocalCoverImages && localimages.size ) %]
<div id="images">
<p>Click on an image to view it in the image viewer</p>
</div>
[% END %]
+[% IF ( IDreamBooksReviews ) %]
+ <div id="idb_critic_reviews">
+ <div id="idb_review_snippets">
+ </div>
+ <span><a id="seemoreidb">More book reviews at iDreamBooks.com</a></span>
+ </div>
+[% END %]
+
</div>
[% IF ( NovelistSelectProfile ) %][% IF ( NovelistSelectView == 'below' ) %]
<div id="BW_videos"></div>
[% END %]
+
</div>
<form action="/cgi-bin/koha/opac-privacy.pl" method="post" id="opac-privacy-delete-form">
<input type="hidden" name="op" value="delete_record" />
<p>Whatever your privacy rule you choose, you can delete all your reading history immediately by clicking here. <b>BE CAREFUL</b>. Once you've confirmed the deletion, no one can retrieve the list!</p>
- <input type="submit" value="Immediate deletion" onclick="return confirmDelete(_('Warning: Cannot be undone. Please confirm once again'));" />
+ <input type="submit" value="Immediate deletion" onclick="return confirmDelete(MSG_CONFIRM_AGAIN);" />
</form>
[% END %]
</div>
[% UNLESS ( bibitemloo.bib_available ) %]
<div class="bibmessage">No available items.</div>
[% ELSE %]
- <div class="bibmessage">This title cannot be requested.</div>
+ [% IF ( bibitemloo.already_patron_possession ) %]
+ <div class="bibmessage">This title cannot be requested because it's already in your possession.</div>
+ [% ELSE %]
+ <div class="bibmessage">This title cannot be requested.</div>
+ [% END %]
[% END %]
[% END %]
[% IF ( reserve_in_future ) %]
<td class="reserve_date">
<input name="reserve_date_[% bibitemloo.biblionumber %]" id="from" size="10" class="datepickerfrom"/>
- <script language="JavaScript" type="text/javascript">
+ <script type="text/javascript">
//<![CDATA[
$("#reserve_date_[% bibitemloo.biblionumber %]").attr( 'readonly', 'readonly' );
//]]>
var shelfnumber = $("#addto").find("option:selected").attr("id").replace("s","");
[% IF ( loggedinusername ) %]if (vShelfAdd()) {
Dopop('/cgi-bin/koha/opac-addbybiblionumber.pl?selectedshelf='+shelfnumber+'&' + vShelfAdd());
- }[% ELSE %] alert(_('You must be logged in to create or add to Lists')); [% END %]
+ }[% ELSE %] alert(_("You must be logged in to create or add to Lists")); [% END %]
return false;
} else if($("#addto").find("option:selected").attr("value") == "newlist"){
[% IF ( loggedinusername ) %]if (vShelfAdd()) {
Dopop('/cgi-bin/koha/opac-addbybiblionumber.pl?newshelf=1&' + vShelfAdd());
- }[% ELSE %] alert(_('You must be logged in to create or add to Lists')); [% END %]
+ }[% ELSE %] alert(_("You must be logged in to create or add to Lists")); [% END %]
return false;
}
if($("#addto").find("option:selected").attr("value") == "addtocart"){
});
[% END %]
+ [% IF ( IDreamBooksResults ) %]
+ $('.idbresult').each(function() {
+ var isbn = $(this).children('a').text().replace(/\s*/,'');
+ var element = this;
+
+ if ($.browser.msie && parseInt($.browser.version, 10) >= 8 && window.XDomainRequest) {
+ // Use Microsoft XDR for IE version 8 or above
+ var xdr = new XDomainRequest();
+ xdr.open("get", "http://idreambooks.com/newbooks/api.json?q="+encodeURIComponent(isbn)+"&key=8bf66516232d1b72f3e47df939653e1e");
+ xdr.onload = function() {
+ json = 'json = '+xdr.responseText; // the string now looks like.. json = { ... };
+ eval(json); // json is now a regular JSON object
+ if(json.total_results > 0 && json.book.rating > 0){
+ $(element).children('a').html("<img src='"+json.book.to_read_or_not_small+"' alt='"+json.book.title+" by "+json.book.author+"' title='Rating based on reviews of "+json.book.title+"'>"+json.book.rating+"%");
+ $(element).show();
+ } else {
+ $(element).remove();
+ }
+ }
+ xdr.send();
+ } else {
+ $.getJSON("http://idreambooks.com/newbooks/api.json?q="+encodeURIComponent(isbn)+"&key=8bf66516232d1b72f3e47df939653e1e", function(json){
+ if(json.total_results > 0 && json.book.rating > 0){
+ $(element).children('a').html("<img src='"+json.book.to_read_or_not_small+"' alt='"+json.book.title+" by "+json.book.author+"' title='Rating based on reviews of "+json.book.title+"'>"+json.book.rating+"%");
+ $(element).show();
+ } else {
+ $(element).remove();
+ }
+ });
+ }
+ });
+ [% END %]
+
[% IF ( opacbookbag ) %]$(".addtocart").show();[% END %]
[% IF ( opacbookbag ) %]
} else if($("#addto").find("option:selected").attr("value") == "newlist"){
[% IF ( loggedinusername ) %]if (vShelfAdd()) {
Dopop('/cgi-bin/koha/opac-addbybiblionumber.pl?newshelf=1&' + vShelfAdd());
- }[% ELSE %] alert(_('You must be logged in to create or add to lists')); [% END %]
+ }[% ELSE %] alert(_("You must be logged in to create or add to lists")); [% END %]
return false;
} else if($("#addto").find("option:selected").attr("value") == "morelists"){
[% IF ( loggedinusername ) %]if (vShelfAdd()) {
Dopop('/cgi-bin/koha/opac-addbybiblionumber.pl?' + vShelfAdd());
- }[% ELSE %] alert(_('You must be logged in to create or add to lists')); [% END %]
+ }[% ELSE %] alert(_("You must be logged in to create or add to lists")); [% END %]
return false;
}
if($("#addto").find("option:selected").attr("value") == "addtocart" || $("#addto").attr("class") == "addtocart"){
[% END %]
[% END %]
- [% IF ( SEARCH_RESULT.AuthorisedValueImages ) %]
+ [% IF ( AuthorisedValueImages ) %]
<td class="itypecol">
[% FOREACH authorised_value_image IN SEARCH_RESULT.authorised_value_images %]
- <img src="[% authorised_value_image.imageurl %]" alt="[% authorised_value_image.label %]" title="[% authorised_value_image.label %]">
+ [% IF ( authorised_value_image.imageurl ) %]
+ <img src="[% authorised_value_image.imageurl %]" alt="[% authorised_value_image.label %]" title="[% authorised_value_image.label %]">
+ [% END %]
[% END %]
</td>
[% END %]
[% IF OpenLibraryCovers %][% IF SEARCH_RESULT.normalized_isbn %]<span style="block" title="[% SEARCH_RESULT.biblionumber %]" class="[% SEARCH_RESULT.normalized_isbn %]" id="openlibrary-thumbnail[% loop.count %]"></span>[% ELSE %]<span class="no-image">No cover image available</span>[% END %][% END %]
</a>
[% IF ( BakerTaylorEnabled ) %][% IF ( SEARCH_RESULT.normalized_isbn ) %]<a href="https://[% BakerTaylorBookstoreURL |html %][% SEARCH_RESULT.normalized_isbn %]"><img alt="See Baker & Taylor" src="[% BakerTaylorImageURL |html %][% SEARCH_RESULT.normalized_isbn %]" /></a>[% ELSE %]<span class="no-image">No cover image available</span>[% END %][% END %]
+ [% IF ( IDreamBooksResults ) %][% IF ( SEARCH_RESULT.normalized_isbn ) %]<div class="idbresult" style="display: none;">
+ [% IF ( IDreamBooksReviews ) %]
+ <a href="/cgi-bin/koha/opac-detail.pl?biblionumber=[% SEARCH_RESULT.biblionumber %]#idb_critic_reviews">
+ [% ELSE %]
+ <a href="/cgi-bin/koha/opac-detail.pl?biblionumber=[% SEARCH_RESULT.biblionumber %]">
+ [% END %]
+ [% SEARCH_RESULT.normalized_isbn %]</a></div>
+ [% END %][% END %]
</td>
</tr>
[% END %]
<style type="text/css">
#custom-doc { width:37.08em;*width:36.16em;min-width:485px; margin:1em auto; text-align:left; }
</style>
-<script type="text/JavaScript" language="JavaScript">
+<script type="text/javascript">
//<![CDATA[
$(document).ready(function() {
var inject_old = function(comment) {
[% IF ( reviewid ) %]
- [% IF ( cgi_debug ) %]alert(_('injecting OLD comment: ')+comment);[% END %]
+ [% 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 %]&reviewid=[% reviewid | uri%]\');\">"+_("Edit")+"<\/a>");
[% IF ( LibraryNameTitle ) %][% LibraryNameTitle %][% ELSE %]Koha online[% END %] catalog › Your search history
[% INCLUDE 'doc-head-close.inc' %]
<script type="text/javascript" src="[% themelang %]/lib/jquery/plugins/jquery.tablesorter.min.js"></script>
-<script type="text/JavaScript" language="JavaScript">
+<script type="text/javascript">
//<![CDATA[
var MSG_CONFIRM_DELETE_HISTORY = _("Are you sure you want to delete your search history?");
$(document).ready(function() {
$(function() {
[% IF ( opacbookbag ) %]$(".addtocart").show();[% END %]
- $("span.clearall").html("<a id=\"CheckNone\" href=\"#\">"+_('Clear all')+"<\/a>");
- $("span.checkall").html("<a id=\"CheckAll\" href=\"#\">"+_('Select all')+"<\/a>");
+ $("span.clearall").html("<a id=\"CheckNone\" href=\"#\">"+_("Clear all")+"<\/a>");
+ $("span.checkall").html("<a id=\"CheckAll\" href=\"#\">"+_("Select all")+"<\/a>");
$("a.print").show();
- [% IF ( opacuserlogin ) %][% IF ( RequestOnOpac ) %]$("#placehold").html("<a href=\"#\" class=\"hold tag_hides disabled\">"+_('Place hold')+"<\/a>");
+ [% IF ( opacuserlogin ) %][% IF ( RequestOnOpac ) %]$("#placehold").html("<a href=\"#\" class=\"hold tag_hides disabled\">"+_("Place hold")+"<\/a>");
$("#selections-toolbar a.hold").click(function(){
holdSelections();
return false;
[% 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" language="JavaScript">
+<script type="text/javascript">
//<![CDATA[
$.tablesorter.addParser({
id: 'articles',
[% END %]
}
});
- [% IF ( loggedinusername ) %]$("span.clearall").html("<a id=\"CheckNone\" href=\"#\">"+_('Clear all')+"<\/a>");
- $("span.checkall").html("<a id=\"CheckAll\" href=\"#\">"+_('Select all')+"<\/a>");
+ [% IF ( loggedinusername ) %]$("span.clearall").html("<a id=\"CheckNone\" href=\"#\">"+_("Clear all")+"<\/a>");
+ $("span.checkall").html("<a id=\"CheckAll\" href=\"#\">"+_("Select all")+"<\/a>");
$("#CheckAll").click(function(){
$(".checkboxed").checkCheckboxes();
enableCheckboxActions();
[% INCLUDE 'doc-head-open.inc' %][% IF ( LibraryNameTitle ) %][% LibraryNameTitle %][% ELSE %]Koha online[% END %] catalog › Most popular titles
[% INCLUDE 'doc-head-close.inc' %]
<script type="text/javascript" src="[% themelang %]/lib/jquery/plugins/jquery.tablesorter.min.js"></script>
-<script language="JavaScript" type="text/javascript">
+<script type="text/javascript">
//<![CDATA[
$.tablesorter.addParser({
id: 'articles',
<script type="text/javascript" src="[% themelang %]/lib/jquery/plugins/jquery.tablesorter.min.js"></script>
<script type="text/JavaScript">
//<![CDATA[
-var MSG_CONFIRM_DELETE_HOLD = _("Are you sure you want to cancel this hold?");
+var MSG_CONFIRM_DELETE_HOLD = _("Are you sure you want to cancel this hold?");
+var MSG_CONFIRM_SUSPEND_HOLDS = _("Are you sure you want to suspend all holds?");
+var MSG_CONFIRM_RESUME_HOLDS = _("Are you sure you want to resume all suspended holds?");
+
$.tablesorter.addParser({
id: 'articles',
is: function(s) {return false; },
</div>
[% END %]
+ [% IF ( BORROWER_INF.warnexpired ) %]
+ <div class="dialog alert" id="warnexpired">
+ <strong>Please note:</strong><span> Your card has expired. Please contact the library for more information.</span>
+ </div>
+ [% END %]
+
[% IF ( patron_flagged ) %]
<div class="dialog alert">
<ul>
<form action="/cgi-bin/koha/opac-modrequest.pl" method="post">
<input type="hidden" name="biblionumber" value="[% RESERVE.biblionumber %]" />
<input type="hidden" name="reservenumber" value="[% RESERVE.reservenumber %]" />
- <input type="submit" name="submit" class="icon delete cancel" value="Cancel" onclick="return confirmDelete('Are you sure you want to cancel this hold?');" /></form>
+ <input type="submit" name="submit" class="icon delete cancel" value="Cancel" onclick="return confirmDelete(MSG_CONFIRM_DELETE_HOLD);" /></form>
[% ELSE %]
[% END %]
</td>
[% IF SuspendHoldsOpac %]
<div>
<form action="/cgi-bin/koha/opac-modrequest-suspend.pl" method="post">
- <input type="submit" name="submit" class="icon delete cancel" value="Suspend all holds" onclick="return confirmDelete('Are you sure you want to suspend all holds?');" />
+ <input type="submit" name="submit" class="icon delete cancel" value="Suspend all holds" onclick="return confirmDelete(MSG_CONFIRM_SUSPEND_HOLDS);" />
<input type="hidden" name="suspend" value="1" />
[% IF AutoResumeSuspendedHolds %]
</div>
<div>
<form action="/cgi-bin/koha/opac-modrequest-suspend.pl" method="post">
- <input type="submit" name="submit" class="icon delete cancel" value="Resume all suspended holds" onclick="return confirmDelete('Are you sure you want to resume all suspended holds?');" />
+ <input type="submit" name="submit" class="icon delete cancel" value="Resume all suspended holds" onclick="return confirmDelete(MSG_CONFIRM_RESUME_HOLDS);" />
<input type="hidden" name="suspend" value="0" />
</form>
</div>
<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" />
+[% IF ( SCOUserCSS ) %]<style type="text/css">[% SCOUserCSS %]</style>[% END %]
+
+[% IF ( SCOUserJS ) %]<script type="text/javascript">[% SCOUserJS %]</script>[% END %]
</head>
<body>
<div id="doc" class="yui-t7">
}
</script>
+[% IF ( SCOUserCSS ) %]<style type="text/css">[% SCOUserCSS %]</style>[% END %]
+[% IF ( SCOUserJS ) %]<script type="text/javascript">[% SCOUserJS %]</script>[% END %]
</head>
<script type="text/javascript" src="[% themelang %]/lib/jquery/jquery-ui.js"></script>
<script type="text/javascript" src="[% themelang %]/lib/jquery/plugins/jquery.tablesorter.min.js"></script>
<script type="text/javascript">//<![CDATA[
-function sco_init(valid_session) {
- if (valid_session == 1) {
- setTimeout("location.href='/cgi-bin/koha/sco/sco-main.pl?op=logout';",[% SelfCheckTimeout %]);
- }
+function sco_init() {
+ setTimeout("location.href='/cgi-bin/koha/sco/sco-main.pl?op=logout';",[% SelfCheckTimeout %]);
}
function dofocus() { // named function req'd for body onload event by some FF and IE7 security models
// alert("dofocus called");
window.location.href='/cgi-bin/koha/sco/sco-main.pl?op=logout';
return false;
}
- if (this.valid_session == 0) {
- // probably should force logout like above ? --atz 6/09
- if (confirm('Session has expired. Click \'OK\' to continue processing this item. Click Cancel if you are not ' + patronid)){
- this.op.value='logout';
- this.patronid.value='';
- }
- }
return true;
}
});
$(document).ready(function() {
- [% IF ( patronid ) %] sco_init(1);
- [% ELSIF ( timedout ) %] sco_init(1);
- [% END %]
+ dofocus();
+ [% IF ( patronid ) %]sco_init();[% END %]
$("#loanTable").tablesorter({
[% IF ( dateformat_metric ) %]
dateFormat: 'uk',
});
</script>
[% IF ( opacuserjs ) %]<script type="text/javascript">[% opacuserjs %]</script>[% END %]
+[% IF ( SCOUserJS ) %]<script type="text/javascript">[% SCOUserJS %]</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 %]
+[% IF ( SCOUserCSS ) %]<style type="text/css">[% SCOUserCSS %]</style>[% END %]
</head>
<body onload="dofocus();">
<div id="bd">
[% IF ( impossible ) %]<!-- We tried to issue, but failed. -->
-<div class="dialog alert"><h3>Item cannot be checked out.</h3><p>Sorry, This item cannot be checked out at this station. </p>
+<div class="dialog alert"><h3>Item cannot be checked out.</h3><p>Sorry, this item cannot be checked out at this station. </p>
[% IF ( title ) %]<p>Title: <em>[% title |html %]</em> </p>[% END %]
<p>
[% IF ( circ_error_UNKNOWN_BARCODE ) %]
<em>MESSAGE 1:</em> The system does not recognize this barcode.
- [% ELSIF ( circ_error_TOO_MANY ) %]
- <em>MESSAGE 2:</em> You have borrowed too many items and can't check out any more.
+ [% ELSIF ( circ_error_max_loans_allowed ) %]
+ <em>MESSAGE 2:</em> You have checked out too many items and can't check out any more.
[% ELSIF ( circ_error_ISSUED_TO_ANOTHER ) %]
<em>MESSAGE 3:</em> This item is checked out to someone else.
[% ELSIF ( circ_error_NO_MORE_RENEWALS ) %]
[% ELSIF ( circ_error_NOT_FOR_LOAN ) %]
<em>MESSAGE 5:</em> This item is not for loan.
[% ELSIF ( circ_error_DEBT ) %]
- <em>MESSAGE 6:</em> You owe the library [% amount %] and cannot borrow.
+ <em>MESSAGE 6:</em> You owe the library [% amount %] and cannot check out.
[% ELSIF ( circ_error_WTHDRAWN ) %]
<em>MESSAGE 7:</em> This item has been withdrawn from the collection.
[% ELSIF ( circ_error_RESTRICTED ) %]
<em>MESSAGE 8:</em>
[% ELSIF ( circ_error_RESERVED ) %]
- <em>MESSAGE 9:</em> This item is reserved for another patron.
+ <em>MESSAGE 9:</em> This item is on hold for another patron.
[% ELSIF ( circ_error_ITEMNOTSAMEBRANCH ) %]
<em>MESSAGE 10:</em>
[% ELSIF ( circ_error_EXPIRED ) %]
[% END %]
Please see a member of the library staff.
</p>
-<form action="/cgi-bin/koha/sco/sco-main.pl" name="errorForm" method="post">
-<input type="hidden" name="op" value="login" />
-<input type="hidden" name="patronid" value="[% patronid %]" />
[% IF ( returnitem ) %]
[% IF ( AllowSelfCheckReturns ) %]
-<input type="hidden" name="barcode" value="[% barcode %]" />
-<input type="button" name="returnbook" value="Return this item" class="return" onclick="this.form.op.value='returnbook';this.form.submit();" />
+<form action="/cgi-bin/koha/sco/sco-main.pl" name="errorForm" class="inline" method="post">
+ <input type="hidden" name="op" value="returnbook" />
+ <input type="hidden" name="patronid" value="[% patronid %]" />
+ <input type="hidden" name="barcode" value="[% barcode %]" />
+ <input type="submit" name="returnbook" value="Return this item" class="return" />
+</form>
[% END %]
[% END %]
-<input type="submit" name= "confirm" value="Return to Account Summary" class="back focus" />
+<form action="/cgi-bin/koha/sco/sco-main.pl" name="errorForm" class="inline" method="post">
+ <input type="hidden" name="op" value="" />
+ <input type="hidden" name="patronid" value="[% patronid %]" />
+ <input type="hidden" name="barcode" value="[% barcode %]" />
+ <input type="submit" name= "confirm" value="Return to account summary" class="back focus" />
</form>
[% END %]
[% IF ( confirm ) %]<!-- We need to confirm the issue.. -->
<div class="dialog alert"><h3>Please confirm the checkout:</h3>
<p>[% IF ( confirm_renew_issue ) %]This item is already checked out to you.[% END %]</p>
-<form action="/cgi-bin/koha/sco/sco-main.pl" name="confirmForm" method="post">
-<input type="hidden" name="op" value="checkout" />
-<input type="hidden" name="patronid" value="[% patronid %]" />
-<input type="hidden" name="barcode" value="[% barcode %]" />
-<input type="hidden" name="confirmed" value="" />
[% IF ( renew ) %]
[% IF ( AllowSelfCheckReturns ) %]
-<input type="button" value="Return item" name="confirm" class="return" onclick="this.form.op.value='returnbook';this.form.submit();" />
+ <form action="/cgi-bin/koha/sco/sco-main.pl" name="confirmForm" class="inline" method="post">
+ <input type="hidden" name="op" value="returnbook" />
+ <input type="hidden" name="patronid" value="[% patronid %]" />
+ <input type="hidden" name="barcode" value="[% barcode %]" />
+ <input type="hidden" name="confirmed" value="" />
+ <input type="submit" value="Return item" name="confirm" class="return" />
+ </form>
[% END %]
[% END %]
-[% UNLESS ( renew ) %]<input type="button" value="Renew item" name="confirm" class="renew" onclick="this.form.confirmed.value='1';this.form.submit();" />
-[% ELSE %]<input type="button" value="Renew item" class="renew" onclick="this.form.confirmed.value='1';this.form.submit();" />[% END %]
-<input type="button" value="Cancel" class="cancel" onclick="this.form.op.value='';this.form.submit();return true;" />
-</form>
+
+[% UNLESS ( renew ) %]
+ <form action="/cgi-bin/koha/sco/sco-main.pl" name="confirmForm" class="inline" method="post">
+ <input type="hidden" name="op" value="checkout" />
+ <input type="hidden" name="patronid" value="[% patronid %]" />
+ <input type="hidden" name="barcode" value="[% barcode %]" />
+ <input type="hidden" name="confirmed" value="1" />
+ <input type="submit" value="Renew item" name="confirm" class="renew" />
+ </form>
+[% ELSE %]
+ <form action="/cgi-bin/koha/sco/sco-main.pl" name="confirmForm" class="inline" method="post">
+ <input type="hidden" name="op" value="checkout" />
+ <input type="hidden" name="patronid" value="[% patronid %]" />
+ <input type="hidden" name="barcode" value="[% barcode %]" />
+ <input type="hidden" name="confirmed" value="1" />
+ <input type="submit" value="Renew item" class="renew" />
+ </form>
+[% END %]
+ <form action="/cgi-bin/koha/sco/sco-main.pl" name="confirmForm" class="inline" method="post">
+ <input type="hidden" name="op" value="" />
+ <input type="hidden" name="patronid" value="[% patronid %]" />
+ <input type="submit" value="Cancel" class="cancel" />
+ </form>
</div>
[% END %]
[% IF ( nopermission ) %]<!-- This is what is displayed if user doesnt have permission --><div class="dialog alert"><h3>Access denied</h3>
Sorry, this self-checkout station has lost authentication. Please contact the administrator to resolve this problem. </div>
[% END %]
-[% IF ( timed_out ) %]<!-- This is what is displayed if login has timed out -->
-<div class="dialog alert"><h3>Session timed out</h3>Sorry, your session has timed out, please log in again.</div>[% END %]
[% IF ( different_ip ) %]<!-- This is what is displayed if user doesnt have permission --><div class="dialog alert"><h3>Session lost</h3>You are accessing self-checkout from a different IP address! please log in again.</div>[% END %]
[% IF ( invalid_username_or_password ) %]
<!-- This is what is displayed if user doesnt have permission --><div class="dialog alert"><h3>Record not found</h3><p>Your userid was not found in the database. Please try again.</p></div>[% END %]
[% END %]
[% END %]
- [% IF ( timedout ) %]
- <div class="dialog message"><h4>Sorry</h4><p>Your session has timed out due to inactivity. Please sign in.</p></div>
- <br />
- [% END %]
[% IF ( validuser ) %]
[% IF ( display_patron_image ) %]<div class="yui-ge"><div class="yui-u first">[% END %]
<div id="newcheckout" class="sco_entry">
<form id="scan_form" name="scan_form" method="post" action="/cgi-bin/koha/sco/sco-main.pl" onsubmit="return checkout_confirm('[% patronid %]');">
<fieldset><legend> Check out[% IF ( AllowSelfCheckReturns ) %], return[% END %] or renew an item: </legend>
<label for="barcode">Scan a new item or enter its barcode:</label>
- <input id="barcode" name="barcode" size="20" class="focus" />
+ <input id="barcode" name="barcode" size="20" class="focus" autocomplete="off" />
<input type="hidden" name="op" value="checkout" />
<input type="hidden" name="patronid" value="[% patronid %]" />
- <input type="hidden" name="valid_session" value="1" />
<input type="submit" value="Submit" class="submit" /></fieldset>
</form>
<div><form method="post" action="#" id="logout_form"><input type="submit" value="Finish" class="finish" /></form></div>
[% IF ( ISSUE.overdue ) %]<td class="overdue">[% ISSUE.date_due | $KohaDates %]</td>[% ELSE %]<td>[% ISSUE.date_due | $KohaDates %]</td>[% END %]
<td>
<form action="/cgi-bin/koha/sco/sco-main.pl" method="post">
- <input type="hidden" name="op" value="checkout" />
<input type="hidden" name="patronid" value="[% patronid %]" />
<input type="hidden" name="barcode" value="[% ISSUE.barcode %]" />
- <input type="hidden" name="confirmed" value="" />
[% IF ( ISSUE.norenew ) %]
- [% IF ( ISSUE.AllowSelfCheckReturns ) %]
- <input type="button" value="Return Item" name="confirm" class="return" onclick="this.form.op.value='returnbook';this.form.submit();" />
+ [% IF ( AllowSelfCheckReturns ) %]
+ <input type="submit" value="Check in item" name="confirm" class="return" />
+ <input type="hidden" name="op" value="returnbook" />
+ <input type="hidden" name="confirmed" value="" />
[% ELSE %]
- <span>No renewals allowed</span>
+ <span>No renewals allowed</span>
[% END %]
[% ELSE %]
- [% UNLESS ( ISSUE.renew ) %]<input type="button" value="Renew Item" name="confirm" class="renew" onclick="this.form.confirmed.value='1';this.form.submit();" />
- [% ELSE %]<input type="button" value="Renew Item" class="renew" onclick="this.form.confirmed.value='1';this.form.submit();" />[% END %]
+ <input type="hidden" name="op" value="checkout" />
+ <input type="hidden" name="confirmed" value="1" />
+ [% UNLESS ( ISSUE.renew ) %]<input type="submit" value="Renew item" name="confirm" class="renew" />
+ [% ELSE %]<input type="submit" value="Renew item" class="renew" />[% END %]
[% END %]
</form>
</td>
<input type="password" id="patronpw" size="20" name="patronpw" />
[% ELSE %]
<fieldset class="checkout"><label for="patronid">Please enter your card number:</label>
- <input type="text" id="patronid" class="focus" size="20" name="patronid" />
+ <input type="text" id="patronid" class="focus" size="20" name="patronid" autocomplete="off" />
[% END %]
[% FOREACH INPUT IN INPUTS %]<input type="hidden" name="[% INPUT.name |html %]" value="[% INPUT.value |html %]">[% END %]
</xsl:call-template>
</xsl:with-param>
</xsl:call-template>
- </a>
- <xsl:text> </xsl:text><xsl:call-template name="part"/>
- <xsl:choose><xsl:when test="position()=last()"><xsl:text>.</xsl:text></xsl:when><xsl:otherwise><xsl:text>; </xsl:text></xsl:otherwise></xsl:choose>
+ </a>
+ <xsl:call-template name="part"/>
+ <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>
<!-- 490 Series not traced, Ind1 = 0 -->
</xsl:for-each>
</xsl:if>
+ <xsl:for-each select="marc:datafield[@tag=511]">
+ <span class="results_summary summary">
+ <span class="label">
+ <xsl:if test="@ind1=1"><xsl:text>Cast: </xsl:text></xsl:if>
+ </span>
+ <xsl:call-template name="subfieldSelect">
+ <xsl:with-param name="codes">a</xsl:with-param>
+ </xsl:call-template>
+ </span>
+ </xsl:for-each>
+
<xsl:for-each select="marc:datafield[@tag=520]">
<span class="results_summary summary"><span class="label">
<xsl:choose>
</xsl:choose>
<!-- add relator code too between brackets-->
<xsl:if test="marc:subfield[@code='4' or @code='e']">
- <xsl:text>[</xsl:text>
+ <span class="relatorcode">
+ <xsl:text> [</xsl:text>
<xsl:choose>
<xsl:when test="marc:subfield[@code=4]"><xsl:value-of select="marc:subfield[@code=4]"/></xsl:when>
<xsl:otherwise><xsl:value-of select="marc:subfield[@code='e']"/></xsl:otherwise>
</xsl:choose>
<xsl:text>]</xsl:text>
+ </span>
</xsl:if>
</a>
<xsl:if test="marc:subfield[@code=9]">
use strict;
sub kohaversion {
- our $VERSION = '3.11.00.010';
+ our $VERSION = '3.11.00.017';
# version needs to be set this way
# so that it can be picked up by Makefile.PL
# during install
}
# Print the page
-$template->param( DHTMLcalendar_dateformat => C4::Dates->DHTMLcalendar(), );
output_html_with_http_headers $query, $cookie, $template->output;
$member =~ s/,//g; #remove any commas from search string
$member =~ s/\*/%/g;
+my $searchtype = $input->param('searchtype');
+my %searchtype_ok = ( 'contain' => 1 );
+if ( !defined($searchtype_ok{$searchtype}) ) {
+ undef $searchtype;
+}
+
my $from = ( $startfrom - 1 ) * $resultsperpage;
my $to = $from + $resultsperpage;
my ($count,$results);
if ($member || keys %$patron) {
#($results)=Search($member || $patron,{surname=>1,firstname=>1},[$from,$to],undef,["firstname","surname","email","othernames"] );
- my $search_scope = ( $quicksearch ? "field_start_with" : "start_with" );
+ my $search_scope = $searchtype || ( $quicksearch ? "field_start_with" : "start_with" );
($results) = Search( $member || $patron, \@orderby, undef, undef, \@searchfields, $search_scope );
}
-default=>$default_roadtype
);
-my $default_borrowertitle;
-$default_borrowertitle=$data{'title'} ;
+my $default_borrowertitle = '';
+unless ( $op eq 'duplicate' ) { $default_borrowertitle=$data{'title'} }
my($borrowertitle)=GetTitles();
$template->param( title_cgipopup => 1) if ($borrowertitle);
my $borrotitlepopup = CGI::popup_menu(-name=>'title',
$template->param(
BorrowerMandatoryField => C4::Context->preference("BorrowerMandatoryField"),#field to test with javascript
category_type => $category_type,#to know the category type of the borrower
- DHTMLcalendar_dateformat => C4::Dates->DHTMLcalendar(),
select_city => $select_city,
"$category_type" => 1,# associate with step to know where u are
destination => $destination,#to know wher u come from and wher u must go in redirect
my $flagsrequired;
if ($print eq "page") {
$template_name = "members/moremember-print.tmpl";
- $flagsrequired = { borrowers => 1 };
+ # circ staff who process checkouts but can't edit
+ # patrons still need to be able to access print view
+ $flagsrequired = { circulate => "circulate_remaining_permissions" };
} elsif ($print eq "slip") {
$template_name = "members/moremember-receipt.tmpl";
# circ staff who process checkouts but can't edit
$template->param(
detailview => 1,
AllowRenewalLimitOverride => C4::Context->preference("AllowRenewalLimitOverride"),
- DHTMLcalendar_dateformat => C4::Dates->DHTMLcalendar(),
CANDELETEUSER => $candeleteuser,
roaddetails => $roaddetails,
borrowernumber => $borrowernumber,
StaffMember => ($category_type eq 'S'),
is_child => ($category_type eq 'C'),
# reserveloop => \@reservedata,
- dateformat => C4::Context->preference("dateformat"),
- "dateformat_" . (C4::Context->preference("dateformat") || '') => 1,
samebranch => $samebranch,
quickslip => $quickslip,
activeBorrowerRelationship => (C4::Context->preference('borrowerRelationship') ne ''),
my $itemno = $input->param('itemnumber');
my $account_type = $input->param('accounttype');
my $amount = $input->param('amountoutstanding');
- WriteOffFee( $borrowernumber, $accountlines_id, $itemno, $account_type, $amount, $branch );
+ WriteOffFee( $borrowernumber, $accountlines_id, $itemno, $account_type, $amount );
}
for (@names) {
my $amount = $input->param("amountoutstanding$value");
my $accountno = $input->param("accountno$value");
my $accountlines_id = $input->param("accountlines_id$value");
- WriteOffFee( $borrowernumber, $accountlines_id, $itemno, $accounttype, $amount, $branch );
+ WriteOffFee( $borrowernumber, $accountlines_id, $itemno, $accounttype, $amount );
}
}
if ( $total_paid and $total_paid ne '0.00' ) {
if ( $total_paid < 0 or $total_paid > $total_due ) {
$template->param(
- error => sprintf( 'You must pay a value less than or equal to %f.2',
- $total_due )
+ error_over => 1,
+ total_due => $total_due
);
} else {
if ($individual) {
}
} else {
if($dateexpiry){
- print $input->redirect("/cgi-bin/koha/members/moremember.pl?bornum=$borrowernumber&dateexpiry=$dateexpiry");
+ print $input->redirect("/cgi-bin/koha/members/moremember.pl?borrowernumber=$borrowernumber&dateexpiry=$dateexpiry");
} else {
- print $input->redirect("/cgi-bin/koha/members/moremember.pl?bornum=$borrowernumber");
+ print $input->redirect("/cgi-bin/koha/members/moremember.pl?borrowernumber=$borrowernumber");
}
}
use strict;
use warnings;
use Getopt::Long;
+use Pod::Usage;
use Data::Dumper;
BEGIN {
# find Koha's Perl modules
use C4::Overdues;
use Koha::DateUtils;
+=head1 NAME
+
+advance_notices.pl - prepare messages to be sent to patrons for nearly due, or due, items
+
+=head1 SYNOPSIS
+
+advance_notices.pl
+ [ -n ][ -m <number of days> ][ --itemscontent <comma separated field list> ][ -c ]
+
+=head1 OPTIONS
+
+=over 8
+
+=item B<--help>
+
+Print a brief help message and exits.
+
+=item B<--man>
+
+Prints the manual page and exits.
+
+=item B<-v>
+
+Verbose. Without this flag set, only fatal errors are reported.
+
+=item B<-n>
+
+Do not send any email. Advanced or due notices that would have been sent to
+the patrons are printed to standard out.
+
+=item B<-m>
+
+Defines the maximum number of days in advance to send advance notices.
+
+
+
+=item B<--itemscontent>
+
+comma separated list of fields that get substituted into templates in
+places of the E<lt>E<lt>items.contentE<gt>E<gt> placeholder. This
+defaults to due date,title,author,barcode
+
+Other possible values come from fields in the biblios, items and
+issues tables.
+
+=back
+
+=head1 DESCRIPTION
+
+This script is designed to alert patrons when items are due, or coming due
+
+=head2 Configuration
+
+This script pays attention to the advanced notice configuration
+performed by borrowers in the OPAC, or by staff in the patron detail page of the intranet. The content of the messages is configured in Tools -> Notices and slips. Advanced notices use the PREDUE template, due notices use DUE. More information about the use of this
+section of Koha is available in the Koha manual.
+
+=head2 Outgoing emails
+
+Typically, messages are prepared for each patron with due
+items, and who have selected (or the library has elected for them) Advance or Due notices.
+
+These emails are staged in the outgoing message queue, as are messages
+produced by other features of Koha. This message queue must be
+processed regularly by the
+F<misc/cronjobs/process_message_queue.pl> program.
+
+In the event that the C<-n> flag is passed to this program, no emails
+are sent. Instead, messages are sent on standard output from this
+program. They may be redirected to a file if desired.
+
+=head2 Templates
+
+Templates can contain variables enclosed in double angle brackets like
+E<lt>E<lt>thisE<gt>E<gt>. Those variables will be replaced with values
+specific to the overdue items or relevant patron. Available variables
+are:
+
+=over
+
+=item E<lt>E<lt>items.contentE<gt>E<gt>
+
+one line for each item, each line containing a tab separated list of
+title, author, barcode, issuedate
+
+=item E<lt>E<lt>borrowers.*E<gt>E<gt>
+
+any field from the borrowers table
+
+=item E<lt>E<lt>branches.*E<gt>E<gt>
+
+any field from the branches table
+
+=back
+
+=head1 SEE ALSO
+
+The F<misc/cronjobs/overdue_notices.pl> program allows you to send
+messages to patrons when their messages are overdue.
+=cut
# These are defaults for command line options.
my $confirm; # -c: Confirm that the user has read and configured this script.
my $mindays = 0; # -m: Maximum number of days in advance to send notices
my $maxdays = 30; # -e: the End of the time period
my $verbose = 0; # -v: verbose
-my $itemscontent = join(',',qw( issuedate title barcode author ));
+my $itemscontent = join(',',qw( date_due title author barcode ));
-GetOptions( 'c' => \$confirm,
+my $help = 0;
+my $man = 0;
+
+GetOptions(
+ 'help|?' => \$help,
+ 'man' => \$man,
+ 'c' => \$confirm,
'n' => \$nomail,
'm:i' => \$maxdays,
'v' => \$verbose,
'itemscontent=s' => \$itemscontent,
- );
-my $usage = << 'ENDUSAGE';
-
-This script prepares pre-due and item due reminders to be sent to
-patrons. It queues them in the message queue, which is processed by
-the process_message_queue.pl cronjob.
-See the comments in the script for directions on changing the script.
-This script has the following parameters :
- -c Confirm and remove this help & warning
- -m maximum number of days in advance to send advance notices.
- -n send No mail. Instead, all mail messages are printed on screen. Usefull for testing purposes.
- -v verbose
-ENDUSAGE
+ )or pod2usage(2);
+pod2usage(1) if $help;
+pod2usage( -verbose => 2 ) if $man;;
# Since advance notice options are not visible in the web-interface
# unless EnhancedMessagingPreferences is on, let the user know that
END_WARN
}
-
unless ($confirm) {
- print $usage;
- print "Do you wish to continue? (y/n)";
- chomp($_ = <STDIN>);
- exit unless (/^y/i);
-
+ pod2usage(1);
}
-
# The fields that will be substituted into <<items.content>>
my @item_content_fields = split(/,/,$itemscontent);
=head1 SYNOPSIS
-overdue_notices.pl [ -n ] [ -library <branchcode> ] [ -library <branchcode>...] [ -max <number of days> ] [ -csv [ <filename> ] ] [ -itemscontent <field list> ]
+overdue_notices.pl
+ [ -n ][ -library <branchcode> ][ -library <branchcode> ... ]
+ [ -max <number of days> ][ -csv [<filename>] ][ -itemscontent <field list> ]
+ [ -email <email_type> ... ]
Options:
-help brief help message
-itemscontent <list of fields> item information in templates
-borcat <categorycode> category code that must be included
-borcatout <categorycode> category code that must be excluded
+ -email <email_type> type of email that will be used. Can be 'email', 'emailpro' or 'B_email'. Repeatable.
=head1 OPTIONS
use it in order to send overdues on a specific date and not Now.
+=item B<-email>
+
+Allows to specify which type of email will be used. Can be email, emailpro or B_email. Repeatable.
+
=back
=head1 DESCRIPTION
my $nomail = 0;
my $MAX = 90;
my @branchcodes; # Branch(es) passed as parameter
+my @emails_to_use; # Emails to use for messaging
+my @emails; # Emails given in command-line parameters
my $csvfilename;
my $htmlfilename;
my $triggered = 0;
'date' => \$date,
'borcat=s' => \@myborcat,
'borcatout=s' => \@myborcatout,
+ 'email=s' => \@emails,
) or pod2usage(2);
pod2usage(1) if $help;
pod2usage( -verbose => 2 ) if $man;
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 :
) = $sth->fetchrow )
{
$verbose and warn "borrower $firstname, $lastname ($borrowernumber) has items triggering level $i.";
+ @emails_to_use = ();
+ if ( !$nomail) {
+ if ( @emails ) {
+ my $memberinfos = C4::Members::GetMember(borrowernumber => $borrowernumber);
+ foreach (@emails) {
+ push @emails_to_use, $memberinfos->{$_}
+ if ($memberinfos->{$_} ne '');
+ }
+ }
+ else {
+ $email =
+ C4::Members::GetFirstValidEmailAddress($borrowernumber);
+ push @emails_to_use, $email if ($email ne '');
+ }
+ }
+
+ my $letter = C4::Letters::getletter( 'circulation', $overdue_rules->{"letter$i"}, $branchcode );
+
+ unless ($letter) {
+ $verbose and warn "Message '$overdue_rules->{letter$i}' content not found";
+
+ # might as well skip while PERIOD, no other borrowers are going to work.
+ # FIXME : Does this mean a letter must be defined in order to trigger a debar ?
+ next PERIOD;
+ }
if ( $overdue_rules->{"debarred$i"} ) {
my $j = 0;
my $exceededPrintNoticesMaxLines = 0;
while ( my $item_info = $sth2->fetchrow_hashref() ) {
- if ( ( !$email || $nomail ) && $PrintNoticesMaxLines && $j >= $PrintNoticesMaxLines ) {
+ if ( ( scalar(@emails_to_use) == 0 || $nomail ) && $PrintNoticesMaxLines && $j >= $PrintNoticesMaxLines ) {
$exceededPrintNoticesMaxLines = 1;
last;
}
}
$sth2->finish;
- my $letter = parse_letter(
+ $letter = parse_letter(
{ letter_code => $overdue_rules->{"letter$i"},
- letter => $letter_template,
borrowernumber => $borrowernumber,
branchcode => $branchcode,
items => \@items,
}
);
} else {
- if ($email) {
+ if (scalar(@emails_to_use) > 0 ) {
C4::Letters::EnqueueLetter(
{ letter => $letter,
borrowernumber => $borrowernumber,
message_transport_type => 'email',
from_address => $admin_email_address,
+ to_address => join(',', @emails_to_use),
}
);
} else {
my $attachment = {
filename => defined $csvfilename ? 'attachment.csv' : 'attachment.txt',
- type => 'text/plain; charset="utf-8"',
+ type => 'text/plain',
content => $content,
};
my $letter = {
- 'content-type' => 'text/plain; charset="utf-8"',
title => 'Overdue Notices',
content => 'These messages were not sent directly to the patrons.',
};
}
my $currency_format;
- if ($params->{'letter'}->{'content'} =~ m/<fine>(.*)<\/fine>/o) { # process any fine tags...
+ if ( defined $params->{'letter'}->{'content'}
+ and $params->{'letter'}->{'content'} =~ m/<fine>(.*)<\/fine>/o )
+ { # process any fine tags...
$currency_format = $1;
- $params->{'letter'}->{'content'} =~ s/<fine>.*<\/fine>/<<items.fine>>/o;
+ $params->{'letter'}->{'content'} =~ s/<fine>.*<\/fine>/<<item.fine>>/o;
}
my @item_tables;
my $item_format = '';
foreach my $item (@$i) {
my $fine = GetFine($item->{'itemnumber'}, $params->{'borrowernumber'});
- if (!$item_format) {
+ if ( !$item_format and defined $params->{'letter'}->{'content'} ) {
$params->{'letter'}->{'content'} =~ m/(<item>.*<\/item>)/;
$item_format = $1;
}
}
}
- return C4::Letters::GetProcessedLetter (
+ return C4::Letters::GetPreparedLetter (
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 },
);
}
lp $optprinter $1/*.pdf;
fi
-tar cvfz $directory`date "+%Y%m%d"`.tar.gz $directory;
+tar cvfz $1`date "+%Y%m%d"`.tar.gz $1;
my $result;
if ($status eq 'ok') { # if authentication is ok
+
+ my $userid = $cgi->param('userid') || '';
+ my $branchcode = $cgi->param('branchcode') || '';
+ my $timestamp = $cgi->param('timestamp') || '';
+ my $action = $cgi->param('action') || '';
+ my $barcode = $cgi->param('barcode') || '';
+ $barcode =~ s/^\s+//;
+ $barcode =~ s/\s+$//;
+ my $cardnumber = $cgi->param('cardnumber') || '';
+ $cardnumber =~ s/^\s+//;
+ $cardnumber =~ s/\s+$//;
+
if ( $cgi->param('pending') eq 'true' ) { # if the 'pending' flag is true, we store the operation in the db instead of directly processing them
$result = AddOfflineOperation(
- $cgi->param('userid') || '',
- $cgi->param('branchcode') || '',
- $cgi->param('timestamp') || '',
- $cgi->param('action') || '',
- $cgi->param('barcode') || '',
- $cgi->param('cardnumber') || '',
+ $userid,
+ $branchcode,
+ $timestamp,
+ $action,
+ $barcode,
+ $cardnumber,
);
} else {
$result = ProcessOfflineOperation(
{
- 'userid' => $cgi->param('userid'),
- 'branchcode' => $cgi->param('branchcode'),
- 'timestamp' => $cgi->param('timestamp'),
- 'action' => $cgi->param('action'),
- 'barcode' => $cgi->param('barcode'),
- 'cardnumber' => $cgi->param('cardnumber'),
+ 'userid' => $userid,
+ 'branchcode' => $branchcode,
+ 'timestamp' => $timestamp,
+ 'action' => $action,
+ 'barcode' => $barcode,
+ 'cardnumber' => $cardnumber,
}
);
}
use List::MoreUtils qw/any none/;
use C4::Images;
use Koha::DateUtils;
+use C4::HTML5Media;
BEGIN {
if (C4::Context->preference('BakerTaylorEnabled')) {
&& (not $itemtypes->{$itm->{'itype'}}->{notforloan} )
&& ($itm->{'itemnumber'} ) );
- if ( defined $itm->{'publictype'} ) {
- # I can't actually find any case in which this is defined. --amoore 2008-12-09
- $itm->{ $itm->{'publictype'} } = 1;
- }
-
# get collection code description, too
my $ccode = $itm->{'ccode'};
$itm->{'ccode'} = $collections->{$ccode} if ( defined($collections) && exists( $collections->{$ccode} ) );
$template->param(OPACLocalCoverImages => 1);
}
+# HTML5 Media
+if ( (C4::Context->preference("HTML5MediaEnabled") eq 'both') or (C4::Context->preference("HTML5MediaEnabled") eq 'opac') ) {
+ $template->param( C4::HTML5Media->gethtml5media($record));
+}
+
my $syndetics_elements;
if ( C4::Context->preference("SyndeticsEnabled") ) {
$template->{VARS}->{localimages} = \@images;
}
+$template->{VARS}->{IDreamBooksReviews} = C4::Context->preference('IDreamBooksReviews');
+$template->{VARS}->{IDreamBooksReadometer} = C4::Context->preference('IDreamBooksReadometer');
+$template->{VARS}->{IDreamBooksResults} = C4::Context->preference('IDreamBooksResults');
+
if (C4::Context->preference('OpacHighlightedWords')) {
$template->{VARS}->{query_desc} = $query->param('query_desc');
}
$biblioLoopIter{holdable} = undef;
$anyholdable = undef;
}
+ if(not C4::Context->preference('AllowHoldsOnPatronsPossessions') and CheckIfIssuedToPatron($borrowernumber,$biblioNum)) {
+ $biblioLoopIter{holdable} = undef;
+ $biblioLoopIter{already_patron_possession} = 1;
+ $anyholdable = undef;
+ }
push @$biblioLoop, \%biblioLoopIter;
}
);
}
-$template->param( DHTMLcalendar_dateformat => C4::Dates->DHTMLcalendar() );
-
output_html_with_http_headers $query, $cookie, $template->output;
debug => 1,
});
-$template->param(dateformat => C4::Context->preference("dateformat"));
-
# If the user is not logged in, we deal with the cookie
if (!$loggedinuser) {
}
# no hits
else {
+ my $nohits = C4::Context->preference('OPACNoResultsFound');
+ if ($nohits and $nohits=~/{QUERY_KW}/){
+ # extracting keywords in case of relaunching search
+ (my $query_kw=$query_desc)=~s/ and|or / /g;
+ $query_kw = Encode::decode_utf8($query_kw);
+ my @query_kw=($query_kw=~ /([-\w]+\b)(?:[^,:]|$)/g);
+ $query_kw=join('+',@query_kw);
+ $nohits=~s/{QUERY_KW}/$query_kw/g;
+ $template->param('OPACNoResultsFound' =>$nohits);
+ }
$template->param(
searchdesc => 1,
query_desc => $query_desc,
}
$template->{VARS}->{DidYouMean} = C4::Context->preference('OPACdidyoumean') =~ m/enable/;
+$template->{VARS}->{IDreamBooksReviews} = C4::Context->preference('IDreamBooksReviews');
+$template->{VARS}->{IDreamBooksReadometer} = C4::Context->preference('IDreamBooksReadometer');
+$template->{VARS}->{IDreamBooksResults} = C4::Context->preference('IDreamBooksResults');
$template->param( borrowernumber => $borrowernumber);
output_with_http_headers $cgi, $cookie, $template->output, $content_type;
my $needed_flags = shift;
my %cookies = fetch CGI::Cookie;
my $input = CGI->new;
- my $sessid = $cookies{'CGISESSID'}->value || $input->param('CGISESSID');
+ my $sessid = $cookies{'CGISESSID'}->value;
my ($auth_status, $auth_sessid) = check_cookie_auth($sessid, $needed_flags);
$debug and
print STDERR "($auth_status, $auth_sessid) = check_cookie_auth($sessid," . Dumper($needed_flags) . ")\n";
}
}
-$template->param(tagsview => 1,
-dateformat => C4::Context->preference("dateformat"));
+$template->param(tagsview => 1);
if ($add_op) {
my $adds = 0;
$template->param(
itemtypeloop =>\@itemtypesloop,
- dateformat => C4::Context->preference("dateformat"),
);
output_html_with_http_headers $input, $cookie, $template->output;
$bordat[0] = $borr;
# Warningdate is the date that the warning starts appearing
-if ( $borr->{dateexpiry} && C4::Context->preference('NotifyBorrowerDeparture') &&
- Date_to_Days(Add_Delta_Days($warning_year,$warning_month,$warning_day,- C4::Context->preference('NotifyBorrowerDeparture'))) <
- Date_to_Days( $today_year, $today_month, $today_day ) )
-{
- # borrower card soon to expire, warn the borrower
- $borr->{'warndeparture'} = $borr->{dateexpiry};
- if (C4::Context->preference('ReturnBeforeExpiry')){
- $borr->{'returnbeforeexpiry'} = 1;
- }
+if ( $borr->{dateexpiry} && Date_to_Days( $today_year, $today_month, $today_day ) > Date_to_Days( $warning_year, $warning_month, $warning_day ) ) {
+ $borr->{'warnexpired'} = 1;
+}
+elsif ( $borr->{dateexpiry} && C4::Context->preference('NotifyBorrowerDeparture') &&
+ Date_to_Days(Add_Delta_Days($warning_year, $warning_month, $warning_day,- C4::Context->preference('NotifyBorrowerDeparture'))) <
+ Date_to_Days( $today_year, $today_month, $today_day ) ) {
+ # borrower card soon to expire, warn the borrower
+ $borr->{'warndeparture'} = $borr->{dateexpiry};
+ if (C4::Context->preference('ReturnBeforeExpiry')){
+ $borr->{'returnbeforeexpiry'} = 1;
+ }
}
+
$template->param( BORROWER_INFO => \@bordat,
borrowernumber => $borrowernumber,
patron_flagged => $borr->{flagged},
OPACMySummaryHTML => (C4::Context->preference("OPACMySummaryHTML")) ? 1 : 0,
surname => $borr->{surname},
showname => $borr->{showname},
-
);
#get issued items ....
}
$issue->{'charges'} = $charges;
- # get publictype for icon
-
- my $publictype = $issue->{'publictype'};
- $issue->{$publictype} = 1;
-
# check if item is renewable
my ($status,$renewerror) = CanBookBeRenewed( $borrowernumber, $issue->{'itemnumber'} );
($issue->{'renewcount'},$issue->{'renewsallowed'},$issue->{'renewsleft'}) = GetRenewCount($borrowernumber, $issue->{'itemnumber'});
$res->{'expirationdate'} = '';
}
- my $publictype = $res->{'publictype'};
- $res->{$publictype} = 1;
$res->{'waiting'} = 1 if $res->{'found'} eq 'W';
$res->{'branch'} = $branches->{ $res->{'branchcode'} }->{'branchname'};
my $biblioData = GetBiblioData($res->{'biblionumber'});
patronupdate => $patronupdate,
OpacRenewalAllowed => C4::Context->preference("OpacRenewalAllowed"),
userview => 1,
- dateformat => C4::Context->preference("dateformat"),
);
-$template->param( DHTMLcalendar_dateformat => C4::Dates->DHTMLcalendar() );
$template->param(
SuspendHoldsOpac => C4::Context->preference('SuspendHoldsOpac'),
AutoResumeSuspendedHolds => C4::Context->preference('AutoResumeSuspendedHolds'),
$template->param(SelfCheckHelpMessage => C4::Context->preference('SelfCheckHelpMessage'));
}
+$template->param(
+ SCOUserJS => C4::Context->preference('SCOUserJS'),
+ SCOUserCSS => C4::Context->preference('SCOUserCSS'),
+);
+
output_html_with_http_headers $query, $cookie, $template->output;
my $issuerid = $loggedinuser;
-my ($op, $patronid, $patronlogin, $patronpw, $barcode, $confirmed, $timedout) = (
+my ($op, $patronid, $patronlogin, $patronpw, $barcode, $confirmed) = (
$query->param("op") || '',
$query->param("patronid") || '',
$query->param("patronlogin")|| '',
$query->param("patronpw") || '',
$query->param("barcode") || '',
$query->param("confirmed") || '',
- $query->param("timedout") || '', #not actually using this...
);
my $issuenoconfirm = 1; #don't need to confirm on issue.
$template->param(
inputfocus => $inputfocus,
nofines => 1,
- "dateformat_" . C4::Context->preference('dateformat') => 1,
+
);
if (C4::Context->preference('ShowPatronImageInWebBasedSelfCheck')) {
my ($image, $dberror) = GetPatronImage($borrower->{cardnumber});
);
}
+$template->param(
+ SCOUserJS => C4::Context->preference('SCOUserJS'),
+ SCOUserCSS => C4::Context->preference('SCOUserCSS'),
+);
+
output_html_with_http_headers $query, $cookie, $template->output;
our $sep = $input->param("sep") // '';
$sep = "\t" if ($sep eq 'tabulation');
+
$template->param(
do_it => $do_it,
- DHTMLcalendar_dateformat => C4::Dates->DHTMLcalendar(),
);
+
if ($do_it) {
my $results =
calculate( $line, $column, $podsp, $rodsp, $calc, \@filters );
our $sep = $input->param("sep");
$sep = "\t" if ($sep eq 'tabulation');
$template->param(do_it => $do_it,
- DHTMLcalendar_dateformat => C4::Dates->DHTMLcalendar(),
);
if ($do_it) {
# Displaying results
debug => 1,
});
$template->param(do_it => $do_it,
- DHTMLcalendar_dateformat => C4::Dates->DHTMLcalendar(),
);
if ($do_it) {
# Displaying results
# 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; FIXME - Bug 2505
+use Modern::Perl;
use CGI;
+use List::MoreUtils qw/uniq/;
+
use C4::Auth;
use C4::Context;
use C4::Branch; # GetBranches
use C4::Output;
use C4::Reports;
use C4::Circulation;
+use C4::Members::AttributeTypes;
use C4::Dates qw/format_date format_date_in_iso/;
use Date::Calc qw(
Today
$filters[3]=format_date_in_iso($filters[3]);
$filters[4]=format_date_in_iso($filters[4]);
my $digits = $input->param("digits");
-my $period = $input->param("period");
+our $period = $input->param("period");
my $borstat = $input->param("status");
my $borstat1 = $input->param("activity");
my $output = $input->param("output");
my $basename = $input->param("basename");
our $sep = $input->param("sep");
-$sep = "\t" if ($sep eq 'tabulation');
+$sep = "\t" if ($sep and $sep eq 'tabulation');
my $selected_branch; # = $input->param("?");
our $branches = GetBranches;
});
$template->param(do_it => $do_it);
if ($do_it) {
- my $results = calculate($line, $column, $digits, $borstat,$borstat1 ,\@filters);
+ my $attributes;
+ if (C4::Context->preference('ExtendedPatronAttributes')) {
+ $attributes = parse_extended_patron_attributes($input);
+ }
+ my $results = calculate($line, $column, $digits, $borstat,$borstat1 ,\@filters, $attributes);
if ($output eq "screen"){
$template->param(mainloop => $results);
output_html_with_http_headers $input, $cookie, $template->output;
$template->param(
CGIextChoice => $CGIextChoice,
CGIsepChoice => $CGIsepChoice,
- DHTMLcalendar_dateformat => C4::Dates->DHTMLcalendar(),
);
-
+ if (C4::Context->preference('ExtendedPatronAttributes')) {
+ $template->param(ExtendedPatronAttributes => 1);
+ patron_attributes_form($template);
+ }
}
output_html_with_http_headers $input, $cookie, $template->output;
}
sub calculate {
- my ($line, $column, $digits, $status, $activity, $filters) = @_;
+ my ($line, $column, $digits, $status, $activity, $filters, $attr_filters) = @_;
+
my @mainloop;
my @loopfooter;
my @loopcol;
# extract parameters
my $dbh = C4::Context->dbh;
-# Filters
- my $linefilter = "";
-# warn "filtres ".@filters[0];
-# warn "filtres ".@filters[4];
-# warn "filtres ".@filters[5];
-# warn "filtres ".@filters[6];
-
- $linefilter = @$filters[0] if ($line =~ /categorycode/ ) ;
- $linefilter = @$filters[1] if ($line =~ /zipcode/ ) ;
- $linefilter = @$filters[2] if ($line =~ /branchcode/ ) ;
- $linefilter = @$filters[5] if ($line =~ /sex/);
- $linefilter = @$filters[6] if ($line =~ /sort1/ ) ;
- $linefilter = @$filters[7] if ($line =~ /sort2/ ) ;
-#
- my $colfilter = "";
- $colfilter = @$filters[0] if ($column =~ /categorycode/);
- $colfilter = @$filters[1] if ($column =~ /zipcode/);
- $colfilter = @$filters[2] if ($column =~ /branchcode/);
- $colfilter = @$filters[5] if ($column =~ /sex/);
- $colfilter = @$filters[6] if ($column =~ /sort1/);
- $colfilter = @$filters[7] if ($column =~ /sort2/);
-
- my @loopfilter;
- for (my $i=0;$i<=7;$i++) {
- my %cell;
- if ( @$filters[$i] ) {
- if($i == 3 or $i == 4){
- $cell{filter} .= format_date(@$filters[$i]);
- }else{
- $cell{filter} .= @$filters[$i];
- }
-
- $cell{crit} .="Cat Code " if ($i==0);
- $cell{crit} .="Zip Code" if ($i==1);
- $cell{crit} .="Branchcode" if ($i==2);
- $cell{crit} .="Date of Birth" if ($i==3);
- $cell{crit} .="Date of Birth" if ($i==4);
- $cell{crit} .="Sex" if ($i==5);
- $cell{crit} .="Sort1" if ($i==6);
- $cell{crit} .="Sort2" if ($i==7);
- push @loopfilter, \%cell;
- }
- }
+ # check parameters
+ my @valid_names = qw(categorycode zipcode branchcode sex sort1 sort2);
+ my @attribute_types = C4::Members::AttributeTypes::GetAttributeTypes;
+ if ($line =~ /^patron_attr\.(.*)/) {
+ my $attribute_type = $1;
+ return unless (grep {$attribute_type eq $_->{code}} @attribute_types);
+ } else {
+ return unless (grep /^$line$/, @valid_names);
+ }
+ if ($column =~ /^patron_attr\.(.*)/) {
+ my $attribute_type = $1;
+ return unless (grep {$attribute_type eq $_->{code}} @attribute_types);
+ } else {
+ return unless (grep /^$column$/, @valid_names);
+ }
+ return if ($digits and $digits !~ /^\d+$/);
+ return if ($status and (grep /^$status$/, qw(debarred gonenoaddress lost)) == 0);
+ return if ($activity and (grep /^$activity$/, qw(active nonactive)) == 0);
+
+ # Filters
+ my $linefilter;
+ given ($line) {
+ when (/categorycode/) { $linefilter = @$filters[0] }
+ when (/zipcode/) { $linefilter = @$filters[1] }
+ when (/branchcode/) { $linefilter = @$filters[2] }
+ when (/sex/) { $linefilter = @$filters[5] }
+ when (/sort1/) { $linefilter = @$filters[6] }
+ when (/sort2/) { $linefilter = @$filters[7] }
+ when (/^patron_attr\.(.*)$/) { $linefilter = $attr_filters->{$1} }
+ default { $linefilter = '' }
+ }
+
+ my $colfilter;
+ given ($column) {
+ when (/categorycode/) { $colfilter = @$filters[0] }
+ when (/zipcode/) { $colfilter = @$filters[1] }
+ when (/branchcode/) { $colfilter = @$filters[2] }
+ when (/sex/) { $colfilter = @$filters[5] }
+ when (/sort1/) { $colfilter = @$filters[6] }
+ when (/sort2/) { $colfilter = @$filters[7] }
+ when (/^patron_attr\.(.*)$/) { $colfilter = $attr_filters->{$1} }
+ default { $colfilter = '' }
+ }
+
+ my @loopfilter;
+ foreach my $i (0 .. scalar @$filters) {
+ my %cell;
+ if ( @$filters[$i] ) {
+ if ($i == 3 or $i == 4) {
+ $cell{filter} = format_date(@$filters[$i]);
+ } else {
+ $cell{filter} = @$filters[$i];
+ }
+
+ given ($i) {
+ when (0) { $cell{crit} = "Cat code" }
+ when (1) { $cell{crit} = "Zip code" }
+ when (2) { $cell{crit} = "Branch code" }
+ when ([3,4]) { $cell{crit} = "Date of birth" }
+ when (5) { $cell{crit} = "Sex" }
+ when (6) { $cell{crit} = "Sort1" }
+ when (7) { $cell{crit} = "Sort2" }
+ default { $cell{crit} = "Unknown" }
+ }
+ push @loopfilter, \%cell;
+ }
+ }
+ foreach my $type (keys %$attr_filters) {
+ if($attr_filters->{$type}) {
+ push @loopfilter, {
+ crit => "Attribute $type",
+ filter => $attr_filters->{$type}
+ }
+ }
+ }
+
($status ) and push @loopfilter,{crit=>"Status", filter=>$status };
($activity) and push @loopfilter,{crit=>"Activity",filter=>$activity};
push @loopfilter,{debug=>1, crit=>"Branches",filter=>join(" ", sort keys %$branches)};
my $newperioddate=$period_year."-".$period_month."-".$period_day;
# 1st, loop rows.
my $linefield;
- if (($line =~/zipcode/) and ($digits)) {
- $linefield .="left($line,$digits)";
- } else{
- $linefield .= $line;
- }
+
+ my $line_attribute_type;
+ if ($line =~/^patron_attr\.(.*)$/) {
+ $line_attribute_type = $1;
+ $line = 'borrower_attributes.attribute';
+ }
+
+ if (($line =~/zipcode/) and ($digits)) {
+ $linefield = "left($line,$digits)";
+ } else {
+ $linefield = $line;
+ }
my %cathash = ($line eq 'categorycode' or $column eq 'categorycode') ? &catcodes_hash : ();
push @loopfilter, {debug=>1, crit=>"\%cathash", filter=>join(", ", map {$cathash{$_}} sort keys %cathash)};
- my $strsth = "SELECT distinctrow $linefield FROM borrowers WHERE $line IS NOT NULL ";
+ my $strsth;
+ my @strparams; # bind parameters for the query
+ if ($line_attribute_type) {
+ $strsth = "SELECT distinct attribute FROM borrower_attributes
+ WHERE attribute IS NOT NULL AND code=?";
+ push @strparams, $line_attribute_type;
+ } else {
+ $strsth = "SELECT distinctrow $linefield FROM borrowers
+ WHERE $line IS NOT NULL ";
+ }
+
$linefilter =~ s/\*/%/g;
if ( $linefilter ) {
$strsth .= " AND $linefield LIKE ? " ;
+ push @strparams, $linefilter;
}
$strsth .= " AND $status='1' " if ($status);
- $strsth .=" order by $linefield";
+ $strsth .=" order by $linefield";
push @loopfilter, {sql=>1, crit=>"Query", filter=>$strsth};
my $sth = $dbh->prepare($strsth);
- if ( $linefilter ) {
- $sth->execute($linefilter);
- } else {
- $sth->execute;
- }
+ $sth->execute(@strparams);
while (my ($celvalue) = $sth->fetchrow) {
my %cell;
if ($celvalue) {
# 2nd, loop cols.
my $colfield;
- if (($column =~/zipcode/) and ($digits)) {
- $colfield = "left($column,$digits)";
- } else {
- $colfield = $column;
- }
- my $strsth2 = "select distinctrow $colfield from borrowers where $column is not null";
+
+ my $column_attribute_type;
+ if ($column =~/^patron_attr.(.*)$/) {
+ $column_attribute_type = $1;
+ $column = 'borrower_attributes.attribute';
+ }
+
+ if (($column =~/zipcode/) and ($digits)) {
+ $colfield = "left($column,$digits)";
+ } else {
+ $colfield = $column;
+ }
+
+ my $strsth2;
+ my @strparams2; # bind parameters for the query
+ if ($column_attribute_type) {
+ $strsth2 = "SELECT DISTINCT attribute FROM borrower_attributes
+ WHERE attribute IS NOT NULL AND code=?";
+ push @strparams2, $column_attribute_type;
+ } else {
+ $strsth2 = "SELECT DISTINCTROW $colfield FROM borrowers
+ WHERE $column IS NOT NULL";
+ }
+
if ($colfilter) {
$colfilter =~ s/\*/%/g;
$strsth2 .= " AND $colfield LIKE ? ";
+ push @strparams2, $colfield;
}
$strsth2 .= " AND $status='1' " if ($status);
- $strsth2 .= " order by $colfield";
+
+ $strsth2 .= " order by $colfield";
push @loopfilter, {sql=>1, crit=>"Query", filter=>$strsth2};
my $sth2 = $dbh->prepare($strsth2);
- if ($colfilter) {
- $sth2->execute($colfilter);
- } else {
- $sth2->execute;
- }
+ $sth2->execute(@strparams2);
while (my ($celvalue) = $sth2->fetchrow) {
my %cell;
- if ($celvalue) {
+ if (defined $celvalue) {
$cell{coltitle} = $celvalue;
# $cell{coltitle_display} = ($colfield eq 'branchcode') ? $branches->{$celvalue}->{branchname} : $celvalue;
$cell{coltitle_display} = $cathash{$celvalue} if ($column eq 'categorycode');
# warn "init table";
foreach my $row (@loopline) {
foreach my $col ( @loopcol ) {
-# warn " init table : $row->{rowtitle} / $col->{coltitle} ";
- $table{$row->{rowtitle}}->{$col->{coltitle}}=0;
+ my $rowtitle = $row->{rowtitle} // '';
+ my $coltitle = $row->{coltitle} // '';
+ $table{$rowtitle}->{$coltitle} = 0;
}
+ $row->{rowtitle} ||= '';
$table{$row->{rowtitle}}->{totalrow}=0;
$table{$row->{rowtitle}}->{rowtitle_display} = $row->{rowtitle_display};
}
-# preparing calculation
- my $strcalc .= "SELECT $linefield, $colfield, count( * ) FROM borrowers WHERE 1 ";
+ # preparing calculation
+ my $strcalc;
+ my @calcparams;
+ $strcalc = "SELECT ";
+ if ($line_attribute_type) {
+ $strcalc .= " attribute_$line_attribute_type.attribute AS line_attribute, ";
+ } else {
+ $strcalc .= " $linefield, ";
+ }
+ if ($column_attribute_type) {
+ $strcalc .= " attribute_$column_attribute_type.attribute AS column_attribute, ";
+ } else {
+ $strcalc .= " $colfield, ";
+ }
+
+ $strcalc .= " COUNT(*) FROM borrowers ";
+ foreach my $type (keys %$attr_filters) {
+ if (
+ ($line_attribute_type and $line_attribute_type eq $type)
+ or ($column_attribute_type and $column_attribute_type eq $type)
+ or ($attr_filters->{$type})
+ ) {
+ $strcalc .= " LEFT JOIN borrower_attributes AS attribute_$type
+ ON (borrowers.borrowernumber = attribute_$type.borrowernumber
+ AND attribute_$type.code = " . $dbh->quote($type) . ") ";
+ }
+ }
+ $strcalc .= " WHERE 1 ";
+
@$filters[0]=~ s/\*/%/g if (@$filters[0]);
$strcalc .= " AND categorycode like '" . @$filters[0] ."'" if ( @$filters[0] );
@$filters[1]=~ s/\*/%/g if (@$filters[1]);
$strcalc .= " AND sort1 like '" . @$filters[6] ."'" if ( @$filters[6] );
@$filters[7]=~ s/\*/%/g if (@$filters[7]);
$strcalc .= " AND sort2 like '" . @$filters[7] ."'" if ( @$filters[7] );
+
+ foreach my $type (keys %$attr_filters) {
+ if($attr_filters->{$type}) {
+ my $filter = $attr_filters->{$type};
+ $filter =~ s/\*/%/g;
+ $strcalc .= " AND attribute_$type.attribute LIKE '" . $filter . "' ";
+ }
+ }
$strcalc .= " AND borrowernumber in (select distinct(borrowernumber) from old_issues where issuedate > '" . $newperioddate . "')" if ($activity eq 'active');
$strcalc .= " AND borrowernumber not in (select distinct(borrowernumber) from old_issues where issuedate > '" . $newperioddate . "')" if ($activity eq 'nonactive');
$strcalc .= " AND $status='1' " if ($status);
- $strcalc .= " group by $linefield, $colfield";
+
+ $strcalc .= " GROUP BY ";
+ if ($line_attribute_type) {
+ $strcalc .= " line_attribute, ";
+ } else {
+ $strcalc .= " $linefield, ";
+ }
+ if ($column_attribute_type) {
+ $strcalc .= " column_attribute ";
+ } else {
+ $strcalc .= " $colfield ";
+ }
+
push @loopfilter, {sql=>1, crit=>"Query", filter=>$strcalc};
my $dbcalc = $dbh->prepare($strcalc);
- $dbcalc->execute;
+ (scalar(@calcparams)) ? $dbcalc->execute(@calcparams) : $dbcalc->execute();
my $emptycol;
while (my ($row, $col, $value) = $dbcalc->fetchrow) {
#@loopcol ensures the order for columns is common with column titles
# and the number matches the number of columns
foreach my $col ( @loopcol ) {
- my $value =$table{$row}->{($col->{coltitle} eq "NULL")?"zzEMPTY":$col->{coltitle}};
+ my $coltitle = $col->{coltitle} // '';
+ $coltitle = $coltitle eq "NULL" ? "zzEMPTY" : $coltitle;
+ my $value =$table{$row}->{$coltitle};
push @loopcell, {value => $value};
}
push @looprow,{
'rowtitle' => ($row eq "zzEMPTY")?"NULL":$row,
- 'rowtitle_display' => $table{$row}->{rowtitle_display} || $row,
+ 'rowtitle_display' => $table{$row}->{rowtitle_display} || ($row eq "zzEMPTY" ? "NULL" : $row),
'loopcell' => \@loopcell,
'totalrow' => $table{$row}->{totalrow}
};
foreach my $col ( @loopcol ) {
my $total=0;
foreach my $row ( @looprow ) {
- $total += $table{($row->{rowtitle} eq "NULL")?"zzEMPTY":$row->{rowtitle}}->{($col->{coltitle} eq "NULL")?"zzEMPTY":$col->{coltitle}};
+ my $rowtitle = $row->{rowtitle} // '';
+ $rowtitle = ($rowtitle eq "NULL") ? "zzEMPTY" : $rowtitle;
+ my $coltitle = $col->{coltitle} // '';
+ $coltitle = ($coltitle eq "NULL") ? "zzEMPTY" : $coltitle;
+
+ $total += $table{$rowtitle}->{$coltitle} || 0;
# warn "value added ".$table{$row->{rowtitle}}->{$col->{coltitle}}. "for line ".$row->{rowtitle};
}
# warn "summ for column ".$col->{coltitle}." = ".$total;
# # the foot (totals by borrower type)
$globalline{loopfooter} = \@loopfooter;
$globalline{total}= $grantotal;
- $globalline{line} = $line;
- $globalline{column} = $column;
+ $globalline{line} = ($line_attribute_type) ? $line_attribute_type : $line;
+ $globalline{column} = ($column_attribute_type) ? $column_attribute_type : $column;
push @mainloop,\%globalline;
return \@mainloop;
}
+sub parse_extended_patron_attributes {
+ my ($input) = @_;
+
+ my @params_names = $input->param;
+ my %attr;
+ foreach my $name (@params_names) {
+ if ($name =~ /^Filter_patron_attr\.(.*)$/) {
+ my $code = $1;
+ my $value = $input->param($name);
+ $attr{$code} = $value;
+ }
+ }
+
+ return \%attr;
+}
+
+
+sub patron_attributes_form {
+ my $template = shift;
+
+ my @types = C4::Members::AttributeTypes::GetAttributeTypes();
+
+ my %items_by_class;
+ foreach my $type (@types) {
+ my $attr_type = C4::Members::AttributeTypes->fetch($type->{code});
+ my $entry = {
+ class => $attr_type->class(),
+ code => $attr_type->code(),
+ description => $attr_type->description(),
+ repeatable => $attr_type->repeatable(),
+ category => $attr_type->authorised_value_category(),
+ category_code => $attr_type->category_code(),
+ };
+
+ my $newentry = { %$entry };
+ if ($attr_type->authorised_value_category()) {
+ $newentry->{use_dropdown} = 1;
+ $newentry->{auth_val_loop} = GetAuthorisedValues(
+ $attr_type->authorised_value_category()
+ );
+ }
+ push @{ $items_by_class{ $attr_type->class() } }, $newentry;
+ }
+
+ my @attribute_loop;
+ foreach my $class ( sort keys %items_by_class ) {
+ my $lib = GetAuthorisedValueByCode( 'PA_CLASS', $class ) || $class;
+ push @attribute_loop, {
+ class => $class,
+ items => $items_by_class{$class},
+ lib => $lib,
+ };
+ }
+
+ $template->param(patron_attributes => \@attribute_loop);
+
+}
our $sep = $input->param("sep");
$sep = "\t" if ($sep eq 'tabulation');
$template->param(do_it => $do_it,
- DHTMLcalendar_dateformat => C4::Dates->DHTMLcalendar(),
);
if ($do_it) {
# Displaying results
'definition_description' => $definition_description,
'columns' => \@column_loop,
'columnstring' => $columnstring,
- 'DHTMLcalendar_dateformat' => C4::Dates->DHTMLcalendar(),
);
}
elsif ($phase eq 'Run this report'){
# execute a saved report
- my $limit = 20; # page size. # TODO: move to DB or syspref?
+ my $limit = $input->param('limit') || 20;
my $offset = 0;
my $report_id = $input->param('reports');
my @sql_params = $input->param('sql_params');
$offset = ($input->param('page') - 1) * $limit;
}
+ $template->param(
+ 'limit' => $limit,
+ 'report_id' => $report_id,
+ );
+
my ( $sql, $type, $name, $notes );
if (my $report = get_saved_report($report_id)) {
$sql = $report->{savedsql};
}
my $totpages = int($total/$limit) + (($total % $limit) > 0 ? 1 : 0);
- my $url = "/cgi-bin/koha/reports/guided_reports.pl?reports=$report_id&phase=Run%20this%20report";
+ my $url = "/cgi-bin/koha/reports/guided_reports.pl?reports=$report_id&phase=Run%20this%20report&limit=$limit";
if (@sql_params) {
$url = join('&sql_params=', $url, map { URI::Escape::uri_escape($_) } @sql_params);
}
$template->{VARS}->{'build' . $_} and $template->{VARS}->{'buildx' . $_} and last;
}
$template->param( 'referer' => $input->referer(),
- 'DHTMLcalendar_dateformat' => C4::Dates->DHTMLcalendar(),
);
output_html_with_http_headers $input, $cookie, $template->output;
our $sep = $input->param("sep");
$sep = "\t" if ($sep eq 'tabulation');
$template->param(do_it => $do_it,
- DHTMLcalendar_dateformat => C4::Dates->DHTMLcalendar(),
);
if ($do_it) {
# Displaying results
our $sep = $input->param("sep");
$sep = "\t" if ($sep eq 'tabulation');
$template->param(do_it => $do_it,
- DHTMLcalendar_dateformat => C4::Dates->DHTMLcalendar(),
);
my $itemtypes = GetItemTypes();
our $sep = $input->param("sep") || '';
$sep = "\t" if ($sep eq 'tabulation');
$template->param(do_it => $do_it,
- DHTMLcalendar_dateformat => C4::Dates->DHTMLcalendar(),
);
my $itemtypes = GetItemTypes();
totalwritten => $totalwritten,
totalrefund => $totalrefunds,
totalcash => $totalcash,
- DHTMLcalendar_dateformat => C4::Dates->DHTMLcalendar(),
);
output_html_with_http_headers $input, $cookie, $template->output;
}
my $dat = GetBiblioData($biblionumber);
unless ( CanBookBeReserved($borrowerinfo->{borrowernumber}, $biblionumber) ) {
- $warnings = 1;
+ $warnings = 1;
$maxreserves = 1;
}
+
+ my $alreadypossession;
+ if (not C4::Context->preference('AllowHoldsOnPatronsPossessions') and CheckIfIssuedToPatron($borrowerinfo->{borrowernumber},$biblionumber)) {
+ $warnings = 1;
+ $alreadypossession = 1;
+ }
+
# get existing reserves .....
my ( $count, $reserves ) = GetReservesFromBiblionumber($biblionumber,1);
my $totalcount = $count;
$template->param( alreadyreserved => $alreadyreserved,
messages => $messages,
warnings => $warnings,
- maxreserves=>$maxreserves
+ maxreserves=>$maxreserves,
+ alreadypossession => $alreadypossession,
);
$template->param( biblioloop => \@biblioloop );
$template->param( biblionumbers => $biblionumbers );
-$template->param( DHTMLcalendar_dateformat => C4::Dates->DHTMLcalendar() );
if ($multihold) {
$template->param( multi_hold => 1 );
);
}
$template->param (
- DHTMLcalendar_dateformat => C4::Dates->DHTMLcalendar(),
(uc(C4::Context->preference("marcflavour"))) => 1
);
output_html_with_http_headers $query, $cookie, $template->output;
claimletter => $claimletter,
supplierloop => \@supplierinfo,
branchloop => $branchloop,
- dateformat => C4::Context->preference("dateformat"),
- DHTMLcalendar_dateformat => C4::Dates->DHTMLcalendar(),
(uc(C4::Context->preference("marcflavour"))) => 1
);
output_html_with_http_headers $input, $cookie, $template->output;
my $locations_loop = GetAuthorisedValues("LOC",$subs->{'location'});
$template->param(branchloop => $branchloop,
- DHTMLcalendar_dateformat => C4::Dates->DHTMLcalendar(),
locations_loop=>$locations_loop,
);
# prepare template variables common to all $op conditions:
-$template->param( 'dateformat_' . C4::Context->preference('dateformat') => 1 );
if ($op!~/^mod/) {
letter_loop(q{}, $template);
}
$displayby||="STATUS";
delete $$suggestion_ref{'branchcode'} if($displayby eq "branchcode");
+ # distinct values of display by
my $criteria_list=GetDistinctValues("suggestions.".$displayby);
+ my (@criteria_dv, $criteria_has_empty);
+ foreach (@$criteria_list) {
+ if ($_->{value}) {
+ push @criteria_dv, $_->{value};
+ } else {
+ $criteria_has_empty = 1;
+ }
+ }
+ # agregate null and empty values under empty value
+ push @criteria_dv, '' if $criteria_has_empty;
+
my @allsuggestions;
my $reasonsloop = GetAuthorisedValues("SUGGEST");
- foreach my $criteriumvalue ( map { $$_{'value'} } @$criteria_list ) {
+ foreach my $criteriumvalue ( @criteria_dv ) {
# By default, display suggestions from current working branch
if(not defined $branchfilter) {
$$suggestion_ref{'branchcode'} = C4::Context->userenv->{'branch'};
$template->param(
%$suggestion_ref,
"op_$op" => 1,
- dateformat => C4::Context->preference("dateformat"),
"op" =>$op,
);
total => sprintf("%.2f", $$suggestion_ref{'total'}||0),
);
+# lists of distinct values (without empty) for filters
my %hashlists;
foreach my $field ( qw(managedby acceptedby suggestedby budgetid) ) {
my $values_list;
$values_list = GetDistinctValues( "suggestions." . $field );
my @codes_list = map {
{ 'code' => $$_{'value'},
- 'desc' => GetCriteriumDesc( $$_{'value'}, $field ),
+ 'desc' => GetCriteriumDesc( $$_{'value'}, $field ) || $$_{'value'},
'selected' => ($$suggestion_ref{$field}) ? $$_{'value'} eq $$suggestion_ref{$field} : 0,
}
+ } grep {
+ $$_{'value'}
} @$values_list;
$hashlists{ lc($field) . "_loop" } = \@codes_list;
}
$template->param(%hashlists);
-$template->param(DHTMLcalendar_dateformat => C4::Dates->DHTMLcalendar(),);
output_html_with_http_headers $input, $cookie, $template->output;
$m =~ s{^.*/C4/}{C4/};
$m =~ s{/}{::}g;
return if $m =~ /Auth_with_ldap/; # Dont test this, it will fail on use
- return if $m =~ /Cache/; # Cache modules are a WIP, add the tests back when we are using them more
return if $m =~ /SIP/; # SIP modules will not load clean
return if $m =~ /C4::VirtualShelves$/; # Requires a DB
return if $m =~ /C4::Auth$/; # DB
return if $m =~ /C4::Auth_with_cas/; # DB
return if $m =~ /C4::BackgroundJob/; # DB
return if $m =~ /C4::UploadedFile/; # DB
- return if $m =~ /C4::Record/; # DB
return if $m =~ /C4::Reports::Guided/; # DB
- return if $m =~ /C4::Serials/; # DB
return if $m =~ /C4::VirtualShelves::Page/; # DB
return if $m =~ /C4::Members::Statistics/; # DB
use_ok($m) || BAIL_OUT("***** PROBLEMS LOADING FILE '$m'");
use warnings;
use DateTime;
use DateTime::Duration;
-use Test::More tests => 26;
+use Test::More tests => 35;
+use Test::MockModule;
+use DBD::Mock;
use Koha::DateUtils;
BEGIN {
use_ok('C4::Calendar');
}
-my $cal = Koha::Calendar->new( TEST_MODE => 1 );
+my $module_context = new Test::MockModule('C4::Context');
+$module_context->mock(
+ '_new_dbh',
+ sub {
+ my $dbh = DBI->connect( 'DBI:Mock:', '', '' )
+ || die "Cannot create handle: $DBI::errstr\n";
+ return $dbh;
+ }
+);
+
+# We need to mock the C4::Context->preference method for
+# simplicity and re-usability of the session definition. Any
+# syspref fits for syspref-agnostic tests.
+$module_context->mock(
+ 'preference',
+ sub {
+ return 'Calendar';
+ }
+);
+
+SKIP: {
+
+skip "DBD::Mock is too old", 33
+ unless $DBD::Mock::VERSION >= 1.45;
+
+my $holidays_session = DBD::Mock::Session->new('holidays_session' => (
+ { # weekly holidays
+ statement => "SELECT weekday FROM repeatable_holidays WHERE branchcode = ? AND weekday IS NOT NULL",
+ results => [
+ ['weekday'],
+ [0], # sundays
+ [6] # saturdays
+ ]
+ },
+ { # day and month repeatable holidays
+ statement => "SELECT day, month FROM repeatable_holidays WHERE branchcode = ? AND weekday IS NULL",
+ results => [
+ [ 'month', 'day' ],
+ [ 1, 1 ], # new year's day
+ [12,25] # christmas
+ ]
+ },
+ { # exception holidays
+ statement => "SELECT day, month, year FROM special_holidays WHERE branchcode = ? AND isexception = 1",
+ results => [
+ [ 'day', 'month', 'year' ],
+ [ 11, 11, 2012 ] # sunday exception
+ ]
+ },
+ { # single holidays
+ statement => "SELECT day, month, year FROM special_holidays WHERE branchcode = ? AND isexception = 0",
+ results => [
+ [ 'day', 'month', 'year' ],
+ [ 1, 6, 2011 ], # single holiday
+ [ 4, 7, 2012 ]
+ ]
+ }
+));
+
+# Initialize the global $dbh variable
+my $dbh = C4::Context->dbh();
+# Apply the mock session
+$dbh->{ mock_session } = $holidays_session;
+# 'MPL' branch is arbitrary, is not used at all but is needed for initialization
+my $cal = Koha::Calendar->new( branchcode => 'MPL' );
isa_ok( $cal, 'Koha::Calendar', 'Calendar class returned' );
+
my $saturday = DateTime->new(
- year => 2011,
- month => 6,
- day => 25,
- time_zone => 'Europe/London',
+ year => 2012,
+ month => 11,
+ day => 24,
);
+
my $sunday = DateTime->new(
- year => 2011,
- month => 6,
- day => 26,
- time_zone => 'Europe/London',
+ year => 2012,
+ month => 11,
+ day => 25,
);
+
my $monday = DateTime->new(
- year => 2011,
- month => 6,
- day => 27,
- time_zone => 'Europe/London',
+ year => 2012,
+ month => 11,
+ day => 26,
);
-my $bloomsday = DateTime->new(
- year => 2011,
- month => 6,
- day => 16,
- time_zone => 'Europe/London',
-); # should be a holiday
-my $special = DateTime->new(
+
+my $new_year = DateTime->new(
+ year => 2013,
+ month => 1,
+ day => 1,
+);
+
+my $single_holiday = DateTime->new(
year => 2011,
month => 6,
day => 1,
- time_zone => 'Europe/London',
); # should be a holiday
+
my $notspecial = DateTime->new(
year => 2011,
month => 6,
- day => 2,
- time_zone => 'Europe/London',
+ day => 2
); # should NOT be a holiday
-is( $cal->is_holiday($sunday), 1, 'Sunday is a closed day' ); # wee free test;
-is( $cal->is_holiday($monday), 0, 'Monday is not a closed day' ); # alas
-is( $cal->is_holiday($bloomsday), 1, 'month/day closed day test' );
-is( $cal->is_holiday($special), 1, 'special closed day test' );
-is( $cal->is_holiday($notspecial), 0, 'open day test' );
+my $sunday_exception = DateTime->new(
+ year => 2012,
+ month => 11,
+ day => 11
+);
-my $dt = $cal->addDate( $saturday, 1, 'days' );
-is( $dt->day_of_week, 1, 'addDate skips closed Sunday' );
+my $day_after_christmas = DateTime->new(
+ year => 2012,
+ month => 12,
+ day => 26
+); # for testing negative addDate
+
+
+{ # Syspref-agnostic tests
+ is ( $saturday->day_of_week, 6, '\'$saturday\' is actually a saturday (6th day of week)');
+ is ( $sunday->day_of_week, 7, '\'$sunday\' is actually a sunday (7th day of week)');
+ is ( $monday->day_of_week, 1, '\'$monday\' is actually a monday (1st day of week)');
+ is ( $cal->is_holiday($saturday), 1, 'Saturday is a closed day' );
+ is ( $cal->is_holiday($sunday), 1, 'Sunday is a closed day' );
+ is ( $cal->is_holiday($monday), 0, 'Monday is not a closed day' );
+ is ( $cal->is_holiday($new_year), 1, 'Month/Day closed day test (New year\'s day)' );
+ is ( $cal->is_holiday($single_holiday), 1, 'Single holiday closed day test' );
+ is ( $cal->is_holiday($notspecial), 0, 'Fixed single date that is not a holiday test' );
+ is ( $cal->is_holiday($sunday_exception), 0, 'Exception holiday is not a closed day test' );
+}
-$dt = $cal->addDate( $bloomsday, -1 );
-is( $dt->ymd(), '2011-06-15', 'Negative call to addDate' );
-my $test_dt = DateTime->new( # Monday
- year => 2012,
- month => 7,
- day => 23,
- hour => 11,
- minute => 53,
- time_zone => 'Europe/London',
-);
+{ # Bugzilla #8966 - is_holiday truncates referenced date
+ my $later_dt = DateTime->new( # Monday
+ year => 2012,
+ month => 9,
+ day => 17,
+ hour => 17,
+ minute => 30,
+ time_zone => 'Europe/London',
+ );
-my $later_dt = DateTime->new( # Monday
- year => 2012,
- month => 9,
- day => 17,
- hour => 17,
- minute => 30,
- time_zone => 'Europe/London',
-);
-my $daycount = $cal->days_between( $test_dt, $later_dt );
-cmp_ok( $daycount->in_units('days'),
- '==', 48, 'days_between calculates correctly' );
-
-my $ret;
-
-$cal->set_daysmode('Calendar');
-
-# see bugzilla #8966
-is( $cal->is_holiday($later_dt), 0, 'is holiday for the next test' );
-cmp_ok( $later_dt, 'eq', '2012-09-17T17:30:00', 'Date should be the same after is_holiday' );
-
-# example tests for bug report
-$cal->clear_weekly_closed_days();
-
-$daycount = $cal->days_between( dt_from_string('2012-01-10','iso'),
- dt_from_string("2012-05-05",'iso') )->in_units('days');
-cmp_ok( $daycount, '==', 116, 'test larger intervals' );
-$daycount = $cal->days_between( dt_from_string("2012-01-01",'iso'),
- dt_from_string("2012-05-05",'iso') )->in_units('days');
-cmp_ok( $daycount, '==', 125, 'test positive intervals' );
-my $daycount2 = $cal->days_between( dt_from_string("2012-05-05",'iso'),
- dt_from_string("2012-01-01",'iso') )->in_units('days');
-cmp_ok( $daycount2, '==', $daycount, 'test parameter order not relevant' );
-$daycount = $cal->days_between( dt_from_string("2012-07-01",'iso'),
- dt_from_string("2012-07-15",'iso') )->in_units('days');
-cmp_ok( $daycount, '==', 14, 'days_between calculates correctly' );
-$cal->add_holiday( dt_from_string('2012-07-06','iso') );
-$daycount = $cal->days_between( dt_from_string("2012-07-01",'iso'),
- dt_from_string("2012-07-15",'iso') )->in_units('days');
-cmp_ok( $daycount, '==', 13, 'holiday correctly recognized' );
-
-$cal->add_holiday( dt_from_string('2012-07-07','iso') );
-$daycount = $cal->days_between( dt_from_string("2012-07-01",'iso'),
- dt_from_string("2012-07-15",'iso') )->in_units('days');
-cmp_ok( $daycount, '==', 12, 'multiple holidays correctly recognized' );
-
-my $one_day_dur = DateTime::Duration->new( days => 1 );
-my $two_day_dur = DateTime::Duration->new( days => 2 );
-my $seven_day_dur = DateTime::Duration->new( days => 7 );
-
- ## 'Datedue' tests
- $cal = Koha::Calendar->new( TEST_MODE => 1 ,
- days_mode => 'Datedue');
-
- $cal->add_holiday( dt_from_string('2012-07-04','iso') );
- $dt = dt_from_string( '2012-07-03','iso' );
+ is( $cal->is_holiday($later_dt), 0, 'bz-8966 (1/2) Apply is_holiday for the next test' );
+ cmp_ok( $later_dt, 'eq', '2012-09-17T17:30:00', 'bz-8966 (2/2) Date should be the same after is_holiday' );
+}
+
+
+{ # Bugzilla #8800 - is_holiday should use truncated date for 'contains' call
+ my $single_holiday_time = DateTime->new(
+ year => 2011,
+ month => 6,
+ day => 1,
+ hour => 11,
+ minute => 2
+ );
+
+ is( $cal->is_holiday($single_holiday_time),
+ $cal->is_holiday($single_holiday) ,
+ 'bz-8800 is_holiday should truncate the date for holiday validation' );
+}
+
+
+ my $one_day_dur = DateTime::Duration->new( days => 1 );
+ my $two_day_dur = DateTime::Duration->new( days => 2 );
+ my $seven_day_dur = DateTime::Duration->new( days => 7 );
+
+ my $dt = dt_from_string( '2012-07-03','iso' );
+ my $test_dt = DateTime->new( # Monday
+ year => 2012,
+ month => 7,
+ day => 23,
+ hour => 11,
+ minute => 53,
+ );
+
+ my $later_dt = DateTime->new( # Monday
+ year => 2012,
+ month => 9,
+ day => 17,
+ hour => 17,
+ minute => 30,
+ time_zone => 'Europe/London',
+ );
+
+
+{ ## 'Datedue' tests
+
+ $module_context->unmock('preference');
+ $module_context->mock(
+ 'preference',
+ sub {
+ return 'Datedue';
+ }
+ );
+ # rewind dbh session
+ $holidays_session->reset;
+
+
+ $cal = Koha::Calendar->new( branchcode => 'MPL' );
is($cal->addDate( $dt, $one_day_dur, 'days' ),
dt_from_string('2012-07-05','iso'),
'2012-07-30T11:53:00',
'Add 7 days (Datedue)' );
+ is( $cal->addDate( $saturday, $one_day_dur, 'days' )->day_of_week, 1,
+ 'addDate skips closed Sunday (Datedue)' );
+
+ is( $cal->addDate($day_after_christmas, -1, 'days')->ymd(), '2012-12-24',
+ 'Negative call to addDate (Datedue)' );
+
+ ## Note that the days_between API says closed days are not considered.
+ ## This tests are here as an API test.
+ cmp_ok( $cal->days_between( $test_dt, $later_dt )->in_units('days'),
+ '==', 40, 'days_between calculates correctly (Days)' );
+
+ cmp_ok( $cal->days_between( $later_dt, $test_dt )->in_units('days'),
+ '==', 40, 'Test parameter order not relevant (Days)' );
- ## 'Calendar' tests'
- $cal = Koha::Calendar->new( TEST_MODE => 1,
- days_mode => 'Calendar' );
+}
+
+
+{ ## 'Calendar' tests'
+
+ $module_context->unmock('preference');
+ $module_context->mock(
+ 'preference',
+ sub {
+ return 'Calendar';
+ }
+ );
+ # rewind dbh session
+ $holidays_session->reset;
+
+ $cal = Koha::Calendar->new( branchcode => 'MPL' );
- $cal->add_holiday( dt_from_string('2012-07-04','iso') );
$dt = dt_from_string('2012-07-03','iso');
is($cal->addDate( $dt, $one_day_dur, 'days' ),
'Single day add (Calendar)' );
cmp_ok($cal->addDate( $test_dt, $seven_day_dur, 'days' ), 'eq',
- '2012-07-31T11:53:00',
+ '2012-08-01T11:53:00',
'Add 7 days (Calendar)' );
+ is( $cal->addDate( $saturday, $one_day_dur, 'days' )->day_of_week, 1,
+ 'addDate skips closed Sunday (Calendar)' );
+
+ is( $cal->addDate($day_after_christmas, -1, 'days')->ymd(), '2012-12-24',
+ 'Negative call to addDate (Calendar)' );
+
+ cmp_ok( $cal->days_between( $test_dt, $later_dt )->in_units('days'),
+ '==', 40, 'days_between calculates correctly (Calendar)' );
+
+ cmp_ok( $cal->days_between( $later_dt, $test_dt )->in_units('days'),
+ '==', 40, 'Test parameter order not relevant (Calendar)' );
+}
- ## 'Days' tests
- $cal = Koha::Calendar->new( TEST_MODE => 1,
- days_mode => 'Days' );
+{ ## 'Days' tests
+ $module_context->unmock('preference');
+ $module_context->mock(
+ 'preference',
+ sub {
+ return 'Days';
+ }
+ );
+ # rewind dbh session
+ $holidays_session->reset;
+
+ $cal = Koha::Calendar->new( branchcode => 'MPL' );
- $cal->add_holiday( dt_from_string('2012-07-04','iso') );
$dt = dt_from_string('2012-07-03','iso');
is($cal->addDate( $dt, $one_day_dur, 'days' ),
cmp_ok($cal->addDate( $test_dt, $seven_day_dur, 'days' ),'eq',
'2012-07-30T11:53:00',
'Add 7 days (Days)' );
+
+ is( $cal->addDate( $saturday, $one_day_dur, 'days' )->day_of_week, 7,
+ 'addDate doesn\'t skip closed Sunday (Days)' );
+
+ is( $cal->addDate($day_after_christmas, -1, 'days')->ymd(), '2012-12-25',
+ 'Negative call to addDate (Days)' );
+
+ ## Note that the days_between API says closed days are not considered.
+ ## This tests are here as an API test.
+ cmp_ok( $cal->days_between( $test_dt, $later_dt )->in_units('days'),
+ '==', 40, 'days_between calculates correctly (Days)' );
+
+ cmp_ok( $cal->days_between( $later_dt, $test_dt )->in_units('days'),
+ '==', 40, 'Test parameter order not relevant (Days)' );
+
+}
+
+} # End SKIP block
use Test::MockModule;
use Test::More tests => 2;
-BEGIN {
- use_ok('C4::Letters');
-}
-
my $module = new Test::MockModule('C4::Context');
$module->mock(
'_new_dbh',
[ 'bleh', 'ISSN', 'NSSI', 'page', 0, 'blue', 'blehbleh' ]
];
+use_ok('C4::Letters');
+
my $dbh = C4::Context->dbh();
$dbh->{mock_add_resultset} = $mock_letters;
use warnings;
use C4::Context;
-use Test::More tests => 5;
+use Test::More tests => 6;
use DateTime::Format::MySQL;
eval {use Test::Deep;};
}
};
+subtest 'Itemtype info Tests' => sub {
+ like ( getitemtypeinfo('BK')->{'imageurl'}, qr/intranet-tmpl/, 'getitemtypeinfo on unspecified interface returns intranet imageurl (legacy behavior)' );
+ like ( getitemtypeinfo('BK', 'intranet')->{'imageurl'}, qr/intranet-tmpl/, 'getitemtypeinfo on "intranet" interface returns intranet imageurl' );
+ like ( getitemtypeinfo('BK', 'opac')->{'imageurl'}, qr/opac-tmpl/, 'getitemtypeinfo on "opac" interface returns opac imageurl' );
+};
+
GetPendingIssues
GetAllIssues
GetMemberAccountRecords
+ GetMemberAccountBalance
GetBorNotifyAcctRecord
checkuniquemember
checkcardnumber
GetPatronImage
PutPatronImage
RmPatronImage
- GetBorrowersWhoHaveNotBorrowedSince
+ GetBorrowersToExpunge
GetBorrowersWhoHaveNeverBorrowed
GetBorrowersWithIssuesHistoryOlderThan
GetBorrowersNamesAndLatestIssue
my $needed_flags = shift;
my %cookies = fetch CGI::Cookie;
my $input = CGI->new;
- my $sessid = $cookies{'CGISESSID'}->value || $input->param('CGISESSID');
+ my $sessid = $cookies{'CGISESSID'}->value;
my ($auth_status, $auth_sessid) = check_cookie_auth($sessid, $needed_flags);
$debug and
print STDERR "($auth_status, $auth_sessid) = check_cookie_auth($sessid," . Dumper($needed_flags) . ")\n";
$debug and print STDERR "number of approval_rows: " . scalar(@$tagloop) . "rows\n";
(scalar @errors) and $template->param(message_loop=>\@errors);
$template->param(
- DHTMLcalendar_dateformat => C4::Dates->DHTMLcalendar(),
offset => $offset, # req'd for EXPR
op => $op,
op_count => scalar(@tags),
use C4::Dates;
use C4::Debug;
use MARC::File::XML;
+use List::MoreUtils qw/uniq/;
my $input = new CGI;
my $dbh = C4::Context->dbh;
}
}
if ( my $list=$input->param('barcodelist')){
- push my @barcodelist, split(/\s\n/, $list);
+ push my @barcodelist, uniq( split(/\s\n/, $list) );
foreach my $barcode (@barcodelist) {
#
# Written by Antoine Farnault antoine@koha-fr.org on Nov. 2006.
-
=head1 cleanborrowers.pl
This script allows to do 2 things.
=cut
use strict;
+
#use warnings; FIXME - Bug 2505
use CGI;
use C4::Auth;
use C4::Dates qw/format_date format_date_in_iso/;
use C4::Members; # GetBorrowersWhoHavexxxBorrowed.
use C4::Circulation; # AnonymiseIssueHistory.
-use C4::VirtualShelves (); #no import
+use C4::VirtualShelves (); #no import
use Date::Calc qw/Today Add_Delta_YM/;
my $cgi = new CGI;
# * multivalued CGI paramaters are returned as a packaged string separated by "\0" (null)
my $params = $cgi->Vars;
-my $filterdate1; # the date which filter on issue history.
-my $filterdate2; # the date which filter on borrowers last issue.
+my $filterdate1; # the date which filter on issue history.
+my $filterdate2; # the date which filter on borrowers last issue.
+my $borrower_dateexpiry;
+my $borrower_categorycode;
# getting the template
my ( $template, $loggedinuser, $cookie ) = get_template_and_user(
- {
- template_name => "tools/cleanborrowers.tmpl",
+ { template_name => "tools/cleanborrowers.tmpl",
query => $cgi,
type => "intranet",
authnotrequired => 0,
);
if ( $params->{'step2'} ) {
- $filterdate1 = format_date_in_iso($params->{'filterdate1'});
- $filterdate2 = format_date_in_iso($params->{'filterdate2'});
+ $filterdate1 = format_date_in_iso( $params->{'filterdate1'} );
+ $filterdate2 = format_date_in_iso( $params->{'filterdate2'} );
+ $borrower_dateexpiry = format_date_in_iso( $params->{'borrower_dateexpiry'} );
+ $borrower_categorycode = $params->{'borrower_categorycode'};
+
my %checkboxes = map { $_ => 1 } split /\0/, $params->{'checkbox'};
my $totalDel;
my $membersToDelete;
- if ($checkboxes{borrower}) {
- $membersToDelete = GetBorrowersWhoHaveNotBorrowedSince($filterdate1, 1);
+ if ( $checkboxes{borrower} ) {
+ $membersToDelete =
+ GetBorrowersToExpunge( { not_borrowered_since => $filterdate1, expired_before => $borrower_dateexpiry, category_code => $borrower_categorycode } );
$totalDel = scalar @$membersToDelete;
-
+
}
my $totalAno;
my $membersToAnonymize;
- if ($checkboxes{issue}) {
- $membersToAnonymize =
- GetBorrowersWithIssuesHistoryOlderThan($filterdate2);
- $totalAno = scalar @$membersToAnonymize;
+ if ( $checkboxes{issue} ) {
+ $membersToAnonymize = GetBorrowersWithIssuesHistoryOlderThan($filterdate2);
+ $totalAno = scalar @$membersToAnonymize;
}
$template->param(
- step2 => 1,
- totalToDelete => $totalDel,
- totalToAnonymize => $totalAno,
- memberstodelete_list => $membersToDelete,
- memberstoanonymize_list => $membersToAnonymize,
- filterdate1 => format_date($filterdate1),
- filterdate2 => format_date($filterdate2),
+ step2 => 1,
+ totalToDelete => $totalDel,
+ totalToAnonymize => $totalAno,
+ memberstodelete_list => $membersToDelete,
+ memberstoanonymize_list => $membersToAnonymize,
+ filterdate1 => format_date($filterdate1),
+ filterdate2 => format_date($filterdate2),
+ borrower_dateexpiry => $borrower_dateexpiry,
+ borrower_categorycode => $borrower_categorycode,
);
-### TODO : Use GetBorrowersNamesAndLatestIssue function in order to get the borrowers to delete or anonymize.
-### Now, we are only using total, which is not enough imlo
- #writing the template
+
+ ### TODO : Use GetBorrowersNamesAndLatestIssue function in order to get the borrowers to delete or anonymize.
output_html_with_http_headers $cgi, $cookie, $template->output;
exit;
}
if ( $params->{'step3'} ) {
- $filterdate1 = format_date_in_iso($params->{'filterdate1'});
- $filterdate2 = format_date_in_iso($params->{'filterdate2'});
+ $filterdate1 = format_date_in_iso( $params->{'filterdate1'} );
+ $filterdate2 = format_date_in_iso( $params->{'filterdate2'} );
+ $borrower_dateexpiry = format_date_in_iso( $params->{'borrower_dateexpiry'} );
+ $borrower_categorycode = $params->{'borrower_categorycode'};
+
my $do_delete = $params->{'do_delete'};
my $do_anonym = $params->{'do_anonym'};
my ( $totalDel, $totalAno, $radio ) = ( 0, 0, 0 );
-
+
# delete members
if ($do_delete) {
- my $membersToDelete = GetBorrowersWhoHaveNotBorrowedSince($filterdate1, 1);
+ my $membersToDelete =
+ GetBorrowersToExpunge( { not_borrowered_since => $filterdate1, expired_before => $borrower_dateexpiry, category_code => $borrower_categorycode } );
$totalDel = scalar(@$membersToDelete);
$radio = $params->{'radio'};
if ( $radio eq 'trash' ) {
my $i;
for ( $i = 0 ; $i < $totalDel ; $i++ ) {
MoveMemberToDeleted( $membersToDelete->[$i]->{'borrowernumber'} );
- C4::VirtualShelves::HandleDelBorrower($membersToDelete->[$i]->{'borrowernumber'});
+ C4::VirtualShelves::HandleDelBorrower( $membersToDelete->[$i]->{'borrowernumber'} );
DelMember( $membersToDelete->[$i]->{'borrowernumber'} );
}
- }
- else { # delete completly.
+ } else { # delete completly.
my $i;
for ( $i = 0 ; $i < $totalDel ; $i++ ) {
- C4::VirtualShelves::HandleDelBorrower($membersToDelete->[$i]->{'borrowernumber'});
- DelMember($membersToDelete->[$i]->{'borrowernumber'});
+ C4::VirtualShelves::HandleDelBorrower( $membersToDelete->[$i]->{'borrowernumber'} );
+ DelMember( $membersToDelete->[$i]->{'borrowernumber'} );
}
}
$template->param(
TotalDel => $totalDel
);
}
-
+
# Anonymising all members
if ($do_anonym) {
$totalAno = AnonymiseIssueHistory($filterdate2);
do_anonym => '1',
);
}
-
+
$template->param(
step3 => '1',
trash => ( $radio eq "trash" ) ? (1) : (0),
exit;
}
-#default value set to the template are the 'CNIL' value.
-my ( $year, $month, $day ) = &Today();
-$filterdate1 = format_date(sprintf("%-04.4d-%-02.2d-%02.2d", Add_Delta_YM($year, $month, $day, -1, 0)));
-$filterdate2 = format_date(sprintf("%-04.4d-%-02.2d-%02.2d", Add_Delta_YM($year, $month, $day, 0, -3)));
-
$template->param(
- step1 => '1',
- filterdate1 => $filterdate1,
- filterdate2 => $filterdate2,
- DHTMLcalendar_dateformat => C4::Dates->DHTMLcalendar(),
+ step1 => '1',
+ filterdate1 => $filterdate1,
+ filterdate2 => $filterdate2,
+ borrower_categorycodes => GetBorrowercategoryList(),
);
#writing the template
use CGI;
use C4::Auth;
use C4::AuthoritiesMarc; # GetAuthority
-use C4::Biblio; # GetMarcBiblio GetXmlBiblio
+use C4::Biblio; # GetMarcBiblio
use C4::Branch; # GetBranches
use C4::Csv;
use C4::Koha; # GetItemTypes
$template->param(
branchloop => \@branchloop,
itemtypeloop => \@itemtypesloop,
- DHTMLcalendar_dateformat => C4::Dates->DHTMLcalendar(),
authtypeloop => \@authtypesloop,
export_remove_fields => C4::Context->preference("ExportRemoveFields"),
);
keydate => $keydate,
branchcodes => $branchcodes,
branch => $branch,
- DHTMLcalendar_dateformat => C4::Dates->DHTMLcalendar(),
branchname => $branchname,
branch => $branch,
);
$template->param(branchloop => \@branch_loop,
authorised_values=>\@authorised_value_list,
- DHTMLcalendar_dateformat => C4::Dates->DHTMLcalendar(),
today => C4::Dates->today(),
minlocation => $minlocation,
maxlocation => $maxlocation,
opac_news_count => $opac_news_count,
);
}
-$template->param(
- DHTMLcalendar_dateformat => C4::Dates->DHTMLcalendar(),
- dateformat => C4::Context->preference("dateformat"),
- );
output_html_with_http_headers $cgi, $cookie, $template->output;
$template->param('patron_attributes_values', \@patron_attributes_values);
$template->param( fields => \@fields );
- $template->param( DHTMLcalendar_dateformat => C4::Dates->DHTMLcalendar() );
}
# Process modifications
}
my $results;
foreach my $dir ( @directories ) {
- $results = handle_dir( $dir, $filesuffix );
+ $results = handle_dir( $dir, $filesuffix, $template );
$handled++ if $results == 1;
}
$total = scalar @directories;
} else { #if ($filetype eq 'zip' )
- $results = handle_dir( $dirname, $filesuffix );
+ $results = handle_dir( $dirname, $filesuffix, $template, $cardnumber, $tempfile );
$handled = 1;
$total = 1;
}
}
sub handle_dir {
- my ( $dir, $suffix ) = @_;
- my $source;
+ my ( $dir, $suffix, $template, $cardnumber, $source ) = @_;
$debug and warn "Entering sub handle_dir; passed \$dir=$dir, \$suffix=$suffix";
if ($suffix =~ m/zip/i) { # If we were sent a zip file, process any included data/idlink.txt files
- my ( $file, $filename, $cardnumber );
+ my ( $file, $filename );
+ undef $cardnumber;
$debug and warn "Passed a zip file.";
opendir my $dirhandle, $dir;
while ( my $filename = readdir $dirhandle ) {
$filename =~ s/[\"\r\n\s]//g;
$debug and warn "Cardnumber: $cardnumber Filename: $filename";
$source = "$dir/$filename";
- %counts = handle_file($cardnumber, $source, %counts);
+ %counts = handle_file($cardnumber, $source, $template, %counts);
}
close FILE;
closedir ($dirhandle);
} else {
- $source = $tempfile;
- %counts = handle_file($cardnumber, $source, %counts);
+ %counts = handle_file($cardnumber, $source, $template, %counts);
}
push @counts, \%counts;
return 1;
}
sub handle_file {
- my ($cardnumber, $source, %count) = @_;
+ my ($cardnumber, $source, $template, %count) = @_;
$debug and warn "Entering sub handle_file; passed \$cardnumber=$cardnumber, \$source=$source";
$count{filenames} = () if !$count{filenames};
$count{source} = $source if !$count{source};
my $time = localtime(time);
$template->param( 'time' => $time );
$template->param(
- DHTMLcalendar_dateformat => C4::Dates->DHTMLcalendar(),
- dateformat => C4::Dates->new()->format(),
debug => $debug,
);
output_html_with_http_headers $input, $cookie, $template->output;
query => $input,
type => "intranet",
authnotrequired => 0,
- flagsrequired => { tools => 'upload_cover_images' },
+ flagsrequired => { tools => 'upload_local_cover_images' },
debug => 0,
}
);
}
$template->param(
- DHTMLcalendar_dateformat => C4::Dates->DHTMLcalendar(),
- dateformat => C4::Dates->new()->format(),
- debug => $debug,
- C4::Search::enabled_staff_search_views,
+ debug => $debug,
+ C4::Search::enabled_staff_search_views,
);
if ($do_it) {