Set svn:eol-style to native

This commit is contained in:
Richard Worth
2008-06-04 02:34:33 +00:00
parent 9caa12ad65
commit 26c16a7e6f
84 changed files with 11235 additions and 11235 deletions

View File

@@ -1,278 +1,278 @@
GNU GENERAL PUBLIC LICENSE
Version 2, June 1991
Copyright (C) 1989, 1991 Free Software Foundation, Inc.
51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
Everyone is permitted to copy and distribute verbatim copies
of this license document, but changing it is not allowed.
Preamble
The licenses for most software are designed to take away your
freedom to share and change it. By contrast, the GNU General Public
License is intended to guarantee your freedom to share and change free
software--to make sure the software is free for all its users. This
General Public License applies to most of the Free Software
Foundation's software and to any other program whose authors commit to
using it. (Some other Free Software Foundation software is covered by
the GNU Lesser General Public License instead.) You can apply it to
your programs, too.
When we speak of free software, we are referring to freedom, not
price. Our General Public Licenses are designed to make sure that you
have the freedom to distribute copies of free software (and charge for
this service if you wish), that you receive source code or can get it
if you want it, that you can change the software or use pieces of it
in new free programs; and that you know you can do these things.
To protect your rights, we need to make restrictions that forbid
anyone to deny you these rights or to ask you to surrender the rights.
These restrictions translate to certain responsibilities for you if you
distribute copies of the software, or if you modify it.
For example, if you distribute copies of such a program, whether
gratis or for a fee, you must give the recipients all the rights that
you have. You must make sure that they, too, receive or can get the
source code. And you must show them these terms so they know their
rights.
We protect your rights with two steps: (1) copyright the software, and
(2) offer you this license which gives you legal permission to copy,
distribute and/or modify the software.
Also, for each author's protection and ours, we want to make certain
that everyone understands that there is no warranty for this free
software. If the software is modified by someone else and passed on, we
want its recipients to know that what they have is not the original, so
that any problems introduced by others will not reflect on the original
authors' reputations.
Finally, any free program is threatened constantly by software
patents. We wish to avoid the danger that redistributors of a free
program will individually obtain patent licenses, in effect making the
program proprietary. To prevent this, we have made it clear that any
patent must be licensed for everyone's free use or not licensed at all.
The precise terms and conditions for copying, distribution and
modification follow.
GNU GENERAL PUBLIC LICENSE
TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION
0. This License applies to any program or other work which contains
a notice placed by the copyright holder saying it may be distributed
under the terms of this General Public License. The "Program", below,
refers to any such program or work, and a "work based on the Program"
means either the Program or any derivative work under copyright law:
that is to say, a work containing the Program or a portion of it,
either verbatim or with modifications and/or translated into another
language. (Hereinafter, translation is included without limitation in
the term "modification".) Each licensee is addressed as "you".
Activities other than copying, distribution and modification are not
covered by this License; they are outside its scope. The act of
running the Program is not restricted, and the output from the Program
is covered only if its contents constitute a work based on the
Program (independent of having been made by running the Program).
Whether that is true depends on what the Program does.
1. You may copy and distribute verbatim copies of the Program's
source code as you receive it, in any medium, provided that you
conspicuously and appropriately publish on each copy an appropriate
copyright notice and disclaimer of warranty; keep intact all the
notices that refer to this License and to the absence of any warranty;
and give any other recipients of the Program a copy of this License
along with the Program.
You may charge a fee for the physical act of transferring a copy, and
you may at your option offer warranty protection in exchange for a fee.
2. You may modify your copy or copies of the Program or any portion
of it, thus forming a work based on the Program, and copy and
distribute such modifications or work under the terms of Section 1
above, provided that you also meet all of these conditions:
a) You must cause the modified files to carry prominent notices
stating that you changed the files and the date of any change.
b) You must cause any work that you distribute or publish, that in
whole or in part contains or is derived from the Program or any
part thereof, to be licensed as a whole at no charge to all third
parties under the terms of this License.
c) If the modified program normally reads commands interactively
when run, you must cause it, when started running for such
interactive use in the most ordinary way, to print or display an
announcement including an appropriate copyright notice and a
notice that there is no warranty (or else, saying that you provide
a warranty) and that users may redistribute the program under
these conditions, and telling the user how to view a copy of this
License. (Exception: if the Program itself is interactive but
does not normally print such an announcement, your work based on
the Program is not required to print an announcement.)
These requirements apply to the modified work as a whole. If
identifiable sections of that work are not derived from the Program,
and can be reasonably considered independent and separate works in
themselves, then this License, and its terms, do not apply to those
sections when you distribute them as separate works. But when you
distribute the same sections as part of a whole which is a work based
on the Program, the distribution of the whole must be on the terms of
this License, whose permissions for other licensees extend to the
entire whole, and thus to each and every part regardless of who wrote it.
Thus, it is not the intent of this section to claim rights or contest
your rights to work written entirely by you; rather, the intent is to
exercise the right to control the distribution of derivative or
collective works based on the Program.
In addition, mere aggregation of another work not based on the Program
with the Program (or with a work based on the Program) on a volume of
a storage or distribution medium does not bring the other work under
the scope of this License.
3. You may copy and distribute the Program (or a work based on it,
under Section 2) in object code or executable form under the terms of
Sections 1 and 2 above provided that you also do one of the following:
a) Accompany it with the complete corresponding machine-readable
source code, which must be distributed under the terms of Sections
1 and 2 above on a medium customarily used for software interchange; or,
b) Accompany it with a written offer, valid for at least three
years, to give any third party, for a charge no more than your
cost of physically performing source distribution, a complete
machine-readable copy of the corresponding source code, to be
distributed under the terms of Sections 1 and 2 above on a medium
customarily used for software interchange; or,
c) Accompany it with the information you received as to the offer
to distribute corresponding source code. (This alternative is
allowed only for noncommercial distribution and only if you
received the program in object code or executable form with such
an offer, in accord with Subsection b above.)
The source code for a work means the preferred form of the work for
making modifications to it. For an executable work, complete source
code means all the source code for all modules it contains, plus any
associated interface definition files, plus the scripts used to
control compilation and installation of the executable. However, as a
special exception, the source code distributed need not include
anything that is normally distributed (in either source or binary
form) with the major components (compiler, kernel, and so on) of the
operating system on which the executable runs, unless that component
itself accompanies the executable.
If distribution of executable or object code is made by offering
access to copy from a designated place, then offering equivalent
access to copy the source code from the same place counts as
distribution of the source code, even though third parties are not
compelled to copy the source along with the object code.
4. You may not copy, modify, sublicense, or distribute the Program
except as expressly provided under this License. Any attempt
otherwise to copy, modify, sublicense or distribute the Program is
void, and will automatically terminate your rights under this License.
However, parties who have received copies, or rights, from you under
this License will not have their licenses terminated so long as such
parties remain in full compliance.
5. You are not required to accept this License, since you have not
signed it. However, nothing else grants you permission to modify or
distribute the Program or its derivative works. These actions are
prohibited by law if you do not accept this License. Therefore, by
modifying or distributing the Program (or any work based on the
Program), you indicate your acceptance of this License to do so, and
all its terms and conditions for copying, distributing or modifying
the Program or works based on it.
6. Each time you redistribute the Program (or any work based on the
Program), the recipient automatically receives a license from the
original licensor to copy, distribute or modify the Program subject to
these terms and conditions. You may not impose any further
restrictions on the recipients' exercise of the rights granted herein.
You are not responsible for enforcing compliance by third parties to
this License.
7. If, as a consequence of a court judgment or allegation of patent
infringement or for any other reason (not limited to patent issues),
conditions are imposed on you (whether by court order, agreement or
otherwise) that contradict the conditions of this License, they do not
excuse you from the conditions of this License. If you cannot
distribute so as to satisfy simultaneously your obligations under this
License and any other pertinent obligations, then as a consequence you
may not distribute the Program at all. For example, if a patent
license would not permit royalty-free redistribution of the Program by
all those who receive copies directly or indirectly through you, then
the only way you could satisfy both it and this License would be to
refrain entirely from distribution of the Program.
If any portion of this section is held invalid or unenforceable under
any particular circumstance, the balance of the section is intended to
apply and the section as a whole is intended to apply in other
circumstances.
It is not the purpose of this section to induce you to infringe any
patents or other property right claims or to contest validity of any
such claims; this section has the sole purpose of protecting the
integrity of the free software distribution system, which is
implemented by public license practices. Many people have made
generous contributions to the wide range of software distributed
through that system in reliance on consistent application of that
system; it is up to the author/donor to decide if he or she is willing
to distribute software through any other system and a licensee cannot
impose that choice.
This section is intended to make thoroughly clear what is believed to
be a consequence of the rest of this License.
8. If the distribution and/or use of the Program is restricted in
certain countries either by patents or by copyrighted interfaces, the
original copyright holder who places the Program under this License
may add an explicit geographical distribution limitation excluding
those countries, so that distribution is permitted only in or among
countries not thus excluded. In such case, this License incorporates
the limitation as if written in the body of this License.
9. The Free Software Foundation may publish revised and/or new versions
of the General Public License from time to time. Such new versions will
be similar in spirit to the present version, but may differ in detail to
address new problems or concerns.
Each version is given a distinguishing version number. If the Program
specifies a version number of this License which applies to it and "any
later version", you have the option of following the terms and conditions
either of that version or of any later version published by the Free
Software Foundation. If the Program does not specify a version number of
this License, you may choose any version ever published by the Free Software
Foundation.
10. If you wish to incorporate parts of the Program into other free
programs whose distribution conditions are different, write to the author
to ask for permission. For software which is copyrighted by the Free
Software Foundation, write to the Free Software Foundation; we sometimes
make exceptions for this. Our decision will be guided by the two goals
of preserving the free status of all derivatives of our free software and
of promoting the sharing and reuse of software generally.
NO WARRANTY
11. BECAUSE THE PROGRAM IS LICENSED FREE OF CHARGE, THERE IS NO WARRANTY
FOR THE PROGRAM, TO THE EXTENT PERMITTED BY APPLICABLE LAW. EXCEPT WHEN
OTHERWISE STATED IN WRITING THE COPYRIGHT HOLDERS AND/OR OTHER PARTIES
PROVIDE THE PROGRAM "AS IS" WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESSED
OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. THE ENTIRE RISK AS
TO THE QUALITY AND PERFORMANCE OF THE PROGRAM IS WITH YOU. SHOULD THE
PROGRAM PROVE DEFECTIVE, YOU ASSUME THE COST OF ALL NECESSARY SERVICING,
REPAIR OR CORRECTION.
12. IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING
WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MAY MODIFY AND/OR
REDISTRIBUTE THE PROGRAM AS PERMITTED ABOVE, BE LIABLE TO YOU FOR DAMAGES,
INCLUDING ANY GENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING
OUT OF THE USE OR INABILITY TO USE THE PROGRAM (INCLUDING BUT NOT LIMITED
TO LOSS OF DATA OR DATA BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY
YOU OR THIRD PARTIES OR A FAILURE OF THE PROGRAM TO OPERATE WITH ANY OTHER
PROGRAMS), EVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE
POSSIBILITY OF SUCH DAMAGES.
GNU GENERAL PUBLIC LICENSE
Version 2, June 1991
Copyright (C) 1989, 1991 Free Software Foundation, Inc.
51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
Everyone is permitted to copy and distribute verbatim copies
of this license document, but changing it is not allowed.
Preamble
The licenses for most software are designed to take away your
freedom to share and change it. By contrast, the GNU General Public
License is intended to guarantee your freedom to share and change free
software--to make sure the software is free for all its users. This
General Public License applies to most of the Free Software
Foundation's software and to any other program whose authors commit to
using it. (Some other Free Software Foundation software is covered by
the GNU Lesser General Public License instead.) You can apply it to
your programs, too.
When we speak of free software, we are referring to freedom, not
price. Our General Public Licenses are designed to make sure that you
have the freedom to distribute copies of free software (and charge for
this service if you wish), that you receive source code or can get it
if you want it, that you can change the software or use pieces of it
in new free programs; and that you know you can do these things.
To protect your rights, we need to make restrictions that forbid
anyone to deny you these rights or to ask you to surrender the rights.
These restrictions translate to certain responsibilities for you if you
distribute copies of the software, or if you modify it.
For example, if you distribute copies of such a program, whether
gratis or for a fee, you must give the recipients all the rights that
you have. You must make sure that they, too, receive or can get the
source code. And you must show them these terms so they know their
rights.
We protect your rights with two steps: (1) copyright the software, and
(2) offer you this license which gives you legal permission to copy,
distribute and/or modify the software.
Also, for each author's protection and ours, we want to make certain
that everyone understands that there is no warranty for this free
software. If the software is modified by someone else and passed on, we
want its recipients to know that what they have is not the original, so
that any problems introduced by others will not reflect on the original
authors' reputations.
Finally, any free program is threatened constantly by software
patents. We wish to avoid the danger that redistributors of a free
program will individually obtain patent licenses, in effect making the
program proprietary. To prevent this, we have made it clear that any
patent must be licensed for everyone's free use or not licensed at all.
The precise terms and conditions for copying, distribution and
modification follow.
GNU GENERAL PUBLIC LICENSE
TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION
0. This License applies to any program or other work which contains
a notice placed by the copyright holder saying it may be distributed
under the terms of this General Public License. The "Program", below,
refers to any such program or work, and a "work based on the Program"
means either the Program or any derivative work under copyright law:
that is to say, a work containing the Program or a portion of it,
either verbatim or with modifications and/or translated into another
language. (Hereinafter, translation is included without limitation in
the term "modification".) Each licensee is addressed as "you".
Activities other than copying, distribution and modification are not
covered by this License; they are outside its scope. The act of
running the Program is not restricted, and the output from the Program
is covered only if its contents constitute a work based on the
Program (independent of having been made by running the Program).
Whether that is true depends on what the Program does.
1. You may copy and distribute verbatim copies of the Program's
source code as you receive it, in any medium, provided that you
conspicuously and appropriately publish on each copy an appropriate
copyright notice and disclaimer of warranty; keep intact all the
notices that refer to this License and to the absence of any warranty;
and give any other recipients of the Program a copy of this License
along with the Program.
You may charge a fee for the physical act of transferring a copy, and
you may at your option offer warranty protection in exchange for a fee.
2. You may modify your copy or copies of the Program or any portion
of it, thus forming a work based on the Program, and copy and
distribute such modifications or work under the terms of Section 1
above, provided that you also meet all of these conditions:
a) You must cause the modified files to carry prominent notices
stating that you changed the files and the date of any change.
b) You must cause any work that you distribute or publish, that in
whole or in part contains or is derived from the Program or any
part thereof, to be licensed as a whole at no charge to all third
parties under the terms of this License.
c) If the modified program normally reads commands interactively
when run, you must cause it, when started running for such
interactive use in the most ordinary way, to print or display an
announcement including an appropriate copyright notice and a
notice that there is no warranty (or else, saying that you provide
a warranty) and that users may redistribute the program under
these conditions, and telling the user how to view a copy of this
License. (Exception: if the Program itself is interactive but
does not normally print such an announcement, your work based on
the Program is not required to print an announcement.)
These requirements apply to the modified work as a whole. If
identifiable sections of that work are not derived from the Program,
and can be reasonably considered independent and separate works in
themselves, then this License, and its terms, do not apply to those
sections when you distribute them as separate works. But when you
distribute the same sections as part of a whole which is a work based
on the Program, the distribution of the whole must be on the terms of
this License, whose permissions for other licensees extend to the
entire whole, and thus to each and every part regardless of who wrote it.
Thus, it is not the intent of this section to claim rights or contest
your rights to work written entirely by you; rather, the intent is to
exercise the right to control the distribution of derivative or
collective works based on the Program.
In addition, mere aggregation of another work not based on the Program
with the Program (or with a work based on the Program) on a volume of
a storage or distribution medium does not bring the other work under
the scope of this License.
3. You may copy and distribute the Program (or a work based on it,
under Section 2) in object code or executable form under the terms of
Sections 1 and 2 above provided that you also do one of the following:
a) Accompany it with the complete corresponding machine-readable
source code, which must be distributed under the terms of Sections
1 and 2 above on a medium customarily used for software interchange; or,
b) Accompany it with a written offer, valid for at least three
years, to give any third party, for a charge no more than your
cost of physically performing source distribution, a complete
machine-readable copy of the corresponding source code, to be
distributed under the terms of Sections 1 and 2 above on a medium
customarily used for software interchange; or,
c) Accompany it with the information you received as to the offer
to distribute corresponding source code. (This alternative is
allowed only for noncommercial distribution and only if you
received the program in object code or executable form with such
an offer, in accord with Subsection b above.)
The source code for a work means the preferred form of the work for
making modifications to it. For an executable work, complete source
code means all the source code for all modules it contains, plus any
associated interface definition files, plus the scripts used to
control compilation and installation of the executable. However, as a
special exception, the source code distributed need not include
anything that is normally distributed (in either source or binary
form) with the major components (compiler, kernel, and so on) of the
operating system on which the executable runs, unless that component
itself accompanies the executable.
If distribution of executable or object code is made by offering
access to copy from a designated place, then offering equivalent
access to copy the source code from the same place counts as
distribution of the source code, even though third parties are not
compelled to copy the source along with the object code.
4. You may not copy, modify, sublicense, or distribute the Program
except as expressly provided under this License. Any attempt
otherwise to copy, modify, sublicense or distribute the Program is
void, and will automatically terminate your rights under this License.
However, parties who have received copies, or rights, from you under
this License will not have their licenses terminated so long as such
parties remain in full compliance.
5. You are not required to accept this License, since you have not
signed it. However, nothing else grants you permission to modify or
distribute the Program or its derivative works. These actions are
prohibited by law if you do not accept this License. Therefore, by
modifying or distributing the Program (or any work based on the
Program), you indicate your acceptance of this License to do so, and
all its terms and conditions for copying, distributing or modifying
the Program or works based on it.
6. Each time you redistribute the Program (or any work based on the
Program), the recipient automatically receives a license from the
original licensor to copy, distribute or modify the Program subject to
these terms and conditions. You may not impose any further
restrictions on the recipients' exercise of the rights granted herein.
You are not responsible for enforcing compliance by third parties to
this License.
7. If, as a consequence of a court judgment or allegation of patent
infringement or for any other reason (not limited to patent issues),
conditions are imposed on you (whether by court order, agreement or
otherwise) that contradict the conditions of this License, they do not
excuse you from the conditions of this License. If you cannot
distribute so as to satisfy simultaneously your obligations under this
License and any other pertinent obligations, then as a consequence you
may not distribute the Program at all. For example, if a patent
license would not permit royalty-free redistribution of the Program by
all those who receive copies directly or indirectly through you, then
the only way you could satisfy both it and this License would be to
refrain entirely from distribution of the Program.
If any portion of this section is held invalid or unenforceable under
any particular circumstance, the balance of the section is intended to
apply and the section as a whole is intended to apply in other
circumstances.
It is not the purpose of this section to induce you to infringe any
patents or other property right claims or to contest validity of any
such claims; this section has the sole purpose of protecting the
integrity of the free software distribution system, which is
implemented by public license practices. Many people have made
generous contributions to the wide range of software distributed
through that system in reliance on consistent application of that
system; it is up to the author/donor to decide if he or she is willing
to distribute software through any other system and a licensee cannot
impose that choice.
This section is intended to make thoroughly clear what is believed to
be a consequence of the rest of this License.
8. If the distribution and/or use of the Program is restricted in
certain countries either by patents or by copyrighted interfaces, the
original copyright holder who places the Program under this License
may add an explicit geographical distribution limitation excluding
those countries, so that distribution is permitted only in or among
countries not thus excluded. In such case, this License incorporates
the limitation as if written in the body of this License.
9. The Free Software Foundation may publish revised and/or new versions
of the General Public License from time to time. Such new versions will
be similar in spirit to the present version, but may differ in detail to
address new problems or concerns.
Each version is given a distinguishing version number. If the Program
specifies a version number of this License which applies to it and "any
later version", you have the option of following the terms and conditions
either of that version or of any later version published by the Free
Software Foundation. If the Program does not specify a version number of
this License, you may choose any version ever published by the Free Software
Foundation.
10. If you wish to incorporate parts of the Program into other free
programs whose distribution conditions are different, write to the author
to ask for permission. For software which is copyrighted by the Free
Software Foundation, write to the Free Software Foundation; we sometimes
make exceptions for this. Our decision will be guided by the two goals
of preserving the free status of all derivatives of our free software and
of promoting the sharing and reuse of software generally.
NO WARRANTY
11. BECAUSE THE PROGRAM IS LICENSED FREE OF CHARGE, THERE IS NO WARRANTY
FOR THE PROGRAM, TO THE EXTENT PERMITTED BY APPLICABLE LAW. EXCEPT WHEN
OTHERWISE STATED IN WRITING THE COPYRIGHT HOLDERS AND/OR OTHER PARTIES
PROVIDE THE PROGRAM "AS IS" WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESSED
OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. THE ENTIRE RISK AS
TO THE QUALITY AND PERFORMANCE OF THE PROGRAM IS WITH YOU. SHOULD THE
PROGRAM PROVE DEFECTIVE, YOU ASSUME THE COST OF ALL NECESSARY SERVICING,
REPAIR OR CORRECTION.
12. IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING
WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MAY MODIFY AND/OR
REDISTRIBUTE THE PROGRAM AS PERMITTED ABOVE, BE LIABLE TO YOU FOR DAMAGES,
INCLUDING ANY GENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING
OUT OF THE USE OR INABILITY TO USE THE PROGRAM (INCLUDING BUT NOT LIMITED
TO LOSS OF DATA OR DATA BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY
YOU OR THIRD PARTIES OR A FAILURE OF THE PROGRAM TO OPERATE WITH ANY OTHER
PROGRAMS), EVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE
POSSIBILITY OF SUCH DAMAGES.

View File

@@ -1,20 +1,20 @@
Copyright (c) 2007 John Resig, http://jquery.com/
Permission is hereby granted, free of charge, to any person obtaining
a copy of this software and associated documentation files (the
"Software"), to deal in the Software without restriction, including
without limitation the rights to use, copy, modify, merge, publish,
distribute, sublicense, and/or sell copies of the Software, and to
permit persons to whom the Software is furnished to do so, subject to
the following conditions:
The above copyright notice and this permission notice shall be
included in all copies or substantial portions of the Software.
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
Copyright (c) 2007 John Resig, http://jquery.com/
Permission is hereby granted, free of charge, to any person obtaining
a copy of this software and associated documentation files (the
"Software"), to deal in the Software without restriction, including
without limitation the rights to use, copy, modify, merge, publish,
distribute, sublicense, and/or sell copies of the Software, and to
permit persons to whom the Software is furnished to do so, subject to
the following conditions:
The above copyright notice and this permission notice shall be
included in all copies or substantial portions of the Software.
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.

View File

@@ -1,257 +1,257 @@
<!DOCTYPE html>
<html lang="en">
<head>
<meta http-equiv="Content-type" content="text/html; charset=utf-8" />
<title>Slide Demo - Fixed Drawer</title>
<style type="text/css" media="screen">
<!--
/*************************************/
/* Blueprint: reset.css */
html, body, div, span, applet, object, iframe,
h1, h2, h3, h4, h5, h6, p, blockquote, pre,
a, abbr, acronym, address, big, cite, code,
del, dfn, em, font, img, ins, kbd, q, s, samp,
small, strike, strong, sub, sup, tt, var,
dl, dt, dd, ol, ul, li,
fieldset, form, label, legend,
table, caption, tbody, tfoot, thead, tr, th, td {
margin: 0;
padding: 0;
border: 0;
outline: 0;
font-weight: inherit;
font-style: inherit;
font-size: 100%;
font-family: inherit;
vertical-align: baseline;
}
/* Remember to define focus styles! */
:focus {
outline: 0;
}
body {
line-height: 1;
color: black;
background: white;
}
ol, ul {
list-style: none;
}
/* Tables still need 'cellspacing="0"' in the markup. */
table {
border-collapse: separate;
border-spacing: 0;
}
caption, th, td {
text-align: left;
font-weight: normal;
}
/* Remove possible quote marks (") from <q>, <blockquote>. */
blockquote:before, blockquote:after,
q:before, q:after {
content: "";
}
blockquote, q {
quotes: "" "";
}
/*************************************/
/* Demo Styles */
.capt,
.capb {
background: url("images/caps.gif") no-repeat;
height:4px;
width:100%;
/*position:absolute;*/
z-index:100;
margin:0px;
padding:0px;
}
.capt {
position:absolute;
background-position:0 -4px;
}
.capb {
margin-top:-19px;
}
#content {
float:left;
}
.drawers-wrapper {
position: relative;
width: 188px;
float:left;
margin:10px;
}
.drawers {
margin-bottom:15px;
color:#76797C;
font-size:11px;
line-height: 18px;
}
.drawer {
background:transparent url(images/sideboxlight_bg.gif) repeat-y scroll 0pt;
color:#76797C;
font-size:11px;
line-height:1.3em;
}
.drawer-handle {
background:#939393 url(images/slider_handlebg.png) no-repeat scroll 0pt;
color:#333333;
cursor:default;
height:25px;
line-height:25px;
text-indent:15px;
font-size:12px;
width:100%;
}
.drawer-handle.open {
background-color:#72839D;
background-position:-188px 0pt;
color:#FFFFFF;
}
/* nasty, but it fixes the indent on the first one. */
h2.drawer-handle span {
}
.drawer ul {
padding: 0 12px;
padding-bottom:0pt;
}
.drawer li {
border-bottom:1px solid #E5E5E5;
line-height:16px;
padding:6px 0pt;
}
.drawer-content ul {
padding-top: 7px;
}
.drawer-content li a {
display:block;
overflow:hidden;
}
.alldownloads li {
border:0pt none;
line-height:18px;
padding:0pt;
}
.drawers a {
color:#666666;
text-decoration:none;
font-family:"Lucida Grande",Geneva,Arial,Verdana,sans-serif;
}
-->
</style>
<script type="text/javascript" src="../../../../jquery/jquery-1.2.6.js"></script>
<script type="text/javascript" src="../../../source/ui.core.js"></script>
<script type="text/javascript" src="../../../source/ui.accordion.js"></script>
<script type="text/javascript">
<!--
$(function () {
$('ul.drawers').accordion({
header: 'h2.drawer-handle',
selectedClass: 'open',
event: 'mouseover'
});
});
//-->
</script>
</head>
<body id="page">
<div id="content">
<h1>Fixed drawer slide out demo (using accordion plugin)</h1>
<p>This example demonstrates the Apple downloads slider/accordion effect using the jQuery Accordion plugin.</p>
<p>Mouse over the headings to reveal the list of available links.</p>
<p>
<a href="http://jqueryfordesigners.com/slide-out-and-drawer-effect/">Read the article this demonstration relates to</a>
</p>
</div>
<div class="drawers-wrapper">
<ul class="drawers">
<li class="drawer">
<h2 class="drawer-handle open">
<div class="capt"></div>
<span>Downloads</span>
</h2>
<ul class="alldownloads">
<li id="sn-downloadsmacosx"><a href="/downloads/macosx/">All Categories</a></li>
<li id="sn-aperture"><a href="/downloads/macosx/aperture/">Aperture</a></li>
<li id="sn-apple"><a href="/downloads/macosx/apple/">Apple</a></li>
<li id="sn-audio"><a href="/downloads/macosx/audio/">Audio</a></li>
<li id="sn-automator"><a href="/downloads/macosx/automator/">Automator Actions</a></li>
<li id="sn-businessfinance"><a href="/downloads/macosx/business_finance/">Business &amp; Finance</a></li>
<li id="sn-calendars"><a href="/downloads/macosx/calendars/">Calendars</a></li>
<li id="sn-developmenttools"><a href="/downloads/macosx/development_tools/">Development Tools</a></li>
<li id="sn-drivers"><a href="/downloads/macosx/drivers/">Drivers</a></li>
<li id="sn-emailchat"><a href="/downloads/macosx/email_chat/">Email &amp; Chat</a></li>
<li id="sn-finalcutstudio"><a href="/downloads/macosx/finalcutstudio/">Final Cut Studio</a></li>
<li id="sn-games"><a href="/downloads/macosx/games/">Games</a></li>
<li id="sn-homelearning"><a href="/downloads/macosx/home_learning/">Home &amp; Learning</a></li>
<li id="sn-iconsscreensavers"><a href="/downloads/macosx/icons_screensavers/">Icons, Screensavers, etc.</a></li>
<li id="sn-imaging3d"><a href="/downloads/macosx/imaging_3d/">Imaging &amp; 3D</a></li>
<li id="sn-internetutilities"><a href="/downloads/macosx/internet_utilities/">Internet Utilities</a></li>
<li id="sn-ipoditunes"><a href="/downloads/macosx/ipod_itunes/">iPod + iTunes</a></li>
<li id="sn-mathscience"><a href="/downloads/macosx/math_science/">Math &amp; Science</a></li>
<li id="sn-networkingsecurity"><a href="/downloads/macosx/networking_security/">Networking &amp; Security</a></li>
<li id="sn-productivitytools"><a href="/downloads/macosx/productivity_tools/">Productivity Tools</a></li>
<li id="sn-spotlight"><a href="/downloads/macosx/spotlight/">Spotlight Plugins</a></li>
<li id="sn-systemdiskutilities"><a href="/downloads/macosx/system_disk_utilities/">System/Disk Utilities</a></li>
<li id="sn-unixopensource"><a href="/downloads/macosx/unix_open_source/">UNIX &amp; Open Source</a></li>
<li id="sn-video"><a href="/downloads/macosx/video/">Video</a></li>
<li id="sn-dashboard"><a href="/downloads/dashboard/" class="bottom">Widgets</a></li>
</ul>
</li>
<li class="drawer">
<h2 class="drawer-handle">Top Downloads</h2>
<ul>
<li><a title="iTunes 7.5" href="http://www.apple.com/itunes/download/">1. iTunes 7.5</a></li>
<li><a title="QuickTime 7.3.1" href="http://www.apple.com/quicktime/download/">2. QuickTime 7.3.1</a></li>
<li><a title="Safari 3 Public Beta" href="http://www.apple.com/safari/download/">3. Safari 3 Public Beta</a></li>
<li><a title="MacPool" href="/downloads/macosx/games/simulation_and_sports/macpool.html">4. MacPool Realistic and easy to play computer simu…</a></li>
<li><a title="Guitar Hero III: Legends of Rock" href="/downloads/macosx/games/demos_updates/guitarheroiiilegendsofrock.html">5. Guitar Hero III: L…</a></li>
<li><a title="Messenger for Mac" href="/downloads/macosx/email_chat/messengerformac.html">6. Messenger for Mac</a></li>
<li><a title="Google Earth" href="/downloads/macosx/home_learning/googleearth.html">7. Google Earth</a></li>
<li><a title="Monopoly" href="/downloads/macosx/games/cards_puzzle/monopoly.html">8. Monopoly</a></li>
<li><a title="Litho System Icons" href="/downloads/macosx/icons_screensavers/lithosystemicons.html">9. Litho System Icons</a></li>
<li><a title="Battlefield 2142" href="/downloads/macosx/games/demos_updates/battlefield2142.html">10. Battlefield 2142</a></li>
<li><a title="More iChat Effects" href="/downloads/macosx/email_chat/moreichateffects.html">11. More iChat Effects</a></li>
<li><a title="Dragster" href="/downloads/macosx/internet_utilities/dragster.html">12. Dragster</a></li>
<li><a title="iSquint" href="/downloads/macosx/ipod_itunes/isquint.html">13. iSquint</a></li>
<li class="last"><a title="US Holiday Calendar" href="/downloads/macosx/calendars/usholidaycalendar.html">14. US Holiday Calendar</a></li>
</ul>
</li>
<li class="drawer last">
<h2 class="drawer-handle">Top Apple Downloads</h2>
<ul>
<li><a title="iTunes 7.5" href="http://www.apple.com/itunes/download/">1. iTunes 7.5</a></li>
<li><a title="QuickTime 7.3.1" href="http://www.apple.com/quicktime/download/">2. QuickTime 7.3.1</a></li>
<li><a title="Safari 3 Public Beta" href="http://www.apple.com/safari/download/">3. Safari 3 Public Beta</a></li>
<li><a title="Mac OS X 10.5.1 Update" href="/downloads/macosx/apple/macosx_updates/macosx1051update.html">4. Mac OS X 10.5.1 Up…</a></li>
<li><a title="Java for Mac OS X 10.4 Release 5" href="/downloads/macosx/apple/macosx_updates/javaformacosx104release5.html">5. Java for Mac OS X …</a></li>
<li><a title="iPod Reset Utility 1.0.2 for Windows" href="/downloads/macosx/apple/ipod_itunes/ipodresetutility102forwindows.html">6. iPod Reset Utility…</a></li>
<li><a title="iPhoto 7.1.1" href="/downloads/macosx/apple/application_updates/iphoto711.html">7. iPhoto 7.1.1</a></li>
<li><a title="Bonjour for Windows" href="/downloads/macosx/apple/windows/bonjourforwindows.html">8. Bonjour for Windows</a></li>
<li><a title="Mac OS X 10.4.11 Combo Update (PPC)" href="/downloads/macosx/apple/macosx_updates/macosx10411comboupdateppc.html">9. Mac OS X 10.4.11 C…<br/>The 10.4.11 Update is recommended for al…</a></li>
<li><a title="Java for Mac OS X 10.4, Release 6" href="/downloads/macosx/apple/macosx_updates/javaformacosx104release6.html">10. Java for Mac OS X …</a></li>
<li><a title="GarageBand 4.1.1" href="/downloads/macosx/apple/application_updates/garageband411.html">11. GarageBand 4.1.1</a></li>
<li><a title="iPod Updater 2006-06-28 for Windows" href="/downloads/macosx/apple/ipod_itunes/ipodupdater20060628forwindows.html">12. iPod Updater 2006-…</a></li>
<li><a title="Security Update 2007-009 1.1 (10.4.11 Universal)" href="/downloads/macosx/apple/security_updates/securityupdate20070091110411universal.html">13. Security Update 20…</a></li>
<li class="last"><a title="Security Update 2007-009 1.1 (10.5.1)" href="/downloads/macosx/apple/security_updates/securityupdate2007009111051.html">14. Security Update 20…</a></li>
</ul>
</li>
</ul>
<div class="capb"></div>
</div>
</body>
</html>
<!DOCTYPE html>
<html lang="en">
<head>
<meta http-equiv="Content-type" content="text/html; charset=utf-8" />
<title>Slide Demo - Fixed Drawer</title>
<style type="text/css" media="screen">
<!--
/*************************************/
/* Blueprint: reset.css */
html, body, div, span, applet, object, iframe,
h1, h2, h3, h4, h5, h6, p, blockquote, pre,
a, abbr, acronym, address, big, cite, code,
del, dfn, em, font, img, ins, kbd, q, s, samp,
small, strike, strong, sub, sup, tt, var,
dl, dt, dd, ol, ul, li,
fieldset, form, label, legend,
table, caption, tbody, tfoot, thead, tr, th, td {
margin: 0;
padding: 0;
border: 0;
outline: 0;
font-weight: inherit;
font-style: inherit;
font-size: 100%;
font-family: inherit;
vertical-align: baseline;
}
/* Remember to define focus styles! */
:focus {
outline: 0;
}
body {
line-height: 1;
color: black;
background: white;
}
ol, ul {
list-style: none;
}
/* Tables still need 'cellspacing="0"' in the markup. */
table {
border-collapse: separate;
border-spacing: 0;
}
caption, th, td {
text-align: left;
font-weight: normal;
}
/* Remove possible quote marks (") from <q>, <blockquote>. */
blockquote:before, blockquote:after,
q:before, q:after {
content: "";
}
blockquote, q {
quotes: "" "";
}
/*************************************/
/* Demo Styles */
.capt,
.capb {
background: url("images/caps.gif") no-repeat;
height:4px;
width:100%;
/*position:absolute;*/
z-index:100;
margin:0px;
padding:0px;
}
.capt {
position:absolute;
background-position:0 -4px;
}
.capb {
margin-top:-19px;
}
#content {
float:left;
}
.drawers-wrapper {
position: relative;
width: 188px;
float:left;
margin:10px;
}
.drawers {
margin-bottom:15px;
color:#76797C;
font-size:11px;
line-height: 18px;
}
.drawer {
background:transparent url(images/sideboxlight_bg.gif) repeat-y scroll 0pt;
color:#76797C;
font-size:11px;
line-height:1.3em;
}
.drawer-handle {
background:#939393 url(images/slider_handlebg.png) no-repeat scroll 0pt;
color:#333333;
cursor:default;
height:25px;
line-height:25px;
text-indent:15px;
font-size:12px;
width:100%;
}
.drawer-handle.open {
background-color:#72839D;
background-position:-188px 0pt;
color:#FFFFFF;
}
/* nasty, but it fixes the indent on the first one. */
h2.drawer-handle span {
}
.drawer ul {
padding: 0 12px;
padding-bottom:0pt;
}
.drawer li {
border-bottom:1px solid #E5E5E5;
line-height:16px;
padding:6px 0pt;
}
.drawer-content ul {
padding-top: 7px;
}
.drawer-content li a {
display:block;
overflow:hidden;
}
.alldownloads li {
border:0pt none;
line-height:18px;
padding:0pt;
}
.drawers a {
color:#666666;
text-decoration:none;
font-family:"Lucida Grande",Geneva,Arial,Verdana,sans-serif;
}
-->
</style>
<script type="text/javascript" src="../../../../jquery/jquery-1.2.6.js"></script>
<script type="text/javascript" src="../../../source/ui.core.js"></script>
<script type="text/javascript" src="../../../source/ui.accordion.js"></script>
<script type="text/javascript">
<!--
$(function () {
$('ul.drawers').accordion({
header: 'h2.drawer-handle',
selectedClass: 'open',
event: 'mouseover'
});
});
//-->
</script>
</head>
<body id="page">
<div id="content">
<h1>Fixed drawer slide out demo (using accordion plugin)</h1>
<p>This example demonstrates the Apple downloads slider/accordion effect using the jQuery Accordion plugin.</p>
<p>Mouse over the headings to reveal the list of available links.</p>
<p>
<a href="http://jqueryfordesigners.com/slide-out-and-drawer-effect/">Read the article this demonstration relates to</a>
</p>
</div>
<div class="drawers-wrapper">
<ul class="drawers">
<li class="drawer">
<h2 class="drawer-handle open">
<div class="capt"></div>
<span>Downloads</span>
</h2>
<ul class="alldownloads">
<li id="sn-downloadsmacosx"><a href="/downloads/macosx/">All Categories</a></li>
<li id="sn-aperture"><a href="/downloads/macosx/aperture/">Aperture</a></li>
<li id="sn-apple"><a href="/downloads/macosx/apple/">Apple</a></li>
<li id="sn-audio"><a href="/downloads/macosx/audio/">Audio</a></li>
<li id="sn-automator"><a href="/downloads/macosx/automator/">Automator Actions</a></li>
<li id="sn-businessfinance"><a href="/downloads/macosx/business_finance/">Business &amp; Finance</a></li>
<li id="sn-calendars"><a href="/downloads/macosx/calendars/">Calendars</a></li>
<li id="sn-developmenttools"><a href="/downloads/macosx/development_tools/">Development Tools</a></li>
<li id="sn-drivers"><a href="/downloads/macosx/drivers/">Drivers</a></li>
<li id="sn-emailchat"><a href="/downloads/macosx/email_chat/">Email &amp; Chat</a></li>
<li id="sn-finalcutstudio"><a href="/downloads/macosx/finalcutstudio/">Final Cut Studio</a></li>
<li id="sn-games"><a href="/downloads/macosx/games/">Games</a></li>
<li id="sn-homelearning"><a href="/downloads/macosx/home_learning/">Home &amp; Learning</a></li>
<li id="sn-iconsscreensavers"><a href="/downloads/macosx/icons_screensavers/">Icons, Screensavers, etc.</a></li>
<li id="sn-imaging3d"><a href="/downloads/macosx/imaging_3d/">Imaging &amp; 3D</a></li>
<li id="sn-internetutilities"><a href="/downloads/macosx/internet_utilities/">Internet Utilities</a></li>
<li id="sn-ipoditunes"><a href="/downloads/macosx/ipod_itunes/">iPod + iTunes</a></li>
<li id="sn-mathscience"><a href="/downloads/macosx/math_science/">Math &amp; Science</a></li>
<li id="sn-networkingsecurity"><a href="/downloads/macosx/networking_security/">Networking &amp; Security</a></li>
<li id="sn-productivitytools"><a href="/downloads/macosx/productivity_tools/">Productivity Tools</a></li>
<li id="sn-spotlight"><a href="/downloads/macosx/spotlight/">Spotlight Plugins</a></li>
<li id="sn-systemdiskutilities"><a href="/downloads/macosx/system_disk_utilities/">System/Disk Utilities</a></li>
<li id="sn-unixopensource"><a href="/downloads/macosx/unix_open_source/">UNIX &amp; Open Source</a></li>
<li id="sn-video"><a href="/downloads/macosx/video/">Video</a></li>
<li id="sn-dashboard"><a href="/downloads/dashboard/" class="bottom">Widgets</a></li>
</ul>
</li>
<li class="drawer">
<h2 class="drawer-handle">Top Downloads</h2>
<ul>
<li><a title="iTunes 7.5" href="http://www.apple.com/itunes/download/">1. iTunes 7.5</a></li>
<li><a title="QuickTime 7.3.1" href="http://www.apple.com/quicktime/download/">2. QuickTime 7.3.1</a></li>
<li><a title="Safari 3 Public Beta" href="http://www.apple.com/safari/download/">3. Safari 3 Public Beta</a></li>
<li><a title="MacPool" href="/downloads/macosx/games/simulation_and_sports/macpool.html">4. MacPool Realistic and easy to play computer simu…</a></li>
<li><a title="Guitar Hero III: Legends of Rock" href="/downloads/macosx/games/demos_updates/guitarheroiiilegendsofrock.html">5. Guitar Hero III: L…</a></li>
<li><a title="Messenger for Mac" href="/downloads/macosx/email_chat/messengerformac.html">6. Messenger for Mac</a></li>
<li><a title="Google Earth" href="/downloads/macosx/home_learning/googleearth.html">7. Google Earth</a></li>
<li><a title="Monopoly" href="/downloads/macosx/games/cards_puzzle/monopoly.html">8. Monopoly</a></li>
<li><a title="Litho System Icons" href="/downloads/macosx/icons_screensavers/lithosystemicons.html">9. Litho System Icons</a></li>
<li><a title="Battlefield 2142" href="/downloads/macosx/games/demos_updates/battlefield2142.html">10. Battlefield 2142</a></li>
<li><a title="More iChat Effects" href="/downloads/macosx/email_chat/moreichateffects.html">11. More iChat Effects</a></li>
<li><a title="Dragster" href="/downloads/macosx/internet_utilities/dragster.html">12. Dragster</a></li>
<li><a title="iSquint" href="/downloads/macosx/ipod_itunes/isquint.html">13. iSquint</a></li>
<li class="last"><a title="US Holiday Calendar" href="/downloads/macosx/calendars/usholidaycalendar.html">14. US Holiday Calendar</a></li>
</ul>
</li>
<li class="drawer last">
<h2 class="drawer-handle">Top Apple Downloads</h2>
<ul>
<li><a title="iTunes 7.5" href="http://www.apple.com/itunes/download/">1. iTunes 7.5</a></li>
<li><a title="QuickTime 7.3.1" href="http://www.apple.com/quicktime/download/">2. QuickTime 7.3.1</a></li>
<li><a title="Safari 3 Public Beta" href="http://www.apple.com/safari/download/">3. Safari 3 Public Beta</a></li>
<li><a title="Mac OS X 10.5.1 Update" href="/downloads/macosx/apple/macosx_updates/macosx1051update.html">4. Mac OS X 10.5.1 Up…</a></li>
<li><a title="Java for Mac OS X 10.4 Release 5" href="/downloads/macosx/apple/macosx_updates/javaformacosx104release5.html">5. Java for Mac OS X …</a></li>
<li><a title="iPod Reset Utility 1.0.2 for Windows" href="/downloads/macosx/apple/ipod_itunes/ipodresetutility102forwindows.html">6. iPod Reset Utility…</a></li>
<li><a title="iPhoto 7.1.1" href="/downloads/macosx/apple/application_updates/iphoto711.html">7. iPhoto 7.1.1</a></li>
<li><a title="Bonjour for Windows" href="/downloads/macosx/apple/windows/bonjourforwindows.html">8. Bonjour for Windows</a></li>
<li><a title="Mac OS X 10.4.11 Combo Update (PPC)" href="/downloads/macosx/apple/macosx_updates/macosx10411comboupdateppc.html">9. Mac OS X 10.4.11 C…<br/>The 10.4.11 Update is recommended for al…</a></li>
<li><a title="Java for Mac OS X 10.4, Release 6" href="/downloads/macosx/apple/macosx_updates/javaformacosx104release6.html">10. Java for Mac OS X …</a></li>
<li><a title="GarageBand 4.1.1" href="/downloads/macosx/apple/application_updates/garageband411.html">11. GarageBand 4.1.1</a></li>
<li><a title="iPod Updater 2006-06-28 for Windows" href="/downloads/macosx/apple/ipod_itunes/ipodupdater20060628forwindows.html">12. iPod Updater 2006-…</a></li>
<li><a title="Security Update 2007-009 1.1 (10.4.11 Universal)" href="/downloads/macosx/apple/security_updates/securityupdate20070091110411universal.html">13. Security Update 20…</a></li>
<li class="last"><a title="Security Update 2007-009 1.1 (10.5.1)" href="/downloads/macosx/apple/security_updates/securityupdate2007009111051.html">14. Security Update 20…</a></li>
</ul>
</li>
</ul>
<div class="capb"></div>
</div>
</body>
</html>

View File

@@ -1,65 +1,65 @@
$(document).ready(function() {
$("div.effect")
.hover(function() {
$(this).addClass("hover");
}, function() {
$(this).removeClass("hover");
})
;
var effect = function(el, n, o) {
$.extend(o, {
easing: "easeOutQuint"
});
$(el).bind("click", function() {
$(this).addClass("current").hide(n, o, 1000, function() {
var self = this;
window.setTimeout(function() {
$(self).show(n, o, 1000, function() { $(this).removeClass("current"); });
},500);
});
});
};
effect("#blindHorizontally", "blind", { direction: "horizontal" });
effect("#blindVertically", "blind", { direction: "vertical" });
effect("#bounce3times", "bounce", { times: 3 });
effect("#clipHorizontally", "clip", { direction: "horizontal" });
effect("#clipVertically", "clip", { direction: "vertical" });
effect("#dropDown", "drop", { direction: "down" });
effect("#dropUp", "drop", { direction: "up" });
effect("#dropLeft", "drop", { direction: "left" });
effect("#dropRight", "drop", { direction: "right" });
effect("#explode9", "explode", { });
effect("#explode36", "explode", { pieces: 36 });
effect("#fold", "fold", { size: 50 });
effect("#highlight", "highlight", { });
effect("#pulsate", "pulsate", { times: 2 });
effect("#puff", "puff", { times: 2 });
effect("#scale", "scale", { });
$("#shake").bind("click", function() { $(this).addClass("current").effect("shake", {}, 100, function() { $(this).removeClass("current"); }); });
effect("#slideDown", "slide", { direction: "down" });
effect("#slideUp", "slide", { direction: "up" });
effect("#slideLeft", "slide", { direction: "left" });
effect("#slideRight", "slide", { direction: "right" });
$("#transfer").bind("click", function() { $(this).addClass("current").effect("transfer", { to: "div:eq(0)" }, 1000, function() { $(this).removeClass("current"); }); });
$(document).ready(function() {
$("div.effect")
.hover(function() {
$(this).addClass("hover");
}, function() {
$(this).removeClass("hover");
})
;
var effect = function(el, n, o) {
$.extend(o, {
easing: "easeOutQuint"
});
$(el).bind("click", function() {
$(this).addClass("current").hide(n, o, 1000, function() {
var self = this;
window.setTimeout(function() {
$(self).show(n, o, 1000, function() { $(this).removeClass("current"); });
},500);
});
});
};
effect("#blindHorizontally", "blind", { direction: "horizontal" });
effect("#blindVertically", "blind", { direction: "vertical" });
effect("#bounce3times", "bounce", { times: 3 });
effect("#clipHorizontally", "clip", { direction: "horizontal" });
effect("#clipVertically", "clip", { direction: "vertical" });
effect("#dropDown", "drop", { direction: "down" });
effect("#dropUp", "drop", { direction: "up" });
effect("#dropLeft", "drop", { direction: "left" });
effect("#dropRight", "drop", { direction: "right" });
effect("#explode9", "explode", { });
effect("#explode36", "explode", { pieces: 36 });
effect("#fold", "fold", { size: 50 });
effect("#highlight", "highlight", { });
effect("#pulsate", "pulsate", { times: 2 });
effect("#puff", "puff", { times: 2 });
effect("#scale", "scale", { });
$("#shake").bind("click", function() { $(this).addClass("current").effect("shake", {}, 100, function() { $(this).removeClass("current"); }); });
effect("#slideDown", "slide", { direction: "down" });
effect("#slideUp", "slide", { direction: "up" });
effect("#slideLeft", "slide", { direction: "left" });
effect("#slideRight", "slide", { direction: "right" });
$("#transfer").bind("click", function() { $(this).addClass("current").effect("transfer", { to: "div:eq(0)" }, 1000, function() { $(this).removeClass("current"); }); });
});

View File

@@ -1,120 +1,120 @@
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html>
<head>
<meta http-equiv="Content-type" content="text/html; charset=utf-8" />
<title>Effects Test Suite</title>
<link rel="stylesheet" href="style.css" type="text/css" media="screen" title="no title" charset="utf-8" />
<script type="text/javascript" src="../../../../jquery/jquery-1.2.6.js"></script>
<script type="text/javascript" src="../../../source/effects.core.js"></script>
<script type="text/javascript" src="../../../source/effects.blind.js"></script>
<script type="text/javascript" src="../../../source/effects.bounce.js"></script>
<script type="text/javascript" src="../../../source/effects.clip.js"></script>
<script type="text/javascript" src="../../../source/effects.drop.js"></script>
<script type="text/javascript" src="../../../source/effects.explode.js"></script>
<script type="text/javascript" src="../../../source/effects.fold.js"></script>
<script type="text/javascript" src="../../../source/effects.highlight.js"></script>
<script type="text/javascript" src="../../../source/effects.pulsate.js"></script>
<script type="text/javascript" src="../../../source/effects.scale.js"></script>
<script type="text/javascript" src="../../../source/effects.shake.js"></script>
<script type="text/javascript" src="../../../source/effects.slide.js"></script>
<script type="text/javascript" src="../../../source/effects.transfer.js"></script>
<script type="text/javascript" src="demo.js"></script>
</head>
<body>
<div class="effect" id="blindHorizontally">
<p>Blind horizontally</p>
</div>
<div class="effect" id="blindVertically">
<p>Blind vertically</p>
</div>
<div class="effect" id="bounce3times">
<p>Bounce 3 times</p>
</div>
<div class="effect" id="clipHorizontally">
<p>Clip horizontally</p>
</div>
<div class="effect" id="clipVertically">
<p>Clip vertically</p>
</div>
<div class="effect" id="dropDown">
<p>Drop down</p>
</div>
<div class="effect" id="dropUp">
<p>Drop up</p>
</div>
<div class="effect" id="dropLeft">
<p>Drop left</p>
</div>
<div class="effect" id="dropRight">
<p>Drop right</p>
</div>
<div class="effect" id="explode9">
<p>Explode in 9 pieces</p>
</div>
<div class="effect" id="explode36">
<p>Explode in 36 pieces</p>
</div>
<div class="effect" id="fold">
<p>Fold</p>
</div>
<div class="effect" id="highlight">
<p>Highlight</p>
</div>
<div class="effect" id="pulsate">
<p>Pulsate 2 times</p>
</div>
<div class="effect" id="puff">
<p>Puff</p>
</div>
<div class="effect" id="scale">
<p>Scale</p>
</div>
<div class="effect" id="shake">
<p>Shake</p>
</div>
<div class="effect" id="slideDown">
<p>Slide down</p>
</div>
<div class="effect" id="slideUp">
<p>Slide up</p>
</div>
<div class="effect" id="slideLeft">
<p>Slide left</p>
</div>
<div class="effect" id="slideRight">
<p>Slide right</p>
</div>
<div class="effect" id="transfer">
<p>Transfer to first element</p>
</div>
</body>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html>
<head>
<meta http-equiv="Content-type" content="text/html; charset=utf-8" />
<title>Effects Test Suite</title>
<link rel="stylesheet" href="style.css" type="text/css" media="screen" title="no title" charset="utf-8" />
<script type="text/javascript" src="../../../../jquery/jquery-1.2.6.js"></script>
<script type="text/javascript" src="../../../source/effects.core.js"></script>
<script type="text/javascript" src="../../../source/effects.blind.js"></script>
<script type="text/javascript" src="../../../source/effects.bounce.js"></script>
<script type="text/javascript" src="../../../source/effects.clip.js"></script>
<script type="text/javascript" src="../../../source/effects.drop.js"></script>
<script type="text/javascript" src="../../../source/effects.explode.js"></script>
<script type="text/javascript" src="../../../source/effects.fold.js"></script>
<script type="text/javascript" src="../../../source/effects.highlight.js"></script>
<script type="text/javascript" src="../../../source/effects.pulsate.js"></script>
<script type="text/javascript" src="../../../source/effects.scale.js"></script>
<script type="text/javascript" src="../../../source/effects.shake.js"></script>
<script type="text/javascript" src="../../../source/effects.slide.js"></script>
<script type="text/javascript" src="../../../source/effects.transfer.js"></script>
<script type="text/javascript" src="demo.js"></script>
</head>
<body>
<div class="effect" id="blindHorizontally">
<p>Blind horizontally</p>
</div>
<div class="effect" id="blindVertically">
<p>Blind vertically</p>
</div>
<div class="effect" id="bounce3times">
<p>Bounce 3 times</p>
</div>
<div class="effect" id="clipHorizontally">
<p>Clip horizontally</p>
</div>
<div class="effect" id="clipVertically">
<p>Clip vertically</p>
</div>
<div class="effect" id="dropDown">
<p>Drop down</p>
</div>
<div class="effect" id="dropUp">
<p>Drop up</p>
</div>
<div class="effect" id="dropLeft">
<p>Drop left</p>
</div>
<div class="effect" id="dropRight">
<p>Drop right</p>
</div>
<div class="effect" id="explode9">
<p>Explode in 9 pieces</p>
</div>
<div class="effect" id="explode36">
<p>Explode in 36 pieces</p>
</div>
<div class="effect" id="fold">
<p>Fold</p>
</div>
<div class="effect" id="highlight">
<p>Highlight</p>
</div>
<div class="effect" id="pulsate">
<p>Pulsate 2 times</p>
</div>
<div class="effect" id="puff">
<p>Puff</p>
</div>
<div class="effect" id="scale">
<p>Scale</p>
</div>
<div class="effect" id="shake">
<p>Shake</p>
</div>
<div class="effect" id="slideDown">
<p>Slide down</p>
</div>
<div class="effect" id="slideUp">
<p>Slide up</p>
</div>
<div class="effect" id="slideLeft">
<p>Slide left</p>
</div>
<div class="effect" id="slideRight">
<p>Slide right</p>
</div>
<div class="effect" id="transfer">
<p>Transfer to first element</p>
</div>
</body>
</html>

View File

@@ -1,36 +1,36 @@
body,html {
margin: 0;
padding: 0;
font-size: 12px;
font-family: Arial;
background: #000;
}
div.effect {
width: 120px;
height: 100px;
background: #333;
border: 5px outset #aaa;
float: left;
margin-top: 20px;
margin-left: 20px;
cursor: pointer;
cursor: hand;
}
div.current {
border: 5px outset #FF0000;
background: #660000;
}
div.effect p {
color: #eee;
margin: 0px;
padding: 10px;
}
.ui-effects-transfer {
border: 1px dotted #fff;
background: #666;
opacity: 0.5;
body,html {
margin: 0;
padding: 0;
font-size: 12px;
font-family: Arial;
background: #000;
}
div.effect {
width: 120px;
height: 100px;
background: #333;
border: 5px outset #aaa;
float: left;
margin-top: 20px;
margin-left: 20px;
cursor: pointer;
cursor: hand;
}
div.current {
border: 5px outset #FF0000;
background: #660000;
}
div.effect p {
color: #eee;
margin: 0px;
padding: 10px;
}
.ui-effects-transfer {
border: 1px dotted #fff;
background: #666;
opacity: 0.5;
}

View File

@@ -1,231 +1,231 @@
<!DOCTYPE html>
<html lang="en">
<head>
<meta http-equiv="Content-Language" content="en" />
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>Image Cropper: jQuery Real-world Demo</title>
<script type="text/javascript" src="../../../../jquery/jquery-1.2.6.js"></script>
<script type="text/javascript" src="../../../source/ui.core.js"></script>
<script type="text/javascript" src="../../../source/ui.resizable.js"></script>
<script type="text/javascript" src="../../../source/ui.draggable.js"></script>
<script type="text/javascript" src="../../../source/effects.core.js"></script>
<script type="text/javascript" src="../../../source/effects.bounce.js"></script>
<script type="text/javascript" src="../../../source/effects.scale.js"></script>
<style type="text/css">
<!--
/*************************************/
/* Real-World CSS */
@import "real-world.css";
/*************************************/
/* Demo CSS */
#sidebar div {
text-align:center;
}
.thumb ul {
padding:10px 0 0 0;
}
.thumbs li {
margin:4px 20px;
}
.thumbs li a,
.thumbs li a img{
height: 75px;
width: 75px;
display: block;
}
.thumbs li a:hover,
.thumbs li a:hover img{
height: 130px;
width: 130px;
}
.thumbs li a:hover {
border: 4px solid #E8EEF7;
}
#break strong {
margin:0 0 4px 0;
}
#break ul {
padding:6px;
}
#break ul li {
padding:3px 0px;
font-style: italic;
}
#break ul li span {
font-style: normal;
}
.ui-resizable-knob {
border: 1px #fff dashed;
}
/*************************************/
/* Cropper CSS */
#resizeme_containment_wrap_image {
position: relative;
}
#resizeme_containment_div {
position: absolute;
top:0px;
left:0px;
width: 150px;
height:150px;
}
#resizeme_containment_div_wrapper {
position: relative;
}
-->
</style>
<script type="text/javascript">
var getSizeImg = function(src) {
var timg = $('<img>').attr('src', src).css({ position: 'absolute', top: '-1000px', left: '-1000px' }).appendTo('body');
var size = [ timg.get(0).offsetWidth, timg.get(0).offsetHeight ];
try { document.body.removeChild(timg[0]); }
catch(e) {};
return size;
};
$().ready(function(){
$('#resizeme_containment_div').resizable({
containment: $('#resizeme_containment_div_wrapper'),
//proxy: 'proxy',
//ghost: true,
//animate:true,
handles: 'all',
knobHandles: true,
//transparent: true,
//aspectRatio: true,
autoHide: true,
minWidth: 100,
minHeight: 100,
resize: function(e, ui) {
var self = $(this).data("resizable");
this.style.backgroundPosition = '-' + (self.position.left) + 'px -' + (self.position.top) + 'px';
$("#log-top").html(self.position.top+"px");
$("#log-left").html(self.position.left+"px");
$("#log-height").html(self.size.height+"px");
$("#log-width").html(self.size.width+"px");
},
stop: function(e, ui) {
var self = $(this).data("resizable");
this.style.backgroundPosition = '-' + (self.position.left) + 'px -' + (self.position.top) + 'px';
}
})
.draggable({
cursor: 'move',
containment: $('#resizeme_containment_div_wrapper'),
drag: function(e, ui) {
var self = $(this).data("draggable");
this.style.backgroundPosition = '-' + (self.position.left) + 'px -' + (self.position.top) + 'px';
$("#log-top").html(self.position.top+"px");
$("#log-left").html(self.position.left+"px");
}
});
$('.thumbs').find("li a").click(function(e){
$('#resizeme_containment_div').css('top', '0');
$('#resizeme_containment_div').css('left', '0');
var size = getSizeImg($(this).find("img").attr("src"));
$('#resizeme_containment_wrap_image').css( { width: size[0], height: size[1], background: 'transparent url('+$(this).find("img").attr("src")+') no-repeat scroll 0%' } );
$('#resizeme_containment_div_wrapper').css( { width: size[0], height: size[1] } );
$('#resizeme_containment_div').css('background', 'transparent url('+$(this).find("img").attr("src")+') no-repeat scroll 0px 0px');
return false;
});
$('#resizeme_containment_wrap_image').css({ opacity: 0.5 });
$("#log-height").html($('#resizeme_containment_div').height()+"px");
$("#log-width").html($('#resizeme_containment_div').width()+"px");
});
$(window).load(function(){
var size = getSizeImg("img/img01.jpg");
$('#resizeme_containment_div').css('background', 'transparent url(img/img01.jpg) no-repeat scroll 0px 0px');
$('#resizeme_containment_div_wrapper').css( { width: size[0], height: size[1] } );
$('#resizeme_containment_wrap_image').css( { width: size[0], height: size[1], background: 'transparent url(img/img01.jpg) no-repeat scroll 0%' } );
});
</script>
</head>
<body>
<div id="sidebar">
<ul class="thumbs">
<li><a href="#" title="Open This Image"><img src="img/img01.jpg"/></a></li>
<li><a href="#" title="Open This Image"><img src="img/img02.jpg"/></a></li>
<li><a href="#" title="Open This Image"><img src="img/img03.jpg"/></a></li>
<li><a href="#" title="Open This Image"><img src="img/img04.jpg"/></a></li>
<li><a href="#" title="Open This Image"><img src="img/img05.jpg"/></a></li>
</div>
</div>
<div id="main">
<div id="header">
<h2>jQuery Real-world Demo: Image Cropper</h2>
</div>
<div id="content">
<div id="resizeme_containment_div_wrapper">
<div id="resizeme_containment_wrap_image"></div>
<div id="resizeme_containment_div"></div>
</div>
</div>
<div id="break">
<strong>Properties:</strong>
<ul>
<li>width: <span id="log-width">0px</span></li>
<li>height: <span id="log-height">0px</span></li>
<li>top: <span id="log-top">0px</span></li>
<li>left: <span id="log-left">0px</span></li>
</ul>
</div>
</div>
</body>
</html>
<!DOCTYPE html>
<html lang="en">
<head>
<meta http-equiv="Content-Language" content="en" />
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>Image Cropper: jQuery Real-world Demo</title>
<script type="text/javascript" src="../../../../jquery/jquery-1.2.6.js"></script>
<script type="text/javascript" src="../../../source/ui.core.js"></script>
<script type="text/javascript" src="../../../source/ui.resizable.js"></script>
<script type="text/javascript" src="../../../source/ui.draggable.js"></script>
<script type="text/javascript" src="../../../source/effects.core.js"></script>
<script type="text/javascript" src="../../../source/effects.bounce.js"></script>
<script type="text/javascript" src="../../../source/effects.scale.js"></script>
<style type="text/css">
<!--
/*************************************/
/* Real-World CSS */
@import "real-world.css";
/*************************************/
/* Demo CSS */
#sidebar div {
text-align:center;
}
.thumb ul {
padding:10px 0 0 0;
}
.thumbs li {
margin:4px 20px;
}
.thumbs li a,
.thumbs li a img{
height: 75px;
width: 75px;
display: block;
}
.thumbs li a:hover,
.thumbs li a:hover img{
height: 130px;
width: 130px;
}
.thumbs li a:hover {
border: 4px solid #E8EEF7;
}
#break strong {
margin:0 0 4px 0;
}
#break ul {
padding:6px;
}
#break ul li {
padding:3px 0px;
font-style: italic;
}
#break ul li span {
font-style: normal;
}
.ui-resizable-knob {
border: 1px #fff dashed;
}
/*************************************/
/* Cropper CSS */
#resizeme_containment_wrap_image {
position: relative;
}
#resizeme_containment_div {
position: absolute;
top:0px;
left:0px;
width: 150px;
height:150px;
}
#resizeme_containment_div_wrapper {
position: relative;
}
-->
</style>
<script type="text/javascript">
var getSizeImg = function(src) {
var timg = $('<img>').attr('src', src).css({ position: 'absolute', top: '-1000px', left: '-1000px' }).appendTo('body');
var size = [ timg.get(0).offsetWidth, timg.get(0).offsetHeight ];
try { document.body.removeChild(timg[0]); }
catch(e) {};
return size;
};
$().ready(function(){
$('#resizeme_containment_div').resizable({
containment: $('#resizeme_containment_div_wrapper'),
//proxy: 'proxy',
//ghost: true,
//animate:true,
handles: 'all',
knobHandles: true,
//transparent: true,
//aspectRatio: true,
autoHide: true,
minWidth: 100,
minHeight: 100,
resize: function(e, ui) {
var self = $(this).data("resizable");
this.style.backgroundPosition = '-' + (self.position.left) + 'px -' + (self.position.top) + 'px';
$("#log-top").html(self.position.top+"px");
$("#log-left").html(self.position.left+"px");
$("#log-height").html(self.size.height+"px");
$("#log-width").html(self.size.width+"px");
},
stop: function(e, ui) {
var self = $(this).data("resizable");
this.style.backgroundPosition = '-' + (self.position.left) + 'px -' + (self.position.top) + 'px';
}
})
.draggable({
cursor: 'move',
containment: $('#resizeme_containment_div_wrapper'),
drag: function(e, ui) {
var self = $(this).data("draggable");
this.style.backgroundPosition = '-' + (self.position.left) + 'px -' + (self.position.top) + 'px';
$("#log-top").html(self.position.top+"px");
$("#log-left").html(self.position.left+"px");
}
});
$('.thumbs').find("li a").click(function(e){
$('#resizeme_containment_div').css('top', '0');
$('#resizeme_containment_div').css('left', '0');
var size = getSizeImg($(this).find("img").attr("src"));
$('#resizeme_containment_wrap_image').css( { width: size[0], height: size[1], background: 'transparent url('+$(this).find("img").attr("src")+') no-repeat scroll 0%' } );
$('#resizeme_containment_div_wrapper').css( { width: size[0], height: size[1] } );
$('#resizeme_containment_div').css('background', 'transparent url('+$(this).find("img").attr("src")+') no-repeat scroll 0px 0px');
return false;
});
$('#resizeme_containment_wrap_image').css({ opacity: 0.5 });
$("#log-height").html($('#resizeme_containment_div').height()+"px");
$("#log-width").html($('#resizeme_containment_div').width()+"px");
});
$(window).load(function(){
var size = getSizeImg("img/img01.jpg");
$('#resizeme_containment_div').css('background', 'transparent url(img/img01.jpg) no-repeat scroll 0px 0px');
$('#resizeme_containment_div_wrapper').css( { width: size[0], height: size[1] } );
$('#resizeme_containment_wrap_image').css( { width: size[0], height: size[1], background: 'transparent url(img/img01.jpg) no-repeat scroll 0%' } );
});
</script>
</head>
<body>
<div id="sidebar">
<ul class="thumbs">
<li><a href="#" title="Open This Image"><img src="img/img01.jpg"/></a></li>
<li><a href="#" title="Open This Image"><img src="img/img02.jpg"/></a></li>
<li><a href="#" title="Open This Image"><img src="img/img03.jpg"/></a></li>
<li><a href="#" title="Open This Image"><img src="img/img04.jpg"/></a></li>
<li><a href="#" title="Open This Image"><img src="img/img05.jpg"/></a></li>
</div>
</div>
<div id="main">
<div id="header">
<h2>jQuery Real-world Demo: Image Cropper</h2>
</div>
<div id="content">
<div id="resizeme_containment_div_wrapper">
<div id="resizeme_containment_wrap_image"></div>
<div id="resizeme_containment_div"></div>
</div>
</div>
<div id="break">
<strong>Properties:</strong>
<ul>
<li>width: <span id="log-width">0px</span></li>
<li>height: <span id="log-height">0px</span></li>
<li>top: <span id="log-top">0px</span></li>
<li>left: <span id="log-left">0px</span></li>
</ul>
</div>
</div>
</body>
</html>

View File

@@ -1,104 +1,104 @@
/*************************************/
/* Blueprint: reset.css */
html, body, div, span, applet, object, iframe,
h1, h2, h3, h4, h5, h6, p, blockquote, pre,
a, abbr, acronym, address, big, cite, code,
del, dfn, em, font, img, ins, kbd, q, s, samp,
small, strike, strong, sub, sup, tt, var,
dl, dt, dd, ol, ul, li,
fieldset, form, label, legend,
table, caption, tbody, tfoot, thead, tr, th, td {
margin: 0;
padding: 0;
border: 0;
outline: 0;
font-size: 100%;
font-family: inherit;
vertical-align: baseline;
}
/* Remember to define focus styles! */
:focus {
outline: 0;
}
body {
line-height: 1;
color: black;
background: white;
}
ol, ul {
list-style: none;
}
/* Tables still need 'cellspacing="0"' in the markup. */
table {
border-collapse: separate;
border-spacing: 0;
}
caption, th, td {
text-align: left;
font-weight: normal;
}
/* Remove possible quote marks (") from <q>, <blockquote>. */
blockquote:before, blockquote:after,
q:before, q:after {
content: "";
}
blockquote, q {
quotes: "" "";
}
.clear {
clear:both;
}
/*************************************/
/* Layout */
body, html {
height: 100%;
font-family:sans-serif;
font-size:13px;
margin:0px;
padding:0px;
}
body, html {
height: 100%;
font-family:sans-serif;
font-size:13px;
}
#main {
height:auto;
background: #E8EEF7;
border-left:1px solid #ccc;
border-bottom:1px solid #ccc;
margin:0 0 0 200px;
}
#header {
height:30px;
padding:10px;
font-size:2em;
font-weight:bold;
text-align: center;
border-bottom:1px solid #ccc;
background: #E8EEF7;
}
#main #content {
padding:10px;
background: #FFF;
}
#main #break {
padding:10px;
border-top:1px solid #ccc;
}
#sidebar {
float:left;
width:200px;
height:100%;
border-right:1px solid #ccc;
}
#sidebar div {
padding:10px;
}
/*************************************/
/* Blueprint: reset.css */
html, body, div, span, applet, object, iframe,
h1, h2, h3, h4, h5, h6, p, blockquote, pre,
a, abbr, acronym, address, big, cite, code,
del, dfn, em, font, img, ins, kbd, q, s, samp,
small, strike, strong, sub, sup, tt, var,
dl, dt, dd, ol, ul, li,
fieldset, form, label, legend,
table, caption, tbody, tfoot, thead, tr, th, td {
margin: 0;
padding: 0;
border: 0;
outline: 0;
font-size: 100%;
font-family: inherit;
vertical-align: baseline;
}
/* Remember to define focus styles! */
:focus {
outline: 0;
}
body {
line-height: 1;
color: black;
background: white;
}
ol, ul {
list-style: none;
}
/* Tables still need 'cellspacing="0"' in the markup. */
table {
border-collapse: separate;
border-spacing: 0;
}
caption, th, td {
text-align: left;
font-weight: normal;
}
/* Remove possible quote marks (") from <q>, <blockquote>. */
blockquote:before, blockquote:after,
q:before, q:after {
content: "";
}
blockquote, q {
quotes: "" "";
}
.clear {
clear:both;
}
/*************************************/
/* Layout */
body, html {
height: 100%;
font-family:sans-serif;
font-size:13px;
margin:0px;
padding:0px;
}
body, html {
height: 100%;
font-family:sans-serif;
font-size:13px;
}
#main {
height:auto;
background: #E8EEF7;
border-left:1px solid #ccc;
border-bottom:1px solid #ccc;
margin:0 0 0 200px;
}
#header {
height:30px;
padding:10px;
font-size:2em;
font-weight:bold;
text-align: center;
border-bottom:1px solid #ccc;
background: #E8EEF7;
}
#main #content {
padding:10px;
background: #FFF;
}
#main #break {
padding:10px;
border-top:1px solid #ccc;
}
#sidebar {
float:left;
width:200px;
height:100%;
border-right:1px solid #ccc;
}
#sidebar div {
padding:10px;
}

View File

@@ -1,42 +1,42 @@
body { background-color:#666; color:#FFF; font:11px/1.5 Arial, sans-serif; margin:0; overflow:hidden; padding:30px 0 0 30px; }
h1 { font-size:18px; margin:0 0 20px; }
a { color:#FFF; }
.clear { clear:both; font-size:1px; line-height:1px; }
#overlay { background:#666; height:100%; left:0; position:absolute; top:0; width:100%; z-index:2000; }
#overlay #preloader { background:url(loader_bg.gif) no-repeat; height:50px; left:50%; line-height:50px; margin:-25px 0 0 -25px; position:absolute; text-align:center; top:50%; width:50px; }
#overlay #preloader img { margin:11px 0 0 0; vertical-align:middle; }
.ui-sortable { background-color:#FFF; border:1px solid #555; color:#222; margin:0 15px 15px 0; padding:0 10px 10px; width:175px; }
.ui-sortable h2 { background-color:#555; border-top:3px solid #666; color:#FFF; font-size:11px; margin:0 -10px 10px; line-height:2; padding:0 10px; }
dl.sort { color:#222; margin:10px 0; }
#uidemo dl.first { margin-top:0; }
#uidemo dl.last { margin-bottom:0; }
dl.sort dt { background-color:#666; color:#FFF; cursor:move; height:2em; line-height:2; padding:0 6px; position:relative; }
dl.sort dd { background-color:#FFF; margin:0; padding:3px 6px; }
.ui-sortable-helper { width:175px; }
.placeholder { border:1px dashed #AAA; }
span.options { cursor:default; font-size:1px; line-height:1px; position:absolute; }
span.options a { background-color:#FFF; cursor:pointer; display:block; float:left; text-indent:-9000px; }
.ui-sortable h2 span.options { right:10px; top:8px; width:30px; }
.ui-sortable h2 span.options a { height:12px; width:30px; }
dl.sort dt span.options { right:5px; top:5px; width:27px; }
dl.sort dt span.options a { height:12px; width:12px; }
dl.sort dt span.options a.up { margin-right:3px; }
dl.sort dt span.options a.disabled { background-color:#555; cursor:default; }
#container { float:left; }
#header { width:638px; }
#content { float:left; width:400px; }
#sidebar { float:left; width:200px; }
#footer { width:638px; }
#trashcan { float:left; }
body { background-color:#666; color:#FFF; font:11px/1.5 Arial, sans-serif; margin:0; overflow:hidden; padding:30px 0 0 30px; }
h1 { font-size:18px; margin:0 0 20px; }
a { color:#FFF; }
.clear { clear:both; font-size:1px; line-height:1px; }
#overlay { background:#666; height:100%; left:0; position:absolute; top:0; width:100%; z-index:2000; }
#overlay #preloader { background:url(loader_bg.gif) no-repeat; height:50px; left:50%; line-height:50px; margin:-25px 0 0 -25px; position:absolute; text-align:center; top:50%; width:50px; }
#overlay #preloader img { margin:11px 0 0 0; vertical-align:middle; }
.ui-sortable { background-color:#FFF; border:1px solid #555; color:#222; margin:0 15px 15px 0; padding:0 10px 10px; width:175px; }
.ui-sortable h2 { background-color:#555; border-top:3px solid #666; color:#FFF; font-size:11px; margin:0 -10px 10px; line-height:2; padding:0 10px; }
dl.sort { color:#222; margin:10px 0; }
#uidemo dl.first { margin-top:0; }
#uidemo dl.last { margin-bottom:0; }
dl.sort dt { background-color:#666; color:#FFF; cursor:move; height:2em; line-height:2; padding:0 6px; position:relative; }
dl.sort dd { background-color:#FFF; margin:0; padding:3px 6px; }
.ui-sortable-helper { width:175px; }
.placeholder { border:1px dashed #AAA; }
span.options { cursor:default; font-size:1px; line-height:1px; position:absolute; }
span.options a { background-color:#FFF; cursor:pointer; display:block; float:left; text-indent:-9000px; }
.ui-sortable h2 span.options { right:10px; top:8px; width:30px; }
.ui-sortable h2 span.options a { height:12px; width:30px; }
dl.sort dt span.options { right:5px; top:5px; width:27px; }
dl.sort dt span.options a { height:12px; width:12px; }
dl.sort dt span.options a.up { margin-right:3px; }
dl.sort dt span.options a.disabled { background-color:#555; cursor:default; }
#container { float:left; }
#header { width:638px; }
#content { float:left; width:400px; }
#sidebar { float:left; width:200px; }
#footer { width:638px; }
#trashcan { float:left; }
#trashcan p { margin:0; }

View File

@@ -1,97 +1,97 @@
(function($){
var updateUpDown = function(sortable){
$('dl:not(.ui-sortable-helper)', sortable)
.removeClass('first').removeClass('last')
.find('.up, .down').removeClass('disabled').end()
.filter(':first').addClass('first').find('.up').addClass('disabled').end().end()
.filter(':last').addClass('last').find('.down').addClass('disabled').end().end();
};
var moveUpDown = function(){
var link = $(this),
dl = link.parents('dl'),
prev = dl.prev('dl'),
next = dl.next('dl');
if(link.is('.up') && prev.length > 0)
dl.insertBefore(prev);
if(link.is('.down') && next.length > 0)
dl.insertAfter(next);
updateUpDown(dl.parent());
};
var addItem = function(){
var sortable = $(this).parents('.ui-sortable');
var options = '<span class="options"><a class="up">up</a><a class="down">down</a></span>';
var tpl = '<dl class="sort"><dt>{name}' + options + '</dt><dd>{desc}</dd></dl>';
var html = tpl.replace(/{name}/g, 'Dynamic name :D').replace(/{desc}/g, 'Description');
sortable.append(html).sortable('refresh').find('a.up, a.down').bind('click', moveUpDown);
updateUpDown(sortable);
};
var emptyTrashCan = function(item){
item.remove();
};
var sortableChange = function(e, ui){
if(ui.sender){
var w = ui.element.width();
ui.placeholder.width(w);
ui.helper.css("width",ui.element.children().width());
}
};
var sortableUpdate = function(e, ui){
if(ui.element[0].id == 'trashcan'){
emptyTrashCan(ui.item);
} else {
updateUpDown(ui.element[0]);
if(ui.sender)
updateUpDown(ui.sender[0]);
}
};
$(document).ready(function(){
var els = ['#header', '#content', '#sidebar', '#footer', '#trashcan'];
var $els = $(els.toString());
$('h2', $els.slice(0,-1)).append('<span class="options"><a class="add">add</a></span>');
$('dt', $els).append('<span class="options"><a class="up">up</a><a class="down">down</a></span>');
$('a.add').bind('click', addItem);
$('a.up, a.down').bind('click', moveUpDown);
$els.each(function(){
updateUpDown(this);
});
$els.sortable({
items: '> dl',
handle: 'dt',
cursor: 'move',
//cursorAt: { top: 2, left: 2 },
//opacity: 0.8,
//helper: 'clone',
appendTo: 'body',
//placeholder: 'clone',
//placeholder: 'placeholder',
connectWith: els,
start: function(e,ui) {
ui.helper.css("width", ui.item.width());
},
change: sortableChange,
update: sortableUpdate
});
});
$(window).bind('load',function(){
setTimeout(function(){
$('#overlay').fadeOut(function(){
$('body').css('overflow', 'auto');
});
}, 750);
});
(function($){
var updateUpDown = function(sortable){
$('dl:not(.ui-sortable-helper)', sortable)
.removeClass('first').removeClass('last')
.find('.up, .down').removeClass('disabled').end()
.filter(':first').addClass('first').find('.up').addClass('disabled').end().end()
.filter(':last').addClass('last').find('.down').addClass('disabled').end().end();
};
var moveUpDown = function(){
var link = $(this),
dl = link.parents('dl'),
prev = dl.prev('dl'),
next = dl.next('dl');
if(link.is('.up') && prev.length > 0)
dl.insertBefore(prev);
if(link.is('.down') && next.length > 0)
dl.insertAfter(next);
updateUpDown(dl.parent());
};
var addItem = function(){
var sortable = $(this).parents('.ui-sortable');
var options = '<span class="options"><a class="up">up</a><a class="down">down</a></span>';
var tpl = '<dl class="sort"><dt>{name}' + options + '</dt><dd>{desc}</dd></dl>';
var html = tpl.replace(/{name}/g, 'Dynamic name :D').replace(/{desc}/g, 'Description');
sortable.append(html).sortable('refresh').find('a.up, a.down').bind('click', moveUpDown);
updateUpDown(sortable);
};
var emptyTrashCan = function(item){
item.remove();
};
var sortableChange = function(e, ui){
if(ui.sender){
var w = ui.element.width();
ui.placeholder.width(w);
ui.helper.css("width",ui.element.children().width());
}
};
var sortableUpdate = function(e, ui){
if(ui.element[0].id == 'trashcan'){
emptyTrashCan(ui.item);
} else {
updateUpDown(ui.element[0]);
if(ui.sender)
updateUpDown(ui.sender[0]);
}
};
$(document).ready(function(){
var els = ['#header', '#content', '#sidebar', '#footer', '#trashcan'];
var $els = $(els.toString());
$('h2', $els.slice(0,-1)).append('<span class="options"><a class="add">add</a></span>');
$('dt', $els).append('<span class="options"><a class="up">up</a><a class="down">down</a></span>');
$('a.add').bind('click', addItem);
$('a.up, a.down').bind('click', moveUpDown);
$els.each(function(){
updateUpDown(this);
});
$els.sortable({
items: '> dl',
handle: 'dt',
cursor: 'move',
//cursorAt: { top: 2, left: 2 },
//opacity: 0.8,
//helper: 'clone',
appendTo: 'body',
//placeholder: 'clone',
//placeholder: 'placeholder',
connectWith: els,
start: function(e,ui) {
ui.helper.css("width", ui.item.width());
},
change: sortableChange,
update: sortableUpdate
});
});
$(window).bind('load',function(){
setTimeout(function(){
$('#overlay').fadeOut(function(){
$('body').css('overflow', 'auto');
});
}, 750);
});
})(jQuery);

View File

@@ -1,94 +1,94 @@
<!DOCTYPE html>
<html lang="en">
<head>
<title>UI Sortable: Layout Demo</title>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
<meta name="title" content="UI Sortable: Layout Demo" />
<meta name="description" content="A sortable layout created with the jQuery UI suite" />
<meta name="author" content="Joan Piedra" />
<meta name="author-url" content="http://www.joanpiedra.com/" />
<meta name="author-url" content="http://www.justaquit.com/" />
<meta name="author-url" content="http://jquery.com/" />
<link rel="shortcut icon" href="http://jquery.com/favicon.ico" />
<link rel="icon" href="http://jquery.com/favicon.ico" type="image/x-icon" />
<link rel="stylesheet" href="demo.css" type="text/css" media="screen" />
<!-- saved from url=(0013)about:internet -->
</head>
<body id="uidemo">
<h1>UI Sortable: <em>Layout demo</em></h1>
<div id="container">
<div id="header" class="ui-sortable">
<h2>Header</h2>
<dl class="sort">
<dt>Pages</dt>
<dd>Main Navigation</dd>
</dl>
</div>
<div id="content" class="ui-sortable">
<h2>Content</h2>
<dl class="sort">
<dt>Blog</dt>
<dd>Main blog post</dd>
</dl>
</div>
<div id="sidebar" class="ui-sortable">
<h2>Sidebar</h2>
<dl class="sort">
<dt>Pages</dt>
<dd>Mini About</dd>
</dl>
<dl class="sort">
<dt>Blog</dt>
<dd>Monthly Archives</dd>
</dl>
<dl class="sort">
<dt>Links</dt>
<dd>Random Links</dd>
</dl>
</div>
<div class="clear"></div>
<div id="footer" class="ui-sortable">
<h2>Footer</h2>
<dl class="sort">
<dt>Pages</dt>
<dd>Copyright</dd>
</dl>
</div>
</div>
<div id="trashcan" class="ui-sortable">
<h2>Trash can</h2>
<p>Drag modules here to delete them.</p>
</div>
<div class="clear"></div>
<div id="overlay">
<div id="preloader"><img src="loader.gif" alt="" /></div>
</div>
<!-- jQuery Core -->
<script type="text/javascript" src="../../../../jquery/jquery-1.2.6.js"></script>
<!-- jQuery UI Base -->
<script type="text/javascript" src="../../../source/ui.core.js"></script>
<!-- jQuery UI Plugins -->
<script type="text/javascript" src="../../../source/ui.draggable.js"></script>
<script type="text/javascript" src="../../../source/ui.droppable.js"></script>
<script type="text/javascript" src="../../../source/ui.sortable.js"></script>
<!-- jQuery UI Demo -->
<script type="text/javascript" src="demo.js"></script>
</body>
<!DOCTYPE html>
<html lang="en">
<head>
<title>UI Sortable: Layout Demo</title>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
<meta name="title" content="UI Sortable: Layout Demo" />
<meta name="description" content="A sortable layout created with the jQuery UI suite" />
<meta name="author" content="Joan Piedra" />
<meta name="author-url" content="http://www.joanpiedra.com/" />
<meta name="author-url" content="http://www.justaquit.com/" />
<meta name="author-url" content="http://jquery.com/" />
<link rel="shortcut icon" href="http://jquery.com/favicon.ico" />
<link rel="icon" href="http://jquery.com/favicon.ico" type="image/x-icon" />
<link rel="stylesheet" href="demo.css" type="text/css" media="screen" />
<!-- saved from url=(0013)about:internet -->
</head>
<body id="uidemo">
<h1>UI Sortable: <em>Layout demo</em></h1>
<div id="container">
<div id="header" class="ui-sortable">
<h2>Header</h2>
<dl class="sort">
<dt>Pages</dt>
<dd>Main Navigation</dd>
</dl>
</div>
<div id="content" class="ui-sortable">
<h2>Content</h2>
<dl class="sort">
<dt>Blog</dt>
<dd>Main blog post</dd>
</dl>
</div>
<div id="sidebar" class="ui-sortable">
<h2>Sidebar</h2>
<dl class="sort">
<dt>Pages</dt>
<dd>Mini About</dd>
</dl>
<dl class="sort">
<dt>Blog</dt>
<dd>Monthly Archives</dd>
</dl>
<dl class="sort">
<dt>Links</dt>
<dd>Random Links</dd>
</dl>
</div>
<div class="clear"></div>
<div id="footer" class="ui-sortable">
<h2>Footer</h2>
<dl class="sort">
<dt>Pages</dt>
<dd>Copyright</dd>
</dl>
</div>
</div>
<div id="trashcan" class="ui-sortable">
<h2>Trash can</h2>
<p>Drag modules here to delete them.</p>
</div>
<div class="clear"></div>
<div id="overlay">
<div id="preloader"><img src="loader.gif" alt="" /></div>
</div>
<!-- jQuery Core -->
<script type="text/javascript" src="../../../../jquery/jquery-1.2.6.js"></script>
<!-- jQuery UI Base -->
<script type="text/javascript" src="../../../source/ui.core.js"></script>
<!-- jQuery UI Plugins -->
<script type="text/javascript" src="../../../source/ui.draggable.js"></script>
<script type="text/javascript" src="../../../source/ui.droppable.js"></script>
<script type="text/javascript" src="../../../source/ui.sortable.js"></script>
<!-- jQuery UI Demo -->
<script type="text/javascript" src="demo.js"></script>
</body>
</html>

View File

@@ -1,126 +1,126 @@
<!DOCTYPE html>
<html lang="en">
<head>
<title>jQuery UI Draggables and Droppables playground</title>
<meta http-equiv="content-type" content="text/html; charset=utf-8" />
<meta http-equiv="content-language" content="en" />
<meta name="keywords" content="jquery, ui, droppables, draggables, demo" />
<meta name="description" content="Demonstration of jQuery UI Droppables and Dragables. More to come." />
<script type="text/javascript" src="../../../../jquery/jquery-1.2.6.js"></script>
<script type="text/javascript" src="js/jquery.livequery.js"></script>
<script type="text/javascript" src="js/jquery.blockUI.js"></script>
<script type="text/javascript" src="../../../source/ui.core.js"></script>
<script type="text/javascript" src="../../../source/ui.draggable.js"></script>
<script type="text/javascript" src="../../../source/ui.droppable.js"></script>
<script type="text/javascript" src="./js/demo.js"></script>
<link rel="stylesheet" type="text/css" href="./theme/css/screen.css" media="screen, projection" />
</head>
<body>
<h1>Manage Your Photos</h1>
<div id="body_wrap">
<div id="content">
<h2>Drag photos to the Trash or waste them in the Shredder:</h2>
<ul class="gallery">
<li>
<img src="./img/thumbs/P1010020.JPG" alt="Tatry 1" title="Drag me!" />
<p>Tatry 1</p>
<div>
<a href="#" title="Trash me." class="tb_trash">Trash me</a>
<a href="./img/P1010020.JPG" title="See me supersized." class="tb_supersize">See me supersized</a>
</div>
</li>
<li>
<img src="./img/thumbs/P1010036.JPG" alt="Tatry 2" title="Drag me!" />
<p>Tatry 2</p>
<div>
<a href="#" title="Trash me." class="tb_trash">Trash me</a>
<a href="./img/P1010036.JPG" title="See me supersized." class="tb_supersize">See me supersized</a>
</div>
</li>
<li>
<img src="./img/thumbs/P1010039.JPG" alt="Tatry 3" title="Drag me!" />
<p>Tatry 3</p>
<div>
<a href="#" title="Trash me." class="tb_trash">Trash me</a>
<a href="./img/P1010039.JPG" title="See me supersized." class="tb_supersize">See me supersized</a>
</div>
</li>
<li>
<img src="./img/thumbs/P1010044.JPG" alt="Tatry 4" title="Drag me!" />
<p>Tatry 4</p>
<div>
<a href="#" title="Trash me." class="tb_trash">Trash me</a>
<a href="./img/P1010044.JPG" title="See me supersized." class="tb_supersize">See me supersized</a>
</div>
</li>
<li>
<img src="./img/thumbs/P1010050.JPG" alt="Tatry 5" title="Drag me!" />
<p>Tatry 5</p>
<div>
<a href="#" title="Trash me." class="tb_trash">Trash me</a>
<a href="./img/P1010050.JPG" title="See me supersized." class="tb_supersize">See me supersized</a>
</div>
</li>
<li>
<img src="./img/thumbs/P1010055.JPG" alt="Tatry 6" title="Drag me!" />
<p>Tatry 6</p>
<div>
<a href="#" title="Trash me." class="tb_trash">Trash me</a>
<a href="./img/P1010055.JPG" title="See me supersized." class="tb_supersize">See me supersized</a>
</div>
</li>
<li>
<img src="./img/thumbs/P1010058.JPG" alt="Tatry 7" title="Drag me!" />
<p>Tatry 7</p>
<div>
<a href="#" title="Trash me." class="tb_trash">Trash me</a>
<a href="./img/P1010058.JPG" title="See me supersized." class="tb_supersize">See me supersized</a>
</div>
</li>
<li>
<img src="./img/thumbs/P1010059.JPG" alt="Tatry 8" title="Drag me!" />
<p>Tatry 8</p>
<div>
<a href="#" title="Trash me." class="tb_trash">Trash me</a>
<a href="./img/P1010059.JPG" title="See me supersized." class="tb_supersize">See me supersized</a>
</div>
</li>
<li>
<img src="./img/thumbs/P1010061.JPG" alt="Tatry 9" title="Drag me!" />
<p>Tatry 9</p>
<div>
<a href="#" title="Trash me." class="tb_trash">Trash me</a>
<a href="./img/P1010061.JPG" title="See me supersized." class="tb_supersize">See me supersized</a>
</div>
</li>
<li>
<img src="./img/thumbs/P1010063.JPG" alt="Tatry 10" title="Drag me!" />
<p>Tatry 10</p>
<div>
<a href="#" title="Trash me." class="tb_trash">Trash me</a>
<a href="./img/P1010063.JPG" title="See me supersized." class="tb_supersize">See me supersized</a>
</div>
</li>
</ul>
</div>
<div id="sidebar">
<div class="box" id="trash">
<h2>Trash (drag me back)</h2>
<div></div>
</div>
<div class="box" id="shred">
<h2>Shredder (see me no more)</h2>
<div></div>
</div>
</div>
</div>
<div id="footer">
<p>Demo footer here :)</p>
</div>
</body>
</html>
<!DOCTYPE html>
<html lang="en">
<head>
<title>jQuery UI Draggables and Droppables playground</title>
<meta http-equiv="content-type" content="text/html; charset=utf-8" />
<meta http-equiv="content-language" content="en" />
<meta name="keywords" content="jquery, ui, droppables, draggables, demo" />
<meta name="description" content="Demonstration of jQuery UI Droppables and Dragables. More to come." />
<script type="text/javascript" src="../../../../jquery/jquery-1.2.6.js"></script>
<script type="text/javascript" src="js/jquery.livequery.js"></script>
<script type="text/javascript" src="js/jquery.blockUI.js"></script>
<script type="text/javascript" src="../../../source/ui.core.js"></script>
<script type="text/javascript" src="../../../source/ui.draggable.js"></script>
<script type="text/javascript" src="../../../source/ui.droppable.js"></script>
<script type="text/javascript" src="./js/demo.js"></script>
<link rel="stylesheet" type="text/css" href="./theme/css/screen.css" media="screen, projection" />
</head>
<body>
<h1>Manage Your Photos</h1>
<div id="body_wrap">
<div id="content">
<h2>Drag photos to the Trash or waste them in the Shredder:</h2>
<ul class="gallery">
<li>
<img src="./img/thumbs/P1010020.JPG" alt="Tatry 1" title="Drag me!" />
<p>Tatry 1</p>
<div>
<a href="#" title="Trash me." class="tb_trash">Trash me</a>
<a href="./img/P1010020.JPG" title="See me supersized." class="tb_supersize">See me supersized</a>
</div>
</li>
<li>
<img src="./img/thumbs/P1010036.JPG" alt="Tatry 2" title="Drag me!" />
<p>Tatry 2</p>
<div>
<a href="#" title="Trash me." class="tb_trash">Trash me</a>
<a href="./img/P1010036.JPG" title="See me supersized." class="tb_supersize">See me supersized</a>
</div>
</li>
<li>
<img src="./img/thumbs/P1010039.JPG" alt="Tatry 3" title="Drag me!" />
<p>Tatry 3</p>
<div>
<a href="#" title="Trash me." class="tb_trash">Trash me</a>
<a href="./img/P1010039.JPG" title="See me supersized." class="tb_supersize">See me supersized</a>
</div>
</li>
<li>
<img src="./img/thumbs/P1010044.JPG" alt="Tatry 4" title="Drag me!" />
<p>Tatry 4</p>
<div>
<a href="#" title="Trash me." class="tb_trash">Trash me</a>
<a href="./img/P1010044.JPG" title="See me supersized." class="tb_supersize">See me supersized</a>
</div>
</li>
<li>
<img src="./img/thumbs/P1010050.JPG" alt="Tatry 5" title="Drag me!" />
<p>Tatry 5</p>
<div>
<a href="#" title="Trash me." class="tb_trash">Trash me</a>
<a href="./img/P1010050.JPG" title="See me supersized." class="tb_supersize">See me supersized</a>
</div>
</li>
<li>
<img src="./img/thumbs/P1010055.JPG" alt="Tatry 6" title="Drag me!" />
<p>Tatry 6</p>
<div>
<a href="#" title="Trash me." class="tb_trash">Trash me</a>
<a href="./img/P1010055.JPG" title="See me supersized." class="tb_supersize">See me supersized</a>
</div>
</li>
<li>
<img src="./img/thumbs/P1010058.JPG" alt="Tatry 7" title="Drag me!" />
<p>Tatry 7</p>
<div>
<a href="#" title="Trash me." class="tb_trash">Trash me</a>
<a href="./img/P1010058.JPG" title="See me supersized." class="tb_supersize">See me supersized</a>
</div>
</li>
<li>
<img src="./img/thumbs/P1010059.JPG" alt="Tatry 8" title="Drag me!" />
<p>Tatry 8</p>
<div>
<a href="#" title="Trash me." class="tb_trash">Trash me</a>
<a href="./img/P1010059.JPG" title="See me supersized." class="tb_supersize">See me supersized</a>
</div>
</li>
<li>
<img src="./img/thumbs/P1010061.JPG" alt="Tatry 9" title="Drag me!" />
<p>Tatry 9</p>
<div>
<a href="#" title="Trash me." class="tb_trash">Trash me</a>
<a href="./img/P1010061.JPG" title="See me supersized." class="tb_supersize">See me supersized</a>
</div>
</li>
<li>
<img src="./img/thumbs/P1010063.JPG" alt="Tatry 10" title="Drag me!" />
<p>Tatry 10</p>
<div>
<a href="#" title="Trash me." class="tb_trash">Trash me</a>
<a href="./img/P1010063.JPG" title="See me supersized." class="tb_supersize">See me supersized</a>
</div>
</li>
</ul>
</div>
<div id="sidebar">
<div class="box" id="trash">
<h2>Trash (drag me back)</h2>
<div></div>
</div>
<div class="box" id="shred">
<h2>Shredder (see me no more)</h2>
<div></div>
</div>
</div>
</div>
<div id="footer">
<p>Demo footer here :)</p>
</div>
</body>
</html>

View File

@@ -1,130 +1,130 @@
/*
* The very first increment of Droppables&Draggables demo. The code is going to
* be more concise (remove unnecessary code repetitions etc.). And imho the
* photo management is a good candidate for demonstration of more jQuery UI
* components (sortables, selectables...). More to come...
*
*/
$(window).bind('load', function() {
// make images in the gallery draggable
$('ul.gallery img').addClass('img_content').draggable({
helper: 'clone'
});
// make the trash box droppable, accepting images from the content section only
$('#trash div').droppable({
accept: '.img_content',
activeClass: 'active',
drop: function(ev, ui) {
var $that = $(this);
ui.draggable.parent().fadeOut('slow', function() {
ui.draggable
.hide()
.appendTo($that)
.fadeIn('slow')
.animate({
width: '72px',
height: '54px'
})
.removeClass('img_content')
.addClass('img_trash');
$(this).remove();
});
}
});
// make the shredder box droppable, accepting images from both content and trash sections
$('#shred div').droppable({
accept: '.img_content, .img_trash',
activeClass: 'active',
drop: function(ev, ui) {
var $that = $(this);
// images from the content
if (ui.draggable.hasClass('img_content')) {
ui.draggable.parent().fadeOut('slow', function() {
ui.draggable
.appendTo($that)
.animate({
width: '0',
height: '0'
}, 'slow', function(){
$(this).remove();
});
$(this).remove();
});
}
// images from the trash
else if (ui.draggable.hasClass('img_trash')) {
ui.draggable
.appendTo($that)
.animate({
width: '0',
height: '0'
}, 'slow', function(){
$(this).remove();
});
}
}
});
// make the gallery droppable as well, accepting images from the trash only
$('ul.gallery').droppable({
accept: '.img_trash',
activeClass: 'active',
drop: function(ev, ui) {
var $that = $(this);
ui.draggable.fadeOut('slow', function() {
var $item = createGalleryItem(this).appendTo($that);
$(this)
.removeClass('img_trash')
.addClass('img_content')
.css({ width: '144px', height: '108px' })
.show();
$item.fadeIn('slow');
});
}
});
// handle the trash icon behavior
$('a.tb_trash').livequery('click', function() {
var $this = $(this);
var $img = $this.parent().siblings('img');
var $item = $this.parents('li');
$item.fadeOut('slow', function() {
$img
.hide()
.appendTo('#trash div')
.fadeIn('slow')
.animate({
width: '72px',
height: '54px'
})
.removeClass('img_content')
.addClass('img_trash');
$(this).remove();
});
return false;
});
// handle the magnify button
$('a.tb_supersize').livequery('click', function() {
$('<img width="576" height="432">')
.attr('src', $(this).attr('href'))
.appendTo('#body_wrap')
.displayBox();
return false;
});
});
function createGalleryItem(img) {
var title = img.getAttribute('alt');
var href = img.getAttribute('src').replace(/thumbs\//, '');
var $item = $('<li><p>'+title+'</p><div><a href="#" title="Trash me" class="tb_trash">Trash me</a><a href="'+href+'" title="See me supersized" class="tb_supersize">See me supersized</a></div></li>').hide();
$item.prepend($(img));
return $item;
}
/*
* The very first increment of Droppables&Draggables demo. The code is going to
* be more concise (remove unnecessary code repetitions etc.). And imho the
* photo management is a good candidate for demonstration of more jQuery UI
* components (sortables, selectables...). More to come...
*
*/
$(window).bind('load', function() {
// make images in the gallery draggable
$('ul.gallery img').addClass('img_content').draggable({
helper: 'clone'
});
// make the trash box droppable, accepting images from the content section only
$('#trash div').droppable({
accept: '.img_content',
activeClass: 'active',
drop: function(ev, ui) {
var $that = $(this);
ui.draggable.parent().fadeOut('slow', function() {
ui.draggable
.hide()
.appendTo($that)
.fadeIn('slow')
.animate({
width: '72px',
height: '54px'
})
.removeClass('img_content')
.addClass('img_trash');
$(this).remove();
});
}
});
// make the shredder box droppable, accepting images from both content and trash sections
$('#shred div').droppable({
accept: '.img_content, .img_trash',
activeClass: 'active',
drop: function(ev, ui) {
var $that = $(this);
// images from the content
if (ui.draggable.hasClass('img_content')) {
ui.draggable.parent().fadeOut('slow', function() {
ui.draggable
.appendTo($that)
.animate({
width: '0',
height: '0'
}, 'slow', function(){
$(this).remove();
});
$(this).remove();
});
}
// images from the trash
else if (ui.draggable.hasClass('img_trash')) {
ui.draggable
.appendTo($that)
.animate({
width: '0',
height: '0'
}, 'slow', function(){
$(this).remove();
});
}
}
});
// make the gallery droppable as well, accepting images from the trash only
$('ul.gallery').droppable({
accept: '.img_trash',
activeClass: 'active',
drop: function(ev, ui) {
var $that = $(this);
ui.draggable.fadeOut('slow', function() {
var $item = createGalleryItem(this).appendTo($that);
$(this)
.removeClass('img_trash')
.addClass('img_content')
.css({ width: '144px', height: '108px' })
.show();
$item.fadeIn('slow');
});
}
});
// handle the trash icon behavior
$('a.tb_trash').livequery('click', function() {
var $this = $(this);
var $img = $this.parent().siblings('img');
var $item = $this.parents('li');
$item.fadeOut('slow', function() {
$img
.hide()
.appendTo('#trash div')
.fadeIn('slow')
.animate({
width: '72px',
height: '54px'
})
.removeClass('img_content')
.addClass('img_trash');
$(this).remove();
});
return false;
});
// handle the magnify button
$('a.tb_supersize').livequery('click', function() {
$('<img width="576" height="432">')
.attr('src', $(this).attr('href'))
.appendTo('#body_wrap')
.displayBox();
return false;
});
});
function createGalleryItem(img) {
var title = img.getAttribute('alt');
var href = img.getAttribute('src').replace(/thumbs\//, '');
var $item = $('<li><p>'+title+'</p><div><a href="#" title="Trash me" class="tb_trash">Trash me</a><a href="'+href+'" title="See me supersized" class="tb_supersize">See me supersized</a></div></li>').hide();
$item.prepend($(img));
return $item;
}

View File

@@ -1,361 +1,361 @@
/*
* jQuery blockUI plugin
* Version 1.33 (09/14/2007)
* @requires jQuery v1.1.1
*
* $Id: jquery.blockUI.js 3291 2007-09-14 23:56:25Z malsup $
*
* Examples at: http://malsup.com/jquery/block/
* Copyright (c) 2007 M. Alsup
* Dual licensed under the MIT and GPL licenses:
* http://www.opensource.org/licenses/mit-license.php
* http://www.gnu.org/licenses/gpl.html
*/
(function($) {
/**
* blockUI provides a mechanism for blocking user interaction with a page (or parts of a page).
* This can be an effective way to simulate synchronous behavior during ajax operations without
* locking the browser. It will prevent user operations for the current page while it is
* active ane will return the page to normal when it is deactivate. blockUI accepts the following
* two optional arguments:
*
* message (String|Element|jQuery): The message to be displayed while the UI is blocked. The message
* argument can be a plain text string like "Processing...", an HTML string like
* "<h1><img src="busy.gif" /> Please wait...</h1>", a DOM element, or a jQuery object.
* The default message is "<h1>Please wait...</h1>"
*
* css (Object): Object which contains css property/values to override the default styles of
* the message. Use this argument if you wish to override the default
* styles. The css Object should be in a format suitable for the jQuery.css
* function. For example:
* $.blockUI({
* backgroundColor: '#ff8',
* border: '5px solid #f00,
* fontWeight: 'bold'
* });
*
* The default blocking message used when blocking the entire page is "<h1>Please wait...</h1>"
* but this can be overridden by assigning a value to $.blockUI.defaults.pageMessage in your
* own code. For example:
*
* $.blockUI.defaults.pageMessage = "<h1>Bitte Wartezeit</h1>";
*
* The default message styling can also be overridden. For example:
*
* $.extend($.blockUI.defaults.pageMessageCSS, { color: '#00a', backgroundColor: '#0f0' });
*
* The default styles work well for simple messages like "Please wait", but for longer messages
* style overrides may be necessary.
*
* @example $.blockUI();
* @desc prevent user interaction with the page (and show the default message of 'Please wait...')
*
* @example $.blockUI( { backgroundColor: '#f00', color: '#fff'} );
* @desc prevent user interaction and override the default styles of the message to use a white on red color scheme
*
* @example $.blockUI('Processing...');
* @desc prevent user interaction and display the message "Processing..." instead of the default message
*
* @name blockUI
* @param String|jQuery|Element message Message to display while the UI is blocked
* @param Object css Style object to control look of the message
* @cat Plugins/blockUI
*/
$.blockUI = function(msg, css, opts) {
$.blockUI.impl.install(window, msg, css, opts);
};
// expose version number so other plugins can interogate
$.blockUI.version = 1.33;
/**
* unblockUI removes the UI block that was put in place by blockUI
*
* @example $.unblockUI();
* @desc unblocks the page
*
* @name unblockUI
* @cat Plugins/blockUI
*/
$.unblockUI = function(opts) {
$.blockUI.impl.remove(window, opts);
};
/**
* Blocks user interaction with the selected elements. (Hat tip: Much of
* this logic comes from Brandon Aaron's bgiframe plugin. Thanks, Brandon!)
* By default, no message is displayed when blocking elements.
*
* @example $('div.special').block();
* @desc prevent user interaction with all div elements with the 'special' class.
*
* @example $('div.special').block('Please wait');
* @desc prevent user interaction with all div elements with the 'special' class
* and show a message over the blocked content.
*
* @name block
* @type jQuery
* @param String|jQuery|Element message Message to display while the element is blocked
* @param Object css Style object to control look of the message
* @cat Plugins/blockUI
*/
$.fn.block = function(msg, css, opts) {
return this.each(function() {
if (!this.$pos_checked) {
if ($.css(this,"position") == 'static')
this.style.position = 'relative';
if ($.browser.msie) this.style.zoom = 1; // force 'hasLayout' in IE
this.$pos_checked = 1;
}
$.blockUI.impl.install(this, msg, css, opts);
});
};
/**
* Unblocks content that was blocked by "block()"
*
* @example $('div.special').unblock();
* @desc unblocks all div elements with the 'special' class.
*
* @name unblock
* @type jQuery
* @cat Plugins/blockUI
*/
$.fn.unblock = function(opts) {
return this.each(function() {
$.blockUI.impl.remove(this, opts);
});
};
/**
* displays the first matched element in a "display box" above a page overlay.
*
* @example $('#myImage').displayBox();
* @desc displays "myImage" element in a box
*
* @name displayBox
* @type jQuery
* @cat Plugins/blockUI
*/
$.fn.displayBox = function(css, fn, isFlash) {
var msg = this[0];
if (!msg) return;
var $msg = $(msg);
css = css || {};
var w = $msg.width() || $msg.attr('width') || css.width || $.blockUI.defaults.displayBoxCSS.width;
var h = $msg.height() || $msg.attr('height') || css.height || $.blockUI.defaults.displayBoxCSS.height ;
if (w[w.length-1] == '%') {
var ww = document.documentElement.clientWidth || document.body.clientWidth;
w = parseInt(w) || 100;
w = (w * ww) / 100;
}
if (h[h.length-1] == '%') {
var hh = document.documentElement.clientHeight || document.body.clientHeight;
h = parseInt(h) || 100;
h = (h * hh) / 100;
}
var ml = '-' + parseInt(w)/2 + 'px';
var mt = '-' + parseInt(h)/2 + 'px';
// supress opacity on overlay if displaying flash content on mac/ff platform
var ua = navigator.userAgent.toLowerCase();
var opts = {
displayMode: fn || 1,
noalpha: isFlash && /mac/.test(ua) && /firefox/.test(ua)
};
$.blockUI.impl.install(window, msg, { width: w, height: h, marginTop: mt, marginLeft: ml }, opts);
};
// override these in your code to change the default messages and styles
$.blockUI.defaults = {
// the message displayed when blocking the entire page
pageMessage: '<h1>Please wait...</h1>',
// the message displayed when blocking an element
elementMessage: '', // none
// styles for the overlay iframe
overlayCSS: { backgroundColor: '#fff', opacity: '0.5' },
// styles for the message when blocking the entire page
pageMessageCSS: { width:'250px', margin:'-50px 0 0 -125px', top:'50%', left:'50%', textAlign:'center', color:'#000', backgroundColor:'#fff', border:'3px solid #aaa' },
// styles for the message when blocking an element
elementMessageCSS: { width:'250px', padding:'10px', textAlign:'center', backgroundColor:'#fff'},
// styles for the displayBox
displayBoxCSS: { width: '400px', height: '400px', top:'50%', left:'50%' },
// allow body element to be stetched in ie6
ie6Stretch: 1,
// supress tab nav from leaving blocking content?
allowTabToLeave: 0,
// Title attribute for overlay when using displayBox
closeMessage: 'Click to close',
// use fadeOut effect when unblocking (can be overridden on unblock call)
fadeOut: 1,
// fadeOut transition time in millis
fadeTime: 400
};
// the gory details
$.blockUI.impl = {
box: null,
boxCallback: null,
pageBlock: null,
pageBlockEls: [],
op8: window.opera && window.opera.version() < 9,
ie6: $.browser.msie && /MSIE 6.0/.test(navigator.userAgent),
install: function(el, msg, css, opts) {
opts = opts || {};
this.boxCallback = typeof opts.displayMode == 'function' ? opts.displayMode : null;
this.box = opts.displayMode ? msg : null;
var full = (el == window);
// use logical settings for opacity support based on browser but allow overrides via opts arg
var noalpha = this.op8 || $.browser.mozilla && /Linux/.test(navigator.platform);
if (typeof opts.alphaOverride != 'undefined')
noalpha = opts.alphaOverride == 0 ? 1 : 0;
if (full && this.pageBlock) this.remove(window, {fadeOut:0});
// check to see if we were only passed the css object (a literal)
if (msg && typeof msg == 'object' && !msg.jquery && !msg.nodeType) {
css = msg;
msg = null;
}
msg = msg ? (msg.nodeType ? $(msg) : msg) : full ? $.blockUI.defaults.pageMessage : $.blockUI.defaults.elementMessage;
if (opts.displayMode)
var basecss = jQuery.extend({}, $.blockUI.defaults.displayBoxCSS);
else
var basecss = jQuery.extend({}, full ? $.blockUI.defaults.pageMessageCSS : $.blockUI.defaults.elementMessageCSS);
css = jQuery.extend(basecss, css || {});
var f = ($.browser.msie) ? $('<iframe class="blockUI" style="z-index:1000;border:none;margin:0;padding:0;position:absolute;width:100%;height:100%;top:0;left:0" src="javascript:false;"></iframe>')
: $('<div class="blockUI" style="display:none"></div>');
var w = $('<div class="blockUI" style="z-index:1001;cursor:wait;border:none;margin:0;padding:0;width:100%;height:100%;top:0;left:0"></div>');
var m = full ? $('<div class="blockUI blockMsg" style="z-index:1002;cursor:wait;padding:0;position:fixed"></div>')
: $('<div class="blockUI" style="display:none;z-index:1002;cursor:wait;position:absolute"></div>');
w.css('position', full ? 'fixed' : 'absolute');
if (msg) m.css(css);
if (!noalpha) w.css($.blockUI.defaults.overlayCSS);
if (this.op8) w.css({ width:''+el.clientWidth,height:''+el.clientHeight }); // lame
if ($.browser.msie) f.css('opacity','0.0');
$([f[0],w[0],m[0]]).appendTo(full ? 'body' : el);
// ie7 must use absolute positioning in quirks mode and to account for activex issues (when scrolling)
var expr = $.browser.msie && (!$.boxModel || $('object,embed', full ? null : el).length > 0);
if (this.ie6 || expr) {
// stretch content area if it's short
if (full && $.blockUI.defaults.ie6Stretch && $.boxModel)
$('html,body').css('height','100%');
// fix ie6 problem when blocked element has a border width
if ((this.ie6 || !$.boxModel) && !full) {
var t = this.sz(el,'borderTopWidth'), l = this.sz(el,'borderLeftWidth');
var fixT = t ? '(0 - '+t+')' : 0;
var fixL = l ? '(0 - '+l+')' : 0;
}
// simulate fixed position
$.each([f,w,m], function(i,o) {
var s = o[0].style;
s.position = 'absolute';
if (i < 2) {
full ? s.setExpression('height','document.body.scrollHeight > document.body.offsetHeight ? document.body.scrollHeight : document.body.offsetHeight + "px"')
: s.setExpression('height','this.parentNode.offsetHeight + "px"');
full ? s.setExpression('width','jQuery.boxModel && document.documentElement.clientWidth || document.body.clientWidth + "px"')
: s.setExpression('width','this.parentNode.offsetWidth + "px"');
if (fixL) s.setExpression('left', fixL);
if (fixT) s.setExpression('top', fixT);
}
else {
if (full) s.setExpression('top','(document.documentElement.clientHeight || document.body.clientHeight) / 2 - (this.offsetHeight / 2) + (blah = document.documentElement.scrollTop ? document.documentElement.scrollTop : document.body.scrollTop) + "px"');
s.marginTop = 0;
}
});
}
if (opts.displayMode) {
w.css('cursor','default').attr('title', $.blockUI.defaults.closeMessage);
m.css('cursor','default');
$([f[0],w[0],m[0]]).removeClass('blockUI').addClass('displayBox');
$().click($.blockUI.impl.boxHandler).bind('keypress', $.blockUI.impl.boxHandler);
}
else
this.bind(1, el);
m.append(msg).show();
if (msg.jquery) msg.show();
if (opts.displayMode) return;
if (full) {
this.pageBlock = m[0];
this.pageBlockEls = $(':input:enabled:visible',this.pageBlock);
setTimeout(this.focus, 20);
}
else this.center(m[0]);
},
remove: function(el, opts) {
var o = $.extend({}, $.blockUI.defaults, opts);
this.bind(0, el);
var full = el == window;
var els = full ? $('body').children().filter('.blockUI') : $('.blockUI', el);
if (full) this.pageBlock = this.pageBlockEls = null;
if (o.fadeOut) {
els.fadeOut(o.fadeTime, function() {
if (this.parentNode) this.parentNode.removeChild(this);
});
}
else els.remove();
},
boxRemove: function(el) {
$().unbind('click',$.blockUI.impl.boxHandler).unbind('keypress', $.blockUI.impl.boxHandler);
if (this.boxCallback)
this.boxCallback(this.box);
$('body .displayBox').hide().remove();
},
// event handler to suppress keyboard/mouse events when blocking
handler: function(e) {
if (e.keyCode && e.keyCode == 9) {
if ($.blockUI.impl.pageBlock && !$.blockUI.defaults.allowTabToLeave) {
var els = $.blockUI.impl.pageBlockEls;
var fwd = !e.shiftKey && e.target == els[els.length-1];
var back = e.shiftKey && e.target == els[0];
if (fwd || back) {
setTimeout(function(){$.blockUI.impl.focus(back)},10);
return false;
}
}
}
if ($(e.target).parents('div.blockMsg').length > 0)
return true;
return $(e.target).parents().children().filter('div.blockUI').length == 0;
},
boxHandler: function(e) {
if ((e.keyCode && e.keyCode == 27) || (e.type == 'click' && $(e.target).parents('div.blockMsg').length == 0))
$.blockUI.impl.boxRemove();
return true;
},
// bind/unbind the handler
bind: function(b, el) {
var full = el == window;
// don't bother unbinding if there is nothing to unbind
if (!b && (full && !this.pageBlock || !full && !el.$blocked)) return;
if (!full) el.$blocked = b;
var $e = $(el).find('a,:input');
$.each(['mousedown','mouseup','keydown','keypress','click'], function(i,o) {
$e[b?'bind':'unbind'](o, $.blockUI.impl.handler);
});
},
focus: function(back) {
if (!$.blockUI.impl.pageBlockEls) return;
var e = $.blockUI.impl.pageBlockEls[back===true ? $.blockUI.impl.pageBlockEls.length-1 : 0];
if (e) e.focus();
},
center: function(el) {
var p = el.parentNode, s = el.style;
var l = ((p.offsetWidth - el.offsetWidth)/2) - this.sz(p,'borderLeftWidth');
var t = ((p.offsetHeight - el.offsetHeight)/2) - this.sz(p,'borderTopWidth');
s.left = l > 0 ? (l+'px') : '0';
s.top = t > 0 ? (t+'px') : '0';
},
sz: function(el, p) { return parseInt($.css(el,p))||0; }
};
})(jQuery);
/*
* jQuery blockUI plugin
* Version 1.33 (09/14/2007)
* @requires jQuery v1.1.1
*
* $Id: jquery.blockUI.js 3291 2007-09-14 23:56:25Z malsup $
*
* Examples at: http://malsup.com/jquery/block/
* Copyright (c) 2007 M. Alsup
* Dual licensed under the MIT and GPL licenses:
* http://www.opensource.org/licenses/mit-license.php
* http://www.gnu.org/licenses/gpl.html
*/
(function($) {
/**
* blockUI provides a mechanism for blocking user interaction with a page (or parts of a page).
* This can be an effective way to simulate synchronous behavior during ajax operations without
* locking the browser. It will prevent user operations for the current page while it is
* active ane will return the page to normal when it is deactivate. blockUI accepts the following
* two optional arguments:
*
* message (String|Element|jQuery): The message to be displayed while the UI is blocked. The message
* argument can be a plain text string like "Processing...", an HTML string like
* "<h1><img src="busy.gif" /> Please wait...</h1>", a DOM element, or a jQuery object.
* The default message is "<h1>Please wait...</h1>"
*
* css (Object): Object which contains css property/values to override the default styles of
* the message. Use this argument if you wish to override the default
* styles. The css Object should be in a format suitable for the jQuery.css
* function. For example:
* $.blockUI({
* backgroundColor: '#ff8',
* border: '5px solid #f00,
* fontWeight: 'bold'
* });
*
* The default blocking message used when blocking the entire page is "<h1>Please wait...</h1>"
* but this can be overridden by assigning a value to $.blockUI.defaults.pageMessage in your
* own code. For example:
*
* $.blockUI.defaults.pageMessage = "<h1>Bitte Wartezeit</h1>";
*
* The default message styling can also be overridden. For example:
*
* $.extend($.blockUI.defaults.pageMessageCSS, { color: '#00a', backgroundColor: '#0f0' });
*
* The default styles work well for simple messages like "Please wait", but for longer messages
* style overrides may be necessary.
*
* @example $.blockUI();
* @desc prevent user interaction with the page (and show the default message of 'Please wait...')
*
* @example $.blockUI( { backgroundColor: '#f00', color: '#fff'} );
* @desc prevent user interaction and override the default styles of the message to use a white on red color scheme
*
* @example $.blockUI('Processing...');
* @desc prevent user interaction and display the message "Processing..." instead of the default message
*
* @name blockUI
* @param String|jQuery|Element message Message to display while the UI is blocked
* @param Object css Style object to control look of the message
* @cat Plugins/blockUI
*/
$.blockUI = function(msg, css, opts) {
$.blockUI.impl.install(window, msg, css, opts);
};
// expose version number so other plugins can interogate
$.blockUI.version = 1.33;
/**
* unblockUI removes the UI block that was put in place by blockUI
*
* @example $.unblockUI();
* @desc unblocks the page
*
* @name unblockUI
* @cat Plugins/blockUI
*/
$.unblockUI = function(opts) {
$.blockUI.impl.remove(window, opts);
};
/**
* Blocks user interaction with the selected elements. (Hat tip: Much of
* this logic comes from Brandon Aaron's bgiframe plugin. Thanks, Brandon!)
* By default, no message is displayed when blocking elements.
*
* @example $('div.special').block();
* @desc prevent user interaction with all div elements with the 'special' class.
*
* @example $('div.special').block('Please wait');
* @desc prevent user interaction with all div elements with the 'special' class
* and show a message over the blocked content.
*
* @name block
* @type jQuery
* @param String|jQuery|Element message Message to display while the element is blocked
* @param Object css Style object to control look of the message
* @cat Plugins/blockUI
*/
$.fn.block = function(msg, css, opts) {
return this.each(function() {
if (!this.$pos_checked) {
if ($.css(this,"position") == 'static')
this.style.position = 'relative';
if ($.browser.msie) this.style.zoom = 1; // force 'hasLayout' in IE
this.$pos_checked = 1;
}
$.blockUI.impl.install(this, msg, css, opts);
});
};
/**
* Unblocks content that was blocked by "block()"
*
* @example $('div.special').unblock();
* @desc unblocks all div elements with the 'special' class.
*
* @name unblock
* @type jQuery
* @cat Plugins/blockUI
*/
$.fn.unblock = function(opts) {
return this.each(function() {
$.blockUI.impl.remove(this, opts);
});
};
/**
* displays the first matched element in a "display box" above a page overlay.
*
* @example $('#myImage').displayBox();
* @desc displays "myImage" element in a box
*
* @name displayBox
* @type jQuery
* @cat Plugins/blockUI
*/
$.fn.displayBox = function(css, fn, isFlash) {
var msg = this[0];
if (!msg) return;
var $msg = $(msg);
css = css || {};
var w = $msg.width() || $msg.attr('width') || css.width || $.blockUI.defaults.displayBoxCSS.width;
var h = $msg.height() || $msg.attr('height') || css.height || $.blockUI.defaults.displayBoxCSS.height ;
if (w[w.length-1] == '%') {
var ww = document.documentElement.clientWidth || document.body.clientWidth;
w = parseInt(w) || 100;
w = (w * ww) / 100;
}
if (h[h.length-1] == '%') {
var hh = document.documentElement.clientHeight || document.body.clientHeight;
h = parseInt(h) || 100;
h = (h * hh) / 100;
}
var ml = '-' + parseInt(w)/2 + 'px';
var mt = '-' + parseInt(h)/2 + 'px';
// supress opacity on overlay if displaying flash content on mac/ff platform
var ua = navigator.userAgent.toLowerCase();
var opts = {
displayMode: fn || 1,
noalpha: isFlash && /mac/.test(ua) && /firefox/.test(ua)
};
$.blockUI.impl.install(window, msg, { width: w, height: h, marginTop: mt, marginLeft: ml }, opts);
};
// override these in your code to change the default messages and styles
$.blockUI.defaults = {
// the message displayed when blocking the entire page
pageMessage: '<h1>Please wait...</h1>',
// the message displayed when blocking an element
elementMessage: '', // none
// styles for the overlay iframe
overlayCSS: { backgroundColor: '#fff', opacity: '0.5' },
// styles for the message when blocking the entire page
pageMessageCSS: { width:'250px', margin:'-50px 0 0 -125px', top:'50%', left:'50%', textAlign:'center', color:'#000', backgroundColor:'#fff', border:'3px solid #aaa' },
// styles for the message when blocking an element
elementMessageCSS: { width:'250px', padding:'10px', textAlign:'center', backgroundColor:'#fff'},
// styles for the displayBox
displayBoxCSS: { width: '400px', height: '400px', top:'50%', left:'50%' },
// allow body element to be stetched in ie6
ie6Stretch: 1,
// supress tab nav from leaving blocking content?
allowTabToLeave: 0,
// Title attribute for overlay when using displayBox
closeMessage: 'Click to close',
// use fadeOut effect when unblocking (can be overridden on unblock call)
fadeOut: 1,
// fadeOut transition time in millis
fadeTime: 400
};
// the gory details
$.blockUI.impl = {
box: null,
boxCallback: null,
pageBlock: null,
pageBlockEls: [],
op8: window.opera && window.opera.version() < 9,
ie6: $.browser.msie && /MSIE 6.0/.test(navigator.userAgent),
install: function(el, msg, css, opts) {
opts = opts || {};
this.boxCallback = typeof opts.displayMode == 'function' ? opts.displayMode : null;
this.box = opts.displayMode ? msg : null;
var full = (el == window);
// use logical settings for opacity support based on browser but allow overrides via opts arg
var noalpha = this.op8 || $.browser.mozilla && /Linux/.test(navigator.platform);
if (typeof opts.alphaOverride != 'undefined')
noalpha = opts.alphaOverride == 0 ? 1 : 0;
if (full && this.pageBlock) this.remove(window, {fadeOut:0});
// check to see if we were only passed the css object (a literal)
if (msg && typeof msg == 'object' && !msg.jquery && !msg.nodeType) {
css = msg;
msg = null;
}
msg = msg ? (msg.nodeType ? $(msg) : msg) : full ? $.blockUI.defaults.pageMessage : $.blockUI.defaults.elementMessage;
if (opts.displayMode)
var basecss = jQuery.extend({}, $.blockUI.defaults.displayBoxCSS);
else
var basecss = jQuery.extend({}, full ? $.blockUI.defaults.pageMessageCSS : $.blockUI.defaults.elementMessageCSS);
css = jQuery.extend(basecss, css || {});
var f = ($.browser.msie) ? $('<iframe class="blockUI" style="z-index:1000;border:none;margin:0;padding:0;position:absolute;width:100%;height:100%;top:0;left:0" src="javascript:false;"></iframe>')
: $('<div class="blockUI" style="display:none"></div>');
var w = $('<div class="blockUI" style="z-index:1001;cursor:wait;border:none;margin:0;padding:0;width:100%;height:100%;top:0;left:0"></div>');
var m = full ? $('<div class="blockUI blockMsg" style="z-index:1002;cursor:wait;padding:0;position:fixed"></div>')
: $('<div class="blockUI" style="display:none;z-index:1002;cursor:wait;position:absolute"></div>');
w.css('position', full ? 'fixed' : 'absolute');
if (msg) m.css(css);
if (!noalpha) w.css($.blockUI.defaults.overlayCSS);
if (this.op8) w.css({ width:''+el.clientWidth,height:''+el.clientHeight }); // lame
if ($.browser.msie) f.css('opacity','0.0');
$([f[0],w[0],m[0]]).appendTo(full ? 'body' : el);
// ie7 must use absolute positioning in quirks mode and to account for activex issues (when scrolling)
var expr = $.browser.msie && (!$.boxModel || $('object,embed', full ? null : el).length > 0);
if (this.ie6 || expr) {
// stretch content area if it's short
if (full && $.blockUI.defaults.ie6Stretch && $.boxModel)
$('html,body').css('height','100%');
// fix ie6 problem when blocked element has a border width
if ((this.ie6 || !$.boxModel) && !full) {
var t = this.sz(el,'borderTopWidth'), l = this.sz(el,'borderLeftWidth');
var fixT = t ? '(0 - '+t+')' : 0;
var fixL = l ? '(0 - '+l+')' : 0;
}
// simulate fixed position
$.each([f,w,m], function(i,o) {
var s = o[0].style;
s.position = 'absolute';
if (i < 2) {
full ? s.setExpression('height','document.body.scrollHeight > document.body.offsetHeight ? document.body.scrollHeight : document.body.offsetHeight + "px"')
: s.setExpression('height','this.parentNode.offsetHeight + "px"');
full ? s.setExpression('width','jQuery.boxModel && document.documentElement.clientWidth || document.body.clientWidth + "px"')
: s.setExpression('width','this.parentNode.offsetWidth + "px"');
if (fixL) s.setExpression('left', fixL);
if (fixT) s.setExpression('top', fixT);
}
else {
if (full) s.setExpression('top','(document.documentElement.clientHeight || document.body.clientHeight) / 2 - (this.offsetHeight / 2) + (blah = document.documentElement.scrollTop ? document.documentElement.scrollTop : document.body.scrollTop) + "px"');
s.marginTop = 0;
}
});
}
if (opts.displayMode) {
w.css('cursor','default').attr('title', $.blockUI.defaults.closeMessage);
m.css('cursor','default');
$([f[0],w[0],m[0]]).removeClass('blockUI').addClass('displayBox');
$().click($.blockUI.impl.boxHandler).bind('keypress', $.blockUI.impl.boxHandler);
}
else
this.bind(1, el);
m.append(msg).show();
if (msg.jquery) msg.show();
if (opts.displayMode) return;
if (full) {
this.pageBlock = m[0];
this.pageBlockEls = $(':input:enabled:visible',this.pageBlock);
setTimeout(this.focus, 20);
}
else this.center(m[0]);
},
remove: function(el, opts) {
var o = $.extend({}, $.blockUI.defaults, opts);
this.bind(0, el);
var full = el == window;
var els = full ? $('body').children().filter('.blockUI') : $('.blockUI', el);
if (full) this.pageBlock = this.pageBlockEls = null;
if (o.fadeOut) {
els.fadeOut(o.fadeTime, function() {
if (this.parentNode) this.parentNode.removeChild(this);
});
}
else els.remove();
},
boxRemove: function(el) {
$().unbind('click',$.blockUI.impl.boxHandler).unbind('keypress', $.blockUI.impl.boxHandler);
if (this.boxCallback)
this.boxCallback(this.box);
$('body .displayBox').hide().remove();
},
// event handler to suppress keyboard/mouse events when blocking
handler: function(e) {
if (e.keyCode && e.keyCode == 9) {
if ($.blockUI.impl.pageBlock && !$.blockUI.defaults.allowTabToLeave) {
var els = $.blockUI.impl.pageBlockEls;
var fwd = !e.shiftKey && e.target == els[els.length-1];
var back = e.shiftKey && e.target == els[0];
if (fwd || back) {
setTimeout(function(){$.blockUI.impl.focus(back)},10);
return false;
}
}
}
if ($(e.target).parents('div.blockMsg').length > 0)
return true;
return $(e.target).parents().children().filter('div.blockUI').length == 0;
},
boxHandler: function(e) {
if ((e.keyCode && e.keyCode == 27) || (e.type == 'click' && $(e.target).parents('div.blockMsg').length == 0))
$.blockUI.impl.boxRemove();
return true;
},
// bind/unbind the handler
bind: function(b, el) {
var full = el == window;
// don't bother unbinding if there is nothing to unbind
if (!b && (full && !this.pageBlock || !full && !el.$blocked)) return;
if (!full) el.$blocked = b;
var $e = $(el).find('a,:input');
$.each(['mousedown','mouseup','keydown','keypress','click'], function(i,o) {
$e[b?'bind':'unbind'](o, $.blockUI.impl.handler);
});
},
focus: function(back) {
if (!$.blockUI.impl.pageBlockEls) return;
var e = $.blockUI.impl.pageBlockEls[back===true ? $.blockUI.impl.pageBlockEls.length-1 : 0];
if (e) e.focus();
},
center: function(el) {
var p = el.parentNode, s = el.style;
var l = ((p.offsetWidth - el.offsetWidth)/2) - this.sz(p,'borderLeftWidth');
var t = ((p.offsetHeight - el.offsetHeight)/2) - this.sz(p,'borderTopWidth');
s.left = l > 0 ? (l+'px') : '0';
s.top = t > 0 ? (t+'px') : '0';
},
sz: function(el, p) { return parseInt($.css(el,p))||0; }
};
})(jQuery);

View File

@@ -1,179 +1,179 @@
body {
padding: 0;
margin: 0;
line-height: 1.5em;
font-size: 75%; /* gives us 12px in most browsers */
font-family: "Helvetica Neue", "Lucida Grande", Helvetica, Arial, Verdana, sans-serif;
background: #aefe05 url('../img/side_top.jpg') repeat-x top; /* body background from ui.jquery.com */
color: 222;
}
/*
================================
=LAYOUT
================================ */
h1 {
padding: 0 0 0 52px;
margin: 0;
font-size: 1.5em; /* 18px */
line-height: 2em; /* 36px */
background: url('../img/photos_gold_32.gif') no-repeat 8px 50%; /* Thanks to Iconbuffet.com */
color: #fff;
}
#body_wrap {
width: 960px;
margin: 0 auto;
background: #fff url('../img/body_wrap_bg.gif') repeat-y;
}
#content {
float: left;
width: 632px;
}
#sidebar {
float: right;
width: 320px;
}
#footer {
clear: both;
background: #32342f;
color: #fff;
}
/*
================================
=SECTIONS
================================ */
/*
----------------
=HEADER
---------------- */
/*
----------------
=CONTENT
---------------- */
#content h2 {
padding-left: 25px;
}
/*
=gallery
-------- */
.gallery {
min-height: 108px;
padding: 0;
margin: 18px 0;
list-style: none;
}
* html .gallery {
height: 108px; /* min-height for lte IE6 */
}
.gallery.active {
background: #eee;
}
.gallery li {
float: left;
width: 160px;
padding: 0 25px;
margin: 0 0 8px;
}
.gallery img {
display: block;
padding: 7px;
border: 1px solid #ccc;
background: #fff;
}
.displayBox img {
border: 25px solid #222;
}
/* img title */
.gallery p {
float: left;
padding: 0;
margin: 0;
}
/* img toolbar */
.gallery div {
float: right;
}
.gallery div a {
float: left;
width: 24px;
height: 24px;
background-repeat: no-repeat;
background-position: center;
text-indent: -9999px; /* Phark revisited image replacement */
}
.gallery div a:focus {
outline: 0;
}
.tb_supersize {
background-image: url('../img/search_16.gif'); /* Thanks to Iconbuffet.com */
}
.tb_trash {
background-image: url('../img/trash_16.gif'); /* Thanks to Iconbuffet.com */
}
/*
----------------
=SIDEBAR
---------------- */
.box {
margin: 18px;
border: 1px solid #ccc;
background: #fff;
}
.box h2 {
padding: 0 8px;
margin: 0;
font-size: 1.5em;
line-height: 2em;
background: #525252 url('../img/header_bg.png') repeat-x bottom;
color: #fff;
}
.box div {
min-height: 128px;
border: 2px solid #fff;
}
* html #sidebar .box div {
height: 128px; /* min-height for lte IE6 */
}
#trash div.active {
border-color: green;
}
#shred div.active {
border-color: red;
}
#trash div img {
float: left;
margin: 4px;
}
/*
----------------
=FOOTER
---------------- */
#footer p {
margin: 0;
text-align: right;
}
/*
================================
=FLOAT CLEARING
================================ */
#body_wrap, ul.gallery, #trash div {
display: inline-block;
}
#body_wrap:after, ul.gallery:after, #trash div:after {
content: ".";
display: block;
height: 0;
clear: both;
visibility: hidden;
}
* html #body_wrap, * html ul.gallery, * html #trash div {
height: 1%;
}
#body_wrap, ul.gallery, #trash div {
display: block;
}
body {
padding: 0;
margin: 0;
line-height: 1.5em;
font-size: 75%; /* gives us 12px in most browsers */
font-family: "Helvetica Neue", "Lucida Grande", Helvetica, Arial, Verdana, sans-serif;
background: #aefe05 url('../img/side_top.jpg') repeat-x top; /* body background from ui.jquery.com */
color: 222;
}
/*
================================
=LAYOUT
================================ */
h1 {
padding: 0 0 0 52px;
margin: 0;
font-size: 1.5em; /* 18px */
line-height: 2em; /* 36px */
background: url('../img/photos_gold_32.gif') no-repeat 8px 50%; /* Thanks to Iconbuffet.com */
color: #fff;
}
#body_wrap {
width: 960px;
margin: 0 auto;
background: #fff url('../img/body_wrap_bg.gif') repeat-y;
}
#content {
float: left;
width: 632px;
}
#sidebar {
float: right;
width: 320px;
}
#footer {
clear: both;
background: #32342f;
color: #fff;
}
/*
================================
=SECTIONS
================================ */
/*
----------------
=HEADER
---------------- */
/*
----------------
=CONTENT
---------------- */
#content h2 {
padding-left: 25px;
}
/*
=gallery
-------- */
.gallery {
min-height: 108px;
padding: 0;
margin: 18px 0;
list-style: none;
}
* html .gallery {
height: 108px; /* min-height for lte IE6 */
}
.gallery.active {
background: #eee;
}
.gallery li {
float: left;
width: 160px;
padding: 0 25px;
margin: 0 0 8px;
}
.gallery img {
display: block;
padding: 7px;
border: 1px solid #ccc;
background: #fff;
}
.displayBox img {
border: 25px solid #222;
}
/* img title */
.gallery p {
float: left;
padding: 0;
margin: 0;
}
/* img toolbar */
.gallery div {
float: right;
}
.gallery div a {
float: left;
width: 24px;
height: 24px;
background-repeat: no-repeat;
background-position: center;
text-indent: -9999px; /* Phark revisited image replacement */
}
.gallery div a:focus {
outline: 0;
}
.tb_supersize {
background-image: url('../img/search_16.gif'); /* Thanks to Iconbuffet.com */
}
.tb_trash {
background-image: url('../img/trash_16.gif'); /* Thanks to Iconbuffet.com */
}
/*
----------------
=SIDEBAR
---------------- */
.box {
margin: 18px;
border: 1px solid #ccc;
background: #fff;
}
.box h2 {
padding: 0 8px;
margin: 0;
font-size: 1.5em;
line-height: 2em;
background: #525252 url('../img/header_bg.png') repeat-x bottom;
color: #fff;
}
.box div {
min-height: 128px;
border: 2px solid #fff;
}
* html #sidebar .box div {
height: 128px; /* min-height for lte IE6 */
}
#trash div.active {
border-color: green;
}
#shred div.active {
border-color: red;
}
#trash div img {
float: left;
margin: 4px;
}
/*
----------------
=FOOTER
---------------- */
#footer p {
margin: 0;
text-align: right;
}
/*
================================
=FLOAT CLEARING
================================ */
#body_wrap, ul.gallery, #trash div {
display: inline-block;
}
#body_wrap:after, ul.gallery:after, #trash div:after {
content: ".";
display: block;
height: 0;
clear: both;
visibility: hidden;
}
* html #body_wrap, * html ul.gallery, * html #trash div {
height: 1%;
}
#body_wrap, ul.gallery, #trash div {
display: block;
}

View File

@@ -1,185 +1,185 @@
<!DOCTYPE html>
<html lang="en">
<head>
<meta http-equiv="Content-type" content="text/html; charset=utf-8" />
<title>Slider Gallery</title>
<style type="text/css" media="screen">
<!--
body {
padding: 0;
font: 1em "Trebuchet MS", verdana, arial, sans-serif;
font-size: 100%;
background-color: #212121;
margin: 0;
}
h1 {
margin-bottom: 2px;
}
#container {
background-color: #fff;
width: 580px;
margin: 15px auto;
padding: 50px;
}
/* slider specific CSS */
.sliderGallery {
background: url(images/productbrowser_background_20070622.jpg) no-repeat;
overflow: hidden;
position: relative;
padding: 10px;
height: 160px;
width: 560px;
}
.sliderGallery UL {
position: absolute;
list-style: none;
overflow: none;
white-space: nowrap;
padding: 0;
margin: 0;
}
.sliderGallery UL LI {
display: inline;
}
.slider {
width: 542px;
height: 17px;
margin-top: 140px;
margin-left: 5px;
padding: 1px;
position: relative;
background: url(images/productbrowser_scrollbar_20070622.png) no-repeat;
}
.handle {
position: absolute;
cursor: move;
height: 17px;
width: 181px;
top: 0;
background: url(images/productbrowser_scroller_20080115.png) no-repeat;
z-index: 100;
}
.slider span {
color: #bbb;
font-size: 80%;
cursor: pointer;
position: absolute;
z-index: 110;
top: 3px;
}
.slider .slider-lbl1 {
left: 50px;
}
.slider .slider-lbl2 {
left: 107px;
}
.slider .slider-lbl3 {
left: 156px;
}
.slider .slider-lbl4 {
left: 280px;
}
.slider .slider-lbl5 {
left: 455px;
}
-->
</style>
<script type="text/javascript" src="../../../../jquery/jquery-1.2.6.js"></script>
<script type="text/javascript" src="../../../source/ui.core.js"></script>
<script type="text/javascript" src="../../../source/ui.slider.js"></script>
<script type="text/javascript" charset="utf-8">
/**
* Note that we have to use window.onload because $(document).ready() fires before images are loaded
* and ul.innerWidth() - container.outerWidth(); doesn't give the correct width because the width
* of the UL hasn't expanded out until the images have finished rendering.
*/
window.onload = function () {
var container = $('div.sliderGallery');
var ul = $('ul', container);
var itemsWidth = ul.innerWidth() - container.outerWidth();
$('.slider', container).slider({
min: 0,
max: itemsWidth,
handle: '.handle',
stop: function (event, ui) {
ul.animate({'left' : ui.value * -1}, 500);
},
slide: function (event, ui) {
ul.css('left', ui.value * -1);
}
});
};
</script>
</head>
<body>
<div id="container">
<h1>Slider Gallery</h1>
<p>This shows a demonstration of a slider widget from the jQuery UI library used to create the same effect used on <a href="http://www.apple.com/mac/">Apple's web site</a>.</p>
<p><a href="http://jqueryfordesigners.com/slider-gallery">Read the article, and see the screencast this demonstration relates to</a></p>
<div class="sliderGallery">
<ul>
<li><img class="pb-airportexpress" src="images/pb_airport_express.jpg" /></li>
<li><img src="images/pb_airport_extreme.jpg" /></li>
<li><img src="images/pb_timecapsule_20080115.jpg" /></li>
<li><img src="images/pb_keyboards20070807.jpg" /></li>
<li><img src="images/pb_mighty_mouse.jpg" /></li>
<li><img src="images/pb_cinema_display20071026.jpg" /></li>
<li><img src="images/pb_mac_pro_20070622.jpg" /></li>
<li><img class="pb-macmini" src="images/pb_mac_mini.jpg" /></li>
<li><img src="images/pb_macbook20071026.jpg" /></li>
<li><img class="pb-macbookair" src="images/pb_macbookair_20080115.jpg" /></li>
<li><img class="pb-macbookpro" src="images/pb_macbook_pro20071026.jpg" /></li>
<li><img class="pb-imac" src="images/pb_imac20071026.jpg" /></li>
<li><img src="images/pb_macosx_20080115.jpg" /></li>
<li><img src="images/pb_ilife_20080115.jpg" /></li>
<li><img src="images/pb_dot_mac_20080115.jpg" /></li>
<li><img src="images/pb_iwork_20080115.jpg" /></li>
<li><img src="images/pb_quicktime.jpg" /></li>
<li><img src="images/pb_aperture20080212.jpg" /></li>
<li><img src="images/pb_final_cut_studio2_20080115.jpg" /></li>
<li><img src="images/pb_final_cut_express_20080115.jpg" /></li>
<li><img src="images/pb_logic_studio_20080115.jpg" /></li>
<li><img src="images/pb_logic_express_20080115.jpg" /></li>
<li><img src="images/pb_shake_20080115.jpg" /></li>
<li><img src="images/pb_apple_remote_desktop_20080115.jpg" /></li>
<li><img src="images/pb_xserve.jpg" /></li>
<li><img src="images/pb_xserve_raid.jpg" /></li>
<li><img class="pb-xsan" src="images/pb_xsan_20080115.jpg" /></li>
<li><img class="pb-macosxserver" src="images/pb_macosx_server20071016.jpg" /></li>
</ul>
<div class="slider">
<div class="handle"></div>
<span class="slider-lbl1">Wi-Fi</span>
<span class="slider-lbl3">Macs</span>
<span class="slider-lbl4">Applications</span>
<span class="slider-lbl5">Servers</span>
</div>
</div>
</div>
</body>
</html>
<!DOCTYPE html>
<html lang="en">
<head>
<meta http-equiv="Content-type" content="text/html; charset=utf-8" />
<title>Slider Gallery</title>
<style type="text/css" media="screen">
<!--
body {
padding: 0;
font: 1em "Trebuchet MS", verdana, arial, sans-serif;
font-size: 100%;
background-color: #212121;
margin: 0;
}
h1 {
margin-bottom: 2px;
}
#container {
background-color: #fff;
width: 580px;
margin: 15px auto;
padding: 50px;
}
/* slider specific CSS */
.sliderGallery {
background: url(images/productbrowser_background_20070622.jpg) no-repeat;
overflow: hidden;
position: relative;
padding: 10px;
height: 160px;
width: 560px;
}
.sliderGallery UL {
position: absolute;
list-style: none;
overflow: none;
white-space: nowrap;
padding: 0;
margin: 0;
}
.sliderGallery UL LI {
display: inline;
}
.slider {
width: 542px;
height: 17px;
margin-top: 140px;
margin-left: 5px;
padding: 1px;
position: relative;
background: url(images/productbrowser_scrollbar_20070622.png) no-repeat;
}
.handle {
position: absolute;
cursor: move;
height: 17px;
width: 181px;
top: 0;
background: url(images/productbrowser_scroller_20080115.png) no-repeat;
z-index: 100;
}
.slider span {
color: #bbb;
font-size: 80%;
cursor: pointer;
position: absolute;
z-index: 110;
top: 3px;
}
.slider .slider-lbl1 {
left: 50px;
}
.slider .slider-lbl2 {
left: 107px;
}
.slider .slider-lbl3 {
left: 156px;
}
.slider .slider-lbl4 {
left: 280px;
}
.slider .slider-lbl5 {
left: 455px;
}
-->
</style>
<script type="text/javascript" src="../../../../jquery/jquery-1.2.6.js"></script>
<script type="text/javascript" src="../../../source/ui.core.js"></script>
<script type="text/javascript" src="../../../source/ui.slider.js"></script>
<script type="text/javascript" charset="utf-8">
/**
* Note that we have to use window.onload because $(document).ready() fires before images are loaded
* and ul.innerWidth() - container.outerWidth(); doesn't give the correct width because the width
* of the UL hasn't expanded out until the images have finished rendering.
*/
window.onload = function () {
var container = $('div.sliderGallery');
var ul = $('ul', container);
var itemsWidth = ul.innerWidth() - container.outerWidth();
$('.slider', container).slider({
min: 0,
max: itemsWidth,
handle: '.handle',
stop: function (event, ui) {
ul.animate({'left' : ui.value * -1}, 500);
},
slide: function (event, ui) {
ul.css('left', ui.value * -1);
}
});
};
</script>
</head>
<body>
<div id="container">
<h1>Slider Gallery</h1>
<p>This shows a demonstration of a slider widget from the jQuery UI library used to create the same effect used on <a href="http://www.apple.com/mac/">Apple's web site</a>.</p>
<p><a href="http://jqueryfordesigners.com/slider-gallery">Read the article, and see the screencast this demonstration relates to</a></p>
<div class="sliderGallery">
<ul>
<li><img class="pb-airportexpress" src="images/pb_airport_express.jpg" /></li>
<li><img src="images/pb_airport_extreme.jpg" /></li>
<li><img src="images/pb_timecapsule_20080115.jpg" /></li>
<li><img src="images/pb_keyboards20070807.jpg" /></li>
<li><img src="images/pb_mighty_mouse.jpg" /></li>
<li><img src="images/pb_cinema_display20071026.jpg" /></li>
<li><img src="images/pb_mac_pro_20070622.jpg" /></li>
<li><img class="pb-macmini" src="images/pb_mac_mini.jpg" /></li>
<li><img src="images/pb_macbook20071026.jpg" /></li>
<li><img class="pb-macbookair" src="images/pb_macbookair_20080115.jpg" /></li>
<li><img class="pb-macbookpro" src="images/pb_macbook_pro20071026.jpg" /></li>
<li><img class="pb-imac" src="images/pb_imac20071026.jpg" /></li>
<li><img src="images/pb_macosx_20080115.jpg" /></li>
<li><img src="images/pb_ilife_20080115.jpg" /></li>
<li><img src="images/pb_dot_mac_20080115.jpg" /></li>
<li><img src="images/pb_iwork_20080115.jpg" /></li>
<li><img src="images/pb_quicktime.jpg" /></li>
<li><img src="images/pb_aperture20080212.jpg" /></li>
<li><img src="images/pb_final_cut_studio2_20080115.jpg" /></li>
<li><img src="images/pb_final_cut_express_20080115.jpg" /></li>
<li><img src="images/pb_logic_studio_20080115.jpg" /></li>
<li><img src="images/pb_logic_express_20080115.jpg" /></li>
<li><img src="images/pb_shake_20080115.jpg" /></li>
<li><img src="images/pb_apple_remote_desktop_20080115.jpg" /></li>
<li><img src="images/pb_xserve.jpg" /></li>
<li><img src="images/pb_xserve_raid.jpg" /></li>
<li><img class="pb-xsan" src="images/pb_xsan_20080115.jpg" /></li>
<li><img class="pb-macosxserver" src="images/pb_macosx_server20071016.jpg" /></li>
</ul>
<div class="slider">
<div class="handle"></div>
<span class="slider-lbl1">Wi-Fi</span>
<span class="slider-lbl3">Macs</span>
<span class="slider-lbl4">Applications</span>
<span class="slider-lbl5">Servers</span>
</div>
</div>
</div>
</body>
</html>

View File

@@ -1,149 +1,149 @@
/* --------------------------------------------------------------
jQuery UI: Demo Viewer
-------------------------------------------------------------- */
/*************************************/
/* Blueprint: reset.css */
html, body, div, span, applet, object, iframe,
h1, h2, h3, h4, h5, h6, p, blockquote, pre,
a, abbr, acronym, address, big, cite, code,
del, dfn, em, font, img, ins, kbd, q, s, samp,
small, strike, strong, sub, sup, tt, var,
dl, dt, dd, ol,
fieldset, form, label, legend,
table, caption, tbody, tfoot, thead, tr, th, td {
margin: 0;
padding: 0;
border: 0;
outline: 0;
font-weight: inherit;
font-style: inherit;
font-size: 100%;
font-family: inherit;
vertical-align: baseline;
}
label {
margin-right: 5px;
}
/* Remember to define focus styles! */
:focus {
outline: 0;
}
body {
line-height: 1;
color: black;
background: white;
font-family: Arial,Sans-serif; font-size: 0.9em;
background-color: white;
overflow: hidden;
}
ol, ul {
list-style: none;
}
/* Tables still need 'cellspacing="0"' in the markup. */
table {
border-collapse: separate;
border-spacing: 0;
}
caption, th, td {
text-align: left;
font-weight: normal;
}
/* Remove possible quote marks (") from <q>, <blockquote>. */
blockquote:before, blockquote:after,
q:before, q:after {
content: "";
}
blockquote, q {
quotes: "" "";
}
/*************************************/
/* Viewer: Layout */
#wrapper {
background: #e1e7f2 url(../images/bg_gradient.gif) repeat-x;
}
#header {
padding: 10px;
background: #67A7E3; color: #fff;
position: relative;
}
#container {
height: 500px;
}
#container td {
overflow: hidden;
}
#container td div {
overflow: hidden;
padding: 0 15px 0 10px;
background: #fff;
height:475px;
font-size: 90%;
}
#container .ui-split-side-box {
width: 200px;
}
#container .ui-split-side {
overflow: hidden;
}
#container .ui-split-side ul {
margin: 0; padding: 0; padding-top: 3px;
}
#container .ui-split-side li {
margin: 0; padding: 0; border: 0; outline: 0;
list-style: none;
}
#container .ui-split-side li a {
height: 15px;
display:block;
padding: 3px 3px 3px 12px;
border-bottom: 1px solid #E8EEF7;
color: #000;
font-size: 90%;
text-decoration: none;
}
#container .ui-split-side li a:hover {
background: #E8EEF7;
border-color: #C3D9FF;
}
#container .ui-split-main-box {
}
#container .ui-resizable-e {
width: 10px; height: 475px;
background:#e1e7f2 url(../images/splitpane_handle-ew.gif) no-repeat scroll 75% 50% !important;
cursor:col-resize !important;
border-left: #bbb 1px solid;
padding: 3px;
}
#container .ui-resizable-n {
height: 10px;
background:#e1e7f2 url(../images/splitpane_handle-sn.gif) no-repeat scroll 50% 55% !important;
border-top: #bbb 1px solid;
padding: 3px;
}
.ui-toolbar-item-hide-icon {
padding-left: 16px; height: 16px;
background-image: url(../images/icons_2.png);
background-repeat: no-repeat; margin: 0 2px;
display: inline-block;
}
.ui-toolbar-item-hide-icon { background-position: -64px 50%; }
.proxy { border: 1px dashed #000; };
/* --------------------------------------------------------------
jQuery UI: Demo Viewer
-------------------------------------------------------------- */
/*************************************/
/* Blueprint: reset.css */
html, body, div, span, applet, object, iframe,
h1, h2, h3, h4, h5, h6, p, blockquote, pre,
a, abbr, acronym, address, big, cite, code,
del, dfn, em, font, img, ins, kbd, q, s, samp,
small, strike, strong, sub, sup, tt, var,
dl, dt, dd, ol,
fieldset, form, label, legend,
table, caption, tbody, tfoot, thead, tr, th, td {
margin: 0;
padding: 0;
border: 0;
outline: 0;
font-weight: inherit;
font-style: inherit;
font-size: 100%;
font-family: inherit;
vertical-align: baseline;
}
label {
margin-right: 5px;
}
/* Remember to define focus styles! */
:focus {
outline: 0;
}
body {
line-height: 1;
color: black;
background: white;
font-family: Arial,Sans-serif; font-size: 0.9em;
background-color: white;
overflow: hidden;
}
ol, ul {
list-style: none;
}
/* Tables still need 'cellspacing="0"' in the markup. */
table {
border-collapse: separate;
border-spacing: 0;
}
caption, th, td {
text-align: left;
font-weight: normal;
}
/* Remove possible quote marks (") from <q>, <blockquote>. */
blockquote:before, blockquote:after,
q:before, q:after {
content: "";
}
blockquote, q {
quotes: "" "";
}
/*************************************/
/* Viewer: Layout */
#wrapper {
background: #e1e7f2 url(../images/bg_gradient.gif) repeat-x;
}
#header {
padding: 10px;
background: #67A7E3; color: #fff;
position: relative;
}
#container {
height: 500px;
}
#container td {
overflow: hidden;
}
#container td div {
overflow: hidden;
padding: 0 15px 0 10px;
background: #fff;
height:475px;
font-size: 90%;
}
#container .ui-split-side-box {
width: 200px;
}
#container .ui-split-side {
overflow: hidden;
}
#container .ui-split-side ul {
margin: 0; padding: 0; padding-top: 3px;
}
#container .ui-split-side li {
margin: 0; padding: 0; border: 0; outline: 0;
list-style: none;
}
#container .ui-split-side li a {
height: 15px;
display:block;
padding: 3px 3px 3px 12px;
border-bottom: 1px solid #E8EEF7;
color: #000;
font-size: 90%;
text-decoration: none;
}
#container .ui-split-side li a:hover {
background: #E8EEF7;
border-color: #C3D9FF;
}
#container .ui-split-main-box {
}
#container .ui-resizable-e {
width: 10px; height: 475px;
background:#e1e7f2 url(../images/splitpane_handle-ew.gif) no-repeat scroll 75% 50% !important;
cursor:col-resize !important;
border-left: #bbb 1px solid;
padding: 3px;
}
#container .ui-resizable-n {
height: 10px;
background:#e1e7f2 url(../images/splitpane_handle-sn.gif) no-repeat scroll 50% 55% !important;
border-top: #bbb 1px solid;
padding: 3px;
}
.ui-toolbar-item-hide-icon {
padding-left: 16px; height: 16px;
background-image: url(../images/icons_2.png);
background-repeat: no-repeat; margin: 0 2px;
display: inline-block;
}
.ui-toolbar-item-hide-icon { background-position: -64px 50%; }
.proxy { border: 1px dashed #000; };

View File

@@ -1,96 +1,96 @@
<!DOCTYPE html>
<html lang="en">
<head>
<meta http-equiv="Content-Language" content="en" />
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>jQuery UI: SplitPane</title>
<!-- jQuery -->
<script type="text/javascript" src="../../../../jquery/jquery-1.2.6.js"></script>
<!-- jQuery UI -->
<script type="text/javascript" src="../../../source/ui.core.js"></script>
<script type="text/javascript" src="../../../source/ui.resizable.js"></script>
<script src="js/demo.js" type="text/javascript" charset="utf-8"></script>
<style type="text/css">
@import "css/demo.css";
</style>
</head>
<body>
<div id="wrapper">
<div id="header">
<span class="ui-toolbar-item-hide-icon"></span> <span>jQuery UI Resizable SplitPanel</span>
</div>
<table id="container" cellpadding="0" cellspacing="0" border="0">
<tr>
<td class="ui-split-side-box">
<div class="ui-split-side">
<ul id="component-links">
<li><a href="#ui.accordion" title="Goto Accordion's Component Page">Accordion</a></li>
<li><a href="#ui.dialog" title="Goto Dialog's Component Page">Dialog</a></li>
<li><a href="#ui.draggable" title="Goto Draggable's Component Page">Draggable</a></li>
<li><a href="#ui.droppable" title="Goto Droppable's Component Page">Droppable</a></li>
<li><a href="#ui.resizable" title="Goto Resizable's Component Page">Resizable</a></li>
<li><a href="#ui.selectable" title="Goto Selectable's Component Page">Selectable</a></li>
<li><a href="#ui.sortable" title="Goto Sortable's Component Page">Sortable</a></li>
<li><a href="#ui.tabs" title="Goto Tabs Component Page">Tabs</a></li>
</ul>
</div>
</td>
<td class="ui-split-main-box">
<div class="ui-split-main1">
Lorem ipsum dolor sit amet, consectetuer adipiscing elit. Vestibulum commodo mollis tortor. Ut dapibus turpis consequat quam. Nulla lacinia. Donec nunc. Donec sollicitudin. Vivamus orci. Pellentesque tempus velit vitae odio. Maecenas enim arcu, volutpat ac, viverra id, bibendum eu, felis. Vestibulum imperdiet arcu. Ut nisi. Cras vel lectus consectetuer mauris luctus ultrices. Duis fringilla pellentesque sapien.
<br><br>
Cras tristique justo vel metus. Pellentesque dolor libero, ullamcorper ac, vehicula eget, porttitor at, dui. Ut a nibh. Nunc sit amet turpis. Aenean diam dui, consequat vel, scelerisque id, accumsan a, lectus. Duis ultrices, enim vitae pharetra tincidunt, elit nunc sollicitudin felis, dapibus pellentesque urna velit ut quam. Donec scelerisque vehicula dolor. Suspendisse lectus dui, posuere sit amet, sagittis nec, vulputate in, libero. Morbi tempus sagittis est. Phasellus in nisi. Sed a ligula. Vivamus condimentum quam non nibh. Fusce pellentesque, neque ac scelerisque luctus, leo elit bibendum elit, in rutrum leo erat tristique felis. Etiam consequat fringilla eros. Nullam neque. Aenean mollis, odio at consectetuer sollicitudin, tortor lorem facilisis nunc, sit amet condimentum lectus libero convallis dolor. Vivamus quis risus.
</div>
</td>
<td class="ui-split-main-box">
<div class="ui-split-main2">
Lorem ipsum dolor sit amet, consectetuer adipiscing elit. Vestibulum commodo mollis tortor. Ut dapibus turpis consequat quam. Nulla lacinia. Donec nunc. Donec sollicitudin. Vivamus orci. Pellentesque tempus velit vitae odio. Maecenas enim arcu, volutpat ac, viverra id, bibendum eu, felis. Vestibulum imperdiet arcu. Ut nisi. Cras vel lectus consectetuer mauris luctus ultrices. Duis fringilla pellentesque sapien.
<br><br>
Cras tristique justo vel metus. Pellentesque dolor libero, ullamcorper ac, vehicula eget, porttitor at, dui. Ut a nibh. Nunc sit amet turpis. Aenean diam dui, consequat vel, scelerisque id, accumsan a, lectus. Duis ultrices, enim vitae pharetra tincidunt, elit nunc sollicitudin felis, dapibus pellentesque urna velit ut quam. Donec scelerisque vehicula dolor. Suspendisse lectus dui, posuere sit amet, sagittis nec, vulputate in, libero. Morbi tempus sagittis est. Phasellus in nisi. Sed a ligula. Vivamus condimentum quam non nibh. Fusce pellentesque, neque ac scelerisque luctus, leo elit bibendum elit, in rutrum leo erat tristique felis. Etiam consequat fringilla eros. Nullam neque. Aenean mollis, odio at consectetuer sollicitudin, tortor lorem facilisis nunc, sit amet condimentum lectus libero convallis dolor. Vivamus quis risus.
</div>
</td>
<td class="ui-split-main-box">
<div class="ui-split-main3">
Lorem ipsum dolor sit amet, consectetuer adipiscing elit. Vestibulum commodo mollis tortor. Ut dapibus turpis consequat quam. Nulla lacinia. Donec nunc. Donec sollicitudin. Vivamus orci. Pellentesque tempus velit vitae odio. Maecenas enim arcu, volutpat ac, viverra id, bibendum eu, felis. Vestibulum imperdiet arcu. Ut nisi. Cras vel lectus consectetuer mauris luctus ultrices. Duis fringilla pellentesque sapien.
<br><br>
Cras tristique justo vel metus. Pellentesque dolor libero, ullamcorper ac, vehicula eget, porttitor at, dui. Ut a nibh. Nunc sit amet turpis. Aenean diam dui, consequat vel, scelerisque id, accumsan a, lectus. Duis ultrices, enim vitae pharetra tincidunt, elit nunc sollicitudin felis, dapibus pellentesque urna velit ut quam. Donec scelerisque vehicula dolor. Suspendisse lectus dui, posuere sit amet, sagittis nec, vulputate in, libero. Morbi tempus sagittis est. Phasellus in nisi. Sed a ligula. Vivamus condimentum quam non nibh. Fusce pellentesque, neque ac scelerisque luctus, leo elit bibendum elit, in rutrum leo erat tristique felis. Etiam consequat fringilla eros. Nullam neque. Aenean mollis, odio at consectetuer sollicitudin, tortor lorem facilisis nunc, sit amet condimentum lectus libero convallis dolor. Vivamus quis risus.
</div>
</td>
</tr>
</table>
</div>
<script type="text/javascript">
$(function() {
$('div.ui-split-main1, div.ui-split-main2').resizable({
handles: 'e',
minWidth: 200,
maxWidth: 800
});
$('div.ui-split-side').resizable({
handles: 'e',
proxy: 'proxy',
minWidth: 200,
maxWidth: 300
});
});
</script>
</body>
</html>
<!DOCTYPE html>
<html lang="en">
<head>
<meta http-equiv="Content-Language" content="en" />
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>jQuery UI: SplitPane</title>
<!-- jQuery -->
<script type="text/javascript" src="../../../../jquery/jquery-1.2.6.js"></script>
<!-- jQuery UI -->
<script type="text/javascript" src="../../../source/ui.core.js"></script>
<script type="text/javascript" src="../../../source/ui.resizable.js"></script>
<script src="js/demo.js" type="text/javascript" charset="utf-8"></script>
<style type="text/css">
@import "css/demo.css";
</style>
</head>
<body>
<div id="wrapper">
<div id="header">
<span class="ui-toolbar-item-hide-icon"></span> <span>jQuery UI Resizable SplitPanel</span>
</div>
<table id="container" cellpadding="0" cellspacing="0" border="0">
<tr>
<td class="ui-split-side-box">
<div class="ui-split-side">
<ul id="component-links">
<li><a href="#ui.accordion" title="Goto Accordion's Component Page">Accordion</a></li>
<li><a href="#ui.dialog" title="Goto Dialog's Component Page">Dialog</a></li>
<li><a href="#ui.draggable" title="Goto Draggable's Component Page">Draggable</a></li>
<li><a href="#ui.droppable" title="Goto Droppable's Component Page">Droppable</a></li>
<li><a href="#ui.resizable" title="Goto Resizable's Component Page">Resizable</a></li>
<li><a href="#ui.selectable" title="Goto Selectable's Component Page">Selectable</a></li>
<li><a href="#ui.sortable" title="Goto Sortable's Component Page">Sortable</a></li>
<li><a href="#ui.tabs" title="Goto Tabs Component Page">Tabs</a></li>
</ul>
</div>
</td>
<td class="ui-split-main-box">
<div class="ui-split-main1">
Lorem ipsum dolor sit amet, consectetuer adipiscing elit. Vestibulum commodo mollis tortor. Ut dapibus turpis consequat quam. Nulla lacinia. Donec nunc. Donec sollicitudin. Vivamus orci. Pellentesque tempus velit vitae odio. Maecenas enim arcu, volutpat ac, viverra id, bibendum eu, felis. Vestibulum imperdiet arcu. Ut nisi. Cras vel lectus consectetuer mauris luctus ultrices. Duis fringilla pellentesque sapien.
<br><br>
Cras tristique justo vel metus. Pellentesque dolor libero, ullamcorper ac, vehicula eget, porttitor at, dui. Ut a nibh. Nunc sit amet turpis. Aenean diam dui, consequat vel, scelerisque id, accumsan a, lectus. Duis ultrices, enim vitae pharetra tincidunt, elit nunc sollicitudin felis, dapibus pellentesque urna velit ut quam. Donec scelerisque vehicula dolor. Suspendisse lectus dui, posuere sit amet, sagittis nec, vulputate in, libero. Morbi tempus sagittis est. Phasellus in nisi. Sed a ligula. Vivamus condimentum quam non nibh. Fusce pellentesque, neque ac scelerisque luctus, leo elit bibendum elit, in rutrum leo erat tristique felis. Etiam consequat fringilla eros. Nullam neque. Aenean mollis, odio at consectetuer sollicitudin, tortor lorem facilisis nunc, sit amet condimentum lectus libero convallis dolor. Vivamus quis risus.
</div>
</td>
<td class="ui-split-main-box">
<div class="ui-split-main2">
Lorem ipsum dolor sit amet, consectetuer adipiscing elit. Vestibulum commodo mollis tortor. Ut dapibus turpis consequat quam. Nulla lacinia. Donec nunc. Donec sollicitudin. Vivamus orci. Pellentesque tempus velit vitae odio. Maecenas enim arcu, volutpat ac, viverra id, bibendum eu, felis. Vestibulum imperdiet arcu. Ut nisi. Cras vel lectus consectetuer mauris luctus ultrices. Duis fringilla pellentesque sapien.
<br><br>
Cras tristique justo vel metus. Pellentesque dolor libero, ullamcorper ac, vehicula eget, porttitor at, dui. Ut a nibh. Nunc sit amet turpis. Aenean diam dui, consequat vel, scelerisque id, accumsan a, lectus. Duis ultrices, enim vitae pharetra tincidunt, elit nunc sollicitudin felis, dapibus pellentesque urna velit ut quam. Donec scelerisque vehicula dolor. Suspendisse lectus dui, posuere sit amet, sagittis nec, vulputate in, libero. Morbi tempus sagittis est. Phasellus in nisi. Sed a ligula. Vivamus condimentum quam non nibh. Fusce pellentesque, neque ac scelerisque luctus, leo elit bibendum elit, in rutrum leo erat tristique felis. Etiam consequat fringilla eros. Nullam neque. Aenean mollis, odio at consectetuer sollicitudin, tortor lorem facilisis nunc, sit amet condimentum lectus libero convallis dolor. Vivamus quis risus.
</div>
</td>
<td class="ui-split-main-box">
<div class="ui-split-main3">
Lorem ipsum dolor sit amet, consectetuer adipiscing elit. Vestibulum commodo mollis tortor. Ut dapibus turpis consequat quam. Nulla lacinia. Donec nunc. Donec sollicitudin. Vivamus orci. Pellentesque tempus velit vitae odio. Maecenas enim arcu, volutpat ac, viverra id, bibendum eu, felis. Vestibulum imperdiet arcu. Ut nisi. Cras vel lectus consectetuer mauris luctus ultrices. Duis fringilla pellentesque sapien.
<br><br>
Cras tristique justo vel metus. Pellentesque dolor libero, ullamcorper ac, vehicula eget, porttitor at, dui. Ut a nibh. Nunc sit amet turpis. Aenean diam dui, consequat vel, scelerisque id, accumsan a, lectus. Duis ultrices, enim vitae pharetra tincidunt, elit nunc sollicitudin felis, dapibus pellentesque urna velit ut quam. Donec scelerisque vehicula dolor. Suspendisse lectus dui, posuere sit amet, sagittis nec, vulputate in, libero. Morbi tempus sagittis est. Phasellus in nisi. Sed a ligula. Vivamus condimentum quam non nibh. Fusce pellentesque, neque ac scelerisque luctus, leo elit bibendum elit, in rutrum leo erat tristique felis. Etiam consequat fringilla eros. Nullam neque. Aenean mollis, odio at consectetuer sollicitudin, tortor lorem facilisis nunc, sit amet condimentum lectus libero convallis dolor. Vivamus quis risus.
</div>
</td>
</tr>
</table>
</div>
<script type="text/javascript">
$(function() {
$('div.ui-split-main1, div.ui-split-main2').resizable({
handles: 'e',
minWidth: 200,
maxWidth: 800
});
$('div.ui-split-side').resizable({
handles: 'e',
proxy: 'proxy',
minWidth: 200,
maxWidth: 300
});
});
</script>
</body>
</html>

View File

@@ -1,41 +1,41 @@
;(function($) {
$.effects.clip = function(o) {
return this.queue(function() {
// Create element
var el = $(this), props = ['position','top','left','width','height'];
// Set options
var mode = $.effects.setMode(el, o.options.mode || 'hide'); // Set Mode
var direction = o.options.direction || 'vertical'; // Default direction
// Adjust
$.effects.save(el, props); el.show(); // Save & Show
$.effects.createWrapper(el).css({overflow:'hidden'}); // Create Wrapper
var ref = {
size: (direction == 'vertical') ? 'height' : 'width',
position: (direction == 'vertical') ? 'top' : 'left'
};
var distance = (direction == 'vertical') ? el.height() : el.width();
if(mode == 'show') { el.css(ref.size, 0); el.css(ref.position, distance / 2); } // Shift
// Animation
var animation = {};
animation[ref.size] = mode == 'show' ? distance : 0;
animation[ref.position] = mode == 'show' ? 0 : distance / 2;
// Animate
el.animate(animation, { queue: false, duration: o.duration, easing: o.options.easing, complete: function() {
if(mode == 'hide') el.hide(); // Hide
$.effects.restore(el, props); $.effects.removeWrapper(el); // Restore
if(o.callback) o.callback.apply(this, arguments); // Callback
el.dequeue();
}});
});
};
})(jQuery);
;(function($) {
$.effects.clip = function(o) {
return this.queue(function() {
// Create element
var el = $(this), props = ['position','top','left','width','height'];
// Set options
var mode = $.effects.setMode(el, o.options.mode || 'hide'); // Set Mode
var direction = o.options.direction || 'vertical'; // Default direction
// Adjust
$.effects.save(el, props); el.show(); // Save & Show
$.effects.createWrapper(el).css({overflow:'hidden'}); // Create Wrapper
var ref = {
size: (direction == 'vertical') ? 'height' : 'width',
position: (direction == 'vertical') ? 'top' : 'left'
};
var distance = (direction == 'vertical') ? el.height() : el.width();
if(mode == 'show') { el.css(ref.size, 0); el.css(ref.position, distance / 2); } // Shift
// Animation
var animation = {};
animation[ref.size] = mode == 'show' ? distance : 0;
animation[ref.position] = mode == 'show' ? 0 : distance / 2;
// Animate
el.animate(animation, { queue: false, duration: o.duration, easing: o.options.easing, complete: function() {
if(mode == 'hide') el.hide(); // Hide
$.effects.restore(el, props); $.effects.removeWrapper(el); // Restore
if(o.callback) o.callback.apply(this, arguments); // Callback
el.dequeue();
}});
});
};
})(jQuery);

View File

@@ -1,38 +1,38 @@
;(function($) {
$.effects.drop = function(o) {
return this.queue(function() {
// Create element
var el = $(this), props = ['position','top','left','opacity'];
// Set options
var mode = $.effects.setMode(el, o.options.mode || 'hide'); // Set Mode
var direction = o.options.direction || 'left'; // Default Direction
// Adjust
$.effects.save(el, props); el.show(); // Save & Show
$.effects.createWrapper(el); // Create Wrapper
var ref = (direction == 'up' || direction == 'down') ? 'top' : 'left';
var motion = (direction == 'up' || direction == 'left') ? 'pos' : 'neg';
var distance = o.options.distance || (ref == 'top' ? el.outerHeight({margin:true}) / 2 : el.outerWidth({margin:true}) / 2);
if (mode == 'show') el.css('opacity', 0).css(ref, motion == 'pos' ? -distance : distance); // Shift
// Animation
var animation = {opacity: mode == 'show' ? 1 : 0};
animation[ref] = (mode == 'show' ? (motion == 'pos' ? '+=' : '-=') : (motion == 'pos' ? '-=' : '+=')) + distance;
// Animate
el.animate(animation, { queue: false, duration: o.duration, easing: o.options.easing, complete: function() {
if(mode == 'hide') el.hide(); // Hide
$.effects.restore(el, props); $.effects.removeWrapper(el); // Restore
if(o.callback) o.callback.apply(this, arguments); // Callback
el.dequeue();
}});
});
};
})(jQuery);
;(function($) {
$.effects.drop = function(o) {
return this.queue(function() {
// Create element
var el = $(this), props = ['position','top','left','opacity'];
// Set options
var mode = $.effects.setMode(el, o.options.mode || 'hide'); // Set Mode
var direction = o.options.direction || 'left'; // Default Direction
// Adjust
$.effects.save(el, props); el.show(); // Save & Show
$.effects.createWrapper(el); // Create Wrapper
var ref = (direction == 'up' || direction == 'down') ? 'top' : 'left';
var motion = (direction == 'up' || direction == 'left') ? 'pos' : 'neg';
var distance = o.options.distance || (ref == 'top' ? el.outerHeight({margin:true}) / 2 : el.outerWidth({margin:true}) / 2);
if (mode == 'show') el.css('opacity', 0).css(ref, motion == 'pos' ? -distance : distance); // Shift
// Animation
var animation = {opacity: mode == 'show' ? 1 : 0};
animation[ref] = (mode == 'show' ? (motion == 'pos' ? '+=' : '-=') : (motion == 'pos' ? '-=' : '+=')) + distance;
// Animate
el.animate(animation, { queue: false, duration: o.duration, easing: o.options.easing, complete: function() {
if(mode == 'hide') el.hide(); // Hide
$.effects.restore(el, props); $.effects.removeWrapper(el); // Restore
if(o.callback) o.callback.apply(this, arguments); // Callback
el.dequeue();
}});
});
};
})(jQuery);

View File

@@ -1,67 +1,67 @@
;(function($) {
$.effects.explode = function(o) {
return this.queue(function() {
var rows = o.options.pieces ? Math.round(Math.sqrt(o.options.pieces)) : 3;
var cells = o.options.pieces ? Math.round(Math.sqrt(o.options.pieces)) : 3;
o.options.mode = o.options.mode == 'toggle' ? ($(this).is(':visible') ? 'hide' : 'show') : o.options.mode;
var el = $(this).show().css('visibility', 'hidden');
var offset = el.offset();
//Substract the margins - not fixing the problem yet.
offset.top -= parseInt(el.css("marginTop")) || 0;
offset.left -= parseInt(el.css("marginLeft")) || 0;
var width = el.outerWidth(true);
var height = el.outerHeight(true);
for(var i=0;i<rows;i++) { // =
for(var j=0;j<cells;j++) { // ||
el
.clone()
.appendTo('body')
.wrap('<div></div>')
.css({
position: 'absolute',
visibility: 'visible',
left: -j*(width/cells),
top: -i*(height/rows)
})
.parent()
.addClass('ec-explode')
.css({
position: 'absolute',
overflow: 'hidden',
width: width/cells,
height: height/rows,
left: offset.left + j*(width/cells) + (o.options.mode == 'show' ? (j-Math.floor(cells/2))*(width/cells) : 0),
top: offset.top + i*(height/rows) + (o.options.mode == 'show' ? (i-Math.floor(rows/2))*(height/rows) : 0),
opacity: o.options.mode == 'show' ? 0 : 1
}).animate({
left: offset.left + j*(width/cells) + (o.options.mode == 'show' ? 0 : (j-Math.floor(cells/2))*(width/cells)),
top: offset.top + i*(height/rows) + (o.options.mode == 'show' ? 0 : (i-Math.floor(rows/2))*(height/rows)),
opacity: o.options.mode == 'show' ? 1 : 0
}, o.duration || 500);
}
}
// Set a timeout, to call the callback approx. when the other animations have finished
setTimeout(function() {
o.options.mode == 'show' ? el.css({ visibility: 'visible' }) : el.css({ visibility: 'visible' }).hide();
if(o.callback) o.callback.apply(el[0]); // Callback
el.dequeue();
$('.ec-explode').remove();
}, o.duration || 500);
});
};
;(function($) {
$.effects.explode = function(o) {
return this.queue(function() {
var rows = o.options.pieces ? Math.round(Math.sqrt(o.options.pieces)) : 3;
var cells = o.options.pieces ? Math.round(Math.sqrt(o.options.pieces)) : 3;
o.options.mode = o.options.mode == 'toggle' ? ($(this).is(':visible') ? 'hide' : 'show') : o.options.mode;
var el = $(this).show().css('visibility', 'hidden');
var offset = el.offset();
//Substract the margins - not fixing the problem yet.
offset.top -= parseInt(el.css("marginTop")) || 0;
offset.left -= parseInt(el.css("marginLeft")) || 0;
var width = el.outerWidth(true);
var height = el.outerHeight(true);
for(var i=0;i<rows;i++) { // =
for(var j=0;j<cells;j++) { // ||
el
.clone()
.appendTo('body')
.wrap('<div></div>')
.css({
position: 'absolute',
visibility: 'visible',
left: -j*(width/cells),
top: -i*(height/rows)
})
.parent()
.addClass('ec-explode')
.css({
position: 'absolute',
overflow: 'hidden',
width: width/cells,
height: height/rows,
left: offset.left + j*(width/cells) + (o.options.mode == 'show' ? (j-Math.floor(cells/2))*(width/cells) : 0),
top: offset.top + i*(height/rows) + (o.options.mode == 'show' ? (i-Math.floor(rows/2))*(height/rows) : 0),
opacity: o.options.mode == 'show' ? 0 : 1
}).animate({
left: offset.left + j*(width/cells) + (o.options.mode == 'show' ? 0 : (j-Math.floor(cells/2))*(width/cells)),
top: offset.top + i*(height/rows) + (o.options.mode == 'show' ? 0 : (i-Math.floor(rows/2))*(height/rows)),
opacity: o.options.mode == 'show' ? 1 : 0
}, o.duration || 500);
}
}
// Set a timeout, to call the callback approx. when the other animations have finished
setTimeout(function() {
o.options.mode == 'show' ? el.css({ visibility: 'visible' }) : el.css({ visibility: 'visible' }).hide();
if(o.callback) o.callback.apply(el[0]); // Callback
el.dequeue();
$('.ec-explode').remove();
}, o.duration || 500);
});
};
})(jQuery);

View File

@@ -1,36 +1,36 @@
;(function($) {
$.effects.highlight = function(o) {
return this.queue(function() {
// Create element
var el = $(this), props = ['backgroundImage','backgroundColor','opacity'];
// Set options
var mode = $.effects.setMode(el, o.options.mode || 'show'); // Set Mode
var color = o.options.color || "#ffff99"; // Default highlight color
var oldColor = el.css("backgroundColor");
// Adjust
$.effects.save(el, props); el.show(); // Save & Show
el.css({backgroundImage: 'none', backgroundColor: color}); // Shift
// Animation
var animation = {backgroundColor: oldColor };
if (mode == "hide") animation['opacity'] = 0;
// Animate
el.animate(animation, { queue: false, duration: o.duration, easing: o.options.easing, complete: function() {
if(mode == "hide") el.hide();
$.effects.restore(el, props);
if (mode == "show" && jQuery.browser.msie) this.style.removeAttribute('filter');
if(o.callback) o.callback.apply(this, arguments);
el.dequeue();
}});
});
};
;(function($) {
$.effects.highlight = function(o) {
return this.queue(function() {
// Create element
var el = $(this), props = ['backgroundImage','backgroundColor','opacity'];
// Set options
var mode = $.effects.setMode(el, o.options.mode || 'show'); // Set Mode
var color = o.options.color || "#ffff99"; // Default highlight color
var oldColor = el.css("backgroundColor");
// Adjust
$.effects.save(el, props); el.show(); // Save & Show
el.css({backgroundImage: 'none', backgroundColor: color}); // Shift
// Animation
var animation = {backgroundColor: oldColor };
if (mode == "hide") animation['opacity'] = 0;
// Animate
el.animate(animation, { queue: false, duration: o.duration, easing: o.options.easing, complete: function() {
if(mode == "hide") el.hide();
$.effects.restore(el, props);
if (mode == "show" && jQuery.browser.msie) this.style.removeAttribute('filter');
if(o.callback) o.callback.apply(this, arguments);
el.dequeue();
}});
});
};
})(jQuery);

View File

@@ -1,43 +1,43 @@
;(function($) {
$.effects.pulsate = function(o) {
return this.queue(function() {
// Create element
var el = $(this);
// Set options
var mode = $.effects.setMode(el, o.options.mode || 'show'); // Set Mode
var times = o.options.times || 5; // Default # of times
// Adjust
if (mode != 'hide') times--;
if (el.is(':hidden')) { // Show fadeIn
el.css('opacity', 0);
el.show(); // Show
el.animate({opacity: 1}, o.duration / 2, o.options.easing);
times--;
}
// Animate
for (var i = 0; i < times; i++) { // Pulsate
el.animate({opacity: 0}, o.duration / 2, o.options.easing).animate({opacity: 1}, o.duration / 2, o.options.easing);
};
if (mode == 'hide') { // Last Pulse
el.animate({opacity: 0}, o.duration / 2, o.options.easing, function(){
el.hide(); // Hide
if(o.callback) o.callback.apply(this, arguments); // Callback
});
} else {
el.animate({opacity: 0}, o.duration / 2, o.options.easing).animate({opacity: 1}, o.duration / 2, o.options.easing, function(){
if(o.callback) o.callback.apply(this, arguments); // Callback
});
};
el.queue('fx', function() { el.dequeue(); });
el.dequeue();
});
};
;(function($) {
$.effects.pulsate = function(o) {
return this.queue(function() {
// Create element
var el = $(this);
// Set options
var mode = $.effects.setMode(el, o.options.mode || 'show'); // Set Mode
var times = o.options.times || 5; // Default # of times
// Adjust
if (mode != 'hide') times--;
if (el.is(':hidden')) { // Show fadeIn
el.css('opacity', 0);
el.show(); // Show
el.animate({opacity: 1}, o.duration / 2, o.options.easing);
times--;
}
// Animate
for (var i = 0; i < times; i++) { // Pulsate
el.animate({opacity: 0}, o.duration / 2, o.options.easing).animate({opacity: 1}, o.duration / 2, o.options.easing);
};
if (mode == 'hide') { // Last Pulse
el.animate({opacity: 0}, o.duration / 2, o.options.easing, function(){
el.hide(); // Hide
if(o.callback) o.callback.apply(this, arguments); // Callback
});
} else {
el.animate({opacity: 0}, o.duration / 2, o.options.easing).animate({opacity: 1}, o.duration / 2, o.options.easing, function(){
if(o.callback) o.callback.apply(this, arguments); // Callback
});
};
el.queue('fx', function() { el.dequeue(); });
el.dequeue();
});
};
})(jQuery);

View File

@@ -1,45 +1,45 @@
;(function($) {
$.effects.shake = function(o) {
return this.queue(function() {
// Create element
var el = $(this), props = ['position','top','left'];
// Set options
var mode = $.effects.setMode(el, o.options.mode || 'effect'); // Set Mode
var direction = o.options.direction || 'left'; // Default direction
var distance = o.options.distance || 20; // Default distance
var times = o.options.times || 3; // Default # of times
var speed = o.duration || o.options.duration || 140; // Default speed per shake
// Adjust
$.effects.save(el, props); el.show(); // Save & Show
$.effects.createWrapper(el); // Create Wrapper
var ref = (direction == 'up' || direction == 'down') ? 'top' : 'left';
var motion = (direction == 'up' || direction == 'left') ? 'pos' : 'neg';
// Animation
var animation = {}, animation1 = {}, animation2 = {};
animation[ref] = (motion == 'pos' ? '-=' : '+=') + distance;
animation1[ref] = (motion == 'pos' ? '+=' : '-=') + distance * 2;
animation2[ref] = (motion == 'pos' ? '-=' : '+=') + distance * 2;
// Animate
el.animate(animation, speed, o.options.easing);
for (var i = 1; i < times; i++) { // Shakes
el.animate(animation1, speed, o.options.easing).animate(animation2, speed, o.options.easing);
};
el.animate(animation1, speed, o.options.easing).
animate(animation, speed / 2, o.options.easing, function(){ // Last shake
$.effects.restore(el, props); $.effects.removeWrapper(el); // Restore
if(o.callback) o.callback.apply(this, arguments); // Callback
});
el.queue('fx', function() { el.dequeue(); });
el.dequeue();
});
};
})(jQuery);
;(function($) {
$.effects.shake = function(o) {
return this.queue(function() {
// Create element
var el = $(this), props = ['position','top','left'];
// Set options
var mode = $.effects.setMode(el, o.options.mode || 'effect'); // Set Mode
var direction = o.options.direction || 'left'; // Default direction
var distance = o.options.distance || 20; // Default distance
var times = o.options.times || 3; // Default # of times
var speed = o.duration || o.options.duration || 140; // Default speed per shake
// Adjust
$.effects.save(el, props); el.show(); // Save & Show
$.effects.createWrapper(el); // Create Wrapper
var ref = (direction == 'up' || direction == 'down') ? 'top' : 'left';
var motion = (direction == 'up' || direction == 'left') ? 'pos' : 'neg';
// Animation
var animation = {}, animation1 = {}, animation2 = {};
animation[ref] = (motion == 'pos' ? '-=' : '+=') + distance;
animation1[ref] = (motion == 'pos' ? '+=' : '-=') + distance * 2;
animation2[ref] = (motion == 'pos' ? '-=' : '+=') + distance * 2;
// Animate
el.animate(animation, speed, o.options.easing);
for (var i = 1; i < times; i++) { // Shakes
el.animate(animation1, speed, o.options.easing).animate(animation2, speed, o.options.easing);
};
el.animate(animation1, speed, o.options.easing).
animate(animation, speed / 2, o.options.easing, function(){ // Last shake
$.effects.restore(el, props); $.effects.removeWrapper(el); // Restore
if(o.callback) o.callback.apply(this, arguments); // Callback
});
el.queue('fx', function() { el.dequeue(); });
el.dequeue();
});
};
})(jQuery);

View File

@@ -1,38 +1,38 @@
;(function($) {
$.effects.slide = function(o) {
return this.queue(function() {
// Create element
var el = $(this), props = ['position','top','left'];
// Set options
var mode = $.effects.setMode(el, o.options.mode || 'show'); // Set Mode
var direction = o.options.direction || 'left'; // Default Direction
// Adjust
$.effects.save(el, props); el.show(); // Save & Show
$.effects.createWrapper(el).css({overflow:'hidden'}); // Create Wrapper
var ref = (direction == 'up' || direction == 'down') ? 'top' : 'left';
var motion = (direction == 'up' || direction == 'left') ? 'pos' : 'neg';
var distance = o.options.distance || (ref == 'top' ? el.outerHeight({margin:true}) : el.outerWidth({margin:true}));
if (mode == 'show') el.css(ref, motion == 'pos' ? -distance : distance); // Shift
// Animation
var animation = {};
animation[ref] = (mode == 'show' ? (motion == 'pos' ? '+=' : '-=') : (motion == 'pos' ? '-=' : '+=')) + distance;
// Animate
el.animate(animation, { queue: false, duration: o.duration, easing: o.options.easing, complete: function() {
if(mode == 'hide') el.hide(); // Hide
$.effects.restore(el, props); $.effects.removeWrapper(el); // Restore
if(o.callback) o.callback.apply(this, arguments); // Callback
el.dequeue();
}});
});
};
;(function($) {
$.effects.slide = function(o) {
return this.queue(function() {
// Create element
var el = $(this), props = ['position','top','left'];
// Set options
var mode = $.effects.setMode(el, o.options.mode || 'show'); // Set Mode
var direction = o.options.direction || 'left'; // Default Direction
// Adjust
$.effects.save(el, props); el.show(); // Save & Show
$.effects.createWrapper(el).css({overflow:'hidden'}); // Create Wrapper
var ref = (direction == 'up' || direction == 'down') ? 'top' : 'left';
var motion = (direction == 'up' || direction == 'left') ? 'pos' : 'neg';
var distance = o.options.distance || (ref == 'top' ? el.outerHeight({margin:true}) : el.outerWidth({margin:true}));
if (mode == 'show') el.css(ref, motion == 'pos' ? -distance : distance); // Shift
// Animation
var animation = {};
animation[ref] = (mode == 'show' ? (motion == 'pos' ? '+=' : '-=') : (motion == 'pos' ? '-=' : '+=')) + distance;
// Animate
el.animate(animation, { queue: false, duration: o.duration, easing: o.options.easing, complete: function() {
if(mode == 'hide') el.hide(); // Hide
$.effects.restore(el, props); $.effects.removeWrapper(el); // Restore
if(o.callback) o.callback.apply(this, arguments); // Callback
el.dequeue();
}});
});
};
})(jQuery);

View File

@@ -1,46 +1,46 @@
;(function($) {
$.effects.transfer = function(o) {
return this.queue(function() {
// Create element
var el = $(this);
// Set options
var mode = $.effects.setMode(el, o.options.mode || 'effect'); // Set Mode
var target = $(o.options.to); // Find Target
var position = el.offset();
var transfer = $('<div class="ui-effects-transfer"></div>').appendTo(document.body);
// Set target css
transfer.addClass(o.options.className);
transfer.css({
top: position.top,
left: position.left,
height: el.outerHeight(true) - parseInt(transfer.css('borderTopWidth')) - parseInt(transfer.css('borderBottomWidth')),
width: el.outerWidth(true) - parseInt(transfer.css('borderLeftWidth')) - parseInt(transfer.css('borderRightWidth')),
position: 'absolute'
});
// Animation
position = target.offset();
animation = {
top: position.top,
left: position.top,
height: target.outerHeight() - parseInt(transfer.css('borderTopWidth')) - parseInt(transfer.css('borderBottomWidth')),
width: target.outerWidth() - parseInt(transfer.css('borderLeftWidth')) - parseInt(transfer.css('borderRightWidth'))
};
// Animate
transfer.animate(animation, o.duration, o.options.easing, function() {
transfer.remove(); // Remove div
if(o.callback) o.callback.apply(el[0], arguments); // Callback
el.dequeue();
});
});
};
})(jQuery);
;(function($) {
$.effects.transfer = function(o) {
return this.queue(function() {
// Create element
var el = $(this);
// Set options
var mode = $.effects.setMode(el, o.options.mode || 'effect'); // Set Mode
var target = $(o.options.to); // Find Target
var position = el.offset();
var transfer = $('<div class="ui-effects-transfer"></div>').appendTo(document.body);
// Set target css
transfer.addClass(o.options.className);
transfer.css({
top: position.top,
left: position.left,
height: el.outerHeight(true) - parseInt(transfer.css('borderTopWidth')) - parseInt(transfer.css('borderBottomWidth')),
width: el.outerWidth(true) - parseInt(transfer.css('borderLeftWidth')) - parseInt(transfer.css('borderRightWidth')),
position: 'absolute'
});
// Animation
position = target.offset();
animation = {
top: position.top,
left: position.top,
height: target.outerHeight() - parseInt(transfer.css('borderTopWidth')) - parseInt(transfer.css('borderBottomWidth')),
width: target.outerWidth() - parseInt(transfer.css('borderLeftWidth')) - parseInt(transfer.css('borderRightWidth'))
};
// Animate
transfer.animate(animation, o.duration, o.options.easing, function() {
transfer.remove(); // Remove div
if(o.callback) o.callback.apply(el[0], arguments); // Callback
el.dequeue();
});
});
};
})(jQuery);

View File

@@ -1,22 +1,22 @@
/* Armenian(UTF-8) initialisation for the jQuery UI date picker plugin. */
/* Written by Levon Zakaryan (levon.zakaryan@gmail.com)*/
jQuery(function($){
$.datepicker.regional['am'] = {clearText: 'Մաքրել', clearStatus: '',
closeText: 'Փակել', closeStatus: '',
prevText: '&lt;Նախ.', prevStatus: '',
nextText: 'Հաջ.&gt;', nextStatus: '',
currentText: 'Այսօր', currentStatus: '',
monthNames: ['Հունվար','Փետրվար','Մարտ','Ապրիլ','Մայիս','Հունիս',
'Հուլիս','Օգոստոս','Սեպտեմբեր','Հոկտեմբեր','Նոյեմբեր','Դեկտեմբեր'],
monthNamesShort: ['Հունվ','Փետր','Մարտ','Ապր','Մայիս','Հունիս',
'Հուլ','Օգս','Սեպ','Հոկ','Նոյ','Դեկ'],
monthStatus: '', yearStatus: '',
weekHeader: 'ՇԲՏ', weekStatus: '',
dayNames: ['կիրակի','եկուշաբթի','երեքշաբթի','չորեքշաբթի','հինգշաբթի','ուրբաթ','շաբաթ'],
dayNamesShort: ['կիր','երկ','երք','չրք','հնգ','ուրբ','շբթ'],
dayNamesMin: ['կիր','երկ','երք','չրք','հնգ','ուրբ','շբթ'],
dayStatus: 'DD', dateStatus: 'D, M d',
dateFormat: 'dd.mm.yy', firstDay: 1,
initStatus: '', isRTL: false};
$.datepicker.setDefaults($.datepicker.regional['am']);
/* Armenian(UTF-8) initialisation for the jQuery UI date picker plugin. */
/* Written by Levon Zakaryan (levon.zakaryan@gmail.com)*/
jQuery(function($){
$.datepicker.regional['am'] = {clearText: 'Մաքրել', clearStatus: '',
closeText: 'Փակել', closeStatus: '',
prevText: '&lt;Նախ.', prevStatus: '',
nextText: 'Հաջ.&gt;', nextStatus: '',
currentText: 'Այսօր', currentStatus: '',
monthNames: ['Հունվար','Փետրվար','Մարտ','Ապրիլ','Մայիս','Հունիս',
'Հուլիս','Օգոստոս','Սեպտեմբեր','Հոկտեմբեր','Նոյեմբեր','Դեկտեմբեր'],
monthNamesShort: ['Հունվ','Փետր','Մարտ','Ապր','Մայիս','Հունիս',
'Հուլ','Օգս','Սեպ','Հոկ','Նոյ','Դեկ'],
monthStatus: '', yearStatus: '',
weekHeader: 'ՇԲՏ', weekStatus: '',
dayNames: ['կիրակի','եկուշաբթի','երեքշաբթի','չորեքշաբթի','հինգշաբթի','ուրբաթ','շաբաթ'],
dayNamesShort: ['կիր','երկ','երք','չրք','հնգ','ուրբ','շբթ'],
dayNamesMin: ['կիր','երկ','երք','չրք','հնգ','ուրբ','շբթ'],
dayStatus: 'DD', dateStatus: 'D, M d',
dateFormat: 'dd.mm.yy', firstDay: 1,
initStatus: '', isRTL: false};
$.datepicker.setDefaults($.datepicker.regional['am']);
});

View File

@@ -1,31 +1,31 @@
/* Arabic Translation for jQuery UI date picker plugin. */
/* Khaled Al Horani -- koko.dw@gmail.com */
jQuery(function($){
$.datepicker.regional['ar'] = {
clearText: 'نظيف',
clearStatus: 'امسح التاريخ الحالي',
closeText: 'إغلاق',
closeStatus: 'إغلاق بدون حفظ',
prevText: '<السابق',
prevStatus: 'عرض الشهر السابق',
nextText: 'التالي>',
nextStatus: 'عرض الشهر القادم',
currentText: 'اليوم',
currentStatus: 'عرض الشهر الحالي',
monthNames: ['كانون الثاني', 'شباط', 'آذار', 'نيسان', 'آذار', 'حزيران', 'تموز', 'آب', 'أيلول', 'تشرين الأول', 'تشرين الثاني', 'كانون الأول'],
monthNamesShort: ['كانون الثاني', 'شباط', 'آذار', 'نيسان', 'آذار', 'حزيران', 'تموز', 'آب', 'أيلول', 'تشرين الأول', 'تشرين الثاني', 'كانون الأول'],
monthStatus: 'عرض شهر آخر',
yearStatus: 'عرض سنة آخرى',
weekHeader: 'أسبوع',
weekStatus: 'أسبوع السنة',
dayNames: ['السبت', 'الأحد', 'الاثنين', 'الثلاثاء', 'الأربعاء', 'الخميس', 'الجمعة'],
dayNamesShort: ['السبت', 'الأحد', 'الاثنين', 'الثلاثاء', 'الأربعاء', 'الخميس', 'الجمعة'],
dayNamesMin: ['السبت', 'الأحد', 'الاثنين', 'الثلاثاء', 'الأربعاء', 'الخميس', 'الجمعة'],
dayStatus: 'اختر DD لليوم الأول من الأسبوع',
dateStatus: 'اختر D, M d',
dateFormat: 'dd/mm/yy', firstDay: 0,
initStatus: 'اختر يوم',
isRTL: true
};
$.datepicker.setDefaults($.datepicker.regional['ar']);
/* Arabic Translation for jQuery UI date picker plugin. */
/* Khaled Al Horani -- koko.dw@gmail.com */
jQuery(function($){
$.datepicker.regional['ar'] = {
clearText: 'نظيف',
clearStatus: 'امسح التاريخ الحالي',
closeText: 'إغلاق',
closeStatus: 'إغلاق بدون حفظ',
prevText: '<السابق',
prevStatus: 'عرض الشهر السابق',
nextText: 'التالي>',
nextStatus: 'عرض الشهر القادم',
currentText: 'اليوم',
currentStatus: 'عرض الشهر الحالي',
monthNames: ['كانون الثاني', 'شباط', 'آذار', 'نيسان', 'آذار', 'حزيران', 'تموز', 'آب', 'أيلول', 'تشرين الأول', 'تشرين الثاني', 'كانون الأول'],
monthNamesShort: ['كانون الثاني', 'شباط', 'آذار', 'نيسان', 'آذار', 'حزيران', 'تموز', 'آب', 'أيلول', 'تشرين الأول', 'تشرين الثاني', 'كانون الأول'],
monthStatus: 'عرض شهر آخر',
yearStatus: 'عرض سنة آخرى',
weekHeader: 'أسبوع',
weekStatus: 'أسبوع السنة',
dayNames: ['السبت', 'الأحد', 'الاثنين', 'الثلاثاء', 'الأربعاء', 'الخميس', 'الجمعة'],
dayNamesShort: ['السبت', 'الأحد', 'الاثنين', 'الثلاثاء', 'الأربعاء', 'الخميس', 'الجمعة'],
dayNamesMin: ['السبت', 'الأحد', 'الاثنين', 'الثلاثاء', 'الأربعاء', 'الخميس', 'الجمعة'],
dayStatus: 'اختر DD لليوم الأول من الأسبوع',
dateStatus: 'اختر D, M d',
dateFormat: 'dd/mm/yy', firstDay: 0,
initStatus: 'اختر يوم',
isRTL: true
};
$.datepicker.setDefaults($.datepicker.regional['ar']);
});

View File

@@ -1,22 +1,22 @@
/* Inicialització en català per a l'extenció 'calendar' per jQuery. */
/* Writers: (joan.leon@gmail.com). */
jQuery(function($){
$.datepicker.regional['ca'] = {clearText: 'Netejar', clearStatus: '',
closeText: 'Tancar', closeStatus: '',
prevText: '&lt;Ant', prevStatus: '',
nextText: 'Seg&gt;', nextStatus: '',
currentText: 'Avui', currentStatus: '',
monthNames: ['Gener','Febrer','Mar&ccedil;','Abril','Maig','Juny',
'Juliol','Agost','Setembre','Octubre','Novembre','Decembre'],
monthNamesShort: ['Gen','Feb','Mar','Abr','Mai','Jun',
'Jul','Ago','Set','Oct','Nov','Dec'],
monthStatus: '', yearStatus: '',
weekHeader: 'Sm', weekStatus: '',
dayNames: ['Diumenge','Dilluns','Dimarts','Dimecres','Dijous','Divendres','Dissabte'],
dayNamesShort: ['Dug','Dln','Dmt','Dmc','Djs','Dvn','Dsb'],
dayNamesMin: ['Dg','Dl','Dt','Dc','Dj','Dv','Ds'],
dayStatus: 'DD', dateStatus: 'D, M d',
dateFormat: 'mm/dd/yy', firstDay: 0,
initStatus: '', isRTL: false};
$.datepicker.setDefaults($.datepicker.regional['ca']);
/* Inicialització en català per a l'extenció 'calendar' per jQuery. */
/* Writers: (joan.leon@gmail.com). */
jQuery(function($){
$.datepicker.regional['ca'] = {clearText: 'Netejar', clearStatus: '',
closeText: 'Tancar', closeStatus: '',
prevText: '&lt;Ant', prevStatus: '',
nextText: 'Seg&gt;', nextStatus: '',
currentText: 'Avui', currentStatus: '',
monthNames: ['Gener','Febrer','Mar&ccedil;','Abril','Maig','Juny',
'Juliol','Agost','Setembre','Octubre','Novembre','Decembre'],
monthNamesShort: ['Gen','Feb','Mar','Abr','Mai','Jun',
'Jul','Ago','Set','Oct','Nov','Dec'],
monthStatus: '', yearStatus: '',
weekHeader: 'Sm', weekStatus: '',
dayNames: ['Diumenge','Dilluns','Dimarts','Dimecres','Dijous','Divendres','Dissabte'],
dayNamesShort: ['Dug','Dln','Dmt','Dmc','Djs','Dvn','Dsb'],
dayNamesMin: ['Dg','Dl','Dt','Dc','Dj','Dv','Ds'],
dayStatus: 'DD', dateStatus: 'D, M d',
dateFormat: 'mm/dd/yy', firstDay: 0,
initStatus: '', isRTL: false};
$.datepicker.setDefaults($.datepicker.regional['ca']);
});

View File

@@ -1,22 +1,22 @@
/* Czech initialisation for the jQuery UI date picker plugin. */
/* Written by Tomas Muller (tomas@tomas-muller.net). */
jQuery(function($){
$.datepicker.regional['cs'] = {clearText: 'Vymazat', clearStatus: 'Vymaže zadané datum',
closeText: 'Zavřít', closeStatus: 'Zavře kalendář beze změny',
prevText: '&#x3c;Dříve', prevStatus: 'Přejít na předchozí měsí',
nextText: 'Později&#x3e;', nextStatus: 'Přejít na další měsíc',
currentText: 'Nyní', currentStatus: 'Přejde na aktuální měsíc',
monthNames: ['leden','únor','březen','duben','květen','červen',
'červenec','srpen','září','říjen','listopad','prosinec'],
monthNamesShort: ['led','úno','bře','dub','kvě','čer',
'čvc','srp','zář','říj','lis','pro'],
monthStatus: 'Přejít na jiný měsíc', yearStatus: 'Přejít na jiný rok',
weekHeader: 'Týd', weekStatus: 'Týden v roce',
dayNames: ['neděle', 'pondělí', 'úterý', 'středa', 'čtvrtek', 'pátek', 'sobota'],
dayNamesShort: ['ne', 'po', 'út', 'st', 'čt', 'pá', 'so'],
dayNamesMin: ['ne','po','út','st','čt','pá','so'],
dayStatus: 'Nastavit DD jako první den v týdnu', dateStatus: '\'Vyber\' DD, M d',
dateFormat: 'dd.mm.yy', firstDay: 1,
initStatus: 'Vyberte datum', isRTL: false};
$.datepicker.setDefaults($.datepicker.regional['cs']);
});
/* Czech initialisation for the jQuery UI date picker plugin. */
/* Written by Tomas Muller (tomas@tomas-muller.net). */
jQuery(function($){
$.datepicker.regional['cs'] = {clearText: 'Vymazat', clearStatus: 'Vymaže zadané datum',
closeText: 'Zavřít', closeStatus: 'Zavře kalendář beze změny',
prevText: '&#x3c;Dříve', prevStatus: 'Přejít na předchozí měsí',
nextText: 'Později&#x3e;', nextStatus: 'Přejít na další měsíc',
currentText: 'Nyní', currentStatus: 'Přejde na aktuální měsíc',
monthNames: ['leden','únor','březen','duben','květen','červen',
'červenec','srpen','září','říjen','listopad','prosinec'],
monthNamesShort: ['led','úno','bře','dub','kvě','čer',
'čvc','srp','zář','říj','lis','pro'],
monthStatus: 'Přejít na jiný měsíc', yearStatus: 'Přejít na jiný rok',
weekHeader: 'Týd', weekStatus: 'Týden v roce',
dayNames: ['neděle', 'pondělí', 'úterý', 'středa', 'čtvrtek', 'pátek', 'sobota'],
dayNamesShort: ['ne', 'po', 'út', 'st', 'čt', 'pá', 'so'],
dayNamesMin: ['ne','po','út','st','čt','pá','so'],
dayStatus: 'Nastavit DD jako první den v týdnu', dateStatus: '\'Vyber\' DD, M d',
dateFormat: 'dd.mm.yy', firstDay: 1,
initStatus: 'Vyberte datum', isRTL: false};
$.datepicker.setDefaults($.datepicker.regional['cs']);
});

View File

@@ -1,22 +1,22 @@
/* Danish initialisation for the jQuery UI date picker plugin. */
/* Written by Jan Christensen ( deletestuff@gmail.com). */
jQuery(function($){
$.datepicker.regional['da'] = {clearText: 'Nulstil', clearStatus: 'Nulstil den aktuelle dato',
closeText: 'Luk', closeStatus: 'Luk uden ændringer',
prevText: '&#x3c;Forrige', prevStatus: 'Vis forrige måned',
nextText: 'Næste&#x3e;', nextStatus: 'Vis næste måned',
currentText: 'Idag', currentStatus: 'Vis aktuel måned',
monthNames: ['Januar','Februar','Marts','April','Maj','Juni',
'Juli','August','September','Oktober','November','December'],
monthNamesShort: ['Jan','Feb','Mar','Apr','Maj','Jun',
'Jul','Aug','Sep','Okt','Nov','Dec'],
monthStatus: 'Vis en anden måned', yearStatus: 'Vis et andet år',
weekHeader: 'Uge', weekStatus: 'Årets uge',
dayNames: ['Søndag','Mandag','Tirsdag','Onsdag','Torsdag','Fredag','Lørdag'],
dayNamesShort: ['Søn','Man','Tir','Ons','Tor','Fre','Lør'],
dayNamesMin: ['Sø','Ma','Ti','On','To','Fr','Lø'],
dayStatus: 'Sæt DD som første ugedag', dateStatus: 'Vælg D, M d',
dateFormat: 'dd-mm-yy', firstDay: 0,
initStatus: 'Vælg en dato', isRTL: false};
$.datepicker.setDefaults($.datepicker.regional['da']);
});
/* Danish initialisation for the jQuery UI date picker plugin. */
/* Written by Jan Christensen ( deletestuff@gmail.com). */
jQuery(function($){
$.datepicker.regional['da'] = {clearText: 'Nulstil', clearStatus: 'Nulstil den aktuelle dato',
closeText: 'Luk', closeStatus: 'Luk uden ændringer',
prevText: '&#x3c;Forrige', prevStatus: 'Vis forrige måned',
nextText: 'Næste&#x3e;', nextStatus: 'Vis næste måned',
currentText: 'Idag', currentStatus: 'Vis aktuel måned',
monthNames: ['Januar','Februar','Marts','April','Maj','Juni',
'Juli','August','September','Oktober','November','December'],
monthNamesShort: ['Jan','Feb','Mar','Apr','Maj','Jun',
'Jul','Aug','Sep','Okt','Nov','Dec'],
monthStatus: 'Vis en anden måned', yearStatus: 'Vis et andet år',
weekHeader: 'Uge', weekStatus: 'Årets uge',
dayNames: ['Søndag','Mandag','Tirsdag','Onsdag','Torsdag','Fredag','Lørdag'],
dayNamesShort: ['Søn','Man','Tir','Ons','Tor','Fre','Lør'],
dayNamesMin: ['Sø','Ma','Ti','On','To','Fr','Lø'],
dayStatus: 'Sæt DD som første ugedag', dateStatus: 'Vælg D, M d',
dateFormat: 'dd-mm-yy', firstDay: 0,
initStatus: 'Vælg en dato', isRTL: false};
$.datepicker.setDefaults($.datepicker.regional['da']);
});

View File

@@ -1,22 +1,22 @@
/* German initialisation for the jQuery UI date picker plugin. */
/* Written by Milian Wolff (mail@milianw.de). */
jQuery(function($){
$.datepicker.regional['de'] = {clearText: 'löschen', clearStatus: 'aktuelles Datum löschen',
closeText: 'schließen', closeStatus: 'ohne Änderungen schließen',
prevText: '&#x3c;zurück', prevStatus: 'letzten Monat zeigen',
nextText: 'Vor&#x3e;', nextStatus: 'nächsten Monat zeigen',
currentText: 'heute', currentStatus: '',
monthNames: ['Januar','Februar','März','April','Mai','Juni',
'Juli','August','September','Oktober','November','Dezember'],
monthNamesShort: ['Jan','Feb','Mär','Apr','Mai','Jun',
'Jul','Aug','Sep','Okt','Nov','Dez'],
monthStatus: 'anderen Monat anzeigen', yearStatus: 'anderes Jahr anzeigen',
weekHeader: 'Wo', weekStatus: 'Woche des Monats',
dayNames: ['Sonntag','Montag','Dienstag','Mittwoch','Donnerstag','Freitag','Samstag'],
dayNamesShort: ['So','Mo','Di','Mi','Do','Fr','Sa'],
dayNamesMin: ['So','Mo','Di','Mi','Do','Fr','Sa'],
dayStatus: 'Setze DD als ersten Wochentag', dateStatus: 'Wähle D, M d',
dateFormat: 'dd.mm.yy', firstDay: 1,
initStatus: 'Wähle ein Datum', isRTL: false};
$.datepicker.setDefaults($.datepicker.regional['de']);
});
/* German initialisation for the jQuery UI date picker plugin. */
/* Written by Milian Wolff (mail@milianw.de). */
jQuery(function($){
$.datepicker.regional['de'] = {clearText: 'löschen', clearStatus: 'aktuelles Datum löschen',
closeText: 'schließen', closeStatus: 'ohne Änderungen schließen',
prevText: '&#x3c;zurück', prevStatus: 'letzten Monat zeigen',
nextText: 'Vor&#x3e;', nextStatus: 'nächsten Monat zeigen',
currentText: 'heute', currentStatus: '',
monthNames: ['Januar','Februar','März','April','Mai','Juni',
'Juli','August','September','Oktober','November','Dezember'],
monthNamesShort: ['Jan','Feb','Mär','Apr','Mai','Jun',
'Jul','Aug','Sep','Okt','Nov','Dez'],
monthStatus: 'anderen Monat anzeigen', yearStatus: 'anderes Jahr anzeigen',
weekHeader: 'Wo', weekStatus: 'Woche des Monats',
dayNames: ['Sonntag','Montag','Dienstag','Mittwoch','Donnerstag','Freitag','Samstag'],
dayNamesShort: ['So','Mo','Di','Mi','Do','Fr','Sa'],
dayNamesMin: ['So','Mo','Di','Mi','Do','Fr','Sa'],
dayStatus: 'Setze DD als ersten Wochentag', dateStatus: 'Wähle D, M d',
dateFormat: 'dd.mm.yy', firstDay: 1,
initStatus: 'Wähle ein Datum', isRTL: false};
$.datepicker.setDefaults($.datepicker.regional['de']);
});

View File

@@ -1,22 +1,22 @@
/* Inicialización en español para la extensión 'UI date picker' para jQuery. */
/* Traducido por Vester (xvester@gmail.com). */
jQuery(function($){
$.datepicker.regional['es'] = {clearText: 'Limpiar', clearStatus: '',
closeText: 'Cerrar', closeStatus: '',
prevText: '&lt;Ant', prevStatus: '',
nextText: 'Sig&gt;', nextStatus: '',
currentText: 'Hoy', currentStatus: '',
monthNames: ['Enero','Febrero','Marzo','Abril','Mayo','Junio',
'Julio','Agosto','Septiembre','Octubre','Noviembre','Diciembre'],
monthNamesShort: ['Ene','Feb','Mar','Abr','May','Jun',
'Jul','Ago','Sep','Oct','Nov','Dic'],
monthStatus: '', yearStatus: '',
weekHeader: 'Sm', weekStatus: '',
dayNames: ['Domingo','Lunes','Martes','Mi&eacute;rcoles','Jueves','Viernes','S&aacute;dabo'],
dayNamesShort: ['Dom','Lun','Mar','Mi&eacute;','Juv','Vie','S&aacute;b'],
dayNamesMin: ['Do','Lu','Ma','Mi','Ju','Vi','S&aacute;'],
dayStatus: 'DD', dateStatus: 'D, M d',
dateFormat: 'dd/mm/yy', firstDay: 0,
initStatus: '', isRTL: false};
$.datepicker.setDefaults($.datepicker.regional['es']);
/* Inicialización en español para la extensión 'UI date picker' para jQuery. */
/* Traducido por Vester (xvester@gmail.com). */
jQuery(function($){
$.datepicker.regional['es'] = {clearText: 'Limpiar', clearStatus: '',
closeText: 'Cerrar', closeStatus: '',
prevText: '&lt;Ant', prevStatus: '',
nextText: 'Sig&gt;', nextStatus: '',
currentText: 'Hoy', currentStatus: '',
monthNames: ['Enero','Febrero','Marzo','Abril','Mayo','Junio',
'Julio','Agosto','Septiembre','Octubre','Noviembre','Diciembre'],
monthNamesShort: ['Ene','Feb','Mar','Abr','May','Jun',
'Jul','Ago','Sep','Oct','Nov','Dic'],
monthStatus: '', yearStatus: '',
weekHeader: 'Sm', weekStatus: '',
dayNames: ['Domingo','Lunes','Martes','Mi&eacute;rcoles','Jueves','Viernes','S&aacute;dabo'],
dayNamesShort: ['Dom','Lun','Mar','Mi&eacute;','Juv','Vie','S&aacute;b'],
dayNamesMin: ['Do','Lu','Ma','Mi','Ju','Vi','S&aacute;'],
dayStatus: 'DD', dateStatus: 'D, M d',
dateFormat: 'dd/mm/yy', firstDay: 0,
initStatus: '', isRTL: false};
$.datepicker.setDefaults($.datepicker.regional['es']);
});

View File

@@ -1,24 +1,24 @@
/* Finnish initialisation for the jQuery UI date picker plugin. */
/* Written by Harri Kilpiö (harrikilpio@gmail.com). */
$(document).ready(function(){
$.datepicker.regional['fi'] = {
clearText: 'Tyhjenn&auml;', clearStatus: '',
closeText: 'Sulje', closeStatus: '',
prevText: '&laquo;Edellinen', prevStatus: '',
nextText: 'Seuraava&raquo;', nextStatus: '',
currentText: 'T&auml;n&auml;&auml;n', currentStatus: '',
monthNames: ['Tammikuu','Helmikuu','Maaliskuu','Huhtikuu','Toukokuu','Kes&auml;kuu',
'Hein&auml;kuu','Elokuu','Syyskuu','Lokakuu','Marraskuu','Joulukuu'],
monthNamesShort: ['Tammi','Helmi','Maalis','Huhti','Touko','Kes&auml;',
'Hein&auml;','Elo','Syys','Loka','Marras','Joulu'],
monthStatus: '', yearStatus: '',
weekHeader: 'Vk', weekStatus: '',
dayNamesShort: ['Su','Ma','Ti','Ke','To','Pe','Su'],
dayNames: ['Sunnuntai','Maanantai','Tiistai','Keskiviikko','Torstai','Perjantai','Lauantai'],
dayNamesMin: ['Su','Ma','Ti','Ke','To','Pe','La'],
dayStatus: 'DD', dateStatus: 'D, M d',
dateFormat: 'dd.mm.yy', firstDay: 1,
initStatus: '', isRTL: false};
$.datepicker.setDefaults($.datepicker.regional['fi']);
});
/* Finnish initialisation for the jQuery UI date picker plugin. */
/* Written by Harri Kilpiö (harrikilpio@gmail.com). */
$(document).ready(function(){
$.datepicker.regional['fi'] = {
clearText: 'Tyhjenn&auml;', clearStatus: '',
closeText: 'Sulje', closeStatus: '',
prevText: '&laquo;Edellinen', prevStatus: '',
nextText: 'Seuraava&raquo;', nextStatus: '',
currentText: 'T&auml;n&auml;&auml;n', currentStatus: '',
monthNames: ['Tammikuu','Helmikuu','Maaliskuu','Huhtikuu','Toukokuu','Kes&auml;kuu',
'Hein&auml;kuu','Elokuu','Syyskuu','Lokakuu','Marraskuu','Joulukuu'],
monthNamesShort: ['Tammi','Helmi','Maalis','Huhti','Touko','Kes&auml;',
'Hein&auml;','Elo','Syys','Loka','Marras','Joulu'],
monthStatus: '', yearStatus: '',
weekHeader: 'Vk', weekStatus: '',
dayNamesShort: ['Su','Ma','Ti','Ke','To','Pe','Su'],
dayNames: ['Sunnuntai','Maanantai','Tiistai','Keskiviikko','Torstai','Perjantai','Lauantai'],
dayNamesMin: ['Su','Ma','Ti','Ke','To','Pe','La'],
dayStatus: 'DD', dateStatus: 'D, M d',
dateFormat: 'dd.mm.yy', firstDay: 1,
initStatus: '', isRTL: false};
$.datepicker.setDefaults($.datepicker.regional['fi']);
});

View File

@@ -1,22 +1,22 @@
/* French initialisation for the jQuery UI date picker plugin. */
/* Written by Keith Wood (kbwood@iprimus.com.au) and Stéphane Nahmani (sholby@sholby.net). */
jQuery(function($){
$.datepicker.regional['fr'] = {clearText: 'Effacer', clearStatus: '',
closeText: 'Fermer', closeStatus: 'Fermer sans modifier',
prevText: '&lt;Préc', prevStatus: 'Voir le mois précédent',
nextText: 'Suiv&gt;', nextStatus: 'Voir le mois suivant',
currentText: 'Courant', currentStatus: 'Voir le mois courant',
monthNames: ['Janvier','Février','Mars','Avril','Mai','Juin',
'Juillet','Août','Septembre','Octobre','Novembre','Décembre'],
monthNamesShort: ['Jan','Fév','Mar','Avr','Mai','Jun',
'Jul','Aoû','Sep','Oct','Nov','Déc'],
monthStatus: 'Voir un autre mois', yearStatus: 'Voir un autre année',
weekHeader: 'Sm', weekStatus: '',
dayNames: ['Dimanche','Lundi','Mardi','Mercredi','Jeudi','Vendredi','Samedi'],
dayNamesShort: ['Dim','Lun','Mar','Mer','Jeu','Ven','Sam'],
dayNamesMin: ['Di','Lu','Ma','Me','Je','Ve','Sa'],
dayStatus: 'Utiliser DD comme premier jour de la semaine', dateStatus: 'Choisir le DD, MM d',
dateFormat: 'dd/mm/yy', firstDay: 0,
initStatus: 'Choisir la date', isRTL: false};
$.datepicker.setDefaults($.datepicker.regional['fr']);
/* French initialisation for the jQuery UI date picker plugin. */
/* Written by Keith Wood (kbwood@iprimus.com.au) and Stéphane Nahmani (sholby@sholby.net). */
jQuery(function($){
$.datepicker.regional['fr'] = {clearText: 'Effacer', clearStatus: '',
closeText: 'Fermer', closeStatus: 'Fermer sans modifier',
prevText: '&lt;Préc', prevStatus: 'Voir le mois précédent',
nextText: 'Suiv&gt;', nextStatus: 'Voir le mois suivant',
currentText: 'Courant', currentStatus: 'Voir le mois courant',
monthNames: ['Janvier','Février','Mars','Avril','Mai','Juin',
'Juillet','Août','Septembre','Octobre','Novembre','Décembre'],
monthNamesShort: ['Jan','Fév','Mar','Avr','Mai','Jun',
'Jul','Aoû','Sep','Oct','Nov','Déc'],
monthStatus: 'Voir un autre mois', yearStatus: 'Voir un autre année',
weekHeader: 'Sm', weekStatus: '',
dayNames: ['Dimanche','Lundi','Mardi','Mercredi','Jeudi','Vendredi','Samedi'],
dayNamesShort: ['Dim','Lun','Mar','Mer','Jeu','Ven','Sam'],
dayNamesMin: ['Di','Lu','Ma','Me','Je','Ve','Sa'],
dayStatus: 'Utiliser DD comme premier jour de la semaine', dateStatus: 'Choisir le DD, MM d',
dateFormat: 'dd/mm/yy', firstDay: 0,
initStatus: 'Choisir la date', isRTL: false};
$.datepicker.setDefaults($.datepicker.regional['fr']);
});

View File

@@ -1,22 +1,22 @@
/* Hebrew initialisation for the UI Datepicker extension. */
/* Written by Amir Hardon (ahardon at gmail dot com). */
jQuery(document).ready(function(){
jQuery.datepicker.regional['he'] = {clearText: 'נקה', clearStatus: '',
closeText: 'סגור', closeStatus: '',
prevText: '&#x3c;הקודם', prevStatus: '',
nextText: 'הבא&#x3e;', nextStatus: '',
currentText: 'היום', currentStatus: '',
monthNames: ['ינואר','פברואר','מרץ','אפריל','מאי','יוני',
'יולי','אוגוסט','ספטמבר','אוקטובר','נובמבר','דצמבר'],
monthNamesShort: ['1','2','3','4','5','6',
'7','8','9','10','11','12'],
monthStatus: '', yearStatus: '',
weekHeader: 'Sm', weekStatus: '',
dayNames: ['ראשון','שני','שלישי','רביעי','חמישי','שישי','שבת'],
dayNamesShort: ['א\'','ב\'','ג\'','ד\'','ה\'','ו\'','שבת'],
dayNamesMin: ['א\'','ב\'','ג\'','ד\'','ה\'','ו\'','שבת'],
dayStatus: 'DD', dateStatus: 'DD, M d',
dateFormat: 'dd/mm/yy', firstDay: 0,
initStatus: '', isRTL: true};
jQuery.datepicker.setDefaults($.datepicker.regional['he']);
});
/* Hebrew initialisation for the UI Datepicker extension. */
/* Written by Amir Hardon (ahardon at gmail dot com). */
jQuery(document).ready(function(){
jQuery.datepicker.regional['he'] = {clearText: 'נקה', clearStatus: '',
closeText: 'סגור', closeStatus: '',
prevText: '&#x3c;הקודם', prevStatus: '',
nextText: 'הבא&#x3e;', nextStatus: '',
currentText: 'היום', currentStatus: '',
monthNames: ['ינואר','פברואר','מרץ','אפריל','מאי','יוני',
'יולי','אוגוסט','ספטמבר','אוקטובר','נובמבר','דצמבר'],
monthNamesShort: ['1','2','3','4','5','6',
'7','8','9','10','11','12'],
monthStatus: '', yearStatus: '',
weekHeader: 'Sm', weekStatus: '',
dayNames: ['ראשון','שני','שלישי','רביעי','חמישי','שישי','שבת'],
dayNamesShort: ['א\'','ב\'','ג\'','ד\'','ה\'','ו\'','שבת'],
dayNamesMin: ['א\'','ב\'','ג\'','ד\'','ה\'','ו\'','שבת'],
dayStatus: 'DD', dateStatus: 'DD, M d',
dateFormat: 'dd/mm/yy', firstDay: 0,
initStatus: '', isRTL: true};
jQuery.datepicker.setDefaults($.datepicker.regional['he']);
});

View File

@@ -1,22 +1,22 @@
/* Hungarian initialisation for the jQuery UI date picker plugin. */
/* Written by Istvan Karaszi (jquerycalendar@spam.raszi.hu). */
jQuery(function($){
$.datepicker.regional['hu'] = {clearText: 'törlés', clearStatus: '',
closeText: 'bezárás', closeStatus: '',
prevText: '&laquo;&nbsp;vissza', prevStatus: '',
nextText: 'előre&nbsp;&raquo;', nextStatus: '',
currentText: 'ma', currentStatus: '',
monthNames: ['Január', 'Február', 'Március', 'Április', 'Május', 'Június',
'Július', 'Augusztus', 'Szeptember', 'Október', 'November', 'December'],
monthNamesShort: ['Jan', 'Feb', 'Már', 'Ápr', 'Máj', 'Jún',
'Júl', 'Aug', 'Szep', 'Okt', 'Nov', 'Dec'],
monthStatus: '', yearStatus: '',
weekHeader: 'Hé', weekStatus: '',
dayNames: ['Vasámap', 'Hétfö', 'Kedd', 'Szerda', 'Csütörtök', 'Péntek', 'Szombat'],
dayNamesShort: ['Vas', 'Hét', 'Ked', 'Sze', 'Csü', 'Pén', 'Szo'],
dayNamesMin: ['V', 'H', 'K', 'Sze', 'Cs', 'P', 'Szo'],
dayStatus: 'DD', dateStatus: 'D, M d',
dateFormat: 'yy-mm-dd', firstDay: 1,
initStatus: '', isRTL: false};
$.datepicker.setDefaults($.datepicker.regional['hu']);
});
/* Hungarian initialisation for the jQuery UI date picker plugin. */
/* Written by Istvan Karaszi (jquerycalendar@spam.raszi.hu). */
jQuery(function($){
$.datepicker.regional['hu'] = {clearText: 'törlés', clearStatus: '',
closeText: 'bezárás', closeStatus: '',
prevText: '&laquo;&nbsp;vissza', prevStatus: '',
nextText: 'előre&nbsp;&raquo;', nextStatus: '',
currentText: 'ma', currentStatus: '',
monthNames: ['Január', 'Február', 'Március', 'Április', 'Május', 'Június',
'Július', 'Augusztus', 'Szeptember', 'Október', 'November', 'December'],
monthNamesShort: ['Jan', 'Feb', 'Már', 'Ápr', 'Máj', 'Jún',
'Júl', 'Aug', 'Szep', 'Okt', 'Nov', 'Dec'],
monthStatus: '', yearStatus: '',
weekHeader: 'Hé', weekStatus: '',
dayNames: ['Vasámap', 'Hétfö', 'Kedd', 'Szerda', 'Csütörtök', 'Péntek', 'Szombat'],
dayNamesShort: ['Vas', 'Hét', 'Ked', 'Sze', 'Csü', 'Pén', 'Szo'],
dayNamesMin: ['V', 'H', 'K', 'Sze', 'Cs', 'P', 'Szo'],
dayStatus: 'DD', dateStatus: 'D, M d',
dateFormat: 'yy-mm-dd', firstDay: 1,
initStatus: '', isRTL: false};
$.datepicker.setDefaults($.datepicker.regional['hu']);
});

View File

@@ -1,22 +1,22 @@
/* Indonesian initialisation for the jQuery UI date picker plugin. */
/* Written by Deden Fathurahman (dedenf@gmail.com). */
jQuery(function($){
$.datepicker.regional['id'] = {clearText: 'kosongkan', clearStatus: 'bersihkan tanggal yang sekarang',
closeText: 'Tutup', closeStatus: 'Tutup tanpa mengubah',
prevText: '<mundur', prevStatus: 'Tampilkan bulan sebelumnya',
nextText: 'maju>', nextStatus: 'Tampilkan bulan berikutnya',
currentText: 'hari ini', currentStatus: 'Tampilkan bulan sekarang',
monthNames: ['Januari','Februari','Maret','April','Mei','Juni',
'Juli','Agustus','September','Oktober','Nopember','Desember'],
monthNamesShort: ['Jan','Feb','Mar','Apr','Mei','Jun',
'Jul','Agus','Sep','Okt','Nop','Des'],
monthStatus: 'Tampilkan bulan yang berbeda', yearStatus: 'Tampilkan tahun yang berbeda',
weekHeader: 'Mg', weekStatus: 'Minggu dalam tahun',
dayNames: ['Minggu','Senin','Selasa','Rabu','Kamis','Jumat','Sabtu'],
dayNamesShort: ['Min','Sen','Sel','Rab','kam','Jum','Sab'],
dayNamesMin: ['Mg','Sn','Sl','Rb','Km','jm','Sb'],
dayStatus: 'gunakan DD sebagai awal hari dalam minggu', dateStatus: 'pilih le DD, MM d',
dateFormat: 'dd/mm/yy', firstDay: 0,
initStatus: 'Pilih Tanggal', isRTL: false};
$.datepicker.setDefaults($.datepicker.regional['id']);
/* Indonesian initialisation for the jQuery UI date picker plugin. */
/* Written by Deden Fathurahman (dedenf@gmail.com). */
jQuery(function($){
$.datepicker.regional['id'] = {clearText: 'kosongkan', clearStatus: 'bersihkan tanggal yang sekarang',
closeText: 'Tutup', closeStatus: 'Tutup tanpa mengubah',
prevText: '<mundur', prevStatus: 'Tampilkan bulan sebelumnya',
nextText: 'maju>', nextStatus: 'Tampilkan bulan berikutnya',
currentText: 'hari ini', currentStatus: 'Tampilkan bulan sekarang',
monthNames: ['Januari','Februari','Maret','April','Mei','Juni',
'Juli','Agustus','September','Oktober','Nopember','Desember'],
monthNamesShort: ['Jan','Feb','Mar','Apr','Mei','Jun',
'Jul','Agus','Sep','Okt','Nop','Des'],
monthStatus: 'Tampilkan bulan yang berbeda', yearStatus: 'Tampilkan tahun yang berbeda',
weekHeader: 'Mg', weekStatus: 'Minggu dalam tahun',
dayNames: ['Minggu','Senin','Selasa','Rabu','Kamis','Jumat','Sabtu'],
dayNamesShort: ['Min','Sen','Sel','Rab','kam','Jum','Sab'],
dayNamesMin: ['Mg','Sn','Sl','Rb','Km','jm','Sb'],
dayStatus: 'gunakan DD sebagai awal hari dalam minggu', dateStatus: 'pilih le DD, MM d',
dateFormat: 'dd/mm/yy', firstDay: 0,
initStatus: 'Pilih Tanggal', isRTL: false};
$.datepicker.setDefaults($.datepicker.regional['id']);
});

View File

@@ -1,22 +1,22 @@
/* Icelandic initialisation for the jQuery UI date picker plugin. */
/* Written by Haukur H. Thorsson (haukur@eskill.is). */
jQuery(function($){
$.datepicker.regional['is'] = {clearText: 'Hreinsa', clearStatus: '',
closeText: 'Loka', closeStatus: '',
prevText: '< Fyrri', prevStatus: '',
nextText: 'N&aelig;sti >', nextStatus: '',
currentText: '&Iacute; dag', currentStatus: '',
monthNames: ['Jan&uacute;ar','Febr&uacute;ar','Mars','Apr&iacute;l','Ma&iacute','J&uacute;n&iacute;',
'J&uacute;l&iacute;','&Aacute;g&uacute;st','September','Okt&oacute;ber','N&oacute;vember','Desember'],
monthNamesShort: ['Jan','Feb','Mar','Apr','Ma&iacute;','J&uacute;n',
'J&uacute;l','&Aacute;g&uacute;','Sep','Okt','N&oacute;v','Des'],
monthStatus: '', yearStatus: '',
weekHeader: 'Vika', weekStatus: '',
dayNames: ['Sunnudagur','M&aacute;nudagur','&THORN;ri&eth;judagur','Mi&eth;vikudagur','Fimmtudagur','F&ouml;studagur','Laugardagur'],
dayNamesShort: ['Sun','M&aacute;n','&THORN;ri','Mi&eth;','Fim','F&ouml;s','Lau'],
dayNamesMin: ['Su','M&aacute;','&THORN;r','Mi','Fi','F&ouml;','La'],
dayStatus: 'DD', dateStatus: 'D, M d',
dateFormat: 'dd/mm/yy', firstDay: 0,
initStatus: '', isRTL: false};
$.datepicker.setDefaults($.datepicker.regional['is']);
/* Icelandic initialisation for the jQuery UI date picker plugin. */
/* Written by Haukur H. Thorsson (haukur@eskill.is). */
jQuery(function($){
$.datepicker.regional['is'] = {clearText: 'Hreinsa', clearStatus: '',
closeText: 'Loka', closeStatus: '',
prevText: '< Fyrri', prevStatus: '',
nextText: 'N&aelig;sti >', nextStatus: '',
currentText: '&Iacute; dag', currentStatus: '',
monthNames: ['Jan&uacute;ar','Febr&uacute;ar','Mars','Apr&iacute;l','Ma&iacute','J&uacute;n&iacute;',
'J&uacute;l&iacute;','&Aacute;g&uacute;st','September','Okt&oacute;ber','N&oacute;vember','Desember'],
monthNamesShort: ['Jan','Feb','Mar','Apr','Ma&iacute;','J&uacute;n',
'J&uacute;l','&Aacute;g&uacute;','Sep','Okt','N&oacute;v','Des'],
monthStatus: '', yearStatus: '',
weekHeader: 'Vika', weekStatus: '',
dayNames: ['Sunnudagur','M&aacute;nudagur','&THORN;ri&eth;judagur','Mi&eth;vikudagur','Fimmtudagur','F&ouml;studagur','Laugardagur'],
dayNamesShort: ['Sun','M&aacute;n','&THORN;ri','Mi&eth;','Fim','F&ouml;s','Lau'],
dayNamesMin: ['Su','M&aacute;','&THORN;r','Mi','Fi','F&ouml;','La'],
dayStatus: 'DD', dateStatus: 'D, M d',
dateFormat: 'dd/mm/yy', firstDay: 0,
initStatus: '', isRTL: false};
$.datepicker.setDefaults($.datepicker.regional['is']);
});

View File

@@ -1,22 +1,22 @@
/* Italian initialisation for the jQuery UI date picker plugin. */
/* Written by Apaella (apaella@gmail.com). */
jQuery(function($){
$.datepicker.regional['it'] = {clearText: 'Svuota', clearStatus: '',
closeText: 'Chiudi', closeStatus: '',
prevText: '&lt;Prec', prevStatus: '',
nextText: 'Succ&gt;', nextStatus: '',
currentText: 'Oggi', currentStatus: '',
monthNames: ['Gennaio','Febbraio','Marzo','Aprile','Maggio','Giugno',
'Luglio','Agosto','Settembre','Ottobre','Novembre','Dicembre'],
monthNamesShort: ['Gen','Feb','Mar','Apr','Mag','Giu',
'Lug','Ago','Set','Ott','Nov','Dic'],
monthStatus: '', yearStatus: '',
weekHeader: 'Sm', weekStatus: '',
dayNames: ['Domenica','Luned&#236','Marted&#236','Mercoled&#236','Gioved&#236','Venerd&#236','Sabato'],
dayNamesShort: ['Dom','Lun','Mar','Mer','Gio','Ven','Sab'],
dayNamesMin: ['Do','Lu','Ma','Me','Gio','Ve','Sa'],
dayStatus: 'DD', dateStatus: 'D, M d',
dateFormat: 'dd/mm/yy', firstDay: 1,
initStatus: '', isRTL: false};
$.datepicker.setDefaults($.datepicker.regional['it']);
});
/* Italian initialisation for the jQuery UI date picker plugin. */
/* Written by Apaella (apaella@gmail.com). */
jQuery(function($){
$.datepicker.regional['it'] = {clearText: 'Svuota', clearStatus: '',
closeText: 'Chiudi', closeStatus: '',
prevText: '&lt;Prec', prevStatus: '',
nextText: 'Succ&gt;', nextStatus: '',
currentText: 'Oggi', currentStatus: '',
monthNames: ['Gennaio','Febbraio','Marzo','Aprile','Maggio','Giugno',
'Luglio','Agosto','Settembre','Ottobre','Novembre','Dicembre'],
monthNamesShort: ['Gen','Feb','Mar','Apr','Mag','Giu',
'Lug','Ago','Set','Ott','Nov','Dic'],
monthStatus: '', yearStatus: '',
weekHeader: 'Sm', weekStatus: '',
dayNames: ['Domenica','Luned&#236','Marted&#236','Mercoled&#236','Gioved&#236','Venerd&#236','Sabato'],
dayNamesShort: ['Dom','Lun','Mar','Mer','Gio','Ven','Sab'],
dayNamesMin: ['Do','Lu','Ma','Me','Gio','Ve','Sa'],
dayStatus: 'DD', dateStatus: 'D, M d',
dateFormat: 'dd/mm/yy', firstDay: 1,
initStatus: '', isRTL: false};
$.datepicker.setDefaults($.datepicker.regional['it']);
});

View File

@@ -1,22 +1,22 @@
/* Japanese (UTF-8) initialisation for the jQuery UI date picker plugin. */
/* Written by Milly. */
jQuery(function($){
$.datepicker.regional['ja'] = {clearText: '&#21066;&#38500;', clearStatus: '',
closeText: '&#38281;&#12376;&#12427;', closeStatus: '',
prevText: '&lt;&#21069;&#26376;', prevStatus: '',
nextText: '&#27425;&#26376;&gt;', nextStatus: '',
currentText: '&#20170;&#26085;', currentStatus: '',
monthNames: ['1&#26376;','2&#26376;','3&#26376;','4&#26376;','5&#26376;','6&#26376;',
'7&#26376;','8&#26376;','9&#26376;','10&#26376;','11&#26376;','12&#26376;'],
monthNamesShort: ['1&#26376;','2&#26376;','3&#26376;','4&#26376;','5&#26376;','6&#26376;',
'7&#26376;','8&#26376;','9&#26376;','10&#26376;','11&#26376;','12&#26376;'],
monthStatus: '', yearStatus: '',
weekHeader: 'Wk', weekStatus: '',
dayNames: ['&#26085;','&#26376;','&#28779;','&#27700;','&#26408;','&#37329;','&#22303;'],
dayNamesShort: ['&#26085;','&#26376;','&#28779;','&#27700;','&#26408;','&#37329;','&#22303;'],
dayNamesMin: ['&#26085;','&#26376;','&#28779;','&#27700;','&#26408;','&#37329;','&#22303;'],
dayStatus: 'DD', dateStatus: 'D, M d',
dateFormat: 'yy/mm/dd', firstDay: 0,
initStatus: '', isRTL: false};
$.datepicker.setDefaults($.datepicker.regional['ja']);
/* Japanese (UTF-8) initialisation for the jQuery UI date picker plugin. */
/* Written by Milly. */
jQuery(function($){
$.datepicker.regional['ja'] = {clearText: '&#21066;&#38500;', clearStatus: '',
closeText: '&#38281;&#12376;&#12427;', closeStatus: '',
prevText: '&lt;&#21069;&#26376;', prevStatus: '',
nextText: '&#27425;&#26376;&gt;', nextStatus: '',
currentText: '&#20170;&#26085;', currentStatus: '',
monthNames: ['1&#26376;','2&#26376;','3&#26376;','4&#26376;','5&#26376;','6&#26376;',
'7&#26376;','8&#26376;','9&#26376;','10&#26376;','11&#26376;','12&#26376;'],
monthNamesShort: ['1&#26376;','2&#26376;','3&#26376;','4&#26376;','5&#26376;','6&#26376;',
'7&#26376;','8&#26376;','9&#26376;','10&#26376;','11&#26376;','12&#26376;'],
monthStatus: '', yearStatus: '',
weekHeader: 'Wk', weekStatus: '',
dayNames: ['&#26085;','&#26376;','&#28779;','&#27700;','&#26408;','&#37329;','&#22303;'],
dayNamesShort: ['&#26085;','&#26376;','&#28779;','&#27700;','&#26408;','&#37329;','&#22303;'],
dayNamesMin: ['&#26085;','&#26376;','&#28779;','&#27700;','&#26408;','&#37329;','&#22303;'],
dayStatus: 'DD', dateStatus: 'D, M d',
dateFormat: 'yy/mm/dd', firstDay: 0,
initStatus: '', isRTL: false};
$.datepicker.setDefaults($.datepicker.regional['ja']);
});

View File

@@ -1,22 +1,22 @@
/* Korean initialisation for the jQuery calendar extension. */
/* Written by DaeKwon Kang (ncrash.dk@gmail.com). */
jQuery(function($){
$.datepicker.regional['ko'] = {clearText: '지우기', clearStatus: '',
closeText: '닫기', closeStatus: '',
prevText: '이전달', prevStatus: '',
nextText: '다음달', nextStatus: '',
currentText: '오늘', currentStatus: '',
monthNames: ['1월(JAN)','2월(FEB)','3월(MAR)','4월(APR)','5월(MAY)','6월(JUN)',
'7월(JUL)','8월(AUG)','9월(SEP)','10월(OCT)','11월(NOV)','12월(DEC)'],
monthNamesShort: ['1월(JAN)','2월(FEB)','3월(MAR)','4월(APR)','5월(MAY)','6월(JUN)',
'7월(JUL)','8월(AUG)','9월(SEP)','10월(OCT)','11월(NOV)','12월(DEC)'],
monthStatus: '', yearStatus: '',
weekHeader: 'Wk', weekStatus: '',
dayNames: ['일','월','화','수','목','금','토'],
dayNamesShort: ['일','월','화','수','목','금','토'],
dayNamesMin: ['일','월','화','수','목','금','토'],
dayStatus: 'DD', dateStatus: 'D, M d',
dateFormat: 'yy-mm-dd', firstDay: 0,
initStatus: '', isRTL: false};
$.datepicker.setDefaults($.datepicker.regional['ko']);
/* Korean initialisation for the jQuery calendar extension. */
/* Written by DaeKwon Kang (ncrash.dk@gmail.com). */
jQuery(function($){
$.datepicker.regional['ko'] = {clearText: '지우기', clearStatus: '',
closeText: '닫기', closeStatus: '',
prevText: '이전달', prevStatus: '',
nextText: '다음달', nextStatus: '',
currentText: '오늘', currentStatus: '',
monthNames: ['1월(JAN)','2월(FEB)','3월(MAR)','4월(APR)','5월(MAY)','6월(JUN)',
'7월(JUL)','8월(AUG)','9월(SEP)','10월(OCT)','11월(NOV)','12월(DEC)'],
monthNamesShort: ['1월(JAN)','2월(FEB)','3월(MAR)','4월(APR)','5월(MAY)','6월(JUN)',
'7월(JUL)','8월(AUG)','9월(SEP)','10월(OCT)','11월(NOV)','12월(DEC)'],
monthStatus: '', yearStatus: '',
weekHeader: 'Wk', weekStatus: '',
dayNames: ['일','월','화','수','목','금','토'],
dayNamesShort: ['일','월','화','수','목','금','토'],
dayNamesMin: ['일','월','화','수','목','금','토'],
dayStatus: 'DD', dateStatus: 'D, M d',
dateFormat: 'yy-mm-dd', firstDay: 0,
initStatus: '', isRTL: false};
$.datepicker.setDefaults($.datepicker.regional['ko']);
});

View File

@@ -1,25 +1,25 @@
/**
* Lithuanian (UTF-8) initialisation for the jQuery UI date picker plugin.
*
* @author Arturas Paleicikas <arturas@avalon.lt>
*/
jQuery(function($){
$.datepicker.regional['lt'] = {clearText: 'Išvalyti', clearStatus: '',
closeText: 'Uždaryti', closeStatus: '',
prevText: '&lt;Atgal', prevStatus: '',
nextText: 'Pirmyn&gt;', nextStatus: '',
currentText: 'Šiandien', currentStatus: '',
monthNames: ['Sausis','Vasaris','Kovas','Balandis','Gegužė','Birželis',
'Liepa','Rugpjūtis','Rugsėjis','Spalis','Lapkritis','Gruodis'],
monthNamesShort: ['Sau','Vas','Kov','Bal','Geg','Bir',
'Lie','Rugp','Rugs','Spa','Lap','Gru'],
monthStatus: '', yearStatus: '',
weekHeader: '', weekStatus: '',
dayNames: ['sekmadienis','pirmadienis','antradienis','trečiadienis','ketvirtadienis','penktadienis','šeštadienis'],
dayNamesShort: ['sek','pir','ant','tre','ket','pen','šeš'],
dayNamesMin: ['Se','Pr','An','Tr','Ke','Pe','Še'],
dayStatus: 'DD', dateStatus: 'D, M d',
dateFormat: 'yy-mm-dd', firstDay: 1,
initStatus: '', isRTL: false};
$.datepicker.setDefaults($.datepicker.regional['lt']);
/**
* Lithuanian (UTF-8) initialisation for the jQuery UI date picker plugin.
*
* @author Arturas Paleicikas <arturas@avalon.lt>
*/
jQuery(function($){
$.datepicker.regional['lt'] = {clearText: 'Išvalyti', clearStatus: '',
closeText: 'Uždaryti', closeStatus: '',
prevText: '&lt;Atgal', prevStatus: '',
nextText: 'Pirmyn&gt;', nextStatus: '',
currentText: 'Šiandien', currentStatus: '',
monthNames: ['Sausis','Vasaris','Kovas','Balandis','Gegužė','Birželis',
'Liepa','Rugpjūtis','Rugsėjis','Spalis','Lapkritis','Gruodis'],
monthNamesShort: ['Sau','Vas','Kov','Bal','Geg','Bir',
'Lie','Rugp','Rugs','Spa','Lap','Gru'],
monthStatus: '', yearStatus: '',
weekHeader: '', weekStatus: '',
dayNames: ['sekmadienis','pirmadienis','antradienis','trečiadienis','ketvirtadienis','penktadienis','šeštadienis'],
dayNamesShort: ['sek','pir','ant','tre','ket','pen','šeš'],
dayNamesMin: ['Se','Pr','An','Tr','Ke','Pe','Še'],
dayStatus: 'DD', dateStatus: 'D, M d',
dateFormat: 'yy-mm-dd', firstDay: 1,
initStatus: '', isRTL: false};
$.datepicker.setDefaults($.datepicker.regional['lt']);
});

View File

@@ -1,24 +1,24 @@
/**
* @author Arturas Paleicikas <arturas.paleicikas@metasite.net>
*/
jQuery(function($){
$.datepicker.regional['lv'] = {
clearText: 'Notīrīt', clearStatus: '',
closeText: 'Aizvērt', closeStatus: '',
prevText: 'Iepr', prevStatus: '',
nextText: 'Nāka', nextStatus: '',
currentText: 'Šodien', currentStatus: '',
monthNames: ['Janvāris','Februāris','Marts','Aprīlis','Maijs','Jūnijs',
'Jūlijs','Augusts','Septembris','Oktobris','Novembris','Decembris'],
monthNamesShort: ['Jan','Feb','Mar','Apr','Mai','Jūn',
'Jūl','Aug','Sep','Okt','Nov','Dec'],
monthStatus: '', yearStatus: '',
weekHeader: 'Nav', weekStatus: '',
dayNames: ['svētdiena','pirmdiena','otrdiena','trešdiena','ceturtdiena','piektdiena','sestdiena'],
dayNamesShort: ['svt','prm','otr','tre','ctr','pkt','sst'],
dayNamesMin: ['Sv','Pr','Ot','Tr','Ct','Pk','Ss'],
dayStatus: 'DD', dateStatus: 'D, M d',
dateFormat: 'dd-mm-yy', firstDay: 1,
initStatus: '', isRTL: false};
$.datepicker.setDefaults($.datepicker.regional['lv']);
/**
* @author Arturas Paleicikas <arturas.paleicikas@metasite.net>
*/
jQuery(function($){
$.datepicker.regional['lv'] = {
clearText: 'Notīrīt', clearStatus: '',
closeText: 'Aizvērt', closeStatus: '',
prevText: 'Iepr', prevStatus: '',
nextText: 'Nāka', nextStatus: '',
currentText: 'Šodien', currentStatus: '',
monthNames: ['Janvāris','Februāris','Marts','Aprīlis','Maijs','Jūnijs',
'Jūlijs','Augusts','Septembris','Oktobris','Novembris','Decembris'],
monthNamesShort: ['Jan','Feb','Mar','Apr','Mai','Jūn',
'Jūl','Aug','Sep','Okt','Nov','Dec'],
monthStatus: '', yearStatus: '',
weekHeader: 'Nav', weekStatus: '',
dayNames: ['svētdiena','pirmdiena','otrdiena','trešdiena','ceturtdiena','piektdiena','sestdiena'],
dayNamesShort: ['svt','prm','otr','tre','ctr','pkt','sst'],
dayNamesMin: ['Sv','Pr','Ot','Tr','Ct','Pk','Ss'],
dayStatus: 'DD', dateStatus: 'D, M d',
dateFormat: 'dd-mm-yy', firstDay: 1,
initStatus: '', isRTL: false};
$.datepicker.setDefaults($.datepicker.regional['lv']);
});

View File

@@ -1,21 +1,21 @@
/* Dutch (UTF-8) initialisation for the jQuery UI date picker plugin. */
jQuery(function($){
$.datepicker.regional['nl'] = {clearText: 'Wissen', clearStatus: 'Wis de huidige datum',
closeText: 'Sluiten', closeStatus: 'Sluit zonder verandering',
prevText: '&lt;Terug', prevStatus: 'Laat de voorgaande maand zien',
nextText: 'Volgende&gt;', nextStatus: 'Laat de volgende maand zien',
currentText: 'Vandaag', currentStatus: 'Laat de huidige maand zien',
monthNames: ['Januari','Februari','Maart','April','Mei','Juni',
'Juli','Augustus','September','Oktober','November','December'],
monthNamesShort: ['Jan','Feb','Mrt','Apr','Mei','Jun',
'Jul','Aug','Sep','Okt','Nov','Dec'],
monthStatus: 'Laat een andere maand zien', yearStatus: 'Laat een ander jaar zien',
weekHeader: 'Wk', weekStatus: 'Week van het jaar',
dayNames: ['Zondag','Maandag','Dinsdag','Woensdag','Donderdag','Vrijdag','Zaterdag'],
dayNamesShort: ['Zon','Maa','Din','Woe','Don','Vri','Zat'],
dayNamesMin: ['Zo','Ma','Di','Wo','Do','Vr','Za'],
dayStatus: 'DD', dateStatus: 'D, M d',
dateFormat: 'dd.mm.yy', firstDay: 1,
initStatus: 'Kies een datum', isRTL: false};
$.datepicker.setDefaults($.datepicker.regional['nl']);
/* Dutch (UTF-8) initialisation for the jQuery UI date picker plugin. */
jQuery(function($){
$.datepicker.regional['nl'] = {clearText: 'Wissen', clearStatus: 'Wis de huidige datum',
closeText: 'Sluiten', closeStatus: 'Sluit zonder verandering',
prevText: '&lt;Terug', prevStatus: 'Laat de voorgaande maand zien',
nextText: 'Volgende&gt;', nextStatus: 'Laat de volgende maand zien',
currentText: 'Vandaag', currentStatus: 'Laat de huidige maand zien',
monthNames: ['Januari','Februari','Maart','April','Mei','Juni',
'Juli','Augustus','September','Oktober','November','December'],
monthNamesShort: ['Jan','Feb','Mrt','Apr','Mei','Jun',
'Jul','Aug','Sep','Okt','Nov','Dec'],
monthStatus: 'Laat een andere maand zien', yearStatus: 'Laat een ander jaar zien',
weekHeader: 'Wk', weekStatus: 'Week van het jaar',
dayNames: ['Zondag','Maandag','Dinsdag','Woensdag','Donderdag','Vrijdag','Zaterdag'],
dayNamesShort: ['Zon','Maa','Din','Woe','Don','Vri','Zat'],
dayNamesMin: ['Zo','Ma','Di','Wo','Do','Vr','Za'],
dayStatus: 'DD', dateStatus: 'D, M d',
dateFormat: 'dd.mm.yy', firstDay: 1,
initStatus: 'Kies een datum', isRTL: false};
$.datepicker.setDefaults($.datepicker.regional['nl']);
});

View File

@@ -1,23 +1,23 @@
/* Norwegian initialisation for the jQuery UI date picker plugin. */
/* Written by Naimdjon Takhirov (naimdjon@gmail.com). */
$(document).ready(function(){
$.datepicker.regional['no'] = {clearText: 'Tøm', clearStatus: '',
closeText: 'Lukk', closeStatus: '',
prevText: '&laquo;Forrige', prevStatus: '',
nextText: 'Neste&raquo;', nextStatus: '',
currentText: 'I dag', currentStatus: '',
monthNames: ['Januar','Februar','Mars','April','Mai','Juni',
'Juli','August','September','Oktober','November','Desember'],
monthNamesShort: ['Jan','Feb','Mar','Apr','Mai','Jun',
'Jul','Aug','Sep','Okt','Nov','Des'],
monthStatus: '', yearStatus: '',
weekHeader: 'Uke', weekStatus: '',
dayNamesShort: ['Søn','Man','Tir','Ons','Tor','Fre','Lør'],
dayNames: ['Søndag','Mandag','Tirsdag','Onsdag','Torsdag','Fredag','Lørdag'],
dayNamesMin: ['Sø','Ma','Ti','On','To','Fr','Lø'],
dayStatus: 'DD', dateStatus: 'D, M d',
dateFormat: 'yy-mm-dd', firstDay: 0,
initStatus: '', isRTL: false};
$.datepicker.setDefaults($.datepicker.regional['no']);
});
/* Norwegian initialisation for the jQuery UI date picker plugin. */
/* Written by Naimdjon Takhirov (naimdjon@gmail.com). */
$(document).ready(function(){
$.datepicker.regional['no'] = {clearText: 'Tøm', clearStatus: '',
closeText: 'Lukk', closeStatus: '',
prevText: '&laquo;Forrige', prevStatus: '',
nextText: 'Neste&raquo;', nextStatus: '',
currentText: 'I dag', currentStatus: '',
monthNames: ['Januar','Februar','Mars','April','Mai','Juni',
'Juli','August','September','Oktober','November','Desember'],
monthNamesShort: ['Jan','Feb','Mar','Apr','Mai','Jun',
'Jul','Aug','Sep','Okt','Nov','Des'],
monthStatus: '', yearStatus: '',
weekHeader: 'Uke', weekStatus: '',
dayNamesShort: ['Søn','Man','Tir','Ons','Tor','Fre','Lør'],
dayNames: ['Søndag','Mandag','Tirsdag','Onsdag','Torsdag','Fredag','Lørdag'],
dayNamesMin: ['Sø','Ma','Ti','On','To','Fr','Lø'],
dayStatus: 'DD', dateStatus: 'D, M d',
dateFormat: 'yy-mm-dd', firstDay: 0,
initStatus: '', isRTL: false};
$.datepicker.setDefaults($.datepicker.regional['no']);
});

View File

@@ -1,22 +1,22 @@
/* Polish initialisation for the jQuery UI date picker plugin. */
/* Written by Jacek Wysocki (jacek.wysocki@gmail.com). */
jQuery(function($){
$.datepicker.regional['pl'] = {clearText: 'Wyczyść', clearStatus: 'Wyczyść obecną datę',
closeText: 'Zamknij', closeStatus: 'Zamknij bez zapisywania',
prevText: '&#x3c;Poprzedni', prevStatus: 'Pokaż poprzedni miesiąc',
nextText: 'Następny&#x3e;', nextStatus: 'Pokaż następny miesiąc',
currentText: 'Dziś', currentStatus: 'Pokaż aktualny miesiąc',
monthNames: ['Styczeń','Luty','Marzec','Kwiecień','Maj','Czerwiec',
'Lipiec','Sierpień','Wrzesień','Październik','Listopad','Grudzień'],
monthNamesShort: ['Sty','Lu','Mar','Kw','Maj','Cze',
'Lip','Sie','Wrz','Pa','Lis','Gru'],
monthStatus: 'Pokaż inny miesiąc', yearStatus: 'Pokaż inny rok',
weekHeader: 'Tydz', weekStatus: 'Tydzień roku',
dayNames: ['Niedziela','Poniedzialek','Wtorek','Środa','Czwartek','Piątek','Sobota'],
dayNamesShort: ['Nie','Pn','Wt','Śr','Czw','Pt','So'],
dayNamesMin: ['N','Pn','Wt','Śr','Cz','Pt','So'],
dayStatus: 'Ustaw DD jako pierwszy dzień tygodnia', dateStatus: 'Wybierz D, M d',
dateFormat: 'yy-mm-dd', firstDay: 1,
initStatus: 'Wybierz datę', isRTL: false};
$.datepicker.setDefaults($.datepicker.regional['pl']);
});
/* Polish initialisation for the jQuery UI date picker plugin. */
/* Written by Jacek Wysocki (jacek.wysocki@gmail.com). */
jQuery(function($){
$.datepicker.regional['pl'] = {clearText: 'Wyczyść', clearStatus: 'Wyczyść obecną datę',
closeText: 'Zamknij', closeStatus: 'Zamknij bez zapisywania',
prevText: '&#x3c;Poprzedni', prevStatus: 'Pokaż poprzedni miesiąc',
nextText: 'Następny&#x3e;', nextStatus: 'Pokaż następny miesiąc',
currentText: 'Dziś', currentStatus: 'Pokaż aktualny miesiąc',
monthNames: ['Styczeń','Luty','Marzec','Kwiecień','Maj','Czerwiec',
'Lipiec','Sierpień','Wrzesień','Październik','Listopad','Grudzień'],
monthNamesShort: ['Sty','Lu','Mar','Kw','Maj','Cze',
'Lip','Sie','Wrz','Pa','Lis','Gru'],
monthStatus: 'Pokaż inny miesiąc', yearStatus: 'Pokaż inny rok',
weekHeader: 'Tydz', weekStatus: 'Tydzień roku',
dayNames: ['Niedziela','Poniedzialek','Wtorek','Środa','Czwartek','Piątek','Sobota'],
dayNamesShort: ['Nie','Pn','Wt','Śr','Czw','Pt','So'],
dayNamesMin: ['N','Pn','Wt','Śr','Cz','Pt','So'],
dayStatus: 'Ustaw DD jako pierwszy dzień tygodnia', dateStatus: 'Wybierz D, M d',
dateFormat: 'yy-mm-dd', firstDay: 1,
initStatus: 'Wybierz datę', isRTL: false};
$.datepicker.setDefaults($.datepicker.regional['pl']);
});

View File

@@ -1,22 +1,22 @@
/* Brazilian initialisation for the jQuery UI date picker plugin. */
/* Written by Leonildo Costa Silva (leocsilva@gmail.com). */
jQuery(function($){
$.datepicker.regional['pt-BR'] = {clearText: 'Limpar', clearStatus: '',
closeText: 'Fechar', closeStatus: '',
prevText: '&lt;Anterior', prevStatus: '',
nextText: 'Pr&oacute;ximo&gt;', nextStatus: '',
currentText: 'Hoje', currentStatus: '',
monthNames: ['Janeiro','Fevereiro','Mar&ccedil;o','Abril','Maio','Junho',
'Julho','Agosto','Setembro','Outubro','Novembro','Dezembro'],
monthNamesShort: ['Jan','Fev','Mar','Abr','Mai','Jun',
'Jul','Ago','Set','Out','Nov','Dez'],
monthStatus: '', yearStatus: '',
weekHeader: 'Sm', weekStatus: '',
dayNames: ['Domingo','Segunda-feira','Ter&ccedil;a-feira','Quarta-feira','Quinta-feira','Sexta-feira','Sabado'],
dayNamesShort: ['Dom','Seg','Ter','Qua','Qui','Sex','Sab'],
dayNamesMin: ['Dom','Seg','Ter','Qua','Qui','Sex','Sab'],
dayStatus: 'DD', dateStatus: 'D, M d',
dateFormat: 'dd/mm/yy', firstDay: 0,
initStatus: '', isRTL: false};
$.datepicker.setDefaults($.datepicker.regional['pt-BR']);
/* Brazilian initialisation for the jQuery UI date picker plugin. */
/* Written by Leonildo Costa Silva (leocsilva@gmail.com). */
jQuery(function($){
$.datepicker.regional['pt-BR'] = {clearText: 'Limpar', clearStatus: '',
closeText: 'Fechar', closeStatus: '',
prevText: '&lt;Anterior', prevStatus: '',
nextText: 'Pr&oacute;ximo&gt;', nextStatus: '',
currentText: 'Hoje', currentStatus: '',
monthNames: ['Janeiro','Fevereiro','Mar&ccedil;o','Abril','Maio','Junho',
'Julho','Agosto','Setembro','Outubro','Novembro','Dezembro'],
monthNamesShort: ['Jan','Fev','Mar','Abr','Mai','Jun',
'Jul','Ago','Set','Out','Nov','Dez'],
monthStatus: '', yearStatus: '',
weekHeader: 'Sm', weekStatus: '',
dayNames: ['Domingo','Segunda-feira','Ter&ccedil;a-feira','Quarta-feira','Quinta-feira','Sexta-feira','Sabado'],
dayNamesShort: ['Dom','Seg','Ter','Qua','Qui','Sex','Sab'],
dayNamesMin: ['Dom','Seg','Ter','Qua','Qui','Sex','Sab'],
dayStatus: 'DD', dateStatus: 'D, M d',
dateFormat: 'dd/mm/yy', firstDay: 0,
initStatus: '', isRTL: false};
$.datepicker.setDefaults($.datepicker.regional['pt-BR']);
});

View File

@@ -1,22 +1,22 @@
/* Romanian initialisation for the jQuery UI date picker plugin. */
/* Written by Edmond L. (ll_edmond@walla.com). */
jQuery(function($){
$.datepicker.regional['ro'] = {clearText: 'Curat', clearStatus: 'Sterge data curenta',
closeText: 'Inchide', closeStatus: 'Inchide fara schimbare',
prevText: '&#x3c;Anterior', prevStatus: 'Arata luna trecuta',
nextText: 'Urmator&#x3e;', nextStatus: 'Arata luna urmatoare',
currentText: 'Azi', currentStatus: 'Arata luna curenta',
monthNames: ['Ianuarie','Februarie','Martie','Aprilie','Mai','Junie',
'Julie','August','Septembrie','Octobrie','Noiembrie','Decembrie'],
monthNamesShort: ['Ian', 'Feb', 'Mar', 'Apr', 'Mai', 'Jun',
'Jul', 'Aug', 'Sep', 'Oct', 'Noi', 'Dec'],
monthStatus: 'Arata o luna diferita', yearStatus: 'Arat un an diferit',
weekHeader: 'Sapt', weekStatus: 'Saptamana anului',
dayNames: ['Duminica', 'Luni', 'Marti', 'Miercuri', 'Joi', 'Vineri', 'Sambata'],
dayNamesShort: ['Dum', 'Lun', 'Mar', 'Mie', 'Joi', 'Vin', 'Sam'],
dayNamesMin: ['Du','Lu','Ma','Mi','Jo','Vi','Sa'],
dayStatus: 'Seteaza DD ca prima saptamana zi', dateStatus: 'Selecteaza D, M d',
dateFormat: 'mm/dd/yy', firstDay: 0,
initStatus: 'Selecteaza o data', isRTL: false};
$.datepicker.setDefaults($.datepicker.regional['ro']);
});
/* Romanian initialisation for the jQuery UI date picker plugin. */
/* Written by Edmond L. (ll_edmond@walla.com). */
jQuery(function($){
$.datepicker.regional['ro'] = {clearText: 'Curat', clearStatus: 'Sterge data curenta',
closeText: 'Inchide', closeStatus: 'Inchide fara schimbare',
prevText: '&#x3c;Anterior', prevStatus: 'Arata luna trecuta',
nextText: 'Urmator&#x3e;', nextStatus: 'Arata luna urmatoare',
currentText: 'Azi', currentStatus: 'Arata luna curenta',
monthNames: ['Ianuarie','Februarie','Martie','Aprilie','Mai','Junie',
'Julie','August','Septembrie','Octobrie','Noiembrie','Decembrie'],
monthNamesShort: ['Ian', 'Feb', 'Mar', 'Apr', 'Mai', 'Jun',
'Jul', 'Aug', 'Sep', 'Oct', 'Noi', 'Dec'],
monthStatus: 'Arata o luna diferita', yearStatus: 'Arat un an diferit',
weekHeader: 'Sapt', weekStatus: 'Saptamana anului',
dayNames: ['Duminica', 'Luni', 'Marti', 'Miercuri', 'Joi', 'Vineri', 'Sambata'],
dayNamesShort: ['Dum', 'Lun', 'Mar', 'Mie', 'Joi', 'Vin', 'Sam'],
dayNamesMin: ['Du','Lu','Ma','Mi','Jo','Vi','Sa'],
dayStatus: 'Seteaza DD ca prima saptamana zi', dateStatus: 'Selecteaza D, M d',
dateFormat: 'mm/dd/yy', firstDay: 0,
initStatus: 'Selecteaza o data', isRTL: false};
$.datepicker.setDefaults($.datepicker.regional['ro']);
});

View File

@@ -1,22 +1,22 @@
/* Russian (UTF-8) initialisation for the jQuery UI date picker plugin. */
/* Written by Andrew Stromnov (stromnov@gmail.com). */
jQuery(function($){
$.datepicker.regional['ru'] = {clearText: 'Очистить', clearStatus: '',
closeText: 'Закрыть', closeStatus: '',
prevText: '&lt;Пред', prevStatus: '',
nextText: 'След&gt;', nextStatus: '',
currentText: 'Сегодня', currentStatus: '',
monthNames: ['Январь','Февраль','Март','Апрель','Май','Июнь',
'Июль','Август','Сентябрь','Октябрь','Ноябрь','Декабрь'],
monthNamesShort: ['Янв','Фев','Мар','Апр','Май','Июн',
'Июл','Авг','Сен','Окт','Ноя','Дек'],
monthStatus: '', yearStatus: '',
weekHeader: 'Не', weekStatus: '',
dayNames: ['воскресенье','понедельник','вторник','среда','четверг','пятница','суббота'],
dayNamesShort: ['вск','пнд','втр','срд','чтв','птн','сбт'],
dayNamesMin: ['Вс','Пн','Вт','Ср','Чт','Пт','Сб'],
dayStatus: 'DD', dateStatus: 'D, M d',
dateFormat: 'dd.mm.yy', firstDay: 1,
initStatus: '', isRTL: false};
$.datepicker.setDefaults($.datepicker.regional['ru']);
/* Russian (UTF-8) initialisation for the jQuery UI date picker plugin. */
/* Written by Andrew Stromnov (stromnov@gmail.com). */
jQuery(function($){
$.datepicker.regional['ru'] = {clearText: 'Очистить', clearStatus: '',
closeText: 'Закрыть', closeStatus: '',
prevText: '&lt;Пред', prevStatus: '',
nextText: 'След&gt;', nextStatus: '',
currentText: 'Сегодня', currentStatus: '',
monthNames: ['Январь','Февраль','Март','Апрель','Май','Июнь',
'Июль','Август','Сентябрь','Октябрь','Ноябрь','Декабрь'],
monthNamesShort: ['Янв','Фев','Мар','Апр','Май','Июн',
'Июл','Авг','Сен','Окт','Ноя','Дек'],
monthStatus: '', yearStatus: '',
weekHeader: 'Не', weekStatus: '',
dayNames: ['воскресенье','понедельник','вторник','среда','четверг','пятница','суббота'],
dayNamesShort: ['вск','пнд','втр','срд','чтв','птн','сбт'],
dayNamesMin: ['Вс','Пн','Вт','Ср','Чт','Пт','Сб'],
dayStatus: 'DD', dateStatus: 'D, M d',
dateFormat: 'dd.mm.yy', firstDay: 1,
initStatus: '', isRTL: false};
$.datepicker.setDefaults($.datepicker.regional['ru']);
});

View File

@@ -1,22 +1,22 @@
/* Slovak initialisation for the jQuery UI date picker plugin. */
/* Written by Vojtech Rinik (vojto@hmm.sk). */
jQuery(function($){
$.datepicker.regional['sk'] = {clearText: 'Zmazať', clearStatus: '',
closeText: 'Zavrieť', closeStatus: '',
prevText: '&lt;Predchádzajúci', prevStatus: '',
nextText: 'Nasledujúci&gt;', nextStatus: '',
currentText: 'Dnes', currentStatus: '',
monthNames: ['Január','Február','Marec','Apríl','Máj','Jún',
'Júl','August','September','Október','November','December'],
monthNamesShort: ['Jan','Feb','Mar','Apr','Máj','Jún',
'Júl','Aug','Sep','Okt','Nov','Dec'],
monthStatus: '', yearStatus: '',
weekHeader: 'Ty', weekStatus: '',
dayNames: ['Nedel\'a','Pondelok','Utorok','Streda','Štvrtok','Piatok','Sobota'],
dayNamesShort: ['Ned','Pon','Uto','Str','Štv','Pia','Sob'],
dayNamesMin: ['Ne','Po','Ut','St','Št','Pia','So'],
dayStatus: 'DD', dateStatus: 'D, M d',
dateFormat: 'dd.mm.yy', firstDay: 0,
initStatus: '', isRTL: false};
$.datepicker.setDefaults($.datepicker.regional['sk']);
});
/* Slovak initialisation for the jQuery UI date picker plugin. */
/* Written by Vojtech Rinik (vojto@hmm.sk). */
jQuery(function($){
$.datepicker.regional['sk'] = {clearText: 'Zmazať', clearStatus: '',
closeText: 'Zavrieť', closeStatus: '',
prevText: '&lt;Predchádzajúci', prevStatus: '',
nextText: 'Nasledujúci&gt;', nextStatus: '',
currentText: 'Dnes', currentStatus: '',
monthNames: ['Január','Február','Marec','Apríl','Máj','Jún',
'Júl','August','September','Október','November','December'],
monthNamesShort: ['Jan','Feb','Mar','Apr','Máj','Jún',
'Júl','Aug','Sep','Okt','Nov','Dec'],
monthStatus: '', yearStatus: '',
weekHeader: 'Ty', weekStatus: '',
dayNames: ['Nedel\'a','Pondelok','Utorok','Streda','Štvrtok','Piatok','Sobota'],
dayNamesShort: ['Ned','Pon','Uto','Str','Štv','Pia','Sob'],
dayNamesMin: ['Ne','Po','Ut','St','Št','Pia','So'],
dayStatus: 'DD', dateStatus: 'D, M d',
dateFormat: 'dd.mm.yy', firstDay: 0,
initStatus: '', isRTL: false};
$.datepicker.setDefaults($.datepicker.regional['sk']);
});

View File

@@ -1,22 +1,22 @@
/* Swedish initialisation for the jQuery UI date picker plugin. */
/* Written by Anders Ekdahl ( anders@nomadiz.se). */
jQuery(function($){
$.datepicker.regional['sv'] = {clearText: 'Rensa', clearStatus: '',
closeText: 'Stäng', closeStatus: '',
prevText: '&laquo;Förra', prevStatus: '',
nextText: 'Nästa&raquo;', nextStatus: '',
currentText: 'Idag', currentStatus: '',
monthNames: ['Januari','Februari','Mars','April','Maj','Juni',
'Juli','Augusti','September','Oktober','November','December'],
monthNamesShort: ['Jan','Feb','Mar','Apr','Maj','Jun',
'Jul','Aug','Sep','Okt','Nov','Dec'],
monthStatus: '', yearStatus: '',
weekHeader: 'Ve', weekStatus: '',
dayNamesShort: ['Sön','Mån','Tis','Ons','Tor','Fre','Lör'],
dayNames: ['Söndag','Måndag','Tisdag','Onsdag','Torsdag','Fredag','Lördag'],
dayNamesMin: ['Sö','Må','Ti','On','To','Fr','Lö'],
dayStatus: 'DD', dateStatus: 'D, M d',
dateFormat: 'yy-mm-dd', firstDay: 0,
initStatus: '', isRTL: false};
$.datepicker.setDefaults($.datepicker.regional['sv']);
});
/* Swedish initialisation for the jQuery UI date picker plugin. */
/* Written by Anders Ekdahl ( anders@nomadiz.se). */
jQuery(function($){
$.datepicker.regional['sv'] = {clearText: 'Rensa', clearStatus: '',
closeText: 'Stäng', closeStatus: '',
prevText: '&laquo;Förra', prevStatus: '',
nextText: 'Nästa&raquo;', nextStatus: '',
currentText: 'Idag', currentStatus: '',
monthNames: ['Januari','Februari','Mars','April','Maj','Juni',
'Juli','Augusti','September','Oktober','November','December'],
monthNamesShort: ['Jan','Feb','Mar','Apr','Maj','Jun',
'Jul','Aug','Sep','Okt','Nov','Dec'],
monthStatus: '', yearStatus: '',
weekHeader: 'Ve', weekStatus: '',
dayNamesShort: ['Sön','Mån','Tis','Ons','Tor','Fre','Lör'],
dayNames: ['Söndag','Måndag','Tisdag','Onsdag','Torsdag','Fredag','Lördag'],
dayNamesMin: ['Sö','Må','Ti','On','To','Fr','Lö'],
dayStatus: 'DD', dateStatus: 'D, M d',
dateFormat: 'yy-mm-dd', firstDay: 0,
initStatus: '', isRTL: false};
$.datepicker.setDefaults($.datepicker.regional['sv']);
});

View File

@@ -1,22 +1,22 @@
/* Thai initialisation for the jQuery UI date picker plugin. */
/* Written by pipo (pipo@sixhead.com). */
jQuery(function($){
$.datepicker.regional['th'] = {clearText: 'ลบ', clearStatus: '',
closeText: 'ปิด', closeStatus: '',
prevText: '&laquo;&nbsp;ย้อน', prevStatus: '',
nextText: 'ถัดไป&nbsp;&raquo;', nextStatus: '',
currentText: 'วันนี้', currentStatus: '',
monthNames: ['มกราคม','กุมภาพันธ์','มีนาคม','เมษายน','พฤษภาคม','มิถุนายน',
'กรกฏาคม','สิงหาคม','กันยายน','ตุลาคม','พฤศจิกายน','ธันวาคม'],
monthNamesShort: ['ม.ค.','ก.พ.','มี.ค.','เม.ย.','พ.ค.','มิ.ย.',
'ก.ค.','ส.ค.','ก.ย.','ต.ค.','พ.ย.','ธ.ค.'],
monthStatus: '', yearStatus: '',
weekHeader: 'Sm', weekStatus: '',
dayNames: ['อาทิตย์','จันทร์','อังคาร','พุธ','พฤหัสบดี','ศุกร์','เสาร์'],
dayNamesShort: ['อา.','จ.','อ.','พ.','พฤ.','ศ.','ส.'],
dayNamesMin: ['อา.','จ.','อ.','พ.','พฤ.','ศ.','ส.'],
dayStatus: 'DD', dateStatus: 'D, M d',
dateFormat: 'dd/mm/yy', firstDay: 0,
initStatus: '', isRTL: false};
$.datepicker.setDefaults($.datepicker.regional['th']);
/* Thai initialisation for the jQuery UI date picker plugin. */
/* Written by pipo (pipo@sixhead.com). */
jQuery(function($){
$.datepicker.regional['th'] = {clearText: 'ลบ', clearStatus: '',
closeText: 'ปิด', closeStatus: '',
prevText: '&laquo;&nbsp;ย้อน', prevStatus: '',
nextText: 'ถัดไป&nbsp;&raquo;', nextStatus: '',
currentText: 'วันนี้', currentStatus: '',
monthNames: ['มกราคม','กุมภาพันธ์','มีนาคม','เมษายน','พฤษภาคม','มิถุนายน',
'กรกฏาคม','สิงหาคม','กันยายน','ตุลาคม','พฤศจิกายน','ธันวาคม'],
monthNamesShort: ['ม.ค.','ก.พ.','มี.ค.','เม.ย.','พ.ค.','มิ.ย.',
'ก.ค.','ส.ค.','ก.ย.','ต.ค.','พ.ย.','ธ.ค.'],
monthStatus: '', yearStatus: '',
weekHeader: 'Sm', weekStatus: '',
dayNames: ['อาทิตย์','จันทร์','อังคาร','พุธ','พฤหัสบดี','ศุกร์','เสาร์'],
dayNamesShort: ['อา.','จ.','อ.','พ.','พฤ.','ศ.','ส.'],
dayNamesMin: ['อา.','จ.','อ.','พ.','พฤ.','ศ.','ส.'],
dayStatus: 'DD', dateStatus: 'D, M d',
dateFormat: 'dd/mm/yy', firstDay: 0,
initStatus: '', isRTL: false};
$.datepicker.setDefaults($.datepicker.regional['th']);
});

View File

@@ -1,22 +1,22 @@
/* Turkish initialisation for the jQuery UI date picker plugin. */
/* Written by Izzet Emre Erkan (kara@karalamalar.net). */
jQuery(function($){
$.datepicker.regional['tr'] = {clearText: 'temizle', clearStatus: 'geçerli tarihi temizler',
closeText: 'kapat', closeStatus: 'sadece göstergeyi kapat',
prevText: '&#x3c;geri', prevStatus: 'önceki ayı göster',
nextText: 'ileri&#x3e', nextStatus: 'sonraki ayı göster',
currentText: 'bugün', currentStatus: '',
monthNames: ['Ocak','Şubat','Mart','Nisan','Mayıs','Haziran',
'Temmuz','Ağustos','Eylül','Ekim','Kasım','Aralık'],
monthNamesShort: ['Oca','Şub','Mar','Nis','May','Haz',
'Tem','Ağu','Eyl','Eki','Kas','Ara'],
monthStatus: 'başka ay', yearStatus: 'başka yıl',
weekHeader: 'Hf', weekStatus: 'Ayın haftaları',
dayNames: ['Pazar','Pazartesi','Salı','Çarşamba','Perşembe','Cuma','Cumartesi'],
dayNamesShort: ['Pz','Pt','Sa','Ça','Pe','Cu','Ct'],
dayNamesMin: ['Pz','Pt','Sa','Ça','Pe','Cu','Ct'],
dayStatus: 'Haftanın ilk gününü belirleyin', dateStatus: 'D, M d seçiniz',
dateFormat: 'dd.mm.yy', firstDay: 1,
initStatus: 'Bir tarih seçiniz', isRTL: false};
$.datepicker.setDefaults($.datepicker.regional['tr']);
/* Turkish initialisation for the jQuery UI date picker plugin. */
/* Written by Izzet Emre Erkan (kara@karalamalar.net). */
jQuery(function($){
$.datepicker.regional['tr'] = {clearText: 'temizle', clearStatus: 'geçerli tarihi temizler',
closeText: 'kapat', closeStatus: 'sadece göstergeyi kapat',
prevText: '&#x3c;geri', prevStatus: 'önceki ayı göster',
nextText: 'ileri&#x3e', nextStatus: 'sonraki ayı göster',
currentText: 'bugün', currentStatus: '',
monthNames: ['Ocak','Şubat','Mart','Nisan','Mayıs','Haziran',
'Temmuz','Ağustos','Eylül','Ekim','Kasım','Aralık'],
monthNamesShort: ['Oca','Şub','Mar','Nis','May','Haz',
'Tem','Ağu','Eyl','Eki','Kas','Ara'],
monthStatus: 'başka ay', yearStatus: 'başka yıl',
weekHeader: 'Hf', weekStatus: 'Ayın haftaları',
dayNames: ['Pazar','Pazartesi','Salı','Çarşamba','Perşembe','Cuma','Cumartesi'],
dayNamesShort: ['Pz','Pt','Sa','Ça','Pe','Cu','Ct'],
dayNamesMin: ['Pz','Pt','Sa','Ça','Pe','Cu','Ct'],
dayStatus: 'Haftanın ilk gününü belirleyin', dateStatus: 'D, M d seçiniz',
dateFormat: 'dd.mm.yy', firstDay: 1,
initStatus: 'Bir tarih seçiniz', isRTL: false};
$.datepicker.setDefaults($.datepicker.regional['tr']);
});

View File

@@ -1,22 +1,22 @@
/* Ukrainian (UTF-8) initialisation for the jQuery UI date picker plugin. */
/* Written by Maxim Drogobitskiy (maxdao@gmail.com). */
jQuery(function($){
$.datepicker.regional['ua'] = {clearText: 'Очистити', clearStatus: '',
closeText: 'Закрити', closeStatus: '',
prevText: '&lt;&lt;', prevStatus: '',
nextText: '&gt;&gt;', nextStatus: '',
currentText: 'Сьогодні', currentStatus: '',
monthNames: ['Січень','Лютий','Березень','Квітень','Травень','Червень',
'Липень','Серпень','Вересень','Жовтень','Листопад','Грудень'],
monthNamesShort: ['Січ','Лют','Бер','Кві','Тра','Чер',
'Лип','Сер','Вер','Жов','Лис','Гру'],
monthStatus: '', yearStatus: '',
weekHeader: 'Не', weekStatus: '',
dayNames: ['неділя','понеділок','вівторок','середа','четвер','пятниця','суббота'],
dayNamesShort: ['нед','пнд','вів','срд','чтв','птн','сбт'],
dayNamesMin: ['Нд','Пн','Вт','Ср','Чт','Пт','Сб'],
dayStatus: 'DD', dateStatus: 'D, M d',
dateFormat: 'dd.mm.yy', firstDay: 1,
initStatus: '', isRTL: false};
$.datepicker.setDefaults($.datepicker.regional['ua']);
/* Ukrainian (UTF-8) initialisation for the jQuery UI date picker plugin. */
/* Written by Maxim Drogobitskiy (maxdao@gmail.com). */
jQuery(function($){
$.datepicker.regional['ua'] = {clearText: 'Очистити', clearStatus: '',
closeText: 'Закрити', closeStatus: '',
prevText: '&lt;&lt;', prevStatus: '',
nextText: '&gt;&gt;', nextStatus: '',
currentText: 'Сьогодні', currentStatus: '',
monthNames: ['Січень','Лютий','Березень','Квітень','Травень','Червень',
'Липень','Серпень','Вересень','Жовтень','Листопад','Грудень'],
monthNamesShort: ['Січ','Лют','Бер','Кві','Тра','Чер',
'Лип','Сер','Вер','Жов','Лис','Гру'],
monthStatus: '', yearStatus: '',
weekHeader: 'Не', weekStatus: '',
dayNames: ['неділя','понеділок','вівторок','середа','четвер','пятниця','суббота'],
dayNamesShort: ['нед','пнд','вів','срд','чтв','птн','сбт'],
dayNamesMin: ['Нд','Пн','Вт','Ср','Чт','Пт','Сб'],
dayStatus: 'DD', dateStatus: 'D, M d',
dateFormat: 'dd.mm.yy', firstDay: 1,
initStatus: '', isRTL: false};
$.datepicker.setDefaults($.datepicker.regional['ua']);
});

View File

@@ -1,22 +1,22 @@
/* Chinese initialisation for the jQuery UI date picker plugin. */
/* Written by Cloudream (cloudream@gmail.com). */
jQuery(function($){
$.datepicker.regional['zh-CN'] = {clearText: '清除', clearStatus: '清除已选日期',
closeText: '关闭', closeStatus: '不改变当前选择',
prevText: '&lt;上月', prevStatus: '显示上月',
nextText: '下月&gt;', nextStatus: '显示下月',
currentText: '今天', currentStatus: '显示本月',
monthNames: ['一月','二月','三月','四月','五月','六月',
'七月','八月','九月','十月','十一月','十二月'],
monthNamesShort: ['一','二','三','四','五','六',
'七','八','九','十','十一','十二'],
monthStatus: '选择月份', yearStatus: '选择年份',
weekHeader: '周', weekStatus: '年内周次',
dayNames: ['星期日','星期一','星期二','星期三','星期四','星期五','星期六'],
dayNamesShort: ['周日','周一','周二','周三','周四','周五','周六'],
dayNamesMin: ['日','一','二','三','四','五','六'],
dayStatus: '设置 DD 为一周起始', dateStatus: '选择 m月 d日, DD',
dateFormat: 'yy-mm-dd', firstDay: 1,
initStatus: '请选择日期', isRTL: false};
$.datepicker.setDefaults($.datepicker.regional['zh-CN']);
});
/* Chinese initialisation for the jQuery UI date picker plugin. */
/* Written by Cloudream (cloudream@gmail.com). */
jQuery(function($){
$.datepicker.regional['zh-CN'] = {clearText: '清除', clearStatus: '清除已选日期',
closeText: '关闭', closeStatus: '不改变当前选择',
prevText: '&lt;上月', prevStatus: '显示上月',
nextText: '下月&gt;', nextStatus: '显示下月',
currentText: '今天', currentStatus: '显示本月',
monthNames: ['一月','二月','三月','四月','五月','六月',
'七月','八月','九月','十月','十一月','十二月'],
monthNamesShort: ['一','二','三','四','五','六',
'七','八','九','十','十一','十二'],
monthStatus: '选择月份', yearStatus: '选择年份',
weekHeader: '周', weekStatus: '年内周次',
dayNames: ['星期日','星期一','星期二','星期三','星期四','星期五','星期六'],
dayNamesShort: ['周日','周一','周二','周三','周四','周五','周六'],
dayNamesMin: ['日','一','二','三','四','五','六'],
dayStatus: '设置 DD 为一周起始', dateStatus: '选择 m月 d日, DD',
dateFormat: 'yy-mm-dd', firstDay: 1,
initStatus: '请选择日期', isRTL: false};
$.datepicker.setDefaults($.datepicker.regional['zh-CN']);
});

View File

@@ -1,23 +1,23 @@
/* Chinese initialisation for the jQuery UI date picker plugin. */
/* Written by Ressol (ressol@gmail.com). */
jQuery(function($){
$.datepicker.regional['zh-TW'] = {
clearText: '清除', clearStatus: '清除已選日期',
closeText: '關閉', closeStatus: '不改變目前的選擇',
prevText: '&lt;上月', prevStatus: '顯示上月',
nextText: '下月&gt;', nextStatus: '顯示下月',
currentText: '今天', currentStatus: '顯示本月',
monthNames: ['一月','二月','三月','四月','五月','六月',
'七月','八月','九月','十月','十一月','十二月'],
monthNamesShort: ['一','二','三','四','五','六',
'七','八','九','十','十一','十二'],
monthStatus: '選擇月份', yearStatus: '選擇年份',
weekHeader: '周', weekStatus: '年內周次',
dayNames: ['星期日','星期一','星期二','星期三','星期四','星期五','星期六'],
dayNamesShort: ['周日','周一','周二','周三','周四','周五','周六'],
dayNamesMin: ['日','一','二','三','四','五','六'],
dayStatus: '設定 DD 為一周起始', dateStatus: '選擇 m月 d日, DD',
dateFormat: 'yy/mm/dd', firstDay: 1,
initStatus: '請選擇日期', isRTL: false};
$.datepicker.setDefaults($.datepicker.regional['zh-TW']);
});
/* Chinese initialisation for the jQuery UI date picker plugin. */
/* Written by Ressol (ressol@gmail.com). */
jQuery(function($){
$.datepicker.regional['zh-TW'] = {
clearText: '清除', clearStatus: '清除已選日期',
closeText: '關閉', closeStatus: '不改變目前的選擇',
prevText: '&lt;上月', prevStatus: '顯示上月',
nextText: '下月&gt;', nextStatus: '顯示下月',
currentText: '今天', currentStatus: '顯示本月',
monthNames: ['一月','二月','三月','四月','五月','六月',
'七月','八月','九月','十月','十一月','十二月'],
monthNamesShort: ['一','二','三','四','五','六',
'七','八','九','十','十一','十二'],
monthStatus: '選擇月份', yearStatus: '選擇年份',
weekHeader: '周', weekStatus: '年內周次',
dayNames: ['星期日','星期一','星期二','星期三','星期四','星期五','星期六'],
dayNamesShort: ['周日','周一','周二','周三','周四','周五','周六'],
dayNamesMin: ['日','一','二','三','四','五','六'],
dayStatus: '設定 DD 為一周起始', dateStatus: '選擇 m月 d日, DD',
dateFormat: 'yy/mm/dd', firstDay: 1,
initStatus: '請選擇日期', isRTL: false};
$.datepicker.setDefaults($.datepicker.regional['zh-TW']);
});

View File

@@ -1,302 +1,302 @@
/*
* jQuery UI Accordion
*
* Copyright (c) 2007, 2008 Jörn Zaefferer
* Dual licensed under the MIT (MIT-LICENSE.txt)
* and GPL (GPL-LICENSE.txt) licenses.
*
* http://docs.jquery.com/UI/Accordion
*
* Depends:
* ui.core.js
*
* Revision: $Id: ui.accordion.js 5656 2008-05-21 19:35:33Z braeker $
*/
;(function($) {
$.widget("ui.accordion", {
init: function() {
var options = this.options;
if ( options.navigation ) {
var current = this.element.find("a").filter(options.navigationFilter);
if ( current.length ) {
if ( current.filter(options.header).length ) {
options.active = current;
} else {
options.active = current.parent().parent().prev();
current.addClass("current");
}
}
}
// calculate active if not specified, using the first header
options.headers = this.element.find(options.header);
options.active = findActive(options.headers, options.active);
// IE7-/Win - Extra vertical space in Lists fixed
if ($.browser.msie) {
this.element.find('a').css('zoom', '1');
}
if (!this.element.hasClass("ui-accordion")) {
this.element.addClass("ui-accordion");
$("<span class='ui-accordion-left'/>").insertBefore(options.headers);
$("<span class='ui-accordion-right'/>").appendTo(options.headers);
options.headers.addClass("ui-accordion-header").attr("tabindex", "0");
}
var maxHeight;
if ( options.fillSpace ) {
maxHeight = this.element.parent().height();
options.headers.each(function() {
maxHeight -= $(this).outerHeight();
});
var maxPadding = 0;
options.headers.next().each(function() {
maxPadding = Math.max(maxPadding, $(this).innerHeight() - $(this).height());
}).height(maxHeight - maxPadding);
} else if ( options.autoHeight ) {
maxHeight = 0;
options.headers.next().each(function() {
maxHeight = Math.max(maxHeight, $(this).outerHeight());
}).height(maxHeight);
}
options.headers
.not(options.active || "")
.next()
.hide();
options.active.parent().andSelf().addClass(options.selectedClass);
if (options.event) {
this.element.bind((options.event) + ".accordion", clickHandler);
}
},
activate: function(index) {
// call clickHandler with custom event
clickHandler.call(this.element[0], {
target: findActive( this.options.headers, index )[0]
});
},
destroy: function() {
this.options.headers.next().css("display", "");
if ( this.options.fillSpace || this.options.autoHeight ) {
this.options.headers.next().css("height", "");
}
$.removeData(this.element[0], "accordion");
this.element.removeClass("ui-accordion").unbind(".accordion");
}
});
function scopeCallback(callback, scope) {
return function() {
return callback.apply(scope, arguments);
};
};
function completed(cancel) {
// if removed while animated data can be empty
if (!$.data(this, "accordion")) {
return;
}
var instance = $.data(this, "accordion");
var options = instance.options;
options.running = cancel ? 0 : --options.running;
if ( options.running ) {
return;
}
if ( options.clearStyle ) {
options.toShow.add(options.toHide).css({
height: "",
overflow: ""
});
}
$(this).triggerHandler("accordionchange", [options.data], options.change);
}
function toggle(toShow, toHide, data, clickedActive, down) {
var options = $.data(this, "accordion").options;
options.toShow = toShow;
options.toHide = toHide;
options.data = data;
var complete = scopeCallback(completed, this);
// count elements to animate
options.running = toHide.size() === 0 ? toShow.size() : toHide.size();
if ( options.animated ) {
if ( !options.alwaysOpen && clickedActive ) {
$.ui.accordion.animations[options.animated]({
toShow: jQuery([]),
toHide: toHide,
complete: complete,
down: down,
autoHeight: options.autoHeight
});
} else {
$.ui.accordion.animations[options.animated]({
toShow: toShow,
toHide: toHide,
complete: complete,
down: down,
autoHeight: options.autoHeight
});
}
} else {
if ( !options.alwaysOpen && clickedActive ) {
toShow.toggle();
} else {
toHide.hide();
toShow.show();
}
complete(true);
}
}
function clickHandler(event) {
var options = $.data(this, "accordion").options;
if (options.disabled) {
return false;
}
// called only when using activate(false) to close all parts programmatically
if ( !event.target && !options.alwaysOpen ) {
options.active.parent().andSelf().toggleClass(options.selectedClass);
var toHide = options.active.next(),
data = {
instance: this,
options: options,
newHeader: jQuery([]),
oldHeader: options.active,
newContent: jQuery([]),
oldContent: toHide
},
toShow = (options.active = $([]));
toggle.call(this, toShow, toHide, data );
return false;
}
// get the click target
var clicked = $(event.target);
// due to the event delegation model, we have to check if one
// of the parent elements is our actual header, and find that
if ( clicked.parents(options.header).length ) {
while ( !clicked.is(options.header) ) {
clicked = clicked.parent();
}
}
var clickedActive = clicked[0] == options.active[0];
// if animations are still active, or the active header is the target, ignore click
if (options.running || (options.alwaysOpen && clickedActive)) {
return false;
}
if (!clicked.is(options.header)) {
return;
}
// switch classes
options.active.parent().andSelf().toggleClass(options.selectedClass);
if ( !clickedActive ) {
clicked.parent().andSelf().addClass(options.selectedClass);
}
// find elements to show and hide
var toShow = clicked.next(),
toHide = options.active.next(),
//data = [clicked, options.active, toShow, toHide],
data = {
instance: this,
options: options,
newHeader: clicked,
oldHeader: options.active,
newContent: toShow,
oldContent: toHide
},
down = options.headers.index( options.active[0] ) > options.headers.index( clicked[0] );
options.active = clickedActive ? $([]) : clicked;
toggle.call(this, toShow, toHide, data, clickedActive, down );
return false;
};
function findActive(headers, selector) {
return selector != undefined
? typeof selector == "number"
? headers.filter(":eq(" + selector + ")")
: headers.not(headers.not(selector))
: selector === false
? $([])
: headers.filter(":eq(0)");
}
$.extend($.ui.accordion, {
defaults: {
selectedClass: "selected",
alwaysOpen: true,
animated: 'slide',
event: "click",
header: "a",
autoHeight: true,
running: 0,
navigationFilter: function() {
return this.href.toLowerCase() == location.href.toLowerCase();
}
},
animations: {
slide: function(options, additions) {
options = $.extend({
easing: "swing",
duration: 300
}, options, additions);
if ( !options.toHide.size() ) {
options.toShow.animate({height: "show"}, options);
return;
}
var hideHeight = options.toHide.height(),
showHeight = options.toShow.height(),
difference = showHeight / hideHeight;
options.toShow.css({ height: 0, overflow: 'hidden' }).show();
options.toHide.filter(":hidden").each(options.complete).end().filter(":visible").animate({height:"hide"},{
step: function(now) {
var current = (hideHeight - now) * difference;
if ($.browser.msie || $.browser.opera) {
current = Math.ceil(current);
}
options.toShow.height( current );
},
duration: options.duration,
easing: options.easing,
complete: function() {
if ( !options.autoHeight ) {
options.toShow.css("height", "auto");
}
options.complete();
}
});
},
bounceslide: function(options) {
this.slide(options, {
easing: options.down ? "bounceout" : "swing",
duration: options.down ? 1000 : 200
});
},
easeslide: function(options) {
this.slide(options, {
easing: "easeinout",
duration: 700
});
}
}
});
// deprecated, use accordion("activate", index) instead
$.fn.activate = function(index) {
return this.accordion("activate", index);
};
})(jQuery);
/*
* jQuery UI Accordion
*
* Copyright (c) 2007, 2008 Jörn Zaefferer
* Dual licensed under the MIT (MIT-LICENSE.txt)
* and GPL (GPL-LICENSE.txt) licenses.
*
* http://docs.jquery.com/UI/Accordion
*
* Depends:
* ui.core.js
*
* Revision: $Id: ui.accordion.js 5656 2008-05-21 19:35:33Z braeker $
*/
;(function($) {
$.widget("ui.accordion", {
init: function() {
var options = this.options;
if ( options.navigation ) {
var current = this.element.find("a").filter(options.navigationFilter);
if ( current.length ) {
if ( current.filter(options.header).length ) {
options.active = current;
} else {
options.active = current.parent().parent().prev();
current.addClass("current");
}
}
}
// calculate active if not specified, using the first header
options.headers = this.element.find(options.header);
options.active = findActive(options.headers, options.active);
// IE7-/Win - Extra vertical space in Lists fixed
if ($.browser.msie) {
this.element.find('a').css('zoom', '1');
}
if (!this.element.hasClass("ui-accordion")) {
this.element.addClass("ui-accordion");
$("<span class='ui-accordion-left'/>").insertBefore(options.headers);
$("<span class='ui-accordion-right'/>").appendTo(options.headers);
options.headers.addClass("ui-accordion-header").attr("tabindex", "0");
}
var maxHeight;
if ( options.fillSpace ) {
maxHeight = this.element.parent().height();
options.headers.each(function() {
maxHeight -= $(this).outerHeight();
});
var maxPadding = 0;
options.headers.next().each(function() {
maxPadding = Math.max(maxPadding, $(this).innerHeight() - $(this).height());
}).height(maxHeight - maxPadding);
} else if ( options.autoHeight ) {
maxHeight = 0;
options.headers.next().each(function() {
maxHeight = Math.max(maxHeight, $(this).outerHeight());
}).height(maxHeight);
}
options.headers
.not(options.active || "")
.next()
.hide();
options.active.parent().andSelf().addClass(options.selectedClass);
if (options.event) {
this.element.bind((options.event) + ".accordion", clickHandler);
}
},
activate: function(index) {
// call clickHandler with custom event
clickHandler.call(this.element[0], {
target: findActive( this.options.headers, index )[0]
});
},
destroy: function() {
this.options.headers.next().css("display", "");
if ( this.options.fillSpace || this.options.autoHeight ) {
this.options.headers.next().css("height", "");
}
$.removeData(this.element[0], "accordion");
this.element.removeClass("ui-accordion").unbind(".accordion");
}
});
function scopeCallback(callback, scope) {
return function() {
return callback.apply(scope, arguments);
};
};
function completed(cancel) {
// if removed while animated data can be empty
if (!$.data(this, "accordion")) {
return;
}
var instance = $.data(this, "accordion");
var options = instance.options;
options.running = cancel ? 0 : --options.running;
if ( options.running ) {
return;
}
if ( options.clearStyle ) {
options.toShow.add(options.toHide).css({
height: "",
overflow: ""
});
}
$(this).triggerHandler("accordionchange", [options.data], options.change);
}
function toggle(toShow, toHide, data, clickedActive, down) {
var options = $.data(this, "accordion").options;
options.toShow = toShow;
options.toHide = toHide;
options.data = data;
var complete = scopeCallback(completed, this);
// count elements to animate
options.running = toHide.size() === 0 ? toShow.size() : toHide.size();
if ( options.animated ) {
if ( !options.alwaysOpen && clickedActive ) {
$.ui.accordion.animations[options.animated]({
toShow: jQuery([]),
toHide: toHide,
complete: complete,
down: down,
autoHeight: options.autoHeight
});
} else {
$.ui.accordion.animations[options.animated]({
toShow: toShow,
toHide: toHide,
complete: complete,
down: down,
autoHeight: options.autoHeight
});
}
} else {
if ( !options.alwaysOpen && clickedActive ) {
toShow.toggle();
} else {
toHide.hide();
toShow.show();
}
complete(true);
}
}
function clickHandler(event) {
var options = $.data(this, "accordion").options;
if (options.disabled) {
return false;
}
// called only when using activate(false) to close all parts programmatically
if ( !event.target && !options.alwaysOpen ) {
options.active.parent().andSelf().toggleClass(options.selectedClass);
var toHide = options.active.next(),
data = {
instance: this,
options: options,
newHeader: jQuery([]),
oldHeader: options.active,
newContent: jQuery([]),
oldContent: toHide
},
toShow = (options.active = $([]));
toggle.call(this, toShow, toHide, data );
return false;
}
// get the click target
var clicked = $(event.target);
// due to the event delegation model, we have to check if one
// of the parent elements is our actual header, and find that
if ( clicked.parents(options.header).length ) {
while ( !clicked.is(options.header) ) {
clicked = clicked.parent();
}
}
var clickedActive = clicked[0] == options.active[0];
// if animations are still active, or the active header is the target, ignore click
if (options.running || (options.alwaysOpen && clickedActive)) {
return false;
}
if (!clicked.is(options.header)) {
return;
}
// switch classes
options.active.parent().andSelf().toggleClass(options.selectedClass);
if ( !clickedActive ) {
clicked.parent().andSelf().addClass(options.selectedClass);
}
// find elements to show and hide
var toShow = clicked.next(),
toHide = options.active.next(),
//data = [clicked, options.active, toShow, toHide],
data = {
instance: this,
options: options,
newHeader: clicked,
oldHeader: options.active,
newContent: toShow,
oldContent: toHide
},
down = options.headers.index( options.active[0] ) > options.headers.index( clicked[0] );
options.active = clickedActive ? $([]) : clicked;
toggle.call(this, toShow, toHide, data, clickedActive, down );
return false;
};
function findActive(headers, selector) {
return selector != undefined
? typeof selector == "number"
? headers.filter(":eq(" + selector + ")")
: headers.not(headers.not(selector))
: selector === false
? $([])
: headers.filter(":eq(0)");
}
$.extend($.ui.accordion, {
defaults: {
selectedClass: "selected",
alwaysOpen: true,
animated: 'slide',
event: "click",
header: "a",
autoHeight: true,
running: 0,
navigationFilter: function() {
return this.href.toLowerCase() == location.href.toLowerCase();
}
},
animations: {
slide: function(options, additions) {
options = $.extend({
easing: "swing",
duration: 300
}, options, additions);
if ( !options.toHide.size() ) {
options.toShow.animate({height: "show"}, options);
return;
}
var hideHeight = options.toHide.height(),
showHeight = options.toShow.height(),
difference = showHeight / hideHeight;
options.toShow.css({ height: 0, overflow: 'hidden' }).show();
options.toHide.filter(":hidden").each(options.complete).end().filter(":visible").animate({height:"hide"},{
step: function(now) {
var current = (hideHeight - now) * difference;
if ($.browser.msie || $.browser.opera) {
current = Math.ceil(current);
}
options.toShow.height( current );
},
duration: options.duration,
easing: options.easing,
complete: function() {
if ( !options.autoHeight ) {
options.toShow.css("height", "auto");
}
options.complete();
}
});
},
bounceslide: function(options) {
this.slide(options, {
easing: options.down ? "bounceout" : "swing",
duration: options.down ? 1000 : 200
});
},
easeslide: function(options) {
this.slide(options, {
easing: "easeinout",
duration: 700
});
}
}
});
// deprecated, use accordion("activate", index) instead
$.fn.activate = function(index) {
return this.accordion("activate", index);
};
})(jQuery);

View File

@@ -1,277 +1,277 @@
/*
* jQuery UI @VERSION
*
* Copyright (c) 2008 Paul Bakaus (ui.jquery.com)
* Dual licensed under the MIT (MIT-LICENSE.txt)
* and GPL (GPL-LICENSE.txt) licenses.
*
* http://docs.jquery.com/UI
*
* $Id: ui.core.js 5587 2008-05-13 19:56:42Z scott.gonzalez $
*/
;(function($) {
$.ui = {
plugin: {
add: function(module, option, set) {
var proto = $.ui[module].prototype;
for(var i in set) {
proto.plugins[i] = proto.plugins[i] || [];
proto.plugins[i].push([option, set[i]]);
}
},
call: function(instance, name, args) {
var set = instance.plugins[name];
if(!set) { return; }
for (var i = 0; i < set.length; i++) {
if (instance.options[set[i][0]]) {
set[i][1].apply(instance.element, args);
}
}
}
},
cssCache: {},
css: function(name) {
if ($.ui.cssCache[name]) { return $.ui.cssCache[name]; }
var tmp = $('<div class="ui-resizable-gen">').addClass(name).css({position:'absolute', top:'-5000px', left:'-5000px', display:'block'}).appendTo('body');
//if (!$.browser.safari)
//tmp.appendTo('body');
//Opera and Safari set width and height to 0px instead of auto
//Safari returns rgba(0,0,0,0) when bgcolor is not set
$.ui.cssCache[name] = !!(
(!(/auto|default/).test(tmp.css('cursor')) || (/^[1-9]/).test(tmp.css('height')) || (/^[1-9]/).test(tmp.css('width')) ||
!(/none/).test(tmp.css('backgroundImage')) || !(/transparent|rgba\(0, 0, 0, 0\)/).test(tmp.css('backgroundColor')))
);
try { $('body').get(0).removeChild(tmp.get(0)); } catch(e){}
return $.ui.cssCache[name];
},
disableSelection: function(e) {
e.unselectable = "on";
e.onselectstart = function() { return false; };
if (e.style) { e.style.MozUserSelect = "none"; }
},
enableSelection: function(e) {
e.unselectable = "off";
e.onselectstart = function() { return true; };
if (e.style) { e.style.MozUserSelect = ""; }
},
hasScroll: function(e, a) {
var scroll = /top/.test(a||"top") ? 'scrollTop' : 'scrollLeft', has = false;
if (e[scroll] > 0) return true; e[scroll] = 1;
has = e[scroll] > 0 ? true : false; e[scroll] = 0;
return has;
}
};
/** jQuery core modifications and additions **/
var _remove = $.fn.remove;
$.fn.remove = function() {
$("*", this).add(this).trigger("remove");
return _remove.apply(this, arguments );
};
// $.widget is a factory to create jQuery plugins
// taking some boilerplate code out of the plugin code
// created by Scott González and Jörn Zaefferer
function getter(namespace, plugin, method) {
var methods = $[namespace][plugin].getter || [];
methods = (typeof methods == "string" ? methods.split(/,?\s+/) : methods);
return ($.inArray(method, methods) != -1);
}
var widgetPrototype = {
init: function() {},
destroy: function() {
this.element.removeData(this.widgetName);
},
getData: function(key) {
return this.options[key];
},
setData: function(key, value) {
this.options[key] = value;
},
enable: function() {
this.setData('disabled', false);
},
disable: function() {
this.setData('disabled', true);
}
};
$.widget = function(name, prototype) {
var namespace = name.split(".")[0];
name = name.split(".")[1];
// create plugin method
$.fn[name] = function(options) {
var isMethodCall = (typeof options == 'string'),
args = Array.prototype.slice.call(arguments, 1);
if (isMethodCall && getter(namespace, name, options)) {
var instance = $.data(this[0], name);
return (instance ? instance[options].apply(instance, args)
: undefined);
}
return this.each(function() {
var instance = $.data(this, name);
if (!instance) {
$.data(this, name, new $[namespace][name](this, options));
} else if (isMethodCall) {
instance[options].apply(instance, args);
}
});
};
// create widget constructor
$[namespace][name] = function(element, options) {
var self = this;
this.widgetName = name;
this.options = $.extend({}, $[namespace][name].defaults, options);
this.element = $(element)
.bind('setData.' + name, function(e, key, value) {
return self.setData(key, value);
})
.bind('getData.' + name, function(e, key) {
return self.getData(key);
})
.bind('remove', function() {
return self.destroy();
});
this.init();
};
// add widget prototype
$[namespace][name].prototype = $.extend({}, widgetPrototype, prototype);
};
/** Mouse Interaction Plugin **/
$.ui.mouse = {
mouseInit: function() {
var self = this;
this.element.bind('mousedown.'+this.widgetName, function(e) {
return self.mouseDown(e);
});
// Prevent text selection in IE
if ($.browser.msie) {
this._mouseUnselectable = this.element.attr('unselectable');
this.element.attr('unselectable', 'on');
}
this.started = false;
},
// TODO: make sure destroying one instance of mouse doesn't mess with
// other instances of mouse
mouseDestroy: function() {
this.element.unbind('.'+this.widgetName);
// Restore text selection in IE
($.browser.msie
&& this.element.attr('unselectable', this._mouseUnselectable));
},
mouseDown: function(e) {
// we may have missed mouseup (out of window)
(this._mouseStarted && this.mouseUp(e));
this._mouseDownEvent = e;
var self = this,
btnIsLeft = (e.which == 1),
elIsCancel = ($(e.target).is(this.options.cancel));
if (!btnIsLeft || elIsCancel) {
return true;
}
this._mouseDelayMet = !this.options.delay;
if (!this._mouseDelayMet) {
this._mouseDelayTimer = setTimeout(function() {
self._mouseDelayMet = true;
}, this.options.delay);
}
// these delegates are required to keep context
this._mouseMoveDelegate = function(e) {
return self.mouseMove(e);
};
this._mouseUpDelegate = function(e) {
return self.mouseUp(e);
};
$(document)
.bind('mousemove.'+this.widgetName, this._mouseMoveDelegate)
.bind('mouseup.'+this.widgetName, this._mouseUpDelegate);
return false;
},
mouseMove: function(e) {
// IE mouseup check - mouseup happened when mouse was out of window
if ($.browser.msie && !e.button) {
return this.mouseUp(e);
}
if (this._mouseStarted) {
this.mouseDrag(e);
return false;
}
if (this.mouseDistanceMet(e) && this.mouseDelayMet(e)) {
this._mouseStarted =
(this.mouseStart(this._mouseDownEvent, e) !== false);
(this._mouseStarted || this.mouseUp(e));
}
return !this._mouseStarted;
},
mouseUp: function(e) {
$(document)
.unbind('mousemove.'+this.widgetName, this._mouseMoveDelegate)
.unbind('mouseup.'+this.widgetName, this._mouseUpDelegate);
if (this._mouseStarted) {
this._mouseStarted = false;
this.mouseStop(e);
}
return false;
},
mouseDistanceMet: function(e) {
return (Math.max(
Math.abs(this._mouseDownEvent.pageX - e.pageX),
Math.abs(this._mouseDownEvent.pageY - e.pageY)
) >= this.options.distance
);
},
mouseDelayMet: function(e) {
return this._mouseDelayMet;
},
// These are placeholder methods, to be overriden by extending plugin
mouseStart: function(e) {},
mouseDrag: function(e) {},
mouseStop: function(e) {}
};
$.ui.mouse.defaults = {
cancel: null,
distance: 0,
delay: 0
};
/*
* jQuery UI @VERSION
*
* Copyright (c) 2008 Paul Bakaus (ui.jquery.com)
* Dual licensed under the MIT (MIT-LICENSE.txt)
* and GPL (GPL-LICENSE.txt) licenses.
*
* http://docs.jquery.com/UI
*
* $Id: ui.core.js 5587 2008-05-13 19:56:42Z scott.gonzalez $
*/
;(function($) {
$.ui = {
plugin: {
add: function(module, option, set) {
var proto = $.ui[module].prototype;
for(var i in set) {
proto.plugins[i] = proto.plugins[i] || [];
proto.plugins[i].push([option, set[i]]);
}
},
call: function(instance, name, args) {
var set = instance.plugins[name];
if(!set) { return; }
for (var i = 0; i < set.length; i++) {
if (instance.options[set[i][0]]) {
set[i][1].apply(instance.element, args);
}
}
}
},
cssCache: {},
css: function(name) {
if ($.ui.cssCache[name]) { return $.ui.cssCache[name]; }
var tmp = $('<div class="ui-resizable-gen">').addClass(name).css({position:'absolute', top:'-5000px', left:'-5000px', display:'block'}).appendTo('body');
//if (!$.browser.safari)
//tmp.appendTo('body');
//Opera and Safari set width and height to 0px instead of auto
//Safari returns rgba(0,0,0,0) when bgcolor is not set
$.ui.cssCache[name] = !!(
(!(/auto|default/).test(tmp.css('cursor')) || (/^[1-9]/).test(tmp.css('height')) || (/^[1-9]/).test(tmp.css('width')) ||
!(/none/).test(tmp.css('backgroundImage')) || !(/transparent|rgba\(0, 0, 0, 0\)/).test(tmp.css('backgroundColor')))
);
try { $('body').get(0).removeChild(tmp.get(0)); } catch(e){}
return $.ui.cssCache[name];
},
disableSelection: function(e) {
e.unselectable = "on";
e.onselectstart = function() { return false; };
if (e.style) { e.style.MozUserSelect = "none"; }
},
enableSelection: function(e) {
e.unselectable = "off";
e.onselectstart = function() { return true; };
if (e.style) { e.style.MozUserSelect = ""; }
},
hasScroll: function(e, a) {
var scroll = /top/.test(a||"top") ? 'scrollTop' : 'scrollLeft', has = false;
if (e[scroll] > 0) return true; e[scroll] = 1;
has = e[scroll] > 0 ? true : false; e[scroll] = 0;
return has;
}
};
/** jQuery core modifications and additions **/
var _remove = $.fn.remove;
$.fn.remove = function() {
$("*", this).add(this).trigger("remove");
return _remove.apply(this, arguments );
};
// $.widget is a factory to create jQuery plugins
// taking some boilerplate code out of the plugin code
// created by Scott González and Jörn Zaefferer
function getter(namespace, plugin, method) {
var methods = $[namespace][plugin].getter || [];
methods = (typeof methods == "string" ? methods.split(/,?\s+/) : methods);
return ($.inArray(method, methods) != -1);
}
var widgetPrototype = {
init: function() {},
destroy: function() {
this.element.removeData(this.widgetName);
},
getData: function(key) {
return this.options[key];
},
setData: function(key, value) {
this.options[key] = value;
},
enable: function() {
this.setData('disabled', false);
},
disable: function() {
this.setData('disabled', true);
}
};
$.widget = function(name, prototype) {
var namespace = name.split(".")[0];
name = name.split(".")[1];
// create plugin method
$.fn[name] = function(options) {
var isMethodCall = (typeof options == 'string'),
args = Array.prototype.slice.call(arguments, 1);
if (isMethodCall && getter(namespace, name, options)) {
var instance = $.data(this[0], name);
return (instance ? instance[options].apply(instance, args)
: undefined);
}
return this.each(function() {
var instance = $.data(this, name);
if (!instance) {
$.data(this, name, new $[namespace][name](this, options));
} else if (isMethodCall) {
instance[options].apply(instance, args);
}
});
};
// create widget constructor
$[namespace][name] = function(element, options) {
var self = this;
this.widgetName = name;
this.options = $.extend({}, $[namespace][name].defaults, options);
this.element = $(element)
.bind('setData.' + name, function(e, key, value) {
return self.setData(key, value);
})
.bind('getData.' + name, function(e, key) {
return self.getData(key);
})
.bind('remove', function() {
return self.destroy();
});
this.init();
};
// add widget prototype
$[namespace][name].prototype = $.extend({}, widgetPrototype, prototype);
};
/** Mouse Interaction Plugin **/
$.ui.mouse = {
mouseInit: function() {
var self = this;
this.element.bind('mousedown.'+this.widgetName, function(e) {
return self.mouseDown(e);
});
// Prevent text selection in IE
if ($.browser.msie) {
this._mouseUnselectable = this.element.attr('unselectable');
this.element.attr('unselectable', 'on');
}
this.started = false;
},
// TODO: make sure destroying one instance of mouse doesn't mess with
// other instances of mouse
mouseDestroy: function() {
this.element.unbind('.'+this.widgetName);
// Restore text selection in IE
($.browser.msie
&& this.element.attr('unselectable', this._mouseUnselectable));
},
mouseDown: function(e) {
// we may have missed mouseup (out of window)
(this._mouseStarted && this.mouseUp(e));
this._mouseDownEvent = e;
var self = this,
btnIsLeft = (e.which == 1),
elIsCancel = ($(e.target).is(this.options.cancel));
if (!btnIsLeft || elIsCancel) {
return true;
}
this._mouseDelayMet = !this.options.delay;
if (!this._mouseDelayMet) {
this._mouseDelayTimer = setTimeout(function() {
self._mouseDelayMet = true;
}, this.options.delay);
}
// these delegates are required to keep context
this._mouseMoveDelegate = function(e) {
return self.mouseMove(e);
};
this._mouseUpDelegate = function(e) {
return self.mouseUp(e);
};
$(document)
.bind('mousemove.'+this.widgetName, this._mouseMoveDelegate)
.bind('mouseup.'+this.widgetName, this._mouseUpDelegate);
return false;
},
mouseMove: function(e) {
// IE mouseup check - mouseup happened when mouse was out of window
if ($.browser.msie && !e.button) {
return this.mouseUp(e);
}
if (this._mouseStarted) {
this.mouseDrag(e);
return false;
}
if (this.mouseDistanceMet(e) && this.mouseDelayMet(e)) {
this._mouseStarted =
(this.mouseStart(this._mouseDownEvent, e) !== false);
(this._mouseStarted || this.mouseUp(e));
}
return !this._mouseStarted;
},
mouseUp: function(e) {
$(document)
.unbind('mousemove.'+this.widgetName, this._mouseMoveDelegate)
.unbind('mouseup.'+this.widgetName, this._mouseUpDelegate);
if (this._mouseStarted) {
this._mouseStarted = false;
this.mouseStop(e);
}
return false;
},
mouseDistanceMet: function(e) {
return (Math.max(
Math.abs(this._mouseDownEvent.pageX - e.pageX),
Math.abs(this._mouseDownEvent.pageY - e.pageY)
) >= this.options.distance
);
},
mouseDelayMet: function(e) {
return this._mouseDelayMet;
},
// These are placeholder methods, to be overriden by extending plugin
mouseStart: function(e) {},
mouseDrag: function(e) {},
mouseStop: function(e) {}
};
$.ui.mouse.defaults = {
cancel: null,
distance: 0,
delay: 0
};
})(jQuery);

File diff suppressed because it is too large Load Diff

View File

@@ -1,442 +1,442 @@
/*
* jQuery UI Dialog
*
* Copyright (c) 2008 Richard D. Worth (rdworth.org)
* Dual licensed under the MIT (MIT-LICENSE.txt)
* and GPL (GPL-LICENSE.txt) licenses.
*
* http://docs.jquery.com/UI/Dialog
*
* Depends:
* ui.core.js
* ui.draggable.js
* ui.resizable.js
*
* Revision: $Id: ui.dialog.js 5608 2008-05-15 14:41:12Z scott.gonzalez $
*/
;(function($) {
var setDataSwitch = {
dragStart: "start.draggable",
drag: "drag.draggable",
dragStop: "stop.draggable",
maxHeight: "maxHeight.resizable",
minHeight: "minHeight.resizable",
maxWidth: "maxWidth.resizable",
minWidth: "minWidth.resizable",
resizeStart: "start.resizable",
resize: "drag.resizable",
resizeStop: "stop.resizable"
};
$.widget("ui.dialog", {
init: function() {
var self = this,
options = this.options,
resizeHandles = typeof options.resizable == 'string'
? options.resizable
: 'n,e,s,w,se,sw,ne,nw',
uiDialogContent = this.element
.addClass('ui-dialog-content')
.wrap('<div/>')
.wrap('<div/>'),
uiDialogContainer = uiDialogContent.parent()
.addClass('ui-dialog-container')
.css({position: 'relative'}),
title = options.title || uiDialogContent.attr('title') || '',
uiDialogTitlebar = (this.uiDialogTitlebar =
$('<div class="ui-dialog-titlebar"/>'))
.append('<span class="ui-dialog-title">' + title + '</span>')
.append('<a href="#" class="ui-dialog-titlebar-close"><span>X</span></a>')
.prependTo(uiDialogContainer),
uiDialog = (this.uiDialog = uiDialogContainer.parent())
.hide()
.appendTo(document.body)
.addClass('ui-dialog')
.addClass(options.dialogClass)
// add content classes to dialog
// to inherit theme at top level of element
.addClass(uiDialogContent.attr('className'))
.removeClass('ui-dialog-content')
.css({
position: 'absolute',
width: options.width,
height: options.height,
overflow: 'hidden',
zIndex: options.zIndex
})
// setting tabIndex makes the div focusable
// setting outline to 0 prevents a border on focus in Mozilla
.attr('tabIndex', -1).css('outline', 0).keydown(function(ev) {
if (options.closeOnEscape) {
var ESC = 27;
(ev.keyCode && ev.keyCode == ESC && self.close());
}
})
.mousedown(function() {
self.moveToTop();
});
this.uiDialogTitlebarClose = $('.ui-dialog-titlebar-close', uiDialogTitlebar)
.hover(
function() {
$(this).addClass('ui-dialog-titlebar-close-hover');
},
function() {
$(this).removeClass('ui-dialog-titlebar-close-hover');
}
)
.mousedown(function(ev) {
ev.stopPropagation();
})
.click(function() {
self.close();
return false;
});
var hasButtons = false;
$.each(options.buttons, function() { return !(hasButtons = true); });
if (hasButtons) {
var uiDialogButtonPane = $('<div class="ui-dialog-buttonpane"/>')
.appendTo(uiDialog);
$.each(options.buttons, function(name, fn) {
$('<button/>')
.text(name)
.click(function() { fn.apply(self.element, arguments); })
.appendTo(uiDialogButtonPane);
});
}
if ($.fn.draggable) {
uiDialog.draggable({
handle: '.ui-dialog-titlebar',
start: function(e, ui) {
self.moveToTop();
(options.dragStart && options.dragStart.apply(this, arguments));
},
drag: options.drag,
stop: function(e, ui) {
(options.dragStop && options.dragStop.apply(this, arguments));
$.ui.dialog.overlay.resize();
}
});
(options.draggable || uiDialog.draggable('disable'));
}
if ($.fn.resizable) {
uiDialog.resizable({
maxWidth: options.maxWidth,
maxHeight: options.maxHeight,
minWidth: options.minWidth,
minHeight: options.minHeight,
start: options.resizeStart,
resize: options.resize,
handles: resizeHandles,
stop: function(e, ui) {
(options.resizeStop && options.resizeStop.apply(this, arguments));
$.ui.dialog.overlay.resize();
}
});
(options.resizable || uiDialog.resizable('disable'));
}
(options.bgiframe && $.fn.bgiframe && uiDialog.bgiframe());
(options.autoOpen && this.open());
},
setData: function(key, value){
(setDataSwitch[key] && this.uiDialog.data(setDataSwitch[key], value));
switch (key) {
case "draggable":
this.uiDialog.draggable(value ? 'enable' : 'disable');
break;
case "height":
this.uiDialog.height(value);
break;
case "position":
this.position(value);
break;
case "resizable":
(typeof value == 'string' && this.uiDialog.data('handles.resizable', value));
this.uiDialog.resizable(value ? 'enable' : 'disable');
break;
case "title":
$(".ui-dialog-title", this.uiDialogTitlebar).text(value);
break;
case "width":
this.uiDialog.width(value);
break;
}
this.options[key] = value;
},
position: function(pos) {
var wnd = $(window), doc = $(document),
pTop = doc.scrollTop(), pLeft = doc.scrollLeft(),
minTop = pTop;
if ($.inArray(pos, ['center','top','right','bottom','left']) >= 0) {
pos = [
pos == 'right' || pos == 'left' ? pos : 'center',
pos == 'top' || pos == 'bottom' ? pos : 'middle'
];
}
if (pos.constructor != Array) {
pos = ['center', 'middle'];
}
if (pos[0].constructor == Number) {
pLeft += pos[0];
} else {
switch (pos[0]) {
case 'left':
pLeft += 0;
break;
case 'right':
pLeft += (wnd.width()) - (this.uiDialog.width());
break;
default:
case 'center':
pLeft += (wnd.width() / 2) - (this.uiDialog.width() / 2);
}
}
if (pos[1].constructor == Number) {
pTop += pos[1];
} else {
switch (pos[1]) {
case 'top':
pTop += 0;
break;
case 'bottom':
pTop += (wnd.height()) - (this.uiDialog.height());
break;
default:
case 'middle':
pTop += (wnd.height() / 2) - (this.uiDialog.height() / 2);
}
}
// prevent the dialog from being too high (make sure the titlebar
// is accessible)
pTop = Math.max(pTop, minTop);
this.uiDialog.css({top: pTop, left: pLeft});
},
open: function() {
this.overlay = this.options.modal ? new $.ui.dialog.overlay(this) : null;
this.uiDialog.appendTo('body');
this.position(this.options.position);
this.uiDialog.show();
this.moveToTop();
// CALLBACK: open
var openEV = null;
var openUI = {
options: this.options
};
this.uiDialogTitlebarClose.focus();
this.element.triggerHandler("dialogopen", [openEV, openUI], this.options.open);
},
moveToTop: function() {
if (this.options.modal || !this.options.stack) { return; }
var maxZ = this.options.zIndex, options = this.options;
$('.ui-dialog:visible').each(function() {
maxZ = Math.max(maxZ, parseInt($(this).css('z-index'), 10) || options.zIndex);
});
(this.overlay && this.overlay.$el.css('z-index', ++maxZ));
this.uiDialog.css('z-index', ++maxZ);
},
close: function() {
(this.overlay && this.overlay.destroy());
this.uiDialog.hide();
// CALLBACK: close
var closeEV = null;
var closeUI = {
options: this.options
};
this.element.triggerHandler("dialogclose", [closeEV, closeUI], this.options.close);
$.ui.dialog.overlay.resize();
},
destroy: function() {
(this.overlay && this.overlay.destroy());
this.uiDialog.hide();
this.element
.unbind('.dialog')
.removeData('dialog')
.removeClass('ui-dialog-content')
.hide().appendTo('body');
this.uiDialog.remove();
}
});
$.extend($.ui.dialog, {
defaults: {
autoOpen: true,
bgiframe: false,
buttons: {},
closeOnEscape: true,
draggable: true,
height: 200,
minHeight: 100,
minWidth: 150,
modal: false,
overlay: {},
position: 'center',
resizable: true,
stack: true,
width: 300,
zIndex: 1000
},
overlay: function(dialog) {
this.$el = $.ui.dialog.overlay.create(dialog);
}
});
$.extend($.ui.dialog.overlay, {
instances: [],
events: $.map('focus,mousedown,mouseup,keydown,keypress,click'.split(','),
function(e) { return e + '.dialog-overlay'; }).join(' '),
create: function(dialog) {
if (this.instances.length === 0) {
// prevent use of anchors and inputs
// we use a setTimeout in case the overlay is created from an
// event that we're going to be cancelling (see #2804)
setTimeout(function() {
$('a, :input').bind($.ui.dialog.overlay.events, function() {
// allow use of the element if inside a dialog and
// - there are no modal dialogs
// - there are modal dialogs, but we are in front of the topmost modal
var allow = false;
var $dialog = $(this).parents('.ui-dialog');
if ($dialog.length) {
var $overlays = $('.ui-dialog-overlay');
if ($overlays.length) {
var maxZ = parseInt($overlays.css('z-index'), 10);
$overlays.each(function() {
maxZ = Math.max(maxZ, parseInt($(this).css('z-index'), 10));
});
allow = parseInt($dialog.css('z-index'), 10) > maxZ;
} else {
allow = true;
}
}
return allow;
});
}, 1);
// allow closing by pressing the escape key
$(document).bind('keydown.dialog-overlay', function(e) {
var ESC = 27;
(e.keyCode && e.keyCode == ESC && dialog.close());
});
// handle window resize
$(window).bind('resize.dialog-overlay', $.ui.dialog.overlay.resize);
}
var $el = $('<div/>').appendTo(document.body)
.addClass('ui-dialog-overlay').css($.extend({
borderWidth: 0, margin: 0, padding: 0,
position: 'absolute', top: 0, left: 0,
width: this.width(),
height: this.height()
}, dialog.options.overlay));
(dialog.options.bgiframe && $.fn.bgiframe && $el.bgiframe());
this.instances.push($el);
return $el;
},
destroy: function($el) {
this.instances.splice($.inArray(this.instances, $el), 1);
if (this.instances.length === 0) {
$('a, :input').add([document, window]).unbind('.dialog-overlay');
}
$el.remove();
},
height: function() {
if ($.browser.msie && $.browser.version < 7) {
var scrollHeight = Math.max(
document.documentElement.scrollHeight,
document.body.scrollHeight
);
var offsetHeight = Math.max(
document.documentElement.offsetHeight,
document.body.offsetHeight
);
if (scrollHeight < offsetHeight) {
return $(window).height() + 'px';
} else {
return scrollHeight + 'px';
}
} else {
return $(document).height() + 'px';
}
},
width: function() {
if ($.browser.msie && $.browser.version < 7) {
var scrollWidth = Math.max(
document.documentElement.scrollWidth,
document.body.scrollWidth
);
var offsetWidth = Math.max(
document.documentElement.offsetWidth,
document.body.offsetWidth
);
if (scrollWidth < offsetWidth) {
return $(window).width() + 'px';
} else {
return scrollWidth + 'px';
}
} else {
return $(document).width() + 'px';
}
},
resize: function() {
/* If the dialog is draggable and the user drags it past the
* right edge of the window, the document becomes wider so we
* need to stretch the overlay. If the user then drags the
* dialog back to the left, the document will become narrower,
* so we need to shrink the overlay to the appropriate size.
* This is handled by shrinking the overlay before setting it
* to the full document size.
*/
var $overlays = $([]);
$.each($.ui.dialog.overlay.instances, function() {
$overlays = $overlays.add(this);
});
$overlays.css({
width: 0,
height: 0
}).css({
width: $.ui.dialog.overlay.width(),
height: $.ui.dialog.overlay.height()
});
}
});
$.extend($.ui.dialog.overlay.prototype, {
destroy: function() {
$.ui.dialog.overlay.destroy(this.$el);
}
});
})(jQuery);
/*
* jQuery UI Dialog
*
* Copyright (c) 2008 Richard D. Worth (rdworth.org)
* Dual licensed under the MIT (MIT-LICENSE.txt)
* and GPL (GPL-LICENSE.txt) licenses.
*
* http://docs.jquery.com/UI/Dialog
*
* Depends:
* ui.core.js
* ui.draggable.js
* ui.resizable.js
*
* Revision: $Id: ui.dialog.js 5608 2008-05-15 14:41:12Z scott.gonzalez $
*/
;(function($) {
var setDataSwitch = {
dragStart: "start.draggable",
drag: "drag.draggable",
dragStop: "stop.draggable",
maxHeight: "maxHeight.resizable",
minHeight: "minHeight.resizable",
maxWidth: "maxWidth.resizable",
minWidth: "minWidth.resizable",
resizeStart: "start.resizable",
resize: "drag.resizable",
resizeStop: "stop.resizable"
};
$.widget("ui.dialog", {
init: function() {
var self = this,
options = this.options,
resizeHandles = typeof options.resizable == 'string'
? options.resizable
: 'n,e,s,w,se,sw,ne,nw',
uiDialogContent = this.element
.addClass('ui-dialog-content')
.wrap('<div/>')
.wrap('<div/>'),
uiDialogContainer = uiDialogContent.parent()
.addClass('ui-dialog-container')
.css({position: 'relative'}),
title = options.title || uiDialogContent.attr('title') || '',
uiDialogTitlebar = (this.uiDialogTitlebar =
$('<div class="ui-dialog-titlebar"/>'))
.append('<span class="ui-dialog-title">' + title + '</span>')
.append('<a href="#" class="ui-dialog-titlebar-close"><span>X</span></a>')
.prependTo(uiDialogContainer),
uiDialog = (this.uiDialog = uiDialogContainer.parent())
.hide()
.appendTo(document.body)
.addClass('ui-dialog')
.addClass(options.dialogClass)
// add content classes to dialog
// to inherit theme at top level of element
.addClass(uiDialogContent.attr('className'))
.removeClass('ui-dialog-content')
.css({
position: 'absolute',
width: options.width,
height: options.height,
overflow: 'hidden',
zIndex: options.zIndex
})
// setting tabIndex makes the div focusable
// setting outline to 0 prevents a border on focus in Mozilla
.attr('tabIndex', -1).css('outline', 0).keydown(function(ev) {
if (options.closeOnEscape) {
var ESC = 27;
(ev.keyCode && ev.keyCode == ESC && self.close());
}
})
.mousedown(function() {
self.moveToTop();
});
this.uiDialogTitlebarClose = $('.ui-dialog-titlebar-close', uiDialogTitlebar)
.hover(
function() {
$(this).addClass('ui-dialog-titlebar-close-hover');
},
function() {
$(this).removeClass('ui-dialog-titlebar-close-hover');
}
)
.mousedown(function(ev) {
ev.stopPropagation();
})
.click(function() {
self.close();
return false;
});
var hasButtons = false;
$.each(options.buttons, function() { return !(hasButtons = true); });
if (hasButtons) {
var uiDialogButtonPane = $('<div class="ui-dialog-buttonpane"/>')
.appendTo(uiDialog);
$.each(options.buttons, function(name, fn) {
$('<button/>')
.text(name)
.click(function() { fn.apply(self.element, arguments); })
.appendTo(uiDialogButtonPane);
});
}
if ($.fn.draggable) {
uiDialog.draggable({
handle: '.ui-dialog-titlebar',
start: function(e, ui) {
self.moveToTop();
(options.dragStart && options.dragStart.apply(this, arguments));
},
drag: options.drag,
stop: function(e, ui) {
(options.dragStop && options.dragStop.apply(this, arguments));
$.ui.dialog.overlay.resize();
}
});
(options.draggable || uiDialog.draggable('disable'));
}
if ($.fn.resizable) {
uiDialog.resizable({
maxWidth: options.maxWidth,
maxHeight: options.maxHeight,
minWidth: options.minWidth,
minHeight: options.minHeight,
start: options.resizeStart,
resize: options.resize,
handles: resizeHandles,
stop: function(e, ui) {
(options.resizeStop && options.resizeStop.apply(this, arguments));
$.ui.dialog.overlay.resize();
}
});
(options.resizable || uiDialog.resizable('disable'));
}
(options.bgiframe && $.fn.bgiframe && uiDialog.bgiframe());
(options.autoOpen && this.open());
},
setData: function(key, value){
(setDataSwitch[key] && this.uiDialog.data(setDataSwitch[key], value));
switch (key) {
case "draggable":
this.uiDialog.draggable(value ? 'enable' : 'disable');
break;
case "height":
this.uiDialog.height(value);
break;
case "position":
this.position(value);
break;
case "resizable":
(typeof value == 'string' && this.uiDialog.data('handles.resizable', value));
this.uiDialog.resizable(value ? 'enable' : 'disable');
break;
case "title":
$(".ui-dialog-title", this.uiDialogTitlebar).text(value);
break;
case "width":
this.uiDialog.width(value);
break;
}
this.options[key] = value;
},
position: function(pos) {
var wnd = $(window), doc = $(document),
pTop = doc.scrollTop(), pLeft = doc.scrollLeft(),
minTop = pTop;
if ($.inArray(pos, ['center','top','right','bottom','left']) >= 0) {
pos = [
pos == 'right' || pos == 'left' ? pos : 'center',
pos == 'top' || pos == 'bottom' ? pos : 'middle'
];
}
if (pos.constructor != Array) {
pos = ['center', 'middle'];
}
if (pos[0].constructor == Number) {
pLeft += pos[0];
} else {
switch (pos[0]) {
case 'left':
pLeft += 0;
break;
case 'right':
pLeft += (wnd.width()) - (this.uiDialog.width());
break;
default:
case 'center':
pLeft += (wnd.width() / 2) - (this.uiDialog.width() / 2);
}
}
if (pos[1].constructor == Number) {
pTop += pos[1];
} else {
switch (pos[1]) {
case 'top':
pTop += 0;
break;
case 'bottom':
pTop += (wnd.height()) - (this.uiDialog.height());
break;
default:
case 'middle':
pTop += (wnd.height() / 2) - (this.uiDialog.height() / 2);
}
}
// prevent the dialog from being too high (make sure the titlebar
// is accessible)
pTop = Math.max(pTop, minTop);
this.uiDialog.css({top: pTop, left: pLeft});
},
open: function() {
this.overlay = this.options.modal ? new $.ui.dialog.overlay(this) : null;
this.uiDialog.appendTo('body');
this.position(this.options.position);
this.uiDialog.show();
this.moveToTop();
// CALLBACK: open
var openEV = null;
var openUI = {
options: this.options
};
this.uiDialogTitlebarClose.focus();
this.element.triggerHandler("dialogopen", [openEV, openUI], this.options.open);
},
moveToTop: function() {
if (this.options.modal || !this.options.stack) { return; }
var maxZ = this.options.zIndex, options = this.options;
$('.ui-dialog:visible').each(function() {
maxZ = Math.max(maxZ, parseInt($(this).css('z-index'), 10) || options.zIndex);
});
(this.overlay && this.overlay.$el.css('z-index', ++maxZ));
this.uiDialog.css('z-index', ++maxZ);
},
close: function() {
(this.overlay && this.overlay.destroy());
this.uiDialog.hide();
// CALLBACK: close
var closeEV = null;
var closeUI = {
options: this.options
};
this.element.triggerHandler("dialogclose", [closeEV, closeUI], this.options.close);
$.ui.dialog.overlay.resize();
},
destroy: function() {
(this.overlay && this.overlay.destroy());
this.uiDialog.hide();
this.element
.unbind('.dialog')
.removeData('dialog')
.removeClass('ui-dialog-content')
.hide().appendTo('body');
this.uiDialog.remove();
}
});
$.extend($.ui.dialog, {
defaults: {
autoOpen: true,
bgiframe: false,
buttons: {},
closeOnEscape: true,
draggable: true,
height: 200,
minHeight: 100,
minWidth: 150,
modal: false,
overlay: {},
position: 'center',
resizable: true,
stack: true,
width: 300,
zIndex: 1000
},
overlay: function(dialog) {
this.$el = $.ui.dialog.overlay.create(dialog);
}
});
$.extend($.ui.dialog.overlay, {
instances: [],
events: $.map('focus,mousedown,mouseup,keydown,keypress,click'.split(','),
function(e) { return e + '.dialog-overlay'; }).join(' '),
create: function(dialog) {
if (this.instances.length === 0) {
// prevent use of anchors and inputs
// we use a setTimeout in case the overlay is created from an
// event that we're going to be cancelling (see #2804)
setTimeout(function() {
$('a, :input').bind($.ui.dialog.overlay.events, function() {
// allow use of the element if inside a dialog and
// - there are no modal dialogs
// - there are modal dialogs, but we are in front of the topmost modal
var allow = false;
var $dialog = $(this).parents('.ui-dialog');
if ($dialog.length) {
var $overlays = $('.ui-dialog-overlay');
if ($overlays.length) {
var maxZ = parseInt($overlays.css('z-index'), 10);
$overlays.each(function() {
maxZ = Math.max(maxZ, parseInt($(this).css('z-index'), 10));
});
allow = parseInt($dialog.css('z-index'), 10) > maxZ;
} else {
allow = true;
}
}
return allow;
});
}, 1);
// allow closing by pressing the escape key
$(document).bind('keydown.dialog-overlay', function(e) {
var ESC = 27;
(e.keyCode && e.keyCode == ESC && dialog.close());
});
// handle window resize
$(window).bind('resize.dialog-overlay', $.ui.dialog.overlay.resize);
}
var $el = $('<div/>').appendTo(document.body)
.addClass('ui-dialog-overlay').css($.extend({
borderWidth: 0, margin: 0, padding: 0,
position: 'absolute', top: 0, left: 0,
width: this.width(),
height: this.height()
}, dialog.options.overlay));
(dialog.options.bgiframe && $.fn.bgiframe && $el.bgiframe());
this.instances.push($el);
return $el;
},
destroy: function($el) {
this.instances.splice($.inArray(this.instances, $el), 1);
if (this.instances.length === 0) {
$('a, :input').add([document, window]).unbind('.dialog-overlay');
}
$el.remove();
},
height: function() {
if ($.browser.msie && $.browser.version < 7) {
var scrollHeight = Math.max(
document.documentElement.scrollHeight,
document.body.scrollHeight
);
var offsetHeight = Math.max(
document.documentElement.offsetHeight,
document.body.offsetHeight
);
if (scrollHeight < offsetHeight) {
return $(window).height() + 'px';
} else {
return scrollHeight + 'px';
}
} else {
return $(document).height() + 'px';
}
},
width: function() {
if ($.browser.msie && $.browser.version < 7) {
var scrollWidth = Math.max(
document.documentElement.scrollWidth,
document.body.scrollWidth
);
var offsetWidth = Math.max(
document.documentElement.offsetWidth,
document.body.offsetWidth
);
if (scrollWidth < offsetWidth) {
return $(window).width() + 'px';
} else {
return scrollWidth + 'px';
}
} else {
return $(document).width() + 'px';
}
},
resize: function() {
/* If the dialog is draggable and the user drags it past the
* right edge of the window, the document becomes wider so we
* need to stretch the overlay. If the user then drags the
* dialog back to the left, the document will become narrower,
* so we need to shrink the overlay to the appropriate size.
* This is handled by shrinking the overlay before setting it
* to the full document size.
*/
var $overlays = $([]);
$.each($.ui.dialog.overlay.instances, function() {
$overlays = $overlays.add(this);
});
$overlays.css({
width: 0,
height: 0
}).css({
width: $.ui.dialog.overlay.width(),
height: $.ui.dialog.overlay.height()
});
}
});
$.extend($.ui.dialog.overlay.prototype, {
destroy: function() {
$.ui.dialog.overlay.destroy(this.$el);
}
});
})(jQuery);

File diff suppressed because it is too large Load Diff

View File

@@ -1,291 +1,291 @@
/*
* jQuery UI Droppable
*
* Copyright (c) 2008 Paul Bakaus
* Dual licensed under the MIT (MIT-LICENSE.txt)
* and GPL (GPL-LICENSE.txt) licenses.
*
* http://docs.jquery.com/UI/Droppables
*
* Depends:
* ui.core.js
* ui.draggable.js
*
* Revision: $Id: ui.droppable.js 5568 2008-05-12 15:07:16Z paul.bakaus $
*/
;(function($) {
$.widget("ui.droppable", {
init: function() {
this.element.addClass("ui-droppable");
this.isover = 0; this.isout = 1;
//Prepare the passed options
var o = this.options, accept = o.accept;
o = $.extend(o, {
accept: o.accept && o.accept.constructor == Function ? o.accept : function(d) {
return $(d).is(accept);
}
});
//Store the droppable's proportions
this.proportions = { width: this.element.outerWidth(), height: this.element.outerHeight() };
// Add the reference and positions to the manager
$.ui.ddmanager.droppables.push(this);
},
plugins: {},
ui: function(c) {
return {
instance: this,
draggable: (c.currentItem || c.element),
helper: c.helper,
position: c.position,
absolutePosition: c.positionAbs,
options: this.options,
element: this.element
};
},
destroy: function() {
var drop = $.ui.ddmanager.droppables;
for ( var i = 0; i < drop.length; i++ )
if ( drop[i] == this )
drop.splice(i, 1);
this.element
.removeClass("ui-droppable ui-droppable-disabled")
.removeData("droppable")
.unbind(".droppable");
},
enable: function() {
this.element.removeClass("ui-droppable-disabled");
this.options.disabled = false;
},
disable: function() {
this.element.addClass("ui-droppable-disabled");
this.options.disabled = true;
},
over: function(e) {
var draggable = $.ui.ddmanager.current;
if (!draggable || (draggable.currentItem || draggable.element)[0] == this.element[0]) return; // Bail if draggable and droppable are same element
if (this.options.accept.call(this.element,(draggable.currentItem || draggable.element))) {
$.ui.plugin.call(this, 'over', [e, this.ui(draggable)]);
this.element.triggerHandler("dropover", [e, this.ui(draggable)], this.options.over);
}
},
out: function(e) {
var draggable = $.ui.ddmanager.current;
if (!draggable || (draggable.currentItem || draggable.element)[0] == this.element[0]) return; // Bail if draggable and droppable are same element
if (this.options.accept.call(this.element,(draggable.currentItem || draggable.element))) {
$.ui.plugin.call(this, 'out', [e, this.ui(draggable)]);
this.element.triggerHandler("dropout", [e, this.ui(draggable)], this.options.out);
}
},
drop: function(e,custom) {
var draggable = custom || $.ui.ddmanager.current;
if (!draggable || (draggable.currentItem || draggable.element)[0] == this.element[0]) return false; // Bail if draggable and droppable are same element
var childrenIntersection = false;
this.element.find(".ui-droppable").not(".ui-draggable-dragging").each(function() {
var inst = $.data(this, 'droppable');
if(inst.options.greedy && $.ui.intersect(draggable, $.extend(inst, { offset: inst.element.offset() }), inst.options.tolerance)) {
childrenIntersection = true; return false;
}
});
if(childrenIntersection) return false;
if(this.options.accept.call(this.element,(draggable.currentItem || draggable.element))) {
$.ui.plugin.call(this, 'drop', [e, this.ui(draggable)]);
this.element.triggerHandler("drop", [e, this.ui(draggable)], this.options.drop);
return true;
}
return false;
},
activate: function(e) {
var draggable = $.ui.ddmanager.current;
$.ui.plugin.call(this, 'activate', [e, this.ui(draggable)]);
if(draggable) this.element.triggerHandler("dropactivate", [e, this.ui(draggable)], this.options.activate);
},
deactivate: function(e) {
var draggable = $.ui.ddmanager.current;
$.ui.plugin.call(this, 'deactivate', [e, this.ui(draggable)]);
if(draggable) this.element.triggerHandler("dropdeactivate", [e, this.ui(draggable)], this.options.deactivate);
}
});
$.extend($.ui.droppable, {
defaults: {
disabled: false,
tolerance: 'intersect'
}
});
$.ui.intersect = function(draggable, droppable, toleranceMode) {
if (!droppable.offset) return false;
var x1 = (draggable.positionAbs || draggable.position.absolute).left, x2 = x1 + draggable.helperProportions.width,
y1 = (draggable.positionAbs || draggable.position.absolute).top, y2 = y1 + draggable.helperProportions.height;
var l = droppable.offset.left, r = l + droppable.proportions.width,
t = droppable.offset.top, b = t + droppable.proportions.height;
switch (toleranceMode) {
case 'fit':
return (l < x1 && x2 < r
&& t < y1 && y2 < b);
break;
case 'intersect':
return (l < x1 + (draggable.helperProportions.width / 2) // Right Half
&& x2 - (draggable.helperProportions.width / 2) < r // Left Half
&& t < y1 + (draggable.helperProportions.height / 2) // Bottom Half
&& y2 - (draggable.helperProportions.height / 2) < b ); // Top Half
break;
case 'pointer':
return (l < ((draggable.positionAbs || draggable.position.absolute).left + (draggable.clickOffset || draggable.offset.click).left) && ((draggable.positionAbs || draggable.position.absolute).left + (draggable.clickOffset || draggable.offset.click).left) < r
&& t < ((draggable.positionAbs || draggable.position.absolute).top + (draggable.clickOffset || draggable.offset.click).top) && ((draggable.positionAbs || draggable.position.absolute).top + (draggable.clickOffset || draggable.offset.click).top) < b);
break;
case 'touch':
return (
(y1 >= t && y1 <= b) || // Top edge touching
(y2 >= t && y2 <= b) || // Bottom edge touching
(y1 < t && y2 > b) // Surrounded vertically
) && (
(x1 >= l && x1 <= r) || // Left edge touching
(x2 >= l && x2 <= r) || // Right edge touching
(x1 < l && x2 > r) // Surrounded horizontally
);
break;
default:
return false;
break;
}
};
/*
This manager tracks offsets of draggables and droppables
*/
$.ui.ddmanager = {
current: null,
droppables: [],
prepareOffsets: function(t, e) {
var m = $.ui.ddmanager.droppables;
var type = e ? e.type : null; // workaround for #2317
for (var i = 0; i < m.length; i++) {
if(m[i].options.disabled || (t && !m[i].options.accept.call(m[i].element,(t.currentItem || t.element)))) continue;
m[i].visible = m[i].element.is(":visible"); if(!m[i].visible) continue; //If the element is not visible, continue
m[i].offset = m[i].element.offset();
m[i].proportions = { width: m[i].element.outerWidth(), height: m[i].element.outerHeight() };
if(type == "dragstart" || type == "sortactivate") m[i].activate.call(m[i], e); //Activate the droppable if used directly from draggables
}
},
drop: function(draggable, e) {
var dropped = false;
$.each($.ui.ddmanager.droppables, function() {
if(!this.options) return;
if (!this.options.disabled && this.visible && $.ui.intersect(draggable, this, this.options.tolerance))
dropped = this.drop.call(this, e);
if (!this.options.disabled && this.visible && this.options.accept.call(this.element,(draggable.currentItem || draggable.element))) {
this.isout = 1; this.isover = 0;
this.deactivate.call(this, e);
}
});
return dropped;
},
drag: function(draggable, e) {
//If you have a highly dynamic page, you might try this option. It renders positions every time you move the mouse.
if(draggable.options.refreshPositions) $.ui.ddmanager.prepareOffsets(draggable, e);
//Run through all droppables and check their positions based on specific tolerance options
$.each($.ui.ddmanager.droppables, function() {
if(this.disabled || this.greedyChild || !this.visible) return;
var intersects = $.ui.intersect(draggable, this, this.options.tolerance);
var c = !intersects && this.isover == 1 ? 'isout' : (intersects && this.isover == 0 ? 'isover' : null);
if(!c) return;
var parentInstance;
if (this.options.greedy) {
var parent = this.element.parents('.ui-droppable:eq(0)');
if (parent.length) {
parentInstance = $.data(parent[0], 'droppable');
parentInstance.greedyChild = (c == 'isover' ? 1 : 0);
}
}
// we just moved into a greedy child
if (parentInstance && c == 'isover') {
parentInstance['isover'] = 0;
parentInstance['isout'] = 1;
parentInstance.out.call(parentInstance, e);
}
this[c] = 1; this[c == 'isout' ? 'isover' : 'isout'] = 0;
this[c == "isover" ? "over" : "out"].call(this, e);
// we just moved out of a greedy child
if (parentInstance && c == 'isout') {
parentInstance['isout'] = 0;
parentInstance['isover'] = 1;
parentInstance.over.call(parentInstance, e);
}
});
}
};
/*
* Droppable Extensions
*/
$.ui.plugin.add("droppable", "activeClass", {
activate: function(e, ui) {
$(this).addClass(ui.options.activeClass);
},
deactivate: function(e, ui) {
$(this).removeClass(ui.options.activeClass);
},
drop: function(e, ui) {
$(this).removeClass(ui.options.activeClass);
}
});
$.ui.plugin.add("droppable", "hoverClass", {
over: function(e, ui) {
$(this).addClass(ui.options.hoverClass);
},
out: function(e, ui) {
$(this).removeClass(ui.options.hoverClass);
},
drop: function(e, ui) {
$(this).removeClass(ui.options.hoverClass);
}
});
})(jQuery);
/*
* jQuery UI Droppable
*
* Copyright (c) 2008 Paul Bakaus
* Dual licensed under the MIT (MIT-LICENSE.txt)
* and GPL (GPL-LICENSE.txt) licenses.
*
* http://docs.jquery.com/UI/Droppables
*
* Depends:
* ui.core.js
* ui.draggable.js
*
* Revision: $Id: ui.droppable.js 5568 2008-05-12 15:07:16Z paul.bakaus $
*/
;(function($) {
$.widget("ui.droppable", {
init: function() {
this.element.addClass("ui-droppable");
this.isover = 0; this.isout = 1;
//Prepare the passed options
var o = this.options, accept = o.accept;
o = $.extend(o, {
accept: o.accept && o.accept.constructor == Function ? o.accept : function(d) {
return $(d).is(accept);
}
});
//Store the droppable's proportions
this.proportions = { width: this.element.outerWidth(), height: this.element.outerHeight() };
// Add the reference and positions to the manager
$.ui.ddmanager.droppables.push(this);
},
plugins: {},
ui: function(c) {
return {
instance: this,
draggable: (c.currentItem || c.element),
helper: c.helper,
position: c.position,
absolutePosition: c.positionAbs,
options: this.options,
element: this.element
};
},
destroy: function() {
var drop = $.ui.ddmanager.droppables;
for ( var i = 0; i < drop.length; i++ )
if ( drop[i] == this )
drop.splice(i, 1);
this.element
.removeClass("ui-droppable ui-droppable-disabled")
.removeData("droppable")
.unbind(".droppable");
},
enable: function() {
this.element.removeClass("ui-droppable-disabled");
this.options.disabled = false;
},
disable: function() {
this.element.addClass("ui-droppable-disabled");
this.options.disabled = true;
},
over: function(e) {
var draggable = $.ui.ddmanager.current;
if (!draggable || (draggable.currentItem || draggable.element)[0] == this.element[0]) return; // Bail if draggable and droppable are same element
if (this.options.accept.call(this.element,(draggable.currentItem || draggable.element))) {
$.ui.plugin.call(this, 'over', [e, this.ui(draggable)]);
this.element.triggerHandler("dropover", [e, this.ui(draggable)], this.options.over);
}
},
out: function(e) {
var draggable = $.ui.ddmanager.current;
if (!draggable || (draggable.currentItem || draggable.element)[0] == this.element[0]) return; // Bail if draggable and droppable are same element
if (this.options.accept.call(this.element,(draggable.currentItem || draggable.element))) {
$.ui.plugin.call(this, 'out', [e, this.ui(draggable)]);
this.element.triggerHandler("dropout", [e, this.ui(draggable)], this.options.out);
}
},
drop: function(e,custom) {
var draggable = custom || $.ui.ddmanager.current;
if (!draggable || (draggable.currentItem || draggable.element)[0] == this.element[0]) return false; // Bail if draggable and droppable are same element
var childrenIntersection = false;
this.element.find(".ui-droppable").not(".ui-draggable-dragging").each(function() {
var inst = $.data(this, 'droppable');
if(inst.options.greedy && $.ui.intersect(draggable, $.extend(inst, { offset: inst.element.offset() }), inst.options.tolerance)) {
childrenIntersection = true; return false;
}
});
if(childrenIntersection) return false;
if(this.options.accept.call(this.element,(draggable.currentItem || draggable.element))) {
$.ui.plugin.call(this, 'drop', [e, this.ui(draggable)]);
this.element.triggerHandler("drop", [e, this.ui(draggable)], this.options.drop);
return true;
}
return false;
},
activate: function(e) {
var draggable = $.ui.ddmanager.current;
$.ui.plugin.call(this, 'activate', [e, this.ui(draggable)]);
if(draggable) this.element.triggerHandler("dropactivate", [e, this.ui(draggable)], this.options.activate);
},
deactivate: function(e) {
var draggable = $.ui.ddmanager.current;
$.ui.plugin.call(this, 'deactivate', [e, this.ui(draggable)]);
if(draggable) this.element.triggerHandler("dropdeactivate", [e, this.ui(draggable)], this.options.deactivate);
}
});
$.extend($.ui.droppable, {
defaults: {
disabled: false,
tolerance: 'intersect'
}
});
$.ui.intersect = function(draggable, droppable, toleranceMode) {
if (!droppable.offset) return false;
var x1 = (draggable.positionAbs || draggable.position.absolute).left, x2 = x1 + draggable.helperProportions.width,
y1 = (draggable.positionAbs || draggable.position.absolute).top, y2 = y1 + draggable.helperProportions.height;
var l = droppable.offset.left, r = l + droppable.proportions.width,
t = droppable.offset.top, b = t + droppable.proportions.height;
switch (toleranceMode) {
case 'fit':
return (l < x1 && x2 < r
&& t < y1 && y2 < b);
break;
case 'intersect':
return (l < x1 + (draggable.helperProportions.width / 2) // Right Half
&& x2 - (draggable.helperProportions.width / 2) < r // Left Half
&& t < y1 + (draggable.helperProportions.height / 2) // Bottom Half
&& y2 - (draggable.helperProportions.height / 2) < b ); // Top Half
break;
case 'pointer':
return (l < ((draggable.positionAbs || draggable.position.absolute).left + (draggable.clickOffset || draggable.offset.click).left) && ((draggable.positionAbs || draggable.position.absolute).left + (draggable.clickOffset || draggable.offset.click).left) < r
&& t < ((draggable.positionAbs || draggable.position.absolute).top + (draggable.clickOffset || draggable.offset.click).top) && ((draggable.positionAbs || draggable.position.absolute).top + (draggable.clickOffset || draggable.offset.click).top) < b);
break;
case 'touch':
return (
(y1 >= t && y1 <= b) || // Top edge touching
(y2 >= t && y2 <= b) || // Bottom edge touching
(y1 < t && y2 > b) // Surrounded vertically
) && (
(x1 >= l && x1 <= r) || // Left edge touching
(x2 >= l && x2 <= r) || // Right edge touching
(x1 < l && x2 > r) // Surrounded horizontally
);
break;
default:
return false;
break;
}
};
/*
This manager tracks offsets of draggables and droppables
*/
$.ui.ddmanager = {
current: null,
droppables: [],
prepareOffsets: function(t, e) {
var m = $.ui.ddmanager.droppables;
var type = e ? e.type : null; // workaround for #2317
for (var i = 0; i < m.length; i++) {
if(m[i].options.disabled || (t && !m[i].options.accept.call(m[i].element,(t.currentItem || t.element)))) continue;
m[i].visible = m[i].element.is(":visible"); if(!m[i].visible) continue; //If the element is not visible, continue
m[i].offset = m[i].element.offset();
m[i].proportions = { width: m[i].element.outerWidth(), height: m[i].element.outerHeight() };
if(type == "dragstart" || type == "sortactivate") m[i].activate.call(m[i], e); //Activate the droppable if used directly from draggables
}
},
drop: function(draggable, e) {
var dropped = false;
$.each($.ui.ddmanager.droppables, function() {
if(!this.options) return;
if (!this.options.disabled && this.visible && $.ui.intersect(draggable, this, this.options.tolerance))
dropped = this.drop.call(this, e);
if (!this.options.disabled && this.visible && this.options.accept.call(this.element,(draggable.currentItem || draggable.element))) {
this.isout = 1; this.isover = 0;
this.deactivate.call(this, e);
}
});
return dropped;
},
drag: function(draggable, e) {
//If you have a highly dynamic page, you might try this option. It renders positions every time you move the mouse.
if(draggable.options.refreshPositions) $.ui.ddmanager.prepareOffsets(draggable, e);
//Run through all droppables and check their positions based on specific tolerance options
$.each($.ui.ddmanager.droppables, function() {
if(this.disabled || this.greedyChild || !this.visible) return;
var intersects = $.ui.intersect(draggable, this, this.options.tolerance);
var c = !intersects && this.isover == 1 ? 'isout' : (intersects && this.isover == 0 ? 'isover' : null);
if(!c) return;
var parentInstance;
if (this.options.greedy) {
var parent = this.element.parents('.ui-droppable:eq(0)');
if (parent.length) {
parentInstance = $.data(parent[0], 'droppable');
parentInstance.greedyChild = (c == 'isover' ? 1 : 0);
}
}
// we just moved into a greedy child
if (parentInstance && c == 'isover') {
parentInstance['isover'] = 0;
parentInstance['isout'] = 1;
parentInstance.out.call(parentInstance, e);
}
this[c] = 1; this[c == 'isout' ? 'isover' : 'isout'] = 0;
this[c == "isover" ? "over" : "out"].call(this, e);
// we just moved out of a greedy child
if (parentInstance && c == 'isout') {
parentInstance['isout'] = 0;
parentInstance['isover'] = 1;
parentInstance.over.call(parentInstance, e);
}
});
}
};
/*
* Droppable Extensions
*/
$.ui.plugin.add("droppable", "activeClass", {
activate: function(e, ui) {
$(this).addClass(ui.options.activeClass);
},
deactivate: function(e, ui) {
$(this).removeClass(ui.options.activeClass);
},
drop: function(e, ui) {
$(this).removeClass(ui.options.activeClass);
}
});
$.ui.plugin.add("droppable", "hoverClass", {
over: function(e, ui) {
$(this).addClass(ui.options.hoverClass);
},
out: function(e, ui) {
$(this).removeClass(ui.options.hoverClass);
},
drop: function(e, ui) {
$(this).removeClass(ui.options.hoverClass);
}
});
})(jQuery);

File diff suppressed because it is too large Load Diff

View File

@@ -1,274 +1,274 @@
/*
* jQuery UI Selectable
*
* Copyright (c) 2008 Richard D. Worth (rdworth.org)
* Dual licensed under the MIT (MIT-LICENSE.txt)
* and GPL (GPL-LICENSE.txt) licenses.
*
* http://docs.jquery.com/UI/Selectables
*
* Depends:
* ui.core.js
*
* Revision: $Id: ui.selectable.js 5581 2008-05-13 16:58:03Z scott.gonzalez $
*/
;(function($) {
$.widget("ui.selectable", $.extend($.ui.mouse, {
init: function() {
var self = this;
this.element.addClass("ui-selectable");
this.dragged = false;
// cache selectee children based on filter
var selectees;
this.refresh = function() {
selectees = $(self.options.filter, self.element[0]);
selectees.each(function() {
var $this = $(this);
var pos = $this.offset();
$.data(this, "selectable-item", {
element: this,
$element: $this,
left: pos.left,
top: pos.top,
right: pos.left + $this.width(),
bottom: pos.top + $this.height(),
startselected: false,
selected: $this.hasClass('ui-selected'),
selecting: $this.hasClass('ui-selecting'),
unselecting: $this.hasClass('ui-unselecting')
});
});
};
this.refresh();
this.selectees = selectees.addClass("ui-selectee");
this.mouseInit();
this.helper = $(document.createElement('div')).css({border:'1px dotted black'});
},
toggle: function() {
if(this.options.disabled){
this.enable();
} else {
this.disable();
}
},
destroy: function() {
this.element
.removeClass("ui-selectable ui-selectable-disabled")
.removeData("selectable")
.unbind(".selectable");
this.mouseDestroy();
},
enable: function() {
this.element.removeClass("ui-selectable-disabled");
this.options.disabled = false;
},
disable: function() {
this.element.addClass("ui-selectable-disabled");
this.options.disabled = true;
},
mouseStart: function(e) {
var self = this;
this.opos = [e.pageX, e.pageY];
if (this.options.disabled)
return;
var options = this.options;
this.selectees = $(options.filter, this.element[0]);
// selectable START callback
this.element.triggerHandler("selectablestart", [e, {
"selectable": this.element[0],
"options": options
}], options.start);
$('body').append(this.helper);
// position helper (lasso)
this.helper.css({
"z-index": 100,
"position": "absolute",
"left": e.clientX,
"top": e.clientY,
"width": 0,
"height": 0
});
if (options.autoRefresh) {
this.refresh();
}
this.selectees.filter('.ui-selected').each(function() {
var selectee = $.data(this, "selectable-item");
selectee.startselected = true;
if (!e.ctrlKey) {
selectee.$element.removeClass('ui-selected');
selectee.selected = false;
selectee.$element.addClass('ui-unselecting');
selectee.unselecting = true;
// selectable UNSELECTING callback
self.element.triggerHandler("selectableunselecting", [e, {
selectable: self.element[0],
unselecting: selectee.element,
options: options
}], options.unselecting);
}
});
var isSelectee = false;
$(e.target).parents().andSelf().each(function() {
if($.data(this, "selectable-item")) isSelectee = true;
});
return this.options.keyboard ? !isSelectee : true;
},
mouseDrag: function(e) {
var self = this;
this.dragged = true;
if (this.options.disabled)
return;
var options = this.options;
var x1 = this.opos[0], y1 = this.opos[1], x2 = e.pageX, y2 = e.pageY;
if (x1 > x2) { var tmp = x2; x2 = x1; x1 = tmp; }
if (y1 > y2) { var tmp = y2; y2 = y1; y1 = tmp; }
this.helper.css({left: x1, top: y1, width: x2-x1, height: y2-y1});
this.selectees.each(function() {
var selectee = $.data(this, "selectable-item");
//prevent helper from being selected if appendTo: selectable
if (!selectee || selectee.element == self.element[0])
return;
var hit = false;
if (options.tolerance == 'touch') {
hit = ( !(selectee.left > x2 || selectee.right < x1 || selectee.top > y2 || selectee.bottom < y1) );
} else if (options.tolerance == 'fit') {
hit = (selectee.left > x1 && selectee.right < x2 && selectee.top > y1 && selectee.bottom < y2);
}
if (hit) {
// SELECT
if (selectee.selected) {
selectee.$element.removeClass('ui-selected');
selectee.selected = false;
}
if (selectee.unselecting) {
selectee.$element.removeClass('ui-unselecting');
selectee.unselecting = false;
}
if (!selectee.selecting) {
selectee.$element.addClass('ui-selecting');
selectee.selecting = true;
// selectable SELECTING callback
self.element.triggerHandler("selectableselecting", [e, {
selectable: self.element[0],
selecting: selectee.element,
options: options
}], options.selecting);
}
} else {
// UNSELECT
if (selectee.selecting) {
if (e.ctrlKey && selectee.startselected) {
selectee.$element.removeClass('ui-selecting');
selectee.selecting = false;
selectee.$element.addClass('ui-selected');
selectee.selected = true;
} else {
selectee.$element.removeClass('ui-selecting');
selectee.selecting = false;
if (selectee.startselected) {
selectee.$element.addClass('ui-unselecting');
selectee.unselecting = true;
}
// selectable UNSELECTING callback
self.element.triggerHandler("selectableunselecting", [e, {
selectable: self.element[0],
unselecting: selectee.element,
options: options
}], options.unselecting);
}
}
if (selectee.selected) {
if (!e.ctrlKey && !selectee.startselected) {
selectee.$element.removeClass('ui-selected');
selectee.selected = false;
selectee.$element.addClass('ui-unselecting');
selectee.unselecting = true;
// selectable UNSELECTING callback
self.element.triggerHandler("selectableunselecting", [e, {
selectable: self.element[0],
unselecting: selectee.element,
options: options
}], options.unselecting);
}
}
}
});
return false;
},
mouseStop: function(e) {
var self = this;
this.dragged = false;
var options = this.options;
$('.ui-unselecting', this.element[0]).each(function() {
var selectee = $.data(this, "selectable-item");
selectee.$element.removeClass('ui-unselecting');
selectee.unselecting = false;
selectee.startselected = false;
self.element.triggerHandler("selectableunselected", [e, {
selectable: self.element[0],
unselected: selectee.element,
options: options
}], options.unselected);
});
$('.ui-selecting', this.element[0]).each(function() {
var selectee = $.data(this, "selectable-item");
selectee.$element.removeClass('ui-selecting').addClass('ui-selected');
selectee.selecting = false;
selectee.selected = true;
selectee.startselected = true;
self.element.triggerHandler("selectableselected", [e, {
selectable: self.element[0],
selected: selectee.element,
options: options
}], options.selected);
});
this.element.triggerHandler("selectablestop", [e, {
selectable: self.element[0],
options: this.options
}], this.options.stop);
this.helper.remove();
return false;
}
}));
$.extend($.ui.selectable, {
defaults: {
distance: 0,
delay: 0,
cancel: ":input,button",
appendTo: 'body',
autoRefresh: true,
filter: '*',
tolerance: 'touch'
}
});
})(jQuery);
/*
* jQuery UI Selectable
*
* Copyright (c) 2008 Richard D. Worth (rdworth.org)
* Dual licensed under the MIT (MIT-LICENSE.txt)
* and GPL (GPL-LICENSE.txt) licenses.
*
* http://docs.jquery.com/UI/Selectables
*
* Depends:
* ui.core.js
*
* Revision: $Id: ui.selectable.js 5581 2008-05-13 16:58:03Z scott.gonzalez $
*/
;(function($) {
$.widget("ui.selectable", $.extend($.ui.mouse, {
init: function() {
var self = this;
this.element.addClass("ui-selectable");
this.dragged = false;
// cache selectee children based on filter
var selectees;
this.refresh = function() {
selectees = $(self.options.filter, self.element[0]);
selectees.each(function() {
var $this = $(this);
var pos = $this.offset();
$.data(this, "selectable-item", {
element: this,
$element: $this,
left: pos.left,
top: pos.top,
right: pos.left + $this.width(),
bottom: pos.top + $this.height(),
startselected: false,
selected: $this.hasClass('ui-selected'),
selecting: $this.hasClass('ui-selecting'),
unselecting: $this.hasClass('ui-unselecting')
});
});
};
this.refresh();
this.selectees = selectees.addClass("ui-selectee");
this.mouseInit();
this.helper = $(document.createElement('div')).css({border:'1px dotted black'});
},
toggle: function() {
if(this.options.disabled){
this.enable();
} else {
this.disable();
}
},
destroy: function() {
this.element
.removeClass("ui-selectable ui-selectable-disabled")
.removeData("selectable")
.unbind(".selectable");
this.mouseDestroy();
},
enable: function() {
this.element.removeClass("ui-selectable-disabled");
this.options.disabled = false;
},
disable: function() {
this.element.addClass("ui-selectable-disabled");
this.options.disabled = true;
},
mouseStart: function(e) {
var self = this;
this.opos = [e.pageX, e.pageY];
if (this.options.disabled)
return;
var options = this.options;
this.selectees = $(options.filter, this.element[0]);
// selectable START callback
this.element.triggerHandler("selectablestart", [e, {
"selectable": this.element[0],
"options": options
}], options.start);
$('body').append(this.helper);
// position helper (lasso)
this.helper.css({
"z-index": 100,
"position": "absolute",
"left": e.clientX,
"top": e.clientY,
"width": 0,
"height": 0
});
if (options.autoRefresh) {
this.refresh();
}
this.selectees.filter('.ui-selected').each(function() {
var selectee = $.data(this, "selectable-item");
selectee.startselected = true;
if (!e.ctrlKey) {
selectee.$element.removeClass('ui-selected');
selectee.selected = false;
selectee.$element.addClass('ui-unselecting');
selectee.unselecting = true;
// selectable UNSELECTING callback
self.element.triggerHandler("selectableunselecting", [e, {
selectable: self.element[0],
unselecting: selectee.element,
options: options
}], options.unselecting);
}
});
var isSelectee = false;
$(e.target).parents().andSelf().each(function() {
if($.data(this, "selectable-item")) isSelectee = true;
});
return this.options.keyboard ? !isSelectee : true;
},
mouseDrag: function(e) {
var self = this;
this.dragged = true;
if (this.options.disabled)
return;
var options = this.options;
var x1 = this.opos[0], y1 = this.opos[1], x2 = e.pageX, y2 = e.pageY;
if (x1 > x2) { var tmp = x2; x2 = x1; x1 = tmp; }
if (y1 > y2) { var tmp = y2; y2 = y1; y1 = tmp; }
this.helper.css({left: x1, top: y1, width: x2-x1, height: y2-y1});
this.selectees.each(function() {
var selectee = $.data(this, "selectable-item");
//prevent helper from being selected if appendTo: selectable
if (!selectee || selectee.element == self.element[0])
return;
var hit = false;
if (options.tolerance == 'touch') {
hit = ( !(selectee.left > x2 || selectee.right < x1 || selectee.top > y2 || selectee.bottom < y1) );
} else if (options.tolerance == 'fit') {
hit = (selectee.left > x1 && selectee.right < x2 && selectee.top > y1 && selectee.bottom < y2);
}
if (hit) {
// SELECT
if (selectee.selected) {
selectee.$element.removeClass('ui-selected');
selectee.selected = false;
}
if (selectee.unselecting) {
selectee.$element.removeClass('ui-unselecting');
selectee.unselecting = false;
}
if (!selectee.selecting) {
selectee.$element.addClass('ui-selecting');
selectee.selecting = true;
// selectable SELECTING callback
self.element.triggerHandler("selectableselecting", [e, {
selectable: self.element[0],
selecting: selectee.element,
options: options
}], options.selecting);
}
} else {
// UNSELECT
if (selectee.selecting) {
if (e.ctrlKey && selectee.startselected) {
selectee.$element.removeClass('ui-selecting');
selectee.selecting = false;
selectee.$element.addClass('ui-selected');
selectee.selected = true;
} else {
selectee.$element.removeClass('ui-selecting');
selectee.selecting = false;
if (selectee.startselected) {
selectee.$element.addClass('ui-unselecting');
selectee.unselecting = true;
}
// selectable UNSELECTING callback
self.element.triggerHandler("selectableunselecting", [e, {
selectable: self.element[0],
unselecting: selectee.element,
options: options
}], options.unselecting);
}
}
if (selectee.selected) {
if (!e.ctrlKey && !selectee.startselected) {
selectee.$element.removeClass('ui-selected');
selectee.selected = false;
selectee.$element.addClass('ui-unselecting');
selectee.unselecting = true;
// selectable UNSELECTING callback
self.element.triggerHandler("selectableunselecting", [e, {
selectable: self.element[0],
unselecting: selectee.element,
options: options
}], options.unselecting);
}
}
}
});
return false;
},
mouseStop: function(e) {
var self = this;
this.dragged = false;
var options = this.options;
$('.ui-unselecting', this.element[0]).each(function() {
var selectee = $.data(this, "selectable-item");
selectee.$element.removeClass('ui-unselecting');
selectee.unselecting = false;
selectee.startselected = false;
self.element.triggerHandler("selectableunselected", [e, {
selectable: self.element[0],
unselected: selectee.element,
options: options
}], options.unselected);
});
$('.ui-selecting', this.element[0]).each(function() {
var selectee = $.data(this, "selectable-item");
selectee.$element.removeClass('ui-selecting').addClass('ui-selected');
selectee.selecting = false;
selectee.selected = true;
selectee.startselected = true;
self.element.triggerHandler("selectableselected", [e, {
selectable: self.element[0],
selected: selectee.element,
options: options
}], options.selected);
});
this.element.triggerHandler("selectablestop", [e, {
selectable: self.element[0],
options: this.options
}], this.options.stop);
this.helper.remove();
return false;
}
}));
$.extend($.ui.selectable, {
defaults: {
distance: 0,
delay: 0,
cancel: ":input,button",
appendTo: 'body',
autoRefresh: true,
filter: '*',
tolerance: 'touch'
}
});
})(jQuery);

View File

@@ -1,430 +1,430 @@
/*
* jQuery UI Slider
*
* Copyright (c) 2008 Paul Bakaus
* Dual licensed under the MIT (MIT-LICENSE.txt)
* and GPL (GPL-LICENSE.txt) licenses.
*
* http://docs.jquery.com/UI/Slider
*
* Depends:
* ui.core.js
*
* Revision: $Id: ui.slider.js 5539 2008-05-09 16:48:33Z paul.bakaus $
*/
;(function($) {
$.fn.unwrap = $.fn.unwrap || function(expr) {
return this.each(function(){
$(this).parents(expr).eq(0).after(this).remove();
});
};
$.widget("ui.slider", {
plugins: {},
ui: function(e) {
return {
instance: this,
options: this.options,
handle: this.currentHandle,
value: this.options.axis != "both" || !this.options.axis ? Math.round(this.value(null,this.options.axis == "vertical" ? "y" : "x")) : {
x: Math.round(this.value(null,"x")),
y: Math.round(this.value(null,"y"))
},
range: this.getRange()
};
},
propagate: function(n,e) {
$.ui.plugin.call(this, n, [e, this.ui()]);
this.element.triggerHandler(n == "slide" ? n : "slide"+n, [e, this.ui()], this.options[n]);
},
destroy: function() {
this.element
.removeClass("ui-slider ui-slider-disabled")
.removeData("slider")
.unbind(".slider");
this.handle
.unwrap("a")
.mouse("destroy");
this.generated && this.generated.remove();
},
enable: function() {
this.element.removeClass("ui-slider-disabled");
this.disabled = false;
},
disable: function() {
this.element.addClass("ui-slider-disabled");
this.disabled = true;
},
setData: function(key, value) {
this.options[key] = value;
if (/min|max|steps/.test(key)) {
this.initBoundaries();
}
},
init: function() {
var self = this;
this.element.addClass("ui-slider");
this.initBoundaries();
// Initialize mouse and key events for interaction
this.handle = $(this.options.handle, this.element);
if (!this.handle.length) {
self.handle = self.generated = $(self.options.handles || [0]).map(function() {
var handle = $("<div/>").addClass("ui-slider-handle").appendTo(self.element);
if (this.id)
handle.attr("id", this.id);
return handle[0];
});
}
var handleclass = function(el) {
this.element = $(el);
this.element.data("mouse", this);
this.options = self.options;
this.element.bind("mousedown", function() {
if(self.currentHandle) this.blur(self.currentHandle);
self.focus(this,1);
});
this.mouseInit();
};
$.extend(handleclass.prototype, $.ui.mouse, {
mouseStart: function(e) { return self.start.call(self, e, this.element[0]); },
mouseStop: function(e) { return self.stop.call(self, e, this.element[0]); },
mouseDrag: function(e) { return self.drag.call(self, e, this.element[0]); },
trigger: function(e) { this.mouseDown(e); }
});
$(this.handle)
.each(function() {
new handleclass(this);
})
.wrap('<a href="javascript:void(0)" style="cursor:default;"></a>')
.parent()
.bind('focus', function(e) { self.focus(this.firstChild); })
.bind('blur', function(e) { self.blur(this.firstChild); })
.bind('keydown', function(e) { if(!self.options.noKeyboard) self.keydown(e.keyCode, this.firstChild); })
;
// Bind the click to the slider itself
this.element.bind('mousedown.slider', function(e) {
self.click.apply(self, [e]);
self.currentHandle.data("mouse").trigger(e);
self.firstValue = self.firstValue + 1; //This is for always triggering the change event
});
// Move the first handle to the startValue
$.each(this.options.handles || [], function(index, handle) {
self.moveTo(handle.start, index, true);
});
if (!isNaN(this.options.startValue))
this.moveTo(this.options.startValue, 0, true);
this.previousHandle = $(this.handle[0]); //set the previous handle to the first to allow clicking before selecting the handle
if(this.handle.length == 2 && this.options.range) this.createRange();
},
initBoundaries: function() {
var element = this.element[0], o = this.options;
this.actualSize = { width: this.element.outerWidth() , height: this.element.outerHeight() };
$.extend(o, {
axis: o.axis || (element.offsetWidth < element.offsetHeight ? 'vertical' : 'horizontal'),
max: !isNaN(parseInt(o.max,10)) ? { x: parseInt(o.max, 10), y: parseInt(o.max, 10) } : ({ x: o.max && o.max.x || 100, y: o.max && o.max.y || 100 }),
min: !isNaN(parseInt(o.min,10)) ? { x: parseInt(o.min, 10), y: parseInt(o.min, 10) } : ({ x: o.min && o.min.x || 0, y: o.min && o.min.y || 0 })
});
//Prepare the real maxValue
o.realMax = {
x: o.max.x - o.min.x,
y: o.max.y - o.min.y
};
//Calculate stepping based on steps
o.stepping = {
x: o.stepping && o.stepping.x || parseInt(o.stepping, 10) || (o.steps ? o.realMax.x/(o.steps.x || parseInt(o.steps, 10) || o.realMax.x) : 0),
y: o.stepping && o.stepping.y || parseInt(o.stepping, 10) || (o.steps ? o.realMax.y/(o.steps.y || parseInt(o.steps, 10) || o.realMax.y) : 0)
};
},
keydown: function(keyCode, handle) {
if(/(37|38|39|40)/.test(keyCode)) {
this.moveTo({
x: /(37|39)/.test(keyCode) ? (keyCode == 37 ? '-' : '+') + '=' + this.oneStep("x") : 0,
y: /(38|40)/.test(keyCode) ? (keyCode == 38 ? '-' : '+') + '=' + this.oneStep("y") : 0
}, handle);
}
},
focus: function(handle,hard) {
this.currentHandle = $(handle).addClass('ui-slider-handle-active');
if (hard)
this.currentHandle.parent()[0].focus();
},
blur: function(handle) {
$(handle).removeClass('ui-slider-handle-active');
if(this.currentHandle && this.currentHandle[0] == handle) { this.previousHandle = this.currentHandle; this.currentHandle = null; };
},
click: function(e) {
// This method is only used if:
// - The user didn't click a handle
// - The Slider is not disabled
// - There is a current, or previous selected handle (otherwise we wouldn't know which one to move)
var pointer = [e.pageX,e.pageY];
var clickedHandle = false;
this.handle.each(function() {
if(this == e.target)
clickedHandle = true;
});
if (clickedHandle || this.disabled || !(this.currentHandle || this.previousHandle))
return;
// If a previous handle was focussed, focus it again
if (!this.currentHandle && this.previousHandle)
this.focus(this.previousHandle, true);
// propagate only for distance > 0, otherwise propagation is done my drag
this.offset = this.element.offset();
this.moveTo({
y: this.convertValue(e.pageY - this.offset.top - this.currentHandle[0].offsetHeight/2, "y"),
x: this.convertValue(e.pageX - this.offset.left - this.currentHandle[0].offsetWidth/2, "x")
}, null, !this.options.distance);
},
createRange: function() {
this.rangeElement = $('<div></div>')
.addClass('ui-slider-range')
.css({ position: 'absolute' })
.appendTo(this.element);
this.updateRange();
},
updateRange: function() {
var prop = this.options.axis == "vertical" ? "top" : "left";
var size = this.options.axis == "vertical" ? "height" : "width";
this.rangeElement.css(prop, parseInt($(this.handle[0]).css(prop),10) + this.handleSize(0, this.options.axis == "vertical" ? "y" : "x")/2);
this.rangeElement.css(size, parseInt($(this.handle[1]).css(prop),10) - parseInt($(this.handle[0]).css(prop),10));
},
getRange: function() {
return this.rangeElement ? this.convertValue(parseInt(this.rangeElement.css(this.options.axis == "vertical" ? "height" : "width"),10), this.options.axis == "vertical" ? "y" : "x") : null;
},
handleIndex: function() {
return this.handle.index(this.currentHandle[0]);
},
value: function(handle, axis) {
if(this.handle.length == 1) this.currentHandle = this.handle;
if(!axis) axis = this.options.axis == "vertical" ? "y" : "x";
var curHandle = $(handle != undefined && handle !== null ? this.handle[handle] || handle : this.currentHandle);
if(curHandle.data("mouse").sliderValue) {
return parseInt(curHandle.data("mouse").sliderValue[axis],10);
} else {
return parseInt(((parseInt(curHandle.css(axis == "x" ? "left" : "top"),10) / (this.actualSize[axis == "x" ? "width" : "height"] - this.handleSize(handle,axis))) * this.options.realMax[axis]) + this.options.min[axis],10);
}
},
convertValue: function(value,axis) {
return this.options.min[axis] + (value / (this.actualSize[axis == "x" ? "width" : "height"] - this.handleSize(null,axis))) * this.options.realMax[axis];
},
translateValue: function(value,axis) {
return ((value - this.options.min[axis]) / this.options.realMax[axis]) * (this.actualSize[axis == "x" ? "width" : "height"] - this.handleSize(null,axis));
},
translateRange: function(value,axis) {
if (this.rangeElement) {
if (this.currentHandle[0] == this.handle[0] && value >= this.translateValue(this.value(1),axis))
value = this.translateValue(this.value(1,axis) - this.oneStep(axis), axis);
if (this.currentHandle[0] == this.handle[1] && value <= this.translateValue(this.value(0),axis))
value = this.translateValue(this.value(0,axis) + this.oneStep(axis), axis);
}
if (this.options.handles) {
var handle = this.options.handles[this.handleIndex()];
if (value < this.translateValue(handle.min,axis)) {
value = this.translateValue(handle.min,axis);
} else if (value > this.translateValue(handle.max,axis)) {
value = this.translateValue(handle.max,axis);
}
}
return value;
},
translateLimits: function(value,axis) {
if (value >= this.actualSize[axis == "x" ? "width" : "height"] - this.handleSize(null,axis))
value = this.actualSize[axis == "x" ? "width" : "height"] - this.handleSize(null,axis);
if (value <= 0)
value = 0;
return value;
},
handleSize: function(handle,axis) {
return $(handle != undefined && handle !== null ? this.handle[handle] : this.currentHandle)[0]["offset"+(axis == "x" ? "Width" : "Height")];
},
oneStep: function(axis) {
return this.options.stepping[axis] || 1;
},
start: function(e, handle) {
var o = this.options;
if(this.disabled) return false;
// Prepare the outer size
this.actualSize = { width: this.element.outerWidth() , height: this.element.outerHeight() };
// This is a especially ugly fix for strange blur events happening on mousemove events
if (!this.currentHandle)
this.focus(this.previousHandle, true);
this.offset = this.element.offset();
this.handleOffset = this.currentHandle.offset();
this.clickOffset = { top: e.pageY - this.handleOffset.top, left: e.pageX - this.handleOffset.left };
this.firstValue = this.value();
this.propagate('start', e);
return true;
},
stop: function(e) {
this.propagate('stop', e);
if (this.firstValue != this.value())
this.propagate('change', e);
// This is a especially ugly fix for strange blur events happening on mousemove events
this.focus(this.currentHandle, true);
return false;
},
drag: function(e, handle) {
var o = this.options;
var position = { top: e.pageY - this.offset.top - this.clickOffset.top, left: e.pageX - this.offset.left - this.clickOffset.left};
if(!this.currentHandle) this.focus(this.previousHandle, true); //This is a especially ugly fix for strange blur events happening on mousemove events
position.left = this.translateLimits(position.left, "x");
position.top = this.translateLimits(position.top, "y");
if (o.stepping.x) {
var value = this.convertValue(position.left, "x");
value = Math.round(value / o.stepping.x) * o.stepping.x;
position.left = this.translateValue(value, "x");
}
if (o.stepping.y) {
var value = this.convertValue(position.top, "y");
value = Math.round(value / o.stepping.y) * o.stepping.y;
position.top = this.translateValue(value, "y");
}
position.left = this.translateRange(position.left, "x");
position.top = this.translateRange(position.top, "y");
if(o.axis != "vertical") this.currentHandle.css({ left: position.left });
if(o.axis != "horizontal") this.currentHandle.css({ top: position.top });
//Store the slider's value
this.currentHandle.data("mouse").sliderValue = {
x: Math.round(this.convertValue(position.left, "x")) || 0,
y: Math.round(this.convertValue(position.top, "y")) || 0
};
if (this.rangeElement)
this.updateRange();
this.propagate('slide', e);
return false;
},
moveTo: function(value, handle, noPropagation) {
var o = this.options;
// Prepare the outer size
this.actualSize = { width: this.element.outerWidth() , height: this.element.outerHeight() };
//If no handle has been passed, no current handle is available and we have multiple handles, return false
if (handle == undefined && !this.currentHandle && this.handle.length != 1)
return false;
//If only one handle is available, use it
if (handle == undefined && !this.currentHandle)
handle = 0;
if (handle != undefined)
this.currentHandle = this.previousHandle = $(this.handle[handle] || handle);
if(value.x !== undefined && value.y !== undefined) {
var x = value.x, y = value.y;
} else {
var x = value, y = value;
}
if(x !== undefined && x.constructor != Number) {
var me = /^\-\=/.test(x), pe = /^\+\=/.test(x);
if(me || pe) {
x = this.value(null, "x") + parseInt(x.replace(me ? '=' : '+=', ''), 10);
} else {
x = isNaN(parseInt(x, 10)) ? undefined : parseInt(x, 10);
}
}
if(y !== undefined && y.constructor != Number) {
var me = /^\-\=/.test(y), pe = /^\+\=/.test(y);
if(me || pe) {
y = this.value(null, "y") + parseInt(y.replace(me ? '=' : '+=', ''), 10);
} else {
y = isNaN(parseInt(y, 10)) ? undefined : parseInt(y, 10);
}
}
if(o.axis != "vertical" && x !== undefined) {
if(o.stepping.x) x = Math.round(x / o.stepping.x) * o.stepping.x;
x = this.translateValue(x, "x");
x = this.translateLimits(x, "x");
x = this.translateRange(x, "x");
this.currentHandle.css({ left: x });
}
if(o.axis != "horizontal" && y !== undefined) {
if(o.stepping.y) y = Math.round(y / o.stepping.y) * o.stepping.y;
y = this.translateValue(y, "y");
y = this.translateLimits(y, "y");
y = this.translateRange(y, "y");
this.currentHandle.css({ top: y });
}
if (this.rangeElement)
this.updateRange();
//Store the slider's value
this.currentHandle.data("mouse").sliderValue = {
x: Math.round(this.convertValue(x, "x")) || 0,
y: Math.round(this.convertValue(y, "y")) || 0
};
if (!noPropagation) {
this.propagate('start', null);
this.propagate('stop', null);
this.propagate('change', null);
this.propagate("slide", null);
}
}
});
$.ui.slider.getter = "value";
$.ui.slider.defaults = {
handle: ".ui-slider-handle",
distance: 1
};
})(jQuery);
/*
* jQuery UI Slider
*
* Copyright (c) 2008 Paul Bakaus
* Dual licensed under the MIT (MIT-LICENSE.txt)
* and GPL (GPL-LICENSE.txt) licenses.
*
* http://docs.jquery.com/UI/Slider
*
* Depends:
* ui.core.js
*
* Revision: $Id: ui.slider.js 5539 2008-05-09 16:48:33Z paul.bakaus $
*/
;(function($) {
$.fn.unwrap = $.fn.unwrap || function(expr) {
return this.each(function(){
$(this).parents(expr).eq(0).after(this).remove();
});
};
$.widget("ui.slider", {
plugins: {},
ui: function(e) {
return {
instance: this,
options: this.options,
handle: this.currentHandle,
value: this.options.axis != "both" || !this.options.axis ? Math.round(this.value(null,this.options.axis == "vertical" ? "y" : "x")) : {
x: Math.round(this.value(null,"x")),
y: Math.round(this.value(null,"y"))
},
range: this.getRange()
};
},
propagate: function(n,e) {
$.ui.plugin.call(this, n, [e, this.ui()]);
this.element.triggerHandler(n == "slide" ? n : "slide"+n, [e, this.ui()], this.options[n]);
},
destroy: function() {
this.element
.removeClass("ui-slider ui-slider-disabled")
.removeData("slider")
.unbind(".slider");
this.handle
.unwrap("a")
.mouse("destroy");
this.generated && this.generated.remove();
},
enable: function() {
this.element.removeClass("ui-slider-disabled");
this.disabled = false;
},
disable: function() {
this.element.addClass("ui-slider-disabled");
this.disabled = true;
},
setData: function(key, value) {
this.options[key] = value;
if (/min|max|steps/.test(key)) {
this.initBoundaries();
}
},
init: function() {
var self = this;
this.element.addClass("ui-slider");
this.initBoundaries();
// Initialize mouse and key events for interaction
this.handle = $(this.options.handle, this.element);
if (!this.handle.length) {
self.handle = self.generated = $(self.options.handles || [0]).map(function() {
var handle = $("<div/>").addClass("ui-slider-handle").appendTo(self.element);
if (this.id)
handle.attr("id", this.id);
return handle[0];
});
}
var handleclass = function(el) {
this.element = $(el);
this.element.data("mouse", this);
this.options = self.options;
this.element.bind("mousedown", function() {
if(self.currentHandle) this.blur(self.currentHandle);
self.focus(this,1);
});
this.mouseInit();
};
$.extend(handleclass.prototype, $.ui.mouse, {
mouseStart: function(e) { return self.start.call(self, e, this.element[0]); },
mouseStop: function(e) { return self.stop.call(self, e, this.element[0]); },
mouseDrag: function(e) { return self.drag.call(self, e, this.element[0]); },
trigger: function(e) { this.mouseDown(e); }
});
$(this.handle)
.each(function() {
new handleclass(this);
})
.wrap('<a href="javascript:void(0)" style="cursor:default;"></a>')
.parent()
.bind('focus', function(e) { self.focus(this.firstChild); })
.bind('blur', function(e) { self.blur(this.firstChild); })
.bind('keydown', function(e) { if(!self.options.noKeyboard) self.keydown(e.keyCode, this.firstChild); })
;
// Bind the click to the slider itself
this.element.bind('mousedown.slider', function(e) {
self.click.apply(self, [e]);
self.currentHandle.data("mouse").trigger(e);
self.firstValue = self.firstValue + 1; //This is for always triggering the change event
});
// Move the first handle to the startValue
$.each(this.options.handles || [], function(index, handle) {
self.moveTo(handle.start, index, true);
});
if (!isNaN(this.options.startValue))
this.moveTo(this.options.startValue, 0, true);
this.previousHandle = $(this.handle[0]); //set the previous handle to the first to allow clicking before selecting the handle
if(this.handle.length == 2 && this.options.range) this.createRange();
},
initBoundaries: function() {
var element = this.element[0], o = this.options;
this.actualSize = { width: this.element.outerWidth() , height: this.element.outerHeight() };
$.extend(o, {
axis: o.axis || (element.offsetWidth < element.offsetHeight ? 'vertical' : 'horizontal'),
max: !isNaN(parseInt(o.max,10)) ? { x: parseInt(o.max, 10), y: parseInt(o.max, 10) } : ({ x: o.max && o.max.x || 100, y: o.max && o.max.y || 100 }),
min: !isNaN(parseInt(o.min,10)) ? { x: parseInt(o.min, 10), y: parseInt(o.min, 10) } : ({ x: o.min && o.min.x || 0, y: o.min && o.min.y || 0 })
});
//Prepare the real maxValue
o.realMax = {
x: o.max.x - o.min.x,
y: o.max.y - o.min.y
};
//Calculate stepping based on steps
o.stepping = {
x: o.stepping && o.stepping.x || parseInt(o.stepping, 10) || (o.steps ? o.realMax.x/(o.steps.x || parseInt(o.steps, 10) || o.realMax.x) : 0),
y: o.stepping && o.stepping.y || parseInt(o.stepping, 10) || (o.steps ? o.realMax.y/(o.steps.y || parseInt(o.steps, 10) || o.realMax.y) : 0)
};
},
keydown: function(keyCode, handle) {
if(/(37|38|39|40)/.test(keyCode)) {
this.moveTo({
x: /(37|39)/.test(keyCode) ? (keyCode == 37 ? '-' : '+') + '=' + this.oneStep("x") : 0,
y: /(38|40)/.test(keyCode) ? (keyCode == 38 ? '-' : '+') + '=' + this.oneStep("y") : 0
}, handle);
}
},
focus: function(handle,hard) {
this.currentHandle = $(handle).addClass('ui-slider-handle-active');
if (hard)
this.currentHandle.parent()[0].focus();
},
blur: function(handle) {
$(handle).removeClass('ui-slider-handle-active');
if(this.currentHandle && this.currentHandle[0] == handle) { this.previousHandle = this.currentHandle; this.currentHandle = null; };
},
click: function(e) {
// This method is only used if:
// - The user didn't click a handle
// - The Slider is not disabled
// - There is a current, or previous selected handle (otherwise we wouldn't know which one to move)
var pointer = [e.pageX,e.pageY];
var clickedHandle = false;
this.handle.each(function() {
if(this == e.target)
clickedHandle = true;
});
if (clickedHandle || this.disabled || !(this.currentHandle || this.previousHandle))
return;
// If a previous handle was focussed, focus it again
if (!this.currentHandle && this.previousHandle)
this.focus(this.previousHandle, true);
// propagate only for distance > 0, otherwise propagation is done my drag
this.offset = this.element.offset();
this.moveTo({
y: this.convertValue(e.pageY - this.offset.top - this.currentHandle[0].offsetHeight/2, "y"),
x: this.convertValue(e.pageX - this.offset.left - this.currentHandle[0].offsetWidth/2, "x")
}, null, !this.options.distance);
},
createRange: function() {
this.rangeElement = $('<div></div>')
.addClass('ui-slider-range')
.css({ position: 'absolute' })
.appendTo(this.element);
this.updateRange();
},
updateRange: function() {
var prop = this.options.axis == "vertical" ? "top" : "left";
var size = this.options.axis == "vertical" ? "height" : "width";
this.rangeElement.css(prop, parseInt($(this.handle[0]).css(prop),10) + this.handleSize(0, this.options.axis == "vertical" ? "y" : "x")/2);
this.rangeElement.css(size, parseInt($(this.handle[1]).css(prop),10) - parseInt($(this.handle[0]).css(prop),10));
},
getRange: function() {
return this.rangeElement ? this.convertValue(parseInt(this.rangeElement.css(this.options.axis == "vertical" ? "height" : "width"),10), this.options.axis == "vertical" ? "y" : "x") : null;
},
handleIndex: function() {
return this.handle.index(this.currentHandle[0]);
},
value: function(handle, axis) {
if(this.handle.length == 1) this.currentHandle = this.handle;
if(!axis) axis = this.options.axis == "vertical" ? "y" : "x";
var curHandle = $(handle != undefined && handle !== null ? this.handle[handle] || handle : this.currentHandle);
if(curHandle.data("mouse").sliderValue) {
return parseInt(curHandle.data("mouse").sliderValue[axis],10);
} else {
return parseInt(((parseInt(curHandle.css(axis == "x" ? "left" : "top"),10) / (this.actualSize[axis == "x" ? "width" : "height"] - this.handleSize(handle,axis))) * this.options.realMax[axis]) + this.options.min[axis],10);
}
},
convertValue: function(value,axis) {
return this.options.min[axis] + (value / (this.actualSize[axis == "x" ? "width" : "height"] - this.handleSize(null,axis))) * this.options.realMax[axis];
},
translateValue: function(value,axis) {
return ((value - this.options.min[axis]) / this.options.realMax[axis]) * (this.actualSize[axis == "x" ? "width" : "height"] - this.handleSize(null,axis));
},
translateRange: function(value,axis) {
if (this.rangeElement) {
if (this.currentHandle[0] == this.handle[0] && value >= this.translateValue(this.value(1),axis))
value = this.translateValue(this.value(1,axis) - this.oneStep(axis), axis);
if (this.currentHandle[0] == this.handle[1] && value <= this.translateValue(this.value(0),axis))
value = this.translateValue(this.value(0,axis) + this.oneStep(axis), axis);
}
if (this.options.handles) {
var handle = this.options.handles[this.handleIndex()];
if (value < this.translateValue(handle.min,axis)) {
value = this.translateValue(handle.min,axis);
} else if (value > this.translateValue(handle.max,axis)) {
value = this.translateValue(handle.max,axis);
}
}
return value;
},
translateLimits: function(value,axis) {
if (value >= this.actualSize[axis == "x" ? "width" : "height"] - this.handleSize(null,axis))
value = this.actualSize[axis == "x" ? "width" : "height"] - this.handleSize(null,axis);
if (value <= 0)
value = 0;
return value;
},
handleSize: function(handle,axis) {
return $(handle != undefined && handle !== null ? this.handle[handle] : this.currentHandle)[0]["offset"+(axis == "x" ? "Width" : "Height")];
},
oneStep: function(axis) {
return this.options.stepping[axis] || 1;
},
start: function(e, handle) {
var o = this.options;
if(this.disabled) return false;
// Prepare the outer size
this.actualSize = { width: this.element.outerWidth() , height: this.element.outerHeight() };
// This is a especially ugly fix for strange blur events happening on mousemove events
if (!this.currentHandle)
this.focus(this.previousHandle, true);
this.offset = this.element.offset();
this.handleOffset = this.currentHandle.offset();
this.clickOffset = { top: e.pageY - this.handleOffset.top, left: e.pageX - this.handleOffset.left };
this.firstValue = this.value();
this.propagate('start', e);
return true;
},
stop: function(e) {
this.propagate('stop', e);
if (this.firstValue != this.value())
this.propagate('change', e);
// This is a especially ugly fix for strange blur events happening on mousemove events
this.focus(this.currentHandle, true);
return false;
},
drag: function(e, handle) {
var o = this.options;
var position = { top: e.pageY - this.offset.top - this.clickOffset.top, left: e.pageX - this.offset.left - this.clickOffset.left};
if(!this.currentHandle) this.focus(this.previousHandle, true); //This is a especially ugly fix for strange blur events happening on mousemove events
position.left = this.translateLimits(position.left, "x");
position.top = this.translateLimits(position.top, "y");
if (o.stepping.x) {
var value = this.convertValue(position.left, "x");
value = Math.round(value / o.stepping.x) * o.stepping.x;
position.left = this.translateValue(value, "x");
}
if (o.stepping.y) {
var value = this.convertValue(position.top, "y");
value = Math.round(value / o.stepping.y) * o.stepping.y;
position.top = this.translateValue(value, "y");
}
position.left = this.translateRange(position.left, "x");
position.top = this.translateRange(position.top, "y");
if(o.axis != "vertical") this.currentHandle.css({ left: position.left });
if(o.axis != "horizontal") this.currentHandle.css({ top: position.top });
//Store the slider's value
this.currentHandle.data("mouse").sliderValue = {
x: Math.round(this.convertValue(position.left, "x")) || 0,
y: Math.round(this.convertValue(position.top, "y")) || 0
};
if (this.rangeElement)
this.updateRange();
this.propagate('slide', e);
return false;
},
moveTo: function(value, handle, noPropagation) {
var o = this.options;
// Prepare the outer size
this.actualSize = { width: this.element.outerWidth() , height: this.element.outerHeight() };
//If no handle has been passed, no current handle is available and we have multiple handles, return false
if (handle == undefined && !this.currentHandle && this.handle.length != 1)
return false;
//If only one handle is available, use it
if (handle == undefined && !this.currentHandle)
handle = 0;
if (handle != undefined)
this.currentHandle = this.previousHandle = $(this.handle[handle] || handle);
if(value.x !== undefined && value.y !== undefined) {
var x = value.x, y = value.y;
} else {
var x = value, y = value;
}
if(x !== undefined && x.constructor != Number) {
var me = /^\-\=/.test(x), pe = /^\+\=/.test(x);
if(me || pe) {
x = this.value(null, "x") + parseInt(x.replace(me ? '=' : '+=', ''), 10);
} else {
x = isNaN(parseInt(x, 10)) ? undefined : parseInt(x, 10);
}
}
if(y !== undefined && y.constructor != Number) {
var me = /^\-\=/.test(y), pe = /^\+\=/.test(y);
if(me || pe) {
y = this.value(null, "y") + parseInt(y.replace(me ? '=' : '+=', ''), 10);
} else {
y = isNaN(parseInt(y, 10)) ? undefined : parseInt(y, 10);
}
}
if(o.axis != "vertical" && x !== undefined) {
if(o.stepping.x) x = Math.round(x / o.stepping.x) * o.stepping.x;
x = this.translateValue(x, "x");
x = this.translateLimits(x, "x");
x = this.translateRange(x, "x");
this.currentHandle.css({ left: x });
}
if(o.axis != "horizontal" && y !== undefined) {
if(o.stepping.y) y = Math.round(y / o.stepping.y) * o.stepping.y;
y = this.translateValue(y, "y");
y = this.translateLimits(y, "y");
y = this.translateRange(y, "y");
this.currentHandle.css({ top: y });
}
if (this.rangeElement)
this.updateRange();
//Store the slider's value
this.currentHandle.data("mouse").sliderValue = {
x: Math.round(this.convertValue(x, "x")) || 0,
y: Math.round(this.convertValue(y, "y")) || 0
};
if (!noPropagation) {
this.propagate('start', null);
this.propagate('stop', null);
this.propagate('change', null);
this.propagate("slide", null);
}
}
});
$.ui.slider.getter = "value";
$.ui.slider.defaults = {
handle: ".ui-slider-handle",
distance: 1
};
})(jQuery);

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

View File

@@ -1,170 +1,170 @@
<!DOCTYPE html>
<html lang="en">
<head>
<title>jQuery UI Accordion Test Suite</title>
<link rel="stylesheet" href="../../qunit/testsuite.css" type="text/css" media="screen">
<script type="text/javascript" src="../../jquery/jquery-1.2.6.js"></script>
<script type="text/javascript" src="../source/ui.core.js"></script>
<script type="text/javascript" src="../source/ui.accordion.js"></script>
<script type="text/javascript" src="../../qunit/testrunner.js"></script>
<script type="text/javascript" src="accordion.js"></script>
<style type="text/css">
.xerror, .error { display: none }
</style>
</head>
<body class="flora">
<h1>jQuery UI Accordion Test Suite</h1>
<h2 id="banner"></h2>
<h2 id="userAgent"></h2>
<ol id="tests"></ol>
<div id="main" style="position:absolute;top:-2000000px;">
<fieldset>
<legend>Standard, container is a div, header is h3 and content p</legend>
<div id="list1">
<a>There is one obvious advantage:</a>
<div>
<p>
You've seen it coming!<br/>
Buy now and get nothing for free!<br/>
Well, at least no free beer. Perhaps a bear, if you can afford it.
</p>
</div>
<a>Now that you've got...</a>
<div>
<p>
your bear, you have to admit it!<br/>
No, we aren't selling bears.
</p>
<p>
We could talk about renting one.
</p>
</div>
<a>Rent one bear, ...</a>
<div>
<p>
get two for three beer.
</p>
<p>
And now, for something completely different.
</p>
</div>
</div>
</fieldset>
<fieldset>
<legend>Navigation - Unordered List with anchors and nested lists.</legend>
<p>The first item is cloned to allow the user to select it. The
active element is choosen based on location.hash: Open Drums and click
the first item ('Drums'), then reload the page.</p>
<ul id="navigation">
<li>
<a class="head" href="?p=1.1.1">Guitar</a>
<ul>
<li><a href="?p=1.1.1.1">Electric</a></li>
<li><a href="?p=1.1.1.2">Acoustic</a></li>
<li><a href="?p=1.1.1.3">Amps</a></li>
<li><a href="?p=1.1.1.4">Effects</a></li>
<li><a href="?p=1.1.1.5">Accessories</a></li>
</ul>
</li>
<li>
<a class="head" href="?p=1.1.2">Bass</a>
<ul>
<li><a href="?p=1.1.2.1">Electric</a></li>
<li><a href="?p=1.1.2.2">Acoustic</a></li>
<li><a href="?p=1.1.2.3">Amps</a></li>
<li><a href="?p=1.1.2.4">Effects</a></li>
<li><a href="?p=1.1.2.5">Accessories</a></li>
<li><a href="?p=1.1.2.5">Accessories</a></li>
<li><a href="?p=1.1.2.5">Accessories</a></li>
</ul>
</li>
<li>
<a class="head" href="?p=1.1.3">Drums</a>
<ul>
<li><a href="?p=1.1.3.2">Acoustic Drums</a></li>
<li><a href="?p=1.1.3.3">Electronic Drums</a></li>
<li><a href="?p=1.1.3.6">Accessories</a></li>
</ul>
</li>
</ul>
</fieldset>
<fieldset>
<legend>With options, container is a definition list, header dt, content dd</legend>
<dl id="list2">
<dt class="red">Red</dt>
<dd>
Fancy stuff about red thingies.
</dd>
<dt class="green selected">Green</dt>
<dd>
Green! Green! Green!
</dd>
<dt class="blue">Blue</dt>
<dd>
Cool kids are blue.
</dd>
</dl>
</fieldset>
<fieldset>
<legend>Divitus structure, div container, div header (class title), div
content, no active on startup and can be completely closed</legend>
<div id="list3">
<div>
<div class="title">Tennis</div>
<div>
One ball, two players. Lots of fun.
</div>
</div>
<div>
<div class="title">Soccer</div>
<div>
One ball, 22 players. Lots of fun.
</div>
</div>
<div>
<div class="title">Baseball</div>
<div>
Well, one ball, some guys running around, some guys hitting others with a stick.<br/>
Sounds like fun, doesn't it?
</div>
<div>
Well, apart from the running part.
</div>
</div>
</div>
</fieldset>
<div id="switch">
<select>
<option>Switch to...</option>
<option value="1">1</option>
<option value="2">2</option>
<option value="3">3</option>
</select>
<button id="close">Close all</button>
Activate via selector, eg. ':first' or 'a:first': <input id="switch2" />
</div>
<div id="log"><div><strong>Log of the 2nd accordion</strong></div></div>
</div>
</body>
<!DOCTYPE html>
<html lang="en">
<head>
<title>jQuery UI Accordion Test Suite</title>
<link rel="stylesheet" href="../../qunit/testsuite.css" type="text/css" media="screen">
<script type="text/javascript" src="../../jquery/jquery-1.2.6.js"></script>
<script type="text/javascript" src="../source/ui.core.js"></script>
<script type="text/javascript" src="../source/ui.accordion.js"></script>
<script type="text/javascript" src="../../qunit/testrunner.js"></script>
<script type="text/javascript" src="accordion.js"></script>
<style type="text/css">
.xerror, .error { display: none }
</style>
</head>
<body class="flora">
<h1>jQuery UI Accordion Test Suite</h1>
<h2 id="banner"></h2>
<h2 id="userAgent"></h2>
<ol id="tests"></ol>
<div id="main" style="position:absolute;top:-2000000px;">
<fieldset>
<legend>Standard, container is a div, header is h3 and content p</legend>
<div id="list1">
<a>There is one obvious advantage:</a>
<div>
<p>
You've seen it coming!<br/>
Buy now and get nothing for free!<br/>
Well, at least no free beer. Perhaps a bear, if you can afford it.
</p>
</div>
<a>Now that you've got...</a>
<div>
<p>
your bear, you have to admit it!<br/>
No, we aren't selling bears.
</p>
<p>
We could talk about renting one.
</p>
</div>
<a>Rent one bear, ...</a>
<div>
<p>
get two for three beer.
</p>
<p>
And now, for something completely different.
</p>
</div>
</div>
</fieldset>
<fieldset>
<legend>Navigation - Unordered List with anchors and nested lists.</legend>
<p>The first item is cloned to allow the user to select it. The
active element is choosen based on location.hash: Open Drums and click
the first item ('Drums'), then reload the page.</p>
<ul id="navigation">
<li>
<a class="head" href="?p=1.1.1">Guitar</a>
<ul>
<li><a href="?p=1.1.1.1">Electric</a></li>
<li><a href="?p=1.1.1.2">Acoustic</a></li>
<li><a href="?p=1.1.1.3">Amps</a></li>
<li><a href="?p=1.1.1.4">Effects</a></li>
<li><a href="?p=1.1.1.5">Accessories</a></li>
</ul>
</li>
<li>
<a class="head" href="?p=1.1.2">Bass</a>
<ul>
<li><a href="?p=1.1.2.1">Electric</a></li>
<li><a href="?p=1.1.2.2">Acoustic</a></li>
<li><a href="?p=1.1.2.3">Amps</a></li>
<li><a href="?p=1.1.2.4">Effects</a></li>
<li><a href="?p=1.1.2.5">Accessories</a></li>
<li><a href="?p=1.1.2.5">Accessories</a></li>
<li><a href="?p=1.1.2.5">Accessories</a></li>
</ul>
</li>
<li>
<a class="head" href="?p=1.1.3">Drums</a>
<ul>
<li><a href="?p=1.1.3.2">Acoustic Drums</a></li>
<li><a href="?p=1.1.3.3">Electronic Drums</a></li>
<li><a href="?p=1.1.3.6">Accessories</a></li>
</ul>
</li>
</ul>
</fieldset>
<fieldset>
<legend>With options, container is a definition list, header dt, content dd</legend>
<dl id="list2">
<dt class="red">Red</dt>
<dd>
Fancy stuff about red thingies.
</dd>
<dt class="green selected">Green</dt>
<dd>
Green! Green! Green!
</dd>
<dt class="blue">Blue</dt>
<dd>
Cool kids are blue.
</dd>
</dl>
</fieldset>
<fieldset>
<legend>Divitus structure, div container, div header (class title), div
content, no active on startup and can be completely closed</legend>
<div id="list3">
<div>
<div class="title">Tennis</div>
<div>
One ball, two players. Lots of fun.
</div>
</div>
<div>
<div class="title">Soccer</div>
<div>
One ball, 22 players. Lots of fun.
</div>
</div>
<div>
<div class="title">Baseball</div>
<div>
Well, one ball, some guys running around, some guys hitting others with a stick.<br/>
Sounds like fun, doesn't it?
</div>
<div>
Well, apart from the running part.
</div>
</div>
</div>
</fieldset>
<div id="switch">
<select>
<option>Switch to...</option>
<option value="1">1</option>
<option value="2">2</option>
<option value="3">3</option>
</select>
<button id="close">Close all</button>
Activate via selector, eg. ':first' or 'a:first': <input id="switch2" />
</div>
<div id="log"><div><strong>Log of the 2nd accordion</strong></div></div>
</div>
</body>
</html>

View File

@@ -1,78 +1,78 @@
module("accordion");
jQuery.ui.accordion.defaults.animated = false;
function state(accordion) {
var args = $.makeArray(arguments).slice(1);
$.each(args, function(i, n) {
equals(n, accordion.find("div").eq(i).is(":visible"));
});
}
test("basics", function() {
state($('#list1').accordion(), 1, 0, 0);
});
test("autoheight", function() {
$('#navigation').accordion({ header: '.head', autoHeight: false });
equals( 90, $('#navigation ul:first').height() );
equals( 126, $('#navigation ul:eq(1)').height() );
equals( 54, $('#navigation ul:last').height() );
$('#navigation').accordion("destroy").accordion({ header: '.head', autoHeight: true });
equals( 126, $('#navigation ul:first').height() );
equals( 126, $('#navigation ul:eq(1)').height() );
equals( 126, $('#navigation ul:last').height() );
});
test("activate, numeric", function() {
var ac = $('#list1').accordion({ active: 1 });
state(ac, 0, 1, 0);
ac.accordion("activate", 2);
state(ac, 0, 0, 1);
ac.accordion("activate", 0);
state(ac, 1, 0, 0);
ac.accordion("activate", 1);
state(ac, 0, 1, 0);
ac.accordion("activate", 2);
state(ac, 0, 0, 1);
ac.accordion("activate", -1);
state(ac, 0, 0, 1);
});
test("activate, boolean and numeric, alwaysOpen:false", function() {
var ac = $('#list1').accordion({alwaysOpen: false}).accordion("activate", 2);
state(ac, 0, 0, 1);
ok("x", "----");
ac.accordion("activate", 0);
state(ac, 1, 0, 0);
ok("x", "----");
ac.accordion("activate", -1);
state(ac, 0, 0, 0);
});
test("activate, boolean, alwaysOpen:true", function() {
var ac = $('#list1').accordion().accordion("activate", 2);
state(ac, 0, 0, 1);
ac.accordion("activate", -1);
state(ac, 0, 0, 1);
});
test("activate, string expression", function() {
var ac = $('#list1').accordion({ active: ":last" });
state(ac, 0, 0, 1);
ac.accordion("activate", ":first");
state(ac, 1, 0, 0);
ac.accordion("activate", ":eq(1)");
state(ac, 0, 1, 0);
ac.accordion("activate", ":last");
state(ac, 0, 0, 1);
});
test("activate, jQuery or DOM element", function() {
var ac = $('#list1').accordion({ active: $("#list1 a:last") });
state(ac, 0, 0, 1);
ac.accordion("activate", $("#list1 a:first"));
state(ac, 1, 0, 0);
ac.accordion("activate", $("#list1 a")[1]);
state(ac, 0, 1, 0);
module("accordion");
jQuery.ui.accordion.defaults.animated = false;
function state(accordion) {
var args = $.makeArray(arguments).slice(1);
$.each(args, function(i, n) {
equals(n, accordion.find("div").eq(i).is(":visible"));
});
}
test("basics", function() {
state($('#list1').accordion(), 1, 0, 0);
});
test("autoheight", function() {
$('#navigation').accordion({ header: '.head', autoHeight: false });
equals( 90, $('#navigation ul:first').height() );
equals( 126, $('#navigation ul:eq(1)').height() );
equals( 54, $('#navigation ul:last').height() );
$('#navigation').accordion("destroy").accordion({ header: '.head', autoHeight: true });
equals( 126, $('#navigation ul:first').height() );
equals( 126, $('#navigation ul:eq(1)').height() );
equals( 126, $('#navigation ul:last').height() );
});
test("activate, numeric", function() {
var ac = $('#list1').accordion({ active: 1 });
state(ac, 0, 1, 0);
ac.accordion("activate", 2);
state(ac, 0, 0, 1);
ac.accordion("activate", 0);
state(ac, 1, 0, 0);
ac.accordion("activate", 1);
state(ac, 0, 1, 0);
ac.accordion("activate", 2);
state(ac, 0, 0, 1);
ac.accordion("activate", -1);
state(ac, 0, 0, 1);
});
test("activate, boolean and numeric, alwaysOpen:false", function() {
var ac = $('#list1').accordion({alwaysOpen: false}).accordion("activate", 2);
state(ac, 0, 0, 1);
ok("x", "----");
ac.accordion("activate", 0);
state(ac, 1, 0, 0);
ok("x", "----");
ac.accordion("activate", -1);
state(ac, 0, 0, 0);
});
test("activate, boolean, alwaysOpen:true", function() {
var ac = $('#list1').accordion().accordion("activate", 2);
state(ac, 0, 0, 1);
ac.accordion("activate", -1);
state(ac, 0, 0, 1);
});
test("activate, string expression", function() {
var ac = $('#list1').accordion({ active: ":last" });
state(ac, 0, 0, 1);
ac.accordion("activate", ":first");
state(ac, 1, 0, 0);
ac.accordion("activate", ":eq(1)");
state(ac, 0, 1, 0);
ac.accordion("activate", ":last");
state(ac, 0, 0, 1);
});
test("activate, jQuery or DOM element", function() {
var ac = $('#list1').accordion({ active: $("#list1 a:last") });
state(ac, 0, 0, 1);
ac.accordion("activate", $("#list1 a:first"));
state(ac, 1, 0, 0);
ac.accordion("activate", $("#list1 a")[1]);
state(ac, 0, 1, 0);
});

View File

@@ -1,182 +1,182 @@
<!DOCTYPE html>
<html lang="en">
<head>
<title>jQuery UI All Tests</title>
<link rel="stylesheet" href="../../qunit/testsuite.css" type="text/css" media="screen">
<script type="text/javascript" src="../../jquery/jquery-1.2.6.js"></script>
<script type="text/javascript" src="../source/ui.core.js"></script>
<script type="text/javascript" src="../source/ui.accordion.js"></script>
<script type="text/javascript" src="../source/ui.slider.js"></script>
<script type="text/javascript" src="../../qunit/testrunner.js"></script>
<script type="text/javascript" src="accordion.js"></script>
<script type="text/javascript" src="slider.js"></script>
<style type="text/css">
.xerror, .error { display: none }
</style>
</head>
<body class="flora">
<h1>jQuery UI All Tests</h1>
<h2 id="banner"></h2>
<h2 id="userAgent"></h2>
<h4>Run individual testsuites or doubleclick a test below</h4>
<ul>
<li><a href="accordion.html">Accordion</a></li>
<li><a href="slider.html">Slider</a></li>
</ul>
<ol id="tests"></ol>
<div id="main" style="position:absolute;top:-2000000px;">
<div id='slider1'></div>
<div id='slider3' style="position: relative; margin: 40px; width: 217px; height: 28px; background: url(http://developer.yahoo.com/yui/examples/slider/assets/bg-fader.gif) no-repeat scroll 5px 0px;">
<div class='ui-slider-handle' style='position: absolute; height: 21px; left: 0px; bottom: 0px; width: 17px; background-image: url(http://developer.yahoo.com/yui/examples/slider/assets/thumb-n.gif);'></div>
</div>
<fieldset>
<legend>Standard, container is a div, header is h3 and content p</legend>
<div id="list1">
<a>There is one obvious advantage:</a>
<div>
<p>
You've seen it coming!<br/>
Buy now and get nothing for free!<br/>
Well, at least no free beer. Perhaps a bear, if you can afford it.
</p>
</div>
<a>Now that you've got...</a>
<div>
<p>
your bear, you have to admit it!<br/>
No, we aren't selling bears.
</p>
<p>
We could talk about renting one.
</p>
</div>
<a>Rent one bear, ...</a>
<div>
<p>
get two for three beer.
</p>
<p>
And now, for something completely different.
</p>
</div>
</div>
</fieldset>
<fieldset>
<legend>Navigation - Unordered List with anchors and nested lists.</legend>
<p>The first item is cloned to allow the user to select it. The
active element is choosen based on location.hash: Open Drums and click
the first item ('Drums'), then reload the page.</p>
<ul id="navigation">
<li>
<a class="head" href="?p=1.1.1">Guitar</a>
<ul>
<li><a href="?p=1.1.1.1">Electric</a></li>
<li><a href="?p=1.1.1.2">Acoustic</a></li>
<li><a href="?p=1.1.1.3">Amps</a></li>
<li><a href="?p=1.1.1.4">Effects</a></li>
<li><a href="?p=1.1.1.5">Accessories</a></li>
</ul>
</li>
<li>
<a class="head" href="?p=1.1.2">Bass</a>
<ul>
<li><a href="?p=1.1.2.1">Electric</a></li>
<li><a href="?p=1.1.2.2">Acoustic</a></li>
<li><a href="?p=1.1.2.3">Amps</a></li>
<li><a href="?p=1.1.2.4">Effects</a></li>
<li><a href="?p=1.1.2.5">Accessories</a></li>
<li><a href="?p=1.1.2.5">Accessories</a></li>
<li><a href="?p=1.1.2.5">Accessories</a></li>
</ul>
</li>
<li>
<a class="head" href="?p=1.1.3">Drums</a>
<ul>
<li><a href="?p=1.1.3.2">Acoustic Drums</a></li>
<li><a href="?p=1.1.3.3">Electronic Drums</a></li>
<li><a href="?p=1.1.3.6">Accessories</a></li>
</ul>
</li>
</ul>
</fieldset>
<fieldset>
<legend>With options, container is a definition list, header dt, content dd</legend>
<dl id="list2">
<dt class="red">Red</dt>
<dd>
Fancy stuff about red thingies.
</dd>
<dt class="green selected">Green</dt>
<dd>
Green! Green! Green!
</dd>
<dt class="blue">Blue</dt>
<dd>
Cool kids are blue.
</dd>
</dl>
</fieldset>
<fieldset>
<legend>Divitus structure, div container, div header (class title), div
content, no active on startup and can be completely closed</legend>
<div id="list3">
<div>
<div class="title">Tennis</div>
<div>
One ball, two players. Lots of fun.
</div>
</div>
<div>
<div class="title">Soccer</div>
<div>
One ball, 22 players. Lots of fun.
</div>
</div>
<div>
<div class="title">Baseball</div>
<div>
Well, one ball, some guys running around, some guys hitting others with a stick.<br/>
Sounds like fun, doesn't it?
</div>
<div>
Well, apart from the running part.
</div>
</div>
</div>
</fieldset>
<div id="switch">
<select>
<option>Switch to...</option>
<option value="1">1</option>
<option value="2">2</option>
<option value="3">3</option>
</select>
<button id="close">Close all</button>
Activate via selector, eg. ':first' or 'a:first': <input id="switch2" />
</div>
<div id="log"><div><strong>Log of the 2nd accordion</strong></div></div>
</div>
</body>
<!DOCTYPE html>
<html lang="en">
<head>
<title>jQuery UI All Tests</title>
<link rel="stylesheet" href="../../qunit/testsuite.css" type="text/css" media="screen">
<script type="text/javascript" src="../../jquery/jquery-1.2.6.js"></script>
<script type="text/javascript" src="../source/ui.core.js"></script>
<script type="text/javascript" src="../source/ui.accordion.js"></script>
<script type="text/javascript" src="../source/ui.slider.js"></script>
<script type="text/javascript" src="../../qunit/testrunner.js"></script>
<script type="text/javascript" src="accordion.js"></script>
<script type="text/javascript" src="slider.js"></script>
<style type="text/css">
.xerror, .error { display: none }
</style>
</head>
<body class="flora">
<h1>jQuery UI All Tests</h1>
<h2 id="banner"></h2>
<h2 id="userAgent"></h2>
<h4>Run individual testsuites or doubleclick a test below</h4>
<ul>
<li><a href="accordion.html">Accordion</a></li>
<li><a href="slider.html">Slider</a></li>
</ul>
<ol id="tests"></ol>
<div id="main" style="position:absolute;top:-2000000px;">
<div id='slider1'></div>
<div id='slider3' style="position: relative; margin: 40px; width: 217px; height: 28px; background: url(http://developer.yahoo.com/yui/examples/slider/assets/bg-fader.gif) no-repeat scroll 5px 0px;">
<div class='ui-slider-handle' style='position: absolute; height: 21px; left: 0px; bottom: 0px; width: 17px; background-image: url(http://developer.yahoo.com/yui/examples/slider/assets/thumb-n.gif);'></div>
</div>
<fieldset>
<legend>Standard, container is a div, header is h3 and content p</legend>
<div id="list1">
<a>There is one obvious advantage:</a>
<div>
<p>
You've seen it coming!<br/>
Buy now and get nothing for free!<br/>
Well, at least no free beer. Perhaps a bear, if you can afford it.
</p>
</div>
<a>Now that you've got...</a>
<div>
<p>
your bear, you have to admit it!<br/>
No, we aren't selling bears.
</p>
<p>
We could talk about renting one.
</p>
</div>
<a>Rent one bear, ...</a>
<div>
<p>
get two for three beer.
</p>
<p>
And now, for something completely different.
</p>
</div>
</div>
</fieldset>
<fieldset>
<legend>Navigation - Unordered List with anchors and nested lists.</legend>
<p>The first item is cloned to allow the user to select it. The
active element is choosen based on location.hash: Open Drums and click
the first item ('Drums'), then reload the page.</p>
<ul id="navigation">
<li>
<a class="head" href="?p=1.1.1">Guitar</a>
<ul>
<li><a href="?p=1.1.1.1">Electric</a></li>
<li><a href="?p=1.1.1.2">Acoustic</a></li>
<li><a href="?p=1.1.1.3">Amps</a></li>
<li><a href="?p=1.1.1.4">Effects</a></li>
<li><a href="?p=1.1.1.5">Accessories</a></li>
</ul>
</li>
<li>
<a class="head" href="?p=1.1.2">Bass</a>
<ul>
<li><a href="?p=1.1.2.1">Electric</a></li>
<li><a href="?p=1.1.2.2">Acoustic</a></li>
<li><a href="?p=1.1.2.3">Amps</a></li>
<li><a href="?p=1.1.2.4">Effects</a></li>
<li><a href="?p=1.1.2.5">Accessories</a></li>
<li><a href="?p=1.1.2.5">Accessories</a></li>
<li><a href="?p=1.1.2.5">Accessories</a></li>
</ul>
</li>
<li>
<a class="head" href="?p=1.1.3">Drums</a>
<ul>
<li><a href="?p=1.1.3.2">Acoustic Drums</a></li>
<li><a href="?p=1.1.3.3">Electronic Drums</a></li>
<li><a href="?p=1.1.3.6">Accessories</a></li>
</ul>
</li>
</ul>
</fieldset>
<fieldset>
<legend>With options, container is a definition list, header dt, content dd</legend>
<dl id="list2">
<dt class="red">Red</dt>
<dd>
Fancy stuff about red thingies.
</dd>
<dt class="green selected">Green</dt>
<dd>
Green! Green! Green!
</dd>
<dt class="blue">Blue</dt>
<dd>
Cool kids are blue.
</dd>
</dl>
</fieldset>
<fieldset>
<legend>Divitus structure, div container, div header (class title), div
content, no active on startup and can be completely closed</legend>
<div id="list3">
<div>
<div class="title">Tennis</div>
<div>
One ball, two players. Lots of fun.
</div>
</div>
<div>
<div class="title">Soccer</div>
<div>
One ball, 22 players. Lots of fun.
</div>
</div>
<div>
<div class="title">Baseball</div>
<div>
Well, one ball, some guys running around, some guys hitting others with a stick.<br/>
Sounds like fun, doesn't it?
</div>
<div>
Well, apart from the running part.
</div>
</div>
</div>
</fieldset>
<div id="switch">
<select>
<option>Switch to...</option>
<option value="1">1</option>
<option value="2">2</option>
<option value="3">3</option>
</select>
<button id="close">Close all</button>
Activate via selector, eg. ':first' or 'a:first': <input id="switch2" />
</div>
<div id="log"><div><strong>Log of the 2nd accordion</strong></div></div>
</div>
</body>
</html>

View File

@@ -1,154 +1,154 @@
<!DOCTYPE html>
<html lang="en">
<head>
<title>jQuery UI - Automated Tests</title>
<script type="text/javascript" src="../../jquery/jquery-1.2.6.js"></script>
<script type="text/javascript" src="../../ui/source/ui.core.js"></script>
<script type="text/javascript" src="../../ui/source/ui.draggable.js"></script>
<script type="text/javascript" src="../../ui/source/ui.selectable.js"></script>
<script type="text/javascript" src="ui.testmouse.js"></script>
<style type="text/css">
html, body { height: 100%; }
#main { height: 100%; }
#foo { position: relative; margin: 10px; padding: 10px; border: 3px solid gray; width: 200px; height: 200px; background: #eef; text-align: center; }
#foo * { margin: 4px; }
.ui-draggable .msg-missing-class { display: none !important; background: red; color: white; font-weight: bold; }
.ui-draggable .msg-enabled { display: block; }
.ui-draggable .msg-disabled { display: none; }
.ui-draggable-disabled .msg-enabled { display: none !important; }
.ui-draggable-disabled .msg-disabled { display: block !important; }
.ui-selectable .msg-missing-class { display: none !important; background: red; color: white; font-weight: bold; }
.ui-selectable .msg-enabled { display: block; }
.ui-selectable .msg-disabled { display: none; }
.ui-selectable-disabled .msg-enabled { display: none !important; }
.ui-selectable-disabled .msg-disabled { display: block !important; }
//.ui-selectee { border: 1px solid white; }
.ui-selecting { background: Highlight; color: HighlightText; outline: 1px dotted white; }
.ui-selected { background: Highlight; color: HighlightText; outline: 1px dotted black; }
</style>
<script type="text/javascript">
$(function() {
var speed = "fast";
var queue;
var start = function() {
queue = tests.slice().reverse(); // clone
$("#status").text("Running...");
nextTest();
}
var stop = function() {
$("#status").text("Ready");
teardown();
}
var tests = [];
var nextTest = function() {
if (queue.length) {
var nTest = queue.pop();
teardown(function() {
setupAndRun(nTest);
});
} else {
stop();
}
}
var num = 0;
var addTest = function(fn) {
num += 1;
tests.push({
num: num,
fn: fn
});
}
var setupAndRun = function(nTest) {
$('#testnum').text(nTest.num);
$('#sandbox').hide()
.append('<ul id="foo">' +
'<li class="msg-missing-class">THIS TEXT SHOULD NOT BE VISIBLE</li>' +
'<li class="msg-enabled">enabled</li>' +
'<li class="msg-disabled">disabled</li>' +
'<li>Item 2</li>' +
'<li>Item 3</li>' +
'<li>Item 4</li>' +
'<li>Item 5</li>' +
'<li>Item 6</li>' +
'<li>Item 7</li>' +
'<li>Item 8</li>' +
'</ul>')
$('#foo').testMouse({
speed: speed,
complete: nextTest
});
$('#sandbox').show();
nTest.fn.apply(nTest.fn);
}
var teardown = function(fn) {
$('#sandbox').hide();
$('#foo').remove();
if ($.isFunction(fn)) fn.apply();
}
var plugin = "draggable";
plugin = "selectable"
var testFn = "testMouse";
var testArgs = ["drag", 40, 50];
//1
addTest(function() { $("#foo")[plugin]()[testFn].apply($("#foo"), testArgs); });
//2
addTest(function() { $("#foo")[plugin]({ disabled: true })[testFn].apply($("#foo"), testArgs); });
addTest(function() { $("#foo")[plugin]({ disabled: false })[testFn].apply($("#foo"), testArgs); });
//4
addTest(function() { $("#foo")[plugin]()[plugin]('disable')[testFn].apply($("#foo"), testArgs); });
addTest(function() { $("#foo")[plugin]()[plugin]('enable')[testFn].apply($("#foo"), testArgs); });
//6
addTest(function() { $("#foo")[plugin]()[plugin]('enable')[plugin]('disable')[testFn].apply($("#foo"), testArgs); });
addTest(function() { $("#foo")[plugin]()[plugin]('disable')[plugin]('enable')[testFn].apply($("#foo"), testArgs); });
//8
addTest(function() { $("#foo")[plugin]({ disabled: false })[plugin]('disable')[testFn].apply($("#foo"), testArgs); });
addTest(function() { $("#foo")[plugin]({ disabled: true })[plugin]('enable')[testFn].apply($("#foo"), testArgs); });
//10
addTest(function() { $("#foo")[plugin]({ disabled: false }).data('disabled.' + plugin, true)[testFn].apply($("#foo"), testArgs); });
addTest(function() { $("#foo")[plugin]({ disabled: true }).data('disabled.' + plugin, false)[testFn].apply($("#foo"), testArgs); });
$('#begin').click(function() {
start();
});
});
</script>
</head>
<body>
<div id="main">
<h1>jQuery UI - Automated Tests</h1>
<div>
Status: <span id="status">Ready</span>
</div>
<div>
Test: <span id="testnum"></span>
</div>
<div style="height: 3em;"><button id="begin">Run Test</button></div>
<div id="sandbox">
</div>
</div>
</body>
</html>
<!DOCTYPE html>
<html lang="en">
<head>
<title>jQuery UI - Automated Tests</title>
<script type="text/javascript" src="../../jquery/jquery-1.2.6.js"></script>
<script type="text/javascript" src="../../ui/source/ui.core.js"></script>
<script type="text/javascript" src="../../ui/source/ui.draggable.js"></script>
<script type="text/javascript" src="../../ui/source/ui.selectable.js"></script>
<script type="text/javascript" src="ui.testmouse.js"></script>
<style type="text/css">
html, body { height: 100%; }
#main { height: 100%; }
#foo { position: relative; margin: 10px; padding: 10px; border: 3px solid gray; width: 200px; height: 200px; background: #eef; text-align: center; }
#foo * { margin: 4px; }
.ui-draggable .msg-missing-class { display: none !important; background: red; color: white; font-weight: bold; }
.ui-draggable .msg-enabled { display: block; }
.ui-draggable .msg-disabled { display: none; }
.ui-draggable-disabled .msg-enabled { display: none !important; }
.ui-draggable-disabled .msg-disabled { display: block !important; }
.ui-selectable .msg-missing-class { display: none !important; background: red; color: white; font-weight: bold; }
.ui-selectable .msg-enabled { display: block; }
.ui-selectable .msg-disabled { display: none; }
.ui-selectable-disabled .msg-enabled { display: none !important; }
.ui-selectable-disabled .msg-disabled { display: block !important; }
//.ui-selectee { border: 1px solid white; }
.ui-selecting { background: Highlight; color: HighlightText; outline: 1px dotted white; }
.ui-selected { background: Highlight; color: HighlightText; outline: 1px dotted black; }
</style>
<script type="text/javascript">
$(function() {
var speed = "fast";
var queue;
var start = function() {
queue = tests.slice().reverse(); // clone
$("#status").text("Running...");
nextTest();
}
var stop = function() {
$("#status").text("Ready");
teardown();
}
var tests = [];
var nextTest = function() {
if (queue.length) {
var nTest = queue.pop();
teardown(function() {
setupAndRun(nTest);
});
} else {
stop();
}
}
var num = 0;
var addTest = function(fn) {
num += 1;
tests.push({
num: num,
fn: fn
});
}
var setupAndRun = function(nTest) {
$('#testnum').text(nTest.num);
$('#sandbox').hide()
.append('<ul id="foo">' +
'<li class="msg-missing-class">THIS TEXT SHOULD NOT BE VISIBLE</li>' +
'<li class="msg-enabled">enabled</li>' +
'<li class="msg-disabled">disabled</li>' +
'<li>Item 2</li>' +
'<li>Item 3</li>' +
'<li>Item 4</li>' +
'<li>Item 5</li>' +
'<li>Item 6</li>' +
'<li>Item 7</li>' +
'<li>Item 8</li>' +
'</ul>')
$('#foo').testMouse({
speed: speed,
complete: nextTest
});
$('#sandbox').show();
nTest.fn.apply(nTest.fn);
}
var teardown = function(fn) {
$('#sandbox').hide();
$('#foo').remove();
if ($.isFunction(fn)) fn.apply();
}
var plugin = "draggable";
plugin = "selectable"
var testFn = "testMouse";
var testArgs = ["drag", 40, 50];
//1
addTest(function() { $("#foo")[plugin]()[testFn].apply($("#foo"), testArgs); });
//2
addTest(function() { $("#foo")[plugin]({ disabled: true })[testFn].apply($("#foo"), testArgs); });
addTest(function() { $("#foo")[plugin]({ disabled: false })[testFn].apply($("#foo"), testArgs); });
//4
addTest(function() { $("#foo")[plugin]()[plugin]('disable')[testFn].apply($("#foo"), testArgs); });
addTest(function() { $("#foo")[plugin]()[plugin]('enable')[testFn].apply($("#foo"), testArgs); });
//6
addTest(function() { $("#foo")[plugin]()[plugin]('enable')[plugin]('disable')[testFn].apply($("#foo"), testArgs); });
addTest(function() { $("#foo")[plugin]()[plugin]('disable')[plugin]('enable')[testFn].apply($("#foo"), testArgs); });
//8
addTest(function() { $("#foo")[plugin]({ disabled: false })[plugin]('disable')[testFn].apply($("#foo"), testArgs); });
addTest(function() { $("#foo")[plugin]({ disabled: true })[plugin]('enable')[testFn].apply($("#foo"), testArgs); });
//10
addTest(function() { $("#foo")[plugin]({ disabled: false }).data('disabled.' + plugin, true)[testFn].apply($("#foo"), testArgs); });
addTest(function() { $("#foo")[plugin]({ disabled: true }).data('disabled.' + plugin, false)[testFn].apply($("#foo"), testArgs); });
$('#begin').click(function() {
start();
});
});
</script>
</head>
<body>
<div id="main">
<h1>jQuery UI - Automated Tests</h1>
<div>
Status: <span id="status">Ready</span>
</div>
<div>
Test: <span id="testnum"></span>
</div>
<div style="height: 3em;"><button id="begin">Run Test</button></div>
<div id="sandbox">
</div>
</div>
</body>
</html>

View File

@@ -1,40 +1,40 @@
<!DOCTYPE html>
<html lang="en">
<head>
<meta http-equiv="Content-Language" content="en" />
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>Draggable Test Page</title>
<link rel="stylesheet" href="../../qunit/testsuite.css" type="text/css" media="screen">
<script type="text/javascript" src="../../jquery/jquery-1.2.6.js"></script>
<script type="text/javascript" src="../source/ui.core.js"></script>
<script type="text/javascript" src="../source/ui.draggable.js"></script>
<script type="text/javascript" src="../../qunit/testrunner.js"></script>
<script type="text/javascript" src="draggable.js"></script>
<script type="text/javascript" src="jquery.useraction.js"></script>
<style>
#main {
position:absolute !important;
top: -1000px !important;
left: -1000px !important;
}
</style>
</head>
<body>
<h1 id="header">Draggable Test Suite</h1>
<h2 id="banner"></h2>
<h2 id="userAgent"></h2>
<div id="main" style="border: 1px solid black; padding: 10px; margin: 10px;">
<div id='draggable1' style="background: green; width: 200px; height: 100px;">Static</div>
<div id='draggable2' style="background: green; width: 200px; height: 100px; position: absolute; top: 10px; left: 10px;"><span>Absolute</span></div>
</div>
<ol id="tests"></ol>
</body>
</html>
<!DOCTYPE html>
<html lang="en">
<head>
<meta http-equiv="Content-Language" content="en" />
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>Draggable Test Page</title>
<link rel="stylesheet" href="../../qunit/testsuite.css" type="text/css" media="screen">
<script type="text/javascript" src="../../jquery/jquery-1.2.6.js"></script>
<script type="text/javascript" src="../source/ui.core.js"></script>
<script type="text/javascript" src="../source/ui.draggable.js"></script>
<script type="text/javascript" src="../../qunit/testrunner.js"></script>
<script type="text/javascript" src="draggable.js"></script>
<script type="text/javascript" src="jquery.useraction.js"></script>
<style>
#main {
position:absolute !important;
top: -1000px !important;
left: -1000px !important;
}
</style>
</head>
<body>
<h1 id="header">Draggable Test Suite</h1>
<h2 id="banner"></h2>
<h2 id="userAgent"></h2>
<div id="main" style="border: 1px solid black; padding: 10px; margin: 10px;">
<div id='draggable1' style="background: green; width: 200px; height: 100px;">Static</div>
<div id='draggable2' style="background: green; width: 200px; height: 100px; position: absolute; top: 10px; left: 10px;"><span>Absolute</span></div>
</div>
<ol id="tests"></ol>
</body>
</html>

View File

@@ -1,322 +1,322 @@
var drag = function(el, dx, dy, complete) {
// speed = sync -> Drag syncrhonously.
// speed = fast|slow -> Drag asyncrhonously - animated.
return $(el).userAction("drag", {
dx: dx||0, dy: dy||0, speed: 'sync', complete: complete
});
};
module("Draggable");
test("create and destroy", function() {
expect(2);
$("#draggable1").draggable();
ok($("#draggable1").data("draggable"), "Accessing draggable instance after creation");
$("#draggable1").draggable("destroy");
ok(!$("#draggable1").data("draggable"), "Accessing draggable instance after destroy");
});
test("No options, relative", function() {
expect(4);
$("#draggable1").draggable();
var offset = $("#draggable1").data("draggable").element.offset();
equals(offset.left, -979, "Checking initial left position");
equals(offset.top, -979, "Checking initial top position");
drag("#draggable1", 50, 50);
var offset = $("#draggable1").data("draggable").element.offset();
equals(offset.left, -929, "Checking new left position");
equals(offset.top, -929, "Checking new top position");
});
test("No options, absolute", function() {
expect(4);
$("#draggable2").draggable();
var offset = $("#draggable2").data("draggable").element.offset();
equals(offset.left, -979, "Checking initial left position");
equals(offset.top, -979, "Checking initial top position");
drag("#draggable2", 50, 50);
var offset = $("#draggable2").data("draggable").element.offset();
equals(offset.left, -929, "Checking new left position");
equals(offset.top, -929, "Checking new top position");
});
test("{ helper: 'clone' }", function() {
expect(4);
$("#draggable1, #draggable2").draggable({ helper: "clone" });
drag("#draggable1, #draggable2", 50, 50);
var offset = $("#draggable1").data("draggable").element.offset();
equals(offset.left, -979, "Relative: Original position should be untouched");
equals(offset.top, -979, "Relative: Original position should be untouched");
var offset = $("#draggable2").data("draggable").element.offset();
equals(offset.left, -979, "Absolute: Original position should be untouched");
equals(offset.top, -979, "Absolute: Original position should be untouched");
});
test("{ grid: [50,50] }", function() {
expect(4);
$("#draggable1, #draggable2").draggable({ grid: [50,50] });
drag("#draggable1, #draggable2", 30, 30);
var offset = $("#draggable1").data("draggable").element.offset();
equals(offset.left, -929, "Relative: 50px move in grid");
equals(offset.top, -929, "Relative: 50px move in grid");
var offset = $("#draggable2").data("draggable").element.offset();
equals(offset.left, -929, "Absolute: 50px move in grid");
equals(offset.top, -929, "Absolute: 50px move in grid");
});
test("{ axis: 'y' }", function() {
expect(4);
$("#draggable1, #draggable2").draggable({ axis: "y" });
drag("#draggable1, #draggable2", 50, 50);
var offset = $("#draggable1").data("draggable").element.offset();
equals(offset.left, -979, "Relative: 0px move");
equals(offset.top, -929, "Relative: 50px move");
var offset = $("#draggable2").data("draggable").element.offset();
equals(offset.left, -979, "Absolute: 0px move");
equals(offset.top, -929, "Absolute: 50px move");
});
test("{ axis: 'x' }", function() {
expect(4);
$("#draggable1, #draggable2").draggable({ axis: "x" });
drag("#draggable1, #draggable2", 50, 50);
var offset = $("#draggable1").data("draggable").element.offset();
equals(offset.left, -929, "Relative: 50px move");
equals(offset.top, -979, "Relative: 0px move");
var offset = $("#draggable2").data("draggable").element.offset();
equals(offset.left, -929, "Absolute: 50px move");
equals(offset.top, -979, "Absolute: 0px move");
});
test("{ cancel: 'span' }", function() {
expect(2);
$("#draggable2").draggable({ cancel: 'span' });
drag("#draggable2 span", 50, 50);
var offset = $("#draggable2").data("draggable").element.offset();
equals(offset.left, -979, "Trigger on span: 0px move");
equals(offset.top, -979, "Trigger on span: 0px move");
});
test("{ handle: 'span' }", function() {
expect(4);
$("#draggable2").draggable({ handle: 'span' });
drag("#draggable2 span", 50, 50);
var offset = $("#draggable2").data("draggable").element.offset();
equals(offset.left, -929, "Trigger on span: 50px move");
equals(offset.top, -929, "Trigger on span: 50px move");
drag("#draggable2", 50, 50);
var offset = $("#draggable2").data("draggable").element.offset();
equals(offset.left, -929, "Trigger on element: 0px move");
equals(offset.top, -929, "Trigger on element: 0px move");
});
test("{ containment: 'parent' }", function() {
expect(4);
$("#draggable2, #draggable1").draggable({ containment: 'parent' });
drag("#draggable2, #draggable1", -100, -100);
var offset = $("#draggable2").data("draggable").element.offset();
equals(offset.left, -989, "Absolute: 10px move (to parent's margin end)");
equals(offset.top, -989, "Absolute: 10px move (to parent's margin end)");
var offset = $("#draggable1").data("draggable").element.offset();
equals(offset.left, -989, "Relative: 10px move (to parent's margin end)");
equals(offset.top, -989, "Relative: 10px move (to parent's margin end)");
});
test("{ cursorAt: { left: -5, top: -5 } }", function() {
expect(4);
var position = null;
$("#draggable2").draggable({
cursorAt: { left: -5, top: -5 },
drag: function(e, ui) {
position = ui.absolutePosition;
}
});
drag("#draggable2", -1, -1);
equals(position.left, -875, "Absolute: -1px move");
equals(position.top, -925, "Absolute: -1px move");
var position = null;
$("#draggable1").draggable({
cursorAt: { left: -5, top: -5 },
drag: function(e, ui) {
position = ui.absolutePosition;
}
});
drag("#draggable1", -1, -1);
equals(position.left, -875, "Relative: -1px move");
equals(position.top, -925, "Relative: -1px move");
});
test("{ cursor: 'move' }", function() {
expect(2);
var cursor = null;
$("#draggable2").draggable({
cursor: "move",
start: function(e, ui) {
cursor = $("body").css("cursor");
}
});
drag("#draggable2", -1, -1);
equals(cursor, "move", "start callback: cursor 'move'");
equals($("body").css("cursor"), "auto", "after drag: cursor restored");
});
test("{ distance: 10 }", function() {
expect(2);
var dragged = false;
$("#draggable2").draggable({
distance: 10,
start: function(e, ui) {
dragged = true;
}
});
drag("#draggable2", -9, -9);
equals(dragged, false, "The draggable should not have moved when moving -9px");
drag("#draggable2", -10, -10);
equals(dragged, true, "The draggable should have moved when moving -10px");
});
test("{ opacity: 0.5 }", function() {
expect(1);
var opacity = null;
$("#draggable2").draggable({
opacity: 0.5,
start: function(e, ui) {
opacity = $(this).css("opacity");
}
});
drag("#draggable2", -1, -1);
equals(opacity, "0.5", "start callback: opacity is 0.5");
});
test("{ zIndex: 10 }", function() {
expect(1);
var zIndex = null;
$("#draggable2").draggable({
zIndex: 10,
start: function(e, ui) {
zIndex = $(this).css("zIndex");
}
});
drag("#draggable2", -1, -1);
equals(zIndex, "10", "start callback: zIndex is 10");
});
test("callbacks occurance count", function() {
expect(3);
var start = 0, stop = 0, dragc = 0;
$("#draggable2").draggable({
start: function() { start++; },
drag: function() { dragc++; },
stop: function() { stop++; }
});
drag("#draggable2", 10, 10);
equals(start, 1, "start callback should happen exactly once");
equals(dragc, 11, "drag callback should happen exactly 1+10 times (first simultaneously with start)");
equals(stop, 1, "stop callback should happen exactly once");
});
var drag = function(el, dx, dy, complete) {
// speed = sync -> Drag syncrhonously.
// speed = fast|slow -> Drag asyncrhonously - animated.
return $(el).userAction("drag", {
dx: dx||0, dy: dy||0, speed: 'sync', complete: complete
});
};
module("Draggable");
test("create and destroy", function() {
expect(2);
$("#draggable1").draggable();
ok($("#draggable1").data("draggable"), "Accessing draggable instance after creation");
$("#draggable1").draggable("destroy");
ok(!$("#draggable1").data("draggable"), "Accessing draggable instance after destroy");
});
test("No options, relative", function() {
expect(4);
$("#draggable1").draggable();
var offset = $("#draggable1").data("draggable").element.offset();
equals(offset.left, -979, "Checking initial left position");
equals(offset.top, -979, "Checking initial top position");
drag("#draggable1", 50, 50);
var offset = $("#draggable1").data("draggable").element.offset();
equals(offset.left, -929, "Checking new left position");
equals(offset.top, -929, "Checking new top position");
});
test("No options, absolute", function() {
expect(4);
$("#draggable2").draggable();
var offset = $("#draggable2").data("draggable").element.offset();
equals(offset.left, -979, "Checking initial left position");
equals(offset.top, -979, "Checking initial top position");
drag("#draggable2", 50, 50);
var offset = $("#draggable2").data("draggable").element.offset();
equals(offset.left, -929, "Checking new left position");
equals(offset.top, -929, "Checking new top position");
});
test("{ helper: 'clone' }", function() {
expect(4);
$("#draggable1, #draggable2").draggable({ helper: "clone" });
drag("#draggable1, #draggable2", 50, 50);
var offset = $("#draggable1").data("draggable").element.offset();
equals(offset.left, -979, "Relative: Original position should be untouched");
equals(offset.top, -979, "Relative: Original position should be untouched");
var offset = $("#draggable2").data("draggable").element.offset();
equals(offset.left, -979, "Absolute: Original position should be untouched");
equals(offset.top, -979, "Absolute: Original position should be untouched");
});
test("{ grid: [50,50] }", function() {
expect(4);
$("#draggable1, #draggable2").draggable({ grid: [50,50] });
drag("#draggable1, #draggable2", 30, 30);
var offset = $("#draggable1").data("draggable").element.offset();
equals(offset.left, -929, "Relative: 50px move in grid");
equals(offset.top, -929, "Relative: 50px move in grid");
var offset = $("#draggable2").data("draggable").element.offset();
equals(offset.left, -929, "Absolute: 50px move in grid");
equals(offset.top, -929, "Absolute: 50px move in grid");
});
test("{ axis: 'y' }", function() {
expect(4);
$("#draggable1, #draggable2").draggable({ axis: "y" });
drag("#draggable1, #draggable2", 50, 50);
var offset = $("#draggable1").data("draggable").element.offset();
equals(offset.left, -979, "Relative: 0px move");
equals(offset.top, -929, "Relative: 50px move");
var offset = $("#draggable2").data("draggable").element.offset();
equals(offset.left, -979, "Absolute: 0px move");
equals(offset.top, -929, "Absolute: 50px move");
});
test("{ axis: 'x' }", function() {
expect(4);
$("#draggable1, #draggable2").draggable({ axis: "x" });
drag("#draggable1, #draggable2", 50, 50);
var offset = $("#draggable1").data("draggable").element.offset();
equals(offset.left, -929, "Relative: 50px move");
equals(offset.top, -979, "Relative: 0px move");
var offset = $("#draggable2").data("draggable").element.offset();
equals(offset.left, -929, "Absolute: 50px move");
equals(offset.top, -979, "Absolute: 0px move");
});
test("{ cancel: 'span' }", function() {
expect(2);
$("#draggable2").draggable({ cancel: 'span' });
drag("#draggable2 span", 50, 50);
var offset = $("#draggable2").data("draggable").element.offset();
equals(offset.left, -979, "Trigger on span: 0px move");
equals(offset.top, -979, "Trigger on span: 0px move");
});
test("{ handle: 'span' }", function() {
expect(4);
$("#draggable2").draggable({ handle: 'span' });
drag("#draggable2 span", 50, 50);
var offset = $("#draggable2").data("draggable").element.offset();
equals(offset.left, -929, "Trigger on span: 50px move");
equals(offset.top, -929, "Trigger on span: 50px move");
drag("#draggable2", 50, 50);
var offset = $("#draggable2").data("draggable").element.offset();
equals(offset.left, -929, "Trigger on element: 0px move");
equals(offset.top, -929, "Trigger on element: 0px move");
});
test("{ containment: 'parent' }", function() {
expect(4);
$("#draggable2, #draggable1").draggable({ containment: 'parent' });
drag("#draggable2, #draggable1", -100, -100);
var offset = $("#draggable2").data("draggable").element.offset();
equals(offset.left, -989, "Absolute: 10px move (to parent's margin end)");
equals(offset.top, -989, "Absolute: 10px move (to parent's margin end)");
var offset = $("#draggable1").data("draggable").element.offset();
equals(offset.left, -989, "Relative: 10px move (to parent's margin end)");
equals(offset.top, -989, "Relative: 10px move (to parent's margin end)");
});
test("{ cursorAt: { left: -5, top: -5 } }", function() {
expect(4);
var position = null;
$("#draggable2").draggable({
cursorAt: { left: -5, top: -5 },
drag: function(e, ui) {
position = ui.absolutePosition;
}
});
drag("#draggable2", -1, -1);
equals(position.left, -875, "Absolute: -1px move");
equals(position.top, -925, "Absolute: -1px move");
var position = null;
$("#draggable1").draggable({
cursorAt: { left: -5, top: -5 },
drag: function(e, ui) {
position = ui.absolutePosition;
}
});
drag("#draggable1", -1, -1);
equals(position.left, -875, "Relative: -1px move");
equals(position.top, -925, "Relative: -1px move");
});
test("{ cursor: 'move' }", function() {
expect(2);
var cursor = null;
$("#draggable2").draggable({
cursor: "move",
start: function(e, ui) {
cursor = $("body").css("cursor");
}
});
drag("#draggable2", -1, -1);
equals(cursor, "move", "start callback: cursor 'move'");
equals($("body").css("cursor"), "auto", "after drag: cursor restored");
});
test("{ distance: 10 }", function() {
expect(2);
var dragged = false;
$("#draggable2").draggable({
distance: 10,
start: function(e, ui) {
dragged = true;
}
});
drag("#draggable2", -9, -9);
equals(dragged, false, "The draggable should not have moved when moving -9px");
drag("#draggable2", -10, -10);
equals(dragged, true, "The draggable should have moved when moving -10px");
});
test("{ opacity: 0.5 }", function() {
expect(1);
var opacity = null;
$("#draggable2").draggable({
opacity: 0.5,
start: function(e, ui) {
opacity = $(this).css("opacity");
}
});
drag("#draggable2", -1, -1);
equals(opacity, "0.5", "start callback: opacity is 0.5");
});
test("{ zIndex: 10 }", function() {
expect(1);
var zIndex = null;
$("#draggable2").draggable({
zIndex: 10,
start: function(e, ui) {
zIndex = $(this).css("zIndex");
}
});
drag("#draggable2", -1, -1);
equals(zIndex, "10", "start callback: zIndex is 10");
});
test("callbacks occurance count", function() {
expect(3);
var start = 0, stop = 0, dragc = 0;
$("#draggable2").draggable({
start: function() { start++; },
drag: function() { dragc++; },
stop: function() { stop++; }
});
drag("#draggable2", 10, 10);
equals(start, 1, "start callback should happen exactly once");
equals(dragc, 11, "drag callback should happen exactly 1+10 times (first simultaneously with start)");
equals(stop, 1, "stop callback should happen exactly once");
});

View File

@@ -1,32 +1,32 @@
<!DOCTYPE html>
<html lang="en">
<head>
<meta http-equiv="Content-Language" content="en" />
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>Slider Test Page</title>
<link rel="stylesheet" href="../../qunit/testsuite.css" type="text/css" media="screen">
<script type="text/javascript" src="../../jquery/jquery-1.2.6.js"></script>
<script type="text/javascript" src="../source/ui.core.js"></script>
<script type="text/javascript" src="../source/ui.slider.js"></script>
<script type="text/javascript" src="../../qunit/testrunner.js"></script>
<script type="text/javascript" src="slider.js"></script>
</head>
<body>
<h1 id="header">jQuery Test Suite</h1>
<h2 id="banner"></h2>
<h2 id="userAgent"></h2>
<div id="main" style="position:absolute;top:-20000px">
<div id='slider1'></div>
<div id='slider3' style="position: relative; margin: 40px; width: 217px; height: 28px; background: url(http://developer.yahoo.com/yui/examples/slider/assets/bg-fader.gif) no-repeat scroll 5px 0px;">
<div class='ui-slider-handle' style='position: absolute; height: 21px; left: 0px; bottom: 0px; width: 17px; background-image: url(http://developer.yahoo.com/yui/examples/slider/assets/thumb-n.gif);'></div>
</div>
</div>
<ol id="tests"></ol>
</body>
</html>
<!DOCTYPE html>
<html lang="en">
<head>
<meta http-equiv="Content-Language" content="en" />
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>Slider Test Page</title>
<link rel="stylesheet" href="../../qunit/testsuite.css" type="text/css" media="screen">
<script type="text/javascript" src="../../jquery/jquery-1.2.6.js"></script>
<script type="text/javascript" src="../source/ui.core.js"></script>
<script type="text/javascript" src="../source/ui.slider.js"></script>
<script type="text/javascript" src="../../qunit/testrunner.js"></script>
<script type="text/javascript" src="slider.js"></script>
</head>
<body>
<h1 id="header">jQuery Test Suite</h1>
<h2 id="banner"></h2>
<h2 id="userAgent"></h2>
<div id="main" style="position:absolute;top:-20000px">
<div id='slider1'></div>
<div id='slider3' style="position: relative; margin: 40px; width: 217px; height: 28px; background: url(http://developer.yahoo.com/yui/examples/slider/assets/bg-fader.gif) no-repeat scroll 5px 0px;">
<div class='ui-slider-handle' style='position: absolute; height: 21px; left: 0px; bottom: 0px; width: 17px; background-image: url(http://developer.yahoo.com/yui/examples/slider/assets/thumb-n.gif);'></div>
</div>
</div>
<ol id="tests"></ol>
</body>
</html>

View File

@@ -1,100 +1,100 @@
$.fn.triggerKeydown = function(keyCode) {
return this.trigger("keydown", [$.event.fix({event:"keydown", keyCode: keyCode, target: this[0]})]);
}
function assertChange(stepping, start, result, action) {
return function() {
expect(1);
var slider = $("#slider3").slider({
stepping: stepping,
startValue: start,
min: 0,
max: 1000,
change: function(e, ui) {
equals(ui.value, result, "changed to " + ui.value);
}
});
action.apply(slider);
}
}
module("slider: single handle")
test("change one step via keydown", assertChange(1, undefined, 1, function() {
this.find("a").triggerKeydown("39");
}))
test("change - 10 steps via keydown", assertChange(10, 20, 10, function() {
this.find("a").triggerKeydown("37");
}))
test("change +10 steps via keydown", assertChange(10, 20, 30, function() {
this.find("a").triggerKeydown("39");
}))
test("moveTo, absolute value", assertChange(1, 1, 10, function() {
this.slider("moveTo", 10);
}))
test("moveTo, absolute value as string", assertChange(1, 1, 10, function() {
this.slider("moveTo", "10");
}))
test("moveTo, absolute value, below min", assertChange(1, 1, 0, function() {
this.slider("moveTo", -10);
}))
test("moveTo, relative positive value", assertChange(1, 1, 11, function() {
this.slider("moveTo", "+=10");
}))
test("moveTo, relative positive value, above max", assertChange(1, 10, 1000, function() {
this.slider("moveTo", "+=2000");
}))
test("moveTo, relative negative value", assertChange(1, 20, 10, function() {
this.slider("moveTo", "-=10");
}))
test("options update min/max", function() {
expect(2);
var slider = $("#slider3").slider({
stepping: 1,
startValue: 1
});
slider.slider("moveTo", "-=10");
equals(slider.slider("value"), 0);
slider.data("min.slider", -10);
slider.slider("moveTo", "-=20");
equals(slider.slider("value"), -10);
})
module("slider: setup and teardown");
test("destroy and recreate", function() {
expect(3)
var slider = $("#slider3").slider();
slider.slider("moveTo", "+=20");
equals(slider.slider("value"), 20);
slider.slider("destroy");
slider.slider("moveTo", "+=30");
ok(true, "nothing happens after slider is destroyed");
slider.slider().slider("moveTo", "30");
equals(Math.round(slider.slider("value")), 30);
})
test("handle creation", function() {
var slider = $("#slider1");
equals(slider.children().size(), 0);
slider.slider({
handles: [
{ start: 0 },
{ start: 10 }
]
});
equals(slider.children().size(), 2);
var instance = $.data(slider[0], "slider")
equals(instance.handle.length, 2);
ok(instance.handle.jquery, "handle must be a jquery object")
$.fn.triggerKeydown = function(keyCode) {
return this.trigger("keydown", [$.event.fix({event:"keydown", keyCode: keyCode, target: this[0]})]);
}
function assertChange(stepping, start, result, action) {
return function() {
expect(1);
var slider = $("#slider3").slider({
stepping: stepping,
startValue: start,
min: 0,
max: 1000,
change: function(e, ui) {
equals(ui.value, result, "changed to " + ui.value);
}
});
action.apply(slider);
}
}
module("slider: single handle")
test("change one step via keydown", assertChange(1, undefined, 1, function() {
this.find("a").triggerKeydown("39");
}))
test("change - 10 steps via keydown", assertChange(10, 20, 10, function() {
this.find("a").triggerKeydown("37");
}))
test("change +10 steps via keydown", assertChange(10, 20, 30, function() {
this.find("a").triggerKeydown("39");
}))
test("moveTo, absolute value", assertChange(1, 1, 10, function() {
this.slider("moveTo", 10);
}))
test("moveTo, absolute value as string", assertChange(1, 1, 10, function() {
this.slider("moveTo", "10");
}))
test("moveTo, absolute value, below min", assertChange(1, 1, 0, function() {
this.slider("moveTo", -10);
}))
test("moveTo, relative positive value", assertChange(1, 1, 11, function() {
this.slider("moveTo", "+=10");
}))
test("moveTo, relative positive value, above max", assertChange(1, 10, 1000, function() {
this.slider("moveTo", "+=2000");
}))
test("moveTo, relative negative value", assertChange(1, 20, 10, function() {
this.slider("moveTo", "-=10");
}))
test("options update min/max", function() {
expect(2);
var slider = $("#slider3").slider({
stepping: 1,
startValue: 1
});
slider.slider("moveTo", "-=10");
equals(slider.slider("value"), 0);
slider.data("min.slider", -10);
slider.slider("moveTo", "-=20");
equals(slider.slider("value"), -10);
})
module("slider: setup and teardown");
test("destroy and recreate", function() {
expect(3)
var slider = $("#slider3").slider();
slider.slider("moveTo", "+=20");
equals(slider.slider("value"), 20);
slider.slider("destroy");
slider.slider("moveTo", "+=30");
ok(true, "nothing happens after slider is destroyed");
slider.slider().slider("moveTo", "30");
equals(Math.round(slider.slider("value")), 30);
})
test("handle creation", function() {
var slider = $("#slider1");
equals(slider.children().size(), 0);
slider.slider({
handles: [
{ start: 0 },
{ start: 10 }
]
});
equals(slider.children().size(), 2);
var instance = $.data(slider[0], "slider")
equals(instance.handle.length, 2);
ok(instance.handle.jquery, "handle must be a jquery object")
})

View File

@@ -1,171 +1,171 @@
/*
* jQuery UI testMouse
*
* Copyright (c) 2008 Richard D. Worth (rdworth.org)
* Dual licensed under the MIT (MIT-LICENSE.txt)
* and GPL (GPL-LICENSE.txt) licenses.
*
* Revision: $Id: $
*/
;(function($) {
var mouseX = 0;
var mouseY = 0;
$(function() {
$(document).mousemove(function(e) {
if (e.isTrusted !== false) {
mouseX = e.pageX;
mouseY = e.pageY;
}
});
});
$.widget("ui.testMouse", {
trackMouse: function() {},
init: function() {
},
destroy: function() {
},
center: function(offset) {
var o = this.element.offset();
return {
x: (o.left + (offset || [0, 0])[0] || 0) + this.element.width() / 2,
y: (o.top + (offset || [0, 0])[1] || 0) + this.element.height() / 2
};
},
dispatch: function(type, x, y, button, relatedTarget) {
var evt, e = {bubbles: true, cancelable: (type != "mousemove"), view: window, detail: 0,
screenX: 0, screenY: 0, clientX: x, clientY: y,
ctrlKey: false, altKey: false, shiftKey: false, metaKey: false,
button: button || 0, relatedTarget: relatedTarget, isTrusted: false};
if ($.isFunction(document.createEvent)) {
evt = document.createEvent("MouseEvents");
if ($.isFunction(evt.initMouseEvent)) {
evt.initMouseEvent(type, e.bubbles, e.cancelable, e.view, e.detail,
e.screenX, e.screenY, e.clientX, e.clientY,
e.ctrlKey, e.altKey, e.shiftKey, e.metaKey,
e.button, e.relatedTarget);
} else {
evt = document.createEvent("UIEvents");
evt.initEvent(type, bubbles, cancelable);
$.extend(evt, e);
}
this.element[0].dispatchEvent(evt);
} else if (document.createEventObject) {
evt = document.createEventObject();
$.extend(evt, e);
evt.button = 1;
this.element[0].fireEvent('on' + type, evt)
}
},
down: function(x, y) {
this.dispatch("mousedown", x, y);
},
move: function(x, y) {
this.dispatch("mousemove", x, y);
},
up: function(x, y) {
this.dispatch("mouseup", x, y);
},
drag: function(dx, dy) {
var self = this;
var center = this.center();
this.left = center.x;
this.top = center.y;
var OS = (/(win|mac|linux)/i.exec(navigator.platform) || ['other'])[0].toLowerCase();
var defaultUrl = ['cursors', OS == 'other' ? 'win' : OS, 'default.png'].join('/');
var cursorUrl = function() {
return ['cursors', OS == 'other' ? 'win' : OS, self.element.css('cursor') + '.png'].join('/');
}
var noneUrl = ['cursors', OS == 'other' ? 'win' : OS, 'none' + ($.browser.safari ? '.png' : '.cur')].join('/');
var fakemouse = $('<img src="' + defaultUrl + '" />');
var realmouse = $('<img src="' + defaultUrl + '" />');
if ($.browser.msie && $.browser.version == 6) {
fakemouse = $('<div style="height:32;width:32;filter:progid:DXImageTransform.Microsoft.AlphaImageLoader(src=\'' + defaultUrl + '\', sizingMethod=\'scale\');" ></div>');
realmouse = $('<div><div style="height:32;width:32;filter:progid:DXImageTransform.Microsoft.AlphaImageLoader(src=\'' + defaultUrl + '\', sizingMethod=\'scale\');" ></div></div>');
}
var mousescreen = $('<div/>');
var updateCursor = function() {
if ($.browser.msie && $.browser.version == 6) {
fakemouse.css('filter', 'progid:DXImageTransform.Microsoft.AlphaImageLoader(src=\'' + cursorUrl() + '\', sizingMethod=\'scale\'');
} else {
fakemouse.attr('src', cursorUrl());
}
}
var resetCursor = function() {
if ($.browser.msie && $.browser.version == 6) {
fakemouse.css('filter', 'progid:DXImageTransform.Microsoft.AlphaImageLoader(src=\'' + defaultUrl + '\', sizingMethod=\'scale\'');
} else {
fakemouse.attr('src', defaultUrl);
}
}
var testStart = function() {
self.element.bind("mouseover", updateCursor).bind("mouseout", resetCursor);
fakemouse.appendTo('body').css({ position: 'absolute', left: mouseX, top: mouseY, zIndex: 5000 });
realmouse.appendTo('body').css({ position: 'absolute', left: mouseX, top: mouseY, zIndex: 5000, opacity: 0.1 });
mousescreen.appendTo('body').css({ width: '100%', height: '100%', position: 'absolute', top: 0, left: 0, zIndex: 5000 })
.mousemove(function(e) { realmouse.css({ left: e.pageX, top: e.pageY }); return false; })
.mousedown(function() { return false; })
.mouseup(function() { return false; });
mousescreen.css('cursor', 'url(' + noneUrl + '), crosshair');
($.browser.opera && mousescreen.css('cursor', 'crosshair'));
}
var testStop = function() {
self.element.unbind("mouseover", updateCursor).unbind("mouseout", resetCursor);
mousescreen.remove();
mouseX = realmouse.css("left");
mouseY = realmouse.css("top");
realmouse.remove();
fakemouse.remove();
self.options.complete.apply();
}
testStart();
this.lastX = null;
fakemouse
.animate({ left: this.left, top: this.top }, this.options.speed, function() {
self.element.triggerHandler('mouseover');
self.down(self.left, self.top);
self.move(self.left, self.top);
})
.animate({ left: this.left + dx, top: this.top + dy }, {
speed: self.options.speed,
easing: "swing",
step: function (xory) {
if (!self.lastX) {
self.lastX = xory;
} else {
var x = self.lastX, y = xory;
self.move(x, y);
self.lastX = null;
}
},
complete: function() {
self.element.triggerHandler('mouseout');
self.up(0, 0);
$(this).animate({ left: realmouse.css("left"), top: realmouse.css("top") }, {
speed: self.options.speed,
complete: function() {
testStop();
}
})
}
});
}
});
$.ui.testMouse.defaults = {
speed: "slow"
}
})(jQuery);
/*
* jQuery UI testMouse
*
* Copyright (c) 2008 Richard D. Worth (rdworth.org)
* Dual licensed under the MIT (MIT-LICENSE.txt)
* and GPL (GPL-LICENSE.txt) licenses.
*
* Revision: $Id: $
*/
;(function($) {
var mouseX = 0;
var mouseY = 0;
$(function() {
$(document).mousemove(function(e) {
if (e.isTrusted !== false) {
mouseX = e.pageX;
mouseY = e.pageY;
}
});
});
$.widget("ui.testMouse", {
trackMouse: function() {},
init: function() {
},
destroy: function() {
},
center: function(offset) {
var o = this.element.offset();
return {
x: (o.left + (offset || [0, 0])[0] || 0) + this.element.width() / 2,
y: (o.top + (offset || [0, 0])[1] || 0) + this.element.height() / 2
};
},
dispatch: function(type, x, y, button, relatedTarget) {
var evt, e = {bubbles: true, cancelable: (type != "mousemove"), view: window, detail: 0,
screenX: 0, screenY: 0, clientX: x, clientY: y,
ctrlKey: false, altKey: false, shiftKey: false, metaKey: false,
button: button || 0, relatedTarget: relatedTarget, isTrusted: false};
if ($.isFunction(document.createEvent)) {
evt = document.createEvent("MouseEvents");
if ($.isFunction(evt.initMouseEvent)) {
evt.initMouseEvent(type, e.bubbles, e.cancelable, e.view, e.detail,
e.screenX, e.screenY, e.clientX, e.clientY,
e.ctrlKey, e.altKey, e.shiftKey, e.metaKey,
e.button, e.relatedTarget);
} else {
evt = document.createEvent("UIEvents");
evt.initEvent(type, bubbles, cancelable);
$.extend(evt, e);
}
this.element[0].dispatchEvent(evt);
} else if (document.createEventObject) {
evt = document.createEventObject();
$.extend(evt, e);
evt.button = 1;
this.element[0].fireEvent('on' + type, evt)
}
},
down: function(x, y) {
this.dispatch("mousedown", x, y);
},
move: function(x, y) {
this.dispatch("mousemove", x, y);
},
up: function(x, y) {
this.dispatch("mouseup", x, y);
},
drag: function(dx, dy) {
var self = this;
var center = this.center();
this.left = center.x;
this.top = center.y;
var OS = (/(win|mac|linux)/i.exec(navigator.platform) || ['other'])[0].toLowerCase();
var defaultUrl = ['cursors', OS == 'other' ? 'win' : OS, 'default.png'].join('/');
var cursorUrl = function() {
return ['cursors', OS == 'other' ? 'win' : OS, self.element.css('cursor') + '.png'].join('/');
}
var noneUrl = ['cursors', OS == 'other' ? 'win' : OS, 'none' + ($.browser.safari ? '.png' : '.cur')].join('/');
var fakemouse = $('<img src="' + defaultUrl + '" />');
var realmouse = $('<img src="' + defaultUrl + '" />');
if ($.browser.msie && $.browser.version == 6) {
fakemouse = $('<div style="height:32;width:32;filter:progid:DXImageTransform.Microsoft.AlphaImageLoader(src=\'' + defaultUrl + '\', sizingMethod=\'scale\');" ></div>');
realmouse = $('<div><div style="height:32;width:32;filter:progid:DXImageTransform.Microsoft.AlphaImageLoader(src=\'' + defaultUrl + '\', sizingMethod=\'scale\');" ></div></div>');
}
var mousescreen = $('<div/>');
var updateCursor = function() {
if ($.browser.msie && $.browser.version == 6) {
fakemouse.css('filter', 'progid:DXImageTransform.Microsoft.AlphaImageLoader(src=\'' + cursorUrl() + '\', sizingMethod=\'scale\'');
} else {
fakemouse.attr('src', cursorUrl());
}
}
var resetCursor = function() {
if ($.browser.msie && $.browser.version == 6) {
fakemouse.css('filter', 'progid:DXImageTransform.Microsoft.AlphaImageLoader(src=\'' + defaultUrl + '\', sizingMethod=\'scale\'');
} else {
fakemouse.attr('src', defaultUrl);
}
}
var testStart = function() {
self.element.bind("mouseover", updateCursor).bind("mouseout", resetCursor);
fakemouse.appendTo('body').css({ position: 'absolute', left: mouseX, top: mouseY, zIndex: 5000 });
realmouse.appendTo('body').css({ position: 'absolute', left: mouseX, top: mouseY, zIndex: 5000, opacity: 0.1 });
mousescreen.appendTo('body').css({ width: '100%', height: '100%', position: 'absolute', top: 0, left: 0, zIndex: 5000 })
.mousemove(function(e) { realmouse.css({ left: e.pageX, top: e.pageY }); return false; })
.mousedown(function() { return false; })
.mouseup(function() { return false; });
mousescreen.css('cursor', 'url(' + noneUrl + '), crosshair');
($.browser.opera && mousescreen.css('cursor', 'crosshair'));
}
var testStop = function() {
self.element.unbind("mouseover", updateCursor).unbind("mouseout", resetCursor);
mousescreen.remove();
mouseX = realmouse.css("left");
mouseY = realmouse.css("top");
realmouse.remove();
fakemouse.remove();
self.options.complete.apply();
}
testStart();
this.lastX = null;
fakemouse
.animate({ left: this.left, top: this.top }, this.options.speed, function() {
self.element.triggerHandler('mouseover');
self.down(self.left, self.top);
self.move(self.left, self.top);
})
.animate({ left: this.left + dx, top: this.top + dy }, {
speed: self.options.speed,
easing: "swing",
step: function (xory) {
if (!self.lastX) {
self.lastX = xory;
} else {
var x = self.lastX, y = xory;
self.move(x, y);
self.lastX = null;
}
},
complete: function() {
self.element.triggerHandler('mouseout');
self.up(0, 0);
$(this).animate({ left: realmouse.css("left"), top: realmouse.css("top") }, {
speed: self.options.speed,
complete: function() {
testStop();
}
})
}
});
}
});
$.ui.testMouse.defaults = {
speed: "slow"
}
})(jQuery);

View File

@@ -1,39 +1,39 @@
.ui-accordion { margin: 0; padding: 0; list-style-type: none; }
.ui-accordion li { margin: 0; margin-bottom: 2px; padding: 0; }
.ui-accordion li .ui-accordion-header {
display: block;
padding-left: 5px;
margin-right: 3px;
height: 28px;
background-image: url(i/accordion-middle.png);
color: #000;
text-decoration: none;
line-height: 28px;
position: relative;
left: 3px;
}
.ui-accordion li .ui-accordion-right {
display: block;
background-image: url(i/accordion-right.png);
position: absolute;
top: 0px;
right: -3px;
height: 28px;
width: 3px;
}
.ui-accordion li .ui-accordion-left {
display: block;
background-image: url(i/accordion-left.png);
background-repeat: no-repeat;
position: absolute;
height: 28px;
width: 3px;
}
.ui-accordion li:hover .ui-accordion-left { background-image: url(i/accordion-left-over.png); }
.ui-accordion li:hover .ui-accordion-header { background-image: url(i/accordion-middle-over.png); }
.ui-accordion li:hover .ui-accordion-right { background-image: url(i/accordion-right-over.png); }
.ui-accordion li.selected .ui-accordion-left { background-image: url(i/accordion-left-act.png); }
.ui-accordion li.selected .ui-accordion-header { background-image: url(i/accordion-middle-act.png); }
.ui-accordion li.selected .ui-accordion-right { background-image: url(i/accordion-right-act.png); }
.ui-accordion { margin: 0; padding: 0; list-style-type: none; }
.ui-accordion li { margin: 0; margin-bottom: 2px; padding: 0; }
.ui-accordion li .ui-accordion-header {
display: block;
padding-left: 5px;
margin-right: 3px;
height: 28px;
background-image: url(i/accordion-middle.png);
color: #000;
text-decoration: none;
line-height: 28px;
position: relative;
left: 3px;
}
.ui-accordion li .ui-accordion-right {
display: block;
background-image: url(i/accordion-right.png);
position: absolute;
top: 0px;
right: -3px;
height: 28px;
width: 3px;
}
.ui-accordion li .ui-accordion-left {
display: block;
background-image: url(i/accordion-left.png);
background-repeat: no-repeat;
position: absolute;
height: 28px;
width: 3px;
}
.ui-accordion li:hover .ui-accordion-left { background-image: url(i/accordion-left-over.png); }
.ui-accordion li:hover .ui-accordion-header { background-image: url(i/accordion-middle-over.png); }
.ui-accordion li:hover .ui-accordion-right { background-image: url(i/accordion-right-over.png); }
.ui-accordion li.selected .ui-accordion-left { background-image: url(i/accordion-left-act.png); }
.ui-accordion li.selected .ui-accordion-header { background-image: url(i/accordion-middle-act.png); }
.ui-accordion li.selected .ui-accordion-right { background-image: url(i/accordion-right-act.png); }

View File

@@ -1,7 +1,7 @@
@import "flora.css";
@import "flora.accordion.css";
@import "flora.datepicker.css";
@import "flora.dialog.css";
@import "flora.resizable.css";
@import "flora.slider.css";
@import "flora.tabs.css";
@import "flora.css";
@import "flora.accordion.css";
@import "flora.datepicker.css";
@import "flora.dialog.css";
@import "flora.resizable.css";
@import "flora.slider.css";
@import "flora.tabs.css";

View File

@@ -1,2 +1,2 @@
.ui-wrapper { border: 1px solid #50A029; }
.ui-wrapper { border: 1px solid #50A029; }
.ui-wrapper input, .ui-wrapper textarea { border: 0; }

View File

@@ -1,95 +1,95 @@
/* This file skins dialog */
.flora .ui-dialog,
.flora.ui-dialog {
background-color: #e6f7d4;
}
.flora .ui-dialog .ui-dialog-titlebar,
.flora.ui-dialog .ui-dialog-titlebar {
border-bottom: 1px solid #d8d2aa;
background: #ff9900 url(i/dialog-title.gif) repeat-x;
padding: 0px;
height: 28px;
_height: 29px;
}
.flora .ui-dialog.ui-draggable .ui-dialog-titlebar,
.flora.ui-dialog.ui-draggable .ui-dialog-titlebar {
cursor: move;
}
.flora .ui-dialog .ui-dialog-titlebar-close,
.flora.ui-dialog .ui-dialog-titlebar-close {
width: 16px;
height: 16px;
background: url(i/dialog-titlebar-close.png) no-repeat;
position:absolute;
top: 6px;
right: 7px;
cursor: default;
}
.flora .ui-dialog .ui-dialog-titlebar-close span,
.flora.ui-dialog .ui-dialog-titlebar-close span {
display: none;
}
.flora .ui-dialog .ui-dialog-titlebar-close-hover,
.flora.ui-dialog .ui-dialog-titlebar-close-hover {
background: url(i/dialog-titlebar-close-hover.png) no-repeat;
}
.flora .ui-dialog .ui-dialog-title,
.flora.ui-dialog .ui-dialog-title {
margin-left: 5px;
color: white;
font-weight: bold;
position: relative;
top: 7px;
left: 4px;
}
.flora .ui-dialog .ui-dialog-content,
.flora.ui-dialog .ui-dialog-content {
margin: 1.2em;
}
.flora .ui-dialog .ui-dialog-buttonpane,
.flora.ui-dialog .ui-dialog-buttonpane {
position: absolute;
bottom: 8px;
right: 12px;
width: 100%;
text-align: right;
}
.flora .ui-dialog .ui-dialog-buttonpane button,
.flora.ui-dialog .ui-dialog-buttonpane button {
margin: 6px;
}
/* Dialog handle styles */
.flora .ui-dialog .ui-resizable-n,
.flora.ui-dialog .ui-resizable-n { cursor: n-resize; height: 6px; width: 100%; top: 0px; left: 0px; background: transparent url(i/dialog-n.gif) repeat scroll center top; }
.flora .ui-dialog .ui-resizable-s,
.flora.ui-dialog .ui-resizable-s { cursor: s-resize; height: 8px; width: 100%; bottom: 0px; left: 0px; background: transparent url(i/dialog-s.gif) repeat scroll center top; }
.flora .ui-dialog .ui-resizable-e,
.flora.ui-dialog .ui-resizable-e { cursor: e-resize; width: 7px; right: 0px; top: 0px; height: 100%; background: transparent url(i/dialog-e.gif) repeat scroll right center; }
.flora .ui-dialog .ui-resizable-w,
.flora.ui-dialog .ui-resizable-w { cursor: w-resize; width: 7px; left: 0px; top: 0px; height: 100%; background: transparent url(i/dialog-w.gif) repeat scroll right center; }
.flora .ui-dialog .ui-resizable-se,
.flora.ui-dialog .ui-resizable-se { cursor: se-resize; width: 9px; height: 9px; right: 0px; bottom: 0px; background: transparent url(i/dialog-se.gif); }
.flora .ui-dialog .ui-resizable-sw,
.flora.ui-dialog .ui-resizable-sw { cursor: sw-resize; width: 9px; height: 9px; left: 0px; bottom: 0px; background: transparent url(i/dialog-sw.gif); }
.flora .ui-dialog .ui-resizable-nw,
.flora.ui-dialog .ui-resizable-nw { cursor: nw-resize; width: 9px; height: 29px; left: 0px; top: 0px; background: transparent url(i/dialog-nw.gif); }
.flora .ui-dialog .ui-resizable-ne,
.flora.ui-dialog .ui-resizable-ne { cursor: ne-resize; width: 9px; height: 29px; right: 0px; top: 0px; background: transparent url(i/dialog-ne.gif); }
/* This file skins dialog */
.flora .ui-dialog,
.flora.ui-dialog {
background-color: #e6f7d4;
}
.flora .ui-dialog .ui-dialog-titlebar,
.flora.ui-dialog .ui-dialog-titlebar {
border-bottom: 1px solid #d8d2aa;
background: #ff9900 url(i/dialog-title.gif) repeat-x;
padding: 0px;
height: 28px;
_height: 29px;
}
.flora .ui-dialog.ui-draggable .ui-dialog-titlebar,
.flora.ui-dialog.ui-draggable .ui-dialog-titlebar {
cursor: move;
}
.flora .ui-dialog .ui-dialog-titlebar-close,
.flora.ui-dialog .ui-dialog-titlebar-close {
width: 16px;
height: 16px;
background: url(i/dialog-titlebar-close.png) no-repeat;
position:absolute;
top: 6px;
right: 7px;
cursor: default;
}
.flora .ui-dialog .ui-dialog-titlebar-close span,
.flora.ui-dialog .ui-dialog-titlebar-close span {
display: none;
}
.flora .ui-dialog .ui-dialog-titlebar-close-hover,
.flora.ui-dialog .ui-dialog-titlebar-close-hover {
background: url(i/dialog-titlebar-close-hover.png) no-repeat;
}
.flora .ui-dialog .ui-dialog-title,
.flora.ui-dialog .ui-dialog-title {
margin-left: 5px;
color: white;
font-weight: bold;
position: relative;
top: 7px;
left: 4px;
}
.flora .ui-dialog .ui-dialog-content,
.flora.ui-dialog .ui-dialog-content {
margin: 1.2em;
}
.flora .ui-dialog .ui-dialog-buttonpane,
.flora.ui-dialog .ui-dialog-buttonpane {
position: absolute;
bottom: 8px;
right: 12px;
width: 100%;
text-align: right;
}
.flora .ui-dialog .ui-dialog-buttonpane button,
.flora.ui-dialog .ui-dialog-buttonpane button {
margin: 6px;
}
/* Dialog handle styles */
.flora .ui-dialog .ui-resizable-n,
.flora.ui-dialog .ui-resizable-n { cursor: n-resize; height: 6px; width: 100%; top: 0px; left: 0px; background: transparent url(i/dialog-n.gif) repeat scroll center top; }
.flora .ui-dialog .ui-resizable-s,
.flora.ui-dialog .ui-resizable-s { cursor: s-resize; height: 8px; width: 100%; bottom: 0px; left: 0px; background: transparent url(i/dialog-s.gif) repeat scroll center top; }
.flora .ui-dialog .ui-resizable-e,
.flora.ui-dialog .ui-resizable-e { cursor: e-resize; width: 7px; right: 0px; top: 0px; height: 100%; background: transparent url(i/dialog-e.gif) repeat scroll right center; }
.flora .ui-dialog .ui-resizable-w,
.flora.ui-dialog .ui-resizable-w { cursor: w-resize; width: 7px; left: 0px; top: 0px; height: 100%; background: transparent url(i/dialog-w.gif) repeat scroll right center; }
.flora .ui-dialog .ui-resizable-se,
.flora.ui-dialog .ui-resizable-se { cursor: se-resize; width: 9px; height: 9px; right: 0px; bottom: 0px; background: transparent url(i/dialog-se.gif); }
.flora .ui-dialog .ui-resizable-sw,
.flora.ui-dialog .ui-resizable-sw { cursor: sw-resize; width: 9px; height: 9px; left: 0px; bottom: 0px; background: transparent url(i/dialog-sw.gif); }
.flora .ui-dialog .ui-resizable-nw,
.flora.ui-dialog .ui-resizable-nw { cursor: nw-resize; width: 9px; height: 29px; left: 0px; top: 0px; background: transparent url(i/dialog-nw.gif); }
.flora .ui-dialog .ui-resizable-ne,
.flora.ui-dialog .ui-resizable-ne { cursor: ne-resize; width: 9px; height: 29px; right: 0px; top: 0px; background: transparent url(i/dialog-ne.gif); }

View File

@@ -1,20 +1,20 @@
/* This file skins resizables */
.ui-resizable { position: relative; }
/* Global handle styles */
.ui-resizable-handle { position: absolute; display: none; font-size: 0.1px; }
.ui-resizable .ui-resizable-handle { display: block; }
body .ui-resizable-disabled .ui-resizable-handle { display: none; } /* use 'body' to make it more specific (css order) */
body .ui-resizable-autohide .ui-resizable-handle { display: none; } /* use 'body' to make it more specific (css order) */
.ui-resizable-n { cursor: n-resize; height: 6px; width: 100%; top: 0px; left: 0px; background: transparent url(i/resizable-n.gif) repeat scroll center top; }
.ui-resizable-s { cursor: s-resize; height: 6px; width: 100%; bottom: 0px; left: 0px; background: transparent url(i/resizable-s.gif) repeat scroll center top; }
.ui-resizable-e { cursor: e-resize; width: 6px; right: 0px; top: 0px; height: 100%; background: transparent url(i/resizable-e.gif) repeat scroll right center; }
.ui-resizable-w { cursor: w-resize; width: 6px; left: 0px; top: 0px; height: 100%; background: transparent url(i/resizable-w.gif) repeat scroll right center; }
.ui-resizable-se { cursor: se-resize; width: 9px; height: 9px; right: 0px; bottom: 0px; background: transparent url(i/resizable-se.gif); }
.ui-resizable-sw { cursor: sw-resize; width: 9px; height: 9px; left: 0px; bottom: 0px; background: transparent url(i/resizable-sw.gif); }
.ui-resizable-nw { cursor: nw-resize; width: 9px; height: 9px; left: 0px; top: 0px; background: transparent url(i/resizable-nw.gif); }
/* This file skins resizables */
.ui-resizable { position: relative; }
/* Global handle styles */
.ui-resizable-handle { position: absolute; display: none; font-size: 0.1px; }
.ui-resizable .ui-resizable-handle { display: block; }
body .ui-resizable-disabled .ui-resizable-handle { display: none; } /* use 'body' to make it more specific (css order) */
body .ui-resizable-autohide .ui-resizable-handle { display: none; } /* use 'body' to make it more specific (css order) */
.ui-resizable-n { cursor: n-resize; height: 6px; width: 100%; top: 0px; left: 0px; background: transparent url(i/resizable-n.gif) repeat scroll center top; }
.ui-resizable-s { cursor: s-resize; height: 6px; width: 100%; bottom: 0px; left: 0px; background: transparent url(i/resizable-s.gif) repeat scroll center top; }
.ui-resizable-e { cursor: e-resize; width: 6px; right: 0px; top: 0px; height: 100%; background: transparent url(i/resizable-e.gif) repeat scroll right center; }
.ui-resizable-w { cursor: w-resize; width: 6px; left: 0px; top: 0px; height: 100%; background: transparent url(i/resizable-w.gif) repeat scroll right center; }
.ui-resizable-se { cursor: se-resize; width: 9px; height: 9px; right: 0px; bottom: 0px; background: transparent url(i/resizable-se.gif); }
.ui-resizable-sw { cursor: sw-resize; width: 9px; height: 9px; left: 0px; bottom: 0px; background: transparent url(i/resizable-sw.gif); }
.ui-resizable-nw { cursor: nw-resize; width: 9px; height: 9px; left: 0px; top: 0px; background: transparent url(i/resizable-nw.gif); }
.ui-resizable-ne { cursor: ne-resize; width: 9px; height: 9px; right: 0px; top: 0px; background: transparent url(i/resizable-ne.gif); }

View File

@@ -1,11 +1,11 @@
/* This file skins sliders */
.ui-slider { width: 200px; height: 23px; position: relative; background-repeat: no-repeat; background-position: center center; }
.ui-slider-handle { position: absolute; z-index: 1; height: 23px; width: 12px; top: 0px; left: 0px; background-image: url(i/slider-handle.gif); }
.ui-slider-handle-active { border: 1px dotted black; }
.ui-slider-disabled .ui-slider-handle { opacity: 0.5; filter: alpha(opacity=50); }
.ui-slider-range { position: absolute; background: #50A029; opacity: 0.3; filter: alpha(opacity=30); width: 100%; height: 100%; }
/* This file skins sliders */
/* Default slider backgrounds */
.ui-slider, .ui-slider-1 { background-image: url(i/slider-bg-1.png); }
.ui-slider-2 { background-image: url(i/slider-bg-2.png); }
.ui-slider { width: 200px; height: 23px; position: relative; background-repeat: no-repeat; background-position: center center; }
.ui-slider-handle { position: absolute; z-index: 1; height: 23px; width: 12px; top: 0px; left: 0px; background-image: url(i/slider-handle.gif); }
.ui-slider-handle-active { border: 1px dotted black; }
.ui-slider-disabled .ui-slider-handle { opacity: 0.5; filter: alpha(opacity=50); }
.ui-slider-range { position: absolute; background: #50A029; opacity: 0.3; filter: alpha(opacity=30); width: 100%; height: 100%; }
/* Default slider backgrounds */
.ui-slider, .ui-slider-1 { background-image: url(i/slider-bg-1.png); }
.ui-slider-2 { background-image: url(i/slider-bg-2.png); }

View File

@@ -1,207 +1,207 @@
/* Main Style Sheet for jQuery UI date picker */
#ui-datepicker-div, .ui-datepicker-inline {
font-family: Arial, Helvetica, sans-serif;
font-size: 14px;
padding: 0;
margin: 0;
background: #ddd;
width: 185px;
}
#ui-datepicker-div {
display: none;
border: 1px solid #777;
z-index: 9999; /*must have*/
}
.ui-datepicker-inline {
float: left;
display: block;
border: 0;
}
.ui-datepicker-rtl {
direction: rtl;
}
.ui-datepicker-dialog {
padding: 5px !important;
border: 4px ridge #ddd !important;
}
button.ui-datepicker-trigger {
width: 25px;
}
img.ui-datepicker-trigger {
margin: 2px;
vertical-align: middle;
}
.ui-datepicker-prompt {
float: left;
padding: 2px;
background: #ddd;
color: #000;
}
* html .ui-datepicker-prompt {
width: 185px;
}
.ui-datepicker-control, .ui-datepicker-links, .ui-datepicker-header, .ui-datepicker {
clear: both;
float: left;
width: 100%;
color: #fff;
}
.ui-datepicker-control {
background: #400;
padding: 2px 0px;
}
.ui-datepicker-links {
background: #000;
padding: 2px 0px;
}
.ui-datepicker-control, .ui-datepicker-links {
font-weight: bold;
font-size: 80%;
}
.ui-datepicker-links label { /* disabled links */
padding: 2px 5px;
color: #888;
}
.ui-datepicker-clear, .ui-datepicker-prev {
float: left;
width: 34%;
}
.ui-datepicker-rtl .ui-datepicker-clear, .ui-datepicker-rtl .ui-datepicker-prev {
float: right;
text-align: right;
}
.ui-datepicker-current {
float: left;
width: 30%;
text-align: center;
}
.ui-datepicker-close, .ui-datepicker-next {
float: right;
width: 34%;
text-align: right;
}
.ui-datepicker-rtl .ui-datepicker-close, .ui-datepicker-rtl .ui-datepicker-next {
float: left;
text-align: left;
}
.ui-datepicker-header {
padding: 1px 0 3px;
background: #333;
text-align: center;
font-weight: bold;
height: 1.3em;
}
.ui-datepicker-header select {
background: #333;
color: #fff;
border: 0px;
font-weight: bold;
}
.ui-datepicker {
background: #ccc;
text-align: center;
font-size: 100%;
}
.ui-datepicker a {
display: block;
width: 100%;
}
.ui-datepicker-titleRow {
background: #777;
}
.ui-datepicker-daysRow {
background: #eee;
color: #666;
}
.ui-datepicker-weekCol {
background: #777;
color: #fff;
}
.ui-datepicker-daysCell {
color: #000;
border: 1px solid #ddd;
}
.ui-datepicker-daysCell a{
display: block;
}
.ui-datepicker-weekEndCell {
background: #ddd;
}
.ui-datepicker-titleRow .ui-datepicker-weekEndCell {
background: #777;
}
.ui-datepicker-daysCellOver {
background: #fff;
border: 1px solid #777;
}
.ui-datepicker-unselectable {
color: #888;
}
.ui-datepicker-today {
background: #fcc !important;
}
.ui-datepicker-currentDay {
background: #999 !important;
}
.ui-datepicker-status {
background: #ddd;
width: 100%;
font-size: 80%;
text-align: center;
}
/* ________ Datepicker Links _______
** Reset link properties and then override them with !important */
#ui-datepicker-div a, .ui-datepicker-inline a {
cursor: pointer;
margin: 0;
padding: 0;
background: none;
color: #000;
}
.ui-datepicker-inline .ui-datepicker-links a {
padding: 0 5px !important;
}
.ui-datepicker-control a, .ui-datepicker-links a {
padding: 2px 5px !important;
color: #eee !important;
}
.ui-datepicker-titleRow a {
color: #eee !important;
}
.ui-datepicker-control a:hover {
background: #fdd !important;
color: #333 !important;
}
.ui-datepicker-links a:hover, .ui-datepicker-titleRow a:hover {
background: #ddd !important;
color: #333 !important;
}
/* ___________ MULTIPLE MONTHS _________*/
.ui-datepicker-multi .ui-datepicker {
border: 1px solid #777;
}
.ui-datepicker-oneMonth {
float: left;
width: 185px;
}
.ui-datepicker-newRow {
clear: left;
}
/* ___________ IE6 IFRAME FIX ________ */
.ui-datepicker-cover {
display: none; /*sorry for IE5*/
display/**/: block; /*sorry for IE5*/
position: absolute; /*must have*/
z-index: -1; /*must have*/
filter: mask(); /*must have*/
top: -4px; /*must have*/
left: -4px; /*must have*/
width: 200px; /*must have*/
height: 200px; /*must have*/
/* Main Style Sheet for jQuery UI date picker */
#ui-datepicker-div, .ui-datepicker-inline {
font-family: Arial, Helvetica, sans-serif;
font-size: 14px;
padding: 0;
margin: 0;
background: #ddd;
width: 185px;
}
#ui-datepicker-div {
display: none;
border: 1px solid #777;
z-index: 9999; /*must have*/
}
.ui-datepicker-inline {
float: left;
display: block;
border: 0;
}
.ui-datepicker-rtl {
direction: rtl;
}
.ui-datepicker-dialog {
padding: 5px !important;
border: 4px ridge #ddd !important;
}
button.ui-datepicker-trigger {
width: 25px;
}
img.ui-datepicker-trigger {
margin: 2px;
vertical-align: middle;
}
.ui-datepicker-prompt {
float: left;
padding: 2px;
background: #ddd;
color: #000;
}
* html .ui-datepicker-prompt {
width: 185px;
}
.ui-datepicker-control, .ui-datepicker-links, .ui-datepicker-header, .ui-datepicker {
clear: both;
float: left;
width: 100%;
color: #fff;
}
.ui-datepicker-control {
background: #400;
padding: 2px 0px;
}
.ui-datepicker-links {
background: #000;
padding: 2px 0px;
}
.ui-datepicker-control, .ui-datepicker-links {
font-weight: bold;
font-size: 80%;
}
.ui-datepicker-links label { /* disabled links */
padding: 2px 5px;
color: #888;
}
.ui-datepicker-clear, .ui-datepicker-prev {
float: left;
width: 34%;
}
.ui-datepicker-rtl .ui-datepicker-clear, .ui-datepicker-rtl .ui-datepicker-prev {
float: right;
text-align: right;
}
.ui-datepicker-current {
float: left;
width: 30%;
text-align: center;
}
.ui-datepicker-close, .ui-datepicker-next {
float: right;
width: 34%;
text-align: right;
}
.ui-datepicker-rtl .ui-datepicker-close, .ui-datepicker-rtl .ui-datepicker-next {
float: left;
text-align: left;
}
.ui-datepicker-header {
padding: 1px 0 3px;
background: #333;
text-align: center;
font-weight: bold;
height: 1.3em;
}
.ui-datepicker-header select {
background: #333;
color: #fff;
border: 0px;
font-weight: bold;
}
.ui-datepicker {
background: #ccc;
text-align: center;
font-size: 100%;
}
.ui-datepicker a {
display: block;
width: 100%;
}
.ui-datepicker-titleRow {
background: #777;
}
.ui-datepicker-daysRow {
background: #eee;
color: #666;
}
.ui-datepicker-weekCol {
background: #777;
color: #fff;
}
.ui-datepicker-daysCell {
color: #000;
border: 1px solid #ddd;
}
.ui-datepicker-daysCell a{
display: block;
}
.ui-datepicker-weekEndCell {
background: #ddd;
}
.ui-datepicker-titleRow .ui-datepicker-weekEndCell {
background: #777;
}
.ui-datepicker-daysCellOver {
background: #fff;
border: 1px solid #777;
}
.ui-datepicker-unselectable {
color: #888;
}
.ui-datepicker-today {
background: #fcc !important;
}
.ui-datepicker-currentDay {
background: #999 !important;
}
.ui-datepicker-status {
background: #ddd;
width: 100%;
font-size: 80%;
text-align: center;
}
/* ________ Datepicker Links _______
** Reset link properties and then override them with !important */
#ui-datepicker-div a, .ui-datepicker-inline a {
cursor: pointer;
margin: 0;
padding: 0;
background: none;
color: #000;
}
.ui-datepicker-inline .ui-datepicker-links a {
padding: 0 5px !important;
}
.ui-datepicker-control a, .ui-datepicker-links a {
padding: 2px 5px !important;
color: #eee !important;
}
.ui-datepicker-titleRow a {
color: #eee !important;
}
.ui-datepicker-control a:hover {
background: #fdd !important;
color: #333 !important;
}
.ui-datepicker-links a:hover, .ui-datepicker-titleRow a:hover {
background: #ddd !important;
color: #333 !important;
}
/* ___________ MULTIPLE MONTHS _________*/
.ui-datepicker-multi .ui-datepicker {
border: 1px solid #777;
}
.ui-datepicker-oneMonth {
float: left;
width: 185px;
}
.ui-datepicker-newRow {
clear: left;
}
/* ___________ IE6 IFRAME FIX ________ */
.ui-datepicker-cover {
display: none; /*sorry for IE5*/
display/**/: block; /*sorry for IE5*/
position: absolute; /*must have*/
z-index: -1; /*must have*/
filter: mask(); /*must have*/
top: -4px; /*must have*/
left: -4px; /*must have*/
width: 200px; /*must have*/
height: 200px; /*must have*/
}