From fa02287d7e08e4c0a2bc3e441ae05c7eedc44243 Mon Sep 17 00:00:00 2001 From: Brian Wood <legion.the.unforgiven@gmail.com> Date: Mon, 21 Apr 2014 16:03:04 -0600 Subject: [PATCH] You can loan a movie but not yet return it --- project/controllers/loan.py | 34 +- project/model/Loan.py | 2 +- .../ui-darkness/images/animated-overlay.gif | Bin 0 -> 1738 bytes .../images/ui-bg_flat_30_cccccc_40x100.png | Bin 0 -> 220 bytes .../images/ui-bg_flat_50_5c5c5c_40x100.png | Bin 0 -> 230 bytes .../images/ui-bg_glass_20_555555_1x400.png | Bin 0 -> 260 bytes .../images/ui-bg_glass_40_0078a3_1x400.png | Bin 0 -> 342 bytes .../images/ui-bg_glass_40_ffc73d_1x400.png | Bin 0 -> 316 bytes .../ui-bg_gloss-wave_25_333333_500x100.png | Bin 0 -> 3816 bytes .../ui-bg_highlight-soft_80_eeeeee_1x100.png | Bin 0 -> 276 bytes .../ui-bg_inset-soft_25_000000_1x100.png | Bin 0 -> 275 bytes .../ui-bg_inset-soft_30_f58400_1x100.png | Bin 0 -> 340 bytes .../images/ui-icons_222222_256x240.png | Bin 0 -> 6922 bytes .../images/ui-icons_4b8e0b_256x240.png | Bin 0 -> 4549 bytes .../images/ui-icons_a83300_256x240.png | Bin 0 -> 4549 bytes .../images/ui-icons_cccccc_256x240.png | Bin 0 -> 6975 bytes .../images/ui-icons_ffffff_256x240.png | Bin 0 -> 6299 bytes .../ui-darkness/jquery-ui-1.10.4.custom.css | 650 ++++++++++++++++++ .../jquery-ui-1.10.4.custom.min.css | 7 + .../static/lib/jquery-ui-1.10.4.custom.min.js | 7 + project/templates/index.html | 2 + project/templates/library/library.html | 25 +- .../templates/library/loanMovie_modal.html | 51 ++ project/templates/library/master.html | 2 +- project/templates/modal_base.html | 13 +- 25 files changed, 782 insertions(+), 11 deletions(-) create mode 100755 project/static/css/ui-darkness/images/animated-overlay.gif create mode 100755 project/static/css/ui-darkness/images/ui-bg_flat_30_cccccc_40x100.png create mode 100755 project/static/css/ui-darkness/images/ui-bg_flat_50_5c5c5c_40x100.png create mode 100755 project/static/css/ui-darkness/images/ui-bg_glass_20_555555_1x400.png create mode 100755 project/static/css/ui-darkness/images/ui-bg_glass_40_0078a3_1x400.png create mode 100755 project/static/css/ui-darkness/images/ui-bg_glass_40_ffc73d_1x400.png create mode 100755 project/static/css/ui-darkness/images/ui-bg_gloss-wave_25_333333_500x100.png create mode 100755 project/static/css/ui-darkness/images/ui-bg_highlight-soft_80_eeeeee_1x100.png create mode 100755 project/static/css/ui-darkness/images/ui-bg_inset-soft_25_000000_1x100.png create mode 100755 project/static/css/ui-darkness/images/ui-bg_inset-soft_30_f58400_1x100.png create mode 100755 project/static/css/ui-darkness/images/ui-icons_222222_256x240.png create mode 100755 project/static/css/ui-darkness/images/ui-icons_4b8e0b_256x240.png create mode 100755 project/static/css/ui-darkness/images/ui-icons_a83300_256x240.png create mode 100755 project/static/css/ui-darkness/images/ui-icons_cccccc_256x240.png create mode 100755 project/static/css/ui-darkness/images/ui-icons_ffffff_256x240.png create mode 100755 project/static/css/ui-darkness/jquery-ui-1.10.4.custom.css create mode 100755 project/static/css/ui-darkness/jquery-ui-1.10.4.custom.min.css create mode 100755 project/static/lib/jquery-ui-1.10.4.custom.min.js create mode 100644 project/templates/library/loanMovie_modal.html diff --git a/project/controllers/loan.py b/project/controllers/loan.py index 5b9c0ed..7b8c8ac 100644 --- a/project/controllers/loan.py +++ b/project/controllers/loan.py @@ -1,6 +1,6 @@ # -*- coding: utf-8 -*- from project import app, security -from flask import render_template, request +from flask import render_template, request, jsonify from flask.ext.wtf import Form, TextField, validators @app.route('/loaned') @@ -40,4 +40,34 @@ def reminderEmail(user=None): server.login(login,password) problems = server.sendmail(from_addr, to_addr, message) server.quit() - return jsonify(response='success',type="reload") \ No newline at end of file + return jsonify(response='success',type="reload") + +@app.route('/loan-movie', methods=['POST']) +@security('user') +def createLoan(user=None): + import smtplib + from datetime import datetime + borrower = request.form['email'] + return_date = request.form['date'] or None + movie_id = request.form['movie'] + if return_date: + return_date = datetime.strptime(return_date, '%m/%d/%Y') + + if not movie_id: + return jsonify(response='error',message='Invalid Movie given'),404 + from project.model.Movie import Movie + movie = Movie.objects(id=movie_id).first() + if not movie: + return jsonify(response='error',message='Invalid Movie given'),404 + + from project.model.Loan import Loan + loan = Loan.objects(user=user,movie=movie).first() + if loan: + return jsonify(response='error',message='A loan already exists for this movie'),404 + + loan = Loan.create(user,movie,borrower,return_date) + from project.model.Library import Library + borrowed_lib = Library.objects(user=user,unit="Movie",name="Borrowed").first() + borrowed_lib.addUnit(movie) + + return jsonify(response='success',type="reload") \ No newline at end of file diff --git a/project/model/Loan.py b/project/model/Loan.py index 7247cad..ee7eabc 100644 --- a/project/model/Loan.py +++ b/project/model/Loan.py @@ -12,7 +12,7 @@ class Loan(db.Document): @staticmethod def create(user,movie,email,expected_return_date=None): - info = Loan(user=user,movie=movie,email=email) + info = Loan(user=user,movie=movie,borrower_email=email) if expected_return_date: info.expected_return_date = expected_return_date else: diff --git a/project/static/css/ui-darkness/images/animated-overlay.gif b/project/static/css/ui-darkness/images/animated-overlay.gif new file mode 100755 index 0000000000000000000000000000000000000000..d441f75ebfbdf26a265dfccd670120d25c0a341c GIT binary patch literal 1738 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 ILl_vW0W4M_7XSbN literal 0 HcmV?d00001 diff --git a/project/static/css/ui-darkness/images/ui-bg_flat_30_cccccc_40x100.png b/project/static/css/ui-darkness/images/ui-bg_flat_30_cccccc_40x100.png new file mode 100755 index 0000000000000000000000000000000000000000..b22fa62b835698d9770d2f0c89cf3966f163cc96 GIT binary patch literal 220 zcmeAS@N?(olHy`uVBq!ia0y~yV9;P-U`SzMU|?Vn`F~(J0|Nt7lDE4H1HYA#-C_m? z2F?PH$YKTt1`jZHJDF|Az`!8q>EamTaXi_gnbn|&s}BV(Vq!=+WhMQ?USbgg1A}Ub zYeY#(Vo9o1a#3nxNh*VpfuV`6fr+k>L5QKHm8q$fp{1^Yxs`!I%N6I@C>nC}Q!>*k VaclV6`CA?2Y)@A|mvv4FO#p>xHpu`0 literal 0 HcmV?d00001 diff --git a/project/static/css/ui-darkness/images/ui-bg_flat_50_5c5c5c_40x100.png b/project/static/css/ui-darkness/images/ui-bg_flat_50_5c5c5c_40x100.png new file mode 100755 index 0000000000000000000000000000000000000000..5fb0ca98c2cae886535599a20230a865b6848256 GIT binary patch literal 230 zcmeAS@N?(olHy`uVBq!ia0y~yV9;P-U`XL$U|?Xl$gjJMfq{W3$=lt9;eUJonf(k5 z44efXk;M!Q3?5+Yb~4)zq{q|6F(l&f+f#<T3=BNX3%J(S%WmCJ&Ut5vyP#{J2o!xR zmU%mS?iu^Y*_{jw45}rr5hW>!C8<`)MX8A;sSHL2h9<fOCb~ujA%>P#rlwYgmbwP! lRt5$wSDa^~Xvob^$xN%nt>J6uZ*`CdJYD@<);T3K0RU;xK3f0) literal 0 HcmV?d00001 diff --git a/project/static/css/ui-darkness/images/ui-bg_glass_20_555555_1x400.png b/project/static/css/ui-darkness/images/ui-bg_glass_20_555555_1x400.png new file mode 100755 index 0000000000000000000000000000000000000000..152d6a3cebc18295055d5d06965e5d4bcc31235e GIT binary patch literal 260 zcmeAS@N?(olHy`uVBq!ia0y~yU|?imV4NVpz`(#DwYbxTfq{W3$=luK|9_FyhG!WV z7&r?&B8wRq7(Bq(?PRtc0|SGbr;B5V#pz^^Uxy94+yt)%W@tFSux%?)Z0qo8JK@fA zky|1uS@Kb?q)@8Fq&&kVKItCDX&&*1Cwy#BES7bC)*5Ki)#1pH{EAU%r;V^F0|SF< ziEBhjN@7W>RdP{kVo554k%6I!u7QcJkwJ)|rIo3vm7#^Mfw`4|fzo0ReH0D3`6-!c WmAEwo|NAf*<ULPUKbLh*2~7Yfrb&+g literal 0 HcmV?d00001 diff --git a/project/static/css/ui-darkness/images/ui-bg_glass_40_0078a3_1x400.png b/project/static/css/ui-darkness/images/ui-bg_glass_40_0078a3_1x400.png new file mode 100755 index 0000000000000000000000000000000000000000..4c75be471d0c90ff05ed9ee1a1377208f050d960 GIT binary patch literal 342 zcmeAS@N?(olHy`uVBq!ia0y~yU|?imV4NVp#K6F?VU^=~1_lPUByV?@|6srw@%;`1 z0|RG)M`SSr1A_+`yPeFoV_;yI;_2cT;&J@#c|$(NK#|sm)&GCr6IdOP$bN=xiV&~$ z1cRle0h(%pGi_glrm<=TYAl=Mw|IuvL9v!cVeuc;)h&%G@_ru|RZ>#wdu(y;`p&Xf zFO^-tS6!BU=&)AUX~F7jr(->HW<+_q8f`Kb-MFF6%rlW!H_6M>_0N{>+%GO?W=u|g zZy5b5;{6GywoAYJFZVsR*#DUI;ts`Edo|LN85kH;OI#yLQW8s2t&)pU6H8JVj0_A- zbPY^&jSNBzEv-yVtqd)74a}_!3|g)@&qmRZo1c=IR*74~*UsPS3=9kmp00i_>zopr E029G_{Qv*} literal 0 HcmV?d00001 diff --git a/project/static/css/ui-darkness/images/ui-bg_glass_40_ffc73d_1x400.png b/project/static/css/ui-darkness/images/ui-bg_glass_40_ffc73d_1x400.png new file mode 100755 index 0000000000000000000000000000000000000000..2423c07962316df630bf3b97ec8fc74850d89fe1 GIT binary patch literal 316 zcmeAS@N?(olHy`uVBq!ia0y~yU|?imV4NVp#K6F?VU^=~1_lPUByV?@|6srw@%;`1 z0|RG)M`SSr1A_+`yPeFoV_;yY@^o<w@i_kW{6fJ)4ic;nYv1#6_wg-YPg`_wDTCUL zE0dx!m_*drSgkUd{8$h3$O?R3?Y|~!*~_}@C}sx%7RL|laZ>ZxWVae$SiagZIZ7%d zDEWe#c=Pt15+P6bI$nMBA^X?1P%G&#=hU04;(1>EG1#zd-d{70ri3&*p4*ah`yC|@ zF)%QwmbgZgq$HN4S|t~yCYGc!7#SFv=o*;l8X1HbT3VT!S{YjC8kk!d7$`0F&_~gb do1c=IR*73f@V^g}85kHCJYD@<);T3K0RUDKXX*d| literal 0 HcmV?d00001 diff --git a/project/static/css/ui-darkness/images/ui-bg_gloss-wave_25_333333_500x100.png b/project/static/css/ui-darkness/images/ui-bg_gloss-wave_25_333333_500x100.png new file mode 100755 index 0000000000000000000000000000000000000000..997e311a7166cbf111222b853292e86c49c67cab GIT binary patch literal 3816 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 literal 0 HcmV?d00001 diff --git a/project/static/css/ui-darkness/images/ui-bg_highlight-soft_80_eeeeee_1x100.png b/project/static/css/ui-darkness/images/ui-bg_highlight-soft_80_eeeeee_1x100.png new file mode 100755 index 0000000000000000000000000000000000000000..625abae16a367a4c68a498482936579706d21647 GIT binary patch literal 276 zcmeAS@N?(olHy`uVBq!ia0y~yU|?imU`P>QU|?V{x_<LN0|Nt7lDE6d|NkPZ4bL(# zFmM)lL>4nJFnEBm+sSM@1_p*OPZ!4!iOWY1t(9~L5NUXr&*~}gCV{Cji>qv*)+*MV zg<53+?|1Hh9v1z<PJidK#jI5ejc-k~$y7BxGTTCE$_4?gKaKf?>UoFK-n6})$bNGo zqo(1r<N995roN2z_0nQsU{Eb_jVMV;EJ?LWE=o--No6oHFf`FMFwr$K2r;y@GBvd_ pwA3{)w=ytjx#Bz<MMG|WN@iLmZVg{Mf2)JM>*?y}vd$@?2>@RfSB?Mx literal 0 HcmV?d00001 diff --git a/project/static/css/ui-darkness/images/ui-bg_inset-soft_25_000000_1x100.png b/project/static/css/ui-darkness/images/ui-bg_inset-soft_25_000000_1x100.png new file mode 100755 index 0000000000000000000000000000000000000000..02524f961f432491ccd57e2fe60058ac2cc699d8 GIT binary patch literal 275 zcmeAS@N?(olHy`uVBq!ia0y~yU|?imU`P>QU|?V{x_<LN0|Nt7lDE6d|NkPZ4bL(# zFmM)lL>4nJFnEBm+sSM@1_p*uPZ!4!iOb0e5)lOx8b1m!Z#HK3)@Gh9&HS5_?VKOm zyF9kIc(#9>JWaxqE$YS{e#rv!4=PwrcC0dM&e3V!W7B-dnQf^G+tZ^wTK<w(u1H+D z^rD#|KT}ccNY-o>1_lPz64!{5l*E!$tK_28#FA77BLhPdT>}$cBZCk_ODj`TD?@W# n19K|_gDbBsj-hDC%}>cptHiBg>9&R{kZ(O*{an^LB{Ts5WN1(4 literal 0 HcmV?d00001 diff --git a/project/static/css/ui-darkness/images/ui-bg_inset-soft_30_f58400_1x100.png b/project/static/css/ui-darkness/images/ui-bg_inset-soft_30_f58400_1x100.png new file mode 100755 index 0000000000000000000000000000000000000000..4063d6e743deef62e9b8515b4b54f129e56c5456 GIT binary patch literal 340 zcmeAS@N?(olHy`uVBq!ia0y~yU|?imU`P>QVqjpHaZj*>fq{W7$=luKKNxUEe80oM zz`$AH5n0T@z~BMKZYQ(t7#J8PdAc};Xq<mLVI$|E00x)$_pUn$C^dRGU5ZlKo7|E8 z!#do+qG@wP3Wu!XQsE`rJC2+RlU{wi@Q&=9wud#-CM>bHOJ2BGuHq$k^psuSc~#$K zT)b7RHD%ZHHly<^0^YS*tP+}fuU%U!rrn~_(p2zy-XX@P>pE8y2tT^=sVn_`tF_mi zpDjYATQW>nE$A)ZU-xo%1=H(&5;6?(Kg}2z7*tDKBT7;dOH!?pi&7IyQW=a43{7+m zOmvM5LJTdfOiir}&2<gTtqcsVytX)oq9HdwB{QuOw}z$L8mbr=7#KWV{an^LB{Ts5 D-4=WQ literal 0 HcmV?d00001 diff --git a/project/static/css/ui-darkness/images/ui-icons_222222_256x240.png b/project/static/css/ui-darkness/images/ui-icons_222222_256x240.png new file mode 100755 index 0000000000000000000000000000000000000000..c1cb1170c8b3795835b8831ab81fa9ae63b606b1 GIT binary patch literal 6922 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 BB7*<` literal 0 HcmV?d00001 diff --git a/project/static/css/ui-darkness/images/ui-icons_4b8e0b_256x240.png b/project/static/css/ui-darkness/images/ui-icons_4b8e0b_256x240.png new file mode 100755 index 0000000000000000000000000000000000000000..232832a5aa0a7883c1e0acacfec59e2d1c2088d4 GIT binary patch literal 4549 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 G2~7aJHYxG| literal 0 HcmV?d00001 diff --git a/project/static/css/ui-darkness/images/ui-icons_a83300_256x240.png b/project/static/css/ui-darkness/images/ui-icons_a83300_256x240.png new file mode 100755 index 0000000000000000000000000000000000000000..bb22520bbb2a0f465c780e096552d6d8df8e51bd GIT binary patch literal 4549 zcmeAS@N?(olHy`uVBq!ia0y~yU}RumVEDkn%)r2K!_(_00|O&pfKQ0)3S)**1P_6* z<R_097#Jc;g8YIRBn6CFI0E)J&D2*4Ep$jrkP<dJ!>ec`=H%h6AQz>qZWyf7YSP|t zIP1juV-~J5dv@%rS-o{>&#Dz`<u_^mWt<nN@}7&0iMfAK(iE=+>vQkVaZk3-ub-Il z(;@C70|NtNlDE4HLkFv@2Ll5GXMsm#F#`hwi0#4Pb~4+Jfq_58)5S5Q;?~<(?&RCs z1ldk{ta>?PQtVD|;pH2zrJQ@FdUN&bUF&*p<>c;K@=~Zg_Wl3=6B%nB7PPlVoD#`> zJX!ZOhroean}%`*4Q@d}K|>~$32%0BT3?fQJLmBJnd*b<_6K=ZoH;Dyq$42W!<13o zQ!;hd17(IaOdmoV>9pWeHtjvSj4U?VsqkUO~BG-Z|}rnUfhM6W(rL{lN1%57(sI z@w;@3AD!J2YQX)>cZv9n=#KAP#oQlE5-PYiOg=R0g>u7O-ZL&XONE7H>UeH6^n35+ zzMyCFCpO{vj+cD_E?{t^qwwXt2Yr7Rw76zF%>CXn&vCOfW8ERG4`<moa4JUrS}-L- z>HtTAWJZ~Bj86pX6bAp2m0t2j5=n2jZ@)1)XJ(+M&GPO8A_`Mjc+6xE=tkVgxz=&b zYzDu_nM*acS=Yr9Tpwi?{{P8v&$-Nst)=kpdnQ3B*zIh8-2TNZw$txrE57J3{3y~Y zIdOM)ZH+ZUcEAFY5AqLRO-y+ZdFJxLscGvE+-C4zwZAT!)2=DPO1mfXz-s169DPUH z0>k7i8Dl!7ube-e${~0_z2U%m#~&sBV!;Qk%x7*k+I*R5@1Mxx3f~jA8(YpgaXg-O z`LCMPx`o|U2kr81I<x%y;?Vh|$l*g1ixxxT+RJlyz21F5b-w&QUpH{rxZDZ(a(~*b z%V#}wc3-^fdh5@H2SK3=e&zArSiw|pbN*VGF0aE&CVju$2Uk~~dG~;2&FSBJCa&=) z|2yr+G_42P(rd&;KPrFtq>{fjb#wJ2RfP@aF%f6a9B-Ju|A^6D;Td%Xhi<CL<ne9T zTAbvlBeTur@tcXf8y%V7tPE@OeEFrOn|FtQI?D#J56@=4+|u33xxxHEC8xPp8sp~K z46kol#V;(6W4OlZA<kLGSgr3r$5P_(y|auq{YMY9L^dR7e_>=gq2Lj8bA!mNgA2b# zubXIp^Bxy_<7}4qjNA`q9=Da>@cMbO5*WDkp5EJC?A~glm2H{4yU%rp#fxcs7ymoZ z|KP>>Dz>!T#b1jS8J^|wo4EGP5Al7wm~Z42UM^pAP0iN7ojs=3n=OHhTlv=)A*OFe zzl9#u?c441sm8t`*Y0r4`n0!SS=rC-d|*}kn#JVdvhIc>LVTZ>RX@_4mlr*kZ4%eN zGaFpFguJ;UcW~cuIe5EWcj-k=!T0k-wHdc~=h*JK+&pWRPr}8SKWp}@&gIya*Uy>w zhlPVv@Sgm$9=>kBlfuf4FHE;^YMA_gFyDSx+m3g?TtN{RlfNYVk6T)y^?~g%u6rNG zFZw@Y8q=E7I?KLKWeaCkRBf$tRdm}bacG+!x5#>p&|r^1gOp?CnjvBfK6AeovQRG2 zxyx4Z#cBI>@4vk-&L}Ww3H4M=>x#I~a?G_M_2*pSDMB-a8vb*6ziI1J%@vpS7Qb<T zDWb0UxSQ*Q!%Q#gTHD@Td~v=cC7I!5;@pLvTc=(yJg~_z&E(no+bJGD`jbz%{|w&k zl<;$j!GrSDvV?}q7vCyftX{x>l7sU_x85&zkQeUgq@40UVRpVgTd6R6#Wmm5$7#Xw zeczepNxunQH_7{Gk6L=2U0$b*g7|h1#uq)cn(w&VeT0v`m3q?RrfQ+lrCIdt)Oj|= zrO_tOch8qD49wnP@Fh3eCw1GVt?|pv*Uo!lFw?=#P)Z@f!14R7sMc2p?t~>vFA;T} z7^cv2hKEUjd4W&KqU<}y91~pSy|%0~F%f$Z^?qH~Wmdn0qLMFm2~5*YFa6KS)5s~n z$n=eu$#G>LpNEr>kH=Mq$sdwgr?VaqxgZ}}Xv@Zswcz5T$Dh6=`yRN+{(HX>$ByFX ze7EJ^Pdmxz)o|&*vrj{2kiu7Xzre0#e;@QUU1s8&`pUre%4dei%>TNKt7=S+hKVlc zo)Y`uUF;p!X-;uWKkv<(Fm-*rN5iH6-}ds~Wl?$3U^7Xjos%o^!ILLPY}pPhOmTSC z%##dOM1K(HWwZtefN;s-0FSo%AxUa<HvRJ%9}FxegYEd2Rs?$5X#91BDbH4Cjc zbop}d1+`N;3f6P{p3Z*9wDgVIgDp<A3MU^n+r&He%@=fv^^p5f`t#5)KMh7<Ck6>I zgX_PlIWoF`?_e?9>FLd|wc*VMm*UPDJXt++n=Yz<-m{nciSOT?mzgXW7wR=!UTwG` z!+1MON?L7h;Z%8s_nhn<tSx!Xq1Dfx$@nbGzk5KGkEe<|#@60}Q$teY$hQfp-9oZ8 zw#OE}+|{z#d41;6ziVH~g9=W=BAc2Q{{9E8*YhUa{^c>@Wx@Br%Gp&{I!ZU(J$B=B z)V%G_!`7YrcWjfue#N(%d%l}W=E_cX{<N+4>v^NI2Yf0grvDUSwcd2{^WJL{HwR68 z`M5tTd{3goyfqGCvwY60g|B;Xtf<sBikIu@nWb;{+J@da_tCVL=fjK_>t&V-uigLY z?Clrk8?BQx=Ct2Gb)7LUKy7_-+b8MlW|M6K`-PuB`fjoB?9vI+n+%>lK4~~9^tU*7 zIP=1?Z`nHyEm8_MZR`%&-FLOeRXVni$-{!@(aFEd&%e9te%Wp2miIi{k9!}Gf6)Kw ztNNM+MSnYcn)xNA{fl1x-d6PX%<^x)<jj<$*wYF&OppmV6la{g`MJ^pIo1iRG6&{A zT$nfEioEa5R^12skAy#l+b%8f(s?i?;(+GHhE~Dq6LJB(LAf>FuYPZtWS1))!S>mr zjKP#G<L@CBo1OnJGXLE4I==eVj0TZYk;~owN!O^w*SlM*_1MLodM_-wbo$@$M~%%5 zYP-C9*#v(JN<7oxpS;q-@R6&NgPVlfukF@KK1>t-{8TSbEC2V=Raf5Z=-YfX{WGi8 zBg9vv>e$t-NlpFzwr2TM2FC^8IF=r=)#OZ>^gHlwLalf}bWh7_?-lR-x;~$7dU2ll zhsbOFd3BoY`+rXNk7i2w?{E9u*!6jifT?=qO%?l(%rCZ>Pt3i~@OZL#NPU&G$kk<f zb7R(V+|j%Bxp8WOf_S)qYdgdJ4~^gwy{tiV-i)wyGIKWBod0^<`(9Lpo@>SXx(mx$ zHP<}-Ep>m^d4`>{<PU|%*ZwuFX`EHO;ETSZ{hD_NC#x6aUtKc!uh`iVXXE=9PJMBZ z-V?ZAv;AhtuR{q3{y$Ap)Jci7>@ssS+OX{2kIrv<{;m9=|F&!0@=Xn_+<CW3HidZG zT{*b=oO0}OA2#c%!VO**4o)rVx&GnMrs!|tLJMMaOWH2&{bS1OApGI%_Ve@WfA{8{ z4{_LdK-+o>L-J{kDU$;;4m)eDTG<uy`_{}^{f;a)!P%ud4sA`k>&n2ZzjK$$-l)5m z#kT6DuC32{)_&>Q_uH4_Pc4xw3Qu%0OPTR}`s)Q6%qtEAA1h{xK2X#5ef9IzQ@Qj_ z8H4H@mmSb}Y!b1d`^b^o-^|S#zN}xDV9Zv-_FL$~rn3Pe$9@*PQGei3XA@-ayUA#S z<{SlXg^RB@r?;OEE4U{1!)a^YHe03@tTo}M&aR1ByFbhze!7LB|MixW-c>a<IRXLk zH(#CaJo5Zgdrn1!_3?(QUZo5+9Q$VYrAN!KoRs(wYs+?pN8>NIvP|sCZ}VPUzRq6I zCK13YyD)M6%srW3e*bv<t6id_m}f@X>Z@E~GZ?F+?|h4WuyNLmt8W)Byj^8?T{x_W zWs3dEG=?7gv&a8FW7x|(O)T(`A=`lvM&X3rZM7T<9;dVa@A$~9Q_XT#Ff8hHcS!G) z^Ruti+k2i_Un=-?MWFX&AK#a$XWM$;)g5?O_~q4AK_PMWuGL>EPfO$)+_sby6coJ3 z9lXc-*Vpe^9Y6nlT_<g-aF1b6W~=<H!0+v`=Gg{!LSNlm+j{+~toz<<>4-x@^FPRU z8!K<y{y8V|)BZQ{7nW5lW?FHK<z5!ky=|5qw-Y`qbNO;cS1n*)!Q)-(A76EPzssGq zBKx|vmak*a_V?l!xuwA*Z9er+-luahb5pPKdN#-~hH(5nw&G6CVHy3N&|j~g9zAsB z{<hNciFzCA-aol*t$etsokisASG_wdB1=v)&slE4`#N7)!PIBjoeVp}Lz&GDJkw4; zEtt11?1nFcJ^M@jQggPW_rwg|C`3p(e7)ea^02n=0qrR(KZrM6uI^_%?3P_}p?cNP z<rc!0odyXXF8|h3IMU$!AV@oA>w`st`WyO6cn$<@{CoGgHSe|hkjtAsd^#SxEzxJQ zD5xYB6rA3}RP!j6Iqk^An=d#!?QYy&{Hxi0PYqK;K!QNPvZWTzhTd0aPjqZO(`&Qd zXy@VEO+U`Ddbbs|<~T6<aQQH;+OqBJ)29<(UF2b7w3sXG(Clg_nUHr(wuNDj<P4zz zzxpe^I{(iU%zn)?qhY4&@(st@cAWh$zd?|ZIqHBL3r`N?;XXzYYk6k2ecT^@_Q~F7 zb!)i$ixKQJbLoH2Ppq@P^q=d;%i=BN!Bv{+<}a#?t`;x(5ZpK~{Y3ZlY3v$O_gm`z zJBC-5L>&IF!pQX2FKo>j3Fa>+gZ9SnpKW8dq(JY8f2+lD|LFDpDK6P|@vB8=%J@I= z-(4%+clPfaFSg)$E3T(3d6ygZezyJPaE<teTe<ZQ6c+r++VW(>&pKNV1<xyuZgwI1 zfB#l%#maf|xqCTeG73Ha(Y3lTG53w18%s^#Ler0ZpI#Vfzi;H;^4yheaj?ZqD~=sy z%?W%3b!C0+f3vKd+Lvs2`oF-^>`DHUua(8B^Jn#UbaZsQ;QdwO;IVA>ie0B-U%%FF zcbL!5ak4}@HhgDxZSB(sU)#mjn@@b{c4}SG^<TeEIbL|qeD4*L)K90MZQ@&Fa+m5} zj^An&5NUDw{;MzB&;4SpxO}zGZ<1cdZ`Qhd2iY%(I%u1>c2t@Ec*L}xul>{Kl4<e! z6K`Mo_-f`~eTlb%_W%EEHn<&ZH*t?9<1zN`HC69fGY#?tPV3Kb`uC@$A)(sk^Xm!W zQ~%voPH5cMe9o!iZN7MG)7NO7Bk7E<Zo7qDXly7D54gYY>d_<4u`Et3RlBDs{9LIc z8L{<e^Mdp25o}x21g<no$S!F(_0I9CmB*!DFBP(vng7|5a+N*GvSVR>a&7+N*rx_< zWhuX`g20T_-@7iwJ_UtLM+XOg*71jzo?LAH^Z&qx8eUEYd&Z~S+8TdYIDYx_AMbso z&3RB+xM@LU@yRFm@At}HWXk&^QE(aFF}v+nRBF@sK+ogEuKW_;6aU$zjD-X<UbC@W zcwIa7%l$UifZFv_{w-sja{Kn_>CFvgZ_i%2{vcp(ZSL`gHH|Cn_dS~WFZ?*$uPBG9 z|6jejf1PRFo`1FPnfU&$e=8x-aP9xA8x9wkb~(Jf`^U|tN9I5KmIGb0nsRnaFfcHv zmbgZgq$HN4S|t~yCYGc!7#SEE>lzs88W@Hcm|7VdTNxVY8dz8v7-%LOn1rGsH$Npa ztrE9}2-^xh1_lO6kPX54X(i=}MX3yqDfvmM3ZA)%>8U}fi7AzZCsS=eqconbelF{r G5}E)eswYVR literal 0 HcmV?d00001 diff --git a/project/static/css/ui-darkness/images/ui-icons_cccccc_256x240.png b/project/static/css/ui-darkness/images/ui-icons_cccccc_256x240.png new file mode 100755 index 0000000000000000000000000000000000000000..4185f972f582f949e023162978c0148e84158572 GIT binary patch literal 6975 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 literal 0 HcmV?d00001 diff --git a/project/static/css/ui-darkness/images/ui-icons_ffffff_256x240.png b/project/static/css/ui-darkness/images/ui-icons_ffffff_256x240.png new file mode 100755 index 0000000000000000000000000000000000000000..4f624bb2b193750f1a5b36c8c307168c6681a861 GIT binary patch literal 6299 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 literal 0 HcmV?d00001 diff --git a/project/static/css/ui-darkness/jquery-ui-1.10.4.custom.css b/project/static/css/ui-darkness/jquery-ui-1.10.4.custom.css new file mode 100755 index 0000000..7b951ab --- /dev/null +++ b/project/static/css/ui-darkness/jquery-ui-1.10.4.custom.css @@ -0,0 +1,650 @@ +/*! jQuery UI - v1.10.4 - 2014-04-21 +* http://jqueryui.com +* Includes: jquery.ui.core.css, jquery.ui.datepicker.css, jquery.ui.theme.css +* To view and modify this theme, visit http://jqueryui.com/themeroller/?ffDefault=Segoe%20UI%2CArial%2Csans-serif&fwDefault=bold&fsDefault=1.1em&cornerRadius=6px&bgColorHeader=333333&bgTextureHeader=gloss_wave&bgImgOpacityHeader=25&borderColorHeader=333333&fcHeader=ffffff&iconColorHeader=ffffff&bgColorContent=000000&bgTextureContent=inset_soft&bgImgOpacityContent=25&borderColorContent=666666&fcContent=ffffff&iconColorContent=cccccc&bgColorDefault=555555&bgTextureDefault=glass&bgImgOpacityDefault=20&borderColorDefault=666666&fcDefault=eeeeee&iconColorDefault=cccccc&bgColorHover=0078a3&bgTextureHover=glass&bgImgOpacityHover=40&borderColorHover=59b4d4&fcHover=ffffff&iconColorHover=ffffff&bgColorActive=f58400&bgTextureActive=inset_soft&bgImgOpacityActive=30&borderColorActive=ffaf0f&fcActive=ffffff&iconColorActive=222222&bgColorHighlight=eeeeee&bgTextureHighlight=highlight_soft&bgImgOpacityHighlight=80&borderColorHighlight=cccccc&fcHighlight=2e7db2&iconColorHighlight=4b8e0b&bgColorError=ffc73d&bgTextureError=glass&bgImgOpacityError=40&borderColorError=ffb73d&fcError=111111&iconColorError=a83300&bgColorOverlay=5c5c5c&bgTextureOverlay=flat&bgImgOpacityOverlay=50&opacityOverlay=80&bgColorShadow=cccccc&bgTextureShadow=flat&bgImgOpacityShadow=30&opacityShadow=60&thicknessShadow=7px&offsetTopShadow=-7px&offsetLeftShadow=-7px&cornerRadiusShadow=8px +* Copyright 2014 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); +} + +.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-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; +} + +/* 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; +} + +/* Component containers +----------------------------------*/ +.ui-widget { + font-family: Segoe UI,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: Segoe UI,Arial,sans-serif; + font-size: 1em; +} +.ui-widget-content { + border: 1px solid #666666; + background: #000000 url("images/ui-bg_inset-soft_25_000000_1x100.png") 50% bottom repeat-x; + color: #ffffff; +} +.ui-widget-content a { + color: #ffffff; +} +.ui-widget-header { + border: 1px solid #333333; + background: #333333 url("images/ui-bg_gloss-wave_25_333333_500x100.png") 50% 50% repeat-x; + color: #ffffff; + font-weight: bold; +} +.ui-widget-header a { + color: #ffffff; +} + +/* Interaction states +----------------------------------*/ +.ui-state-default, +.ui-widget-content .ui-state-default, +.ui-widget-header .ui-state-default { + border: 1px solid #666666; + background: #555555 url("images/ui-bg_glass_20_555555_1x400.png") 50% 50% repeat-x; + font-weight: bold; + color: #eeeeee; +} +.ui-state-default a, +.ui-state-default a:link, +.ui-state-default a:visited { + color: #eeeeee; + 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 #59b4d4; + background: #0078a3 url("images/ui-bg_glass_40_0078a3_1x400.png") 50% 50% repeat-x; + font-weight: bold; + color: #ffffff; +} +.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: #ffffff; + text-decoration: none; +} +.ui-state-active, +.ui-widget-content .ui-state-active, +.ui-widget-header .ui-state-active { + border: 1px solid #ffaf0f; + background: #f58400 url("images/ui-bg_inset-soft_30_f58400_1x100.png") 50% 50% repeat-x; + font-weight: bold; + color: #ffffff; +} +.ui-state-active a, +.ui-state-active a:link, +.ui-state-active a:visited { + color: #ffffff; + text-decoration: none; +} + +/* Interaction Cues +----------------------------------*/ +.ui-state-highlight, +.ui-widget-content .ui-state-highlight, +.ui-widget-header .ui-state-highlight { + border: 1px solid #cccccc; + background: #eeeeee url("images/ui-bg_highlight-soft_80_eeeeee_1x100.png") 50% top repeat-x; + color: #2e7db2; +} +.ui-state-highlight a, +.ui-widget-content .ui-state-highlight a, +.ui-widget-header .ui-state-highlight a { + color: #2e7db2; +} +.ui-state-error, +.ui-widget-content .ui-state-error, +.ui-widget-header .ui-state-error { + border: 1px solid #ffb73d; + background: #ffc73d url("images/ui-bg_glass_40_ffc73d_1x400.png") 50% 50% repeat-x; + color: #111111; +} +.ui-state-error a, +.ui-widget-content .ui-state-error a, +.ui-widget-header .ui-state-error a { + color: #111111; +} +.ui-state-error-text, +.ui-widget-content .ui-state-error-text, +.ui-widget-header .ui-state-error-text { + color: #111111; +} +.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); /* For 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_cccccc_256x240.png"); +} +.ui-widget-header .ui-icon { + background-image: url("images/ui-icons_ffffff_256x240.png"); +} +.ui-state-default .ui-icon { + background-image: url("images/ui-icons_cccccc_256x240.png"); +} +.ui-state-hover .ui-icon, +.ui-state-focus .ui-icon { + background-image: url("images/ui-icons_ffffff_256x240.png"); +} +.ui-state-active .ui-icon { + background-image: url("images/ui-icons_222222_256x240.png"); +} +.ui-state-highlight .ui-icon { + background-image: url("images/ui-icons_4b8e0b_256x240.png"); +} +.ui-state-error .ui-icon, +.ui-state-error-text .ui-icon { + background-image: url("images/ui-icons_a83300_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: 6px; +} +.ui-corner-all, +.ui-corner-top, +.ui-corner-right, +.ui-corner-tr { + border-top-right-radius: 6px; +} +.ui-corner-all, +.ui-corner-bottom, +.ui-corner-left, +.ui-corner-bl { + border-bottom-left-radius: 6px; +} +.ui-corner-all, +.ui-corner-bottom, +.ui-corner-right, +.ui-corner-br { + border-bottom-right-radius: 6px; +} + +/* Overlays */ +.ui-widget-overlay { + background: #5c5c5c url("images/ui-bg_flat_50_5c5c5c_40x100.png") 50% 50% repeat-x; + opacity: .8; + filter: Alpha(Opacity=80); +} +.ui-widget-shadow { + margin: -7px 0 0 -7px; + padding: 7px; + background: #cccccc url("images/ui-bg_flat_30_cccccc_40x100.png") 50% 50% repeat-x; + opacity: .6; + filter: Alpha(Opacity=60); + border-radius: 8px; +} diff --git a/project/static/css/ui-darkness/jquery-ui-1.10.4.custom.min.css b/project/static/css/ui-darkness/jquery-ui-1.10.4.custom.min.css new file mode 100755 index 0000000..1ecd2c0 --- /dev/null +++ b/project/static/css/ui-darkness/jquery-ui-1.10.4.custom.min.css @@ -0,0 +1,7 @@ +/*! jQuery UI - v1.10.4 - 2014-04-21 +* http://jqueryui.com +* Includes: jquery.ui.core.css, jquery.ui.datepicker.css, jquery.ui.theme.css +* To view and modify this theme, visit http://jqueryui.com/themeroller/?ffDefault=Segoe%20UI%2CArial%2Csans-serif&fwDefault=bold&fsDefault=1.1em&cornerRadius=6px&bgColorHeader=333333&bgTextureHeader=gloss_wave&bgImgOpacityHeader=25&borderColorHeader=333333&fcHeader=ffffff&iconColorHeader=ffffff&bgColorContent=000000&bgTextureContent=inset_soft&bgImgOpacityContent=25&borderColorContent=666666&fcContent=ffffff&iconColorContent=cccccc&bgColorDefault=555555&bgTextureDefault=glass&bgImgOpacityDefault=20&borderColorDefault=666666&fcDefault=eeeeee&iconColorDefault=cccccc&bgColorHover=0078a3&bgTextureHover=glass&bgImgOpacityHover=40&borderColorHover=59b4d4&fcHover=ffffff&iconColorHover=ffffff&bgColorActive=f58400&bgTextureActive=inset_soft&bgImgOpacityActive=30&borderColorActive=ffaf0f&fcActive=ffffff&iconColorActive=222222&bgColorHighlight=eeeeee&bgTextureHighlight=highlight_soft&bgImgOpacityHighlight=80&borderColorHighlight=cccccc&fcHighlight=2e7db2&iconColorHighlight=4b8e0b&bgColorError=ffc73d&bgTextureError=glass&bgImgOpacityError=40&borderColorError=ffb73d&fcError=111111&iconColorError=a83300&bgColorOverlay=5c5c5c&bgTextureOverlay=flat&bgImgOpacityOverlay=50&opacityOverlay=80&bgColorShadow=cccccc&bgTextureShadow=flat&bgImgOpacityShadow=30&opacityShadow=60&thicknessShadow=7px&offsetTopShadow=-7px&offsetLeftShadow=-7px&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-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-widget{font-family:Segoe UI,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:Segoe UI,Arial,sans-serif;font-size:1em}.ui-widget-content{border:1px solid #666;background:#000 url("images/ui-bg_inset-soft_25_000000_1x100.png") 50% bottom repeat-x;color:#fff}.ui-widget-content a{color:#fff}.ui-widget-header{border:1px solid #333;background:#333 url("images/ui-bg_gloss-wave_25_333333_500x100.png") 50% 50% repeat-x;color:#fff;font-weight:bold}.ui-widget-header a{color:#fff}.ui-state-default,.ui-widget-content .ui-state-default,.ui-widget-header .ui-state-default{border:1px solid #666;background:#555 url("images/ui-bg_glass_20_555555_1x400.png") 50% 50% repeat-x;font-weight:bold;color:#eee}.ui-state-default a,.ui-state-default a:link,.ui-state-default a:visited{color:#eee;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 #59b4d4;background:#0078a3 url("images/ui-bg_glass_40_0078a3_1x400.png") 50% 50% repeat-x;font-weight:bold;color:#fff}.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:#fff;text-decoration:none}.ui-state-active,.ui-widget-content .ui-state-active,.ui-widget-header .ui-state-active{border:1px solid #ffaf0f;background:#f58400 url("images/ui-bg_inset-soft_30_f58400_1x100.png") 50% 50% repeat-x;font-weight:bold;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 #ccc;background:#eee url("images/ui-bg_highlight-soft_80_eeeeee_1x100.png") 50% top repeat-x;color:#2e7db2}.ui-state-highlight a,.ui-widget-content .ui-state-highlight a,.ui-widget-header .ui-state-highlight a{color:#2e7db2}.ui-state-error,.ui-widget-content .ui-state-error,.ui-widget-header .ui-state-error{border:1px solid #ffb73d;background:#ffc73d url("images/ui-bg_glass_40_ffc73d_1x400.png") 50% 50% repeat-x;color:#111}.ui-state-error a,.ui-widget-content .ui-state-error a,.ui-widget-header .ui-state-error a{color:#111}.ui-state-error-text,.ui-widget-content .ui-state-error-text,.ui-widget-header .ui-state-error-text{color:#111}.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_cccccc_256x240.png")}.ui-widget-header .ui-icon{background-image:url("images/ui-icons_ffffff_256x240.png")}.ui-state-default .ui-icon{background-image:url("images/ui-icons_cccccc_256x240.png")}.ui-state-hover .ui-icon,.ui-state-focus .ui-icon{background-image:url("images/ui-icons_ffffff_256x240.png")}.ui-state-active .ui-icon{background-image:url("images/ui-icons_222222_256x240.png")}.ui-state-highlight .ui-icon{background-image:url("images/ui-icons_4b8e0b_256x240.png")}.ui-state-error .ui-icon,.ui-state-error-text .ui-icon{background-image:url("images/ui-icons_a83300_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:6px}.ui-corner-all,.ui-corner-top,.ui-corner-right,.ui-corner-tr{border-top-right-radius:6px}.ui-corner-all,.ui-corner-bottom,.ui-corner-left,.ui-corner-bl{border-bottom-left-radius:6px}.ui-corner-all,.ui-corner-bottom,.ui-corner-right,.ui-corner-br{border-bottom-right-radius:6px}.ui-widget-overlay{background:#5c5c5c url("images/ui-bg_flat_50_5c5c5c_40x100.png") 50% 50% repeat-x;opacity:.8;filter:Alpha(Opacity=80)}.ui-widget-shadow{margin:-7px 0 0 -7px;padding:7px;background:#ccc url("images/ui-bg_flat_30_cccccc_40x100.png") 50% 50% repeat-x;opacity:.6;filter:Alpha(Opacity=60);border-radius:8px} \ No newline at end of file diff --git a/project/static/lib/jquery-ui-1.10.4.custom.min.js b/project/static/lib/jquery-ui-1.10.4.custom.min.js new file mode 100755 index 0000000..09cb058 --- /dev/null +++ b/project/static/lib/jquery-ui-1.10.4.custom.min.js @@ -0,0 +1,7 @@ +/*! jQuery UI - v1.10.4 - 2014-04-20 +* http://jqueryui.com +* Includes: jquery.ui.core.js, jquery.ui.datepicker.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(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); \ No newline at end of file diff --git a/project/templates/index.html b/project/templates/index.html index d28cb64..0290748 100644 --- a/project/templates/index.html +++ b/project/templates/index.html @@ -8,6 +8,7 @@ <title>{% block title %}My Movie Library{% endblock %}</title> <link rel="shortcut icon" href="{{ url_for('static', filename='images/favicon.ico') }}"> + <link rel="stylesheet" type="text/css" href="{{ url_for('static', filename='css/ui-darkness/jquery-ui-1.10.4.custom.min.css') }}"> <link rel="stylesheet" type="text/css" href="{{ url_for('static', filename='css/bootstrap-slate.min.css') }}"> <link rel="stylesheet" type="text/css" href="{{ url_for('static', filename='css/style.css') }}"> @@ -68,6 +69,7 @@ <script src="http://ajax.aspnetcdn.com/ajax/jquery.validate/1.12.0/jquery.validate.min.js"></script> <!-- Include all compiled plugins (below), or include individual files as needed --> <script src="{{ url_for('static', filename='lib/bootstrap.min.js') }}"></script> + <script src="{{ url_for('static', filename='lib/jquery-ui-1.10.4.custom.min.js') }}"></script> {% block javascript %} {% endblock %} diff --git a/project/templates/library/library.html b/project/templates/library/library.html index 8bc3090..728d19e 100644 --- a/project/templates/library/library.html +++ b/project/templates/library/library.html @@ -23,14 +23,20 @@ </tr> {% else %} {% for movie in library.hydrateList() %} + {% set loan = movie.getLoan(user) %} <tr class='clickable' data-id='{{ loop.index }}'> <td> <img src="{{ movie.poster|default('') }}" style="max-width: 200px;" alt="{{ movie.title }}"> <p>{{ movie.title }}</p> <div class="btn-group hidden-md hidden-lg"> - <button type="button" class="btn btn-default btn-small lend-movie" data-id='{{ loop.index }}'>Lend</button> - <button type="button" class="btn btn-default btn-small borrow-movie" data-id='{{ loop.index }}'>Edit</button> - <button type="button" class="btn btn-default btn-small remove-movie" data-id='{{ loop.index }}'>Remove</button> + {% if loan == None %} + <button type="button" class="btn btn-default btn-small lend-movie" data-toggle="modal" data-target="#loan-form" data-id='{{ movie.id }}'>Lend</button> + {% else %} + This movie is loaned to {{ loan.email }} and is due back on {{ loan.expected_return_date.strftime('%m-%d-%Y') }} + {% endif %} + {% if library.name != "Master" or loan == None %} + <button type="button" class="btn btn-default btn-small remove-movie" data-id='{{ loop.index }}'>Remove</button> + {% endif %} </div> </td> <td> @@ -51,9 +57,15 @@ </td> <td class="hidden-xs"> <div class="btn-group-vertical"> - <button type="button" class="btn btn-default btn-small lend-movie" data-id='{{ loop.index }}'>Lend</button> - <button type="button" class="btn btn-default btn-small borrow-movie" data-id='{{ loop.index }}'>Edit</button> - <button type="button" class="btn btn-default btn-small remove-movie" data-id='{{ loop.index }}'>Remove</button> + {% if loan == None %} + <button type="button" class="btn btn-default btn-small lend-movie" data-toggle="modal" data-target="#loan-form" data-id='{{ movie.id }}'>Lend</button> + {% else %} + This movie is loaned to {{ loan.borrower_email }} and is due back on {{ loan.expected_return_date.strftime('%m-%d-%Y') }} + {% endif %} + {% if library.name != "Master" or loan == None %} + <button type="button" class="btn btn-default btn-small remove-movie" data-id='{{ loop.index }}'>Remove</button> + {% endif %} + </div> </td> </tr> @@ -114,4 +126,5 @@ {% block modals %} {% include 'library/addmovie_modal.html' %} + {% include 'library/loanMovie_modal.html' %} {% endblock %} \ No newline at end of file diff --git a/project/templates/library/loanMovie_modal.html b/project/templates/library/loanMovie_modal.html new file mode 100644 index 0000000..e1d9a98 --- /dev/null +++ b/project/templates/library/loanMovie_modal.html @@ -0,0 +1,51 @@ +{% extends "modal_base.html" %} +{% block modal_title %} Lend Movie {% endblock %} +{% block modal_content %} + <form class="form-horizontal" id="loan" role="form" method="post" action="{{ url_for('createLoan') }}"> + <div class="form-group"> + <label for="email" class="col-sm-3 control-label">Borrowers Email</label> + <div class="col-xs-9 col-md-6"> + <input type="text" class="form-control" name="email" placeholder="Email"> + </div> + </div> + <div class="form-group"> + <label for="returnDate" class="col-sm-3 control-label">Return Date <i class="glyphicon glyphicon-calendar"> </i></label> + <div class="col-xs-9 col-md-6"> + <input id="returnDate" type="text" name="date" class="date-picker form-control" /> + </div> + </div> + <div class="form-group"> + <div class="col-xs-9 col-md-6"> + <input type="hidden" class="hidden" name="movie" /> + </div> + </div> + </form> +{% endblock %} +{% block accept_button_text %}Create{% endblock %} +{% block ajax_url %}'{{ url_for('createLoan') }}'{% endblock %} +{% block form_id %}loan{% endblock %} +{% block validation_rules %} +rules: { + email: { + required: true, + email: true + }, + date: "required", + movie: "required" +} +{% endblock %} +{% block additional_javascripts %} + <script> + $(function(){ + $(".date-picker").datepicker(); + }); + $(".lend-movie").on('click', function (event) { + event.stopPropagation(); + event.preventDefault(); + modal = $(this).data('target'); + $(modal).modal('toggle'); + $(".modal-body input[name='movie']").val( $(this).data('id')); + }); + + </script> +{% endblock %} \ No newline at end of file diff --git a/project/templates/library/master.html b/project/templates/library/master.html index 79d925a..7b7fd30 100644 --- a/project/templates/library/master.html +++ b/project/templates/library/master.html @@ -17,7 +17,7 @@ </tr> </thead> <tbody> - {% for library in libraries %} + {% for library in libraries if not library.name == 'Borrowed' %} <tr class='clickable' data-name='{{ library.name }}'> <td> <a href="#">{{ library.name }}</a> diff --git a/project/templates/modal_base.html b/project/templates/modal_base.html index 777f7b6..6375046 100644 --- a/project/templates/modal_base.html +++ b/project/templates/modal_base.html @@ -35,7 +35,9 @@ $(function(){ var $form = $(document.getElementById("{{ self.form_id() }}")); var $acceptButton = $(document.getElementById("{{ self.form_id() }}-accept")); - $acceptButton.on('click',function(){ + $acceptButton.on('click',function(event){ + event.stopPropagation(); + event.preventDefault(); $.ajax({ url: {% block ajax_url %}{% endblock %}, data: $form.serialize(), @@ -75,7 +77,16 @@ $acceptButton.click(); } }); + $('[data-dismiss]').on('click',function(){ + $('input') + .not(':button, :submit, :reset, :hidden') + .val('') + .removeAttr('checked') + .removeAttr('selected'); + $(".{{ self.form_id() }}-error").html('').addClass('hide'); + }); }); + </script> {% endblock %} {% block additional_javascripts %} -- GitLab