Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Support
Submit feedback
Contribute to GitLab
Sign in / Register
Toggle navigation
S
solo
Project overview
Project overview
Details
Activity
Releases
Cycle Analytics
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Issues
0
Issues
0
List
Boards
Labels
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Charts
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
Administrator
solo
Commits
fff689ea
Commit
fff689ea
authored
Oct 01, 2015
by
Van
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
upgrade fancybox
parent
c60993e0
Changes
7
Hide whitespace changes
Inline
Side-by-side
Showing
7 changed files
with
111 additions
and
73 deletions
+111
-73
src/main/webapp/plugins/fancybox/js/fancybox_loading.gif
src/main/webapp/plugins/fancybox/js/fancybox_loading.gif
+0
-0
src/main/webapp/plugins/fancybox/js/fancybox_loading@2x.gif
src/main/webapp/plugins/fancybox/js/fancybox_loading@2x.gif
+0
-0
src/main/webapp/plugins/fancybox/js/fancybox_overlay.png
src/main/webapp/plugins/fancybox/js/fancybox_overlay.png
+0
-0
src/main/webapp/plugins/fancybox/js/fancybox_sprite.png
src/main/webapp/plugins/fancybox/js/fancybox_sprite.png
+0
-0
src/main/webapp/plugins/fancybox/js/fancybox_sprite@2x.png
src/main/webapp/plugins/fancybox/js/fancybox_sprite@2x.png
+0
-0
src/main/webapp/plugins/fancybox/js/jquery.fancybox.css
src/main/webapp/plugins/fancybox/js/jquery.fancybox.css
+65
-25
src/main/webapp/plugins/fancybox/js/jquery.fancybox.pack.js
src/main/webapp/plugins/fancybox/js/jquery.fancybox.pack.js
+46
-48
No files found.
src/main/webapp/plugins/fancybox/js/fancybox_loading.gif
View replaced file @
c60993e0
View file @
fff689ea
3.78 KB
|
W:
|
H:
6.41 KB
|
W:
|
H:
2-up
Swipe
Onion skin
src/main/webapp/plugins/fancybox/js/fancybox_loading@2x.gif
0 → 100644
View file @
fff689ea
13.7 KB
src/main/webapp/plugins/fancybox/js/fancybox_overlay.png
0 → 100644
View file @
fff689ea
1003 Bytes
src/main/webapp/plugins/fancybox/js/fancybox_sprite.png
View replaced file @
c60993e0
View file @
fff689ea
2.22 KB
|
W:
|
H:
1.33 KB
|
W:
|
H:
2-up
Swipe
Onion skin
src/main/webapp/plugins/fancybox/js/fancybox_sprite@2x.png
0 → 100644
View file @
fff689ea
6.4 KB
src/main/webapp/plugins/fancybox/js/jquery.fancybox.css
View file @
fff689ea
/*! fancyBox v2.0.6 fancyapps.com | fancyapps.com/fancybox/#license */
/*! fancyBox v2.1.5 fancyapps.com | fancyapps.com/fancybox/#license */
.fancybox-tmp
iframe
,
.fancybox-tmp
object
{
.fancybox-wrap
,
vertical-align
:
top
;
.fancybox-skin
,
.fancybox-outer
,
.fancybox-inner
,
.fancybox-image
,
.fancybox-wrap
iframe
,
.fancybox-wrap
object
,
.fancybox-nav
,
.fancybox-nav
span
,
.fancybox-tmp
{
padding
:
0
;
padding
:
0
;
margin
:
0
;
margin
:
0
;
border
:
0
;
outline
:
none
;
vertical-align
:
top
;
}
}
.fancybox-wrap
{
.fancybox-wrap
{
...
@@ -14,8 +26,6 @@
...
@@ -14,8 +26,6 @@
.fancybox-skin
{
.fancybox-skin
{
position
:
relative
;
position
:
relative
;
padding
:
0
;
margin
:
0
;
background
:
#f9f9f9
;
background
:
#f9f9f9
;
color
:
#444
;
color
:
#444
;
text-shadow
:
none
;
text-shadow
:
none
;
...
@@ -35,10 +45,7 @@
...
@@ -35,10 +45,7 @@
}
}
.fancybox-outer
,
.fancybox-inner
{
.fancybox-outer
,
.fancybox-inner
{
padding
:
0
;
margin
:
0
;
position
:
relative
;
position
:
relative
;
outline
:
none
;
}
}
.fancybox-inner
{
.fancybox-inner
{
...
@@ -53,17 +60,14 @@
...
@@ -53,17 +60,14 @@
color
:
#444
;
color
:
#444
;
font
:
14px
/
20px
"Helvetica Neue"
,
Helvetica
,
Arial
,
sans-serif
;
font
:
14px
/
20px
"Helvetica Neue"
,
Helvetica
,
Arial
,
sans-serif
;
margin
:
0
;
margin
:
0
;
padding
:
10px
;
padding
:
15px
;
white-space
:
nowrap
;
}
}
.fancybox-image
,
.fancybox-iframe
{
.fancybox-image
,
.fancybox-iframe
{
display
:
block
;
display
:
block
;
width
:
100%
;
width
:
100%
;
height
:
100%
;
height
:
100%
;
border
:
0
;
padding
:
0
;
margin
:
0
;
vertical-align
:
top
;
}
}
.fancybox-image
{
.fancybox-image
{
...
@@ -84,7 +88,7 @@
...
@@ -84,7 +88,7 @@
background-position
:
0
-108px
;
background-position
:
0
-108px
;
opacity
:
0.8
;
opacity
:
0.8
;
cursor
:
pointer
;
cursor
:
pointer
;
z-index
:
80
2
0
;
z-index
:
80
6
0
;
}
}
#fancybox-loading
div
{
#fancybox-loading
div
{
...
@@ -109,6 +113,7 @@
...
@@ -109,6 +113,7 @@
width
:
40%
;
width
:
40%
;
height
:
100%
;
height
:
100%
;
cursor
:
pointer
;
cursor
:
pointer
;
text-decoration
:
none
;
background
:
transparent
url('blank.gif')
;
/* helps IE */
background
:
transparent
url('blank.gif')
;
/* helps IE */
-webkit-tap-highlight-color
:
rgba
(
0
,
0
,
0
,
0
);
-webkit-tap-highlight-color
:
rgba
(
0
,
0
,
0
,
0
);
z-index
:
8040
;
z-index
:
8040
;
...
@@ -134,12 +139,12 @@
...
@@ -134,12 +139,12 @@
}
}
.fancybox-prev
span
{
.fancybox-prev
span
{
left
:
2
0px
;
left
:
1
0px
;
background-position
:
0
-36px
;
background-position
:
0
-36px
;
}
}
.fancybox-next
span
{
.fancybox-next
span
{
right
:
2
0px
;
right
:
1
0px
;
background-position
:
0
-72px
;
background-position
:
0
-72px
;
}
}
...
@@ -149,31 +154,50 @@
...
@@ -149,31 +154,50 @@
.fancybox-tmp
{
.fancybox-tmp
{
position
:
absolute
;
position
:
absolute
;
top
:
-9999px
;
top
:
-99999px
;
left
:
-9999px
;
left
:
-99999px
;
padding
:
0
;
overflow
:
visible
;
visibility
:
hidden
;
visibility
:
hidden
;
max-width
:
99999px
;
max-height
:
99999px
;
overflow
:
visible
!important
;
}
}
/* Overlay helper */
/* Overlay helper */
#fancybox-overlay
{
.fancybox-lock
{
overflow
:
hidden
!important
;
width
:
auto
;
}
.fancybox-lock
body
{
overflow
:
hidden
!important
;
}
.fancybox-lock-test
{
overflow-y
:
hidden
!important
;
}
.fancybox-overlay
{
position
:
absolute
;
position
:
absolute
;
top
:
0
;
top
:
0
;
left
:
0
;
left
:
0
;
overflow
:
hidden
;
overflow
:
hidden
;
display
:
none
;
display
:
none
;
z-index
:
8010
;
z-index
:
8010
;
background
:
#000
;
background
:
url('fancybox_overlay.png')
;
}
}
#fancybox-overlay
.
overlay-fixed
{
.fancybox-
overlay-fixed
{
position
:
fixed
;
position
:
fixed
;
bottom
:
0
;
bottom
:
0
;
right
:
0
;
right
:
0
;
}
}
.fancybox-lock
.fancybox-overlay
{
overflow
:
auto
;
overflow-y
:
scroll
;
}
/* Title helper */
/* Title helper */
.fancybox-title
{
.fancybox-title
{
...
@@ -193,7 +217,7 @@
...
@@ -193,7 +217,7 @@
bottom
:
0
;
bottom
:
0
;
right
:
50%
;
right
:
50%
;
margin-bottom
:
-35px
;
margin-bottom
:
-35px
;
z-index
:
80
3
0
;
z-index
:
80
5
0
;
text-align
:
center
;
text-align
:
center
;
}
}
...
@@ -220,7 +244,7 @@
...
@@ -220,7 +244,7 @@
}
}
.fancybox-title-inside-wrap
{
.fancybox-title-inside-wrap
{
margin
-top
:
10px
;
padding
-top
:
10px
;
}
}
.fancybox-title-over-wrap
{
.fancybox-title-over-wrap
{
...
@@ -231,4 +255,20 @@
...
@@ -231,4 +255,20 @@
padding
:
10px
;
padding
:
10px
;
background
:
#000
;
background
:
#000
;
background
:
rgba
(
0
,
0
,
0
,
.8
);
background
:
rgba
(
0
,
0
,
0
,
.8
);
}
/*Retina graphics!*/
@media
only
screen
and
(
-webkit-min-device-pixel-ratio
:
1.5
),
only
screen
and
(
min--moz-device-pixel-ratio
:
1.5
),
only
screen
and
(
min-device-pixel-ratio
:
1.5
){
#fancybox-loading
,
.fancybox-close
,
.fancybox-prev
span
,
.fancybox-next
span
{
background-image
:
url('fancybox_sprite@2x.png')
;
background-size
:
44px
152px
;
/*The size of the normal image, half the size of the hi-res image*/
}
#fancybox-loading
div
{
background-image
:
url('fancybox_loading@2x.gif')
;
background-size
:
24px
24px
;
/*The size of the normal image, half the size of the hi-res image*/
}
}
}
\ No newline at end of file
src/main/webapp/plugins/fancybox/js/jquery.fancybox.pack.js
View file @
fff689ea
/*! Copyright (c) 2011 Brandon Aaron (http://brandonaaron.net)
/*! fancyBox v2.1.5 fancyapps.com | fancyapps.com/fancybox/#license */
* Licensed under the MIT License (LICENSE.txt).
(
function
(
r
,
G
,
f
,
v
){
var
J
=
f
(
"
html
"
),
n
=
f
(
r
),
p
=
f
(
G
),
b
=
f
.
fancybox
=
function
(){
b
.
open
.
apply
(
this
,
arguments
)},
I
=
navigator
.
userAgent
.
match
(
/msie/i
),
B
=
null
,
s
=
G
.
createTouch
!==
v
,
t
=
function
(
a
){
return
a
&&
a
.
hasOwnProperty
&&
a
instanceof
f
},
q
=
function
(
a
){
return
a
&&
"
string
"
===
f
.
type
(
a
)},
E
=
function
(
a
){
return
q
(
a
)
&&
0
<
a
.
indexOf
(
"
%
"
)},
l
=
function
(
a
,
d
){
var
e
=
parseInt
(
a
,
10
)
||
0
;
d
&&
E
(
a
)
&&
(
e
*=
b
.
getViewport
()[
d
]
/
100
);
return
Math
.
ceil
(
e
)},
w
=
function
(
a
,
b
){
return
l
(
a
,
b
)
+
"
px
"
};
f
.
extend
(
b
,{
version
:
"
2.1.5
"
,
defaults
:{
padding
:
15
,
margin
:
20
,
*
width
:
800
,
height
:
600
,
minWidth
:
100
,
minHeight
:
100
,
maxWidth
:
9999
,
maxHeight
:
9999
,
pixelRatio
:
1
,
autoSize
:
!
0
,
autoHeight
:
!
1
,
autoWidth
:
!
1
,
autoResize
:
!
0
,
autoCenter
:
!
s
,
fitToView
:
!
0
,
aspectRatio
:
!
1
,
topRatio
:
0.5
,
leftRatio
:
0.5
,
scrolling
:
"
auto
"
,
wrapCSS
:
""
,
arrows
:
!
0
,
closeBtn
:
!
0
,
closeClick
:
!
1
,
nextClick
:
!
1
,
mouseWheel
:
!
0
,
autoPlay
:
!
1
,
playSpeed
:
3
E3
,
preload
:
3
,
modal
:
!
1
,
loop
:
!
0
,
ajax
:{
dataType
:
"
html
"
,
headers
:{
"
X-fancyBox
"
:
!
0
}},
iframe
:{
scrolling
:
"
auto
"
,
preload
:
!
0
},
swf
:{
wmode
:
"
transparent
"
,
allowfullscreen
:
"
true
"
,
allowscriptaccess
:
"
always
"
},
* Thanks to: http://adomas.org/javascript-mouse-wheel/ for some pointers.
keys
:{
next
:{
13
:
"
left
"
,
34
:
"
up
"
,
39
:
"
left
"
,
40
:
"
up
"
},
prev
:{
8
:
"
right
"
,
33
:
"
down
"
,
37
:
"
right
"
,
38
:
"
down
"
},
close
:[
27
],
play
:[
32
],
toggle
:[
70
]},
direction
:{
next
:
"
left
"
,
prev
:
"
right
"
},
scrollOutside
:
!
0
,
index
:
0
,
type
:
null
,
href
:
null
,
content
:
null
,
title
:
null
,
tpl
:{
wrap
:
'
<div class="fancybox-wrap" tabIndex="-1"><div class="fancybox-skin"><div class="fancybox-outer"><div class="fancybox-inner"></div></div></div></div>
'
,
image
:
'
<img class="fancybox-image" src="{href}" alt="" />
'
,
iframe
:
'
<iframe id="fancybox-frame{rnd}" name="fancybox-frame{rnd}" class="fancybox-iframe" frameborder="0" vspace="0" hspace="0" webkitAllowFullScreen mozallowfullscreen allowFullScreen
'
+
* Thanks to: Mathias Bank(http://www.mathias-bank.de) for a scope bug fix.
(
I
?
'
allowtransparency="true"
'
:
""
)
+
"
></iframe>
"
,
error
:
'
<p class="fancybox-error">The requested content cannot be loaded.<br/>Please try again later.</p>
'
,
closeBtn
:
'
<a title="Close" class="fancybox-item fancybox-close" href="javascript:;"></a>
'
,
next
:
'
<a title="Next" class="fancybox-nav fancybox-next" href="javascript:;"><span></span></a>
'
,
prev
:
'
<a title="Previous" class="fancybox-nav fancybox-prev" href="javascript:;"><span></span></a>
'
},
openEffect
:
"
fade
"
,
openSpeed
:
250
,
openEasing
:
"
swing
"
,
openOpacity
:
!
0
,
* Thanks to: Seamus Leahy for adding deltaX and deltaY
openMethod
:
"
zoomIn
"
,
closeEffect
:
"
fade
"
,
closeSpeed
:
250
,
closeEasing
:
"
swing
"
,
closeOpacity
:
!
0
,
closeMethod
:
"
zoomOut
"
,
nextEffect
:
"
elastic
"
,
nextSpeed
:
250
,
nextEasing
:
"
swing
"
,
nextMethod
:
"
changeIn
"
,
prevEffect
:
"
elastic
"
,
prevSpeed
:
250
,
prevEasing
:
"
swing
"
,
prevMethod
:
"
changeOut
"
,
helpers
:{
overlay
:
!
0
,
title
:
!
0
},
onCancel
:
f
.
noop
,
beforeLoad
:
f
.
noop
,
afterLoad
:
f
.
noop
,
beforeShow
:
f
.
noop
,
afterShow
:
f
.
noop
,
beforeChange
:
f
.
noop
,
beforeClose
:
f
.
noop
,
afterClose
:
f
.
noop
},
group
:{},
opts
:{},
previous
:
null
,
coming
:
null
,
current
:
null
,
isActive
:
!
1
,
*
isOpen
:
!
1
,
isOpened
:
!
1
,
wrap
:
null
,
skin
:
null
,
outer
:
null
,
inner
:
null
,
player
:{
timer
:
null
,
isActive
:
!
1
},
ajaxLoad
:
null
,
imgPreload
:
null
,
transitions
:{},
helpers
:{},
open
:
function
(
a
,
d
){
if
(
a
&&
(
f
.
isPlainObject
(
d
)
||
(
d
=
{}),
!
1
!==
b
.
close
(
!
0
)))
return
f
.
isArray
(
a
)
||
(
a
=
t
(
a
)?
f
(
a
).
get
():[
a
]),
f
.
each
(
a
,
function
(
e
,
c
){
var
k
=
{},
g
,
h
,
j
,
m
,
l
;
"
object
"
===
f
.
type
(
c
)
&&
(
c
.
nodeType
&&
(
c
=
f
(
c
)),
t
(
c
)?(
k
=
{
href
:
c
.
data
(
"
fancybox-href
"
)
||
c
.
attr
(
"
href
"
),
title
:
c
.
data
(
"
fancybox-title
"
)
||
c
.
attr
(
"
title
"
),
isDom
:
!
0
,
element
:
c
},
f
.
metadata
&&
f
.
extend
(
!
0
,
k
,
* Version: 3.0.6
c
.
metadata
())):
k
=
c
);
g
=
d
.
href
||
k
.
href
||
(
q
(
c
)?
c
:
null
);
h
=
d
.
title
!==
v
?
d
.
title
:
k
.
title
||
""
;
m
=
(
j
=
d
.
content
||
k
.
content
)?
"
html
"
:
d
.
type
||
k
.
type
;
!
m
&&
k
.
isDom
&&
(
m
=
c
.
data
(
"
fancybox-type
"
),
m
||
(
m
=
(
m
=
c
.
prop
(
"
class
"
).
match
(
/fancybox
\.(\w
+
)
/
))?
m
[
1
]:
null
));
q
(
g
)
&&
(
m
||
(
b
.
isImage
(
g
)?
m
=
"
image
"
:
b
.
isSWF
(
g
)?
m
=
"
swf
"
:
"
#
"
===
g
.
charAt
(
0
)?
m
=
"
inline
"
:
q
(
c
)
&&
(
m
=
"
html
"
,
j
=
c
)),
"
ajax
"
===
m
&&
(
l
=
g
.
split
(
/
\s
+/
,
2
),
g
=
l
.
shift
(),
l
=
l
.
shift
()));
j
||
(
"
inline
"
===
m
?
g
?
j
=
f
(
q
(
g
)?
g
.
replace
(
/.*
(?=
#
[^\s]
+$
)
/
,
""
):
g
):
k
.
isDom
&&
(
j
=
c
):
"
html
"
===
m
?
j
=
g
:
!
m
&&
(
!
g
&&
*
k
.
isDom
)
&&
(
m
=
"
inline
"
,
j
=
c
));
f
.
extend
(
k
,{
href
:
g
,
type
:
m
,
content
:
j
,
title
:
h
,
selector
:
l
});
a
[
e
]
=
k
}),
b
.
opts
=
f
.
extend
(
!
0
,{},
b
.
defaults
,
d
),
d
.
keys
!==
v
&&
(
b
.
opts
.
keys
=
d
.
keys
?
f
.
extend
({},
b
.
defaults
.
keys
,
d
.
keys
):
!
1
),
b
.
group
=
a
,
b
.
_start
(
b
.
opts
.
index
)},
cancel
:
function
(){
var
a
=
b
.
coming
;
a
&&!
1
!==
b
.
trigger
(
"
onCancel
"
)
&&
(
b
.
hideLoading
(),
b
.
ajaxLoad
&&
b
.
ajaxLoad
.
abort
(),
b
.
ajaxLoad
=
null
,
b
.
imgPreload
&&
(
b
.
imgPreload
.
onload
=
b
.
imgPreload
.
onerror
=
null
),
a
.
wrap
&&
a
.
wrap
.
stop
(
!
0
,
!
0
).
trigger
(
"
onReset
"
).
remove
(),
b
.
coming
=
null
,
b
.
current
||
* Requires: 1.2.2+
b
.
_afterZoomOut
(
a
))},
close
:
function
(
a
){
b
.
cancel
();
!
1
!==
b
.
trigger
(
"
beforeClose
"
)
&&
(
b
.
unbindEvents
(),
b
.
isActive
&&
(
!
b
.
isOpen
||!
0
===
a
?(
f
(
"
.fancybox-wrap
"
).
stop
(
!
0
).
trigger
(
"
onReset
"
).
remove
(),
b
.
_afterZoomOut
()):(
b
.
isOpen
=
b
.
isOpened
=!
1
,
b
.
isClosing
=!
0
,
f
(
"
.fancybox-item, .fancybox-nav
"
).
remove
(),
b
.
wrap
.
stop
(
!
0
,
!
0
).
removeClass
(
"
fancybox-opened
"
),
b
.
transitions
[
b
.
current
.
closeMethod
]())))},
play
:
function
(
a
){
var
d
=
function
(){
clearTimeout
(
b
.
player
.
timer
)},
e
=
function
(){
d
();
b
.
current
&&
b
.
player
.
isActive
&&
(
b
.
player
.
timer
=
*/
setTimeout
(
b
.
next
,
b
.
current
.
playSpeed
))},
c
=
function
(){
d
();
p
.
unbind
(
"
.player
"
);
b
.
player
.
isActive
=!
1
;
b
.
trigger
(
"
onPlayEnd
"
)};
if
(
!
0
===
a
||!
b
.
player
.
isActive
&&!
1
!==
a
){
if
(
b
.
current
&&
(
b
.
current
.
loop
||
b
.
current
.
index
<
b
.
group
.
length
-
1
))
b
.
player
.
isActive
=!
0
,
p
.
bind
({
"
onCancel.player beforeClose.player
"
:
c
,
"
onUpdate.player
"
:
e
,
"
beforeLoad.player
"
:
d
}),
e
(),
b
.
trigger
(
"
onPlayStart
"
)}
else
c
()},
next
:
function
(
a
){
var
d
=
b
.
current
;
d
&&
(
q
(
a
)
||
(
a
=
d
.
direction
.
next
),
b
.
jumpto
(
d
.
index
+
1
,
a
,
"
next
"
))},
prev
:
function
(
a
){
var
d
=
b
.
current
;
(
function
(
d
){
function
e
(
a
){
var
b
=
a
||
window
.
event
,
c
=
[].
slice
.
call
(
arguments
,
1
),
f
=
0
,
e
=
0
,
g
=
0
,
a
=
d
.
event
.
fix
(
b
);
a
.
type
=
"
mousewheel
"
;
b
.
wheelDelta
&&
(
f
=
b
.
wheelDelta
/
120
);
b
.
detail
&&
(
f
=-
b
.
detail
/
3
);
g
=
f
;
b
.
axis
!==
void
0
&&
b
.
axis
===
b
.
HORIZONTAL_AXIS
&&
(
g
=
0
,
e
=-
1
*
f
);
b
.
wheelDeltaY
!==
void
0
&&
(
g
=
b
.
wheelDeltaY
/
120
);
b
.
wheelDeltaX
!==
void
0
&&
(
e
=-
1
*
b
.
wheelDeltaX
/
120
);
c
.
unshift
(
a
,
f
,
e
,
g
);
return
(
d
.
event
.
dispatch
||
d
.
event
.
handle
).
apply
(
this
,
c
)}
var
c
=
[
"
DOMMouseScroll
"
,
"
mousewheel
"
];
if
(
d
.
event
.
fixHooks
)
for
(
var
h
=
c
.
length
;
h
;)
d
.
event
.
fixHooks
[
c
[
--
h
]]
=
d
&&
(
q
(
a
)
||
(
a
=
d
.
direction
.
prev
),
b
.
jumpto
(
d
.
index
-
1
,
a
,
"
prev
"
))},
jumpto
:
function
(
a
,
d
,
e
){
var
c
=
b
.
current
;
c
&&
(
a
=
l
(
a
),
b
.
direction
=
d
||
c
.
direction
[
a
>=
c
.
index
?
"
next
"
:
"
prev
"
],
b
.
router
=
e
||
"
jumpto
"
,
c
.
loop
&&
(
0
>
a
&&
(
a
=
c
.
group
.
length
+
a
%
c
.
group
.
length
),
a
%=
c
.
group
.
length
),
c
.
group
[
a
]
!==
v
&&
(
b
.
cancel
(),
b
.
_start
(
a
)))},
reposition
:
function
(
a
,
d
){
var
e
=
b
.
current
,
c
=
e
?
e
.
wrap
:
null
,
k
;
c
&&
(
k
=
b
.
_getPosition
(
d
),
a
&&
"
scroll
"
===
a
.
type
?(
delete
k
.
position
,
c
.
stop
(
!
0
,
!
0
).
animate
(
k
,
200
)):(
c
.
css
(
k
),
e
.
pos
=
f
.
extend
({},
e
.
dim
,
k
)))},
update
:
function
(
a
){
var
d
=
d
.
event
.
mouseHooks
;
d
.
event
.
special
.
mousewheel
=
{
setup
:
function
(){
if
(
this
.
addEventListener
)
for
(
var
a
=
c
.
length
;
a
;)
this
.
addEventListener
(
c
[
--
a
],
e
,
false
);
else
this
.
onmousewheel
=
e
},
teardown
:
function
(){
if
(
this
.
removeEventListener
)
for
(
var
a
=
c
.
length
;
a
;)
this
.
removeEventListener
(
c
[
--
a
],
e
,
false
);
else
this
.
onmousewheel
=
null
}};
d
.
fn
.
extend
({
mousewheel
:
function
(
a
){
return
a
?
this
.
bind
(
"
mousewheel
"
,
a
):
this
.
trigger
(
"
mousewheel
"
)},
unmousewheel
:
function
(
a
){
return
this
.
unbind
(
"
mousewheel
"
,
a
)}})})(
jQuery
);
a
&&
a
.
type
,
e
=!
d
||
"
orientationchange
"
===
d
;
e
&&
(
clearTimeout
(
B
),
B
=
null
);
b
.
isOpen
&&!
B
&&
(
B
=
setTimeout
(
function
(){
var
c
=
b
.
current
;
c
&&!
b
.
isClosing
&&
(
b
.
wrap
.
removeClass
(
"
fancybox-tmp
"
),(
e
||
"
load
"
===
d
||
"
resize
"
===
d
&&
c
.
autoResize
)
&&
b
.
_setDimension
(),
"
scroll
"
===
d
&&
c
.
canShrink
||
b
.
reposition
(
a
),
b
.
trigger
(
"
onUpdate
"
),
B
=
null
)},
e
&&!
s
?
0
:
300
))},
toggle
:
function
(
a
){
b
.
isOpen
&&
(
b
.
current
.
fitToView
=
"
boolean
"
===
f
.
type
(
a
)?
a
:
!
b
.
current
.
fitToView
,
s
&&
(
b
.
wrap
.
removeAttr
(
"
style
"
).
addClass
(
"
fancybox-tmp
"
),
b
.
trigger
(
"
onUpdate
"
)),
/*! fancyBox v2.0.6 fancyapps.com | fancyapps.com/fancybox/#license */
b
.
update
())},
hideLoading
:
function
(){
p
.
unbind
(
"
.loading
"
);
f
(
"
#fancybox-loading
"
).
remove
()},
showLoading
:
function
(){
var
a
,
d
;
b
.
hideLoading
();
a
=
f
(
'
<div id="fancybox-loading"><div></div></div>
'
).
click
(
b
.
cancel
).
appendTo
(
"
body
"
);
p
.
bind
(
"
keydown.loading
"
,
function
(
a
){
if
(
27
===
(
a
.
which
||
a
.
keyCode
))
a
.
preventDefault
(),
b
.
cancel
()});
b
.
defaults
.
fixed
||
(
d
=
b
.
getViewport
(),
a
.
css
({
position
:
"
absolute
"
,
top
:
0.5
*
d
.
h
+
d
.
y
,
left
:
0.5
*
d
.
w
+
d
.
x
}))},
getViewport
:
function
(){
var
a
=
b
.
current
&&
b
.
current
.
locked
||!
1
,
d
=
{
x
:
n
.
scrollLeft
(),
(
function
(
s
,
l
,
d
,
t
){
var
m
=
d
(
s
),
q
=
d
(
l
),
a
=
d
.
fancybox
=
function
(){
a
.
open
.
apply
(
this
,
arguments
)},
u
=!
1
,
k
=
l
.
createTouch
!==
t
,
o
=
function
(
a
){
return
"
string
"
===
d
.
type
(
a
)},
n
=
function
(
b
,
c
){
c
&&
o
(
b
)
&&
0
<
b
.
indexOf
(
"
%
"
)
&&
(
b
=
a
.
getViewport
()[
c
]
/
100
*
parseInt
(
b
,
10
));
return
Math
.
round
(
b
)
+
"
px
"
};
d
.
extend
(
a
,{
version
:
"
2.0.5
"
,
defaults
:{
padding
:
15
,
margin
:
20
,
width
:
800
,
height
:
600
,
minWidth
:
100
,
minHeight
:
100
,
maxWidth
:
9999
,
maxHeight
:
9999
,
autoSize
:
!
0
,
autoResize
:
!
k
,
autoCenter
:
!
k
,
fitToView
:
!
0
,
aspectRatio
:
!
1
,
topRatio
:
0.5
,
fixed
:
!
1
,
scrolling
:
"
auto
"
,
y
:
n
.
scrollTop
()};
a
?(
d
.
w
=
a
[
0
].
clientWidth
,
d
.
h
=
a
[
0
].
clientHeight
):(
d
.
w
=
s
&&
r
.
innerWidth
?
r
.
innerWidth
:
n
.
width
(),
d
.
h
=
s
&&
r
.
innerHeight
?
r
.
innerHeight
:
n
.
height
());
return
d
},
unbindEvents
:
function
(){
b
.
wrap
&&
t
(
b
.
wrap
)
&&
b
.
wrap
.
unbind
(
"
.fb
"
);
p
.
unbind
(
"
.fb
"
);
n
.
unbind
(
"
.fb
"
)},
bindEvents
:
function
(){
var
a
=
b
.
current
,
d
;
a
&&
(
n
.
bind
(
"
orientationchange.fb
"
+
(
s
?
""
:
"
resize.fb
"
)
+
(
a
.
autoCenter
&&!
a
.
locked
?
"
scroll.fb
"
:
""
),
b
.
update
),(
d
=
a
.
keys
)
&&
p
.
bind
(
"
keydown.fb
"
,
function
(
e
){
var
c
=
e
.
which
||
e
.
keyCode
,
k
=
e
.
target
||
e
.
srcElement
;
wrapCSS
:
""
,
arrows
:
!
0
,
closeBtn
:
!
0
,
closeClick
:
!
1
,
nextClick
:
!
1
,
mouseWheel
:
!
0
,
autoPlay
:
!
1
,
playSpeed
:
3
E3
,
preload
:
3
,
modal
:
!
1
,
loop
:
!
0
,
ajax
:{
dataType
:
"
html
"
,
headers
:{
"
X-fancyBox
"
:
!
0
}},
keys
:{
next
:[
13
,
32
,
34
,
39
,
40
],
prev
:[
8
,
33
,
37
,
38
],
close
:[
27
]},
tpl
:{
wrap
:
'
<div class="fancybox-wrap"><div class="fancybox-skin"><div class="fancybox-outer"><div class="fancybox-inner"></div></div></div></div>
'
,
image
:
'
<img class="fancybox-image" src="{href}" alt="" />
'
,
iframe
:
'
<iframe class="fancybox-iframe" name="fancybox-frame{rnd}" frameborder="0" hspace="0"
'
+
if
(
27
===
c
&&
b
.
coming
)
return
!
1
;
!
e
.
ctrlKey
&&
(
!
e
.
altKey
&&!
e
.
shiftKey
&&!
e
.
metaKey
&&
(
!
k
||!
k
.
type
&&!
f
(
k
).
is
(
"
[contenteditable]
"
)))
&&
f
.
each
(
d
,
function
(
d
,
k
){
if
(
1
<
a
.
group
.
length
&&
k
[
c
]
!==
v
)
return
b
[
d
](
k
[
c
]),
e
.
preventDefault
(),
!
1
;
if
(
-
1
<
f
.
inArray
(
c
,
k
))
return
b
[
d
](),
e
.
preventDefault
(),
!
1
})}),
f
.
fn
.
mousewheel
&&
a
.
mouseWheel
&&
b
.
wrap
.
bind
(
"
mousewheel.fb
"
,
function
(
d
,
c
,
k
,
g
){
for
(
var
h
=
f
(
d
.
target
||
null
),
j
=!
1
;
h
.
length
&&!
j
&&!
h
.
is
(
"
.fancybox-skin
"
)
&&!
h
.
is
(
"
.fancybox-wrap
"
);)
j
=
h
[
0
]
&&!
(
h
[
0
].
style
.
overflow
&&
"
hidden
"
===
h
[
0
].
style
.
overflow
)
&&
(
d
.
browser
.
msie
?
'
allowtransparency="true"
'
:
""
)
+
"
></iframe>
"
,
swf
:
'
<object classid="clsid:D27CDB6E-AE6D-11cf-96B8-444553540000" width="100%" height="100%"><param name="wmode" value="transparent" /><param name="allowfullscreen" value="true" /><param name="allowscriptaccess" value="always" /><param name="movie" value="{href}" /><embed src="{href}" type="application/x-shockwave-flash" allowfullscreen="true" allowscriptaccess="always" width="100%" height="100%" wmode="transparent"></embed></object>
'
,
error
:
'
<p class="fancybox-error">The requested content cannot be loaded.<br/>Please try again later.</p>
'
,
(
h
[
0
].
clientWidth
&&
h
[
0
].
scrollWidth
>
h
[
0
].
clientWidth
||
h
[
0
].
clientHeight
&&
h
[
0
].
scrollHeight
>
h
[
0
].
clientHeight
),
h
=
f
(
h
).
parent
();
if
(
0
!==
c
&&!
j
&&
1
<
b
.
group
.
length
&&!
a
.
canShrink
){
if
(
0
<
g
||
0
<
k
)
b
.
prev
(
0
<
g
?
"
down
"
:
"
left
"
);
else
if
(
0
>
g
||
0
>
k
)
b
.
next
(
0
>
g
?
"
up
"
:
"
right
"
);
d
.
preventDefault
()}}))},
trigger
:
function
(
a
,
d
){
var
e
,
c
=
d
||
b
.
coming
||
b
.
current
;
if
(
c
){
f
.
isFunction
(
c
[
a
])
&&
(
e
=
c
[
a
].
apply
(
c
,
Array
.
prototype
.
slice
.
call
(
arguments
,
1
)));
if
(
!
1
===
e
)
return
!
1
;
c
.
helpers
&&
f
.
each
(
c
.
helpers
,
function
(
d
,
e
){
if
(
e
&&
b
.
helpers
[
d
]
&&
f
.
isFunction
(
b
.
helpers
[
d
][
a
]))
b
.
helpers
[
d
][
a
](
f
.
extend
(
!
0
,
closeBtn
:
'
<div title="Close" class="fancybox-item fancybox-close"></div>
'
,
next
:
'
<a title="Next" class="fancybox-nav fancybox-next"><span></span></a>
'
,
prev
:
'
<a title="Previous" class="fancybox-nav fancybox-prev"><span></span></a>
'
},
openEffect
:
"
fade
"
,
openSpeed
:
300
,
openEasing
:
"
swing
"
,
openOpacity
:
!
0
,
openMethod
:
"
zoomIn
"
,
closeEffect
:
"
fade
"
,
closeSpeed
:
300
,
closeEasing
:
"
swing
"
,
closeOpacity
:
!
0
,
closeMethod
:
"
zoomOut
"
,
nextEffect
:
"
elastic
"
,
nextSpeed
:
300
,
nextEasing
:
"
swing
"
,
nextMethod
:
"
changeIn
"
,
prevEffect
:
"
elastic
"
,
{},
b
.
helpers
[
d
].
defaults
,
e
),
c
)});
p
.
trigger
(
a
)}},
isImage
:
function
(
a
){
return
q
(
a
)
&&
a
.
match
(
/
(
^data:image
\/
.*,
)
|
(\.(
jp
(
e|g|eg
)
|gif|png|bmp|webp|svg
)((\?
|#
)
.*
)?
$
)
/i
)},
isSWF
:
function
(
a
){
return
q
(
a
)
&&
a
.
match
(
/
\.(
swf
)((\?
|#
)
.*
)?
$/i
)},
_start
:
function
(
a
){
var
d
=
{},
e
,
c
;
a
=
l
(
a
);
e
=
b
.
group
[
a
]
||
null
;
if
(
!
e
)
return
!
1
;
d
=
f
.
extend
(
!
0
,{},
b
.
opts
,
e
);
e
=
d
.
margin
;
c
=
d
.
padding
;
"
number
"
===
f
.
type
(
e
)
&&
(
d
.
margin
=
[
e
,
e
,
e
,
e
]);
"
number
"
===
f
.
type
(
c
)
&&
(
d
.
padding
=
[
c
,
c
,
c
,
c
]);
d
.
modal
&&
f
.
extend
(
!
0
,
d
,{
closeBtn
:
!
1
,
closeClick
:
!
1
,
nextClick
:
!
1
,
arrows
:
!
1
,
prevSpeed
:
300
,
prevEasing
:
"
swing
"
,
prevMethod
:
"
changeOut
"
,
helpers
:{
overlay
:{
speedIn
:
0
,
speedOut
:
300
,
opacity
:
0.8
,
css
:{
cursor
:
"
pointer
"
},
closeClick
:
!
0
},
title
:{
type
:
"
float
"
}}},
group
:{},
opts
:{},
coming
:
null
,
current
:
null
,
isOpen
:
!
1
,
isOpened
:
!
1
,
player
:{
timer
:
null
,
isActive
:
!
1
},
ajaxLoad
:
null
,
imgPreload
:
null
,
transitions
:{},
helpers
:{},
open
:
function
(
b
,
c
){
a
.
close
(
!
0
);
b
&&!
d
.
isArray
(
b
)
&&
(
b
=
b
instanceof
d
?
d
(
b
).
get
():[
b
]);
a
.
isActive
=!
0
;
a
.
opts
=
d
.
extend
(
!
0
,{},
a
.
defaults
,
c
);
d
.
isPlainObject
(
c
)
&&
c
.
keys
!==
t
&&
(
a
.
opts
.
keys
=
c
.
keys
?
mouseWheel
:
!
1
,
keys
:
null
,
helpers
:{
overlay
:{
closeClick
:
!
1
}}});
d
.
autoSize
&&
(
d
.
autoWidth
=
d
.
autoHeight
=!
0
);
"
auto
"
===
d
.
width
&&
(
d
.
autoWidth
=!
0
);
"
auto
"
===
d
.
height
&&
(
d
.
autoHeight
=!
0
);
d
.
group
=
b
.
group
;
d
.
index
=
a
;
b
.
coming
=
d
;
if
(
!
1
===
b
.
trigger
(
"
beforeLoad
"
))
b
.
coming
=
null
;
else
{
c
=
d
.
type
;
e
=
d
.
href
;
if
(
!
c
)
return
b
.
coming
=
null
,
b
.
current
&&
b
.
router
&&
"
jumpto
"
!==
b
.
router
?(
b
.
current
.
index
=
a
,
b
[
b
.
router
](
b
.
direction
)):
!
1
;
b
.
isActive
=!
0
;
if
(
"
image
"
===
c
||
"
swf
"
===
c
)
d
.
autoHeight
=
d
.
autoWidth
=!
1
,
d
.
scrolling
=
"
visible
"
;
"
image
"
===
c
&&
(
d
.
aspectRatio
=
d
.
extend
({},
a
.
defaults
.
keys
,
c
.
keys
):
!
1
);
a
.
group
=
b
;
a
.
_start
(
a
.
opts
.
index
||
0
)},
cancel
:
function
(){
a
.
coming
&&!
1
===
a
.
trigger
(
"
onCancel
"
)
||
(
a
.
coming
=
null
,
a
.
hideLoading
(),
a
.
ajaxLoad
&&
a
.
ajaxLoad
.
abort
(),
a
.
ajaxLoad
=
null
,
a
.
imgPreload
&&
(
a
.
imgPreload
.
onload
=
a
.
imgPreload
.
onabort
=
a
.
imgPreload
.
onerror
=
null
))},
close
:
function
(
b
){
a
.
cancel
();
a
.
current
&&!
1
!==
a
.
trigger
(
"
beforeClose
"
)
&&
(
a
.
unbindEvents
(),
!
a
.
isOpen
||
b
&&!
0
===
b
[
0
]?(
d
(
"
.fancybox-wrap
"
).
stop
().
trigger
(
"
onReset
"
).
remove
(),
a
.
_afterZoomOut
()):(
a
.
isOpen
=
a
.
isOpened
=
!
0
);
"
iframe
"
===
c
&&
s
&&
(
d
.
scrolling
=
"
scroll
"
);
d
.
wrap
=
f
(
d
.
tpl
.
wrap
).
addClass
(
"
fancybox-
"
+
(
s
?
"
mobile
"
:
"
desktop
"
)
+
"
fancybox-type-
"
+
c
+
"
fancybox-tmp
"
+
d
.
wrapCSS
).
appendTo
(
d
.
parent
||
"
body
"
);
f
.
extend
(
d
,{
skin
:
f
(
"
.fancybox-skin
"
,
d
.
wrap
),
outer
:
f
(
"
.fancybox-outer
"
,
d
.
wrap
),
inner
:
f
(
"
.fancybox-inner
"
,
d
.
wrap
)});
f
.
each
([
"
Top
"
,
"
Right
"
,
"
Bottom
"
,
"
Left
"
],
function
(
a
,
b
){
d
.
skin
.
css
(
"
padding
"
+
b
,
w
(
d
.
padding
[
a
]))});
b
.
trigger
(
"
onReady
"
);
if
(
"
inline
"
===
c
||
"
html
"
===
c
){
if
(
!
d
.
content
||!
d
.
content
.
length
)
return
b
.
_error
(
"
content
"
)}
else
if
(
!
e
)
return
b
.
_error
(
"
href
"
);
!
1
,
d
(
"
.fancybox-item, .fancybox-nav
"
).
remove
(),
a
.
wrap
.
stop
(
!
0
).
removeClass
(
"
fancybox-opened
"
),
a
.
inner
.
css
(
"
overflow
"
,
"
hidden
"
),
a
.
transitions
[
a
.
current
.
closeMethod
]()))},
play
:
function
(
b
){
var
c
=
function
(){
clearTimeout
(
a
.
player
.
timer
)},
e
=
function
(){
c
();
a
.
current
&&
a
.
player
.
isActive
&&
(
a
.
player
.
timer
=
setTimeout
(
a
.
next
,
a
.
current
.
playSpeed
))},
f
=
function
(){
c
();
d
(
"
body
"
).
unbind
(
"
.player
"
);
a
.
player
.
isActive
=!
1
;
a
.
trigger
(
"
onPlayEnd
"
)};
if
(
a
.
player
.
isActive
||
b
&&!
1
===
b
[
0
])
f
();
else
if
(
a
.
current
&&
(
a
.
current
.
loop
||
"
image
"
===
c
?
b
.
_loadImage
():
"
ajax
"
===
c
?
b
.
_loadAjax
():
"
iframe
"
===
c
?
b
.
_loadIframe
():
b
.
_afterLoad
()}},
_error
:
function
(
a
){
f
.
extend
(
b
.
coming
,{
type
:
"
html
"
,
autoWidth
:
!
0
,
autoHeight
:
!
0
,
minWidth
:
0
,
minHeight
:
0
,
scrolling
:
"
no
"
,
hasError
:
a
,
content
:
b
.
coming
.
tpl
.
error
});
b
.
_afterLoad
()},
_loadImage
:
function
(){
var
a
=
b
.
imgPreload
=
new
Image
;
a
.
onload
=
function
(){
this
.
onload
=
this
.
onerror
=
null
;
b
.
coming
.
width
=
this
.
width
/
b
.
opts
.
pixelRatio
;
b
.
coming
.
height
=
this
.
height
/
b
.
opts
.
pixelRatio
;
b
.
_afterLoad
()};
a
.
onerror
=
function
(){
this
.
onload
=
a
.
current
.
index
<
a
.
group
.
length
-
1
))
a
.
player
.
isActive
=!
0
,
d
(
"
body
"
).
bind
({
"
afterShow.player onUpdate.player
"
:
e
,
"
onCancel.player beforeClose.player
"
:
f
,
"
beforeLoad.player
"
:
c
}),
e
(),
a
.
trigger
(
"
onPlayStart
"
)},
next
:
function
(){
a
.
current
&&
a
.
jumpto
(
a
.
current
.
index
+
1
)},
prev
:
function
(){
a
.
current
&&
a
.
jumpto
(
a
.
current
.
index
-
1
)},
jumpto
:
function
(
b
){
a
.
current
&&
(
b
=
parseInt
(
b
,
10
),
1
<
a
.
group
.
length
&&
a
.
current
.
loop
&&
(
b
>=
a
.
group
.
length
?
b
=
0
:
0
>
b
&&
(
b
=
a
.
group
.
length
-
1
)),
a
.
group
[
b
]
!==
t
&&
(
a
.
cancel
(),
a
.
_start
(
b
)))},
reposition
:
function
(
b
,
this
.
onerror
=
null
;
b
.
_error
(
"
image
"
)};
a
.
src
=
b
.
coming
.
href
;
!
0
!==
a
.
complete
&&
b
.
showLoading
()},
_loadAjax
:
function
(){
var
a
=
b
.
coming
;
b
.
showLoading
();
b
.
ajaxLoad
=
f
.
ajax
(
f
.
extend
({},
a
.
ajax
,{
url
:
a
.
href
,
error
:
function
(
a
,
e
){
b
.
coming
&&
"
abort
"
!==
e
?
b
.
_error
(
"
ajax
"
,
a
):
b
.
hideLoading
()},
success
:
function
(
d
,
e
){
"
success
"
===
e
&&
(
a
.
content
=
d
,
b
.
_afterLoad
())}}))},
_loadIframe
:
function
(){
var
a
=
b
.
coming
,
d
=
f
(
a
.
tpl
.
iframe
.
replace
(
/
\{
rnd
\}
/g
,(
new
Date
).
getTime
())).
attr
(
"
scrolling
"
,
s
?
"
auto
"
:
a
.
iframe
.
scrolling
).
attr
(
"
src
"
,
a
.
href
);
c
){
var
e
;
a
.
isOpen
&&
(
e
=
a
.
_getPosition
(
c
),
b
&&
"
scroll
"
===
b
.
type
?(
delete
e
.
position
,
a
.
wrap
.
stop
(
!
0
,
!
0
).
animate
(
e
,
200
)):
a
.
wrap
.
css
(
e
))},
update
:
function
(
b
){
a
.
isOpen
&&
(
u
||
setTimeout
(
function
(){
var
c
=
a
.
current
,
e
=!
b
||
b
&&
"
orientationchange
"
===
b
.
type
;
if
(
u
&&
(
u
=!
1
,
c
)){
if
(
!
b
||
"
scroll
"
!==
b
.
type
||
e
)
c
.
autoSize
&&
"
iframe
"
!==
c
.
type
&&
(
a
.
inner
.
height
(
"
auto
"
),
c
.
height
=
a
.
inner
.
height
()),(
c
.
autoResize
||
e
)
&&
a
.
_setDimension
(),
c
.
canGrow
&&
"
iframe
"
!==
c
.
type
&&
a
.
inner
.
height
(
"
auto
"
);(
c
.
autoCenter
||
e
)
&&
a
.
reposition
(
b
);
a
.
trigger
(
"
onUpdate
"
)}},
f
(
a
.
wrap
).
bind
(
"
onReset
"
,
function
(){
try
{
f
(
this
).
find
(
"
iframe
"
).
hide
().
attr
(
"
src
"
,
"
//about:blank
"
).
end
().
empty
()}
catch
(
a
){}});
a
.
iframe
.
preload
&&
(
b
.
showLoading
(),
d
.
one
(
"
load
"
,
function
(){
f
(
this
).
data
(
"
ready
"
,
1
);
s
||
f
(
this
).
bind
(
"
load.fb
"
,
b
.
update
);
f
(
this
).
parents
(
"
.fancybox-wrap
"
).
width
(
"
100%
"
).
removeClass
(
"
fancybox-tmp
"
).
show
();
b
.
_afterLoad
()}));
a
.
content
=
d
.
appendTo
(
a
.
inner
);
a
.
iframe
.
preload
||
b
.
_afterLoad
()},
_preloadImages
:
function
(){
var
a
=
b
.
group
,
d
=
b
.
current
,
e
=
a
.
length
,
c
=
d
.
preload
?
Math
.
min
(
d
.
preload
,
200
),
u
=!
0
)},
toggle
:
function
(){
a
.
isOpen
&&
(
a
.
current
.
fitToView
=!
a
.
current
.
fitToView
,
a
.
update
())},
hideLoading
:
function
(){
q
.
unbind
(
"
keypress.fb
"
);
d
(
"
#fancybox-loading
"
).
remove
()},
showLoading
:
function
(){
a
.
hideLoading
();
q
.
bind
(
"
keypress.fb
"
,
function
(
b
){
27
===
b
.
keyCode
&&
(
b
.
preventDefault
(),
a
.
cancel
())});
d
(
'
<div id="fancybox-loading"><div></div></div>
'
).
click
(
a
.
cancel
).
appendTo
(
"
body
"
)},
getViewport
:
function
(){
return
{
x
:
m
.
scrollLeft
(),
y
:
m
.
scrollTop
(),
w
:
k
&&
s
.
innerWidth
?
s
.
innerWidth
:
m
.
width
(),
h
:
k
&&
s
.
innerHeight
?
e
-
1
):
0
,
f
,
g
;
for
(
g
=
1
;
g
<=
c
;
g
+=
1
)
f
=
a
[(
d
.
index
+
g
)
%
e
],
"
image
"
===
f
.
type
&&
f
.
href
&&
((
new
Image
).
src
=
f
.
href
)},
_afterLoad
:
function
(){
var
a
=
b
.
coming
,
d
=
b
.
current
,
e
,
c
,
k
,
g
,
h
;
b
.
hideLoading
();
if
(
a
&&!
1
!==
b
.
isActive
)
if
(
!
1
===
b
.
trigger
(
"
afterLoad
"
,
a
,
d
))
a
.
wrap
.
stop
(
!
0
).
trigger
(
"
onReset
"
).
remove
(),
b
.
coming
=
null
;
else
{
d
&&
(
b
.
trigger
(
"
beforeChange
"
,
d
),
d
.
wrap
.
stop
(
!
0
).
removeClass
(
"
fancybox-opened
"
).
find
(
"
.fancybox-item, .fancybox-nav
"
).
remove
());
b
.
unbindEvents
();
e
=
a
.
content
;
c
=
a
.
type
;
k
=
a
.
scrolling
;
f
.
extend
(
b
,{
wrap
:
a
.
wrap
,
skin
:
a
.
skin
,
s
.
innerHeight
:
m
.
height
()}},
unbindEvents
:
function
(){
a
.
wrap
&&
a
.
wrap
.
unbind
(
"
.fb
"
);
q
.
unbind
(
"
.fb
"
);
m
.
unbind
(
"
.fb
"
)},
bindEvents
:
function
(){
var
b
=
a
.
current
,
c
=
b
.
keys
;
b
&&
(
m
.
bind
(
"
resize.fb orientationchange.fb
"
+
(
b
.
autoCenter
&&!
b
.
fixed
?
"
scroll.fb
"
:
""
),
a
.
update
),
c
&&
q
.
bind
(
"
keydown.fb
"
,
function
(
b
){
var
f
;
f
=
b
.
target
||
b
.
srcElement
;
if
(
!
b
.
ctrlKey
&&!
b
.
altKey
&&!
b
.
shiftKey
&&!
b
.
metaKey
&&
(
!
f
||!
f
.
type
&&!
d
(
f
).
is
(
"
[contenteditable]
"
)))
f
=
b
.
keyCode
,
-
1
<
d
.
inArray
(
f
,
c
.
close
)?(
a
.
close
(),
b
.
preventDefault
()):
-
1
<
d
.
inArray
(
f
,
c
.
next
)?
outer
:
a
.
outer
,
inner
:
a
.
inner
,
current
:
a
,
previous
:
d
});
g
=
a
.
href
;
switch
(
c
){
case
"
inline
"
:
case
"
ajax
"
:
case
"
html
"
:
a
.
selector
?
e
=
f
(
"
<div>
"
).
html
(
e
).
find
(
a
.
selector
):
t
(
e
)
&&
(
e
.
data
(
"
fancybox-placeholder
"
)
||
e
.
data
(
"
fancybox-placeholder
"
,
f
(
'
<div class="fancybox-placeholder"></div>
'
).
insertAfter
(
e
).
hide
()),
e
=
e
.
show
().
detach
(),
a
.
wrap
.
bind
(
"
onReset
"
,
function
(){
f
(
this
).
find
(
e
).
length
&&
e
.
hide
().
replaceAll
(
e
.
data
(
"
fancybox-placeholder
"
)).
data
(
"
fancybox-placeholder
"
,
!
1
)}));
break
;
case
"
image
"
:
e
=
a
.
tpl
.
image
.
replace
(
"
{href}
"
,
(
a
.
next
(),
b
.
preventDefault
()):
-
1
<
d
.
inArray
(
f
,
c
.
prev
)
&&
(
a
.
prev
(),
b
.
preventDefault
())}),
d
.
fn
.
mousewheel
&&
b
.
mouseWheel
&&
1
<
a
.
group
.
length
&&
a
.
wrap
.
bind
(
"
mousewheel.fb
"
,
function
(
b
,
c
){
var
d
=
b
.
target
||
null
;
if
(
0
!==
c
&&
(
!
d
||
0
===
d
.
clientHeight
||
d
.
scrollHeight
===
d
.
clientHeight
&&
d
.
scrollWidth
===
d
.
clientWidth
))
b
.
preventDefault
(),
a
[
0
<
c
?
"
prev
"
:
"
next
"
]()}))},
trigger
:
function
(
b
,
c
){
var
e
,
f
=
c
||
a
[
-
1
<
d
.
inArray
(
b
,[
"
onCancel
"
,
"
beforeLoad
"
,
"
afterLoad
"
])?
"
coming
"
:
"
current
"
];
if
(
f
){
d
.
isFunction
(
f
[
b
])
&&
(
e
=
f
[
b
].
apply
(
f
,
Array
.
prototype
.
slice
.
call
(
arguments
,
g
);
break
;
case
"
swf
"
:
e
=
'
<object id="fancybox-swf" classid="clsid:D27CDB6E-AE6D-11cf-96B8-444553540000" width="100%" height="100%"><param name="movie" value="
'
+
g
+
'
"></param>
'
,
h
=
""
,
f
.
each
(
a
.
swf
,
function
(
a
,
b
){
e
+=
'
<param name="
'
+
a
+
'
" value="
'
+
b
+
'
"></param>
'
;
h
+=
"
"
+
a
+
'
="
'
+
b
+
'
"
'
}),
e
+=
'
<embed src="
'
+
g
+
'
" type="application/x-shockwave-flash" width="100%" height="100%"
'
+
h
+
"
></embed></object>
"
}(
!
t
(
e
)
||!
e
.
parent
().
is
(
a
.
inner
))
&&
a
.
inner
.
append
(
e
);
b
.
trigger
(
"
beforeShow
"
);
a
.
inner
.
css
(
"
overflow
"
,
"
yes
"
===
k
?
"
scroll
"
:
1
)));
if
(
!
1
===
e
)
return
!
1
;
f
.
helpers
&&
d
.
each
(
f
.
helpers
,
function
(
c
,
e
){
if
(
e
&&
d
.
isPlainObject
(
a
.
helpers
[
c
])
&&
d
.
isFunction
(
a
.
helpers
[
c
][
b
]))
a
.
helpers
[
c
][
b
](
e
,
f
)});
d
.
event
.
trigger
(
b
+
"
.fb
"
)}},
isImage
:
function
(
a
){
return
o
(
a
)
&&
a
.
match
(
/
\.(
jpe
?
g|gif|png|bmp
)((\?
|#
)
.*
)?
$/i
)},
isSWF
:
function
(
a
){
return
o
(
a
)
&&
a
.
match
(
/
\.(
swf
)((\?
|#
)
.*
)?
$/i
)},
_start
:
function
(
b
){
var
c
=
{},
e
=
a
.
group
[
b
]
||
null
,
f
,
g
,
i
;
if
(
e
&&
(
e
.
nodeType
||
e
instanceof
d
))
f
=!
0
,
d
.
metadata
&&
(
c
=
d
(
e
).
metadata
());
c
=
d
.
extend
(
!
0
,{},
a
.
opts
,{
index
:
b
,
element
:
e
},
d
.
isPlainObject
(
e
)?
"
no
"
===
k
?
"
hidden
"
:
k
);
b
.
_setDimension
();
b
.
reposition
();
b
.
isOpen
=!
1
;
b
.
coming
=
null
;
b
.
bindEvents
();
if
(
b
.
isOpened
){
if
(
d
.
prevMethod
)
b
.
transitions
[
d
.
prevMethod
]()}
else
f
(
"
.fancybox-wrap
"
).
not
(
a
.
wrap
).
stop
(
!
0
).
trigger
(
"
onReset
"
).
remove
();
b
.
transitions
[
b
.
isOpened
?
a
.
nextMethod
:
a
.
openMethod
]();
b
.
_preloadImages
()}},
_setDimension
:
function
(){
var
a
=
b
.
getViewport
(),
d
=
0
,
e
=!
1
,
c
=!
1
,
e
=
b
.
wrap
,
k
=
b
.
skin
,
g
=
b
.
inner
,
h
=
b
.
current
,
c
=
h
.
width
,
j
=
h
.
height
,
m
=
h
.
minWidth
,
u
=
h
.
minHeight
,
n
=
h
.
maxWidth
,
p
=
h
.
maxHeight
,
s
=
h
.
scrolling
,
q
=
h
.
scrollOutside
?
e
:
c
);
d
.
each
([
"
href
"
,
"
title
"
,
"
content
"
,
"
type
"
],
function
(
b
,
g
){
c
[
g
]
=
a
.
opts
[
g
]
||
f
&&
d
(
e
).
attr
(
g
)
||
c
[
g
]
||
null
});
"
number
"
===
typeof
c
.
margin
&&
(
c
.
margin
=
[
c
.
margin
,
c
.
margin
,
c
.
margin
,
c
.
margin
]);
c
.
modal
&&
d
.
extend
(
!
0
,
c
,{
closeBtn
:
!
1
,
closeClick
:
!
1
,
nextClick
:
!
1
,
arrows
:
!
1
,
mouseWheel
:
!
1
,
keys
:
null
,
helpers
:{
overlay
:{
css
:{
cursor
:
"
auto
"
},
closeClick
:
!
1
}}});
a
.
coming
=
c
;
if
(
!
1
===
a
.
trigger
(
"
beforeLoad
"
))
a
.
coming
=
null
;
else
{
g
=
c
.
type
;
b
=
c
.
href
||
e
;
g
||
(
f
&&
(
g
=
d
(
e
).
data
(
"
fancybox-type
"
),
g
||
(
g
=
(
g
=
e
.
className
.
match
(
/fancybox
\.(\w
+
)
/
))?
h
.
scrollbarWidth
:
0
,
x
=
h
.
margin
,
y
=
l
(
x
[
1
]
+
x
[
3
]),
r
=
l
(
x
[
0
]
+
x
[
2
]),
v
,
z
,
t
,
C
,
A
,
F
,
B
,
D
,
H
;
e
.
add
(
k
).
add
(
g
).
width
(
"
auto
"
).
height
(
"
auto
"
).
removeClass
(
"
fancybox-tmp
"
);
x
=
l
(
k
.
outerWidth
(
!
0
)
-
k
.
width
());
v
=
l
(
k
.
outerHeight
(
!
0
)
-
k
.
height
());
z
=
y
+
x
;
t
=
r
+
v
;
C
=
E
(
c
)?(
a
.
w
-
z
)
*
l
(
c
)
/
100
:
c
;
A
=
E
(
j
)?(
a
.
h
-
t
)
*
l
(
j
)
/
100
:
j
;
if
(
"
iframe
"
===
h
.
type
){
if
(
H
=
h
.
content
,
h
.
autoHeight
&&
1
===
H
.
data
(
"
ready
"
))
try
{
H
[
0
].
contentWindow
.
document
.
location
&&
(
g
.
width
(
C
).
height
(
9999
),
F
=
H
.
contents
().
find
(
"
body
"
),
q
&&
F
.
css
(
"
overflow-x
"
,
"
hidden
"
),
A
=
F
.
outerHeight
(
!
0
))}
catch
(
G
){}}
else
if
(
h
.
autoWidth
||
g
[
1
]:
null
)),
!
g
&&
o
(
b
)
&&
(
a
.
isImage
(
b
)?
g
=
"
image
"
:
a
.
isSWF
(
b
)?
g
=
"
swf
"
:
b
.
match
(
/^#/
)
&&
(
g
=
"
inline
"
)),
g
||
(
g
=
f
?
"
inline
"
:
"
html
"
),
c
.
type
=
g
);
if
(
"
inline
"
===
g
||
"
html
"
===
g
){
if
(
c
.
content
||
(
c
.
content
=
"
inline
"
===
g
?
d
(
o
(
b
)?
b
.
replace
(
/.*
(?=
#
[^\s]
+$
)
/
,
""
):
b
):
e
),
!
c
.
content
||!
c
.
content
.
length
)
g
=
null
}
else
b
||
(
g
=
null
);
"
ajax
"
===
g
&&
o
(
b
)
&&
(
i
=
b
.
split
(
/
\s
+/
,
2
),
b
=
i
.
shift
(),
c
.
selector
=
i
.
shift
());
c
.
href
=
b
;
c
.
group
=
a
.
group
;
c
.
isDom
=
f
;
switch
(
g
){
case
"
image
"
:
a
.
_loadImage
();
break
;
case
"
ajax
"
:
a
.
_loadAjax
();
break
;
case
"
inline
"
:
case
"
iframe
"
:
case
"
swf
"
:
case
"
html
"
:
a
.
_afterLoad
();
h
.
autoHeight
)
g
.
addClass
(
"
fancybox-tmp
"
),
h
.
autoWidth
||
g
.
width
(
C
),
h
.
autoHeight
||
g
.
height
(
A
),
h
.
autoWidth
&&
(
C
=
g
.
width
()),
h
.
autoHeight
&&
(
A
=
g
.
height
()),
g
.
removeClass
(
"
fancybox-tmp
"
);
c
=
l
(
C
);
j
=
l
(
A
);
D
=
C
/
A
;
m
=
l
(
E
(
m
)?
l
(
m
,
"
w
"
)
-
z
:
m
);
n
=
l
(
E
(
n
)?
l
(
n
,
"
w
"
)
-
z
:
n
);
u
=
l
(
E
(
u
)?
l
(
u
,
"
h
"
)
-
t
:
u
);
p
=
l
(
E
(
p
)?
l
(
p
,
"
h
"
)
-
t
:
p
);
F
=
n
;
B
=
p
;
h
.
fitToView
&&
(
n
=
Math
.
min
(
a
.
w
-
z
,
n
),
p
=
Math
.
min
(
a
.
h
-
t
,
p
));
z
=
a
.
w
-
y
;
r
=
a
.
h
-
r
;
h
.
aspectRatio
?(
c
>
n
&&
(
c
=
n
,
j
=
l
(
c
/
D
)),
j
>
p
&&
(
j
=
p
,
c
=
l
(
j
*
D
)),
c
<
m
&&
(
c
=
m
,
j
=
l
(
c
/
D
)),
j
<
u
&&
(
j
=
u
,
c
=
l
(
j
*
D
))):(
c
=
Math
.
max
(
m
,
Math
.
min
(
c
,
n
)),
h
.
autoHeight
&&
break
;
default
:
a
.
_error
(
"
type
"
)}}},
_error
:
function
(
b
){
a
.
hideLoading
();
d
.
extend
(
a
.
coming
,{
type
:
"
html
"
,
autoSize
:
!
0
,
minWidth
:
0
,
minHeight
:
0
,
padding
:
15
,
hasError
:
b
,
content
:
a
.
coming
.
tpl
.
error
});
a
.
_afterLoad
()},
_loadImage
:
function
(){
var
b
=
a
.
imgPreload
=
new
Image
;
b
.
onload
=
function
(){
this
.
onload
=
this
.
onerror
=
null
;
a
.
coming
.
width
=
this
.
width
;
a
.
coming
.
height
=
this
.
height
;
a
.
_afterLoad
()};
b
.
onerror
=
function
(){
this
.
onload
=
this
.
onerror
=
null
;
a
.
_error
(
"
image
"
)};
b
.
src
=
a
.
coming
.
href
;(
b
.
complete
===
t
||!
b
.
complete
)
&&
a
.
showLoading
()},
"
iframe
"
!==
h
.
type
&&
(
g
.
width
(
c
),
j
=
g
.
height
()),
j
=
Math
.
max
(
u
,
Math
.
min
(
j
,
p
)));
if
(
h
.
fitToView
)
if
(
g
.
width
(
c
).
height
(
j
),
e
.
width
(
c
+
x
),
a
=
e
.
width
(),
y
=
e
.
height
(),
h
.
aspectRatio
)
for
(;(
a
>
z
||
y
>
r
)
&&
(
c
>
m
&&
j
>
u
)
&&!
(
19
<
d
++
);)
j
=
Math
.
max
(
u
,
Math
.
min
(
p
,
j
-
10
)),
c
=
l
(
j
*
D
),
c
<
m
&&
(
c
=
m
,
j
=
l
(
c
/
D
)),
c
>
n
&&
(
c
=
n
,
j
=
l
(
c
/
D
)),
g
.
width
(
c
).
height
(
j
),
e
.
width
(
c
+
x
),
a
=
e
.
width
(),
y
=
e
.
height
();
else
c
=
Math
.
max
(
m
,
Math
.
min
(
c
,
c
-
(
a
-
z
))),
j
=
Math
.
max
(
u
,
Math
.
min
(
j
,
j
-
(
y
-
r
)));
q
&&
(
"
auto
"
===
s
&&
j
<
A
&&
c
+
x
+
q
<
z
)
&&
(
c
+=
q
);
g
.
width
(
c
).
height
(
j
);
e
.
width
(
c
+
x
);
a
=
e
.
width
();
_loadAjax
:
function
(){
a
.
showLoading
();
a
.
ajaxLoad
=
d
.
ajax
(
d
.
extend
({},
a
.
coming
.
ajax
,{
url
:
a
.
coming
.
href
,
error
:
function
(
b
,
c
){
a
.
coming
&&
"
abort
"
!==
c
?
a
.
_error
(
"
ajax
"
,
b
):
a
.
hideLoading
()},
success
:
function
(
b
,
c
){
"
success
"
===
c
&&
(
a
.
coming
.
content
=
b
,
a
.
_afterLoad
())}}))},
_preloadImages
:
function
(){
var
b
=
a
.
group
,
c
=
a
.
current
,
e
=
b
.
length
,
f
,
g
,
i
,
h
=
Math
.
min
(
c
.
preload
,
e
-
1
);
if
(
c
.
preload
&&!
(
2
>
b
.
length
))
for
(
i
=
1
;
i
<=
h
;
i
+=
1
)
if
(
f
=
b
[(
c
.
index
+
i
)
%
e
],
g
=
f
.
href
||
d
(
f
).
attr
(
"
href
"
)
||
f
,
"
image
"
===
f
.
type
||
a
.
isImage
(
g
))(
new
Image
).
src
=
g
},
_afterLoad
:
function
(){
a
.
hideLoading
();
y
=
e
.
height
();
e
=
(
a
>
z
||
y
>
r
)
&&
c
>
m
&&
j
>
u
;
c
=
h
.
aspectRatio
?
c
<
F
&&
j
<
B
&&
c
<
C
&&
j
<
A
:(
c
<
F
||
j
<
B
)
&&
(
c
<
C
||
j
<
A
);
f
.
extend
(
h
,{
dim
:{
width
:
w
(
a
),
height
:
w
(
y
)},
origWidth
:
C
,
origHeight
:
A
,
canShrink
:
e
,
canExpand
:
c
,
wPadding
:
x
,
hPadding
:
v
,
wrapSpace
:
y
-
k
.
outerHeight
(
!
0
),
skinSpace
:
k
.
height
()
-
j
});
!
H
&&
(
h
.
autoHeight
&&
j
>
u
&&
j
<
p
&&!
c
)
&&
g
.
height
(
"
auto
"
)},
_getPosition
:
function
(
a
){
var
d
=
b
.
current
,
e
=
b
.
getViewport
(),
c
=
d
.
margin
,
f
=
b
.
wrap
.
width
()
+
c
[
1
]
+
c
[
3
],
g
=
b
.
wrap
.
height
()
+
c
[
0
]
+
c
[
2
],
c
=
{
position
:
"
absolute
"
,
top
:
c
[
0
],
left
:
c
[
3
]};
d
.
autoCenter
&&
d
.
fixed
&&
!
a
.
coming
||!
1
===
a
.
trigger
(
"
afterLoad
"
,
a
.
current
)?
a
.
coming
=!
1
:(
a
.
isOpened
?(
d
(
"
.fancybox-item, .fancybox-nav
"
).
remove
(),
a
.
wrap
.
stop
(
!
0
).
removeClass
(
"
fancybox-opened
"
),
a
.
inner
.
css
(
"
overflow
"
,
"
hidden
"
),
a
.
transitions
[
a
.
current
.
prevMethod
]()):(
d
(
"
.fancybox-wrap
"
).
stop
().
trigger
(
"
onReset
"
).
remove
(),
a
.
trigger
(
"
afterClose
"
)),
a
.
unbindEvents
(),
a
.
isOpen
=!
1
,
a
.
current
=
a
.
coming
,
a
.
wrap
=
d
(
a
.
current
.
tpl
.
wrap
).
addClass
(
"
fancybox-
"
+
(
k
?
"
mobile
"
:
"
desktop
"
)
+
"
fancybox-type-
"
+
a
.
current
.
type
+
"
fancybox-tmp
"
+
a
.
current
.
wrapCSS
).
appendTo
(
"
body
"
),
!
a
&&
g
<=
e
.
h
&&
f
<=
e
.
w
?
c
.
position
=
"
fixed
"
:
d
.
locked
||
(
c
.
top
+=
e
.
y
,
c
.
left
+=
e
.
x
);
c
.
top
=
w
(
Math
.
max
(
c
.
top
,
c
.
top
+
(
e
.
h
-
g
)
*
d
.
topRatio
));
c
.
left
=
w
(
Math
.
max
(
c
.
left
,
c
.
left
+
(
e
.
w
-
f
)
*
d
.
leftRatio
));
return
c
},
_afterZoomIn
:
function
(){
var
a
=
b
.
current
;
a
&&
(
b
.
isOpen
=
b
.
isOpened
=!
0
,
b
.
wrap
.
css
(
"
overflow
"
,
"
visible
"
).
addClass
(
"
fancybox-opened
"
),
b
.
update
(),(
a
.
closeClick
||
a
.
nextClick
&&
1
<
b
.
group
.
length
)
&&
b
.
inner
.
css
(
"
cursor
"
,
"
pointer
"
).
bind
(
"
click.fb
"
,
function
(
d
){
!
f
(
d
.
target
).
is
(
"
a
"
)
&&!
f
(
d
.
target
).
parent
().
is
(
"
a
"
)
&&
(
d
.
preventDefault
(),
a
.
skin
=
d
(
"
.fancybox-skin
"
,
a
.
wrap
).
css
(
"
padding
"
,
n
(
a
.
current
.
padding
)),
a
.
outer
=
d
(
"
.fancybox-outer
"
,
a
.
wrap
),
a
.
inner
=
d
(
"
.fancybox-inner
"
,
a
.
wrap
),
a
.
_setContent
())},
_setContent
:
function
(){
var
b
=
a
.
current
,
c
=
b
.
content
,
e
=
b
.
type
,
f
=
b
.
minWidth
,
g
=
b
.
minHeight
,
i
=
b
.
maxWidth
,
h
=
b
.
maxHeight
;
switch
(
e
){
case
"
inline
"
:
case
"
ajax
"
:
case
"
html
"
:
b
.
selector
?
c
=
d
(
"
<div>
"
).
html
(
c
).
find
(
b
.
selector
):
c
instanceof
d
&&
(
c
.
parent
().
hasClass
(
"
fancybox-inner
"
)
&&
c
.
parents
(
"
.fancybox-wrap
"
).
unbind
(
"
onReset
"
),
c
=
c
.
show
().
detach
(),
d
(
a
.
wrap
).
bind
(
"
onReset
"
,
b
[
a
.
closeClick
?
"
close
"
:
"
next
"
]())}),
a
.
closeBtn
&&
f
(
a
.
tpl
.
closeBtn
).
appendTo
(
b
.
skin
).
bind
(
"
click.fb
"
,
function
(
a
){
a
.
preventDefault
();
b
.
close
()}),
a
.
arrows
&&
1
<
b
.
group
.
length
&&
((
a
.
loop
||
0
<
a
.
index
)
&&
f
(
a
.
tpl
.
prev
).
appendTo
(
b
.
outer
).
bind
(
"
click.fb
"
,
b
.
prev
),(
a
.
loop
||
a
.
index
<
b
.
group
.
length
-
1
)
&&
f
(
a
.
tpl
.
next
).
appendTo
(
b
.
outer
).
bind
(
"
click.fb
"
,
b
.
next
)),
b
.
trigger
(
"
afterShow
"
),
!
a
.
loop
&&
a
.
index
===
a
.
group
.
length
-
1
?
b
.
play
(
!
1
):
b
.
opts
.
autoPlay
&&!
b
.
player
.
isActive
&&
(
b
.
opts
.
autoPlay
=!
1
,
b
.
play
()))},
_afterZoomOut
:
function
(
a
){
a
=
function
(){
c
.
appendTo
(
"
body
"
).
hide
()}));
b
.
autoSize
&&
(
f
=
d
(
'
<div class="fancybox-wrap
'
+
a
.
current
.
wrapCSS
+
'
fancybox-tmp"></div>
'
).
appendTo
(
"
body
"
).
css
({
minWidth
:
n
(
f
,
"
w
"
),
minHeight
:
n
(
g
,
"
h
"
),
maxWidth
:
n
(
i
,
"
w
"
),
maxHeight
:
n
(
h
,
"
h
"
)}).
append
(
c
),
b
.
width
=
f
.
width
(),
b
.
height
=
f
.
height
(),
f
.
width
(
a
.
current
.
width
),
f
.
height
()
>
b
.
height
&&
(
f
.
width
(
b
.
width
+
1
),
b
.
width
=
f
.
width
(),
b
.
height
=
f
.
height
()),
c
=
f
.
contents
().
detach
(),
f
.
remove
());
break
;
case
"
image
"
:
c
=
b
.
tpl
.
image
.
replace
(
"
{href}
"
,
b
.
href
);
b
.
aspectRatio
=!
0
;
break
;
case
"
swf
"
:
c
=
a
||
b
.
current
;
f
(
"
.fancybox-wrap
"
).
trigger
(
"
onReset
"
).
remove
();
f
.
extend
(
b
,{
group
:{},
opts
:{},
router
:
!
1
,
current
:
null
,
isActive
:
!
1
,
isOpened
:
!
1
,
isOpen
:
!
1
,
isClosing
:
!
1
,
wrap
:
null
,
skin
:
null
,
outer
:
null
,
inner
:
null
});
b
.
trigger
(
"
afterClose
"
,
a
)}});
b
.
transitions
=
{
getOrigPosition
:
function
(){
var
a
=
b
.
current
,
d
=
a
.
element
,
e
=
a
.
orig
,
c
=
{},
f
=
50
,
g
=
50
,
h
=
a
.
hPadding
,
j
=
a
.
wPadding
,
m
=
b
.
getViewport
();
!
e
&&
(
a
.
isDom
&&
d
.
is
(
"
:visible
"
))
&&
(
e
=
d
.
find
(
"
img:first
"
),
e
.
length
||
(
e
=
d
));
t
(
e
)?(
c
=
e
.
offset
(),
e
.
is
(
"
img
"
)
&&
(
f
=
e
.
outerWidth
(),
g
=
e
.
outerHeight
())):
b
.
tpl
.
swf
.
replace
(
/
\{
width
\}
/g
,
b
.
width
).
replace
(
/
\{
height
\}
/g
,
b
.
height
).
replace
(
/
\{
href
\}
/g
,
b
.
href
);
break
;
case
"
iframe
"
:
c
=
d
(
b
.
tpl
.
iframe
.
replace
(
"
{rnd}
"
,(
new
Date
).
getTime
())).
attr
(
"
scrolling
"
,
b
.
scrolling
).
attr
(
"
src
"
,
b
.
href
),
b
.
scrolling
=
k
?
"
scroll
"
:
"
auto
"
}
if
(
"
image
"
===
e
||
"
swf
"
===
e
)
b
.
autoSize
=!
1
,
b
.
scrolling
=
"
visible
"
;
"
iframe
"
===
e
&&
b
.
autoSize
?(
a
.
showLoading
(),
a
.
_setDimension
(),
a
.
inner
.
css
(
"
overflow
"
,
b
.
scrolling
),
c
.
bind
({
onCancel
:
function
(){
d
(
this
).
unbind
();
a
.
_afterZoomOut
()},
load
:
function
(){
a
.
hideLoading
();
(
c
.
top
=
m
.
y
+
(
m
.
h
-
g
)
*
a
.
topRatio
,
c
.
left
=
m
.
x
+
(
m
.
w
-
f
)
*
a
.
leftRatio
);
if
(
"
fixed
"
===
b
.
wrap
.
css
(
"
position
"
)
||
a
.
locked
)
c
.
top
-=
m
.
y
,
c
.
left
-=
m
.
x
;
return
c
=
{
top
:
w
(
c
.
top
-
h
*
a
.
topRatio
),
left
:
w
(
c
.
left
-
j
*
a
.
leftRatio
),
width
:
w
(
f
+
j
),
height
:
w
(
g
+
h
)}},
step
:
function
(
a
,
d
){
var
e
,
c
,
f
=
d
.
prop
;
c
=
b
.
current
;
var
g
=
c
.
wrapSpace
,
h
=
c
.
skinSpace
;
if
(
"
width
"
===
f
||
"
height
"
===
f
)
e
=
d
.
end
===
d
.
start
?
1
:(
a
-
d
.
start
)
/
(
d
.
end
-
d
.
start
),
b
.
isClosing
&&
(
e
=
1
-
e
),
c
=
"
width
"
===
f
?
c
.
wPadding
:
c
.
hPadding
,
c
=
a
-
c
,
b
.
skin
[
f
](
l
(
"
width
"
===
f
?
c
:
c
-
g
*
e
)),
b
.
inner
[
f
](
l
(
"
width
"
===
try
{
this
.
contentWindow
.
document
.
location
&&
(
a
.
current
.
height
=
d
(
this
).
contents
().
find
(
"
body
"
).
height
())}
catch
(
b
){
a
.
current
.
autoSize
=!
1
}
a
[
a
.
isOpen
?
"
_afterZoomIn
"
:
"
_beforeShow
"
]()}}).
appendTo
(
a
.
inner
)):(
a
.
inner
.
append
(
c
),
a
.
_beforeShow
())},
_beforeShow
:
function
(){
a
.
coming
=
null
;
a
.
trigger
(
"
beforeShow
"
);
a
.
_setDimension
();
a
.
wrap
.
hide
().
removeClass
(
"
fancybox-tmp
"
);
a
.
bindEvents
();
a
.
_preloadImages
();
a
.
transitions
[
a
.
isOpened
?
a
.
current
.
nextMethod
:
a
.
current
.
openMethod
]()},
_setDimension
:
function
(){
var
b
=
a
.
wrap
,
c
=
f
?
c
:
c
-
g
*
e
-
h
*
e
))},
zoomIn
:
function
(){
var
a
=
b
.
current
,
d
=
a
.
pos
,
e
=
a
.
openEffect
,
c
=
"
elastic
"
===
e
,
k
=
f
.
extend
({
opacity
:
1
},
d
);
delete
k
.
position
;
c
?(
d
=
this
.
getOrigPosition
(),
a
.
openOpacity
&&
(
d
.
opacity
=
0.1
)):
"
fade
"
===
e
&&
(
d
.
opacity
=
0.1
);
b
.
wrap
.
css
(
d
).
animate
(
k
,{
duration
:
"
none
"
===
e
?
0
:
a
.
openSpeed
,
easing
:
a
.
openEasing
,
step
:
c
?
this
.
step
:
null
,
complete
:
b
.
_afterZoomIn
})},
zoomOut
:
function
(){
var
a
=
b
.
current
,
d
=
a
.
closeEffect
,
e
=
"
elastic
"
===
d
,
c
=
{
opacity
:
0.1
};
e
&&
(
c
=
this
.
getOrigPosition
(),
a
.
closeOpacity
&&
(
c
.
opacity
=
0.1
));
b
.
wrap
.
animate
(
c
,
a
.
inner
,
e
=
a
.
current
,
f
=
a
.
getViewport
(),
g
=
e
.
margin
,
i
=
2
*
e
.
padding
,
h
=
e
.
width
,
j
=
e
.
height
,
r
=
e
.
maxWidth
+
i
,
k
=
e
.
maxHeight
+
i
,
l
=
e
.
minWidth
+
i
,
m
=
e
.
minHeight
+
i
,
p
;
f
.
w
-=
g
[
1
]
+
g
[
3
];
f
.
h
-=
g
[
0
]
+
g
[
2
];
o
(
h
)
&&
0
<
h
.
indexOf
(
"
%
"
)
&&
(
h
=
(
f
.
w
-
i
)
*
parseFloat
(
h
)
/
100
);
o
(
j
)
&&
0
<
j
.
indexOf
(
"
%
"
)
&&
(
j
=
(
f
.
h
-
i
)
*
parseFloat
(
j
)
/
100
);
g
=
h
/
j
;
h
+=
i
;
j
+=
i
;
e
.
fitToView
&&
(
r
=
Math
.
min
(
f
.
w
,
r
),
k
=
Math
.
min
(
f
.
h
,
k
));
if
(
e
.
aspectRatio
){
if
(
h
>
r
&&
(
h
=
r
,
j
=
(
h
-
i
)
/
g
+
i
),
j
>
k
&&
(
j
=
k
,
h
=
(
j
-
i
)
*
g
+
i
),
h
<
l
&&
(
h
=
l
,
j
=
(
h
-
i
)
/
g
+
i
),
j
<
m
)
j
=
m
,
h
=
(
j
-
i
)
*
g
+
i
}
else
h
=
Math
.
max
(
l
,
Math
.
min
(
h
,
r
)),
j
=
Math
.
max
(
m
,
{
duration
:
"
none
"
===
d
?
0
:
a
.
closeSpeed
,
easing
:
a
.
closeEasing
,
step
:
e
?
this
.
step
:
null
,
complete
:
b
.
_afterZoomOut
})},
changeIn
:
function
(){
var
a
=
b
.
current
,
d
=
a
.
nextEffect
,
e
=
a
.
pos
,
c
=
{
opacity
:
1
},
f
=
b
.
direction
,
g
;
e
.
opacity
=
0.1
;
"
elastic
"
===
d
&&
(
g
=
"
down
"
===
f
||
"
up
"
===
f
?
"
top
"
:
"
left
"
,
"
down
"
===
f
||
"
right
"
===
f
?(
e
[
g
]
=
w
(
l
(
e
[
g
])
-
200
),
c
[
g
]
=
"
+=200px
"
):(
e
[
g
]
=
w
(
l
(
e
[
g
])
+
200
),
c
[
g
]
=
"
-=200px
"
));
"
none
"
===
d
?
b
.
_afterZoomIn
():
b
.
wrap
.
css
(
e
).
animate
(
c
,{
duration
:
a
.
nextSpeed
,
easing
:
a
.
nextEasing
,
complete
:
b
.
_afterZoomIn
})},
changeOut
:
function
(){
var
a
=
Math
.
min
(
j
,
k
));
h
=
Math
.
round
(
h
);
j
=
Math
.
round
(
j
);
d
(
b
.
add
(
c
)).
width
(
"
auto
"
).
height
(
"
auto
"
);
c
.
width
(
h
-
i
).
height
(
j
-
i
);
b
.
width
(
h
);
p
=
b
.
height
();
if
(
h
>
r
||
p
>
k
)
for
(;(
h
>
r
||
p
>
k
)
&&
h
>
l
&&
p
>
m
;)
j
-=
10
,
e
.
aspectRatio
?(
h
=
Math
.
round
((
j
-
i
)
*
g
+
i
),
h
<
l
&&
(
h
=
l
,
j
=
(
h
-
i
)
/
g
+
i
)):
h
-=
10
,
c
.
width
(
h
-
i
).
height
(
j
-
i
),
b
.
width
(
h
),
p
=
b
.
height
();
e
.
dim
=
{
width
:
n
(
h
),
height
:
n
(
p
)};
e
.
canGrow
=
e
.
autoSize
&&
j
>
m
&&
j
<
k
;
e
.
canShrink
=!
1
;
e
.
canExpand
=!
1
;
if
(
h
-
i
<
e
.
width
||
j
-
i
<
e
.
height
)
e
.
canExpand
=!
0
;
else
if
((
h
>
f
.
w
||
p
>
f
.
h
)
&&
h
>
l
&&
j
>
m
)
e
.
canShrink
=!
0
;
a
.
innerSpace
=
p
-
i
-
b
.
previous
,
d
=
a
.
prevEffect
,
e
=
{
opacity
:
0.1
},
c
=
b
.
direction
;
"
elastic
"
===
d
&&
(
e
[
"
down
"
===
c
||
"
up
"
===
c
?
"
top
"
:
"
left
"
]
=
(
"
up
"
===
c
||
"
left
"
===
c
?
"
-
"
:
"
+
"
)
+
"
=200px
"
);
a
.
wrap
.
animate
(
e
,{
duration
:
"
none
"
===
d
?
0
:
a
.
prevSpeed
,
easing
:
a
.
prevEasing
,
complete
:
function
(){
f
(
this
).
trigger
(
"
onReset
"
).
remove
()}})}};
b
.
helpers
.
overlay
=
{
defaults
:{
closeClick
:
!
0
,
speedOut
:
200
,
showEarly
:
!
0
,
css
:{},
locked
:
!
s
,
fixed
:
!
0
},
overlay
:
null
,
fixed
:
!
1
,
el
:
f
(
"
html
"
),
create
:
function
(
a
){
a
=
f
.
extend
({},
this
.
defaults
,
a
);
this
.
overlay
&&
this
.
close
();
this
.
overlay
=
c
.
height
()},
_getPosition
:
function
(
b
){
var
c
=
a
.
current
,
e
=
a
.
getViewport
(),
f
=
c
.
margin
,
d
=
a
.
wrap
.
width
()
+
f
[
1
]
+
f
[
3
],
i
=
a
.
wrap
.
height
()
+
f
[
0
]
+
f
[
2
],
h
=
{
position
:
"
absolute
"
,
top
:
f
[
0
]
+
e
.
y
,
left
:
f
[
3
]
+
e
.
x
};
c
.
autoCenter
&&
c
.
fixed
&&!
b
&&
i
<=
e
.
h
&&
d
<=
e
.
w
&&
(
h
=
{
position
:
"
fixed
"
,
top
:
f
[
0
],
left
:
f
[
3
]});
h
.
top
=
n
(
Math
.
max
(
h
.
top
,
h
.
top
+
(
e
.
h
-
i
)
*
c
.
topRatio
));
h
.
left
=
n
(
Math
.
max
(
h
.
left
,
h
.
left
+
0.5
*
(
e
.
w
-
d
)));
return
h
},
_afterZoomIn
:
function
(){
var
b
=
a
.
current
,
c
=
b
?
b
.
scrolling
:
"
no
"
;
if
(
b
&&
(
a
.
isOpen
=
a
.
isOpened
=!
0
,
a
.
wrap
.
addClass
(
"
fancybox-opened
"
),
f
(
'
<div class="fancybox-overlay"></div>
'
).
appendTo
(
b
.
coming
?
b
.
coming
.
parent
:
a
.
parent
);
this
.
fixed
=!
1
;
a
.
fixed
&&
b
.
defaults
.
fixed
&&
(
this
.
overlay
.
addClass
(
"
fancybox-overlay-fixed
"
),
this
.
fixed
=!
0
)},
open
:
function
(
a
){
var
d
=
this
;
a
=
f
.
extend
({},
this
.
defaults
,
a
);
this
.
overlay
?
this
.
overlay
.
unbind
(
"
.overlay
"
).
width
(
"
auto
"
).
height
(
"
auto
"
):
this
.
create
(
a
);
this
.
fixed
||
(
n
.
bind
(
"
resize.overlay
"
,
f
.
proxy
(
this
.
update
,
this
)),
this
.
update
());
a
.
closeClick
&&
this
.
overlay
.
bind
(
"
click.overlay
"
,
function
(
a
){
if
(
f
(
a
.
target
).
hasClass
(
"
fancybox-overlay
"
))
return
b
.
isActive
?
a
.
inner
.
css
(
"
overflow
"
,
"
yes
"
===
c
?
"
scroll
"
:
"
no
"
===
c
?
"
hidden
"
:
c
),
a
.
trigger
(
"
afterShow
"
),
a
.
update
(),(
b
.
closeClick
||
b
.
nextClick
)
&&
a
.
inner
.
css
(
"
cursor
"
,
"
pointer
"
).
bind
(
"
click.fb
"
,
function
(
c
){
if
(
!
d
(
c
.
target
).
is
(
"
a
"
)
&&!
d
(
c
.
target
).
parent
().
is
(
"
a
"
))
a
[
b
.
closeClick
?
"
close
"
:
"
next
"
]()}),
b
.
closeBtn
&&
d
(
b
.
tpl
.
closeBtn
).
appendTo
(
a
.
skin
).
bind
(
"
click.fb
"
,
a
.
close
),
b
.
arrows
&&
1
<
a
.
group
.
length
&&
((
b
.
loop
||
0
<
b
.
index
)
&&
d
(
b
.
tpl
.
prev
).
appendTo
(
a
.
outer
).
bind
(
"
click.fb
"
,
a
.
prev
),(
b
.
loop
||
b
.
index
<
a
.
group
.
length
-
1
)
&&
d
(
b
.
tpl
.
next
).
appendTo
(
a
.
outer
).
bind
(
"
click.fb
"
,
b
.
close
():
d
.
close
(),
!
1
});
this
.
overlay
.
css
(
a
.
css
).
show
()},
close
:
function
(){
var
a
,
b
;
n
.
unbind
(
"
resize.overlay
"
);
this
.
el
.
hasClass
(
"
fancybox-lock
"
)
&&
(
f
(
"
.fancybox-margin
"
).
removeClass
(
"
fancybox-margin
"
),
a
=
n
.
scrollTop
(),
b
=
n
.
scrollLeft
(),
this
.
el
.
removeClass
(
"
fancybox-lock
"
),
n
.
scrollTop
(
a
).
scrollLeft
(
b
));
f
(
"
.fancybox-overlay
"
).
remove
().
hide
();
f
.
extend
(
this
,{
overlay
:
null
,
fixed
:
!
1
})},
update
:
function
(){
var
a
=
"
100%
"
,
b
;
this
.
overlay
.
width
(
a
).
height
(
"
100%
"
);
I
?(
b
=
Math
.
max
(
G
.
documentElement
.
offsetWidth
,
G
.
body
.
offsetWidth
),
a
.
next
)),
a
.
opts
.
autoPlay
&&!
a
.
player
.
isActive
))
a
.
opts
.
autoPlay
=!
1
,
a
.
play
()},
_afterZoomOut
:
function
(){
var
b
=
a
.
current
;
a
.
wrap
.
trigger
(
"
onReset
"
).
remove
();
d
.
extend
(
a
,{
group
:{},
opts
:{},
current
:
null
,
isActive
:
!
1
,
isOpened
:
!
1
,
isOpen
:
!
1
,
wrap
:
null
,
skin
:
null
,
outer
:
null
,
inner
:
null
});
a
.
trigger
(
"
afterClose
"
,
b
)}});
a
.
transitions
=
{
getOrigPosition
:
function
(){
var
b
=
a
.
current
,
c
=
b
.
element
,
e
=
b
.
padding
,
f
=
d
(
b
.
orig
),
g
=
{},
i
=
50
,
h
=
50
;
!
f
.
length
&&
b
.
isDom
&&
d
(
c
).
is
(
"
:visible
"
)
&&
(
f
=
d
(
c
).
find
(
"
img:first
"
),
f
.
length
||
(
f
=
d
(
c
)));
f
.
length
?
p
.
width
()
>
b
&&
(
a
=
p
.
width
())):
p
.
width
()
>
n
.
width
()
&&
(
a
=
p
.
width
());
this
.
overlay
.
width
(
a
).
height
(
p
.
height
())},
onReady
:
function
(
a
,
b
){
var
e
=
this
.
overlay
;
f
(
"
.fancybox-overlay
"
).
stop
(
!
0
,
!
0
);
e
||
this
.
create
(
a
);
a
.
locked
&&
(
this
.
fixed
&&
b
.
fixed
)
&&
(
e
||
(
this
.
margin
=
p
.
height
()
>
n
.
height
()?
f
(
"
html
"
).
css
(
"
margin-right
"
).
replace
(
"
px
"
,
""
):
!
1
),
b
.
locked
=
this
.
overlay
.
append
(
b
.
wrap
),
b
.
fixed
=!
1
);
!
0
===
a
.
showEarly
&&
this
.
beforeShow
.
apply
(
this
,
arguments
)},
beforeShow
:
function
(
a
,
b
){
var
e
,
c
;
b
.
locked
&&
(
!
1
!==
this
.
margin
&&
(
f
(
"
*
"
).
filter
(
function
(){
return
"
fixed
"
===
(
g
=
f
.
offset
(),
f
.
is
(
"
img
"
)
&&
(
i
=
f
.
outerWidth
(),
h
=
f
.
outerHeight
())):(
b
=
a
.
getViewport
(),
g
.
top
=
b
.
y
+
0.5
*
(
b
.
h
-
h
),
g
.
left
=
b
.
x
+
0.5
*
(
b
.
w
-
i
));
return
g
=
{
top
:
n
(
g
.
top
-
e
),
left
:
n
(
g
.
left
-
e
),
width
:
n
(
i
+
2
*
e
),
height
:
n
(
h
+
2
*
e
)}},
step
:
function
(
b
,
c
){
var
e
=
c
.
prop
,
d
,
g
;
if
(
"
width
"
===
e
||
"
height
"
===
e
)
d
=
Math
.
ceil
(
b
-
2
*
a
.
current
.
padding
),
"
height
"
===
e
&&
(
g
=
(
b
-
c
.
start
)
/
(
c
.
end
-
c
.
start
),
c
.
start
>
c
.
end
&&
(
g
=
1
-
g
),
d
-=
a
.
innerSpace
*
g
),
a
.
inner
[
e
](
d
)},
zoomIn
:
function
(){
var
b
=
a
.
wrap
,
c
=
a
.
current
,
e
=
c
.
openEffect
,
f
=
"
elastic
"
===
e
,
g
=
d
.
extend
({},
c
.
dim
,
f
(
this
).
css
(
"
position
"
)
&&!
f
(
this
).
hasClass
(
"
fancybox-overlay
"
)
&&!
f
(
this
).
hasClass
(
"
fancybox-wrap
"
)}).
addClass
(
"
fancybox-margin
"
),
this
.
el
.
addClass
(
"
fancybox-margin
"
)),
e
=
n
.
scrollTop
(),
c
=
n
.
scrollLeft
(),
this
.
el
.
addClass
(
"
fancybox-lock
"
),
n
.
scrollTop
(
e
).
scrollLeft
(
c
));
this
.
open
(
a
)},
onUpdate
:
function
(){
this
.
fixed
||
this
.
update
()},
afterClose
:
function
(
a
){
this
.
overlay
&&!
b
.
coming
&&
this
.
overlay
.
fadeOut
(
a
.
speedOut
,
f
.
proxy
(
this
.
close
,
this
))}};
b
.
helpers
.
title
=
{
defaults
:{
type
:
"
float
"
,
position
:
"
bottom
"
},
beforeShow
:
function
(
a
){
var
d
=
a
.
_getPosition
(
f
)),
i
=
d
.
extend
({
opacity
:
1
},
g
);
delete
i
.
position
;
f
?(
g
=
this
.
getOrigPosition
(),
c
.
openOpacity
&&
(
g
.
opacity
=
0
),
a
.
outer
.
add
(
a
.
inner
).
width
(
"
auto
"
).
height
(
"
auto
"
)):
"
fade
"
===
e
&&
(
g
.
opacity
=
0
);
b
.
css
(
g
).
show
().
animate
(
i
,{
duration
:
"
none
"
===
e
?
0
:
c
.
openSpeed
,
easing
:
c
.
openEasing
,
step
:
f
?
this
.
step
:
null
,
complete
:
a
.
_afterZoomIn
})},
zoomOut
:
function
(){
var
b
=
a
.
wrap
,
c
=
a
.
current
,
d
=
c
.
openEffect
,
f
=
"
elastic
"
===
d
,
g
=
{
opacity
:
0
};
f
&&
(
"
fixed
"
===
b
.
css
(
"
position
"
)
&&
b
.
css
(
a
.
_getPosition
(
!
0
)),
g
=
this
.
getOrigPosition
(),
c
.
closeOpacity
&&
b
.
current
,
e
=
d
.
title
,
c
=
a
.
type
;
f
.
isFunction
(
e
)
&&
(
e
=
e
.
call
(
d
.
element
,
d
));
if
(
q
(
e
)
&&
""
!==
f
.
trim
(
e
)){
d
=
f
(
'
<div class="fancybox-title fancybox-title-
'
+
c
+
'
-wrap">
'
+
e
+
"
</div>
"
);
switch
(
c
){
case
"
inside
"
:
c
=
b
.
skin
;
break
;
case
"
outside
"
:
c
=
b
.
wrap
;
break
;
case
"
over
"
:
c
=
b
.
inner
;
break
;
default
:
c
=
b
.
skin
,
d
.
appendTo
(
"
body
"
),
I
&&
d
.
width
(
d
.
width
()),
d
.
wrapInner
(
'
<span class="child"></span>
'
),
b
.
current
.
margin
[
2
]
+=
Math
.
abs
(
l
(
d
.
css
(
"
margin-bottom
"
)))}
d
[
"
top
"
===
a
.
position
?
"
prependTo
"
:
"
appendTo
"
](
c
)}}};
f
.
fn
.
fancybox
=
function
(
a
){
var
d
,
(
g
.
opacity
=
0
));
b
.
animate
(
g
,{
duration
:
"
none
"
===
d
?
0
:
c
.
closeSpeed
,
easing
:
c
.
closeEasing
,
step
:
f
?
this
.
step
:
null
,
complete
:
a
.
_afterZoomOut
})},
changeIn
:
function
(){
var
b
=
a
.
wrap
,
c
=
a
.
current
,
d
=
c
.
nextEffect
,
f
=
"
elastic
"
===
d
,
g
=
a
.
_getPosition
(
f
),
i
=
{
opacity
:
1
};
g
.
opacity
=
0
;
f
&&
(
g
.
top
=
n
(
parseInt
(
g
.
top
,
10
)
-
200
),
i
.
top
=
"
+=200px
"
);
b
.
css
(
g
).
show
().
animate
(
i
,{
duration
:
"
none
"
===
d
?
0
:
c
.
nextSpeed
,
easing
:
c
.
nextEasing
,
complete
:
a
.
_afterZoomIn
})},
changeOut
:
function
(){
var
b
=
a
.
wrap
,
c
=
a
.
current
,
e
=
c
.
prevEffect
,
f
=
{
opacity
:
0
};
b
.
removeClass
(
"
fancybox-opened
"
);
e
=
f
(
this
),
c
=
this
.
selector
||
""
,
k
=
function
(
g
){
var
h
=
f
(
this
).
blur
(),
j
=
d
,
k
,
l
;
!
g
.
ctrlKey
&&
(
!
g
.
altKey
&&!
g
.
shiftKey
&&!
g
.
metaKey
)
&&!
h
.
is
(
"
.fancybox-wrap
"
)
&&
(
k
=
a
.
groupAttr
||
"
data-fancybox-group
"
,
l
=
h
.
attr
(
k
),
l
||
(
k
=
"
rel
"
,
l
=
h
.
get
(
0
)[
k
]),
l
&&
(
""
!==
l
&&
"
nofollow
"
!==
l
)
&&
(
h
=
c
.
length
?
f
(
c
):
e
,
h
=
h
.
filter
(
"
[
"
+
k
+
'
="
'
+
l
+
'
"]
'
),
j
=
h
.
index
(
this
)),
a
.
index
=
j
,
!
1
!==
b
.
open
(
h
,
a
)
&&
g
.
preventDefault
())};
a
=
a
||
{};
d
=
a
.
index
||
0
;
!
c
||!
1
===
a
.
live
?
e
.
unbind
(
"
click.fb-start
"
).
bind
(
"
click.fb-start
"
,
k
):
p
.
undelegate
(
c
,
"
click.fb-start
"
).
delegate
(
c
+
"
elastic
"
===
e
&&
(
f
.
top
=
"
+=200px
"
);
b
.
animate
(
f
,{
duration
:
"
none
"
===
e
?
0
:
c
.
prevSpeed
,
easing
:
c
.
prevEasing
,
complete
:
function
(){
d
(
this
).
trigger
(
"
onReset
"
).
remove
()}})}};
a
.
helpers
.
overlay
=
{
overlay
:
null
,
update
:
function
(){
var
a
,
c
;
this
.
overlay
.
width
(
"
100%
"
).
height
(
"
100%
"
);
d
.
browser
.
msie
||
k
?(
a
=
Math
.
max
(
l
.
documentElement
.
scrollWidth
,
l
.
body
.
scrollWidth
),
c
=
Math
.
max
(
l
.
documentElement
.
offsetWidth
,
l
.
body
.
offsetWidth
),
a
=
a
<
c
?
m
.
width
():
a
):
a
=
q
.
width
();
this
.
overlay
.
width
(
a
).
height
(
q
.
height
())},
beforeShow
:
function
(
b
){
this
.
overlay
||
"
:not('.fancybox-item, .fancybox-nav')
"
,
"
click.fb-start
"
,
k
);
this
.
filter
(
"
[data-fancybox-start=1]
"
).
trigger
(
"
click
"
);
return
this
};
p
.
ready
(
function
(){
var
a
,
d
;
f
.
scrollbarWidth
===
v
&&
(
f
.
scrollbarWidth
=
function
(){
var
a
=
f
(
'
<div style="width:50px;height:50px;overflow:auto"><div/></div>
'
).
appendTo
(
"
body
"
),
b
=
a
.
children
(),
b
=
b
.
innerWidth
()
-
b
.
height
(
99
).
innerWidth
();
a
.
remove
();
return
b
});
if
(
f
.
support
.
fixedPosition
===
v
){
a
=
f
.
support
;
d
=
f
(
'
<div style="position:fixed;top:20px;"></div>
'
).
appendTo
(
"
body
"
);
var
e
=
20
===
(
b
=
d
.
extend
(
!
0
,{},
a
.
defaults
.
helpers
.
overlay
,
b
),
this
.
overlay
=
d
(
'
<div id="fancybox-overlay"></div>
'
).
css
(
b
.
css
).
appendTo
(
"
body
"
),
b
.
closeClick
&&
this
.
overlay
.
bind
(
"
click.fb
"
,
a
.
close
),
a
.
current
.
fixed
&&!
k
?
this
.
overlay
.
addClass
(
"
overlay-fixed
"
):(
this
.
update
(),
this
.
onUpdate
=
function
(){
this
.
update
()}),
this
.
overlay
.
fadeTo
(
b
.
speedIn
,
b
.
opacity
))},
afterClose
:
function
(
a
){
this
.
overlay
&&
this
.
overlay
.
fadeOut
(
a
.
speedOut
||
0
,
function
(){
d
(
this
).
remove
()});
this
.
overlay
=
null
}};
a
.
helpers
.
title
=
{
beforeShow
:
function
(
b
){
var
c
;
d
[
0
].
offsetTop
||
15
===
d
[
0
].
offsetTop
;
d
.
remove
();
a
.
fixedPosition
=
e
}
f
.
extend
(
b
.
defaults
,{
scrollbarWidth
:
f
.
scrollbarWidth
(),
fixed
:
f
.
support
.
fixedPosition
,
parent
:
f
(
"
body
"
)});
a
=
f
(
r
).
width
();
J
.
addClass
(
"
fancybox-lock-test
"
);
d
=
f
(
r
).
width
();
J
.
removeClass
(
"
fancybox-lock-test
"
);
f
(
"
<style type='text/css'>.fancybox-margin{margin-right:
"
+
(
d
-
a
)
+
"
px;}</style>
"
).
appendTo
(
"
head
"
)})})(
window
,
document
,
jQuery
);
if
(
c
=
a
.
current
.
title
)
c
=
d
(
'
<div class="fancybox-title fancybox-title-
'
+
b
.
type
+
'
-wrap">
'
+
c
+
"
</div>
"
).
appendTo
(
"
body
"
),
"
float
"
===
b
.
type
&&
(
c
.
width
(
c
.
width
()),
c
.
wrapInner
(
'
<span class="child"></span>
'
),
a
.
current
.
margin
[
2
]
+=
Math
.
abs
(
parseInt
(
c
.
css
(
"
margin-bottom
"
),
10
))),
c
.
appendTo
(
"
over
"
===
b
.
type
?
a
.
inner
:
"
outside
"
===
b
.
type
?
a
.
wrap
:
a
.
skin
)}};
d
.
fn
.
fancybox
=
function
(
b
){
var
c
=
d
(
this
),
e
=
this
.
selector
||
""
,
f
,
g
=
function
(
g
){
var
h
=
this
,
j
=
f
,
k
;
!
g
.
ctrlKey
&&!
g
.
altKey
&&!
g
.
shiftKey
&&!
g
.
metaKey
&&!
d
(
h
).
is
(
"
.fancybox-wrap
"
)
&&
\ No newline at end of file
(
g
.
preventDefault
(),
g
=
b
.
groupAttr
||
"
data-fancybox-group
"
,
k
=
d
(
h
).
attr
(
g
),
k
||
(
g
=
"
rel
"
,
k
=
h
[
g
]),
k
&&
""
!==
k
&&
"
nofollow
"
!==
k
&&
(
h
=
e
.
length
?
d
(
e
):
c
,
h
=
h
.
filter
(
"
[
"
+
g
+
'
="
'
+
k
+
'
"]
'
),
j
=
h
.
index
(
this
)),
b
.
index
=
j
,
a
.
open
(
h
,
b
))},
b
=
b
||
{};
f
=
b
.
index
||
0
;
e
?
q
.
undelegate
(
e
,
"
click.fb-start
"
).
delegate
(
e
,
"
click.fb-start
"
,
g
):
c
.
unbind
(
"
click.fb-start
"
).
bind
(
"
click.fb-start
"
,
g
);
return
this
};
d
(
l
).
ready
(
function
(){
a
.
defaults
.
fixed
=
d
.
support
.
fixedPosition
||!
(
d
.
browser
.
msie
&&
6
>=
d
.
browser
.
version
)
&&!
k
})})(
window
,
document
,
jQuery
);
\ No newline at end of file
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment