Page Menu
Home
Phorge
Search
Configure Global Search
Log In
Files
F117749653
jquery-ui-1.9.2.custom.min.js
No One
Temporary
Actions
View File
Edit File
Delete File
View Transforms
Subscribe
Flag For Later
Award Token
Authored By
Unknown
Size
231 KB
Referenced Files
None
Subscribers
None
jquery-ui-1.9.2.custom.min.js
View Options
/*! jQuery UI - v1.9.2 - 2014-01-19
* http://jqueryui.com
* Includes: jquery.ui.core.js, jquery.ui.widget.js, jquery.ui.mouse.js, jquery.ui.position.js, jquery.ui.draggable.js, jquery.ui.droppable.js, jquery.ui.resizable.js, jquery.ui.selectable.js, jquery.ui.sortable.js, jquery.ui.accordion.js, jquery.ui.autocomplete.js, jquery.ui.button.js, jquery.ui.datepicker.js, jquery.ui.dialog.js, jquery.ui.menu.js, jquery.ui.progressbar.js, jquery.ui.slider.js, jquery.ui.spinner.js, jquery.ui.tabs.js, jquery.ui.tooltip.js, jquery.ui.effect.js, jquery.ui.effect-blind.js, jquery.ui.effect-bounce.js, jquery.ui.effect-clip.js, jquery.ui.effect-drop.js, jquery.ui.effect-explode.js, jquery.ui.effect-fade.js, jquery.ui.effect-fold.js, jquery.ui.effect-highlight.js, jquery.ui.effect-pulsate.js, jquery.ui.effect-scale.js, jquery.ui.effect-shake.js, jquery.ui.effect-slide.js, jquery.ui.effect-transfer.js
* Copyright 2014 jQuery Foundation and other contributors; Licensed MIT */
(
function
(
e
,
t
){
function
i
(
t
,
i
){
var
s
,
n
,
r
,
o
=
t
.
nodeName
.
toLowerCase
();
return
"area"
===
o
?
(
s
=
t
.
parentNode
,
n
=
s
.
name
,
t
.
href
&&
n
&&
"map"
===
s
.
nodeName
.
toLowerCase
()
?
(
r
=
e
(
"img[usemap=#"
+
n
+
"]"
)[
0
],
!!
r
&&
a
(
r
))
:!
1
)
:
(
/input|select|textarea|button|object/
.
test
(
o
)
?!
t
.
disabled
:
"a"
===
o
?
t
.
href
||
i
:
i
)
&&
a
(
t
)}
function
a
(
t
){
return
e
.
expr
.
filters
.
visible
(
t
)
&&!
e
(
t
).
parents
().
andSelf
().
filter
(
function
(){
return
"hidden"
===
e
.
css
(
this
,
"visibility"
)}).
length
}
var
s
=
0
,
n
=
/^ui-id-\d+$/
;
e
.
ui
=
e
.
ui
||
{},
e
.
ui
.
version
||
(
e
.
extend
(
e
.
ui
,{
version
:
"1.9.2"
,
keyCode
:
{
BACKSPACE
:
8
,
COMMA
:
188
,
DELETE
:
46
,
DOWN
:
40
,
END
:
35
,
ENTER
:
13
,
ESCAPE
:
27
,
HOME
:
36
,
LEFT
:
37
,
NUMPAD_ADD
:
107
,
NUMPAD_DECIMAL
:
110
,
NUMPAD_DIVIDE
:
111
,
NUMPAD_ENTER
:
108
,
NUMPAD_MULTIPLY
:
106
,
NUMPAD_SUBTRACT
:
109
,
PAGE_DOWN
:
34
,
PAGE_UP
:
33
,
PERIOD
:
190
,
RIGHT
:
39
,
SPACE
:
32
,
TAB
:
9
,
UP
:
38
}}),
e
.
fn
.
extend
({
_focus
:
e
.
fn
.
focus
,
focus
:
function
(
t
,
i
){
return
"number"
==
typeof
t
?
this
.
each
(
function
(){
var
a
=
this
;
setTimeout
(
function
(){
e
(
a
).
focus
(),
i
&&
i
.
call
(
a
)},
t
)})
:
this
.
_focus
.
apply
(
this
,
arguments
)},
scrollParent
:
function
(){
var
t
;
return
t
=
e
.
ui
.
ie
&&
/(static|relative)/
.
test
(
this
.
css
(
"position"
))
||
/absolute/
.
test
(
this
.
css
(
"position"
))
?
this
.
parents
().
filter
(
function
(){
return
/(relative|absolute|fixed)/
.
test
(
e
.
css
(
this
,
"position"
))
&&
/(auto|scroll)/
.
test
(
e
.
css
(
this
,
"overflow"
)
+
e
.
css
(
this
,
"overflow-y"
)
+
e
.
css
(
this
,
"overflow-x"
))}).
eq
(
0
)
:
this
.
parents
().
filter
(
function
(){
return
/(auto|scroll)/
.
test
(
e
.
css
(
this
,
"overflow"
)
+
e
.
css
(
this
,
"overflow-y"
)
+
e
.
css
(
this
,
"overflow-x"
))}).
eq
(
0
),
/fixed/
.
test
(
this
.
css
(
"position"
))
||!
t
.
length
?
e
(
document
)
:
t
},
zIndex
:
function
(
i
){
if
(
i
!==
t
)
return
this
.
css
(
"zIndex"
,
i
);
if
(
this
.
length
)
for
(
var
a
,
s
,
n
=
e
(
this
[
0
]);
n
.
length
&&
n
[
0
]
!==
document
;){
if
(
a
=
n
.
css
(
"position"
),(
"absolute"
===
a
||
"relative"
===
a
||
"fixed"
===
a
)
&&
(
s
=
parseInt
(
n
.
css
(
"zIndex"
),
10
),
!
isNaN
(
s
)
&&
0
!==
s
))
return
s
;
n
=
n
.
parent
()}
return
0
},
uniqueId
:
function
(){
return
this
.
each
(
function
(){
this
.
id
||
(
this
.
id
=
"ui-id-"
+
++
s
)})},
removeUniqueId
:
function
(){
return
this
.
each
(
function
(){
n
.
test
(
this
.
id
)
&&
e
(
this
).
removeAttr
(
"id"
)})}}),
e
.
extend
(
e
.
expr
[
":"
],{
data
:
e
.
expr
.
createPseudo
?
e
.
expr
.
createPseudo
(
function
(
t
){
return
function
(
i
){
return
!!
e
.
data
(
i
,
t
)}})
:
function
(
t
,
i
,
a
){
return
!!
e
.
data
(
t
,
a
[
3
])},
focusable
:
function
(
t
){
return
i
(
t
,
!
isNaN
(
e
.
attr
(
t
,
"tabindex"
)))},
tabbable
:
function
(
t
){
var
a
=
e
.
attr
(
t
,
"tabindex"
),
s
=
isNaN
(
a
);
return
(
s
||
a
>=
0
)
&&
i
(
t
,
!
s
)}}),
e
(
function
(){
var
t
=
document
.
body
,
i
=
t
.
appendChild
(
i
=
document
.
createElement
(
"div"
));
i
.
offsetHeight
,
e
.
extend
(
i
.
style
,{
minHeight
:
"100px"
,
height
:
"auto"
,
padding
:
0
,
borderWidth
:
0
}),
e
.
support
.
minHeight
=
100
===
i
.
offsetHeight
,
e
.
support
.
selectstart
=
"onselectstart"
in
i
,
t
.
removeChild
(
i
).
style
.
display
=
"none"
}),
e
(
"<a>"
).
outerWidth
(
1
).
jquery
||
e
.
each
([
"Width"
,
"Height"
],
function
(
i
,
a
){
function
s
(
t
,
i
,
a
,
s
){
return
e
.
each
(
n
,
function
(){
i
-=
parseFloat
(
e
.
css
(
t
,
"padding"
+
this
))
||
0
,
a
&&
(
i
-=
parseFloat
(
e
.
css
(
t
,
"border"
+
this
+
"Width"
))
||
0
),
s
&&
(
i
-=
parseFloat
(
e
.
css
(
t
,
"margin"
+
this
))
||
0
)}),
i
}
var
n
=
"Width"
===
a
?
[
"Left"
,
"Right"
]
:
[
"Top"
,
"Bottom"
],
r
=
a
.
toLowerCase
(),
o
=
{
innerWidth
:
e
.
fn
.
innerWidth
,
innerHeight
:
e
.
fn
.
innerHeight
,
outerWidth
:
e
.
fn
.
outerWidth
,
outerHeight
:
e
.
fn
.
outerHeight
};
e
.
fn
[
"inner"
+
a
]
=
function
(
i
){
return
i
===
t
?
o
[
"inner"
+
a
].
call
(
this
)
:
this
.
each
(
function
(){
e
(
this
).
css
(
r
,
s
(
this
,
i
)
+
"px"
)})},
e
.
fn
[
"outer"
+
a
]
=
function
(
t
,
i
){
return
"number"
!=
typeof
t
?
o
[
"outer"
+
a
].
call
(
this
,
t
)
:
this
.
each
(
function
(){
e
(
this
).
css
(
r
,
s
(
this
,
t
,
!
0
,
i
)
+
"px"
)})}}),
e
(
"<a>"
).
data
(
"a-b"
,
"a"
).
removeData
(
"a-b"
).
data
(
"a-b"
)
&&
(
e
.
fn
.
removeData
=
function
(
t
){
return
function
(
i
){
return
arguments
.
length
?
t
.
call
(
this
,
e
.
camelCase
(
i
))
:
t
.
call
(
this
)}}(
e
.
fn
.
removeData
)),
function
(){
var
t
=
/msie ([\w.]+)/
.
exec
(
navigator
.
userAgent
.
toLowerCase
())
||
[];
e
.
ui
.
ie
=
t
.
length
?!
0
:!
1
,
e
.
ui
.
ie6
=
6
===
parseFloat
(
t
[
1
],
10
)}(),
e
.
fn
.
extend
({
disableSelection
:
function
(){
return
this
.
bind
((
e
.
support
.
selectstart
?
"selectstart"
:
"mousedown"
)
+
".ui-disableSelection"
,
function
(
e
){
e
.
preventDefault
()})},
enableSelection
:
function
(){
return
this
.
unbind
(
".ui-disableSelection"
)}}),
e
.
extend
(
e
.
ui
,{
plugin
:
{
add
:
function
(
t
,
i
,
a
){
var
s
,
n
=
e
.
ui
[
t
].
prototype
;
for
(
s
in
a
)
n
.
plugins
[
s
]
=
n
.
plugins
[
s
]
||
[],
n
.
plugins
[
s
].
push
([
i
,
a
[
s
]])},
call
:
function
(
e
,
t
,
i
){
var
a
,
s
=
e
.
plugins
[
t
];
if
(
s
&&
e
.
element
[
0
].
parentNode
&&
11
!==
e
.
element
[
0
].
parentNode
.
nodeType
)
for
(
a
=
0
;
s
.
length
>
a
;
a
++
)
e
.
options
[
s
[
a
][
0
]]
&&
s
[
a
][
1
].
apply
(
e
.
element
,
i
)}},
contains
:
e
.
contains
,
hasScroll
:
function
(
t
,
i
){
if
(
"hidden"
===
e
(
t
).
css
(
"overflow"
))
return
!
1
;
var
a
=
i
&&
"left"
===
i
?
"scrollLeft"
:
"scrollTop"
,
s
=!
1
;
return
t
[
a
]
>
0
?!
0
:
(
t
[
a
]
=
1
,
s
=
t
[
a
]
>
0
,
t
[
a
]
=
0
,
s
)},
isOverAxis
:
function
(
e
,
t
,
i
){
return
e
>
t
&&
t
+
i
>
e
},
isOver
:
function
(
t
,
i
,
a
,
s
,
n
,
r
){
return
e
.
ui
.
isOverAxis
(
t
,
a
,
n
)
&&
e
.
ui
.
isOverAxis
(
i
,
s
,
r
)}}))})(
jQuery
);(
function
(
e
,
t
){
var
i
=
0
,
s
=
Array
.
prototype
.
slice
,
a
=
e
.
cleanData
;
e
.
cleanData
=
function
(
t
){
for
(
var
i
,
s
=
0
;
null
!=
(
i
=
t
[
s
]);
s
++
)
try
{
e
(
i
).
triggerHandler
(
"remove"
)}
catch
(
n
){}
a
(
t
)},
e
.
widget
=
function
(
i
,
s
,
a
){
var
n
,
r
,
o
,
h
,
l
=
i
.
split
(
"."
)[
0
];
i
=
i
.
split
(
"."
)[
1
],
n
=
l
+
"-"
+
i
,
a
||
(
a
=
s
,
s
=
e
.
Widget
),
e
.
expr
[
":"
][
n
.
toLowerCase
()]
=
function
(
t
){
return
!!
e
.
data
(
t
,
n
)},
e
[
l
]
=
e
[
l
]
||
{},
r
=
e
[
l
][
i
],
o
=
e
[
l
][
i
]
=
function
(
e
,
i
){
return
this
.
_createWidget
?
(
arguments
.
length
&&
this
.
_createWidget
(
e
,
i
),
t
)
:
new
o
(
e
,
i
)},
e
.
extend
(
o
,
r
,{
version
:
a
.
version
,
_proto
:
e
.
extend
({},
a
),
_childConstructors
:
[]}),
h
=
new
s
,
h
.
options
=
e
.
widget
.
extend
({},
h
.
options
),
e
.
each
(
a
,
function
(
t
,
i
){
e
.
isFunction
(
i
)
&&
(
a
[
t
]
=
function
(){
var
e
=
function
(){
return
s
.
prototype
[
t
].
apply
(
this
,
arguments
)},
a
=
function
(
e
){
return
s
.
prototype
[
t
].
apply
(
this
,
e
)};
return
function
(){
var
t
,
s
=
this
.
_super
,
n
=
this
.
_superApply
;
return
this
.
_super
=
e
,
this
.
_superApply
=
a
,
t
=
i
.
apply
(
this
,
arguments
),
this
.
_super
=
s
,
this
.
_superApply
=
n
,
t
}}())}),
o
.
prototype
=
e
.
widget
.
extend
(
h
,{
widgetEventPrefix
:
r
?
h
.
widgetEventPrefix
:
i
},
a
,{
constructor
:
o
,
namespace
:
l
,
widgetName
:
i
,
widgetBaseClass
:
n
,
widgetFullName
:
n
}),
r
?
(
e
.
each
(
r
.
_childConstructors
,
function
(
t
,
i
){
var
s
=
i
.
prototype
;
e
.
widget
(
s
.
namespace
+
"."
+
s
.
widgetName
,
o
,
i
.
_proto
)}),
delete
r
.
_childConstructors
)
:
s
.
_childConstructors
.
push
(
o
),
e
.
widget
.
bridge
(
i
,
o
)},
e
.
widget
.
extend
=
function
(
i
){
for
(
var
a
,
n
,
r
=
s
.
call
(
arguments
,
1
),
o
=
0
,
h
=
r
.
length
;
h
>
o
;
o
++
)
for
(
a
in
r
[
o
])
n
=
r
[
o
][
a
],
r
[
o
].
hasOwnProperty
(
a
)
&&
n
!==
t
&&
(
i
[
a
]
=
e
.
isPlainObject
(
n
)
?
e
.
isPlainObject
(
i
[
a
])
?
e
.
widget
.
extend
({},
i
[
a
],
n
)
:
e
.
widget
.
extend
({},
n
)
:
n
);
return
i
},
e
.
widget
.
bridge
=
function
(
i
,
a
){
var
n
=
a
.
prototype
.
widgetFullName
||
i
;
e
.
fn
[
i
]
=
function
(
r
){
var
o
=
"string"
==
typeof
r
,
h
=
s
.
call
(
arguments
,
1
),
l
=
this
;
return
r
=!
o
&&
h
.
length
?
e
.
widget
.
extend
.
apply
(
null
,[
r
].
concat
(
h
))
:
r
,
o
?
this
.
each
(
function
(){
var
s
,
a
=
e
.
data
(
this
,
n
);
return
a
?
e
.
isFunction
(
a
[
r
])
&&
"_"
!==
r
.
charAt
(
0
)
?
(
s
=
a
[
r
].
apply
(
a
,
h
),
s
!==
a
&&
s
!==
t
?
(
l
=
s
&&
s
.
jquery
?
l
.
pushStack
(
s
.
get
())
:
s
,
!
1
)
:
t
)
:
e
.
error
(
"no such method '"
+
r
+
"' for "
+
i
+
" widget instance"
)
:
e
.
error
(
"cannot call methods on "
+
i
+
" prior to initialization; "
+
"attempted to call method '"
+
r
+
"'"
)})
:
this
.
each
(
function
(){
var
t
=
e
.
data
(
this
,
n
);
t
?
t
.
option
(
r
||
{}).
_init
()
:
e
.
data
(
this
,
n
,
new
a
(
r
,
this
))}),
l
}},
e
.
Widget
=
function
(){},
e
.
Widget
.
_childConstructors
=
[],
e
.
Widget
.
prototype
=
{
widgetName
:
"widget"
,
widgetEventPrefix
:
""
,
defaultElement
:
"<div>"
,
options
:
{
disabled
:!
1
,
create
:
null
},
_createWidget
:
function
(
t
,
s
){
s
=
e
(
s
||
this
.
defaultElement
||
this
)[
0
],
this
.
element
=
e
(
s
),
this
.
uuid
=
i
++
,
this
.
eventNamespace
=
"."
+
this
.
widgetName
+
this
.
uuid
,
this
.
options
=
e
.
widget
.
extend
({},
this
.
options
,
this
.
_getCreateOptions
(),
t
),
this
.
bindings
=
e
(),
this
.
hoverable
=
e
(),
this
.
focusable
=
e
(),
s
!==
this
&&
(
e
.
data
(
s
,
this
.
widgetName
,
this
),
e
.
data
(
s
,
this
.
widgetFullName
,
this
),
this
.
_on
(
!
0
,
this
.
element
,{
remove
:
function
(
e
){
e
.
target
===
s
&&
this
.
destroy
()}}),
this
.
document
=
e
(
s
.
style
?
s
.
ownerDocument
:
s
.
document
||
s
),
this
.
window
=
e
(
this
.
document
[
0
].
defaultView
||
this
.
document
[
0
].
parentWindow
)),
this
.
_create
(),
this
.
_trigger
(
"create"
,
null
,
this
.
_getCreateEventData
()),
this
.
_init
()},
_getCreateOptions
:
e
.
noop
,
_getCreateEventData
:
e
.
noop
,
_create
:
e
.
noop
,
_init
:
e
.
noop
,
destroy
:
function
(){
this
.
_destroy
(),
this
.
element
.
unbind
(
this
.
eventNamespace
).
removeData
(
this
.
widgetName
).
removeData
(
this
.
widgetFullName
).
removeData
(
e
.
camelCase
(
this
.
widgetFullName
)),
this
.
widget
().
unbind
(
this
.
eventNamespace
).
removeAttr
(
"aria-disabled"
).
removeClass
(
this
.
widgetFullName
+
"-disabled "
+
"ui-state-disabled"
),
this
.
bindings
.
unbind
(
this
.
eventNamespace
),
this
.
hoverable
.
removeClass
(
"ui-state-hover"
),
this
.
focusable
.
removeClass
(
"ui-state-focus"
)},
_destroy
:
e
.
noop
,
widget
:
function
(){
return
this
.
element
},
option
:
function
(
i
,
s
){
var
a
,
n
,
r
,
o
=
i
;
if
(
0
===
arguments
.
length
)
return
e
.
widget
.
extend
({},
this
.
options
);
if
(
"string"
==
typeof
i
)
if
(
o
=
{},
a
=
i
.
split
(
"."
),
i
=
a
.
shift
(),
a
.
length
){
for
(
n
=
o
[
i
]
=
e
.
widget
.
extend
({},
this
.
options
[
i
]),
r
=
0
;
a
.
length
-
1
>
r
;
r
++
)
n
[
a
[
r
]]
=
n
[
a
[
r
]]
||
{},
n
=
n
[
a
[
r
]];
if
(
i
=
a
.
pop
(),
s
===
t
)
return
n
[
i
]
===
t
?
null
:
n
[
i
];
n
[
i
]
=
s
}
else
{
if
(
s
===
t
)
return
this
.
options
[
i
]
===
t
?
null
:
this
.
options
[
i
];
o
[
i
]
=
s
}
return
this
.
_setOptions
(
o
),
this
},
_setOptions
:
function
(
e
){
var
t
;
for
(
t
in
e
)
this
.
_setOption
(
t
,
e
[
t
]);
return
this
},
_setOption
:
function
(
e
,
t
){
return
this
.
options
[
e
]
=
t
,
"disabled"
===
e
&&
(
this
.
widget
().
toggleClass
(
this
.
widgetFullName
+
"-disabled ui-state-disabled"
,
!!
t
).
attr
(
"aria-disabled"
,
t
),
this
.
hoverable
.
removeClass
(
"ui-state-hover"
),
this
.
focusable
.
removeClass
(
"ui-state-focus"
)),
this
},
enable
:
function
(){
return
this
.
_setOption
(
"disabled"
,
!
1
)},
disable
:
function
(){
return
this
.
_setOption
(
"disabled"
,
!
0
)},
_on
:
function
(
i
,
s
,
a
){
var
n
,
r
=
this
;
"boolean"
!=
typeof
i
&&
(
a
=
s
,
s
=
i
,
i
=!
1
),
a
?
(
s
=
n
=
e
(
s
),
this
.
bindings
=
this
.
bindings
.
add
(
s
))
:
(
a
=
s
,
s
=
this
.
element
,
n
=
this
.
widget
()),
e
.
each
(
a
,
function
(
a
,
o
){
function
h
(){
return
i
||
r
.
options
.
disabled
!==!
0
&&!
e
(
this
).
hasClass
(
"ui-state-disabled"
)
?
(
"string"
==
typeof
o
?
r
[
o
]
:
o
).
apply
(
r
,
arguments
)
:
t
}
"string"
!=
typeof
o
&&
(
h
.
guid
=
o
.
guid
=
o
.
guid
||
h
.
guid
||
e
.
guid
++
);
var
l
=
a
.
match
(
/^(\w+)\s*(.*)$/
),
u
=
l
[
1
]
+
r
.
eventNamespace
,
c
=
l
[
2
];
c
?
n
.
delegate
(
c
,
u
,
h
)
:
s
.
bind
(
u
,
h
)})},
_off
:
function
(
e
,
t
){
t
=
(
t
||
""
).
split
(
" "
).
join
(
this
.
eventNamespace
+
" "
)
+
this
.
eventNamespace
,
e
.
unbind
(
t
).
undelegate
(
t
)},
_delay
:
function
(
e
,
t
){
function
i
(){
return
(
"string"
==
typeof
e
?
s
[
e
]
:
e
).
apply
(
s
,
arguments
)}
var
s
=
this
;
return
setTimeout
(
i
,
t
||
0
)},
_hoverable
:
function
(
t
){
this
.
hoverable
=
this
.
hoverable
.
add
(
t
),
this
.
_on
(
t
,{
mouseenter
:
function
(
t
){
e
(
t
.
currentTarget
).
addClass
(
"ui-state-hover"
)},
mouseleave
:
function
(
t
){
e
(
t
.
currentTarget
).
removeClass
(
"ui-state-hover"
)}})},
_focusable
:
function
(
t
){
this
.
focusable
=
this
.
focusable
.
add
(
t
),
this
.
_on
(
t
,{
focusin
:
function
(
t
){
e
(
t
.
currentTarget
).
addClass
(
"ui-state-focus"
)},
focusout
:
function
(
t
){
e
(
t
.
currentTarget
).
removeClass
(
"ui-state-focus"
)}})},
_trigger
:
function
(
t
,
i
,
s
){
var
a
,
n
,
r
=
this
.
options
[
t
];
if
(
s
=
s
||
{},
i
=
e
.
Event
(
i
),
i
.
type
=
(
t
===
this
.
widgetEventPrefix
?
t
:
this
.
widgetEventPrefix
+
t
).
toLowerCase
(),
i
.
target
=
this
.
element
[
0
],
n
=
i
.
originalEvent
)
for
(
a
in
n
)
a
in
i
||
(
i
[
a
]
=
n
[
a
]);
return
this
.
element
.
trigger
(
i
,
s
),
!
(
e
.
isFunction
(
r
)
&&
r
.
apply
(
this
.
element
[
0
],[
i
].
concat
(
s
))
===!
1
||
i
.
isDefaultPrevented
())}},
e
.
each
({
show
:
"fadeIn"
,
hide
:
"fadeOut"
},
function
(
t
,
i
){
e
.
Widget
.
prototype
[
"_"
+
t
]
=
function
(
s
,
a
,
n
){
"string"
==
typeof
a
&&
(
a
=
{
effect
:
a
});
var
r
,
o
=
a
?
a
===!
0
||
"number"
==
typeof
a
?
i
:
a
.
effect
||
i
:
t
;
a
=
a
||
{},
"number"
==
typeof
a
&&
(
a
=
{
duration
:
a
}),
r
=!
e
.
isEmptyObject
(
a
),
a
.
complete
=
n
,
a
.
delay
&&
s
.
delay
(
a
.
delay
),
r
&&
e
.
effects
&&
(
e
.
effects
.
effect
[
o
]
||
e
.
uiBackCompat
!==!
1
&&
e
.
effects
[
o
])
?
s
[
t
](
a
)
:
o
!==
t
&&
s
[
o
]
?
s
[
o
](
a
.
duration
,
a
.
easing
,
n
)
:
s
.
queue
(
function
(
i
){
e
(
this
)[
t
](),
n
&&
n
.
call
(
s
[
0
]),
i
()})}}),
e
.
uiBackCompat
!==!
1
&&
(
e
.
Widget
.
prototype
.
_getCreateOptions
=
function
(){
return
e
.
metadata
&&
e
.
metadata
.
get
(
this
.
element
[
0
])[
this
.
widgetName
]})})(
jQuery
);(
function
(
e
){
var
t
=!
1
;
e
(
document
).
mouseup
(
function
(){
t
=!
1
}),
e
.
widget
(
"ui.mouse"
,{
version
:
"1.9.2"
,
options
:
{
cancel
:
"input,textarea,button,select,option"
,
distance
:
1
,
delay
:
0
},
_mouseInit
:
function
(){
var
t
=
this
;
this
.
element
.
bind
(
"mousedown."
+
this
.
widgetName
,
function
(
e
){
return
t
.
_mouseDown
(
e
)}).
bind
(
"click."
+
this
.
widgetName
,
function
(
i
){
return
!
0
===
e
.
data
(
i
.
target
,
t
.
widgetName
+
".preventClickEvent"
)
?
(
e
.
removeData
(
i
.
target
,
t
.
widgetName
+
".preventClickEvent"
),
i
.
stopImmediatePropagation
(),
!
1
)
:
undefined
}),
this
.
started
=!
1
},
_mouseDestroy
:
function
(){
this
.
element
.
unbind
(
"."
+
this
.
widgetName
),
this
.
_mouseMoveDelegate
&&
e
(
document
).
unbind
(
"mousemove."
+
this
.
widgetName
,
this
.
_mouseMoveDelegate
).
unbind
(
"mouseup."
+
this
.
widgetName
,
this
.
_mouseUpDelegate
)},
_mouseDown
:
function
(
i
){
if
(
!
t
){
this
.
_mouseStarted
&&
this
.
_mouseUp
(
i
),
this
.
_mouseDownEvent
=
i
;
var
s
=
this
,
a
=
1
===
i
.
which
,
n
=
"string"
==
typeof
this
.
options
.
cancel
&&
i
.
target
.
nodeName
?
e
(
i
.
target
).
closest
(
this
.
options
.
cancel
).
length
:!
1
;
return
a
&&!
n
&&
this
.
_mouseCapture
(
i
)
?
(
this
.
mouseDelayMet
=!
this
.
options
.
delay
,
this
.
mouseDelayMet
||
(
this
.
_mouseDelayTimer
=
setTimeout
(
function
(){
s
.
mouseDelayMet
=!
0
},
this
.
options
.
delay
)),
this
.
_mouseDistanceMet
(
i
)
&&
this
.
_mouseDelayMet
(
i
)
&&
(
this
.
_mouseStarted
=
this
.
_mouseStart
(
i
)
!==!
1
,
!
this
.
_mouseStarted
)
?
(
i
.
preventDefault
(),
!
0
)
:
(
!
0
===
e
.
data
(
i
.
target
,
this
.
widgetName
+
".preventClickEvent"
)
&&
e
.
removeData
(
i
.
target
,
this
.
widgetName
+
".preventClickEvent"
),
this
.
_mouseMoveDelegate
=
function
(
e
){
return
s
.
_mouseMove
(
e
)},
this
.
_mouseUpDelegate
=
function
(
e
){
return
s
.
_mouseUp
(
e
)},
e
(
document
).
bind
(
"mousemove."
+
this
.
widgetName
,
this
.
_mouseMoveDelegate
).
bind
(
"mouseup."
+
this
.
widgetName
,
this
.
_mouseUpDelegate
),
i
.
preventDefault
(),
t
=!
0
,
!
0
))
:!
0
}},
_mouseMove
:
function
(
t
){
return
!
e
.
ui
.
ie
||
document
.
documentMode
>=
9
||
t
.
button
?
this
.
_mouseStarted
?
(
this
.
_mouseDrag
(
t
),
t
.
preventDefault
())
:
(
this
.
_mouseDistanceMet
(
t
)
&&
this
.
_mouseDelayMet
(
t
)
&&
(
this
.
_mouseStarted
=
this
.
_mouseStart
(
this
.
_mouseDownEvent
,
t
)
!==!
1
,
this
.
_mouseStarted
?
this
.
_mouseDrag
(
t
)
:
this
.
_mouseUp
(
t
)),
!
this
.
_mouseStarted
)
:
this
.
_mouseUp
(
t
)},
_mouseUp
:
function
(
t
){
return
e
(
document
).
unbind
(
"mousemove."
+
this
.
widgetName
,
this
.
_mouseMoveDelegate
).
unbind
(
"mouseup."
+
this
.
widgetName
,
this
.
_mouseUpDelegate
),
this
.
_mouseStarted
&&
(
this
.
_mouseStarted
=!
1
,
t
.
target
===
this
.
_mouseDownEvent
.
target
&&
e
.
data
(
t
.
target
,
this
.
widgetName
+
".preventClickEvent"
,
!
0
),
this
.
_mouseStop
(
t
)),
!
1
},
_mouseDistanceMet
:
function
(
e
){
return
Math
.
max
(
Math
.
abs
(
this
.
_mouseDownEvent
.
pageX
-
e
.
pageX
),
Math
.
abs
(
this
.
_mouseDownEvent
.
pageY
-
e
.
pageY
))
>=
this
.
options
.
distance
},
_mouseDelayMet
:
function
(){
return
this
.
mouseDelayMet
},
_mouseStart
:
function
(){},
_mouseDrag
:
function
(){},
_mouseStop
:
function
(){},
_mouseCapture
:
function
(){
return
!
0
}})})(
jQuery
);(
function
(
e
,
t
){
function
i
(
e
,
t
,
i
){
return
[
parseInt
(
e
[
0
],
10
)
*
(
d
.
test
(
e
[
0
])
?
t
/
100
:
1
),
parseInt
(
e
[
1
],
10
)
*
(
d
.
test
(
e
[
1
])
?
i
/
100
:
1
)]}
function
s
(
t
,
i
){
return
parseInt
(
e
.
css
(
t
,
i
),
10
)
||
0
}
e
.
ui
=
e
.
ui
||
{};
var
a
,
n
=
Math
.
max
,
r
=
Math
.
abs
,
o
=
Math
.
round
,
l
=
/left|center|right/
,
h
=
/top|center|bottom/
,
u
=
/[\+\-]\d+%?/
,
c
=
/^\w+/
,
d
=
/%$/
,
p
=
e
.
fn
.
position
;
e
.
position
=
{
scrollbarWidth
:
function
(){
if
(
a
!==
t
)
return
a
;
var
i
,
s
,
n
=
e
(
"<div style='display:block;width:50px;height:50px;overflow:hidden;'><div style='height:100px;width:auto;'></div></div>"
),
r
=
n
.
children
()[
0
];
return
e
(
"body"
).
append
(
n
),
i
=
r
.
offsetWidth
,
n
.
css
(
"overflow"
,
"scroll"
),
s
=
r
.
offsetWidth
,
i
===
s
&&
(
s
=
n
[
0
].
clientWidth
),
n
.
remove
(),
a
=
i
-
s
},
getScrollInfo
:
function
(
t
){
var
i
=
t
.
isWindow
?
""
:
t
.
element
.
css
(
"overflow-x"
),
s
=
t
.
isWindow
?
""
:
t
.
element
.
css
(
"overflow-y"
),
a
=
"scroll"
===
i
||
"auto"
===
i
&&
t
.
width
<
t
.
element
[
0
].
scrollWidth
,
n
=
"scroll"
===
s
||
"auto"
===
s
&&
t
.
height
<
t
.
element
[
0
].
scrollHeight
;
return
{
width
:
a
?
e
.
position
.
scrollbarWidth
()
:
0
,
height
:
n
?
e
.
position
.
scrollbarWidth
()
:
0
}},
getWithinInfo
:
function
(
t
){
var
i
=
e
(
t
||
window
),
s
=
e
.
isWindow
(
i
[
0
]);
return
{
element
:
i
,
isWindow
:
s
,
offset
:
i
.
offset
()
||
{
left
:
0
,
top
:
0
},
scrollLeft
:
i
.
scrollLeft
(),
scrollTop
:
i
.
scrollTop
(),
width
:
s
?
i
.
width
()
:
i
.
outerWidth
(),
height
:
s
?
i
.
height
()
:
i
.
outerHeight
()}}},
e
.
fn
.
position
=
function
(
t
){
if
(
!
t
||!
t
.
of
)
return
p
.
apply
(
this
,
arguments
);
t
=
e
.
extend
({},
t
);
var
a
,
d
,
f
,
m
,
g
,
v
=
e
(
t
.
of
),
y
=
e
.
position
.
getWithinInfo
(
t
.
within
),
b
=
e
.
position
.
getScrollInfo
(
y
),
_
=
v
[
0
],
x
=
(
t
.
collision
||
"flip"
).
split
(
" "
),
k
=
{};
return
9
===
_
.
nodeType
?
(
d
=
v
.
width
(),
f
=
v
.
height
(),
m
=
{
top
:
0
,
left
:
0
})
:
e
.
isWindow
(
_
)
?
(
d
=
v
.
width
(),
f
=
v
.
height
(),
m
=
{
top
:
v
.
scrollTop
(),
left
:
v
.
scrollLeft
()})
:
_
.
preventDefault
?
(
t
.
at
=
"left top"
,
d
=
f
=
0
,
m
=
{
top
:
_
.
pageY
,
left
:
_
.
pageX
})
:
(
d
=
v
.
outerWidth
(),
f
=
v
.
outerHeight
(),
m
=
v
.
offset
()),
g
=
e
.
extend
({},
m
),
e
.
each
([
"my"
,
"at"
],
function
(){
var
e
,
i
,
s
=
(
t
[
this
]
||
""
).
split
(
" "
);
1
===
s
.
length
&&
(
s
=
l
.
test
(
s
[
0
])
?
s
.
concat
([
"center"
])
:
h
.
test
(
s
[
0
])
?
[
"center"
].
concat
(
s
)
:
[
"center"
,
"center"
]),
s
[
0
]
=
l
.
test
(
s
[
0
])
?
s
[
0
]
:
"center"
,
s
[
1
]
=
h
.
test
(
s
[
1
])
?
s
[
1
]
:
"center"
,
e
=
u
.
exec
(
s
[
0
]),
i
=
u
.
exec
(
s
[
1
]),
k
[
this
]
=
[
e
?
e
[
0
]
:
0
,
i
?
i
[
0
]
:
0
],
t
[
this
]
=
[
c
.
exec
(
s
[
0
])[
0
],
c
.
exec
(
s
[
1
])[
0
]]}),
1
===
x
.
length
&&
(
x
[
1
]
=
x
[
0
]),
"right"
===
t
.
at
[
0
]
?
g
.
left
+=
d
:
"center"
===
t
.
at
[
0
]
&&
(
g
.
left
+=
d
/
2
),
"bottom"
===
t
.
at
[
1
]
?
g
.
top
+=
f
:
"center"
===
t
.
at
[
1
]
&&
(
g
.
top
+=
f
/
2
),
a
=
i
(
k
.
at
,
d
,
f
),
g
.
left
+=
a
[
0
],
g
.
top
+=
a
[
1
],
this
.
each
(
function
(){
var
l
,
h
,
u
=
e
(
this
),
c
=
u
.
outerWidth
(),
p
=
u
.
outerHeight
(),
_
=
s
(
this
,
"marginLeft"
),
w
=
s
(
this
,
"marginTop"
),
D
=
c
+
_
+
s
(
this
,
"marginRight"
)
+
b
.
width
,
T
=
p
+
w
+
s
(
this
,
"marginBottom"
)
+
b
.
height
,
S
=
e
.
extend
({},
g
),
M
=
i
(
k
.
my
,
u
.
outerWidth
(),
u
.
outerHeight
());
"right"
===
t
.
my
[
0
]
?
S
.
left
-=
c
:
"center"
===
t
.
my
[
0
]
&&
(
S
.
left
-=
c
/
2
),
"bottom"
===
t
.
my
[
1
]
?
S
.
top
-=
p
:
"center"
===
t
.
my
[
1
]
&&
(
S
.
top
-=
p
/
2
),
S
.
left
+=
M
[
0
],
S
.
top
+=
M
[
1
],
e
.
support
.
offsetFractions
||
(
S
.
left
=
o
(
S
.
left
),
S
.
top
=
o
(
S
.
top
)),
l
=
{
marginLeft
:
_
,
marginTop
:
w
},
e
.
each
([
"left"
,
"top"
],
function
(
i
,
s
){
e
.
ui
.
position
[
x
[
i
]]
&&
e
.
ui
.
position
[
x
[
i
]][
s
](
S
,{
targetWidth
:
d
,
targetHeight
:
f
,
elemWidth
:
c
,
elemHeight
:
p
,
collisionPosition
:
l
,
collisionWidth
:
D
,
collisionHeight
:
T
,
offset
:
[
a
[
0
]
+
M
[
0
],
a
[
1
]
+
M
[
1
]],
my
:
t
.
my
,
at
:
t
.
at
,
within
:
y
,
elem
:
u
})}),
e
.
fn
.
bgiframe
&&
u
.
bgiframe
(),
t
.
using
&&
(
h
=
function
(
e
){
var
i
=
m
.
left
-
S
.
left
,
s
=
i
+
d
-
c
,
a
=
m
.
top
-
S
.
top
,
o
=
a
+
f
-
p
,
l
=
{
target
:
{
element
:
v
,
left
:
m
.
left
,
top
:
m
.
top
,
width
:
d
,
height
:
f
},
element
:
{
element
:
u
,
left
:
S
.
left
,
top
:
S
.
top
,
width
:
c
,
height
:
p
},
horizontal
:
0
>
s
?
"left"
:
i
>
0
?
"right"
:
"center"
,
vertical
:
0
>
o
?
"top"
:
a
>
0
?
"bottom"
:
"middle"
};
c
>
d
&&
d
>
r
(
i
+
s
)
&&
(
l
.
horizontal
=
"center"
),
p
>
f
&&
f
>
r
(
a
+
o
)
&&
(
l
.
vertical
=
"middle"
),
l
.
important
=
n
(
r
(
i
),
r
(
s
))
>
n
(
r
(
a
),
r
(
o
))
?
"horizontal"
:
"vertical"
,
t
.
using
.
call
(
this
,
e
,
l
)}),
u
.
offset
(
e
.
extend
(
S
,{
using
:
h
}))})},
e
.
ui
.
position
=
{
fit
:
{
left
:
function
(
e
,
t
){
var
i
,
s
=
t
.
within
,
a
=
s
.
isWindow
?
s
.
scrollLeft
:
s
.
offset
.
left
,
r
=
s
.
width
,
o
=
e
.
left
-
t
.
collisionPosition
.
marginLeft
,
l
=
a
-
o
,
h
=
o
+
t
.
collisionWidth
-
r
-
a
;
t
.
collisionWidth
>
r
?
l
>
0
&&
0
>=
h
?
(
i
=
e
.
left
+
l
+
t
.
collisionWidth
-
r
-
a
,
e
.
left
+=
l
-
i
)
:
e
.
left
=
h
>
0
&&
0
>=
l
?
a
:
l
>
h
?
a
+
r
-
t
.
collisionWidth
:
a
:
l
>
0
?
e
.
left
+=
l
:
h
>
0
?
e
.
left
-=
h
:
e
.
left
=
n
(
e
.
left
-
o
,
e
.
left
)},
top
:
function
(
e
,
t
){
var
i
,
s
=
t
.
within
,
a
=
s
.
isWindow
?
s
.
scrollTop
:
s
.
offset
.
top
,
r
=
t
.
within
.
height
,
o
=
e
.
top
-
t
.
collisionPosition
.
marginTop
,
l
=
a
-
o
,
h
=
o
+
t
.
collisionHeight
-
r
-
a
;
t
.
collisionHeight
>
r
?
l
>
0
&&
0
>=
h
?
(
i
=
e
.
top
+
l
+
t
.
collisionHeight
-
r
-
a
,
e
.
top
+=
l
-
i
)
:
e
.
top
=
h
>
0
&&
0
>=
l
?
a
:
l
>
h
?
a
+
r
-
t
.
collisionHeight
:
a
:
l
>
0
?
e
.
top
+=
l
:
h
>
0
?
e
.
top
-=
h
:
e
.
top
=
n
(
e
.
top
-
o
,
e
.
top
)}},
flip
:
{
left
:
function
(
e
,
t
){
var
i
,
s
,
a
=
t
.
within
,
n
=
a
.
offset
.
left
+
a
.
scrollLeft
,
o
=
a
.
width
,
l
=
a
.
isWindow
?
a
.
scrollLeft
:
a
.
offset
.
left
,
h
=
e
.
left
-
t
.
collisionPosition
.
marginLeft
,
u
=
h
-
l
,
c
=
h
+
t
.
collisionWidth
-
o
-
l
,
d
=
"left"
===
t
.
my
[
0
]
?-
t
.
elemWidth
:
"right"
===
t
.
my
[
0
]
?
t
.
elemWidth
:
0
,
p
=
"left"
===
t
.
at
[
0
]
?
t
.
targetWidth
:
"right"
===
t
.
at
[
0
]
?-
t
.
targetWidth
:
0
,
f
=-
2
*
t
.
offset
[
0
];
0
>
u
?
(
i
=
e
.
left
+
d
+
p
+
f
+
t
.
collisionWidth
-
o
-
n
,(
0
>
i
||
r
(
u
)
>
i
)
&&
(
e
.
left
+=
d
+
p
+
f
))
:
c
>
0
&&
(
s
=
e
.
left
-
t
.
collisionPosition
.
marginLeft
+
d
+
p
+
f
-
l
,(
s
>
0
||
c
>
r
(
s
))
&&
(
e
.
left
+=
d
+
p
+
f
))},
top
:
function
(
e
,
t
){
var
i
,
s
,
a
=
t
.
within
,
n
=
a
.
offset
.
top
+
a
.
scrollTop
,
o
=
a
.
height
,
l
=
a
.
isWindow
?
a
.
scrollTop
:
a
.
offset
.
top
,
h
=
e
.
top
-
t
.
collisionPosition
.
marginTop
,
u
=
h
-
l
,
c
=
h
+
t
.
collisionHeight
-
o
-
l
,
d
=
"top"
===
t
.
my
[
1
],
p
=
d
?-
t
.
elemHeight
:
"bottom"
===
t
.
my
[
1
]
?
t
.
elemHeight
:
0
,
f
=
"top"
===
t
.
at
[
1
]
?
t
.
targetHeight
:
"bottom"
===
t
.
at
[
1
]
?-
t
.
targetHeight
:
0
,
m
=-
2
*
t
.
offset
[
1
];
0
>
u
?
(
s
=
e
.
top
+
p
+
f
+
m
+
t
.
collisionHeight
-
o
-
n
,
e
.
top
+
p
+
f
+
m
>
u
&&
(
0
>
s
||
r
(
u
)
>
s
)
&&
(
e
.
top
+=
p
+
f
+
m
))
:
c
>
0
&&
(
i
=
e
.
top
-
t
.
collisionPosition
.
marginTop
+
p
+
f
+
m
-
l
,
e
.
top
+
p
+
f
+
m
>
c
&&
(
i
>
0
||
c
>
r
(
i
))
&&
(
e
.
top
+=
p
+
f
+
m
))}},
flipfit
:
{
left
:
function
(){
e
.
ui
.
position
.
flip
.
left
.
apply
(
this
,
arguments
),
e
.
ui
.
position
.
fit
.
left
.
apply
(
this
,
arguments
)},
top
:
function
(){
e
.
ui
.
position
.
flip
.
top
.
apply
(
this
,
arguments
),
e
.
ui
.
position
.
fit
.
top
.
apply
(
this
,
arguments
)}}},
function
(){
var
t
,
i
,
s
,
a
,
n
,
r
=
document
.
getElementsByTagName
(
"body"
)[
0
],
o
=
document
.
createElement
(
"div"
);
t
=
document
.
createElement
(
r
?
"div"
:
"body"
),
s
=
{
visibility
:
"hidden"
,
width
:
0
,
height
:
0
,
border
:
0
,
margin
:
0
,
background
:
"none"
},
r
&&
e
.
extend
(
s
,{
position
:
"absolute"
,
left
:
"-1000px"
,
top
:
"-1000px"
});
for
(
n
in
s
)
t
.
style
[
n
]
=
s
[
n
];
t
.
appendChild
(
o
),
i
=
r
||
document
.
documentElement
,
i
.
insertBefore
(
t
,
i
.
firstChild
),
o
.
style
.
cssText
=
"position: absolute; left: 10.7432222px;"
,
a
=
e
(
o
).
offset
().
left
,
e
.
support
.
offsetFractions
=
a
>
10
&&
11
>
a
,
t
.
innerHTML
=
""
,
i
.
removeChild
(
t
)}(),
e
.
uiBackCompat
!==!
1
&&
function
(
e
){
var
i
=
e
.
fn
.
position
;
e
.
fn
.
position
=
function
(
s
){
if
(
!
s
||!
s
.
offset
)
return
i
.
call
(
this
,
s
);
var
a
=
s
.
offset
.
split
(
" "
),
n
=
s
.
at
.
split
(
" "
);
return
1
===
a
.
length
&&
(
a
[
1
]
=
a
[
0
]),
/^\d/
.
test
(
a
[
0
])
&&
(
a
[
0
]
=
"+"
+
a
[
0
]),
/^\d/
.
test
(
a
[
1
])
&&
(
a
[
1
]
=
"+"
+
a
[
1
]),
1
===
n
.
length
&&
(
/left|center|right/
.
test
(
n
[
0
])
?
n
[
1
]
=
"center"
:
(
n
[
1
]
=
n
[
0
],
n
[
0
]
=
"center"
)),
i
.
call
(
this
,
e
.
extend
(
s
,{
at
:
n
[
0
]
+
a
[
0
]
+
" "
+
n
[
1
]
+
a
[
1
],
offset
:
t
}))}}(
jQuery
)})(
jQuery
);(
function
(
e
){
e
.
widget
(
"ui.draggable"
,
e
.
ui
.
mouse
,{
version
:
"1.9.2"
,
widgetEventPrefix
:
"drag"
,
options
:
{
addClasses
:!
0
,
appendTo
:
"parent"
,
axis
:!
1
,
connectToSortable
:!
1
,
containment
:!
1
,
cursor
:
"auto"
,
cursorAt
:!
1
,
grid
:!
1
,
handle
:!
1
,
helper
:
"original"
,
iframeFix
:!
1
,
opacity
:!
1
,
refreshPositions
:!
1
,
revert
:!
1
,
revertDuration
:
500
,
scope
:
"default"
,
scroll
:!
0
,
scrollSensitivity
:
20
,
scrollSpeed
:
20
,
snap
:!
1
,
snapMode
:
"both"
,
snapTolerance
:
20
,
stack
:!
1
,
zIndex
:!
1
},
_create
:
function
(){
"original"
!=
this
.
options
.
helper
||
/^(?:r|a|f)/
.
test
(
this
.
element
.
css
(
"position"
))
||
(
this
.
element
[
0
].
style
.
position
=
"relative"
),
this
.
options
.
addClasses
&&
this
.
element
.
addClass
(
"ui-draggable"
),
this
.
options
.
disabled
&&
this
.
element
.
addClass
(
"ui-draggable-disabled"
),
this
.
_mouseInit
()},
_destroy
:
function
(){
this
.
element
.
removeClass
(
"ui-draggable ui-draggable-dragging ui-draggable-disabled"
),
this
.
_mouseDestroy
()},
_mouseCapture
:
function
(
t
){
var
i
=
this
.
options
;
return
this
.
helper
||
i
.
disabled
||
e
(
t
.
target
).
is
(
".ui-resizable-handle"
)
?!
1
:
(
this
.
handle
=
this
.
_getHandle
(
t
),
this
.
handle
?
(
e
(
i
.
iframeFix
===!
0
?
"iframe"
:
i
.
iframeFix
).
each
(
function
(){
e
(
'<div class="ui-draggable-iframeFix" style="background: #fff;"></div>'
).
css
({
width
:
this
.
offsetWidth
+
"px"
,
height
:
this
.
offsetHeight
+
"px"
,
position
:
"absolute"
,
opacity
:
"0.001"
,
zIndex
:
1e3
}).
css
(
e
(
this
).
offset
()).
appendTo
(
"body"
)}),
!
0
)
:!
1
)},
_mouseStart
:
function
(
t
){
var
i
=
this
.
options
;
return
this
.
helper
=
this
.
_createHelper
(
t
),
this
.
helper
.
addClass
(
"ui-draggable-dragging"
),
this
.
_cacheHelperProportions
(),
e
.
ui
.
ddmanager
&&
(
e
.
ui
.
ddmanager
.
current
=
this
),
this
.
_cacheMargins
(),
this
.
cssPosition
=
this
.
helper
.
css
(
"position"
),
this
.
scrollParent
=
this
.
helper
.
scrollParent
(),
this
.
offset
=
this
.
positionAbs
=
this
.
element
.
offset
(),
this
.
offset
=
{
top
:
this
.
offset
.
top
-
this
.
margins
.
top
,
left
:
this
.
offset
.
left
-
this
.
margins
.
left
},
e
.
extend
(
this
.
offset
,{
click
:
{
left
:
t
.
pageX
-
this
.
offset
.
left
,
top
:
t
.
pageY
-
this
.
offset
.
top
},
parent
:
this
.
_getParentOffset
(),
relative
:
this
.
_getRelativeOffset
()}),
this
.
originalPosition
=
this
.
position
=
this
.
_generatePosition
(
t
),
this
.
originalPageX
=
t
.
pageX
,
this
.
originalPageY
=
t
.
pageY
,
i
.
cursorAt
&&
this
.
_adjustOffsetFromHelper
(
i
.
cursorAt
),
i
.
containment
&&
this
.
_setContainment
(),
this
.
_trigger
(
"start"
,
t
)
===!
1
?
(
this
.
_clear
(),
!
1
)
:
(
this
.
_cacheHelperProportions
(),
e
.
ui
.
ddmanager
&&!
i
.
dropBehaviour
&&
e
.
ui
.
ddmanager
.
prepareOffsets
(
this
,
t
),
this
.
_mouseDrag
(
t
,
!
0
),
e
.
ui
.
ddmanager
&&
e
.
ui
.
ddmanager
.
dragStart
(
this
,
t
),
!
0
)},
_mouseDrag
:
function
(
t
,
i
){
if
(
this
.
position
=
this
.
_generatePosition
(
t
),
this
.
positionAbs
=
this
.
_convertPositionTo
(
"absolute"
),
!
i
){
var
a
=
this
.
_uiHash
();
if
(
this
.
_trigger
(
"drag"
,
t
,
a
)
===!
1
)
return
this
.
_mouseUp
({}),
!
1
;
this
.
position
=
a
.
position
}
return
this
.
options
.
axis
&&
"y"
==
this
.
options
.
axis
||
(
this
.
helper
[
0
].
style
.
left
=
this
.
position
.
left
+
"px"
),
this
.
options
.
axis
&&
"x"
==
this
.
options
.
axis
||
(
this
.
helper
[
0
].
style
.
top
=
this
.
position
.
top
+
"px"
),
e
.
ui
.
ddmanager
&&
e
.
ui
.
ddmanager
.
drag
(
this
,
t
),
!
1
},
_mouseStop
:
function
(
t
){
var
i
=!
1
;
e
.
ui
.
ddmanager
&&!
this
.
options
.
dropBehaviour
&&
(
i
=
e
.
ui
.
ddmanager
.
drop
(
this
,
t
)),
this
.
dropped
&&
(
i
=
this
.
dropped
,
this
.
dropped
=!
1
);
for
(
var
a
=
this
.
element
[
0
],
s
=!
1
;
a
&&
(
a
=
a
.
parentNode
);)
a
==
document
&&
(
s
=!
0
);
if
(
!
s
&&
"original"
===
this
.
options
.
helper
)
return
!
1
;
if
(
"invalid"
==
this
.
options
.
revert
&&!
i
||
"valid"
==
this
.
options
.
revert
&&
i
||
this
.
options
.
revert
===!
0
||
e
.
isFunction
(
this
.
options
.
revert
)
&&
this
.
options
.
revert
.
call
(
this
.
element
,
i
)){
var
n
=
this
;
e
(
this
.
helper
).
animate
(
this
.
originalPosition
,
parseInt
(
this
.
options
.
revertDuration
,
10
),
function
(){
n
.
_trigger
(
"stop"
,
t
)
!==!
1
&&
n
.
_clear
()})}
else
this
.
_trigger
(
"stop"
,
t
)
!==!
1
&&
this
.
_clear
();
return
!
1
},
_mouseUp
:
function
(
t
){
return
e
(
"div.ui-draggable-iframeFix"
).
each
(
function
(){
this
.
parentNode
.
removeChild
(
this
)}),
e
.
ui
.
ddmanager
&&
e
.
ui
.
ddmanager
.
dragStop
(
this
,
t
),
e
.
ui
.
mouse
.
prototype
.
_mouseUp
.
call
(
this
,
t
)},
cancel
:
function
(){
return
this
.
helper
.
is
(
".ui-draggable-dragging"
)
?
this
.
_mouseUp
({})
:
this
.
_clear
(),
this
},
_getHandle
:
function
(
t
){
var
i
=
this
.
options
.
handle
&&
e
(
this
.
options
.
handle
,
this
.
element
).
length
?!
1
:!
0
;
return
e
(
this
.
options
.
handle
,
this
.
element
).
find
(
"*"
).
andSelf
().
each
(
function
(){
this
==
t
.
target
&&
(
i
=!
0
)}),
i
},
_createHelper
:
function
(
t
){
var
i
=
this
.
options
,
a
=
e
.
isFunction
(
i
.
helper
)
?
e
(
i
.
helper
.
apply
(
this
.
element
[
0
],[
t
]))
:
"clone"
==
i
.
helper
?
this
.
element
.
clone
().
removeAttr
(
"id"
)
:
this
.
element
;
return
a
.
parents
(
"body"
).
length
||
a
.
appendTo
(
"parent"
==
i
.
appendTo
?
this
.
element
[
0
].
parentNode
:
i
.
appendTo
),
a
[
0
]
==
this
.
element
[
0
]
||
/(fixed|absolute)/
.
test
(
a
.
css
(
"position"
))
||
a
.
css
(
"position"
,
"absolute"
),
a
},
_adjustOffsetFromHelper
:
function
(
t
){
"string"
==
typeof
t
&&
(
t
=
t
.
split
(
" "
)),
e
.
isArray
(
t
)
&&
(
t
=
{
left
:+
t
[
0
],
top
:+
t
[
1
]
||
0
}),
"left"
in
t
&&
(
this
.
offset
.
click
.
left
=
t
.
left
+
this
.
margins
.
left
),
"right"
in
t
&&
(
this
.
offset
.
click
.
left
=
this
.
helperProportions
.
width
-
t
.
right
+
this
.
margins
.
left
),
"top"
in
t
&&
(
this
.
offset
.
click
.
top
=
t
.
top
+
this
.
margins
.
top
),
"bottom"
in
t
&&
(
this
.
offset
.
click
.
top
=
this
.
helperProportions
.
height
-
t
.
bottom
+
this
.
margins
.
top
)},
_getParentOffset
:
function
(){
this
.
offsetParent
=
this
.
helper
.
offsetParent
();
var
t
=
this
.
offsetParent
.
offset
();
return
"absolute"
==
this
.
cssPosition
&&
this
.
scrollParent
[
0
]
!=
document
&&
e
.
contains
(
this
.
scrollParent
[
0
],
this
.
offsetParent
[
0
])
&&
(
t
.
left
+=
this
.
scrollParent
.
scrollLeft
(),
t
.
top
+=
this
.
scrollParent
.
scrollTop
()),(
this
.
offsetParent
[
0
]
==
document
.
body
||
this
.
offsetParent
[
0
].
tagName
&&
"html"
==
this
.
offsetParent
[
0
].
tagName
.
toLowerCase
()
&&
e
.
ui
.
ie
)
&&
(
t
=
{
top
:
0
,
left
:
0
}),{
top
:
t
.
top
+
(
parseInt
(
this
.
offsetParent
.
css
(
"borderTopWidth"
),
10
)
||
0
),
left
:
t
.
left
+
(
parseInt
(
this
.
offsetParent
.
css
(
"borderLeftWidth"
),
10
)
||
0
)}},
_getRelativeOffset
:
function
(){
if
(
"relative"
==
this
.
cssPosition
){
var
e
=
this
.
element
.
position
();
return
{
top
:
e
.
top
-
(
parseInt
(
this
.
helper
.
css
(
"top"
),
10
)
||
0
)
+
this
.
scrollParent
.
scrollTop
(),
left
:
e
.
left
-
(
parseInt
(
this
.
helper
.
css
(
"left"
),
10
)
||
0
)
+
this
.
scrollParent
.
scrollLeft
()}}
return
{
top
:
0
,
left
:
0
}},
_cacheMargins
:
function
(){
this
.
margins
=
{
left
:
parseInt
(
this
.
element
.
css
(
"marginLeft"
),
10
)
||
0
,
top
:
parseInt
(
this
.
element
.
css
(
"marginTop"
),
10
)
||
0
,
right
:
parseInt
(
this
.
element
.
css
(
"marginRight"
),
10
)
||
0
,
bottom
:
parseInt
(
this
.
element
.
css
(
"marginBottom"
),
10
)
||
0
}},
_cacheHelperProportions
:
function
(){
this
.
helperProportions
=
{
width
:
this
.
helper
.
outerWidth
(),
height
:
this
.
helper
.
outerHeight
()}},
_setContainment
:
function
(){
var
t
=
this
.
options
;
if
(
"parent"
==
t
.
containment
&&
(
t
.
containment
=
this
.
helper
[
0
].
parentNode
),(
"document"
==
t
.
containment
||
"window"
==
t
.
containment
)
&&
(
this
.
containment
=
[
"document"
==
t
.
containment
?
0
:
e
(
window
).
scrollLeft
()
-
this
.
offset
.
relative
.
left
-
this
.
offset
.
parent
.
left
,
"document"
==
t
.
containment
?
0
:
e
(
window
).
scrollTop
()
-
this
.
offset
.
relative
.
top
-
this
.
offset
.
parent
.
top
,(
"document"
==
t
.
containment
?
0
:
e
(
window
).
scrollLeft
())
+
e
(
"document"
==
t
.
containment
?
document
:
window
).
width
()
-
this
.
helperProportions
.
width
-
this
.
margins
.
left
,(
"document"
==
t
.
containment
?
0
:
e
(
window
).
scrollTop
())
+
(
e
(
"document"
==
t
.
containment
?
document
:
window
).
height
()
||
document
.
body
.
parentNode
.
scrollHeight
)
-
this
.
helperProportions
.
height
-
this
.
margins
.
top
]),
/^(document|window|parent)$/
.
test
(
t
.
containment
)
||
t
.
containment
.
constructor
==
Array
)
t
.
containment
.
constructor
==
Array
&&
(
this
.
containment
=
t
.
containment
);
else
{
var
i
=
e
(
t
.
containment
),
a
=
i
[
0
];
if
(
!
a
)
return
;
i
.
offset
();
var
s
=
"hidden"
!=
e
(
a
).
css
(
"overflow"
);
this
.
containment
=
[(
parseInt
(
e
(
a
).
css
(
"borderLeftWidth"
),
10
)
||
0
)
+
(
parseInt
(
e
(
a
).
css
(
"paddingLeft"
),
10
)
||
0
),(
parseInt
(
e
(
a
).
css
(
"borderTopWidth"
),
10
)
||
0
)
+
(
parseInt
(
e
(
a
).
css
(
"paddingTop"
),
10
)
||
0
),(
s
?
Math
.
max
(
a
.
scrollWidth
,
a
.
offsetWidth
)
:
a
.
offsetWidth
)
-
(
parseInt
(
e
(
a
).
css
(
"borderLeftWidth"
),
10
)
||
0
)
-
(
parseInt
(
e
(
a
).
css
(
"paddingRight"
),
10
)
||
0
)
-
this
.
helperProportions
.
width
-
this
.
margins
.
left
-
this
.
margins
.
right
,(
s
?
Math
.
max
(
a
.
scrollHeight
,
a
.
offsetHeight
)
:
a
.
offsetHeight
)
-
(
parseInt
(
e
(
a
).
css
(
"borderTopWidth"
),
10
)
||
0
)
-
(
parseInt
(
e
(
a
).
css
(
"paddingBottom"
),
10
)
||
0
)
-
this
.
helperProportions
.
height
-
this
.
margins
.
top
-
this
.
margins
.
bottom
],
this
.
relative_container
=
i
}},
_convertPositionTo
:
function
(
t
,
i
){
i
||
(
i
=
this
.
position
);
var
a
=
"absolute"
==
t
?
1
:-
1
,
s
=
(
this
.
options
,
"absolute"
!=
this
.
cssPosition
||
this
.
scrollParent
[
0
]
!=
document
&&
e
.
contains
(
this
.
scrollParent
[
0
],
this
.
offsetParent
[
0
])
?
this
.
scrollParent
:
this
.
offsetParent
),
n
=
/(html|body)/i
.
test
(
s
[
0
].
tagName
);
return
{
top
:
i
.
top
+
this
.
offset
.
relative
.
top
*
a
+
this
.
offset
.
parent
.
top
*
a
-
(
"fixed"
==
this
.
cssPosition
?-
this
.
scrollParent
.
scrollTop
()
:
n
?
0
:
s
.
scrollTop
())
*
a
,
left
:
i
.
left
+
this
.
offset
.
relative
.
left
*
a
+
this
.
offset
.
parent
.
left
*
a
-
(
"fixed"
==
this
.
cssPosition
?-
this
.
scrollParent
.
scrollLeft
()
:
n
?
0
:
s
.
scrollLeft
())
*
a
}},
_generatePosition
:
function
(
t
){
var
i
=
this
.
options
,
a
=
"absolute"
!=
this
.
cssPosition
||
this
.
scrollParent
[
0
]
!=
document
&&
e
.
contains
(
this
.
scrollParent
[
0
],
this
.
offsetParent
[
0
])
?
this
.
scrollParent
:
this
.
offsetParent
,
s
=
/(html|body)/i
.
test
(
a
[
0
].
tagName
),
n
=
t
.
pageX
,
r
=
t
.
pageY
;
if
(
this
.
originalPosition
){
var
o
;
if
(
this
.
containment
){
if
(
this
.
relative_container
){
var
l
=
this
.
relative_container
.
offset
();
o
=
[
this
.
containment
[
0
]
+
l
.
left
,
this
.
containment
[
1
]
+
l
.
top
,
this
.
containment
[
2
]
+
l
.
left
,
this
.
containment
[
3
]
+
l
.
top
]}
else
o
=
this
.
containment
;
t
.
pageX
-
this
.
offset
.
click
.
left
<
o
[
0
]
&&
(
n
=
o
[
0
]
+
this
.
offset
.
click
.
left
),
t
.
pageY
-
this
.
offset
.
click
.
top
<
o
[
1
]
&&
(
r
=
o
[
1
]
+
this
.
offset
.
click
.
top
),
t
.
pageX
-
this
.
offset
.
click
.
left
>
o
[
2
]
&&
(
n
=
o
[
2
]
+
this
.
offset
.
click
.
left
),
t
.
pageY
-
this
.
offset
.
click
.
top
>
o
[
3
]
&&
(
r
=
o
[
3
]
+
this
.
offset
.
click
.
top
)}
if
(
i
.
grid
){
var
h
=
i
.
grid
[
1
]
?
this
.
originalPageY
+
Math
.
round
((
r
-
this
.
originalPageY
)
/
i
.
grid
[
1
])
*
i
.
grid
[
1
]
:
this
.
originalPageY
;
r
=
o
?
h
-
this
.
offset
.
click
.
top
<
o
[
1
]
||
h
-
this
.
offset
.
click
.
top
>
o
[
3
]
?
h
-
this
.
offset
.
click
.
top
<
o
[
1
]
?
h
+
i
.
grid
[
1
]
:
h
-
i
.
grid
[
1
]
:
h
:
h
;
var
u
=
i
.
grid
[
0
]
?
this
.
originalPageX
+
Math
.
round
((
n
-
this
.
originalPageX
)
/
i
.
grid
[
0
])
*
i
.
grid
[
0
]
:
this
.
originalPageX
;
n
=
o
?
u
-
this
.
offset
.
click
.
left
<
o
[
0
]
||
u
-
this
.
offset
.
click
.
left
>
o
[
2
]
?
u
-
this
.
offset
.
click
.
left
<
o
[
0
]
?
u
+
i
.
grid
[
0
]
:
u
-
i
.
grid
[
0
]
:
u
:
u
}}
return
{
top
:
r
-
this
.
offset
.
click
.
top
-
this
.
offset
.
relative
.
top
-
this
.
offset
.
parent
.
top
+
(
"fixed"
==
this
.
cssPosition
?-
this
.
scrollParent
.
scrollTop
()
:
s
?
0
:
a
.
scrollTop
()),
left
:
n
-
this
.
offset
.
click
.
left
-
this
.
offset
.
relative
.
left
-
this
.
offset
.
parent
.
left
+
(
"fixed"
==
this
.
cssPosition
?-
this
.
scrollParent
.
scrollLeft
()
:
s
?
0
:
a
.
scrollLeft
())}},
_clear
:
function
(){
this
.
helper
.
removeClass
(
"ui-draggable-dragging"
),
this
.
helper
[
0
]
==
this
.
element
[
0
]
||
this
.
cancelHelperRemoval
||
this
.
helper
.
remove
(),
this
.
helper
=
null
,
this
.
cancelHelperRemoval
=!
1
},
_trigger
:
function
(
t
,
i
,
a
){
return
a
=
a
||
this
.
_uiHash
(),
e
.
ui
.
plugin
.
call
(
this
,
t
,[
i
,
a
]),
"drag"
==
t
&&
(
this
.
positionAbs
=
this
.
_convertPositionTo
(
"absolute"
)),
e
.
Widget
.
prototype
.
_trigger
.
call
(
this
,
t
,
i
,
a
)},
plugins
:
{},
_uiHash
:
function
(){
return
{
helper
:
this
.
helper
,
position
:
this
.
position
,
originalPosition
:
this
.
originalPosition
,
offset
:
this
.
positionAbs
}}}),
e
.
ui
.
plugin
.
add
(
"draggable"
,
"connectToSortable"
,{
start
:
function
(
t
,
i
){
var
a
=
e
(
this
).
data
(
"draggable"
),
s
=
a
.
options
,
n
=
e
.
extend
({},
i
,{
item
:
a
.
element
});
a
.
sortables
=
[],
e
(
s
.
connectToSortable
).
each
(
function
(){
var
i
=
e
.
data
(
this
,
"sortable"
);
i
&&!
i
.
options
.
disabled
&&
(
a
.
sortables
.
push
({
instance
:
i
,
shouldRevert
:
i
.
options
.
revert
}),
i
.
refreshPositions
(),
i
.
_trigger
(
"activate"
,
t
,
n
))})},
stop
:
function
(
t
,
i
){
var
a
=
e
(
this
).
data
(
"draggable"
),
s
=
e
.
extend
({},
i
,{
item
:
a
.
element
});
e
.
each
(
a
.
sortables
,
function
(){
this
.
instance
.
isOver
?
(
this
.
instance
.
isOver
=
0
,
a
.
cancelHelperRemoval
=!
0
,
this
.
instance
.
cancelHelperRemoval
=!
1
,
this
.
shouldRevert
&&
(
this
.
instance
.
options
.
revert
=!
0
),
this
.
instance
.
_mouseStop
(
t
),
this
.
instance
.
options
.
helper
=
this
.
instance
.
options
.
_helper
,
"original"
==
a
.
options
.
helper
&&
this
.
instance
.
currentItem
.
css
({
top
:
"auto"
,
left
:
"auto"
}))
:
(
this
.
instance
.
cancelHelperRemoval
=!
1
,
this
.
instance
.
_trigger
(
"deactivate"
,
t
,
s
))})},
drag
:
function
(
t
,
i
){
var
a
=
e
(
this
).
data
(
"draggable"
),
s
=
this
;
e
.
each
(
a
.
sortables
,
function
(){
var
n
=!
1
,
r
=
this
;
this
.
instance
.
positionAbs
=
a
.
positionAbs
,
this
.
instance
.
helperProportions
=
a
.
helperProportions
,
this
.
instance
.
offset
.
click
=
a
.
offset
.
click
,
this
.
instance
.
_intersectsWith
(
this
.
instance
.
containerCache
)
&&
(
n
=!
0
,
e
.
each
(
a
.
sortables
,
function
(){
return
this
.
instance
.
positionAbs
=
a
.
positionAbs
,
this
.
instance
.
helperProportions
=
a
.
helperProportions
,
this
.
instance
.
offset
.
click
=
a
.
offset
.
click
,
this
!=
r
&&
this
.
instance
.
_intersectsWith
(
this
.
instance
.
containerCache
)
&&
e
.
ui
.
contains
(
r
.
instance
.
element
[
0
],
this
.
instance
.
element
[
0
])
&&
(
n
=!
1
),
n
})),
n
?
(
this
.
instance
.
isOver
||
(
this
.
instance
.
isOver
=
1
,
this
.
instance
.
currentItem
=
e
(
s
).
clone
().
removeAttr
(
"id"
).
appendTo
(
this
.
instance
.
element
).
data
(
"sortable-item"
,
!
0
),
this
.
instance
.
options
.
_helper
=
this
.
instance
.
options
.
helper
,
this
.
instance
.
options
.
helper
=
function
(){
return
i
.
helper
[
0
]},
t
.
target
=
this
.
instance
.
currentItem
[
0
],
this
.
instance
.
_mouseCapture
(
t
,
!
0
),
this
.
instance
.
_mouseStart
(
t
,
!
0
,
!
0
),
this
.
instance
.
offset
.
click
.
top
=
a
.
offset
.
click
.
top
,
this
.
instance
.
offset
.
click
.
left
=
a
.
offset
.
click
.
left
,
this
.
instance
.
offset
.
parent
.
left
-=
a
.
offset
.
parent
.
left
-
this
.
instance
.
offset
.
parent
.
left
,
this
.
instance
.
offset
.
parent
.
top
-=
a
.
offset
.
parent
.
top
-
this
.
instance
.
offset
.
parent
.
top
,
a
.
_trigger
(
"toSortable"
,
t
),
a
.
dropped
=
this
.
instance
.
element
,
a
.
currentItem
=
a
.
element
,
this
.
instance
.
fromOutside
=
a
),
this
.
instance
.
currentItem
&&
this
.
instance
.
_mouseDrag
(
t
))
:
this
.
instance
.
isOver
&&
(
this
.
instance
.
isOver
=
0
,
this
.
instance
.
cancelHelperRemoval
=!
0
,
this
.
instance
.
options
.
revert
=!
1
,
this
.
instance
.
_trigger
(
"out"
,
t
,
this
.
instance
.
_uiHash
(
this
.
instance
)),
this
.
instance
.
_mouseStop
(
t
,
!
0
),
this
.
instance
.
options
.
helper
=
this
.
instance
.
options
.
_helper
,
this
.
instance
.
currentItem
.
remove
(),
this
.
instance
.
placeholder
&&
this
.
instance
.
placeholder
.
remove
(),
a
.
_trigger
(
"fromSortable"
,
t
),
a
.
dropped
=!
1
)})}}),
e
.
ui
.
plugin
.
add
(
"draggable"
,
"cursor"
,{
start
:
function
(){
var
t
=
e
(
"body"
),
i
=
e
(
this
).
data
(
"draggable"
).
options
;
t
.
css
(
"cursor"
)
&&
(
i
.
_cursor
=
t
.
css
(
"cursor"
)),
t
.
css
(
"cursor"
,
i
.
cursor
)},
stop
:
function
(){
var
t
=
e
(
this
).
data
(
"draggable"
).
options
;
t
.
_cursor
&&
e
(
"body"
).
css
(
"cursor"
,
t
.
_cursor
)}}),
e
.
ui
.
plugin
.
add
(
"draggable"
,
"opacity"
,{
start
:
function
(
t
,
i
){
var
a
=
e
(
i
.
helper
),
s
=
e
(
this
).
data
(
"draggable"
).
options
;
a
.
css
(
"opacity"
)
&&
(
s
.
_opacity
=
a
.
css
(
"opacity"
)),
a
.
css
(
"opacity"
,
s
.
opacity
)},
stop
:
function
(
t
,
i
){
var
a
=
e
(
this
).
data
(
"draggable"
).
options
;
a
.
_opacity
&&
e
(
i
.
helper
).
css
(
"opacity"
,
a
.
_opacity
)}}),
e
.
ui
.
plugin
.
add
(
"draggable"
,
"scroll"
,{
start
:
function
(){
var
t
=
e
(
this
).
data
(
"draggable"
);
t
.
scrollParent
[
0
]
!=
document
&&
"HTML"
!=
t
.
scrollParent
[
0
].
tagName
&&
(
t
.
overflowOffset
=
t
.
scrollParent
.
offset
())},
drag
:
function
(
t
){
var
i
=
e
(
this
).
data
(
"draggable"
),
a
=
i
.
options
,
s
=!
1
;
i
.
scrollParent
[
0
]
!=
document
&&
"HTML"
!=
i
.
scrollParent
[
0
].
tagName
?
(
a
.
axis
&&
"x"
==
a
.
axis
||
(
i
.
overflowOffset
.
top
+
i
.
scrollParent
[
0
].
offsetHeight
-
t
.
pageY
<
a
.
scrollSensitivity
?
i
.
scrollParent
[
0
].
scrollTop
=
s
=
i
.
scrollParent
[
0
].
scrollTop
+
a
.
scrollSpeed
:
t
.
pageY
-
i
.
overflowOffset
.
top
<
a
.
scrollSensitivity
&&
(
i
.
scrollParent
[
0
].
scrollTop
=
s
=
i
.
scrollParent
[
0
].
scrollTop
-
a
.
scrollSpeed
)),
a
.
axis
&&
"y"
==
a
.
axis
||
(
i
.
overflowOffset
.
left
+
i
.
scrollParent
[
0
].
offsetWidth
-
t
.
pageX
<
a
.
scrollSensitivity
?
i
.
scrollParent
[
0
].
scrollLeft
=
s
=
i
.
scrollParent
[
0
].
scrollLeft
+
a
.
scrollSpeed
:
t
.
pageX
-
i
.
overflowOffset
.
left
<
a
.
scrollSensitivity
&&
(
i
.
scrollParent
[
0
].
scrollLeft
=
s
=
i
.
scrollParent
[
0
].
scrollLeft
-
a
.
scrollSpeed
)))
:
(
a
.
axis
&&
"x"
==
a
.
axis
||
(
t
.
pageY
-
e
(
document
).
scrollTop
()
<
a
.
scrollSensitivity
?
s
=
e
(
document
).
scrollTop
(
e
(
document
).
scrollTop
()
-
a
.
scrollSpeed
)
:
e
(
window
).
height
()
-
(
t
.
pageY
-
e
(
document
).
scrollTop
())
<
a
.
scrollSensitivity
&&
(
s
=
e
(
document
).
scrollTop
(
e
(
document
).
scrollTop
()
+
a
.
scrollSpeed
))),
a
.
axis
&&
"y"
==
a
.
axis
||
(
t
.
pageX
-
e
(
document
).
scrollLeft
()
<
a
.
scrollSensitivity
?
s
=
e
(
document
).
scrollLeft
(
e
(
document
).
scrollLeft
()
-
a
.
scrollSpeed
)
:
e
(
window
).
width
()
-
(
t
.
pageX
-
e
(
document
).
scrollLeft
())
<
a
.
scrollSensitivity
&&
(
s
=
e
(
document
).
scrollLeft
(
e
(
document
).
scrollLeft
()
+
a
.
scrollSpeed
)))),
s
!==!
1
&&
e
.
ui
.
ddmanager
&&!
a
.
dropBehaviour
&&
e
.
ui
.
ddmanager
.
prepareOffsets
(
i
,
t
)}}),
e
.
ui
.
plugin
.
add
(
"draggable"
,
"snap"
,{
start
:
function
(){
var
t
=
e
(
this
).
data
(
"draggable"
),
i
=
t
.
options
;
t
.
snapElements
=
[],
e
(
i
.
snap
.
constructor
!=
String
?
i
.
snap
.
items
||
":data(draggable)"
:
i
.
snap
).
each
(
function
(){
var
i
=
e
(
this
),
a
=
i
.
offset
();
this
!=
t
.
element
[
0
]
&&
t
.
snapElements
.
push
({
item
:
this
,
width
:
i
.
outerWidth
(),
height
:
i
.
outerHeight
(),
top
:
a
.
top
,
left
:
a
.
left
})})},
drag
:
function
(
t
,
i
){
for
(
var
a
=
e
(
this
).
data
(
"draggable"
),
s
=
a
.
options
,
n
=
s
.
snapTolerance
,
r
=
i
.
offset
.
left
,
o
=
r
+
a
.
helperProportions
.
width
,
l
=
i
.
offset
.
top
,
h
=
l
+
a
.
helperProportions
.
height
,
u
=
a
.
snapElements
.
length
-
1
;
u
>=
0
;
u
--
){
var
d
=
a
.
snapElements
[
u
].
left
,
c
=
d
+
a
.
snapElements
[
u
].
width
,
p
=
a
.
snapElements
[
u
].
top
,
m
=
p
+
a
.
snapElements
[
u
].
height
;
if
(
r
>
d
-
n
&&
c
+
n
>
r
&&
l
>
p
-
n
&&
m
+
n
>
l
||
r
>
d
-
n
&&
c
+
n
>
r
&&
h
>
p
-
n
&&
m
+
n
>
h
||
o
>
d
-
n
&&
c
+
n
>
o
&&
l
>
p
-
n
&&
m
+
n
>
l
||
o
>
d
-
n
&&
c
+
n
>
o
&&
h
>
p
-
n
&&
m
+
n
>
h
){
if
(
"inner"
!=
s
.
snapMode
){
var
f
=
n
>=
Math
.
abs
(
p
-
h
),
g
=
n
>=
Math
.
abs
(
m
-
l
),
v
=
n
>=
Math
.
abs
(
d
-
o
),
y
=
n
>=
Math
.
abs
(
c
-
r
);
f
&&
(
i
.
position
.
top
=
a
.
_convertPositionTo
(
"relative"
,{
top
:
p
-
a
.
helperProportions
.
height
,
left
:
0
}).
top
-
a
.
margins
.
top
),
g
&&
(
i
.
position
.
top
=
a
.
_convertPositionTo
(
"relative"
,{
top
:
m
,
left
:
0
}).
top
-
a
.
margins
.
top
),
v
&&
(
i
.
position
.
left
=
a
.
_convertPositionTo
(
"relative"
,{
top
:
0
,
left
:
d
-
a
.
helperProportions
.
width
}).
left
-
a
.
margins
.
left
),
y
&&
(
i
.
position
.
left
=
a
.
_convertPositionTo
(
"relative"
,{
top
:
0
,
left
:
c
}).
left
-
a
.
margins
.
left
)}
var
b
=
f
||
g
||
v
||
y
;
if
(
"outer"
!=
s
.
snapMode
){
var
f
=
n
>=
Math
.
abs
(
p
-
l
),
g
=
n
>=
Math
.
abs
(
m
-
h
),
v
=
n
>=
Math
.
abs
(
d
-
r
),
y
=
n
>=
Math
.
abs
(
c
-
o
);
f
&&
(
i
.
position
.
top
=
a
.
_convertPositionTo
(
"relative"
,{
top
:
p
,
left
:
0
}).
top
-
a
.
margins
.
top
),
g
&&
(
i
.
position
.
top
=
a
.
_convertPositionTo
(
"relative"
,{
top
:
m
-
a
.
helperProportions
.
height
,
left
:
0
}).
top
-
a
.
margins
.
top
),
v
&&
(
i
.
position
.
left
=
a
.
_convertPositionTo
(
"relative"
,{
top
:
0
,
left
:
d
}).
left
-
a
.
margins
.
left
),
y
&&
(
i
.
position
.
left
=
a
.
_convertPositionTo
(
"relative"
,{
top
:
0
,
left
:
c
-
a
.
helperProportions
.
width
}).
left
-
a
.
margins
.
left
)}
!
a
.
snapElements
[
u
].
snapping
&&
(
f
||
g
||
v
||
y
||
b
)
&&
a
.
options
.
snap
.
snap
&&
a
.
options
.
snap
.
snap
.
call
(
a
.
element
,
t
,
e
.
extend
(
a
.
_uiHash
(),{
snapItem
:
a
.
snapElements
[
u
].
item
})),
a
.
snapElements
[
u
].
snapping
=
f
||
g
||
v
||
y
||
b
}
else
a
.
snapElements
[
u
].
snapping
&&
a
.
options
.
snap
.
release
&&
a
.
options
.
snap
.
release
.
call
(
a
.
element
,
t
,
e
.
extend
(
a
.
_uiHash
(),{
snapItem
:
a
.
snapElements
[
u
].
item
})),
a
.
snapElements
[
u
].
snapping
=!
1
}}}),
e
.
ui
.
plugin
.
add
(
"draggable"
,
"stack"
,{
start
:
function
(){
var
t
=
e
(
this
).
data
(
"draggable"
).
options
,
i
=
e
.
makeArray
(
e
(
t
.
stack
)).
sort
(
function
(
t
,
i
){
return
(
parseInt
(
e
(
t
).
css
(
"zIndex"
),
10
)
||
0
)
-
(
parseInt
(
e
(
i
).
css
(
"zIndex"
),
10
)
||
0
)});
if
(
i
.
length
){
var
a
=
parseInt
(
i
[
0
].
style
.
zIndex
)
||
0
;
e
(
i
).
each
(
function
(
e
){
this
.
style
.
zIndex
=
a
+
e
}),
this
[
0
].
style
.
zIndex
=
a
+
i
.
length
}}}),
e
.
ui
.
plugin
.
add
(
"draggable"
,
"zIndex"
,{
start
:
function
(
t
,
i
){
var
a
=
e
(
i
.
helper
),
s
=
e
(
this
).
data
(
"draggable"
).
options
;
a
.
css
(
"zIndex"
)
&&
(
s
.
_zIndex
=
a
.
css
(
"zIndex"
)),
a
.
css
(
"zIndex"
,
s
.
zIndex
)},
stop
:
function
(
t
,
i
){
var
a
=
e
(
this
).
data
(
"draggable"
).
options
;
a
.
_zIndex
&&
e
(
i
.
helper
).
css
(
"zIndex"
,
a
.
_zIndex
)}})})(
jQuery
);(
function
(
e
){
e
.
widget
(
"ui.droppable"
,{
version
:
"1.9.2"
,
widgetEventPrefix
:
"drop"
,
options
:
{
accept
:
"*"
,
activeClass
:!
1
,
addClasses
:!
0
,
greedy
:!
1
,
hoverClass
:!
1
,
scope
:
"default"
,
tolerance
:
"intersect"
},
_create
:
function
(){
var
t
=
this
.
options
,
i
=
t
.
accept
;
this
.
isover
=
0
,
this
.
isout
=
1
,
this
.
accept
=
e
.
isFunction
(
i
)
?
i
:
function
(
e
){
return
e
.
is
(
i
)},
this
.
proportions
=
{
width
:
this
.
element
[
0
].
offsetWidth
,
height
:
this
.
element
[
0
].
offsetHeight
},
e
.
ui
.
ddmanager
.
droppables
[
t
.
scope
]
=
e
.
ui
.
ddmanager
.
droppables
[
t
.
scope
]
||
[],
e
.
ui
.
ddmanager
.
droppables
[
t
.
scope
].
push
(
this
),
t
.
addClasses
&&
this
.
element
.
addClass
(
"ui-droppable"
)},
_destroy
:
function
(){
for
(
var
t
=
e
.
ui
.
ddmanager
.
droppables
[
this
.
options
.
scope
],
i
=
0
;
t
.
length
>
i
;
i
++
)
t
[
i
]
==
this
&&
t
.
splice
(
i
,
1
);
this
.
element
.
removeClass
(
"ui-droppable ui-droppable-disabled"
)},
_setOption
:
function
(
t
,
i
){
"accept"
==
t
&&
(
this
.
accept
=
e
.
isFunction
(
i
)
?
i
:
function
(
e
){
return
e
.
is
(
i
)}),
e
.
Widget
.
prototype
.
_setOption
.
apply
(
this
,
arguments
)},
_activate
:
function
(
t
){
var
i
=
e
.
ui
.
ddmanager
.
current
;
this
.
options
.
activeClass
&&
this
.
element
.
addClass
(
this
.
options
.
activeClass
),
i
&&
this
.
_trigger
(
"activate"
,
t
,
this
.
ui
(
i
))},
_deactivate
:
function
(
t
){
var
i
=
e
.
ui
.
ddmanager
.
current
;
this
.
options
.
activeClass
&&
this
.
element
.
removeClass
(
this
.
options
.
activeClass
),
i
&&
this
.
_trigger
(
"deactivate"
,
t
,
this
.
ui
(
i
))},
_over
:
function
(
t
){
var
i
=
e
.
ui
.
ddmanager
.
current
;
i
&&
(
i
.
currentItem
||
i
.
element
)[
0
]
!=
this
.
element
[
0
]
&&
this
.
accept
.
call
(
this
.
element
[
0
],
i
.
currentItem
||
i
.
element
)
&&
(
this
.
options
.
hoverClass
&&
this
.
element
.
addClass
(
this
.
options
.
hoverClass
),
this
.
_trigger
(
"over"
,
t
,
this
.
ui
(
i
)))},
_out
:
function
(
t
){
var
i
=
e
.
ui
.
ddmanager
.
current
;
i
&&
(
i
.
currentItem
||
i
.
element
)[
0
]
!=
this
.
element
[
0
]
&&
this
.
accept
.
call
(
this
.
element
[
0
],
i
.
currentItem
||
i
.
element
)
&&
(
this
.
options
.
hoverClass
&&
this
.
element
.
removeClass
(
this
.
options
.
hoverClass
),
this
.
_trigger
(
"out"
,
t
,
this
.
ui
(
i
)))},
_drop
:
function
(
t
,
i
){
var
a
=
i
||
e
.
ui
.
ddmanager
.
current
;
if
(
!
a
||
(
a
.
currentItem
||
a
.
element
)[
0
]
==
this
.
element
[
0
])
return
!
1
;
var
s
=!
1
;
return
this
.
element
.
find
(
":data(droppable)"
).
not
(
".ui-draggable-dragging"
).
each
(
function
(){
var
t
=
e
.
data
(
this
,
"droppable"
);
return
t
.
options
.
greedy
&&!
t
.
options
.
disabled
&&
t
.
options
.
scope
==
a
.
options
.
scope
&&
t
.
accept
.
call
(
t
.
element
[
0
],
a
.
currentItem
||
a
.
element
)
&&
e
.
ui
.
intersect
(
a
,
e
.
extend
(
t
,{
offset
:
t
.
element
.
offset
()}),
t
.
options
.
tolerance
)
?
(
s
=!
0
,
!
1
)
:
undefined
}),
s
?!
1
:
this
.
accept
.
call
(
this
.
element
[
0
],
a
.
currentItem
||
a
.
element
)
?
(
this
.
options
.
activeClass
&&
this
.
element
.
removeClass
(
this
.
options
.
activeClass
),
this
.
options
.
hoverClass
&&
this
.
element
.
removeClass
(
this
.
options
.
hoverClass
),
this
.
_trigger
(
"drop"
,
t
,
this
.
ui
(
a
)),
this
.
element
)
:!
1
},
ui
:
function
(
e
){
return
{
draggable
:
e
.
currentItem
||
e
.
element
,
helper
:
e
.
helper
,
position
:
e
.
position
,
offset
:
e
.
positionAbs
}}}),
e
.
ui
.
intersect
=
function
(
t
,
i
,
a
){
if
(
!
i
.
offset
)
return
!
1
;
var
s
=
(
t
.
positionAbs
||
t
.
position
.
absolute
).
left
,
n
=
s
+
t
.
helperProportions
.
width
,
r
=
(
t
.
positionAbs
||
t
.
position
.
absolute
).
top
,
o
=
r
+
t
.
helperProportions
.
height
,
l
=
i
.
offset
.
left
,
h
=
l
+
i
.
proportions
.
width
,
u
=
i
.
offset
.
top
,
d
=
u
+
i
.
proportions
.
height
;
switch
(
a
){
case
"fit"
:
return
s
>=
l
&&
h
>=
n
&&
r
>=
u
&&
d
>=
o
;
case
"intersect"
:
return
s
+
t
.
helperProportions
.
width
/
2
>
l
&&
h
>
n
-
t
.
helperProportions
.
width
/
2
&&
r
+
t
.
helperProportions
.
height
/
2
>
u
&&
d
>
o
-
t
.
helperProportions
.
height
/
2
;
case
"pointer"
:
var
c
=
(
t
.
positionAbs
||
t
.
position
.
absolute
).
left
+
(
t
.
clickOffset
||
t
.
offset
.
click
).
left
,
p
=
(
t
.
positionAbs
||
t
.
position
.
absolute
).
top
+
(
t
.
clickOffset
||
t
.
offset
.
click
).
top
,
m
=
e
.
ui
.
isOver
(
p
,
c
,
u
,
l
,
i
.
proportions
.
height
,
i
.
proportions
.
width
);
return
m
;
case
"touch"
:
return
(
r
>=
u
&&
d
>=
r
||
o
>=
u
&&
d
>=
o
||
u
>
r
&&
o
>
d
)
&&
(
s
>=
l
&&
h
>=
s
||
n
>=
l
&&
h
>=
n
||
l
>
s
&&
n
>
h
);
default
:
return
!
1
}},
e
.
ui
.
ddmanager
=
{
current
:
null
,
droppables
:
{
"default"
:
[]},
prepareOffsets
:
function
(
t
,
i
){
var
a
=
e
.
ui
.
ddmanager
.
droppables
[
t
.
options
.
scope
]
||
[],
s
=
i
?
i
.
type
:
null
,
n
=
(
t
.
currentItem
||
t
.
element
).
find
(
":data(droppable)"
).
andSelf
();
e
:
for
(
var
r
=
0
;
a
.
length
>
r
;
r
++
)
if
(
!
(
a
[
r
].
options
.
disabled
||
t
&&!
a
[
r
].
accept
.
call
(
a
[
r
].
element
[
0
],
t
.
currentItem
||
t
.
element
))){
for
(
var
o
=
0
;
n
.
length
>
o
;
o
++
)
if
(
n
[
o
]
==
a
[
r
].
element
[
0
]){
a
[
r
].
proportions
.
height
=
0
;
continue
e
}
a
[
r
].
visible
=
"none"
!=
a
[
r
].
element
.
css
(
"display"
),
a
[
r
].
visible
&&
(
"mousedown"
==
s
&&
a
[
r
].
_activate
.
call
(
a
[
r
],
i
),
a
[
r
].
offset
=
a
[
r
].
element
.
offset
(),
a
[
r
].
proportions
=
{
width
:
a
[
r
].
element
[
0
].
offsetWidth
,
height
:
a
[
r
].
element
[
0
].
offsetHeight
})}},
drop
:
function
(
t
,
i
){
var
a
=!
1
;
return
e
.
each
(
e
.
ui
.
ddmanager
.
droppables
[
t
.
options
.
scope
]
||
[],
function
(){
this
.
options
&&
(
!
this
.
options
.
disabled
&&
this
.
visible
&&
e
.
ui
.
intersect
(
t
,
this
,
this
.
options
.
tolerance
)
&&
(
a
=
this
.
_drop
.
call
(
this
,
i
)
||
a
),
!
this
.
options
.
disabled
&&
this
.
visible
&&
this
.
accept
.
call
(
this
.
element
[
0
],
t
.
currentItem
||
t
.
element
)
&&
(
this
.
isout
=
1
,
this
.
isover
=
0
,
this
.
_deactivate
.
call
(
this
,
i
)))}),
a
},
dragStart
:
function
(
t
,
i
){
t
.
element
.
parentsUntil
(
"body"
).
bind
(
"scroll.droppable"
,
function
(){
t
.
options
.
refreshPositions
||
e
.
ui
.
ddmanager
.
prepareOffsets
(
t
,
i
)})},
drag
:
function
(
t
,
i
){
t
.
options
.
refreshPositions
&&
e
.
ui
.
ddmanager
.
prepareOffsets
(
t
,
i
),
e
.
each
(
e
.
ui
.
ddmanager
.
droppables
[
t
.
options
.
scope
]
||
[],
function
(){
if
(
!
this
.
options
.
disabled
&&!
this
.
greedyChild
&&
this
.
visible
){
var
a
=
e
.
ui
.
intersect
(
t
,
this
,
this
.
options
.
tolerance
),
s
=
a
||
1
!=
this
.
isover
?
a
&&
0
==
this
.
isover
?
"isover"
:
null
:
"isout"
;
if
(
s
){
var
n
;
if
(
this
.
options
.
greedy
){
var
r
=
this
.
options
.
scope
,
o
=
this
.
element
.
parents
(
":data(droppable)"
).
filter
(
function
(){
return
e
.
data
(
this
,
"droppable"
).
options
.
scope
===
r
});
o
.
length
&&
(
n
=
e
.
data
(
o
[
0
],
"droppable"
),
n
.
greedyChild
=
"isover"
==
s
?
1
:
0
)}
n
&&
"isover"
==
s
&&
(
n
.
isover
=
0
,
n
.
isout
=
1
,
n
.
_out
.
call
(
n
,
i
)),
this
[
s
]
=
1
,
this
[
"isout"
==
s
?
"isover"
:
"isout"
]
=
0
,
this
[
"isover"
==
s
?
"_over"
:
"_out"
].
call
(
this
,
i
),
n
&&
"isout"
==
s
&&
(
n
.
isout
=
0
,
n
.
isover
=
1
,
n
.
_over
.
call
(
n
,
i
))}}})},
dragStop
:
function
(
t
,
i
){
t
.
element
.
parentsUntil
(
"body"
).
unbind
(
"scroll.droppable"
),
t
.
options
.
refreshPositions
||
e
.
ui
.
ddmanager
.
prepareOffsets
(
t
,
i
)}}})(
jQuery
);(
function
(
e
){
e
.
widget
(
"ui.resizable"
,
e
.
ui
.
mouse
,{
version
:
"1.9.2"
,
widgetEventPrefix
:
"resize"
,
options
:
{
alsoResize
:!
1
,
animate
:!
1
,
animateDuration
:
"slow"
,
animateEasing
:
"swing"
,
aspectRatio
:!
1
,
autoHide
:!
1
,
containment
:!
1
,
ghost
:!
1
,
grid
:!
1
,
handles
:
"e,s,se"
,
helper
:!
1
,
maxHeight
:
null
,
maxWidth
:
null
,
minHeight
:
10
,
minWidth
:
10
,
zIndex
:
1e3
},
_create
:
function
(){
var
t
=
this
,
i
=
this
.
options
;
if
(
this
.
element
.
addClass
(
"ui-resizable"
),
e
.
extend
(
this
,{
_aspectRatio
:!!
i
.
aspectRatio
,
aspectRatio
:
i
.
aspectRatio
,
originalElement
:
this
.
element
,
_proportionallyResizeElements
:
[],
_helper
:
i
.
helper
||
i
.
ghost
||
i
.
animate
?
i
.
helper
||
"ui-resizable-helper"
:
null
}),
this
.
element
[
0
].
nodeName
.
match
(
/canvas|textarea|input|select|button|img/i
)
&&
(
this
.
element
.
wrap
(
e
(
'<div class="ui-wrapper" style="overflow: hidden;"></div>'
).
css
({
position
:
this
.
element
.
css
(
"position"
),
width
:
this
.
element
.
outerWidth
(),
height
:
this
.
element
.
outerHeight
(),
top
:
this
.
element
.
css
(
"top"
),
left
:
this
.
element
.
css
(
"left"
)})),
this
.
element
=
this
.
element
.
parent
().
data
(
"resizable"
,
this
.
element
.
data
(
"resizable"
)),
this
.
elementIsWrapper
=!
0
,
this
.
element
.
css
({
marginLeft
:
this
.
originalElement
.
css
(
"marginLeft"
),
marginTop
:
this
.
originalElement
.
css
(
"marginTop"
),
marginRight
:
this
.
originalElement
.
css
(
"marginRight"
),
marginBottom
:
this
.
originalElement
.
css
(
"marginBottom"
)}),
this
.
originalElement
.
css
({
marginLeft
:
0
,
marginTop
:
0
,
marginRight
:
0
,
marginBottom
:
0
}),
this
.
originalResizeStyle
=
this
.
originalElement
.
css
(
"resize"
),
this
.
originalElement
.
css
(
"resize"
,
"none"
),
this
.
_proportionallyResizeElements
.
push
(
this
.
originalElement
.
css
({
position
:
"static"
,
zoom
:
1
,
display
:
"block"
})),
this
.
originalElement
.
css
({
margin
:
this
.
originalElement
.
css
(
"margin"
)}),
this
.
_proportionallyResize
()),
this
.
handles
=
i
.
handles
||
(
e
(
".ui-resizable-handle"
,
this
.
element
).
length
?
{
n
:
".ui-resizable-n"
,
e
:
".ui-resizable-e"
,
s
:
".ui-resizable-s"
,
w
:
".ui-resizable-w"
,
se
:
".ui-resizable-se"
,
sw
:
".ui-resizable-sw"
,
ne
:
".ui-resizable-ne"
,
nw
:
".ui-resizable-nw"
}
:
"e,s,se"
),
this
.
handles
.
constructor
==
String
){
"all"
==
this
.
handles
&&
(
this
.
handles
=
"n,e,s,w,se,sw,ne,nw"
);
var
s
=
this
.
handles
.
split
(
","
);
this
.
handles
=
{};
for
(
var
a
=
0
;
s
.
length
>
a
;
a
++
){
var
n
=
e
.
trim
(
s
[
a
]),
r
=
"ui-resizable-"
+
n
,
o
=
e
(
'<div class="ui-resizable-handle '
+
r
+
'"></div>'
);
o
.
css
({
zIndex
:
i
.
zIndex
}),
"se"
==
n
&&
o
.
addClass
(
"ui-icon ui-icon-gripsmall-diagonal-se"
),
this
.
handles
[
n
]
=
".ui-resizable-"
+
n
,
this
.
element
.
append
(
o
)}}
this
.
_renderAxis
=
function
(
t
){
t
=
t
||
this
.
element
;
for
(
var
i
in
this
.
handles
){
if
(
this
.
handles
[
i
].
constructor
==
String
&&
(
this
.
handles
[
i
]
=
e
(
this
.
handles
[
i
],
this
.
element
).
show
()),
this
.
elementIsWrapper
&&
this
.
originalElement
[
0
].
nodeName
.
match
(
/textarea|input|select|button/i
)){
var
s
=
e
(
this
.
handles
[
i
],
this
.
element
),
a
=
0
;
a
=
/sw|ne|nw|se|n|s/
.
test
(
i
)
?
s
.
outerHeight
()
:
s
.
outerWidth
();
var
n
=
[
"padding"
,
/ne|nw|n/
.
test
(
i
)
?
"Top"
:
/se|sw|s/
.
test
(
i
)
?
"Bottom"
:
/^e$/
.
test
(
i
)
?
"Right"
:
"Left"
].
join
(
""
);
t
.
css
(
n
,
a
),
this
.
_proportionallyResize
()}
e
(
this
.
handles
[
i
]).
length
}},
this
.
_renderAxis
(
this
.
element
),
this
.
_handles
=
e
(
".ui-resizable-handle"
,
this
.
element
).
disableSelection
(),
this
.
_handles
.
mouseover
(
function
(){
if
(
!
t
.
resizing
){
if
(
this
.
className
)
var
e
=
this
.
className
.
match
(
/ui-resizable-(se|sw|ne|nw|n|e|s|w)/i
);
t
.
axis
=
e
&&
e
[
1
]
?
e
[
1
]
:
"se"
}}),
i
.
autoHide
&&
(
this
.
_handles
.
hide
(),
e
(
this
.
element
).
addClass
(
"ui-resizable-autohide"
).
mouseenter
(
function
(){
i
.
disabled
||
(
e
(
this
).
removeClass
(
"ui-resizable-autohide"
),
t
.
_handles
.
show
())}).
mouseleave
(
function
(){
i
.
disabled
||
t
.
resizing
||
(
e
(
this
).
addClass
(
"ui-resizable-autohide"
),
t
.
_handles
.
hide
())})),
this
.
_mouseInit
()},
_destroy
:
function
(){
this
.
_mouseDestroy
();
var
t
=
function
(
t
){
e
(
t
).
removeClass
(
"ui-resizable ui-resizable-disabled ui-resizable-resizing"
).
removeData
(
"resizable"
).
removeData
(
"ui-resizable"
).
unbind
(
".resizable"
).
find
(
".ui-resizable-handle"
).
remove
()};
if
(
this
.
elementIsWrapper
){
t
(
this
.
element
);
var
i
=
this
.
element
;
this
.
originalElement
.
css
({
position
:
i
.
css
(
"position"
),
width
:
i
.
outerWidth
(),
height
:
i
.
outerHeight
(),
top
:
i
.
css
(
"top"
),
left
:
i
.
css
(
"left"
)}).
insertAfter
(
i
),
i
.
remove
()}
return
this
.
originalElement
.
css
(
"resize"
,
this
.
originalResizeStyle
),
t
(
this
.
originalElement
),
this
},
_mouseCapture
:
function
(
t
){
var
i
=!
1
;
for
(
var
s
in
this
.
handles
)
e
(
this
.
handles
[
s
])[
0
]
==
t
.
target
&&
(
i
=!
0
);
return
!
this
.
options
.
disabled
&&
i
},
_mouseStart
:
function
(
i
){
var
s
=
this
.
options
,
a
=
this
.
element
.
position
(),
n
=
this
.
element
;
this
.
resizing
=!
0
,
this
.
documentScroll
=
{
top
:
e
(
document
).
scrollTop
(),
left
:
e
(
document
).
scrollLeft
()},(
n
.
is
(
".ui-draggable"
)
||
/absolute/
.
test
(
n
.
css
(
"position"
)))
&&
n
.
css
({
position
:
"absolute"
,
top
:
a
.
top
,
left
:
a
.
left
}),
this
.
_renderProxy
();
var
r
=
t
(
this
.
helper
.
css
(
"left"
)),
o
=
t
(
this
.
helper
.
css
(
"top"
));
s
.
containment
&&
(
r
+=
e
(
s
.
containment
).
scrollLeft
()
||
0
,
o
+=
e
(
s
.
containment
).
scrollTop
()
||
0
),
this
.
offset
=
this
.
helper
.
offset
(),
this
.
position
=
{
left
:
r
,
top
:
o
},
this
.
size
=
this
.
_helper
?
{
width
:
n
.
outerWidth
(),
height
:
n
.
outerHeight
()}
:
{
width
:
n
.
width
(),
height
:
n
.
height
()},
this
.
originalSize
=
this
.
_helper
?
{
width
:
n
.
outerWidth
(),
height
:
n
.
outerHeight
()}
:
{
width
:
n
.
width
(),
height
:
n
.
height
()},
this
.
originalPosition
=
{
left
:
r
,
top
:
o
},
this
.
sizeDiff
=
{
width
:
n
.
outerWidth
()
-
n
.
width
(),
height
:
n
.
outerHeight
()
-
n
.
height
()},
this
.
originalMousePosition
=
{
left
:
i
.
pageX
,
top
:
i
.
pageY
},
this
.
aspectRatio
=
"number"
==
typeof
s
.
aspectRatio
?
s
.
aspectRatio
:
this
.
originalSize
.
width
/
this
.
originalSize
.
height
||
1
;
var
h
=
e
(
".ui-resizable-"
+
this
.
axis
).
css
(
"cursor"
);
return
e
(
"body"
).
css
(
"cursor"
,
"auto"
==
h
?
this
.
axis
+
"-resize"
:
h
),
n
.
addClass
(
"ui-resizable-resizing"
),
this
.
_propagate
(
"start"
,
i
),
!
0
},
_mouseDrag
:
function
(
e
){
var
t
=
this
.
helper
,
i
=
(
this
.
options
,
this
.
originalMousePosition
),
s
=
this
.
axis
,
a
=
e
.
pageX
-
i
.
left
||
0
,
n
=
e
.
pageY
-
i
.
top
||
0
,
r
=
this
.
_change
[
s
];
if
(
!
r
)
return
!
1
;
var
o
=
r
.
apply
(
this
,[
e
,
a
,
n
]);
return
this
.
_updateVirtualBoundaries
(
e
.
shiftKey
),(
this
.
_aspectRatio
||
e
.
shiftKey
)
&&
(
o
=
this
.
_updateRatio
(
o
,
e
)),
o
=
this
.
_respectSize
(
o
,
e
),
this
.
_propagate
(
"resize"
,
e
),
t
.
css
({
top
:
this
.
position
.
top
+
"px"
,
left
:
this
.
position
.
left
+
"px"
,
width
:
this
.
size
.
width
+
"px"
,
height
:
this
.
size
.
height
+
"px"
}),
!
this
.
_helper
&&
this
.
_proportionallyResizeElements
.
length
&&
this
.
_proportionallyResize
(),
this
.
_updateCache
(
o
),
this
.
_trigger
(
"resize"
,
e
,
this
.
ui
()),
!
1
},
_mouseStop
:
function
(
t
){
this
.
resizing
=!
1
;
var
i
=
this
.
options
,
s
=
this
;
if
(
this
.
_helper
){
var
a
=
this
.
_proportionallyResizeElements
,
n
=
a
.
length
&&
/textarea/i
.
test
(
a
[
0
].
nodeName
),
r
=
n
&&
e
.
ui
.
hasScroll
(
a
[
0
],
"left"
)
?
0
:
s
.
sizeDiff
.
height
,
o
=
n
?
0
:
s
.
sizeDiff
.
width
,
h
=
{
width
:
s
.
helper
.
width
()
-
o
,
height
:
s
.
helper
.
height
()
-
r
},
l
=
parseInt
(
s
.
element
.
css
(
"left"
),
10
)
+
(
s
.
position
.
left
-
s
.
originalPosition
.
left
)
||
null
,
u
=
parseInt
(
s
.
element
.
css
(
"top"
),
10
)
+
(
s
.
position
.
top
-
s
.
originalPosition
.
top
)
||
null
;
i
.
animate
||
this
.
element
.
css
(
e
.
extend
(
h
,{
top
:
u
,
left
:
l
})),
s
.
helper
.
height
(
s
.
size
.
height
),
s
.
helper
.
width
(
s
.
size
.
width
),
this
.
_helper
&&!
i
.
animate
&&
this
.
_proportionallyResize
()}
return
e
(
"body"
).
css
(
"cursor"
,
"auto"
),
this
.
element
.
removeClass
(
"ui-resizable-resizing"
),
this
.
_propagate
(
"stop"
,
t
),
this
.
_helper
&&
this
.
helper
.
remove
(),
!
1
},
_updateVirtualBoundaries
:
function
(
e
){
var
t
,
s
,
a
,
n
,
r
,
o
=
this
.
options
;
r
=
{
minWidth
:
i
(
o
.
minWidth
)
?
o
.
minWidth
:
0
,
maxWidth
:
i
(
o
.
maxWidth
)
?
o
.
maxWidth
:
1
/
0
,
minHeight
:
i
(
o
.
minHeight
)
?
o
.
minHeight
:
0
,
maxHeight
:
i
(
o
.
maxHeight
)
?
o
.
maxHeight
:
1
/
0
},(
this
.
_aspectRatio
||
e
)
&&
(
t
=
r
.
minHeight
*
this
.
aspectRatio
,
a
=
r
.
minWidth
/
this
.
aspectRatio
,
s
=
r
.
maxHeight
*
this
.
aspectRatio
,
n
=
r
.
maxWidth
/
this
.
aspectRatio
,
t
>
r
.
minWidth
&&
(
r
.
minWidth
=
t
),
a
>
r
.
minHeight
&&
(
r
.
minHeight
=
a
),
r
.
maxWidth
>
s
&&
(
r
.
maxWidth
=
s
),
r
.
maxHeight
>
n
&&
(
r
.
maxHeight
=
n
)),
this
.
_vBoundaries
=
r
},
_updateCache
:
function
(
e
){
this
.
options
,
this
.
offset
=
this
.
helper
.
offset
(),
i
(
e
.
left
)
&&
(
this
.
position
.
left
=
e
.
left
),
i
(
e
.
top
)
&&
(
this
.
position
.
top
=
e
.
top
),
i
(
e
.
height
)
&&
(
this
.
size
.
height
=
e
.
height
),
i
(
e
.
width
)
&&
(
this
.
size
.
width
=
e
.
width
)},
_updateRatio
:
function
(
e
){
var
t
=
(
this
.
options
,
this
.
position
),
s
=
this
.
size
,
a
=
this
.
axis
;
return
i
(
e
.
height
)
?
e
.
width
=
e
.
height
*
this
.
aspectRatio
:
i
(
e
.
width
)
&&
(
e
.
height
=
e
.
width
/
this
.
aspectRatio
),
"sw"
==
a
&&
(
e
.
left
=
t
.
left
+
(
s
.
width
-
e
.
width
),
e
.
top
=
null
),
"nw"
==
a
&&
(
e
.
top
=
t
.
top
+
(
s
.
height
-
e
.
height
),
e
.
left
=
t
.
left
+
(
s
.
width
-
e
.
width
)),
e
},
_respectSize
:
function
(
e
,
t
){
var
s
=
(
this
.
helper
,
this
.
_vBoundaries
),
a
=
(
this
.
_aspectRatio
||
t
.
shiftKey
,
this
.
axis
),
n
=
i
(
e
.
width
)
&&
s
.
maxWidth
&&
s
.
maxWidth
<
e
.
width
,
r
=
i
(
e
.
height
)
&&
s
.
maxHeight
&&
s
.
maxHeight
<
e
.
height
,
o
=
i
(
e
.
width
)
&&
s
.
minWidth
&&
s
.
minWidth
>
e
.
width
,
h
=
i
(
e
.
height
)
&&
s
.
minHeight
&&
s
.
minHeight
>
e
.
height
;
o
&&
(
e
.
width
=
s
.
minWidth
),
h
&&
(
e
.
height
=
s
.
minHeight
),
n
&&
(
e
.
width
=
s
.
maxWidth
),
r
&&
(
e
.
height
=
s
.
maxHeight
);
var
l
=
this
.
originalPosition
.
left
+
this
.
originalSize
.
width
,
u
=
this
.
position
.
top
+
this
.
size
.
height
,
d
=
/sw|nw|w/
.
test
(
a
),
c
=
/nw|ne|n/
.
test
(
a
);
o
&&
d
&&
(
e
.
left
=
l
-
s
.
minWidth
),
n
&&
d
&&
(
e
.
left
=
l
-
s
.
maxWidth
),
h
&&
c
&&
(
e
.
top
=
u
-
s
.
minHeight
),
r
&&
c
&&
(
e
.
top
=
u
-
s
.
maxHeight
);
var
p
=!
e
.
width
&&!
e
.
height
;
return
p
&&!
e
.
left
&&
e
.
top
?
e
.
top
=
null
:
p
&&!
e
.
top
&&
e
.
left
&&
(
e
.
left
=
null
),
e
},
_proportionallyResize
:
function
(){
if
(
this
.
options
,
this
.
_proportionallyResizeElements
.
length
)
for
(
var
t
=
this
.
helper
||
this
.
element
,
i
=
0
;
this
.
_proportionallyResizeElements
.
length
>
i
;
i
++
){
var
s
=
this
.
_proportionallyResizeElements
[
i
];
if
(
!
this
.
borderDif
){
var
a
=
[
s
.
css
(
"borderTopWidth"
),
s
.
css
(
"borderRightWidth"
),
s
.
css
(
"borderBottomWidth"
),
s
.
css
(
"borderLeftWidth"
)],
n
=
[
s
.
css
(
"paddingTop"
),
s
.
css
(
"paddingRight"
),
s
.
css
(
"paddingBottom"
),
s
.
css
(
"paddingLeft"
)];
this
.
borderDif
=
e
.
map
(
a
,
function
(
e
,
t
){
var
i
=
parseInt
(
e
,
10
)
||
0
,
s
=
parseInt
(
n
[
t
],
10
)
||
0
;
return
i
+
s
})}
s
.
css
({
height
:
t
.
height
()
-
this
.
borderDif
[
0
]
-
this
.
borderDif
[
2
]
||
0
,
width
:
t
.
width
()
-
this
.
borderDif
[
1
]
-
this
.
borderDif
[
3
]
||
0
})}},
_renderProxy
:
function
(){
var
t
=
this
.
element
,
i
=
this
.
options
;
if
(
this
.
elementOffset
=
t
.
offset
(),
this
.
_helper
){
this
.
helper
=
this
.
helper
||
e
(
'<div style="overflow:hidden;"></div>'
);
var
s
=
e
.
ui
.
ie6
?
1
:
0
,
a
=
e
.
ui
.
ie6
?
2
:-
1
;
this
.
helper
.
addClass
(
this
.
_helper
).
css
({
width
:
this
.
element
.
outerWidth
()
+
a
,
height
:
this
.
element
.
outerHeight
()
+
a
,
position
:
"absolute"
,
left
:
this
.
elementOffset
.
left
-
s
+
"px"
,
top
:
this
.
elementOffset
.
top
-
s
+
"px"
,
zIndex
:++
i
.
zIndex
}),
this
.
helper
.
appendTo
(
"body"
).
disableSelection
()}
else
this
.
helper
=
this
.
element
},
_change
:
{
e
:
function
(
e
,
t
){
return
{
width
:
this
.
originalSize
.
width
+
t
}},
w
:
function
(
e
,
t
){
var
i
=
(
this
.
options
,
this
.
originalSize
),
s
=
this
.
originalPosition
;
return
{
left
:
s
.
left
+
t
,
width
:
i
.
width
-
t
}},
n
:
function
(
e
,
t
,
i
){
var
s
=
(
this
.
options
,
this
.
originalSize
),
a
=
this
.
originalPosition
;
return
{
top
:
a
.
top
+
i
,
height
:
s
.
height
-
i
}},
s
:
function
(
e
,
t
,
i
){
return
{
height
:
this
.
originalSize
.
height
+
i
}},
se
:
function
(
t
,
i
,
s
){
return
e
.
extend
(
this
.
_change
.
s
.
apply
(
this
,
arguments
),
this
.
_change
.
e
.
apply
(
this
,[
t
,
i
,
s
]))},
sw
:
function
(
t
,
i
,
s
){
return
e
.
extend
(
this
.
_change
.
s
.
apply
(
this
,
arguments
),
this
.
_change
.
w
.
apply
(
this
,[
t
,
i
,
s
]))},
ne
:
function
(
t
,
i
,
s
){
return
e
.
extend
(
this
.
_change
.
n
.
apply
(
this
,
arguments
),
this
.
_change
.
e
.
apply
(
this
,[
t
,
i
,
s
]))},
nw
:
function
(
t
,
i
,
s
){
return
e
.
extend
(
this
.
_change
.
n
.
apply
(
this
,
arguments
),
this
.
_change
.
w
.
apply
(
this
,[
t
,
i
,
s
]))}},
_propagate
:
function
(
t
,
i
){
e
.
ui
.
plugin
.
call
(
this
,
t
,[
i
,
this
.
ui
()]),
"resize"
!=
t
&&
this
.
_trigger
(
t
,
i
,
this
.
ui
())},
plugins
:
{},
ui
:
function
(){
return
{
originalElement
:
this
.
originalElement
,
element
:
this
.
element
,
helper
:
this
.
helper
,
position
:
this
.
position
,
size
:
this
.
size
,
originalSize
:
this
.
originalSize
,
originalPosition
:
this
.
originalPosition
}}}),
e
.
ui
.
plugin
.
add
(
"resizable"
,
"alsoResize"
,{
start
:
function
(){
var
t
=
e
(
this
).
data
(
"resizable"
),
i
=
t
.
options
,
s
=
function
(
t
){
e
(
t
).
each
(
function
(){
var
t
=
e
(
this
);
t
.
data
(
"resizable-alsoresize"
,{
width
:
parseInt
(
t
.
width
(),
10
),
height
:
parseInt
(
t
.
height
(),
10
),
left
:
parseInt
(
t
.
css
(
"left"
),
10
),
top
:
parseInt
(
t
.
css
(
"top"
),
10
)})})};
"object"
!=
typeof
i
.
alsoResize
||
i
.
alsoResize
.
parentNode
?
s
(
i
.
alsoResize
)
:
i
.
alsoResize
.
length
?
(
i
.
alsoResize
=
i
.
alsoResize
[
0
],
s
(
i
.
alsoResize
))
:
e
.
each
(
i
.
alsoResize
,
function
(
e
){
s
(
e
)})},
resize
:
function
(
t
,
i
){
var
s
=
e
(
this
).
data
(
"resizable"
),
a
=
s
.
options
,
n
=
s
.
originalSize
,
r
=
s
.
originalPosition
,
o
=
{
height
:
s
.
size
.
height
-
n
.
height
||
0
,
width
:
s
.
size
.
width
-
n
.
width
||
0
,
top
:
s
.
position
.
top
-
r
.
top
||
0
,
left
:
s
.
position
.
left
-
r
.
left
||
0
},
h
=
function
(
t
,
s
){
e
(
t
).
each
(
function
(){
var
t
=
e
(
this
),
a
=
e
(
this
).
data
(
"resizable-alsoresize"
),
n
=
{},
r
=
s
&&
s
.
length
?
s
:
t
.
parents
(
i
.
originalElement
[
0
]).
length
?
[
"width"
,
"height"
]
:
[
"width"
,
"height"
,
"top"
,
"left"
];
e
.
each
(
r
,
function
(
e
,
t
){
var
i
=
(
a
[
t
]
||
0
)
+
(
o
[
t
]
||
0
);
i
&&
i
>=
0
&&
(
n
[
t
]
=
i
||
null
)}),
t
.
css
(
n
)})};
"object"
!=
typeof
a
.
alsoResize
||
a
.
alsoResize
.
nodeType
?
h
(
a
.
alsoResize
)
:
e
.
each
(
a
.
alsoResize
,
function
(
e
,
t
){
h
(
e
,
t
)})},
stop
:
function
(){
e
(
this
).
removeData
(
"resizable-alsoresize"
)}}),
e
.
ui
.
plugin
.
add
(
"resizable"
,
"animate"
,{
stop
:
function
(
t
){
var
i
=
e
(
this
).
data
(
"resizable"
),
s
=
i
.
options
,
a
=
i
.
_proportionallyResizeElements
,
n
=
a
.
length
&&
/textarea/i
.
test
(
a
[
0
].
nodeName
),
r
=
n
&&
e
.
ui
.
hasScroll
(
a
[
0
],
"left"
)
?
0
:
i
.
sizeDiff
.
height
,
o
=
n
?
0
:
i
.
sizeDiff
.
width
,
h
=
{
width
:
i
.
size
.
width
-
o
,
height
:
i
.
size
.
height
-
r
},
l
=
parseInt
(
i
.
element
.
css
(
"left"
),
10
)
+
(
i
.
position
.
left
-
i
.
originalPosition
.
left
)
||
null
,
u
=
parseInt
(
i
.
element
.
css
(
"top"
),
10
)
+
(
i
.
position
.
top
-
i
.
originalPosition
.
top
)
||
null
;
i
.
element
.
animate
(
e
.
extend
(
h
,
u
&&
l
?
{
top
:
u
,
left
:
l
}
:
{}),{
duration
:
s
.
animateDuration
,
easing
:
s
.
animateEasing
,
step
:
function
(){
var
s
=
{
width
:
parseInt
(
i
.
element
.
css
(
"width"
),
10
),
height
:
parseInt
(
i
.
element
.
css
(
"height"
),
10
),
top
:
parseInt
(
i
.
element
.
css
(
"top"
),
10
),
left
:
parseInt
(
i
.
element
.
css
(
"left"
),
10
)};
a
&&
a
.
length
&&
e
(
a
[
0
]).
css
({
width
:
s
.
width
,
height
:
s
.
height
}),
i
.
_updateCache
(
s
),
i
.
_propagate
(
"resize"
,
t
)}})}}),
e
.
ui
.
plugin
.
add
(
"resizable"
,
"containment"
,{
start
:
function
(){
var
i
=
e
(
this
).
data
(
"resizable"
),
s
=
i
.
options
,
a
=
i
.
element
,
n
=
s
.
containment
,
r
=
n
instanceof
e
?
n
.
get
(
0
)
:
/parent/
.
test
(
n
)
?
a
.
parent
().
get
(
0
)
:
n
;
if
(
r
)
if
(
i
.
containerElement
=
e
(
r
),
/document/
.
test
(
n
)
||
n
==
document
)
i
.
containerOffset
=
{
left
:
0
,
top
:
0
},
i
.
containerPosition
=
{
left
:
0
,
top
:
0
},
i
.
parentData
=
{
element
:
e
(
document
),
left
:
0
,
top
:
0
,
width
:
e
(
document
).
width
(),
height
:
e
(
document
).
height
()
||
document
.
body
.
parentNode
.
scrollHeight
};
else
{
var
o
=
e
(
r
),
h
=
[];
e
([
"Top"
,
"Right"
,
"Left"
,
"Bottom"
]).
each
(
function
(
e
,
i
){
h
[
e
]
=
t
(
o
.
css
(
"padding"
+
i
))}),
i
.
containerOffset
=
o
.
offset
(),
i
.
containerPosition
=
o
.
position
(),
i
.
containerSize
=
{
height
:
o
.
innerHeight
()
-
h
[
3
],
width
:
o
.
innerWidth
()
-
h
[
1
]};
var
l
=
i
.
containerOffset
,
u
=
i
.
containerSize
.
height
,
d
=
i
.
containerSize
.
width
,
c
=
e
.
ui
.
hasScroll
(
r
,
"left"
)
?
r
.
scrollWidth
:
d
,
p
=
e
.
ui
.
hasScroll
(
r
)
?
r
.
scrollHeight
:
u
;
i
.
parentData
=
{
element
:
r
,
left
:
l
.
left
,
top
:
l
.
top
,
width
:
c
,
height
:
p
}}},
resize
:
function
(
t
){
var
i
=
e
(
this
).
data
(
"resizable"
),
s
=
i
.
options
,
a
=
(
i
.
containerSize
,
i
.
containerOffset
),
n
=
(
i
.
size
,
i
.
position
),
r
=
i
.
_aspectRatio
||
t
.
shiftKey
,
o
=
{
top
:
0
,
left
:
0
},
h
=
i
.
containerElement
;
h
[
0
]
!=
document
&&
/static/
.
test
(
h
.
css
(
"position"
))
&&
(
o
=
a
),
n
.
left
<
(
i
.
_helper
?
a
.
left
:
0
)
&&
(
i
.
size
.
width
=
i
.
size
.
width
+
(
i
.
_helper
?
i
.
position
.
left
-
a
.
left
:
i
.
position
.
left
-
o
.
left
),
r
&&
(
i
.
size
.
height
=
i
.
size
.
width
/
i
.
aspectRatio
),
i
.
position
.
left
=
s
.
helper
?
a
.
left
:
0
),
n
.
top
<
(
i
.
_helper
?
a
.
top
:
0
)
&&
(
i
.
size
.
height
=
i
.
size
.
height
+
(
i
.
_helper
?
i
.
position
.
top
-
a
.
top
:
i
.
position
.
top
),
r
&&
(
i
.
size
.
width
=
i
.
size
.
height
*
i
.
aspectRatio
),
i
.
position
.
top
=
i
.
_helper
?
a
.
top
:
0
),
i
.
offset
.
left
=
i
.
parentData
.
left
+
i
.
position
.
left
,
i
.
offset
.
top
=
i
.
parentData
.
top
+
i
.
position
.
top
;
var
l
=
Math
.
abs
((
i
.
_helper
?
i
.
offset
.
left
-
o
.
left
:
i
.
offset
.
left
-
o
.
left
)
+
i
.
sizeDiff
.
width
),
u
=
Math
.
abs
((
i
.
_helper
?
i
.
offset
.
top
-
o
.
top
:
i
.
offset
.
top
-
a
.
top
)
+
i
.
sizeDiff
.
height
),
d
=
i
.
containerElement
.
get
(
0
)
==
i
.
element
.
parent
().
get
(
0
),
c
=
/relative|absolute/
.
test
(
i
.
containerElement
.
css
(
"position"
));
d
&&
c
&&
(
l
-=
i
.
parentData
.
left
),
l
+
i
.
size
.
width
>=
i
.
parentData
.
width
&&
(
i
.
size
.
width
=
i
.
parentData
.
width
-
l
,
r
&&
(
i
.
size
.
height
=
i
.
size
.
width
/
i
.
aspectRatio
)),
u
+
i
.
size
.
height
>=
i
.
parentData
.
height
&&
(
i
.
size
.
height
=
i
.
parentData
.
height
-
u
,
r
&&
(
i
.
size
.
width
=
i
.
size
.
height
*
i
.
aspectRatio
))},
stop
:
function
(){
var
t
=
e
(
this
).
data
(
"resizable"
),
i
=
t
.
options
,
s
=
(
t
.
position
,
t
.
containerOffset
),
a
=
t
.
containerPosition
,
n
=
t
.
containerElement
,
r
=
e
(
t
.
helper
),
o
=
r
.
offset
(),
h
=
r
.
outerWidth
()
-
t
.
sizeDiff
.
width
,
l
=
r
.
outerHeight
()
-
t
.
sizeDiff
.
height
;
t
.
_helper
&&!
i
.
animate
&&
/relative/
.
test
(
n
.
css
(
"position"
))
&&
e
(
this
).
css
({
left
:
o
.
left
-
a
.
left
-
s
.
left
,
width
:
h
,
height
:
l
}),
t
.
_helper
&&!
i
.
animate
&&
/static/
.
test
(
n
.
css
(
"position"
))
&&
e
(
this
).
css
({
left
:
o
.
left
-
a
.
left
-
s
.
left
,
width
:
h
,
height
:
l
})}}),
e
.
ui
.
plugin
.
add
(
"resizable"
,
"ghost"
,{
start
:
function
(){
var
t
=
e
(
this
).
data
(
"resizable"
),
i
=
t
.
options
,
s
=
t
.
size
;
t
.
ghost
=
t
.
originalElement
.
clone
(),
t
.
ghost
.
css
({
opacity
:
.25
,
display
:
"block"
,
position
:
"relative"
,
height
:
s
.
height
,
width
:
s
.
width
,
margin
:
0
,
left
:
0
,
top
:
0
}).
addClass
(
"ui-resizable-ghost"
).
addClass
(
"string"
==
typeof
i
.
ghost
?
i
.
ghost
:
""
),
t
.
ghost
.
appendTo
(
t
.
helper
)},
resize
:
function
(){
var
t
=
e
(
this
).
data
(
"resizable"
);
t
.
options
,
t
.
ghost
&&
t
.
ghost
.
css
({
position
:
"relative"
,
height
:
t
.
size
.
height
,
width
:
t
.
size
.
width
})},
stop
:
function
(){
var
t
=
e
(
this
).
data
(
"resizable"
);
t
.
options
,
t
.
ghost
&&
t
.
helper
&&
t
.
helper
.
get
(
0
).
removeChild
(
t
.
ghost
.
get
(
0
))}}),
e
.
ui
.
plugin
.
add
(
"resizable"
,
"grid"
,{
resize
:
function
(
t
){
var
i
=
e
(
this
).
data
(
"resizable"
),
s
=
i
.
options
,
a
=
i
.
size
,
n
=
i
.
originalSize
,
r
=
i
.
originalPosition
,
o
=
i
.
axis
;
s
.
_aspectRatio
||
t
.
shiftKey
,
s
.
grid
=
"number"
==
typeof
s
.
grid
?
[
s
.
grid
,
s
.
grid
]
:
s
.
grid
;
var
h
=
Math
.
round
((
a
.
width
-
n
.
width
)
/
(
s
.
grid
[
0
]
||
1
))
*
(
s
.
grid
[
0
]
||
1
),
l
=
Math
.
round
((
a
.
height
-
n
.
height
)
/
(
s
.
grid
[
1
]
||
1
))
*
(
s
.
grid
[
1
]
||
1
);
/^(se|s|e)$/
.
test
(
o
)
?
(
i
.
size
.
width
=
n
.
width
+
h
,
i
.
size
.
height
=
n
.
height
+
l
)
:
/^(ne)$/
.
test
(
o
)
?
(
i
.
size
.
width
=
n
.
width
+
h
,
i
.
size
.
height
=
n
.
height
+
l
,
i
.
position
.
top
=
r
.
top
-
l
)
:
/^(sw)$/
.
test
(
o
)
?
(
i
.
size
.
width
=
n
.
width
+
h
,
i
.
size
.
height
=
n
.
height
+
l
,
i
.
position
.
left
=
r
.
left
-
h
)
:
(
i
.
size
.
width
=
n
.
width
+
h
,
i
.
size
.
height
=
n
.
height
+
l
,
i
.
position
.
top
=
r
.
top
-
l
,
i
.
position
.
left
=
r
.
left
-
h
)}});
var
t
=
function
(
e
){
return
parseInt
(
e
,
10
)
||
0
},
i
=
function
(
e
){
return
!
isNaN
(
parseInt
(
e
,
10
))}})(
jQuery
);(
function
(
e
){
e
.
widget
(
"ui.selectable"
,
e
.
ui
.
mouse
,{
version
:
"1.9.2"
,
options
:
{
appendTo
:
"body"
,
autoRefresh
:!
0
,
distance
:
0
,
filter
:
"*"
,
tolerance
:
"touch"
},
_create
:
function
(){
var
t
=
this
;
this
.
element
.
addClass
(
"ui-selectable"
),
this
.
dragged
=!
1
;
var
i
;
this
.
refresh
=
function
(){
i
=
e
(
t
.
options
.
filter
,
t
.
element
[
0
]),
i
.
addClass
(
"ui-selectee"
),
i
.
each
(
function
(){
var
t
=
e
(
this
),
i
=
t
.
offset
();
e
.
data
(
this
,
"selectable-item"
,{
element
:
this
,
$element
:
t
,
left
:
i
.
left
,
top
:
i
.
top
,
right
:
i
.
left
+
t
.
outerWidth
(),
bottom
:
i
.
top
+
t
.
outerHeight
(),
startselected
:!
1
,
selected
:
t
.
hasClass
(
"ui-selected"
),
selecting
:
t
.
hasClass
(
"ui-selecting"
),
unselecting
:
t
.
hasClass
(
"ui-unselecting"
)})})},
this
.
refresh
(),
this
.
selectees
=
i
.
addClass
(
"ui-selectee"
),
this
.
_mouseInit
(),
this
.
helper
=
e
(
"<div class='ui-selectable-helper'></div>"
)},
_destroy
:
function
(){
this
.
selectees
.
removeClass
(
"ui-selectee"
).
removeData
(
"selectable-item"
),
this
.
element
.
removeClass
(
"ui-selectable ui-selectable-disabled"
),
this
.
_mouseDestroy
()},
_mouseStart
:
function
(
t
){
var
i
=
this
;
if
(
this
.
opos
=
[
t
.
pageX
,
t
.
pageY
],
!
this
.
options
.
disabled
){
var
s
=
this
.
options
;
this
.
selectees
=
e
(
s
.
filter
,
this
.
element
[
0
]),
this
.
_trigger
(
"start"
,
t
),
e
(
s
.
appendTo
).
append
(
this
.
helper
),
this
.
helper
.
css
({
left
:
t
.
clientX
,
top
:
t
.
clientY
,
width
:
0
,
height
:
0
}),
s
.
autoRefresh
&&
this
.
refresh
(),
this
.
selectees
.
filter
(
".ui-selected"
).
each
(
function
(){
var
s
=
e
.
data
(
this
,
"selectable-item"
);
s
.
startselected
=!
0
,
t
.
metaKey
||
t
.
ctrlKey
||
(
s
.
$element
.
removeClass
(
"ui-selected"
),
s
.
selected
=!
1
,
s
.
$element
.
addClass
(
"ui-unselecting"
),
s
.
unselecting
=!
0
,
i
.
_trigger
(
"unselecting"
,
t
,{
unselecting
:
s
.
element
}))}),
e
(
t
.
target
).
parents
().
andSelf
().
each
(
function
(){
var
s
=
e
.
data
(
this
,
"selectable-item"
);
if
(
s
){
var
a
=!
t
.
metaKey
&&!
t
.
ctrlKey
||!
s
.
$element
.
hasClass
(
"ui-selected"
);
return
s
.
$element
.
removeClass
(
a
?
"ui-unselecting"
:
"ui-selected"
).
addClass
(
a
?
"ui-selecting"
:
"ui-unselecting"
),
s
.
unselecting
=!
a
,
s
.
selecting
=
a
,
s
.
selected
=
a
,
a
?
i
.
_trigger
(
"selecting"
,
t
,{
selecting
:
s
.
element
})
:
i
.
_trigger
(
"unselecting"
,
t
,{
unselecting
:
s
.
element
}),
!
1
}})}},
_mouseDrag
:
function
(
t
){
var
i
=
this
;
if
(
this
.
dragged
=!
0
,
!
this
.
options
.
disabled
){
var
s
=
this
.
options
,
a
=
this
.
opos
[
0
],
n
=
this
.
opos
[
1
],
r
=
t
.
pageX
,
o
=
t
.
pageY
;
if
(
a
>
r
){
var
h
=
r
;
r
=
a
,
a
=
h
}
if
(
n
>
o
){
var
h
=
o
;
o
=
n
,
n
=
h
}
return
this
.
helper
.
css
({
left
:
a
,
top
:
n
,
width
:
r
-
a
,
height
:
o
-
n
}),
this
.
selectees
.
each
(
function
(){
var
h
=
e
.
data
(
this
,
"selectable-item"
);
if
(
h
&&
h
.
element
!=
i
.
element
[
0
]){
var
l
=!
1
;
"touch"
==
s
.
tolerance
?
l
=!
(
h
.
left
>
r
||
a
>
h
.
right
||
h
.
top
>
o
||
n
>
h
.
bottom
)
:
"fit"
==
s
.
tolerance
&&
(
l
=
h
.
left
>
a
&&
r
>
h
.
right
&&
h
.
top
>
n
&&
o
>
h
.
bottom
),
l
?
(
h
.
selected
&&
(
h
.
$element
.
removeClass
(
"ui-selected"
),
h
.
selected
=!
1
),
h
.
unselecting
&&
(
h
.
$element
.
removeClass
(
"ui-unselecting"
),
h
.
unselecting
=!
1
),
h
.
selecting
||
(
h
.
$element
.
addClass
(
"ui-selecting"
),
h
.
selecting
=!
0
,
i
.
_trigger
(
"selecting"
,
t
,{
selecting
:
h
.
element
})))
:
(
h
.
selecting
&&
((
t
.
metaKey
||
t
.
ctrlKey
)
&&
h
.
startselected
?
(
h
.
$element
.
removeClass
(
"ui-selecting"
),
h
.
selecting
=!
1
,
h
.
$element
.
addClass
(
"ui-selected"
),
h
.
selected
=!
0
)
:
(
h
.
$element
.
removeClass
(
"ui-selecting"
),
h
.
selecting
=!
1
,
h
.
startselected
&&
(
h
.
$element
.
addClass
(
"ui-unselecting"
),
h
.
unselecting
=!
0
),
i
.
_trigger
(
"unselecting"
,
t
,{
unselecting
:
h
.
element
}))),
h
.
selected
&&
(
t
.
metaKey
||
t
.
ctrlKey
||
h
.
startselected
||
(
h
.
$element
.
removeClass
(
"ui-selected"
),
h
.
selected
=!
1
,
h
.
$element
.
addClass
(
"ui-unselecting"
),
h
.
unselecting
=!
0
,
i
.
_trigger
(
"unselecting"
,
t
,{
unselecting
:
h
.
element
}))))}}),
!
1
}},
_mouseStop
:
function
(
t
){
var
i
=
this
;
return
this
.
dragged
=!
1
,
this
.
options
,
e
(
".ui-unselecting"
,
this
.
element
[
0
]).
each
(
function
(){
var
s
=
e
.
data
(
this
,
"selectable-item"
);
s
.
$element
.
removeClass
(
"ui-unselecting"
),
s
.
unselecting
=!
1
,
s
.
startselected
=!
1
,
i
.
_trigger
(
"unselected"
,
t
,{
unselected
:
s
.
element
})}),
e
(
".ui-selecting"
,
this
.
element
[
0
]).
each
(
function
(){
var
s
=
e
.
data
(
this
,
"selectable-item"
);
s
.
$element
.
removeClass
(
"ui-selecting"
).
addClass
(
"ui-selected"
),
s
.
selecting
=!
1
,
s
.
selected
=!
0
,
s
.
startselected
=!
0
,
i
.
_trigger
(
"selected"
,
t
,{
selected
:
s
.
element
})}),
this
.
_trigger
(
"stop"
,
t
),
this
.
helper
.
remove
(),
!
1
}})})(
jQuery
);(
function
(
e
){
e
.
widget
(
"ui.sortable"
,
e
.
ui
.
mouse
,{
version
:
"1.9.2"
,
widgetEventPrefix
:
"sort"
,
ready
:!
1
,
options
:
{
appendTo
:
"parent"
,
axis
:!
1
,
connectWith
:!
1
,
containment
:!
1
,
cursor
:
"auto"
,
cursorAt
:!
1
,
dropOnEmpty
:!
0
,
forcePlaceholderSize
:!
1
,
forceHelperSize
:!
1
,
grid
:!
1
,
handle
:!
1
,
helper
:
"original"
,
items
:
"> *"
,
opacity
:!
1
,
placeholder
:!
1
,
revert
:!
1
,
scroll
:!
0
,
scrollSensitivity
:
20
,
scrollSpeed
:
20
,
scope
:
"default"
,
tolerance
:
"intersect"
,
zIndex
:
1e3
},
_create
:
function
(){
var
e
=
this
.
options
;
this
.
containerCache
=
{},
this
.
element
.
addClass
(
"ui-sortable"
),
this
.
refresh
(),
this
.
floating
=
this
.
items
.
length
?
"x"
===
e
.
axis
||
/left|right/
.
test
(
this
.
items
[
0
].
item
.
css
(
"float"
))
||
/inline|table-cell/
.
test
(
this
.
items
[
0
].
item
.
css
(
"display"
))
:!
1
,
this
.
offset
=
this
.
element
.
offset
(),
this
.
_mouseInit
(),
this
.
ready
=!
0
},
_destroy
:
function
(){
this
.
element
.
removeClass
(
"ui-sortable ui-sortable-disabled"
),
this
.
_mouseDestroy
();
for
(
var
e
=
this
.
items
.
length
-
1
;
e
>=
0
;
e
--
)
this
.
items
[
e
].
item
.
removeData
(
this
.
widgetName
+
"-item"
);
return
this
},
_setOption
:
function
(
t
,
i
){
"disabled"
===
t
?
(
this
.
options
[
t
]
=
i
,
this
.
widget
().
toggleClass
(
"ui-sortable-disabled"
,
!!
i
))
:
e
.
Widget
.
prototype
.
_setOption
.
apply
(
this
,
arguments
)},
_mouseCapture
:
function
(
t
,
i
){
var
s
=
this
;
if
(
this
.
reverting
)
return
!
1
;
if
(
this
.
options
.
disabled
||
"static"
==
this
.
options
.
type
)
return
!
1
;
this
.
_refreshItems
(
t
);
var
a
=
null
;
if
(
e
(
t
.
target
).
parents
().
each
(
function
(){
return
e
.
data
(
this
,
s
.
widgetName
+
"-item"
)
==
s
?
(
a
=
e
(
this
),
!
1
)
:
undefined
}),
e
.
data
(
t
.
target
,
s
.
widgetName
+
"-item"
)
==
s
&&
(
a
=
e
(
t
.
target
)),
!
a
)
return
!
1
;
if
(
this
.
options
.
handle
&&!
i
){
var
n
=!
1
;
if
(
e
(
this
.
options
.
handle
,
a
).
find
(
"*"
).
andSelf
().
each
(
function
(){
this
==
t
.
target
&&
(
n
=!
0
)}),
!
n
)
return
!
1
}
return
this
.
currentItem
=
a
,
this
.
_removeCurrentsFromItems
(),
!
0
},
_mouseStart
:
function
(
t
,
i
,
s
){
var
a
=
this
.
options
;
if
(
this
.
currentContainer
=
this
,
this
.
refreshPositions
(),
this
.
helper
=
this
.
_createHelper
(
t
),
this
.
_cacheHelperProportions
(),
this
.
_cacheMargins
(),
this
.
scrollParent
=
this
.
helper
.
scrollParent
(),
this
.
offset
=
this
.
currentItem
.
offset
(),
this
.
offset
=
{
top
:
this
.
offset
.
top
-
this
.
margins
.
top
,
left
:
this
.
offset
.
left
-
this
.
margins
.
left
},
e
.
extend
(
this
.
offset
,{
click
:
{
left
:
t
.
pageX
-
this
.
offset
.
left
,
top
:
t
.
pageY
-
this
.
offset
.
top
},
parent
:
this
.
_getParentOffset
(),
relative
:
this
.
_getRelativeOffset
()}),
this
.
helper
.
css
(
"position"
,
"absolute"
),
this
.
cssPosition
=
this
.
helper
.
css
(
"position"
),
this
.
originalPosition
=
this
.
_generatePosition
(
t
),
this
.
originalPageX
=
t
.
pageX
,
this
.
originalPageY
=
t
.
pageY
,
a
.
cursorAt
&&
this
.
_adjustOffsetFromHelper
(
a
.
cursorAt
),
this
.
domPosition
=
{
prev
:
this
.
currentItem
.
prev
()[
0
],
parent
:
this
.
currentItem
.
parent
()[
0
]},
this
.
helper
[
0
]
!=
this
.
currentItem
[
0
]
&&
this
.
currentItem
.
hide
(),
this
.
_createPlaceholder
(),
a
.
containment
&&
this
.
_setContainment
(),
a
.
cursor
&&
(
e
(
"body"
).
css
(
"cursor"
)
&&
(
this
.
_storedCursor
=
e
(
"body"
).
css
(
"cursor"
)),
e
(
"body"
).
css
(
"cursor"
,
a
.
cursor
)),
a
.
opacity
&&
(
this
.
helper
.
css
(
"opacity"
)
&&
(
this
.
_storedOpacity
=
this
.
helper
.
css
(
"opacity"
)),
this
.
helper
.
css
(
"opacity"
,
a
.
opacity
)),
a
.
zIndex
&&
(
this
.
helper
.
css
(
"zIndex"
)
&&
(
this
.
_storedZIndex
=
this
.
helper
.
css
(
"zIndex"
)),
this
.
helper
.
css
(
"zIndex"
,
a
.
zIndex
)),
this
.
scrollParent
[
0
]
!=
document
&&
"HTML"
!=
this
.
scrollParent
[
0
].
tagName
&&
(
this
.
overflowOffset
=
this
.
scrollParent
.
offset
()),
this
.
_trigger
(
"start"
,
t
,
this
.
_uiHash
()),
this
.
_preserveHelperProportions
||
this
.
_cacheHelperProportions
(),
!
s
)
for
(
var
n
=
this
.
containers
.
length
-
1
;
n
>=
0
;
n
--
)
this
.
containers
[
n
].
_trigger
(
"activate"
,
t
,
this
.
_uiHash
(
this
));
return
e
.
ui
.
ddmanager
&&
(
e
.
ui
.
ddmanager
.
current
=
this
),
e
.
ui
.
ddmanager
&&!
a
.
dropBehaviour
&&
e
.
ui
.
ddmanager
.
prepareOffsets
(
this
,
t
),
this
.
dragging
=!
0
,
this
.
helper
.
addClass
(
"ui-sortable-helper"
),
this
.
_mouseDrag
(
t
),
!
0
},
_mouseDrag
:
function
(
t
){
if
(
this
.
position
=
this
.
_generatePosition
(
t
),
this
.
positionAbs
=
this
.
_convertPositionTo
(
"absolute"
),
this
.
lastPositionAbs
||
(
this
.
lastPositionAbs
=
this
.
positionAbs
),
this
.
options
.
scroll
){
var
i
=
this
.
options
,
s
=!
1
;
this
.
scrollParent
[
0
]
!=
document
&&
"HTML"
!=
this
.
scrollParent
[
0
].
tagName
?
(
this
.
overflowOffset
.
top
+
this
.
scrollParent
[
0
].
offsetHeight
-
t
.
pageY
<
i
.
scrollSensitivity
?
this
.
scrollParent
[
0
].
scrollTop
=
s
=
this
.
scrollParent
[
0
].
scrollTop
+
i
.
scrollSpeed
:
t
.
pageY
-
this
.
overflowOffset
.
top
<
i
.
scrollSensitivity
&&
(
this
.
scrollParent
[
0
].
scrollTop
=
s
=
this
.
scrollParent
[
0
].
scrollTop
-
i
.
scrollSpeed
),
this
.
overflowOffset
.
left
+
this
.
scrollParent
[
0
].
offsetWidth
-
t
.
pageX
<
i
.
scrollSensitivity
?
this
.
scrollParent
[
0
].
scrollLeft
=
s
=
this
.
scrollParent
[
0
].
scrollLeft
+
i
.
scrollSpeed
:
t
.
pageX
-
this
.
overflowOffset
.
left
<
i
.
scrollSensitivity
&&
(
this
.
scrollParent
[
0
].
scrollLeft
=
s
=
this
.
scrollParent
[
0
].
scrollLeft
-
i
.
scrollSpeed
))
:
(
t
.
pageY
-
e
(
document
).
scrollTop
()
<
i
.
scrollSensitivity
?
s
=
e
(
document
).
scrollTop
(
e
(
document
).
scrollTop
()
-
i
.
scrollSpeed
)
:
e
(
window
).
height
()
-
(
t
.
pageY
-
e
(
document
).
scrollTop
())
<
i
.
scrollSensitivity
&&
(
s
=
e
(
document
).
scrollTop
(
e
(
document
).
scrollTop
()
+
i
.
scrollSpeed
)),
t
.
pageX
-
e
(
document
).
scrollLeft
()
<
i
.
scrollSensitivity
?
s
=
e
(
document
).
scrollLeft
(
e
(
document
).
scrollLeft
()
-
i
.
scrollSpeed
)
:
e
(
window
).
width
()
-
(
t
.
pageX
-
e
(
document
).
scrollLeft
())
<
i
.
scrollSensitivity
&&
(
s
=
e
(
document
).
scrollLeft
(
e
(
document
).
scrollLeft
()
+
i
.
scrollSpeed
))),
s
!==!
1
&&
e
.
ui
.
ddmanager
&&!
i
.
dropBehaviour
&&
e
.
ui
.
ddmanager
.
prepareOffsets
(
this
,
t
)}
this
.
positionAbs
=
this
.
_convertPositionTo
(
"absolute"
),
this
.
options
.
axis
&&
"y"
==
this
.
options
.
axis
||
(
this
.
helper
[
0
].
style
.
left
=
this
.
position
.
left
+
"px"
),
this
.
options
.
axis
&&
"x"
==
this
.
options
.
axis
||
(
this
.
helper
[
0
].
style
.
top
=
this
.
position
.
top
+
"px"
);
for
(
var
a
=
this
.
items
.
length
-
1
;
a
>=
0
;
a
--
){
var
n
=
this
.
items
[
a
],
r
=
n
.
item
[
0
],
o
=
this
.
_intersectsWithPointer
(
n
);
if
(
o
&&
n
.
instance
===
this
.
currentContainer
&&
r
!=
this
.
currentItem
[
0
]
&&
this
.
placeholder
[
1
==
o
?
"next"
:
"prev"
]()[
0
]
!=
r
&&!
e
.
contains
(
this
.
placeholder
[
0
],
r
)
&&
(
"semi-dynamic"
==
this
.
options
.
type
?!
e
.
contains
(
this
.
element
[
0
],
r
)
:!
0
)){
if
(
this
.
direction
=
1
==
o
?
"down"
:
"up"
,
"pointer"
!=
this
.
options
.
tolerance
&&!
this
.
_intersectsWithSides
(
n
))
break
;
this
.
_rearrange
(
t
,
n
),
this
.
_trigger
(
"change"
,
t
,
this
.
_uiHash
());
break
}}
return
this
.
_contactContainers
(
t
),
e
.
ui
.
ddmanager
&&
e
.
ui
.
ddmanager
.
drag
(
this
,
t
),
this
.
_trigger
(
"sort"
,
t
,
this
.
_uiHash
()),
this
.
lastPositionAbs
=
this
.
positionAbs
,
!
1
},
_mouseStop
:
function
(
t
,
i
){
if
(
t
){
if
(
e
.
ui
.
ddmanager
&&!
this
.
options
.
dropBehaviour
&&
e
.
ui
.
ddmanager
.
drop
(
this
,
t
),
this
.
options
.
revert
){
var
s
=
this
,
a
=
this
.
placeholder
.
offset
();
this
.
reverting
=!
0
,
e
(
this
.
helper
).
animate
({
left
:
a
.
left
-
this
.
offset
.
parent
.
left
-
this
.
margins
.
left
+
(
this
.
offsetParent
[
0
]
==
document
.
body
?
0
:
this
.
offsetParent
[
0
].
scrollLeft
),
top
:
a
.
top
-
this
.
offset
.
parent
.
top
-
this
.
margins
.
top
+
(
this
.
offsetParent
[
0
]
==
document
.
body
?
0
:
this
.
offsetParent
[
0
].
scrollTop
)},
parseInt
(
this
.
options
.
revert
,
10
)
||
500
,
function
(){
s
.
_clear
(
t
)})}
else
this
.
_clear
(
t
,
i
);
return
!
1
}},
cancel
:
function
(){
if
(
this
.
dragging
){
this
.
_mouseUp
({
target
:
null
}),
"original"
==
this
.
options
.
helper
?
this
.
currentItem
.
css
(
this
.
_storedCSS
).
removeClass
(
"ui-sortable-helper"
)
:
this
.
currentItem
.
show
();
for
(
var
t
=
this
.
containers
.
length
-
1
;
t
>=
0
;
t
--
)
this
.
containers
[
t
].
_trigger
(
"deactivate"
,
null
,
this
.
_uiHash
(
this
)),
this
.
containers
[
t
].
containerCache
.
over
&&
(
this
.
containers
[
t
].
_trigger
(
"out"
,
null
,
this
.
_uiHash
(
this
)),
this
.
containers
[
t
].
containerCache
.
over
=
0
)}
return
this
.
placeholder
&&
(
this
.
placeholder
[
0
].
parentNode
&&
this
.
placeholder
[
0
].
parentNode
.
removeChild
(
this
.
placeholder
[
0
]),
"original"
!=
this
.
options
.
helper
&&
this
.
helper
&&
this
.
helper
[
0
].
parentNode
&&
this
.
helper
.
remove
(),
e
.
extend
(
this
,{
helper
:
null
,
dragging
:!
1
,
reverting
:!
1
,
_noFinalSort
:
null
}),
this
.
domPosition
.
prev
?
e
(
this
.
domPosition
.
prev
).
after
(
this
.
currentItem
)
:
e
(
this
.
domPosition
.
parent
).
prepend
(
this
.
currentItem
)),
this
},
serialize
:
function
(
t
){
var
i
=
this
.
_getItemsAsjQuery
(
t
&&
t
.
connected
),
s
=
[];
return
t
=
t
||
{},
e
(
i
).
each
(
function
(){
var
i
=
(
e
(
t
.
item
||
this
).
attr
(
t
.
attribute
||
"id"
)
||
""
).
match
(
t
.
expression
||
/(.+)[-=_](.+)/
);
i
&&
s
.
push
((
t
.
key
||
i
[
1
]
+
"[]"
)
+
"="
+
(
t
.
key
&&
t
.
expression
?
i
[
1
]
:
i
[
2
]))}),
!
s
.
length
&&
t
.
key
&&
s
.
push
(
t
.
key
+
"="
),
s
.
join
(
"&"
)},
toArray
:
function
(
t
){
var
i
=
this
.
_getItemsAsjQuery
(
t
&&
t
.
connected
),
s
=
[];
return
t
=
t
||
{},
i
.
each
(
function
(){
s
.
push
(
e
(
t
.
item
||
this
).
attr
(
t
.
attribute
||
"id"
)
||
""
)}),
s
},
_intersectsWith
:
function
(
e
){
var
t
=
this
.
positionAbs
.
left
,
i
=
t
+
this
.
helperProportions
.
width
,
s
=
this
.
positionAbs
.
top
,
a
=
s
+
this
.
helperProportions
.
height
,
n
=
e
.
left
,
r
=
n
+
e
.
width
,
o
=
e
.
top
,
h
=
o
+
e
.
height
,
l
=
this
.
offset
.
click
.
top
,
u
=
this
.
offset
.
click
.
left
,
c
=
s
+
l
>
o
&&
h
>
s
+
l
&&
t
+
u
>
n
&&
r
>
t
+
u
;
return
"pointer"
==
this
.
options
.
tolerance
||
this
.
options
.
forcePointerForContainers
||
"pointer"
!=
this
.
options
.
tolerance
&&
this
.
helperProportions
[
this
.
floating
?
"width"
:
"height"
]
>
e
[
this
.
floating
?
"width"
:
"height"
]
?
c
:
t
+
this
.
helperProportions
.
width
/
2
>
n
&&
r
>
i
-
this
.
helperProportions
.
width
/
2
&&
s
+
this
.
helperProportions
.
height
/
2
>
o
&&
h
>
a
-
this
.
helperProportions
.
height
/
2
},
_intersectsWithPointer
:
function
(
t
){
var
i
=
"x"
===
this
.
options
.
axis
||
e
.
ui
.
isOverAxis
(
this
.
positionAbs
.
top
+
this
.
offset
.
click
.
top
,
t
.
top
,
t
.
height
),
s
=
"y"
===
this
.
options
.
axis
||
e
.
ui
.
isOverAxis
(
this
.
positionAbs
.
left
+
this
.
offset
.
click
.
left
,
t
.
left
,
t
.
width
),
a
=
i
&&
s
,
n
=
this
.
_getDragVerticalDirection
(),
r
=
this
.
_getDragHorizontalDirection
();
return
a
?
this
.
floating
?
r
&&
"right"
==
r
||
"down"
==
n
?
2
:
1
:
n
&&
(
"down"
==
n
?
2
:
1
)
:!
1
},
_intersectsWithSides
:
function
(
t
){
var
i
=
e
.
ui
.
isOverAxis
(
this
.
positionAbs
.
top
+
this
.
offset
.
click
.
top
,
t
.
top
+
t
.
height
/
2
,
t
.
height
),
s
=
e
.
ui
.
isOverAxis
(
this
.
positionAbs
.
left
+
this
.
offset
.
click
.
left
,
t
.
left
+
t
.
width
/
2
,
t
.
width
),
a
=
this
.
_getDragVerticalDirection
(),
n
=
this
.
_getDragHorizontalDirection
();
return
this
.
floating
&&
n
?
"right"
==
n
&&
s
||
"left"
==
n
&&!
s
:
a
&&
(
"down"
==
a
&&
i
||
"up"
==
a
&&!
i
)},
_getDragVerticalDirection
:
function
(){
var
e
=
this
.
positionAbs
.
top
-
this
.
lastPositionAbs
.
top
;
return
0
!=
e
&&
(
e
>
0
?
"down"
:
"up"
)},
_getDragHorizontalDirection
:
function
(){
var
e
=
this
.
positionAbs
.
left
-
this
.
lastPositionAbs
.
left
;
return
0
!=
e
&&
(
e
>
0
?
"right"
:
"left"
)},
refresh
:
function
(
e
){
return
this
.
_refreshItems
(
e
),
this
.
refreshPositions
(),
this
},
_connectWith
:
function
(){
var
e
=
this
.
options
;
return
e
.
connectWith
.
constructor
==
String
?
[
e
.
connectWith
]
:
e
.
connectWith
},
_getItemsAsjQuery
:
function
(
t
){
var
i
=
[],
s
=
[],
a
=
this
.
_connectWith
();
if
(
a
&&
t
)
for
(
var
n
=
a
.
length
-
1
;
n
>=
0
;
n
--
)
for
(
var
r
=
e
(
a
[
n
]),
o
=
r
.
length
-
1
;
o
>=
0
;
o
--
){
var
h
=
e
.
data
(
r
[
o
],
this
.
widgetName
);
h
&&
h
!=
this
&&!
h
.
options
.
disabled
&&
s
.
push
([
e
.
isFunction
(
h
.
options
.
items
)
?
h
.
options
.
items
.
call
(
h
.
element
)
:
e
(
h
.
options
.
items
,
h
.
element
).
not
(
".ui-sortable-helper"
).
not
(
".ui-sortable-placeholder"
),
h
])}
s
.
push
([
e
.
isFunction
(
this
.
options
.
items
)
?
this
.
options
.
items
.
call
(
this
.
element
,
null
,{
options
:
this
.
options
,
item
:
this
.
currentItem
})
:
e
(
this
.
options
.
items
,
this
.
element
).
not
(
".ui-sortable-helper"
).
not
(
".ui-sortable-placeholder"
),
this
]);
for
(
var
n
=
s
.
length
-
1
;
n
>=
0
;
n
--
)
s
[
n
][
0
].
each
(
function
(){
i
.
push
(
this
)});
return
e
(
i
)},
_removeCurrentsFromItems
:
function
(){
var
t
=
this
.
currentItem
.
find
(
":data("
+
this
.
widgetName
+
"-item)"
);
this
.
items
=
e
.
grep
(
this
.
items
,
function
(
e
){
for
(
var
i
=
0
;
t
.
length
>
i
;
i
++
)
if
(
t
[
i
]
==
e
.
item
[
0
])
return
!
1
;
return
!
0
})},
_refreshItems
:
function
(
t
){
this
.
items
=
[],
this
.
containers
=
[
this
];
var
i
=
this
.
items
,
s
=
[[
e
.
isFunction
(
this
.
options
.
items
)
?
this
.
options
.
items
.
call
(
this
.
element
[
0
],
t
,{
item
:
this
.
currentItem
})
:
e
(
this
.
options
.
items
,
this
.
element
),
this
]],
a
=
this
.
_connectWith
();
if
(
a
&&
this
.
ready
)
for
(
var
n
=
a
.
length
-
1
;
n
>=
0
;
n
--
)
for
(
var
r
=
e
(
a
[
n
]),
o
=
r
.
length
-
1
;
o
>=
0
;
o
--
){
var
h
=
e
.
data
(
r
[
o
],
this
.
widgetName
);
h
&&
h
!=
this
&&!
h
.
options
.
disabled
&&
(
s
.
push
([
e
.
isFunction
(
h
.
options
.
items
)
?
h
.
options
.
items
.
call
(
h
.
element
[
0
],
t
,{
item
:
this
.
currentItem
})
:
e
(
h
.
options
.
items
,
h
.
element
),
h
]),
this
.
containers
.
push
(
h
))}
for
(
var
n
=
s
.
length
-
1
;
n
>=
0
;
n
--
)
for
(
var
l
=
s
[
n
][
1
],
u
=
s
[
n
][
0
],
o
=
0
,
c
=
u
.
length
;
c
>
o
;
o
++
){
var
d
=
e
(
u
[
o
]);
d
.
data
(
this
.
widgetName
+
"-item"
,
l
),
i
.
push
({
item
:
d
,
instance
:
l
,
width
:
0
,
height
:
0
,
left
:
0
,
top
:
0
})}},
refreshPositions
:
function
(
t
){
this
.
offsetParent
&&
this
.
helper
&&
(
this
.
offset
.
parent
=
this
.
_getParentOffset
());
for
(
var
i
=
this
.
items
.
length
-
1
;
i
>=
0
;
i
--
){
var
s
=
this
.
items
[
i
];
if
(
s
.
instance
==
this
.
currentContainer
||!
this
.
currentContainer
||
s
.
item
[
0
]
==
this
.
currentItem
[
0
]){
var
a
=
this
.
options
.
toleranceElement
?
e
(
this
.
options
.
toleranceElement
,
s
.
item
)
:
s
.
item
;
t
||
(
s
.
width
=
a
.
outerWidth
(),
s
.
height
=
a
.
outerHeight
());
var
n
=
a
.
offset
();
s
.
left
=
n
.
left
,
s
.
top
=
n
.
top
}}
if
(
this
.
options
.
custom
&&
this
.
options
.
custom
.
refreshContainers
)
this
.
options
.
custom
.
refreshContainers
.
call
(
this
);
else
for
(
var
i
=
this
.
containers
.
length
-
1
;
i
>=
0
;
i
--
){
var
n
=
this
.
containers
[
i
].
element
.
offset
();
this
.
containers
[
i
].
containerCache
.
left
=
n
.
left
,
this
.
containers
[
i
].
containerCache
.
top
=
n
.
top
,
this
.
containers
[
i
].
containerCache
.
width
=
this
.
containers
[
i
].
element
.
outerWidth
(),
this
.
containers
[
i
].
containerCache
.
height
=
this
.
containers
[
i
].
element
.
outerHeight
()}
return
this
},
_createPlaceholder
:
function
(
t
){
t
=
t
||
this
;
var
i
=
t
.
options
;
if
(
!
i
.
placeholder
||
i
.
placeholder
.
constructor
==
String
){
var
s
=
i
.
placeholder
;
i
.
placeholder
=
{
element
:
function
(){
var
i
=
e
(
document
.
createElement
(
t
.
currentItem
[
0
].
nodeName
)).
addClass
(
s
||
t
.
currentItem
[
0
].
className
+
" ui-sortable-placeholder"
).
removeClass
(
"ui-sortable-helper"
)[
0
];
return
s
||
(
i
.
style
.
visibility
=
"hidden"
),
i
},
update
:
function
(
e
,
a
){(
!
s
||
i
.
forcePlaceholderSize
)
&&
(
a
.
height
()
||
a
.
height
(
t
.
currentItem
.
innerHeight
()
-
parseInt
(
t
.
currentItem
.
css
(
"paddingTop"
)
||
0
,
10
)
-
parseInt
(
t
.
currentItem
.
css
(
"paddingBottom"
)
||
0
,
10
)),
a
.
width
()
||
a
.
width
(
t
.
currentItem
.
innerWidth
()
-
parseInt
(
t
.
currentItem
.
css
(
"paddingLeft"
)
||
0
,
10
)
-
parseInt
(
t
.
currentItem
.
css
(
"paddingRight"
)
||
0
,
10
)))}}}
t
.
placeholder
=
e
(
i
.
placeholder
.
element
.
call
(
t
.
element
,
t
.
currentItem
)),
t
.
currentItem
.
after
(
t
.
placeholder
),
i
.
placeholder
.
update
(
t
,
t
.
placeholder
)},
_contactContainers
:
function
(
t
){
for
(
var
i
=
null
,
s
=
null
,
a
=
this
.
containers
.
length
-
1
;
a
>=
0
;
a
--
)
if
(
!
e
.
contains
(
this
.
currentItem
[
0
],
this
.
containers
[
a
].
element
[
0
]))
if
(
this
.
_intersectsWith
(
this
.
containers
[
a
].
containerCache
)){
if
(
i
&&
e
.
contains
(
this
.
containers
[
a
].
element
[
0
],
i
.
element
[
0
]))
continue
;
i
=
this
.
containers
[
a
],
s
=
a
}
else
this
.
containers
[
a
].
containerCache
.
over
&&
(
this
.
containers
[
a
].
_trigger
(
"out"
,
t
,
this
.
_uiHash
(
this
)),
this
.
containers
[
a
].
containerCache
.
over
=
0
);
if
(
i
)
if
(
1
===
this
.
containers
.
length
)
this
.
containers
[
s
].
_trigger
(
"over"
,
t
,
this
.
_uiHash
(
this
)),
this
.
containers
[
s
].
containerCache
.
over
=
1
;
else
{
for
(
var
n
=
1e4
,
r
=
null
,
o
=
this
.
containers
[
s
].
floating
?
"left"
:
"top"
,
h
=
this
.
containers
[
s
].
floating
?
"width"
:
"height"
,
l
=
this
.
positionAbs
[
o
]
+
this
.
offset
.
click
[
o
],
u
=
this
.
items
.
length
-
1
;
u
>=
0
;
u
--
)
if
(
e
.
contains
(
this
.
containers
[
s
].
element
[
0
],
this
.
items
[
u
].
item
[
0
])
&&
this
.
items
[
u
].
item
[
0
]
!=
this
.
currentItem
[
0
]){
var
c
=
this
.
items
[
u
].
item
.
offset
()[
o
],
d
=!
1
;
Math
.
abs
(
c
-
l
)
>
Math
.
abs
(
c
+
this
.
items
[
u
][
h
]
-
l
)
&&
(
d
=!
0
,
c
+=
this
.
items
[
u
][
h
]),
n
>
Math
.
abs
(
c
-
l
)
&&
(
n
=
Math
.
abs
(
c
-
l
),
r
=
this
.
items
[
u
],
this
.
direction
=
d
?
"up"
:
"down"
)}
if
(
!
r
&&!
this
.
options
.
dropOnEmpty
)
return
;
this
.
currentContainer
=
this
.
containers
[
s
],
r
?
this
.
_rearrange
(
t
,
r
,
null
,
!
0
)
:
this
.
_rearrange
(
t
,
null
,
this
.
containers
[
s
].
element
,
!
0
),
this
.
_trigger
(
"change"
,
t
,
this
.
_uiHash
()),
this
.
containers
[
s
].
_trigger
(
"change"
,
t
,
this
.
_uiHash
(
this
)),
this
.
options
.
placeholder
.
update
(
this
.
currentContainer
,
this
.
placeholder
),
this
.
containers
[
s
].
_trigger
(
"over"
,
t
,
this
.
_uiHash
(
this
)),
this
.
containers
[
s
].
containerCache
.
over
=
1
}},
_createHelper
:
function
(
t
){
var
i
=
this
.
options
,
s
=
e
.
isFunction
(
i
.
helper
)
?
e
(
i
.
helper
.
apply
(
this
.
element
[
0
],[
t
,
this
.
currentItem
]))
:
"clone"
==
i
.
helper
?
this
.
currentItem
.
clone
()
:
this
.
currentItem
;
return
s
.
parents
(
"body"
).
length
||
e
(
"parent"
!=
i
.
appendTo
?
i
.
appendTo
:
this
.
currentItem
[
0
].
parentNode
)[
0
].
appendChild
(
s
[
0
]),
s
[
0
]
==
this
.
currentItem
[
0
]
&&
(
this
.
_storedCSS
=
{
width
:
this
.
currentItem
[
0
].
style
.
width
,
height
:
this
.
currentItem
[
0
].
style
.
height
,
position
:
this
.
currentItem
.
css
(
"position"
),
top
:
this
.
currentItem
.
css
(
"top"
),
left
:
this
.
currentItem
.
css
(
"left"
)}),(
""
==
s
[
0
].
style
.
width
||
i
.
forceHelperSize
)
&&
s
.
width
(
this
.
currentItem
.
width
()),(
""
==
s
[
0
].
style
.
height
||
i
.
forceHelperSize
)
&&
s
.
height
(
this
.
currentItem
.
height
()),
s
},
_adjustOffsetFromHelper
:
function
(
t
){
"string"
==
typeof
t
&&
(
t
=
t
.
split
(
" "
)),
e
.
isArray
(
t
)
&&
(
t
=
{
left
:+
t
[
0
],
top
:+
t
[
1
]
||
0
}),
"left"
in
t
&&
(
this
.
offset
.
click
.
left
=
t
.
left
+
this
.
margins
.
left
),
"right"
in
t
&&
(
this
.
offset
.
click
.
left
=
this
.
helperProportions
.
width
-
t
.
right
+
this
.
margins
.
left
),
"top"
in
t
&&
(
this
.
offset
.
click
.
top
=
t
.
top
+
this
.
margins
.
top
),
"bottom"
in
t
&&
(
this
.
offset
.
click
.
top
=
this
.
helperProportions
.
height
-
t
.
bottom
+
this
.
margins
.
top
)},
_getParentOffset
:
function
(){
this
.
offsetParent
=
this
.
helper
.
offsetParent
();
var
t
=
this
.
offsetParent
.
offset
();
return
"absolute"
==
this
.
cssPosition
&&
this
.
scrollParent
[
0
]
!=
document
&&
e
.
contains
(
this
.
scrollParent
[
0
],
this
.
offsetParent
[
0
])
&&
(
t
.
left
+=
this
.
scrollParent
.
scrollLeft
(),
t
.
top
+=
this
.
scrollParent
.
scrollTop
()),(
this
.
offsetParent
[
0
]
==
document
.
body
||
this
.
offsetParent
[
0
].
tagName
&&
"html"
==
this
.
offsetParent
[
0
].
tagName
.
toLowerCase
()
&&
e
.
ui
.
ie
)
&&
(
t
=
{
top
:
0
,
left
:
0
}),{
top
:
t
.
top
+
(
parseInt
(
this
.
offsetParent
.
css
(
"borderTopWidth"
),
10
)
||
0
),
left
:
t
.
left
+
(
parseInt
(
this
.
offsetParent
.
css
(
"borderLeftWidth"
),
10
)
||
0
)}},
_getRelativeOffset
:
function
(){
if
(
"relative"
==
this
.
cssPosition
){
var
e
=
this
.
currentItem
.
position
();
return
{
top
:
e
.
top
-
(
parseInt
(
this
.
helper
.
css
(
"top"
),
10
)
||
0
)
+
this
.
scrollParent
.
scrollTop
(),
left
:
e
.
left
-
(
parseInt
(
this
.
helper
.
css
(
"left"
),
10
)
||
0
)
+
this
.
scrollParent
.
scrollLeft
()}}
return
{
top
:
0
,
left
:
0
}},
_cacheMargins
:
function
(){
this
.
margins
=
{
left
:
parseInt
(
this
.
currentItem
.
css
(
"marginLeft"
),
10
)
||
0
,
top
:
parseInt
(
this
.
currentItem
.
css
(
"marginTop"
),
10
)
||
0
}},
_cacheHelperProportions
:
function
(){
this
.
helperProportions
=
{
width
:
this
.
helper
.
outerWidth
(),
height
:
this
.
helper
.
outerHeight
()}},
_setContainment
:
function
(){
var
t
=
this
.
options
;
if
(
"parent"
==
t
.
containment
&&
(
t
.
containment
=
this
.
helper
[
0
].
parentNode
),(
"document"
==
t
.
containment
||
"window"
==
t
.
containment
)
&&
(
this
.
containment
=
[
0
-
this
.
offset
.
relative
.
left
-
this
.
offset
.
parent
.
left
,
0
-
this
.
offset
.
relative
.
top
-
this
.
offset
.
parent
.
top
,
e
(
"document"
==
t
.
containment
?
document
:
window
).
width
()
-
this
.
helperProportions
.
width
-
this
.
margins
.
left
,(
e
(
"document"
==
t
.
containment
?
document
:
window
).
height
()
||
document
.
body
.
parentNode
.
scrollHeight
)
-
this
.
helperProportions
.
height
-
this
.
margins
.
top
]),
!
/^(document|window|parent)$/
.
test
(
t
.
containment
)){
var
i
=
e
(
t
.
containment
)[
0
],
s
=
e
(
t
.
containment
).
offset
(),
a
=
"hidden"
!=
e
(
i
).
css
(
"overflow"
);
this
.
containment
=
[
s
.
left
+
(
parseInt
(
e
(
i
).
css
(
"borderLeftWidth"
),
10
)
||
0
)
+
(
parseInt
(
e
(
i
).
css
(
"paddingLeft"
),
10
)
||
0
)
-
this
.
margins
.
left
,
s
.
top
+
(
parseInt
(
e
(
i
).
css
(
"borderTopWidth"
),
10
)
||
0
)
+
(
parseInt
(
e
(
i
).
css
(
"paddingTop"
),
10
)
||
0
)
-
this
.
margins
.
top
,
s
.
left
+
(
a
?
Math
.
max
(
i
.
scrollWidth
,
i
.
offsetWidth
)
:
i
.
offsetWidth
)
-
(
parseInt
(
e
(
i
).
css
(
"borderLeftWidth"
),
10
)
||
0
)
-
(
parseInt
(
e
(
i
).
css
(
"paddingRight"
),
10
)
||
0
)
-
this
.
helperProportions
.
width
-
this
.
margins
.
left
,
s
.
top
+
(
a
?
Math
.
max
(
i
.
scrollHeight
,
i
.
offsetHeight
)
:
i
.
offsetHeight
)
-
(
parseInt
(
e
(
i
).
css
(
"borderTopWidth"
),
10
)
||
0
)
-
(
parseInt
(
e
(
i
).
css
(
"paddingBottom"
),
10
)
||
0
)
-
this
.
helperProportions
.
height
-
this
.
margins
.
top
]}},
_convertPositionTo
:
function
(
t
,
i
){
i
||
(
i
=
this
.
position
);
var
s
=
"absolute"
==
t
?
1
:-
1
,
a
=
(
this
.
options
,
"absolute"
!=
this
.
cssPosition
||
this
.
scrollParent
[
0
]
!=
document
&&
e
.
contains
(
this
.
scrollParent
[
0
],
this
.
offsetParent
[
0
])
?
this
.
scrollParent
:
this
.
offsetParent
),
n
=
/(html|body)/i
.
test
(
a
[
0
].
tagName
);
return
{
top
:
i
.
top
+
this
.
offset
.
relative
.
top
*
s
+
this
.
offset
.
parent
.
top
*
s
-
(
"fixed"
==
this
.
cssPosition
?-
this
.
scrollParent
.
scrollTop
()
:
n
?
0
:
a
.
scrollTop
())
*
s
,
left
:
i
.
left
+
this
.
offset
.
relative
.
left
*
s
+
this
.
offset
.
parent
.
left
*
s
-
(
"fixed"
==
this
.
cssPosition
?-
this
.
scrollParent
.
scrollLeft
()
:
n
?
0
:
a
.
scrollLeft
())
*
s
}},
_generatePosition
:
function
(
t
){
var
i
=
this
.
options
,
s
=
"absolute"
!=
this
.
cssPosition
||
this
.
scrollParent
[
0
]
!=
document
&&
e
.
contains
(
this
.
scrollParent
[
0
],
this
.
offsetParent
[
0
])
?
this
.
scrollParent
:
this
.
offsetParent
,
a
=
/(html|body)/i
.
test
(
s
[
0
].
tagName
);
"relative"
!=
this
.
cssPosition
||
this
.
scrollParent
[
0
]
!=
document
&&
this
.
scrollParent
[
0
]
!=
this
.
offsetParent
[
0
]
||
(
this
.
offset
.
relative
=
this
.
_getRelativeOffset
());
var
n
=
t
.
pageX
,
r
=
t
.
pageY
;
if
(
this
.
originalPosition
&&
(
this
.
containment
&&
(
t
.
pageX
-
this
.
offset
.
click
.
left
<
this
.
containment
[
0
]
&&
(
n
=
this
.
containment
[
0
]
+
this
.
offset
.
click
.
left
),
t
.
pageY
-
this
.
offset
.
click
.
top
<
this
.
containment
[
1
]
&&
(
r
=
this
.
containment
[
1
]
+
this
.
offset
.
click
.
top
),
t
.
pageX
-
this
.
offset
.
click
.
left
>
this
.
containment
[
2
]
&&
(
n
=
this
.
containment
[
2
]
+
this
.
offset
.
click
.
left
),
t
.
pageY
-
this
.
offset
.
click
.
top
>
this
.
containment
[
3
]
&&
(
r
=
this
.
containment
[
3
]
+
this
.
offset
.
click
.
top
)),
i
.
grid
)){
var
o
=
this
.
originalPageY
+
Math
.
round
((
r
-
this
.
originalPageY
)
/
i
.
grid
[
1
])
*
i
.
grid
[
1
];
r
=
this
.
containment
?
o
-
this
.
offset
.
click
.
top
<
this
.
containment
[
1
]
||
o
-
this
.
offset
.
click
.
top
>
this
.
containment
[
3
]
?
o
-
this
.
offset
.
click
.
top
<
this
.
containment
[
1
]
?
o
+
i
.
grid
[
1
]
:
o
-
i
.
grid
[
1
]
:
o
:
o
;
var
h
=
this
.
originalPageX
+
Math
.
round
((
n
-
this
.
originalPageX
)
/
i
.
grid
[
0
])
*
i
.
grid
[
0
];
n
=
this
.
containment
?
h
-
this
.
offset
.
click
.
left
<
this
.
containment
[
0
]
||
h
-
this
.
offset
.
click
.
left
>
this
.
containment
[
2
]
?
h
-
this
.
offset
.
click
.
left
<
this
.
containment
[
0
]
?
h
+
i
.
grid
[
0
]
:
h
-
i
.
grid
[
0
]
:
h
:
h
}
return
{
top
:
r
-
this
.
offset
.
click
.
top
-
this
.
offset
.
relative
.
top
-
this
.
offset
.
parent
.
top
+
(
"fixed"
==
this
.
cssPosition
?-
this
.
scrollParent
.
scrollTop
()
:
a
?
0
:
s
.
scrollTop
()),
left
:
n
-
this
.
offset
.
click
.
left
-
this
.
offset
.
relative
.
left
-
this
.
offset
.
parent
.
left
+
(
"fixed"
==
this
.
cssPosition
?-
this
.
scrollParent
.
scrollLeft
()
:
a
?
0
:
s
.
scrollLeft
())}},
_rearrange
:
function
(
e
,
t
,
i
,
s
){
i
?
i
[
0
].
appendChild
(
this
.
placeholder
[
0
])
:
t
.
item
[
0
].
parentNode
.
insertBefore
(
this
.
placeholder
[
0
],
"down"
==
this
.
direction
?
t
.
item
[
0
]
:
t
.
item
[
0
].
nextSibling
),
this
.
counter
=
this
.
counter
?++
this
.
counter
:
1
;
var
a
=
this
.
counter
;
this
.
_delay
(
function
(){
a
==
this
.
counter
&&
this
.
refreshPositions
(
!
s
)})},
_clear
:
function
(
t
,
i
){
this
.
reverting
=!
1
;
var
s
=
[];
if
(
!
this
.
_noFinalSort
&&
this
.
currentItem
.
parent
().
length
&&
this
.
placeholder
.
before
(
this
.
currentItem
),
this
.
_noFinalSort
=
null
,
this
.
helper
[
0
]
==
this
.
currentItem
[
0
]){
for
(
var
a
in
this
.
_storedCSS
)(
"auto"
==
this
.
_storedCSS
[
a
]
||
"static"
==
this
.
_storedCSS
[
a
])
&&
(
this
.
_storedCSS
[
a
]
=
""
);
this
.
currentItem
.
css
(
this
.
_storedCSS
).
removeClass
(
"ui-sortable-helper"
)}
else
this
.
currentItem
.
show
();
this
.
fromOutside
&&!
i
&&
s
.
push
(
function
(
e
){
this
.
_trigger
(
"receive"
,
e
,
this
.
_uiHash
(
this
.
fromOutside
))}),
!
this
.
fromOutside
&&
this
.
domPosition
.
prev
==
this
.
currentItem
.
prev
().
not
(
".ui-sortable-helper"
)[
0
]
&&
this
.
domPosition
.
parent
==
this
.
currentItem
.
parent
()[
0
]
||
i
||
s
.
push
(
function
(
e
){
this
.
_trigger
(
"update"
,
e
,
this
.
_uiHash
())}),
this
!==
this
.
currentContainer
&&
(
i
||
(
s
.
push
(
function
(
e
){
this
.
_trigger
(
"remove"
,
e
,
this
.
_uiHash
())}),
s
.
push
(
function
(
e
){
return
function
(
t
){
e
.
_trigger
(
"receive"
,
t
,
this
.
_uiHash
(
this
))}}.
call
(
this
,
this
.
currentContainer
)),
s
.
push
(
function
(
e
){
return
function
(
t
){
e
.
_trigger
(
"update"
,
t
,
this
.
_uiHash
(
this
))}}.
call
(
this
,
this
.
currentContainer
))));
for
(
var
a
=
this
.
containers
.
length
-
1
;
a
>=
0
;
a
--
)
i
||
s
.
push
(
function
(
e
){
return
function
(
t
){
e
.
_trigger
(
"deactivate"
,
t
,
this
.
_uiHash
(
this
))}}.
call
(
this
,
this
.
containers
[
a
])),
this
.
containers
[
a
].
containerCache
.
over
&&
(
s
.
push
(
function
(
e
){
return
function
(
t
){
e
.
_trigger
(
"out"
,
t
,
this
.
_uiHash
(
this
))}}.
call
(
this
,
this
.
containers
[
a
])),
this
.
containers
[
a
].
containerCache
.
over
=
0
);
if
(
this
.
_storedCursor
&&
e
(
"body"
).
css
(
"cursor"
,
this
.
_storedCursor
),
this
.
_storedOpacity
&&
this
.
helper
.
css
(
"opacity"
,
this
.
_storedOpacity
),
this
.
_storedZIndex
&&
this
.
helper
.
css
(
"zIndex"
,
"auto"
==
this
.
_storedZIndex
?
""
:
this
.
_storedZIndex
),
this
.
dragging
=!
1
,
this
.
cancelHelperRemoval
){
if
(
!
i
){
this
.
_trigger
(
"beforeStop"
,
t
,
this
.
_uiHash
());
for
(
var
a
=
0
;
s
.
length
>
a
;
a
++
)
s
[
a
].
call
(
this
,
t
);
this
.
_trigger
(
"stop"
,
t
,
this
.
_uiHash
())}
return
this
.
fromOutside
=!
1
,
!
1
}
if
(
i
||
this
.
_trigger
(
"beforeStop"
,
t
,
this
.
_uiHash
()),
this
.
placeholder
[
0
].
parentNode
.
removeChild
(
this
.
placeholder
[
0
]),
this
.
helper
[
0
]
!=
this
.
currentItem
[
0
]
&&
this
.
helper
.
remove
(),
this
.
helper
=
null
,
!
i
){
for
(
var
a
=
0
;
s
.
length
>
a
;
a
++
)
s
[
a
].
call
(
this
,
t
);
this
.
_trigger
(
"stop"
,
t
,
this
.
_uiHash
())}
return
this
.
fromOutside
=!
1
,
!
0
},
_trigger
:
function
(){
e
.
Widget
.
prototype
.
_trigger
.
apply
(
this
,
arguments
)
===!
1
&&
this
.
cancel
()},
_uiHash
:
function
(
t
){
var
i
=
t
||
this
;
return
{
helper
:
i
.
helper
,
placeholder
:
i
.
placeholder
||
e
([]),
position
:
i
.
position
,
originalPosition
:
i
.
originalPosition
,
offset
:
i
.
positionAbs
,
item
:
i
.
currentItem
,
sender
:
t
?
t
.
element
:
null
}}})})(
jQuery
);(
function
(
e
){
var
t
=
0
,
i
=
{},
a
=
{};
i
.
height
=
i
.
paddingTop
=
i
.
paddingBottom
=
i
.
borderTopWidth
=
i
.
borderBottomWidth
=
"hide"
,
a
.
height
=
a
.
paddingTop
=
a
.
paddingBottom
=
a
.
borderTopWidth
=
a
.
borderBottomWidth
=
"show"
,
e
.
widget
(
"ui.accordion"
,{
version
:
"1.9.2"
,
options
:
{
active
:
0
,
animate
:
{},
collapsible
:!
1
,
event
:
"click"
,
header
:
"> li > :first-child,> :not(li):even"
,
heightStyle
:
"auto"
,
icons
:
{
activeHeader
:
"ui-icon-triangle-1-s"
,
header
:
"ui-icon-triangle-1-e"
},
activate
:
null
,
beforeActivate
:
null
},
_create
:
function
(){
var
i
=
this
.
accordionId
=
"ui-accordion-"
+
(
this
.
element
.
attr
(
"id"
)
||++
t
),
a
=
this
.
options
;
this
.
prevShow
=
this
.
prevHide
=
e
(),
this
.
element
.
addClass
(
"ui-accordion ui-widget ui-helper-reset"
),
this
.
headers
=
this
.
element
.
find
(
a
.
header
).
addClass
(
"ui-accordion-header ui-helper-reset ui-state-default ui-corner-all"
),
this
.
_hoverable
(
this
.
headers
),
this
.
_focusable
(
this
.
headers
),
this
.
headers
.
next
().
addClass
(
"ui-accordion-content ui-helper-reset ui-widget-content ui-corner-bottom"
).
hide
(),
a
.
collapsible
||
a
.
active
!==!
1
&&
null
!=
a
.
active
||
(
a
.
active
=
0
),
0
>
a
.
active
&&
(
a
.
active
+=
this
.
headers
.
length
),
this
.
active
=
this
.
_findActive
(
a
.
active
).
addClass
(
"ui-accordion-header-active ui-state-active"
).
toggleClass
(
"ui-corner-all ui-corner-top"
),
this
.
active
.
next
().
addClass
(
"ui-accordion-content-active"
).
show
(),
this
.
_createIcons
(),
this
.
refresh
(),
this
.
element
.
attr
(
"role"
,
"tablist"
),
this
.
headers
.
attr
(
"role"
,
"tab"
).
each
(
function
(
t
){
var
a
=
e
(
this
),
s
=
a
.
attr
(
"id"
),
n
=
a
.
next
(),
r
=
n
.
attr
(
"id"
);
s
||
(
s
=
i
+
"-header-"
+
t
,
a
.
attr
(
"id"
,
s
)),
r
||
(
r
=
i
+
"-panel-"
+
t
,
n
.
attr
(
"id"
,
r
)),
a
.
attr
(
"aria-controls"
,
r
),
n
.
attr
(
"aria-labelledby"
,
s
)}).
next
().
attr
(
"role"
,
"tabpanel"
),
this
.
headers
.
not
(
this
.
active
).
attr
({
"aria-selected"
:
"false"
,
tabIndex
:-
1
}).
next
().
attr
({
"aria-expanded"
:
"false"
,
"aria-hidden"
:
"true"
}).
hide
(),
this
.
active
.
length
?
this
.
active
.
attr
({
"aria-selected"
:
"true"
,
tabIndex
:
0
}).
next
().
attr
({
"aria-expanded"
:
"true"
,
"aria-hidden"
:
"false"
})
:
this
.
headers
.
eq
(
0
).
attr
(
"tabIndex"
,
0
),
this
.
_on
(
this
.
headers
,{
keydown
:
"_keydown"
}),
this
.
_on
(
this
.
headers
.
next
(),{
keydown
:
"_panelKeyDown"
}),
this
.
_setupEvents
(
a
.
event
)},
_getCreateEventData
:
function
(){
return
{
header
:
this
.
active
,
content
:
this
.
active
.
length
?
this
.
active
.
next
()
:
e
()}},
_createIcons
:
function
(){
var
t
=
this
.
options
.
icons
;
t
&&
(
e
(
"<span>"
).
addClass
(
"ui-accordion-header-icon ui-icon "
+
t
.
header
).
prependTo
(
this
.
headers
),
this
.
active
.
children
(
".ui-accordion-header-icon"
).
removeClass
(
t
.
header
).
addClass
(
t
.
activeHeader
),
this
.
headers
.
addClass
(
"ui-accordion-icons"
))},
_destroyIcons
:
function
(){
this
.
headers
.
removeClass
(
"ui-accordion-icons"
).
children
(
".ui-accordion-header-icon"
).
remove
()},
_destroy
:
function
(){
var
e
;
this
.
element
.
removeClass
(
"ui-accordion ui-widget ui-helper-reset"
).
removeAttr
(
"role"
),
this
.
headers
.
removeClass
(
"ui-accordion-header ui-accordion-header-active ui-helper-reset ui-state-default ui-corner-all ui-state-active ui-state-disabled ui-corner-top"
).
removeAttr
(
"role"
).
removeAttr
(
"aria-selected"
).
removeAttr
(
"aria-controls"
).
removeAttr
(
"tabIndex"
).
each
(
function
(){
/^ui-accordion/
.
test
(
this
.
id
)
&&
this
.
removeAttribute
(
"id"
)}),
this
.
_destroyIcons
(),
e
=
this
.
headers
.
next
().
css
(
"display"
,
""
).
removeAttr
(
"role"
).
removeAttr
(
"aria-expanded"
).
removeAttr
(
"aria-hidden"
).
removeAttr
(
"aria-labelledby"
).
removeClass
(
"ui-helper-reset ui-widget-content ui-corner-bottom ui-accordion-content ui-accordion-content-active ui-state-disabled"
).
each
(
function
(){
/^ui-accordion/
.
test
(
this
.
id
)
&&
this
.
removeAttribute
(
"id"
)}),
"content"
!==
this
.
options
.
heightStyle
&&
e
.
css
(
"height"
,
""
)},
_setOption
:
function
(
e
,
t
){
return
"active"
===
e
?
(
this
.
_activate
(
t
),
undefined
)
:
(
"event"
===
e
&&
(
this
.
options
.
event
&&
this
.
_off
(
this
.
headers
,
this
.
options
.
event
),
this
.
_setupEvents
(
t
)),
this
.
_super
(
e
,
t
),
"collapsible"
!==
e
||
t
||
this
.
options
.
active
!==!
1
||
this
.
_activate
(
0
),
"icons"
===
e
&&
(
this
.
_destroyIcons
(),
t
&&
this
.
_createIcons
()),
"disabled"
===
e
&&
this
.
headers
.
add
(
this
.
headers
.
next
()).
toggleClass
(
"ui-state-disabled"
,
!!
t
),
undefined
)},
_keydown
:
function
(
t
){
if
(
!
t
.
altKey
&&!
t
.
ctrlKey
){
var
i
=
e
.
ui
.
keyCode
,
a
=
this
.
headers
.
length
,
s
=
this
.
headers
.
index
(
t
.
target
),
n
=!
1
;
switch
(
t
.
keyCode
){
case
i
.
RIGHT
:
case
i
.
DOWN
:
n
=
this
.
headers
[(
s
+
1
)
%
a
];
break
;
case
i
.
LEFT
:
case
i
.
UP
:
n
=
this
.
headers
[(
s
-
1
+
a
)
%
a
];
break
;
case
i
.
SPACE
:
case
i
.
ENTER
:
this
.
_eventHandler
(
t
);
break
;
case
i
.
HOME
:
n
=
this
.
headers
[
0
];
break
;
case
i
.
END
:
n
=
this
.
headers
[
a
-
1
]}
n
&&
(
e
(
t
.
target
).
attr
(
"tabIndex"
,
-
1
),
e
(
n
).
attr
(
"tabIndex"
,
0
),
n
.
focus
(),
t
.
preventDefault
())}},
_panelKeyDown
:
function
(
t
){
t
.
keyCode
===
e
.
ui
.
keyCode
.
UP
&&
t
.
ctrlKey
&&
e
(
t
.
currentTarget
).
prev
().
focus
()},
refresh
:
function
(){
var
t
,
i
,
a
=
this
.
options
.
heightStyle
,
s
=
this
.
element
.
parent
();
"fill"
===
a
?
(
e
.
support
.
minHeight
||
(
i
=
s
.
css
(
"overflow"
),
s
.
css
(
"overflow"
,
"hidden"
)),
t
=
s
.
height
(),
this
.
element
.
siblings
(
":visible"
).
each
(
function
(){
var
i
=
e
(
this
),
a
=
i
.
css
(
"position"
);
"absolute"
!==
a
&&
"fixed"
!==
a
&&
(
t
-=
i
.
outerHeight
(
!
0
))}),
i
&&
s
.
css
(
"overflow"
,
i
),
this
.
headers
.
each
(
function
(){
t
-=
e
(
this
).
outerHeight
(
!
0
)}),
this
.
headers
.
next
().
each
(
function
(){
e
(
this
).
height
(
Math
.
max
(
0
,
t
-
e
(
this
).
innerHeight
()
+
e
(
this
).
height
()))}).
css
(
"overflow"
,
"auto"
))
:
"auto"
===
a
&&
(
t
=
0
,
this
.
headers
.
next
().
each
(
function
(){
t
=
Math
.
max
(
t
,
e
(
this
).
css
(
"height"
,
""
).
height
())}).
height
(
t
))},
_activate
:
function
(
t
){
var
i
=
this
.
_findActive
(
t
)[
0
];
i
!==
this
.
active
[
0
]
&&
(
i
=
i
||
this
.
active
[
0
],
this
.
_eventHandler
({
target
:
i
,
currentTarget
:
i
,
preventDefault
:
e
.
noop
}))},
_findActive
:
function
(
t
){
return
"number"
==
typeof
t
?
this
.
headers
.
eq
(
t
)
:
e
()},
_setupEvents
:
function
(
t
){
var
i
=
{};
t
&&
(
e
.
each
(
t
.
split
(
" "
),
function
(
e
,
t
){
i
[
t
]
=
"_eventHandler"
}),
this
.
_on
(
this
.
headers
,
i
))},
_eventHandler
:
function
(
t
){
var
i
=
this
.
options
,
a
=
this
.
active
,
s
=
e
(
t
.
currentTarget
),
n
=
s
[
0
]
===
a
[
0
],
r
=
n
&&
i
.
collapsible
,
o
=
r
?
e
()
:
s
.
next
(),
h
=
a
.
next
(),
l
=
{
oldHeader
:
a
,
oldPanel
:
h
,
newHeader
:
r
?
e
()
:
s
,
newPanel
:
o
};
t
.
preventDefault
(),
n
&&!
i
.
collapsible
||
this
.
_trigger
(
"beforeActivate"
,
t
,
l
)
===!
1
||
(
i
.
active
=
r
?!
1
:
this
.
headers
.
index
(
s
),
this
.
active
=
n
?
e
()
:
s
,
this
.
_toggle
(
l
),
a
.
removeClass
(
"ui-accordion-header-active ui-state-active"
),
i
.
icons
&&
a
.
children
(
".ui-accordion-header-icon"
).
removeClass
(
i
.
icons
.
activeHeader
).
addClass
(
i
.
icons
.
header
),
n
||
(
s
.
removeClass
(
"ui-corner-all"
).
addClass
(
"ui-accordion-header-active ui-state-active ui-corner-top"
),
i
.
icons
&&
s
.
children
(
".ui-accordion-header-icon"
).
removeClass
(
i
.
icons
.
header
).
addClass
(
i
.
icons
.
activeHeader
),
s
.
next
().
addClass
(
"ui-accordion-content-active"
)))},
_toggle
:
function
(
t
){
var
i
=
t
.
newPanel
,
a
=
this
.
prevShow
.
length
?
this
.
prevShow
:
t
.
oldPanel
;
this
.
prevShow
.
add
(
this
.
prevHide
).
stop
(
!
0
,
!
0
),
this
.
prevShow
=
i
,
this
.
prevHide
=
a
,
this
.
options
.
animate
?
this
.
_animate
(
i
,
a
,
t
)
:
(
a
.
hide
(),
i
.
show
(),
this
.
_toggleComplete
(
t
)),
a
.
attr
({
"aria-expanded"
:
"false"
,
"aria-hidden"
:
"true"
}),
a
.
prev
().
attr
(
"aria-selected"
,
"false"
),
i
.
length
&&
a
.
length
?
a
.
prev
().
attr
(
"tabIndex"
,
-
1
)
:
i
.
length
&&
this
.
headers
.
filter
(
function
(){
return
0
===
e
(
this
).
attr
(
"tabIndex"
)}).
attr
(
"tabIndex"
,
-
1
),
i
.
attr
({
"aria-expanded"
:
"true"
,
"aria-hidden"
:
"false"
}).
prev
().
attr
({
"aria-selected"
:
"true"
,
tabIndex
:
0
})},
_animate
:
function
(
e
,
t
,
s
){
var
n
,
r
,
o
,
h
=
this
,
l
=
0
,
u
=
e
.
length
&&
(
!
t
.
length
||
e
.
index
()
<
t
.
index
()),
d
=
this
.
options
.
animate
||
{},
c
=
u
&&
d
.
down
||
d
,
p
=
function
(){
h
.
_toggleComplete
(
s
)};
return
"number"
==
typeof
c
&&
(
o
=
c
),
"string"
==
typeof
c
&&
(
r
=
c
),
r
=
r
||
c
.
easing
||
d
.
easing
,
o
=
o
||
c
.
duration
||
d
.
duration
,
t
.
length
?
e
.
length
?
(
n
=
e
.
show
().
outerHeight
(),
t
.
animate
(
i
,{
duration
:
o
,
easing
:
r
,
step
:
function
(
e
,
t
){
t
.
now
=
Math
.
round
(
e
)}}),
e
.
hide
().
animate
(
a
,{
duration
:
o
,
easing
:
r
,
complete
:
p
,
step
:
function
(
e
,
i
){
i
.
now
=
Math
.
round
(
e
),
"height"
!==
i
.
prop
?
l
+=
i
.
now
:
"content"
!==
h
.
options
.
heightStyle
&&
(
i
.
now
=
Math
.
round
(
n
-
t
.
outerHeight
()
-
l
),
l
=
0
)}}),
undefined
)
:
t
.
animate
(
i
,
o
,
r
,
p
)
:
e
.
animate
(
a
,
o
,
r
,
p
)},
_toggleComplete
:
function
(
e
){
var
t
=
e
.
oldPanel
;
t
.
removeClass
(
"ui-accordion-content-active"
).
prev
().
removeClass
(
"ui-corner-top"
).
addClass
(
"ui-corner-all"
),
t
.
length
&&
(
t
.
parent
()[
0
].
className
=
t
.
parent
()[
0
].
className
),
this
.
_trigger
(
"activate"
,
null
,
e
)}}),
e
.
uiBackCompat
!==!
1
&&
(
function
(
e
,
t
){
e
.
extend
(
t
.
options
,{
navigation
:!
1
,
navigationFilter
:
function
(){
return
this
.
href
.
toLowerCase
()
===
location
.
href
.
toLowerCase
()}});
var
i
=
t
.
_create
;
t
.
_create
=
function
(){
if
(
this
.
options
.
navigation
){
var
t
=
this
,
a
=
this
.
element
.
find
(
this
.
options
.
header
),
s
=
a
.
next
(),
n
=
a
.
add
(
s
).
find
(
"a"
).
filter
(
this
.
options
.
navigationFilter
)[
0
];
n
&&
a
.
add
(
s
).
each
(
function
(
i
){
return
e
.
contains
(
this
,
n
)
?
(
t
.
options
.
active
=
Math
.
floor
(
i
/
2
),
!
1
)
:
undefined
})}
i
.
call
(
this
)}}(
jQuery
,
jQuery
.
ui
.
accordion
.
prototype
),
function
(
e
,
t
){
e
.
extend
(
t
.
options
,{
heightStyle
:
null
,
autoHeight
:!
0
,
clearStyle
:!
1
,
fillSpace
:!
1
});
var
i
=
t
.
_create
,
a
=
t
.
_setOption
;
e
.
extend
(
t
,{
_create
:
function
(){
this
.
options
.
heightStyle
=
this
.
options
.
heightStyle
||
this
.
_mergeHeightStyle
(),
i
.
call
(
this
)},
_setOption
:
function
(
e
){(
"autoHeight"
===
e
||
"clearStyle"
===
e
||
"fillSpace"
===
e
)
&&
(
this
.
options
.
heightStyle
=
this
.
_mergeHeightStyle
()),
a
.
apply
(
this
,
arguments
)},
_mergeHeightStyle
:
function
(){
var
e
=
this
.
options
;
return
e
.
fillSpace
?
"fill"
:
e
.
clearStyle
?
"content"
:
e
.
autoHeight
?
"auto"
:
undefined
}})}(
jQuery
,
jQuery
.
ui
.
accordion
.
prototype
),
function
(
e
,
t
){
e
.
extend
(
t
.
options
.
icons
,{
activeHeader
:
null
,
headerSelected
:
"ui-icon-triangle-1-s"
});
var
i
=
t
.
_createIcons
;
t
.
_createIcons
=
function
(){
this
.
options
.
icons
&&
(
this
.
options
.
icons
.
activeHeader
=
this
.
options
.
icons
.
activeHeader
||
this
.
options
.
icons
.
headerSelected
),
i
.
call
(
this
)}}(
jQuery
,
jQuery
.
ui
.
accordion
.
prototype
),
function
(
e
,
t
){
t
.
activate
=
t
.
_activate
;
var
i
=
t
.
_findActive
;
t
.
_findActive
=
function
(
e
){
return
-
1
===
e
&&
(
e
=!
1
),
e
&&
"number"
!=
typeof
e
&&
(
e
=
this
.
headers
.
index
(
this
.
headers
.
filter
(
e
)),
-
1
===
e
&&
(
e
=!
1
)),
i
.
call
(
this
,
e
)}}(
jQuery
,
jQuery
.
ui
.
accordion
.
prototype
),
jQuery
.
ui
.
accordion
.
prototype
.
resize
=
jQuery
.
ui
.
accordion
.
prototype
.
refresh
,
function
(
e
,
t
){
e
.
extend
(
t
.
options
,{
change
:
null
,
changestart
:
null
});
var
i
=
t
.
_trigger
;
t
.
_trigger
=
function
(
e
,
t
,
a
){
var
s
=
i
.
apply
(
this
,
arguments
);
return
s
?
(
"beforeActivate"
===
e
?
s
=
i
.
call
(
this
,
"changestart"
,
t
,{
oldHeader
:
a
.
oldHeader
,
oldContent
:
a
.
oldPanel
,
newHeader
:
a
.
newHeader
,
newContent
:
a
.
newPanel
})
:
"activate"
===
e
&&
(
s
=
i
.
call
(
this
,
"change"
,
t
,{
oldHeader
:
a
.
oldHeader
,
oldContent
:
a
.
oldPanel
,
newHeader
:
a
.
newHeader
,
newContent
:
a
.
newPanel
})),
s
)
:!
1
}}(
jQuery
,
jQuery
.
ui
.
accordion
.
prototype
),
function
(
e
,
t
){
e
.
extend
(
t
.
options
,{
animate
:
null
,
animated
:
"slide"
});
var
i
=
t
.
_create
;
t
.
_create
=
function
(){
var
e
=
this
.
options
;
null
===
e
.
animate
&&
(
e
.
animate
=
e
.
animated
?
"slide"
===
e
.
animated
?
300
:
"bounceslide"
===
e
.
animated
?
{
duration
:
200
,
down
:
{
easing
:
"easeOutBounce"
,
duration
:
1e3
}}
:
e
.
animated
:!
1
),
i
.
call
(
this
)}}(
jQuery
,
jQuery
.
ui
.
accordion
.
prototype
))})(
jQuery
);(
function
(
e
){
var
t
=
0
;
e
.
widget
(
"ui.autocomplete"
,{
version
:
"1.9.2"
,
defaultElement
:
"<input>"
,
options
:
{
appendTo
:
"body"
,
autoFocus
:!
1
,
delay
:
300
,
minLength
:
1
,
position
:
{
my
:
"left top"
,
at
:
"left bottom"
,
collision
:
"none"
},
source
:
null
,
change
:
null
,
close
:
null
,
focus
:
null
,
open
:
null
,
response
:
null
,
search
:
null
,
select
:
null
},
pending
:
0
,
_create
:
function
(){
var
t
,
i
,
a
;
this
.
isMultiLine
=
this
.
_isMultiLine
(),
this
.
valueMethod
=
this
.
element
[
this
.
element
.
is
(
"input,textarea"
)
?
"val"
:
"text"
],
this
.
isNewMenu
=!
0
,
this
.
element
.
addClass
(
"ui-autocomplete-input"
).
attr
(
"autocomplete"
,
"off"
),
this
.
_on
(
this
.
element
,{
keydown
:
function
(
s
){
if
(
this
.
element
.
prop
(
"readOnly"
))
return
t
=!
0
,
a
=!
0
,
i
=!
0
,
undefined
;
t
=!
1
,
a
=!
1
,
i
=!
1
;
var
n
=
e
.
ui
.
keyCode
;
switch
(
s
.
keyCode
){
case
n
.
PAGE_UP
:
t
=!
0
,
this
.
_move
(
"previousPage"
,
s
);
break
;
case
n
.
PAGE_DOWN
:
t
=!
0
,
this
.
_move
(
"nextPage"
,
s
);
break
;
case
n
.
UP
:
t
=!
0
,
this
.
_keyEvent
(
"previous"
,
s
);
break
;
case
n
.
DOWN
:
t
=!
0
,
this
.
_keyEvent
(
"next"
,
s
);
break
;
case
n
.
ENTER
:
case
n
.
NUMPAD_ENTER
:
this
.
menu
.
active
&&
(
t
=!
0
,
s
.
preventDefault
(),
this
.
menu
.
select
(
s
));
break
;
case
n
.
TAB
:
this
.
menu
.
active
&&
this
.
menu
.
select
(
s
);
break
;
case
n
.
ESCAPE
:
this
.
menu
.
element
.
is
(
":visible"
)
&&
(
this
.
_value
(
this
.
term
),
this
.
close
(
s
),
s
.
preventDefault
());
break
;
default
:
i
=!
0
,
this
.
_searchTimeout
(
s
)}},
keypress
:
function
(
a
){
if
(
t
)
return
t
=!
1
,
a
.
preventDefault
(),
undefined
;
if
(
!
i
){
var
s
=
e
.
ui
.
keyCode
;
switch
(
a
.
keyCode
){
case
s
.
PAGE_UP
:
this
.
_move
(
"previousPage"
,
a
);
break
;
case
s
.
PAGE_DOWN
:
this
.
_move
(
"nextPage"
,
a
);
break
;
case
s
.
UP
:
this
.
_keyEvent
(
"previous"
,
a
);
break
;
case
s
.
DOWN
:
this
.
_keyEvent
(
"next"
,
a
)}}},
input
:
function
(
e
){
return
a
?
(
a
=!
1
,
e
.
preventDefault
(),
undefined
)
:
(
this
.
_searchTimeout
(
e
),
undefined
)},
focus
:
function
(){
this
.
selectedItem
=
null
,
this
.
previous
=
this
.
_value
()},
blur
:
function
(
e
){
return
this
.
cancelBlur
?
(
delete
this
.
cancelBlur
,
undefined
)
:
(
clearTimeout
(
this
.
searching
),
this
.
close
(
e
),
this
.
_change
(
e
),
undefined
)}}),
this
.
_initSource
(),
this
.
menu
=
e
(
"<ul>"
).
addClass
(
"ui-autocomplete"
).
appendTo
(
this
.
document
.
find
(
this
.
options
.
appendTo
||
"body"
)[
0
]).
menu
({
input
:
e
(),
role
:
null
}).
zIndex
(
this
.
element
.
zIndex
()
+
1
).
hide
().
data
(
"menu"
),
this
.
_on
(
this
.
menu
.
element
,{
mousedown
:
function
(
t
){
t
.
preventDefault
(),
this
.
cancelBlur
=!
0
,
this
.
_delay
(
function
(){
delete
this
.
cancelBlur
});
var
i
=
this
.
menu
.
element
[
0
];
e
(
t
.
target
).
closest
(
".ui-menu-item"
).
length
||
this
.
_delay
(
function
(){
var
t
=
this
;
this
.
document
.
one
(
"mousedown"
,
function
(
a
){
a
.
target
===
t
.
element
[
0
]
||
a
.
target
===
i
||
e
.
contains
(
i
,
a
.
target
)
||
t
.
close
()})})},
menufocus
:
function
(
t
,
i
){
if
(
this
.
isNewMenu
&&
(
this
.
isNewMenu
=!
1
,
t
.
originalEvent
&&
/^mouse/
.
test
(
t
.
originalEvent
.
type
)))
return
this
.
menu
.
blur
(),
this
.
document
.
one
(
"mousemove"
,
function
(){
e
(
t
.
target
).
trigger
(
t
.
originalEvent
)}),
undefined
;
var
a
=
i
.
item
.
data
(
"ui-autocomplete-item"
)
||
i
.
item
.
data
(
"item.autocomplete"
);
!
1
!==
this
.
_trigger
(
"focus"
,
t
,{
item
:
a
})
?
t
.
originalEvent
&&
/^key/
.
test
(
t
.
originalEvent
.
type
)
&&
this
.
_value
(
a
.
value
)
:
this
.
liveRegion
.
text
(
a
.
value
)},
menuselect
:
function
(
e
,
t
){
var
i
=
t
.
item
.
data
(
"ui-autocomplete-item"
)
||
t
.
item
.
data
(
"item.autocomplete"
),
a
=
this
.
previous
;
this
.
element
[
0
]
!==
this
.
document
[
0
].
activeElement
&&
(
this
.
element
.
focus
(),
this
.
previous
=
a
,
this
.
_delay
(
function
(){
this
.
previous
=
a
,
this
.
selectedItem
=
i
})),
!
1
!==
this
.
_trigger
(
"select"
,
e
,{
item
:
i
})
&&
this
.
_value
(
i
.
value
),
this
.
term
=
this
.
_value
(),
this
.
close
(
e
),
this
.
selectedItem
=
i
}}),
this
.
liveRegion
=
e
(
"<span>"
,{
role
:
"status"
,
"aria-live"
:
"polite"
}).
addClass
(
"ui-helper-hidden-accessible"
).
insertAfter
(
this
.
element
),
e
.
fn
.
bgiframe
&&
this
.
menu
.
element
.
bgiframe
(),
this
.
_on
(
this
.
window
,{
beforeunload
:
function
(){
this
.
element
.
removeAttr
(
"autocomplete"
)}})},
_destroy
:
function
(){
clearTimeout
(
this
.
searching
),
this
.
element
.
removeClass
(
"ui-autocomplete-input"
).
removeAttr
(
"autocomplete"
),
this
.
menu
.
element
.
remove
(),
this
.
liveRegion
.
remove
()},
_setOption
:
function
(
e
,
t
){
this
.
_super
(
e
,
t
),
"source"
===
e
&&
this
.
_initSource
(),
"appendTo"
===
e
&&
this
.
menu
.
element
.
appendTo
(
this
.
document
.
find
(
t
||
"body"
)[
0
]),
"disabled"
===
e
&&
t
&&
this
.
xhr
&&
this
.
xhr
.
abort
()},
_isMultiLine
:
function
(){
return
this
.
element
.
is
(
"textarea"
)
?!
0
:
this
.
element
.
is
(
"input"
)
?!
1
:
this
.
element
.
prop
(
"isContentEditable"
)},
_initSource
:
function
(){
var
t
,
i
,
a
=
this
;
e
.
isArray
(
this
.
options
.
source
)
?
(
t
=
this
.
options
.
source
,
this
.
source
=
function
(
i
,
a
){
a
(
e
.
ui
.
autocomplete
.
filter
(
t
,
i
.
term
))})
:
"string"
==
typeof
this
.
options
.
source
?
(
i
=
this
.
options
.
source
,
this
.
source
=
function
(
t
,
s
){
a
.
xhr
&&
a
.
xhr
.
abort
(),
a
.
xhr
=
e
.
ajax
({
url
:
i
,
data
:
t
,
dataType
:
"json"
,
success
:
function
(
e
){
s
(
e
)},
error
:
function
(){
s
([])}})})
:
this
.
source
=
this
.
options
.
source
},
_searchTimeout
:
function
(
e
){
clearTimeout
(
this
.
searching
),
this
.
searching
=
this
.
_delay
(
function
(){
this
.
term
!==
this
.
_value
()
&&
(
this
.
selectedItem
=
null
,
this
.
search
(
null
,
e
))},
this
.
options
.
delay
)},
search
:
function
(
e
,
t
){
return
e
=
null
!=
e
?
e
:
this
.
_value
(),
this
.
term
=
this
.
_value
(),
e
.
length
<
this
.
options
.
minLength
?
this
.
close
(
t
)
:
this
.
_trigger
(
"search"
,
t
)
!==!
1
?
this
.
_search
(
e
)
:
undefined
},
_search
:
function
(
e
){
this
.
pending
++
,
this
.
element
.
addClass
(
"ui-autocomplete-loading"
),
this
.
cancelSearch
=!
1
,
this
.
source
({
term
:
e
},
this
.
_response
())},
_response
:
function
(){
var
e
=
this
,
i
=++
t
;
return
function
(
a
){
i
===
t
&&
e
.
__response
(
a
),
e
.
pending
--
,
e
.
pending
||
e
.
element
.
removeClass
(
"ui-autocomplete-loading"
)}},
__response
:
function
(
e
){
e
&&
(
e
=
this
.
_normalize
(
e
)),
this
.
_trigger
(
"response"
,
null
,{
content
:
e
}),
!
this
.
options
.
disabled
&&
e
&&
e
.
length
&&!
this
.
cancelSearch
?
(
this
.
_suggest
(
e
),
this
.
_trigger
(
"open"
))
:
this
.
_close
()},
close
:
function
(
e
){
this
.
cancelSearch
=!
0
,
this
.
_close
(
e
)},
_close
:
function
(
e
){
this
.
menu
.
element
.
is
(
":visible"
)
&&
(
this
.
menu
.
element
.
hide
(),
this
.
menu
.
blur
(),
this
.
isNewMenu
=!
0
,
this
.
_trigger
(
"close"
,
e
))},
_change
:
function
(
e
){
this
.
previous
!==
this
.
_value
()
&&
this
.
_trigger
(
"change"
,
e
,{
item
:
this
.
selectedItem
})},
_normalize
:
function
(
t
){
return
t
.
length
&&
t
[
0
].
label
&&
t
[
0
].
value
?
t
:
e
.
map
(
t
,
function
(
t
){
return
"string"
==
typeof
t
?
{
label
:
t
,
value
:
t
}
:
e
.
extend
({
label
:
t
.
label
||
t
.
value
,
value
:
t
.
value
||
t
.
label
},
t
)})},
_suggest
:
function
(
t
){
var
i
=
this
.
menu
.
element
.
empty
().
zIndex
(
this
.
element
.
zIndex
()
+
1
);
this
.
_renderMenu
(
i
,
t
),
this
.
menu
.
refresh
(),
i
.
show
(),
this
.
_resizeMenu
(),
i
.
position
(
e
.
extend
({
of
:
this
.
element
},
this
.
options
.
position
)),
this
.
options
.
autoFocus
&&
this
.
menu
.
next
()},
_resizeMenu
:
function
(){
var
e
=
this
.
menu
.
element
;
e
.
outerWidth
(
Math
.
max
(
e
.
width
(
""
).
outerWidth
()
+
1
,
this
.
element
.
outerWidth
()))},
_renderMenu
:
function
(
t
,
i
){
var
a
=
this
;
e
.
each
(
i
,
function
(
e
,
i
){
a
.
_renderItemData
(
t
,
i
)})},
_renderItemData
:
function
(
e
,
t
){
return
this
.
_renderItem
(
e
,
t
).
data
(
"ui-autocomplete-item"
,
t
)},
_renderItem
:
function
(
t
,
i
){
return
e
(
"<li>"
).
append
(
e
(
"<a>"
).
text
(
i
.
label
)).
appendTo
(
t
)},
_move
:
function
(
e
,
t
){
return
this
.
menu
.
element
.
is
(
":visible"
)
?
this
.
menu
.
isFirstItem
()
&&
/^previous/
.
test
(
e
)
||
this
.
menu
.
isLastItem
()
&&
/^next/
.
test
(
e
)
?
(
this
.
_value
(
this
.
term
),
this
.
menu
.
blur
(),
undefined
)
:
(
this
.
menu
[
e
](
t
),
undefined
)
:
(
this
.
search
(
null
,
t
),
undefined
)},
widget
:
function
(){
return
this
.
menu
.
element
},
_value
:
function
(){
return
this
.
valueMethod
.
apply
(
this
.
element
,
arguments
)},
_keyEvent
:
function
(
e
,
t
){(
!
this
.
isMultiLine
||
this
.
menu
.
element
.
is
(
":visible"
))
&&
(
this
.
_move
(
e
,
t
),
t
.
preventDefault
())}}),
e
.
extend
(
e
.
ui
.
autocomplete
,{
escapeRegex
:
function
(
e
){
return
e
.
replace
(
/[\-\[\]{}()*+?.,\\\^$|#\s]/g
,
"\\$&"
)},
filter
:
function
(
t
,
i
){
var
a
=
RegExp
(
e
.
ui
.
autocomplete
.
escapeRegex
(
i
),
"i"
);
return
e
.
grep
(
t
,
function
(
e
){
return
a
.
test
(
e
.
label
||
e
.
value
||
e
)})}}),
e
.
widget
(
"ui.autocomplete"
,
e
.
ui
.
autocomplete
,{
options
:
{
messages
:
{
noResults
:
"No search results."
,
results
:
function
(
e
){
return
e
+
(
e
>
1
?
" results are"
:
" result is"
)
+
" available, use up and down arrow keys to navigate."
}}},
__response
:
function
(
e
){
var
t
;
this
.
_superApply
(
arguments
),
this
.
options
.
disabled
||
this
.
cancelSearch
||
(
t
=
e
&&
e
.
length
?
this
.
options
.
messages
.
results
(
e
.
length
)
:
this
.
options
.
messages
.
noResults
,
this
.
liveRegion
.
text
(
t
))}})})(
jQuery
);(
function
(
e
){
var
t
,
i
,
a
,
s
,
n
=
"ui-button ui-widget ui-state-default ui-corner-all"
,
r
=
"ui-state-hover ui-state-active "
,
o
=
"ui-button-icons-only ui-button-icon-only ui-button-text-icons ui-button-text-icon-primary ui-button-text-icon-secondary ui-button-text-only"
,
h
=
function
(){
var
t
=
e
(
this
).
find
(
":ui-button"
);
setTimeout
(
function
(){
t
.
button
(
"refresh"
)},
1
)},
l
=
function
(
t
){
var
i
=
t
.
name
,
a
=
t
.
form
,
s
=
e
([]);
return
i
&&
(
s
=
a
?
e
(
a
).
find
(
"[name='"
+
i
+
"']"
)
:
e
(
"[name='"
+
i
+
"']"
,
t
.
ownerDocument
).
filter
(
function
(){
return
!
this
.
form
})),
s
};
e
.
widget
(
"ui.button"
,{
version
:
"1.9.2"
,
defaultElement
:
"<button>"
,
options
:
{
disabled
:
null
,
text
:!
0
,
label
:
null
,
icons
:
{
primary
:
null
,
secondary
:
null
}},
_create
:
function
(){
this
.
element
.
closest
(
"form"
).
unbind
(
"reset"
+
this
.
eventNamespace
).
bind
(
"reset"
+
this
.
eventNamespace
,
h
),
"boolean"
!=
typeof
this
.
options
.
disabled
?
this
.
options
.
disabled
=!!
this
.
element
.
prop
(
"disabled"
)
:
this
.
element
.
prop
(
"disabled"
,
this
.
options
.
disabled
),
this
.
_determineButtonType
(),
this
.
hasTitle
=!!
this
.
buttonElement
.
attr
(
"title"
);
var
r
=
this
,
o
=
this
.
options
,
u
=
"checkbox"
===
this
.
type
||
"radio"
===
this
.
type
,
d
=
u
?
""
:
"ui-state-active"
,
c
=
"ui-state-focus"
;
null
===
o
.
label
&&
(
o
.
label
=
"input"
===
this
.
type
?
this
.
buttonElement
.
val
()
:
this
.
buttonElement
.
html
()),
this
.
_hoverable
(
this
.
buttonElement
),
this
.
buttonElement
.
addClass
(
n
).
attr
(
"role"
,
"button"
).
bind
(
"mouseenter"
+
this
.
eventNamespace
,
function
(){
o
.
disabled
||
this
===
t
&&
e
(
this
).
addClass
(
"ui-state-active"
)}).
bind
(
"mouseleave"
+
this
.
eventNamespace
,
function
(){
o
.
disabled
||
e
(
this
).
removeClass
(
d
)}).
bind
(
"click"
+
this
.
eventNamespace
,
function
(
e
){
o
.
disabled
&&
(
e
.
preventDefault
(),
e
.
stopImmediatePropagation
())}),
this
.
element
.
bind
(
"focus"
+
this
.
eventNamespace
,
function
(){
r
.
buttonElement
.
addClass
(
c
)}).
bind
(
"blur"
+
this
.
eventNamespace
,
function
(){
r
.
buttonElement
.
removeClass
(
c
)}),
u
&&
(
this
.
element
.
bind
(
"change"
+
this
.
eventNamespace
,
function
(){
s
||
r
.
refresh
()}),
this
.
buttonElement
.
bind
(
"mousedown"
+
this
.
eventNamespace
,
function
(
e
){
o
.
disabled
||
(
s
=!
1
,
i
=
e
.
pageX
,
a
=
e
.
pageY
)}).
bind
(
"mouseup"
+
this
.
eventNamespace
,
function
(
e
){
o
.
disabled
||
(
i
!==
e
.
pageX
||
a
!==
e
.
pageY
)
&&
(
s
=!
0
)})),
"checkbox"
===
this
.
type
?
this
.
buttonElement
.
bind
(
"click"
+
this
.
eventNamespace
,
function
(){
return
o
.
disabled
||
s
?!
1
:
(
e
(
this
).
toggleClass
(
"ui-state-active"
),
r
.
buttonElement
.
attr
(
"aria-pressed"
,
r
.
element
[
0
].
checked
),
undefined
)})
:
"radio"
===
this
.
type
?
this
.
buttonElement
.
bind
(
"click"
+
this
.
eventNamespace
,
function
(){
if
(
o
.
disabled
||
s
)
return
!
1
;
e
(
this
).
addClass
(
"ui-state-active"
),
r
.
buttonElement
.
attr
(
"aria-pressed"
,
"true"
);
var
t
=
r
.
element
[
0
];
l
(
t
).
not
(
t
).
map
(
function
(){
return
e
(
this
).
button
(
"widget"
)[
0
]}).
removeClass
(
"ui-state-active"
).
attr
(
"aria-pressed"
,
"false"
)})
:
(
this
.
buttonElement
.
bind
(
"mousedown"
+
this
.
eventNamespace
,
function
(){
return
o
.
disabled
?!
1
:
(
e
(
this
).
addClass
(
"ui-state-active"
),
t
=
this
,
r
.
document
.
one
(
"mouseup"
,
function
(){
t
=
null
}),
undefined
)}).
bind
(
"mouseup"
+
this
.
eventNamespace
,
function
(){
return
o
.
disabled
?!
1
:
(
e
(
this
).
removeClass
(
"ui-state-active"
),
undefined
)}).
bind
(
"keydown"
+
this
.
eventNamespace
,
function
(
t
){
return
o
.
disabled
?!
1
:
((
t
.
keyCode
===
e
.
ui
.
keyCode
.
SPACE
||
t
.
keyCode
===
e
.
ui
.
keyCode
.
ENTER
)
&&
e
(
this
).
addClass
(
"ui-state-active"
),
undefined
)}).
bind
(
"keyup"
+
this
.
eventNamespace
,
function
(){
e
(
this
).
removeClass
(
"ui-state-active"
)}),
this
.
buttonElement
.
is
(
"a"
)
&&
this
.
buttonElement
.
keyup
(
function
(
t
){
t
.
keyCode
===
e
.
ui
.
keyCode
.
SPACE
&&
e
(
this
).
click
()})),
this
.
_setOption
(
"disabled"
,
o
.
disabled
),
this
.
_resetButton
()},
_determineButtonType
:
function
(){
var
e
,
t
,
i
;
this
.
type
=
this
.
element
.
is
(
"[type=checkbox]"
)
?
"checkbox"
:
this
.
element
.
is
(
"[type=radio]"
)
?
"radio"
:
this
.
element
.
is
(
"input"
)
?
"input"
:
"button"
,
"checkbox"
===
this
.
type
||
"radio"
===
this
.
type
?
(
e
=
this
.
element
.
parents
().
last
(),
t
=
"label[for='"
+
this
.
element
.
attr
(
"id"
)
+
"']"
,
this
.
buttonElement
=
e
.
find
(
t
),
this
.
buttonElement
.
length
||
(
e
=
e
.
length
?
e
.
siblings
()
:
this
.
element
.
siblings
(),
this
.
buttonElement
=
e
.
filter
(
t
),
this
.
buttonElement
.
length
||
(
this
.
buttonElement
=
e
.
find
(
t
))),
this
.
element
.
addClass
(
"ui-helper-hidden-accessible"
),
i
=
this
.
element
.
is
(
":checked"
),
i
&&
this
.
buttonElement
.
addClass
(
"ui-state-active"
),
this
.
buttonElement
.
prop
(
"aria-pressed"
,
i
))
:
this
.
buttonElement
=
this
.
element
},
widget
:
function
(){
return
this
.
buttonElement
},
_destroy
:
function
(){
this
.
element
.
removeClass
(
"ui-helper-hidden-accessible"
),
this
.
buttonElement
.
removeClass
(
n
+
" "
+
r
+
" "
+
o
).
removeAttr
(
"role"
).
removeAttr
(
"aria-pressed"
).
html
(
this
.
buttonElement
.
find
(
".ui-button-text"
).
html
()),
this
.
hasTitle
||
this
.
buttonElement
.
removeAttr
(
"title"
)},
_setOption
:
function
(
e
,
t
){
return
this
.
_super
(
e
,
t
),
"disabled"
===
e
?
(
t
?
this
.
element
.
prop
(
"disabled"
,
!
0
)
:
this
.
element
.
prop
(
"disabled"
,
!
1
),
undefined
)
:
(
this
.
_resetButton
(),
undefined
)},
refresh
:
function
(){
var
t
=
this
.
element
.
is
(
"input, button"
)
?
this
.
element
.
is
(
":disabled"
)
:
this
.
element
.
hasClass
(
"ui-button-disabled"
);
t
!==
this
.
options
.
disabled
&&
this
.
_setOption
(
"disabled"
,
t
),
"radio"
===
this
.
type
?
l
(
this
.
element
[
0
]).
each
(
function
(){
e
(
this
).
is
(
":checked"
)
?
e
(
this
).
button
(
"widget"
).
addClass
(
"ui-state-active"
).
attr
(
"aria-pressed"
,
"true"
)
:
e
(
this
).
button
(
"widget"
).
removeClass
(
"ui-state-active"
).
attr
(
"aria-pressed"
,
"false"
)})
:
"checkbox"
===
this
.
type
&&
(
this
.
element
.
is
(
":checked"
)
?
this
.
buttonElement
.
addClass
(
"ui-state-active"
).
attr
(
"aria-pressed"
,
"true"
)
:
this
.
buttonElement
.
removeClass
(
"ui-state-active"
).
attr
(
"aria-pressed"
,
"false"
))},
_resetButton
:
function
(){
if
(
"input"
===
this
.
type
)
return
this
.
options
.
label
&&
this
.
element
.
val
(
this
.
options
.
label
),
undefined
;
var
t
=
this
.
buttonElement
.
removeClass
(
o
),
i
=
e
(
"<span></span>"
,
this
.
document
[
0
]).
addClass
(
"ui-button-text"
).
html
(
this
.
options
.
label
).
appendTo
(
t
.
empty
()).
text
(),
a
=
this
.
options
.
icons
,
s
=
a
.
primary
&&
a
.
secondary
,
n
=
[];
a
.
primary
||
a
.
secondary
?
(
this
.
options
.
text
&&
n
.
push
(
"ui-button-text-icon"
+
(
s
?
"s"
:
a
.
primary
?
"-primary"
:
"-secondary"
)),
a
.
primary
&&
t
.
prepend
(
"<span class='ui-button-icon-primary ui-icon "
+
a
.
primary
+
"'></span>"
),
a
.
secondary
&&
t
.
append
(
"<span class='ui-button-icon-secondary ui-icon "
+
a
.
secondary
+
"'></span>"
),
this
.
options
.
text
||
(
n
.
push
(
s
?
"ui-button-icons-only"
:
"ui-button-icon-only"
),
this
.
hasTitle
||
t
.
attr
(
"title"
,
e
.
trim
(
i
))))
:
n
.
push
(
"ui-button-text-only"
),
t
.
addClass
(
n
.
join
(
" "
))}}),
e
.
widget
(
"ui.buttonset"
,{
version
:
"1.9.2"
,
options
:
{
items
:
"button, input[type=button], input[type=submit], input[type=reset], input[type=checkbox], input[type=radio], a, :data(button)"
},
_create
:
function
(){
this
.
element
.
addClass
(
"ui-buttonset"
)},
_init
:
function
(){
this
.
refresh
()},
_setOption
:
function
(
e
,
t
){
"disabled"
===
e
&&
this
.
buttons
.
button
(
"option"
,
e
,
t
),
this
.
_super
(
e
,
t
)},
refresh
:
function
(){
var
t
=
"rtl"
===
this
.
element
.
css
(
"direction"
);
this
.
buttons
=
this
.
element
.
find
(
this
.
options
.
items
).
filter
(
":ui-button"
).
button
(
"refresh"
).
end
().
not
(
":ui-button"
).
button
().
end
().
map
(
function
(){
return
e
(
this
).
button
(
"widget"
)[
0
]}).
removeClass
(
"ui-corner-all ui-corner-left ui-corner-right"
).
filter
(
":first"
).
addClass
(
t
?
"ui-corner-right"
:
"ui-corner-left"
).
end
().
filter
(
":last"
).
addClass
(
t
?
"ui-corner-left"
:
"ui-corner-right"
).
end
().
end
()},
_destroy
:
function
(){
this
.
element
.
removeClass
(
"ui-buttonset"
),
this
.
buttons
.
map
(
function
(){
return
e
(
this
).
button
(
"widget"
)[
0
]}).
removeClass
(
"ui-corner-left ui-corner-right"
).
end
().
button
(
"destroy"
)}})})(
jQuery
);(
function
(
$
,
undefined
){
function
Datepicker
(){
this
.
debug
=!
1
,
this
.
_curInst
=
null
,
this
.
_keyEvent
=!
1
,
this
.
_disabledInputs
=
[],
this
.
_datepickerShowing
=!
1
,
this
.
_inDialog
=!
1
,
this
.
_mainDivId
=
"ui-datepicker-div"
,
this
.
_inlineClass
=
"ui-datepicker-inline"
,
this
.
_appendClass
=
"ui-datepicker-append"
,
this
.
_triggerClass
=
"ui-datepicker-trigger"
,
this
.
_dialogClass
=
"ui-datepicker-dialog"
,
this
.
_disableClass
=
"ui-datepicker-disabled"
,
this
.
_unselectableClass
=
"ui-datepicker-unselectable"
,
this
.
_currentClass
=
"ui-datepicker-current-day"
,
this
.
_dayOverClass
=
"ui-datepicker-days-cell-over"
,
this
.
regional
=
[],
this
.
regional
[
""
]
=
{
closeText
:
"Done"
,
prevText
:
"Prev"
,
nextText
:
"Next"
,
currentText
:
"Today"
,
monthNames
:
[
"January"
,
"February"
,
"March"
,
"April"
,
"May"
,
"June"
,
"July"
,
"August"
,
"September"
,
"October"
,
"November"
,
"December"
],
monthNamesShort
:
[
"Jan"
,
"Feb"
,
"Mar"
,
"Apr"
,
"May"
,
"Jun"
,
"Jul"
,
"Aug"
,
"Sep"
,
"Oct"
,
"Nov"
,
"Dec"
],
dayNames
:
[
"Sunday"
,
"Monday"
,
"Tuesday"
,
"Wednesday"
,
"Thursday"
,
"Friday"
,
"Saturday"
],
dayNamesShort
:
[
"Sun"
,
"Mon"
,
"Tue"
,
"Wed"
,
"Thu"
,
"Fri"
,
"Sat"
],
dayNamesMin
:
[
"Su"
,
"Mo"
,
"Tu"
,
"We"
,
"Th"
,
"Fr"
,
"Sa"
],
weekHeader
:
"Wk"
,
dateFormat
:
"mm/dd/yy"
,
firstDay
:
0
,
isRTL
:!
1
,
showMonthAfterYear
:!
1
,
yearSuffix
:
""
},
this
.
_defaults
=
{
showOn
:
"focus"
,
showAnim
:
"fadeIn"
,
showOptions
:
{},
defaultDate
:
null
,
appendText
:
""
,
buttonText
:
"..."
,
buttonImage
:
""
,
buttonImageOnly
:!
1
,
hideIfNoPrevNext
:!
1
,
navigationAsDateFormat
:!
1
,
gotoCurrent
:!
1
,
changeMonth
:!
1
,
changeYear
:!
1
,
yearRange
:
"c-10:c+10"
,
showOtherMonths
:!
1
,
selectOtherMonths
:!
1
,
showWeek
:!
1
,
calculateWeek
:
this
.
iso8601Week
,
shortYearCutoff
:
"+10"
,
minDate
:
null
,
maxDate
:
null
,
duration
:
"fast"
,
beforeShowDay
:
null
,
beforeShow
:
null
,
onSelect
:
null
,
onChangeMonthYear
:
null
,
onClose
:
null
,
numberOfMonths
:
1
,
showCurrentAtPos
:
0
,
stepMonths
:
1
,
stepBigMonths
:
12
,
altField
:
""
,
altFormat
:
""
,
constrainInput
:!
0
,
showButtonPanel
:!
1
,
autoSize
:!
1
,
disabled
:!
1
},
$
.
extend
(
this
.
_defaults
,
this
.
regional
[
""
]),
this
.
dpDiv
=
bindHover
(
$
(
'<div id="'
+
this
.
_mainDivId
+
'" class="ui-datepicker ui-widget ui-widget-content ui-helper-clearfix ui-corner-all"></div>'
))}
function
bindHover
(
e
){
var
t
=
"button, .ui-datepicker-prev, .ui-datepicker-next, .ui-datepicker-calendar td a"
;
return
e
.
delegate
(
t
,
"mouseout"
,
function
(){
$
(
this
).
removeClass
(
"ui-state-hover"
),
-
1
!=
this
.
className
.
indexOf
(
"ui-datepicker-prev"
)
&&
$
(
this
).
removeClass
(
"ui-datepicker-prev-hover"
),
-
1
!=
this
.
className
.
indexOf
(
"ui-datepicker-next"
)
&&
$
(
this
).
removeClass
(
"ui-datepicker-next-hover"
)}).
delegate
(
t
,
"mouseover"
,
function
(){
$
.
datepicker
.
_isDisabledDatepicker
(
instActive
.
inline
?
e
.
parent
()[
0
]
:
instActive
.
input
[
0
])
||
(
$
(
this
).
parents
(
".ui-datepicker-calendar"
).
find
(
"a"
).
removeClass
(
"ui-state-hover"
),
$
(
this
).
addClass
(
"ui-state-hover"
),
-
1
!=
this
.
className
.
indexOf
(
"ui-datepicker-prev"
)
&&
$
(
this
).
addClass
(
"ui-datepicker-prev-hover"
),
-
1
!=
this
.
className
.
indexOf
(
"ui-datepicker-next"
)
&&
$
(
this
).
addClass
(
"ui-datepicker-next-hover"
))})}
function
extendRemove
(
e
,
t
){
$
.
extend
(
e
,
t
);
for
(
var
i
in
t
)(
null
==
t
[
i
]
||
t
[
i
]
==
undefined
)
&&
(
e
[
i
]
=
t
[
i
]);
return
e
}
$
.
extend
(
$
.
ui
,{
datepicker
:
{
version
:
"1.9.2"
}});
var
PROP_NAME
=
"datepicker"
,
dpuuid
=
(
new
Date
).
getTime
(),
instActive
;
$
.
extend
(
Datepicker
.
prototype
,{
markerClassName
:
"hasDatepicker"
,
maxRows
:
4
,
log
:
function
(){
this
.
debug
&&
console
.
log
.
apply
(
""
,
arguments
)},
_widgetDatepicker
:
function
(){
return
this
.
dpDiv
},
setDefaults
:
function
(
e
){
return
extendRemove
(
this
.
_defaults
,
e
||
{}),
this
},
_attachDatepicker
:
function
(
target
,
settings
){
var
inlineSettings
=
null
;
for
(
var
attrName
in
this
.
_defaults
){
var
attrValue
=
target
.
getAttribute
(
"date:"
+
attrName
);
if
(
attrValue
){
inlineSettings
=
inlineSettings
||
{};
try
{
inlineSettings
[
attrName
]
=
eval
(
attrValue
)}
catch
(
err
){
inlineSettings
[
attrName
]
=
attrValue
}}}
var
nodeName
=
target
.
nodeName
.
toLowerCase
(),
inline
=
"div"
==
nodeName
||
"span"
==
nodeName
;
target
.
id
||
(
this
.
uuid
+=
1
,
target
.
id
=
"dp"
+
this
.
uuid
);
var
inst
=
this
.
_newInst
(
$
(
target
),
inline
);
inst
.
settings
=
$
.
extend
({},
settings
||
{},
inlineSettings
||
{}),
"input"
==
nodeName
?
this
.
_connectDatepicker
(
target
,
inst
)
:
inline
&&
this
.
_inlineDatepicker
(
target
,
inst
)},
_newInst
:
function
(
e
,
t
){
var
i
=
e
[
0
].
id
.
replace
(
/([^A-Za-z0-9_-])/g
,
"\\\\$1"
);
return
{
id
:
i
,
input
:
e
,
selectedDay
:
0
,
selectedMonth
:
0
,
selectedYear
:
0
,
drawMonth
:
0
,
drawYear
:
0
,
inline
:
t
,
dpDiv
:
t
?
bindHover
(
$
(
'<div class="'
+
this
.
_inlineClass
+
' ui-datepicker ui-widget ui-widget-content ui-helper-clearfix ui-corner-all"></div>'
))
:
this
.
dpDiv
}},
_connectDatepicker
:
function
(
e
,
t
){
var
i
=
$
(
e
);
t
.
append
=
$
([]),
t
.
trigger
=
$
([]),
i
.
hasClass
(
this
.
markerClassName
)
||
(
this
.
_attachments
(
i
,
t
),
i
.
addClass
(
this
.
markerClassName
).
keydown
(
this
.
_doKeyDown
).
keypress
(
this
.
_doKeyPress
).
keyup
(
this
.
_doKeyUp
).
bind
(
"setData.datepicker"
,
function
(
e
,
i
,
a
){
t
.
settings
[
i
]
=
a
}).
bind
(
"getData.datepicker"
,
function
(
e
,
i
){
return
this
.
_get
(
t
,
i
)}),
this
.
_autoSize
(
t
),
$
.
data
(
e
,
PROP_NAME
,
t
),
t
.
settings
.
disabled
&&
this
.
_disableDatepicker
(
e
))},
_attachments
:
function
(
e
,
t
){
var
i
=
this
.
_get
(
t
,
"appendText"
),
a
=
this
.
_get
(
t
,
"isRTL"
);
t
.
append
&&
t
.
append
.
remove
(),
i
&&
(
t
.
append
=
$
(
'<span class="'
+
this
.
_appendClass
+
'">'
+
i
+
"</span>"
),
e
[
a
?
"before"
:
"after"
](
t
.
append
)),
e
.
unbind
(
"focus"
,
this
.
_showDatepicker
),
t
.
trigger
&&
t
.
trigger
.
remove
();
var
s
=
this
.
_get
(
t
,
"showOn"
);
if
((
"focus"
==
s
||
"both"
==
s
)
&&
e
.
focus
(
this
.
_showDatepicker
),
"button"
==
s
||
"both"
==
s
){
var
n
=
this
.
_get
(
t
,
"buttonText"
),
r
=
this
.
_get
(
t
,
"buttonImage"
);
t
.
trigger
=
$
(
this
.
_get
(
t
,
"buttonImageOnly"
)
?
$
(
"<img/>"
).
addClass
(
this
.
_triggerClass
).
attr
({
src
:
r
,
alt
:
n
,
title
:
n
})
:
$
(
'<button type="button"></button>'
).
addClass
(
this
.
_triggerClass
).
html
(
""
==
r
?
n
:
$
(
"<img/>"
).
attr
({
src
:
r
,
alt
:
n
,
title
:
n
}))),
e
[
a
?
"before"
:
"after"
](
t
.
trigger
),
t
.
trigger
.
click
(
function
(){
return
$
.
datepicker
.
_datepickerShowing
&&
$
.
datepicker
.
_lastInput
==
e
[
0
]
?
$
.
datepicker
.
_hideDatepicker
()
:
$
.
datepicker
.
_datepickerShowing
&&
$
.
datepicker
.
_lastInput
!=
e
[
0
]
?
(
$
.
datepicker
.
_hideDatepicker
(),
$
.
datepicker
.
_showDatepicker
(
e
[
0
]))
:
$
.
datepicker
.
_showDatepicker
(
e
[
0
]),
!
1
})}},
_autoSize
:
function
(
e
){
if
(
this
.
_get
(
e
,
"autoSize"
)
&&!
e
.
inline
){
var
t
=
new
Date
(
2009
,
11
,
20
),
i
=
this
.
_get
(
e
,
"dateFormat"
);
if
(
i
.
match
(
/[DM]/
)){
var
a
=
function
(
e
){
for
(
var
t
=
0
,
i
=
0
,
a
=
0
;
e
.
length
>
a
;
a
++
)
e
[
a
].
length
>
t
&&
(
t
=
e
[
a
].
length
,
i
=
a
);
return
i
};
t
.
setMonth
(
a
(
this
.
_get
(
e
,
i
.
match
(
/MM/
)
?
"monthNames"
:
"monthNamesShort"
))),
t
.
setDate
(
a
(
this
.
_get
(
e
,
i
.
match
(
/DD/
)
?
"dayNames"
:
"dayNamesShort"
))
+
20
-
t
.
getDay
())}
e
.
input
.
attr
(
"size"
,
this
.
_formatDate
(
e
,
t
).
length
)}},
_inlineDatepicker
:
function
(
e
,
t
){
var
i
=
$
(
e
);
i
.
hasClass
(
this
.
markerClassName
)
||
(
i
.
addClass
(
this
.
markerClassName
).
append
(
t
.
dpDiv
).
bind
(
"setData.datepicker"
,
function
(
e
,
i
,
a
){
t
.
settings
[
i
]
=
a
}).
bind
(
"getData.datepicker"
,
function
(
e
,
i
){
return
this
.
_get
(
t
,
i
)}),
$
.
data
(
e
,
PROP_NAME
,
t
),
this
.
_setDate
(
t
,
this
.
_getDefaultDate
(
t
),
!
0
),
this
.
_updateDatepicker
(
t
),
this
.
_updateAlternate
(
t
),
t
.
settings
.
disabled
&&
this
.
_disableDatepicker
(
e
),
t
.
dpDiv
.
css
(
"display"
,
"block"
))},
_dialogDatepicker
:
function
(
e
,
t
,
i
,
a
,
s
){
var
n
=
this
.
_dialogInst
;
if
(
!
n
){
this
.
uuid
+=
1
;
var
r
=
"dp"
+
this
.
uuid
;
this
.
_dialogInput
=
$
(
'<input type="text" id="'
+
r
+
'" style="position: absolute; top: -100px; width: 0px;"/>'
),
this
.
_dialogInput
.
keydown
(
this
.
_doKeyDown
),
$
(
"body"
).
append
(
this
.
_dialogInput
),
n
=
this
.
_dialogInst
=
this
.
_newInst
(
this
.
_dialogInput
,
!
1
),
n
.
settings
=
{},
$
.
data
(
this
.
_dialogInput
[
0
],
PROP_NAME
,
n
)}
if
(
extendRemove
(
n
.
settings
,
a
||
{}),
t
=
t
&&
t
.
constructor
==
Date
?
this
.
_formatDate
(
n
,
t
)
:
t
,
this
.
_dialogInput
.
val
(
t
),
this
.
_pos
=
s
?
s
.
length
?
s
:
[
s
.
pageX
,
s
.
pageY
]
:
null
,
!
this
.
_pos
){
var
o
=
document
.
documentElement
.
clientWidth
,
h
=
document
.
documentElement
.
clientHeight
,
l
=
document
.
documentElement
.
scrollLeft
||
document
.
body
.
scrollLeft
,
u
=
document
.
documentElement
.
scrollTop
||
document
.
body
.
scrollTop
;
this
.
_pos
=
[
o
/
2
-
100
+
l
,
h
/
2
-
150
+
u
]}
return
this
.
_dialogInput
.
css
(
"left"
,
this
.
_pos
[
0
]
+
20
+
"px"
).
css
(
"top"
,
this
.
_pos
[
1
]
+
"px"
),
n
.
settings
.
onSelect
=
i
,
this
.
_inDialog
=!
0
,
this
.
dpDiv
.
addClass
(
this
.
_dialogClass
),
this
.
_showDatepicker
(
this
.
_dialogInput
[
0
]),
$
.
blockUI
&&
$
.
blockUI
(
this
.
dpDiv
),
$
.
data
(
this
.
_dialogInput
[
0
],
PROP_NAME
,
n
),
this
},
_destroyDatepicker
:
function
(
e
){
var
t
=
$
(
e
),
i
=
$
.
data
(
e
,
PROP_NAME
);
if
(
t
.
hasClass
(
this
.
markerClassName
)){
var
a
=
e
.
nodeName
.
toLowerCase
();
$
.
removeData
(
e
,
PROP_NAME
),
"input"
==
a
?
(
i
.
append
.
remove
(),
i
.
trigger
.
remove
(),
t
.
removeClass
(
this
.
markerClassName
).
unbind
(
"focus"
,
this
.
_showDatepicker
).
unbind
(
"keydown"
,
this
.
_doKeyDown
).
unbind
(
"keypress"
,
this
.
_doKeyPress
).
unbind
(
"keyup"
,
this
.
_doKeyUp
))
:
(
"div"
==
a
||
"span"
==
a
)
&&
t
.
removeClass
(
this
.
markerClassName
).
empty
()}},
_enableDatepicker
:
function
(
e
){
var
t
=
$
(
e
),
i
=
$
.
data
(
e
,
PROP_NAME
);
if
(
t
.
hasClass
(
this
.
markerClassName
)){
var
a
=
e
.
nodeName
.
toLowerCase
();
if
(
"input"
==
a
)
e
.
disabled
=!
1
,
i
.
trigger
.
filter
(
"button"
).
each
(
function
(){
this
.
disabled
=!
1
}).
end
().
filter
(
"img"
).
css
({
opacity
:
"1.0"
,
cursor
:
""
});
else
if
(
"div"
==
a
||
"span"
==
a
){
var
s
=
t
.
children
(
"."
+
this
.
_inlineClass
);
s
.
children
().
removeClass
(
"ui-state-disabled"
),
s
.
find
(
"select.ui-datepicker-month, select.ui-datepicker-year"
).
prop
(
"disabled"
,
!
1
)}
this
.
_disabledInputs
=
$
.
map
(
this
.
_disabledInputs
,
function
(
t
){
return
t
==
e
?
null
:
t
})}},
_disableDatepicker
:
function
(
e
){
var
t
=
$
(
e
),
i
=
$
.
data
(
e
,
PROP_NAME
);
if
(
t
.
hasClass
(
this
.
markerClassName
)){
var
a
=
e
.
nodeName
.
toLowerCase
();
if
(
"input"
==
a
)
e
.
disabled
=!
0
,
i
.
trigger
.
filter
(
"button"
).
each
(
function
(){
this
.
disabled
=!
0
}).
end
().
filter
(
"img"
).
css
({
opacity
:
"0.5"
,
cursor
:
"default"
});
else
if
(
"div"
==
a
||
"span"
==
a
){
var
s
=
t
.
children
(
"."
+
this
.
_inlineClass
);
s
.
children
().
addClass
(
"ui-state-disabled"
),
s
.
find
(
"select.ui-datepicker-month, select.ui-datepicker-year"
).
prop
(
"disabled"
,
!
0
)}
this
.
_disabledInputs
=
$
.
map
(
this
.
_disabledInputs
,
function
(
t
){
return
t
==
e
?
null
:
t
}),
this
.
_disabledInputs
[
this
.
_disabledInputs
.
length
]
=
e
}},
_isDisabledDatepicker
:
function
(
e
){
if
(
!
e
)
return
!
1
;
for
(
var
t
=
0
;
this
.
_disabledInputs
.
length
>
t
;
t
++
)
if
(
this
.
_disabledInputs
[
t
]
==
e
)
return
!
0
;
return
!
1
},
_getInst
:
function
(
e
){
try
{
return
$
.
data
(
e
,
PROP_NAME
)}
catch
(
t
){
throw
"Missing instance data for this datepicker"
}},
_optionDatepicker
:
function
(
e
,
t
,
i
){
var
a
=
this
.
_getInst
(
e
);
if
(
2
==
arguments
.
length
&&
"string"
==
typeof
t
)
return
"defaults"
==
t
?
$
.
extend
({},
$
.
datepicker
.
_defaults
)
:
a
?
"all"
==
t
?
$
.
extend
({},
a
.
settings
)
:
this
.
_get
(
a
,
t
)
:
null
;
var
s
=
t
||
{};
if
(
"string"
==
typeof
t
&&
(
s
=
{},
s
[
t
]
=
i
),
a
){
this
.
_curInst
==
a
&&
this
.
_hideDatepicker
();
var
n
=
this
.
_getDateDatepicker
(
e
,
!
0
),
r
=
this
.
_getMinMaxDate
(
a
,
"min"
),
o
=
this
.
_getMinMaxDate
(
a
,
"max"
);
extendRemove
(
a
.
settings
,
s
),
null
!==
r
&&
s
.
dateFormat
!==
undefined
&&
s
.
minDate
===
undefined
&&
(
a
.
settings
.
minDate
=
this
.
_formatDate
(
a
,
r
)),
null
!==
o
&&
s
.
dateFormat
!==
undefined
&&
s
.
maxDate
===
undefined
&&
(
a
.
settings
.
maxDate
=
this
.
_formatDate
(
a
,
o
)),
this
.
_attachments
(
$
(
e
),
a
),
this
.
_autoSize
(
a
),
this
.
_setDate
(
a
,
n
),
this
.
_updateAlternate
(
a
),
this
.
_updateDatepicker
(
a
)}},
_changeDatepicker
:
function
(
e
,
t
,
i
){
this
.
_optionDatepicker
(
e
,
t
,
i
)},
_refreshDatepicker
:
function
(
e
){
var
t
=
this
.
_getInst
(
e
);
t
&&
this
.
_updateDatepicker
(
t
)},
_setDateDatepicker
:
function
(
e
,
t
){
var
i
=
this
.
_getInst
(
e
);
i
&&
(
this
.
_setDate
(
i
,
t
),
this
.
_updateDatepicker
(
i
),
this
.
_updateAlternate
(
i
))},
_getDateDatepicker
:
function
(
e
,
t
){
var
i
=
this
.
_getInst
(
e
);
return
i
&&!
i
.
inline
&&
this
.
_setDateFromField
(
i
,
t
),
i
?
this
.
_getDate
(
i
)
:
null
},
_doKeyDown
:
function
(
e
){
var
t
=
$
.
datepicker
.
_getInst
(
e
.
target
),
i
=!
0
,
a
=
t
.
dpDiv
.
is
(
".ui-datepicker-rtl"
);
if
(
t
.
_keyEvent
=!
0
,
$
.
datepicker
.
_datepickerShowing
)
switch
(
e
.
keyCode
){
case
9
:
$
.
datepicker
.
_hideDatepicker
(),
i
=!
1
;
break
;
case
13
:
var
s
=
$
(
"td."
+
$
.
datepicker
.
_dayOverClass
+
":not(."
+
$
.
datepicker
.
_currentClass
+
")"
,
t
.
dpDiv
);
s
[
0
]
&&
$
.
datepicker
.
_selectDay
(
e
.
target
,
t
.
selectedMonth
,
t
.
selectedYear
,
s
[
0
]);
var
n
=
$
.
datepicker
.
_get
(
t
,
"onSelect"
);
if
(
n
){
var
r
=
$
.
datepicker
.
_formatDate
(
t
);
n
.
apply
(
t
.
input
?
t
.
input
[
0
]
:
null
,[
r
,
t
])}
else
$
.
datepicker
.
_hideDatepicker
();
return
!
1
;
case
27
:
$
.
datepicker
.
_hideDatepicker
();
break
;
case
33
:
$
.
datepicker
.
_adjustDate
(
e
.
target
,
e
.
ctrlKey
?-
$
.
datepicker
.
_get
(
t
,
"stepBigMonths"
)
:-
$
.
datepicker
.
_get
(
t
,
"stepMonths"
),
"M"
);
break
;
case
34
:
$
.
datepicker
.
_adjustDate
(
e
.
target
,
e
.
ctrlKey
?+
$
.
datepicker
.
_get
(
t
,
"stepBigMonths"
)
:+
$
.
datepicker
.
_get
(
t
,
"stepMonths"
),
"M"
);
break
;
case
35
:
(
e
.
ctrlKey
||
e
.
metaKey
)
&&
$
.
datepicker
.
_clearDate
(
e
.
target
),
i
=
e
.
ctrlKey
||
e
.
metaKey
;
break
;
case
36
:
(
e
.
ctrlKey
||
e
.
metaKey
)
&&
$
.
datepicker
.
_gotoToday
(
e
.
target
),
i
=
e
.
ctrlKey
||
e
.
metaKey
;
break
;
case
37
:
(
e
.
ctrlKey
||
e
.
metaKey
)
&&
$
.
datepicker
.
_adjustDate
(
e
.
target
,
a
?
1
:-
1
,
"D"
),
i
=
e
.
ctrlKey
||
e
.
metaKey
,
e
.
originalEvent
.
altKey
&&
$
.
datepicker
.
_adjustDate
(
e
.
target
,
e
.
ctrlKey
?-
$
.
datepicker
.
_get
(
t
,
"stepBigMonths"
)
:-
$
.
datepicker
.
_get
(
t
,
"stepMonths"
),
"M"
);
break
;
case
38
:
(
e
.
ctrlKey
||
e
.
metaKey
)
&&
$
.
datepicker
.
_adjustDate
(
e
.
target
,
-
7
,
"D"
),
i
=
e
.
ctrlKey
||
e
.
metaKey
;
break
;
case
39
:
(
e
.
ctrlKey
||
e
.
metaKey
)
&&
$
.
datepicker
.
_adjustDate
(
e
.
target
,
a
?-
1
:
1
,
"D"
),
i
=
e
.
ctrlKey
||
e
.
metaKey
,
e
.
originalEvent
.
altKey
&&
$
.
datepicker
.
_adjustDate
(
e
.
target
,
e
.
ctrlKey
?+
$
.
datepicker
.
_get
(
t
,
"stepBigMonths"
)
:+
$
.
datepicker
.
_get
(
t
,
"stepMonths"
),
"M"
);
break
;
case
40
:
(
e
.
ctrlKey
||
e
.
metaKey
)
&&
$
.
datepicker
.
_adjustDate
(
e
.
target
,
7
,
"D"
),
i
=
e
.
ctrlKey
||
e
.
metaKey
;
break
;
default
:
i
=!
1
}
else
36
==
e
.
keyCode
&&
e
.
ctrlKey
?
$
.
datepicker
.
_showDatepicker
(
this
)
:
i
=!
1
;
i
&&
(
e
.
preventDefault
(),
e
.
stopPropagation
())},
_doKeyPress
:
function
(
e
){
var
t
=
$
.
datepicker
.
_getInst
(
e
.
target
);
if
(
$
.
datepicker
.
_get
(
t
,
"constrainInput"
)){
var
i
=
$
.
datepicker
.
_possibleChars
(
$
.
datepicker
.
_get
(
t
,
"dateFormat"
)),
a
=
String
.
fromCharCode
(
e
.
charCode
==
undefined
?
e
.
keyCode
:
e
.
charCode
);
return
e
.
ctrlKey
||
e
.
metaKey
||
" "
>
a
||!
i
||
i
.
indexOf
(
a
)
>-
1
}},
_doKeyUp
:
function
(
e
){
var
t
=
$
.
datepicker
.
_getInst
(
e
.
target
);
if
(
t
.
input
.
val
()
!=
t
.
lastVal
)
try
{
var
i
=
$
.
datepicker
.
parseDate
(
$
.
datepicker
.
_get
(
t
,
"dateFormat"
),
t
.
input
?
t
.
input
.
val
()
:
null
,
$
.
datepicker
.
_getFormatConfig
(
t
));
i
&&
(
$
.
datepicker
.
_setDateFromField
(
t
),
$
.
datepicker
.
_updateAlternate
(
t
),
$
.
datepicker
.
_updateDatepicker
(
t
))}
catch
(
a
){
$
.
datepicker
.
log
(
a
)}
return
!
0
},
_showDatepicker
:
function
(
e
){
if
(
e
=
e
.
target
||
e
,
"input"
!=
e
.
nodeName
.
toLowerCase
()
&&
(
e
=
$
(
"input"
,
e
.
parentNode
)[
0
]),
!
$
.
datepicker
.
_isDisabledDatepicker
(
e
)
&&
$
.
datepicker
.
_lastInput
!=
e
){
var
t
=
$
.
datepicker
.
_getInst
(
e
);
$
.
datepicker
.
_curInst
&&
$
.
datepicker
.
_curInst
!=
t
&&
(
$
.
datepicker
.
_curInst
.
dpDiv
.
stop
(
!
0
,
!
0
),
t
&&
$
.
datepicker
.
_datepickerShowing
&&
$
.
datepicker
.
_hideDatepicker
(
$
.
datepicker
.
_curInst
.
input
[
0
]));
var
i
=
$
.
datepicker
.
_get
(
t
,
"beforeShow"
),
a
=
i
?
i
.
apply
(
e
,[
e
,
t
])
:
{};
if
(
a
!==!
1
){
extendRemove
(
t
.
settings
,
a
),
t
.
lastVal
=
null
,
$
.
datepicker
.
_lastInput
=
e
,
$
.
datepicker
.
_setDateFromField
(
t
),
$
.
datepicker
.
_inDialog
&&
(
e
.
value
=
""
),
$
.
datepicker
.
_pos
||
(
$
.
datepicker
.
_pos
=
$
.
datepicker
.
_findPos
(
e
),
$
.
datepicker
.
_pos
[
1
]
+=
e
.
offsetHeight
);
var
s
=!
1
;
$
(
e
).
parents
().
each
(
function
(){
return
s
|=
"fixed"
==
$
(
this
).
css
(
"position"
),
!
s
});
var
n
=
{
left
:
$
.
datepicker
.
_pos
[
0
],
top
:
$
.
datepicker
.
_pos
[
1
]};
if
(
$
.
datepicker
.
_pos
=
null
,
t
.
dpDiv
.
empty
(),
t
.
dpDiv
.
css
({
position
:
"absolute"
,
display
:
"block"
,
top
:
"-1000px"
}),
$
.
datepicker
.
_updateDatepicker
(
t
),
n
=
$
.
datepicker
.
_checkOffset
(
t
,
n
,
s
),
t
.
dpDiv
.
css
({
position
:
$
.
datepicker
.
_inDialog
&&
$
.
blockUI
?
"static"
:
s
?
"fixed"
:
"absolute"
,
display
:
"none"
,
left
:
n
.
left
+
"px"
,
top
:
n
.
top
+
"px"
}),
!
t
.
inline
){
var
r
=
$
.
datepicker
.
_get
(
t
,
"showAnim"
),
o
=
$
.
datepicker
.
_get
(
t
,
"duration"
),
h
=
function
(){
var
e
=
t
.
dpDiv
.
find
(
"iframe.ui-datepicker-cover"
);
if
(
e
.
length
){
var
i
=
$
.
datepicker
.
_getBorders
(
t
.
dpDiv
);
e
.
css
({
left
:-
i
[
0
],
top
:-
i
[
1
],
width
:
t
.
dpDiv
.
outerWidth
(),
height
:
t
.
dpDiv
.
outerHeight
()})}};
t
.
dpDiv
.
zIndex
(
$
(
e
).
zIndex
()
+
1
),
$
.
datepicker
.
_datepickerShowing
=!
0
,
$
.
effects
&&
(
$
.
effects
.
effect
[
r
]
||
$
.
effects
[
r
])
?
t
.
dpDiv
.
show
(
r
,
$
.
datepicker
.
_get
(
t
,
"showOptions"
),
o
,
h
)
:
t
.
dpDiv
[
r
||
"show"
](
r
?
o
:
null
,
h
),
r
&&
o
||
h
(),
t
.
input
.
is
(
":visible"
)
&&!
t
.
input
.
is
(
":disabled"
)
&&
t
.
input
.
focus
(),
$
.
datepicker
.
_curInst
=
t
}}}},
_updateDatepicker
:
function
(
e
){
this
.
maxRows
=
4
;
var
t
=
$
.
datepicker
.
_getBorders
(
e
.
dpDiv
);
instActive
=
e
,
e
.
dpDiv
.
empty
().
append
(
this
.
_generateHTML
(
e
)),
this
.
_attachHandlers
(
e
);
var
i
=
e
.
dpDiv
.
find
(
"iframe.ui-datepicker-cover"
);
i
.
length
&&
i
.
css
({
left
:-
t
[
0
],
top
:-
t
[
1
],
width
:
e
.
dpDiv
.
outerWidth
(),
height
:
e
.
dpDiv
.
outerHeight
()}),
e
.
dpDiv
.
find
(
"."
+
this
.
_dayOverClass
+
" a"
).
mouseover
();
var
a
=
this
.
_getNumberOfMonths
(
e
),
s
=
a
[
1
],
n
=
17
;
if
(
e
.
dpDiv
.
removeClass
(
"ui-datepicker-multi-2 ui-datepicker-multi-3 ui-datepicker-multi-4"
).
width
(
""
),
s
>
1
&&
e
.
dpDiv
.
addClass
(
"ui-datepicker-multi-"
+
s
).
css
(
"width"
,
n
*
s
+
"em"
),
e
.
dpDiv
[(
1
!=
a
[
0
]
||
1
!=
a
[
1
]
?
"add"
:
"remove"
)
+
"Class"
](
"ui-datepicker-multi"
),
e
.
dpDiv
[(
this
.
_get
(
e
,
"isRTL"
)
?
"add"
:
"remove"
)
+
"Class"
](
"ui-datepicker-rtl"
),
e
==
$
.
datepicker
.
_curInst
&&
$
.
datepicker
.
_datepickerShowing
&&
e
.
input
&&
e
.
input
.
is
(
":visible"
)
&&!
e
.
input
.
is
(
":disabled"
)
&&
e
.
input
[
0
]
!=
document
.
activeElement
&&
e
.
input
.
focus
(),
e
.
yearshtml
){
var
r
=
e
.
yearshtml
;
setTimeout
(
function
(){
r
===
e
.
yearshtml
&&
e
.
yearshtml
&&
e
.
dpDiv
.
find
(
"select.ui-datepicker-year:first"
).
replaceWith
(
e
.
yearshtml
),
r
=
e
.
yearshtml
=
null
},
0
)}},
_getBorders
:
function
(
e
){
var
t
=
function
(
e
){
return
{
thin
:
1
,
medium
:
2
,
thick
:
3
}[
e
]
||
e
};
return
[
parseFloat
(
t
(
e
.
css
(
"border-left-width"
))),
parseFloat
(
t
(
e
.
css
(
"border-top-width"
)))]},
_checkOffset
:
function
(
e
,
t
,
i
){
var
a
=
e
.
dpDiv
.
outerWidth
(),
s
=
e
.
dpDiv
.
outerHeight
(),
n
=
e
.
input
?
e
.
input
.
outerWidth
()
:
0
,
r
=
e
.
input
?
e
.
input
.
outerHeight
()
:
0
,
o
=
document
.
documentElement
.
clientWidth
+
(
i
?
0
:
$
(
document
).
scrollLeft
()),
h
=
document
.
documentElement
.
clientHeight
+
(
i
?
0
:
$
(
document
).
scrollTop
());
return
t
.
left
-=
this
.
_get
(
e
,
"isRTL"
)
?
a
-
n
:
0
,
t
.
left
-=
i
&&
t
.
left
==
e
.
input
.
offset
().
left
?
$
(
document
).
scrollLeft
()
:
0
,
t
.
top
-=
i
&&
t
.
top
==
e
.
input
.
offset
().
top
+
r
?
$
(
document
).
scrollTop
()
:
0
,
t
.
left
-=
Math
.
min
(
t
.
left
,
t
.
left
+
a
>
o
&&
o
>
a
?
Math
.
abs
(
t
.
left
+
a
-
o
)
:
0
),
t
.
top
-=
Math
.
min
(
t
.
top
,
t
.
top
+
s
>
h
&&
h
>
s
?
Math
.
abs
(
s
+
r
)
:
0
),
t
},
_findPos
:
function
(
e
){
for
(
var
t
=
this
.
_getInst
(
e
),
i
=
this
.
_get
(
t
,
"isRTL"
);
e
&&
(
"hidden"
==
e
.
type
||
1
!=
e
.
nodeType
||
$
.
expr
.
filters
.
hidden
(
e
));)
e
=
e
[
i
?
"previousSibling"
:
"nextSibling"
];
var
a
=
$
(
e
).
offset
();
return
[
a
.
left
,
a
.
top
]},
_hideDatepicker
:
function
(
e
){
var
t
=
this
.
_curInst
;
if
(
t
&&
(
!
e
||
t
==
$
.
data
(
e
,
PROP_NAME
))
&&
this
.
_datepickerShowing
){
var
i
=
this
.
_get
(
t
,
"showAnim"
),
a
=
this
.
_get
(
t
,
"duration"
),
s
=
function
(){
$
.
datepicker
.
_tidyDialog
(
t
)};
$
.
effects
&&
(
$
.
effects
.
effect
[
i
]
||
$
.
effects
[
i
])
?
t
.
dpDiv
.
hide
(
i
,
$
.
datepicker
.
_get
(
t
,
"showOptions"
),
a
,
s
)
:
t
.
dpDiv
[
"slideDown"
==
i
?
"slideUp"
:
"fadeIn"
==
i
?
"fadeOut"
:
"hide"
](
i
?
a
:
null
,
s
),
i
||
s
(),
this
.
_datepickerShowing
=!
1
;
var
n
=
this
.
_get
(
t
,
"onClose"
);
n
&&
n
.
apply
(
t
.
input
?
t
.
input
[
0
]
:
null
,[
t
.
input
?
t
.
input
.
val
()
:
""
,
t
]),
this
.
_lastInput
=
null
,
this
.
_inDialog
&&
(
this
.
_dialogInput
.
css
({
position
:
"absolute"
,
left
:
"0"
,
top
:
"-100px"
}),
$
.
blockUI
&&
(
$
.
unblockUI
(),
$
(
"body"
).
append
(
this
.
dpDiv
))),
this
.
_inDialog
=!
1
}},
_tidyDialog
:
function
(
e
){
e
.
dpDiv
.
removeClass
(
this
.
_dialogClass
).
unbind
(
".ui-datepicker-calendar"
)},
_checkExternalClick
:
function
(
e
){
if
(
$
.
datepicker
.
_curInst
){
var
t
=
$
(
e
.
target
),
i
=
$
.
datepicker
.
_getInst
(
t
[
0
]);(
t
[
0
].
id
!=
$
.
datepicker
.
_mainDivId
&&
0
==
t
.
parents
(
"#"
+
$
.
datepicker
.
_mainDivId
).
length
&&!
t
.
hasClass
(
$
.
datepicker
.
markerClassName
)
&&!
t
.
closest
(
"."
+
$
.
datepicker
.
_triggerClass
).
length
&&
$
.
datepicker
.
_datepickerShowing
&&
(
!
$
.
datepicker
.
_inDialog
||!
$
.
blockUI
)
||
t
.
hasClass
(
$
.
datepicker
.
markerClassName
)
&&
$
.
datepicker
.
_curInst
!=
i
)
&&
$
.
datepicker
.
_hideDatepicker
()}},
_adjustDate
:
function
(
e
,
t
,
i
){
var
a
=
$
(
e
),
s
=
this
.
_getInst
(
a
[
0
]);
this
.
_isDisabledDatepicker
(
a
[
0
])
||
(
this
.
_adjustInstDate
(
s
,
t
+
(
"M"
==
i
?
this
.
_get
(
s
,
"showCurrentAtPos"
)
:
0
),
i
),
this
.
_updateDatepicker
(
s
))},
_gotoToday
:
function
(
e
){
var
t
=
$
(
e
),
i
=
this
.
_getInst
(
t
[
0
]);
if
(
this
.
_get
(
i
,
"gotoCurrent"
)
&&
i
.
currentDay
)
i
.
selectedDay
=
i
.
currentDay
,
i
.
drawMonth
=
i
.
selectedMonth
=
i
.
currentMonth
,
i
.
drawYear
=
i
.
selectedYear
=
i
.
currentYear
;
else
{
var
a
=
new
Date
;
i
.
selectedDay
=
a
.
getDate
(),
i
.
drawMonth
=
i
.
selectedMonth
=
a
.
getMonth
(),
i
.
drawYear
=
i
.
selectedYear
=
a
.
getFullYear
()}
this
.
_notifyChange
(
i
),
this
.
_adjustDate
(
t
)},
_selectMonthYear
:
function
(
e
,
t
,
i
){
var
a
=
$
(
e
),
s
=
this
.
_getInst
(
a
[
0
]);
s
[
"selected"
+
(
"M"
==
i
?
"Month"
:
"Year"
)]
=
s
[
"draw"
+
(
"M"
==
i
?
"Month"
:
"Year"
)]
=
parseInt
(
t
.
options
[
t
.
selectedIndex
].
value
,
10
),
this
.
_notifyChange
(
s
),
this
.
_adjustDate
(
a
)},
_selectDay
:
function
(
e
,
t
,
i
,
a
){
var
s
=
$
(
e
);
if
(
!
$
(
a
).
hasClass
(
this
.
_unselectableClass
)
&&!
this
.
_isDisabledDatepicker
(
s
[
0
])){
var
n
=
this
.
_getInst
(
s
[
0
]);
n
.
selectedDay
=
n
.
currentDay
=
$
(
"a"
,
a
).
html
(),
n
.
selectedMonth
=
n
.
currentMonth
=
t
,
n
.
selectedYear
=
n
.
currentYear
=
i
,
this
.
_selectDate
(
e
,
this
.
_formatDate
(
n
,
n
.
currentDay
,
n
.
currentMonth
,
n
.
currentYear
))}},
_clearDate
:
function
(
e
){
var
t
=
$
(
e
);
this
.
_getInst
(
t
[
0
]),
this
.
_selectDate
(
t
,
""
)},
_selectDate
:
function
(
e
,
t
){
var
i
=
$
(
e
),
a
=
this
.
_getInst
(
i
[
0
]);
t
=
null
!=
t
?
t
:
this
.
_formatDate
(
a
),
a
.
input
&&
a
.
input
.
val
(
t
),
this
.
_updateAlternate
(
a
);
var
s
=
this
.
_get
(
a
,
"onSelect"
);
s
?
s
.
apply
(
a
.
input
?
a
.
input
[
0
]
:
null
,[
t
,
a
])
:
a
.
input
&&
a
.
input
.
trigger
(
"change"
),
a
.
inline
?
this
.
_updateDatepicker
(
a
)
:
(
this
.
_hideDatepicker
(),
this
.
_lastInput
=
a
.
input
[
0
],
"object"
!=
typeof
a
.
input
[
0
]
&&
a
.
input
.
focus
(),
this
.
_lastInput
=
null
)},
_updateAlternate
:
function
(
e
){
var
t
=
this
.
_get
(
e
,
"altField"
);
if
(
t
){
var
i
=
this
.
_get
(
e
,
"altFormat"
)
||
this
.
_get
(
e
,
"dateFormat"
),
a
=
this
.
_getDate
(
e
),
s
=
this
.
formatDate
(
i
,
a
,
this
.
_getFormatConfig
(
e
));
$
(
t
).
each
(
function
(){
$
(
this
).
val
(
s
)})}},
noWeekends
:
function
(
e
){
var
t
=
e
.
getDay
();
return
[
t
>
0
&&
6
>
t
,
""
]},
iso8601Week
:
function
(
e
){
var
t
=
new
Date
(
e
.
getTime
());
t
.
setDate
(
t
.
getDate
()
+
4
-
(
t
.
getDay
()
||
7
));
var
i
=
t
.
getTime
();
return
t
.
setMonth
(
0
),
t
.
setDate
(
1
),
Math
.
floor
(
Math
.
round
((
i
-
t
)
/
864e5
)
/
7
)
+
1
},
parseDate
:
function
(
e
,
t
,
i
){
if
(
null
==
e
||
null
==
t
)
throw
"Invalid arguments"
;
if
(
t
=
"object"
==
typeof
t
?
""
+
t
:
t
+
""
,
""
==
t
)
return
null
;
var
a
=
(
i
?
i
.
shortYearCutoff
:
null
)
||
this
.
_defaults
.
shortYearCutoff
;
a
=
"string"
!=
typeof
a
?
a
:
(
new
Date
).
getFullYear
()
%
100
+
parseInt
(
a
,
10
);
for
(
var
s
=
(
i
?
i
.
dayNamesShort
:
null
)
||
this
.
_defaults
.
dayNamesShort
,
n
=
(
i
?
i
.
dayNames
:
null
)
||
this
.
_defaults
.
dayNames
,
r
=
(
i
?
i
.
monthNamesShort
:
null
)
||
this
.
_defaults
.
monthNamesShort
,
o
=
(
i
?
i
.
monthNames
:
null
)
||
this
.
_defaults
.
monthNames
,
h
=-
1
,
l
=-
1
,
u
=-
1
,
d
=-
1
,
c
=!
1
,
p
=
function
(
t
){
var
i
=
e
.
length
>
y
+
1
&&
e
.
charAt
(
y
+
1
)
==
t
;
return
i
&&
y
++
,
i
},
m
=
function
(
e
){
var
i
=
p
(
e
),
a
=
"@"
==
e
?
14
:
"!"
==
e
?
20
:
"y"
==
e
&&
i
?
4
:
"o"
==
e
?
3
:
2
,
s
=
RegExp
(
"^\\d{1,"
+
a
+
"}"
),
n
=
t
.
substring
(
v
).
match
(
s
);
if
(
!
n
)
throw
"Missing number at position "
+
v
;
return
v
+=
n
[
0
].
length
,
parseInt
(
n
[
0
],
10
)},
f
=
function
(
e
,
i
,
a
){
var
s
=
$
.
map
(
p
(
e
)
?
a
:
i
,
function
(
e
,
t
){
return
[[
t
,
e
]]}).
sort
(
function
(
e
,
t
){
return
-
(
e
[
1
].
length
-
t
[
1
].
length
)}),
n
=-
1
;
if
(
$
.
each
(
s
,
function
(
e
,
i
){
var
a
=
i
[
1
];
return
t
.
substr
(
v
,
a
.
length
).
toLowerCase
()
==
a
.
toLowerCase
()
?
(
n
=
i
[
0
],
v
+=
a
.
length
,
!
1
)
:
undefined
}),
-
1
!=
n
)
return
n
+
1
;
throw
"Unknown name at position "
+
v
},
g
=
function
(){
if
(
t
.
charAt
(
v
)
!=
e
.
charAt
(
y
))
throw
"Unexpected literal at position "
+
v
;
v
++
},
v
=
0
,
y
=
0
;
e
.
length
>
y
;
y
++
)
if
(
c
)
"'"
!=
e
.
charAt
(
y
)
||
p
(
"'"
)
?
g
()
:
c
=!
1
;
else
switch
(
e
.
charAt
(
y
)){
case
"d"
:
u
=
m
(
"d"
);
break
;
case
"D"
:
f
(
"D"
,
s
,
n
);
break
;
case
"o"
:
d
=
m
(
"o"
);
break
;
case
"m"
:
l
=
m
(
"m"
);
break
;
case
"M"
:
l
=
f
(
"M"
,
r
,
o
);
break
;
case
"y"
:
h
=
m
(
"y"
);
break
;
case
"@"
:
var
b
=
new
Date
(
m
(
"@"
));
h
=
b
.
getFullYear
(),
l
=
b
.
getMonth
()
+
1
,
u
=
b
.
getDate
();
break
;
case
"!"
:
var
b
=
new
Date
((
m
(
"!"
)
-
this
.
_ticksTo1970
)
/
1e4
);
h
=
b
.
getFullYear
(),
l
=
b
.
getMonth
()
+
1
,
u
=
b
.
getDate
();
break
;
case
"'"
:
p
(
"'"
)
?
g
()
:
c
=!
0
;
break
;
default
:
g
()}
if
(
t
.
length
>
v
){
var
_
=
t
.
substr
(
v
);
if
(
!
/^\s+/
.
test
(
_
))
throw
"Extra/unparsed characters found in date: "
+
_
}
if
(
-
1
==
h
?
h
=
(
new
Date
).
getFullYear
()
:
100
>
h
&&
(
h
+=
(
new
Date
).
getFullYear
()
-
(
new
Date
).
getFullYear
()
%
100
+
(
a
>=
h
?
0
:-
100
)),
d
>-
1
)
for
(
l
=
1
,
u
=
d
;;){
var
k
=
this
.
_getDaysInMonth
(
h
,
l
-
1
);
if
(
k
>=
u
)
break
;
l
++
,
u
-=
k
}
var
b
=
this
.
_daylightSavingAdjust
(
new
Date
(
h
,
l
-
1
,
u
));
if
(
b
.
getFullYear
()
!=
h
||
b
.
getMonth
()
+
1
!=
l
||
b
.
getDate
()
!=
u
)
throw
"Invalid date"
;
return
b
},
ATOM
:
"yy-mm-dd"
,
COOKIE
:
"D, dd M yy"
,
ISO_8601
:
"yy-mm-dd"
,
RFC_822
:
"D, d M y"
,
RFC_850
:
"DD, dd-M-y"
,
RFC_1036
:
"D, d M y"
,
RFC_1123
:
"D, d M yy"
,
RFC_2822
:
"D, d M yy"
,
RSS
:
"D, d M y"
,
TICKS
:
"!"
,
TIMESTAMP
:
"@"
,
W3C
:
"yy-mm-dd"
,
_ticksTo1970
:
1e7
*
60
*
60
*
24
*
(
718685
+
Math
.
floor
(
492.5
)
-
Math
.
floor
(
19.7
)
+
Math
.
floor
(
4.925
)),
formatDate
:
function
(
e
,
t
,
i
){
if
(
!
t
)
return
""
;
var
a
=
(
i
?
i
.
dayNamesShort
:
null
)
||
this
.
_defaults
.
dayNamesShort
,
s
=
(
i
?
i
.
dayNames
:
null
)
||
this
.
_defaults
.
dayNames
,
n
=
(
i
?
i
.
monthNamesShort
:
null
)
||
this
.
_defaults
.
monthNamesShort
,
r
=
(
i
?
i
.
monthNames
:
null
)
||
this
.
_defaults
.
monthNames
,
o
=
function
(
t
){
var
i
=
e
.
length
>
c
+
1
&&
e
.
charAt
(
c
+
1
)
==
t
;
return
i
&&
c
++
,
i
},
h
=
function
(
e
,
t
,
i
){
var
a
=
""
+
t
;
if
(
o
(
e
))
for
(;
i
>
a
.
length
;)
a
=
"0"
+
a
;
return
a
},
l
=
function
(
e
,
t
,
i
,
a
){
return
o
(
e
)
?
a
[
t
]
:
i
[
t
]},
u
=
""
,
d
=!
1
;
if
(
t
)
for
(
var
c
=
0
;
e
.
length
>
c
;
c
++
)
if
(
d
)
"'"
!=
e
.
charAt
(
c
)
||
o
(
"'"
)
?
u
+=
e
.
charAt
(
c
)
:
d
=!
1
;
else
switch
(
e
.
charAt
(
c
)){
case
"d"
:
u
+=
h
(
"d"
,
t
.
getDate
(),
2
);
break
;
case
"D"
:
u
+=
l
(
"D"
,
t
.
getDay
(),
a
,
s
);
break
;
case
"o"
:
u
+=
h
(
"o"
,
Math
.
round
((
new
Date
(
t
.
getFullYear
(),
t
.
getMonth
(),
t
.
getDate
()).
getTime
()
-
new
Date
(
t
.
getFullYear
(),
0
,
0
).
getTime
())
/
864e5
),
3
);
break
;
case
"m"
:
u
+=
h
(
"m"
,
t
.
getMonth
()
+
1
,
2
);
break
;
case
"M"
:
u
+=
l
(
"M"
,
t
.
getMonth
(),
n
,
r
);
break
;
case
"y"
:
u
+=
o
(
"y"
)
?
t
.
getFullYear
()
:
(
10
>
t
.
getYear
()
%
100
?
"0"
:
""
)
+
t
.
getYear
()
%
100
;
break
;
case
"@"
:
u
+=
t
.
getTime
();
break
;
case
"!"
:
u
+=
1e4
*
t
.
getTime
()
+
this
.
_ticksTo1970
;
break
;
case
"'"
:
o
(
"'"
)
?
u
+=
"'"
:
d
=!
0
;
break
;
default
:
u
+=
e
.
charAt
(
c
)}
return
u
},
_possibleChars
:
function
(
e
){
for
(
var
t
=
""
,
i
=!
1
,
a
=
function
(
t
){
var
i
=
e
.
length
>
s
+
1
&&
e
.
charAt
(
s
+
1
)
==
t
;
return
i
&&
s
++
,
i
},
s
=
0
;
e
.
length
>
s
;
s
++
)
if
(
i
)
"'"
!=
e
.
charAt
(
s
)
||
a
(
"'"
)
?
t
+=
e
.
charAt
(
s
)
:
i
=!
1
;
else
switch
(
e
.
charAt
(
s
)){
case
"d"
:
case
"m"
:
case
"y"
:
case
"@"
:
t
+=
"0123456789"
;
break
;
case
"D"
:
case
"M"
:
return
null
;
case
"'"
:
a
(
"'"
)
?
t
+=
"'"
:
i
=!
0
;
break
;
default
:
t
+=
e
.
charAt
(
s
)}
return
t
},
_get
:
function
(
e
,
t
){
return
e
.
settings
[
t
]
!==
undefined
?
e
.
settings
[
t
]
:
this
.
_defaults
[
t
]},
_setDateFromField
:
function
(
e
,
t
){
if
(
e
.
input
.
val
()
!=
e
.
lastVal
){
var
i
,
a
,
s
=
this
.
_get
(
e
,
"dateFormat"
),
n
=
e
.
lastVal
=
e
.
input
?
e
.
input
.
val
()
:
null
;
i
=
a
=
this
.
_getDefaultDate
(
e
);
var
r
=
this
.
_getFormatConfig
(
e
);
try
{
i
=
this
.
parseDate
(
s
,
n
,
r
)
||
a
}
catch
(
o
){
this
.
log
(
o
),
n
=
t
?
""
:
n
}
e
.
selectedDay
=
i
.
getDate
(),
e
.
drawMonth
=
e
.
selectedMonth
=
i
.
getMonth
(),
e
.
drawYear
=
e
.
selectedYear
=
i
.
getFullYear
(),
e
.
currentDay
=
n
?
i
.
getDate
()
:
0
,
e
.
currentMonth
=
n
?
i
.
getMonth
()
:
0
,
e
.
currentYear
=
n
?
i
.
getFullYear
()
:
0
,
this
.
_adjustInstDate
(
e
)}},
_getDefaultDate
:
function
(
e
){
return
this
.
_restrictMinMax
(
e
,
this
.
_determineDate
(
e
,
this
.
_get
(
e
,
"defaultDate"
),
new
Date
))},
_determineDate
:
function
(
e
,
t
,
i
){
var
a
=
function
(
e
){
var
t
=
new
Date
;
return
t
.
setDate
(
t
.
getDate
()
+
e
),
t
},
s
=
function
(
t
){
try
{
return
$
.
datepicker
.
parseDate
(
$
.
datepicker
.
_get
(
e
,
"dateFormat"
),
t
,
$
.
datepicker
.
_getFormatConfig
(
e
))}
catch
(
i
){}
for
(
var
a
=
(
t
.
toLowerCase
().
match
(
/^c/
)
?
$
.
datepicker
.
_getDate
(
e
)
:
null
)
||
new
Date
,
s
=
a
.
getFullYear
(),
n
=
a
.
getMonth
(),
r
=
a
.
getDate
(),
o
=
/([+-]?[0-9]+)\s*(d|D|w|W|m|M|y|Y)?/g
,
h
=
o
.
exec
(
t
);
h
;){
switch
(
h
[
2
]
||
"d"
){
case
"d"
:
case
"D"
:
r
+=
parseInt
(
h
[
1
],
10
);
break
;
case
"w"
:
case
"W"
:
r
+=
7
*
parseInt
(
h
[
1
],
10
);
break
;
case
"m"
:
case
"M"
:
n
+=
parseInt
(
h
[
1
],
10
),
r
=
Math
.
min
(
r
,
$
.
datepicker
.
_getDaysInMonth
(
s
,
n
));
break
;
case
"y"
:
case
"Y"
:
s
+=
parseInt
(
h
[
1
],
10
),
r
=
Math
.
min
(
r
,
$
.
datepicker
.
_getDaysInMonth
(
s
,
n
))}
h
=
o
.
exec
(
t
)}
return
new
Date
(
s
,
n
,
r
)},
n
=
null
==
t
||
""
===
t
?
i
:
"string"
==
typeof
t
?
s
(
t
)
:
"number"
==
typeof
t
?
isNaN
(
t
)
?
i
:
a
(
t
)
:
new
Date
(
t
.
getTime
());
return
n
=
n
&&
"Invalid Date"
==
""
+
n
?
i
:
n
,
n
&&
(
n
.
setHours
(
0
),
n
.
setMinutes
(
0
),
n
.
setSeconds
(
0
),
n
.
setMilliseconds
(
0
)),
this
.
_daylightSavingAdjust
(
n
)},
_daylightSavingAdjust
:
function
(
e
){
return
e
?
(
e
.
setHours
(
e
.
getHours
()
>
12
?
e
.
getHours
()
+
2
:
0
),
e
)
:
null
},
_setDate
:
function
(
e
,
t
,
i
){
var
a
=!
t
,
s
=
e
.
selectedMonth
,
n
=
e
.
selectedYear
,
r
=
this
.
_restrictMinMax
(
e
,
this
.
_determineDate
(
e
,
t
,
new
Date
));
e
.
selectedDay
=
e
.
currentDay
=
r
.
getDate
(),
e
.
drawMonth
=
e
.
selectedMonth
=
e
.
currentMonth
=
r
.
getMonth
(),
e
.
drawYear
=
e
.
selectedYear
=
e
.
currentYear
=
r
.
getFullYear
(),
s
==
e
.
selectedMonth
&&
n
==
e
.
selectedYear
||
i
||
this
.
_notifyChange
(
e
),
this
.
_adjustInstDate
(
e
),
e
.
input
&&
e
.
input
.
val
(
a
?
""
:
this
.
_formatDate
(
e
))},
_getDate
:
function
(
e
){
var
t
=!
e
.
currentYear
||
e
.
input
&&
""
==
e
.
input
.
val
()
?
null
:
this
.
_daylightSavingAdjust
(
new
Date
(
e
.
currentYear
,
e
.
currentMonth
,
e
.
currentDay
));
return
t
},
_attachHandlers
:
function
(
e
){
var
t
=
this
.
_get
(
e
,
"stepMonths"
),
i
=
"#"
+
e
.
id
.
replace
(
/\\\\/g
,
"\\"
);
e
.
dpDiv
.
find
(
"[data-handler]"
).
map
(
function
(){
var
e
=
{
prev
:
function
(){
window
[
"DP_jQuery_"
+
dpuuid
].
datepicker
.
_adjustDate
(
i
,
-
t
,
"M"
)},
next
:
function
(){
window
[
"DP_jQuery_"
+
dpuuid
].
datepicker
.
_adjustDate
(
i
,
+
t
,
"M"
)},
hide
:
function
(){
window
[
"DP_jQuery_"
+
dpuuid
].
datepicker
.
_hideDatepicker
()},
today
:
function
(){
window
[
"DP_jQuery_"
+
dpuuid
].
datepicker
.
_gotoToday
(
i
)},
selectDay
:
function
(){
return
window
[
"DP_jQuery_"
+
dpuuid
].
datepicker
.
_selectDay
(
i
,
+
this
.
getAttribute
(
"data-month"
),
+
this
.
getAttribute
(
"data-year"
),
this
),
!
1
},
selectMonth
:
function
(){
return
window
[
"DP_jQuery_"
+
dpuuid
].
datepicker
.
_selectMonthYear
(
i
,
this
,
"M"
),
!
1
},
selectYear
:
function
(){
return
window
[
"DP_jQuery_"
+
dpuuid
].
datepicker
.
_selectMonthYear
(
i
,
this
,
"Y"
),
!
1
}};
$
(
this
).
bind
(
this
.
getAttribute
(
"data-event"
),
e
[
this
.
getAttribute
(
"data-handler"
)])})},
_generateHTML
:
function
(
e
){
var
t
=
new
Date
;
t
=
this
.
_daylightSavingAdjust
(
new
Date
(
t
.
getFullYear
(),
t
.
getMonth
(),
t
.
getDate
()));
var
i
=
this
.
_get
(
e
,
"isRTL"
),
a
=
this
.
_get
(
e
,
"showButtonPanel"
),
s
=
this
.
_get
(
e
,
"hideIfNoPrevNext"
),
n
=
this
.
_get
(
e
,
"navigationAsDateFormat"
),
r
=
this
.
_getNumberOfMonths
(
e
),
o
=
this
.
_get
(
e
,
"showCurrentAtPos"
),
h
=
this
.
_get
(
e
,
"stepMonths"
),
l
=
1
!=
r
[
0
]
||
1
!=
r
[
1
],
u
=
this
.
_daylightSavingAdjust
(
e
.
currentDay
?
new
Date
(
e
.
currentYear
,
e
.
currentMonth
,
e
.
currentDay
)
:
new
Date
(
9999
,
9
,
9
)),
d
=
this
.
_getMinMaxDate
(
e
,
"min"
),
c
=
this
.
_getMinMaxDate
(
e
,
"max"
),
p
=
e
.
drawMonth
-
o
,
m
=
e
.
drawYear
;
if
(
0
>
p
&&
(
p
+=
12
,
m
--
),
c
){
var
f
=
this
.
_daylightSavingAdjust
(
new
Date
(
c
.
getFullYear
(),
c
.
getMonth
()
-
r
[
0
]
*
r
[
1
]
+
1
,
c
.
getDate
()));
for
(
f
=
d
&&
d
>
f
?
d
:
f
;
this
.
_daylightSavingAdjust
(
new
Date
(
m
,
p
,
1
))
>
f
;)
p
--
,
0
>
p
&&
(
p
=
11
,
m
--
)}
e
.
drawMonth
=
p
,
e
.
drawYear
=
m
;
var
g
=
this
.
_get
(
e
,
"prevText"
);
g
=
n
?
this
.
formatDate
(
g
,
this
.
_daylightSavingAdjust
(
new
Date
(
m
,
p
-
h
,
1
)),
this
.
_getFormatConfig
(
e
))
:
g
;
var
v
=
this
.
_canAdjustMonth
(
e
,
-
1
,
m
,
p
)
?
'<a class="ui-datepicker-prev ui-corner-all" data-handler="prev" data-event="click" title="'
+
g
+
'"><span class="ui-icon ui-icon-circle-triangle-'
+
(
i
?
"e"
:
"w"
)
+
'">'
+
g
+
"</span></a>"
:
s
?
""
:
'<a class="ui-datepicker-prev ui-corner-all ui-state-disabled" title="'
+
g
+
'"><span class="ui-icon ui-icon-circle-triangle-'
+
(
i
?
"e"
:
"w"
)
+
'">'
+
g
+
"</span></a>"
,
y
=
this
.
_get
(
e
,
"nextText"
);
y
=
n
?
this
.
formatDate
(
y
,
this
.
_daylightSavingAdjust
(
new
Date
(
m
,
p
+
h
,
1
)),
this
.
_getFormatConfig
(
e
))
:
y
;
var
b
=
this
.
_canAdjustMonth
(
e
,
1
,
m
,
p
)
?
'<a class="ui-datepicker-next ui-corner-all" data-handler="next" data-event="click" title="'
+
y
+
'"><span class="ui-icon ui-icon-circle-triangle-'
+
(
i
?
"w"
:
"e"
)
+
'">'
+
y
+
"</span></a>"
:
s
?
""
:
'<a class="ui-datepicker-next ui-corner-all ui-state-disabled" title="'
+
y
+
'"><span class="ui-icon ui-icon-circle-triangle-'
+
(
i
?
"w"
:
"e"
)
+
'">'
+
y
+
"</span></a>"
,
_
=
this
.
_get
(
e
,
"currentText"
),
k
=
this
.
_get
(
e
,
"gotoCurrent"
)
&&
e
.
currentDay
?
u
:
t
;
_
=
n
?
this
.
formatDate
(
_
,
k
,
this
.
_getFormatConfig
(
e
))
:
_
;
var
x
=
e
.
inline
?
""
:
'<button type="button" class="ui-datepicker-close ui-state-default ui-priority-primary ui-corner-all" data-handler="hide" data-event="click">'
+
this
.
_get
(
e
,
"closeText"
)
+
"</button>"
,
D
=
a
?
'<div class="ui-datepicker-buttonpane ui-widget-content">'
+
(
i
?
x
:
""
)
+
(
this
.
_isInRange
(
e
,
k
)
?
'<button type="button" class="ui-datepicker-current ui-state-default ui-priority-secondary ui-corner-all" data-handler="today" data-event="click">'
+
_
+
"</button>"
:
""
)
+
(
i
?
""
:
x
)
+
"</div>"
:
""
,
w
=
parseInt
(
this
.
_get
(
e
,
"firstDay"
),
10
);
w
=
isNaN
(
w
)
?
0
:
w
;
var
T
=
this
.
_get
(
e
,
"showWeek"
),
S
=
this
.
_get
(
e
,
"dayNames"
);
this
.
_get
(
e
,
"dayNamesShort"
);
var
M
=
this
.
_get
(
e
,
"dayNamesMin"
),
N
=
this
.
_get
(
e
,
"monthNames"
),
C
=
this
.
_get
(
e
,
"monthNamesShort"
),
A
=
this
.
_get
(
e
,
"beforeShowDay"
),
P
=
this
.
_get
(
e
,
"showOtherMonths"
),
j
=
this
.
_get
(
e
,
"selectOtherMonths"
);
this
.
_get
(
e
,
"calculateWeek"
)
||
this
.
iso8601Week
;
for
(
var
I
=
this
.
_getDefaultDate
(
e
),
F
=
""
,
H
=
0
;
r
[
0
]
>
H
;
H
++
){
var
E
=
""
;
this
.
maxRows
=
4
;
for
(
var
z
=
0
;
r
[
1
]
>
z
;
z
++
){
var
L
=
this
.
_daylightSavingAdjust
(
new
Date
(
m
,
p
,
e
.
selectedDay
)),
O
=
" ui-corner-all"
,
R
=
""
;
if
(
l
){
if
(
R
+=
'<div class="ui-datepicker-group'
,
r
[
1
]
>
1
)
switch
(
z
){
case
0
:
R
+=
" ui-datepicker-group-first"
,
O
=
" ui-corner-"
+
(
i
?
"right"
:
"left"
);
break
;
case
r
[
1
]
-
1
:
R
+=
" ui-datepicker-group-last"
,
O
=
" ui-corner-"
+
(
i
?
"left"
:
"right"
);
break
;
default
:
R
+=
" ui-datepicker-group-middle"
,
O
=
""
}
R
+=
'">'
}
R
+=
'<div class="ui-datepicker-header ui-widget-header ui-helper-clearfix'
+
O
+
'">'
+
(
/all|left/
.
test
(
O
)
&&
0
==
H
?
i
?
b
:
v
:
""
)
+
(
/all|right/
.
test
(
O
)
&&
0
==
H
?
i
?
v
:
b
:
""
)
+
this
.
_generateMonthYearHeader
(
e
,
p
,
m
,
d
,
c
,
H
>
0
||
z
>
0
,
N
,
C
)
+
'</div><table class="ui-datepicker-calendar"><thead>'
+
"<tr>"
;
for
(
var
W
=
T
?
'<th class="ui-datepicker-week-col">'
+
this
.
_get
(
e
,
"weekHeader"
)
+
"</th>"
:
""
,
Y
=
0
;
7
>
Y
;
Y
++
){
var
J
=
(
Y
+
w
)
%
7
;
W
+=
"<th"
+
((
Y
+
w
+
6
)
%
7
>=
5
?
' class="ui-datepicker-week-end"'
:
""
)
+
">"
+
'<span title="'
+
S
[
J
]
+
'">'
+
M
[
J
]
+
"</span></th>"
}
R
+=
W
+
"</tr></thead><tbody>"
;
var
Q
=
this
.
_getDaysInMonth
(
m
,
p
);
m
==
e
.
selectedYear
&&
p
==
e
.
selectedMonth
&&
(
e
.
selectedDay
=
Math
.
min
(
e
.
selectedDay
,
Q
));
var
B
=
(
this
.
_getFirstDayOfMonth
(
m
,
p
)
-
w
+
7
)
%
7
,
K
=
Math
.
ceil
((
B
+
Q
)
/
7
),
V
=
l
?
this
.
maxRows
>
K
?
this
.
maxRows
:
K
:
K
;
this
.
maxRows
=
V
;
for
(
var
U
=
this
.
_daylightSavingAdjust
(
new
Date
(
m
,
p
,
1
-
B
)),
G
=
0
;
V
>
G
;
G
++
){
R
+=
"<tr>"
;
for
(
var
q
=
T
?
'<td class="ui-datepicker-week-col">'
+
this
.
_get
(
e
,
"calculateWeek"
)(
U
)
+
"</td>"
:
""
,
Y
=
0
;
7
>
Y
;
Y
++
){
var
X
=
A
?
A
.
apply
(
e
.
input
?
e
.
input
[
0
]
:
null
,[
U
])
:
[
!
0
,
""
],
Z
=
U
.
getMonth
()
!=
p
,
et
=
Z
&&!
j
||!
X
[
0
]
||
d
&&
d
>
U
||
c
&&
U
>
c
;
q
+=
'<td class="'
+
((
Y
+
w
+
6
)
%
7
>=
5
?
" ui-datepicker-week-end"
:
""
)
+
(
Z
?
" ui-datepicker-other-month"
:
""
)
+
(
U
.
getTime
()
==
L
.
getTime
()
&&
p
==
e
.
selectedMonth
&&
e
.
_keyEvent
||
I
.
getTime
()
==
U
.
getTime
()
&&
I
.
getTime
()
==
L
.
getTime
()
?
" "
+
this
.
_dayOverClass
:
""
)
+
(
et
?
" "
+
this
.
_unselectableClass
+
" ui-state-disabled"
:
""
)
+
(
Z
&&!
P
?
""
:
" "
+
X
[
1
]
+
(
U
.
getTime
()
==
u
.
getTime
()
?
" "
+
this
.
_currentClass
:
""
)
+
(
U
.
getTime
()
==
t
.
getTime
()
?
" ui-datepicker-today"
:
""
))
+
'"'
+
(
Z
&&!
P
||!
X
[
2
]
?
""
:
' title="'
+
X
[
2
]
+
'"'
)
+
(
et
?
""
:
' data-handler="selectDay" data-event="click" data-month="'
+
U
.
getMonth
()
+
'" data-year="'
+
U
.
getFullYear
()
+
'"'
)
+
">"
+
(
Z
&&!
P
?
" "
:
et
?
'<span class="ui-state-default">'
+
U
.
getDate
()
+
"</span>"
:
'<a class="ui-state-default'
+
(
U
.
getTime
()
==
t
.
getTime
()
?
" ui-state-highlight"
:
""
)
+
(
U
.
getTime
()
==
u
.
getTime
()
?
" ui-state-active"
:
""
)
+
(
Z
?
" ui-priority-secondary"
:
""
)
+
'" href="#">'
+
U
.
getDate
()
+
"</a>"
)
+
"</td>"
,
U
.
setDate
(
U
.
getDate
()
+
1
),
U
=
this
.
_daylightSavingAdjust
(
U
)
}
R
+=
q
+
"</tr>"
}
p
++
,
p
>
11
&&
(
p
=
0
,
m
++
),
R
+=
"</tbody></table>"
+
(
l
?
"</div>"
+
(
r
[
0
]
>
0
&&
z
==
r
[
1
]
-
1
?
'<div class="ui-datepicker-row-break"></div>'
:
""
)
:
""
),
E
+=
R
}
F
+=
E
}
return
F
+=
D
+
(
$
.
ui
.
ie6
&&!
e
.
inline
?
'<iframe src="javascript:false;" class="ui-datepicker-cover" frameborder="0"></iframe>'
:
""
),
e
.
_keyEvent
=!
1
,
F
},
_generateMonthYearHeader
:
function
(
e
,
t
,
i
,
a
,
s
,
n
,
r
,
o
){
var
h
=
this
.
_get
(
e
,
"changeMonth"
),
l
=
this
.
_get
(
e
,
"changeYear"
),
u
=
this
.
_get
(
e
,
"showMonthAfterYear"
),
d
=
'<div class="ui-datepicker-title">'
,
c
=
""
;
if
(
n
||!
h
)
c
+=
'<span class="ui-datepicker-month">'
+
r
[
t
]
+
"</span>"
;
else
{
var
p
=
a
&&
a
.
getFullYear
()
==
i
,
m
=
s
&&
s
.
getFullYear
()
==
i
;
c
+=
'<select class="ui-datepicker-month" data-handler="selectMonth" data-event="change">'
;
for
(
var
f
=
0
;
12
>
f
;
f
++
)(
!
p
||
f
>=
a
.
getMonth
())
&&
(
!
m
||
s
.
getMonth
()
>=
f
)
&&
(
c
+=
'<option value="'
+
f
+
'"'
+
(
f
==
t
?
' selected="selected"'
:
""
)
+
">"
+
o
[
f
]
+
"</option>"
);
c
+=
"</select>"
}
if
(
u
||
(
d
+=
c
+
(
!
n
&&
h
&&
l
?
""
:
" "
)),
!
e
.
yearshtml
)
if
(
e
.
yearshtml
=
""
,
n
||!
l
)
d
+=
'<span class="ui-datepicker-year">'
+
i
+
"</span>"
;
else
{
var
g
=
this
.
_get
(
e
,
"yearRange"
).
split
(
":"
),
v
=
(
new
Date
).
getFullYear
(),
y
=
function
(
e
){
var
t
=
e
.
match
(
/c[+-].*/
)
?
i
+
parseInt
(
e
.
substring
(
1
),
10
)
:
e
.
match
(
/[+-].*/
)
?
v
+
parseInt
(
e
,
10
)
:
parseInt
(
e
,
10
);
return
isNaN
(
t
)
?
v
:
t
},
b
=
y
(
g
[
0
]),
_
=
Math
.
max
(
b
,
y
(
g
[
1
]
||
""
));
for
(
b
=
a
?
Math
.
max
(
b
,
a
.
getFullYear
())
:
b
,
_
=
s
?
Math
.
min
(
_
,
s
.
getFullYear
())
:
_
,
e
.
yearshtml
+=
'<select class="ui-datepicker-year" data-handler="selectYear" data-event="change">'
;
_
>=
b
;
b
++
)
e
.
yearshtml
+=
'<option value="'
+
b
+
'"'
+
(
b
==
i
?
' selected="selected"'
:
""
)
+
">"
+
b
+
"</option>"
;
e
.
yearshtml
+=
"</select>"
,
d
+=
e
.
yearshtml
,
e
.
yearshtml
=
null
}
return
d
+=
this
.
_get
(
e
,
"yearSuffix"
),
u
&&
(
d
+=
(
!
n
&&
h
&&
l
?
""
:
" "
)
+
c
),
d
+=
"</div>"
},
_adjustInstDate
:
function
(
e
,
t
,
i
){
var
a
=
e
.
drawYear
+
(
"Y"
==
i
?
t
:
0
),
s
=
e
.
drawMonth
+
(
"M"
==
i
?
t
:
0
),
n
=
Math
.
min
(
e
.
selectedDay
,
this
.
_getDaysInMonth
(
a
,
s
))
+
(
"D"
==
i
?
t
:
0
),
r
=
this
.
_restrictMinMax
(
e
,
this
.
_daylightSavingAdjust
(
new
Date
(
a
,
s
,
n
)));
e
.
selectedDay
=
r
.
getDate
(),
e
.
drawMonth
=
e
.
selectedMonth
=
r
.
getMonth
(),
e
.
drawYear
=
e
.
selectedYear
=
r
.
getFullYear
(),(
"M"
==
i
||
"Y"
==
i
)
&&
this
.
_notifyChange
(
e
)},
_restrictMinMax
:
function
(
e
,
t
){
var
i
=
this
.
_getMinMaxDate
(
e
,
"min"
),
a
=
this
.
_getMinMaxDate
(
e
,
"max"
),
s
=
i
&&
i
>
t
?
i
:
t
;
return
s
=
a
&&
s
>
a
?
a
:
s
},
_notifyChange
:
function
(
e
){
var
t
=
this
.
_get
(
e
,
"onChangeMonthYear"
);
t
&&
t
.
apply
(
e
.
input
?
e
.
input
[
0
]
:
null
,[
e
.
selectedYear
,
e
.
selectedMonth
+
1
,
e
])},
_getNumberOfMonths
:
function
(
e
){
var
t
=
this
.
_get
(
e
,
"numberOfMonths"
);
return
null
==
t
?
[
1
,
1
]
:
"number"
==
typeof
t
?
[
1
,
t
]
:
t
},
_getMinMaxDate
:
function
(
e
,
t
){
return
this
.
_determineDate
(
e
,
this
.
_get
(
e
,
t
+
"Date"
),
null
)},
_getDaysInMonth
:
function
(
e
,
t
){
return
32
-
this
.
_daylightSavingAdjust
(
new
Date
(
e
,
t
,
32
)).
getDate
()},
_getFirstDayOfMonth
:
function
(
e
,
t
){
return
new
Date
(
e
,
t
,
1
).
getDay
()},
_canAdjustMonth
:
function
(
e
,
t
,
i
,
a
){
var
s
=
this
.
_getNumberOfMonths
(
e
),
n
=
this
.
_daylightSavingAdjust
(
new
Date
(
i
,
a
+
(
0
>
t
?
t
:
s
[
0
]
*
s
[
1
]),
1
));
return
0
>
t
&&
n
.
setDate
(
this
.
_getDaysInMonth
(
n
.
getFullYear
(),
n
.
getMonth
())),
this
.
_isInRange
(
e
,
n
)},
_isInRange
:
function
(
e
,
t
){
var
i
=
this
.
_getMinMaxDate
(
e
,
"min"
),
a
=
this
.
_getMinMaxDate
(
e
,
"max"
);
return
(
!
i
||
t
.
getTime
()
>=
i
.
getTime
())
&&
(
!
a
||
t
.
getTime
()
<=
a
.
getTime
())},
_getFormatConfig
:
function
(
e
){
var
t
=
this
.
_get
(
e
,
"shortYearCutoff"
);
return
t
=
"string"
!=
typeof
t
?
t
:
(
new
Date
).
getFullYear
()
%
100
+
parseInt
(
t
,
10
),{
shortYearCutoff
:
t
,
dayNamesShort
:
this
.
_get
(
e
,
"dayNamesShort"
),
dayNames
:
this
.
_get
(
e
,
"dayNames"
),
monthNamesShort
:
this
.
_get
(
e
,
"monthNamesShort"
),
monthNames
:
this
.
_get
(
e
,
"monthNames"
)}},
_formatDate
:
function
(
e
,
t
,
i
,
a
){
t
||
(
e
.
currentDay
=
e
.
selectedDay
,
e
.
currentMonth
=
e
.
selectedMonth
,
e
.
currentYear
=
e
.
selectedYear
);
var
s
=
t
?
"object"
==
typeof
t
?
t
:
this
.
_daylightSavingAdjust
(
new
Date
(
a
,
i
,
t
))
:
this
.
_daylightSavingAdjust
(
new
Date
(
e
.
currentYear
,
e
.
currentMonth
,
e
.
currentDay
));
return
this
.
formatDate
(
this
.
_get
(
e
,
"dateFormat"
),
s
,
this
.
_getFormatConfig
(
e
))}}),
$
.
fn
.
datepicker
=
function
(
e
){
if
(
!
this
.
length
)
return
this
;
$
.
datepicker
.
initialized
||
(
$
(
document
).
mousedown
(
$
.
datepicker
.
_checkExternalClick
).
find
(
document
.
body
).
append
(
$
.
datepicker
.
dpDiv
),
$
.
datepicker
.
initialized
=!
0
);
var
t
=
Array
.
prototype
.
slice
.
call
(
arguments
,
1
);
return
"string"
!=
typeof
e
||
"isDisabled"
!=
e
&&
"getDate"
!=
e
&&
"widget"
!=
e
?
"option"
==
e
&&
2
==
arguments
.
length
&&
"string"
==
typeof
arguments
[
1
]
?
$
.
datepicker
[
"_"
+
e
+
"Datepicker"
].
apply
(
$
.
datepicker
,[
this
[
0
]].
concat
(
t
))
:
this
.
each
(
function
(){
"string"
==
typeof
e
?
$
.
datepicker
[
"_"
+
e
+
"Datepicker"
].
apply
(
$
.
datepicker
,[
this
].
concat
(
t
))
:
$
.
datepicker
.
_attachDatepicker
(
this
,
e
)})
:
$
.
datepicker
[
"_"
+
e
+
"Datepicker"
].
apply
(
$
.
datepicker
,[
this
[
0
]].
concat
(
t
))},
$
.
datepicker
=
new
Datepicker
,
$
.
datepicker
.
initialized
=!
1
,
$
.
datepicker
.
uuid
=
(
new
Date
).
getTime
(),
$
.
datepicker
.
version
=
"1.9.2"
,
window
[
"DP_jQuery_"
+
dpuuid
]
=
$
})(
jQuery
);(
function
(
e
,
t
){
var
i
=
"ui-dialog ui-widget ui-widget-content ui-corner-all "
,
a
=
{
buttons
:!
0
,
height
:!
0
,
maxHeight
:!
0
,
maxWidth
:!
0
,
minHeight
:!
0
,
minWidth
:!
0
,
width
:!
0
},
s
=
{
maxHeight
:!
0
,
maxWidth
:!
0
,
minHeight
:!
0
,
minWidth
:!
0
};
e
.
widget
(
"ui.dialog"
,{
version
:
"1.9.2"
,
options
:
{
autoOpen
:!
0
,
buttons
:
{},
closeOnEscape
:!
0
,
closeText
:
"close"
,
dialogClass
:
""
,
draggable
:!
0
,
hide
:
null
,
height
:
"auto"
,
maxHeight
:!
1
,
maxWidth
:!
1
,
minHeight
:
150
,
minWidth
:
150
,
modal
:!
1
,
position
:
{
my
:
"center"
,
at
:
"center"
,
of
:
window
,
collision
:
"fit"
,
using
:
function
(
t
){
var
i
=
e
(
this
).
css
(
t
).
offset
().
top
;
0
>
i
&&
e
(
this
).
css
(
"top"
,
t
.
top
-
i
)}},
resizable
:!
0
,
show
:
null
,
stack
:!
0
,
title
:
""
,
width
:
300
,
zIndex
:
1e3
},
_create
:
function
(){
this
.
originalTitle
=
this
.
element
.
attr
(
"title"
),
"string"
!=
typeof
this
.
originalTitle
&&
(
this
.
originalTitle
=
""
),
this
.
oldPosition
=
{
parent
:
this
.
element
.
parent
(),
index
:
this
.
element
.
parent
().
children
().
index
(
this
.
element
)},
this
.
options
.
title
=
this
.
options
.
title
||
this
.
originalTitle
;
var
a
,
s
,
n
,
r
,
o
,
h
=
this
,
l
=
this
.
options
,
u
=
l
.
title
||
" "
;
a
=
(
this
.
uiDialog
=
e
(
"<div>"
)).
addClass
(
i
+
l
.
dialogClass
).
css
({
display
:
"none"
,
outline
:
0
,
zIndex
:
l
.
zIndex
}).
attr
(
"tabIndex"
,
-
1
).
keydown
(
function
(
t
){
l
.
closeOnEscape
&&!
t
.
isDefaultPrevented
()
&&
t
.
keyCode
&&
t
.
keyCode
===
e
.
ui
.
keyCode
.
ESCAPE
&&
(
h
.
close
(
t
),
t
.
preventDefault
())}).
mousedown
(
function
(
e
){
h
.
moveToTop
(
!
1
,
e
)}).
appendTo
(
"body"
),
this
.
element
.
show
().
removeAttr
(
"title"
).
addClass
(
"ui-dialog-content ui-widget-content"
).
appendTo
(
a
),
s
=
(
this
.
uiDialogTitlebar
=
e
(
"<div>"
)).
addClass
(
"ui-dialog-titlebar ui-widget-header ui-corner-all ui-helper-clearfix"
).
bind
(
"mousedown"
,
function
(){
a
.
focus
()}).
prependTo
(
a
),
n
=
e
(
"<a href='#'></a>"
).
addClass
(
"ui-dialog-titlebar-close ui-corner-all"
).
attr
(
"role"
,
"button"
).
click
(
function
(
e
){
e
.
preventDefault
(),
h
.
close
(
e
)}).
appendTo
(
s
),(
this
.
uiDialogTitlebarCloseText
=
e
(
"<span>"
)).
addClass
(
"ui-icon ui-icon-closethick"
).
text
(
l
.
closeText
).
appendTo
(
n
),
r
=
e
(
"<span>"
).
uniqueId
().
addClass
(
"ui-dialog-title"
).
html
(
u
).
prependTo
(
s
),
o
=
(
this
.
uiDialogButtonPane
=
e
(
"<div>"
)).
addClass
(
"ui-dialog-buttonpane ui-widget-content ui-helper-clearfix"
),(
this
.
uiButtonSet
=
e
(
"<div>"
)).
addClass
(
"ui-dialog-buttonset"
).
appendTo
(
o
),
a
.
attr
({
role
:
"dialog"
,
"aria-labelledby"
:
r
.
attr
(
"id"
)}),
s
.
find
(
"*"
).
add
(
s
).
disableSelection
(),
this
.
_hoverable
(
n
),
this
.
_focusable
(
n
),
l
.
draggable
&&
e
.
fn
.
draggable
&&
this
.
_makeDraggable
(),
l
.
resizable
&&
e
.
fn
.
resizable
&&
this
.
_makeResizable
(),
this
.
_createButtons
(
l
.
buttons
),
this
.
_isOpen
=!
1
,
e
.
fn
.
bgiframe
&&
a
.
bgiframe
(),
this
.
_on
(
a
,{
keydown
:
function
(
i
){
if
(
l
.
modal
&&
i
.
keyCode
===
e
.
ui
.
keyCode
.
TAB
){
var
s
=
e
(
":tabbable"
,
a
),
n
=
s
.
filter
(
":first"
),
r
=
s
.
filter
(
":last"
);
return
i
.
target
!==
r
[
0
]
||
i
.
shiftKey
?
i
.
target
===
n
[
0
]
&&
i
.
shiftKey
?
(
r
.
focus
(
1
),
!
1
)
:
t
:
(
n
.
focus
(
1
),
!
1
)}}})},
_init
:
function
(){
this
.
options
.
autoOpen
&&
this
.
open
()},
_destroy
:
function
(){
var
e
,
t
=
this
.
oldPosition
;
this
.
overlay
&&
this
.
overlay
.
destroy
(),
this
.
uiDialog
.
hide
(),
this
.
element
.
removeClass
(
"ui-dialog-content ui-widget-content"
).
hide
().
appendTo
(
"body"
),
this
.
uiDialog
.
remove
(),
this
.
originalTitle
&&
this
.
element
.
attr
(
"title"
,
this
.
originalTitle
),
e
=
t
.
parent
.
children
().
eq
(
t
.
index
),
e
.
length
&&
e
[
0
]
!==
this
.
element
[
0
]
?
e
.
before
(
this
.
element
)
:
t
.
parent
.
append
(
this
.
element
)},
widget
:
function
(){
return
this
.
uiDialog
},
close
:
function
(
t
){
var
i
,
a
,
s
=
this
;
if
(
this
.
_isOpen
&&!
1
!==
this
.
_trigger
(
"beforeClose"
,
t
))
return
this
.
_isOpen
=!
1
,
this
.
overlay
&&
this
.
overlay
.
destroy
(),
this
.
options
.
hide
?
this
.
_hide
(
this
.
uiDialog
,
this
.
options
.
hide
,
function
(){
s
.
_trigger
(
"close"
,
t
)})
:
(
this
.
uiDialog
.
hide
(),
this
.
_trigger
(
"close"
,
t
)),
e
.
ui
.
dialog
.
overlay
.
resize
(),
this
.
options
.
modal
&&
(
i
=
0
,
e
(
".ui-dialog"
).
each
(
function
(){
this
!==
s
.
uiDialog
[
0
]
&&
(
a
=
e
(
this
).
css
(
"z-index"
),
isNaN
(
a
)
||
(
i
=
Math
.
max
(
i
,
a
)))}),
e
.
ui
.
dialog
.
maxZ
=
i
),
this
},
isOpen
:
function
(){
return
this
.
_isOpen
},
moveToTop
:
function
(
t
,
i
){
var
a
,
s
=
this
.
options
;
return
s
.
modal
&&!
t
||!
s
.
stack
&&!
s
.
modal
?
this
.
_trigger
(
"focus"
,
i
)
:
(
s
.
zIndex
>
e
.
ui
.
dialog
.
maxZ
&&
(
e
.
ui
.
dialog
.
maxZ
=
s
.
zIndex
),
this
.
overlay
&&
(
e
.
ui
.
dialog
.
maxZ
+=
1
,
e
.
ui
.
dialog
.
overlay
.
maxZ
=
e
.
ui
.
dialog
.
maxZ
,
this
.
overlay
.
$el
.
css
(
"z-index"
,
e
.
ui
.
dialog
.
overlay
.
maxZ
)),
a
=
{
scrollTop
:
this
.
element
.
scrollTop
(),
scrollLeft
:
this
.
element
.
scrollLeft
()},
e
.
ui
.
dialog
.
maxZ
+=
1
,
this
.
uiDialog
.
css
(
"z-index"
,
e
.
ui
.
dialog
.
maxZ
),
this
.
element
.
attr
(
a
),
this
.
_trigger
(
"focus"
,
i
),
this
)},
open
:
function
(){
if
(
!
this
.
_isOpen
){
var
t
,
i
=
this
.
options
,
a
=
this
.
uiDialog
;
return
this
.
_size
(),
this
.
_position
(
i
.
position
),
a
.
show
(
i
.
show
),
this
.
overlay
=
i
.
modal
?
new
e
.
ui
.
dialog
.
overlay
(
this
)
:
null
,
this
.
moveToTop
(
!
0
),
t
=
this
.
element
.
find
(
":tabbable"
),
t
.
length
||
(
t
=
this
.
uiDialogButtonPane
.
find
(
":tabbable"
),
t
.
length
||
(
t
=
a
)),
t
.
eq
(
0
).
focus
(),
this
.
_isOpen
=!
0
,
this
.
_trigger
(
"open"
),
this
}},
_createButtons
:
function
(
t
){
var
i
=
this
,
a
=!
1
;
this
.
uiDialogButtonPane
.
remove
(),
this
.
uiButtonSet
.
empty
(),
"object"
==
typeof
t
&&
null
!==
t
&&
e
.
each
(
t
,
function
(){
return
!
(
a
=!
0
)}),
a
?
(
e
.
each
(
t
,
function
(
t
,
a
){
var
s
,
n
;
a
=
e
.
isFunction
(
a
)
?
{
click
:
a
,
text
:
t
}
:
a
,
a
=
e
.
extend
({
type
:
"button"
},
a
),
n
=
a
.
click
,
a
.
click
=
function
(){
n
.
apply
(
i
.
element
[
0
],
arguments
)},
s
=
e
(
"<button></button>"
,
a
).
appendTo
(
i
.
uiButtonSet
),
e
.
fn
.
button
&&
s
.
button
()}),
this
.
uiDialog
.
addClass
(
"ui-dialog-buttons"
),
this
.
uiDialogButtonPane
.
appendTo
(
this
.
uiDialog
))
:
this
.
uiDialog
.
removeClass
(
"ui-dialog-buttons"
)},
_makeDraggable
:
function
(){
function
t
(
e
){
return
{
position
:
e
.
position
,
offset
:
e
.
offset
}}
var
i
=
this
,
a
=
this
.
options
;
this
.
uiDialog
.
draggable
({
cancel
:
".ui-dialog-content, .ui-dialog-titlebar-close"
,
handle
:
".ui-dialog-titlebar"
,
containment
:
"document"
,
start
:
function
(
a
,
s
){
e
(
this
).
addClass
(
"ui-dialog-dragging"
),
i
.
_trigger
(
"dragStart"
,
a
,
t
(
s
))},
drag
:
function
(
e
,
a
){
i
.
_trigger
(
"drag"
,
e
,
t
(
a
))},
stop
:
function
(
s
,
n
){
a
.
position
=
[
n
.
position
.
left
-
i
.
document
.
scrollLeft
(),
n
.
position
.
top
-
i
.
document
.
scrollTop
()],
e
(
this
).
removeClass
(
"ui-dialog-dragging"
),
i
.
_trigger
(
"dragStop"
,
s
,
t
(
n
)),
e
.
ui
.
dialog
.
overlay
.
resize
()}})},
_makeResizable
:
function
(
i
){
function
a
(
e
){
return
{
originalPosition
:
e
.
originalPosition
,
originalSize
:
e
.
originalSize
,
position
:
e
.
position
,
size
:
e
.
size
}}
i
=
i
===
t
?
this
.
options
.
resizable
:
i
;
var
s
=
this
,
n
=
this
.
options
,
r
=
this
.
uiDialog
.
css
(
"position"
),
o
=
"string"
==
typeof
i
?
i
:
"n,e,s,w,se,sw,ne,nw"
;
this
.
uiDialog
.
resizable
({
cancel
:
".ui-dialog-content"
,
containment
:
"document"
,
alsoResize
:
this
.
element
,
maxWidth
:
n
.
maxWidth
,
maxHeight
:
n
.
maxHeight
,
minWidth
:
n
.
minWidth
,
minHeight
:
this
.
_minHeight
(),
handles
:
o
,
start
:
function
(
t
,
i
){
e
(
this
).
addClass
(
"ui-dialog-resizing"
),
s
.
_trigger
(
"resizeStart"
,
t
,
a
(
i
))},
resize
:
function
(
e
,
t
){
s
.
_trigger
(
"resize"
,
e
,
a
(
t
))},
stop
:
function
(
t
,
i
){
e
(
this
).
removeClass
(
"ui-dialog-resizing"
),
n
.
height
=
e
(
this
).
height
(),
n
.
width
=
e
(
this
).
width
(),
s
.
_trigger
(
"resizeStop"
,
t
,
a
(
i
)),
e
.
ui
.
dialog
.
overlay
.
resize
()}}).
css
(
"position"
,
r
).
find
(
".ui-resizable-se"
).
addClass
(
"ui-icon ui-icon-grip-diagonal-se"
)},
_minHeight
:
function
(){
var
e
=
this
.
options
;
return
"auto"
===
e
.
height
?
e
.
minHeight
:
Math
.
min
(
e
.
minHeight
,
e
.
height
)},
_position
:
function
(
t
){
var
i
,
a
=
[],
s
=
[
0
,
0
];
t
?
((
"string"
==
typeof
t
||
"object"
==
typeof
t
&&
"0"
in
t
)
&&
(
a
=
t
.
split
?
t
.
split
(
" "
)
:
[
t
[
0
],
t
[
1
]],
1
===
a
.
length
&&
(
a
[
1
]
=
a
[
0
]),
e
.
each
([
"left"
,
"top"
],
function
(
e
,
t
){
+
a
[
e
]
===
a
[
e
]
&&
(
s
[
e
]
=
a
[
e
],
a
[
e
]
=
t
)}),
t
=
{
my
:
a
[
0
]
+
(
0
>
s
[
0
]
?
s
[
0
]
:
"+"
+
s
[
0
])
+
" "
+
a
[
1
]
+
(
0
>
s
[
1
]
?
s
[
1
]
:
"+"
+
s
[
1
]),
at
:
a
.
join
(
" "
)}),
t
=
e
.
extend
({},
e
.
ui
.
dialog
.
prototype
.
options
.
position
,
t
))
:
t
=
e
.
ui
.
dialog
.
prototype
.
options
.
position
,
i
=
this
.
uiDialog
.
is
(
":visible"
),
i
||
this
.
uiDialog
.
show
(),
this
.
uiDialog
.
position
(
t
),
i
||
this
.
uiDialog
.
hide
()},
_setOptions
:
function
(
t
){
var
i
=
this
,
n
=
{},
r
=!
1
;
e
.
each
(
t
,
function
(
e
,
t
){
i
.
_setOption
(
e
,
t
),
e
in
a
&&
(
r
=!
0
),
e
in
s
&&
(
n
[
e
]
=
t
)}),
r
&&
this
.
_size
(),
this
.
uiDialog
.
is
(
":data(resizable)"
)
&&
this
.
uiDialog
.
resizable
(
"option"
,
n
)},
_setOption
:
function
(
t
,
a
){
var
s
,
n
,
r
=
this
.
uiDialog
;
switch
(
t
){
case
"buttons"
:
this
.
_createButtons
(
a
);
break
;
case
"closeText"
:
this
.
uiDialogTitlebarCloseText
.
text
(
""
+
a
);
break
;
case
"dialogClass"
:
r
.
removeClass
(
this
.
options
.
dialogClass
).
addClass
(
i
+
a
);
break
;
case
"disabled"
:
a
?
r
.
addClass
(
"ui-dialog-disabled"
)
:
r
.
removeClass
(
"ui-dialog-disabled"
);
break
;
case
"draggable"
:
s
=
r
.
is
(
":data(draggable)"
),
s
&&!
a
&&
r
.
draggable
(
"destroy"
),
!
s
&&
a
&&
this
.
_makeDraggable
();
break
;
case
"position"
:
this
.
_position
(
a
);
break
;
case
"resizable"
:
n
=
r
.
is
(
":data(resizable)"
),
n
&&!
a
&&
r
.
resizable
(
"destroy"
),
n
&&
"string"
==
typeof
a
&&
r
.
resizable
(
"option"
,
"handles"
,
a
),
n
||
a
===!
1
||
this
.
_makeResizable
(
a
);
break
;
case
"title"
:
e
(
".ui-dialog-title"
,
this
.
uiDialogTitlebar
).
html
(
""
+
(
a
||
" "
))}
this
.
_super
(
t
,
a
)},
_size
:
function
(){
var
t
,
i
,
a
,
s
=
this
.
options
,
n
=
this
.
uiDialog
.
is
(
":visible"
);
this
.
element
.
show
().
css
({
width
:
"auto"
,
minHeight
:
0
,
height
:
0
}),
s
.
minWidth
>
s
.
width
&&
(
s
.
width
=
s
.
minWidth
),
t
=
this
.
uiDialog
.
css
({
height
:
"auto"
,
width
:
s
.
width
}).
outerHeight
(),
i
=
Math
.
max
(
0
,
s
.
minHeight
-
t
),
"auto"
===
s
.
height
?
e
.
support
.
minHeight
?
this
.
element
.
css
({
minHeight
:
i
,
height
:
"auto"
})
:
(
this
.
uiDialog
.
show
(),
a
=
this
.
element
.
css
(
"height"
,
"auto"
).
height
(),
n
||
this
.
uiDialog
.
hide
(),
this
.
element
.
height
(
Math
.
max
(
a
,
i
)))
:
this
.
element
.
height
(
Math
.
max
(
s
.
height
-
t
,
0
)),
this
.
uiDialog
.
is
(
":data(resizable)"
)
&&
this
.
uiDialog
.
resizable
(
"option"
,
"minHeight"
,
this
.
_minHeight
())}}),
e
.
extend
(
e
.
ui
.
dialog
,{
uuid
:
0
,
maxZ
:
0
,
getTitleId
:
function
(
e
){
var
t
=
e
.
attr
(
"id"
);
return
t
||
(
this
.
uuid
+=
1
,
t
=
this
.
uuid
),
"ui-dialog-title-"
+
t
},
overlay
:
function
(
t
){
this
.
$el
=
e
.
ui
.
dialog
.
overlay
.
create
(
t
)}}),
e
.
extend
(
e
.
ui
.
dialog
.
overlay
,{
instances
:
[],
oldInstances
:
[],
maxZ
:
0
,
events
:
e
.
map
(
"focus,mousedown,mouseup,keydown,keypress,click"
.
split
(
","
),
function
(
e
){
return
e
+
".dialog-overlay"
}).
join
(
" "
),
create
:
function
(
i
){
0
===
this
.
instances
.
length
&&
(
setTimeout
(
function
(){
e
.
ui
.
dialog
.
overlay
.
instances
.
length
&&
e
(
document
).
bind
(
e
.
ui
.
dialog
.
overlay
.
events
,
function
(
i
){
return
e
(
i
.
target
).
zIndex
()
<
e
.
ui
.
dialog
.
overlay
.
maxZ
?!
1
:
t
})},
1
),
e
(
window
).
bind
(
"resize.dialog-overlay"
,
e
.
ui
.
dialog
.
overlay
.
resize
));
var
a
=
this
.
oldInstances
.
pop
()
||
e
(
"<div>"
).
addClass
(
"ui-widget-overlay"
);
return
e
(
document
).
bind
(
"keydown.dialog-overlay"
,
function
(
t
){
var
s
=
e
.
ui
.
dialog
.
overlay
.
instances
;
0
!==
s
.
length
&&
s
[
s
.
length
-
1
]
===
a
&&
i
.
options
.
closeOnEscape
&&!
t
.
isDefaultPrevented
()
&&
t
.
keyCode
&&
t
.
keyCode
===
e
.
ui
.
keyCode
.
ESCAPE
&&
(
i
.
close
(
t
),
t
.
preventDefault
())}),
a
.
appendTo
(
document
.
body
).
css
({
width
:
this
.
width
(),
height
:
this
.
height
()}),
e
.
fn
.
bgiframe
&&
a
.
bgiframe
(),
this
.
instances
.
push
(
a
),
a
},
destroy
:
function
(
t
){
var
i
=
e
.
inArray
(
t
,
this
.
instances
),
a
=
0
;
-
1
!==
i
&&
this
.
oldInstances
.
push
(
this
.
instances
.
splice
(
i
,
1
)[
0
]),
0
===
this
.
instances
.
length
&&
e
([
document
,
window
]).
unbind
(
".dialog-overlay"
),
t
.
height
(
0
).
width
(
0
).
remove
(),
e
.
each
(
this
.
instances
,
function
(){
a
=
Math
.
max
(
a
,
this
.
css
(
"z-index"
))}),
this
.
maxZ
=
a
},
height
:
function
(){
var
t
,
i
;
return
e
.
ui
.
ie
?
(
t
=
Math
.
max
(
document
.
documentElement
.
scrollHeight
,
document
.
body
.
scrollHeight
),
i
=
Math
.
max
(
document
.
documentElement
.
offsetHeight
,
document
.
body
.
offsetHeight
),
i
>
t
?
e
(
window
).
height
()
+
"px"
:
t
+
"px"
)
:
e
(
document
).
height
()
+
"px"
},
width
:
function
(){
var
t
,
i
;
return
e
.
ui
.
ie
?
(
t
=
Math
.
max
(
document
.
documentElement
.
scrollWidth
,
document
.
body
.
scrollWidth
),
i
=
Math
.
max
(
document
.
documentElement
.
offsetWidth
,
document
.
body
.
offsetWidth
),
i
>
t
?
e
(
window
).
width
()
+
"px"
:
t
+
"px"
)
:
e
(
document
).
width
()
+
"px"
},
resize
:
function
(){
var
t
=
e
([]);
e
.
each
(
e
.
ui
.
dialog
.
overlay
.
instances
,
function
(){
t
=
t
.
add
(
this
)}),
t
.
css
({
width
:
0
,
height
:
0
}).
css
({
width
:
e
.
ui
.
dialog
.
overlay
.
width
(),
height
:
e
.
ui
.
dialog
.
overlay
.
height
()})}}),
e
.
extend
(
e
.
ui
.
dialog
.
overlay
.
prototype
,{
destroy
:
function
(){
e
.
ui
.
dialog
.
overlay
.
destroy
(
this
.
$el
)}})})(
jQuery
);(
function
(
e
){
var
t
=!
1
;
e
.
widget
(
"ui.menu"
,{
version
:
"1.9.2"
,
defaultElement
:
"<ul>"
,
delay
:
300
,
options
:
{
icons
:
{
submenu
:
"ui-icon-carat-1-e"
},
menus
:
"ul"
,
position
:
{
my
:
"left top"
,
at
:
"right top"
},
role
:
"menu"
,
blur
:
null
,
focus
:
null
,
select
:
null
},
_create
:
function
(){
this
.
activeMenu
=
this
.
element
,
this
.
element
.
uniqueId
().
addClass
(
"ui-menu ui-widget ui-widget-content ui-corner-all"
).
toggleClass
(
"ui-menu-icons"
,
!!
this
.
element
.
find
(
".ui-icon"
).
length
).
attr
({
role
:
this
.
options
.
role
,
tabIndex
:
0
}).
bind
(
"click"
+
this
.
eventNamespace
,
e
.
proxy
(
function
(
e
){
this
.
options
.
disabled
&&
e
.
preventDefault
()},
this
)),
this
.
options
.
disabled
&&
this
.
element
.
addClass
(
"ui-state-disabled"
).
attr
(
"aria-disabled"
,
"true"
),
this
.
_on
({
"mousedown .ui-menu-item > a"
:
function
(
e
){
e
.
preventDefault
()},
"click .ui-state-disabled > a"
:
function
(
e
){
e
.
preventDefault
()},
"click .ui-menu-item:has(a)"
:
function
(
i
){
var
s
=
e
(
i
.
target
).
closest
(
".ui-menu-item"
);
!
t
&&
s
.
not
(
".ui-state-disabled"
).
length
&&
(
t
=!
0
,
this
.
select
(
i
),
s
.
has
(
".ui-menu"
).
length
?
this
.
expand
(
i
)
:
this
.
element
.
is
(
":focus"
)
||
(
this
.
element
.
trigger
(
"focus"
,[
!
0
]),
this
.
active
&&
1
===
this
.
active
.
parents
(
".ui-menu"
).
length
&&
clearTimeout
(
this
.
timer
)))},
"mouseenter .ui-menu-item"
:
function
(
t
){
var
i
=
e
(
t
.
currentTarget
);
i
.
siblings
().
children
(
".ui-state-active"
).
removeClass
(
"ui-state-active"
),
this
.
focus
(
t
,
i
)},
mouseleave
:
"collapseAll"
,
"mouseleave .ui-menu"
:
"collapseAll"
,
focus
:
function
(
e
,
t
){
var
i
=
this
.
active
||
this
.
element
.
children
(
".ui-menu-item"
).
eq
(
0
);
t
||
this
.
focus
(
e
,
i
)},
blur
:
function
(
t
){
this
.
_delay
(
function
(){
e
.
contains
(
this
.
element
[
0
],
this
.
document
[
0
].
activeElement
)
||
this
.
collapseAll
(
t
)})},
keydown
:
"_keydown"
}),
this
.
refresh
(),
this
.
_on
(
this
.
document
,{
click
:
function
(
i
){
e
(
i
.
target
).
closest
(
".ui-menu"
).
length
||
this
.
collapseAll
(
i
),
t
=!
1
}})},
_destroy
:
function
(){
this
.
element
.
removeAttr
(
"aria-activedescendant"
).
find
(
".ui-menu"
).
andSelf
().
removeClass
(
"ui-menu ui-widget ui-widget-content ui-corner-all ui-menu-icons"
).
removeAttr
(
"role"
).
removeAttr
(
"tabIndex"
).
removeAttr
(
"aria-labelledby"
).
removeAttr
(
"aria-expanded"
).
removeAttr
(
"aria-hidden"
).
removeAttr
(
"aria-disabled"
).
removeUniqueId
().
show
(),
this
.
element
.
find
(
".ui-menu-item"
).
removeClass
(
"ui-menu-item"
).
removeAttr
(
"role"
).
removeAttr
(
"aria-disabled"
).
children
(
"a"
).
removeUniqueId
().
removeClass
(
"ui-corner-all ui-state-hover"
).
removeAttr
(
"tabIndex"
).
removeAttr
(
"role"
).
removeAttr
(
"aria-haspopup"
).
children
().
each
(
function
(){
var
t
=
e
(
this
);
t
.
data
(
"ui-menu-submenu-carat"
)
&&
t
.
remove
()}),
this
.
element
.
find
(
".ui-menu-divider"
).
removeClass
(
"ui-menu-divider ui-widget-content"
)},
_keydown
:
function
(
t
){
function
i
(
e
){
return
e
.
replace
(
/[\-\[\]{}()*+?.,\\\^$|#\s]/g
,
"\\$&"
)}
var
s
,
a
,
n
,
r
,
o
,
h
=!
0
;
switch
(
t
.
keyCode
){
case
e
.
ui
.
keyCode
.
PAGE_UP
:
this
.
previousPage
(
t
);
break
;
case
e
.
ui
.
keyCode
.
PAGE_DOWN
:
this
.
nextPage
(
t
);
break
;
case
e
.
ui
.
keyCode
.
HOME
:
this
.
_move
(
"first"
,
"first"
,
t
);
break
;
case
e
.
ui
.
keyCode
.
END
:
this
.
_move
(
"last"
,
"last"
,
t
);
break
;
case
e
.
ui
.
keyCode
.
UP
:
this
.
previous
(
t
);
break
;
case
e
.
ui
.
keyCode
.
DOWN
:
this
.
next
(
t
);
break
;
case
e
.
ui
.
keyCode
.
LEFT
:
this
.
collapse
(
t
);
break
;
case
e
.
ui
.
keyCode
.
RIGHT
:
this
.
active
&&!
this
.
active
.
is
(
".ui-state-disabled"
)
&&
this
.
expand
(
t
);
break
;
case
e
.
ui
.
keyCode
.
ENTER
:
case
e
.
ui
.
keyCode
.
SPACE
:
this
.
_activate
(
t
);
break
;
case
e
.
ui
.
keyCode
.
ESCAPE
:
this
.
collapse
(
t
);
break
;
default
:
h
=!
1
,
a
=
this
.
previousFilter
||
""
,
n
=
String
.
fromCharCode
(
t
.
keyCode
),
r
=!
1
,
clearTimeout
(
this
.
filterTimer
),
n
===
a
?
r
=!
0
:
n
=
a
+
n
,
o
=
RegExp
(
"^"
+
i
(
n
),
"i"
),
s
=
this
.
activeMenu
.
children
(
".ui-menu-item"
).
filter
(
function
(){
return
o
.
test
(
e
(
this
).
children
(
"a"
).
text
())}),
s
=
r
&&-
1
!==
s
.
index
(
this
.
active
.
next
())
?
this
.
active
.
nextAll
(
".ui-menu-item"
)
:
s
,
s
.
length
||
(
n
=
String
.
fromCharCode
(
t
.
keyCode
),
o
=
RegExp
(
"^"
+
i
(
n
),
"i"
),
s
=
this
.
activeMenu
.
children
(
".ui-menu-item"
).
filter
(
function
(){
return
o
.
test
(
e
(
this
).
children
(
"a"
).
text
())})),
s
.
length
?
(
this
.
focus
(
t
,
s
),
s
.
length
>
1
?
(
this
.
previousFilter
=
n
,
this
.
filterTimer
=
this
.
_delay
(
function
(){
delete
this
.
previousFilter
},
1e3
))
:
delete
this
.
previousFilter
)
:
delete
this
.
previousFilter
}
h
&&
t
.
preventDefault
()},
_activate
:
function
(
e
){
this
.
active
.
is
(
".ui-state-disabled"
)
||
(
this
.
active
.
children
(
"a[aria-haspopup='true']"
).
length
?
this
.
expand
(
e
)
:
this
.
select
(
e
))},
refresh
:
function
(){
var
t
,
i
=
this
.
options
.
icons
.
submenu
,
s
=
this
.
element
.
find
(
this
.
options
.
menus
);
s
.
filter
(
":not(.ui-menu)"
).
addClass
(
"ui-menu ui-widget ui-widget-content ui-corner-all"
).
hide
().
attr
({
role
:
this
.
options
.
role
,
"aria-hidden"
:
"true"
,
"aria-expanded"
:
"false"
}).
each
(
function
(){
var
t
=
e
(
this
),
s
=
t
.
prev
(
"a"
),
a
=
e
(
"<span>"
).
addClass
(
"ui-menu-icon ui-icon "
+
i
).
data
(
"ui-menu-submenu-carat"
,
!
0
);
s
.
attr
(
"aria-haspopup"
,
"true"
).
prepend
(
a
),
t
.
attr
(
"aria-labelledby"
,
s
.
attr
(
"id"
))}),
t
=
s
.
add
(
this
.
element
),
t
.
children
(
":not(.ui-menu-item):has(a)"
).
addClass
(
"ui-menu-item"
).
attr
(
"role"
,
"presentation"
).
children
(
"a"
).
uniqueId
().
addClass
(
"ui-corner-all"
).
attr
({
tabIndex
:-
1
,
role
:
this
.
_itemRole
()}),
t
.
children
(
":not(.ui-menu-item)"
).
each
(
function
(){
var
t
=
e
(
this
);
/[^\-—–\s]/
.
test
(
t
.
text
())
||
t
.
addClass
(
"ui-widget-content ui-menu-divider"
)}),
t
.
children
(
".ui-state-disabled"
).
attr
(
"aria-disabled"
,
"true"
),
this
.
active
&&!
e
.
contains
(
this
.
element
[
0
],
this
.
active
[
0
])
&&
this
.
blur
()},
_itemRole
:
function
(){
return
{
menu
:
"menuitem"
,
listbox
:
"option"
}[
this
.
options
.
role
]},
focus
:
function
(
e
,
t
){
var
i
,
s
;
this
.
blur
(
e
,
e
&&
"focus"
===
e
.
type
),
this
.
_scrollIntoView
(
t
),
this
.
active
=
t
.
first
(),
s
=
this
.
active
.
children
(
"a"
).
addClass
(
"ui-state-focus"
),
this
.
options
.
role
&&
this
.
element
.
attr
(
"aria-activedescendant"
,
s
.
attr
(
"id"
)),
this
.
active
.
parent
().
closest
(
".ui-menu-item"
).
children
(
"a:first"
).
addClass
(
"ui-state-active"
),
e
&&
"keydown"
===
e
.
type
?
this
.
_close
()
:
this
.
timer
=
this
.
_delay
(
function
(){
this
.
_close
()},
this
.
delay
),
i
=
t
.
children
(
".ui-menu"
),
i
.
length
&&
/^mouse/
.
test
(
e
.
type
)
&&
this
.
_startOpening
(
i
),
this
.
activeMenu
=
t
.
parent
(),
this
.
_trigger
(
"focus"
,
e
,{
item
:
t
})},
_scrollIntoView
:
function
(
t
){
var
i
,
s
,
a
,
n
,
r
,
o
;
this
.
_hasScroll
()
&&
(
i
=
parseFloat
(
e
.
css
(
this
.
activeMenu
[
0
],
"borderTopWidth"
))
||
0
,
s
=
parseFloat
(
e
.
css
(
this
.
activeMenu
[
0
],
"paddingTop"
))
||
0
,
a
=
t
.
offset
().
top
-
this
.
activeMenu
.
offset
().
top
-
i
-
s
,
n
=
this
.
activeMenu
.
scrollTop
(),
r
=
this
.
activeMenu
.
height
(),
o
=
t
.
height
(),
0
>
a
?
this
.
activeMenu
.
scrollTop
(
n
+
a
)
:
a
+
o
>
r
&&
this
.
activeMenu
.
scrollTop
(
n
+
a
-
r
+
o
))},
blur
:
function
(
e
,
t
){
t
||
clearTimeout
(
this
.
timer
),
this
.
active
&&
(
this
.
active
.
children
(
"a"
).
removeClass
(
"ui-state-focus"
),
this
.
active
=
null
,
this
.
_trigger
(
"blur"
,
e
,{
item
:
this
.
active
}))},
_startOpening
:
function
(
e
){
clearTimeout
(
this
.
timer
),
"true"
===
e
.
attr
(
"aria-hidden"
)
&&
(
this
.
timer
=
this
.
_delay
(
function
(){
this
.
_close
(),
this
.
_open
(
e
)},
this
.
delay
))},
_open
:
function
(
t
){
var
i
=
e
.
extend
({
of
:
this
.
active
},
this
.
options
.
position
);
clearTimeout
(
this
.
timer
),
this
.
element
.
find
(
".ui-menu"
).
not
(
t
.
parents
(
".ui-menu"
)).
hide
().
attr
(
"aria-hidden"
,
"true"
),
t
.
show
().
removeAttr
(
"aria-hidden"
).
attr
(
"aria-expanded"
,
"true"
).
position
(
i
)},
collapseAll
:
function
(
t
,
i
){
clearTimeout
(
this
.
timer
),
this
.
timer
=
this
.
_delay
(
function
(){
var
s
=
i
?
this
.
element
:
e
(
t
&&
t
.
target
).
closest
(
this
.
element
.
find
(
".ui-menu"
));
s
.
length
||
(
s
=
this
.
element
),
this
.
_close
(
s
),
this
.
blur
(
t
),
this
.
activeMenu
=
s
},
this
.
delay
)},
_close
:
function
(
e
){
e
||
(
e
=
this
.
active
?
this
.
active
.
parent
()
:
this
.
element
),
e
.
find
(
".ui-menu"
).
hide
().
attr
(
"aria-hidden"
,
"true"
).
attr
(
"aria-expanded"
,
"false"
).
end
().
find
(
"a.ui-state-active"
).
removeClass
(
"ui-state-active"
)},
collapse
:
function
(
e
){
var
t
=
this
.
active
&&
this
.
active
.
parent
().
closest
(
".ui-menu-item"
,
this
.
element
);
t
&&
t
.
length
&&
(
this
.
_close
(),
this
.
focus
(
e
,
t
))},
expand
:
function
(
e
){
var
t
=
this
.
active
&&
this
.
active
.
children
(
".ui-menu "
).
children
(
".ui-menu-item"
).
first
();
t
&&
t
.
length
&&
(
this
.
_open
(
t
.
parent
()),
this
.
_delay
(
function
(){
this
.
focus
(
e
,
t
)}))},
next
:
function
(
e
){
this
.
_move
(
"next"
,
"first"
,
e
)},
previous
:
function
(
e
){
this
.
_move
(
"prev"
,
"last"
,
e
)},
isFirstItem
:
function
(){
return
this
.
active
&&!
this
.
active
.
prevAll
(
".ui-menu-item"
).
length
},
isLastItem
:
function
(){
return
this
.
active
&&!
this
.
active
.
nextAll
(
".ui-menu-item"
).
length
},
_move
:
function
(
e
,
t
,
i
){
var
s
;
this
.
active
&&
(
s
=
"first"
===
e
||
"last"
===
e
?
this
.
active
[
"first"
===
e
?
"prevAll"
:
"nextAll"
](
".ui-menu-item"
).
eq
(
-
1
)
:
this
.
active
[
e
+
"All"
](
".ui-menu-item"
).
eq
(
0
)),
s
&&
s
.
length
&&
this
.
active
||
(
s
=
this
.
activeMenu
.
children
(
".ui-menu-item"
)[
t
]()),
this
.
focus
(
i
,
s
)},
nextPage
:
function
(
t
){
var
i
,
s
,
a
;
return
this
.
active
?
(
this
.
isLastItem
()
||
(
this
.
_hasScroll
()
?
(
s
=
this
.
active
.
offset
().
top
,
a
=
this
.
element
.
height
(),
this
.
active
.
nextAll
(
".ui-menu-item"
).
each
(
function
(){
return
i
=
e
(
this
),
0
>
i
.
offset
().
top
-
s
-
a
}),
this
.
focus
(
t
,
i
))
:
this
.
focus
(
t
,
this
.
activeMenu
.
children
(
".ui-menu-item"
)[
this
.
active
?
"last"
:
"first"
]())),
undefined
)
:
(
this
.
next
(
t
),
undefined
)},
previousPage
:
function
(
t
){
var
i
,
s
,
a
;
return
this
.
active
?
(
this
.
isFirstItem
()
||
(
this
.
_hasScroll
()
?
(
s
=
this
.
active
.
offset
().
top
,
a
=
this
.
element
.
height
(),
this
.
active
.
prevAll
(
".ui-menu-item"
).
each
(
function
(){
return
i
=
e
(
this
),
i
.
offset
().
top
-
s
+
a
>
0
}),
this
.
focus
(
t
,
i
))
:
this
.
focus
(
t
,
this
.
activeMenu
.
children
(
".ui-menu-item"
).
first
())),
undefined
)
:
(
this
.
next
(
t
),
undefined
)},
_hasScroll
:
function
(){
return
this
.
element
.
outerHeight
()
<
this
.
element
.
prop
(
"scrollHeight"
)},
select
:
function
(
t
){
this
.
active
=
this
.
active
||
e
(
t
.
target
).
closest
(
".ui-menu-item"
);
var
i
=
{
item
:
this
.
active
};
this
.
active
.
has
(
".ui-menu"
).
length
||
this
.
collapseAll
(
t
,
!
0
),
this
.
_trigger
(
"select"
,
t
,
i
)}})})(
jQuery
);(
function
(
e
,
t
){
e
.
widget
(
"ui.progressbar"
,{
version
:
"1.9.2"
,
options
:
{
value
:
0
,
max
:
100
},
min
:
0
,
_create
:
function
(){
this
.
element
.
addClass
(
"ui-progressbar ui-widget ui-widget-content ui-corner-all"
).
attr
({
role
:
"progressbar"
,
"aria-valuemin"
:
this
.
min
,
"aria-valuemax"
:
this
.
options
.
max
,
"aria-valuenow"
:
this
.
_value
()}),
this
.
valueDiv
=
e
(
"<div class='ui-progressbar-value ui-widget-header ui-corner-left'></div>"
).
appendTo
(
this
.
element
),
this
.
oldValue
=
this
.
_value
(),
this
.
_refreshValue
()},
_destroy
:
function
(){
this
.
element
.
removeClass
(
"ui-progressbar ui-widget ui-widget-content ui-corner-all"
).
removeAttr
(
"role"
).
removeAttr
(
"aria-valuemin"
).
removeAttr
(
"aria-valuemax"
).
removeAttr
(
"aria-valuenow"
),
this
.
valueDiv
.
remove
()},
value
:
function
(
e
){
return
e
===
t
?
this
.
_value
()
:
(
this
.
_setOption
(
"value"
,
e
),
this
)},
_setOption
:
function
(
e
,
t
){
"value"
===
e
&&
(
this
.
options
.
value
=
t
,
this
.
_refreshValue
(),
this
.
_value
()
===
this
.
options
.
max
&&
this
.
_trigger
(
"complete"
)),
this
.
_super
(
e
,
t
)},
_value
:
function
(){
var
e
=
this
.
options
.
value
;
return
"number"
!=
typeof
e
&&
(
e
=
0
),
Math
.
min
(
this
.
options
.
max
,
Math
.
max
(
this
.
min
,
e
))},
_percentage
:
function
(){
return
100
*
this
.
_value
()
/
this
.
options
.
max
},
_refreshValue
:
function
(){
var
e
=
this
.
value
(),
t
=
this
.
_percentage
();
this
.
oldValue
!==
e
&&
(
this
.
oldValue
=
e
,
this
.
_trigger
(
"change"
)),
this
.
valueDiv
.
toggle
(
e
>
this
.
min
).
toggleClass
(
"ui-corner-right"
,
e
===
this
.
options
.
max
).
width
(
t
.
toFixed
(
0
)
+
"%"
),
this
.
element
.
attr
(
"aria-valuenow"
,
e
)}})})(
jQuery
);(
function
(
e
){
var
t
=
5
;
e
.
widget
(
"ui.slider"
,
e
.
ui
.
mouse
,{
version
:
"1.9.2"
,
widgetEventPrefix
:
"slide"
,
options
:
{
animate
:!
1
,
distance
:
0
,
max
:
100
,
min
:
0
,
orientation
:
"horizontal"
,
range
:!
1
,
step
:
1
,
value
:
0
,
values
:
null
},
_create
:
function
(){
var
i
,
s
,
a
=
this
.
options
,
n
=
this
.
element
.
find
(
".ui-slider-handle"
).
addClass
(
"ui-state-default ui-corner-all"
),
r
=
"<a class='ui-slider-handle ui-state-default ui-corner-all' href='#'></a>"
,
o
=
[];
for
(
this
.
_keySliding
=!
1
,
this
.
_mouseSliding
=!
1
,
this
.
_animateOff
=!
0
,
this
.
_handleIndex
=
null
,
this
.
_detectOrientation
(),
this
.
_mouseInit
(),
this
.
element
.
addClass
(
"ui-slider ui-slider-"
+
this
.
orientation
+
" ui-widget"
+
" ui-widget-content"
+
" ui-corner-all"
+
(
a
.
disabled
?
" ui-slider-disabled ui-disabled"
:
""
)),
this
.
range
=
e
([]),
a
.
range
&&
(
a
.
range
===!
0
&&
(
a
.
values
||
(
a
.
values
=
[
this
.
_valueMin
(),
this
.
_valueMin
()]),
a
.
values
.
length
&&
2
!==
a
.
values
.
length
&&
(
a
.
values
=
[
a
.
values
[
0
],
a
.
values
[
0
]])),
this
.
range
=
e
(
"<div></div>"
).
appendTo
(
this
.
element
).
addClass
(
"ui-slider-range ui-widget-header"
+
(
"min"
===
a
.
range
||
"max"
===
a
.
range
?
" ui-slider-range-"
+
a
.
range
:
""
))),
s
=
a
.
values
&&
a
.
values
.
length
||
1
,
i
=
n
.
length
;
s
>
i
;
i
++
)
o
.
push
(
r
);
this
.
handles
=
n
.
add
(
e
(
o
.
join
(
""
)).
appendTo
(
this
.
element
)),
this
.
handle
=
this
.
handles
.
eq
(
0
),
this
.
handles
.
add
(
this
.
range
).
filter
(
"a"
).
click
(
function
(
e
){
e
.
preventDefault
()}).
mouseenter
(
function
(){
a
.
disabled
||
e
(
this
).
addClass
(
"ui-state-hover"
)}).
mouseleave
(
function
(){
e
(
this
).
removeClass
(
"ui-state-hover"
)}).
focus
(
function
(){
a
.
disabled
?
e
(
this
).
blur
()
:
(
e
(
".ui-slider .ui-state-focus"
).
removeClass
(
"ui-state-focus"
),
e
(
this
).
addClass
(
"ui-state-focus"
))}).
blur
(
function
(){
e
(
this
).
removeClass
(
"ui-state-focus"
)}),
this
.
handles
.
each
(
function
(
t
){
e
(
this
).
data
(
"ui-slider-handle-index"
,
t
)}),
this
.
_on
(
this
.
handles
,{
keydown
:
function
(
i
){
var
s
,
a
,
n
,
r
,
o
=
e
(
i
.
target
).
data
(
"ui-slider-handle-index"
);
switch
(
i
.
keyCode
){
case
e
.
ui
.
keyCode
.
HOME
:
case
e
.
ui
.
keyCode
.
END
:
case
e
.
ui
.
keyCode
.
PAGE_UP
:
case
e
.
ui
.
keyCode
.
PAGE_DOWN
:
case
e
.
ui
.
keyCode
.
UP
:
case
e
.
ui
.
keyCode
.
RIGHT
:
case
e
.
ui
.
keyCode
.
DOWN
:
case
e
.
ui
.
keyCode
.
LEFT
:
if
(
i
.
preventDefault
(),
!
this
.
_keySliding
&&
(
this
.
_keySliding
=!
0
,
e
(
i
.
target
).
addClass
(
"ui-state-active"
),
s
=
this
.
_start
(
i
,
o
),
s
===!
1
))
return
}
switch
(
r
=
this
.
options
.
step
,
a
=
n
=
this
.
options
.
values
&&
this
.
options
.
values
.
length
?
this
.
values
(
o
)
:
this
.
value
(),
i
.
keyCode
){
case
e
.
ui
.
keyCode
.
HOME
:
n
=
this
.
_valueMin
();
break
;
case
e
.
ui
.
keyCode
.
END
:
n
=
this
.
_valueMax
();
break
;
case
e
.
ui
.
keyCode
.
PAGE_UP
:
n
=
this
.
_trimAlignValue
(
a
+
(
this
.
_valueMax
()
-
this
.
_valueMin
())
/
t
);
break
;
case
e
.
ui
.
keyCode
.
PAGE_DOWN
:
n
=
this
.
_trimAlignValue
(
a
-
(
this
.
_valueMax
()
-
this
.
_valueMin
())
/
t
);
break
;
case
e
.
ui
.
keyCode
.
UP
:
case
e
.
ui
.
keyCode
.
RIGHT
:
if
(
a
===
this
.
_valueMax
())
return
;
n
=
this
.
_trimAlignValue
(
a
+
r
);
break
;
case
e
.
ui
.
keyCode
.
DOWN
:
case
e
.
ui
.
keyCode
.
LEFT
:
if
(
a
===
this
.
_valueMin
())
return
;
n
=
this
.
_trimAlignValue
(
a
-
r
)}
this
.
_slide
(
i
,
o
,
n
)},
keyup
:
function
(
t
){
var
i
=
e
(
t
.
target
).
data
(
"ui-slider-handle-index"
);
this
.
_keySliding
&&
(
this
.
_keySliding
=!
1
,
this
.
_stop
(
t
,
i
),
this
.
_change
(
t
,
i
),
e
(
t
.
target
).
removeClass
(
"ui-state-active"
))}}),
this
.
_refreshValue
(),
this
.
_animateOff
=!
1
},
_destroy
:
function
(){
this
.
handles
.
remove
(),
this
.
range
.
remove
(),
this
.
element
.
removeClass
(
"ui-slider ui-slider-horizontal ui-slider-vertical ui-slider-disabled ui-widget ui-widget-content ui-corner-all"
),
this
.
_mouseDestroy
()},
_mouseCapture
:
function
(
t
){
var
i
,
s
,
a
,
n
,
r
,
o
,
h
,
l
,
u
=
this
,
d
=
this
.
options
;
return
d
.
disabled
?!
1
:
(
this
.
elementSize
=
{
width
:
this
.
element
.
outerWidth
(),
height
:
this
.
element
.
outerHeight
()},
this
.
elementOffset
=
this
.
element
.
offset
(),
i
=
{
x
:
t
.
pageX
,
y
:
t
.
pageY
},
s
=
this
.
_normValueFromMouse
(
i
),
a
=
this
.
_valueMax
()
-
this
.
_valueMin
()
+
1
,
this
.
handles
.
each
(
function
(
t
){
var
i
=
Math
.
abs
(
s
-
u
.
values
(
t
));
a
>
i
&&
(
a
=
i
,
n
=
e
(
this
),
r
=
t
)}),
d
.
range
===!
0
&&
this
.
values
(
1
)
===
d
.
min
&&
(
r
+=
1
,
n
=
e
(
this
.
handles
[
r
])),
o
=
this
.
_start
(
t
,
r
),
o
===!
1
?!
1
:
(
this
.
_mouseSliding
=!
0
,
this
.
_handleIndex
=
r
,
n
.
addClass
(
"ui-state-active"
).
focus
(),
h
=
n
.
offset
(),
l
=!
e
(
t
.
target
).
parents
().
andSelf
().
is
(
".ui-slider-handle"
),
this
.
_clickOffset
=
l
?
{
left
:
0
,
top
:
0
}
:
{
left
:
t
.
pageX
-
h
.
left
-
n
.
width
()
/
2
,
top
:
t
.
pageY
-
h
.
top
-
n
.
height
()
/
2
-
(
parseInt
(
n
.
css
(
"borderTopWidth"
),
10
)
||
0
)
-
(
parseInt
(
n
.
css
(
"borderBottomWidth"
),
10
)
||
0
)
+
(
parseInt
(
n
.
css
(
"marginTop"
),
10
)
||
0
)},
this
.
handles
.
hasClass
(
"ui-state-hover"
)
||
this
.
_slide
(
t
,
r
,
s
),
this
.
_animateOff
=!
0
,
!
0
))},
_mouseStart
:
function
(){
return
!
0
},
_mouseDrag
:
function
(
e
){
var
t
=
{
x
:
e
.
pageX
,
y
:
e
.
pageY
},
i
=
this
.
_normValueFromMouse
(
t
);
return
this
.
_slide
(
e
,
this
.
_handleIndex
,
i
),
!
1
},
_mouseStop
:
function
(
e
){
return
this
.
handles
.
removeClass
(
"ui-state-active"
),
this
.
_mouseSliding
=!
1
,
this
.
_stop
(
e
,
this
.
_handleIndex
),
this
.
_change
(
e
,
this
.
_handleIndex
),
this
.
_handleIndex
=
null
,
this
.
_clickOffset
=
null
,
this
.
_animateOff
=!
1
,
!
1
},
_detectOrientation
:
function
(){
this
.
orientation
=
"vertical"
===
this
.
options
.
orientation
?
"vertical"
:
"horizontal"
},
_normValueFromMouse
:
function
(
e
){
var
t
,
i
,
s
,
a
,
n
;
return
"horizontal"
===
this
.
orientation
?
(
t
=
this
.
elementSize
.
width
,
i
=
e
.
x
-
this
.
elementOffset
.
left
-
(
this
.
_clickOffset
?
this
.
_clickOffset
.
left
:
0
))
:
(
t
=
this
.
elementSize
.
height
,
i
=
e
.
y
-
this
.
elementOffset
.
top
-
(
this
.
_clickOffset
?
this
.
_clickOffset
.
top
:
0
)),
s
=
i
/
t
,
s
>
1
&&
(
s
=
1
),
0
>
s
&&
(
s
=
0
),
"vertical"
===
this
.
orientation
&&
(
s
=
1
-
s
),
a
=
this
.
_valueMax
()
-
this
.
_valueMin
(),
n
=
this
.
_valueMin
()
+
s
*
a
,
this
.
_trimAlignValue
(
n
)},
_start
:
function
(
e
,
t
){
var
i
=
{
handle
:
this
.
handles
[
t
],
value
:
this
.
value
()};
return
this
.
options
.
values
&&
this
.
options
.
values
.
length
&&
(
i
.
value
=
this
.
values
(
t
),
i
.
values
=
this
.
values
()),
this
.
_trigger
(
"start"
,
e
,
i
)},
_slide
:
function
(
e
,
t
,
i
){
var
s
,
a
,
n
;
this
.
options
.
values
&&
this
.
options
.
values
.
length
?
(
s
=
this
.
values
(
t
?
0
:
1
),
2
===
this
.
options
.
values
.
length
&&
this
.
options
.
range
===!
0
&&
(
0
===
t
&&
i
>
s
||
1
===
t
&&
s
>
i
)
&&
(
i
=
s
),
i
!==
this
.
values
(
t
)
&&
(
a
=
this
.
values
(),
a
[
t
]
=
i
,
n
=
this
.
_trigger
(
"slide"
,
e
,{
handle
:
this
.
handles
[
t
],
value
:
i
,
values
:
a
}),
s
=
this
.
values
(
t
?
0
:
1
),
n
!==!
1
&&
this
.
values
(
t
,
i
,
!
0
)))
:
i
!==
this
.
value
()
&&
(
n
=
this
.
_trigger
(
"slide"
,
e
,{
handle
:
this
.
handles
[
t
],
value
:
i
}),
n
!==!
1
&&
this
.
value
(
i
))},
_stop
:
function
(
e
,
t
){
var
i
=
{
handle
:
this
.
handles
[
t
],
value
:
this
.
value
()};
this
.
options
.
values
&&
this
.
options
.
values
.
length
&&
(
i
.
value
=
this
.
values
(
t
),
i
.
values
=
this
.
values
()),
this
.
_trigger
(
"stop"
,
e
,
i
)},
_change
:
function
(
e
,
t
){
if
(
!
this
.
_keySliding
&&!
this
.
_mouseSliding
){
var
i
=
{
handle
:
this
.
handles
[
t
],
value
:
this
.
value
()};
this
.
options
.
values
&&
this
.
options
.
values
.
length
&&
(
i
.
value
=
this
.
values
(
t
),
i
.
values
=
this
.
values
()),
this
.
_trigger
(
"change"
,
e
,
i
)}},
value
:
function
(
e
){
return
arguments
.
length
?
(
this
.
options
.
value
=
this
.
_trimAlignValue
(
e
),
this
.
_refreshValue
(),
this
.
_change
(
null
,
0
),
undefined
)
:
this
.
_value
()},
values
:
function
(
t
,
i
){
var
s
,
a
,
n
;
if
(
arguments
.
length
>
1
)
return
this
.
options
.
values
[
t
]
=
this
.
_trimAlignValue
(
i
),
this
.
_refreshValue
(),
this
.
_change
(
null
,
t
),
undefined
;
if
(
!
arguments
.
length
)
return
this
.
_values
();
if
(
!
e
.
isArray
(
arguments
[
0
]))
return
this
.
options
.
values
&&
this
.
options
.
values
.
length
?
this
.
_values
(
t
)
:
this
.
value
();
for
(
s
=
this
.
options
.
values
,
a
=
arguments
[
0
],
n
=
0
;
s
.
length
>
n
;
n
+=
1
)
s
[
n
]
=
this
.
_trimAlignValue
(
a
[
n
]),
this
.
_change
(
null
,
n
);
this
.
_refreshValue
()},
_setOption
:
function
(
t
,
i
){
var
s
,
a
=
0
;
switch
(
e
.
isArray
(
this
.
options
.
values
)
&&
(
a
=
this
.
options
.
values
.
length
),
e
.
Widget
.
prototype
.
_setOption
.
apply
(
this
,
arguments
),
t
){
case
"disabled"
:
i
?
(
this
.
handles
.
filter
(
".ui-state-focus"
).
blur
(),
this
.
handles
.
removeClass
(
"ui-state-hover"
),
this
.
handles
.
prop
(
"disabled"
,
!
0
),
this
.
element
.
addClass
(
"ui-disabled"
))
:
(
this
.
handles
.
prop
(
"disabled"
,
!
1
),
this
.
element
.
removeClass
(
"ui-disabled"
));
break
;
case
"orientation"
:
this
.
_detectOrientation
(),
this
.
element
.
removeClass
(
"ui-slider-horizontal ui-slider-vertical"
).
addClass
(
"ui-slider-"
+
this
.
orientation
),
this
.
_refreshValue
();
break
;
case
"value"
:
this
.
_animateOff
=!
0
,
this
.
_refreshValue
(),
this
.
_change
(
null
,
0
),
this
.
_animateOff
=!
1
;
break
;
case
"values"
:
for
(
this
.
_animateOff
=!
0
,
this
.
_refreshValue
(),
s
=
0
;
a
>
s
;
s
+=
1
)
this
.
_change
(
null
,
s
);
this
.
_animateOff
=!
1
;
break
;
case
"min"
:
case
"max"
:
this
.
_animateOff
=!
0
,
this
.
_refreshValue
(),
this
.
_animateOff
=!
1
}},
_value
:
function
(){
var
e
=
this
.
options
.
value
;
return
e
=
this
.
_trimAlignValue
(
e
)},
_values
:
function
(
e
){
var
t
,
i
,
s
;
if
(
arguments
.
length
)
return
t
=
this
.
options
.
values
[
e
],
t
=
this
.
_trimAlignValue
(
t
);
for
(
i
=
this
.
options
.
values
.
slice
(),
s
=
0
;
i
.
length
>
s
;
s
+=
1
)
i
[
s
]
=
this
.
_trimAlignValue
(
i
[
s
]);
return
i
},
_trimAlignValue
:
function
(
e
){
if
(
this
.
_valueMin
()
>=
e
)
return
this
.
_valueMin
();
if
(
e
>=
this
.
_valueMax
())
return
this
.
_valueMax
();
var
t
=
this
.
options
.
step
>
0
?
this
.
options
.
step
:
1
,
i
=
(
e
-
this
.
_valueMin
())
%
t
,
s
=
e
-
i
;
return
2
*
Math
.
abs
(
i
)
>=
t
&&
(
s
+=
i
>
0
?
t
:-
t
),
parseFloat
(
s
.
toFixed
(
5
))},
_valueMin
:
function
(){
return
this
.
options
.
min
},
_valueMax
:
function
(){
return
this
.
options
.
max
},
_refreshValue
:
function
(){
var
t
,
i
,
s
,
a
,
n
,
r
=
this
.
options
.
range
,
o
=
this
.
options
,
h
=
this
,
l
=
this
.
_animateOff
?!
1
:
o
.
animate
,
u
=
{};
this
.
options
.
values
&&
this
.
options
.
values
.
length
?
this
.
handles
.
each
(
function
(
s
){
i
=
100
*
((
h
.
values
(
s
)
-
h
.
_valueMin
())
/
(
h
.
_valueMax
()
-
h
.
_valueMin
())),
u
[
"horizontal"
===
h
.
orientation
?
"left"
:
"bottom"
]
=
i
+
"%"
,
e
(
this
).
stop
(
1
,
1
)[
l
?
"animate"
:
"css"
](
u
,
o
.
animate
),
h
.
options
.
range
===!
0
&&
(
"horizontal"
===
h
.
orientation
?
(
0
===
s
&&
h
.
range
.
stop
(
1
,
1
)[
l
?
"animate"
:
"css"
]({
left
:
i
+
"%"
},
o
.
animate
),
1
===
s
&&
h
.
range
[
l
?
"animate"
:
"css"
]({
width
:
i
-
t
+
"%"
},{
queue
:!
1
,
duration
:
o
.
animate
}))
:
(
0
===
s
&&
h
.
range
.
stop
(
1
,
1
)[
l
?
"animate"
:
"css"
]({
bottom
:
i
+
"%"
},
o
.
animate
),
1
===
s
&&
h
.
range
[
l
?
"animate"
:
"css"
]({
height
:
i
-
t
+
"%"
},{
queue
:!
1
,
duration
:
o
.
animate
}))),
t
=
i
})
:
(
s
=
this
.
value
(),
a
=
this
.
_valueMin
(),
n
=
this
.
_valueMax
(),
i
=
n
!==
a
?
100
*
((
s
-
a
)
/
(
n
-
a
))
:
0
,
u
[
"horizontal"
===
this
.
orientation
?
"left"
:
"bottom"
]
=
i
+
"%"
,
this
.
handle
.
stop
(
1
,
1
)[
l
?
"animate"
:
"css"
](
u
,
o
.
animate
),
"min"
===
r
&&
"horizontal"
===
this
.
orientation
&&
this
.
range
.
stop
(
1
,
1
)[
l
?
"animate"
:
"css"
]({
width
:
i
+
"%"
},
o
.
animate
),
"max"
===
r
&&
"horizontal"
===
this
.
orientation
&&
this
.
range
[
l
?
"animate"
:
"css"
]({
width
:
100
-
i
+
"%"
},{
queue
:!
1
,
duration
:
o
.
animate
}),
"min"
===
r
&&
"vertical"
===
this
.
orientation
&&
this
.
range
.
stop
(
1
,
1
)[
l
?
"animate"
:
"css"
]({
height
:
i
+
"%"
},
o
.
animate
),
"max"
===
r
&&
"vertical"
===
this
.
orientation
&&
this
.
range
[
l
?
"animate"
:
"css"
]({
height
:
100
-
i
+
"%"
},{
queue
:!
1
,
duration
:
o
.
animate
}))}})})(
jQuery
);(
function
(
e
){
function
t
(
e
){
return
function
(){
var
t
=
this
.
element
.
val
();
e
.
apply
(
this
,
arguments
),
this
.
_refresh
(),
t
!==
this
.
element
.
val
()
&&
this
.
_trigger
(
"change"
)}}
e
.
widget
(
"ui.spinner"
,{
version
:
"1.9.2"
,
defaultElement
:
"<input>"
,
widgetEventPrefix
:
"spin"
,
options
:
{
culture
:
null
,
icons
:
{
down
:
"ui-icon-triangle-1-s"
,
up
:
"ui-icon-triangle-1-n"
},
incremental
:!
0
,
max
:
null
,
min
:
null
,
numberFormat
:
null
,
page
:
10
,
step
:
1
,
change
:
null
,
spin
:
null
,
start
:
null
,
stop
:
null
},
_create
:
function
(){
this
.
_setOption
(
"max"
,
this
.
options
.
max
),
this
.
_setOption
(
"min"
,
this
.
options
.
min
),
this
.
_setOption
(
"step"
,
this
.
options
.
step
),
this
.
_value
(
this
.
element
.
val
(),
!
0
),
this
.
_draw
(),
this
.
_on
(
this
.
_events
),
this
.
_refresh
(),
this
.
_on
(
this
.
window
,{
beforeunload
:
function
(){
this
.
element
.
removeAttr
(
"autocomplete"
)}})},
_getCreateOptions
:
function
(){
var
t
=
{},
i
=
this
.
element
;
return
e
.
each
([
"min"
,
"max"
,
"step"
],
function
(
e
,
s
){
var
a
=
i
.
attr
(
s
);
void
0
!==
a
&&
a
.
length
&&
(
t
[
s
]
=
a
)}),
t
},
_events
:
{
keydown
:
function
(
e
){
this
.
_start
(
e
)
&&
this
.
_keydown
(
e
)
&&
e
.
preventDefault
()},
keyup
:
"_stop"
,
focus
:
function
(){
this
.
previous
=
this
.
element
.
val
()},
blur
:
function
(
e
){
return
this
.
cancelBlur
?
(
delete
this
.
cancelBlur
,
void
0
)
:
(
this
.
_refresh
(),
this
.
previous
!==
this
.
element
.
val
()
&&
this
.
_trigger
(
"change"
,
e
),
void
0
)},
mousewheel
:
function
(
e
,
t
){
if
(
t
){
if
(
!
this
.
spinning
&&!
this
.
_start
(
e
))
return
!
1
;
this
.
_spin
((
t
>
0
?
1
:-
1
)
*
this
.
options
.
step
,
e
),
clearTimeout
(
this
.
mousewheelTimer
),
this
.
mousewheelTimer
=
this
.
_delay
(
function
(){
this
.
spinning
&&
this
.
_stop
(
e
)},
100
),
e
.
preventDefault
()}},
"mousedown .ui-spinner-button"
:
function
(
t
){
function
i
(){
var
e
=
this
.
element
[
0
]
===
this
.
document
[
0
].
activeElement
;
e
||
(
this
.
element
.
focus
(),
this
.
previous
=
s
,
this
.
_delay
(
function
(){
this
.
previous
=
s
}))}
var
s
;
s
=
this
.
element
[
0
]
===
this
.
document
[
0
].
activeElement
?
this
.
previous
:
this
.
element
.
val
(),
t
.
preventDefault
(),
i
.
call
(
this
),
this
.
cancelBlur
=!
0
,
this
.
_delay
(
function
(){
delete
this
.
cancelBlur
,
i
.
call
(
this
)}),
this
.
_start
(
t
)
!==!
1
&&
this
.
_repeat
(
null
,
e
(
t
.
currentTarget
).
hasClass
(
"ui-spinner-up"
)
?
1
:-
1
,
t
)},
"mouseup .ui-spinner-button"
:
"_stop"
,
"mouseenter .ui-spinner-button"
:
function
(
t
){
return
e
(
t
.
currentTarget
).
hasClass
(
"ui-state-active"
)
?
this
.
_start
(
t
)
===!
1
?!
1
:
(
this
.
_repeat
(
null
,
e
(
t
.
currentTarget
).
hasClass
(
"ui-spinner-up"
)
?
1
:-
1
,
t
),
void
0
)
:
void
0
},
"mouseleave .ui-spinner-button"
:
"_stop"
},
_draw
:
function
(){
var
e
=
this
.
uiSpinner
=
this
.
element
.
addClass
(
"ui-spinner-input"
).
attr
(
"autocomplete"
,
"off"
).
wrap
(
this
.
_uiSpinnerHtml
()).
parent
().
append
(
this
.
_buttonHtml
());
this
.
element
.
attr
(
"role"
,
"spinbutton"
),
this
.
buttons
=
e
.
find
(
".ui-spinner-button"
).
attr
(
"tabIndex"
,
-
1
).
button
().
removeClass
(
"ui-corner-all"
),
this
.
buttons
.
height
()
>
Math
.
ceil
(
.5
*
e
.
height
())
&&
e
.
height
()
>
0
&&
e
.
height
(
e
.
height
()),
this
.
options
.
disabled
&&
this
.
disable
()},
_keydown
:
function
(
t
){
var
i
=
this
.
options
,
s
=
e
.
ui
.
keyCode
;
switch
(
t
.
keyCode
){
case
s
.
UP
:
return
this
.
_repeat
(
null
,
1
,
t
),
!
0
;
case
s
.
DOWN
:
return
this
.
_repeat
(
null
,
-
1
,
t
),
!
0
;
case
s
.
PAGE_UP
:
return
this
.
_repeat
(
null
,
i
.
page
,
t
),
!
0
;
case
s
.
PAGE_DOWN
:
return
this
.
_repeat
(
null
,
-
i
.
page
,
t
),
!
0
}
return
!
1
},
_uiSpinnerHtml
:
function
(){
return
"<span class='ui-spinner ui-widget ui-widget-content ui-corner-all'></span>"
},
_buttonHtml
:
function
(){
return
"<a class='ui-spinner-button ui-spinner-up ui-corner-tr'><span class='ui-icon "
+
this
.
options
.
icons
.
up
+
"'>▲</span>"
+
"</a>"
+
"<a class='ui-spinner-button ui-spinner-down ui-corner-br'>"
+
"<span class='ui-icon "
+
this
.
options
.
icons
.
down
+
"'>▼</span>"
+
"</a>"
},
_start
:
function
(
e
){
return
this
.
spinning
||
this
.
_trigger
(
"start"
,
e
)
!==!
1
?
(
this
.
counter
||
(
this
.
counter
=
1
),
this
.
spinning
=!
0
,
!
0
)
:!
1
},
_repeat
:
function
(
e
,
t
,
i
){
e
=
e
||
500
,
clearTimeout
(
this
.
timer
),
this
.
timer
=
this
.
_delay
(
function
(){
this
.
_repeat
(
40
,
t
,
i
)},
e
),
this
.
_spin
(
t
*
this
.
options
.
step
,
i
)},
_spin
:
function
(
e
,
t
){
var
i
=
this
.
value
()
||
0
;
this
.
counter
||
(
this
.
counter
=
1
),
i
=
this
.
_adjustValue
(
i
+
e
*
this
.
_increment
(
this
.
counter
)),
this
.
spinning
&&
this
.
_trigger
(
"spin"
,
t
,{
value
:
i
})
===!
1
||
(
this
.
_value
(
i
),
this
.
counter
++
)},
_increment
:
function
(
t
){
var
i
=
this
.
options
.
incremental
;
return
i
?
e
.
isFunction
(
i
)
?
i
(
t
)
:
Math
.
floor
(
t
*
t
*
t
/
5e4
-
t
*
t
/
500
+
17
*
t
/
200
+
1
)
:
1
},
_precision
:
function
(){
var
e
=
this
.
_precisionOf
(
this
.
options
.
step
);
return
null
!==
this
.
options
.
min
&&
(
e
=
Math
.
max
(
e
,
this
.
_precisionOf
(
this
.
options
.
min
))),
e
},
_precisionOf
:
function
(
e
){
var
t
=
""
+
e
,
i
=
t
.
indexOf
(
"."
);
return
-
1
===
i
?
0
:
t
.
length
-
i
-
1
},
_adjustValue
:
function
(
e
){
var
t
,
i
,
s
=
this
.
options
;
return
t
=
null
!==
s
.
min
?
s
.
min
:
0
,
i
=
e
-
t
,
i
=
Math
.
round
(
i
/
s
.
step
)
*
s
.
step
,
e
=
t
+
i
,
e
=
parseFloat
(
e
.
toFixed
(
this
.
_precision
())),
null
!==
s
.
max
&&
e
>
s
.
max
?
s
.
max
:
null
!==
s
.
min
&&
s
.
min
>
e
?
s
.
min
:
e
},
_stop
:
function
(
e
){
this
.
spinning
&&
(
clearTimeout
(
this
.
timer
),
clearTimeout
(
this
.
mousewheelTimer
),
this
.
counter
=
0
,
this
.
spinning
=!
1
,
this
.
_trigger
(
"stop"
,
e
))},
_setOption
:
function
(
e
,
t
){
if
(
"culture"
===
e
||
"numberFormat"
===
e
){
var
i
=
this
.
_parse
(
this
.
element
.
val
());
return
this
.
options
[
e
]
=
t
,
this
.
element
.
val
(
this
.
_format
(
i
)),
void
0
}(
"max"
===
e
||
"min"
===
e
||
"step"
===
e
)
&&
"string"
==
typeof
t
&&
(
t
=
this
.
_parse
(
t
)),
this
.
_super
(
e
,
t
),
"disabled"
===
e
&&
(
t
?
(
this
.
element
.
prop
(
"disabled"
,
!
0
),
this
.
buttons
.
button
(
"disable"
))
:
(
this
.
element
.
prop
(
"disabled"
,
!
1
),
this
.
buttons
.
button
(
"enable"
)))},
_setOptions
:
t
(
function
(
e
){
this
.
_super
(
e
),
this
.
_value
(
this
.
element
.
val
())}),
_parse
:
function
(
e
){
return
"string"
==
typeof
e
&&
""
!==
e
&&
(
e
=
window
.
Globalize
&&
this
.
options
.
numberFormat
?
Globalize
.
parseFloat
(
e
,
10
,
this
.
options
.
culture
)
:+
e
),
""
===
e
||
isNaN
(
e
)
?
null
:
e
},
_format
:
function
(
e
){
return
""
===
e
?
""
:
window
.
Globalize
&&
this
.
options
.
numberFormat
?
Globalize
.
format
(
e
,
this
.
options
.
numberFormat
,
this
.
options
.
culture
)
:
e
},
_refresh
:
function
(){
this
.
element
.
attr
({
"aria-valuemin"
:
this
.
options
.
min
,
"aria-valuemax"
:
this
.
options
.
max
,
"aria-valuenow"
:
this
.
_parse
(
this
.
element
.
val
())})},
_value
:
function
(
e
,
t
){
var
i
;
""
!==
e
&&
(
i
=
this
.
_parse
(
e
),
null
!==
i
&&
(
t
||
(
i
=
this
.
_adjustValue
(
i
)),
e
=
this
.
_format
(
i
))),
this
.
element
.
val
(
e
),
this
.
_refresh
()},
_destroy
:
function
(){
this
.
element
.
removeClass
(
"ui-spinner-input"
).
prop
(
"disabled"
,
!
1
).
removeAttr
(
"autocomplete"
).
removeAttr
(
"role"
).
removeAttr
(
"aria-valuemin"
).
removeAttr
(
"aria-valuemax"
).
removeAttr
(
"aria-valuenow"
),
this
.
uiSpinner
.
replaceWith
(
this
.
element
)},
stepUp
:
t
(
function
(
e
){
this
.
_stepUp
(
e
)}),
_stepUp
:
function
(
e
){
this
.
_spin
((
e
||
1
)
*
this
.
options
.
step
)},
stepDown
:
t
(
function
(
e
){
this
.
_stepDown
(
e
)}),
_stepDown
:
function
(
e
){
this
.
_spin
((
e
||
1
)
*-
this
.
options
.
step
)},
pageUp
:
t
(
function
(
e
){
this
.
_stepUp
((
e
||
1
)
*
this
.
options
.
page
)}),
pageDown
:
t
(
function
(
e
){
this
.
_stepDown
((
e
||
1
)
*
this
.
options
.
page
)}),
value
:
function
(
e
){
return
arguments
.
length
?
(
t
(
this
.
_value
).
call
(
this
,
e
),
void
0
)
:
this
.
_parse
(
this
.
element
.
val
())},
widget
:
function
(){
return
this
.
uiSpinner
}})})(
jQuery
);(
function
(
e
,
t
){
function
i
(){
return
++
a
}
function
s
(
e
){
return
e
.
hash
.
length
>
1
&&
e
.
href
.
replace
(
n
,
""
)
===
location
.
href
.
replace
(
n
,
""
).
replace
(
/\s/g
,
"%20"
)}
var
a
=
0
,
n
=
/#.*$/
;
e
.
widget
(
"ui.tabs"
,{
version
:
"1.9.2"
,
delay
:
300
,
options
:
{
active
:
null
,
collapsible
:!
1
,
event
:
"click"
,
heightStyle
:
"content"
,
hide
:
null
,
show
:
null
,
activate
:
null
,
beforeActivate
:
null
,
beforeLoad
:
null
,
load
:
null
},
_create
:
function
(){
var
i
=
this
,
s
=
this
.
options
,
a
=
s
.
active
,
n
=
location
.
hash
.
substring
(
1
);
this
.
running
=!
1
,
this
.
element
.
addClass
(
"ui-tabs ui-widget ui-widget-content ui-corner-all"
).
toggleClass
(
"ui-tabs-collapsible"
,
s
.
collapsible
).
delegate
(
".ui-tabs-nav > li"
,
"mousedown"
+
this
.
eventNamespace
,
function
(
t
){
e
(
this
).
is
(
".ui-state-disabled"
)
&&
t
.
preventDefault
()}).
delegate
(
".ui-tabs-anchor"
,
"focus"
+
this
.
eventNamespace
,
function
(){
e
(
this
).
closest
(
"li"
).
is
(
".ui-state-disabled"
)
&&
this
.
blur
()}),
this
.
_processTabs
(),
null
===
a
&&
(
n
&&
this
.
tabs
.
each
(
function
(
i
,
s
){
return
e
(
s
).
attr
(
"aria-controls"
)
===
n
?
(
a
=
i
,
!
1
)
:
t
}),
null
===
a
&&
(
a
=
this
.
tabs
.
index
(
this
.
tabs
.
filter
(
".ui-tabs-active"
))),(
null
===
a
||-
1
===
a
)
&&
(
a
=
this
.
tabs
.
length
?
0
:!
1
)),
a
!==!
1
&&
(
a
=
this
.
tabs
.
index
(
this
.
tabs
.
eq
(
a
)),
-
1
===
a
&&
(
a
=
s
.
collapsible
?!
1
:
0
)),
s
.
active
=
a
,
!
s
.
collapsible
&&
s
.
active
===!
1
&&
this
.
anchors
.
length
&&
(
s
.
active
=
0
),
e
.
isArray
(
s
.
disabled
)
&&
(
s
.
disabled
=
e
.
unique
(
s
.
disabled
.
concat
(
e
.
map
(
this
.
tabs
.
filter
(
".ui-state-disabled"
),
function
(
e
){
return
i
.
tabs
.
index
(
e
)}))).
sort
()),
this
.
active
=
this
.
options
.
active
!==!
1
&&
this
.
anchors
.
length
?
this
.
_findActive
(
this
.
options
.
active
)
:
e
(),
this
.
_refresh
(),
this
.
active
.
length
&&
this
.
load
(
s
.
active
)},
_getCreateEventData
:
function
(){
return
{
tab
:
this
.
active
,
panel
:
this
.
active
.
length
?
this
.
_getPanelForTab
(
this
.
active
)
:
e
()}},
_tabKeydown
:
function
(
i
){
var
s
=
e
(
this
.
document
[
0
].
activeElement
).
closest
(
"li"
),
a
=
this
.
tabs
.
index
(
s
),
n
=!
0
;
if
(
!
this
.
_handlePageNav
(
i
)){
switch
(
i
.
keyCode
){
case
e
.
ui
.
keyCode
.
RIGHT
:
case
e
.
ui
.
keyCode
.
DOWN
:
a
++
;
break
;
case
e
.
ui
.
keyCode
.
UP
:
case
e
.
ui
.
keyCode
.
LEFT
:
n
=!
1
,
a
--
;
break
;
case
e
.
ui
.
keyCode
.
END
:
a
=
this
.
anchors
.
length
-
1
;
break
;
case
e
.
ui
.
keyCode
.
HOME
:
a
=
0
;
break
;
case
e
.
ui
.
keyCode
.
SPACE
:
return
i
.
preventDefault
(),
clearTimeout
(
this
.
activating
),
this
.
_activate
(
a
),
t
;
case
e
.
ui
.
keyCode
.
ENTER
:
return
i
.
preventDefault
(),
clearTimeout
(
this
.
activating
),
this
.
_activate
(
a
===
this
.
options
.
active
?!
1
:
a
),
t
;
default
:
return
}
i
.
preventDefault
(),
clearTimeout
(
this
.
activating
),
a
=
this
.
_focusNextTab
(
a
,
n
),
i
.
ctrlKey
||
(
s
.
attr
(
"aria-selected"
,
"false"
),
this
.
tabs
.
eq
(
a
).
attr
(
"aria-selected"
,
"true"
),
this
.
activating
=
this
.
_delay
(
function
(){
this
.
option
(
"active"
,
a
)},
this
.
delay
))}},
_panelKeydown
:
function
(
t
){
this
.
_handlePageNav
(
t
)
||
t
.
ctrlKey
&&
t
.
keyCode
===
e
.
ui
.
keyCode
.
UP
&&
(
t
.
preventDefault
(),
this
.
active
.
focus
())},
_handlePageNav
:
function
(
i
){
return
i
.
altKey
&&
i
.
keyCode
===
e
.
ui
.
keyCode
.
PAGE_UP
?
(
this
.
_activate
(
this
.
_focusNextTab
(
this
.
options
.
active
-
1
,
!
1
)),
!
0
)
:
i
.
altKey
&&
i
.
keyCode
===
e
.
ui
.
keyCode
.
PAGE_DOWN
?
(
this
.
_activate
(
this
.
_focusNextTab
(
this
.
options
.
active
+
1
,
!
0
)),
!
0
)
:
t
},
_findNextTab
:
function
(
t
,
i
){
function
s
(){
return
t
>
a
&&
(
t
=
0
),
0
>
t
&&
(
t
=
a
),
t
}
for
(
var
a
=
this
.
tabs
.
length
-
1
;
-
1
!==
e
.
inArray
(
s
(),
this
.
options
.
disabled
);)
t
=
i
?
t
+
1
:
t
-
1
;
return
t
},
_focusNextTab
:
function
(
e
,
t
){
return
e
=
this
.
_findNextTab
(
e
,
t
),
this
.
tabs
.
eq
(
e
).
focus
(),
e
},
_setOption
:
function
(
e
,
i
){
return
"active"
===
e
?
(
this
.
_activate
(
i
),
t
)
:
"disabled"
===
e
?
(
this
.
_setupDisabled
(
i
),
t
)
:
(
this
.
_super
(
e
,
i
),
"collapsible"
===
e
&&
(
this
.
element
.
toggleClass
(
"ui-tabs-collapsible"
,
i
),
i
||
this
.
options
.
active
!==!
1
||
this
.
_activate
(
0
)),
"event"
===
e
&&
this
.
_setupEvents
(
i
),
"heightStyle"
===
e
&&
this
.
_setupHeightStyle
(
i
),
t
)},
_tabId
:
function
(
e
){
return
e
.
attr
(
"aria-controls"
)
||
"ui-tabs-"
+
i
()},
_sanitizeSelector
:
function
(
e
){
return
e
?
e
.
replace
(
/[!"$%&'()*+,.\/:;<=>?@\[\]\^`{|}~]/g
,
"\\$&"
)
:
""
},
refresh
:
function
(){
var
t
=
this
.
options
,
i
=
this
.
tablist
.
children
(
":has(a[href])"
);
t
.
disabled
=
e
.
map
(
i
.
filter
(
".ui-state-disabled"
),
function
(
e
){
return
i
.
index
(
e
)}),
this
.
_processTabs
(),
t
.
active
!==!
1
&&
this
.
anchors
.
length
?
this
.
active
.
length
&&!
e
.
contains
(
this
.
tablist
[
0
],
this
.
active
[
0
])
?
this
.
tabs
.
length
===
t
.
disabled
.
length
?
(
t
.
active
=!
1
,
this
.
active
=
e
())
:
this
.
_activate
(
this
.
_findNextTab
(
Math
.
max
(
0
,
t
.
active
-
1
),
!
1
))
:
t
.
active
=
this
.
tabs
.
index
(
this
.
active
)
:
(
t
.
active
=!
1
,
this
.
active
=
e
()),
this
.
_refresh
()},
_refresh
:
function
(){
this
.
_setupDisabled
(
this
.
options
.
disabled
),
this
.
_setupEvents
(
this
.
options
.
event
),
this
.
_setupHeightStyle
(
this
.
options
.
heightStyle
),
this
.
tabs
.
not
(
this
.
active
).
attr
({
"aria-selected"
:
"false"
,
tabIndex
:-
1
}),
this
.
panels
.
not
(
this
.
_getPanelForTab
(
this
.
active
)).
hide
().
attr
({
"aria-expanded"
:
"false"
,
"aria-hidden"
:
"true"
}),
this
.
active
.
length
?
(
this
.
active
.
addClass
(
"ui-tabs-active ui-state-active"
).
attr
({
"aria-selected"
:
"true"
,
tabIndex
:
0
}),
this
.
_getPanelForTab
(
this
.
active
).
show
().
attr
({
"aria-expanded"
:
"true"
,
"aria-hidden"
:
"false"
}))
:
this
.
tabs
.
eq
(
0
).
attr
(
"tabIndex"
,
0
)},
_processTabs
:
function
(){
var
t
=
this
;
this
.
tablist
=
this
.
_getList
().
addClass
(
"ui-tabs-nav ui-helper-reset ui-helper-clearfix ui-widget-header ui-corner-all"
).
attr
(
"role"
,
"tablist"
),
this
.
tabs
=
this
.
tablist
.
find
(
"> li:has(a[href])"
).
addClass
(
"ui-state-default ui-corner-top"
).
attr
({
role
:
"tab"
,
tabIndex
:-
1
}),
this
.
anchors
=
this
.
tabs
.
map
(
function
(){
return
e
(
"a"
,
this
)[
0
]}).
addClass
(
"ui-tabs-anchor"
).
attr
({
role
:
"presentation"
,
tabIndex
:-
1
}),
this
.
panels
=
e
(),
this
.
anchors
.
each
(
function
(
i
,
a
){
var
n
,
r
,
o
,
h
=
e
(
a
).
uniqueId
().
attr
(
"id"
),
l
=
e
(
a
).
closest
(
"li"
),
u
=
l
.
attr
(
"aria-controls"
);
s
(
a
)
?
(
n
=
a
.
hash
,
r
=
t
.
element
.
find
(
t
.
_sanitizeSelector
(
n
)))
:
(
o
=
t
.
_tabId
(
l
),
n
=
"#"
+
o
,
r
=
t
.
element
.
find
(
n
),
r
.
length
||
(
r
=
t
.
_createPanel
(
o
),
r
.
insertAfter
(
t
.
panels
[
i
-
1
]
||
t
.
tablist
)),
r
.
attr
(
"aria-live"
,
"polite"
)),
r
.
length
&&
(
t
.
panels
=
t
.
panels
.
add
(
r
)),
u
&&
l
.
data
(
"ui-tabs-aria-controls"
,
u
),
l
.
attr
({
"aria-controls"
:
n
.
substring
(
1
),
"aria-labelledby"
:
h
}),
r
.
attr
(
"aria-labelledby"
,
h
)}),
this
.
panels
.
addClass
(
"ui-tabs-panel ui-widget-content ui-corner-bottom"
).
attr
(
"role"
,
"tabpanel"
)},
_getList
:
function
(){
return
this
.
element
.
find
(
"ol,ul"
).
eq
(
0
)},
_createPanel
:
function
(
t
){
return
e
(
"<div>"
).
attr
(
"id"
,
t
).
addClass
(
"ui-tabs-panel ui-widget-content ui-corner-bottom"
).
data
(
"ui-tabs-destroy"
,
!
0
)},
_setupDisabled
:
function
(
t
){
e
.
isArray
(
t
)
&&
(
t
.
length
?
t
.
length
===
this
.
anchors
.
length
&&
(
t
=!
0
)
:
t
=!
1
);
for
(
var
i
,
s
=
0
;
i
=
this
.
tabs
[
s
];
s
++
)
t
===!
0
||-
1
!==
e
.
inArray
(
s
,
t
)
?
e
(
i
).
addClass
(
"ui-state-disabled"
).
attr
(
"aria-disabled"
,
"true"
)
:
e
(
i
).
removeClass
(
"ui-state-disabled"
).
removeAttr
(
"aria-disabled"
);
this
.
options
.
disabled
=
t
},
_setupEvents
:
function
(
t
){
var
i
=
{
click
:
function
(
e
){
e
.
preventDefault
()}};
t
&&
e
.
each
(
t
.
split
(
" "
),
function
(
e
,
t
){
i
[
t
]
=
"_eventHandler"
}),
this
.
_off
(
this
.
anchors
.
add
(
this
.
tabs
).
add
(
this
.
panels
)),
this
.
_on
(
this
.
anchors
,
i
),
this
.
_on
(
this
.
tabs
,{
keydown
:
"_tabKeydown"
}),
this
.
_on
(
this
.
panels
,{
keydown
:
"_panelKeydown"
}),
this
.
_focusable
(
this
.
tabs
),
this
.
_hoverable
(
this
.
tabs
)},
_setupHeightStyle
:
function
(
t
){
var
i
,
s
,
a
=
this
.
element
.
parent
();
"fill"
===
t
?
(
e
.
support
.
minHeight
||
(
s
=
a
.
css
(
"overflow"
),
a
.
css
(
"overflow"
,
"hidden"
)),
i
=
a
.
height
(),
this
.
element
.
siblings
(
":visible"
).
each
(
function
(){
var
t
=
e
(
this
),
s
=
t
.
css
(
"position"
);
"absolute"
!==
s
&&
"fixed"
!==
s
&&
(
i
-=
t
.
outerHeight
(
!
0
))}),
s
&&
a
.
css
(
"overflow"
,
s
),
this
.
element
.
children
().
not
(
this
.
panels
).
each
(
function
(){
i
-=
e
(
this
).
outerHeight
(
!
0
)}),
this
.
panels
.
each
(
function
(){
e
(
this
).
height
(
Math
.
max
(
0
,
i
-
e
(
this
).
innerHeight
()
+
e
(
this
).
height
()))}).
css
(
"overflow"
,
"auto"
))
:
"auto"
===
t
&&
(
i
=
0
,
this
.
panels
.
each
(
function
(){
i
=
Math
.
max
(
i
,
e
(
this
).
height
(
""
).
height
())}).
height
(
i
))},
_eventHandler
:
function
(
t
){
var
i
=
this
.
options
,
s
=
this
.
active
,
a
=
e
(
t
.
currentTarget
),
n
=
a
.
closest
(
"li"
),
r
=
n
[
0
]
===
s
[
0
],
o
=
r
&&
i
.
collapsible
,
h
=
o
?
e
()
:
this
.
_getPanelForTab
(
n
),
l
=
s
.
length
?
this
.
_getPanelForTab
(
s
)
:
e
(),
u
=
{
oldTab
:
s
,
oldPanel
:
l
,
newTab
:
o
?
e
()
:
n
,
newPanel
:
h
};
t
.
preventDefault
(),
n
.
hasClass
(
"ui-state-disabled"
)
||
n
.
hasClass
(
"ui-tabs-loading"
)
||
this
.
running
||
r
&&!
i
.
collapsible
||
this
.
_trigger
(
"beforeActivate"
,
t
,
u
)
===!
1
||
(
i
.
active
=
o
?!
1
:
this
.
tabs
.
index
(
n
),
this
.
active
=
r
?
e
()
:
n
,
this
.
xhr
&&
this
.
xhr
.
abort
(),
l
.
length
||
h
.
length
||
e
.
error
(
"jQuery UI Tabs: Mismatching fragment identifier."
),
h
.
length
&&
this
.
load
(
this
.
tabs
.
index
(
n
),
t
),
this
.
_toggle
(
t
,
u
))},
_toggle
:
function
(
t
,
i
){
function
s
(){
n
.
running
=!
1
,
n
.
_trigger
(
"activate"
,
t
,
i
)}
function
a
(){
i
.
newTab
.
closest
(
"li"
).
addClass
(
"ui-tabs-active ui-state-active"
),
r
.
length
&&
n
.
options
.
show
?
n
.
_show
(
r
,
n
.
options
.
show
,
s
)
:
(
r
.
show
(),
s
())}
var
n
=
this
,
r
=
i
.
newPanel
,
o
=
i
.
oldPanel
;
this
.
running
=!
0
,
o
.
length
&&
this
.
options
.
hide
?
this
.
_hide
(
o
,
this
.
options
.
hide
,
function
(){
i
.
oldTab
.
closest
(
"li"
).
removeClass
(
"ui-tabs-active ui-state-active"
),
a
()})
:
(
i
.
oldTab
.
closest
(
"li"
).
removeClass
(
"ui-tabs-active ui-state-active"
),
o
.
hide
(),
a
()),
o
.
attr
({
"aria-expanded"
:
"false"
,
"aria-hidden"
:
"true"
}),
i
.
oldTab
.
attr
(
"aria-selected"
,
"false"
),
r
.
length
&&
o
.
length
?
i
.
oldTab
.
attr
(
"tabIndex"
,
-
1
)
:
r
.
length
&&
this
.
tabs
.
filter
(
function
(){
return
0
===
e
(
this
).
attr
(
"tabIndex"
)}).
attr
(
"tabIndex"
,
-
1
),
r
.
attr
({
"aria-expanded"
:
"true"
,
"aria-hidden"
:
"false"
}),
i
.
newTab
.
attr
({
"aria-selected"
:
"true"
,
tabIndex
:
0
})},
_activate
:
function
(
t
){
var
i
,
s
=
this
.
_findActive
(
t
);
s
[
0
]
!==
this
.
active
[
0
]
&&
(
s
.
length
||
(
s
=
this
.
active
),
i
=
s
.
find
(
".ui-tabs-anchor"
)[
0
],
this
.
_eventHandler
({
target
:
i
,
currentTarget
:
i
,
preventDefault
:
e
.
noop
}))},
_findActive
:
function
(
t
){
return
t
===!
1
?
e
()
:
this
.
tabs
.
eq
(
t
)},
_getIndex
:
function
(
e
){
return
"string"
==
typeof
e
&&
(
e
=
this
.
anchors
.
index
(
this
.
anchors
.
filter
(
"[href$='"
+
e
+
"']"
))),
e
},
_destroy
:
function
(){
this
.
xhr
&&
this
.
xhr
.
abort
(),
this
.
element
.
removeClass
(
"ui-tabs ui-widget ui-widget-content ui-corner-all ui-tabs-collapsible"
),
this
.
tablist
.
removeClass
(
"ui-tabs-nav ui-helper-reset ui-helper-clearfix ui-widget-header ui-corner-all"
).
removeAttr
(
"role"
),
this
.
anchors
.
removeClass
(
"ui-tabs-anchor"
).
removeAttr
(
"role"
).
removeAttr
(
"tabIndex"
).
removeData
(
"href.tabs"
).
removeData
(
"load.tabs"
).
removeUniqueId
(),
this
.
tabs
.
add
(
this
.
panels
).
each
(
function
(){
e
.
data
(
this
,
"ui-tabs-destroy"
)
?
e
(
this
).
remove
()
:
e
(
this
).
removeClass
(
"ui-state-default ui-state-active ui-state-disabled ui-corner-top ui-corner-bottom ui-widget-content ui-tabs-active ui-tabs-panel"
).
removeAttr
(
"tabIndex"
).
removeAttr
(
"aria-live"
).
removeAttr
(
"aria-busy"
).
removeAttr
(
"aria-selected"
).
removeAttr
(
"aria-labelledby"
).
removeAttr
(
"aria-hidden"
).
removeAttr
(
"aria-expanded"
).
removeAttr
(
"role"
)}),
this
.
tabs
.
each
(
function
(){
var
t
=
e
(
this
),
i
=
t
.
data
(
"ui-tabs-aria-controls"
);
i
?
t
.
attr
(
"aria-controls"
,
i
)
:
t
.
removeAttr
(
"aria-controls"
)}),
this
.
panels
.
show
(),
"content"
!==
this
.
options
.
heightStyle
&&
this
.
panels
.
css
(
"height"
,
""
)},
enable
:
function
(
i
){
var
s
=
this
.
options
.
disabled
;
s
!==!
1
&&
(
i
===
t
?
s
=!
1
:
(
i
=
this
.
_getIndex
(
i
),
s
=
e
.
isArray
(
s
)
?
e
.
map
(
s
,
function
(
e
){
return
e
!==
i
?
e
:
null
})
:
e
.
map
(
this
.
tabs
,
function
(
e
,
t
){
return
t
!==
i
?
t
:
null
})),
this
.
_setupDisabled
(
s
))},
disable
:
function
(
i
){
var
s
=
this
.
options
.
disabled
;
if
(
s
!==!
0
){
if
(
i
===
t
)
s
=!
0
;
else
{
if
(
i
=
this
.
_getIndex
(
i
),
-
1
!==
e
.
inArray
(
i
,
s
))
return
;
s
=
e
.
isArray
(
s
)
?
e
.
merge
([
i
],
s
).
sort
()
:
[
i
]}
this
.
_setupDisabled
(
s
)}},
load
:
function
(
t
,
i
){
t
=
this
.
_getIndex
(
t
);
var
a
=
this
,
n
=
this
.
tabs
.
eq
(
t
),
r
=
n
.
find
(
".ui-tabs-anchor"
),
o
=
this
.
_getPanelForTab
(
n
),
h
=
{
tab
:
n
,
panel
:
o
};
s
(
r
[
0
])
||
(
this
.
xhr
=
e
.
ajax
(
this
.
_ajaxSettings
(
r
,
i
,
h
)),
this
.
xhr
&&
"canceled"
!==
this
.
xhr
.
statusText
&&
(
n
.
addClass
(
"ui-tabs-loading"
),
o
.
attr
(
"aria-busy"
,
"true"
),
this
.
xhr
.
success
(
function
(
e
){
setTimeout
(
function
(){
o
.
html
(
e
),
a
.
_trigger
(
"load"
,
i
,
h
)},
1
)}).
complete
(
function
(
e
,
t
){
setTimeout
(
function
(){
"abort"
===
t
&&
a
.
panels
.
stop
(
!
1
,
!
0
),
n
.
removeClass
(
"ui-tabs-loading"
),
o
.
removeAttr
(
"aria-busy"
),
e
===
a
.
xhr
&&
delete
a
.
xhr
},
1
)})))},
_ajaxSettings
:
function
(
t
,
i
,
s
){
var
a
=
this
;
return
{
url
:
t
.
attr
(
"href"
),
beforeSend
:
function
(
t
,
n
){
return
a
.
_trigger
(
"beforeLoad"
,
i
,
e
.
extend
({
jqXHR
:
t
,
ajaxSettings
:
n
},
s
))}}},
_getPanelForTab
:
function
(
t
){
var
i
=
e
(
t
).
attr
(
"aria-controls"
);
return
this
.
element
.
find
(
this
.
_sanitizeSelector
(
"#"
+
i
))}}),
e
.
uiBackCompat
!==!
1
&&
(
e
.
ui
.
tabs
.
prototype
.
_ui
=
function
(
e
,
t
){
return
{
tab
:
e
,
panel
:
t
,
index
:
this
.
anchors
.
index
(
e
)}},
e
.
widget
(
"ui.tabs"
,
e
.
ui
.
tabs
,{
url
:
function
(
e
,
t
){
this
.
anchors
.
eq
(
e
).
attr
(
"href"
,
t
)}}),
e
.
widget
(
"ui.tabs"
,
e
.
ui
.
tabs
,{
options
:
{
ajaxOptions
:
null
,
cache
:!
1
},
_create
:
function
(){
this
.
_super
();
var
i
=
this
;
this
.
_on
({
tabsbeforeload
:
function
(
s
,
a
){
return
e
.
data
(
a
.
tab
[
0
],
"cache.tabs"
)
?
(
s
.
preventDefault
(),
t
)
:
(
a
.
jqXHR
.
success
(
function
(){
i
.
options
.
cache
&&
e
.
data
(
a
.
tab
[
0
],
"cache.tabs"
,
!
0
)}),
t
)}})},
_ajaxSettings
:
function
(
t
,
i
,
s
){
var
a
=
this
.
options
.
ajaxOptions
;
return
e
.
extend
({},
a
,{
error
:
function
(
e
,
t
){
try
{
a
.
error
(
e
,
t
,
s
.
tab
.
closest
(
"li"
).
index
(),
s
.
tab
[
0
])}
catch
(
i
){}}},
this
.
_superApply
(
arguments
))},
_setOption
:
function
(
e
,
t
){
"cache"
===
e
&&
t
===!
1
&&
this
.
anchors
.
removeData
(
"cache.tabs"
),
this
.
_super
(
e
,
t
)},
_destroy
:
function
(){
this
.
anchors
.
removeData
(
"cache.tabs"
),
this
.
_super
()},
url
:
function
(
e
){
this
.
anchors
.
eq
(
e
).
removeData
(
"cache.tabs"
),
this
.
_superApply
(
arguments
)}}),
e
.
widget
(
"ui.tabs"
,
e
.
ui
.
tabs
,{
abort
:
function
(){
this
.
xhr
&&
this
.
xhr
.
abort
()}}),
e
.
widget
(
"ui.tabs"
,
e
.
ui
.
tabs
,{
options
:
{
spinner
:
"<em>Loading…</em>"
},
_create
:
function
(){
this
.
_super
(),
this
.
_on
({
tabsbeforeload
:
function
(
e
,
t
){
if
(
e
.
target
===
this
.
element
[
0
]
&&
this
.
options
.
spinner
){
var
i
=
t
.
tab
.
find
(
"span"
),
s
=
i
.
html
();
i
.
html
(
this
.
options
.
spinner
),
t
.
jqXHR
.
complete
(
function
(){
i
.
html
(
s
)})}}})}}),
e
.
widget
(
"ui.tabs"
,
e
.
ui
.
tabs
,{
options
:
{
enable
:
null
,
disable
:
null
},
enable
:
function
(
t
){
var
i
,
s
=
this
.
options
;(
t
&&
s
.
disabled
===!
0
||
e
.
isArray
(
s
.
disabled
)
&&-
1
!==
e
.
inArray
(
t
,
s
.
disabled
))
&&
(
i
=!
0
),
this
.
_superApply
(
arguments
),
i
&&
this
.
_trigger
(
"enable"
,
null
,
this
.
_ui
(
this
.
anchors
[
t
],
this
.
panels
[
t
]))},
disable
:
function
(
t
){
var
i
,
s
=
this
.
options
;(
t
&&
s
.
disabled
===!
1
||
e
.
isArray
(
s
.
disabled
)
&&-
1
===
e
.
inArray
(
t
,
s
.
disabled
))
&&
(
i
=!
0
),
this
.
_superApply
(
arguments
),
i
&&
this
.
_trigger
(
"disable"
,
null
,
this
.
_ui
(
this
.
anchors
[
t
],
this
.
panels
[
t
]))}}),
e
.
widget
(
"ui.tabs"
,
e
.
ui
.
tabs
,{
options
:
{
add
:
null
,
remove
:
null
,
tabTemplate
:
"<li><a href='#{href}'><span>#{label}</span></a></li>"
},
add
:
function
(
i
,
s
,
a
){
a
===
t
&&
(
a
=
this
.
anchors
.
length
);
var
n
,
r
,
o
=
this
.
options
,
h
=
e
(
o
.
tabTemplate
.
replace
(
/#\{href\}/g
,
i
).
replace
(
/#\{label\}/g
,
s
)),
l
=
i
.
indexOf
(
"#"
)
?
this
.
_tabId
(
h
)
:
i
.
replace
(
"#"
,
""
);
return
h
.
addClass
(
"ui-state-default ui-corner-top"
).
data
(
"ui-tabs-destroy"
,
!
0
),
h
.
attr
(
"aria-controls"
,
l
),
n
=
a
>=
this
.
tabs
.
length
,
r
=
this
.
element
.
find
(
"#"
+
l
),
r
.
length
||
(
r
=
this
.
_createPanel
(
l
),
n
?
a
>
0
?
r
.
insertAfter
(
this
.
panels
.
eq
(
-
1
))
:
r
.
appendTo
(
this
.
element
)
:
r
.
insertBefore
(
this
.
panels
[
a
])),
r
.
addClass
(
"ui-tabs-panel ui-widget-content ui-corner-bottom"
).
hide
(),
n
?
h
.
appendTo
(
this
.
tablist
)
:
h
.
insertBefore
(
this
.
tabs
[
a
]),
o
.
disabled
=
e
.
map
(
o
.
disabled
,
function
(
e
){
return
e
>=
a
?++
e
:
e
}),
this
.
refresh
(),
1
===
this
.
tabs
.
length
&&
o
.
active
===!
1
&&
this
.
option
(
"active"
,
0
),
this
.
_trigger
(
"add"
,
null
,
this
.
_ui
(
this
.
anchors
[
a
],
this
.
panels
[
a
])),
this
},
remove
:
function
(
t
){
t
=
this
.
_getIndex
(
t
);
var
i
=
this
.
options
,
s
=
this
.
tabs
.
eq
(
t
).
remove
(),
a
=
this
.
_getPanelForTab
(
s
).
remove
();
return
s
.
hasClass
(
"ui-tabs-active"
)
&&
this
.
anchors
.
length
>
2
&&
this
.
_activate
(
t
+
(
this
.
anchors
.
length
>
t
+
1
?
1
:-
1
)),
i
.
disabled
=
e
.
map
(
e
.
grep
(
i
.
disabled
,
function
(
e
){
return
e
!==
t
}),
function
(
e
){
return
e
>=
t
?--
e
:
e
}),
this
.
refresh
(),
this
.
_trigger
(
"remove"
,
null
,
this
.
_ui
(
s
.
find
(
"a"
)[
0
],
a
[
0
])),
this
}}),
e
.
widget
(
"ui.tabs"
,
e
.
ui
.
tabs
,{
length
:
function
(){
return
this
.
anchors
.
length
}}),
e
.
widget
(
"ui.tabs"
,
e
.
ui
.
tabs
,{
options
:
{
idPrefix
:
"ui-tabs-"
},
_tabId
:
function
(
t
){
var
s
=
t
.
is
(
"li"
)
?
t
.
find
(
"a[href]"
)
:
t
;
return
s
=
s
[
0
],
e
(
s
).
closest
(
"li"
).
attr
(
"aria-controls"
)
||
s
.
title
&&
s
.
title
.
replace
(
/\s/g
,
"_"
).
replace
(
/[^\w\u00c0-\uFFFF\-]/g
,
""
)
||
this
.
options
.
idPrefix
+
i
()}}),
e
.
widget
(
"ui.tabs"
,
e
.
ui
.
tabs
,{
options
:
{
panelTemplate
:
"<div></div>"
},
_createPanel
:
function
(
t
){
return
e
(
this
.
options
.
panelTemplate
).
attr
(
"id"
,
t
).
addClass
(
"ui-tabs-panel ui-widget-content ui-corner-bottom"
).
data
(
"ui-tabs-destroy"
,
!
0
)}}),
e
.
widget
(
"ui.tabs"
,
e
.
ui
.
tabs
,{
_create
:
function
(){
var
e
=
this
.
options
;
null
===
e
.
active
&&
e
.
selected
!==
t
&&
(
e
.
active
=-
1
===
e
.
selected
?!
1
:
e
.
selected
),
this
.
_super
(),
e
.
selected
=
e
.
active
,
e
.
selected
===!
1
&&
(
e
.
selected
=-
1
)},
_setOption
:
function
(
e
,
t
){
if
(
"selected"
!==
e
)
return
this
.
_super
(
e
,
t
);
var
i
=
this
.
options
;
this
.
_super
(
"active"
,
-
1
===
t
?!
1
:
t
),
i
.
selected
=
i
.
active
,
i
.
selected
===!
1
&&
(
i
.
selected
=-
1
)},
_eventHandler
:
function
(){
this
.
_superApply
(
arguments
),
this
.
options
.
selected
=
this
.
options
.
active
,
this
.
options
.
selected
===!
1
&&
(
this
.
options
.
selected
=-
1
)}}),
e
.
widget
(
"ui.tabs"
,
e
.
ui
.
tabs
,{
options
:
{
show
:
null
,
select
:
null
},
_create
:
function
(){
this
.
_super
(),
this
.
options
.
active
!==!
1
&&
this
.
_trigger
(
"show"
,
null
,
this
.
_ui
(
this
.
active
.
find
(
".ui-tabs-anchor"
)[
0
],
this
.
_getPanelForTab
(
this
.
active
)[
0
]))},
_trigger
:
function
(
e
,
t
,
i
){
var
s
,
a
,
n
=
this
.
_superApply
(
arguments
);
return
n
?
(
"beforeActivate"
===
e
?
(
s
=
i
.
newTab
.
length
?
i
.
newTab
:
i
.
oldTab
,
a
=
i
.
newPanel
.
length
?
i
.
newPanel
:
i
.
oldPanel
,
n
=
this
.
_super
(
"select"
,
t
,{
tab
:
s
.
find
(
".ui-tabs-anchor"
)[
0
],
panel
:
a
[
0
],
index
:
s
.
closest
(
"li"
).
index
()}))
:
"activate"
===
e
&&
i
.
newTab
.
length
&&
(
n
=
this
.
_super
(
"show"
,
t
,{
tab
:
i
.
newTab
.
find
(
".ui-tabs-anchor"
)[
0
],
panel
:
i
.
newPanel
[
0
],
index
:
i
.
newTab
.
closest
(
"li"
).
index
()})),
n
)
:!
1
}}),
e
.
widget
(
"ui.tabs"
,
e
.
ui
.
tabs
,{
select
:
function
(
e
){
if
(
e
=
this
.
_getIndex
(
e
),
-
1
===
e
){
if
(
!
this
.
options
.
collapsible
||-
1
===
this
.
options
.
selected
)
return
;
e
=
this
.
options
.
selected
}
this
.
anchors
.
eq
(
e
).
trigger
(
this
.
options
.
event
+
this
.
eventNamespace
)}}),
function
(){
var
t
=
0
;
e
.
widget
(
"ui.tabs"
,
e
.
ui
.
tabs
,{
options
:
{
cookie
:
null
},
_create
:
function
(){
var
e
,
t
=
this
.
options
;
null
==
t
.
active
&&
t
.
cookie
&&
(
e
=
parseInt
(
this
.
_cookie
(),
10
),
-
1
===
e
&&
(
e
=!
1
),
t
.
active
=
e
),
this
.
_super
()},
_cookie
:
function
(
i
){
var
s
=
[
this
.
cookie
||
(
this
.
cookie
=
this
.
options
.
cookie
.
name
||
"ui-tabs-"
+
++
t
)];
return
arguments
.
length
&&
(
s
.
push
(
i
===!
1
?-
1
:
i
),
s
.
push
(
this
.
options
.
cookie
)),
e
.
cookie
.
apply
(
null
,
s
)},
_refresh
:
function
(){
this
.
_super
(),
this
.
options
.
cookie
&&
this
.
_cookie
(
this
.
options
.
active
,
this
.
options
.
cookie
)},
_eventHandler
:
function
(){
this
.
_superApply
(
arguments
),
this
.
options
.
cookie
&&
this
.
_cookie
(
this
.
options
.
active
,
this
.
options
.
cookie
)},
_destroy
:
function
(){
this
.
_super
(),
this
.
options
.
cookie
&&
this
.
_cookie
(
null
,
this
.
options
.
cookie
)}})}(),
e
.
widget
(
"ui.tabs"
,
e
.
ui
.
tabs
,{
_trigger
:
function
(
t
,
i
,
s
){
var
a
=
e
.
extend
({},
s
);
return
"load"
===
t
&&
(
a
.
panel
=
a
.
panel
[
0
],
a
.
tab
=
a
.
tab
.
find
(
".ui-tabs-anchor"
)[
0
]),
this
.
_super
(
t
,
i
,
a
)}}),
e
.
widget
(
"ui.tabs"
,
e
.
ui
.
tabs
,{
options
:
{
fx
:
null
},
_getFx
:
function
(){
var
t
,
i
,
s
=
this
.
options
.
fx
;
return
s
&&
(
e
.
isArray
(
s
)
?
(
t
=
s
[
0
],
i
=
s
[
1
])
:
t
=
i
=
s
),
s
?
{
show
:
i
,
hide
:
t
}
:
null
},
_toggle
:
function
(
e
,
i
){
function
s
(){
n
.
running
=!
1
,
n
.
_trigger
(
"activate"
,
e
,
i
)}
function
a
(){
i
.
newTab
.
closest
(
"li"
).
addClass
(
"ui-tabs-active ui-state-active"
),
r
.
length
&&
h
.
show
?
r
.
animate
(
h
.
show
,
h
.
show
.
duration
,
function
(){
s
()})
:
(
r
.
show
(),
s
())}
var
n
=
this
,
r
=
i
.
newPanel
,
o
=
i
.
oldPanel
,
h
=
this
.
_getFx
();
return
h
?
(
n
.
running
=!
0
,
o
.
length
&&
h
.
hide
?
o
.
animate
(
h
.
hide
,
h
.
hide
.
duration
,
function
(){
i
.
oldTab
.
closest
(
"li"
).
removeClass
(
"ui-tabs-active ui-state-active"
),
a
()})
:
(
i
.
oldTab
.
closest
(
"li"
).
removeClass
(
"ui-tabs-active ui-state-active"
),
o
.
hide
(),
a
()),
t
)
:
this
.
_super
(
e
,
i
)}}))})(
jQuery
);(
function
(
e
){
function
t
(
t
,
i
){
var
s
=
(
t
.
attr
(
"aria-describedby"
)
||
""
).
split
(
/\s+/
);
s
.
push
(
i
),
t
.
data
(
"ui-tooltip-id"
,
i
).
attr
(
"aria-describedby"
,
e
.
trim
(
s
.
join
(
" "
)))}
function
i
(
t
){
var
i
=
t
.
data
(
"ui-tooltip-id"
),
s
=
(
t
.
attr
(
"aria-describedby"
)
||
""
).
split
(
/\s+/
),
a
=
e
.
inArray
(
i
,
s
);
-
1
!==
a
&&
s
.
splice
(
a
,
1
),
t
.
removeData
(
"ui-tooltip-id"
),
s
=
e
.
trim
(
s
.
join
(
" "
)),
s
?
t
.
attr
(
"aria-describedby"
,
s
)
:
t
.
removeAttr
(
"aria-describedby"
)}
var
s
=
0
;
e
.
widget
(
"ui.tooltip"
,{
version
:
"1.9.2"
,
options
:
{
content
:
function
(){
return
e
(
this
).
attr
(
"title"
)},
hide
:!
0
,
items
:
"[title]:not([disabled])"
,
position
:
{
my
:
"left top+15"
,
at
:
"left bottom"
,
collision
:
"flipfit flip"
},
show
:!
0
,
tooltipClass
:
null
,
track
:!
1
,
close
:
null
,
open
:
null
},
_create
:
function
(){
this
.
_on
({
mouseover
:
"open"
,
focusin
:
"open"
}),
this
.
tooltips
=
{},
this
.
parents
=
{},
this
.
options
.
disabled
&&
this
.
_disable
()},
_setOption
:
function
(
t
,
i
){
var
s
=
this
;
return
"disabled"
===
t
?
(
this
[
i
?
"_disable"
:
"_enable"
](),
this
.
options
[
t
]
=
i
,
void
0
)
:
(
this
.
_super
(
t
,
i
),
"content"
===
t
&&
e
.
each
(
this
.
tooltips
,
function
(
e
,
t
){
s
.
_updateContent
(
t
)}),
void
0
)},
_disable
:
function
(){
var
t
=
this
;
e
.
each
(
this
.
tooltips
,
function
(
i
,
s
){
var
a
=
e
.
Event
(
"blur"
);
a
.
target
=
a
.
currentTarget
=
s
[
0
],
t
.
close
(
a
,
!
0
)}),
this
.
element
.
find
(
this
.
options
.
items
).
andSelf
().
each
(
function
(){
var
t
=
e
(
this
);
t
.
is
(
"[title]"
)
&&
t
.
data
(
"ui-tooltip-title"
,
t
.
attr
(
"title"
)).
attr
(
"title"
,
""
)})},
_enable
:
function
(){
this
.
element
.
find
(
this
.
options
.
items
).
andSelf
().
each
(
function
(){
var
t
=
e
(
this
);
t
.
data
(
"ui-tooltip-title"
)
&&
t
.
attr
(
"title"
,
t
.
data
(
"ui-tooltip-title"
))})},
open
:
function
(
t
){
var
i
=
this
,
s
=
e
(
t
?
t
.
target
:
this
.
element
).
closest
(
this
.
options
.
items
);
s
.
length
&&!
s
.
data
(
"ui-tooltip-id"
)
&&
(
s
.
attr
(
"title"
)
&&
s
.
data
(
"ui-tooltip-title"
,
s
.
attr
(
"title"
)),
s
.
data
(
"ui-tooltip-open"
,
!
0
),
t
&&
"mouseover"
===
t
.
type
&&
s
.
parents
().
each
(
function
(){
var
t
,
s
=
e
(
this
);
s
.
data
(
"ui-tooltip-open"
)
&&
(
t
=
e
.
Event
(
"blur"
),
t
.
target
=
t
.
currentTarget
=
this
,
i
.
close
(
t
,
!
0
)),
s
.
attr
(
"title"
)
&&
(
s
.
uniqueId
(),
i
.
parents
[
this
.
id
]
=
{
element
:
this
,
title
:
s
.
attr
(
"title"
)},
s
.
attr
(
"title"
,
""
))}),
this
.
_updateContent
(
s
,
t
))},
_updateContent
:
function
(
e
,
t
){
var
i
,
s
=
this
.
options
.
content
,
a
=
this
,
n
=
t
?
t
.
type
:
null
;
return
"string"
==
typeof
s
?
this
.
_open
(
t
,
e
,
s
)
:
(
i
=
s
.
call
(
e
[
0
],
function
(
i
){
e
.
data
(
"ui-tooltip-open"
)
&&
a
.
_delay
(
function
(){
t
&&
(
t
.
type
=
n
),
this
.
_open
(
t
,
e
,
i
)})}),
i
&&
this
.
_open
(
t
,
e
,
i
),
void
0
)},
_open
:
function
(
i
,
s
,
a
){
function
n
(
e
){
l
.
of
=
e
,
r
.
is
(
":hidden"
)
||
r
.
position
(
l
)}
var
r
,
o
,
h
,
l
=
e
.
extend
({},
this
.
options
.
position
);
if
(
a
){
if
(
r
=
this
.
_find
(
s
),
r
.
length
)
return
r
.
find
(
".ui-tooltip-content"
).
html
(
a
),
void
0
;
s
.
is
(
"[title]"
)
&&
(
i
&&
"mouseover"
===
i
.
type
?
s
.
attr
(
"title"
,
""
)
:
s
.
removeAttr
(
"title"
)),
r
=
this
.
_tooltip
(
s
),
t
(
s
,
r
.
attr
(
"id"
)),
r
.
find
(
".ui-tooltip-content"
).
html
(
a
),
this
.
options
.
track
&&
i
&&
/^mouse/
.
test
(
i
.
type
)
?
(
this
.
_on
(
this
.
document
,{
mousemove
:
n
}),
n
(
i
))
:
r
.
position
(
e
.
extend
({
of
:
s
},
this
.
options
.
position
)),
r
.
hide
(),
this
.
_show
(
r
,
this
.
options
.
show
),
this
.
options
.
show
&&
this
.
options
.
show
.
delay
&&
(
h
=
setInterval
(
function
(){
r
.
is
(
":visible"
)
&&
(
n
(
l
.
of
),
clearInterval
(
h
))},
e
.
fx
.
interval
)),
this
.
_trigger
(
"open"
,
i
,{
tooltip
:
r
}),
o
=
{
keyup
:
function
(
t
){
if
(
t
.
keyCode
===
e
.
ui
.
keyCode
.
ESCAPE
){
var
i
=
e
.
Event
(
t
);
i
.
currentTarget
=
s
[
0
],
this
.
close
(
i
,
!
0
)}},
remove
:
function
(){
this
.
_removeTooltip
(
r
)}},
i
&&
"mouseover"
!==
i
.
type
||
(
o
.
mouseleave
=
"close"
),
i
&&
"focusin"
!==
i
.
type
||
(
o
.
focusout
=
"close"
),
this
.
_on
(
!
0
,
s
,
o
)}},
close
:
function
(
t
){
var
s
=
this
,
a
=
e
(
t
?
t
.
currentTarget
:
this
.
element
),
n
=
this
.
_find
(
a
);
this
.
closing
||
(
a
.
data
(
"ui-tooltip-title"
)
&&
a
.
attr
(
"title"
,
a
.
data
(
"ui-tooltip-title"
)),
i
(
a
),
n
.
stop
(
!
0
),
this
.
_hide
(
n
,
this
.
options
.
hide
,
function
(){
s
.
_removeTooltip
(
e
(
this
))}),
a
.
removeData
(
"ui-tooltip-open"
),
this
.
_off
(
a
,
"mouseleave focusout keyup"
),
a
[
0
]
!==
this
.
element
[
0
]
&&
this
.
_off
(
a
,
"remove"
),
this
.
_off
(
this
.
document
,
"mousemove"
),
t
&&
"mouseleave"
===
t
.
type
&&
e
.
each
(
this
.
parents
,
function
(
t
,
i
){
e
(
i
.
element
).
attr
(
"title"
,
i
.
title
),
delete
s
.
parents
[
t
]}),
this
.
closing
=!
0
,
this
.
_trigger
(
"close"
,
t
,{
tooltip
:
n
}),
this
.
closing
=!
1
)},
_tooltip
:
function
(
t
){
var
i
=
"ui-tooltip-"
+
s
++
,
a
=
e
(
"<div>"
).
attr
({
id
:
i
,
role
:
"tooltip"
}).
addClass
(
"ui-tooltip ui-widget ui-corner-all ui-widget-content "
+
(
this
.
options
.
tooltipClass
||
""
));
return
e
(
"<div>"
).
addClass
(
"ui-tooltip-content"
).
appendTo
(
a
),
a
.
appendTo
(
this
.
document
[
0
].
body
),
e
.
fn
.
bgiframe
&&
a
.
bgiframe
(),
this
.
tooltips
[
i
]
=
t
,
a
},
_find
:
function
(
t
){
var
i
=
t
.
data
(
"ui-tooltip-id"
);
return
i
?
e
(
"#"
+
i
)
:
e
()},
_removeTooltip
:
function
(
e
){
e
.
remove
(),
delete
this
.
tooltips
[
e
.
attr
(
"id"
)]},
_destroy
:
function
(){
var
t
=
this
;
e
.
each
(
this
.
tooltips
,
function
(
i
,
s
){
var
a
=
e
.
Event
(
"blur"
);
a
.
target
=
a
.
currentTarget
=
s
[
0
],
t
.
close
(
a
,
!
0
),
e
(
"#"
+
i
).
remove
(),
s
.
data
(
"ui-tooltip-title"
)
&&
(
s
.
attr
(
"title"
,
s
.
data
(
"ui-tooltip-title"
)),
s
.
removeData
(
"ui-tooltip-title"
))})}})})(
jQuery
);
jQuery
.
effects
||
function
(
e
,
t
){
var
i
=
e
.
uiBackCompat
!==!
1
,
a
=
"ui-effects-"
;
e
.
effects
=
{
effect
:
{}},
function
(
t
,
i
){
function
a
(
e
,
t
,
i
){
var
a
=
c
[
t
.
type
]
||
{};
return
null
==
e
?
i
||!
t
.
def
?
null
:
t
.
def
:
(
e
=
a
.
floor
?~~
e
:
parseFloat
(
e
),
isNaN
(
e
)
?
t
.
def
:
a
.
mod
?
(
e
+
a
.
mod
)
%
a
.
mod
:
0
>
e
?
0
:
e
>
a
.
max
?
a
.
max
:
e
)}
function
s
(
e
){
var
a
=
u
(),
s
=
a
.
_rgba
=
[];
return
e
=
e
.
toLowerCase
(),
m
(
l
,
function
(
t
,
n
){
var
r
,
o
=
n
.
re
.
exec
(
e
),
h
=
o
&&
n
.
parse
(
o
),
l
=
n
.
space
||
"rgba"
;
return
h
?
(
r
=
a
[
l
](
h
),
a
[
d
[
l
].
cache
]
=
r
[
d
[
l
].
cache
],
s
=
a
.
_rgba
=
r
.
_rgba
,
!
1
)
:
i
}),
s
.
length
?
(
"0,0,0,0"
===
s
.
join
()
&&
t
.
extend
(
s
,
r
.
transparent
),
a
)
:
r
[
e
]}
function
n
(
e
,
t
,
i
){
return
i
=
(
i
+
1
)
%
1
,
1
>
6
*
i
?
e
+
6
*
(
t
-
e
)
*
i
:
1
>
2
*
i
?
t
:
2
>
3
*
i
?
e
+
6
*
(
t
-
e
)
*
(
2
/
3
-
i
)
:
e
}
var
r
,
o
=
"backgroundColor borderBottomColor borderLeftColor borderRightColor borderTopColor color columnRuleColor outlineColor textDecorationColor textEmphasisColor"
.
split
(
" "
),
h
=
/^([\-+])=\s*(\d+\.?\d*)/
,
l
=
[{
re
:
/rgba?\(\s*(\d{1,3})\s*,\s*(\d{1,3})\s*,\s*(\d{1,3})\s*(?:,\s*(\d+(?:\.\d+)?)\s*)?\)/
,
parse
:
function
(
e
){
return
[
e
[
1
],
e
[
2
],
e
[
3
],
e
[
4
]]}},{
re
:
/rgba?\(\s*(\d+(?:\.\d+)?)\%\s*,\s*(\d+(?:\.\d+)?)\%\s*,\s*(\d+(?:\.\d+)?)\%\s*(?:,\s*(\d+(?:\.\d+)?)\s*)?\)/
,
parse
:
function
(
e
){
return
[
2.55
*
e
[
1
],
2.55
*
e
[
2
],
2.55
*
e
[
3
],
e
[
4
]]}},{
re
:
/#([a-f0-9]{2})([a-f0-9]{2})([a-f0-9]{2})/
,
parse
:
function
(
e
){
return
[
parseInt
(
e
[
1
],
16
),
parseInt
(
e
[
2
],
16
),
parseInt
(
e
[
3
],
16
)]}},{
re
:
/#([a-f0-9])([a-f0-9])([a-f0-9])/
,
parse
:
function
(
e
){
return
[
parseInt
(
e
[
1
]
+
e
[
1
],
16
),
parseInt
(
e
[
2
]
+
e
[
2
],
16
),
parseInt
(
e
[
3
]
+
e
[
3
],
16
)]}},{
re
:
/hsla?\(\s*(\d+(?:\.\d+)?)\s*,\s*(\d+(?:\.\d+)?)\%\s*,\s*(\d+(?:\.\d+)?)\%\s*(?:,\s*(\d+(?:\.\d+)?)\s*)?\)/
,
space
:
"hsla"
,
parse
:
function
(
e
){
return
[
e
[
1
],
e
[
2
]
/
100
,
e
[
3
]
/
100
,
e
[
4
]]}}],
u
=
t
.
Color
=
function
(
e
,
i
,
a
,
s
){
return
new
t
.
Color
.
fn
.
parse
(
e
,
i
,
a
,
s
)},
d
=
{
rgba
:
{
props
:
{
red
:
{
idx
:
0
,
type
:
"byte"
},
green
:
{
idx
:
1
,
type
:
"byte"
},
blue
:
{
idx
:
2
,
type
:
"byte"
}}},
hsla
:
{
props
:
{
hue
:
{
idx
:
0
,
type
:
"degrees"
},
saturation
:
{
idx
:
1
,
type
:
"percent"
},
lightness
:
{
idx
:
2
,
type
:
"percent"
}}}},
c
=
{
"byte"
:
{
floor
:!
0
,
max
:
255
},
percent
:
{
max
:
1
},
degrees
:
{
mod
:
360
,
floor
:!
0
}},
p
=
u
.
support
=
{},
f
=
t
(
"<p>"
)[
0
],
m
=
t
.
each
;
f
.
style
.
cssText
=
"background-color:rgba(1,1,1,.5)"
,
p
.
rgba
=
f
.
style
.
backgroundColor
.
indexOf
(
"rgba"
)
>-
1
,
m
(
d
,
function
(
e
,
t
){
t
.
cache
=
"_"
+
e
,
t
.
props
.
alpha
=
{
idx
:
3
,
type
:
"percent"
,
def
:
1
}}),
u
.
fn
=
t
.
extend
(
u
.
prototype
,{
parse
:
function
(
n
,
o
,
h
,
l
){
if
(
n
===
i
)
return
this
.
_rgba
=
[
null
,
null
,
null
,
null
],
this
;(
n
.
jquery
||
n
.
nodeType
)
&&
(
n
=
t
(
n
).
css
(
o
),
o
=
i
);
var
c
=
this
,
p
=
t
.
type
(
n
),
f
=
this
.
_rgba
=
[];
return
o
!==
i
&&
(
n
=
[
n
,
o
,
h
,
l
],
p
=
"array"
),
"string"
===
p
?
this
.
parse
(
s
(
n
)
||
r
.
_default
)
:
"array"
===
p
?
(
m
(
d
.
rgba
.
props
,
function
(
e
,
t
){
f
[
t
.
idx
]
=
a
(
n
[
t
.
idx
],
t
)}),
this
)
:
"object"
===
p
?
(
n
instanceof
u
?
m
(
d
,
function
(
e
,
t
){
n
[
t
.
cache
]
&&
(
c
[
t
.
cache
]
=
n
[
t
.
cache
].
slice
())})
:
m
(
d
,
function
(
t
,
i
){
var
s
=
i
.
cache
;
m
(
i
.
props
,
function
(
e
,
t
){
if
(
!
c
[
s
]
&&
i
.
to
){
if
(
"alpha"
===
e
||
null
==
n
[
e
])
return
;
c
[
s
]
=
i
.
to
(
c
.
_rgba
)}
c
[
s
][
t
.
idx
]
=
a
(
n
[
e
],
t
,
!
0
)}),
c
[
s
]
&&
0
>
e
.
inArray
(
null
,
c
[
s
].
slice
(
0
,
3
))
&&
(
c
[
s
][
3
]
=
1
,
i
.
from
&&
(
c
.
_rgba
=
i
.
from
(
c
[
s
])))}),
this
)
:
i
},
is
:
function
(
e
){
var
t
=
u
(
e
),
a
=!
0
,
s
=
this
;
return
m
(
d
,
function
(
e
,
n
){
var
r
,
o
=
t
[
n
.
cache
];
return
o
&&
(
r
=
s
[
n
.
cache
]
||
n
.
to
&&
n
.
to
(
s
.
_rgba
)
||
[],
m
(
n
.
props
,
function
(
e
,
t
){
return
null
!=
o
[
t
.
idx
]
?
a
=
o
[
t
.
idx
]
===
r
[
t
.
idx
]
:
i
})),
a
}),
a
},
_space
:
function
(){
var
e
=
[],
t
=
this
;
return
m
(
d
,
function
(
i
,
a
){
t
[
a
.
cache
]
&&
e
.
push
(
i
)}),
e
.
pop
()},
transition
:
function
(
e
,
t
){
var
i
=
u
(
e
),
s
=
i
.
_space
(),
n
=
d
[
s
],
r
=
0
===
this
.
alpha
()
?
u
(
"transparent"
)
:
this
,
o
=
r
[
n
.
cache
]
||
n
.
to
(
r
.
_rgba
),
h
=
o
.
slice
();
return
i
=
i
[
n
.
cache
],
m
(
n
.
props
,
function
(
e
,
s
){
var
n
=
s
.
idx
,
r
=
o
[
n
],
l
=
i
[
n
],
u
=
c
[
s
.
type
]
||
{};
null
!==
l
&&
(
null
===
r
?
h
[
n
]
=
l
:
(
u
.
mod
&&
(
l
-
r
>
u
.
mod
/
2
?
r
+=
u
.
mod
:
r
-
l
>
u
.
mod
/
2
&&
(
r
-=
u
.
mod
)),
h
[
n
]
=
a
((
l
-
r
)
*
t
+
r
,
s
)))}),
this
[
s
](
h
)},
blend
:
function
(
e
){
if
(
1
===
this
.
_rgba
[
3
])
return
this
;
var
i
=
this
.
_rgba
.
slice
(),
a
=
i
.
pop
(),
s
=
u
(
e
).
_rgba
;
return
u
(
t
.
map
(
i
,
function
(
e
,
t
){
return
(
1
-
a
)
*
s
[
t
]
+
a
*
e
}))},
toRgbaString
:
function
(){
var
e
=
"rgba("
,
i
=
t
.
map
(
this
.
_rgba
,
function
(
e
,
t
){
return
null
==
e
?
t
>
2
?
1
:
0
:
e
});
return
1
===
i
[
3
]
&&
(
i
.
pop
(),
e
=
"rgb("
),
e
+
i
.
join
()
+
")"
},
toHslaString
:
function
(){
var
e
=
"hsla("
,
i
=
t
.
map
(
this
.
hsla
(),
function
(
e
,
t
){
return
null
==
e
&&
(
e
=
t
>
2
?
1
:
0
),
t
&&
3
>
t
&&
(
e
=
Math
.
round
(
100
*
e
)
+
"%"
),
e
});
return
1
===
i
[
3
]
&&
(
i
.
pop
(),
e
=
"hsl("
),
e
+
i
.
join
()
+
")"
},
toHexString
:
function
(
e
){
var
i
=
this
.
_rgba
.
slice
(),
a
=
i
.
pop
();
return
e
&&
i
.
push
(
~~
(
255
*
a
)),
"#"
+
t
.
map
(
i
,
function
(
e
){
return
e
=
(
e
||
0
).
toString
(
16
),
1
===
e
.
length
?
"0"
+
e
:
e
}).
join
(
""
)},
toString
:
function
(){
return
0
===
this
.
_rgba
[
3
]
?
"transparent"
:
this
.
toRgbaString
()}}),
u
.
fn
.
parse
.
prototype
=
u
.
fn
,
d
.
hsla
.
to
=
function
(
e
){
if
(
null
==
e
[
0
]
||
null
==
e
[
1
]
||
null
==
e
[
2
])
return
[
null
,
null
,
null
,
e
[
3
]];
var
t
,
i
,
a
=
e
[
0
]
/
255
,
s
=
e
[
1
]
/
255
,
n
=
e
[
2
]
/
255
,
r
=
e
[
3
],
o
=
Math
.
max
(
a
,
s
,
n
),
h
=
Math
.
min
(
a
,
s
,
n
),
l
=
o
-
h
,
u
=
o
+
h
,
d
=
.5
*
u
;
return
t
=
h
===
o
?
0
:
a
===
o
?
60
*
(
s
-
n
)
/
l
+
360
:
s
===
o
?
60
*
(
n
-
a
)
/
l
+
120
:
60
*
(
a
-
s
)
/
l
+
240
,
i
=
0
===
d
||
1
===
d
?
d
:
.5
>=
d
?
l
/
u
:
l
/
(
2
-
u
),[
Math
.
round
(
t
)
%
360
,
i
,
d
,
null
==
r
?
1
:
r
]},
d
.
hsla
.
from
=
function
(
e
){
if
(
null
==
e
[
0
]
||
null
==
e
[
1
]
||
null
==
e
[
2
])
return
[
null
,
null
,
null
,
e
[
3
]];
var
t
=
e
[
0
]
/
360
,
i
=
e
[
1
],
a
=
e
[
2
],
s
=
e
[
3
],
r
=
.5
>=
a
?
a
*
(
1
+
i
)
:
a
+
i
-
a
*
i
,
o
=
2
*
a
-
r
;
return
[
Math
.
round
(
255
*
n
(
o
,
r
,
t
+
1
/
3
)),
Math
.
round
(
255
*
n
(
o
,
r
,
t
)),
Math
.
round
(
255
*
n
(
o
,
r
,
t
-
1
/
3
)),
s
]},
m
(
d
,
function
(
e
,
s
){
var
n
=
s
.
props
,
r
=
s
.
cache
,
o
=
s
.
to
,
l
=
s
.
from
;
u
.
fn
[
e
]
=
function
(
e
){
if
(
o
&&!
this
[
r
]
&&
(
this
[
r
]
=
o
(
this
.
_rgba
)),
e
===
i
)
return
this
[
r
].
slice
();
var
s
,
h
=
t
.
type
(
e
),
d
=
"array"
===
h
||
"object"
===
h
?
e
:
arguments
,
c
=
this
[
r
].
slice
();
return
m
(
n
,
function
(
e
,
t
){
var
i
=
d
[
"object"
===
h
?
e
:
t
.
idx
];
null
==
i
&&
(
i
=
c
[
t
.
idx
]),
c
[
t
.
idx
]
=
a
(
i
,
t
)}),
l
?
(
s
=
u
(
l
(
c
)),
s
[
r
]
=
c
,
s
)
:
u
(
c
)},
m
(
n
,
function
(
i
,
a
){
u
.
fn
[
i
]
||
(
u
.
fn
[
i
]
=
function
(
s
){
var
n
,
r
=
t
.
type
(
s
),
o
=
"alpha"
===
i
?
this
.
_hsla
?
"hsla"
:
"rgba"
:
e
,
l
=
this
[
o
](),
u
=
l
[
a
.
idx
];
return
"undefined"
===
r
?
u
:
(
"function"
===
r
&&
(
s
=
s
.
call
(
this
,
u
),
r
=
t
.
type
(
s
)),
null
==
s
&&
a
.
empty
?
this
:
(
"string"
===
r
&&
(
n
=
h
.
exec
(
s
),
n
&&
(
s
=
u
+
parseFloat
(
n
[
2
])
*
(
"+"
===
n
[
1
]
?
1
:-
1
))),
l
[
a
.
idx
]
=
s
,
this
[
o
](
l
)))})})}),
m
(
o
,
function
(
e
,
i
){
t
.
cssHooks
[
i
]
=
{
set
:
function
(
e
,
a
){
var
n
,
r
,
o
=
""
;
if
(
"string"
!==
t
.
type
(
a
)
||
(
n
=
s
(
a
))){
if
(
a
=
u
(
n
||
a
),
!
p
.
rgba
&&
1
!==
a
.
_rgba
[
3
]){
for
(
r
=
"backgroundColor"
===
i
?
e
.
parentNode
:
e
;(
""
===
o
||
"transparent"
===
o
)
&&
r
&&
r
.
style
;)
try
{
o
=
t
.
css
(
r
,
"backgroundColor"
),
r
=
r
.
parentNode
}
catch
(
h
){}
a
=
a
.
blend
(
o
&&
"transparent"
!==
o
?
o
:
"_default"
)}
a
=
a
.
toRgbaString
()}
try
{
e
.
style
[
i
]
=
a
}
catch
(
l
){}}},
t
.
fx
.
step
[
i
]
=
function
(
e
){
e
.
colorInit
||
(
e
.
start
=
u
(
e
.
elem
,
i
),
e
.
end
=
u
(
e
.
end
),
e
.
colorInit
=!
0
),
t
.
cssHooks
[
i
].
set
(
e
.
elem
,
e
.
start
.
transition
(
e
.
end
,
e
.
pos
))}}),
t
.
cssHooks
.
borderColor
=
{
expand
:
function
(
e
){
var
t
=
{};
return
m
([
"Top"
,
"Right"
,
"Bottom"
,
"Left"
],
function
(
i
,
a
){
t
[
"border"
+
a
+
"Color"
]
=
e
}),
t
}},
r
=
t
.
Color
.
names
=
{
aqua
:
"#00ffff"
,
black
:
"#000000"
,
blue
:
"#0000ff"
,
fuchsia
:
"#ff00ff"
,
gray
:
"#808080"
,
green
:
"#008000"
,
lime
:
"#00ff00"
,
maroon
:
"#800000"
,
navy
:
"#000080"
,
olive
:
"#808000"
,
purple
:
"#800080"
,
red
:
"#ff0000"
,
silver
:
"#c0c0c0"
,
teal
:
"#008080"
,
white
:
"#ffffff"
,
yellow
:
"#ffff00"
,
transparent
:
[
null
,
null
,
null
,
0
],
_default
:
"#ffffff"
}}(
jQuery
),
function
(){
function
i
(){
var
t
,
i
,
a
=
this
.
ownerDocument
.
defaultView
?
this
.
ownerDocument
.
defaultView
.
getComputedStyle
(
this
,
null
)
:
this
.
currentStyle
,
s
=
{};
if
(
a
&&
a
.
length
&&
a
[
0
]
&&
a
[
a
[
0
]])
for
(
i
=
a
.
length
;
i
--
;)
t
=
a
[
i
],
"string"
==
typeof
a
[
t
]
&&
(
s
[
e
.
camelCase
(
t
)]
=
a
[
t
]);
else
for
(
t
in
a
)
"string"
==
typeof
a
[
t
]
&&
(
s
[
t
]
=
a
[
t
]);
return
s
}
function
a
(
t
,
i
){
var
a
,
s
,
r
=
{};
for
(
a
in
i
)
s
=
i
[
a
],
t
[
a
]
!==
s
&&
(
n
[
a
]
||
(
e
.
fx
.
step
[
a
]
||!
isNaN
(
parseFloat
(
s
)))
&&
(
r
[
a
]
=
s
));
return
r
}
var
s
=
[
"add"
,
"remove"
,
"toggle"
],
n
=
{
border
:
1
,
borderBottom
:
1
,
borderColor
:
1
,
borderLeft
:
1
,
borderRight
:
1
,
borderTop
:
1
,
borderWidth
:
1
,
margin
:
1
,
padding
:
1
};
e
.
each
([
"borderLeftStyle"
,
"borderRightStyle"
,
"borderBottomStyle"
,
"borderTopStyle"
],
function
(
t
,
i
){
e
.
fx
.
step
[
i
]
=
function
(
e
){(
"none"
!==
e
.
end
&&!
e
.
setAttr
||
1
===
e
.
pos
&&!
e
.
setAttr
)
&&
(
jQuery
.
style
(
e
.
elem
,
i
,
e
.
end
),
e
.
setAttr
=!
0
)}}),
e
.
effects
.
animateClass
=
function
(
t
,
n
,
r
,
o
){
var
h
=
e
.
speed
(
n
,
r
,
o
);
return
this
.
queue
(
function
(){
var
n
,
r
=
e
(
this
),
o
=
r
.
attr
(
"class"
)
||
""
,
l
=
h
.
children
?
r
.
find
(
"*"
).
andSelf
()
:
r
;
l
=
l
.
map
(
function
(){
var
t
=
e
(
this
);
return
{
el
:
t
,
start
:
i
.
call
(
this
)}}),
n
=
function
(){
e
.
each
(
s
,
function
(
e
,
i
){
t
[
i
]
&&
r
[
i
+
"Class"
](
t
[
i
])})},
n
(),
l
=
l
.
map
(
function
(){
return
this
.
end
=
i
.
call
(
this
.
el
[
0
]),
this
.
diff
=
a
(
this
.
start
,
this
.
end
),
this
}),
r
.
attr
(
"class"
,
o
),
l
=
l
.
map
(
function
(){
var
t
=
this
,
i
=
e
.
Deferred
(),
a
=
jQuery
.
extend
({},
h
,{
queue
:!
1
,
complete
:
function
(){
i
.
resolve
(
t
)}});
return
this
.
el
.
animate
(
this
.
diff
,
a
),
i
.
promise
()}),
e
.
when
.
apply
(
e
,
l
.
get
()).
done
(
function
(){
n
(),
e
.
each
(
arguments
,
function
(){
var
t
=
this
.
el
;
e
.
each
(
this
.
diff
,
function
(
e
){
t
.
css
(
e
,
""
)})}),
h
.
complete
.
call
(
r
[
0
])})})},
e
.
fn
.
extend
({
_addClass
:
e
.
fn
.
addClass
,
addClass
:
function
(
t
,
i
,
a
,
s
){
return
i
?
e
.
effects
.
animateClass
.
call
(
this
,{
add
:
t
},
i
,
a
,
s
)
:
this
.
_addClass
(
t
)},
_removeClass
:
e
.
fn
.
removeClass
,
removeClass
:
function
(
t
,
i
,
a
,
s
){
return
i
?
e
.
effects
.
animateClass
.
call
(
this
,{
remove
:
t
},
i
,
a
,
s
)
:
this
.
_removeClass
(
t
)},
_toggleClass
:
e
.
fn
.
toggleClass
,
toggleClass
:
function
(
i
,
a
,
s
,
n
,
r
){
return
"boolean"
==
typeof
a
||
a
===
t
?
s
?
e
.
effects
.
animateClass
.
call
(
this
,
a
?
{
add
:
i
}
:
{
remove
:
i
},
s
,
n
,
r
)
:
this
.
_toggleClass
(
i
,
a
)
:
e
.
effects
.
animateClass
.
call
(
this
,{
toggle
:
i
},
a
,
s
,
n
)},
switchClass
:
function
(
t
,
i
,
a
,
s
,
n
){
return
e
.
effects
.
animateClass
.
call
(
this
,{
add
:
i
,
remove
:
t
},
a
,
s
,
n
)}})}(),
function
(){
function
s
(
t
,
i
,
a
,
s
){
return
e
.
isPlainObject
(
t
)
&&
(
i
=
t
,
t
=
t
.
effect
),
t
=
{
effect
:
t
},
null
==
i
&&
(
i
=
{}),
e
.
isFunction
(
i
)
&&
(
s
=
i
,
a
=
null
,
i
=
{}),(
"number"
==
typeof
i
||
e
.
fx
.
speeds
[
i
])
&&
(
s
=
a
,
a
=
i
,
i
=
{}),
e
.
isFunction
(
a
)
&&
(
s
=
a
,
a
=
null
),
i
&&
e
.
extend
(
t
,
i
),
a
=
a
||
i
.
duration
,
t
.
duration
=
e
.
fx
.
off
?
0
:
"number"
==
typeof
a
?
a
:
a
in
e
.
fx
.
speeds
?
e
.
fx
.
speeds
[
a
]
:
e
.
fx
.
speeds
.
_default
,
t
.
complete
=
s
||
i
.
complete
,
t
}
function
n
(
t
){
return
!
t
||
"number"
==
typeof
t
||
e
.
fx
.
speeds
[
t
]
?!
0
:
"string"
!=
typeof
t
||
e
.
effects
.
effect
[
t
]
?!
1
:
i
&&
e
.
effects
[
t
]
?!
1
:!
0
}
e
.
extend
(
e
.
effects
,{
version
:
"1.9.2"
,
save
:
function
(
e
,
t
){
for
(
var
i
=
0
;
t
.
length
>
i
;
i
++
)
null
!==
t
[
i
]
&&
e
.
data
(
a
+
t
[
i
],
e
[
0
].
style
[
t
[
i
]])},
restore
:
function
(
e
,
i
){
var
s
,
n
;
for
(
n
=
0
;
i
.
length
>
n
;
n
++
)
null
!==
i
[
n
]
&&
(
s
=
e
.
data
(
a
+
i
[
n
]),
s
===
t
&&
(
s
=
""
),
e
.
css
(
i
[
n
],
s
))},
setMode
:
function
(
e
,
t
){
return
"toggle"
===
t
&&
(
t
=
e
.
is
(
":hidden"
)
?
"show"
:
"hide"
),
t
},
getBaseline
:
function
(
e
,
t
){
var
i
,
a
;
switch
(
e
[
0
]){
case
"top"
:
i
=
0
;
break
;
case
"middle"
:
i
=
.5
;
break
;
case
"bottom"
:
i
=
1
;
break
;
default
:
i
=
e
[
0
]
/
t
.
height
}
switch
(
e
[
1
]){
case
"left"
:
a
=
0
;
break
;
case
"center"
:
a
=
.5
;
break
;
case
"right"
:
a
=
1
;
break
;
default
:
a
=
e
[
1
]
/
t
.
width
}
return
{
x
:
a
,
y
:
i
}},
createWrapper
:
function
(
t
){
if
(
t
.
parent
().
is
(
".ui-effects-wrapper"
))
return
t
.
parent
();
var
i
=
{
width
:
t
.
outerWidth
(
!
0
),
height
:
t
.
outerHeight
(
!
0
),
"float"
:
t
.
css
(
"float"
)},
a
=
e
(
"<div></div>"
).
addClass
(
"ui-effects-wrapper"
).
css
({
fontSize
:
"100%"
,
background
:
"transparent"
,
border
:
"none"
,
margin
:
0
,
padding
:
0
}),
s
=
{
width
:
t
.
width
(),
height
:
t
.
height
()},
n
=
document
.
activeElement
;
try
{
n
.
id
}
catch
(
r
){
n
=
document
.
body
}
return
t
.
wrap
(
a
),(
t
[
0
]
===
n
||
e
.
contains
(
t
[
0
],
n
))
&&
e
(
n
).
focus
(),
a
=
t
.
parent
(),
"static"
===
t
.
css
(
"position"
)
?
(
a
.
css
({
position
:
"relative"
}),
t
.
css
({
position
:
"relative"
}))
:
(
e
.
extend
(
i
,{
position
:
t
.
css
(
"position"
),
zIndex
:
t
.
css
(
"z-index"
)}),
e
.
each
([
"top"
,
"left"
,
"bottom"
,
"right"
],
function
(
e
,
a
){
i
[
a
]
=
t
.
css
(
a
),
isNaN
(
parseInt
(
i
[
a
],
10
))
&&
(
i
[
a
]
=
"auto"
)}),
t
.
css
({
position
:
"relative"
,
top
:
0
,
left
:
0
,
right
:
"auto"
,
bottom
:
"auto"
})),
t
.
css
(
s
),
a
.
css
(
i
).
show
()},
removeWrapper
:
function
(
t
){
var
i
=
document
.
activeElement
;
return
t
.
parent
().
is
(
".ui-effects-wrapper"
)
&&
(
t
.
parent
().
replaceWith
(
t
),(
t
[
0
]
===
i
||
e
.
contains
(
t
[
0
],
i
))
&&
e
(
i
).
focus
()),
t
},
setTransition
:
function
(
t
,
i
,
a
,
s
){
return
s
=
s
||
{},
e
.
each
(
i
,
function
(
e
,
i
){
var
n
=
t
.
cssUnit
(
i
);
n
[
0
]
>
0
&&
(
s
[
i
]
=
n
[
0
]
*
a
+
n
[
1
])}),
s
}}),
e
.
fn
.
extend
({
effect
:
function
(){
function
t
(
t
){
function
i
(){
e
.
isFunction
(
n
)
&&
n
.
call
(
s
[
0
]),
e
.
isFunction
(
t
)
&&
t
()}
var
s
=
e
(
this
),
n
=
a
.
complete
,
r
=
a
.
mode
;(
s
.
is
(
":hidden"
)
?
"hide"
===
r
:
"show"
===
r
)
?
i
()
:
o
.
call
(
s
[
0
],
a
,
i
)}
var
a
=
s
.
apply
(
this
,
arguments
),
n
=
a
.
mode
,
r
=
a
.
queue
,
o
=
e
.
effects
.
effect
[
a
.
effect
],
h
=!
o
&&
i
&&
e
.
effects
[
a
.
effect
];
return
e
.
fx
.
off
||!
o
&&!
h
?
n
?
this
[
n
](
a
.
duration
,
a
.
complete
)
:
this
.
each
(
function
(){
a
.
complete
&&
a
.
complete
.
call
(
this
)})
:
o
?
r
===!
1
?
this
.
each
(
t
)
:
this
.
queue
(
r
||
"fx"
,
t
)
:
h
.
call
(
this
,{
options
:
a
,
duration
:
a
.
duration
,
callback
:
a
.
complete
,
mode
:
a
.
mode
})},
_show
:
e
.
fn
.
show
,
show
:
function
(
e
){
if
(
n
(
e
))
return
this
.
_show
.
apply
(
this
,
arguments
);
var
t
=
s
.
apply
(
this
,
arguments
);
return
t
.
mode
=
"show"
,
this
.
effect
.
call
(
this
,
t
)},
_hide
:
e
.
fn
.
hide
,
hide
:
function
(
e
){
if
(
n
(
e
))
return
this
.
_hide
.
apply
(
this
,
arguments
);
var
t
=
s
.
apply
(
this
,
arguments
);
return
t
.
mode
=
"hide"
,
this
.
effect
.
call
(
this
,
t
)},
__toggle
:
e
.
fn
.
toggle
,
toggle
:
function
(
t
){
if
(
n
(
t
)
||
"boolean"
==
typeof
t
||
e
.
isFunction
(
t
))
return
this
.
__toggle
.
apply
(
this
,
arguments
);
var
i
=
s
.
apply
(
this
,
arguments
);
return
i
.
mode
=
"toggle"
,
this
.
effect
.
call
(
this
,
i
)},
cssUnit
:
function
(
t
){
var
i
=
this
.
css
(
t
),
a
=
[];
return
e
.
each
([
"em"
,
"px"
,
"%"
,
"pt"
],
function
(
e
,
t
){
i
.
indexOf
(
t
)
>
0
&&
(
a
=
[
parseFloat
(
i
),
t
])}),
a
}})}(),
function
(){
var
t
=
{};
e
.
each
([
"Quad"
,
"Cubic"
,
"Quart"
,
"Quint"
,
"Expo"
],
function
(
e
,
i
){
t
[
i
]
=
function
(
t
){
return
Math
.
pow
(
t
,
e
+
2
)}}),
e
.
extend
(
t
,{
Sine
:
function
(
e
){
return
1
-
Math
.
cos
(
e
*
Math
.
PI
/
2
)},
Circ
:
function
(
e
){
return
1
-
Math
.
sqrt
(
1
-
e
*
e
)},
Elastic
:
function
(
e
){
return
0
===
e
||
1
===
e
?
e
:-
Math
.
pow
(
2
,
8
*
(
e
-
1
))
*
Math
.
sin
((
80
*
(
e
-
1
)
-
7.5
)
*
Math
.
PI
/
15
)},
Back
:
function
(
e
){
return
e
*
e
*
(
3
*
e
-
2
)},
Bounce
:
function
(
e
){
for
(
var
t
,
i
=
4
;((
t
=
Math
.
pow
(
2
,
--
i
))
-
1
)
/
11
>
e
;);
return
1
/
Math
.
pow
(
4
,
3
-
i
)
-
7.5625
*
Math
.
pow
((
3
*
t
-
2
)
/
22
-
e
,
2
)}}),
e
.
each
(
t
,
function
(
t
,
i
){
e
.
easing
[
"easeIn"
+
t
]
=
i
,
e
.
easing
[
"easeOut"
+
t
]
=
function
(
e
){
return
1
-
i
(
1
-
e
)},
e
.
easing
[
"easeInOut"
+
t
]
=
function
(
e
){
return
.5
>
e
?
i
(
2
*
e
)
/
2
:
1
-
i
(
-
2
*
e
+
2
)
/
2
}})}()}(
jQuery
);(
function
(
e
){
var
t
=
/up|down|vertical/
,
i
=
/up|left|vertical|horizontal/
;
e
.
effects
.
effect
.
blind
=
function
(
a
,
s
){
var
n
,
r
,
o
,
l
=
e
(
this
),
h
=
[
"position"
,
"top"
,
"bottom"
,
"left"
,
"right"
,
"height"
,
"width"
],
u
=
e
.
effects
.
setMode
(
l
,
a
.
mode
||
"hide"
),
d
=
a
.
direction
||
"up"
,
c
=
t
.
test
(
d
),
p
=
c
?
"height"
:
"width"
,
m
=
c
?
"top"
:
"left"
,
f
=
i
.
test
(
d
),
g
=
{},
v
=
"show"
===
u
;
l
.
parent
().
is
(
".ui-effects-wrapper"
)
?
e
.
effects
.
save
(
l
.
parent
(),
h
)
:
e
.
effects
.
save
(
l
,
h
),
l
.
show
(),
n
=
e
.
effects
.
createWrapper
(
l
).
css
({
overflow
:
"hidden"
}),
r
=
n
[
p
](),
o
=
parseFloat
(
n
.
css
(
m
))
||
0
,
g
[
p
]
=
v
?
r
:
0
,
f
||
(
l
.
css
(
c
?
"bottom"
:
"right"
,
0
).
css
(
c
?
"top"
:
"left"
,
"auto"
).
css
({
position
:
"absolute"
}),
g
[
m
]
=
v
?
o
:
r
+
o
),
v
&&
(
n
.
css
(
p
,
0
),
f
||
n
.
css
(
m
,
o
+
r
)),
n
.
animate
(
g
,{
duration
:
a
.
duration
,
easing
:
a
.
easing
,
queue
:!
1
,
complete
:
function
(){
"hide"
===
u
&&
l
.
hide
(),
e
.
effects
.
restore
(
l
,
h
),
e
.
effects
.
removeWrapper
(
l
),
s
()}})}})(
jQuery
);(
function
(
e
){
e
.
effects
.
effect
.
bounce
=
function
(
t
,
i
){
var
a
,
s
,
n
,
r
=
e
(
this
),
o
=
[
"position"
,
"top"
,
"bottom"
,
"left"
,
"right"
,
"height"
,
"width"
],
l
=
e
.
effects
.
setMode
(
r
,
t
.
mode
||
"effect"
),
h
=
"hide"
===
l
,
u
=
"show"
===
l
,
d
=
t
.
direction
||
"up"
,
c
=
t
.
distance
,
p
=
t
.
times
||
5
,
m
=
2
*
p
+
(
u
||
h
?
1
:
0
),
f
=
t
.
duration
/
m
,
g
=
t
.
easing
,
v
=
"up"
===
d
||
"down"
===
d
?
"top"
:
"left"
,
y
=
"up"
===
d
||
"left"
===
d
,
b
=
r
.
queue
(),
_
=
b
.
length
;
for
((
u
||
h
)
&&
o
.
push
(
"opacity"
),
e
.
effects
.
save
(
r
,
o
),
r
.
show
(),
e
.
effects
.
createWrapper
(
r
),
c
||
(
c
=
r
[
"top"
===
v
?
"outerHeight"
:
"outerWidth"
]()
/
3
),
u
&&
(
n
=
{
opacity
:
1
},
n
[
v
]
=
0
,
r
.
css
(
"opacity"
,
0
).
css
(
v
,
y
?
2
*-
c
:
2
*
c
).
animate
(
n
,
f
,
g
)),
h
&&
(
c
/=
Math
.
pow
(
2
,
p
-
1
)),
n
=
{},
n
[
v
]
=
0
,
a
=
0
;
p
>
a
;
a
++
)
s
=
{},
s
[
v
]
=
(
y
?
"-="
:
"+="
)
+
c
,
r
.
animate
(
s
,
f
,
g
).
animate
(
n
,
f
,
g
),
c
=
h
?
2
*
c
:
c
/
2
;
h
&&
(
s
=
{
opacity
:
0
},
s
[
v
]
=
(
y
?
"-="
:
"+="
)
+
c
,
r
.
animate
(
s
,
f
,
g
)),
r
.
queue
(
function
(){
h
&&
r
.
hide
(),
e
.
effects
.
restore
(
r
,
o
),
e
.
effects
.
removeWrapper
(
r
),
i
()}),
_
>
1
&&
b
.
splice
.
apply
(
b
,[
1
,
0
].
concat
(
b
.
splice
(
_
,
m
+
1
))),
r
.
dequeue
()}})(
jQuery
);(
function
(
e
){
e
.
effects
.
effect
.
clip
=
function
(
t
,
i
){
var
a
,
s
,
n
,
r
=
e
(
this
),
o
=
[
"position"
,
"top"
,
"bottom"
,
"left"
,
"right"
,
"height"
,
"width"
],
l
=
e
.
effects
.
setMode
(
r
,
t
.
mode
||
"hide"
),
h
=
"show"
===
l
,
u
=
t
.
direction
||
"vertical"
,
d
=
"vertical"
===
u
,
c
=
d
?
"height"
:
"width"
,
p
=
d
?
"top"
:
"left"
,
m
=
{};
e
.
effects
.
save
(
r
,
o
),
r
.
show
(),
a
=
e
.
effects
.
createWrapper
(
r
).
css
({
overflow
:
"hidden"
}),
s
=
"IMG"
===
r
[
0
].
tagName
?
a
:
r
,
n
=
s
[
c
](),
h
&&
(
s
.
css
(
c
,
0
),
s
.
css
(
p
,
n
/
2
)),
m
[
c
]
=
h
?
n
:
0
,
m
[
p
]
=
h
?
0
:
n
/
2
,
s
.
animate
(
m
,{
queue
:!
1
,
duration
:
t
.
duration
,
easing
:
t
.
easing
,
complete
:
function
(){
h
||
r
.
hide
(),
e
.
effects
.
restore
(
r
,
o
),
e
.
effects
.
removeWrapper
(
r
),
i
()}})}})(
jQuery
);(
function
(
e
){
e
.
effects
.
effect
.
drop
=
function
(
t
,
i
){
var
a
,
s
=
e
(
this
),
n
=
[
"position"
,
"top"
,
"bottom"
,
"left"
,
"right"
,
"opacity"
,
"height"
,
"width"
],
r
=
e
.
effects
.
setMode
(
s
,
t
.
mode
||
"hide"
),
o
=
"show"
===
r
,
l
=
t
.
direction
||
"left"
,
h
=
"up"
===
l
||
"down"
===
l
?
"top"
:
"left"
,
u
=
"up"
===
l
||
"left"
===
l
?
"pos"
:
"neg"
,
d
=
{
opacity
:
o
?
1
:
0
};
e
.
effects
.
save
(
s
,
n
),
s
.
show
(),
e
.
effects
.
createWrapper
(
s
),
a
=
t
.
distance
||
s
[
"top"
===
h
?
"outerHeight"
:
"outerWidth"
](
!
0
)
/
2
,
o
&&
s
.
css
(
"opacity"
,
0
).
css
(
h
,
"pos"
===
u
?-
a
:
a
),
d
[
h
]
=
(
o
?
"pos"
===
u
?
"+="
:
"-="
:
"pos"
===
u
?
"-="
:
"+="
)
+
a
,
s
.
animate
(
d
,{
queue
:!
1
,
duration
:
t
.
duration
,
easing
:
t
.
easing
,
complete
:
function
(){
"hide"
===
r
&&
s
.
hide
(),
e
.
effects
.
restore
(
s
,
n
),
e
.
effects
.
removeWrapper
(
s
),
i
()}})}})(
jQuery
);(
function
(
e
){
e
.
effects
.
effect
.
explode
=
function
(
t
,
i
){
function
a
(){
b
.
push
(
this
),
b
.
length
===
d
*
c
&&
s
()}
function
s
(){
p
.
css
({
visibility
:
"visible"
}),
e
(
b
).
remove
(),
f
||
p
.
hide
(),
i
()}
var
n
,
r
,
o
,
l
,
h
,
u
,
d
=
t
.
pieces
?
Math
.
round
(
Math
.
sqrt
(
t
.
pieces
))
:
3
,
c
=
d
,
p
=
e
(
this
),
m
=
e
.
effects
.
setMode
(
p
,
t
.
mode
||
"hide"
),
f
=
"show"
===
m
,
g
=
p
.
show
().
css
(
"visibility"
,
"hidden"
).
offset
(),
v
=
Math
.
ceil
(
p
.
outerWidth
()
/
c
),
y
=
Math
.
ceil
(
p
.
outerHeight
()
/
d
),
b
=
[];
for
(
n
=
0
;
d
>
n
;
n
++
)
for
(
l
=
g
.
top
+
n
*
y
,
u
=
n
-
(
d
-
1
)
/
2
,
r
=
0
;
c
>
r
;
r
++
)
o
=
g
.
left
+
r
*
v
,
h
=
r
-
(
c
-
1
)
/
2
,
p
.
clone
().
appendTo
(
"body"
).
wrap
(
"<div></div>"
).
css
({
position
:
"absolute"
,
visibility
:
"visible"
,
left
:-
r
*
v
,
top
:-
n
*
y
}).
parent
().
addClass
(
"ui-effects-explode"
).
css
({
position
:
"absolute"
,
overflow
:
"hidden"
,
width
:
v
,
height
:
y
,
left
:
o
+
(
f
?
h
*
v
:
0
),
top
:
l
+
(
f
?
u
*
y
:
0
),
opacity
:
f
?
0
:
1
}).
animate
({
left
:
o
+
(
f
?
0
:
h
*
v
),
top
:
l
+
(
f
?
0
:
u
*
y
),
opacity
:
f
?
1
:
0
},
t
.
duration
||
500
,
t
.
easing
,
a
)}})(
jQuery
);(
function
(
e
){
e
.
effects
.
effect
.
fade
=
function
(
t
,
i
){
var
a
=
e
(
this
),
s
=
e
.
effects
.
setMode
(
a
,
t
.
mode
||
"toggle"
);
a
.
animate
({
opacity
:
s
},{
queue
:!
1
,
duration
:
t
.
duration
,
easing
:
t
.
easing
,
complete
:
i
})}})(
jQuery
);(
function
(
e
){
e
.
effects
.
effect
.
fold
=
function
(
t
,
i
){
var
a
,
s
,
n
=
e
(
this
),
r
=
[
"position"
,
"top"
,
"bottom"
,
"left"
,
"right"
,
"height"
,
"width"
],
o
=
e
.
effects
.
setMode
(
n
,
t
.
mode
||
"hide"
),
l
=
"show"
===
o
,
h
=
"hide"
===
o
,
u
=
t
.
size
||
15
,
d
=
/([0-9]+)%/
.
exec
(
u
),
c
=!!
t
.
horizFirst
,
p
=
l
!==
c
,
m
=
p
?
[
"width"
,
"height"
]
:
[
"height"
,
"width"
],
f
=
t
.
duration
/
2
,
g
=
{},
v
=
{};
e
.
effects
.
save
(
n
,
r
),
n
.
show
(),
a
=
e
.
effects
.
createWrapper
(
n
).
css
({
overflow
:
"hidden"
}),
s
=
p
?
[
a
.
width
(),
a
.
height
()]
:
[
a
.
height
(),
a
.
width
()],
d
&&
(
u
=
parseInt
(
d
[
1
],
10
)
/
100
*
s
[
h
?
0
:
1
]),
l
&&
a
.
css
(
c
?
{
height
:
0
,
width
:
u
}
:
{
height
:
u
,
width
:
0
}),
g
[
m
[
0
]]
=
l
?
s
[
0
]
:
u
,
v
[
m
[
1
]]
=
l
?
s
[
1
]
:
0
,
a
.
animate
(
g
,
f
,
t
.
easing
).
animate
(
v
,
f
,
t
.
easing
,
function
(){
h
&&
n
.
hide
(),
e
.
effects
.
restore
(
n
,
r
),
e
.
effects
.
removeWrapper
(
n
),
i
()})}})(
jQuery
);(
function
(
e
){
e
.
effects
.
effect
.
highlight
=
function
(
t
,
i
){
var
a
=
e
(
this
),
s
=
[
"backgroundImage"
,
"backgroundColor"
,
"opacity"
],
n
=
e
.
effects
.
setMode
(
a
,
t
.
mode
||
"show"
),
r
=
{
backgroundColor
:
a
.
css
(
"backgroundColor"
)};
"hide"
===
n
&&
(
r
.
opacity
=
0
),
e
.
effects
.
save
(
a
,
s
),
a
.
show
().
css
({
backgroundImage
:
"none"
,
backgroundColor
:
t
.
color
||
"#ffff99"
}).
animate
(
r
,{
queue
:!
1
,
duration
:
t
.
duration
,
easing
:
t
.
easing
,
complete
:
function
(){
"hide"
===
n
&&
a
.
hide
(),
e
.
effects
.
restore
(
a
,
s
),
i
()}})}})(
jQuery
);(
function
(
e
){
e
.
effects
.
effect
.
pulsate
=
function
(
t
,
i
){
var
a
,
s
=
e
(
this
),
n
=
e
.
effects
.
setMode
(
s
,
t
.
mode
||
"show"
),
r
=
"show"
===
n
,
o
=
"hide"
===
n
,
l
=
r
||
"hide"
===
n
,
h
=
2
*
(
t
.
times
||
5
)
+
(
l
?
1
:
0
),
u
=
t
.
duration
/
h
,
d
=
0
,
c
=
s
.
queue
(),
p
=
c
.
length
;
for
((
r
||!
s
.
is
(
":visible"
))
&&
(
s
.
css
(
"opacity"
,
0
).
show
(),
d
=
1
),
a
=
1
;
h
>
a
;
a
++
)
s
.
animate
({
opacity
:
d
},
u
,
t
.
easing
),
d
=
1
-
d
;
s
.
animate
({
opacity
:
d
},
u
,
t
.
easing
),
s
.
queue
(
function
(){
o
&&
s
.
hide
(),
i
()}),
p
>
1
&&
c
.
splice
.
apply
(
c
,[
1
,
0
].
concat
(
c
.
splice
(
p
,
h
+
1
))),
s
.
dequeue
()}})(
jQuery
);(
function
(
e
){
e
.
effects
.
effect
.
puff
=
function
(
t
,
i
){
var
a
=
e
(
this
),
s
=
e
.
effects
.
setMode
(
a
,
t
.
mode
||
"hide"
),
n
=
"hide"
===
s
,
r
=
parseInt
(
t
.
percent
,
10
)
||
150
,
o
=
r
/
100
,
h
=
{
height
:
a
.
height
(),
width
:
a
.
width
(),
outerHeight
:
a
.
outerHeight
(),
outerWidth
:
a
.
outerWidth
()};
e
.
extend
(
t
,{
effect
:
"scale"
,
queue
:!
1
,
fade
:!
0
,
mode
:
s
,
complete
:
i
,
percent
:
n
?
r
:
100
,
from
:
n
?
h
:
{
height
:
h
.
height
*
o
,
width
:
h
.
width
*
o
,
outerHeight
:
h
.
outerHeight
*
o
,
outerWidth
:
h
.
outerWidth
*
o
}}),
a
.
effect
(
t
)},
e
.
effects
.
effect
.
scale
=
function
(
t
,
i
){
var
a
=
e
(
this
),
s
=
e
.
extend
(
!
0
,{},
t
),
n
=
e
.
effects
.
setMode
(
a
,
t
.
mode
||
"effect"
),
r
=
parseInt
(
t
.
percent
,
10
)
||
(
0
===
parseInt
(
t
.
percent
,
10
)
?
0
:
"hide"
===
n
?
0
:
100
),
o
=
t
.
direction
||
"both"
,
h
=
t
.
origin
,
l
=
{
height
:
a
.
height
(),
width
:
a
.
width
(),
outerHeight
:
a
.
outerHeight
(),
outerWidth
:
a
.
outerWidth
()},
u
=
{
y
:
"horizontal"
!==
o
?
r
/
100
:
1
,
x
:
"vertical"
!==
o
?
r
/
100
:
1
};
s
.
effect
=
"size"
,
s
.
queue
=!
1
,
s
.
complete
=
i
,
"effect"
!==
n
&&
(
s
.
origin
=
h
||
[
"middle"
,
"center"
],
s
.
restore
=!
0
),
s
.
from
=
t
.
from
||
(
"show"
===
n
?
{
height
:
0
,
width
:
0
,
outerHeight
:
0
,
outerWidth
:
0
}
:
l
),
s
.
to
=
{
height
:
l
.
height
*
u
.
y
,
width
:
l
.
width
*
u
.
x
,
outerHeight
:
l
.
outerHeight
*
u
.
y
,
outerWidth
:
l
.
outerWidth
*
u
.
x
},
s
.
fade
&&
(
"show"
===
n
&&
(
s
.
from
.
opacity
=
0
,
s
.
to
.
opacity
=
1
),
"hide"
===
n
&&
(
s
.
from
.
opacity
=
1
,
s
.
to
.
opacity
=
0
)),
a
.
effect
(
s
)},
e
.
effects
.
effect
.
size
=
function
(
t
,
i
){
var
a
,
s
,
n
,
r
=
e
(
this
),
o
=
[
"position"
,
"top"
,
"bottom"
,
"left"
,
"right"
,
"width"
,
"height"
,
"overflow"
,
"opacity"
],
h
=
[
"position"
,
"top"
,
"bottom"
,
"left"
,
"right"
,
"overflow"
,
"opacity"
],
l
=
[
"width"
,
"height"
,
"overflow"
],
u
=
[
"fontSize"
],
d
=
[
"borderTopWidth"
,
"borderBottomWidth"
,
"paddingTop"
,
"paddingBottom"
],
c
=
[
"borderLeftWidth"
,
"borderRightWidth"
,
"paddingLeft"
,
"paddingRight"
],
p
=
e
.
effects
.
setMode
(
r
,
t
.
mode
||
"effect"
),
f
=
t
.
restore
||
"effect"
!==
p
,
m
=
t
.
scale
||
"both"
,
g
=
t
.
origin
||
[
"middle"
,
"center"
],
v
=
r
.
css
(
"position"
),
y
=
f
?
o
:
h
,
b
=
{
height
:
0
,
width
:
0
,
outerHeight
:
0
,
outerWidth
:
0
};
"show"
===
p
&&
r
.
show
(),
a
=
{
height
:
r
.
height
(),
width
:
r
.
width
(),
outerHeight
:
r
.
outerHeight
(),
outerWidth
:
r
.
outerWidth
()},
"toggle"
===
t
.
mode
&&
"show"
===
p
?
(
r
.
from
=
t
.
to
||
b
,
r
.
to
=
t
.
from
||
a
)
:
(
r
.
from
=
t
.
from
||
(
"show"
===
p
?
b
:
a
),
r
.
to
=
t
.
to
||
(
"hide"
===
p
?
b
:
a
)),
n
=
{
from
:
{
y
:
r
.
from
.
height
/
a
.
height
,
x
:
r
.
from
.
width
/
a
.
width
},
to
:
{
y
:
r
.
to
.
height
/
a
.
height
,
x
:
r
.
to
.
width
/
a
.
width
}},(
"box"
===
m
||
"both"
===
m
)
&&
(
n
.
from
.
y
!==
n
.
to
.
y
&&
(
y
=
y
.
concat
(
d
),
r
.
from
=
e
.
effects
.
setTransition
(
r
,
d
,
n
.
from
.
y
,
r
.
from
),
r
.
to
=
e
.
effects
.
setTransition
(
r
,
d
,
n
.
to
.
y
,
r
.
to
)),
n
.
from
.
x
!==
n
.
to
.
x
&&
(
y
=
y
.
concat
(
c
),
r
.
from
=
e
.
effects
.
setTransition
(
r
,
c
,
n
.
from
.
x
,
r
.
from
),
r
.
to
=
e
.
effects
.
setTransition
(
r
,
c
,
n
.
to
.
x
,
r
.
to
))),(
"content"
===
m
||
"both"
===
m
)
&&
n
.
from
.
y
!==
n
.
to
.
y
&&
(
y
=
y
.
concat
(
u
).
concat
(
l
),
r
.
from
=
e
.
effects
.
setTransition
(
r
,
u
,
n
.
from
.
y
,
r
.
from
),
r
.
to
=
e
.
effects
.
setTransition
(
r
,
u
,
n
.
to
.
y
,
r
.
to
)),
e
.
effects
.
save
(
r
,
y
),
r
.
show
(),
e
.
effects
.
createWrapper
(
r
),
r
.
css
(
"overflow"
,
"hidden"
).
css
(
r
.
from
),
g
&&
(
s
=
e
.
effects
.
getBaseline
(
g
,
a
),
r
.
from
.
top
=
(
a
.
outerHeight
-
r
.
outerHeight
())
*
s
.
y
,
r
.
from
.
left
=
(
a
.
outerWidth
-
r
.
outerWidth
())
*
s
.
x
,
r
.
to
.
top
=
(
a
.
outerHeight
-
r
.
to
.
outerHeight
)
*
s
.
y
,
r
.
to
.
left
=
(
a
.
outerWidth
-
r
.
to
.
outerWidth
)
*
s
.
x
),
r
.
css
(
r
.
from
),(
"content"
===
m
||
"both"
===
m
)
&&
(
d
=
d
.
concat
([
"marginTop"
,
"marginBottom"
]).
concat
(
u
),
c
=
c
.
concat
([
"marginLeft"
,
"marginRight"
]),
l
=
o
.
concat
(
d
).
concat
(
c
),
r
.
find
(
"*[width]"
).
each
(
function
(){
var
i
=
e
(
this
),
a
=
{
height
:
i
.
height
(),
width
:
i
.
width
(),
outerHeight
:
i
.
outerHeight
(),
outerWidth
:
i
.
outerWidth
()};
f
&&
e
.
effects
.
save
(
i
,
l
),
i
.
from
=
{
height
:
a
.
height
*
n
.
from
.
y
,
width
:
a
.
width
*
n
.
from
.
x
,
outerHeight
:
a
.
outerHeight
*
n
.
from
.
y
,
outerWidth
:
a
.
outerWidth
*
n
.
from
.
x
},
i
.
to
=
{
height
:
a
.
height
*
n
.
to
.
y
,
width
:
a
.
width
*
n
.
to
.
x
,
outerHeight
:
a
.
height
*
n
.
to
.
y
,
outerWidth
:
a
.
width
*
n
.
to
.
x
},
n
.
from
.
y
!==
n
.
to
.
y
&&
(
i
.
from
=
e
.
effects
.
setTransition
(
i
,
d
,
n
.
from
.
y
,
i
.
from
),
i
.
to
=
e
.
effects
.
setTransition
(
i
,
d
,
n
.
to
.
y
,
i
.
to
)),
n
.
from
.
x
!==
n
.
to
.
x
&&
(
i
.
from
=
e
.
effects
.
setTransition
(
i
,
c
,
n
.
from
.
x
,
i
.
from
),
i
.
to
=
e
.
effects
.
setTransition
(
i
,
c
,
n
.
to
.
x
,
i
.
to
)),
i
.
css
(
i
.
from
),
i
.
animate
(
i
.
to
,
t
.
duration
,
t
.
easing
,
function
(){
f
&&
e
.
effects
.
restore
(
i
,
l
)})})),
r
.
animate
(
r
.
to
,{
queue
:!
1
,
duration
:
t
.
duration
,
easing
:
t
.
easing
,
complete
:
function
(){
0
===
r
.
to
.
opacity
&&
r
.
css
(
"opacity"
,
r
.
from
.
opacity
),
"hide"
===
p
&&
r
.
hide
(),
e
.
effects
.
restore
(
r
,
y
),
f
||
(
"static"
===
v
?
r
.
css
({
position
:
"relative"
,
top
:
r
.
to
.
top
,
left
:
r
.
to
.
left
})
:
e
.
each
([
"top"
,
"left"
],
function
(
e
,
t
){
r
.
css
(
t
,
function
(
t
,
i
){
var
a
=
parseInt
(
i
,
10
),
s
=
e
?
r
.
to
.
left
:
r
.
to
.
top
;
return
"auto"
===
i
?
s
+
"px"
:
a
+
s
+
"px"
})})),
e
.
effects
.
removeWrapper
(
r
),
i
()}})}})(
jQuery
);(
function
(
e
){
e
.
effects
.
effect
.
shake
=
function
(
t
,
i
){
var
a
,
s
=
e
(
this
),
n
=
[
"position"
,
"top"
,
"bottom"
,
"left"
,
"right"
,
"height"
,
"width"
],
r
=
e
.
effects
.
setMode
(
s
,
t
.
mode
||
"effect"
),
o
=
t
.
direction
||
"left"
,
h
=
t
.
distance
||
20
,
l
=
t
.
times
||
3
,
u
=
2
*
l
+
1
,
d
=
Math
.
round
(
t
.
duration
/
u
),
c
=
"up"
===
o
||
"down"
===
o
?
"top"
:
"left"
,
p
=
"up"
===
o
||
"left"
===
o
,
f
=
{},
m
=
{},
g
=
{},
v
=
s
.
queue
(),
y
=
v
.
length
;
for
(
e
.
effects
.
save
(
s
,
n
),
s
.
show
(),
e
.
effects
.
createWrapper
(
s
),
f
[
c
]
=
(
p
?
"-="
:
"+="
)
+
h
,
m
[
c
]
=
(
p
?
"+="
:
"-="
)
+
2
*
h
,
g
[
c
]
=
(
p
?
"-="
:
"+="
)
+
2
*
h
,
s
.
animate
(
f
,
d
,
t
.
easing
),
a
=
1
;
l
>
a
;
a
++
)
s
.
animate
(
m
,
d
,
t
.
easing
).
animate
(
g
,
d
,
t
.
easing
);
s
.
animate
(
m
,
d
,
t
.
easing
).
animate
(
f
,
d
/
2
,
t
.
easing
).
queue
(
function
(){
"hide"
===
r
&&
s
.
hide
(),
e
.
effects
.
restore
(
s
,
n
),
e
.
effects
.
removeWrapper
(
s
),
i
()}),
y
>
1
&&
v
.
splice
.
apply
(
v
,[
1
,
0
].
concat
(
v
.
splice
(
y
,
u
+
1
))),
s
.
dequeue
()}})(
jQuery
);(
function
(
e
){
e
.
effects
.
effect
.
slide
=
function
(
t
,
i
){
var
a
,
s
=
e
(
this
),
n
=
[
"position"
,
"top"
,
"bottom"
,
"left"
,
"right"
,
"width"
,
"height"
],
r
=
e
.
effects
.
setMode
(
s
,
t
.
mode
||
"show"
),
o
=
"show"
===
r
,
h
=
t
.
direction
||
"left"
,
l
=
"up"
===
h
||
"down"
===
h
?
"top"
:
"left"
,
u
=
"up"
===
h
||
"left"
===
h
,
d
=
{};
e
.
effects
.
save
(
s
,
n
),
s
.
show
(),
a
=
t
.
distance
||
s
[
"top"
===
l
?
"outerHeight"
:
"outerWidth"
](
!
0
),
e
.
effects
.
createWrapper
(
s
).
css
({
overflow
:
"hidden"
}),
o
&&
s
.
css
(
l
,
u
?
isNaN
(
a
)
?
"-"
+
a
:-
a
:
a
),
d
[
l
]
=
(
o
?
u
?
"+="
:
"-="
:
u
?
"-="
:
"+="
)
+
a
,
s
.
animate
(
d
,{
queue
:!
1
,
duration
:
t
.
duration
,
easing
:
t
.
easing
,
complete
:
function
(){
"hide"
===
r
&&
s
.
hide
(),
e
.
effects
.
restore
(
s
,
n
),
e
.
effects
.
removeWrapper
(
s
),
i
()}})}})(
jQuery
);(
function
(
e
){
e
.
effects
.
effect
.
transfer
=
function
(
t
,
i
){
var
a
=
e
(
this
),
s
=
e
(
t
.
to
),
n
=
"fixed"
===
s
.
css
(
"position"
),
r
=
e
(
"body"
),
o
=
n
?
r
.
scrollTop
()
:
0
,
h
=
n
?
r
.
scrollLeft
()
:
0
,
l
=
s
.
offset
(),
u
=
{
top
:
l
.
top
-
o
,
left
:
l
.
left
-
h
,
height
:
s
.
innerHeight
(),
width
:
s
.
innerWidth
()},
d
=
a
.
offset
(),
c
=
e
(
'<div class="ui-effects-transfer"></div>'
).
appendTo
(
document
.
body
).
addClass
(
t
.
className
).
css
({
top
:
d
.
top
-
o
,
left
:
d
.
left
-
h
,
height
:
a
.
innerHeight
(),
width
:
a
.
innerWidth
(),
position
:
n
?
"fixed"
:
"absolute"
}).
animate
(
u
,
t
.
duration
,
t
.
easing
,
function
(){
c
.
remove
(),
i
()})}})(
jQuery
);
File Metadata
Details
Attached
Mime Type
text/plain
Expires
Sat, Apr 4, 1:43 AM (1 w, 2 d ago)
Storage Engine
blob
Storage Format
Raw Data
Storage Handle
18821991
Default Alt Text
jquery-ui-1.9.2.custom.min.js (231 KB)
Attached To
Mode
R113 roundcubemail
Attached
Detach File
Event Timeline