Bugzilla – Attachment 132882 Details for
Bug 30011
Upgrade jQueryUI to 1.13.1 in the OPAC and staff interface
Home
|
New
|
Browse
|
Search
|
[?]
|
Reports
|
Help
|
New Account
|
Log In
[x]
|
Forgot Password
Login:
[x]
[patch]
Bug 30011: Upgrade jQueryUI to 1.13.1 in the OPAC and staff interface
Bug-30011-Upgrade-jQueryUI-to-1131-in-the-OPAC-and.patch (text/plain), 1.67 MB, created by
Katrin Fischer
on 2022-04-02 21:13:56 UTC
(
hide
)
Description:
Bug 30011: Upgrade jQueryUI to 1.13.1 in the OPAC and staff interface
Filename:
MIME Type:
Creator:
Katrin Fischer
Created:
2022-04-02 21:13:56 UTC
Size:
1.67 MB
patch
obsolete
>From 569e2fe1e8439f699119c8b8e8aebeb9b4eb7379 Mon Sep 17 00:00:00 2001 >From: Owen Leonard <oleonard@myacpl.org> >Date: Thu, 3 Feb 2022 15:45:09 +0000 >Subject: [PATCH] Bug 30011: Upgrade jQueryUI to 1.13.1 in the OPAC and staff > interface > >This patch updates jQueryUI in the OPAC and staff interface. Old assets >are removed and new assets added. > >jQueryUI has been re-compiled in each interface to include only the >required features. In the OPAC: tabs and tooltip. In the staff >interface: accordion, autocomplete, sortable, and tabs. > >The next patch will make the required updates to templates. > >Signed-off-by: Lucas Gass <lucas@bywatersolutions.com> > >Signed-off-by: Katrin Fischer <katrin.fischer.83@web.de> >--- > .../images/ui-bg_glass_55_fbf9ee_1x400.png | Bin 335 -> 0 bytes > .../images/ui-bg_glass_65_ffffff_1x400.png | Bin 207 -> 0 bytes > .../images/ui-bg_glass_75_dadada_1x400.png | Bin 262 -> 0 bytes > .../images/ui-bg_glass_75_e6e6e6_1x400.png | Bin 262 -> 0 bytes > .../images/ui-bg_glass_95_fef1ec_1x400.png | Bin 332 -> 0 bytes > .../ui-bg_highlight-soft_75_cccccc_1x100.png | Bin 280 -> 0 bytes > .../jquery/images/ui-icons_222222_256x240.png | Bin 6922 -> 0 bytes > .../jquery/images/ui-icons_2e83ff_256x240.png | Bin 4549 -> 0 bytes > .../jquery/images/ui-icons_444444_256x240.png | Bin 0 -> 7090 bytes > .../jquery/images/ui-icons_454545_256x240.png | Bin 6992 -> 0 bytes > .../jquery/images/ui-icons_555555_256x240.png | Bin 0 -> 7074 bytes > .../jquery/images/ui-icons_777620_256x240.png | Bin 0 -> 4618 bytes > .../jquery/images/ui-icons_777777_256x240.png | Bin 0 -> 7111 bytes > .../jquery/images/ui-icons_888888_256x240.png | Bin 6999 -> 0 bytes > .../jquery/images/ui-icons_aaa_256x240.png | Bin 0 -> 7075 bytes > .../jquery/images/ui-icons_cc0000_256x240.png | Bin 0 -> 4618 bytes > .../jquery/images/ui-icons_cd0a0a_256x240.png | Bin 4549 -> 0 bytes > .../jquery/images/ui-icons_ffffff_256x240.png | Bin 0 -> 6487 bytes > .../lib/jquery/jquery-ui-1.11.4.css | 971 -- > .../lib/jquery/jquery-ui-1.11.4.js | 11711 ---------------- > .../lib/jquery/jquery-ui-1.11.4.min.css | 7 - > .../lib/jquery/jquery-ui-1.11.4.min.js | 11 - > .../lib/jquery/jquery-ui-1.13.1.min.css | 7 + > .../lib/jquery/jquery-ui-1.13.1.min.js | 6 + > .../lib/jquery/jquery-ui-rtl-1.13.0.min.css | 7 + > .../intranet-tmpl/lib/jquery/jquery-ui.css | 7 - > .../intranet-tmpl/lib/jquery/jquery-ui.js | 7 - > koha-tmpl/intranet-tmpl/lib/jquery/jquery.js | 4 - > .../jquery/images/ui-icons_222222_256x240.png | Bin 4369 -> 0 bytes > .../jquery/images/ui-icons_444444_256x240.png | Bin 0 -> 7090 bytes > .../jquery/images/ui-icons_454545_256x240.png | Bin 4369 -> 0 bytes > .../jquery/images/ui-icons_555555_256x240.png | Bin 0 -> 7074 bytes > .../jquery/images/ui-icons_777620_256x240.png | Bin 0 -> 4618 bytes > .../jquery/images/ui-icons_777777_256x240.png | Bin 0 -> 7111 bytes > .../jquery/images/ui-icons_888888_256x240.png | Bin 4369 -> 0 bytes > .../jquery/images/ui-icons_cc0000_256x240.png | Bin 0 -> 4618 bytes > .../jquery/images/ui-icons_ffffff_256x240.png | Bin 0 -> 6487 bytes > .../lib/jquery/jquery-migrate-3.1.0.js | 678 - > .../bootstrap/lib/jquery/jquery-ui-1.12.1.css | 874 -- > .../bootstrap/lib/jquery/jquery-ui-1.12.1.js | 8737 ------------ > .../lib/jquery/jquery-ui-1.12.1.min.css | 7 - > .../lib/jquery/jquery-ui-1.12.1.min.js | 9 - > .../lib/jquery/jquery-ui-1.13.1.min.css | 7 + > .../lib/jquery/jquery-ui-1.13.1.min.js | 6 + > .../lib/jquery/jquery-ui-rtl-1.12.1.css | 874 -- > .../lib/jquery/jquery-ui-rtl-1.12.1.min.css | 5 - > .../lib/jquery/jquery-ui-rtl-1.13.0.min.css | 7 + > 47 files changed, 40 insertions(+), 23902 deletions(-) > delete mode 100644 koha-tmpl/intranet-tmpl/lib/jquery/images/ui-bg_glass_55_fbf9ee_1x400.png > delete mode 100644 koha-tmpl/intranet-tmpl/lib/jquery/images/ui-bg_glass_65_ffffff_1x400.png > delete mode 100644 koha-tmpl/intranet-tmpl/lib/jquery/images/ui-bg_glass_75_dadada_1x400.png > delete mode 100644 koha-tmpl/intranet-tmpl/lib/jquery/images/ui-bg_glass_75_e6e6e6_1x400.png > delete mode 100644 koha-tmpl/intranet-tmpl/lib/jquery/images/ui-bg_glass_95_fef1ec_1x400.png > delete mode 100644 koha-tmpl/intranet-tmpl/lib/jquery/images/ui-bg_highlight-soft_75_cccccc_1x100.png > delete mode 100644 koha-tmpl/intranet-tmpl/lib/jquery/images/ui-icons_222222_256x240.png > delete mode 100644 koha-tmpl/intranet-tmpl/lib/jquery/images/ui-icons_2e83ff_256x240.png > create mode 100644 koha-tmpl/intranet-tmpl/lib/jquery/images/ui-icons_444444_256x240.png > delete mode 100644 koha-tmpl/intranet-tmpl/lib/jquery/images/ui-icons_454545_256x240.png > create mode 100644 koha-tmpl/intranet-tmpl/lib/jquery/images/ui-icons_555555_256x240.png > create mode 100644 koha-tmpl/intranet-tmpl/lib/jquery/images/ui-icons_777620_256x240.png > create mode 100644 koha-tmpl/intranet-tmpl/lib/jquery/images/ui-icons_777777_256x240.png > delete mode 100644 koha-tmpl/intranet-tmpl/lib/jquery/images/ui-icons_888888_256x240.png > create mode 100644 koha-tmpl/intranet-tmpl/lib/jquery/images/ui-icons_aaa_256x240.png > create mode 100644 koha-tmpl/intranet-tmpl/lib/jquery/images/ui-icons_cc0000_256x240.png > delete mode 100644 koha-tmpl/intranet-tmpl/lib/jquery/images/ui-icons_cd0a0a_256x240.png > create mode 100644 koha-tmpl/intranet-tmpl/lib/jquery/images/ui-icons_ffffff_256x240.png > delete mode 100644 koha-tmpl/intranet-tmpl/lib/jquery/jquery-ui-1.11.4.css > delete mode 100644 koha-tmpl/intranet-tmpl/lib/jquery/jquery-ui-1.11.4.js > delete mode 100644 koha-tmpl/intranet-tmpl/lib/jquery/jquery-ui-1.11.4.min.css > delete mode 100644 koha-tmpl/intranet-tmpl/lib/jquery/jquery-ui-1.11.4.min.js > create mode 100644 koha-tmpl/intranet-tmpl/lib/jquery/jquery-ui-1.13.1.min.css > create mode 100644 koha-tmpl/intranet-tmpl/lib/jquery/jquery-ui-1.13.1.min.js > create mode 100644 koha-tmpl/intranet-tmpl/lib/jquery/jquery-ui-rtl-1.13.0.min.css > delete mode 100644 koha-tmpl/intranet-tmpl/lib/jquery/jquery-ui.css > delete mode 100644 koha-tmpl/intranet-tmpl/lib/jquery/jquery-ui.js > delete mode 100644 koha-tmpl/intranet-tmpl/lib/jquery/jquery.js > delete mode 100644 koha-tmpl/opac-tmpl/bootstrap/lib/jquery/images/ui-icons_222222_256x240.png > create mode 100644 koha-tmpl/opac-tmpl/bootstrap/lib/jquery/images/ui-icons_444444_256x240.png > delete mode 100644 koha-tmpl/opac-tmpl/bootstrap/lib/jquery/images/ui-icons_454545_256x240.png > create mode 100644 koha-tmpl/opac-tmpl/bootstrap/lib/jquery/images/ui-icons_555555_256x240.png > create mode 100644 koha-tmpl/opac-tmpl/bootstrap/lib/jquery/images/ui-icons_777620_256x240.png > create mode 100644 koha-tmpl/opac-tmpl/bootstrap/lib/jquery/images/ui-icons_777777_256x240.png > delete mode 100644 koha-tmpl/opac-tmpl/bootstrap/lib/jquery/images/ui-icons_888888_256x240.png > create mode 100644 koha-tmpl/opac-tmpl/bootstrap/lib/jquery/images/ui-icons_cc0000_256x240.png > create mode 100644 koha-tmpl/opac-tmpl/bootstrap/lib/jquery/images/ui-icons_ffffff_256x240.png > delete mode 100644 koha-tmpl/opac-tmpl/bootstrap/lib/jquery/jquery-migrate-3.1.0.js > delete mode 100644 koha-tmpl/opac-tmpl/bootstrap/lib/jquery/jquery-ui-1.12.1.css > delete mode 100644 koha-tmpl/opac-tmpl/bootstrap/lib/jquery/jquery-ui-1.12.1.js > delete mode 100644 koha-tmpl/opac-tmpl/bootstrap/lib/jquery/jquery-ui-1.12.1.min.css > delete mode 100644 koha-tmpl/opac-tmpl/bootstrap/lib/jquery/jquery-ui-1.12.1.min.js > create mode 100644 koha-tmpl/opac-tmpl/bootstrap/lib/jquery/jquery-ui-1.13.1.min.css > create mode 100644 koha-tmpl/opac-tmpl/bootstrap/lib/jquery/jquery-ui-1.13.1.min.js > delete mode 100644 koha-tmpl/opac-tmpl/bootstrap/lib/jquery/jquery-ui-rtl-1.12.1.css > delete mode 100644 koha-tmpl/opac-tmpl/bootstrap/lib/jquery/jquery-ui-rtl-1.12.1.min.css > create mode 100644 koha-tmpl/opac-tmpl/bootstrap/lib/jquery/jquery-ui-rtl-1.13.0.min.css > >diff --git a/koha-tmpl/intranet-tmpl/lib/jquery/images/ui-bg_glass_55_fbf9ee_1x400.png b/koha-tmpl/intranet-tmpl/lib/jquery/images/ui-bg_glass_55_fbf9ee_1x400.png >deleted file mode 100644 >index 43147661395dbfcd4366aa58d98b91413424b0b3..0000000000000000000000000000000000000000 >GIT binary patch >literal 0 >HcmV?d00001 > >literal 335 >zcmeAS@N?(olHy`uVBq!ia0vp^j6gI&fC<Rju*&f~kYY>nc6a#?2AmP!?*K(O3p^r= >zfwTu0yPeFo12TF&T^vI^j=w#x$i?I+((tf;UXnmgbH|3oY>pC!)f}(GR!16S-u+#{ >ze6YEqRkW=8vGl=5qArKM<9}TC-}iEvB{zdaTcX5$wyRTK&AL<j?Oogl7O%t;J!=h; >z-jz8yK2Z_Txf?iR!y=`46O)gZPw?Ar2`)?)dsFGUcbn%2mT)d+n{3Ay7yfr=9yaKa >z|HNjKs1n@qrcw{+Fx3**h?11Vl2ohYqEsNoU}RuurfXoLYhV##U}j}xX=P}kZD3$! >kV34Ub<t&PZ-29Zxv`X9>B+7LPff^V*UHx3vIVCg!05w^3lK=n! > >diff --git a/koha-tmpl/intranet-tmpl/lib/jquery/images/ui-bg_glass_65_ffffff_1x400.png b/koha-tmpl/intranet-tmpl/lib/jquery/images/ui-bg_glass_65_ffffff_1x400.png >deleted file mode 100644 >index 274ef259d1066787d6c9e04f261326415d0a239e..0000000000000000000000000000000000000000 >GIT binary patch >literal 0 >HcmV?d00001 > >literal 207 >zcmeAS@N?(olHy`uVBq!ia0vp^j6gI2NH8$CE1Q=ADW)WEcNYf6yIsOdfIQ9ukH}&m >z?E%JaC$sH<3_(v9#}JM4$r%X}t&0mp9yKsb%{ak$*<@oTP*SzTHKHUXu_V<hxhNG# >zF&G&bn&}#t=o(mr7?@cZSy~xdXd4(<85m@0O*xCAAvZrIGp!Q028nW=LZAi)Pgg&e >IbxsLQ0Pq7cRsaA1 > >diff --git a/koha-tmpl/intranet-tmpl/lib/jquery/images/ui-bg_glass_75_dadada_1x400.png b/koha-tmpl/intranet-tmpl/lib/jquery/images/ui-bg_glass_75_dadada_1x400.png >deleted file mode 100644 >index 7f830eac121acd1f9ddb6e5dfb466dffdc4e8333..0000000000000000000000000000000000000000 >GIT binary patch >literal 0 >HcmV?d00001 > >literal 262 >zcmeAS@N?(olHy`uVBq!ia0vp^j6gI&0LWmFTHNUZq?nSt-Ch3w7g=q17Rci)@Q5r1 >z(jH*!b~4)z#PD=+46!(!T=8puqDZgOs>RXUCGx5b?-VBQkUm|IuXOmYJrBRJgj{Vx >zMbNnqUkncy+qa2-mWYc>swkcIuvGK#>(0d)B7)5f`@$Ei28nH~0h*~=;u=wsl30>z >zm0Xkxq!^4049#>6Omqz_LJZ8Tj4Z7TEwl{`tPBh?wWfevhR~3kpOTqYiCcq2xlSQa >O1B0ilpUXO@geCw;luexg > >diff --git a/koha-tmpl/intranet-tmpl/lib/jquery/images/ui-bg_glass_75_e6e6e6_1x400.png b/koha-tmpl/intranet-tmpl/lib/jquery/images/ui-bg_glass_75_e6e6e6_1x400.png >deleted file mode 100644 >index 3a92179b94af418115e946cae1b10977a72b2e81..0000000000000000000000000000000000000000 >GIT binary patch >literal 0 >HcmV?d00001 > >literal 262 >zcmeAS@N?(olHy`uVBq!ia0vp^j6gI&0LWmFTHNUZq?nSt-Ch3w7g=q17Rci)@Q5r1 >z(jH*!b~4)z#PD=+46!(!TrvH)L6@80)r*_cdCvDr%)6ghVL16=s@mbz7H!uRdGeDa >z?kzLg)16i!f8fKx84s0>4<FykGyjQ%on+slKo=e+hF*tnDhzt2`9L#OOI#yLQW8s2 >zt&)pUffR$0fuWhMfr+kxMTmi!m64^Dp@p`Aft7(lrq&dY%McoJ^HVa@DsgL&DAy?j >PYGCkm^>bP0l+XkKljBXR > >diff --git a/koha-tmpl/intranet-tmpl/lib/jquery/images/ui-bg_glass_95_fef1ec_1x400.png b/koha-tmpl/intranet-tmpl/lib/jquery/images/ui-bg_glass_95_fef1ec_1x400.png >deleted file mode 100644 >index 648088d66a3d6d728acf93127aa83a099dd0ca81..0000000000000000000000000000000000000000 >GIT binary patch >literal 0 >HcmV?d00001 > >literal 332 >zcmeAS@N?(olHy`uVBq!ia0vp^j6gI&fC<Rju*&f~kYY>nc6a#?2AmP!?*K(O3p^r= >zfwTu0yPeFo12VciT^vI^j=w#>k(V)1qW$CZ|6)SVV-&*#dav<$DMuV&n0Dbpw@a<C >zL<6s0+7G*vvYqejST{BX?76zWVpaQ=iZkzonHi23$~?b)VOyyz)5%$db0%#{6W6}< >z!ED#MUb*PGy)jD<wKpxEbn*J^@Wmk}MQ?XX%rvu-j19ArkbS1Zt0D2{=$6M8=lCm` >z+;uflX3ggWIZw63HKHUXu_V<hxhNG#F&G&bn&}#t=o(mr7?@cZSy~xdXd4(<85m@0 >gO*xCAAvZrIGp!Q028nW=LZAi)Pgg&ebxsLQ0HuF&k^lez > >diff --git a/koha-tmpl/intranet-tmpl/lib/jquery/images/ui-bg_highlight-soft_75_cccccc_1x100.png b/koha-tmpl/intranet-tmpl/lib/jquery/images/ui-bg_highlight-soft_75_cccccc_1x100.png >deleted file mode 100644 >index 3add7a203ee11dffead44ec6643a6bbeabc6c2bb..0000000000000000000000000000000000000000 >GIT binary patch >literal 0 >HcmV?d00001 > >literal 280 >zcmeAS@N?(olHy`uVBq!ia0vp^j6j?s03;ZUuHXC*q?nSt-Ch3w7g=q17Rci)@Q5r1 >z(jH*!b~4)z$cXZEaSV~ToLo`U+vu0Ue0cG9p8hWqa?gxxGLm=1A1u)Cewe3oSeCaf >zI$k30UHXoTXA5lSJe(zTc<N)G>E%W-S*bfB&J`pw9sa4-R?IGW?p~6`>jMSP&M+u3 >zY@9al)zrvpHlQu4C9V-ADTyViR>?)FK#IZ0z|c(Bz(m);BE-PV%E;2n&_dh5z{<cN >jQ)>#ytq2Xd`6-!cmAExXl<O1%H86O(`njxgN@xNA9#UC^ > >diff --git a/koha-tmpl/intranet-tmpl/lib/jquery/images/ui-icons_222222_256x240.png b/koha-tmpl/intranet-tmpl/lib/jquery/images/ui-icons_222222_256x240.png >deleted file mode 100644 >index e9c8e16ac5e7f61c843fbac290ce30c5de7e40b6..0000000000000000000000000000000000000000 >GIT binary patch >literal 0 >HcmV?d00001 > >literal 6922 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 >Q^5g_ikWrPcku(qaFX2Wbe*gdg > >diff --git a/koha-tmpl/intranet-tmpl/lib/jquery/images/ui-icons_2e83ff_256x240.png b/koha-tmpl/intranet-tmpl/lib/jquery/images/ui-icons_2e83ff_256x240.png >deleted file mode 100644 >index f2bf8388370920783b94285cb75827ce4b4cc1c5..0000000000000000000000000000000000000000 >GIT binary patch >literal 0 >HcmV?d00001 > >literal 4549 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 >F{sUG;a@YU> > >diff --git a/koha-tmpl/intranet-tmpl/lib/jquery/images/ui-icons_444444_256x240.png b/koha-tmpl/intranet-tmpl/lib/jquery/images/ui-icons_444444_256x240.png >new file mode 100644 >index 0000000000000000000000000000000000000000..9a7c74b215c38914b579f1cd95ff2e8d3318f4b8 >GIT binary patch >literal 7090 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 > >literal 0 >HcmV?d00001 > >diff --git a/koha-tmpl/intranet-tmpl/lib/jquery/images/ui-icons_454545_256x240.png b/koha-tmpl/intranet-tmpl/lib/jquery/images/ui-icons_454545_256x240.png >deleted file mode 100644 >index d6169e8bf9389ab9b5b7d2c6f0c5fe3e4d363105..0000000000000000000000000000000000000000 >GIT binary patch >literal 0 >HcmV?d00001 > >literal 6992 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 >a6;u;yYT@ZL2o-xY0w~C;LMo(9{QnC_7DmPZ > >diff --git a/koha-tmpl/intranet-tmpl/lib/jquery/images/ui-icons_555555_256x240.png b/koha-tmpl/intranet-tmpl/lib/jquery/images/ui-icons_555555_256x240.png >new file mode 100644 >index 0000000000000000000000000000000000000000..c40ac937ce9268dc1407b39481106bb9e5ba502c >GIT binary patch >literal 7074 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 >a)ZnR|W3c!4r~eer0Cg1|<#I*ai2nx|oOYG~ > >literal 0 >HcmV?d00001 > >diff --git a/koha-tmpl/intranet-tmpl/lib/jquery/images/ui-icons_777620_256x240.png b/koha-tmpl/intranet-tmpl/lib/jquery/images/ui-icons_777620_256x240.png >new file mode 100644 >index 0000000000000000000000000000000000000000..3d9ec31d4c88915ed64e7ceb69fb8dd3be4ea7e6 >GIT binary patch >literal 4618 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 > >literal 0 >HcmV?d00001 > >diff --git a/koha-tmpl/intranet-tmpl/lib/jquery/images/ui-icons_777777_256x240.png b/koha-tmpl/intranet-tmpl/lib/jquery/images/ui-icons_777777_256x240.png >new file mode 100644 >index 0000000000000000000000000000000000000000..e49536d0d1877d9076d76e8fc133dbd94839cebb >GIT binary patch >literal 7111 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 >Ns-l)crJQBN{{iK#LOuWh > >literal 0 >HcmV?d00001 > >diff --git a/koha-tmpl/intranet-tmpl/lib/jquery/images/ui-icons_888888_256x240.png b/koha-tmpl/intranet-tmpl/lib/jquery/images/ui-icons_888888_256x240.png >deleted file mode 100644 >index d3e6e02a03d4cfdc6a2114f736aa57e8a898b98b..0000000000000000000000000000000000000000 >GIT binary patch >literal 0 >HcmV?d00001 > >literal 6999 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 > >diff --git a/koha-tmpl/intranet-tmpl/lib/jquery/images/ui-icons_aaa_256x240.png b/koha-tmpl/intranet-tmpl/lib/jquery/images/ui-icons_aaa_256x240.png >new file mode 100644 >index 0000000000000000000000000000000000000000..77f762d0b1d1cfa8a82e0868fd9386887cedf839 >GIT binary patch >literal 7075 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 > >literal 0 >HcmV?d00001 > >diff --git a/koha-tmpl/intranet-tmpl/lib/jquery/images/ui-icons_cc0000_256x240.png b/koha-tmpl/intranet-tmpl/lib/jquery/images/ui-icons_cc0000_256x240.png >new file mode 100644 >index 0000000000000000000000000000000000000000..a70f4966ff0a1a1cbd93116296e86f43ff286bb4 >GIT binary patch >literal 4618 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 > >literal 0 >HcmV?d00001 > >diff --git a/koha-tmpl/intranet-tmpl/lib/jquery/images/ui-icons_cd0a0a_256x240.png b/koha-tmpl/intranet-tmpl/lib/jquery/images/ui-icons_cd0a0a_256x240.png >deleted file mode 100644 >index 49370189231d006600b0f0c2967cad1583eba634..0000000000000000000000000000000000000000 >GIT binary patch >literal 0 >HcmV?d00001 > >literal 4549 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 >E2b3c!L;wH) > >diff --git a/koha-tmpl/intranet-tmpl/lib/jquery/images/ui-icons_ffffff_256x240.png b/koha-tmpl/intranet-tmpl/lib/jquery/images/ui-icons_ffffff_256x240.png >new file mode 100644 >index 0000000000000000000000000000000000000000..8b682fb5abc6243490631d57aac9bc70d516d740 >GIT binary patch >literal 6487 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 >F@PBxt33LDe > >literal 0 >HcmV?d00001 > >diff --git a/koha-tmpl/intranet-tmpl/lib/jquery/jquery-ui-1.11.4.css b/koha-tmpl/intranet-tmpl/lib/jquery/jquery-ui-1.11.4.css >deleted file mode 100644 >index 8096d6a493..0000000000 >--- a/koha-tmpl/intranet-tmpl/lib/jquery/jquery-ui-1.11.4.css >+++ /dev/null >@@ -1,971 +0,0 @@ >-/*! jQuery UI - v1.11.4 - 2016-02-22 >-* http://jqueryui.com >-* Includes: core.css, draggable.css, sortable.css, accordion.css, autocomplete.css, button.css, datepicker.css, menu.css, progressbar.css, slider.css, tabs.css, theme.css >-* To view and modify this theme, visit http://jqueryui.com/themeroller/?ffDefault=Verdana%2CArial%2Csans-serif&fwDefault=normal&fsDefault=1.1em&cornerRadius=4px&bgColorHeader=cccccc&bgTextureHeader=highlight_soft&bgImgOpacityHeader=75&borderColorHeader=aaaaaa&fcHeader=222222&iconColorHeader=222222&bgColorContent=ffffff&bgTextureContent=flat&bgImgOpacityContent=75&borderColorContent=aaaaaa&fcContent=222222&iconColorContent=222222&bgColorDefault=e6e6e6&bgTextureDefault=glass&bgImgOpacityDefault=75&borderColorDefault=d3d3d3&fcDefault=555555&iconColorDefault=888888&bgColorHover=dadada&bgTextureHover=glass&bgImgOpacityHover=75&borderColorHover=999999&fcHover=212121&iconColorHover=454545&bgColorActive=ffffff&bgTextureActive=glass&bgImgOpacityActive=65&borderColorActive=aaaaaa&fcActive=212121&iconColorActive=454545&bgColorHighlight=fbf9ee&bgTextureHighlight=glass&bgImgOpacityHighlight=55&borderColorHighlight=fcefa1&fcHighlight=363636&iconColorHighlight=2e83ff&bgColorError=fef1ec&bgTextureError=glass&bgImgOpacityError=95&borderColorError=cd0a0a&fcError=cd0a0a&iconColorError=cd0a0a&bgColorOverlay=aaaaaa&bgTextureOverlay=flat&bgImgOpacityOverlay=0&opacityOverlay=30&bgColorShadow=aaaaaa&bgTextureShadow=flat&bgImgOpacityShadow=0&opacityShadow=30&thicknessShadow=8px&offsetTopShadow=-8px&offsetLeftShadow=-8px&cornerRadiusShadow=8px >-* Copyright jQuery Foundation and other contributors; Licensed MIT */ >- >-/* Layout helpers >-----------------------------------*/ >-.ui-helper-hidden { >- display: none; >-} >-.ui-helper-hidden-accessible { >- border: 0; >- clip: rect(0 0 0 0); >- height: 1px; >- margin: -1px; >- overflow: hidden; >- padding: 0; >- position: absolute; >- width: 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; >- border-collapse: collapse; >-} >-.ui-helper-clearfix:after { >- clear: both; >-} >-.ui-helper-clearfix { >- min-height: 0; /* support: IE7 */ >-} >-.ui-helper-zfix { >- width: 100%; >- height: 100%; >- top: 0; >- left: 0; >- position: absolute; >- opacity: 0; >- filter:Alpha(Opacity=0); /* support: IE8 */ >-} >- >-.ui-front { >- z-index: 100; >-} >- >- >-/* 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: fixed; >- top: 0; >- left: 0; >- width: 100%; >- height: 100%; >-} >-.ui-draggable-handle { >- -ms-touch-action: none; >- touch-action: none; >-} >-.ui-sortable-handle { >- -ms-touch-action: none; >- touch-action: none; >-} >-.ui-accordion .ui-accordion-header { >- display: block; >- cursor: pointer; >- position: relative; >- margin: 2px 0 0 0; >- padding: .5em .5em .5em .7em; >- min-height: 0; /* support: IE7 */ >- font-size: 100%; >-} >-.ui-accordion .ui-accordion-icons { >- padding-left: 2.2em; >-} >-.ui-accordion .ui-accordion-icons .ui-accordion-icons { >- padding-left: 2.2em; >-} >-.ui-accordion .ui-accordion-header .ui-accordion-header-icon { >- position: absolute; >- left: .5em; >- top: 50%; >- margin-top: -8px; >-} >-.ui-accordion .ui-accordion-content { >- padding: 1em 2.2em; >- border-top: 0; >- overflow: auto; >-} >-.ui-autocomplete { >- position: absolute; >- top: 0; >- left: 0; >- cursor: default; >-} >-.ui-button { >- display: inline-block; >- position: relative; >- padding: 0; >- line-height: normal; >- margin-right: .1em; >- cursor: pointer; >- vertical-align: middle; >- text-align: center; >- overflow: visible; /* removes extra width in IE */ >-} >-.ui-button, >-.ui-button:link, >-.ui-button:visited, >-.ui-button:hover, >-.ui-button:active { >- text-decoration: none; >-} >-/* to make room for the icon, a width needs to be set here */ >-.ui-button-icon-only { >- width: 2.2em; >-} >-/* button elements seem to need a little more width */ >-button.ui-button-icon-only { >- width: 2.4em; >-} >-.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: normal; >-} >-.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; >-} >- >-/* button sets */ >-.ui-buttonset { >- margin-right: 7px; >-} >-.ui-buttonset .ui-button { >- margin-left: 0; >- margin-right: -.3em; >-} >- >-/* workarounds */ >-/* reset extra padding in Firefox, see h5bp.com/l */ >-input.ui-button::-moz-focus-inner, >-button.ui-button::-moz-focus-inner { >- border: 0; >- padding: 0; >-} >-.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, >-.ui-datepicker select.ui-datepicker-year { >- width: 45%; >-} >-.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, >-.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: 0; >-} >- >-/* 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, >-.ui-datepicker-rtl .ui-datepicker-group { >- float: right; >-} >-.ui-datepicker-rtl .ui-datepicker-group-last .ui-datepicker-header, >-.ui-datepicker-rtl .ui-datepicker-group-middle .ui-datepicker-header { >- border-right-width: 0; >- border-left-width: 1px; >-} >-.ui-menu { >- list-style: none; >- padding: 0; >- margin: 0; >- display: block; >- outline: none; >-} >-.ui-menu .ui-menu { >- position: absolute; >-} >-.ui-menu .ui-menu-item { >- position: relative; >- margin: 0; >- padding: 3px 1em 3px .4em; >- cursor: pointer; >- min-height: 0; /* support: IE7 */ >- /* support: IE10, see #8844 */ >- list-style-image: url("data:image/gif;base64,R0lGODlhAQABAIAAAAAAAP///yH5BAEAAAAALAAAAAABAAEAAAIBRAA7"); >-} >-.ui-menu .ui-menu-divider { >- margin: 5px 0; >- height: 0; >- font-size: 0; >- line-height: 0; >- border-width: 1px 0 0 0; >-} >-.ui-menu .ui-state-focus, >-.ui-menu .ui-state-active { >- margin: -1px; >-} >- >-/* icon support */ >-.ui-menu-icons { >- position: relative; >-} >-.ui-menu-icons .ui-menu-item { >- padding-left: 2em; >-} >- >-/* left-aligned */ >-.ui-menu .ui-icon { >- position: absolute; >- top: 0; >- bottom: 0; >- left: .2em; >- margin: auto 0; >-} >- >-/* right-aligned */ >-.ui-menu .ui-menu-icon { >- left: auto; >- right: 0; >-} >-.ui-progressbar { >- height: 2em; >- text-align: left; >- overflow: hidden; >-} >-.ui-progressbar .ui-progressbar-value { >- margin: -1px; >- height: 100%; >-} >-.ui-progressbar .ui-progressbar-overlay { >- background: url("data:image/gif;base64,R0lGODlhKAAoAIABAAAAAP///yH/C05FVFNDQVBFMi4wAwEAAAAh+QQJAQABACwAAAAAKAAoAAACkYwNqXrdC52DS06a7MFZI+4FHBCKoDeWKXqymPqGqxvJrXZbMx7Ttc+w9XgU2FB3lOyQRWET2IFGiU9m1frDVpxZZc6bfHwv4c1YXP6k1Vdy292Fb6UkuvFtXpvWSzA+HycXJHUXiGYIiMg2R6W459gnWGfHNdjIqDWVqemH2ekpObkpOlppWUqZiqr6edqqWQAAIfkECQEAAQAsAAAAACgAKAAAApSMgZnGfaqcg1E2uuzDmmHUBR8Qil95hiPKqWn3aqtLsS18y7G1SzNeowWBENtQd+T1JktP05nzPTdJZlR6vUxNWWjV+vUWhWNkWFwxl9VpZRedYcflIOLafaa28XdsH/ynlcc1uPVDZxQIR0K25+cICCmoqCe5mGhZOfeYSUh5yJcJyrkZWWpaR8doJ2o4NYq62lAAACH5BAkBAAEALAAAAAAoACgAAAKVDI4Yy22ZnINRNqosw0Bv7i1gyHUkFj7oSaWlu3ovC8GxNso5fluz3qLVhBVeT/Lz7ZTHyxL5dDalQWPVOsQWtRnuwXaFTj9jVVh8pma9JjZ4zYSj5ZOyma7uuolffh+IR5aW97cHuBUXKGKXlKjn+DiHWMcYJah4N0lYCMlJOXipGRr5qdgoSTrqWSq6WFl2ypoaUAAAIfkECQEAAQAsAAAAACgAKAAAApaEb6HLgd/iO7FNWtcFWe+ufODGjRfoiJ2akShbueb0wtI50zm02pbvwfWEMWBQ1zKGlLIhskiEPm9R6vRXxV4ZzWT2yHOGpWMyorblKlNp8HmHEb/lCXjcW7bmtXP8Xt229OVWR1fod2eWqNfHuMjXCPkIGNileOiImVmCOEmoSfn3yXlJWmoHGhqp6ilYuWYpmTqKUgAAIfkECQEAAQAsAAAAACgAKAAAApiEH6kb58biQ3FNWtMFWW3eNVcojuFGfqnZqSebuS06w5V80/X02pKe8zFwP6EFWOT1lDFk8rGERh1TTNOocQ61Hm4Xm2VexUHpzjymViHrFbiELsefVrn6XKfnt2Q9G/+Xdie499XHd2g4h7ioOGhXGJboGAnXSBnoBwKYyfioubZJ2Hn0RuRZaflZOil56Zp6iioKSXpUAAAh+QQJAQABACwAAAAAKAAoAAACkoQRqRvnxuI7kU1a1UU5bd5tnSeOZXhmn5lWK3qNTWvRdQxP8qvaC+/yaYQzXO7BMvaUEmJRd3TsiMAgswmNYrSgZdYrTX6tSHGZO73ezuAw2uxuQ+BbeZfMxsexY35+/Qe4J1inV0g4x3WHuMhIl2jXOKT2Q+VU5fgoSUI52VfZyfkJGkha6jmY+aaYdirq+lQAACH5BAkBAAEALAAAAAAoACgAAAKWBIKpYe0L3YNKToqswUlvznigd4wiR4KhZrKt9Upqip61i9E3vMvxRdHlbEFiEXfk9YARYxOZZD6VQ2pUunBmtRXo1Lf8hMVVcNl8JafV38aM2/Fu5V16Bn63r6xt97j09+MXSFi4BniGFae3hzbH9+hYBzkpuUh5aZmHuanZOZgIuvbGiNeomCnaxxap2upaCZsq+1kAACH5BAkBAAEALAAAAAAoACgAAAKXjI8By5zf4kOxTVrXNVlv1X0d8IGZGKLnNpYtm8Lr9cqVeuOSvfOW79D9aDHizNhDJidFZhNydEahOaDH6nomtJjp1tutKoNWkvA6JqfRVLHU/QUfau9l2x7G54d1fl995xcIGAdXqMfBNadoYrhH+Mg2KBlpVpbluCiXmMnZ2Sh4GBqJ+ckIOqqJ6LmKSllZmsoq6wpQAAAh+QQJAQABACwAAAAAKAAoAAAClYx/oLvoxuJDkU1a1YUZbJ59nSd2ZXhWqbRa2/gF8Gu2DY3iqs7yrq+xBYEkYvFSM8aSSObE+ZgRl1BHFZNr7pRCavZ5BW2142hY3AN/zWtsmf12p9XxxFl2lpLn1rseztfXZjdIWIf2s5dItwjYKBgo9yg5pHgzJXTEeGlZuenpyPmpGQoKOWkYmSpaSnqKileI2FAAACH5BAkBAAEALAAAAAAoACgAAAKVjB+gu+jG4kORTVrVhRlsnn2dJ3ZleFaptFrb+CXmO9OozeL5VfP99HvAWhpiUdcwkpBH3825AwYdU8xTqlLGhtCosArKMpvfa1mMRae9VvWZfeB2XfPkeLmm18lUcBj+p5dnN8jXZ3YIGEhYuOUn45aoCDkp16hl5IjYJvjWKcnoGQpqyPlpOhr3aElaqrq56Bq7VAAAOw=="); >- height: 100%; >- filter: alpha(opacity=25); /* support: IE8 */ >- opacity: 0.25; >-} >-.ui-progressbar-indeterminate .ui-progressbar-value { >- background-image: none; >-} >-.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; >- -ms-touch-action: none; >- touch-action: none; >-} >-.ui-slider .ui-slider-range { >- position: absolute; >- z-index: 1; >- font-size: .7em; >- display: block; >- border: 0; >- background-position: 0 0; >-} >- >-/* support: IE8 - See #6727 */ >-.ui-slider.ui-state-disabled .ui-slider-handle, >-.ui-slider.ui-state-disabled .ui-slider-range { >- filter: inherit; >-} >- >-.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; >-} >-.ui-tabs { >- position: relative;/* position: relative prevents IE scroll bug (element with position: relative inside container with overflow: auto appear as "fixed") */ >- padding: .2em; >-} >-.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: 0; >- margin: 1px .2em 0 0; >- border-bottom-width: 0; >- padding: 0; >- white-space: nowrap; >-} >-.ui-tabs .ui-tabs-nav .ui-tabs-anchor { >- float: left; >- padding: .5em 1em; >- text-decoration: none; >-} >-.ui-tabs .ui-tabs-nav li.ui-tabs-active { >- margin-bottom: -1px; >- padding-bottom: 1px; >-} >-.ui-tabs .ui-tabs-nav li.ui-tabs-active .ui-tabs-anchor, >-.ui-tabs .ui-tabs-nav li.ui-state-disabled .ui-tabs-anchor, >-.ui-tabs .ui-tabs-nav li.ui-tabs-loading .ui-tabs-anchor { >- cursor: text; >-} >-.ui-tabs-collapsible .ui-tabs-nav li.ui-tabs-active .ui-tabs-anchor { >- cursor: pointer; >-} >-.ui-tabs .ui-tabs-panel { >- display: block; >- border-width: 0; >- padding: 1em 1.4em; >- background: none; >-} >- >-/* 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; >- 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, >-.ui-state-hover a:link, >-.ui-state-hover a:visited, >-.ui-state-focus a, >-.ui-state-focus a:hover, >-.ui-state-focus a:link, >-.ui-state-focus a:visited { >- 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; >-} >- >-/* 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); /* support: IE8 */ >- font-weight: normal; >-} >-.ui-state-disabled, >-.ui-widget-content .ui-state-disabled, >-.ui-widget-header .ui-state-disabled { >- opacity: .35; >- filter:Alpha(Opacity=35); /* support: IE8 */ >- background-image: none; >-} >-.ui-state-disabled .ui-icon { >- filter:Alpha(Opacity=35); /* support: IE8 - See #6059 */ >-} >- >-/* Icons >-----------------------------------*/ >- >-/* states and images */ >-.ui-icon { >- width: 16px; >- height: 16px; >-} >-.ui-icon, >-.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-blank { background-position: 16px 16px; } >-.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-on { background-position: -96px -144px; } >-.ui-icon-radio-off { 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 { >- border-top-left-radius: 4px; >-} >-.ui-corner-all, >-.ui-corner-top, >-.ui-corner-right, >-.ui-corner-tr { >- border-top-right-radius: 4px; >-} >-.ui-corner-all, >-.ui-corner-bottom, >-.ui-corner-left, >-.ui-corner-bl { >- border-bottom-left-radius: 4px; >-} >-.ui-corner-all, >-.ui-corner-bottom, >-.ui-corner-right, >-.ui-corner-br { >- border-bottom-right-radius: 4px; >-} >- >-/* Overlays */ >-.ui-widget-overlay { >- background: #aaaaaa; >- opacity: .3; >- filter: Alpha(Opacity=30); /* support: IE8 */ >-} >-.ui-widget-shadow { >- margin: -8px 0 0 -8px; >- padding: 8px; >- background: #aaaaaa; >- opacity: .3; >- filter: Alpha(Opacity=30); /* support: IE8 */ >- border-radius: 8px; >-} >diff --git a/koha-tmpl/intranet-tmpl/lib/jquery/jquery-ui-1.11.4.js b/koha-tmpl/intranet-tmpl/lib/jquery/jquery-ui-1.11.4.js >deleted file mode 100644 >index 94e7963e37..0000000000 >--- a/koha-tmpl/intranet-tmpl/lib/jquery/jquery-ui-1.11.4.js >+++ /dev/null >@@ -1,11711 +0,0 @@ >-/*! jQuery UI - v1.11.4 - 2016-02-22 >-* http://jqueryui.com >-* Includes: core.js, widget.js, mouse.js, position.js, draggable.js, droppable.js, sortable.js, accordion.js, autocomplete.js, button.js, datepicker.js, menu.js, progressbar.js, slider.js, tabs.js, effect.js, effect-highlight.js >-* Copyright jQuery Foundation and other contributors; Licensed MIT */ >- >-(function( factory ) { >- if ( typeof define === "function" && define.amd ) { >- >- // AMD. Register as an anonymous module. >- define([ "jquery" ], factory ); >- } else { >- >- // Browser globals >- factory( jQuery ); >- } >-}(function( $ ) { >-/*! >- * jQuery UI Core 1.11.4 >- * http://jqueryui.com >- * >- * Copyright jQuery Foundation and other contributors >- * Released under the MIT license. >- * http://jquery.org/license >- * >- * http://api.jqueryui.com/category/ui-core/ >- */ >- >- >-// $.ui might exist from components with no dependencies, e.g., $.ui.position >-$.ui = $.ui || {}; >- >-$.extend( $.ui, { >- version: "1.11.4", >- >- keyCode: { >- BACKSPACE: 8, >- COMMA: 188, >- DELETE: 46, >- DOWN: 40, >- END: 35, >- ENTER: 13, >- ESCAPE: 27, >- HOME: 36, >- LEFT: 37, >- PAGE_DOWN: 34, >- PAGE_UP: 33, >- PERIOD: 190, >- RIGHT: 39, >- SPACE: 32, >- TAB: 9, >- UP: 38 >- } >-}); >- >-// plugins >-$.fn.extend({ >- scrollParent: function( includeHidden ) { >- var position = this.css( "position" ), >- excludeStaticParent = position === "absolute", >- overflowRegex = includeHidden ? /(auto|scroll|hidden)/ : /(auto|scroll)/, >- scrollParent = this.parents().filter( function() { >- var parent = $( this ); >- if ( excludeStaticParent && parent.css( "position" ) === "static" ) { >- return false; >- } >- return overflowRegex.test( parent.css( "overflow" ) + parent.css( "overflow-y" ) + parent.css( "overflow-x" ) ); >- }).eq( 0 ); >- >- return position === "fixed" || !scrollParent.length ? $( this[ 0 ].ownerDocument || document ) : scrollParent; >- }, >- >- uniqueId: (function() { >- var uuid = 0; >- >- return function() { >- return this.each(function() { >- if ( !this.id ) { >- this.id = "ui-id-" + ( ++uuid ); >- } >- }); >- }; >- })(), >- >- removeUniqueId: function() { >- return this.each(function() { >- if ( /^ui-id-\d+$/.test( this.id ) ) { >- $( this ).removeAttr( "id" ); >- } >- }); >- } >-}); >- >-// selectors >-function focusable( element, isTabIndexNotNaN ) { >- var map, mapName, img, >- nodeName = element.nodeName.toLowerCase(); >- if ( "area" === nodeName ) { >- map = element.parentNode; >- mapName = map.name; >- if ( !element.href || !mapName || map.nodeName.toLowerCase() !== "map" ) { >- return false; >- } >- img = $( "img[usemap='#" + mapName + "']" )[ 0 ]; >- return !!img && visible( img ); >- } >- return ( /^(input|select|textarea|button|object)$/.test( nodeName ) ? >- !element.disabled : >- "a" === nodeName ? >- element.href || isTabIndexNotNaN : >- isTabIndexNotNaN) && >- // the element and all of its ancestors must be visible >- visible( element ); >-} >- >-function visible( element ) { >- return $.expr.filters.visible( element ) && >- !$( element ).parents().addBack().filter(function() { >- return $.css( this, "visibility" ) === "hidden"; >- }).length; >-} >- >-$.extend( $.expr[ ":" ], { >- data: $.expr.createPseudo ? >- $.expr.createPseudo(function( dataName ) { >- return function( elem ) { >- return !!$.data( elem, dataName ); >- }; >- }) : >- // support: jQuery <1.8 >- function( elem, i, match ) { >- return !!$.data( elem, match[ 3 ] ); >- }, >- >- focusable: function( element ) { >- return focusable( element, !isNaN( $.attr( element, "tabindex" ) ) ); >- }, >- >- tabbable: function( element ) { >- var tabIndex = $.attr( element, "tabindex" ), >- isTabIndexNaN = isNaN( tabIndex ); >- return ( isTabIndexNaN || tabIndex >= 0 ) && focusable( element, !isTabIndexNaN ); >- } >-}); >- >-// support: jQuery <1.8 >-if ( !$( "<a>" ).outerWidth( 1 ).jquery ) { >- $.each( [ "Width", "Height" ], function( i, name ) { >- var side = name === "Width" ? [ "Left", "Right" ] : [ "Top", "Bottom" ], >- type = name.toLowerCase(), >- orig = { >- innerWidth: $.fn.innerWidth, >- innerHeight: $.fn.innerHeight, >- outerWidth: $.fn.outerWidth, >- outerHeight: $.fn.outerHeight >- }; >- >- function reduce( elem, size, border, margin ) { >- $.each( side, function() { >- size -= parseFloat( $.css( elem, "padding" + this ) ) || 0; >- if ( border ) { >- size -= parseFloat( $.css( elem, "border" + this + "Width" ) ) || 0; >- } >- if ( margin ) { >- size -= parseFloat( $.css( elem, "margin" + this ) ) || 0; >- } >- }); >- return size; >- } >- >- $.fn[ "inner" + name ] = function( size ) { >- if ( size === undefined ) { >- return orig[ "inner" + name ].call( this ); >- } >- >- return this.each(function() { >- $( this ).css( type, reduce( this, size ) + "px" ); >- }); >- }; >- >- $.fn[ "outer" + name] = function( size, margin ) { >- if ( typeof size !== "number" ) { >- return orig[ "outer" + name ].call( this, size ); >- } >- >- return this.each(function() { >- $( this).css( type, reduce( this, size, true, margin ) + "px" ); >- }); >- }; >- }); >-} >- >-// support: jQuery <1.8 >-if ( !$.fn.addBack ) { >- $.fn.addBack = function( selector ) { >- return this.add( selector == null ? >- this.prevObject : this.prevObject.filter( selector ) >- ); >- }; >-} >- >-// support: jQuery 1.6.1, 1.6.2 (http://bugs.jquery.com/ticket/9413) >-if ( $( "<a>" ).data( "a-b", "a" ).removeData( "a-b" ).data( "a-b" ) ) { >- $.fn.removeData = (function( removeData ) { >- return function( key ) { >- if ( arguments.length ) { >- return removeData.call( this, $.camelCase( key ) ); >- } else { >- return removeData.call( this ); >- } >- }; >- })( $.fn.removeData ); >-} >- >-// deprecated >-$.ui.ie = !!/msie [\w.]+/.exec( navigator.userAgent.toLowerCase() ); >- >-$.fn.extend({ >- focus: (function( orig ) { >- return function( delay, fn ) { >- return typeof delay === "number" ? >- this.each(function() { >- var elem = this; >- setTimeout(function() { >- $( elem ).focus(); >- if ( fn ) { >- fn.call( elem ); >- } >- }, delay ); >- }) : >- orig.apply( this, arguments ); >- }; >- })( $.fn.focus ), >- >- disableSelection: (function() { >- var eventType = "onselectstart" in document.createElement( "div" ) ? >- "selectstart" : >- "mousedown"; >- >- return function() { >- return this.bind( eventType + ".ui-disableSelection", function( event ) { >- event.preventDefault(); >- }); >- }; >- })(), >- >- enableSelection: function() { >- return this.unbind( ".ui-disableSelection" ); >- }, >- >- zIndex: function( zIndex ) { >- if ( zIndex !== undefined ) { >- return this.css( "zIndex", zIndex ); >- } >- >- if ( this.length ) { >- var elem = $( this[ 0 ] ), position, value; >- while ( elem.length && elem[ 0 ] !== document ) { >- // Ignore z-index if position is set to a value where z-index is ignored by the browser >- // This makes behavior of this function consistent across browsers >- // WebKit always returns auto if the element is positioned >- position = elem.css( "position" ); >- if ( position === "absolute" || position === "relative" || position === "fixed" ) { >- // IE returns 0 when zIndex is not specified >- // other browsers return a string >- // we ignore the case of nested elements with an explicit value of 0 >- // <div style="z-index: -10;"><div style="z-index: 0;"></div></div> >- value = parseInt( elem.css( "zIndex" ), 10 ); >- if ( !isNaN( value ) && value !== 0 ) { >- return value; >- } >- } >- elem = elem.parent(); >- } >- } >- >- return 0; >- } >-}); >- >-// $.ui.plugin is deprecated. Use $.widget() extensions instead. >-$.ui.plugin = { >- add: function( module, option, set ) { >- var i, >- proto = $.ui[ module ].prototype; >- for ( i in set ) { >- proto.plugins[ i ] = proto.plugins[ i ] || []; >- proto.plugins[ i ].push( [ option, set[ i ] ] ); >- } >- }, >- call: function( instance, name, args, allowDisconnected ) { >- var i, >- set = instance.plugins[ name ]; >- >- if ( !set ) { >- return; >- } >- >- if ( !allowDisconnected && ( !instance.element[ 0 ].parentNode || instance.element[ 0 ].parentNode.nodeType === 11 ) ) { >- return; >- } >- >- for ( i = 0; i < set.length; i++ ) { >- if ( instance.options[ set[ i ][ 0 ] ] ) { >- set[ i ][ 1 ].apply( instance.element, args ); >- } >- } >- } >-}; >- >- >-/*! >- * jQuery UI Widget 1.11.4 >- * http://jqueryui.com >- * >- * Copyright jQuery Foundation and other contributors >- * Released under the MIT license. >- * http://jquery.org/license >- * >- * http://api.jqueryui.com/jQuery.widget/ >- */ >- >- >-var widget_uuid = 0, >- widget_slice = Array.prototype.slice; >- >-$.cleanData = (function( orig ) { >- return function( elems ) { >- var events, elem, i; >- for ( i = 0; (elem = elems[i]) != null; i++ ) { >- try { >- >- // Only trigger remove when necessary to save time >- events = $._data( elem, "events" ); >- if ( events && events.remove ) { >- $( elem ).triggerHandler( "remove" ); >- } >- >- // http://bugs.jquery.com/ticket/8235 >- } catch ( e ) {} >- } >- orig( elems ); >- }; >-})( $.cleanData ); >- >-$.widget = function( name, base, prototype ) { >- var fullName, existingConstructor, constructor, basePrototype, >- // proxiedPrototype allows the provided prototype to remain unmodified >- // so that it can be used as a mixin for multiple widgets (#8876) >- proxiedPrototype = {}, >- namespace = name.split( "." )[ 0 ]; >- >- name = name.split( "." )[ 1 ]; >- fullName = namespace + "-" + name; >- >- if ( !prototype ) { >- prototype = base; >- base = $.Widget; >- } >- >- // create selector for plugin >- $.expr[ ":" ][ fullName.toLowerCase() ] = function( elem ) { >- return !!$.data( elem, fullName ); >- }; >- >- $[ namespace ] = $[ namespace ] || {}; >- existingConstructor = $[ namespace ][ name ]; >- constructor = $[ namespace ][ name ] = function( options, element ) { >- // allow instantiation without "new" keyword >- if ( !this._createWidget ) { >- return new constructor( options, element ); >- } >- >- // allow instantiation without initializing for simple inheritance >- // must use "new" keyword (the code above always passes args) >- if ( arguments.length ) { >- this._createWidget( options, element ); >- } >- }; >- // extend with the existing constructor to carry over any static properties >- $.extend( constructor, existingConstructor, { >- version: prototype.version, >- // copy the object used to create the prototype in case we need to >- // redefine the widget later >- _proto: $.extend( {}, prototype ), >- // track widgets that inherit from this widget in case this widget is >- // redefined after a widget inherits from it >- _childConstructors: [] >- }); >- >- basePrototype = new base(); >- // we need to make the options hash a property directly on the new instance >- // otherwise we'll modify the options hash on the prototype that we're >- // inheriting from >- basePrototype.options = $.widget.extend( {}, basePrototype.options ); >- $.each( prototype, function( prop, value ) { >- if ( !$.isFunction( value ) ) { >- proxiedPrototype[ prop ] = value; >- return; >- } >- proxiedPrototype[ prop ] = (function() { >- var _super = function() { >- return base.prototype[ prop ].apply( this, arguments ); >- }, >- _superApply = function( args ) { >- return base.prototype[ prop ].apply( this, args ); >- }; >- return function() { >- var __super = this._super, >- __superApply = this._superApply, >- returnValue; >- >- this._super = _super; >- this._superApply = _superApply; >- >- returnValue = value.apply( this, arguments ); >- >- this._super = __super; >- this._superApply = __superApply; >- >- return returnValue; >- }; >- })(); >- }); >- constructor.prototype = $.widget.extend( basePrototype, { >- // TODO: remove support for widgetEventPrefix >- // always use the name + a colon as the prefix, e.g., draggable:start >- // don't prefix for widgets that aren't DOM-based >- widgetEventPrefix: existingConstructor ? (basePrototype.widgetEventPrefix || name) : name >- }, proxiedPrototype, { >- constructor: constructor, >- namespace: namespace, >- widgetName: name, >- widgetFullName: fullName >- }); >- >- // If this widget is being redefined then we need to find all widgets that >- // are inheriting from it and redefine all of them so that they inherit from >- // the new version of this widget. We're essentially trying to replace one >- // level in the prototype chain. >- if ( existingConstructor ) { >- $.each( existingConstructor._childConstructors, function( i, child ) { >- var childPrototype = child.prototype; >- >- // redefine the child widget using the same prototype that was >- // originally used, but inherit from the new version of the base >- $.widget( childPrototype.namespace + "." + childPrototype.widgetName, constructor, child._proto ); >- }); >- // remove the list of existing child constructors from the old constructor >- // so the old child constructors can be garbage collected >- delete existingConstructor._childConstructors; >- } else { >- base._childConstructors.push( constructor ); >- } >- >- $.widget.bridge( name, constructor ); >- >- return constructor; >-}; >- >-$.widget.extend = function( target ) { >- var input = widget_slice.call( arguments, 1 ), >- inputIndex = 0, >- inputLength = input.length, >- key, >- value; >- for ( ; inputIndex < inputLength; inputIndex++ ) { >- for ( key in input[ inputIndex ] ) { >- value = input[ inputIndex ][ key ]; >- if ( input[ inputIndex ].hasOwnProperty( key ) && value !== undefined ) { >- // Clone objects >- if ( $.isPlainObject( value ) ) { >- target[ key ] = $.isPlainObject( target[ key ] ) ? >- $.widget.extend( {}, target[ key ], value ) : >- // Don't extend strings, arrays, etc. with objects >- $.widget.extend( {}, value ); >- // Copy everything else by reference >- } else { >- target[ key ] = value; >- } >- } >- } >- } >- return target; >-}; >- >-$.widget.bridge = function( name, object ) { >- var fullName = object.prototype.widgetFullName || name; >- $.fn[ name ] = function( options ) { >- var isMethodCall = typeof options === "string", >- args = widget_slice.call( arguments, 1 ), >- returnValue = this; >- >- if ( isMethodCall ) { >- this.each(function() { >- var methodValue, >- instance = $.data( this, fullName ); >- if ( options === "instance" ) { >- returnValue = instance; >- return false; >- } >- if ( !instance ) { >- return $.error( "cannot call methods on " + name + " prior to initialization; " + >- "attempted to call method '" + options + "'" ); >- } >- if ( !$.isFunction( instance[options] ) || options.charAt( 0 ) === "_" ) { >- return $.error( "no such method '" + options + "' for " + name + " widget instance" ); >- } >- methodValue = instance[ options ].apply( instance, args ); >- if ( methodValue !== instance && methodValue !== undefined ) { >- returnValue = methodValue && methodValue.jquery ? >- returnValue.pushStack( methodValue.get() ) : >- methodValue; >- return false; >- } >- }); >- } else { >- >- // Allow multiple hashes to be passed on init >- if ( args.length ) { >- options = $.widget.extend.apply( null, [ options ].concat(args) ); >- } >- >- this.each(function() { >- var instance = $.data( this, fullName ); >- if ( instance ) { >- instance.option( options || {} ); >- if ( instance._init ) { >- instance._init(); >- } >- } else { >- $.data( this, fullName, new object( options, this ) ); >- } >- }); >- } >- >- return returnValue; >- }; >-}; >- >-$.Widget = function( /* options, element */ ) {}; >-$.Widget._childConstructors = []; >- >-$.Widget.prototype = { >- widgetName: "widget", >- widgetEventPrefix: "", >- defaultElement: "<div>", >- options: { >- disabled: false, >- >- // callbacks >- create: null >- }, >- _createWidget: function( options, element ) { >- element = $( element || this.defaultElement || this )[ 0 ]; >- this.element = $( element ); >- this.uuid = widget_uuid++; >- this.eventNamespace = "." + this.widgetName + this.uuid; >- >- this.bindings = $(); >- this.hoverable = $(); >- this.focusable = $(); >- >- if ( element !== this ) { >- $.data( element, this.widgetFullName, this ); >- this._on( true, this.element, { >- remove: function( event ) { >- if ( event.target === element ) { >- this.destroy(); >- } >- } >- }); >- this.document = $( element.style ? >- // element within the document >- element.ownerDocument : >- // element is window or document >- element.document || element ); >- this.window = $( this.document[0].defaultView || this.document[0].parentWindow ); >- } >- >- this.options = $.widget.extend( {}, >- this.options, >- this._getCreateOptions(), >- options ); >- >- this._create(); >- this._trigger( "create", null, this._getCreateEventData() ); >- this._init(); >- }, >- _getCreateOptions: $.noop, >- _getCreateEventData: $.noop, >- _create: $.noop, >- _init: $.noop, >- >- destroy: function() { >- this._destroy(); >- // we can probably remove the unbind calls in 2.0 >- // all event bindings should go through this._on() >- this.element >- .unbind( this.eventNamespace ) >- .removeData( this.widgetFullName ) >- // support: jquery <1.6.3 >- // http://bugs.jquery.com/ticket/9413 >- .removeData( $.camelCase( this.widgetFullName ) ); >- this.widget() >- .unbind( this.eventNamespace ) >- .removeAttr( "aria-disabled" ) >- .removeClass( >- this.widgetFullName + "-disabled " + >- "ui-state-disabled" ); >- >- // clean up events and states >- this.bindings.unbind( this.eventNamespace ); >- this.hoverable.removeClass( "ui-state-hover" ); >- this.focusable.removeClass( "ui-state-focus" ); >- }, >- _destroy: $.noop, >- >- widget: function() { >- return this.element; >- }, >- >- option: function( key, value ) { >- var options = key, >- parts, >- curOption, >- i; >- >- if ( arguments.length === 0 ) { >- // don't return a reference to the internal hash >- return $.widget.extend( {}, this.options ); >- } >- >- if ( typeof key === "string" ) { >- // handle nested keys, e.g., "foo.bar" => { foo: { bar: ___ } } >- options = {}; >- parts = key.split( "." ); >- key = parts.shift(); >- if ( parts.length ) { >- curOption = options[ key ] = $.widget.extend( {}, this.options[ key ] ); >- for ( i = 0; i < parts.length - 1; i++ ) { >- curOption[ parts[ i ] ] = curOption[ parts[ i ] ] || {}; >- curOption = curOption[ parts[ i ] ]; >- } >- key = parts.pop(); >- if ( arguments.length === 1 ) { >- return curOption[ key ] === undefined ? null : curOption[ key ]; >- } >- curOption[ key ] = value; >- } else { >- if ( arguments.length === 1 ) { >- return this.options[ key ] === undefined ? null : this.options[ key ]; >- } >- options[ key ] = value; >- } >- } >- >- this._setOptions( options ); >- >- return this; >- }, >- _setOptions: function( options ) { >- var key; >- >- for ( key in options ) { >- this._setOption( key, options[ key ] ); >- } >- >- return this; >- }, >- _setOption: function( key, value ) { >- this.options[ key ] = value; >- >- if ( key === "disabled" ) { >- this.widget() >- .toggleClass( this.widgetFullName + "-disabled", !!value ); >- >- // If the widget is becoming disabled, then nothing is interactive >- if ( value ) { >- this.hoverable.removeClass( "ui-state-hover" ); >- this.focusable.removeClass( "ui-state-focus" ); >- } >- } >- >- return this; >- }, >- >- enable: function() { >- return this._setOptions({ disabled: false }); >- }, >- disable: function() { >- return this._setOptions({ disabled: true }); >- }, >- >- _on: function( suppressDisabledCheck, element, handlers ) { >- var delegateElement, >- instance = this; >- >- // no suppressDisabledCheck flag, shuffle arguments >- if ( typeof suppressDisabledCheck !== "boolean" ) { >- handlers = element; >- element = suppressDisabledCheck; >- suppressDisabledCheck = false; >- } >- >- // no element argument, shuffle and use this.element >- if ( !handlers ) { >- handlers = element; >- element = this.element; >- delegateElement = this.widget(); >- } else { >- element = delegateElement = $( element ); >- this.bindings = this.bindings.add( element ); >- } >- >- $.each( handlers, function( event, handler ) { >- function handlerProxy() { >- // allow widgets to customize the disabled handling >- // - disabled as an array instead of boolean >- // - disabled class as method for disabling individual parts >- if ( !suppressDisabledCheck && >- ( instance.options.disabled === true || >- $( this ).hasClass( "ui-state-disabled" ) ) ) { >- return; >- } >- return ( typeof handler === "string" ? instance[ handler ] : handler ) >- .apply( instance, arguments ); >- } >- >- // copy the guid so direct unbinding works >- if ( typeof handler !== "string" ) { >- handlerProxy.guid = handler.guid = >- handler.guid || handlerProxy.guid || $.guid++; >- } >- >- var match = event.match( /^([\w:-]*)\s*(.*)$/ ), >- eventName = match[1] + instance.eventNamespace, >- selector = match[2]; >- if ( selector ) { >- delegateElement.delegate( selector, eventName, handlerProxy ); >- } else { >- element.bind( eventName, handlerProxy ); >- } >- }); >- }, >- >- _off: function( element, eventName ) { >- eventName = (eventName || "").split( " " ).join( this.eventNamespace + " " ) + >- this.eventNamespace; >- element.unbind( eventName ).undelegate( eventName ); >- >- // Clear the stack to avoid memory leaks (#10056) >- this.bindings = $( this.bindings.not( element ).get() ); >- this.focusable = $( this.focusable.not( element ).get() ); >- this.hoverable = $( this.hoverable.not( element ).get() ); >- }, >- >- _delay: function( handler, delay ) { >- function handlerProxy() { >- return ( typeof handler === "string" ? instance[ handler ] : handler ) >- .apply( instance, arguments ); >- } >- var instance = this; >- return setTimeout( handlerProxy, delay || 0 ); >- }, >- >- _hoverable: function( element ) { >- this.hoverable = this.hoverable.add( element ); >- this._on( element, { >- mouseenter: function( event ) { >- $( event.currentTarget ).addClass( "ui-state-hover" ); >- }, >- mouseleave: function( event ) { >- $( event.currentTarget ).removeClass( "ui-state-hover" ); >- } >- }); >- }, >- >- _focusable: function( element ) { >- this.focusable = this.focusable.add( element ); >- this._on( element, { >- focusin: function( event ) { >- $( event.currentTarget ).addClass( "ui-state-focus" ); >- }, >- focusout: function( event ) { >- $( event.currentTarget ).removeClass( "ui-state-focus" ); >- } >- }); >- }, >- >- _trigger: function( type, event, data ) { >- var prop, orig, >- callback = this.options[ type ]; >- >- data = data || {}; >- event = $.Event( event ); >- event.type = ( type === this.widgetEventPrefix ? >- type : >- this.widgetEventPrefix + type ).toLowerCase(); >- // the original event may come from any element >- // so we need to reset the target on the new event >- event.target = this.element[ 0 ]; >- >- // copy original event properties over to the new event >- orig = event.originalEvent; >- if ( orig ) { >- for ( prop in orig ) { >- if ( !( prop in event ) ) { >- event[ prop ] = orig[ prop ]; >- } >- } >- } >- >- this.element.trigger( event, data ); >- return !( $.isFunction( callback ) && >- callback.apply( this.element[0], [ event ].concat( data ) ) === false || >- event.isDefaultPrevented() ); >- } >-}; >- >-$.each( { show: "fadeIn", hide: "fadeOut" }, function( method, defaultEffect ) { >- $.Widget.prototype[ "_" + method ] = function( element, options, callback ) { >- if ( typeof options === "string" ) { >- options = { effect: options }; >- } >- var hasOptions, >- effectName = !options ? >- method : >- options === true || typeof options === "number" ? >- defaultEffect : >- options.effect || defaultEffect; >- options = options || {}; >- if ( typeof options === "number" ) { >- options = { duration: options }; >- } >- hasOptions = !$.isEmptyObject( options ); >- options.complete = callback; >- if ( options.delay ) { >- element.delay( options.delay ); >- } >- if ( hasOptions && $.effects && $.effects.effect[ effectName ] ) { >- element[ method ]( options ); >- } else if ( effectName !== method && element[ effectName ] ) { >- element[ effectName ]( options.duration, options.easing, callback ); >- } else { >- element.queue(function( next ) { >- $( this )[ method ](); >- if ( callback ) { >- callback.call( element[ 0 ] ); >- } >- next(); >- }); >- } >- }; >-}); >- >-var widget = $.widget; >- >- >-/*! >- * jQuery UI Mouse 1.11.4 >- * http://jqueryui.com >- * >- * Copyright jQuery Foundation and other contributors >- * Released under the MIT license. >- * http://jquery.org/license >- * >- * http://api.jqueryui.com/mouse/ >- */ >- >- >-var mouseHandled = false; >-$( document ).mouseup( function() { >- mouseHandled = false; >-}); >- >-var mouse = $.widget("ui.mouse", { >- version: "1.11.4", >- options: { >- cancel: "input,textarea,button,select,option", >- distance: 1, >- delay: 0 >- }, >- _mouseInit: function() { >- var that = this; >- >- this.element >- .bind("mousedown." + this.widgetName, function(event) { >- return that._mouseDown(event); >- }) >- .bind("click." + this.widgetName, function(event) { >- if (true === $.data(event.target, that.widgetName + ".preventClickEvent")) { >- $.removeData(event.target, that.widgetName + ".preventClickEvent"); >- event.stopImmediatePropagation(); >- return false; >- } >- }); >- >- this.started = false; >- }, >- >- // TODO: make sure destroying one instance of mouse doesn't mess with >- // other instances of mouse >- _mouseDestroy: function() { >- this.element.unbind("." + this.widgetName); >- if ( this._mouseMoveDelegate ) { >- this.document >- .unbind("mousemove." + this.widgetName, this._mouseMoveDelegate) >- .unbind("mouseup." + this.widgetName, this._mouseUpDelegate); >- } >- }, >- >- _mouseDown: function(event) { >- // don't let more than one widget handle mouseStart >- if ( mouseHandled ) { >- return; >- } >- >- this._mouseMoved = false; >- >- // we may have missed mouseup (out of window) >- (this._mouseStarted && this._mouseUp(event)); >- >- this._mouseDownEvent = event; >- >- var that = this, >- btnIsLeft = (event.which === 1), >- // event.target.nodeName works around a bug in IE 8 with >- // disabled inputs (#7620) >- elIsCancel = (typeof this.options.cancel === "string" && event.target.nodeName ? $(event.target).closest(this.options.cancel).length : false); >- if (!btnIsLeft || elIsCancel || !this._mouseCapture(event)) { >- return true; >- } >- >- this.mouseDelayMet = !this.options.delay; >- if (!this.mouseDelayMet) { >- this._mouseDelayTimer = setTimeout(function() { >- that.mouseDelayMet = true; >- }, this.options.delay); >- } >- >- if (this._mouseDistanceMet(event) && this._mouseDelayMet(event)) { >- this._mouseStarted = (this._mouseStart(event) !== false); >- if (!this._mouseStarted) { >- event.preventDefault(); >- return true; >- } >- } >- >- // Click event may never have fired (Gecko & Opera) >- if (true === $.data(event.target, this.widgetName + ".preventClickEvent")) { >- $.removeData(event.target, this.widgetName + ".preventClickEvent"); >- } >- >- // these delegates are required to keep context >- this._mouseMoveDelegate = function(event) { >- return that._mouseMove(event); >- }; >- this._mouseUpDelegate = function(event) { >- return that._mouseUp(event); >- }; >- >- this.document >- .bind( "mousemove." + this.widgetName, this._mouseMoveDelegate ) >- .bind( "mouseup." + this.widgetName, this._mouseUpDelegate ); >- >- event.preventDefault(); >- >- mouseHandled = true; >- return true; >- }, >- >- _mouseMove: function(event) { >- // Only check for mouseups outside the document if you've moved inside the document >- // at least once. This prevents the firing of mouseup in the case of IE<9, which will >- // fire a mousemove event if content is placed under the cursor. See #7778 >- // Support: IE <9 >- if ( this._mouseMoved ) { >- // IE mouseup check - mouseup happened when mouse was out of window >- if ($.ui.ie && ( !document.documentMode || document.documentMode < 9 ) && !event.button) { >- return this._mouseUp(event); >- >- // Iframe mouseup check - mouseup occurred in another document >- } else if ( !event.which ) { >- return this._mouseUp( event ); >- } >- } >- >- if ( event.which || event.button ) { >- this._mouseMoved = true; >- } >- >- if (this._mouseStarted) { >- this._mouseDrag(event); >- return event.preventDefault(); >- } >- >- if (this._mouseDistanceMet(event) && this._mouseDelayMet(event)) { >- this._mouseStarted = >- (this._mouseStart(this._mouseDownEvent, event) !== false); >- (this._mouseStarted ? this._mouseDrag(event) : this._mouseUp(event)); >- } >- >- return !this._mouseStarted; >- }, >- >- _mouseUp: function(event) { >- this.document >- .unbind( "mousemove." + this.widgetName, this._mouseMoveDelegate ) >- .unbind( "mouseup." + this.widgetName, this._mouseUpDelegate ); >- >- if (this._mouseStarted) { >- this._mouseStarted = false; >- >- if (event.target === this._mouseDownEvent.target) { >- $.data(event.target, this.widgetName + ".preventClickEvent", true); >- } >- >- this._mouseStop(event); >- } >- >- mouseHandled = false; >- return false; >- }, >- >- _mouseDistanceMet: function(event) { >- return (Math.max( >- Math.abs(this._mouseDownEvent.pageX - event.pageX), >- Math.abs(this._mouseDownEvent.pageY - event.pageY) >- ) >= this.options.distance >- ); >- }, >- >- _mouseDelayMet: function(/* event */) { >- return this.mouseDelayMet; >- }, >- >- // These are placeholder methods, to be overriden by extending plugin >- _mouseStart: function(/* event */) {}, >- _mouseDrag: function(/* event */) {}, >- _mouseStop: function(/* event */) {}, >- _mouseCapture: function(/* event */) { return true; } >-}); >- >- >-/*! >- * jQuery UI Position 1.11.4 >- * http://jqueryui.com >- * >- * Copyright jQuery Foundation and other contributors >- * Released under the MIT license. >- * http://jquery.org/license >- * >- * http://api.jqueryui.com/position/ >- */ >- >-(function() { >- >-$.ui = $.ui || {}; >- >-var cachedScrollbarWidth, supportsOffsetFractions, >- max = Math.max, >- abs = Math.abs, >- round = Math.round, >- rhorizontal = /left|center|right/, >- rvertical = /top|center|bottom/, >- roffset = /[\+\-]\d+(\.[\d]+)?%?/, >- rposition = /^\w+/, >- rpercent = /%$/, >- _position = $.fn.position; >- >-function getOffsets( offsets, width, height ) { >- return [ >- parseFloat( offsets[ 0 ] ) * ( rpercent.test( offsets[ 0 ] ) ? width / 100 : 1 ), >- parseFloat( offsets[ 1 ] ) * ( rpercent.test( offsets[ 1 ] ) ? height / 100 : 1 ) >- ]; >-} >- >-function parseCss( element, property ) { >- return parseInt( $.css( element, property ), 10 ) || 0; >-} >- >-function getDimensions( elem ) { >- var raw = elem[0]; >- if ( raw.nodeType === 9 ) { >- return { >- width: elem.width(), >- height: elem.height(), >- offset: { top: 0, left: 0 } >- }; >- } >- if ( $.isWindow( raw ) ) { >- return { >- width: elem.width(), >- height: elem.height(), >- offset: { top: elem.scrollTop(), left: elem.scrollLeft() } >- }; >- } >- if ( raw.preventDefault ) { >- return { >- width: 0, >- height: 0, >- offset: { top: raw.pageY, left: raw.pageX } >- }; >- } >- return { >- width: elem.outerWidth(), >- height: elem.outerHeight(), >- offset: elem.offset() >- }; >-} >- >-$.position = { >- scrollbarWidth: function() { >- if ( cachedScrollbarWidth !== undefined ) { >- return cachedScrollbarWidth; >- } >- var w1, w2, >- div = $( "<div style='display:block;position:absolute;width:50px;height:50px;overflow:hidden;'><div style='height:100px;width:auto;'></div></div>" ), >- innerDiv = div.children()[0]; >- >- $( "body" ).append( div ); >- w1 = innerDiv.offsetWidth; >- div.css( "overflow", "scroll" ); >- >- w2 = innerDiv.offsetWidth; >- >- if ( w1 === w2 ) { >- w2 = div[0].clientWidth; >- } >- >- div.remove(); >- >- return (cachedScrollbarWidth = w1 - w2); >- }, >- getScrollInfo: function( within ) { >- var overflowX = within.isWindow || within.isDocument ? "" : >- within.element.css( "overflow-x" ), >- overflowY = within.isWindow || within.isDocument ? "" : >- within.element.css( "overflow-y" ), >- hasOverflowX = overflowX === "scroll" || >- ( overflowX === "auto" && within.width < within.element[0].scrollWidth ), >- hasOverflowY = overflowY === "scroll" || >- ( overflowY === "auto" && within.height < within.element[0].scrollHeight ); >- return { >- width: hasOverflowY ? $.position.scrollbarWidth() : 0, >- height: hasOverflowX ? $.position.scrollbarWidth() : 0 >- }; >- }, >- getWithinInfo: function( element ) { >- var withinElement = $( element || window ), >- isWindow = $.isWindow( withinElement[0] ), >- isDocument = !!withinElement[ 0 ] && withinElement[ 0 ].nodeType === 9; >- return { >- element: withinElement, >- isWindow: isWindow, >- isDocument: isDocument, >- offset: withinElement.offset() || { left: 0, top: 0 }, >- scrollLeft: withinElement.scrollLeft(), >- scrollTop: withinElement.scrollTop(), >- >- // support: jQuery 1.6.x >- // jQuery 1.6 doesn't support .outerWidth/Height() on documents or windows >- width: isWindow || isDocument ? withinElement.width() : withinElement.outerWidth(), >- height: isWindow || isDocument ? withinElement.height() : withinElement.outerHeight() >- }; >- } >-}; >- >-$.fn.position = function( options ) { >- if ( !options || !options.of ) { >- return _position.apply( this, arguments ); >- } >- >- // make a copy, we don't want to modify arguments >- options = $.extend( {}, options ); >- >- var atOffset, targetWidth, targetHeight, targetOffset, basePosition, dimensions, >- target = $( options.of ), >- within = $.position.getWithinInfo( options.within ), >- scrollInfo = $.position.getScrollInfo( within ), >- collision = ( options.collision || "flip" ).split( " " ), >- offsets = {}; >- >- dimensions = getDimensions( target ); >- if ( target[0].preventDefault ) { >- // force left top to allow flipping >- options.at = "left top"; >- } >- targetWidth = dimensions.width; >- targetHeight = dimensions.height; >- targetOffset = dimensions.offset; >- // clone to reuse original targetOffset later >- basePosition = $.extend( {}, targetOffset ); >- >- // force my and at to have valid horizontal and vertical positions >- // if a value is missing or invalid, it will be converted to center >- $.each( [ "my", "at" ], function() { >- var pos = ( options[ this ] || "" ).split( " " ), >- horizontalOffset, >- verticalOffset; >- >- if ( pos.length === 1) { >- pos = rhorizontal.test( pos[ 0 ] ) ? >- pos.concat( [ "center" ] ) : >- rvertical.test( pos[ 0 ] ) ? >- [ "center" ].concat( pos ) : >- [ "center", "center" ]; >- } >- pos[ 0 ] = rhorizontal.test( pos[ 0 ] ) ? pos[ 0 ] : "center"; >- pos[ 1 ] = rvertical.test( pos[ 1 ] ) ? pos[ 1 ] : "center"; >- >- // calculate offsets >- horizontalOffset = roffset.exec( pos[ 0 ] ); >- verticalOffset = roffset.exec( pos[ 1 ] ); >- offsets[ this ] = [ >- horizontalOffset ? horizontalOffset[ 0 ] : 0, >- verticalOffset ? verticalOffset[ 0 ] : 0 >- ]; >- >- // reduce to just the positions without the offsets >- options[ this ] = [ >- rposition.exec( pos[ 0 ] )[ 0 ], >- rposition.exec( pos[ 1 ] )[ 0 ] >- ]; >- }); >- >- // normalize collision option >- if ( collision.length === 1 ) { >- collision[ 1 ] = collision[ 0 ]; >- } >- >- if ( options.at[ 0 ] === "right" ) { >- basePosition.left += targetWidth; >- } else if ( options.at[ 0 ] === "center" ) { >- basePosition.left += targetWidth / 2; >- } >- >- if ( options.at[ 1 ] === "bottom" ) { >- basePosition.top += targetHeight; >- } else if ( options.at[ 1 ] === "center" ) { >- basePosition.top += targetHeight / 2; >- } >- >- atOffset = getOffsets( offsets.at, targetWidth, targetHeight ); >- basePosition.left += atOffset[ 0 ]; >- basePosition.top += atOffset[ 1 ]; >- >- return this.each(function() { >- var collisionPosition, using, >- elem = $( this ), >- elemWidth = elem.outerWidth(), >- elemHeight = elem.outerHeight(), >- marginLeft = parseCss( this, "marginLeft" ), >- marginTop = parseCss( this, "marginTop" ), >- collisionWidth = elemWidth + marginLeft + parseCss( this, "marginRight" ) + scrollInfo.width, >- collisionHeight = elemHeight + marginTop + parseCss( this, "marginBottom" ) + scrollInfo.height, >- position = $.extend( {}, basePosition ), >- myOffset = getOffsets( offsets.my, elem.outerWidth(), elem.outerHeight() ); >- >- if ( options.my[ 0 ] === "right" ) { >- position.left -= elemWidth; >- } else if ( options.my[ 0 ] === "center" ) { >- position.left -= elemWidth / 2; >- } >- >- if ( options.my[ 1 ] === "bottom" ) { >- position.top -= elemHeight; >- } else if ( options.my[ 1 ] === "center" ) { >- position.top -= elemHeight / 2; >- } >- >- position.left += myOffset[ 0 ]; >- position.top += myOffset[ 1 ]; >- >- // if the browser doesn't support fractions, then round for consistent results >- if ( !supportsOffsetFractions ) { >- position.left = round( position.left ); >- position.top = round( position.top ); >- } >- >- collisionPosition = { >- marginLeft: marginLeft, >- marginTop: marginTop >- }; >- >- $.each( [ "left", "top" ], function( i, dir ) { >- if ( $.ui.position[ collision[ i ] ] ) { >- $.ui.position[ collision[ i ] ][ dir ]( position, { >- targetWidth: targetWidth, >- targetHeight: targetHeight, >- elemWidth: elemWidth, >- elemHeight: elemHeight, >- collisionPosition: collisionPosition, >- collisionWidth: collisionWidth, >- collisionHeight: collisionHeight, >- offset: [ atOffset[ 0 ] + myOffset[ 0 ], atOffset [ 1 ] + myOffset[ 1 ] ], >- my: options.my, >- at: options.at, >- within: within, >- elem: elem >- }); >- } >- }); >- >- if ( options.using ) { >- // adds feedback as second argument to using callback, if present >- using = function( props ) { >- var left = targetOffset.left - position.left, >- right = left + targetWidth - elemWidth, >- top = targetOffset.top - position.top, >- bottom = top + targetHeight - elemHeight, >- feedback = { >- target: { >- element: target, >- left: targetOffset.left, >- top: targetOffset.top, >- width: targetWidth, >- height: targetHeight >- }, >- element: { >- element: elem, >- left: position.left, >- top: position.top, >- width: elemWidth, >- height: elemHeight >- }, >- horizontal: right < 0 ? "left" : left > 0 ? "right" : "center", >- vertical: bottom < 0 ? "top" : top > 0 ? "bottom" : "middle" >- }; >- if ( targetWidth < elemWidth && abs( left + right ) < targetWidth ) { >- feedback.horizontal = "center"; >- } >- if ( targetHeight < elemHeight && abs( top + bottom ) < targetHeight ) { >- feedback.vertical = "middle"; >- } >- if ( max( abs( left ), abs( right ) ) > max( abs( top ), abs( bottom ) ) ) { >- feedback.important = "horizontal"; >- } else { >- feedback.important = "vertical"; >- } >- options.using.call( this, props, feedback ); >- }; >- } >- >- elem.offset( $.extend( position, { using: using } ) ); >- }); >-}; >- >-$.ui.position = { >- fit: { >- left: function( position, data ) { >- var within = data.within, >- withinOffset = within.isWindow ? within.scrollLeft : within.offset.left, >- outerWidth = within.width, >- collisionPosLeft = position.left - data.collisionPosition.marginLeft, >- overLeft = withinOffset - collisionPosLeft, >- overRight = collisionPosLeft + data.collisionWidth - outerWidth - withinOffset, >- newOverRight; >- >- // element is wider than within >- if ( data.collisionWidth > outerWidth ) { >- // element is initially over the left side of within >- if ( overLeft > 0 && overRight <= 0 ) { >- newOverRight = position.left + overLeft + data.collisionWidth - outerWidth - withinOffset; >- position.left += overLeft - newOverRight; >- // element is initially over right side of within >- } else if ( overRight > 0 && overLeft <= 0 ) { >- position.left = withinOffset; >- // element is initially over both left and right sides of within >- } else { >- if ( overLeft > overRight ) { >- position.left = withinOffset + outerWidth - data.collisionWidth; >- } else { >- position.left = withinOffset; >- } >- } >- // too far left -> align with left edge >- } else if ( overLeft > 0 ) { >- position.left += overLeft; >- // too far right -> align with right edge >- } else if ( overRight > 0 ) { >- position.left -= overRight; >- // adjust based on position and margin >- } else { >- position.left = max( position.left - collisionPosLeft, position.left ); >- } >- }, >- top: function( position, data ) { >- var within = data.within, >- withinOffset = within.isWindow ? within.scrollTop : within.offset.top, >- outerHeight = data.within.height, >- collisionPosTop = position.top - data.collisionPosition.marginTop, >- overTop = withinOffset - collisionPosTop, >- overBottom = collisionPosTop + data.collisionHeight - outerHeight - withinOffset, >- newOverBottom; >- >- // element is taller than within >- if ( data.collisionHeight > outerHeight ) { >- // element is initially over the top of within >- if ( overTop > 0 && overBottom <= 0 ) { >- newOverBottom = position.top + overTop + data.collisionHeight - outerHeight - withinOffset; >- position.top += overTop - newOverBottom; >- // element is initially over bottom of within >- } else if ( overBottom > 0 && overTop <= 0 ) { >- position.top = withinOffset; >- // element is initially over both top and bottom of within >- } else { >- if ( overTop > overBottom ) { >- position.top = withinOffset + outerHeight - data.collisionHeight; >- } else { >- position.top = withinOffset; >- } >- } >- // too far up -> align with top >- } else if ( overTop > 0 ) { >- position.top += overTop; >- // too far down -> align with bottom edge >- } else if ( overBottom > 0 ) { >- position.top -= overBottom; >- // adjust based on position and margin >- } else { >- position.top = max( position.top - collisionPosTop, position.top ); >- } >- } >- }, >- flip: { >- left: function( position, data ) { >- var within = data.within, >- withinOffset = within.offset.left + within.scrollLeft, >- outerWidth = within.width, >- offsetLeft = within.isWindow ? within.scrollLeft : within.offset.left, >- collisionPosLeft = position.left - data.collisionPosition.marginLeft, >- overLeft = collisionPosLeft - offsetLeft, >- overRight = collisionPosLeft + data.collisionWidth - outerWidth - offsetLeft, >- myOffset = data.my[ 0 ] === "left" ? >- -data.elemWidth : >- data.my[ 0 ] === "right" ? >- data.elemWidth : >- 0, >- atOffset = data.at[ 0 ] === "left" ? >- data.targetWidth : >- data.at[ 0 ] === "right" ? >- -data.targetWidth : >- 0, >- offset = -2 * data.offset[ 0 ], >- newOverRight, >- newOverLeft; >- >- if ( overLeft < 0 ) { >- newOverRight = position.left + myOffset + atOffset + offset + data.collisionWidth - outerWidth - withinOffset; >- if ( newOverRight < 0 || newOverRight < abs( overLeft ) ) { >- position.left += myOffset + atOffset + offset; >- } >- } else if ( overRight > 0 ) { >- newOverLeft = position.left - data.collisionPosition.marginLeft + myOffset + atOffset + offset - offsetLeft; >- if ( newOverLeft > 0 || abs( newOverLeft ) < overRight ) { >- position.left += myOffset + atOffset + offset; >- } >- } >- }, >- top: function( position, data ) { >- var within = data.within, >- withinOffset = within.offset.top + within.scrollTop, >- outerHeight = within.height, >- offsetTop = within.isWindow ? within.scrollTop : within.offset.top, >- collisionPosTop = position.top - data.collisionPosition.marginTop, >- overTop = collisionPosTop - offsetTop, >- overBottom = collisionPosTop + data.collisionHeight - outerHeight - offsetTop, >- top = data.my[ 1 ] === "top", >- myOffset = top ? >- -data.elemHeight : >- data.my[ 1 ] === "bottom" ? >- data.elemHeight : >- 0, >- atOffset = data.at[ 1 ] === "top" ? >- data.targetHeight : >- data.at[ 1 ] === "bottom" ? >- -data.targetHeight : >- 0, >- offset = -2 * data.offset[ 1 ], >- newOverTop, >- newOverBottom; >- if ( overTop < 0 ) { >- newOverBottom = position.top + myOffset + atOffset + offset + data.collisionHeight - outerHeight - withinOffset; >- if ( newOverBottom < 0 || newOverBottom < abs( overTop ) ) { >- position.top += myOffset + atOffset + offset; >- } >- } else if ( overBottom > 0 ) { >- newOverTop = position.top - data.collisionPosition.marginTop + myOffset + atOffset + offset - offsetTop; >- if ( newOverTop > 0 || abs( newOverTop ) < overBottom ) { >- position.top += myOffset + atOffset + offset; >- } >- } >- } >- }, >- flipfit: { >- left: function() { >- $.ui.position.flip.left.apply( this, arguments ); >- $.ui.position.fit.left.apply( this, arguments ); >- }, >- top: function() { >- $.ui.position.flip.top.apply( this, arguments ); >- $.ui.position.fit.top.apply( this, arguments ); >- } >- } >-}; >- >-// fraction support test >-(function() { >- var testElement, testElementParent, testElementStyle, offsetLeft, i, >- body = document.getElementsByTagName( "body" )[ 0 ], >- div = document.createElement( "div" ); >- >- //Create a "fake body" for testing based on method used in jQuery.support >- testElement = document.createElement( body ? "div" : "body" ); >- testElementStyle = { >- visibility: "hidden", >- width: 0, >- height: 0, >- border: 0, >- margin: 0, >- background: "none" >- }; >- if ( body ) { >- $.extend( testElementStyle, { >- position: "absolute", >- left: "-1000px", >- top: "-1000px" >- }); >- } >- for ( i in testElementStyle ) { >- testElement.style[ i ] = testElementStyle[ i ]; >- } >- testElement.appendChild( div ); >- testElementParent = body || document.documentElement; >- testElementParent.insertBefore( testElement, testElementParent.firstChild ); >- >- div.style.cssText = "position: absolute; left: 10.7432222px;"; >- >- offsetLeft = $( div ).offset().left; >- supportsOffsetFractions = offsetLeft > 10 && offsetLeft < 11; >- >- testElement.innerHTML = ""; >- testElementParent.removeChild( testElement ); >-})(); >- >-})(); >- >-var position = $.ui.position; >- >- >-/*! >- * jQuery UI Draggable 1.11.4 >- * http://jqueryui.com >- * >- * Copyright jQuery Foundation and other contributors >- * Released under the MIT license. >- * http://jquery.org/license >- * >- * http://api.jqueryui.com/draggable/ >- */ >- >- >-$.widget("ui.draggable", $.ui.mouse, { >- version: "1.11.4", >- widgetEventPrefix: "drag", >- options: { >- addClasses: true, >- appendTo: "parent", >- axis: false, >- connectToSortable: false, >- containment: false, >- cursor: "auto", >- cursorAt: false, >- grid: false, >- handle: false, >- helper: "original", >- iframeFix: false, >- opacity: false, >- refreshPositions: false, >- revert: false, >- revertDuration: 500, >- scope: "default", >- scroll: true, >- scrollSensitivity: 20, >- scrollSpeed: 20, >- snap: false, >- snapMode: "both", >- snapTolerance: 20, >- stack: false, >- zIndex: false, >- >- // callbacks >- drag: null, >- start: null, >- stop: null >- }, >- _create: function() { >- >- if ( this.options.helper === "original" ) { >- this._setPositionRelative(); >- } >- if (this.options.addClasses){ >- this.element.addClass("ui-draggable"); >- } >- if (this.options.disabled){ >- this.element.addClass("ui-draggable-disabled"); >- } >- this._setHandleClassName(); >- >- this._mouseInit(); >- }, >- >- _setOption: function( key, value ) { >- this._super( key, value ); >- if ( key === "handle" ) { >- this._removeHandleClassName(); >- this._setHandleClassName(); >- } >- }, >- >- _destroy: function() { >- if ( ( this.helper || this.element ).is( ".ui-draggable-dragging" ) ) { >- this.destroyOnClear = true; >- return; >- } >- this.element.removeClass( "ui-draggable ui-draggable-dragging ui-draggable-disabled" ); >- this._removeHandleClassName(); >- this._mouseDestroy(); >- }, >- >- _mouseCapture: function(event) { >- var o = this.options; >- >- this._blurActiveElement( event ); >- >- // among others, prevent a drag on a resizable-handle >- if (this.helper || o.disabled || $(event.target).closest(".ui-resizable-handle").length > 0) { >- return false; >- } >- >- //Quit if we're not on a valid handle >- this.handle = this._getHandle(event); >- if (!this.handle) { >- return false; >- } >- >- this._blockFrames( o.iframeFix === true ? "iframe" : o.iframeFix ); >- >- return true; >- >- }, >- >- _blockFrames: function( selector ) { >- this.iframeBlocks = this.document.find( selector ).map(function() { >- var iframe = $( this ); >- >- return $( "<div>" ) >- .css( "position", "absolute" ) >- .appendTo( iframe.parent() ) >- .outerWidth( iframe.outerWidth() ) >- .outerHeight( iframe.outerHeight() ) >- .offset( iframe.offset() )[ 0 ]; >- }); >- }, >- >- _unblockFrames: function() { >- if ( this.iframeBlocks ) { >- this.iframeBlocks.remove(); >- delete this.iframeBlocks; >- } >- }, >- >- _blurActiveElement: function( event ) { >- var document = this.document[ 0 ]; >- >- // Only need to blur if the event occurred on the draggable itself, see #10527 >- if ( !this.handleElement.is( event.target ) ) { >- return; >- } >- >- // support: IE9 >- // IE9 throws an "Unspecified error" accessing document.activeElement from an <iframe> >- try { >- >- // Support: IE9, IE10 >- // If the <body> is blurred, IE will switch windows, see #9520 >- if ( document.activeElement && document.activeElement.nodeName.toLowerCase() !== "body" ) { >- >- // Blur any element that currently has focus, see #4261 >- $( document.activeElement ).blur(); >- } >- } catch ( error ) {} >- }, >- >- _mouseStart: function(event) { >- >- var o = this.options; >- >- //Create and append the visible helper >- this.helper = this._createHelper(event); >- >- this.helper.addClass("ui-draggable-dragging"); >- >- //Cache the helper size >- this._cacheHelperProportions(); >- >- //If ddmanager is used for droppables, set the global draggable >- if ($.ui.ddmanager) { >- $.ui.ddmanager.current = this; >- } >- >- /* >- * - Position generation - >- * This block generates everything position related - it's the core of draggables. >- */ >- >- //Cache the margins of the original element >- this._cacheMargins(); >- >- //Store the helper's css position >- this.cssPosition = this.helper.css( "position" ); >- this.scrollParent = this.helper.scrollParent( true ); >- this.offsetParent = this.helper.offsetParent(); >- this.hasFixedAncestor = this.helper.parents().filter(function() { >- return $( this ).css( "position" ) === "fixed"; >- }).length > 0; >- >- //The element's absolute position on the page minus margins >- this.positionAbs = this.element.offset(); >- this._refreshOffsets( event ); >- >- //Generate the original position >- this.originalPosition = this.position = this._generatePosition( event, false ); >- this.originalPageX = event.pageX; >- this.originalPageY = event.pageY; >- >- //Adjust the mouse offset relative to the helper if "cursorAt" is supplied >- (o.cursorAt && this._adjustOffsetFromHelper(o.cursorAt)); >- >- //Set a containment if given in the options >- this._setContainment(); >- >- //Trigger event + callbacks >- if (this._trigger("start", event) === false) { >- this._clear(); >- return false; >- } >- >- //Recache the helper size >- this._cacheHelperProportions(); >- >- //Prepare the droppable offsets >- if ($.ui.ddmanager && !o.dropBehaviour) { >- $.ui.ddmanager.prepareOffsets(this, event); >- } >- >- // Reset helper's right/bottom css if they're set and set explicit width/height instead >- // as this prevents resizing of elements with right/bottom set (see #7772) >- this._normalizeRightBottom(); >- >- this._mouseDrag(event, true); //Execute the drag once - this causes the helper not to be visible before getting its correct position >- >- //If the ddmanager is used for droppables, inform the manager that dragging has started (see #5003) >- if ( $.ui.ddmanager ) { >- $.ui.ddmanager.dragStart(this, event); >- } >- >- return true; >- }, >- >- _refreshOffsets: function( event ) { >- this.offset = { >- top: this.positionAbs.top - this.margins.top, >- left: this.positionAbs.left - this.margins.left, >- scroll: false, >- parent: this._getParentOffset(), >- relative: this._getRelativeOffset() >- }; >- >- this.offset.click = { >- left: event.pageX - this.offset.left, >- top: event.pageY - this.offset.top >- }; >- }, >- >- _mouseDrag: function(event, noPropagation) { >- // reset any necessary cached properties (see #5009) >- if ( this.hasFixedAncestor ) { >- this.offset.parent = this._getParentOffset(); >- } >- >- //Compute the helpers position >- this.position = this._generatePosition( event, true ); >- this.positionAbs = this._convertPositionTo("absolute"); >- >- //Call plugins and callbacks and use the resulting position if something is returned >- if (!noPropagation) { >- var ui = this._uiHash(); >- if (this._trigger("drag", event, ui) === false) { >- this._mouseUp({}); >- return false; >- } >- this.position = ui.position; >- } >- >- this.helper[ 0 ].style.left = this.position.left + "px"; >- this.helper[ 0 ].style.top = this.position.top + "px"; >- >- if ($.ui.ddmanager) { >- $.ui.ddmanager.drag(this, event); >- } >- >- return false; >- }, >- >- _mouseStop: function(event) { >- >- //If we are using droppables, inform the manager about the drop >- var that = this, >- dropped = false; >- if ($.ui.ddmanager && !this.options.dropBehaviour) { >- dropped = $.ui.ddmanager.drop(this, event); >- } >- >- //if a drop comes from outside (a sortable) >- if (this.dropped) { >- dropped = this.dropped; >- this.dropped = false; >- } >- >- if ((this.options.revert === "invalid" && !dropped) || (this.options.revert === "valid" && dropped) || this.options.revert === true || ($.isFunction(this.options.revert) && this.options.revert.call(this.element, dropped))) { >- $(this.helper).animate(this.originalPosition, parseInt(this.options.revertDuration, 10), function() { >- if (that._trigger("stop", event) !== false) { >- that._clear(); >- } >- }); >- } else { >- if (this._trigger("stop", event) !== false) { >- this._clear(); >- } >- } >- >- return false; >- }, >- >- _mouseUp: function( event ) { >- this._unblockFrames(); >- >- //If the ddmanager is used for droppables, inform the manager that dragging has stopped (see #5003) >- if ( $.ui.ddmanager ) { >- $.ui.ddmanager.dragStop(this, event); >- } >- >- // Only need to focus if the event occurred on the draggable itself, see #10527 >- if ( this.handleElement.is( event.target ) ) { >- // The interaction is over; whether or not the click resulted in a drag, focus the element >- this.element.focus(); >- } >- >- return $.ui.mouse.prototype._mouseUp.call(this, event); >- }, >- >- cancel: function() { >- >- if (this.helper.is(".ui-draggable-dragging")) { >- this._mouseUp({}); >- } else { >- this._clear(); >- } >- >- return this; >- >- }, >- >- _getHandle: function(event) { >- return this.options.handle ? >- !!$( event.target ).closest( this.element.find( this.options.handle ) ).length : >- true; >- }, >- >- _setHandleClassName: function() { >- this.handleElement = this.options.handle ? >- this.element.find( this.options.handle ) : this.element; >- this.handleElement.addClass( "ui-draggable-handle" ); >- }, >- >- _removeHandleClassName: function() { >- this.handleElement.removeClass( "ui-draggable-handle" ); >- }, >- >- _createHelper: function(event) { >- >- var o = this.options, >- helperIsFunction = $.isFunction( o.helper ), >- helper = helperIsFunction ? >- $( o.helper.apply( this.element[ 0 ], [ event ] ) ) : >- ( o.helper === "clone" ? >- this.element.clone().removeAttr( "id" ) : >- this.element ); >- >- if (!helper.parents("body").length) { >- helper.appendTo((o.appendTo === "parent" ? this.element[0].parentNode : o.appendTo)); >- } >- >- // http://bugs.jqueryui.com/ticket/9446 >- // a helper function can return the original element >- // which wouldn't have been set to relative in _create >- if ( helperIsFunction && helper[ 0 ] === this.element[ 0 ] ) { >- this._setPositionRelative(); >- } >- >- if (helper[0] !== this.element[0] && !(/(fixed|absolute)/).test(helper.css("position"))) { >- helper.css("position", "absolute"); >- } >- >- return helper; >- >- }, >- >- _setPositionRelative: function() { >- if ( !( /^(?:r|a|f)/ ).test( this.element.css( "position" ) ) ) { >- this.element[ 0 ].style.position = "relative"; >- } >- }, >- >- _adjustOffsetFromHelper: function(obj) { >- if (typeof obj === "string") { >- obj = obj.split(" "); >- } >- if ($.isArray(obj)) { >- obj = { left: +obj[0], top: +obj[1] || 0 }; >- } >- if ("left" in obj) { >- this.offset.click.left = obj.left + this.margins.left; >- } >- if ("right" in obj) { >- this.offset.click.left = this.helperProportions.width - obj.right + this.margins.left; >- } >- if ("top" in obj) { >- this.offset.click.top = obj.top + this.margins.top; >- } >- if ("bottom" in obj) { >- this.offset.click.top = this.helperProportions.height - obj.bottom + this.margins.top; >- } >- }, >- >- _isRootNode: function( element ) { >- return ( /(html|body)/i ).test( element.tagName ) || element === this.document[ 0 ]; >- }, >- >- _getParentOffset: function() { >- >- //Get the offsetParent and cache its position >- var po = this.offsetParent.offset(), >- document = this.document[ 0 ]; >- >- // This is a special case where we need to modify a offset calculated on start, since the following happened: >- // 1. The position of the helper is absolute, so it's position is calculated based on the next positioned parent >- // 2. The actual offset parent is a child of the scroll parent, and the scroll parent isn't the document, which means that >- // the scroll is included in the initial calculation of the offset of the parent, and never recalculated upon drag >- if (this.cssPosition === "absolute" && this.scrollParent[0] !== document && $.contains(this.scrollParent[0], this.offsetParent[0])) { >- po.left += this.scrollParent.scrollLeft(); >- po.top += this.scrollParent.scrollTop(); >- } >- >- if ( this._isRootNode( this.offsetParent[ 0 ] ) ) { >- po = { top: 0, left: 0 }; >- } >- >- return { >- top: po.top + (parseInt(this.offsetParent.css("borderTopWidth"), 10) || 0), >- left: po.left + (parseInt(this.offsetParent.css("borderLeftWidth"), 10) || 0) >- }; >- >- }, >- >- _getRelativeOffset: function() { >- if ( this.cssPosition !== "relative" ) { >- return { top: 0, left: 0 }; >- } >- >- var p = this.element.position(), >- scrollIsRootNode = this._isRootNode( this.scrollParent[ 0 ] ); >- >- return { >- top: p.top - ( parseInt(this.helper.css( "top" ), 10) || 0 ) + ( !scrollIsRootNode ? this.scrollParent.scrollTop() : 0 ), >- left: p.left - ( parseInt(this.helper.css( "left" ), 10) || 0 ) + ( !scrollIsRootNode ? this.scrollParent.scrollLeft() : 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 isUserScrollable, c, ce, >- o = this.options, >- document = this.document[ 0 ]; >- >- this.relativeContainer = null; >- >- if ( !o.containment ) { >- this.containment = null; >- return; >- } >- >- if ( o.containment === "window" ) { >- this.containment = [ >- $( window ).scrollLeft() - this.offset.relative.left - this.offset.parent.left, >- $( window ).scrollTop() - this.offset.relative.top - this.offset.parent.top, >- $( window ).scrollLeft() + $( window ).width() - this.helperProportions.width - this.margins.left, >- $( window ).scrollTop() + ( $( window ).height() || document.body.parentNode.scrollHeight ) - this.helperProportions.height - this.margins.top >- ]; >- return; >- } >- >- if ( o.containment === "document") { >- this.containment = [ >- 0, >- 0, >- $( document ).width() - this.helperProportions.width - this.margins.left, >- ( $( document ).height() || document.body.parentNode.scrollHeight ) - this.helperProportions.height - this.margins.top >- ]; >- return; >- } >- >- if ( o.containment.constructor === Array ) { >- this.containment = o.containment; >- return; >- } >- >- if ( o.containment === "parent" ) { >- o.containment = this.helper[ 0 ].parentNode; >- } >- >- c = $( o.containment ); >- ce = c[ 0 ]; >- >- if ( !ce ) { >- return; >- } >- >- isUserScrollable = /(scroll|auto)/.test( c.css( "overflow" ) ); >- >- this.containment = [ >- ( parseInt( c.css( "borderLeftWidth" ), 10 ) || 0 ) + ( parseInt( c.css( "paddingLeft" ), 10 ) || 0 ), >- ( parseInt( c.css( "borderTopWidth" ), 10 ) || 0 ) + ( parseInt( c.css( "paddingTop" ), 10 ) || 0 ), >- ( isUserScrollable ? Math.max( ce.scrollWidth, ce.offsetWidth ) : ce.offsetWidth ) - >- ( parseInt( c.css( "borderRightWidth" ), 10 ) || 0 ) - >- ( parseInt( c.css( "paddingRight" ), 10 ) || 0 ) - >- this.helperProportions.width - >- this.margins.left - >- this.margins.right, >- ( isUserScrollable ? Math.max( ce.scrollHeight, ce.offsetHeight ) : ce.offsetHeight ) - >- ( parseInt( c.css( "borderBottomWidth" ), 10 ) || 0 ) - >- ( parseInt( c.css( "paddingBottom" ), 10 ) || 0 ) - >- this.helperProportions.height - >- this.margins.top - >- this.margins.bottom >- ]; >- this.relativeContainer = c; >- }, >- >- _convertPositionTo: function(d, pos) { >- >- if (!pos) { >- pos = this.position; >- } >- >- var mod = d === "absolute" ? 1 : -1, >- scrollIsRootNode = this._isRootNode( this.scrollParent[ 0 ] ); >- >- return { >- top: ( >- pos.top + // The absolute mouse position >- this.offset.relative.top * mod + // Only for relative positioned nodes: Relative offset from element to offset parent >- this.offset.parent.top * mod - // The offsetParent's offset without borders (offset + border) >- ( ( this.cssPosition === "fixed" ? -this.offset.scroll.top : ( scrollIsRootNode ? 0 : this.offset.scroll.top ) ) * mod) >- ), >- left: ( >- pos.left + // The absolute mouse position >- this.offset.relative.left * mod + // Only for relative positioned nodes: Relative offset from element to offset parent >- this.offset.parent.left * mod - // The offsetParent's offset without borders (offset + border) >- ( ( this.cssPosition === "fixed" ? -this.offset.scroll.left : ( scrollIsRootNode ? 0 : this.offset.scroll.left ) ) * mod) >- ) >- }; >- >- }, >- >- _generatePosition: function( event, constrainPosition ) { >- >- var containment, co, top, left, >- o = this.options, >- scrollIsRootNode = this._isRootNode( this.scrollParent[ 0 ] ), >- pageX = event.pageX, >- pageY = event.pageY; >- >- // Cache the scroll >- if ( !scrollIsRootNode || !this.offset.scroll ) { >- this.offset.scroll = { >- top: this.scrollParent.scrollTop(), >- left: this.scrollParent.scrollLeft() >- }; >- } >- >- /* >- * - Position constraining - >- * Constrain the position to a mix of grid, containment. >- */ >- >- // If we are not dragging yet, we won't check for options >- if ( constrainPosition ) { >- if ( this.containment ) { >- if ( this.relativeContainer ){ >- co = this.relativeContainer.offset(); >- containment = [ >- this.containment[ 0 ] + co.left, >- this.containment[ 1 ] + co.top, >- this.containment[ 2 ] + co.left, >- this.containment[ 3 ] + co.top >- ]; >- } else { >- containment = this.containment; >- } >- >- if (event.pageX - this.offset.click.left < containment[0]) { >- pageX = containment[0] + this.offset.click.left; >- } >- if (event.pageY - this.offset.click.top < containment[1]) { >- pageY = containment[1] + this.offset.click.top; >- } >- if (event.pageX - this.offset.click.left > containment[2]) { >- pageX = containment[2] + this.offset.click.left; >- } >- if (event.pageY - this.offset.click.top > containment[3]) { >- pageY = containment[3] + this.offset.click.top; >- } >- } >- >- if (o.grid) { >- //Check for grid elements set to 0 to prevent divide by 0 error causing invalid argument errors in IE (see ticket #6950) >- top = o.grid[1] ? this.originalPageY + Math.round((pageY - this.originalPageY) / o.grid[1]) * o.grid[1] : this.originalPageY; >- pageY = containment ? ((top - this.offset.click.top >= containment[1] || top - this.offset.click.top > containment[3]) ? top : ((top - this.offset.click.top >= containment[1]) ? top - o.grid[1] : top + o.grid[1])) : top; >- >- left = o.grid[0] ? this.originalPageX + Math.round((pageX - this.originalPageX) / o.grid[0]) * o.grid[0] : this.originalPageX; >- pageX = containment ? ((left - this.offset.click.left >= containment[0] || left - this.offset.click.left > containment[2]) ? left : ((left - this.offset.click.left >= containment[0]) ? left - o.grid[0] : left + o.grid[0])) : left; >- } >- >- if ( o.axis === "y" ) { >- pageX = this.originalPageX; >- } >- >- if ( o.axis === "x" ) { >- pageY = this.originalPageY; >- } >- } >- >- return { >- top: ( >- pageY - // The absolute mouse position >- this.offset.click.top - // Click offset (relative to the element) >- this.offset.relative.top - // Only for relative positioned nodes: Relative offset from element to offset parent >- this.offset.parent.top + // The offsetParent's offset without borders (offset + border) >- ( this.cssPosition === "fixed" ? -this.offset.scroll.top : ( scrollIsRootNode ? 0 : this.offset.scroll.top ) ) >- ), >- left: ( >- pageX - // The absolute mouse position >- this.offset.click.left - // Click offset (relative to the element) >- this.offset.relative.left - // Only for relative positioned nodes: Relative offset from element to offset parent >- this.offset.parent.left + // The offsetParent's offset without borders (offset + border) >- ( this.cssPosition === "fixed" ? -this.offset.scroll.left : ( scrollIsRootNode ? 0 : this.offset.scroll.left ) ) >- ) >- }; >- >- }, >- >- _clear: function() { >- this.helper.removeClass("ui-draggable-dragging"); >- if (this.helper[0] !== this.element[0] && !this.cancelHelperRemoval) { >- this.helper.remove(); >- } >- this.helper = null; >- this.cancelHelperRemoval = false; >- if ( this.destroyOnClear ) { >- this.destroy(); >- } >- }, >- >- _normalizeRightBottom: function() { >- if ( this.options.axis !== "y" && this.helper.css( "right" ) !== "auto" ) { >- this.helper.width( this.helper.width() ); >- this.helper.css( "right", "auto" ); >- } >- if ( this.options.axis !== "x" && this.helper.css( "bottom" ) !== "auto" ) { >- this.helper.height( this.helper.height() ); >- this.helper.css( "bottom", "auto" ); >- } >- }, >- >- // From now on bulk stuff - mainly helpers >- >- _trigger: function( type, event, ui ) { >- ui = ui || this._uiHash(); >- $.ui.plugin.call( this, type, [ event, ui, this ], true ); >- >- // Absolute position and offset (see #6884 ) have to be recalculated after plugins >- if ( /^(drag|start|stop)/.test( type ) ) { >- this.positionAbs = this._convertPositionTo( "absolute" ); >- ui.offset = this.positionAbs; >- } >- return $.Widget.prototype._trigger.call( this, type, event, ui ); >- }, >- >- plugins: {}, >- >- _uiHash: function() { >- return { >- helper: this.helper, >- position: this.position, >- originalPosition: this.originalPosition, >- offset: this.positionAbs >- }; >- } >- >-}); >- >-$.ui.plugin.add( "draggable", "connectToSortable", { >- start: function( event, ui, draggable ) { >- var uiSortable = $.extend( {}, ui, { >- item: draggable.element >- }); >- >- draggable.sortables = []; >- $( draggable.options.connectToSortable ).each(function() { >- var sortable = $( this ).sortable( "instance" ); >- >- if ( sortable && !sortable.options.disabled ) { >- draggable.sortables.push( sortable ); >- >- // refreshPositions is called at drag start to refresh the containerCache >- // which is used in drag. This ensures it's initialized and synchronized >- // with any changes that might have happened on the page since initialization. >- sortable.refreshPositions(); >- sortable._trigger("activate", event, uiSortable); >- } >- }); >- }, >- stop: function( event, ui, draggable ) { >- var uiSortable = $.extend( {}, ui, { >- item: draggable.element >- }); >- >- draggable.cancelHelperRemoval = false; >- >- $.each( draggable.sortables, function() { >- var sortable = this; >- >- if ( sortable.isOver ) { >- sortable.isOver = 0; >- >- // Allow this sortable to handle removing the helper >- draggable.cancelHelperRemoval = true; >- sortable.cancelHelperRemoval = false; >- >- // Use _storedCSS To restore properties in the sortable, >- // as this also handles revert (#9675) since the draggable >- // may have modified them in unexpected ways (#8809) >- sortable._storedCSS = { >- position: sortable.placeholder.css( "position" ), >- top: sortable.placeholder.css( "top" ), >- left: sortable.placeholder.css( "left" ) >- }; >- >- sortable._mouseStop(event); >- >- // Once drag has ended, the sortable should return to using >- // its original helper, not the shared helper from draggable >- sortable.options.helper = sortable.options._helper; >- } else { >- // Prevent this Sortable from removing the helper. >- // However, don't set the draggable to remove the helper >- // either as another connected Sortable may yet handle the removal. >- sortable.cancelHelperRemoval = true; >- >- sortable._trigger( "deactivate", event, uiSortable ); >- } >- }); >- }, >- drag: function( event, ui, draggable ) { >- $.each( draggable.sortables, function() { >- var innermostIntersecting = false, >- sortable = this; >- >- // Copy over variables that sortable's _intersectsWith uses >- sortable.positionAbs = draggable.positionAbs; >- sortable.helperProportions = draggable.helperProportions; >- sortable.offset.click = draggable.offset.click; >- >- if ( sortable._intersectsWith( sortable.containerCache ) ) { >- innermostIntersecting = true; >- >- $.each( draggable.sortables, function() { >- // Copy over variables that sortable's _intersectsWith uses >- this.positionAbs = draggable.positionAbs; >- this.helperProportions = draggable.helperProportions; >- this.offset.click = draggable.offset.click; >- >- if ( this !== sortable && >- this._intersectsWith( this.containerCache ) && >- $.contains( sortable.element[ 0 ], this.element[ 0 ] ) ) { >- innermostIntersecting = false; >- } >- >- return innermostIntersecting; >- }); >- } >- >- if ( innermostIntersecting ) { >- // If it intersects, we use a little isOver variable and set it once, >- // so that the move-in stuff gets fired only once. >- if ( !sortable.isOver ) { >- sortable.isOver = 1; >- >- // Store draggable's parent in case we need to reappend to it later. >- draggable._parent = ui.helper.parent(); >- >- sortable.currentItem = ui.helper >- .appendTo( sortable.element ) >- .data( "ui-sortable-item", true ); >- >- // Store helper option to later restore it >- sortable.options._helper = sortable.options.helper; >- >- sortable.options.helper = function() { >- return ui.helper[ 0 ]; >- }; >- >- // Fire the start events of the sortable with our passed browser event, >- // and our own helper (so it doesn't create a new one) >- event.target = sortable.currentItem[ 0 ]; >- sortable._mouseCapture( event, true ); >- sortable._mouseStart( event, true, true ); >- >- // Because the browser event is way off the new appended portlet, >- // modify necessary variables to reflect the changes >- sortable.offset.click.top = draggable.offset.click.top; >- sortable.offset.click.left = draggable.offset.click.left; >- sortable.offset.parent.left -= draggable.offset.parent.left - >- sortable.offset.parent.left; >- sortable.offset.parent.top -= draggable.offset.parent.top - >- sortable.offset.parent.top; >- >- draggable._trigger( "toSortable", event ); >- >- // Inform draggable that the helper is in a valid drop zone, >- // used solely in the revert option to handle "valid/invalid". >- draggable.dropped = sortable.element; >- >- // Need to refreshPositions of all sortables in the case that >- // adding to one sortable changes the location of the other sortables (#9675) >- $.each( draggable.sortables, function() { >- this.refreshPositions(); >- }); >- >- // hack so receive/update callbacks work (mostly) >- draggable.currentItem = draggable.element; >- sortable.fromOutside = draggable; >- } >- >- if ( sortable.currentItem ) { >- sortable._mouseDrag( event ); >- // Copy the sortable's position because the draggable's can potentially reflect >- // a relative position, while sortable is always absolute, which the dragged >- // element has now become. (#8809) >- ui.position = sortable.position; >- } >- } else { >- // If it doesn't intersect with the sortable, and it intersected before, >- // we fake the drag stop of the sortable, but make sure it doesn't remove >- // the helper by using cancelHelperRemoval. >- if ( sortable.isOver ) { >- >- sortable.isOver = 0; >- sortable.cancelHelperRemoval = true; >- >- // Calling sortable's mouseStop would trigger a revert, >- // so revert must be temporarily false until after mouseStop is called. >- sortable.options._revert = sortable.options.revert; >- sortable.options.revert = false; >- >- sortable._trigger( "out", event, sortable._uiHash( sortable ) ); >- sortable._mouseStop( event, true ); >- >- // restore sortable behaviors that were modfied >- // when the draggable entered the sortable area (#9481) >- sortable.options.revert = sortable.options._revert; >- sortable.options.helper = sortable.options._helper; >- >- if ( sortable.placeholder ) { >- sortable.placeholder.remove(); >- } >- >- // Restore and recalculate the draggable's offset considering the sortable >- // may have modified them in unexpected ways. (#8809, #10669) >- ui.helper.appendTo( draggable._parent ); >- draggable._refreshOffsets( event ); >- ui.position = draggable._generatePosition( event, true ); >- >- draggable._trigger( "fromSortable", event ); >- >- // Inform draggable that the helper is no longer in a valid drop zone >- draggable.dropped = false; >- >- // Need to refreshPositions of all sortables just in case removing >- // from one sortable changes the location of other sortables (#9675) >- $.each( draggable.sortables, function() { >- this.refreshPositions(); >- }); >- } >- } >- }); >- } >-}); >- >-$.ui.plugin.add("draggable", "cursor", { >- start: function( event, ui, instance ) { >- var t = $( "body" ), >- o = instance.options; >- >- if (t.css("cursor")) { >- o._cursor = t.css("cursor"); >- } >- t.css("cursor", o.cursor); >- }, >- stop: function( event, ui, instance ) { >- var o = instance.options; >- if (o._cursor) { >- $("body").css("cursor", o._cursor); >- } >- } >-}); >- >-$.ui.plugin.add("draggable", "opacity", { >- start: function( event, ui, instance ) { >- var t = $( ui.helper ), >- o = instance.options; >- if (t.css("opacity")) { >- o._opacity = t.css("opacity"); >- } >- t.css("opacity", o.opacity); >- }, >- stop: function( event, ui, instance ) { >- var o = instance.options; >- if (o._opacity) { >- $(ui.helper).css("opacity", o._opacity); >- } >- } >-}); >- >-$.ui.plugin.add("draggable", "scroll", { >- start: function( event, ui, i ) { >- if ( !i.scrollParentNotHidden ) { >- i.scrollParentNotHidden = i.helper.scrollParent( false ); >- } >- >- if ( i.scrollParentNotHidden[ 0 ] !== i.document[ 0 ] && i.scrollParentNotHidden[ 0 ].tagName !== "HTML" ) { >- i.overflowOffset = i.scrollParentNotHidden.offset(); >- } >- }, >- drag: function( event, ui, i ) { >- >- var o = i.options, >- scrolled = false, >- scrollParent = i.scrollParentNotHidden[ 0 ], >- document = i.document[ 0 ]; >- >- if ( scrollParent !== document && scrollParent.tagName !== "HTML" ) { >- if ( !o.axis || o.axis !== "x" ) { >- if ( ( i.overflowOffset.top + scrollParent.offsetHeight ) - event.pageY < o.scrollSensitivity ) { >- scrollParent.scrollTop = scrolled = scrollParent.scrollTop + o.scrollSpeed; >- } else if ( event.pageY - i.overflowOffset.top < o.scrollSensitivity ) { >- scrollParent.scrollTop = scrolled = scrollParent.scrollTop - o.scrollSpeed; >- } >- } >- >- if ( !o.axis || o.axis !== "y" ) { >- if ( ( i.overflowOffset.left + scrollParent.offsetWidth ) - event.pageX < o.scrollSensitivity ) { >- scrollParent.scrollLeft = scrolled = scrollParent.scrollLeft + o.scrollSpeed; >- } else if ( event.pageX - i.overflowOffset.left < o.scrollSensitivity ) { >- scrollParent.scrollLeft = scrolled = scrollParent.scrollLeft - o.scrollSpeed; >- } >- } >- >- } else { >- >- if (!o.axis || o.axis !== "x") { >- if (event.pageY - $(document).scrollTop() < o.scrollSensitivity) { >- scrolled = $(document).scrollTop($(document).scrollTop() - o.scrollSpeed); >- } else if ($(window).height() - (event.pageY - $(document).scrollTop()) < o.scrollSensitivity) { >- scrolled = $(document).scrollTop($(document).scrollTop() + o.scrollSpeed); >- } >- } >- >- if (!o.axis || o.axis !== "y") { >- if (event.pageX - $(document).scrollLeft() < o.scrollSensitivity) { >- scrolled = $(document).scrollLeft($(document).scrollLeft() - o.scrollSpeed); >- } else if ($(window).width() - (event.pageX - $(document).scrollLeft()) < o.scrollSensitivity) { >- scrolled = $(document).scrollLeft($(document).scrollLeft() + o.scrollSpeed); >- } >- } >- >- } >- >- if (scrolled !== false && $.ui.ddmanager && !o.dropBehaviour) { >- $.ui.ddmanager.prepareOffsets(i, event); >- } >- >- } >-}); >- >-$.ui.plugin.add("draggable", "snap", { >- start: function( event, ui, i ) { >- >- var o = i.options; >- >- i.snapElements = []; >- >- $(o.snap.constructor !== String ? ( o.snap.items || ":data(ui-draggable)" ) : o.snap).each(function() { >- var $t = $(this), >- $o = $t.offset(); >- if (this !== i.element[0]) { >- i.snapElements.push({ >- item: this, >- width: $t.outerWidth(), height: $t.outerHeight(), >- top: $o.top, left: $o.left >- }); >- } >- }); >- >- }, >- drag: function( event, ui, inst ) { >- >- var ts, bs, ls, rs, l, r, t, b, i, first, >- o = inst.options, >- d = o.snapTolerance, >- x1 = ui.offset.left, x2 = x1 + inst.helperProportions.width, >- y1 = ui.offset.top, y2 = y1 + inst.helperProportions.height; >- >- for (i = inst.snapElements.length - 1; i >= 0; i--){ >- >- l = inst.snapElements[i].left - inst.margins.left; >- r = l + inst.snapElements[i].width; >- t = inst.snapElements[i].top - inst.margins.top; >- b = t + inst.snapElements[i].height; >- >- if ( x2 < l - d || x1 > r + d || y2 < t - d || y1 > b + d || !$.contains( inst.snapElements[ i ].item.ownerDocument, inst.snapElements[ i ].item ) ) { >- if (inst.snapElements[i].snapping) { >- (inst.options.snap.release && inst.options.snap.release.call(inst.element, event, $.extend(inst._uiHash(), { snapItem: inst.snapElements[i].item }))); >- } >- inst.snapElements[i].snapping = false; >- continue; >- } >- >- if (o.snapMode !== "inner") { >- ts = Math.abs(t - y2) <= d; >- bs = Math.abs(b - y1) <= d; >- ls = Math.abs(l - x2) <= d; >- rs = Math.abs(r - x1) <= d; >- if (ts) { >- ui.position.top = inst._convertPositionTo("relative", { top: t - inst.helperProportions.height, left: 0 }).top; >- } >- if (bs) { >- ui.position.top = inst._convertPositionTo("relative", { top: b, left: 0 }).top; >- } >- if (ls) { >- ui.position.left = inst._convertPositionTo("relative", { top: 0, left: l - inst.helperProportions.width }).left; >- } >- if (rs) { >- ui.position.left = inst._convertPositionTo("relative", { top: 0, left: r }).left; >- } >- } >- >- first = (ts || bs || ls || rs); >- >- if (o.snapMode !== "outer") { >- ts = Math.abs(t - y1) <= d; >- bs = Math.abs(b - y2) <= d; >- ls = Math.abs(l - x1) <= d; >- rs = Math.abs(r - x2) <= d; >- if (ts) { >- ui.position.top = inst._convertPositionTo("relative", { top: t, left: 0 }).top; >- } >- if (bs) { >- ui.position.top = inst._convertPositionTo("relative", { top: b - inst.helperProportions.height, left: 0 }).top; >- } >- if (ls) { >- ui.position.left = inst._convertPositionTo("relative", { top: 0, left: l }).left; >- } >- if (rs) { >- ui.position.left = inst._convertPositionTo("relative", { top: 0, left: r - inst.helperProportions.width }).left; >- } >- } >- >- if (!inst.snapElements[i].snapping && (ts || bs || ls || rs || first)) { >- (inst.options.snap.snap && inst.options.snap.snap.call(inst.element, event, $.extend(inst._uiHash(), { snapItem: inst.snapElements[i].item }))); >- } >- inst.snapElements[i].snapping = (ts || bs || ls || rs || first); >- >- } >- >- } >-}); >- >-$.ui.plugin.add("draggable", "stack", { >- start: function( event, ui, instance ) { >- var min, >- o = instance.options, >- group = $.makeArray($(o.stack)).sort(function(a, b) { >- return (parseInt($(a).css("zIndex"), 10) || 0) - (parseInt($(b).css("zIndex"), 10) || 0); >- }); >- >- if (!group.length) { return; } >- >- min = parseInt($(group[0]).css("zIndex"), 10) || 0; >- $(group).each(function(i) { >- $(this).css("zIndex", min + i); >- }); >- this.css("zIndex", (min + group.length)); >- } >-}); >- >-$.ui.plugin.add("draggable", "zIndex", { >- start: function( event, ui, instance ) { >- var t = $( ui.helper ), >- o = instance.options; >- >- if (t.css("zIndex")) { >- o._zIndex = t.css("zIndex"); >- } >- t.css("zIndex", o.zIndex); >- }, >- stop: function( event, ui, instance ) { >- var o = instance.options; >- >- if (o._zIndex) { >- $(ui.helper).css("zIndex", o._zIndex); >- } >- } >-}); >- >-var draggable = $.ui.draggable; >- >- >-/*! >- * jQuery UI Droppable 1.11.4 >- * http://jqueryui.com >- * >- * Copyright jQuery Foundation and other contributors >- * Released under the MIT license. >- * http://jquery.org/license >- * >- * http://api.jqueryui.com/droppable/ >- */ >- >- >-$.widget( "ui.droppable", { >- version: "1.11.4", >- widgetEventPrefix: "drop", >- options: { >- accept: "*", >- activeClass: false, >- addClasses: true, >- greedy: false, >- hoverClass: false, >- scope: "default", >- tolerance: "intersect", >- >- // callbacks >- activate: null, >- deactivate: null, >- drop: null, >- out: null, >- over: null >- }, >- _create: function() { >- >- var proportions, >- o = this.options, >- accept = o.accept; >- >- this.isover = false; >- this.isout = true; >- >- this.accept = $.isFunction( accept ) ? accept : function( d ) { >- return d.is( accept ); >- }; >- >- this.proportions = function( /* valueToWrite */ ) { >- if ( arguments.length ) { >- // Store the droppable's proportions >- proportions = arguments[ 0 ]; >- } else { >- // Retrieve or derive the droppable's proportions >- return proportions ? >- proportions : >- proportions = { >- width: this.element[ 0 ].offsetWidth, >- height: this.element[ 0 ].offsetHeight >- }; >- } >- }; >- >- this._addToManager( o.scope ); >- >- o.addClasses && this.element.addClass( "ui-droppable" ); >- >- }, >- >- _addToManager: function( scope ) { >- // Add the reference and positions to the manager >- $.ui.ddmanager.droppables[ scope ] = $.ui.ddmanager.droppables[ scope ] || []; >- $.ui.ddmanager.droppables[ scope ].push( this ); >- }, >- >- _splice: function( drop ) { >- var i = 0; >- for ( ; i < drop.length; i++ ) { >- if ( drop[ i ] === this ) { >- drop.splice( i, 1 ); >- } >- } >- }, >- >- _destroy: function() { >- var drop = $.ui.ddmanager.droppables[ this.options.scope ]; >- >- this._splice( drop ); >- >- this.element.removeClass( "ui-droppable ui-droppable-disabled" ); >- }, >- >- _setOption: function( key, value ) { >- >- if ( key === "accept" ) { >- this.accept = $.isFunction( value ) ? value : function( d ) { >- return d.is( value ); >- }; >- } else if ( key === "scope" ) { >- var drop = $.ui.ddmanager.droppables[ this.options.scope ]; >- >- this._splice( drop ); >- this._addToManager( value ); >- } >- >- this._super( key, value ); >- }, >- >- _activate: function( event ) { >- var draggable = $.ui.ddmanager.current; >- if ( this.options.activeClass ) { >- this.element.addClass( this.options.activeClass ); >- } >- if ( draggable ){ >- this._trigger( "activate", event, this.ui( draggable ) ); >- } >- }, >- >- _deactivate: function( event ) { >- var draggable = $.ui.ddmanager.current; >- if ( this.options.activeClass ) { >- this.element.removeClass( this.options.activeClass ); >- } >- if ( draggable ){ >- this._trigger( "deactivate", event, this.ui( draggable ) ); >- } >- }, >- >- _over: function( event ) { >- >- var draggable = $.ui.ddmanager.current; >- >- // Bail if draggable and droppable are same element >- if ( !draggable || ( draggable.currentItem || draggable.element )[ 0 ] === this.element[ 0 ] ) { >- return; >- } >- >- if ( this.accept.call( this.element[ 0 ], ( draggable.currentItem || draggable.element ) ) ) { >- if ( this.options.hoverClass ) { >- this.element.addClass( this.options.hoverClass ); >- } >- this._trigger( "over", event, this.ui( draggable ) ); >- } >- >- }, >- >- _out: function( event ) { >- >- var draggable = $.ui.ddmanager.current; >- >- // Bail if draggable and droppable are same element >- if ( !draggable || ( draggable.currentItem || draggable.element )[ 0 ] === this.element[ 0 ] ) { >- return; >- } >- >- if ( this.accept.call( this.element[ 0 ], ( draggable.currentItem || draggable.element ) ) ) { >- if ( this.options.hoverClass ) { >- this.element.removeClass( this.options.hoverClass ); >- } >- this._trigger( "out", event, this.ui( draggable ) ); >- } >- >- }, >- >- _drop: function( event, custom ) { >- >- var draggable = custom || $.ui.ddmanager.current, >- childrenIntersection = false; >- >- // Bail if draggable and droppable are same element >- if ( !draggable || ( draggable.currentItem || draggable.element )[ 0 ] === this.element[ 0 ] ) { >- return false; >- } >- >- this.element.find( ":data(ui-droppable)" ).not( ".ui-draggable-dragging" ).each(function() { >- var inst = $( this ).droppable( "instance" ); >- if ( >- inst.options.greedy && >- !inst.options.disabled && >- inst.options.scope === draggable.options.scope && >- inst.accept.call( inst.element[ 0 ], ( draggable.currentItem || draggable.element ) ) && >- $.ui.intersect( draggable, $.extend( inst, { offset: inst.element.offset() } ), inst.options.tolerance, event ) >- ) { childrenIntersection = true; return false; } >- }); >- if ( childrenIntersection ) { >- return false; >- } >- >- if ( this.accept.call( this.element[ 0 ], ( draggable.currentItem || draggable.element ) ) ) { >- if ( this.options.activeClass ) { >- this.element.removeClass( this.options.activeClass ); >- } >- if ( this.options.hoverClass ) { >- this.element.removeClass( this.options.hoverClass ); >- } >- this._trigger( "drop", event, this.ui( draggable ) ); >- return this.element; >- } >- >- return false; >- >- }, >- >- ui: function( c ) { >- return { >- draggable: ( c.currentItem || c.element ), >- helper: c.helper, >- position: c.position, >- offset: c.positionAbs >- }; >- } >- >-}); >- >-$.ui.intersect = (function() { >- function isOverAxis( x, reference, size ) { >- return ( x >= reference ) && ( x < ( reference + size ) ); >- } >- >- return function( draggable, droppable, toleranceMode, event ) { >- >- if ( !droppable.offset ) { >- return false; >- } >- >- var x1 = ( draggable.positionAbs || draggable.position.absolute ).left + draggable.margins.left, >- y1 = ( draggable.positionAbs || draggable.position.absolute ).top + draggable.margins.top, >- x2 = x1 + draggable.helperProportions.width, >- y2 = y1 + draggable.helperProportions.height, >- l = droppable.offset.left, >- t = droppable.offset.top, >- r = l + droppable.proportions().width, >- b = t + droppable.proportions().height; >- >- switch ( toleranceMode ) { >- case "fit": >- return ( l <= x1 && x2 <= r && t <= y1 && y2 <= b ); >- case "intersect": >- return ( l < x1 + ( draggable.helperProportions.width / 2 ) && // Right Half >- x2 - ( draggable.helperProportions.width / 2 ) < r && // Left Half >- t < y1 + ( draggable.helperProportions.height / 2 ) && // Bottom Half >- y2 - ( draggable.helperProportions.height / 2 ) < b ); // Top Half >- case "pointer": >- return isOverAxis( event.pageY, t, droppable.proportions().height ) && isOverAxis( event.pageX, l, droppable.proportions().width ); >- case "touch": >- return ( >- ( y1 >= t && y1 <= b ) || // Top edge touching >- ( y2 >= t && y2 <= b ) || // Bottom edge touching >- ( y1 < t && y2 > b ) // Surrounded vertically >- ) && ( >- ( x1 >= l && x1 <= r ) || // Left edge touching >- ( x2 >= l && x2 <= r ) || // Right edge touching >- ( x1 < l && x2 > r ) // Surrounded horizontally >- ); >- default: >- return false; >- } >- }; >-})(); >- >-/* >- This manager tracks offsets of draggables and droppables >-*/ >-$.ui.ddmanager = { >- current: null, >- droppables: { "default": [] }, >- prepareOffsets: function( t, event ) { >- >- var i, j, >- m = $.ui.ddmanager.droppables[ t.options.scope ] || [], >- type = event ? event.type : null, // workaround for #2317 >- list = ( t.currentItem || t.element ).find( ":data(ui-droppable)" ).addBack(); >- >- droppablesLoop: for ( i = 0; i < m.length; i++ ) { >- >- // No disabled and non-accepted >- if ( m[ i ].options.disabled || ( t && !m[ i ].accept.call( m[ i ].element[ 0 ], ( t.currentItem || t.element ) ) ) ) { >- continue; >- } >- >- // Filter out elements in the current dragged item >- for ( j = 0; j < list.length; j++ ) { >- if ( list[ j ] === m[ i ].element[ 0 ] ) { >- m[ i ].proportions().height = 0; >- continue droppablesLoop; >- } >- } >- >- m[ i ].visible = m[ i ].element.css( "display" ) !== "none"; >- if ( !m[ i ].visible ) { >- continue; >- } >- >- // Activate the droppable if used directly from draggables >- if ( type === "mousedown" ) { >- m[ i ]._activate.call( m[ i ], event ); >- } >- >- m[ i ].offset = m[ i ].element.offset(); >- m[ i ].proportions({ width: m[ i ].element[ 0 ].offsetWidth, height: m[ i ].element[ 0 ].offsetHeight }); >- >- } >- >- }, >- drop: function( draggable, event ) { >- >- var dropped = false; >- // Create a copy of the droppables in case the list changes during the drop (#9116) >- $.each( ( $.ui.ddmanager.droppables[ draggable.options.scope ] || [] ).slice(), function() { >- >- if ( !this.options ) { >- return; >- } >- if ( !this.options.disabled && this.visible && $.ui.intersect( draggable, this, this.options.tolerance, event ) ) { >- dropped = this._drop.call( this, event ) || dropped; >- } >- >- if ( !this.options.disabled && this.visible && this.accept.call( this.element[ 0 ], ( draggable.currentItem || draggable.element ) ) ) { >- this.isout = true; >- this.isover = false; >- this._deactivate.call( this, event ); >- } >- >- }); >- return dropped; >- >- }, >- dragStart: function( draggable, event ) { >- // Listen for scrolling so that if the dragging causes scrolling the position of the droppables can be recalculated (see #5003) >- draggable.element.parentsUntil( "body" ).bind( "scroll.droppable", function() { >- if ( !draggable.options.refreshPositions ) { >- $.ui.ddmanager.prepareOffsets( draggable, event ); >- } >- }); >- }, >- drag: function( draggable, event ) { >- >- // If you have a highly dynamic page, you might try this option. It renders positions every time you move the mouse. >- if ( draggable.options.refreshPositions ) { >- $.ui.ddmanager.prepareOffsets( draggable, event ); >- } >- >- // Run through all droppables and check their positions based on specific tolerance options >- $.each( $.ui.ddmanager.droppables[ draggable.options.scope ] || [], function() { >- >- if ( this.options.disabled || this.greedyChild || !this.visible ) { >- return; >- } >- >- var parentInstance, scope, parent, >- intersects = $.ui.intersect( draggable, this, this.options.tolerance, event ), >- c = !intersects && this.isover ? "isout" : ( intersects && !this.isover ? "isover" : null ); >- if ( !c ) { >- return; >- } >- >- if ( this.options.greedy ) { >- // find droppable parents with same scope >- scope = this.options.scope; >- parent = this.element.parents( ":data(ui-droppable)" ).filter(function() { >- return $( this ).droppable( "instance" ).options.scope === scope; >- }); >- >- if ( parent.length ) { >- parentInstance = $( parent[ 0 ] ).droppable( "instance" ); >- parentInstance.greedyChild = ( c === "isover" ); >- } >- } >- >- // we just moved into a greedy child >- if ( parentInstance && c === "isover" ) { >- parentInstance.isover = false; >- parentInstance.isout = true; >- parentInstance._out.call( parentInstance, event ); >- } >- >- this[ c ] = true; >- this[c === "isout" ? "isover" : "isout"] = false; >- this[c === "isover" ? "_over" : "_out"].call( this, event ); >- >- // we just moved out of a greedy child >- if ( parentInstance && c === "isout" ) { >- parentInstance.isout = false; >- parentInstance.isover = true; >- parentInstance._over.call( parentInstance, event ); >- } >- }); >- >- }, >- dragStop: function( draggable, event ) { >- draggable.element.parentsUntil( "body" ).unbind( "scroll.droppable" ); >- // Call prepareOffsets one final time since IE does not fire return scroll events when overflow was caused by drag (see #5003) >- if ( !draggable.options.refreshPositions ) { >- $.ui.ddmanager.prepareOffsets( draggable, event ); >- } >- } >-}; >- >-var droppable = $.ui.droppable; >- >- >-/*! >- * jQuery UI Sortable 1.11.4 >- * http://jqueryui.com >- * >- * Copyright jQuery Foundation and other contributors >- * Released under the MIT license. >- * http://jquery.org/license >- * >- * http://api.jqueryui.com/sortable/ >- */ >- >- >-var sortable = $.widget("ui.sortable", $.ui.mouse, { >- version: "1.11.4", >- widgetEventPrefix: "sort", >- ready: false, >- options: { >- appendTo: "parent", >- axis: false, >- connectWith: false, >- containment: false, >- cursor: "auto", >- cursorAt: false, >- dropOnEmpty: true, >- forcePlaceholderSize: false, >- forceHelperSize: false, >- grid: false, >- handle: false, >- helper: "original", >- items: "> *", >- opacity: false, >- placeholder: false, >- revert: false, >- scroll: true, >- scrollSensitivity: 20, >- scrollSpeed: 20, >- scope: "default", >- tolerance: "intersect", >- zIndex: 1000, >- >- // callbacks >- activate: null, >- beforeStop: null, >- change: null, >- deactivate: null, >- out: null, >- over: null, >- receive: null, >- remove: null, >- sort: null, >- start: null, >- stop: null, >- update: null >- }, >- >- _isOverAxis: function( x, reference, size ) { >- return ( x >= reference ) && ( x < ( reference + size ) ); >- }, >- >- _isFloating: function( item ) { >- return (/left|right/).test(item.css("float")) || (/inline|table-cell/).test(item.css("display")); >- }, >- >- _create: function() { >- this.containerCache = {}; >- this.element.addClass("ui-sortable"); >- >- //Get the items >- this.refresh(); >- >- //Let's determine the parent's offset >- this.offset = this.element.offset(); >- >- //Initialize mouse events for interaction >- this._mouseInit(); >- >- this._setHandleClassName(); >- >- //We're ready to go >- this.ready = true; >- >- }, >- >- _setOption: function( key, value ) { >- this._super( key, value ); >- >- if ( key === "handle" ) { >- this._setHandleClassName(); >- } >- }, >- >- _setHandleClassName: function() { >- this.element.find( ".ui-sortable-handle" ).removeClass( "ui-sortable-handle" ); >- $.each( this.items, function() { >- ( this.instance.options.handle ? >- this.item.find( this.instance.options.handle ) : this.item ) >- .addClass( "ui-sortable-handle" ); >- }); >- }, >- >- _destroy: function() { >- this.element >- .removeClass( "ui-sortable ui-sortable-disabled" ) >- .find( ".ui-sortable-handle" ) >- .removeClass( "ui-sortable-handle" ); >- this._mouseDestroy(); >- >- for ( var i = this.items.length - 1; i >= 0; i-- ) { >- this.items[i].item.removeData(this.widgetName + "-item"); >- } >- >- return this; >- }, >- >- _mouseCapture: function(event, overrideHandle) { >- var currentItem = null, >- validHandle = false, >- that = this; >- >- if (this.reverting) { >- return false; >- } >- >- if(this.options.disabled || this.options.type === "static") { >- return false; >- } >- >- //We have to refresh the items data once first >- this._refreshItems(event); >- >- //Find out if the clicked node (or one of its parents) is a actual item in this.items >- $(event.target).parents().each(function() { >- if($.data(this, that.widgetName + "-item") === that) { >- currentItem = $(this); >- return false; >- } >- }); >- if($.data(event.target, that.widgetName + "-item") === that) { >- currentItem = $(event.target); >- } >- >- if(!currentItem) { >- return false; >- } >- if(this.options.handle && !overrideHandle) { >- $(this.options.handle, currentItem).find("*").addBack().each(function() { >- if(this === event.target) { >- validHandle = true; >- } >- }); >- if(!validHandle) { >- return false; >- } >- } >- >- this.currentItem = currentItem; >- this._removeCurrentsFromItems(); >- return true; >- >- }, >- >- _mouseStart: function(event, overrideHandle, noActivation) { >- >- var i, body, >- o = this.options; >- >- this.currentContainer = this; >- >- //We only need to call refreshPositions, because the refreshItems call has been moved to mouseCapture >- this.refreshPositions(); >- >- //Create and append the visible helper >- this.helper = this._createHelper(event); >- >- //Cache the helper size >- this._cacheHelperProportions(); >- >- /* >- * - Position generation - >- * This block generates everything position related - it's the core of draggables. >- */ >- >- //Cache the margins of the original element >- this._cacheMargins(); >- >- //Get the next scrolling parent >- this.scrollParent = this.helper.scrollParent(); >- >- //The element's absolute position on the page minus margins >- this.offset = this.currentItem.offset(); >- this.offset = { >- top: this.offset.top - this.margins.top, >- left: this.offset.left - this.margins.left >- }; >- >- $.extend(this.offset, { >- click: { //Where the click happened, relative to the element >- left: event.pageX - this.offset.left, >- top: event.pageY - this.offset.top >- }, >- parent: this._getParentOffset(), >- relative: this._getRelativeOffset() //This is a relative to absolute position minus the actual position calculation - only used for relative positioned helper >- }); >- >- // Only after we got the offset, we can change the helper's position to absolute >- // TODO: Still need to figure out a way to make relative sorting possible >- this.helper.css("position", "absolute"); >- this.cssPosition = this.helper.css("position"); >- >- //Generate the original position >- this.originalPosition = this._generatePosition(event); >- this.originalPageX = event.pageX; >- this.originalPageY = event.pageY; >- >- //Adjust the mouse offset relative to the helper if "cursorAt" is supplied >- (o.cursorAt && this._adjustOffsetFromHelper(o.cursorAt)); >- >- //Cache the former DOM position >- this.domPosition = { prev: this.currentItem.prev()[0], parent: this.currentItem.parent()[0] }; >- >- //If the helper is not the original, hide the original so it's not playing any role during the drag, won't cause anything bad this way >- if(this.helper[0] !== this.currentItem[0]) { >- this.currentItem.hide(); >- } >- >- //Create the placeholder >- this._createPlaceholder(); >- >- //Set a containment if given in the options >- if(o.containment) { >- this._setContainment(); >- } >- >- if( o.cursor && o.cursor !== "auto" ) { // cursor option >- body = this.document.find( "body" ); >- >- // support: IE >- this.storedCursor = body.css( "cursor" ); >- body.css( "cursor", o.cursor ); >- >- this.storedStylesheet = $( "<style>*{ cursor: "+o.cursor+" !important; }</style>" ).appendTo( body ); >- } >- >- if(o.opacity) { // opacity option >- if (this.helper.css("opacity")) { >- this._storedOpacity = this.helper.css("opacity"); >- } >- this.helper.css("opacity", o.opacity); >- } >- >- if(o.zIndex) { // zIndex option >- if (this.helper.css("zIndex")) { >- this._storedZIndex = this.helper.css("zIndex"); >- } >- this.helper.css("zIndex", o.zIndex); >- } >- >- //Prepare scrolling >- if(this.scrollParent[0] !== this.document[0] && this.scrollParent[0].tagName !== "HTML") { >- this.overflowOffset = this.scrollParent.offset(); >- } >- >- //Call callbacks >- this._trigger("start", event, this._uiHash()); >- >- //Recache the helper size >- if(!this._preserveHelperProportions) { >- this._cacheHelperProportions(); >- } >- >- >- //Post "activate" events to possible containers >- if( !noActivation ) { >- for ( i = this.containers.length - 1; i >= 0; i-- ) { >- this.containers[ i ]._trigger( "activate", event, this._uiHash( this ) ); >- } >- } >- >- //Prepare possible droppables >- if($.ui.ddmanager) { >- $.ui.ddmanager.current = this; >- } >- >- if ($.ui.ddmanager && !o.dropBehaviour) { >- $.ui.ddmanager.prepareOffsets(this, event); >- } >- >- this.dragging = true; >- >- this.helper.addClass("ui-sortable-helper"); >- this._mouseDrag(event); //Execute the drag once - this causes the helper not to be visible before getting its correct position >- return true; >- >- }, >- >- _mouseDrag: function(event) { >- var i, item, itemElement, intersection, >- o = this.options, >- scrolled = false; >- >- //Compute the helpers position >- this.position = this._generatePosition(event); >- this.positionAbs = this._convertPositionTo("absolute"); >- >- if (!this.lastPositionAbs) { >- this.lastPositionAbs = this.positionAbs; >- } >- >- //Do scrolling >- if(this.options.scroll) { >- if(this.scrollParent[0] !== this.document[0] && this.scrollParent[0].tagName !== "HTML") { >- >- if((this.overflowOffset.top + this.scrollParent[0].offsetHeight) - event.pageY < o.scrollSensitivity) { >- this.scrollParent[0].scrollTop = scrolled = this.scrollParent[0].scrollTop + o.scrollSpeed; >- } else if(event.pageY - this.overflowOffset.top < o.scrollSensitivity) { >- this.scrollParent[0].scrollTop = scrolled = this.scrollParent[0].scrollTop - o.scrollSpeed; >- } >- >- if((this.overflowOffset.left + this.scrollParent[0].offsetWidth) - event.pageX < o.scrollSensitivity) { >- this.scrollParent[0].scrollLeft = scrolled = this.scrollParent[0].scrollLeft + o.scrollSpeed; >- } else if(event.pageX - this.overflowOffset.left < o.scrollSensitivity) { >- this.scrollParent[0].scrollLeft = scrolled = this.scrollParent[0].scrollLeft - o.scrollSpeed; >- } >- >- } else { >- >- if(event.pageY - this.document.scrollTop() < o.scrollSensitivity) { >- scrolled = this.document.scrollTop(this.document.scrollTop() - o.scrollSpeed); >- } else if(this.window.height() - (event.pageY - this.document.scrollTop()) < o.scrollSensitivity) { >- scrolled = this.document.scrollTop(this.document.scrollTop() + o.scrollSpeed); >- } >- >- if(event.pageX - this.document.scrollLeft() < o.scrollSensitivity) { >- scrolled = this.document.scrollLeft(this.document.scrollLeft() - o.scrollSpeed); >- } else if(this.window.width() - (event.pageX - this.document.scrollLeft()) < o.scrollSensitivity) { >- scrolled = this.document.scrollLeft(this.document.scrollLeft() + o.scrollSpeed); >- } >- >- } >- >- if(scrolled !== false && $.ui.ddmanager && !o.dropBehaviour) { >- $.ui.ddmanager.prepareOffsets(this, event); >- } >- } >- >- //Regenerate the absolute position used for position checks >- this.positionAbs = this._convertPositionTo("absolute"); >- >- //Set the helper 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"; >- } >- >- //Rearrange >- for (i = this.items.length - 1; i >= 0; i--) { >- >- //Cache variables and intersection, continue if no intersection >- item = this.items[i]; >- itemElement = item.item[0]; >- intersection = this._intersectsWithPointer(item); >- if (!intersection) { >- continue; >- } >- >- // Only put the placeholder inside the current Container, skip all >- // items from other containers. This works because when moving >- // an item from one container to another the >- // currentContainer is switched before the placeholder is moved. >- // >- // Without this, moving items in "sub-sortables" can cause >- // the placeholder to jitter between the outer and inner container. >- if (item.instance !== this.currentContainer) { >- continue; >- } >- >- // cannot intersect with itself >- // no useless actions that have been done before >- // no action if the item moved is the parent of the item checked >- if (itemElement !== this.currentItem[0] && >- this.placeholder[intersection === 1 ? "next" : "prev"]()[0] !== itemElement && >- !$.contains(this.placeholder[0], itemElement) && >- (this.options.type === "semi-dynamic" ? !$.contains(this.element[0], itemElement) : true) >- ) { >- >- this.direction = intersection === 1 ? "down" : "up"; >- >- if (this.options.tolerance === "pointer" || this._intersectsWithSides(item)) { >- this._rearrange(event, item); >- } else { >- break; >- } >- >- this._trigger("change", event, this._uiHash()); >- break; >- } >- } >- >- //Post events to containers >- this._contactContainers(event); >- >- //Interconnect with droppables >- if($.ui.ddmanager) { >- $.ui.ddmanager.drag(this, event); >- } >- >- //Call callbacks >- this._trigger("sort", event, this._uiHash()); >- >- this.lastPositionAbs = this.positionAbs; >- return false; >- >- }, >- >- _mouseStop: function(event, noPropagation) { >- >- if(!event) { >- return; >- } >- >- //If we are using droppables, inform the manager about the drop >- if ($.ui.ddmanager && !this.options.dropBehaviour) { >- $.ui.ddmanager.drop(this, event); >- } >- >- if(this.options.revert) { >- var that = this, >- cur = this.placeholder.offset(), >- axis = this.options.axis, >- animation = {}; >- >- if ( !axis || axis === "x" ) { >- animation.left = cur.left - this.offset.parent.left - this.margins.left + (this.offsetParent[0] === this.document[0].body ? 0 : this.offsetParent[0].scrollLeft); >- } >- if ( !axis || axis === "y" ) { >- animation.top = cur.top - this.offset.parent.top - this.margins.top + (this.offsetParent[0] === this.document[0].body ? 0 : this.offsetParent[0].scrollTop); >- } >- this.reverting = true; >- $(this.helper).animate( animation, parseInt(this.options.revert, 10) || 500, function() { >- that._clear(event); >- }); >- } else { >- this._clear(event, noPropagation); >- } >- >- return false; >- >- }, >- >- cancel: function() { >- >- if(this.dragging) { >- >- this._mouseUp({ target: null }); >- >- if(this.options.helper === "original") { >- this.currentItem.css(this._storedCSS).removeClass("ui-sortable-helper"); >- } else { >- this.currentItem.show(); >- } >- >- //Post deactivating events to containers >- for (var i = this.containers.length - 1; i >= 0; i--){ >- this.containers[i]._trigger("deactivate", null, this._uiHash(this)); >- if(this.containers[i].containerCache.over) { >- this.containers[i]._trigger("out", null, this._uiHash(this)); >- this.containers[i].containerCache.over = 0; >- } >- } >- >- } >- >- if (this.placeholder) { >- //$(this.placeholder[0]).remove(); would have been the jQuery way - unfortunately, it unbinds ALL events from the original node! >- if(this.placeholder[0].parentNode) { >- this.placeholder[0].parentNode.removeChild(this.placeholder[0]); >- } >- if(this.options.helper !== "original" && this.helper && this.helper[0].parentNode) { >- this.helper.remove(); >- } >- >- $.extend(this, { >- helper: null, >- dragging: false, >- reverting: false, >- _noFinalSort: null >- }); >- >- if(this.domPosition.prev) { >- $(this.domPosition.prev).after(this.currentItem); >- } else { >- $(this.domPosition.parent).prepend(this.currentItem); >- } >- } >- >- return this; >- >- }, >- >- serialize: function(o) { >- >- var items = this._getItemsAsjQuery(o && o.connected), >- str = []; >- o = o || {}; >- >- $(items).each(function() { >- var res = ($(o.item || this).attr(o.attribute || "id") || "").match(o.expression || (/(.+)[\-=_](.+)/)); >- if (res) { >- str.push((o.key || res[1]+"[]")+"="+(o.key && o.expression ? res[1] : res[2])); >- } >- }); >- >- if(!str.length && o.key) { >- str.push(o.key + "="); >- } >- >- return str.join("&"); >- >- }, >- >- toArray: function(o) { >- >- var items = this._getItemsAsjQuery(o && o.connected), >- ret = []; >- >- o = o || {}; >- >- items.each(function() { ret.push($(o.item || this).attr(o.attribute || "id") || ""); }); >- return ret; >- >- }, >- >- /* Be careful with the following core functions */ >- _intersectsWith: function(item) { >- >- var x1 = this.positionAbs.left, >- x2 = x1 + this.helperProportions.width, >- y1 = this.positionAbs.top, >- y2 = y1 + this.helperProportions.height, >- l = item.left, >- r = l + item.width, >- t = item.top, >- b = t + item.height, >- dyClick = this.offset.click.top, >- dxClick = this.offset.click.left, >- isOverElementHeight = ( this.options.axis === "x" ) || ( ( y1 + dyClick ) > t && ( y1 + dyClick ) < b ), >- isOverElementWidth = ( this.options.axis === "y" ) || ( ( x1 + dxClick ) > l && ( x1 + dxClick ) < r ), >- isOverElement = isOverElementHeight && isOverElementWidth; >- >- if ( this.options.tolerance === "pointer" || >- this.options.forcePointerForContainers || >- (this.options.tolerance !== "pointer" && this.helperProportions[this.floating ? "width" : "height"] > item[this.floating ? "width" : "height"]) >- ) { >- return isOverElement; >- } else { >- >- return (l < x1 + (this.helperProportions.width / 2) && // Right Half >- x2 - (this.helperProportions.width / 2) < r && // Left Half >- t < y1 + (this.helperProportions.height / 2) && // Bottom Half >- y2 - (this.helperProportions.height / 2) < b ); // Top Half >- >- } >- }, >- >- _intersectsWithPointer: function(item) { >- >- var isOverElementHeight = (this.options.axis === "x") || this._isOverAxis(this.positionAbs.top + this.offset.click.top, item.top, item.height), >- isOverElementWidth = (this.options.axis === "y") || this._isOverAxis(this.positionAbs.left + this.offset.click.left, item.left, item.width), >- isOverElement = isOverElementHeight && isOverElementWidth, >- verticalDirection = this._getDragVerticalDirection(), >- horizontalDirection = this._getDragHorizontalDirection(); >- >- if (!isOverElement) { >- return false; >- } >- >- return this.floating ? >- ( ((horizontalDirection && horizontalDirection === "right") || verticalDirection === "down") ? 2 : 1 ) >- : ( verticalDirection && (verticalDirection === "down" ? 2 : 1) ); >- >- }, >- >- _intersectsWithSides: function(item) { >- >- var isOverBottomHalf = this._isOverAxis(this.positionAbs.top + this.offset.click.top, item.top + (item.height/2), item.height), >- isOverRightHalf = this._isOverAxis(this.positionAbs.left + this.offset.click.left, item.left + (item.width/2), item.width), >- verticalDirection = this._getDragVerticalDirection(), >- horizontalDirection = this._getDragHorizontalDirection(); >- >- if (this.floating && horizontalDirection) { >- return ((horizontalDirection === "right" && isOverRightHalf) || (horizontalDirection === "left" && !isOverRightHalf)); >- } else { >- return verticalDirection && ((verticalDirection === "down" && isOverBottomHalf) || (verticalDirection === "up" && !isOverBottomHalf)); >- } >- >- }, >- >- _getDragVerticalDirection: function() { >- var delta = this.positionAbs.top - this.lastPositionAbs.top; >- return delta !== 0 && (delta > 0 ? "down" : "up"); >- }, >- >- _getDragHorizontalDirection: function() { >- var delta = this.positionAbs.left - this.lastPositionAbs.left; >- return delta !== 0 && (delta > 0 ? "right" : "left"); >- }, >- >- refresh: function(event) { >- this._refreshItems(event); >- this._setHandleClassName(); >- this.refreshPositions(); >- return this; >- }, >- >- _connectWith: function() { >- var options = this.options; >- return options.connectWith.constructor === String ? [options.connectWith] : options.connectWith; >- }, >- >- _getItemsAsjQuery: function(connected) { >- >- var i, j, cur, inst, >- items = [], >- queries = [], >- connectWith = this._connectWith(); >- >- if(connectWith && connected) { >- for (i = connectWith.length - 1; i >= 0; i--){ >- cur = $(connectWith[i], this.document[0]); >- for ( j = cur.length - 1; j >= 0; j--){ >- inst = $.data(cur[j], this.widgetFullName); >- if(inst && inst !== this && !inst.options.disabled) { >- queries.push([$.isFunction(inst.options.items) ? inst.options.items.call(inst.element) : $(inst.options.items, inst.element).not(".ui-sortable-helper").not(".ui-sortable-placeholder"), inst]); >- } >- } >- } >- } >- >- queries.push([$.isFunction(this.options.items) ? this.options.items.call(this.element, null, { options: this.options, item: this.currentItem }) : $(this.options.items, this.element).not(".ui-sortable-helper").not(".ui-sortable-placeholder"), this]); >- >- function addItems() { >- items.push( this ); >- } >- for (i = queries.length - 1; i >= 0; i--){ >- queries[i][0].each( addItems ); >- } >- >- return $(items); >- >- }, >- >- _removeCurrentsFromItems: function() { >- >- var list = this.currentItem.find(":data(" + this.widgetName + "-item)"); >- >- this.items = $.grep(this.items, function (item) { >- for (var j=0; j < list.length; j++) { >- if(list[j] === item.item[0]) { >- return false; >- } >- } >- return true; >- }); >- >- }, >- >- _refreshItems: function(event) { >- >- this.items = []; >- this.containers = [this]; >- >- var i, j, cur, inst, targetData, _queries, item, queriesLength, >- items = this.items, >- queries = [[$.isFunction(this.options.items) ? this.options.items.call(this.element[0], event, { item: this.currentItem }) : $(this.options.items, this.element), this]], >- connectWith = this._connectWith(); >- >- if(connectWith && this.ready) { //Shouldn't be run the first time through due to massive slow-down >- for (i = connectWith.length - 1; i >= 0; i--){ >- cur = $(connectWith[i], this.document[0]); >- for (j = cur.length - 1; j >= 0; j--){ >- inst = $.data(cur[j], this.widgetFullName); >- if(inst && inst !== this && !inst.options.disabled) { >- queries.push([$.isFunction(inst.options.items) ? inst.options.items.call(inst.element[0], event, { item: this.currentItem }) : $(inst.options.items, inst.element), inst]); >- this.containers.push(inst); >- } >- } >- } >- } >- >- for (i = queries.length - 1; i >= 0; i--) { >- targetData = queries[i][1]; >- _queries = queries[i][0]; >- >- for (j=0, queriesLength = _queries.length; j < queriesLength; j++) { >- item = $(_queries[j]); >- >- item.data(this.widgetName + "-item", targetData); // Data for target checking (mouse manager) >- >- items.push({ >- item: item, >- instance: targetData, >- width: 0, height: 0, >- left: 0, top: 0 >- }); >- } >- } >- >- }, >- >- refreshPositions: function(fast) { >- >- // Determine whether items are being displayed horizontally >- this.floating = this.items.length ? >- this.options.axis === "x" || this._isFloating( this.items[ 0 ].item ) : >- false; >- >- //This has to be redone because due to the item being moved out/into the offsetParent, the offsetParent's position will change >- if(this.offsetParent && this.helper) { >- this.offset.parent = this._getParentOffset(); >- } >- >- var i, item, t, p; >- >- for (i = this.items.length - 1; i >= 0; i--){ >- item = this.items[i]; >- >- //We ignore calculating positions of all connected containers when we're not over them >- if(item.instance !== this.currentContainer && this.currentContainer && item.item[0] !== this.currentItem[0]) { >- continue; >- } >- >- t = this.options.toleranceElement ? $(this.options.toleranceElement, item.item) : item.item; >- >- if (!fast) { >- item.width = t.outerWidth(); >- item.height = t.outerHeight(); >- } >- >- p = t.offset(); >- item.left = p.left; >- item.top = p.top; >- } >- >- if(this.options.custom && this.options.custom.refreshContainers) { >- this.options.custom.refreshContainers.call(this); >- } else { >- for (i = this.containers.length - 1; i >= 0; i--){ >- p = this.containers[i].element.offset(); >- this.containers[i].containerCache.left = p.left; >- this.containers[i].containerCache.top = p.top; >- this.containers[i].containerCache.width = this.containers[i].element.outerWidth(); >- this.containers[i].containerCache.height = this.containers[i].element.outerHeight(); >- } >- } >- >- return this; >- }, >- >- _createPlaceholder: function(that) { >- that = that || this; >- var className, >- o = that.options; >- >- if(!o.placeholder || o.placeholder.constructor === String) { >- className = o.placeholder; >- o.placeholder = { >- element: function() { >- >- var nodeName = that.currentItem[0].nodeName.toLowerCase(), >- element = $( "<" + nodeName + ">", that.document[0] ) >- .addClass(className || that.currentItem[0].className+" ui-sortable-placeholder") >- .removeClass("ui-sortable-helper"); >- >- if ( nodeName === "tbody" ) { >- that._createTrPlaceholder( >- that.currentItem.find( "tr" ).eq( 0 ), >- $( "<tr>", that.document[ 0 ] ).appendTo( element ) >- ); >- } else if ( nodeName === "tr" ) { >- that._createTrPlaceholder( that.currentItem, element ); >- } else if ( nodeName === "img" ) { >- element.attr( "src", that.currentItem.attr( "src" ) ); >- } >- >- if ( !className ) { >- element.css( "visibility", "hidden" ); >- } >- >- return element; >- }, >- update: function(container, p) { >- >- // 1. If a className is set as 'placeholder option, we don't force sizes - the class is responsible for that >- // 2. The option 'forcePlaceholderSize can be enabled to force it even if a class name is specified >- if(className && !o.forcePlaceholderSize) { >- return; >- } >- >- //If the element doesn't have a actual height by itself (without styles coming from a stylesheet), it receives the inline height from the dragged item >- if(!p.height()) { p.height(that.currentItem.innerHeight() - parseInt(that.currentItem.css("paddingTop")||0, 10) - parseInt(that.currentItem.css("paddingBottom")||0, 10)); } >- if(!p.width()) { p.width(that.currentItem.innerWidth() - parseInt(that.currentItem.css("paddingLeft")||0, 10) - parseInt(that.currentItem.css("paddingRight")||0, 10)); } >- } >- }; >- } >- >- //Create the placeholder >- that.placeholder = $(o.placeholder.element.call(that.element, that.currentItem)); >- >- //Append it after the actual current item >- that.currentItem.after(that.placeholder); >- >- //Update the size of the placeholder (TODO: Logic to fuzzy, see line 316/317) >- o.placeholder.update(that, that.placeholder); >- >- }, >- >- _createTrPlaceholder: function( sourceTr, targetTr ) { >- var that = this; >- >- sourceTr.children().each(function() { >- $( "<td> </td>", that.document[ 0 ] ) >- .attr( "colspan", $( this ).attr( "colspan" ) || 1 ) >- .appendTo( targetTr ); >- }); >- }, >- >- _contactContainers: function(event) { >- var i, j, dist, itemWithLeastDistance, posProperty, sizeProperty, cur, nearBottom, floating, axis, >- innermostContainer = null, >- innermostIndex = null; >- >- // get innermost container that intersects with item >- for (i = this.containers.length - 1; i >= 0; i--) { >- >- // never consider a container that's located within the item itself >- if($.contains(this.currentItem[0], this.containers[i].element[0])) { >- continue; >- } >- >- if(this._intersectsWith(this.containers[i].containerCache)) { >- >- // if we've already found a container and it's more "inner" than this, then continue >- if(innermostContainer && $.contains(this.containers[i].element[0], innermostContainer.element[0])) { >- continue; >- } >- >- innermostContainer = this.containers[i]; >- innermostIndex = i; >- >- } else { >- // container doesn't intersect. trigger "out" event if necessary >- if(this.containers[i].containerCache.over) { >- this.containers[i]._trigger("out", event, this._uiHash(this)); >- this.containers[i].containerCache.over = 0; >- } >- } >- >- } >- >- // if no intersecting containers found, return >- if(!innermostContainer) { >- return; >- } >- >- // move the item into the container if it's not there already >- if(this.containers.length === 1) { >- if (!this.containers[innermostIndex].containerCache.over) { >- this.containers[innermostIndex]._trigger("over", event, this._uiHash(this)); >- this.containers[innermostIndex].containerCache.over = 1; >- } >- } else { >- >- //When entering a new container, we will find the item with the least distance and append our item near it >- dist = 10000; >- itemWithLeastDistance = null; >- floating = innermostContainer.floating || this._isFloating(this.currentItem); >- posProperty = floating ? "left" : "top"; >- sizeProperty = floating ? "width" : "height"; >- axis = floating ? "clientX" : "clientY"; >- >- for (j = this.items.length - 1; j >= 0; j--) { >- if(!$.contains(this.containers[innermostIndex].element[0], this.items[j].item[0])) { >- continue; >- } >- if(this.items[j].item[0] === this.currentItem[0]) { >- continue; >- } >- >- cur = this.items[j].item.offset()[posProperty]; >- nearBottom = false; >- if ( event[ axis ] - cur > this.items[ j ][ sizeProperty ] / 2 ) { >- nearBottom = true; >- } >- >- if ( Math.abs( event[ axis ] - cur ) < dist ) { >- dist = Math.abs( event[ axis ] - cur ); >- itemWithLeastDistance = this.items[ j ]; >- this.direction = nearBottom ? "up": "down"; >- } >- } >- >- //Check if dropOnEmpty is enabled >- if(!itemWithLeastDistance && !this.options.dropOnEmpty) { >- return; >- } >- >- if(this.currentContainer === this.containers[innermostIndex]) { >- if ( !this.currentContainer.containerCache.over ) { >- this.containers[ innermostIndex ]._trigger( "over", event, this._uiHash() ); >- this.currentContainer.containerCache.over = 1; >- } >- return; >- } >- >- itemWithLeastDistance ? this._rearrange(event, itemWithLeastDistance, null, true) : this._rearrange(event, null, this.containers[innermostIndex].element, true); >- this._trigger("change", event, this._uiHash()); >- this.containers[innermostIndex]._trigger("change", event, this._uiHash(this)); >- this.currentContainer = this.containers[innermostIndex]; >- >- //Update the placeholder >- this.options.placeholder.update(this.currentContainer, this.placeholder); >- >- this.containers[innermostIndex]._trigger("over", event, this._uiHash(this)); >- this.containers[innermostIndex].containerCache.over = 1; >- } >- >- >- }, >- >- _createHelper: function(event) { >- >- var o = this.options, >- helper = $.isFunction(o.helper) ? $(o.helper.apply(this.element[0], [event, this.currentItem])) : (o.helper === "clone" ? this.currentItem.clone() : this.currentItem); >- >- //Add the helper to the DOM if that didn't happen already >- if(!helper.parents("body").length) { >- $(o.appendTo !== "parent" ? o.appendTo : this.currentItem[0].parentNode)[0].appendChild(helper[0]); >- } >- >- if(helper[0] === this.currentItem[0]) { >- this._storedCSS = { width: this.currentItem[0].style.width, height: this.currentItem[0].style.height, position: this.currentItem.css("position"), top: this.currentItem.css("top"), left: this.currentItem.css("left") }; >- } >- >- if(!helper[0].style.width || o.forceHelperSize) { >- helper.width(this.currentItem.width()); >- } >- if(!helper[0].style.height || o.forceHelperSize) { >- helper.height(this.currentItem.height()); >- } >- >- return helper; >- >- }, >- >- _adjustOffsetFromHelper: function(obj) { >- if (typeof obj === "string") { >- obj = obj.split(" "); >- } >- if ($.isArray(obj)) { >- obj = {left: +obj[0], top: +obj[1] || 0}; >- } >- if ("left" in obj) { >- this.offset.click.left = obj.left + this.margins.left; >- } >- if ("right" in obj) { >- this.offset.click.left = this.helperProportions.width - obj.right + this.margins.left; >- } >- if ("top" in obj) { >- this.offset.click.top = obj.top + this.margins.top; >- } >- if ("bottom" in obj) { >- this.offset.click.top = this.helperProportions.height - obj.bottom + this.margins.top; >- } >- }, >- >- _getParentOffset: function() { >- >- >- //Get the offsetParent and cache its position >- this.offsetParent = this.helper.offsetParent(); >- var po = this.offsetParent.offset(); >- >- // This is a special case where we need to modify a offset calculated on start, since the following happened: >- // 1. The position of the helper is absolute, so it's position is calculated based on the next positioned parent >- // 2. The actual offset parent is a child of the scroll parent, and the scroll parent isn't the document, which means that >- // the scroll is included in the initial calculation of the offset of the parent, and never recalculated upon drag >- if(this.cssPosition === "absolute" && this.scrollParent[0] !== this.document[0] && $.contains(this.scrollParent[0], this.offsetParent[0])) { >- po.left += this.scrollParent.scrollLeft(); >- po.top += this.scrollParent.scrollTop(); >- } >- >- // This needs to be actually done for all browsers, since pageX/pageY includes this information >- // with an ugly IE fix >- if( this.offsetParent[0] === this.document[0].body || (this.offsetParent[0].tagName && this.offsetParent[0].tagName.toLowerCase() === "html" && $.ui.ie)) { >- po = { top: 0, left: 0 }; >- } >- >- return { >- top: po.top + (parseInt(this.offsetParent.css("borderTopWidth"),10) || 0), >- left: po.left + (parseInt(this.offsetParent.css("borderLeftWidth"),10) || 0) >- }; >- >- }, >- >- _getRelativeOffset: function() { >- >- if(this.cssPosition === "relative") { >- var p = this.currentItem.position(); >- return { >- top: p.top - (parseInt(this.helper.css("top"),10) || 0) + this.scrollParent.scrollTop(), >- left: p.left - (parseInt(this.helper.css("left"),10) || 0) + this.scrollParent.scrollLeft() >- }; >- } else { >- return { top: 0, left: 0 }; >- } >- >- }, >- >- _cacheMargins: function() { >- this.margins = { >- left: (parseInt(this.currentItem.css("marginLeft"),10) || 0), >- top: (parseInt(this.currentItem.css("marginTop"),10) || 0) >- }; >- }, >- >- _cacheHelperProportions: function() { >- this.helperProportions = { >- width: this.helper.outerWidth(), >- height: this.helper.outerHeight() >- }; >- }, >- >- _setContainment: function() { >- >- var ce, co, over, >- o = this.options; >- if(o.containment === "parent") { >- o.containment = this.helper[0].parentNode; >- } >- if(o.containment === "document" || o.containment === "window") { >- this.containment = [ >- 0 - this.offset.relative.left - this.offset.parent.left, >- 0 - this.offset.relative.top - this.offset.parent.top, >- o.containment === "document" ? this.document.width() : this.window.width() - this.helperProportions.width - this.margins.left, >- (o.containment === "document" ? this.document.width() : this.window.height() || this.document[0].body.parentNode.scrollHeight) - this.helperProportions.height - this.margins.top >- ]; >- } >- >- if(!(/^(document|window|parent)$/).test(o.containment)) { >- ce = $(o.containment)[0]; >- co = $(o.containment).offset(); >- over = ($(ce).css("overflow") !== "hidden"); >- >- this.containment = [ >- co.left + (parseInt($(ce).css("borderLeftWidth"),10) || 0) + (parseInt($(ce).css("paddingLeft"),10) || 0) - this.margins.left, >- co.top + (parseInt($(ce).css("borderTopWidth"),10) || 0) + (parseInt($(ce).css("paddingTop"),10) || 0) - this.margins.top, >- co.left+(over ? Math.max(ce.scrollWidth,ce.offsetWidth) : ce.offsetWidth) - (parseInt($(ce).css("borderLeftWidth"),10) || 0) - (parseInt($(ce).css("paddingRight"),10) || 0) - this.helperProportions.width - this.margins.left, >- co.top+(over ? Math.max(ce.scrollHeight,ce.offsetHeight) : ce.offsetHeight) - (parseInt($(ce).css("borderTopWidth"),10) || 0) - (parseInt($(ce).css("paddingBottom"),10) || 0) - this.helperProportions.height - this.margins.top >- ]; >- } >- >- }, >- >- _convertPositionTo: function(d, pos) { >- >- if(!pos) { >- pos = this.position; >- } >- var mod = d === "absolute" ? 1 : -1, >- scroll = this.cssPosition === "absolute" && !(this.scrollParent[0] !== this.document[0] && $.contains(this.scrollParent[0], this.offsetParent[0])) ? this.offsetParent : this.scrollParent, >- scrollIsRootNode = (/(html|body)/i).test(scroll[0].tagName); >- >- return { >- top: ( >- pos.top + // The absolute mouse position >- this.offset.relative.top * mod + // Only for relative positioned nodes: Relative offset from element to offset parent >- this.offset.parent.top * mod - // The offsetParent's offset without borders (offset + border) >- ( ( this.cssPosition === "fixed" ? -this.scrollParent.scrollTop() : ( scrollIsRootNode ? 0 : scroll.scrollTop() ) ) * mod) >- ), >- left: ( >- pos.left + // The absolute mouse position >- this.offset.relative.left * mod + // Only for relative positioned nodes: Relative offset from element to offset parent >- this.offset.parent.left * mod - // The offsetParent's offset without borders (offset + border) >- ( ( this.cssPosition === "fixed" ? -this.scrollParent.scrollLeft() : scrollIsRootNode ? 0 : scroll.scrollLeft() ) * mod) >- ) >- }; >- >- }, >- >- _generatePosition: function(event) { >- >- var top, left, >- o = this.options, >- pageX = event.pageX, >- pageY = event.pageY, >- scroll = this.cssPosition === "absolute" && !(this.scrollParent[0] !== this.document[0] && $.contains(this.scrollParent[0], this.offsetParent[0])) ? this.offsetParent : this.scrollParent, scrollIsRootNode = (/(html|body)/i).test(scroll[0].tagName); >- >- // This is another very weird special case that only happens for relative elements: >- // 1. If the css position is relative >- // 2. and the scroll parent is the document or similar to the offset parent >- // we have to refresh the relative offset during the scroll so there are no jumps >- if(this.cssPosition === "relative" && !(this.scrollParent[0] !== this.document[0] && this.scrollParent[0] !== this.offsetParent[0])) { >- this.offset.relative = this._getRelativeOffset(); >- } >- >- /* >- * - Position constraining - >- * Constrain the position to a mix of grid, containment. >- */ >- >- if(this.originalPosition) { //If we are not dragging yet, we won't check for options >- >- if(this.containment) { >- if(event.pageX - this.offset.click.left < this.containment[0]) { >- pageX = this.containment[0] + this.offset.click.left; >- } >- if(event.pageY - this.offset.click.top < this.containment[1]) { >- pageY = this.containment[1] + this.offset.click.top; >- } >- if(event.pageX - this.offset.click.left > this.containment[2]) { >- pageX = this.containment[2] + this.offset.click.left; >- } >- if(event.pageY - this.offset.click.top > this.containment[3]) { >- pageY = this.containment[3] + this.offset.click.top; >- } >- } >- >- if(o.grid) { >- top = this.originalPageY + Math.round((pageY - this.originalPageY) / o.grid[1]) * o.grid[1]; >- pageY = this.containment ? ( (top - this.offset.click.top >= this.containment[1] && top - this.offset.click.top <= this.containment[3]) ? top : ((top - this.offset.click.top >= this.containment[1]) ? top - o.grid[1] : top + o.grid[1])) : top; >- >- left = this.originalPageX + Math.round((pageX - this.originalPageX) / o.grid[0]) * o.grid[0]; >- pageX = this.containment ? ( (left - this.offset.click.left >= this.containment[0] && left - this.offset.click.left <= this.containment[2]) ? left : ((left - this.offset.click.left >= this.containment[0]) ? left - o.grid[0] : left + o.grid[0])) : left; >- } >- >- } >- >- return { >- top: ( >- pageY - // The absolute mouse position >- this.offset.click.top - // Click offset (relative to the element) >- this.offset.relative.top - // Only for relative positioned nodes: Relative offset from element to offset parent >- this.offset.parent.top + // The offsetParent's offset without borders (offset + border) >- ( ( this.cssPosition === "fixed" ? -this.scrollParent.scrollTop() : ( scrollIsRootNode ? 0 : scroll.scrollTop() ) )) >- ), >- left: ( >- pageX - // The absolute mouse position >- this.offset.click.left - // Click offset (relative to the element) >- this.offset.relative.left - // Only for relative positioned nodes: Relative offset from element to offset parent >- this.offset.parent.left + // The offsetParent's offset without borders (offset + border) >- ( ( this.cssPosition === "fixed" ? -this.scrollParent.scrollLeft() : scrollIsRootNode ? 0 : scroll.scrollLeft() )) >- ) >- }; >- >- }, >- >- _rearrange: function(event, i, a, hardRefresh) { >- >- a ? a[0].appendChild(this.placeholder[0]) : i.item[0].parentNode.insertBefore(this.placeholder[0], (this.direction === "down" ? i.item[0] : i.item[0].nextSibling)); >- >- //Various things done here to improve the performance: >- // 1. we create a setTimeout, that calls refreshPositions >- // 2. on the instance, we have a counter variable, that get's higher after every append >- // 3. on the local scope, we copy the counter variable, and check in the timeout, if it's still the same >- // 4. this lets only the last addition to the timeout stack through >- this.counter = this.counter ? ++this.counter : 1; >- var counter = this.counter; >- >- this._delay(function() { >- if(counter === this.counter) { >- this.refreshPositions(!hardRefresh); //Precompute after each DOM insertion, NOT on mousemove >- } >- }); >- >- }, >- >- _clear: function(event, noPropagation) { >- >- this.reverting = false; >- // We delay all events that have to be triggered to after the point where the placeholder has been removed and >- // everything else normalized again >- var i, >- delayedTriggers = []; >- >- // We first have to update the dom position of the actual currentItem >- // Note: don't do it if the current item is already removed (by a user), or it gets reappended (see #4088) >- if(!this._noFinalSort && this.currentItem.parent().length) { >- this.placeholder.before(this.currentItem); >- } >- this._noFinalSort = null; >- >- if(this.helper[0] === this.currentItem[0]) { >- for(i in this._storedCSS) { >- if(this._storedCSS[i] === "auto" || this._storedCSS[i] === "static") { >- this._storedCSS[i] = ""; >- } >- } >- this.currentItem.css(this._storedCSS).removeClass("ui-sortable-helper"); >- } else { >- this.currentItem.show(); >- } >- >- if(this.fromOutside && !noPropagation) { >- delayedTriggers.push(function(event) { this._trigger("receive", event, this._uiHash(this.fromOutside)); }); >- } >- if((this.fromOutside || this.domPosition.prev !== this.currentItem.prev().not(".ui-sortable-helper")[0] || this.domPosition.parent !== this.currentItem.parent()[0]) && !noPropagation) { >- delayedTriggers.push(function(event) { this._trigger("update", event, this._uiHash()); }); //Trigger update callback if the DOM position has changed >- } >- >- // Check if the items Container has Changed and trigger appropriate >- // events. >- if (this !== this.currentContainer) { >- if(!noPropagation) { >- delayedTriggers.push(function(event) { this._trigger("remove", event, this._uiHash()); }); >- delayedTriggers.push((function(c) { return function(event) { c._trigger("receive", event, this._uiHash(this)); }; }).call(this, this.currentContainer)); >- delayedTriggers.push((function(c) { return function(event) { c._trigger("update", event, this._uiHash(this)); }; }).call(this, this.currentContainer)); >- } >- } >- >- >- //Post events to containers >- function delayEvent( type, instance, container ) { >- return function( event ) { >- container._trigger( type, event, instance._uiHash( instance ) ); >- }; >- } >- for (i = this.containers.length - 1; i >= 0; i--){ >- if (!noPropagation) { >- delayedTriggers.push( delayEvent( "deactivate", this, this.containers[ i ] ) ); >- } >- if(this.containers[i].containerCache.over) { >- delayedTriggers.push( delayEvent( "out", this, this.containers[ i ] ) ); >- this.containers[i].containerCache.over = 0; >- } >- } >- >- //Do what was originally in plugins >- if ( this.storedCursor ) { >- this.document.find( "body" ).css( "cursor", this.storedCursor ); >- this.storedStylesheet.remove(); >- } >- if(this._storedOpacity) { >- this.helper.css("opacity", this._storedOpacity); >- } >- if(this._storedZIndex) { >- this.helper.css("zIndex", this._storedZIndex === "auto" ? "" : this._storedZIndex); >- } >- >- this.dragging = false; >- >- if(!noPropagation) { >- this._trigger("beforeStop", event, this._uiHash()); >- } >- >- //$(this.placeholder[0]).remove(); would have been the jQuery way - unfortunately, it unbinds ALL events from the original node! >- this.placeholder[0].parentNode.removeChild(this.placeholder[0]); >- >- if ( !this.cancelHelperRemoval ) { >- if ( this.helper[ 0 ] !== this.currentItem[ 0 ] ) { >- this.helper.remove(); >- } >- this.helper = null; >- } >- >- if(!noPropagation) { >- for (i=0; i < delayedTriggers.length; i++) { >- delayedTriggers[i].call(this, event); >- } //Trigger all delayed events >- this._trigger("stop", event, this._uiHash()); >- } >- >- this.fromOutside = false; >- return !this.cancelHelperRemoval; >- >- }, >- >- _trigger: function() { >- if ($.Widget.prototype._trigger.apply(this, arguments) === false) { >- this.cancel(); >- } >- }, >- >- _uiHash: function(_inst) { >- var inst = _inst || this; >- return { >- helper: inst.helper, >- placeholder: inst.placeholder || $([]), >- position: inst.position, >- originalPosition: inst.originalPosition, >- offset: inst.positionAbs, >- item: inst.currentItem, >- sender: _inst ? _inst.element : null >- }; >- } >- >-}); >- >- >-/*! >- * jQuery UI Accordion 1.11.4 >- * http://jqueryui.com >- * >- * Copyright jQuery Foundation and other contributors >- * Released under the MIT license. >- * http://jquery.org/license >- * >- * http://api.jqueryui.com/accordion/ >- */ >- >- >-var accordion = $.widget( "ui.accordion", { >- version: "1.11.4", >- options: { >- active: 0, >- animate: {}, >- collapsible: false, >- event: "click", >- header: "> li > :first-child,> :not(li):even", >- heightStyle: "auto", >- icons: { >- activeHeader: "ui-icon-triangle-1-s", >- header: "ui-icon-triangle-1-e" >- }, >- >- // callbacks >- activate: null, >- beforeActivate: null >- }, >- >- hideProps: { >- borderTopWidth: "hide", >- borderBottomWidth: "hide", >- paddingTop: "hide", >- paddingBottom: "hide", >- height: "hide" >- }, >- >- showProps: { >- borderTopWidth: "show", >- borderBottomWidth: "show", >- paddingTop: "show", >- paddingBottom: "show", >- height: "show" >- }, >- >- _create: function() { >- var options = this.options; >- this.prevShow = this.prevHide = $(); >- this.element.addClass( "ui-accordion ui-widget ui-helper-reset" ) >- // ARIA >- .attr( "role", "tablist" ); >- >- // don't allow collapsible: false and active: false / null >- if ( !options.collapsible && (options.active === false || options.active == null) ) { >- options.active = 0; >- } >- >- this._processPanels(); >- // handle negative values >- if ( options.active < 0 ) { >- options.active += this.headers.length; >- } >- this._refresh(); >- }, >- >- _getCreateEventData: function() { >- return { >- header: this.active, >- panel: !this.active.length ? $() : this.active.next() >- }; >- }, >- >- _createIcons: function() { >- var icons = this.options.icons; >- if ( icons ) { >- $( "<span>" ) >- .addClass( "ui-accordion-header-icon ui-icon " + icons.header ) >- .prependTo( this.headers ); >- this.active.children( ".ui-accordion-header-icon" ) >- .removeClass( icons.header ) >- .addClass( icons.activeHeader ); >- this.headers.addClass( "ui-accordion-icons" ); >- } >- }, >- >- _destroyIcons: function() { >- this.headers >- .removeClass( "ui-accordion-icons" ) >- .children( ".ui-accordion-header-icon" ) >- .remove(); >- }, >- >- _destroy: function() { >- var contents; >- >- // clean up main element >- this.element >- .removeClass( "ui-accordion ui-widget ui-helper-reset" ) >- .removeAttr( "role" ); >- >- // clean up headers >- this.headers >- .removeClass( "ui-accordion-header ui-accordion-header-active ui-state-default " + >- "ui-corner-all ui-state-active ui-state-disabled ui-corner-top" ) >- .removeAttr( "role" ) >- .removeAttr( "aria-expanded" ) >- .removeAttr( "aria-selected" ) >- .removeAttr( "aria-controls" ) >- .removeAttr( "tabIndex" ) >- .removeUniqueId(); >- >- this._destroyIcons(); >- >- // clean up content panels >- contents = this.headers.next() >- .removeClass( "ui-helper-reset ui-widget-content ui-corner-bottom " + >- "ui-accordion-content ui-accordion-content-active ui-state-disabled" ) >- .css( "display", "" ) >- .removeAttr( "role" ) >- .removeAttr( "aria-hidden" ) >- .removeAttr( "aria-labelledby" ) >- .removeUniqueId(); >- >- if ( this.options.heightStyle !== "content" ) { >- contents.css( "height", "" ); >- } >- }, >- >- _setOption: function( key, value ) { >- if ( key === "active" ) { >- // _activate() will handle invalid values and update this.options >- this._activate( value ); >- return; >- } >- >- if ( key === "event" ) { >- if ( this.options.event ) { >- this._off( this.headers, this.options.event ); >- } >- this._setupEvents( value ); >- } >- >- this._super( key, value ); >- >- // setting collapsible: false while collapsed; open first panel >- if ( key === "collapsible" && !value && this.options.active === false ) { >- this._activate( 0 ); >- } >- >- if ( key === "icons" ) { >- this._destroyIcons(); >- if ( value ) { >- this._createIcons(); >- } >- } >- >- // #5332 - opacity doesn't cascade to positioned elements in IE >- // so we need to add the disabled class to the headers and panels >- if ( key === "disabled" ) { >- this.element >- .toggleClass( "ui-state-disabled", !!value ) >- .attr( "aria-disabled", value ); >- this.headers.add( this.headers.next() ) >- .toggleClass( "ui-state-disabled", !!value ); >- } >- }, >- >- _keydown: function( event ) { >- if ( event.altKey || event.ctrlKey ) { >- return; >- } >- >- var keyCode = $.ui.keyCode, >- length = this.headers.length, >- currentIndex = this.headers.index( event.target ), >- toFocus = false; >- >- switch ( event.keyCode ) { >- case keyCode.RIGHT: >- case keyCode.DOWN: >- toFocus = this.headers[ ( currentIndex + 1 ) % length ]; >- break; >- case keyCode.LEFT: >- case keyCode.UP: >- toFocus = this.headers[ ( currentIndex - 1 + length ) % length ]; >- break; >- case keyCode.SPACE: >- case keyCode.ENTER: >- this._eventHandler( event ); >- break; >- case keyCode.HOME: >- toFocus = this.headers[ 0 ]; >- break; >- case keyCode.END: >- toFocus = this.headers[ length - 1 ]; >- break; >- } >- >- if ( toFocus ) { >- $( event.target ).attr( "tabIndex", -1 ); >- $( toFocus ).attr( "tabIndex", 0 ); >- toFocus.focus(); >- event.preventDefault(); >- } >- }, >- >- _panelKeyDown: function( event ) { >- if ( event.keyCode === $.ui.keyCode.UP && event.ctrlKey ) { >- $( event.currentTarget ).prev().focus(); >- } >- }, >- >- refresh: function() { >- var options = this.options; >- this._processPanels(); >- >- // was collapsed or no panel >- if ( ( options.active === false && options.collapsible === true ) || !this.headers.length ) { >- options.active = false; >- this.active = $(); >- // active false only when collapsible is true >- } else if ( options.active === false ) { >- this._activate( 0 ); >- // was active, but active panel is gone >- } else if ( this.active.length && !$.contains( this.element[ 0 ], this.active[ 0 ] ) ) { >- // all remaining panel are disabled >- if ( this.headers.length === this.headers.find(".ui-state-disabled").length ) { >- options.active = false; >- this.active = $(); >- // activate previous panel >- } else { >- this._activate( Math.max( 0, options.active - 1 ) ); >- } >- // was active, active panel still exists >- } else { >- // make sure active index is correct >- options.active = this.headers.index( this.active ); >- } >- >- this._destroyIcons(); >- >- this._refresh(); >- }, >- >- _processPanels: function() { >- var prevHeaders = this.headers, >- prevPanels = this.panels; >- >- this.headers = this.element.find( this.options.header ) >- .addClass( "ui-accordion-header ui-state-default ui-corner-all" ); >- >- this.panels = this.headers.next() >- .addClass( "ui-accordion-content ui-helper-reset ui-widget-content ui-corner-bottom" ) >- .filter( ":not(.ui-accordion-content-active)" ) >- .hide(); >- >- // Avoid memory leaks (#10056) >- if ( prevPanels ) { >- this._off( prevHeaders.not( this.headers ) ); >- this._off( prevPanels.not( this.panels ) ); >- } >- }, >- >- _refresh: function() { >- var maxHeight, >- options = this.options, >- heightStyle = options.heightStyle, >- parent = this.element.parent(); >- >- this.active = this._findActive( options.active ) >- .addClass( "ui-accordion-header-active ui-state-active ui-corner-top" ) >- .removeClass( "ui-corner-all" ); >- this.active.next() >- .addClass( "ui-accordion-content-active" ) >- .show(); >- >- this.headers >- .attr( "role", "tab" ) >- .each(function() { >- var header = $( this ), >- headerId = header.uniqueId().attr( "id" ), >- panel = header.next(), >- panelId = panel.uniqueId().attr( "id" ); >- header.attr( "aria-controls", panelId ); >- panel.attr( "aria-labelledby", headerId ); >- }) >- .next() >- .attr( "role", "tabpanel" ); >- >- this.headers >- .not( this.active ) >- .attr({ >- "aria-selected": "false", >- "aria-expanded": "false", >- tabIndex: -1 >- }) >- .next() >- .attr({ >- "aria-hidden": "true" >- }) >- .hide(); >- >- // make sure at least one header is in the tab order >- if ( !this.active.length ) { >- this.headers.eq( 0 ).attr( "tabIndex", 0 ); >- } else { >- this.active.attr({ >- "aria-selected": "true", >- "aria-expanded": "true", >- tabIndex: 0 >- }) >- .next() >- .attr({ >- "aria-hidden": "false" >- }); >- } >- >- this._createIcons(); >- >- this._setupEvents( options.event ); >- >- if ( heightStyle === "fill" ) { >- maxHeight = parent.height(); >- this.element.siblings( ":visible" ).each(function() { >- var elem = $( this ), >- position = elem.css( "position" ); >- >- if ( position === "absolute" || position === "fixed" ) { >- return; >- } >- maxHeight -= elem.outerHeight( true ); >- }); >- >- this.headers.each(function() { >- maxHeight -= $( this ).outerHeight( true ); >- }); >- >- this.headers.next() >- .each(function() { >- $( this ).height( Math.max( 0, maxHeight - >- $( this ).innerHeight() + $( this ).height() ) ); >- }) >- .css( "overflow", "auto" ); >- } else if ( heightStyle === "auto" ) { >- maxHeight = 0; >- this.headers.next() >- .each(function() { >- maxHeight = Math.max( maxHeight, $( this ).css( "height", "" ).height() ); >- }) >- .height( maxHeight ); >- } >- }, >- >- _activate: function( index ) { >- var active = this._findActive( index )[ 0 ]; >- >- // trying to activate the already active panel >- if ( active === this.active[ 0 ] ) { >- return; >- } >- >- // trying to collapse, simulate a click on the currently active header >- active = active || this.active[ 0 ]; >- >- this._eventHandler({ >- target: active, >- currentTarget: active, >- preventDefault: $.noop >- }); >- }, >- >- _findActive: function( selector ) { >- return typeof selector === "number" ? this.headers.eq( selector ) : $(); >- }, >- >- _setupEvents: function( event ) { >- var events = { >- keydown: "_keydown" >- }; >- if ( event ) { >- $.each( event.split( " " ), function( index, eventName ) { >- events[ eventName ] = "_eventHandler"; >- }); >- } >- >- this._off( this.headers.add( this.headers.next() ) ); >- this._on( this.headers, events ); >- this._on( this.headers.next(), { keydown: "_panelKeyDown" }); >- this._hoverable( this.headers ); >- this._focusable( this.headers ); >- }, >- >- _eventHandler: function( event ) { >- var options = this.options, >- active = this.active, >- clicked = $( event.currentTarget ), >- clickedIsActive = clicked[ 0 ] === active[ 0 ], >- collapsing = clickedIsActive && options.collapsible, >- toShow = collapsing ? $() : clicked.next(), >- toHide = active.next(), >- eventData = { >- oldHeader: active, >- oldPanel: toHide, >- newHeader: collapsing ? $() : clicked, >- newPanel: toShow >- }; >- >- event.preventDefault(); >- >- if ( >- // click on active header, but not collapsible >- ( clickedIsActive && !options.collapsible ) || >- // allow canceling activation >- ( this._trigger( "beforeActivate", event, eventData ) === false ) ) { >- return; >- } >- >- options.active = collapsing ? false : this.headers.index( clicked ); >- >- // when the call to ._toggle() comes after the class changes >- // it causes a very odd bug in IE 8 (see #6720) >- this.active = clickedIsActive ? $() : clicked; >- this._toggle( eventData ); >- >- // switch classes >- // corner classes on the previously active header stay after the animation >- active.removeClass( "ui-accordion-header-active ui-state-active" ); >- if ( options.icons ) { >- active.children( ".ui-accordion-header-icon" ) >- .removeClass( options.icons.activeHeader ) >- .addClass( options.icons.header ); >- } >- >- if ( !clickedIsActive ) { >- clicked >- .removeClass( "ui-corner-all" ) >- .addClass( "ui-accordion-header-active ui-state-active ui-corner-top" ); >- if ( options.icons ) { >- clicked.children( ".ui-accordion-header-icon" ) >- .removeClass( options.icons.header ) >- .addClass( options.icons.activeHeader ); >- } >- >- clicked >- .next() >- .addClass( "ui-accordion-content-active" ); >- } >- }, >- >- _toggle: function( data ) { >- var toShow = data.newPanel, >- toHide = this.prevShow.length ? this.prevShow : data.oldPanel; >- >- // handle activating a panel during the animation for another activation >- this.prevShow.add( this.prevHide ).stop( true, true ); >- this.prevShow = toShow; >- this.prevHide = toHide; >- >- if ( this.options.animate ) { >- this._animate( toShow, toHide, data ); >- } else { >- toHide.hide(); >- toShow.show(); >- this._toggleComplete( data ); >- } >- >- toHide.attr({ >- "aria-hidden": "true" >- }); >- toHide.prev().attr({ >- "aria-selected": "false", >- "aria-expanded": "false" >- }); >- // if we're switching panels, remove the old header from the tab order >- // if we're opening from collapsed state, remove the previous header from the tab order >- // if we're collapsing, then keep the collapsing header in the tab order >- if ( toShow.length && toHide.length ) { >- toHide.prev().attr({ >- "tabIndex": -1, >- "aria-expanded": "false" >- }); >- } else if ( toShow.length ) { >- this.headers.filter(function() { >- return parseInt( $( this ).attr( "tabIndex" ), 10 ) === 0; >- }) >- .attr( "tabIndex", -1 ); >- } >- >- toShow >- .attr( "aria-hidden", "false" ) >- .prev() >- .attr({ >- "aria-selected": "true", >- "aria-expanded": "true", >- tabIndex: 0 >- }); >- }, >- >- _animate: function( toShow, toHide, data ) { >- var total, easing, duration, >- that = this, >- adjust = 0, >- boxSizing = toShow.css( "box-sizing" ), >- down = toShow.length && >- ( !toHide.length || ( toShow.index() < toHide.index() ) ), >- animate = this.options.animate || {}, >- options = down && animate.down || animate, >- complete = function() { >- that._toggleComplete( data ); >- }; >- >- if ( typeof options === "number" ) { >- duration = options; >- } >- if ( typeof options === "string" ) { >- easing = options; >- } >- // fall back from options to animation in case of partial down settings >- easing = easing || options.easing || animate.easing; >- duration = duration || options.duration || animate.duration; >- >- if ( !toHide.length ) { >- return toShow.animate( this.showProps, duration, easing, complete ); >- } >- if ( !toShow.length ) { >- return toHide.animate( this.hideProps, duration, easing, complete ); >- } >- >- total = toShow.show().outerHeight(); >- toHide.animate( this.hideProps, { >- duration: duration, >- easing: easing, >- step: function( now, fx ) { >- fx.now = Math.round( now ); >- } >- }); >- toShow >- .hide() >- .animate( this.showProps, { >- duration: duration, >- easing: easing, >- complete: complete, >- step: function( now, fx ) { >- fx.now = Math.round( now ); >- if ( fx.prop !== "height" ) { >- if ( boxSizing === "content-box" ) { >- adjust += fx.now; >- } >- } else if ( that.options.heightStyle !== "content" ) { >- fx.now = Math.round( total - toHide.outerHeight() - adjust ); >- adjust = 0; >- } >- } >- }); >- }, >- >- _toggleComplete: function( data ) { >- var toHide = data.oldPanel; >- >- toHide >- .removeClass( "ui-accordion-content-active" ) >- .prev() >- .removeClass( "ui-corner-top" ) >- .addClass( "ui-corner-all" ); >- >- // Work around for rendering bug in IE (#5421) >- if ( toHide.length ) { >- toHide.parent()[ 0 ].className = toHide.parent()[ 0 ].className; >- } >- this._trigger( "activate", null, data ); >- } >-}); >- >- >-/*! >- * jQuery UI Menu 1.11.4 >- * http://jqueryui.com >- * >- * Copyright jQuery Foundation and other contributors >- * Released under the MIT license. >- * http://jquery.org/license >- * >- * http://api.jqueryui.com/menu/ >- */ >- >- >-var menu = $.widget( "ui.menu", { >- version: "1.11.4", >- defaultElement: "<ul>", >- delay: 300, >- options: { >- icons: { >- submenu: "ui-icon-carat-1-e" >- }, >- items: "> *", >- menus: "ul", >- position: { >- my: "left-1 top", >- at: "right top" >- }, >- role: "menu", >- >- // callbacks >- blur: null, >- focus: null, >- select: null >- }, >- >- _create: function() { >- this.activeMenu = this.element; >- >- // Flag used to prevent firing of the click handler >- // as the event bubbles up through nested menus >- this.mouseHandled = false; >- this.element >- .uniqueId() >- .addClass( "ui-menu ui-widget ui-widget-content" ) >- .toggleClass( "ui-menu-icons", !!this.element.find( ".ui-icon" ).length ) >- .attr({ >- role: this.options.role, >- tabIndex: 0 >- }); >- >- if ( this.options.disabled ) { >- this.element >- .addClass( "ui-state-disabled" ) >- .attr( "aria-disabled", "true" ); >- } >- >- this._on({ >- // Prevent focus from sticking to links inside menu after clicking >- // them (focus should always stay on UL during navigation). >- "mousedown .ui-menu-item": function( event ) { >- event.preventDefault(); >- }, >- "click .ui-menu-item": function( event ) { >- var target = $( event.target ); >- if ( !this.mouseHandled && target.not( ".ui-state-disabled" ).length ) { >- this.select( event ); >- >- // Only set the mouseHandled flag if the event will bubble, see #9469. >- if ( !event.isPropagationStopped() ) { >- this.mouseHandled = true; >- } >- >- // Open submenu on click >- if ( target.has( ".ui-menu" ).length ) { >- this.expand( event ); >- } else if ( !this.element.is( ":focus" ) && $( this.document[ 0 ].activeElement ).closest( ".ui-menu" ).length ) { >- >- // Redirect focus to the menu >- this.element.trigger( "focus", [ true ] ); >- >- // If the active item is on the top level, let it stay active. >- // Otherwise, blur the active item since it is no longer visible. >- if ( this.active && this.active.parents( ".ui-menu" ).length === 1 ) { >- clearTimeout( this.timer ); >- } >- } >- } >- }, >- "mouseenter .ui-menu-item": function( event ) { >- // Ignore mouse events while typeahead is active, see #10458. >- // Prevents focusing the wrong item when typeahead causes a scroll while the mouse >- // is over an item in the menu >- if ( this.previousFilter ) { >- return; >- } >- var target = $( event.currentTarget ); >- // Remove ui-state-active class from siblings of the newly focused menu item >- // to avoid a jump caused by adjacent elements both having a class with a border >- target.siblings( ".ui-state-active" ).removeClass( "ui-state-active" ); >- this.focus( event, target ); >- }, >- mouseleave: "collapseAll", >- "mouseleave .ui-menu": "collapseAll", >- focus: function( event, keepActiveItem ) { >- // If there's already an active item, keep it active >- // If not, activate the first item >- var item = this.active || this.element.find( this.options.items ).eq( 0 ); >- >- if ( !keepActiveItem ) { >- this.focus( event, item ); >- } >- }, >- blur: function( event ) { >- this._delay(function() { >- if ( !$.contains( this.element[0], this.document[0].activeElement ) ) { >- this.collapseAll( event ); >- } >- }); >- }, >- keydown: "_keydown" >- }); >- >- this.refresh(); >- >- // Clicks outside of a menu collapse any open menus >- this._on( this.document, { >- click: function( event ) { >- if ( this._closeOnDocumentClick( event ) ) { >- this.collapseAll( event ); >- } >- >- // Reset the mouseHandled flag >- this.mouseHandled = false; >- } >- }); >- }, >- >- _destroy: function() { >- // Destroy (sub)menus >- this.element >- .removeAttr( "aria-activedescendant" ) >- .find( ".ui-menu" ).addBack() >- .removeClass( "ui-menu ui-widget ui-widget-content ui-menu-icons ui-front" ) >- .removeAttr( "role" ) >- .removeAttr( "tabIndex" ) >- .removeAttr( "aria-labelledby" ) >- .removeAttr( "aria-expanded" ) >- .removeAttr( "aria-hidden" ) >- .removeAttr( "aria-disabled" ) >- .removeUniqueId() >- .show(); >- >- // Destroy menu items >- this.element.find( ".ui-menu-item" ) >- .removeClass( "ui-menu-item" ) >- .removeAttr( "role" ) >- .removeAttr( "aria-disabled" ) >- .removeUniqueId() >- .removeClass( "ui-state-hover" ) >- .removeAttr( "tabIndex" ) >- .removeAttr( "role" ) >- .removeAttr( "aria-haspopup" ) >- .children().each( function() { >- var elem = $( this ); >- if ( elem.data( "ui-menu-submenu-carat" ) ) { >- elem.remove(); >- } >- }); >- >- // Destroy menu dividers >- this.element.find( ".ui-menu-divider" ).removeClass( "ui-menu-divider ui-widget-content" ); >- }, >- >- _keydown: function( event ) { >- var match, prev, character, skip, >- preventDefault = true; >- >- switch ( event.keyCode ) { >- case $.ui.keyCode.PAGE_UP: >- this.previousPage( event ); >- break; >- case $.ui.keyCode.PAGE_DOWN: >- this.nextPage( event ); >- break; >- case $.ui.keyCode.HOME: >- this._move( "first", "first", event ); >- break; >- case $.ui.keyCode.END: >- this._move( "last", "last", event ); >- break; >- case $.ui.keyCode.UP: >- this.previous( event ); >- break; >- case $.ui.keyCode.DOWN: >- this.next( event ); >- break; >- case $.ui.keyCode.LEFT: >- this.collapse( event ); >- break; >- case $.ui.keyCode.RIGHT: >- if ( this.active && !this.active.is( ".ui-state-disabled" ) ) { >- this.expand( event ); >- } >- break; >- case $.ui.keyCode.ENTER: >- case $.ui.keyCode.SPACE: >- this._activate( event ); >- break; >- case $.ui.keyCode.ESCAPE: >- this.collapse( event ); >- break; >- default: >- preventDefault = false; >- prev = this.previousFilter || ""; >- character = String.fromCharCode( event.keyCode ); >- skip = false; >- >- clearTimeout( this.filterTimer ); >- >- if ( character === prev ) { >- skip = true; >- } else { >- character = prev + character; >- } >- >- match = this._filterMenuItems( character ); >- match = skip && match.index( this.active.next() ) !== -1 ? >- this.active.nextAll( ".ui-menu-item" ) : >- match; >- >- // If no matches on the current filter, reset to the last character pressed >- // to move down the menu to the first item that starts with that character >- if ( !match.length ) { >- character = String.fromCharCode( event.keyCode ); >- match = this._filterMenuItems( character ); >- } >- >- if ( match.length ) { >- this.focus( event, match ); >- this.previousFilter = character; >- this.filterTimer = this._delay(function() { >- delete this.previousFilter; >- }, 1000 ); >- } else { >- delete this.previousFilter; >- } >- } >- >- if ( preventDefault ) { >- event.preventDefault(); >- } >- }, >- >- _activate: function( event ) { >- if ( !this.active.is( ".ui-state-disabled" ) ) { >- if ( this.active.is( "[aria-haspopup='true']" ) ) { >- this.expand( event ); >- } else { >- this.select( event ); >- } >- } >- }, >- >- refresh: function() { >- var menus, items, >- that = this, >- icon = this.options.icons.submenu, >- submenus = this.element.find( this.options.menus ); >- >- this.element.toggleClass( "ui-menu-icons", !!this.element.find( ".ui-icon" ).length ); >- >- // Initialize nested menus >- submenus.filter( ":not(.ui-menu)" ) >- .addClass( "ui-menu ui-widget ui-widget-content ui-front" ) >- .hide() >- .attr({ >- role: this.options.role, >- "aria-hidden": "true", >- "aria-expanded": "false" >- }) >- .each(function() { >- var menu = $( this ), >- item = menu.parent(), >- submenuCarat = $( "<span>" ) >- .addClass( "ui-menu-icon ui-icon " + icon ) >- .data( "ui-menu-submenu-carat", true ); >- >- item >- .attr( "aria-haspopup", "true" ) >- .prepend( submenuCarat ); >- menu.attr( "aria-labelledby", item.attr( "id" ) ); >- }); >- >- menus = submenus.add( this.element ); >- items = menus.find( this.options.items ); >- >- // Initialize menu-items containing spaces and/or dashes only as dividers >- items.not( ".ui-menu-item" ).each(function() { >- var item = $( this ); >- if ( that._isDivider( item ) ) { >- item.addClass( "ui-widget-content ui-menu-divider" ); >- } >- }); >- >- // Don't refresh list items that are already adapted >- items.not( ".ui-menu-item, .ui-menu-divider" ) >- .addClass( "ui-menu-item" ) >- .uniqueId() >- .attr({ >- tabIndex: -1, >- role: this._itemRole() >- }); >- >- // Add aria-disabled attribute to any disabled menu item >- items.filter( ".ui-state-disabled" ).attr( "aria-disabled", "true" ); >- >- // If the active item has been removed, blur the menu >- if ( this.active && !$.contains( this.element[ 0 ], this.active[ 0 ] ) ) { >- this.blur(); >- } >- }, >- >- _itemRole: function() { >- return { >- menu: "menuitem", >- listbox: "option" >- }[ this.options.role ]; >- }, >- >- _setOption: function( key, value ) { >- if ( key === "icons" ) { >- this.element.find( ".ui-menu-icon" ) >- .removeClass( this.options.icons.submenu ) >- .addClass( value.submenu ); >- } >- if ( key === "disabled" ) { >- this.element >- .toggleClass( "ui-state-disabled", !!value ) >- .attr( "aria-disabled", value ); >- } >- this._super( key, value ); >- }, >- >- focus: function( event, item ) { >- var nested, focused; >- this.blur( event, event && event.type === "focus" ); >- >- this._scrollIntoView( item ); >- >- this.active = item.first(); >- focused = this.active.addClass( "ui-state-focus" ).removeClass( "ui-state-active" ); >- // Only update aria-activedescendant if there's a role >- // otherwise we assume focus is managed elsewhere >- if ( this.options.role ) { >- this.element.attr( "aria-activedescendant", focused.attr( "id" ) ); >- } >- >- // Highlight active parent menu item, if any >- this.active >- .parent() >- .closest( ".ui-menu-item" ) >- .addClass( "ui-state-active" ); >- >- if ( event && event.type === "keydown" ) { >- this._close(); >- } else { >- this.timer = this._delay(function() { >- this._close(); >- }, this.delay ); >- } >- >- nested = item.children( ".ui-menu" ); >- if ( nested.length && event && ( /^mouse/.test( event.type ) ) ) { >- this._startOpening(nested); >- } >- this.activeMenu = item.parent(); >- >- this._trigger( "focus", event, { item: item } ); >- }, >- >- _scrollIntoView: function( item ) { >- var borderTop, paddingTop, offset, scroll, elementHeight, itemHeight; >- if ( this._hasScroll() ) { >- borderTop = parseFloat( $.css( this.activeMenu[0], "borderTopWidth" ) ) || 0; >- paddingTop = parseFloat( $.css( this.activeMenu[0], "paddingTop" ) ) || 0; >- offset = item.offset().top - this.activeMenu.offset().top - borderTop - paddingTop; >- scroll = this.activeMenu.scrollTop(); >- elementHeight = this.activeMenu.height(); >- itemHeight = item.outerHeight(); >- >- if ( offset < 0 ) { >- this.activeMenu.scrollTop( scroll + offset ); >- } else if ( offset + itemHeight > elementHeight ) { >- this.activeMenu.scrollTop( scroll + offset - elementHeight + itemHeight ); >- } >- } >- }, >- >- blur: function( event, fromFocus ) { >- if ( !fromFocus ) { >- clearTimeout( this.timer ); >- } >- >- if ( !this.active ) { >- return; >- } >- >- this.active.removeClass( "ui-state-focus" ); >- this.active = null; >- >- this._trigger( "blur", event, { item: this.active } ); >- }, >- >- _startOpening: function( submenu ) { >- clearTimeout( this.timer ); >- >- // Don't open if already open fixes a Firefox bug that caused a .5 pixel >- // shift in the submenu position when mousing over the carat icon >- if ( submenu.attr( "aria-hidden" ) !== "true" ) { >- return; >- } >- >- this.timer = this._delay(function() { >- this._close(); >- this._open( submenu ); >- }, this.delay ); >- }, >- >- _open: function( submenu ) { >- var position = $.extend({ >- of: this.active >- }, this.options.position ); >- >- clearTimeout( this.timer ); >- this.element.find( ".ui-menu" ).not( submenu.parents( ".ui-menu" ) ) >- .hide() >- .attr( "aria-hidden", "true" ); >- >- submenu >- .show() >- .removeAttr( "aria-hidden" ) >- .attr( "aria-expanded", "true" ) >- .position( position ); >- }, >- >- collapseAll: function( event, all ) { >- clearTimeout( this.timer ); >- this.timer = this._delay(function() { >- // If we were passed an event, look for the submenu that contains the event >- var currentMenu = all ? this.element : >- $( event && event.target ).closest( this.element.find( ".ui-menu" ) ); >- >- // If we found no valid submenu ancestor, use the main menu to close all sub menus anyway >- if ( !currentMenu.length ) { >- currentMenu = this.element; >- } >- >- this._close( currentMenu ); >- >- this.blur( event ); >- this.activeMenu = currentMenu; >- }, this.delay ); >- }, >- >- // With no arguments, closes the currently active menu - if nothing is active >- // it closes all menus. If passed an argument, it will search for menus BELOW >- _close: function( startMenu ) { >- if ( !startMenu ) { >- startMenu = this.active ? this.active.parent() : this.element; >- } >- >- startMenu >- .find( ".ui-menu" ) >- .hide() >- .attr( "aria-hidden", "true" ) >- .attr( "aria-expanded", "false" ) >- .end() >- .find( ".ui-state-active" ).not( ".ui-state-focus" ) >- .removeClass( "ui-state-active" ); >- }, >- >- _closeOnDocumentClick: function( event ) { >- return !$( event.target ).closest( ".ui-menu" ).length; >- }, >- >- _isDivider: function( item ) { >- >- // Match hyphen, em dash, en dash >- return !/[^\-\u2014\u2013\s]/.test( item.text() ); >- }, >- >- collapse: function( event ) { >- var newItem = this.active && >- this.active.parent().closest( ".ui-menu-item", this.element ); >- if ( newItem && newItem.length ) { >- this._close(); >- this.focus( event, newItem ); >- } >- }, >- >- expand: function( event ) { >- var newItem = this.active && >- this.active >- .children( ".ui-menu " ) >- .find( this.options.items ) >- .first(); >- >- if ( newItem && newItem.length ) { >- this._open( newItem.parent() ); >- >- // Delay so Firefox will not hide activedescendant change in expanding submenu from AT >- this._delay(function() { >- this.focus( event, newItem ); >- }); >- } >- }, >- >- next: function( event ) { >- this._move( "next", "first", event ); >- }, >- >- previous: function( event ) { >- this._move( "prev", "last", event ); >- }, >- >- isFirstItem: function() { >- return this.active && !this.active.prevAll( ".ui-menu-item" ).length; >- }, >- >- isLastItem: function() { >- return this.active && !this.active.nextAll( ".ui-menu-item" ).length; >- }, >- >- _move: function( direction, filter, event ) { >- var next; >- if ( this.active ) { >- if ( direction === "first" || direction === "last" ) { >- next = this.active >- [ direction === "first" ? "prevAll" : "nextAll" ]( ".ui-menu-item" ) >- .eq( -1 ); >- } else { >- next = this.active >- [ direction + "All" ]( ".ui-menu-item" ) >- .eq( 0 ); >- } >- } >- if ( !next || !next.length || !this.active ) { >- next = this.activeMenu.find( this.options.items )[ filter ](); >- } >- >- this.focus( event, next ); >- }, >- >- nextPage: function( event ) { >- var item, base, height; >- >- if ( !this.active ) { >- this.next( event ); >- return; >- } >- if ( this.isLastItem() ) { >- return; >- } >- if ( this._hasScroll() ) { >- base = this.active.offset().top; >- height = this.element.height(); >- this.active.nextAll( ".ui-menu-item" ).each(function() { >- item = $( this ); >- return item.offset().top - base - height < 0; >- }); >- >- this.focus( event, item ); >- } else { >- this.focus( event, this.activeMenu.find( this.options.items ) >- [ !this.active ? "first" : "last" ]() ); >- } >- }, >- >- previousPage: function( event ) { >- var item, base, height; >- if ( !this.active ) { >- this.next( event ); >- return; >- } >- if ( this.isFirstItem() ) { >- return; >- } >- if ( this._hasScroll() ) { >- base = this.active.offset().top; >- height = this.element.height(); >- this.active.prevAll( ".ui-menu-item" ).each(function() { >- item = $( this ); >- return item.offset().top - base + height > 0; >- }); >- >- this.focus( event, item ); >- } else { >- this.focus( event, this.activeMenu.find( this.options.items ).first() ); >- } >- }, >- >- _hasScroll: function() { >- return this.element.outerHeight() < this.element.prop( "scrollHeight" ); >- }, >- >- select: function( event ) { >- // TODO: It should never be possible to not have an active item at this >- // point, but the tests don't trigger mouseenter before click. >- this.active = this.active || $( event.target ).closest( ".ui-menu-item" ); >- var ui = { item: this.active }; >- if ( !this.active.has( ".ui-menu" ).length ) { >- this.collapseAll( event, true ); >- } >- this._trigger( "select", event, ui ); >- }, >- >- _filterMenuItems: function(character) { >- var escapedCharacter = character.replace( /[\-\[\]{}()*+?.,\\\^$|#\s]/g, "\\$&" ), >- regex = new RegExp( "^" + escapedCharacter, "i" ); >- >- return this.activeMenu >- .find( this.options.items ) >- >- // Only match on items, not dividers or other content (#10571) >- .filter( ".ui-menu-item" ) >- .filter(function() { >- return regex.test( $.trim( $( this ).text() ) ); >- }); >- } >-}); >- >- >-/*! >- * jQuery UI Autocomplete 1.11.4 >- * http://jqueryui.com >- * >- * Copyright jQuery Foundation and other contributors >- * Released under the MIT license. >- * http://jquery.org/license >- * >- * http://api.jqueryui.com/autocomplete/ >- */ >- >- >-$.widget( "ui.autocomplete", { >- version: "1.11.4", >- defaultElement: "<input>", >- options: { >- appendTo: null, >- autoFocus: false, >- delay: 300, >- minLength: 1, >- position: { >- my: "left top", >- at: "left bottom", >- collision: "none" >- }, >- source: null, >- >- // callbacks >- change: null, >- close: null, >- focus: null, >- open: null, >- response: null, >- search: null, >- select: null >- }, >- >- requestIndex: 0, >- pending: 0, >- >- _create: function() { >- // Some browsers only repeat keydown events, not keypress events, >- // so we use the suppressKeyPress flag to determine if we've already >- // handled the keydown event. #7269 >- // Unfortunately the code for & in keypress is the same as the up arrow, >- // so we use the suppressKeyPressRepeat flag to avoid handling keypress >- // events when we know the keydown event was used to modify the >- // search term. #7799 >- var suppressKeyPress, suppressKeyPressRepeat, suppressInput, >- nodeName = this.element[ 0 ].nodeName.toLowerCase(), >- isTextarea = nodeName === "textarea", >- isInput = nodeName === "input"; >- >- this.isMultiLine = >- // Textareas are always multi-line >- isTextarea ? true : >- // Inputs are always single-line, even if inside a contentEditable element >- // IE also treats inputs as contentEditable >- isInput ? false : >- // All other element types are determined by whether or not they're contentEditable >- this.element.prop( "isContentEditable" ); >- >- this.valueMethod = this.element[ isTextarea || isInput ? "val" : "text" ]; >- this.isNewMenu = true; >- >- this.element >- .addClass( "ui-autocomplete-input" ) >- .attr( "autocomplete", "off" ); >- >- this._on( this.element, { >- keydown: function( event ) { >- if ( this.element.prop( "readOnly" ) ) { >- suppressKeyPress = true; >- suppressInput = true; >- suppressKeyPressRepeat = true; >- return; >- } >- >- suppressKeyPress = false; >- suppressInput = false; >- suppressKeyPressRepeat = false; >- var keyCode = $.ui.keyCode; >- switch ( event.keyCode ) { >- case keyCode.PAGE_UP: >- suppressKeyPress = true; >- this._move( "previousPage", event ); >- break; >- case keyCode.PAGE_DOWN: >- suppressKeyPress = true; >- this._move( "nextPage", event ); >- break; >- case keyCode.UP: >- suppressKeyPress = true; >- this._keyEvent( "previous", event ); >- break; >- case keyCode.DOWN: >- suppressKeyPress = true; >- this._keyEvent( "next", event ); >- break; >- case keyCode.ENTER: >- // when menu is open and has focus >- if ( this.menu.active ) { >- // #6055 - Opera still allows the keypress to occur >- // which causes forms to submit >- suppressKeyPress = true; >- event.preventDefault(); >- this.menu.select( event ); >- } >- break; >- case keyCode.TAB: >- if ( this.menu.active ) { >- this.menu.select( event ); >- } >- break; >- case keyCode.ESCAPE: >- if ( this.menu.element.is( ":visible" ) ) { >- if ( !this.isMultiLine ) { >- this._value( this.term ); >- } >- this.close( event ); >- // Different browsers have different default behavior for escape >- // Single press can mean undo or clear >- // Double press in IE means clear the whole form >- event.preventDefault(); >- } >- break; >- default: >- suppressKeyPressRepeat = true; >- // search timeout should be triggered before the input value is changed >- this._searchTimeout( event ); >- break; >- } >- }, >- keypress: function( event ) { >- if ( suppressKeyPress ) { >- suppressKeyPress = false; >- if ( !this.isMultiLine || this.menu.element.is( ":visible" ) ) { >- event.preventDefault(); >- } >- return; >- } >- if ( suppressKeyPressRepeat ) { >- return; >- } >- >- // replicate some key handlers to allow them to repeat in Firefox and Opera >- var keyCode = $.ui.keyCode; >- switch ( event.keyCode ) { >- case keyCode.PAGE_UP: >- this._move( "previousPage", event ); >- break; >- case keyCode.PAGE_DOWN: >- this._move( "nextPage", event ); >- break; >- case keyCode.UP: >- this._keyEvent( "previous", event ); >- break; >- case keyCode.DOWN: >- this._keyEvent( "next", event ); >- break; >- } >- }, >- input: function( event ) { >- if ( suppressInput ) { >- suppressInput = false; >- event.preventDefault(); >- return; >- } >- this._searchTimeout( event ); >- }, >- focus: function() { >- this.selectedItem = null; >- this.previous = this._value(); >- }, >- blur: function( event ) { >- if ( this.cancelBlur ) { >- delete this.cancelBlur; >- return; >- } >- >- clearTimeout( this.searching ); >- this.close( event ); >- this._change( event ); >- } >- }); >- >- this._initSource(); >- this.menu = $( "<ul>" ) >- .addClass( "ui-autocomplete ui-front" ) >- .appendTo( this._appendTo() ) >- .menu({ >- // disable ARIA support, the live region takes care of that >- role: null >- }) >- .hide() >- .menu( "instance" ); >- >- this._on( this.menu.element, { >- mousedown: function( event ) { >- // prevent moving focus out of the text field >- event.preventDefault(); >- >- // IE doesn't prevent moving focus even with event.preventDefault() >- // so we set a flag to know when we should ignore the blur event >- this.cancelBlur = true; >- this._delay(function() { >- delete this.cancelBlur; >- }); >- >- // clicking on the scrollbar causes focus to shift to the body >- // but we can't detect a mouseup or a click immediately afterward >- // so we have to track the next mousedown and close the menu if >- // the user clicks somewhere outside of the autocomplete >- var menuElement = this.menu.element[ 0 ]; >- if ( !$( event.target ).closest( ".ui-menu-item" ).length ) { >- this._delay(function() { >- var that = this; >- this.document.one( "mousedown", function( event ) { >- if ( event.target !== that.element[ 0 ] && >- event.target !== menuElement && >- !$.contains( menuElement, event.target ) ) { >- that.close(); >- } >- }); >- }); >- } >- }, >- menufocus: function( event, ui ) { >- var label, item; >- // support: Firefox >- // Prevent accidental activation of menu items in Firefox (#7024 #9118) >- if ( this.isNewMenu ) { >- this.isNewMenu = false; >- if ( event.originalEvent && /^mouse/.test( event.originalEvent.type ) ) { >- this.menu.blur(); >- >- this.document.one( "mousemove", function() { >- $( event.target ).trigger( event.originalEvent ); >- }); >- >- return; >- } >- } >- >- item = ui.item.data( "ui-autocomplete-item" ); >- if ( false !== this._trigger( "focus", event, { item: item } ) ) { >- // use value to match what will end up in the input, if it was a key event >- if ( event.originalEvent && /^key/.test( event.originalEvent.type ) ) { >- this._value( item.value ); >- } >- } >- >- // Announce the value in the liveRegion >- label = ui.item.attr( "aria-label" ) || item.value; >- if ( label && $.trim( label ).length ) { >- this.liveRegion.children().hide(); >- $( "<div>" ).text( label ).appendTo( this.liveRegion ); >- } >- }, >- menuselect: function( event, ui ) { >- var item = ui.item.data( "ui-autocomplete-item" ), >- previous = this.previous; >- >- // only trigger when focus was lost (click on menu) >- if ( this.element[ 0 ] !== this.document[ 0 ].activeElement ) { >- this.element.focus(); >- this.previous = previous; >- // #6109 - IE triggers two focus events and the second >- // is asynchronous, so we need to reset the previous >- // term synchronously and asynchronously :-( >- this._delay(function() { >- this.previous = previous; >- this.selectedItem = item; >- }); >- } >- >- if ( false !== this._trigger( "select", event, { item: item } ) ) { >- this._value( item.value ); >- } >- // reset the term after the select event >- // this allows custom select handling to work properly >- this.term = this._value(); >- >- this.close( event ); >- this.selectedItem = item; >- } >- }); >- >- this.liveRegion = $( "<span>", { >- role: "status", >- "aria-live": "assertive", >- "aria-relevant": "additions" >- }) >- .addClass( "ui-helper-hidden-accessible" ) >- .appendTo( this.document[ 0 ].body ); >- >- // turning off autocomplete prevents the browser from remembering the >- // value when navigating through history, so we re-enable autocomplete >- // if the page is unloaded before the widget is destroyed. #7790 >- this._on( this.window, { >- beforeunload: function() { >- this.element.removeAttr( "autocomplete" ); >- } >- }); >- }, >- >- _destroy: function() { >- clearTimeout( this.searching ); >- this.element >- .removeClass( "ui-autocomplete-input" ) >- .removeAttr( "autocomplete" ); >- this.menu.element.remove(); >- this.liveRegion.remove(); >- }, >- >- _setOption: function( key, value ) { >- this._super( key, value ); >- if ( key === "source" ) { >- this._initSource(); >- } >- if ( key === "appendTo" ) { >- this.menu.element.appendTo( this._appendTo() ); >- } >- if ( key === "disabled" && value && this.xhr ) { >- this.xhr.abort(); >- } >- }, >- >- _appendTo: function() { >- var element = this.options.appendTo; >- >- if ( element ) { >- element = element.jquery || element.nodeType ? >- $( element ) : >- this.document.find( element ).eq( 0 ); >- } >- >- if ( !element || !element[ 0 ] ) { >- element = this.element.closest( ".ui-front" ); >- } >- >- if ( !element.length ) { >- element = this.document[ 0 ].body; >- } >- >- return element; >- }, >- >- _initSource: function() { >- var array, url, >- that = this; >- if ( $.isArray( this.options.source ) ) { >- array = this.options.source; >- this.source = function( request, response ) { >- response( $.ui.autocomplete.filter( array, request.term ) ); >- }; >- } else if ( typeof this.options.source === "string" ) { >- url = this.options.source; >- this.source = function( request, response ) { >- if ( that.xhr ) { >- that.xhr.abort(); >- } >- that.xhr = $.ajax({ >- url: url, >- data: request, >- dataType: "json", >- success: function( data ) { >- response( data ); >- }, >- error: function() { >- response([]); >- } >- }); >- }; >- } else { >- this.source = this.options.source; >- } >- }, >- >- _searchTimeout: function( event ) { >- clearTimeout( this.searching ); >- this.searching = this._delay(function() { >- >- // Search if the value has changed, or if the user retypes the same value (see #7434) >- var equalValues = this.term === this._value(), >- menuVisible = this.menu.element.is( ":visible" ), >- modifierKey = event.altKey || event.ctrlKey || event.metaKey || event.shiftKey; >- >- if ( !equalValues || ( equalValues && !menuVisible && !modifierKey ) ) { >- this.selectedItem = null; >- this.search( null, event ); >- } >- }, this.options.delay ); >- }, >- >- search: function( value, event ) { >- value = value != null ? value : this._value(); >- >- // always save the actual value, not the one passed as an argument >- this.term = this._value(); >- >- if ( value.length < this.options.minLength ) { >- return this.close( event ); >- } >- >- if ( this._trigger( "search", event ) === false ) { >- return; >- } >- >- return this._search( value ); >- }, >- >- _search: function( value ) { >- this.pending++; >- this.element.addClass( "ui-autocomplete-loading" ); >- this.cancelSearch = false; >- >- this.source( { term: value }, this._response() ); >- }, >- >- _response: function() { >- var index = ++this.requestIndex; >- >- return $.proxy(function( content ) { >- if ( index === this.requestIndex ) { >- this.__response( content ); >- } >- >- this.pending--; >- if ( !this.pending ) { >- this.element.removeClass( "ui-autocomplete-loading" ); >- } >- }, this ); >- }, >- >- __response: function( content ) { >- if ( content ) { >- content = this._normalize( content ); >- } >- this._trigger( "response", null, { content: content } ); >- if ( !this.options.disabled && content && content.length && !this.cancelSearch ) { >- this._suggest( content ); >- this._trigger( "open" ); >- } else { >- // use ._close() instead of .close() so we don't cancel future searches >- this._close(); >- } >- }, >- >- close: function( event ) { >- this.cancelSearch = true; >- this._close( event ); >- }, >- >- _close: function( event ) { >- if ( this.menu.element.is( ":visible" ) ) { >- this.menu.element.hide(); >- this.menu.blur(); >- this.isNewMenu = true; >- this._trigger( "close", event ); >- } >- }, >- >- _change: function( event ) { >- if ( this.previous !== this._value() ) { >- this._trigger( "change", event, { item: this.selectedItem } ); >- } >- }, >- >- _normalize: function( items ) { >- // assume all items have the right format when the first item is complete >- if ( items.length && items[ 0 ].label && items[ 0 ].value ) { >- return items; >- } >- return $.map( items, function( item ) { >- if ( typeof item === "string" ) { >- return { >- label: item, >- value: item >- }; >- } >- return $.extend( {}, item, { >- label: item.label || item.value, >- value: item.value || item.label >- }); >- }); >- }, >- >- _suggest: function( items ) { >- var ul = this.menu.element.empty(); >- this._renderMenu( ul, items ); >- this.isNewMenu = true; >- this.menu.refresh(); >- >- // size and position menu >- ul.show(); >- this._resizeMenu(); >- ul.position( $.extend({ >- of: this.element >- }, this.options.position ) ); >- >- if ( this.options.autoFocus ) { >- this.menu.next(); >- } >- }, >- >- _resizeMenu: function() { >- var ul = this.menu.element; >- ul.outerWidth( Math.max( >- // Firefox wraps long text (possibly a rounding bug) >- // so we add 1px to avoid the wrapping (#7513) >- ul.width( "" ).outerWidth() + 1, >- this.element.outerWidth() >- ) ); >- }, >- >- _renderMenu: function( ul, items ) { >- var that = this; >- $.each( items, function( index, item ) { >- that._renderItemData( ul, item ); >- }); >- }, >- >- _renderItemData: function( ul, item ) { >- return this._renderItem( ul, item ).data( "ui-autocomplete-item", item ); >- }, >- >- _renderItem: function( ul, item ) { >- return $( "<li>" ).text( item.label ).appendTo( ul ); >- }, >- >- _move: function( direction, event ) { >- if ( !this.menu.element.is( ":visible" ) ) { >- this.search( null, event ); >- return; >- } >- if ( this.menu.isFirstItem() && /^previous/.test( direction ) || >- this.menu.isLastItem() && /^next/.test( direction ) ) { >- >- if ( !this.isMultiLine ) { >- this._value( this.term ); >- } >- >- this.menu.blur(); >- return; >- } >- this.menu[ direction ]( event ); >- }, >- >- widget: function() { >- return this.menu.element; >- }, >- >- _value: function() { >- return this.valueMethod.apply( this.element, arguments ); >- }, >- >- _keyEvent: function( keyEvent, event ) { >- if ( !this.isMultiLine || this.menu.element.is( ":visible" ) ) { >- this._move( keyEvent, event ); >- >- // prevents moving cursor to beginning/end of the text field in some browsers >- event.preventDefault(); >- } >- } >-}); >- >-$.extend( $.ui.autocomplete, { >- escapeRegex: function( value ) { >- return value.replace( /[\-\[\]{}()*+?.,\\\^$|#\s]/g, "\\$&" ); >- }, >- filter: function( array, term ) { >- var matcher = new RegExp( $.ui.autocomplete.escapeRegex( term ), "i" ); >- return $.grep( array, function( value ) { >- return matcher.test( value.label || value.value || value ); >- }); >- } >-}); >- >-// live region extension, adding a `messages` option >-// NOTE: This is an experimental API. We are still investigating >-// a full solution for string manipulation and internationalization. >-$.widget( "ui.autocomplete", $.ui.autocomplete, { >- options: { >- messages: { >- noResults: "No search results.", >- results: function( amount ) { >- return amount + ( amount > 1 ? " results are" : " result is" ) + >- " available, use up and down arrow keys to navigate."; >- } >- } >- }, >- >- __response: function( content ) { >- var message; >- this._superApply( arguments ); >- if ( this.options.disabled || this.cancelSearch ) { >- return; >- } >- if ( content && content.length ) { >- message = this.options.messages.results( content.length ); >- } else { >- message = this.options.messages.noResults; >- } >- this.liveRegion.children().hide(); >- $( "<div>" ).text( message ).appendTo( this.liveRegion ); >- } >-}); >- >-var autocomplete = $.ui.autocomplete; >- >- >-/*! >- * jQuery UI Button 1.11.4 >- * http://jqueryui.com >- * >- * Copyright jQuery Foundation and other contributors >- * Released under the MIT license. >- * http://jquery.org/license >- * >- * http://api.jqueryui.com/button/ >- */ >- >- >-var lastActive, >- baseClasses = "ui-button ui-widget ui-state-default ui-corner-all", >- typeClasses = "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", >- formResetHandler = function() { >- var form = $( this ); >- setTimeout(function() { >- form.find( ":ui-button" ).button( "refresh" ); >- }, 1 ); >- }, >- radioGroup = function( radio ) { >- var name = radio.name, >- form = radio.form, >- radios = $( [] ); >- if ( name ) { >- name = name.replace( /'/g, "\\'" ); >- if ( form ) { >- radios = $( form ).find( "[name='" + name + "'][type=radio]" ); >- } else { >- radios = $( "[name='" + name + "'][type=radio]", radio.ownerDocument ) >- .filter(function() { >- return !this.form; >- }); >- } >- } >- return radios; >- }; >- >-$.widget( "ui.button", { >- version: "1.11.4", >- defaultElement: "<button>", >- options: { >- disabled: null, >- text: true, >- label: null, >- icons: { >- primary: null, >- secondary: null >- } >- }, >- _create: function() { >- this.element.closest( "form" ) >- .unbind( "reset" + this.eventNamespace ) >- .bind( "reset" + this.eventNamespace, formResetHandler ); >- >- if ( typeof this.options.disabled !== "boolean" ) { >- this.options.disabled = !!this.element.prop( "disabled" ); >- } else { >- this.element.prop( "disabled", this.options.disabled ); >- } >- >- this._determineButtonType(); >- this.hasTitle = !!this.buttonElement.attr( "title" ); >- >- var that = this, >- options = this.options, >- toggleButton = this.type === "checkbox" || this.type === "radio", >- activeClass = !toggleButton ? "ui-state-active" : ""; >- >- if ( options.label === null ) { >- options.label = (this.type === "input" ? this.buttonElement.val() : this.buttonElement.html()); >- } >- >- this._hoverable( this.buttonElement ); >- >- this.buttonElement >- .addClass( baseClasses ) >- .attr( "role", "button" ) >- .bind( "mouseenter" + this.eventNamespace, function() { >- if ( options.disabled ) { >- return; >- } >- if ( this === lastActive ) { >- $( this ).addClass( "ui-state-active" ); >- } >- }) >- .bind( "mouseleave" + this.eventNamespace, function() { >- if ( options.disabled ) { >- return; >- } >- $( this ).removeClass( activeClass ); >- }) >- .bind( "click" + this.eventNamespace, function( event ) { >- if ( options.disabled ) { >- event.preventDefault(); >- event.stopImmediatePropagation(); >- } >- }); >- >- // Can't use _focusable() because the element that receives focus >- // and the element that gets the ui-state-focus class are different >- this._on({ >- focus: function() { >- this.buttonElement.addClass( "ui-state-focus" ); >- }, >- blur: function() { >- this.buttonElement.removeClass( "ui-state-focus" ); >- } >- }); >- >- if ( toggleButton ) { >- this.element.bind( "change" + this.eventNamespace, function() { >- that.refresh(); >- }); >- } >- >- if ( this.type === "checkbox" ) { >- this.buttonElement.bind( "click" + this.eventNamespace, function() { >- if ( options.disabled ) { >- return false; >- } >- }); >- } else if ( this.type === "radio" ) { >- this.buttonElement.bind( "click" + this.eventNamespace, function() { >- if ( options.disabled ) { >- return false; >- } >- $( this ).addClass( "ui-state-active" ); >- that.buttonElement.attr( "aria-pressed", "true" ); >- >- var radio = that.element[ 0 ]; >- radioGroup( radio ) >- .not( radio ) >- .map(function() { >- return $( this ).button( "widget" )[ 0 ]; >- }) >- .removeClass( "ui-state-active" ) >- .attr( "aria-pressed", "false" ); >- }); >- } else { >- this.buttonElement >- .bind( "mousedown" + this.eventNamespace, function() { >- if ( options.disabled ) { >- return false; >- } >- $( this ).addClass( "ui-state-active" ); >- lastActive = this; >- that.document.one( "mouseup", function() { >- lastActive = null; >- }); >- }) >- .bind( "mouseup" + this.eventNamespace, function() { >- if ( options.disabled ) { >- return false; >- } >- $( this ).removeClass( "ui-state-active" ); >- }) >- .bind( "keydown" + this.eventNamespace, function(event) { >- if ( options.disabled ) { >- return false; >- } >- if ( event.keyCode === $.ui.keyCode.SPACE || event.keyCode === $.ui.keyCode.ENTER ) { >- $( this ).addClass( "ui-state-active" ); >- } >- }) >- // see #8559, we bind to blur here in case the button element loses >- // focus between keydown and keyup, it would be left in an "active" state >- .bind( "keyup" + this.eventNamespace + " blur" + this.eventNamespace, function() { >- $( this ).removeClass( "ui-state-active" ); >- }); >- >- if ( this.buttonElement.is("a") ) { >- this.buttonElement.keyup(function(event) { >- if ( event.keyCode === $.ui.keyCode.SPACE ) { >- // TODO pass through original event correctly (just as 2nd argument doesn't work) >- $( this ).click(); >- } >- }); >- } >- } >- >- this._setOption( "disabled", options.disabled ); >- this._resetButton(); >- }, >- >- _determineButtonType: function() { >- var ancestor, labelSelector, checked; >- >- if ( this.element.is("[type=checkbox]") ) { >- this.type = "checkbox"; >- } else if ( this.element.is("[type=radio]") ) { >- this.type = "radio"; >- } else if ( this.element.is("input") ) { >- this.type = "input"; >- } else { >- this.type = "button"; >- } >- >- if ( this.type === "checkbox" || this.type === "radio" ) { >- // we don't search against the document in case the element >- // is disconnected from the DOM >- ancestor = this.element.parents().last(); >- labelSelector = "label[for='" + this.element.attr("id") + "']"; >- this.buttonElement = ancestor.find( labelSelector ); >- if ( !this.buttonElement.length ) { >- ancestor = ancestor.length ? ancestor.siblings() : this.element.siblings(); >- this.buttonElement = ancestor.filter( labelSelector ); >- if ( !this.buttonElement.length ) { >- this.buttonElement = ancestor.find( labelSelector ); >- } >- } >- this.element.addClass( "ui-helper-hidden-accessible" ); >- >- checked = this.element.is( ":checked" ); >- if ( checked ) { >- this.buttonElement.addClass( "ui-state-active" ); >- } >- this.buttonElement.prop( "aria-pressed", checked ); >- } else { >- this.buttonElement = this.element; >- } >- }, >- >- widget: function() { >- return this.buttonElement; >- }, >- >- _destroy: function() { >- this.element >- .removeClass( "ui-helper-hidden-accessible" ); >- this.buttonElement >- .removeClass( baseClasses + " ui-state-active " + typeClasses ) >- .removeAttr( "role" ) >- .removeAttr( "aria-pressed" ) >- .html( this.buttonElement.find(".ui-button-text").html() ); >- >- if ( !this.hasTitle ) { >- this.buttonElement.removeAttr( "title" ); >- } >- }, >- >- _setOption: function( key, value ) { >- this._super( key, value ); >- if ( key === "disabled" ) { >- this.widget().toggleClass( "ui-state-disabled", !!value ); >- this.element.prop( "disabled", !!value ); >- if ( value ) { >- if ( this.type === "checkbox" || this.type === "radio" ) { >- this.buttonElement.removeClass( "ui-state-focus" ); >- } else { >- this.buttonElement.removeClass( "ui-state-focus ui-state-active" ); >- } >- } >- return; >- } >- this._resetButton(); >- }, >- >- refresh: function() { >- //See #8237 & #8828 >- var isDisabled = this.element.is( "input, button" ) ? this.element.is( ":disabled" ) : this.element.hasClass( "ui-button-disabled" ); >- >- if ( isDisabled !== this.options.disabled ) { >- this._setOption( "disabled", isDisabled ); >- } >- if ( this.type === "radio" ) { >- radioGroup( this.element[0] ).each(function() { >- if ( $( this ).is( ":checked" ) ) { >- $( this ).button( "widget" ) >- .addClass( "ui-state-active" ) >- .attr( "aria-pressed", "true" ); >- } else { >- $( this ).button( "widget" ) >- .removeClass( "ui-state-active" ) >- .attr( "aria-pressed", "false" ); >- } >- }); >- } else if ( this.type === "checkbox" ) { >- if ( this.element.is( ":checked" ) ) { >- this.buttonElement >- .addClass( "ui-state-active" ) >- .attr( "aria-pressed", "true" ); >- } else { >- this.buttonElement >- .removeClass( "ui-state-active" ) >- .attr( "aria-pressed", "false" ); >- } >- } >- }, >- >- _resetButton: function() { >- if ( this.type === "input" ) { >- if ( this.options.label ) { >- this.element.val( this.options.label ); >- } >- return; >- } >- var buttonElement = this.buttonElement.removeClass( typeClasses ), >- buttonText = $( "<span></span>", this.document[0] ) >- .addClass( "ui-button-text" ) >- .html( this.options.label ) >- .appendTo( buttonElement.empty() ) >- .text(), >- icons = this.options.icons, >- multipleIcons = icons.primary && icons.secondary, >- buttonClasses = []; >- >- if ( icons.primary || icons.secondary ) { >- if ( this.options.text ) { >- buttonClasses.push( "ui-button-text-icon" + ( multipleIcons ? "s" : ( icons.primary ? "-primary" : "-secondary" ) ) ); >- } >- >- if ( icons.primary ) { >- buttonElement.prepend( "<span class='ui-button-icon-primary ui-icon " + icons.primary + "'></span>" ); >- } >- >- if ( icons.secondary ) { >- buttonElement.append( "<span class='ui-button-icon-secondary ui-icon " + icons.secondary + "'></span>" ); >- } >- >- if ( !this.options.text ) { >- buttonClasses.push( multipleIcons ? "ui-button-icons-only" : "ui-button-icon-only" ); >- >- if ( !this.hasTitle ) { >- buttonElement.attr( "title", $.trim( buttonText ) ); >- } >- } >- } else { >- buttonClasses.push( "ui-button-text-only" ); >- } >- buttonElement.addClass( buttonClasses.join( " " ) ); >- } >-}); >- >-$.widget( "ui.buttonset", { >- version: "1.11.4", >- options: { >- items: "button, input[type=button], input[type=submit], input[type=reset], input[type=checkbox], input[type=radio], a, :data(ui-button)" >- }, >- >- _create: function() { >- this.element.addClass( "ui-buttonset" ); >- }, >- >- _init: function() { >- this.refresh(); >- }, >- >- _setOption: function( key, value ) { >- if ( key === "disabled" ) { >- this.buttons.button( "option", key, value ); >- } >- >- this._super( key, value ); >- }, >- >- refresh: function() { >- var rtl = this.element.css( "direction" ) === "rtl", >- allButtons = this.element.find( this.options.items ), >- existingButtons = allButtons.filter( ":ui-button" ); >- >- // Initialize new buttons >- allButtons.not( ":ui-button" ).button(); >- >- // Refresh existing buttons >- existingButtons.button( "refresh" ); >- >- this.buttons = allButtons >- .map(function() { >- return $( this ).button( "widget" )[ 0 ]; >- }) >- .removeClass( "ui-corner-all ui-corner-left ui-corner-right" ) >- .filter( ":first" ) >- .addClass( rtl ? "ui-corner-right" : "ui-corner-left" ) >- .end() >- .filter( ":last" ) >- .addClass( rtl ? "ui-corner-left" : "ui-corner-right" ) >- .end() >- .end(); >- }, >- >- _destroy: function() { >- this.element.removeClass( "ui-buttonset" ); >- this.buttons >- .map(function() { >- return $( this ).button( "widget" )[ 0 ]; >- }) >- .removeClass( "ui-corner-left ui-corner-right" ) >- .end() >- .button( "destroy" ); >- } >-}); >- >-var button = $.ui.button; >- >- >-/*! >- * jQuery UI Datepicker 1.11.4 >- * http://jqueryui.com >- * >- * Copyright jQuery Foundation and other contributors >- * Released under the MIT license. >- * http://jquery.org/license >- * >- * http://api.jqueryui.com/datepicker/ >- */ >- >- >-$.extend($.ui, { datepicker: { version: "1.11.4" } }); >- >-var datepicker_instActive; >- >-function datepicker_getZindex( elem ) { >- var position, value; >- while ( elem.length && elem[ 0 ] !== document ) { >- // Ignore z-index if position is set to a value where z-index is ignored by the browser >- // This makes behavior of this function consistent across browsers >- // WebKit always returns auto if the element is positioned >- position = elem.css( "position" ); >- if ( position === "absolute" || position === "relative" || position === "fixed" ) { >- // IE returns 0 when zIndex is not specified >- // other browsers return a string >- // we ignore the case of nested elements with an explicit value of 0 >- // <div style="z-index: -10;"><div style="z-index: 0;"></div></div> >- value = parseInt( elem.css( "zIndex" ), 10 ); >- if ( !isNaN( value ) && value !== 0 ) { >- return value; >- } >- } >- elem = elem.parent(); >- } >- >- return 0; >-} >-/* Date picker manager. >- Use the singleton instance of this class, $.datepicker, to interact with the date picker. >- Settings for (groups of) date pickers are maintained in an instance object, >- allowing multiple different settings on the same page. */ >- >-function Datepicker() { >- this._curInst = null; // The current instance in use >- this._keyEvent = false; // If the last event was a key event >- this._disabledInputs = []; // List of date picker inputs that have been disabled >- this._datepickerShowing = false; // True if the popup picker is showing , false if not >- this._inDialog = false; // True if showing within a "dialog", false if not >- this._mainDivId = "ui-datepicker-div"; // The ID of the main datepicker division >- this._inlineClass = "ui-datepicker-inline"; // The name of the inline marker class >- this._appendClass = "ui-datepicker-append"; // The name of the append marker class >- this._triggerClass = "ui-datepicker-trigger"; // The name of the trigger marker class >- this._dialogClass = "ui-datepicker-dialog"; // The name of the dialog marker class >- this._disableClass = "ui-datepicker-disabled"; // The name of the disabled covering marker class >- this._unselectableClass = "ui-datepicker-unselectable"; // The name of the unselectable cell marker class >- this._currentClass = "ui-datepicker-current-day"; // The name of the current day marker class >- this._dayOverClass = "ui-datepicker-days-cell-over"; // The name of the day hover marker class >- this.regional = []; // Available regional settings, indexed by language code >- this.regional[""] = { // Default regional settings >- closeText: "Done", // Display text for close link >- prevText: "Prev", // Display text for previous month link >- nextText: "Next", // Display text for next month link >- currentText: "Today", // Display text for current month link >- monthNames: ["January","February","March","April","May","June", >- "July","August","September","October","November","December"], // Names of months for drop-down and formatting >- monthNamesShort: ["Jan", "Feb", "Mar", "Apr", "May", "Jun", "Jul", "Aug", "Sep", "Oct", "Nov", "Dec"], // For formatting >- dayNames: ["Sunday", "Monday", "Tuesday", "Wednesday", "Thursday", "Friday", "Saturday"], // For formatting >- dayNamesShort: ["Sun", "Mon", "Tue", "Wed", "Thu", "Fri", "Sat"], // For formatting >- dayNamesMin: ["Su","Mo","Tu","We","Th","Fr","Sa"], // Column headings for days starting at Sunday >- weekHeader: "Wk", // Column header for week of the year >- dateFormat: "mm/dd/yy", // See format options on parseDate >- firstDay: 0, // The first day of the week, Sun = 0, Mon = 1, ... >- isRTL: false, // True if right-to-left language, false if left-to-right >- showMonthAfterYear: false, // True if the year select precedes month, false for month then year >- yearSuffix: "" // Additional text to append to the year in the month headers >- }; >- this._defaults = { // Global defaults for all the date picker instances >- showOn: "focus", // "focus" for popup on focus, >- // "button" for trigger button, or "both" for either >- showAnim: "fadeIn", // Name of jQuery animation for popup >- showOptions: {}, // Options for enhanced animations >- defaultDate: null, // Used when field is blank: actual date, >- // +/-number for offset from today, null for today >- appendText: "", // Display text following the input box, e.g. showing the format >- buttonText: "...", // Text for trigger button >- buttonImage: "", // URL for trigger button image >- buttonImageOnly: false, // True if the image appears alone, false if it appears on a button >- hideIfNoPrevNext: false, // True to hide next/previous month links >- // if not applicable, false to just disable them >- navigationAsDateFormat: false, // True if date formatting applied to prev/today/next links >- gotoCurrent: false, // True if today link goes back to current selection instead >- changeMonth: false, // True if month can be selected directly, false if only prev/next >- changeYear: false, // True if year can be selected directly, false if only prev/next >- yearRange: "c-10:c+10", // Range of years to display in drop-down, >- // either relative to today's year (-nn:+nn), relative to currently displayed year >- // (c-nn:c+nn), absolute (nnnn:nnnn), or a combination of the above (nnnn:-n) >- showOtherMonths: false, // True to show dates in other months, false to leave blank >- selectOtherMonths: false, // True to allow selection of dates in other months, false for unselectable >- showWeek: false, // True to show week of the year, false to not show it >- calculateWeek: this.iso8601Week, // How to calculate the week of the year, >- // takes a Date and returns the number of the week for it >- shortYearCutoff: "+10", // Short year values < this are in the current century, >- // > this are in the previous century, >- // string value starting with "+" for current year + value >- minDate: null, // The earliest selectable date, or null for no limit >- maxDate: null, // The latest selectable date, or null for no limit >- duration: "fast", // Duration of display/closure >- beforeShowDay: null, // Function that takes a date and returns an array with >- // [0] = true if selectable, false if not, [1] = custom CSS class name(s) or "", >- // [2] = cell title (optional), e.g. $.datepicker.noWeekends >- beforeShow: null, // Function that takes an input field and >- // returns a set of custom settings for the date picker >- onSelect: null, // Define a callback function when a date is selected >- onChangeMonthYear: null, // Define a callback function when the month or year is changed >- onClose: null, // Define a callback function when the datepicker is closed >- numberOfMonths: 1, // Number of months to show at a time >- showCurrentAtPos: 0, // The position in multipe months at which to show the current month (starting at 0) >- stepMonths: 1, // Number of months to step back/forward >- stepBigMonths: 12, // Number of months to step back/forward for the big links >- altField: "", // Selector for an alternate field to store selected dates into >- altFormat: "", // The date format to use for the alternate field >- constrainInput: true, // The input is constrained by the current date format >- showButtonPanel: false, // True to show button panel, false to not show it >- autoSize: false, // True to size the input for the date format, false to leave as is >- disabled: false // The initial disabled state >- }; >- $.extend(this._defaults, this.regional[""]); >- this.regional.en = $.extend( true, {}, this.regional[ "" ]); >- this.regional[ "en-US" ] = $.extend( true, {}, this.regional.en ); >- this.dpDiv = datepicker_bindHover($("<div id='" + this._mainDivId + "' class='ui-datepicker ui-widget ui-widget-content ui-helper-clearfix ui-corner-all'></div>")); >-} >- >-$.extend(Datepicker.prototype, { >- /* Class name added to elements to indicate already configured with a date picker. */ >- markerClassName: "hasDatepicker", >- >- //Keep track of the maximum number of rows displayed (see #7043) >- maxRows: 4, >- >- // TODO rename to "widget" when switching to widget factory >- _widgetDatepicker: function() { >- return this.dpDiv; >- }, >- >- /* Override the default settings for all instances of the date picker. >- * @param settings object - the new settings to use as defaults (anonymous object) >- * @return the manager object >- */ >- setDefaults: function(settings) { >- datepicker_extendRemove(this._defaults, settings || {}); >- return this; >- }, >- >- /* Attach the date picker to a jQuery selection. >- * @param target element - the target input field or division or span >- * @param settings object - the new settings to use for this date picker instance (anonymous) >- */ >- _attachDatepicker: function(target, settings) { >- var nodeName, inline, inst; >- nodeName = target.nodeName.toLowerCase(); >- inline = (nodeName === "div" || nodeName === "span"); >- if (!target.id) { >- this.uuid += 1; >- target.id = "dp" + this.uuid; >- } >- inst = this._newInst($(target), inline); >- inst.settings = $.extend({}, settings || {}); >- if (nodeName === "input") { >- this._connectDatepicker(target, inst); >- } else if (inline) { >- this._inlineDatepicker(target, inst); >- } >- }, >- >- /* Create a new instance object. */ >- _newInst: function(target, inline) { >- var id = target[0].id.replace(/([^A-Za-z0-9_\-])/g, "\\\\$1"); // escape jQuery meta chars >- return {id: id, input: target, // associated target >- selectedDay: 0, selectedMonth: 0, selectedYear: 0, // current selection >- drawMonth: 0, drawYear: 0, // month being drawn >- inline: inline, // is datepicker inline or not >- dpDiv: (!inline ? this.dpDiv : // presentation div >- datepicker_bindHover($("<div class='" + this._inlineClass + " ui-datepicker ui-widget ui-widget-content ui-helper-clearfix ui-corner-all'></div>")))}; >- }, >- >- /* Attach the date picker to an input field. */ >- _connectDatepicker: function(target, inst) { >- var input = $(target); >- inst.append = $([]); >- inst.trigger = $([]); >- if (input.hasClass(this.markerClassName)) { >- return; >- } >- this._attachments(input, inst); >- input.addClass(this.markerClassName).keydown(this._doKeyDown). >- keypress(this._doKeyPress).keyup(this._doKeyUp); >- this._autoSize(inst); >- $.data(target, "datepicker", inst); >- //If disabled option is true, disable the datepicker once it has been attached to the input (see ticket #5665) >- if( inst.settings.disabled ) { >- this._disableDatepicker( target ); >- } >- }, >- >- /* Make attachments based on settings. */ >- _attachments: function(input, inst) { >- var showOn, buttonText, buttonImage, >- appendText = this._get(inst, "appendText"), >- isRTL = this._get(inst, "isRTL"); >- >- if (inst.append) { >- inst.append.remove(); >- } >- if (appendText) { >- inst.append = $("<span class='" + this._appendClass + "'>" + appendText + "</span>"); >- input[isRTL ? "before" : "after"](inst.append); >- } >- >- input.unbind("focus", this._showDatepicker); >- >- if (inst.trigger) { >- inst.trigger.remove(); >- } >- >- showOn = this._get(inst, "showOn"); >- if (showOn === "focus" || showOn === "both") { // pop-up date picker when in the marked field >- input.focus(this._showDatepicker); >- } >- if (showOn === "button" || showOn === "both") { // pop-up date picker when button clicked >- buttonText = this._get(inst, "buttonText"); >- buttonImage = this._get(inst, "buttonImage"); >- inst.trigger = $(this._get(inst, "buttonImageOnly") ? >- $("<img/>").addClass(this._triggerClass). >- attr({ src: buttonImage, alt: buttonText, title: buttonText }) : >- $("<button type='button'></button>").addClass(this._triggerClass). >- html(!buttonImage ? buttonText : $("<img/>").attr( >- { src:buttonImage, alt:buttonText, title:buttonText }))); >- input[isRTL ? "before" : "after"](inst.trigger); >- inst.trigger.click(function() { >- if ($.datepicker._datepickerShowing && $.datepicker._lastInput === input[0]) { >- $.datepicker._hideDatepicker(); >- } else if ($.datepicker._datepickerShowing && $.datepicker._lastInput !== input[0]) { >- $.datepicker._hideDatepicker(); >- $.datepicker._showDatepicker(input[0]); >- } else { >- $.datepicker._showDatepicker(input[0]); >- } >- return false; >- }); >- } >- }, >- >- /* Apply the maximum length for the date format. */ >- _autoSize: function(inst) { >- if (this._get(inst, "autoSize") && !inst.inline) { >- var findMax, max, maxI, i, >- date = new Date(2009, 12 - 1, 20), // Ensure double digits >- dateFormat = this._get(inst, "dateFormat"); >- >- if (dateFormat.match(/[DM]/)) { >- findMax = function(names) { >- max = 0; >- maxI = 0; >- for (i = 0; i < names.length; i++) { >- if (names[i].length > max) { >- max = names[i].length; >- maxI = i; >- } >- } >- return maxI; >- }; >- date.setMonth(findMax(this._get(inst, (dateFormat.match(/MM/) ? >- "monthNames" : "monthNamesShort")))); >- date.setDate(findMax(this._get(inst, (dateFormat.match(/DD/) ? >- "dayNames" : "dayNamesShort"))) + 20 - date.getDay()); >- } >- inst.input.attr("size", this._formatDate(inst, date).length); >- } >- }, >- >- /* Attach an inline date picker to a div. */ >- _inlineDatepicker: function(target, inst) { >- var divSpan = $(target); >- if (divSpan.hasClass(this.markerClassName)) { >- return; >- } >- divSpan.addClass(this.markerClassName).append(inst.dpDiv); >- $.data(target, "datepicker", inst); >- this._setDate(inst, this._getDefaultDate(inst), true); >- this._updateDatepicker(inst); >- this._updateAlternate(inst); >- //If disabled option is true, disable the datepicker before showing it (see ticket #5665) >- if( inst.settings.disabled ) { >- this._disableDatepicker( target ); >- } >- // Set display:block in place of inst.dpDiv.show() which won't work on disconnected elements >- // http://bugs.jqueryui.com/ticket/7552 - A Datepicker created on a detached div has zero height >- inst.dpDiv.css( "display", "block" ); >- }, >- >- /* Pop-up the date picker in a "dialog" box. >- * @param input element - ignored >- * @param date string or Date - the initial date to display >- * @param onSelect function - the function to call when a date is selected >- * @param settings object - update the dialog date picker instance's settings (anonymous object) >- * @param pos int[2] - coordinates for the dialog's position within the screen or >- * event - with x/y coordinates or >- * leave empty for default (screen centre) >- * @return the manager object >- */ >- _dialogDatepicker: function(input, date, onSelect, settings, pos) { >- var id, browserWidth, browserHeight, scrollX, scrollY, >- inst = this._dialogInst; // internal instance >- >- if (!inst) { >- this.uuid += 1; >- id = "dp" + this.uuid; >- this._dialogInput = $("<input type='text' id='" + id + >- "' style='position: absolute; top: -100px; width: 0px;'/>"); >- this._dialogInput.keydown(this._doKeyDown); >- $("body").append(this._dialogInput); >- inst = this._dialogInst = this._newInst(this._dialogInput, false); >- inst.settings = {}; >- $.data(this._dialogInput[0], "datepicker", inst); >- } >- datepicker_extendRemove(inst.settings, settings || {}); >- date = (date && date.constructor === Date ? this._formatDate(inst, date) : date); >- this._dialogInput.val(date); >- >- this._pos = (pos ? (pos.length ? pos : [pos.pageX, pos.pageY]) : null); >- if (!this._pos) { >- browserWidth = document.documentElement.clientWidth; >- browserHeight = document.documentElement.clientHeight; >- scrollX = document.documentElement.scrollLeft || document.body.scrollLeft; >- scrollY = document.documentElement.scrollTop || document.body.scrollTop; >- this._pos = // should use actual width/height below >- [(browserWidth / 2) - 100 + scrollX, (browserHeight / 2) - 150 + scrollY]; >- } >- >- // move input on screen for focus, but hidden behind dialog >- this._dialogInput.css("left", (this._pos[0] + 20) + "px").css("top", this._pos[1] + "px"); >- inst.settings.onSelect = onSelect; >- this._inDialog = true; >- this.dpDiv.addClass(this._dialogClass); >- this._showDatepicker(this._dialogInput[0]); >- if ($.blockUI) { >- $.blockUI(this.dpDiv); >- } >- $.data(this._dialogInput[0], "datepicker", inst); >- return this; >- }, >- >- /* Detach a datepicker from its control. >- * @param target element - the target input field or division or span >- */ >- _destroyDatepicker: function(target) { >- var nodeName, >- $target = $(target), >- inst = $.data(target, "datepicker"); >- >- if (!$target.hasClass(this.markerClassName)) { >- return; >- } >- >- nodeName = target.nodeName.toLowerCase(); >- $.removeData(target, "datepicker"); >- if (nodeName === "input") { >- inst.append.remove(); >- inst.trigger.remove(); >- $target.removeClass(this.markerClassName). >- unbind("focus", this._showDatepicker). >- unbind("keydown", this._doKeyDown). >- unbind("keypress", this._doKeyPress). >- unbind("keyup", this._doKeyUp); >- } else if (nodeName === "div" || nodeName === "span") { >- $target.removeClass(this.markerClassName).empty(); >- } >- >- if ( datepicker_instActive === inst ) { >- datepicker_instActive = null; >- } >- }, >- >- /* Enable the date picker to a jQuery selection. >- * @param target element - the target input field or division or span >- */ >- _enableDatepicker: function(target) { >- var nodeName, inline, >- $target = $(target), >- inst = $.data(target, "datepicker"); >- >- if (!$target.hasClass(this.markerClassName)) { >- return; >- } >- >- nodeName = target.nodeName.toLowerCase(); >- if (nodeName === "input") { >- target.disabled = false; >- inst.trigger.filter("button"). >- each(function() { this.disabled = false; }).end(). >- filter("img").css({opacity: "1.0", cursor: ""}); >- } else if (nodeName === "div" || nodeName === "span") { >- inline = $target.children("." + this._inlineClass); >- inline.children().removeClass("ui-state-disabled"); >- inline.find("select.ui-datepicker-month, select.ui-datepicker-year"). >- prop("disabled", false); >- } >- this._disabledInputs = $.map(this._disabledInputs, >- function(value) { return (value === target ? null : value); }); // delete entry >- }, >- >- /* Disable the date picker to a jQuery selection. >- * @param target element - the target input field or division or span >- */ >- _disableDatepicker: function(target) { >- var nodeName, inline, >- $target = $(target), >- inst = $.data(target, "datepicker"); >- >- if (!$target.hasClass(this.markerClassName)) { >- return; >- } >- >- nodeName = target.nodeName.toLowerCase(); >- if (nodeName === "input") { >- target.disabled = true; >- inst.trigger.filter("button"). >- each(function() { this.disabled = true; }).end(). >- filter("img").css({opacity: "0.5", cursor: "default"}); >- } else if (nodeName === "div" || nodeName === "span") { >- inline = $target.children("." + this._inlineClass); >- inline.children().addClass("ui-state-disabled"); >- inline.find("select.ui-datepicker-month, select.ui-datepicker-year"). >- prop("disabled", true); >- } >- this._disabledInputs = $.map(this._disabledInputs, >- function(value) { return (value === target ? null : value); }); // delete entry >- this._disabledInputs[this._disabledInputs.length] = target; >- }, >- >- /* Is the first field in a jQuery collection disabled as a datepicker? >- * @param target element - the target input field or division or span >- * @return boolean - true if disabled, false if enabled >- */ >- _isDisabledDatepicker: function(target) { >- if (!target) { >- return false; >- } >- for (var i = 0; i < this._disabledInputs.length; i++) { >- if (this._disabledInputs[i] === target) { >- return true; >- } >- } >- return false; >- }, >- >- /* Retrieve the instance data for the target control. >- * @param target element - the target input field or division or span >- * @return object - the associated instance data >- * @throws error if a jQuery problem getting data >- */ >- _getInst: function(target) { >- try { >- return $.data(target, "datepicker"); >- } >- catch (err) { >- throw "Missing instance data for this datepicker"; >- } >- }, >- >- /* Update or retrieve the settings for a date picker attached to an input field or division. >- * @param target element - the target input field or division or span >- * @param name object - the new settings to update or >- * string - the name of the setting to change or retrieve, >- * when retrieving also "all" for all instance settings or >- * "defaults" for all global defaults >- * @param value any - the new value for the setting >- * (omit if above is an object or to retrieve a value) >- */ >- _optionDatepicker: function(target, name, value) { >- var settings, date, minDate, maxDate, >- inst = this._getInst(target); >- >- if (arguments.length === 2 && typeof name === "string") { >- return (name === "defaults" ? $.extend({}, $.datepicker._defaults) : >- (inst ? (name === "all" ? $.extend({}, inst.settings) : >- this._get(inst, name)) : null)); >- } >- >- settings = name || {}; >- if (typeof name === "string") { >- settings = {}; >- settings[name] = value; >- } >- >- if (inst) { >- if (this._curInst === inst) { >- this._hideDatepicker(); >- } >- >- date = this._getDateDatepicker(target, true); >- minDate = this._getMinMaxDate(inst, "min"); >- maxDate = this._getMinMaxDate(inst, "max"); >- datepicker_extendRemove(inst.settings, settings); >- // reformat the old minDate/maxDate values if dateFormat changes and a new minDate/maxDate isn't provided >- if (minDate !== null && settings.dateFormat !== undefined && settings.minDate === undefined) { >- inst.settings.minDate = this._formatDate(inst, minDate); >- } >- if (maxDate !== null && settings.dateFormat !== undefined && settings.maxDate === undefined) { >- inst.settings.maxDate = this._formatDate(inst, maxDate); >- } >- if ( "disabled" in settings ) { >- if ( settings.disabled ) { >- this._disableDatepicker(target); >- } else { >- this._enableDatepicker(target); >- } >- } >- this._attachments($(target), inst); >- this._autoSize(inst); >- this._setDate(inst, date); >- this._updateAlternate(inst); >- this._updateDatepicker(inst); >- } >- }, >- >- // change method deprecated >- _changeDatepicker: function(target, name, value) { >- this._optionDatepicker(target, name, value); >- }, >- >- /* Redraw the date picker attached to an input field or division. >- * @param target element - the target input field or division or span >- */ >- _refreshDatepicker: function(target) { >- var inst = this._getInst(target); >- if (inst) { >- this._updateDatepicker(inst); >- } >- }, >- >- /* Set the dates for a jQuery selection. >- * @param target element - the target input field or division or span >- * @param date Date - the new date >- */ >- _setDateDatepicker: function(target, date) { >- var inst = this._getInst(target); >- if (inst) { >- this._setDate(inst, date); >- this._updateDatepicker(inst); >- this._updateAlternate(inst); >- } >- }, >- >- /* Get the date(s) for the first entry in a jQuery selection. >- * @param target element - the target input field or division or span >- * @param noDefault boolean - true if no default date is to be used >- * @return Date - the current date >- */ >- _getDateDatepicker: function(target, noDefault) { >- var inst = this._getInst(target); >- if (inst && !inst.inline) { >- this._setDateFromField(inst, noDefault); >- } >- return (inst ? this._getDate(inst) : null); >- }, >- >- /* Handle keystrokes. */ >- _doKeyDown: function(event) { >- var onSelect, dateStr, sel, >- inst = $.datepicker._getInst(event.target), >- handled = true, >- isRTL = inst.dpDiv.is(".ui-datepicker-rtl"); >- >- inst._keyEvent = true; >- if ($.datepicker._datepickerShowing) { >- switch (event.keyCode) { >- case 9: $.datepicker._hideDatepicker(); >- handled = false; >- break; // hide on tab out >- case 13: sel = $("td." + $.datepicker._dayOverClass + ":not(." + >- $.datepicker._currentClass + ")", inst.dpDiv); >- if (sel[0]) { >- $.datepicker._selectDay(event.target, inst.selectedMonth, inst.selectedYear, sel[0]); >- } >- >- onSelect = $.datepicker._get(inst, "onSelect"); >- if (onSelect) { >- dateStr = $.datepicker._formatDate(inst); >- >- // trigger custom callback >- onSelect.apply((inst.input ? inst.input[0] : null), [dateStr, inst]); >- } else { >- $.datepicker._hideDatepicker(); >- } >- >- return false; // don't submit the form >- case 27: $.datepicker._hideDatepicker(); >- break; // hide on escape >- case 33: $.datepicker._adjustDate(event.target, (event.ctrlKey ? >- -$.datepicker._get(inst, "stepBigMonths") : >- -$.datepicker._get(inst, "stepMonths")), "M"); >- break; // previous month/year on page up/+ ctrl >- case 34: $.datepicker._adjustDate(event.target, (event.ctrlKey ? >- +$.datepicker._get(inst, "stepBigMonths") : >- +$.datepicker._get(inst, "stepMonths")), "M"); >- break; // next month/year on page down/+ ctrl >- case 35: if (event.ctrlKey || event.metaKey) { >- $.datepicker._clearDate(event.target); >- } >- handled = event.ctrlKey || event.metaKey; >- break; // clear on ctrl or command +end >- case 36: if (event.ctrlKey || event.metaKey) { >- $.datepicker._gotoToday(event.target); >- } >- handled = event.ctrlKey || event.metaKey; >- break; // current on ctrl or command +home >- case 37: if (event.ctrlKey || event.metaKey) { >- $.datepicker._adjustDate(event.target, (isRTL ? +1 : -1), "D"); >- } >- handled = event.ctrlKey || event.metaKey; >- // -1 day on ctrl or command +left >- if (event.originalEvent.altKey) { >- $.datepicker._adjustDate(event.target, (event.ctrlKey ? >- -$.datepicker._get(inst, "stepBigMonths") : >- -$.datepicker._get(inst, "stepMonths")), "M"); >- } >- // next month/year on alt +left on Mac >- break; >- case 38: if (event.ctrlKey || event.metaKey) { >- $.datepicker._adjustDate(event.target, -7, "D"); >- } >- handled = event.ctrlKey || event.metaKey; >- break; // -1 week on ctrl or command +up >- case 39: if (event.ctrlKey || event.metaKey) { >- $.datepicker._adjustDate(event.target, (isRTL ? -1 : +1), "D"); >- } >- handled = event.ctrlKey || event.metaKey; >- // +1 day on ctrl or command +right >- if (event.originalEvent.altKey) { >- $.datepicker._adjustDate(event.target, (event.ctrlKey ? >- +$.datepicker._get(inst, "stepBigMonths") : >- +$.datepicker._get(inst, "stepMonths")), "M"); >- } >- // next month/year on alt +right >- break; >- case 40: if (event.ctrlKey || event.metaKey) { >- $.datepicker._adjustDate(event.target, +7, "D"); >- } >- handled = event.ctrlKey || event.metaKey; >- break; // +1 week on ctrl or command +down >- default: handled = false; >- } >- } else if (event.keyCode === 36 && event.ctrlKey) { // display the date picker on ctrl+home >- $.datepicker._showDatepicker(this); >- } else { >- handled = false; >- } >- >- if (handled) { >- event.preventDefault(); >- event.stopPropagation(); >- } >- }, >- >- /* Filter entered characters - based on date format. */ >- _doKeyPress: function(event) { >- var chars, chr, >- inst = $.datepicker._getInst(event.target); >- >- if ($.datepicker._get(inst, "constrainInput")) { >- chars = $.datepicker._possibleChars($.datepicker._get(inst, "dateFormat")); >- chr = String.fromCharCode(event.charCode == null ? event.keyCode : event.charCode); >- return event.ctrlKey || event.metaKey || (chr < " " || !chars || chars.indexOf(chr) > -1); >- } >- }, >- >- /* Synchronise manual entry and field/alternate field. */ >- _doKeyUp: function(event) { >- var date, >- inst = $.datepicker._getInst(event.target); >- >- if (inst.input.val() !== inst.lastVal) { >- try { >- date = $.datepicker.parseDate($.datepicker._get(inst, "dateFormat"), >- (inst.input ? inst.input.val() : null), >- $.datepicker._getFormatConfig(inst)); >- >- if (date) { // only if valid >- $.datepicker._setDateFromField(inst); >- $.datepicker._updateAlternate(inst); >- $.datepicker._updateDatepicker(inst); >- } >- } >- catch (err) { >- } >- } >- return true; >- }, >- >- /* Pop-up the date picker for a given input field. >- * If false returned from beforeShow event handler do not show. >- * @param input element - the input field attached to the date picker or >- * event - if triggered by focus >- */ >- _showDatepicker: function(input) { >- input = input.target || input; >- if (input.nodeName.toLowerCase() !== "input") { // find from button/image trigger >- input = $("input", input.parentNode)[0]; >- } >- >- if ($.datepicker._isDisabledDatepicker(input) || $.datepicker._lastInput === input) { // already here >- return; >- } >- >- var inst, beforeShow, beforeShowSettings, isFixed, >- offset, showAnim, duration; >- >- inst = $.datepicker._getInst(input); >- if ($.datepicker._curInst && $.datepicker._curInst !== inst) { >- $.datepicker._curInst.dpDiv.stop(true, true); >- if ( inst && $.datepicker._datepickerShowing ) { >- $.datepicker._hideDatepicker( $.datepicker._curInst.input[0] ); >- } >- } >- >- beforeShow = $.datepicker._get(inst, "beforeShow"); >- beforeShowSettings = beforeShow ? beforeShow.apply(input, [input, inst]) : {}; >- if(beforeShowSettings === false){ >- return; >- } >- datepicker_extendRemove(inst.settings, beforeShowSettings); >- >- inst.lastVal = null; >- $.datepicker._lastInput = input; >- $.datepicker._setDateFromField(inst); >- >- if ($.datepicker._inDialog) { // hide cursor >- input.value = ""; >- } >- if (!$.datepicker._pos) { // position below input >- $.datepicker._pos = $.datepicker._findPos(input); >- $.datepicker._pos[1] += input.offsetHeight; // add the height >- } >- >- isFixed = false; >- $(input).parents().each(function() { >- isFixed |= $(this).css("position") === "fixed"; >- return !isFixed; >- }); >- >- offset = {left: $.datepicker._pos[0], top: $.datepicker._pos[1]}; >- $.datepicker._pos = null; >- //to avoid flashes on Firefox >- inst.dpDiv.empty(); >- // determine sizing offscreen >- inst.dpDiv.css({position: "absolute", display: "block", top: "-1000px"}); >- $.datepicker._updateDatepicker(inst); >- // fix width for dynamic number of date pickers >- // and adjust position before showing >- offset = $.datepicker._checkOffset(inst, offset, isFixed); >- inst.dpDiv.css({position: ($.datepicker._inDialog && $.blockUI ? >- "static" : (isFixed ? "fixed" : "absolute")), display: "none", >- left: offset.left + "px", top: offset.top + "px"}); >- >- if (!inst.inline) { >- showAnim = $.datepicker._get(inst, "showAnim"); >- duration = $.datepicker._get(inst, "duration"); >- inst.dpDiv.css( "z-index", datepicker_getZindex( $( input ) ) + 1 ); >- $.datepicker._datepickerShowing = true; >- >- if ( $.effects && $.effects.effect[ showAnim ] ) { >- inst.dpDiv.show(showAnim, $.datepicker._get(inst, "showOptions"), duration); >- } else { >- inst.dpDiv[showAnim || "show"](showAnim ? duration : null); >- } >- >- if ( $.datepicker._shouldFocusInput( inst ) ) { >- inst.input.focus(); >- } >- >- $.datepicker._curInst = inst; >- } >- }, >- >- /* Generate the date picker content. */ >- _updateDatepicker: function(inst) { >- this.maxRows = 4; //Reset the max number of rows being displayed (see #7043) >- datepicker_instActive = inst; // for delegate hover events >- inst.dpDiv.empty().append(this._generateHTML(inst)); >- this._attachHandlers(inst); >- >- var origyearshtml, >- numMonths = this._getNumberOfMonths(inst), >- cols = numMonths[1], >- width = 17, >- activeCell = inst.dpDiv.find( "." + this._dayOverClass + " a" ); >- >- if ( activeCell.length > 0 ) { >- datepicker_handleMouseover.apply( activeCell.get( 0 ) ); >- } >- >- inst.dpDiv.removeClass("ui-datepicker-multi-2 ui-datepicker-multi-3 ui-datepicker-multi-4").width(""); >- if (cols > 1) { >- inst.dpDiv.addClass("ui-datepicker-multi-" + cols).css("width", (width * cols) + "em"); >- } >- inst.dpDiv[(numMonths[0] !== 1 || numMonths[1] !== 1 ? "add" : "remove") + >- "Class"]("ui-datepicker-multi"); >- inst.dpDiv[(this._get(inst, "isRTL") ? "add" : "remove") + >- "Class"]("ui-datepicker-rtl"); >- >- if (inst === $.datepicker._curInst && $.datepicker._datepickerShowing && $.datepicker._shouldFocusInput( inst ) ) { >- inst.input.focus(); >- } >- >- // deffered render of the years select (to avoid flashes on Firefox) >- if( inst.yearshtml ){ >- origyearshtml = inst.yearshtml; >- setTimeout(function(){ >- //assure that inst.yearshtml didn't change. >- if( origyearshtml === inst.yearshtml && inst.yearshtml ){ >- inst.dpDiv.find("select.ui-datepicker-year:first").replaceWith(inst.yearshtml); >- } >- origyearshtml = inst.yearshtml = null; >- }, 0); >- } >- }, >- >- // #6694 - don't focus the input if it's already focused >- // this breaks the change event in IE >- // Support: IE and jQuery <1.9 >- _shouldFocusInput: function( inst ) { >- return inst.input && inst.input.is( ":visible" ) && !inst.input.is( ":disabled" ) && !inst.input.is( ":focus" ); >- }, >- >- /* Check positioning to remain on screen. */ >- _checkOffset: function(inst, offset, isFixed) { >- var dpWidth = inst.dpDiv.outerWidth(), >- dpHeight = inst.dpDiv.outerHeight(), >- inputWidth = inst.input ? inst.input.outerWidth() : 0, >- inputHeight = inst.input ? inst.input.outerHeight() : 0, >- viewWidth = document.documentElement.clientWidth + (isFixed ? 0 : $(document).scrollLeft()), >- viewHeight = document.documentElement.clientHeight + (isFixed ? 0 : $(document).scrollTop()); >- >- offset.left -= (this._get(inst, "isRTL") ? (dpWidth - inputWidth) : 0); >- offset.left -= (isFixed && offset.left === inst.input.offset().left) ? $(document).scrollLeft() : 0; >- offset.top -= (isFixed && offset.top === (inst.input.offset().top + inputHeight)) ? $(document).scrollTop() : 0; >- >- // now check if datepicker is showing outside window viewport - move to a better place if so. >- offset.left -= Math.min(offset.left, (offset.left + dpWidth > viewWidth && viewWidth > dpWidth) ? >- Math.abs(offset.left + dpWidth - viewWidth) : 0); >- offset.top -= Math.min(offset.top, (offset.top + dpHeight > viewHeight && viewHeight > dpHeight) ? >- Math.abs(dpHeight + inputHeight) : 0); >- >- return offset; >- }, >- >- /* Find an object's position on the screen. */ >- _findPos: function(obj) { >- var position, >- inst = this._getInst(obj), >- isRTL = this._get(inst, "isRTL"); >- >- while (obj && (obj.type === "hidden" || obj.nodeType !== 1 || $.expr.filters.hidden(obj))) { >- obj = obj[isRTL ? "previousSibling" : "nextSibling"]; >- } >- >- position = $(obj).offset(); >- return [position.left, position.top]; >- }, >- >- /* Hide the date picker from view. >- * @param input element - the input field attached to the date picker >- */ >- _hideDatepicker: function(input) { >- var showAnim, duration, postProcess, onClose, >- inst = this._curInst; >- >- if (!inst || (input && inst !== $.data(input, "datepicker"))) { >- return; >- } >- >- if (this._datepickerShowing) { >- showAnim = this._get(inst, "showAnim"); >- duration = this._get(inst, "duration"); >- postProcess = function() { >- $.datepicker._tidyDialog(inst); >- }; >- >- // DEPRECATED: after BC for 1.8.x $.effects[ showAnim ] is not needed >- if ( $.effects && ( $.effects.effect[ showAnim ] || $.effects[ showAnim ] ) ) { >- inst.dpDiv.hide(showAnim, $.datepicker._get(inst, "showOptions"), duration, postProcess); >- } else { >- inst.dpDiv[(showAnim === "slideDown" ? "slideUp" : >- (showAnim === "fadeIn" ? "fadeOut" : "hide"))]((showAnim ? duration : null), postProcess); >- } >- >- if (!showAnim) { >- postProcess(); >- } >- this._datepickerShowing = false; >- >- onClose = this._get(inst, "onClose"); >- if (onClose) { >- onClose.apply((inst.input ? inst.input[0] : null), [(inst.input ? inst.input.val() : ""), inst]); >- } >- >- this._lastInput = null; >- if (this._inDialog) { >- this._dialogInput.css({ position: "absolute", left: "0", top: "-100px" }); >- if ($.blockUI) { >- $.unblockUI(); >- $("body").append(this.dpDiv); >- } >- } >- this._inDialog = false; >- } >- }, >- >- /* Tidy up after a dialog display. */ >- _tidyDialog: function(inst) { >- inst.dpDiv.removeClass(this._dialogClass).unbind(".ui-datepicker-calendar"); >- }, >- >- /* Close date picker if clicked elsewhere. */ >- _checkExternalClick: function(event) { >- if (!$.datepicker._curInst) { >- return; >- } >- >- var $target = $(event.target), >- inst = $.datepicker._getInst($target[0]); >- >- if ( ( ( $target[0].id !== $.datepicker._mainDivId && >- $target.parents("#" + $.datepicker._mainDivId).length === 0 && >- !$target.hasClass($.datepicker.markerClassName) && >- !$target.closest("." + $.datepicker._triggerClass).length && >- $.datepicker._datepickerShowing && !($.datepicker._inDialog && $.blockUI) ) ) || >- ( $target.hasClass($.datepicker.markerClassName) && $.datepicker._curInst !== inst ) ) { >- $.datepicker._hideDatepicker(); >- } >- }, >- >- /* Adjust one of the date sub-fields. */ >- _adjustDate: function(id, offset, period) { >- var target = $(id), >- inst = this._getInst(target[0]); >- >- if (this._isDisabledDatepicker(target[0])) { >- return; >- } >- this._adjustInstDate(inst, offset + >- (period === "M" ? this._get(inst, "showCurrentAtPos") : 0), // undo positioning >- period); >- this._updateDatepicker(inst); >- }, >- >- /* Action for current link. */ >- _gotoToday: function(id) { >- var date, >- target = $(id), >- inst = this._getInst(target[0]); >- >- if (this._get(inst, "gotoCurrent") && inst.currentDay) { >- inst.selectedDay = inst.currentDay; >- inst.drawMonth = inst.selectedMonth = inst.currentMonth; >- inst.drawYear = inst.selectedYear = inst.currentYear; >- } else { >- date = new Date(); >- inst.selectedDay = date.getDate(); >- inst.drawMonth = inst.selectedMonth = date.getMonth(); >- inst.drawYear = inst.selectedYear = date.getFullYear(); >- } >- this._notifyChange(inst); >- this._adjustDate(target); >- }, >- >- /* Action for selecting a new month/year. */ >- _selectMonthYear: function(id, select, period) { >- var target = $(id), >- inst = this._getInst(target[0]); >- >- inst["selected" + (period === "M" ? "Month" : "Year")] = >- inst["draw" + (period === "M" ? "Month" : "Year")] = >- parseInt(select.options[select.selectedIndex].value,10); >- >- this._notifyChange(inst); >- this._adjustDate(target); >- }, >- >- /* Action for selecting a day. */ >- _selectDay: function(id, month, year, td) { >- var inst, >- target = $(id); >- >- if ($(td).hasClass(this._unselectableClass) || this._isDisabledDatepicker(target[0])) { >- return; >- } >- >- inst = this._getInst(target[0]); >- inst.selectedDay = inst.currentDay = $("a", td).html(); >- inst.selectedMonth = inst.currentMonth = month; >- inst.selectedYear = inst.currentYear = year; >- this._selectDate(id, this._formatDate(inst, >- inst.currentDay, inst.currentMonth, inst.currentYear)); >- }, >- >- /* Erase the input field and hide the date picker. */ >- _clearDate: function(id) { >- var target = $(id); >- this._selectDate(target, ""); >- }, >- >- /* Update the input field with the selected date. */ >- _selectDate: function(id, dateStr) { >- var onSelect, >- target = $(id), >- inst = this._getInst(target[0]); >- >- dateStr = (dateStr != null ? dateStr : this._formatDate(inst)); >- if (inst.input) { >- inst.input.val(dateStr); >- } >- this._updateAlternate(inst); >- >- onSelect = this._get(inst, "onSelect"); >- if (onSelect) { >- onSelect.apply((inst.input ? inst.input[0] : null), [dateStr, inst]); // trigger custom callback >- } else if (inst.input) { >- inst.input.trigger("change"); // fire the change event >- } >- >- if (inst.inline){ >- this._updateDatepicker(inst); >- } else { >- this._hideDatepicker(); >- this._lastInput = inst.input[0]; >- if (typeof(inst.input[0]) !== "object") { >- inst.input.focus(); // restore focus >- } >- this._lastInput = null; >- } >- }, >- >- /* Update any alternate field to synchronise with the main field. */ >- _updateAlternate: function(inst) { >- var altFormat, date, dateStr, >- altField = this._get(inst, "altField"); >- >- if (altField) { // update alternate field too >- altFormat = this._get(inst, "altFormat") || this._get(inst, "dateFormat"); >- date = this._getDate(inst); >- dateStr = this.formatDate(altFormat, date, this._getFormatConfig(inst)); >- $(altField).each(function() { $(this).val(dateStr); }); >- } >- }, >- >- /* Set as beforeShowDay function to prevent selection of weekends. >- * @param date Date - the date to customise >- * @return [boolean, string] - is this date selectable?, what is its CSS class? >- */ >- noWeekends: function(date) { >- var day = date.getDay(); >- return [(day > 0 && day < 6), ""]; >- }, >- >- /* Set as calculateWeek to determine the week of the year based on the ISO 8601 definition. >- * @param date Date - the date to get the week for >- * @return number - the number of the week within the year that contains this date >- */ >- iso8601Week: function(date) { >- var time, >- checkDate = new Date(date.getTime()); >- >- // Find Thursday of this week starting on Monday >- checkDate.setDate(checkDate.getDate() + 4 - (checkDate.getDay() || 7)); >- >- time = checkDate.getTime(); >- checkDate.setMonth(0); // Compare with Jan 1 >- checkDate.setDate(1); >- return Math.floor(Math.round((time - checkDate) / 86400000) / 7) + 1; >- }, >- >- /* Parse a string value into a date object. >- * See formatDate below for the possible formats. >- * >- * @param format string - the expected format of the date >- * @param value string - the date in the above format >- * @param settings Object - attributes include: >- * shortYearCutoff number - the cutoff year for determining the century (optional) >- * dayNamesShort string[7] - abbreviated names of the days from Sunday (optional) >- * dayNames string[7] - names of the days from Sunday (optional) >- * monthNamesShort string[12] - abbreviated names of the months (optional) >- * monthNames string[12] - names of the months (optional) >- * @return Date - the extracted date value or null if value is blank >- */ >- parseDate: function (format, value, settings) { >- if (format == null || value == null) { >- throw "Invalid arguments"; >- } >- >- value = (typeof value === "object" ? value.toString() : value + ""); >- if (value === "") { >- return null; >- } >- >- var iFormat, dim, extra, >- iValue = 0, >- shortYearCutoffTemp = (settings ? settings.shortYearCutoff : null) || this._defaults.shortYearCutoff, >- shortYearCutoff = (typeof shortYearCutoffTemp !== "string" ? shortYearCutoffTemp : >- new Date().getFullYear() % 100 + parseInt(shortYearCutoffTemp, 10)), >- dayNamesShort = (settings ? settings.dayNamesShort : null) || this._defaults.dayNamesShort, >- dayNames = (settings ? settings.dayNames : null) || this._defaults.dayNames, >- monthNamesShort = (settings ? settings.monthNamesShort : null) || this._defaults.monthNamesShort, >- monthNames = (settings ? settings.monthNames : null) || this._defaults.monthNames, >- year = -1, >- month = -1, >- day = -1, >- doy = -1, >- literal = false, >- date, >- // Check whether a format character is doubled >- lookAhead = function(match) { >- var matches = (iFormat + 1 < format.length && format.charAt(iFormat + 1) === match); >- if (matches) { >- iFormat++; >- } >- return matches; >- }, >- // Extract a number from the string value >- getNumber = function(match) { >- var isDoubled = lookAhead(match), >- size = (match === "@" ? 14 : (match === "!" ? 20 : >- (match === "y" && isDoubled ? 4 : (match === "o" ? 3 : 2)))), >- minSize = (match === "y" ? size : 1), >- digits = new RegExp("^\\d{" + minSize + "," + size + "}"), >- num = value.substring(iValue).match(digits); >- if (!num) { >- throw "Missing number at position " + iValue; >- } >- iValue += num[0].length; >- return parseInt(num[0], 10); >- }, >- // Extract a name from the string value and convert to an index >- getName = function(match, shortNames, longNames) { >- var index = -1, >- names = $.map(lookAhead(match) ? longNames : shortNames, function (v, k) { >- return [ [k, v] ]; >- }).sort(function (a, b) { >- return -(a[1].length - b[1].length); >- }); >- >- $.each(names, function (i, pair) { >- var name = pair[1]; >- if (value.substr(iValue, name.length).toLowerCase() === name.toLowerCase()) { >- index = pair[0]; >- iValue += name.length; >- return false; >- } >- }); >- if (index !== -1) { >- return index + 1; >- } else { >- throw "Unknown name at position " + iValue; >- } >- }, >- // Confirm that a literal character matches the string value >- checkLiteral = function() { >- if (value.charAt(iValue) !== format.charAt(iFormat)) { >- throw "Unexpected literal at position " + iValue; >- } >- iValue++; >- }; >- >- for (iFormat = 0; iFormat < format.length; iFormat++) { >- if (literal) { >- if (format.charAt(iFormat) === "'" && !lookAhead("'")) { >- literal = false; >- } else { >- checkLiteral(); >- } >- } else { >- switch (format.charAt(iFormat)) { >- case "d": >- day = getNumber("d"); >- break; >- case "D": >- getName("D", dayNamesShort, dayNames); >- break; >- case "o": >- doy = getNumber("o"); >- break; >- case "m": >- month = getNumber("m"); >- break; >- case "M": >- month = getName("M", monthNamesShort, monthNames); >- break; >- case "y": >- year = getNumber("y"); >- break; >- case "@": >- date = new Date(getNumber("@")); >- year = date.getFullYear(); >- month = date.getMonth() + 1; >- day = date.getDate(); >- break; >- case "!": >- date = new Date((getNumber("!") - this._ticksTo1970) / 10000); >- year = date.getFullYear(); >- month = date.getMonth() + 1; >- day = date.getDate(); >- break; >- case "'": >- if (lookAhead("'")){ >- checkLiteral(); >- } else { >- literal = true; >- } >- break; >- default: >- checkLiteral(); >- } >- } >- } >- >- if (iValue < value.length){ >- extra = value.substr(iValue); >- if (!/^\s+/.test(extra)) { >- throw "Extra/unparsed characters found in date: " + extra; >- } >- } >- >- if (year === -1) { >- year = new Date().getFullYear(); >- } else if (year < 100) { >- year += new Date().getFullYear() - new Date().getFullYear() % 100 + >- (year <= shortYearCutoff ? 0 : -100); >- } >- >- if (doy > -1) { >- month = 1; >- day = doy; >- do { >- dim = this._getDaysInMonth(year, month - 1); >- if (day <= dim) { >- break; >- } >- month++; >- day -= dim; >- } while (true); >- } >- >- date = this._daylightSavingAdjust(new Date(year, month - 1, day)); >- if (date.getFullYear() !== year || date.getMonth() + 1 !== month || date.getDate() !== day) { >- throw "Invalid date"; // E.g. 31/02/00 >- } >- return date; >- }, >- >- /* Standard date formats. */ >- ATOM: "yy-mm-dd", // RFC 3339 (ISO 8601) >- 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", // RFC 822 >- TICKS: "!", >- TIMESTAMP: "@", >- W3C: "yy-mm-dd", // ISO 8601 >- >- _ticksTo1970: (((1970 - 1) * 365 + Math.floor(1970 / 4) - Math.floor(1970 / 100) + >- Math.floor(1970 / 400)) * 24 * 60 * 60 * 10000000), >- >- /* Format a date object into a string value. >- * The format can be combinations of the following: >- * d - day of month (no leading zero) >- * dd - day of month (two digit) >- * o - day of year (no leading zeros) >- * oo - day of year (three digit) >- * D - day name short >- * DD - day name long >- * m - month of year (no leading zero) >- * mm - month of year (two digit) >- * M - month name short >- * MM - month name long >- * y - year (two digit) >- * yy - year (four digit) >- * @ - Unix timestamp (ms since 01/01/1970) >- * ! - Windows ticks (100ns since 01/01/0001) >- * "..." - literal text >- * '' - single quote >- * >- * @param format string - the desired format of the date >- * @param date Date - the date value to format >- * @param settings Object - attributes include: >- * dayNamesShort string[7] - abbreviated names of the days from Sunday (optional) >- * dayNames string[7] - names of the days from Sunday (optional) >- * monthNamesShort string[12] - abbreviated names of the months (optional) >- * monthNames string[12] - names of the months (optional) >- * @return string - the date in the above format >- */ >- formatDate: function (format, date, settings) { >- if (!date) { >- return ""; >- } >- >- var iFormat, >- dayNamesShort = (settings ? settings.dayNamesShort : null) || this._defaults.dayNamesShort, >- dayNames = (settings ? settings.dayNames : null) || this._defaults.dayNames, >- monthNamesShort = (settings ? settings.monthNamesShort : null) || this._defaults.monthNamesShort, >- monthNames = (settings ? settings.monthNames : null) || this._defaults.monthNames, >- // Check whether a format character is doubled >- lookAhead = function(match) { >- var matches = (iFormat + 1 < format.length && format.charAt(iFormat + 1) === match); >- if (matches) { >- iFormat++; >- } >- return matches; >- }, >- // Format a number, with leading zero if necessary >- formatNumber = function(match, value, len) { >- var num = "" + value; >- if (lookAhead(match)) { >- while (num.length < len) { >- num = "0" + num; >- } >- } >- return num; >- }, >- // Format a name, short or long as requested >- formatName = function(match, value, shortNames, longNames) { >- return (lookAhead(match) ? longNames[value] : shortNames[value]); >- }, >- output = "", >- literal = false; >- >- if (date) { >- for (iFormat = 0; iFormat < format.length; iFormat++) { >- if (literal) { >- if (format.charAt(iFormat) === "'" && !lookAhead("'")) { >- literal = false; >- } else { >- output += format.charAt(iFormat); >- } >- } else { >- switch (format.charAt(iFormat)) { >- case "d": >- output += formatNumber("d", date.getDate(), 2); >- break; >- case "D": >- output += formatName("D", date.getDay(), dayNamesShort, dayNames); >- break; >- case "o": >- output += formatNumber("o", >- Math.round((new Date(date.getFullYear(), date.getMonth(), date.getDate()).getTime() - new Date(date.getFullYear(), 0, 0).getTime()) / 86400000), 3); >- break; >- case "m": >- output += formatNumber("m", date.getMonth() + 1, 2); >- break; >- case "M": >- output += formatName("M", date.getMonth(), monthNamesShort, monthNames); >- break; >- case "y": >- output += (lookAhead("y") ? date.getFullYear() : >- (date.getYear() % 100 < 10 ? "0" : "") + date.getYear() % 100); >- break; >- case "@": >- output += date.getTime(); >- break; >- case "!": >- output += date.getTime() * 10000 + this._ticksTo1970; >- break; >- case "'": >- if (lookAhead("'")) { >- output += "'"; >- } else { >- literal = true; >- } >- break; >- default: >- output += format.charAt(iFormat); >- } >- } >- } >- } >- return output; >- }, >- >- /* Extract all possible characters from the date format. */ >- _possibleChars: function (format) { >- var iFormat, >- chars = "", >- literal = false, >- // Check whether a format character is doubled >- lookAhead = function(match) { >- var matches = (iFormat + 1 < format.length && format.charAt(iFormat + 1) === match); >- if (matches) { >- iFormat++; >- } >- return matches; >- }; >- >- for (iFormat = 0; iFormat < format.length; iFormat++) { >- if (literal) { >- if (format.charAt(iFormat) === "'" && !lookAhead("'")) { >- literal = false; >- } else { >- chars += format.charAt(iFormat); >- } >- } else { >- switch (format.charAt(iFormat)) { >- case "d": case "m": case "y": case "@": >- chars += "0123456789"; >- break; >- case "D": case "M": >- return null; // Accept anything >- case "'": >- if (lookAhead("'")) { >- chars += "'"; >- } else { >- literal = true; >- } >- break; >- default: >- chars += format.charAt(iFormat); >- } >- } >- } >- return chars; >- }, >- >- /* Get a setting value, defaulting if necessary. */ >- _get: function(inst, name) { >- return inst.settings[name] !== undefined ? >- inst.settings[name] : this._defaults[name]; >- }, >- >- /* Parse existing date and initialise date picker. */ >- _setDateFromField: function(inst, noDefault) { >- if (inst.input.val() === inst.lastVal) { >- return; >- } >- >- var dateFormat = this._get(inst, "dateFormat"), >- dates = inst.lastVal = inst.input ? inst.input.val() : null, >- defaultDate = this._getDefaultDate(inst), >- date = defaultDate, >- settings = this._getFormatConfig(inst); >- >- try { >- date = this.parseDate(dateFormat, dates, settings) || defaultDate; >- } catch (event) { >- dates = (noDefault ? "" : dates); >- } >- inst.selectedDay = date.getDate(); >- inst.drawMonth = inst.selectedMonth = date.getMonth(); >- inst.drawYear = inst.selectedYear = date.getFullYear(); >- inst.currentDay = (dates ? date.getDate() : 0); >- inst.currentMonth = (dates ? date.getMonth() : 0); >- inst.currentYear = (dates ? date.getFullYear() : 0); >- this._adjustInstDate(inst); >- }, >- >- /* Retrieve the default date shown on opening. */ >- _getDefaultDate: function(inst) { >- return this._restrictMinMax(inst, >- this._determineDate(inst, this._get(inst, "defaultDate"), new Date())); >- }, >- >- /* A date may be specified as an exact value or a relative one. */ >- _determineDate: function(inst, date, defaultDate) { >- var offsetNumeric = function(offset) { >- var date = new Date(); >- date.setDate(date.getDate() + offset); >- return date; >- }, >- offsetString = function(offset) { >- try { >- return $.datepicker.parseDate($.datepicker._get(inst, "dateFormat"), >- offset, $.datepicker._getFormatConfig(inst)); >- } >- catch (e) { >- // Ignore >- } >- >- var date = (offset.toLowerCase().match(/^c/) ? >- $.datepicker._getDate(inst) : null) || new Date(), >- year = date.getFullYear(), >- month = date.getMonth(), >- day = date.getDate(), >- pattern = /([+\-]?[0-9]+)\s*(d|D|w|W|m|M|y|Y)?/g, >- matches = pattern.exec(offset); >- >- while (matches) { >- switch (matches[2] || "d") { >- case "d" : case "D" : >- day += parseInt(matches[1],10); break; >- case "w" : case "W" : >- day += parseInt(matches[1],10) * 7; break; >- case "m" : case "M" : >- month += parseInt(matches[1],10); >- day = Math.min(day, $.datepicker._getDaysInMonth(year, month)); >- break; >- case "y": case "Y" : >- year += parseInt(matches[1],10); >- day = Math.min(day, $.datepicker._getDaysInMonth(year, month)); >- break; >- } >- matches = pattern.exec(offset); >- } >- return new Date(year, month, day); >- }, >- newDate = (date == null || date === "" ? defaultDate : (typeof date === "string" ? offsetString(date) : >- (typeof date === "number" ? (isNaN(date) ? defaultDate : offsetNumeric(date)) : new Date(date.getTime())))); >- >- newDate = (newDate && newDate.toString() === "Invalid Date" ? defaultDate : newDate); >- if (newDate) { >- newDate.setHours(0); >- newDate.setMinutes(0); >- newDate.setSeconds(0); >- newDate.setMilliseconds(0); >- } >- return this._daylightSavingAdjust(newDate); >- }, >- >- /* Handle switch to/from daylight saving. >- * Hours may be non-zero on daylight saving cut-over: >- * > 12 when midnight changeover, but then cannot generate >- * midnight datetime, so jump to 1AM, otherwise reset. >- * @param date (Date) the date to check >- * @return (Date) the corrected date >- */ >- _daylightSavingAdjust: function(date) { >- if (!date) { >- return null; >- } >- date.setHours(date.getHours() > 12 ? date.getHours() + 2 : 0); >- return date; >- }, >- >- /* Set the date(s) directly. */ >- _setDate: function(inst, date, noChange) { >- var clear = !date, >- origMonth = inst.selectedMonth, >- origYear = inst.selectedYear, >- newDate = this._restrictMinMax(inst, this._determineDate(inst, date, new Date())); >- >- inst.selectedDay = inst.currentDay = newDate.getDate(); >- inst.drawMonth = inst.selectedMonth = inst.currentMonth = newDate.getMonth(); >- inst.drawYear = inst.selectedYear = inst.currentYear = newDate.getFullYear(); >- if ((origMonth !== inst.selectedMonth || origYear !== inst.selectedYear) && !noChange) { >- this._notifyChange(inst); >- } >- this._adjustInstDate(inst); >- if (inst.input) { >- inst.input.val(clear ? "" : this._formatDate(inst)); >- } >- }, >- >- /* Retrieve the date(s) directly. */ >- _getDate: function(inst) { >- var startDate = (!inst.currentYear || (inst.input && inst.input.val() === "") ? null : >- this._daylightSavingAdjust(new Date( >- inst.currentYear, inst.currentMonth, inst.currentDay))); >- return startDate; >- }, >- >- /* Attach the onxxx handlers. These are declared statically so >- * they work with static code transformers like Caja. >- */ >- _attachHandlers: function(inst) { >- var stepMonths = this._get(inst, "stepMonths"), >- id = "#" + inst.id.replace( /\\\\/g, "\\" ); >- inst.dpDiv.find("[data-handler]").map(function () { >- var handler = { >- prev: function () { >- $.datepicker._adjustDate(id, -stepMonths, "M"); >- }, >- next: function () { >- $.datepicker._adjustDate(id, +stepMonths, "M"); >- }, >- hide: function () { >- $.datepicker._hideDatepicker(); >- }, >- today: function () { >- $.datepicker._gotoToday(id); >- }, >- selectDay: function () { >- $.datepicker._selectDay(id, +this.getAttribute("data-month"), +this.getAttribute("data-year"), this); >- return false; >- }, >- selectMonth: function () { >- $.datepicker._selectMonthYear(id, this, "M"); >- return false; >- }, >- selectYear: function () { >- $.datepicker._selectMonthYear(id, this, "Y"); >- return false; >- } >- }; >- $(this).bind(this.getAttribute("data-event"), handler[this.getAttribute("data-handler")]); >- }); >- }, >- >- /* Generate the HTML for the current state of the date picker. */ >- _generateHTML: function(inst) { >- var maxDraw, prevText, prev, nextText, next, currentText, gotoDate, >- controls, buttonPanel, firstDay, showWeek, dayNames, dayNamesMin, >- monthNames, monthNamesShort, beforeShowDay, showOtherMonths, >- selectOtherMonths, defaultDate, html, dow, row, group, col, selectedDate, >- cornerClass, calender, thead, day, daysInMonth, leadDays, curRows, numRows, >- printDate, dRow, tbody, daySettings, otherMonth, unselectable, >- tempDate = new Date(), >- today = this._daylightSavingAdjust( >- new Date(tempDate.getFullYear(), tempDate.getMonth(), tempDate.getDate())), // clear time >- isRTL = this._get(inst, "isRTL"), >- showButtonPanel = this._get(inst, "showButtonPanel"), >- hideIfNoPrevNext = this._get(inst, "hideIfNoPrevNext"), >- navigationAsDateFormat = this._get(inst, "navigationAsDateFormat"), >- numMonths = this._getNumberOfMonths(inst), >- showCurrentAtPos = this._get(inst, "showCurrentAtPos"), >- stepMonths = this._get(inst, "stepMonths"), >- isMultiMonth = (numMonths[0] !== 1 || numMonths[1] !== 1), >- currentDate = this._daylightSavingAdjust((!inst.currentDay ? new Date(9999, 9, 9) : >- new Date(inst.currentYear, inst.currentMonth, inst.currentDay))), >- minDate = this._getMinMaxDate(inst, "min"), >- maxDate = this._getMinMaxDate(inst, "max"), >- drawMonth = inst.drawMonth - showCurrentAtPos, >- drawYear = inst.drawYear; >- >- if (drawMonth < 0) { >- drawMonth += 12; >- drawYear--; >- } >- if (maxDate) { >- maxDraw = this._daylightSavingAdjust(new Date(maxDate.getFullYear(), >- maxDate.getMonth() - (numMonths[0] * numMonths[1]) + 1, maxDate.getDate())); >- maxDraw = (minDate && maxDraw < minDate ? minDate : maxDraw); >- while (this._daylightSavingAdjust(new Date(drawYear, drawMonth, 1)) > maxDraw) { >- drawMonth--; >- if (drawMonth < 0) { >- drawMonth = 11; >- drawYear--; >- } >- } >- } >- inst.drawMonth = drawMonth; >- inst.drawYear = drawYear; >- >- prevText = this._get(inst, "prevText"); >- prevText = (!navigationAsDateFormat ? prevText : this.formatDate(prevText, >- this._daylightSavingAdjust(new Date(drawYear, drawMonth - stepMonths, 1)), >- this._getFormatConfig(inst))); >- >- prev = (this._canAdjustMonth(inst, -1, drawYear, drawMonth) ? >- "<a class='ui-datepicker-prev ui-corner-all' data-handler='prev' data-event='click'" + >- " title='" + prevText + "'><span class='ui-icon ui-icon-circle-triangle-" + ( isRTL ? "e" : "w") + "'>" + prevText + "</span></a>" : >- (hideIfNoPrevNext ? "" : "<a class='ui-datepicker-prev ui-corner-all ui-state-disabled' title='"+ prevText +"'><span class='ui-icon ui-icon-circle-triangle-" + ( isRTL ? "e" : "w") + "'>" + prevText + "</span></a>")); >- >- nextText = this._get(inst, "nextText"); >- nextText = (!navigationAsDateFormat ? nextText : this.formatDate(nextText, >- this._daylightSavingAdjust(new Date(drawYear, drawMonth + stepMonths, 1)), >- this._getFormatConfig(inst))); >- >- next = (this._canAdjustMonth(inst, +1, drawYear, drawMonth) ? >- "<a class='ui-datepicker-next ui-corner-all' data-handler='next' data-event='click'" + >- " title='" + nextText + "'><span class='ui-icon ui-icon-circle-triangle-" + ( isRTL ? "w" : "e") + "'>" + nextText + "</span></a>" : >- (hideIfNoPrevNext ? "" : "<a class='ui-datepicker-next ui-corner-all ui-state-disabled' title='"+ nextText + "'><span class='ui-icon ui-icon-circle-triangle-" + ( isRTL ? "w" : "e") + "'>" + nextText + "</span></a>")); >- >- currentText = this._get(inst, "currentText"); >- gotoDate = (this._get(inst, "gotoCurrent") && inst.currentDay ? currentDate : today); >- currentText = (!navigationAsDateFormat ? currentText : >- this.formatDate(currentText, gotoDate, this._getFormatConfig(inst))); >- >- controls = (!inst.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(inst, "closeText") + "</button>" : ""); >- >- buttonPanel = (showButtonPanel) ? "<div class='ui-datepicker-buttonpane ui-widget-content'>" + (isRTL ? controls : "") + >- (this._isInRange(inst, gotoDate) ? "<button type='button' class='ui-datepicker-current ui-state-default ui-priority-secondary ui-corner-all' data-handler='today' data-event='click'" + >- ">" + currentText + "</button>" : "") + (isRTL ? "" : controls) + "</div>" : ""; >- >- firstDay = parseInt(this._get(inst, "firstDay"),10); >- firstDay = (isNaN(firstDay) ? 0 : firstDay); >- >- showWeek = this._get(inst, "showWeek"); >- dayNames = this._get(inst, "dayNames"); >- dayNamesMin = this._get(inst, "dayNamesMin"); >- monthNames = this._get(inst, "monthNames"); >- monthNamesShort = this._get(inst, "monthNamesShort"); >- beforeShowDay = this._get(inst, "beforeShowDay"); >- showOtherMonths = this._get(inst, "showOtherMonths"); >- selectOtherMonths = this._get(inst, "selectOtherMonths"); >- defaultDate = this._getDefaultDate(inst); >- html = ""; >- dow; >- for (row = 0; row < numMonths[0]; row++) { >- group = ""; >- this.maxRows = 4; >- for (col = 0; col < numMonths[1]; col++) { >- selectedDate = this._daylightSavingAdjust(new Date(drawYear, drawMonth, inst.selectedDay)); >- cornerClass = " ui-corner-all"; >- calender = ""; >- if (isMultiMonth) { >- calender += "<div class='ui-datepicker-group"; >- if (numMonths[1] > 1) { >- switch (col) { >- case 0: calender += " ui-datepicker-group-first"; >- cornerClass = " ui-corner-" + (isRTL ? "right" : "left"); break; >- case numMonths[1]-1: calender += " ui-datepicker-group-last"; >- cornerClass = " ui-corner-" + (isRTL ? "left" : "right"); break; >- default: calender += " ui-datepicker-group-middle"; cornerClass = ""; break; >- } >- } >- calender += "'>"; >- } >- calender += "<div class='ui-datepicker-header ui-widget-header ui-helper-clearfix" + cornerClass + "'>" + >- (/all|left/.test(cornerClass) && row === 0 ? (isRTL ? next : prev) : "") + >- (/all|right/.test(cornerClass) && row === 0 ? (isRTL ? prev : next) : "") + >- this._generateMonthYearHeader(inst, drawMonth, drawYear, minDate, maxDate, >- row > 0 || col > 0, monthNames, monthNamesShort) + // draw month headers >- "</div><table class='ui-datepicker-calendar'><thead>" + >- "<tr>"; >- thead = (showWeek ? "<th class='ui-datepicker-week-col'>" + this._get(inst, "weekHeader") + "</th>" : ""); >- for (dow = 0; dow < 7; dow++) { // days of the week >- day = (dow + firstDay) % 7; >- thead += "<th scope='col'" + ((dow + firstDay + 6) % 7 >= 5 ? " class='ui-datepicker-week-end'" : "") + ">" + >- "<span title='" + dayNames[day] + "'>" + dayNamesMin[day] + "</span></th>"; >- } >- calender += thead + "</tr></thead><tbody>"; >- daysInMonth = this._getDaysInMonth(drawYear, drawMonth); >- if (drawYear === inst.selectedYear && drawMonth === inst.selectedMonth) { >- inst.selectedDay = Math.min(inst.selectedDay, daysInMonth); >- } >- leadDays = (this._getFirstDayOfMonth(drawYear, drawMonth) - firstDay + 7) % 7; >- curRows = Math.ceil((leadDays + daysInMonth) / 7); // calculate the number of rows to generate >- numRows = (isMultiMonth ? this.maxRows > curRows ? this.maxRows : curRows : curRows); //If multiple months, use the higher number of rows (see #7043) >- this.maxRows = numRows; >- printDate = this._daylightSavingAdjust(new Date(drawYear, drawMonth, 1 - leadDays)); >- for (dRow = 0; dRow < numRows; dRow++) { // create date picker rows >- calender += "<tr>"; >- tbody = (!showWeek ? "" : "<td class='ui-datepicker-week-col'>" + >- this._get(inst, "calculateWeek")(printDate) + "</td>"); >- for (dow = 0; dow < 7; dow++) { // create date picker days >- daySettings = (beforeShowDay ? >- beforeShowDay.apply((inst.input ? inst.input[0] : null), [printDate]) : [true, ""]); >- otherMonth = (printDate.getMonth() !== drawMonth); >- unselectable = (otherMonth && !selectOtherMonths) || !daySettings[0] || >- (minDate && printDate < minDate) || (maxDate && printDate > maxDate); >- tbody += "<td class='" + >- ((dow + firstDay + 6) % 7 >= 5 ? " ui-datepicker-week-end" : "") + // highlight weekends >- (otherMonth ? " ui-datepicker-other-month" : "") + // highlight days from other months >- ((printDate.getTime() === selectedDate.getTime() && drawMonth === inst.selectedMonth && inst._keyEvent) || // user pressed key >- (defaultDate.getTime() === printDate.getTime() && defaultDate.getTime() === selectedDate.getTime()) ? >- // or defaultDate is current printedDate and defaultDate is selectedDate >- " " + this._dayOverClass : "") + // highlight selected day >- (unselectable ? " " + this._unselectableClass + " ui-state-disabled": "") + // highlight unselectable days >- (otherMonth && !showOtherMonths ? "" : " " + daySettings[1] + // highlight custom dates >- (printDate.getTime() === currentDate.getTime() ? " " + this._currentClass : "") + // highlight selected day >- (printDate.getTime() === today.getTime() ? " ui-datepicker-today" : "")) + "'" + // highlight today (if different) >- ((!otherMonth || showOtherMonths) && daySettings[2] ? " title='" + daySettings[2].replace(/'/g, "'") + "'" : "") + // cell title >- (unselectable ? "" : " data-handler='selectDay' data-event='click' data-month='" + printDate.getMonth() + "' data-year='" + printDate.getFullYear() + "'") + ">" + // actions >- (otherMonth && !showOtherMonths ? " " : // display for other months >- (unselectable ? "<span class='ui-state-default'>" + printDate.getDate() + "</span>" : "<a class='ui-state-default" + >- (printDate.getTime() === today.getTime() ? " ui-state-highlight" : "") + >- (printDate.getTime() === currentDate.getTime() ? " ui-state-active" : "") + // highlight selected day >- (otherMonth ? " ui-priority-secondary" : "") + // distinguish dates from other months >- "' href='#'>" + printDate.getDate() + "</a>")) + "</td>"; // display selectable date >- printDate.setDate(printDate.getDate() + 1); >- printDate = this._daylightSavingAdjust(printDate); >- } >- calender += tbody + "</tr>"; >- } >- drawMonth++; >- if (drawMonth > 11) { >- drawMonth = 0; >- drawYear++; >- } >- calender += "</tbody></table>" + (isMultiMonth ? "</div>" + >- ((numMonths[0] > 0 && col === numMonths[1]-1) ? "<div class='ui-datepicker-row-break'></div>" : "") : ""); >- group += calender; >- } >- html += group; >- } >- html += buttonPanel; >- inst._keyEvent = false; >- return html; >- }, >- >- /* Generate the month and year header. */ >- _generateMonthYearHeader: function(inst, drawMonth, drawYear, minDate, maxDate, >- secondary, monthNames, monthNamesShort) { >- >- var inMinYear, inMaxYear, month, years, thisYear, determineYear, year, endYear, >- changeMonth = this._get(inst, "changeMonth"), >- changeYear = this._get(inst, "changeYear"), >- showMonthAfterYear = this._get(inst, "showMonthAfterYear"), >- html = "<div class='ui-datepicker-title'>", >- monthHtml = ""; >- >- // month selection >- if (secondary || !changeMonth) { >- monthHtml += "<span class='ui-datepicker-month'>" + monthNames[drawMonth] + "</span>"; >- } else { >- inMinYear = (minDate && minDate.getFullYear() === drawYear); >- inMaxYear = (maxDate && maxDate.getFullYear() === drawYear); >- monthHtml += "<select class='ui-datepicker-month' data-handler='selectMonth' data-event='change'>"; >- for ( month = 0; month < 12; month++) { >- if ((!inMinYear || month >= minDate.getMonth()) && (!inMaxYear || month <= maxDate.getMonth())) { >- monthHtml += "<option value='" + month + "'" + >- (month === drawMonth ? " selected='selected'" : "") + >- ">" + monthNamesShort[month] + "</option>"; >- } >- } >- monthHtml += "</select>"; >- } >- >- if (!showMonthAfterYear) { >- html += monthHtml + (secondary || !(changeMonth && changeYear) ? " " : ""); >- } >- >- // year selection >- if ( !inst.yearshtml ) { >- inst.yearshtml = ""; >- if (secondary || !changeYear) { >- html += "<span class='ui-datepicker-year'>" + drawYear + "</span>"; >- } else { >- // determine range of years to display >- years = this._get(inst, "yearRange").split(":"); >- thisYear = new Date().getFullYear(); >- determineYear = function(value) { >- var year = (value.match(/c[+\-].*/) ? drawYear + parseInt(value.substring(1), 10) : >- (value.match(/[+\-].*/) ? thisYear + parseInt(value, 10) : >- parseInt(value, 10))); >- return (isNaN(year) ? thisYear : year); >- }; >- year = determineYear(years[0]); >- endYear = Math.max(year, determineYear(years[1] || "")); >- year = (minDate ? Math.max(year, minDate.getFullYear()) : year); >- endYear = (maxDate ? Math.min(endYear, maxDate.getFullYear()) : endYear); >- inst.yearshtml += "<select class='ui-datepicker-year' data-handler='selectYear' data-event='change'>"; >- for (; year <= endYear; year++) { >- inst.yearshtml += "<option value='" + year + "'" + >- (year === drawYear ? " selected='selected'" : "") + >- ">" + year + "</option>"; >- } >- inst.yearshtml += "</select>"; >- >- html += inst.yearshtml; >- inst.yearshtml = null; >- } >- } >- >- html += this._get(inst, "yearSuffix"); >- if (showMonthAfterYear) { >- html += (secondary || !(changeMonth && changeYear) ? " " : "") + monthHtml; >- } >- html += "</div>"; // Close datepicker_header >- return html; >- }, >- >- /* Adjust one of the date sub-fields. */ >- _adjustInstDate: function(inst, offset, period) { >- var year = inst.drawYear + (period === "Y" ? offset : 0), >- month = inst.drawMonth + (period === "M" ? offset : 0), >- day = Math.min(inst.selectedDay, this._getDaysInMonth(year, month)) + (period === "D" ? offset : 0), >- date = this._restrictMinMax(inst, this._daylightSavingAdjust(new Date(year, month, day))); >- >- inst.selectedDay = date.getDate(); >- inst.drawMonth = inst.selectedMonth = date.getMonth(); >- inst.drawYear = inst.selectedYear = date.getFullYear(); >- if (period === "M" || period === "Y") { >- this._notifyChange(inst); >- } >- }, >- >- /* Ensure a date is within any min/max bounds. */ >- _restrictMinMax: function(inst, date) { >- var minDate = this._getMinMaxDate(inst, "min"), >- maxDate = this._getMinMaxDate(inst, "max"), >- newDate = (minDate && date < minDate ? minDate : date); >- return (maxDate && newDate > maxDate ? maxDate : newDate); >- }, >- >- /* Notify change of month/year. */ >- _notifyChange: function(inst) { >- var onChange = this._get(inst, "onChangeMonthYear"); >- if (onChange) { >- onChange.apply((inst.input ? inst.input[0] : null), >- [inst.selectedYear, inst.selectedMonth + 1, inst]); >- } >- }, >- >- /* Determine the number of months to show. */ >- _getNumberOfMonths: function(inst) { >- var numMonths = this._get(inst, "numberOfMonths"); >- return (numMonths == null ? [1, 1] : (typeof numMonths === "number" ? [1, numMonths] : numMonths)); >- }, >- >- /* Determine the current maximum date - ensure no time components are set. */ >- _getMinMaxDate: function(inst, minMax) { >- return this._determineDate(inst, this._get(inst, minMax + "Date"), null); >- }, >- >- /* Find the number of days in a given month. */ >- _getDaysInMonth: function(year, month) { >- return 32 - this._daylightSavingAdjust(new Date(year, month, 32)).getDate(); >- }, >- >- /* Find the day of the week of the first of a month. */ >- _getFirstDayOfMonth: function(year, month) { >- return new Date(year, month, 1).getDay(); >- }, >- >- /* Determines if we should allow a "next/prev" month display change. */ >- _canAdjustMonth: function(inst, offset, curYear, curMonth) { >- var numMonths = this._getNumberOfMonths(inst), >- date = this._daylightSavingAdjust(new Date(curYear, >- curMonth + (offset < 0 ? offset : numMonths[0] * numMonths[1]), 1)); >- >- if (offset < 0) { >- date.setDate(this._getDaysInMonth(date.getFullYear(), date.getMonth())); >- } >- return this._isInRange(inst, date); >- }, >- >- /* Is the given date in the accepted range? */ >- _isInRange: function(inst, date) { >- var yearSplit, currentYear, >- minDate = this._getMinMaxDate(inst, "min"), >- maxDate = this._getMinMaxDate(inst, "max"), >- minYear = null, >- maxYear = null, >- years = this._get(inst, "yearRange"); >- if (years){ >- yearSplit = years.split(":"); >- currentYear = new Date().getFullYear(); >- minYear = parseInt(yearSplit[0], 10); >- maxYear = parseInt(yearSplit[1], 10); >- if ( yearSplit[0].match(/[+\-].*/) ) { >- minYear += currentYear; >- } >- if ( yearSplit[1].match(/[+\-].*/) ) { >- maxYear += currentYear; >- } >- } >- >- return ((!minDate || date.getTime() >= minDate.getTime()) && >- (!maxDate || date.getTime() <= maxDate.getTime()) && >- (!minYear || date.getFullYear() >= minYear) && >- (!maxYear || date.getFullYear() <= maxYear)); >- }, >- >- /* Provide the configuration settings for formatting/parsing. */ >- _getFormatConfig: function(inst) { >- var shortYearCutoff = this._get(inst, "shortYearCutoff"); >- shortYearCutoff = (typeof shortYearCutoff !== "string" ? shortYearCutoff : >- new Date().getFullYear() % 100 + parseInt(shortYearCutoff, 10)); >- return {shortYearCutoff: shortYearCutoff, >- dayNamesShort: this._get(inst, "dayNamesShort"), dayNames: this._get(inst, "dayNames"), >- monthNamesShort: this._get(inst, "monthNamesShort"), monthNames: this._get(inst, "monthNames")}; >- }, >- >- /* Format the given date for display. */ >- _formatDate: function(inst, day, month, year) { >- if (!day) { >- inst.currentDay = inst.selectedDay; >- inst.currentMonth = inst.selectedMonth; >- inst.currentYear = inst.selectedYear; >- } >- var date = (day ? (typeof day === "object" ? day : >- this._daylightSavingAdjust(new Date(year, month, day))) : >- this._daylightSavingAdjust(new Date(inst.currentYear, inst.currentMonth, inst.currentDay))); >- return this.formatDate(this._get(inst, "dateFormat"), date, this._getFormatConfig(inst)); >- } >-}); >- >-/* >- * Bind hover events for datepicker elements. >- * Done via delegate so the binding only occurs once in the lifetime of the parent div. >- * Global datepicker_instActive, set by _updateDatepicker allows the handlers to find their way back to the active picker. >- */ >-function datepicker_bindHover(dpDiv) { >- var selector = "button, .ui-datepicker-prev, .ui-datepicker-next, .ui-datepicker-calendar td a"; >- return dpDiv.delegate(selector, "mouseout", function() { >- $(this).removeClass("ui-state-hover"); >- if (this.className.indexOf("ui-datepicker-prev") !== -1) { >- $(this).removeClass("ui-datepicker-prev-hover"); >- } >- if (this.className.indexOf("ui-datepicker-next") !== -1) { >- $(this).removeClass("ui-datepicker-next-hover"); >- } >- }) >- .delegate( selector, "mouseover", datepicker_handleMouseover ); >-} >- >-function datepicker_handleMouseover() { >- if (!$.datepicker._isDisabledDatepicker( datepicker_instActive.inline? datepicker_instActive.dpDiv.parent()[0] : datepicker_instActive.input[0])) { >- $(this).parents(".ui-datepicker-calendar").find("a").removeClass("ui-state-hover"); >- $(this).addClass("ui-state-hover"); >- if (this.className.indexOf("ui-datepicker-prev") !== -1) { >- $(this).addClass("ui-datepicker-prev-hover"); >- } >- if (this.className.indexOf("ui-datepicker-next") !== -1) { >- $(this).addClass("ui-datepicker-next-hover"); >- } >- } >-} >- >-/* jQuery extend now ignores nulls! */ >-function datepicker_extendRemove(target, props) { >- $.extend(target, props); >- for (var name in props) { >- if (props[name] == null) { >- target[name] = props[name]; >- } >- } >- return target; >-} >- >-/* Invoke the datepicker functionality. >- @param options string - a command, optionally followed by additional parameters or >- Object - settings for attaching new datepicker functionality >- @return jQuery object */ >-$.fn.datepicker = function(options){ >- >- /* Verify an empty collection wasn't passed - Fixes #6976 */ >- if ( !this.length ) { >- return this; >- } >- >- /* Initialise the date picker. */ >- if (!$.datepicker.initialized) { >- $(document).mousedown($.datepicker._checkExternalClick); >- $.datepicker.initialized = true; >- } >- >- /* Append datepicker main container to body if not exist. */ >- if ($("#"+$.datepicker._mainDivId).length === 0) { >- $("body").append($.datepicker.dpDiv); >- } >- >- var otherArgs = Array.prototype.slice.call(arguments, 1); >- if (typeof options === "string" && (options === "isDisabled" || options === "getDate" || options === "widget")) { >- return $.datepicker["_" + options + "Datepicker"]. >- apply($.datepicker, [this[0]].concat(otherArgs)); >- } >- if (options === "option" && arguments.length === 2 && typeof arguments[1] === "string") { >- return $.datepicker["_" + options + "Datepicker"]. >- apply($.datepicker, [this[0]].concat(otherArgs)); >- } >- return this.each(function() { >- typeof options === "string" ? >- $.datepicker["_" + options + "Datepicker"]. >- apply($.datepicker, [this].concat(otherArgs)) : >- $.datepicker._attachDatepicker(this, options); >- }); >-}; >- >-$.datepicker = new Datepicker(); // singleton instance >-$.datepicker.initialized = false; >-$.datepicker.uuid = new Date().getTime(); >-$.datepicker.version = "1.11.4"; >- >-var datepicker = $.datepicker; >- >- >-/*! >- * jQuery UI Progressbar 1.11.4 >- * http://jqueryui.com >- * >- * Copyright jQuery Foundation and other contributors >- * Released under the MIT license. >- * http://jquery.org/license >- * >- * http://api.jqueryui.com/progressbar/ >- */ >- >- >-var progressbar = $.widget( "ui.progressbar", { >- version: "1.11.4", >- options: { >- max: 100, >- value: 0, >- >- change: null, >- complete: null >- }, >- >- min: 0, >- >- _create: function() { >- // Constrain initial value >- this.oldValue = this.options.value = this._constrainedValue(); >- >- this.element >- .addClass( "ui-progressbar ui-widget ui-widget-content ui-corner-all" ) >- .attr({ >- // Only set static values, aria-valuenow and aria-valuemax are >- // set inside _refreshValue() >- role: "progressbar", >- "aria-valuemin": this.min >- }); >- >- this.valueDiv = $( "<div class='ui-progressbar-value ui-widget-header ui-corner-left'></div>" ) >- .appendTo( this.element ); >- >- 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(); >- }, >- >- value: function( newValue ) { >- if ( newValue === undefined ) { >- return this.options.value; >- } >- >- this.options.value = this._constrainedValue( newValue ); >- this._refreshValue(); >- }, >- >- _constrainedValue: function( newValue ) { >- if ( newValue === undefined ) { >- newValue = this.options.value; >- } >- >- this.indeterminate = newValue === false; >- >- // sanitize value >- if ( typeof newValue !== "number" ) { >- newValue = 0; >- } >- >- return this.indeterminate ? false : >- Math.min( this.options.max, Math.max( this.min, newValue ) ); >- }, >- >- _setOptions: function( options ) { >- // Ensure "value" option is set after other values (like max) >- var value = options.value; >- delete options.value; >- >- this._super( options ); >- >- this.options.value = this._constrainedValue( value ); >- this._refreshValue(); >- }, >- >- _setOption: function( key, value ) { >- if ( key === "max" ) { >- // Don't allow a max less than min >- value = Math.max( this.min, value ); >- } >- if ( key === "disabled" ) { >- this.element >- .toggleClass( "ui-state-disabled", !!value ) >- .attr( "aria-disabled", value ); >- } >- this._super( key, value ); >- }, >- >- _percentage: function() { >- return this.indeterminate ? 100 : 100 * ( this.options.value - this.min ) / ( this.options.max - this.min ); >- }, >- >- _refreshValue: function() { >- var value = this.options.value, >- percentage = this._percentage(); >- >- this.valueDiv >- .toggle( this.indeterminate || value > this.min ) >- .toggleClass( "ui-corner-right", value === this.options.max ) >- .width( percentage.toFixed(0) + "%" ); >- >- this.element.toggleClass( "ui-progressbar-indeterminate", this.indeterminate ); >- >- if ( this.indeterminate ) { >- this.element.removeAttr( "aria-valuenow" ); >- if ( !this.overlayDiv ) { >- this.overlayDiv = $( "<div class='ui-progressbar-overlay'></div>" ).appendTo( this.valueDiv ); >- } >- } else { >- this.element.attr({ >- "aria-valuemax": this.options.max, >- "aria-valuenow": value >- }); >- if ( this.overlayDiv ) { >- this.overlayDiv.remove(); >- this.overlayDiv = null; >- } >- } >- >- if ( this.oldValue !== value ) { >- this.oldValue = value; >- this._trigger( "change" ); >- } >- if ( value === this.options.max ) { >- this._trigger( "complete" ); >- } >- } >-}); >- >- >-/*! >- * jQuery UI Slider 1.11.4 >- * http://jqueryui.com >- * >- * Copyright jQuery Foundation and other contributors >- * Released under the MIT license. >- * http://jquery.org/license >- * >- * http://api.jqueryui.com/slider/ >- */ >- >- >-var slider = $.widget( "ui.slider", $.ui.mouse, { >- version: "1.11.4", >- widgetEventPrefix: "slide", >- >- options: { >- animate: false, >- distance: 0, >- max: 100, >- min: 0, >- orientation: "horizontal", >- range: false, >- step: 1, >- value: 0, >- values: null, >- >- // callbacks >- change: null, >- slide: null, >- start: null, >- stop: null >- }, >- >- // number of pages in a slider >- // (how many times can you page up/down to go through the whole range) >- numPages: 5, >- >- _create: function() { >- this._keySliding = false; >- this._mouseSliding = false; >- this._animateOff = true; >- this._handleIndex = null; >- this._detectOrientation(); >- this._mouseInit(); >- this._calculateNewMax(); >- >- this.element >- .addClass( "ui-slider" + >- " ui-slider-" + this.orientation + >- " ui-widget" + >- " ui-widget-content" + >- " ui-corner-all"); >- >- this._refresh(); >- this._setOption( "disabled", this.options.disabled ); >- >- this._animateOff = false; >- }, >- >- _refresh: function() { >- this._createRange(); >- this._createHandles(); >- this._setupEvents(); >- this._refreshValue(); >- }, >- >- _createHandles: function() { >- var i, handleCount, >- options = this.options, >- existingHandles = this.element.find( ".ui-slider-handle" ).addClass( "ui-state-default ui-corner-all" ), >- handle = "<span class='ui-slider-handle ui-state-default ui-corner-all' tabindex='0'></span>", >- handles = []; >- >- handleCount = ( options.values && options.values.length ) || 1; >- >- if ( existingHandles.length > handleCount ) { >- existingHandles.slice( handleCount ).remove(); >- existingHandles = existingHandles.slice( 0, handleCount ); >- } >- >- for ( i = existingHandles.length; i < handleCount; i++ ) { >- handles.push( handle ); >- } >- >- this.handles = existingHandles.add( $( handles.join( "" ) ).appendTo( this.element ) ); >- >- this.handle = this.handles.eq( 0 ); >- >- this.handles.each(function( i ) { >- $( this ).data( "ui-slider-handle-index", i ); >- }); >- }, >- >- _createRange: function() { >- var options = this.options, >- classes = ""; >- >- if ( options.range ) { >- if ( options.range === true ) { >- if ( !options.values ) { >- options.values = [ this._valueMin(), this._valueMin() ]; >- } else if ( options.values.length && options.values.length !== 2 ) { >- options.values = [ options.values[0], options.values[0] ]; >- } else if ( $.isArray( options.values ) ) { >- options.values = options.values.slice(0); >- } >- } >- >- if ( !this.range || !this.range.length ) { >- this.range = $( "<div></div>" ) >- .appendTo( this.element ); >- >- classes = "ui-slider-range" + >- // note: this isn't the most fittingly semantic framework class for this element, >- // but worked best visually with a variety of themes >- " ui-widget-header ui-corner-all"; >- } else { >- this.range.removeClass( "ui-slider-range-min ui-slider-range-max" ) >- // Handle range switching from true to min/max >- .css({ >- "left": "", >- "bottom": "" >- }); >- } >- >- this.range.addClass( classes + >- ( ( options.range === "min" || options.range === "max" ) ? " ui-slider-range-" + options.range : "" ) ); >- } else { >- if ( this.range ) { >- this.range.remove(); >- } >- this.range = null; >- } >- }, >- >- _setupEvents: function() { >- this._off( this.handles ); >- this._on( this.handles, this._handleEvents ); >- this._hoverable( this.handles ); >- this._focusable( this.handles ); >- }, >- >- _destroy: function() { >- this.handles.remove(); >- if ( this.range ) { >- this.range.remove(); >- } >- >- this.element >- .removeClass( "ui-slider" + >- " ui-slider-horizontal" + >- " ui-slider-vertical" + >- " ui-widget" + >- " ui-widget-content" + >- " ui-corner-all" ); >- >- this._mouseDestroy(); >- }, >- >- _mouseCapture: function( event ) { >- var position, normValue, distance, closestHandle, index, allowed, offset, mouseOverHandle, >- that = this, >- o = this.options; >- >- if ( o.disabled ) { >- return false; >- } >- >- this.elementSize = { >- width: this.element.outerWidth(), >- height: this.element.outerHeight() >- }; >- this.elementOffset = this.element.offset(); >- >- position = { x: event.pageX, y: event.pageY }; >- normValue = this._normValueFromMouse( position ); >- distance = this._valueMax() - this._valueMin() + 1; >- this.handles.each(function( i ) { >- var thisDistance = Math.abs( normValue - that.values(i) ); >- if (( distance > thisDistance ) || >- ( distance === thisDistance && >- (i === that._lastChangedValue || that.values(i) === o.min ))) { >- distance = thisDistance; >- closestHandle = $( this ); >- index = i; >- } >- }); >- >- allowed = this._start( event, index ); >- if ( allowed === false ) { >- return false; >- } >- this._mouseSliding = true; >- >- this._handleIndex = index; >- >- closestHandle >- .addClass( "ui-state-active" ) >- .focus(); >- >- offset = closestHandle.offset(); >- mouseOverHandle = !$( event.target ).parents().addBack().is( ".ui-slider-handle" ); >- this._clickOffset = mouseOverHandle ? { left: 0, top: 0 } : { >- left: event.pageX - offset.left - ( closestHandle.width() / 2 ), >- top: event.pageY - offset.top - >- ( closestHandle.height() / 2 ) - >- ( parseInt( closestHandle.css("borderTopWidth"), 10 ) || 0 ) - >- ( parseInt( closestHandle.css("borderBottomWidth"), 10 ) || 0) + >- ( parseInt( closestHandle.css("marginTop"), 10 ) || 0) >- }; >- >- if ( !this.handles.hasClass( "ui-state-hover" ) ) { >- this._slide( event, index, normValue ); >- } >- this._animateOff = true; >- return true; >- }, >- >- _mouseStart: function() { >- return true; >- }, >- >- _mouseDrag: function( event ) { >- var position = { x: event.pageX, y: event.pageY }, >- normValue = this._normValueFromMouse( position ); >- >- this._slide( event, this._handleIndex, normValue ); >- >- return false; >- }, >- >- _mouseStop: function( event ) { >- this.handles.removeClass( "ui-state-active" ); >- this._mouseSliding = false; >- >- this._stop( event, this._handleIndex ); >- this._change( event, this._handleIndex ); >- >- this._handleIndex = null; >- this._clickOffset = null; >- this._animateOff = false; >- >- return false; >- }, >- >- _detectOrientation: function() { >- this.orientation = ( this.options.orientation === "vertical" ) ? "vertical" : "horizontal"; >- }, >- >- _normValueFromMouse: function( position ) { >- var pixelTotal, >- pixelMouse, >- percentMouse, >- valueTotal, >- valueMouse; >- >- if ( this.orientation === "horizontal" ) { >- pixelTotal = this.elementSize.width; >- pixelMouse = position.x - this.elementOffset.left - ( this._clickOffset ? this._clickOffset.left : 0 ); >- } else { >- pixelTotal = this.elementSize.height; >- pixelMouse = position.y - this.elementOffset.top - ( this._clickOffset ? this._clickOffset.top : 0 ); >- } >- >- percentMouse = ( pixelMouse / pixelTotal ); >- if ( percentMouse > 1 ) { >- percentMouse = 1; >- } >- if ( percentMouse < 0 ) { >- percentMouse = 0; >- } >- if ( this.orientation === "vertical" ) { >- percentMouse = 1 - percentMouse; >- } >- >- valueTotal = this._valueMax() - this._valueMin(); >- valueMouse = this._valueMin() + percentMouse * valueTotal; >- >- return this._trimAlignValue( valueMouse ); >- }, >- >- _start: function( event, index ) { >- var uiHash = { >- handle: this.handles[ index ], >- value: this.value() >- }; >- if ( this.options.values && this.options.values.length ) { >- uiHash.value = this.values( index ); >- uiHash.values = this.values(); >- } >- return this._trigger( "start", event, uiHash ); >- }, >- >- _slide: function( event, index, newVal ) { >- var otherVal, >- newValues, >- allowed; >- >- if ( this.options.values && this.options.values.length ) { >- otherVal = this.values( index ? 0 : 1 ); >- >- if ( ( this.options.values.length === 2 && this.options.range === true ) && >- ( ( index === 0 && newVal > otherVal) || ( index === 1 && newVal < otherVal ) ) >- ) { >- newVal = otherVal; >- } >- >- if ( newVal !== this.values( index ) ) { >- newValues = this.values(); >- newValues[ index ] = newVal; >- // A slide can be canceled by returning false from the slide callback >- allowed = this._trigger( "slide", event, { >- handle: this.handles[ index ], >- value: newVal, >- values: newValues >- } ); >- otherVal = this.values( index ? 0 : 1 ); >- if ( allowed !== false ) { >- this.values( index, newVal ); >- } >- } >- } else { >- if ( newVal !== this.value() ) { >- // A slide can be canceled by returning false from the slide callback >- allowed = this._trigger( "slide", event, { >- handle: this.handles[ index ], >- value: newVal >- } ); >- if ( allowed !== false ) { >- this.value( newVal ); >- } >- } >- } >- }, >- >- _stop: function( event, index ) { >- var uiHash = { >- handle: this.handles[ index ], >- value: this.value() >- }; >- if ( this.options.values && this.options.values.length ) { >- uiHash.value = this.values( index ); >- uiHash.values = this.values(); >- } >- >- this._trigger( "stop", event, uiHash ); >- }, >- >- _change: function( event, index ) { >- if ( !this._keySliding && !this._mouseSliding ) { >- var uiHash = { >- handle: this.handles[ index ], >- value: this.value() >- }; >- if ( this.options.values && this.options.values.length ) { >- uiHash.value = this.values( index ); >- uiHash.values = this.values(); >- } >- >- //store the last changed value index for reference when handles overlap >- this._lastChangedValue = index; >- >- this._trigger( "change", event, uiHash ); >- } >- }, >- >- value: function( newValue ) { >- if ( arguments.length ) { >- this.options.value = this._trimAlignValue( newValue ); >- this._refreshValue(); >- this._change( null, 0 ); >- return; >- } >- >- return this._value(); >- }, >- >- values: function( index, newValue ) { >- var vals, >- newValues, >- i; >- >- if ( arguments.length > 1 ) { >- this.options.values[ index ] = this._trimAlignValue( newValue ); >- this._refreshValue(); >- this._change( null, index ); >- return; >- } >- >- if ( arguments.length ) { >- if ( $.isArray( arguments[ 0 ] ) ) { >- vals = this.options.values; >- newValues = arguments[ 0 ]; >- for ( i = 0; i < vals.length; i += 1 ) { >- vals[ i ] = this._trimAlignValue( newValues[ i ] ); >- this._change( null, i ); >- } >- this._refreshValue(); >- } else { >- if ( this.options.values && this.options.values.length ) { >- return this._values( index ); >- } else { >- return this.value(); >- } >- } >- } else { >- return this._values(); >- } >- }, >- >- _setOption: function( key, value ) { >- var i, >- valsLength = 0; >- >- if ( key === "range" && this.options.range === true ) { >- if ( value === "min" ) { >- this.options.value = this._values( 0 ); >- this.options.values = null; >- } else if ( value === "max" ) { >- this.options.value = this._values( this.options.values.length - 1 ); >- this.options.values = null; >- } >- } >- >- if ( $.isArray( this.options.values ) ) { >- valsLength = this.options.values.length; >- } >- >- if ( key === "disabled" ) { >- this.element.toggleClass( "ui-state-disabled", !!value ); >- } >- >- this._super( key, value ); >- >- switch ( key ) { >- case "orientation": >- this._detectOrientation(); >- this.element >- .removeClass( "ui-slider-horizontal ui-slider-vertical" ) >- .addClass( "ui-slider-" + this.orientation ); >- this._refreshValue(); >- >- // Reset positioning from previous orientation >- this.handles.css( value === "horizontal" ? "bottom" : "left", "" ); >- break; >- case "value": >- this._animateOff = true; >- this._refreshValue(); >- this._change( null, 0 ); >- this._animateOff = false; >- break; >- case "values": >- this._animateOff = true; >- this._refreshValue(); >- for ( i = 0; i < valsLength; i += 1 ) { >- this._change( null, i ); >- } >- this._animateOff = false; >- break; >- case "step": >- case "min": >- case "max": >- this._animateOff = true; >- this._calculateNewMax(); >- this._refreshValue(); >- this._animateOff = false; >- break; >- case "range": >- this._animateOff = true; >- this._refresh(); >- this._animateOff = false; >- break; >- } >- }, >- >- //internal value getter >- // _value() returns value trimmed by min and max, aligned by step >- _value: function() { >- var val = this.options.value; >- val = this._trimAlignValue( val ); >- >- return val; >- }, >- >- //internal values getter >- // _values() returns array of values trimmed by min and max, aligned by step >- // _values( index ) returns single value trimmed by min and max, aligned by step >- _values: function( index ) { >- var val, >- vals, >- i; >- >- if ( arguments.length ) { >- val = this.options.values[ index ]; >- val = this._trimAlignValue( val ); >- >- return val; >- } else if ( this.options.values && this.options.values.length ) { >- // .slice() creates a copy of the array >- // this copy gets trimmed by min and max and then returned >- vals = this.options.values.slice(); >- for ( i = 0; i < vals.length; i += 1) { >- vals[ i ] = this._trimAlignValue( vals[ i ] ); >- } >- >- return vals; >- } else { >- return []; >- } >- }, >- >- // returns the step-aligned value that val is closest to, between (inclusive) min and max >- _trimAlignValue: function( val ) { >- if ( val <= this._valueMin() ) { >- return this._valueMin(); >- } >- if ( val >= this._valueMax() ) { >- return this._valueMax(); >- } >- var step = ( this.options.step > 0 ) ? this.options.step : 1, >- valModStep = (val - this._valueMin()) % step, >- alignValue = val - valModStep; >- >- if ( Math.abs(valModStep) * 2 >= step ) { >- alignValue += ( valModStep > 0 ) ? step : ( -step ); >- } >- >- // Since JavaScript has problems with large floats, round >- // the final value to 5 digits after the decimal point (see #4124) >- return parseFloat( alignValue.toFixed(5) ); >- }, >- >- _calculateNewMax: function() { >- var max = this.options.max, >- min = this._valueMin(), >- step = this.options.step, >- aboveMin = Math.floor( ( +( max - min ).toFixed( this._precision() ) ) / step ) * step; >- max = aboveMin + min; >- this.max = parseFloat( max.toFixed( this._precision() ) ); >- }, >- >- _precision: function() { >- var precision = this._precisionOf( this.options.step ); >- if ( this.options.min !== null ) { >- precision = Math.max( precision, this._precisionOf( this.options.min ) ); >- } >- return precision; >- }, >- >- _precisionOf: function( num ) { >- var str = num.toString(), >- decimal = str.indexOf( "." ); >- return decimal === -1 ? 0 : str.length - decimal - 1; >- }, >- >- _valueMin: function() { >- return this.options.min; >- }, >- >- _valueMax: function() { >- return this.max; >- }, >- >- _refreshValue: function() { >- var lastValPercent, valPercent, value, valueMin, valueMax, >- oRange = this.options.range, >- o = this.options, >- that = this, >- animate = ( !this._animateOff ) ? o.animate : false, >- _set = {}; >- >- if ( this.options.values && this.options.values.length ) { >- this.handles.each(function( i ) { >- valPercent = ( that.values(i) - that._valueMin() ) / ( that._valueMax() - that._valueMin() ) * 100; >- _set[ that.orientation === "horizontal" ? "left" : "bottom" ] = valPercent + "%"; >- $( this ).stop( 1, 1 )[ animate ? "animate" : "css" ]( _set, o.animate ); >- if ( that.options.range === true ) { >- if ( that.orientation === "horizontal" ) { >- if ( i === 0 ) { >- that.range.stop( 1, 1 )[ animate ? "animate" : "css" ]( { left: valPercent + "%" }, o.animate ); >- } >- if ( i === 1 ) { >- that.range[ animate ? "animate" : "css" ]( { width: ( valPercent - lastValPercent ) + "%" }, { queue: false, duration: o.animate } ); >- } >- } else { >- if ( i === 0 ) { >- that.range.stop( 1, 1 )[ animate ? "animate" : "css" ]( { bottom: ( valPercent ) + "%" }, o.animate ); >- } >- if ( i === 1 ) { >- that.range[ animate ? "animate" : "css" ]( { height: ( valPercent - lastValPercent ) + "%" }, { queue: false, duration: o.animate } ); >- } >- } >- } >- lastValPercent = valPercent; >- }); >- } else { >- value = this.value(); >- valueMin = this._valueMin(); >- valueMax = this._valueMax(); >- valPercent = ( valueMax !== valueMin ) ? >- ( value - valueMin ) / ( valueMax - valueMin ) * 100 : >- 0; >- _set[ this.orientation === "horizontal" ? "left" : "bottom" ] = valPercent + "%"; >- this.handle.stop( 1, 1 )[ animate ? "animate" : "css" ]( _set, o.animate ); >- >- if ( oRange === "min" && this.orientation === "horizontal" ) { >- this.range.stop( 1, 1 )[ animate ? "animate" : "css" ]( { width: valPercent + "%" }, o.animate ); >- } >- if ( oRange === "max" && this.orientation === "horizontal" ) { >- this.range[ animate ? "animate" : "css" ]( { width: ( 100 - valPercent ) + "%" }, { queue: false, duration: o.animate } ); >- } >- if ( oRange === "min" && this.orientation === "vertical" ) { >- this.range.stop( 1, 1 )[ animate ? "animate" : "css" ]( { height: valPercent + "%" }, o.animate ); >- } >- if ( oRange === "max" && this.orientation === "vertical" ) { >- this.range[ animate ? "animate" : "css" ]( { height: ( 100 - valPercent ) + "%" }, { queue: false, duration: o.animate } ); >- } >- } >- }, >- >- _handleEvents: { >- keydown: function( event ) { >- var allowed, curVal, newVal, step, >- index = $( event.target ).data( "ui-slider-handle-index" ); >- >- switch ( event.keyCode ) { >- case $.ui.keyCode.HOME: >- case $.ui.keyCode.END: >- case $.ui.keyCode.PAGE_UP: >- case $.ui.keyCode.PAGE_DOWN: >- case $.ui.keyCode.UP: >- case $.ui.keyCode.RIGHT: >- case $.ui.keyCode.DOWN: >- case $.ui.keyCode.LEFT: >- event.preventDefault(); >- if ( !this._keySliding ) { >- this._keySliding = true; >- $( event.target ).addClass( "ui-state-active" ); >- allowed = this._start( event, index ); >- if ( allowed === false ) { >- return; >- } >- } >- break; >- } >- >- step = this.options.step; >- if ( this.options.values && this.options.values.length ) { >- curVal = newVal = this.values( index ); >- } else { >- curVal = newVal = this.value(); >- } >- >- switch ( event.keyCode ) { >- case $.ui.keyCode.HOME: >- newVal = this._valueMin(); >- break; >- case $.ui.keyCode.END: >- newVal = this._valueMax(); >- break; >- case $.ui.keyCode.PAGE_UP: >- newVal = this._trimAlignValue( >- curVal + ( ( this._valueMax() - this._valueMin() ) / this.numPages ) >- ); >- break; >- case $.ui.keyCode.PAGE_DOWN: >- newVal = this._trimAlignValue( >- curVal - ( (this._valueMax() - this._valueMin()) / this.numPages ) ); >- break; >- case $.ui.keyCode.UP: >- case $.ui.keyCode.RIGHT: >- if ( curVal === this._valueMax() ) { >- return; >- } >- newVal = this._trimAlignValue( curVal + step ); >- break; >- case $.ui.keyCode.DOWN: >- case $.ui.keyCode.LEFT: >- if ( curVal === this._valueMin() ) { >- return; >- } >- newVal = this._trimAlignValue( curVal - step ); >- break; >- } >- >- this._slide( event, index, newVal ); >- }, >- keyup: function( event ) { >- var index = $( event.target ).data( "ui-slider-handle-index" ); >- >- if ( this._keySliding ) { >- this._keySliding = false; >- this._stop( event, index ); >- this._change( event, index ); >- $( event.target ).removeClass( "ui-state-active" ); >- } >- } >- } >-}); >- >- >-/*! >- * jQuery UI Tabs 1.11.4 >- * http://jqueryui.com >- * >- * Copyright jQuery Foundation and other contributors >- * Released under the MIT license. >- * http://jquery.org/license >- * >- * http://api.jqueryui.com/tabs/ >- */ >- >- >-var tabs = $.widget( "ui.tabs", { >- version: "1.11.4", >- delay: 300, >- options: { >- active: null, >- collapsible: false, >- event: "click", >- heightStyle: "content", >- hide: null, >- show: null, >- >- // callbacks >- activate: null, >- beforeActivate: null, >- beforeLoad: null, >- load: null >- }, >- >- _isLocal: (function() { >- var rhash = /#.*$/; >- >- return function( anchor ) { >- var anchorUrl, locationUrl; >- >- // support: IE7 >- // IE7 doesn't normalize the href property when set via script (#9317) >- anchor = anchor.cloneNode( false ); >- >- anchorUrl = anchor.href.replace( rhash, "" ); >- locationUrl = location.href.replace( rhash, "" ); >- >- // decoding may throw an error if the URL isn't UTF-8 (#9518) >- try { >- anchorUrl = decodeURIComponent( anchorUrl ); >- } catch ( error ) {} >- try { >- locationUrl = decodeURIComponent( locationUrl ); >- } catch ( error ) {} >- >- return anchor.hash.length > 1 && anchorUrl === locationUrl; >- }; >- })(), >- >- _create: function() { >- var that = this, >- options = this.options; >- >- this.running = false; >- >- this.element >- .addClass( "ui-tabs ui-widget ui-widget-content ui-corner-all" ) >- .toggleClass( "ui-tabs-collapsible", options.collapsible ); >- >- this._processTabs(); >- options.active = this._initialActive(); >- >- // Take disabling tabs via class attribute from HTML >- // into account and update option properly. >- if ( $.isArray( options.disabled ) ) { >- options.disabled = $.unique( options.disabled.concat( >- $.map( this.tabs.filter( ".ui-state-disabled" ), function( li ) { >- return that.tabs.index( li ); >- }) >- ) ).sort(); >- } >- >- // check for length avoids error when initializing empty list >- if ( this.options.active !== false && this.anchors.length ) { >- this.active = this._findActive( options.active ); >- } else { >- this.active = $(); >- } >- >- this._refresh(); >- >- if ( this.active.length ) { >- this.load( options.active ); >- } >- }, >- >- _initialActive: function() { >- var active = this.options.active, >- collapsible = this.options.collapsible, >- locationHash = location.hash.substring( 1 ); >- >- if ( active === null ) { >- // check the fragment identifier in the URL >- if ( locationHash ) { >- this.tabs.each(function( i, tab ) { >- if ( $( tab ).attr( "aria-controls" ) === locationHash ) { >- active = i; >- return false; >- } >- }); >- } >- >- // check for a tab marked active via a class >- if ( active === null ) { >- active = this.tabs.index( this.tabs.filter( ".ui-tabs-active" ) ); >- } >- >- // no active tab, set to false >- if ( active === null || active === -1 ) { >- active = this.tabs.length ? 0 : false; >- } >- } >- >- // handle numbers: negative, out of range >- if ( active !== false ) { >- active = this.tabs.index( this.tabs.eq( active ) ); >- if ( active === -1 ) { >- active = collapsible ? false : 0; >- } >- } >- >- // don't allow collapsible: false and active: false >- if ( !collapsible && active === false && this.anchors.length ) { >- active = 0; >- } >- >- return active; >- }, >- >- _getCreateEventData: function() { >- return { >- tab: this.active, >- panel: !this.active.length ? $() : this._getPanelForTab( this.active ) >- }; >- }, >- >- _tabKeydown: function( event ) { >- var focusedTab = $( this.document[0].activeElement ).closest( "li" ), >- selectedIndex = this.tabs.index( focusedTab ), >- goingForward = true; >- >- if ( this._handlePageNav( event ) ) { >- return; >- } >- >- switch ( event.keyCode ) { >- case $.ui.keyCode.RIGHT: >- case $.ui.keyCode.DOWN: >- selectedIndex++; >- break; >- case $.ui.keyCode.UP: >- case $.ui.keyCode.LEFT: >- goingForward = false; >- selectedIndex--; >- break; >- case $.ui.keyCode.END: >- selectedIndex = this.anchors.length - 1; >- break; >- case $.ui.keyCode.HOME: >- selectedIndex = 0; >- break; >- case $.ui.keyCode.SPACE: >- // Activate only, no collapsing >- event.preventDefault(); >- clearTimeout( this.activating ); >- this._activate( selectedIndex ); >- return; >- case $.ui.keyCode.ENTER: >- // Toggle (cancel delayed activation, allow collapsing) >- event.preventDefault(); >- clearTimeout( this.activating ); >- // Determine if we should collapse or activate >- this._activate( selectedIndex === this.options.active ? false : selectedIndex ); >- return; >- default: >- return; >- } >- >- // Focus the appropriate tab, based on which key was pressed >- event.preventDefault(); >- clearTimeout( this.activating ); >- selectedIndex = this._focusNextTab( selectedIndex, goingForward ); >- >- // Navigating with control/command key will prevent automatic activation >- if ( !event.ctrlKey && !event.metaKey ) { >- >- // Update aria-selected immediately so that AT think the tab is already selected. >- // Otherwise AT may confuse the user by stating that they need to activate the tab, >- // but the tab will already be activated by the time the announcement finishes. >- focusedTab.attr( "aria-selected", "false" ); >- this.tabs.eq( selectedIndex ).attr( "aria-selected", "true" ); >- >- this.activating = this._delay(function() { >- this.option( "active", selectedIndex ); >- }, this.delay ); >- } >- }, >- >- _panelKeydown: function( event ) { >- if ( this._handlePageNav( event ) ) { >- return; >- } >- >- // Ctrl+up moves focus to the current tab >- if ( event.ctrlKey && event.keyCode === $.ui.keyCode.UP ) { >- event.preventDefault(); >- this.active.focus(); >- } >- }, >- >- // Alt+page up/down moves focus to the previous/next tab (and activates) >- _handlePageNav: function( event ) { >- if ( event.altKey && event.keyCode === $.ui.keyCode.PAGE_UP ) { >- this._activate( this._focusNextTab( this.options.active - 1, false ) ); >- return true; >- } >- if ( event.altKey && event.keyCode === $.ui.keyCode.PAGE_DOWN ) { >- this._activate( this._focusNextTab( this.options.active + 1, true ) ); >- return true; >- } >- }, >- >- _findNextTab: function( index, goingForward ) { >- var lastTabIndex = this.tabs.length - 1; >- >- function constrain() { >- if ( index > lastTabIndex ) { >- index = 0; >- } >- if ( index < 0 ) { >- index = lastTabIndex; >- } >- return index; >- } >- >- while ( $.inArray( constrain(), this.options.disabled ) !== -1 ) { >- index = goingForward ? index + 1 : index - 1; >- } >- >- return index; >- }, >- >- _focusNextTab: function( index, goingForward ) { >- index = this._findNextTab( index, goingForward ); >- this.tabs.eq( index ).focus(); >- return index; >- }, >- >- _setOption: function( key, value ) { >- if ( key === "active" ) { >- // _activate() will handle invalid values and update this.options >- this._activate( value ); >- return; >- } >- >- if ( key === "disabled" ) { >- // don't use the widget factory's disabled handling >- this._setupDisabled( value ); >- return; >- } >- >- this._super( key, value); >- >- if ( key === "collapsible" ) { >- this.element.toggleClass( "ui-tabs-collapsible", value ); >- // Setting collapsible: false while collapsed; open first panel >- if ( !value && this.options.active === false ) { >- this._activate( 0 ); >- } >- } >- >- if ( key === "event" ) { >- this._setupEvents( value ); >- } >- >- if ( key === "heightStyle" ) { >- this._setupHeightStyle( value ); >- } >- }, >- >- _sanitizeSelector: function( hash ) { >- return hash ? hash.replace( /[!"$%&'()*+,.\/:;<=>?@\[\]\^`{|}~]/g, "\\$&" ) : ""; >- }, >- >- refresh: function() { >- var options = this.options, >- lis = this.tablist.children( ":has(a[href])" ); >- >- // get disabled tabs from class attribute from HTML >- // this will get converted to a boolean if needed in _refresh() >- options.disabled = $.map( lis.filter( ".ui-state-disabled" ), function( tab ) { >- return lis.index( tab ); >- }); >- >- this._processTabs(); >- >- // was collapsed or no tabs >- if ( options.active === false || !this.anchors.length ) { >- options.active = false; >- this.active = $(); >- // was active, but active tab is gone >- } else if ( this.active.length && !$.contains( this.tablist[ 0 ], this.active[ 0 ] ) ) { >- // all remaining tabs are disabled >- if ( this.tabs.length === options.disabled.length ) { >- options.active = false; >- this.active = $(); >- // activate previous tab >- } else { >- this._activate( this._findNextTab( Math.max( 0, options.active - 1 ), false ) ); >- } >- // was active, active tab still exists >- } else { >- // make sure active index is correct >- options.active = this.tabs.index( this.active ); >- } >- >- this._refresh(); >- }, >- >- _refresh: function() { >- this._setupDisabled( this.options.disabled ); >- this._setupEvents( this.options.event ); >- this._setupHeightStyle( this.options.heightStyle ); >- >- this.tabs.not( this.active ).attr({ >- "aria-selected": "false", >- "aria-expanded": "false", >- tabIndex: -1 >- }); >- this.panels.not( this._getPanelForTab( this.active ) ) >- .hide() >- .attr({ >- "aria-hidden": "true" >- }); >- >- // Make sure one tab is in the tab order >- if ( !this.active.length ) { >- this.tabs.eq( 0 ).attr( "tabIndex", 0 ); >- } else { >- this.active >- .addClass( "ui-tabs-active ui-state-active" ) >- .attr({ >- "aria-selected": "true", >- "aria-expanded": "true", >- tabIndex: 0 >- }); >- this._getPanelForTab( this.active ) >- .show() >- .attr({ >- "aria-hidden": "false" >- }); >- } >- }, >- >- _processTabs: function() { >- var that = this, >- prevTabs = this.tabs, >- prevAnchors = this.anchors, >- prevPanels = this.panels; >- >- this.tablist = this._getList() >- .addClass( "ui-tabs-nav ui-helper-reset ui-helper-clearfix ui-widget-header ui-corner-all" ) >- .attr( "role", "tablist" ) >- >- // Prevent users from focusing disabled tabs via click >- .delegate( "> li", "mousedown" + this.eventNamespace, function( event ) { >- if ( $( this ).is( ".ui-state-disabled" ) ) { >- event.preventDefault(); >- } >- }) >- >- // support: IE <9 >- // Preventing the default action in mousedown doesn't prevent IE >- // from focusing the element, so if the anchor gets focused, blur. >- // We don't have to worry about focusing the previously focused >- // element since clicking on a non-focusable element should focus >- // the body anyway. >- .delegate( ".ui-tabs-anchor", "focus" + this.eventNamespace, function() { >- if ( $( this ).closest( "li" ).is( ".ui-state-disabled" ) ) { >- this.blur(); >- } >- }); >- >- this.tabs = this.tablist.find( "> li:has(a[href])" ) >- .addClass( "ui-state-default ui-corner-top" ) >- .attr({ >- role: "tab", >- tabIndex: -1 >- }); >- >- this.anchors = this.tabs.map(function() { >- return $( "a", this )[ 0 ]; >- }) >- .addClass( "ui-tabs-anchor" ) >- .attr({ >- role: "presentation", >- tabIndex: -1 >- }); >- >- this.panels = $(); >- >- this.anchors.each(function( i, anchor ) { >- var selector, panel, panelId, >- anchorId = $( anchor ).uniqueId().attr( "id" ), >- tab = $( anchor ).closest( "li" ), >- originalAriaControls = tab.attr( "aria-controls" ); >- >- // inline tab >- if ( that._isLocal( anchor ) ) { >- selector = anchor.hash; >- panelId = selector.substring( 1 ); >- panel = that.element.find( that._sanitizeSelector( selector ) ); >- // remote tab >- } else { >- // If the tab doesn't already have aria-controls, >- // generate an id by using a throw-away element >- panelId = tab.attr( "aria-controls" ) || $( {} ).uniqueId()[ 0 ].id; >- selector = "#" + panelId; >- panel = that.element.find( selector ); >- if ( !panel.length ) { >- panel = that._createPanel( panelId ); >- panel.insertAfter( that.panels[ i - 1 ] || that.tablist ); >- } >- panel.attr( "aria-live", "polite" ); >- } >- >- if ( panel.length) { >- that.panels = that.panels.add( panel ); >- } >- if ( originalAriaControls ) { >- tab.data( "ui-tabs-aria-controls", originalAriaControls ); >- } >- tab.attr({ >- "aria-controls": panelId, >- "aria-labelledby": anchorId >- }); >- panel.attr( "aria-labelledby", anchorId ); >- }); >- >- this.panels >- .addClass( "ui-tabs-panel ui-widget-content ui-corner-bottom" ) >- .attr( "role", "tabpanel" ); >- >- // Avoid memory leaks (#10056) >- if ( prevTabs ) { >- this._off( prevTabs.not( this.tabs ) ); >- this._off( prevAnchors.not( this.anchors ) ); >- this._off( prevPanels.not( this.panels ) ); >- } >- }, >- >- // allow overriding how to find the list for rare usage scenarios (#7715) >- _getList: function() { >- return this.tablist || this.element.find( "ol,ul" ).eq( 0 ); >- }, >- >- _createPanel: function( id ) { >- return $( "<div>" ) >- .attr( "id", id ) >- .addClass( "ui-tabs-panel ui-widget-content ui-corner-bottom" ) >- .data( "ui-tabs-destroy", true ); >- }, >- >- _setupDisabled: function( disabled ) { >- if ( $.isArray( disabled ) ) { >- if ( !disabled.length ) { >- disabled = false; >- } else if ( disabled.length === this.anchors.length ) { >- disabled = true; >- } >- } >- >- // disable tabs >- for ( var i = 0, li; ( li = this.tabs[ i ] ); i++ ) { >- if ( disabled === true || $.inArray( i, disabled ) !== -1 ) { >- $( li ) >- .addClass( "ui-state-disabled" ) >- .attr( "aria-disabled", "true" ); >- } else { >- $( li ) >- .removeClass( "ui-state-disabled" ) >- .removeAttr( "aria-disabled" ); >- } >- } >- >- this.options.disabled = disabled; >- }, >- >- _setupEvents: function( event ) { >- var events = {}; >- if ( event ) { >- $.each( event.split(" "), function( index, eventName ) { >- events[ eventName ] = "_eventHandler"; >- }); >- } >- >- this._off( this.anchors.add( this.tabs ).add( this.panels ) ); >- // Always prevent the default action, even when disabled >- this._on( true, this.anchors, { >- click: function( event ) { >- event.preventDefault(); >- } >- }); >- this._on( this.anchors, events ); >- this._on( this.tabs, { keydown: "_tabKeydown" } ); >- this._on( this.panels, { keydown: "_panelKeydown" } ); >- >- this._focusable( this.tabs ); >- this._hoverable( this.tabs ); >- }, >- >- _setupHeightStyle: function( heightStyle ) { >- var maxHeight, >- parent = this.element.parent(); >- >- if ( heightStyle === "fill" ) { >- maxHeight = parent.height(); >- maxHeight -= this.element.outerHeight() - this.element.height(); >- >- this.element.siblings( ":visible" ).each(function() { >- var elem = $( this ), >- position = elem.css( "position" ); >- >- if ( position === "absolute" || position === "fixed" ) { >- return; >- } >- maxHeight -= elem.outerHeight( true ); >- }); >- >- this.element.children().not( this.panels ).each(function() { >- maxHeight -= $( this ).outerHeight( true ); >- }); >- >- this.panels.each(function() { >- $( this ).height( Math.max( 0, maxHeight - >- $( this ).innerHeight() + $( this ).height() ) ); >- }) >- .css( "overflow", "auto" ); >- } else if ( heightStyle === "auto" ) { >- maxHeight = 0; >- this.panels.each(function() { >- maxHeight = Math.max( maxHeight, $( this ).height( "" ).height() ); >- }).height( maxHeight ); >- } >- }, >- >- _eventHandler: function( event ) { >- var options = this.options, >- active = this.active, >- anchor = $( event.currentTarget ), >- tab = anchor.closest( "li" ), >- clickedIsActive = tab[ 0 ] === active[ 0 ], >- collapsing = clickedIsActive && options.collapsible, >- toShow = collapsing ? $() : this._getPanelForTab( tab ), >- toHide = !active.length ? $() : this._getPanelForTab( active ), >- eventData = { >- oldTab: active, >- oldPanel: toHide, >- newTab: collapsing ? $() : tab, >- newPanel: toShow >- }; >- >- event.preventDefault(); >- >- if ( tab.hasClass( "ui-state-disabled" ) || >- // tab is already loading >- tab.hasClass( "ui-tabs-loading" ) || >- // can't switch durning an animation >- this.running || >- // click on active header, but not collapsible >- ( clickedIsActive && !options.collapsible ) || >- // allow canceling activation >- ( this._trigger( "beforeActivate", event, eventData ) === false ) ) { >- return; >- } >- >- options.active = collapsing ? false : this.tabs.index( tab ); >- >- this.active = clickedIsActive ? $() : tab; >- if ( this.xhr ) { >- this.xhr.abort(); >- } >- >- if ( !toHide.length && !toShow.length ) { >- $.error( "jQuery UI Tabs: Mismatching fragment identifier." ); >- } >- >- if ( toShow.length ) { >- this.load( this.tabs.index( tab ), event ); >- } >- this._toggle( event, eventData ); >- }, >- >- // handles show/hide for selecting tabs >- _toggle: function( event, eventData ) { >- var that = this, >- toShow = eventData.newPanel, >- toHide = eventData.oldPanel; >- >- this.running = true; >- >- function complete() { >- that.running = false; >- that._trigger( "activate", event, eventData ); >- } >- >- function show() { >- eventData.newTab.closest( "li" ).addClass( "ui-tabs-active ui-state-active" ); >- >- if ( toShow.length && that.options.show ) { >- that._show( toShow, that.options.show, complete ); >- } else { >- toShow.show(); >- complete(); >- } >- } >- >- // start out by hiding, then showing, then completing >- if ( toHide.length && this.options.hide ) { >- this._hide( toHide, this.options.hide, function() { >- eventData.oldTab.closest( "li" ).removeClass( "ui-tabs-active ui-state-active" ); >- show(); >- }); >- } else { >- eventData.oldTab.closest( "li" ).removeClass( "ui-tabs-active ui-state-active" ); >- toHide.hide(); >- show(); >- } >- >- toHide.attr( "aria-hidden", "true" ); >- eventData.oldTab.attr({ >- "aria-selected": "false", >- "aria-expanded": "false" >- }); >- // If we're switching tabs, remove the old tab from the tab order. >- // If we're opening from collapsed state, remove the previous tab from the tab order. >- // If we're collapsing, then keep the collapsing tab in the tab order. >- if ( toShow.length && toHide.length ) { >- eventData.oldTab.attr( "tabIndex", -1 ); >- } else if ( toShow.length ) { >- this.tabs.filter(function() { >- return $( this ).attr( "tabIndex" ) === 0; >- }) >- .attr( "tabIndex", -1 ); >- } >- >- toShow.attr( "aria-hidden", "false" ); >- eventData.newTab.attr({ >- "aria-selected": "true", >- "aria-expanded": "true", >- tabIndex: 0 >- }); >- }, >- >- _activate: function( index ) { >- var anchor, >- active = this._findActive( index ); >- >- // trying to activate the already active panel >- if ( active[ 0 ] === this.active[ 0 ] ) { >- return; >- } >- >- // trying to collapse, simulate a click on the current active header >- if ( !active.length ) { >- active = this.active; >- } >- >- anchor = active.find( ".ui-tabs-anchor" )[ 0 ]; >- this._eventHandler({ >- target: anchor, >- currentTarget: anchor, >- preventDefault: $.noop >- }); >- }, >- >- _findActive: function( index ) { >- return index === false ? $() : this.tabs.eq( index ); >- }, >- >- _getIndex: function( index ) { >- // meta-function to give users option to provide a href string instead of a numerical index. >- if ( typeof index === "string" ) { >- index = this.anchors.index( this.anchors.filter( "[href$='" + index + "']" ) ); >- } >- >- return index; >- }, >- >- _destroy: function() { >- if ( this.xhr ) { >- this.xhr.abort(); >- } >- >- this.element.removeClass( "ui-tabs ui-widget ui-widget-content ui-corner-all ui-tabs-collapsible" ); >- >- this.tablist >- .removeClass( "ui-tabs-nav ui-helper-reset ui-helper-clearfix ui-widget-header ui-corner-all" ) >- .removeAttr( "role" ); >- >- this.anchors >- .removeClass( "ui-tabs-anchor" ) >- .removeAttr( "role" ) >- .removeAttr( "tabIndex" ) >- .removeUniqueId(); >- >- this.tablist.unbind( this.eventNamespace ); >- >- this.tabs.add( this.panels ).each(function() { >- if ( $.data( this, "ui-tabs-destroy" ) ) { >- $( this ).remove(); >- } else { >- $( this ) >- .removeClass( "ui-state-default ui-state-active ui-state-disabled " + >- "ui-corner-top ui-corner-bottom ui-widget-content ui-tabs-active ui-tabs-panel" ) >- .removeAttr( "tabIndex" ) >- .removeAttr( "aria-live" ) >- .removeAttr( "aria-busy" ) >- .removeAttr( "aria-selected" ) >- .removeAttr( "aria-labelledby" ) >- .removeAttr( "aria-hidden" ) >- .removeAttr( "aria-expanded" ) >- .removeAttr( "role" ); >- } >- }); >- >- this.tabs.each(function() { >- var li = $( this ), >- prev = li.data( "ui-tabs-aria-controls" ); >- if ( prev ) { >- li >- .attr( "aria-controls", prev ) >- .removeData( "ui-tabs-aria-controls" ); >- } else { >- li.removeAttr( "aria-controls" ); >- } >- }); >- >- this.panels.show(); >- >- if ( this.options.heightStyle !== "content" ) { >- this.panels.css( "height", "" ); >- } >- }, >- >- enable: function( index ) { >- var disabled = this.options.disabled; >- if ( disabled === false ) { >- return; >- } >- >- if ( index === undefined ) { >- disabled = false; >- } else { >- index = this._getIndex( index ); >- if ( $.isArray( disabled ) ) { >- disabled = $.map( disabled, function( num ) { >- return num !== index ? num : null; >- }); >- } else { >- disabled = $.map( this.tabs, function( li, num ) { >- return num !== index ? num : null; >- }); >- } >- } >- this._setupDisabled( disabled ); >- }, >- >- disable: function( index ) { >- var disabled = this.options.disabled; >- if ( disabled === true ) { >- return; >- } >- >- if ( index === undefined ) { >- disabled = true; >- } else { >- index = this._getIndex( index ); >- if ( $.inArray( index, disabled ) !== -1 ) { >- return; >- } >- if ( $.isArray( disabled ) ) { >- disabled = $.merge( [ index ], disabled ).sort(); >- } else { >- disabled = [ index ]; >- } >- } >- this._setupDisabled( disabled ); >- }, >- >- load: function( index, event ) { >- index = this._getIndex( index ); >- var that = this, >- tab = this.tabs.eq( index ), >- anchor = tab.find( ".ui-tabs-anchor" ), >- panel = this._getPanelForTab( tab ), >- eventData = { >- tab: tab, >- panel: panel >- }, >- complete = function( jqXHR, status ) { >- if ( status === "abort" ) { >- that.panels.stop( false, true ); >- } >- >- tab.removeClass( "ui-tabs-loading" ); >- panel.removeAttr( "aria-busy" ); >- >- if ( jqXHR === that.xhr ) { >- delete that.xhr; >- } >- }; >- >- // not remote >- if ( this._isLocal( anchor[ 0 ] ) ) { >- return; >- } >- >- this.xhr = $.ajax( this._ajaxSettings( anchor, event, eventData ) ); >- >- // support: jQuery <1.8 >- // jQuery <1.8 returns false if the request is canceled in beforeSend, >- // but as of 1.8, $.ajax() always returns a jqXHR object. >- if ( this.xhr && this.xhr.statusText !== "canceled" ) { >- tab.addClass( "ui-tabs-loading" ); >- panel.attr( "aria-busy", "true" ); >- >- this.xhr >- .done(function( response, status, jqXHR ) { >- // support: jQuery <1.8 >- // http://bugs.jquery.com/ticket/11778 >- setTimeout(function() { >- panel.html( response ); >- that._trigger( "load", event, eventData ); >- >- complete( jqXHR, status ); >- }, 1 ); >- }) >- .fail(function( jqXHR, status ) { >- // support: jQuery <1.8 >- // http://bugs.jquery.com/ticket/11778 >- setTimeout(function() { >- complete( jqXHR, status ); >- }, 1 ); >- }); >- } >- }, >- >- _ajaxSettings: function( anchor, event, eventData ) { >- var that = this; >- return { >- url: anchor.attr( "href" ), >- beforeSend: function( jqXHR, settings ) { >- return that._trigger( "beforeLoad", event, >- $.extend( { jqXHR: jqXHR, ajaxSettings: settings }, eventData ) ); >- } >- }; >- }, >- >- _getPanelForTab: function( tab ) { >- var id = $( tab ).attr( "aria-controls" ); >- return this.element.find( this._sanitizeSelector( "#" + id ) ); >- } >-}); >- >- >-/*! >- * jQuery UI Effects 1.11.4 >- * http://jqueryui.com >- * >- * Copyright jQuery Foundation and other contributors >- * Released under the MIT license. >- * http://jquery.org/license >- * >- * http://api.jqueryui.com/category/effects-core/ >- */ >- >- >-var dataSpace = "ui-effects-", >- >- // Create a local jQuery because jQuery Color relies on it and the >- // global may not exist with AMD and a custom build (#10199) >- jQuery = $; >- >-$.effects = { >- effect: {} >-}; >- >-/*! >- * jQuery Color Animations v2.1.2 >- * https://github.com/jquery/jquery-color >- * >- * Copyright 2014 jQuery Foundation and other contributors >- * Released under the MIT license. >- * http://jquery.org/license >- * >- * Date: Wed Jan 16 08:47:09 2013 -0600 >- */ >-(function( jQuery, undefined ) { >- >- var stepHooks = "backgroundColor borderBottomColor borderLeftColor borderRightColor borderTopColor color columnRuleColor outlineColor textDecorationColor textEmphasisColor", >- >- // plusequals test for += 100 -= 100 >- rplusequals = /^([\-+])=\s*(\d+\.?\d*)/, >- // a set of RE's that can match strings and generate color tuples. >- stringParsers = [ { >- re: /rgba?\(\s*(\d{1,3})\s*,\s*(\d{1,3})\s*,\s*(\d{1,3})\s*(?:,\s*(\d?(?:\.\d+)?)\s*)?\)/, >- parse: function( execResult ) { >- return [ >- execResult[ 1 ], >- execResult[ 2 ], >- execResult[ 3 ], >- execResult[ 4 ] >- ]; >- } >- }, { >- re: /rgba?\(\s*(\d+(?:\.\d+)?)\%\s*,\s*(\d+(?:\.\d+)?)\%\s*,\s*(\d+(?:\.\d+)?)\%\s*(?:,\s*(\d?(?:\.\d+)?)\s*)?\)/, >- parse: function( execResult ) { >- return [ >- execResult[ 1 ] * 2.55, >- execResult[ 2 ] * 2.55, >- execResult[ 3 ] * 2.55, >- execResult[ 4 ] >- ]; >- } >- }, { >- // this regex ignores A-F because it's compared against an already lowercased string >- re: /#([a-f0-9]{2})([a-f0-9]{2})([a-f0-9]{2})/, >- parse: function( execResult ) { >- return [ >- parseInt( execResult[ 1 ], 16 ), >- parseInt( execResult[ 2 ], 16 ), >- parseInt( execResult[ 3 ], 16 ) >- ]; >- } >- }, { >- // this regex ignores A-F because it's compared against an already lowercased string >- re: /#([a-f0-9])([a-f0-9])([a-f0-9])/, >- parse: function( execResult ) { >- return [ >- parseInt( execResult[ 1 ] + execResult[ 1 ], 16 ), >- parseInt( execResult[ 2 ] + execResult[ 2 ], 16 ), >- parseInt( execResult[ 3 ] + execResult[ 3 ], 16 ) >- ]; >- } >- }, { >- re: /hsla?\(\s*(\d+(?:\.\d+)?)\s*,\s*(\d+(?:\.\d+)?)\%\s*,\s*(\d+(?:\.\d+)?)\%\s*(?:,\s*(\d?(?:\.\d+)?)\s*)?\)/, >- space: "hsla", >- parse: function( execResult ) { >- return [ >- execResult[ 1 ], >- execResult[ 2 ] / 100, >- execResult[ 3 ] / 100, >- execResult[ 4 ] >- ]; >- } >- } ], >- >- // jQuery.Color( ) >- color = jQuery.Color = function( color, green, blue, alpha ) { >- return new jQuery.Color.fn.parse( color, green, blue, alpha ); >- }, >- spaces = { >- rgba: { >- props: { >- red: { >- idx: 0, >- type: "byte" >- }, >- green: { >- idx: 1, >- type: "byte" >- }, >- blue: { >- idx: 2, >- type: "byte" >- } >- } >- }, >- >- hsla: { >- props: { >- hue: { >- idx: 0, >- type: "degrees" >- }, >- saturation: { >- idx: 1, >- type: "percent" >- }, >- lightness: { >- idx: 2, >- type: "percent" >- } >- } >- } >- }, >- propTypes = { >- "byte": { >- floor: true, >- max: 255 >- }, >- "percent": { >- max: 1 >- }, >- "degrees": { >- mod: 360, >- floor: true >- } >- }, >- support = color.support = {}, >- >- // element for support tests >- supportElem = jQuery( "<p>" )[ 0 ], >- >- // colors = jQuery.Color.names >- colors, >- >- // local aliases of functions called often >- each = jQuery.each; >- >-// determine rgba support immediately >-supportElem.style.cssText = "background-color:rgba(1,1,1,.5)"; >-support.rgba = supportElem.style.backgroundColor.indexOf( "rgba" ) > -1; >- >-// define cache name and alpha properties >-// for rgba and hsla spaces >-each( spaces, function( spaceName, space ) { >- space.cache = "_" + spaceName; >- space.props.alpha = { >- idx: 3, >- type: "percent", >- def: 1 >- }; >-}); >- >-function clamp( value, prop, allowEmpty ) { >- var type = propTypes[ prop.type ] || {}; >- >- if ( value == null ) { >- return (allowEmpty || !prop.def) ? null : prop.def; >- } >- >- // ~~ is an short way of doing floor for positive numbers >- value = type.floor ? ~~value : parseFloat( value ); >- >- // IE will pass in empty strings as value for alpha, >- // which will hit this case >- if ( isNaN( value ) ) { >- return prop.def; >- } >- >- if ( type.mod ) { >- // we add mod before modding to make sure that negatives values >- // get converted properly: -10 -> 350 >- return (value + type.mod) % type.mod; >- } >- >- // for now all property types without mod have min and max >- return 0 > value ? 0 : type.max < value ? type.max : value; >-} >- >-function stringParse( string ) { >- var inst = color(), >- rgba = inst._rgba = []; >- >- string = string.toLowerCase(); >- >- each( stringParsers, function( i, parser ) { >- var parsed, >- match = parser.re.exec( string ), >- values = match && parser.parse( match ), >- spaceName = parser.space || "rgba"; >- >- if ( values ) { >- parsed = inst[ spaceName ]( values ); >- >- // if this was an rgba parse the assignment might happen twice >- // oh well.... >- inst[ spaces[ spaceName ].cache ] = parsed[ spaces[ spaceName ].cache ]; >- rgba = inst._rgba = parsed._rgba; >- >- // exit each( stringParsers ) here because we matched >- return false; >- } >- }); >- >- // Found a stringParser that handled it >- if ( rgba.length ) { >- >- // if this came from a parsed string, force "transparent" when alpha is 0 >- // chrome, (and maybe others) return "transparent" as rgba(0,0,0,0) >- if ( rgba.join() === "0,0,0,0" ) { >- jQuery.extend( rgba, colors.transparent ); >- } >- return inst; >- } >- >- // named colors >- return colors[ string ]; >-} >- >-color.fn = jQuery.extend( color.prototype, { >- parse: function( red, green, blue, alpha ) { >- if ( red === undefined ) { >- this._rgba = [ null, null, null, null ]; >- return this; >- } >- if ( red.jquery || red.nodeType ) { >- red = jQuery( red ).css( green ); >- green = undefined; >- } >- >- var inst = this, >- type = jQuery.type( red ), >- rgba = this._rgba = []; >- >- // more than 1 argument specified - assume ( red, green, blue, alpha ) >- if ( green !== undefined ) { >- red = [ red, green, blue, alpha ]; >- type = "array"; >- } >- >- if ( type === "string" ) { >- return this.parse( stringParse( red ) || colors._default ); >- } >- >- if ( type === "array" ) { >- each( spaces.rgba.props, function( key, prop ) { >- rgba[ prop.idx ] = clamp( red[ prop.idx ], prop ); >- }); >- return this; >- } >- >- if ( type === "object" ) { >- if ( red instanceof color ) { >- each( spaces, function( spaceName, space ) { >- if ( red[ space.cache ] ) { >- inst[ space.cache ] = red[ space.cache ].slice(); >- } >- }); >- } else { >- each( spaces, function( spaceName, space ) { >- var cache = space.cache; >- each( space.props, function( key, prop ) { >- >- // if the cache doesn't exist, and we know how to convert >- if ( !inst[ cache ] && space.to ) { >- >- // if the value was null, we don't need to copy it >- // if the key was alpha, we don't need to copy it either >- if ( key === "alpha" || red[ key ] == null ) { >- return; >- } >- inst[ cache ] = space.to( inst._rgba ); >- } >- >- // this is the only case where we allow nulls for ALL properties. >- // call clamp with alwaysAllowEmpty >- inst[ cache ][ prop.idx ] = clamp( red[ key ], prop, true ); >- }); >- >- // everything defined but alpha? >- if ( inst[ cache ] && jQuery.inArray( null, inst[ cache ].slice( 0, 3 ) ) < 0 ) { >- // use the default of 1 >- inst[ cache ][ 3 ] = 1; >- if ( space.from ) { >- inst._rgba = space.from( inst[ cache ] ); >- } >- } >- }); >- } >- return this; >- } >- }, >- is: function( compare ) { >- var is = color( compare ), >- same = true, >- inst = this; >- >- each( spaces, function( _, space ) { >- var localCache, >- isCache = is[ space.cache ]; >- if (isCache) { >- localCache = inst[ space.cache ] || space.to && space.to( inst._rgba ) || []; >- each( space.props, function( _, prop ) { >- if ( isCache[ prop.idx ] != null ) { >- same = ( isCache[ prop.idx ] === localCache[ prop.idx ] ); >- return same; >- } >- }); >- } >- return same; >- }); >- return same; >- }, >- _space: function() { >- var used = [], >- inst = this; >- each( spaces, function( spaceName, space ) { >- if ( inst[ space.cache ] ) { >- used.push( spaceName ); >- } >- }); >- return used.pop(); >- }, >- transition: function( other, distance ) { >- var end = color( other ), >- spaceName = end._space(), >- space = spaces[ spaceName ], >- startColor = this.alpha() === 0 ? color( "transparent" ) : this, >- start = startColor[ space.cache ] || space.to( startColor._rgba ), >- result = start.slice(); >- >- end = end[ space.cache ]; >- each( space.props, function( key, prop ) { >- var index = prop.idx, >- startValue = start[ index ], >- endValue = end[ index ], >- type = propTypes[ prop.type ] || {}; >- >- // if null, don't override start value >- if ( endValue === null ) { >- return; >- } >- // if null - use end >- if ( startValue === null ) { >- result[ index ] = endValue; >- } else { >- if ( type.mod ) { >- if ( endValue - startValue > type.mod / 2 ) { >- startValue += type.mod; >- } else if ( startValue - endValue > type.mod / 2 ) { >- startValue -= type.mod; >- } >- } >- result[ index ] = clamp( ( endValue - startValue ) * distance + startValue, prop ); >- } >- }); >- return this[ spaceName ]( result ); >- }, >- blend: function( opaque ) { >- // if we are already opaque - return ourself >- if ( this._rgba[ 3 ] === 1 ) { >- return this; >- } >- >- var rgb = this._rgba.slice(), >- a = rgb.pop(), >- blend = color( opaque )._rgba; >- >- return color( jQuery.map( rgb, function( v, i ) { >- return ( 1 - a ) * blend[ i ] + a * v; >- })); >- }, >- toRgbaString: function() { >- var prefix = "rgba(", >- rgba = jQuery.map( this._rgba, function( v, i ) { >- return v == null ? ( i > 2 ? 1 : 0 ) : v; >- }); >- >- if ( rgba[ 3 ] === 1 ) { >- rgba.pop(); >- prefix = "rgb("; >- } >- >- return prefix + rgba.join() + ")"; >- }, >- toHslaString: function() { >- var prefix = "hsla(", >- hsla = jQuery.map( this.hsla(), function( v, i ) { >- if ( v == null ) { >- v = i > 2 ? 1 : 0; >- } >- >- // catch 1 and 2 >- if ( i && i < 3 ) { >- v = Math.round( v * 100 ) + "%"; >- } >- return v; >- }); >- >- if ( hsla[ 3 ] === 1 ) { >- hsla.pop(); >- prefix = "hsl("; >- } >- return prefix + hsla.join() + ")"; >- }, >- toHexString: function( includeAlpha ) { >- var rgba = this._rgba.slice(), >- alpha = rgba.pop(); >- >- if ( includeAlpha ) { >- rgba.push( ~~( alpha * 255 ) ); >- } >- >- return "#" + jQuery.map( rgba, function( v ) { >- >- // default to 0 when nulls exist >- v = ( v || 0 ).toString( 16 ); >- return v.length === 1 ? "0" + v : v; >- }).join(""); >- }, >- toString: function() { >- return this._rgba[ 3 ] === 0 ? "transparent" : this.toRgbaString(); >- } >-}); >-color.fn.parse.prototype = color.fn; >- >-// hsla conversions adapted from: >-// https://code.google.com/p/maashaack/source/browse/packages/graphics/trunk/src/graphics/colors/HUE2RGB.as?r=5021 >- >-function hue2rgb( p, q, h ) { >- h = ( h + 1 ) % 1; >- if ( h * 6 < 1 ) { >- return p + ( q - p ) * h * 6; >- } >- if ( h * 2 < 1) { >- return q; >- } >- if ( h * 3 < 2 ) { >- return p + ( q - p ) * ( ( 2 / 3 ) - h ) * 6; >- } >- return p; >-} >- >-spaces.hsla.to = function( rgba ) { >- if ( rgba[ 0 ] == null || rgba[ 1 ] == null || rgba[ 2 ] == null ) { >- return [ null, null, null, rgba[ 3 ] ]; >- } >- var r = rgba[ 0 ] / 255, >- g = rgba[ 1 ] / 255, >- b = rgba[ 2 ] / 255, >- a = rgba[ 3 ], >- max = Math.max( r, g, b ), >- min = Math.min( r, g, b ), >- diff = max - min, >- add = max + min, >- l = add * 0.5, >- h, s; >- >- if ( min === max ) { >- h = 0; >- } else if ( r === max ) { >- h = ( 60 * ( g - b ) / diff ) + 360; >- } else if ( g === max ) { >- h = ( 60 * ( b - r ) / diff ) + 120; >- } else { >- h = ( 60 * ( r - g ) / diff ) + 240; >- } >- >- // chroma (diff) == 0 means greyscale which, by definition, saturation = 0% >- // otherwise, saturation is based on the ratio of chroma (diff) to lightness (add) >- if ( diff === 0 ) { >- s = 0; >- } else if ( l <= 0.5 ) { >- s = diff / add; >- } else { >- s = diff / ( 2 - add ); >- } >- return [ Math.round(h) % 360, s, l, a == null ? 1 : a ]; >-}; >- >-spaces.hsla.from = function( hsla ) { >- if ( hsla[ 0 ] == null || hsla[ 1 ] == null || hsla[ 2 ] == null ) { >- return [ null, null, null, hsla[ 3 ] ]; >- } >- var h = hsla[ 0 ] / 360, >- s = hsla[ 1 ], >- l = hsla[ 2 ], >- a = hsla[ 3 ], >- q = l <= 0.5 ? l * ( 1 + s ) : l + s - l * s, >- p = 2 * l - q; >- >- return [ >- Math.round( hue2rgb( p, q, h + ( 1 / 3 ) ) * 255 ), >- Math.round( hue2rgb( p, q, h ) * 255 ), >- Math.round( hue2rgb( p, q, h - ( 1 / 3 ) ) * 255 ), >- a >- ]; >-}; >- >-each( spaces, function( spaceName, space ) { >- var props = space.props, >- cache = space.cache, >- to = space.to, >- from = space.from; >- >- // makes rgba() and hsla() >- color.fn[ spaceName ] = function( value ) { >- >- // generate a cache for this space if it doesn't exist >- if ( to && !this[ cache ] ) { >- this[ cache ] = to( this._rgba ); >- } >- if ( value === undefined ) { >- return this[ cache ].slice(); >- } >- >- var ret, >- type = jQuery.type( value ), >- arr = ( type === "array" || type === "object" ) ? value : arguments, >- local = this[ cache ].slice(); >- >- each( props, function( key, prop ) { >- var val = arr[ type === "object" ? key : prop.idx ]; >- if ( val == null ) { >- val = local[ prop.idx ]; >- } >- local[ prop.idx ] = clamp( val, prop ); >- }); >- >- if ( from ) { >- ret = color( from( local ) ); >- ret[ cache ] = local; >- return ret; >- } else { >- return color( local ); >- } >- }; >- >- // makes red() green() blue() alpha() hue() saturation() lightness() >- each( props, function( key, prop ) { >- // alpha is included in more than one space >- if ( color.fn[ key ] ) { >- return; >- } >- color.fn[ key ] = function( value ) { >- var vtype = jQuery.type( value ), >- fn = ( key === "alpha" ? ( this._hsla ? "hsla" : "rgba" ) : spaceName ), >- local = this[ fn ](), >- cur = local[ prop.idx ], >- match; >- >- if ( vtype === "undefined" ) { >- return cur; >- } >- >- if ( vtype === "function" ) { >- value = value.call( this, cur ); >- vtype = jQuery.type( value ); >- } >- if ( value == null && prop.empty ) { >- return this; >- } >- if ( vtype === "string" ) { >- match = rplusequals.exec( value ); >- if ( match ) { >- value = cur + parseFloat( match[ 2 ] ) * ( match[ 1 ] === "+" ? 1 : -1 ); >- } >- } >- local[ prop.idx ] = value; >- return this[ fn ]( local ); >- }; >- }); >-}); >- >-// add cssHook and .fx.step function for each named hook. >-// accept a space separated string of properties >-color.hook = function( hook ) { >- var hooks = hook.split( " " ); >- each( hooks, function( i, hook ) { >- jQuery.cssHooks[ hook ] = { >- set: function( elem, value ) { >- var parsed, curElem, >- backgroundColor = ""; >- >- if ( value !== "transparent" && ( jQuery.type( value ) !== "string" || ( parsed = stringParse( value ) ) ) ) { >- value = color( parsed || value ); >- if ( !support.rgba && value._rgba[ 3 ] !== 1 ) { >- curElem = hook === "backgroundColor" ? elem.parentNode : elem; >- while ( >- (backgroundColor === "" || backgroundColor === "transparent") && >- curElem && curElem.style >- ) { >- try { >- backgroundColor = jQuery.css( curElem, "backgroundColor" ); >- curElem = curElem.parentNode; >- } catch ( e ) { >- } >- } >- >- value = value.blend( backgroundColor && backgroundColor !== "transparent" ? >- backgroundColor : >- "_default" ); >- } >- >- value = value.toRgbaString(); >- } >- try { >- elem.style[ hook ] = value; >- } catch ( e ) { >- // wrapped to prevent IE from throwing errors on "invalid" values like 'auto' or 'inherit' >- } >- } >- }; >- jQuery.fx.step[ hook ] = function( fx ) { >- if ( !fx.colorInit ) { >- fx.start = color( fx.elem, hook ); >- fx.end = color( fx.end ); >- fx.colorInit = true; >- } >- jQuery.cssHooks[ hook ].set( fx.elem, fx.start.transition( fx.end, fx.pos ) ); >- }; >- }); >- >-}; >- >-color.hook( stepHooks ); >- >-jQuery.cssHooks.borderColor = { >- expand: function( value ) { >- var expanded = {}; >- >- each( [ "Top", "Right", "Bottom", "Left" ], function( i, part ) { >- expanded[ "border" + part + "Color" ] = value; >- }); >- return expanded; >- } >-}; >- >-// Basic color names only. >-// Usage of any of the other color names requires adding yourself or including >-// jquery.color.svg-names.js. >-colors = jQuery.Color.names = { >- // 4.1. Basic color keywords >- aqua: "#00ffff", >- black: "#000000", >- blue: "#0000ff", >- fuchsia: "#ff00ff", >- gray: "#808080", >- green: "#008000", >- lime: "#00ff00", >- maroon: "#800000", >- navy: "#000080", >- olive: "#808000", >- purple: "#800080", >- red: "#ff0000", >- silver: "#c0c0c0", >- teal: "#008080", >- white: "#ffffff", >- yellow: "#ffff00", >- >- // 4.2.3. "transparent" color keyword >- transparent: [ null, null, null, 0 ], >- >- _default: "#ffffff" >-}; >- >-})( jQuery ); >- >-/******************************************************************************/ >-/****************************** CLASS ANIMATIONS ******************************/ >-/******************************************************************************/ >-(function() { >- >-var classAnimationActions = [ "add", "remove", "toggle" ], >- shorthandStyles = { >- border: 1, >- borderBottom: 1, >- borderColor: 1, >- borderLeft: 1, >- borderRight: 1, >- borderTop: 1, >- borderWidth: 1, >- margin: 1, >- padding: 1 >- }; >- >-$.each([ "borderLeftStyle", "borderRightStyle", "borderBottomStyle", "borderTopStyle" ], function( _, prop ) { >- $.fx.step[ prop ] = function( fx ) { >- if ( fx.end !== "none" && !fx.setAttr || fx.pos === 1 && !fx.setAttr ) { >- jQuery.style( fx.elem, prop, fx.end ); >- fx.setAttr = true; >- } >- }; >-}); >- >-function getElementStyles( elem ) { >- var key, len, >- style = elem.ownerDocument.defaultView ? >- elem.ownerDocument.defaultView.getComputedStyle( elem, null ) : >- elem.currentStyle, >- styles = {}; >- >- if ( style && style.length && style[ 0 ] && style[ style[ 0 ] ] ) { >- len = style.length; >- while ( len-- ) { >- key = style[ len ]; >- if ( typeof style[ key ] === "string" ) { >- styles[ $.camelCase( key ) ] = style[ key ]; >- } >- } >- // support: Opera, IE <9 >- } else { >- for ( key in style ) { >- if ( typeof style[ key ] === "string" ) { >- styles[ key ] = style[ key ]; >- } >- } >- } >- >- return styles; >-} >- >-function styleDifference( oldStyle, newStyle ) { >- var diff = {}, >- name, value; >- >- for ( name in newStyle ) { >- value = newStyle[ name ]; >- if ( oldStyle[ name ] !== value ) { >- if ( !shorthandStyles[ name ] ) { >- if ( $.fx.step[ name ] || !isNaN( parseFloat( value ) ) ) { >- diff[ name ] = value; >- } >- } >- } >- } >- >- return diff; >-} >- >-// support: jQuery <1.8 >-if ( !$.fn.addBack ) { >- $.fn.addBack = function( selector ) { >- return this.add( selector == null ? >- this.prevObject : this.prevObject.filter( selector ) >- ); >- }; >-} >- >-$.effects.animateClass = function( value, duration, easing, callback ) { >- var o = $.speed( duration, easing, callback ); >- >- return this.queue( function() { >- var animated = $( this ), >- baseClass = animated.attr( "class" ) || "", >- applyClassChange, >- allAnimations = o.children ? animated.find( "*" ).addBack() : animated; >- >- // map the animated objects to store the original styles. >- allAnimations = allAnimations.map(function() { >- var el = $( this ); >- return { >- el: el, >- start: getElementStyles( this ) >- }; >- }); >- >- // apply class change >- applyClassChange = function() { >- $.each( classAnimationActions, function(i, action) { >- if ( value[ action ] ) { >- animated[ action + "Class" ]( value[ action ] ); >- } >- }); >- }; >- applyClassChange(); >- >- // map all animated objects again - calculate new styles and diff >- allAnimations = allAnimations.map(function() { >- this.end = getElementStyles( this.el[ 0 ] ); >- this.diff = styleDifference( this.start, this.end ); >- return this; >- }); >- >- // apply original class >- animated.attr( "class", baseClass ); >- >- // map all animated objects again - this time collecting a promise >- allAnimations = allAnimations.map(function() { >- var styleInfo = this, >- dfd = $.Deferred(), >- opts = $.extend({}, o, { >- queue: false, >- complete: function() { >- dfd.resolve( styleInfo ); >- } >- }); >- >- this.el.animate( this.diff, opts ); >- return dfd.promise(); >- }); >- >- // once all animations have completed: >- $.when.apply( $, allAnimations.get() ).done(function() { >- >- // set the final class >- applyClassChange(); >- >- // for each animated element, >- // clear all css properties that were animated >- $.each( arguments, function() { >- var el = this.el; >- $.each( this.diff, function(key) { >- el.css( key, "" ); >- }); >- }); >- >- // this is guarnteed to be there if you use jQuery.speed() >- // it also handles dequeuing the next anim... >- o.complete.call( animated[ 0 ] ); >- }); >- }); >-}; >- >-$.fn.extend({ >- addClass: (function( orig ) { >- return function( classNames, speed, easing, callback ) { >- return speed ? >- $.effects.animateClass.call( this, >- { add: classNames }, speed, easing, callback ) : >- orig.apply( this, arguments ); >- }; >- })( $.fn.addClass ), >- >- removeClass: (function( orig ) { >- return function( classNames, speed, easing, callback ) { >- return arguments.length > 1 ? >- $.effects.animateClass.call( this, >- { remove: classNames }, speed, easing, callback ) : >- orig.apply( this, arguments ); >- }; >- })( $.fn.removeClass ), >- >- toggleClass: (function( orig ) { >- return function( classNames, force, speed, easing, callback ) { >- if ( typeof force === "boolean" || force === undefined ) { >- if ( !speed ) { >- // without speed parameter >- return orig.apply( this, arguments ); >- } else { >- return $.effects.animateClass.call( this, >- (force ? { add: classNames } : { remove: classNames }), >- speed, easing, callback ); >- } >- } else { >- // without force parameter >- return $.effects.animateClass.call( this, >- { toggle: classNames }, force, speed, easing ); >- } >- }; >- })( $.fn.toggleClass ), >- >- switchClass: function( remove, add, speed, easing, callback) { >- return $.effects.animateClass.call( this, { >- add: add, >- remove: remove >- }, speed, easing, callback ); >- } >-}); >- >-})(); >- >-/******************************************************************************/ >-/*********************************** EFFECTS **********************************/ >-/******************************************************************************/ >- >-(function() { >- >-$.extend( $.effects, { >- version: "1.11.4", >- >- // Saves a set of properties in a data storage >- save: function( element, set ) { >- for ( var i = 0; i < set.length; i++ ) { >- if ( set[ i ] !== null ) { >- element.data( dataSpace + set[ i ], element[ 0 ].style[ set[ i ] ] ); >- } >- } >- }, >- >- // Restores a set of previously saved properties from a data storage >- restore: function( element, set ) { >- var val, i; >- for ( i = 0; i < set.length; i++ ) { >- if ( set[ i ] !== null ) { >- val = element.data( dataSpace + set[ i ] ); >- // support: jQuery 1.6.2 >- // http://bugs.jquery.com/ticket/9917 >- // jQuery 1.6.2 incorrectly returns undefined for any falsy value. >- // We can't differentiate between "" and 0 here, so we just assume >- // empty string since it's likely to be a more common value... >- if ( val === undefined ) { >- val = ""; >- } >- element.css( set[ i ], val ); >- } >- } >- }, >- >- setMode: function( el, mode ) { >- if (mode === "toggle") { >- mode = el.is( ":hidden" ) ? "show" : "hide"; >- } >- return mode; >- }, >- >- // Translates a [top,left] array into a baseline value >- // this should be a little more flexible in the future to handle a string & hash >- getBaseline: function( origin, original ) { >- var y, x; >- switch ( origin[ 0 ] ) { >- case "top": y = 0; break; >- case "middle": y = 0.5; break; >- case "bottom": y = 1; break; >- default: y = origin[ 0 ] / original.height; >- } >- switch ( origin[ 1 ] ) { >- case "left": x = 0; break; >- case "center": x = 0.5; break; >- case "right": x = 1; break; >- default: x = origin[ 1 ] / original.width; >- } >- return { >- x: x, >- y: y >- }; >- }, >- >- // Wraps the element around a wrapper that copies position properties >- createWrapper: function( element ) { >- >- // if the element is already wrapped, return it >- if ( element.parent().is( ".ui-effects-wrapper" )) { >- return element.parent(); >- } >- >- // wrap the element >- var props = { >- width: element.outerWidth(true), >- height: element.outerHeight(true), >- "float": element.css( "float" ) >- }, >- wrapper = $( "<div></div>" ) >- .addClass( "ui-effects-wrapper" ) >- .css({ >- fontSize: "100%", >- background: "transparent", >- border: "none", >- margin: 0, >- padding: 0 >- }), >- // Store the size in case width/height are defined in % - Fixes #5245 >- size = { >- width: element.width(), >- height: element.height() >- }, >- active = document.activeElement; >- >- // support: Firefox >- // Firefox incorrectly exposes anonymous content >- // https://bugzilla.mozilla.org/show_bug.cgi?id=561664 >- try { >- active.id; >- } catch ( e ) { >- active = document.body; >- } >- >- element.wrap( wrapper ); >- >- // Fixes #7595 - Elements lose focus when wrapped. >- if ( element[ 0 ] === active || $.contains( element[ 0 ], active ) ) { >- $( active ).focus(); >- } >- >- wrapper = element.parent(); //Hotfix for jQuery 1.4 since some change in wrap() seems to actually lose the reference to the wrapped element >- >- // transfer positioning properties to the wrapper >- if ( element.css( "position" ) === "static" ) { >- wrapper.css({ position: "relative" }); >- element.css({ position: "relative" }); >- } else { >- $.extend( props, { >- position: element.css( "position" ), >- zIndex: element.css( "z-index" ) >- }); >- $.each([ "top", "left", "bottom", "right" ], function(i, pos) { >- props[ pos ] = element.css( pos ); >- if ( isNaN( parseInt( props[ pos ], 10 ) ) ) { >- props[ pos ] = "auto"; >- } >- }); >- element.css({ >- position: "relative", >- top: 0, >- left: 0, >- right: "auto", >- bottom: "auto" >- }); >- } >- element.css(size); >- >- return wrapper.css( props ).show(); >- }, >- >- removeWrapper: function( element ) { >- var active = document.activeElement; >- >- if ( element.parent().is( ".ui-effects-wrapper" ) ) { >- element.parent().replaceWith( element ); >- >- // Fixes #7595 - Elements lose focus when wrapped. >- if ( element[ 0 ] === active || $.contains( element[ 0 ], active ) ) { >- $( active ).focus(); >- } >- } >- >- return element; >- }, >- >- setTransition: function( element, list, factor, value ) { >- value = value || {}; >- $.each( list, function( i, x ) { >- var unit = element.cssUnit( x ); >- if ( unit[ 0 ] > 0 ) { >- value[ x ] = unit[ 0 ] * factor + unit[ 1 ]; >- } >- }); >- return value; >- } >-}); >- >-// return an effect options object for the given parameters: >-function _normalizeArguments( effect, options, speed, callback ) { >- >- // allow passing all options as the first parameter >- if ( $.isPlainObject( effect ) ) { >- options = effect; >- effect = effect.effect; >- } >- >- // convert to an object >- effect = { effect: effect }; >- >- // catch (effect, null, ...) >- if ( options == null ) { >- options = {}; >- } >- >- // catch (effect, callback) >- if ( $.isFunction( options ) ) { >- callback = options; >- speed = null; >- options = {}; >- } >- >- // catch (effect, speed, ?) >- if ( typeof options === "number" || $.fx.speeds[ options ] ) { >- callback = speed; >- speed = options; >- options = {}; >- } >- >- // catch (effect, options, callback) >- if ( $.isFunction( speed ) ) { >- callback = speed; >- speed = null; >- } >- >- // add options to effect >- if ( options ) { >- $.extend( effect, options ); >- } >- >- speed = speed || options.duration; >- effect.duration = $.fx.off ? 0 : >- typeof speed === "number" ? speed : >- speed in $.fx.speeds ? $.fx.speeds[ speed ] : >- $.fx.speeds._default; >- >- effect.complete = callback || options.complete; >- >- return effect; >-} >- >-function standardAnimationOption( option ) { >- // Valid standard speeds (nothing, number, named speed) >- if ( !option || typeof option === "number" || $.fx.speeds[ option ] ) { >- return true; >- } >- >- // Invalid strings - treat as "normal" speed >- if ( typeof option === "string" && !$.effects.effect[ option ] ) { >- return true; >- } >- >- // Complete callback >- if ( $.isFunction( option ) ) { >- return true; >- } >- >- // Options hash (but not naming an effect) >- if ( typeof option === "object" && !option.effect ) { >- return true; >- } >- >- // Didn't match any standard API >- return false; >-} >- >-$.fn.extend({ >- effect: function( /* effect, options, speed, callback */ ) { >- var args = _normalizeArguments.apply( this, arguments ), >- mode = args.mode, >- queue = args.queue, >- effectMethod = $.effects.effect[ args.effect ]; >- >- if ( $.fx.off || !effectMethod ) { >- // delegate to the original method (e.g., .show()) if possible >- if ( mode ) { >- return this[ mode ]( args.duration, args.complete ); >- } else { >- return this.each( function() { >- if ( args.complete ) { >- args.complete.call( this ); >- } >- }); >- } >- } >- >- function run( next ) { >- var elem = $( this ), >- complete = args.complete, >- mode = args.mode; >- >- function done() { >- if ( $.isFunction( complete ) ) { >- complete.call( elem[0] ); >- } >- if ( $.isFunction( next ) ) { >- next(); >- } >- } >- >- // If the element already has the correct final state, delegate to >- // the core methods so the internal tracking of "olddisplay" works. >- if ( elem.is( ":hidden" ) ? mode === "hide" : mode === "show" ) { >- elem[ mode ](); >- done(); >- } else { >- effectMethod.call( elem[0], args, done ); >- } >- } >- >- return queue === false ? this.each( run ) : this.queue( queue || "fx", run ); >- }, >- >- show: (function( orig ) { >- return function( option ) { >- if ( standardAnimationOption( option ) ) { >- return orig.apply( this, arguments ); >- } else { >- var args = _normalizeArguments.apply( this, arguments ); >- args.mode = "show"; >- return this.effect.call( this, args ); >- } >- }; >- })( $.fn.show ), >- >- hide: (function( orig ) { >- return function( option ) { >- if ( standardAnimationOption( option ) ) { >- return orig.apply( this, arguments ); >- } else { >- var args = _normalizeArguments.apply( this, arguments ); >- args.mode = "hide"; >- return this.effect.call( this, args ); >- } >- }; >- })( $.fn.hide ), >- >- toggle: (function( orig ) { >- return function( option ) { >- if ( standardAnimationOption( option ) || typeof option === "boolean" ) { >- return orig.apply( this, arguments ); >- } else { >- var args = _normalizeArguments.apply( this, arguments ); >- args.mode = "toggle"; >- return this.effect.call( this, args ); >- } >- }; >- })( $.fn.toggle ), >- >- // helper functions >- cssUnit: function(key) { >- var style = this.css( key ), >- val = []; >- >- $.each( [ "em", "px", "%", "pt" ], function( i, unit ) { >- if ( style.indexOf( unit ) > 0 ) { >- val = [ parseFloat( style ), unit ]; >- } >- }); >- return val; >- } >-}); >- >-})(); >- >-/******************************************************************************/ >-/*********************************** EASING ***********************************/ >-/******************************************************************************/ >- >-(function() { >- >-// based on easing equations from Robert Penner (http://www.robertpenner.com/easing) >- >-var baseEasings = {}; >- >-$.each( [ "Quad", "Cubic", "Quart", "Quint", "Expo" ], function( i, name ) { >- baseEasings[ name ] = function( p ) { >- return Math.pow( p, i + 2 ); >- }; >-}); >- >-$.extend( baseEasings, { >- Sine: function( p ) { >- return 1 - Math.cos( p * Math.PI / 2 ); >- }, >- Circ: function( p ) { >- return 1 - Math.sqrt( 1 - p * p ); >- }, >- Elastic: function( p ) { >- return p === 0 || p === 1 ? p : >- -Math.pow( 2, 8 * (p - 1) ) * Math.sin( ( (p - 1) * 80 - 7.5 ) * Math.PI / 15 ); >- }, >- Back: function( p ) { >- return p * p * ( 3 * p - 2 ); >- }, >- Bounce: function( p ) { >- var pow2, >- bounce = 4; >- >- while ( p < ( ( pow2 = Math.pow( 2, --bounce ) ) - 1 ) / 11 ) {} >- return 1 / Math.pow( 4, 3 - bounce ) - 7.5625 * Math.pow( ( pow2 * 3 - 2 ) / 22 - p, 2 ); >- } >-}); >- >-$.each( baseEasings, function( name, easeIn ) { >- $.easing[ "easeIn" + name ] = easeIn; >- $.easing[ "easeOut" + name ] = function( p ) { >- return 1 - easeIn( 1 - p ); >- }; >- $.easing[ "easeInOut" + name ] = function( p ) { >- return p < 0.5 ? >- easeIn( p * 2 ) / 2 : >- 1 - easeIn( p * -2 + 2 ) / 2; >- }; >-}); >- >-})(); >- >-var effect = $.effects; >- >- >-/*! >- * jQuery UI Effects Highlight 1.11.4 >- * http://jqueryui.com >- * >- * Copyright jQuery Foundation and other contributors >- * Released under the MIT license. >- * http://jquery.org/license >- * >- * http://api.jqueryui.com/highlight-effect/ >- */ >- >- >-var effectHighlight = $.effects.effect.highlight = function( o, done ) { >- var elem = $( this ), >- props = [ "backgroundImage", "backgroundColor", "opacity" ], >- mode = $.effects.setMode( elem, o.mode || "show" ), >- animation = { >- backgroundColor: elem.css( "backgroundColor" ) >- }; >- >- if (mode === "hide") { >- animation.opacity = 0; >- } >- >- $.effects.save( elem, props ); >- >- elem >- .show() >- .css({ >- backgroundImage: "none", >- backgroundColor: o.color || "#ffff99" >- }) >- .animate( animation, { >- queue: false, >- duration: o.duration, >- easing: o.easing, >- complete: function() { >- if ( mode === "hide" ) { >- elem.hide(); >- } >- $.effects.restore( elem, props ); >- done(); >- } >- }); >-}; >- >- >- >-})); >\ No newline at end of file >diff --git a/koha-tmpl/intranet-tmpl/lib/jquery/jquery-ui-1.11.4.min.css b/koha-tmpl/intranet-tmpl/lib/jquery/jquery-ui-1.11.4.min.css >deleted file mode 100644 >index fb5ca58141..0000000000 >--- a/koha-tmpl/intranet-tmpl/lib/jquery/jquery-ui-1.11.4.min.css >+++ /dev/null >@@ -1,7 +0,0 @@ >-/*! jQuery UI - v1.11.4 - 2016-02-22 >-* http://jqueryui.com >-* Includes: core.css, draggable.css, sortable.css, accordion.css, autocomplete.css, button.css, datepicker.css, menu.css, progressbar.css, slider.css, tabs.css, theme.css >-* To view and modify this theme, visit http://jqueryui.com/themeroller/?ffDefault=Verdana%2CArial%2Csans-serif&fwDefault=normal&fsDefault=1.1em&cornerRadius=4px&bgColorHeader=cccccc&bgTextureHeader=highlight_soft&bgImgOpacityHeader=75&borderColorHeader=aaaaaa&fcHeader=222222&iconColorHeader=222222&bgColorContent=ffffff&bgTextureContent=flat&bgImgOpacityContent=75&borderColorContent=aaaaaa&fcContent=222222&iconColorContent=222222&bgColorDefault=e6e6e6&bgTextureDefault=glass&bgImgOpacityDefault=75&borderColorDefault=d3d3d3&fcDefault=555555&iconColorDefault=888888&bgColorHover=dadada&bgTextureHover=glass&bgImgOpacityHover=75&borderColorHover=999999&fcHover=212121&iconColorHover=454545&bgColorActive=ffffff&bgTextureActive=glass&bgImgOpacityActive=65&borderColorActive=aaaaaa&fcActive=212121&iconColorActive=454545&bgColorHighlight=fbf9ee&bgTextureHighlight=glass&bgImgOpacityHighlight=55&borderColorHighlight=fcefa1&fcHighlight=363636&iconColorHighlight=2e83ff&bgColorError=fef1ec&bgTextureError=glass&bgImgOpacityError=95&borderColorError=cd0a0a&fcError=cd0a0a&iconColorError=cd0a0a&bgColorOverlay=aaaaaa&bgTextureOverlay=flat&bgImgOpacityOverlay=0&opacityOverlay=30&bgColorShadow=aaaaaa&bgTextureShadow=flat&bgImgOpacityShadow=0&opacityShadow=30&thicknessShadow=8px&offsetTopShadow=-8px&offsetLeftShadow=-8px&cornerRadiusShadow=8px >-* Copyright jQuery Foundation and other contributors; Licensed MIT */ >- >-.ui-helper-hidden{display:none}.ui-helper-hidden-accessible{border:0;clip:rect(0 0 0 0);height:1px;margin:-1px;overflow:hidden;padding:0;position:absolute;width: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;border-collapse:collapse}.ui-helper-clearfix:after{clear:both}.ui-helper-clearfix{min-height:0}.ui-helper-zfix{width:100%;height:100%;top:0;left:0;position:absolute;opacity:0;filter:Alpha(Opacity=0)}.ui-front{z-index:100}.ui-state-disabled{cursor:default!important}.ui-icon{display:block;text-indent:-99999px;overflow:hidden;background-repeat:no-repeat}.ui-widget-overlay{position:fixed;top:0;left:0;width:100%;height:100%}.ui-draggable-handle{-ms-touch-action:none;touch-action:none}.ui-sortable-handle{-ms-touch-action:none;touch-action:none}.ui-accordion .ui-accordion-header{display:block;cursor:pointer;position:relative;margin:2px 0 0 0;padding:.5em .5em .5em .7em;min-height:0;font-size:100%}.ui-accordion .ui-accordion-icons{padding-left:2.2em}.ui-accordion .ui-accordion-icons .ui-accordion-icons{padding-left:2.2em}.ui-accordion .ui-accordion-header .ui-accordion-header-icon{position:absolute;left:.5em;top:50%;margin-top:-8px}.ui-accordion .ui-accordion-content{padding:1em 2.2em;border-top:0;overflow:auto}.ui-autocomplete{position:absolute;top:0;left:0;cursor:default}.ui-button{display:inline-block;position:relative;padding:0;line-height:normal;margin-right:.1em;cursor:pointer;vertical-align:middle;text-align:center;overflow:visible}.ui-button,.ui-button:link,.ui-button:visited,.ui-button:hover,.ui-button:active{text-decoration:none}.ui-button-icon-only{width:2.2em}button.ui-button-icon-only{width:2.4em}.ui-button-icons-only{width:3.4em}button.ui-button-icons-only{width:3.7em}.ui-button .ui-button-text{display:block;line-height:normal}.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}input.ui-button{padding:.4em 1em}.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-buttonset{margin-right:7px}.ui-buttonset .ui-button{margin-left:0;margin-right:-.3em}input.ui-button::-moz-focus-inner,button.ui-button::-moz-focus-inner{border:0;padding:0}.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,.ui-datepicker select.ui-datepicker-year{width:45%}.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}.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,.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:0}.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,.ui-datepicker-rtl .ui-datepicker-group{float:right}.ui-datepicker-rtl .ui-datepicker-group-last .ui-datepicker-header,.ui-datepicker-rtl .ui-datepicker-group-middle .ui-datepicker-header{border-right-width:0;border-left-width:1px}.ui-menu{list-style:none;padding:0;margin:0;display:block;outline:none}.ui-menu .ui-menu{position:absolute}.ui-menu .ui-menu-item{position:relative;margin:0;padding:3px 1em 3px .4em;cursor:pointer;min-height:0;list-style-image:url("data:image/gif;base64,R0lGODlhAQABAIAAAAAAAP///yH5BAEAAAAALAAAAAABAAEAAAIBRAA7")}.ui-menu .ui-menu-divider{margin:5px 0;height:0;font-size:0;line-height:0;border-width:1px 0 0 0}.ui-menu .ui-state-focus,.ui-menu .ui-state-active{margin:-1px}.ui-menu-icons{position:relative}.ui-menu-icons .ui-menu-item{padding-left:2em}.ui-menu .ui-icon{position:absolute;top:0;bottom:0;left:.2em;margin:auto 0}.ui-menu .ui-menu-icon{left:auto;right:0}.ui-progressbar{height:2em;text-align:left;overflow:hidden}.ui-progressbar .ui-progressbar-value{margin:-1px;height:100%}.ui-progressbar .ui-progressbar-overlay{background:url("data:image/gif;base64,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");height:100%;filter:alpha(opacity=25);opacity:0.25}.ui-progressbar-indeterminate .ui-progressbar-value{background-image:none}.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;-ms-touch-action:none;touch-action:none}.ui-slider .ui-slider-range{position:absolute;z-index:1;font-size:.7em;display:block;border:0;background-position:0 0}.ui-slider.ui-state-disabled .ui-slider-handle,.ui-slider.ui-state-disabled .ui-slider-range{filter:inherit}.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}.ui-tabs{position:relative;padding:.2em}.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:0;margin:1px .2em 0 0;border-bottom-width:0;padding:0;white-space:nowrap}.ui-tabs .ui-tabs-nav .ui-tabs-anchor{float:left;padding:.5em 1em;text-decoration:none}.ui-tabs .ui-tabs-nav li.ui-tabs-active{margin-bottom:-1px;padding-bottom:1px}.ui-tabs .ui-tabs-nav li.ui-tabs-active .ui-tabs-anchor,.ui-tabs .ui-tabs-nav li.ui-state-disabled .ui-tabs-anchor,.ui-tabs .ui-tabs-nav li.ui-tabs-loading .ui-tabs-anchor{cursor:text}.ui-tabs-collapsible .ui-tabs-nav li.ui-tabs-active .ui-tabs-anchor{cursor:pointer}.ui-tabs .ui-tabs-panel{display:block;border-width:0;padding:1em 1.4em;background:none}.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 #aaa;background:#fff;color:#222}.ui-widget-content a{color:#222}.ui-widget-header{border:1px solid #aaa;background:#ccc url("images/ui-bg_highlight-soft_75_cccccc_1x100.png") 50% 50% repeat-x;color:#222;font-weight:bold}.ui-widget-header a{color:#222}.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:#555}.ui-state-default a,.ui-state-default a:link,.ui-state-default a:visited{color:#555;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 #999;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,.ui-state-hover a:link,.ui-state-hover a:visited,.ui-state-focus a,.ui-state-focus a:hover,.ui-state-focus a:link,.ui-state-focus a:visited{color:#212121;text-decoration:none}.ui-state-active,.ui-widget-content .ui-state-active,.ui-widget-header .ui-state-active{border:1px solid #aaa;background:#fff 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-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}.ui-state-disabled .ui-icon{filter:Alpha(Opacity=35)}.ui-icon{width:16px;height:16px}.ui-icon,.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")}.ui-icon-blank{background-position:16px 16px}.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-on{background-position:-96px -144px}.ui-icon-radio-off{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{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}.ui-corner-all,.ui-corner-top,.ui-corner-left,.ui-corner-tl{border-top-left-radius:4px}.ui-corner-all,.ui-corner-top,.ui-corner-right,.ui-corner-tr{border-top-right-radius:4px}.ui-corner-all,.ui-corner-bottom,.ui-corner-left,.ui-corner-bl{border-bottom-left-radius:4px}.ui-corner-all,.ui-corner-bottom,.ui-corner-right,.ui-corner-br{border-bottom-right-radius:4px}.ui-widget-overlay{background:#aaa;opacity:.3;filter:Alpha(Opacity=30)}.ui-widget-shadow{margin:-8px 0 0 -8px;padding:8px;background:#aaa;opacity:.3;filter:Alpha(Opacity=30);border-radius:8px} >\ No newline at end of file >diff --git a/koha-tmpl/intranet-tmpl/lib/jquery/jquery-ui-1.11.4.min.js b/koha-tmpl/intranet-tmpl/lib/jquery/jquery-ui-1.11.4.min.js >deleted file mode 100644 >index 429430081b..0000000000 >--- a/koha-tmpl/intranet-tmpl/lib/jquery/jquery-ui-1.11.4.min.js >+++ /dev/null >@@ -1,11 +0,0 @@ >-/*! jQuery UI - v1.11.4 - 2016-02-22 >-* http://jqueryui.com >-* Includes: core.js, widget.js, mouse.js, position.js, draggable.js, droppable.js, sortable.js, accordion.js, autocomplete.js, button.js, datepicker.js, menu.js, progressbar.js, slider.js, tabs.js, effect.js, effect-highlight.js >-* Copyright jQuery Foundation and other contributors; Licensed MIT */ >- >-(function(e){"function"==typeof define&&define.amd?define(["jquery"],e):e(jQuery)})(function(e){function t(t,s){var n,a,o,r=t.nodeName.toLowerCase();return"area"===r?(n=t.parentNode,a=n.name,t.href&&a&&"map"===n.nodeName.toLowerCase()?(o=e("img[usemap='#"+a+"']")[0],!!o&&i(o)):!1):(/^(input|select|textarea|button|object)$/.test(r)?!t.disabled:"a"===r?t.href||s:s)&&i(t)}function i(t){return e.expr.filters.visible(t)&&!e(t).parents().addBack().filter(function(){return"hidden"===e.css(this,"visibility")}).length}function s(e){for(var t,i;e.length&&e[0]!==document;){if(t=e.css("position"),("absolute"===t||"relative"===t||"fixed"===t)&&(i=parseInt(e.css("zIndex"),10),!isNaN(i)&&0!==i))return i;e=e.parent()}return 0}function n(){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},e.extend(this._defaults,this.regional[""]),this.regional.en=e.extend(!0,{},this.regional[""]),this.regional["en-US"]=e.extend(!0,{},this.regional.en),this.dpDiv=a(e("<div id='"+this._mainDivId+"' class='ui-datepicker ui-widget ui-widget-content ui-helper-clearfix ui-corner-all'></div>"))}function a(t){var i="button, .ui-datepicker-prev, .ui-datepicker-next, .ui-datepicker-calendar td a";return t.delegate(i,"mouseout",function(){e(this).removeClass("ui-state-hover"),-1!==this.className.indexOf("ui-datepicker-prev")&&e(this).removeClass("ui-datepicker-prev-hover"),-1!==this.className.indexOf("ui-datepicker-next")&&e(this).removeClass("ui-datepicker-next-hover")}).delegate(i,"mouseover",o)}function o(){e.datepicker._isDisabledDatepicker(g.inline?g.dpDiv.parent()[0]:g.input[0])||(e(this).parents(".ui-datepicker-calendar").find("a").removeClass("ui-state-hover"),e(this).addClass("ui-state-hover"),-1!==this.className.indexOf("ui-datepicker-prev")&&e(this).addClass("ui-datepicker-prev-hover"),-1!==this.className.indexOf("ui-datepicker-next")&&e(this).addClass("ui-datepicker-next-hover"))}function r(t,i){e.extend(t,i);for(var s in i)null==i[s]&&(t[s]=i[s]);return t}e.ui=e.ui||{},e.extend(e.ui,{version:"1.11.4",keyCode:{BACKSPACE:8,COMMA:188,DELETE:46,DOWN:40,END:35,ENTER:13,ESCAPE:27,HOME:36,LEFT:37,PAGE_DOWN:34,PAGE_UP:33,PERIOD:190,RIGHT:39,SPACE:32,TAB:9,UP:38}}),e.fn.extend({scrollParent:function(t){var i=this.css("position"),s="absolute"===i,n=t?/(auto|scroll|hidden)/:/(auto|scroll)/,a=this.parents().filter(function(){var t=e(this);return s&&"static"===t.css("position")?!1:n.test(t.css("overflow")+t.css("overflow-y")+t.css("overflow-x"))}).eq(0);return"fixed"!==i&&a.length?a:e(this[0].ownerDocument||document)},uniqueId:function(){var e=0;return function(){return this.each(function(){this.id||(this.id="ui-id-"+ ++e)})}}(),removeUniqueId:function(){return this.each(function(){/^ui-id-\d+$/.test(this.id)&&e(this).removeAttr("id")})}}),e.extend(e.expr[":"],{data:e.expr.createPseudo?e.expr.createPseudo(function(t){return function(i){return!!e.data(i,t)}}):function(t,i,s){return!!e.data(t,s[3])},focusable:function(i){return t(i,!isNaN(e.attr(i,"tabindex")))},tabbable:function(i){var s=e.attr(i,"tabindex"),n=isNaN(s);return(n||s>=0)&&t(i,!n)}}),e("<a>").outerWidth(1).jquery||e.each(["Width","Height"],function(t,i){function s(t,i,s,a){return e.each(n,function(){i-=parseFloat(e.css(t,"padding"+this))||0,s&&(i-=parseFloat(e.css(t,"border"+this+"Width"))||0),a&&(i-=parseFloat(e.css(t,"margin"+this))||0)}),i}var n="Width"===i?["Left","Right"]:["Top","Bottom"],a=i.toLowerCase(),o={innerWidth:e.fn.innerWidth,innerHeight:e.fn.innerHeight,outerWidth:e.fn.outerWidth,outerHeight:e.fn.outerHeight};e.fn["inner"+i]=function(t){return void 0===t?o["inner"+i].call(this):this.each(function(){e(this).css(a,s(this,t)+"px")})},e.fn["outer"+i]=function(t,n){return"number"!=typeof t?o["outer"+i].call(this,t):this.each(function(){e(this).css(a,s(this,t,!0,n)+"px")})}}),e.fn.addBack||(e.fn.addBack=function(e){return this.add(null==e?this.prevObject:this.prevObject.filter(e))}),e("<a>").data("a-b","a").removeData("a-b").data("a-b")&&(e.fn.removeData=function(t){return function(i){return arguments.length?t.call(this,e.camelCase(i)):t.call(this)}}(e.fn.removeData)),e.ui.ie=!!/msie [\w.]+/.exec(navigator.userAgent.toLowerCase()),e.fn.extend({focus:function(t){return function(i,s){return"number"==typeof i?this.each(function(){var t=this;setTimeout(function(){e(t).focus(),s&&s.call(t)},i)}):t.apply(this,arguments)}}(e.fn.focus),disableSelection:function(){var e="onselectstart"in document.createElement("div")?"selectstart":"mousedown";return function(){return this.bind(e+".ui-disableSelection",function(e){e.preventDefault()})}}(),enableSelection:function(){return this.unbind(".ui-disableSelection")},zIndex:function(t){if(void 0!==t)return this.css("zIndex",t);if(this.length)for(var i,s,n=e(this[0]);n.length&&n[0]!==document;){if(i=n.css("position"),("absolute"===i||"relative"===i||"fixed"===i)&&(s=parseInt(n.css("zIndex"),10),!isNaN(s)&&0!==s))return s;n=n.parent()}return 0}}),e.ui.plugin={add:function(t,i,s){var n,a=e.ui[t].prototype;for(n in s)a.plugins[n]=a.plugins[n]||[],a.plugins[n].push([i,s[n]])},call:function(e,t,i,s){var n,a=e.plugins[t];if(a&&(s||e.element[0].parentNode&&11!==e.element[0].parentNode.nodeType))for(n=0;a.length>n;n++)e.options[a[n][0]]&&a[n][1].apply(e.element,i)}};var h=0,l=Array.prototype.slice;e.cleanData=function(t){return function(i){var s,n,a;for(a=0;null!=(n=i[a]);a++)try{s=e._data(n,"events"),s&&s.remove&&e(n).triggerHandler("remove")}catch(o){}t(i)}}(e.cleanData),e.widget=function(t,i,s){var n,a,o,r,h={},l=t.split(".")[0];return t=t.split(".")[1],n=l+"-"+t,s||(s=i,i=e.Widget),e.expr[":"][n.toLowerCase()]=function(t){return!!e.data(t,n)},e[l]=e[l]||{},a=e[l][t],o=e[l][t]=function(e,t){return this._createWidget?(arguments.length&&this._createWidget(e,t),void 0):new o(e,t)},e.extend(o,a,{version:s.version,_proto:e.extend({},s),_childConstructors:[]}),r=new i,r.options=e.widget.extend({},r.options),e.each(s,function(t,s){return e.isFunction(s)?(h[t]=function(){var e=function(){return i.prototype[t].apply(this,arguments)},n=function(e){return i.prototype[t].apply(this,e)};return function(){var t,i=this._super,a=this._superApply;return this._super=e,this._superApply=n,t=s.apply(this,arguments),this._super=i,this._superApply=a,t}}(),void 0):(h[t]=s,void 0)}),o.prototype=e.widget.extend(r,{widgetEventPrefix:a?r.widgetEventPrefix||t:t},h,{constructor:o,namespace:l,widgetName:t,widgetFullName:n}),a?(e.each(a._childConstructors,function(t,i){var s=i.prototype;e.widget(s.namespace+"."+s.widgetName,o,i._proto)}),delete a._childConstructors):i._childConstructors.push(o),e.widget.bridge(t,o),o},e.widget.extend=function(t){for(var i,s,n=l.call(arguments,1),a=0,o=n.length;o>a;a++)for(i in n[a])s=n[a][i],n[a].hasOwnProperty(i)&&void 0!==s&&(t[i]=e.isPlainObject(s)?e.isPlainObject(t[i])?e.widget.extend({},t[i],s):e.widget.extend({},s):s);return t},e.widget.bridge=function(t,i){var s=i.prototype.widgetFullName||t;e.fn[t]=function(n){var a="string"==typeof n,o=l.call(arguments,1),r=this;return a?this.each(function(){var i,a=e.data(this,s);return"instance"===n?(r=a,!1):a?e.isFunction(a[n])&&"_"!==n.charAt(0)?(i=a[n].apply(a,o),i!==a&&void 0!==i?(r=i&&i.jquery?r.pushStack(i.get()):i,!1):void 0):e.error("no such method '"+n+"' for "+t+" widget instance"):e.error("cannot call methods on "+t+" prior to initialization; "+"attempted to call method '"+n+"'")}):(o.length&&(n=e.widget.extend.apply(null,[n].concat(o))),this.each(function(){var t=e.data(this,s);t?(t.option(n||{}),t._init&&t._init()):e.data(this,s,new i(n,this))})),r}},e.Widget=function(){},e.Widget._childConstructors=[],e.Widget.prototype={widgetName:"widget",widgetEventPrefix:"",defaultElement:"<div>",options:{disabled:!1,create:null},_createWidget:function(t,i){i=e(i||this.defaultElement||this)[0],this.element=e(i),this.uuid=h++,this.eventNamespace="."+this.widgetName+this.uuid,this.bindings=e(),this.hoverable=e(),this.focusable=e(),i!==this&&(e.data(i,this.widgetFullName,this),this._on(!0,this.element,{remove:function(e){e.target===i&&this.destroy()}}),this.document=e(i.style?i.ownerDocument:i.document||i),this.window=e(this.document[0].defaultView||this.document[0].parentWindow)),this.options=e.widget.extend({},this.options,this._getCreateOptions(),t),this._create(),this._trigger("create",null,this._getCreateEventData()),this._init()},_getCreateOptions:e.noop,_getCreateEventData:e.noop,_create:e.noop,_init:e.noop,destroy:function(){this._destroy(),this.element.unbind(this.eventNamespace).removeData(this.widgetFullName).removeData(e.camelCase(this.widgetFullName)),this.widget().unbind(this.eventNamespace).removeAttr("aria-disabled").removeClass(this.widgetFullName+"-disabled "+"ui-state-disabled"),this.bindings.unbind(this.eventNamespace),this.hoverable.removeClass("ui-state-hover"),this.focusable.removeClass("ui-state-focus")},_destroy:e.noop,widget:function(){return this.element},option:function(t,i){var s,n,a,o=t;if(0===arguments.length)return e.widget.extend({},this.options);if("string"==typeof t)if(o={},s=t.split("."),t=s.shift(),s.length){for(n=o[t]=e.widget.extend({},this.options[t]),a=0;s.length-1>a;a++)n[s[a]]=n[s[a]]||{},n=n[s[a]];if(t=s.pop(),1===arguments.length)return void 0===n[t]?null:n[t];n[t]=i}else{if(1===arguments.length)return void 0===this.options[t]?null:this.options[t];o[t]=i}return this._setOptions(o),this},_setOptions:function(e){var t;for(t in e)this._setOption(t,e[t]);return this},_setOption:function(e,t){return this.options[e]=t,"disabled"===e&&(this.widget().toggleClass(this.widgetFullName+"-disabled",!!t),t&&(this.hoverable.removeClass("ui-state-hover"),this.focusable.removeClass("ui-state-focus"))),this},enable:function(){return this._setOptions({disabled:!1})},disable:function(){return this._setOptions({disabled:!0})},_on:function(t,i,s){var n,a=this;"boolean"!=typeof t&&(s=i,i=t,t=!1),s?(i=n=e(i),this.bindings=this.bindings.add(i)):(s=i,i=this.element,n=this.widget()),e.each(s,function(s,o){function r(){return t||a.options.disabled!==!0&&!e(this).hasClass("ui-state-disabled")?("string"==typeof o?a[o]:o).apply(a,arguments):void 0}"string"!=typeof o&&(r.guid=o.guid=o.guid||r.guid||e.guid++);var h=s.match(/^([\w:-]*)\s*(.*)$/),l=h[1]+a.eventNamespace,u=h[2];u?n.delegate(u,l,r):i.bind(l,r)})},_off:function(t,i){i=(i||"").split(" ").join(this.eventNamespace+" ")+this.eventNamespace,t.unbind(i).undelegate(i),this.bindings=e(this.bindings.not(t).get()),this.focusable=e(this.focusable.not(t).get()),this.hoverable=e(this.hoverable.not(t).get())},_delay:function(e,t){function i(){return("string"==typeof e?s[e]:e).apply(s,arguments)}var s=this;return setTimeout(i,t||0)},_hoverable:function(t){this.hoverable=this.hoverable.add(t),this._on(t,{mouseenter:function(t){e(t.currentTarget).addClass("ui-state-hover")},mouseleave:function(t){e(t.currentTarget).removeClass("ui-state-hover")}})},_focusable:function(t){this.focusable=this.focusable.add(t),this._on(t,{focusin:function(t){e(t.currentTarget).addClass("ui-state-focus")},focusout:function(t){e(t.currentTarget).removeClass("ui-state-focus")}})},_trigger:function(t,i,s){var n,a,o=this.options[t];if(s=s||{},i=e.Event(i),i.type=(t===this.widgetEventPrefix?t:this.widgetEventPrefix+t).toLowerCase(),i.target=this.element[0],a=i.originalEvent)for(n in a)n in i||(i[n]=a[n]);return this.element.trigger(i,s),!(e.isFunction(o)&&o.apply(this.element[0],[i].concat(s))===!1||i.isDefaultPrevented())}},e.each({show:"fadeIn",hide:"fadeOut"},function(t,i){e.Widget.prototype["_"+t]=function(s,n,a){"string"==typeof n&&(n={effect:n});var o,r=n?n===!0||"number"==typeof n?i:n.effect||i:t;n=n||{},"number"==typeof n&&(n={duration:n}),o=!e.isEmptyObject(n),n.complete=a,n.delay&&s.delay(n.delay),o&&e.effects&&e.effects.effect[r]?s[t](n):r!==t&&s[r]?s[r](n.duration,n.easing,a):s.queue(function(i){e(this)[t](),a&&a.call(s[0]),i()})}}),e.widget;var u=!1;e(document).mouseup(function(){u=!1}),e.widget("ui.mouse",{version:"1.11.4",options:{cancel:"input,textarea,button,select,option",distance:1,delay:0},_mouseInit:function(){var t=this;this.element.bind("mousedown."+this.widgetName,function(e){return t._mouseDown(e)}).bind("click."+this.widgetName,function(i){return!0===e.data(i.target,t.widgetName+".preventClickEvent")?(e.removeData(i.target,t.widgetName+".preventClickEvent"),i.stopImmediatePropagation(),!1):void 0}),this.started=!1},_mouseDestroy:function(){this.element.unbind("."+this.widgetName),this._mouseMoveDelegate&&this.document.unbind("mousemove."+this.widgetName,this._mouseMoveDelegate).unbind("mouseup."+this.widgetName,this._mouseUpDelegate)},_mouseDown:function(t){if(!u){this._mouseMoved=!1,this._mouseStarted&&this._mouseUp(t),this._mouseDownEvent=t;var i=this,s=1===t.which,n="string"==typeof this.options.cancel&&t.target.nodeName?e(t.target).closest(this.options.cancel).length:!1;return s&&!n&&this._mouseCapture(t)?(this.mouseDelayMet=!this.options.delay,this.mouseDelayMet||(this._mouseDelayTimer=setTimeout(function(){i.mouseDelayMet=!0},this.options.delay)),this._mouseDistanceMet(t)&&this._mouseDelayMet(t)&&(this._mouseStarted=this._mouseStart(t)!==!1,!this._mouseStarted)?(t.preventDefault(),!0):(!0===e.data(t.target,this.widgetName+".preventClickEvent")&&e.removeData(t.target,this.widgetName+".preventClickEvent"),this._mouseMoveDelegate=function(e){return i._mouseMove(e)},this._mouseUpDelegate=function(e){return i._mouseUp(e)},this.document.bind("mousemove."+this.widgetName,this._mouseMoveDelegate).bind("mouseup."+this.widgetName,this._mouseUpDelegate),t.preventDefault(),u=!0,!0)):!0}},_mouseMove:function(t){if(this._mouseMoved){if(e.ui.ie&&(!document.documentMode||9>document.documentMode)&&!t.button)return this._mouseUp(t);if(!t.which)return this._mouseUp(t)}return(t.which||t.button)&&(this._mouseMoved=!0),this._mouseStarted?(this._mouseDrag(t),t.preventDefault()):(this._mouseDistanceMet(t)&&this._mouseDelayMet(t)&&(this._mouseStarted=this._mouseStart(this._mouseDownEvent,t)!==!1,this._mouseStarted?this._mouseDrag(t):this._mouseUp(t)),!this._mouseStarted)},_mouseUp:function(t){return this.document.unbind("mousemove."+this.widgetName,this._mouseMoveDelegate).unbind("mouseup."+this.widgetName,this._mouseUpDelegate),this._mouseStarted&&(this._mouseStarted=!1,t.target===this._mouseDownEvent.target&&e.data(t.target,this.widgetName+".preventClickEvent",!0),this._mouseStop(t)),u=!1,!1},_mouseDistanceMet:function(e){return Math.max(Math.abs(this._mouseDownEvent.pageX-e.pageX),Math.abs(this._mouseDownEvent.pageY-e.pageY))>=this.options.distance},_mouseDelayMet:function(){return this.mouseDelayMet},_mouseStart:function(){},_mouseDrag:function(){},_mouseStop:function(){},_mouseCapture:function(){return!0}}),function(){function t(e,t,i){return[parseFloat(e[0])*(p.test(e[0])?t/100:1),parseFloat(e[1])*(p.test(e[1])?i/100:1)]}function i(t,i){return parseInt(e.css(t,i),10)||0}function s(t){var i=t[0];return 9===i.nodeType?{width:t.width(),height:t.height(),offset:{top:0,left:0}}:e.isWindow(i)?{width:t.width(),height:t.height(),offset:{top:t.scrollTop(),left:t.scrollLeft()}}:i.preventDefault?{width:0,height:0,offset:{top:i.pageY,left:i.pageX}}:{width:t.outerWidth(),height:t.outerHeight(),offset:t.offset()}}e.ui=e.ui||{};var n,a,o=Math.max,r=Math.abs,h=Math.round,l=/left|center|right/,u=/top|center|bottom/,c=/[\+\-]\d+(\.[\d]+)?%?/,d=/^\w+/,p=/%$/,f=e.fn.position;e.position={scrollbarWidth:function(){if(void 0!==n)return n;var t,i,s=e("<div style='display:block;position:absolute;width:50px;height:50px;overflow:hidden;'><div style='height:100px;width:auto;'></div></div>"),a=s.children()[0];return e("body").append(s),t=a.offsetWidth,s.css("overflow","scroll"),i=a.offsetWidth,t===i&&(i=s[0].clientWidth),s.remove(),n=t-i},getScrollInfo:function(t){var i=t.isWindow||t.isDocument?"":t.element.css("overflow-x"),s=t.isWindow||t.isDocument?"":t.element.css("overflow-y"),n="scroll"===i||"auto"===i&&t.width<t.element[0].scrollWidth,a="scroll"===s||"auto"===s&&t.height<t.element[0].scrollHeight;return{width:a?e.position.scrollbarWidth():0,height:n?e.position.scrollbarWidth():0}},getWithinInfo:function(t){var i=e(t||window),s=e.isWindow(i[0]),n=!!i[0]&&9===i[0].nodeType;return{element:i,isWindow:s,isDocument:n,offset:i.offset()||{left:0,top:0},scrollLeft:i.scrollLeft(),scrollTop:i.scrollTop(),width:s||n?i.width():i.outerWidth(),height:s||n?i.height():i.outerHeight()}}},e.fn.position=function(n){if(!n||!n.of)return f.apply(this,arguments);n=e.extend({},n);var p,m,g,v,_,b,y=e(n.of),x=e.position.getWithinInfo(n.within),w=e.position.getScrollInfo(x),k=(n.collision||"flip").split(" "),D={};return b=s(y),y[0].preventDefault&&(n.at="left top"),m=b.width,g=b.height,v=b.offset,_=e.extend({},v),e.each(["my","at"],function(){var e,t,i=(n[this]||"").split(" ");1===i.length&&(i=l.test(i[0])?i.concat(["center"]):u.test(i[0])?["center"].concat(i):["center","center"]),i[0]=l.test(i[0])?i[0]:"center",i[1]=u.test(i[1])?i[1]:"center",e=c.exec(i[0]),t=c.exec(i[1]),D[this]=[e?e[0]:0,t?t[0]:0],n[this]=[d.exec(i[0])[0],d.exec(i[1])[0]]}),1===k.length&&(k[1]=k[0]),"right"===n.at[0]?_.left+=m:"center"===n.at[0]&&(_.left+=m/2),"bottom"===n.at[1]?_.top+=g:"center"===n.at[1]&&(_.top+=g/2),p=t(D.at,m,g),_.left+=p[0],_.top+=p[1],this.each(function(){var s,l,u=e(this),c=u.outerWidth(),d=u.outerHeight(),f=i(this,"marginLeft"),b=i(this,"marginTop"),T=c+f+i(this,"marginRight")+w.width,S=d+b+i(this,"marginBottom")+w.height,M=e.extend({},_),N=t(D.my,u.outerWidth(),u.outerHeight());"right"===n.my[0]?M.left-=c:"center"===n.my[0]&&(M.left-=c/2),"bottom"===n.my[1]?M.top-=d:"center"===n.my[1]&&(M.top-=d/2),M.left+=N[0],M.top+=N[1],a||(M.left=h(M.left),M.top=h(M.top)),s={marginLeft:f,marginTop:b},e.each(["left","top"],function(t,i){e.ui.position[k[t]]&&e.ui.position[k[t]][i](M,{targetWidth:m,targetHeight:g,elemWidth:c,elemHeight:d,collisionPosition:s,collisionWidth:T,collisionHeight:S,offset:[p[0]+N[0],p[1]+N[1]],my:n.my,at:n.at,within:x,elem:u})}),n.using&&(l=function(e){var t=v.left-M.left,i=t+m-c,s=v.top-M.top,a=s+g-d,h={target:{element:y,left:v.left,top:v.top,width:m,height:g},element:{element:u,left:M.left,top:M.top,width:c,height:d},horizontal:0>i?"left":t>0?"right":"center",vertical:0>a?"top":s>0?"bottom":"middle"};c>m&&m>r(t+i)&&(h.horizontal="center"),d>g&&g>r(s+a)&&(h.vertical="middle"),h.important=o(r(t),r(i))>o(r(s),r(a))?"horizontal":"vertical",n.using.call(this,e,h)}),u.offset(e.extend(M,{using:l}))})},e.ui.position={fit:{left:function(e,t){var i,s=t.within,n=s.isWindow?s.scrollLeft:s.offset.left,a=s.width,r=e.left-t.collisionPosition.marginLeft,h=n-r,l=r+t.collisionWidth-a-n;t.collisionWidth>a?h>0&&0>=l?(i=e.left+h+t.collisionWidth-a-n,e.left+=h-i):e.left=l>0&&0>=h?n:h>l?n+a-t.collisionWidth:n:h>0?e.left+=h:l>0?e.left-=l:e.left=o(e.left-r,e.left)},top:function(e,t){var i,s=t.within,n=s.isWindow?s.scrollTop:s.offset.top,a=t.within.height,r=e.top-t.collisionPosition.marginTop,h=n-r,l=r+t.collisionHeight-a-n;t.collisionHeight>a?h>0&&0>=l?(i=e.top+h+t.collisionHeight-a-n,e.top+=h-i):e.top=l>0&&0>=h?n:h>l?n+a-t.collisionHeight:n:h>0?e.top+=h:l>0?e.top-=l:e.top=o(e.top-r,e.top)}},flip:{left:function(e,t){var i,s,n=t.within,a=n.offset.left+n.scrollLeft,o=n.width,h=n.isWindow?n.scrollLeft:n.offset.left,l=e.left-t.collisionPosition.marginLeft,u=l-h,c=l+t.collisionWidth-o-h,d="left"===t.my[0]?-t.elemWidth:"right"===t.my[0]?t.elemWidth:0,p="left"===t.at[0]?t.targetWidth:"right"===t.at[0]?-t.targetWidth:0,f=-2*t.offset[0];0>u?(i=e.left+d+p+f+t.collisionWidth-o-a,(0>i||r(u)>i)&&(e.left+=d+p+f)):c>0&&(s=e.left-t.collisionPosition.marginLeft+d+p+f-h,(s>0||c>r(s))&&(e.left+=d+p+f))},top:function(e,t){var i,s,n=t.within,a=n.offset.top+n.scrollTop,o=n.height,h=n.isWindow?n.scrollTop:n.offset.top,l=e.top-t.collisionPosition.marginTop,u=l-h,c=l+t.collisionHeight-o-h,d="top"===t.my[1],p=d?-t.elemHeight:"bottom"===t.my[1]?t.elemHeight:0,f="top"===t.at[1]?t.targetHeight:"bottom"===t.at[1]?-t.targetHeight:0,m=-2*t.offset[1];0>u?(s=e.top+p+f+m+t.collisionHeight-o-a,(0>s||r(u)>s)&&(e.top+=p+f+m)):c>0&&(i=e.top-t.collisionPosition.marginTop+p+f+m-h,(i>0||c>r(i))&&(e.top+=p+f+m))}},flipfit:{left:function(){e.ui.position.flip.left.apply(this,arguments),e.ui.position.fit.left.apply(this,arguments)},top:function(){e.ui.position.flip.top.apply(this,arguments),e.ui.position.fit.top.apply(this,arguments)}}},function(){var t,i,s,n,o,r=document.getElementsByTagName("body")[0],h=document.createElement("div");t=document.createElement(r?"div":"body"),s={visibility:"hidden",width:0,height:0,border:0,margin:0,background:"none"},r&&e.extend(s,{position:"absolute",left:"-1000px",top:"-1000px"});for(o in s)t.style[o]=s[o];t.appendChild(h),i=r||document.documentElement,i.insertBefore(t,i.firstChild),h.style.cssText="position: absolute; left: 10.7432222px;",n=e(h).offset().left,a=n>10&&11>n,t.innerHTML="",i.removeChild(t)}()}(),e.ui.position,e.widget("ui.draggable",e.ui.mouse,{version:"1.11.4",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,drag:null,start:null,stop:null},_create:function(){"original"===this.options.helper&&this._setPositionRelative(),this.options.addClasses&&this.element.addClass("ui-draggable"),this.options.disabled&&this.element.addClass("ui-draggable-disabled"),this._setHandleClassName(),this._mouseInit()},_setOption:function(e,t){this._super(e,t),"handle"===e&&(this._removeHandleClassName(),this._setHandleClassName())},_destroy:function(){return(this.helper||this.element).is(".ui-draggable-dragging")?(this.destroyOnClear=!0,void 0):(this.element.removeClass("ui-draggable ui-draggable-dragging ui-draggable-disabled"),this._removeHandleClassName(),this._mouseDestroy(),void 0)},_mouseCapture:function(t){var i=this.options;return this._blurActiveElement(t),this.helper||i.disabled||e(t.target).closest(".ui-resizable-handle").length>0?!1:(this.handle=this._getHandle(t),this.handle?(this._blockFrames(i.iframeFix===!0?"iframe":i.iframeFix),!0):!1)},_blockFrames:function(t){this.iframeBlocks=this.document.find(t).map(function(){var t=e(this);return e("<div>").css("position","absolute").appendTo(t.parent()).outerWidth(t.outerWidth()).outerHeight(t.outerHeight()).offset(t.offset())[0]})},_unblockFrames:function(){this.iframeBlocks&&(this.iframeBlocks.remove(),delete this.iframeBlocks)},_blurActiveElement:function(t){var i=this.document[0];if(this.handleElement.is(t.target))try{i.activeElement&&"body"!==i.activeElement.nodeName.toLowerCase()&&e(i.activeElement).blur()}catch(s){}},_mouseStart:function(t){var i=this.options;return this.helper=this._createHelper(t),this.helper.addClass("ui-draggable-dragging"),this._cacheHelperProportions(),e.ui.ddmanager&&(e.ui.ddmanager.current=this),this._cacheMargins(),this.cssPosition=this.helper.css("position"),this.scrollParent=this.helper.scrollParent(!0),this.offsetParent=this.helper.offsetParent(),this.hasFixedAncestor=this.helper.parents().filter(function(){return"fixed"===e(this).css("position")}).length>0,this.positionAbs=this.element.offset(),this._refreshOffsets(t),this.originalPosition=this.position=this._generatePosition(t,!1),this.originalPageX=t.pageX,this.originalPageY=t.pageY,i.cursorAt&&this._adjustOffsetFromHelper(i.cursorAt),this._setContainment(),this._trigger("start",t)===!1?(this._clear(),!1):(this._cacheHelperProportions(),e.ui.ddmanager&&!i.dropBehaviour&&e.ui.ddmanager.prepareOffsets(this,t),this._normalizeRightBottom(),this._mouseDrag(t,!0),e.ui.ddmanager&&e.ui.ddmanager.dragStart(this,t),!0)},_refreshOffsets:function(e){this.offset={top:this.positionAbs.top-this.margins.top,left:this.positionAbs.left-this.margins.left,scroll:!1,parent:this._getParentOffset(),relative:this._getRelativeOffset()},this.offset.click={left:e.pageX-this.offset.left,top:e.pageY-this.offset.top}},_mouseDrag:function(t,i){if(this.hasFixedAncestor&&(this.offset.parent=this._getParentOffset()),this.position=this._generatePosition(t,!0),this.positionAbs=this._convertPositionTo("absolute"),!i){var s=this._uiHash();if(this._trigger("drag",t,s)===!1)return this._mouseUp({}),!1;this.position=s.position}return this.helper[0].style.left=this.position.left+"px",this.helper[0].style.top=this.position.top+"px",e.ui.ddmanager&&e.ui.ddmanager.drag(this,t),!1},_mouseStop:function(t){var i=this,s=!1;return e.ui.ddmanager&&!this.options.dropBehaviour&&(s=e.ui.ddmanager.drop(this,t)),this.dropped&&(s=this.dropped,this.dropped=!1),"invalid"===this.options.revert&&!s||"valid"===this.options.revert&&s||this.options.revert===!0||e.isFunction(this.options.revert)&&this.options.revert.call(this.element,s)?e(this.helper).animate(this.originalPosition,parseInt(this.options.revertDuration,10),function(){i._trigger("stop",t)!==!1&&i._clear()}):this._trigger("stop",t)!==!1&&this._clear(),!1},_mouseUp:function(t){return this._unblockFrames(),e.ui.ddmanager&&e.ui.ddmanager.dragStop(this,t),this.handleElement.is(t.target)&&this.element.focus(),e.ui.mouse.prototype._mouseUp.call(this,t)},cancel:function(){return this.helper.is(".ui-draggable-dragging")?this._mouseUp({}):this._clear(),this},_getHandle:function(t){return this.options.handle?!!e(t.target).closest(this.element.find(this.options.handle)).length:!0},_setHandleClassName:function(){this.handleElement=this.options.handle?this.element.find(this.options.handle):this.element,this.handleElement.addClass("ui-draggable-handle")},_removeHandleClassName:function(){this.handleElement.removeClass("ui-draggable-handle")},_createHelper:function(t){var i=this.options,s=e.isFunction(i.helper),n=s?e(i.helper.apply(this.element[0],[t])):"clone"===i.helper?this.element.clone().removeAttr("id"):this.element;return n.parents("body").length||n.appendTo("parent"===i.appendTo?this.element[0].parentNode:i.appendTo),s&&n[0]===this.element[0]&&this._setPositionRelative(),n[0]===this.element[0]||/(fixed|absolute)/.test(n.css("position"))||n.css("position","absolute"),n},_setPositionRelative:function(){/^(?:r|a|f)/.test(this.element.css("position"))||(this.element[0].style.position="relative")},_adjustOffsetFromHelper:function(t){"string"==typeof t&&(t=t.split(" ")),e.isArray(t)&&(t={left:+t[0],top:+t[1]||0}),"left"in t&&(this.offset.click.left=t.left+this.margins.left),"right"in t&&(this.offset.click.left=this.helperProportions.width-t.right+this.margins.left),"top"in t&&(this.offset.click.top=t.top+this.margins.top),"bottom"in t&&(this.offset.click.top=this.helperProportions.height-t.bottom+this.margins.top)},_isRootNode:function(e){return/(html|body)/i.test(e.tagName)||e===this.document[0]},_getParentOffset:function(){var t=this.offsetParent.offset(),i=this.document[0];return"absolute"===this.cssPosition&&this.scrollParent[0]!==i&&e.contains(this.scrollParent[0],this.offsetParent[0])&&(t.left+=this.scrollParent.scrollLeft(),t.top+=this.scrollParent.scrollTop()),this._isRootNode(this.offsetParent[0])&&(t={top:0,left:0}),{top:t.top+(parseInt(this.offsetParent.css("borderTopWidth"),10)||0),left:t.left+(parseInt(this.offsetParent.css("borderLeftWidth"),10)||0)}},_getRelativeOffset:function(){if("relative"!==this.cssPosition)return{top:0,left:0};var e=this.element.position(),t=this._isRootNode(this.scrollParent[0]);return{top:e.top-(parseInt(this.helper.css("top"),10)||0)+(t?0:this.scrollParent.scrollTop()),left:e.left-(parseInt(this.helper.css("left"),10)||0)+(t?0:this.scrollParent.scrollLeft())}},_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 t,i,s,n=this.options,a=this.document[0];return this.relativeContainer=null,n.containment?"window"===n.containment?(this.containment=[e(window).scrollLeft()-this.offset.relative.left-this.offset.parent.left,e(window).scrollTop()-this.offset.relative.top-this.offset.parent.top,e(window).scrollLeft()+e(window).width()-this.helperProportions.width-this.margins.left,e(window).scrollTop()+(e(window).height()||a.body.parentNode.scrollHeight)-this.helperProportions.height-this.margins.top],void 0):"document"===n.containment?(this.containment=[0,0,e(a).width()-this.helperProportions.width-this.margins.left,(e(a).height()||a.body.parentNode.scrollHeight)-this.helperProportions.height-this.margins.top],void 0):n.containment.constructor===Array?(this.containment=n.containment,void 0):("parent"===n.containment&&(n.containment=this.helper[0].parentNode),i=e(n.containment),s=i[0],s&&(t=/(scroll|auto)/.test(i.css("overflow")),this.containment=[(parseInt(i.css("borderLeftWidth"),10)||0)+(parseInt(i.css("paddingLeft"),10)||0),(parseInt(i.css("borderTopWidth"),10)||0)+(parseInt(i.css("paddingTop"),10)||0),(t?Math.max(s.scrollWidth,s.offsetWidth):s.offsetWidth)-(parseInt(i.css("borderRightWidth"),10)||0)-(parseInt(i.css("paddingRight"),10)||0)-this.helperProportions.width-this.margins.left-this.margins.right,(t?Math.max(s.scrollHeight,s.offsetHeight):s.offsetHeight)-(parseInt(i.css("borderBottomWidth"),10)||0)-(parseInt(i.css("paddingBottom"),10)||0)-this.helperProportions.height-this.margins.top-this.margins.bottom],this.relativeContainer=i),void 0):(this.containment=null,void 0)},_convertPositionTo:function(e,t){t||(t=this.position);var i="absolute"===e?1:-1,s=this._isRootNode(this.scrollParent[0]);return{top:t.top+this.offset.relative.top*i+this.offset.parent.top*i-("fixed"===this.cssPosition?-this.offset.scroll.top:s?0:this.offset.scroll.top)*i,left:t.left+this.offset.relative.left*i+this.offset.parent.left*i-("fixed"===this.cssPosition?-this.offset.scroll.left:s?0:this.offset.scroll.left)*i}},_generatePosition:function(e,t){var i,s,n,a,o=this.options,r=this._isRootNode(this.scrollParent[0]),h=e.pageX,l=e.pageY;return r&&this.offset.scroll||(this.offset.scroll={top:this.scrollParent.scrollTop(),left:this.scrollParent.scrollLeft()}),t&&(this.containment&&(this.relativeContainer?(s=this.relativeContainer.offset(),i=[this.containment[0]+s.left,this.containment[1]+s.top,this.containment[2]+s.left,this.containment[3]+s.top]):i=this.containment,e.pageX-this.offset.click.left<i[0]&&(h=i[0]+this.offset.click.left),e.pageY-this.offset.click.top<i[1]&&(l=i[1]+this.offset.click.top),e.pageX-this.offset.click.left>i[2]&&(h=i[2]+this.offset.click.left),e.pageY-this.offset.click.top>i[3]&&(l=i[3]+this.offset.click.top)),o.grid&&(n=o.grid[1]?this.originalPageY+Math.round((l-this.originalPageY)/o.grid[1])*o.grid[1]:this.originalPageY,l=i?n-this.offset.click.top>=i[1]||n-this.offset.click.top>i[3]?n:n-this.offset.click.top>=i[1]?n-o.grid[1]:n+o.grid[1]:n,a=o.grid[0]?this.originalPageX+Math.round((h-this.originalPageX)/o.grid[0])*o.grid[0]:this.originalPageX,h=i?a-this.offset.click.left>=i[0]||a-this.offset.click.left>i[2]?a:a-this.offset.click.left>=i[0]?a-o.grid[0]:a+o.grid[0]:a),"y"===o.axis&&(h=this.originalPageX),"x"===o.axis&&(l=this.originalPageY)),{top:l-this.offset.click.top-this.offset.relative.top-this.offset.parent.top+("fixed"===this.cssPosition?-this.offset.scroll.top:r?0:this.offset.scroll.top),left:h-this.offset.click.left-this.offset.relative.left-this.offset.parent.left+("fixed"===this.cssPosition?-this.offset.scroll.left:r?0:this.offset.scroll.left)} >-},_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,this.destroyOnClear&&this.destroy()},_normalizeRightBottom:function(){"y"!==this.options.axis&&"auto"!==this.helper.css("right")&&(this.helper.width(this.helper.width()),this.helper.css("right","auto")),"x"!==this.options.axis&&"auto"!==this.helper.css("bottom")&&(this.helper.height(this.helper.height()),this.helper.css("bottom","auto"))},_trigger:function(t,i,s){return s=s||this._uiHash(),e.ui.plugin.call(this,t,[i,s,this],!0),/^(drag|start|stop)/.test(t)&&(this.positionAbs=this._convertPositionTo("absolute"),s.offset=this.positionAbs),e.Widget.prototype._trigger.call(this,t,i,s)},plugins:{},_uiHash:function(){return{helper:this.helper,position:this.position,originalPosition:this.originalPosition,offset:this.positionAbs}}}),e.ui.plugin.add("draggable","connectToSortable",{start:function(t,i,s){var n=e.extend({},i,{item:s.element});s.sortables=[],e(s.options.connectToSortable).each(function(){var i=e(this).sortable("instance");i&&!i.options.disabled&&(s.sortables.push(i),i.refreshPositions(),i._trigger("activate",t,n))})},stop:function(t,i,s){var n=e.extend({},i,{item:s.element});s.cancelHelperRemoval=!1,e.each(s.sortables,function(){var e=this;e.isOver?(e.isOver=0,s.cancelHelperRemoval=!0,e.cancelHelperRemoval=!1,e._storedCSS={position:e.placeholder.css("position"),top:e.placeholder.css("top"),left:e.placeholder.css("left")},e._mouseStop(t),e.options.helper=e.options._helper):(e.cancelHelperRemoval=!0,e._trigger("deactivate",t,n))})},drag:function(t,i,s){e.each(s.sortables,function(){var n=!1,a=this;a.positionAbs=s.positionAbs,a.helperProportions=s.helperProportions,a.offset.click=s.offset.click,a._intersectsWith(a.containerCache)&&(n=!0,e.each(s.sortables,function(){return this.positionAbs=s.positionAbs,this.helperProportions=s.helperProportions,this.offset.click=s.offset.click,this!==a&&this._intersectsWith(this.containerCache)&&e.contains(a.element[0],this.element[0])&&(n=!1),n})),n?(a.isOver||(a.isOver=1,s._parent=i.helper.parent(),a.currentItem=i.helper.appendTo(a.element).data("ui-sortable-item",!0),a.options._helper=a.options.helper,a.options.helper=function(){return i.helper[0]},t.target=a.currentItem[0],a._mouseCapture(t,!0),a._mouseStart(t,!0,!0),a.offset.click.top=s.offset.click.top,a.offset.click.left=s.offset.click.left,a.offset.parent.left-=s.offset.parent.left-a.offset.parent.left,a.offset.parent.top-=s.offset.parent.top-a.offset.parent.top,s._trigger("toSortable",t),s.dropped=a.element,e.each(s.sortables,function(){this.refreshPositions()}),s.currentItem=s.element,a.fromOutside=s),a.currentItem&&(a._mouseDrag(t),i.position=a.position)):a.isOver&&(a.isOver=0,a.cancelHelperRemoval=!0,a.options._revert=a.options.revert,a.options.revert=!1,a._trigger("out",t,a._uiHash(a)),a._mouseStop(t,!0),a.options.revert=a.options._revert,a.options.helper=a.options._helper,a.placeholder&&a.placeholder.remove(),i.helper.appendTo(s._parent),s._refreshOffsets(t),i.position=s._generatePosition(t,!0),s._trigger("fromSortable",t),s.dropped=!1,e.each(s.sortables,function(){this.refreshPositions()}))})}}),e.ui.plugin.add("draggable","cursor",{start:function(t,i,s){var n=e("body"),a=s.options;n.css("cursor")&&(a._cursor=n.css("cursor")),n.css("cursor",a.cursor)},stop:function(t,i,s){var n=s.options;n._cursor&&e("body").css("cursor",n._cursor)}}),e.ui.plugin.add("draggable","opacity",{start:function(t,i,s){var n=e(i.helper),a=s.options;n.css("opacity")&&(a._opacity=n.css("opacity")),n.css("opacity",a.opacity)},stop:function(t,i,s){var n=s.options;n._opacity&&e(i.helper).css("opacity",n._opacity)}}),e.ui.plugin.add("draggable","scroll",{start:function(e,t,i){i.scrollParentNotHidden||(i.scrollParentNotHidden=i.helper.scrollParent(!1)),i.scrollParentNotHidden[0]!==i.document[0]&&"HTML"!==i.scrollParentNotHidden[0].tagName&&(i.overflowOffset=i.scrollParentNotHidden.offset())},drag:function(t,i,s){var n=s.options,a=!1,o=s.scrollParentNotHidden[0],r=s.document[0];o!==r&&"HTML"!==o.tagName?(n.axis&&"x"===n.axis||(s.overflowOffset.top+o.offsetHeight-t.pageY<n.scrollSensitivity?o.scrollTop=a=o.scrollTop+n.scrollSpeed:t.pageY-s.overflowOffset.top<n.scrollSensitivity&&(o.scrollTop=a=o.scrollTop-n.scrollSpeed)),n.axis&&"y"===n.axis||(s.overflowOffset.left+o.offsetWidth-t.pageX<n.scrollSensitivity?o.scrollLeft=a=o.scrollLeft+n.scrollSpeed:t.pageX-s.overflowOffset.left<n.scrollSensitivity&&(o.scrollLeft=a=o.scrollLeft-n.scrollSpeed))):(n.axis&&"x"===n.axis||(t.pageY-e(r).scrollTop()<n.scrollSensitivity?a=e(r).scrollTop(e(r).scrollTop()-n.scrollSpeed):e(window).height()-(t.pageY-e(r).scrollTop())<n.scrollSensitivity&&(a=e(r).scrollTop(e(r).scrollTop()+n.scrollSpeed))),n.axis&&"y"===n.axis||(t.pageX-e(r).scrollLeft()<n.scrollSensitivity?a=e(r).scrollLeft(e(r).scrollLeft()-n.scrollSpeed):e(window).width()-(t.pageX-e(r).scrollLeft())<n.scrollSensitivity&&(a=e(r).scrollLeft(e(r).scrollLeft()+n.scrollSpeed)))),a!==!1&&e.ui.ddmanager&&!n.dropBehaviour&&e.ui.ddmanager.prepareOffsets(s,t)}}),e.ui.plugin.add("draggable","snap",{start:function(t,i,s){var n=s.options;s.snapElements=[],e(n.snap.constructor!==String?n.snap.items||":data(ui-draggable)":n.snap).each(function(){var t=e(this),i=t.offset();this!==s.element[0]&&s.snapElements.push({item:this,width:t.outerWidth(),height:t.outerHeight(),top:i.top,left:i.left})})},drag:function(t,i,s){var n,a,o,r,h,l,u,c,d,p,f=s.options,m=f.snapTolerance,g=i.offset.left,v=g+s.helperProportions.width,_=i.offset.top,b=_+s.helperProportions.height;for(d=s.snapElements.length-1;d>=0;d--)h=s.snapElements[d].left-s.margins.left,l=h+s.snapElements[d].width,u=s.snapElements[d].top-s.margins.top,c=u+s.snapElements[d].height,h-m>v||g>l+m||u-m>b||_>c+m||!e.contains(s.snapElements[d].item.ownerDocument,s.snapElements[d].item)?(s.snapElements[d].snapping&&s.options.snap.release&&s.options.snap.release.call(s.element,t,e.extend(s._uiHash(),{snapItem:s.snapElements[d].item})),s.snapElements[d].snapping=!1):("inner"!==f.snapMode&&(n=m>=Math.abs(u-b),a=m>=Math.abs(c-_),o=m>=Math.abs(h-v),r=m>=Math.abs(l-g),n&&(i.position.top=s._convertPositionTo("relative",{top:u-s.helperProportions.height,left:0}).top),a&&(i.position.top=s._convertPositionTo("relative",{top:c,left:0}).top),o&&(i.position.left=s._convertPositionTo("relative",{top:0,left:h-s.helperProportions.width}).left),r&&(i.position.left=s._convertPositionTo("relative",{top:0,left:l}).left)),p=n||a||o||r,"outer"!==f.snapMode&&(n=m>=Math.abs(u-_),a=m>=Math.abs(c-b),o=m>=Math.abs(h-g),r=m>=Math.abs(l-v),n&&(i.position.top=s._convertPositionTo("relative",{top:u,left:0}).top),a&&(i.position.top=s._convertPositionTo("relative",{top:c-s.helperProportions.height,left:0}).top),o&&(i.position.left=s._convertPositionTo("relative",{top:0,left:h}).left),r&&(i.position.left=s._convertPositionTo("relative",{top:0,left:l-s.helperProportions.width}).left)),!s.snapElements[d].snapping&&(n||a||o||r||p)&&s.options.snap.snap&&s.options.snap.snap.call(s.element,t,e.extend(s._uiHash(),{snapItem:s.snapElements[d].item})),s.snapElements[d].snapping=n||a||o||r||p)}}),e.ui.plugin.add("draggable","stack",{start:function(t,i,s){var n,a=s.options,o=e.makeArray(e(a.stack)).sort(function(t,i){return(parseInt(e(t).css("zIndex"),10)||0)-(parseInt(e(i).css("zIndex"),10)||0)});o.length&&(n=parseInt(e(o[0]).css("zIndex"),10)||0,e(o).each(function(t){e(this).css("zIndex",n+t)}),this.css("zIndex",n+o.length))}}),e.ui.plugin.add("draggable","zIndex",{start:function(t,i,s){var n=e(i.helper),a=s.options;n.css("zIndex")&&(a._zIndex=n.css("zIndex")),n.css("zIndex",a.zIndex)},stop:function(t,i,s){var n=s.options;n._zIndex&&e(i.helper).css("zIndex",n._zIndex)}}),e.ui.draggable,e.widget("ui.droppable",{version:"1.11.4",widgetEventPrefix:"drop",options:{accept:"*",activeClass:!1,addClasses:!0,greedy:!1,hoverClass:!1,scope:"default",tolerance:"intersect",activate:null,deactivate:null,drop:null,out:null,over:null},_create:function(){var t,i=this.options,s=i.accept;this.isover=!1,this.isout=!0,this.accept=e.isFunction(s)?s:function(e){return e.is(s)},this.proportions=function(){return arguments.length?(t=arguments[0],void 0):t?t:t={width:this.element[0].offsetWidth,height:this.element[0].offsetHeight}},this._addToManager(i.scope),i.addClasses&&this.element.addClass("ui-droppable")},_addToManager:function(t){e.ui.ddmanager.droppables[t]=e.ui.ddmanager.droppables[t]||[],e.ui.ddmanager.droppables[t].push(this)},_splice:function(e){for(var t=0;e.length>t;t++)e[t]===this&&e.splice(t,1)},_destroy:function(){var t=e.ui.ddmanager.droppables[this.options.scope];this._splice(t),this.element.removeClass("ui-droppable ui-droppable-disabled")},_setOption:function(t,i){if("accept"===t)this.accept=e.isFunction(i)?i:function(e){return e.is(i)};else if("scope"===t){var s=e.ui.ddmanager.droppables[this.options.scope];this._splice(s),this._addToManager(i)}this._super(t,i)},_activate:function(t){var i=e.ui.ddmanager.current;this.options.activeClass&&this.element.addClass(this.options.activeClass),i&&this._trigger("activate",t,this.ui(i))},_deactivate:function(t){var i=e.ui.ddmanager.current;this.options.activeClass&&this.element.removeClass(this.options.activeClass),i&&this._trigger("deactivate",t,this.ui(i))},_over:function(t){var i=e.ui.ddmanager.current;i&&(i.currentItem||i.element)[0]!==this.element[0]&&this.accept.call(this.element[0],i.currentItem||i.element)&&(this.options.hoverClass&&this.element.addClass(this.options.hoverClass),this._trigger("over",t,this.ui(i)))},_out:function(t){var i=e.ui.ddmanager.current;i&&(i.currentItem||i.element)[0]!==this.element[0]&&this.accept.call(this.element[0],i.currentItem||i.element)&&(this.options.hoverClass&&this.element.removeClass(this.options.hoverClass),this._trigger("out",t,this.ui(i)))},_drop:function(t,i){var s=i||e.ui.ddmanager.current,n=!1;return s&&(s.currentItem||s.element)[0]!==this.element[0]?(this.element.find(":data(ui-droppable)").not(".ui-draggable-dragging").each(function(){var i=e(this).droppable("instance");return i.options.greedy&&!i.options.disabled&&i.options.scope===s.options.scope&&i.accept.call(i.element[0],s.currentItem||s.element)&&e.ui.intersect(s,e.extend(i,{offset:i.element.offset()}),i.options.tolerance,t)?(n=!0,!1):void 0}),n?!1:this.accept.call(this.element[0],s.currentItem||s.element)?(this.options.activeClass&&this.element.removeClass(this.options.activeClass),this.options.hoverClass&&this.element.removeClass(this.options.hoverClass),this._trigger("drop",t,this.ui(s)),this.element):!1):!1},ui:function(e){return{draggable:e.currentItem||e.element,helper:e.helper,position:e.position,offset:e.positionAbs}}}),e.ui.intersect=function(){function e(e,t,i){return e>=t&&t+i>e}return function(t,i,s,n){if(!i.offset)return!1;var a=(t.positionAbs||t.position.absolute).left+t.margins.left,o=(t.positionAbs||t.position.absolute).top+t.margins.top,r=a+t.helperProportions.width,h=o+t.helperProportions.height,l=i.offset.left,u=i.offset.top,c=l+i.proportions().width,d=u+i.proportions().height;switch(s){case"fit":return a>=l&&c>=r&&o>=u&&d>=h;case"intersect":return a+t.helperProportions.width/2>l&&c>r-t.helperProportions.width/2&&o+t.helperProportions.height/2>u&&d>h-t.helperProportions.height/2;case"pointer":return e(n.pageY,u,i.proportions().height)&&e(n.pageX,l,i.proportions().width);case"touch":return(o>=u&&d>=o||h>=u&&d>=h||u>o&&h>d)&&(a>=l&&c>=a||r>=l&&c>=r||l>a&&r>c);default:return!1}}}(),e.ui.ddmanager={current:null,droppables:{"default":[]},prepareOffsets:function(t,i){var s,n,a=e.ui.ddmanager.droppables[t.options.scope]||[],o=i?i.type:null,r=(t.currentItem||t.element).find(":data(ui-droppable)").addBack();e:for(s=0;a.length>s;s++)if(!(a[s].options.disabled||t&&!a[s].accept.call(a[s].element[0],t.currentItem||t.element))){for(n=0;r.length>n;n++)if(r[n]===a[s].element[0]){a[s].proportions().height=0;continue e}a[s].visible="none"!==a[s].element.css("display"),a[s].visible&&("mousedown"===o&&a[s]._activate.call(a[s],i),a[s].offset=a[s].element.offset(),a[s].proportions({width:a[s].element[0].offsetWidth,height:a[s].element[0].offsetHeight}))}},drop:function(t,i){var s=!1;return e.each((e.ui.ddmanager.droppables[t.options.scope]||[]).slice(),function(){this.options&&(!this.options.disabled&&this.visible&&e.ui.intersect(t,this,this.options.tolerance,i)&&(s=this._drop.call(this,i)||s),!this.options.disabled&&this.visible&&this.accept.call(this.element[0],t.currentItem||t.element)&&(this.isout=!0,this.isover=!1,this._deactivate.call(this,i)))}),s},dragStart:function(t,i){t.element.parentsUntil("body").bind("scroll.droppable",function(){t.options.refreshPositions||e.ui.ddmanager.prepareOffsets(t,i)})},drag:function(t,i){t.options.refreshPositions&&e.ui.ddmanager.prepareOffsets(t,i),e.each(e.ui.ddmanager.droppables[t.options.scope]||[],function(){if(!this.options.disabled&&!this.greedyChild&&this.visible){var s,n,a,o=e.ui.intersect(t,this,this.options.tolerance,i),r=!o&&this.isover?"isout":o&&!this.isover?"isover":null;r&&(this.options.greedy&&(n=this.options.scope,a=this.element.parents(":data(ui-droppable)").filter(function(){return e(this).droppable("instance").options.scope===n}),a.length&&(s=e(a[0]).droppable("instance"),s.greedyChild="isover"===r)),s&&"isover"===r&&(s.isover=!1,s.isout=!0,s._out.call(s,i)),this[r]=!0,this["isout"===r?"isover":"isout"]=!1,this["isover"===r?"_over":"_out"].call(this,i),s&&"isout"===r&&(s.isout=!1,s.isover=!0,s._over.call(s,i)))}})},dragStop:function(t,i){t.element.parentsUntil("body").unbind("scroll.droppable"),t.options.refreshPositions||e.ui.ddmanager.prepareOffsets(t,i)}},e.ui.droppable,e.widget("ui.sortable",e.ui.mouse,{version:"1.11.4",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,activate:null,beforeStop:null,change:null,deactivate:null,out:null,over:null,receive:null,remove:null,sort:null,start:null,stop:null,update:null},_isOverAxis:function(e,t,i){return e>=t&&t+i>e},_isFloating:function(e){return/left|right/.test(e.css("float"))||/inline|table-cell/.test(e.css("display"))},_create:function(){this.containerCache={},this.element.addClass("ui-sortable"),this.refresh(),this.offset=this.element.offset(),this._mouseInit(),this._setHandleClassName(),this.ready=!0},_setOption:function(e,t){this._super(e,t),"handle"===e&&this._setHandleClassName()},_setHandleClassName:function(){this.element.find(".ui-sortable-handle").removeClass("ui-sortable-handle"),e.each(this.items,function(){(this.instance.options.handle?this.item.find(this.instance.options.handle):this.item).addClass("ui-sortable-handle")})},_destroy:function(){this.element.removeClass("ui-sortable ui-sortable-disabled").find(".ui-sortable-handle").removeClass("ui-sortable-handle"),this._mouseDestroy();for(var e=this.items.length-1;e>=0;e--)this.items[e].item.removeData(this.widgetName+"-item");return this},_mouseCapture:function(t,i){var s=null,n=!1,a=this;return this.reverting?!1:this.options.disabled||"static"===this.options.type?!1:(this._refreshItems(t),e(t.target).parents().each(function(){return e.data(this,a.widgetName+"-item")===a?(s=e(this),!1):void 0}),e.data(t.target,a.widgetName+"-item")===a&&(s=e(t.target)),s?!this.options.handle||i||(e(this.options.handle,s).find("*").addBack().each(function(){this===t.target&&(n=!0)}),n)?(this.currentItem=s,this._removeCurrentsFromItems(),!0):!1:!1)},_mouseStart:function(t,i,s){var n,a,o=this.options;if(this.currentContainer=this,this.refreshPositions(),this.helper=this._createHelper(t),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},e.extend(this.offset,{click:{left:t.pageX-this.offset.left,top:t.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(t),this.originalPageX=t.pageX,this.originalPageY=t.pageY,o.cursorAt&&this._adjustOffsetFromHelper(o.cursorAt),this.domPosition={prev:this.currentItem.prev()[0],parent:this.currentItem.parent()[0]},this.helper[0]!==this.currentItem[0]&&this.currentItem.hide(),this._createPlaceholder(),o.containment&&this._setContainment(),o.cursor&&"auto"!==o.cursor&&(a=this.document.find("body"),this.storedCursor=a.css("cursor"),a.css("cursor",o.cursor),this.storedStylesheet=e("<style>*{ cursor: "+o.cursor+" !important; }</style>").appendTo(a)),o.opacity&&(this.helper.css("opacity")&&(this._storedOpacity=this.helper.css("opacity")),this.helper.css("opacity",o.opacity)),o.zIndex&&(this.helper.css("zIndex")&&(this._storedZIndex=this.helper.css("zIndex")),this.helper.css("zIndex",o.zIndex)),this.scrollParent[0]!==this.document[0]&&"HTML"!==this.scrollParent[0].tagName&&(this.overflowOffset=this.scrollParent.offset()),this._trigger("start",t,this._uiHash()),this._preserveHelperProportions||this._cacheHelperProportions(),!s)for(n=this.containers.length-1;n>=0;n--)this.containers[n]._trigger("activate",t,this._uiHash(this));return e.ui.ddmanager&&(e.ui.ddmanager.current=this),e.ui.ddmanager&&!o.dropBehaviour&&e.ui.ddmanager.prepareOffsets(this,t),this.dragging=!0,this.helper.addClass("ui-sortable-helper"),this._mouseDrag(t),!0},_mouseDrag:function(t){var i,s,n,a,o=this.options,r=!1;for(this.position=this._generatePosition(t),this.positionAbs=this._convertPositionTo("absolute"),this.lastPositionAbs||(this.lastPositionAbs=this.positionAbs),this.options.scroll&&(this.scrollParent[0]!==this.document[0]&&"HTML"!==this.scrollParent[0].tagName?(this.overflowOffset.top+this.scrollParent[0].offsetHeight-t.pageY<o.scrollSensitivity?this.scrollParent[0].scrollTop=r=this.scrollParent[0].scrollTop+o.scrollSpeed:t.pageY-this.overflowOffset.top<o.scrollSensitivity&&(this.scrollParent[0].scrollTop=r=this.scrollParent[0].scrollTop-o.scrollSpeed),this.overflowOffset.left+this.scrollParent[0].offsetWidth-t.pageX<o.scrollSensitivity?this.scrollParent[0].scrollLeft=r=this.scrollParent[0].scrollLeft+o.scrollSpeed:t.pageX-this.overflowOffset.left<o.scrollSensitivity&&(this.scrollParent[0].scrollLeft=r=this.scrollParent[0].scrollLeft-o.scrollSpeed)):(t.pageY-this.document.scrollTop()<o.scrollSensitivity?r=this.document.scrollTop(this.document.scrollTop()-o.scrollSpeed):this.window.height()-(t.pageY-this.document.scrollTop())<o.scrollSensitivity&&(r=this.document.scrollTop(this.document.scrollTop()+o.scrollSpeed)),t.pageX-this.document.scrollLeft()<o.scrollSensitivity?r=this.document.scrollLeft(this.document.scrollLeft()-o.scrollSpeed):this.window.width()-(t.pageX-this.document.scrollLeft())<o.scrollSensitivity&&(r=this.document.scrollLeft(this.document.scrollLeft()+o.scrollSpeed))),r!==!1&&e.ui.ddmanager&&!o.dropBehaviour&&e.ui.ddmanager.prepareOffsets(this,t)),this.positionAbs=this._convertPositionTo("absolute"),this.options.axis&&"y"===this.options.axis||(this.helper[0].style.left=this.position.left+"px"),this.options.axis&&"x"===this.options.axis||(this.helper[0].style.top=this.position.top+"px"),i=this.items.length-1;i>=0;i--)if(s=this.items[i],n=s.item[0],a=this._intersectsWithPointer(s),a&&s.instance===this.currentContainer&&n!==this.currentItem[0]&&this.placeholder[1===a?"next":"prev"]()[0]!==n&&!e.contains(this.placeholder[0],n)&&("semi-dynamic"===this.options.type?!e.contains(this.element[0],n):!0)){if(this.direction=1===a?"down":"up","pointer"!==this.options.tolerance&&!this._intersectsWithSides(s))break;this._rearrange(t,s),this._trigger("change",t,this._uiHash());break}return this._contactContainers(t),e.ui.ddmanager&&e.ui.ddmanager.drag(this,t),this._trigger("sort",t,this._uiHash()),this.lastPositionAbs=this.positionAbs,!1},_mouseStop:function(t,i){if(t){if(e.ui.ddmanager&&!this.options.dropBehaviour&&e.ui.ddmanager.drop(this,t),this.options.revert){var s=this,n=this.placeholder.offset(),a=this.options.axis,o={};a&&"x"!==a||(o.left=n.left-this.offset.parent.left-this.margins.left+(this.offsetParent[0]===this.document[0].body?0:this.offsetParent[0].scrollLeft)),a&&"y"!==a||(o.top=n.top-this.offset.parent.top-this.margins.top+(this.offsetParent[0]===this.document[0].body?0:this.offsetParent[0].scrollTop)),this.reverting=!0,e(this.helper).animate(o,parseInt(this.options.revert,10)||500,function(){s._clear(t)})}else this._clear(t,i);return!1}},cancel:function(){if(this.dragging){this._mouseUp({target:null}),"original"===this.options.helper?this.currentItem.css(this._storedCSS).removeClass("ui-sortable-helper"):this.currentItem.show();for(var t=this.containers.length-1;t>=0;t--)this.containers[t]._trigger("deactivate",null,this._uiHash(this)),this.containers[t].containerCache.over&&(this.containers[t]._trigger("out",null,this._uiHash(this)),this.containers[t].containerCache.over=0)}return this.placeholder&&(this.placeholder[0].parentNode&&this.placeholder[0].parentNode.removeChild(this.placeholder[0]),"original"!==this.options.helper&&this.helper&&this.helper[0].parentNode&&this.helper.remove(),e.extend(this,{helper:null,dragging:!1,reverting:!1,_noFinalSort:null}),this.domPosition.prev?e(this.domPosition.prev).after(this.currentItem):e(this.domPosition.parent).prepend(this.currentItem)),this},serialize:function(t){var i=this._getItemsAsjQuery(t&&t.connected),s=[];return t=t||{},e(i).each(function(){var i=(e(t.item||this).attr(t.attribute||"id")||"").match(t.expression||/(.+)[\-=_](.+)/);i&&s.push((t.key||i[1]+"[]")+"="+(t.key&&t.expression?i[1]:i[2]))}),!s.length&&t.key&&s.push(t.key+"="),s.join("&")},toArray:function(t){var i=this._getItemsAsjQuery(t&&t.connected),s=[];return t=t||{},i.each(function(){s.push(e(t.item||this).attr(t.attribute||"id")||"")}),s},_intersectsWith:function(e){var t=this.positionAbs.left,i=t+this.helperProportions.width,s=this.positionAbs.top,n=s+this.helperProportions.height,a=e.left,o=a+e.width,r=e.top,h=r+e.height,l=this.offset.click.top,u=this.offset.click.left,c="x"===this.options.axis||s+l>r&&h>s+l,d="y"===this.options.axis||t+u>a&&o>t+u,p=c&&d;return"pointer"===this.options.tolerance||this.options.forcePointerForContainers||"pointer"!==this.options.tolerance&&this.helperProportions[this.floating?"width":"height"]>e[this.floating?"width":"height"]?p:t+this.helperProportions.width/2>a&&o>i-this.helperProportions.width/2&&s+this.helperProportions.height/2>r&&h>n-this.helperProportions.height/2},_intersectsWithPointer:function(e){var t="x"===this.options.axis||this._isOverAxis(this.positionAbs.top+this.offset.click.top,e.top,e.height),i="y"===this.options.axis||this._isOverAxis(this.positionAbs.left+this.offset.click.left,e.left,e.width),s=t&&i,n=this._getDragVerticalDirection(),a=this._getDragHorizontalDirection();return s?this.floating?a&&"right"===a||"down"===n?2:1:n&&("down"===n?2:1):!1},_intersectsWithSides:function(e){var t=this._isOverAxis(this.positionAbs.top+this.offset.click.top,e.top+e.height/2,e.height),i=this._isOverAxis(this.positionAbs.left+this.offset.click.left,e.left+e.width/2,e.width),s=this._getDragVerticalDirection(),n=this._getDragHorizontalDirection();return this.floating&&n?"right"===n&&i||"left"===n&&!i:s&&("down"===s&&t||"up"===s&&!t)},_getDragVerticalDirection:function(){var e=this.positionAbs.top-this.lastPositionAbs.top;return 0!==e&&(e>0?"down":"up")},_getDragHorizontalDirection:function(){var e=this.positionAbs.left-this.lastPositionAbs.left;return 0!==e&&(e>0?"right":"left")},refresh:function(e){return this._refreshItems(e),this._setHandleClassName(),this.refreshPositions(),this},_connectWith:function(){var e=this.options;return e.connectWith.constructor===String?[e.connectWith]:e.connectWith},_getItemsAsjQuery:function(t){function i(){r.push(this)}var s,n,a,o,r=[],h=[],l=this._connectWith();if(l&&t)for(s=l.length-1;s>=0;s--)for(a=e(l[s],this.document[0]),n=a.length-1;n>=0;n--)o=e.data(a[n],this.widgetFullName),o&&o!==this&&!o.options.disabled&&h.push([e.isFunction(o.options.items)?o.options.items.call(o.element):e(o.options.items,o.element).not(".ui-sortable-helper").not(".ui-sortable-placeholder"),o]);for(h.push([e.isFunction(this.options.items)?this.options.items.call(this.element,null,{options:this.options,item:this.currentItem}):e(this.options.items,this.element).not(".ui-sortable-helper").not(".ui-sortable-placeholder"),this]),s=h.length-1;s>=0;s--)h[s][0].each(i);return e(r)},_removeCurrentsFromItems:function(){var t=this.currentItem.find(":data("+this.widgetName+"-item)");this.items=e.grep(this.items,function(e){for(var i=0;t.length>i;i++)if(t[i]===e.item[0])return!1;return!0})},_refreshItems:function(t){this.items=[],this.containers=[this];var i,s,n,a,o,r,h,l,u=this.items,c=[[e.isFunction(this.options.items)?this.options.items.call(this.element[0],t,{item:this.currentItem}):e(this.options.items,this.element),this]],d=this._connectWith();if(d&&this.ready)for(i=d.length-1;i>=0;i--)for(n=e(d[i],this.document[0]),s=n.length-1;s>=0;s--)a=e.data(n[s],this.widgetFullName),a&&a!==this&&!a.options.disabled&&(c.push([e.isFunction(a.options.items)?a.options.items.call(a.element[0],t,{item:this.currentItem}):e(a.options.items,a.element),a]),this.containers.push(a));for(i=c.length-1;i>=0;i--)for(o=c[i][1],r=c[i][0],s=0,l=r.length;l>s;s++)h=e(r[s]),h.data(this.widgetName+"-item",o),u.push({item:h,instance:o,width:0,height:0,left:0,top:0})},refreshPositions:function(t){this.floating=this.items.length?"x"===this.options.axis||this._isFloating(this.items[0].item):!1,this.offsetParent&&this.helper&&(this.offset.parent=this._getParentOffset());var i,s,n,a;for(i=this.items.length-1;i>=0;i--)s=this.items[i],s.instance!==this.currentContainer&&this.currentContainer&&s.item[0]!==this.currentItem[0]||(n=this.options.toleranceElement?e(this.options.toleranceElement,s.item):s.item,t||(s.width=n.outerWidth(),s.height=n.outerHeight()),a=n.offset(),s.left=a.left,s.top=a.top);if(this.options.custom&&this.options.custom.refreshContainers)this.options.custom.refreshContainers.call(this);else for(i=this.containers.length-1;i>=0;i--)a=this.containers[i].element.offset(),this.containers[i].containerCache.left=a.left,this.containers[i].containerCache.top=a.top,this.containers[i].containerCache.width=this.containers[i].element.outerWidth(),this.containers[i].containerCache.height=this.containers[i].element.outerHeight();return this},_createPlaceholder:function(t){t=t||this;var i,s=t.options;s.placeholder&&s.placeholder.constructor!==String||(i=s.placeholder,s.placeholder={element:function(){var s=t.currentItem[0].nodeName.toLowerCase(),n=e("<"+s+">",t.document[0]).addClass(i||t.currentItem[0].className+" ui-sortable-placeholder").removeClass("ui-sortable-helper");return"tbody"===s?t._createTrPlaceholder(t.currentItem.find("tr").eq(0),e("<tr>",t.document[0]).appendTo(n)):"tr"===s?t._createTrPlaceholder(t.currentItem,n):"img"===s&&n.attr("src",t.currentItem.attr("src")),i||n.css("visibility","hidden"),n},update:function(e,n){(!i||s.forcePlaceholderSize)&&(n.height()||n.height(t.currentItem.innerHeight()-parseInt(t.currentItem.css("paddingTop")||0,10)-parseInt(t.currentItem.css("paddingBottom")||0,10)),n.width()||n.width(t.currentItem.innerWidth()-parseInt(t.currentItem.css("paddingLeft")||0,10)-parseInt(t.currentItem.css("paddingRight")||0,10)))}}),t.placeholder=e(s.placeholder.element.call(t.element,t.currentItem)),t.currentItem.after(t.placeholder),s.placeholder.update(t,t.placeholder)},_createTrPlaceholder:function(t,i){var s=this;t.children().each(function(){e("<td> </td>",s.document[0]).attr("colspan",e(this).attr("colspan")||1).appendTo(i)})},_contactContainers:function(t){var i,s,n,a,o,r,h,l,u,c,d=null,p=null;for(i=this.containers.length-1;i>=0;i--)if(!e.contains(this.currentItem[0],this.containers[i].element[0]))if(this._intersectsWith(this.containers[i].containerCache)){if(d&&e.contains(this.containers[i].element[0],d.element[0]))continue;d=this.containers[i],p=i}else this.containers[i].containerCache.over&&(this.containers[i]._trigger("out",t,this._uiHash(this)),this.containers[i].containerCache.over=0);if(d)if(1===this.containers.length)this.containers[p].containerCache.over||(this.containers[p]._trigger("over",t,this._uiHash(this)),this.containers[p].containerCache.over=1);else{for(n=1e4,a=null,u=d.floating||this._isFloating(this.currentItem),o=u?"left":"top",r=u?"width":"height",c=u?"clientX":"clientY",s=this.items.length-1;s>=0;s--)e.contains(this.containers[p].element[0],this.items[s].item[0])&&this.items[s].item[0]!==this.currentItem[0]&&(h=this.items[s].item.offset()[o],l=!1,t[c]-h>this.items[s][r]/2&&(l=!0),n>Math.abs(t[c]-h)&&(n=Math.abs(t[c]-h),a=this.items[s],this.direction=l?"up":"down"));if(!a&&!this.options.dropOnEmpty)return;if(this.currentContainer===this.containers[p])return this.currentContainer.containerCache.over||(this.containers[p]._trigger("over",t,this._uiHash()),this.currentContainer.containerCache.over=1),void 0;a?this._rearrange(t,a,null,!0):this._rearrange(t,null,this.containers[p].element,!0),this._trigger("change",t,this._uiHash()),this.containers[p]._trigger("change",t,this._uiHash(this)),this.currentContainer=this.containers[p],this.options.placeholder.update(this.currentContainer,this.placeholder),this.containers[p]._trigger("over",t,this._uiHash(this)),this.containers[p].containerCache.over=1}},_createHelper:function(t){var i=this.options,s=e.isFunction(i.helper)?e(i.helper.apply(this.element[0],[t,this.currentItem])):"clone"===i.helper?this.currentItem.clone():this.currentItem;return s.parents("body").length||e("parent"!==i.appendTo?i.appendTo:this.currentItem[0].parentNode)[0].appendChild(s[0]),s[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")}),(!s[0].style.width||i.forceHelperSize)&&s.width(this.currentItem.width()),(!s[0].style.height||i.forceHelperSize)&&s.height(this.currentItem.height()),s},_adjustOffsetFromHelper:function(t){"string"==typeof t&&(t=t.split(" ")),e.isArray(t)&&(t={left:+t[0],top:+t[1]||0}),"left"in t&&(this.offset.click.left=t.left+this.margins.left),"right"in t&&(this.offset.click.left=this.helperProportions.width-t.right+this.margins.left),"top"in t&&(this.offset.click.top=t.top+this.margins.top),"bottom"in t&&(this.offset.click.top=this.helperProportions.height-t.bottom+this.margins.top)},_getParentOffset:function(){this.offsetParent=this.helper.offsetParent();var t=this.offsetParent.offset();return"absolute"===this.cssPosition&&this.scrollParent[0]!==this.document[0]&&e.contains(this.scrollParent[0],this.offsetParent[0])&&(t.left+=this.scrollParent.scrollLeft(),t.top+=this.scrollParent.scrollTop()),(this.offsetParent[0]===this.document[0].body||this.offsetParent[0].tagName&&"html"===this.offsetParent[0].tagName.toLowerCase()&&e.ui.ie)&&(t={top:0,left:0}),{top:t.top+(parseInt(this.offsetParent.css("borderTopWidth"),10)||0),left:t.left+(parseInt(this.offsetParent.css("borderLeftWidth"),10)||0)}},_getRelativeOffset:function(){if("relative"===this.cssPosition){var e=this.currentItem.position();return{top:e.top-(parseInt(this.helper.css("top"),10)||0)+this.scrollParent.scrollTop(),left:e.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 t,i,s,n=this.options; >-"parent"===n.containment&&(n.containment=this.helper[0].parentNode),("document"===n.containment||"window"===n.containment)&&(this.containment=[0-this.offset.relative.left-this.offset.parent.left,0-this.offset.relative.top-this.offset.parent.top,"document"===n.containment?this.document.width():this.window.width()-this.helperProportions.width-this.margins.left,("document"===n.containment?this.document.width():this.window.height()||this.document[0].body.parentNode.scrollHeight)-this.helperProportions.height-this.margins.top]),/^(document|window|parent)$/.test(n.containment)||(t=e(n.containment)[0],i=e(n.containment).offset(),s="hidden"!==e(t).css("overflow"),this.containment=[i.left+(parseInt(e(t).css("borderLeftWidth"),10)||0)+(parseInt(e(t).css("paddingLeft"),10)||0)-this.margins.left,i.top+(parseInt(e(t).css("borderTopWidth"),10)||0)+(parseInt(e(t).css("paddingTop"),10)||0)-this.margins.top,i.left+(s?Math.max(t.scrollWidth,t.offsetWidth):t.offsetWidth)-(parseInt(e(t).css("borderLeftWidth"),10)||0)-(parseInt(e(t).css("paddingRight"),10)||0)-this.helperProportions.width-this.margins.left,i.top+(s?Math.max(t.scrollHeight,t.offsetHeight):t.offsetHeight)-(parseInt(e(t).css("borderTopWidth"),10)||0)-(parseInt(e(t).css("paddingBottom"),10)||0)-this.helperProportions.height-this.margins.top])},_convertPositionTo:function(t,i){i||(i=this.position);var s="absolute"===t?1:-1,n="absolute"!==this.cssPosition||this.scrollParent[0]!==this.document[0]&&e.contains(this.scrollParent[0],this.offsetParent[0])?this.scrollParent:this.offsetParent,a=/(html|body)/i.test(n[0].tagName);return{top:i.top+this.offset.relative.top*s+this.offset.parent.top*s-("fixed"===this.cssPosition?-this.scrollParent.scrollTop():a?0:n.scrollTop())*s,left:i.left+this.offset.relative.left*s+this.offset.parent.left*s-("fixed"===this.cssPosition?-this.scrollParent.scrollLeft():a?0:n.scrollLeft())*s}},_generatePosition:function(t){var i,s,n=this.options,a=t.pageX,o=t.pageY,r="absolute"!==this.cssPosition||this.scrollParent[0]!==this.document[0]&&e.contains(this.scrollParent[0],this.offsetParent[0])?this.scrollParent:this.offsetParent,h=/(html|body)/i.test(r[0].tagName);return"relative"!==this.cssPosition||this.scrollParent[0]!==this.document[0]&&this.scrollParent[0]!==this.offsetParent[0]||(this.offset.relative=this._getRelativeOffset()),this.originalPosition&&(this.containment&&(t.pageX-this.offset.click.left<this.containment[0]&&(a=this.containment[0]+this.offset.click.left),t.pageY-this.offset.click.top<this.containment[1]&&(o=this.containment[1]+this.offset.click.top),t.pageX-this.offset.click.left>this.containment[2]&&(a=this.containment[2]+this.offset.click.left),t.pageY-this.offset.click.top>this.containment[3]&&(o=this.containment[3]+this.offset.click.top)),n.grid&&(i=this.originalPageY+Math.round((o-this.originalPageY)/n.grid[1])*n.grid[1],o=this.containment?i-this.offset.click.top>=this.containment[1]&&i-this.offset.click.top<=this.containment[3]?i:i-this.offset.click.top>=this.containment[1]?i-n.grid[1]:i+n.grid[1]:i,s=this.originalPageX+Math.round((a-this.originalPageX)/n.grid[0])*n.grid[0],a=this.containment?s-this.offset.click.left>=this.containment[0]&&s-this.offset.click.left<=this.containment[2]?s:s-this.offset.click.left>=this.containment[0]?s-n.grid[0]:s+n.grid[0]:s)),{top:o-this.offset.click.top-this.offset.relative.top-this.offset.parent.top+("fixed"===this.cssPosition?-this.scrollParent.scrollTop():h?0:r.scrollTop()),left:a-this.offset.click.left-this.offset.relative.left-this.offset.parent.left+("fixed"===this.cssPosition?-this.scrollParent.scrollLeft():h?0:r.scrollLeft())}},_rearrange:function(e,t,i,s){i?i[0].appendChild(this.placeholder[0]):t.item[0].parentNode.insertBefore(this.placeholder[0],"down"===this.direction?t.item[0]:t.item[0].nextSibling),this.counter=this.counter?++this.counter:1;var n=this.counter;this._delay(function(){n===this.counter&&this.refreshPositions(!s)})},_clear:function(e,t){function i(e,t,i){return function(s){i._trigger(e,s,t._uiHash(t))}}this.reverting=!1;var s,n=[];if(!this._noFinalSort&&this.currentItem.parent().length&&this.placeholder.before(this.currentItem),this._noFinalSort=null,this.helper[0]===this.currentItem[0]){for(s in this._storedCSS)("auto"===this._storedCSS[s]||"static"===this._storedCSS[s])&&(this._storedCSS[s]="");this.currentItem.css(this._storedCSS).removeClass("ui-sortable-helper")}else this.currentItem.show();for(this.fromOutside&&!t&&n.push(function(e){this._trigger("receive",e,this._uiHash(this.fromOutside))}),!this.fromOutside&&this.domPosition.prev===this.currentItem.prev().not(".ui-sortable-helper")[0]&&this.domPosition.parent===this.currentItem.parent()[0]||t||n.push(function(e){this._trigger("update",e,this._uiHash())}),this!==this.currentContainer&&(t||(n.push(function(e){this._trigger("remove",e,this._uiHash())}),n.push(function(e){return function(t){e._trigger("receive",t,this._uiHash(this))}}.call(this,this.currentContainer)),n.push(function(e){return function(t){e._trigger("update",t,this._uiHash(this))}}.call(this,this.currentContainer)))),s=this.containers.length-1;s>=0;s--)t||n.push(i("deactivate",this,this.containers[s])),this.containers[s].containerCache.over&&(n.push(i("out",this,this.containers[s])),this.containers[s].containerCache.over=0);if(this.storedCursor&&(this.document.find("body").css("cursor",this.storedCursor),this.storedStylesheet.remove()),this._storedOpacity&&this.helper.css("opacity",this._storedOpacity),this._storedZIndex&&this.helper.css("zIndex","auto"===this._storedZIndex?"":this._storedZIndex),this.dragging=!1,t||this._trigger("beforeStop",e,this._uiHash()),this.placeholder[0].parentNode.removeChild(this.placeholder[0]),this.cancelHelperRemoval||(this.helper[0]!==this.currentItem[0]&&this.helper.remove(),this.helper=null),!t){for(s=0;n.length>s;s++)n[s].call(this,e);this._trigger("stop",e,this._uiHash())}return this.fromOutside=!1,!this.cancelHelperRemoval},_trigger:function(){e.Widget.prototype._trigger.apply(this,arguments)===!1&&this.cancel()},_uiHash:function(t){var i=t||this;return{helper:i.helper,placeholder:i.placeholder||e([]),position:i.position,originalPosition:i.originalPosition,offset:i.positionAbs,item:i.currentItem,sender:t?t.element:null}}}),e.widget("ui.accordion",{version:"1.11.4",options:{active:0,animate:{},collapsible:!1,event:"click",header:"> li > :first-child,> :not(li):even",heightStyle:"auto",icons:{activeHeader:"ui-icon-triangle-1-s",header:"ui-icon-triangle-1-e"},activate:null,beforeActivate:null},hideProps:{borderTopWidth:"hide",borderBottomWidth:"hide",paddingTop:"hide",paddingBottom:"hide",height:"hide"},showProps:{borderTopWidth:"show",borderBottomWidth:"show",paddingTop:"show",paddingBottom:"show",height:"show"},_create:function(){var t=this.options;this.prevShow=this.prevHide=e(),this.element.addClass("ui-accordion ui-widget ui-helper-reset").attr("role","tablist"),t.collapsible||t.active!==!1&&null!=t.active||(t.active=0),this._processPanels(),0>t.active&&(t.active+=this.headers.length),this._refresh()},_getCreateEventData:function(){return{header:this.active,panel:this.active.length?this.active.next():e()}},_createIcons:function(){var t=this.options.icons;t&&(e("<span>").addClass("ui-accordion-header-icon ui-icon "+t.header).prependTo(this.headers),this.active.children(".ui-accordion-header-icon").removeClass(t.header).addClass(t.activeHeader),this.headers.addClass("ui-accordion-icons"))},_destroyIcons:function(){this.headers.removeClass("ui-accordion-icons").children(".ui-accordion-header-icon").remove()},_destroy:function(){var e;this.element.removeClass("ui-accordion ui-widget ui-helper-reset").removeAttr("role"),this.headers.removeClass("ui-accordion-header ui-accordion-header-active ui-state-default ui-corner-all ui-state-active ui-state-disabled ui-corner-top").removeAttr("role").removeAttr("aria-expanded").removeAttr("aria-selected").removeAttr("aria-controls").removeAttr("tabIndex").removeUniqueId(),this._destroyIcons(),e=this.headers.next().removeClass("ui-helper-reset ui-widget-content ui-corner-bottom ui-accordion-content ui-accordion-content-active ui-state-disabled").css("display","").removeAttr("role").removeAttr("aria-hidden").removeAttr("aria-labelledby").removeUniqueId(),"content"!==this.options.heightStyle&&e.css("height","")},_setOption:function(e,t){return"active"===e?(this._activate(t),void 0):("event"===e&&(this.options.event&&this._off(this.headers,this.options.event),this._setupEvents(t)),this._super(e,t),"collapsible"!==e||t||this.options.active!==!1||this._activate(0),"icons"===e&&(this._destroyIcons(),t&&this._createIcons()),"disabled"===e&&(this.element.toggleClass("ui-state-disabled",!!t).attr("aria-disabled",t),this.headers.add(this.headers.next()).toggleClass("ui-state-disabled",!!t)),void 0)},_keydown:function(t){if(!t.altKey&&!t.ctrlKey){var i=e.ui.keyCode,s=this.headers.length,n=this.headers.index(t.target),a=!1;switch(t.keyCode){case i.RIGHT:case i.DOWN:a=this.headers[(n+1)%s];break;case i.LEFT:case i.UP:a=this.headers[(n-1+s)%s];break;case i.SPACE:case i.ENTER:this._eventHandler(t);break;case i.HOME:a=this.headers[0];break;case i.END:a=this.headers[s-1]}a&&(e(t.target).attr("tabIndex",-1),e(a).attr("tabIndex",0),a.focus(),t.preventDefault())}},_panelKeyDown:function(t){t.keyCode===e.ui.keyCode.UP&&t.ctrlKey&&e(t.currentTarget).prev().focus()},refresh:function(){var t=this.options;this._processPanels(),t.active===!1&&t.collapsible===!0||!this.headers.length?(t.active=!1,this.active=e()):t.active===!1?this._activate(0):this.active.length&&!e.contains(this.element[0],this.active[0])?this.headers.length===this.headers.find(".ui-state-disabled").length?(t.active=!1,this.active=e()):this._activate(Math.max(0,t.active-1)):t.active=this.headers.index(this.active),this._destroyIcons(),this._refresh()},_processPanels:function(){var e=this.headers,t=this.panels;this.headers=this.element.find(this.options.header).addClass("ui-accordion-header ui-state-default ui-corner-all"),this.panels=this.headers.next().addClass("ui-accordion-content ui-helper-reset ui-widget-content ui-corner-bottom").filter(":not(.ui-accordion-content-active)").hide(),t&&(this._off(e.not(this.headers)),this._off(t.not(this.panels)))},_refresh:function(){var t,i=this.options,s=i.heightStyle,n=this.element.parent();this.active=this._findActive(i.active).addClass("ui-accordion-header-active ui-state-active ui-corner-top").removeClass("ui-corner-all"),this.active.next().addClass("ui-accordion-content-active").show(),this.headers.attr("role","tab").each(function(){var t=e(this),i=t.uniqueId().attr("id"),s=t.next(),n=s.uniqueId().attr("id");t.attr("aria-controls",n),s.attr("aria-labelledby",i)}).next().attr("role","tabpanel"),this.headers.not(this.active).attr({"aria-selected":"false","aria-expanded":"false",tabIndex:-1}).next().attr({"aria-hidden":"true"}).hide(),this.active.length?this.active.attr({"aria-selected":"true","aria-expanded":"true",tabIndex:0}).next().attr({"aria-hidden":"false"}):this.headers.eq(0).attr("tabIndex",0),this._createIcons(),this._setupEvents(i.event),"fill"===s?(t=n.height(),this.element.siblings(":visible").each(function(){var i=e(this),s=i.css("position");"absolute"!==s&&"fixed"!==s&&(t-=i.outerHeight(!0))}),this.headers.each(function(){t-=e(this).outerHeight(!0)}),this.headers.next().each(function(){e(this).height(Math.max(0,t-e(this).innerHeight()+e(this).height()))}).css("overflow","auto")):"auto"===s&&(t=0,this.headers.next().each(function(){t=Math.max(t,e(this).css("height","").height())}).height(t))},_activate:function(t){var i=this._findActive(t)[0];i!==this.active[0]&&(i=i||this.active[0],this._eventHandler({target:i,currentTarget:i,preventDefault:e.noop}))},_findActive:function(t){return"number"==typeof t?this.headers.eq(t):e()},_setupEvents:function(t){var i={keydown:"_keydown"};t&&e.each(t.split(" "),function(e,t){i[t]="_eventHandler"}),this._off(this.headers.add(this.headers.next())),this._on(this.headers,i),this._on(this.headers.next(),{keydown:"_panelKeyDown"}),this._hoverable(this.headers),this._focusable(this.headers)},_eventHandler:function(t){var i=this.options,s=this.active,n=e(t.currentTarget),a=n[0]===s[0],o=a&&i.collapsible,r=o?e():n.next(),h=s.next(),l={oldHeader:s,oldPanel:h,newHeader:o?e():n,newPanel:r};t.preventDefault(),a&&!i.collapsible||this._trigger("beforeActivate",t,l)===!1||(i.active=o?!1:this.headers.index(n),this.active=a?e():n,this._toggle(l),s.removeClass("ui-accordion-header-active ui-state-active"),i.icons&&s.children(".ui-accordion-header-icon").removeClass(i.icons.activeHeader).addClass(i.icons.header),a||(n.removeClass("ui-corner-all").addClass("ui-accordion-header-active ui-state-active ui-corner-top"),i.icons&&n.children(".ui-accordion-header-icon").removeClass(i.icons.header).addClass(i.icons.activeHeader),n.next().addClass("ui-accordion-content-active")))},_toggle:function(t){var i=t.newPanel,s=this.prevShow.length?this.prevShow:t.oldPanel;this.prevShow.add(this.prevHide).stop(!0,!0),this.prevShow=i,this.prevHide=s,this.options.animate?this._animate(i,s,t):(s.hide(),i.show(),this._toggleComplete(t)),s.attr({"aria-hidden":"true"}),s.prev().attr({"aria-selected":"false","aria-expanded":"false"}),i.length&&s.length?s.prev().attr({tabIndex:-1,"aria-expanded":"false"}):i.length&&this.headers.filter(function(){return 0===parseInt(e(this).attr("tabIndex"),10)}).attr("tabIndex",-1),i.attr("aria-hidden","false").prev().attr({"aria-selected":"true","aria-expanded":"true",tabIndex:0})},_animate:function(e,t,i){var s,n,a,o=this,r=0,h=e.css("box-sizing"),l=e.length&&(!t.length||e.index()<t.index()),u=this.options.animate||{},c=l&&u.down||u,d=function(){o._toggleComplete(i)};return"number"==typeof c&&(a=c),"string"==typeof c&&(n=c),n=n||c.easing||u.easing,a=a||c.duration||u.duration,t.length?e.length?(s=e.show().outerHeight(),t.animate(this.hideProps,{duration:a,easing:n,step:function(e,t){t.now=Math.round(e)}}),e.hide().animate(this.showProps,{duration:a,easing:n,complete:d,step:function(e,i){i.now=Math.round(e),"height"!==i.prop?"content-box"===h&&(r+=i.now):"content"!==o.options.heightStyle&&(i.now=Math.round(s-t.outerHeight()-r),r=0)}}),void 0):t.animate(this.hideProps,a,n,d):e.animate(this.showProps,a,n,d)},_toggleComplete:function(e){var t=e.oldPanel;t.removeClass("ui-accordion-content-active").prev().removeClass("ui-corner-top").addClass("ui-corner-all"),t.length&&(t.parent()[0].className=t.parent()[0].className),this._trigger("activate",null,e)}}),e.widget("ui.menu",{version:"1.11.4",defaultElement:"<ul>",delay:300,options:{icons:{submenu:"ui-icon-carat-1-e"},items:"> *",menus:"ul",position:{my:"left-1 top",at:"right top"},role:"menu",blur:null,focus:null,select:null},_create:function(){this.activeMenu=this.element,this.mouseHandled=!1,this.element.uniqueId().addClass("ui-menu ui-widget ui-widget-content").toggleClass("ui-menu-icons",!!this.element.find(".ui-icon").length).attr({role:this.options.role,tabIndex:0}),this.options.disabled&&this.element.addClass("ui-state-disabled").attr("aria-disabled","true"),this._on({"mousedown .ui-menu-item":function(e){e.preventDefault()},"click .ui-menu-item":function(t){var i=e(t.target);!this.mouseHandled&&i.not(".ui-state-disabled").length&&(this.select(t),t.isPropagationStopped()||(this.mouseHandled=!0),i.has(".ui-menu").length?this.expand(t):!this.element.is(":focus")&&e(this.document[0].activeElement).closest(".ui-menu").length&&(this.element.trigger("focus",[!0]),this.active&&1===this.active.parents(".ui-menu").length&&clearTimeout(this.timer)))},"mouseenter .ui-menu-item":function(t){if(!this.previousFilter){var i=e(t.currentTarget);i.siblings(".ui-state-active").removeClass("ui-state-active"),this.focus(t,i)}},mouseleave:"collapseAll","mouseleave .ui-menu":"collapseAll",focus:function(e,t){var i=this.active||this.element.find(this.options.items).eq(0);t||this.focus(e,i)},blur:function(t){this._delay(function(){e.contains(this.element[0],this.document[0].activeElement)||this.collapseAll(t)})},keydown:"_keydown"}),this.refresh(),this._on(this.document,{click:function(e){this._closeOnDocumentClick(e)&&this.collapseAll(e),this.mouseHandled=!1}})},_destroy:function(){this.element.removeAttr("aria-activedescendant").find(".ui-menu").addBack().removeClass("ui-menu ui-widget ui-widget-content ui-menu-icons ui-front").removeAttr("role").removeAttr("tabIndex").removeAttr("aria-labelledby").removeAttr("aria-expanded").removeAttr("aria-hidden").removeAttr("aria-disabled").removeUniqueId().show(),this.element.find(".ui-menu-item").removeClass("ui-menu-item").removeAttr("role").removeAttr("aria-disabled").removeUniqueId().removeClass("ui-state-hover").removeAttr("tabIndex").removeAttr("role").removeAttr("aria-haspopup").children().each(function(){var t=e(this);t.data("ui-menu-submenu-carat")&&t.remove()}),this.element.find(".ui-menu-divider").removeClass("ui-menu-divider ui-widget-content")},_keydown:function(t){var i,s,n,a,o=!0;switch(t.keyCode){case e.ui.keyCode.PAGE_UP:this.previousPage(t);break;case e.ui.keyCode.PAGE_DOWN:this.nextPage(t);break;case e.ui.keyCode.HOME:this._move("first","first",t);break;case e.ui.keyCode.END:this._move("last","last",t);break;case e.ui.keyCode.UP:this.previous(t);break;case e.ui.keyCode.DOWN:this.next(t);break;case e.ui.keyCode.LEFT:this.collapse(t);break;case e.ui.keyCode.RIGHT:this.active&&!this.active.is(".ui-state-disabled")&&this.expand(t);break;case e.ui.keyCode.ENTER:case e.ui.keyCode.SPACE:this._activate(t);break;case e.ui.keyCode.ESCAPE:this.collapse(t);break;default:o=!1,s=this.previousFilter||"",n=String.fromCharCode(t.keyCode),a=!1,clearTimeout(this.filterTimer),n===s?a=!0:n=s+n,i=this._filterMenuItems(n),i=a&&-1!==i.index(this.active.next())?this.active.nextAll(".ui-menu-item"):i,i.length||(n=String.fromCharCode(t.keyCode),i=this._filterMenuItems(n)),i.length?(this.focus(t,i),this.previousFilter=n,this.filterTimer=this._delay(function(){delete this.previousFilter},1e3)):delete this.previousFilter}o&&t.preventDefault()},_activate:function(e){this.active.is(".ui-state-disabled")||(this.active.is("[aria-haspopup='true']")?this.expand(e):this.select(e))},refresh:function(){var t,i,s=this,n=this.options.icons.submenu,a=this.element.find(this.options.menus);this.element.toggleClass("ui-menu-icons",!!this.element.find(".ui-icon").length),a.filter(":not(.ui-menu)").addClass("ui-menu ui-widget ui-widget-content ui-front").hide().attr({role:this.options.role,"aria-hidden":"true","aria-expanded":"false"}).each(function(){var t=e(this),i=t.parent(),s=e("<span>").addClass("ui-menu-icon ui-icon "+n).data("ui-menu-submenu-carat",!0);i.attr("aria-haspopup","true").prepend(s),t.attr("aria-labelledby",i.attr("id"))}),t=a.add(this.element),i=t.find(this.options.items),i.not(".ui-menu-item").each(function(){var t=e(this);s._isDivider(t)&&t.addClass("ui-widget-content ui-menu-divider")}),i.not(".ui-menu-item, .ui-menu-divider").addClass("ui-menu-item").uniqueId().attr({tabIndex:-1,role:this._itemRole()}),i.filter(".ui-state-disabled").attr("aria-disabled","true"),this.active&&!e.contains(this.element[0],this.active[0])&&this.blur()},_itemRole:function(){return{menu:"menuitem",listbox:"option"}[this.options.role]},_setOption:function(e,t){"icons"===e&&this.element.find(".ui-menu-icon").removeClass(this.options.icons.submenu).addClass(t.submenu),"disabled"===e&&this.element.toggleClass("ui-state-disabled",!!t).attr("aria-disabled",t),this._super(e,t)},focus:function(e,t){var i,s;this.blur(e,e&&"focus"===e.type),this._scrollIntoView(t),this.active=t.first(),s=this.active.addClass("ui-state-focus").removeClass("ui-state-active"),this.options.role&&this.element.attr("aria-activedescendant",s.attr("id")),this.active.parent().closest(".ui-menu-item").addClass("ui-state-active"),e&&"keydown"===e.type?this._close():this.timer=this._delay(function(){this._close()},this.delay),i=t.children(".ui-menu"),i.length&&e&&/^mouse/.test(e.type)&&this._startOpening(i),this.activeMenu=t.parent(),this._trigger("focus",e,{item:t})},_scrollIntoView:function(t){var i,s,n,a,o,r;this._hasScroll()&&(i=parseFloat(e.css(this.activeMenu[0],"borderTopWidth"))||0,s=parseFloat(e.css(this.activeMenu[0],"paddingTop"))||0,n=t.offset().top-this.activeMenu.offset().top-i-s,a=this.activeMenu.scrollTop(),o=this.activeMenu.height(),r=t.outerHeight(),0>n?this.activeMenu.scrollTop(a+n):n+r>o&&this.activeMenu.scrollTop(a+n-o+r))},blur:function(e,t){t||clearTimeout(this.timer),this.active&&(this.active.removeClass("ui-state-focus"),this.active=null,this._trigger("blur",e,{item:this.active}))},_startOpening:function(e){clearTimeout(this.timer),"true"===e.attr("aria-hidden")&&(this.timer=this._delay(function(){this._close(),this._open(e)},this.delay))},_open:function(t){var i=e.extend({of:this.active},this.options.position);clearTimeout(this.timer),this.element.find(".ui-menu").not(t.parents(".ui-menu")).hide().attr("aria-hidden","true"),t.show().removeAttr("aria-hidden").attr("aria-expanded","true").position(i)},collapseAll:function(t,i){clearTimeout(this.timer),this.timer=this._delay(function(){var s=i?this.element:e(t&&t.target).closest(this.element.find(".ui-menu"));s.length||(s=this.element),this._close(s),this.blur(t),this.activeMenu=s},this.delay)},_close:function(e){e||(e=this.active?this.active.parent():this.element),e.find(".ui-menu").hide().attr("aria-hidden","true").attr("aria-expanded","false").end().find(".ui-state-active").not(".ui-state-focus").removeClass("ui-state-active")},_closeOnDocumentClick:function(t){return!e(t.target).closest(".ui-menu").length},_isDivider:function(e){return!/[^\-\u2014\u2013\s]/.test(e.text())},collapse:function(e){var t=this.active&&this.active.parent().closest(".ui-menu-item",this.element);t&&t.length&&(this._close(),this.focus(e,t))},expand:function(e){var t=this.active&&this.active.children(".ui-menu ").find(this.options.items).first();t&&t.length&&(this._open(t.parent()),this._delay(function(){this.focus(e,t)}))},next:function(e){this._move("next","first",e)},previous:function(e){this._move("prev","last",e)},isFirstItem:function(){return this.active&&!this.active.prevAll(".ui-menu-item").length},isLastItem:function(){return this.active&&!this.active.nextAll(".ui-menu-item").length},_move:function(e,t,i){var s;this.active&&(s="first"===e||"last"===e?this.active["first"===e?"prevAll":"nextAll"](".ui-menu-item").eq(-1):this.active[e+"All"](".ui-menu-item").eq(0)),s&&s.length&&this.active||(s=this.activeMenu.find(this.options.items)[t]()),this.focus(i,s)},nextPage:function(t){var i,s,n;return this.active?(this.isLastItem()||(this._hasScroll()?(s=this.active.offset().top,n=this.element.height(),this.active.nextAll(".ui-menu-item").each(function(){return i=e(this),0>i.offset().top-s-n}),this.focus(t,i)):this.focus(t,this.activeMenu.find(this.options.items)[this.active?"last":"first"]())),void 0):(this.next(t),void 0)},previousPage:function(t){var i,s,n;return this.active?(this.isFirstItem()||(this._hasScroll()?(s=this.active.offset().top,n=this.element.height(),this.active.prevAll(".ui-menu-item").each(function(){return i=e(this),i.offset().top-s+n>0}),this.focus(t,i)):this.focus(t,this.activeMenu.find(this.options.items).first())),void 0):(this.next(t),void 0)},_hasScroll:function(){return this.element.outerHeight()<this.element.prop("scrollHeight")},select:function(t){this.active=this.active||e(t.target).closest(".ui-menu-item");var i={item:this.active};this.active.has(".ui-menu").length||this.collapseAll(t,!0),this._trigger("select",t,i)},_filterMenuItems:function(t){var i=t.replace(/[\-\[\]{}()*+?.,\\\^$|#\s]/g,"\\$&"),s=RegExp("^"+i,"i");return this.activeMenu.find(this.options.items).filter(".ui-menu-item").filter(function(){return s.test(e.trim(e(this).text()))})}}),e.widget("ui.autocomplete",{version:"1.11.4",defaultElement:"<input>",options:{appendTo:null,autoFocus:!1,delay:300,minLength:1,position:{my:"left top",at:"left bottom",collision:"none"},source:null,change:null,close:null,focus:null,open:null,response:null,search:null,select:null},requestIndex:0,pending:0,_create:function(){var t,i,s,n=this.element[0].nodeName.toLowerCase(),a="textarea"===n,o="input"===n;this.isMultiLine=a?!0:o?!1:this.element.prop("isContentEditable"),this.valueMethod=this.element[a||o?"val":"text"],this.isNewMenu=!0,this.element.addClass("ui-autocomplete-input").attr("autocomplete","off"),this._on(this.element,{keydown:function(n){if(this.element.prop("readOnly"))return t=!0,s=!0,i=!0,void 0;t=!1,s=!1,i=!1;var a=e.ui.keyCode;switch(n.keyCode){case a.PAGE_UP:t=!0,this._move("previousPage",n);break;case a.PAGE_DOWN:t=!0,this._move("nextPage",n);break;case a.UP:t=!0,this._keyEvent("previous",n);break;case a.DOWN:t=!0,this._keyEvent("next",n);break;case a.ENTER:this.menu.active&&(t=!0,n.preventDefault(),this.menu.select(n));break;case a.TAB:this.menu.active&&this.menu.select(n);break;case a.ESCAPE:this.menu.element.is(":visible")&&(this.isMultiLine||this._value(this.term),this.close(n),n.preventDefault());break;default:i=!0,this._searchTimeout(n)}},keypress:function(s){if(t)return t=!1,(!this.isMultiLine||this.menu.element.is(":visible"))&&s.preventDefault(),void 0;if(!i){var n=e.ui.keyCode;switch(s.keyCode){case n.PAGE_UP:this._move("previousPage",s);break;case n.PAGE_DOWN:this._move("nextPage",s);break;case n.UP:this._keyEvent("previous",s);break;case n.DOWN:this._keyEvent("next",s)}}},input:function(e){return s?(s=!1,e.preventDefault(),void 0):(this._searchTimeout(e),void 0)},focus:function(){this.selectedItem=null,this.previous=this._value()},blur:function(e){return this.cancelBlur?(delete this.cancelBlur,void 0):(clearTimeout(this.searching),this.close(e),this._change(e),void 0)}}),this._initSource(),this.menu=e("<ul>").addClass("ui-autocomplete ui-front").appendTo(this._appendTo()).menu({role:null}).hide().menu("instance"),this._on(this.menu.element,{mousedown:function(t){t.preventDefault(),this.cancelBlur=!0,this._delay(function(){delete this.cancelBlur});var i=this.menu.element[0];e(t.target).closest(".ui-menu-item").length||this._delay(function(){var t=this;this.document.one("mousedown",function(s){s.target===t.element[0]||s.target===i||e.contains(i,s.target)||t.close()})})},menufocus:function(t,i){var s,n;return this.isNewMenu&&(this.isNewMenu=!1,t.originalEvent&&/^mouse/.test(t.originalEvent.type))?(this.menu.blur(),this.document.one("mousemove",function(){e(t.target).trigger(t.originalEvent)}),void 0):(n=i.item.data("ui-autocomplete-item"),!1!==this._trigger("focus",t,{item:n})&&t.originalEvent&&/^key/.test(t.originalEvent.type)&&this._value(n.value),s=i.item.attr("aria-label")||n.value,s&&e.trim(s).length&&(this.liveRegion.children().hide(),e("<div>").text(s).appendTo(this.liveRegion)),void 0)},menuselect:function(e,t){var i=t.item.data("ui-autocomplete-item"),s=this.previous;this.element[0]!==this.document[0].activeElement&&(this.element.focus(),this.previous=s,this._delay(function(){this.previous=s,this.selectedItem=i})),!1!==this._trigger("select",e,{item:i})&&this._value(i.value),this.term=this._value(),this.close(e),this.selectedItem=i}}),this.liveRegion=e("<span>",{role:"status","aria-live":"assertive","aria-relevant":"additions"}).addClass("ui-helper-hidden-accessible").appendTo(this.document[0].body),this._on(this.window,{beforeunload:function(){this.element.removeAttr("autocomplete")}})},_destroy:function(){clearTimeout(this.searching),this.element.removeClass("ui-autocomplete-input").removeAttr("autocomplete"),this.menu.element.remove(),this.liveRegion.remove()},_setOption:function(e,t){this._super(e,t),"source"===e&&this._initSource(),"appendTo"===e&&this.menu.element.appendTo(this._appendTo()),"disabled"===e&&t&&this.xhr&&this.xhr.abort()},_appendTo:function(){var t=this.options.appendTo;return t&&(t=t.jquery||t.nodeType?e(t):this.document.find(t).eq(0)),t&&t[0]||(t=this.element.closest(".ui-front")),t.length||(t=this.document[0].body),t},_initSource:function(){var t,i,s=this;e.isArray(this.options.source)?(t=this.options.source,this.source=function(i,s){s(e.ui.autocomplete.filter(t,i.term))}):"string"==typeof this.options.source?(i=this.options.source,this.source=function(t,n){s.xhr&&s.xhr.abort(),s.xhr=e.ajax({url:i,data:t,dataType:"json",success:function(e){n(e)},error:function(){n([])}})}):this.source=this.options.source},_searchTimeout:function(e){clearTimeout(this.searching),this.searching=this._delay(function(){var t=this.term===this._value(),i=this.menu.element.is(":visible"),s=e.altKey||e.ctrlKey||e.metaKey||e.shiftKey;(!t||t&&!i&&!s)&&(this.selectedItem=null,this.search(null,e))},this.options.delay)},search:function(e,t){return e=null!=e?e:this._value(),this.term=this._value(),e.length<this.options.minLength?this.close(t):this._trigger("search",t)!==!1?this._search(e):void 0},_search:function(e){this.pending++,this.element.addClass("ui-autocomplete-loading"),this.cancelSearch=!1,this.source({term:e},this._response())},_response:function(){var t=++this.requestIndex;return e.proxy(function(e){t===this.requestIndex&&this.__response(e),this.pending--,this.pending||this.element.removeClass("ui-autocomplete-loading")},this)},__response:function(e){e&&(e=this._normalize(e)),this._trigger("response",null,{content:e}),!this.options.disabled&&e&&e.length&&!this.cancelSearch?(this._suggest(e),this._trigger("open")):this._close()},close:function(e){this.cancelSearch=!0,this._close(e)},_close:function(e){this.menu.element.is(":visible")&&(this.menu.element.hide(),this.menu.blur(),this.isNewMenu=!0,this._trigger("close",e))},_change:function(e){this.previous!==this._value()&&this._trigger("change",e,{item:this.selectedItem})},_normalize:function(t){return t.length&&t[0].label&&t[0].value?t:e.map(t,function(t){return"string"==typeof t?{label:t,value:t}:e.extend({},t,{label:t.label||t.value,value:t.value||t.label})})},_suggest:function(t){var i=this.menu.element.empty();this._renderMenu(i,t),this.isNewMenu=!0,this.menu.refresh(),i.show(),this._resizeMenu(),i.position(e.extend({of:this.element},this.options.position)),this.options.autoFocus&&this.menu.next()},_resizeMenu:function(){var e=this.menu.element;e.outerWidth(Math.max(e.width("").outerWidth()+1,this.element.outerWidth()))},_renderMenu:function(t,i){var s=this;e.each(i,function(e,i){s._renderItemData(t,i)})},_renderItemData:function(e,t){return this._renderItem(e,t).data("ui-autocomplete-item",t)},_renderItem:function(t,i){return e("<li>").text(i.label).appendTo(t)},_move:function(e,t){return this.menu.element.is(":visible")?this.menu.isFirstItem()&&/^previous/.test(e)||this.menu.isLastItem()&&/^next/.test(e)?(this.isMultiLine||this._value(this.term),this.menu.blur(),void 0):(this.menu[e](t),void 0):(this.search(null,t),void 0)},widget:function(){return this.menu.element},_value:function(){return this.valueMethod.apply(this.element,arguments)},_keyEvent:function(e,t){(!this.isMultiLine||this.menu.element.is(":visible"))&&(this._move(e,t),t.preventDefault())}}),e.extend(e.ui.autocomplete,{escapeRegex:function(e){return e.replace(/[\-\[\]{}()*+?.,\\\^$|#\s]/g,"\\$&")},filter:function(t,i){var s=RegExp(e.ui.autocomplete.escapeRegex(i),"i");return e.grep(t,function(e){return s.test(e.label||e.value||e)})}}),e.widget("ui.autocomplete",e.ui.autocomplete,{options:{messages:{noResults:"No search results.",results:function(e){return e+(e>1?" results are":" result is")+" available, use up and down arrow keys to navigate."}}},__response:function(t){var i;this._superApply(arguments),this.options.disabled||this.cancelSearch||(i=t&&t.length?this.options.messages.results(t.length):this.options.messages.noResults,this.liveRegion.children().hide(),e("<div>").text(i).appendTo(this.liveRegion))}}),e.ui.autocomplete;var c,d="ui-button ui-widget ui-state-default ui-corner-all",p="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",f=function(){var t=e(this);setTimeout(function(){t.find(":ui-button").button("refresh")},1)},m=function(t){var i=t.name,s=t.form,n=e([]); >-return i&&(i=i.replace(/'/g,"\\'"),n=s?e(s).find("[name='"+i+"'][type=radio]"):e("[name='"+i+"'][type=radio]",t.ownerDocument).filter(function(){return!this.form})),n};e.widget("ui.button",{version:"1.11.4",defaultElement:"<button>",options:{disabled:null,text:!0,label:null,icons:{primary:null,secondary:null}},_create:function(){this.element.closest("form").unbind("reset"+this.eventNamespace).bind("reset"+this.eventNamespace,f),"boolean"!=typeof this.options.disabled?this.options.disabled=!!this.element.prop("disabled"):this.element.prop("disabled",this.options.disabled),this._determineButtonType(),this.hasTitle=!!this.buttonElement.attr("title");var t=this,i=this.options,s="checkbox"===this.type||"radio"===this.type,n=s?"":"ui-state-active";null===i.label&&(i.label="input"===this.type?this.buttonElement.val():this.buttonElement.html()),this._hoverable(this.buttonElement),this.buttonElement.addClass(d).attr("role","button").bind("mouseenter"+this.eventNamespace,function(){i.disabled||this===c&&e(this).addClass("ui-state-active")}).bind("mouseleave"+this.eventNamespace,function(){i.disabled||e(this).removeClass(n)}).bind("click"+this.eventNamespace,function(e){i.disabled&&(e.preventDefault(),e.stopImmediatePropagation())}),this._on({focus:function(){this.buttonElement.addClass("ui-state-focus")},blur:function(){this.buttonElement.removeClass("ui-state-focus")}}),s&&this.element.bind("change"+this.eventNamespace,function(){t.refresh()}),"checkbox"===this.type?this.buttonElement.bind("click"+this.eventNamespace,function(){return i.disabled?!1:void 0}):"radio"===this.type?this.buttonElement.bind("click"+this.eventNamespace,function(){if(i.disabled)return!1;e(this).addClass("ui-state-active"),t.buttonElement.attr("aria-pressed","true");var s=t.element[0];m(s).not(s).map(function(){return e(this).button("widget")[0]}).removeClass("ui-state-active").attr("aria-pressed","false")}):(this.buttonElement.bind("mousedown"+this.eventNamespace,function(){return i.disabled?!1:(e(this).addClass("ui-state-active"),c=this,t.document.one("mouseup",function(){c=null}),void 0)}).bind("mouseup"+this.eventNamespace,function(){return i.disabled?!1:(e(this).removeClass("ui-state-active"),void 0)}).bind("keydown"+this.eventNamespace,function(t){return i.disabled?!1:((t.keyCode===e.ui.keyCode.SPACE||t.keyCode===e.ui.keyCode.ENTER)&&e(this).addClass("ui-state-active"),void 0)}).bind("keyup"+this.eventNamespace+" blur"+this.eventNamespace,function(){e(this).removeClass("ui-state-active")}),this.buttonElement.is("a")&&this.buttonElement.keyup(function(t){t.keyCode===e.ui.keyCode.SPACE&&e(this).click()})),this._setOption("disabled",i.disabled),this._resetButton()},_determineButtonType:function(){var e,t,i;this.type=this.element.is("[type=checkbox]")?"checkbox":this.element.is("[type=radio]")?"radio":this.element.is("input")?"input":"button","checkbox"===this.type||"radio"===this.type?(e=this.element.parents().last(),t="label[for='"+this.element.attr("id")+"']",this.buttonElement=e.find(t),this.buttonElement.length||(e=e.length?e.siblings():this.element.siblings(),this.buttonElement=e.filter(t),this.buttonElement.length||(this.buttonElement=e.find(t))),this.element.addClass("ui-helper-hidden-accessible"),i=this.element.is(":checked"),i&&this.buttonElement.addClass("ui-state-active"),this.buttonElement.prop("aria-pressed",i)):this.buttonElement=this.element},widget:function(){return this.buttonElement},_destroy:function(){this.element.removeClass("ui-helper-hidden-accessible"),this.buttonElement.removeClass(d+" ui-state-active "+p).removeAttr("role").removeAttr("aria-pressed").html(this.buttonElement.find(".ui-button-text").html()),this.hasTitle||this.buttonElement.removeAttr("title")},_setOption:function(e,t){return this._super(e,t),"disabled"===e?(this.widget().toggleClass("ui-state-disabled",!!t),this.element.prop("disabled",!!t),t&&("checkbox"===this.type||"radio"===this.type?this.buttonElement.removeClass("ui-state-focus"):this.buttonElement.removeClass("ui-state-focus ui-state-active")),void 0):(this._resetButton(),void 0)},refresh:function(){var t=this.element.is("input, button")?this.element.is(":disabled"):this.element.hasClass("ui-button-disabled");t!==this.options.disabled&&this._setOption("disabled",t),"radio"===this.type?m(this.element[0]).each(function(){e(this).is(":checked")?e(this).button("widget").addClass("ui-state-active").attr("aria-pressed","true"):e(this).button("widget").removeClass("ui-state-active").attr("aria-pressed","false")}):"checkbox"===this.type&&(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("input"===this.type)return this.options.label&&this.element.val(this.options.label),void 0;var t=this.buttonElement.removeClass(p),i=e("<span></span>",this.document[0]).addClass("ui-button-text").html(this.options.label).appendTo(t.empty()).text(),s=this.options.icons,n=s.primary&&s.secondary,a=[];s.primary||s.secondary?(this.options.text&&a.push("ui-button-text-icon"+(n?"s":s.primary?"-primary":"-secondary")),s.primary&&t.prepend("<span class='ui-button-icon-primary ui-icon "+s.primary+"'></span>"),s.secondary&&t.append("<span class='ui-button-icon-secondary ui-icon "+s.secondary+"'></span>"),this.options.text||(a.push(n?"ui-button-icons-only":"ui-button-icon-only"),this.hasTitle||t.attr("title",e.trim(i)))):a.push("ui-button-text-only"),t.addClass(a.join(" "))}}),e.widget("ui.buttonset",{version:"1.11.4",options:{items:"button, input[type=button], input[type=submit], input[type=reset], input[type=checkbox], input[type=radio], a, :data(ui-button)"},_create:function(){this.element.addClass("ui-buttonset")},_init:function(){this.refresh()},_setOption:function(e,t){"disabled"===e&&this.buttons.button("option",e,t),this._super(e,t)},refresh:function(){var t="rtl"===this.element.css("direction"),i=this.element.find(this.options.items),s=i.filter(":ui-button");i.not(":ui-button").button(),s.button("refresh"),this.buttons=i.map(function(){return e(this).button("widget")[0]}).removeClass("ui-corner-all ui-corner-left ui-corner-right").filter(":first").addClass(t?"ui-corner-right":"ui-corner-left").end().filter(":last").addClass(t?"ui-corner-left":"ui-corner-right").end().end()},_destroy:function(){this.element.removeClass("ui-buttonset"),this.buttons.map(function(){return e(this).button("widget")[0]}).removeClass("ui-corner-left ui-corner-right").end().button("destroy")}}),e.ui.button,e.extend(e.ui,{datepicker:{version:"1.11.4"}});var g;e.extend(n.prototype,{markerClassName:"hasDatepicker",maxRows:4,_widgetDatepicker:function(){return this.dpDiv},setDefaults:function(e){return r(this._defaults,e||{}),this},_attachDatepicker:function(t,i){var s,n,a;s=t.nodeName.toLowerCase(),n="div"===s||"span"===s,t.id||(this.uuid+=1,t.id="dp"+this.uuid),a=this._newInst(e(t),n),a.settings=e.extend({},i||{}),"input"===s?this._connectDatepicker(t,a):n&&this._inlineDatepicker(t,a)},_newInst:function(t,i){var s=t[0].id.replace(/([^A-Za-z0-9_\-])/g,"\\\\$1");return{id:s,input:t,selectedDay:0,selectedMonth:0,selectedYear:0,drawMonth:0,drawYear:0,inline:i,dpDiv:i?a(e("<div class='"+this._inlineClass+" ui-datepicker ui-widget ui-widget-content ui-helper-clearfix ui-corner-all'></div>")):this.dpDiv}},_connectDatepicker:function(t,i){var s=e(t);i.append=e([]),i.trigger=e([]),s.hasClass(this.markerClassName)||(this._attachments(s,i),s.addClass(this.markerClassName).keydown(this._doKeyDown).keypress(this._doKeyPress).keyup(this._doKeyUp),this._autoSize(i),e.data(t,"datepicker",i),i.settings.disabled&&this._disableDatepicker(t))},_attachments:function(t,i){var s,n,a,o=this._get(i,"appendText"),r=this._get(i,"isRTL");i.append&&i.append.remove(),o&&(i.append=e("<span class='"+this._appendClass+"'>"+o+"</span>"),t[r?"before":"after"](i.append)),t.unbind("focus",this._showDatepicker),i.trigger&&i.trigger.remove(),s=this._get(i,"showOn"),("focus"===s||"both"===s)&&t.focus(this._showDatepicker),("button"===s||"both"===s)&&(n=this._get(i,"buttonText"),a=this._get(i,"buttonImage"),i.trigger=e(this._get(i,"buttonImageOnly")?e("<img/>").addClass(this._triggerClass).attr({src:a,alt:n,title:n}):e("<button type='button'></button>").addClass(this._triggerClass).html(a?e("<img/>").attr({src:a,alt:n,title:n}):n)),t[r?"before":"after"](i.trigger),i.trigger.click(function(){return e.datepicker._datepickerShowing&&e.datepicker._lastInput===t[0]?e.datepicker._hideDatepicker():e.datepicker._datepickerShowing&&e.datepicker._lastInput!==t[0]?(e.datepicker._hideDatepicker(),e.datepicker._showDatepicker(t[0])):e.datepicker._showDatepicker(t[0]),!1}))},_autoSize:function(e){if(this._get(e,"autoSize")&&!e.inline){var t,i,s,n,a=new Date(2009,11,20),o=this._get(e,"dateFormat");o.match(/[DM]/)&&(t=function(e){for(i=0,s=0,n=0;e.length>n;n++)e[n].length>i&&(i=e[n].length,s=n);return s},a.setMonth(t(this._get(e,o.match(/MM/)?"monthNames":"monthNamesShort"))),a.setDate(t(this._get(e,o.match(/DD/)?"dayNames":"dayNamesShort"))+20-a.getDay())),e.input.attr("size",this._formatDate(e,a).length)}},_inlineDatepicker:function(t,i){var s=e(t);s.hasClass(this.markerClassName)||(s.addClass(this.markerClassName).append(i.dpDiv),e.data(t,"datepicker",i),this._setDate(i,this._getDefaultDate(i),!0),this._updateDatepicker(i),this._updateAlternate(i),i.settings.disabled&&this._disableDatepicker(t),i.dpDiv.css("display","block"))},_dialogDatepicker:function(t,i,s,n,a){var o,h,l,u,c,d=this._dialogInst;return d||(this.uuid+=1,o="dp"+this.uuid,this._dialogInput=e("<input type='text' id='"+o+"' style='position: absolute; top: -100px; width: 0px;'/>"),this._dialogInput.keydown(this._doKeyDown),e("body").append(this._dialogInput),d=this._dialogInst=this._newInst(this._dialogInput,!1),d.settings={},e.data(this._dialogInput[0],"datepicker",d)),r(d.settings,n||{}),i=i&&i.constructor===Date?this._formatDate(d,i):i,this._dialogInput.val(i),this._pos=a?a.length?a:[a.pageX,a.pageY]:null,this._pos||(h=document.documentElement.clientWidth,l=document.documentElement.clientHeight,u=document.documentElement.scrollLeft||document.body.scrollLeft,c=document.documentElement.scrollTop||document.body.scrollTop,this._pos=[h/2-100+u,l/2-150+c]),this._dialogInput.css("left",this._pos[0]+20+"px").css("top",this._pos[1]+"px"),d.settings.onSelect=s,this._inDialog=!0,this.dpDiv.addClass(this._dialogClass),this._showDatepicker(this._dialogInput[0]),e.blockUI&&e.blockUI(this.dpDiv),e.data(this._dialogInput[0],"datepicker",d),this},_destroyDatepicker:function(t){var i,s=e(t),n=e.data(t,"datepicker");s.hasClass(this.markerClassName)&&(i=t.nodeName.toLowerCase(),e.removeData(t,"datepicker"),"input"===i?(n.append.remove(),n.trigger.remove(),s.removeClass(this.markerClassName).unbind("focus",this._showDatepicker).unbind("keydown",this._doKeyDown).unbind("keypress",this._doKeyPress).unbind("keyup",this._doKeyUp)):("div"===i||"span"===i)&&s.removeClass(this.markerClassName).empty(),g===n&&(g=null))},_enableDatepicker:function(t){var i,s,n=e(t),a=e.data(t,"datepicker");n.hasClass(this.markerClassName)&&(i=t.nodeName.toLowerCase(),"input"===i?(t.disabled=!1,a.trigger.filter("button").each(function(){this.disabled=!1}).end().filter("img").css({opacity:"1.0",cursor:""})):("div"===i||"span"===i)&&(s=n.children("."+this._inlineClass),s.children().removeClass("ui-state-disabled"),s.find("select.ui-datepicker-month, select.ui-datepicker-year").prop("disabled",!1)),this._disabledInputs=e.map(this._disabledInputs,function(e){return e===t?null:e}))},_disableDatepicker:function(t){var i,s,n=e(t),a=e.data(t,"datepicker");n.hasClass(this.markerClassName)&&(i=t.nodeName.toLowerCase(),"input"===i?(t.disabled=!0,a.trigger.filter("button").each(function(){this.disabled=!0}).end().filter("img").css({opacity:"0.5",cursor:"default"})):("div"===i||"span"===i)&&(s=n.children("."+this._inlineClass),s.children().addClass("ui-state-disabled"),s.find("select.ui-datepicker-month, select.ui-datepicker-year").prop("disabled",!0)),this._disabledInputs=e.map(this._disabledInputs,function(e){return e===t?null:e}),this._disabledInputs[this._disabledInputs.length]=t)},_isDisabledDatepicker:function(e){if(!e)return!1;for(var t=0;this._disabledInputs.length>t;t++)if(this._disabledInputs[t]===e)return!0;return!1},_getInst:function(t){try{return e.data(t,"datepicker")}catch(i){throw"Missing instance data for this datepicker"}},_optionDatepicker:function(t,i,s){var n,a,o,h,l=this._getInst(t);return 2===arguments.length&&"string"==typeof i?"defaults"===i?e.extend({},e.datepicker._defaults):l?"all"===i?e.extend({},l.settings):this._get(l,i):null:(n=i||{},"string"==typeof i&&(n={},n[i]=s),l&&(this._curInst===l&&this._hideDatepicker(),a=this._getDateDatepicker(t,!0),o=this._getMinMaxDate(l,"min"),h=this._getMinMaxDate(l,"max"),r(l.settings,n),null!==o&&void 0!==n.dateFormat&&void 0===n.minDate&&(l.settings.minDate=this._formatDate(l,o)),null!==h&&void 0!==n.dateFormat&&void 0===n.maxDate&&(l.settings.maxDate=this._formatDate(l,h)),"disabled"in n&&(n.disabled?this._disableDatepicker(t):this._enableDatepicker(t)),this._attachments(e(t),l),this._autoSize(l),this._setDate(l,a),this._updateAlternate(l),this._updateDatepicker(l)),void 0)},_changeDatepicker:function(e,t,i){this._optionDatepicker(e,t,i)},_refreshDatepicker:function(e){var t=this._getInst(e);t&&this._updateDatepicker(t)},_setDateDatepicker:function(e,t){var i=this._getInst(e);i&&(this._setDate(i,t),this._updateDatepicker(i),this._updateAlternate(i))},_getDateDatepicker:function(e,t){var i=this._getInst(e);return i&&!i.inline&&this._setDateFromField(i,t),i?this._getDate(i):null},_doKeyDown:function(t){var i,s,n,a=e.datepicker._getInst(t.target),o=!0,r=a.dpDiv.is(".ui-datepicker-rtl");if(a._keyEvent=!0,e.datepicker._datepickerShowing)switch(t.keyCode){case 9:e.datepicker._hideDatepicker(),o=!1;break;case 13:return n=e("td."+e.datepicker._dayOverClass+":not(."+e.datepicker._currentClass+")",a.dpDiv),n[0]&&e.datepicker._selectDay(t.target,a.selectedMonth,a.selectedYear,n[0]),i=e.datepicker._get(a,"onSelect"),i?(s=e.datepicker._formatDate(a),i.apply(a.input?a.input[0]:null,[s,a])):e.datepicker._hideDatepicker(),!1;case 27:e.datepicker._hideDatepicker();break;case 33:e.datepicker._adjustDate(t.target,t.ctrlKey?-e.datepicker._get(a,"stepBigMonths"):-e.datepicker._get(a,"stepMonths"),"M");break;case 34:e.datepicker._adjustDate(t.target,t.ctrlKey?+e.datepicker._get(a,"stepBigMonths"):+e.datepicker._get(a,"stepMonths"),"M");break;case 35:(t.ctrlKey||t.metaKey)&&e.datepicker._clearDate(t.target),o=t.ctrlKey||t.metaKey;break;case 36:(t.ctrlKey||t.metaKey)&&e.datepicker._gotoToday(t.target),o=t.ctrlKey||t.metaKey;break;case 37:(t.ctrlKey||t.metaKey)&&e.datepicker._adjustDate(t.target,r?1:-1,"D"),o=t.ctrlKey||t.metaKey,t.originalEvent.altKey&&e.datepicker._adjustDate(t.target,t.ctrlKey?-e.datepicker._get(a,"stepBigMonths"):-e.datepicker._get(a,"stepMonths"),"M");break;case 38:(t.ctrlKey||t.metaKey)&&e.datepicker._adjustDate(t.target,-7,"D"),o=t.ctrlKey||t.metaKey;break;case 39:(t.ctrlKey||t.metaKey)&&e.datepicker._adjustDate(t.target,r?-1:1,"D"),o=t.ctrlKey||t.metaKey,t.originalEvent.altKey&&e.datepicker._adjustDate(t.target,t.ctrlKey?+e.datepicker._get(a,"stepBigMonths"):+e.datepicker._get(a,"stepMonths"),"M");break;case 40:(t.ctrlKey||t.metaKey)&&e.datepicker._adjustDate(t.target,7,"D"),o=t.ctrlKey||t.metaKey;break;default:o=!1}else 36===t.keyCode&&t.ctrlKey?e.datepicker._showDatepicker(this):o=!1;o&&(t.preventDefault(),t.stopPropagation())},_doKeyPress:function(t){var i,s,n=e.datepicker._getInst(t.target);return e.datepicker._get(n,"constrainInput")?(i=e.datepicker._possibleChars(e.datepicker._get(n,"dateFormat")),s=String.fromCharCode(null==t.charCode?t.keyCode:t.charCode),t.ctrlKey||t.metaKey||" ">s||!i||i.indexOf(s)>-1):void 0},_doKeyUp:function(t){var i,s=e.datepicker._getInst(t.target);if(s.input.val()!==s.lastVal)try{i=e.datepicker.parseDate(e.datepicker._get(s,"dateFormat"),s.input?s.input.val():null,e.datepicker._getFormatConfig(s)),i&&(e.datepicker._setDateFromField(s),e.datepicker._updateAlternate(s),e.datepicker._updateDatepicker(s))}catch(n){}return!0},_showDatepicker:function(t){if(t=t.target||t,"input"!==t.nodeName.toLowerCase()&&(t=e("input",t.parentNode)[0]),!e.datepicker._isDisabledDatepicker(t)&&e.datepicker._lastInput!==t){var i,n,a,o,h,l,u;i=e.datepicker._getInst(t),e.datepicker._curInst&&e.datepicker._curInst!==i&&(e.datepicker._curInst.dpDiv.stop(!0,!0),i&&e.datepicker._datepickerShowing&&e.datepicker._hideDatepicker(e.datepicker._curInst.input[0])),n=e.datepicker._get(i,"beforeShow"),a=n?n.apply(t,[t,i]):{},a!==!1&&(r(i.settings,a),i.lastVal=null,e.datepicker._lastInput=t,e.datepicker._setDateFromField(i),e.datepicker._inDialog&&(t.value=""),e.datepicker._pos||(e.datepicker._pos=e.datepicker._findPos(t),e.datepicker._pos[1]+=t.offsetHeight),o=!1,e(t).parents().each(function(){return o|="fixed"===e(this).css("position"),!o}),h={left:e.datepicker._pos[0],top:e.datepicker._pos[1]},e.datepicker._pos=null,i.dpDiv.empty(),i.dpDiv.css({position:"absolute",display:"block",top:"-1000px"}),e.datepicker._updateDatepicker(i),h=e.datepicker._checkOffset(i,h,o),i.dpDiv.css({position:e.datepicker._inDialog&&e.blockUI?"static":o?"fixed":"absolute",display:"none",left:h.left+"px",top:h.top+"px"}),i.inline||(l=e.datepicker._get(i,"showAnim"),u=e.datepicker._get(i,"duration"),i.dpDiv.css("z-index",s(e(t))+1),e.datepicker._datepickerShowing=!0,e.effects&&e.effects.effect[l]?i.dpDiv.show(l,e.datepicker._get(i,"showOptions"),u):i.dpDiv[l||"show"](l?u:null),e.datepicker._shouldFocusInput(i)&&i.input.focus(),e.datepicker._curInst=i))}},_updateDatepicker:function(t){this.maxRows=4,g=t,t.dpDiv.empty().append(this._generateHTML(t)),this._attachHandlers(t);var i,s=this._getNumberOfMonths(t),n=s[1],a=17,r=t.dpDiv.find("."+this._dayOverClass+" a");r.length>0&&o.apply(r.get(0)),t.dpDiv.removeClass("ui-datepicker-multi-2 ui-datepicker-multi-3 ui-datepicker-multi-4").width(""),n>1&&t.dpDiv.addClass("ui-datepicker-multi-"+n).css("width",a*n+"em"),t.dpDiv[(1!==s[0]||1!==s[1]?"add":"remove")+"Class"]("ui-datepicker-multi"),t.dpDiv[(this._get(t,"isRTL")?"add":"remove")+"Class"]("ui-datepicker-rtl"),t===e.datepicker._curInst&&e.datepicker._datepickerShowing&&e.datepicker._shouldFocusInput(t)&&t.input.focus(),t.yearshtml&&(i=t.yearshtml,setTimeout(function(){i===t.yearshtml&&t.yearshtml&&t.dpDiv.find("select.ui-datepicker-year:first").replaceWith(t.yearshtml),i=t.yearshtml=null},0))},_shouldFocusInput:function(e){return e.input&&e.input.is(":visible")&&!e.input.is(":disabled")&&!e.input.is(":focus")},_checkOffset:function(t,i,s){var n=t.dpDiv.outerWidth(),a=t.dpDiv.outerHeight(),o=t.input?t.input.outerWidth():0,r=t.input?t.input.outerHeight():0,h=document.documentElement.clientWidth+(s?0:e(document).scrollLeft()),l=document.documentElement.clientHeight+(s?0:e(document).scrollTop());return i.left-=this._get(t,"isRTL")?n-o:0,i.left-=s&&i.left===t.input.offset().left?e(document).scrollLeft():0,i.top-=s&&i.top===t.input.offset().top+r?e(document).scrollTop():0,i.left-=Math.min(i.left,i.left+n>h&&h>n?Math.abs(i.left+n-h):0),i.top-=Math.min(i.top,i.top+a>l&&l>a?Math.abs(a+r):0),i},_findPos:function(t){for(var i,s=this._getInst(t),n=this._get(s,"isRTL");t&&("hidden"===t.type||1!==t.nodeType||e.expr.filters.hidden(t));)t=t[n?"previousSibling":"nextSibling"];return i=e(t).offset(),[i.left,i.top]},_hideDatepicker:function(t){var i,s,n,a,o=this._curInst;!o||t&&o!==e.data(t,"datepicker")||this._datepickerShowing&&(i=this._get(o,"showAnim"),s=this._get(o,"duration"),n=function(){e.datepicker._tidyDialog(o)},e.effects&&(e.effects.effect[i]||e.effects[i])?o.dpDiv.hide(i,e.datepicker._get(o,"showOptions"),s,n):o.dpDiv["slideDown"===i?"slideUp":"fadeIn"===i?"fadeOut":"hide"](i?s:null,n),i||n(),this._datepickerShowing=!1,a=this._get(o,"onClose"),a&&a.apply(o.input?o.input[0]:null,[o.input?o.input.val():"",o]),this._lastInput=null,this._inDialog&&(this._dialogInput.css({position:"absolute",left:"0",top:"-100px"}),e.blockUI&&(e.unblockUI(),e("body").append(this.dpDiv))),this._inDialog=!1)},_tidyDialog:function(e){e.dpDiv.removeClass(this._dialogClass).unbind(".ui-datepicker-calendar")},_checkExternalClick:function(t){if(e.datepicker._curInst){var i=e(t.target),s=e.datepicker._getInst(i[0]);(i[0].id!==e.datepicker._mainDivId&&0===i.parents("#"+e.datepicker._mainDivId).length&&!i.hasClass(e.datepicker.markerClassName)&&!i.closest("."+e.datepicker._triggerClass).length&&e.datepicker._datepickerShowing&&(!e.datepicker._inDialog||!e.blockUI)||i.hasClass(e.datepicker.markerClassName)&&e.datepicker._curInst!==s)&&e.datepicker._hideDatepicker()}},_adjustDate:function(t,i,s){var n=e(t),a=this._getInst(n[0]);this._isDisabledDatepicker(n[0])||(this._adjustInstDate(a,i+("M"===s?this._get(a,"showCurrentAtPos"):0),s),this._updateDatepicker(a))},_gotoToday:function(t){var i,s=e(t),n=this._getInst(s[0]);this._get(n,"gotoCurrent")&&n.currentDay?(n.selectedDay=n.currentDay,n.drawMonth=n.selectedMonth=n.currentMonth,n.drawYear=n.selectedYear=n.currentYear):(i=new Date,n.selectedDay=i.getDate(),n.drawMonth=n.selectedMonth=i.getMonth(),n.drawYear=n.selectedYear=i.getFullYear()),this._notifyChange(n),this._adjustDate(s)},_selectMonthYear:function(t,i,s){var n=e(t),a=this._getInst(n[0]);a["selected"+("M"===s?"Month":"Year")]=a["draw"+("M"===s?"Month":"Year")]=parseInt(i.options[i.selectedIndex].value,10),this._notifyChange(a),this._adjustDate(n)},_selectDay:function(t,i,s,n){var a,o=e(t);e(n).hasClass(this._unselectableClass)||this._isDisabledDatepicker(o[0])||(a=this._getInst(o[0]),a.selectedDay=a.currentDay=e("a",n).html(),a.selectedMonth=a.currentMonth=i,a.selectedYear=a.currentYear=s,this._selectDate(t,this._formatDate(a,a.currentDay,a.currentMonth,a.currentYear)))},_clearDate:function(t){var i=e(t);this._selectDate(i,"")},_selectDate:function(t,i){var s,n=e(t),a=this._getInst(n[0]);i=null!=i?i:this._formatDate(a),a.input&&a.input.val(i),this._updateAlternate(a),s=this._get(a,"onSelect"),s?s.apply(a.input?a.input[0]:null,[i,a]):a.input&&a.input.trigger("change"),a.inline?this._updateDatepicker(a):(this._hideDatepicker(),this._lastInput=a.input[0],"object"!=typeof a.input[0]&&a.input.focus(),this._lastInput=null)},_updateAlternate:function(t){var i,s,n,a=this._get(t,"altField");a&&(i=this._get(t,"altFormat")||this._get(t,"dateFormat"),s=this._getDate(t),n=this.formatDate(i,s,this._getFormatConfig(t)),e(a).each(function(){e(this).val(n)}))},noWeekends:function(e){var t=e.getDay();return[t>0&&6>t,""]},iso8601Week:function(e){var t,i=new Date(e.getTime());return i.setDate(i.getDate()+4-(i.getDay()||7)),t=i.getTime(),i.setMonth(0),i.setDate(1),Math.floor(Math.round((t-i)/864e5)/7)+1},parseDate:function(t,i,s){if(null==t||null==i)throw"Invalid arguments";if(i="object"==typeof i?""+i:i+"",""===i)return null;var n,a,o,r,h=0,l=(s?s.shortYearCutoff:null)||this._defaults.shortYearCutoff,u="string"!=typeof l?l:(new Date).getFullYear()%100+parseInt(l,10),c=(s?s.dayNamesShort:null)||this._defaults.dayNamesShort,d=(s?s.dayNames:null)||this._defaults.dayNames,p=(s?s.monthNamesShort:null)||this._defaults.monthNamesShort,f=(s?s.monthNames:null)||this._defaults.monthNames,m=-1,g=-1,v=-1,_=-1,b=!1,y=function(e){var i=t.length>n+1&&t.charAt(n+1)===e;return i&&n++,i},x=function(e){var t=y(e),s="@"===e?14:"!"===e?20:"y"===e&&t?4:"o"===e?3:2,n="y"===e?s:1,a=RegExp("^\\d{"+n+","+s+"}"),o=i.substring(h).match(a);if(!o)throw"Missing number at position "+h;return h+=o[0].length,parseInt(o[0],10)},w=function(t,s,n){var a=-1,o=e.map(y(t)?n:s,function(e,t){return[[t,e]]}).sort(function(e,t){return-(e[1].length-t[1].length)});if(e.each(o,function(e,t){var s=t[1];return i.substr(h,s.length).toLowerCase()===s.toLowerCase()?(a=t[0],h+=s.length,!1):void 0}),-1!==a)return a+1;throw"Unknown name at position "+h},k=function(){if(i.charAt(h)!==t.charAt(n))throw"Unexpected literal at position "+h;h++};for(n=0;t.length>n;n++)if(b)"'"!==t.charAt(n)||y("'")?k():b=!1;else switch(t.charAt(n)){case"d":v=x("d");break;case"D":w("D",c,d);break;case"o":_=x("o");break;case"m":g=x("m");break;case"M":g=w("M",p,f);break;case"y":m=x("y");break;case"@":r=new Date(x("@")),m=r.getFullYear(),g=r.getMonth()+1,v=r.getDate();break;case"!":r=new Date((x("!")-this._ticksTo1970)/1e4),m=r.getFullYear(),g=r.getMonth()+1,v=r.getDate();break;case"'":y("'")?k():b=!0;break;default:k()}if(i.length>h&&(o=i.substr(h),!/^\s+/.test(o)))throw"Extra/unparsed characters found in date: "+o;if(-1===m?m=(new Date).getFullYear():100>m&&(m+=(new Date).getFullYear()-(new Date).getFullYear()%100+(u>=m?0:-100)),_>-1)for(g=1,v=_;;){if(a=this._getDaysInMonth(m,g-1),a>=v)break;g++,v-=a}if(r=this._daylightSavingAdjust(new Date(m,g-1,v)),r.getFullYear()!==m||r.getMonth()+1!==g||r.getDate()!==v)throw"Invalid date";return r},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:1e7*60*60*24*(718685+Math.floor(492.5)-Math.floor(19.7)+Math.floor(4.925)),formatDate:function(e,t,i){if(!t)return"";var s,n=(i?i.dayNamesShort:null)||this._defaults.dayNamesShort,a=(i?i.dayNames:null)||this._defaults.dayNames,o=(i?i.monthNamesShort:null)||this._defaults.monthNamesShort,r=(i?i.monthNames:null)||this._defaults.monthNames,h=function(t){var i=e.length>s+1&&e.charAt(s+1)===t;return i&&s++,i},l=function(e,t,i){var s=""+t;if(h(e))for(;i>s.length;)s="0"+s;return s},u=function(e,t,i,s){return h(e)?s[t]:i[t]},c="",d=!1;if(t)for(s=0;e.length>s;s++)if(d)"'"!==e.charAt(s)||h("'")?c+=e.charAt(s):d=!1;else switch(e.charAt(s)){case"d":c+=l("d",t.getDate(),2);break;case"D":c+=u("D",t.getDay(),n,a);break;case"o":c+=l("o",Math.round((new Date(t.getFullYear(),t.getMonth(),t.getDate()).getTime()-new Date(t.getFullYear(),0,0).getTime())/864e5),3);break;case"m":c+=l("m",t.getMonth()+1,2);break;case"M":c+=u("M",t.getMonth(),o,r);break;case"y":c+=h("y")?t.getFullYear():(10>t.getYear()%100?"0":"")+t.getYear()%100;break;case"@":c+=t.getTime();break;case"!":c+=1e4*t.getTime()+this._ticksTo1970;break;case"'":h("'")?c+="'":d=!0;break;default:c+=e.charAt(s)}return c},_possibleChars:function(e){var t,i="",s=!1,n=function(i){var s=e.length>t+1&&e.charAt(t+1)===i;return s&&t++,s};for(t=0;e.length>t;t++)if(s)"'"!==e.charAt(t)||n("'")?i+=e.charAt(t):s=!1;else switch(e.charAt(t)){case"d":case"m":case"y":case"@":i+="0123456789";break;case"D":case"M":return null;case"'":n("'")?i+="'":s=!0;break;default:i+=e.charAt(t)}return i},_get:function(e,t){return void 0!==e.settings[t]?e.settings[t]:this._defaults[t]},_setDateFromField:function(e,t){if(e.input.val()!==e.lastVal){var i=this._get(e,"dateFormat"),s=e.lastVal=e.input?e.input.val():null,n=this._getDefaultDate(e),a=n,o=this._getFormatConfig(e);try{a=this.parseDate(i,s,o)||n}catch(r){s=t?"":s}e.selectedDay=a.getDate(),e.drawMonth=e.selectedMonth=a.getMonth(),e.drawYear=e.selectedYear=a.getFullYear(),e.currentDay=s?a.getDate():0,e.currentMonth=s?a.getMonth():0,e.currentYear=s?a.getFullYear():0,this._adjustInstDate(e)}},_getDefaultDate:function(e){return this._restrictMinMax(e,this._determineDate(e,this._get(e,"defaultDate"),new Date))},_determineDate:function(t,i,s){var n=function(e){var t=new Date;return t.setDate(t.getDate()+e),t},a=function(i){try{return e.datepicker.parseDate(e.datepicker._get(t,"dateFormat"),i,e.datepicker._getFormatConfig(t))}catch(s){}for(var n=(i.toLowerCase().match(/^c/)?e.datepicker._getDate(t):null)||new Date,a=n.getFullYear(),o=n.getMonth(),r=n.getDate(),h=/([+\-]?[0-9]+)\s*(d|D|w|W|m|M|y|Y)?/g,l=h.exec(i);l;){switch(l[2]||"d"){case"d":case"D":r+=parseInt(l[1],10);break;case"w":case"W":r+=7*parseInt(l[1],10);break;case"m":case"M":o+=parseInt(l[1],10),r=Math.min(r,e.datepicker._getDaysInMonth(a,o));break;case"y":case"Y":a+=parseInt(l[1],10),r=Math.min(r,e.datepicker._getDaysInMonth(a,o))}l=h.exec(i)}return new Date(a,o,r)},o=null==i||""===i?s:"string"==typeof i?a(i):"number"==typeof i?isNaN(i)?s:n(i):new Date(i.getTime());return o=o&&"Invalid Date"==""+o?s:o,o&&(o.setHours(0),o.setMinutes(0),o.setSeconds(0),o.setMilliseconds(0)),this._daylightSavingAdjust(o)},_daylightSavingAdjust:function(e){return e?(e.setHours(e.getHours()>12?e.getHours()+2:0),e):null},_setDate:function(e,t,i){var s=!t,n=e.selectedMonth,a=e.selectedYear,o=this._restrictMinMax(e,this._determineDate(e,t,new Date));e.selectedDay=e.currentDay=o.getDate(),e.drawMonth=e.selectedMonth=e.currentMonth=o.getMonth(),e.drawYear=e.selectedYear=e.currentYear=o.getFullYear(),n===e.selectedMonth&&a===e.selectedYear||i||this._notifyChange(e),this._adjustInstDate(e),e.input&&e.input.val(s?"":this._formatDate(e))},_getDate:function(e){var t=!e.currentYear||e.input&&""===e.input.val()?null:this._daylightSavingAdjust(new Date(e.currentYear,e.currentMonth,e.currentDay));return t},_attachHandlers:function(t){var i=this._get(t,"stepMonths"),s="#"+t.id.replace(/\\\\/g,"\\");t.dpDiv.find("[data-handler]").map(function(){var t={prev:function(){e.datepicker._adjustDate(s,-i,"M")},next:function(){e.datepicker._adjustDate(s,+i,"M")},hide:function(){e.datepicker._hideDatepicker()},today:function(){e.datepicker._gotoToday(s)},selectDay:function(){return e.datepicker._selectDay(s,+this.getAttribute("data-month"),+this.getAttribute("data-year"),this),!1},selectMonth:function(){return e.datepicker._selectMonthYear(s,this,"M"),!1},selectYear:function(){return e.datepicker._selectMonthYear(s,this,"Y"),!1}};e(this).bind(this.getAttribute("data-event"),t[this.getAttribute("data-handler")])})},_generateHTML:function(e){var t,i,s,n,a,o,r,h,l,u,c,d,p,f,m,g,v,_,b,y,x,w,k,D,T,S,M,N,C,P,A,I,H,z,F,E,W,O,L,R=new Date,j=this._daylightSavingAdjust(new Date(R.getFullYear(),R.getMonth(),R.getDate())),Y=this._get(e,"isRTL"),B=this._get(e,"showButtonPanel"),J=this._get(e,"hideIfNoPrevNext"),K=this._get(e,"navigationAsDateFormat"),U=this._getNumberOfMonths(e),V=this._get(e,"showCurrentAtPos"),q=this._get(e,"stepMonths"),G=1!==U[0]||1!==U[1],X=this._daylightSavingAdjust(e.currentDay?new Date(e.currentYear,e.currentMonth,e.currentDay):new Date(9999,9,9)),$=this._getMinMaxDate(e,"min"),Q=this._getMinMaxDate(e,"max"),Z=e.drawMonth-V,et=e.drawYear;if(0>Z&&(Z+=12,et--),Q)for(t=this._daylightSavingAdjust(new Date(Q.getFullYear(),Q.getMonth()-U[0]*U[1]+1,Q.getDate())),t=$&&$>t?$:t;this._daylightSavingAdjust(new Date(et,Z,1))>t;)Z--,0>Z&&(Z=11,et--);for(e.drawMonth=Z,e.drawYear=et,i=this._get(e,"prevText"),i=K?this.formatDate(i,this._daylightSavingAdjust(new Date(et,Z-q,1)),this._getFormatConfig(e)):i,s=this._canAdjustMonth(e,-1,et,Z)?"<a class='ui-datepicker-prev ui-corner-all' data-handler='prev' data-event='click' title='"+i+"'><span class='ui-icon ui-icon-circle-triangle-"+(Y?"e":"w")+"'>"+i+"</span></a>":J?"":"<a class='ui-datepicker-prev ui-corner-all ui-state-disabled' title='"+i+"'><span class='ui-icon ui-icon-circle-triangle-"+(Y?"e":"w")+"'>"+i+"</span></a>",n=this._get(e,"nextText"),n=K?this.formatDate(n,this._daylightSavingAdjust(new Date(et,Z+q,1)),this._getFormatConfig(e)):n,a=this._canAdjustMonth(e,1,et,Z)?"<a class='ui-datepicker-next ui-corner-all' data-handler='next' data-event='click' title='"+n+"'><span class='ui-icon ui-icon-circle-triangle-"+(Y?"w":"e")+"'>"+n+"</span></a>":J?"":"<a class='ui-datepicker-next ui-corner-all ui-state-disabled' title='"+n+"'><span class='ui-icon ui-icon-circle-triangle-"+(Y?"w":"e")+"'>"+n+"</span></a>",o=this._get(e,"currentText"),r=this._get(e,"gotoCurrent")&&e.currentDay?X:j,o=K?this.formatDate(o,r,this._getFormatConfig(e)):o,h=e.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(e,"closeText")+"</button>",l=B?"<div class='ui-datepicker-buttonpane ui-widget-content'>"+(Y?h:"")+(this._isInRange(e,r)?"<button type='button' class='ui-datepicker-current ui-state-default ui-priority-secondary ui-corner-all' data-handler='today' data-event='click'>"+o+"</button>":"")+(Y?"":h)+"</div>":"",u=parseInt(this._get(e,"firstDay"),10),u=isNaN(u)?0:u,c=this._get(e,"showWeek"),d=this._get(e,"dayNames"),p=this._get(e,"dayNamesMin"),f=this._get(e,"monthNames"),m=this._get(e,"monthNamesShort"),g=this._get(e,"beforeShowDay"),v=this._get(e,"showOtherMonths"),_=this._get(e,"selectOtherMonths"),b=this._getDefaultDate(e),y="",w=0;U[0]>w;w++){for(k="",this.maxRows=4,D=0;U[1]>D;D++){if(T=this._daylightSavingAdjust(new Date(et,Z,e.selectedDay)),S=" ui-corner-all",M="",G){if(M+="<div class='ui-datepicker-group",U[1]>1)switch(D){case 0:M+=" ui-datepicker-group-first",S=" ui-corner-"+(Y?"right":"left"); >-break;case U[1]-1:M+=" ui-datepicker-group-last",S=" ui-corner-"+(Y?"left":"right");break;default:M+=" ui-datepicker-group-middle",S=""}M+="'>"}for(M+="<div class='ui-datepicker-header ui-widget-header ui-helper-clearfix"+S+"'>"+(/all|left/.test(S)&&0===w?Y?a:s:"")+(/all|right/.test(S)&&0===w?Y?s:a:"")+this._generateMonthYearHeader(e,Z,et,$,Q,w>0||D>0,f,m)+"</div><table class='ui-datepicker-calendar'><thead>"+"<tr>",N=c?"<th class='ui-datepicker-week-col'>"+this._get(e,"weekHeader")+"</th>":"",x=0;7>x;x++)C=(x+u)%7,N+="<th scope='col'"+((x+u+6)%7>=5?" class='ui-datepicker-week-end'":"")+">"+"<span title='"+d[C]+"'>"+p[C]+"</span></th>";for(M+=N+"</tr></thead><tbody>",P=this._getDaysInMonth(et,Z),et===e.selectedYear&&Z===e.selectedMonth&&(e.selectedDay=Math.min(e.selectedDay,P)),A=(this._getFirstDayOfMonth(et,Z)-u+7)%7,I=Math.ceil((A+P)/7),H=G?this.maxRows>I?this.maxRows:I:I,this.maxRows=H,z=this._daylightSavingAdjust(new Date(et,Z,1-A)),F=0;H>F;F++){for(M+="<tr>",E=c?"<td class='ui-datepicker-week-col'>"+this._get(e,"calculateWeek")(z)+"</td>":"",x=0;7>x;x++)W=g?g.apply(e.input?e.input[0]:null,[z]):[!0,""],O=z.getMonth()!==Z,L=O&&!_||!W[0]||$&&$>z||Q&&z>Q,E+="<td class='"+((x+u+6)%7>=5?" ui-datepicker-week-end":"")+(O?" ui-datepicker-other-month":"")+(z.getTime()===T.getTime()&&Z===e.selectedMonth&&e._keyEvent||b.getTime()===z.getTime()&&b.getTime()===T.getTime()?" "+this._dayOverClass:"")+(L?" "+this._unselectableClass+" ui-state-disabled":"")+(O&&!v?"":" "+W[1]+(z.getTime()===X.getTime()?" "+this._currentClass:"")+(z.getTime()===j.getTime()?" ui-datepicker-today":""))+"'"+(O&&!v||!W[2]?"":" title='"+W[2].replace(/'/g,"'")+"'")+(L?"":" data-handler='selectDay' data-event='click' data-month='"+z.getMonth()+"' data-year='"+z.getFullYear()+"'")+">"+(O&&!v?" ":L?"<span class='ui-state-default'>"+z.getDate()+"</span>":"<a class='ui-state-default"+(z.getTime()===j.getTime()?" ui-state-highlight":"")+(z.getTime()===X.getTime()?" ui-state-active":"")+(O?" ui-priority-secondary":"")+"' href='#'>"+z.getDate()+"</a>")+"</td>",z.setDate(z.getDate()+1),z=this._daylightSavingAdjust(z);M+=E+"</tr>"}Z++,Z>11&&(Z=0,et++),M+="</tbody></table>"+(G?"</div>"+(U[0]>0&&D===U[1]-1?"<div class='ui-datepicker-row-break'></div>":""):""),k+=M}y+=k}return y+=l,e._keyEvent=!1,y},_generateMonthYearHeader:function(e,t,i,s,n,a,o,r){var h,l,u,c,d,p,f,m,g=this._get(e,"changeMonth"),v=this._get(e,"changeYear"),_=this._get(e,"showMonthAfterYear"),b="<div class='ui-datepicker-title'>",y="";if(a||!g)y+="<span class='ui-datepicker-month'>"+o[t]+"</span>";else{for(h=s&&s.getFullYear()===i,l=n&&n.getFullYear()===i,y+="<select class='ui-datepicker-month' data-handler='selectMonth' data-event='change'>",u=0;12>u;u++)(!h||u>=s.getMonth())&&(!l||n.getMonth()>=u)&&(y+="<option value='"+u+"'"+(u===t?" selected='selected'":"")+">"+r[u]+"</option>");y+="</select>"}if(_||(b+=y+(!a&&g&&v?"":" ")),!e.yearshtml)if(e.yearshtml="",a||!v)b+="<span class='ui-datepicker-year'>"+i+"</span>";else{for(c=this._get(e,"yearRange").split(":"),d=(new Date).getFullYear(),p=function(e){var t=e.match(/c[+\-].*/)?i+parseInt(e.substring(1),10):e.match(/[+\-].*/)?d+parseInt(e,10):parseInt(e,10);return isNaN(t)?d:t},f=p(c[0]),m=Math.max(f,p(c[1]||"")),f=s?Math.max(f,s.getFullYear()):f,m=n?Math.min(m,n.getFullYear()):m,e.yearshtml+="<select class='ui-datepicker-year' data-handler='selectYear' data-event='change'>";m>=f;f++)e.yearshtml+="<option value='"+f+"'"+(f===i?" selected='selected'":"")+">"+f+"</option>";e.yearshtml+="</select>",b+=e.yearshtml,e.yearshtml=null}return b+=this._get(e,"yearSuffix"),_&&(b+=(!a&&g&&v?"":" ")+y),b+="</div>"},_adjustInstDate:function(e,t,i){var s=e.drawYear+("Y"===i?t:0),n=e.drawMonth+("M"===i?t:0),a=Math.min(e.selectedDay,this._getDaysInMonth(s,n))+("D"===i?t:0),o=this._restrictMinMax(e,this._daylightSavingAdjust(new Date(s,n,a)));e.selectedDay=o.getDate(),e.drawMonth=e.selectedMonth=o.getMonth(),e.drawYear=e.selectedYear=o.getFullYear(),("M"===i||"Y"===i)&&this._notifyChange(e)},_restrictMinMax:function(e,t){var i=this._getMinMaxDate(e,"min"),s=this._getMinMaxDate(e,"max"),n=i&&i>t?i:t;return s&&n>s?s:n},_notifyChange:function(e){var t=this._get(e,"onChangeMonthYear");t&&t.apply(e.input?e.input[0]:null,[e.selectedYear,e.selectedMonth+1,e])},_getNumberOfMonths:function(e){var t=this._get(e,"numberOfMonths");return null==t?[1,1]:"number"==typeof t?[1,t]:t},_getMinMaxDate:function(e,t){return this._determineDate(e,this._get(e,t+"Date"),null)},_getDaysInMonth:function(e,t){return 32-this._daylightSavingAdjust(new Date(e,t,32)).getDate()},_getFirstDayOfMonth:function(e,t){return new Date(e,t,1).getDay()},_canAdjustMonth:function(e,t,i,s){var n=this._getNumberOfMonths(e),a=this._daylightSavingAdjust(new Date(i,s+(0>t?t:n[0]*n[1]),1));return 0>t&&a.setDate(this._getDaysInMonth(a.getFullYear(),a.getMonth())),this._isInRange(e,a)},_isInRange:function(e,t){var i,s,n=this._getMinMaxDate(e,"min"),a=this._getMinMaxDate(e,"max"),o=null,r=null,h=this._get(e,"yearRange");return h&&(i=h.split(":"),s=(new Date).getFullYear(),o=parseInt(i[0],10),r=parseInt(i[1],10),i[0].match(/[+\-].*/)&&(o+=s),i[1].match(/[+\-].*/)&&(r+=s)),(!n||t.getTime()>=n.getTime())&&(!a||t.getTime()<=a.getTime())&&(!o||t.getFullYear()>=o)&&(!r||r>=t.getFullYear())},_getFormatConfig:function(e){var t=this._get(e,"shortYearCutoff");return t="string"!=typeof t?t:(new Date).getFullYear()%100+parseInt(t,10),{shortYearCutoff:t,dayNamesShort:this._get(e,"dayNamesShort"),dayNames:this._get(e,"dayNames"),monthNamesShort:this._get(e,"monthNamesShort"),monthNames:this._get(e,"monthNames")}},_formatDate:function(e,t,i,s){t||(e.currentDay=e.selectedDay,e.currentMonth=e.selectedMonth,e.currentYear=e.selectedYear);var n=t?"object"==typeof t?t:this._daylightSavingAdjust(new Date(s,i,t)):this._daylightSavingAdjust(new Date(e.currentYear,e.currentMonth,e.currentDay));return this.formatDate(this._get(e,"dateFormat"),n,this._getFormatConfig(e))}}),e.fn.datepicker=function(t){if(!this.length)return this;e.datepicker.initialized||(e(document).mousedown(e.datepicker._checkExternalClick),e.datepicker.initialized=!0),0===e("#"+e.datepicker._mainDivId).length&&e("body").append(e.datepicker.dpDiv);var i=Array.prototype.slice.call(arguments,1);return"string"!=typeof t||"isDisabled"!==t&&"getDate"!==t&&"widget"!==t?"option"===t&&2===arguments.length&&"string"==typeof arguments[1]?e.datepicker["_"+t+"Datepicker"].apply(e.datepicker,[this[0]].concat(i)):this.each(function(){"string"==typeof t?e.datepicker["_"+t+"Datepicker"].apply(e.datepicker,[this].concat(i)):e.datepicker._attachDatepicker(this,t)}):e.datepicker["_"+t+"Datepicker"].apply(e.datepicker,[this[0]].concat(i))},e.datepicker=new n,e.datepicker.initialized=!1,e.datepicker.uuid=(new Date).getTime(),e.datepicker.version="1.11.4",e.datepicker,e.widget("ui.progressbar",{version:"1.11.4",options:{max:100,value:0,change:null,complete:null},min:0,_create:function(){this.oldValue=this.options.value=this._constrainedValue(),this.element.addClass("ui-progressbar ui-widget ui-widget-content ui-corner-all").attr({role:"progressbar","aria-valuemin":this.min}),this.valueDiv=e("<div class='ui-progressbar-value ui-widget-header ui-corner-left'></div>").appendTo(this.element),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()},value:function(e){return void 0===e?this.options.value:(this.options.value=this._constrainedValue(e),this._refreshValue(),void 0)},_constrainedValue:function(e){return void 0===e&&(e=this.options.value),this.indeterminate=e===!1,"number"!=typeof e&&(e=0),this.indeterminate?!1:Math.min(this.options.max,Math.max(this.min,e))},_setOptions:function(e){var t=e.value;delete e.value,this._super(e),this.options.value=this._constrainedValue(t),this._refreshValue()},_setOption:function(e,t){"max"===e&&(t=Math.max(this.min,t)),"disabled"===e&&this.element.toggleClass("ui-state-disabled",!!t).attr("aria-disabled",t),this._super(e,t)},_percentage:function(){return this.indeterminate?100:100*(this.options.value-this.min)/(this.options.max-this.min)},_refreshValue:function(){var t=this.options.value,i=this._percentage();this.valueDiv.toggle(this.indeterminate||t>this.min).toggleClass("ui-corner-right",t===this.options.max).width(i.toFixed(0)+"%"),this.element.toggleClass("ui-progressbar-indeterminate",this.indeterminate),this.indeterminate?(this.element.removeAttr("aria-valuenow"),this.overlayDiv||(this.overlayDiv=e("<div class='ui-progressbar-overlay'></div>").appendTo(this.valueDiv))):(this.element.attr({"aria-valuemax":this.options.max,"aria-valuenow":t}),this.overlayDiv&&(this.overlayDiv.remove(),this.overlayDiv=null)),this.oldValue!==t&&(this.oldValue=t,this._trigger("change")),t===this.options.max&&this._trigger("complete")}}),e.widget("ui.slider",e.ui.mouse,{version:"1.11.4",widgetEventPrefix:"slide",options:{animate:!1,distance:0,max:100,min:0,orientation:"horizontal",range:!1,step:1,value:0,values:null,change:null,slide:null,start:null,stop:null},numPages:5,_create:function(){this._keySliding=!1,this._mouseSliding=!1,this._animateOff=!0,this._handleIndex=null,this._detectOrientation(),this._mouseInit(),this._calculateNewMax(),this.element.addClass("ui-slider ui-slider-"+this.orientation+" ui-widget"+" ui-widget-content"+" ui-corner-all"),this._refresh(),this._setOption("disabled",this.options.disabled),this._animateOff=!1},_refresh:function(){this._createRange(),this._createHandles(),this._setupEvents(),this._refreshValue()},_createHandles:function(){var t,i,s=this.options,n=this.element.find(".ui-slider-handle").addClass("ui-state-default ui-corner-all"),a="<span class='ui-slider-handle ui-state-default ui-corner-all' tabindex='0'></span>",o=[];for(i=s.values&&s.values.length||1,n.length>i&&(n.slice(i).remove(),n=n.slice(0,i)),t=n.length;i>t;t++)o.push(a);this.handles=n.add(e(o.join("")).appendTo(this.element)),this.handle=this.handles.eq(0),this.handles.each(function(t){e(this).data("ui-slider-handle-index",t)})},_createRange:function(){var t=this.options,i="";t.range?(t.range===!0&&(t.values?t.values.length&&2!==t.values.length?t.values=[t.values[0],t.values[0]]:e.isArray(t.values)&&(t.values=t.values.slice(0)):t.values=[this._valueMin(),this._valueMin()]),this.range&&this.range.length?this.range.removeClass("ui-slider-range-min ui-slider-range-max").css({left:"",bottom:""}):(this.range=e("<div></div>").appendTo(this.element),i="ui-slider-range ui-widget-header ui-corner-all"),this.range.addClass(i+("min"===t.range||"max"===t.range?" ui-slider-range-"+t.range:""))):(this.range&&this.range.remove(),this.range=null)},_setupEvents:function(){this._off(this.handles),this._on(this.handles,this._handleEvents),this._hoverable(this.handles),this._focusable(this.handles)},_destroy:function(){this.handles.remove(),this.range&&this.range.remove(),this.element.removeClass("ui-slider ui-slider-horizontal ui-slider-vertical ui-widget ui-widget-content ui-corner-all"),this._mouseDestroy()},_mouseCapture:function(t){var i,s,n,a,o,r,h,l,u=this,c=this.options;return c.disabled?!1:(this.elementSize={width:this.element.outerWidth(),height:this.element.outerHeight()},this.elementOffset=this.element.offset(),i={x:t.pageX,y:t.pageY},s=this._normValueFromMouse(i),n=this._valueMax()-this._valueMin()+1,this.handles.each(function(t){var i=Math.abs(s-u.values(t));(n>i||n===i&&(t===u._lastChangedValue||u.values(t)===c.min))&&(n=i,a=e(this),o=t)}),r=this._start(t,o),r===!1?!1:(this._mouseSliding=!0,this._handleIndex=o,a.addClass("ui-state-active").focus(),h=a.offset(),l=!e(t.target).parents().addBack().is(".ui-slider-handle"),this._clickOffset=l?{left:0,top:0}:{left:t.pageX-h.left-a.width()/2,top:t.pageY-h.top-a.height()/2-(parseInt(a.css("borderTopWidth"),10)||0)-(parseInt(a.css("borderBottomWidth"),10)||0)+(parseInt(a.css("marginTop"),10)||0)},this.handles.hasClass("ui-state-hover")||this._slide(t,o,s),this._animateOff=!0,!0))},_mouseStart:function(){return!0},_mouseDrag:function(e){var t={x:e.pageX,y:e.pageY},i=this._normValueFromMouse(t);return this._slide(e,this._handleIndex,i),!1},_mouseStop:function(e){return this.handles.removeClass("ui-state-active"),this._mouseSliding=!1,this._stop(e,this._handleIndex),this._change(e,this._handleIndex),this._handleIndex=null,this._clickOffset=null,this._animateOff=!1,!1},_detectOrientation:function(){this.orientation="vertical"===this.options.orientation?"vertical":"horizontal"},_normValueFromMouse:function(e){var t,i,s,n,a;return"horizontal"===this.orientation?(t=this.elementSize.width,i=e.x-this.elementOffset.left-(this._clickOffset?this._clickOffset.left:0)):(t=this.elementSize.height,i=e.y-this.elementOffset.top-(this._clickOffset?this._clickOffset.top:0)),s=i/t,s>1&&(s=1),0>s&&(s=0),"vertical"===this.orientation&&(s=1-s),n=this._valueMax()-this._valueMin(),a=this._valueMin()+s*n,this._trimAlignValue(a)},_start:function(e,t){var i={handle:this.handles[t],value:this.value()};return this.options.values&&this.options.values.length&&(i.value=this.values(t),i.values=this.values()),this._trigger("start",e,i)},_slide:function(e,t,i){var s,n,a;this.options.values&&this.options.values.length?(s=this.values(t?0:1),2===this.options.values.length&&this.options.range===!0&&(0===t&&i>s||1===t&&s>i)&&(i=s),i!==this.values(t)&&(n=this.values(),n[t]=i,a=this._trigger("slide",e,{handle:this.handles[t],value:i,values:n}),s=this.values(t?0:1),a!==!1&&this.values(t,i))):i!==this.value()&&(a=this._trigger("slide",e,{handle:this.handles[t],value:i}),a!==!1&&this.value(i))},_stop:function(e,t){var i={handle:this.handles[t],value:this.value()};this.options.values&&this.options.values.length&&(i.value=this.values(t),i.values=this.values()),this._trigger("stop",e,i)},_change:function(e,t){if(!this._keySliding&&!this._mouseSliding){var i={handle:this.handles[t],value:this.value()};this.options.values&&this.options.values.length&&(i.value=this.values(t),i.values=this.values()),this._lastChangedValue=t,this._trigger("change",e,i)}},value:function(e){return arguments.length?(this.options.value=this._trimAlignValue(e),this._refreshValue(),this._change(null,0),void 0):this._value()},values:function(t,i){var s,n,a;if(arguments.length>1)return this.options.values[t]=this._trimAlignValue(i),this._refreshValue(),this._change(null,t),void 0;if(!arguments.length)return this._values();if(!e.isArray(arguments[0]))return this.options.values&&this.options.values.length?this._values(t):this.value();for(s=this.options.values,n=arguments[0],a=0;s.length>a;a+=1)s[a]=this._trimAlignValue(n[a]),this._change(null,a);this._refreshValue()},_setOption:function(t,i){var s,n=0;switch("range"===t&&this.options.range===!0&&("min"===i?(this.options.value=this._values(0),this.options.values=null):"max"===i&&(this.options.value=this._values(this.options.values.length-1),this.options.values=null)),e.isArray(this.options.values)&&(n=this.options.values.length),"disabled"===t&&this.element.toggleClass("ui-state-disabled",!!i),this._super(t,i),t){case"orientation":this._detectOrientation(),this.element.removeClass("ui-slider-horizontal ui-slider-vertical").addClass("ui-slider-"+this.orientation),this._refreshValue(),this.handles.css("horizontal"===i?"bottom":"left","");break;case"value":this._animateOff=!0,this._refreshValue(),this._change(null,0),this._animateOff=!1;break;case"values":for(this._animateOff=!0,this._refreshValue(),s=0;n>s;s+=1)this._change(null,s);this._animateOff=!1;break;case"step":case"min":case"max":this._animateOff=!0,this._calculateNewMax(),this._refreshValue(),this._animateOff=!1;break;case"range":this._animateOff=!0,this._refresh(),this._animateOff=!1}},_value:function(){var e=this.options.value;return e=this._trimAlignValue(e)},_values:function(e){var t,i,s;if(arguments.length)return t=this.options.values[e],t=this._trimAlignValue(t);if(this.options.values&&this.options.values.length){for(i=this.options.values.slice(),s=0;i.length>s;s+=1)i[s]=this._trimAlignValue(i[s]);return i}return[]},_trimAlignValue:function(e){if(this._valueMin()>=e)return this._valueMin();if(e>=this._valueMax())return this._valueMax();var t=this.options.step>0?this.options.step:1,i=(e-this._valueMin())%t,s=e-i;return 2*Math.abs(i)>=t&&(s+=i>0?t:-t),parseFloat(s.toFixed(5))},_calculateNewMax:function(){var e=this.options.max,t=this._valueMin(),i=this.options.step,s=Math.floor(+(e-t).toFixed(this._precision())/i)*i;e=s+t,this.max=parseFloat(e.toFixed(this._precision()))},_precision:function(){var e=this._precisionOf(this.options.step);return null!==this.options.min&&(e=Math.max(e,this._precisionOf(this.options.min))),e},_precisionOf:function(e){var t=""+e,i=t.indexOf(".");return-1===i?0:t.length-i-1},_valueMin:function(){return this.options.min},_valueMax:function(){return this.max},_refreshValue:function(){var t,i,s,n,a,o=this.options.range,r=this.options,h=this,l=this._animateOff?!1:r.animate,u={};this.options.values&&this.options.values.length?this.handles.each(function(s){i=100*((h.values(s)-h._valueMin())/(h._valueMax()-h._valueMin())),u["horizontal"===h.orientation?"left":"bottom"]=i+"%",e(this).stop(1,1)[l?"animate":"css"](u,r.animate),h.options.range===!0&&("horizontal"===h.orientation?(0===s&&h.range.stop(1,1)[l?"animate":"css"]({left:i+"%"},r.animate),1===s&&h.range[l?"animate":"css"]({width:i-t+"%"},{queue:!1,duration:r.animate})):(0===s&&h.range.stop(1,1)[l?"animate":"css"]({bottom:i+"%"},r.animate),1===s&&h.range[l?"animate":"css"]({height:i-t+"%"},{queue:!1,duration:r.animate}))),t=i}):(s=this.value(),n=this._valueMin(),a=this._valueMax(),i=a!==n?100*((s-n)/(a-n)):0,u["horizontal"===this.orientation?"left":"bottom"]=i+"%",this.handle.stop(1,1)[l?"animate":"css"](u,r.animate),"min"===o&&"horizontal"===this.orientation&&this.range.stop(1,1)[l?"animate":"css"]({width:i+"%"},r.animate),"max"===o&&"horizontal"===this.orientation&&this.range[l?"animate":"css"]({width:100-i+"%"},{queue:!1,duration:r.animate}),"min"===o&&"vertical"===this.orientation&&this.range.stop(1,1)[l?"animate":"css"]({height:i+"%"},r.animate),"max"===o&&"vertical"===this.orientation&&this.range[l?"animate":"css"]({height:100-i+"%"},{queue:!1,duration:r.animate}))},_handleEvents:{keydown:function(t){var i,s,n,a,o=e(t.target).data("ui-slider-handle-index");switch(t.keyCode){case e.ui.keyCode.HOME:case e.ui.keyCode.END:case e.ui.keyCode.PAGE_UP:case e.ui.keyCode.PAGE_DOWN:case e.ui.keyCode.UP:case e.ui.keyCode.RIGHT:case e.ui.keyCode.DOWN:case e.ui.keyCode.LEFT:if(t.preventDefault(),!this._keySliding&&(this._keySliding=!0,e(t.target).addClass("ui-state-active"),i=this._start(t,o),i===!1))return}switch(a=this.options.step,s=n=this.options.values&&this.options.values.length?this.values(o):this.value(),t.keyCode){case e.ui.keyCode.HOME:n=this._valueMin();break;case e.ui.keyCode.END:n=this._valueMax();break;case e.ui.keyCode.PAGE_UP:n=this._trimAlignValue(s+(this._valueMax()-this._valueMin())/this.numPages);break;case e.ui.keyCode.PAGE_DOWN:n=this._trimAlignValue(s-(this._valueMax()-this._valueMin())/this.numPages);break;case e.ui.keyCode.UP:case e.ui.keyCode.RIGHT:if(s===this._valueMax())return;n=this._trimAlignValue(s+a);break;case e.ui.keyCode.DOWN:case e.ui.keyCode.LEFT:if(s===this._valueMin())return;n=this._trimAlignValue(s-a)}this._slide(t,o,n)},keyup:function(t){var i=e(t.target).data("ui-slider-handle-index");this._keySliding&&(this._keySliding=!1,this._stop(t,i),this._change(t,i),e(t.target).removeClass("ui-state-active"))}}}),e.widget("ui.tabs",{version:"1.11.4",delay:300,options:{active:null,collapsible:!1,event:"click",heightStyle:"content",hide:null,show:null,activate:null,beforeActivate:null,beforeLoad:null,load:null},_isLocal:function(){var e=/#.*$/;return function(t){var i,s;t=t.cloneNode(!1),i=t.href.replace(e,""),s=location.href.replace(e,"");try{i=decodeURIComponent(i)}catch(n){}try{s=decodeURIComponent(s)}catch(n){}return t.hash.length>1&&i===s}}(),_create:function(){var t=this,i=this.options;this.running=!1,this.element.addClass("ui-tabs ui-widget ui-widget-content ui-corner-all").toggleClass("ui-tabs-collapsible",i.collapsible),this._processTabs(),i.active=this._initialActive(),e.isArray(i.disabled)&&(i.disabled=e.unique(i.disabled.concat(e.map(this.tabs.filter(".ui-state-disabled"),function(e){return t.tabs.index(e)}))).sort()),this.active=this.options.active!==!1&&this.anchors.length?this._findActive(i.active):e(),this._refresh(),this.active.length&&this.load(i.active)},_initialActive:function(){var t=this.options.active,i=this.options.collapsible,s=location.hash.substring(1);return null===t&&(s&&this.tabs.each(function(i,n){return e(n).attr("aria-controls")===s?(t=i,!1):void 0}),null===t&&(t=this.tabs.index(this.tabs.filter(".ui-tabs-active"))),(null===t||-1===t)&&(t=this.tabs.length?0:!1)),t!==!1&&(t=this.tabs.index(this.tabs.eq(t)),-1===t&&(t=i?!1:0)),!i&&t===!1&&this.anchors.length&&(t=0),t},_getCreateEventData:function(){return{tab:this.active,panel:this.active.length?this._getPanelForTab(this.active):e()}},_tabKeydown:function(t){var i=e(this.document[0].activeElement).closest("li"),s=this.tabs.index(i),n=!0;if(!this._handlePageNav(t)){switch(t.keyCode){case e.ui.keyCode.RIGHT:case e.ui.keyCode.DOWN:s++;break;case e.ui.keyCode.UP:case e.ui.keyCode.LEFT:n=!1,s--;break;case e.ui.keyCode.END:s=this.anchors.length-1;break;case e.ui.keyCode.HOME:s=0;break;case e.ui.keyCode.SPACE:return t.preventDefault(),clearTimeout(this.activating),this._activate(s),void 0;case e.ui.keyCode.ENTER:return t.preventDefault(),clearTimeout(this.activating),this._activate(s===this.options.active?!1:s),void 0;default:return}t.preventDefault(),clearTimeout(this.activating),s=this._focusNextTab(s,n),t.ctrlKey||t.metaKey||(i.attr("aria-selected","false"),this.tabs.eq(s).attr("aria-selected","true"),this.activating=this._delay(function(){this.option("active",s)},this.delay))}},_panelKeydown:function(t){this._handlePageNav(t)||t.ctrlKey&&t.keyCode===e.ui.keyCode.UP&&(t.preventDefault(),this.active.focus())},_handlePageNav:function(t){return t.altKey&&t.keyCode===e.ui.keyCode.PAGE_UP?(this._activate(this._focusNextTab(this.options.active-1,!1)),!0):t.altKey&&t.keyCode===e.ui.keyCode.PAGE_DOWN?(this._activate(this._focusNextTab(this.options.active+1,!0)),!0):void 0},_findNextTab:function(t,i){function s(){return t>n&&(t=0),0>t&&(t=n),t}for(var n=this.tabs.length-1;-1!==e.inArray(s(),this.options.disabled);)t=i?t+1:t-1;return t},_focusNextTab:function(e,t){return e=this._findNextTab(e,t),this.tabs.eq(e).focus(),e},_setOption:function(e,t){return"active"===e?(this._activate(t),void 0):"disabled"===e?(this._setupDisabled(t),void 0):(this._super(e,t),"collapsible"===e&&(this.element.toggleClass("ui-tabs-collapsible",t),t||this.options.active!==!1||this._activate(0)),"event"===e&&this._setupEvents(t),"heightStyle"===e&&this._setupHeightStyle(t),void 0)},_sanitizeSelector:function(e){return e?e.replace(/[!"$%&'()*+,.\/:;<=>?@\[\]\^`{|}~]/g,"\\$&"):""},refresh:function(){var t=this.options,i=this.tablist.children(":has(a[href])");t.disabled=e.map(i.filter(".ui-state-disabled"),function(e){return i.index(e)}),this._processTabs(),t.active!==!1&&this.anchors.length?this.active.length&&!e.contains(this.tablist[0],this.active[0])?this.tabs.length===t.disabled.length?(t.active=!1,this.active=e()):this._activate(this._findNextTab(Math.max(0,t.active-1),!1)):t.active=this.tabs.index(this.active):(t.active=!1,this.active=e()),this._refresh()},_refresh:function(){this._setupDisabled(this.options.disabled),this._setupEvents(this.options.event),this._setupHeightStyle(this.options.heightStyle),this.tabs.not(this.active).attr({"aria-selected":"false","aria-expanded":"false",tabIndex:-1}),this.panels.not(this._getPanelForTab(this.active)).hide().attr({"aria-hidden":"true"}),this.active.length?(this.active.addClass("ui-tabs-active ui-state-active").attr({"aria-selected":"true","aria-expanded":"true",tabIndex:0}),this._getPanelForTab(this.active).show().attr({"aria-hidden":"false"})):this.tabs.eq(0).attr("tabIndex",0)},_processTabs:function(){var t=this,i=this.tabs,s=this.anchors,n=this.panels;this.tablist=this._getList().addClass("ui-tabs-nav ui-helper-reset ui-helper-clearfix ui-widget-header ui-corner-all").attr("role","tablist").delegate("> li","mousedown"+this.eventNamespace,function(t){e(this).is(".ui-state-disabled")&&t.preventDefault()}).delegate(".ui-tabs-anchor","focus"+this.eventNamespace,function(){e(this).closest("li").is(".ui-state-disabled")&&this.blur()}),this.tabs=this.tablist.find("> li:has(a[href])").addClass("ui-state-default ui-corner-top").attr({role:"tab",tabIndex:-1}),this.anchors=this.tabs.map(function(){return e("a",this)[0]}).addClass("ui-tabs-anchor").attr({role:"presentation",tabIndex:-1}),this.panels=e(),this.anchors.each(function(i,s){var n,a,o,r=e(s).uniqueId().attr("id"),h=e(s).closest("li"),l=h.attr("aria-controls");t._isLocal(s)?(n=s.hash,o=n.substring(1),a=t.element.find(t._sanitizeSelector(n))):(o=h.attr("aria-controls")||e({}).uniqueId()[0].id,n="#"+o,a=t.element.find(n),a.length||(a=t._createPanel(o),a.insertAfter(t.panels[i-1]||t.tablist)),a.attr("aria-live","polite")),a.length&&(t.panels=t.panels.add(a)),l&&h.data("ui-tabs-aria-controls",l),h.attr({"aria-controls":o,"aria-labelledby":r}),a.attr("aria-labelledby",r)}),this.panels.addClass("ui-tabs-panel ui-widget-content ui-corner-bottom").attr("role","tabpanel"),i&&(this._off(i.not(this.tabs)),this._off(s.not(this.anchors)),this._off(n.not(this.panels)))},_getList:function(){return this.tablist||this.element.find("ol,ul").eq(0)},_createPanel:function(t){return e("<div>").attr("id",t).addClass("ui-tabs-panel ui-widget-content ui-corner-bottom").data("ui-tabs-destroy",!0)},_setupDisabled:function(t){e.isArray(t)&&(t.length?t.length===this.anchors.length&&(t=!0):t=!1);for(var i,s=0;i=this.tabs[s];s++)t===!0||-1!==e.inArray(s,t)?e(i).addClass("ui-state-disabled").attr("aria-disabled","true"):e(i).removeClass("ui-state-disabled").removeAttr("aria-disabled");this.options.disabled=t},_setupEvents:function(t){var i={};t&&e.each(t.split(" "),function(e,t){i[t]="_eventHandler"}),this._off(this.anchors.add(this.tabs).add(this.panels)),this._on(!0,this.anchors,{click:function(e){e.preventDefault()}}),this._on(this.anchors,i),this._on(this.tabs,{keydown:"_tabKeydown"}),this._on(this.panels,{keydown:"_panelKeydown"}),this._focusable(this.tabs),this._hoverable(this.tabs)},_setupHeightStyle:function(t){var i,s=this.element.parent();"fill"===t?(i=s.height(),i-=this.element.outerHeight()-this.element.height(),this.element.siblings(":visible").each(function(){var t=e(this),s=t.css("position");"absolute"!==s&&"fixed"!==s&&(i-=t.outerHeight(!0))}),this.element.children().not(this.panels).each(function(){i-=e(this).outerHeight(!0)}),this.panels.each(function(){e(this).height(Math.max(0,i-e(this).innerHeight()+e(this).height()))}).css("overflow","auto")):"auto"===t&&(i=0,this.panels.each(function(){i=Math.max(i,e(this).height("").height())}).height(i))},_eventHandler:function(t){var i=this.options,s=this.active,n=e(t.currentTarget),a=n.closest("li"),o=a[0]===s[0],r=o&&i.collapsible,h=r?e():this._getPanelForTab(a),l=s.length?this._getPanelForTab(s):e(),u={oldTab:s,oldPanel:l,newTab:r?e():a,newPanel:h};t.preventDefault(),a.hasClass("ui-state-disabled")||a.hasClass("ui-tabs-loading")||this.running||o&&!i.collapsible||this._trigger("beforeActivate",t,u)===!1||(i.active=r?!1:this.tabs.index(a),this.active=o?e():a,this.xhr&&this.xhr.abort(),l.length||h.length||e.error("jQuery UI Tabs: Mismatching fragment identifier."),h.length&&this.load(this.tabs.index(a),t),this._toggle(t,u))},_toggle:function(t,i){function s(){a.running=!1,a._trigger("activate",t,i)}function n(){i.newTab.closest("li").addClass("ui-tabs-active ui-state-active"),o.length&&a.options.show?a._show(o,a.options.show,s):(o.show(),s())}var a=this,o=i.newPanel,r=i.oldPanel;this.running=!0,r.length&&this.options.hide?this._hide(r,this.options.hide,function(){i.oldTab.closest("li").removeClass("ui-tabs-active ui-state-active"),n()}):(i.oldTab.closest("li").removeClass("ui-tabs-active ui-state-active"),r.hide(),n()),r.attr("aria-hidden","true"),i.oldTab.attr({"aria-selected":"false","aria-expanded":"false"}),o.length&&r.length?i.oldTab.attr("tabIndex",-1):o.length&&this.tabs.filter(function(){return 0===e(this).attr("tabIndex")}).attr("tabIndex",-1),o.attr("aria-hidden","false"),i.newTab.attr({"aria-selected":"true","aria-expanded":"true",tabIndex:0})},_activate:function(t){var i,s=this._findActive(t);s[0]!==this.active[0]&&(s.length||(s=this.active),i=s.find(".ui-tabs-anchor")[0],this._eventHandler({target:i,currentTarget:i,preventDefault:e.noop}))},_findActive:function(t){return t===!1?e():this.tabs.eq(t)},_getIndex:function(e){return"string"==typeof e&&(e=this.anchors.index(this.anchors.filter("[href$='"+e+"']"))),e},_destroy:function(){this.xhr&&this.xhr.abort(),this.element.removeClass("ui-tabs ui-widget ui-widget-content ui-corner-all ui-tabs-collapsible"),this.tablist.removeClass("ui-tabs-nav ui-helper-reset ui-helper-clearfix ui-widget-header ui-corner-all").removeAttr("role"),this.anchors.removeClass("ui-tabs-anchor").removeAttr("role").removeAttr("tabIndex").removeUniqueId(),this.tablist.unbind(this.eventNamespace),this.tabs.add(this.panels).each(function(){e.data(this,"ui-tabs-destroy")?e(this).remove():e(this).removeClass("ui-state-default ui-state-active ui-state-disabled ui-corner-top ui-corner-bottom ui-widget-content ui-tabs-active ui-tabs-panel").removeAttr("tabIndex").removeAttr("aria-live").removeAttr("aria-busy").removeAttr("aria-selected").removeAttr("aria-labelledby").removeAttr("aria-hidden").removeAttr("aria-expanded").removeAttr("role")}),this.tabs.each(function(){var t=e(this),i=t.data("ui-tabs-aria-controls");i?t.attr("aria-controls",i).removeData("ui-tabs-aria-controls"):t.removeAttr("aria-controls")}),this.panels.show(),"content"!==this.options.heightStyle&&this.panels.css("height","")},enable:function(t){var i=this.options.disabled;i!==!1&&(void 0===t?i=!1:(t=this._getIndex(t),i=e.isArray(i)?e.map(i,function(e){return e!==t?e:null}):e.map(this.tabs,function(e,i){return i!==t?i:null})),this._setupDisabled(i))},disable:function(t){var i=this.options.disabled;if(i!==!0){if(void 0===t)i=!0;else{if(t=this._getIndex(t),-1!==e.inArray(t,i))return;i=e.isArray(i)?e.merge([t],i).sort():[t]}this._setupDisabled(i)}},load:function(t,i){t=this._getIndex(t);var s=this,n=this.tabs.eq(t),a=n.find(".ui-tabs-anchor"),o=this._getPanelForTab(n),r={tab:n,panel:o},h=function(e,t){"abort"===t&&s.panels.stop(!1,!0),n.removeClass("ui-tabs-loading"),o.removeAttr("aria-busy"),e===s.xhr&&delete s.xhr};this._isLocal(a[0])||(this.xhr=e.ajax(this._ajaxSettings(a,i,r)),this.xhr&&"canceled"!==this.xhr.statusText&&(n.addClass("ui-tabs-loading"),o.attr("aria-busy","true"),this.xhr.done(function(e,t,n){setTimeout(function(){o.html(e),s._trigger("load",i,r),h(n,t)},1)}).fail(function(e,t){setTimeout(function(){h(e,t)},1)})))},_ajaxSettings:function(t,i,s){var n=this;return{url:t.attr("href"),beforeSend:function(t,a){return n._trigger("beforeLoad",i,e.extend({jqXHR:t,ajaxSettings:a},s))}}},_getPanelForTab:function(t){var i=e(t).attr("aria-controls");return this.element.find(this._sanitizeSelector("#"+i))}});var v="ui-effects-",_=e;e.effects={effect:{}},function(e,t){function i(e,t,i){var s=c[t.type]||{};return null==e?i||!t.def?null:t.def:(e=s.floor?~~e:parseFloat(e),isNaN(e)?t.def:s.mod?(e+s.mod)%s.mod:0>e?0:e>s.max?s.max:e)}function s(i){var s=l(),n=s._rgba=[];return i=i.toLowerCase(),f(h,function(e,a){var o,r=a.re.exec(i),h=r&&a.parse(r),l=a.space||"rgba";return h?(o=s[l](h),s[u[l].cache]=o[u[l].cache],n=s._rgba=o._rgba,!1):t}),n.length?("0,0,0,0"===n.join()&&e.extend(n,a.transparent),s):a[i]}function n(e,t,i){return i=(i+1)%1,1>6*i?e+6*(t-e)*i:1>2*i?t:2>3*i?e+6*(t-e)*(2/3-i):e}var a,o="backgroundColor borderBottomColor borderLeftColor borderRightColor borderTopColor color columnRuleColor outlineColor textDecorationColor textEmphasisColor",r=/^([\-+])=\s*(\d+\.?\d*)/,h=[{re:/rgba?\(\s*(\d{1,3})\s*,\s*(\d{1,3})\s*,\s*(\d{1,3})\s*(?:,\s*(\d?(?:\.\d+)?)\s*)?\)/,parse:function(e){return[e[1],e[2],e[3],e[4]] >-}},{re:/rgba?\(\s*(\d+(?:\.\d+)?)\%\s*,\s*(\d+(?:\.\d+)?)\%\s*,\s*(\d+(?:\.\d+)?)\%\s*(?:,\s*(\d?(?:\.\d+)?)\s*)?\)/,parse:function(e){return[2.55*e[1],2.55*e[2],2.55*e[3],e[4]]}},{re:/#([a-f0-9]{2})([a-f0-9]{2})([a-f0-9]{2})/,parse:function(e){return[parseInt(e[1],16),parseInt(e[2],16),parseInt(e[3],16)]}},{re:/#([a-f0-9])([a-f0-9])([a-f0-9])/,parse:function(e){return[parseInt(e[1]+e[1],16),parseInt(e[2]+e[2],16),parseInt(e[3]+e[3],16)]}},{re:/hsla?\(\s*(\d+(?:\.\d+)?)\s*,\s*(\d+(?:\.\d+)?)\%\s*,\s*(\d+(?:\.\d+)?)\%\s*(?:,\s*(\d?(?:\.\d+)?)\s*)?\)/,space:"hsla",parse:function(e){return[e[1],e[2]/100,e[3]/100,e[4]]}}],l=e.Color=function(t,i,s,n){return new e.Color.fn.parse(t,i,s,n)},u={rgba:{props:{red:{idx:0,type:"byte"},green:{idx:1,type:"byte"},blue:{idx:2,type:"byte"}}},hsla:{props:{hue:{idx:0,type:"degrees"},saturation:{idx:1,type:"percent"},lightness:{idx:2,type:"percent"}}}},c={"byte":{floor:!0,max:255},percent:{max:1},degrees:{mod:360,floor:!0}},d=l.support={},p=e("<p>")[0],f=e.each;p.style.cssText="background-color:rgba(1,1,1,.5)",d.rgba=p.style.backgroundColor.indexOf("rgba")>-1,f(u,function(e,t){t.cache="_"+e,t.props.alpha={idx:3,type:"percent",def:1}}),l.fn=e.extend(l.prototype,{parse:function(n,o,r,h){if(n===t)return this._rgba=[null,null,null,null],this;(n.jquery||n.nodeType)&&(n=e(n).css(o),o=t);var c=this,d=e.type(n),p=this._rgba=[];return o!==t&&(n=[n,o,r,h],d="array"),"string"===d?this.parse(s(n)||a._default):"array"===d?(f(u.rgba.props,function(e,t){p[t.idx]=i(n[t.idx],t)}),this):"object"===d?(n instanceof l?f(u,function(e,t){n[t.cache]&&(c[t.cache]=n[t.cache].slice())}):f(u,function(t,s){var a=s.cache;f(s.props,function(e,t){if(!c[a]&&s.to){if("alpha"===e||null==n[e])return;c[a]=s.to(c._rgba)}c[a][t.idx]=i(n[e],t,!0)}),c[a]&&0>e.inArray(null,c[a].slice(0,3))&&(c[a][3]=1,s.from&&(c._rgba=s.from(c[a])))}),this):t},is:function(e){var i=l(e),s=!0,n=this;return f(u,function(e,a){var o,r=i[a.cache];return r&&(o=n[a.cache]||a.to&&a.to(n._rgba)||[],f(a.props,function(e,i){return null!=r[i.idx]?s=r[i.idx]===o[i.idx]:t})),s}),s},_space:function(){var e=[],t=this;return f(u,function(i,s){t[s.cache]&&e.push(i)}),e.pop()},transition:function(e,t){var s=l(e),n=s._space(),a=u[n],o=0===this.alpha()?l("transparent"):this,r=o[a.cache]||a.to(o._rgba),h=r.slice();return s=s[a.cache],f(a.props,function(e,n){var a=n.idx,o=r[a],l=s[a],u=c[n.type]||{};null!==l&&(null===o?h[a]=l:(u.mod&&(l-o>u.mod/2?o+=u.mod:o-l>u.mod/2&&(o-=u.mod)),h[a]=i((l-o)*t+o,n)))}),this[n](h)},blend:function(t){if(1===this._rgba[3])return this;var i=this._rgba.slice(),s=i.pop(),n=l(t)._rgba;return l(e.map(i,function(e,t){return(1-s)*n[t]+s*e}))},toRgbaString:function(){var t="rgba(",i=e.map(this._rgba,function(e,t){return null==e?t>2?1:0:e});return 1===i[3]&&(i.pop(),t="rgb("),t+i.join()+")"},toHslaString:function(){var t="hsla(",i=e.map(this.hsla(),function(e,t){return null==e&&(e=t>2?1:0),t&&3>t&&(e=Math.round(100*e)+"%"),e});return 1===i[3]&&(i.pop(),t="hsl("),t+i.join()+")"},toHexString:function(t){var i=this._rgba.slice(),s=i.pop();return t&&i.push(~~(255*s)),"#"+e.map(i,function(e){return e=(e||0).toString(16),1===e.length?"0"+e:e}).join("")},toString:function(){return 0===this._rgba[3]?"transparent":this.toRgbaString()}}),l.fn.parse.prototype=l.fn,u.hsla.to=function(e){if(null==e[0]||null==e[1]||null==e[2])return[null,null,null,e[3]];var t,i,s=e[0]/255,n=e[1]/255,a=e[2]/255,o=e[3],r=Math.max(s,n,a),h=Math.min(s,n,a),l=r-h,u=r+h,c=.5*u;return t=h===r?0:s===r?60*(n-a)/l+360:n===r?60*(a-s)/l+120:60*(s-n)/l+240,i=0===l?0:.5>=c?l/u:l/(2-u),[Math.round(t)%360,i,c,null==o?1:o]},u.hsla.from=function(e){if(null==e[0]||null==e[1]||null==e[2])return[null,null,null,e[3]];var t=e[0]/360,i=e[1],s=e[2],a=e[3],o=.5>=s?s*(1+i):s+i-s*i,r=2*s-o;return[Math.round(255*n(r,o,t+1/3)),Math.round(255*n(r,o,t)),Math.round(255*n(r,o,t-1/3)),a]},f(u,function(s,n){var a=n.props,o=n.cache,h=n.to,u=n.from;l.fn[s]=function(s){if(h&&!this[o]&&(this[o]=h(this._rgba)),s===t)return this[o].slice();var n,r=e.type(s),c="array"===r||"object"===r?s:arguments,d=this[o].slice();return f(a,function(e,t){var s=c["object"===r?e:t.idx];null==s&&(s=d[t.idx]),d[t.idx]=i(s,t)}),u?(n=l(u(d)),n[o]=d,n):l(d)},f(a,function(t,i){l.fn[t]||(l.fn[t]=function(n){var a,o=e.type(n),h="alpha"===t?this._hsla?"hsla":"rgba":s,l=this[h](),u=l[i.idx];return"undefined"===o?u:("function"===o&&(n=n.call(this,u),o=e.type(n)),null==n&&i.empty?this:("string"===o&&(a=r.exec(n),a&&(n=u+parseFloat(a[2])*("+"===a[1]?1:-1))),l[i.idx]=n,this[h](l)))})})}),l.hook=function(t){var i=t.split(" ");f(i,function(t,i){e.cssHooks[i]={set:function(t,n){var a,o,r="";if("transparent"!==n&&("string"!==e.type(n)||(a=s(n)))){if(n=l(a||n),!d.rgba&&1!==n._rgba[3]){for(o="backgroundColor"===i?t.parentNode:t;(""===r||"transparent"===r)&&o&&o.style;)try{r=e.css(o,"backgroundColor"),o=o.parentNode}catch(h){}n=n.blend(r&&"transparent"!==r?r:"_default")}n=n.toRgbaString()}try{t.style[i]=n}catch(h){}}},e.fx.step[i]=function(t){t.colorInit||(t.start=l(t.elem,i),t.end=l(t.end),t.colorInit=!0),e.cssHooks[i].set(t.elem,t.start.transition(t.end,t.pos))}})},l.hook(o),e.cssHooks.borderColor={expand:function(e){var t={};return f(["Top","Right","Bottom","Left"],function(i,s){t["border"+s+"Color"]=e}),t}},a=e.Color.names={aqua:"#00ffff",black:"#000000",blue:"#0000ff",fuchsia:"#ff00ff",gray:"#808080",green:"#008000",lime:"#00ff00",maroon:"#800000",navy:"#000080",olive:"#808000",purple:"#800080",red:"#ff0000",silver:"#c0c0c0",teal:"#008080",white:"#ffffff",yellow:"#ffff00",transparent:[null,null,null,0],_default:"#ffffff"}}(_),function(){function t(t){var i,s,n=t.ownerDocument.defaultView?t.ownerDocument.defaultView.getComputedStyle(t,null):t.currentStyle,a={};if(n&&n.length&&n[0]&&n[n[0]])for(s=n.length;s--;)i=n[s],"string"==typeof n[i]&&(a[e.camelCase(i)]=n[i]);else for(i in n)"string"==typeof n[i]&&(a[i]=n[i]);return a}function i(t,i){var s,a,o={};for(s in i)a=i[s],t[s]!==a&&(n[s]||(e.fx.step[s]||!isNaN(parseFloat(a)))&&(o[s]=a));return o}var s=["add","remove","toggle"],n={border:1,borderBottom:1,borderColor:1,borderLeft:1,borderRight:1,borderTop:1,borderWidth:1,margin:1,padding:1};e.each(["borderLeftStyle","borderRightStyle","borderBottomStyle","borderTopStyle"],function(t,i){e.fx.step[i]=function(e){("none"!==e.end&&!e.setAttr||1===e.pos&&!e.setAttr)&&(_.style(e.elem,i,e.end),e.setAttr=!0)}}),e.fn.addBack||(e.fn.addBack=function(e){return this.add(null==e?this.prevObject:this.prevObject.filter(e))}),e.effects.animateClass=function(n,a,o,r){var h=e.speed(a,o,r);return this.queue(function(){var a,o=e(this),r=o.attr("class")||"",l=h.children?o.find("*").addBack():o;l=l.map(function(){var i=e(this);return{el:i,start:t(this)}}),a=function(){e.each(s,function(e,t){n[t]&&o[t+"Class"](n[t])})},a(),l=l.map(function(){return this.end=t(this.el[0]),this.diff=i(this.start,this.end),this}),o.attr("class",r),l=l.map(function(){var t=this,i=e.Deferred(),s=e.extend({},h,{queue:!1,complete:function(){i.resolve(t)}});return this.el.animate(this.diff,s),i.promise()}),e.when.apply(e,l.get()).done(function(){a(),e.each(arguments,function(){var t=this.el;e.each(this.diff,function(e){t.css(e,"")})}),h.complete.call(o[0])})})},e.fn.extend({addClass:function(t){return function(i,s,n,a){return s?e.effects.animateClass.call(this,{add:i},s,n,a):t.apply(this,arguments)}}(e.fn.addClass),removeClass:function(t){return function(i,s,n,a){return arguments.length>1?e.effects.animateClass.call(this,{remove:i},s,n,a):t.apply(this,arguments)}}(e.fn.removeClass),toggleClass:function(t){return function(i,s,n,a,o){return"boolean"==typeof s||void 0===s?n?e.effects.animateClass.call(this,s?{add:i}:{remove:i},n,a,o):t.apply(this,arguments):e.effects.animateClass.call(this,{toggle:i},s,n,a)}}(e.fn.toggleClass),switchClass:function(t,i,s,n,a){return e.effects.animateClass.call(this,{add:i,remove:t},s,n,a)}})}(),function(){function t(t,i,s,n){return e.isPlainObject(t)&&(i=t,t=t.effect),t={effect:t},null==i&&(i={}),e.isFunction(i)&&(n=i,s=null,i={}),("number"==typeof i||e.fx.speeds[i])&&(n=s,s=i,i={}),e.isFunction(s)&&(n=s,s=null),i&&e.extend(t,i),s=s||i.duration,t.duration=e.fx.off?0:"number"==typeof s?s:s in e.fx.speeds?e.fx.speeds[s]:e.fx.speeds._default,t.complete=n||i.complete,t}function i(t){return!t||"number"==typeof t||e.fx.speeds[t]?!0:"string"!=typeof t||e.effects.effect[t]?e.isFunction(t)?!0:"object"!=typeof t||t.effect?!1:!0:!0}e.extend(e.effects,{version:"1.11.4",save:function(e,t){for(var i=0;t.length>i;i++)null!==t[i]&&e.data(v+t[i],e[0].style[t[i]])},restore:function(e,t){var i,s;for(s=0;t.length>s;s++)null!==t[s]&&(i=e.data(v+t[s]),void 0===i&&(i=""),e.css(t[s],i))},setMode:function(e,t){return"toggle"===t&&(t=e.is(":hidden")?"show":"hide"),t},getBaseline:function(e,t){var i,s;switch(e[0]){case"top":i=0;break;case"middle":i=.5;break;case"bottom":i=1;break;default:i=e[0]/t.height}switch(e[1]){case"left":s=0;break;case"center":s=.5;break;case"right":s=1;break;default:s=e[1]/t.width}return{x:s,y:i}},createWrapper:function(t){if(t.parent().is(".ui-effects-wrapper"))return t.parent();var i={width:t.outerWidth(!0),height:t.outerHeight(!0),"float":t.css("float")},s=e("<div></div>").addClass("ui-effects-wrapper").css({fontSize:"100%",background:"transparent",border:"none",margin:0,padding:0}),n={width:t.width(),height:t.height()},a=document.activeElement;try{a.id}catch(o){a=document.body}return t.wrap(s),(t[0]===a||e.contains(t[0],a))&&e(a).focus(),s=t.parent(),"static"===t.css("position")?(s.css({position:"relative"}),t.css({position:"relative"})):(e.extend(i,{position:t.css("position"),zIndex:t.css("z-index")}),e.each(["top","left","bottom","right"],function(e,s){i[s]=t.css(s),isNaN(parseInt(i[s],10))&&(i[s]="auto")}),t.css({position:"relative",top:0,left:0,right:"auto",bottom:"auto"})),t.css(n),s.css(i).show()},removeWrapper:function(t){var i=document.activeElement;return t.parent().is(".ui-effects-wrapper")&&(t.parent().replaceWith(t),(t[0]===i||e.contains(t[0],i))&&e(i).focus()),t},setTransition:function(t,i,s,n){return n=n||{},e.each(i,function(e,i){var a=t.cssUnit(i);a[0]>0&&(n[i]=a[0]*s+a[1])}),n}}),e.fn.extend({effect:function(){function i(t){function i(){e.isFunction(a)&&a.call(n[0]),e.isFunction(t)&&t()}var n=e(this),a=s.complete,r=s.mode;(n.is(":hidden")?"hide"===r:"show"===r)?(n[r](),i()):o.call(n[0],s,i)}var s=t.apply(this,arguments),n=s.mode,a=s.queue,o=e.effects.effect[s.effect];return e.fx.off||!o?n?this[n](s.duration,s.complete):this.each(function(){s.complete&&s.complete.call(this)}):a===!1?this.each(i):this.queue(a||"fx",i)},show:function(e){return function(s){if(i(s))return e.apply(this,arguments);var n=t.apply(this,arguments);return n.mode="show",this.effect.call(this,n)}}(e.fn.show),hide:function(e){return function(s){if(i(s))return e.apply(this,arguments);var n=t.apply(this,arguments);return n.mode="hide",this.effect.call(this,n)}}(e.fn.hide),toggle:function(e){return function(s){if(i(s)||"boolean"==typeof s)return e.apply(this,arguments);var n=t.apply(this,arguments);return n.mode="toggle",this.effect.call(this,n)}}(e.fn.toggle),cssUnit:function(t){var i=this.css(t),s=[];return e.each(["em","px","%","pt"],function(e,t){i.indexOf(t)>0&&(s=[parseFloat(i),t])}),s}})}(),function(){var t={};e.each(["Quad","Cubic","Quart","Quint","Expo"],function(e,i){t[i]=function(t){return Math.pow(t,e+2)}}),e.extend(t,{Sine:function(e){return 1-Math.cos(e*Math.PI/2)},Circ:function(e){return 1-Math.sqrt(1-e*e)},Elastic:function(e){return 0===e||1===e?e:-Math.pow(2,8*(e-1))*Math.sin((80*(e-1)-7.5)*Math.PI/15)},Back:function(e){return e*e*(3*e-2)},Bounce:function(e){for(var t,i=4;((t=Math.pow(2,--i))-1)/11>e;);return 1/Math.pow(4,3-i)-7.5625*Math.pow((3*t-2)/22-e,2)}}),e.each(t,function(t,i){e.easing["easeIn"+t]=i,e.easing["easeOut"+t]=function(e){return 1-i(1-e)},e.easing["easeInOut"+t]=function(e){return.5>e?i(2*e)/2:1-i(-2*e+2)/2}})}(),e.effects,e.effects.effect.highlight=function(t,i){var s=e(this),n=["backgroundImage","backgroundColor","opacity"],a=e.effects.setMode(s,t.mode||"show"),o={backgroundColor:s.css("backgroundColor")};"hide"===a&&(o.opacity=0),e.effects.save(s,n),s.show().css({backgroundImage:"none",backgroundColor:t.color||"#ffff99"}).animate(o,{queue:!1,duration:t.duration,easing:t.easing,complete:function(){"hide"===a&&s.hide(),e.effects.restore(s,n),i()}})}}); >\ No newline at end of file >diff --git a/koha-tmpl/intranet-tmpl/lib/jquery/jquery-ui-1.13.1.min.css b/koha-tmpl/intranet-tmpl/lib/jquery/jquery-ui-1.13.1.min.css >new file mode 100644 >index 0000000000..bf619a2664 >--- /dev/null >+++ b/koha-tmpl/intranet-tmpl/lib/jquery/jquery-ui-1.13.1.min.css >@@ -0,0 +1,7 @@ >+/*! jQuery UI - v1.13.1 - 2022-02-02 >+* http://jqueryui.com >+* Includes: sortable.css, core.css, accordion.css, autocomplete.css, menu.css, tabs.css, theme.css >+* To view and modify this theme, visit http://jqueryui.com/themeroller/?scope=&folderName=custom-theme&bgImgOpacityError=&bgImgOpacityHighlight=&bgImgOpacityActive=&bgImgOpacityHover=&bgImgOpacityDefault=&bgImgOpacityContent=&bgImgOpacityHeader=&cornerRadiusShadow=8px&offsetLeftShadow=0px&offsetTopShadow=0px&thicknessShadow=5px&opacityShadow=30&bgImgOpacityShadow=0&bgTextureShadow=flat&bgColorShadow=%23666666&opacityOverlay=30&bgImgOpacityOverlay=0&bgTextureOverlay=flat&bgColorOverlay=%23aaaaaa&iconColorError=%23cc0000&fcError=%235f3f3f&borderColorError=%23f1a899&bgTextureError=flat&bgColorError=%23fddfdf&iconColorHighlight=%23777620&fcHighlight=%23777620&borderColorHighlight=%23dad55e&bgTextureHighlight=flat&bgColorHighlight=%23fffa90&iconColorActive=%23aaa&fcActive=%23000&borderColorActive=%23aaa&bgTextureActive=flat&bgColorActive=%23FFF&iconColorHover=%23555555&fcHover=%232b2b2b&borderColorHover=%23b9d8d9&bgTextureHover=flat&bgColorHover=%23e6f0f2&iconColorDefault=%23777777&fcDefault=%23454545&borderColorDefault=%23d6e8e9&bgTextureDefault=flat&bgColorDefault=%23f4f8f9&iconColorContent=%23444444&fcContent=%23333333&borderColorContent=%23dddddd&bgTextureContent=flat&bgColorContent=%23ffffff&iconColorHeader=%23444444&fcHeader=%23333333&borderColorHeader=%23dddddd&bgTextureHeader=flat&bgColorHeader=%23e9e9e9&cornerRadius=3px&fwDefault=normal&fsDefault=&ffDefault= >+* Copyright jQuery Foundation and other contributors; Licensed MIT */ >+ >+.ui-sortable-handle{-ms-touch-action:none;touch-action:none}.ui-helper-hidden{display:none}.ui-helper-hidden-accessible{border:0;clip:rect(0 0 0 0);height:1px;margin:-1px;overflow:hidden;padding:0;position:absolute;width: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;border-collapse:collapse}.ui-helper-clearfix:after{clear:both}.ui-helper-zfix{width:100%;height:100%;top:0;left:0;position:absolute;opacity:0;-ms-filter:"alpha(opacity=0)"}.ui-front{z-index:100}.ui-state-disabled{cursor:default!important;pointer-events:none}.ui-icon{display:inline-block;vertical-align:middle;margin-top:-.25em;position:relative;text-indent:-99999px;overflow:hidden;background-repeat:no-repeat}.ui-widget-icon-block{left:50%;margin-left:-8px;display:block}.ui-widget-overlay{position:fixed;top:0;left:0;width:100%;height:100%}.ui-accordion .ui-accordion-header{display:block;cursor:pointer;position:relative;margin:2px 0 0 0;padding:.5em .5em .5em .7em;font-size:100%}.ui-accordion .ui-accordion-content{padding:1em 2.2em;border-top:0;overflow:auto}.ui-autocomplete{position:absolute;top:0;left:0;cursor:default}.ui-menu{list-style:none;padding:0;margin:0;display:block;outline:0}.ui-menu .ui-menu{position:absolute}.ui-menu .ui-menu-item{margin:0;cursor:pointer;list-style-image:url("data:image/gif;base64,R0lGODlhAQABAIAAAAAAAP///yH5BAEAAAAALAAAAAABAAEAAAIBRAA7")}.ui-menu .ui-menu-item-wrapper{position:relative;padding:3px 1em 3px .4em}.ui-menu .ui-menu-divider{margin:5px 0;height:0;font-size:0;line-height:0;border-width:1px 0 0 0}.ui-menu .ui-state-focus,.ui-menu .ui-state-active{margin:-1px}.ui-menu-icons{position:relative}.ui-menu-icons .ui-menu-item-wrapper{padding-left:2em}.ui-menu .ui-icon{position:absolute;top:0;bottom:0;left:.2em;margin:auto 0}.ui-menu .ui-menu-icon{left:auto;right:0}.ui-tabs{position:relative;padding:.2em}.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:0;margin:1px .2em 0 0;border-bottom-width:0;padding:0;white-space:nowrap}.ui-tabs .ui-tabs-nav .ui-tabs-anchor{float:left;padding:.5em 1em;text-decoration:none}.ui-tabs .ui-tabs-nav li.ui-tabs-active{margin-bottom:-1px;padding-bottom:1px}.ui-tabs .ui-tabs-nav li.ui-tabs-active .ui-tabs-anchor,.ui-tabs .ui-tabs-nav li.ui-state-disabled .ui-tabs-anchor,.ui-tabs .ui-tabs-nav li.ui-tabs-loading .ui-tabs-anchor{cursor:text}.ui-tabs-collapsible .ui-tabs-nav li.ui-tabs-active .ui-tabs-anchor{cursor:pointer}.ui-tabs .ui-tabs-panel{display:block;border-width:0;padding:1em 1.4em;background:none}.ui-widget{font-family:inherit;font-size:}.ui-widget .ui-widget{font-size:1em}.ui-widget input,.ui-widget select,.ui-widget textarea,.ui-widget button{font-family:inherit;font-size:1em}.ui-widget.ui-widget-content{border:1px solid #d6e8e9}.ui-widget-content{border:1px solid #ddd;background:#fff;color:#333}.ui-widget-content a{color:#333}.ui-widget-header{border:1px solid #ddd;background:#e9e9e9;color:#333;font-weight:bold}.ui-widget-header a{color:#333}.ui-state-default,.ui-widget-content .ui-state-default,.ui-widget-header .ui-state-default,.ui-button,html .ui-button.ui-state-disabled:hover,html .ui-button.ui-state-disabled:active{border:1px solid #d6e8e9;background:#f4f8f9;font-weight:normal;color:#454545}.ui-state-default a,.ui-state-default a:link,.ui-state-default a:visited,a.ui-button,a:link.ui-button,a:visited.ui-button,.ui-button{color:#454545;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,.ui-button:hover,.ui-button:focus{border:1px solid #b9d8d9;background:#e6f0f2;font-weight:normal;color:#2b2b2b}.ui-state-hover a,.ui-state-hover a:hover,.ui-state-hover a:link,.ui-state-hover a:visited,.ui-state-focus a,.ui-state-focus a:hover,.ui-state-focus a:link,.ui-state-focus a:visited,a.ui-button:hover,a.ui-button:focus{color:#2b2b2b;text-decoration:none}.ui-visual-focus{box-shadow:0 0 3px 1px rgb(94,158,214)}.ui-state-active,.ui-widget-content .ui-state-active,.ui-widget-header .ui-state-active,a.ui-button:active,.ui-button:active,.ui-button.ui-state-active:hover{border:1px solid #aaa;background:#FFF;font-weight:normal;color:#000}.ui-icon-background,.ui-state-active .ui-icon-background{border:#aaa;background-color:#000}.ui-state-active a,.ui-state-active a:link,.ui-state-active a:visited{color:#000;text-decoration:none}.ui-state-highlight,.ui-widget-content .ui-state-highlight,.ui-widget-header .ui-state-highlight{border:1px solid #dad55e;background:#fffa90;color:#777620}.ui-state-checked{border:1px solid #dad55e;background:#fffa90}.ui-state-highlight a,.ui-widget-content .ui-state-highlight a,.ui-widget-header .ui-state-highlight a{color:#777620}.ui-state-error,.ui-widget-content .ui-state-error,.ui-widget-header .ui-state-error{border:1px solid #f1a899;background:#fddfdf;color:#5f3f3f}.ui-state-error a,.ui-widget-content .ui-state-error a,.ui-widget-header .ui-state-error a{color:#5f3f3f}.ui-state-error-text,.ui-widget-content .ui-state-error-text,.ui-widget-header .ui-state-error-text{color:#5f3f3f}.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;-ms-filter:"alpha(opacity=70)";font-weight:normal}.ui-state-disabled,.ui-widget-content .ui-state-disabled,.ui-widget-header .ui-state-disabled{opacity:.35;-ms-filter:"alpha(opacity=35)";background-image:none}.ui-state-disabled .ui-icon{-ms-filter:"alpha(opacity=35)"}.ui-icon{width:16px;height:16px}.ui-icon,.ui-widget-content .ui-icon{background-image:url("images/ui-icons_444444_256x240.png")}.ui-widget-header .ui-icon{background-image:url("images/ui-icons_444444_256x240.png")}.ui-state-hover .ui-icon,.ui-state-focus .ui-icon,.ui-button:hover .ui-icon,.ui-button:focus .ui-icon{background-image:url("images/ui-icons_555555_256x240.png")}.ui-state-active .ui-icon,.ui-button:active .ui-icon{background-image:url("images/ui-icons_aaa_256x240.png")}.ui-state-highlight .ui-icon,.ui-button .ui-state-highlight.ui-icon{background-image:url("images/ui-icons_777620_256x240.png")}.ui-state-error .ui-icon,.ui-state-error-text .ui-icon{background-image:url("images/ui-icons_cc0000_256x240.png")}.ui-button .ui-icon{background-image:url("images/ui-icons_777777_256x240.png")}.ui-icon-blank.ui-icon-blank.ui-icon-blank{background-image:none}.ui-icon-caret-1-n{background-position:0 0}.ui-icon-caret-1-ne{background-position:-16px 0}.ui-icon-caret-1-e{background-position:-32px 0}.ui-icon-caret-1-se{background-position:-48px 0}.ui-icon-caret-1-s{background-position:-65px 0}.ui-icon-caret-1-sw{background-position:-80px 0}.ui-icon-caret-1-w{background-position:-96px 0}.ui-icon-caret-1-nw{background-position:-112px 0}.ui-icon-caret-2-n-s{background-position:-128px 0}.ui-icon-caret-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:-65px -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:-65px -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:1px -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-on{background-position:-96px -144px}.ui-icon-radio-off{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{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}.ui-corner-all,.ui-corner-top,.ui-corner-left,.ui-corner-tl{border-top-left-radius:3px}.ui-corner-all,.ui-corner-top,.ui-corner-right,.ui-corner-tr{border-top-right-radius:3px}.ui-corner-all,.ui-corner-bottom,.ui-corner-left,.ui-corner-bl{border-bottom-left-radius:3px}.ui-corner-all,.ui-corner-bottom,.ui-corner-right,.ui-corner-br{border-bottom-right-radius:3px}.ui-widget-overlay{background:#aaa;opacity:.3;-ms-filter:Alpha(Opacity=30)}.ui-widget-shadow{-webkit-box-shadow:0 0 5px #666;box-shadow:0 0 5px #666} >diff --git a/koha-tmpl/intranet-tmpl/lib/jquery/jquery-ui-1.13.1.min.js b/koha-tmpl/intranet-tmpl/lib/jquery/jquery-ui-1.13.1.min.js >new file mode 100644 >index 0000000000..459a1e21a6 >--- /dev/null >+++ b/koha-tmpl/intranet-tmpl/lib/jquery/jquery-ui-1.13.1.min.js >@@ -0,0 +1,6 @@ >+/*! jQuery UI - v1.13.1 - 2022-02-02 >+* http://jqueryui.com >+* Includes: widget.js, position.js, data.js, keycode.js, scroll-parent.js, unique-id.js, widgets/sortable.js, widgets/accordion.js, widgets/autocomplete.js, widgets/menu.js, widgets/mouse.js, widgets/tabs.js >+* Copyright jQuery Foundation and other contributors; Licensed MIT */ >+ >+!function(t){"use strict";"function"==typeof define&&define.amd?define(["jquery"],t):t(jQuery)}(function(x){"use strict";x.ui=x.ui||{};x.ui.version="1.13.1";var n,i=0,a=Array.prototype.hasOwnProperty,r=Array.prototype.slice;x.cleanData=(n=x.cleanData,function(t){for(var e,i,s=0;null!=(i=t[s]);s++)(e=x._data(i,"events"))&&e.remove&&x(i).triggerHandler("remove");n(t)}),x.widget=function(t,i,e){var s,n,o,a={},r=t.split(".")[0],h=r+"-"+(t=t.split(".")[1]);return e||(e=i,i=x.Widget),Array.isArray(e)&&(e=x.extend.apply(null,[{}].concat(e))),x.expr.pseudos[h.toLowerCase()]=function(t){return!!x.data(t,h)},x[r]=x[r]||{},s=x[r][t],n=x[r][t]=function(t,e){if(!this||!this._createWidget)return new n(t,e);arguments.length&&this._createWidget(t,e)},x.extend(n,s,{version:e.version,_proto:x.extend({},e),_childConstructors:[]}),(o=new i).options=x.widget.extend({},o.options),x.each(e,function(e,s){function n(){return i.prototype[e].apply(this,arguments)}function o(t){return i.prototype[e].apply(this,t)}a[e]="function"==typeof s?function(){var t,e=this._super,i=this._superApply;return this._super=n,this._superApply=o,t=s.apply(this,arguments),this._super=e,this._superApply=i,t}:s}),n.prototype=x.widget.extend(o,{widgetEventPrefix:s&&o.widgetEventPrefix||t},a,{constructor:n,namespace:r,widgetName:t,widgetFullName:h}),s?(x.each(s._childConstructors,function(t,e){var i=e.prototype;x.widget(i.namespace+"."+i.widgetName,n,e._proto)}),delete s._childConstructors):i._childConstructors.push(n),x.widget.bridge(t,n),n},x.widget.extend=function(t){for(var e,i,s=r.call(arguments,1),n=0,o=s.length;n<o;n++)for(e in s[n])i=s[n][e],a.call(s[n],e)&&void 0!==i&&(x.isPlainObject(i)?t[e]=x.isPlainObject(t[e])?x.widget.extend({},t[e],i):x.widget.extend({},i):t[e]=i);return t},x.widget.bridge=function(o,e){var a=e.prototype.widgetFullName||o;x.fn[o]=function(i){var t="string"==typeof i,s=r.call(arguments,1),n=this;return t?this.length||"instance"!==i?this.each(function(){var t,e=x.data(this,a);return"instance"===i?(n=e,!1):e?"function"!=typeof e[i]||"_"===i.charAt(0)?x.error("no such method '"+i+"' for "+o+" widget instance"):(t=e[i].apply(e,s))!==e&&void 0!==t?(n=t&&t.jquery?n.pushStack(t.get()):t,!1):void 0:x.error("cannot call methods on "+o+" prior to initialization; attempted to call method '"+i+"'")}):n=void 0:(s.length&&(i=x.widget.extend.apply(null,[i].concat(s))),this.each(function(){var t=x.data(this,a);t?(t.option(i||{}),t._init&&t._init()):x.data(this,a,new e(i,this))})),n}},x.Widget=function(){},x.Widget._childConstructors=[],x.Widget.prototype={widgetName:"widget",widgetEventPrefix:"",defaultElement:"<div>",options:{classes:{},disabled:!1,create:null},_createWidget:function(t,e){e=x(e||this.defaultElement||this)[0],this.element=x(e),this.uuid=i++,this.eventNamespace="."+this.widgetName+this.uuid,this.bindings=x(),this.hoverable=x(),this.focusable=x(),this.classesElementLookup={},e!==this&&(x.data(e,this.widgetFullName,this),this._on(!0,this.element,{remove:function(t){t.target===e&&this.destroy()}}),this.document=x(e.style?e.ownerDocument:e.document||e),this.window=x(this.document[0].defaultView||this.document[0].parentWindow)),this.options=x.widget.extend({},this.options,this._getCreateOptions(),t),this._create(),this.options.disabled&&this._setOptionDisabled(this.options.disabled),this._trigger("create",null,this._getCreateEventData()),this._init()},_getCreateOptions:function(){return{}},_getCreateEventData:x.noop,_create:x.noop,_init:x.noop,destroy:function(){var i=this;this._destroy(),x.each(this.classesElementLookup,function(t,e){i._removeClass(e,t)}),this.element.off(this.eventNamespace).removeData(this.widgetFullName),this.widget().off(this.eventNamespace).removeAttr("aria-disabled"),this.bindings.off(this.eventNamespace)},_destroy:x.noop,widget:function(){return this.element},option:function(t,e){var i,s,n,o=t;if(0===arguments.length)return x.widget.extend({},this.options);if("string"==typeof t)if(o={},t=(i=t.split(".")).shift(),i.length){for(s=o[t]=x.widget.extend({},this.options[t]),n=0;n<i.length-1;n++)s[i[n]]=s[i[n]]||{},s=s[i[n]];if(t=i.pop(),1===arguments.length)return void 0===s[t]?null:s[t];s[t]=e}else{if(1===arguments.length)return void 0===this.options[t]?null:this.options[t];o[t]=e}return this._setOptions(o),this},_setOptions:function(t){for(var e in t)this._setOption(e,t[e]);return this},_setOption:function(t,e){return"classes"===t&&this._setOptionClasses(e),this.options[t]=e,"disabled"===t&&this._setOptionDisabled(e),this},_setOptionClasses:function(t){var e,i,s;for(e in t)s=this.classesElementLookup[e],t[e]!==this.options.classes[e]&&s&&s.length&&(i=x(s.get()),this._removeClass(s,e),i.addClass(this._classes({element:i,keys:e,classes:t,add:!0})))},_setOptionDisabled:function(t){this._toggleClass(this.widget(),this.widgetFullName+"-disabled",null,!!t),t&&(this._removeClass(this.hoverable,null,"ui-state-hover"),this._removeClass(this.focusable,null,"ui-state-focus"))},enable:function(){return this._setOptions({disabled:!1})},disable:function(){return this._setOptions({disabled:!0})},_classes:function(n){var o=[],a=this;function t(t,e){for(var i,s=0;s<t.length;s++)i=a.classesElementLookup[t[s]]||x(),i=n.add?(function(){var i=[];n.element.each(function(t,e){x.map(a.classesElementLookup,function(t){return t}).some(function(t){return t.is(e)})||i.push(e)}),a._on(x(i),{remove:"_untrackClassesElement"})}(),x(x.uniqueSort(i.get().concat(n.element.get())))):x(i.not(n.element).get()),a.classesElementLookup[t[s]]=i,o.push(t[s]),e&&n.classes[t[s]]&&o.push(n.classes[t[s]])}return(n=x.extend({element:this.element,classes:this.options.classes||{}},n)).keys&&t(n.keys.match(/\S+/g)||[],!0),n.extra&&t(n.extra.match(/\S+/g)||[]),o.join(" ")},_untrackClassesElement:function(i){var s=this;x.each(s.classesElementLookup,function(t,e){-1!==x.inArray(i.target,e)&&(s.classesElementLookup[t]=x(e.not(i.target).get()))}),this._off(x(i.target))},_removeClass:function(t,e,i){return this._toggleClass(t,e,i,!1)},_addClass:function(t,e,i){return this._toggleClass(t,e,i,!0)},_toggleClass:function(t,e,i,s){var n="string"==typeof t||null===t,i={extra:n?e:i,keys:n?t:e,element:n?this.element:t,add:s="boolean"==typeof s?s:i};return i.element.toggleClass(this._classes(i),s),this},_on:function(n,o,t){var a,r=this;"boolean"!=typeof n&&(t=o,o=n,n=!1),t?(o=a=x(o),this.bindings=this.bindings.add(o)):(t=o,o=this.element,a=this.widget()),x.each(t,function(t,e){function i(){if(n||!0!==r.options.disabled&&!x(this).hasClass("ui-state-disabled"))return("string"==typeof e?r[e]:e).apply(r,arguments)}"string"!=typeof e&&(i.guid=e.guid=e.guid||i.guid||x.guid++);var s=t.match(/^([\w:-]*)\s*(.*)$/),t=s[1]+r.eventNamespace,s=s[2];s?a.on(t,s,i):o.on(t,i)})},_off:function(t,e){e=(e||"").split(" ").join(this.eventNamespace+" ")+this.eventNamespace,t.off(e),this.bindings=x(this.bindings.not(t).get()),this.focusable=x(this.focusable.not(t).get()),this.hoverable=x(this.hoverable.not(t).get())},_delay:function(t,e){var i=this;return setTimeout(function(){return("string"==typeof t?i[t]:t).apply(i,arguments)},e||0)},_hoverable:function(t){this.hoverable=this.hoverable.add(t),this._on(t,{mouseenter:function(t){this._addClass(x(t.currentTarget),null,"ui-state-hover")},mouseleave:function(t){this._removeClass(x(t.currentTarget),null,"ui-state-hover")}})},_focusable:function(t){this.focusable=this.focusable.add(t),this._on(t,{focusin:function(t){this._addClass(x(t.currentTarget),null,"ui-state-focus")},focusout:function(t){this._removeClass(x(t.currentTarget),null,"ui-state-focus")}})},_trigger:function(t,e,i){var s,n,o=this.options[t];if(i=i||{},(e=x.Event(e)).type=(t===this.widgetEventPrefix?t:this.widgetEventPrefix+t).toLowerCase(),e.target=this.element[0],n=e.originalEvent)for(s in n)s in e||(e[s]=n[s]);return this.element.trigger(e,i),!("function"==typeof o&&!1===o.apply(this.element[0],[e].concat(i))||e.isDefaultPrevented())}},x.each({show:"fadeIn",hide:"fadeOut"},function(o,a){x.Widget.prototype["_"+o]=function(e,t,i){var s,n=(t="string"==typeof t?{effect:t}:t)?!0!==t&&"number"!=typeof t&&t.effect||a:o;"number"==typeof(t=t||{})?t={duration:t}:!0===t&&(t={}),s=!x.isEmptyObject(t),t.complete=i,t.delay&&e.delay(t.delay),s&&x.effects&&x.effects.effect[n]?e[o](t):n!==o&&e[n]?e[n](t.duration,t.easing,i):e.queue(function(t){x(this)[o](),i&&i.call(e[0]),t()})}});var s,C,P,o,h,l,c,u,I;x.widget;function T(t,e,i){return[parseFloat(t[0])*(u.test(t[0])?e/100:1),parseFloat(t[1])*(u.test(t[1])?i/100:1)]}function k(t,e){return parseInt(x.css(t,e),10)||0}function A(t){return null!=t&&t===t.window}C=Math.max,P=Math.abs,o=/left|center|right/,h=/top|center|bottom/,l=/[\+\-]\d+(\.[\d]+)?%?/,c=/^\w+/,u=/%$/,I=x.fn.position,x.position={scrollbarWidth:function(){if(void 0!==s)return s;var t,e=x("<div style='display:block;position:absolute;width:200px;height:200px;overflow:hidden;'><div style='height:300px;width:auto;'></div></div>"),i=e.children()[0];return x("body").append(e),t=i.offsetWidth,e.css("overflow","scroll"),t===(i=i.offsetWidth)&&(i=e[0].clientWidth),e.remove(),s=t-i},getScrollInfo:function(t){var e=t.isWindow||t.isDocument?"":t.element.css("overflow-x"),i=t.isWindow||t.isDocument?"":t.element.css("overflow-y"),e="scroll"===e||"auto"===e&&t.width<t.element[0].scrollWidth;return{width:"scroll"===i||"auto"===i&&t.height<t.element[0].scrollHeight?x.position.scrollbarWidth():0,height:e?x.position.scrollbarWidth():0}},getWithinInfo:function(t){var e=x(t||window),i=A(e[0]),s=!!e[0]&&9===e[0].nodeType;return{element:e,isWindow:i,isDocument:s,offset:!i&&!s?x(t).offset():{left:0,top:0},scrollLeft:e.scrollLeft(),scrollTop:e.scrollTop(),width:e.outerWidth(),height:e.outerHeight()}}},x.fn.position=function(u){if(!u||!u.of)return I.apply(this,arguments);var d,p,f,m,g,t,v="string"==typeof(u=x.extend({},u)).of?x(document).find(u.of):x(u.of),_=x.position.getWithinInfo(u.within),b=x.position.getScrollInfo(_),y=(u.collision||"flip").split(" "),w={},e=9===(t=(e=v)[0]).nodeType?{width:e.width(),height:e.height(),offset:{top:0,left:0}}:A(t)?{width:e.width(),height:e.height(),offset:{top:e.scrollTop(),left:e.scrollLeft()}}:t.preventDefault?{width:0,height:0,offset:{top:t.pageY,left:t.pageX}}:{width:e.outerWidth(),height:e.outerHeight(),offset:e.offset()};return v[0].preventDefault&&(u.at="left top"),p=e.width,f=e.height,g=x.extend({},m=e.offset),x.each(["my","at"],function(){var t,e,i=(u[this]||"").split(" ");(i=1===i.length?o.test(i[0])?i.concat(["center"]):h.test(i[0])?["center"].concat(i):["center","center"]:i)[0]=o.test(i[0])?i[0]:"center",i[1]=h.test(i[1])?i[1]:"center",t=l.exec(i[0]),e=l.exec(i[1]),w[this]=[t?t[0]:0,e?e[0]:0],u[this]=[c.exec(i[0])[0],c.exec(i[1])[0]]}),1===y.length&&(y[1]=y[0]),"right"===u.at[0]?g.left+=p:"center"===u.at[0]&&(g.left+=p/2),"bottom"===u.at[1]?g.top+=f:"center"===u.at[1]&&(g.top+=f/2),d=T(w.at,p,f),g.left+=d[0],g.top+=d[1],this.each(function(){var i,t,a=x(this),r=a.outerWidth(),h=a.outerHeight(),e=k(this,"marginLeft"),s=k(this,"marginTop"),n=r+e+k(this,"marginRight")+b.width,o=h+s+k(this,"marginBottom")+b.height,l=x.extend({},g),c=T(w.my,a.outerWidth(),a.outerHeight());"right"===u.my[0]?l.left-=r:"center"===u.my[0]&&(l.left-=r/2),"bottom"===u.my[1]?l.top-=h:"center"===u.my[1]&&(l.top-=h/2),l.left+=c[0],l.top+=c[1],i={marginLeft:e,marginTop:s},x.each(["left","top"],function(t,e){x.ui.position[y[t]]&&x.ui.position[y[t]][e](l,{targetWidth:p,targetHeight:f,elemWidth:r,elemHeight:h,collisionPosition:i,collisionWidth:n,collisionHeight:o,offset:[d[0]+c[0],d[1]+c[1]],my:u.my,at:u.at,within:_,elem:a})}),u.using&&(t=function(t){var e=m.left-l.left,i=e+p-r,s=m.top-l.top,n=s+f-h,o={target:{element:v,left:m.left,top:m.top,width:p,height:f},element:{element:a,left:l.left,top:l.top,width:r,height:h},horizontal:i<0?"left":0<e?"right":"center",vertical:n<0?"top":0<s?"bottom":"middle"};p<r&&P(e+i)<p&&(o.horizontal="center"),f<h&&P(s+n)<f&&(o.vertical="middle"),C(P(e),P(i))>C(P(s),P(n))?o.important="horizontal":o.important="vertical",u.using.call(this,t,o)}),a.offset(x.extend(l,{using:t}))})},x.ui.position={fit:{left:function(t,e){var i=e.within,s=i.isWindow?i.scrollLeft:i.offset.left,n=i.width,o=t.left-e.collisionPosition.marginLeft,a=s-o,r=o+e.collisionWidth-n-s;e.collisionWidth>n?0<a&&r<=0?(i=t.left+a+e.collisionWidth-n-s,t.left+=a-i):t.left=!(0<r&&a<=0)&&r<a?s+n-e.collisionWidth:s:0<a?t.left+=a:0<r?t.left-=r:t.left=C(t.left-o,t.left)},top:function(t,e){var i=e.within,s=i.isWindow?i.scrollTop:i.offset.top,n=e.within.height,o=t.top-e.collisionPosition.marginTop,a=s-o,r=o+e.collisionHeight-n-s;e.collisionHeight>n?0<a&&r<=0?(i=t.top+a+e.collisionHeight-n-s,t.top+=a-i):t.top=!(0<r&&a<=0)&&r<a?s+n-e.collisionHeight:s:0<a?t.top+=a:0<r?t.top-=r:t.top=C(t.top-o,t.top)}},flip:{left:function(t,e){var i=e.within,s=i.offset.left+i.scrollLeft,n=i.width,o=i.isWindow?i.scrollLeft:i.offset.left,a=t.left-e.collisionPosition.marginLeft,r=a-o,h=a+e.collisionWidth-n-o,l="left"===e.my[0]?-e.elemWidth:"right"===e.my[0]?e.elemWidth:0,i="left"===e.at[0]?e.targetWidth:"right"===e.at[0]?-e.targetWidth:0,a=-2*e.offset[0];r<0?((s=t.left+l+i+a+e.collisionWidth-n-s)<0||s<P(r))&&(t.left+=l+i+a):0<h&&(0<(o=t.left-e.collisionPosition.marginLeft+l+i+a-o)||P(o)<h)&&(t.left+=l+i+a)},top:function(t,e){var i=e.within,s=i.offset.top+i.scrollTop,n=i.height,o=i.isWindow?i.scrollTop:i.offset.top,a=t.top-e.collisionPosition.marginTop,r=a-o,h=a+e.collisionHeight-n-o,l="top"===e.my[1]?-e.elemHeight:"bottom"===e.my[1]?e.elemHeight:0,i="top"===e.at[1]?e.targetHeight:"bottom"===e.at[1]?-e.targetHeight:0,a=-2*e.offset[1];r<0?((s=t.top+l+i+a+e.collisionHeight-n-s)<0||s<P(r))&&(t.top+=l+i+a):0<h&&(0<(o=t.top-e.collisionPosition.marginTop+l+i+a-o)||P(o)<h)&&(t.top+=l+i+a)}},flipfit:{left:function(){x.ui.position.flip.left.apply(this,arguments),x.ui.position.fit.left.apply(this,arguments)},top:function(){x.ui.position.flip.top.apply(this,arguments),x.ui.position.fit.top.apply(this,arguments)}}};x.ui.position,x.extend(x.expr.pseudos,{data:x.expr.createPseudo?x.expr.createPseudo(function(e){return function(t){return!!x.data(t,e)}}):function(t,e,i){return!!x.data(t,i[3])}}),x.ui.keyCode={BACKSPACE:8,COMMA:188,DELETE:46,DOWN:40,END:35,ENTER:13,ESCAPE:27,HOME:36,LEFT:37,PAGE_DOWN:34,PAGE_UP:33,PERIOD:190,RIGHT:39,SPACE:32,TAB:9,UP:38},x.fn.scrollParent=function(t){var e=this.css("position"),i="absolute"===e,s=t?/(auto|scroll|hidden)/:/(auto|scroll)/,t=this.parents().filter(function(){var t=x(this);return(!i||"static"!==t.css("position"))&&s.test(t.css("overflow")+t.css("overflow-y")+t.css("overflow-x"))}).eq(0);return"fixed"!==e&&t.length?t:x(this[0].ownerDocument||document)},x.fn.extend({uniqueId:(t=0,function(){return this.each(function(){this.id||(this.id="ui-id-"+ ++t)})}),removeUniqueId:function(){return this.each(function(){/^ui-id-\d+$/.test(this.id)&&x(this).removeAttr("id")})}}),x.ui.ie=!!/msie [\w.]+/.exec(navigator.userAgent.toLowerCase());var t,d=!1;x(document).on("mouseup",function(){d=!1});x.widget("ui.mouse",{version:"1.13.1",options:{cancel:"input, textarea, button, select, option",distance:1,delay:0},_mouseInit:function(){var e=this;this.element.on("mousedown."+this.widgetName,function(t){return e._mouseDown(t)}).on("click."+this.widgetName,function(t){if(!0===x.data(t.target,e.widgetName+".preventClickEvent"))return x.removeData(t.target,e.widgetName+".preventClickEvent"),t.stopImmediatePropagation(),!1}),this.started=!1},_mouseDestroy:function(){this.element.off("."+this.widgetName),this._mouseMoveDelegate&&this.document.off("mousemove."+this.widgetName,this._mouseMoveDelegate).off("mouseup."+this.widgetName,this._mouseUpDelegate)},_mouseDown:function(t){if(!d){this._mouseMoved=!1,this._mouseStarted&&this._mouseUp(t),this._mouseDownEvent=t;var e=this,i=1===t.which,s=!("string"!=typeof this.options.cancel||!t.target.nodeName)&&x(t.target).closest(this.options.cancel).length;return i&&!s&&this._mouseCapture(t)?(this.mouseDelayMet=!this.options.delay,this.mouseDelayMet||(this._mouseDelayTimer=setTimeout(function(){e.mouseDelayMet=!0},this.options.delay)),this._mouseDistanceMet(t)&&this._mouseDelayMet(t)&&(this._mouseStarted=!1!==this._mouseStart(t),!this._mouseStarted)?(t.preventDefault(),!0):(!0===x.data(t.target,this.widgetName+".preventClickEvent")&&x.removeData(t.target,this.widgetName+".preventClickEvent"),this._mouseMoveDelegate=function(t){return e._mouseMove(t)},this._mouseUpDelegate=function(t){return e._mouseUp(t)},this.document.on("mousemove."+this.widgetName,this._mouseMoveDelegate).on("mouseup."+this.widgetName,this._mouseUpDelegate),t.preventDefault(),d=!0)):!0}},_mouseMove:function(t){if(this._mouseMoved){if(x.ui.ie&&(!document.documentMode||document.documentMode<9)&&!t.button)return this._mouseUp(t);if(!t.which)if(t.originalEvent.altKey||t.originalEvent.ctrlKey||t.originalEvent.metaKey||t.originalEvent.shiftKey)this.ignoreMissingWhich=!0;else if(!this.ignoreMissingWhich)return this._mouseUp(t)}return(t.which||t.button)&&(this._mouseMoved=!0),this._mouseStarted?(this._mouseDrag(t),t.preventDefault()):(this._mouseDistanceMet(t)&&this._mouseDelayMet(t)&&(this._mouseStarted=!1!==this._mouseStart(this._mouseDownEvent,t),this._mouseStarted?this._mouseDrag(t):this._mouseUp(t)),!this._mouseStarted)},_mouseUp:function(t){this.document.off("mousemove."+this.widgetName,this._mouseMoveDelegate).off("mouseup."+this.widgetName,this._mouseUpDelegate),this._mouseStarted&&(this._mouseStarted=!1,t.target===this._mouseDownEvent.target&&x.data(t.target,this.widgetName+".preventClickEvent",!0),this._mouseStop(t)),this._mouseDelayTimer&&(clearTimeout(this._mouseDelayTimer),delete this._mouseDelayTimer),this.ignoreMissingWhich=!1,d=!1,t.preventDefault()},_mouseDistanceMet:function(t){return Math.max(Math.abs(this._mouseDownEvent.pageX-t.pageX),Math.abs(this._mouseDownEvent.pageY-t.pageY))>=this.options.distance},_mouseDelayMet:function(){return this.mouseDelayMet},_mouseStart:function(){},_mouseDrag:function(){},_mouseStop:function(){},_mouseCapture:function(){return!0}}),x.widget("ui.sortable",x.ui.mouse,{version:"1.13.1",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,activate:null,beforeStop:null,change:null,deactivate:null,out:null,over:null,receive:null,remove:null,sort:null,start:null,stop:null,update:null},_isOverAxis:function(t,e,i){return e<=t&&t<e+i},_isFloating:function(t){return/left|right/.test(t.css("float"))||/inline|table-cell/.test(t.css("display"))},_create:function(){this.containerCache={},this._addClass("ui-sortable"),this.refresh(),this.offset=this.element.offset(),this._mouseInit(),this._setHandleClassName(),this.ready=!0},_setOption:function(t,e){this._super(t,e),"handle"===t&&this._setHandleClassName()},_setHandleClassName:function(){var t=this;this._removeClass(this.element.find(".ui-sortable-handle"),"ui-sortable-handle"),x.each(this.items,function(){t._addClass(this.instance.options.handle?this.item.find(this.instance.options.handle):this.item,"ui-sortable-handle")})},_destroy:function(){this._mouseDestroy();for(var t=this.items.length-1;0<=t;t--)this.items[t].item.removeData(this.widgetName+"-item");return this},_mouseCapture:function(t,e){var i=null,s=!1,n=this;return!this.reverting&&(!this.options.disabled&&"static"!==this.options.type&&(this._refreshItems(t),x(t.target).parents().each(function(){if(x.data(this,n.widgetName+"-item")===n)return i=x(this),!1}),!!(i=x.data(t.target,n.widgetName+"-item")===n?x(t.target):i)&&(!(this.options.handle&&!e&&(x(this.options.handle,i).find("*").addBack().each(function(){this===t.target&&(s=!0)}),!s))&&(this.currentItem=i,this._removeCurrentsFromItems(),!0))))},_mouseStart:function(t,e,i){var s,n,o=this.options;if((this.currentContainer=this).refreshPositions(),this.appendTo=x("parent"!==o.appendTo?o.appendTo:this.currentItem.parent()),this.helper=this._createHelper(t),this._cacheHelperProportions(),this._cacheMargins(),this.offset=this.currentItem.offset(),this.offset={top:this.offset.top-this.margins.top,left:this.offset.left-this.margins.left},x.extend(this.offset,{click:{left:t.pageX-this.offset.left,top:t.pageY-this.offset.top},relative:this._getRelativeOffset()}),this.helper.css("position","absolute"),this.cssPosition=this.helper.css("position"),o.cursorAt&&this._adjustOffsetFromHelper(o.cursorAt),this.domPosition={prev:this.currentItem.prev()[0],parent:this.currentItem.parent()[0]},this.helper[0]!==this.currentItem[0]&&this.currentItem.hide(),this._createPlaceholder(),this.scrollParent=this.placeholder.scrollParent(),x.extend(this.offset,{parent:this._getParentOffset()}),o.containment&&this._setContainment(),o.cursor&&"auto"!==o.cursor&&(n=this.document.find("body"),this.storedCursor=n.css("cursor"),n.css("cursor",o.cursor),this.storedStylesheet=x("<style>*{ cursor: "+o.cursor+" !important; }</style>").appendTo(n)),o.zIndex&&(this.helper.css("zIndex")&&(this._storedZIndex=this.helper.css("zIndex")),this.helper.css("zIndex",o.zIndex)),o.opacity&&(this.helper.css("opacity")&&(this._storedOpacity=this.helper.css("opacity")),this.helper.css("opacity",o.opacity)),this.scrollParent[0]!==this.document[0]&&"HTML"!==this.scrollParent[0].tagName&&(this.overflowOffset=this.scrollParent.offset()),this._trigger("start",t,this._uiHash()),this._preserveHelperProportions||this._cacheHelperProportions(),!i)for(s=this.containers.length-1;0<=s;s--)this.containers[s]._trigger("activate",t,this._uiHash(this));return x.ui.ddmanager&&(x.ui.ddmanager.current=this),x.ui.ddmanager&&!o.dropBehaviour&&x.ui.ddmanager.prepareOffsets(this,t),this.dragging=!0,this._addClass(this.helper,"ui-sortable-helper"),this.helper.parent().is(this.appendTo)||(this.helper.detach().appendTo(this.appendTo),this.offset.parent=this._getParentOffset()),this.position=this.originalPosition=this._generatePosition(t),this.originalPageX=t.pageX,this.originalPageY=t.pageY,this.lastPositionAbs=this.positionAbs=this._convertPositionTo("absolute"),this._mouseDrag(t),!0},_scroll:function(t){var e=this.options,i=!1;return this.scrollParent[0]!==this.document[0]&&"HTML"!==this.scrollParent[0].tagName?(this.overflowOffset.top+this.scrollParent[0].offsetHeight-t.pageY<e.scrollSensitivity?this.scrollParent[0].scrollTop=i=this.scrollParent[0].scrollTop+e.scrollSpeed:t.pageY-this.overflowOffset.top<e.scrollSensitivity&&(this.scrollParent[0].scrollTop=i=this.scrollParent[0].scrollTop-e.scrollSpeed),this.overflowOffset.left+this.scrollParent[0].offsetWidth-t.pageX<e.scrollSensitivity?this.scrollParent[0].scrollLeft=i=this.scrollParent[0].scrollLeft+e.scrollSpeed:t.pageX-this.overflowOffset.left<e.scrollSensitivity&&(this.scrollParent[0].scrollLeft=i=this.scrollParent[0].scrollLeft-e.scrollSpeed)):(t.pageY-this.document.scrollTop()<e.scrollSensitivity?i=this.document.scrollTop(this.document.scrollTop()-e.scrollSpeed):this.window.height()-(t.pageY-this.document.scrollTop())<e.scrollSensitivity&&(i=this.document.scrollTop(this.document.scrollTop()+e.scrollSpeed)),t.pageX-this.document.scrollLeft()<e.scrollSensitivity?i=this.document.scrollLeft(this.document.scrollLeft()-e.scrollSpeed):this.window.width()-(t.pageX-this.document.scrollLeft())<e.scrollSensitivity&&(i=this.document.scrollLeft(this.document.scrollLeft()+e.scrollSpeed))),i},_mouseDrag:function(t){var e,i,s,n,o=this.options;for(this.position=this._generatePosition(t),this.positionAbs=this._convertPositionTo("absolute"),this.options.axis&&"y"===this.options.axis||(this.helper[0].style.left=this.position.left+"px"),this.options.axis&&"x"===this.options.axis||(this.helper[0].style.top=this.position.top+"px"),o.scroll&&!1!==this._scroll(t)&&(this._refreshItemPositions(!0),x.ui.ddmanager&&!o.dropBehaviour&&x.ui.ddmanager.prepareOffsets(this,t)),this.dragDirection={vertical:this._getDragVerticalDirection(),horizontal:this._getDragHorizontalDirection()},e=this.items.length-1;0<=e;e--)if(s=(i=this.items[e]).item[0],(n=this._intersectsWithPointer(i))&&i.instance===this.currentContainer&&!(s===this.currentItem[0]||this.placeholder[1===n?"next":"prev"]()[0]===s||x.contains(this.placeholder[0],s)||"semi-dynamic"===this.options.type&&x.contains(this.element[0],s))){if(this.direction=1===n?"down":"up","pointer"!==this.options.tolerance&&!this._intersectsWithSides(i))break;this._rearrange(t,i),this._trigger("change",t,this._uiHash());break}return this._contactContainers(t),x.ui.ddmanager&&x.ui.ddmanager.drag(this,t),this._trigger("sort",t,this._uiHash()),this.lastPositionAbs=this.positionAbs,!1},_mouseStop:function(t,e){var i,s,n,o;if(t)return x.ui.ddmanager&&!this.options.dropBehaviour&&x.ui.ddmanager.drop(this,t),this.options.revert?(s=(i=this).placeholder.offset(),o={},(n=this.options.axis)&&"x"!==n||(o.left=s.left-this.offset.parent.left-this.margins.left+(this.offsetParent[0]===this.document[0].body?0:this.offsetParent[0].scrollLeft)),n&&"y"!==n||(o.top=s.top-this.offset.parent.top-this.margins.top+(this.offsetParent[0]===this.document[0].body?0:this.offsetParent[0].scrollTop)),this.reverting=!0,x(this.helper).animate(o,parseInt(this.options.revert,10)||500,function(){i._clear(t)})):this._clear(t,e),!1},cancel:function(){if(this.dragging){this._mouseUp(new x.Event("mouseup",{target:null})),"original"===this.options.helper?(this.currentItem.css(this._storedCSS),this._removeClass(this.currentItem,"ui-sortable-helper")):this.currentItem.show();for(var t=this.containers.length-1;0<=t;t--)this.containers[t]._trigger("deactivate",null,this._uiHash(this)),this.containers[t].containerCache.over&&(this.containers[t]._trigger("out",null,this._uiHash(this)),this.containers[t].containerCache.over=0)}return this.placeholder&&(this.placeholder[0].parentNode&&this.placeholder[0].parentNode.removeChild(this.placeholder[0]),"original"!==this.options.helper&&this.helper&&this.helper[0].parentNode&&this.helper.remove(),x.extend(this,{helper:null,dragging:!1,reverting:!1,_noFinalSort:null}),this.domPosition.prev?x(this.domPosition.prev).after(this.currentItem):x(this.domPosition.parent).prepend(this.currentItem)),this},serialize:function(e){var t=this._getItemsAsjQuery(e&&e.connected),i=[];return e=e||{},x(t).each(function(){var t=(x(e.item||this).attr(e.attribute||"id")||"").match(e.expression||/(.+)[\-=_](.+)/);t&&i.push((e.key||t[1]+"[]")+"="+(e.key&&e.expression?t[1]:t[2]))}),!i.length&&e.key&&i.push(e.key+"="),i.join("&")},toArray:function(t){var e=this._getItemsAsjQuery(t&&t.connected),i=[];return t=t||{},e.each(function(){i.push(x(t.item||this).attr(t.attribute||"id")||"")}),i},_intersectsWith:function(t){var e=this.positionAbs.left,i=e+this.helperProportions.width,s=this.positionAbs.top,n=s+this.helperProportions.height,o=t.left,a=o+t.width,r=t.top,h=r+t.height,l=this.offset.click.top,c=this.offset.click.left,l="x"===this.options.axis||r<s+l&&s+l<h,c="y"===this.options.axis||o<e+c&&e+c<a;return"pointer"===this.options.tolerance||this.options.forcePointerForContainers||"pointer"!==this.options.tolerance&&this.helperProportions[this.floating?"width":"height"]>t[this.floating?"width":"height"]?l&&c:o<e+this.helperProportions.width/2&&i-this.helperProportions.width/2<a&&r<s+this.helperProportions.height/2&&n-this.helperProportions.height/2<h},_intersectsWithPointer:function(t){var e="x"===this.options.axis||this._isOverAxis(this.positionAbs.top+this.offset.click.top,t.top,t.height),t="y"===this.options.axis||this._isOverAxis(this.positionAbs.left+this.offset.click.left,t.left,t.width);return!(!e||!t)&&(e=this.dragDirection.vertical,t=this.dragDirection.horizontal,this.floating?"right"===t||"down"===e?2:1:e&&("down"===e?2:1))},_intersectsWithSides:function(t){var e=this._isOverAxis(this.positionAbs.top+this.offset.click.top,t.top+t.height/2,t.height),i=this._isOverAxis(this.positionAbs.left+this.offset.click.left,t.left+t.width/2,t.width),s=this.dragDirection.vertical,t=this.dragDirection.horizontal;return this.floating&&t?"right"===t&&i||"left"===t&&!i:s&&("down"===s&&e||"up"===s&&!e)},_getDragVerticalDirection:function(){var t=this.positionAbs.top-this.lastPositionAbs.top;return 0!=t&&(0<t?"down":"up")},_getDragHorizontalDirection:function(){var t=this.positionAbs.left-this.lastPositionAbs.left;return 0!=t&&(0<t?"right":"left")},refresh:function(t){return this._refreshItems(t),this._setHandleClassName(),this.refreshPositions(),this},_connectWith:function(){var t=this.options;return t.connectWith.constructor===String?[t.connectWith]:t.connectWith},_getItemsAsjQuery:function(t){var e,i,s,n,o=[],a=[],r=this._connectWith();if(r&&t)for(e=r.length-1;0<=e;e--)for(i=(s=x(r[e],this.document[0])).length-1;0<=i;i--)(n=x.data(s[i],this.widgetFullName))&&n!==this&&!n.options.disabled&&a.push(["function"==typeof n.options.items?n.options.items.call(n.element):x(n.options.items,n.element).not(".ui-sortable-helper").not(".ui-sortable-placeholder"),n]);function h(){o.push(this)}for(a.push(["function"==typeof this.options.items?this.options.items.call(this.element,null,{options:this.options,item:this.currentItem}):x(this.options.items,this.element).not(".ui-sortable-helper").not(".ui-sortable-placeholder"),this]),e=a.length-1;0<=e;e--)a[e][0].each(h);return x(o)},_removeCurrentsFromItems:function(){var i=this.currentItem.find(":data("+this.widgetName+"-item)");this.items=x.grep(this.items,function(t){for(var e=0;e<i.length;e++)if(i[e]===t.item[0])return!1;return!0})},_refreshItems:function(t){this.items=[],this.containers=[this];var e,i,s,n,o,a,r,h,l=this.items,c=[["function"==typeof this.options.items?this.options.items.call(this.element[0],t,{item:this.currentItem}):x(this.options.items,this.element),this]],u=this._connectWith();if(u&&this.ready)for(e=u.length-1;0<=e;e--)for(i=(s=x(u[e],this.document[0])).length-1;0<=i;i--)(n=x.data(s[i],this.widgetFullName))&&n!==this&&!n.options.disabled&&(c.push(["function"==typeof n.options.items?n.options.items.call(n.element[0],t,{item:this.currentItem}):x(n.options.items,n.element),n]),this.containers.push(n));for(e=c.length-1;0<=e;e--)for(o=c[e][1],h=(a=c[e][i=0]).length;i<h;i++)(r=x(a[i])).data(this.widgetName+"-item",o),l.push({item:r,instance:o,width:0,height:0,left:0,top:0})},_refreshItemPositions:function(t){for(var e,i,s=this.items.length-1;0<=s;s--)e=this.items[s],this.currentContainer&&e.instance!==this.currentContainer&&e.item[0]!==this.currentItem[0]||(i=this.options.toleranceElement?x(this.options.toleranceElement,e.item):e.item,t||(e.width=i.outerWidth(),e.height=i.outerHeight()),i=i.offset(),e.left=i.left,e.top=i.top)},refreshPositions:function(t){var e,i;if(this.floating=!!this.items.length&&("x"===this.options.axis||this._isFloating(this.items[0].item)),this.offsetParent&&this.helper&&(this.offset.parent=this._getParentOffset()),this._refreshItemPositions(t),this.options.custom&&this.options.custom.refreshContainers)this.options.custom.refreshContainers.call(this);else for(e=this.containers.length-1;0<=e;e--)i=this.containers[e].element.offset(),this.containers[e].containerCache.left=i.left,this.containers[e].containerCache.top=i.top,this.containers[e].containerCache.width=this.containers[e].element.outerWidth(),this.containers[e].containerCache.height=this.containers[e].element.outerHeight();return this},_createPlaceholder:function(i){var s,n,o=(i=i||this).options;o.placeholder&&o.placeholder.constructor!==String||(s=o.placeholder,n=i.currentItem[0].nodeName.toLowerCase(),o.placeholder={element:function(){var t=x("<"+n+">",i.document[0]);return i._addClass(t,"ui-sortable-placeholder",s||i.currentItem[0].className)._removeClass(t,"ui-sortable-helper"),"tbody"===n?i._createTrPlaceholder(i.currentItem.find("tr").eq(0),x("<tr>",i.document[0]).appendTo(t)):"tr"===n?i._createTrPlaceholder(i.currentItem,t):"img"===n&&t.attr("src",i.currentItem.attr("src")),s||t.css("visibility","hidden"),t},update:function(t,e){s&&!o.forcePlaceholderSize||(e.height()&&(!o.forcePlaceholderSize||"tbody"!==n&&"tr"!==n)||e.height(i.currentItem.innerHeight()-parseInt(i.currentItem.css("paddingTop")||0,10)-parseInt(i.currentItem.css("paddingBottom")||0,10)),e.width()||e.width(i.currentItem.innerWidth()-parseInt(i.currentItem.css("paddingLeft")||0,10)-parseInt(i.currentItem.css("paddingRight")||0,10)))}}),i.placeholder=x(o.placeholder.element.call(i.element,i.currentItem)),i.currentItem.after(i.placeholder),o.placeholder.update(i,i.placeholder)},_createTrPlaceholder:function(t,e){var i=this;t.children().each(function(){x("<td> </td>",i.document[0]).attr("colspan",x(this).attr("colspan")||1).appendTo(e)})},_contactContainers:function(t){for(var e,i,s,n,o,a,r,h,l,c=null,u=null,d=this.containers.length-1;0<=d;d--)x.contains(this.currentItem[0],this.containers[d].element[0])||(this._intersectsWith(this.containers[d].containerCache)?c&&x.contains(this.containers[d].element[0],c.element[0])||(c=this.containers[d],u=d):this.containers[d].containerCache.over&&(this.containers[d]._trigger("out",t,this._uiHash(this)),this.containers[d].containerCache.over=0));if(c)if(1===this.containers.length)this.containers[u].containerCache.over||(this.containers[u]._trigger("over",t,this._uiHash(this)),this.containers[u].containerCache.over=1);else{for(i=1e4,s=null,n=(h=c.floating||this._isFloating(this.currentItem))?"left":"top",o=h?"width":"height",l=h?"pageX":"pageY",e=this.items.length-1;0<=e;e--)x.contains(this.containers[u].element[0],this.items[e].item[0])&&this.items[e].item[0]!==this.currentItem[0]&&(a=this.items[e].item.offset()[n],r=!1,t[l]-a>this.items[e][o]/2&&(r=!0),Math.abs(t[l]-a)<i&&(i=Math.abs(t[l]-a),s=this.items[e],this.direction=r?"up":"down"));(s||this.options.dropOnEmpty)&&(this.currentContainer!==this.containers[u]?(s?this._rearrange(t,s,null,!0):this._rearrange(t,null,this.containers[u].element,!0),this._trigger("change",t,this._uiHash()),this.containers[u]._trigger("change",t,this._uiHash(this)),this.currentContainer=this.containers[u],this.options.placeholder.update(this.currentContainer,this.placeholder),this.scrollParent=this.placeholder.scrollParent(),this.scrollParent[0]!==this.document[0]&&"HTML"!==this.scrollParent[0].tagName&&(this.overflowOffset=this.scrollParent.offset()),this.containers[u]._trigger("over",t,this._uiHash(this)),this.containers[u].containerCache.over=1):this.currentContainer.containerCache.over||(this.containers[u]._trigger("over",t,this._uiHash()),this.currentContainer.containerCache.over=1))}},_createHelper:function(t){var e=this.options,t="function"==typeof e.helper?x(e.helper.apply(this.element[0],[t,this.currentItem])):"clone"===e.helper?this.currentItem.clone():this.currentItem;return t.parents("body").length||this.appendTo[0].appendChild(t[0]),t[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")}),t[0].style.width&&!e.forceHelperSize||t.width(this.currentItem.width()),t[0].style.height&&!e.forceHelperSize||t.height(this.currentItem.height()),t},_adjustOffsetFromHelper:function(t){"string"==typeof t&&(t=t.split(" ")),"left"in(t=Array.isArray(t)?{left:+t[0],top:+t[1]||0}:t)&&(this.offset.click.left=t.left+this.margins.left),"right"in t&&(this.offset.click.left=this.helperProportions.width-t.right+this.margins.left),"top"in t&&(this.offset.click.top=t.top+this.margins.top),"bottom"in t&&(this.offset.click.top=this.helperProportions.height-t.bottom+this.margins.top)},_getParentOffset:function(){this.offsetParent=this.helper.offsetParent();var t=this.offsetParent.offset();return"absolute"===this.cssPosition&&this.scrollParent[0]!==this.document[0]&&x.contains(this.scrollParent[0],this.offsetParent[0])&&(t.left+=this.scrollParent.scrollLeft(),t.top+=this.scrollParent.scrollTop()),{top:(t=this.offsetParent[0]===this.document[0].body||this.offsetParent[0].tagName&&"html"===this.offsetParent[0].tagName.toLowerCase()&&x.ui.ie?{top:0,left:0}:t).top+(parseInt(this.offsetParent.css("borderTopWidth"),10)||0),left:t.left+(parseInt(this.offsetParent.css("borderLeftWidth"),10)||0)}},_getRelativeOffset:function(){if("relative"!==this.cssPosition)return{top:0,left:0};var t=this.currentItem.position();return{top:t.top-(parseInt(this.helper.css("top"),10)||0)+this.scrollParent.scrollTop(),left:t.left-(parseInt(this.helper.css("left"),10)||0)+this.scrollParent.scrollLeft()}},_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 t,e,i=this.options;"parent"===i.containment&&(i.containment=this.helper[0].parentNode),"document"!==i.containment&&"window"!==i.containment||(this.containment=[0-this.offset.relative.left-this.offset.parent.left,0-this.offset.relative.top-this.offset.parent.top,"document"===i.containment?this.document.width():this.window.width()-this.helperProportions.width-this.margins.left,("document"===i.containment?this.document.height()||document.body.parentNode.scrollHeight:this.window.height()||this.document[0].body.parentNode.scrollHeight)-this.helperProportions.height-this.margins.top]),/^(document|window|parent)$/.test(i.containment)||(t=x(i.containment)[0],e=x(i.containment).offset(),i="hidden"!==x(t).css("overflow"),this.containment=[e.left+(parseInt(x(t).css("borderLeftWidth"),10)||0)+(parseInt(x(t).css("paddingLeft"),10)||0)-this.margins.left,e.top+(parseInt(x(t).css("borderTopWidth"),10)||0)+(parseInt(x(t).css("paddingTop"),10)||0)-this.margins.top,e.left+(i?Math.max(t.scrollWidth,t.offsetWidth):t.offsetWidth)-(parseInt(x(t).css("borderLeftWidth"),10)||0)-(parseInt(x(t).css("paddingRight"),10)||0)-this.helperProportions.width-this.margins.left,e.top+(i?Math.max(t.scrollHeight,t.offsetHeight):t.offsetHeight)-(parseInt(x(t).css("borderTopWidth"),10)||0)-(parseInt(x(t).css("paddingBottom"),10)||0)-this.helperProportions.height-this.margins.top])},_convertPositionTo:function(t,e){e=e||this.position;var i="absolute"===t?1:-1,s="absolute"!==this.cssPosition||this.scrollParent[0]!==this.document[0]&&x.contains(this.scrollParent[0],this.offsetParent[0])?this.scrollParent:this.offsetParent,t=/(html|body)/i.test(s[0].tagName);return{top:e.top+this.offset.relative.top*i+this.offset.parent.top*i-("fixed"===this.cssPosition?-this.scrollParent.scrollTop():t?0:s.scrollTop())*i,left:e.left+this.offset.relative.left*i+this.offset.parent.left*i-("fixed"===this.cssPosition?-this.scrollParent.scrollLeft():t?0:s.scrollLeft())*i}},_generatePosition:function(t){var e=this.options,i=t.pageX,s=t.pageY,n="absolute"!==this.cssPosition||this.scrollParent[0]!==this.document[0]&&x.contains(this.scrollParent[0],this.offsetParent[0])?this.scrollParent:this.offsetParent,o=/(html|body)/i.test(n[0].tagName);return"relative"!==this.cssPosition||this.scrollParent[0]!==this.document[0]&&this.scrollParent[0]!==this.offsetParent[0]||(this.offset.relative=this._getRelativeOffset()),this.originalPosition&&(this.containment&&(t.pageX-this.offset.click.left<this.containment[0]&&(i=this.containment[0]+this.offset.click.left),t.pageY-this.offset.click.top<this.containment[1]&&(s=this.containment[1]+this.offset.click.top),t.pageX-this.offset.click.left>this.containment[2]&&(i=this.containment[2]+this.offset.click.left),t.pageY-this.offset.click.top>this.containment[3]&&(s=this.containment[3]+this.offset.click.top)),e.grid&&(t=this.originalPageY+Math.round((s-this.originalPageY)/e.grid[1])*e.grid[1],s=!this.containment||t-this.offset.click.top>=this.containment[1]&&t-this.offset.click.top<=this.containment[3]?t:t-this.offset.click.top>=this.containment[1]?t-e.grid[1]:t+e.grid[1],t=this.originalPageX+Math.round((i-this.originalPageX)/e.grid[0])*e.grid[0],i=!this.containment||t-this.offset.click.left>=this.containment[0]&&t-this.offset.click.left<=this.containment[2]?t:t-this.offset.click.left>=this.containment[0]?t-e.grid[0]:t+e.grid[0])),{top:s-this.offset.click.top-this.offset.relative.top-this.offset.parent.top+("fixed"===this.cssPosition?-this.scrollParent.scrollTop():o?0:n.scrollTop()),left:i-this.offset.click.left-this.offset.relative.left-this.offset.parent.left+("fixed"===this.cssPosition?-this.scrollParent.scrollLeft():o?0:n.scrollLeft())}},_rearrange:function(t,e,i,s){i?i[0].appendChild(this.placeholder[0]):e.item[0].parentNode.insertBefore(this.placeholder[0],"down"===this.direction?e.item[0]:e.item[0].nextSibling),this.counter=this.counter?++this.counter:1;var n=this.counter;this._delay(function(){n===this.counter&&this.refreshPositions(!s)})},_clear:function(t,e){this.reverting=!1;var i,s=[];if(!this._noFinalSort&&this.currentItem.parent().length&&this.placeholder.before(this.currentItem),this._noFinalSort=null,this.helper[0]===this.currentItem[0]){for(i in this._storedCSS)"auto"!==this._storedCSS[i]&&"static"!==this._storedCSS[i]||(this._storedCSS[i]="");this.currentItem.css(this._storedCSS),this._removeClass(this.currentItem,"ui-sortable-helper")}else this.currentItem.show();function n(e,i,s){return function(t){s._trigger(e,t,i._uiHash(i))}}for(this.fromOutside&&!e&&s.push(function(t){this._trigger("receive",t,this._uiHash(this.fromOutside))}),!this.fromOutside&&this.domPosition.prev===this.currentItem.prev().not(".ui-sortable-helper")[0]&&this.domPosition.parent===this.currentItem.parent()[0]||e||s.push(function(t){this._trigger("update",t,this._uiHash())}),this!==this.currentContainer&&(e||(s.push(function(t){this._trigger("remove",t,this._uiHash())}),s.push(function(e){return function(t){e._trigger("receive",t,this._uiHash(this))}}.call(this,this.currentContainer)),s.push(function(e){return function(t){e._trigger("update",t,this._uiHash(this))}}.call(this,this.currentContainer)))),i=this.containers.length-1;0<=i;i--)e||s.push(n("deactivate",this,this.containers[i])),this.containers[i].containerCache.over&&(s.push(n("out",this,this.containers[i])),this.containers[i].containerCache.over=0);if(this.storedCursor&&(this.document.find("body").css("cursor",this.storedCursor),this.storedStylesheet.remove()),this._storedOpacity&&this.helper.css("opacity",this._storedOpacity),this._storedZIndex&&this.helper.css("zIndex","auto"===this._storedZIndex?"":this._storedZIndex),this.dragging=!1,e||this._trigger("beforeStop",t,this._uiHash()),this.placeholder[0].parentNode.removeChild(this.placeholder[0]),this.cancelHelperRemoval||(this.helper[0]!==this.currentItem[0]&&this.helper.remove(),this.helper=null),!e){for(i=0;i<s.length;i++)s[i].call(this,t);this._trigger("stop",t,this._uiHash())}return this.fromOutside=!1,!this.cancelHelperRemoval},_trigger:function(){!1===x.Widget.prototype._trigger.apply(this,arguments)&&this.cancel()},_uiHash:function(t){var e=t||this;return{helper:e.helper,placeholder:e.placeholder||x([]),position:e.position,originalPosition:e.originalPosition,offset:e.positionAbs,item:e.currentItem,sender:t?t.element:null}}}),x.widget("ui.accordion",{version:"1.13.1",options:{active:0,animate:{},classes:{"ui-accordion-header":"ui-corner-top","ui-accordion-header-collapsed":"ui-corner-all","ui-accordion-content":"ui-corner-bottom"},collapsible:!1,event:"click",header:function(t){return t.find("> li > :first-child").add(t.find("> :not(li)").even())},heightStyle:"auto",icons:{activeHeader:"ui-icon-triangle-1-s",header:"ui-icon-triangle-1-e"},activate:null,beforeActivate:null},hideProps:{borderTopWidth:"hide",borderBottomWidth:"hide",paddingTop:"hide",paddingBottom:"hide",height:"hide"},showProps:{borderTopWidth:"show",borderBottomWidth:"show",paddingTop:"show",paddingBottom:"show",height:"show"},_create:function(){var t=this.options;this.prevShow=this.prevHide=x(),this._addClass("ui-accordion","ui-widget ui-helper-reset"),this.element.attr("role","tablist"),t.collapsible||!1!==t.active&&null!=t.active||(t.active=0),this._processPanels(),t.active<0&&(t.active+=this.headers.length),this._refresh()},_getCreateEventData:function(){return{header:this.active,panel:this.active.length?this.active.next():x()}},_createIcons:function(){var t,e=this.options.icons;e&&(t=x("<span>"),this._addClass(t,"ui-accordion-header-icon","ui-icon "+e.header),t.prependTo(this.headers),t=this.active.children(".ui-accordion-header-icon"),this._removeClass(t,e.header)._addClass(t,null,e.activeHeader)._addClass(this.headers,"ui-accordion-icons"))},_destroyIcons:function(){this._removeClass(this.headers,"ui-accordion-icons"),this.headers.children(".ui-accordion-header-icon").remove()},_destroy:function(){var t;this.element.removeAttr("role"),this.headers.removeAttr("role aria-expanded aria-selected aria-controls tabIndex").removeUniqueId(),this._destroyIcons(),t=this.headers.next().css("display","").removeAttr("role aria-hidden aria-labelledby").removeUniqueId(),"content"!==this.options.heightStyle&&t.css("height","")},_setOption:function(t,e){"active"!==t?("event"===t&&(this.options.event&&this._off(this.headers,this.options.event),this._setupEvents(e)),this._super(t,e),"collapsible"!==t||e||!1!==this.options.active||this._activate(0),"icons"===t&&(this._destroyIcons(),e&&this._createIcons())):this._activate(e)},_setOptionDisabled:function(t){this._super(t),this.element.attr("aria-disabled",t),this._toggleClass(null,"ui-state-disabled",!!t),this._toggleClass(this.headers.add(this.headers.next()),null,"ui-state-disabled",!!t)},_keydown:function(t){if(!t.altKey&&!t.ctrlKey){var e=x.ui.keyCode,i=this.headers.length,s=this.headers.index(t.target),n=!1;switch(t.keyCode){case e.RIGHT:case e.DOWN:n=this.headers[(s+1)%i];break;case e.LEFT:case e.UP:n=this.headers[(s-1+i)%i];break;case e.SPACE:case e.ENTER:this._eventHandler(t);break;case e.HOME:n=this.headers[0];break;case e.END:n=this.headers[i-1]}n&&(x(t.target).attr("tabIndex",-1),x(n).attr("tabIndex",0),x(n).trigger("focus"),t.preventDefault())}},_panelKeyDown:function(t){t.keyCode===x.ui.keyCode.UP&&t.ctrlKey&&x(t.currentTarget).prev().trigger("focus")},refresh:function(){var t=this.options;this._processPanels(),!1===t.active&&!0===t.collapsible||!this.headers.length?(t.active=!1,this.active=x()):!1===t.active?this._activate(0):this.active.length&&!x.contains(this.element[0],this.active[0])?this.headers.length===this.headers.find(".ui-state-disabled").length?(t.active=!1,this.active=x()):this._activate(Math.max(0,t.active-1)):t.active=this.headers.index(this.active),this._destroyIcons(),this._refresh()},_processPanels:function(){var t=this.headers,e=this.panels;"function"==typeof this.options.header?this.headers=this.options.header(this.element):this.headers=this.element.find(this.options.header),this._addClass(this.headers,"ui-accordion-header ui-accordion-header-collapsed","ui-state-default"),this.panels=this.headers.next().filter(":not(.ui-accordion-content-active)").hide(),this._addClass(this.panels,"ui-accordion-content","ui-helper-reset ui-widget-content"),e&&(this._off(t.not(this.headers)),this._off(e.not(this.panels)))},_refresh:function(){var i,t=this.options,e=t.heightStyle,s=this.element.parent();this.active=this._findActive(t.active),this._addClass(this.active,"ui-accordion-header-active","ui-state-active")._removeClass(this.active,"ui-accordion-header-collapsed"),this._addClass(this.active.next(),"ui-accordion-content-active"),this.active.next().show(),this.headers.attr("role","tab").each(function(){var t=x(this),e=t.uniqueId().attr("id"),i=t.next(),s=i.uniqueId().attr("id");t.attr("aria-controls",s),i.attr("aria-labelledby",e)}).next().attr("role","tabpanel"),this.headers.not(this.active).attr({"aria-selected":"false","aria-expanded":"false",tabIndex:-1}).next().attr({"aria-hidden":"true"}).hide(),this.active.length?this.active.attr({"aria-selected":"true","aria-expanded":"true",tabIndex:0}).next().attr({"aria-hidden":"false"}):this.headers.eq(0).attr("tabIndex",0),this._createIcons(),this._setupEvents(t.event),"fill"===e?(i=s.height(),this.element.siblings(":visible").each(function(){var t=x(this),e=t.css("position");"absolute"!==e&&"fixed"!==e&&(i-=t.outerHeight(!0))}),this.headers.each(function(){i-=x(this).outerHeight(!0)}),this.headers.next().each(function(){x(this).height(Math.max(0,i-x(this).innerHeight()+x(this).height()))}).css("overflow","auto")):"auto"===e&&(i=0,this.headers.next().each(function(){var t=x(this).is(":visible");t||x(this).show(),i=Math.max(i,x(this).css("height","").height()),t||x(this).hide()}).height(i))},_activate:function(t){t=this._findActive(t)[0];t!==this.active[0]&&(t=t||this.active[0],this._eventHandler({target:t,currentTarget:t,preventDefault:x.noop}))},_findActive:function(t){return"number"==typeof t?this.headers.eq(t):x()},_setupEvents:function(t){var i={keydown:"_keydown"};t&&x.each(t.split(" "),function(t,e){i[e]="_eventHandler"}),this._off(this.headers.add(this.headers.next())),this._on(this.headers,i),this._on(this.headers.next(),{keydown:"_panelKeyDown"}),this._hoverable(this.headers),this._focusable(this.headers)},_eventHandler:function(t){var e=this.options,i=this.active,s=x(t.currentTarget),n=s[0]===i[0],o=n&&e.collapsible,a=o?x():s.next(),r=i.next(),a={oldHeader:i,oldPanel:r,newHeader:o?x():s,newPanel:a};t.preventDefault(),n&&!e.collapsible||!1===this._trigger("beforeActivate",t,a)||(e.active=!o&&this.headers.index(s),this.active=n?x():s,this._toggle(a),this._removeClass(i,"ui-accordion-header-active","ui-state-active"),e.icons&&(i=i.children(".ui-accordion-header-icon"),this._removeClass(i,null,e.icons.activeHeader)._addClass(i,null,e.icons.header)),n||(this._removeClass(s,"ui-accordion-header-collapsed")._addClass(s,"ui-accordion-header-active","ui-state-active"),e.icons&&(n=s.children(".ui-accordion-header-icon"),this._removeClass(n,null,e.icons.header)._addClass(n,null,e.icons.activeHeader)),this._addClass(s.next(),"ui-accordion-content-active")))},_toggle:function(t){var e=t.newPanel,i=this.prevShow.length?this.prevShow:t.oldPanel;this.prevShow.add(this.prevHide).stop(!0,!0),this.prevShow=e,this.prevHide=i,this.options.animate?this._animate(e,i,t):(i.hide(),e.show(),this._toggleComplete(t)),i.attr({"aria-hidden":"true"}),i.prev().attr({"aria-selected":"false","aria-expanded":"false"}),e.length&&i.length?i.prev().attr({tabIndex:-1,"aria-expanded":"false"}):e.length&&this.headers.filter(function(){return 0===parseInt(x(this).attr("tabIndex"),10)}).attr("tabIndex",-1),e.attr("aria-hidden","false").prev().attr({"aria-selected":"true","aria-expanded":"true",tabIndex:0})},_animate:function(t,i,e){var s,n,o,a=this,r=0,h=t.css("box-sizing"),l=t.length&&(!i.length||t.index()<i.index()),c=this.options.animate||{},u=l&&c.down||c,l=function(){a._toggleComplete(e)};return n=(n="string"==typeof u?u:n)||u.easing||c.easing,o=(o="number"==typeof u?u:o)||u.duration||c.duration,i.length?t.length?(s=t.show().outerHeight(),i.animate(this.hideProps,{duration:o,easing:n,step:function(t,e){e.now=Math.round(t)}}),void t.hide().animate(this.showProps,{duration:o,easing:n,complete:l,step:function(t,e){e.now=Math.round(t),"height"!==e.prop?"content-box"===h&&(r+=e.now):"content"!==a.options.heightStyle&&(e.now=Math.round(s-i.outerHeight()-r),r=0)}})):i.animate(this.hideProps,o,n,l):t.animate(this.showProps,o,n,l)},_toggleComplete:function(t){var e=t.oldPanel,i=e.prev();this._removeClass(e,"ui-accordion-content-active"),this._removeClass(i,"ui-accordion-header-active")._addClass(i,"ui-accordion-header-collapsed"),e.length&&(e.parent()[0].className=e.parent()[0].className),this._trigger("activate",null,t)}}),x.ui.safeActiveElement=function(e){var i;try{i=e.activeElement}catch(t){i=e.body}return i=!(i=i||e.body).nodeName?e.body:i},x.widget("ui.menu",{version:"1.13.1",defaultElement:"<ul>",delay:300,options:{icons:{submenu:"ui-icon-caret-1-e"},items:"> *",menus:"ul",position:{my:"left top",at:"right top"},role:"menu",blur:null,focus:null,select:null},_create:function(){this.activeMenu=this.element,this.mouseHandled=!1,this.lastMousePosition={x:null,y:null},this.element.uniqueId().attr({role:this.options.role,tabIndex:0}),this._addClass("ui-menu","ui-widget ui-widget-content"),this._on({"mousedown .ui-menu-item":function(t){t.preventDefault(),this._activateItem(t)},"click .ui-menu-item":function(t){var e=x(t.target),i=x(x.ui.safeActiveElement(this.document[0]));!this.mouseHandled&&e.not(".ui-state-disabled").length&&(this.select(t),t.isPropagationStopped()||(this.mouseHandled=!0),e.has(".ui-menu").length?this.expand(t):!this.element.is(":focus")&&i.closest(".ui-menu").length&&(this.element.trigger("focus",[!0]),this.active&&1===this.active.parents(".ui-menu").length&&clearTimeout(this.timer)))},"mouseenter .ui-menu-item":"_activateItem","mousemove .ui-menu-item":"_activateItem",mouseleave:"collapseAll","mouseleave .ui-menu":"collapseAll",focus:function(t,e){var i=this.active||this._menuItems().first();e||this.focus(t,i)},blur:function(t){this._delay(function(){x.contains(this.element[0],x.ui.safeActiveElement(this.document[0]))||this.collapseAll(t)})},keydown:"_keydown"}),this.refresh(),this._on(this.document,{click:function(t){this._closeOnDocumentClick(t)&&this.collapseAll(t,!0),this.mouseHandled=!1}})},_activateItem:function(t){var e,i;this.previousFilter||t.clientX===this.lastMousePosition.x&&t.clientY===this.lastMousePosition.y||(this.lastMousePosition={x:t.clientX,y:t.clientY},e=x(t.target).closest(".ui-menu-item"),i=x(t.currentTarget),e[0]===i[0]&&(i.is(".ui-state-active")||(this._removeClass(i.siblings().children(".ui-state-active"),null,"ui-state-active"),this.focus(t,i))))},_destroy:function(){var t=this.element.find(".ui-menu-item").removeAttr("role aria-disabled").children(".ui-menu-item-wrapper").removeUniqueId().removeAttr("tabIndex role aria-haspopup");this.element.removeAttr("aria-activedescendant").find(".ui-menu").addBack().removeAttr("role aria-labelledby aria-expanded aria-hidden aria-disabled tabIndex").removeUniqueId().show(),t.children().each(function(){var t=x(this);t.data("ui-menu-submenu-caret")&&t.remove()})},_keydown:function(t){var e,i,s,n=!0;switch(t.keyCode){case x.ui.keyCode.PAGE_UP:this.previousPage(t);break;case x.ui.keyCode.PAGE_DOWN:this.nextPage(t);break;case x.ui.keyCode.HOME:this._move("first","first",t);break;case x.ui.keyCode.END:this._move("last","last",t);break;case x.ui.keyCode.UP:this.previous(t);break;case x.ui.keyCode.DOWN:this.next(t);break;case x.ui.keyCode.LEFT:this.collapse(t);break;case x.ui.keyCode.RIGHT:this.active&&!this.active.is(".ui-state-disabled")&&this.expand(t);break;case x.ui.keyCode.ENTER:case x.ui.keyCode.SPACE:this._activate(t);break;case x.ui.keyCode.ESCAPE:this.collapse(t);break;default:e=this.previousFilter||"",s=n=!1,i=96<=t.keyCode&&t.keyCode<=105?(t.keyCode-96).toString():String.fromCharCode(t.keyCode),clearTimeout(this.filterTimer),i===e?s=!0:i=e+i,e=this._filterMenuItems(i),(e=s&&-1!==e.index(this.active.next())?this.active.nextAll(".ui-menu-item"):e).length||(i=String.fromCharCode(t.keyCode),e=this._filterMenuItems(i)),e.length?(this.focus(t,e),this.previousFilter=i,this.filterTimer=this._delay(function(){delete this.previousFilter},1e3)):delete this.previousFilter}n&&t.preventDefault()},_activate:function(t){this.active&&!this.active.is(".ui-state-disabled")&&(this.active.children("[aria-haspopup='true']").length?this.expand(t):this.select(t))},refresh:function(){var t,e,s=this,n=this.options.icons.submenu,i=this.element.find(this.options.menus);this._toggleClass("ui-menu-icons",null,!!this.element.find(".ui-icon").length),e=i.filter(":not(.ui-menu)").hide().attr({role:this.options.role,"aria-hidden":"true","aria-expanded":"false"}).each(function(){var t=x(this),e=t.prev(),i=x("<span>").data("ui-menu-submenu-caret",!0);s._addClass(i,"ui-menu-icon","ui-icon "+n),e.attr("aria-haspopup","true").prepend(i),t.attr("aria-labelledby",e.attr("id"))}),this._addClass(e,"ui-menu","ui-widget ui-widget-content ui-front"),(t=i.add(this.element).find(this.options.items)).not(".ui-menu-item").each(function(){var t=x(this);s._isDivider(t)&&s._addClass(t,"ui-menu-divider","ui-widget-content")}),i=(e=t.not(".ui-menu-item, .ui-menu-divider")).children().not(".ui-menu").uniqueId().attr({tabIndex:-1,role:this._itemRole()}),this._addClass(e,"ui-menu-item")._addClass(i,"ui-menu-item-wrapper"),t.filter(".ui-state-disabled").attr("aria-disabled","true"),this.active&&!x.contains(this.element[0],this.active[0])&&this.blur()},_itemRole:function(){return{menu:"menuitem",listbox:"option"}[this.options.role]},_setOption:function(t,e){var i;"icons"===t&&(i=this.element.find(".ui-menu-icon"),this._removeClass(i,null,this.options.icons.submenu)._addClass(i,null,e.submenu)),this._super(t,e)},_setOptionDisabled:function(t){this._super(t),this.element.attr("aria-disabled",String(t)),this._toggleClass(null,"ui-state-disabled",!!t)},focus:function(t,e){var i;this.blur(t,t&&"focus"===t.type),this._scrollIntoView(e),this.active=e.first(),i=this.active.children(".ui-menu-item-wrapper"),this._addClass(i,null,"ui-state-active"),this.options.role&&this.element.attr("aria-activedescendant",i.attr("id")),i=this.active.parent().closest(".ui-menu-item").children(".ui-menu-item-wrapper"),this._addClass(i,null,"ui-state-active"),t&&"keydown"===t.type?this._close():this.timer=this._delay(function(){this._close()},this.delay),(i=e.children(".ui-menu")).length&&t&&/^mouse/.test(t.type)&&this._startOpening(i),this.activeMenu=e.parent(),this._trigger("focus",t,{item:e})},_scrollIntoView:function(t){var e,i,s;this._hasScroll()&&(i=parseFloat(x.css(this.activeMenu[0],"borderTopWidth"))||0,s=parseFloat(x.css(this.activeMenu[0],"paddingTop"))||0,e=t.offset().top-this.activeMenu.offset().top-i-s,i=this.activeMenu.scrollTop(),s=this.activeMenu.height(),t=t.outerHeight(),e<0?this.activeMenu.scrollTop(i+e):s<e+t&&this.activeMenu.scrollTop(i+e-s+t))},blur:function(t,e){e||clearTimeout(this.timer),this.active&&(this._removeClass(this.active.children(".ui-menu-item-wrapper"),null,"ui-state-active"),this._trigger("blur",t,{item:this.active}),this.active=null)},_startOpening:function(t){clearTimeout(this.timer),"true"===t.attr("aria-hidden")&&(this.timer=this._delay(function(){this._close(),this._open(t)},this.delay))},_open:function(t){var e=x.extend({of:this.active},this.options.position);clearTimeout(this.timer),this.element.find(".ui-menu").not(t.parents(".ui-menu")).hide().attr("aria-hidden","true"),t.show().removeAttr("aria-hidden").attr("aria-expanded","true").position(e)},collapseAll:function(e,i){clearTimeout(this.timer),this.timer=this._delay(function(){var t=i?this.element:x(e&&e.target).closest(this.element.find(".ui-menu"));t.length||(t=this.element),this._close(t),this.blur(e),this._removeClass(t.find(".ui-state-active"),null,"ui-state-active"),this.activeMenu=t},i?0:this.delay)},_close:function(t){(t=t||(this.active?this.active.parent():this.element)).find(".ui-menu").hide().attr("aria-hidden","true").attr("aria-expanded","false")},_closeOnDocumentClick:function(t){return!x(t.target).closest(".ui-menu").length},_isDivider:function(t){return!/[^\-\u2014\u2013\s]/.test(t.text())},collapse:function(t){var e=this.active&&this.active.parent().closest(".ui-menu-item",this.element);e&&e.length&&(this._close(),this.focus(t,e))},expand:function(t){var e=this.active&&this._menuItems(this.active.children(".ui-menu")).first();e&&e.length&&(this._open(e.parent()),this._delay(function(){this.focus(t,e)}))},next:function(t){this._move("next","first",t)},previous:function(t){this._move("prev","last",t)},isFirstItem:function(){return this.active&&!this.active.prevAll(".ui-menu-item").length},isLastItem:function(){return this.active&&!this.active.nextAll(".ui-menu-item").length},_menuItems:function(t){return(t||this.element).find(this.options.items).filter(".ui-menu-item")},_move:function(t,e,i){var s;(s=this.active?"first"===t||"last"===t?this.active["first"===t?"prevAll":"nextAll"](".ui-menu-item").last():this.active[t+"All"](".ui-menu-item").first():s)&&s.length&&this.active||(s=this._menuItems(this.activeMenu)[e]()),this.focus(i,s)},nextPage:function(t){var e,i,s;this.active?this.isLastItem()||(this._hasScroll()?(i=this.active.offset().top,s=this.element.innerHeight(),0===x.fn.jquery.indexOf("3.2.")&&(s+=this.element[0].offsetHeight-this.element.outerHeight()),this.active.nextAll(".ui-menu-item").each(function(){return(e=x(this)).offset().top-i-s<0}),this.focus(t,e)):this.focus(t,this._menuItems(this.activeMenu)[this.active?"last":"first"]())):this.next(t)},previousPage:function(t){var e,i,s;this.active?this.isFirstItem()||(this._hasScroll()?(i=this.active.offset().top,s=this.element.innerHeight(),0===x.fn.jquery.indexOf("3.2.")&&(s+=this.element[0].offsetHeight-this.element.outerHeight()),this.active.prevAll(".ui-menu-item").each(function(){return 0<(e=x(this)).offset().top-i+s}),this.focus(t,e)):this.focus(t,this._menuItems(this.activeMenu).first())):this.next(t)},_hasScroll:function(){return this.element.outerHeight()<this.element.prop("scrollHeight")},select:function(t){this.active=this.active||x(t.target).closest(".ui-menu-item");var e={item:this.active};this.active.has(".ui-menu").length||this.collapseAll(t,!0),this._trigger("select",t,e)},_filterMenuItems:function(t){var t=t.replace(/[\-\[\]{}()*+?.,\\\^$|#\s]/g,"\\$&"),e=new RegExp("^"+t,"i");return this.activeMenu.find(this.options.items).filter(".ui-menu-item").filter(function(){return e.test(String.prototype.trim.call(x(this).children(".ui-menu-item-wrapper").text()))})}});x.widget("ui.autocomplete",{version:"1.13.1",defaultElement:"<input>",options:{appendTo:null,autoFocus:!1,delay:300,minLength:1,position:{my:"left top",at:"left bottom",collision:"none"},source:null,change:null,close:null,focus:null,open:null,response:null,search:null,select:null},requestIndex:0,pending:0,liveRegionTimer:null,_create:function(){var i,s,n,t=this.element[0].nodeName.toLowerCase(),e="textarea"===t,t="input"===t;this.isMultiLine=e||!t&&this._isContentEditable(this.element),this.valueMethod=this.element[e||t?"val":"text"],this.isNewMenu=!0,this._addClass("ui-autocomplete-input"),this.element.attr("autocomplete","off"),this._on(this.element,{keydown:function(t){if(this.element.prop("readOnly"))s=n=i=!0;else{s=n=i=!1;var e=x.ui.keyCode;switch(t.keyCode){case e.PAGE_UP:i=!0,this._move("previousPage",t);break;case e.PAGE_DOWN:i=!0,this._move("nextPage",t);break;case e.UP:i=!0,this._keyEvent("previous",t);break;case e.DOWN:i=!0,this._keyEvent("next",t);break;case e.ENTER:this.menu.active&&(i=!0,t.preventDefault(),this.menu.select(t));break;case e.TAB:this.menu.active&&this.menu.select(t);break;case e.ESCAPE:this.menu.element.is(":visible")&&(this.isMultiLine||this._value(this.term),this.close(t),t.preventDefault());break;default:s=!0,this._searchTimeout(t)}}},keypress:function(t){if(i)return i=!1,void(this.isMultiLine&&!this.menu.element.is(":visible")||t.preventDefault());if(!s){var e=x.ui.keyCode;switch(t.keyCode){case e.PAGE_UP:this._move("previousPage",t);break;case e.PAGE_DOWN:this._move("nextPage",t);break;case e.UP:this._keyEvent("previous",t);break;case e.DOWN:this._keyEvent("next",t)}}},input:function(t){if(n)return n=!1,void t.preventDefault();this._searchTimeout(t)},focus:function(){this.selectedItem=null,this.previous=this._value()},blur:function(t){clearTimeout(this.searching),this.close(t),this._change(t)}}),this._initSource(),this.menu=x("<ul>").appendTo(this._appendTo()).menu({role:null}).hide().attr({unselectable:"on"}).menu("instance"),this._addClass(this.menu.element,"ui-autocomplete","ui-front"),this._on(this.menu.element,{mousedown:function(t){t.preventDefault()},menufocus:function(t,e){var i,s;if(this.isNewMenu&&(this.isNewMenu=!1,t.originalEvent&&/^mouse/.test(t.originalEvent.type)))return this.menu.blur(),void this.document.one("mousemove",function(){x(t.target).trigger(t.originalEvent)});s=e.item.data("ui-autocomplete-item"),!1!==this._trigger("focus",t,{item:s})&&t.originalEvent&&/^key/.test(t.originalEvent.type)&&this._value(s.value),(i=e.item.attr("aria-label")||s.value)&&String.prototype.trim.call(i).length&&(clearTimeout(this.liveRegionTimer),this.liveRegionTimer=this._delay(function(){this.liveRegion.html(x("<div>").text(i))},100))},menuselect:function(t,e){var i=e.item.data("ui-autocomplete-item"),s=this.previous;this.element[0]!==x.ui.safeActiveElement(this.document[0])&&(this.element.trigger("focus"),this.previous=s,this._delay(function(){this.previous=s,this.selectedItem=i})),!1!==this._trigger("select",t,{item:i})&&this._value(i.value),this.term=this._value(),this.close(t),this.selectedItem=i}}),this.liveRegion=x("<div>",{role:"status","aria-live":"assertive","aria-relevant":"additions"}).appendTo(this.document[0].body),this._addClass(this.liveRegion,null,"ui-helper-hidden-accessible"),this._on(this.window,{beforeunload:function(){this.element.removeAttr("autocomplete")}})},_destroy:function(){clearTimeout(this.searching),this.element.removeAttr("autocomplete"),this.menu.element.remove(),this.liveRegion.remove()},_setOption:function(t,e){this._super(t,e),"source"===t&&this._initSource(),"appendTo"===t&&this.menu.element.appendTo(this._appendTo()),"disabled"===t&&e&&this.xhr&&this.xhr.abort()},_isEventTargetInWidget:function(t){var e=this.menu.element[0];return t.target===this.element[0]||t.target===e||x.contains(e,t.target)},_closeOnClickOutside:function(t){this._isEventTargetInWidget(t)||this.close()},_appendTo:function(){var t=this.options.appendTo;return t=!(t=!(t=t&&(t.jquery||t.nodeType?x(t):this.document.find(t).eq(0)))||!t[0]?this.element.closest(".ui-front, dialog"):t).length?this.document[0].body:t},_initSource:function(){var i,s,n=this;Array.isArray(this.options.source)?(i=this.options.source,this.source=function(t,e){e(x.ui.autocomplete.filter(i,t.term))}):"string"==typeof this.options.source?(s=this.options.source,this.source=function(t,e){n.xhr&&n.xhr.abort(),n.xhr=x.ajax({url:s,data:t,dataType:"json",success:function(t){e(t)},error:function(){e([])}})}):this.source=this.options.source},_searchTimeout:function(s){clearTimeout(this.searching),this.searching=this._delay(function(){var t=this.term===this._value(),e=this.menu.element.is(":visible"),i=s.altKey||s.ctrlKey||s.metaKey||s.shiftKey;t&&(e||i)||(this.selectedItem=null,this.search(null,s))},this.options.delay)},search:function(t,e){return t=null!=t?t:this._value(),this.term=this._value(),t.length<this.options.minLength?this.close(e):!1!==this._trigger("search",e)?this._search(t):void 0},_search:function(t){this.pending++,this._addClass("ui-autocomplete-loading"),this.cancelSearch=!1,this.source({term:t},this._response())},_response:function(){var e=++this.requestIndex;return function(t){e===this.requestIndex&&this.__response(t),this.pending--,this.pending||this._removeClass("ui-autocomplete-loading")}.bind(this)},__response:function(t){t=t&&this._normalize(t),this._trigger("response",null,{content:t}),!this.options.disabled&&t&&t.length&&!this.cancelSearch?(this._suggest(t),this._trigger("open")):this._close()},close:function(t){this.cancelSearch=!0,this._close(t)},_close:function(t){this._off(this.document,"mousedown"),this.menu.element.is(":visible")&&(this.menu.element.hide(),this.menu.blur(),this.isNewMenu=!0,this._trigger("close",t))},_change:function(t){this.previous!==this._value()&&this._trigger("change",t,{item:this.selectedItem})},_normalize:function(t){return t.length&&t[0].label&&t[0].value?t:x.map(t,function(t){return"string"==typeof t?{label:t,value:t}:x.extend({},t,{label:t.label||t.value,value:t.value||t.label})})},_suggest:function(t){var e=this.menu.element.empty();this._renderMenu(e,t),this.isNewMenu=!0,this.menu.refresh(),e.show(),this._resizeMenu(),e.position(x.extend({of:this.element},this.options.position)),this.options.autoFocus&&this.menu.next(),this._on(this.document,{mousedown:"_closeOnClickOutside"})},_resizeMenu:function(){var t=this.menu.element;t.outerWidth(Math.max(t.width("").outerWidth()+1,this.element.outerWidth()))},_renderMenu:function(i,t){var s=this;x.each(t,function(t,e){s._renderItemData(i,e)})},_renderItemData:function(t,e){return this._renderItem(t,e).data("ui-autocomplete-item",e)},_renderItem:function(t,e){return x("<li>").append(x("<div>").text(e.label)).appendTo(t)},_move:function(t,e){if(this.menu.element.is(":visible"))return this.menu.isFirstItem()&&/^previous/.test(t)||this.menu.isLastItem()&&/^next/.test(t)?(this.isMultiLine||this._value(this.term),void this.menu.blur()):void this.menu[t](e);this.search(null,e)},widget:function(){return this.menu.element},_value:function(){return this.valueMethod.apply(this.element,arguments)},_keyEvent:function(t,e){this.isMultiLine&&!this.menu.element.is(":visible")||(this._move(t,e),e.preventDefault())},_isContentEditable:function(t){if(!t.length)return!1;var e=t.prop("contentEditable");return"inherit"===e?this._isContentEditable(t.parent()):"true"===e}}),x.extend(x.ui.autocomplete,{escapeRegex:function(t){return t.replace(/[\-\[\]{}()*+?.,\\\^$|#\s]/g,"\\$&")},filter:function(t,e){var i=new RegExp(x.ui.autocomplete.escapeRegex(e),"i");return x.grep(t,function(t){return i.test(t.label||t.value||t)})}}),x.widget("ui.autocomplete",x.ui.autocomplete,{options:{messages:{noResults:"No search results.",results:function(t){return t+(1<t?" results are":" result is")+" available, use up and down arrow keys to navigate."}}},__response:function(t){var e;this._superApply(arguments),this.options.disabled||this.cancelSearch||(e=t&&t.length?this.options.messages.results(t.length):this.options.messages.noResults,clearTimeout(this.liveRegionTimer),this.liveRegionTimer=this._delay(function(){this.liveRegion.html(x("<div>").text(e))},100))}});var p;x.ui.autocomplete;x.widget("ui.tabs",{version:"1.13.1",delay:300,options:{active:null,classes:{"ui-tabs":"ui-corner-all","ui-tabs-nav":"ui-corner-all","ui-tabs-panel":"ui-corner-bottom","ui-tabs-tab":"ui-corner-top"},collapsible:!1,event:"click",heightStyle:"content",hide:null,show:null,activate:null,beforeActivate:null,beforeLoad:null,load:null},_isLocal:(p=/#.*$/,function(t){var e=t.href.replace(p,""),i=location.href.replace(p,"");try{e=decodeURIComponent(e)}catch(t){}try{i=decodeURIComponent(i)}catch(t){}return 1<t.hash.length&&e===i}),_create:function(){var e=this,t=this.options;this.running=!1,this._addClass("ui-tabs","ui-widget ui-widget-content"),this._toggleClass("ui-tabs-collapsible",null,t.collapsible),this._processTabs(),t.active=this._initialActive(),Array.isArray(t.disabled)&&(t.disabled=x.uniqueSort(t.disabled.concat(x.map(this.tabs.filter(".ui-state-disabled"),function(t){return e.tabs.index(t)}))).sort()),!1!==this.options.active&&this.anchors.length?this.active=this._findActive(t.active):this.active=x(),this._refresh(),this.active.length&&this.load(t.active)},_initialActive:function(){var i=this.options.active,t=this.options.collapsible,s=location.hash.substring(1);return null===i&&(s&&this.tabs.each(function(t,e){if(x(e).attr("aria-controls")===s)return i=t,!1}),null!==(i=null===i?this.tabs.index(this.tabs.filter(".ui-tabs-active")):i)&&-1!==i||(i=!!this.tabs.length&&0)),!1!==i&&-1===(i=this.tabs.index(this.tabs.eq(i)))&&(i=!t&&0),i=!t&&!1===i&&this.anchors.length?0:i},_getCreateEventData:function(){return{tab:this.active,panel:this.active.length?this._getPanelForTab(this.active):x()}},_tabKeydown:function(t){var e=x(x.ui.safeActiveElement(this.document[0])).closest("li"),i=this.tabs.index(e),s=!0;if(!this._handlePageNav(t)){switch(t.keyCode){case x.ui.keyCode.RIGHT:case x.ui.keyCode.DOWN:i++;break;case x.ui.keyCode.UP:case x.ui.keyCode.LEFT:s=!1,i--;break;case x.ui.keyCode.END:i=this.anchors.length-1;break;case x.ui.keyCode.HOME:i=0;break;case x.ui.keyCode.SPACE:return t.preventDefault(),clearTimeout(this.activating),void this._activate(i);case x.ui.keyCode.ENTER:return t.preventDefault(),clearTimeout(this.activating),void this._activate(i!==this.options.active&&i);default:return}t.preventDefault(),clearTimeout(this.activating),i=this._focusNextTab(i,s),t.ctrlKey||t.metaKey||(e.attr("aria-selected","false"),this.tabs.eq(i).attr("aria-selected","true"),this.activating=this._delay(function(){this.option("active",i)},this.delay))}},_panelKeydown:function(t){this._handlePageNav(t)||t.ctrlKey&&t.keyCode===x.ui.keyCode.UP&&(t.preventDefault(),this.active.trigger("focus"))},_handlePageNav:function(t){return t.altKey&&t.keyCode===x.ui.keyCode.PAGE_UP?(this._activate(this._focusNextTab(this.options.active-1,!1)),!0):t.altKey&&t.keyCode===x.ui.keyCode.PAGE_DOWN?(this._activate(this._focusNextTab(this.options.active+1,!0)),!0):void 0},_findNextTab:function(t,e){var i=this.tabs.length-1;for(;-1!==x.inArray(t=(t=i<t?0:t)<0?i:t,this.options.disabled);)t=e?t+1:t-1;return t},_focusNextTab:function(t,e){return t=this._findNextTab(t,e),this.tabs.eq(t).trigger("focus"),t},_setOption:function(t,e){"active"!==t?(this._super(t,e),"collapsible"===t&&(this._toggleClass("ui-tabs-collapsible",null,e),e||!1!==this.options.active||this._activate(0)),"event"===t&&this._setupEvents(e),"heightStyle"===t&&this._setupHeightStyle(e)):this._activate(e)},_sanitizeSelector:function(t){return t?t.replace(/[!"$%&'()*+,.\/:;<=>?@\[\]\^`{|}~]/g,"\\$&"):""},refresh:function(){var t=this.options,e=this.tablist.children(":has(a[href])");t.disabled=x.map(e.filter(".ui-state-disabled"),function(t){return e.index(t)}),this._processTabs(),!1!==t.active&&this.anchors.length?this.active.length&&!x.contains(this.tablist[0],this.active[0])?this.tabs.length===t.disabled.length?(t.active=!1,this.active=x()):this._activate(this._findNextTab(Math.max(0,t.active-1),!1)):t.active=this.tabs.index(this.active):(t.active=!1,this.active=x()),this._refresh()},_refresh:function(){this._setOptionDisabled(this.options.disabled),this._setupEvents(this.options.event),this._setupHeightStyle(this.options.heightStyle),this.tabs.not(this.active).attr({"aria-selected":"false","aria-expanded":"false",tabIndex:-1}),this.panels.not(this._getPanelForTab(this.active)).hide().attr({"aria-hidden":"true"}),this.active.length?(this.active.attr({"aria-selected":"true","aria-expanded":"true",tabIndex:0}),this._addClass(this.active,"ui-tabs-active","ui-state-active"),this._getPanelForTab(this.active).show().attr({"aria-hidden":"false"})):this.tabs.eq(0).attr("tabIndex",0)},_processTabs:function(){var h=this,t=this.tabs,e=this.anchors,i=this.panels;this.tablist=this._getList().attr("role","tablist"),this._addClass(this.tablist,"ui-tabs-nav","ui-helper-reset ui-helper-clearfix ui-widget-header"),this.tablist.on("mousedown"+this.eventNamespace,"> li",function(t){x(this).is(".ui-state-disabled")&&t.preventDefault()}).on("focus"+this.eventNamespace,".ui-tabs-anchor",function(){x(this).closest("li").is(".ui-state-disabled")&&this.blur()}),this.tabs=this.tablist.find("> li:has(a[href])").attr({role:"tab",tabIndex:-1}),this._addClass(this.tabs,"ui-tabs-tab","ui-state-default"),this.anchors=this.tabs.map(function(){return x("a",this)[0]}).attr({tabIndex:-1}),this._addClass(this.anchors,"ui-tabs-anchor"),this.panels=x(),this.anchors.each(function(t,e){var i,s,n,o=x(e).uniqueId().attr("id"),a=x(e).closest("li"),r=a.attr("aria-controls");h._isLocal(e)?(n=(i=e.hash).substring(1),s=h.element.find(h._sanitizeSelector(i))):(n=a.attr("aria-controls")||x({}).uniqueId()[0].id,(s=h.element.find(i="#"+n)).length||(s=h._createPanel(n)).insertAfter(h.panels[t-1]||h.tablist),s.attr("aria-live","polite")),s.length&&(h.panels=h.panels.add(s)),r&&a.data("ui-tabs-aria-controls",r),a.attr({"aria-controls":n,"aria-labelledby":o}),s.attr("aria-labelledby",o)}),this.panels.attr("role","tabpanel"),this._addClass(this.panels,"ui-tabs-panel","ui-widget-content"),t&&(this._off(t.not(this.tabs)),this._off(e.not(this.anchors)),this._off(i.not(this.panels)))},_getList:function(){return this.tablist||this.element.find("ol, ul").eq(0)},_createPanel:function(t){return x("<div>").attr("id",t).data("ui-tabs-destroy",!0)},_setOptionDisabled:function(t){var e,i;for(Array.isArray(t)&&(t.length?t.length===this.anchors.length&&(t=!0):t=!1),i=0;e=this.tabs[i];i++)e=x(e),!0===t||-1!==x.inArray(i,t)?(e.attr("aria-disabled","true"),this._addClass(e,null,"ui-state-disabled")):(e.removeAttr("aria-disabled"),this._removeClass(e,null,"ui-state-disabled"));this.options.disabled=t,this._toggleClass(this.widget(),this.widgetFullName+"-disabled",null,!0===t)},_setupEvents:function(t){var i={};t&&x.each(t.split(" "),function(t,e){i[e]="_eventHandler"}),this._off(this.anchors.add(this.tabs).add(this.panels)),this._on(!0,this.anchors,{click:function(t){t.preventDefault()}}),this._on(this.anchors,i),this._on(this.tabs,{keydown:"_tabKeydown"}),this._on(this.panels,{keydown:"_panelKeydown"}),this._focusable(this.tabs),this._hoverable(this.tabs)},_setupHeightStyle:function(t){var i,e=this.element.parent();"fill"===t?(i=e.height(),i-=this.element.outerHeight()-this.element.height(),this.element.siblings(":visible").each(function(){var t=x(this),e=t.css("position");"absolute"!==e&&"fixed"!==e&&(i-=t.outerHeight(!0))}),this.element.children().not(this.panels).each(function(){i-=x(this).outerHeight(!0)}),this.panels.each(function(){x(this).height(Math.max(0,i-x(this).innerHeight()+x(this).height()))}).css("overflow","auto")):"auto"===t&&(i=0,this.panels.each(function(){i=Math.max(i,x(this).height("").height())}).height(i))},_eventHandler:function(t){var e=this.options,i=this.active,s=x(t.currentTarget).closest("li"),n=s[0]===i[0],o=n&&e.collapsible,a=o?x():this._getPanelForTab(s),r=i.length?this._getPanelForTab(i):x(),i={oldTab:i,oldPanel:r,newTab:o?x():s,newPanel:a};t.preventDefault(),s.hasClass("ui-state-disabled")||s.hasClass("ui-tabs-loading")||this.running||n&&!e.collapsible||!1===this._trigger("beforeActivate",t,i)||(e.active=!o&&this.tabs.index(s),this.active=n?x():s,this.xhr&&this.xhr.abort(),r.length||a.length||x.error("jQuery UI Tabs: Mismatching fragment identifier."),a.length&&this.load(this.tabs.index(s),t),this._toggle(t,i))},_toggle:function(t,e){var i=this,s=e.newPanel,n=e.oldPanel;function o(){i.running=!1,i._trigger("activate",t,e)}function a(){i._addClass(e.newTab.closest("li"),"ui-tabs-active","ui-state-active"),s.length&&i.options.show?i._show(s,i.options.show,o):(s.show(),o())}this.running=!0,n.length&&this.options.hide?this._hide(n,this.options.hide,function(){i._removeClass(e.oldTab.closest("li"),"ui-tabs-active","ui-state-active"),a()}):(this._removeClass(e.oldTab.closest("li"),"ui-tabs-active","ui-state-active"),n.hide(),a()),n.attr("aria-hidden","true"),e.oldTab.attr({"aria-selected":"false","aria-expanded":"false"}),s.length&&n.length?e.oldTab.attr("tabIndex",-1):s.length&&this.tabs.filter(function(){return 0===x(this).attr("tabIndex")}).attr("tabIndex",-1),s.attr("aria-hidden","false"),e.newTab.attr({"aria-selected":"true","aria-expanded":"true",tabIndex:0})},_activate:function(t){var t=this._findActive(t);t[0]!==this.active[0]&&(t=(t=!t.length?this.active:t).find(".ui-tabs-anchor")[0],this._eventHandler({target:t,currentTarget:t,preventDefault:x.noop}))},_findActive:function(t){return!1===t?x():this.tabs.eq(t)},_getIndex:function(t){return t="string"==typeof t?this.anchors.index(this.anchors.filter("[href$='"+x.escapeSelector(t)+"']")):t},_destroy:function(){this.xhr&&this.xhr.abort(),this.tablist.removeAttr("role").off(this.eventNamespace),this.anchors.removeAttr("role tabIndex").removeUniqueId(),this.tabs.add(this.panels).each(function(){x.data(this,"ui-tabs-destroy")?x(this).remove():x(this).removeAttr("role tabIndex aria-live aria-busy aria-selected aria-labelledby aria-hidden aria-expanded")}),this.tabs.each(function(){var t=x(this),e=t.data("ui-tabs-aria-controls");e?t.attr("aria-controls",e).removeData("ui-tabs-aria-controls"):t.removeAttr("aria-controls")}),this.panels.show(),"content"!==this.options.heightStyle&&this.panels.css("height","")},enable:function(i){var t=this.options.disabled;!1!==t&&(t=void 0!==i&&(i=this._getIndex(i),Array.isArray(t)?x.map(t,function(t){return t!==i?t:null}):x.map(this.tabs,function(t,e){return e!==i?e:null})),this._setOptionDisabled(t))},disable:function(t){var e=this.options.disabled;if(!0!==e){if(void 0===t)e=!0;else{if(t=this._getIndex(t),-1!==x.inArray(t,e))return;e=Array.isArray(e)?x.merge([t],e).sort():[t]}this._setOptionDisabled(e)}},load:function(t,s){t=this._getIndex(t);function n(t,e){"abort"===e&&o.panels.stop(!1,!0),o._removeClass(i,"ui-tabs-loading"),a.removeAttr("aria-busy"),t===o.xhr&&delete o.xhr}var o=this,i=this.tabs.eq(t),t=i.find(".ui-tabs-anchor"),a=this._getPanelForTab(i),r={tab:i,panel:a};this._isLocal(t[0])||(this.xhr=x.ajax(this._ajaxSettings(t,s,r)),this.xhr&&"canceled"!==this.xhr.statusText&&(this._addClass(i,"ui-tabs-loading"),a.attr("aria-busy","true"),this.xhr.done(function(t,e,i){setTimeout(function(){a.html(t),o._trigger("load",s,r),n(i,e)},1)}).fail(function(t,e){setTimeout(function(){n(t,e)},1)})))},_ajaxSettings:function(t,i,s){var n=this;return{url:t.attr("href").replace(/#.*$/,""),beforeSend:function(t,e){return n._trigger("beforeLoad",i,x.extend({jqXHR:t,ajaxSettings:e},s))}}},_getPanelForTab:function(t){t=x(t).attr("aria-controls");return this.element.find(this._sanitizeSelector("#"+t))}}),!1!==x.uiBackCompat&&x.widget("ui.tabs",x.ui.tabs,{_processTabs:function(){this._superApply(arguments),this._addClass(this.tabs,"ui-tab")}});x.ui.tabs}); >diff --git a/koha-tmpl/intranet-tmpl/lib/jquery/jquery-ui-rtl-1.13.0.min.css b/koha-tmpl/intranet-tmpl/lib/jquery/jquery-ui-rtl-1.13.0.min.css >new file mode 100644 >index 0000000000..b3461ef4a0 >--- /dev/null >+++ b/koha-tmpl/intranet-tmpl/lib/jquery/jquery-ui-rtl-1.13.0.min.css >@@ -0,0 +1,7 @@ >+/*! jQuery UI - v1.13.1 - 2022-02-02 >+* http://jqueryui.com >+* Includes: sortable.css, core.css, accordion.css, autocomplete.css, menu.css, tabs.css, theme.css >+* To view and modify this theme, visit http://jqueryui.com/themeroller/?scope=&folderName=custom-theme&bgImgOpacityError=&bgImgOpacityHighlight=&bgImgOpacityActive=&bgImgOpacityHover=&bgImgOpacityDefault=&bgImgOpacityContent=&bgImgOpacityHeader=&cornerRadiusShadow=8px&offsetLeftShadow=0px&offsetTopShadow=0px&thicknessShadow=5px&opacityShadow=30&bgImgOpacityShadow=0&bgTextureShadow=flat&bgColorShadow=%23666666&opacityOverlay=30&bgImgOpacityOverlay=0&bgTextureOverlay=flat&bgColorOverlay=%23aaaaaa&iconColorError=%23cc0000&fcError=%235f3f3f&borderColorError=%23f1a899&bgTextureError=flat&bgColorError=%23fddfdf&iconColorHighlight=%23777620&fcHighlight=%23777620&borderColorHighlight=%23dad55e&bgTextureHighlight=flat&bgColorHighlight=%23fffa90&iconColorActive=%23aaa&fcActive=%23000&borderColorActive=%23aaa&bgTextureActive=flat&bgColorActive=%23FFF&iconColorHover=%23555555&fcHover=%232b2b2b&borderColorHover=%23b9d8d9&bgTextureHover=flat&bgColorHover=%23e6f0f2&iconColorDefault=%23777777&fcDefault=%23454545&borderColorDefault=%23d6e8e9&bgTextureDefault=flat&bgColorDefault=%23f4f8f9&iconColorContent=%23444444&fcContent=%23333333&borderColorContent=%23dddddd&bgTextureContent=flat&bgColorContent=%23ffffff&iconColorHeader=%23444444&fcHeader=%23333333&borderColorHeader=%23dddddd&bgTextureHeader=flat&bgColorHeader=%23e9e9e9&cornerRadius=3px&fwDefault=normal&fsDefault=&ffDefault= >+* Copyright jQuery Foundation and other contributors; Licensed MIT */ >+ >+.ui-sortable-handle{-ms-touch-action:none;touch-action:none}.ui-helper-hidden{display:none}.ui-helper-hidden-accessible{border:0;clip:rect(0 0 0 0);height:1px;margin:-1px;overflow:hidden;padding:0;position:absolute;width: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;border-collapse:collapse}.ui-helper-clearfix:after{clear:both}.ui-helper-zfix{width:100%;height:100%;top:0;right:0;position:absolute;opacity:0;-ms-filter:"alpha(opacity=0)"}.ui-front{z-index:100}.ui-state-disabled{cursor:default!important;pointer-events:none}.ui-icon{display:inline-block;vertical-align:middle;margin-top:-.25em;position:relative;text-indent:-99999px;overflow:hidden;background-repeat:no-repeat}.ui-widget-icon-block{right:50%;margin-right:-8px;display:block}.ui-widget-overlay{position:fixed;top:0;right:0;width:100%;height:100%}.ui-accordion .ui-accordion-header{display:block;cursor:pointer;position:relative;margin:2px 0 0 0;padding:.5em .7em .5em .5em;font-size:100%}.ui-accordion .ui-accordion-content{padding:1em 2.2em;border-top:0;overflow:auto}.ui-autocomplete{position:absolute;top:0;right:0;cursor:default}.ui-menu{list-style:none;padding:0;margin:0;display:block;outline:0}.ui-menu .ui-menu{position:absolute}.ui-menu .ui-menu-item{margin:0;cursor:pointer;list-style-image:url("data:image/gif;base64,R0lGODlhAQABAIAAAAAAAP///yH5BAEAAAAALAAAAAABAAEAAAIBRAA7")}.ui-menu .ui-menu-item-wrapper{position:relative;padding:3px .4em 3px 1em}.ui-menu .ui-menu-divider{margin:5px 0;height:0;font-size:0;line-height:0;border-width:1px 0 0 0}.ui-menu .ui-state-focus,.ui-menu .ui-state-active{margin:-1px}.ui-menu-icons{position:relative}.ui-menu-icons .ui-menu-item-wrapper{padding-right:2em}.ui-menu .ui-icon{position:absolute;top:0;bottom:0;right:.2em;margin:auto 0}.ui-menu .ui-menu-icon{right:auto;left:0}.ui-tabs{position:relative;padding:.2em}.ui-tabs .ui-tabs-nav{margin:0;padding:.2em .2em 0}.ui-tabs .ui-tabs-nav li{list-style:none;float:right;position:relative;top:0;margin:1px 0 0 .2em;border-bottom-width:0;padding:0;white-space:nowrap}.ui-tabs .ui-tabs-nav .ui-tabs-anchor{float:right;padding:.5em 1em;text-decoration:none}.ui-tabs .ui-tabs-nav li.ui-tabs-active{margin-bottom:-1px;padding-bottom:1px}.ui-tabs .ui-tabs-nav li.ui-tabs-active .ui-tabs-anchor,.ui-tabs .ui-tabs-nav li.ui-state-disabled .ui-tabs-anchor,.ui-tabs .ui-tabs-nav li.ui-tabs-loading .ui-tabs-anchor{cursor:text}.ui-tabs-collapsible .ui-tabs-nav li.ui-tabs-active .ui-tabs-anchor{cursor:pointer}.ui-tabs .ui-tabs-panel{display:block;border-width:0;padding:1em 1.4em;background:none}.ui-widget{font-family:inherit;font-size:}.ui-widget .ui-widget{font-size:1em}.ui-widget input,.ui-widget select,.ui-widget textarea,.ui-widget button{font-family:inherit;font-size:1em}.ui-widget.ui-widget-content{border:1px solid #d6e8e9}.ui-widget-content{border:1px solid #ddd;background:#fff;color:#333}.ui-widget-content a{color:#333}.ui-widget-header{border:1px solid #ddd;background:#e9e9e9;color:#333;font-weight:bold}.ui-widget-header a{color:#333}.ui-state-default,.ui-widget-content .ui-state-default,.ui-widget-header .ui-state-default,.ui-button,html .ui-button.ui-state-disabled:hover,html .ui-button.ui-state-disabled:active{border:1px solid #d6e8e9;background:#f4f8f9;font-weight:normal;color:#454545}.ui-state-default a,.ui-state-default a:link,.ui-state-default a:visited,a.ui-button,a:link.ui-button,a:visited.ui-button,.ui-button{color:#454545;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,.ui-button:hover,.ui-button:focus{border:1px solid #b9d8d9;background:#e6f0f2;font-weight:normal;color:#2b2b2b}.ui-state-hover a,.ui-state-hover a:hover,.ui-state-hover a:link,.ui-state-hover a:visited,.ui-state-focus a,.ui-state-focus a:hover,.ui-state-focus a:link,.ui-state-focus a:visited,a.ui-button:hover,a.ui-button:focus{color:#2b2b2b;text-decoration:none}.ui-visual-focus{box-shadow:0 0 3px 1px rgb(94,158,214)}.ui-state-active,.ui-widget-content .ui-state-active,.ui-widget-header .ui-state-active,a.ui-button:active,.ui-button:active,.ui-button.ui-state-active:hover{border:1px solid #aaa;background:#FFF;font-weight:normal;color:#000}.ui-icon-background,.ui-state-active .ui-icon-background{border:#aaa;background-color:#000}.ui-state-active a,.ui-state-active a:link,.ui-state-active a:visited{color:#000;text-decoration:none}.ui-state-highlight,.ui-widget-content .ui-state-highlight,.ui-widget-header .ui-state-highlight{border:1px solid #dad55e;background:#fffa90;color:#777620}.ui-state-checked{border:1px solid #dad55e;background:#fffa90}.ui-state-highlight a,.ui-widget-content .ui-state-highlight a,.ui-widget-header .ui-state-highlight a{color:#777620}.ui-state-error,.ui-widget-content .ui-state-error,.ui-widget-header .ui-state-error{border:1px solid #f1a899;background:#fddfdf;color:#5f3f3f}.ui-state-error a,.ui-widget-content .ui-state-error a,.ui-widget-header .ui-state-error a{color:#5f3f3f}.ui-state-error-text,.ui-widget-content .ui-state-error-text,.ui-widget-header .ui-state-error-text{color:#5f3f3f}.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;-ms-filter:"alpha(opacity=70)";font-weight:normal}.ui-state-disabled,.ui-widget-content .ui-state-disabled,.ui-widget-header .ui-state-disabled{opacity:.35;-ms-filter:"alpha(opacity=35)";background-image:none}.ui-state-disabled .ui-icon{-ms-filter:"alpha(opacity=35)"}.ui-icon{width:16px;height:16px}.ui-icon,.ui-widget-content .ui-icon{background-image:url("images/ui-icons_444444_256x240.png")}.ui-widget-header .ui-icon{background-image:url("images/ui-icons_444444_256x240.png")}.ui-state-hover .ui-icon,.ui-state-focus .ui-icon,.ui-button:hover .ui-icon,.ui-button:focus .ui-icon{background-image:url("images/ui-icons_555555_256x240.png")}.ui-state-active .ui-icon,.ui-button:active .ui-icon{background-image:url("images/ui-icons_aaa_256x240.png")}.ui-state-highlight .ui-icon,.ui-button .ui-state-highlight.ui-icon{background-image:url("images/ui-icons_777620_256x240.png")}.ui-state-error .ui-icon,.ui-state-error-text .ui-icon{background-image:url("images/ui-icons_cc0000_256x240.png")}.ui-button .ui-icon{background-image:url("images/ui-icons_777777_256x240.png")}.ui-icon-blank.ui-icon-blank.ui-icon-blank{background-image:none}.ui-icon-caret-1-n{background-position:100% 0}.ui-icon-caret-1-ne{background-position:-16px 0}.ui-icon-caret-1-e{background-position:-32px 0}.ui-icon-caret-1-se{background-position:-48px 0}.ui-icon-caret-1-s{background-position:-65px 0}.ui-icon-caret-1-sw{background-position:-80px 0}.ui-icon-caret-1-w{background-position:-96px 0}.ui-icon-caret-1-nw{background-position:-112px 0}.ui-icon-caret-2-n-s{background-position:-128px 0}.ui-icon-caret-2-e-w{background-position:-144px 0}.ui-icon-triangle-1-n{background-position:100% -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:-65px -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:100% -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:-65px -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:1px -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:100% -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:100% -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:100% -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:100% -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:100% -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:100% -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-on{background-position:-96px -144px}.ui-icon-radio-off{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:100% -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{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:100% -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:100% -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:100% -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:100% -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}.ui-corner-all,.ui-corner-top,.ui-corner-left,.ui-corner-tl{border-top-right-radius:3px}.ui-corner-all,.ui-corner-top,.ui-corner-right,.ui-corner-tr{border-top-left-radius:3px}.ui-corner-all,.ui-corner-bottom,.ui-corner-left,.ui-corner-bl{border-bottom-right-radius:3px}.ui-corner-all,.ui-corner-bottom,.ui-corner-right,.ui-corner-br{border-bottom-left-radius:3px}.ui-widget-overlay{background:#aaa;opacity:.3;-ms-filter:Alpha(Opacity=30)}.ui-widget-shadow{-webkit-box-shadow:0 0 5px #666;box-shadow:0 0 5px #666} >diff --git a/koha-tmpl/intranet-tmpl/lib/jquery/jquery-ui.css b/koha-tmpl/intranet-tmpl/lib/jquery/jquery-ui.css >deleted file mode 100644 >index a21c138c09..0000000000 >--- a/koha-tmpl/intranet-tmpl/lib/jquery/jquery-ui.css >+++ /dev/null >@@ -1,7 +0,0 @@ >-/*! jQuery UI - v1.10.4 - 2014-03-05 >-* http://jqueryui.com >-* Includes: jquery.ui.core.css, jquery.ui.accordion.css, jquery.ui.autocomplete.css, jquery.ui.button.css, jquery.ui.datepicker.css, jquery.ui.menu.css, jquery.ui.progressbar.css, jquery.ui.slider.css, jquery.ui.tabs.css, jquery.ui.theme.css >-* To view and modify this theme, visit http://jqueryui.com/themeroller/?ffDefault=Verdana%2CArial%2Csans-serif&fwDefault=normal&fsDefault=1.1em&cornerRadius=4px&bgColorHeader=cccccc&bgTextureHeader=highlight_soft&bgImgOpacityHeader=75&borderColorHeader=aaaaaa&fcHeader=222222&iconColorHeader=222222&bgColorContent=ffffff&bgTextureContent=flat&bgImgOpacityContent=75&borderColorContent=aaaaaa&fcContent=222222&iconColorContent=222222&bgColorDefault=e6e6e6&bgTextureDefault=glass&bgImgOpacityDefault=75&borderColorDefault=d3d3d3&fcDefault=555555&iconColorDefault=888888&bgColorHover=dadada&bgTextureHover=glass&bgImgOpacityHover=75&borderColorHover=999999&fcHover=212121&iconColorHover=454545&bgColorActive=ffffff&bgTextureActive=glass&bgImgOpacityActive=65&borderColorActive=aaaaaa&fcActive=212121&iconColorActive=454545&bgColorHighlight=fbf9ee&bgTextureHighlight=glass&bgImgOpacityHighlight=55&borderColorHighlight=fcefa1&fcHighlight=363636&iconColorHighlight=2e83ff&bgColorError=fef1ec&bgTextureError=glass&bgImgOpacityError=95&borderColorError=cd0a0a&fcError=cd0a0a&iconColorError=cd0a0a&bgColorOverlay=aaaaaa&bgTextureOverlay=flat&bgImgOpacityOverlay=0&opacityOverlay=30&bgColorShadow=aaaaaa&bgTextureShadow=flat&bgImgOpacityShadow=0&opacityShadow=30&thicknessShadow=8px&offsetTopShadow=-8px&offsetLeftShadow=-8px&cornerRadiusShadow=8px >-* Copyright 2014 jQuery Foundation and other contributors; Licensed MIT */ >- >-.ui-helper-hidden{display:none}.ui-helper-hidden-accessible{border:0;clip:rect(0 0 0 0);height:1px;margin:-1px;overflow:hidden;padding:0;position:absolute;width: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;border-collapse:collapse}.ui-helper-clearfix:after{clear:both}.ui-helper-clearfix{min-height:0}.ui-helper-zfix{width:100%;height:100%;top:0;left:0;position:absolute;opacity:0;filter:Alpha(Opacity=0)}.ui-front{z-index:100}.ui-state-disabled{cursor:default!important}.ui-icon{display:block;text-indent:-99999px;overflow:hidden;background-repeat:no-repeat}.ui-widget-overlay{position:fixed;top:0;left:0;width:100%;height:100%}.ui-accordion .ui-accordion-header{display:block;cursor:pointer;position:relative;margin-top:2px;padding:.5em .5em .5em .7em;min-height:0}.ui-accordion .ui-accordion-icons{padding-left:2.2em}.ui-accordion .ui-accordion-noicons{padding-left:.7em}.ui-accordion .ui-accordion-icons .ui-accordion-icons{padding-left:2.2em}.ui-accordion .ui-accordion-header .ui-accordion-header-icon{position:absolute;left:.5em;top:50%;margin-top:-8px}.ui-accordion .ui-accordion-content{padding:1em 2.2em;border-top:0;overflow:auto}.ui-autocomplete{position:absolute;top:0;left:0;cursor:default}.ui-button{display:inline-block;position:relative;padding:0;line-height:normal;margin-right:.1em;cursor:pointer;vertical-align:middle;text-align:center;overflow:visible}.ui-button,.ui-button:link,.ui-button:visited,.ui-button:hover,.ui-button:active{text-decoration:none}.ui-button-icon-only{width:2.2em}button.ui-button-icon-only{width:2.4em}.ui-button-icons-only{width:3.4em}button.ui-button-icons-only{width:3.7em}.ui-button .ui-button-text{display:block;line-height:normal}.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}input.ui-button{padding:.4em 1em}.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-buttonset{margin-right:7px}.ui-buttonset .ui-button{margin-left:0;margin-right:-.3em}input.ui-button::-moz-focus-inner,button.ui-button::-moz-focus-inner{border:0;padding:0}.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,.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}.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,.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:0}.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,.ui-datepicker-rtl .ui-datepicker-group{float:right}.ui-datepicker-rtl .ui-datepicker-group-last .ui-datepicker-header,.ui-datepicker-rtl .ui-datepicker-group-middle .ui-datepicker-header{border-right-width:0;border-left-width:1px}.ui-menu{list-style:none;padding:2px;margin:0;display:block;outline:none}.ui-menu .ui-menu{margin-top:-3px;position:absolute}.ui-menu .ui-menu-item{margin:0;padding:0;width:100%;list-style-image:url(data:image/gif;base64,R0lGODlhAQABAIAAAAAAAP///yH5BAEAAAAALAAAAAABAAEAAAIBRAA7)}.ui-menu .ui-menu-divider{margin:5px -2px 5px -2px;height:0;font-size:0;line-height:0;border-width:1px 0 0 0}.ui-menu .ui-menu-item a{text-decoration:none;display:block;padding:2px .4em;line-height:1.5;min-height:0;font-weight:normal}.ui-menu .ui-menu-item a.ui-state-focus,.ui-menu .ui-menu-item a.ui-state-active{font-weight:normal;margin:-1px}.ui-menu .ui-state-disabled{font-weight:normal;margin:.4em 0 .2em;line-height:1.5}.ui-menu .ui-state-disabled a{cursor:default}.ui-menu-icons{position:relative}.ui-menu-icons .ui-menu-item a{position:relative;padding-left:2em}.ui-menu .ui-icon{position:absolute;top:.2em;left:.2em}.ui-menu .ui-menu-icon{position:static;float:right}.ui-progressbar{height:2em;text-align:left;overflow:hidden}.ui-progressbar .ui-progressbar-value{margin:-1px;height:100%}.ui-progressbar .ui-progressbar-overlay{background:url("images/animated-overlay.gif");height:100%;filter:alpha(opacity=25);opacity:0.25}.ui-progressbar-indeterminate .ui-progressbar-value{background-image:none}.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.ui-state-disabled .ui-slider-handle,.ui-slider.ui-state-disabled .ui-slider-range{filter:inherit}.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}.ui-tabs{position:relative;padding:.2em}.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:0;margin:1px .2em 0 0;border-bottom-width:0;padding:0;white-space:nowrap}.ui-tabs .ui-tabs-nav .ui-tabs-anchor{float:left;padding:.5em 1em;text-decoration:none}.ui-tabs .ui-tabs-nav li.ui-tabs-active{margin-bottom:-1px;padding-bottom:1px}.ui-tabs .ui-tabs-nav li.ui-tabs-active .ui-tabs-anchor,.ui-tabs .ui-tabs-nav li.ui-state-disabled .ui-tabs-anchor,.ui-tabs .ui-tabs-nav li.ui-tabs-loading .ui-tabs-anchor{cursor:text}.ui-tabs-collapsible .ui-tabs-nav li.ui-tabs-active .ui-tabs-anchor{cursor:pointer}.ui-tabs .ui-tabs-panel{display:block;border-width:0;padding:1em 1.4em;background:none}.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 #aaa;background:#fff url(images/ui-bg_flat_75_ffffff_40x100.png) 50% 50% repeat-x;color:#222}.ui-widget-content a{color:#222}.ui-widget-header{border:1px solid #aaa;background:#ccc url(images/ui-bg_highlight-soft_75_cccccc_1x100.png) 50% 50% repeat-x;color:#222;font-weight:bold}.ui-widget-header a{color:#222}.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:#555}.ui-state-default a,.ui-state-default a:link,.ui-state-default a:visited{color:#555;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 #999;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,.ui-state-hover a:link,.ui-state-hover a:visited,.ui-state-focus a,.ui-state-focus a:hover,.ui-state-focus a:link,.ui-state-focus a:visited{color:#212121;text-decoration:none}.ui-state-active,.ui-widget-content .ui-state-active,.ui-widget-header .ui-state-active{border:1px solid #aaa;background:#fff 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-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}.ui-state-disabled .ui-icon{filter:Alpha(Opacity=35)}.ui-icon{width:16px;height:16px}.ui-icon,.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)}.ui-icon-blank{background-position:16px 16px}.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-on{background-position:-96px -144px}.ui-icon-radio-off{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{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}.ui-corner-all,.ui-corner-top,.ui-corner-left,.ui-corner-tl{border-top-left-radius:4px}.ui-corner-all,.ui-corner-top,.ui-corner-right,.ui-corner-tr{border-top-right-radius:4px}.ui-corner-all,.ui-corner-bottom,.ui-corner-left,.ui-corner-bl{border-bottom-left-radius:4px}.ui-corner-all,.ui-corner-bottom,.ui-corner-right,.ui-corner-br{border-bottom-right-radius:4px}.ui-widget-overlay{background:#aaa url(images/ui-bg_flat_0_aaaaaa_40x100.png) 50% 50% repeat-x;opacity:.3;filter:Alpha(Opacity=30)}.ui-widget-shadow{margin:-8px 0 0 -8px;padding:8px;background:#aaa url(images/ui-bg_flat_0_aaaaaa_40x100.png) 50% 50% repeat-x;opacity:.3;filter:Alpha(Opacity=30);border-radius:8px} >\ No newline at end of file >diff --git a/koha-tmpl/intranet-tmpl/lib/jquery/jquery-ui.js b/koha-tmpl/intranet-tmpl/lib/jquery/jquery-ui.js >deleted file mode 100644 >index e711dd18a4..0000000000 >--- a/koha-tmpl/intranet-tmpl/lib/jquery/jquery-ui.js >+++ /dev/null >@@ -1,7 +0,0 @@ >-/*! jQuery UI - v1.10.4 - 2014-03-05 >-* http://jqueryui.com >-* Includes: jquery.ui.core.js, jquery.ui.widget.js, jquery.ui.mouse.js, jquery.ui.position.js, jquery.ui.draggable.js, jquery.ui.droppable.js, jquery.ui.sortable.js, jquery.ui.accordion.js, jquery.ui.autocomplete.js, jquery.ui.button.js, jquery.ui.datepicker.js, jquery.ui.menu.js, jquery.ui.progressbar.js, jquery.ui.slider.js, jquery.ui.tabs.js, jquery.ui.effect.js, jquery.ui.effect-highlight.js >-* Copyright 2014 jQuery Foundation and other contributors; Licensed MIT */ >- >-(function(e,t){function i(t,i){var s,a,o,r=t.nodeName.toLowerCase();return"area"===r?(s=t.parentNode,a=s.name,t.href&&a&&"map"===s.nodeName.toLowerCase()?(o=e("img[usemap=#"+a+"]")[0],!!o&&n(o)):!1):(/input|select|textarea|button|object/.test(r)?!t.disabled:"a"===r?t.href||i:i)&&n(t)}function n(t){return e.expr.filters.visible(t)&&!e(t).parents().addBack().filter(function(){return"hidden"===e.css(this,"visibility")}).length}var s=0,a=/^ui-id-\d+$/;e.ui=e.ui||{},e.extend(e.ui,{version:"1.10.4",keyCode:{BACKSPACE:8,COMMA:188,DELETE:46,DOWN:40,END:35,ENTER:13,ESCAPE:27,HOME:36,LEFT:37,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,SPACE:32,TAB:9,UP:38}}),e.fn.extend({focus:function(t){return function(i,n){return"number"==typeof i?this.each(function(){var t=this;setTimeout(function(){e(t).focus(),n&&n.call(t)},i)}):t.apply(this,arguments)}}(e.fn.focus),scrollParent:function(){var t;return t=e.ui.ie&&/(static|relative)/.test(this.css("position"))||/absolute/.test(this.css("position"))?this.parents().filter(function(){return/(relative|absolute|fixed)/.test(e.css(this,"position"))&&/(auto|scroll)/.test(e.css(this,"overflow")+e.css(this,"overflow-y")+e.css(this,"overflow-x"))}).eq(0):this.parents().filter(function(){return/(auto|scroll)/.test(e.css(this,"overflow")+e.css(this,"overflow-y")+e.css(this,"overflow-x"))}).eq(0),/fixed/.test(this.css("position"))||!t.length?e(document):t},zIndex:function(i){if(i!==t)return this.css("zIndex",i);if(this.length)for(var n,s,a=e(this[0]);a.length&&a[0]!==document;){if(n=a.css("position"),("absolute"===n||"relative"===n||"fixed"===n)&&(s=parseInt(a.css("zIndex"),10),!isNaN(s)&&0!==s))return s;a=a.parent()}return 0},uniqueId:function(){return this.each(function(){this.id||(this.id="ui-id-"+ ++s)})},removeUniqueId:function(){return this.each(function(){a.test(this.id)&&e(this).removeAttr("id")})}}),e.extend(e.expr[":"],{data:e.expr.createPseudo?e.expr.createPseudo(function(t){return function(i){return!!e.data(i,t)}}):function(t,i,n){return!!e.data(t,n[3])},focusable:function(t){return i(t,!isNaN(e.attr(t,"tabindex")))},tabbable:function(t){var n=e.attr(t,"tabindex"),s=isNaN(n);return(s||n>=0)&&i(t,!s)}}),e("<a>").outerWidth(1).jquery||e.each(["Width","Height"],function(i,n){function s(t,i,n,s){return e.each(a,function(){i-=parseFloat(e.css(t,"padding"+this))||0,n&&(i-=parseFloat(e.css(t,"border"+this+"Width"))||0),s&&(i-=parseFloat(e.css(t,"margin"+this))||0)}),i}var a="Width"===n?["Left","Right"]:["Top","Bottom"],o=n.toLowerCase(),r={innerWidth:e.fn.innerWidth,innerHeight:e.fn.innerHeight,outerWidth:e.fn.outerWidth,outerHeight:e.fn.outerHeight};e.fn["inner"+n]=function(i){return i===t?r["inner"+n].call(this):this.each(function(){e(this).css(o,s(this,i)+"px")})},e.fn["outer"+n]=function(t,i){return"number"!=typeof t?r["outer"+n].call(this,t):this.each(function(){e(this).css(o,s(this,t,!0,i)+"px")})}}),e.fn.addBack||(e.fn.addBack=function(e){return this.add(null==e?this.prevObject:this.prevObject.filter(e))}),e("<a>").data("a-b","a").removeData("a-b").data("a-b")&&(e.fn.removeData=function(t){return function(i){return arguments.length?t.call(this,e.camelCase(i)):t.call(this)}}(e.fn.removeData)),e.ui.ie=!!/msie [\w.]+/.exec(navigator.userAgent.toLowerCase()),e.support.selectstart="onselectstart"in document.createElement("div"),e.fn.extend({disableSelection:function(){return this.bind((e.support.selectstart?"selectstart":"mousedown")+".ui-disableSelection",function(e){e.preventDefault()})},enableSelection:function(){return this.unbind(".ui-disableSelection")}}),e.extend(e.ui,{plugin:{add:function(t,i,n){var s,a=e.ui[t].prototype;for(s in n)a.plugins[s]=a.plugins[s]||[],a.plugins[s].push([i,n[s]])},call:function(e,t,i){var n,s=e.plugins[t];if(s&&e.element[0].parentNode&&11!==e.element[0].parentNode.nodeType)for(n=0;s.length>n;n++)e.options[s[n][0]]&&s[n][1].apply(e.element,i)}},hasScroll:function(t,i){if("hidden"===e(t).css("overflow"))return!1;var n=i&&"left"===i?"scrollLeft":"scrollTop",s=!1;return t[n]>0?!0:(t[n]=1,s=t[n]>0,t[n]=0,s)}})})(jQuery);(function(t,e){var i=0,s=Array.prototype.slice,n=t.cleanData;t.cleanData=function(e){for(var i,s=0;null!=(i=e[s]);s++)try{t(i).triggerHandler("remove")}catch(o){}n(e)},t.widget=function(i,s,n){var o,a,r,h,l={},c=i.split(".")[0];i=i.split(".")[1],o=c+"-"+i,n||(n=s,s=t.Widget),t.expr[":"][o.toLowerCase()]=function(e){return!!t.data(e,o)},t[c]=t[c]||{},a=t[c][i],r=t[c][i]=function(t,i){return this._createWidget?(arguments.length&&this._createWidget(t,i),e):new r(t,i)},t.extend(r,a,{version:n.version,_proto:t.extend({},n),_childConstructors:[]}),h=new s,h.options=t.widget.extend({},h.options),t.each(n,function(i,n){return t.isFunction(n)?(l[i]=function(){var t=function(){return s.prototype[i].apply(this,arguments)},e=function(t){return s.prototype[i].apply(this,t)};return function(){var i,s=this._super,o=this._superApply;return this._super=t,this._superApply=e,i=n.apply(this,arguments),this._super=s,this._superApply=o,i}}(),e):(l[i]=n,e)}),r.prototype=t.widget.extend(h,{widgetEventPrefix:a?h.widgetEventPrefix||i:i},l,{constructor:r,namespace:c,widgetName:i,widgetFullName:o}),a?(t.each(a._childConstructors,function(e,i){var s=i.prototype;t.widget(s.namespace+"."+s.widgetName,r,i._proto)}),delete a._childConstructors):s._childConstructors.push(r),t.widget.bridge(i,r)},t.widget.extend=function(i){for(var n,o,a=s.call(arguments,1),r=0,h=a.length;h>r;r++)for(n in a[r])o=a[r][n],a[r].hasOwnProperty(n)&&o!==e&&(i[n]=t.isPlainObject(o)?t.isPlainObject(i[n])?t.widget.extend({},i[n],o):t.widget.extend({},o):o);return i},t.widget.bridge=function(i,n){var o=n.prototype.widgetFullName||i;t.fn[i]=function(a){var r="string"==typeof a,h=s.call(arguments,1),l=this;return a=!r&&h.length?t.widget.extend.apply(null,[a].concat(h)):a,r?this.each(function(){var s,n=t.data(this,o);return n?t.isFunction(n[a])&&"_"!==a.charAt(0)?(s=n[a].apply(n,h),s!==n&&s!==e?(l=s&&s.jquery?l.pushStack(s.get()):s,!1):e):t.error("no such method '"+a+"' for "+i+" widget instance"):t.error("cannot call methods on "+i+" prior to initialization; "+"attempted to call method '"+a+"'")}):this.each(function(){var e=t.data(this,o);e?e.option(a||{})._init():t.data(this,o,new n(a,this))}),l}},t.Widget=function(){},t.Widget._childConstructors=[],t.Widget.prototype={widgetName:"widget",widgetEventPrefix:"",defaultElement:"<div>",options:{disabled:!1,create:null},_createWidget:function(e,s){s=t(s||this.defaultElement||this)[0],this.element=t(s),this.uuid=i++,this.eventNamespace="."+this.widgetName+this.uuid,this.options=t.widget.extend({},this.options,this._getCreateOptions(),e),this.bindings=t(),this.hoverable=t(),this.focusable=t(),s!==this&&(t.data(s,this.widgetFullName,this),this._on(!0,this.element,{remove:function(t){t.target===s&&this.destroy()}}),this.document=t(s.style?s.ownerDocument:s.document||s),this.window=t(this.document[0].defaultView||this.document[0].parentWindow)),this._create(),this._trigger("create",null,this._getCreateEventData()),this._init()},_getCreateOptions:t.noop,_getCreateEventData:t.noop,_create:t.noop,_init:t.noop,destroy:function(){this._destroy(),this.element.unbind(this.eventNamespace).removeData(this.widgetName).removeData(this.widgetFullName).removeData(t.camelCase(this.widgetFullName)),this.widget().unbind(this.eventNamespace).removeAttr("aria-disabled").removeClass(this.widgetFullName+"-disabled "+"ui-state-disabled"),this.bindings.unbind(this.eventNamespace),this.hoverable.removeClass("ui-state-hover"),this.focusable.removeClass("ui-state-focus")},_destroy:t.noop,widget:function(){return this.element},option:function(i,s){var n,o,a,r=i;if(0===arguments.length)return t.widget.extend({},this.options);if("string"==typeof i)if(r={},n=i.split("."),i=n.shift(),n.length){for(o=r[i]=t.widget.extend({},this.options[i]),a=0;n.length-1>a;a++)o[n[a]]=o[n[a]]||{},o=o[n[a]];if(i=n.pop(),1===arguments.length)return o[i]===e?null:o[i];o[i]=s}else{if(1===arguments.length)return this.options[i]===e?null:this.options[i];r[i]=s}return this._setOptions(r),this},_setOptions:function(t){var e;for(e in t)this._setOption(e,t[e]);return this},_setOption:function(t,e){return this.options[t]=e,"disabled"===t&&(this.widget().toggleClass(this.widgetFullName+"-disabled ui-state-disabled",!!e).attr("aria-disabled",e),this.hoverable.removeClass("ui-state-hover"),this.focusable.removeClass("ui-state-focus")),this},enable:function(){return this._setOption("disabled",!1)},disable:function(){return this._setOption("disabled",!0)},_on:function(i,s,n){var o,a=this;"boolean"!=typeof i&&(n=s,s=i,i=!1),n?(s=o=t(s),this.bindings=this.bindings.add(s)):(n=s,s=this.element,o=this.widget()),t.each(n,function(n,r){function h(){return i||a.options.disabled!==!0&&!t(this).hasClass("ui-state-disabled")?("string"==typeof r?a[r]:r).apply(a,arguments):e}"string"!=typeof r&&(h.guid=r.guid=r.guid||h.guid||t.guid++);var l=n.match(/^(\w+)\s*(.*)$/),c=l[1]+a.eventNamespace,u=l[2];u?o.delegate(u,c,h):s.bind(c,h)})},_off:function(t,e){e=(e||"").split(" ").join(this.eventNamespace+" ")+this.eventNamespace,t.unbind(e).undelegate(e)},_delay:function(t,e){function i(){return("string"==typeof t?s[t]:t).apply(s,arguments)}var s=this;return setTimeout(i,e||0)},_hoverable:function(e){this.hoverable=this.hoverable.add(e),this._on(e,{mouseenter:function(e){t(e.currentTarget).addClass("ui-state-hover")},mouseleave:function(e){t(e.currentTarget).removeClass("ui-state-hover")}})},_focusable:function(e){this.focusable=this.focusable.add(e),this._on(e,{focusin:function(e){t(e.currentTarget).addClass("ui-state-focus")},focusout:function(e){t(e.currentTarget).removeClass("ui-state-focus")}})},_trigger:function(e,i,s){var n,o,a=this.options[e];if(s=s||{},i=t.Event(i),i.type=(e===this.widgetEventPrefix?e:this.widgetEventPrefix+e).toLowerCase(),i.target=this.element[0],o=i.originalEvent)for(n in o)n in i||(i[n]=o[n]);return this.element.trigger(i,s),!(t.isFunction(a)&&a.apply(this.element[0],[i].concat(s))===!1||i.isDefaultPrevented())}},t.each({show:"fadeIn",hide:"fadeOut"},function(e,i){t.Widget.prototype["_"+e]=function(s,n,o){"string"==typeof n&&(n={effect:n});var a,r=n?n===!0||"number"==typeof n?i:n.effect||i:e;n=n||{},"number"==typeof n&&(n={duration:n}),a=!t.isEmptyObject(n),n.complete=o,n.delay&&s.delay(n.delay),a&&t.effects&&t.effects.effect[r]?s[e](n):r!==e&&s[r]?s[r](n.duration,n.easing,o):s.queue(function(i){t(this)[e](),o&&o.call(s[0]),i()})}})})(jQuery);(function(t){var e=!1;t(document).mouseup(function(){e=!1}),t.widget("ui.mouse",{version:"1.10.4",options:{cancel:"input,textarea,button,select,option",distance:1,delay:0},_mouseInit:function(){var e=this;this.element.bind("mousedown."+this.widgetName,function(t){return e._mouseDown(t)}).bind("click."+this.widgetName,function(i){return!0===t.data(i.target,e.widgetName+".preventClickEvent")?(t.removeData(i.target,e.widgetName+".preventClickEvent"),i.stopImmediatePropagation(),!1):undefined}),this.started=!1},_mouseDestroy:function(){this.element.unbind("."+this.widgetName),this._mouseMoveDelegate&&t(document).unbind("mousemove."+this.widgetName,this._mouseMoveDelegate).unbind("mouseup."+this.widgetName,this._mouseUpDelegate)},_mouseDown:function(i){if(!e){this._mouseStarted&&this._mouseUp(i),this._mouseDownEvent=i;var s=this,n=1===i.which,a="string"==typeof this.options.cancel&&i.target.nodeName?t(i.target).closest(this.options.cancel).length:!1;return n&&!a&&this._mouseCapture(i)?(this.mouseDelayMet=!this.options.delay,this.mouseDelayMet||(this._mouseDelayTimer=setTimeout(function(){s.mouseDelayMet=!0},this.options.delay)),this._mouseDistanceMet(i)&&this._mouseDelayMet(i)&&(this._mouseStarted=this._mouseStart(i)!==!1,!this._mouseStarted)?(i.preventDefault(),!0):(!0===t.data(i.target,this.widgetName+".preventClickEvent")&&t.removeData(i.target,this.widgetName+".preventClickEvent"),this._mouseMoveDelegate=function(t){return s._mouseMove(t)},this._mouseUpDelegate=function(t){return s._mouseUp(t)},t(document).bind("mousemove."+this.widgetName,this._mouseMoveDelegate).bind("mouseup."+this.widgetName,this._mouseUpDelegate),i.preventDefault(),e=!0,!0)):!0}},_mouseMove:function(e){return t.ui.ie&&(!document.documentMode||9>document.documentMode)&&!e.button?this._mouseUp(e):this._mouseStarted?(this._mouseDrag(e),e.preventDefault()):(this._mouseDistanceMet(e)&&this._mouseDelayMet(e)&&(this._mouseStarted=this._mouseStart(this._mouseDownEvent,e)!==!1,this._mouseStarted?this._mouseDrag(e):this._mouseUp(e)),!this._mouseStarted)},_mouseUp:function(e){return t(document).unbind("mousemove."+this.widgetName,this._mouseMoveDelegate).unbind("mouseup."+this.widgetName,this._mouseUpDelegate),this._mouseStarted&&(this._mouseStarted=!1,e.target===this._mouseDownEvent.target&&t.data(e.target,this.widgetName+".preventClickEvent",!0),this._mouseStop(e)),!1},_mouseDistanceMet:function(t){return Math.max(Math.abs(this._mouseDownEvent.pageX-t.pageX),Math.abs(this._mouseDownEvent.pageY-t.pageY))>=this.options.distance},_mouseDelayMet:function(){return this.mouseDelayMet},_mouseStart:function(){},_mouseDrag:function(){},_mouseStop:function(){},_mouseCapture:function(){return!0}})})(jQuery);(function(t,e){function i(t,e,i){return[parseFloat(t[0])*(p.test(t[0])?e/100:1),parseFloat(t[1])*(p.test(t[1])?i/100:1)]}function s(e,i){return parseInt(t.css(e,i),10)||0}function n(e){var i=e[0];return 9===i.nodeType?{width:e.width(),height:e.height(),offset:{top:0,left:0}}:t.isWindow(i)?{width:e.width(),height:e.height(),offset:{top:e.scrollTop(),left:e.scrollLeft()}}:i.preventDefault?{width:0,height:0,offset:{top:i.pageY,left:i.pageX}}:{width:e.outerWidth(),height:e.outerHeight(),offset:e.offset()}}t.ui=t.ui||{};var a,o=Math.max,r=Math.abs,l=Math.round,h=/left|center|right/,c=/top|center|bottom/,u=/[\+\-]\d+(\.[\d]+)?%?/,d=/^\w+/,p=/%$/,f=t.fn.position;t.position={scrollbarWidth:function(){if(a!==e)return a;var i,s,n=t("<div style='display:block;position:absolute;width:50px;height:50px;overflow:hidden;'><div style='height:100px;width:auto;'></div></div>"),o=n.children()[0];return t("body").append(n),i=o.offsetWidth,n.css("overflow","scroll"),s=o.offsetWidth,i===s&&(s=n[0].clientWidth),n.remove(),a=i-s},getScrollInfo:function(e){var i=e.isWindow||e.isDocument?"":e.element.css("overflow-x"),s=e.isWindow||e.isDocument?"":e.element.css("overflow-y"),n="scroll"===i||"auto"===i&&e.width<e.element[0].scrollWidth,a="scroll"===s||"auto"===s&&e.height<e.element[0].scrollHeight;return{width:a?t.position.scrollbarWidth():0,height:n?t.position.scrollbarWidth():0}},getWithinInfo:function(e){var i=t(e||window),s=t.isWindow(i[0]),n=!!i[0]&&9===i[0].nodeType;return{element:i,isWindow:s,isDocument:n,offset:i.offset()||{left:0,top:0},scrollLeft:i.scrollLeft(),scrollTop:i.scrollTop(),width:s?i.width():i.outerWidth(),height:s?i.height():i.outerHeight()}}},t.fn.position=function(e){if(!e||!e.of)return f.apply(this,arguments);e=t.extend({},e);var a,p,g,m,v,_,b=t(e.of),y=t.position.getWithinInfo(e.within),k=t.position.getScrollInfo(y),w=(e.collision||"flip").split(" "),D={};return _=n(b),b[0].preventDefault&&(e.at="left top"),p=_.width,g=_.height,m=_.offset,v=t.extend({},m),t.each(["my","at"],function(){var t,i,s=(e[this]||"").split(" ");1===s.length&&(s=h.test(s[0])?s.concat(["center"]):c.test(s[0])?["center"].concat(s):["center","center"]),s[0]=h.test(s[0])?s[0]:"center",s[1]=c.test(s[1])?s[1]:"center",t=u.exec(s[0]),i=u.exec(s[1]),D[this]=[t?t[0]:0,i?i[0]:0],e[this]=[d.exec(s[0])[0],d.exec(s[1])[0]]}),1===w.length&&(w[1]=w[0]),"right"===e.at[0]?v.left+=p:"center"===e.at[0]&&(v.left+=p/2),"bottom"===e.at[1]?v.top+=g:"center"===e.at[1]&&(v.top+=g/2),a=i(D.at,p,g),v.left+=a[0],v.top+=a[1],this.each(function(){var n,h,c=t(this),u=c.outerWidth(),d=c.outerHeight(),f=s(this,"marginLeft"),_=s(this,"marginTop"),x=u+f+s(this,"marginRight")+k.width,C=d+_+s(this,"marginBottom")+k.height,M=t.extend({},v),T=i(D.my,c.outerWidth(),c.outerHeight());"right"===e.my[0]?M.left-=u:"center"===e.my[0]&&(M.left-=u/2),"bottom"===e.my[1]?M.top-=d:"center"===e.my[1]&&(M.top-=d/2),M.left+=T[0],M.top+=T[1],t.support.offsetFractions||(M.left=l(M.left),M.top=l(M.top)),n={marginLeft:f,marginTop:_},t.each(["left","top"],function(i,s){t.ui.position[w[i]]&&t.ui.position[w[i]][s](M,{targetWidth:p,targetHeight:g,elemWidth:u,elemHeight:d,collisionPosition:n,collisionWidth:x,collisionHeight:C,offset:[a[0]+T[0],a[1]+T[1]],my:e.my,at:e.at,within:y,elem:c})}),e.using&&(h=function(t){var i=m.left-M.left,s=i+p-u,n=m.top-M.top,a=n+g-d,l={target:{element:b,left:m.left,top:m.top,width:p,height:g},element:{element:c,left:M.left,top:M.top,width:u,height:d},horizontal:0>s?"left":i>0?"right":"center",vertical:0>a?"top":n>0?"bottom":"middle"};u>p&&p>r(i+s)&&(l.horizontal="center"),d>g&&g>r(n+a)&&(l.vertical="middle"),l.important=o(r(i),r(s))>o(r(n),r(a))?"horizontal":"vertical",e.using.call(this,t,l)}),c.offset(t.extend(M,{using:h}))})},t.ui.position={fit:{left:function(t,e){var i,s=e.within,n=s.isWindow?s.scrollLeft:s.offset.left,a=s.width,r=t.left-e.collisionPosition.marginLeft,l=n-r,h=r+e.collisionWidth-a-n;e.collisionWidth>a?l>0&&0>=h?(i=t.left+l+e.collisionWidth-a-n,t.left+=l-i):t.left=h>0&&0>=l?n:l>h?n+a-e.collisionWidth:n:l>0?t.left+=l:h>0?t.left-=h:t.left=o(t.left-r,t.left)},top:function(t,e){var i,s=e.within,n=s.isWindow?s.scrollTop:s.offset.top,a=e.within.height,r=t.top-e.collisionPosition.marginTop,l=n-r,h=r+e.collisionHeight-a-n;e.collisionHeight>a?l>0&&0>=h?(i=t.top+l+e.collisionHeight-a-n,t.top+=l-i):t.top=h>0&&0>=l?n:l>h?n+a-e.collisionHeight:n:l>0?t.top+=l:h>0?t.top-=h:t.top=o(t.top-r,t.top)}},flip:{left:function(t,e){var i,s,n=e.within,a=n.offset.left+n.scrollLeft,o=n.width,l=n.isWindow?n.scrollLeft:n.offset.left,h=t.left-e.collisionPosition.marginLeft,c=h-l,u=h+e.collisionWidth-o-l,d="left"===e.my[0]?-e.elemWidth:"right"===e.my[0]?e.elemWidth:0,p="left"===e.at[0]?e.targetWidth:"right"===e.at[0]?-e.targetWidth:0,f=-2*e.offset[0];0>c?(i=t.left+d+p+f+e.collisionWidth-o-a,(0>i||r(c)>i)&&(t.left+=d+p+f)):u>0&&(s=t.left-e.collisionPosition.marginLeft+d+p+f-l,(s>0||u>r(s))&&(t.left+=d+p+f))},top:function(t,e){var i,s,n=e.within,a=n.offset.top+n.scrollTop,o=n.height,l=n.isWindow?n.scrollTop:n.offset.top,h=t.top-e.collisionPosition.marginTop,c=h-l,u=h+e.collisionHeight-o-l,d="top"===e.my[1],p=d?-e.elemHeight:"bottom"===e.my[1]?e.elemHeight:0,f="top"===e.at[1]?e.targetHeight:"bottom"===e.at[1]?-e.targetHeight:0,g=-2*e.offset[1];0>c?(s=t.top+p+f+g+e.collisionHeight-o-a,t.top+p+f+g>c&&(0>s||r(c)>s)&&(t.top+=p+f+g)):u>0&&(i=t.top-e.collisionPosition.marginTop+p+f+g-l,t.top+p+f+g>u&&(i>0||u>r(i))&&(t.top+=p+f+g))}},flipfit:{left:function(){t.ui.position.flip.left.apply(this,arguments),t.ui.position.fit.left.apply(this,arguments)},top:function(){t.ui.position.flip.top.apply(this,arguments),t.ui.position.fit.top.apply(this,arguments)}}},function(){var e,i,s,n,a,o=document.getElementsByTagName("body")[0],r=document.createElement("div");e=document.createElement(o?"div":"body"),s={visibility:"hidden",width:0,height:0,border:0,margin:0,background:"none"},o&&t.extend(s,{position:"absolute",left:"-1000px",top:"-1000px"});for(a in s)e.style[a]=s[a];e.appendChild(r),i=o||document.documentElement,i.insertBefore(e,i.firstChild),r.style.cssText="position: absolute; left: 10.7432222px;",n=t(r).offset().left,t.support.offsetFractions=n>10&&11>n,e.innerHTML="",i.removeChild(e)}()})(jQuery);(function(t){t.widget("ui.draggable",t.ui.mouse,{version:"1.10.4",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,drag:null,start:null,stop:null},_create:function(){"original"!==this.options.helper||/^(?: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(){this.element.removeClass("ui-draggable ui-draggable-dragging ui-draggable-disabled"),this._mouseDestroy()},_mouseCapture:function(e){var i=this.options;return this.helper||i.disabled||t(e.target).closest(".ui-resizable-handle").length>0?!1:(this.handle=this._getHandle(e),this.handle?(t(i.iframeFix===!0?"iframe":i.iframeFix).each(function(){t("<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(t(this).offset()).appendTo("body")}),!0):!1)},_mouseStart:function(e){var i=this.options;return this.helper=this._createHelper(e),this.helper.addClass("ui-draggable-dragging"),this._cacheHelperProportions(),t.ui.ddmanager&&(t.ui.ddmanager.current=this),this._cacheMargins(),this.cssPosition=this.helper.css("position"),this.scrollParent=this.helper.scrollParent(),this.offsetParent=this.helper.offsetParent(),this.offsetParentCssPosition=this.offsetParent.css("position"),this.offset=this.positionAbs=this.element.offset(),this.offset={top:this.offset.top-this.margins.top,left:this.offset.left-this.margins.left},this.offset.scroll=!1,t.extend(this.offset,{click:{left:e.pageX-this.offset.left,top:e.pageY-this.offset.top},parent:this._getParentOffset(),relative:this._getRelativeOffset()}),this.originalPosition=this.position=this._generatePosition(e),this.originalPageX=e.pageX,this.originalPageY=e.pageY,i.cursorAt&&this._adjustOffsetFromHelper(i.cursorAt),this._setContainment(),this._trigger("start",e)===!1?(this._clear(),!1):(this._cacheHelperProportions(),t.ui.ddmanager&&!i.dropBehaviour&&t.ui.ddmanager.prepareOffsets(this,e),this._mouseDrag(e,!0),t.ui.ddmanager&&t.ui.ddmanager.dragStart(this,e),!0)},_mouseDrag:function(e,i){if("fixed"===this.offsetParentCssPosition&&(this.offset.parent=this._getParentOffset()),this.position=this._generatePosition(e),this.positionAbs=this._convertPositionTo("absolute"),!i){var s=this._uiHash();if(this._trigger("drag",e,s)===!1)return this._mouseUp({}),!1;this.position=s.position}return this.options.axis&&"y"===this.options.axis||(this.helper[0].style.left=this.position.left+"px"),this.options.axis&&"x"===this.options.axis||(this.helper[0].style.top=this.position.top+"px"),t.ui.ddmanager&&t.ui.ddmanager.drag(this,e),!1},_mouseStop:function(e){var i=this,s=!1;return t.ui.ddmanager&&!this.options.dropBehaviour&&(s=t.ui.ddmanager.drop(this,e)),this.dropped&&(s=this.dropped,this.dropped=!1),"original"!==this.options.helper||t.contains(this.element[0].ownerDocument,this.element[0])?("invalid"===this.options.revert&&!s||"valid"===this.options.revert&&s||this.options.revert===!0||t.isFunction(this.options.revert)&&this.options.revert.call(this.element,s)?t(this.helper).animate(this.originalPosition,parseInt(this.options.revertDuration,10),function(){i._trigger("stop",e)!==!1&&i._clear()}):this._trigger("stop",e)!==!1&&this._clear(),!1):!1},_mouseUp:function(e){return t("div.ui-draggable-iframeFix").each(function(){this.parentNode.removeChild(this)}),t.ui.ddmanager&&t.ui.ddmanager.dragStop(this,e),t.ui.mouse.prototype._mouseUp.call(this,e)},cancel:function(){return this.helper.is(".ui-draggable-dragging")?this._mouseUp({}):this._clear(),this},_getHandle:function(e){return this.options.handle?!!t(e.target).closest(this.element.find(this.options.handle)).length:!0},_createHelper:function(e){var i=this.options,s=t.isFunction(i.helper)?t(i.helper.apply(this.element[0],[e])):"clone"===i.helper?this.element.clone().removeAttr("id"):this.element;return s.parents("body").length||s.appendTo("parent"===i.appendTo?this.element[0].parentNode:i.appendTo),s[0]===this.element[0]||/(fixed|absolute)/.test(s.css("position"))||s.css("position","absolute"),s},_adjustOffsetFromHelper:function(e){"string"==typeof e&&(e=e.split(" ")),t.isArray(e)&&(e={left:+e[0],top:+e[1]||0}),"left"in e&&(this.offset.click.left=e.left+this.margins.left),"right"in e&&(this.offset.click.left=this.helperProportions.width-e.right+this.margins.left),"top"in e&&(this.offset.click.top=e.top+this.margins.top),"bottom"in e&&(this.offset.click.top=this.helperProportions.height-e.bottom+this.margins.top)},_getParentOffset:function(){var e=this.offsetParent.offset();return"absolute"===this.cssPosition&&this.scrollParent[0]!==document&&t.contains(this.scrollParent[0],this.offsetParent[0])&&(e.left+=this.scrollParent.scrollLeft(),e.top+=this.scrollParent.scrollTop()),(this.offsetParent[0]===document.body||this.offsetParent[0].tagName&&"html"===this.offsetParent[0].tagName.toLowerCase()&&t.ui.ie)&&(e={top:0,left:0}),{top:e.top+(parseInt(this.offsetParent.css("borderTopWidth"),10)||0),left:e.left+(parseInt(this.offsetParent.css("borderLeftWidth"),10)||0)}},_getRelativeOffset:function(){if("relative"===this.cssPosition){var t=this.element.position();return{top:t.top-(parseInt(this.helper.css("top"),10)||0)+this.scrollParent.scrollTop(),left:t.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 e,i,s,n=this.options;return n.containment?"window"===n.containment?(this.containment=[t(window).scrollLeft()-this.offset.relative.left-this.offset.parent.left,t(window).scrollTop()-this.offset.relative.top-this.offset.parent.top,t(window).scrollLeft()+t(window).width()-this.helperProportions.width-this.margins.left,t(window).scrollTop()+(t(window).height()||document.body.parentNode.scrollHeight)-this.helperProportions.height-this.margins.top],undefined):"document"===n.containment?(this.containment=[0,0,t(document).width()-this.helperProportions.width-this.margins.left,(t(document).height()||document.body.parentNode.scrollHeight)-this.helperProportions.height-this.margins.top],undefined):n.containment.constructor===Array?(this.containment=n.containment,undefined):("parent"===n.containment&&(n.containment=this.helper[0].parentNode),i=t(n.containment),s=i[0],s&&(e="hidden"!==i.css("overflow"),this.containment=[(parseInt(i.css("borderLeftWidth"),10)||0)+(parseInt(i.css("paddingLeft"),10)||0),(parseInt(i.css("borderTopWidth"),10)||0)+(parseInt(i.css("paddingTop"),10)||0),(e?Math.max(s.scrollWidth,s.offsetWidth):s.offsetWidth)-(parseInt(i.css("borderRightWidth"),10)||0)-(parseInt(i.css("paddingRight"),10)||0)-this.helperProportions.width-this.margins.left-this.margins.right,(e?Math.max(s.scrollHeight,s.offsetHeight):s.offsetHeight)-(parseInt(i.css("borderBottomWidth"),10)||0)-(parseInt(i.css("paddingBottom"),10)||0)-this.helperProportions.height-this.margins.top-this.margins.bottom],this.relative_container=i),undefined):(this.containment=null,undefined)},_convertPositionTo:function(e,i){i||(i=this.position);var s="absolute"===e?1:-1,n="absolute"!==this.cssPosition||this.scrollParent[0]!==document&&t.contains(this.scrollParent[0],this.offsetParent[0])?this.scrollParent:this.offsetParent;return this.offset.scroll||(this.offset.scroll={top:n.scrollTop(),left:n.scrollLeft()}),{top:i.top+this.offset.relative.top*s+this.offset.parent.top*s-("fixed"===this.cssPosition?-this.scrollParent.scrollTop():this.offset.scroll.top)*s,left:i.left+this.offset.relative.left*s+this.offset.parent.left*s-("fixed"===this.cssPosition?-this.scrollParent.scrollLeft():this.offset.scroll.left)*s}},_generatePosition:function(e){var i,s,n,a,o=this.options,r="absolute"!==this.cssPosition||this.scrollParent[0]!==document&&t.contains(this.scrollParent[0],this.offsetParent[0])?this.scrollParent:this.offsetParent,l=e.pageX,h=e.pageY;return this.offset.scroll||(this.offset.scroll={top:r.scrollTop(),left:r.scrollLeft()}),this.originalPosition&&(this.containment&&(this.relative_container?(s=this.relative_container.offset(),i=[this.containment[0]+s.left,this.containment[1]+s.top,this.containment[2]+s.left,this.containment[3]+s.top]):i=this.containment,e.pageX-this.offset.click.left<i[0]&&(l=i[0]+this.offset.click.left),e.pageY-this.offset.click.top<i[1]&&(h=i[1]+this.offset.click.top),e.pageX-this.offset.click.left>i[2]&&(l=i[2]+this.offset.click.left),e.pageY-this.offset.click.top>i[3]&&(h=i[3]+this.offset.click.top)),o.grid&&(n=o.grid[1]?this.originalPageY+Math.round((h-this.originalPageY)/o.grid[1])*o.grid[1]:this.originalPageY,h=i?n-this.offset.click.top>=i[1]||n-this.offset.click.top>i[3]?n:n-this.offset.click.top>=i[1]?n-o.grid[1]:n+o.grid[1]:n,a=o.grid[0]?this.originalPageX+Math.round((l-this.originalPageX)/o.grid[0])*o.grid[0]:this.originalPageX,l=i?a-this.offset.click.left>=i[0]||a-this.offset.click.left>i[2]?a:a-this.offset.click.left>=i[0]?a-o.grid[0]:a+o.grid[0]:a)),{top:h-this.offset.click.top-this.offset.relative.top-this.offset.parent.top+("fixed"===this.cssPosition?-this.scrollParent.scrollTop():this.offset.scroll.top),left:l-this.offset.click.left-this.offset.relative.left-this.offset.parent.left+("fixed"===this.cssPosition?-this.scrollParent.scrollLeft():this.offset.scroll.left)}},_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(e,i,s){return s=s||this._uiHash(),t.ui.plugin.call(this,e,[i,s]),"drag"===e&&(this.positionAbs=this._convertPositionTo("absolute")),t.Widget.prototype._trigger.call(this,e,i,s)},plugins:{},_uiHash:function(){return{helper:this.helper,position:this.position,originalPosition:this.originalPosition,offset:this.positionAbs}}}),t.ui.plugin.add("draggable","connectToSortable",{start:function(e,i){var s=t(this).data("ui-draggable"),n=s.options,a=t.extend({},i,{item:s.element});s.sortables=[],t(n.connectToSortable).each(function(){var i=t.data(this,"ui-sortable");i&&!i.options.disabled&&(s.sortables.push({instance:i,shouldRevert:i.options.revert}),i.refreshPositions(),i._trigger("activate",e,a))})},stop:function(e,i){var s=t(this).data("ui-draggable"),n=t.extend({},i,{item:s.element});t.each(s.sortables,function(){this.instance.isOver?(this.instance.isOver=0,s.cancelHelperRemoval=!0,this.instance.cancelHelperRemoval=!1,this.shouldRevert&&(this.instance.options.revert=this.shouldRevert),this.instance._mouseStop(e),this.instance.options.helper=this.instance.options._helper,"original"===s.options.helper&&this.instance.currentItem.css({top:"auto",left:"auto"})):(this.instance.cancelHelperRemoval=!1,this.instance._trigger("deactivate",e,n))})},drag:function(e,i){var s=t(this).data("ui-draggable"),n=this;t.each(s.sortables,function(){var a=!1,o=this;this.instance.positionAbs=s.positionAbs,this.instance.helperProportions=s.helperProportions,this.instance.offset.click=s.offset.click,this.instance._intersectsWith(this.instance.containerCache)&&(a=!0,t.each(s.sortables,function(){return this.instance.positionAbs=s.positionAbs,this.instance.helperProportions=s.helperProportions,this.instance.offset.click=s.offset.click,this!==o&&this.instance._intersectsWith(this.instance.containerCache)&&t.contains(o.instance.element[0],this.instance.element[0])&&(a=!1),a})),a?(this.instance.isOver||(this.instance.isOver=1,this.instance.currentItem=t(n).clone().removeAttr("id").appendTo(this.instance.element).data("ui-sortable-item",!0),this.instance.options._helper=this.instance.options.helper,this.instance.options.helper=function(){return i.helper[0]},e.target=this.instance.currentItem[0],this.instance._mouseCapture(e,!0),this.instance._mouseStart(e,!0,!0),this.instance.offset.click.top=s.offset.click.top,this.instance.offset.click.left=s.offset.click.left,this.instance.offset.parent.left-=s.offset.parent.left-this.instance.offset.parent.left,this.instance.offset.parent.top-=s.offset.parent.top-this.instance.offset.parent.top,s._trigger("toSortable",e),s.dropped=this.instance.element,s.currentItem=s.element,this.instance.fromOutside=s),this.instance.currentItem&&this.instance._mouseDrag(e)):this.instance.isOver&&(this.instance.isOver=0,this.instance.cancelHelperRemoval=!0,this.instance.options.revert=!1,this.instance._trigger("out",e,this.instance._uiHash(this.instance)),this.instance._mouseStop(e,!0),this.instance.options.helper=this.instance.options._helper,this.instance.currentItem.remove(),this.instance.placeholder&&this.instance.placeholder.remove(),s._trigger("fromSortable",e),s.dropped=!1)})}}),t.ui.plugin.add("draggable","cursor",{start:function(){var e=t("body"),i=t(this).data("ui-draggable").options;e.css("cursor")&&(i._cursor=e.css("cursor")),e.css("cursor",i.cursor)},stop:function(){var e=t(this).data("ui-draggable").options;e._cursor&&t("body").css("cursor",e._cursor)}}),t.ui.plugin.add("draggable","opacity",{start:function(e,i){var s=t(i.helper),n=t(this).data("ui-draggable").options;s.css("opacity")&&(n._opacity=s.css("opacity")),s.css("opacity",n.opacity)},stop:function(e,i){var s=t(this).data("ui-draggable").options;s._opacity&&t(i.helper).css("opacity",s._opacity)}}),t.ui.plugin.add("draggable","scroll",{start:function(){var e=t(this).data("ui-draggable");e.scrollParent[0]!==document&&"HTML"!==e.scrollParent[0].tagName&&(e.overflowOffset=e.scrollParent.offset())},drag:function(e){var i=t(this).data("ui-draggable"),s=i.options,n=!1;i.scrollParent[0]!==document&&"HTML"!==i.scrollParent[0].tagName?(s.axis&&"x"===s.axis||(i.overflowOffset.top+i.scrollParent[0].offsetHeight-e.pageY<s.scrollSensitivity?i.scrollParent[0].scrollTop=n=i.scrollParent[0].scrollTop+s.scrollSpeed:e.pageY-i.overflowOffset.top<s.scrollSensitivity&&(i.scrollParent[0].scrollTop=n=i.scrollParent[0].scrollTop-s.scrollSpeed)),s.axis&&"y"===s.axis||(i.overflowOffset.left+i.scrollParent[0].offsetWidth-e.pageX<s.scrollSensitivity?i.scrollParent[0].scrollLeft=n=i.scrollParent[0].scrollLeft+s.scrollSpeed:e.pageX-i.overflowOffset.left<s.scrollSensitivity&&(i.scrollParent[0].scrollLeft=n=i.scrollParent[0].scrollLeft-s.scrollSpeed))):(s.axis&&"x"===s.axis||(e.pageY-t(document).scrollTop()<s.scrollSensitivity?n=t(document).scrollTop(t(document).scrollTop()-s.scrollSpeed):t(window).height()-(e.pageY-t(document).scrollTop())<s.scrollSensitivity&&(n=t(document).scrollTop(t(document).scrollTop()+s.scrollSpeed))),s.axis&&"y"===s.axis||(e.pageX-t(document).scrollLeft()<s.scrollSensitivity?n=t(document).scrollLeft(t(document).scrollLeft()-s.scrollSpeed):t(window).width()-(e.pageX-t(document).scrollLeft())<s.scrollSensitivity&&(n=t(document).scrollLeft(t(document).scrollLeft()+s.scrollSpeed)))),n!==!1&&t.ui.ddmanager&&!s.dropBehaviour&&t.ui.ddmanager.prepareOffsets(i,e)}}),t.ui.plugin.add("draggable","snap",{start:function(){var e=t(this).data("ui-draggable"),i=e.options;e.snapElements=[],t(i.snap.constructor!==String?i.snap.items||":data(ui-draggable)":i.snap).each(function(){var i=t(this),s=i.offset();this!==e.element[0]&&e.snapElements.push({item:this,width:i.outerWidth(),height:i.outerHeight(),top:s.top,left:s.left})})},drag:function(e,i){var s,n,a,o,r,l,h,c,u,d,p=t(this).data("ui-draggable"),g=p.options,f=g.snapTolerance,m=i.offset.left,_=m+p.helperProportions.width,v=i.offset.top,b=v+p.helperProportions.height;for(u=p.snapElements.length-1;u>=0;u--)r=p.snapElements[u].left,l=r+p.snapElements[u].width,h=p.snapElements[u].top,c=h+p.snapElements[u].height,r-f>_||m>l+f||h-f>b||v>c+f||!t.contains(p.snapElements[u].item.ownerDocument,p.snapElements[u].item)?(p.snapElements[u].snapping&&p.options.snap.release&&p.options.snap.release.call(p.element,e,t.extend(p._uiHash(),{snapItem:p.snapElements[u].item})),p.snapElements[u].snapping=!1):("inner"!==g.snapMode&&(s=f>=Math.abs(h-b),n=f>=Math.abs(c-v),a=f>=Math.abs(r-_),o=f>=Math.abs(l-m),s&&(i.position.top=p._convertPositionTo("relative",{top:h-p.helperProportions.height,left:0}).top-p.margins.top),n&&(i.position.top=p._convertPositionTo("relative",{top:c,left:0}).top-p.margins.top),a&&(i.position.left=p._convertPositionTo("relative",{top:0,left:r-p.helperProportions.width}).left-p.margins.left),o&&(i.position.left=p._convertPositionTo("relative",{top:0,left:l}).left-p.margins.left)),d=s||n||a||o,"outer"!==g.snapMode&&(s=f>=Math.abs(h-v),n=f>=Math.abs(c-b),a=f>=Math.abs(r-m),o=f>=Math.abs(l-_),s&&(i.position.top=p._convertPositionTo("relative",{top:h,left:0}).top-p.margins.top),n&&(i.position.top=p._convertPositionTo("relative",{top:c-p.helperProportions.height,left:0}).top-p.margins.top),a&&(i.position.left=p._convertPositionTo("relative",{top:0,left:r}).left-p.margins.left),o&&(i.position.left=p._convertPositionTo("relative",{top:0,left:l-p.helperProportions.width}).left-p.margins.left)),!p.snapElements[u].snapping&&(s||n||a||o||d)&&p.options.snap.snap&&p.options.snap.snap.call(p.element,e,t.extend(p._uiHash(),{snapItem:p.snapElements[u].item})),p.snapElements[u].snapping=s||n||a||o||d)}}),t.ui.plugin.add("draggable","stack",{start:function(){var e,i=this.data("ui-draggable").options,s=t.makeArray(t(i.stack)).sort(function(e,i){return(parseInt(t(e).css("zIndex"),10)||0)-(parseInt(t(i).css("zIndex"),10)||0)});s.length&&(e=parseInt(t(s[0]).css("zIndex"),10)||0,t(s).each(function(i){t(this).css("zIndex",e+i)}),this.css("zIndex",e+s.length))}}),t.ui.plugin.add("draggable","zIndex",{start:function(e,i){var s=t(i.helper),n=t(this).data("ui-draggable").options;s.css("zIndex")&&(n._zIndex=s.css("zIndex")),s.css("zIndex",n.zIndex)},stop:function(e,i){var s=t(this).data("ui-draggable").options;s._zIndex&&t(i.helper).css("zIndex",s._zIndex)}})})(jQuery);(function(t){function e(t,e,i){return t>e&&e+i>t}t.widget("ui.droppable",{version:"1.10.4",widgetEventPrefix:"drop",options:{accept:"*",activeClass:!1,addClasses:!0,greedy:!1,hoverClass:!1,scope:"default",tolerance:"intersect",activate:null,deactivate:null,drop:null,out:null,over:null},_create:function(){var e,i=this.options,s=i.accept;this.isover=!1,this.isout=!0,this.accept=t.isFunction(s)?s:function(t){return t.is(s)},this.proportions=function(){return arguments.length?(e=arguments[0],undefined):e?e:e={width:this.element[0].offsetWidth,height:this.element[0].offsetHeight}},t.ui.ddmanager.droppables[i.scope]=t.ui.ddmanager.droppables[i.scope]||[],t.ui.ddmanager.droppables[i.scope].push(this),i.addClasses&&this.element.addClass("ui-droppable")},_destroy:function(){for(var e=0,i=t.ui.ddmanager.droppables[this.options.scope];i.length>e;e++)i[e]===this&&i.splice(e,1);this.element.removeClass("ui-droppable ui-droppable-disabled")},_setOption:function(e,i){"accept"===e&&(this.accept=t.isFunction(i)?i:function(t){return t.is(i)}),t.Widget.prototype._setOption.apply(this,arguments)},_activate:function(e){var i=t.ui.ddmanager.current;this.options.activeClass&&this.element.addClass(this.options.activeClass),i&&this._trigger("activate",e,this.ui(i))},_deactivate:function(e){var i=t.ui.ddmanager.current;this.options.activeClass&&this.element.removeClass(this.options.activeClass),i&&this._trigger("deactivate",e,this.ui(i))},_over:function(e){var i=t.ui.ddmanager.current;i&&(i.currentItem||i.element)[0]!==this.element[0]&&this.accept.call(this.element[0],i.currentItem||i.element)&&(this.options.hoverClass&&this.element.addClass(this.options.hoverClass),this._trigger("over",e,this.ui(i)))},_out:function(e){var i=t.ui.ddmanager.current;i&&(i.currentItem||i.element)[0]!==this.element[0]&&this.accept.call(this.element[0],i.currentItem||i.element)&&(this.options.hoverClass&&this.element.removeClass(this.options.hoverClass),this._trigger("out",e,this.ui(i)))},_drop:function(e,i){var s=i||t.ui.ddmanager.current,n=!1;return s&&(s.currentItem||s.element)[0]!==this.element[0]?(this.element.find(":data(ui-droppable)").not(".ui-draggable-dragging").each(function(){var e=t.data(this,"ui-droppable");return e.options.greedy&&!e.options.disabled&&e.options.scope===s.options.scope&&e.accept.call(e.element[0],s.currentItem||s.element)&&t.ui.intersect(s,t.extend(e,{offset:e.element.offset()}),e.options.tolerance)?(n=!0,!1):undefined}),n?!1:this.accept.call(this.element[0],s.currentItem||s.element)?(this.options.activeClass&&this.element.removeClass(this.options.activeClass),this.options.hoverClass&&this.element.removeClass(this.options.hoverClass),this._trigger("drop",e,this.ui(s)),this.element):!1):!1},ui:function(t){return{draggable:t.currentItem||t.element,helper:t.helper,position:t.position,offset:t.positionAbs}}}),t.ui.intersect=function(t,i,s){if(!i.offset)return!1;var n,a,o=(t.positionAbs||t.position.absolute).left,r=(t.positionAbs||t.position.absolute).top,l=o+t.helperProportions.width,h=r+t.helperProportions.height,c=i.offset.left,u=i.offset.top,d=c+i.proportions().width,p=u+i.proportions().height;switch(s){case"fit":return o>=c&&d>=l&&r>=u&&p>=h;case"intersect":return o+t.helperProportions.width/2>c&&d>l-t.helperProportions.width/2&&r+t.helperProportions.height/2>u&&p>h-t.helperProportions.height/2;case"pointer":return n=(t.positionAbs||t.position.absolute).left+(t.clickOffset||t.offset.click).left,a=(t.positionAbs||t.position.absolute).top+(t.clickOffset||t.offset.click).top,e(a,u,i.proportions().height)&&e(n,c,i.proportions().width);case"touch":return(r>=u&&p>=r||h>=u&&p>=h||u>r&&h>p)&&(o>=c&&d>=o||l>=c&&d>=l||c>o&&l>d);default:return!1}},t.ui.ddmanager={current:null,droppables:{"default":[]},prepareOffsets:function(e,i){var s,n,a=t.ui.ddmanager.droppables[e.options.scope]||[],o=i?i.type:null,r=(e.currentItem||e.element).find(":data(ui-droppable)").addBack();t:for(s=0;a.length>s;s++)if(!(a[s].options.disabled||e&&!a[s].accept.call(a[s].element[0],e.currentItem||e.element))){for(n=0;r.length>n;n++)if(r[n]===a[s].element[0]){a[s].proportions().height=0;continue t}a[s].visible="none"!==a[s].element.css("display"),a[s].visible&&("mousedown"===o&&a[s]._activate.call(a[s],i),a[s].offset=a[s].element.offset(),a[s].proportions({width:a[s].element[0].offsetWidth,height:a[s].element[0].offsetHeight}))}},drop:function(e,i){var s=!1;return t.each((t.ui.ddmanager.droppables[e.options.scope]||[]).slice(),function(){this.options&&(!this.options.disabled&&this.visible&&t.ui.intersect(e,this,this.options.tolerance)&&(s=this._drop.call(this,i)||s),!this.options.disabled&&this.visible&&this.accept.call(this.element[0],e.currentItem||e.element)&&(this.isout=!0,this.isover=!1,this._deactivate.call(this,i)))}),s},dragStart:function(e,i){e.element.parentsUntil("body").bind("scroll.droppable",function(){e.options.refreshPositions||t.ui.ddmanager.prepareOffsets(e,i)})},drag:function(e,i){e.options.refreshPositions&&t.ui.ddmanager.prepareOffsets(e,i),t.each(t.ui.ddmanager.droppables[e.options.scope]||[],function(){if(!this.options.disabled&&!this.greedyChild&&this.visible){var s,n,a,o=t.ui.intersect(e,this,this.options.tolerance),r=!o&&this.isover?"isout":o&&!this.isover?"isover":null;r&&(this.options.greedy&&(n=this.options.scope,a=this.element.parents(":data(ui-droppable)").filter(function(){return t.data(this,"ui-droppable").options.scope===n}),a.length&&(s=t.data(a[0],"ui-droppable"),s.greedyChild="isover"===r)),s&&"isover"===r&&(s.isover=!1,s.isout=!0,s._out.call(s,i)),this[r]=!0,this["isout"===r?"isover":"isout"]=!1,this["isover"===r?"_over":"_out"].call(this,i),s&&"isout"===r&&(s.isout=!1,s.isover=!0,s._over.call(s,i)))}})},dragStop:function(e,i){e.element.parentsUntil("body").unbind("scroll.droppable"),e.options.refreshPositions||t.ui.ddmanager.prepareOffsets(e,i)}}})(jQuery);(function(t){function e(t,e,i){return t>e&&e+i>t}function i(t){return/left|right/.test(t.css("float"))||/inline|table-cell/.test(t.css("display"))}t.widget("ui.sortable",t.ui.mouse,{version:"1.10.4",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,activate:null,beforeStop:null,change:null,deactivate:null,out:null,over:null,receive:null,remove:null,sort:null,start:null,stop:null,update:null},_create:function(){var t=this.options;this.containerCache={},this.element.addClass("ui-sortable"),this.refresh(),this.floating=this.items.length?"x"===t.axis||i(this.items[0].item):!1,this.offset=this.element.offset(),this._mouseInit(),this.ready=!0},_destroy:function(){this.element.removeClass("ui-sortable ui-sortable-disabled"),this._mouseDestroy();for(var t=this.items.length-1;t>=0;t--)this.items[t].item.removeData(this.widgetName+"-item");return this},_setOption:function(e,i){"disabled"===e?(this.options[e]=i,this.widget().toggleClass("ui-sortable-disabled",!!i)):t.Widget.prototype._setOption.apply(this,arguments)},_mouseCapture:function(e,i){var s=null,n=!1,o=this;return this.reverting?!1:this.options.disabled||"static"===this.options.type?!1:(this._refreshItems(e),t(e.target).parents().each(function(){return t.data(this,o.widgetName+"-item")===o?(s=t(this),!1):undefined}),t.data(e.target,o.widgetName+"-item")===o&&(s=t(e.target)),s?!this.options.handle||i||(t(this.options.handle,s).find("*").addBack().each(function(){this===e.target&&(n=!0)}),n)?(this.currentItem=s,this._removeCurrentsFromItems(),!0):!1:!1)},_mouseStart:function(e,i,s){var n,o,a=this.options;if(this.currentContainer=this,this.refreshPositions(),this.helper=this._createHelper(e),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},t.extend(this.offset,{click:{left:e.pageX-this.offset.left,top:e.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(e),this.originalPageX=e.pageX,this.originalPageY=e.pageY,a.cursorAt&&this._adjustOffsetFromHelper(a.cursorAt),this.domPosition={prev:this.currentItem.prev()[0],parent:this.currentItem.parent()[0]},this.helper[0]!==this.currentItem[0]&&this.currentItem.hide(),this._createPlaceholder(),a.containment&&this._setContainment(),a.cursor&&"auto"!==a.cursor&&(o=this.document.find("body"),this.storedCursor=o.css("cursor"),o.css("cursor",a.cursor),this.storedStylesheet=t("<style>*{ cursor: "+a.cursor+" !important; }</style>").appendTo(o)),a.opacity&&(this.helper.css("opacity")&&(this._storedOpacity=this.helper.css("opacity")),this.helper.css("opacity",a.opacity)),a.zIndex&&(this.helper.css("zIndex")&&(this._storedZIndex=this.helper.css("zIndex")),this.helper.css("zIndex",a.zIndex)),this.scrollParent[0]!==document&&"HTML"!==this.scrollParent[0].tagName&&(this.overflowOffset=this.scrollParent.offset()),this._trigger("start",e,this._uiHash()),this._preserveHelperProportions||this._cacheHelperProportions(),!s)for(n=this.containers.length-1;n>=0;n--)this.containers[n]._trigger("activate",e,this._uiHash(this));return t.ui.ddmanager&&(t.ui.ddmanager.current=this),t.ui.ddmanager&&!a.dropBehaviour&&t.ui.ddmanager.prepareOffsets(this,e),this.dragging=!0,this.helper.addClass("ui-sortable-helper"),this._mouseDrag(e),!0},_mouseDrag:function(e){var i,s,n,o,a=this.options,r=!1;for(this.position=this._generatePosition(e),this.positionAbs=this._convertPositionTo("absolute"),this.lastPositionAbs||(this.lastPositionAbs=this.positionAbs),this.options.scroll&&(this.scrollParent[0]!==document&&"HTML"!==this.scrollParent[0].tagName?(this.overflowOffset.top+this.scrollParent[0].offsetHeight-e.pageY<a.scrollSensitivity?this.scrollParent[0].scrollTop=r=this.scrollParent[0].scrollTop+a.scrollSpeed:e.pageY-this.overflowOffset.top<a.scrollSensitivity&&(this.scrollParent[0].scrollTop=r=this.scrollParent[0].scrollTop-a.scrollSpeed),this.overflowOffset.left+this.scrollParent[0].offsetWidth-e.pageX<a.scrollSensitivity?this.scrollParent[0].scrollLeft=r=this.scrollParent[0].scrollLeft+a.scrollSpeed:e.pageX-this.overflowOffset.left<a.scrollSensitivity&&(this.scrollParent[0].scrollLeft=r=this.scrollParent[0].scrollLeft-a.scrollSpeed)):(e.pageY-t(document).scrollTop()<a.scrollSensitivity?r=t(document).scrollTop(t(document).scrollTop()-a.scrollSpeed):t(window).height()-(e.pageY-t(document).scrollTop())<a.scrollSensitivity&&(r=t(document).scrollTop(t(document).scrollTop()+a.scrollSpeed)),e.pageX-t(document).scrollLeft()<a.scrollSensitivity?r=t(document).scrollLeft(t(document).scrollLeft()-a.scrollSpeed):t(window).width()-(e.pageX-t(document).scrollLeft())<a.scrollSensitivity&&(r=t(document).scrollLeft(t(document).scrollLeft()+a.scrollSpeed))),r!==!1&&t.ui.ddmanager&&!a.dropBehaviour&&t.ui.ddmanager.prepareOffsets(this,e)),this.positionAbs=this._convertPositionTo("absolute"),this.options.axis&&"y"===this.options.axis||(this.helper[0].style.left=this.position.left+"px"),this.options.axis&&"x"===this.options.axis||(this.helper[0].style.top=this.position.top+"px"),i=this.items.length-1;i>=0;i--)if(s=this.items[i],n=s.item[0],o=this._intersectsWithPointer(s),o&&s.instance===this.currentContainer&&n!==this.currentItem[0]&&this.placeholder[1===o?"next":"prev"]()[0]!==n&&!t.contains(this.placeholder[0],n)&&("semi-dynamic"===this.options.type?!t.contains(this.element[0],n):!0)){if(this.direction=1===o?"down":"up","pointer"!==this.options.tolerance&&!this._intersectsWithSides(s))break;this._rearrange(e,s),this._trigger("change",e,this._uiHash());break}return this._contactContainers(e),t.ui.ddmanager&&t.ui.ddmanager.drag(this,e),this._trigger("sort",e,this._uiHash()),this.lastPositionAbs=this.positionAbs,!1},_mouseStop:function(e,i){if(e){if(t.ui.ddmanager&&!this.options.dropBehaviour&&t.ui.ddmanager.drop(this,e),this.options.revert){var s=this,n=this.placeholder.offset(),o=this.options.axis,a={};o&&"x"!==o||(a.left=n.left-this.offset.parent.left-this.margins.left+(this.offsetParent[0]===document.body?0:this.offsetParent[0].scrollLeft)),o&&"y"!==o||(a.top=n.top-this.offset.parent.top-this.margins.top+(this.offsetParent[0]===document.body?0:this.offsetParent[0].scrollTop)),this.reverting=!0,t(this.helper).animate(a,parseInt(this.options.revert,10)||500,function(){s._clear(e)})}else this._clear(e,i);return!1}},cancel:function(){if(this.dragging){this._mouseUp({target:null}),"original"===this.options.helper?this.currentItem.css(this._storedCSS).removeClass("ui-sortable-helper"):this.currentItem.show();for(var e=this.containers.length-1;e>=0;e--)this.containers[e]._trigger("deactivate",null,this._uiHash(this)),this.containers[e].containerCache.over&&(this.containers[e]._trigger("out",null,this._uiHash(this)),this.containers[e].containerCache.over=0)}return this.placeholder&&(this.placeholder[0].parentNode&&this.placeholder[0].parentNode.removeChild(this.placeholder[0]),"original"!==this.options.helper&&this.helper&&this.helper[0].parentNode&&this.helper.remove(),t.extend(this,{helper:null,dragging:!1,reverting:!1,_noFinalSort:null}),this.domPosition.prev?t(this.domPosition.prev).after(this.currentItem):t(this.domPosition.parent).prepend(this.currentItem)),this},serialize:function(e){var i=this._getItemsAsjQuery(e&&e.connected),s=[];return e=e||{},t(i).each(function(){var i=(t(e.item||this).attr(e.attribute||"id")||"").match(e.expression||/(.+)[\-=_](.+)/);i&&s.push((e.key||i[1]+"[]")+"="+(e.key&&e.expression?i[1]:i[2]))}),!s.length&&e.key&&s.push(e.key+"="),s.join("&")},toArray:function(e){var i=this._getItemsAsjQuery(e&&e.connected),s=[];return e=e||{},i.each(function(){s.push(t(e.item||this).attr(e.attribute||"id")||"")}),s},_intersectsWith:function(t){var e=this.positionAbs.left,i=e+this.helperProportions.width,s=this.positionAbs.top,n=s+this.helperProportions.height,o=t.left,a=o+t.width,r=t.top,h=r+t.height,l=this.offset.click.top,c=this.offset.click.left,u="x"===this.options.axis||s+l>r&&h>s+l,d="y"===this.options.axis||e+c>o&&a>e+c,p=u&&d;return"pointer"===this.options.tolerance||this.options.forcePointerForContainers||"pointer"!==this.options.tolerance&&this.helperProportions[this.floating?"width":"height"]>t[this.floating?"width":"height"]?p:e+this.helperProportions.width/2>o&&a>i-this.helperProportions.width/2&&s+this.helperProportions.height/2>r&&h>n-this.helperProportions.height/2},_intersectsWithPointer:function(t){var i="x"===this.options.axis||e(this.positionAbs.top+this.offset.click.top,t.top,t.height),s="y"===this.options.axis||e(this.positionAbs.left+this.offset.click.left,t.left,t.width),n=i&&s,o=this._getDragVerticalDirection(),a=this._getDragHorizontalDirection();return n?this.floating?a&&"right"===a||"down"===o?2:1:o&&("down"===o?2:1):!1},_intersectsWithSides:function(t){var i=e(this.positionAbs.top+this.offset.click.top,t.top+t.height/2,t.height),s=e(this.positionAbs.left+this.offset.click.left,t.left+t.width/2,t.width),n=this._getDragVerticalDirection(),o=this._getDragHorizontalDirection();return this.floating&&o?"right"===o&&s||"left"===o&&!s:n&&("down"===n&&i||"up"===n&&!i)},_getDragVerticalDirection:function(){var t=this.positionAbs.top-this.lastPositionAbs.top;return 0!==t&&(t>0?"down":"up")},_getDragHorizontalDirection:function(){var t=this.positionAbs.left-this.lastPositionAbs.left;return 0!==t&&(t>0?"right":"left")},refresh:function(t){return this._refreshItems(t),this.refreshPositions(),this},_connectWith:function(){var t=this.options;return t.connectWith.constructor===String?[t.connectWith]:t.connectWith},_getItemsAsjQuery:function(e){function i(){r.push(this)}var s,n,o,a,r=[],h=[],l=this._connectWith();if(l&&e)for(s=l.length-1;s>=0;s--)for(o=t(l[s]),n=o.length-1;n>=0;n--)a=t.data(o[n],this.widgetFullName),a&&a!==this&&!a.options.disabled&&h.push([t.isFunction(a.options.items)?a.options.items.call(a.element):t(a.options.items,a.element).not(".ui-sortable-helper").not(".ui-sortable-placeholder"),a]);for(h.push([t.isFunction(this.options.items)?this.options.items.call(this.element,null,{options:this.options,item:this.currentItem}):t(this.options.items,this.element).not(".ui-sortable-helper").not(".ui-sortable-placeholder"),this]),s=h.length-1;s>=0;s--)h[s][0].each(i);return t(r)},_removeCurrentsFromItems:function(){var e=this.currentItem.find(":data("+this.widgetName+"-item)");this.items=t.grep(this.items,function(t){for(var i=0;e.length>i;i++)if(e[i]===t.item[0])return!1;return!0})},_refreshItems:function(e){this.items=[],this.containers=[this];var i,s,n,o,a,r,h,l,c=this.items,u=[[t.isFunction(this.options.items)?this.options.items.call(this.element[0],e,{item:this.currentItem}):t(this.options.items,this.element),this]],d=this._connectWith();if(d&&this.ready)for(i=d.length-1;i>=0;i--)for(n=t(d[i]),s=n.length-1;s>=0;s--)o=t.data(n[s],this.widgetFullName),o&&o!==this&&!o.options.disabled&&(u.push([t.isFunction(o.options.items)?o.options.items.call(o.element[0],e,{item:this.currentItem}):t(o.options.items,o.element),o]),this.containers.push(o));for(i=u.length-1;i>=0;i--)for(a=u[i][1],r=u[i][0],s=0,l=r.length;l>s;s++)h=t(r[s]),h.data(this.widgetName+"-item",a),c.push({item:h,instance:a,width:0,height:0,left:0,top:0})},refreshPositions:function(e){this.offsetParent&&this.helper&&(this.offset.parent=this._getParentOffset());var i,s,n,o;for(i=this.items.length-1;i>=0;i--)s=this.items[i],s.instance!==this.currentContainer&&this.currentContainer&&s.item[0]!==this.currentItem[0]||(n=this.options.toleranceElement?t(this.options.toleranceElement,s.item):s.item,e||(s.width=n.outerWidth(),s.height=n.outerHeight()),o=n.offset(),s.left=o.left,s.top=o.top);if(this.options.custom&&this.options.custom.refreshContainers)this.options.custom.refreshContainers.call(this);else for(i=this.containers.length-1;i>=0;i--)o=this.containers[i].element.offset(),this.containers[i].containerCache.left=o.left,this.containers[i].containerCache.top=o.top,this.containers[i].containerCache.width=this.containers[i].element.outerWidth(),this.containers[i].containerCache.height=this.containers[i].element.outerHeight();return this},_createPlaceholder:function(e){e=e||this;var i,s=e.options;s.placeholder&&s.placeholder.constructor!==String||(i=s.placeholder,s.placeholder={element:function(){var s=e.currentItem[0].nodeName.toLowerCase(),n=t("<"+s+">",e.document[0]).addClass(i||e.currentItem[0].className+" ui-sortable-placeholder").removeClass("ui-sortable-helper");return"tr"===s?e.currentItem.children().each(function(){t("<td> </td>",e.document[0]).attr("colspan",t(this).attr("colspan")||1).appendTo(n)}):"img"===s&&n.attr("src",e.currentItem.attr("src")),i||n.css("visibility","hidden"),n},update:function(t,n){(!i||s.forcePlaceholderSize)&&(n.height()||n.height(e.currentItem.innerHeight()-parseInt(e.currentItem.css("paddingTop")||0,10)-parseInt(e.currentItem.css("paddingBottom")||0,10)),n.width()||n.width(e.currentItem.innerWidth()-parseInt(e.currentItem.css("paddingLeft")||0,10)-parseInt(e.currentItem.css("paddingRight")||0,10)))}}),e.placeholder=t(s.placeholder.element.call(e.element,e.currentItem)),e.currentItem.after(e.placeholder),s.placeholder.update(e,e.placeholder)},_contactContainers:function(s){var n,o,a,r,h,l,c,u,d,p,f=null,g=null;for(n=this.containers.length-1;n>=0;n--)if(!t.contains(this.currentItem[0],this.containers[n].element[0]))if(this._intersectsWith(this.containers[n].containerCache)){if(f&&t.contains(this.containers[n].element[0],f.element[0]))continue;f=this.containers[n],g=n}else this.containers[n].containerCache.over&&(this.containers[n]._trigger("out",s,this._uiHash(this)),this.containers[n].containerCache.over=0);if(f)if(1===this.containers.length)this.containers[g].containerCache.over||(this.containers[g]._trigger("over",s,this._uiHash(this)),this.containers[g].containerCache.over=1);else{for(a=1e4,r=null,p=f.floating||i(this.currentItem),h=p?"left":"top",l=p?"width":"height",c=this.positionAbs[h]+this.offset.click[h],o=this.items.length-1;o>=0;o--)t.contains(this.containers[g].element[0],this.items[o].item[0])&&this.items[o].item[0]!==this.currentItem[0]&&(!p||e(this.positionAbs.top+this.offset.click.top,this.items[o].top,this.items[o].height))&&(u=this.items[o].item.offset()[h],d=!1,Math.abs(u-c)>Math.abs(u+this.items[o][l]-c)&&(d=!0,u+=this.items[o][l]),a>Math.abs(u-c)&&(a=Math.abs(u-c),r=this.items[o],this.direction=d?"up":"down"));if(!r&&!this.options.dropOnEmpty)return;if(this.currentContainer===this.containers[g])return;r?this._rearrange(s,r,null,!0):this._rearrange(s,null,this.containers[g].element,!0),this._trigger("change",s,this._uiHash()),this.containers[g]._trigger("change",s,this._uiHash(this)),this.currentContainer=this.containers[g],this.options.placeholder.update(this.currentContainer,this.placeholder),this.containers[g]._trigger("over",s,this._uiHash(this)),this.containers[g].containerCache.over=1}},_createHelper:function(e){var i=this.options,s=t.isFunction(i.helper)?t(i.helper.apply(this.element[0],[e,this.currentItem])):"clone"===i.helper?this.currentItem.clone():this.currentItem;return s.parents("body").length||t("parent"!==i.appendTo?i.appendTo:this.currentItem[0].parentNode)[0].appendChild(s[0]),s[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")}),(!s[0].style.width||i.forceHelperSize)&&s.width(this.currentItem.width()),(!s[0].style.height||i.forceHelperSize)&&s.height(this.currentItem.height()),s},_adjustOffsetFromHelper:function(e){"string"==typeof e&&(e=e.split(" ")),t.isArray(e)&&(e={left:+e[0],top:+e[1]||0}),"left"in e&&(this.offset.click.left=e.left+this.margins.left),"right"in e&&(this.offset.click.left=this.helperProportions.width-e.right+this.margins.left),"top"in e&&(this.offset.click.top=e.top+this.margins.top),"bottom"in e&&(this.offset.click.top=this.helperProportions.height-e.bottom+this.margins.top)},_getParentOffset:function(){this.offsetParent=this.helper.offsetParent();var e=this.offsetParent.offset();return"absolute"===this.cssPosition&&this.scrollParent[0]!==document&&t.contains(this.scrollParent[0],this.offsetParent[0])&&(e.left+=this.scrollParent.scrollLeft(),e.top+=this.scrollParent.scrollTop()),(this.offsetParent[0]===document.body||this.offsetParent[0].tagName&&"html"===this.offsetParent[0].tagName.toLowerCase()&&t.ui.ie)&&(e={top:0,left:0}),{top:e.top+(parseInt(this.offsetParent.css("borderTopWidth"),10)||0),left:e.left+(parseInt(this.offsetParent.css("borderLeftWidth"),10)||0)}},_getRelativeOffset:function(){if("relative"===this.cssPosition){var t=this.currentItem.position();return{top:t.top-(parseInt(this.helper.css("top"),10)||0)+this.scrollParent.scrollTop(),left:t.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 e,i,s,n=this.options;"parent"===n.containment&&(n.containment=this.helper[0].parentNode),("document"===n.containment||"window"===n.containment)&&(this.containment=[0-this.offset.relative.left-this.offset.parent.left,0-this.offset.relative.top-this.offset.parent.top,t("document"===n.containment?document:window).width()-this.helperProportions.width-this.margins.left,(t("document"===n.containment?document:window).height()||document.body.parentNode.scrollHeight)-this.helperProportions.height-this.margins.top]),/^(document|window|parent)$/.test(n.containment)||(e=t(n.containment)[0],i=t(n.containment).offset(),s="hidden"!==t(e).css("overflow"),this.containment=[i.left+(parseInt(t(e).css("borderLeftWidth"),10)||0)+(parseInt(t(e).css("paddingLeft"),10)||0)-this.margins.left,i.top+(parseInt(t(e).css("borderTopWidth"),10)||0)+(parseInt(t(e).css("paddingTop"),10)||0)-this.margins.top,i.left+(s?Math.max(e.scrollWidth,e.offsetWidth):e.offsetWidth)-(parseInt(t(e).css("borderLeftWidth"),10)||0)-(parseInt(t(e).css("paddingRight"),10)||0)-this.helperProportions.width-this.margins.left,i.top+(s?Math.max(e.scrollHeight,e.offsetHeight):e.offsetHeight)-(parseInt(t(e).css("borderTopWidth"),10)||0)-(parseInt(t(e).css("paddingBottom"),10)||0)-this.helperProportions.height-this.margins.top])},_convertPositionTo:function(e,i){i||(i=this.position);var s="absolute"===e?1:-1,n="absolute"!==this.cssPosition||this.scrollParent[0]!==document&&t.contains(this.scrollParent[0],this.offsetParent[0])?this.scrollParent:this.offsetParent,o=/(html|body)/i.test(n[0].tagName);return{top:i.top+this.offset.relative.top*s+this.offset.parent.top*s-("fixed"===this.cssPosition?-this.scrollParent.scrollTop():o?0:n.scrollTop())*s,left:i.left+this.offset.relative.left*s+this.offset.parent.left*s-("fixed"===this.cssPosition?-this.scrollParent.scrollLeft():o?0:n.scrollLeft())*s}},_generatePosition:function(e){var i,s,n=this.options,o=e.pageX,a=e.pageY,r="absolute"!==this.cssPosition||this.scrollParent[0]!==document&&t.contains(this.scrollParent[0],this.offsetParent[0])?this.scrollParent:this.offsetParent,h=/(html|body)/i.test(r[0].tagName);return"relative"!==this.cssPosition||this.scrollParent[0]!==document&&this.scrollParent[0]!==this.offsetParent[0]||(this.offset.relative=this._getRelativeOffset()),this.originalPosition&&(this.containment&&(e.pageX-this.offset.click.left<this.containment[0]&&(o=this.containment[0]+this.offset.click.left),e.pageY-this.offset.click.top<this.containment[1]&&(a=this.containment[1]+this.offset.click.top),e.pageX-this.offset.click.left>this.containment[2]&&(o=this.containment[2]+this.offset.click.left),e.pageY-this.offset.click.top>this.containment[3]&&(a=this.containment[3]+this.offset.click.top)),n.grid&&(i=this.originalPageY+Math.round((a-this.originalPageY)/n.grid[1])*n.grid[1],a=this.containment?i-this.offset.click.top>=this.containment[1]&&i-this.offset.click.top<=this.containment[3]?i:i-this.offset.click.top>=this.containment[1]?i-n.grid[1]:i+n.grid[1]:i,s=this.originalPageX+Math.round((o-this.originalPageX)/n.grid[0])*n.grid[0],o=this.containment?s-this.offset.click.left>=this.containment[0]&&s-this.offset.click.left<=this.containment[2]?s:s-this.offset.click.left>=this.containment[0]?s-n.grid[0]:s+n.grid[0]:s)),{top:a-this.offset.click.top-this.offset.relative.top-this.offset.parent.top+("fixed"===this.cssPosition?-this.scrollParent.scrollTop():h?0:r.scrollTop()),left:o-this.offset.click.left-this.offset.relative.left-this.offset.parent.left+("fixed"===this.cssPosition?-this.scrollParent.scrollLeft():h?0:r.scrollLeft())}},_rearrange:function(t,e,i,s){i?i[0].appendChild(this.placeholder[0]):e.item[0].parentNode.insertBefore(this.placeholder[0],"down"===this.direction?e.item[0]:e.item[0].nextSibling),this.counter=this.counter?++this.counter:1;var n=this.counter;this._delay(function(){n===this.counter&&this.refreshPositions(!s)})},_clear:function(t,e){function i(t,e,i){return function(s){i._trigger(t,s,e._uiHash(e))}}this.reverting=!1;var s,n=[];if(!this._noFinalSort&&this.currentItem.parent().length&&this.placeholder.before(this.currentItem),this._noFinalSort=null,this.helper[0]===this.currentItem[0]){for(s in this._storedCSS)("auto"===this._storedCSS[s]||"static"===this._storedCSS[s])&&(this._storedCSS[s]="");this.currentItem.css(this._storedCSS).removeClass("ui-sortable-helper")}else this.currentItem.show();for(this.fromOutside&&!e&&n.push(function(t){this._trigger("receive",t,this._uiHash(this.fromOutside))}),!this.fromOutside&&this.domPosition.prev===this.currentItem.prev().not(".ui-sortable-helper")[0]&&this.domPosition.parent===this.currentItem.parent()[0]||e||n.push(function(t){this._trigger("update",t,this._uiHash())}),this!==this.currentContainer&&(e||(n.push(function(t){this._trigger("remove",t,this._uiHash())}),n.push(function(t){return function(e){t._trigger("receive",e,this._uiHash(this))}}.call(this,this.currentContainer)),n.push(function(t){return function(e){t._trigger("update",e,this._uiHash(this))}}.call(this,this.currentContainer)))),s=this.containers.length-1;s>=0;s--)e||n.push(i("deactivate",this,this.containers[s])),this.containers[s].containerCache.over&&(n.push(i("out",this,this.containers[s])),this.containers[s].containerCache.over=0);if(this.storedCursor&&(this.document.find("body").css("cursor",this.storedCursor),this.storedStylesheet.remove()),this._storedOpacity&&this.helper.css("opacity",this._storedOpacity),this._storedZIndex&&this.helper.css("zIndex","auto"===this._storedZIndex?"":this._storedZIndex),this.dragging=!1,this.cancelHelperRemoval){if(!e){for(this._trigger("beforeStop",t,this._uiHash()),s=0;n.length>s;s++)n[s].call(this,t);this._trigger("stop",t,this._uiHash())}return this.fromOutside=!1,!1}if(e||this._trigger("beforeStop",t,this._uiHash()),this.placeholder[0].parentNode.removeChild(this.placeholder[0]),this.helper[0]!==this.currentItem[0]&&this.helper.remove(),this.helper=null,!e){for(s=0;n.length>s;s++)n[s].call(this,t);this._trigger("stop",t,this._uiHash())}return this.fromOutside=!1,!0},_trigger:function(){t.Widget.prototype._trigger.apply(this,arguments)===!1&&this.cancel()},_uiHash:function(e){var i=e||this;return{helper:i.helper,placeholder:i.placeholder||t([]),position:i.position,originalPosition:i.originalPosition,offset:i.positionAbs,item:i.currentItem,sender:e?e.element:null}}})})(jQuery);(function(e){var t=0,i={},a={};i.height=i.paddingTop=i.paddingBottom=i.borderTopWidth=i.borderBottomWidth="hide",a.height=a.paddingTop=a.paddingBottom=a.borderTopWidth=a.borderBottomWidth="show",e.widget("ui.accordion",{version:"1.10.4",options:{active:0,animate:{},collapsible:!1,event:"click",header:"> li > :first-child,> :not(li):even",heightStyle:"auto",icons:{activeHeader:"ui-icon-triangle-1-s",header:"ui-icon-triangle-1-e"},activate:null,beforeActivate:null},_create:function(){var t=this.options;this.prevShow=this.prevHide=e(),this.element.addClass("ui-accordion ui-widget ui-helper-reset").attr("role","tablist"),t.collapsible||t.active!==!1&&null!=t.active||(t.active=0),this._processPanels(),0>t.active&&(t.active+=this.headers.length),this._refresh()},_getCreateEventData:function(){return{header:this.active,panel:this.active.length?this.active.next():e(),content:this.active.length?this.active.next():e()}},_createIcons:function(){var t=this.options.icons;t&&(e("<span>").addClass("ui-accordion-header-icon ui-icon "+t.header).prependTo(this.headers),this.active.children(".ui-accordion-header-icon").removeClass(t.header).addClass(t.activeHeader),this.headers.addClass("ui-accordion-icons"))},_destroyIcons:function(){this.headers.removeClass("ui-accordion-icons").children(".ui-accordion-header-icon").remove()},_destroy:function(){var e;this.element.removeClass("ui-accordion ui-widget ui-helper-reset").removeAttr("role"),this.headers.removeClass("ui-accordion-header ui-accordion-header-active 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("aria-controls").removeAttr("tabIndex").each(function(){/^ui-accordion/.test(this.id)&&this.removeAttribute("id")}),this._destroyIcons(),e=this.headers.next().css("display","").removeAttr("role").removeAttr("aria-hidden").removeAttr("aria-labelledby").removeClass("ui-helper-reset ui-widget-content ui-corner-bottom ui-accordion-content ui-accordion-content-active ui-state-disabled").each(function(){/^ui-accordion/.test(this.id)&&this.removeAttribute("id")}),"content"!==this.options.heightStyle&&e.css("height","")},_setOption:function(e,t){return"active"===e?(this._activate(t),undefined):("event"===e&&(this.options.event&&this._off(this.headers,this.options.event),this._setupEvents(t)),this._super(e,t),"collapsible"!==e||t||this.options.active!==!1||this._activate(0),"icons"===e&&(this._destroyIcons(),t&&this._createIcons()),"disabled"===e&&this.headers.add(this.headers.next()).toggleClass("ui-state-disabled",!!t),undefined)},_keydown:function(t){if(!t.altKey&&!t.ctrlKey){var i=e.ui.keyCode,a=this.headers.length,s=this.headers.index(t.target),n=!1;switch(t.keyCode){case i.RIGHT:case i.DOWN:n=this.headers[(s+1)%a];break;case i.LEFT:case i.UP:n=this.headers[(s-1+a)%a];break;case i.SPACE:case i.ENTER:this._eventHandler(t);break;case i.HOME:n=this.headers[0];break;case i.END:n=this.headers[a-1]}n&&(e(t.target).attr("tabIndex",-1),e(n).attr("tabIndex",0),n.focus(),t.preventDefault())}},_panelKeyDown:function(t){t.keyCode===e.ui.keyCode.UP&&t.ctrlKey&&e(t.currentTarget).prev().focus()},refresh:function(){var t=this.options;this._processPanels(),t.active===!1&&t.collapsible===!0||!this.headers.length?(t.active=!1,this.active=e()):t.active===!1?this._activate(0):this.active.length&&!e.contains(this.element[0],this.active[0])?this.headers.length===this.headers.find(".ui-state-disabled").length?(t.active=!1,this.active=e()):this._activate(Math.max(0,t.active-1)):t.active=this.headers.index(this.active),this._destroyIcons(),this._refresh()},_processPanels:function(){this.headers=this.element.find(this.options.header).addClass("ui-accordion-header ui-helper-reset ui-state-default ui-corner-all"),this.headers.next().addClass("ui-accordion-content ui-helper-reset ui-widget-content ui-corner-bottom").filter(":not(.ui-accordion-content-active)").hide()},_refresh:function(){var i,a=this.options,s=a.heightStyle,n=this.element.parent(),r=this.accordionId="ui-accordion-"+(this.element.attr("id")||++t);this.active=this._findActive(a.active).addClass("ui-accordion-header-active ui-state-active ui-corner-top").removeClass("ui-corner-all"),this.active.next().addClass("ui-accordion-content-active").show(),this.headers.attr("role","tab").each(function(t){var i=e(this),a=i.attr("id"),s=i.next(),n=s.attr("id");a||(a=r+"-header-"+t,i.attr("id",a)),n||(n=r+"-panel-"+t,s.attr("id",n)),i.attr("aria-controls",n),s.attr("aria-labelledby",a)}).next().attr("role","tabpanel"),this.headers.not(this.active).attr({"aria-selected":"false","aria-expanded":"false",tabIndex:-1}).next().attr({"aria-hidden":"true"}).hide(),this.active.length?this.active.attr({"aria-selected":"true","aria-expanded":"true",tabIndex:0}).next().attr({"aria-hidden":"false"}):this.headers.eq(0).attr("tabIndex",0),this._createIcons(),this._setupEvents(a.event),"fill"===s?(i=n.height(),this.element.siblings(":visible").each(function(){var t=e(this),a=t.css("position");"absolute"!==a&&"fixed"!==a&&(i-=t.outerHeight(!0))}),this.headers.each(function(){i-=e(this).outerHeight(!0)}),this.headers.next().each(function(){e(this).height(Math.max(0,i-e(this).innerHeight()+e(this).height()))}).css("overflow","auto")):"auto"===s&&(i=0,this.headers.next().each(function(){i=Math.max(i,e(this).css("height","").height())}).height(i))},_activate:function(t){var i=this._findActive(t)[0];i!==this.active[0]&&(i=i||this.active[0],this._eventHandler({target:i,currentTarget:i,preventDefault:e.noop}))},_findActive:function(t){return"number"==typeof t?this.headers.eq(t):e()},_setupEvents:function(t){var i={keydown:"_keydown"};t&&e.each(t.split(" "),function(e,t){i[t]="_eventHandler"}),this._off(this.headers.add(this.headers.next())),this._on(this.headers,i),this._on(this.headers.next(),{keydown:"_panelKeyDown"}),this._hoverable(this.headers),this._focusable(this.headers)},_eventHandler:function(t){var i=this.options,a=this.active,s=e(t.currentTarget),n=s[0]===a[0],r=n&&i.collapsible,o=r?e():s.next(),h=a.next(),d={oldHeader:a,oldPanel:h,newHeader:r?e():s,newPanel:o};t.preventDefault(),n&&!i.collapsible||this._trigger("beforeActivate",t,d)===!1||(i.active=r?!1:this.headers.index(s),this.active=n?e():s,this._toggle(d),a.removeClass("ui-accordion-header-active ui-state-active"),i.icons&&a.children(".ui-accordion-header-icon").removeClass(i.icons.activeHeader).addClass(i.icons.header),n||(s.removeClass("ui-corner-all").addClass("ui-accordion-header-active ui-state-active ui-corner-top"),i.icons&&s.children(".ui-accordion-header-icon").removeClass(i.icons.header).addClass(i.icons.activeHeader),s.next().addClass("ui-accordion-content-active")))},_toggle:function(t){var i=t.newPanel,a=this.prevShow.length?this.prevShow:t.oldPanel;this.prevShow.add(this.prevHide).stop(!0,!0),this.prevShow=i,this.prevHide=a,this.options.animate?this._animate(i,a,t):(a.hide(),i.show(),this._toggleComplete(t)),a.attr({"aria-hidden":"true"}),a.prev().attr("aria-selected","false"),i.length&&a.length?a.prev().attr({tabIndex:-1,"aria-expanded":"false"}):i.length&&this.headers.filter(function(){return 0===e(this).attr("tabIndex")}).attr("tabIndex",-1),i.attr("aria-hidden","false").prev().attr({"aria-selected":"true",tabIndex:0,"aria-expanded":"true"})},_animate:function(e,t,s){var n,r,o,h=this,d=0,c=e.length&&(!t.length||e.index()<t.index()),l=this.options.animate||{},u=c&&l.down||l,v=function(){h._toggleComplete(s)};return"number"==typeof u&&(o=u),"string"==typeof u&&(r=u),r=r||u.easing||l.easing,o=o||u.duration||l.duration,t.length?e.length?(n=e.show().outerHeight(),t.animate(i,{duration:o,easing:r,step:function(e,t){t.now=Math.round(e)}}),e.hide().animate(a,{duration:o,easing:r,complete:v,step:function(e,i){i.now=Math.round(e),"height"!==i.prop?d+=i.now:"content"!==h.options.heightStyle&&(i.now=Math.round(n-t.outerHeight()-d),d=0)}}),undefined):t.animate(i,o,r,v):e.animate(a,o,r,v)},_toggleComplete:function(e){var t=e.oldPanel;t.removeClass("ui-accordion-content-active").prev().removeClass("ui-corner-top").addClass("ui-corner-all"),t.length&&(t.parent()[0].className=t.parent()[0].className),this._trigger("activate",null,e)}})})(jQuery);(function(e){e.widget("ui.autocomplete",{version:"1.10.4",defaultElement:"<input>",options:{appendTo:null,autoFocus:!1,delay:300,minLength:1,position:{my:"left top",at:"left bottom",collision:"none"},source:null,change:null,close:null,focus:null,open:null,response:null,search:null,select:null},requestIndex:0,pending:0,_create:function(){var t,i,s,n=this.element[0].nodeName.toLowerCase(),a="textarea"===n,o="input"===n;this.isMultiLine=a?!0:o?!1:this.element.prop("isContentEditable"),this.valueMethod=this.element[a||o?"val":"text"],this.isNewMenu=!0,this.element.addClass("ui-autocomplete-input").attr("autocomplete","off"),this._on(this.element,{keydown:function(n){if(this.element.prop("readOnly"))return t=!0,s=!0,i=!0,undefined;t=!1,s=!1,i=!1;var a=e.ui.keyCode;switch(n.keyCode){case a.PAGE_UP:t=!0,this._move("previousPage",n);break;case a.PAGE_DOWN:t=!0,this._move("nextPage",n);break;case a.UP:t=!0,this._keyEvent("previous",n);break;case a.DOWN:t=!0,this._keyEvent("next",n);break;case a.ENTER:case a.NUMPAD_ENTER:this.menu.active&&(t=!0,n.preventDefault(),this.menu.select(n));break;case a.TAB:this.menu.active&&this.menu.select(n);break;case a.ESCAPE:this.menu.element.is(":visible")&&(this._value(this.term),this.close(n),n.preventDefault());break;default:i=!0,this._searchTimeout(n)}},keypress:function(s){if(t)return t=!1,(!this.isMultiLine||this.menu.element.is(":visible"))&&s.preventDefault(),undefined;if(!i){var n=e.ui.keyCode;switch(s.keyCode){case n.PAGE_UP:this._move("previousPage",s);break;case n.PAGE_DOWN:this._move("nextPage",s);break;case n.UP:this._keyEvent("previous",s);break;case n.DOWN:this._keyEvent("next",s)}}},input:function(e){return s?(s=!1,e.preventDefault(),undefined):(this._searchTimeout(e),undefined)},focus:function(){this.selectedItem=null,this.previous=this._value()},blur:function(e){return this.cancelBlur?(delete this.cancelBlur,undefined):(clearTimeout(this.searching),this.close(e),this._change(e),undefined)}}),this._initSource(),this.menu=e("<ul>").addClass("ui-autocomplete ui-front").appendTo(this._appendTo()).menu({role:null}).hide().data("ui-menu"),this._on(this.menu.element,{mousedown:function(t){t.preventDefault(),this.cancelBlur=!0,this._delay(function(){delete this.cancelBlur});var i=this.menu.element[0];e(t.target).closest(".ui-menu-item").length||this._delay(function(){var t=this;this.document.one("mousedown",function(s){s.target===t.element[0]||s.target===i||e.contains(i,s.target)||t.close()})})},menufocus:function(t,i){if(this.isNewMenu&&(this.isNewMenu=!1,t.originalEvent&&/^mouse/.test(t.originalEvent.type)))return this.menu.blur(),this.document.one("mousemove",function(){e(t.target).trigger(t.originalEvent)}),undefined;var s=i.item.data("ui-autocomplete-item");!1!==this._trigger("focus",t,{item:s})?t.originalEvent&&/^key/.test(t.originalEvent.type)&&this._value(s.value):this.liveRegion.text(s.value)},menuselect:function(e,t){var i=t.item.data("ui-autocomplete-item"),s=this.previous;this.element[0]!==this.document[0].activeElement&&(this.element.focus(),this.previous=s,this._delay(function(){this.previous=s,this.selectedItem=i})),!1!==this._trigger("select",e,{item:i})&&this._value(i.value),this.term=this._value(),this.close(e),this.selectedItem=i}}),this.liveRegion=e("<span>",{role:"status","aria-live":"polite"}).addClass("ui-helper-hidden-accessible").insertBefore(this.element),this._on(this.window,{beforeunload:function(){this.element.removeAttr("autocomplete")}})},_destroy:function(){clearTimeout(this.searching),this.element.removeClass("ui-autocomplete-input").removeAttr("autocomplete"),this.menu.element.remove(),this.liveRegion.remove()},_setOption:function(e,t){this._super(e,t),"source"===e&&this._initSource(),"appendTo"===e&&this.menu.element.appendTo(this._appendTo()),"disabled"===e&&t&&this.xhr&&this.xhr.abort()},_appendTo:function(){var t=this.options.appendTo;return t&&(t=t.jquery||t.nodeType?e(t):this.document.find(t).eq(0)),t||(t=this.element.closest(".ui-front")),t.length||(t=this.document[0].body),t},_initSource:function(){var t,i,s=this;e.isArray(this.options.source)?(t=this.options.source,this.source=function(i,s){s(e.ui.autocomplete.filter(t,i.term))}):"string"==typeof this.options.source?(i=this.options.source,this.source=function(t,n){s.xhr&&s.xhr.abort(),s.xhr=e.ajax({url:i,data:t,dataType:"json",success:function(e){n(e)},error:function(){n([])}})}):this.source=this.options.source},_searchTimeout:function(e){clearTimeout(this.searching),this.searching=this._delay(function(){this.term!==this._value()&&(this.selectedItem=null,this.search(null,e))},this.options.delay)},search:function(e,t){return e=null!=e?e:this._value(),this.term=this._value(),e.length<this.options.minLength?this.close(t):this._trigger("search",t)!==!1?this._search(e):undefined},_search:function(e){this.pending++,this.element.addClass("ui-autocomplete-loading"),this.cancelSearch=!1,this.source({term:e},this._response())},_response:function(){var t=++this.requestIndex;return e.proxy(function(e){t===this.requestIndex&&this.__response(e),this.pending--,this.pending||this.element.removeClass("ui-autocomplete-loading")},this)},__response:function(e){e&&(e=this._normalize(e)),this._trigger("response",null,{content:e}),!this.options.disabled&&e&&e.length&&!this.cancelSearch?(this._suggest(e),this._trigger("open")):this._close()},close:function(e){this.cancelSearch=!0,this._close(e)},_close:function(e){this.menu.element.is(":visible")&&(this.menu.element.hide(),this.menu.blur(),this.isNewMenu=!0,this._trigger("close",e))},_change:function(e){this.previous!==this._value()&&this._trigger("change",e,{item:this.selectedItem})},_normalize:function(t){return t.length&&t[0].label&&t[0].value?t:e.map(t,function(t){return"string"==typeof t?{label:t,value:t}:e.extend({label:t.label||t.value,value:t.value||t.label},t)})},_suggest:function(t){var i=this.menu.element.empty();this._renderMenu(i,t),this.isNewMenu=!0,this.menu.refresh(),i.show(),this._resizeMenu(),i.position(e.extend({of:this.element},this.options.position)),this.options.autoFocus&&this.menu.next()},_resizeMenu:function(){var e=this.menu.element;e.outerWidth(Math.max(e.width("").outerWidth()+1,this.element.outerWidth()))},_renderMenu:function(t,i){var s=this;e.each(i,function(e,i){s._renderItemData(t,i)})},_renderItemData:function(e,t){return this._renderItem(e,t).data("ui-autocomplete-item",t)},_renderItem:function(t,i){return e("<li>").append(e("<a>").text(i.label)).appendTo(t)},_move:function(e,t){return this.menu.element.is(":visible")?this.menu.isFirstItem()&&/^previous/.test(e)||this.menu.isLastItem()&&/^next/.test(e)?(this._value(this.term),this.menu.blur(),undefined):(this.menu[e](t),undefined):(this.search(null,t),undefined)},widget:function(){return this.menu.element},_value:function(){return this.valueMethod.apply(this.element,arguments)},_keyEvent:function(e,t){(!this.isMultiLine||this.menu.element.is(":visible"))&&(this._move(e,t),t.preventDefault())}}),e.extend(e.ui.autocomplete,{escapeRegex:function(e){return e.replace(/[\-\[\]{}()*+?.,\\\^$|#\s]/g,"\\$&")},filter:function(t,i){var s=RegExp(e.ui.autocomplete.escapeRegex(i),"i");return e.grep(t,function(e){return s.test(e.label||e.value||e)})}}),e.widget("ui.autocomplete",e.ui.autocomplete,{options:{messages:{noResults:"No search results.",results:function(e){return e+(e>1?" results are":" result is")+" available, use up and down arrow keys to navigate."}}},__response:function(e){var t;this._superApply(arguments),this.options.disabled||this.cancelSearch||(t=e&&e.length?this.options.messages.results(e.length):this.options.messages.noResults,this.liveRegion.text(t))}})})(jQuery);(function(e){var t,i="ui-button ui-widget ui-state-default ui-corner-all",n="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",s=function(){var t=e(this);setTimeout(function(){t.find(":ui-button").button("refresh")},1)},a=function(t){var i=t.name,n=t.form,s=e([]);return i&&(i=i.replace(/'/g,"\\'"),s=n?e(n).find("[name='"+i+"']"):e("[name='"+i+"']",t.ownerDocument).filter(function(){return!this.form})),s};e.widget("ui.button",{version:"1.10.4",defaultElement:"<button>",options:{disabled:null,text:!0,label:null,icons:{primary:null,secondary:null}},_create:function(){this.element.closest("form").unbind("reset"+this.eventNamespace).bind("reset"+this.eventNamespace,s),"boolean"!=typeof this.options.disabled?this.options.disabled=!!this.element.prop("disabled"):this.element.prop("disabled",this.options.disabled),this._determineButtonType(),this.hasTitle=!!this.buttonElement.attr("title");var n=this,o=this.options,r="checkbox"===this.type||"radio"===this.type,h=r?"":"ui-state-active";null===o.label&&(o.label="input"===this.type?this.buttonElement.val():this.buttonElement.html()),this._hoverable(this.buttonElement),this.buttonElement.addClass(i).attr("role","button").bind("mouseenter"+this.eventNamespace,function(){o.disabled||this===t&&e(this).addClass("ui-state-active")}).bind("mouseleave"+this.eventNamespace,function(){o.disabled||e(this).removeClass(h)}).bind("click"+this.eventNamespace,function(e){o.disabled&&(e.preventDefault(),e.stopImmediatePropagation())}),this._on({focus:function(){this.buttonElement.addClass("ui-state-focus")},blur:function(){this.buttonElement.removeClass("ui-state-focus")}}),r&&this.element.bind("change"+this.eventNamespace,function(){n.refresh()}),"checkbox"===this.type?this.buttonElement.bind("click"+this.eventNamespace,function(){return o.disabled?!1:undefined}):"radio"===this.type?this.buttonElement.bind("click"+this.eventNamespace,function(){if(o.disabled)return!1;e(this).addClass("ui-state-active"),n.buttonElement.attr("aria-pressed","true");var t=n.element[0];a(t).not(t).map(function(){return e(this).button("widget")[0]}).removeClass("ui-state-active").attr("aria-pressed","false")}):(this.buttonElement.bind("mousedown"+this.eventNamespace,function(){return o.disabled?!1:(e(this).addClass("ui-state-active"),t=this,n.document.one("mouseup",function(){t=null}),undefined)}).bind("mouseup"+this.eventNamespace,function(){return o.disabled?!1:(e(this).removeClass("ui-state-active"),undefined)}).bind("keydown"+this.eventNamespace,function(t){return o.disabled?!1:((t.keyCode===e.ui.keyCode.SPACE||t.keyCode===e.ui.keyCode.ENTER)&&e(this).addClass("ui-state-active"),undefined)}).bind("keyup"+this.eventNamespace+" blur"+this.eventNamespace,function(){e(this).removeClass("ui-state-active")}),this.buttonElement.is("a")&&this.buttonElement.keyup(function(t){t.keyCode===e.ui.keyCode.SPACE&&e(this).click()})),this._setOption("disabled",o.disabled),this._resetButton()},_determineButtonType:function(){var e,t,i;this.type=this.element.is("[type=checkbox]")?"checkbox":this.element.is("[type=radio]")?"radio":this.element.is("input")?"input":"button","checkbox"===this.type||"radio"===this.type?(e=this.element.parents().last(),t="label[for='"+this.element.attr("id")+"']",this.buttonElement=e.find(t),this.buttonElement.length||(e=e.length?e.siblings():this.element.siblings(),this.buttonElement=e.filter(t),this.buttonElement.length||(this.buttonElement=e.find(t))),this.element.addClass("ui-helper-hidden-accessible"),i=this.element.is(":checked"),i&&this.buttonElement.addClass("ui-state-active"),this.buttonElement.prop("aria-pressed",i)):this.buttonElement=this.element},widget:function(){return this.buttonElement},_destroy:function(){this.element.removeClass("ui-helper-hidden-accessible"),this.buttonElement.removeClass(i+" ui-state-active "+n).removeAttr("role").removeAttr("aria-pressed").html(this.buttonElement.find(".ui-button-text").html()),this.hasTitle||this.buttonElement.removeAttr("title")},_setOption:function(e,t){return this._super(e,t),"disabled"===e?(this.element.prop("disabled",!!t),t&&this.buttonElement.removeClass("ui-state-focus"),undefined):(this._resetButton(),undefined)},refresh:function(){var t=this.element.is("input, button")?this.element.is(":disabled"):this.element.hasClass("ui-button-disabled");t!==this.options.disabled&&this._setOption("disabled",t),"radio"===this.type?a(this.element[0]).each(function(){e(this).is(":checked")?e(this).button("widget").addClass("ui-state-active").attr("aria-pressed","true"):e(this).button("widget").removeClass("ui-state-active").attr("aria-pressed","false")}):"checkbox"===this.type&&(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("input"===this.type)return this.options.label&&this.element.val(this.options.label),undefined;var t=this.buttonElement.removeClass(n),i=e("<span></span>",this.document[0]).addClass("ui-button-text").html(this.options.label).appendTo(t.empty()).text(),s=this.options.icons,a=s.primary&&s.secondary,o=[];s.primary||s.secondary?(this.options.text&&o.push("ui-button-text-icon"+(a?"s":s.primary?"-primary":"-secondary")),s.primary&&t.prepend("<span class='ui-button-icon-primary ui-icon "+s.primary+"'></span>"),s.secondary&&t.append("<span class='ui-button-icon-secondary ui-icon "+s.secondary+"'></span>"),this.options.text||(o.push(a?"ui-button-icons-only":"ui-button-icon-only"),this.hasTitle||t.attr("title",e.trim(i)))):o.push("ui-button-text-only"),t.addClass(o.join(" "))}}),e.widget("ui.buttonset",{version:"1.10.4",options:{items:"button, input[type=button], input[type=submit], input[type=reset], input[type=checkbox], input[type=radio], a, :data(ui-button)"},_create:function(){this.element.addClass("ui-buttonset")},_init:function(){this.refresh()},_setOption:function(e,t){"disabled"===e&&this.buttons.button("option",e,t),this._super(e,t)},refresh:function(){var t="rtl"===this.element.css("direction");this.buttons=this.element.find(this.options.items).filter(":ui-button").button("refresh").end().not(":ui-button").button().end().map(function(){return e(this).button("widget")[0]}).removeClass("ui-corner-all ui-corner-left ui-corner-right").filter(":first").addClass(t?"ui-corner-right":"ui-corner-left").end().filter(":last").addClass(t?"ui-corner-left":"ui-corner-right").end().end()},_destroy:function(){this.element.removeClass("ui-buttonset"),this.buttons.map(function(){return e(this).button("widget")[0]}).removeClass("ui-corner-left ui-corner-right").end().button("destroy")}})})(jQuery);(function(e,t){function i(){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},e.extend(this._defaults,this.regional[""]),this.dpDiv=a(e("<div id='"+this._mainDivId+"' class='ui-datepicker ui-widget ui-widget-content ui-helper-clearfix ui-corner-all'></div>"))}function a(t){var i="button, .ui-datepicker-prev, .ui-datepicker-next, .ui-datepicker-calendar td a";return t.delegate(i,"mouseout",function(){e(this).removeClass("ui-state-hover"),-1!==this.className.indexOf("ui-datepicker-prev")&&e(this).removeClass("ui-datepicker-prev-hover"),-1!==this.className.indexOf("ui-datepicker-next")&&e(this).removeClass("ui-datepicker-next-hover")}).delegate(i,"mouseover",function(){e.datepicker._isDisabledDatepicker(n.inline?t.parent()[0]:n.input[0])||(e(this).parents(".ui-datepicker-calendar").find("a").removeClass("ui-state-hover"),e(this).addClass("ui-state-hover"),-1!==this.className.indexOf("ui-datepicker-prev")&&e(this).addClass("ui-datepicker-prev-hover"),-1!==this.className.indexOf("ui-datepicker-next")&&e(this).addClass("ui-datepicker-next-hover"))})}function s(t,i){e.extend(t,i);for(var a in i)null==i[a]&&(t[a]=i[a]);return t}e.extend(e.ui,{datepicker:{version:"1.10.4"}});var n,r="datepicker";e.extend(i.prototype,{markerClassName:"hasDatepicker",maxRows:4,_widgetDatepicker:function(){return this.dpDiv},setDefaults:function(e){return s(this._defaults,e||{}),this},_attachDatepicker:function(t,i){var a,s,n;a=t.nodeName.toLowerCase(),s="div"===a||"span"===a,t.id||(this.uuid+=1,t.id="dp"+this.uuid),n=this._newInst(e(t),s),n.settings=e.extend({},i||{}),"input"===a?this._connectDatepicker(t,n):s&&this._inlineDatepicker(t,n)},_newInst:function(t,i){var s=t[0].id.replace(/([^A-Za-z0-9_\-])/g,"\\\\$1");return{id:s,input:t,selectedDay:0,selectedMonth:0,selectedYear:0,drawMonth:0,drawYear:0,inline:i,dpDiv:i?a(e("<div class='"+this._inlineClass+" ui-datepicker ui-widget ui-widget-content ui-helper-clearfix ui-corner-all'></div>")):this.dpDiv}},_connectDatepicker:function(t,i){var a=e(t);i.append=e([]),i.trigger=e([]),a.hasClass(this.markerClassName)||(this._attachments(a,i),a.addClass(this.markerClassName).keydown(this._doKeyDown).keypress(this._doKeyPress).keyup(this._doKeyUp),this._autoSize(i),e.data(t,r,i),i.settings.disabled&&this._disableDatepicker(t))},_attachments:function(t,i){var a,s,n,r=this._get(i,"appendText"),o=this._get(i,"isRTL");i.append&&i.append.remove(),r&&(i.append=e("<span class='"+this._appendClass+"'>"+r+"</span>"),t[o?"before":"after"](i.append)),t.unbind("focus",this._showDatepicker),i.trigger&&i.trigger.remove(),a=this._get(i,"showOn"),("focus"===a||"both"===a)&&t.focus(this._showDatepicker),("button"===a||"both"===a)&&(s=this._get(i,"buttonText"),n=this._get(i,"buttonImage"),i.trigger=e(this._get(i,"buttonImageOnly")?e("<img/>").addClass(this._triggerClass).attr({src:n,alt:s,title:s}):e("<button type='button'></button>").addClass(this._triggerClass).html(n?e("<img/>").attr({src:n,alt:s,title:s}):s)),t[o?"before":"after"](i.trigger),i.trigger.click(function(){return e.datepicker._datepickerShowing&&e.datepicker._lastInput===t[0]?e.datepicker._hideDatepicker():e.datepicker._datepickerShowing&&e.datepicker._lastInput!==t[0]?(e.datepicker._hideDatepicker(),e.datepicker._showDatepicker(t[0])):e.datepicker._showDatepicker(t[0]),!1}))},_autoSize:function(e){if(this._get(e,"autoSize")&&!e.inline){var t,i,a,s,n=new Date(2009,11,20),r=this._get(e,"dateFormat");r.match(/[DM]/)&&(t=function(e){for(i=0,a=0,s=0;e.length>s;s++)e[s].length>i&&(i=e[s].length,a=s);return a},n.setMonth(t(this._get(e,r.match(/MM/)?"monthNames":"monthNamesShort"))),n.setDate(t(this._get(e,r.match(/DD/)?"dayNames":"dayNamesShort"))+20-n.getDay())),e.input.attr("size",this._formatDate(e,n).length)}},_inlineDatepicker:function(t,i){var a=e(t);a.hasClass(this.markerClassName)||(a.addClass(this.markerClassName).append(i.dpDiv),e.data(t,r,i),this._setDate(i,this._getDefaultDate(i),!0),this._updateDatepicker(i),this._updateAlternate(i),i.settings.disabled&&this._disableDatepicker(t),i.dpDiv.css("display","block"))},_dialogDatepicker:function(t,i,a,n,o){var u,c,h,l,d,p=this._dialogInst;return p||(this.uuid+=1,u="dp"+this.uuid,this._dialogInput=e("<input type='text' id='"+u+"' style='position: absolute; top: -100px; width: 0px;'/>"),this._dialogInput.keydown(this._doKeyDown),e("body").append(this._dialogInput),p=this._dialogInst=this._newInst(this._dialogInput,!1),p.settings={},e.data(this._dialogInput[0],r,p)),s(p.settings,n||{}),i=i&&i.constructor===Date?this._formatDate(p,i):i,this._dialogInput.val(i),this._pos=o?o.length?o:[o.pageX,o.pageY]:null,this._pos||(c=document.documentElement.clientWidth,h=document.documentElement.clientHeight,l=document.documentElement.scrollLeft||document.body.scrollLeft,d=document.documentElement.scrollTop||document.body.scrollTop,this._pos=[c/2-100+l,h/2-150+d]),this._dialogInput.css("left",this._pos[0]+20+"px").css("top",this._pos[1]+"px"),p.settings.onSelect=a,this._inDialog=!0,this.dpDiv.addClass(this._dialogClass),this._showDatepicker(this._dialogInput[0]),e.blockUI&&e.blockUI(this.dpDiv),e.data(this._dialogInput[0],r,p),this},_destroyDatepicker:function(t){var i,a=e(t),s=e.data(t,r);a.hasClass(this.markerClassName)&&(i=t.nodeName.toLowerCase(),e.removeData(t,r),"input"===i?(s.append.remove(),s.trigger.remove(),a.removeClass(this.markerClassName).unbind("focus",this._showDatepicker).unbind("keydown",this._doKeyDown).unbind("keypress",this._doKeyPress).unbind("keyup",this._doKeyUp)):("div"===i||"span"===i)&&a.removeClass(this.markerClassName).empty())},_enableDatepicker:function(t){var i,a,s=e(t),n=e.data(t,r);s.hasClass(this.markerClassName)&&(i=t.nodeName.toLowerCase(),"input"===i?(t.disabled=!1,n.trigger.filter("button").each(function(){this.disabled=!1}).end().filter("img").css({opacity:"1.0",cursor:""})):("div"===i||"span"===i)&&(a=s.children("."+this._inlineClass),a.children().removeClass("ui-state-disabled"),a.find("select.ui-datepicker-month, select.ui-datepicker-year").prop("disabled",!1)),this._disabledInputs=e.map(this._disabledInputs,function(e){return e===t?null:e}))},_disableDatepicker:function(t){var i,a,s=e(t),n=e.data(t,r);s.hasClass(this.markerClassName)&&(i=t.nodeName.toLowerCase(),"input"===i?(t.disabled=!0,n.trigger.filter("button").each(function(){this.disabled=!0}).end().filter("img").css({opacity:"0.5",cursor:"default"})):("div"===i||"span"===i)&&(a=s.children("."+this._inlineClass),a.children().addClass("ui-state-disabled"),a.find("select.ui-datepicker-month, select.ui-datepicker-year").prop("disabled",!0)),this._disabledInputs=e.map(this._disabledInputs,function(e){return e===t?null:e}),this._disabledInputs[this._disabledInputs.length]=t)},_isDisabledDatepicker:function(e){if(!e)return!1;for(var t=0;this._disabledInputs.length>t;t++)if(this._disabledInputs[t]===e)return!0;return!1},_getInst:function(t){try{return e.data(t,r)}catch(i){throw"Missing instance data for this datepicker"}},_optionDatepicker:function(i,a,n){var r,o,u,c,h=this._getInst(i);return 2===arguments.length&&"string"==typeof a?"defaults"===a?e.extend({},e.datepicker._defaults):h?"all"===a?e.extend({},h.settings):this._get(h,a):null:(r=a||{},"string"==typeof a&&(r={},r[a]=n),h&&(this._curInst===h&&this._hideDatepicker(),o=this._getDateDatepicker(i,!0),u=this._getMinMaxDate(h,"min"),c=this._getMinMaxDate(h,"max"),s(h.settings,r),null!==u&&r.dateFormat!==t&&r.minDate===t&&(h.settings.minDate=this._formatDate(h,u)),null!==c&&r.dateFormat!==t&&r.maxDate===t&&(h.settings.maxDate=this._formatDate(h,c)),"disabled"in r&&(r.disabled?this._disableDatepicker(i):this._enableDatepicker(i)),this._attachments(e(i),h),this._autoSize(h),this._setDate(h,o),this._updateAlternate(h),this._updateDatepicker(h)),t)},_changeDatepicker:function(e,t,i){this._optionDatepicker(e,t,i)},_refreshDatepicker:function(e){var t=this._getInst(e);t&&this._updateDatepicker(t)},_setDateDatepicker:function(e,t){var i=this._getInst(e);i&&(this._setDate(i,t),this._updateDatepicker(i),this._updateAlternate(i))},_getDateDatepicker:function(e,t){var i=this._getInst(e);return i&&!i.inline&&this._setDateFromField(i,t),i?this._getDate(i):null},_doKeyDown:function(t){var i,a,s,n=e.datepicker._getInst(t.target),r=!0,o=n.dpDiv.is(".ui-datepicker-rtl");if(n._keyEvent=!0,e.datepicker._datepickerShowing)switch(t.keyCode){case 9:e.datepicker._hideDatepicker(),r=!1;break;case 13:return s=e("td."+e.datepicker._dayOverClass+":not(."+e.datepicker._currentClass+")",n.dpDiv),s[0]&&e.datepicker._selectDay(t.target,n.selectedMonth,n.selectedYear,s[0]),i=e.datepicker._get(n,"onSelect"),i?(a=e.datepicker._formatDate(n),i.apply(n.input?n.input[0]:null,[a,n])):e.datepicker._hideDatepicker(),!1;case 27:e.datepicker._hideDatepicker();break;case 33:e.datepicker._adjustDate(t.target,t.ctrlKey?-e.datepicker._get(n,"stepBigMonths"):-e.datepicker._get(n,"stepMonths"),"M");break;case 34:e.datepicker._adjustDate(t.target,t.ctrlKey?+e.datepicker._get(n,"stepBigMonths"):+e.datepicker._get(n,"stepMonths"),"M");break;case 35:(t.ctrlKey||t.metaKey)&&e.datepicker._clearDate(t.target),r=t.ctrlKey||t.metaKey;break;case 36:(t.ctrlKey||t.metaKey)&&e.datepicker._gotoToday(t.target),r=t.ctrlKey||t.metaKey;break;case 37:(t.ctrlKey||t.metaKey)&&e.datepicker._adjustDate(t.target,o?1:-1,"D"),r=t.ctrlKey||t.metaKey,t.originalEvent.altKey&&e.datepicker._adjustDate(t.target,t.ctrlKey?-e.datepicker._get(n,"stepBigMonths"):-e.datepicker._get(n,"stepMonths"),"M");break;case 38:(t.ctrlKey||t.metaKey)&&e.datepicker._adjustDate(t.target,-7,"D"),r=t.ctrlKey||t.metaKey;break;case 39:(t.ctrlKey||t.metaKey)&&e.datepicker._adjustDate(t.target,o?-1:1,"D"),r=t.ctrlKey||t.metaKey,t.originalEvent.altKey&&e.datepicker._adjustDate(t.target,t.ctrlKey?+e.datepicker._get(n,"stepBigMonths"):+e.datepicker._get(n,"stepMonths"),"M");break;case 40:(t.ctrlKey||t.metaKey)&&e.datepicker._adjustDate(t.target,7,"D"),r=t.ctrlKey||t.metaKey;break;default:r=!1}else 36===t.keyCode&&t.ctrlKey?e.datepicker._showDatepicker(this):r=!1;r&&(t.preventDefault(),t.stopPropagation())},_doKeyPress:function(i){var a,s,n=e.datepicker._getInst(i.target);return e.datepicker._get(n,"constrainInput")?(a=e.datepicker._possibleChars(e.datepicker._get(n,"dateFormat")),s=String.fromCharCode(null==i.charCode?i.keyCode:i.charCode),i.ctrlKey||i.metaKey||" ">s||!a||a.indexOf(s)>-1):t},_doKeyUp:function(t){var i,a=e.datepicker._getInst(t.target);if(a.input.val()!==a.lastVal)try{i=e.datepicker.parseDate(e.datepicker._get(a,"dateFormat"),a.input?a.input.val():null,e.datepicker._getFormatConfig(a)),i&&(e.datepicker._setDateFromField(a),e.datepicker._updateAlternate(a),e.datepicker._updateDatepicker(a))}catch(s){}return!0},_showDatepicker:function(t){if(t=t.target||t,"input"!==t.nodeName.toLowerCase()&&(t=e("input",t.parentNode)[0]),!e.datepicker._isDisabledDatepicker(t)&&e.datepicker._lastInput!==t){var i,a,n,r,o,u,c;i=e.datepicker._getInst(t),e.datepicker._curInst&&e.datepicker._curInst!==i&&(e.datepicker._curInst.dpDiv.stop(!0,!0),i&&e.datepicker._datepickerShowing&&e.datepicker._hideDatepicker(e.datepicker._curInst.input[0])),a=e.datepicker._get(i,"beforeShow"),n=a?a.apply(t,[t,i]):{},n!==!1&&(s(i.settings,n),i.lastVal=null,e.datepicker._lastInput=t,e.datepicker._setDateFromField(i),e.datepicker._inDialog&&(t.value=""),e.datepicker._pos||(e.datepicker._pos=e.datepicker._findPos(t),e.datepicker._pos[1]+=t.offsetHeight),r=!1,e(t).parents().each(function(){return r|="fixed"===e(this).css("position"),!r}),o={left:e.datepicker._pos[0],top:e.datepicker._pos[1]},e.datepicker._pos=null,i.dpDiv.empty(),i.dpDiv.css({position:"absolute",display:"block",top:"-1000px"}),e.datepicker._updateDatepicker(i),o=e.datepicker._checkOffset(i,o,r),i.dpDiv.css({position:e.datepicker._inDialog&&e.blockUI?"static":r?"fixed":"absolute",display:"none",left:o.left+"px",top:o.top+"px"}),i.inline||(u=e.datepicker._get(i,"showAnim"),c=e.datepicker._get(i,"duration"),i.dpDiv.zIndex(e(t).zIndex()+1),e.datepicker._datepickerShowing=!0,e.effects&&e.effects.effect[u]?i.dpDiv.show(u,e.datepicker._get(i,"showOptions"),c):i.dpDiv[u||"show"](u?c:null),e.datepicker._shouldFocusInput(i)&&i.input.focus(),e.datepicker._curInst=i))}},_updateDatepicker:function(t){this.maxRows=4,n=t,t.dpDiv.empty().append(this._generateHTML(t)),this._attachHandlers(t),t.dpDiv.find("."+this._dayOverClass+" a").mouseover();var i,a=this._getNumberOfMonths(t),s=a[1],r=17;t.dpDiv.removeClass("ui-datepicker-multi-2 ui-datepicker-multi-3 ui-datepicker-multi-4").width(""),s>1&&t.dpDiv.addClass("ui-datepicker-multi-"+s).css("width",r*s+"em"),t.dpDiv[(1!==a[0]||1!==a[1]?"add":"remove")+"Class"]("ui-datepicker-multi"),t.dpDiv[(this._get(t,"isRTL")?"add":"remove")+"Class"]("ui-datepicker-rtl"),t===e.datepicker._curInst&&e.datepicker._datepickerShowing&&e.datepicker._shouldFocusInput(t)&&t.input.focus(),t.yearshtml&&(i=t.yearshtml,setTimeout(function(){i===t.yearshtml&&t.yearshtml&&t.dpDiv.find("select.ui-datepicker-year:first").replaceWith(t.yearshtml),i=t.yearshtml=null},0))},_shouldFocusInput:function(e){return e.input&&e.input.is(":visible")&&!e.input.is(":disabled")&&!e.input.is(":focus")},_checkOffset:function(t,i,a){var s=t.dpDiv.outerWidth(),n=t.dpDiv.outerHeight(),r=t.input?t.input.outerWidth():0,o=t.input?t.input.outerHeight():0,u=document.documentElement.clientWidth+(a?0:e(document).scrollLeft()),c=document.documentElement.clientHeight+(a?0:e(document).scrollTop());return i.left-=this._get(t,"isRTL")?s-r:0,i.left-=a&&i.left===t.input.offset().left?e(document).scrollLeft():0,i.top-=a&&i.top===t.input.offset().top+o?e(document).scrollTop():0,i.left-=Math.min(i.left,i.left+s>u&&u>s?Math.abs(i.left+s-u):0),i.top-=Math.min(i.top,i.top+n>c&&c>n?Math.abs(n+o):0),i},_findPos:function(t){for(var i,a=this._getInst(t),s=this._get(a,"isRTL");t&&("hidden"===t.type||1!==t.nodeType||e.expr.filters.hidden(t));)t=t[s?"previousSibling":"nextSibling"];return i=e(t).offset(),[i.left,i.top]},_hideDatepicker:function(t){var i,a,s,n,o=this._curInst;!o||t&&o!==e.data(t,r)||this._datepickerShowing&&(i=this._get(o,"showAnim"),a=this._get(o,"duration"),s=function(){e.datepicker._tidyDialog(o)},e.effects&&(e.effects.effect[i]||e.effects[i])?o.dpDiv.hide(i,e.datepicker._get(o,"showOptions"),a,s):o.dpDiv["slideDown"===i?"slideUp":"fadeIn"===i?"fadeOut":"hide"](i?a:null,s),i||s(),this._datepickerShowing=!1,n=this._get(o,"onClose"),n&&n.apply(o.input?o.input[0]:null,[o.input?o.input.val():"",o]),this._lastInput=null,this._inDialog&&(this._dialogInput.css({position:"absolute",left:"0",top:"-100px"}),e.blockUI&&(e.unblockUI(),e("body").append(this.dpDiv))),this._inDialog=!1)},_tidyDialog:function(e){e.dpDiv.removeClass(this._dialogClass).unbind(".ui-datepicker-calendar")},_checkExternalClick:function(t){if(e.datepicker._curInst){var i=e(t.target),a=e.datepicker._getInst(i[0]);(i[0].id!==e.datepicker._mainDivId&&0===i.parents("#"+e.datepicker._mainDivId).length&&!i.hasClass(e.datepicker.markerClassName)&&!i.closest("."+e.datepicker._triggerClass).length&&e.datepicker._datepickerShowing&&(!e.datepicker._inDialog||!e.blockUI)||i.hasClass(e.datepicker.markerClassName)&&e.datepicker._curInst!==a)&&e.datepicker._hideDatepicker()}},_adjustDate:function(t,i,a){var s=e(t),n=this._getInst(s[0]);this._isDisabledDatepicker(s[0])||(this._adjustInstDate(n,i+("M"===a?this._get(n,"showCurrentAtPos"):0),a),this._updateDatepicker(n))},_gotoToday:function(t){var i,a=e(t),s=this._getInst(a[0]);this._get(s,"gotoCurrent")&&s.currentDay?(s.selectedDay=s.currentDay,s.drawMonth=s.selectedMonth=s.currentMonth,s.drawYear=s.selectedYear=s.currentYear):(i=new Date,s.selectedDay=i.getDate(),s.drawMonth=s.selectedMonth=i.getMonth(),s.drawYear=s.selectedYear=i.getFullYear()),this._notifyChange(s),this._adjustDate(a)},_selectMonthYear:function(t,i,a){var s=e(t),n=this._getInst(s[0]);n["selected"+("M"===a?"Month":"Year")]=n["draw"+("M"===a?"Month":"Year")]=parseInt(i.options[i.selectedIndex].value,10),this._notifyChange(n),this._adjustDate(s)},_selectDay:function(t,i,a,s){var n,r=e(t);e(s).hasClass(this._unselectableClass)||this._isDisabledDatepicker(r[0])||(n=this._getInst(r[0]),n.selectedDay=n.currentDay=e("a",s).html(),n.selectedMonth=n.currentMonth=i,n.selectedYear=n.currentYear=a,this._selectDate(t,this._formatDate(n,n.currentDay,n.currentMonth,n.currentYear)))},_clearDate:function(t){var i=e(t);this._selectDate(i,"")},_selectDate:function(t,i){var a,s=e(t),n=this._getInst(s[0]);i=null!=i?i:this._formatDate(n),n.input&&n.input.val(i),this._updateAlternate(n),a=this._get(n,"onSelect"),a?a.apply(n.input?n.input[0]:null,[i,n]):n.input&&n.input.trigger("change"),n.inline?this._updateDatepicker(n):(this._hideDatepicker(),this._lastInput=n.input[0],"object"!=typeof n.input[0]&&n.input.focus(),this._lastInput=null)},_updateAlternate:function(t){var i,a,s,n=this._get(t,"altField");n&&(i=this._get(t,"altFormat")||this._get(t,"dateFormat"),a=this._getDate(t),s=this.formatDate(i,a,this._getFormatConfig(t)),e(n).each(function(){e(this).val(s)}))},noWeekends:function(e){var t=e.getDay();return[t>0&&6>t,""]},iso8601Week:function(e){var t,i=new Date(e.getTime());return i.setDate(i.getDate()+4-(i.getDay()||7)),t=i.getTime(),i.setMonth(0),i.setDate(1),Math.floor(Math.round((t-i)/864e5)/7)+1},parseDate:function(i,a,s){if(null==i||null==a)throw"Invalid arguments";if(a="object"==typeof a?""+a:a+"",""===a)return null;var n,r,o,u,c=0,h=(s?s.shortYearCutoff:null)||this._defaults.shortYearCutoff,l="string"!=typeof h?h:(new Date).getFullYear()%100+parseInt(h,10),d=(s?s.dayNamesShort:null)||this._defaults.dayNamesShort,p=(s?s.dayNames:null)||this._defaults.dayNames,g=(s?s.monthNamesShort:null)||this._defaults.monthNamesShort,m=(s?s.monthNames:null)||this._defaults.monthNames,f=-1,_=-1,v=-1,k=-1,y=!1,b=function(e){var t=i.length>n+1&&i.charAt(n+1)===e;return t&&n++,t},D=function(e){var t=b(e),i="@"===e?14:"!"===e?20:"y"===e&&t?4:"o"===e?3:2,s=RegExp("^\\d{1,"+i+"}"),n=a.substring(c).match(s);if(!n)throw"Missing number at position "+c;return c+=n[0].length,parseInt(n[0],10)},w=function(i,s,n){var r=-1,o=e.map(b(i)?n:s,function(e,t){return[[t,e]]}).sort(function(e,t){return-(e[1].length-t[1].length)});if(e.each(o,function(e,i){var s=i[1];return a.substr(c,s.length).toLowerCase()===s.toLowerCase()?(r=i[0],c+=s.length,!1):t}),-1!==r)return r+1;throw"Unknown name at position "+c},M=function(){if(a.charAt(c)!==i.charAt(n))throw"Unexpected literal at position "+c;c++};for(n=0;i.length>n;n++)if(y)"'"!==i.charAt(n)||b("'")?M():y=!1;else switch(i.charAt(n)){case"d":v=D("d");break;case"D":w("D",d,p);break;case"o":k=D("o");break;case"m":_=D("m");break;case"M":_=w("M",g,m);break;case"y":f=D("y");break;case"@":u=new Date(D("@")),f=u.getFullYear(),_=u.getMonth()+1,v=u.getDate();break;case"!":u=new Date((D("!")-this._ticksTo1970)/1e4),f=u.getFullYear(),_=u.getMonth()+1,v=u.getDate();break;case"'":b("'")?M():y=!0;break;default:M()}if(a.length>c&&(o=a.substr(c),!/^\s+/.test(o)))throw"Extra/unparsed characters found in date: "+o;if(-1===f?f=(new Date).getFullYear():100>f&&(f+=(new Date).getFullYear()-(new Date).getFullYear()%100+(l>=f?0:-100)),k>-1)for(_=1,v=k;;){if(r=this._getDaysInMonth(f,_-1),r>=v)break;_++,v-=r}if(u=this._daylightSavingAdjust(new Date(f,_-1,v)),u.getFullYear()!==f||u.getMonth()+1!==_||u.getDate()!==v)throw"Invalid date";return u},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:1e7*60*60*24*(718685+Math.floor(492.5)-Math.floor(19.7)+Math.floor(4.925)),formatDate:function(e,t,i){if(!t)return"";var a,s=(i?i.dayNamesShort:null)||this._defaults.dayNamesShort,n=(i?i.dayNames:null)||this._defaults.dayNames,r=(i?i.monthNamesShort:null)||this._defaults.monthNamesShort,o=(i?i.monthNames:null)||this._defaults.monthNames,u=function(t){var i=e.length>a+1&&e.charAt(a+1)===t;return i&&a++,i},c=function(e,t,i){var a=""+t;if(u(e))for(;i>a.length;)a="0"+a;return a},h=function(e,t,i,a){return u(e)?a[t]:i[t]},l="",d=!1;if(t)for(a=0;e.length>a;a++)if(d)"'"!==e.charAt(a)||u("'")?l+=e.charAt(a):d=!1;else switch(e.charAt(a)){case"d":l+=c("d",t.getDate(),2);break;case"D":l+=h("D",t.getDay(),s,n);break;case"o":l+=c("o",Math.round((new Date(t.getFullYear(),t.getMonth(),t.getDate()).getTime()-new Date(t.getFullYear(),0,0).getTime())/864e5),3);break;case"m":l+=c("m",t.getMonth()+1,2);break;case"M":l+=h("M",t.getMonth(),r,o);break;case"y":l+=u("y")?t.getFullYear():(10>t.getYear()%100?"0":"")+t.getYear()%100;break;case"@":l+=t.getTime();break;case"!":l+=1e4*t.getTime()+this._ticksTo1970;break;case"'":u("'")?l+="'":d=!0;break;default:l+=e.charAt(a)}return l},_possibleChars:function(e){var t,i="",a=!1,s=function(i){var a=e.length>t+1&&e.charAt(t+1)===i;return a&&t++,a};for(t=0;e.length>t;t++)if(a)"'"!==e.charAt(t)||s("'")?i+=e.charAt(t):a=!1;else switch(e.charAt(t)){case"d":case"m":case"y":case"@":i+="0123456789";break;case"D":case"M":return null;case"'":s("'")?i+="'":a=!0;break;default:i+=e.charAt(t)}return i},_get:function(e,i){return e.settings[i]!==t?e.settings[i]:this._defaults[i]},_setDateFromField:function(e,t){if(e.input.val()!==e.lastVal){var i=this._get(e,"dateFormat"),a=e.lastVal=e.input?e.input.val():null,s=this._getDefaultDate(e),n=s,r=this._getFormatConfig(e);try{n=this.parseDate(i,a,r)||s}catch(o){a=t?"":a}e.selectedDay=n.getDate(),e.drawMonth=e.selectedMonth=n.getMonth(),e.drawYear=e.selectedYear=n.getFullYear(),e.currentDay=a?n.getDate():0,e.currentMonth=a?n.getMonth():0,e.currentYear=a?n.getFullYear():0,this._adjustInstDate(e)}},_getDefaultDate:function(e){return this._restrictMinMax(e,this._determineDate(e,this._get(e,"defaultDate"),new Date))},_determineDate:function(t,i,a){var s=function(e){var t=new Date;return t.setDate(t.getDate()+e),t},n=function(i){try{return e.datepicker.parseDate(e.datepicker._get(t,"dateFormat"),i,e.datepicker._getFormatConfig(t))}catch(a){}for(var s=(i.toLowerCase().match(/^c/)?e.datepicker._getDate(t):null)||new Date,n=s.getFullYear(),r=s.getMonth(),o=s.getDate(),u=/([+\-]?[0-9]+)\s*(d|D|w|W|m|M|y|Y)?/g,c=u.exec(i);c;){switch(c[2]||"d"){case"d":case"D":o+=parseInt(c[1],10);break;case"w":case"W":o+=7*parseInt(c[1],10);break;case"m":case"M":r+=parseInt(c[1],10),o=Math.min(o,e.datepicker._getDaysInMonth(n,r));break;case"y":case"Y":n+=parseInt(c[1],10),o=Math.min(o,e.datepicker._getDaysInMonth(n,r))}c=u.exec(i)}return new Date(n,r,o)},r=null==i||""===i?a:"string"==typeof i?n(i):"number"==typeof i?isNaN(i)?a:s(i):new Date(i.getTime());return r=r&&"Invalid Date"==""+r?a:r,r&&(r.setHours(0),r.setMinutes(0),r.setSeconds(0),r.setMilliseconds(0)),this._daylightSavingAdjust(r)},_daylightSavingAdjust:function(e){return e?(e.setHours(e.getHours()>12?e.getHours()+2:0),e):null},_setDate:function(e,t,i){var a=!t,s=e.selectedMonth,n=e.selectedYear,r=this._restrictMinMax(e,this._determineDate(e,t,new Date));e.selectedDay=e.currentDay=r.getDate(),e.drawMonth=e.selectedMonth=e.currentMonth=r.getMonth(),e.drawYear=e.selectedYear=e.currentYear=r.getFullYear(),s===e.selectedMonth&&n===e.selectedYear||i||this._notifyChange(e),this._adjustInstDate(e),e.input&&e.input.val(a?"":this._formatDate(e))},_getDate:function(e){var t=!e.currentYear||e.input&&""===e.input.val()?null:this._daylightSavingAdjust(new Date(e.currentYear,e.currentMonth,e.currentDay));return t},_attachHandlers:function(t){var i=this._get(t,"stepMonths"),a="#"+t.id.replace(/\\\\/g,"\\");t.dpDiv.find("[data-handler]").map(function(){var t={prev:function(){e.datepicker._adjustDate(a,-i,"M")},next:function(){e.datepicker._adjustDate(a,+i,"M")},hide:function(){e.datepicker._hideDatepicker()},today:function(){e.datepicker._gotoToday(a)},selectDay:function(){return e.datepicker._selectDay(a,+this.getAttribute("data-month"),+this.getAttribute("data-year"),this),!1},selectMonth:function(){return e.datepicker._selectMonthYear(a,this,"M"),!1},selectYear:function(){return e.datepicker._selectMonthYear(a,this,"Y"),!1}};e(this).bind(this.getAttribute("data-event"),t[this.getAttribute("data-handler")])})},_generateHTML:function(e){var t,i,a,s,n,r,o,u,c,h,l,d,p,g,m,f,_,v,k,y,b,D,w,M,C,x,I,N,T,A,E,S,Y,F,P,O,j,K,R,H=new Date,W=this._daylightSavingAdjust(new Date(H.getFullYear(),H.getMonth(),H.getDate())),L=this._get(e,"isRTL"),U=this._get(e,"showButtonPanel"),B=this._get(e,"hideIfNoPrevNext"),z=this._get(e,"navigationAsDateFormat"),q=this._getNumberOfMonths(e),G=this._get(e,"showCurrentAtPos"),J=this._get(e,"stepMonths"),Q=1!==q[0]||1!==q[1],V=this._daylightSavingAdjust(e.currentDay?new Date(e.currentYear,e.currentMonth,e.currentDay):new Date(9999,9,9)),$=this._getMinMaxDate(e,"min"),X=this._getMinMaxDate(e,"max"),Z=e.drawMonth-G,et=e.drawYear;if(0>Z&&(Z+=12,et--),X)for(t=this._daylightSavingAdjust(new Date(X.getFullYear(),X.getMonth()-q[0]*q[1]+1,X.getDate())),t=$&&$>t?$:t;this._daylightSavingAdjust(new Date(et,Z,1))>t;)Z--,0>Z&&(Z=11,et--);for(e.drawMonth=Z,e.drawYear=et,i=this._get(e,"prevText"),i=z?this.formatDate(i,this._daylightSavingAdjust(new Date(et,Z-J,1)),this._getFormatConfig(e)):i,a=this._canAdjustMonth(e,-1,et,Z)?"<a class='ui-datepicker-prev ui-corner-all' data-handler='prev' data-event='click' title='"+i+"'><span class='ui-icon ui-icon-circle-triangle-"+(L?"e":"w")+"'>"+i+"</span></a>":B?"":"<a class='ui-datepicker-prev ui-corner-all ui-state-disabled' title='"+i+"'><span class='ui-icon ui-icon-circle-triangle-"+(L?"e":"w")+"'>"+i+"</span></a>",s=this._get(e,"nextText"),s=z?this.formatDate(s,this._daylightSavingAdjust(new Date(et,Z+J,1)),this._getFormatConfig(e)):s,n=this._canAdjustMonth(e,1,et,Z)?"<a class='ui-datepicker-next ui-corner-all' data-handler='next' data-event='click' title='"+s+"'><span class='ui-icon ui-icon-circle-triangle-"+(L?"w":"e")+"'>"+s+"</span></a>":B?"":"<a class='ui-datepicker-next ui-corner-all ui-state-disabled' title='"+s+"'><span class='ui-icon ui-icon-circle-triangle-"+(L?"w":"e")+"'>"+s+"</span></a>",r=this._get(e,"currentText"),o=this._get(e,"gotoCurrent")&&e.currentDay?V:W,r=z?this.formatDate(r,o,this._getFormatConfig(e)):r,u=e.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(e,"closeText")+"</button>",c=U?"<div class='ui-datepicker-buttonpane ui-widget-content'>"+(L?u:"")+(this._isInRange(e,o)?"<button type='button' class='ui-datepicker-current ui-state-default ui-priority-secondary ui-corner-all' data-handler='today' data-event='click'>"+r+"</button>":"")+(L?"":u)+"</div>":"",h=parseInt(this._get(e,"firstDay"),10),h=isNaN(h)?0:h,l=this._get(e,"showWeek"),d=this._get(e,"dayNames"),p=this._get(e,"dayNamesMin"),g=this._get(e,"monthNames"),m=this._get(e,"monthNamesShort"),f=this._get(e,"beforeShowDay"),_=this._get(e,"showOtherMonths"),v=this._get(e,"selectOtherMonths"),k=this._getDefaultDate(e),y="",D=0;q[0]>D;D++){for(w="",this.maxRows=4,M=0;q[1]>M;M++){if(C=this._daylightSavingAdjust(new Date(et,Z,e.selectedDay)),x=" ui-corner-all",I="",Q){if(I+="<div class='ui-datepicker-group",q[1]>1)switch(M){case 0:I+=" ui-datepicker-group-first",x=" ui-corner-"+(L?"right":"left");break;case q[1]-1:I+=" ui-datepicker-group-last",x=" ui-corner-"+(L?"left":"right");break;default:I+=" ui-datepicker-group-middle",x=""}I+="'>"}for(I+="<div class='ui-datepicker-header ui-widget-header ui-helper-clearfix"+x+"'>"+(/all|left/.test(x)&&0===D?L?n:a:"")+(/all|right/.test(x)&&0===D?L?a:n:"")+this._generateMonthYearHeader(e,Z,et,$,X,D>0||M>0,g,m)+"</div><table class='ui-datepicker-calendar'><thead>"+"<tr>",N=l?"<th class='ui-datepicker-week-col'>"+this._get(e,"weekHeader")+"</th>":"",b=0;7>b;b++)T=(b+h)%7,N+="<th"+((b+h+6)%7>=5?" class='ui-datepicker-week-end'":"")+">"+"<span title='"+d[T]+"'>"+p[T]+"</span></th>";for(I+=N+"</tr></thead><tbody>",A=this._getDaysInMonth(et,Z),et===e.selectedYear&&Z===e.selectedMonth&&(e.selectedDay=Math.min(e.selectedDay,A)),E=(this._getFirstDayOfMonth(et,Z)-h+7)%7,S=Math.ceil((E+A)/7),Y=Q?this.maxRows>S?this.maxRows:S:S,this.maxRows=Y,F=this._daylightSavingAdjust(new Date(et,Z,1-E)),P=0;Y>P;P++){for(I+="<tr>",O=l?"<td class='ui-datepicker-week-col'>"+this._get(e,"calculateWeek")(F)+"</td>":"",b=0;7>b;b++)j=f?f.apply(e.input?e.input[0]:null,[F]):[!0,""],K=F.getMonth()!==Z,R=K&&!v||!j[0]||$&&$>F||X&&F>X,O+="<td class='"+((b+h+6)%7>=5?" ui-datepicker-week-end":"")+(K?" ui-datepicker-other-month":"")+(F.getTime()===C.getTime()&&Z===e.selectedMonth&&e._keyEvent||k.getTime()===F.getTime()&&k.getTime()===C.getTime()?" "+this._dayOverClass:"")+(R?" "+this._unselectableClass+" ui-state-disabled":"")+(K&&!_?"":" "+j[1]+(F.getTime()===V.getTime()?" "+this._currentClass:"")+(F.getTime()===W.getTime()?" ui-datepicker-today":""))+"'"+(K&&!_||!j[2]?"":" title='"+j[2].replace(/'/g,"'")+"'")+(R?"":" data-handler='selectDay' data-event='click' data-month='"+F.getMonth()+"' data-year='"+F.getFullYear()+"'")+">"+(K&&!_?" ":R?"<span class='ui-state-default'>"+F.getDate()+"</span>":"<a class='ui-state-default"+(F.getTime()===W.getTime()?" ui-state-highlight":"")+(F.getTime()===V.getTime()?" ui-state-active":"")+(K?" ui-priority-secondary":"")+"' href='#'>"+F.getDate()+"</a>")+"</td>",F.setDate(F.getDate()+1),F=this._daylightSavingAdjust(F);I+=O+"</tr>"}Z++,Z>11&&(Z=0,et++),I+="</tbody></table>"+(Q?"</div>"+(q[0]>0&&M===q[1]-1?"<div class='ui-datepicker-row-break'></div>":""):""),w+=I}y+=w}return y+=c,e._keyEvent=!1,y},_generateMonthYearHeader:function(e,t,i,a,s,n,r,o){var u,c,h,l,d,p,g,m,f=this._get(e,"changeMonth"),_=this._get(e,"changeYear"),v=this._get(e,"showMonthAfterYear"),k="<div class='ui-datepicker-title'>",y="";if(n||!f)y+="<span class='ui-datepicker-month'>"+r[t]+"</span>";else{for(u=a&&a.getFullYear()===i,c=s&&s.getFullYear()===i,y+="<select class='ui-datepicker-month' data-handler='selectMonth' data-event='change'>",h=0;12>h;h++)(!u||h>=a.getMonth())&&(!c||s.getMonth()>=h)&&(y+="<option value='"+h+"'"+(h===t?" selected='selected'":"")+">"+o[h]+"</option>");y+="</select>"}if(v||(k+=y+(!n&&f&&_?"":" ")),!e.yearshtml)if(e.yearshtml="",n||!_)k+="<span class='ui-datepicker-year'>"+i+"</span>";else{for(l=this._get(e,"yearRange").split(":"),d=(new Date).getFullYear(),p=function(e){var t=e.match(/c[+\-].*/)?i+parseInt(e.substring(1),10):e.match(/[+\-].*/)?d+parseInt(e,10):parseInt(e,10); >-return isNaN(t)?d:t},g=p(l[0]),m=Math.max(g,p(l[1]||"")),g=a?Math.max(g,a.getFullYear()):g,m=s?Math.min(m,s.getFullYear()):m,e.yearshtml+="<select class='ui-datepicker-year' data-handler='selectYear' data-event='change'>";m>=g;g++)e.yearshtml+="<option value='"+g+"'"+(g===i?" selected='selected'":"")+">"+g+"</option>";e.yearshtml+="</select>",k+=e.yearshtml,e.yearshtml=null}return k+=this._get(e,"yearSuffix"),v&&(k+=(!n&&f&&_?"":" ")+y),k+="</div>"},_adjustInstDate:function(e,t,i){var a=e.drawYear+("Y"===i?t:0),s=e.drawMonth+("M"===i?t:0),n=Math.min(e.selectedDay,this._getDaysInMonth(a,s))+("D"===i?t:0),r=this._restrictMinMax(e,this._daylightSavingAdjust(new Date(a,s,n)));e.selectedDay=r.getDate(),e.drawMonth=e.selectedMonth=r.getMonth(),e.drawYear=e.selectedYear=r.getFullYear(),("M"===i||"Y"===i)&&this._notifyChange(e)},_restrictMinMax:function(e,t){var i=this._getMinMaxDate(e,"min"),a=this._getMinMaxDate(e,"max"),s=i&&i>t?i:t;return a&&s>a?a:s},_notifyChange:function(e){var t=this._get(e,"onChangeMonthYear");t&&t.apply(e.input?e.input[0]:null,[e.selectedYear,e.selectedMonth+1,e])},_getNumberOfMonths:function(e){var t=this._get(e,"numberOfMonths");return null==t?[1,1]:"number"==typeof t?[1,t]:t},_getMinMaxDate:function(e,t){return this._determineDate(e,this._get(e,t+"Date"),null)},_getDaysInMonth:function(e,t){return 32-this._daylightSavingAdjust(new Date(e,t,32)).getDate()},_getFirstDayOfMonth:function(e,t){return new Date(e,t,1).getDay()},_canAdjustMonth:function(e,t,i,a){var s=this._getNumberOfMonths(e),n=this._daylightSavingAdjust(new Date(i,a+(0>t?t:s[0]*s[1]),1));return 0>t&&n.setDate(this._getDaysInMonth(n.getFullYear(),n.getMonth())),this._isInRange(e,n)},_isInRange:function(e,t){var i,a,s=this._getMinMaxDate(e,"min"),n=this._getMinMaxDate(e,"max"),r=null,o=null,u=this._get(e,"yearRange");return u&&(i=u.split(":"),a=(new Date).getFullYear(),r=parseInt(i[0],10),o=parseInt(i[1],10),i[0].match(/[+\-].*/)&&(r+=a),i[1].match(/[+\-].*/)&&(o+=a)),(!s||t.getTime()>=s.getTime())&&(!n||t.getTime()<=n.getTime())&&(!r||t.getFullYear()>=r)&&(!o||o>=t.getFullYear())},_getFormatConfig:function(e){var t=this._get(e,"shortYearCutoff");return t="string"!=typeof t?t:(new Date).getFullYear()%100+parseInt(t,10),{shortYearCutoff:t,dayNamesShort:this._get(e,"dayNamesShort"),dayNames:this._get(e,"dayNames"),monthNamesShort:this._get(e,"monthNamesShort"),monthNames:this._get(e,"monthNames")}},_formatDate:function(e,t,i,a){t||(e.currentDay=e.selectedDay,e.currentMonth=e.selectedMonth,e.currentYear=e.selectedYear);var s=t?"object"==typeof t?t:this._daylightSavingAdjust(new Date(a,i,t)):this._daylightSavingAdjust(new Date(e.currentYear,e.currentMonth,e.currentDay));return this.formatDate(this._get(e,"dateFormat"),s,this._getFormatConfig(e))}}),e.fn.datepicker=function(t){if(!this.length)return this;e.datepicker.initialized||(e(document).mousedown(e.datepicker._checkExternalClick),e.datepicker.initialized=!0),0===e("#"+e.datepicker._mainDivId).length&&e("body").append(e.datepicker.dpDiv);var i=Array.prototype.slice.call(arguments,1);return"string"!=typeof t||"isDisabled"!==t&&"getDate"!==t&&"widget"!==t?"option"===t&&2===arguments.length&&"string"==typeof arguments[1]?e.datepicker["_"+t+"Datepicker"].apply(e.datepicker,[this[0]].concat(i)):this.each(function(){"string"==typeof t?e.datepicker["_"+t+"Datepicker"].apply(e.datepicker,[this].concat(i)):e.datepicker._attachDatepicker(this,t)}):e.datepicker["_"+t+"Datepicker"].apply(e.datepicker,[this[0]].concat(i))},e.datepicker=new i,e.datepicker.initialized=!1,e.datepicker.uuid=(new Date).getTime(),e.datepicker.version="1.10.4"})(jQuery);(function(t){t.widget("ui.menu",{version:"1.10.4",defaultElement:"<ul>",delay:300,options:{icons:{submenu:"ui-icon-carat-1-e"},menus:"ul",position:{my:"left top",at:"right top"},role:"menu",blur:null,focus:null,select:null},_create:function(){this.activeMenu=this.element,this.mouseHandled=!1,this.element.uniqueId().addClass("ui-menu ui-widget ui-widget-content ui-corner-all").toggleClass("ui-menu-icons",!!this.element.find(".ui-icon").length).attr({role:this.options.role,tabIndex:0}).bind("click"+this.eventNamespace,t.proxy(function(t){this.options.disabled&&t.preventDefault()},this)),this.options.disabled&&this.element.addClass("ui-state-disabled").attr("aria-disabled","true"),this._on({"mousedown .ui-menu-item > a":function(t){t.preventDefault()},"click .ui-state-disabled > a":function(t){t.preventDefault()},"click .ui-menu-item:has(a)":function(e){var i=t(e.target).closest(".ui-menu-item");!this.mouseHandled&&i.not(".ui-state-disabled").length&&(this.select(e),e.isPropagationStopped()||(this.mouseHandled=!0),i.has(".ui-menu").length?this.expand(e):!this.element.is(":focus")&&t(this.document[0].activeElement).closest(".ui-menu").length&&(this.element.trigger("focus",[!0]),this.active&&1===this.active.parents(".ui-menu").length&&clearTimeout(this.timer)))},"mouseenter .ui-menu-item":function(e){var i=t(e.currentTarget);i.siblings().children(".ui-state-active").removeClass("ui-state-active"),this.focus(e,i)},mouseleave:"collapseAll","mouseleave .ui-menu":"collapseAll",focus:function(t,e){var i=this.active||this.element.children(".ui-menu-item").eq(0);e||this.focus(t,i)},blur:function(e){this._delay(function(){t.contains(this.element[0],this.document[0].activeElement)||this.collapseAll(e)})},keydown:"_keydown"}),this.refresh(),this._on(this.document,{click:function(e){t(e.target).closest(".ui-menu").length||this.collapseAll(e),this.mouseHandled=!1}})},_destroy:function(){this.element.removeAttr("aria-activedescendant").find(".ui-menu").addBack().removeClass("ui-menu ui-widget ui-widget-content ui-corner-all ui-menu-icons").removeAttr("role").removeAttr("tabIndex").removeAttr("aria-labelledby").removeAttr("aria-expanded").removeAttr("aria-hidden").removeAttr("aria-disabled").removeUniqueId().show(),this.element.find(".ui-menu-item").removeClass("ui-menu-item").removeAttr("role").removeAttr("aria-disabled").children("a").removeUniqueId().removeClass("ui-corner-all ui-state-hover").removeAttr("tabIndex").removeAttr("role").removeAttr("aria-haspopup").children().each(function(){var e=t(this);e.data("ui-menu-submenu-carat")&&e.remove()}),this.element.find(".ui-menu-divider").removeClass("ui-menu-divider ui-widget-content")},_keydown:function(e){function i(t){return t.replace(/[\-\[\]{}()*+?.,\\\^$|#\s]/g,"\\$&")}var s,n,a,o,r,l=!0;switch(e.keyCode){case t.ui.keyCode.PAGE_UP:this.previousPage(e);break;case t.ui.keyCode.PAGE_DOWN:this.nextPage(e);break;case t.ui.keyCode.HOME:this._move("first","first",e);break;case t.ui.keyCode.END:this._move("last","last",e);break;case t.ui.keyCode.UP:this.previous(e);break;case t.ui.keyCode.DOWN:this.next(e);break;case t.ui.keyCode.LEFT:this.collapse(e);break;case t.ui.keyCode.RIGHT:this.active&&!this.active.is(".ui-state-disabled")&&this.expand(e);break;case t.ui.keyCode.ENTER:case t.ui.keyCode.SPACE:this._activate(e);break;case t.ui.keyCode.ESCAPE:this.collapse(e);break;default:l=!1,n=this.previousFilter||"",a=String.fromCharCode(e.keyCode),o=!1,clearTimeout(this.filterTimer),a===n?o=!0:a=n+a,r=RegExp("^"+i(a),"i"),s=this.activeMenu.children(".ui-menu-item").filter(function(){return r.test(t(this).children("a").text())}),s=o&&-1!==s.index(this.active.next())?this.active.nextAll(".ui-menu-item"):s,s.length||(a=String.fromCharCode(e.keyCode),r=RegExp("^"+i(a),"i"),s=this.activeMenu.children(".ui-menu-item").filter(function(){return r.test(t(this).children("a").text())})),s.length?(this.focus(e,s),s.length>1?(this.previousFilter=a,this.filterTimer=this._delay(function(){delete this.previousFilter},1e3)):delete this.previousFilter):delete this.previousFilter}l&&e.preventDefault()},_activate:function(t){this.active.is(".ui-state-disabled")||(this.active.children("a[aria-haspopup='true']").length?this.expand(t):this.select(t))},refresh:function(){var e,i=this.options.icons.submenu,s=this.element.find(this.options.menus);this.element.toggleClass("ui-menu-icons",!!this.element.find(".ui-icon").length),s.filter(":not(.ui-menu)").addClass("ui-menu ui-widget ui-widget-content ui-corner-all").hide().attr({role:this.options.role,"aria-hidden":"true","aria-expanded":"false"}).each(function(){var e=t(this),s=e.prev("a"),n=t("<span>").addClass("ui-menu-icon ui-icon "+i).data("ui-menu-submenu-carat",!0);s.attr("aria-haspopup","true").prepend(n),e.attr("aria-labelledby",s.attr("id"))}),e=s.add(this.element),e.children(":not(.ui-menu-item):has(a)").addClass("ui-menu-item").attr("role","presentation").children("a").uniqueId().addClass("ui-corner-all").attr({tabIndex:-1,role:this._itemRole()}),e.children(":not(.ui-menu-item)").each(function(){var e=t(this);/[^\-\u2014\u2013\s]/.test(e.text())||e.addClass("ui-widget-content ui-menu-divider")}),e.children(".ui-state-disabled").attr("aria-disabled","true"),this.active&&!t.contains(this.element[0],this.active[0])&&this.blur()},_itemRole:function(){return{menu:"menuitem",listbox:"option"}[this.options.role]},_setOption:function(t,e){"icons"===t&&this.element.find(".ui-menu-icon").removeClass(this.options.icons.submenu).addClass(e.submenu),this._super(t,e)},focus:function(t,e){var i,s;this.blur(t,t&&"focus"===t.type),this._scrollIntoView(e),this.active=e.first(),s=this.active.children("a").addClass("ui-state-focus"),this.options.role&&this.element.attr("aria-activedescendant",s.attr("id")),this.active.parent().closest(".ui-menu-item").children("a:first").addClass("ui-state-active"),t&&"keydown"===t.type?this._close():this.timer=this._delay(function(){this._close()},this.delay),i=e.children(".ui-menu"),i.length&&t&&/^mouse/.test(t.type)&&this._startOpening(i),this.activeMenu=e.parent(),this._trigger("focus",t,{item:e})},_scrollIntoView:function(e){var i,s,n,a,o,r;this._hasScroll()&&(i=parseFloat(t.css(this.activeMenu[0],"borderTopWidth"))||0,s=parseFloat(t.css(this.activeMenu[0],"paddingTop"))||0,n=e.offset().top-this.activeMenu.offset().top-i-s,a=this.activeMenu.scrollTop(),o=this.activeMenu.height(),r=e.height(),0>n?this.activeMenu.scrollTop(a+n):n+r>o&&this.activeMenu.scrollTop(a+n-o+r))},blur:function(t,e){e||clearTimeout(this.timer),this.active&&(this.active.children("a").removeClass("ui-state-focus"),this.active=null,this._trigger("blur",t,{item:this.active}))},_startOpening:function(t){clearTimeout(this.timer),"true"===t.attr("aria-hidden")&&(this.timer=this._delay(function(){this._close(),this._open(t)},this.delay))},_open:function(e){var i=t.extend({of:this.active},this.options.position);clearTimeout(this.timer),this.element.find(".ui-menu").not(e.parents(".ui-menu")).hide().attr("aria-hidden","true"),e.show().removeAttr("aria-hidden").attr("aria-expanded","true").position(i)},collapseAll:function(e,i){clearTimeout(this.timer),this.timer=this._delay(function(){var s=i?this.element:t(e&&e.target).closest(this.element.find(".ui-menu"));s.length||(s=this.element),this._close(s),this.blur(e),this.activeMenu=s},this.delay)},_close:function(t){t||(t=this.active?this.active.parent():this.element),t.find(".ui-menu").hide().attr("aria-hidden","true").attr("aria-expanded","false").end().find("a.ui-state-active").removeClass("ui-state-active")},collapse:function(t){var e=this.active&&this.active.parent().closest(".ui-menu-item",this.element);e&&e.length&&(this._close(),this.focus(t,e))},expand:function(t){var e=this.active&&this.active.children(".ui-menu ").children(".ui-menu-item").first();e&&e.length&&(this._open(e.parent()),this._delay(function(){this.focus(t,e)}))},next:function(t){this._move("next","first",t)},previous:function(t){this._move("prev","last",t)},isFirstItem:function(){return this.active&&!this.active.prevAll(".ui-menu-item").length},isLastItem:function(){return this.active&&!this.active.nextAll(".ui-menu-item").length},_move:function(t,e,i){var s;this.active&&(s="first"===t||"last"===t?this.active["first"===t?"prevAll":"nextAll"](".ui-menu-item").eq(-1):this.active[t+"All"](".ui-menu-item").eq(0)),s&&s.length&&this.active||(s=this.activeMenu.children(".ui-menu-item")[e]()),this.focus(i,s)},nextPage:function(e){var i,s,n;return this.active?(this.isLastItem()||(this._hasScroll()?(s=this.active.offset().top,n=this.element.height(),this.active.nextAll(".ui-menu-item").each(function(){return i=t(this),0>i.offset().top-s-n}),this.focus(e,i)):this.focus(e,this.activeMenu.children(".ui-menu-item")[this.active?"last":"first"]())),undefined):(this.next(e),undefined)},previousPage:function(e){var i,s,n;return this.active?(this.isFirstItem()||(this._hasScroll()?(s=this.active.offset().top,n=this.element.height(),this.active.prevAll(".ui-menu-item").each(function(){return i=t(this),i.offset().top-s+n>0}),this.focus(e,i)):this.focus(e,this.activeMenu.children(".ui-menu-item").first())),undefined):(this.next(e),undefined)},_hasScroll:function(){return this.element.outerHeight()<this.element.prop("scrollHeight")},select:function(e){this.active=this.active||t(e.target).closest(".ui-menu-item");var i={item:this.active};this.active.has(".ui-menu").length||this.collapseAll(e,!0),this._trigger("select",e,i)}})})(jQuery);(function(t,e){t.widget("ui.progressbar",{version:"1.10.4",options:{max:100,value:0,change:null,complete:null},min:0,_create:function(){this.oldValue=this.options.value=this._constrainedValue(),this.element.addClass("ui-progressbar ui-widget ui-widget-content ui-corner-all").attr({role:"progressbar","aria-valuemin":this.min}),this.valueDiv=t("<div class='ui-progressbar-value ui-widget-header ui-corner-left'></div>").appendTo(this.element),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()},value:function(t){return t===e?this.options.value:(this.options.value=this._constrainedValue(t),this._refreshValue(),e)},_constrainedValue:function(t){return t===e&&(t=this.options.value),this.indeterminate=t===!1,"number"!=typeof t&&(t=0),this.indeterminate?!1:Math.min(this.options.max,Math.max(this.min,t))},_setOptions:function(t){var e=t.value;delete t.value,this._super(t),this.options.value=this._constrainedValue(e),this._refreshValue()},_setOption:function(t,e){"max"===t&&(e=Math.max(this.min,e)),this._super(t,e)},_percentage:function(){return this.indeterminate?100:100*(this.options.value-this.min)/(this.options.max-this.min)},_refreshValue:function(){var e=this.options.value,i=this._percentage();this.valueDiv.toggle(this.indeterminate||e>this.min).toggleClass("ui-corner-right",e===this.options.max).width(i.toFixed(0)+"%"),this.element.toggleClass("ui-progressbar-indeterminate",this.indeterminate),this.indeterminate?(this.element.removeAttr("aria-valuenow"),this.overlayDiv||(this.overlayDiv=t("<div class='ui-progressbar-overlay'></div>").appendTo(this.valueDiv))):(this.element.attr({"aria-valuemax":this.options.max,"aria-valuenow":e}),this.overlayDiv&&(this.overlayDiv.remove(),this.overlayDiv=null)),this.oldValue!==e&&(this.oldValue=e,this._trigger("change")),e===this.options.max&&this._trigger("complete")}})})(jQuery);(function(t){var e=5;t.widget("ui.slider",t.ui.mouse,{version:"1.10.4",widgetEventPrefix:"slide",options:{animate:!1,distance:0,max:100,min:0,orientation:"horizontal",range:!1,step:1,value:0,values:null,change:null,slide:null,start:null,stop:null},_create:function(){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"),this._refresh(),this._setOption("disabled",this.options.disabled),this._animateOff=!1},_refresh:function(){this._createRange(),this._createHandles(),this._setupEvents(),this._refreshValue()},_createHandles:function(){var e,i,s=this.options,n=this.element.find(".ui-slider-handle").addClass("ui-state-default ui-corner-all"),a="<a class='ui-slider-handle ui-state-default ui-corner-all' href='#'></a>",o=[];for(i=s.values&&s.values.length||1,n.length>i&&(n.slice(i).remove(),n=n.slice(0,i)),e=n.length;i>e;e++)o.push(a);this.handles=n.add(t(o.join("")).appendTo(this.element)),this.handle=this.handles.eq(0),this.handles.each(function(e){t(this).data("ui-slider-handle-index",e)})},_createRange:function(){var e=this.options,i="";e.range?(e.range===!0&&(e.values?e.values.length&&2!==e.values.length?e.values=[e.values[0],e.values[0]]:t.isArray(e.values)&&(e.values=e.values.slice(0)):e.values=[this._valueMin(),this._valueMin()]),this.range&&this.range.length?this.range.removeClass("ui-slider-range-min ui-slider-range-max").css({left:"",bottom:""}):(this.range=t("<div></div>").appendTo(this.element),i="ui-slider-range ui-widget-header ui-corner-all"),this.range.addClass(i+("min"===e.range||"max"===e.range?" ui-slider-range-"+e.range:""))):(this.range&&this.range.remove(),this.range=null)},_setupEvents:function(){var t=this.handles.add(this.range).filter("a");this._off(t),this._on(t,this._handleEvents),this._hoverable(t),this._focusable(t)},_destroy:function(){this.handles.remove(),this.range&&this.range.remove(),this.element.removeClass("ui-slider ui-slider-horizontal ui-slider-vertical ui-widget ui-widget-content ui-corner-all"),this._mouseDestroy()},_mouseCapture:function(e){var i,s,n,a,o,r,l,h,u=this,c=this.options;return c.disabled?!1:(this.elementSize={width:this.element.outerWidth(),height:this.element.outerHeight()},this.elementOffset=this.element.offset(),i={x:e.pageX,y:e.pageY},s=this._normValueFromMouse(i),n=this._valueMax()-this._valueMin()+1,this.handles.each(function(e){var i=Math.abs(s-u.values(e));(n>i||n===i&&(e===u._lastChangedValue||u.values(e)===c.min))&&(n=i,a=t(this),o=e)}),r=this._start(e,o),r===!1?!1:(this._mouseSliding=!0,this._handleIndex=o,a.addClass("ui-state-active").focus(),l=a.offset(),h=!t(e.target).parents().addBack().is(".ui-slider-handle"),this._clickOffset=h?{left:0,top:0}:{left:e.pageX-l.left-a.width()/2,top:e.pageY-l.top-a.height()/2-(parseInt(a.css("borderTopWidth"),10)||0)-(parseInt(a.css("borderBottomWidth"),10)||0)+(parseInt(a.css("marginTop"),10)||0)},this.handles.hasClass("ui-state-hover")||this._slide(e,o,s),this._animateOff=!0,!0))},_mouseStart:function(){return!0},_mouseDrag:function(t){var e={x:t.pageX,y:t.pageY},i=this._normValueFromMouse(e);return this._slide(t,this._handleIndex,i),!1},_mouseStop:function(t){return this.handles.removeClass("ui-state-active"),this._mouseSliding=!1,this._stop(t,this._handleIndex),this._change(t,this._handleIndex),this._handleIndex=null,this._clickOffset=null,this._animateOff=!1,!1},_detectOrientation:function(){this.orientation="vertical"===this.options.orientation?"vertical":"horizontal"},_normValueFromMouse:function(t){var e,i,s,n,a;return"horizontal"===this.orientation?(e=this.elementSize.width,i=t.x-this.elementOffset.left-(this._clickOffset?this._clickOffset.left:0)):(e=this.elementSize.height,i=t.y-this.elementOffset.top-(this._clickOffset?this._clickOffset.top:0)),s=i/e,s>1&&(s=1),0>s&&(s=0),"vertical"===this.orientation&&(s=1-s),n=this._valueMax()-this._valueMin(),a=this._valueMin()+s*n,this._trimAlignValue(a)},_start:function(t,e){var i={handle:this.handles[e],value:this.value()};return this.options.values&&this.options.values.length&&(i.value=this.values(e),i.values=this.values()),this._trigger("start",t,i)},_slide:function(t,e,i){var s,n,a;this.options.values&&this.options.values.length?(s=this.values(e?0:1),2===this.options.values.length&&this.options.range===!0&&(0===e&&i>s||1===e&&s>i)&&(i=s),i!==this.values(e)&&(n=this.values(),n[e]=i,a=this._trigger("slide",t,{handle:this.handles[e],value:i,values:n}),s=this.values(e?0:1),a!==!1&&this.values(e,i))):i!==this.value()&&(a=this._trigger("slide",t,{handle:this.handles[e],value:i}),a!==!1&&this.value(i))},_stop:function(t,e){var i={handle:this.handles[e],value:this.value()};this.options.values&&this.options.values.length&&(i.value=this.values(e),i.values=this.values()),this._trigger("stop",t,i)},_change:function(t,e){if(!this._keySliding&&!this._mouseSliding){var i={handle:this.handles[e],value:this.value()};this.options.values&&this.options.values.length&&(i.value=this.values(e),i.values=this.values()),this._lastChangedValue=e,this._trigger("change",t,i)}},value:function(t){return arguments.length?(this.options.value=this._trimAlignValue(t),this._refreshValue(),this._change(null,0),undefined):this._value()},values:function(e,i){var s,n,a;if(arguments.length>1)return this.options.values[e]=this._trimAlignValue(i),this._refreshValue(),this._change(null,e),undefined;if(!arguments.length)return this._values();if(!t.isArray(arguments[0]))return this.options.values&&this.options.values.length?this._values(e):this.value();for(s=this.options.values,n=arguments[0],a=0;s.length>a;a+=1)s[a]=this._trimAlignValue(n[a]),this._change(null,a);this._refreshValue()},_setOption:function(e,i){var s,n=0;switch("range"===e&&this.options.range===!0&&("min"===i?(this.options.value=this._values(0),this.options.values=null):"max"===i&&(this.options.value=this._values(this.options.values.length-1),this.options.values=null)),t.isArray(this.options.values)&&(n=this.options.values.length),t.Widget.prototype._setOption.apply(this,arguments),e){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":for(this._animateOff=!0,this._refreshValue(),s=0;n>s;s+=1)this._change(null,s);this._animateOff=!1;break;case"min":case"max":this._animateOff=!0,this._refreshValue(),this._animateOff=!1;break;case"range":this._animateOff=!0,this._refresh(),this._animateOff=!1}},_value:function(){var t=this.options.value;return t=this._trimAlignValue(t)},_values:function(t){var e,i,s;if(arguments.length)return e=this.options.values[t],e=this._trimAlignValue(e);if(this.options.values&&this.options.values.length){for(i=this.options.values.slice(),s=0;i.length>s;s+=1)i[s]=this._trimAlignValue(i[s]);return i}return[]},_trimAlignValue:function(t){if(this._valueMin()>=t)return this._valueMin();if(t>=this._valueMax())return this._valueMax();var e=this.options.step>0?this.options.step:1,i=(t-this._valueMin())%e,s=t-i;return 2*Math.abs(i)>=e&&(s+=i>0?e:-e),parseFloat(s.toFixed(5))},_valueMin:function(){return this.options.min},_valueMax:function(){return this.options.max},_refreshValue:function(){var e,i,s,n,a,o=this.options.range,r=this.options,l=this,h=this._animateOff?!1:r.animate,u={};this.options.values&&this.options.values.length?this.handles.each(function(s){i=100*((l.values(s)-l._valueMin())/(l._valueMax()-l._valueMin())),u["horizontal"===l.orientation?"left":"bottom"]=i+"%",t(this).stop(1,1)[h?"animate":"css"](u,r.animate),l.options.range===!0&&("horizontal"===l.orientation?(0===s&&l.range.stop(1,1)[h?"animate":"css"]({left:i+"%"},r.animate),1===s&&l.range[h?"animate":"css"]({width:i-e+"%"},{queue:!1,duration:r.animate})):(0===s&&l.range.stop(1,1)[h?"animate":"css"]({bottom:i+"%"},r.animate),1===s&&l.range[h?"animate":"css"]({height:i-e+"%"},{queue:!1,duration:r.animate}))),e=i}):(s=this.value(),n=this._valueMin(),a=this._valueMax(),i=a!==n?100*((s-n)/(a-n)):0,u["horizontal"===this.orientation?"left":"bottom"]=i+"%",this.handle.stop(1,1)[h?"animate":"css"](u,r.animate),"min"===o&&"horizontal"===this.orientation&&this.range.stop(1,1)[h?"animate":"css"]({width:i+"%"},r.animate),"max"===o&&"horizontal"===this.orientation&&this.range[h?"animate":"css"]({width:100-i+"%"},{queue:!1,duration:r.animate}),"min"===o&&"vertical"===this.orientation&&this.range.stop(1,1)[h?"animate":"css"]({height:i+"%"},r.animate),"max"===o&&"vertical"===this.orientation&&this.range[h?"animate":"css"]({height:100-i+"%"},{queue:!1,duration:r.animate}))},_handleEvents:{keydown:function(i){var s,n,a,o,r=t(i.target).data("ui-slider-handle-index");switch(i.keyCode){case t.ui.keyCode.HOME:case t.ui.keyCode.END:case t.ui.keyCode.PAGE_UP:case t.ui.keyCode.PAGE_DOWN:case t.ui.keyCode.UP:case t.ui.keyCode.RIGHT:case t.ui.keyCode.DOWN:case t.ui.keyCode.LEFT:if(i.preventDefault(),!this._keySliding&&(this._keySliding=!0,t(i.target).addClass("ui-state-active"),s=this._start(i,r),s===!1))return}switch(o=this.options.step,n=a=this.options.values&&this.options.values.length?this.values(r):this.value(),i.keyCode){case t.ui.keyCode.HOME:a=this._valueMin();break;case t.ui.keyCode.END:a=this._valueMax();break;case t.ui.keyCode.PAGE_UP:a=this._trimAlignValue(n+(this._valueMax()-this._valueMin())/e);break;case t.ui.keyCode.PAGE_DOWN:a=this._trimAlignValue(n-(this._valueMax()-this._valueMin())/e);break;case t.ui.keyCode.UP:case t.ui.keyCode.RIGHT:if(n===this._valueMax())return;a=this._trimAlignValue(n+o);break;case t.ui.keyCode.DOWN:case t.ui.keyCode.LEFT:if(n===this._valueMin())return;a=this._trimAlignValue(n-o)}this._slide(i,r,a)},click:function(t){t.preventDefault()},keyup:function(e){var i=t(e.target).data("ui-slider-handle-index");this._keySliding&&(this._keySliding=!1,this._stop(e,i),this._change(e,i),t(e.target).removeClass("ui-state-active"))}}})})(jQuery);(function(t,e){function i(){return++n}function s(t){return t=t.cloneNode(!1),t.hash.length>1&&decodeURIComponent(t.href.replace(a,""))===decodeURIComponent(location.href.replace(a,""))}var n=0,a=/#.*$/;t.widget("ui.tabs",{version:"1.10.4",delay:300,options:{active:null,collapsible:!1,event:"click",heightStyle:"content",hide:null,show:null,activate:null,beforeActivate:null,beforeLoad:null,load:null},_create:function(){var e=this,i=this.options;this.running=!1,this.element.addClass("ui-tabs ui-widget ui-widget-content ui-corner-all").toggleClass("ui-tabs-collapsible",i.collapsible).delegate(".ui-tabs-nav > li","mousedown"+this.eventNamespace,function(e){t(this).is(".ui-state-disabled")&&e.preventDefault()}).delegate(".ui-tabs-anchor","focus"+this.eventNamespace,function(){t(this).closest("li").is(".ui-state-disabled")&&this.blur()}),this._processTabs(),i.active=this._initialActive(),t.isArray(i.disabled)&&(i.disabled=t.unique(i.disabled.concat(t.map(this.tabs.filter(".ui-state-disabled"),function(t){return e.tabs.index(t)}))).sort()),this.active=this.options.active!==!1&&this.anchors.length?this._findActive(i.active):t(),this._refresh(),this.active.length&&this.load(i.active)},_initialActive:function(){var i=this.options.active,s=this.options.collapsible,n=location.hash.substring(1);return null===i&&(n&&this.tabs.each(function(s,a){return t(a).attr("aria-controls")===n?(i=s,!1):e}),null===i&&(i=this.tabs.index(this.tabs.filter(".ui-tabs-active"))),(null===i||-1===i)&&(i=this.tabs.length?0:!1)),i!==!1&&(i=this.tabs.index(this.tabs.eq(i)),-1===i&&(i=s?!1:0)),!s&&i===!1&&this.anchors.length&&(i=0),i},_getCreateEventData:function(){return{tab:this.active,panel:this.active.length?this._getPanelForTab(this.active):t()}},_tabKeydown:function(i){var s=t(this.document[0].activeElement).closest("li"),n=this.tabs.index(s),a=!0;if(!this._handlePageNav(i)){switch(i.keyCode){case t.ui.keyCode.RIGHT:case t.ui.keyCode.DOWN:n++;break;case t.ui.keyCode.UP:case t.ui.keyCode.LEFT:a=!1,n--;break;case t.ui.keyCode.END:n=this.anchors.length-1;break;case t.ui.keyCode.HOME:n=0;break;case t.ui.keyCode.SPACE:return i.preventDefault(),clearTimeout(this.activating),this._activate(n),e;case t.ui.keyCode.ENTER:return i.preventDefault(),clearTimeout(this.activating),this._activate(n===this.options.active?!1:n),e;default:return}i.preventDefault(),clearTimeout(this.activating),n=this._focusNextTab(n,a),i.ctrlKey||(s.attr("aria-selected","false"),this.tabs.eq(n).attr("aria-selected","true"),this.activating=this._delay(function(){this.option("active",n)},this.delay))}},_panelKeydown:function(e){this._handlePageNav(e)||e.ctrlKey&&e.keyCode===t.ui.keyCode.UP&&(e.preventDefault(),this.active.focus())},_handlePageNav:function(i){return i.altKey&&i.keyCode===t.ui.keyCode.PAGE_UP?(this._activate(this._focusNextTab(this.options.active-1,!1)),!0):i.altKey&&i.keyCode===t.ui.keyCode.PAGE_DOWN?(this._activate(this._focusNextTab(this.options.active+1,!0)),!0):e},_findNextTab:function(e,i){function s(){return e>n&&(e=0),0>e&&(e=n),e}for(var n=this.tabs.length-1;-1!==t.inArray(s(),this.options.disabled);)e=i?e+1:e-1;return e},_focusNextTab:function(t,e){return t=this._findNextTab(t,e),this.tabs.eq(t).focus(),t},_setOption:function(t,i){return"active"===t?(this._activate(i),e):"disabled"===t?(this._setupDisabled(i),e):(this._super(t,i),"collapsible"===t&&(this.element.toggleClass("ui-tabs-collapsible",i),i||this.options.active!==!1||this._activate(0)),"event"===t&&this._setupEvents(i),"heightStyle"===t&&this._setupHeightStyle(i),e)},_tabId:function(t){return t.attr("aria-controls")||"ui-tabs-"+i()},_sanitizeSelector:function(t){return t?t.replace(/[!"$%&'()*+,.\/:;<=>?@\[\]\^`{|}~]/g,"\\$&"):""},refresh:function(){var e=this.options,i=this.tablist.children(":has(a[href])");e.disabled=t.map(i.filter(".ui-state-disabled"),function(t){return i.index(t)}),this._processTabs(),e.active!==!1&&this.anchors.length?this.active.length&&!t.contains(this.tablist[0],this.active[0])?this.tabs.length===e.disabled.length?(e.active=!1,this.active=t()):this._activate(this._findNextTab(Math.max(0,e.active-1),!1)):e.active=this.tabs.index(this.active):(e.active=!1,this.active=t()),this._refresh()},_refresh:function(){this._setupDisabled(this.options.disabled),this._setupEvents(this.options.event),this._setupHeightStyle(this.options.heightStyle),this.tabs.not(this.active).attr({"aria-selected":"false",tabIndex:-1}),this.panels.not(this._getPanelForTab(this.active)).hide().attr({"aria-expanded":"false","aria-hidden":"true"}),this.active.length?(this.active.addClass("ui-tabs-active ui-state-active").attr({"aria-selected":"true",tabIndex:0}),this._getPanelForTab(this.active).show().attr({"aria-expanded":"true","aria-hidden":"false"})):this.tabs.eq(0).attr("tabIndex",0)},_processTabs:function(){var e=this;this.tablist=this._getList().addClass("ui-tabs-nav ui-helper-reset ui-helper-clearfix ui-widget-header ui-corner-all").attr("role","tablist"),this.tabs=this.tablist.find("> li:has(a[href])").addClass("ui-state-default ui-corner-top").attr({role:"tab",tabIndex:-1}),this.anchors=this.tabs.map(function(){return t("a",this)[0]}).addClass("ui-tabs-anchor").attr({role:"presentation",tabIndex:-1}),this.panels=t(),this.anchors.each(function(i,n){var a,o,r,h=t(n).uniqueId().attr("id"),l=t(n).closest("li"),c=l.attr("aria-controls");s(n)?(a=n.hash,o=e.element.find(e._sanitizeSelector(a))):(r=e._tabId(l),a="#"+r,o=e.element.find(a),o.length||(o=e._createPanel(r),o.insertAfter(e.panels[i-1]||e.tablist)),o.attr("aria-live","polite")),o.length&&(e.panels=e.panels.add(o)),c&&l.data("ui-tabs-aria-controls",c),l.attr({"aria-controls":a.substring(1),"aria-labelledby":h}),o.attr("aria-labelledby",h)}),this.panels.addClass("ui-tabs-panel ui-widget-content ui-corner-bottom").attr("role","tabpanel")},_getList:function(){return this.tablist||this.element.find("ol,ul").eq(0)},_createPanel:function(e){return t("<div>").attr("id",e).addClass("ui-tabs-panel ui-widget-content ui-corner-bottom").data("ui-tabs-destroy",!0)},_setupDisabled:function(e){t.isArray(e)&&(e.length?e.length===this.anchors.length&&(e=!0):e=!1);for(var i,s=0;i=this.tabs[s];s++)e===!0||-1!==t.inArray(s,e)?t(i).addClass("ui-state-disabled").attr("aria-disabled","true"):t(i).removeClass("ui-state-disabled").removeAttr("aria-disabled");this.options.disabled=e},_setupEvents:function(e){var i={click:function(t){t.preventDefault()}};e&&t.each(e.split(" "),function(t,e){i[e]="_eventHandler"}),this._off(this.anchors.add(this.tabs).add(this.panels)),this._on(this.anchors,i),this._on(this.tabs,{keydown:"_tabKeydown"}),this._on(this.panels,{keydown:"_panelKeydown"}),this._focusable(this.tabs),this._hoverable(this.tabs)},_setupHeightStyle:function(e){var i,s=this.element.parent();"fill"===e?(i=s.height(),i-=this.element.outerHeight()-this.element.height(),this.element.siblings(":visible").each(function(){var e=t(this),s=e.css("position");"absolute"!==s&&"fixed"!==s&&(i-=e.outerHeight(!0))}),this.element.children().not(this.panels).each(function(){i-=t(this).outerHeight(!0)}),this.panels.each(function(){t(this).height(Math.max(0,i-t(this).innerHeight()+t(this).height()))}).css("overflow","auto")):"auto"===e&&(i=0,this.panels.each(function(){i=Math.max(i,t(this).height("").height())}).height(i))},_eventHandler:function(e){var i=this.options,s=this.active,n=t(e.currentTarget),a=n.closest("li"),o=a[0]===s[0],r=o&&i.collapsible,h=r?t():this._getPanelForTab(a),l=s.length?this._getPanelForTab(s):t(),c={oldTab:s,oldPanel:l,newTab:r?t():a,newPanel:h};e.preventDefault(),a.hasClass("ui-state-disabled")||a.hasClass("ui-tabs-loading")||this.running||o&&!i.collapsible||this._trigger("beforeActivate",e,c)===!1||(i.active=r?!1:this.tabs.index(a),this.active=o?t():a,this.xhr&&this.xhr.abort(),l.length||h.length||t.error("jQuery UI Tabs: Mismatching fragment identifier."),h.length&&this.load(this.tabs.index(a),e),this._toggle(e,c))},_toggle:function(e,i){function s(){a.running=!1,a._trigger("activate",e,i)}function n(){i.newTab.closest("li").addClass("ui-tabs-active ui-state-active"),o.length&&a.options.show?a._show(o,a.options.show,s):(o.show(),s())}var a=this,o=i.newPanel,r=i.oldPanel;this.running=!0,r.length&&this.options.hide?this._hide(r,this.options.hide,function(){i.oldTab.closest("li").removeClass("ui-tabs-active ui-state-active"),n()}):(i.oldTab.closest("li").removeClass("ui-tabs-active ui-state-active"),r.hide(),n()),r.attr({"aria-expanded":"false","aria-hidden":"true"}),i.oldTab.attr("aria-selected","false"),o.length&&r.length?i.oldTab.attr("tabIndex",-1):o.length&&this.tabs.filter(function(){return 0===t(this).attr("tabIndex")}).attr("tabIndex",-1),o.attr({"aria-expanded":"true","aria-hidden":"false"}),i.newTab.attr({"aria-selected":"true",tabIndex:0})},_activate:function(e){var i,s=this._findActive(e);s[0]!==this.active[0]&&(s.length||(s=this.active),i=s.find(".ui-tabs-anchor")[0],this._eventHandler({target:i,currentTarget:i,preventDefault:t.noop}))},_findActive:function(e){return e===!1?t():this.tabs.eq(e)},_getIndex:function(t){return"string"==typeof t&&(t=this.anchors.index(this.anchors.filter("[href$='"+t+"']"))),t},_destroy:function(){this.xhr&&this.xhr.abort(),this.element.removeClass("ui-tabs ui-widget ui-widget-content ui-corner-all ui-tabs-collapsible"),this.tablist.removeClass("ui-tabs-nav ui-helper-reset ui-helper-clearfix ui-widget-header ui-corner-all").removeAttr("role"),this.anchors.removeClass("ui-tabs-anchor").removeAttr("role").removeAttr("tabIndex").removeUniqueId(),this.tabs.add(this.panels).each(function(){t.data(this,"ui-tabs-destroy")?t(this).remove():t(this).removeClass("ui-state-default ui-state-active ui-state-disabled ui-corner-top ui-corner-bottom ui-widget-content ui-tabs-active ui-tabs-panel").removeAttr("tabIndex").removeAttr("aria-live").removeAttr("aria-busy").removeAttr("aria-selected").removeAttr("aria-labelledby").removeAttr("aria-hidden").removeAttr("aria-expanded").removeAttr("role")}),this.tabs.each(function(){var e=t(this),i=e.data("ui-tabs-aria-controls");i?e.attr("aria-controls",i).removeData("ui-tabs-aria-controls"):e.removeAttr("aria-controls")}),this.panels.show(),"content"!==this.options.heightStyle&&this.panels.css("height","")},enable:function(i){var s=this.options.disabled;s!==!1&&(i===e?s=!1:(i=this._getIndex(i),s=t.isArray(s)?t.map(s,function(t){return t!==i?t:null}):t.map(this.tabs,function(t,e){return e!==i?e:null})),this._setupDisabled(s))},disable:function(i){var s=this.options.disabled;if(s!==!0){if(i===e)s=!0;else{if(i=this._getIndex(i),-1!==t.inArray(i,s))return;s=t.isArray(s)?t.merge([i],s).sort():[i]}this._setupDisabled(s)}},load:function(e,i){e=this._getIndex(e);var n=this,a=this.tabs.eq(e),o=a.find(".ui-tabs-anchor"),r=this._getPanelForTab(a),h={tab:a,panel:r};s(o[0])||(this.xhr=t.ajax(this._ajaxSettings(o,i,h)),this.xhr&&"canceled"!==this.xhr.statusText&&(a.addClass("ui-tabs-loading"),r.attr("aria-busy","true"),this.xhr.success(function(t){setTimeout(function(){r.html(t),n._trigger("load",i,h)},1)}).complete(function(t,e){setTimeout(function(){"abort"===e&&n.panels.stop(!1,!0),a.removeClass("ui-tabs-loading"),r.removeAttr("aria-busy"),t===n.xhr&&delete n.xhr},1)})))},_ajaxSettings:function(e,i,s){var n=this;return{url:e.attr("href"),beforeSend:function(e,a){return n._trigger("beforeLoad",i,t.extend({jqXHR:e,ajaxSettings:a},s))}}},_getPanelForTab:function(e){var i=t(e).attr("aria-controls");return this.element.find(this._sanitizeSelector("#"+i))}})})(jQuery);(function(t,e){var i="ui-effects-";t.effects={effect:{}},function(t,e){function i(t,e,i){var s=u[e.type]||{};return null==t?i||!e.def?null:e.def:(t=s.floor?~~t:parseFloat(t),isNaN(t)?e.def:s.mod?(t+s.mod)%s.mod:0>t?0:t>s.max?s.max:t)}function s(i){var s=h(),n=s._rgba=[];return i=i.toLowerCase(),f(l,function(t,a){var o,r=a.re.exec(i),l=r&&a.parse(r),h=a.space||"rgba";return l?(o=s[h](l),s[c[h].cache]=o[c[h].cache],n=s._rgba=o._rgba,!1):e}),n.length?("0,0,0,0"===n.join()&&t.extend(n,a.transparent),s):a[i]}function n(t,e,i){return i=(i+1)%1,1>6*i?t+6*(e-t)*i:1>2*i?e:2>3*i?t+6*(e-t)*(2/3-i):t}var a,o="backgroundColor borderBottomColor borderLeftColor borderRightColor borderTopColor color columnRuleColor outlineColor textDecorationColor textEmphasisColor",r=/^([\-+])=\s*(\d+\.?\d*)/,l=[{re:/rgba?\(\s*(\d{1,3})\s*,\s*(\d{1,3})\s*,\s*(\d{1,3})\s*(?:,\s*(\d?(?:\.\d+)?)\s*)?\)/,parse:function(t){return[t[1],t[2],t[3],t[4]]}},{re:/rgba?\(\s*(\d+(?:\.\d+)?)\%\s*,\s*(\d+(?:\.\d+)?)\%\s*,\s*(\d+(?:\.\d+)?)\%\s*(?:,\s*(\d?(?:\.\d+)?)\s*)?\)/,parse:function(t){return[2.55*t[1],2.55*t[2],2.55*t[3],t[4]]}},{re:/#([a-f0-9]{2})([a-f0-9]{2})([a-f0-9]{2})/,parse:function(t){return[parseInt(t[1],16),parseInt(t[2],16),parseInt(t[3],16)]}},{re:/#([a-f0-9])([a-f0-9])([a-f0-9])/,parse:function(t){return[parseInt(t[1]+t[1],16),parseInt(t[2]+t[2],16),parseInt(t[3]+t[3],16)]}},{re:/hsla?\(\s*(\d+(?:\.\d+)?)\s*,\s*(\d+(?:\.\d+)?)\%\s*,\s*(\d+(?:\.\d+)?)\%\s*(?:,\s*(\d?(?:\.\d+)?)\s*)?\)/,space:"hsla",parse:function(t){return[t[1],t[2]/100,t[3]/100,t[4]]}}],h=t.Color=function(e,i,s,n){return new t.Color.fn.parse(e,i,s,n)},c={rgba:{props:{red:{idx:0,type:"byte"},green:{idx:1,type:"byte"},blue:{idx:2,type:"byte"}}},hsla:{props:{hue:{idx:0,type:"degrees"},saturation:{idx:1,type:"percent"},lightness:{idx:2,type:"percent"}}}},u={"byte":{floor:!0,max:255},percent:{max:1},degrees:{mod:360,floor:!0}},d=h.support={},p=t("<p>")[0],f=t.each;p.style.cssText="background-color:rgba(1,1,1,.5)",d.rgba=p.style.backgroundColor.indexOf("rgba")>-1,f(c,function(t,e){e.cache="_"+t,e.props.alpha={idx:3,type:"percent",def:1}}),h.fn=t.extend(h.prototype,{parse:function(n,o,r,l){if(n===e)return this._rgba=[null,null,null,null],this;(n.jquery||n.nodeType)&&(n=t(n).css(o),o=e);var u=this,d=t.type(n),p=this._rgba=[];return o!==e&&(n=[n,o,r,l],d="array"),"string"===d?this.parse(s(n)||a._default):"array"===d?(f(c.rgba.props,function(t,e){p[e.idx]=i(n[e.idx],e)}),this):"object"===d?(n instanceof h?f(c,function(t,e){n[e.cache]&&(u[e.cache]=n[e.cache].slice())}):f(c,function(e,s){var a=s.cache;f(s.props,function(t,e){if(!u[a]&&s.to){if("alpha"===t||null==n[t])return;u[a]=s.to(u._rgba)}u[a][e.idx]=i(n[t],e,!0)}),u[a]&&0>t.inArray(null,u[a].slice(0,3))&&(u[a][3]=1,s.from&&(u._rgba=s.from(u[a])))}),this):e},is:function(t){var i=h(t),s=!0,n=this;return f(c,function(t,a){var o,r=i[a.cache];return r&&(o=n[a.cache]||a.to&&a.to(n._rgba)||[],f(a.props,function(t,i){return null!=r[i.idx]?s=r[i.idx]===o[i.idx]:e})),s}),s},_space:function(){var t=[],e=this;return f(c,function(i,s){e[s.cache]&&t.push(i)}),t.pop()},transition:function(t,e){var s=h(t),n=s._space(),a=c[n],o=0===this.alpha()?h("transparent"):this,r=o[a.cache]||a.to(o._rgba),l=r.slice();return s=s[a.cache],f(a.props,function(t,n){var a=n.idx,o=r[a],h=s[a],c=u[n.type]||{};null!==h&&(null===o?l[a]=h:(c.mod&&(h-o>c.mod/2?o+=c.mod:o-h>c.mod/2&&(o-=c.mod)),l[a]=i((h-o)*e+o,n)))}),this[n](l)},blend:function(e){if(1===this._rgba[3])return this;var i=this._rgba.slice(),s=i.pop(),n=h(e)._rgba;return h(t.map(i,function(t,e){return(1-s)*n[e]+s*t}))},toRgbaString:function(){var e="rgba(",i=t.map(this._rgba,function(t,e){return null==t?e>2?1:0:t});return 1===i[3]&&(i.pop(),e="rgb("),e+i.join()+")"},toHslaString:function(){var e="hsla(",i=t.map(this.hsla(),function(t,e){return null==t&&(t=e>2?1:0),e&&3>e&&(t=Math.round(100*t)+"%"),t});return 1===i[3]&&(i.pop(),e="hsl("),e+i.join()+")"},toHexString:function(e){var i=this._rgba.slice(),s=i.pop();return e&&i.push(~~(255*s)),"#"+t.map(i,function(t){return t=(t||0).toString(16),1===t.length?"0"+t:t}).join("")},toString:function(){return 0===this._rgba[3]?"transparent":this.toRgbaString()}}),h.fn.parse.prototype=h.fn,c.hsla.to=function(t){if(null==t[0]||null==t[1]||null==t[2])return[null,null,null,t[3]];var e,i,s=t[0]/255,n=t[1]/255,a=t[2]/255,o=t[3],r=Math.max(s,n,a),l=Math.min(s,n,a),h=r-l,c=r+l,u=.5*c;return e=l===r?0:s===r?60*(n-a)/h+360:n===r?60*(a-s)/h+120:60*(s-n)/h+240,i=0===h?0:.5>=u?h/c:h/(2-c),[Math.round(e)%360,i,u,null==o?1:o]},c.hsla.from=function(t){if(null==t[0]||null==t[1]||null==t[2])return[null,null,null,t[3]];var e=t[0]/360,i=t[1],s=t[2],a=t[3],o=.5>=s?s*(1+i):s+i-s*i,r=2*s-o;return[Math.round(255*n(r,o,e+1/3)),Math.round(255*n(r,o,e)),Math.round(255*n(r,o,e-1/3)),a]},f(c,function(s,n){var a=n.props,o=n.cache,l=n.to,c=n.from;h.fn[s]=function(s){if(l&&!this[o]&&(this[o]=l(this._rgba)),s===e)return this[o].slice();var n,r=t.type(s),u="array"===r||"object"===r?s:arguments,d=this[o].slice();return f(a,function(t,e){var s=u["object"===r?t:e.idx];null==s&&(s=d[e.idx]),d[e.idx]=i(s,e)}),c?(n=h(c(d)),n[o]=d,n):h(d)},f(a,function(e,i){h.fn[e]||(h.fn[e]=function(n){var a,o=t.type(n),l="alpha"===e?this._hsla?"hsla":"rgba":s,h=this[l](),c=h[i.idx];return"undefined"===o?c:("function"===o&&(n=n.call(this,c),o=t.type(n)),null==n&&i.empty?this:("string"===o&&(a=r.exec(n),a&&(n=c+parseFloat(a[2])*("+"===a[1]?1:-1))),h[i.idx]=n,this[l](h)))})})}),h.hook=function(e){var i=e.split(" ");f(i,function(e,i){t.cssHooks[i]={set:function(e,n){var a,o,r="";if("transparent"!==n&&("string"!==t.type(n)||(a=s(n)))){if(n=h(a||n),!d.rgba&&1!==n._rgba[3]){for(o="backgroundColor"===i?e.parentNode:e;(""===r||"transparent"===r)&&o&&o.style;)try{r=t.css(o,"backgroundColor"),o=o.parentNode}catch(l){}n=n.blend(r&&"transparent"!==r?r:"_default")}n=n.toRgbaString()}try{e.style[i]=n}catch(l){}}},t.fx.step[i]=function(e){e.colorInit||(e.start=h(e.elem,i),e.end=h(e.end),e.colorInit=!0),t.cssHooks[i].set(e.elem,e.start.transition(e.end,e.pos))}})},h.hook(o),t.cssHooks.borderColor={expand:function(t){var e={};return f(["Top","Right","Bottom","Left"],function(i,s){e["border"+s+"Color"]=t}),e}},a=t.Color.names={aqua:"#00ffff",black:"#000000",blue:"#0000ff",fuchsia:"#ff00ff",gray:"#808080",green:"#008000",lime:"#00ff00",maroon:"#800000",navy:"#000080",olive:"#808000",purple:"#800080",red:"#ff0000",silver:"#c0c0c0",teal:"#008080",white:"#ffffff",yellow:"#ffff00",transparent:[null,null,null,0],_default:"#ffffff"}}(jQuery),function(){function i(e){var i,s,n=e.ownerDocument.defaultView?e.ownerDocument.defaultView.getComputedStyle(e,null):e.currentStyle,a={};if(n&&n.length&&n[0]&&n[n[0]])for(s=n.length;s--;)i=n[s],"string"==typeof n[i]&&(a[t.camelCase(i)]=n[i]);else for(i in n)"string"==typeof n[i]&&(a[i]=n[i]);return a}function s(e,i){var s,n,o={};for(s in i)n=i[s],e[s]!==n&&(a[s]||(t.fx.step[s]||!isNaN(parseFloat(n)))&&(o[s]=n));return o}var n=["add","remove","toggle"],a={border:1,borderBottom:1,borderColor:1,borderLeft:1,borderRight:1,borderTop:1,borderWidth:1,margin:1,padding:1};t.each(["borderLeftStyle","borderRightStyle","borderBottomStyle","borderTopStyle"],function(e,i){t.fx.step[i]=function(t){("none"!==t.end&&!t.setAttr||1===t.pos&&!t.setAttr)&&(jQuery.style(t.elem,i,t.end),t.setAttr=!0)}}),t.fn.addBack||(t.fn.addBack=function(t){return this.add(null==t?this.prevObject:this.prevObject.filter(t))}),t.effects.animateClass=function(e,a,o,r){var l=t.speed(a,o,r);return this.queue(function(){var a,o=t(this),r=o.attr("class")||"",h=l.children?o.find("*").addBack():o;h=h.map(function(){var e=t(this);return{el:e,start:i(this)}}),a=function(){t.each(n,function(t,i){e[i]&&o[i+"Class"](e[i])})},a(),h=h.map(function(){return this.end=i(this.el[0]),this.diff=s(this.start,this.end),this}),o.attr("class",r),h=h.map(function(){var e=this,i=t.Deferred(),s=t.extend({},l,{queue:!1,complete:function(){i.resolve(e)}});return this.el.animate(this.diff,s),i.promise()}),t.when.apply(t,h.get()).done(function(){a(),t.each(arguments,function(){var e=this.el;t.each(this.diff,function(t){e.css(t,"")})}),l.complete.call(o[0])})})},t.fn.extend({addClass:function(e){return function(i,s,n,a){return s?t.effects.animateClass.call(this,{add:i},s,n,a):e.apply(this,arguments)}}(t.fn.addClass),removeClass:function(e){return function(i,s,n,a){return arguments.length>1?t.effects.animateClass.call(this,{remove:i},s,n,a):e.apply(this,arguments)}}(t.fn.removeClass),toggleClass:function(i){return function(s,n,a,o,r){return"boolean"==typeof n||n===e?a?t.effects.animateClass.call(this,n?{add:s}:{remove:s},a,o,r):i.apply(this,arguments):t.effects.animateClass.call(this,{toggle:s},n,a,o)}}(t.fn.toggleClass),switchClass:function(e,i,s,n,a){return t.effects.animateClass.call(this,{add:i,remove:e},s,n,a)}})}(),function(){function s(e,i,s,n){return t.isPlainObject(e)&&(i=e,e=e.effect),e={effect:e},null==i&&(i={}),t.isFunction(i)&&(n=i,s=null,i={}),("number"==typeof i||t.fx.speeds[i])&&(n=s,s=i,i={}),t.isFunction(s)&&(n=s,s=null),i&&t.extend(e,i),s=s||i.duration,e.duration=t.fx.off?0:"number"==typeof s?s:s in t.fx.speeds?t.fx.speeds[s]:t.fx.speeds._default,e.complete=n||i.complete,e}function n(e){return!e||"number"==typeof e||t.fx.speeds[e]?!0:"string"!=typeof e||t.effects.effect[e]?t.isFunction(e)?!0:"object"!=typeof e||e.effect?!1:!0:!0}t.extend(t.effects,{version:"1.10.4",save:function(t,e){for(var s=0;e.length>s;s++)null!==e[s]&&t.data(i+e[s],t[0].style[e[s]])},restore:function(t,s){var n,a;for(a=0;s.length>a;a++)null!==s[a]&&(n=t.data(i+s[a]),n===e&&(n=""),t.css(s[a],n))},setMode:function(t,e){return"toggle"===e&&(e=t.is(":hidden")?"show":"hide"),e},getBaseline:function(t,e){var i,s;switch(t[0]){case"top":i=0;break;case"middle":i=.5;break;case"bottom":i=1;break;default:i=t[0]/e.height}switch(t[1]){case"left":s=0;break;case"center":s=.5;break;case"right":s=1;break;default:s=t[1]/e.width}return{x:s,y:i}},createWrapper:function(e){if(e.parent().is(".ui-effects-wrapper"))return e.parent();var i={width:e.outerWidth(!0),height:e.outerHeight(!0),"float":e.css("float")},s=t("<div></div>").addClass("ui-effects-wrapper").css({fontSize:"100%",background:"transparent",border:"none",margin:0,padding:0}),n={width:e.width(),height:e.height()},a=document.activeElement;try{a.id}catch(o){a=document.body}return e.wrap(s),(e[0]===a||t.contains(e[0],a))&&t(a).focus(),s=e.parent(),"static"===e.css("position")?(s.css({position:"relative"}),e.css({position:"relative"})):(t.extend(i,{position:e.css("position"),zIndex:e.css("z-index")}),t.each(["top","left","bottom","right"],function(t,s){i[s]=e.css(s),isNaN(parseInt(i[s],10))&&(i[s]="auto")}),e.css({position:"relative",top:0,left:0,right:"auto",bottom:"auto"})),e.css(n),s.css(i).show()},removeWrapper:function(e){var i=document.activeElement;return e.parent().is(".ui-effects-wrapper")&&(e.parent().replaceWith(e),(e[0]===i||t.contains(e[0],i))&&t(i).focus()),e},setTransition:function(e,i,s,n){return n=n||{},t.each(i,function(t,i){var a=e.cssUnit(i);a[0]>0&&(n[i]=a[0]*s+a[1])}),n}}),t.fn.extend({effect:function(){function e(e){function s(){t.isFunction(a)&&a.call(n[0]),t.isFunction(e)&&e()}var n=t(this),a=i.complete,r=i.mode;(n.is(":hidden")?"hide"===r:"show"===r)?(n[r](),s()):o.call(n[0],i,s)}var i=s.apply(this,arguments),n=i.mode,a=i.queue,o=t.effects.effect[i.effect];return t.fx.off||!o?n?this[n](i.duration,i.complete):this.each(function(){i.complete&&i.complete.call(this)}):a===!1?this.each(e):this.queue(a||"fx",e)},show:function(t){return function(e){if(n(e))return t.apply(this,arguments);var i=s.apply(this,arguments);return i.mode="show",this.effect.call(this,i)}}(t.fn.show),hide:function(t){return function(e){if(n(e))return t.apply(this,arguments);var i=s.apply(this,arguments);return i.mode="hide",this.effect.call(this,i)}}(t.fn.hide),toggle:function(t){return function(e){if(n(e)||"boolean"==typeof e)return t.apply(this,arguments);var i=s.apply(this,arguments);return i.mode="toggle",this.effect.call(this,i)}}(t.fn.toggle),cssUnit:function(e){var i=this.css(e),s=[];return t.each(["em","px","%","pt"],function(t,e){i.indexOf(e)>0&&(s=[parseFloat(i),e])}),s}})}(),function(){var e={};t.each(["Quad","Cubic","Quart","Quint","Expo"],function(t,i){e[i]=function(e){return Math.pow(e,t+2)}}),t.extend(e,{Sine:function(t){return 1-Math.cos(t*Math.PI/2)},Circ:function(t){return 1-Math.sqrt(1-t*t)},Elastic:function(t){return 0===t||1===t?t:-Math.pow(2,8*(t-1))*Math.sin((80*(t-1)-7.5)*Math.PI/15)},Back:function(t){return t*t*(3*t-2)},Bounce:function(t){for(var e,i=4;((e=Math.pow(2,--i))-1)/11>t;);return 1/Math.pow(4,3-i)-7.5625*Math.pow((3*e-2)/22-t,2)}}),t.each(e,function(e,i){t.easing["easeIn"+e]=i,t.easing["easeOut"+e]=function(t){return 1-i(1-t)},t.easing["easeInOut"+e]=function(t){return.5>t?i(2*t)/2:1-i(-2*t+2)/2}})}()})(jQuery);(function(t){t.effects.effect.highlight=function(e,i){var s=t(this),n=["backgroundImage","backgroundColor","opacity"],a=t.effects.setMode(s,e.mode||"show"),o={backgroundColor:s.css("backgroundColor")};"hide"===a&&(o.opacity=0),t.effects.save(s,n),s.show().css({backgroundImage:"none",backgroundColor:e.color||"#ffff99"}).animate(o,{queue:!1,duration:e.duration,easing:e.easing,complete:function(){"hide"===a&&s.hide(),t.effects.restore(s,n),i()}})}})(jQuery); >\ No newline at end of file >diff --git a/koha-tmpl/intranet-tmpl/lib/jquery/jquery.js b/koha-tmpl/intranet-tmpl/lib/jquery/jquery.js >deleted file mode 100644 >index 93adea19fd..0000000000 >--- a/koha-tmpl/intranet-tmpl/lib/jquery/jquery.js >+++ /dev/null >@@ -1,4 +0,0 @@ >-/*! jQuery v1.7.2 jquery.com | jquery.org/license */ >-(function(a,b){function cy(a){return f.isWindow(a)?a:a.nodeType===9?a.defaultView||a.parentWindow:!1}function cu(a){if(!cj[a]){var b=c.body,d=f("<"+a+">").appendTo(b),e=d.css("display");d.remove();if(e==="none"||e===""){ck||(ck=c.createElement("iframe"),ck.frameBorder=ck.width=ck.height=0),b.appendChild(ck);if(!cl||!ck.createElement)cl=(ck.contentWindow||ck.contentDocument).document,cl.write((f.support.boxModel?"<!doctype html>":"")+"<html><body>"),cl.close();d=cl.createElement(a),cl.body.appendChild(d),e=f.css(d,"display"),b.removeChild(ck)}cj[a]=e}return cj[a]}function ct(a,b){var c={};f.each(cp.concat.apply([],cp.slice(0,b)),function(){c[this]=a});return c}function cs(){cq=b}function cr(){setTimeout(cs,0);return cq=f.now()}function ci(){try{return new a.ActiveXObject("Microsoft.XMLHTTP")}catch(b){}}function ch(){try{return new a.XMLHttpRequest}catch(b){}}function cb(a,c){a.dataFilter&&(c=a.dataFilter(c,a.dataType));var d=a.dataTypes,e={},g,h,i=d.length,j,k=d[0],l,m,n,o,p;for(g=1;g<i;g++){if(g===1)for(h in a.converters)typeof h=="string"&&(e[h.toLowerCase()]=a.converters[h]);l=k,k=d[g];if(k==="*")k=l;else if(l!=="*"&&l!==k){m=l+" "+k,n=e[m]||e["* "+k];if(!n){p=b;for(o in e){j=o.split(" ");if(j[0]===l||j[0]==="*"){p=e[j[1]+" "+k];if(p){o=e[o],o===!0?n=p:p===!0&&(n=o);break}}}}!n&&!p&&f.error("No conversion from "+m.replace(" "," to ")),n!==!0&&(c=n?n(c):p(o(c)))}}return c}function ca(a,c,d){var e=a.contents,f=a.dataTypes,g=a.responseFields,h,i,j,k;for(i in g)i in d&&(c[g[i]]=d[i]);while(f[0]==="*")f.shift(),h===b&&(h=a.mimeType||c.getResponseHeader("content-type"));if(h)for(i in e)if(e[i]&&e[i].test(h)){f.unshift(i);break}if(f[0]in d)j=f[0];else{for(i in d){if(!f[0]||a.converters[i+" "+f[0]]){j=i;break}k||(k=i)}j=j||k}if(j){j!==f[0]&&f.unshift(j);return d[j]}}function b_(a,b,c,d){if(f.isArray(b))f.each(b,function(b,e){c||bD.test(a)?d(a,e):b_(a+"["+(typeof e=="object"?b:"")+"]",e,c,d)});else if(!c&&f.type(b)==="object")for(var e in b)b_(a+"["+e+"]",b[e],c,d);else d(a,b)}function b$(a,c){var d,e,g=f.ajaxSettings.flatOptions||{};for(d in c)c[d]!==b&&((g[d]?a:e||(e={}))[d]=c[d]);e&&f.extend(!0,a,e)}function bZ(a,c,d,e,f,g){f=f||c.dataTypes[0],g=g||{},g[f]=!0;var h=a[f],i=0,j=h?h.length:0,k=a===bS,l;for(;i<j&&(k||!l);i++)l=h[i](c,d,e),typeof l=="string"&&(!k||g[l]?l=b:(c.dataTypes.unshift(l),l=bZ(a,c,d,e,l,g)));(k||!l)&&!g["*"]&&(l=bZ(a,c,d,e,"*",g));return l}function bY(a){return function(b,c){typeof b!="string"&&(c=b,b="*");if(f.isFunction(c)){var d=b.toLowerCase().split(bO),e=0,g=d.length,h,i,j;for(;e<g;e++)h=d[e],j=/^\+/.test(h),j&&(h=h.substr(1)||"*"),i=a[h]=a[h]||[],i[j?"unshift":"push"](c)}}}function bB(a,b,c){var d=b==="width"?a.offsetWidth:a.offsetHeight,e=b==="width"?1:0,g=4;if(d>0){if(c!=="border")for(;e<g;e+=2)c||(d-=parseFloat(f.css(a,"padding"+bx[e]))||0),c==="margin"?d+=parseFloat(f.css(a,c+bx[e]))||0:d-=parseFloat(f.css(a,"border"+bx[e]+"Width"))||0;return d+"px"}d=by(a,b);if(d<0||d==null)d=a.style[b];if(bt.test(d))return d;d=parseFloat(d)||0;if(c)for(;e<g;e+=2)d+=parseFloat(f.css(a,"padding"+bx[e]))||0,c!=="padding"&&(d+=parseFloat(f.css(a,"border"+bx[e]+"Width"))||0),c==="margin"&&(d+=parseFloat(f.css(a,c+bx[e]))||0);return d+"px"}function bo(a){var b=c.createElement("div");bh.appendChild(b),b.innerHTML=a.outerHTML;return b.firstChild}function bn(a){var b=(a.nodeName||"").toLowerCase();b==="input"?bm(a):b!=="script"&&typeof a.getElementsByTagName!="undefined"&&f.grep(a.getElementsByTagName("input"),bm)}function bm(a){if(a.type==="checkbox"||a.type==="radio")a.defaultChecked=a.checked}function bl(a){return typeof a.getElementsByTagName!="undefined"?a.getElementsByTagName("*"):typeof a.querySelectorAll!="undefined"?a.querySelectorAll("*"):[]}function bk(a,b){var c;b.nodeType===1&&(b.clearAttributes&&b.clearAttributes(),b.mergeAttributes&&b.mergeAttributes(a),c=b.nodeName.toLowerCase(),c==="object"?b.outerHTML=a.outerHTML:c!=="input"||a.type!=="checkbox"&&a.type!=="radio"?c==="option"?b.selected=a.defaultSelected:c==="input"||c==="textarea"?b.defaultValue=a.defaultValue:c==="script"&&b.text!==a.text&&(b.text=a.text):(a.checked&&(b.defaultChecked=b.checked=a.checked),b.value!==a.value&&(b.value=a.value)),b.removeAttribute(f.expando),b.removeAttribute("_submit_attached"),b.removeAttribute("_change_attached"))}function bj(a,b){if(b.nodeType===1&&!!f.hasData(a)){var c,d,e,g=f._data(a),h=f._data(b,g),i=g.events;if(i){delete h.handle,h.events={};for(c in i)for(d=0,e=i[c].length;d<e;d++)f.event.add(b,c,i[c][d])}h.data&&(h.data=f.extend({},h.data))}}function bi(a,b){return f.nodeName(a,"table")?a.getElementsByTagName("tbody")[0]||a.appendChild(a.ownerDocument.createElement("tbody")):a}function U(a){var b=V.split("|"),c=a.createDocumentFragment();if(c.createElement)while(b.length)c.createElement(b.pop());return c}function T(a,b,c){b=b||0;if(f.isFunction(b))return f.grep(a,function(a,d){var e=!!b.call(a,d,a);return e===c});if(b.nodeType)return f.grep(a,function(a,d){return a===b===c});if(typeof b=="string"){var d=f.grep(a,function(a){return a.nodeType===1});if(O.test(b))return f.filter(b,d,!c);b=f.filter(b,d)}return f.grep(a,function(a,d){return f.inArray(a,b)>=0===c})}function S(a){return!a||!a.parentNode||a.parentNode.nodeType===11}function K(){return!0}function J(){return!1}function n(a,b,c){var d=b+"defer",e=b+"queue",g=b+"mark",h=f._data(a,d);h&&(c==="queue"||!f._data(a,e))&&(c==="mark"||!f._data(a,g))&&setTimeout(function(){!f._data(a,e)&&!f._data(a,g)&&(f.removeData(a,d,!0),h.fire())},0)}function m(a){for(var b in a){if(b==="data"&&f.isEmptyObject(a[b]))continue;if(b!=="toJSON")return!1}return!0}function l(a,c,d){if(d===b&&a.nodeType===1){var e="data-"+c.replace(k,"-$1").toLowerCase();d=a.getAttribute(e);if(typeof d=="string"){try{d=d==="true"?!0:d==="false"?!1:d==="null"?null:f.isNumeric(d)?+d:j.test(d)?f.parseJSON(d):d}catch(g){}f.data(a,c,d)}else d=b}return d}function h(a){var b=g[a]={},c,d;a=a.split(/\s+/);for(c=0,d=a.length;c<d;c++)b[a[c]]=!0;return b}var c=a.document,d=a.navigator,e=a.location,f=function(){function J(){if(!e.isReady){try{c.documentElement.doScroll("left")}catch(a){setTimeout(J,1);return}e.ready()}}var e=function(a,b){return new e.fn.init(a,b,h)},f=a.jQuery,g=a.$,h,i=/^(?:[^#<]*(<[\w\W]+>)[^>]*$|#([\w\-]*)$)/,j=/\S/,k=/^\s+/,l=/\s+$/,m=/^<(\w+)\s*\/?>(?:<\/\1>)?$/,n=/^[\],:{}\s]*$/,o=/\\(?:["\\\/bfnrt]|u[0-9a-fA-F]{4})/g,p=/"[^"\\\n\r]*"|true|false|null|-?\d+(?:\.\d*)?(?:[eE][+\-]?\d+)?/g,q=/(?:^|:|,)(?:\s*\[)+/g,r=/(webkit)[ \/]([\w.]+)/,s=/(opera)(?:.*version)?[ \/]([\w.]+)/,t=/(msie) ([\w.]+)/,u=/(mozilla)(?:.*? rv:([\w.]+))?/,v=/-([a-z]|[0-9])/ig,w=/^-ms-/,x=function(a,b){return(b+"").toUpperCase()},y=d.userAgent,z,A,B,C=Object.prototype.toString,D=Object.prototype.hasOwnProperty,E=Array.prototype.push,F=Array.prototype.slice,G=String.prototype.trim,H=Array.prototype.indexOf,I={};e.fn=e.prototype={constructor:e,init:function(a,d,f){var g,h,j,k;if(!a)return this;if(a.nodeType){this.context=this[0]=a,this.length=1;return this}if(a==="body"&&!d&&c.body){this.context=c,this[0]=c.body,this.selector=a,this.length=1;return this}if(typeof a=="string"){a.charAt(0)!=="<"||a.charAt(a.length-1)!==">"||a.length<3?g=i.exec(a):g=[null,a,null];if(g&&(g[1]||!d)){if(g[1]){d=d instanceof e?d[0]:d,k=d?d.ownerDocument||d:c,j=m.exec(a),j?e.isPlainObject(d)?(a=[c.createElement(j[1])],e.fn.attr.call(a,d,!0)):a=[k.createElement(j[1])]:(j=e.buildFragment([g[1]],[k]),a=(j.cacheable?e.clone(j.fragment):j.fragment).childNodes);return e.merge(this,a)}h=c.getElementById(g[2]);if(h&&h.parentNode){if(h.id!==g[2])return f.find(a);this.length=1,this[0]=h}this.context=c,this.selector=a;return this}return!d||d.jquery?(d||f).find(a):this.constructor(d).find(a)}if(e.isFunction(a))return f.ready(a);a.selector!==b&&(this.selector=a.selector,this.context=a.context);return e.makeArray(a,this)},selector:"",jquery:"1.7.2",length:0,size:function(){return this.length},toArray:function(){return F.call(this,0)},get:function(a){return a==null?this.toArray():a<0?this[this.length+a]:this[a]},pushStack:function(a,b,c){var d=this.constructor();e.isArray(a)?E.apply(d,a):e.merge(d,a),d.prevObject=this,d.context=this.context,b==="find"?d.selector=this.selector+(this.selector?" ":"")+c:b&&(d.selector=this.selector+"."+b+"("+c+")");return d},each:function(a,b){return e.each(this,a,b)},ready:function(a){e.bindReady(),A.add(a);return this},eq:function(a){a=+a;return a===-1?this.slice(a):this.slice(a,a+1)},first:function(){return this.eq(0)},last:function(){return this.eq(-1)},slice:function(){return this.pushStack(F.apply(this,arguments),"slice",F.call(arguments).join(","))},map:function(a){return this.pushStack(e.map(this,function(b,c){return a.call(b,c,b)}))},end:function(){return this.prevObject||this.constructor(null)},push:E,sort:[].sort,splice:[].splice},e.fn.init.prototype=e.fn,e.extend=e.fn.extend=function(){var a,c,d,f,g,h,i=arguments[0]||{},j=1,k=arguments.length,l=!1;typeof i=="boolean"&&(l=i,i=arguments[1]||{},j=2),typeof i!="object"&&!e.isFunction(i)&&(i={}),k===j&&(i=this,--j);for(;j<k;j++)if((a=arguments[j])!=null)for(c in a){d=i[c],f=a[c];if(i===f)continue;l&&f&&(e.isPlainObject(f)||(g=e.isArray(f)))?(g?(g=!1,h=d&&e.isArray(d)?d:[]):h=d&&e.isPlainObject(d)?d:{},i[c]=e.extend(l,h,f)):f!==b&&(i[c]=f)}return i},e.extend({noConflict:function(b){a.$===e&&(a.$=g),b&&a.jQuery===e&&(a.jQuery=f);return e},isReady:!1,readyWait:1,holdReady:function(a){a?e.readyWait++:e.ready(!0)},ready:function(a){if(a===!0&&!--e.readyWait||a!==!0&&!e.isReady){if(!c.body)return setTimeout(e.ready,1);e.isReady=!0;if(a!==!0&&--e.readyWait>0)return;A.fireWith(c,[e]),e.fn.trigger&&e(c).trigger("ready").off("ready")}},bindReady:function(){if(!A){A=e.Callbacks("once memory");if(c.readyState==="complete")return setTimeout(e.ready,1);if(c.addEventListener)c.addEventListener("DOMContentLoaded",B,!1),a.addEventListener("load",e.ready,!1);else if(c.attachEvent){c.attachEvent("onreadystatechange",B),a.attachEvent("onload",e.ready);var b=!1;try{b=a.frameElement==null}catch(d){}c.documentElement.doScroll&&b&&J()}}},isFunction:function(a){return e.type(a)==="function"},isArray:Array.isArray||function(a){return e.type(a)==="array"},isWindow:function(a){return a!=null&&a==a.window},isNumeric:function(a){return!isNaN(parseFloat(a))&&isFinite(a)},type:function(a){return a==null?String(a):I[C.call(a)]||"object"},isPlainObject:function(a){if(!a||e.type(a)!=="object"||a.nodeType||e.isWindow(a))return!1;try{if(a.constructor&&!D.call(a,"constructor")&&!D.call(a.constructor.prototype,"isPrototypeOf"))return!1}catch(c){return!1}var d;for(d in a);return d===b||D.call(a,d)},isEmptyObject:function(a){for(var b in a)return!1;return!0},error:function(a){throw new Error(a)},parseJSON:function(b){if(typeof b!="string"||!b)return null;b=e.trim(b);if(a.JSON&&a.JSON.parse)return a.JSON.parse(b);if(n.test(b.replace(o,"@").replace(p,"]").replace(q,"")))return(new Function("return "+b))();e.error("Invalid JSON: "+b)},parseXML:function(c){if(typeof c!="string"||!c)return null;var d,f;try{a.DOMParser?(f=new DOMParser,d=f.parseFromString(c,"text/xml")):(d=new ActiveXObject("Microsoft.XMLDOM"),d.async="false",d.loadXML(c))}catch(g){d=b}(!d||!d.documentElement||d.getElementsByTagName("parsererror").length)&&e.error("Invalid XML: "+c);return d},noop:function(){},globalEval:function(b){b&&j.test(b)&&(a.execScript||function(b){a.eval.call(a,b)})(b)},camelCase:function(a){return a.replace(w,"ms-").replace(v,x)},nodeName:function(a,b){return a.nodeName&&a.nodeName.toUpperCase()===b.toUpperCase()},each:function(a,c,d){var f,g=0,h=a.length,i=h===b||e.isFunction(a);if(d){if(i){for(f in a)if(c.apply(a[f],d)===!1)break}else for(;g<h;)if(c.apply(a[g++],d)===!1)break}else if(i){for(f in a)if(c.call(a[f],f,a[f])===!1)break}else for(;g<h;)if(c.call(a[g],g,a[g++])===!1)break;return a},trim:G?function(a){return a==null?"":G.call(a)}:function(a){return a==null?"":(a+"").replace(k,"").replace(l,"")},makeArray:function(a,b){var c=b||[];if(a!=null){var d=e.type(a);a.length==null||d==="string"||d==="function"||d==="regexp"||e.isWindow(a)?E.call(c,a):e.merge(c,a)}return c},inArray:function(a,b,c){var d;if(b){if(H)return H.call(b,a,c);d=b.length,c=c?c<0?Math.max(0,d+c):c:0;for(;c<d;c++)if(c in b&&b[c]===a)return c}return-1},merge:function(a,c){var d=a.length,e=0;if(typeof c.length=="number")for(var f=c.length;e<f;e++)a[d++]=c[e];else while(c[e]!==b)a[d++]=c[e++];a.length=d;return a},grep:function(a,b,c){var d=[],e;c=!!c;for(var f=0,g=a.length;f<g;f++)e=!!b(a[f],f),c!==e&&d.push(a[f]);return d},map:function(a,c,d){var f,g,h=[],i=0,j=a.length,k=a instanceof e||j!==b&&typeof j=="number"&&(j>0&&a[0]&&a[j-1]||j===0||e.isArray(a));if(k)for(;i<j;i++)f=c(a[i],i,d),f!=null&&(h[h.length]=f);else for(g in a)f=c(a[g],g,d),f!=null&&(h[h.length]=f);return h.concat.apply([],h)},guid:1,proxy:function(a,c){if(typeof c=="string"){var d=a[c];c=a,a=d}if(!e.isFunction(a))return b;var f=F.call(arguments,2),g=function(){return a.apply(c,f.concat(F.call(arguments)))};g.guid=a.guid=a.guid||g.guid||e.guid++;return g},access:function(a,c,d,f,g,h,i){var j,k=d==null,l=0,m=a.length;if(d&&typeof d=="object"){for(l in d)e.access(a,c,l,d[l],1,h,f);g=1}else if(f!==b){j=i===b&&e.isFunction(f),k&&(j?(j=c,c=function(a,b,c){return j.call(e(a),c)}):(c.call(a,f),c=null));if(c)for(;l<m;l++)c(a[l],d,j?f.call(a[l],l,c(a[l],d)):f,i);g=1}return g?a:k?c.call(a):m?c(a[0],d):h},now:function(){return(new Date).getTime()},uaMatch:function(a){a=a.toLowerCase();var b=r.exec(a)||s.exec(a)||t.exec(a)||a.indexOf("compatible")<0&&u.exec(a)||[];return{browser:b[1]||"",version:b[2]||"0"}},sub:function(){function a(b,c){return new a.fn.init(b,c)}e.extend(!0,a,this),a.superclass=this,a.fn=a.prototype=this(),a.fn.constructor=a,a.sub=this.sub,a.fn.init=function(d,f){f&&f instanceof e&&!(f instanceof a)&&(f=a(f));return e.fn.init.call(this,d,f,b)},a.fn.init.prototype=a.fn;var b=a(c);return a},browser:{}}),e.each("Boolean Number String Function Array Date RegExp Object".split(" "),function(a,b){I["[object "+b+"]"]=b.toLowerCase()}),z=e.uaMatch(y),z.browser&&(e.browser[z.browser]=!0,e.browser.version=z.version),e.browser.webkit&&(e.browser.safari=!0),j.test(" ")&&(k=/^[\s\xA0]+/,l=/[\s\xA0]+$/),h=e(c),c.addEventListener?B=function(){c.removeEventListener("DOMContentLoaded",B,!1),e.ready()}:c.attachEvent&&(B=function(){c.readyState==="complete"&&(c.detachEvent("onreadystatechange",B),e.ready())});return e}(),g={};f.Callbacks=function(a){a=a?g[a]||h(a):{};var c=[],d=[],e,i,j,k,l,m,n=function(b){var d,e,g,h,i;for(d=0,e=b.length;d<e;d++)g=b[d],h=f.type(g),h==="array"?n(g):h==="function"&&(!a.unique||!p.has(g))&&c.push(g)},o=function(b,f){f=f||[],e=!a.memory||[b,f],i=!0,j=!0,m=k||0,k=0,l=c.length;for(;c&&m<l;m++)if(c[m].apply(b,f)===!1&&a.stopOnFalse){e=!0;break}j=!1,c&&(a.once?e===!0?p.disable():c=[]:d&&d.length&&(e=d.shift(),p.fireWith(e[0],e[1])))},p={add:function(){if(c){var a=c.length;n(arguments),j?l=c.length:e&&e!==!0&&(k=a,o(e[0],e[1]))}return this},remove:function(){if(c){var b=arguments,d=0,e=b.length;for(;d<e;d++)for(var f=0;f<c.length;f++)if(b[d]===c[f]){j&&f<=l&&(l--,f<=m&&m--),c.splice(f--,1);if(a.unique)break}}return this},has:function(a){if(c){var b=0,d=c.length;for(;b<d;b++)if(a===c[b])return!0}return!1},empty:function(){c=[];return this},disable:function(){c=d=e=b;return this},disabled:function(){return!c},lock:function(){d=b,(!e||e===!0)&&p.disable();return this},locked:function(){return!d},fireWith:function(b,c){d&&(j?a.once||d.push([b,c]):(!a.once||!e)&&o(b,c));return this},fire:function(){p.fireWith(this,arguments);return this},fired:function(){return!!i}};return p};var i=[].slice;f.extend({Deferred:function(a){var b=f.Callbacks("once memory"),c=f.Callbacks("once memory"),d=f.Callbacks("memory"),e="pending",g={resolve:b,reject:c,notify:d},h={done:b.add,fail:c.add,progress:d.add,state:function(){return e},isResolved:b.fired,isRejected:c.fired,then:function(a,b,c){i.done(a).fail(b).progress(c);return this},always:function(){i.done.apply(i,arguments).fail.apply(i,arguments);return this},pipe:function(a,b,c){return f.Deferred(function(d){f.each({done:[a,"resolve"],fail:[b,"reject"],progress:[c,"notify"]},function(a,b){var c=b[0],e=b[1],g;f.isFunction(c)?i[a](function(){g=c.apply(this,arguments),g&&f.isFunction(g.promise)?g.promise().then(d.resolve,d.reject,d.notify):d[e+"With"](this===i?d:this,[g])}):i[a](d[e])})}).promise()},promise:function(a){if(a==null)a=h;else for(var b in h)a[b]=h[b];return a}},i=h.promise({}),j;for(j in g)i[j]=g[j].fire,i[j+"With"]=g[j].fireWith;i.done(function(){e="resolved"},c.disable,d.lock).fail(function(){e="rejected"},b.disable,d.lock),a&&a.call(i,i);return i},when:function(a){function m(a){return function(b){e[a]=arguments.length>1?i.call(arguments,0):b,j.notifyWith(k,e)}}function l(a){return function(c){b[a]=arguments.length>1?i.call(arguments,0):c,--g||j.resolveWith(j,b)}}var b=i.call(arguments,0),c=0,d=b.length,e=Array(d),g=d,h=d,j=d<=1&&a&&f.isFunction(a.promise)?a:f.Deferred(),k=j.promise();if(d>1){for(;c<d;c++)b[c]&&b[c].promise&&f.isFunction(b[c].promise)?b[c].promise().then(l(c),j.reject,m(c)):--g;g||j.resolveWith(j,b)}else j!==a&&j.resolveWith(j,d?[a]:[]);return k}}),f.support=function(){var b,d,e,g,h,i,j,k,l,m,n,o,p=c.createElement("div"),q=c.documentElement;p.setAttribute("className","t"),p.innerHTML=" <link/><table></table><a href='/a' style='top:1px;float:left;opacity:.55;'>a</a><input type='checkbox'/>",d=p.getElementsByTagName("*"),e=p.getElementsByTagName("a")[0];if(!d||!d.length||!e)return{};g=c.createElement("select"),h=g.appendChild(c.createElement("option")),i=p.getElementsByTagName("input")[0],b={leadingWhitespace:p.firstChild.nodeType===3,tbody:!p.getElementsByTagName("tbody").length,htmlSerialize:!!p.getElementsByTagName("link").length,style:/top/.test(e.getAttribute("style")),hrefNormalized:e.getAttribute("href")==="/a",opacity:/^0.55/.test(e.style.opacity),cssFloat:!!e.style.cssFloat,checkOn:i.value==="on",optSelected:h.selected,getSetAttribute:p.className!=="t",enctype:!!c.createElement("form").enctype,html5Clone:c.createElement("nav").cloneNode(!0).outerHTML!=="<:nav></:nav>",submitBubbles:!0,changeBubbles:!0,focusinBubbles:!1,deleteExpando:!0,noCloneEvent:!0,inlineBlockNeedsLayout:!1,shrinkWrapBlocks:!1,reliableMarginRight:!0,pixelMargin:!0},f.boxModel=b.boxModel=c.compatMode==="CSS1Compat",i.checked=!0,b.noCloneChecked=i.cloneNode(!0).checked,g.disabled=!0,b.optDisabled=!h.disabled;try{delete p.test}catch(r){b.deleteExpando=!1}!p.addEventListener&&p.attachEvent&&p.fireEvent&&(p.attachEvent("onclick",function(){b.noCloneEvent=!1}),p.cloneNode(!0).fireEvent("onclick")),i=c.createElement("input"),i.value="t",i.setAttribute("type","radio"),b.radioValue=i.value==="t",i.setAttribute("checked","checked"),i.setAttribute("name","t"),p.appendChild(i),j=c.createDocumentFragment(),j.appendChild(p.lastChild),b.checkClone=j.cloneNode(!0).cloneNode(!0).lastChild.checked,b.appendChecked=i.checked,j.removeChild(i),j.appendChild(p);if(p.attachEvent)for(n in{submit:1,change:1,focusin:1})m="on"+n,o=m in p,o||(p.setAttribute(m,"return;"),o=typeof p[m]=="function"),b[n+"Bubbles"]=o;j.removeChild(p),j=g=h=p=i=null,f(function(){var d,e,g,h,i,j,l,m,n,q,r,s,t,u=c.getElementsByTagName("body")[0];!u||(m=1,t="padding:0;margin:0;border:",r="position:absolute;top:0;left:0;width:1px;height:1px;",s=t+"0;visibility:hidden;",n="style='"+r+t+"5px solid #000;",q="<div "+n+"display:block;'><div style='"+t+"0;display:block;overflow:hidden;'></div></div>"+"<table "+n+"' cellpadding='0' cellspacing='0'>"+"<tr><td></td></tr></table>",d=c.createElement("div"),d.style.cssText=s+"width:0;height:0;position:static;top:0;margin-top:"+m+"px",u.insertBefore(d,u.firstChild),p=c.createElement("div"),d.appendChild(p),p.innerHTML="<table><tr><td style='"+t+"0;display:none'></td><td>t</td></tr></table>",k=p.getElementsByTagName("td"),o=k[0].offsetHeight===0,k[0].style.display="",k[1].style.display="none",b.reliableHiddenOffsets=o&&k[0].offsetHeight===0,a.getComputedStyle&&(p.innerHTML="",l=c.createElement("div"),l.style.width="0",l.style.marginRight="0",p.style.width="2px",p.appendChild(l),b.reliableMarginRight=(parseInt((a.getComputedStyle(l,null)||{marginRight:0}).marginRight,10)||0)===0),typeof p.style.zoom!="undefined"&&(p.innerHTML="",p.style.width=p.style.padding="1px",p.style.border=0,p.style.overflow="hidden",p.style.display="inline",p.style.zoom=1,b.inlineBlockNeedsLayout=p.offsetWidth===3,p.style.display="block",p.style.overflow="visible",p.innerHTML="<div style='width:5px;'></div>",b.shrinkWrapBlocks=p.offsetWidth!==3),p.style.cssText=r+s,p.innerHTML=q,e=p.firstChild,g=e.firstChild,i=e.nextSibling.firstChild.firstChild,j={doesNotAddBorder:g.offsetTop!==5,doesAddBorderForTableAndCells:i.offsetTop===5},g.style.position="fixed",g.style.top="20px",j.fixedPosition=g.offsetTop===20||g.offsetTop===15,g.style.position=g.style.top="",e.style.overflow="hidden",e.style.position="relative",j.subtractsBorderForOverflowNotVisible=g.offsetTop===-5,j.doesNotIncludeMarginInBodyOffset=u.offsetTop!==m,a.getComputedStyle&&(p.style.marginTop="1%",b.pixelMargin=(a.getComputedStyle(p,null)||{marginTop:0}).marginTop!=="1%"),typeof d.style.zoom!="undefined"&&(d.style.zoom=1),u.removeChild(d),l=p=d=null,f.extend(b,j))});return b}();var j=/^(?:\{.*\}|\[.*\])$/,k=/([A-Z])/g;f.extend({cache:{},uuid:0,expando:"jQuery"+(f.fn.jquery+Math.random()).replace(/\D/g,""),noData:{embed:!0,object:"clsid:D27CDB6E-AE6D-11cf-96B8-444553540000",applet:!0},hasData:function(a){a=a.nodeType?f.cache[a[f.expando]]:a[f.expando];return!!a&&!m(a)},data:function(a,c,d,e){if(!!f.acceptData(a)){var g,h,i,j=f.expando,k=typeof c=="string",l=a.nodeType,m=l?f.cache:a,n=l?a[j]:a[j]&&j,o=c==="events";if((!n||!m[n]||!o&&!e&&!m[n].data)&&k&&d===b)return;n||(l?a[j]=n=++f.uuid:n=j),m[n]||(m[n]={},l||(m[n].toJSON=f.noop));if(typeof c=="object"||typeof c=="function")e?m[n]=f.extend(m[n],c):m[n].data=f.extend(m[n].data,c);g=h=m[n],e||(h.data||(h.data={}),h=h.data),d!==b&&(h[f.camelCase(c)]=d);if(o&&!h[c])return g.events;k?(i=h[c],i==null&&(i=h[f.camelCase(c)])):i=h;return i}},removeData:function(a,b,c){if(!!f.acceptData(a)){var d,e,g,h=f.expando,i=a.nodeType,j=i?f.cache:a,k=i?a[h]:h;if(!j[k])return;if(b){d=c?j[k]:j[k].data;if(d){f.isArray(b)||(b in d?b=[b]:(b=f.camelCase(b),b in d?b=[b]:b=b.split(" ")));for(e=0,g=b.length;e<g;e++)delete d[b[e]];if(!(c?m:f.isEmptyObject)(d))return}}if(!c){delete j[k].data;if(!m(j[k]))return}f.support.deleteExpando||!j.setInterval?delete j[k]:j[k]=null,i&&(f.support.deleteExpando?delete a[h]:a.removeAttribute?a.removeAttribute(h):a[h]=null)}},_data:function(a,b,c){return f.data(a,b,c,!0)},acceptData:function(a){if(a.nodeName){var b=f.noData[a.nodeName.toLowerCase()];if(b)return b!==!0&&a.getAttribute("classid")===b}return!0}}),f.fn.extend({data:function(a,c){var d,e,g,h,i,j=this[0],k=0,m=null;if(a===b){if(this.length){m=f.data(j);if(j.nodeType===1&&!f._data(j,"parsedAttrs")){g=j.attributes;for(i=g.length;k<i;k++)h=g[k].name,h.indexOf("data-")===0&&(h=f.camelCase(h.substring(5)),l(j,h,m[h]));f._data(j,"parsedAttrs",!0)}}return m}if(typeof a=="object")return this.each(function(){f.data(this,a)});d=a.split(".",2),d[1]=d[1]?"."+d[1]:"",e=d[1]+"!";return f.access(this,function(c){if(c===b){m=this.triggerHandler("getData"+e,[d[0]]),m===b&&j&&(m=f.data(j,a),m=l(j,a,m));return m===b&&d[1]?this.data(d[0]):m}d[1]=c,this.each(function(){var b=f(this);b.triggerHandler("setData"+e,d),f.data(this,a,c),b.triggerHandler("changeData"+e,d)})},null,c,arguments.length>1,null,!1)},removeData:function(a){return this.each(function(){f.removeData(this,a)})}}),f.extend({_mark:function(a,b){a&&(b=(b||"fx")+"mark",f._data(a,b,(f._data(a,b)||0)+1))},_unmark:function(a,b,c){a!==!0&&(c=b,b=a,a=!1);if(b){c=c||"fx";var d=c+"mark",e=a?0:(f._data(b,d)||1)-1;e?f._data(b,d,e):(f.removeData(b,d,!0),n(b,c,"mark"))}},queue:function(a,b,c){var d;if(a){b=(b||"fx")+"queue",d=f._data(a,b),c&&(!d||f.isArray(c)?d=f._data(a,b,f.makeArray(c)):d.push(c));return d||[]}},dequeue:function(a,b){b=b||"fx";var c=f.queue(a,b),d=c.shift(),e={};d==="inprogress"&&(d=c.shift()),d&&(b==="fx"&&c.unshift("inprogress"),f._data(a,b+".run",e),d.call(a,function(){f.dequeue(a,b)},e)),c.length||(f.removeData(a,b+"queue "+b+".run",!0),n(a,b,"queue"))}}),f.fn.extend({queue:function(a,c){var d=2;typeof a!="string"&&(c=a,a="fx",d--);if(arguments.length<d)return f.queue(this[0],a);return c===b?this:this.each(function(){var b=f.queue(this,a,c);a==="fx"&&b[0]!=="inprogress"&&f.dequeue(this,a)})},dequeue:function(a){return this.each(function(){f.dequeue(this,a)})},delay:function(a,b){a=f.fx?f.fx.speeds[a]||a:a,b=b||"fx";return this.queue(b,function(b,c){var d=setTimeout(b,a);c.stop=function(){clearTimeout(d)}})},clearQueue:function(a){return this.queue(a||"fx",[])},promise:function(a,c){function m(){--h||d.resolveWith(e,[e])}typeof a!="string"&&(c=a,a=b),a=a||"fx";var d=f.Deferred(),e=this,g=e.length,h=1,i=a+"defer",j=a+"queue",k=a+"mark",l;while(g--)if(l=f.data(e[g],i,b,!0)||(f.data(e[g],j,b,!0)||f.data(e[g],k,b,!0))&&f.data(e[g],i,f.Callbacks("once memory"),!0))h++,l.add(m);m();return d.promise(c)}});var o=/[\n\t\r]/g,p=/\s+/,q=/\r/g,r=/^(?:button|input)$/i,s=/^(?:button|input|object|select|textarea)$/i,t=/^a(?:rea)?$/i,u=/^(?:autofocus|autoplay|async|checked|controls|defer|disabled|hidden|loop|multiple|open|readonly|required|scoped|selected)$/i,v=f.support.getSetAttribute,w,x,y;f.fn.extend({attr:function(a,b){return f.access(this,f.attr,a,b,arguments.length>1)},removeAttr:function(a){return this.each(function(){f.removeAttr(this,a)})},prop:function(a,b){return f.access(this,f.prop,a,b,arguments.length>1)},removeProp:function(a){a=f.propFix[a]||a;return this.each(function(){try{this[a]=b,delete this[a]}catch(c){}})},addClass:function(a){var b,c,d,e,g,h,i;if(f.isFunction(a))return this.each(function(b){f(this).addClass(a.call(this,b,this.className))});if(a&&typeof a=="string"){b=a.split(p);for(c=0,d=this.length;c<d;c++){e=this[c];if(e.nodeType===1)if(!e.className&&b.length===1)e.className=a;else{g=" "+e.className+" ";for(h=0,i=b.length;h<i;h++)~g.indexOf(" "+b[h]+" ")||(g+=b[h]+" ");e.className=f.trim(g)}}}return this},removeClass:function(a){var c,d,e,g,h,i,j;if(f.isFunction(a))return this.each(function(b){f(this).removeClass(a.call(this,b,this.className))});if(a&&typeof a=="string"||a===b){c=(a||"").split(p);for(d=0,e=this.length;d<e;d++){g=this[d];if(g.nodeType===1&&g.className)if(a){h=(" "+g.className+" ").replace(o," ");for(i=0,j=c.length;i<j;i++)h=h.replace(" "+c[i]+" "," ");g.className=f.trim(h)}else g.className=""}}return this},toggleClass:function(a,b){var c=typeof a,d=typeof b=="boolean";if(f.isFunction(a))return this.each(function(c){f(this).toggleClass(a.call(this,c,this.className,b),b)});return this.each(function(){if(c==="string"){var e,g=0,h=f(this),i=b,j=a.split(p);while(e=j[g++])i=d?i:!h.hasClass(e),h[i?"addClass":"removeClass"](e)}else if(c==="undefined"||c==="boolean")this.className&&f._data(this,"__className__",this.className),this.className=this.className||a===!1?"":f._data(this,"__className__")||""})},hasClass:function(a){var b=" "+a+" ",c=0,d=this.length;for(;c<d;c++)if(this[c].nodeType===1&&(" "+this[c].className+" ").replace(o," ").indexOf(b)>-1)return!0;return!1},val:function(a){var c,d,e,g=this[0];{if(!!arguments.length){e=f.isFunction(a);return this.each(function(d){var g=f(this),h;if(this.nodeType===1){e?h=a.call(this,d,g.val()):h=a,h==null?h="":typeof h=="number"?h+="":f.isArray(h)&&(h=f.map(h,function(a){return a==null?"":a+""})),c=f.valHooks[this.type]||f.valHooks[this.nodeName.toLowerCase()];if(!c||!("set"in c)||c.set(this,h,"value")===b)this.value=h}})}if(g){c=f.valHooks[g.type]||f.valHooks[g.nodeName.toLowerCase()];if(c&&"get"in c&&(d=c.get(g,"value"))!==b)return d;d=g.value;return typeof d=="string"?d.replace(q,""):d==null?"":d}}}}),f.extend({valHooks:{option:{get:function(a){var b=a.attributes.value;return!b||b.specified?a.value:a.text}},select:{get:function(a){var b,c,d,e,g=a.selectedIndex,h=[],i=a.options,j=a.type==="select-one";if(g<0)return null;c=j?g:0,d=j?g+1:i.length;for(;c<d;c++){e=i[c];if(e.selected&&(f.support.optDisabled?!e.disabled:e.getAttribute("disabled")===null)&&(!e.parentNode.disabled||!f.nodeName(e.parentNode,"optgroup"))){b=f(e).val();if(j)return b;h.push(b)}}if(j&&!h.length&&i.length)return f(i[g]).val();return h},set:function(a,b){var c=f.makeArray(b);f(a).find("option").each(function(){this.selected=f.inArray(f(this).val(),c)>=0}),c.length||(a.selectedIndex=-1);return c}}},attrFn:{val:!0,css:!0,html:!0,text:!0,data:!0,width:!0,height:!0,offset:!0},attr:function(a,c,d,e){var g,h,i,j=a.nodeType;if(!!a&&j!==3&&j!==8&&j!==2){if(e&&c in f.attrFn)return f(a)[c](d);if(typeof a.getAttribute=="undefined")return f.prop(a,c,d);i=j!==1||!f.isXMLDoc(a),i&&(c=c.toLowerCase(),h=f.attrHooks[c]||(u.test(c)?x:w));if(d!==b){if(d===null){f.removeAttr(a,c);return}if(h&&"set"in h&&i&&(g=h.set(a,d,c))!==b)return g;a.setAttribute(c,""+d);return d}if(h&&"get"in h&&i&&(g=h.get(a,c))!==null)return g;g=a.getAttribute(c);return g===null?b:g}},removeAttr:function(a,b){var c,d,e,g,h,i=0;if(b&&a.nodeType===1){d=b.toLowerCase().split(p),g=d.length;for(;i<g;i++)e=d[i],e&&(c=f.propFix[e]||e,h=u.test(e),h||f.attr(a,e,""),a.removeAttribute(v?e:c),h&&c in a&&(a[c]=!1))}},attrHooks:{type:{set:function(a,b){if(r.test(a.nodeName)&&a.parentNode)f.error("type property can't be changed");else if(!f.support.radioValue&&b==="radio"&&f.nodeName(a,"input")){var c=a.value;a.setAttribute("type",b),c&&(a.value=c);return b}}},value:{get:function(a,b){if(w&&f.nodeName(a,"button"))return w.get(a,b);return b in a?a.value:null},set:function(a,b,c){if(w&&f.nodeName(a,"button"))return w.set(a,b,c);a.value=b}}},propFix:{tabindex:"tabIndex",readonly:"readOnly","for":"htmlFor","class":"className",maxlength:"maxLength",cellspacing:"cellSpacing",cellpadding:"cellPadding",rowspan:"rowSpan",colspan:"colSpan",usemap:"useMap",frameborder:"frameBorder",contenteditable:"contentEditable"},prop:function(a,c,d){var e,g,h,i=a.nodeType;if(!!a&&i!==3&&i!==8&&i!==2){h=i!==1||!f.isXMLDoc(a),h&&(c=f.propFix[c]||c,g=f.propHooks[c]);return d!==b?g&&"set"in g&&(e=g.set(a,d,c))!==b?e:a[c]=d:g&&"get"in g&&(e=g.get(a,c))!==null?e:a[c]}},propHooks:{tabIndex:{get:function(a){var c=a.getAttributeNode("tabindex");return c&&c.specified?parseInt(c.value,10):s.test(a.nodeName)||t.test(a.nodeName)&&a.href?0:b}}}}),f.attrHooks.tabindex=f.propHooks.tabIndex,x={get:function(a,c){var d,e=f.prop(a,c);return e===!0||typeof e!="boolean"&&(d=a.getAttributeNode(c))&&d.nodeValue!==!1?c.toLowerCase():b},set:function(a,b,c){var d;b===!1?f.removeAttr(a,c):(d=f.propFix[c]||c,d in a&&(a[d]=!0),a.setAttribute(c,c.toLowerCase()));return c}},v||(y={name:!0,id:!0,coords:!0},w=f.valHooks.button={get:function(a,c){var d;d=a.getAttributeNode(c);return d&&(y[c]?d.nodeValue!=="":d.specified)?d.nodeValue:b},set:function(a,b,d){var e=a.getAttributeNode(d);e||(e=c.createAttribute(d),a.setAttributeNode(e));return e.nodeValue=b+""}},f.attrHooks.tabindex.set=w.set,f.each(["width","height"],function(a,b){f.attrHooks[b]=f.extend(f.attrHooks[b],{set:function(a,c){if(c===""){a.setAttribute(b,"auto");return c}}})}),f.attrHooks.contenteditable={get:w.get,set:function(a,b,c){b===""&&(b="false"),w.set(a,b,c)}}),f.support.hrefNormalized||f.each(["href","src","width","height"],function(a,c){f.attrHooks[c]=f.extend(f.attrHooks[c],{get:function(a){var d=a.getAttribute(c,2);return d===null?b:d}})}),f.support.style||(f.attrHooks.style={get:function(a){return a.style.cssText.toLowerCase()||b},set:function(a,b){return a.style.cssText=""+b}}),f.support.optSelected||(f.propHooks.selected=f.extend(f.propHooks.selected,{get:function(a){var b=a.parentNode;b&&(b.selectedIndex,b.parentNode&&b.parentNode.selectedIndex);return null}})),f.support.enctype||(f.propFix.enctype="encoding"),f.support.checkOn||f.each(["radio","checkbox"],function(){f.valHooks[this]={get:function(a){return a.getAttribute("value")===null?"on":a.value}}}),f.each(["radio","checkbox"],function(){f.valHooks[this]=f.extend(f.valHooks[this],{set:function(a,b){if(f.isArray(b))return a.checked=f.inArray(f(a).val(),b)>=0}})});var z=/^(?:textarea|input|select)$/i,A=/^([^\.]*)?(?:\.(.+))?$/,B=/(?:^|\s)hover(\.\S+)?\b/,C=/^key/,D=/^(?:mouse|contextmenu)|click/,E=/^(?:focusinfocus|focusoutblur)$/,F=/^(\w*)(?:#([\w\-]+))?(?:\.([\w\-]+))?$/,G=function( >-a){var b=F.exec(a);b&&(b[1]=(b[1]||"").toLowerCase(),b[3]=b[3]&&new RegExp("(?:^|\\s)"+b[3]+"(?:\\s|$)"));return b},H=function(a,b){var c=a.attributes||{};return(!b[1]||a.nodeName.toLowerCase()===b[1])&&(!b[2]||(c.id||{}).value===b[2])&&(!b[3]||b[3].test((c["class"]||{}).value))},I=function(a){return f.event.special.hover?a:a.replace(B,"mouseenter$1 mouseleave$1")};f.event={add:function(a,c,d,e,g){var h,i,j,k,l,m,n,o,p,q,r,s;if(!(a.nodeType===3||a.nodeType===8||!c||!d||!(h=f._data(a)))){d.handler&&(p=d,d=p.handler,g=p.selector),d.guid||(d.guid=f.guid++),j=h.events,j||(h.events=j={}),i=h.handle,i||(h.handle=i=function(a){return typeof f!="undefined"&&(!a||f.event.triggered!==a.type)?f.event.dispatch.apply(i.elem,arguments):b},i.elem=a),c=f.trim(I(c)).split(" ");for(k=0;k<c.length;k++){l=A.exec(c[k])||[],m=l[1],n=(l[2]||"").split(".").sort(),s=f.event.special[m]||{},m=(g?s.delegateType:s.bindType)||m,s=f.event.special[m]||{},o=f.extend({type:m,origType:l[1],data:e,handler:d,guid:d.guid,selector:g,quick:g&&G(g),namespace:n.join(".")},p),r=j[m];if(!r){r=j[m]=[],r.delegateCount=0;if(!s.setup||s.setup.call(a,e,n,i)===!1)a.addEventListener?a.addEventListener(m,i,!1):a.attachEvent&&a.attachEvent("on"+m,i)}s.add&&(s.add.call(a,o),o.handler.guid||(o.handler.guid=d.guid)),g?r.splice(r.delegateCount++,0,o):r.push(o),f.event.global[m]=!0}a=null}},global:{},remove:function(a,b,c,d,e){var g=f.hasData(a)&&f._data(a),h,i,j,k,l,m,n,o,p,q,r,s;if(!!g&&!!(o=g.events)){b=f.trim(I(b||"")).split(" ");for(h=0;h<b.length;h++){i=A.exec(b[h])||[],j=k=i[1],l=i[2];if(!j){for(j in o)f.event.remove(a,j+b[h],c,d,!0);continue}p=f.event.special[j]||{},j=(d?p.delegateType:p.bindType)||j,r=o[j]||[],m=r.length,l=l?new RegExp("(^|\\.)"+l.split(".").sort().join("\\.(?:.*\\.)?")+"(\\.|$)"):null;for(n=0;n<r.length;n++)s=r[n],(e||k===s.origType)&&(!c||c.guid===s.guid)&&(!l||l.test(s.namespace))&&(!d||d===s.selector||d==="**"&&s.selector)&&(r.splice(n--,1),s.selector&&r.delegateCount--,p.remove&&p.remove.call(a,s));r.length===0&&m!==r.length&&((!p.teardown||p.teardown.call(a,l)===!1)&&f.removeEvent(a,j,g.handle),delete o[j])}f.isEmptyObject(o)&&(q=g.handle,q&&(q.elem=null),f.removeData(a,["events","handle"],!0))}},customEvent:{getData:!0,setData:!0,changeData:!0},trigger:function(c,d,e,g){if(!e||e.nodeType!==3&&e.nodeType!==8){var h=c.type||c,i=[],j,k,l,m,n,o,p,q,r,s;if(E.test(h+f.event.triggered))return;h.indexOf("!")>=0&&(h=h.slice(0,-1),k=!0),h.indexOf(".")>=0&&(i=h.split("."),h=i.shift(),i.sort());if((!e||f.event.customEvent[h])&&!f.event.global[h])return;c=typeof c=="object"?c[f.expando]?c:new f.Event(h,c):new f.Event(h),c.type=h,c.isTrigger=!0,c.exclusive=k,c.namespace=i.join("."),c.namespace_re=c.namespace?new RegExp("(^|\\.)"+i.join("\\.(?:.*\\.)?")+"(\\.|$)"):null,o=h.indexOf(":")<0?"on"+h:"";if(!e){j=f.cache;for(l in j)j[l].events&&j[l].events[h]&&f.event.trigger(c,d,j[l].handle.elem,!0);return}c.result=b,c.target||(c.target=e),d=d!=null?f.makeArray(d):[],d.unshift(c),p=f.event.special[h]||{};if(p.trigger&&p.trigger.apply(e,d)===!1)return;r=[[e,p.bindType||h]];if(!g&&!p.noBubble&&!f.isWindow(e)){s=p.delegateType||h,m=E.test(s+h)?e:e.parentNode,n=null;for(;m;m=m.parentNode)r.push([m,s]),n=m;n&&n===e.ownerDocument&&r.push([n.defaultView||n.parentWindow||a,s])}for(l=0;l<r.length&&!c.isPropagationStopped();l++)m=r[l][0],c.type=r[l][1],q=(f._data(m,"events")||{})[c.type]&&f._data(m,"handle"),q&&q.apply(m,d),q=o&&m[o],q&&f.acceptData(m)&&q.apply(m,d)===!1&&c.preventDefault();c.type=h,!g&&!c.isDefaultPrevented()&&(!p._default||p._default.apply(e.ownerDocument,d)===!1)&&(h!=="click"||!f.nodeName(e,"a"))&&f.acceptData(e)&&o&&e[h]&&(h!=="focus"&&h!=="blur"||c.target.offsetWidth!==0)&&!f.isWindow(e)&&(n=e[o],n&&(e[o]=null),f.event.triggered=h,e[h](),f.event.triggered=b,n&&(e[o]=n));return c.result}},dispatch:function(c){c=f.event.fix(c||a.event);var d=(f._data(this,"events")||{})[c.type]||[],e=d.delegateCount,g=[].slice.call(arguments,0),h=!c.exclusive&&!c.namespace,i=f.event.special[c.type]||{},j=[],k,l,m,n,o,p,q,r,s,t,u;g[0]=c,c.delegateTarget=this;if(!i.preDispatch||i.preDispatch.call(this,c)!==!1){if(e&&(!c.button||c.type!=="click")){n=f(this),n.context=this.ownerDocument||this;for(m=c.target;m!=this;m=m.parentNode||this)if(m.disabled!==!0){p={},r=[],n[0]=m;for(k=0;k<e;k++)s=d[k],t=s.selector,p[t]===b&&(p[t]=s.quick?H(m,s.quick):n.is(t)),p[t]&&r.push(s);r.length&&j.push({elem:m,matches:r})}}d.length>e&&j.push({elem:this,matches:d.slice(e)});for(k=0;k<j.length&&!c.isPropagationStopped();k++){q=j[k],c.currentTarget=q.elem;for(l=0;l<q.matches.length&&!c.isImmediatePropagationStopped();l++){s=q.matches[l];if(h||!c.namespace&&!s.namespace||c.namespace_re&&c.namespace_re.test(s.namespace))c.data=s.data,c.handleObj=s,o=((f.event.special[s.origType]||{}).handle||s.handler).apply(q.elem,g),o!==b&&(c.result=o,o===!1&&(c.preventDefault(),c.stopPropagation()))}}i.postDispatch&&i.postDispatch.call(this,c);return c.result}},props:"attrChange attrName relatedNode srcElement altKey bubbles cancelable ctrlKey currentTarget eventPhase metaKey relatedTarget shiftKey target timeStamp view which".split(" "),fixHooks:{},keyHooks:{props:"char charCode key keyCode".split(" "),filter:function(a,b){a.which==null&&(a.which=b.charCode!=null?b.charCode:b.keyCode);return a}},mouseHooks:{props:"button buttons clientX clientY fromElement offsetX offsetY pageX pageY screenX screenY toElement".split(" "),filter:function(a,d){var e,f,g,h=d.button,i=d.fromElement;a.pageX==null&&d.clientX!=null&&(e=a.target.ownerDocument||c,f=e.documentElement,g=e.body,a.pageX=d.clientX+(f&&f.scrollLeft||g&&g.scrollLeft||0)-(f&&f.clientLeft||g&&g.clientLeft||0),a.pageY=d.clientY+(f&&f.scrollTop||g&&g.scrollTop||0)-(f&&f.clientTop||g&&g.clientTop||0)),!a.relatedTarget&&i&&(a.relatedTarget=i===a.target?d.toElement:i),!a.which&&h!==b&&(a.which=h&1?1:h&2?3:h&4?2:0);return a}},fix:function(a){if(a[f.expando])return a;var d,e,g=a,h=f.event.fixHooks[a.type]||{},i=h.props?this.props.concat(h.props):this.props;a=f.Event(g);for(d=i.length;d;)e=i[--d],a[e]=g[e];a.target||(a.target=g.srcElement||c),a.target.nodeType===3&&(a.target=a.target.parentNode),a.metaKey===b&&(a.metaKey=a.ctrlKey);return h.filter?h.filter(a,g):a},special:{ready:{setup:f.bindReady},load:{noBubble:!0},focus:{delegateType:"focusin"},blur:{delegateType:"focusout"},beforeunload:{setup:function(a,b,c){f.isWindow(this)&&(this.onbeforeunload=c)},teardown:function(a,b){this.onbeforeunload===b&&(this.onbeforeunload=null)}}},simulate:function(a,b,c,d){var e=f.extend(new f.Event,c,{type:a,isSimulated:!0,originalEvent:{}});d?f.event.trigger(e,null,b):f.event.dispatch.call(b,e),e.isDefaultPrevented()&&c.preventDefault()}},f.event.handle=f.event.dispatch,f.removeEvent=c.removeEventListener?function(a,b,c){a.removeEventListener&&a.removeEventListener(b,c,!1)}:function(a,b,c){a.detachEvent&&a.detachEvent("on"+b,c)},f.Event=function(a,b){if(!(this instanceof f.Event))return new f.Event(a,b);a&&a.type?(this.originalEvent=a,this.type=a.type,this.isDefaultPrevented=a.defaultPrevented||a.returnValue===!1||a.getPreventDefault&&a.getPreventDefault()?K:J):this.type=a,b&&f.extend(this,b),this.timeStamp=a&&a.timeStamp||f.now(),this[f.expando]=!0},f.Event.prototype={preventDefault:function(){this.isDefaultPrevented=K;var a=this.originalEvent;!a||(a.preventDefault?a.preventDefault():a.returnValue=!1)},stopPropagation:function(){this.isPropagationStopped=K;var a=this.originalEvent;!a||(a.stopPropagation&&a.stopPropagation(),a.cancelBubble=!0)},stopImmediatePropagation:function(){this.isImmediatePropagationStopped=K,this.stopPropagation()},isDefaultPrevented:J,isPropagationStopped:J,isImmediatePropagationStopped:J},f.each({mouseenter:"mouseover",mouseleave:"mouseout"},function(a,b){f.event.special[a]={delegateType:b,bindType:b,handle:function(a){var c=this,d=a.relatedTarget,e=a.handleObj,g=e.selector,h;if(!d||d!==c&&!f.contains(c,d))a.type=e.origType,h=e.handler.apply(this,arguments),a.type=b;return h}}}),f.support.submitBubbles||(f.event.special.submit={setup:function(){if(f.nodeName(this,"form"))return!1;f.event.add(this,"click._submit keypress._submit",function(a){var c=a.target,d=f.nodeName(c,"input")||f.nodeName(c,"button")?c.form:b;d&&!d._submit_attached&&(f.event.add(d,"submit._submit",function(a){a._submit_bubble=!0}),d._submit_attached=!0)})},postDispatch:function(a){a._submit_bubble&&(delete a._submit_bubble,this.parentNode&&!a.isTrigger&&f.event.simulate("submit",this.parentNode,a,!0))},teardown:function(){if(f.nodeName(this,"form"))return!1;f.event.remove(this,"._submit")}}),f.support.changeBubbles||(f.event.special.change={setup:function(){if(z.test(this.nodeName)){if(this.type==="checkbox"||this.type==="radio")f.event.add(this,"propertychange._change",function(a){a.originalEvent.propertyName==="checked"&&(this._just_changed=!0)}),f.event.add(this,"click._change",function(a){this._just_changed&&!a.isTrigger&&(this._just_changed=!1,f.event.simulate("change",this,a,!0))});return!1}f.event.add(this,"beforeactivate._change",function(a){var b=a.target;z.test(b.nodeName)&&!b._change_attached&&(f.event.add(b,"change._change",function(a){this.parentNode&&!a.isSimulated&&!a.isTrigger&&f.event.simulate("change",this.parentNode,a,!0)}),b._change_attached=!0)})},handle:function(a){var b=a.target;if(this!==b||a.isSimulated||a.isTrigger||b.type!=="radio"&&b.type!=="checkbox")return a.handleObj.handler.apply(this,arguments)},teardown:function(){f.event.remove(this,"._change");return z.test(this.nodeName)}}),f.support.focusinBubbles||f.each({focus:"focusin",blur:"focusout"},function(a,b){var d=0,e=function(a){f.event.simulate(b,a.target,f.event.fix(a),!0)};f.event.special[b]={setup:function(){d++===0&&c.addEventListener(a,e,!0)},teardown:function(){--d===0&&c.removeEventListener(a,e,!0)}}}),f.fn.extend({on:function(a,c,d,e,g){var h,i;if(typeof a=="object"){typeof c!="string"&&(d=d||c,c=b);for(i in a)this.on(i,c,d,a[i],g);return this}d==null&&e==null?(e=c,d=c=b):e==null&&(typeof c=="string"?(e=d,d=b):(e=d,d=c,c=b));if(e===!1)e=J;else if(!e)return this;g===1&&(h=e,e=function(a){f().off(a);return h.apply(this,arguments)},e.guid=h.guid||(h.guid=f.guid++));return this.each(function(){f.event.add(this,a,e,d,c)})},one:function(a,b,c,d){return this.on(a,b,c,d,1)},off:function(a,c,d){if(a&&a.preventDefault&&a.handleObj){var e=a.handleObj;f(a.delegateTarget).off(e.namespace?e.origType+"."+e.namespace:e.origType,e.selector,e.handler);return this}if(typeof a=="object"){for(var g in a)this.off(g,c,a[g]);return this}if(c===!1||typeof c=="function")d=c,c=b;d===!1&&(d=J);return this.each(function(){f.event.remove(this,a,d,c)})},bind:function(a,b,c){return this.on(a,null,b,c)},unbind:function(a,b){return this.off(a,null,b)},live:function(a,b,c){f(this.context).on(a,this.selector,b,c);return this},die:function(a,b){f(this.context).off(a,this.selector||"**",b);return this},delegate:function(a,b,c,d){return this.on(b,a,c,d)},undelegate:function(a,b,c){return arguments.length==1?this.off(a,"**"):this.off(b,a,c)},trigger:function(a,b){return this.each(function(){f.event.trigger(a,b,this)})},triggerHandler:function(a,b){if(this[0])return f.event.trigger(a,b,this[0],!0)},toggle:function(a){var b=arguments,c=a.guid||f.guid++,d=0,e=function(c){var e=(f._data(this,"lastToggle"+a.guid)||0)%d;f._data(this,"lastToggle"+a.guid,e+1),c.preventDefault();return b[e].apply(this,arguments)||!1};e.guid=c;while(d<b.length)b[d++].guid=c;return this.click(e)},hover:function(a,b){return this.mouseenter(a).mouseleave(b||a)}}),f.each("blur focus focusin focusout load resize scroll unload click dblclick mousedown mouseup mousemove mouseover mouseout mouseenter mouseleave change select submit keydown keypress keyup error contextmenu".split(" "),function(a,b){f.fn[b]=function(a,c){c==null&&(c=a,a=null);return arguments.length>0?this.on(b,null,a,c):this.trigger(b)},f.attrFn&&(f.attrFn[b]=!0),C.test(b)&&(f.event.fixHooks[b]=f.event.keyHooks),D.test(b)&&(f.event.fixHooks[b]=f.event.mouseHooks)}),function(){function x(a,b,c,e,f,g){for(var h=0,i=e.length;h<i;h++){var j=e[h];if(j){var k=!1;j=j[a];while(j){if(j[d]===c){k=e[j.sizset];break}if(j.nodeType===1){g||(j[d]=c,j.sizset=h);if(typeof b!="string"){if(j===b){k=!0;break}}else if(m.filter(b,[j]).length>0){k=j;break}}j=j[a]}e[h]=k}}}function w(a,b,c,e,f,g){for(var h=0,i=e.length;h<i;h++){var j=e[h];if(j){var k=!1;j=j[a];while(j){if(j[d]===c){k=e[j.sizset];break}j.nodeType===1&&!g&&(j[d]=c,j.sizset=h);if(j.nodeName.toLowerCase()===b){k=j;break}j=j[a]}e[h]=k}}}var a=/((?:\((?:\([^()]+\)|[^()]+)+\)|\[(?:\[[^\[\]]*\]|['"][^'"]*['"]|[^\[\]'"]+)+\]|\\.|[^ >+~,(\[\\]+)+|[>+~])(\s*,\s*)?((?:.|\r|\n)*)/g,d="sizcache"+(Math.random()+"").replace(".",""),e=0,g=Object.prototype.toString,h=!1,i=!0,j=/\\/g,k=/\r\n/g,l=/\W/;[0,0].sort(function(){i=!1;return 0});var m=function(b,d,e,f){e=e||[],d=d||c;var h=d;if(d.nodeType!==1&&d.nodeType!==9)return[];if(!b||typeof b!="string")return e;var i,j,k,l,n,q,r,t,u=!0,v=m.isXML(d),w=[],x=b;do{a.exec(""),i=a.exec(x);if(i){x=i[3],w.push(i[1]);if(i[2]){l=i[3];break}}}while(i);if(w.length>1&&p.exec(b))if(w.length===2&&o.relative[w[0]])j=y(w[0]+w[1],d,f);else{j=o.relative[w[0]]?[d]:m(w.shift(),d);while(w.length)b=w.shift(),o.relative[b]&&(b+=w.shift()),j=y(b,j,f)}else{!f&&w.length>1&&d.nodeType===9&&!v&&o.match.ID.test(w[0])&&!o.match.ID.test(w[w.length-1])&&(n=m.find(w.shift(),d,v),d=n.expr?m.filter(n.expr,n.set)[0]:n.set[0]);if(d){n=f?{expr:w.pop(),set:s(f)}:m.find(w.pop(),w.length===1&&(w[0]==="~"||w[0]==="+")&&d.parentNode?d.parentNode:d,v),j=n.expr?m.filter(n.expr,n.set):n.set,w.length>0?k=s(j):u=!1;while(w.length)q=w.pop(),r=q,o.relative[q]?r=w.pop():q="",r==null&&(r=d),o.relative[q](k,r,v)}else k=w=[]}k||(k=j),k||m.error(q||b);if(g.call(k)==="[object Array]")if(!u)e.push.apply(e,k);else if(d&&d.nodeType===1)for(t=0;k[t]!=null;t++)k[t]&&(k[t]===!0||k[t].nodeType===1&&m.contains(d,k[t]))&&e.push(j[t]);else for(t=0;k[t]!=null;t++)k[t]&&k[t].nodeType===1&&e.push(j[t]);else s(k,e);l&&(m(l,h,e,f),m.uniqueSort(e));return e};m.uniqueSort=function(a){if(u){h=i,a.sort(u);if(h)for(var b=1;b<a.length;b++)a[b]===a[b-1]&&a.splice(b--,1)}return a},m.matches=function(a,b){return m(a,null,null,b)},m.matchesSelector=function(a,b){return m(b,null,null,[a]).length>0},m.find=function(a,b,c){var d,e,f,g,h,i;if(!a)return[];for(e=0,f=o.order.length;e<f;e++){h=o.order[e];if(g=o.leftMatch[h].exec(a)){i=g[1],g.splice(1,1);if(i.substr(i.length-1)!=="\\"){g[1]=(g[1]||"").replace(j,""),d=o.find[h](g,b,c);if(d!=null){a=a.replace(o.match[h],"");break}}}}d||(d=typeof b.getElementsByTagName!="undefined"?b.getElementsByTagName("*"):[]);return{set:d,expr:a}},m.filter=function(a,c,d,e){var f,g,h,i,j,k,l,n,p,q=a,r=[],s=c,t=c&&c[0]&&m.isXML(c[0]);while(a&&c.length){for(h in o.filter)if((f=o.leftMatch[h].exec(a))!=null&&f[2]){k=o.filter[h],l=f[1],g=!1,f.splice(1,1);if(l.substr(l.length-1)==="\\")continue;s===r&&(r=[]);if(o.preFilter[h]){f=o.preFilter[h](f,s,d,r,e,t);if(!f)g=i=!0;else if(f===!0)continue}if(f)for(n=0;(j=s[n])!=null;n++)j&&(i=k(j,f,n,s),p=e^i,d&&i!=null?p?g=!0:s[n]=!1:p&&(r.push(j),g=!0));if(i!==b){d||(s=r),a=a.replace(o.match[h],"");if(!g)return[];break}}if(a===q)if(g==null)m.error(a);else break;q=a}return s},m.error=function(a){throw new Error("Syntax error, unrecognized expression: "+a)};var n=m.getText=function(a){var b,c,d=a.nodeType,e="";if(d){if(d===1||d===9||d===11){if(typeof a.textContent=="string")return a.textContent;if(typeof a.innerText=="string")return a.innerText.replace(k,"");for(a=a.firstChild;a;a=a.nextSibling)e+=n(a)}else if(d===3||d===4)return a.nodeValue}else for(b=0;c=a[b];b++)c.nodeType!==8&&(e+=n(c));return e},o=m.selectors={order:["ID","NAME","TAG"],match:{ID:/#((?:[\w\u00c0-\uFFFF\-]|\\.)+)/,CLASS:/\.((?:[\w\u00c0-\uFFFF\-]|\\.)+)/,NAME:/\[name=['"]*((?:[\w\u00c0-\uFFFF\-]|\\.)+)['"]*\]/,ATTR:/\[\s*((?:[\w\u00c0-\uFFFF\-]|\\.)+)\s*(?:(\S?=)\s*(?:(['"])(.*?)\3|(#?(?:[\w\u00c0-\uFFFF\-]|\\.)*)|)|)\s*\]/,TAG:/^((?:[\w\u00c0-\uFFFF\*\-]|\\.)+)/,CHILD:/:(only|nth|last|first)-child(?:\(\s*(even|odd|(?:[+\-]?\d+|(?:[+\-]?\d*)?n\s*(?:[+\-]\s*\d+)?))\s*\))?/,POS:/:(nth|eq|gt|lt|first|last|even|odd)(?:\((\d*)\))?(?=[^\-]|$)/,PSEUDO:/:((?:[\w\u00c0-\uFFFF\-]|\\.)+)(?:\((['"]?)((?:\([^\)]+\)|[^\(\)]*)+)\2\))?/},leftMatch:{},attrMap:{"class":"className","for":"htmlFor"},attrHandle:{href:function(a){return a.getAttribute("href")},type:function(a){return a.getAttribute("type")}},relative:{"+":function(a,b){var c=typeof b=="string",d=c&&!l.test(b),e=c&&!d;d&&(b=b.toLowerCase());for(var f=0,g=a.length,h;f<g;f++)if(h=a[f]){while((h=h.previousSibling)&&h.nodeType!==1);a[f]=e||h&&h.nodeName.toLowerCase()===b?h||!1:h===b}e&&m.filter(b,a,!0)},">":function(a,b){var c,d=typeof b=="string",e=0,f=a.length;if(d&&!l.test(b)){b=b.toLowerCase();for(;e<f;e++){c=a[e];if(c){var g=c.parentNode;a[e]=g.nodeName.toLowerCase()===b?g:!1}}}else{for(;e<f;e++)c=a[e],c&&(a[e]=d?c.parentNode:c.parentNode===b);d&&m.filter(b,a,!0)}},"":function(a,b,c){var d,f=e++,g=x;typeof b=="string"&&!l.test(b)&&(b=b.toLowerCase(),d=b,g=w),g("parentNode",b,f,a,d,c)},"~":function(a,b,c){var d,f=e++,g=x;typeof b=="string"&&!l.test(b)&&(b=b.toLowerCase(),d=b,g=w),g("previousSibling",b,f,a,d,c)}},find:{ID:function(a,b,c){if(typeof b.getElementById!="undefined"&&!c){var d=b.getElementById(a[1]);return d&&d.parentNode?[d]:[]}},NAME:function(a,b){if(typeof b.getElementsByName!="undefined"){var c=[],d=b.getElementsByName(a[1]);for(var e=0,f=d.length;e<f;e++)d[e].getAttribute("name")===a[1]&&c.push(d[e]);return c.length===0?null:c}},TAG:function(a,b){if(typeof b.getElementsByTagName!="undefined")return b.getElementsByTagName(a[1])}},preFilter:{CLASS:function(a,b,c,d,e,f){a=" "+a[1].replace(j,"")+" ";if(f)return a;for(var g=0,h;(h=b[g])!=null;g++)h&&(e^(h.className&&(" "+h.className+" ").replace(/[\t\n\r]/g," ").indexOf(a)>=0)?c||d.push(h):c&&(b[g]=!1));return!1},ID:function(a){return a[1].replace(j,"")},TAG:function(a,b){return a[1].replace(j,"").toLowerCase()},CHILD:function(a){if(a[1]==="nth"){a[2]||m.error(a[0]),a[2]=a[2].replace(/^\+|\s*/g,"");var b=/(-?)(\d*)(?:n([+\-]?\d*))?/.exec(a[2]==="even"&&"2n"||a[2]==="odd"&&"2n+1"||!/\D/.test(a[2])&&"0n+"+a[2]||a[2]);a[2]=b[1]+(b[2]||1)-0,a[3]=b[3]-0}else a[2]&&m.error(a[0]);a[0]=e++;return a},ATTR:function(a,b,c,d,e,f){var g=a[1]=a[1].replace(j,"");!f&&o.attrMap[g]&&(a[1]=o.attrMap[g]),a[4]=(a[4]||a[5]||"").replace(j,""),a[2]==="~="&&(a[4]=" "+a[4]+" ");return a},PSEUDO:function(b,c,d,e,f){if(b[1]==="not")if((a.exec(b[3])||"").length>1||/^\w/.test(b[3]))b[3]=m(b[3],null,null,c);else{var g=m.filter(b[3],c,d,!0^f);d||e.push.apply(e,g);return!1}else if(o.match.POS.test(b[0])||o.match.CHILD.test(b[0]))return!0;return b},POS:function(a){a.unshift(!0);return a}},filters:{enabled:function(a){return a.disabled===!1&&a.type!=="hidden"},disabled:function(a){return a.disabled===!0},checked:function(a){return a.checked===!0},selected:function(a){a.parentNode&&a.parentNode.selectedIndex;return a.selected===!0},parent:function(a){return!!a.firstChild},empty:function(a){return!a.firstChild},has:function(a,b,c){return!!m(c[3],a).length},header:function(a){return/h\d/i.test(a.nodeName)},text:function(a){var b=a.getAttribute("type"),c=a.type;return a.nodeName.toLowerCase()==="input"&&"text"===c&&(b===c||b===null)},radio:function(a){return a.nodeName.toLowerCase()==="input"&&"radio"===a.type},checkbox:function(a){return a.nodeName.toLowerCase()==="input"&&"checkbox"===a.type},file:function(a){return a.nodeName.toLowerCase()==="input"&&"file"===a.type},password:function(a){return a.nodeName.toLowerCase()==="input"&&"password"===a.type},submit:function(a){var b=a.nodeName.toLowerCase();return(b==="input"||b==="button")&&"submit"===a.type},image:function(a){return a.nodeName.toLowerCase()==="input"&&"image"===a.type},reset:function(a){var b=a.nodeName.toLowerCase();return(b==="input"||b==="button")&&"reset"===a.type},button:function(a){var b=a.nodeName.toLowerCase();return b==="input"&&"button"===a.type||b==="button"},input:function(a){return/input|select|textarea|button/i.test(a.nodeName)},focus:function(a){return a===a.ownerDocument.activeElement}},setFilters:{first:function(a,b){return b===0},last:function(a,b,c,d){return b===d.length-1},even:function(a,b){return b%2===0},odd:function(a,b){return b%2===1},lt:function(a,b,c){return b<c[3]-0},gt:function(a,b,c){return b>c[3]-0},nth:function(a,b,c){return c[3]-0===b},eq:function(a,b,c){return c[3]-0===b}},filter:{PSEUDO:function(a,b,c,d){var e=b[1],f=o.filters[e];if(f)return f(a,c,b,d);if(e==="contains")return(a.textContent||a.innerText||n([a])||"").indexOf(b[3])>=0;if(e==="not"){var g=b[3];for(var h=0,i=g.length;h<i;h++)if(g[h]===a)return!1;return!0}m.error(e)},CHILD:function(a,b){var c,e,f,g,h,i,j,k=b[1],l=a;switch(k){case"only":case"first":while(l=l.previousSibling)if(l.nodeType===1)return!1;if(k==="first")return!0;l=a;case"last":while(l=l.nextSibling)if(l.nodeType===1)return!1;return!0;case"nth":c=b[2],e=b[3];if(c===1&&e===0)return!0;f=b[0],g=a.parentNode;if(g&&(g[d]!==f||!a.nodeIndex)){i=0;for(l=g.firstChild;l;l=l.nextSibling)l.nodeType===1&&(l.nodeIndex=++i);g[d]=f}j=a.nodeIndex-e;return c===0?j===0:j%c===0&&j/c>=0}},ID:function(a,b){return a.nodeType===1&&a.getAttribute("id")===b},TAG:function(a,b){return b==="*"&&a.nodeType===1||!!a.nodeName&&a.nodeName.toLowerCase()===b},CLASS:function(a,b){return(" "+(a.className||a.getAttribute("class"))+" ").indexOf(b)>-1},ATTR:function(a,b){var c=b[1],d=m.attr?m.attr(a,c):o.attrHandle[c]?o.attrHandle[c](a):a[c]!=null?a[c]:a.getAttribute(c),e=d+"",f=b[2],g=b[4];return d==null?f==="!=":!f&&m.attr?d!=null:f==="="?e===g:f==="*="?e.indexOf(g)>=0:f==="~="?(" "+e+" ").indexOf(g)>=0:g?f==="!="?e!==g:f==="^="?e.indexOf(g)===0:f==="$="?e.substr(e.length-g.length)===g:f==="|="?e===g||e.substr(0,g.length+1)===g+"-":!1:e&&d!==!1},POS:function(a,b,c,d){var e=b[2],f=o.setFilters[e];if(f)return f(a,c,b,d)}}},p=o.match.POS,q=function(a,b){return"\\"+(b-0+1)};for(var r in o.match)o.match[r]=new RegExp(o.match[r].source+/(?![^\[]*\])(?![^\(]*\))/.source),o.leftMatch[r]=new RegExp(/(^(?:.|\r|\n)*?)/.source+o.match[r].source.replace(/\\(\d+)/g,q));o.match.globalPOS=p;var s=function(a,b){a=Array.prototype.slice.call(a,0);if(b){b.push.apply(b,a);return b}return a};try{Array.prototype.slice.call(c.documentElement.childNodes,0)[0].nodeType}catch(t){s=function(a,b){var c=0,d=b||[];if(g.call(a)==="[object Array]")Array.prototype.push.apply(d,a);else if(typeof a.length=="number")for(var e=a.length;c<e;c++)d.push(a[c]);else for(;a[c];c++)d.push(a[c]);return d}}var u,v;c.documentElement.compareDocumentPosition?u=function(a,b){if(a===b){h=!0;return 0}if(!a.compareDocumentPosition||!b.compareDocumentPosition)return a.compareDocumentPosition?-1:1;return a.compareDocumentPosition(b)&4?-1:1}:(u=function(a,b){if(a===b){h=!0;return 0}if(a.sourceIndex&&b.sourceIndex)return a.sourceIndex-b.sourceIndex;var c,d,e=[],f=[],g=a.parentNode,i=b.parentNode,j=g;if(g===i)return v(a,b);if(!g)return-1;if(!i)return 1;while(j)e.unshift(j),j=j.parentNode;j=i;while(j)f.unshift(j),j=j.parentNode;c=e.length,d=f.length;for(var k=0;k<c&&k<d;k++)if(e[k]!==f[k])return v(e[k],f[k]);return k===c?v(a,f[k],-1):v(e[k],b,1)},v=function(a,b,c){if(a===b)return c;var d=a.nextSibling;while(d){if(d===b)return-1;d=d.nextSibling}return 1}),function(){var a=c.createElement("div"),d="script"+(new Date).getTime(),e=c.documentElement;a.innerHTML="<a name='"+d+"'/>",e.insertBefore(a,e.firstChild),c.getElementById(d)&&(o.find.ID=function(a,c,d){if(typeof c.getElementById!="undefined"&&!d){var e=c.getElementById(a[1]);return e?e.id===a[1]||typeof e.getAttributeNode!="undefined"&&e.getAttributeNode("id").nodeValue===a[1]?[e]:b:[]}},o.filter.ID=function(a,b){var c=typeof a.getAttributeNode!="undefined"&&a.getAttributeNode("id");return a.nodeType===1&&c&&c.nodeValue===b}),e.removeChild(a),e=a=null}(),function(){var a=c.createElement("div");a.appendChild(c.createComment("")),a.getElementsByTagName("*").length>0&&(o.find.TAG=function(a,b){var c=b.getElementsByTagName(a[1]);if(a[1]==="*"){var d=[];for(var e=0;c[e];e++)c[e].nodeType===1&&d.push(c[e]);c=d}return c}),a.innerHTML="<a href='#'></a>",a.firstChild&&typeof a.firstChild.getAttribute!="undefined"&&a.firstChild.getAttribute("href")!=="#"&&(o.attrHandle.href=function(a){return a.getAttribute("href",2)}),a=null}(),c.querySelectorAll&&function(){var a=m,b=c.createElement("div"),d="__sizzle__";b.innerHTML="<p class='TEST'></p>";if(!b.querySelectorAll||b.querySelectorAll(".TEST").length!==0){m=function(b,e,f,g){e=e||c;if(!g&&!m.isXML(e)){var h=/^(\w+$)|^\.([\w\-]+$)|^#([\w\-]+$)/.exec(b);if(h&&(e.nodeType===1||e.nodeType===9)){if(h[1])return s(e.getElementsByTagName(b),f);if(h[2]&&o.find.CLASS&&e.getElementsByClassName)return s(e.getElementsByClassName(h[2]),f)}if(e.nodeType===9){if(b==="body"&&e.body)return s([e.body],f);if(h&&h[3]){var i=e.getElementById(h[3]);if(!i||!i.parentNode)return s([],f);if(i.id===h[3])return s([i],f)}try{return s(e.querySelectorAll(b),f)}catch(j){}}else if(e.nodeType===1&&e.nodeName.toLowerCase()!=="object"){var k=e,l=e.getAttribute("id"),n=l||d,p=e.parentNode,q=/^\s*[+~]/.test(b);l?n=n.replace(/'/g,"\\$&"):e.setAttribute("id",n),q&&p&&(e=e.parentNode);try{if(!q||p)return s(e.querySelectorAll("[id='"+n+"'] "+b),f)}catch(r){}finally{l||k.removeAttribute("id")}}}return a(b,e,f,g)};for(var e in a)m[e]=a[e];b=null}}(),function(){var a=c.documentElement,b=a.matchesSelector||a.mozMatchesSelector||a.webkitMatchesSelector||a.msMatchesSelector;if(b){var d=!b.call(c.createElement("div"),"div"),e=!1;try{b.call(c.documentElement,"[test!='']:sizzle")}catch(f){e=!0}m.matchesSelector=function(a,c){c=c.replace(/\=\s*([^'"\]]*)\s*\]/g,"='$1']");if(!m.isXML(a))try{if(e||!o.match.PSEUDO.test(c)&&!/!=/.test(c)){var f=b.call(a,c);if(f||!d||a.document&&a.document.nodeType!==11)return f}}catch(g){}return m(c,null,null,[a]).length>0}}}(),function(){var a=c.createElement("div");a.innerHTML="<div class='test e'></div><div class='test'></div>";if(!!a.getElementsByClassName&&a.getElementsByClassName("e").length!==0){a.lastChild.className="e";if(a.getElementsByClassName("e").length===1)return;o.order.splice(1,0,"CLASS"),o.find.CLASS=function(a,b,c){if(typeof b.getElementsByClassName!="undefined"&&!c)return b.getElementsByClassName(a[1])},a=null}}(),c.documentElement.contains?m.contains=function(a,b){return a!==b&&(a.contains?a.contains(b):!0)}:c.documentElement.compareDocumentPosition?m.contains=function(a,b){return!!(a.compareDocumentPosition(b)&16)}:m.contains=function(){return!1},m.isXML=function(a){var b=(a?a.ownerDocument||a:0).documentElement;return b?b.nodeName!=="HTML":!1};var y=function(a,b,c){var d,e=[],f="",g=b.nodeType?[b]:b;while(d=o.match.PSEUDO.exec(a))f+=d[0],a=a.replace(o.match.PSEUDO,"");a=o.relative[a]?a+"*":a;for(var h=0,i=g.length;h<i;h++)m(a,g[h],e,c);return m.filter(f,e)};m.attr=f.attr,m.selectors.attrMap={},f.find=m,f.expr=m.selectors,f.expr[":"]=f.expr.filters,f.unique=m.uniqueSort,f.text=m.getText,f.isXMLDoc=m.isXML,f.contains=m.contains}();var L=/Until$/,M=/^(?:parents|prevUntil|prevAll)/,N=/,/,O=/^.[^:#\[\.,]*$/,P=Array.prototype.slice,Q=f.expr.match.globalPOS,R={children:!0,contents:!0,next:!0,prev:!0};f.fn.extend({find:function(a){var b=this,c,d;if(typeof a!="string")return f(a).filter(function(){for(c=0,d=b.length;c<d;c++)if(f.contains(b[c],this))return!0});var e=this.pushStack("","find",a),g,h,i;for(c=0,d=this.length;c<d;c++){g=e.length,f.find(a,this[c],e);if(c>0)for(h=g;h<e.length;h++)for(i=0;i<g;i++)if(e[i]===e[h]){e.splice(h--,1);break}}return e},has:function(a){var b=f(a);return this.filter(function(){for(var a=0,c=b.length;a<c;a++)if(f.contains(this,b[a]))return!0})},not:function(a){return this.pushStack(T(this,a,!1),"not",a)},filter:function(a){return this.pushStack(T(this,a,!0),"filter",a)},is:function(a){return!!a&&(typeof a=="string"?Q.test(a)?f(a,this.context).index(this[0])>=0:f.filter(a,this).length>0:this.filter(a).length>0)},closest:function(a,b){var c=[],d,e,g=this[0];if(f.isArray(a)){var h=1;while(g&&g.ownerDocument&&g!==b){for(d=0;d<a.length;d++)f(g).is(a[d])&&c.push({selector:a[d],elem:g,level:h});g=g.parentNode,h++}return c}var i=Q.test(a)||typeof a!="string"?f(a,b||this.context):0;for(d=0,e=this.length;d<e;d++){g=this[d];while(g){if(i?i.index(g)>-1:f.find.matchesSelector(g,a)){c.push(g);break}g=g.parentNode;if(!g||!g.ownerDocument||g===b||g.nodeType===11)break}}c=c.length>1?f.unique(c):c;return this.pushStack(c,"closest",a)},index:function(a){if(!a)return this[0]&&this[0].parentNode?this.prevAll().length:-1;if(typeof a=="string")return f.inArray(this[0],f(a));return f.inArray(a.jquery?a[0]:a,this)},add:function(a,b){var c=typeof a=="string"?f(a,b):f.makeArray(a&&a.nodeType?[a]:a),d=f.merge(this.get(),c);return this.pushStack(S(c[0])||S(d[0])?d:f.unique(d))},andSelf:function(){return this.add(this.prevObject)}}),f.each({parent:function(a){var b=a.parentNode;return b&&b.nodeType!==11?b:null},parents:function(a){return f.dir(a,"parentNode")},parentsUntil:function(a,b,c){return f.dir(a,"parentNode",c)},next:function(a){return f.nth(a,2,"nextSibling")},prev:function(a){return f.nth(a,2,"previousSibling")},nextAll:function(a){return f.dir(a,"nextSibling")},prevAll:function(a){return f.dir(a,"previousSibling")},nextUntil:function(a,b,c){return f.dir(a,"nextSibling",c)},prevUntil:function(a,b,c){return f.dir(a,"previousSibling",c)},siblings:function(a){return f.sibling((a.parentNode||{}).firstChild,a)},children:function(a){return f.sibling(a.firstChild)},contents:function(a){return f.nodeName(a,"iframe")?a.contentDocument||a.contentWindow.document:f.makeArray(a.childNodes)}},function(a,b){f.fn[a]=function(c,d){var e=f.map(this,b,c);L.test(a)||(d=c),d&&typeof d=="string"&&(e=f.filter(d,e)),e=this.length>1&&!R[a]?f.unique(e):e,(this.length>1||N.test(d))&&M.test(a)&&(e=e.reverse());return this.pushStack(e,a,P.call(arguments).join(","))}}),f.extend({filter:function(a,b,c){c&&(a=":not("+a+")");return b.length===1?f.find.matchesSelector(b[0],a)?[b[0]]:[]:f.find.matches(a,b)},dir:function(a,c,d){var e=[],g=a[c];while(g&&g.nodeType!==9&&(d===b||g.nodeType!==1||!f(g).is(d)))g.nodeType===1&&e.push(g),g=g[c];return e},nth:function(a,b,c,d){b=b||1;var e=0;for(;a;a=a[c])if(a.nodeType===1&&++e===b)break;return a},sibling:function(a,b){var c=[];for(;a;a=a.nextSibling)a.nodeType===1&&a!==b&&c.push(a);return c}});var V="abbr|article|aside|audio|bdi|canvas|data|datalist|details|figcaption|figure|footer|header|hgroup|mark|meter|nav|output|progress|section|summary|time|video",W=/ jQuery\d+="(?:\d+|null)"/g,X=/^\s+/,Y=/<(?!area|br|col|embed|hr|img|input|link|meta|param)(([\w:]+)[^>]*)\/>/ig,Z=/<([\w:]+)/,$=/<tbody/i,_=/<|&#?\w+;/,ba=/<(?:script|style)/i,bb=/<(?:script|object|embed|option|style)/i,bc=new RegExp("<(?:"+V+")[\\s/>]","i"),bd=/checked\s*(?:[^=]|=\s*.checked.)/i,be=/\/(java|ecma)script/i,bf=/^\s*<!(?:\[CDATA\[|\-\-)/,bg={option:[1,"<select multiple='multiple'>","</select>"],legend:[1,"<fieldset>","</fieldset>"],thead:[1,"<table>","</table>"],tr:[2,"<table><tbody>","</tbody></table>"],td:[3,"<table><tbody><tr>","</tr></tbody></table>"],col:[2,"<table><tbody></tbody><colgroup>","</colgroup></table>"],area:[1,"<map>","</map>"],_default:[0,"",""]},bh=U(c);bg.optgroup=bg.option,bg.tbody=bg.tfoot=bg.colgroup=bg.caption=bg.thead,bg.th=bg.td,f.support.htmlSerialize||(bg._default=[1,"div<div>","</div>"]),f.fn.extend({text:function(a){return f.access(this,function(a){return a===b?f.text(this):this.empty().append((this[0]&&this[0].ownerDocument||c).createTextNode(a))},null,a,arguments.length)},wrapAll:function(a){if(f.isFunction(a))return this.each(function(b){f(this).wrapAll(a.call(this,b))});if(this[0]){var b=f(a,this[0].ownerDocument).eq(0).clone(!0);this[0].parentNode&&b.insertBefore(this[0]),b.map(function(){var a=this;while(a.firstChild&&a.firstChild.nodeType===1)a=a.firstChild;return a}).append(this)}return this},wrapInner:function(a){if(f.isFunction(a))return this.each(function(b){f(this).wrapInner(a.call(this,b))});return this.each(function(){var b=f(this),c=b.contents();c.length?c.wrapAll(a):b.append(a)})},wrap:function(a){var b=f.isFunction(a);return this.each(function(c){f(this).wrapAll(b?a.call(this,c):a)})},unwrap:function(){return this.parent().each(function(){f.nodeName(this,"body")||f(this).replaceWith(this.childNodes)}).end()},append:function(){return this.domManip(arguments,!0,function(a){this.nodeType===1&&this.appendChild(a)})},prepend:function(){return this.domManip(arguments,!0,function(a){this.nodeType===1&&this.insertBefore(a,this.firstChild)})},before:function(){if(this[0]&&this[0].parentNode)return this.domManip(arguments,!1,function(a){this.parentNode.insertBefore(a,this)});if(arguments.length){var a=f >-.clean(arguments);a.push.apply(a,this.toArray());return this.pushStack(a,"before",arguments)}},after:function(){if(this[0]&&this[0].parentNode)return this.domManip(arguments,!1,function(a){this.parentNode.insertBefore(a,this.nextSibling)});if(arguments.length){var a=this.pushStack(this,"after",arguments);a.push.apply(a,f.clean(arguments));return a}},remove:function(a,b){for(var c=0,d;(d=this[c])!=null;c++)if(!a||f.filter(a,[d]).length)!b&&d.nodeType===1&&(f.cleanData(d.getElementsByTagName("*")),f.cleanData([d])),d.parentNode&&d.parentNode.removeChild(d);return this},empty:function(){for(var a=0,b;(b=this[a])!=null;a++){b.nodeType===1&&f.cleanData(b.getElementsByTagName("*"));while(b.firstChild)b.removeChild(b.firstChild)}return this},clone:function(a,b){a=a==null?!1:a,b=b==null?a:b;return this.map(function(){return f.clone(this,a,b)})},html:function(a){return f.access(this,function(a){var c=this[0]||{},d=0,e=this.length;if(a===b)return c.nodeType===1?c.innerHTML.replace(W,""):null;if(typeof a=="string"&&!ba.test(a)&&(f.support.leadingWhitespace||!X.test(a))&&!bg[(Z.exec(a)||["",""])[1].toLowerCase()]){a=a.replace(Y,"<$1></$2>");try{for(;d<e;d++)c=this[d]||{},c.nodeType===1&&(f.cleanData(c.getElementsByTagName("*")),c.innerHTML=a);c=0}catch(g){}}c&&this.empty().append(a)},null,a,arguments.length)},replaceWith:function(a){if(this[0]&&this[0].parentNode){if(f.isFunction(a))return this.each(function(b){var c=f(this),d=c.html();c.replaceWith(a.call(this,b,d))});typeof a!="string"&&(a=f(a).detach());return this.each(function(){var b=this.nextSibling,c=this.parentNode;f(this).remove(),b?f(b).before(a):f(c).append(a)})}return this.length?this.pushStack(f(f.isFunction(a)?a():a),"replaceWith",a):this},detach:function(a){return this.remove(a,!0)},domManip:function(a,c,d){var e,g,h,i,j=a[0],k=[];if(!f.support.checkClone&&arguments.length===3&&typeof j=="string"&&bd.test(j))return this.each(function(){f(this).domManip(a,c,d,!0)});if(f.isFunction(j))return this.each(function(e){var g=f(this);a[0]=j.call(this,e,c?g.html():b),g.domManip(a,c,d)});if(this[0]){i=j&&j.parentNode,f.support.parentNode&&i&&i.nodeType===11&&i.childNodes.length===this.length?e={fragment:i}:e=f.buildFragment(a,this,k),h=e.fragment,h.childNodes.length===1?g=h=h.firstChild:g=h.firstChild;if(g){c=c&&f.nodeName(g,"tr");for(var l=0,m=this.length,n=m-1;l<m;l++)d.call(c?bi(this[l],g):this[l],e.cacheable||m>1&&l<n?f.clone(h,!0,!0):h)}k.length&&f.each(k,function(a,b){b.src?f.ajax({type:"GET",global:!1,url:b.src,async:!1,dataType:"script"}):f.globalEval((b.text||b.textContent||b.innerHTML||"").replace(bf,"/*$0*/")),b.parentNode&&b.parentNode.removeChild(b)})}return this}}),f.buildFragment=function(a,b,d){var e,g,h,i,j=a[0];b&&b[0]&&(i=b[0].ownerDocument||b[0]),i.createDocumentFragment||(i=c),a.length===1&&typeof j=="string"&&j.length<512&&i===c&&j.charAt(0)==="<"&&!bb.test(j)&&(f.support.checkClone||!bd.test(j))&&(f.support.html5Clone||!bc.test(j))&&(g=!0,h=f.fragments[j],h&&h!==1&&(e=h)),e||(e=i.createDocumentFragment(),f.clean(a,i,e,d)),g&&(f.fragments[j]=h?e:1);return{fragment:e,cacheable:g}},f.fragments={},f.each({appendTo:"append",prependTo:"prepend",insertBefore:"before",insertAfter:"after",replaceAll:"replaceWith"},function(a,b){f.fn[a]=function(c){var d=[],e=f(c),g=this.length===1&&this[0].parentNode;if(g&&g.nodeType===11&&g.childNodes.length===1&&e.length===1){e[b](this[0]);return this}for(var h=0,i=e.length;h<i;h++){var j=(h>0?this.clone(!0):this).get();f(e[h])[b](j),d=d.concat(j)}return this.pushStack(d,a,e.selector)}}),f.extend({clone:function(a,b,c){var d,e,g,h=f.support.html5Clone||f.isXMLDoc(a)||!bc.test("<"+a.nodeName+">")?a.cloneNode(!0):bo(a);if((!f.support.noCloneEvent||!f.support.noCloneChecked)&&(a.nodeType===1||a.nodeType===11)&&!f.isXMLDoc(a)){bk(a,h),d=bl(a),e=bl(h);for(g=0;d[g];++g)e[g]&&bk(d[g],e[g])}if(b){bj(a,h);if(c){d=bl(a),e=bl(h);for(g=0;d[g];++g)bj(d[g],e[g])}}d=e=null;return h},clean:function(a,b,d,e){var g,h,i,j=[];b=b||c,typeof b.createElement=="undefined"&&(b=b.ownerDocument||b[0]&&b[0].ownerDocument||c);for(var k=0,l;(l=a[k])!=null;k++){typeof l=="number"&&(l+="");if(!l)continue;if(typeof l=="string")if(!_.test(l))l=b.createTextNode(l);else{l=l.replace(Y,"<$1></$2>");var m=(Z.exec(l)||["",""])[1].toLowerCase(),n=bg[m]||bg._default,o=n[0],p=b.createElement("div"),q=bh.childNodes,r;b===c?bh.appendChild(p):U(b).appendChild(p),p.innerHTML=n[1]+l+n[2];while(o--)p=p.lastChild;if(!f.support.tbody){var s=$.test(l),t=m==="table"&&!s?p.firstChild&&p.firstChild.childNodes:n[1]==="<table>"&&!s?p.childNodes:[];for(i=t.length-1;i>=0;--i)f.nodeName(t[i],"tbody")&&!t[i].childNodes.length&&t[i].parentNode.removeChild(t[i])}!f.support.leadingWhitespace&&X.test(l)&&p.insertBefore(b.createTextNode(X.exec(l)[0]),p.firstChild),l=p.childNodes,p&&(p.parentNode.removeChild(p),q.length>0&&(r=q[q.length-1],r&&r.parentNode&&r.parentNode.removeChild(r)))}var u;if(!f.support.appendChecked)if(l[0]&&typeof (u=l.length)=="number")for(i=0;i<u;i++)bn(l[i]);else bn(l);l.nodeType?j.push(l):j=f.merge(j,l)}if(d){g=function(a){return!a.type||be.test(a.type)};for(k=0;j[k];k++){h=j[k];if(e&&f.nodeName(h,"script")&&(!h.type||be.test(h.type)))e.push(h.parentNode?h.parentNode.removeChild(h):h);else{if(h.nodeType===1){var v=f.grep(h.getElementsByTagName("script"),g);j.splice.apply(j,[k+1,0].concat(v))}d.appendChild(h)}}}return j},cleanData:function(a){var b,c,d=f.cache,e=f.event.special,g=f.support.deleteExpando;for(var h=0,i;(i=a[h])!=null;h++){if(i.nodeName&&f.noData[i.nodeName.toLowerCase()])continue;c=i[f.expando];if(c){b=d[c];if(b&&b.events){for(var j in b.events)e[j]?f.event.remove(i,j):f.removeEvent(i,j,b.handle);b.handle&&(b.handle.elem=null)}g?delete i[f.expando]:i.removeAttribute&&i.removeAttribute(f.expando),delete d[c]}}}});var bp=/alpha\([^)]*\)/i,bq=/opacity=([^)]*)/,br=/([A-Z]|^ms)/g,bs=/^[\-+]?(?:\d*\.)?\d+$/i,bt=/^-?(?:\d*\.)?\d+(?!px)[^\d\s]+$/i,bu=/^([\-+])=([\-+.\de]+)/,bv=/^margin/,bw={position:"absolute",visibility:"hidden",display:"block"},bx=["Top","Right","Bottom","Left"],by,bz,bA;f.fn.css=function(a,c){return f.access(this,function(a,c,d){return d!==b?f.style(a,c,d):f.css(a,c)},a,c,arguments.length>1)},f.extend({cssHooks:{opacity:{get:function(a,b){if(b){var c=by(a,"opacity");return c===""?"1":c}return a.style.opacity}}},cssNumber:{fillOpacity:!0,fontWeight:!0,lineHeight:!0,opacity:!0,orphans:!0,widows:!0,zIndex:!0,zoom:!0},cssProps:{"float":f.support.cssFloat?"cssFloat":"styleFloat"},style:function(a,c,d,e){if(!!a&&a.nodeType!==3&&a.nodeType!==8&&!!a.style){var g,h,i=f.camelCase(c),j=a.style,k=f.cssHooks[i];c=f.cssProps[i]||i;if(d===b){if(k&&"get"in k&&(g=k.get(a,!1,e))!==b)return g;return j[c]}h=typeof d,h==="string"&&(g=bu.exec(d))&&(d=+(g[1]+1)*+g[2]+parseFloat(f.css(a,c)),h="number");if(d==null||h==="number"&&isNaN(d))return;h==="number"&&!f.cssNumber[i]&&(d+="px");if(!k||!("set"in k)||(d=k.set(a,d))!==b)try{j[c]=d}catch(l){}}},css:function(a,c,d){var e,g;c=f.camelCase(c),g=f.cssHooks[c],c=f.cssProps[c]||c,c==="cssFloat"&&(c="float");if(g&&"get"in g&&(e=g.get(a,!0,d))!==b)return e;if(by)return by(a,c)},swap:function(a,b,c){var d={},e,f;for(f in b)d[f]=a.style[f],a.style[f]=b[f];e=c.call(a);for(f in b)a.style[f]=d[f];return e}}),f.curCSS=f.css,c.defaultView&&c.defaultView.getComputedStyle&&(bz=function(a,b){var c,d,e,g,h=a.style;b=b.replace(br,"-$1").toLowerCase(),(d=a.ownerDocument.defaultView)&&(e=d.getComputedStyle(a,null))&&(c=e.getPropertyValue(b),c===""&&!f.contains(a.ownerDocument.documentElement,a)&&(c=f.style(a,b))),!f.support.pixelMargin&&e&&bv.test(b)&&bt.test(c)&&(g=h.width,h.width=c,c=e.width,h.width=g);return c}),c.documentElement.currentStyle&&(bA=function(a,b){var c,d,e,f=a.currentStyle&&a.currentStyle[b],g=a.style;f==null&&g&&(e=g[b])&&(f=e),bt.test(f)&&(c=g.left,d=a.runtimeStyle&&a.runtimeStyle.left,d&&(a.runtimeStyle.left=a.currentStyle.left),g.left=b==="fontSize"?"1em":f,f=g.pixelLeft+"px",g.left=c,d&&(a.runtimeStyle.left=d));return f===""?"auto":f}),by=bz||bA,f.each(["height","width"],function(a,b){f.cssHooks[b]={get:function(a,c,d){if(c)return a.offsetWidth!==0?bB(a,b,d):f.swap(a,bw,function(){return bB(a,b,d)})},set:function(a,b){return bs.test(b)?b+"px":b}}}),f.support.opacity||(f.cssHooks.opacity={get:function(a,b){return bq.test((b&&a.currentStyle?a.currentStyle.filter:a.style.filter)||"")?parseFloat(RegExp.$1)/100+"":b?"1":""},set:function(a,b){var c=a.style,d=a.currentStyle,e=f.isNumeric(b)?"alpha(opacity="+b*100+")":"",g=d&&d.filter||c.filter||"";c.zoom=1;if(b>=1&&f.trim(g.replace(bp,""))===""){c.removeAttribute("filter");if(d&&!d.filter)return}c.filter=bp.test(g)?g.replace(bp,e):g+" "+e}}),f(function(){f.support.reliableMarginRight||(f.cssHooks.marginRight={get:function(a,b){return f.swap(a,{display:"inline-block"},function(){return b?by(a,"margin-right"):a.style.marginRight})}})}),f.expr&&f.expr.filters&&(f.expr.filters.hidden=function(a){var b=a.offsetWidth,c=a.offsetHeight;return b===0&&c===0||!f.support.reliableHiddenOffsets&&(a.style&&a.style.display||f.css(a,"display"))==="none"},f.expr.filters.visible=function(a){return!f.expr.filters.hidden(a)}),f.each({margin:"",padding:"",border:"Width"},function(a,b){f.cssHooks[a+b]={expand:function(c){var d,e=typeof c=="string"?c.split(" "):[c],f={};for(d=0;d<4;d++)f[a+bx[d]+b]=e[d]||e[d-2]||e[0];return f}}});var bC=/%20/g,bD=/\[\]$/,bE=/\r?\n/g,bF=/#.*$/,bG=/^(.*?):[ \t]*([^\r\n]*)\r?$/mg,bH=/^(?:color|date|datetime|datetime-local|email|hidden|month|number|password|range|search|tel|text|time|url|week)$/i,bI=/^(?:about|app|app\-storage|.+\-extension|file|res|widget):$/,bJ=/^(?:GET|HEAD)$/,bK=/^\/\//,bL=/\?/,bM=/<script\b[^<]*(?:(?!<\/script>)<[^<]*)*<\/script>/gi,bN=/^(?:select|textarea)/i,bO=/\s+/,bP=/([?&])_=[^&]*/,bQ=/^([\w\+\.\-]+:)(?:\/\/([^\/?#:]*)(?::(\d+))?)?/,bR=f.fn.load,bS={},bT={},bU,bV,bW=["*/"]+["*"];try{bU=e.href}catch(bX){bU=c.createElement("a"),bU.href="",bU=bU.href}bV=bQ.exec(bU.toLowerCase())||[],f.fn.extend({load:function(a,c,d){if(typeof a!="string"&&bR)return bR.apply(this,arguments);if(!this.length)return this;var e=a.indexOf(" ");if(e>=0){var g=a.slice(e,a.length);a=a.slice(0,e)}var h="GET";c&&(f.isFunction(c)?(d=c,c=b):typeof c=="object"&&(c=f.param(c,f.ajaxSettings.traditional),h="POST"));var i=this;f.ajax({url:a,type:h,dataType:"html",data:c,complete:function(a,b,c){c=a.responseText,a.isResolved()&&(a.done(function(a){c=a}),i.html(g?f("<div>").append(c.replace(bM,"")).find(g):c)),d&&i.each(d,[c,b,a])}});return this},serialize:function(){return f.param(this.serializeArray())},serializeArray:function(){return this.map(function(){return this.elements?f.makeArray(this.elements):this}).filter(function(){return this.name&&!this.disabled&&(this.checked||bN.test(this.nodeName)||bH.test(this.type))}).map(function(a,b){var c=f(this).val();return c==null?null:f.isArray(c)?f.map(c,function(a,c){return{name:b.name,value:a.replace(bE,"\r\n")}}):{name:b.name,value:c.replace(bE,"\r\n")}}).get()}}),f.each("ajaxStart ajaxStop ajaxComplete ajaxError ajaxSuccess ajaxSend".split(" "),function(a,b){f.fn[b]=function(a){return this.on(b,a)}}),f.each(["get","post"],function(a,c){f[c]=function(a,d,e,g){f.isFunction(d)&&(g=g||e,e=d,d=b);return f.ajax({type:c,url:a,data:d,success:e,dataType:g})}}),f.extend({getScript:function(a,c){return f.get(a,b,c,"script")},getJSON:function(a,b,c){return f.get(a,b,c,"json")},ajaxSetup:function(a,b){b?b$(a,f.ajaxSettings):(b=a,a=f.ajaxSettings),b$(a,b);return a},ajaxSettings:{url:bU,isLocal:bI.test(bV[1]),global:!0,type:"GET",contentType:"application/x-www-form-urlencoded; charset=UTF-8",processData:!0,async:!0,accepts:{xml:"application/xml, text/xml",html:"text/html",text:"text/plain",json:"application/json, text/javascript","*":bW},contents:{xml:/xml/,html:/html/,json:/json/},responseFields:{xml:"responseXML",text:"responseText"},converters:{"* text":a.String,"text html":!0,"text json":f.parseJSON,"text xml":f.parseXML},flatOptions:{context:!0,url:!0}},ajaxPrefilter:bY(bS),ajaxTransport:bY(bT),ajax:function(a,c){function w(a,c,l,m){if(s!==2){s=2,q&&clearTimeout(q),p=b,n=m||"",v.readyState=a>0?4:0;var o,r,u,w=c,x=l?ca(d,v,l):b,y,z;if(a>=200&&a<300||a===304){if(d.ifModified){if(y=v.getResponseHeader("Last-Modified"))f.lastModified[k]=y;if(z=v.getResponseHeader("Etag"))f.etag[k]=z}if(a===304)w="notmodified",o=!0;else try{r=cb(d,x),w="success",o=!0}catch(A){w="parsererror",u=A}}else{u=w;if(!w||a)w="error",a<0&&(a=0)}v.status=a,v.statusText=""+(c||w),o?h.resolveWith(e,[r,w,v]):h.rejectWith(e,[v,w,u]),v.statusCode(j),j=b,t&&g.trigger("ajax"+(o?"Success":"Error"),[v,d,o?r:u]),i.fireWith(e,[v,w]),t&&(g.trigger("ajaxComplete",[v,d]),--f.active||f.event.trigger("ajaxStop"))}}typeof a=="object"&&(c=a,a=b),c=c||{};var d=f.ajaxSetup({},c),e=d.context||d,g=e!==d&&(e.nodeType||e instanceof f)?f(e):f.event,h=f.Deferred(),i=f.Callbacks("once memory"),j=d.statusCode||{},k,l={},m={},n,o,p,q,r,s=0,t,u,v={readyState:0,setRequestHeader:function(a,b){if(!s){var c=a.toLowerCase();a=m[c]=m[c]||a,l[a]=b}return this},getAllResponseHeaders:function(){return s===2?n:null},getResponseHeader:function(a){var c;if(s===2){if(!o){o={};while(c=bG.exec(n))o[c[1].toLowerCase()]=c[2]}c=o[a.toLowerCase()]}return c===b?null:c},overrideMimeType:function(a){s||(d.mimeType=a);return this},abort:function(a){a=a||"abort",p&&p.abort(a),w(0,a);return this}};h.promise(v),v.success=v.done,v.error=v.fail,v.complete=i.add,v.statusCode=function(a){if(a){var b;if(s<2)for(b in a)j[b]=[j[b],a[b]];else b=a[v.status],v.then(b,b)}return this},d.url=((a||d.url)+"").replace(bF,"").replace(bK,bV[1]+"//"),d.dataTypes=f.trim(d.dataType||"*").toLowerCase().split(bO),d.crossDomain==null&&(r=bQ.exec(d.url.toLowerCase()),d.crossDomain=!(!r||r[1]==bV[1]&&r[2]==bV[2]&&(r[3]||(r[1]==="http:"?80:443))==(bV[3]||(bV[1]==="http:"?80:443)))),d.data&&d.processData&&typeof d.data!="string"&&(d.data=f.param(d.data,d.traditional)),bZ(bS,d,c,v);if(s===2)return!1;t=d.global,d.type=d.type.toUpperCase(),d.hasContent=!bJ.test(d.type),t&&f.active++===0&&f.event.trigger("ajaxStart");if(!d.hasContent){d.data&&(d.url+=(bL.test(d.url)?"&":"?")+d.data,delete d.data),k=d.url;if(d.cache===!1){var x=f.now(),y=d.url.replace(bP,"$1_="+x);d.url=y+(y===d.url?(bL.test(d.url)?"&":"?")+"_="+x:"")}}(d.data&&d.hasContent&&d.contentType!==!1||c.contentType)&&v.setRequestHeader("Content-Type",d.contentType),d.ifModified&&(k=k||d.url,f.lastModified[k]&&v.setRequestHeader("If-Modified-Since",f.lastModified[k]),f.etag[k]&&v.setRequestHeader("If-None-Match",f.etag[k])),v.setRequestHeader("Accept",d.dataTypes[0]&&d.accepts[d.dataTypes[0]]?d.accepts[d.dataTypes[0]]+(d.dataTypes[0]!=="*"?", "+bW+"; q=0.01":""):d.accepts["*"]);for(u in d.headers)v.setRequestHeader(u,d.headers[u]);if(d.beforeSend&&(d.beforeSend.call(e,v,d)===!1||s===2)){v.abort();return!1}for(u in{success:1,error:1,complete:1})v[u](d[u]);p=bZ(bT,d,c,v);if(!p)w(-1,"No Transport");else{v.readyState=1,t&&g.trigger("ajaxSend",[v,d]),d.async&&d.timeout>0&&(q=setTimeout(function(){v.abort("timeout")},d.timeout));try{s=1,p.send(l,w)}catch(z){if(s<2)w(-1,z);else throw z}}return v},param:function(a,c){var d=[],e=function(a,b){b=f.isFunction(b)?b():b,d[d.length]=encodeURIComponent(a)+"="+encodeURIComponent(b)};c===b&&(c=f.ajaxSettings.traditional);if(f.isArray(a)||a.jquery&&!f.isPlainObject(a))f.each(a,function(){e(this.name,this.value)});else for(var g in a)b_(g,a[g],c,e);return d.join("&").replace(bC,"+")}}),f.extend({active:0,lastModified:{},etag:{}});var cc=f.now(),cd=/(\=)\?(&|$)|\?\?/i;f.ajaxSetup({jsonp:"callback",jsonpCallback:function(){return f.expando+"_"+cc++}}),f.ajaxPrefilter("json jsonp",function(b,c,d){var e=typeof b.data=="string"&&/^application\/x\-www\-form\-urlencoded/.test(b.contentType);if(b.dataTypes[0]==="jsonp"||b.jsonp!==!1&&(cd.test(b.url)||e&&cd.test(b.data))){var g,h=b.jsonpCallback=f.isFunction(b.jsonpCallback)?b.jsonpCallback():b.jsonpCallback,i=a[h],j=b.url,k=b.data,l="$1"+h+"$2";b.jsonp!==!1&&(j=j.replace(cd,l),b.url===j&&(e&&(k=k.replace(cd,l)),b.data===k&&(j+=(/\?/.test(j)?"&":"?")+b.jsonp+"="+h))),b.url=j,b.data=k,a[h]=function(a){g=[a]},d.always(function(){a[h]=i,g&&f.isFunction(i)&&a[h](g[0])}),b.converters["script json"]=function(){g||f.error(h+" was not called");return g[0]},b.dataTypes[0]="json";return"script"}}),f.ajaxSetup({accepts:{script:"text/javascript, application/javascript, application/ecmascript, application/x-ecmascript"},contents:{script:/javascript|ecmascript/},converters:{"text script":function(a){f.globalEval(a);return a}}}),f.ajaxPrefilter("script",function(a){a.cache===b&&(a.cache=!1),a.crossDomain&&(a.type="GET",a.global=!1)}),f.ajaxTransport("script",function(a){if(a.crossDomain){var d,e=c.head||c.getElementsByTagName("head")[0]||c.documentElement;return{send:function(f,g){d=c.createElement("script"),d.async="async",a.scriptCharset&&(d.charset=a.scriptCharset),d.src=a.url,d.onload=d.onreadystatechange=function(a,c){if(c||!d.readyState||/loaded|complete/.test(d.readyState))d.onload=d.onreadystatechange=null,e&&d.parentNode&&e.removeChild(d),d=b,c||g(200,"success")},e.insertBefore(d,e.firstChild)},abort:function(){d&&d.onload(0,1)}}}});var ce=a.ActiveXObject?function(){for(var a in cg)cg[a](0,1)}:!1,cf=0,cg;f.ajaxSettings.xhr=a.ActiveXObject?function(){return!this.isLocal&&ch()||ci()}:ch,function(a){f.extend(f.support,{ajax:!!a,cors:!!a&&"withCredentials"in a})}(f.ajaxSettings.xhr()),f.support.ajax&&f.ajaxTransport(function(c){if(!c.crossDomain||f.support.cors){var d;return{send:function(e,g){var h=c.xhr(),i,j;c.username?h.open(c.type,c.url,c.async,c.username,c.password):h.open(c.type,c.url,c.async);if(c.xhrFields)for(j in c.xhrFields)h[j]=c.xhrFields[j];c.mimeType&&h.overrideMimeType&&h.overrideMimeType(c.mimeType),!c.crossDomain&&!e["X-Requested-With"]&&(e["X-Requested-With"]="XMLHttpRequest");try{for(j in e)h.setRequestHeader(j,e[j])}catch(k){}h.send(c.hasContent&&c.data||null),d=function(a,e){var j,k,l,m,n;try{if(d&&(e||h.readyState===4)){d=b,i&&(h.onreadystatechange=f.noop,ce&&delete cg[i]);if(e)h.readyState!==4&&h.abort();else{j=h.status,l=h.getAllResponseHeaders(),m={},n=h.responseXML,n&&n.documentElement&&(m.xml=n);try{m.text=h.responseText}catch(a){}try{k=h.statusText}catch(o){k=""}!j&&c.isLocal&&!c.crossDomain?j=m.text?200:404:j===1223&&(j=204)}}}catch(p){e||g(-1,p)}m&&g(j,k,m,l)},!c.async||h.readyState===4?d():(i=++cf,ce&&(cg||(cg={},f(a).unload(ce)),cg[i]=d),h.onreadystatechange=d)},abort:function(){d&&d(0,1)}}}});var cj={},ck,cl,cm=/^(?:toggle|show|hide)$/,cn=/^([+\-]=)?([\d+.\-]+)([a-z%]*)$/i,co,cp=[["height","marginTop","marginBottom","paddingTop","paddingBottom"],["width","marginLeft","marginRight","paddingLeft","paddingRight"],["opacity"]],cq;f.fn.extend({show:function(a,b,c){var d,e;if(a||a===0)return this.animate(ct("show",3),a,b,c);for(var g=0,h=this.length;g<h;g++)d=this[g],d.style&&(e=d.style.display,!f._data(d,"olddisplay")&&e==="none"&&(e=d.style.display=""),(e===""&&f.css(d,"display")==="none"||!f.contains(d.ownerDocument.documentElement,d))&&f._data(d,"olddisplay",cu(d.nodeName)));for(g=0;g<h;g++){d=this[g];if(d.style){e=d.style.display;if(e===""||e==="none")d.style.display=f._data(d,"olddisplay")||""}}return this},hide:function(a,b,c){if(a||a===0)return this.animate(ct("hide",3),a,b,c);var d,e,g=0,h=this.length;for(;g<h;g++)d=this[g],d.style&&(e=f.css(d,"display"),e!=="none"&&!f._data(d,"olddisplay")&&f._data(d,"olddisplay",e));for(g=0;g<h;g++)this[g].style&&(this[g].style.display="none");return this},_toggle:f.fn.toggle,toggle:function(a,b,c){var d=typeof a=="boolean";f.isFunction(a)&&f.isFunction(b)?this._toggle.apply(this,arguments):a==null||d?this.each(function(){var b=d?a:f(this).is(":hidden");f(this)[b?"show":"hide"]()}):this.animate(ct("toggle",3),a,b,c);return this},fadeTo:function(a,b,c,d){return this.filter(":hidden").css("opacity",0).show().end().animate({opacity:b},a,c,d)},animate:function(a,b,c,d){function g(){e.queue===!1&&f._mark(this);var b=f.extend({},e),c=this.nodeType===1,d=c&&f(this).is(":hidden"),g,h,i,j,k,l,m,n,o,p,q;b.animatedProperties={};for(i in a){g=f.camelCase(i),i!==g&&(a[g]=a[i],delete a[i]);if((k=f.cssHooks[g])&&"expand"in k){l=k.expand(a[g]),delete a[g];for(i in l)i in a||(a[i]=l[i])}}for(g in a){h=a[g],f.isArray(h)?(b.animatedProperties[g]=h[1],h=a[g]=h[0]):b.animatedProperties[g]=b.specialEasing&&b.specialEasing[g]||b.easing||"swing";if(h==="hide"&&d||h==="show"&&!d)return b.complete.call(this);c&&(g==="height"||g==="width")&&(b.overflow=[this.style.overflow,this.style.overflowX,this.style.overflowY],f.css(this,"display")==="inline"&&f.css(this,"float")==="none"&&(!f.support.inlineBlockNeedsLayout||cu(this.nodeName)==="inline"?this.style.display="inline-block":this.style.zoom=1))}b.overflow!=null&&(this.style.overflow="hidden");for(i in a)j=new f.fx(this,b,i),h=a[i],cm.test(h)?(q=f._data(this,"toggle"+i)||(h==="toggle"?d?"show":"hide":0),q?(f._data(this,"toggle"+i,q==="show"?"hide":"show"),j[q]()):j[h]()):(m=cn.exec(h),n=j.cur(),m?(o=parseFloat(m[2]),p=m[3]||(f.cssNumber[i]?"":"px"),p!=="px"&&(f.style(this,i,(o||1)+p),n=(o||1)/j.cur()*n,f.style(this,i,n+p)),m[1]&&(o=(m[1]==="-="?-1:1)*o+n),j.custom(n,o,p)):j.custom(n,h,""));return!0}var e=f.speed(b,c,d);if(f.isEmptyObject(a))return this.each(e.complete,[!1]);a=f.extend({},a);return e.queue===!1?this.each(g):this.queue(e.queue,g)},stop:function(a,c,d){typeof a!="string"&&(d=c,c=a,a=b),c&&a!==!1&&this.queue(a||"fx",[]);return this.each(function(){function h(a,b,c){var e=b[c];f.removeData(a,c,!0),e.stop(d)}var b,c=!1,e=f.timers,g=f._data(this);d||f._unmark(!0,this);if(a==null)for(b in g)g[b]&&g[b].stop&&b.indexOf(".run")===b.length-4&&h(this,g,b);else g[b=a+".run"]&&g[b].stop&&h(this,g,b);for(b=e.length;b--;)e[b].elem===this&&(a==null||e[b].queue===a)&&(d?e[b](!0):e[b].saveState(),c=!0,e.splice(b,1));(!d||!c)&&f.dequeue(this,a)})}}),f.each({slideDown:ct("show",1),slideUp:ct("hide",1),slideToggle:ct("toggle",1),fadeIn:{opacity:"show"},fadeOut:{opacity:"hide"},fadeToggle:{opacity:"toggle"}},function(a,b){f.fn[a]=function(a,c,d){return this.animate(b,a,c,d)}}),f.extend({speed:function(a,b,c){var d=a&&typeof a=="object"?f.extend({},a):{complete:c||!c&&b||f.isFunction(a)&&a,duration:a,easing:c&&b||b&&!f.isFunction(b)&&b};d.duration=f.fx.off?0:typeof d.duration=="number"?d.duration:d.duration in f.fx.speeds?f.fx.speeds[d.duration]:f.fx.speeds._default;if(d.queue==null||d.queue===!0)d.queue="fx";d.old=d.complete,d.complete=function(a){f.isFunction(d.old)&&d.old.call(this),d.queue?f.dequeue(this,d.queue):a!==!1&&f._unmark(this)};return d},easing:{linear:function(a){return a},swing:function(a){return-Math.cos(a*Math.PI)/2+.5}},timers:[],fx:function(a,b,c){this.options=b,this.elem=a,this.prop=c,b.orig=b.orig||{}}}),f.fx.prototype={update:function(){this.options.step&&this.options.step.call(this.elem,this.now,this),(f.fx.step[this.prop]||f.fx.step._default)(this)},cur:function(){if(this.elem[this.prop]!=null&&(!this.elem.style||this.elem.style[this.prop]==null))return this.elem[this.prop];var a,b=f.css(this.elem,this.prop);return isNaN(a=parseFloat(b))?!b||b==="auto"?0:b:a},custom:function(a,c,d){function h(a){return e.step(a)}var e=this,g=f.fx;this.startTime=cq||cr(),this.end=c,this.now=this.start=a,this.pos=this.state=0,this.unit=d||this.unit||(f.cssNumber[this.prop]?"":"px"),h.queue=this.options.queue,h.elem=this.elem,h.saveState=function(){f._data(e.elem,"fxshow"+e.prop)===b&&(e.options.hide?f._data(e.elem,"fxshow"+e.prop,e.start):e.options.show&&f._data(e.elem,"fxshow"+e.prop,e.end))},h()&&f.timers.push(h)&&!co&&(co=setInterval(g.tick,g.interval))},show:function(){var a=f._data(this.elem,"fxshow"+this.prop);this.options.orig[this.prop]=a||f.style(this.elem,this.prop),this.options.show=!0,a!==b?this.custom(this.cur(),a):this.custom(this.prop==="width"||this.prop==="height"?1:0,this.cur()),f(this.elem).show()},hide:function(){this.options.orig[this.prop]=f._data(this.elem,"fxshow"+this.prop)||f.style(this.elem,this.prop),this.options.hide=!0,this.custom(this.cur(),0)},step:function(a){var b,c,d,e=cq||cr(),g=!0,h=this.elem,i=this.options;if(a||e>=i.duration+this.startTime){this.now=this.end,this.pos=this.state=1,this.update(),i.animatedProperties[this.prop]=!0;for(b in i.animatedProperties)i.animatedProperties[b]!==!0&&(g=!1);if(g){i.overflow!=null&&!f.support.shrinkWrapBlocks&&f.each(["","X","Y"],function(a,b){h.style["overflow"+b]=i.overflow[a]}),i.hide&&f(h).hide();if(i.hide||i.show)for(b in i.animatedProperties)f.style(h,b,i.orig[b]),f.removeData(h,"fxshow"+b,!0),f.removeData(h,"toggle"+b,!0);d=i.complete,d&&(i.complete=!1,d.call(h))}return!1}i.duration==Infinity?this.now=e:(c=e-this.startTime,this.state=c/i.duration,this.pos=f.easing[i.animatedProperties[this.prop]](this.state,c,0,1,i.duration),this.now=this.start+(this.end-this.start)*this.pos),this.update();return!0}},f.extend(f.fx,{tick:function(){var a,b=f.timers,c=0;for(;c<b.length;c++)a=b[c],!a()&&b[c]===a&&b.splice(c--,1);b.length||f.fx.stop()},interval:13,stop:function(){clearInterval(co),co=null},speeds:{slow:600,fast:200,_default:400},step:{opacity:function(a){f.style(a.elem,"opacity",a.now)},_default:function(a){a.elem.style&&a.elem.style[a.prop]!=null?a.elem.style[a.prop]=a.now+a.unit:a.elem[a.prop]=a.now}}}),f.each(cp.concat.apply([],cp),function(a,b){b.indexOf("margin")&&(f.fx.step[b]=function(a){f.style(a.elem,b,Math.max(0,a.now)+a.unit)})}),f.expr&&f.expr.filters&&(f.expr.filters.animated=function(a){return f.grep(f.timers,function(b){return a===b.elem}).length});var cv,cw=/^t(?:able|d|h)$/i,cx=/^(?:body|html)$/i;"getBoundingClientRect"in c.documentElement?cv=function(a,b,c,d){try{d=a.getBoundingClientRect()}catch(e){}if(!d||!f.contains(c,a))return d?{top:d.top,left:d.left}:{top:0,left:0};var g=b.body,h=cy(b),i=c.clientTop||g.clientTop||0,j=c.clientLeft||g.clientLeft||0,k=h.pageYOffset||f.support.boxModel&&c.scrollTop||g.scrollTop,l=h.pageXOffset||f.support.boxModel&&c.scrollLeft||g.scrollLeft,m=d.top+k-i,n=d.left+l-j;return{top:m,left:n}}:cv=function(a,b,c){var d,e=a.offsetParent,g=a,h=b.body,i=b.defaultView,j=i?i.getComputedStyle(a,null):a.currentStyle,k=a.offsetTop,l=a.offsetLeft;while((a=a.parentNode)&&a!==h&&a!==c){if(f.support.fixedPosition&&j.position==="fixed")break;d=i?i.getComputedStyle(a,null):a.currentStyle,k-=a.scrollTop,l-=a.scrollLeft,a===e&&(k+=a.offsetTop,l+=a.offsetLeft,f.support.doesNotAddBorder&&(!f.support.doesAddBorderForTableAndCells||!cw.test(a.nodeName))&&(k+=parseFloat(d.borderTopWidth)||0,l+=parseFloat(d.borderLeftWidth)||0),g=e,e=a.offsetParent),f.support.subtractsBorderForOverflowNotVisible&&d.overflow!=="visible"&&(k+=parseFloat(d.borderTopWidth)||0,l+=parseFloat(d.borderLeftWidth)||0),j=d}if(j.position==="relative"||j.position==="static")k+=h.offsetTop,l+=h.offsetLeft;f.support.fixedPosition&&j.position==="fixed"&&(k+=Math.max(c.scrollTop,h.scrollTop),l+=Math.max(c.scrollLeft,h.scrollLeft));return{top:k,left:l}},f.fn.offset=function(a){if(arguments.length)return a===b?this:this.each(function(b){f.offset.setOffset(this,a,b)});var c=this[0],d=c&&c.ownerDocument;if(!d)return null;if(c===d.body)return f.offset.bodyOffset(c);return cv(c,d,d.documentElement)},f.offset={bodyOffset:function(a){var b=a.offsetTop,c=a.offsetLeft;f.support.doesNotIncludeMarginInBodyOffset&&(b+=parseFloat(f.css(a,"marginTop"))||0,c+=parseFloat(f.css(a,"marginLeft"))||0);return{top:b,left:c}},setOffset:function(a,b,c){var d=f.css(a,"position");d==="static"&&(a.style.position="relative");var e=f(a),g=e.offset(),h=f.css(a,"top"),i=f.css(a,"left"),j=(d==="absolute"||d==="fixed")&&f.inArray("auto",[h,i])>-1,k={},l={},m,n;j?(l=e.position(),m=l.top,n=l.left):(m=parseFloat(h)||0,n=parseFloat(i)||0),f.isFunction(b)&&(b=b.call(a,c,g)),b.top!=null&&(k.top=b.top-g.top+m),b.left!=null&&(k.left=b.left-g.left+n),"using"in b?b.using.call(a,k):e.css(k)}},f.fn.extend({position:function(){if(!this[0])return null;var a=this[0],b=this.offsetParent(),c=this.offset(),d=cx.test(b[0].nodeName)?{top:0,left:0}:b.offset();c.top-=parseFloat(f.css(a,"marginTop"))||0,c.left-=parseFloat(f.css(a,"marginLeft"))||0,d.top+=parseFloat(f.css(b[0],"borderTopWidth"))||0,d.left+=parseFloat(f.css(b[0],"borderLeftWidth"))||0;return{top:c.top-d.top,left:c.left-d.left}},offsetParent:function(){return this.map(function(){var a=this.offsetParent||c.body;while(a&&!cx.test(a.nodeName)&&f.css(a,"position")==="static")a=a.offsetParent;return a})}}),f.each({scrollLeft:"pageXOffset",scrollTop:"pageYOffset"},function(a,c){var d=/Y/.test(c);f.fn[a]=function(e){return f.access(this,function(a,e,g){var h=cy(a);if(g===b)return h?c in h?h[c]:f.support.boxModel&&h.document.documentElement[e]||h.document.body[e]:a[e];h?h.scrollTo(d?f(h).scrollLeft():g,d?g:f(h).scrollTop()):a[e]=g},a,e,arguments.length,null)}}),f.each({Height:"height",Width:"width"},function(a,c){var d="client"+a,e="scroll"+a,g="offset"+a;f.fn["inner"+a]=function(){var a=this[0];return a?a.style?parseFloat(f.css(a,c,"padding")):this[c]():null},f.fn["outer"+a]=function(a){var b=this[0];return b?b.style?parseFloat(f.css(b,c,a?"margin":"border")):this[c]():null},f.fn[c]=function(a){return f.access(this,function(a,c,h){var i,j,k,l;if(f.isWindow(a)){i=a.document,j=i.documentElement[d];return f.support.boxModel&&j||i.body&&i.body[d]||j}if(a.nodeType===9){i=a.documentElement;if(i[d]>=i[e])return i[d];return Math.max(a.body[e],i[e],a.body[g],i[g])}if(h===b){k=f.css(a,c),l=parseFloat(k);return f.isNumeric(l)?l:k}f(a).css(c,h)},c,a,arguments.length,null)}}),a.jQuery=a.$=f,typeof define=="function"&&define.amd&&define.amd.jQuery&&define("jquery",[],function(){return f})})(window); >\ No newline at end of file >diff --git a/koha-tmpl/opac-tmpl/bootstrap/lib/jquery/images/ui-icons_222222_256x240.png b/koha-tmpl/opac-tmpl/bootstrap/lib/jquery/images/ui-icons_222222_256x240.png >deleted file mode 100644 >index b273ff111d219c9b9a8b96d57683d0075fb7871a..0000000000000000000000000000000000000000 >GIT binary patch >literal 0 >HcmV?d00001 > >literal 4369 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 > >diff --git a/koha-tmpl/opac-tmpl/bootstrap/lib/jquery/images/ui-icons_444444_256x240.png b/koha-tmpl/opac-tmpl/bootstrap/lib/jquery/images/ui-icons_444444_256x240.png >new file mode 100644 >index 0000000000000000000000000000000000000000..e8b645825c21f18e5da06d35a26fe3b335e12a03 >GIT binary patch >literal 7090 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 > >literal 0 >HcmV?d00001 > >diff --git a/koha-tmpl/opac-tmpl/bootstrap/lib/jquery/images/ui-icons_454545_256x240.png b/koha-tmpl/opac-tmpl/bootstrap/lib/jquery/images/ui-icons_454545_256x240.png >deleted file mode 100644 >index 59bd45b907c4fd965697774ce8c5fc6b2fd9c105..0000000000000000000000000000000000000000 >GIT binary patch >literal 0 >HcmV?d00001 > >literal 4369 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 > >diff --git a/koha-tmpl/opac-tmpl/bootstrap/lib/jquery/images/ui-icons_555555_256x240.png b/koha-tmpl/opac-tmpl/bootstrap/lib/jquery/images/ui-icons_555555_256x240.png >new file mode 100644 >index 0000000000000000000000000000000000000000..de0d4f94bf57d302bf9248410decc0c1f822a9f3 >GIT binary patch >literal 7074 >zcmZvBby(Ejv;TXSSUMLFB$ft|E-67mx}`fL1f*M+B@`qCL8Mtw%0+3A?vjua1?djy >zr4|<W@wxZ@?(_XV_xsN|XU;iuVxF02W?u6~Pe+xMh=B+I08(`|Wdi^J-41~R0^HkH >zCD%vcw!?LPr2Pm0DievZc6hfm%t6gS8vsJM000pM02jAYh)n?S7XpB7TL6$w2LL*+ >z>_&ar+Xb+_rm8YvR2lzT{g#6GscWl1*1=#(eAt)K=s5sjc%`oV=t<C@-JH;P4%L@^ >z@*Xmk1c%eC-4A!rITcjy;PlzDuQ93|_g9Cw#yJr$e$0LZKpVfp51<WJ*;Y48azj6o >z@5p=kIZxx7{ZZXxgw;Vu?Bm}Na<}g=jXdD!a3YVEIcJYrN$h`Ak5+9%HU6EP6P2l+ >zIFZ{O*1AEV{vPh4wlA)>O**V)GvllAb3ln5oz!_t2e?UNTm^EQTJBu3Amth}ka4DR >zxHYxy!H8~Fh0hR;EsHb}2QPVRyj+wP;0w7^bfZ-vCx3Bn_u{NhB7S#Xo!yx4(NAot >zFrF4~q8<w?RURGFVk-kLhj+?Gh3t0sD+I#GHWksH<dY*p#uVYl1mm?oV%(%q%nwmk >z-oi~?=GM*FyRHk37Dw-8R(*}PATT4h-2<%bLhyIHRQ&=CsWS~fpSfqgh6%5QTn#0$ >z^0ZL7z+<&WY>ht~A(=vn)}1G^1AST23*G-Z*FguU+vB|!jV7E5MLLF*^pcMj2d9*d >zGXV=G597z5gLe;bT^?XHY`c~SN4<i;VvM-}X*9RO|B~~}FqXhk%!1?lN{ClAK?SeF >zpU0s9nrUa)u#dUDj4bi!p#cZ4Gx=f>NYo_1HT=}IwW-L%4Q{c`*P#1yo85s_uLcs6 >zXG5y1m~re8(!gIACx_q-TyL6L$)fCa<wmlDrkNE^ta?#~f_Y>PVGpf#Kw2Y6i}~YY >z!mq#ZpYGLg>Z#B>8q||D$syiY)?IV+Hkd%}3Y`ypb|V+s#CnP}OV=+Q5I_32SO3c= >zvPCyZNSHc7Wk<hl`1o^fe79BhH91K{Ao=2uNux)n={P(Mvba&UKTn#@Aq0GC10T2L >z+%bun4~2^Cxm72po^yH;8nNw}82}cCIMLwE6$ly4szKCf-j4To8{4Gs$hEz9YCGb# >z0{IyV`J56{%=WxD%M^>|FLG+%wj@U|`yJ%#Q@h?(`MV0!a)4-j4ho#KO77D{MvuZI >zi*r(cVDH2<kmT)f2>AttxaV6=neEaCy3Mw;`Wxaj6j;>aYbEAs{yCNA=^t#yce2XX >z<f$E+#rs3=uG96ar_q0`j=Mh~FiqXjXo~lFnx+)b1Wvtw&WTe)xP#zCxh#G!*)RUN >zc2+H;^k`Q!P!b>dmTPoTXp_->?b0OXuL<}rnJ(gW*MDif%L7>u!~Z9fB%`^07(gIR >z@(1wFLVQcHkCV⩔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 >bKQ(x2=NRn${pml2GeBKMN4ZSVHsb#Qr>b^6 > >literal 0 >HcmV?d00001 > >diff --git a/koha-tmpl/opac-tmpl/bootstrap/lib/jquery/images/ui-icons_777620_256x240.png b/koha-tmpl/opac-tmpl/bootstrap/lib/jquery/images/ui-icons_777620_256x240.png >new file mode 100644 >index 0000000000000000000000000000000000000000..2d40cee72a29a7b4f7bb177b97b4ecd873550b5f >GIT binary patch >literal 4618 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 > >literal 0 >HcmV?d00001 > >diff --git a/koha-tmpl/opac-tmpl/bootstrap/lib/jquery/images/ui-icons_777777_256x240.png b/koha-tmpl/opac-tmpl/bootstrap/lib/jquery/images/ui-icons_777777_256x240.png >new file mode 100644 >index 0000000000000000000000000000000000000000..feaf9298ab38c6c37b2185c829c1e665f8670868 >GIT binary patch >literal 7111 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 >NRYfg@N;%7j{{vqtLTCU0 > >literal 0 >HcmV?d00001 > >diff --git a/koha-tmpl/opac-tmpl/bootstrap/lib/jquery/images/ui-icons_888888_256x240.png b/koha-tmpl/opac-tmpl/bootstrap/lib/jquery/images/ui-icons_888888_256x240.png >deleted file mode 100644 >index 6d02426c114be4b57aabc0a80b8a63d9e56b9eb6..0000000000000000000000000000000000000000 >GIT binary patch >literal 0 >HcmV?d00001 > >literal 4369 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 > >diff --git a/koha-tmpl/opac-tmpl/bootstrap/lib/jquery/images/ui-icons_cc0000_256x240.png b/koha-tmpl/opac-tmpl/bootstrap/lib/jquery/images/ui-icons_cc0000_256x240.png >new file mode 100644 >index 0000000000000000000000000000000000000000..0393d1e5808ada167079020b7c221d2f4fd44c63 >GIT binary patch >literal 4618 >zcmeHL_cxqfw0_?iy_ZC<kxUR}^cIX3ooFF~8NEgMbfS!sAVmv8h)jx3i0GpX(Futz >z+8_j@MVBzHeBUqk{tx$AXPv$GS!bWK*0cB8rzGAs(x#>2paKAZR#!*U6ac^r71*JG >zUi6c?dM6ix#8u5u4FEnSQ=i(CUf6t&I;MsI5C#JPbQ}Quz8FHU0ze=f0M=0epqK>! >ztiHL8CO0n@W4vu(t~CGv|KI*M11xpcr5CJO2bda}0an`KS0u9*n)`!Ya;p+c@~w@+ >zej=P7nmxIdn(k<Ch;j4E@o$a5H7%7dul<NlvYnsBH;hjYcZ`irIDGdd(hg?3AIl4~ >zaCL@$E9`mxb+TgTOG-i|w!3ucN#8|y0MJ2STN6ki<<_|{$OCi@wa8Z>5Joayj@lAD >z0ML8tYO0xseBZRCcATzdB<s~FS<6b}Y|zh<_il#y%Zm5f*-iv{jTU$=DHdbj6T;5V >z<7x2J@k%#4ObgsNU*GT5Mgv<*U=tK^H{k+|e9=zRhLcr9xF1=VoH*D@q;x?z^JFqO >zL}O4)h-t_7rK2RgAnG!@5aJhk@)HA76HQ@G`FhB<wofGqSzT*_WGb+yfa8%^s=R<f >z3}3@p{<P%vIRj48PpCP~u;_+|Ar<gCz!>_d4p0&*OH_eOPT>qX%oHWs7P`?g$MvIF >zU{n3`JZWuG&K8B1=D&E#_F{|Ddx~Dqs+w#x)OeL$8q0{kUIv*D2XYwF^6B*w^TDS; >zX0(gk=gv3_1m%wAi;{i*SpM<I2TzoHGubmb{2M6@Ky_UlY6P5#dHBWUnVZ+M6Lg2j >zmx*_^Uf`Xpc`Qe->G8@=rH%-;i8C<<#{ck9dEfsu_Je!n>0Gq-5Ckn=s2)GlJl$Of >ztt2DWgPt>f;L#<^>%7Tr<9<lhL|gg(H=!;AFOZP`sXdFVNs%uRuXCTxc{!CCmr;M~ >z?552l1~42#amo>AeB>l?xy=8$!VM`U(XailW#T8|nz(f)MdIMz3bQ_M7dRS=ST~k3 >zl{N9k^yxZc<Rs!c7zo3-;%xDB3$@Me$-=bLf82B!YMpx(E6+adsN$TpegB1?R?LF5 >zWP2Q4BfQhSci(Gl7)Te}SsdlCd)2o=XM}5P8shAI95CUN=u-@7scH)|VN`{P8}E)= >z%VMwFK_Cx4KO7qfrwKXH7a38GULzOC^=e;O0q!YXXX$9S*OwmTnPTvi#^rf9XQdkr >z)lH)R1l$5VL7%*ABdk>x@Bo_o!nfRs1&*bx{7}AkIqWAX$`&1viejxi+U>}WmDrf& >z!tGhn7-W%B)T;CHp=n~SX3*-tVdt`LUFJA>zFF?eP;a!uQwijS&g_BHkt(n&f8j7% >zKZBJIHt%^?l_@1lu!?&U>pi8kPJc>~L@aYfjgMQ4U*{MZz+al`ONv@3RYGsF$VGH} >zcn$9bgy6>NoPdH#_*-Lfew6qpad7J=w*TtT5p;4zYT&?Q+z#pcHJAFsh@26E*}IWK >zM`Qu+(|A2^ajkaDov#=_M8o->?_+h!LoC|xQd7jFDaR{@Ut4!SG9j=XU7wYdi;8<m >zSYBlh9o-vFL=g_N7`lwnDGUo|_JgaHtLZl-m=f$Xa?t8~^u&{Qo(Y5x$iIQ>IJgzo >z>Epyw2MzDH8093&{7!Zk!Zi*!gdyF1Wf)9Ni!3iWm_OmaPpCrtdTc85@DizpOZW?Q >zXHc=VQY=~u(mm{j))o(V&^$VyFh~QzTxm;iElxNvMA?v7WzH+838e~w$7WUzaseXl >z*h#BK90v<-H%CcUIEIS_adbmEAo*5QfdD5|hmJsFSW+IB1ZL7ozLSWWg=w_&Ch_ww >z8*frYFN;3}TW@@VLUWV6Srg}=5jwYY5XgXUs((YW=)!Lnsa_jNyvLk)Pou_Lm{Tt2 >zw_g+U&J3#1FT+OIMOtBR?;rgiKtsJ26~c8x?;lHfr<a1>6MWaDh1={*3{pQ?61^Bq >z8@2pf{xmSM);yxtn6K?Lce!y78yGgSu1oiv@(1%fFou*lprYKOh;G13rdG|`<dQq7 >zdd~nKAOZAgUT^H;js@=Sw`dadG#tSX2U{ibws;cQcFO~DIM}~Dd`|KRN0I=5Sh8r0 >zxi<M#eoEMT4~*_{bWA@4MYXD7VUrA^Iozs`F*nZ;%sX2Tu&ojl^$(83rg^qAdqF+) >z@Ogv*+TE1zK+cOsMQ4oKBE+)I9sHvgn6*U+MVD2dX95-~FC9uBkC66>`EK)ULG<~> >zqr-iSd-^6St|Hc={t*9oLzw&!Ji2LTBoE=fAt9?gP!v*<@1UC`T~!oZ=1ZUm!3;+3 >zU=)1KX=AiCxdR~A(aLZ6DL~%Elf;w7+Hi3jlCM+?@0g0(mzEsA!umw`re7N^=WIdp >zH(>aB^$5P+h31>BP=&}_6oLGq__}3kg3=oj0}2pjg|i`S^J7G}mY6zzz(m1ONYxqB >zmun7^MG`?&w_XqI9g3yM9sD$+#*@S~0!9^GxVK+sm{PJ2YC0_<fhGYiJ{E>X+B=)s >zIsWkMmO!YbJbYEu_uv$`hH=6$<Y;7y>ILi^u*DY;m<H*Z3o?S_N}~Qv@19>fZ&Z~@ >zx0__qUIYQPg3q(s%U<gy0^@B#oQ^}Dp>uin8emw@e)ZF&>cXA538(5n1YPg6?6_*b >zG*oI?EANNdrHvlgP_VW3pq^GivTBL#uSZ~L738kFq;if;LyTwt*nyjjV7k<c+M`4B >zf0Vi>_9bwRZ(IG+>1v35az5{njY_!+E|5rZ<b!&(?508XKA$q$;YsyVwcN+5i^sAr >z)V+J!)9GR4I(IgaA~v*f-=`{;yYMNUy<K9an~Ha&SiAx{DT`dl89-y6n-M|h;7i%Q >z_Yto3%61SUNmOP<D~dFOVC=*d-ZL4JW;S1!;pwVUGjUYO_)Q)j+x+kchAHSJdk!}% >zcp!)tLD3Vb=mTTl6W#j6?t@XxuM=7cLivskV0Q;3DUnp<>7>RX+9Snd>7MC)VaC4u >zG)^+B`y;eS0zqJf;d^80Rnx?=#G1k+N}V^kfgV4iaIU)t#?_APt4sOe@jZgg8?8*d >z3KVW{v7>GbA9<tglXl_Rk2M7Bu97&#*}sj#3bbDZdS6HR1qU4=k)ykjW;0u1yX{S3 >zF@e$6U5iWI)^}>>2ZOCC8Av>mZwt>nPeZ^Oc*khRgTb0ko%+VO^{w~vts)7;n`q;Y >z#KpB2e#bdcC)L*whv%dIDrNzLWG4P;8HT&es%WDJ%u|Q7aFtNCgTgvB6R-8*-sQ)* >z&9}<DR+MCZ|B#vlQ0&n13jSNwsk0Un-Ix2?B>MMk&O>|eQCqBnb6DPecQvXTCoS!D >zE6j)wD}Q#zERj*PNX*KH(3yUZ>efvBbz?m773|eUom&Ct%accU3dq0XpZzve7$_KF >zC4&;hS*h*$`}<6)Dbu1aA9T^z{5*Kp-db~`@ns)`MWo(+<k@7pvXd=&g<^65w-o!v >zYG<3U8o6bkgk2kTzxNbU7wuQ`m0j;>cS0I4#MR9!M-gZ18kNn!PDsVZZOBtmf!jv6 >z-q6w)7ZnJbZhE?UsE{%47?h7KP+2|>WCf+0eypeMSLyRVvCgO(SC!e*a3^3l*TkKN >zX&Or5{G5^ld;Nj8(?N5*(2_#5C`zUK&)D84smpdAkoQE0VYEq?dnJlBF|lsb=RUB8 >zv~6>tIi?A^hIh_+BlvW00cVU$J>AnelkV-q75FBIpfxLo@-|hKVxQOISW5ywePKk1 >z;{TX>yDWR0)x?~Xbi4^|gwYJs)6vn<K-O>Ei{R1=7mMn76rbTwBd=t}4baDk7mQ4i >zk*i6Pg(H(e8K~ZQJB9Xk(IL<Jh~)#{7`EG_+;8kFvYXuZ{~Ry<j%Q2or^#}0b#?W9 >z#Ez+JGn^;oDNVdP%fr!FzT&TJe@z>4^4x<AckD)-@uK@WjdEwa#^neYT!w?So|ExF >zOm)*?GN&r8O8YC9eSS@o&X~?gldf`9S{9OUrO)JDCM^5qaQ{nM&e=2c=F;j|slZjS >z!%LQHdzlj7QMLY(7n$>xwIC#TpTIlHu=knZCFg;#0c@(<lfM-GS*p#EVcQZ4+#YKu >ztS7yjtDzOKPc%MG?#yP)nGUTLIYAzZyV=?l0qbvB=G-82)d~sIs67EHL&|$$81f<- >z{Xk=6SbwYLOzEYTc;Uhi<etWQ^q0O1LOA6zPJ?#GZC*K#(dwePKy!)+dvotv`y|#b >z;j@EX2m5uO=|-#$t5s{=?q+$aeS;R{@k$u0H-u_<88kA>eRNRAn8E=w^Ok<iwot8x >zAnRZDlQ*`!u>nKBj@^IJ$QkS4L(LY%AVP}?b1N8K$bjK5_n9A4<JOwH(f03T6jznU >z7R_=Kb2ZuE$7>O+3=TMc-{Q+3tbOMaep+cOlA($xPq+5U$q1^&?sr2@Mr5bq1yhgz >z-s%$)^lyPGzp6l~#h$W*I8EM-joW8!0(L4OLJ&?NIAWUnCM$paOAkhU<yM|$_RNBp >zTKLbHYZ?vevV0(n6b4#YPp|Cm>KwR{#R9p5l$f?FuW8_NOLXeM9E|~`V4>>ztxR62 >znH5DS4CV4osO%%Z_wG4)nHCPsQpo~B@8K#PfzI)6bo4ePyv4CUIGPcKjYRx=P<(lG >zu24lt+HZwK61g^K)9w0tX@BS09B>Jp+F*XN?=I#qgO9u9-pogRwcz2tv!kkuMqr;` >zz9H2GL{yn?Pi(`IX@zpBe);no{TdlB)nNbja%jRs3r5a-GU7e|2<oqjO>0ZPzAnRF >z{2*uS&x-N><vvzS(Db$fg<va(=#)<jlAcM2DG-x-G^QVQo~QRhJMAo$>9#exL#SoZ >z!^Vmo`<xL(n!6b`y}PM6(Dwij*$ho>TfIbANC){a%a;Ys&C6Z1Z+)5cm0#%ov8qiH >z?a9L?6;{jL;*)==pTi81$2m17mXyxaw6yq9?4O`h4C=lGW?;uBEa~i`+<t{|XM4Zj >z5DqS{sNf=rP{BVF!=w&n_=MQ?kKOq$d1i3~n(<KT?3q#2QW+90XS=z2buFeAiT}wR >z4%mX#er5?pma#)azt(*PRgGOw4wxE5xhwLfRNLH=kC$H{<ED7{2ghxY(0zjnjXTXp >zxzcQM3CpYo{85qWh)U(RCxJb#8N?g`RCG)1pgMZ<(-ZZ!-=ZvwpU_e!Ypt^2f*7VH >zqV!2(d?Q61#eR^G+OFAMN#F4m`WO{n6#M8)wcGR#0Vxn+EV%`NPnS>_Tb4byvy^7R >z>$c4IsO8x~^Ru9g&urgQ*9ba+f0c|)f?jZjz~AzJ<;u+>?s)y@+Vs2U(9gRvSAkQK >zbn!CG4m01Xsxp^cNySx?WCMzrl`q$xM@7j6X;Rn!a>N<7Qvc1I3*6`E9s5NRgXQBV >zw0x7{Kj(ED(9y({domy@jx2_wm{|}9&8EL|SZ;g!h$HDB-)rQ|kg*zphc(>LDzXCN >z@ng&1NN&zmPtbx`S{j9<uHXHA)J!eE-&*U40IbhT9ieK}tC0NQJx)dmzf<0%Cj}8K >zv+>3kFY#*uT2=v0_5sd{j(*M;0+57DN{YfIL?z+o5>kp%Qi^bi8*sQH96lEKW9k1m >zc=<TFyMzJ~3i2|d5^zyTS#!9&qJ+%F)c+i=449E$II#cS!OX`cAlTl|8BlZbad76- >e^|E($Hg&dl3jL?o`Qn2H0CcsCG(V`LV*UpnbUgw9 > >literal 0 >HcmV?d00001 > >diff --git a/koha-tmpl/opac-tmpl/bootstrap/lib/jquery/images/ui-icons_ffffff_256x240.png b/koha-tmpl/opac-tmpl/bootstrap/lib/jquery/images/ui-icons_ffffff_256x240.png >new file mode 100644 >index 0000000000000000000000000000000000000000..6136cdea7771ef108bd93587be92c19314128461 >GIT binary patch >literal 6487 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 >F|38Lz3U&Yh > >literal 0 >HcmV?d00001 > >diff --git a/koha-tmpl/opac-tmpl/bootstrap/lib/jquery/jquery-migrate-3.1.0.js b/koha-tmpl/opac-tmpl/bootstrap/lib/jquery/jquery-migrate-3.1.0.js >deleted file mode 100644 >index b45d589853..0000000000 >--- a/koha-tmpl/opac-tmpl/bootstrap/lib/jquery/jquery-migrate-3.1.0.js >+++ /dev/null >@@ -1,678 +0,0 @@ >-/*! >- * jQuery Migrate - v3.1.0 - 2019-06-08 >- * Copyright OpenJS Foundation and other contributors >- */ >-;( function( factory ) { >- if ( typeof define === "function" && define.amd ) { >- >- // AMD. Register as an anonymous module. >- define( [ "jquery" ], function ( jQuery ) { >- return factory( jQuery, window ); >- } ); >- } else if ( typeof module === "object" && module.exports ) { >- >- // Node/CommonJS >- // eslint-disable-next-line no-undef >- module.exports = factory( require( "jquery" ), window ); >- } else { >- >- // Browser globals >- factory( jQuery, window ); >- } >-} )( function( jQuery, window ) { >-"use strict"; >- >- >-jQuery.migrateVersion = "3.1.0"; >- >-/* exported jQueryVersionSince, compareVersions */ >- >-// Returns 0 if v1 == v2, -1 if v1 < v2, 1 if v1 > v2 >-function compareVersions( v1, v2 ) { >- var rVersionParts = /^(\d+)\.(\d+)\.(\d+)/, >- v1p = rVersionParts.exec( v1 ) || [ ], >- v2p = rVersionParts.exec( v2 ) || [ ]; >- >- for ( var i = 1; i <= 3; i++ ) { >- if ( +v1p[ i ] > +v2p[ i ] ) { >- return 1; >- } >- if ( +v1p[ i ] < +v2p[ i ] ) { >- return -1; >- } >- } >- return 0; >-} >- >-function jQueryVersionSince( version ) { >- return compareVersions( jQuery.fn.jquery, version ) >= 0; >-} >- >-/* exported migrateWarn, migrateWarnFunc, migrateWarnProp */ >- >-( function() { >- >- // Support: IE9 only >- // IE9 only creates console object when dev tools are first opened >- // IE9 console is a host object, callable but doesn't have .apply() >- if ( !window.console || !window.console.log ) { >- return; >- } >- >- // Need jQuery 3.0.0+ and no older Migrate loaded >- if ( !jQuery || !jQueryVersionSince( "3.0.0" ) ) { >- window.console.log( "JQMIGRATE: jQuery 3.0.0+ REQUIRED" ); >- } >- if ( jQuery.migrateWarnings ) { >- window.console.log( "JQMIGRATE: Migrate plugin loaded multiple times" ); >- } >- >- // Show a message on the console so devs know we're active >- window.console.log( "JQMIGRATE: Migrate is installed" + >- ( jQuery.migrateMute ? "" : " with logging active" ) + >- ", version " + jQuery.migrateVersion ); >- >-} )(); >- >-var warnedAbout = {}; >- >-// List of warnings already given; public read only >-jQuery.migrateWarnings = []; >- >-// Set to false to disable traces that appear with warnings >-if ( jQuery.migrateTrace === undefined ) { >- jQuery.migrateTrace = true; >-} >- >-// Forget any warnings we've already given; public >-jQuery.migrateReset = function() { >- warnedAbout = {}; >- jQuery.migrateWarnings.length = 0; >-}; >- >-function migrateWarn( msg ) { >- var console = window.console; >- if ( !warnedAbout[ msg ] ) { >- warnedAbout[ msg ] = true; >- jQuery.migrateWarnings.push( msg ); >- if ( console && console.warn && !jQuery.migrateMute ) { >- console.warn( "JQMIGRATE: " + msg ); >- if ( jQuery.migrateTrace && console.trace ) { >- console.trace(); >- } >- } >- } >-} >- >-function migrateWarnProp( obj, prop, value, msg ) { >- Object.defineProperty( obj, prop, { >- configurable: true, >- enumerable: true, >- get: function() { >- migrateWarn( msg ); >- return value; >- }, >- set: function( newValue ) { >- migrateWarn( msg ); >- value = newValue; >- } >- } ); >-} >- >-function migrateWarnFunc( obj, prop, newFunc, msg ) { >- obj[ prop ] = function() { >- migrateWarn( msg ); >- return newFunc.apply( this, arguments ); >- }; >-} >- >-if ( window.document.compatMode === "BackCompat" ) { >- >- // JQuery has never supported or tested Quirks Mode >- migrateWarn( "jQuery is not compatible with Quirks Mode" ); >-} >- >- >-var oldInit = jQuery.fn.init, >- oldIsNumeric = jQuery.isNumeric, >- oldFind = jQuery.find, >- rattrHashTest = /\[(\s*[-\w]+\s*)([~|^$*]?=)\s*([-\w#]*?#[-\w#]*)\s*\]/, >- rattrHashGlob = /\[(\s*[-\w]+\s*)([~|^$*]?=)\s*([-\w#]*?#[-\w#]*)\s*\]/g; >- >-jQuery.fn.init = function( arg1 ) { >- var args = Array.prototype.slice.call( arguments ); >- >- if ( typeof arg1 === "string" && arg1 === "#" ) { >- >- // JQuery( "#" ) is a bogus ID selector, but it returned an empty set before jQuery 3.0 >- migrateWarn( "jQuery( '#' ) is not a valid selector" ); >- args[ 0 ] = []; >- } >- >- return oldInit.apply( this, args ); >-}; >-jQuery.fn.init.prototype = jQuery.fn; >- >-jQuery.find = function( selector ) { >- var args = Array.prototype.slice.call( arguments ); >- >- // Support: PhantomJS 1.x >- // String#match fails to match when used with a //g RegExp, only on some strings >- if ( typeof selector === "string" && rattrHashTest.test( selector ) ) { >- >- // The nonstandard and undocumented unquoted-hash was removed in jQuery 1.12.0 >- // First see if qS thinks it's a valid selector, if so avoid a false positive >- try { >- window.document.querySelector( selector ); >- } catch ( err1 ) { >- >- // Didn't *look* valid to qSA, warn and try quoting what we think is the value >- selector = selector.replace( rattrHashGlob, function( _, attr, op, value ) { >- return "[" + attr + op + "\"" + value + "\"]"; >- } ); >- >- // If the regexp *may* have created an invalid selector, don't update it >- // Note that there may be false alarms if selector uses jQuery extensions >- try { >- window.document.querySelector( selector ); >- migrateWarn( "Attribute selector with '#' must be quoted: " + args[ 0 ] ); >- args[ 0 ] = selector; >- } catch ( err2 ) { >- migrateWarn( "Attribute selector with '#' was not fixed: " + args[ 0 ] ); >- } >- } >- } >- >- return oldFind.apply( this, args ); >-}; >- >-// Copy properties attached to original jQuery.find method (e.g. .attr, .isXML) >-var findProp; >-for ( findProp in oldFind ) { >- if ( Object.prototype.hasOwnProperty.call( oldFind, findProp ) ) { >- jQuery.find[ findProp ] = oldFind[ findProp ]; >- } >-} >- >-// The number of elements contained in the matched element set >-jQuery.fn.size = function() { >- migrateWarn( "jQuery.fn.size() is deprecated and removed; use the .length property" ); >- return this.length; >-}; >- >-jQuery.parseJSON = function() { >- migrateWarn( "jQuery.parseJSON is deprecated; use JSON.parse" ); >- return JSON.parse.apply( null, arguments ); >-}; >- >-jQuery.isNumeric = function( val ) { >- >- // The jQuery 2.2.3 implementation of isNumeric >- function isNumeric2( obj ) { >- var realStringObj = obj && obj.toString(); >- return !jQuery.isArray( obj ) && ( realStringObj - parseFloat( realStringObj ) + 1 ) >= 0; >- } >- >- var newValue = oldIsNumeric( val ), >- oldValue = isNumeric2( val ); >- >- if ( newValue !== oldValue ) { >- migrateWarn( "jQuery.isNumeric() should not be called on constructed objects" ); >- } >- >- return oldValue; >-}; >- >-if ( jQueryVersionSince( "3.3.0" ) ) { >- migrateWarnFunc( jQuery, "isWindow", >- function( obj ) { >- return obj != null && obj === obj.window; >- }, >- "jQuery.isWindow() is deprecated" >- ); >-} >- >-migrateWarnFunc( jQuery, "holdReady", jQuery.holdReady, >- "jQuery.holdReady is deprecated" ); >- >-migrateWarnFunc( jQuery, "unique", jQuery.uniqueSort, >- "jQuery.unique is deprecated; use jQuery.uniqueSort" ); >- >-// Now jQuery.expr.pseudos is the standard incantation >-migrateWarnProp( jQuery.expr, "filters", jQuery.expr.pseudos, >- "jQuery.expr.filters is deprecated; use jQuery.expr.pseudos" ); >-migrateWarnProp( jQuery.expr, ":", jQuery.expr.pseudos, >- "jQuery.expr[':'] is deprecated; use jQuery.expr.pseudos" ); >- >-// Prior to jQuery 3.2 there were internal refs so we don't warn there >-if ( jQueryVersionSince( "3.2.0" ) ) { >- migrateWarnFunc( jQuery, "nodeName", jQuery.nodeName, >- "jQuery.nodeName is deprecated" ); >-} >- >- >-var oldAjax = jQuery.ajax; >- >-jQuery.ajax = function( ) { >- var jQXHR = oldAjax.apply( this, arguments ); >- >- // Be sure we got a jQXHR (e.g., not sync) >- if ( jQXHR.promise ) { >- migrateWarnFunc( jQXHR, "success", jQXHR.done, >- "jQXHR.success is deprecated and removed" ); >- migrateWarnFunc( jQXHR, "error", jQXHR.fail, >- "jQXHR.error is deprecated and removed" ); >- migrateWarnFunc( jQXHR, "complete", jQXHR.always, >- "jQXHR.complete is deprecated and removed" ); >- } >- >- return jQXHR; >-}; >- >- >-var oldRemoveAttr = jQuery.fn.removeAttr, >- oldToggleClass = jQuery.fn.toggleClass, >- rmatchNonSpace = /\S+/g; >- >-jQuery.fn.removeAttr = function( name ) { >- var self = this; >- >- jQuery.each( name.match( rmatchNonSpace ), function( _i, attr ) { >- if ( jQuery.expr.match.bool.test( attr ) ) { >- migrateWarn( "jQuery.fn.removeAttr no longer sets boolean properties: " + attr ); >- self.prop( attr, false ); >- } >- } ); >- >- return oldRemoveAttr.apply( this, arguments ); >-}; >- >-jQuery.fn.toggleClass = function( state ) { >- >- // Only deprecating no-args or single boolean arg >- if ( state !== undefined && typeof state !== "boolean" ) { >- return oldToggleClass.apply( this, arguments ); >- } >- >- migrateWarn( "jQuery.fn.toggleClass( boolean ) is deprecated" ); >- >- // Toggle entire class name of each element >- return this.each( function() { >- var className = this.getAttribute && this.getAttribute( "class" ) || ""; >- >- if ( className ) { >- jQuery.data( this, "__className__", className ); >- } >- >- // If the element has a class name or if we're passed `false`, >- // then remove the whole classname (if there was one, the above saved it). >- // Otherwise bring back whatever was previously saved (if anything), >- // falling back to the empty string if nothing was stored. >- if ( this.setAttribute ) { >- this.setAttribute( "class", >- className || state === false ? >- "" : >- jQuery.data( this, "__className__" ) || "" >- ); >- } >- } ); >-}; >- >- >-var internalSwapCall = false; >- >-// If this version of jQuery has .swap(), don't false-alarm on internal uses >-if ( jQuery.swap ) { >- jQuery.each( [ "height", "width", "reliableMarginRight" ], function( _, name ) { >- var oldHook = jQuery.cssHooks[ name ] && jQuery.cssHooks[ name ].get; >- >- if ( oldHook ) { >- jQuery.cssHooks[ name ].get = function() { >- var ret; >- >- internalSwapCall = true; >- ret = oldHook.apply( this, arguments ); >- internalSwapCall = false; >- return ret; >- }; >- } >- } ); >-} >- >-jQuery.swap = function( elem, options, callback, args ) { >- var ret, name, >- old = {}; >- >- if ( !internalSwapCall ) { >- migrateWarn( "jQuery.swap() is undocumented and deprecated" ); >- } >- >- // Remember the old values, and insert the new ones >- for ( name in options ) { >- old[ name ] = elem.style[ name ]; >- elem.style[ name ] = options[ name ]; >- } >- >- ret = callback.apply( elem, args || [] ); >- >- // Revert the old values >- for ( name in options ) { >- elem.style[ name ] = old[ name ]; >- } >- >- return ret; >-}; >- >-var oldData = jQuery.data; >- >-jQuery.data = function( elem, name, value ) { >- var curData; >- >- // Name can be an object, and each entry in the object is meant to be set as data >- if ( name && typeof name === "object" && arguments.length === 2 ) { >- curData = jQuery.hasData( elem ) && oldData.call( this, elem ); >- var sameKeys = {}; >- for ( var key in name ) { >- if ( key !== jQuery.camelCase( key ) ) { >- migrateWarn( "jQuery.data() always sets/gets camelCased names: " + key ); >- curData[ key ] = name[ key ]; >- } else { >- sameKeys[ key ] = name[ key ]; >- } >- } >- >- oldData.call( this, elem, sameKeys ); >- >- return name; >- } >- >- // If the name is transformed, look for the un-transformed name in the data object >- if ( name && typeof name === "string" && name !== jQuery.camelCase( name ) ) { >- curData = jQuery.hasData( elem ) && oldData.call( this, elem ); >- if ( curData && name in curData ) { >- migrateWarn( "jQuery.data() always sets/gets camelCased names: " + name ); >- if ( arguments.length > 2 ) { >- curData[ name ] = value; >- } >- return curData[ name ]; >- } >- } >- >- return oldData.apply( this, arguments ); >-}; >- >-var oldTweenRun = jQuery.Tween.prototype.run; >-var linearEasing = function( pct ) { >- return pct; >- }; >- >-jQuery.Tween.prototype.run = function( ) { >- if ( jQuery.easing[ this.easing ].length > 1 ) { >- migrateWarn( >- "'jQuery.easing." + this.easing.toString() + "' should use only one argument" >- ); >- >- jQuery.easing[ this.easing ] = linearEasing; >- } >- >- oldTweenRun.apply( this, arguments ); >-}; >- >-var intervalValue = jQuery.fx.interval || 13, >- intervalMsg = "jQuery.fx.interval is deprecated"; >- >-// Support: IE9, Android <=4.4 >-// Avoid false positives on browsers that lack rAF >-// Don't warn if document is hidden, jQuery uses setTimeout (#292) >-if ( window.requestAnimationFrame ) { >- Object.defineProperty( jQuery.fx, "interval", { >- configurable: true, >- enumerable: true, >- get: function() { >- if ( !window.document.hidden ) { >- migrateWarn( intervalMsg ); >- } >- return intervalValue; >- }, >- set: function( newValue ) { >- migrateWarn( intervalMsg ); >- intervalValue = newValue; >- } >- } ); >-} >- >-var oldLoad = jQuery.fn.load, >- oldEventAdd = jQuery.event.add, >- originalFix = jQuery.event.fix; >- >-jQuery.event.props = []; >-jQuery.event.fixHooks = {}; >- >-migrateWarnProp( jQuery.event.props, "concat", jQuery.event.props.concat, >- "jQuery.event.props.concat() is deprecated and removed" ); >- >-jQuery.event.fix = function( originalEvent ) { >- var event, >- type = originalEvent.type, >- fixHook = this.fixHooks[ type ], >- props = jQuery.event.props; >- >- if ( props.length ) { >- migrateWarn( "jQuery.event.props are deprecated and removed: " + props.join() ); >- while ( props.length ) { >- jQuery.event.addProp( props.pop() ); >- } >- } >- >- if ( fixHook && !fixHook._migrated_ ) { >- fixHook._migrated_ = true; >- migrateWarn( "jQuery.event.fixHooks are deprecated and removed: " + type ); >- if ( ( props = fixHook.props ) && props.length ) { >- while ( props.length ) { >- jQuery.event.addProp( props.pop() ); >- } >- } >- } >- >- event = originalFix.call( this, originalEvent ); >- >- return fixHook && fixHook.filter ? fixHook.filter( event, originalEvent ) : event; >-}; >- >-jQuery.event.add = function( elem, types ) { >- >- // This misses the multiple-types case but that seems awfully rare >- if ( elem === window && types === "load" && window.document.readyState === "complete" ) { >- migrateWarn( "jQuery(window).on('load'...) called after load event occurred" ); >- } >- return oldEventAdd.apply( this, arguments ); >-}; >- >-jQuery.each( [ "load", "unload", "error" ], function( _, name ) { >- >- jQuery.fn[ name ] = function() { >- var args = Array.prototype.slice.call( arguments, 0 ); >- >- // If this is an ajax load() the first arg should be the string URL; >- // technically this could also be the "Anything" arg of the event .load() >- // which just goes to show why this dumb signature has been deprecated! >- // jQuery custom builds that exclude the Ajax module justifiably die here. >- if ( name === "load" && typeof args[ 0 ] === "string" ) { >- return oldLoad.apply( this, args ); >- } >- >- migrateWarn( "jQuery.fn." + name + "() is deprecated" ); >- >- args.splice( 0, 0, name ); >- if ( arguments.length ) { >- return this.on.apply( this, args ); >- } >- >- // Use .triggerHandler here because: >- // - load and unload events don't need to bubble, only applied to window or image >- // - error event should not bubble to window, although it does pre-1.7 >- // See http://bugs.jquery.com/ticket/11820 >- this.triggerHandler.apply( this, args ); >- return this; >- }; >- >-} ); >- >-jQuery.each( ( "blur focus focusin focusout resize scroll click dblclick " + >- "mousedown mouseup mousemove mouseover mouseout mouseenter mouseleave " + >- "change select submit keydown keypress keyup contextmenu" ).split( " " ), >- function( _i, name ) { >- >- // Handle event binding >- jQuery.fn[ name ] = function( data, fn ) { >- migrateWarn( "jQuery.fn." + name + "() event shorthand is deprecated" ); >- return arguments.length > 0 ? >- this.on( name, null, data, fn ) : >- this.trigger( name ); >- }; >-} ); >- >-// Trigger "ready" event only once, on document ready >-jQuery( function() { >- jQuery( window.document ).triggerHandler( "ready" ); >-} ); >- >-jQuery.event.special.ready = { >- setup: function() { >- if ( this === window.document ) { >- migrateWarn( "'ready' event is deprecated" ); >- } >- } >-}; >- >-jQuery.fn.extend( { >- >- bind: function( types, data, fn ) { >- migrateWarn( "jQuery.fn.bind() is deprecated" ); >- return this.on( types, null, data, fn ); >- }, >- unbind: function( types, fn ) { >- migrateWarn( "jQuery.fn.unbind() is deprecated" ); >- return this.off( types, null, fn ); >- }, >- delegate: function( selector, types, data, fn ) { >- migrateWarn( "jQuery.fn.delegate() is deprecated" ); >- return this.on( types, selector, data, fn ); >- }, >- undelegate: function( selector, types, fn ) { >- migrateWarn( "jQuery.fn.undelegate() is deprecated" ); >- return arguments.length === 1 ? >- this.off( selector, "**" ) : >- this.off( types, selector || "**", fn ); >- }, >- hover: function( fnOver, fnOut ) { >- migrateWarn( "jQuery.fn.hover() is deprecated" ); >- return this.on( "mouseenter", fnOver ).on( "mouseleave", fnOut || fnOver ); >- } >-} ); >- >- >-var oldOffset = jQuery.fn.offset; >- >-jQuery.fn.offset = function() { >- var docElem, >- elem = this[ 0 ], >- origin = { top: 0, left: 0 }; >- >- if ( !elem || !elem.nodeType ) { >- migrateWarn( "jQuery.fn.offset() requires a valid DOM element" ); >- return origin; >- } >- >- docElem = ( elem.ownerDocument || window.document ).documentElement; >- if ( !jQuery.contains( docElem, elem ) ) { >- migrateWarn( "jQuery.fn.offset() requires an element connected to a document" ); >- return origin; >- } >- >- return oldOffset.apply( this, arguments ); >-}; >- >- >-var oldParam = jQuery.param; >- >-jQuery.param = function( data, traditional ) { >- var ajaxTraditional = jQuery.ajaxSettings && jQuery.ajaxSettings.traditional; >- >- if ( traditional === undefined && ajaxTraditional ) { >- >- migrateWarn( "jQuery.param() no longer uses jQuery.ajaxSettings.traditional" ); >- traditional = ajaxTraditional; >- } >- >- return oldParam.call( this, data, traditional ); >-}; >- >-var oldSelf = jQuery.fn.andSelf || jQuery.fn.addBack; >- >-jQuery.fn.andSelf = function() { >- migrateWarn( "jQuery.fn.andSelf() is deprecated and removed, use jQuery.fn.addBack()" ); >- return oldSelf.apply( this, arguments ); >-}; >- >- >-var oldDeferred = jQuery.Deferred, >- tuples = [ >- >- // Action, add listener, callbacks, .then handlers, final state >- [ "resolve", "done", jQuery.Callbacks( "once memory" ), >- jQuery.Callbacks( "once memory" ), "resolved" ], >- [ "reject", "fail", jQuery.Callbacks( "once memory" ), >- jQuery.Callbacks( "once memory" ), "rejected" ], >- [ "notify", "progress", jQuery.Callbacks( "memory" ), >- jQuery.Callbacks( "memory" ) ] >- ]; >- >-jQuery.Deferred = function( func ) { >- var deferred = oldDeferred(), >- promise = deferred.promise(); >- >- deferred.pipe = promise.pipe = function( /* fnDone, fnFail, fnProgress */ ) { >- var fns = arguments; >- >- migrateWarn( "deferred.pipe() is deprecated" ); >- >- return jQuery.Deferred( function( newDefer ) { >- jQuery.each( tuples, function( i, tuple ) { >- var fn = jQuery.isFunction( fns[ i ] ) && fns[ i ]; >- >- // Deferred.done(function() { bind to newDefer or newDefer.resolve }) >- // deferred.fail(function() { bind to newDefer or newDefer.reject }) >- // deferred.progress(function() { bind to newDefer or newDefer.notify }) >- deferred[ tuple[ 1 ] ]( function() { >- var returned = fn && fn.apply( this, arguments ); >- if ( returned && jQuery.isFunction( returned.promise ) ) { >- returned.promise() >- .done( newDefer.resolve ) >- .fail( newDefer.reject ) >- .progress( newDefer.notify ); >- } else { >- newDefer[ tuple[ 0 ] + "With" ]( >- this === promise ? newDefer.promise() : this, >- fn ? [ returned ] : arguments >- ); >- } >- } ); >- } ); >- fns = null; >- } ).promise(); >- >- }; >- >- if ( func ) { >- func.call( deferred, deferred ); >- } >- >- return deferred; >-}; >- >-// Preserve handler of uncaught exceptions in promise chains >-jQuery.Deferred.exceptionHook = oldDeferred.exceptionHook; >- >-return jQuery; >-} ); >diff --git a/koha-tmpl/opac-tmpl/bootstrap/lib/jquery/jquery-ui-1.12.1.css b/koha-tmpl/opac-tmpl/bootstrap/lib/jquery/jquery-ui-1.12.1.css >deleted file mode 100644 >index f93f8f4042..0000000000 >--- a/koha-tmpl/opac-tmpl/bootstrap/lib/jquery/jquery-ui-1.12.1.css >+++ /dev/null >@@ -1,874 +0,0 @@ >-/*! jQuery UI - v1.12.1 - 2019-08-16 >-* http://jqueryui.com >-* Includes: sortable.css, core.css, autocomplete.css, menu.css, datepicker.css, slider.css, tabs.css, tooltip.css, theme.css >-* To view and modify this theme, visit http://jqueryui.com/themeroller/?scope=&folderName=smoothness&cornerRadiusShadow=8px&offsetLeftShadow=-8px&offsetTopShadow=-8px&thicknessShadow=8px&opacityShadow=30&bgImgOpacityShadow=0&bgTextureShadow=flat&bgColorShadow=aaaaaa&opacityOverlay=30&bgImgOpacityOverlay=0&bgTextureOverlay=flat&bgColorOverlay=aaaaaa&iconColorError=cd0a0a&fcError=cd0a0a&borderColorError=cd0a0a&bgImgOpacityError=95&bgTextureError=glass&bgColorError=fef1ec&iconColorHighlight=2e83ff&fcHighlight=363636&borderColorHighlight=fcefa1&bgImgOpacityHighlight=55&bgTextureHighlight=glass&bgColorHighlight=fbf9ee&iconColorActive=454545&fcActive=212121&borderColorActive=aaaaaa&bgImgOpacityActive=65&bgTextureActive=glass&bgColorActive=ffffff&iconColorHover=454545&fcHover=212121&borderColorHover=999999&bgImgOpacityHover=75&bgTextureHover=glass&bgColorHover=dadada&iconColorDefault=888888&fcDefault=555555&borderColorDefault=d3d3d3&bgImgOpacityDefault=75&bgTextureDefault=glass&bgColorDefault=e6e6e6&iconColorContent=222222&fcContent=222222&borderColorContent=aaaaaa&bgImgOpacityContent=75&bgTextureContent=flat&bgColorContent=ffffff&iconColorHeader=222222&fcHeader=222222&borderColorHeader=aaaaaa&bgImgOpacityHeader=75&bgTextureHeader=highlight_soft&bgColorHeader=cccccc&cornerRadius=4px&fsDefault=1.1em&fwDefault=normal&ffDefault=Verdana%2CArial%2Csans-serif >-* Copyright jQuery Foundation and other contributors; Licensed MIT */ >- >-.ui-sortable-handle { >- -ms-touch-action: none; >- touch-action: none; >-} >-/* Layout helpers >-----------------------------------*/ >-.ui-helper-hidden { >- display: none; >-} >-.ui-helper-hidden-accessible { >- border: 0; >- clip: rect(0 0 0 0); >- height: 1px; >- margin: -1px; >- overflow: hidden; >- padding: 0; >- position: absolute; >- width: 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; >- border-collapse: collapse; >-} >-.ui-helper-clearfix:after { >- clear: both; >-} >-.ui-helper-zfix { >- width: 100%; >- height: 100%; >- top: 0; >- left: 0; >- position: absolute; >- opacity: 0; >- filter:Alpha(Opacity=0); /* support: IE8 */ >-} >- >-.ui-front { >- z-index: 100; >-} >- >- >-/* Interaction Cues >-----------------------------------*/ >-.ui-state-disabled { >- cursor: default !important; >- pointer-events: none; >-} >- >- >-/* Icons >-----------------------------------*/ >-.ui-icon { >- display: inline-block; >- vertical-align: middle; >- margin-top: -.25em; >- position: relative; >- text-indent: -99999px; >- overflow: hidden; >- background-repeat: no-repeat; >-} >- >-.ui-widget-icon-block { >- left: 50%; >- margin-left: -8px; >- display: block; >-} >- >-/* Misc visuals >-----------------------------------*/ >- >-/* Overlays */ >-.ui-widget-overlay { >- position: fixed; >- top: 0; >- left: 0; >- width: 100%; >- height: 100%; >-} >-.ui-autocomplete { >- position: absolute; >- top: 0; >- left: 0; >- cursor: default; >-} >-.ui-menu { >- list-style: none; >- padding: 0; >- margin: 0; >- display: block; >- outline: 0; >-} >-.ui-menu .ui-menu { >- position: absolute; >-} >-.ui-menu .ui-menu-item { >- margin: 0; >- cursor: pointer; >- /* support: IE10, see #8844 */ >- list-style-image: url("data:image/gif;base64,R0lGODlhAQABAIAAAAAAAP///yH5BAEAAAAALAAAAAABAAEAAAIBRAA7"); >-} >-.ui-menu .ui-menu-item-wrapper { >- position: relative; >- padding: 3px 1em 3px .4em; >-} >-.ui-menu .ui-menu-divider { >- margin: 5px 0; >- height: 0; >- font-size: 0; >- line-height: 0; >- border-width: 1px 0 0 0; >-} >-.ui-menu .ui-state-focus, >-.ui-menu .ui-state-active { >- margin: -1px; >-} >- >-/* icon support */ >-.ui-menu-icons { >- position: relative; >-} >-.ui-menu-icons .ui-menu-item-wrapper { >- padding-left: 2em; >-} >- >-/* left-aligned */ >-.ui-menu .ui-icon { >- position: absolute; >- top: 0; >- bottom: 0; >- left: .2em; >- margin: auto 0; >-} >- >-/* right-aligned */ >-.ui-menu .ui-menu-icon { >- left: auto; >- right: 0; >-} >-.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, >-.ui-datepicker select.ui-datepicker-year { >- width: 45%; >-} >-.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, >-.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: 0; >-} >- >-/* 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, >-.ui-datepicker-rtl .ui-datepicker-group { >- float: right; >-} >-.ui-datepicker-rtl .ui-datepicker-group-last .ui-datepicker-header, >-.ui-datepicker-rtl .ui-datepicker-group-middle .ui-datepicker-header { >- border-right-width: 0; >- border-left-width: 1px; >-} >- >-/* Icons */ >-.ui-datepicker .ui-icon { >- display: block; >- text-indent: -99999px; >- overflow: hidden; >- background-repeat: no-repeat; >- left: .5em; >- top: .3em; >-} >-.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; >- -ms-touch-action: none; >- touch-action: none; >-} >-.ui-slider .ui-slider-range { >- position: absolute; >- z-index: 1; >- font-size: .7em; >- display: block; >- border: 0; >- background-position: 0 0; >-} >- >-/* support: IE8 - See #6727 */ >-.ui-slider.ui-state-disabled .ui-slider-handle, >-.ui-slider.ui-state-disabled .ui-slider-range { >- filter: inherit; >-} >- >-.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; >-} >-.ui-tabs { >- position: relative;/* position: relative prevents IE scroll bug (element with position: relative inside container with overflow: auto appear as "fixed") */ >- padding: .2em; >-} >-.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: 0; >- margin: 1px .2em 0 0; >- border-bottom-width: 0; >- padding: 0; >- white-space: nowrap; >-} >-.ui-tabs .ui-tabs-nav .ui-tabs-anchor { >- float: left; >- padding: .5em 1em; >- text-decoration: none; >-} >-.ui-tabs .ui-tabs-nav li.ui-tabs-active { >- margin-bottom: -1px; >- padding-bottom: 1px; >-} >-.ui-tabs .ui-tabs-nav li.ui-tabs-active .ui-tabs-anchor, >-.ui-tabs .ui-tabs-nav li.ui-state-disabled .ui-tabs-anchor, >-.ui-tabs .ui-tabs-nav li.ui-tabs-loading .ui-tabs-anchor { >- cursor: text; >-} >-.ui-tabs-collapsible .ui-tabs-nav li.ui-tabs-active .ui-tabs-anchor { >- cursor: pointer; >-} >-.ui-tabs .ui-tabs-panel { >- display: block; >- border-width: 0; >- padding: 1em 1.4em; >- background: none; >-} >-.ui-tooltip { >- padding: 8px; >- position: absolute; >- z-index: 9999; >- max-width: 300px; >-} >-body .ui-tooltip { >- border-width: 2px; >-} >- >-/* Component containers >-----------------------------------*/ >-.ui-widget { >- font-size: 1.1em; >-} >-.ui-widget .ui-widget { >- font-size: 1em; >-} >-.ui-widget input, >-.ui-widget select, >-.ui-widget textarea, >-.ui-widget button { >- font-size: 1em; >-} >-.ui-widget.ui-widget-content { >- border: 1px solid #d3d3d3; >-} >-.ui-widget-content { >- border: 1px solid #aaaaaa; >- background: #ffffff; >- 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, >-.ui-button, >- >-/* We use html here because we need a greater specificity to make sure disabled >-works properly when clicked or hovered */ >-html .ui-button.ui-state-disabled:hover, >-html .ui-button.ui-state-disabled:active { >- 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, >-a.ui-button, >-a:link.ui-button, >-a:visited.ui-button, >-.ui-button { >- 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, >-.ui-button:hover, >-.ui-button: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, >-.ui-state-hover a:link, >-.ui-state-hover a:visited, >-.ui-state-focus a, >-.ui-state-focus a:hover, >-.ui-state-focus a:link, >-.ui-state-focus a:visited, >-a.ui-button:hover, >-a.ui-button:focus { >- color: #212121; >- text-decoration: none; >-} >- >-.ui-visual-focus { >- box-shadow: 0 0 3px 1px rgb(94, 158, 214); >-} >-.ui-state-active, >-.ui-widget-content .ui-state-active, >-.ui-widget-header .ui-state-active, >-a.ui-button:active, >-.ui-button:active, >-.ui-button.ui-state-active:hover { >- 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-icon-background, >-.ui-state-active .ui-icon-background { >- border: #aaaaaa; >- background-color: #212121; >-} >-.ui-state-active a, >-.ui-state-active a:link, >-.ui-state-active a:visited { >- color: #212121; >- text-decoration: 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-checked { >- border: 1px solid #fcefa1; >- background: #fbf9ee; >-} >-.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); /* support: IE8 */ >- font-weight: normal; >-} >-.ui-state-disabled, >-.ui-widget-content .ui-state-disabled, >-.ui-widget-header .ui-state-disabled { >- opacity: .35; >- filter:Alpha(Opacity=35); /* support: IE8 */ >- background-image: none; >-} >-.ui-state-disabled .ui-icon { >- filter:Alpha(Opacity=35); /* support: IE8 - See #6059 */ >-} >- >-/* Icons >-----------------------------------*/ >- >-/* states and images */ >-.ui-icon { >- width: 16px; >- height: 16px; >-} >-.ui-icon, >-.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-hover .ui-icon, >-.ui-state-focus .ui-icon, >-.ui-button:hover .ui-icon, >-.ui-button:focus .ui-icon { >- background-image: url("images/ui-icons_454545_256x240.png"); >-} >-.ui-state-active .ui-icon, >-.ui-button:active .ui-icon { >- background-image: url("images/ui-icons_454545_256x240.png"); >-} >-.ui-state-highlight .ui-icon, >-.ui-button .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"); >-} >-.ui-button .ui-icon { >- background-image: url("images/ui-icons_888888_256x240.png"); >-} >- >-/* positioning */ >-.ui-icon-blank { background-position: 16px 16px; } >-.ui-icon-caret-1-n { background-position: 0 0; } >-.ui-icon-caret-1-ne { background-position: -16px 0; } >-.ui-icon-caret-1-e { background-position: -32px 0; } >-.ui-icon-caret-1-se { background-position: -48px 0; } >-.ui-icon-caret-1-s { background-position: -65px 0; } >-.ui-icon-caret-1-sw { background-position: -80px 0; } >-.ui-icon-caret-1-w { background-position: -96px 0; } >-.ui-icon-caret-1-nw { background-position: -112px 0; } >-.ui-icon-caret-2-n-s { background-position: -128px 0; } >-.ui-icon-caret-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: -65px -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: -65px -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: 1px -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-on { background-position: -96px -144px; } >-.ui-icon-radio-off { 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 { >- border-top-left-radius: 4px; >-} >-.ui-corner-all, >-.ui-corner-top, >-.ui-corner-right, >-.ui-corner-tr { >- border-top-right-radius: 4px; >-} >-.ui-corner-all, >-.ui-corner-bottom, >-.ui-corner-left, >-.ui-corner-bl { >- border-bottom-left-radius: 4px; >-} >-.ui-corner-all, >-.ui-corner-bottom, >-.ui-corner-right, >-.ui-corner-br { >- border-bottom-right-radius: 4px; >-} >- >-/* Overlays */ >-.ui-widget-overlay { >- background: #aaaaaa; >- opacity: .3; >- filter: Alpha(Opacity=30); /* support: IE8 */ >-} >-.ui-widget-shadow { >- -webkit-box-shadow: -8px -8px 8px #aaaaaa; >- box-shadow: -8px -8px 8px #aaaaaa; >-} >diff --git a/koha-tmpl/opac-tmpl/bootstrap/lib/jquery/jquery-ui-1.12.1.js b/koha-tmpl/opac-tmpl/bootstrap/lib/jquery/jquery-ui-1.12.1.js >deleted file mode 100644 >index 3c9f3eae85..0000000000 >--- a/koha-tmpl/opac-tmpl/bootstrap/lib/jquery/jquery-ui-1.12.1.js >+++ /dev/null >@@ -1,8737 +0,0 @@ >-/*! jQuery UI - v1.12.1 - 2019-08-16 >-* http://jqueryui.com >-* Includes: widget.js, position.js, data.js, keycode.js, scroll-parent.js, unique-id.js, widgets/sortable.js, widgets/autocomplete.js, widgets/datepicker.js, widgets/menu.js, widgets/mouse.js, widgets/slider.js, widgets/tabs.js, widgets/tooltip.js >-* Copyright jQuery Foundation and other contributors; Licensed MIT */ >- >-(function( factory ) { >- if ( typeof define === "function" && define.amd ) { >- >- // AMD. Register as an anonymous module. >- define([ "jquery" ], factory ); >- } else { >- >- // Browser globals >- factory( jQuery ); >- } >-}(function( $ ) { >- >-$.ui = $.ui || {}; >- >-var version = $.ui.version = "1.12.1"; >- >- >-/*! >- * jQuery UI Widget 1.12.1 >- * http://jqueryui.com >- * >- * Copyright jQuery Foundation and other contributors >- * Released under the MIT license. >- * http://jquery.org/license >- */ >- >-//>>label: Widget >-//>>group: Core >-//>>description: Provides a factory for creating stateful widgets with a common API. >-//>>docs: http://api.jqueryui.com/jQuery.widget/ >-//>>demos: http://jqueryui.com/widget/ >- >- >- >-var widgetUuid = 0; >-var widgetSlice = Array.prototype.slice; >- >-$.cleanData = ( function( orig ) { >- return function( elems ) { >- var events, elem, i; >- for ( i = 0; ( elem = elems[ i ] ) != null; i++ ) { >- try { >- >- // Only trigger remove when necessary to save time >- events = $._data( elem, "events" ); >- if ( events && events.remove ) { >- $( elem ).triggerHandler( "remove" ); >- } >- >- // Http://bugs.jquery.com/ticket/8235 >- } catch ( e ) {} >- } >- orig( elems ); >- }; >-} )( $.cleanData ); >- >-$.widget = function( name, base, prototype ) { >- var existingConstructor, constructor, basePrototype; >- >- // ProxiedPrototype allows the provided prototype to remain unmodified >- // so that it can be used as a mixin for multiple widgets (#8876) >- var proxiedPrototype = {}; >- >- var namespace = name.split( "." )[ 0 ]; >- name = name.split( "." )[ 1 ]; >- var fullName = namespace + "-" + name; >- >- if ( !prototype ) { >- prototype = base; >- base = $.Widget; >- } >- >- if ( $.isArray( prototype ) ) { >- prototype = $.extend.apply( null, [ {} ].concat( prototype ) ); >- } >- >- // Create selector for plugin >- $.expr[ ":" ][ fullName.toLowerCase() ] = function( elem ) { >- return !!$.data( elem, fullName ); >- }; >- >- $[ namespace ] = $[ namespace ] || {}; >- existingConstructor = $[ namespace ][ name ]; >- constructor = $[ namespace ][ name ] = function( options, element ) { >- >- // Allow instantiation without "new" keyword >- if ( !this._createWidget ) { >- return new constructor( options, element ); >- } >- >- // Allow instantiation without initializing for simple inheritance >- // must use "new" keyword (the code above always passes args) >- if ( arguments.length ) { >- this._createWidget( options, element ); >- } >- }; >- >- // Extend with the existing constructor to carry over any static properties >- $.extend( constructor, existingConstructor, { >- version: prototype.version, >- >- // Copy the object used to create the prototype in case we need to >- // redefine the widget later >- _proto: $.extend( {}, prototype ), >- >- // Track widgets that inherit from this widget in case this widget is >- // redefined after a widget inherits from it >- _childConstructors: [] >- } ); >- >- basePrototype = new base(); >- >- // We need to make the options hash a property directly on the new instance >- // otherwise we'll modify the options hash on the prototype that we're >- // inheriting from >- basePrototype.options = $.widget.extend( {}, basePrototype.options ); >- $.each( prototype, function( prop, value ) { >- if ( !$.isFunction( value ) ) { >- proxiedPrototype[ prop ] = value; >- return; >- } >- proxiedPrototype[ prop ] = ( function() { >- function _super() { >- return base.prototype[ prop ].apply( this, arguments ); >- } >- >- function _superApply( args ) { >- return base.prototype[ prop ].apply( this, args ); >- } >- >- return function() { >- var __super = this._super; >- var __superApply = this._superApply; >- var returnValue; >- >- this._super = _super; >- this._superApply = _superApply; >- >- returnValue = value.apply( this, arguments ); >- >- this._super = __super; >- this._superApply = __superApply; >- >- return returnValue; >- }; >- } )(); >- } ); >- constructor.prototype = $.widget.extend( basePrototype, { >- >- // TODO: remove support for widgetEventPrefix >- // always use the name + a colon as the prefix, e.g., draggable:start >- // don't prefix for widgets that aren't DOM-based >- widgetEventPrefix: existingConstructor ? ( basePrototype.widgetEventPrefix || name ) : name >- }, proxiedPrototype, { >- constructor: constructor, >- namespace: namespace, >- widgetName: name, >- widgetFullName: fullName >- } ); >- >- // If this widget is being redefined then we need to find all widgets that >- // are inheriting from it and redefine all of them so that they inherit from >- // the new version of this widget. We're essentially trying to replace one >- // level in the prototype chain. >- if ( existingConstructor ) { >- $.each( existingConstructor._childConstructors, function( i, child ) { >- var childPrototype = child.prototype; >- >- // Redefine the child widget using the same prototype that was >- // originally used, but inherit from the new version of the base >- $.widget( childPrototype.namespace + "." + childPrototype.widgetName, constructor, >- child._proto ); >- } ); >- >- // Remove the list of existing child constructors from the old constructor >- // so the old child constructors can be garbage collected >- delete existingConstructor._childConstructors; >- } else { >- base._childConstructors.push( constructor ); >- } >- >- $.widget.bridge( name, constructor ); >- >- return constructor; >-}; >- >-$.widget.extend = function( target ) { >- var input = widgetSlice.call( arguments, 1 ); >- var inputIndex = 0; >- var inputLength = input.length; >- var key; >- var value; >- >- for ( ; inputIndex < inputLength; inputIndex++ ) { >- for ( key in input[ inputIndex ] ) { >- value = input[ inputIndex ][ key ]; >- if ( input[ inputIndex ].hasOwnProperty( key ) && value !== undefined ) { >- >- // Clone objects >- if ( $.isPlainObject( value ) ) { >- target[ key ] = $.isPlainObject( target[ key ] ) ? >- $.widget.extend( {}, target[ key ], value ) : >- >- // Don't extend strings, arrays, etc. with objects >- $.widget.extend( {}, value ); >- >- // Copy everything else by reference >- } else { >- target[ key ] = value; >- } >- } >- } >- } >- return target; >-}; >- >-$.widget.bridge = function( name, object ) { >- var fullName = object.prototype.widgetFullName || name; >- $.fn[ name ] = function( options ) { >- var isMethodCall = typeof options === "string"; >- var args = widgetSlice.call( arguments, 1 ); >- var returnValue = this; >- >- if ( isMethodCall ) { >- >- // If this is an empty collection, we need to have the instance method >- // return undefined instead of the jQuery instance >- if ( !this.length && options === "instance" ) { >- returnValue = undefined; >- } else { >- this.each( function() { >- var methodValue; >- var instance = $.data( this, fullName ); >- >- if ( options === "instance" ) { >- returnValue = instance; >- return false; >- } >- >- if ( !instance ) { >- return $.error( "cannot call methods on " + name + >- " prior to initialization; " + >- "attempted to call method '" + options + "'" ); >- } >- >- if ( !$.isFunction( instance[ options ] ) || options.charAt( 0 ) === "_" ) { >- return $.error( "no such method '" + options + "' for " + name + >- " widget instance" ); >- } >- >- methodValue = instance[ options ].apply( instance, args ); >- >- if ( methodValue !== instance && methodValue !== undefined ) { >- returnValue = methodValue && methodValue.jquery ? >- returnValue.pushStack( methodValue.get() ) : >- methodValue; >- return false; >- } >- } ); >- } >- } else { >- >- // Allow multiple hashes to be passed on init >- if ( args.length ) { >- options = $.widget.extend.apply( null, [ options ].concat( args ) ); >- } >- >- this.each( function() { >- var instance = $.data( this, fullName ); >- if ( instance ) { >- instance.option( options || {} ); >- if ( instance._init ) { >- instance._init(); >- } >- } else { >- $.data( this, fullName, new object( options, this ) ); >- } >- } ); >- } >- >- return returnValue; >- }; >-}; >- >-$.Widget = function( /* options, element */ ) {}; >-$.Widget._childConstructors = []; >- >-$.Widget.prototype = { >- widgetName: "widget", >- widgetEventPrefix: "", >- defaultElement: "<div>", >- >- options: { >- classes: {}, >- disabled: false, >- >- // Callbacks >- create: null >- }, >- >- _createWidget: function( options, element ) { >- element = $( element || this.defaultElement || this )[ 0 ]; >- this.element = $( element ); >- this.uuid = widgetUuid++; >- this.eventNamespace = "." + this.widgetName + this.uuid; >- >- this.bindings = $(); >- this.hoverable = $(); >- this.focusable = $(); >- this.classesElementLookup = {}; >- >- if ( element !== this ) { >- $.data( element, this.widgetFullName, this ); >- this._on( true, this.element, { >- remove: function( event ) { >- if ( event.target === element ) { >- this.destroy(); >- } >- } >- } ); >- this.document = $( element.style ? >- >- // Element within the document >- element.ownerDocument : >- >- // Element is window or document >- element.document || element ); >- this.window = $( this.document[ 0 ].defaultView || this.document[ 0 ].parentWindow ); >- } >- >- this.options = $.widget.extend( {}, >- this.options, >- this._getCreateOptions(), >- options ); >- >- this._create(); >- >- if ( this.options.disabled ) { >- this._setOptionDisabled( this.options.disabled ); >- } >- >- this._trigger( "create", null, this._getCreateEventData() ); >- this._init(); >- }, >- >- _getCreateOptions: function() { >- return {}; >- }, >- >- _getCreateEventData: $.noop, >- >- _create: $.noop, >- >- _init: $.noop, >- >- destroy: function() { >- var that = this; >- >- this._destroy(); >- $.each( this.classesElementLookup, function( key, value ) { >- that._removeClass( value, key ); >- } ); >- >- // We can probably remove the unbind calls in 2.0 >- // all event bindings should go through this._on() >- this.element >- .off( this.eventNamespace ) >- .removeData( this.widgetFullName ); >- this.widget() >- .off( this.eventNamespace ) >- .removeAttr( "aria-disabled" ); >- >- // Clean up events and states >- this.bindings.off( this.eventNamespace ); >- }, >- >- _destroy: $.noop, >- >- widget: function() { >- return this.element; >- }, >- >- option: function( key, value ) { >- var options = key; >- var parts; >- var curOption; >- var i; >- >- if ( arguments.length === 0 ) { >- >- // Don't return a reference to the internal hash >- return $.widget.extend( {}, this.options ); >- } >- >- if ( typeof key === "string" ) { >- >- // Handle nested keys, e.g., "foo.bar" => { foo: { bar: ___ } } >- options = {}; >- parts = key.split( "." ); >- key = parts.shift(); >- if ( parts.length ) { >- curOption = options[ key ] = $.widget.extend( {}, this.options[ key ] ); >- for ( i = 0; i < parts.length - 1; i++ ) { >- curOption[ parts[ i ] ] = curOption[ parts[ i ] ] || {}; >- curOption = curOption[ parts[ i ] ]; >- } >- key = parts.pop(); >- if ( arguments.length === 1 ) { >- return curOption[ key ] === undefined ? null : curOption[ key ]; >- } >- curOption[ key ] = value; >- } else { >- if ( arguments.length === 1 ) { >- return this.options[ key ] === undefined ? null : this.options[ key ]; >- } >- options[ key ] = value; >- } >- } >- >- this._setOptions( options ); >- >- return this; >- }, >- >- _setOptions: function( options ) { >- var key; >- >- for ( key in options ) { >- this._setOption( key, options[ key ] ); >- } >- >- return this; >- }, >- >- _setOption: function( key, value ) { >- if ( key === "classes" ) { >- this._setOptionClasses( value ); >- } >- >- this.options[ key ] = value; >- >- if ( key === "disabled" ) { >- this._setOptionDisabled( value ); >- } >- >- return this; >- }, >- >- _setOptionClasses: function( value ) { >- var classKey, elements, currentElements; >- >- for ( classKey in value ) { >- currentElements = this.classesElementLookup[ classKey ]; >- if ( value[ classKey ] === this.options.classes[ classKey ] || >- !currentElements || >- !currentElements.length ) { >- continue; >- } >- >- // We are doing this to create a new jQuery object because the _removeClass() call >- // on the next line is going to destroy the reference to the current elements being >- // tracked. We need to save a copy of this collection so that we can add the new classes >- // below. >- elements = $( currentElements.get() ); >- this._removeClass( currentElements, classKey ); >- >- // We don't use _addClass() here, because that uses this.options.classes >- // for generating the string of classes. We want to use the value passed in from >- // _setOption(), this is the new value of the classes option which was passed to >- // _setOption(). We pass this value directly to _classes(). >- elements.addClass( this._classes( { >- element: elements, >- keys: classKey, >- classes: value, >- add: true >- } ) ); >- } >- }, >- >- _setOptionDisabled: function( value ) { >- this._toggleClass( this.widget(), this.widgetFullName + "-disabled", null, !!value ); >- >- // If the widget is becoming disabled, then nothing is interactive >- if ( value ) { >- this._removeClass( this.hoverable, null, "ui-state-hover" ); >- this._removeClass( this.focusable, null, "ui-state-focus" ); >- } >- }, >- >- enable: function() { >- return this._setOptions( { disabled: false } ); >- }, >- >- disable: function() { >- return this._setOptions( { disabled: true } ); >- }, >- >- _classes: function( options ) { >- var full = []; >- var that = this; >- >- options = $.extend( { >- element: this.element, >- classes: this.options.classes || {} >- }, options ); >- >- function processClassString( classes, checkOption ) { >- var current, i; >- for ( i = 0; i < classes.length; i++ ) { >- current = that.classesElementLookup[ classes[ i ] ] || $(); >- if ( options.add ) { >- current = $( $.unique( current.get().concat( options.element.get() ) ) ); >- } else { >- current = $( current.not( options.element ).get() ); >- } >- that.classesElementLookup[ classes[ i ] ] = current; >- full.push( classes[ i ] ); >- if ( checkOption && options.classes[ classes[ i ] ] ) { >- full.push( options.classes[ classes[ i ] ] ); >- } >- } >- } >- >- this._on( options.element, { >- "remove": "_untrackClassesElement" >- } ); >- >- if ( options.keys ) { >- processClassString( options.keys.match( /\S+/g ) || [], true ); >- } >- if ( options.extra ) { >- processClassString( options.extra.match( /\S+/g ) || [] ); >- } >- >- return full.join( " " ); >- }, >- >- _untrackClassesElement: function( event ) { >- var that = this; >- $.each( that.classesElementLookup, function( key, value ) { >- if ( $.inArray( event.target, value ) !== -1 ) { >- that.classesElementLookup[ key ] = $( value.not( event.target ).get() ); >- } >- } ); >- }, >- >- _removeClass: function( element, keys, extra ) { >- return this._toggleClass( element, keys, extra, false ); >- }, >- >- _addClass: function( element, keys, extra ) { >- return this._toggleClass( element, keys, extra, true ); >- }, >- >- _toggleClass: function( element, keys, extra, add ) { >- add = ( typeof add === "boolean" ) ? add : extra; >- var shift = ( typeof element === "string" || element === null ), >- options = { >- extra: shift ? keys : extra, >- keys: shift ? element : keys, >- element: shift ? this.element : element, >- add: add >- }; >- options.element.toggleClass( this._classes( options ), add ); >- return this; >- }, >- >- _on: function( suppressDisabledCheck, element, handlers ) { >- var delegateElement; >- var instance = this; >- >- // No suppressDisabledCheck flag, shuffle arguments >- if ( typeof suppressDisabledCheck !== "boolean" ) { >- handlers = element; >- element = suppressDisabledCheck; >- suppressDisabledCheck = false; >- } >- >- // No element argument, shuffle and use this.element >- if ( !handlers ) { >- handlers = element; >- element = this.element; >- delegateElement = this.widget(); >- } else { >- element = delegateElement = $( element ); >- this.bindings = this.bindings.add( element ); >- } >- >- $.each( handlers, function( event, handler ) { >- function handlerProxy() { >- >- // Allow widgets to customize the disabled handling >- // - disabled as an array instead of boolean >- // - disabled class as method for disabling individual parts >- if ( !suppressDisabledCheck && >- ( instance.options.disabled === true || >- $( this ).hasClass( "ui-state-disabled" ) ) ) { >- return; >- } >- return ( typeof handler === "string" ? instance[ handler ] : handler ) >- .apply( instance, arguments ); >- } >- >- // Copy the guid so direct unbinding works >- if ( typeof handler !== "string" ) { >- handlerProxy.guid = handler.guid = >- handler.guid || handlerProxy.guid || $.guid++; >- } >- >- var match = event.match( /^([\w:-]*)\s*(.*)$/ ); >- var eventName = match[ 1 ] + instance.eventNamespace; >- var selector = match[ 2 ]; >- >- if ( selector ) { >- delegateElement.on( eventName, selector, handlerProxy ); >- } else { >- element.on( eventName, handlerProxy ); >- } >- } ); >- }, >- >- _off: function( element, eventName ) { >- eventName = ( eventName || "" ).split( " " ).join( this.eventNamespace + " " ) + >- this.eventNamespace; >- element.off( eventName ).off( eventName ); >- >- // Clear the stack to avoid memory leaks (#10056) >- this.bindings = $( this.bindings.not( element ).get() ); >- this.focusable = $( this.focusable.not( element ).get() ); >- this.hoverable = $( this.hoverable.not( element ).get() ); >- }, >- >- _delay: function( handler, delay ) { >- function handlerProxy() { >- return ( typeof handler === "string" ? instance[ handler ] : handler ) >- .apply( instance, arguments ); >- } >- var instance = this; >- return setTimeout( handlerProxy, delay || 0 ); >- }, >- >- _hoverable: function( element ) { >- this.hoverable = this.hoverable.add( element ); >- this._on( element, { >- mouseenter: function( event ) { >- this._addClass( $( event.currentTarget ), null, "ui-state-hover" ); >- }, >- mouseleave: function( event ) { >- this._removeClass( $( event.currentTarget ), null, "ui-state-hover" ); >- } >- } ); >- }, >- >- _focusable: function( element ) { >- this.focusable = this.focusable.add( element ); >- this._on( element, { >- focusin: function( event ) { >- this._addClass( $( event.currentTarget ), null, "ui-state-focus" ); >- }, >- focusout: function( event ) { >- this._removeClass( $( event.currentTarget ), null, "ui-state-focus" ); >- } >- } ); >- }, >- >- _trigger: function( type, event, data ) { >- var prop, orig; >- var callback = this.options[ type ]; >- >- data = data || {}; >- event = $.Event( event ); >- event.type = ( type === this.widgetEventPrefix ? >- type : >- this.widgetEventPrefix + type ).toLowerCase(); >- >- // The original event may come from any element >- // so we need to reset the target on the new event >- event.target = this.element[ 0 ]; >- >- // Copy original event properties over to the new event >- orig = event.originalEvent; >- if ( orig ) { >- for ( prop in orig ) { >- if ( !( prop in event ) ) { >- event[ prop ] = orig[ prop ]; >- } >- } >- } >- >- this.element.trigger( event, data ); >- return !( $.isFunction( callback ) && >- callback.apply( this.element[ 0 ], [ event ].concat( data ) ) === false || >- event.isDefaultPrevented() ); >- } >-}; >- >-$.each( { show: "fadeIn", hide: "fadeOut" }, function( method, defaultEffect ) { >- $.Widget.prototype[ "_" + method ] = function( element, options, callback ) { >- if ( typeof options === "string" ) { >- options = { effect: options }; >- } >- >- var hasOptions; >- var effectName = !options ? >- method : >- options === true || typeof options === "number" ? >- defaultEffect : >- options.effect || defaultEffect; >- >- options = options || {}; >- if ( typeof options === "number" ) { >- options = { duration: options }; >- } >- >- hasOptions = !$.isEmptyObject( options ); >- options.complete = callback; >- >- if ( options.delay ) { >- element.delay( options.delay ); >- } >- >- if ( hasOptions && $.effects && $.effects.effect[ effectName ] ) { >- element[ method ]( options ); >- } else if ( effectName !== method && element[ effectName ] ) { >- element[ effectName ]( options.duration, options.easing, callback ); >- } else { >- element.queue( function( next ) { >- $( this )[ method ](); >- if ( callback ) { >- callback.call( element[ 0 ] ); >- } >- next(); >- } ); >- } >- }; >-} ); >- >-var widget = $.widget; >- >- >-/*! >- * jQuery UI Position 1.12.1 >- * http://jqueryui.com >- * >- * Copyright jQuery Foundation and other contributors >- * Released under the MIT license. >- * http://jquery.org/license >- * >- * http://api.jqueryui.com/position/ >- */ >- >-//>>label: Position >-//>>group: Core >-//>>description: Positions elements relative to other elements. >-//>>docs: http://api.jqueryui.com/position/ >-//>>demos: http://jqueryui.com/position/ >- >- >-( function() { >-var cachedScrollbarWidth, >- max = Math.max, >- abs = Math.abs, >- rhorizontal = /left|center|right/, >- rvertical = /top|center|bottom/, >- roffset = /[\+\-]\d+(\.[\d]+)?%?/, >- rposition = /^\w+/, >- rpercent = /%$/, >- _position = $.fn.position; >- >-function getOffsets( offsets, width, height ) { >- return [ >- parseFloat( offsets[ 0 ] ) * ( rpercent.test( offsets[ 0 ] ) ? width / 100 : 1 ), >- parseFloat( offsets[ 1 ] ) * ( rpercent.test( offsets[ 1 ] ) ? height / 100 : 1 ) >- ]; >-} >- >-function parseCss( element, property ) { >- return parseInt( $.css( element, property ), 10 ) || 0; >-} >- >-function getDimensions( elem ) { >- var raw = elem[ 0 ]; >- if ( raw.nodeType === 9 ) { >- return { >- width: elem.width(), >- height: elem.height(), >- offset: { top: 0, left: 0 } >- }; >- } >- if ( $.isWindow( raw ) ) { >- return { >- width: elem.width(), >- height: elem.height(), >- offset: { top: elem.scrollTop(), left: elem.scrollLeft() } >- }; >- } >- if ( raw.preventDefault ) { >- return { >- width: 0, >- height: 0, >- offset: { top: raw.pageY, left: raw.pageX } >- }; >- } >- return { >- width: elem.outerWidth(), >- height: elem.outerHeight(), >- offset: elem.offset() >- }; >-} >- >-$.position = { >- scrollbarWidth: function() { >- if ( cachedScrollbarWidth !== undefined ) { >- return cachedScrollbarWidth; >- } >- var w1, w2, >- div = $( "<div " + >- "style='display:block;position:absolute;width:50px;height:50px;overflow:hidden;'>" + >- "<div style='height:100px;width:auto;'></div></div>" ), >- innerDiv = div.children()[ 0 ]; >- >- $( "body" ).append( div ); >- w1 = innerDiv.offsetWidth; >- div.css( "overflow", "scroll" ); >- >- w2 = innerDiv.offsetWidth; >- >- if ( w1 === w2 ) { >- w2 = div[ 0 ].clientWidth; >- } >- >- div.remove(); >- >- return ( cachedScrollbarWidth = w1 - w2 ); >- }, >- getScrollInfo: function( within ) { >- var overflowX = within.isWindow || within.isDocument ? "" : >- within.element.css( "overflow-x" ), >- overflowY = within.isWindow || within.isDocument ? "" : >- within.element.css( "overflow-y" ), >- hasOverflowX = overflowX === "scroll" || >- ( overflowX === "auto" && within.width < within.element[ 0 ].scrollWidth ), >- hasOverflowY = overflowY === "scroll" || >- ( overflowY === "auto" && within.height < within.element[ 0 ].scrollHeight ); >- return { >- width: hasOverflowY ? $.position.scrollbarWidth() : 0, >- height: hasOverflowX ? $.position.scrollbarWidth() : 0 >- }; >- }, >- getWithinInfo: function( element ) { >- var withinElement = $( element || window ), >- isWindow = $.isWindow( withinElement[ 0 ] ), >- isDocument = !!withinElement[ 0 ] && withinElement[ 0 ].nodeType === 9, >- hasOffset = !isWindow && !isDocument; >- return { >- element: withinElement, >- isWindow: isWindow, >- isDocument: isDocument, >- offset: hasOffset ? $( element ).offset() : { left: 0, top: 0 }, >- scrollLeft: withinElement.scrollLeft(), >- scrollTop: withinElement.scrollTop(), >- width: withinElement.outerWidth(), >- height: withinElement.outerHeight() >- }; >- } >-}; >- >-$.fn.position = function( options ) { >- if ( !options || !options.of ) { >- return _position.apply( this, arguments ); >- } >- >- // Make a copy, we don't want to modify arguments >- options = $.extend( {}, options ); >- >- var atOffset, targetWidth, targetHeight, targetOffset, basePosition, dimensions, >- target = $( options.of ), >- within = $.position.getWithinInfo( options.within ), >- scrollInfo = $.position.getScrollInfo( within ), >- collision = ( options.collision || "flip" ).split( " " ), >- offsets = {}; >- >- dimensions = getDimensions( target ); >- if ( target[ 0 ].preventDefault ) { >- >- // Force left top to allow flipping >- options.at = "left top"; >- } >- targetWidth = dimensions.width; >- targetHeight = dimensions.height; >- targetOffset = dimensions.offset; >- >- // Clone to reuse original targetOffset later >- basePosition = $.extend( {}, targetOffset ); >- >- // Force my and at to have valid horizontal and vertical positions >- // if a value is missing or invalid, it will be converted to center >- $.each( [ "my", "at" ], function() { >- var pos = ( options[ this ] || "" ).split( " " ), >- horizontalOffset, >- verticalOffset; >- >- if ( pos.length === 1 ) { >- pos = rhorizontal.test( pos[ 0 ] ) ? >- pos.concat( [ "center" ] ) : >- rvertical.test( pos[ 0 ] ) ? >- [ "center" ].concat( pos ) : >- [ "center", "center" ]; >- } >- pos[ 0 ] = rhorizontal.test( pos[ 0 ] ) ? pos[ 0 ] : "center"; >- pos[ 1 ] = rvertical.test( pos[ 1 ] ) ? pos[ 1 ] : "center"; >- >- // Calculate offsets >- horizontalOffset = roffset.exec( pos[ 0 ] ); >- verticalOffset = roffset.exec( pos[ 1 ] ); >- offsets[ this ] = [ >- horizontalOffset ? horizontalOffset[ 0 ] : 0, >- verticalOffset ? verticalOffset[ 0 ] : 0 >- ]; >- >- // Reduce to just the positions without the offsets >- options[ this ] = [ >- rposition.exec( pos[ 0 ] )[ 0 ], >- rposition.exec( pos[ 1 ] )[ 0 ] >- ]; >- } ); >- >- // Normalize collision option >- if ( collision.length === 1 ) { >- collision[ 1 ] = collision[ 0 ]; >- } >- >- if ( options.at[ 0 ] === "right" ) { >- basePosition.left += targetWidth; >- } else if ( options.at[ 0 ] === "center" ) { >- basePosition.left += targetWidth / 2; >- } >- >- if ( options.at[ 1 ] === "bottom" ) { >- basePosition.top += targetHeight; >- } else if ( options.at[ 1 ] === "center" ) { >- basePosition.top += targetHeight / 2; >- } >- >- atOffset = getOffsets( offsets.at, targetWidth, targetHeight ); >- basePosition.left += atOffset[ 0 ]; >- basePosition.top += atOffset[ 1 ]; >- >- return this.each( function() { >- var collisionPosition, using, >- elem = $( this ), >- elemWidth = elem.outerWidth(), >- elemHeight = elem.outerHeight(), >- marginLeft = parseCss( this, "marginLeft" ), >- marginTop = parseCss( this, "marginTop" ), >- collisionWidth = elemWidth + marginLeft + parseCss( this, "marginRight" ) + >- scrollInfo.width, >- collisionHeight = elemHeight + marginTop + parseCss( this, "marginBottom" ) + >- scrollInfo.height, >- position = $.extend( {}, basePosition ), >- myOffset = getOffsets( offsets.my, elem.outerWidth(), elem.outerHeight() ); >- >- if ( options.my[ 0 ] === "right" ) { >- position.left -= elemWidth; >- } else if ( options.my[ 0 ] === "center" ) { >- position.left -= elemWidth / 2; >- } >- >- if ( options.my[ 1 ] === "bottom" ) { >- position.top -= elemHeight; >- } else if ( options.my[ 1 ] === "center" ) { >- position.top -= elemHeight / 2; >- } >- >- position.left += myOffset[ 0 ]; >- position.top += myOffset[ 1 ]; >- >- collisionPosition = { >- marginLeft: marginLeft, >- marginTop: marginTop >- }; >- >- $.each( [ "left", "top" ], function( i, dir ) { >- if ( $.ui.position[ collision[ i ] ] ) { >- $.ui.position[ collision[ i ] ][ dir ]( position, { >- targetWidth: targetWidth, >- targetHeight: targetHeight, >- elemWidth: elemWidth, >- elemHeight: elemHeight, >- collisionPosition: collisionPosition, >- collisionWidth: collisionWidth, >- collisionHeight: collisionHeight, >- offset: [ atOffset[ 0 ] + myOffset[ 0 ], atOffset [ 1 ] + myOffset[ 1 ] ], >- my: options.my, >- at: options.at, >- within: within, >- elem: elem >- } ); >- } >- } ); >- >- if ( options.using ) { >- >- // Adds feedback as second argument to using callback, if present >- using = function( props ) { >- var left = targetOffset.left - position.left, >- right = left + targetWidth - elemWidth, >- top = targetOffset.top - position.top, >- bottom = top + targetHeight - elemHeight, >- feedback = { >- target: { >- element: target, >- left: targetOffset.left, >- top: targetOffset.top, >- width: targetWidth, >- height: targetHeight >- }, >- element: { >- element: elem, >- left: position.left, >- top: position.top, >- width: elemWidth, >- height: elemHeight >- }, >- horizontal: right < 0 ? "left" : left > 0 ? "right" : "center", >- vertical: bottom < 0 ? "top" : top > 0 ? "bottom" : "middle" >- }; >- if ( targetWidth < elemWidth && abs( left + right ) < targetWidth ) { >- feedback.horizontal = "center"; >- } >- if ( targetHeight < elemHeight && abs( top + bottom ) < targetHeight ) { >- feedback.vertical = "middle"; >- } >- if ( max( abs( left ), abs( right ) ) > max( abs( top ), abs( bottom ) ) ) { >- feedback.important = "horizontal"; >- } else { >- feedback.important = "vertical"; >- } >- options.using.call( this, props, feedback ); >- }; >- } >- >- elem.offset( $.extend( position, { using: using } ) ); >- } ); >-}; >- >-$.ui.position = { >- fit: { >- left: function( position, data ) { >- var within = data.within, >- withinOffset = within.isWindow ? within.scrollLeft : within.offset.left, >- outerWidth = within.width, >- collisionPosLeft = position.left - data.collisionPosition.marginLeft, >- overLeft = withinOffset - collisionPosLeft, >- overRight = collisionPosLeft + data.collisionWidth - outerWidth - withinOffset, >- newOverRight; >- >- // Element is wider than within >- if ( data.collisionWidth > outerWidth ) { >- >- // Element is initially over the left side of within >- if ( overLeft > 0 && overRight <= 0 ) { >- newOverRight = position.left + overLeft + data.collisionWidth - outerWidth - >- withinOffset; >- position.left += overLeft - newOverRight; >- >- // Element is initially over right side of within >- } else if ( overRight > 0 && overLeft <= 0 ) { >- position.left = withinOffset; >- >- // Element is initially over both left and right sides of within >- } else { >- if ( overLeft > overRight ) { >- position.left = withinOffset + outerWidth - data.collisionWidth; >- } else { >- position.left = withinOffset; >- } >- } >- >- // Too far left -> align with left edge >- } else if ( overLeft > 0 ) { >- position.left += overLeft; >- >- // Too far right -> align with right edge >- } else if ( overRight > 0 ) { >- position.left -= overRight; >- >- // Adjust based on position and margin >- } else { >- position.left = max( position.left - collisionPosLeft, position.left ); >- } >- }, >- top: function( position, data ) { >- var within = data.within, >- withinOffset = within.isWindow ? within.scrollTop : within.offset.top, >- outerHeight = data.within.height, >- collisionPosTop = position.top - data.collisionPosition.marginTop, >- overTop = withinOffset - collisionPosTop, >- overBottom = collisionPosTop + data.collisionHeight - outerHeight - withinOffset, >- newOverBottom; >- >- // Element is taller than within >- if ( data.collisionHeight > outerHeight ) { >- >- // Element is initially over the top of within >- if ( overTop > 0 && overBottom <= 0 ) { >- newOverBottom = position.top + overTop + data.collisionHeight - outerHeight - >- withinOffset; >- position.top += overTop - newOverBottom; >- >- // Element is initially over bottom of within >- } else if ( overBottom > 0 && overTop <= 0 ) { >- position.top = withinOffset; >- >- // Element is initially over both top and bottom of within >- } else { >- if ( overTop > overBottom ) { >- position.top = withinOffset + outerHeight - data.collisionHeight; >- } else { >- position.top = withinOffset; >- } >- } >- >- // Too far up -> align with top >- } else if ( overTop > 0 ) { >- position.top += overTop; >- >- // Too far down -> align with bottom edge >- } else if ( overBottom > 0 ) { >- position.top -= overBottom; >- >- // Adjust based on position and margin >- } else { >- position.top = max( position.top - collisionPosTop, position.top ); >- } >- } >- }, >- flip: { >- left: function( position, data ) { >- var within = data.within, >- withinOffset = within.offset.left + within.scrollLeft, >- outerWidth = within.width, >- offsetLeft = within.isWindow ? within.scrollLeft : within.offset.left, >- collisionPosLeft = position.left - data.collisionPosition.marginLeft, >- overLeft = collisionPosLeft - offsetLeft, >- overRight = collisionPosLeft + data.collisionWidth - outerWidth - offsetLeft, >- myOffset = data.my[ 0 ] === "left" ? >- -data.elemWidth : >- data.my[ 0 ] === "right" ? >- data.elemWidth : >- 0, >- atOffset = data.at[ 0 ] === "left" ? >- data.targetWidth : >- data.at[ 0 ] === "right" ? >- -data.targetWidth : >- 0, >- offset = -2 * data.offset[ 0 ], >- newOverRight, >- newOverLeft; >- >- if ( overLeft < 0 ) { >- newOverRight = position.left + myOffset + atOffset + offset + data.collisionWidth - >- outerWidth - withinOffset; >- if ( newOverRight < 0 || newOverRight < abs( overLeft ) ) { >- position.left += myOffset + atOffset + offset; >- } >- } else if ( overRight > 0 ) { >- newOverLeft = position.left - data.collisionPosition.marginLeft + myOffset + >- atOffset + offset - offsetLeft; >- if ( newOverLeft > 0 || abs( newOverLeft ) < overRight ) { >- position.left += myOffset + atOffset + offset; >- } >- } >- }, >- top: function( position, data ) { >- var within = data.within, >- withinOffset = within.offset.top + within.scrollTop, >- outerHeight = within.height, >- offsetTop = within.isWindow ? within.scrollTop : within.offset.top, >- collisionPosTop = position.top - data.collisionPosition.marginTop, >- overTop = collisionPosTop - offsetTop, >- overBottom = collisionPosTop + data.collisionHeight - outerHeight - offsetTop, >- top = data.my[ 1 ] === "top", >- myOffset = top ? >- -data.elemHeight : >- data.my[ 1 ] === "bottom" ? >- data.elemHeight : >- 0, >- atOffset = data.at[ 1 ] === "top" ? >- data.targetHeight : >- data.at[ 1 ] === "bottom" ? >- -data.targetHeight : >- 0, >- offset = -2 * data.offset[ 1 ], >- newOverTop, >- newOverBottom; >- if ( overTop < 0 ) { >- newOverBottom = position.top + myOffset + atOffset + offset + data.collisionHeight - >- outerHeight - withinOffset; >- if ( newOverBottom < 0 || newOverBottom < abs( overTop ) ) { >- position.top += myOffset + atOffset + offset; >- } >- } else if ( overBottom > 0 ) { >- newOverTop = position.top - data.collisionPosition.marginTop + myOffset + atOffset + >- offset - offsetTop; >- if ( newOverTop > 0 || abs( newOverTop ) < overBottom ) { >- position.top += myOffset + atOffset + offset; >- } >- } >- } >- }, >- flipfit: { >- left: function() { >- $.ui.position.flip.left.apply( this, arguments ); >- $.ui.position.fit.left.apply( this, arguments ); >- }, >- top: function() { >- $.ui.position.flip.top.apply( this, arguments ); >- $.ui.position.fit.top.apply( this, arguments ); >- } >- } >-}; >- >-} )(); >- >-var position = $.ui.position; >- >- >-/*! >- * jQuery UI :data 1.12.1 >- * http://jqueryui.com >- * >- * Copyright jQuery Foundation and other contributors >- * Released under the MIT license. >- * http://jquery.org/license >- */ >- >-//>>label: :data Selector >-//>>group: Core >-//>>description: Selects elements which have data stored under the specified key. >-//>>docs: http://api.jqueryui.com/data-selector/ >- >- >-var data = $.extend( $.expr[ ":" ], { >- data: $.expr.createPseudo ? >- $.expr.createPseudo( function( dataName ) { >- return function( elem ) { >- return !!$.data( elem, dataName ); >- }; >- } ) : >- >- // Support: jQuery <1.8 >- function( elem, i, match ) { >- return !!$.data( elem, match[ 3 ] ); >- } >-} ); >- >-/*! >- * jQuery UI Keycode 1.12.1 >- * http://jqueryui.com >- * >- * Copyright jQuery Foundation and other contributors >- * Released under the MIT license. >- * http://jquery.org/license >- */ >- >-//>>label: Keycode >-//>>group: Core >-//>>description: Provide keycodes as keynames >-//>>docs: http://api.jqueryui.com/jQuery.ui.keyCode/ >- >- >-var keycode = $.ui.keyCode = { >- BACKSPACE: 8, >- COMMA: 188, >- DELETE: 46, >- DOWN: 40, >- END: 35, >- ENTER: 13, >- ESCAPE: 27, >- HOME: 36, >- LEFT: 37, >- PAGE_DOWN: 34, >- PAGE_UP: 33, >- PERIOD: 190, >- RIGHT: 39, >- SPACE: 32, >- TAB: 9, >- UP: 38 >-}; >- >- >-/*! >- * jQuery UI Scroll Parent 1.12.1 >- * http://jqueryui.com >- * >- * Copyright jQuery Foundation and other contributors >- * Released under the MIT license. >- * http://jquery.org/license >- */ >- >-//>>label: scrollParent >-//>>group: Core >-//>>description: Get the closest ancestor element that is scrollable. >-//>>docs: http://api.jqueryui.com/scrollParent/ >- >- >- >-var scrollParent = $.fn.scrollParent = function( includeHidden ) { >- var position = this.css( "position" ), >- excludeStaticParent = position === "absolute", >- overflowRegex = includeHidden ? /(auto|scroll|hidden)/ : /(auto|scroll)/, >- scrollParent = this.parents().filter( function() { >- var parent = $( this ); >- if ( excludeStaticParent && parent.css( "position" ) === "static" ) { >- return false; >- } >- return overflowRegex.test( parent.css( "overflow" ) + parent.css( "overflow-y" ) + >- parent.css( "overflow-x" ) ); >- } ).eq( 0 ); >- >- return position === "fixed" || !scrollParent.length ? >- $( this[ 0 ].ownerDocument || document ) : >- scrollParent; >-}; >- >- >-/*! >- * jQuery UI Unique ID 1.12.1 >- * http://jqueryui.com >- * >- * Copyright jQuery Foundation and other contributors >- * Released under the MIT license. >- * http://jquery.org/license >- */ >- >-//>>label: uniqueId >-//>>group: Core >-//>>description: Functions to generate and remove uniqueId's >-//>>docs: http://api.jqueryui.com/uniqueId/ >- >- >- >-var uniqueId = $.fn.extend( { >- uniqueId: ( function() { >- var uuid = 0; >- >- return function() { >- return this.each( function() { >- if ( !this.id ) { >- this.id = "ui-id-" + ( ++uuid ); >- } >- } ); >- }; >- } )(), >- >- removeUniqueId: function() { >- return this.each( function() { >- if ( /^ui-id-\d+$/.test( this.id ) ) { >- $( this ).removeAttr( "id" ); >- } >- } ); >- } >-} ); >- >- >- >- >-// This file is deprecated >-var ie = $.ui.ie = !!/msie [\w.]+/.exec( navigator.userAgent.toLowerCase() ); >- >-/*! >- * jQuery UI Mouse 1.12.1 >- * http://jqueryui.com >- * >- * Copyright jQuery Foundation and other contributors >- * Released under the MIT license. >- * http://jquery.org/license >- */ >- >-//>>label: Mouse >-//>>group: Widgets >-//>>description: Abstracts mouse-based interactions to assist in creating certain widgets. >-//>>docs: http://api.jqueryui.com/mouse/ >- >- >- >-var mouseHandled = false; >-$( document ).on( "mouseup", function() { >- mouseHandled = false; >-} ); >- >-var widgetsMouse = $.widget( "ui.mouse", { >- version: "1.12.1", >- options: { >- cancel: "input, textarea, button, select, option", >- distance: 1, >- delay: 0 >- }, >- _mouseInit: function() { >- var that = this; >- >- this.element >- .on( "mousedown." + this.widgetName, function( event ) { >- return that._mouseDown( event ); >- } ) >- .on( "click." + this.widgetName, function( event ) { >- if ( true === $.data( event.target, that.widgetName + ".preventClickEvent" ) ) { >- $.removeData( event.target, that.widgetName + ".preventClickEvent" ); >- event.stopImmediatePropagation(); >- return false; >- } >- } ); >- >- this.started = false; >- }, >- >- // TODO: make sure destroying one instance of mouse doesn't mess with >- // other instances of mouse >- _mouseDestroy: function() { >- this.element.off( "." + this.widgetName ); >- if ( this._mouseMoveDelegate ) { >- this.document >- .off( "mousemove." + this.widgetName, this._mouseMoveDelegate ) >- .off( "mouseup." + this.widgetName, this._mouseUpDelegate ); >- } >- }, >- >- _mouseDown: function( event ) { >- >- // don't let more than one widget handle mouseStart >- if ( mouseHandled ) { >- return; >- } >- >- this._mouseMoved = false; >- >- // We may have missed mouseup (out of window) >- ( this._mouseStarted && this._mouseUp( event ) ); >- >- this._mouseDownEvent = event; >- >- var that = this, >- btnIsLeft = ( event.which === 1 ), >- >- // event.target.nodeName works around a bug in IE 8 with >- // disabled inputs (#7620) >- elIsCancel = ( typeof this.options.cancel === "string" && event.target.nodeName ? >- $( event.target ).closest( this.options.cancel ).length : false ); >- if ( !btnIsLeft || elIsCancel || !this._mouseCapture( event ) ) { >- return true; >- } >- >- this.mouseDelayMet = !this.options.delay; >- if ( !this.mouseDelayMet ) { >- this._mouseDelayTimer = setTimeout( function() { >- that.mouseDelayMet = true; >- }, this.options.delay ); >- } >- >- if ( this._mouseDistanceMet( event ) && this._mouseDelayMet( event ) ) { >- this._mouseStarted = ( this._mouseStart( event ) !== false ); >- if ( !this._mouseStarted ) { >- event.preventDefault(); >- return true; >- } >- } >- >- // Click event may never have fired (Gecko & Opera) >- if ( true === $.data( event.target, this.widgetName + ".preventClickEvent" ) ) { >- $.removeData( event.target, this.widgetName + ".preventClickEvent" ); >- } >- >- // These delegates are required to keep context >- this._mouseMoveDelegate = function( event ) { >- return that._mouseMove( event ); >- }; >- this._mouseUpDelegate = function( event ) { >- return that._mouseUp( event ); >- }; >- >- this.document >- .on( "mousemove." + this.widgetName, this._mouseMoveDelegate ) >- .on( "mouseup." + this.widgetName, this._mouseUpDelegate ); >- >- event.preventDefault(); >- >- mouseHandled = true; >- return true; >- }, >- >- _mouseMove: function( event ) { >- >- // Only check for mouseups outside the document if you've moved inside the document >- // at least once. This prevents the firing of mouseup in the case of IE<9, which will >- // fire a mousemove event if content is placed under the cursor. See #7778 >- // Support: IE <9 >- if ( this._mouseMoved ) { >- >- // IE mouseup check - mouseup happened when mouse was out of window >- if ( $.ui.ie && ( !document.documentMode || document.documentMode < 9 ) && >- !event.button ) { >- return this._mouseUp( event ); >- >- // Iframe mouseup check - mouseup occurred in another document >- } else if ( !event.which ) { >- >- // Support: Safari <=8 - 9 >- // Safari sets which to 0 if you press any of the following keys >- // during a drag (#14461) >- if ( event.originalEvent.altKey || event.originalEvent.ctrlKey || >- event.originalEvent.metaKey || event.originalEvent.shiftKey ) { >- this.ignoreMissingWhich = true; >- } else if ( !this.ignoreMissingWhich ) { >- return this._mouseUp( event ); >- } >- } >- } >- >- if ( event.which || event.button ) { >- this._mouseMoved = true; >- } >- >- if ( this._mouseStarted ) { >- this._mouseDrag( event ); >- return event.preventDefault(); >- } >- >- if ( this._mouseDistanceMet( event ) && this._mouseDelayMet( event ) ) { >- this._mouseStarted = >- ( this._mouseStart( this._mouseDownEvent, event ) !== false ); >- ( this._mouseStarted ? this._mouseDrag( event ) : this._mouseUp( event ) ); >- } >- >- return !this._mouseStarted; >- }, >- >- _mouseUp: function( event ) { >- this.document >- .off( "mousemove." + this.widgetName, this._mouseMoveDelegate ) >- .off( "mouseup." + this.widgetName, this._mouseUpDelegate ); >- >- if ( this._mouseStarted ) { >- this._mouseStarted = false; >- >- if ( event.target === this._mouseDownEvent.target ) { >- $.data( event.target, this.widgetName + ".preventClickEvent", true ); >- } >- >- this._mouseStop( event ); >- } >- >- if ( this._mouseDelayTimer ) { >- clearTimeout( this._mouseDelayTimer ); >- delete this._mouseDelayTimer; >- } >- >- this.ignoreMissingWhich = false; >- mouseHandled = false; >- event.preventDefault(); >- }, >- >- _mouseDistanceMet: function( event ) { >- return ( Math.max( >- Math.abs( this._mouseDownEvent.pageX - event.pageX ), >- Math.abs( this._mouseDownEvent.pageY - event.pageY ) >- ) >= this.options.distance >- ); >- }, >- >- _mouseDelayMet: function( /* event */ ) { >- return this.mouseDelayMet; >- }, >- >- // These are placeholder methods, to be overriden by extending plugin >- _mouseStart: function( /* event */ ) {}, >- _mouseDrag: function( /* event */ ) {}, >- _mouseStop: function( /* event */ ) {}, >- _mouseCapture: function( /* event */ ) { return true; } >-} ); >- >- >-/*! >- * jQuery UI Sortable 1.12.1 >- * http://jqueryui.com >- * >- * Copyright jQuery Foundation and other contributors >- * Released under the MIT license. >- * http://jquery.org/license >- */ >- >-//>>label: Sortable >-//>>group: Interactions >-//>>description: Enables items in a list to be sorted using the mouse. >-//>>docs: http://api.jqueryui.com/sortable/ >-//>>demos: http://jqueryui.com/sortable/ >-//>>css.structure: ../../themes/base/sortable.css >- >- >- >-var widgetsSortable = $.widget( "ui.sortable", $.ui.mouse, { >- version: "1.12.1", >- widgetEventPrefix: "sort", >- ready: false, >- options: { >- appendTo: "parent", >- axis: false, >- connectWith: false, >- containment: false, >- cursor: "auto", >- cursorAt: false, >- dropOnEmpty: true, >- forcePlaceholderSize: false, >- forceHelperSize: false, >- grid: false, >- handle: false, >- helper: "original", >- items: "> *", >- opacity: false, >- placeholder: false, >- revert: false, >- scroll: true, >- scrollSensitivity: 20, >- scrollSpeed: 20, >- scope: "default", >- tolerance: "intersect", >- zIndex: 1000, >- >- // Callbacks >- activate: null, >- beforeStop: null, >- change: null, >- deactivate: null, >- out: null, >- over: null, >- receive: null, >- remove: null, >- sort: null, >- start: null, >- stop: null, >- update: null >- }, >- >- _isOverAxis: function( x, reference, size ) { >- return ( x >= reference ) && ( x < ( reference + size ) ); >- }, >- >- _isFloating: function( item ) { >- return ( /left|right/ ).test( item.css( "float" ) ) || >- ( /inline|table-cell/ ).test( item.css( "display" ) ); >- }, >- >- _create: function() { >- this.containerCache = {}; >- this._addClass( "ui-sortable" ); >- >- //Get the items >- this.refresh(); >- >- //Let's determine the parent's offset >- this.offset = this.element.offset(); >- >- //Initialize mouse events for interaction >- this._mouseInit(); >- >- this._setHandleClassName(); >- >- //We're ready to go >- this.ready = true; >- >- }, >- >- _setOption: function( key, value ) { >- this._super( key, value ); >- >- if ( key === "handle" ) { >- this._setHandleClassName(); >- } >- }, >- >- _setHandleClassName: function() { >- var that = this; >- this._removeClass( this.element.find( ".ui-sortable-handle" ), "ui-sortable-handle" ); >- $.each( this.items, function() { >- that._addClass( >- this.instance.options.handle ? >- this.item.find( this.instance.options.handle ) : >- this.item, >- "ui-sortable-handle" >- ); >- } ); >- }, >- >- _destroy: function() { >- this._mouseDestroy(); >- >- for ( var i = this.items.length - 1; i >= 0; i-- ) { >- this.items[ i ].item.removeData( this.widgetName + "-item" ); >- } >- >- return this; >- }, >- >- _mouseCapture: function( event, overrideHandle ) { >- var currentItem = null, >- validHandle = false, >- that = this; >- >- if ( this.reverting ) { >- return false; >- } >- >- if ( this.options.disabled || this.options.type === "static" ) { >- return false; >- } >- >- //We have to refresh the items data once first >- this._refreshItems( event ); >- >- //Find out if the clicked node (or one of its parents) is a actual item in this.items >- $( event.target ).parents().each( function() { >- if ( $.data( this, that.widgetName + "-item" ) === that ) { >- currentItem = $( this ); >- return false; >- } >- } ); >- if ( $.data( event.target, that.widgetName + "-item" ) === that ) { >- currentItem = $( event.target ); >- } >- >- if ( !currentItem ) { >- return false; >- } >- if ( this.options.handle && !overrideHandle ) { >- $( this.options.handle, currentItem ).find( "*" ).addBack().each( function() { >- if ( this === event.target ) { >- validHandle = true; >- } >- } ); >- if ( !validHandle ) { >- return false; >- } >- } >- >- this.currentItem = currentItem; >- this._removeCurrentsFromItems(); >- return true; >- >- }, >- >- _mouseStart: function( event, overrideHandle, noActivation ) { >- >- var i, body, >- o = this.options; >- >- this.currentContainer = this; >- >- //We only need to call refreshPositions, because the refreshItems call has been moved to >- // mouseCapture >- this.refreshPositions(); >- >- //Create and append the visible helper >- this.helper = this._createHelper( event ); >- >- //Cache the helper size >- this._cacheHelperProportions(); >- >- /* >- * - Position generation - >- * This block generates everything position related - it's the core of draggables. >- */ >- >- //Cache the margins of the original element >- this._cacheMargins(); >- >- //Get the next scrolling parent >- this.scrollParent = this.helper.scrollParent(); >- >- //The element's absolute position on the page minus margins >- this.offset = this.currentItem.offset(); >- this.offset = { >- top: this.offset.top - this.margins.top, >- left: this.offset.left - this.margins.left >- }; >- >- $.extend( this.offset, { >- click: { //Where the click happened, relative to the element >- left: event.pageX - this.offset.left, >- top: event.pageY - this.offset.top >- }, >- parent: this._getParentOffset(), >- >- // This is a relative to absolute position minus the actual position calculation - >- // only used for relative positioned helper >- relative: this._getRelativeOffset() >- } ); >- >- // Only after we got the offset, we can change the helper's position to absolute >- // TODO: Still need to figure out a way to make relative sorting possible >- this.helper.css( "position", "absolute" ); >- this.cssPosition = this.helper.css( "position" ); >- >- //Generate the original position >- this.originalPosition = this._generatePosition( event ); >- this.originalPageX = event.pageX; >- this.originalPageY = event.pageY; >- >- //Adjust the mouse offset relative to the helper if "cursorAt" is supplied >- ( o.cursorAt && this._adjustOffsetFromHelper( o.cursorAt ) ); >- >- //Cache the former DOM position >- this.domPosition = { >- prev: this.currentItem.prev()[ 0 ], >- parent: this.currentItem.parent()[ 0 ] >- }; >- >- // If the helper is not the original, hide the original so it's not playing any role during >- // the drag, won't cause anything bad this way >- if ( this.helper[ 0 ] !== this.currentItem[ 0 ] ) { >- this.currentItem.hide(); >- } >- >- //Create the placeholder >- this._createPlaceholder(); >- >- //Set a containment if given in the options >- if ( o.containment ) { >- this._setContainment(); >- } >- >- if ( o.cursor && o.cursor !== "auto" ) { // cursor option >- body = this.document.find( "body" ); >- >- // Support: IE >- this.storedCursor = body.css( "cursor" ); >- body.css( "cursor", o.cursor ); >- >- this.storedStylesheet = >- $( "<style>*{ cursor: " + o.cursor + " !important; }</style>" ).appendTo( body ); >- } >- >- if ( o.opacity ) { // opacity option >- if ( this.helper.css( "opacity" ) ) { >- this._storedOpacity = this.helper.css( "opacity" ); >- } >- this.helper.css( "opacity", o.opacity ); >- } >- >- if ( o.zIndex ) { // zIndex option >- if ( this.helper.css( "zIndex" ) ) { >- this._storedZIndex = this.helper.css( "zIndex" ); >- } >- this.helper.css( "zIndex", o.zIndex ); >- } >- >- //Prepare scrolling >- if ( this.scrollParent[ 0 ] !== this.document[ 0 ] && >- this.scrollParent[ 0 ].tagName !== "HTML" ) { >- this.overflowOffset = this.scrollParent.offset(); >- } >- >- //Call callbacks >- this._trigger( "start", event, this._uiHash() ); >- >- //Recache the helper size >- if ( !this._preserveHelperProportions ) { >- this._cacheHelperProportions(); >- } >- >- //Post "activate" events to possible containers >- if ( !noActivation ) { >- for ( i = this.containers.length - 1; i >= 0; i-- ) { >- this.containers[ i ]._trigger( "activate", event, this._uiHash( this ) ); >- } >- } >- >- //Prepare possible droppables >- if ( $.ui.ddmanager ) { >- $.ui.ddmanager.current = this; >- } >- >- if ( $.ui.ddmanager && !o.dropBehaviour ) { >- $.ui.ddmanager.prepareOffsets( this, event ); >- } >- >- this.dragging = true; >- >- this._addClass( this.helper, "ui-sortable-helper" ); >- >- // Execute the drag once - this causes the helper not to be visiblebefore getting its >- // correct position >- this._mouseDrag( event ); >- return true; >- >- }, >- >- _mouseDrag: function( event ) { >- var i, item, itemElement, intersection, >- o = this.options, >- scrolled = false; >- >- //Compute the helpers position >- this.position = this._generatePosition( event ); >- this.positionAbs = this._convertPositionTo( "absolute" ); >- >- if ( !this.lastPositionAbs ) { >- this.lastPositionAbs = this.positionAbs; >- } >- >- //Do scrolling >- if ( this.options.scroll ) { >- if ( this.scrollParent[ 0 ] !== this.document[ 0 ] && >- this.scrollParent[ 0 ].tagName !== "HTML" ) { >- >- if ( ( this.overflowOffset.top + this.scrollParent[ 0 ].offsetHeight ) - >- event.pageY < o.scrollSensitivity ) { >- this.scrollParent[ 0 ].scrollTop = >- scrolled = this.scrollParent[ 0 ].scrollTop + o.scrollSpeed; >- } else if ( event.pageY - this.overflowOffset.top < o.scrollSensitivity ) { >- this.scrollParent[ 0 ].scrollTop = >- scrolled = this.scrollParent[ 0 ].scrollTop - o.scrollSpeed; >- } >- >- if ( ( this.overflowOffset.left + this.scrollParent[ 0 ].offsetWidth ) - >- event.pageX < o.scrollSensitivity ) { >- this.scrollParent[ 0 ].scrollLeft = scrolled = >- this.scrollParent[ 0 ].scrollLeft + o.scrollSpeed; >- } else if ( event.pageX - this.overflowOffset.left < o.scrollSensitivity ) { >- this.scrollParent[ 0 ].scrollLeft = scrolled = >- this.scrollParent[ 0 ].scrollLeft - o.scrollSpeed; >- } >- >- } else { >- >- if ( event.pageY - this.document.scrollTop() < o.scrollSensitivity ) { >- scrolled = this.document.scrollTop( this.document.scrollTop() - o.scrollSpeed ); >- } else if ( this.window.height() - ( event.pageY - this.document.scrollTop() ) < >- o.scrollSensitivity ) { >- scrolled = this.document.scrollTop( this.document.scrollTop() + o.scrollSpeed ); >- } >- >- if ( event.pageX - this.document.scrollLeft() < o.scrollSensitivity ) { >- scrolled = this.document.scrollLeft( >- this.document.scrollLeft() - o.scrollSpeed >- ); >- } else if ( this.window.width() - ( event.pageX - this.document.scrollLeft() ) < >- o.scrollSensitivity ) { >- scrolled = this.document.scrollLeft( >- this.document.scrollLeft() + o.scrollSpeed >- ); >- } >- >- } >- >- if ( scrolled !== false && $.ui.ddmanager && !o.dropBehaviour ) { >- $.ui.ddmanager.prepareOffsets( this, event ); >- } >- } >- >- //Regenerate the absolute position used for position checks >- this.positionAbs = this._convertPositionTo( "absolute" ); >- >- //Set the helper 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"; >- } >- >- //Rearrange >- for ( i = this.items.length - 1; i >= 0; i-- ) { >- >- //Cache variables and intersection, continue if no intersection >- item = this.items[ i ]; >- itemElement = item.item[ 0 ]; >- intersection = this._intersectsWithPointer( item ); >- if ( !intersection ) { >- continue; >- } >- >- // Only put the placeholder inside the current Container, skip all >- // items from other containers. This works because when moving >- // an item from one container to another the >- // currentContainer is switched before the placeholder is moved. >- // >- // Without this, moving items in "sub-sortables" can cause >- // the placeholder to jitter between the outer and inner container. >- if ( item.instance !== this.currentContainer ) { >- continue; >- } >- >- // Cannot intersect with itself >- // no useless actions that have been done before >- // no action if the item moved is the parent of the item checked >- if ( itemElement !== this.currentItem[ 0 ] && >- this.placeholder[ intersection === 1 ? "next" : "prev" ]()[ 0 ] !== itemElement && >- !$.contains( this.placeholder[ 0 ], itemElement ) && >- ( this.options.type === "semi-dynamic" ? >- !$.contains( this.element[ 0 ], itemElement ) : >- true >- ) >- ) { >- >- this.direction = intersection === 1 ? "down" : "up"; >- >- if ( this.options.tolerance === "pointer" || this._intersectsWithSides( item ) ) { >- this._rearrange( event, item ); >- } else { >- break; >- } >- >- this._trigger( "change", event, this._uiHash() ); >- break; >- } >- } >- >- //Post events to containers >- this._contactContainers( event ); >- >- //Interconnect with droppables >- if ( $.ui.ddmanager ) { >- $.ui.ddmanager.drag( this, event ); >- } >- >- //Call callbacks >- this._trigger( "sort", event, this._uiHash() ); >- >- this.lastPositionAbs = this.positionAbs; >- return false; >- >- }, >- >- _mouseStop: function( event, noPropagation ) { >- >- if ( !event ) { >- return; >- } >- >- //If we are using droppables, inform the manager about the drop >- if ( $.ui.ddmanager && !this.options.dropBehaviour ) { >- $.ui.ddmanager.drop( this, event ); >- } >- >- if ( this.options.revert ) { >- var that = this, >- cur = this.placeholder.offset(), >- axis = this.options.axis, >- animation = {}; >- >- if ( !axis || axis === "x" ) { >- animation.left = cur.left - this.offset.parent.left - this.margins.left + >- ( this.offsetParent[ 0 ] === this.document[ 0 ].body ? >- 0 : >- this.offsetParent[ 0 ].scrollLeft >- ); >- } >- if ( !axis || axis === "y" ) { >- animation.top = cur.top - this.offset.parent.top - this.margins.top + >- ( this.offsetParent[ 0 ] === this.document[ 0 ].body ? >- 0 : >- this.offsetParent[ 0 ].scrollTop >- ); >- } >- this.reverting = true; >- $( this.helper ).animate( >- animation, >- parseInt( this.options.revert, 10 ) || 500, >- function() { >- that._clear( event ); >- } >- ); >- } else { >- this._clear( event, noPropagation ); >- } >- >- return false; >- >- }, >- >- cancel: function() { >- >- if ( this.dragging ) { >- >- this._mouseUp( new $.Event( "mouseup", { target: null } ) ); >- >- if ( this.options.helper === "original" ) { >- this.currentItem.css( this._storedCSS ); >- this._removeClass( this.currentItem, "ui-sortable-helper" ); >- } else { >- this.currentItem.show(); >- } >- >- //Post deactivating events to containers >- for ( var i = this.containers.length - 1; i >= 0; i-- ) { >- this.containers[ i ]._trigger( "deactivate", null, this._uiHash( this ) ); >- if ( this.containers[ i ].containerCache.over ) { >- this.containers[ i ]._trigger( "out", null, this._uiHash( this ) ); >- this.containers[ i ].containerCache.over = 0; >- } >- } >- >- } >- >- if ( this.placeholder ) { >- >- //$(this.placeholder[0]).remove(); would have been the jQuery way - unfortunately, >- // it unbinds ALL events from the original node! >- if ( this.placeholder[ 0 ].parentNode ) { >- this.placeholder[ 0 ].parentNode.removeChild( this.placeholder[ 0 ] ); >- } >- if ( this.options.helper !== "original" && this.helper && >- this.helper[ 0 ].parentNode ) { >- this.helper.remove(); >- } >- >- $.extend( this, { >- helper: null, >- dragging: false, >- reverting: false, >- _noFinalSort: null >- } ); >- >- if ( this.domPosition.prev ) { >- $( this.domPosition.prev ).after( this.currentItem ); >- } else { >- $( this.domPosition.parent ).prepend( this.currentItem ); >- } >- } >- >- return this; >- >- }, >- >- serialize: function( o ) { >- >- var items = this._getItemsAsjQuery( o && o.connected ), >- str = []; >- o = o || {}; >- >- $( items ).each( function() { >- var res = ( $( o.item || this ).attr( o.attribute || "id" ) || "" ) >- .match( o.expression || ( /(.+)[\-=_](.+)/ ) ); >- if ( res ) { >- str.push( >- ( o.key || res[ 1 ] + "[]" ) + >- "=" + ( o.key && o.expression ? res[ 1 ] : res[ 2 ] ) ); >- } >- } ); >- >- if ( !str.length && o.key ) { >- str.push( o.key + "=" ); >- } >- >- return str.join( "&" ); >- >- }, >- >- toArray: function( o ) { >- >- var items = this._getItemsAsjQuery( o && o.connected ), >- ret = []; >- >- o = o || {}; >- >- items.each( function() { >- ret.push( $( o.item || this ).attr( o.attribute || "id" ) || "" ); >- } ); >- return ret; >- >- }, >- >- /* Be careful with the following core functions */ >- _intersectsWith: function( item ) { >- >- var x1 = this.positionAbs.left, >- x2 = x1 + this.helperProportions.width, >- y1 = this.positionAbs.top, >- y2 = y1 + this.helperProportions.height, >- l = item.left, >- r = l + item.width, >- t = item.top, >- b = t + item.height, >- dyClick = this.offset.click.top, >- dxClick = this.offset.click.left, >- isOverElementHeight = ( this.options.axis === "x" ) || ( ( y1 + dyClick ) > t && >- ( y1 + dyClick ) < b ), >- isOverElementWidth = ( this.options.axis === "y" ) || ( ( x1 + dxClick ) > l && >- ( x1 + dxClick ) < r ), >- isOverElement = isOverElementHeight && isOverElementWidth; >- >- if ( this.options.tolerance === "pointer" || >- this.options.forcePointerForContainers || >- ( this.options.tolerance !== "pointer" && >- this.helperProportions[ this.floating ? "width" : "height" ] > >- item[ this.floating ? "width" : "height" ] ) >- ) { >- return isOverElement; >- } else { >- >- return ( l < x1 + ( this.helperProportions.width / 2 ) && // Right Half >- x2 - ( this.helperProportions.width / 2 ) < r && // Left Half >- t < y1 + ( this.helperProportions.height / 2 ) && // Bottom Half >- y2 - ( this.helperProportions.height / 2 ) < b ); // Top Half >- >- } >- }, >- >- _intersectsWithPointer: function( item ) { >- var verticalDirection, horizontalDirection, >- isOverElementHeight = ( this.options.axis === "x" ) || >- this._isOverAxis( >- this.positionAbs.top + this.offset.click.top, item.top, item.height ), >- isOverElementWidth = ( this.options.axis === "y" ) || >- this._isOverAxis( >- this.positionAbs.left + this.offset.click.left, item.left, item.width ), >- isOverElement = isOverElementHeight && isOverElementWidth; >- >- if ( !isOverElement ) { >- return false; >- } >- >- verticalDirection = this._getDragVerticalDirection(); >- horizontalDirection = this._getDragHorizontalDirection(); >- >- return this.floating ? >- ( ( horizontalDirection === "right" || verticalDirection === "down" ) ? 2 : 1 ) >- : ( verticalDirection && ( verticalDirection === "down" ? 2 : 1 ) ); >- >- }, >- >- _intersectsWithSides: function( item ) { >- >- var isOverBottomHalf = this._isOverAxis( this.positionAbs.top + >- this.offset.click.top, item.top + ( item.height / 2 ), item.height ), >- isOverRightHalf = this._isOverAxis( this.positionAbs.left + >- this.offset.click.left, item.left + ( item.width / 2 ), item.width ), >- verticalDirection = this._getDragVerticalDirection(), >- horizontalDirection = this._getDragHorizontalDirection(); >- >- if ( this.floating && horizontalDirection ) { >- return ( ( horizontalDirection === "right" && isOverRightHalf ) || >- ( horizontalDirection === "left" && !isOverRightHalf ) ); >- } else { >- return verticalDirection && ( ( verticalDirection === "down" && isOverBottomHalf ) || >- ( verticalDirection === "up" && !isOverBottomHalf ) ); >- } >- >- }, >- >- _getDragVerticalDirection: function() { >- var delta = this.positionAbs.top - this.lastPositionAbs.top; >- return delta !== 0 && ( delta > 0 ? "down" : "up" ); >- }, >- >- _getDragHorizontalDirection: function() { >- var delta = this.positionAbs.left - this.lastPositionAbs.left; >- return delta !== 0 && ( delta > 0 ? "right" : "left" ); >- }, >- >- refresh: function( event ) { >- this._refreshItems( event ); >- this._setHandleClassName(); >- this.refreshPositions(); >- return this; >- }, >- >- _connectWith: function() { >- var options = this.options; >- return options.connectWith.constructor === String ? >- [ options.connectWith ] : >- options.connectWith; >- }, >- >- _getItemsAsjQuery: function( connected ) { >- >- var i, j, cur, inst, >- items = [], >- queries = [], >- connectWith = this._connectWith(); >- >- if ( connectWith && connected ) { >- for ( i = connectWith.length - 1; i >= 0; i-- ) { >- cur = $( connectWith[ i ], this.document[ 0 ] ); >- for ( j = cur.length - 1; j >= 0; j-- ) { >- inst = $.data( cur[ j ], this.widgetFullName ); >- if ( inst && inst !== this && !inst.options.disabled ) { >- queries.push( [ $.isFunction( inst.options.items ) ? >- inst.options.items.call( inst.element ) : >- $( inst.options.items, inst.element ) >- .not( ".ui-sortable-helper" ) >- .not( ".ui-sortable-placeholder" ), inst ] ); >- } >- } >- } >- } >- >- queries.push( [ $.isFunction( this.options.items ) ? >- this.options.items >- .call( this.element, null, { options: this.options, item: this.currentItem } ) : >- $( this.options.items, this.element ) >- .not( ".ui-sortable-helper" ) >- .not( ".ui-sortable-placeholder" ), this ] ); >- >- function addItems() { >- items.push( this ); >- } >- for ( i = queries.length - 1; i >= 0; i-- ) { >- queries[ i ][ 0 ].each( addItems ); >- } >- >- return $( items ); >- >- }, >- >- _removeCurrentsFromItems: function() { >- >- var list = this.currentItem.find( ":data(" + this.widgetName + "-item)" ); >- >- this.items = $.grep( this.items, function( item ) { >- for ( var j = 0; j < list.length; j++ ) { >- if ( list[ j ] === item.item[ 0 ] ) { >- return false; >- } >- } >- return true; >- } ); >- >- }, >- >- _refreshItems: function( event ) { >- >- this.items = []; >- this.containers = [ this ]; >- >- var i, j, cur, inst, targetData, _queries, item, queriesLength, >- items = this.items, >- queries = [ [ $.isFunction( this.options.items ) ? >- this.options.items.call( this.element[ 0 ], event, { item: this.currentItem } ) : >- $( this.options.items, this.element ), this ] ], >- connectWith = this._connectWith(); >- >- //Shouldn't be run the first time through due to massive slow-down >- if ( connectWith && this.ready ) { >- for ( i = connectWith.length - 1; i >= 0; i-- ) { >- cur = $( connectWith[ i ], this.document[ 0 ] ); >- for ( j = cur.length - 1; j >= 0; j-- ) { >- inst = $.data( cur[ j ], this.widgetFullName ); >- if ( inst && inst !== this && !inst.options.disabled ) { >- queries.push( [ $.isFunction( inst.options.items ) ? >- inst.options.items >- .call( inst.element[ 0 ], event, { item: this.currentItem } ) : >- $( inst.options.items, inst.element ), inst ] ); >- this.containers.push( inst ); >- } >- } >- } >- } >- >- for ( i = queries.length - 1; i >= 0; i-- ) { >- targetData = queries[ i ][ 1 ]; >- _queries = queries[ i ][ 0 ]; >- >- for ( j = 0, queriesLength = _queries.length; j < queriesLength; j++ ) { >- item = $( _queries[ j ] ); >- >- // Data for target checking (mouse manager) >- item.data( this.widgetName + "-item", targetData ); >- >- items.push( { >- item: item, >- instance: targetData, >- width: 0, height: 0, >- left: 0, top: 0 >- } ); >- } >- } >- >- }, >- >- refreshPositions: function( fast ) { >- >- // Determine whether items are being displayed horizontally >- this.floating = this.items.length ? >- this.options.axis === "x" || this._isFloating( this.items[ 0 ].item ) : >- false; >- >- //This has to be redone because due to the item being moved out/into the offsetParent, >- // the offsetParent's position will change >- if ( this.offsetParent && this.helper ) { >- this.offset.parent = this._getParentOffset(); >- } >- >- var i, item, t, p; >- >- for ( i = this.items.length - 1; i >= 0; i-- ) { >- item = this.items[ i ]; >- >- //We ignore calculating positions of all connected containers when we're not over them >- if ( item.instance !== this.currentContainer && this.currentContainer && >- item.item[ 0 ] !== this.currentItem[ 0 ] ) { >- continue; >- } >- >- t = this.options.toleranceElement ? >- $( this.options.toleranceElement, item.item ) : >- item.item; >- >- if ( !fast ) { >- item.width = t.outerWidth(); >- item.height = t.outerHeight(); >- } >- >- p = t.offset(); >- item.left = p.left; >- item.top = p.top; >- } >- >- if ( this.options.custom && this.options.custom.refreshContainers ) { >- this.options.custom.refreshContainers.call( this ); >- } else { >- for ( i = this.containers.length - 1; i >= 0; i-- ) { >- p = this.containers[ i ].element.offset(); >- this.containers[ i ].containerCache.left = p.left; >- this.containers[ i ].containerCache.top = p.top; >- this.containers[ i ].containerCache.width = >- this.containers[ i ].element.outerWidth(); >- this.containers[ i ].containerCache.height = >- this.containers[ i ].element.outerHeight(); >- } >- } >- >- return this; >- }, >- >- _createPlaceholder: function( that ) { >- that = that || this; >- var className, >- o = that.options; >- >- if ( !o.placeholder || o.placeholder.constructor === String ) { >- className = o.placeholder; >- o.placeholder = { >- element: function() { >- >- var nodeName = that.currentItem[ 0 ].nodeName.toLowerCase(), >- element = $( "<" + nodeName + ">", that.document[ 0 ] ); >- >- that._addClass( element, "ui-sortable-placeholder", >- className || that.currentItem[ 0 ].className ) >- ._removeClass( element, "ui-sortable-helper" ); >- >- if ( nodeName === "tbody" ) { >- that._createTrPlaceholder( >- that.currentItem.find( "tr" ).eq( 0 ), >- $( "<tr>", that.document[ 0 ] ).appendTo( element ) >- ); >- } else if ( nodeName === "tr" ) { >- that._createTrPlaceholder( that.currentItem, element ); >- } else if ( nodeName === "img" ) { >- element.attr( "src", that.currentItem.attr( "src" ) ); >- } >- >- if ( !className ) { >- element.css( "visibility", "hidden" ); >- } >- >- return element; >- }, >- update: function( container, p ) { >- >- // 1. If a className is set as 'placeholder option, we don't force sizes - >- // the class is responsible for that >- // 2. The option 'forcePlaceholderSize can be enabled to force it even if a >- // class name is specified >- if ( className && !o.forcePlaceholderSize ) { >- return; >- } >- >- //If the element doesn't have a actual height by itself (without styles coming >- // from a stylesheet), it receives the inline height from the dragged item >- if ( !p.height() ) { >- p.height( >- that.currentItem.innerHeight() - >- parseInt( that.currentItem.css( "paddingTop" ) || 0, 10 ) - >- parseInt( that.currentItem.css( "paddingBottom" ) || 0, 10 ) ); >- } >- if ( !p.width() ) { >- p.width( >- that.currentItem.innerWidth() - >- parseInt( that.currentItem.css( "paddingLeft" ) || 0, 10 ) - >- parseInt( that.currentItem.css( "paddingRight" ) || 0, 10 ) ); >- } >- } >- }; >- } >- >- //Create the placeholder >- that.placeholder = $( o.placeholder.element.call( that.element, that.currentItem ) ); >- >- //Append it after the actual current item >- that.currentItem.after( that.placeholder ); >- >- //Update the size of the placeholder (TODO: Logic to fuzzy, see line 316/317) >- o.placeholder.update( that, that.placeholder ); >- >- }, >- >- _createTrPlaceholder: function( sourceTr, targetTr ) { >- var that = this; >- >- sourceTr.children().each( function() { >- $( "<td> </td>", that.document[ 0 ] ) >- .attr( "colspan", $( this ).attr( "colspan" ) || 1 ) >- .appendTo( targetTr ); >- } ); >- }, >- >- _contactContainers: function( event ) { >- var i, j, dist, itemWithLeastDistance, posProperty, sizeProperty, cur, nearBottom, >- floating, axis, >- innermostContainer = null, >- innermostIndex = null; >- >- // Get innermost container that intersects with item >- for ( i = this.containers.length - 1; i >= 0; i-- ) { >- >- // Never consider a container that's located within the item itself >- if ( $.contains( this.currentItem[ 0 ], this.containers[ i ].element[ 0 ] ) ) { >- continue; >- } >- >- if ( this._intersectsWith( this.containers[ i ].containerCache ) ) { >- >- // If we've already found a container and it's more "inner" than this, then continue >- if ( innermostContainer && >- $.contains( >- this.containers[ i ].element[ 0 ], >- innermostContainer.element[ 0 ] ) ) { >- continue; >- } >- >- innermostContainer = this.containers[ i ]; >- innermostIndex = i; >- >- } else { >- >- // container doesn't intersect. trigger "out" event if necessary >- if ( this.containers[ i ].containerCache.over ) { >- this.containers[ i ]._trigger( "out", event, this._uiHash( this ) ); >- this.containers[ i ].containerCache.over = 0; >- } >- } >- >- } >- >- // If no intersecting containers found, return >- if ( !innermostContainer ) { >- return; >- } >- >- // Move the item into the container if it's not there already >- if ( this.containers.length === 1 ) { >- if ( !this.containers[ innermostIndex ].containerCache.over ) { >- this.containers[ innermostIndex ]._trigger( "over", event, this._uiHash( this ) ); >- this.containers[ innermostIndex ].containerCache.over = 1; >- } >- } else { >- >- // When entering a new container, we will find the item with the least distance and >- // append our item near it >- dist = 10000; >- itemWithLeastDistance = null; >- floating = innermostContainer.floating || this._isFloating( this.currentItem ); >- posProperty = floating ? "left" : "top"; >- sizeProperty = floating ? "width" : "height"; >- axis = floating ? "pageX" : "pageY"; >- >- for ( j = this.items.length - 1; j >= 0; j-- ) { >- if ( !$.contains( >- this.containers[ innermostIndex ].element[ 0 ], this.items[ j ].item[ 0 ] ) >- ) { >- continue; >- } >- if ( this.items[ j ].item[ 0 ] === this.currentItem[ 0 ] ) { >- continue; >- } >- >- cur = this.items[ j ].item.offset()[ posProperty ]; >- nearBottom = false; >- if ( event[ axis ] - cur > this.items[ j ][ sizeProperty ] / 2 ) { >- nearBottom = true; >- } >- >- if ( Math.abs( event[ axis ] - cur ) < dist ) { >- dist = Math.abs( event[ axis ] - cur ); >- itemWithLeastDistance = this.items[ j ]; >- this.direction = nearBottom ? "up" : "down"; >- } >- } >- >- //Check if dropOnEmpty is enabled >- if ( !itemWithLeastDistance && !this.options.dropOnEmpty ) { >- return; >- } >- >- if ( this.currentContainer === this.containers[ innermostIndex ] ) { >- if ( !this.currentContainer.containerCache.over ) { >- this.containers[ innermostIndex ]._trigger( "over", event, this._uiHash() ); >- this.currentContainer.containerCache.over = 1; >- } >- return; >- } >- >- itemWithLeastDistance ? >- this._rearrange( event, itemWithLeastDistance, null, true ) : >- this._rearrange( event, null, this.containers[ innermostIndex ].element, true ); >- this._trigger( "change", event, this._uiHash() ); >- this.containers[ innermostIndex ]._trigger( "change", event, this._uiHash( this ) ); >- this.currentContainer = this.containers[ innermostIndex ]; >- >- //Update the placeholder >- this.options.placeholder.update( this.currentContainer, this.placeholder ); >- >- this.containers[ innermostIndex ]._trigger( "over", event, this._uiHash( this ) ); >- this.containers[ innermostIndex ].containerCache.over = 1; >- } >- >- }, >- >- _createHelper: function( event ) { >- >- var o = this.options, >- helper = $.isFunction( o.helper ) ? >- $( o.helper.apply( this.element[ 0 ], [ event, this.currentItem ] ) ) : >- ( o.helper === "clone" ? this.currentItem.clone() : this.currentItem ); >- >- //Add the helper to the DOM if that didn't happen already >- if ( !helper.parents( "body" ).length ) { >- $( o.appendTo !== "parent" ? >- o.appendTo : >- this.currentItem[ 0 ].parentNode )[ 0 ].appendChild( helper[ 0 ] ); >- } >- >- if ( helper[ 0 ] === this.currentItem[ 0 ] ) { >- this._storedCSS = { >- width: this.currentItem[ 0 ].style.width, >- height: this.currentItem[ 0 ].style.height, >- position: this.currentItem.css( "position" ), >- top: this.currentItem.css( "top" ), >- left: this.currentItem.css( "left" ) >- }; >- } >- >- if ( !helper[ 0 ].style.width || o.forceHelperSize ) { >- helper.width( this.currentItem.width() ); >- } >- if ( !helper[ 0 ].style.height || o.forceHelperSize ) { >- helper.height( this.currentItem.height() ); >- } >- >- return helper; >- >- }, >- >- _adjustOffsetFromHelper: function( obj ) { >- if ( typeof obj === "string" ) { >- obj = obj.split( " " ); >- } >- if ( $.isArray( obj ) ) { >- obj = { left: +obj[ 0 ], top: +obj[ 1 ] || 0 }; >- } >- if ( "left" in obj ) { >- this.offset.click.left = obj.left + this.margins.left; >- } >- if ( "right" in obj ) { >- this.offset.click.left = this.helperProportions.width - obj.right + this.margins.left; >- } >- if ( "top" in obj ) { >- this.offset.click.top = obj.top + this.margins.top; >- } >- if ( "bottom" in obj ) { >- this.offset.click.top = this.helperProportions.height - obj.bottom + this.margins.top; >- } >- }, >- >- _getParentOffset: function() { >- >- //Get the offsetParent and cache its position >- this.offsetParent = this.helper.offsetParent(); >- var po = this.offsetParent.offset(); >- >- // This is a special case where we need to modify a offset calculated on start, since the >- // following happened: >- // 1. The position of the helper is absolute, so it's position is calculated based on the >- // next positioned parent >- // 2. The actual offset parent is a child of the scroll parent, and the scroll parent isn't >- // the document, which means that the scroll is included in the initial calculation of the >- // offset of the parent, and never recalculated upon drag >- if ( this.cssPosition === "absolute" && this.scrollParent[ 0 ] !== this.document[ 0 ] && >- $.contains( this.scrollParent[ 0 ], this.offsetParent[ 0 ] ) ) { >- po.left += this.scrollParent.scrollLeft(); >- po.top += this.scrollParent.scrollTop(); >- } >- >- // This needs to be actually done for all browsers, since pageX/pageY includes this >- // information with an ugly IE fix >- if ( this.offsetParent[ 0 ] === this.document[ 0 ].body || >- ( this.offsetParent[ 0 ].tagName && >- this.offsetParent[ 0 ].tagName.toLowerCase() === "html" && $.ui.ie ) ) { >- po = { top: 0, left: 0 }; >- } >- >- return { >- top: po.top + ( parseInt( this.offsetParent.css( "borderTopWidth" ), 10 ) || 0 ), >- left: po.left + ( parseInt( this.offsetParent.css( "borderLeftWidth" ), 10 ) || 0 ) >- }; >- >- }, >- >- _getRelativeOffset: function() { >- >- if ( this.cssPosition === "relative" ) { >- var p = this.currentItem.position(); >- return { >- top: p.top - ( parseInt( this.helper.css( "top" ), 10 ) || 0 ) + >- this.scrollParent.scrollTop(), >- left: p.left - ( parseInt( this.helper.css( "left" ), 10 ) || 0 ) + >- this.scrollParent.scrollLeft() >- }; >- } else { >- return { top: 0, left: 0 }; >- } >- >- }, >- >- _cacheMargins: function() { >- this.margins = { >- left: ( parseInt( this.currentItem.css( "marginLeft" ), 10 ) || 0 ), >- top: ( parseInt( this.currentItem.css( "marginTop" ), 10 ) || 0 ) >- }; >- }, >- >- _cacheHelperProportions: function() { >- this.helperProportions = { >- width: this.helper.outerWidth(), >- height: this.helper.outerHeight() >- }; >- }, >- >- _setContainment: function() { >- >- var ce, co, over, >- o = this.options; >- if ( o.containment === "parent" ) { >- o.containment = this.helper[ 0 ].parentNode; >- } >- if ( o.containment === "document" || o.containment === "window" ) { >- this.containment = [ >- 0 - this.offset.relative.left - this.offset.parent.left, >- 0 - this.offset.relative.top - this.offset.parent.top, >- o.containment === "document" ? >- this.document.width() : >- this.window.width() - this.helperProportions.width - this.margins.left, >- ( o.containment === "document" ? >- ( this.document.height() || document.body.parentNode.scrollHeight ) : >- this.window.height() || this.document[ 0 ].body.parentNode.scrollHeight >- ) - this.helperProportions.height - this.margins.top >- ]; >- } >- >- if ( !( /^(document|window|parent)$/ ).test( o.containment ) ) { >- ce = $( o.containment )[ 0 ]; >- co = $( o.containment ).offset(); >- over = ( $( ce ).css( "overflow" ) !== "hidden" ); >- >- this.containment = [ >- co.left + ( parseInt( $( ce ).css( "borderLeftWidth" ), 10 ) || 0 ) + >- ( parseInt( $( ce ).css( "paddingLeft" ), 10 ) || 0 ) - this.margins.left, >- co.top + ( parseInt( $( ce ).css( "borderTopWidth" ), 10 ) || 0 ) + >- ( parseInt( $( ce ).css( "paddingTop" ), 10 ) || 0 ) - this.margins.top, >- co.left + ( over ? Math.max( ce.scrollWidth, ce.offsetWidth ) : ce.offsetWidth ) - >- ( parseInt( $( ce ).css( "borderLeftWidth" ), 10 ) || 0 ) - >- ( parseInt( $( ce ).css( "paddingRight" ), 10 ) || 0 ) - >- this.helperProportions.width - this.margins.left, >- co.top + ( over ? Math.max( ce.scrollHeight, ce.offsetHeight ) : ce.offsetHeight ) - >- ( parseInt( $( ce ).css( "borderTopWidth" ), 10 ) || 0 ) - >- ( parseInt( $( ce ).css( "paddingBottom" ), 10 ) || 0 ) - >- this.helperProportions.height - this.margins.top >- ]; >- } >- >- }, >- >- _convertPositionTo: function( d, pos ) { >- >- if ( !pos ) { >- pos = this.position; >- } >- var mod = d === "absolute" ? 1 : -1, >- scroll = this.cssPosition === "absolute" && >- !( this.scrollParent[ 0 ] !== this.document[ 0 ] && >- $.contains( this.scrollParent[ 0 ], this.offsetParent[ 0 ] ) ) ? >- this.offsetParent : >- this.scrollParent, >- scrollIsRootNode = ( /(html|body)/i ).test( scroll[ 0 ].tagName ); >- >- return { >- top: ( >- >- // The absolute mouse position >- pos.top + >- >- // Only for relative positioned nodes: Relative offset from element to offset parent >- this.offset.relative.top * mod + >- >- // The offsetParent's offset without borders (offset + border) >- this.offset.parent.top * mod - >- ( ( this.cssPosition === "fixed" ? >- -this.scrollParent.scrollTop() : >- ( scrollIsRootNode ? 0 : scroll.scrollTop() ) ) * mod ) >- ), >- left: ( >- >- // The absolute mouse position >- pos.left + >- >- // Only for relative positioned nodes: Relative offset from element to offset parent >- this.offset.relative.left * mod + >- >- // The offsetParent's offset without borders (offset + border) >- this.offset.parent.left * mod - >- ( ( this.cssPosition === "fixed" ? >- -this.scrollParent.scrollLeft() : scrollIsRootNode ? 0 : >- scroll.scrollLeft() ) * mod ) >- ) >- }; >- >- }, >- >- _generatePosition: function( event ) { >- >- var top, left, >- o = this.options, >- pageX = event.pageX, >- pageY = event.pageY, >- scroll = this.cssPosition === "absolute" && >- !( this.scrollParent[ 0 ] !== this.document[ 0 ] && >- $.contains( this.scrollParent[ 0 ], this.offsetParent[ 0 ] ) ) ? >- this.offsetParent : >- this.scrollParent, >- scrollIsRootNode = ( /(html|body)/i ).test( scroll[ 0 ].tagName ); >- >- // This is another very weird special case that only happens for relative elements: >- // 1. If the css position is relative >- // 2. and the scroll parent is the document or similar to the offset parent >- // we have to refresh the relative offset during the scroll so there are no jumps >- if ( this.cssPosition === "relative" && !( this.scrollParent[ 0 ] !== this.document[ 0 ] && >- this.scrollParent[ 0 ] !== this.offsetParent[ 0 ] ) ) { >- this.offset.relative = this._getRelativeOffset(); >- } >- >- /* >- * - Position constraining - >- * Constrain the position to a mix of grid, containment. >- */ >- >- if ( this.originalPosition ) { //If we are not dragging yet, we won't check for options >- >- if ( this.containment ) { >- if ( event.pageX - this.offset.click.left < this.containment[ 0 ] ) { >- pageX = this.containment[ 0 ] + this.offset.click.left; >- } >- if ( event.pageY - this.offset.click.top < this.containment[ 1 ] ) { >- pageY = this.containment[ 1 ] + this.offset.click.top; >- } >- if ( event.pageX - this.offset.click.left > this.containment[ 2 ] ) { >- pageX = this.containment[ 2 ] + this.offset.click.left; >- } >- if ( event.pageY - this.offset.click.top > this.containment[ 3 ] ) { >- pageY = this.containment[ 3 ] + this.offset.click.top; >- } >- } >- >- if ( o.grid ) { >- top = this.originalPageY + Math.round( ( pageY - this.originalPageY ) / >- o.grid[ 1 ] ) * o.grid[ 1 ]; >- pageY = this.containment ? >- ( ( top - this.offset.click.top >= this.containment[ 1 ] && >- top - this.offset.click.top <= this.containment[ 3 ] ) ? >- top : >- ( ( top - this.offset.click.top >= this.containment[ 1 ] ) ? >- top - o.grid[ 1 ] : top + o.grid[ 1 ] ) ) : >- top; >- >- left = this.originalPageX + Math.round( ( pageX - this.originalPageX ) / >- o.grid[ 0 ] ) * o.grid[ 0 ]; >- pageX = this.containment ? >- ( ( left - this.offset.click.left >= this.containment[ 0 ] && >- left - this.offset.click.left <= this.containment[ 2 ] ) ? >- left : >- ( ( left - this.offset.click.left >= this.containment[ 0 ] ) ? >- left - o.grid[ 0 ] : left + o.grid[ 0 ] ) ) : >- left; >- } >- >- } >- >- return { >- top: ( >- >- // The absolute mouse position >- pageY - >- >- // Click offset (relative to the element) >- this.offset.click.top - >- >- // Only for relative positioned nodes: Relative offset from element to offset parent >- this.offset.relative.top - >- >- // The offsetParent's offset without borders (offset + border) >- this.offset.parent.top + >- ( ( this.cssPosition === "fixed" ? >- -this.scrollParent.scrollTop() : >- ( scrollIsRootNode ? 0 : scroll.scrollTop() ) ) ) >- ), >- left: ( >- >- // The absolute mouse position >- pageX - >- >- // Click offset (relative to the element) >- this.offset.click.left - >- >- // Only for relative positioned nodes: Relative offset from element to offset parent >- this.offset.relative.left - >- >- // The offsetParent's offset without borders (offset + border) >- this.offset.parent.left + >- ( ( this.cssPosition === "fixed" ? >- -this.scrollParent.scrollLeft() : >- scrollIsRootNode ? 0 : scroll.scrollLeft() ) ) >- ) >- }; >- >- }, >- >- _rearrange: function( event, i, a, hardRefresh ) { >- >- a ? a[ 0 ].appendChild( this.placeholder[ 0 ] ) : >- i.item[ 0 ].parentNode.insertBefore( this.placeholder[ 0 ], >- ( this.direction === "down" ? i.item[ 0 ] : i.item[ 0 ].nextSibling ) ); >- >- //Various things done here to improve the performance: >- // 1. we create a setTimeout, that calls refreshPositions >- // 2. on the instance, we have a counter variable, that get's higher after every append >- // 3. on the local scope, we copy the counter variable, and check in the timeout, >- // if it's still the same >- // 4. this lets only the last addition to the timeout stack through >- this.counter = this.counter ? ++this.counter : 1; >- var counter = this.counter; >- >- this._delay( function() { >- if ( counter === this.counter ) { >- >- //Precompute after each DOM insertion, NOT on mousemove >- this.refreshPositions( !hardRefresh ); >- } >- } ); >- >- }, >- >- _clear: function( event, noPropagation ) { >- >- this.reverting = false; >- >- // We delay all events that have to be triggered to after the point where the placeholder >- // has been removed and everything else normalized again >- var i, >- delayedTriggers = []; >- >- // We first have to update the dom position of the actual currentItem >- // Note: don't do it if the current item is already removed (by a user), or it gets >- // reappended (see #4088) >- if ( !this._noFinalSort && this.currentItem.parent().length ) { >- this.placeholder.before( this.currentItem ); >- } >- this._noFinalSort = null; >- >- if ( this.helper[ 0 ] === this.currentItem[ 0 ] ) { >- for ( i in this._storedCSS ) { >- if ( this._storedCSS[ i ] === "auto" || this._storedCSS[ i ] === "static" ) { >- this._storedCSS[ i ] = ""; >- } >- } >- this.currentItem.css( this._storedCSS ); >- this._removeClass( this.currentItem, "ui-sortable-helper" ); >- } else { >- this.currentItem.show(); >- } >- >- if ( this.fromOutside && !noPropagation ) { >- delayedTriggers.push( function( event ) { >- this._trigger( "receive", event, this._uiHash( this.fromOutside ) ); >- } ); >- } >- if ( ( this.fromOutside || >- this.domPosition.prev !== >- this.currentItem.prev().not( ".ui-sortable-helper" )[ 0 ] || >- this.domPosition.parent !== this.currentItem.parent()[ 0 ] ) && !noPropagation ) { >- >- // Trigger update callback if the DOM position has changed >- delayedTriggers.push( function( event ) { >- this._trigger( "update", event, this._uiHash() ); >- } ); >- } >- >- // Check if the items Container has Changed and trigger appropriate >- // events. >- if ( this !== this.currentContainer ) { >- if ( !noPropagation ) { >- delayedTriggers.push( function( event ) { >- this._trigger( "remove", event, this._uiHash() ); >- } ); >- delayedTriggers.push( ( function( c ) { >- return function( event ) { >- c._trigger( "receive", event, this._uiHash( this ) ); >- }; >- } ).call( this, this.currentContainer ) ); >- delayedTriggers.push( ( function( c ) { >- return function( event ) { >- c._trigger( "update", event, this._uiHash( this ) ); >- }; >- } ).call( this, this.currentContainer ) ); >- } >- } >- >- //Post events to containers >- function delayEvent( type, instance, container ) { >- return function( event ) { >- container._trigger( type, event, instance._uiHash( instance ) ); >- }; >- } >- for ( i = this.containers.length - 1; i >= 0; i-- ) { >- if ( !noPropagation ) { >- delayedTriggers.push( delayEvent( "deactivate", this, this.containers[ i ] ) ); >- } >- if ( this.containers[ i ].containerCache.over ) { >- delayedTriggers.push( delayEvent( "out", this, this.containers[ i ] ) ); >- this.containers[ i ].containerCache.over = 0; >- } >- } >- >- //Do what was originally in plugins >- if ( this.storedCursor ) { >- this.document.find( "body" ).css( "cursor", this.storedCursor ); >- this.storedStylesheet.remove(); >- } >- if ( this._storedOpacity ) { >- this.helper.css( "opacity", this._storedOpacity ); >- } >- if ( this._storedZIndex ) { >- this.helper.css( "zIndex", this._storedZIndex === "auto" ? "" : this._storedZIndex ); >- } >- >- this.dragging = false; >- >- if ( !noPropagation ) { >- this._trigger( "beforeStop", event, this._uiHash() ); >- } >- >- //$(this.placeholder[0]).remove(); would have been the jQuery way - unfortunately, >- // it unbinds ALL events from the original node! >- this.placeholder[ 0 ].parentNode.removeChild( this.placeholder[ 0 ] ); >- >- if ( !this.cancelHelperRemoval ) { >- if ( this.helper[ 0 ] !== this.currentItem[ 0 ] ) { >- this.helper.remove(); >- } >- this.helper = null; >- } >- >- if ( !noPropagation ) { >- for ( i = 0; i < delayedTriggers.length; i++ ) { >- >- // Trigger all delayed events >- delayedTriggers[ i ].call( this, event ); >- } >- this._trigger( "stop", event, this._uiHash() ); >- } >- >- this.fromOutside = false; >- return !this.cancelHelperRemoval; >- >- }, >- >- _trigger: function() { >- if ( $.Widget.prototype._trigger.apply( this, arguments ) === false ) { >- this.cancel(); >- } >- }, >- >- _uiHash: function( _inst ) { >- var inst = _inst || this; >- return { >- helper: inst.helper, >- placeholder: inst.placeholder || $( [] ), >- position: inst.position, >- originalPosition: inst.originalPosition, >- offset: inst.positionAbs, >- item: inst.currentItem, >- sender: _inst ? _inst.element : null >- }; >- } >- >-} ); >- >- >- >-var safeActiveElement = $.ui.safeActiveElement = function( document ) { >- var activeElement; >- >- // Support: IE 9 only >- // IE9 throws an "Unspecified error" accessing document.activeElement from an <iframe> >- try { >- activeElement = document.activeElement; >- } catch ( error ) { >- activeElement = document.body; >- } >- >- // Support: IE 9 - 11 only >- // IE may return null instead of an element >- // Interestingly, this only seems to occur when NOT in an iframe >- if ( !activeElement ) { >- activeElement = document.body; >- } >- >- // Support: IE 11 only >- // IE11 returns a seemingly empty object in some cases when accessing >- // document.activeElement from an <iframe> >- if ( !activeElement.nodeName ) { >- activeElement = document.body; >- } >- >- return activeElement; >-}; >- >- >-/*! >- * jQuery UI Menu 1.12.1 >- * http://jqueryui.com >- * >- * Copyright jQuery Foundation and other contributors >- * Released under the MIT license. >- * http://jquery.org/license >- */ >- >-//>>label: Menu >-//>>group: Widgets >-//>>description: Creates nestable menus. >-//>>docs: http://api.jqueryui.com/menu/ >-//>>demos: http://jqueryui.com/menu/ >-//>>css.structure: ../../themes/base/core.css >-//>>css.structure: ../../themes/base/menu.css >-//>>css.theme: ../../themes/base/theme.css >- >- >- >-var widgetsMenu = $.widget( "ui.menu", { >- version: "1.12.1", >- defaultElement: "<ul>", >- delay: 300, >- options: { >- icons: { >- submenu: "ui-icon-caret-1-e" >- }, >- items: "> *", >- menus: "ul", >- position: { >- my: "left top", >- at: "right top" >- }, >- role: "menu", >- >- // Callbacks >- blur: null, >- focus: null, >- select: null >- }, >- >- _create: function() { >- this.activeMenu = this.element; >- >- // Flag used to prevent firing of the click handler >- // as the event bubbles up through nested menus >- this.mouseHandled = false; >- this.element >- .uniqueId() >- .attr( { >- role: this.options.role, >- tabIndex: 0 >- } ); >- >- this._addClass( "ui-menu", "ui-widget ui-widget-content" ); >- this._on( { >- >- // Prevent focus from sticking to links inside menu after clicking >- // them (focus should always stay on UL during navigation). >- "mousedown .ui-menu-item": function( event ) { >- event.preventDefault(); >- }, >- "click .ui-menu-item": function( event ) { >- var target = $( event.target ); >- var active = $( $.ui.safeActiveElement( this.document[ 0 ] ) ); >- if ( !this.mouseHandled && target.not( ".ui-state-disabled" ).length ) { >- this.select( event ); >- >- // Only set the mouseHandled flag if the event will bubble, see #9469. >- if ( !event.isPropagationStopped() ) { >- this.mouseHandled = true; >- } >- >- // Open submenu on click >- if ( target.has( ".ui-menu" ).length ) { >- this.expand( event ); >- } else if ( !this.element.is( ":focus" ) && >- active.closest( ".ui-menu" ).length ) { >- >- // Redirect focus to the menu >- this.element.trigger( "focus", [ true ] ); >- >- // If the active item is on the top level, let it stay active. >- // Otherwise, blur the active item since it is no longer visible. >- if ( this.active && this.active.parents( ".ui-menu" ).length === 1 ) { >- clearTimeout( this.timer ); >- } >- } >- } >- }, >- "mouseenter .ui-menu-item": function( event ) { >- >- // Ignore mouse events while typeahead is active, see #10458. >- // Prevents focusing the wrong item when typeahead causes a scroll while the mouse >- // is over an item in the menu >- if ( this.previousFilter ) { >- return; >- } >- >- var actualTarget = $( event.target ).closest( ".ui-menu-item" ), >- target = $( event.currentTarget ); >- >- // Ignore bubbled events on parent items, see #11641 >- if ( actualTarget[ 0 ] !== target[ 0 ] ) { >- return; >- } >- >- // Remove ui-state-active class from siblings of the newly focused menu item >- // to avoid a jump caused by adjacent elements both having a class with a border >- this._removeClass( target.siblings().children( ".ui-state-active" ), >- null, "ui-state-active" ); >- this.focus( event, target ); >- }, >- mouseleave: "collapseAll", >- "mouseleave .ui-menu": "collapseAll", >- focus: function( event, keepActiveItem ) { >- >- // If there's already an active item, keep it active >- // If not, activate the first item >- var item = this.active || this.element.find( this.options.items ).eq( 0 ); >- >- if ( !keepActiveItem ) { >- this.focus( event, item ); >- } >- }, >- blur: function( event ) { >- this._delay( function() { >- var notContained = !$.contains( >- this.element[ 0 ], >- $.ui.safeActiveElement( this.document[ 0 ] ) >- ); >- if ( notContained ) { >- this.collapseAll( event ); >- } >- } ); >- }, >- keydown: "_keydown" >- } ); >- >- this.refresh(); >- >- // Clicks outside of a menu collapse any open menus >- this._on( this.document, { >- click: function( event ) { >- if ( this._closeOnDocumentClick( event ) ) { >- this.collapseAll( event ); >- } >- >- // Reset the mouseHandled flag >- this.mouseHandled = false; >- } >- } ); >- }, >- >- _destroy: function() { >- var items = this.element.find( ".ui-menu-item" ) >- .removeAttr( "role aria-disabled" ), >- submenus = items.children( ".ui-menu-item-wrapper" ) >- .removeUniqueId() >- .removeAttr( "tabIndex role aria-haspopup" ); >- >- // Destroy (sub)menus >- this.element >- .removeAttr( "aria-activedescendant" ) >- .find( ".ui-menu" ).addBack() >- .removeAttr( "role aria-labelledby aria-expanded aria-hidden aria-disabled " + >- "tabIndex" ) >- .removeUniqueId() >- .show(); >- >- submenus.children().each( function() { >- var elem = $( this ); >- if ( elem.data( "ui-menu-submenu-caret" ) ) { >- elem.remove(); >- } >- } ); >- }, >- >- _keydown: function( event ) { >- var match, prev, character, skip, >- preventDefault = true; >- >- switch ( event.keyCode ) { >- case $.ui.keyCode.PAGE_UP: >- this.previousPage( event ); >- break; >- case $.ui.keyCode.PAGE_DOWN: >- this.nextPage( event ); >- break; >- case $.ui.keyCode.HOME: >- this._move( "first", "first", event ); >- break; >- case $.ui.keyCode.END: >- this._move( "last", "last", event ); >- break; >- case $.ui.keyCode.UP: >- this.previous( event ); >- break; >- case $.ui.keyCode.DOWN: >- this.next( event ); >- break; >- case $.ui.keyCode.LEFT: >- this.collapse( event ); >- break; >- case $.ui.keyCode.RIGHT: >- if ( this.active && !this.active.is( ".ui-state-disabled" ) ) { >- this.expand( event ); >- } >- break; >- case $.ui.keyCode.ENTER: >- case $.ui.keyCode.SPACE: >- this._activate( event ); >- break; >- case $.ui.keyCode.ESCAPE: >- this.collapse( event ); >- break; >- default: >- preventDefault = false; >- prev = this.previousFilter || ""; >- skip = false; >- >- // Support number pad values >- character = event.keyCode >= 96 && event.keyCode <= 105 ? >- ( event.keyCode - 96 ).toString() : String.fromCharCode( event.keyCode ); >- >- clearTimeout( this.filterTimer ); >- >- if ( character === prev ) { >- skip = true; >- } else { >- character = prev + character; >- } >- >- match = this._filterMenuItems( character ); >- match = skip && match.index( this.active.next() ) !== -1 ? >- this.active.nextAll( ".ui-menu-item" ) : >- match; >- >- // If no matches on the current filter, reset to the last character pressed >- // to move down the menu to the first item that starts with that character >- if ( !match.length ) { >- character = String.fromCharCode( event.keyCode ); >- match = this._filterMenuItems( character ); >- } >- >- if ( match.length ) { >- this.focus( event, match ); >- this.previousFilter = character; >- this.filterTimer = this._delay( function() { >- delete this.previousFilter; >- }, 1000 ); >- } else { >- delete this.previousFilter; >- } >- } >- >- if ( preventDefault ) { >- event.preventDefault(); >- } >- }, >- >- _activate: function( event ) { >- if ( this.active && !this.active.is( ".ui-state-disabled" ) ) { >- if ( this.active.children( "[aria-haspopup='true']" ).length ) { >- this.expand( event ); >- } else { >- this.select( event ); >- } >- } >- }, >- >- refresh: function() { >- var menus, items, newSubmenus, newItems, newWrappers, >- that = this, >- icon = this.options.icons.submenu, >- submenus = this.element.find( this.options.menus ); >- >- this._toggleClass( "ui-menu-icons", null, !!this.element.find( ".ui-icon" ).length ); >- >- // Initialize nested menus >- newSubmenus = submenus.filter( ":not(.ui-menu)" ) >- .hide() >- .attr( { >- role: this.options.role, >- "aria-hidden": "true", >- "aria-expanded": "false" >- } ) >- .each( function() { >- var menu = $( this ), >- item = menu.prev(), >- submenuCaret = $( "<span>" ).data( "ui-menu-submenu-caret", true ); >- >- that._addClass( submenuCaret, "ui-menu-icon", "ui-icon " + icon ); >- item >- .attr( "aria-haspopup", "true" ) >- .prepend( submenuCaret ); >- menu.attr( "aria-labelledby", item.attr( "id" ) ); >- } ); >- >- this._addClass( newSubmenus, "ui-menu", "ui-widget ui-widget-content ui-front" ); >- >- menus = submenus.add( this.element ); >- items = menus.find( this.options.items ); >- >- // Initialize menu-items containing spaces and/or dashes only as dividers >- items.not( ".ui-menu-item" ).each( function() { >- var item = $( this ); >- if ( that._isDivider( item ) ) { >- that._addClass( item, "ui-menu-divider", "ui-widget-content" ); >- } >- } ); >- >- // Don't refresh list items that are already adapted >- newItems = items.not( ".ui-menu-item, .ui-menu-divider" ); >- newWrappers = newItems.children() >- .not( ".ui-menu" ) >- .uniqueId() >- .attr( { >- tabIndex: -1, >- role: this._itemRole() >- } ); >- this._addClass( newItems, "ui-menu-item" ) >- ._addClass( newWrappers, "ui-menu-item-wrapper" ); >- >- // Add aria-disabled attribute to any disabled menu item >- items.filter( ".ui-state-disabled" ).attr( "aria-disabled", "true" ); >- >- // If the active item has been removed, blur the menu >- if ( this.active && !$.contains( this.element[ 0 ], this.active[ 0 ] ) ) { >- this.blur(); >- } >- }, >- >- _itemRole: function() { >- return { >- menu: "menuitem", >- listbox: "option" >- }[ this.options.role ]; >- }, >- >- _setOption: function( key, value ) { >- if ( key === "icons" ) { >- var icons = this.element.find( ".ui-menu-icon" ); >- this._removeClass( icons, null, this.options.icons.submenu ) >- ._addClass( icons, null, value.submenu ); >- } >- this._super( key, value ); >- }, >- >- _setOptionDisabled: function( value ) { >- this._super( value ); >- >- this.element.attr( "aria-disabled", String( value ) ); >- this._toggleClass( null, "ui-state-disabled", !!value ); >- }, >- >- focus: function( event, item ) { >- var nested, focused, activeParent; >- this.blur( event, event && event.type === "focus" ); >- >- this._scrollIntoView( item ); >- >- this.active = item.first(); >- >- focused = this.active.children( ".ui-menu-item-wrapper" ); >- this._addClass( focused, null, "ui-state-active" ); >- >- // Only update aria-activedescendant if there's a role >- // otherwise we assume focus is managed elsewhere >- if ( this.options.role ) { >- this.element.attr( "aria-activedescendant", focused.attr( "id" ) ); >- } >- >- // Highlight active parent menu item, if any >- activeParent = this.active >- .parent() >- .closest( ".ui-menu-item" ) >- .children( ".ui-menu-item-wrapper" ); >- this._addClass( activeParent, null, "ui-state-active" ); >- >- if ( event && event.type === "keydown" ) { >- this._close(); >- } else { >- this.timer = this._delay( function() { >- this._close(); >- }, this.delay ); >- } >- >- nested = item.children( ".ui-menu" ); >- if ( nested.length && event && ( /^mouse/.test( event.type ) ) ) { >- this._startOpening( nested ); >- } >- this.activeMenu = item.parent(); >- >- this._trigger( "focus", event, { item: item } ); >- }, >- >- _scrollIntoView: function( item ) { >- var borderTop, paddingTop, offset, scroll, elementHeight, itemHeight; >- if ( this._hasScroll() ) { >- borderTop = parseFloat( $.css( this.activeMenu[ 0 ], "borderTopWidth" ) ) || 0; >- paddingTop = parseFloat( $.css( this.activeMenu[ 0 ], "paddingTop" ) ) || 0; >- offset = item.offset().top - this.activeMenu.offset().top - borderTop - paddingTop; >- scroll = this.activeMenu.scrollTop(); >- elementHeight = this.activeMenu.height(); >- itemHeight = item.outerHeight(); >- >- if ( offset < 0 ) { >- this.activeMenu.scrollTop( scroll + offset ); >- } else if ( offset + itemHeight > elementHeight ) { >- this.activeMenu.scrollTop( scroll + offset - elementHeight + itemHeight ); >- } >- } >- }, >- >- blur: function( event, fromFocus ) { >- if ( !fromFocus ) { >- clearTimeout( this.timer ); >- } >- >- if ( !this.active ) { >- return; >- } >- >- this._removeClass( this.active.children( ".ui-menu-item-wrapper" ), >- null, "ui-state-active" ); >- >- this._trigger( "blur", event, { item: this.active } ); >- this.active = null; >- }, >- >- _startOpening: function( submenu ) { >- clearTimeout( this.timer ); >- >- // Don't open if already open fixes a Firefox bug that caused a .5 pixel >- // shift in the submenu position when mousing over the caret icon >- if ( submenu.attr( "aria-hidden" ) !== "true" ) { >- return; >- } >- >- this.timer = this._delay( function() { >- this._close(); >- this._open( submenu ); >- }, this.delay ); >- }, >- >- _open: function( submenu ) { >- var position = $.extend( { >- of: this.active >- }, this.options.position ); >- >- clearTimeout( this.timer ); >- this.element.find( ".ui-menu" ).not( submenu.parents( ".ui-menu" ) ) >- .hide() >- .attr( "aria-hidden", "true" ); >- >- submenu >- .show() >- .removeAttr( "aria-hidden" ) >- .attr( "aria-expanded", "true" ) >- .position( position ); >- }, >- >- collapseAll: function( event, all ) { >- clearTimeout( this.timer ); >- this.timer = this._delay( function() { >- >- // If we were passed an event, look for the submenu that contains the event >- var currentMenu = all ? this.element : >- $( event && event.target ).closest( this.element.find( ".ui-menu" ) ); >- >- // If we found no valid submenu ancestor, use the main menu to close all >- // sub menus anyway >- if ( !currentMenu.length ) { >- currentMenu = this.element; >- } >- >- this._close( currentMenu ); >- >- this.blur( event ); >- >- // Work around active item staying active after menu is blurred >- this._removeClass( currentMenu.find( ".ui-state-active" ), null, "ui-state-active" ); >- >- this.activeMenu = currentMenu; >- }, this.delay ); >- }, >- >- // With no arguments, closes the currently active menu - if nothing is active >- // it closes all menus. If passed an argument, it will search for menus BELOW >- _close: function( startMenu ) { >- if ( !startMenu ) { >- startMenu = this.active ? this.active.parent() : this.element; >- } >- >- startMenu.find( ".ui-menu" ) >- .hide() >- .attr( "aria-hidden", "true" ) >- .attr( "aria-expanded", "false" ); >- }, >- >- _closeOnDocumentClick: function( event ) { >- return !$( event.target ).closest( ".ui-menu" ).length; >- }, >- >- _isDivider: function( item ) { >- >- // Match hyphen, em dash, en dash >- return !/[^\-\u2014\u2013\s]/.test( item.text() ); >- }, >- >- collapse: function( event ) { >- var newItem = this.active && >- this.active.parent().closest( ".ui-menu-item", this.element ); >- if ( newItem && newItem.length ) { >- this._close(); >- this.focus( event, newItem ); >- } >- }, >- >- expand: function( event ) { >- var newItem = this.active && >- this.active >- .children( ".ui-menu " ) >- .find( this.options.items ) >- .first(); >- >- if ( newItem && newItem.length ) { >- this._open( newItem.parent() ); >- >- // Delay so Firefox will not hide activedescendant change in expanding submenu from AT >- this._delay( function() { >- this.focus( event, newItem ); >- } ); >- } >- }, >- >- next: function( event ) { >- this._move( "next", "first", event ); >- }, >- >- previous: function( event ) { >- this._move( "prev", "last", event ); >- }, >- >- isFirstItem: function() { >- return this.active && !this.active.prevAll( ".ui-menu-item" ).length; >- }, >- >- isLastItem: function() { >- return this.active && !this.active.nextAll( ".ui-menu-item" ).length; >- }, >- >- _move: function( direction, filter, event ) { >- var next; >- if ( this.active ) { >- if ( direction === "first" || direction === "last" ) { >- next = this.active >- [ direction === "first" ? "prevAll" : "nextAll" ]( ".ui-menu-item" ) >- .eq( -1 ); >- } else { >- next = this.active >- [ direction + "All" ]( ".ui-menu-item" ) >- .eq( 0 ); >- } >- } >- if ( !next || !next.length || !this.active ) { >- next = this.activeMenu.find( this.options.items )[ filter ](); >- } >- >- this.focus( event, next ); >- }, >- >- nextPage: function( event ) { >- var item, base, height; >- >- if ( !this.active ) { >- this.next( event ); >- return; >- } >- if ( this.isLastItem() ) { >- return; >- } >- if ( this._hasScroll() ) { >- base = this.active.offset().top; >- height = this.element.height(); >- this.active.nextAll( ".ui-menu-item" ).each( function() { >- item = $( this ); >- return item.offset().top - base - height < 0; >- } ); >- >- this.focus( event, item ); >- } else { >- this.focus( event, this.activeMenu.find( this.options.items ) >- [ !this.active ? "first" : "last" ]() ); >- } >- }, >- >- previousPage: function( event ) { >- var item, base, height; >- if ( !this.active ) { >- this.next( event ); >- return; >- } >- if ( this.isFirstItem() ) { >- return; >- } >- if ( this._hasScroll() ) { >- base = this.active.offset().top; >- height = this.element.height(); >- this.active.prevAll( ".ui-menu-item" ).each( function() { >- item = $( this ); >- return item.offset().top - base + height > 0; >- } ); >- >- this.focus( event, item ); >- } else { >- this.focus( event, this.activeMenu.find( this.options.items ).first() ); >- } >- }, >- >- _hasScroll: function() { >- return this.element.outerHeight() < this.element.prop( "scrollHeight" ); >- }, >- >- select: function( event ) { >- >- // TODO: It should never be possible to not have an active item at this >- // point, but the tests don't trigger mouseenter before click. >- this.active = this.active || $( event.target ).closest( ".ui-menu-item" ); >- var ui = { item: this.active }; >- if ( !this.active.has( ".ui-menu" ).length ) { >- this.collapseAll( event, true ); >- } >- this._trigger( "select", event, ui ); >- }, >- >- _filterMenuItems: function( character ) { >- var escapedCharacter = character.replace( /[\-\[\]{}()*+?.,\\\^$|#\s]/g, "\\$&" ), >- regex = new RegExp( "^" + escapedCharacter, "i" ); >- >- return this.activeMenu >- .find( this.options.items ) >- >- // Only match on items, not dividers or other content (#10571) >- .filter( ".ui-menu-item" ) >- .filter( function() { >- return regex.test( >- $.trim( $( this ).children( ".ui-menu-item-wrapper" ).text() ) ); >- } ); >- } >-} ); >- >- >-/*! >- * jQuery UI Autocomplete 1.12.1 >- * http://jqueryui.com >- * >- * Copyright jQuery Foundation and other contributors >- * Released under the MIT license. >- * http://jquery.org/license >- */ >- >-//>>label: Autocomplete >-//>>group: Widgets >-//>>description: Lists suggested words as the user is typing. >-//>>docs: http://api.jqueryui.com/autocomplete/ >-//>>demos: http://jqueryui.com/autocomplete/ >-//>>css.structure: ../../themes/base/core.css >-//>>css.structure: ../../themes/base/autocomplete.css >-//>>css.theme: ../../themes/base/theme.css >- >- >- >-$.widget( "ui.autocomplete", { >- version: "1.12.1", >- defaultElement: "<input>", >- options: { >- appendTo: null, >- autoFocus: false, >- delay: 300, >- minLength: 1, >- position: { >- my: "left top", >- at: "left bottom", >- collision: "none" >- }, >- source: null, >- >- // Callbacks >- change: null, >- close: null, >- focus: null, >- open: null, >- response: null, >- search: null, >- select: null >- }, >- >- requestIndex: 0, >- pending: 0, >- >- _create: function() { >- >- // Some browsers only repeat keydown events, not keypress events, >- // so we use the suppressKeyPress flag to determine if we've already >- // handled the keydown event. #7269 >- // Unfortunately the code for & in keypress is the same as the up arrow, >- // so we use the suppressKeyPressRepeat flag to avoid handling keypress >- // events when we know the keydown event was used to modify the >- // search term. #7799 >- var suppressKeyPress, suppressKeyPressRepeat, suppressInput, >- nodeName = this.element[ 0 ].nodeName.toLowerCase(), >- isTextarea = nodeName === "textarea", >- isInput = nodeName === "input"; >- >- // Textareas are always multi-line >- // Inputs are always single-line, even if inside a contentEditable element >- // IE also treats inputs as contentEditable >- // All other element types are determined by whether or not they're contentEditable >- this.isMultiLine = isTextarea || !isInput && this._isContentEditable( this.element ); >- >- this.valueMethod = this.element[ isTextarea || isInput ? "val" : "text" ]; >- this.isNewMenu = true; >- >- this._addClass( "ui-autocomplete-input" ); >- this.element.attr( "autocomplete", "off" ); >- >- this._on( this.element, { >- keydown: function( event ) { >- if ( this.element.prop( "readOnly" ) ) { >- suppressKeyPress = true; >- suppressInput = true; >- suppressKeyPressRepeat = true; >- return; >- } >- >- suppressKeyPress = false; >- suppressInput = false; >- suppressKeyPressRepeat = false; >- var keyCode = $.ui.keyCode; >- switch ( event.keyCode ) { >- case keyCode.PAGE_UP: >- suppressKeyPress = true; >- this._move( "previousPage", event ); >- break; >- case keyCode.PAGE_DOWN: >- suppressKeyPress = true; >- this._move( "nextPage", event ); >- break; >- case keyCode.UP: >- suppressKeyPress = true; >- this._keyEvent( "previous", event ); >- break; >- case keyCode.DOWN: >- suppressKeyPress = true; >- this._keyEvent( "next", event ); >- break; >- case keyCode.ENTER: >- >- // when menu is open and has focus >- if ( this.menu.active ) { >- >- // #6055 - Opera still allows the keypress to occur >- // which causes forms to submit >- suppressKeyPress = true; >- event.preventDefault(); >- this.menu.select( event ); >- } >- break; >- case keyCode.TAB: >- if ( this.menu.active ) { >- this.menu.select( event ); >- } >- break; >- case keyCode.ESCAPE: >- if ( this.menu.element.is( ":visible" ) ) { >- if ( !this.isMultiLine ) { >- this._value( this.term ); >- } >- this.close( event ); >- >- // Different browsers have different default behavior for escape >- // Single press can mean undo or clear >- // Double press in IE means clear the whole form >- event.preventDefault(); >- } >- break; >- default: >- suppressKeyPressRepeat = true; >- >- // search timeout should be triggered before the input value is changed >- this._searchTimeout( event ); >- break; >- } >- }, >- keypress: function( event ) { >- if ( suppressKeyPress ) { >- suppressKeyPress = false; >- if ( !this.isMultiLine || this.menu.element.is( ":visible" ) ) { >- event.preventDefault(); >- } >- return; >- } >- if ( suppressKeyPressRepeat ) { >- return; >- } >- >- // Replicate some key handlers to allow them to repeat in Firefox and Opera >- var keyCode = $.ui.keyCode; >- switch ( event.keyCode ) { >- case keyCode.PAGE_UP: >- this._move( "previousPage", event ); >- break; >- case keyCode.PAGE_DOWN: >- this._move( "nextPage", event ); >- break; >- case keyCode.UP: >- this._keyEvent( "previous", event ); >- break; >- case keyCode.DOWN: >- this._keyEvent( "next", event ); >- break; >- } >- }, >- input: function( event ) { >- if ( suppressInput ) { >- suppressInput = false; >- event.preventDefault(); >- return; >- } >- this._searchTimeout( event ); >- }, >- focus: function() { >- this.selectedItem = null; >- this.previous = this._value(); >- }, >- blur: function( event ) { >- if ( this.cancelBlur ) { >- delete this.cancelBlur; >- return; >- } >- >- clearTimeout( this.searching ); >- this.close( event ); >- this._change( event ); >- } >- } ); >- >- this._initSource(); >- this.menu = $( "<ul>" ) >- .appendTo( this._appendTo() ) >- .menu( { >- >- // disable ARIA support, the live region takes care of that >- role: null >- } ) >- .hide() >- .menu( "instance" ); >- >- this._addClass( this.menu.element, "ui-autocomplete", "ui-front" ); >- this._on( this.menu.element, { >- mousedown: function( event ) { >- >- // prevent moving focus out of the text field >- event.preventDefault(); >- >- // IE doesn't prevent moving focus even with event.preventDefault() >- // so we set a flag to know when we should ignore the blur event >- this.cancelBlur = true; >- this._delay( function() { >- delete this.cancelBlur; >- >- // Support: IE 8 only >- // Right clicking a menu item or selecting text from the menu items will >- // result in focus moving out of the input. However, we've already received >- // and ignored the blur event because of the cancelBlur flag set above. So >- // we restore focus to ensure that the menu closes properly based on the user's >- // next actions. >- if ( this.element[ 0 ] !== $.ui.safeActiveElement( this.document[ 0 ] ) ) { >- this.element.trigger( "focus" ); >- } >- } ); >- }, >- menufocus: function( event, ui ) { >- var label, item; >- >- // support: Firefox >- // Prevent accidental activation of menu items in Firefox (#7024 #9118) >- if ( this.isNewMenu ) { >- this.isNewMenu = false; >- if ( event.originalEvent && /^mouse/.test( event.originalEvent.type ) ) { >- this.menu.blur(); >- >- this.document.one( "mousemove", function() { >- $( event.target ).trigger( event.originalEvent ); >- } ); >- >- return; >- } >- } >- >- item = ui.item.data( "ui-autocomplete-item" ); >- if ( false !== this._trigger( "focus", event, { item: item } ) ) { >- >- // use value to match what will end up in the input, if it was a key event >- if ( event.originalEvent && /^key/.test( event.originalEvent.type ) ) { >- this._value( item.value ); >- } >- } >- >- // Announce the value in the liveRegion >- label = ui.item.attr( "aria-label" ) || item.value; >- if ( label && $.trim( label ).length ) { >- this.liveRegion.children().hide(); >- $( "<div>" ).text( label ).appendTo( this.liveRegion ); >- } >- }, >- menuselect: function( event, ui ) { >- var item = ui.item.data( "ui-autocomplete-item" ), >- previous = this.previous; >- >- // Only trigger when focus was lost (click on menu) >- if ( this.element[ 0 ] !== $.ui.safeActiveElement( this.document[ 0 ] ) ) { >- this.element.trigger( "focus" ); >- this.previous = previous; >- >- // #6109 - IE triggers two focus events and the second >- // is asynchronous, so we need to reset the previous >- // term synchronously and asynchronously :-( >- this._delay( function() { >- this.previous = previous; >- this.selectedItem = item; >- } ); >- } >- >- if ( false !== this._trigger( "select", event, { item: item } ) ) { >- this._value( item.value ); >- } >- >- // reset the term after the select event >- // this allows custom select handling to work properly >- this.term = this._value(); >- >- this.close( event ); >- this.selectedItem = item; >- } >- } ); >- >- this.liveRegion = $( "<div>", { >- role: "status", >- "aria-live": "assertive", >- "aria-relevant": "additions" >- } ) >- .appendTo( this.document[ 0 ].body ); >- >- this._addClass( this.liveRegion, null, "ui-helper-hidden-accessible" ); >- >- // Turning off autocomplete prevents the browser from remembering the >- // value when navigating through history, so we re-enable autocomplete >- // if the page is unloaded before the widget is destroyed. #7790 >- this._on( this.window, { >- beforeunload: function() { >- this.element.removeAttr( "autocomplete" ); >- } >- } ); >- }, >- >- _destroy: function() { >- clearTimeout( this.searching ); >- this.element.removeAttr( "autocomplete" ); >- this.menu.element.remove(); >- this.liveRegion.remove(); >- }, >- >- _setOption: function( key, value ) { >- this._super( key, value ); >- if ( key === "source" ) { >- this._initSource(); >- } >- if ( key === "appendTo" ) { >- this.menu.element.appendTo( this._appendTo() ); >- } >- if ( key === "disabled" && value && this.xhr ) { >- this.xhr.abort(); >- } >- }, >- >- _isEventTargetInWidget: function( event ) { >- var menuElement = this.menu.element[ 0 ]; >- >- return event.target === this.element[ 0 ] || >- event.target === menuElement || >- $.contains( menuElement, event.target ); >- }, >- >- _closeOnClickOutside: function( event ) { >- if ( !this._isEventTargetInWidget( event ) ) { >- this.close(); >- } >- }, >- >- _appendTo: function() { >- var element = this.options.appendTo; >- >- if ( element ) { >- element = element.jquery || element.nodeType ? >- $( element ) : >- this.document.find( element ).eq( 0 ); >- } >- >- if ( !element || !element[ 0 ] ) { >- element = this.element.closest( ".ui-front, dialog" ); >- } >- >- if ( !element.length ) { >- element = this.document[ 0 ].body; >- } >- >- return element; >- }, >- >- _initSource: function() { >- var array, url, >- that = this; >- if ( $.isArray( this.options.source ) ) { >- array = this.options.source; >- this.source = function( request, response ) { >- response( $.ui.autocomplete.filter( array, request.term ) ); >- }; >- } else if ( typeof this.options.source === "string" ) { >- url = this.options.source; >- this.source = function( request, response ) { >- if ( that.xhr ) { >- that.xhr.abort(); >- } >- that.xhr = $.ajax( { >- url: url, >- data: request, >- dataType: "json", >- success: function( data ) { >- response( data ); >- }, >- error: function() { >- response( [] ); >- } >- } ); >- }; >- } else { >- this.source = this.options.source; >- } >- }, >- >- _searchTimeout: function( event ) { >- clearTimeout( this.searching ); >- this.searching = this._delay( function() { >- >- // Search if the value has changed, or if the user retypes the same value (see #7434) >- var equalValues = this.term === this._value(), >- menuVisible = this.menu.element.is( ":visible" ), >- modifierKey = event.altKey || event.ctrlKey || event.metaKey || event.shiftKey; >- >- if ( !equalValues || ( equalValues && !menuVisible && !modifierKey ) ) { >- this.selectedItem = null; >- this.search( null, event ); >- } >- }, this.options.delay ); >- }, >- >- search: function( value, event ) { >- value = value != null ? value : this._value(); >- >- // Always save the actual value, not the one passed as an argument >- this.term = this._value(); >- >- if ( value.length < this.options.minLength ) { >- return this.close( event ); >- } >- >- if ( this._trigger( "search", event ) === false ) { >- return; >- } >- >- return this._search( value ); >- }, >- >- _search: function( value ) { >- this.pending++; >- this._addClass( "ui-autocomplete-loading" ); >- this.cancelSearch = false; >- >- this.source( { term: value }, this._response() ); >- }, >- >- _response: function() { >- var index = ++this.requestIndex; >- >- return $.proxy( function( content ) { >- if ( index === this.requestIndex ) { >- this.__response( content ); >- } >- >- this.pending--; >- if ( !this.pending ) { >- this._removeClass( "ui-autocomplete-loading" ); >- } >- }, this ); >- }, >- >- __response: function( content ) { >- if ( content ) { >- content = this._normalize( content ); >- } >- this._trigger( "response", null, { content: content } ); >- if ( !this.options.disabled && content && content.length && !this.cancelSearch ) { >- this._suggest( content ); >- this._trigger( "open" ); >- } else { >- >- // use ._close() instead of .close() so we don't cancel future searches >- this._close(); >- } >- }, >- >- close: function( event ) { >- this.cancelSearch = true; >- this._close( event ); >- }, >- >- _close: function( event ) { >- >- // Remove the handler that closes the menu on outside clicks >- this._off( this.document, "mousedown" ); >- >- if ( this.menu.element.is( ":visible" ) ) { >- this.menu.element.hide(); >- this.menu.blur(); >- this.isNewMenu = true; >- this._trigger( "close", event ); >- } >- }, >- >- _change: function( event ) { >- if ( this.previous !== this._value() ) { >- this._trigger( "change", event, { item: this.selectedItem } ); >- } >- }, >- >- _normalize: function( items ) { >- >- // assume all items have the right format when the first item is complete >- if ( items.length && items[ 0 ].label && items[ 0 ].value ) { >- return items; >- } >- return $.map( items, function( item ) { >- if ( typeof item === "string" ) { >- return { >- label: item, >- value: item >- }; >- } >- return $.extend( {}, item, { >- label: item.label || item.value, >- value: item.value || item.label >- } ); >- } ); >- }, >- >- _suggest: function( items ) { >- var ul = this.menu.element.empty(); >- this._renderMenu( ul, items ); >- this.isNewMenu = true; >- this.menu.refresh(); >- >- // Size and position menu >- ul.show(); >- this._resizeMenu(); >- ul.position( $.extend( { >- of: this.element >- }, this.options.position ) ); >- >- if ( this.options.autoFocus ) { >- this.menu.next(); >- } >- >- // Listen for interactions outside of the widget (#6642) >- this._on( this.document, { >- mousedown: "_closeOnClickOutside" >- } ); >- }, >- >- _resizeMenu: function() { >- var ul = this.menu.element; >- ul.outerWidth( Math.max( >- >- // Firefox wraps long text (possibly a rounding bug) >- // so we add 1px to avoid the wrapping (#7513) >- ul.width( "" ).outerWidth() + 1, >- this.element.outerWidth() >- ) ); >- }, >- >- _renderMenu: function( ul, items ) { >- var that = this; >- $.each( items, function( index, item ) { >- that._renderItemData( ul, item ); >- } ); >- }, >- >- _renderItemData: function( ul, item ) { >- return this._renderItem( ul, item ).data( "ui-autocomplete-item", item ); >- }, >- >- _renderItem: function( ul, item ) { >- return $( "<li>" ) >- .append( $( "<div>" ).text( item.label ) ) >- .appendTo( ul ); >- }, >- >- _move: function( direction, event ) { >- if ( !this.menu.element.is( ":visible" ) ) { >- this.search( null, event ); >- return; >- } >- if ( this.menu.isFirstItem() && /^previous/.test( direction ) || >- this.menu.isLastItem() && /^next/.test( direction ) ) { >- >- if ( !this.isMultiLine ) { >- this._value( this.term ); >- } >- >- this.menu.blur(); >- return; >- } >- this.menu[ direction ]( event ); >- }, >- >- widget: function() { >- return this.menu.element; >- }, >- >- _value: function() { >- return this.valueMethod.apply( this.element, arguments ); >- }, >- >- _keyEvent: function( keyEvent, event ) { >- if ( !this.isMultiLine || this.menu.element.is( ":visible" ) ) { >- this._move( keyEvent, event ); >- >- // Prevents moving cursor to beginning/end of the text field in some browsers >- event.preventDefault(); >- } >- }, >- >- // Support: Chrome <=50 >- // We should be able to just use this.element.prop( "isContentEditable" ) >- // but hidden elements always report false in Chrome. >- // https://code.google.com/p/chromium/issues/detail?id=313082 >- _isContentEditable: function( element ) { >- if ( !element.length ) { >- return false; >- } >- >- var editable = element.prop( "contentEditable" ); >- >- if ( editable === "inherit" ) { >- return this._isContentEditable( element.parent() ); >- } >- >- return editable === "true"; >- } >-} ); >- >-$.extend( $.ui.autocomplete, { >- escapeRegex: function( value ) { >- return value.replace( /[\-\[\]{}()*+?.,\\\^$|#\s]/g, "\\$&" ); >- }, >- filter: function( array, term ) { >- var matcher = new RegExp( $.ui.autocomplete.escapeRegex( term ), "i" ); >- return $.grep( array, function( value ) { >- return matcher.test( value.label || value.value || value ); >- } ); >- } >-} ); >- >-// Live region extension, adding a `messages` option >-// NOTE: This is an experimental API. We are still investigating >-// a full solution for string manipulation and internationalization. >-$.widget( "ui.autocomplete", $.ui.autocomplete, { >- options: { >- messages: { >- noResults: "No search results.", >- results: function( amount ) { >- return amount + ( amount > 1 ? " results are" : " result is" ) + >- " available, use up and down arrow keys to navigate."; >- } >- } >- }, >- >- __response: function( content ) { >- var message; >- this._superApply( arguments ); >- if ( this.options.disabled || this.cancelSearch ) { >- return; >- } >- if ( content && content.length ) { >- message = this.options.messages.results( content.length ); >- } else { >- message = this.options.messages.noResults; >- } >- this.liveRegion.children().hide(); >- $( "<div>" ).text( message ).appendTo( this.liveRegion ); >- } >-} ); >- >-var widgetsAutocomplete = $.ui.autocomplete; >- >- >-// jscs:disable maximumLineLength >-/* jscs:disable requireCamelCaseOrUpperCaseIdentifiers */ >-/*! >- * jQuery UI Datepicker 1.12.1 >- * http://jqueryui.com >- * >- * Copyright jQuery Foundation and other contributors >- * Released under the MIT license. >- * http://jquery.org/license >- */ >- >-//>>label: Datepicker >-//>>group: Widgets >-//>>description: Displays a calendar from an input or inline for selecting dates. >-//>>docs: http://api.jqueryui.com/datepicker/ >-//>>demos: http://jqueryui.com/datepicker/ >-//>>css.structure: ../../themes/base/core.css >-//>>css.structure: ../../themes/base/datepicker.css >-//>>css.theme: ../../themes/base/theme.css >- >- >- >-$.extend( $.ui, { datepicker: { version: "1.12.1" } } ); >- >-var datepicker_instActive; >- >-function datepicker_getZindex( elem ) { >- var position, value; >- while ( elem.length && elem[ 0 ] !== document ) { >- >- // Ignore z-index if position is set to a value where z-index is ignored by the browser >- // This makes behavior of this function consistent across browsers >- // WebKit always returns auto if the element is positioned >- position = elem.css( "position" ); >- if ( position === "absolute" || position === "relative" || position === "fixed" ) { >- >- // IE returns 0 when zIndex is not specified >- // other browsers return a string >- // we ignore the case of nested elements with an explicit value of 0 >- // <div style="z-index: -10;"><div style="z-index: 0;"></div></div> >- value = parseInt( elem.css( "zIndex" ), 10 ); >- if ( !isNaN( value ) && value !== 0 ) { >- return value; >- } >- } >- elem = elem.parent(); >- } >- >- return 0; >-} >-/* Date picker manager. >- Use the singleton instance of this class, $.datepicker, to interact with the date picker. >- Settings for (groups of) date pickers are maintained in an instance object, >- allowing multiple different settings on the same page. */ >- >-function Datepicker() { >- this._curInst = null; // The current instance in use >- this._keyEvent = false; // If the last event was a key event >- this._disabledInputs = []; // List of date picker inputs that have been disabled >- this._datepickerShowing = false; // True if the popup picker is showing , false if not >- this._inDialog = false; // True if showing within a "dialog", false if not >- this._mainDivId = "ui-datepicker-div"; // The ID of the main datepicker division >- this._inlineClass = "ui-datepicker-inline"; // The name of the inline marker class >- this._appendClass = "ui-datepicker-append"; // The name of the append marker class >- this._triggerClass = "ui-datepicker-trigger"; // The name of the trigger marker class >- this._dialogClass = "ui-datepicker-dialog"; // The name of the dialog marker class >- this._disableClass = "ui-datepicker-disabled"; // The name of the disabled covering marker class >- this._unselectableClass = "ui-datepicker-unselectable"; // The name of the unselectable cell marker class >- this._currentClass = "ui-datepicker-current-day"; // The name of the current day marker class >- this._dayOverClass = "ui-datepicker-days-cell-over"; // The name of the day hover marker class >- this.regional = []; // Available regional settings, indexed by language code >- this.regional[ "" ] = { // Default regional settings >- closeText: "Done", // Display text for close link >- prevText: "Prev", // Display text for previous month link >- nextText: "Next", // Display text for next month link >- currentText: "Today", // Display text for current month link >- monthNames: [ "January","February","March","April","May","June", >- "July","August","September","October","November","December" ], // Names of months for drop-down and formatting >- monthNamesShort: [ "Jan", "Feb", "Mar", "Apr", "May", "Jun", "Jul", "Aug", "Sep", "Oct", "Nov", "Dec" ], // For formatting >- dayNames: [ "Sunday", "Monday", "Tuesday", "Wednesday", "Thursday", "Friday", "Saturday" ], // For formatting >- dayNamesShort: [ "Sun", "Mon", "Tue", "Wed", "Thu", "Fri", "Sat" ], // For formatting >- dayNamesMin: [ "Su","Mo","Tu","We","Th","Fr","Sa" ], // Column headings for days starting at Sunday >- weekHeader: "Wk", // Column header for week of the year >- dateFormat: "mm/dd/yy", // See format options on parseDate >- firstDay: 0, // The first day of the week, Sun = 0, Mon = 1, ... >- isRTL: false, // True if right-to-left language, false if left-to-right >- showMonthAfterYear: false, // True if the year select precedes month, false for month then year >- yearSuffix: "" // Additional text to append to the year in the month headers >- }; >- this._defaults = { // Global defaults for all the date picker instances >- showOn: "focus", // "focus" for popup on focus, >- // "button" for trigger button, or "both" for either >- showAnim: "fadeIn", // Name of jQuery animation for popup >- showOptions: {}, // Options for enhanced animations >- defaultDate: null, // Used when field is blank: actual date, >- // +/-number for offset from today, null for today >- appendText: "", // Display text following the input box, e.g. showing the format >- buttonText: "...", // Text for trigger button >- buttonImage: "", // URL for trigger button image >- buttonImageOnly: false, // True if the image appears alone, false if it appears on a button >- hideIfNoPrevNext: false, // True to hide next/previous month links >- // if not applicable, false to just disable them >- navigationAsDateFormat: false, // True if date formatting applied to prev/today/next links >- gotoCurrent: false, // True if today link goes back to current selection instead >- changeMonth: false, // True if month can be selected directly, false if only prev/next >- changeYear: false, // True if year can be selected directly, false if only prev/next >- yearRange: "c-10:c+10", // Range of years to display in drop-down, >- // either relative to today's year (-nn:+nn), relative to currently displayed year >- // (c-nn:c+nn), absolute (nnnn:nnnn), or a combination of the above (nnnn:-n) >- showOtherMonths: false, // True to show dates in other months, false to leave blank >- selectOtherMonths: false, // True to allow selection of dates in other months, false for unselectable >- showWeek: false, // True to show week of the year, false to not show it >- calculateWeek: this.iso8601Week, // How to calculate the week of the year, >- // takes a Date and returns the number of the week for it >- shortYearCutoff: "+10", // Short year values < this are in the current century, >- // > this are in the previous century, >- // string value starting with "+" for current year + value >- minDate: null, // The earliest selectable date, or null for no limit >- maxDate: null, // The latest selectable date, or null for no limit >- duration: "fast", // Duration of display/closure >- beforeShowDay: null, // Function that takes a date and returns an array with >- // [0] = true if selectable, false if not, [1] = custom CSS class name(s) or "", >- // [2] = cell title (optional), e.g. $.datepicker.noWeekends >- beforeShow: null, // Function that takes an input field and >- // returns a set of custom settings for the date picker >- onSelect: null, // Define a callback function when a date is selected >- onChangeMonthYear: null, // Define a callback function when the month or year is changed >- onClose: null, // Define a callback function when the datepicker is closed >- numberOfMonths: 1, // Number of months to show at a time >- showCurrentAtPos: 0, // The position in multipe months at which to show the current month (starting at 0) >- stepMonths: 1, // Number of months to step back/forward >- stepBigMonths: 12, // Number of months to step back/forward for the big links >- altField: "", // Selector for an alternate field to store selected dates into >- altFormat: "", // The date format to use for the alternate field >- constrainInput: true, // The input is constrained by the current date format >- showButtonPanel: false, // True to show button panel, false to not show it >- autoSize: false, // True to size the input for the date format, false to leave as is >- disabled: false // The initial disabled state >- }; >- $.extend( this._defaults, this.regional[ "" ] ); >- this.regional.en = $.extend( true, {}, this.regional[ "" ] ); >- this.regional[ "en-US" ] = $.extend( true, {}, this.regional.en ); >- this.dpDiv = datepicker_bindHover( $( "<div id='" + this._mainDivId + "' class='ui-datepicker ui-widget ui-widget-content ui-helper-clearfix ui-corner-all'></div>" ) ); >-} >- >-$.extend( Datepicker.prototype, { >- /* Class name added to elements to indicate already configured with a date picker. */ >- markerClassName: "hasDatepicker", >- >- //Keep track of the maximum number of rows displayed (see #7043) >- maxRows: 4, >- >- // TODO rename to "widget" when switching to widget factory >- _widgetDatepicker: function() { >- return this.dpDiv; >- }, >- >- /* Override the default settings for all instances of the date picker. >- * @param settings object - the new settings to use as defaults (anonymous object) >- * @return the manager object >- */ >- setDefaults: function( settings ) { >- datepicker_extendRemove( this._defaults, settings || {} ); >- return this; >- }, >- >- /* Attach the date picker to a jQuery selection. >- * @param target element - the target input field or division or span >- * @param settings object - the new settings to use for this date picker instance (anonymous) >- */ >- _attachDatepicker: function( target, settings ) { >- var nodeName, inline, inst; >- nodeName = target.nodeName.toLowerCase(); >- inline = ( nodeName === "div" || nodeName === "span" ); >- if ( !target.id ) { >- this.uuid += 1; >- target.id = "dp" + this.uuid; >- } >- inst = this._newInst( $( target ), inline ); >- inst.settings = $.extend( {}, settings || {} ); >- if ( nodeName === "input" ) { >- this._connectDatepicker( target, inst ); >- } else if ( inline ) { >- this._inlineDatepicker( target, inst ); >- } >- }, >- >- /* Create a new instance object. */ >- _newInst: function( target, inline ) { >- var id = target[ 0 ].id.replace( /([^A-Za-z0-9_\-])/g, "\\\\$1" ); // escape jQuery meta chars >- return { id: id, input: target, // associated target >- selectedDay: 0, selectedMonth: 0, selectedYear: 0, // current selection >- drawMonth: 0, drawYear: 0, // month being drawn >- inline: inline, // is datepicker inline or not >- dpDiv: ( !inline ? this.dpDiv : // presentation div >- datepicker_bindHover( $( "<div class='" + this._inlineClass + " ui-datepicker ui-widget ui-widget-content ui-helper-clearfix ui-corner-all'></div>" ) ) ) }; >- }, >- >- /* Attach the date picker to an input field. */ >- _connectDatepicker: function( target, inst ) { >- var input = $( target ); >- inst.append = $( [] ); >- inst.trigger = $( [] ); >- if ( input.hasClass( this.markerClassName ) ) { >- return; >- } >- this._attachments( input, inst ); >- input.addClass( this.markerClassName ).on( "keydown", this._doKeyDown ). >- on( "keypress", this._doKeyPress ).on( "keyup", this._doKeyUp ); >- this._autoSize( inst ); >- $.data( target, "datepicker", inst ); >- >- //If disabled option is true, disable the datepicker once it has been attached to the input (see ticket #5665) >- if ( inst.settings.disabled ) { >- this._disableDatepicker( target ); >- } >- }, >- >- /* Make attachments based on settings. */ >- _attachments: function( input, inst ) { >- var showOn, buttonText, buttonImage, >- appendText = this._get( inst, "appendText" ), >- isRTL = this._get( inst, "isRTL" ); >- >- if ( inst.append ) { >- inst.append.remove(); >- } >- if ( appendText ) { >- inst.append = $( "<span class='" + this._appendClass + "'>" + appendText + "</span>" ); >- input[ isRTL ? "before" : "after" ]( inst.append ); >- } >- >- input.off( "focus", this._showDatepicker ); >- >- if ( inst.trigger ) { >- inst.trigger.remove(); >- } >- >- showOn = this._get( inst, "showOn" ); >- if ( showOn === "focus" || showOn === "both" ) { // pop-up date picker when in the marked field >- input.on( "focus", this._showDatepicker ); >- } >- if ( showOn === "button" || showOn === "both" ) { // pop-up date picker when button clicked >- buttonText = this._get( inst, "buttonText" ); >- buttonImage = this._get( inst, "buttonImage" ); >- inst.trigger = $( this._get( inst, "buttonImageOnly" ) ? >- $( "<img/>" ).addClass( this._triggerClass ). >- attr( { src: buttonImage, alt: buttonText, title: buttonText } ) : >- $( "<button type='button'></button>" ).addClass( this._triggerClass ). >- html( !buttonImage ? buttonText : $( "<img/>" ).attr( >- { src:buttonImage, alt:buttonText, title:buttonText } ) ) ); >- input[ isRTL ? "before" : "after" ]( inst.trigger ); >- inst.trigger.on( "click", function() { >- if ( $.datepicker._datepickerShowing && $.datepicker._lastInput === input[ 0 ] ) { >- $.datepicker._hideDatepicker(); >- } else if ( $.datepicker._datepickerShowing && $.datepicker._lastInput !== input[ 0 ] ) { >- $.datepicker._hideDatepicker(); >- $.datepicker._showDatepicker( input[ 0 ] ); >- } else { >- $.datepicker._showDatepicker( input[ 0 ] ); >- } >- return false; >- } ); >- } >- }, >- >- /* Apply the maximum length for the date format. */ >- _autoSize: function( inst ) { >- if ( this._get( inst, "autoSize" ) && !inst.inline ) { >- var findMax, max, maxI, i, >- date = new Date( 2009, 12 - 1, 20 ), // Ensure double digits >- dateFormat = this._get( inst, "dateFormat" ); >- >- if ( dateFormat.match( /[DM]/ ) ) { >- findMax = function( names ) { >- max = 0; >- maxI = 0; >- for ( i = 0; i < names.length; i++ ) { >- if ( names[ i ].length > max ) { >- max = names[ i ].length; >- maxI = i; >- } >- } >- return maxI; >- }; >- date.setMonth( findMax( this._get( inst, ( dateFormat.match( /MM/ ) ? >- "monthNames" : "monthNamesShort" ) ) ) ); >- date.setDate( findMax( this._get( inst, ( dateFormat.match( /DD/ ) ? >- "dayNames" : "dayNamesShort" ) ) ) + 20 - date.getDay() ); >- } >- inst.input.attr( "size", this._formatDate( inst, date ).length ); >- } >- }, >- >- /* Attach an inline date picker to a div. */ >- _inlineDatepicker: function( target, inst ) { >- var divSpan = $( target ); >- if ( divSpan.hasClass( this.markerClassName ) ) { >- return; >- } >- divSpan.addClass( this.markerClassName ).append( inst.dpDiv ); >- $.data( target, "datepicker", inst ); >- this._setDate( inst, this._getDefaultDate( inst ), true ); >- this._updateDatepicker( inst ); >- this._updateAlternate( inst ); >- >- //If disabled option is true, disable the datepicker before showing it (see ticket #5665) >- if ( inst.settings.disabled ) { >- this._disableDatepicker( target ); >- } >- >- // Set display:block in place of inst.dpDiv.show() which won't work on disconnected elements >- // http://bugs.jqueryui.com/ticket/7552 - A Datepicker created on a detached div has zero height >- inst.dpDiv.css( "display", "block" ); >- }, >- >- /* Pop-up the date picker in a "dialog" box. >- * @param input element - ignored >- * @param date string or Date - the initial date to display >- * @param onSelect function - the function to call when a date is selected >- * @param settings object - update the dialog date picker instance's settings (anonymous object) >- * @param pos int[2] - coordinates for the dialog's position within the screen or >- * event - with x/y coordinates or >- * leave empty for default (screen centre) >- * @return the manager object >- */ >- _dialogDatepicker: function( input, date, onSelect, settings, pos ) { >- var id, browserWidth, browserHeight, scrollX, scrollY, >- inst = this._dialogInst; // internal instance >- >- if ( !inst ) { >- this.uuid += 1; >- id = "dp" + this.uuid; >- this._dialogInput = $( "<input type='text' id='" + id + >- "' style='position: absolute; top: -100px; width: 0px;'/>" ); >- this._dialogInput.on( "keydown", this._doKeyDown ); >- $( "body" ).append( this._dialogInput ); >- inst = this._dialogInst = this._newInst( this._dialogInput, false ); >- inst.settings = {}; >- $.data( this._dialogInput[ 0 ], "datepicker", inst ); >- } >- datepicker_extendRemove( inst.settings, settings || {} ); >- date = ( date && date.constructor === Date ? this._formatDate( inst, date ) : date ); >- this._dialogInput.val( date ); >- >- this._pos = ( pos ? ( pos.length ? pos : [ pos.pageX, pos.pageY ] ) : null ); >- if ( !this._pos ) { >- browserWidth = document.documentElement.clientWidth; >- browserHeight = document.documentElement.clientHeight; >- scrollX = document.documentElement.scrollLeft || document.body.scrollLeft; >- scrollY = document.documentElement.scrollTop || document.body.scrollTop; >- this._pos = // should use actual width/height below >- [ ( browserWidth / 2 ) - 100 + scrollX, ( browserHeight / 2 ) - 150 + scrollY ]; >- } >- >- // Move input on screen for focus, but hidden behind dialog >- this._dialogInput.css( "left", ( this._pos[ 0 ] + 20 ) + "px" ).css( "top", this._pos[ 1 ] + "px" ); >- inst.settings.onSelect = onSelect; >- this._inDialog = true; >- this.dpDiv.addClass( this._dialogClass ); >- this._showDatepicker( this._dialogInput[ 0 ] ); >- if ( $.blockUI ) { >- $.blockUI( this.dpDiv ); >- } >- $.data( this._dialogInput[ 0 ], "datepicker", inst ); >- return this; >- }, >- >- /* Detach a datepicker from its control. >- * @param target element - the target input field or division or span >- */ >- _destroyDatepicker: function( target ) { >- var nodeName, >- $target = $( target ), >- inst = $.data( target, "datepicker" ); >- >- if ( !$target.hasClass( this.markerClassName ) ) { >- return; >- } >- >- nodeName = target.nodeName.toLowerCase(); >- $.removeData( target, "datepicker" ); >- if ( nodeName === "input" ) { >- inst.append.remove(); >- inst.trigger.remove(); >- $target.removeClass( this.markerClassName ). >- off( "focus", this._showDatepicker ). >- off( "keydown", this._doKeyDown ). >- off( "keypress", this._doKeyPress ). >- off( "keyup", this._doKeyUp ); >- } else if ( nodeName === "div" || nodeName === "span" ) { >- $target.removeClass( this.markerClassName ).empty(); >- } >- >- if ( datepicker_instActive === inst ) { >- datepicker_instActive = null; >- } >- }, >- >- /* Enable the date picker to a jQuery selection. >- * @param target element - the target input field or division or span >- */ >- _enableDatepicker: function( target ) { >- var nodeName, inline, >- $target = $( target ), >- inst = $.data( target, "datepicker" ); >- >- if ( !$target.hasClass( this.markerClassName ) ) { >- return; >- } >- >- nodeName = target.nodeName.toLowerCase(); >- if ( nodeName === "input" ) { >- target.disabled = false; >- inst.trigger.filter( "button" ). >- each( function() { this.disabled = false; } ).end(). >- filter( "img" ).css( { opacity: "1.0", cursor: "" } ); >- } else if ( nodeName === "div" || nodeName === "span" ) { >- inline = $target.children( "." + this._inlineClass ); >- inline.children().removeClass( "ui-state-disabled" ); >- inline.find( "select.ui-datepicker-month, select.ui-datepicker-year" ). >- prop( "disabled", false ); >- } >- this._disabledInputs = $.map( this._disabledInputs, >- function( value ) { return ( value === target ? null : value ); } ); // delete entry >- }, >- >- /* Disable the date picker to a jQuery selection. >- * @param target element - the target input field or division or span >- */ >- _disableDatepicker: function( target ) { >- var nodeName, inline, >- $target = $( target ), >- inst = $.data( target, "datepicker" ); >- >- if ( !$target.hasClass( this.markerClassName ) ) { >- return; >- } >- >- nodeName = target.nodeName.toLowerCase(); >- if ( nodeName === "input" ) { >- target.disabled = true; >- inst.trigger.filter( "button" ). >- each( function() { this.disabled = true; } ).end(). >- filter( "img" ).css( { opacity: "0.5", cursor: "default" } ); >- } else if ( nodeName === "div" || nodeName === "span" ) { >- inline = $target.children( "." + this._inlineClass ); >- inline.children().addClass( "ui-state-disabled" ); >- inline.find( "select.ui-datepicker-month, select.ui-datepicker-year" ). >- prop( "disabled", true ); >- } >- this._disabledInputs = $.map( this._disabledInputs, >- function( value ) { return ( value === target ? null : value ); } ); // delete entry >- this._disabledInputs[ this._disabledInputs.length ] = target; >- }, >- >- /* Is the first field in a jQuery collection disabled as a datepicker? >- * @param target element - the target input field or division or span >- * @return boolean - true if disabled, false if enabled >- */ >- _isDisabledDatepicker: function( target ) { >- if ( !target ) { >- return false; >- } >- for ( var i = 0; i < this._disabledInputs.length; i++ ) { >- if ( this._disabledInputs[ i ] === target ) { >- return true; >- } >- } >- return false; >- }, >- >- /* Retrieve the instance data for the target control. >- * @param target element - the target input field or division or span >- * @return object - the associated instance data >- * @throws error if a jQuery problem getting data >- */ >- _getInst: function( target ) { >- try { >- return $.data( target, "datepicker" ); >- } >- catch ( err ) { >- throw "Missing instance data for this datepicker"; >- } >- }, >- >- /* Update or retrieve the settings for a date picker attached to an input field or division. >- * @param target element - the target input field or division or span >- * @param name object - the new settings to update or >- * string - the name of the setting to change or retrieve, >- * when retrieving also "all" for all instance settings or >- * "defaults" for all global defaults >- * @param value any - the new value for the setting >- * (omit if above is an object or to retrieve a value) >- */ >- _optionDatepicker: function( target, name, value ) { >- var settings, date, minDate, maxDate, >- inst = this._getInst( target ); >- >- if ( arguments.length === 2 && typeof name === "string" ) { >- return ( name === "defaults" ? $.extend( {}, $.datepicker._defaults ) : >- ( inst ? ( name === "all" ? $.extend( {}, inst.settings ) : >- this._get( inst, name ) ) : null ) ); >- } >- >- settings = name || {}; >- if ( typeof name === "string" ) { >- settings = {}; >- settings[ name ] = value; >- } >- >- if ( inst ) { >- if ( this._curInst === inst ) { >- this._hideDatepicker(); >- } >- >- date = this._getDateDatepicker( target, true ); >- minDate = this._getMinMaxDate( inst, "min" ); >- maxDate = this._getMinMaxDate( inst, "max" ); >- datepicker_extendRemove( inst.settings, settings ); >- >- // reformat the old minDate/maxDate values if dateFormat changes and a new minDate/maxDate isn't provided >- if ( minDate !== null && settings.dateFormat !== undefined && settings.minDate === undefined ) { >- inst.settings.minDate = this._formatDate( inst, minDate ); >- } >- if ( maxDate !== null && settings.dateFormat !== undefined && settings.maxDate === undefined ) { >- inst.settings.maxDate = this._formatDate( inst, maxDate ); >- } >- if ( "disabled" in settings ) { >- if ( settings.disabled ) { >- this._disableDatepicker( target ); >- } else { >- this._enableDatepicker( target ); >- } >- } >- this._attachments( $( target ), inst ); >- this._autoSize( inst ); >- this._setDate( inst, date ); >- this._updateAlternate( inst ); >- this._updateDatepicker( inst ); >- } >- }, >- >- // Change method deprecated >- _changeDatepicker: function( target, name, value ) { >- this._optionDatepicker( target, name, value ); >- }, >- >- /* Redraw the date picker attached to an input field or division. >- * @param target element - the target input field or division or span >- */ >- _refreshDatepicker: function( target ) { >- var inst = this._getInst( target ); >- if ( inst ) { >- this._updateDatepicker( inst ); >- } >- }, >- >- /* Set the dates for a jQuery selection. >- * @param target element - the target input field or division or span >- * @param date Date - the new date >- */ >- _setDateDatepicker: function( target, date ) { >- var inst = this._getInst( target ); >- if ( inst ) { >- this._setDate( inst, date ); >- this._updateDatepicker( inst ); >- this._updateAlternate( inst ); >- } >- }, >- >- /* Get the date(s) for the first entry in a jQuery selection. >- * @param target element - the target input field or division or span >- * @param noDefault boolean - true if no default date is to be used >- * @return Date - the current date >- */ >- _getDateDatepicker: function( target, noDefault ) { >- var inst = this._getInst( target ); >- if ( inst && !inst.inline ) { >- this._setDateFromField( inst, noDefault ); >- } >- return ( inst ? this._getDate( inst ) : null ); >- }, >- >- /* Handle keystrokes. */ >- _doKeyDown: function( event ) { >- var onSelect, dateStr, sel, >- inst = $.datepicker._getInst( event.target ), >- handled = true, >- isRTL = inst.dpDiv.is( ".ui-datepicker-rtl" ); >- >- inst._keyEvent = true; >- if ( $.datepicker._datepickerShowing ) { >- switch ( event.keyCode ) { >- case 9: $.datepicker._hideDatepicker(); >- handled = false; >- break; // hide on tab out >- case 13: sel = $( "td." + $.datepicker._dayOverClass + ":not(." + >- $.datepicker._currentClass + ")", inst.dpDiv ); >- if ( sel[ 0 ] ) { >- $.datepicker._selectDay( event.target, inst.selectedMonth, inst.selectedYear, sel[ 0 ] ); >- } >- >- onSelect = $.datepicker._get( inst, "onSelect" ); >- if ( onSelect ) { >- dateStr = $.datepicker._formatDate( inst ); >- >- // Trigger custom callback >- onSelect.apply( ( inst.input ? inst.input[ 0 ] : null ), [ dateStr, inst ] ); >- } else { >- $.datepicker._hideDatepicker(); >- } >- >- return false; // don't submit the form >- case 27: $.datepicker._hideDatepicker(); >- break; // hide on escape >- case 33: $.datepicker._adjustDate( event.target, ( event.ctrlKey ? >- -$.datepicker._get( inst, "stepBigMonths" ) : >- -$.datepicker._get( inst, "stepMonths" ) ), "M" ); >- break; // previous month/year on page up/+ ctrl >- case 34: $.datepicker._adjustDate( event.target, ( event.ctrlKey ? >- +$.datepicker._get( inst, "stepBigMonths" ) : >- +$.datepicker._get( inst, "stepMonths" ) ), "M" ); >- break; // next month/year on page down/+ ctrl >- case 35: if ( event.ctrlKey || event.metaKey ) { >- $.datepicker._clearDate( event.target ); >- } >- handled = event.ctrlKey || event.metaKey; >- break; // clear on ctrl or command +end >- case 36: if ( event.ctrlKey || event.metaKey ) { >- $.datepicker._gotoToday( event.target ); >- } >- handled = event.ctrlKey || event.metaKey; >- break; // current on ctrl or command +home >- case 37: if ( event.ctrlKey || event.metaKey ) { >- $.datepicker._adjustDate( event.target, ( isRTL ? +1 : -1 ), "D" ); >- } >- handled = event.ctrlKey || event.metaKey; >- >- // -1 day on ctrl or command +left >- if ( event.originalEvent.altKey ) { >- $.datepicker._adjustDate( event.target, ( event.ctrlKey ? >- -$.datepicker._get( inst, "stepBigMonths" ) : >- -$.datepicker._get( inst, "stepMonths" ) ), "M" ); >- } >- >- // next month/year on alt +left on Mac >- break; >- case 38: if ( event.ctrlKey || event.metaKey ) { >- $.datepicker._adjustDate( event.target, -7, "D" ); >- } >- handled = event.ctrlKey || event.metaKey; >- break; // -1 week on ctrl or command +up >- case 39: if ( event.ctrlKey || event.metaKey ) { >- $.datepicker._adjustDate( event.target, ( isRTL ? -1 : +1 ), "D" ); >- } >- handled = event.ctrlKey || event.metaKey; >- >- // +1 day on ctrl or command +right >- if ( event.originalEvent.altKey ) { >- $.datepicker._adjustDate( event.target, ( event.ctrlKey ? >- +$.datepicker._get( inst, "stepBigMonths" ) : >- +$.datepicker._get( inst, "stepMonths" ) ), "M" ); >- } >- >- // next month/year on alt +right >- break; >- case 40: if ( event.ctrlKey || event.metaKey ) { >- $.datepicker._adjustDate( event.target, +7, "D" ); >- } >- handled = event.ctrlKey || event.metaKey; >- break; // +1 week on ctrl or command +down >- default: handled = false; >- } >- } else if ( event.keyCode === 36 && event.ctrlKey ) { // display the date picker on ctrl+home >- $.datepicker._showDatepicker( this ); >- } else { >- handled = false; >- } >- >- if ( handled ) { >- event.preventDefault(); >- event.stopPropagation(); >- } >- }, >- >- /* Filter entered characters - based on date format. */ >- _doKeyPress: function( event ) { >- var chars, chr, >- inst = $.datepicker._getInst( event.target ); >- >- if ( $.datepicker._get( inst, "constrainInput" ) ) { >- chars = $.datepicker._possibleChars( $.datepicker._get( inst, "dateFormat" ) ); >- chr = String.fromCharCode( event.charCode == null ? event.keyCode : event.charCode ); >- return event.ctrlKey || event.metaKey || ( chr < " " || !chars || chars.indexOf( chr ) > -1 ); >- } >- }, >- >- /* Synchronise manual entry and field/alternate field. */ >- _doKeyUp: function( event ) { >- var date, >- inst = $.datepicker._getInst( event.target ); >- >- if ( inst.input.val() !== inst.lastVal ) { >- try { >- date = $.datepicker.parseDate( $.datepicker._get( inst, "dateFormat" ), >- ( inst.input ? inst.input.val() : null ), >- $.datepicker._getFormatConfig( inst ) ); >- >- if ( date ) { // only if valid >- $.datepicker._setDateFromField( inst ); >- $.datepicker._updateAlternate( inst ); >- $.datepicker._updateDatepicker( inst ); >- } >- } >- catch ( err ) { >- } >- } >- return true; >- }, >- >- /* Pop-up the date picker for a given input field. >- * If false returned from beforeShow event handler do not show. >- * @param input element - the input field attached to the date picker or >- * event - if triggered by focus >- */ >- _showDatepicker: function( input ) { >- input = input.target || input; >- if ( input.nodeName.toLowerCase() !== "input" ) { // find from button/image trigger >- input = $( "input", input.parentNode )[ 0 ]; >- } >- >- if ( $.datepicker._isDisabledDatepicker( input ) || $.datepicker._lastInput === input ) { // already here >- return; >- } >- >- var inst, beforeShow, beforeShowSettings, isFixed, >- offset, showAnim, duration; >- >- inst = $.datepicker._getInst( input ); >- if ( $.datepicker._curInst && $.datepicker._curInst !== inst ) { >- $.datepicker._curInst.dpDiv.stop( true, true ); >- if ( inst && $.datepicker._datepickerShowing ) { >- $.datepicker._hideDatepicker( $.datepicker._curInst.input[ 0 ] ); >- } >- } >- >- beforeShow = $.datepicker._get( inst, "beforeShow" ); >- beforeShowSettings = beforeShow ? beforeShow.apply( input, [ input, inst ] ) : {}; >- if ( beforeShowSettings === false ) { >- return; >- } >- datepicker_extendRemove( inst.settings, beforeShowSettings ); >- >- inst.lastVal = null; >- $.datepicker._lastInput = input; >- $.datepicker._setDateFromField( inst ); >- >- if ( $.datepicker._inDialog ) { // hide cursor >- input.value = ""; >- } >- if ( !$.datepicker._pos ) { // position below input >- $.datepicker._pos = $.datepicker._findPos( input ); >- $.datepicker._pos[ 1 ] += input.offsetHeight; // add the height >- } >- >- isFixed = false; >- $( input ).parents().each( function() { >- isFixed |= $( this ).css( "position" ) === "fixed"; >- return !isFixed; >- } ); >- >- offset = { left: $.datepicker._pos[ 0 ], top: $.datepicker._pos[ 1 ] }; >- $.datepicker._pos = null; >- >- //to avoid flashes on Firefox >- inst.dpDiv.empty(); >- >- // determine sizing offscreen >- inst.dpDiv.css( { position: "absolute", display: "block", top: "-1000px" } ); >- $.datepicker._updateDatepicker( inst ); >- >- // fix width for dynamic number of date pickers >- // and adjust position before showing >- offset = $.datepicker._checkOffset( inst, offset, isFixed ); >- inst.dpDiv.css( { position: ( $.datepicker._inDialog && $.blockUI ? >- "static" : ( isFixed ? "fixed" : "absolute" ) ), display: "none", >- left: offset.left + "px", top: offset.top + "px" } ); >- >- if ( !inst.inline ) { >- showAnim = $.datepicker._get( inst, "showAnim" ); >- duration = $.datepicker._get( inst, "duration" ); >- inst.dpDiv.css( "z-index", datepicker_getZindex( $( input ) ) + 1 ); >- $.datepicker._datepickerShowing = true; >- >- if ( $.effects && $.effects.effect[ showAnim ] ) { >- inst.dpDiv.show( showAnim, $.datepicker._get( inst, "showOptions" ), duration ); >- } else { >- inst.dpDiv[ showAnim || "show" ]( showAnim ? duration : null ); >- } >- >- if ( $.datepicker._shouldFocusInput( inst ) ) { >- inst.input.trigger( "focus" ); >- } >- >- $.datepicker._curInst = inst; >- } >- }, >- >- /* Generate the date picker content. */ >- _updateDatepicker: function( inst ) { >- this.maxRows = 4; //Reset the max number of rows being displayed (see #7043) >- datepicker_instActive = inst; // for delegate hover events >- inst.dpDiv.empty().append( this._generateHTML( inst ) ); >- this._attachHandlers( inst ); >- >- var origyearshtml, >- numMonths = this._getNumberOfMonths( inst ), >- cols = numMonths[ 1 ], >- width = 17, >- activeCell = inst.dpDiv.find( "." + this._dayOverClass + " a" ); >- >- if ( activeCell.length > 0 ) { >- datepicker_handleMouseover.apply( activeCell.get( 0 ) ); >- } >- >- inst.dpDiv.removeClass( "ui-datepicker-multi-2 ui-datepicker-multi-3 ui-datepicker-multi-4" ).width( "" ); >- if ( cols > 1 ) { >- inst.dpDiv.addClass( "ui-datepicker-multi-" + cols ).css( "width", ( width * cols ) + "em" ); >- } >- inst.dpDiv[ ( numMonths[ 0 ] !== 1 || numMonths[ 1 ] !== 1 ? "add" : "remove" ) + >- "Class" ]( "ui-datepicker-multi" ); >- inst.dpDiv[ ( this._get( inst, "isRTL" ) ? "add" : "remove" ) + >- "Class" ]( "ui-datepicker-rtl" ); >- >- if ( inst === $.datepicker._curInst && $.datepicker._datepickerShowing && $.datepicker._shouldFocusInput( inst ) ) { >- inst.input.trigger( "focus" ); >- } >- >- // Deffered render of the years select (to avoid flashes on Firefox) >- if ( inst.yearshtml ) { >- origyearshtml = inst.yearshtml; >- setTimeout( function() { >- >- //assure that inst.yearshtml didn't change. >- if ( origyearshtml === inst.yearshtml && inst.yearshtml ) { >- inst.dpDiv.find( "select.ui-datepicker-year:first" ).replaceWith( inst.yearshtml ); >- } >- origyearshtml = inst.yearshtml = null; >- }, 0 ); >- } >- }, >- >- // #6694 - don't focus the input if it's already focused >- // this breaks the change event in IE >- // Support: IE and jQuery <1.9 >- _shouldFocusInput: function( inst ) { >- return inst.input && inst.input.is( ":visible" ) && !inst.input.is( ":disabled" ) && !inst.input.is( ":focus" ); >- }, >- >- /* Check positioning to remain on screen. */ >- _checkOffset: function( inst, offset, isFixed ) { >- var dpWidth = inst.dpDiv.outerWidth(), >- dpHeight = inst.dpDiv.outerHeight(), >- inputWidth = inst.input ? inst.input.outerWidth() : 0, >- inputHeight = inst.input ? inst.input.outerHeight() : 0, >- viewWidth = document.documentElement.clientWidth + ( isFixed ? 0 : $( document ).scrollLeft() ), >- viewHeight = document.documentElement.clientHeight + ( isFixed ? 0 : $( document ).scrollTop() ); >- >- offset.left -= ( this._get( inst, "isRTL" ) ? ( dpWidth - inputWidth ) : 0 ); >- offset.left -= ( isFixed && offset.left === inst.input.offset().left ) ? $( document ).scrollLeft() : 0; >- offset.top -= ( isFixed && offset.top === ( inst.input.offset().top + inputHeight ) ) ? $( document ).scrollTop() : 0; >- >- // Now check if datepicker is showing outside window viewport - move to a better place if so. >- offset.left -= Math.min( offset.left, ( offset.left + dpWidth > viewWidth && viewWidth > dpWidth ) ? >- Math.abs( offset.left + dpWidth - viewWidth ) : 0 ); >- offset.top -= Math.min( offset.top, ( offset.top + dpHeight > viewHeight && viewHeight > dpHeight ) ? >- Math.abs( dpHeight + inputHeight ) : 0 ); >- >- return offset; >- }, >- >- /* Find an object's position on the screen. */ >- _findPos: function( obj ) { >- var position, >- inst = this._getInst( obj ), >- isRTL = this._get( inst, "isRTL" ); >- >- while ( obj && ( obj.type === "hidden" || obj.nodeType !== 1 || $.expr.filters.hidden( obj ) ) ) { >- obj = obj[ isRTL ? "previousSibling" : "nextSibling" ]; >- } >- >- position = $( obj ).offset(); >- return [ position.left, position.top ]; >- }, >- >- /* Hide the date picker from view. >- * @param input element - the input field attached to the date picker >- */ >- _hideDatepicker: function( input ) { >- var showAnim, duration, postProcess, onClose, >- inst = this._curInst; >- >- if ( !inst || ( input && inst !== $.data( input, "datepicker" ) ) ) { >- return; >- } >- >- if ( this._datepickerShowing ) { >- showAnim = this._get( inst, "showAnim" ); >- duration = this._get( inst, "duration" ); >- postProcess = function() { >- $.datepicker._tidyDialog( inst ); >- }; >- >- // DEPRECATED: after BC for 1.8.x $.effects[ showAnim ] is not needed >- if ( $.effects && ( $.effects.effect[ showAnim ] || $.effects[ showAnim ] ) ) { >- inst.dpDiv.hide( showAnim, $.datepicker._get( inst, "showOptions" ), duration, postProcess ); >- } else { >- inst.dpDiv[ ( showAnim === "slideDown" ? "slideUp" : >- ( showAnim === "fadeIn" ? "fadeOut" : "hide" ) ) ]( ( showAnim ? duration : null ), postProcess ); >- } >- >- if ( !showAnim ) { >- postProcess(); >- } >- this._datepickerShowing = false; >- >- onClose = this._get( inst, "onClose" ); >- if ( onClose ) { >- onClose.apply( ( inst.input ? inst.input[ 0 ] : null ), [ ( inst.input ? inst.input.val() : "" ), inst ] ); >- } >- >- this._lastInput = null; >- if ( this._inDialog ) { >- this._dialogInput.css( { position: "absolute", left: "0", top: "-100px" } ); >- if ( $.blockUI ) { >- $.unblockUI(); >- $( "body" ).append( this.dpDiv ); >- } >- } >- this._inDialog = false; >- } >- }, >- >- /* Tidy up after a dialog display. */ >- _tidyDialog: function( inst ) { >- inst.dpDiv.removeClass( this._dialogClass ).off( ".ui-datepicker-calendar" ); >- }, >- >- /* Close date picker if clicked elsewhere. */ >- _checkExternalClick: function( event ) { >- if ( !$.datepicker._curInst ) { >- return; >- } >- >- var $target = $( event.target ), >- inst = $.datepicker._getInst( $target[ 0 ] ); >- >- if ( ( ( $target[ 0 ].id !== $.datepicker._mainDivId && >- $target.parents( "#" + $.datepicker._mainDivId ).length === 0 && >- !$target.hasClass( $.datepicker.markerClassName ) && >- !$target.closest( "." + $.datepicker._triggerClass ).length && >- $.datepicker._datepickerShowing && !( $.datepicker._inDialog && $.blockUI ) ) ) || >- ( $target.hasClass( $.datepicker.markerClassName ) && $.datepicker._curInst !== inst ) ) { >- $.datepicker._hideDatepicker(); >- } >- }, >- >- /* Adjust one of the date sub-fields. */ >- _adjustDate: function( id, offset, period ) { >- var target = $( id ), >- inst = this._getInst( target[ 0 ] ); >- >- if ( this._isDisabledDatepicker( target[ 0 ] ) ) { >- return; >- } >- this._adjustInstDate( inst, offset + >- ( period === "M" ? this._get( inst, "showCurrentAtPos" ) : 0 ), // undo positioning >- period ); >- this._updateDatepicker( inst ); >- }, >- >- /* Action for current link. */ >- _gotoToday: function( id ) { >- var date, >- target = $( id ), >- inst = this._getInst( target[ 0 ] ); >- >- if ( this._get( inst, "gotoCurrent" ) && inst.currentDay ) { >- inst.selectedDay = inst.currentDay; >- inst.drawMonth = inst.selectedMonth = inst.currentMonth; >- inst.drawYear = inst.selectedYear = inst.currentYear; >- } else { >- date = new Date(); >- inst.selectedDay = date.getDate(); >- inst.drawMonth = inst.selectedMonth = date.getMonth(); >- inst.drawYear = inst.selectedYear = date.getFullYear(); >- } >- this._notifyChange( inst ); >- this._adjustDate( target ); >- }, >- >- /* Action for selecting a new month/year. */ >- _selectMonthYear: function( id, select, period ) { >- var target = $( id ), >- inst = this._getInst( target[ 0 ] ); >- >- inst[ "selected" + ( period === "M" ? "Month" : "Year" ) ] = >- inst[ "draw" + ( period === "M" ? "Month" : "Year" ) ] = >- parseInt( select.options[ select.selectedIndex ].value, 10 ); >- >- this._notifyChange( inst ); >- this._adjustDate( target ); >- }, >- >- /* Action for selecting a day. */ >- _selectDay: function( id, month, year, td ) { >- var inst, >- target = $( id ); >- >- if ( $( td ).hasClass( this._unselectableClass ) || this._isDisabledDatepicker( target[ 0 ] ) ) { >- return; >- } >- >- inst = this._getInst( target[ 0 ] ); >- inst.selectedDay = inst.currentDay = $( "a", td ).html(); >- inst.selectedMonth = inst.currentMonth = month; >- inst.selectedYear = inst.currentYear = year; >- this._selectDate( id, this._formatDate( inst, >- inst.currentDay, inst.currentMonth, inst.currentYear ) ); >- }, >- >- /* Erase the input field and hide the date picker. */ >- _clearDate: function( id ) { >- var target = $( id ); >- this._selectDate( target, "" ); >- }, >- >- /* Update the input field with the selected date. */ >- _selectDate: function( id, dateStr ) { >- var onSelect, >- target = $( id ), >- inst = this._getInst( target[ 0 ] ); >- >- dateStr = ( dateStr != null ? dateStr : this._formatDate( inst ) ); >- if ( inst.input ) { >- inst.input.val( dateStr ); >- } >- this._updateAlternate( inst ); >- >- onSelect = this._get( inst, "onSelect" ); >- if ( onSelect ) { >- onSelect.apply( ( inst.input ? inst.input[ 0 ] : null ), [ dateStr, inst ] ); // trigger custom callback >- } else if ( inst.input ) { >- inst.input.trigger( "change" ); // fire the change event >- } >- >- if ( inst.inline ) { >- this._updateDatepicker( inst ); >- } else { >- this._hideDatepicker(); >- this._lastInput = inst.input[ 0 ]; >- if ( typeof( inst.input[ 0 ] ) !== "object" ) { >- inst.input.trigger( "focus" ); // restore focus >- } >- this._lastInput = null; >- } >- }, >- >- /* Update any alternate field to synchronise with the main field. */ >- _updateAlternate: function( inst ) { >- var altFormat, date, dateStr, >- altField = this._get( inst, "altField" ); >- >- if ( altField ) { // update alternate field too >- altFormat = this._get( inst, "altFormat" ) || this._get( inst, "dateFormat" ); >- date = this._getDate( inst ); >- dateStr = this.formatDate( altFormat, date, this._getFormatConfig( inst ) ); >- $( altField ).val( dateStr ); >- } >- }, >- >- /* Set as beforeShowDay function to prevent selection of weekends. >- * @param date Date - the date to customise >- * @return [boolean, string] - is this date selectable?, what is its CSS class? >- */ >- noWeekends: function( date ) { >- var day = date.getDay(); >- return [ ( day > 0 && day < 6 ), "" ]; >- }, >- >- /* Set as calculateWeek to determine the week of the year based on the ISO 8601 definition. >- * @param date Date - the date to get the week for >- * @return number - the number of the week within the year that contains this date >- */ >- iso8601Week: function( date ) { >- var time, >- checkDate = new Date( date.getTime() ); >- >- // Find Thursday of this week starting on Monday >- checkDate.setDate( checkDate.getDate() + 4 - ( checkDate.getDay() || 7 ) ); >- >- time = checkDate.getTime(); >- checkDate.setMonth( 0 ); // Compare with Jan 1 >- checkDate.setDate( 1 ); >- return Math.floor( Math.round( ( time - checkDate ) / 86400000 ) / 7 ) + 1; >- }, >- >- /* Parse a string value into a date object. >- * See formatDate below for the possible formats. >- * >- * @param format string - the expected format of the date >- * @param value string - the date in the above format >- * @param settings Object - attributes include: >- * shortYearCutoff number - the cutoff year for determining the century (optional) >- * dayNamesShort string[7] - abbreviated names of the days from Sunday (optional) >- * dayNames string[7] - names of the days from Sunday (optional) >- * monthNamesShort string[12] - abbreviated names of the months (optional) >- * monthNames string[12] - names of the months (optional) >- * @return Date - the extracted date value or null if value is blank >- */ >- parseDate: function( format, value, settings ) { >- if ( format == null || value == null ) { >- throw "Invalid arguments"; >- } >- >- value = ( typeof value === "object" ? value.toString() : value + "" ); >- if ( value === "" ) { >- return null; >- } >- >- var iFormat, dim, extra, >- iValue = 0, >- shortYearCutoffTemp = ( settings ? settings.shortYearCutoff : null ) || this._defaults.shortYearCutoff, >- shortYearCutoff = ( typeof shortYearCutoffTemp !== "string" ? shortYearCutoffTemp : >- new Date().getFullYear() % 100 + parseInt( shortYearCutoffTemp, 10 ) ), >- dayNamesShort = ( settings ? settings.dayNamesShort : null ) || this._defaults.dayNamesShort, >- dayNames = ( settings ? settings.dayNames : null ) || this._defaults.dayNames, >- monthNamesShort = ( settings ? settings.monthNamesShort : null ) || this._defaults.monthNamesShort, >- monthNames = ( settings ? settings.monthNames : null ) || this._defaults.monthNames, >- year = -1, >- month = -1, >- day = -1, >- doy = -1, >- literal = false, >- date, >- >- // Check whether a format character is doubled >- lookAhead = function( match ) { >- var matches = ( iFormat + 1 < format.length && format.charAt( iFormat + 1 ) === match ); >- if ( matches ) { >- iFormat++; >- } >- return matches; >- }, >- >- // Extract a number from the string value >- getNumber = function( match ) { >- var isDoubled = lookAhead( match ), >- size = ( match === "@" ? 14 : ( match === "!" ? 20 : >- ( match === "y" && isDoubled ? 4 : ( match === "o" ? 3 : 2 ) ) ) ), >- minSize = ( match === "y" ? size : 1 ), >- digits = new RegExp( "^\\d{" + minSize + "," + size + "}" ), >- num = value.substring( iValue ).match( digits ); >- if ( !num ) { >- throw "Missing number at position " + iValue; >- } >- iValue += num[ 0 ].length; >- return parseInt( num[ 0 ], 10 ); >- }, >- >- // Extract a name from the string value and convert to an index >- getName = function( match, shortNames, longNames ) { >- var index = -1, >- names = $.map( lookAhead( match ) ? longNames : shortNames, function( v, k ) { >- return [ [ k, v ] ]; >- } ).sort( function( a, b ) { >- return -( a[ 1 ].length - b[ 1 ].length ); >- } ); >- >- $.each( names, function( i, pair ) { >- var name = pair[ 1 ]; >- if ( value.substr( iValue, name.length ).toLowerCase() === name.toLowerCase() ) { >- index = pair[ 0 ]; >- iValue += name.length; >- return false; >- } >- } ); >- if ( index !== -1 ) { >- return index + 1; >- } else { >- throw "Unknown name at position " + iValue; >- } >- }, >- >- // Confirm that a literal character matches the string value >- checkLiteral = function() { >- if ( value.charAt( iValue ) !== format.charAt( iFormat ) ) { >- throw "Unexpected literal at position " + iValue; >- } >- iValue++; >- }; >- >- for ( iFormat = 0; iFormat < format.length; iFormat++ ) { >- if ( literal ) { >- if ( format.charAt( iFormat ) === "'" && !lookAhead( "'" ) ) { >- literal = false; >- } else { >- checkLiteral(); >- } >- } else { >- switch ( format.charAt( iFormat ) ) { >- case "d": >- day = getNumber( "d" ); >- break; >- case "D": >- getName( "D", dayNamesShort, dayNames ); >- break; >- case "o": >- doy = getNumber( "o" ); >- break; >- case "m": >- month = getNumber( "m" ); >- break; >- case "M": >- month = getName( "M", monthNamesShort, monthNames ); >- break; >- case "y": >- year = getNumber( "y" ); >- break; >- case "@": >- date = new Date( getNumber( "@" ) ); >- year = date.getFullYear(); >- month = date.getMonth() + 1; >- day = date.getDate(); >- break; >- case "!": >- date = new Date( ( getNumber( "!" ) - this._ticksTo1970 ) / 10000 ); >- year = date.getFullYear(); >- month = date.getMonth() + 1; >- day = date.getDate(); >- break; >- case "'": >- if ( lookAhead( "'" ) ) { >- checkLiteral(); >- } else { >- literal = true; >- } >- break; >- default: >- checkLiteral(); >- } >- } >- } >- >- if ( iValue < value.length ) { >- extra = value.substr( iValue ); >- if ( !/^\s+/.test( extra ) ) { >- throw "Extra/unparsed characters found in date: " + extra; >- } >- } >- >- if ( year === -1 ) { >- year = new Date().getFullYear(); >- } else if ( year < 100 ) { >- year += new Date().getFullYear() - new Date().getFullYear() % 100 + >- ( year <= shortYearCutoff ? 0 : -100 ); >- } >- >- if ( doy > -1 ) { >- month = 1; >- day = doy; >- do { >- dim = this._getDaysInMonth( year, month - 1 ); >- if ( day <= dim ) { >- break; >- } >- month++; >- day -= dim; >- } while ( true ); >- } >- >- date = this._daylightSavingAdjust( new Date( year, month - 1, day ) ); >- if ( date.getFullYear() !== year || date.getMonth() + 1 !== month || date.getDate() !== day ) { >- throw "Invalid date"; // E.g. 31/02/00 >- } >- return date; >- }, >- >- /* Standard date formats. */ >- ATOM: "yy-mm-dd", // RFC 3339 (ISO 8601) >- 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", // RFC 822 >- TICKS: "!", >- TIMESTAMP: "@", >- W3C: "yy-mm-dd", // ISO 8601 >- >- _ticksTo1970: ( ( ( 1970 - 1 ) * 365 + Math.floor( 1970 / 4 ) - Math.floor( 1970 / 100 ) + >- Math.floor( 1970 / 400 ) ) * 24 * 60 * 60 * 10000000 ), >- >- /* Format a date object into a string value. >- * The format can be combinations of the following: >- * d - day of month (no leading zero) >- * dd - day of month (two digit) >- * o - day of year (no leading zeros) >- * oo - day of year (three digit) >- * D - day name short >- * DD - day name long >- * m - month of year (no leading zero) >- * mm - month of year (two digit) >- * M - month name short >- * MM - month name long >- * y - year (two digit) >- * yy - year (four digit) >- * @ - Unix timestamp (ms since 01/01/1970) >- * ! - Windows ticks (100ns since 01/01/0001) >- * "..." - literal text >- * '' - single quote >- * >- * @param format string - the desired format of the date >- * @param date Date - the date value to format >- * @param settings Object - attributes include: >- * dayNamesShort string[7] - abbreviated names of the days from Sunday (optional) >- * dayNames string[7] - names of the days from Sunday (optional) >- * monthNamesShort string[12] - abbreviated names of the months (optional) >- * monthNames string[12] - names of the months (optional) >- * @return string - the date in the above format >- */ >- formatDate: function( format, date, settings ) { >- if ( !date ) { >- return ""; >- } >- >- var iFormat, >- dayNamesShort = ( settings ? settings.dayNamesShort : null ) || this._defaults.dayNamesShort, >- dayNames = ( settings ? settings.dayNames : null ) || this._defaults.dayNames, >- monthNamesShort = ( settings ? settings.monthNamesShort : null ) || this._defaults.monthNamesShort, >- monthNames = ( settings ? settings.monthNames : null ) || this._defaults.monthNames, >- >- // Check whether a format character is doubled >- lookAhead = function( match ) { >- var matches = ( iFormat + 1 < format.length && format.charAt( iFormat + 1 ) === match ); >- if ( matches ) { >- iFormat++; >- } >- return matches; >- }, >- >- // Format a number, with leading zero if necessary >- formatNumber = function( match, value, len ) { >- var num = "" + value; >- if ( lookAhead( match ) ) { >- while ( num.length < len ) { >- num = "0" + num; >- } >- } >- return num; >- }, >- >- // Format a name, short or long as requested >- formatName = function( match, value, shortNames, longNames ) { >- return ( lookAhead( match ) ? longNames[ value ] : shortNames[ value ] ); >- }, >- output = "", >- literal = false; >- >- if ( date ) { >- for ( iFormat = 0; iFormat < format.length; iFormat++ ) { >- if ( literal ) { >- if ( format.charAt( iFormat ) === "'" && !lookAhead( "'" ) ) { >- literal = false; >- } else { >- output += format.charAt( iFormat ); >- } >- } else { >- switch ( format.charAt( iFormat ) ) { >- case "d": >- output += formatNumber( "d", date.getDate(), 2 ); >- break; >- case "D": >- output += formatName( "D", date.getDay(), dayNamesShort, dayNames ); >- break; >- case "o": >- output += formatNumber( "o", >- Math.round( ( new Date( date.getFullYear(), date.getMonth(), date.getDate() ).getTime() - new Date( date.getFullYear(), 0, 0 ).getTime() ) / 86400000 ), 3 ); >- break; >- case "m": >- output += formatNumber( "m", date.getMonth() + 1, 2 ); >- break; >- case "M": >- output += formatName( "M", date.getMonth(), monthNamesShort, monthNames ); >- break; >- case "y": >- output += ( lookAhead( "y" ) ? date.getFullYear() : >- ( date.getFullYear() % 100 < 10 ? "0" : "" ) + date.getFullYear() % 100 ); >- break; >- case "@": >- output += date.getTime(); >- break; >- case "!": >- output += date.getTime() * 10000 + this._ticksTo1970; >- break; >- case "'": >- if ( lookAhead( "'" ) ) { >- output += "'"; >- } else { >- literal = true; >- } >- break; >- default: >- output += format.charAt( iFormat ); >- } >- } >- } >- } >- return output; >- }, >- >- /* Extract all possible characters from the date format. */ >- _possibleChars: function( format ) { >- var iFormat, >- chars = "", >- literal = false, >- >- // Check whether a format character is doubled >- lookAhead = function( match ) { >- var matches = ( iFormat + 1 < format.length && format.charAt( iFormat + 1 ) === match ); >- if ( matches ) { >- iFormat++; >- } >- return matches; >- }; >- >- for ( iFormat = 0; iFormat < format.length; iFormat++ ) { >- if ( literal ) { >- if ( format.charAt( iFormat ) === "'" && !lookAhead( "'" ) ) { >- literal = false; >- } else { >- chars += format.charAt( iFormat ); >- } >- } else { >- switch ( format.charAt( iFormat ) ) { >- case "d": case "m": case "y": case "@": >- chars += "0123456789"; >- break; >- case "D": case "M": >- return null; // Accept anything >- case "'": >- if ( lookAhead( "'" ) ) { >- chars += "'"; >- } else { >- literal = true; >- } >- break; >- default: >- chars += format.charAt( iFormat ); >- } >- } >- } >- return chars; >- }, >- >- /* Get a setting value, defaulting if necessary. */ >- _get: function( inst, name ) { >- return inst.settings[ name ] !== undefined ? >- inst.settings[ name ] : this._defaults[ name ]; >- }, >- >- /* Parse existing date and initialise date picker. */ >- _setDateFromField: function( inst, noDefault ) { >- if ( inst.input.val() === inst.lastVal ) { >- return; >- } >- >- var dateFormat = this._get( inst, "dateFormat" ), >- dates = inst.lastVal = inst.input ? inst.input.val() : null, >- defaultDate = this._getDefaultDate( inst ), >- date = defaultDate, >- settings = this._getFormatConfig( inst ); >- >- try { >- date = this.parseDate( dateFormat, dates, settings ) || defaultDate; >- } catch ( event ) { >- dates = ( noDefault ? "" : dates ); >- } >- inst.selectedDay = date.getDate(); >- inst.drawMonth = inst.selectedMonth = date.getMonth(); >- inst.drawYear = inst.selectedYear = date.getFullYear(); >- inst.currentDay = ( dates ? date.getDate() : 0 ); >- inst.currentMonth = ( dates ? date.getMonth() : 0 ); >- inst.currentYear = ( dates ? date.getFullYear() : 0 ); >- this._adjustInstDate( inst ); >- }, >- >- /* Retrieve the default date shown on opening. */ >- _getDefaultDate: function( inst ) { >- return this._restrictMinMax( inst, >- this._determineDate( inst, this._get( inst, "defaultDate" ), new Date() ) ); >- }, >- >- /* A date may be specified as an exact value or a relative one. */ >- _determineDate: function( inst, date, defaultDate ) { >- var offsetNumeric = function( offset ) { >- var date = new Date(); >- date.setDate( date.getDate() + offset ); >- return date; >- }, >- offsetString = function( offset ) { >- try { >- return $.datepicker.parseDate( $.datepicker._get( inst, "dateFormat" ), >- offset, $.datepicker._getFormatConfig( inst ) ); >- } >- catch ( e ) { >- >- // Ignore >- } >- >- var date = ( offset.toLowerCase().match( /^c/ ) ? >- $.datepicker._getDate( inst ) : null ) || new Date(), >- year = date.getFullYear(), >- month = date.getMonth(), >- day = date.getDate(), >- pattern = /([+\-]?[0-9]+)\s*(d|D|w|W|m|M|y|Y)?/g, >- matches = pattern.exec( offset ); >- >- while ( matches ) { >- switch ( matches[ 2 ] || "d" ) { >- case "d" : case "D" : >- day += parseInt( matches[ 1 ], 10 ); break; >- case "w" : case "W" : >- day += parseInt( matches[ 1 ], 10 ) * 7; break; >- case "m" : case "M" : >- month += parseInt( matches[ 1 ], 10 ); >- day = Math.min( day, $.datepicker._getDaysInMonth( year, month ) ); >- break; >- case "y": case "Y" : >- year += parseInt( matches[ 1 ], 10 ); >- day = Math.min( day, $.datepicker._getDaysInMonth( year, month ) ); >- break; >- } >- matches = pattern.exec( offset ); >- } >- return new Date( year, month, day ); >- }, >- newDate = ( date == null || date === "" ? defaultDate : ( typeof date === "string" ? offsetString( date ) : >- ( typeof date === "number" ? ( isNaN( date ) ? defaultDate : offsetNumeric( date ) ) : new Date( date.getTime() ) ) ) ); >- >- newDate = ( newDate && newDate.toString() === "Invalid Date" ? defaultDate : newDate ); >- if ( newDate ) { >- newDate.setHours( 0 ); >- newDate.setMinutes( 0 ); >- newDate.setSeconds( 0 ); >- newDate.setMilliseconds( 0 ); >- } >- return this._daylightSavingAdjust( newDate ); >- }, >- >- /* Handle switch to/from daylight saving. >- * Hours may be non-zero on daylight saving cut-over: >- * > 12 when midnight changeover, but then cannot generate >- * midnight datetime, so jump to 1AM, otherwise reset. >- * @param date (Date) the date to check >- * @return (Date) the corrected date >- */ >- _daylightSavingAdjust: function( date ) { >- if ( !date ) { >- return null; >- } >- date.setHours( date.getHours() > 12 ? date.getHours() + 2 : 0 ); >- return date; >- }, >- >- /* Set the date(s) directly. */ >- _setDate: function( inst, date, noChange ) { >- var clear = !date, >- origMonth = inst.selectedMonth, >- origYear = inst.selectedYear, >- newDate = this._restrictMinMax( inst, this._determineDate( inst, date, new Date() ) ); >- >- inst.selectedDay = inst.currentDay = newDate.getDate(); >- inst.drawMonth = inst.selectedMonth = inst.currentMonth = newDate.getMonth(); >- inst.drawYear = inst.selectedYear = inst.currentYear = newDate.getFullYear(); >- if ( ( origMonth !== inst.selectedMonth || origYear !== inst.selectedYear ) && !noChange ) { >- this._notifyChange( inst ); >- } >- this._adjustInstDate( inst ); >- if ( inst.input ) { >- inst.input.val( clear ? "" : this._formatDate( inst ) ); >- } >- }, >- >- /* Retrieve the date(s) directly. */ >- _getDate: function( inst ) { >- var startDate = ( !inst.currentYear || ( inst.input && inst.input.val() === "" ) ? null : >- this._daylightSavingAdjust( new Date( >- inst.currentYear, inst.currentMonth, inst.currentDay ) ) ); >- return startDate; >- }, >- >- /* Attach the onxxx handlers. These are declared statically so >- * they work with static code transformers like Caja. >- */ >- _attachHandlers: function( inst ) { >- var stepMonths = this._get( inst, "stepMonths" ), >- id = "#" + inst.id.replace( /\\\\/g, "\\" ); >- inst.dpDiv.find( "[data-handler]" ).map( function() { >- var handler = { >- prev: function() { >- $.datepicker._adjustDate( id, -stepMonths, "M" ); >- }, >- next: function() { >- $.datepicker._adjustDate( id, +stepMonths, "M" ); >- }, >- hide: function() { >- $.datepicker._hideDatepicker(); >- }, >- today: function() { >- $.datepicker._gotoToday( id ); >- }, >- selectDay: function() { >- $.datepicker._selectDay( id, +this.getAttribute( "data-month" ), +this.getAttribute( "data-year" ), this ); >- return false; >- }, >- selectMonth: function() { >- $.datepicker._selectMonthYear( id, this, "M" ); >- return false; >- }, >- selectYear: function() { >- $.datepicker._selectMonthYear( id, this, "Y" ); >- return false; >- } >- }; >- $( this ).on( this.getAttribute( "data-event" ), handler[ this.getAttribute( "data-handler" ) ] ); >- } ); >- }, >- >- /* Generate the HTML for the current state of the date picker. */ >- _generateHTML: function( inst ) { >- var maxDraw, prevText, prev, nextText, next, currentText, gotoDate, >- controls, buttonPanel, firstDay, showWeek, dayNames, dayNamesMin, >- monthNames, monthNamesShort, beforeShowDay, showOtherMonths, >- selectOtherMonths, defaultDate, html, dow, row, group, col, selectedDate, >- cornerClass, calender, thead, day, daysInMonth, leadDays, curRows, numRows, >- printDate, dRow, tbody, daySettings, otherMonth, unselectable, >- tempDate = new Date(), >- today = this._daylightSavingAdjust( >- new Date( tempDate.getFullYear(), tempDate.getMonth(), tempDate.getDate() ) ), // clear time >- isRTL = this._get( inst, "isRTL" ), >- showButtonPanel = this._get( inst, "showButtonPanel" ), >- hideIfNoPrevNext = this._get( inst, "hideIfNoPrevNext" ), >- navigationAsDateFormat = this._get( inst, "navigationAsDateFormat" ), >- numMonths = this._getNumberOfMonths( inst ), >- showCurrentAtPos = this._get( inst, "showCurrentAtPos" ), >- stepMonths = this._get( inst, "stepMonths" ), >- isMultiMonth = ( numMonths[ 0 ] !== 1 || numMonths[ 1 ] !== 1 ), >- currentDate = this._daylightSavingAdjust( ( !inst.currentDay ? new Date( 9999, 9, 9 ) : >- new Date( inst.currentYear, inst.currentMonth, inst.currentDay ) ) ), >- minDate = this._getMinMaxDate( inst, "min" ), >- maxDate = this._getMinMaxDate( inst, "max" ), >- drawMonth = inst.drawMonth - showCurrentAtPos, >- drawYear = inst.drawYear; >- >- if ( drawMonth < 0 ) { >- drawMonth += 12; >- drawYear--; >- } >- if ( maxDate ) { >- maxDraw = this._daylightSavingAdjust( new Date( maxDate.getFullYear(), >- maxDate.getMonth() - ( numMonths[ 0 ] * numMonths[ 1 ] ) + 1, maxDate.getDate() ) ); >- maxDraw = ( minDate && maxDraw < minDate ? minDate : maxDraw ); >- while ( this._daylightSavingAdjust( new Date( drawYear, drawMonth, 1 ) ) > maxDraw ) { >- drawMonth--; >- if ( drawMonth < 0 ) { >- drawMonth = 11; >- drawYear--; >- } >- } >- } >- inst.drawMonth = drawMonth; >- inst.drawYear = drawYear; >- >- prevText = this._get( inst, "prevText" ); >- prevText = ( !navigationAsDateFormat ? prevText : this.formatDate( prevText, >- this._daylightSavingAdjust( new Date( drawYear, drawMonth - stepMonths, 1 ) ), >- this._getFormatConfig( inst ) ) ); >- >- prev = ( this._canAdjustMonth( inst, -1, drawYear, drawMonth ) ? >- "<a class='ui-datepicker-prev ui-corner-all' data-handler='prev' data-event='click'" + >- " title='" + prevText + "'><span class='ui-icon ui-icon-circle-triangle-" + ( isRTL ? "e" : "w" ) + "'>" + prevText + "</span></a>" : >- ( hideIfNoPrevNext ? "" : "<a class='ui-datepicker-prev ui-corner-all ui-state-disabled' title='" + prevText + "'><span class='ui-icon ui-icon-circle-triangle-" + ( isRTL ? "e" : "w" ) + "'>" + prevText + "</span></a>" ) ); >- >- nextText = this._get( inst, "nextText" ); >- nextText = ( !navigationAsDateFormat ? nextText : this.formatDate( nextText, >- this._daylightSavingAdjust( new Date( drawYear, drawMonth + stepMonths, 1 ) ), >- this._getFormatConfig( inst ) ) ); >- >- next = ( this._canAdjustMonth( inst, +1, drawYear, drawMonth ) ? >- "<a class='ui-datepicker-next ui-corner-all' data-handler='next' data-event='click'" + >- " title='" + nextText + "'><span class='ui-icon ui-icon-circle-triangle-" + ( isRTL ? "w" : "e" ) + "'>" + nextText + "</span></a>" : >- ( hideIfNoPrevNext ? "" : "<a class='ui-datepicker-next ui-corner-all ui-state-disabled' title='" + nextText + "'><span class='ui-icon ui-icon-circle-triangle-" + ( isRTL ? "w" : "e" ) + "'>" + nextText + "</span></a>" ) ); >- >- currentText = this._get( inst, "currentText" ); >- gotoDate = ( this._get( inst, "gotoCurrent" ) && inst.currentDay ? currentDate : today ); >- currentText = ( !navigationAsDateFormat ? currentText : >- this.formatDate( currentText, gotoDate, this._getFormatConfig( inst ) ) ); >- >- controls = ( !inst.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( inst, "closeText" ) + "</button>" : "" ); >- >- buttonPanel = ( showButtonPanel ) ? "<div class='ui-datepicker-buttonpane ui-widget-content'>" + ( isRTL ? controls : "" ) + >- ( this._isInRange( inst, gotoDate ) ? "<button type='button' class='ui-datepicker-current ui-state-default ui-priority-secondary ui-corner-all' data-handler='today' data-event='click'" + >- ">" + currentText + "</button>" : "" ) + ( isRTL ? "" : controls ) + "</div>" : ""; >- >- firstDay = parseInt( this._get( inst, "firstDay" ), 10 ); >- firstDay = ( isNaN( firstDay ) ? 0 : firstDay ); >- >- showWeek = this._get( inst, "showWeek" ); >- dayNames = this._get( inst, "dayNames" ); >- dayNamesMin = this._get( inst, "dayNamesMin" ); >- monthNames = this._get( inst, "monthNames" ); >- monthNamesShort = this._get( inst, "monthNamesShort" ); >- beforeShowDay = this._get( inst, "beforeShowDay" ); >- showOtherMonths = this._get( inst, "showOtherMonths" ); >- selectOtherMonths = this._get( inst, "selectOtherMonths" ); >- defaultDate = this._getDefaultDate( inst ); >- html = ""; >- >- for ( row = 0; row < numMonths[ 0 ]; row++ ) { >- group = ""; >- this.maxRows = 4; >- for ( col = 0; col < numMonths[ 1 ]; col++ ) { >- selectedDate = this._daylightSavingAdjust( new Date( drawYear, drawMonth, inst.selectedDay ) ); >- cornerClass = " ui-corner-all"; >- calender = ""; >- if ( isMultiMonth ) { >- calender += "<div class='ui-datepicker-group"; >- if ( numMonths[ 1 ] > 1 ) { >- switch ( col ) { >- case 0: calender += " ui-datepicker-group-first"; >- cornerClass = " ui-corner-" + ( isRTL ? "right" : "left" ); break; >- case numMonths[ 1 ] - 1: calender += " ui-datepicker-group-last"; >- cornerClass = " ui-corner-" + ( isRTL ? "left" : "right" ); break; >- default: calender += " ui-datepicker-group-middle"; cornerClass = ""; break; >- } >- } >- calender += "'>"; >- } >- calender += "<div class='ui-datepicker-header ui-widget-header ui-helper-clearfix" + cornerClass + "'>" + >- ( /all|left/.test( cornerClass ) && row === 0 ? ( isRTL ? next : prev ) : "" ) + >- ( /all|right/.test( cornerClass ) && row === 0 ? ( isRTL ? prev : next ) : "" ) + >- this._generateMonthYearHeader( inst, drawMonth, drawYear, minDate, maxDate, >- row > 0 || col > 0, monthNames, monthNamesShort ) + // draw month headers >- "</div><table class='ui-datepicker-calendar'><thead>" + >- "<tr>"; >- thead = ( showWeek ? "<th class='ui-datepicker-week-col'>" + this._get( inst, "weekHeader" ) + "</th>" : "" ); >- for ( dow = 0; dow < 7; dow++ ) { // days of the week >- day = ( dow + firstDay ) % 7; >- thead += "<th scope='col'" + ( ( dow + firstDay + 6 ) % 7 >= 5 ? " class='ui-datepicker-week-end'" : "" ) + ">" + >- "<span title='" + dayNames[ day ] + "'>" + dayNamesMin[ day ] + "</span></th>"; >- } >- calender += thead + "</tr></thead><tbody>"; >- daysInMonth = this._getDaysInMonth( drawYear, drawMonth ); >- if ( drawYear === inst.selectedYear && drawMonth === inst.selectedMonth ) { >- inst.selectedDay = Math.min( inst.selectedDay, daysInMonth ); >- } >- leadDays = ( this._getFirstDayOfMonth( drawYear, drawMonth ) - firstDay + 7 ) % 7; >- curRows = Math.ceil( ( leadDays + daysInMonth ) / 7 ); // calculate the number of rows to generate >- numRows = ( isMultiMonth ? this.maxRows > curRows ? this.maxRows : curRows : curRows ); //If multiple months, use the higher number of rows (see #7043) >- this.maxRows = numRows; >- printDate = this._daylightSavingAdjust( new Date( drawYear, drawMonth, 1 - leadDays ) ); >- for ( dRow = 0; dRow < numRows; dRow++ ) { // create date picker rows >- calender += "<tr>"; >- tbody = ( !showWeek ? "" : "<td class='ui-datepicker-week-col'>" + >- this._get( inst, "calculateWeek" )( printDate ) + "</td>" ); >- for ( dow = 0; dow < 7; dow++ ) { // create date picker days >- daySettings = ( beforeShowDay ? >- beforeShowDay.apply( ( inst.input ? inst.input[ 0 ] : null ), [ printDate ] ) : [ true, "" ] ); >- otherMonth = ( printDate.getMonth() !== drawMonth ); >- unselectable = ( otherMonth && !selectOtherMonths ) || !daySettings[ 0 ] || >- ( minDate && printDate < minDate ) || ( maxDate && printDate > maxDate ); >- tbody += "<td class='" + >- ( ( dow + firstDay + 6 ) % 7 >= 5 ? " ui-datepicker-week-end" : "" ) + // highlight weekends >- ( otherMonth ? " ui-datepicker-other-month" : "" ) + // highlight days from other months >- ( ( printDate.getTime() === selectedDate.getTime() && drawMonth === inst.selectedMonth && inst._keyEvent ) || // user pressed key >- ( defaultDate.getTime() === printDate.getTime() && defaultDate.getTime() === selectedDate.getTime() ) ? >- >- // or defaultDate is current printedDate and defaultDate is selectedDate >- " " + this._dayOverClass : "" ) + // highlight selected day >- ( unselectable ? " " + this._unselectableClass + " ui-state-disabled" : "" ) + // highlight unselectable days >- ( otherMonth && !showOtherMonths ? "" : " " + daySettings[ 1 ] + // highlight custom dates >- ( printDate.getTime() === currentDate.getTime() ? " " + this._currentClass : "" ) + // highlight selected day >- ( printDate.getTime() === today.getTime() ? " ui-datepicker-today" : "" ) ) + "'" + // highlight today (if different) >- ( ( !otherMonth || showOtherMonths ) && daySettings[ 2 ] ? " title='" + daySettings[ 2 ].replace( /'/g, "'" ) + "'" : "" ) + // cell title >- ( unselectable ? "" : " data-handler='selectDay' data-event='click' data-month='" + printDate.getMonth() + "' data-year='" + printDate.getFullYear() + "'" ) + ">" + // actions >- ( otherMonth && !showOtherMonths ? " " : // display for other months >- ( unselectable ? "<span class='ui-state-default'>" + printDate.getDate() + "</span>" : "<a class='ui-state-default" + >- ( printDate.getTime() === today.getTime() ? " ui-state-highlight" : "" ) + >- ( printDate.getTime() === currentDate.getTime() ? " ui-state-active" : "" ) + // highlight selected day >- ( otherMonth ? " ui-priority-secondary" : "" ) + // distinguish dates from other months >- "' href='#'>" + printDate.getDate() + "</a>" ) ) + "</td>"; // display selectable date >- printDate.setDate( printDate.getDate() + 1 ); >- printDate = this._daylightSavingAdjust( printDate ); >- } >- calender += tbody + "</tr>"; >- } >- drawMonth++; >- if ( drawMonth > 11 ) { >- drawMonth = 0; >- drawYear++; >- } >- calender += "</tbody></table>" + ( isMultiMonth ? "</div>" + >- ( ( numMonths[ 0 ] > 0 && col === numMonths[ 1 ] - 1 ) ? "<div class='ui-datepicker-row-break'></div>" : "" ) : "" ); >- group += calender; >- } >- html += group; >- } >- html += buttonPanel; >- inst._keyEvent = false; >- return html; >- }, >- >- /* Generate the month and year header. */ >- _generateMonthYearHeader: function( inst, drawMonth, drawYear, minDate, maxDate, >- secondary, monthNames, monthNamesShort ) { >- >- var inMinYear, inMaxYear, month, years, thisYear, determineYear, year, endYear, >- changeMonth = this._get( inst, "changeMonth" ), >- changeYear = this._get( inst, "changeYear" ), >- showMonthAfterYear = this._get( inst, "showMonthAfterYear" ), >- html = "<div class='ui-datepicker-title'>", >- monthHtml = ""; >- >- // Month selection >- if ( secondary || !changeMonth ) { >- monthHtml += "<span class='ui-datepicker-month'>" + monthNames[ drawMonth ] + "</span>"; >- } else { >- inMinYear = ( minDate && minDate.getFullYear() === drawYear ); >- inMaxYear = ( maxDate && maxDate.getFullYear() === drawYear ); >- monthHtml += "<select class='ui-datepicker-month' data-handler='selectMonth' data-event='change'>"; >- for ( month = 0; month < 12; month++ ) { >- if ( ( !inMinYear || month >= minDate.getMonth() ) && ( !inMaxYear || month <= maxDate.getMonth() ) ) { >- monthHtml += "<option value='" + month + "'" + >- ( month === drawMonth ? " selected='selected'" : "" ) + >- ">" + monthNamesShort[ month ] + "</option>"; >- } >- } >- monthHtml += "</select>"; >- } >- >- if ( !showMonthAfterYear ) { >- html += monthHtml + ( secondary || !( changeMonth && changeYear ) ? " " : "" ); >- } >- >- // Year selection >- if ( !inst.yearshtml ) { >- inst.yearshtml = ""; >- if ( secondary || !changeYear ) { >- html += "<span class='ui-datepicker-year'>" + drawYear + "</span>"; >- } else { >- >- // determine range of years to display >- years = this._get( inst, "yearRange" ).split( ":" ); >- thisYear = new Date().getFullYear(); >- determineYear = function( value ) { >- var year = ( value.match( /c[+\-].*/ ) ? drawYear + parseInt( value.substring( 1 ), 10 ) : >- ( value.match( /[+\-].*/ ) ? thisYear + parseInt( value, 10 ) : >- parseInt( value, 10 ) ) ); >- return ( isNaN( year ) ? thisYear : year ); >- }; >- year = determineYear( years[ 0 ] ); >- endYear = Math.max( year, determineYear( years[ 1 ] || "" ) ); >- year = ( minDate ? Math.max( year, minDate.getFullYear() ) : year ); >- endYear = ( maxDate ? Math.min( endYear, maxDate.getFullYear() ) : endYear ); >- inst.yearshtml += "<select class='ui-datepicker-year' data-handler='selectYear' data-event='change'>"; >- for ( ; year <= endYear; year++ ) { >- inst.yearshtml += "<option value='" + year + "'" + >- ( year === drawYear ? " selected='selected'" : "" ) + >- ">" + year + "</option>"; >- } >- inst.yearshtml += "</select>"; >- >- html += inst.yearshtml; >- inst.yearshtml = null; >- } >- } >- >- html += this._get( inst, "yearSuffix" ); >- if ( showMonthAfterYear ) { >- html += ( secondary || !( changeMonth && changeYear ) ? " " : "" ) + monthHtml; >- } >- html += "</div>"; // Close datepicker_header >- return html; >- }, >- >- /* Adjust one of the date sub-fields. */ >- _adjustInstDate: function( inst, offset, period ) { >- var year = inst.selectedYear + ( period === "Y" ? offset : 0 ), >- month = inst.selectedMonth + ( period === "M" ? offset : 0 ), >- day = Math.min( inst.selectedDay, this._getDaysInMonth( year, month ) ) + ( period === "D" ? offset : 0 ), >- date = this._restrictMinMax( inst, this._daylightSavingAdjust( new Date( year, month, day ) ) ); >- >- inst.selectedDay = date.getDate(); >- inst.drawMonth = inst.selectedMonth = date.getMonth(); >- inst.drawYear = inst.selectedYear = date.getFullYear(); >- if ( period === "M" || period === "Y" ) { >- this._notifyChange( inst ); >- } >- }, >- >- /* Ensure a date is within any min/max bounds. */ >- _restrictMinMax: function( inst, date ) { >- var minDate = this._getMinMaxDate( inst, "min" ), >- maxDate = this._getMinMaxDate( inst, "max" ), >- newDate = ( minDate && date < minDate ? minDate : date ); >- return ( maxDate && newDate > maxDate ? maxDate : newDate ); >- }, >- >- /* Notify change of month/year. */ >- _notifyChange: function( inst ) { >- var onChange = this._get( inst, "onChangeMonthYear" ); >- if ( onChange ) { >- onChange.apply( ( inst.input ? inst.input[ 0 ] : null ), >- [ inst.selectedYear, inst.selectedMonth + 1, inst ] ); >- } >- }, >- >- /* Determine the number of months to show. */ >- _getNumberOfMonths: function( inst ) { >- var numMonths = this._get( inst, "numberOfMonths" ); >- return ( numMonths == null ? [ 1, 1 ] : ( typeof numMonths === "number" ? [ 1, numMonths ] : numMonths ) ); >- }, >- >- /* Determine the current maximum date - ensure no time components are set. */ >- _getMinMaxDate: function( inst, minMax ) { >- return this._determineDate( inst, this._get( inst, minMax + "Date" ), null ); >- }, >- >- /* Find the number of days in a given month. */ >- _getDaysInMonth: function( year, month ) { >- return 32 - this._daylightSavingAdjust( new Date( year, month, 32 ) ).getDate(); >- }, >- >- /* Find the day of the week of the first of a month. */ >- _getFirstDayOfMonth: function( year, month ) { >- return new Date( year, month, 1 ).getDay(); >- }, >- >- /* Determines if we should allow a "next/prev" month display change. */ >- _canAdjustMonth: function( inst, offset, curYear, curMonth ) { >- var numMonths = this._getNumberOfMonths( inst ), >- date = this._daylightSavingAdjust( new Date( curYear, >- curMonth + ( offset < 0 ? offset : numMonths[ 0 ] * numMonths[ 1 ] ), 1 ) ); >- >- if ( offset < 0 ) { >- date.setDate( this._getDaysInMonth( date.getFullYear(), date.getMonth() ) ); >- } >- return this._isInRange( inst, date ); >- }, >- >- /* Is the given date in the accepted range? */ >- _isInRange: function( inst, date ) { >- var yearSplit, currentYear, >- minDate = this._getMinMaxDate( inst, "min" ), >- maxDate = this._getMinMaxDate( inst, "max" ), >- minYear = null, >- maxYear = null, >- years = this._get( inst, "yearRange" ); >- if ( years ) { >- yearSplit = years.split( ":" ); >- currentYear = new Date().getFullYear(); >- minYear = parseInt( yearSplit[ 0 ], 10 ); >- maxYear = parseInt( yearSplit[ 1 ], 10 ); >- if ( yearSplit[ 0 ].match( /[+\-].*/ ) ) { >- minYear += currentYear; >- } >- if ( yearSplit[ 1 ].match( /[+\-].*/ ) ) { >- maxYear += currentYear; >- } >- } >- >- return ( ( !minDate || date.getTime() >= minDate.getTime() ) && >- ( !maxDate || date.getTime() <= maxDate.getTime() ) && >- ( !minYear || date.getFullYear() >= minYear ) && >- ( !maxYear || date.getFullYear() <= maxYear ) ); >- }, >- >- /* Provide the configuration settings for formatting/parsing. */ >- _getFormatConfig: function( inst ) { >- var shortYearCutoff = this._get( inst, "shortYearCutoff" ); >- shortYearCutoff = ( typeof shortYearCutoff !== "string" ? shortYearCutoff : >- new Date().getFullYear() % 100 + parseInt( shortYearCutoff, 10 ) ); >- return { shortYearCutoff: shortYearCutoff, >- dayNamesShort: this._get( inst, "dayNamesShort" ), dayNames: this._get( inst, "dayNames" ), >- monthNamesShort: this._get( inst, "monthNamesShort" ), monthNames: this._get( inst, "monthNames" ) }; >- }, >- >- /* Format the given date for display. */ >- _formatDate: function( inst, day, month, year ) { >- if ( !day ) { >- inst.currentDay = inst.selectedDay; >- inst.currentMonth = inst.selectedMonth; >- inst.currentYear = inst.selectedYear; >- } >- var date = ( day ? ( typeof day === "object" ? day : >- this._daylightSavingAdjust( new Date( year, month, day ) ) ) : >- this._daylightSavingAdjust( new Date( inst.currentYear, inst.currentMonth, inst.currentDay ) ) ); >- return this.formatDate( this._get( inst, "dateFormat" ), date, this._getFormatConfig( inst ) ); >- } >-} ); >- >-/* >- * Bind hover events for datepicker elements. >- * Done via delegate so the binding only occurs once in the lifetime of the parent div. >- * Global datepicker_instActive, set by _updateDatepicker allows the handlers to find their way back to the active picker. >- */ >-function datepicker_bindHover( dpDiv ) { >- var selector = "button, .ui-datepicker-prev, .ui-datepicker-next, .ui-datepicker-calendar td a"; >- return dpDiv.on( "mouseout", selector, function() { >- $( this ).removeClass( "ui-state-hover" ); >- if ( this.className.indexOf( "ui-datepicker-prev" ) !== -1 ) { >- $( this ).removeClass( "ui-datepicker-prev-hover" ); >- } >- if ( this.className.indexOf( "ui-datepicker-next" ) !== -1 ) { >- $( this ).removeClass( "ui-datepicker-next-hover" ); >- } >- } ) >- .on( "mouseover", selector, datepicker_handleMouseover ); >-} >- >-function datepicker_handleMouseover() { >- if ( !$.datepicker._isDisabledDatepicker( datepicker_instActive.inline ? datepicker_instActive.dpDiv.parent()[ 0 ] : datepicker_instActive.input[ 0 ] ) ) { >- $( this ).parents( ".ui-datepicker-calendar" ).find( "a" ).removeClass( "ui-state-hover" ); >- $( this ).addClass( "ui-state-hover" ); >- if ( this.className.indexOf( "ui-datepicker-prev" ) !== -1 ) { >- $( this ).addClass( "ui-datepicker-prev-hover" ); >- } >- if ( this.className.indexOf( "ui-datepicker-next" ) !== -1 ) { >- $( this ).addClass( "ui-datepicker-next-hover" ); >- } >- } >-} >- >-/* jQuery extend now ignores nulls! */ >-function datepicker_extendRemove( target, props ) { >- $.extend( target, props ); >- for ( var name in props ) { >- if ( props[ name ] == null ) { >- target[ name ] = props[ name ]; >- } >- } >- return target; >-} >- >-/* Invoke the datepicker functionality. >- @param options string - a command, optionally followed by additional parameters or >- Object - settings for attaching new datepicker functionality >- @return jQuery object */ >-$.fn.datepicker = function( options ) { >- >- /* Verify an empty collection wasn't passed - Fixes #6976 */ >- if ( !this.length ) { >- return this; >- } >- >- /* Initialise the date picker. */ >- if ( !$.datepicker.initialized ) { >- $( document ).on( "mousedown", $.datepicker._checkExternalClick ); >- $.datepicker.initialized = true; >- } >- >- /* Append datepicker main container to body if not exist. */ >- if ( $( "#" + $.datepicker._mainDivId ).length === 0 ) { >- $( "body" ).append( $.datepicker.dpDiv ); >- } >- >- var otherArgs = Array.prototype.slice.call( arguments, 1 ); >- if ( typeof options === "string" && ( options === "isDisabled" || options === "getDate" || options === "widget" ) ) { >- return $.datepicker[ "_" + options + "Datepicker" ]. >- apply( $.datepicker, [ this[ 0 ] ].concat( otherArgs ) ); >- } >- if ( options === "option" && arguments.length === 2 && typeof arguments[ 1 ] === "string" ) { >- return $.datepicker[ "_" + options + "Datepicker" ]. >- apply( $.datepicker, [ this[ 0 ] ].concat( otherArgs ) ); >- } >- return this.each( function() { >- typeof options === "string" ? >- $.datepicker[ "_" + options + "Datepicker" ]. >- apply( $.datepicker, [ this ].concat( otherArgs ) ) : >- $.datepicker._attachDatepicker( this, options ); >- } ); >-}; >- >-$.datepicker = new Datepicker(); // singleton instance >-$.datepicker.initialized = false; >-$.datepicker.uuid = new Date().getTime(); >-$.datepicker.version = "1.12.1"; >- >-var widgetsDatepicker = $.datepicker; >- >- >-/*! >- * jQuery UI Slider 1.12.1 >- * http://jqueryui.com >- * >- * Copyright jQuery Foundation and other contributors >- * Released under the MIT license. >- * http://jquery.org/license >- */ >- >-//>>label: Slider >-//>>group: Widgets >-//>>description: Displays a flexible slider with ranges and accessibility via keyboard. >-//>>docs: http://api.jqueryui.com/slider/ >-//>>demos: http://jqueryui.com/slider/ >-//>>css.structure: ../../themes/base/core.css >-//>>css.structure: ../../themes/base/slider.css >-//>>css.theme: ../../themes/base/theme.css >- >- >- >-var widgetsSlider = $.widget( "ui.slider", $.ui.mouse, { >- version: "1.12.1", >- widgetEventPrefix: "slide", >- >- options: { >- animate: false, >- classes: { >- "ui-slider": "ui-corner-all", >- "ui-slider-handle": "ui-corner-all", >- >- // Note: ui-widget-header isn't the most fittingly semantic framework class for this >- // element, but worked best visually with a variety of themes >- "ui-slider-range": "ui-corner-all ui-widget-header" >- }, >- distance: 0, >- max: 100, >- min: 0, >- orientation: "horizontal", >- range: false, >- step: 1, >- value: 0, >- values: null, >- >- // Callbacks >- change: null, >- slide: null, >- start: null, >- stop: null >- }, >- >- // Number of pages in a slider >- // (how many times can you page up/down to go through the whole range) >- numPages: 5, >- >- _create: function() { >- this._keySliding = false; >- this._mouseSliding = false; >- this._animateOff = true; >- this._handleIndex = null; >- this._detectOrientation(); >- this._mouseInit(); >- this._calculateNewMax(); >- >- this._addClass( "ui-slider ui-slider-" + this.orientation, >- "ui-widget ui-widget-content" ); >- >- this._refresh(); >- >- this._animateOff = false; >- }, >- >- _refresh: function() { >- this._createRange(); >- this._createHandles(); >- this._setupEvents(); >- this._refreshValue(); >- }, >- >- _createHandles: function() { >- var i, handleCount, >- options = this.options, >- existingHandles = this.element.find( ".ui-slider-handle" ), >- handle = "<span tabindex='0'></span>", >- handles = []; >- >- handleCount = ( options.values && options.values.length ) || 1; >- >- if ( existingHandles.length > handleCount ) { >- existingHandles.slice( handleCount ).remove(); >- existingHandles = existingHandles.slice( 0, handleCount ); >- } >- >- for ( i = existingHandles.length; i < handleCount; i++ ) { >- handles.push( handle ); >- } >- >- this.handles = existingHandles.add( $( handles.join( "" ) ).appendTo( this.element ) ); >- >- this._addClass( this.handles, "ui-slider-handle", "ui-state-default" ); >- >- this.handle = this.handles.eq( 0 ); >- >- this.handles.each( function( i ) { >- $( this ) >- .data( "ui-slider-handle-index", i ) >- .attr( "tabIndex", 0 ); >- } ); >- }, >- >- _createRange: function() { >- var options = this.options; >- >- if ( options.range ) { >- if ( options.range === true ) { >- if ( !options.values ) { >- options.values = [ this._valueMin(), this._valueMin() ]; >- } else if ( options.values.length && options.values.length !== 2 ) { >- options.values = [ options.values[ 0 ], options.values[ 0 ] ]; >- } else if ( $.isArray( options.values ) ) { >- options.values = options.values.slice( 0 ); >- } >- } >- >- if ( !this.range || !this.range.length ) { >- this.range = $( "<div>" ) >- .appendTo( this.element ); >- >- this._addClass( this.range, "ui-slider-range" ); >- } else { >- this._removeClass( this.range, "ui-slider-range-min ui-slider-range-max" ); >- >- // Handle range switching from true to min/max >- this.range.css( { >- "left": "", >- "bottom": "" >- } ); >- } >- if ( options.range === "min" || options.range === "max" ) { >- this._addClass( this.range, "ui-slider-range-" + options.range ); >- } >- } else { >- if ( this.range ) { >- this.range.remove(); >- } >- this.range = null; >- } >- }, >- >- _setupEvents: function() { >- this._off( this.handles ); >- this._on( this.handles, this._handleEvents ); >- this._hoverable( this.handles ); >- this._focusable( this.handles ); >- }, >- >- _destroy: function() { >- this.handles.remove(); >- if ( this.range ) { >- this.range.remove(); >- } >- >- this._mouseDestroy(); >- }, >- >- _mouseCapture: function( event ) { >- var position, normValue, distance, closestHandle, index, allowed, offset, mouseOverHandle, >- that = this, >- o = this.options; >- >- if ( o.disabled ) { >- return false; >- } >- >- this.elementSize = { >- width: this.element.outerWidth(), >- height: this.element.outerHeight() >- }; >- this.elementOffset = this.element.offset(); >- >- position = { x: event.pageX, y: event.pageY }; >- normValue = this._normValueFromMouse( position ); >- distance = this._valueMax() - this._valueMin() + 1; >- this.handles.each( function( i ) { >- var thisDistance = Math.abs( normValue - that.values( i ) ); >- if ( ( distance > thisDistance ) || >- ( distance === thisDistance && >- ( i === that._lastChangedValue || that.values( i ) === o.min ) ) ) { >- distance = thisDistance; >- closestHandle = $( this ); >- index = i; >- } >- } ); >- >- allowed = this._start( event, index ); >- if ( allowed === false ) { >- return false; >- } >- this._mouseSliding = true; >- >- this._handleIndex = index; >- >- this._addClass( closestHandle, null, "ui-state-active" ); >- closestHandle.trigger( "focus" ); >- >- offset = closestHandle.offset(); >- mouseOverHandle = !$( event.target ).parents().addBack().is( ".ui-slider-handle" ); >- this._clickOffset = mouseOverHandle ? { left: 0, top: 0 } : { >- left: event.pageX - offset.left - ( closestHandle.width() / 2 ), >- top: event.pageY - offset.top - >- ( closestHandle.height() / 2 ) - >- ( parseInt( closestHandle.css( "borderTopWidth" ), 10 ) || 0 ) - >- ( parseInt( closestHandle.css( "borderBottomWidth" ), 10 ) || 0 ) + >- ( parseInt( closestHandle.css( "marginTop" ), 10 ) || 0 ) >- }; >- >- if ( !this.handles.hasClass( "ui-state-hover" ) ) { >- this._slide( event, index, normValue ); >- } >- this._animateOff = true; >- return true; >- }, >- >- _mouseStart: function() { >- return true; >- }, >- >- _mouseDrag: function( event ) { >- var position = { x: event.pageX, y: event.pageY }, >- normValue = this._normValueFromMouse( position ); >- >- this._slide( event, this._handleIndex, normValue ); >- >- return false; >- }, >- >- _mouseStop: function( event ) { >- this._removeClass( this.handles, null, "ui-state-active" ); >- this._mouseSliding = false; >- >- this._stop( event, this._handleIndex ); >- this._change( event, this._handleIndex ); >- >- this._handleIndex = null; >- this._clickOffset = null; >- this._animateOff = false; >- >- return false; >- }, >- >- _detectOrientation: function() { >- this.orientation = ( this.options.orientation === "vertical" ) ? "vertical" : "horizontal"; >- }, >- >- _normValueFromMouse: function( position ) { >- var pixelTotal, >- pixelMouse, >- percentMouse, >- valueTotal, >- valueMouse; >- >- if ( this.orientation === "horizontal" ) { >- pixelTotal = this.elementSize.width; >- pixelMouse = position.x - this.elementOffset.left - >- ( this._clickOffset ? this._clickOffset.left : 0 ); >- } else { >- pixelTotal = this.elementSize.height; >- pixelMouse = position.y - this.elementOffset.top - >- ( this._clickOffset ? this._clickOffset.top : 0 ); >- } >- >- percentMouse = ( pixelMouse / pixelTotal ); >- if ( percentMouse > 1 ) { >- percentMouse = 1; >- } >- if ( percentMouse < 0 ) { >- percentMouse = 0; >- } >- if ( this.orientation === "vertical" ) { >- percentMouse = 1 - percentMouse; >- } >- >- valueTotal = this._valueMax() - this._valueMin(); >- valueMouse = this._valueMin() + percentMouse * valueTotal; >- >- return this._trimAlignValue( valueMouse ); >- }, >- >- _uiHash: function( index, value, values ) { >- var uiHash = { >- handle: this.handles[ index ], >- handleIndex: index, >- value: value !== undefined ? value : this.value() >- }; >- >- if ( this._hasMultipleValues() ) { >- uiHash.value = value !== undefined ? value : this.values( index ); >- uiHash.values = values || this.values(); >- } >- >- return uiHash; >- }, >- >- _hasMultipleValues: function() { >- return this.options.values && this.options.values.length; >- }, >- >- _start: function( event, index ) { >- return this._trigger( "start", event, this._uiHash( index ) ); >- }, >- >- _slide: function( event, index, newVal ) { >- var allowed, otherVal, >- currentValue = this.value(), >- newValues = this.values(); >- >- if ( this._hasMultipleValues() ) { >- otherVal = this.values( index ? 0 : 1 ); >- currentValue = this.values( index ); >- >- if ( this.options.values.length === 2 && this.options.range === true ) { >- newVal = index === 0 ? Math.min( otherVal, newVal ) : Math.max( otherVal, newVal ); >- } >- >- newValues[ index ] = newVal; >- } >- >- if ( newVal === currentValue ) { >- return; >- } >- >- allowed = this._trigger( "slide", event, this._uiHash( index, newVal, newValues ) ); >- >- // A slide can be canceled by returning false from the slide callback >- if ( allowed === false ) { >- return; >- } >- >- if ( this._hasMultipleValues() ) { >- this.values( index, newVal ); >- } else { >- this.value( newVal ); >- } >- }, >- >- _stop: function( event, index ) { >- this._trigger( "stop", event, this._uiHash( index ) ); >- }, >- >- _change: function( event, index ) { >- if ( !this._keySliding && !this._mouseSliding ) { >- >- //store the last changed value index for reference when handles overlap >- this._lastChangedValue = index; >- this._trigger( "change", event, this._uiHash( index ) ); >- } >- }, >- >- value: function( newValue ) { >- if ( arguments.length ) { >- this.options.value = this._trimAlignValue( newValue ); >- this._refreshValue(); >- this._change( null, 0 ); >- return; >- } >- >- return this._value(); >- }, >- >- values: function( index, newValue ) { >- var vals, >- newValues, >- i; >- >- if ( arguments.length > 1 ) { >- this.options.values[ index ] = this._trimAlignValue( newValue ); >- this._refreshValue(); >- this._change( null, index ); >- return; >- } >- >- if ( arguments.length ) { >- if ( $.isArray( arguments[ 0 ] ) ) { >- vals = this.options.values; >- newValues = arguments[ 0 ]; >- for ( i = 0; i < vals.length; i += 1 ) { >- vals[ i ] = this._trimAlignValue( newValues[ i ] ); >- this._change( null, i ); >- } >- this._refreshValue(); >- } else { >- if ( this._hasMultipleValues() ) { >- return this._values( index ); >- } else { >- return this.value(); >- } >- } >- } else { >- return this._values(); >- } >- }, >- >- _setOption: function( key, value ) { >- var i, >- valsLength = 0; >- >- if ( key === "range" && this.options.range === true ) { >- if ( value === "min" ) { >- this.options.value = this._values( 0 ); >- this.options.values = null; >- } else if ( value === "max" ) { >- this.options.value = this._values( this.options.values.length - 1 ); >- this.options.values = null; >- } >- } >- >- if ( $.isArray( this.options.values ) ) { >- valsLength = this.options.values.length; >- } >- >- this._super( key, value ); >- >- switch ( key ) { >- case "orientation": >- this._detectOrientation(); >- this._removeClass( "ui-slider-horizontal ui-slider-vertical" ) >- ._addClass( "ui-slider-" + this.orientation ); >- this._refreshValue(); >- if ( this.options.range ) { >- this._refreshRange( value ); >- } >- >- // Reset positioning from previous orientation >- this.handles.css( value === "horizontal" ? "bottom" : "left", "" ); >- break; >- case "value": >- this._animateOff = true; >- this._refreshValue(); >- this._change( null, 0 ); >- this._animateOff = false; >- break; >- case "values": >- this._animateOff = true; >- this._refreshValue(); >- >- // Start from the last handle to prevent unreachable handles (#9046) >- for ( i = valsLength - 1; i >= 0; i-- ) { >- this._change( null, i ); >- } >- this._animateOff = false; >- break; >- case "step": >- case "min": >- case "max": >- this._animateOff = true; >- this._calculateNewMax(); >- this._refreshValue(); >- this._animateOff = false; >- break; >- case "range": >- this._animateOff = true; >- this._refresh(); >- this._animateOff = false; >- break; >- } >- }, >- >- _setOptionDisabled: function( value ) { >- this._super( value ); >- >- this._toggleClass( null, "ui-state-disabled", !!value ); >- }, >- >- //internal value getter >- // _value() returns value trimmed by min and max, aligned by step >- _value: function() { >- var val = this.options.value; >- val = this._trimAlignValue( val ); >- >- return val; >- }, >- >- //internal values getter >- // _values() returns array of values trimmed by min and max, aligned by step >- // _values( index ) returns single value trimmed by min and max, aligned by step >- _values: function( index ) { >- var val, >- vals, >- i; >- >- if ( arguments.length ) { >- val = this.options.values[ index ]; >- val = this._trimAlignValue( val ); >- >- return val; >- } else if ( this._hasMultipleValues() ) { >- >- // .slice() creates a copy of the array >- // this copy gets trimmed by min and max and then returned >- vals = this.options.values.slice(); >- for ( i = 0; i < vals.length; i += 1 ) { >- vals[ i ] = this._trimAlignValue( vals[ i ] ); >- } >- >- return vals; >- } else { >- return []; >- } >- }, >- >- // Returns the step-aligned value that val is closest to, between (inclusive) min and max >- _trimAlignValue: function( val ) { >- if ( val <= this._valueMin() ) { >- return this._valueMin(); >- } >- if ( val >= this._valueMax() ) { >- return this._valueMax(); >- } >- var step = ( this.options.step > 0 ) ? this.options.step : 1, >- valModStep = ( val - this._valueMin() ) % step, >- alignValue = val - valModStep; >- >- if ( Math.abs( valModStep ) * 2 >= step ) { >- alignValue += ( valModStep > 0 ) ? step : ( -step ); >- } >- >- // Since JavaScript has problems with large floats, round >- // the final value to 5 digits after the decimal point (see #4124) >- return parseFloat( alignValue.toFixed( 5 ) ); >- }, >- >- _calculateNewMax: function() { >- var max = this.options.max, >- min = this._valueMin(), >- step = this.options.step, >- aboveMin = Math.round( ( max - min ) / step ) * step; >- max = aboveMin + min; >- if ( max > this.options.max ) { >- >- //If max is not divisible by step, rounding off may increase its value >- max -= step; >- } >- this.max = parseFloat( max.toFixed( this._precision() ) ); >- }, >- >- _precision: function() { >- var precision = this._precisionOf( this.options.step ); >- if ( this.options.min !== null ) { >- precision = Math.max( precision, this._precisionOf( this.options.min ) ); >- } >- return precision; >- }, >- >- _precisionOf: function( num ) { >- var str = num.toString(), >- decimal = str.indexOf( "." ); >- return decimal === -1 ? 0 : str.length - decimal - 1; >- }, >- >- _valueMin: function() { >- return this.options.min; >- }, >- >- _valueMax: function() { >- return this.max; >- }, >- >- _refreshRange: function( orientation ) { >- if ( orientation === "vertical" ) { >- this.range.css( { "width": "", "left": "" } ); >- } >- if ( orientation === "horizontal" ) { >- this.range.css( { "height": "", "bottom": "" } ); >- } >- }, >- >- _refreshValue: function() { >- var lastValPercent, valPercent, value, valueMin, valueMax, >- oRange = this.options.range, >- o = this.options, >- that = this, >- animate = ( !this._animateOff ) ? o.animate : false, >- _set = {}; >- >- if ( this._hasMultipleValues() ) { >- this.handles.each( function( i ) { >- valPercent = ( that.values( i ) - that._valueMin() ) / ( that._valueMax() - >- that._valueMin() ) * 100; >- _set[ that.orientation === "horizontal" ? "left" : "bottom" ] = valPercent + "%"; >- $( this ).stop( 1, 1 )[ animate ? "animate" : "css" ]( _set, o.animate ); >- if ( that.options.range === true ) { >- if ( that.orientation === "horizontal" ) { >- if ( i === 0 ) { >- that.range.stop( 1, 1 )[ animate ? "animate" : "css" ]( { >- left: valPercent + "%" >- }, o.animate ); >- } >- if ( i === 1 ) { >- that.range[ animate ? "animate" : "css" ]( { >- width: ( valPercent - lastValPercent ) + "%" >- }, { >- queue: false, >- duration: o.animate >- } ); >- } >- } else { >- if ( i === 0 ) { >- that.range.stop( 1, 1 )[ animate ? "animate" : "css" ]( { >- bottom: ( valPercent ) + "%" >- }, o.animate ); >- } >- if ( i === 1 ) { >- that.range[ animate ? "animate" : "css" ]( { >- height: ( valPercent - lastValPercent ) + "%" >- }, { >- queue: false, >- duration: o.animate >- } ); >- } >- } >- } >- lastValPercent = valPercent; >- } ); >- } else { >- value = this.value(); >- valueMin = this._valueMin(); >- valueMax = this._valueMax(); >- valPercent = ( valueMax !== valueMin ) ? >- ( value - valueMin ) / ( valueMax - valueMin ) * 100 : >- 0; >- _set[ this.orientation === "horizontal" ? "left" : "bottom" ] = valPercent + "%"; >- this.handle.stop( 1, 1 )[ animate ? "animate" : "css" ]( _set, o.animate ); >- >- if ( oRange === "min" && this.orientation === "horizontal" ) { >- this.range.stop( 1, 1 )[ animate ? "animate" : "css" ]( { >- width: valPercent + "%" >- }, o.animate ); >- } >- if ( oRange === "max" && this.orientation === "horizontal" ) { >- this.range.stop( 1, 1 )[ animate ? "animate" : "css" ]( { >- width: ( 100 - valPercent ) + "%" >- }, o.animate ); >- } >- if ( oRange === "min" && this.orientation === "vertical" ) { >- this.range.stop( 1, 1 )[ animate ? "animate" : "css" ]( { >- height: valPercent + "%" >- }, o.animate ); >- } >- if ( oRange === "max" && this.orientation === "vertical" ) { >- this.range.stop( 1, 1 )[ animate ? "animate" : "css" ]( { >- height: ( 100 - valPercent ) + "%" >- }, o.animate ); >- } >- } >- }, >- >- _handleEvents: { >- keydown: function( event ) { >- var allowed, curVal, newVal, step, >- index = $( event.target ).data( "ui-slider-handle-index" ); >- >- switch ( event.keyCode ) { >- case $.ui.keyCode.HOME: >- case $.ui.keyCode.END: >- case $.ui.keyCode.PAGE_UP: >- case $.ui.keyCode.PAGE_DOWN: >- case $.ui.keyCode.UP: >- case $.ui.keyCode.RIGHT: >- case $.ui.keyCode.DOWN: >- case $.ui.keyCode.LEFT: >- event.preventDefault(); >- if ( !this._keySliding ) { >- this._keySliding = true; >- this._addClass( $( event.target ), null, "ui-state-active" ); >- allowed = this._start( event, index ); >- if ( allowed === false ) { >- return; >- } >- } >- break; >- } >- >- step = this.options.step; >- if ( this._hasMultipleValues() ) { >- curVal = newVal = this.values( index ); >- } else { >- curVal = newVal = this.value(); >- } >- >- switch ( event.keyCode ) { >- case $.ui.keyCode.HOME: >- newVal = this._valueMin(); >- break; >- case $.ui.keyCode.END: >- newVal = this._valueMax(); >- break; >- case $.ui.keyCode.PAGE_UP: >- newVal = this._trimAlignValue( >- curVal + ( ( this._valueMax() - this._valueMin() ) / this.numPages ) >- ); >- break; >- case $.ui.keyCode.PAGE_DOWN: >- newVal = this._trimAlignValue( >- curVal - ( ( this._valueMax() - this._valueMin() ) / this.numPages ) ); >- break; >- case $.ui.keyCode.UP: >- case $.ui.keyCode.RIGHT: >- if ( curVal === this._valueMax() ) { >- return; >- } >- newVal = this._trimAlignValue( curVal + step ); >- break; >- case $.ui.keyCode.DOWN: >- case $.ui.keyCode.LEFT: >- if ( curVal === this._valueMin() ) { >- return; >- } >- newVal = this._trimAlignValue( curVal - step ); >- break; >- } >- >- this._slide( event, index, newVal ); >- }, >- keyup: function( event ) { >- var index = $( event.target ).data( "ui-slider-handle-index" ); >- >- if ( this._keySliding ) { >- this._keySliding = false; >- this._stop( event, index ); >- this._change( event, index ); >- this._removeClass( $( event.target ), null, "ui-state-active" ); >- } >- } >- } >-} ); >- >- >- >- >-// Internal use only >-var escapeSelector = $.ui.escapeSelector = ( function() { >- var selectorEscape = /([!"#$%&'()*+,./:;<=>?@[\]^`{|}~])/g; >- return function( selector ) { >- return selector.replace( selectorEscape, "\\$1" ); >- }; >-} )(); >- >- >-/*! >- * jQuery UI Tabs 1.12.1 >- * http://jqueryui.com >- * >- * Copyright jQuery Foundation and other contributors >- * Released under the MIT license. >- * http://jquery.org/license >- */ >- >-//>>label: Tabs >-//>>group: Widgets >-//>>description: Transforms a set of container elements into a tab structure. >-//>>docs: http://api.jqueryui.com/tabs/ >-//>>demos: http://jqueryui.com/tabs/ >-//>>css.structure: ../../themes/base/core.css >-//>>css.structure: ../../themes/base/tabs.css >-//>>css.theme: ../../themes/base/theme.css >- >- >- >-$.widget( "ui.tabs", { >- version: "1.12.1", >- delay: 300, >- options: { >- active: null, >- classes: { >- "ui-tabs": "ui-corner-all", >- "ui-tabs-nav": "ui-corner-all", >- "ui-tabs-panel": "ui-corner-bottom", >- "ui-tabs-tab": "ui-corner-top" >- }, >- collapsible: false, >- event: "click", >- heightStyle: "content", >- hide: null, >- show: null, >- >- // Callbacks >- activate: null, >- beforeActivate: null, >- beforeLoad: null, >- load: null >- }, >- >- _isLocal: ( function() { >- var rhash = /#.*$/; >- >- return function( anchor ) { >- var anchorUrl, locationUrl; >- >- anchorUrl = anchor.href.replace( rhash, "" ); >- locationUrl = location.href.replace( rhash, "" ); >- >- // Decoding may throw an error if the URL isn't UTF-8 (#9518) >- try { >- anchorUrl = decodeURIComponent( anchorUrl ); >- } catch ( error ) {} >- try { >- locationUrl = decodeURIComponent( locationUrl ); >- } catch ( error ) {} >- >- return anchor.hash.length > 1 && anchorUrl === locationUrl; >- }; >- } )(), >- >- _create: function() { >- var that = this, >- options = this.options; >- >- this.running = false; >- >- this._addClass( "ui-tabs", "ui-widget ui-widget-content" ); >- this._toggleClass( "ui-tabs-collapsible", null, options.collapsible ); >- >- this._processTabs(); >- options.active = this._initialActive(); >- >- // Take disabling tabs via class attribute from HTML >- // into account and update option properly. >- if ( $.isArray( options.disabled ) ) { >- options.disabled = $.unique( options.disabled.concat( >- $.map( this.tabs.filter( ".ui-state-disabled" ), function( li ) { >- return that.tabs.index( li ); >- } ) >- ) ).sort(); >- } >- >- // Check for length avoids error when initializing empty list >- if ( this.options.active !== false && this.anchors.length ) { >- this.active = this._findActive( options.active ); >- } else { >- this.active = $(); >- } >- >- this._refresh(); >- >- if ( this.active.length ) { >- this.load( options.active ); >- } >- }, >- >- _initialActive: function() { >- var active = this.options.active, >- collapsible = this.options.collapsible, >- locationHash = location.hash.substring( 1 ); >- >- if ( active === null ) { >- >- // check the fragment identifier in the URL >- if ( locationHash ) { >- this.tabs.each( function( i, tab ) { >- if ( $( tab ).attr( "aria-controls" ) === locationHash ) { >- active = i; >- return false; >- } >- } ); >- } >- >- // Check for a tab marked active via a class >- if ( active === null ) { >- active = this.tabs.index( this.tabs.filter( ".ui-tabs-active" ) ); >- } >- >- // No active tab, set to false >- if ( active === null || active === -1 ) { >- active = this.tabs.length ? 0 : false; >- } >- } >- >- // Handle numbers: negative, out of range >- if ( active !== false ) { >- active = this.tabs.index( this.tabs.eq( active ) ); >- if ( active === -1 ) { >- active = collapsible ? false : 0; >- } >- } >- >- // Don't allow collapsible: false and active: false >- if ( !collapsible && active === false && this.anchors.length ) { >- active = 0; >- } >- >- return active; >- }, >- >- _getCreateEventData: function() { >- return { >- tab: this.active, >- panel: !this.active.length ? $() : this._getPanelForTab( this.active ) >- }; >- }, >- >- _tabKeydown: function( event ) { >- var focusedTab = $( $.ui.safeActiveElement( this.document[ 0 ] ) ).closest( "li" ), >- selectedIndex = this.tabs.index( focusedTab ), >- goingForward = true; >- >- if ( this._handlePageNav( event ) ) { >- return; >- } >- >- switch ( event.keyCode ) { >- case $.ui.keyCode.RIGHT: >- case $.ui.keyCode.DOWN: >- selectedIndex++; >- break; >- case $.ui.keyCode.UP: >- case $.ui.keyCode.LEFT: >- goingForward = false; >- selectedIndex--; >- break; >- case $.ui.keyCode.END: >- selectedIndex = this.anchors.length - 1; >- break; >- case $.ui.keyCode.HOME: >- selectedIndex = 0; >- break; >- case $.ui.keyCode.SPACE: >- >- // Activate only, no collapsing >- event.preventDefault(); >- clearTimeout( this.activating ); >- this._activate( selectedIndex ); >- return; >- case $.ui.keyCode.ENTER: >- >- // Toggle (cancel delayed activation, allow collapsing) >- event.preventDefault(); >- clearTimeout( this.activating ); >- >- // Determine if we should collapse or activate >- this._activate( selectedIndex === this.options.active ? false : selectedIndex ); >- return; >- default: >- return; >- } >- >- // Focus the appropriate tab, based on which key was pressed >- event.preventDefault(); >- clearTimeout( this.activating ); >- selectedIndex = this._focusNextTab( selectedIndex, goingForward ); >- >- // Navigating with control/command key will prevent automatic activation >- if ( !event.ctrlKey && !event.metaKey ) { >- >- // Update aria-selected immediately so that AT think the tab is already selected. >- // Otherwise AT may confuse the user by stating that they need to activate the tab, >- // but the tab will already be activated by the time the announcement finishes. >- focusedTab.attr( "aria-selected", "false" ); >- this.tabs.eq( selectedIndex ).attr( "aria-selected", "true" ); >- >- this.activating = this._delay( function() { >- this.option( "active", selectedIndex ); >- }, this.delay ); >- } >- }, >- >- _panelKeydown: function( event ) { >- if ( this._handlePageNav( event ) ) { >- return; >- } >- >- // Ctrl+up moves focus to the current tab >- if ( event.ctrlKey && event.keyCode === $.ui.keyCode.UP ) { >- event.preventDefault(); >- this.active.trigger( "focus" ); >- } >- }, >- >- // Alt+page up/down moves focus to the previous/next tab (and activates) >- _handlePageNav: function( event ) { >- if ( event.altKey && event.keyCode === $.ui.keyCode.PAGE_UP ) { >- this._activate( this._focusNextTab( this.options.active - 1, false ) ); >- return true; >- } >- if ( event.altKey && event.keyCode === $.ui.keyCode.PAGE_DOWN ) { >- this._activate( this._focusNextTab( this.options.active + 1, true ) ); >- return true; >- } >- }, >- >- _findNextTab: function( index, goingForward ) { >- var lastTabIndex = this.tabs.length - 1; >- >- function constrain() { >- if ( index > lastTabIndex ) { >- index = 0; >- } >- if ( index < 0 ) { >- index = lastTabIndex; >- } >- return index; >- } >- >- while ( $.inArray( constrain(), this.options.disabled ) !== -1 ) { >- index = goingForward ? index + 1 : index - 1; >- } >- >- return index; >- }, >- >- _focusNextTab: function( index, goingForward ) { >- index = this._findNextTab( index, goingForward ); >- this.tabs.eq( index ).trigger( "focus" ); >- return index; >- }, >- >- _setOption: function( key, value ) { >- if ( key === "active" ) { >- >- // _activate() will handle invalid values and update this.options >- this._activate( value ); >- return; >- } >- >- this._super( key, value ); >- >- if ( key === "collapsible" ) { >- this._toggleClass( "ui-tabs-collapsible", null, value ); >- >- // Setting collapsible: false while collapsed; open first panel >- if ( !value && this.options.active === false ) { >- this._activate( 0 ); >- } >- } >- >- if ( key === "event" ) { >- this._setupEvents( value ); >- } >- >- if ( key === "heightStyle" ) { >- this._setupHeightStyle( value ); >- } >- }, >- >- _sanitizeSelector: function( hash ) { >- return hash ? hash.replace( /[!"$%&'()*+,.\/:;<=>?@\[\]\^`{|}~]/g, "\\$&" ) : ""; >- }, >- >- refresh: function() { >- var options = this.options, >- lis = this.tablist.children( ":has(a[href])" ); >- >- // Get disabled tabs from class attribute from HTML >- // this will get converted to a boolean if needed in _refresh() >- options.disabled = $.map( lis.filter( ".ui-state-disabled" ), function( tab ) { >- return lis.index( tab ); >- } ); >- >- this._processTabs(); >- >- // Was collapsed or no tabs >- if ( options.active === false || !this.anchors.length ) { >- options.active = false; >- this.active = $(); >- >- // was active, but active tab is gone >- } else if ( this.active.length && !$.contains( this.tablist[ 0 ], this.active[ 0 ] ) ) { >- >- // all remaining tabs are disabled >- if ( this.tabs.length === options.disabled.length ) { >- options.active = false; >- this.active = $(); >- >- // activate previous tab >- } else { >- this._activate( this._findNextTab( Math.max( 0, options.active - 1 ), false ) ); >- } >- >- // was active, active tab still exists >- } else { >- >- // make sure active index is correct >- options.active = this.tabs.index( this.active ); >- } >- >- this._refresh(); >- }, >- >- _refresh: function() { >- this._setOptionDisabled( this.options.disabled ); >- this._setupEvents( this.options.event ); >- this._setupHeightStyle( this.options.heightStyle ); >- >- this.tabs.not( this.active ).attr( { >- "aria-selected": "false", >- "aria-expanded": "false", >- tabIndex: -1 >- } ); >- this.panels.not( this._getPanelForTab( this.active ) ) >- .hide() >- .attr( { >- "aria-hidden": "true" >- } ); >- >- // Make sure one tab is in the tab order >- if ( !this.active.length ) { >- this.tabs.eq( 0 ).attr( "tabIndex", 0 ); >- } else { >- this.active >- .attr( { >- "aria-selected": "true", >- "aria-expanded": "true", >- tabIndex: 0 >- } ); >- this._addClass( this.active, "ui-tabs-active", "ui-state-active" ); >- this._getPanelForTab( this.active ) >- .show() >- .attr( { >- "aria-hidden": "false" >- } ); >- } >- }, >- >- _processTabs: function() { >- var that = this, >- prevTabs = this.tabs, >- prevAnchors = this.anchors, >- prevPanels = this.panels; >- >- this.tablist = this._getList().attr( "role", "tablist" ); >- this._addClass( this.tablist, "ui-tabs-nav", >- "ui-helper-reset ui-helper-clearfix ui-widget-header" ); >- >- // Prevent users from focusing disabled tabs via click >- this.tablist >- .on( "mousedown" + this.eventNamespace, "> li", function( event ) { >- if ( $( this ).is( ".ui-state-disabled" ) ) { >- event.preventDefault(); >- } >- } ) >- >- // Support: IE <9 >- // Preventing the default action in mousedown doesn't prevent IE >- // from focusing the element, so if the anchor gets focused, blur. >- // We don't have to worry about focusing the previously focused >- // element since clicking on a non-focusable element should focus >- // the body anyway. >- .on( "focus" + this.eventNamespace, ".ui-tabs-anchor", function() { >- if ( $( this ).closest( "li" ).is( ".ui-state-disabled" ) ) { >- this.blur(); >- } >- } ); >- >- this.tabs = this.tablist.find( "> li:has(a[href])" ) >- .attr( { >- role: "tab", >- tabIndex: -1 >- } ); >- this._addClass( this.tabs, "ui-tabs-tab", "ui-state-default" ); >- >- this.anchors = this.tabs.map( function() { >- return $( "a", this )[ 0 ]; >- } ) >- .attr( { >- role: "presentation", >- tabIndex: -1 >- } ); >- this._addClass( this.anchors, "ui-tabs-anchor" ); >- >- this.panels = $(); >- >- this.anchors.each( function( i, anchor ) { >- var selector, panel, panelId, >- anchorId = $( anchor ).uniqueId().attr( "id" ), >- tab = $( anchor ).closest( "li" ), >- originalAriaControls = tab.attr( "aria-controls" ); >- >- // Inline tab >- if ( that._isLocal( anchor ) ) { >- selector = anchor.hash; >- panelId = selector.substring( 1 ); >- panel = that.element.find( that._sanitizeSelector( selector ) ); >- >- // remote tab >- } else { >- >- // If the tab doesn't already have aria-controls, >- // generate an id by using a throw-away element >- panelId = tab.attr( "aria-controls" ) || $( {} ).uniqueId()[ 0 ].id; >- selector = "#" + panelId; >- panel = that.element.find( selector ); >- if ( !panel.length ) { >- panel = that._createPanel( panelId ); >- panel.insertAfter( that.panels[ i - 1 ] || that.tablist ); >- } >- panel.attr( "aria-live", "polite" ); >- } >- >- if ( panel.length ) { >- that.panels = that.panels.add( panel ); >- } >- if ( originalAriaControls ) { >- tab.data( "ui-tabs-aria-controls", originalAriaControls ); >- } >- tab.attr( { >- "aria-controls": panelId, >- "aria-labelledby": anchorId >- } ); >- panel.attr( "aria-labelledby", anchorId ); >- } ); >- >- this.panels.attr( "role", "tabpanel" ); >- this._addClass( this.panels, "ui-tabs-panel", "ui-widget-content" ); >- >- // Avoid memory leaks (#10056) >- if ( prevTabs ) { >- this._off( prevTabs.not( this.tabs ) ); >- this._off( prevAnchors.not( this.anchors ) ); >- this._off( prevPanels.not( this.panels ) ); >- } >- }, >- >- // Allow overriding how to find the list for rare usage scenarios (#7715) >- _getList: function() { >- return this.tablist || this.element.find( "ol, ul" ).eq( 0 ); >- }, >- >- _createPanel: function( id ) { >- return $( "<div>" ) >- .attr( "id", id ) >- .data( "ui-tabs-destroy", true ); >- }, >- >- _setOptionDisabled: function( disabled ) { >- var currentItem, li, i; >- >- if ( $.isArray( disabled ) ) { >- if ( !disabled.length ) { >- disabled = false; >- } else if ( disabled.length === this.anchors.length ) { >- disabled = true; >- } >- } >- >- // Disable tabs >- for ( i = 0; ( li = this.tabs[ i ] ); i++ ) { >- currentItem = $( li ); >- if ( disabled === true || $.inArray( i, disabled ) !== -1 ) { >- currentItem.attr( "aria-disabled", "true" ); >- this._addClass( currentItem, null, "ui-state-disabled" ); >- } else { >- currentItem.removeAttr( "aria-disabled" ); >- this._removeClass( currentItem, null, "ui-state-disabled" ); >- } >- } >- >- this.options.disabled = disabled; >- >- this._toggleClass( this.widget(), this.widgetFullName + "-disabled", null, >- disabled === true ); >- }, >- >- _setupEvents: function( event ) { >- var events = {}; >- if ( event ) { >- $.each( event.split( " " ), function( index, eventName ) { >- events[ eventName ] = "_eventHandler"; >- } ); >- } >- >- this._off( this.anchors.add( this.tabs ).add( this.panels ) ); >- >- // Always prevent the default action, even when disabled >- this._on( true, this.anchors, { >- click: function( event ) { >- event.preventDefault(); >- } >- } ); >- this._on( this.anchors, events ); >- this._on( this.tabs, { keydown: "_tabKeydown" } ); >- this._on( this.panels, { keydown: "_panelKeydown" } ); >- >- this._focusable( this.tabs ); >- this._hoverable( this.tabs ); >- }, >- >- _setupHeightStyle: function( heightStyle ) { >- var maxHeight, >- parent = this.element.parent(); >- >- if ( heightStyle === "fill" ) { >- maxHeight = parent.height(); >- maxHeight -= this.element.outerHeight() - this.element.height(); >- >- this.element.siblings( ":visible" ).each( function() { >- var elem = $( this ), >- position = elem.css( "position" ); >- >- if ( position === "absolute" || position === "fixed" ) { >- return; >- } >- maxHeight -= elem.outerHeight( true ); >- } ); >- >- this.element.children().not( this.panels ).each( function() { >- maxHeight -= $( this ).outerHeight( true ); >- } ); >- >- this.panels.each( function() { >- $( this ).height( Math.max( 0, maxHeight - >- $( this ).innerHeight() + $( this ).height() ) ); >- } ) >- .css( "overflow", "auto" ); >- } else if ( heightStyle === "auto" ) { >- maxHeight = 0; >- this.panels.each( function() { >- maxHeight = Math.max( maxHeight, $( this ).height( "" ).height() ); >- } ).height( maxHeight ); >- } >- }, >- >- _eventHandler: function( event ) { >- var options = this.options, >- active = this.active, >- anchor = $( event.currentTarget ), >- tab = anchor.closest( "li" ), >- clickedIsActive = tab[ 0 ] === active[ 0 ], >- collapsing = clickedIsActive && options.collapsible, >- toShow = collapsing ? $() : this._getPanelForTab( tab ), >- toHide = !active.length ? $() : this._getPanelForTab( active ), >- eventData = { >- oldTab: active, >- oldPanel: toHide, >- newTab: collapsing ? $() : tab, >- newPanel: toShow >- }; >- >- event.preventDefault(); >- >- if ( tab.hasClass( "ui-state-disabled" ) || >- >- // tab is already loading >- tab.hasClass( "ui-tabs-loading" ) || >- >- // can't switch durning an animation >- this.running || >- >- // click on active header, but not collapsible >- ( clickedIsActive && !options.collapsible ) || >- >- // allow canceling activation >- ( this._trigger( "beforeActivate", event, eventData ) === false ) ) { >- return; >- } >- >- options.active = collapsing ? false : this.tabs.index( tab ); >- >- this.active = clickedIsActive ? $() : tab; >- if ( this.xhr ) { >- this.xhr.abort(); >- } >- >- if ( !toHide.length && !toShow.length ) { >- $.error( "jQuery UI Tabs: Mismatching fragment identifier." ); >- } >- >- if ( toShow.length ) { >- this.load( this.tabs.index( tab ), event ); >- } >- this._toggle( event, eventData ); >- }, >- >- // Handles show/hide for selecting tabs >- _toggle: function( event, eventData ) { >- var that = this, >- toShow = eventData.newPanel, >- toHide = eventData.oldPanel; >- >- this.running = true; >- >- function complete() { >- that.running = false; >- that._trigger( "activate", event, eventData ); >- } >- >- function show() { >- that._addClass( eventData.newTab.closest( "li" ), "ui-tabs-active", "ui-state-active" ); >- >- if ( toShow.length && that.options.show ) { >- that._show( toShow, that.options.show, complete ); >- } else { >- toShow.show(); >- complete(); >- } >- } >- >- // Start out by hiding, then showing, then completing >- if ( toHide.length && this.options.hide ) { >- this._hide( toHide, this.options.hide, function() { >- that._removeClass( eventData.oldTab.closest( "li" ), >- "ui-tabs-active", "ui-state-active" ); >- show(); >- } ); >- } else { >- this._removeClass( eventData.oldTab.closest( "li" ), >- "ui-tabs-active", "ui-state-active" ); >- toHide.hide(); >- show(); >- } >- >- toHide.attr( "aria-hidden", "true" ); >- eventData.oldTab.attr( { >- "aria-selected": "false", >- "aria-expanded": "false" >- } ); >- >- // If we're switching tabs, remove the old tab from the tab order. >- // If we're opening from collapsed state, remove the previous tab from the tab order. >- // If we're collapsing, then keep the collapsing tab in the tab order. >- if ( toShow.length && toHide.length ) { >- eventData.oldTab.attr( "tabIndex", -1 ); >- } else if ( toShow.length ) { >- this.tabs.filter( function() { >- return $( this ).attr( "tabIndex" ) === 0; >- } ) >- .attr( "tabIndex", -1 ); >- } >- >- toShow.attr( "aria-hidden", "false" ); >- eventData.newTab.attr( { >- "aria-selected": "true", >- "aria-expanded": "true", >- tabIndex: 0 >- } ); >- }, >- >- _activate: function( index ) { >- var anchor, >- active = this._findActive( index ); >- >- // Trying to activate the already active panel >- if ( active[ 0 ] === this.active[ 0 ] ) { >- return; >- } >- >- // Trying to collapse, simulate a click on the current active header >- if ( !active.length ) { >- active = this.active; >- } >- >- anchor = active.find( ".ui-tabs-anchor" )[ 0 ]; >- this._eventHandler( { >- target: anchor, >- currentTarget: anchor, >- preventDefault: $.noop >- } ); >- }, >- >- _findActive: function( index ) { >- return index === false ? $() : this.tabs.eq( index ); >- }, >- >- _getIndex: function( index ) { >- >- // meta-function to give users option to provide a href string instead of a numerical index. >- if ( typeof index === "string" ) { >- index = this.anchors.index( this.anchors.filter( "[href$='" + >- $.ui.escapeSelector( index ) + "']" ) ); >- } >- >- return index; >- }, >- >- _destroy: function() { >- if ( this.xhr ) { >- this.xhr.abort(); >- } >- >- this.tablist >- .removeAttr( "role" ) >- .off( this.eventNamespace ); >- >- this.anchors >- .removeAttr( "role tabIndex" ) >- .removeUniqueId(); >- >- this.tabs.add( this.panels ).each( function() { >- if ( $.data( this, "ui-tabs-destroy" ) ) { >- $( this ).remove(); >- } else { >- $( this ).removeAttr( "role tabIndex " + >- "aria-live aria-busy aria-selected aria-labelledby aria-hidden aria-expanded" ); >- } >- } ); >- >- this.tabs.each( function() { >- var li = $( this ), >- prev = li.data( "ui-tabs-aria-controls" ); >- if ( prev ) { >- li >- .attr( "aria-controls", prev ) >- .removeData( "ui-tabs-aria-controls" ); >- } else { >- li.removeAttr( "aria-controls" ); >- } >- } ); >- >- this.panels.show(); >- >- if ( this.options.heightStyle !== "content" ) { >- this.panels.css( "height", "" ); >- } >- }, >- >- enable: function( index ) { >- var disabled = this.options.disabled; >- if ( disabled === false ) { >- return; >- } >- >- if ( index === undefined ) { >- disabled = false; >- } else { >- index = this._getIndex( index ); >- if ( $.isArray( disabled ) ) { >- disabled = $.map( disabled, function( num ) { >- return num !== index ? num : null; >- } ); >- } else { >- disabled = $.map( this.tabs, function( li, num ) { >- return num !== index ? num : null; >- } ); >- } >- } >- this._setOptionDisabled( disabled ); >- }, >- >- disable: function( index ) { >- var disabled = this.options.disabled; >- if ( disabled === true ) { >- return; >- } >- >- if ( index === undefined ) { >- disabled = true; >- } else { >- index = this._getIndex( index ); >- if ( $.inArray( index, disabled ) !== -1 ) { >- return; >- } >- if ( $.isArray( disabled ) ) { >- disabled = $.merge( [ index ], disabled ).sort(); >- } else { >- disabled = [ index ]; >- } >- } >- this._setOptionDisabled( disabled ); >- }, >- >- load: function( index, event ) { >- index = this._getIndex( index ); >- var that = this, >- tab = this.tabs.eq( index ), >- anchor = tab.find( ".ui-tabs-anchor" ), >- panel = this._getPanelForTab( tab ), >- eventData = { >- tab: tab, >- panel: panel >- }, >- complete = function( jqXHR, status ) { >- if ( status === "abort" ) { >- that.panels.stop( false, true ); >- } >- >- that._removeClass( tab, "ui-tabs-loading" ); >- panel.removeAttr( "aria-busy" ); >- >- if ( jqXHR === that.xhr ) { >- delete that.xhr; >- } >- }; >- >- // Not remote >- if ( this._isLocal( anchor[ 0 ] ) ) { >- return; >- } >- >- this.xhr = $.ajax( this._ajaxSettings( anchor, event, eventData ) ); >- >- // Support: jQuery <1.8 >- // jQuery <1.8 returns false if the request is canceled in beforeSend, >- // but as of 1.8, $.ajax() always returns a jqXHR object. >- if ( this.xhr && this.xhr.statusText !== "canceled" ) { >- this._addClass( tab, "ui-tabs-loading" ); >- panel.attr( "aria-busy", "true" ); >- >- this.xhr >- .done( function( response, status, jqXHR ) { >- >- // support: jQuery <1.8 >- // http://bugs.jquery.com/ticket/11778 >- setTimeout( function() { >- panel.html( response ); >- that._trigger( "load", event, eventData ); >- >- complete( jqXHR, status ); >- }, 1 ); >- } ) >- .fail( function( jqXHR, status ) { >- >- // support: jQuery <1.8 >- // http://bugs.jquery.com/ticket/11778 >- setTimeout( function() { >- complete( jqXHR, status ); >- }, 1 ); >- } ); >- } >- }, >- >- _ajaxSettings: function( anchor, event, eventData ) { >- var that = this; >- return { >- >- // Support: IE <11 only >- // Strip any hash that exists to prevent errors with the Ajax request >- url: anchor.attr( "href" ).replace( /#.*$/, "" ), >- beforeSend: function( jqXHR, settings ) { >- return that._trigger( "beforeLoad", event, >- $.extend( { jqXHR: jqXHR, ajaxSettings: settings }, eventData ) ); >- } >- }; >- }, >- >- _getPanelForTab: function( tab ) { >- var id = $( tab ).attr( "aria-controls" ); >- return this.element.find( this._sanitizeSelector( "#" + id ) ); >- } >-} ); >- >-// DEPRECATED >-// TODO: Switch return back to widget declaration at top of file when this is removed >-if ( $.uiBackCompat !== false ) { >- >- // Backcompat for ui-tab class (now ui-tabs-tab) >- $.widget( "ui.tabs", $.ui.tabs, { >- _processTabs: function() { >- this._superApply( arguments ); >- this._addClass( this.tabs, "ui-tab" ); >- } >- } ); >-} >- >-var widgetsTabs = $.ui.tabs; >- >- >-/*! >- * jQuery UI Tooltip 1.12.1 >- * http://jqueryui.com >- * >- * Copyright jQuery Foundation and other contributors >- * Released under the MIT license. >- * http://jquery.org/license >- */ >- >-//>>label: Tooltip >-//>>group: Widgets >-//>>description: Shows additional information for any element on hover or focus. >-//>>docs: http://api.jqueryui.com/tooltip/ >-//>>demos: http://jqueryui.com/tooltip/ >-//>>css.structure: ../../themes/base/core.css >-//>>css.structure: ../../themes/base/tooltip.css >-//>>css.theme: ../../themes/base/theme.css >- >- >- >-$.widget( "ui.tooltip", { >- version: "1.12.1", >- options: { >- classes: { >- "ui-tooltip": "ui-corner-all ui-widget-shadow" >- }, >- content: function() { >- >- // support: IE<9, Opera in jQuery <1.7 >- // .text() can't accept undefined, so coerce to a string >- var title = $( this ).attr( "title" ) || ""; >- >- // Escape title, since we're going from an attribute to raw HTML >- return $( "<a>" ).text( title ).html(); >- }, >- hide: true, >- >- // Disabled elements have inconsistent behavior across browsers (#8661) >- items: "[title]:not([disabled])", >- position: { >- my: "left top+15", >- at: "left bottom", >- collision: "flipfit flip" >- }, >- show: true, >- track: false, >- >- // Callbacks >- close: null, >- open: null >- }, >- >- _addDescribedBy: function( elem, id ) { >- var describedby = ( elem.attr( "aria-describedby" ) || "" ).split( /\s+/ ); >- describedby.push( id ); >- elem >- .data( "ui-tooltip-id", id ) >- .attr( "aria-describedby", $.trim( describedby.join( " " ) ) ); >- }, >- >- _removeDescribedBy: function( elem ) { >- var id = elem.data( "ui-tooltip-id" ), >- describedby = ( elem.attr( "aria-describedby" ) || "" ).split( /\s+/ ), >- index = $.inArray( id, describedby ); >- >- if ( index !== -1 ) { >- describedby.splice( index, 1 ); >- } >- >- elem.removeData( "ui-tooltip-id" ); >- describedby = $.trim( describedby.join( " " ) ); >- if ( describedby ) { >- elem.attr( "aria-describedby", describedby ); >- } else { >- elem.removeAttr( "aria-describedby" ); >- } >- }, >- >- _create: function() { >- this._on( { >- mouseover: "open", >- focusin: "open" >- } ); >- >- // IDs of generated tooltips, needed for destroy >- this.tooltips = {}; >- >- // IDs of parent tooltips where we removed the title attribute >- this.parents = {}; >- >- // Append the aria-live region so tooltips announce correctly >- this.liveRegion = $( "<div>" ) >- .attr( { >- role: "log", >- "aria-live": "assertive", >- "aria-relevant": "additions" >- } ) >- .appendTo( this.document[ 0 ].body ); >- this._addClass( this.liveRegion, null, "ui-helper-hidden-accessible" ); >- >- this.disabledTitles = $( [] ); >- }, >- >- _setOption: function( key, value ) { >- var that = this; >- >- this._super( key, value ); >- >- if ( key === "content" ) { >- $.each( this.tooltips, function( id, tooltipData ) { >- that._updateContent( tooltipData.element ); >- } ); >- } >- }, >- >- _setOptionDisabled: function( value ) { >- this[ value ? "_disable" : "_enable" ](); >- }, >- >- _disable: function() { >- var that = this; >- >- // Close open tooltips >- $.each( this.tooltips, function( id, tooltipData ) { >- var event = $.Event( "blur" ); >- event.target = event.currentTarget = tooltipData.element[ 0 ]; >- that.close( event, true ); >- } ); >- >- // Remove title attributes to prevent native tooltips >- this.disabledTitles = this.disabledTitles.add( >- this.element.find( this.options.items ).addBack() >- .filter( function() { >- var element = $( this ); >- if ( element.is( "[title]" ) ) { >- return element >- .data( "ui-tooltip-title", element.attr( "title" ) ) >- .removeAttr( "title" ); >- } >- } ) >- ); >- }, >- >- _enable: function() { >- >- // restore title attributes >- this.disabledTitles.each( function() { >- var element = $( this ); >- if ( element.data( "ui-tooltip-title" ) ) { >- element.attr( "title", element.data( "ui-tooltip-title" ) ); >- } >- } ); >- this.disabledTitles = $( [] ); >- }, >- >- open: function( event ) { >- var that = this, >- target = $( event ? event.target : this.element ) >- >- // we need closest here due to mouseover bubbling, >- // but always pointing at the same event target >- .closest( this.options.items ); >- >- // No element to show a tooltip for or the tooltip is already open >- if ( !target.length || target.data( "ui-tooltip-id" ) ) { >- return; >- } >- >- if ( target.attr( "title" ) ) { >- target.data( "ui-tooltip-title", target.attr( "title" ) ); >- } >- >- target.data( "ui-tooltip-open", true ); >- >- // Kill parent tooltips, custom or native, for hover >- if ( event && event.type === "mouseover" ) { >- target.parents().each( function() { >- var parent = $( this ), >- blurEvent; >- if ( parent.data( "ui-tooltip-open" ) ) { >- blurEvent = $.Event( "blur" ); >- blurEvent.target = blurEvent.currentTarget = this; >- that.close( blurEvent, true ); >- } >- if ( parent.attr( "title" ) ) { >- parent.uniqueId(); >- that.parents[ this.id ] = { >- element: this, >- title: parent.attr( "title" ) >- }; >- parent.attr( "title", "" ); >- } >- } ); >- } >- >- this._registerCloseHandlers( event, target ); >- this._updateContent( target, event ); >- }, >- >- _updateContent: function( target, event ) { >- var content, >- contentOption = this.options.content, >- that = this, >- eventType = event ? event.type : null; >- >- if ( typeof contentOption === "string" || contentOption.nodeType || >- contentOption.jquery ) { >- return this._open( event, target, contentOption ); >- } >- >- content = contentOption.call( target[ 0 ], function( response ) { >- >- // IE may instantly serve a cached response for ajax requests >- // delay this call to _open so the other call to _open runs first >- that._delay( function() { >- >- // Ignore async response if tooltip was closed already >- if ( !target.data( "ui-tooltip-open" ) ) { >- return; >- } >- >- // JQuery creates a special event for focusin when it doesn't >- // exist natively. To improve performance, the native event >- // object is reused and the type is changed. Therefore, we can't >- // rely on the type being correct after the event finished >- // bubbling, so we set it back to the previous value. (#8740) >- if ( event ) { >- event.type = eventType; >- } >- this._open( event, target, response ); >- } ); >- } ); >- if ( content ) { >- this._open( event, target, content ); >- } >- }, >- >- _open: function( event, target, content ) { >- var tooltipData, tooltip, delayedShow, a11yContent, >- positionOption = $.extend( {}, this.options.position ); >- >- if ( !content ) { >- return; >- } >- >- // Content can be updated multiple times. If the tooltip already >- // exists, then just update the content and bail. >- tooltipData = this._find( target ); >- if ( tooltipData ) { >- tooltipData.tooltip.find( ".ui-tooltip-content" ).html( content ); >- return; >- } >- >- // If we have a title, clear it to prevent the native tooltip >- // we have to check first to avoid defining a title if none exists >- // (we don't want to cause an element to start matching [title]) >- // >- // We use removeAttr only for key events, to allow IE to export the correct >- // accessible attributes. For mouse events, set to empty string to avoid >- // native tooltip showing up (happens only when removing inside mouseover). >- if ( target.is( "[title]" ) ) { >- if ( event && event.type === "mouseover" ) { >- target.attr( "title", "" ); >- } else { >- target.removeAttr( "title" ); >- } >- } >- >- tooltipData = this._tooltip( target ); >- tooltip = tooltipData.tooltip; >- this._addDescribedBy( target, tooltip.attr( "id" ) ); >- tooltip.find( ".ui-tooltip-content" ).html( content ); >- >- // Support: Voiceover on OS X, JAWS on IE <= 9 >- // JAWS announces deletions even when aria-relevant="additions" >- // Voiceover will sometimes re-read the entire log region's contents from the beginning >- this.liveRegion.children().hide(); >- a11yContent = $( "<div>" ).html( tooltip.find( ".ui-tooltip-content" ).html() ); >- a11yContent.removeAttr( "name" ).find( "[name]" ).removeAttr( "name" ); >- a11yContent.removeAttr( "id" ).find( "[id]" ).removeAttr( "id" ); >- a11yContent.appendTo( this.liveRegion ); >- >- function position( event ) { >- positionOption.of = event; >- if ( tooltip.is( ":hidden" ) ) { >- return; >- } >- tooltip.position( positionOption ); >- } >- if ( this.options.track && event && /^mouse/.test( event.type ) ) { >- this._on( this.document, { >- mousemove: position >- } ); >- >- // trigger once to override element-relative positioning >- position( event ); >- } else { >- tooltip.position( $.extend( { >- of: target >- }, this.options.position ) ); >- } >- >- tooltip.hide(); >- >- this._show( tooltip, this.options.show ); >- >- // Handle tracking tooltips that are shown with a delay (#8644). As soon >- // as the tooltip is visible, position the tooltip using the most recent >- // event. >- // Adds the check to add the timers only when both delay and track options are set (#14682) >- if ( this.options.track && this.options.show && this.options.show.delay ) { >- delayedShow = this.delayedShow = setInterval( function() { >- if ( tooltip.is( ":visible" ) ) { >- position( positionOption.of ); >- clearInterval( delayedShow ); >- } >- }, $.fx.interval ); >- } >- >- this._trigger( "open", event, { tooltip: tooltip } ); >- }, >- >- _registerCloseHandlers: function( event, target ) { >- var events = { >- keyup: function( event ) { >- if ( event.keyCode === $.ui.keyCode.ESCAPE ) { >- var fakeEvent = $.Event( event ); >- fakeEvent.currentTarget = target[ 0 ]; >- this.close( fakeEvent, true ); >- } >- } >- }; >- >- // Only bind remove handler for delegated targets. Non-delegated >- // tooltips will handle this in destroy. >- if ( target[ 0 ] !== this.element[ 0 ] ) { >- events.remove = function() { >- this._removeTooltip( this._find( target ).tooltip ); >- }; >- } >- >- if ( !event || event.type === "mouseover" ) { >- events.mouseleave = "close"; >- } >- if ( !event || event.type === "focusin" ) { >- events.focusout = "close"; >- } >- this._on( true, target, events ); >- }, >- >- close: function( event ) { >- var tooltip, >- that = this, >- target = $( event ? event.currentTarget : this.element ), >- tooltipData = this._find( target ); >- >- // The tooltip may already be closed >- if ( !tooltipData ) { >- >- // We set ui-tooltip-open immediately upon open (in open()), but only set the >- // additional data once there's actually content to show (in _open()). So even if the >- // tooltip doesn't have full data, we always remove ui-tooltip-open in case we're in >- // the period between open() and _open(). >- target.removeData( "ui-tooltip-open" ); >- return; >- } >- >- tooltip = tooltipData.tooltip; >- >- // Disabling closes the tooltip, so we need to track when we're closing >- // to avoid an infinite loop in case the tooltip becomes disabled on close >- if ( tooltipData.closing ) { >- return; >- } >- >- // Clear the interval for delayed tracking tooltips >- clearInterval( this.delayedShow ); >- >- // Only set title if we had one before (see comment in _open()) >- // If the title attribute has changed since open(), don't restore >- if ( target.data( "ui-tooltip-title" ) && !target.attr( "title" ) ) { >- target.attr( "title", target.data( "ui-tooltip-title" ) ); >- } >- >- this._removeDescribedBy( target ); >- >- tooltipData.hiding = true; >- tooltip.stop( true ); >- this._hide( tooltip, this.options.hide, function() { >- that._removeTooltip( $( this ) ); >- } ); >- >- target.removeData( "ui-tooltip-open" ); >- this._off( target, "mouseleave focusout keyup" ); >- >- // Remove 'remove' binding only on delegated targets >- if ( target[ 0 ] !== this.element[ 0 ] ) { >- this._off( target, "remove" ); >- } >- this._off( this.document, "mousemove" ); >- >- if ( event && event.type === "mouseleave" ) { >- $.each( this.parents, function( id, parent ) { >- $( parent.element ).attr( "title", parent.title ); >- delete that.parents[ id ]; >- } ); >- } >- >- tooltipData.closing = true; >- this._trigger( "close", event, { tooltip: tooltip } ); >- if ( !tooltipData.hiding ) { >- tooltipData.closing = false; >- } >- }, >- >- _tooltip: function( element ) { >- var tooltip = $( "<div>" ).attr( "role", "tooltip" ), >- content = $( "<div>" ).appendTo( tooltip ), >- id = tooltip.uniqueId().attr( "id" ); >- >- this._addClass( content, "ui-tooltip-content" ); >- this._addClass( tooltip, "ui-tooltip", "ui-widget ui-widget-content" ); >- >- tooltip.appendTo( this._appendTo( element ) ); >- >- return this.tooltips[ id ] = { >- element: element, >- tooltip: tooltip >- }; >- }, >- >- _find: function( target ) { >- var id = target.data( "ui-tooltip-id" ); >- return id ? this.tooltips[ id ] : null; >- }, >- >- _removeTooltip: function( tooltip ) { >- tooltip.remove(); >- delete this.tooltips[ tooltip.attr( "id" ) ]; >- }, >- >- _appendTo: function( target ) { >- var element = target.closest( ".ui-front, dialog" ); >- >- if ( !element.length ) { >- element = this.document[ 0 ].body; >- } >- >- return element; >- }, >- >- _destroy: function() { >- var that = this; >- >- // Close open tooltips >- $.each( this.tooltips, function( id, tooltipData ) { >- >- // Delegate to close method to handle common cleanup >- var event = $.Event( "blur" ), >- element = tooltipData.element; >- event.target = event.currentTarget = element[ 0 ]; >- that.close( event, true ); >- >- // Remove immediately; destroying an open tooltip doesn't use the >- // hide animation >- $( "#" + id ).remove(); >- >- // Restore the title >- if ( element.data( "ui-tooltip-title" ) ) { >- >- // If the title attribute has changed since open(), don't restore >- if ( !element.attr( "title" ) ) { >- element.attr( "title", element.data( "ui-tooltip-title" ) ); >- } >- element.removeData( "ui-tooltip-title" ); >- } >- } ); >- this.liveRegion.remove(); >- } >-} ); >- >-// DEPRECATED >-// TODO: Switch return back to widget declaration at top of file when this is removed >-if ( $.uiBackCompat !== false ) { >- >- // Backcompat for tooltipClass option >- $.widget( "ui.tooltip", $.ui.tooltip, { >- options: { >- tooltipClass: null >- }, >- _tooltip: function() { >- var tooltipData = this._superApply( arguments ); >- if ( this.options.tooltipClass ) { >- tooltipData.tooltip.addClass( this.options.tooltipClass ); >- } >- return tooltipData; >- } >- } ); >-} >- >-var widgetsTooltip = $.ui.tooltip; >- >- >- >- >-})); >\ No newline at end of file >diff --git a/koha-tmpl/opac-tmpl/bootstrap/lib/jquery/jquery-ui-1.12.1.min.css b/koha-tmpl/opac-tmpl/bootstrap/lib/jquery/jquery-ui-1.12.1.min.css >deleted file mode 100644 >index 0998ed6c6f..0000000000 >--- a/koha-tmpl/opac-tmpl/bootstrap/lib/jquery/jquery-ui-1.12.1.min.css >+++ /dev/null >@@ -1,7 +0,0 @@ >-/*! jQuery UI - v1.12.1 - 2019-08-16 >-* http://jqueryui.com >-* Includes: sortable.css, core.css, autocomplete.css, menu.css, datepicker.css, slider.css, tabs.css, tooltip.css, theme.css >-* To view and modify this theme, visit http://jqueryui.com/themeroller/?scope=&folderName=smoothness&cornerRadiusShadow=8px&offsetLeftShadow=-8px&offsetTopShadow=-8px&thicknessShadow=8px&opacityShadow=30&bgImgOpacityShadow=0&bgTextureShadow=flat&bgColorShadow=aaaaaa&opacityOverlay=30&bgImgOpacityOverlay=0&bgTextureOverlay=flat&bgColorOverlay=aaaaaa&iconColorError=cd0a0a&fcError=cd0a0a&borderColorError=cd0a0a&bgImgOpacityError=95&bgTextureError=glass&bgColorError=fef1ec&iconColorHighlight=2e83ff&fcHighlight=363636&borderColorHighlight=fcefa1&bgImgOpacityHighlight=55&bgTextureHighlight=glass&bgColorHighlight=fbf9ee&iconColorActive=454545&fcActive=212121&borderColorActive=aaaaaa&bgImgOpacityActive=65&bgTextureActive=glass&bgColorActive=ffffff&iconColorHover=454545&fcHover=212121&borderColorHover=999999&bgImgOpacityHover=75&bgTextureHover=glass&bgColorHover=dadada&iconColorDefault=888888&fcDefault=555555&borderColorDefault=d3d3d3&bgImgOpacityDefault=75&bgTextureDefault=glass&bgColorDefault=e6e6e6&iconColorContent=222222&fcContent=222222&borderColorContent=aaaaaa&bgImgOpacityContent=75&bgTextureContent=flat&bgColorContent=ffffff&iconColorHeader=222222&fcHeader=222222&borderColorHeader=aaaaaa&bgImgOpacityHeader=75&bgTextureHeader=highlight_soft&bgColorHeader=cccccc&cornerRadius=4px&fsDefault=1.1em&fwDefault=normal&ffDefault=Verdana%2CArial%2Csans-serif >-* Copyright jQuery Foundation and other contributors; Licensed MIT */ >- >-.ui-sortable-handle{-ms-touch-action:none;touch-action:none}.ui-helper-hidden{display:none}.ui-helper-hidden-accessible{border:0;clip:rect(0 0 0 0);height:1px;margin:-1px;overflow:hidden;padding:0;position:absolute;width: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;border-collapse:collapse}.ui-helper-clearfix:after{clear:both}.ui-helper-zfix{width:100%;height:100%;top:0;left:0;position:absolute;opacity:0;filter:Alpha(Opacity=0)}.ui-front{z-index:100}.ui-state-disabled{cursor:default!important;pointer-events:none}.ui-icon{display:inline-block;vertical-align:middle;margin-top:-.25em;position:relative;text-indent:-99999px;overflow:hidden;background-repeat:no-repeat}.ui-widget-icon-block{left:50%;margin-left:-8px;display:block}.ui-widget-overlay{position:fixed;top:0;left:0;width:100%;height:100%}.ui-autocomplete{position:absolute;top:0;left:0;cursor:default}.ui-menu{list-style:none;padding:0;margin:0;display:block;outline:0}.ui-menu .ui-menu{position:absolute}.ui-menu .ui-menu-item{margin:0;cursor:pointer;list-style-image:url("data:image/gif;base64,R0lGODlhAQABAIAAAAAAAP///yH5BAEAAAAALAAAAAABAAEAAAIBRAA7")}.ui-menu .ui-menu-item-wrapper{position:relative;padding:3px 1em 3px .4em}.ui-menu .ui-menu-divider{margin:5px 0;height:0;font-size:0;line-height:0;border-width:1px 0 0 0}.ui-menu .ui-state-focus,.ui-menu .ui-state-active{margin:-1px}.ui-menu-icons{position:relative}.ui-menu-icons .ui-menu-item-wrapper{padding-left:2em}.ui-menu .ui-icon{position:absolute;top:0;bottom:0;left:.2em;margin:auto 0}.ui-menu .ui-menu-icon{left:auto;right:0}.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,.ui-datepicker select.ui-datepicker-year{width:45%}.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}.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,.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:0}.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,.ui-datepicker-rtl .ui-datepicker-group{float:right}.ui-datepicker-rtl .ui-datepicker-group-last .ui-datepicker-header,.ui-datepicker-rtl .ui-datepicker-group-middle .ui-datepicker-header{border-right-width:0;border-left-width:1px}.ui-datepicker .ui-icon{display:block;text-indent:-99999px;overflow:hidden;background-repeat:no-repeat;left:.5em;top:.3em}.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;-ms-touch-action:none;touch-action:none}.ui-slider .ui-slider-range{position:absolute;z-index:1;font-size:.7em;display:block;border:0;background-position:0 0}.ui-slider.ui-state-disabled .ui-slider-handle,.ui-slider.ui-state-disabled .ui-slider-range{filter:inherit}.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}.ui-tabs{position:relative;padding:.2em}.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:0;margin:1px .2em 0 0;border-bottom-width:0;padding:0;white-space:nowrap}.ui-tabs .ui-tabs-nav .ui-tabs-anchor{float:left;padding:.5em 1em;text-decoration:none}.ui-tabs .ui-tabs-nav li.ui-tabs-active{margin-bottom:-1px;padding-bottom:1px}.ui-tabs .ui-tabs-nav li.ui-tabs-active .ui-tabs-anchor,.ui-tabs .ui-tabs-nav li.ui-state-disabled .ui-tabs-anchor,.ui-tabs .ui-tabs-nav li.ui-tabs-loading .ui-tabs-anchor{cursor:text}.ui-tabs-collapsible .ui-tabs-nav li.ui-tabs-active .ui-tabs-anchor{cursor:pointer}.ui-tabs .ui-tabs-panel{display:block;border-width:0;padding:1em 1.4em;background:none}.ui-tooltip{padding:8px;position:absolute;z-index:9999;max-width:300px}body .ui-tooltip{border-width:2px}.ui-widget{font-size:1.1em}.ui-widget .ui-widget{font-size:1em}.ui-widget input,.ui-widget select,.ui-widget textarea,.ui-widget button{font-size:1em}.ui-widget.ui-widget-content{border:1px solid #d3d3d3}.ui-widget-content{border:1px solid #aaa;background:#fff;color:#222}.ui-widget-content a{color:#222}.ui-widget-header{border:1px solid #aaa;background:#ccc url("images/ui-bg_highlight-soft_75_cccccc_1x100.png") 50% 50% repeat-x;color:#222;font-weight:bold}.ui-widget-header a{color:#222}.ui-state-default,.ui-widget-content .ui-state-default,.ui-widget-header .ui-state-default,.ui-button,html .ui-button.ui-state-disabled:hover,html .ui-button.ui-state-disabled:active{border:1px solid #d3d3d3;background:#e6e6e6 url("images/ui-bg_glass_75_e6e6e6_1x400.png") 50% 50% repeat-x;font-weight:normal;color:#555}.ui-state-default a,.ui-state-default a:link,.ui-state-default a:visited,a.ui-button,a:link.ui-button,a:visited.ui-button,.ui-button{color:#555;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,.ui-button:hover,.ui-button:focus{border:1px solid #999;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,.ui-state-hover a:link,.ui-state-hover a:visited,.ui-state-focus a,.ui-state-focus a:hover,.ui-state-focus a:link,.ui-state-focus a:visited,a.ui-button:hover,a.ui-button:focus{color:#212121;text-decoration:none}.ui-visual-focus{box-shadow:0 0 3px 1px rgb(94,158,214)}.ui-state-active,.ui-widget-content .ui-state-active,.ui-widget-header .ui-state-active,a.ui-button:active,.ui-button:active,.ui-button.ui-state-active:hover{border:1px solid #aaa;background:#fff url("images/ui-bg_glass_65_ffffff_1x400.png") 50% 50% repeat-x;font-weight:normal;color:#212121}.ui-icon-background,.ui-state-active .ui-icon-background{border:#aaa;background-color:#212121}.ui-state-active a,.ui-state-active a:link,.ui-state-active a:visited{color:#212121;text-decoration:none}.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-checked{border:1px solid #fcefa1;background:#fbf9ee}.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}.ui-state-disabled .ui-icon{filter:Alpha(Opacity=35)}.ui-icon{width:16px;height:16px}.ui-icon,.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-hover .ui-icon,.ui-state-focus .ui-icon,.ui-button:hover .ui-icon,.ui-button:focus .ui-icon{background-image:url("images/ui-icons_454545_256x240.png")}.ui-state-active .ui-icon,.ui-button:active .ui-icon{background-image:url("images/ui-icons_454545_256x240.png")}.ui-state-highlight .ui-icon,.ui-button .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")}.ui-button .ui-icon{background-image:url("images/ui-icons_888888_256x240.png")}.ui-icon-blank{background-position:16px 16px}.ui-icon-caret-1-n{background-position:0 0}.ui-icon-caret-1-ne{background-position:-16px 0}.ui-icon-caret-1-e{background-position:-32px 0}.ui-icon-caret-1-se{background-position:-48px 0}.ui-icon-caret-1-s{background-position:-65px 0}.ui-icon-caret-1-sw{background-position:-80px 0}.ui-icon-caret-1-w{background-position:-96px 0}.ui-icon-caret-1-nw{background-position:-112px 0}.ui-icon-caret-2-n-s{background-position:-128px 0}.ui-icon-caret-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:-65px -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:-65px -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:1px -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-on{background-position:-96px -144px}.ui-icon-radio-off{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{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}.ui-corner-all,.ui-corner-top,.ui-corner-left,.ui-corner-tl{border-top-left-radius:4px}.ui-corner-all,.ui-corner-top,.ui-corner-right,.ui-corner-tr{border-top-right-radius:4px}.ui-corner-all,.ui-corner-bottom,.ui-corner-left,.ui-corner-bl{border-bottom-left-radius:4px}.ui-corner-all,.ui-corner-bottom,.ui-corner-right,.ui-corner-br{border-bottom-right-radius:4px}.ui-widget-overlay{background:#aaa;opacity:.3;filter:Alpha(Opacity=30)}.ui-widget-shadow{-webkit-box-shadow:-8px -8px 8px #aaa;box-shadow:-8px -8px 8px #aaa} >diff --git a/koha-tmpl/opac-tmpl/bootstrap/lib/jquery/jquery-ui-1.12.1.min.js b/koha-tmpl/opac-tmpl/bootstrap/lib/jquery/jquery-ui-1.12.1.min.js >deleted file mode 100644 >index ac439d6873..0000000000 >--- a/koha-tmpl/opac-tmpl/bootstrap/lib/jquery/jquery-ui-1.12.1.min.js >+++ /dev/null >@@ -1,9 +0,0 @@ >-/*! jQuery UI - v1.12.1 - 2019-08-16 >-* http://jqueryui.com >-* Includes: widget.js, position.js, data.js, keycode.js, scroll-parent.js, unique-id.js, widgets/sortable.js, widgets/autocomplete.js, widgets/datepicker.js, widgets/menu.js, widgets/mouse.js, widgets/slider.js, widgets/tabs.js, widgets/tooltip.js >-* Copyright jQuery Foundation and other contributors; Licensed MIT */ >- >-(function(t){"function"==typeof define&&define.amd?define(["jquery"],t):t(jQuery)})(function(t){function e(t){for(var e,i;t.length&&t[0]!==document;){if(e=t.css("position"),("absolute"===e||"relative"===e||"fixed"===e)&&(i=parseInt(t.css("zIndex"),10),!isNaN(i)&&0!==i))return i;t=t.parent()}return 0}function i(){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},t.extend(this._defaults,this.regional[""]),this.regional.en=t.extend(!0,{},this.regional[""]),this.regional["en-US"]=t.extend(!0,{},this.regional.en),this.dpDiv=s(t("<div id='"+this._mainDivId+"' class='ui-datepicker ui-widget ui-widget-content ui-helper-clearfix ui-corner-all'></div>"))}function s(e){var i="button, .ui-datepicker-prev, .ui-datepicker-next, .ui-datepicker-calendar td a";return e.on("mouseout",i,function(){t(this).removeClass("ui-state-hover"),-1!==this.className.indexOf("ui-datepicker-prev")&&t(this).removeClass("ui-datepicker-prev-hover"),-1!==this.className.indexOf("ui-datepicker-next")&&t(this).removeClass("ui-datepicker-next-hover")}).on("mouseover",i,n)}function n(){t.datepicker._isDisabledDatepicker(h.inline?h.dpDiv.parent()[0]:h.input[0])||(t(this).parents(".ui-datepicker-calendar").find("a").removeClass("ui-state-hover"),t(this).addClass("ui-state-hover"),-1!==this.className.indexOf("ui-datepicker-prev")&&t(this).addClass("ui-datepicker-prev-hover"),-1!==this.className.indexOf("ui-datepicker-next")&&t(this).addClass("ui-datepicker-next-hover"))}function o(e,i){t.extend(e,i);for(var s in i)null==i[s]&&(e[s]=i[s]);return e}t.ui=t.ui||{},t.ui.version="1.12.1";var a=0,r=Array.prototype.slice;t.cleanData=function(e){return function(i){var s,n,o;for(o=0;null!=(n=i[o]);o++)try{s=t._data(n,"events"),s&&s.remove&&t(n).triggerHandler("remove")}catch(a){}e(i)}}(t.cleanData),t.widget=function(e,i,s){var n,o,a,r={},l=e.split(".")[0];e=e.split(".")[1];var h=l+"-"+e;return s||(s=i,i=t.Widget),t.isArray(s)&&(s=t.extend.apply(null,[{}].concat(s))),t.expr[":"][h.toLowerCase()]=function(e){return!!t.data(e,h)},t[l]=t[l]||{},n=t[l][e],o=t[l][e]=function(t,e){return this._createWidget?(arguments.length&&this._createWidget(t,e),void 0):new o(t,e)},t.extend(o,n,{version:s.version,_proto:t.extend({},s),_childConstructors:[]}),a=new i,a.options=t.widget.extend({},a.options),t.each(s,function(e,s){return t.isFunction(s)?(r[e]=function(){function t(){return i.prototype[e].apply(this,arguments)}function n(t){return i.prototype[e].apply(this,t)}return function(){var e,i=this._super,o=this._superApply;return this._super=t,this._superApply=n,e=s.apply(this,arguments),this._super=i,this._superApply=o,e}}(),void 0):(r[e]=s,void 0)}),o.prototype=t.widget.extend(a,{widgetEventPrefix:n?a.widgetEventPrefix||e:e},r,{constructor:o,namespace:l,widgetName:e,widgetFullName:h}),n?(t.each(n._childConstructors,function(e,i){var s=i.prototype;t.widget(s.namespace+"."+s.widgetName,o,i._proto)}),delete n._childConstructors):i._childConstructors.push(o),t.widget.bridge(e,o),o},t.widget.extend=function(e){for(var i,s,n=r.call(arguments,1),o=0,a=n.length;a>o;o++)for(i in n[o])s=n[o][i],n[o].hasOwnProperty(i)&&void 0!==s&&(e[i]=t.isPlainObject(s)?t.isPlainObject(e[i])?t.widget.extend({},e[i],s):t.widget.extend({},s):s);return e},t.widget.bridge=function(e,i){var s=i.prototype.widgetFullName||e;t.fn[e]=function(n){var o="string"==typeof n,a=r.call(arguments,1),l=this;return o?this.length||"instance"!==n?this.each(function(){var i,o=t.data(this,s);return"instance"===n?(l=o,!1):o?t.isFunction(o[n])&&"_"!==n.charAt(0)?(i=o[n].apply(o,a),i!==o&&void 0!==i?(l=i&&i.jquery?l.pushStack(i.get()):i,!1):void 0):t.error("no such method '"+n+"' for "+e+" widget instance"):t.error("cannot call methods on "+e+" prior to initialization; "+"attempted to call method '"+n+"'")}):l=void 0:(a.length&&(n=t.widget.extend.apply(null,[n].concat(a))),this.each(function(){var e=t.data(this,s);e?(e.option(n||{}),e._init&&e._init()):t.data(this,s,new i(n,this))})),l}},t.Widget=function(){},t.Widget._childConstructors=[],t.Widget.prototype={widgetName:"widget",widgetEventPrefix:"",defaultElement:"<div>",options:{classes:{},disabled:!1,create:null},_createWidget:function(e,i){i=t(i||this.defaultElement||this)[0],this.element=t(i),this.uuid=a++,this.eventNamespace="."+this.widgetName+this.uuid,this.bindings=t(),this.hoverable=t(),this.focusable=t(),this.classesElementLookup={},i!==this&&(t.data(i,this.widgetFullName,this),this._on(!0,this.element,{remove:function(t){t.target===i&&this.destroy()}}),this.document=t(i.style?i.ownerDocument:i.document||i),this.window=t(this.document[0].defaultView||this.document[0].parentWindow)),this.options=t.widget.extend({},this.options,this._getCreateOptions(),e),this._create(),this.options.disabled&&this._setOptionDisabled(this.options.disabled),this._trigger("create",null,this._getCreateEventData()),this._init()},_getCreateOptions:function(){return{}},_getCreateEventData:t.noop,_create:t.noop,_init:t.noop,destroy:function(){var e=this;this._destroy(),t.each(this.classesElementLookup,function(t,i){e._removeClass(i,t)}),this.element.off(this.eventNamespace).removeData(this.widgetFullName),this.widget().off(this.eventNamespace).removeAttr("aria-disabled"),this.bindings.off(this.eventNamespace)},_destroy:t.noop,widget:function(){return this.element},option:function(e,i){var s,n,o,a=e;if(0===arguments.length)return t.widget.extend({},this.options);if("string"==typeof e)if(a={},s=e.split("."),e=s.shift(),s.length){for(n=a[e]=t.widget.extend({},this.options[e]),o=0;s.length-1>o;o++)n[s[o]]=n[s[o]]||{},n=n[s[o]];if(e=s.pop(),1===arguments.length)return void 0===n[e]?null:n[e];n[e]=i}else{if(1===arguments.length)return void 0===this.options[e]?null:this.options[e];a[e]=i}return this._setOptions(a),this},_setOptions:function(t){var e;for(e in t)this._setOption(e,t[e]);return this},_setOption:function(t,e){return"classes"===t&&this._setOptionClasses(e),this.options[t]=e,"disabled"===t&&this._setOptionDisabled(e),this},_setOptionClasses:function(e){var i,s,n;for(i in e)n=this.classesElementLookup[i],e[i]!==this.options.classes[i]&&n&&n.length&&(s=t(n.get()),this._removeClass(n,i),s.addClass(this._classes({element:s,keys:i,classes:e,add:!0})))},_setOptionDisabled:function(t){this._toggleClass(this.widget(),this.widgetFullName+"-disabled",null,!!t),t&&(this._removeClass(this.hoverable,null,"ui-state-hover"),this._removeClass(this.focusable,null,"ui-state-focus"))},enable:function(){return this._setOptions({disabled:!1})},disable:function(){return this._setOptions({disabled:!0})},_classes:function(e){function i(i,o){var a,r;for(r=0;i.length>r;r++)a=n.classesElementLookup[i[r]]||t(),a=e.add?t(t.unique(a.get().concat(e.element.get()))):t(a.not(e.element).get()),n.classesElementLookup[i[r]]=a,s.push(i[r]),o&&e.classes[i[r]]&&s.push(e.classes[i[r]])}var s=[],n=this;return e=t.extend({element:this.element,classes:this.options.classes||{}},e),this._on(e.element,{remove:"_untrackClassesElement"}),e.keys&&i(e.keys.match(/\S+/g)||[],!0),e.extra&&i(e.extra.match(/\S+/g)||[]),s.join(" ")},_untrackClassesElement:function(e){var i=this;t.each(i.classesElementLookup,function(s,n){-1!==t.inArray(e.target,n)&&(i.classesElementLookup[s]=t(n.not(e.target).get()))})},_removeClass:function(t,e,i){return this._toggleClass(t,e,i,!1)},_addClass:function(t,e,i){return this._toggleClass(t,e,i,!0)},_toggleClass:function(t,e,i,s){s="boolean"==typeof s?s:i;var n="string"==typeof t||null===t,o={extra:n?e:i,keys:n?t:e,element:n?this.element:t,add:s};return o.element.toggleClass(this._classes(o),s),this},_on:function(e,i,s){var n,o=this;"boolean"!=typeof e&&(s=i,i=e,e=!1),s?(i=n=t(i),this.bindings=this.bindings.add(i)):(s=i,i=this.element,n=this.widget()),t.each(s,function(s,a){function r(){return e||o.options.disabled!==!0&&!t(this).hasClass("ui-state-disabled")?("string"==typeof a?o[a]:a).apply(o,arguments):void 0}"string"!=typeof a&&(r.guid=a.guid=a.guid||r.guid||t.guid++);var l=s.match(/^([\w:-]*)\s*(.*)$/),h=l[1]+o.eventNamespace,c=l[2];c?n.on(h,c,r):i.on(h,r)})},_off:function(e,i){i=(i||"").split(" ").join(this.eventNamespace+" ")+this.eventNamespace,e.off(i).off(i),this.bindings=t(this.bindings.not(e).get()),this.focusable=t(this.focusable.not(e).get()),this.hoverable=t(this.hoverable.not(e).get())},_delay:function(t,e){function i(){return("string"==typeof t?s[t]:t).apply(s,arguments)}var s=this;return setTimeout(i,e||0)},_hoverable:function(e){this.hoverable=this.hoverable.add(e),this._on(e,{mouseenter:function(e){this._addClass(t(e.currentTarget),null,"ui-state-hover")},mouseleave:function(e){this._removeClass(t(e.currentTarget),null,"ui-state-hover")}})},_focusable:function(e){this.focusable=this.focusable.add(e),this._on(e,{focusin:function(e){this._addClass(t(e.currentTarget),null,"ui-state-focus")},focusout:function(e){this._removeClass(t(e.currentTarget),null,"ui-state-focus")}})},_trigger:function(e,i,s){var n,o,a=this.options[e];if(s=s||{},i=t.Event(i),i.type=(e===this.widgetEventPrefix?e:this.widgetEventPrefix+e).toLowerCase(),i.target=this.element[0],o=i.originalEvent)for(n in o)n in i||(i[n]=o[n]);return this.element.trigger(i,s),!(t.isFunction(a)&&a.apply(this.element[0],[i].concat(s))===!1||i.isDefaultPrevented())}},t.each({show:"fadeIn",hide:"fadeOut"},function(e,i){t.Widget.prototype["_"+e]=function(s,n,o){"string"==typeof n&&(n={effect:n});var a,r=n?n===!0||"number"==typeof n?i:n.effect||i:e;n=n||{},"number"==typeof n&&(n={duration:n}),a=!t.isEmptyObject(n),n.complete=o,n.delay&&s.delay(n.delay),a&&t.effects&&t.effects.effect[r]?s[e](n):r!==e&&s[r]?s[r](n.duration,n.easing,o):s.queue(function(i){t(this)[e](),o&&o.call(s[0]),i()})}}),t.widget,function(){function e(t,e,i){return[parseFloat(t[0])*(u.test(t[0])?e/100:1),parseFloat(t[1])*(u.test(t[1])?i/100:1)]}function i(e,i){return parseInt(t.css(e,i),10)||0}function s(e){var i=e[0];return 9===i.nodeType?{width:e.width(),height:e.height(),offset:{top:0,left:0}}:t.isWindow(i)?{width:e.width(),height:e.height(),offset:{top:e.scrollTop(),left:e.scrollLeft()}}:i.preventDefault?{width:0,height:0,offset:{top:i.pageY,left:i.pageX}}:{width:e.outerWidth(),height:e.outerHeight(),offset:e.offset()}}var n,o=Math.max,a=Math.abs,r=/left|center|right/,l=/top|center|bottom/,h=/[\+\-]\d+(\.[\d]+)?%?/,c=/^\w+/,u=/%$/,d=t.fn.position;t.position={scrollbarWidth:function(){if(void 0!==n)return n;var e,i,s=t("<div style='display:block;position:absolute;width:50px;height:50px;overflow:hidden;'><div style='height:100px;width:auto;'></div></div>"),o=s.children()[0];return t("body").append(s),e=o.offsetWidth,s.css("overflow","scroll"),i=o.offsetWidth,e===i&&(i=s[0].clientWidth),s.remove(),n=e-i},getScrollInfo:function(e){var i=e.isWindow||e.isDocument?"":e.element.css("overflow-x"),s=e.isWindow||e.isDocument?"":e.element.css("overflow-y"),n="scroll"===i||"auto"===i&&e.width<e.element[0].scrollWidth,o="scroll"===s||"auto"===s&&e.height<e.element[0].scrollHeight;return{width:o?t.position.scrollbarWidth():0,height:n?t.position.scrollbarWidth():0}},getWithinInfo:function(e){var i=t(e||window),s=t.isWindow(i[0]),n=!!i[0]&&9===i[0].nodeType,o=!s&&!n;return{element:i,isWindow:s,isDocument:n,offset:o?t(e).offset():{left:0,top:0},scrollLeft:i.scrollLeft(),scrollTop:i.scrollTop(),width:i.outerWidth(),height:i.outerHeight()}}},t.fn.position=function(n){if(!n||!n.of)return d.apply(this,arguments);n=t.extend({},n);var u,p,f,g,m,_,v=t(n.of),b=t.position.getWithinInfo(n.within),y=t.position.getScrollInfo(b),w=(n.collision||"flip").split(" "),k={};return _=s(v),v[0].preventDefault&&(n.at="left top"),p=_.width,f=_.height,g=_.offset,m=t.extend({},g),t.each(["my","at"],function(){var t,e,i=(n[this]||"").split(" ");1===i.length&&(i=r.test(i[0])?i.concat(["center"]):l.test(i[0])?["center"].concat(i):["center","center"]),i[0]=r.test(i[0])?i[0]:"center",i[1]=l.test(i[1])?i[1]:"center",t=h.exec(i[0]),e=h.exec(i[1]),k[this]=[t?t[0]:0,e?e[0]:0],n[this]=[c.exec(i[0])[0],c.exec(i[1])[0]]}),1===w.length&&(w[1]=w[0]),"right"===n.at[0]?m.left+=p:"center"===n.at[0]&&(m.left+=p/2),"bottom"===n.at[1]?m.top+=f:"center"===n.at[1]&&(m.top+=f/2),u=e(k.at,p,f),m.left+=u[0],m.top+=u[1],this.each(function(){var s,r,l=t(this),h=l.outerWidth(),c=l.outerHeight(),d=i(this,"marginLeft"),_=i(this,"marginTop"),x=h+d+i(this,"marginRight")+y.width,C=c+_+i(this,"marginBottom")+y.height,D=t.extend({},m),T=e(k.my,l.outerWidth(),l.outerHeight());"right"===n.my[0]?D.left-=h:"center"===n.my[0]&&(D.left-=h/2),"bottom"===n.my[1]?D.top-=c:"center"===n.my[1]&&(D.top-=c/2),D.left+=T[0],D.top+=T[1],s={marginLeft:d,marginTop:_},t.each(["left","top"],function(e,i){t.ui.position[w[e]]&&t.ui.position[w[e]][i](D,{targetWidth:p,targetHeight:f,elemWidth:h,elemHeight:c,collisionPosition:s,collisionWidth:x,collisionHeight:C,offset:[u[0]+T[0],u[1]+T[1]],my:n.my,at:n.at,within:b,elem:l})}),n.using&&(r=function(t){var e=g.left-D.left,i=e+p-h,s=g.top-D.top,r=s+f-c,u={target:{element:v,left:g.left,top:g.top,width:p,height:f},element:{element:l,left:D.left,top:D.top,width:h,height:c},horizontal:0>i?"left":e>0?"right":"center",vertical:0>r?"top":s>0?"bottom":"middle"};h>p&&p>a(e+i)&&(u.horizontal="center"),c>f&&f>a(s+r)&&(u.vertical="middle"),u.important=o(a(e),a(i))>o(a(s),a(r))?"horizontal":"vertical",n.using.call(this,t,u)}),l.offset(t.extend(D,{using:r}))})},t.ui.position={fit:{left:function(t,e){var i,s=e.within,n=s.isWindow?s.scrollLeft:s.offset.left,a=s.width,r=t.left-e.collisionPosition.marginLeft,l=n-r,h=r+e.collisionWidth-a-n;e.collisionWidth>a?l>0&&0>=h?(i=t.left+l+e.collisionWidth-a-n,t.left+=l-i):t.left=h>0&&0>=l?n:l>h?n+a-e.collisionWidth:n:l>0?t.left+=l:h>0?t.left-=h:t.left=o(t.left-r,t.left)},top:function(t,e){var i,s=e.within,n=s.isWindow?s.scrollTop:s.offset.top,a=e.within.height,r=t.top-e.collisionPosition.marginTop,l=n-r,h=r+e.collisionHeight-a-n;e.collisionHeight>a?l>0&&0>=h?(i=t.top+l+e.collisionHeight-a-n,t.top+=l-i):t.top=h>0&&0>=l?n:l>h?n+a-e.collisionHeight:n:l>0?t.top+=l:h>0?t.top-=h:t.top=o(t.top-r,t.top)}},flip:{left:function(t,e){var i,s,n=e.within,o=n.offset.left+n.scrollLeft,r=n.width,l=n.isWindow?n.scrollLeft:n.offset.left,h=t.left-e.collisionPosition.marginLeft,c=h-l,u=h+e.collisionWidth-r-l,d="left"===e.my[0]?-e.elemWidth:"right"===e.my[0]?e.elemWidth:0,p="left"===e.at[0]?e.targetWidth:"right"===e.at[0]?-e.targetWidth:0,f=-2*e.offset[0];0>c?(i=t.left+d+p+f+e.collisionWidth-r-o,(0>i||a(c)>i)&&(t.left+=d+p+f)):u>0&&(s=t.left-e.collisionPosition.marginLeft+d+p+f-l,(s>0||u>a(s))&&(t.left+=d+p+f))},top:function(t,e){var i,s,n=e.within,o=n.offset.top+n.scrollTop,r=n.height,l=n.isWindow?n.scrollTop:n.offset.top,h=t.top-e.collisionPosition.marginTop,c=h-l,u=h+e.collisionHeight-r-l,d="top"===e.my[1],p=d?-e.elemHeight:"bottom"===e.my[1]?e.elemHeight:0,f="top"===e.at[1]?e.targetHeight:"bottom"===e.at[1]?-e.targetHeight:0,g=-2*e.offset[1];0>c?(s=t.top+p+f+g+e.collisionHeight-r-o,(0>s||a(c)>s)&&(t.top+=p+f+g)):u>0&&(i=t.top-e.collisionPosition.marginTop+p+f+g-l,(i>0||u>a(i))&&(t.top+=p+f+g))}},flipfit:{left:function(){t.ui.position.flip.left.apply(this,arguments),t.ui.position.fit.left.apply(this,arguments)},top:function(){t.ui.position.flip.top.apply(this,arguments),t.ui.position.fit.top.apply(this,arguments)}}}}(),t.ui.position,t.extend(t.expr[":"],{data:t.expr.createPseudo?t.expr.createPseudo(function(e){return function(i){return!!t.data(i,e)}}):function(e,i,s){return!!t.data(e,s[3])}}),t.ui.keyCode={BACKSPACE:8,COMMA:188,DELETE:46,DOWN:40,END:35,ENTER:13,ESCAPE:27,HOME:36,LEFT:37,PAGE_DOWN:34,PAGE_UP:33,PERIOD:190,RIGHT:39,SPACE:32,TAB:9,UP:38},t.fn.scrollParent=function(e){var i=this.css("position"),s="absolute"===i,n=e?/(auto|scroll|hidden)/:/(auto|scroll)/,o=this.parents().filter(function(){var e=t(this);return s&&"static"===e.css("position")?!1:n.test(e.css("overflow")+e.css("overflow-y")+e.css("overflow-x"))}).eq(0);return"fixed"!==i&&o.length?o:t(this[0].ownerDocument||document)},t.fn.extend({uniqueId:function(){var t=0;return function(){return this.each(function(){this.id||(this.id="ui-id-"+ ++t)})}}(),removeUniqueId:function(){return this.each(function(){/^ui-id-\d+$/.test(this.id)&&t(this).removeAttr("id")})}}),t.ui.ie=!!/msie [\w.]+/.exec(navigator.userAgent.toLowerCase());var l=!1;t(document).on("mouseup",function(){l=!1}),t.widget("ui.mouse",{version:"1.12.1",options:{cancel:"input, textarea, button, select, option",distance:1,delay:0},_mouseInit:function(){var e=this;this.element.on("mousedown."+this.widgetName,function(t){return e._mouseDown(t)}).on("click."+this.widgetName,function(i){return!0===t.data(i.target,e.widgetName+".preventClickEvent")?(t.removeData(i.target,e.widgetName+".preventClickEvent"),i.stopImmediatePropagation(),!1):void 0}),this.started=!1},_mouseDestroy:function(){this.element.off("."+this.widgetName),this._mouseMoveDelegate&&this.document.off("mousemove."+this.widgetName,this._mouseMoveDelegate).off("mouseup."+this.widgetName,this._mouseUpDelegate)},_mouseDown:function(e){if(!l){this._mouseMoved=!1,this._mouseStarted&&this._mouseUp(e),this._mouseDownEvent=e;var i=this,s=1===e.which,n="string"==typeof this.options.cancel&&e.target.nodeName?t(e.target).closest(this.options.cancel).length:!1;return s&&!n&&this._mouseCapture(e)?(this.mouseDelayMet=!this.options.delay,this.mouseDelayMet||(this._mouseDelayTimer=setTimeout(function(){i.mouseDelayMet=!0},this.options.delay)),this._mouseDistanceMet(e)&&this._mouseDelayMet(e)&&(this._mouseStarted=this._mouseStart(e)!==!1,!this._mouseStarted)?(e.preventDefault(),!0):(!0===t.data(e.target,this.widgetName+".preventClickEvent")&&t.removeData(e.target,this.widgetName+".preventClickEvent"),this._mouseMoveDelegate=function(t){return i._mouseMove(t)},this._mouseUpDelegate=function(t){return i._mouseUp(t)},this.document.on("mousemove."+this.widgetName,this._mouseMoveDelegate).on("mouseup."+this.widgetName,this._mouseUpDelegate),e.preventDefault(),l=!0,!0)):!0}},_mouseMove:function(e){if(this._mouseMoved){if(t.ui.ie&&(!document.documentMode||9>document.documentMode)&&!e.button)return this._mouseUp(e);if(!e.which)if(e.originalEvent.altKey||e.originalEvent.ctrlKey||e.originalEvent.metaKey||e.originalEvent.shiftKey)this.ignoreMissingWhich=!0;else if(!this.ignoreMissingWhich)return this._mouseUp(e)}return(e.which||e.button)&&(this._mouseMoved=!0),this._mouseStarted?(this._mouseDrag(e),e.preventDefault()):(this._mouseDistanceMet(e)&&this._mouseDelayMet(e)&&(this._mouseStarted=this._mouseStart(this._mouseDownEvent,e)!==!1,this._mouseStarted?this._mouseDrag(e):this._mouseUp(e)),!this._mouseStarted)},_mouseUp:function(e){this.document.off("mousemove."+this.widgetName,this._mouseMoveDelegate).off("mouseup."+this.widgetName,this._mouseUpDelegate),this._mouseStarted&&(this._mouseStarted=!1,e.target===this._mouseDownEvent.target&&t.data(e.target,this.widgetName+".preventClickEvent",!0),this._mouseStop(e)),this._mouseDelayTimer&&(clearTimeout(this._mouseDelayTimer),delete this._mouseDelayTimer),this.ignoreMissingWhich=!1,l=!1,e.preventDefault()},_mouseDistanceMet:function(t){return Math.max(Math.abs(this._mouseDownEvent.pageX-t.pageX),Math.abs(this._mouseDownEvent.pageY-t.pageY))>=this.options.distance},_mouseDelayMet:function(){return this.mouseDelayMet},_mouseStart:function(){},_mouseDrag:function(){},_mouseStop:function(){},_mouseCapture:function(){return!0}}),t.widget("ui.sortable",t.ui.mouse,{version:"1.12.1",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,activate:null,beforeStop:null,change:null,deactivate:null,out:null,over:null,receive:null,remove:null,sort:null,start:null,stop:null,update:null},_isOverAxis:function(t,e,i){return t>=e&&e+i>t},_isFloating:function(t){return/left|right/.test(t.css("float"))||/inline|table-cell/.test(t.css("display"))},_create:function(){this.containerCache={},this._addClass("ui-sortable"),this.refresh(),this.offset=this.element.offset(),this._mouseInit(),this._setHandleClassName(),this.ready=!0},_setOption:function(t,e){this._super(t,e),"handle"===t&&this._setHandleClassName()},_setHandleClassName:function(){var e=this;this._removeClass(this.element.find(".ui-sortable-handle"),"ui-sortable-handle"),t.each(this.items,function(){e._addClass(this.instance.options.handle?this.item.find(this.instance.options.handle):this.item,"ui-sortable-handle")})},_destroy:function(){this._mouseDestroy();for(var t=this.items.length-1;t>=0;t--)this.items[t].item.removeData(this.widgetName+"-item");return this},_mouseCapture:function(e,i){var s=null,n=!1,o=this;return this.reverting?!1:this.options.disabled||"static"===this.options.type?!1:(this._refreshItems(e),t(e.target).parents().each(function(){return t.data(this,o.widgetName+"-item")===o?(s=t(this),!1):void 0}),t.data(e.target,o.widgetName+"-item")===o&&(s=t(e.target)),s?!this.options.handle||i||(t(this.options.handle,s).find("*").addBack().each(function(){this===e.target&&(n=!0)}),n)?(this.currentItem=s,this._removeCurrentsFromItems(),!0):!1:!1)},_mouseStart:function(e,i,s){var n,o,a=this.options;if(this.currentContainer=this,this.refreshPositions(),this.helper=this._createHelper(e),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},t.extend(this.offset,{click:{left:e.pageX-this.offset.left,top:e.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(e),this.originalPageX=e.pageX,this.originalPageY=e.pageY,a.cursorAt&&this._adjustOffsetFromHelper(a.cursorAt),this.domPosition={prev:this.currentItem.prev()[0],parent:this.currentItem.parent()[0]},this.helper[0]!==this.currentItem[0]&&this.currentItem.hide(),this._createPlaceholder(),a.containment&&this._setContainment(),a.cursor&&"auto"!==a.cursor&&(o=this.document.find("body"),this.storedCursor=o.css("cursor"),o.css("cursor",a.cursor),this.storedStylesheet=t("<style>*{ cursor: "+a.cursor+" !important; }</style>").appendTo(o)),a.opacity&&(this.helper.css("opacity")&&(this._storedOpacity=this.helper.css("opacity")),this.helper.css("opacity",a.opacity)),a.zIndex&&(this.helper.css("zIndex")&&(this._storedZIndex=this.helper.css("zIndex")),this.helper.css("zIndex",a.zIndex)),this.scrollParent[0]!==this.document[0]&&"HTML"!==this.scrollParent[0].tagName&&(this.overflowOffset=this.scrollParent.offset()),this._trigger("start",e,this._uiHash()),this._preserveHelperProportions||this._cacheHelperProportions(),!s)for(n=this.containers.length-1;n>=0;n--)this.containers[n]._trigger("activate",e,this._uiHash(this));return t.ui.ddmanager&&(t.ui.ddmanager.current=this),t.ui.ddmanager&&!a.dropBehaviour&&t.ui.ddmanager.prepareOffsets(this,e),this.dragging=!0,this._addClass(this.helper,"ui-sortable-helper"),this._mouseDrag(e),!0},_mouseDrag:function(e){var i,s,n,o,a=this.options,r=!1;for(this.position=this._generatePosition(e),this.positionAbs=this._convertPositionTo("absolute"),this.lastPositionAbs||(this.lastPositionAbs=this.positionAbs),this.options.scroll&&(this.scrollParent[0]!==this.document[0]&&"HTML"!==this.scrollParent[0].tagName?(this.overflowOffset.top+this.scrollParent[0].offsetHeight-e.pageY<a.scrollSensitivity?this.scrollParent[0].scrollTop=r=this.scrollParent[0].scrollTop+a.scrollSpeed:e.pageY-this.overflowOffset.top<a.scrollSensitivity&&(this.scrollParent[0].scrollTop=r=this.scrollParent[0].scrollTop-a.scrollSpeed),this.overflowOffset.left+this.scrollParent[0].offsetWidth-e.pageX<a.scrollSensitivity?this.scrollParent[0].scrollLeft=r=this.scrollParent[0].scrollLeft+a.scrollSpeed:e.pageX-this.overflowOffset.left<a.scrollSensitivity&&(this.scrollParent[0].scrollLeft=r=this.scrollParent[0].scrollLeft-a.scrollSpeed)):(e.pageY-this.document.scrollTop()<a.scrollSensitivity?r=this.document.scrollTop(this.document.scrollTop()-a.scrollSpeed):this.window.height()-(e.pageY-this.document.scrollTop())<a.scrollSensitivity&&(r=this.document.scrollTop(this.document.scrollTop()+a.scrollSpeed)),e.pageX-this.document.scrollLeft()<a.scrollSensitivity?r=this.document.scrollLeft(this.document.scrollLeft()-a.scrollSpeed):this.window.width()-(e.pageX-this.document.scrollLeft())<a.scrollSensitivity&&(r=this.document.scrollLeft(this.document.scrollLeft()+a.scrollSpeed))),r!==!1&&t.ui.ddmanager&&!a.dropBehaviour&&t.ui.ddmanager.prepareOffsets(this,e)),this.positionAbs=this._convertPositionTo("absolute"),this.options.axis&&"y"===this.options.axis||(this.helper[0].style.left=this.position.left+"px"),this.options.axis&&"x"===this.options.axis||(this.helper[0].style.top=this.position.top+"px"),i=this.items.length-1;i>=0;i--)if(s=this.items[i],n=s.item[0],o=this._intersectsWithPointer(s),o&&s.instance===this.currentContainer&&n!==this.currentItem[0]&&this.placeholder[1===o?"next":"prev"]()[0]!==n&&!t.contains(this.placeholder[0],n)&&("semi-dynamic"===this.options.type?!t.contains(this.element[0],n):!0)){if(this.direction=1===o?"down":"up","pointer"!==this.options.tolerance&&!this._intersectsWithSides(s))break;this._rearrange(e,s),this._trigger("change",e,this._uiHash());break}return this._contactContainers(e),t.ui.ddmanager&&t.ui.ddmanager.drag(this,e),this._trigger("sort",e,this._uiHash()),this.lastPositionAbs=this.positionAbs,!1},_mouseStop:function(e,i){if(e){if(t.ui.ddmanager&&!this.options.dropBehaviour&&t.ui.ddmanager.drop(this,e),this.options.revert){var s=this,n=this.placeholder.offset(),o=this.options.axis,a={};o&&"x"!==o||(a.left=n.left-this.offset.parent.left-this.margins.left+(this.offsetParent[0]===this.document[0].body?0:this.offsetParent[0].scrollLeft)),o&&"y"!==o||(a.top=n.top-this.offset.parent.top-this.margins.top+(this.offsetParent[0]===this.document[0].body?0:this.offsetParent[0].scrollTop)),this.reverting=!0,t(this.helper).animate(a,parseInt(this.options.revert,10)||500,function(){s._clear(e)})}else this._clear(e,i);return!1}},cancel:function(){if(this.dragging){this._mouseUp(new t.Event("mouseup",{target:null})),"original"===this.options.helper?(this.currentItem.css(this._storedCSS),this._removeClass(this.currentItem,"ui-sortable-helper")):this.currentItem.show();for(var e=this.containers.length-1;e>=0;e--)this.containers[e]._trigger("deactivate",null,this._uiHash(this)),this.containers[e].containerCache.over&&(this.containers[e]._trigger("out",null,this._uiHash(this)),this.containers[e].containerCache.over=0)}return this.placeholder&&(this.placeholder[0].parentNode&&this.placeholder[0].parentNode.removeChild(this.placeholder[0]),"original"!==this.options.helper&&this.helper&&this.helper[0].parentNode&&this.helper.remove(),t.extend(this,{helper:null,dragging:!1,reverting:!1,_noFinalSort:null}),this.domPosition.prev?t(this.domPosition.prev).after(this.currentItem):t(this.domPosition.parent).prepend(this.currentItem)),this},serialize:function(e){var i=this._getItemsAsjQuery(e&&e.connected),s=[];return e=e||{},t(i).each(function(){var i=(t(e.item||this).attr(e.attribute||"id")||"").match(e.expression||/(.+)[\-=_](.+)/);i&&s.push((e.key||i[1]+"[]")+"="+(e.key&&e.expression?i[1]:i[2]))}),!s.length&&e.key&&s.push(e.key+"="),s.join("&")},toArray:function(e){var i=this._getItemsAsjQuery(e&&e.connected),s=[];return e=e||{},i.each(function(){s.push(t(e.item||this).attr(e.attribute||"id")||"")}),s},_intersectsWith:function(t){var e=this.positionAbs.left,i=e+this.helperProportions.width,s=this.positionAbs.top,n=s+this.helperProportions.height,o=t.left,a=o+t.width,r=t.top,l=r+t.height,h=this.offset.click.top,c=this.offset.click.left,u="x"===this.options.axis||s+h>r&&l>s+h,d="y"===this.options.axis||e+c>o&&a>e+c,p=u&&d;return"pointer"===this.options.tolerance||this.options.forcePointerForContainers||"pointer"!==this.options.tolerance&&this.helperProportions[this.floating?"width":"height"]>t[this.floating?"width":"height"]?p:e+this.helperProportions.width/2>o&&a>i-this.helperProportions.width/2&&s+this.helperProportions.height/2>r&&l>n-this.helperProportions.height/2},_intersectsWithPointer:function(t){var e,i,s="x"===this.options.axis||this._isOverAxis(this.positionAbs.top+this.offset.click.top,t.top,t.height),n="y"===this.options.axis||this._isOverAxis(this.positionAbs.left+this.offset.click.left,t.left,t.width),o=s&&n;return o?(e=this._getDragVerticalDirection(),i=this._getDragHorizontalDirection(),this.floating?"right"===i||"down"===e?2:1:e&&("down"===e?2:1)):!1},_intersectsWithSides:function(t){var e=this._isOverAxis(this.positionAbs.top+this.offset.click.top,t.top+t.height/2,t.height),i=this._isOverAxis(this.positionAbs.left+this.offset.click.left,t.left+t.width/2,t.width),s=this._getDragVerticalDirection(),n=this._getDragHorizontalDirection();return this.floating&&n?"right"===n&&i||"left"===n&&!i:s&&("down"===s&&e||"up"===s&&!e)},_getDragVerticalDirection:function(){var t=this.positionAbs.top-this.lastPositionAbs.top;return 0!==t&&(t>0?"down":"up")},_getDragHorizontalDirection:function(){var t=this.positionAbs.left-this.lastPositionAbs.left;return 0!==t&&(t>0?"right":"left")},refresh:function(t){return this._refreshItems(t),this._setHandleClassName(),this.refreshPositions(),this},_connectWith:function(){var t=this.options;return t.connectWith.constructor===String?[t.connectWith]:t.connectWith},_getItemsAsjQuery:function(e){function i(){r.push(this)}var s,n,o,a,r=[],l=[],h=this._connectWith();if(h&&e)for(s=h.length-1;s>=0;s--)for(o=t(h[s],this.document[0]),n=o.length-1;n>=0;n--)a=t.data(o[n],this.widgetFullName),a&&a!==this&&!a.options.disabled&&l.push([t.isFunction(a.options.items)?a.options.items.call(a.element):t(a.options.items,a.element).not(".ui-sortable-helper").not(".ui-sortable-placeholder"),a]);for(l.push([t.isFunction(this.options.items)?this.options.items.call(this.element,null,{options:this.options,item:this.currentItem}):t(this.options.items,this.element).not(".ui-sortable-helper").not(".ui-sortable-placeholder"),this]),s=l.length-1;s>=0;s--)l[s][0].each(i);return t(r)},_removeCurrentsFromItems:function(){var e=this.currentItem.find(":data("+this.widgetName+"-item)"); >-this.items=t.grep(this.items,function(t){for(var i=0;e.length>i;i++)if(e[i]===t.item[0])return!1;return!0})},_refreshItems:function(e){this.items=[],this.containers=[this];var i,s,n,o,a,r,l,h,c=this.items,u=[[t.isFunction(this.options.items)?this.options.items.call(this.element[0],e,{item:this.currentItem}):t(this.options.items,this.element),this]],d=this._connectWith();if(d&&this.ready)for(i=d.length-1;i>=0;i--)for(n=t(d[i],this.document[0]),s=n.length-1;s>=0;s--)o=t.data(n[s],this.widgetFullName),o&&o!==this&&!o.options.disabled&&(u.push([t.isFunction(o.options.items)?o.options.items.call(o.element[0],e,{item:this.currentItem}):t(o.options.items,o.element),o]),this.containers.push(o));for(i=u.length-1;i>=0;i--)for(a=u[i][1],r=u[i][0],s=0,h=r.length;h>s;s++)l=t(r[s]),l.data(this.widgetName+"-item",a),c.push({item:l,instance:a,width:0,height:0,left:0,top:0})},refreshPositions:function(e){this.floating=this.items.length?"x"===this.options.axis||this._isFloating(this.items[0].item):!1,this.offsetParent&&this.helper&&(this.offset.parent=this._getParentOffset());var i,s,n,o;for(i=this.items.length-1;i>=0;i--)s=this.items[i],s.instance!==this.currentContainer&&this.currentContainer&&s.item[0]!==this.currentItem[0]||(n=this.options.toleranceElement?t(this.options.toleranceElement,s.item):s.item,e||(s.width=n.outerWidth(),s.height=n.outerHeight()),o=n.offset(),s.left=o.left,s.top=o.top);if(this.options.custom&&this.options.custom.refreshContainers)this.options.custom.refreshContainers.call(this);else for(i=this.containers.length-1;i>=0;i--)o=this.containers[i].element.offset(),this.containers[i].containerCache.left=o.left,this.containers[i].containerCache.top=o.top,this.containers[i].containerCache.width=this.containers[i].element.outerWidth(),this.containers[i].containerCache.height=this.containers[i].element.outerHeight();return this},_createPlaceholder:function(e){e=e||this;var i,s=e.options;s.placeholder&&s.placeholder.constructor!==String||(i=s.placeholder,s.placeholder={element:function(){var s=e.currentItem[0].nodeName.toLowerCase(),n=t("<"+s+">",e.document[0]);return e._addClass(n,"ui-sortable-placeholder",i||e.currentItem[0].className)._removeClass(n,"ui-sortable-helper"),"tbody"===s?e._createTrPlaceholder(e.currentItem.find("tr").eq(0),t("<tr>",e.document[0]).appendTo(n)):"tr"===s?e._createTrPlaceholder(e.currentItem,n):"img"===s&&n.attr("src",e.currentItem.attr("src")),i||n.css("visibility","hidden"),n},update:function(t,n){(!i||s.forcePlaceholderSize)&&(n.height()||n.height(e.currentItem.innerHeight()-parseInt(e.currentItem.css("paddingTop")||0,10)-parseInt(e.currentItem.css("paddingBottom")||0,10)),n.width()||n.width(e.currentItem.innerWidth()-parseInt(e.currentItem.css("paddingLeft")||0,10)-parseInt(e.currentItem.css("paddingRight")||0,10)))}}),e.placeholder=t(s.placeholder.element.call(e.element,e.currentItem)),e.currentItem.after(e.placeholder),s.placeholder.update(e,e.placeholder)},_createTrPlaceholder:function(e,i){var s=this;e.children().each(function(){t("<td> </td>",s.document[0]).attr("colspan",t(this).attr("colspan")||1).appendTo(i)})},_contactContainers:function(e){var i,s,n,o,a,r,l,h,c,u,d=null,p=null;for(i=this.containers.length-1;i>=0;i--)if(!t.contains(this.currentItem[0],this.containers[i].element[0]))if(this._intersectsWith(this.containers[i].containerCache)){if(d&&t.contains(this.containers[i].element[0],d.element[0]))continue;d=this.containers[i],p=i}else this.containers[i].containerCache.over&&(this.containers[i]._trigger("out",e,this._uiHash(this)),this.containers[i].containerCache.over=0);if(d)if(1===this.containers.length)this.containers[p].containerCache.over||(this.containers[p]._trigger("over",e,this._uiHash(this)),this.containers[p].containerCache.over=1);else{for(n=1e4,o=null,c=d.floating||this._isFloating(this.currentItem),a=c?"left":"top",r=c?"width":"height",u=c?"pageX":"pageY",s=this.items.length-1;s>=0;s--)t.contains(this.containers[p].element[0],this.items[s].item[0])&&this.items[s].item[0]!==this.currentItem[0]&&(l=this.items[s].item.offset()[a],h=!1,e[u]-l>this.items[s][r]/2&&(h=!0),n>Math.abs(e[u]-l)&&(n=Math.abs(e[u]-l),o=this.items[s],this.direction=h?"up":"down"));if(!o&&!this.options.dropOnEmpty)return;if(this.currentContainer===this.containers[p])return this.currentContainer.containerCache.over||(this.containers[p]._trigger("over",e,this._uiHash()),this.currentContainer.containerCache.over=1),void 0;o?this._rearrange(e,o,null,!0):this._rearrange(e,null,this.containers[p].element,!0),this._trigger("change",e,this._uiHash()),this.containers[p]._trigger("change",e,this._uiHash(this)),this.currentContainer=this.containers[p],this.options.placeholder.update(this.currentContainer,this.placeholder),this.containers[p]._trigger("over",e,this._uiHash(this)),this.containers[p].containerCache.over=1}},_createHelper:function(e){var i=this.options,s=t.isFunction(i.helper)?t(i.helper.apply(this.element[0],[e,this.currentItem])):"clone"===i.helper?this.currentItem.clone():this.currentItem;return s.parents("body").length||t("parent"!==i.appendTo?i.appendTo:this.currentItem[0].parentNode)[0].appendChild(s[0]),s[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")}),(!s[0].style.width||i.forceHelperSize)&&s.width(this.currentItem.width()),(!s[0].style.height||i.forceHelperSize)&&s.height(this.currentItem.height()),s},_adjustOffsetFromHelper:function(e){"string"==typeof e&&(e=e.split(" ")),t.isArray(e)&&(e={left:+e[0],top:+e[1]||0}),"left"in e&&(this.offset.click.left=e.left+this.margins.left),"right"in e&&(this.offset.click.left=this.helperProportions.width-e.right+this.margins.left),"top"in e&&(this.offset.click.top=e.top+this.margins.top),"bottom"in e&&(this.offset.click.top=this.helperProportions.height-e.bottom+this.margins.top)},_getParentOffset:function(){this.offsetParent=this.helper.offsetParent();var e=this.offsetParent.offset();return"absolute"===this.cssPosition&&this.scrollParent[0]!==this.document[0]&&t.contains(this.scrollParent[0],this.offsetParent[0])&&(e.left+=this.scrollParent.scrollLeft(),e.top+=this.scrollParent.scrollTop()),(this.offsetParent[0]===this.document[0].body||this.offsetParent[0].tagName&&"html"===this.offsetParent[0].tagName.toLowerCase()&&t.ui.ie)&&(e={top:0,left:0}),{top:e.top+(parseInt(this.offsetParent.css("borderTopWidth"),10)||0),left:e.left+(parseInt(this.offsetParent.css("borderLeftWidth"),10)||0)}},_getRelativeOffset:function(){if("relative"===this.cssPosition){var t=this.currentItem.position();return{top:t.top-(parseInt(this.helper.css("top"),10)||0)+this.scrollParent.scrollTop(),left:t.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 e,i,s,n=this.options;"parent"===n.containment&&(n.containment=this.helper[0].parentNode),("document"===n.containment||"window"===n.containment)&&(this.containment=[0-this.offset.relative.left-this.offset.parent.left,0-this.offset.relative.top-this.offset.parent.top,"document"===n.containment?this.document.width():this.window.width()-this.helperProportions.width-this.margins.left,("document"===n.containment?this.document.height()||document.body.parentNode.scrollHeight:this.window.height()||this.document[0].body.parentNode.scrollHeight)-this.helperProportions.height-this.margins.top]),/^(document|window|parent)$/.test(n.containment)||(e=t(n.containment)[0],i=t(n.containment).offset(),s="hidden"!==t(e).css("overflow"),this.containment=[i.left+(parseInt(t(e).css("borderLeftWidth"),10)||0)+(parseInt(t(e).css("paddingLeft"),10)||0)-this.margins.left,i.top+(parseInt(t(e).css("borderTopWidth"),10)||0)+(parseInt(t(e).css("paddingTop"),10)||0)-this.margins.top,i.left+(s?Math.max(e.scrollWidth,e.offsetWidth):e.offsetWidth)-(parseInt(t(e).css("borderLeftWidth"),10)||0)-(parseInt(t(e).css("paddingRight"),10)||0)-this.helperProportions.width-this.margins.left,i.top+(s?Math.max(e.scrollHeight,e.offsetHeight):e.offsetHeight)-(parseInt(t(e).css("borderTopWidth"),10)||0)-(parseInt(t(e).css("paddingBottom"),10)||0)-this.helperProportions.height-this.margins.top])},_convertPositionTo:function(e,i){i||(i=this.position);var s="absolute"===e?1:-1,n="absolute"!==this.cssPosition||this.scrollParent[0]!==this.document[0]&&t.contains(this.scrollParent[0],this.offsetParent[0])?this.scrollParent:this.offsetParent,o=/(html|body)/i.test(n[0].tagName);return{top:i.top+this.offset.relative.top*s+this.offset.parent.top*s-("fixed"===this.cssPosition?-this.scrollParent.scrollTop():o?0:n.scrollTop())*s,left:i.left+this.offset.relative.left*s+this.offset.parent.left*s-("fixed"===this.cssPosition?-this.scrollParent.scrollLeft():o?0:n.scrollLeft())*s}},_generatePosition:function(e){var i,s,n=this.options,o=e.pageX,a=e.pageY,r="absolute"!==this.cssPosition||this.scrollParent[0]!==this.document[0]&&t.contains(this.scrollParent[0],this.offsetParent[0])?this.scrollParent:this.offsetParent,l=/(html|body)/i.test(r[0].tagName);return"relative"!==this.cssPosition||this.scrollParent[0]!==this.document[0]&&this.scrollParent[0]!==this.offsetParent[0]||(this.offset.relative=this._getRelativeOffset()),this.originalPosition&&(this.containment&&(e.pageX-this.offset.click.left<this.containment[0]&&(o=this.containment[0]+this.offset.click.left),e.pageY-this.offset.click.top<this.containment[1]&&(a=this.containment[1]+this.offset.click.top),e.pageX-this.offset.click.left>this.containment[2]&&(o=this.containment[2]+this.offset.click.left),e.pageY-this.offset.click.top>this.containment[3]&&(a=this.containment[3]+this.offset.click.top)),n.grid&&(i=this.originalPageY+Math.round((a-this.originalPageY)/n.grid[1])*n.grid[1],a=this.containment?i-this.offset.click.top>=this.containment[1]&&i-this.offset.click.top<=this.containment[3]?i:i-this.offset.click.top>=this.containment[1]?i-n.grid[1]:i+n.grid[1]:i,s=this.originalPageX+Math.round((o-this.originalPageX)/n.grid[0])*n.grid[0],o=this.containment?s-this.offset.click.left>=this.containment[0]&&s-this.offset.click.left<=this.containment[2]?s:s-this.offset.click.left>=this.containment[0]?s-n.grid[0]:s+n.grid[0]:s)),{top:a-this.offset.click.top-this.offset.relative.top-this.offset.parent.top+("fixed"===this.cssPosition?-this.scrollParent.scrollTop():l?0:r.scrollTop()),left:o-this.offset.click.left-this.offset.relative.left-this.offset.parent.left+("fixed"===this.cssPosition?-this.scrollParent.scrollLeft():l?0:r.scrollLeft())}},_rearrange:function(t,e,i,s){i?i[0].appendChild(this.placeholder[0]):e.item[0].parentNode.insertBefore(this.placeholder[0],"down"===this.direction?e.item[0]:e.item[0].nextSibling),this.counter=this.counter?++this.counter:1;var n=this.counter;this._delay(function(){n===this.counter&&this.refreshPositions(!s)})},_clear:function(t,e){function i(t,e,i){return function(s){i._trigger(t,s,e._uiHash(e))}}this.reverting=!1;var s,n=[];if(!this._noFinalSort&&this.currentItem.parent().length&&this.placeholder.before(this.currentItem),this._noFinalSort=null,this.helper[0]===this.currentItem[0]){for(s in this._storedCSS)("auto"===this._storedCSS[s]||"static"===this._storedCSS[s])&&(this._storedCSS[s]="");this.currentItem.css(this._storedCSS),this._removeClass(this.currentItem,"ui-sortable-helper")}else this.currentItem.show();for(this.fromOutside&&!e&&n.push(function(t){this._trigger("receive",t,this._uiHash(this.fromOutside))}),!this.fromOutside&&this.domPosition.prev===this.currentItem.prev().not(".ui-sortable-helper")[0]&&this.domPosition.parent===this.currentItem.parent()[0]||e||n.push(function(t){this._trigger("update",t,this._uiHash())}),this!==this.currentContainer&&(e||(n.push(function(t){this._trigger("remove",t,this._uiHash())}),n.push(function(t){return function(e){t._trigger("receive",e,this._uiHash(this))}}.call(this,this.currentContainer)),n.push(function(t){return function(e){t._trigger("update",e,this._uiHash(this))}}.call(this,this.currentContainer)))),s=this.containers.length-1;s>=0;s--)e||n.push(i("deactivate",this,this.containers[s])),this.containers[s].containerCache.over&&(n.push(i("out",this,this.containers[s])),this.containers[s].containerCache.over=0);if(this.storedCursor&&(this.document.find("body").css("cursor",this.storedCursor),this.storedStylesheet.remove()),this._storedOpacity&&this.helper.css("opacity",this._storedOpacity),this._storedZIndex&&this.helper.css("zIndex","auto"===this._storedZIndex?"":this._storedZIndex),this.dragging=!1,e||this._trigger("beforeStop",t,this._uiHash()),this.placeholder[0].parentNode.removeChild(this.placeholder[0]),this.cancelHelperRemoval||(this.helper[0]!==this.currentItem[0]&&this.helper.remove(),this.helper=null),!e){for(s=0;n.length>s;s++)n[s].call(this,t);this._trigger("stop",t,this._uiHash())}return this.fromOutside=!1,!this.cancelHelperRemoval},_trigger:function(){t.Widget.prototype._trigger.apply(this,arguments)===!1&&this.cancel()},_uiHash:function(e){var i=e||this;return{helper:i.helper,placeholder:i.placeholder||t([]),position:i.position,originalPosition:i.originalPosition,offset:i.positionAbs,item:i.currentItem,sender:e?e.element:null}}}),t.ui.safeActiveElement=function(t){var e;try{e=t.activeElement}catch(i){e=t.body}return e||(e=t.body),e.nodeName||(e=t.body),e},t.widget("ui.menu",{version:"1.12.1",defaultElement:"<ul>",delay:300,options:{icons:{submenu:"ui-icon-caret-1-e"},items:"> *",menus:"ul",position:{my:"left top",at:"right top"},role:"menu",blur:null,focus:null,select:null},_create:function(){this.activeMenu=this.element,this.mouseHandled=!1,this.element.uniqueId().attr({role:this.options.role,tabIndex:0}),this._addClass("ui-menu","ui-widget ui-widget-content"),this._on({"mousedown .ui-menu-item":function(t){t.preventDefault()},"click .ui-menu-item":function(e){var i=t(e.target),s=t(t.ui.safeActiveElement(this.document[0]));!this.mouseHandled&&i.not(".ui-state-disabled").length&&(this.select(e),e.isPropagationStopped()||(this.mouseHandled=!0),i.has(".ui-menu").length?this.expand(e):!this.element.is(":focus")&&s.closest(".ui-menu").length&&(this.element.trigger("focus",[!0]),this.active&&1===this.active.parents(".ui-menu").length&&clearTimeout(this.timer)))},"mouseenter .ui-menu-item":function(e){if(!this.previousFilter){var i=t(e.target).closest(".ui-menu-item"),s=t(e.currentTarget);i[0]===s[0]&&(this._removeClass(s.siblings().children(".ui-state-active"),null,"ui-state-active"),this.focus(e,s))}},mouseleave:"collapseAll","mouseleave .ui-menu":"collapseAll",focus:function(t,e){var i=this.active||this.element.find(this.options.items).eq(0);e||this.focus(t,i)},blur:function(e){this._delay(function(){var i=!t.contains(this.element[0],t.ui.safeActiveElement(this.document[0]));i&&this.collapseAll(e)})},keydown:"_keydown"}),this.refresh(),this._on(this.document,{click:function(t){this._closeOnDocumentClick(t)&&this.collapseAll(t),this.mouseHandled=!1}})},_destroy:function(){var e=this.element.find(".ui-menu-item").removeAttr("role aria-disabled"),i=e.children(".ui-menu-item-wrapper").removeUniqueId().removeAttr("tabIndex role aria-haspopup");this.element.removeAttr("aria-activedescendant").find(".ui-menu").addBack().removeAttr("role aria-labelledby aria-expanded aria-hidden aria-disabled tabIndex").removeUniqueId().show(),i.children().each(function(){var e=t(this);e.data("ui-menu-submenu-caret")&&e.remove()})},_keydown:function(e){var i,s,n,o,a=!0;switch(e.keyCode){case t.ui.keyCode.PAGE_UP:this.previousPage(e);break;case t.ui.keyCode.PAGE_DOWN:this.nextPage(e);break;case t.ui.keyCode.HOME:this._move("first","first",e);break;case t.ui.keyCode.END:this._move("last","last",e);break;case t.ui.keyCode.UP:this.previous(e);break;case t.ui.keyCode.DOWN:this.next(e);break;case t.ui.keyCode.LEFT:this.collapse(e);break;case t.ui.keyCode.RIGHT:this.active&&!this.active.is(".ui-state-disabled")&&this.expand(e);break;case t.ui.keyCode.ENTER:case t.ui.keyCode.SPACE:this._activate(e);break;case t.ui.keyCode.ESCAPE:this.collapse(e);break;default:a=!1,s=this.previousFilter||"",o=!1,n=e.keyCode>=96&&105>=e.keyCode?""+(e.keyCode-96):String.fromCharCode(e.keyCode),clearTimeout(this.filterTimer),n===s?o=!0:n=s+n,i=this._filterMenuItems(n),i=o&&-1!==i.index(this.active.next())?this.active.nextAll(".ui-menu-item"):i,i.length||(n=String.fromCharCode(e.keyCode),i=this._filterMenuItems(n)),i.length?(this.focus(e,i),this.previousFilter=n,this.filterTimer=this._delay(function(){delete this.previousFilter},1e3)):delete this.previousFilter}a&&e.preventDefault()},_activate:function(t){this.active&&!this.active.is(".ui-state-disabled")&&(this.active.children("[aria-haspopup='true']").length?this.expand(t):this.select(t))},refresh:function(){var e,i,s,n,o,a=this,r=this.options.icons.submenu,l=this.element.find(this.options.menus);this._toggleClass("ui-menu-icons",null,!!this.element.find(".ui-icon").length),s=l.filter(":not(.ui-menu)").hide().attr({role:this.options.role,"aria-hidden":"true","aria-expanded":"false"}).each(function(){var e=t(this),i=e.prev(),s=t("<span>").data("ui-menu-submenu-caret",!0);a._addClass(s,"ui-menu-icon","ui-icon "+r),i.attr("aria-haspopup","true").prepend(s),e.attr("aria-labelledby",i.attr("id"))}),this._addClass(s,"ui-menu","ui-widget ui-widget-content ui-front"),e=l.add(this.element),i=e.find(this.options.items),i.not(".ui-menu-item").each(function(){var e=t(this);a._isDivider(e)&&a._addClass(e,"ui-menu-divider","ui-widget-content")}),n=i.not(".ui-menu-item, .ui-menu-divider"),o=n.children().not(".ui-menu").uniqueId().attr({tabIndex:-1,role:this._itemRole()}),this._addClass(n,"ui-menu-item")._addClass(o,"ui-menu-item-wrapper"),i.filter(".ui-state-disabled").attr("aria-disabled","true"),this.active&&!t.contains(this.element[0],this.active[0])&&this.blur()},_itemRole:function(){return{menu:"menuitem",listbox:"option"}[this.options.role]},_setOption:function(t,e){if("icons"===t){var i=this.element.find(".ui-menu-icon");this._removeClass(i,null,this.options.icons.submenu)._addClass(i,null,e.submenu)}this._super(t,e)},_setOptionDisabled:function(t){this._super(t),this.element.attr("aria-disabled",t+""),this._toggleClass(null,"ui-state-disabled",!!t)},focus:function(t,e){var i,s,n;this.blur(t,t&&"focus"===t.type),this._scrollIntoView(e),this.active=e.first(),s=this.active.children(".ui-menu-item-wrapper"),this._addClass(s,null,"ui-state-active"),this.options.role&&this.element.attr("aria-activedescendant",s.attr("id")),n=this.active.parent().closest(".ui-menu-item").children(".ui-menu-item-wrapper"),this._addClass(n,null,"ui-state-active"),t&&"keydown"===t.type?this._close():this.timer=this._delay(function(){this._close()},this.delay),i=e.children(".ui-menu"),i.length&&t&&/^mouse/.test(t.type)&&this._startOpening(i),this.activeMenu=e.parent(),this._trigger("focus",t,{item:e})},_scrollIntoView:function(e){var i,s,n,o,a,r;this._hasScroll()&&(i=parseFloat(t.css(this.activeMenu[0],"borderTopWidth"))||0,s=parseFloat(t.css(this.activeMenu[0],"paddingTop"))||0,n=e.offset().top-this.activeMenu.offset().top-i-s,o=this.activeMenu.scrollTop(),a=this.activeMenu.height(),r=e.outerHeight(),0>n?this.activeMenu.scrollTop(o+n):n+r>a&&this.activeMenu.scrollTop(o+n-a+r))},blur:function(t,e){e||clearTimeout(this.timer),this.active&&(this._removeClass(this.active.children(".ui-menu-item-wrapper"),null,"ui-state-active"),this._trigger("blur",t,{item:this.active}),this.active=null)},_startOpening:function(t){clearTimeout(this.timer),"true"===t.attr("aria-hidden")&&(this.timer=this._delay(function(){this._close(),this._open(t)},this.delay))},_open:function(e){var i=t.extend({of:this.active},this.options.position);clearTimeout(this.timer),this.element.find(".ui-menu").not(e.parents(".ui-menu")).hide().attr("aria-hidden","true"),e.show().removeAttr("aria-hidden").attr("aria-expanded","true").position(i)},collapseAll:function(e,i){clearTimeout(this.timer),this.timer=this._delay(function(){var s=i?this.element:t(e&&e.target).closest(this.element.find(".ui-menu"));s.length||(s=this.element),this._close(s),this.blur(e),this._removeClass(s.find(".ui-state-active"),null,"ui-state-active"),this.activeMenu=s},this.delay)},_close:function(t){t||(t=this.active?this.active.parent():this.element),t.find(".ui-menu").hide().attr("aria-hidden","true").attr("aria-expanded","false")},_closeOnDocumentClick:function(e){return!t(e.target).closest(".ui-menu").length},_isDivider:function(t){return!/[^\-\u2014\u2013\s]/.test(t.text())},collapse:function(t){var e=this.active&&this.active.parent().closest(".ui-menu-item",this.element);e&&e.length&&(this._close(),this.focus(t,e))},expand:function(t){var e=this.active&&this.active.children(".ui-menu ").find(this.options.items).first();e&&e.length&&(this._open(e.parent()),this._delay(function(){this.focus(t,e)}))},next:function(t){this._move("next","first",t)},previous:function(t){this._move("prev","last",t)},isFirstItem:function(){return this.active&&!this.active.prevAll(".ui-menu-item").length},isLastItem:function(){return this.active&&!this.active.nextAll(".ui-menu-item").length},_move:function(t,e,i){var s;this.active&&(s="first"===t||"last"===t?this.active["first"===t?"prevAll":"nextAll"](".ui-menu-item").eq(-1):this.active[t+"All"](".ui-menu-item").eq(0)),s&&s.length&&this.active||(s=this.activeMenu.find(this.options.items)[e]()),this.focus(i,s)},nextPage:function(e){var i,s,n;return this.active?(this.isLastItem()||(this._hasScroll()?(s=this.active.offset().top,n=this.element.height(),this.active.nextAll(".ui-menu-item").each(function(){return i=t(this),0>i.offset().top-s-n}),this.focus(e,i)):this.focus(e,this.activeMenu.find(this.options.items)[this.active?"last":"first"]())),void 0):(this.next(e),void 0)},previousPage:function(e){var i,s,n;return this.active?(this.isFirstItem()||(this._hasScroll()?(s=this.active.offset().top,n=this.element.height(),this.active.prevAll(".ui-menu-item").each(function(){return i=t(this),i.offset().top-s+n>0}),this.focus(e,i)):this.focus(e,this.activeMenu.find(this.options.items).first())),void 0):(this.next(e),void 0)},_hasScroll:function(){return this.element.outerHeight()<this.element.prop("scrollHeight")},select:function(e){this.active=this.active||t(e.target).closest(".ui-menu-item");var i={item:this.active};this.active.has(".ui-menu").length||this.collapseAll(e,!0),this._trigger("select",e,i)},_filterMenuItems:function(e){var i=e.replace(/[\-\[\]{}()*+?.,\\\^$|#\s]/g,"\\$&"),s=RegExp("^"+i,"i");return this.activeMenu.find(this.options.items).filter(".ui-menu-item").filter(function(){return s.test(t.trim(t(this).children(".ui-menu-item-wrapper").text()))})}}),t.widget("ui.autocomplete",{version:"1.12.1",defaultElement:"<input>",options:{appendTo:null,autoFocus:!1,delay:300,minLength:1,position:{my:"left top",at:"left bottom",collision:"none"},source:null,change:null,close:null,focus:null,open:null,response:null,search:null,select:null},requestIndex:0,pending:0,_create:function(){var e,i,s,n=this.element[0].nodeName.toLowerCase(),o="textarea"===n,a="input"===n;this.isMultiLine=o||!a&&this._isContentEditable(this.element),this.valueMethod=this.element[o||a?"val":"text"],this.isNewMenu=!0,this._addClass("ui-autocomplete-input"),this.element.attr("autocomplete","off"),this._on(this.element,{keydown:function(n){if(this.element.prop("readOnly"))return e=!0,s=!0,i=!0,void 0;e=!1,s=!1,i=!1;var o=t.ui.keyCode;switch(n.keyCode){case o.PAGE_UP:e=!0,this._move("previousPage",n);break;case o.PAGE_DOWN:e=!0,this._move("nextPage",n);break;case o.UP:e=!0,this._keyEvent("previous",n);break;case o.DOWN:e=!0,this._keyEvent("next",n);break;case o.ENTER:this.menu.active&&(e=!0,n.preventDefault(),this.menu.select(n));break;case o.TAB:this.menu.active&&this.menu.select(n);break;case o.ESCAPE:this.menu.element.is(":visible")&&(this.isMultiLine||this._value(this.term),this.close(n),n.preventDefault());break;default:i=!0,this._searchTimeout(n)}},keypress:function(s){if(e)return e=!1,(!this.isMultiLine||this.menu.element.is(":visible"))&&s.preventDefault(),void 0;if(!i){var n=t.ui.keyCode;switch(s.keyCode){case n.PAGE_UP:this._move("previousPage",s);break;case n.PAGE_DOWN:this._move("nextPage",s);break;case n.UP:this._keyEvent("previous",s);break;case n.DOWN:this._keyEvent("next",s)}}},input:function(t){return s?(s=!1,t.preventDefault(),void 0):(this._searchTimeout(t),void 0)},focus:function(){this.selectedItem=null,this.previous=this._value()},blur:function(t){return this.cancelBlur?(delete this.cancelBlur,void 0):(clearTimeout(this.searching),this.close(t),this._change(t),void 0)}}),this._initSource(),this.menu=t("<ul>").appendTo(this._appendTo()).menu({role:null}).hide().menu("instance"),this._addClass(this.menu.element,"ui-autocomplete","ui-front"),this._on(this.menu.element,{mousedown:function(e){e.preventDefault(),this.cancelBlur=!0,this._delay(function(){delete this.cancelBlur,this.element[0]!==t.ui.safeActiveElement(this.document[0])&&this.element.trigger("focus")})},menufocus:function(e,i){var s,n;return this.isNewMenu&&(this.isNewMenu=!1,e.originalEvent&&/^mouse/.test(e.originalEvent.type))?(this.menu.blur(),this.document.one("mousemove",function(){t(e.target).trigger(e.originalEvent)}),void 0):(n=i.item.data("ui-autocomplete-item"),!1!==this._trigger("focus",e,{item:n})&&e.originalEvent&&/^key/.test(e.originalEvent.type)&&this._value(n.value),s=i.item.attr("aria-label")||n.value,s&&t.trim(s).length&&(this.liveRegion.children().hide(),t("<div>").text(s).appendTo(this.liveRegion)),void 0)},menuselect:function(e,i){var s=i.item.data("ui-autocomplete-item"),n=this.previous;this.element[0]!==t.ui.safeActiveElement(this.document[0])&&(this.element.trigger("focus"),this.previous=n,this._delay(function(){this.previous=n,this.selectedItem=s})),!1!==this._trigger("select",e,{item:s})&&this._value(s.value),this.term=this._value(),this.close(e),this.selectedItem=s}}),this.liveRegion=t("<div>",{role:"status","aria-live":"assertive","aria-relevant":"additions"}).appendTo(this.document[0].body),this._addClass(this.liveRegion,null,"ui-helper-hidden-accessible"),this._on(this.window,{beforeunload:function(){this.element.removeAttr("autocomplete")}})},_destroy:function(){clearTimeout(this.searching),this.element.removeAttr("autocomplete"),this.menu.element.remove(),this.liveRegion.remove()},_setOption:function(t,e){this._super(t,e),"source"===t&&this._initSource(),"appendTo"===t&&this.menu.element.appendTo(this._appendTo()),"disabled"===t&&e&&this.xhr&&this.xhr.abort()},_isEventTargetInWidget:function(e){var i=this.menu.element[0];return e.target===this.element[0]||e.target===i||t.contains(i,e.target)},_closeOnClickOutside:function(t){this._isEventTargetInWidget(t)||this.close()},_appendTo:function(){var e=this.options.appendTo;return e&&(e=e.jquery||e.nodeType?t(e):this.document.find(e).eq(0)),e&&e[0]||(e=this.element.closest(".ui-front, dialog")),e.length||(e=this.document[0].body),e},_initSource:function(){var e,i,s=this;t.isArray(this.options.source)?(e=this.options.source,this.source=function(i,s){s(t.ui.autocomplete.filter(e,i.term))}):"string"==typeof this.options.source?(i=this.options.source,this.source=function(e,n){s.xhr&&s.xhr.abort(),s.xhr=t.ajax({url:i,data:e,dataType:"json",success:function(t){n(t)},error:function(){n([])}})}):this.source=this.options.source},_searchTimeout:function(t){clearTimeout(this.searching),this.searching=this._delay(function(){var e=this.term===this._value(),i=this.menu.element.is(":visible"),s=t.altKey||t.ctrlKey||t.metaKey||t.shiftKey;(!e||e&&!i&&!s)&&(this.selectedItem=null,this.search(null,t))},this.options.delay)},search:function(t,e){return t=null!=t?t:this._value(),this.term=this._value(),t.length<this.options.minLength?this.close(e):this._trigger("search",e)!==!1?this._search(t):void 0},_search:function(t){this.pending++,this._addClass("ui-autocomplete-loading"),this.cancelSearch=!1,this.source({term:t},this._response())},_response:function(){var e=++this.requestIndex;return t.proxy(function(t){e===this.requestIndex&&this.__response(t),this.pending--,this.pending||this._removeClass("ui-autocomplete-loading")},this)},__response:function(t){t&&(t=this._normalize(t)),this._trigger("response",null,{content:t}),!this.options.disabled&&t&&t.length&&!this.cancelSearch?(this._suggest(t),this._trigger("open")):this._close()},close:function(t){this.cancelSearch=!0,this._close(t)},_close:function(t){this._off(this.document,"mousedown"),this.menu.element.is(":visible")&&(this.menu.element.hide(),this.menu.blur(),this.isNewMenu=!0,this._trigger("close",t))},_change:function(t){this.previous!==this._value()&&this._trigger("change",t,{item:this.selectedItem})},_normalize:function(e){return e.length&&e[0].label&&e[0].value?e:t.map(e,function(e){return"string"==typeof e?{label:e,value:e}:t.extend({},e,{label:e.label||e.value,value:e.value||e.label})})},_suggest:function(e){var i=this.menu.element.empty();this._renderMenu(i,e),this.isNewMenu=!0,this.menu.refresh(),i.show(),this._resizeMenu(),i.position(t.extend({of:this.element},this.options.position)),this.options.autoFocus&&this.menu.next(),this._on(this.document,{mousedown:"_closeOnClickOutside"})},_resizeMenu:function(){var t=this.menu.element;t.outerWidth(Math.max(t.width("").outerWidth()+1,this.element.outerWidth()))},_renderMenu:function(e,i){var s=this;t.each(i,function(t,i){s._renderItemData(e,i)})},_renderItemData:function(t,e){return this._renderItem(t,e).data("ui-autocomplete-item",e)},_renderItem:function(e,i){return t("<li>").append(t("<div>").text(i.label)).appendTo(e)},_move:function(t,e){return this.menu.element.is(":visible")?this.menu.isFirstItem()&&/^previous/.test(t)||this.menu.isLastItem()&&/^next/.test(t)?(this.isMultiLine||this._value(this.term),this.menu.blur(),void 0):(this.menu[t](e),void 0):(this.search(null,e),void 0)},widget:function(){return this.menu.element},_value:function(){return this.valueMethod.apply(this.element,arguments)},_keyEvent:function(t,e){(!this.isMultiLine||this.menu.element.is(":visible"))&&(this._move(t,e),e.preventDefault())},_isContentEditable:function(t){if(!t.length)return!1;var e=t.prop("contentEditable");return"inherit"===e?this._isContentEditable(t.parent()):"true"===e}}),t.extend(t.ui.autocomplete,{escapeRegex:function(t){return t.replace(/[\-\[\]{}()*+?.,\\\^$|#\s]/g,"\\$&")},filter:function(e,i){var s=RegExp(t.ui.autocomplete.escapeRegex(i),"i");return t.grep(e,function(t){return s.test(t.label||t.value||t)})}}),t.widget("ui.autocomplete",t.ui.autocomplete,{options:{messages:{noResults:"No search results.",results:function(t){return t+(t>1?" results are":" result is")+" available, use up and down arrow keys to navigate."}}},__response:function(e){var i;this._superApply(arguments),this.options.disabled||this.cancelSearch||(i=e&&e.length?this.options.messages.results(e.length):this.options.messages.noResults,this.liveRegion.children().hide(),t("<div>").text(i).appendTo(this.liveRegion))}}),t.ui.autocomplete,t.extend(t.ui,{datepicker:{version:"1.12.1"}});var h;t.extend(i.prototype,{markerClassName:"hasDatepicker",maxRows:4,_widgetDatepicker:function(){return this.dpDiv},setDefaults:function(t){return o(this._defaults,t||{}),this},_attachDatepicker:function(e,i){var s,n,o;s=e.nodeName.toLowerCase(),n="div"===s||"span"===s,e.id||(this.uuid+=1,e.id="dp"+this.uuid),o=this._newInst(t(e),n),o.settings=t.extend({},i||{}),"input"===s?this._connectDatepicker(e,o):n&&this._inlineDatepicker(e,o)},_newInst:function(e,i){var n=e[0].id.replace(/([^A-Za-z0-9_\-])/g,"\\\\$1");return{id:n,input:e,selectedDay:0,selectedMonth:0,selectedYear:0,drawMonth:0,drawYear:0,inline:i,dpDiv:i?s(t("<div class='"+this._inlineClass+" ui-datepicker ui-widget ui-widget-content ui-helper-clearfix ui-corner-all'></div>")):this.dpDiv} >-},_connectDatepicker:function(e,i){var s=t(e);i.append=t([]),i.trigger=t([]),s.hasClass(this.markerClassName)||(this._attachments(s,i),s.addClass(this.markerClassName).on("keydown",this._doKeyDown).on("keypress",this._doKeyPress).on("keyup",this._doKeyUp),this._autoSize(i),t.data(e,"datepicker",i),i.settings.disabled&&this._disableDatepicker(e))},_attachments:function(e,i){var s,n,o,a=this._get(i,"appendText"),r=this._get(i,"isRTL");i.append&&i.append.remove(),a&&(i.append=t("<span class='"+this._appendClass+"'>"+a+"</span>"),e[r?"before":"after"](i.append)),e.off("focus",this._showDatepicker),i.trigger&&i.trigger.remove(),s=this._get(i,"showOn"),("focus"===s||"both"===s)&&e.on("focus",this._showDatepicker),("button"===s||"both"===s)&&(n=this._get(i,"buttonText"),o=this._get(i,"buttonImage"),i.trigger=t(this._get(i,"buttonImageOnly")?t("<img/>").addClass(this._triggerClass).attr({src:o,alt:n,title:n}):t("<button type='button'></button>").addClass(this._triggerClass).html(o?t("<img/>").attr({src:o,alt:n,title:n}):n)),e[r?"before":"after"](i.trigger),i.trigger.on("click",function(){return t.datepicker._datepickerShowing&&t.datepicker._lastInput===e[0]?t.datepicker._hideDatepicker():t.datepicker._datepickerShowing&&t.datepicker._lastInput!==e[0]?(t.datepicker._hideDatepicker(),t.datepicker._showDatepicker(e[0])):t.datepicker._showDatepicker(e[0]),!1}))},_autoSize:function(t){if(this._get(t,"autoSize")&&!t.inline){var e,i,s,n,o=new Date(2009,11,20),a=this._get(t,"dateFormat");a.match(/[DM]/)&&(e=function(t){for(i=0,s=0,n=0;t.length>n;n++)t[n].length>i&&(i=t[n].length,s=n);return s},o.setMonth(e(this._get(t,a.match(/MM/)?"monthNames":"monthNamesShort"))),o.setDate(e(this._get(t,a.match(/DD/)?"dayNames":"dayNamesShort"))+20-o.getDay())),t.input.attr("size",this._formatDate(t,o).length)}},_inlineDatepicker:function(e,i){var s=t(e);s.hasClass(this.markerClassName)||(s.addClass(this.markerClassName).append(i.dpDiv),t.data(e,"datepicker",i),this._setDate(i,this._getDefaultDate(i),!0),this._updateDatepicker(i),this._updateAlternate(i),i.settings.disabled&&this._disableDatepicker(e),i.dpDiv.css("display","block"))},_dialogDatepicker:function(e,i,s,n,a){var r,l,h,c,u,d=this._dialogInst;return d||(this.uuid+=1,r="dp"+this.uuid,this._dialogInput=t("<input type='text' id='"+r+"' style='position: absolute; top: -100px; width: 0px;'/>"),this._dialogInput.on("keydown",this._doKeyDown),t("body").append(this._dialogInput),d=this._dialogInst=this._newInst(this._dialogInput,!1),d.settings={},t.data(this._dialogInput[0],"datepicker",d)),o(d.settings,n||{}),i=i&&i.constructor===Date?this._formatDate(d,i):i,this._dialogInput.val(i),this._pos=a?a.length?a:[a.pageX,a.pageY]:null,this._pos||(l=document.documentElement.clientWidth,h=document.documentElement.clientHeight,c=document.documentElement.scrollLeft||document.body.scrollLeft,u=document.documentElement.scrollTop||document.body.scrollTop,this._pos=[l/2-100+c,h/2-150+u]),this._dialogInput.css("left",this._pos[0]+20+"px").css("top",this._pos[1]+"px"),d.settings.onSelect=s,this._inDialog=!0,this.dpDiv.addClass(this._dialogClass),this._showDatepicker(this._dialogInput[0]),t.blockUI&&t.blockUI(this.dpDiv),t.data(this._dialogInput[0],"datepicker",d),this},_destroyDatepicker:function(e){var i,s=t(e),n=t.data(e,"datepicker");s.hasClass(this.markerClassName)&&(i=e.nodeName.toLowerCase(),t.removeData(e,"datepicker"),"input"===i?(n.append.remove(),n.trigger.remove(),s.removeClass(this.markerClassName).off("focus",this._showDatepicker).off("keydown",this._doKeyDown).off("keypress",this._doKeyPress).off("keyup",this._doKeyUp)):("div"===i||"span"===i)&&s.removeClass(this.markerClassName).empty(),h===n&&(h=null))},_enableDatepicker:function(e){var i,s,n=t(e),o=t.data(e,"datepicker");n.hasClass(this.markerClassName)&&(i=e.nodeName.toLowerCase(),"input"===i?(e.disabled=!1,o.trigger.filter("button").each(function(){this.disabled=!1}).end().filter("img").css({opacity:"1.0",cursor:""})):("div"===i||"span"===i)&&(s=n.children("."+this._inlineClass),s.children().removeClass("ui-state-disabled"),s.find("select.ui-datepicker-month, select.ui-datepicker-year").prop("disabled",!1)),this._disabledInputs=t.map(this._disabledInputs,function(t){return t===e?null:t}))},_disableDatepicker:function(e){var i,s,n=t(e),o=t.data(e,"datepicker");n.hasClass(this.markerClassName)&&(i=e.nodeName.toLowerCase(),"input"===i?(e.disabled=!0,o.trigger.filter("button").each(function(){this.disabled=!0}).end().filter("img").css({opacity:"0.5",cursor:"default"})):("div"===i||"span"===i)&&(s=n.children("."+this._inlineClass),s.children().addClass("ui-state-disabled"),s.find("select.ui-datepicker-month, select.ui-datepicker-year").prop("disabled",!0)),this._disabledInputs=t.map(this._disabledInputs,function(t){return t===e?null:t}),this._disabledInputs[this._disabledInputs.length]=e)},_isDisabledDatepicker:function(t){if(!t)return!1;for(var e=0;this._disabledInputs.length>e;e++)if(this._disabledInputs[e]===t)return!0;return!1},_getInst:function(e){try{return t.data(e,"datepicker")}catch(i){throw"Missing instance data for this datepicker"}},_optionDatepicker:function(e,i,s){var n,a,r,l,h=this._getInst(e);return 2===arguments.length&&"string"==typeof i?"defaults"===i?t.extend({},t.datepicker._defaults):h?"all"===i?t.extend({},h.settings):this._get(h,i):null:(n=i||{},"string"==typeof i&&(n={},n[i]=s),h&&(this._curInst===h&&this._hideDatepicker(),a=this._getDateDatepicker(e,!0),r=this._getMinMaxDate(h,"min"),l=this._getMinMaxDate(h,"max"),o(h.settings,n),null!==r&&void 0!==n.dateFormat&&void 0===n.minDate&&(h.settings.minDate=this._formatDate(h,r)),null!==l&&void 0!==n.dateFormat&&void 0===n.maxDate&&(h.settings.maxDate=this._formatDate(h,l)),"disabled"in n&&(n.disabled?this._disableDatepicker(e):this._enableDatepicker(e)),this._attachments(t(e),h),this._autoSize(h),this._setDate(h,a),this._updateAlternate(h),this._updateDatepicker(h)),void 0)},_changeDatepicker:function(t,e,i){this._optionDatepicker(t,e,i)},_refreshDatepicker:function(t){var e=this._getInst(t);e&&this._updateDatepicker(e)},_setDateDatepicker:function(t,e){var i=this._getInst(t);i&&(this._setDate(i,e),this._updateDatepicker(i),this._updateAlternate(i))},_getDateDatepicker:function(t,e){var i=this._getInst(t);return i&&!i.inline&&this._setDateFromField(i,e),i?this._getDate(i):null},_doKeyDown:function(e){var i,s,n,o=t.datepicker._getInst(e.target),a=!0,r=o.dpDiv.is(".ui-datepicker-rtl");if(o._keyEvent=!0,t.datepicker._datepickerShowing)switch(e.keyCode){case 9:t.datepicker._hideDatepicker(),a=!1;break;case 13:return n=t("td."+t.datepicker._dayOverClass+":not(."+t.datepicker._currentClass+")",o.dpDiv),n[0]&&t.datepicker._selectDay(e.target,o.selectedMonth,o.selectedYear,n[0]),i=t.datepicker._get(o,"onSelect"),i?(s=t.datepicker._formatDate(o),i.apply(o.input?o.input[0]:null,[s,o])):t.datepicker._hideDatepicker(),!1;case 27:t.datepicker._hideDatepicker();break;case 33:t.datepicker._adjustDate(e.target,e.ctrlKey?-t.datepicker._get(o,"stepBigMonths"):-t.datepicker._get(o,"stepMonths"),"M");break;case 34:t.datepicker._adjustDate(e.target,e.ctrlKey?+t.datepicker._get(o,"stepBigMonths"):+t.datepicker._get(o,"stepMonths"),"M");break;case 35:(e.ctrlKey||e.metaKey)&&t.datepicker._clearDate(e.target),a=e.ctrlKey||e.metaKey;break;case 36:(e.ctrlKey||e.metaKey)&&t.datepicker._gotoToday(e.target),a=e.ctrlKey||e.metaKey;break;case 37:(e.ctrlKey||e.metaKey)&&t.datepicker._adjustDate(e.target,r?1:-1,"D"),a=e.ctrlKey||e.metaKey,e.originalEvent.altKey&&t.datepicker._adjustDate(e.target,e.ctrlKey?-t.datepicker._get(o,"stepBigMonths"):-t.datepicker._get(o,"stepMonths"),"M");break;case 38:(e.ctrlKey||e.metaKey)&&t.datepicker._adjustDate(e.target,-7,"D"),a=e.ctrlKey||e.metaKey;break;case 39:(e.ctrlKey||e.metaKey)&&t.datepicker._adjustDate(e.target,r?-1:1,"D"),a=e.ctrlKey||e.metaKey,e.originalEvent.altKey&&t.datepicker._adjustDate(e.target,e.ctrlKey?+t.datepicker._get(o,"stepBigMonths"):+t.datepicker._get(o,"stepMonths"),"M");break;case 40:(e.ctrlKey||e.metaKey)&&t.datepicker._adjustDate(e.target,7,"D"),a=e.ctrlKey||e.metaKey;break;default:a=!1}else 36===e.keyCode&&e.ctrlKey?t.datepicker._showDatepicker(this):a=!1;a&&(e.preventDefault(),e.stopPropagation())},_doKeyPress:function(e){var i,s,n=t.datepicker._getInst(e.target);return t.datepicker._get(n,"constrainInput")?(i=t.datepicker._possibleChars(t.datepicker._get(n,"dateFormat")),s=String.fromCharCode(null==e.charCode?e.keyCode:e.charCode),e.ctrlKey||e.metaKey||" ">s||!i||i.indexOf(s)>-1):void 0},_doKeyUp:function(e){var i,s=t.datepicker._getInst(e.target);if(s.input.val()!==s.lastVal)try{i=t.datepicker.parseDate(t.datepicker._get(s,"dateFormat"),s.input?s.input.val():null,t.datepicker._getFormatConfig(s)),i&&(t.datepicker._setDateFromField(s),t.datepicker._updateAlternate(s),t.datepicker._updateDatepicker(s))}catch(n){}return!0},_showDatepicker:function(i){if(i=i.target||i,"input"!==i.nodeName.toLowerCase()&&(i=t("input",i.parentNode)[0]),!t.datepicker._isDisabledDatepicker(i)&&t.datepicker._lastInput!==i){var s,n,a,r,l,h,c;s=t.datepicker._getInst(i),t.datepicker._curInst&&t.datepicker._curInst!==s&&(t.datepicker._curInst.dpDiv.stop(!0,!0),s&&t.datepicker._datepickerShowing&&t.datepicker._hideDatepicker(t.datepicker._curInst.input[0])),n=t.datepicker._get(s,"beforeShow"),a=n?n.apply(i,[i,s]):{},a!==!1&&(o(s.settings,a),s.lastVal=null,t.datepicker._lastInput=i,t.datepicker._setDateFromField(s),t.datepicker._inDialog&&(i.value=""),t.datepicker._pos||(t.datepicker._pos=t.datepicker._findPos(i),t.datepicker._pos[1]+=i.offsetHeight),r=!1,t(i).parents().each(function(){return r|="fixed"===t(this).css("position"),!r}),l={left:t.datepicker._pos[0],top:t.datepicker._pos[1]},t.datepicker._pos=null,s.dpDiv.empty(),s.dpDiv.css({position:"absolute",display:"block",top:"-1000px"}),t.datepicker._updateDatepicker(s),l=t.datepicker._checkOffset(s,l,r),s.dpDiv.css({position:t.datepicker._inDialog&&t.blockUI?"static":r?"fixed":"absolute",display:"none",left:l.left+"px",top:l.top+"px"}),s.inline||(h=t.datepicker._get(s,"showAnim"),c=t.datepicker._get(s,"duration"),s.dpDiv.css("z-index",e(t(i))+1),t.datepicker._datepickerShowing=!0,t.effects&&t.effects.effect[h]?s.dpDiv.show(h,t.datepicker._get(s,"showOptions"),c):s.dpDiv[h||"show"](h?c:null),t.datepicker._shouldFocusInput(s)&&s.input.trigger("focus"),t.datepicker._curInst=s))}},_updateDatepicker:function(e){this.maxRows=4,h=e,e.dpDiv.empty().append(this._generateHTML(e)),this._attachHandlers(e);var i,s=this._getNumberOfMonths(e),o=s[1],a=17,r=e.dpDiv.find("."+this._dayOverClass+" a");r.length>0&&n.apply(r.get(0)),e.dpDiv.removeClass("ui-datepicker-multi-2 ui-datepicker-multi-3 ui-datepicker-multi-4").width(""),o>1&&e.dpDiv.addClass("ui-datepicker-multi-"+o).css("width",a*o+"em"),e.dpDiv[(1!==s[0]||1!==s[1]?"add":"remove")+"Class"]("ui-datepicker-multi"),e.dpDiv[(this._get(e,"isRTL")?"add":"remove")+"Class"]("ui-datepicker-rtl"),e===t.datepicker._curInst&&t.datepicker._datepickerShowing&&t.datepicker._shouldFocusInput(e)&&e.input.trigger("focus"),e.yearshtml&&(i=e.yearshtml,setTimeout(function(){i===e.yearshtml&&e.yearshtml&&e.dpDiv.find("select.ui-datepicker-year:first").replaceWith(e.yearshtml),i=e.yearshtml=null},0))},_shouldFocusInput:function(t){return t.input&&t.input.is(":visible")&&!t.input.is(":disabled")&&!t.input.is(":focus")},_checkOffset:function(e,i,s){var n=e.dpDiv.outerWidth(),o=e.dpDiv.outerHeight(),a=e.input?e.input.outerWidth():0,r=e.input?e.input.outerHeight():0,l=document.documentElement.clientWidth+(s?0:t(document).scrollLeft()),h=document.documentElement.clientHeight+(s?0:t(document).scrollTop());return i.left-=this._get(e,"isRTL")?n-a:0,i.left-=s&&i.left===e.input.offset().left?t(document).scrollLeft():0,i.top-=s&&i.top===e.input.offset().top+r?t(document).scrollTop():0,i.left-=Math.min(i.left,i.left+n>l&&l>n?Math.abs(i.left+n-l):0),i.top-=Math.min(i.top,i.top+o>h&&h>o?Math.abs(o+r):0),i},_findPos:function(e){for(var i,s=this._getInst(e),n=this._get(s,"isRTL");e&&("hidden"===e.type||1!==e.nodeType||t.expr.filters.hidden(e));)e=e[n?"previousSibling":"nextSibling"];return i=t(e).offset(),[i.left,i.top]},_hideDatepicker:function(e){var i,s,n,o,a=this._curInst;!a||e&&a!==t.data(e,"datepicker")||this._datepickerShowing&&(i=this._get(a,"showAnim"),s=this._get(a,"duration"),n=function(){t.datepicker._tidyDialog(a)},t.effects&&(t.effects.effect[i]||t.effects[i])?a.dpDiv.hide(i,t.datepicker._get(a,"showOptions"),s,n):a.dpDiv["slideDown"===i?"slideUp":"fadeIn"===i?"fadeOut":"hide"](i?s:null,n),i||n(),this._datepickerShowing=!1,o=this._get(a,"onClose"),o&&o.apply(a.input?a.input[0]:null,[a.input?a.input.val():"",a]),this._lastInput=null,this._inDialog&&(this._dialogInput.css({position:"absolute",left:"0",top:"-100px"}),t.blockUI&&(t.unblockUI(),t("body").append(this.dpDiv))),this._inDialog=!1)},_tidyDialog:function(t){t.dpDiv.removeClass(this._dialogClass).off(".ui-datepicker-calendar")},_checkExternalClick:function(e){if(t.datepicker._curInst){var i=t(e.target),s=t.datepicker._getInst(i[0]);(i[0].id!==t.datepicker._mainDivId&&0===i.parents("#"+t.datepicker._mainDivId).length&&!i.hasClass(t.datepicker.markerClassName)&&!i.closest("."+t.datepicker._triggerClass).length&&t.datepicker._datepickerShowing&&(!t.datepicker._inDialog||!t.blockUI)||i.hasClass(t.datepicker.markerClassName)&&t.datepicker._curInst!==s)&&t.datepicker._hideDatepicker()}},_adjustDate:function(e,i,s){var n=t(e),o=this._getInst(n[0]);this._isDisabledDatepicker(n[0])||(this._adjustInstDate(o,i+("M"===s?this._get(o,"showCurrentAtPos"):0),s),this._updateDatepicker(o))},_gotoToday:function(e){var i,s=t(e),n=this._getInst(s[0]);this._get(n,"gotoCurrent")&&n.currentDay?(n.selectedDay=n.currentDay,n.drawMonth=n.selectedMonth=n.currentMonth,n.drawYear=n.selectedYear=n.currentYear):(i=new Date,n.selectedDay=i.getDate(),n.drawMonth=n.selectedMonth=i.getMonth(),n.drawYear=n.selectedYear=i.getFullYear()),this._notifyChange(n),this._adjustDate(s)},_selectMonthYear:function(e,i,s){var n=t(e),o=this._getInst(n[0]);o["selected"+("M"===s?"Month":"Year")]=o["draw"+("M"===s?"Month":"Year")]=parseInt(i.options[i.selectedIndex].value,10),this._notifyChange(o),this._adjustDate(n)},_selectDay:function(e,i,s,n){var o,a=t(e);t(n).hasClass(this._unselectableClass)||this._isDisabledDatepicker(a[0])||(o=this._getInst(a[0]),o.selectedDay=o.currentDay=t("a",n).html(),o.selectedMonth=o.currentMonth=i,o.selectedYear=o.currentYear=s,this._selectDate(e,this._formatDate(o,o.currentDay,o.currentMonth,o.currentYear)))},_clearDate:function(e){var i=t(e);this._selectDate(i,"")},_selectDate:function(e,i){var s,n=t(e),o=this._getInst(n[0]);i=null!=i?i:this._formatDate(o),o.input&&o.input.val(i),this._updateAlternate(o),s=this._get(o,"onSelect"),s?s.apply(o.input?o.input[0]:null,[i,o]):o.input&&o.input.trigger("change"),o.inline?this._updateDatepicker(o):(this._hideDatepicker(),this._lastInput=o.input[0],"object"!=typeof o.input[0]&&o.input.trigger("focus"),this._lastInput=null)},_updateAlternate:function(e){var i,s,n,o=this._get(e,"altField");o&&(i=this._get(e,"altFormat")||this._get(e,"dateFormat"),s=this._getDate(e),n=this.formatDate(i,s,this._getFormatConfig(e)),t(o).val(n))},noWeekends:function(t){var e=t.getDay();return[e>0&&6>e,""]},iso8601Week:function(t){var e,i=new Date(t.getTime());return i.setDate(i.getDate()+4-(i.getDay()||7)),e=i.getTime(),i.setMonth(0),i.setDate(1),Math.floor(Math.round((e-i)/864e5)/7)+1},parseDate:function(e,i,s){if(null==e||null==i)throw"Invalid arguments";if(i="object"==typeof i?""+i:i+"",""===i)return null;var n,o,a,r,l=0,h=(s?s.shortYearCutoff:null)||this._defaults.shortYearCutoff,c="string"!=typeof h?h:(new Date).getFullYear()%100+parseInt(h,10),u=(s?s.dayNamesShort:null)||this._defaults.dayNamesShort,d=(s?s.dayNames:null)||this._defaults.dayNames,p=(s?s.monthNamesShort:null)||this._defaults.monthNamesShort,f=(s?s.monthNames:null)||this._defaults.monthNames,g=-1,m=-1,_=-1,v=-1,b=!1,y=function(t){var i=e.length>n+1&&e.charAt(n+1)===t;return i&&n++,i},w=function(t){var e=y(t),s="@"===t?14:"!"===t?20:"y"===t&&e?4:"o"===t?3:2,n="y"===t?s:1,o=RegExp("^\\d{"+n+","+s+"}"),a=i.substring(l).match(o);if(!a)throw"Missing number at position "+l;return l+=a[0].length,parseInt(a[0],10)},k=function(e,s,n){var o=-1,a=t.map(y(e)?n:s,function(t,e){return[[e,t]]}).sort(function(t,e){return-(t[1].length-e[1].length)});if(t.each(a,function(t,e){var s=e[1];return i.substr(l,s.length).toLowerCase()===s.toLowerCase()?(o=e[0],l+=s.length,!1):void 0}),-1!==o)return o+1;throw"Unknown name at position "+l},x=function(){if(i.charAt(l)!==e.charAt(n))throw"Unexpected literal at position "+l;l++};for(n=0;e.length>n;n++)if(b)"'"!==e.charAt(n)||y("'")?x():b=!1;else switch(e.charAt(n)){case"d":_=w("d");break;case"D":k("D",u,d);break;case"o":v=w("o");break;case"m":m=w("m");break;case"M":m=k("M",p,f);break;case"y":g=w("y");break;case"@":r=new Date(w("@")),g=r.getFullYear(),m=r.getMonth()+1,_=r.getDate();break;case"!":r=new Date((w("!")-this._ticksTo1970)/1e4),g=r.getFullYear(),m=r.getMonth()+1,_=r.getDate();break;case"'":y("'")?x():b=!0;break;default:x()}if(i.length>l&&(a=i.substr(l),!/^\s+/.test(a)))throw"Extra/unparsed characters found in date: "+a;if(-1===g?g=(new Date).getFullYear():100>g&&(g+=(new Date).getFullYear()-(new Date).getFullYear()%100+(c>=g?0:-100)),v>-1)for(m=1,_=v;;){if(o=this._getDaysInMonth(g,m-1),o>=_)break;m++,_-=o}if(r=this._daylightSavingAdjust(new Date(g,m-1,_)),r.getFullYear()!==g||r.getMonth()+1!==m||r.getDate()!==_)throw"Invalid date";return r},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:1e7*60*60*24*(718685+Math.floor(492.5)-Math.floor(19.7)+Math.floor(4.925)),formatDate:function(t,e,i){if(!e)return"";var s,n=(i?i.dayNamesShort:null)||this._defaults.dayNamesShort,o=(i?i.dayNames:null)||this._defaults.dayNames,a=(i?i.monthNamesShort:null)||this._defaults.monthNamesShort,r=(i?i.monthNames:null)||this._defaults.monthNames,l=function(e){var i=t.length>s+1&&t.charAt(s+1)===e;return i&&s++,i},h=function(t,e,i){var s=""+e;if(l(t))for(;i>s.length;)s="0"+s;return s},c=function(t,e,i,s){return l(t)?s[e]:i[e]},u="",d=!1;if(e)for(s=0;t.length>s;s++)if(d)"'"!==t.charAt(s)||l("'")?u+=t.charAt(s):d=!1;else switch(t.charAt(s)){case"d":u+=h("d",e.getDate(),2);break;case"D":u+=c("D",e.getDay(),n,o);break;case"o":u+=h("o",Math.round((new Date(e.getFullYear(),e.getMonth(),e.getDate()).getTime()-new Date(e.getFullYear(),0,0).getTime())/864e5),3);break;case"m":u+=h("m",e.getMonth()+1,2);break;case"M":u+=c("M",e.getMonth(),a,r);break;case"y":u+=l("y")?e.getFullYear():(10>e.getFullYear()%100?"0":"")+e.getFullYear()%100;break;case"@":u+=e.getTime();break;case"!":u+=1e4*e.getTime()+this._ticksTo1970;break;case"'":l("'")?u+="'":d=!0;break;default:u+=t.charAt(s)}return u},_possibleChars:function(t){var e,i="",s=!1,n=function(i){var s=t.length>e+1&&t.charAt(e+1)===i;return s&&e++,s};for(e=0;t.length>e;e++)if(s)"'"!==t.charAt(e)||n("'")?i+=t.charAt(e):s=!1;else switch(t.charAt(e)){case"d":case"m":case"y":case"@":i+="0123456789";break;case"D":case"M":return null;case"'":n("'")?i+="'":s=!0;break;default:i+=t.charAt(e)}return i},_get:function(t,e){return void 0!==t.settings[e]?t.settings[e]:this._defaults[e]},_setDateFromField:function(t,e){if(t.input.val()!==t.lastVal){var i=this._get(t,"dateFormat"),s=t.lastVal=t.input?t.input.val():null,n=this._getDefaultDate(t),o=n,a=this._getFormatConfig(t);try{o=this.parseDate(i,s,a)||n}catch(r){s=e?"":s}t.selectedDay=o.getDate(),t.drawMonth=t.selectedMonth=o.getMonth(),t.drawYear=t.selectedYear=o.getFullYear(),t.currentDay=s?o.getDate():0,t.currentMonth=s?o.getMonth():0,t.currentYear=s?o.getFullYear():0,this._adjustInstDate(t)}},_getDefaultDate:function(t){return this._restrictMinMax(t,this._determineDate(t,this._get(t,"defaultDate"),new Date))},_determineDate:function(e,i,s){var n=function(t){var e=new Date;return e.setDate(e.getDate()+t),e},o=function(i){try{return t.datepicker.parseDate(t.datepicker._get(e,"dateFormat"),i,t.datepicker._getFormatConfig(e))}catch(s){}for(var n=(i.toLowerCase().match(/^c/)?t.datepicker._getDate(e):null)||new Date,o=n.getFullYear(),a=n.getMonth(),r=n.getDate(),l=/([+\-]?[0-9]+)\s*(d|D|w|W|m|M|y|Y)?/g,h=l.exec(i);h;){switch(h[2]||"d"){case"d":case"D":r+=parseInt(h[1],10);break;case"w":case"W":r+=7*parseInt(h[1],10);break;case"m":case"M":a+=parseInt(h[1],10),r=Math.min(r,t.datepicker._getDaysInMonth(o,a));break;case"y":case"Y":o+=parseInt(h[1],10),r=Math.min(r,t.datepicker._getDaysInMonth(o,a))}h=l.exec(i)}return new Date(o,a,r)},a=null==i||""===i?s:"string"==typeof i?o(i):"number"==typeof i?isNaN(i)?s:n(i):new Date(i.getTime());return a=a&&"Invalid Date"==""+a?s:a,a&&(a.setHours(0),a.setMinutes(0),a.setSeconds(0),a.setMilliseconds(0)),this._daylightSavingAdjust(a)},_daylightSavingAdjust:function(t){return t?(t.setHours(t.getHours()>12?t.getHours()+2:0),t):null},_setDate:function(t,e,i){var s=!e,n=t.selectedMonth,o=t.selectedYear,a=this._restrictMinMax(t,this._determineDate(t,e,new Date));t.selectedDay=t.currentDay=a.getDate(),t.drawMonth=t.selectedMonth=t.currentMonth=a.getMonth(),t.drawYear=t.selectedYear=t.currentYear=a.getFullYear(),n===t.selectedMonth&&o===t.selectedYear||i||this._notifyChange(t),this._adjustInstDate(t),t.input&&t.input.val(s?"":this._formatDate(t))},_getDate:function(t){var e=!t.currentYear||t.input&&""===t.input.val()?null:this._daylightSavingAdjust(new Date(t.currentYear,t.currentMonth,t.currentDay));return e},_attachHandlers:function(e){var i=this._get(e,"stepMonths"),s="#"+e.id.replace(/\\\\/g,"\\");e.dpDiv.find("[data-handler]").map(function(){var e={prev:function(){t.datepicker._adjustDate(s,-i,"M")},next:function(){t.datepicker._adjustDate(s,+i,"M")},hide:function(){t.datepicker._hideDatepicker()},today:function(){t.datepicker._gotoToday(s)},selectDay:function(){return t.datepicker._selectDay(s,+this.getAttribute("data-month"),+this.getAttribute("data-year"),this),!1},selectMonth:function(){return t.datepicker._selectMonthYear(s,this,"M"),!1},selectYear:function(){return t.datepicker._selectMonthYear(s,this,"Y"),!1}};t(this).on(this.getAttribute("data-event"),e[this.getAttribute("data-handler")])})},_generateHTML:function(t){var e,i,s,n,o,a,r,l,h,c,u,d,p,f,g,m,_,v,b,y,w,k,x,C,D,T,I,M,P,S,N,H,A,z,O,E,W,F,L,R=new Date,Y=this._daylightSavingAdjust(new Date(R.getFullYear(),R.getMonth(),R.getDate())),B=this._get(t,"isRTL"),j=this._get(t,"showButtonPanel"),q=this._get(t,"hideIfNoPrevNext"),K=this._get(t,"navigationAsDateFormat"),U=this._getNumberOfMonths(t),V=this._get(t,"showCurrentAtPos"),X=this._get(t,"stepMonths"),$=1!==U[0]||1!==U[1],G=this._daylightSavingAdjust(t.currentDay?new Date(t.currentYear,t.currentMonth,t.currentDay):new Date(9999,9,9)),J=this._getMinMaxDate(t,"min"),Q=this._getMinMaxDate(t,"max"),Z=t.drawMonth-V,te=t.drawYear;if(0>Z&&(Z+=12,te--),Q)for(e=this._daylightSavingAdjust(new Date(Q.getFullYear(),Q.getMonth()-U[0]*U[1]+1,Q.getDate())),e=J&&J>e?J:e;this._daylightSavingAdjust(new Date(te,Z,1))>e;)Z--,0>Z&&(Z=11,te--);for(t.drawMonth=Z,t.drawYear=te,i=this._get(t,"prevText"),i=K?this.formatDate(i,this._daylightSavingAdjust(new Date(te,Z-X,1)),this._getFormatConfig(t)):i,s=this._canAdjustMonth(t,-1,te,Z)?"<a class='ui-datepicker-prev ui-corner-all' data-handler='prev' data-event='click' title='"+i+"'><span class='ui-icon ui-icon-circle-triangle-"+(B?"e":"w")+"'>"+i+"</span></a>":q?"":"<a class='ui-datepicker-prev ui-corner-all ui-state-disabled' title='"+i+"'><span class='ui-icon ui-icon-circle-triangle-"+(B?"e":"w")+"'>"+i+"</span></a>",n=this._get(t,"nextText"),n=K?this.formatDate(n,this._daylightSavingAdjust(new Date(te,Z+X,1)),this._getFormatConfig(t)):n,o=this._canAdjustMonth(t,1,te,Z)?"<a class='ui-datepicker-next ui-corner-all' data-handler='next' data-event='click' title='"+n+"'><span class='ui-icon ui-icon-circle-triangle-"+(B?"w":"e")+"'>"+n+"</span></a>":q?"":"<a class='ui-datepicker-next ui-corner-all ui-state-disabled' title='"+n+"'><span class='ui-icon ui-icon-circle-triangle-"+(B?"w":"e")+"'>"+n+"</span></a>",a=this._get(t,"currentText"),r=this._get(t,"gotoCurrent")&&t.currentDay?G:Y,a=K?this.formatDate(a,r,this._getFormatConfig(t)):a,l=t.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(t,"closeText")+"</button>",h=j?"<div class='ui-datepicker-buttonpane ui-widget-content'>"+(B?l:"")+(this._isInRange(t,r)?"<button type='button' class='ui-datepicker-current ui-state-default ui-priority-secondary ui-corner-all' data-handler='today' data-event='click'>"+a+"</button>":"")+(B?"":l)+"</div>":"",c=parseInt(this._get(t,"firstDay"),10),c=isNaN(c)?0:c,u=this._get(t,"showWeek"),d=this._get(t,"dayNames"),p=this._get(t,"dayNamesMin"),f=this._get(t,"monthNames"),g=this._get(t,"monthNamesShort"),m=this._get(t,"beforeShowDay"),_=this._get(t,"showOtherMonths"),v=this._get(t,"selectOtherMonths"),b=this._getDefaultDate(t),y="",k=0;U[0]>k;k++){for(x="",this.maxRows=4,C=0;U[1]>C;C++){if(D=this._daylightSavingAdjust(new Date(te,Z,t.selectedDay)),T=" ui-corner-all",I="",$){if(I+="<div class='ui-datepicker-group",U[1]>1)switch(C){case 0:I+=" ui-datepicker-group-first",T=" ui-corner-"+(B?"right":"left");break;case U[1]-1:I+=" ui-datepicker-group-last",T=" ui-corner-"+(B?"left":"right");break;default:I+=" ui-datepicker-group-middle",T=""}I+="'>"}for(I+="<div class='ui-datepicker-header ui-widget-header ui-helper-clearfix"+T+"'>"+(/all|left/.test(T)&&0===k?B?o:s:"")+(/all|right/.test(T)&&0===k?B?s:o:"")+this._generateMonthYearHeader(t,Z,te,J,Q,k>0||C>0,f,g)+"</div><table class='ui-datepicker-calendar'><thead>"+"<tr>",M=u?"<th class='ui-datepicker-week-col'>"+this._get(t,"weekHeader")+"</th>":"",w=0;7>w;w++)P=(w+c)%7,M+="<th scope='col'"+((w+c+6)%7>=5?" class='ui-datepicker-week-end'":"")+">"+"<span title='"+d[P]+"'>"+p[P]+"</span></th>";for(I+=M+"</tr></thead><tbody>",S=this._getDaysInMonth(te,Z),te===t.selectedYear&&Z===t.selectedMonth&&(t.selectedDay=Math.min(t.selectedDay,S)),N=(this._getFirstDayOfMonth(te,Z)-c+7)%7,H=Math.ceil((N+S)/7),A=$?this.maxRows>H?this.maxRows:H:H,this.maxRows=A,z=this._daylightSavingAdjust(new Date(te,Z,1-N)),O=0;A>O;O++){for(I+="<tr>",E=u?"<td class='ui-datepicker-week-col'>"+this._get(t,"calculateWeek")(z)+"</td>":"",w=0;7>w;w++)W=m?m.apply(t.input?t.input[0]:null,[z]):[!0,""],F=z.getMonth()!==Z,L=F&&!v||!W[0]||J&&J>z||Q&&z>Q,E+="<td class='"+((w+c+6)%7>=5?" ui-datepicker-week-end":"")+(F?" ui-datepicker-other-month":"")+(z.getTime()===D.getTime()&&Z===t.selectedMonth&&t._keyEvent||b.getTime()===z.getTime()&&b.getTime()===D.getTime()?" "+this._dayOverClass:"")+(L?" "+this._unselectableClass+" ui-state-disabled":"")+(F&&!_?"":" "+W[1]+(z.getTime()===G.getTime()?" "+this._currentClass:"")+(z.getTime()===Y.getTime()?" ui-datepicker-today":""))+"'"+(F&&!_||!W[2]?"":" title='"+W[2].replace(/'/g,"'")+"'")+(L?"":" data-handler='selectDay' data-event='click' data-month='"+z.getMonth()+"' data-year='"+z.getFullYear()+"'")+">"+(F&&!_?" ":L?"<span class='ui-state-default'>"+z.getDate()+"</span>":"<a class='ui-state-default"+(z.getTime()===Y.getTime()?" ui-state-highlight":"")+(z.getTime()===G.getTime()?" ui-state-active":"")+(F?" ui-priority-secondary":"")+"' href='#'>"+z.getDate()+"</a>")+"</td>",z.setDate(z.getDate()+1),z=this._daylightSavingAdjust(z);I+=E+"</tr>"}Z++,Z>11&&(Z=0,te++),I+="</tbody></table>"+($?"</div>"+(U[0]>0&&C===U[1]-1?"<div class='ui-datepicker-row-break'></div>":""):""),x+=I}y+=x}return y+=h,t._keyEvent=!1,y},_generateMonthYearHeader:function(t,e,i,s,n,o,a,r){var l,h,c,u,d,p,f,g,m=this._get(t,"changeMonth"),_=this._get(t,"changeYear"),v=this._get(t,"showMonthAfterYear"),b="<div class='ui-datepicker-title'>",y="";if(o||!m)y+="<span class='ui-datepicker-month'>"+a[e]+"</span>";else{for(l=s&&s.getFullYear()===i,h=n&&n.getFullYear()===i,y+="<select class='ui-datepicker-month' data-handler='selectMonth' data-event='change'>",c=0;12>c;c++)(!l||c>=s.getMonth())&&(!h||n.getMonth()>=c)&&(y+="<option value='"+c+"'"+(c===e?" selected='selected'":"")+">"+r[c]+"</option>");y+="</select>"}if(v||(b+=y+(!o&&m&&_?"":" ")),!t.yearshtml)if(t.yearshtml="",o||!_)b+="<span class='ui-datepicker-year'>"+i+"</span>";else{for(u=this._get(t,"yearRange").split(":"),d=(new Date).getFullYear(),p=function(t){var e=t.match(/c[+\-].*/)?i+parseInt(t.substring(1),10):t.match(/[+\-].*/)?d+parseInt(t,10):parseInt(t,10);return isNaN(e)?d:e},f=p(u[0]),g=Math.max(f,p(u[1]||"")),f=s?Math.max(f,s.getFullYear()):f,g=n?Math.min(g,n.getFullYear()):g,t.yearshtml+="<select class='ui-datepicker-year' data-handler='selectYear' data-event='change'>";g>=f;f++)t.yearshtml+="<option value='"+f+"'"+(f===i?" selected='selected'":"")+">"+f+"</option>";t.yearshtml+="</select>",b+=t.yearshtml,t.yearshtml=null}return b+=this._get(t,"yearSuffix"),v&&(b+=(!o&&m&&_?"":" ")+y),b+="</div>"},_adjustInstDate:function(t,e,i){var s=t.selectedYear+("Y"===i?e:0),n=t.selectedMonth+("M"===i?e:0),o=Math.min(t.selectedDay,this._getDaysInMonth(s,n))+("D"===i?e:0),a=this._restrictMinMax(t,this._daylightSavingAdjust(new Date(s,n,o)));t.selectedDay=a.getDate(),t.drawMonth=t.selectedMonth=a.getMonth(),t.drawYear=t.selectedYear=a.getFullYear(),("M"===i||"Y"===i)&&this._notifyChange(t)},_restrictMinMax:function(t,e){var i=this._getMinMaxDate(t,"min"),s=this._getMinMaxDate(t,"max"),n=i&&i>e?i:e;return s&&n>s?s:n},_notifyChange:function(t){var e=this._get(t,"onChangeMonthYear");e&&e.apply(t.input?t.input[0]:null,[t.selectedYear,t.selectedMonth+1,t])},_getNumberOfMonths:function(t){var e=this._get(t,"numberOfMonths");return null==e?[1,1]:"number"==typeof e?[1,e]:e},_getMinMaxDate:function(t,e){return this._determineDate(t,this._get(t,e+"Date"),null)},_getDaysInMonth:function(t,e){return 32-this._daylightSavingAdjust(new Date(t,e,32)).getDate()},_getFirstDayOfMonth:function(t,e){return new Date(t,e,1).getDay()},_canAdjustMonth:function(t,e,i,s){var n=this._getNumberOfMonths(t),o=this._daylightSavingAdjust(new Date(i,s+(0>e?e:n[0]*n[1]),1));return 0>e&&o.setDate(this._getDaysInMonth(o.getFullYear(),o.getMonth())),this._isInRange(t,o)},_isInRange:function(t,e){var i,s,n=this._getMinMaxDate(t,"min"),o=this._getMinMaxDate(t,"max"),a=null,r=null,l=this._get(t,"yearRange");return l&&(i=l.split(":"),s=(new Date).getFullYear(),a=parseInt(i[0],10),r=parseInt(i[1],10),i[0].match(/[+\-].*/)&&(a+=s),i[1].match(/[+\-].*/)&&(r+=s)),(!n||e.getTime()>=n.getTime())&&(!o||e.getTime()<=o.getTime())&&(!a||e.getFullYear()>=a)&&(!r||r>=e.getFullYear())},_getFormatConfig:function(t){var e=this._get(t,"shortYearCutoff");return e="string"!=typeof e?e:(new Date).getFullYear()%100+parseInt(e,10),{shortYearCutoff:e,dayNamesShort:this._get(t,"dayNamesShort"),dayNames:this._get(t,"dayNames"),monthNamesShort:this._get(t,"monthNamesShort"),monthNames:this._get(t,"monthNames")}},_formatDate:function(t,e,i,s){e||(t.currentDay=t.selectedDay,t.currentMonth=t.selectedMonth,t.currentYear=t.selectedYear);var n=e?"object"==typeof e?e:this._daylightSavingAdjust(new Date(s,i,e)):this._daylightSavingAdjust(new Date(t.currentYear,t.currentMonth,t.currentDay));return this.formatDate(this._get(t,"dateFormat"),n,this._getFormatConfig(t))}}),t.fn.datepicker=function(e){if(!this.length)return this;t.datepicker.initialized||(t(document).on("mousedown",t.datepicker._checkExternalClick),t.datepicker.initialized=!0),0===t("#"+t.datepicker._mainDivId).length&&t("body").append(t.datepicker.dpDiv);var i=Array.prototype.slice.call(arguments,1);return"string"!=typeof e||"isDisabled"!==e&&"getDate"!==e&&"widget"!==e?"option"===e&&2===arguments.length&&"string"==typeof arguments[1]?t.datepicker["_"+e+"Datepicker"].apply(t.datepicker,[this[0]].concat(i)):this.each(function(){"string"==typeof e?t.datepicker["_"+e+"Datepicker"].apply(t.datepicker,[this].concat(i)):t.datepicker._attachDatepicker(this,e) >-}):t.datepicker["_"+e+"Datepicker"].apply(t.datepicker,[this[0]].concat(i))},t.datepicker=new i,t.datepicker.initialized=!1,t.datepicker.uuid=(new Date).getTime(),t.datepicker.version="1.12.1",t.datepicker,t.widget("ui.slider",t.ui.mouse,{version:"1.12.1",widgetEventPrefix:"slide",options:{animate:!1,classes:{"ui-slider":"ui-corner-all","ui-slider-handle":"ui-corner-all","ui-slider-range":"ui-corner-all ui-widget-header"},distance:0,max:100,min:0,orientation:"horizontal",range:!1,step:1,value:0,values:null,change:null,slide:null,start:null,stop:null},numPages:5,_create:function(){this._keySliding=!1,this._mouseSliding=!1,this._animateOff=!0,this._handleIndex=null,this._detectOrientation(),this._mouseInit(),this._calculateNewMax(),this._addClass("ui-slider ui-slider-"+this.orientation,"ui-widget ui-widget-content"),this._refresh(),this._animateOff=!1},_refresh:function(){this._createRange(),this._createHandles(),this._setupEvents(),this._refreshValue()},_createHandles:function(){var e,i,s=this.options,n=this.element.find(".ui-slider-handle"),o="<span tabindex='0'></span>",a=[];for(i=s.values&&s.values.length||1,n.length>i&&(n.slice(i).remove(),n=n.slice(0,i)),e=n.length;i>e;e++)a.push(o);this.handles=n.add(t(a.join("")).appendTo(this.element)),this._addClass(this.handles,"ui-slider-handle","ui-state-default"),this.handle=this.handles.eq(0),this.handles.each(function(e){t(this).data("ui-slider-handle-index",e).attr("tabIndex",0)})},_createRange:function(){var e=this.options;e.range?(e.range===!0&&(e.values?e.values.length&&2!==e.values.length?e.values=[e.values[0],e.values[0]]:t.isArray(e.values)&&(e.values=e.values.slice(0)):e.values=[this._valueMin(),this._valueMin()]),this.range&&this.range.length?(this._removeClass(this.range,"ui-slider-range-min ui-slider-range-max"),this.range.css({left:"",bottom:""})):(this.range=t("<div>").appendTo(this.element),this._addClass(this.range,"ui-slider-range")),("min"===e.range||"max"===e.range)&&this._addClass(this.range,"ui-slider-range-"+e.range)):(this.range&&this.range.remove(),this.range=null)},_setupEvents:function(){this._off(this.handles),this._on(this.handles,this._handleEvents),this._hoverable(this.handles),this._focusable(this.handles)},_destroy:function(){this.handles.remove(),this.range&&this.range.remove(),this._mouseDestroy()},_mouseCapture:function(e){var i,s,n,o,a,r,l,h,c=this,u=this.options;return u.disabled?!1:(this.elementSize={width:this.element.outerWidth(),height:this.element.outerHeight()},this.elementOffset=this.element.offset(),i={x:e.pageX,y:e.pageY},s=this._normValueFromMouse(i),n=this._valueMax()-this._valueMin()+1,this.handles.each(function(e){var i=Math.abs(s-c.values(e));(n>i||n===i&&(e===c._lastChangedValue||c.values(e)===u.min))&&(n=i,o=t(this),a=e)}),r=this._start(e,a),r===!1?!1:(this._mouseSliding=!0,this._handleIndex=a,this._addClass(o,null,"ui-state-active"),o.trigger("focus"),l=o.offset(),h=!t(e.target).parents().addBack().is(".ui-slider-handle"),this._clickOffset=h?{left:0,top:0}:{left:e.pageX-l.left-o.width()/2,top:e.pageY-l.top-o.height()/2-(parseInt(o.css("borderTopWidth"),10)||0)-(parseInt(o.css("borderBottomWidth"),10)||0)+(parseInt(o.css("marginTop"),10)||0)},this.handles.hasClass("ui-state-hover")||this._slide(e,a,s),this._animateOff=!0,!0))},_mouseStart:function(){return!0},_mouseDrag:function(t){var e={x:t.pageX,y:t.pageY},i=this._normValueFromMouse(e);return this._slide(t,this._handleIndex,i),!1},_mouseStop:function(t){return this._removeClass(this.handles,null,"ui-state-active"),this._mouseSliding=!1,this._stop(t,this._handleIndex),this._change(t,this._handleIndex),this._handleIndex=null,this._clickOffset=null,this._animateOff=!1,!1},_detectOrientation:function(){this.orientation="vertical"===this.options.orientation?"vertical":"horizontal"},_normValueFromMouse:function(t){var e,i,s,n,o;return"horizontal"===this.orientation?(e=this.elementSize.width,i=t.x-this.elementOffset.left-(this._clickOffset?this._clickOffset.left:0)):(e=this.elementSize.height,i=t.y-this.elementOffset.top-(this._clickOffset?this._clickOffset.top:0)),s=i/e,s>1&&(s=1),0>s&&(s=0),"vertical"===this.orientation&&(s=1-s),n=this._valueMax()-this._valueMin(),o=this._valueMin()+s*n,this._trimAlignValue(o)},_uiHash:function(t,e,i){var s={handle:this.handles[t],handleIndex:t,value:void 0!==e?e:this.value()};return this._hasMultipleValues()&&(s.value=void 0!==e?e:this.values(t),s.values=i||this.values()),s},_hasMultipleValues:function(){return this.options.values&&this.options.values.length},_start:function(t,e){return this._trigger("start",t,this._uiHash(e))},_slide:function(t,e,i){var s,n,o=this.value(),a=this.values();this._hasMultipleValues()&&(n=this.values(e?0:1),o=this.values(e),2===this.options.values.length&&this.options.range===!0&&(i=0===e?Math.min(n,i):Math.max(n,i)),a[e]=i),i!==o&&(s=this._trigger("slide",t,this._uiHash(e,i,a)),s!==!1&&(this._hasMultipleValues()?this.values(e,i):this.value(i)))},_stop:function(t,e){this._trigger("stop",t,this._uiHash(e))},_change:function(t,e){this._keySliding||this._mouseSliding||(this._lastChangedValue=e,this._trigger("change",t,this._uiHash(e)))},value:function(t){return arguments.length?(this.options.value=this._trimAlignValue(t),this._refreshValue(),this._change(null,0),void 0):this._value()},values:function(e,i){var s,n,o;if(arguments.length>1)return this.options.values[e]=this._trimAlignValue(i),this._refreshValue(),this._change(null,e),void 0;if(!arguments.length)return this._values();if(!t.isArray(arguments[0]))return this._hasMultipleValues()?this._values(e):this.value();for(s=this.options.values,n=arguments[0],o=0;s.length>o;o+=1)s[o]=this._trimAlignValue(n[o]),this._change(null,o);this._refreshValue()},_setOption:function(e,i){var s,n=0;switch("range"===e&&this.options.range===!0&&("min"===i?(this.options.value=this._values(0),this.options.values=null):"max"===i&&(this.options.value=this._values(this.options.values.length-1),this.options.values=null)),t.isArray(this.options.values)&&(n=this.options.values.length),this._super(e,i),e){case"orientation":this._detectOrientation(),this._removeClass("ui-slider-horizontal ui-slider-vertical")._addClass("ui-slider-"+this.orientation),this._refreshValue(),this.options.range&&this._refreshRange(i),this.handles.css("horizontal"===i?"bottom":"left","");break;case"value":this._animateOff=!0,this._refreshValue(),this._change(null,0),this._animateOff=!1;break;case"values":for(this._animateOff=!0,this._refreshValue(),s=n-1;s>=0;s--)this._change(null,s);this._animateOff=!1;break;case"step":case"min":case"max":this._animateOff=!0,this._calculateNewMax(),this._refreshValue(),this._animateOff=!1;break;case"range":this._animateOff=!0,this._refresh(),this._animateOff=!1}},_setOptionDisabled:function(t){this._super(t),this._toggleClass(null,"ui-state-disabled",!!t)},_value:function(){var t=this.options.value;return t=this._trimAlignValue(t)},_values:function(t){var e,i,s;if(arguments.length)return e=this.options.values[t],e=this._trimAlignValue(e);if(this._hasMultipleValues()){for(i=this.options.values.slice(),s=0;i.length>s;s+=1)i[s]=this._trimAlignValue(i[s]);return i}return[]},_trimAlignValue:function(t){if(this._valueMin()>=t)return this._valueMin();if(t>=this._valueMax())return this._valueMax();var e=this.options.step>0?this.options.step:1,i=(t-this._valueMin())%e,s=t-i;return 2*Math.abs(i)>=e&&(s+=i>0?e:-e),parseFloat(s.toFixed(5))},_calculateNewMax:function(){var t=this.options.max,e=this._valueMin(),i=this.options.step,s=Math.round((t-e)/i)*i;t=s+e,t>this.options.max&&(t-=i),this.max=parseFloat(t.toFixed(this._precision()))},_precision:function(){var t=this._precisionOf(this.options.step);return null!==this.options.min&&(t=Math.max(t,this._precisionOf(this.options.min))),t},_precisionOf:function(t){var e=""+t,i=e.indexOf(".");return-1===i?0:e.length-i-1},_valueMin:function(){return this.options.min},_valueMax:function(){return this.max},_refreshRange:function(t){"vertical"===t&&this.range.css({width:"",left:""}),"horizontal"===t&&this.range.css({height:"",bottom:""})},_refreshValue:function(){var e,i,s,n,o,a=this.options.range,r=this.options,l=this,h=this._animateOff?!1:r.animate,c={};this._hasMultipleValues()?this.handles.each(function(s){i=100*((l.values(s)-l._valueMin())/(l._valueMax()-l._valueMin())),c["horizontal"===l.orientation?"left":"bottom"]=i+"%",t(this).stop(1,1)[h?"animate":"css"](c,r.animate),l.options.range===!0&&("horizontal"===l.orientation?(0===s&&l.range.stop(1,1)[h?"animate":"css"]({left:i+"%"},r.animate),1===s&&l.range[h?"animate":"css"]({width:i-e+"%"},{queue:!1,duration:r.animate})):(0===s&&l.range.stop(1,1)[h?"animate":"css"]({bottom:i+"%"},r.animate),1===s&&l.range[h?"animate":"css"]({height:i-e+"%"},{queue:!1,duration:r.animate}))),e=i}):(s=this.value(),n=this._valueMin(),o=this._valueMax(),i=o!==n?100*((s-n)/(o-n)):0,c["horizontal"===this.orientation?"left":"bottom"]=i+"%",this.handle.stop(1,1)[h?"animate":"css"](c,r.animate),"min"===a&&"horizontal"===this.orientation&&this.range.stop(1,1)[h?"animate":"css"]({width:i+"%"},r.animate),"max"===a&&"horizontal"===this.orientation&&this.range.stop(1,1)[h?"animate":"css"]({width:100-i+"%"},r.animate),"min"===a&&"vertical"===this.orientation&&this.range.stop(1,1)[h?"animate":"css"]({height:i+"%"},r.animate),"max"===a&&"vertical"===this.orientation&&this.range.stop(1,1)[h?"animate":"css"]({height:100-i+"%"},r.animate))},_handleEvents:{keydown:function(e){var i,s,n,o,a=t(e.target).data("ui-slider-handle-index");switch(e.keyCode){case t.ui.keyCode.HOME:case t.ui.keyCode.END:case t.ui.keyCode.PAGE_UP:case t.ui.keyCode.PAGE_DOWN:case t.ui.keyCode.UP:case t.ui.keyCode.RIGHT:case t.ui.keyCode.DOWN:case t.ui.keyCode.LEFT:if(e.preventDefault(),!this._keySliding&&(this._keySliding=!0,this._addClass(t(e.target),null,"ui-state-active"),i=this._start(e,a),i===!1))return}switch(o=this.options.step,s=n=this._hasMultipleValues()?this.values(a):this.value(),e.keyCode){case t.ui.keyCode.HOME:n=this._valueMin();break;case t.ui.keyCode.END:n=this._valueMax();break;case t.ui.keyCode.PAGE_UP:n=this._trimAlignValue(s+(this._valueMax()-this._valueMin())/this.numPages);break;case t.ui.keyCode.PAGE_DOWN:n=this._trimAlignValue(s-(this._valueMax()-this._valueMin())/this.numPages);break;case t.ui.keyCode.UP:case t.ui.keyCode.RIGHT:if(s===this._valueMax())return;n=this._trimAlignValue(s+o);break;case t.ui.keyCode.DOWN:case t.ui.keyCode.LEFT:if(s===this._valueMin())return;n=this._trimAlignValue(s-o)}this._slide(e,a,n)},keyup:function(e){var i=t(e.target).data("ui-slider-handle-index");this._keySliding&&(this._keySliding=!1,this._stop(e,i),this._change(e,i),this._removeClass(t(e.target),null,"ui-state-active"))}}}),t.ui.escapeSelector=function(){var t=/([!"#$%&'()*+,./:;<=>?@[\]^`{|}~])/g;return function(e){return e.replace(t,"\\$1")}}(),t.widget("ui.tabs",{version:"1.12.1",delay:300,options:{active:null,classes:{"ui-tabs":"ui-corner-all","ui-tabs-nav":"ui-corner-all","ui-tabs-panel":"ui-corner-bottom","ui-tabs-tab":"ui-corner-top"},collapsible:!1,event:"click",heightStyle:"content",hide:null,show:null,activate:null,beforeActivate:null,beforeLoad:null,load:null},_isLocal:function(){var t=/#.*$/;return function(e){var i,s;i=e.href.replace(t,""),s=location.href.replace(t,"");try{i=decodeURIComponent(i)}catch(n){}try{s=decodeURIComponent(s)}catch(n){}return e.hash.length>1&&i===s}}(),_create:function(){var e=this,i=this.options;this.running=!1,this._addClass("ui-tabs","ui-widget ui-widget-content"),this._toggleClass("ui-tabs-collapsible",null,i.collapsible),this._processTabs(),i.active=this._initialActive(),t.isArray(i.disabled)&&(i.disabled=t.unique(i.disabled.concat(t.map(this.tabs.filter(".ui-state-disabled"),function(t){return e.tabs.index(t)}))).sort()),this.active=this.options.active!==!1&&this.anchors.length?this._findActive(i.active):t(),this._refresh(),this.active.length&&this.load(i.active)},_initialActive:function(){var e=this.options.active,i=this.options.collapsible,s=location.hash.substring(1);return null===e&&(s&&this.tabs.each(function(i,n){return t(n).attr("aria-controls")===s?(e=i,!1):void 0}),null===e&&(e=this.tabs.index(this.tabs.filter(".ui-tabs-active"))),(null===e||-1===e)&&(e=this.tabs.length?0:!1)),e!==!1&&(e=this.tabs.index(this.tabs.eq(e)),-1===e&&(e=i?!1:0)),!i&&e===!1&&this.anchors.length&&(e=0),e},_getCreateEventData:function(){return{tab:this.active,panel:this.active.length?this._getPanelForTab(this.active):t()}},_tabKeydown:function(e){var i=t(t.ui.safeActiveElement(this.document[0])).closest("li"),s=this.tabs.index(i),n=!0;if(!this._handlePageNav(e)){switch(e.keyCode){case t.ui.keyCode.RIGHT:case t.ui.keyCode.DOWN:s++;break;case t.ui.keyCode.UP:case t.ui.keyCode.LEFT:n=!1,s--;break;case t.ui.keyCode.END:s=this.anchors.length-1;break;case t.ui.keyCode.HOME:s=0;break;case t.ui.keyCode.SPACE:return e.preventDefault(),clearTimeout(this.activating),this._activate(s),void 0;case t.ui.keyCode.ENTER:return e.preventDefault(),clearTimeout(this.activating),this._activate(s===this.options.active?!1:s),void 0;default:return}e.preventDefault(),clearTimeout(this.activating),s=this._focusNextTab(s,n),e.ctrlKey||e.metaKey||(i.attr("aria-selected","false"),this.tabs.eq(s).attr("aria-selected","true"),this.activating=this._delay(function(){this.option("active",s)},this.delay))}},_panelKeydown:function(e){this._handlePageNav(e)||e.ctrlKey&&e.keyCode===t.ui.keyCode.UP&&(e.preventDefault(),this.active.trigger("focus"))},_handlePageNav:function(e){return e.altKey&&e.keyCode===t.ui.keyCode.PAGE_UP?(this._activate(this._focusNextTab(this.options.active-1,!1)),!0):e.altKey&&e.keyCode===t.ui.keyCode.PAGE_DOWN?(this._activate(this._focusNextTab(this.options.active+1,!0)),!0):void 0},_findNextTab:function(e,i){function s(){return e>n&&(e=0),0>e&&(e=n),e}for(var n=this.tabs.length-1;-1!==t.inArray(s(),this.options.disabled);)e=i?e+1:e-1;return e},_focusNextTab:function(t,e){return t=this._findNextTab(t,e),this.tabs.eq(t).trigger("focus"),t},_setOption:function(t,e){return"active"===t?(this._activate(e),void 0):(this._super(t,e),"collapsible"===t&&(this._toggleClass("ui-tabs-collapsible",null,e),e||this.options.active!==!1||this._activate(0)),"event"===t&&this._setupEvents(e),"heightStyle"===t&&this._setupHeightStyle(e),void 0)},_sanitizeSelector:function(t){return t?t.replace(/[!"$%&'()*+,.\/:;<=>?@\[\]\^`{|}~]/g,"\\$&"):""},refresh:function(){var e=this.options,i=this.tablist.children(":has(a[href])");e.disabled=t.map(i.filter(".ui-state-disabled"),function(t){return i.index(t)}),this._processTabs(),e.active!==!1&&this.anchors.length?this.active.length&&!t.contains(this.tablist[0],this.active[0])?this.tabs.length===e.disabled.length?(e.active=!1,this.active=t()):this._activate(this._findNextTab(Math.max(0,e.active-1),!1)):e.active=this.tabs.index(this.active):(e.active=!1,this.active=t()),this._refresh()},_refresh:function(){this._setOptionDisabled(this.options.disabled),this._setupEvents(this.options.event),this._setupHeightStyle(this.options.heightStyle),this.tabs.not(this.active).attr({"aria-selected":"false","aria-expanded":"false",tabIndex:-1}),this.panels.not(this._getPanelForTab(this.active)).hide().attr({"aria-hidden":"true"}),this.active.length?(this.active.attr({"aria-selected":"true","aria-expanded":"true",tabIndex:0}),this._addClass(this.active,"ui-tabs-active","ui-state-active"),this._getPanelForTab(this.active).show().attr({"aria-hidden":"false"})):this.tabs.eq(0).attr("tabIndex",0)},_processTabs:function(){var e=this,i=this.tabs,s=this.anchors,n=this.panels;this.tablist=this._getList().attr("role","tablist"),this._addClass(this.tablist,"ui-tabs-nav","ui-helper-reset ui-helper-clearfix ui-widget-header"),this.tablist.on("mousedown"+this.eventNamespace,"> li",function(e){t(this).is(".ui-state-disabled")&&e.preventDefault()}).on("focus"+this.eventNamespace,".ui-tabs-anchor",function(){t(this).closest("li").is(".ui-state-disabled")&&this.blur()}),this.tabs=this.tablist.find("> li:has(a[href])").attr({role:"tab",tabIndex:-1}),this._addClass(this.tabs,"ui-tabs-tab","ui-state-default"),this.anchors=this.tabs.map(function(){return t("a",this)[0]}).attr({role:"presentation",tabIndex:-1}),this._addClass(this.anchors,"ui-tabs-anchor"),this.panels=t(),this.anchors.each(function(i,s){var n,o,a,r=t(s).uniqueId().attr("id"),l=t(s).closest("li"),h=l.attr("aria-controls");e._isLocal(s)?(n=s.hash,a=n.substring(1),o=e.element.find(e._sanitizeSelector(n))):(a=l.attr("aria-controls")||t({}).uniqueId()[0].id,n="#"+a,o=e.element.find(n),o.length||(o=e._createPanel(a),o.insertAfter(e.panels[i-1]||e.tablist)),o.attr("aria-live","polite")),o.length&&(e.panels=e.panels.add(o)),h&&l.data("ui-tabs-aria-controls",h),l.attr({"aria-controls":a,"aria-labelledby":r}),o.attr("aria-labelledby",r)}),this.panels.attr("role","tabpanel"),this._addClass(this.panels,"ui-tabs-panel","ui-widget-content"),i&&(this._off(i.not(this.tabs)),this._off(s.not(this.anchors)),this._off(n.not(this.panels)))},_getList:function(){return this.tablist||this.element.find("ol, ul").eq(0)},_createPanel:function(e){return t("<div>").attr("id",e).data("ui-tabs-destroy",!0)},_setOptionDisabled:function(e){var i,s,n;for(t.isArray(e)&&(e.length?e.length===this.anchors.length&&(e=!0):e=!1),n=0;s=this.tabs[n];n++)i=t(s),e===!0||-1!==t.inArray(n,e)?(i.attr("aria-disabled","true"),this._addClass(i,null,"ui-state-disabled")):(i.removeAttr("aria-disabled"),this._removeClass(i,null,"ui-state-disabled"));this.options.disabled=e,this._toggleClass(this.widget(),this.widgetFullName+"-disabled",null,e===!0)},_setupEvents:function(e){var i={};e&&t.each(e.split(" "),function(t,e){i[e]="_eventHandler"}),this._off(this.anchors.add(this.tabs).add(this.panels)),this._on(!0,this.anchors,{click:function(t){t.preventDefault()}}),this._on(this.anchors,i),this._on(this.tabs,{keydown:"_tabKeydown"}),this._on(this.panels,{keydown:"_panelKeydown"}),this._focusable(this.tabs),this._hoverable(this.tabs)},_setupHeightStyle:function(e){var i,s=this.element.parent();"fill"===e?(i=s.height(),i-=this.element.outerHeight()-this.element.height(),this.element.siblings(":visible").each(function(){var e=t(this),s=e.css("position");"absolute"!==s&&"fixed"!==s&&(i-=e.outerHeight(!0))}),this.element.children().not(this.panels).each(function(){i-=t(this).outerHeight(!0)}),this.panels.each(function(){t(this).height(Math.max(0,i-t(this).innerHeight()+t(this).height()))}).css("overflow","auto")):"auto"===e&&(i=0,this.panels.each(function(){i=Math.max(i,t(this).height("").height())}).height(i))},_eventHandler:function(e){var i=this.options,s=this.active,n=t(e.currentTarget),o=n.closest("li"),a=o[0]===s[0],r=a&&i.collapsible,l=r?t():this._getPanelForTab(o),h=s.length?this._getPanelForTab(s):t(),c={oldTab:s,oldPanel:h,newTab:r?t():o,newPanel:l};e.preventDefault(),o.hasClass("ui-state-disabled")||o.hasClass("ui-tabs-loading")||this.running||a&&!i.collapsible||this._trigger("beforeActivate",e,c)===!1||(i.active=r?!1:this.tabs.index(o),this.active=a?t():o,this.xhr&&this.xhr.abort(),h.length||l.length||t.error("jQuery UI Tabs: Mismatching fragment identifier."),l.length&&this.load(this.tabs.index(o),e),this._toggle(e,c))},_toggle:function(e,i){function s(){o.running=!1,o._trigger("activate",e,i)}function n(){o._addClass(i.newTab.closest("li"),"ui-tabs-active","ui-state-active"),a.length&&o.options.show?o._show(a,o.options.show,s):(a.show(),s())}var o=this,a=i.newPanel,r=i.oldPanel;this.running=!0,r.length&&this.options.hide?this._hide(r,this.options.hide,function(){o._removeClass(i.oldTab.closest("li"),"ui-tabs-active","ui-state-active"),n()}):(this._removeClass(i.oldTab.closest("li"),"ui-tabs-active","ui-state-active"),r.hide(),n()),r.attr("aria-hidden","true"),i.oldTab.attr({"aria-selected":"false","aria-expanded":"false"}),a.length&&r.length?i.oldTab.attr("tabIndex",-1):a.length&&this.tabs.filter(function(){return 0===t(this).attr("tabIndex")}).attr("tabIndex",-1),a.attr("aria-hidden","false"),i.newTab.attr({"aria-selected":"true","aria-expanded":"true",tabIndex:0})},_activate:function(e){var i,s=this._findActive(e);s[0]!==this.active[0]&&(s.length||(s=this.active),i=s.find(".ui-tabs-anchor")[0],this._eventHandler({target:i,currentTarget:i,preventDefault:t.noop}))},_findActive:function(e){return e===!1?t():this.tabs.eq(e)},_getIndex:function(e){return"string"==typeof e&&(e=this.anchors.index(this.anchors.filter("[href$='"+t.ui.escapeSelector(e)+"']"))),e},_destroy:function(){this.xhr&&this.xhr.abort(),this.tablist.removeAttr("role").off(this.eventNamespace),this.anchors.removeAttr("role tabIndex").removeUniqueId(),this.tabs.add(this.panels).each(function(){t.data(this,"ui-tabs-destroy")?t(this).remove():t(this).removeAttr("role tabIndex aria-live aria-busy aria-selected aria-labelledby aria-hidden aria-expanded")}),this.tabs.each(function(){var e=t(this),i=e.data("ui-tabs-aria-controls");i?e.attr("aria-controls",i).removeData("ui-tabs-aria-controls"):e.removeAttr("aria-controls")}),this.panels.show(),"content"!==this.options.heightStyle&&this.panels.css("height","")},enable:function(e){var i=this.options.disabled;i!==!1&&(void 0===e?i=!1:(e=this._getIndex(e),i=t.isArray(i)?t.map(i,function(t){return t!==e?t:null}):t.map(this.tabs,function(t,i){return i!==e?i:null})),this._setOptionDisabled(i))},disable:function(e){var i=this.options.disabled;if(i!==!0){if(void 0===e)i=!0;else{if(e=this._getIndex(e),-1!==t.inArray(e,i))return;i=t.isArray(i)?t.merge([e],i).sort():[e]}this._setOptionDisabled(i)}},load:function(e,i){e=this._getIndex(e);var s=this,n=this.tabs.eq(e),o=n.find(".ui-tabs-anchor"),a=this._getPanelForTab(n),r={tab:n,panel:a},l=function(t,e){"abort"===e&&s.panels.stop(!1,!0),s._removeClass(n,"ui-tabs-loading"),a.removeAttr("aria-busy"),t===s.xhr&&delete s.xhr};this._isLocal(o[0])||(this.xhr=t.ajax(this._ajaxSettings(o,i,r)),this.xhr&&"canceled"!==this.xhr.statusText&&(this._addClass(n,"ui-tabs-loading"),a.attr("aria-busy","true"),this.xhr.done(function(t,e,n){setTimeout(function(){a.html(t),s._trigger("load",i,r),l(n,e)},1)}).fail(function(t,e){setTimeout(function(){l(t,e)},1)})))},_ajaxSettings:function(e,i,s){var n=this;return{url:e.attr("href").replace(/#.*$/,""),beforeSend:function(e,o){return n._trigger("beforeLoad",i,t.extend({jqXHR:e,ajaxSettings:o},s))}}},_getPanelForTab:function(e){var i=t(e).attr("aria-controls");return this.element.find(this._sanitizeSelector("#"+i))}}),t.uiBackCompat!==!1&&t.widget("ui.tabs",t.ui.tabs,{_processTabs:function(){this._superApply(arguments),this._addClass(this.tabs,"ui-tab")}}),t.ui.tabs,t.widget("ui.tooltip",{version:"1.12.1",options:{classes:{"ui-tooltip":"ui-corner-all ui-widget-shadow"},content:function(){var e=t(this).attr("title")||"";return t("<a>").text(e).html()},hide:!0,items:"[title]:not([disabled])",position:{my:"left top+15",at:"left bottom",collision:"flipfit flip"},show:!0,track:!1,close:null,open:null},_addDescribedBy:function(e,i){var s=(e.attr("aria-describedby")||"").split(/\s+/);s.push(i),e.data("ui-tooltip-id",i).attr("aria-describedby",t.trim(s.join(" ")))},_removeDescribedBy:function(e){var i=e.data("ui-tooltip-id"),s=(e.attr("aria-describedby")||"").split(/\s+/),n=t.inArray(i,s);-1!==n&&s.splice(n,1),e.removeData("ui-tooltip-id"),s=t.trim(s.join(" ")),s?e.attr("aria-describedby",s):e.removeAttr("aria-describedby")},_create:function(){this._on({mouseover:"open",focusin:"open"}),this.tooltips={},this.parents={},this.liveRegion=t("<div>").attr({role:"log","aria-live":"assertive","aria-relevant":"additions"}).appendTo(this.document[0].body),this._addClass(this.liveRegion,null,"ui-helper-hidden-accessible"),this.disabledTitles=t([])},_setOption:function(e,i){var s=this;this._super(e,i),"content"===e&&t.each(this.tooltips,function(t,e){s._updateContent(e.element)})},_setOptionDisabled:function(t){this[t?"_disable":"_enable"]()},_disable:function(){var e=this;t.each(this.tooltips,function(i,s){var n=t.Event("blur");n.target=n.currentTarget=s.element[0],e.close(n,!0)}),this.disabledTitles=this.disabledTitles.add(this.element.find(this.options.items).addBack().filter(function(){var e=t(this);return e.is("[title]")?e.data("ui-tooltip-title",e.attr("title")).removeAttr("title"):void 0}))},_enable:function(){this.disabledTitles.each(function(){var e=t(this);e.data("ui-tooltip-title")&&e.attr("title",e.data("ui-tooltip-title"))}),this.disabledTitles=t([])},open:function(e){var i=this,s=t(e?e.target:this.element).closest(this.options.items);s.length&&!s.data("ui-tooltip-id")&&(s.attr("title")&&s.data("ui-tooltip-title",s.attr("title")),s.data("ui-tooltip-open",!0),e&&"mouseover"===e.type&&s.parents().each(function(){var e,s=t(this);s.data("ui-tooltip-open")&&(e=t.Event("blur"),e.target=e.currentTarget=this,i.close(e,!0)),s.attr("title")&&(s.uniqueId(),i.parents[this.id]={element:this,title:s.attr("title")},s.attr("title",""))}),this._registerCloseHandlers(e,s),this._updateContent(s,e))},_updateContent:function(t,e){var i,s=this.options.content,n=this,o=e?e.type:null;return"string"==typeof s||s.nodeType||s.jquery?this._open(e,t,s):(i=s.call(t[0],function(i){n._delay(function(){t.data("ui-tooltip-open")&&(e&&(e.type=o),this._open(e,t,i))})}),i&&this._open(e,t,i),void 0)},_open:function(e,i,s){function n(t){h.of=t,a.is(":hidden")||a.position(h)}var o,a,r,l,h=t.extend({},this.options.position);if(s){if(o=this._find(i))return o.tooltip.find(".ui-tooltip-content").html(s),void 0;i.is("[title]")&&(e&&"mouseover"===e.type?i.attr("title",""):i.removeAttr("title")),o=this._tooltip(i),a=o.tooltip,this._addDescribedBy(i,a.attr("id")),a.find(".ui-tooltip-content").html(s),this.liveRegion.children().hide(),l=t("<div>").html(a.find(".ui-tooltip-content").html()),l.removeAttr("name").find("[name]").removeAttr("name"),l.removeAttr("id").find("[id]").removeAttr("id"),l.appendTo(this.liveRegion),this.options.track&&e&&/^mouse/.test(e.type)?(this._on(this.document,{mousemove:n}),n(e)):a.position(t.extend({of:i},this.options.position)),a.hide(),this._show(a,this.options.show),this.options.track&&this.options.show&&this.options.show.delay&&(r=this.delayedShow=setInterval(function(){a.is(":visible")&&(n(h.of),clearInterval(r))},t.fx.interval)),this._trigger("open",e,{tooltip:a})}},_registerCloseHandlers:function(e,i){var s={keyup:function(e){if(e.keyCode===t.ui.keyCode.ESCAPE){var s=t.Event(e);s.currentTarget=i[0],this.close(s,!0)}}};i[0]!==this.element[0]&&(s.remove=function(){this._removeTooltip(this._find(i).tooltip)}),e&&"mouseover"!==e.type||(s.mouseleave="close"),e&&"focusin"!==e.type||(s.focusout="close"),this._on(!0,i,s)},close:function(e){var i,s=this,n=t(e?e.currentTarget:this.element),o=this._find(n);return o?(i=o.tooltip,o.closing||(clearInterval(this.delayedShow),n.data("ui-tooltip-title")&&!n.attr("title")&&n.attr("title",n.data("ui-tooltip-title")),this._removeDescribedBy(n),o.hiding=!0,i.stop(!0),this._hide(i,this.options.hide,function(){s._removeTooltip(t(this))}),n.removeData("ui-tooltip-open"),this._off(n,"mouseleave focusout keyup"),n[0]!==this.element[0]&&this._off(n,"remove"),this._off(this.document,"mousemove"),e&&"mouseleave"===e.type&&t.each(this.parents,function(e,i){t(i.element).attr("title",i.title),delete s.parents[e]}),o.closing=!0,this._trigger("close",e,{tooltip:i}),o.hiding||(o.closing=!1)),void 0):(n.removeData("ui-tooltip-open"),void 0)},_tooltip:function(e){var i=t("<div>").attr("role","tooltip"),s=t("<div>").appendTo(i),n=i.uniqueId().attr("id");return this._addClass(s,"ui-tooltip-content"),this._addClass(i,"ui-tooltip","ui-widget ui-widget-content"),i.appendTo(this._appendTo(e)),this.tooltips[n]={element:e,tooltip:i}},_find:function(t){var e=t.data("ui-tooltip-id");return e?this.tooltips[e]:null},_removeTooltip:function(t){t.remove(),delete this.tooltips[t.attr("id")]},_appendTo:function(t){var e=t.closest(".ui-front, dialog");return e.length||(e=this.document[0].body),e},_destroy:function(){var e=this;t.each(this.tooltips,function(i,s){var n=t.Event("blur"),o=s.element;n.target=n.currentTarget=o[0],e.close(n,!0),t("#"+i).remove(),o.data("ui-tooltip-title")&&(o.attr("title")||o.attr("title",o.data("ui-tooltip-title")),o.removeData("ui-tooltip-title"))}),this.liveRegion.remove()}}),t.uiBackCompat!==!1&&t.widget("ui.tooltip",t.ui.tooltip,{options:{tooltipClass:null},_tooltip:function(){var t=this._superApply(arguments);return this.options.tooltipClass&&t.tooltip.addClass(this.options.tooltipClass),t}}),t.ui.tooltip}); >\ No newline at end of file >diff --git a/koha-tmpl/opac-tmpl/bootstrap/lib/jquery/jquery-ui-1.13.1.min.css b/koha-tmpl/opac-tmpl/bootstrap/lib/jquery/jquery-ui-1.13.1.min.css >new file mode 100644 >index 0000000000..c96e4a3700 >--- /dev/null >+++ b/koha-tmpl/opac-tmpl/bootstrap/lib/jquery/jquery-ui-1.13.1.min.css >@@ -0,0 +1,7 @@ >+/*! jQuery UI - v1.13.1 - 2022-02-03 >+* http://jqueryui.com >+* Includes: core.css, tabs.css, theme.css >+* To view and modify this theme, visit http://jqueryui.com/themeroller/?scope=&folderName=base&cornerRadiusShadow=8px&offsetLeftShadow=0px&offsetTopShadow=0px&thicknessShadow=5px&opacityShadow=30&bgImgOpacityShadow=0&bgTextureShadow=flat&bgColorShadow=666666&opacityOverlay=30&bgImgOpacityOverlay=0&bgTextureOverlay=flat&bgColorOverlay=aaaaaa&iconColorError=cc0000&fcError=5f3f3f&borderColorError=f1a899&bgTextureError=flat&bgColorError=fddfdf&iconColorHighlight=777620&fcHighlight=777620&borderColorHighlight=dad55e&bgTextureHighlight=flat&bgColorHighlight=fffa90&iconColorActive=ffffff&fcActive=ffffff&borderColorActive=003eff&bgTextureActive=flat&bgColorActive=007fff&iconColorHover=555555&fcHover=2b2b2b&borderColorHover=cccccc&bgTextureHover=flat&bgColorHover=ededed&iconColorDefault=777777&fcDefault=454545&borderColorDefault=c5c5c5&bgTextureDefault=flat&bgColorDefault=f6f6f6&iconColorContent=444444&fcContent=333333&borderColorContent=dddddd&bgTextureContent=flat&bgColorContent=ffffff&iconColorHeader=444444&fcHeader=333333&borderColorHeader=dddddd&bgTextureHeader=flat&bgColorHeader=e9e9e9&cornerRadius=3px&fwDefault=normal&fsDefault=1em&ffDefault=Arial%2CHelvetica%2Csans-serif >+* Copyright jQuery Foundation and other contributors; Licensed MIT */ >+ >+.ui-helper-hidden{display:none}.ui-helper-hidden-accessible{border:0;clip:rect(0 0 0 0);height:1px;margin:-1px;overflow:hidden;padding:0;position:absolute;width: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;border-collapse:collapse}.ui-helper-clearfix:after{clear:both}.ui-helper-zfix{width:100%;height:100%;top:0;left:0;position:absolute;opacity:0;-ms-filter:"alpha(opacity=0)"}.ui-front{z-index:100}.ui-state-disabled{cursor:default!important;pointer-events:none}.ui-icon{display:inline-block;vertical-align:middle;margin-top:-.25em;position:relative;text-indent:-99999px;overflow:hidden;background-repeat:no-repeat}.ui-widget-icon-block{left:50%;margin-left:-8px;display:block}.ui-widget-overlay{position:fixed;top:0;left:0;width:100%;height:100%}.ui-tabs{position:relative;padding:.2em}.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:0;margin:1px .2em 0 0;border-bottom-width:0;padding:0;white-space:nowrap}.ui-tabs .ui-tabs-nav .ui-tabs-anchor{float:left;padding:.5em 1em;text-decoration:none}.ui-tabs .ui-tabs-nav li.ui-tabs-active{margin-bottom:-1px;padding-bottom:1px}.ui-tabs .ui-tabs-nav li.ui-tabs-active .ui-tabs-anchor,.ui-tabs .ui-tabs-nav li.ui-state-disabled .ui-tabs-anchor,.ui-tabs .ui-tabs-nav li.ui-tabs-loading .ui-tabs-anchor{cursor:text}.ui-tabs-collapsible .ui-tabs-nav li.ui-tabs-active .ui-tabs-anchor{cursor:pointer}.ui-tabs .ui-tabs-panel{display:block;border-width:0;padding:1em 1.4em;background:none}.ui-widget{font-size:1em}.ui-widget .ui-widget{font-size:1em}.ui-widget input,.ui-widget select,.ui-widget textarea,.ui-widget button{font-size:1em}.ui-widget.ui-widget-content{border:1px solid #c5c5c5}.ui-widget-content{border:1px solid #ddd;background:#fff;color:#333}.ui-widget-content a{color:#333}.ui-widget-header{border:1px solid #ddd;background:#e9e9e9;color:#333;font-weight:bold}.ui-widget-header a{color:#333}.ui-state-default,.ui-widget-content .ui-state-default,.ui-widget-header .ui-state-default,.ui-button,html .ui-button.ui-state-disabled:hover,html .ui-button.ui-state-disabled:active{border:1px solid #c5c5c5;background:#f6f6f6;font-weight:normal;color:#454545}.ui-state-default a,.ui-state-default a:link,.ui-state-default a:visited,a.ui-button,a:link.ui-button,a:visited.ui-button,.ui-button{color:#454545;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,.ui-button:hover,.ui-button:focus{border:1px solid #ccc;background:#ededed;font-weight:normal;color:#2b2b2b}.ui-state-hover a,.ui-state-hover a:hover,.ui-state-hover a:link,.ui-state-hover a:visited,.ui-state-focus a,.ui-state-focus a:hover,.ui-state-focus a:link,.ui-state-focus a:visited,a.ui-button:hover,a.ui-button:focus{color:#2b2b2b;text-decoration:none}.ui-visual-focus{box-shadow:0 0 3px 1px rgb(94,158,214)}.ui-state-active,.ui-widget-content .ui-state-active,.ui-widget-header .ui-state-active,a.ui-button:active,.ui-button:active,.ui-button.ui-state-active:hover{border:1px solid #003eff;background:#007fff;font-weight:normal;color:#fff}.ui-icon-background,.ui-state-active .ui-icon-background{border:#003eff;background-color:#fff}.ui-state-active a,.ui-state-active a:link,.ui-state-active a:visited{color:#fff;text-decoration:none}.ui-state-highlight,.ui-widget-content .ui-state-highlight,.ui-widget-header .ui-state-highlight{border:1px solid #dad55e;background:#fffa90;color:#777620}.ui-state-checked{border:1px solid #dad55e;background:#fffa90}.ui-state-highlight a,.ui-widget-content .ui-state-highlight a,.ui-widget-header .ui-state-highlight a{color:#777620}.ui-state-error,.ui-widget-content .ui-state-error,.ui-widget-header .ui-state-error{border:1px solid #f1a899;background:#fddfdf;color:#5f3f3f}.ui-state-error a,.ui-widget-content .ui-state-error a,.ui-widget-header .ui-state-error a{color:#5f3f3f}.ui-state-error-text,.ui-widget-content .ui-state-error-text,.ui-widget-header .ui-state-error-text{color:#5f3f3f}.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;-ms-filter:"alpha(opacity=70)";font-weight:normal}.ui-state-disabled,.ui-widget-content .ui-state-disabled,.ui-widget-header .ui-state-disabled{opacity:.35;-ms-filter:"alpha(opacity=35)";background-image:none}.ui-state-disabled .ui-icon{-ms-filter:"alpha(opacity=35)"}.ui-icon{width:16px;height:16px}.ui-icon,.ui-widget-content .ui-icon{background-image:url("images/ui-icons_444444_256x240.png")}.ui-widget-header .ui-icon{background-image:url("images/ui-icons_444444_256x240.png")}.ui-state-hover .ui-icon,.ui-state-focus .ui-icon,.ui-button:hover .ui-icon,.ui-button:focus .ui-icon{background-image:url("images/ui-icons_555555_256x240.png")}.ui-state-active .ui-icon,.ui-button:active .ui-icon{background-image:url("images/ui-icons_ffffff_256x240.png")}.ui-state-highlight .ui-icon,.ui-button .ui-state-highlight.ui-icon{background-image:url("images/ui-icons_777620_256x240.png")}.ui-state-error .ui-icon,.ui-state-error-text .ui-icon{background-image:url("images/ui-icons_cc0000_256x240.png")}.ui-button .ui-icon{background-image:url("images/ui-icons_777777_256x240.png")}.ui-icon-blank.ui-icon-blank.ui-icon-blank{background-image:none}.ui-icon-caret-1-n{background-position:0 0}.ui-icon-caret-1-ne{background-position:-16px 0}.ui-icon-caret-1-e{background-position:-32px 0}.ui-icon-caret-1-se{background-position:-48px 0}.ui-icon-caret-1-s{background-position:-65px 0}.ui-icon-caret-1-sw{background-position:-80px 0}.ui-icon-caret-1-w{background-position:-96px 0}.ui-icon-caret-1-nw{background-position:-112px 0}.ui-icon-caret-2-n-s{background-position:-128px 0}.ui-icon-caret-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:-65px -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:-65px -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:1px -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-on{background-position:-96px -144px}.ui-icon-radio-off{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{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}.ui-corner-all,.ui-corner-top,.ui-corner-left,.ui-corner-tl{border-top-left-radius:3px}.ui-corner-all,.ui-corner-top,.ui-corner-right,.ui-corner-tr{border-top-right-radius:3px}.ui-corner-all,.ui-corner-bottom,.ui-corner-left,.ui-corner-bl{border-bottom-left-radius:3px}.ui-corner-all,.ui-corner-bottom,.ui-corner-right,.ui-corner-br{border-bottom-right-radius:3px}.ui-widget-overlay{background:#aaa;opacity:.3;-ms-filter:Alpha(Opacity=30)}.ui-widget-shadow{-webkit-box-shadow:0 0 5px #666;box-shadow:0 0 5px #666} >diff --git a/koha-tmpl/opac-tmpl/bootstrap/lib/jquery/jquery-ui-1.13.1.min.js b/koha-tmpl/opac-tmpl/bootstrap/lib/jquery/jquery-ui-1.13.1.min.js >new file mode 100644 >index 0000000000..849979ac75 >--- /dev/null >+++ b/koha-tmpl/opac-tmpl/bootstrap/lib/jquery/jquery-ui-1.13.1.min.js >@@ -0,0 +1,6 @@ >+/*! jQuery UI - v1.13.1 - 2022-02-03 >+* http://jqueryui.com >+* Includes: widget.js, keycode.js, unique-id.js, widgets/tabs.js >+* Copyright jQuery Foundation and other contributors; Licensed MIT */ >+ >+!function(t){"use strict";"function"==typeof define&&define.amd?define(["jquery"],t):t(jQuery)}(function(l){"use strict";l.ui=l.ui||{};l.ui.version="1.13.1";var a,i=0,o=Array.prototype.hasOwnProperty,r=Array.prototype.slice;l.cleanData=(a=l.cleanData,function(t){for(var e,i,s=0;null!=(i=t[s]);s++)(e=l._data(i,"events"))&&e.remove&&l(i).triggerHandler("remove");a(t)}),l.widget=function(t,i,e){var s,a,n,o={},r=t.split(".")[0],h=r+"-"+(t=t.split(".")[1]);return e||(e=i,i=l.Widget),Array.isArray(e)&&(e=l.extend.apply(null,[{}].concat(e))),l.expr.pseudos[h.toLowerCase()]=function(t){return!!l.data(t,h)},l[r]=l[r]||{},s=l[r][t],a=l[r][t]=function(t,e){if(!this||!this._createWidget)return new a(t,e);arguments.length&&this._createWidget(t,e)},l.extend(a,s,{version:e.version,_proto:l.extend({},e),_childConstructors:[]}),(n=new i).options=l.widget.extend({},n.options),l.each(e,function(e,s){function a(){return i.prototype[e].apply(this,arguments)}function n(t){return i.prototype[e].apply(this,t)}o[e]="function"==typeof s?function(){var t,e=this._super,i=this._superApply;return this._super=a,this._superApply=n,t=s.apply(this,arguments),this._super=e,this._superApply=i,t}:s}),a.prototype=l.widget.extend(n,{widgetEventPrefix:s&&n.widgetEventPrefix||t},o,{constructor:a,namespace:r,widgetName:t,widgetFullName:h}),s?(l.each(s._childConstructors,function(t,e){var i=e.prototype;l.widget(i.namespace+"."+i.widgetName,a,e._proto)}),delete s._childConstructors):i._childConstructors.push(a),l.widget.bridge(t,a),a},l.widget.extend=function(t){for(var e,i,s=r.call(arguments,1),a=0,n=s.length;a<n;a++)for(e in s[a])i=s[a][e],o.call(s[a],e)&&void 0!==i&&(l.isPlainObject(i)?t[e]=l.isPlainObject(t[e])?l.widget.extend({},t[e],i):l.widget.extend({},i):t[e]=i);return t},l.widget.bridge=function(n,e){var o=e.prototype.widgetFullName||n;l.fn[n]=function(i){var t="string"==typeof i,s=r.call(arguments,1),a=this;return t?this.length||"instance"!==i?this.each(function(){var t,e=l.data(this,o);return"instance"===i?(a=e,!1):e?"function"!=typeof e[i]||"_"===i.charAt(0)?l.error("no such method '"+i+"' for "+n+" widget instance"):(t=e[i].apply(e,s))!==e&&void 0!==t?(a=t&&t.jquery?a.pushStack(t.get()):t,!1):void 0:l.error("cannot call methods on "+n+" prior to initialization; attempted to call method '"+i+"'")}):a=void 0:(s.length&&(i=l.widget.extend.apply(null,[i].concat(s))),this.each(function(){var t=l.data(this,o);t?(t.option(i||{}),t._init&&t._init()):l.data(this,o,new e(i,this))})),a}},l.Widget=function(){},l.Widget._childConstructors=[],l.Widget.prototype={widgetName:"widget",widgetEventPrefix:"",defaultElement:"<div>",options:{classes:{},disabled:!1,create:null},_createWidget:function(t,e){e=l(e||this.defaultElement||this)[0],this.element=l(e),this.uuid=i++,this.eventNamespace="."+this.widgetName+this.uuid,this.bindings=l(),this.hoverable=l(),this.focusable=l(),this.classesElementLookup={},e!==this&&(l.data(e,this.widgetFullName,this),this._on(!0,this.element,{remove:function(t){t.target===e&&this.destroy()}}),this.document=l(e.style?e.ownerDocument:e.document||e),this.window=l(this.document[0].defaultView||this.document[0].parentWindow)),this.options=l.widget.extend({},this.options,this._getCreateOptions(),t),this._create(),this.options.disabled&&this._setOptionDisabled(this.options.disabled),this._trigger("create",null,this._getCreateEventData()),this._init()},_getCreateOptions:function(){return{}},_getCreateEventData:l.noop,_create:l.noop,_init:l.noop,destroy:function(){var i=this;this._destroy(),l.each(this.classesElementLookup,function(t,e){i._removeClass(e,t)}),this.element.off(this.eventNamespace).removeData(this.widgetFullName),this.widget().off(this.eventNamespace).removeAttr("aria-disabled"),this.bindings.off(this.eventNamespace)},_destroy:l.noop,widget:function(){return this.element},option:function(t,e){var i,s,a,n=t;if(0===arguments.length)return l.widget.extend({},this.options);if("string"==typeof t)if(n={},t=(i=t.split(".")).shift(),i.length){for(s=n[t]=l.widget.extend({},this.options[t]),a=0;a<i.length-1;a++)s[i[a]]=s[i[a]]||{},s=s[i[a]];if(t=i.pop(),1===arguments.length)return void 0===s[t]?null:s[t];s[t]=e}else{if(1===arguments.length)return void 0===this.options[t]?null:this.options[t];n[t]=e}return this._setOptions(n),this},_setOptions:function(t){for(var e in t)this._setOption(e,t[e]);return this},_setOption:function(t,e){return"classes"===t&&this._setOptionClasses(e),this.options[t]=e,"disabled"===t&&this._setOptionDisabled(e),this},_setOptionClasses:function(t){var e,i,s;for(e in t)s=this.classesElementLookup[e],t[e]!==this.options.classes[e]&&s&&s.length&&(i=l(s.get()),this._removeClass(s,e),i.addClass(this._classes({element:i,keys:e,classes:t,add:!0})))},_setOptionDisabled:function(t){this._toggleClass(this.widget(),this.widgetFullName+"-disabled",null,!!t),t&&(this._removeClass(this.hoverable,null,"ui-state-hover"),this._removeClass(this.focusable,null,"ui-state-focus"))},enable:function(){return this._setOptions({disabled:!1})},disable:function(){return this._setOptions({disabled:!0})},_classes:function(a){var n=[],o=this;function t(t,e){for(var i,s=0;s<t.length;s++)i=o.classesElementLookup[t[s]]||l(),i=a.add?(function(){var i=[];a.element.each(function(t,e){l.map(o.classesElementLookup,function(t){return t}).some(function(t){return t.is(e)})||i.push(e)}),o._on(l(i),{remove:"_untrackClassesElement"})}(),l(l.uniqueSort(i.get().concat(a.element.get())))):l(i.not(a.element).get()),o.classesElementLookup[t[s]]=i,n.push(t[s]),e&&a.classes[t[s]]&&n.push(a.classes[t[s]])}return(a=l.extend({element:this.element,classes:this.options.classes||{}},a)).keys&&t(a.keys.match(/\S+/g)||[],!0),a.extra&&t(a.extra.match(/\S+/g)||[]),n.join(" ")},_untrackClassesElement:function(i){var s=this;l.each(s.classesElementLookup,function(t,e){-1!==l.inArray(i.target,e)&&(s.classesElementLookup[t]=l(e.not(i.target).get()))}),this._off(l(i.target))},_removeClass:function(t,e,i){return this._toggleClass(t,e,i,!1)},_addClass:function(t,e,i){return this._toggleClass(t,e,i,!0)},_toggleClass:function(t,e,i,s){var a="string"==typeof t||null===t,i={extra:a?e:i,keys:a?t:e,element:a?this.element:t,add:s="boolean"==typeof s?s:i};return i.element.toggleClass(this._classes(i),s),this},_on:function(a,n,t){var o,r=this;"boolean"!=typeof a&&(t=n,n=a,a=!1),t?(n=o=l(n),this.bindings=this.bindings.add(n)):(t=n,n=this.element,o=this.widget()),l.each(t,function(t,e){function i(){if(a||!0!==r.options.disabled&&!l(this).hasClass("ui-state-disabled"))return("string"==typeof e?r[e]:e).apply(r,arguments)}"string"!=typeof e&&(i.guid=e.guid=e.guid||i.guid||l.guid++);var s=t.match(/^([\w:-]*)\s*(.*)$/),t=s[1]+r.eventNamespace,s=s[2];s?o.on(t,s,i):n.on(t,i)})},_off:function(t,e){e=(e||"").split(" ").join(this.eventNamespace+" ")+this.eventNamespace,t.off(e),this.bindings=l(this.bindings.not(t).get()),this.focusable=l(this.focusable.not(t).get()),this.hoverable=l(this.hoverable.not(t).get())},_delay:function(t,e){var i=this;return setTimeout(function(){return("string"==typeof t?i[t]:t).apply(i,arguments)},e||0)},_hoverable:function(t){this.hoverable=this.hoverable.add(t),this._on(t,{mouseenter:function(t){this._addClass(l(t.currentTarget),null,"ui-state-hover")},mouseleave:function(t){this._removeClass(l(t.currentTarget),null,"ui-state-hover")}})},_focusable:function(t){this.focusable=this.focusable.add(t),this._on(t,{focusin:function(t){this._addClass(l(t.currentTarget),null,"ui-state-focus")},focusout:function(t){this._removeClass(l(t.currentTarget),null,"ui-state-focus")}})},_trigger:function(t,e,i){var s,a,n=this.options[t];if(i=i||{},(e=l.Event(e)).type=(t===this.widgetEventPrefix?t:this.widgetEventPrefix+t).toLowerCase(),e.target=this.element[0],a=e.originalEvent)for(s in a)s in e||(e[s]=a[s]);return this.element.trigger(e,i),!("function"==typeof n&&!1===n.apply(this.element[0],[e].concat(i))||e.isDefaultPrevented())}},l.each({show:"fadeIn",hide:"fadeOut"},function(n,o){l.Widget.prototype["_"+n]=function(e,t,i){var s,a=(t="string"==typeof t?{effect:t}:t)?!0!==t&&"number"!=typeof t&&t.effect||o:n;"number"==typeof(t=t||{})?t={duration:t}:!0===t&&(t={}),s=!l.isEmptyObject(t),t.complete=i,t.delay&&e.delay(t.delay),s&&l.effects&&l.effects.effect[a]?e[n](t):a!==n&&e[a]?e[a](t.duration,t.easing,i):e.queue(function(t){l(this)[n](),i&&i.call(e[0]),t()})}});var t,s;l.widget,l.ui.keyCode={BACKSPACE:8,COMMA:188,DELETE:46,DOWN:40,END:35,ENTER:13,ESCAPE:27,HOME:36,LEFT:37,PAGE_DOWN:34,PAGE_UP:33,PERIOD:190,RIGHT:39,SPACE:32,TAB:9,UP:38},l.fn.extend({uniqueId:(t=0,function(){return this.each(function(){this.id||(this.id="ui-id-"+ ++t)})}),removeUniqueId:function(){return this.each(function(){/^ui-id-\d+$/.test(this.id)&&l(this).removeAttr("id")})}}),l.ui.safeActiveElement=function(e){var i;try{i=e.activeElement}catch(t){i=e.body}return i=!(i=i||e.body).nodeName?e.body:i};l.widget("ui.tabs",{version:"1.13.1",delay:300,options:{active:null,classes:{"ui-tabs":"ui-corner-all","ui-tabs-nav":"ui-corner-all","ui-tabs-panel":"ui-corner-bottom","ui-tabs-tab":"ui-corner-top"},collapsible:!1,event:"click",heightStyle:"content",hide:null,show:null,activate:null,beforeActivate:null,beforeLoad:null,load:null},_isLocal:(s=/#.*$/,function(t){var e=t.href.replace(s,""),i=location.href.replace(s,"");try{e=decodeURIComponent(e)}catch(t){}try{i=decodeURIComponent(i)}catch(t){}return 1<t.hash.length&&e===i}),_create:function(){var e=this,t=this.options;this.running=!1,this._addClass("ui-tabs","ui-widget ui-widget-content"),this._toggleClass("ui-tabs-collapsible",null,t.collapsible),this._processTabs(),t.active=this._initialActive(),Array.isArray(t.disabled)&&(t.disabled=l.uniqueSort(t.disabled.concat(l.map(this.tabs.filter(".ui-state-disabled"),function(t){return e.tabs.index(t)}))).sort()),!1!==this.options.active&&this.anchors.length?this.active=this._findActive(t.active):this.active=l(),this._refresh(),this.active.length&&this.load(t.active)},_initialActive:function(){var i=this.options.active,t=this.options.collapsible,s=location.hash.substring(1);return null===i&&(s&&this.tabs.each(function(t,e){if(l(e).attr("aria-controls")===s)return i=t,!1}),null!==(i=null===i?this.tabs.index(this.tabs.filter(".ui-tabs-active")):i)&&-1!==i||(i=!!this.tabs.length&&0)),!1!==i&&-1===(i=this.tabs.index(this.tabs.eq(i)))&&(i=!t&&0),i=!t&&!1===i&&this.anchors.length?0:i},_getCreateEventData:function(){return{tab:this.active,panel:this.active.length?this._getPanelForTab(this.active):l()}},_tabKeydown:function(t){var e=l(l.ui.safeActiveElement(this.document[0])).closest("li"),i=this.tabs.index(e),s=!0;if(!this._handlePageNav(t)){switch(t.keyCode){case l.ui.keyCode.RIGHT:case l.ui.keyCode.DOWN:i++;break;case l.ui.keyCode.UP:case l.ui.keyCode.LEFT:s=!1,i--;break;case l.ui.keyCode.END:i=this.anchors.length-1;break;case l.ui.keyCode.HOME:i=0;break;case l.ui.keyCode.SPACE:return t.preventDefault(),clearTimeout(this.activating),void this._activate(i);case l.ui.keyCode.ENTER:return t.preventDefault(),clearTimeout(this.activating),void this._activate(i!==this.options.active&&i);default:return}t.preventDefault(),clearTimeout(this.activating),i=this._focusNextTab(i,s),t.ctrlKey||t.metaKey||(e.attr("aria-selected","false"),this.tabs.eq(i).attr("aria-selected","true"),this.activating=this._delay(function(){this.option("active",i)},this.delay))}},_panelKeydown:function(t){this._handlePageNav(t)||t.ctrlKey&&t.keyCode===l.ui.keyCode.UP&&(t.preventDefault(),this.active.trigger("focus"))},_handlePageNav:function(t){return t.altKey&&t.keyCode===l.ui.keyCode.PAGE_UP?(this._activate(this._focusNextTab(this.options.active-1,!1)),!0):t.altKey&&t.keyCode===l.ui.keyCode.PAGE_DOWN?(this._activate(this._focusNextTab(this.options.active+1,!0)),!0):void 0},_findNextTab:function(t,e){var i=this.tabs.length-1;for(;-1!==l.inArray(t=(t=i<t?0:t)<0?i:t,this.options.disabled);)t=e?t+1:t-1;return t},_focusNextTab:function(t,e){return t=this._findNextTab(t,e),this.tabs.eq(t).trigger("focus"),t},_setOption:function(t,e){"active"!==t?(this._super(t,e),"collapsible"===t&&(this._toggleClass("ui-tabs-collapsible",null,e),e||!1!==this.options.active||this._activate(0)),"event"===t&&this._setupEvents(e),"heightStyle"===t&&this._setupHeightStyle(e)):this._activate(e)},_sanitizeSelector:function(t){return t?t.replace(/[!"$%&'()*+,.\/:;<=>?@\[\]\^`{|}~]/g,"\\$&"):""},refresh:function(){var t=this.options,e=this.tablist.children(":has(a[href])");t.disabled=l.map(e.filter(".ui-state-disabled"),function(t){return e.index(t)}),this._processTabs(),!1!==t.active&&this.anchors.length?this.active.length&&!l.contains(this.tablist[0],this.active[0])?this.tabs.length===t.disabled.length?(t.active=!1,this.active=l()):this._activate(this._findNextTab(Math.max(0,t.active-1),!1)):t.active=this.tabs.index(this.active):(t.active=!1,this.active=l()),this._refresh()},_refresh:function(){this._setOptionDisabled(this.options.disabled),this._setupEvents(this.options.event),this._setupHeightStyle(this.options.heightStyle),this.tabs.not(this.active).attr({"aria-selected":"false","aria-expanded":"false",tabIndex:-1}),this.panels.not(this._getPanelForTab(this.active)).hide().attr({"aria-hidden":"true"}),this.active.length?(this.active.attr({"aria-selected":"true","aria-expanded":"true",tabIndex:0}),this._addClass(this.active,"ui-tabs-active","ui-state-active"),this._getPanelForTab(this.active).show().attr({"aria-hidden":"false"})):this.tabs.eq(0).attr("tabIndex",0)},_processTabs:function(){var h=this,t=this.tabs,e=this.anchors,i=this.panels;this.tablist=this._getList().attr("role","tablist"),this._addClass(this.tablist,"ui-tabs-nav","ui-helper-reset ui-helper-clearfix ui-widget-header"),this.tablist.on("mousedown"+this.eventNamespace,"> li",function(t){l(this).is(".ui-state-disabled")&&t.preventDefault()}).on("focus"+this.eventNamespace,".ui-tabs-anchor",function(){l(this).closest("li").is(".ui-state-disabled")&&this.blur()}),this.tabs=this.tablist.find("> li:has(a[href])").attr({role:"tab",tabIndex:-1}),this._addClass(this.tabs,"ui-tabs-tab","ui-state-default"),this.anchors=this.tabs.map(function(){return l("a",this)[0]}).attr({tabIndex:-1}),this._addClass(this.anchors,"ui-tabs-anchor"),this.panels=l(),this.anchors.each(function(t,e){var i,s,a,n=l(e).uniqueId().attr("id"),o=l(e).closest("li"),r=o.attr("aria-controls");h._isLocal(e)?(a=(i=e.hash).substring(1),s=h.element.find(h._sanitizeSelector(i))):(a=o.attr("aria-controls")||l({}).uniqueId()[0].id,(s=h.element.find(i="#"+a)).length||(s=h._createPanel(a)).insertAfter(h.panels[t-1]||h.tablist),s.attr("aria-live","polite")),s.length&&(h.panels=h.panels.add(s)),r&&o.data("ui-tabs-aria-controls",r),o.attr({"aria-controls":a,"aria-labelledby":n}),s.attr("aria-labelledby",n)}),this.panels.attr("role","tabpanel"),this._addClass(this.panels,"ui-tabs-panel","ui-widget-content"),t&&(this._off(t.not(this.tabs)),this._off(e.not(this.anchors)),this._off(i.not(this.panels)))},_getList:function(){return this.tablist||this.element.find("ol, ul").eq(0)},_createPanel:function(t){return l("<div>").attr("id",t).data("ui-tabs-destroy",!0)},_setOptionDisabled:function(t){var e,i;for(Array.isArray(t)&&(t.length?t.length===this.anchors.length&&(t=!0):t=!1),i=0;e=this.tabs[i];i++)e=l(e),!0===t||-1!==l.inArray(i,t)?(e.attr("aria-disabled","true"),this._addClass(e,null,"ui-state-disabled")):(e.removeAttr("aria-disabled"),this._removeClass(e,null,"ui-state-disabled"));this.options.disabled=t,this._toggleClass(this.widget(),this.widgetFullName+"-disabled",null,!0===t)},_setupEvents:function(t){var i={};t&&l.each(t.split(" "),function(t,e){i[e]="_eventHandler"}),this._off(this.anchors.add(this.tabs).add(this.panels)),this._on(!0,this.anchors,{click:function(t){t.preventDefault()}}),this._on(this.anchors,i),this._on(this.tabs,{keydown:"_tabKeydown"}),this._on(this.panels,{keydown:"_panelKeydown"}),this._focusable(this.tabs),this._hoverable(this.tabs)},_setupHeightStyle:function(t){var i,e=this.element.parent();"fill"===t?(i=e.height(),i-=this.element.outerHeight()-this.element.height(),this.element.siblings(":visible").each(function(){var t=l(this),e=t.css("position");"absolute"!==e&&"fixed"!==e&&(i-=t.outerHeight(!0))}),this.element.children().not(this.panels).each(function(){i-=l(this).outerHeight(!0)}),this.panels.each(function(){l(this).height(Math.max(0,i-l(this).innerHeight()+l(this).height()))}).css("overflow","auto")):"auto"===t&&(i=0,this.panels.each(function(){i=Math.max(i,l(this).height("").height())}).height(i))},_eventHandler:function(t){var e=this.options,i=this.active,s=l(t.currentTarget).closest("li"),a=s[0]===i[0],n=a&&e.collapsible,o=n?l():this._getPanelForTab(s),r=i.length?this._getPanelForTab(i):l(),i={oldTab:i,oldPanel:r,newTab:n?l():s,newPanel:o};t.preventDefault(),s.hasClass("ui-state-disabled")||s.hasClass("ui-tabs-loading")||this.running||a&&!e.collapsible||!1===this._trigger("beforeActivate",t,i)||(e.active=!n&&this.tabs.index(s),this.active=a?l():s,this.xhr&&this.xhr.abort(),r.length||o.length||l.error("jQuery UI Tabs: Mismatching fragment identifier."),o.length&&this.load(this.tabs.index(s),t),this._toggle(t,i))},_toggle:function(t,e){var i=this,s=e.newPanel,a=e.oldPanel;function n(){i.running=!1,i._trigger("activate",t,e)}function o(){i._addClass(e.newTab.closest("li"),"ui-tabs-active","ui-state-active"),s.length&&i.options.show?i._show(s,i.options.show,n):(s.show(),n())}this.running=!0,a.length&&this.options.hide?this._hide(a,this.options.hide,function(){i._removeClass(e.oldTab.closest("li"),"ui-tabs-active","ui-state-active"),o()}):(this._removeClass(e.oldTab.closest("li"),"ui-tabs-active","ui-state-active"),a.hide(),o()),a.attr("aria-hidden","true"),e.oldTab.attr({"aria-selected":"false","aria-expanded":"false"}),s.length&&a.length?e.oldTab.attr("tabIndex",-1):s.length&&this.tabs.filter(function(){return 0===l(this).attr("tabIndex")}).attr("tabIndex",-1),s.attr("aria-hidden","false"),e.newTab.attr({"aria-selected":"true","aria-expanded":"true",tabIndex:0})},_activate:function(t){var t=this._findActive(t);t[0]!==this.active[0]&&(t=(t=!t.length?this.active:t).find(".ui-tabs-anchor")[0],this._eventHandler({target:t,currentTarget:t,preventDefault:l.noop}))},_findActive:function(t){return!1===t?l():this.tabs.eq(t)},_getIndex:function(t){return t="string"==typeof t?this.anchors.index(this.anchors.filter("[href$='"+l.escapeSelector(t)+"']")):t},_destroy:function(){this.xhr&&this.xhr.abort(),this.tablist.removeAttr("role").off(this.eventNamespace),this.anchors.removeAttr("role tabIndex").removeUniqueId(),this.tabs.add(this.panels).each(function(){l.data(this,"ui-tabs-destroy")?l(this).remove():l(this).removeAttr("role tabIndex aria-live aria-busy aria-selected aria-labelledby aria-hidden aria-expanded")}),this.tabs.each(function(){var t=l(this),e=t.data("ui-tabs-aria-controls");e?t.attr("aria-controls",e).removeData("ui-tabs-aria-controls"):t.removeAttr("aria-controls")}),this.panels.show(),"content"!==this.options.heightStyle&&this.panels.css("height","")},enable:function(i){var t=this.options.disabled;!1!==t&&(t=void 0!==i&&(i=this._getIndex(i),Array.isArray(t)?l.map(t,function(t){return t!==i?t:null}):l.map(this.tabs,function(t,e){return e!==i?e:null})),this._setOptionDisabled(t))},disable:function(t){var e=this.options.disabled;if(!0!==e){if(void 0===t)e=!0;else{if(t=this._getIndex(t),-1!==l.inArray(t,e))return;e=Array.isArray(e)?l.merge([t],e).sort():[t]}this._setOptionDisabled(e)}},load:function(t,s){t=this._getIndex(t);function a(t,e){"abort"===e&&n.panels.stop(!1,!0),n._removeClass(i,"ui-tabs-loading"),o.removeAttr("aria-busy"),t===n.xhr&&delete n.xhr}var n=this,i=this.tabs.eq(t),t=i.find(".ui-tabs-anchor"),o=this._getPanelForTab(i),r={tab:i,panel:o};this._isLocal(t[0])||(this.xhr=l.ajax(this._ajaxSettings(t,s,r)),this.xhr&&"canceled"!==this.xhr.statusText&&(this._addClass(i,"ui-tabs-loading"),o.attr("aria-busy","true"),this.xhr.done(function(t,e,i){setTimeout(function(){o.html(t),n._trigger("load",s,r),a(i,e)},1)}).fail(function(t,e){setTimeout(function(){a(t,e)},1)})))},_ajaxSettings:function(t,i,s){var a=this;return{url:t.attr("href").replace(/#.*$/,""),beforeSend:function(t,e){return a._trigger("beforeLoad",i,l.extend({jqXHR:t,ajaxSettings:e},s))}}},_getPanelForTab:function(t){t=l(t).attr("aria-controls");return this.element.find(this._sanitizeSelector("#"+t))}}),!1!==l.uiBackCompat&&l.widget("ui.tabs",l.ui.tabs,{_processTabs:function(){this._superApply(arguments),this._addClass(this.tabs,"ui-tab")}});l.ui.tabs}); >diff --git a/koha-tmpl/opac-tmpl/bootstrap/lib/jquery/jquery-ui-rtl-1.12.1.css b/koha-tmpl/opac-tmpl/bootstrap/lib/jquery/jquery-ui-rtl-1.12.1.css >deleted file mode 100644 >index c1854b9835..0000000000 >--- a/koha-tmpl/opac-tmpl/bootstrap/lib/jquery/jquery-ui-rtl-1.12.1.css >+++ /dev/null >@@ -1,874 +0,0 @@ >-/*! jQuery UI - v1.12.1 - 2019-08-16 >-* http://jqueryui.com >-* Includes: sortable.css, core.css, autocomplete.css, menu.css, datepicker.css, slider.css, tabs.css, tooltip.css, theme.css >-* To view and modify this theme, visit http://jqueryui.com/themeroller/?scope=&folderName=smoothness&cornerRadiusShadow=8px&offsetLeftShadow=-8px&offsetTopShadow=-8px&thicknessShadow=8px&opacityShadow=30&bgImgOpacityShadow=0&bgTextureShadow=flat&bgColorShadow=aaaaaa&opacityOverlay=30&bgImgOpacityOverlay=0&bgTextureOverlay=flat&bgColorOverlay=aaaaaa&iconColorError=cd0a0a&fcError=cd0a0a&borderColorError=cd0a0a&bgImgOpacityError=95&bgTextureError=glass&bgColorError=fef1ec&iconColorHighlight=2e83ff&fcHighlight=363636&borderColorHighlight=fcefa1&bgImgOpacityHighlight=55&bgTextureHighlight=glass&bgColorHighlight=fbf9ee&iconColorActive=454545&fcActive=212121&borderColorActive=aaaaaa&bgImgOpacityActive=65&bgTextureActive=glass&bgColorActive=ffffff&iconColorHover=454545&fcHover=212121&borderColorHover=999999&bgImgOpacityHover=75&bgTextureHover=glass&bgColorHover=dadada&iconColorDefault=888888&fcDefault=555555&borderColorDefault=d3d3d3&bgImgOpacityDefault=75&bgTextureDefault=glass&bgColorDefault=e6e6e6&iconColorContent=222222&fcContent=222222&borderColorContent=aaaaaa&bgImgOpacityContent=75&bgTextureContent=flat&bgColorContent=ffffff&iconColorHeader=222222&fcHeader=222222&borderColorHeader=aaaaaa&bgImgOpacityHeader=75&bgTextureHeader=highlight_soft&bgColorHeader=cccccc&cornerRadius=4px&fsDefault=1.1em&fwDefault=normal&ffDefault=Verdana%2CArial%2Csans-serif >-* Copyright jQuery Foundation and other contributors; Licensed MIT */ >- >-.ui-sortable-handle { >- -ms-touch-action: none; >- touch-action: none; >-} >-/* Layout helpers >-----------------------------------*/ >-.ui-helper-hidden { >- display: none; >-} >-.ui-helper-hidden-accessible { >- border: 0; >- clip: rect(0 0 0 0); >- height: 1px; >- margin: -1px; >- overflow: hidden; >- padding: 0; >- position: absolute; >- width: 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; >- border-collapse: collapse; >-} >-.ui-helper-clearfix:after { >- clear: both; >-} >-.ui-helper-zfix { >- width: 100%; >- height: 100%; >- top: 0; >- right: 0; >- position: absolute; >- opacity: 0; >- filter:Alpha(Opacity=0); /* support: IE8 */ >-} >- >-.ui-front { >- z-index: 100; >-} >- >- >-/* Interaction Cues >-----------------------------------*/ >-.ui-state-disabled { >- cursor: default !important; >- pointer-events: none; >-} >- >- >-/* Icons >-----------------------------------*/ >-.ui-icon { >- display: inline-block; >- vertical-align: middle; >- margin-top: -.25em; >- position: relative; >- text-indent: -99999px; >- overflow: hidden; >- background-repeat: no-repeat; >-} >- >-.ui-widget-icon-block { >- right: 50%; >- margin-right: -8px; >- display: block; >-} >- >-/* Misc visuals >-----------------------------------*/ >- >-/* Overlays */ >-.ui-widget-overlay { >- position: fixed; >- top: 0; >- right: 0; >- width: 100%; >- height: 100%; >-} >-.ui-autocomplete { >- position: absolute; >- top: 0; >- right: 0; >- cursor: default; >-} >-.ui-menu { >- list-style: none; >- padding: 0; >- margin: 0; >- display: block; >- outline: 0; >-} >-.ui-menu .ui-menu { >- position: absolute; >-} >-.ui-menu .ui-menu-item { >- margin: 0; >- cursor: pointer; >- /* support: IE10, see #8844 */ >- list-style-image: url("data:image/gif;base64,R0lGODlhAQABAIAAAAAAAP///yH5BAEAAAAALAAAAAABAAEAAAIBRAA7"); >-} >-.ui-menu .ui-menu-item-wrapper { >- position: relative; >- padding: 3px 1em 3px .4em; >-} >-.ui-menu .ui-menu-divider { >- margin: 5px 0; >- height: 0; >- font-size: 0; >- line-height: 0; >- border-width: 1px 0 0 0; >-} >-.ui-menu .ui-state-focus, >-.ui-menu .ui-state-active { >- margin: -1px; >-} >- >-/* icon support */ >-.ui-menu-icons { >- position: relative; >-} >-.ui-menu-icons .ui-menu-item-wrapper { >- padding-right: 2em; >-} >- >-/* left-aligned */ >-.ui-menu .ui-icon { >- position: absolute; >- top: 0; >- bottom: 0; >- right: .2em; >- margin: auto 0; >-} >- >-/* right-aligned */ >-.ui-menu .ui-menu-icon { >- right: auto; >- left: 0; >-} >-.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 { >- right: 2px; >-} >-.ui-datepicker .ui-datepicker-next { >- left: 2px; >-} >-.ui-datepicker .ui-datepicker-prev-hover { >- right: 1px; >-} >-.ui-datepicker .ui-datepicker-next-hover { >- left: 1px; >-} >-.ui-datepicker .ui-datepicker-prev span, >-.ui-datepicker .ui-datepicker-next span { >- display: block; >- position: absolute; >- right: 50%; >- margin-right: -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, >-.ui-datepicker select.ui-datepicker-year { >- width: 45%; >-} >-.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: left; >- 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: left; >- 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: right; >-} >- >-/* with multiple calendars */ >-.ui-datepicker.ui-datepicker-multi { >- width: auto; >-} >-.ui-datepicker-multi .ui-datepicker-group { >- float: right; >-} >-.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, >-.ui-datepicker-multi .ui-datepicker-group-middle .ui-datepicker-header { >- border-left-width: 0; >-} >-.ui-datepicker-multi .ui-datepicker-buttonpane { >- clear: right; >-} >-.ui-datepicker-row-break { >- clear: both; >- width: 100%; >- font-size: 0; >-} >- >-/* 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, >-.ui-datepicker-rtl .ui-datepicker-group { >- float: right; >-} >-.ui-datepicker-rtl .ui-datepicker-group-last .ui-datepicker-header, >-.ui-datepicker-rtl .ui-datepicker-group-middle .ui-datepicker-header { >- border-right-width: 0; >- border-left-width: 1px; >-} >- >-/* Icons */ >-.ui-datepicker .ui-icon { >- display: block; >- text-indent: -99999px; >- overflow: hidden; >- background-repeat: no-repeat; >- right: .5em; >- top: .3em; >-} >-.ui-slider { >- position: relative; >- text-align: right; >-} >-.ui-slider .ui-slider-handle { >- position: absolute; >- z-index: 2; >- width: 1.2em; >- height: 1.2em; >- cursor: default; >- -ms-touch-action: none; >- touch-action: none; >-} >-.ui-slider .ui-slider-range { >- position: absolute; >- z-index: 1; >- font-size: .7em; >- display: block; >- border: 0; >- background-position: 0 0; >-} >- >-/* support: IE8 - See #6727 */ >-.ui-slider.ui-state-disabled .ui-slider-handle, >-.ui-slider.ui-state-disabled .ui-slider-range { >- filter: inherit; >-} >- >-.ui-slider-horizontal { >- height: .8em; >-} >-.ui-slider-horizontal .ui-slider-handle { >- top: -.3em; >- margin-right: -.6em; >-} >-.ui-slider-horizontal .ui-slider-range { >- top: 0; >- height: 100%; >-} >-.ui-slider-horizontal .ui-slider-range-min { >- right: 0; >-} >-.ui-slider-horizontal .ui-slider-range-max { >- left: 0; >-} >- >-.ui-slider-vertical { >- width: .8em; >- height: 100px; >-} >-.ui-slider-vertical .ui-slider-handle { >- right: -.3em; >- margin-right: 0; >- margin-bottom: -.6em; >-} >-.ui-slider-vertical .ui-slider-range { >- right: 0; >- width: 100%; >-} >-.ui-slider-vertical .ui-slider-range-min { >- bottom: 0; >-} >-.ui-slider-vertical .ui-slider-range-max { >- top: 0; >-} >-.ui-tabs { >- position: relative;/* position: relative prevents IE scroll bug (element with position: relative inside container with overflow: auto appear as "fixed") */ >- padding: .2em; >-} >-.ui-tabs .ui-tabs-nav { >- margin: 0; >- padding: .2em .2em 0; >-} >-.ui-tabs .ui-tabs-nav li { >- list-style: none; >- float: right; >- position: relative; >- top: 0; >- margin: 1px .2em 0 0; >- border-bottom-width: 0; >- padding: 0; >- white-space: nowrap; >-} >-.ui-tabs .ui-tabs-nav .ui-tabs-anchor { >- float: right; >- padding: .5em 1em; >- text-decoration: none; >-} >-.ui-tabs .ui-tabs-nav li.ui-tabs-active { >- margin-bottom: -1px; >- padding-bottom: 1px; >-} >-.ui-tabs .ui-tabs-nav li.ui-tabs-active .ui-tabs-anchor, >-.ui-tabs .ui-tabs-nav li.ui-state-disabled .ui-tabs-anchor, >-.ui-tabs .ui-tabs-nav li.ui-tabs-loading .ui-tabs-anchor { >- cursor: text; >-} >-.ui-tabs-collapsible .ui-tabs-nav li.ui-tabs-active .ui-tabs-anchor { >- cursor: pointer; >-} >-.ui-tabs .ui-tabs-panel { >- display: block; >- border-width: 0; >- padding: 1em 1.4em; >- background: none; >-} >-.ui-tooltip { >- padding: 8px; >- position: absolute; >- z-index: 9999; >- max-width: 300px; >-} >-body .ui-tooltip { >- border-width: 2px; >-} >- >-/* Component containers >-----------------------------------*/ >-.ui-widget { >- font-size: 1.1em; >-} >-.ui-widget .ui-widget { >- font-size: 1em; >-} >-.ui-widget input, >-.ui-widget select, >-.ui-widget textarea, >-.ui-widget button { >- font-size: 1em; >-} >-.ui-widget.ui-widget-content { >- border: 1px solid #d3d3d3; >-} >-.ui-widget-content { >- border: 1px solid #aaaaaa; >- background: #ffffff; >- 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, >-.ui-button, >- >-/* We use html here because we need a greater specificity to make sure disabled >-works properly when clicked or hovered */ >-html .ui-button.ui-state-disabled:hover, >-html .ui-button.ui-state-disabled:active { >- 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, >-a.ui-button, >-a:link.ui-button, >-a:visited.ui-button, >-.ui-button { >- 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, >-.ui-button:hover, >-.ui-button: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, >-.ui-state-hover a:link, >-.ui-state-hover a:visited, >-.ui-state-focus a, >-.ui-state-focus a:hover, >-.ui-state-focus a:link, >-.ui-state-focus a:visited, >-a.ui-button:hover, >-a.ui-button:focus { >- color: #212121; >- text-decoration: none; >-} >- >-.ui-visual-focus { >- box-shadow: 0 0 3px 1px rgb(94, 158, 214); >-} >-.ui-state-active, >-.ui-widget-content .ui-state-active, >-.ui-widget-header .ui-state-active, >-a.ui-button:active, >-.ui-button:active, >-.ui-button.ui-state-active:hover { >- 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-icon-background, >-.ui-state-active .ui-icon-background { >- border: #aaaaaa; >- background-color: #212121; >-} >-.ui-state-active a, >-.ui-state-active a:link, >-.ui-state-active a:visited { >- color: #212121; >- text-decoration: 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-checked { >- border: 1px solid #fcefa1; >- background: #fbf9ee; >-} >-.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); /* support: IE8 */ >- font-weight: normal; >-} >-.ui-state-disabled, >-.ui-widget-content .ui-state-disabled, >-.ui-widget-header .ui-state-disabled { >- opacity: .35; >- filter:Alpha(Opacity=35); /* support: IE8 */ >- background-image: none; >-} >-.ui-state-disabled .ui-icon { >- filter:Alpha(Opacity=35); /* support: IE8 - See #6059 */ >-} >- >-/* Icons >-----------------------------------*/ >- >-/* states and images */ >-.ui-icon { >- width: 16px; >- height: 16px; >-} >-.ui-icon, >-.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-hover .ui-icon, >-.ui-state-focus .ui-icon, >-.ui-button:hover .ui-icon, >-.ui-button:focus .ui-icon { >- background-image: url("images/ui-icons_454545_256x240.png"); >-} >-.ui-state-active .ui-icon, >-.ui-button:active .ui-icon { >- background-image: url("images/ui-icons_454545_256x240.png"); >-} >-.ui-state-highlight .ui-icon, >-.ui-button .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"); >-} >-.ui-button .ui-icon { >- background-image: url("images/ui-icons_888888_256x240.png"); >-} >- >-/* positioning */ >-.ui-icon-blank { background-position: 16px 16px; } >-.ui-icon-caret-1-n { background-position: 0 0; } >-.ui-icon-caret-1-ne { background-position: -16px 0; } >-.ui-icon-caret-1-e { background-position: -32px 0; } >-.ui-icon-caret-1-se { background-position: -48px 0; } >-.ui-icon-caret-1-s { background-position: -65px 0; } >-.ui-icon-caret-1-sw { background-position: -80px 0; } >-.ui-icon-caret-1-w { background-position: -96px 0; } >-.ui-icon-caret-1-nw { background-position: -112px 0; } >-.ui-icon-caret-2-n-s { background-position: -128px 0; } >-.ui-icon-caret-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: -65px -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: -65px -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: 1px -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-on { background-position: -96px -144px; } >-.ui-icon-radio-off { 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 { >- border-top-left-radius: 4px; >-} >-.ui-corner-all, >-.ui-corner-top, >-.ui-corner-right, >-.ui-corner-tr { >- border-top-right-radius: 4px; >-} >-.ui-corner-all, >-.ui-corner-bottom, >-.ui-corner-left, >-.ui-corner-bl { >- border-bottom-left-radius: 4px; >-} >-.ui-corner-all, >-.ui-corner-bottom, >-.ui-corner-right, >-.ui-corner-br { >- border-bottom-right-radius: 4px; >-} >- >-/* Overlays */ >-.ui-widget-overlay { >- background: #aaaaaa; >- opacity: .3; >- filter: Alpha(Opacity=30); /* support: IE8 */ >-} >-.ui-widget-shadow { >- -webkit-box-shadow: -8px -8px 8px #aaaaaa; >- box-shadow: -8px -8px 8px #aaaaaa; >-} >diff --git a/koha-tmpl/opac-tmpl/bootstrap/lib/jquery/jquery-ui-rtl-1.12.1.min.css b/koha-tmpl/opac-tmpl/bootstrap/lib/jquery/jquery-ui-rtl-1.12.1.min.css >deleted file mode 100644 >index e6219789ca..0000000000 >--- a/koha-tmpl/opac-tmpl/bootstrap/lib/jquery/jquery-ui-rtl-1.12.1.min.css >+++ /dev/null >@@ -1,5 +0,0 @@ >-/*! jQuery UI - v1.12.1 - 2019-08-16 >-* http://jqueryui.com >-* Includes: sortable.css, core.css, autocomplete.css, menu.css, datepicker.css, slider.css, tabs.css, tooltip.css, theme.css >-* To view and modify this theme, visit http://jqueryui.com/themeroller/?scope=&folderName=smoothness&cornerRadiusShadow=8px&offsetLeftShadow=-8px&offsetTopShadow=-8px&thicknessShadow=8px&opacityShadow=30&bgImgOpacityShadow=0&bgTextureShadow=flat&bgColorShadow=aaaaaa&opacityOverlay=30&bgImgOpacityOverlay=0&bgTextureOverlay=flat&bgColorOverlay=aaaaaa&iconColorError=cd0a0a&fcError=cd0a0a&borderColorError=cd0a0a&bgImgOpacityError=95&bgTextureError=glass&bgColorError=fef1ec&iconColorHighlight=2e83ff&fcHighlight=363636&borderColorHighlight=fcefa1&bgImgOpacityHighlight=55&bgTextureHighlight=glass&bgColorHighlight=fbf9ee&iconColorActive=454545&fcActive=212121&borderColorActive=aaaaaa&bgImgOpacityActive=65&bgTextureActive=glass&bgColorActive=ffffff&iconColorHover=454545&fcHover=212121&borderColorHover=999999&bgImgOpacityHover=75&bgTextureHover=glass&bgColorHover=dadada&iconColorDefault=888888&fcDefault=555555&borderColorDefault=d3d3d3&bgImgOpacityDefault=75&bgTextureDefault=glass&bgColorDefault=e6e6e6&iconColorContent=222222&fcContent=222222&borderColorContent=aaaaaa&bgImgOpacityContent=75&bgTextureContent=flat&bgColorContent=ffffff&iconColorHeader=222222&fcHeader=222222&borderColorHeader=aaaaaa&bgImgOpacityHeader=75&bgTextureHeader=highlight_soft&bgColorHeader=cccccc&cornerRadius=4px&fsDefault=1.1em&fwDefault=normal&ffDefault=Verdana%2CArial%2Csans-serif >-* Copyright jQuery Foundation and other contributors; Licensed MIT */.ui-sortable-handle{-ms-touch-action:none;touch-action:none}.ui-helper-hidden{display:none}.ui-helper-hidden-accessible{border:0;clip:rect(0 0 0 0);height:1px;margin:-1px;overflow:hidden;padding:0;position:absolute;width:1px}.ui-helper-reset{margin:0;padding:0;border:0;outline:0;line-height:1.3;text-decoration:none;font-size:100%;list-style:none}.ui-helper-clearfix:after,.ui-helper-clearfix:before{content:"";display:table;border-collapse:collapse}.ui-helper-clearfix:after{clear:both}.ui-helper-zfix{width:100%;height:100%;top:0;right:0;position:absolute;opacity:0;filter:Alpha(Opacity=0)}.ui-front{z-index:100}.ui-state-disabled{cursor:default!important;pointer-events:none}.ui-icon{display:inline-block;vertical-align:middle;margin-top:-.25em;position:relative;text-indent:-99999px;overflow:hidden;background-repeat:no-repeat}.ui-widget-icon-block{right:50%;margin-right:-8px;display:block}.ui-widget-overlay{position:fixed;top:0;right:0;width:100%;height:100%}.ui-autocomplete{position:absolute;top:0;right:0;cursor:default}.ui-menu{list-style:none;padding:0;margin:0;display:block;outline:0}.ui-menu .ui-menu{position:absolute}.ui-menu .ui-menu-item{margin:0;cursor:pointer;list-style-image:url(data:image/gif;base64,R0lGODlhAQABAIAAAAAAAP///yH5BAEAAAAALAAAAAABAAEAAAIBRAA7)}.ui-menu .ui-menu-item-wrapper{position:relative;padding:3px 1em 3px .4em}.ui-menu .ui-menu-divider{margin:5px 0;height:0;font-size:0;line-height:0;border-width:1px 0 0 0}.ui-menu .ui-state-active,.ui-menu .ui-state-focus{margin:-1px}.ui-menu-icons{position:relative}.ui-menu-icons .ui-menu-item-wrapper{padding-right:2em}.ui-menu .ui-icon{position:absolute;top:0;bottom:0;right:.2em;margin:auto 0}.ui-menu .ui-menu-icon{right:auto;left:0}.ui-datepicker{width:17em;padding:.2em .2em 0;display:none}.ui-datepicker .ui-datepicker-header{position:relative;padding:.2em 0}.ui-datepicker .ui-datepicker-next,.ui-datepicker .ui-datepicker-prev{position:absolute;top:2px;width:1.8em;height:1.8em}.ui-datepicker .ui-datepicker-next-hover,.ui-datepicker .ui-datepicker-prev-hover{top:1px}.ui-datepicker .ui-datepicker-prev{right:2px}.ui-datepicker .ui-datepicker-next{left:2px}.ui-datepicker .ui-datepicker-prev-hover{right:1px}.ui-datepicker .ui-datepicker-next-hover{left:1px}.ui-datepicker .ui-datepicker-next span,.ui-datepicker .ui-datepicker-prev span{display:block;position:absolute;right:50%;margin-right:-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,.ui-datepicker select.ui-datepicker-year{width:45%}.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:700;border:0}.ui-datepicker td{border:0;padding:1px}.ui-datepicker td a,.ui-datepicker td span{display:block;padding:.2em;text-align:left;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:left;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:right}.ui-datepicker.ui-datepicker-multi{width:auto}.ui-datepicker-multi .ui-datepicker-group{float:right}.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,.ui-datepicker-multi .ui-datepicker-group-middle .ui-datepicker-header{border-left-width:0}.ui-datepicker-multi .ui-datepicker-buttonpane{clear:right}.ui-datepicker-row-break{clear:both;width:100%;font-size:0}.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,.ui-datepicker-rtl .ui-datepicker-group{float:right}.ui-datepicker-rtl .ui-datepicker-group-last .ui-datepicker-header,.ui-datepicker-rtl .ui-datepicker-group-middle .ui-datepicker-header{border-right-width:0;border-left-width:1px}.ui-datepicker .ui-icon{display:block;text-indent:-99999px;overflow:hidden;background-repeat:no-repeat;right:.5em;top:.3em}.ui-slider{position:relative;text-align:right}.ui-slider .ui-slider-handle{position:absolute;z-index:2;width:1.2em;height:1.2em;cursor:default;-ms-touch-action:none;touch-action:none}.ui-slider .ui-slider-range{position:absolute;z-index:1;font-size:.7em;display:block;border:0;background-position:0 0}.ui-slider.ui-state-disabled .ui-slider-handle,.ui-slider.ui-state-disabled .ui-slider-range{filter:inherit}.ui-slider-horizontal{height:.8em}.ui-slider-horizontal .ui-slider-handle{top:-.3em;margin-right:-.6em}.ui-slider-horizontal .ui-slider-range{top:0;height:100%}.ui-slider-horizontal .ui-slider-range-min{right:0}.ui-slider-horizontal .ui-slider-range-max{left:0}.ui-slider-vertical{width:.8em;height:100px}.ui-slider-vertical .ui-slider-handle{right:-.3em;margin-right:0;margin-bottom:-.6em}.ui-slider-vertical .ui-slider-range{right:0;width:100%}.ui-slider-vertical .ui-slider-range-min{bottom:0}.ui-slider-vertical .ui-slider-range-max{top:0}.ui-tabs{position:relative;padding:.2em}.ui-tabs .ui-tabs-nav{margin:0;padding:.2em .2em 0}.ui-tabs .ui-tabs-nav li{list-style:none;float:right;position:relative;top:0;margin:1px .2em 0 0;border-bottom-width:0;padding:0;white-space:nowrap}.ui-tabs .ui-tabs-nav .ui-tabs-anchor{float:right;padding:.5em 1em;text-decoration:none}.ui-tabs .ui-tabs-nav li.ui-tabs-active{margin-bottom:-1px;padding-bottom:1px}.ui-tabs .ui-tabs-nav li.ui-state-disabled .ui-tabs-anchor,.ui-tabs .ui-tabs-nav li.ui-tabs-active .ui-tabs-anchor,.ui-tabs .ui-tabs-nav li.ui-tabs-loading .ui-tabs-anchor{cursor:text}.ui-tabs-collapsible .ui-tabs-nav li.ui-tabs-active .ui-tabs-anchor{cursor:pointer}.ui-tabs .ui-tabs-panel{display:block;border-width:0;padding:1em 1.4em;background:0 0}.ui-tooltip{padding:8px;position:absolute;z-index:9999;max-width:300px}body .ui-tooltip{border-width:2px}.ui-widget{font-size:1.1em}.ui-widget .ui-widget{font-size:1em}.ui-widget button,.ui-widget input,.ui-widget select,.ui-widget textarea{font-size:1em}.ui-widget.ui-widget-content{border:1px solid #d3d3d3}.ui-widget-content{border:1px solid #aaa;background:#fff;color:#222}.ui-widget-content a{color:#222}.ui-widget-header{border:1px solid #aaa;background:#ccc url(images/ui-bg_highlight-soft_75_cccccc_1x100.png) 50% 50% repeat-x;color:#222;font-weight:700}.ui-widget-header a{color:#222}.ui-button,.ui-state-default,.ui-widget-content .ui-state-default,.ui-widget-header .ui-state-default,html .ui-button.ui-state-disabled:active,html .ui-button.ui-state-disabled:hover{border:1px solid #d3d3d3;background:#e6e6e6 url(images/ui-bg_glass_75_e6e6e6_1x400.png) 50% 50% repeat-x;font-weight:400;color:#555}.ui-button,.ui-state-default a,.ui-state-default a:link,.ui-state-default a:visited,a.ui-button,a:link.ui-button,a:visited.ui-button{color:#555;text-decoration:none}.ui-button:focus,.ui-button:hover,.ui-state-focus,.ui-state-hover,.ui-widget-content .ui-state-focus,.ui-widget-content .ui-state-hover,.ui-widget-header .ui-state-focus,.ui-widget-header .ui-state-hover{border:1px solid #999;background:#dadada url(images/ui-bg_glass_75_dadada_1x400.png) 50% 50% repeat-x;font-weight:400;color:#212121}.ui-state-focus a,.ui-state-focus a:hover,.ui-state-focus a:link,.ui-state-focus a:visited,.ui-state-hover a,.ui-state-hover a:hover,.ui-state-hover a:link,.ui-state-hover a:visited,a.ui-button:focus,a.ui-button:hover{color:#212121;text-decoration:none}.ui-visual-focus{box-shadow:0 0 3px 1px #5e9ed6}.ui-button.ui-state-active:hover,.ui-button:active,.ui-state-active,.ui-widget-content .ui-state-active,.ui-widget-header .ui-state-active,a.ui-button:active{border:1px solid #aaa;background:#fff url(images/ui-bg_glass_65_ffffff_1x400.png) 50% 50% repeat-x;font-weight:400;color:#212121}.ui-icon-background,.ui-state-active .ui-icon-background{border:#aaa;background-color:#212121}.ui-state-active a,.ui-state-active a:link,.ui-state-active a:visited{color:#212121;text-decoration:none}.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-checked{border:1px solid #fcefa1;background:#fbf9ee}.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:700}.ui-priority-secondary,.ui-widget-content .ui-priority-secondary,.ui-widget-header .ui-priority-secondary{opacity:.7;filter:Alpha(Opacity=70);font-weight:400}.ui-state-disabled,.ui-widget-content .ui-state-disabled,.ui-widget-header .ui-state-disabled{opacity:.35;filter:Alpha(Opacity=35);background-image:none}.ui-state-disabled .ui-icon{filter:Alpha(Opacity=35)}.ui-icon{width:16px;height:16px}.ui-icon,.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-button:focus .ui-icon,.ui-button:hover .ui-icon,.ui-state-focus .ui-icon,.ui-state-hover .ui-icon{background-image:url(images/ui-icons_454545_256x240.png)}.ui-button:active .ui-icon,.ui-state-active .ui-icon{background-image:url(images/ui-icons_454545_256x240.png)}.ui-button .ui-state-highlight.ui-icon,.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)}.ui-button .ui-icon{background-image:url(images/ui-icons_888888_256x240.png)}.ui-icon-blank{background-position:16px 16px}.ui-icon-caret-1-n{background-position:0 0}.ui-icon-caret-1-ne{background-position:-16px 0}.ui-icon-caret-1-e{background-position:-32px 0}.ui-icon-caret-1-se{background-position:-48px 0}.ui-icon-caret-1-s{background-position:-65px 0}.ui-icon-caret-1-sw{background-position:-80px 0}.ui-icon-caret-1-w{background-position:-96px 0}.ui-icon-caret-1-nw{background-position:-112px 0}.ui-icon-caret-2-n-s{background-position:-128px 0}.ui-icon-caret-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:-65px -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:-65px -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:1px -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-on{background-position:-96px -144px}.ui-icon-radio-off{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{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}.ui-corner-all,.ui-corner-left,.ui-corner-tl,.ui-corner-top{border-top-left-radius:4px}.ui-corner-all,.ui-corner-right,.ui-corner-top,.ui-corner-tr{border-top-right-radius:4px}.ui-corner-all,.ui-corner-bl,.ui-corner-bottom,.ui-corner-left{border-bottom-left-radius:4px}.ui-corner-all,.ui-corner-bottom,.ui-corner-br,.ui-corner-right{border-bottom-right-radius:4px}.ui-widget-overlay{background:#aaa;opacity:.3;filter:Alpha(Opacity=30)}.ui-widget-shadow{-webkit-box-shadow:-8px -8px 8px #aaa;box-shadow:-8px -8px 8px #aaa} >diff --git a/koha-tmpl/opac-tmpl/bootstrap/lib/jquery/jquery-ui-rtl-1.13.0.min.css b/koha-tmpl/opac-tmpl/bootstrap/lib/jquery/jquery-ui-rtl-1.13.0.min.css >new file mode 100644 >index 0000000000..b2091bed92 >--- /dev/null >+++ b/koha-tmpl/opac-tmpl/bootstrap/lib/jquery/jquery-ui-rtl-1.13.0.min.css >@@ -0,0 +1,7 @@ >+/*! jQuery UI - v1.13.1 - 2022-02-03 >+* http://jqueryui.com >+* Includes: core.css, tabs.css, tooltip.css, theme.css >+* To view and modify this theme, visit http://jqueryui.com/themeroller/?scope=&folderName=base&cornerRadiusShadow=8px&offsetLeftShadow=0px&offsetTopShadow=0px&thicknessShadow=5px&opacityShadow=30&bgImgOpacityShadow=0&bgTextureShadow=flat&bgColorShadow=666666&opacityOverlay=30&bgImgOpacityOverlay=0&bgTextureOverlay=flat&bgColorOverlay=aaaaaa&iconColorError=cc0000&fcError=5f3f3f&borderColorError=f1a899&bgTextureError=flat&bgColorError=fddfdf&iconColorHighlight=777620&fcHighlight=777620&borderColorHighlight=dad55e&bgTextureHighlight=flat&bgColorHighlight=fffa90&iconColorActive=ffffff&fcActive=ffffff&borderColorActive=003eff&bgTextureActive=flat&bgColorActive=007fff&iconColorHover=555555&fcHover=2b2b2b&borderColorHover=cccccc&bgTextureHover=flat&bgColorHover=ededed&iconColorDefault=777777&fcDefault=454545&borderColorDefault=c5c5c5&bgTextureDefault=flat&bgColorDefault=f6f6f6&iconColorContent=444444&fcContent=333333&borderColorContent=dddddd&bgTextureContent=flat&bgColorContent=ffffff&iconColorHeader=444444&fcHeader=333333&borderColorHeader=dddddd&bgTextureHeader=flat&bgColorHeader=e9e9e9&cornerRadius=3px&fwDefault=normal&fsDefault=1em&ffDefault=Arial%2CHelvetica%2Csans-serif >+* Copyright jQuery Foundation and other contributors; Licensed MIT */ >+ >+.ui-helper-hidden{display:none}.ui-helper-hidden-accessible{border:0;clip:rect(0 0 0 0);height:1px;margin:-1px;overflow:hidden;padding:0;position:absolute;width: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;border-collapse:collapse}.ui-helper-clearfix:after{clear:both}.ui-helper-zfix{width:100%;height:100%;top:0;right:0;position:absolute;opacity:0;-ms-filter:"alpha(opacity=0)"}.ui-front{z-index:100}.ui-state-disabled{cursor:default!important;pointer-events:none}.ui-icon{display:inline-block;vertical-align:middle;margin-top:-.25em;position:relative;text-indent:-99999px;overflow:hidden;background-repeat:no-repeat}.ui-widget-icon-block{right:50%;margin-right:-8px;display:block}.ui-widget-overlay{position:fixed;top:0;right:0;width:100%;height:100%}.ui-tabs{position:relative;padding:.2em}.ui-tabs .ui-tabs-nav{margin:0;padding:.2em .2em 0}.ui-tabs .ui-tabs-nav li{list-style:none;float:right;position:relative;top:0;margin:1px 0 0 .2em;border-bottom-width:0;padding:0;white-space:nowrap}.ui-tabs .ui-tabs-nav .ui-tabs-anchor{float:right;padding:.5em 1em;text-decoration:none}.ui-tabs .ui-tabs-nav li.ui-tabs-active{margin-bottom:-1px;padding-bottom:1px}.ui-tabs .ui-tabs-nav li.ui-tabs-active .ui-tabs-anchor,.ui-tabs .ui-tabs-nav li.ui-state-disabled .ui-tabs-anchor,.ui-tabs .ui-tabs-nav li.ui-tabs-loading .ui-tabs-anchor{cursor:text}.ui-tabs-collapsible .ui-tabs-nav li.ui-tabs-active .ui-tabs-anchor{cursor:pointer}.ui-tabs .ui-tabs-panel{display:block;border-width:0;padding:1em 1.4em;background:none}.ui-tooltip{padding:8px;position:absolute;z-index:9999;max-width:300px}body .ui-tooltip{border-width:2px}.ui-widget{font-family:Arial,Helvetica,sans-serif;font-size:1em}.ui-widget .ui-widget{font-size:1em}.ui-widget input,.ui-widget select,.ui-widget textarea,.ui-widget button{font-family:Arial,Helvetica,sans-serif;font-size:1em}.ui-widget.ui-widget-content{border:1px solid #c5c5c5}.ui-widget-content{border:1px solid #ddd;background:#fff;color:#333}.ui-widget-content a{color:#333}.ui-widget-header{border:1px solid #ddd;background:#e9e9e9;color:#333;font-weight:bold}.ui-widget-header a{color:#333}.ui-state-default,.ui-widget-content .ui-state-default,.ui-widget-header .ui-state-default,.ui-button,html .ui-button.ui-state-disabled:hover,html .ui-button.ui-state-disabled:active{border:1px solid #c5c5c5;background:#f6f6f6;font-weight:normal;color:#454545}.ui-state-default a,.ui-state-default a:link,.ui-state-default a:visited,a.ui-button,a:link.ui-button,a:visited.ui-button,.ui-button{color:#454545;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,.ui-button:hover,.ui-button:focus{border:1px solid #ccc;background:#ededed;font-weight:normal;color:#2b2b2b}.ui-state-hover a,.ui-state-hover a:hover,.ui-state-hover a:link,.ui-state-hover a:visited,.ui-state-focus a,.ui-state-focus a:hover,.ui-state-focus a:link,.ui-state-focus a:visited,a.ui-button:hover,a.ui-button:focus{color:#2b2b2b;text-decoration:none}.ui-visual-focus{box-shadow:0 0 3px 1px rgb(94,158,214)}.ui-state-active,.ui-widget-content .ui-state-active,.ui-widget-header .ui-state-active,a.ui-button:active,.ui-button:active,.ui-button.ui-state-active:hover{border:1px solid #003eff;background:#007fff;font-weight:normal;color:#fff}.ui-icon-background,.ui-state-active .ui-icon-background{border:#003eff;background-color:#fff}.ui-state-active a,.ui-state-active a:link,.ui-state-active a:visited{color:#fff;text-decoration:none}.ui-state-highlight,.ui-widget-content .ui-state-highlight,.ui-widget-header .ui-state-highlight{border:1px solid #dad55e;background:#fffa90;color:#777620}.ui-state-checked{border:1px solid #dad55e;background:#fffa90}.ui-state-highlight a,.ui-widget-content .ui-state-highlight a,.ui-widget-header .ui-state-highlight a{color:#777620}.ui-state-error,.ui-widget-content .ui-state-error,.ui-widget-header .ui-state-error{border:1px solid #f1a899;background:#fddfdf;color:#5f3f3f}.ui-state-error a,.ui-widget-content .ui-state-error a,.ui-widget-header .ui-state-error a{color:#5f3f3f}.ui-state-error-text,.ui-widget-content .ui-state-error-text,.ui-widget-header .ui-state-error-text{color:#5f3f3f}.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;-ms-filter:"alpha(opacity=70)";font-weight:normal}.ui-state-disabled,.ui-widget-content .ui-state-disabled,.ui-widget-header .ui-state-disabled{opacity:.35;-ms-filter:"alpha(opacity=35)";background-image:none}.ui-state-disabled .ui-icon{-ms-filter:"alpha(opacity=35)"}.ui-icon{width:16px;height:16px}.ui-icon,.ui-widget-content .ui-icon{background-image:url("images/ui-icons_444444_256x240.png")}.ui-widget-header .ui-icon{background-image:url("images/ui-icons_444444_256x240.png")}.ui-state-hover .ui-icon,.ui-state-focus .ui-icon,.ui-button:hover .ui-icon,.ui-button:focus .ui-icon{background-image:url("images/ui-icons_555555_256x240.png")}.ui-state-active .ui-icon,.ui-button:active .ui-icon{background-image:url("images/ui-icons_ffffff_256x240.png")}.ui-state-highlight .ui-icon,.ui-button .ui-state-highlight.ui-icon{background-image:url("images/ui-icons_777620_256x240.png")}.ui-state-error .ui-icon,.ui-state-error-text .ui-icon{background-image:url("images/ui-icons_cc0000_256x240.png")}.ui-button .ui-icon{background-image:url("images/ui-icons_777777_256x240.png")}.ui-icon-blank.ui-icon-blank.ui-icon-blank{background-image:none}.ui-icon-caret-1-n{background-position:100% 0}.ui-icon-caret-1-ne{background-position:-16px 0}.ui-icon-caret-1-e{background-position:-32px 0}.ui-icon-caret-1-se{background-position:-48px 0}.ui-icon-caret-1-s{background-position:-65px 0}.ui-icon-caret-1-sw{background-position:-80px 0}.ui-icon-caret-1-w{background-position:-96px 0}.ui-icon-caret-1-nw{background-position:-112px 0}.ui-icon-caret-2-n-s{background-position:-128px 0}.ui-icon-caret-2-e-w{background-position:-144px 0}.ui-icon-triangle-1-n{background-position:100% -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:-65px -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:100% -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:-65px -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:1px -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:100% -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:100% -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:100% -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:100% -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:100% -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:100% -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-on{background-position:-96px -144px}.ui-icon-radio-off{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:100% -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{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:100% -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:100% -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:100% -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:100% -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}.ui-corner-all,.ui-corner-top,.ui-corner-left,.ui-corner-tl{border-top-right-radius:3px}.ui-corner-all,.ui-corner-top,.ui-corner-right,.ui-corner-tr{border-top-left-radius:3px}.ui-corner-all,.ui-corner-bottom,.ui-corner-left,.ui-corner-bl{border-bottom-right-radius:3px}.ui-corner-all,.ui-corner-bottom,.ui-corner-right,.ui-corner-br{border-bottom-left-radius:3px}.ui-widget-overlay{background:#aaa;opacity:.3;-ms-filter:Alpha(Opacity=30)}.ui-widget-shadow{-webkit-box-shadow:0 0 5px #666;box-shadow:0 0 5px #666} >-- >2.30.2
You cannot view the attachment while viewing its details because your browser does not support IFRAMEs.
View the attachment on a separate page
.
View Attachment As Diff
View Attachment As Raw
Actions:
View
|
Diff
|
Splinter Review
Attachments on
bug 30011
:
130406
|
130407
|
130821
|
130822
|
131044
|
131045
| 132882 |
132883