Skip to content
Projects
Groups
Snippets
Help
Loading...
Sign in
Toggle navigation
J
jumpserver
Project
Project
Details
Activity
Cycle Analytics
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Issues
0
Issues
0
List
Board
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
ops
jumpserver
Commits
a42d053c
Commit
a42d053c
authored
Feb 10, 2015
by
halcyon
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
新弹窗等
parent
5f2e2a80
Show whitespace changes
Inline
Side-by-side
Showing
21 changed files
with
575 additions
and
13 deletions
+575
-13
mytags.py
jumpserver/templatetags/mytags.py
+2
-2
magnific-popup.css
static/css/magnific/magnific-popup.css
+374
-0
base.js
static/js/base.js
+9
-0
layer.ext.js
static/js/layer/extend/layer.ext.js
+13
-0
layer.min.js
static/js/layer/layer.min.js
+17
-0
icon_ext.png
static/js/layer/skin/default/icon_ext.png
+0
-0
textbg.png
static/js/layer/skin/default/textbg.png
+0
-0
xubox_ico0.png
static/js/layer/skin/default/xubox_ico0.png
+0
-0
xubox_loading0.gif
static/js/layer/skin/default/xubox_loading0.gif
+0
-0
xubox_loading1.gif
static/js/layer/skin/default/xubox_loading1.gif
+0
-0
xubox_loading2.gif
static/js/layer/skin/default/xubox_loading2.gif
+0
-0
xubox_loading3.gif
static/js/layer/skin/default/xubox_loading3.gif
+0
-0
xubox_title0.png
static/js/layer/skin/default/xubox_title0.png
+0
-0
layer.css
static/js/layer/skin/layer.css
+83
-0
layer.ext.css
static/js/layer/skin/layer.ext.css
+45
-0
jquery.magnific-popup.min.js
static/js/magnific/jquery.magnific-popup.min.js
+5
-0
foot_script.html
templates/foot_script.html
+7
-8
head_script.html
templates/head_script.html
+2
-0
group_add.html
templates/jasset/group_add.html
+1
-1
host_list.html
templates/jasset/host_list.html
+16
-2
link_css.html
templates/link_css.html
+1
-0
No files found.
jumpserver/templatetags/mytags.py
View file @
a42d053c
# coding: utf-8
# coding: utf-8
import
time
import
re
import
re
import
time
from
django
import
template
from
django
import
template
from
django.db.models
import
Q
from
juser.models
import
User
,
UserGroup
from
juser.models
import
User
,
UserGroup
from
jperm.views
import
perm_user_asset
from
jperm.views
import
perm_user_asset
from
jasset.models
import
BisGroup
from
jasset.models
import
BisGroup
...
...
static/css/magnific/magnific-popup.css
0 → 100755
View file @
a42d053c
/* Magnific Popup CSS */
.mfp-bg
{
top
:
0
;
left
:
0
;
width
:
100%
;
height
:
100%
;
z-index
:
1042
;
overflow
:
hidden
;
position
:
fixed
;
background
:
#0b0b0b
;
opacity
:
0.8
;
filter
:
alpha
(
opacity
=
80
);
}
.mfp-wrap
{
top
:
0
;
left
:
0
;
width
:
100%
;
height
:
100%
;
z-index
:
1043
;
position
:
fixed
;
outline
:
none
!important
;
-webkit-backface-visibility
:
hidden
;
}
.mfp-container
{
text-align
:
center
;
position
:
absolute
;
width
:
100%
;
height
:
100%
;
left
:
0
;
top
:
0
;
padding
:
0
8px
;
-webkit-box-sizing
:
border-box
;
-moz-box-sizing
:
border-box
;
box-sizing
:
border-box
;
}
.mfp-container
:before
{
content
:
''
;
display
:
inline-block
;
height
:
100%
;
vertical-align
:
middle
;
}
.mfp-align-top
.mfp-container
:before
{
display
:
none
;
}
.mfp-content
{
position
:
relative
;
display
:
inline-block
;
vertical-align
:
middle
;
margin
:
0
auto
;
text-align
:
left
;
z-index
:
1045
;
}
.mfp-inline-holder
.mfp-content
,
.mfp-ajax-holder
.mfp-content
{
width
:
100%
;
cursor
:
auto
;
}
.mfp-ajax-cur
{
cursor
:
progress
;
}
.mfp-zoom-out-cur
,
.mfp-zoom-out-cur
.mfp-image-holder
.mfp-close
{
cursor
:
-moz-zoom-out
;
cursor
:
-webkit-zoom-out
;
cursor
:
zoom-out
;
}
.mfp-zoom
{
cursor
:
pointer
;
cursor
:
-webkit-zoom-in
;
cursor
:
-moz-zoom-in
;
cursor
:
zoom-in
;
}
.mfp-auto-cursor
.mfp-content
{
cursor
:
auto
;
}
.mfp-close
,
.mfp-arrow
,
.mfp-preloader
,
.mfp-counter
{
-webkit-user-select
:
none
;
-moz-user-select
:
none
;
user-select
:
none
;
}
.mfp-loading.mfp-figure
{
display
:
none
;
}
.mfp-hide
{
display
:
none
!important
;
}
.mfp-preloader
{
color
:
#CCC
;
position
:
absolute
;
top
:
50%
;
width
:
auto
;
text-align
:
center
;
margin-top
:
-0.8em
;
left
:
8px
;
right
:
8px
;
z-index
:
1044
;
}
.mfp-preloader
a
{
color
:
#CCC
;
}
.mfp-preloader
a
:hover
{
color
:
#FFF
;
}
.mfp-s-ready
.mfp-preloader
{
display
:
none
;
}
.mfp-s-error
.mfp-content
{
display
:
none
;
}
button
.mfp-close
,
button
.mfp-arrow
{
overflow
:
visible
;
cursor
:
pointer
;
background
:
transparent
;
border
:
0
;
-webkit-appearance
:
none
;
display
:
block
;
outline
:
none
;
padding
:
0
;
z-index
:
1046
;
-webkit-box-shadow
:
none
;
box-shadow
:
none
;
}
button
::-moz-focus-inner
{
padding
:
0
;
border
:
0
;
}
.mfp-close
{
width
:
44px
;
height
:
44px
;
line-height
:
44px
;
position
:
absolute
;
right
:
0
;
top
:
0
;
text-decoration
:
none
;
text-align
:
center
;
opacity
:
0.65
;
filter
:
alpha
(
opacity
=
65
);
padding
:
0
0
18px
10px
;
color
:
#FFF
;
font-style
:
normal
;
font-size
:
28px
;
font-family
:
Arial
,
Baskerville
,
monospace
;
}
.mfp-close
:hover
,
.mfp-close
:focus
{
opacity
:
1
;
filter
:
alpha
(
opacity
=
100
);
}
.mfp-close
:active
{
top
:
1px
;
}
.mfp-close-btn-in
.mfp-close
{
color
:
#333
;
}
.mfp-image-holder
.mfp-close
,
.mfp-iframe-holder
.mfp-close
{
color
:
#FFF
;
right
:
-6px
;
text-align
:
right
;
padding-right
:
6px
;
width
:
100%
;
}
.mfp-counter
{
position
:
absolute
;
top
:
0
;
right
:
0
;
color
:
#CCC
;
font-size
:
12px
;
line-height
:
18px
;
white-space
:
nowrap
;
}
.mfp-arrow
{
position
:
absolute
;
opacity
:
0.65
;
filter
:
alpha
(
opacity
=
65
);
margin
:
0
;
top
:
50%
;
margin-top
:
-55px
;
padding
:
0
;
width
:
90px
;
height
:
110px
;
-webkit-tap-highlight-color
:
rgba
(
0
,
0
,
0
,
0
);
}
.mfp-arrow
:active
{
margin-top
:
-54px
;
}
.mfp-arrow
:hover
,
.mfp-arrow
:focus
{
opacity
:
1
;
filter
:
alpha
(
opacity
=
100
);
}
.mfp-arrow
:before
,
.mfp-arrow
:after
,
.mfp-arrow
.mfp-b
,
.mfp-arrow
.mfp-a
{
content
:
''
;
display
:
block
;
width
:
0
;
height
:
0
;
position
:
absolute
;
left
:
0
;
top
:
0
;
margin-top
:
35px
;
margin-left
:
35px
;
border
:
medium
inset
transparent
;
}
.mfp-arrow
:after
,
.mfp-arrow
.mfp-a
{
border-top-width
:
13px
;
border-bottom-width
:
13px
;
top
:
8px
;
}
.mfp-arrow
:before
,
.mfp-arrow
.mfp-b
{
border-top-width
:
21px
;
border-bottom-width
:
21px
;
opacity
:
0.7
;
}
.mfp-arrow-left
{
left
:
0
;
}
.mfp-arrow-left
:after
,
.mfp-arrow-left
.mfp-a
{
border-right
:
17px
solid
#FFF
;
margin-left
:
31px
;
}
.mfp-arrow-left
:before
,
.mfp-arrow-left
.mfp-b
{
margin-left
:
25px
;
border-right
:
27px
solid
#3F3F3F
;
}
.mfp-arrow-right
{
right
:
0
;
}
.mfp-arrow-right
:after
,
.mfp-arrow-right
.mfp-a
{
border-left
:
17px
solid
#FFF
;
margin-left
:
39px
;
}
.mfp-arrow-right
:before
,
.mfp-arrow-right
.mfp-b
{
border-left
:
27px
solid
#3F3F3F
;
}
.mfp-iframe-holder
{
padding-top
:
40px
;
padding-bottom
:
40px
;
}
.mfp-iframe-holder
.mfp-content
{
line-height
:
0
;
width
:
100%
;
max-width
:
900px
;
}
.mfp-iframe-holder
.mfp-close
{
top
:
-40px
;
}
.mfp-iframe-scaler
{
width
:
100%
;
height
:
0
;
overflow
:
hidden
;
padding-top
:
56.25%
;
}
.mfp-iframe-scaler
iframe
{
position
:
absolute
;
display
:
block
;
top
:
0
;
left
:
0
;
width
:
100%
;
height
:
100%
;
box-shadow
:
0
0
8px
rgba
(
0
,
0
,
0
,
0.6
);
background
:
#000
;
}
/* Main image in popup */
img
.mfp-img
{
width
:
auto
;
max-width
:
100%
;
height
:
auto
;
display
:
block
;
line-height
:
0
;
-webkit-box-sizing
:
border-box
;
-moz-box-sizing
:
border-box
;
box-sizing
:
border-box
;
padding
:
40px
0
40px
;
margin
:
0
auto
;
}
/* The shadow behind the image */
.mfp-figure
{
line-height
:
0
;
}
.mfp-figure
:after
{
content
:
''
;
position
:
absolute
;
left
:
0
;
top
:
40px
;
bottom
:
40px
;
display
:
block
;
right
:
0
;
width
:
auto
;
height
:
auto
;
z-index
:
-1
;
box-shadow
:
0
0
8px
rgba
(
0
,
0
,
0
,
0.6
);
background
:
#444
;
}
.mfp-figure
small
{
color
:
#BDBDBD
;
display
:
block
;
font-size
:
12px
;
line-height
:
14px
;
}
.mfp-figure
figure
{
margin
:
0
;
}
.mfp-bottom-bar
{
margin-top
:
-36px
;
position
:
absolute
;
top
:
100%
;
left
:
0
;
width
:
100%
;
cursor
:
auto
;
}
.mfp-title
{
text-align
:
left
;
line-height
:
18px
;
color
:
#F3F3F3
;
word-wrap
:
break-word
;
padding-right
:
36px
;
}
.mfp-image-holder
.mfp-content
{
max-width
:
100%
;
}
.mfp-gallery
.mfp-image-holder
.mfp-figure
{
cursor
:
pointer
;
}
@media
screen
and
(
max-width
:
800px
)
and
(
orientation
:
landscape
),
screen
and
(
max-height
:
300px
)
{
/**
* Remove all paddings around the image on small screen
*/
.mfp-img-mobile
.mfp-image-holder
{
padding-left
:
0
;
padding-right
:
0
;
}
.mfp-img-mobile
img
.mfp-img
{
padding
:
0
;
}
.mfp-img-mobile
.mfp-figure
:after
{
top
:
0
;
bottom
:
0
;
}
.mfp-img-mobile
.mfp-figure
small
{
display
:
inline
;
margin-left
:
5px
;
}
.mfp-img-mobile
.mfp-bottom-bar
{
background
:
rgba
(
0
,
0
,
0
,
0.6
);
bottom
:
0
;
margin
:
0
;
top
:
auto
;
padding
:
3px
5px
;
position
:
fixed
;
-webkit-box-sizing
:
border-box
;
-moz-box-sizing
:
border-box
;
box-sizing
:
border-box
;
}
.mfp-img-mobile
.mfp-bottom-bar
:empty
{
padding
:
0
;
}
.mfp-img-mobile
.mfp-counter
{
right
:
5px
;
top
:
3px
;
}
.mfp-img-mobile
.mfp-close
{
top
:
0
;
right
:
0
;
width
:
35px
;
height
:
35px
;
line-height
:
35px
;
background
:
rgba
(
0
,
0
,
0
,
0.6
);
position
:
fixed
;
text-align
:
center
;
padding
:
0
;
}
}
@media
all
and
(
max-width
:
900px
)
{
.mfp-arrow
{
-webkit-transform
:
scale
(
0.75
);
transform
:
scale
(
0.75
);
}
.mfp-arrow-left
{
-webkit-transform-origin
:
0
;
transform-origin
:
0
;
}
.mfp-arrow-right
{
-webkit-transform-origin
:
100%
;
transform-origin
:
100%
;
}
.mfp-container
{
padding-left
:
6px
;
padding-right
:
6px
;
}
}
.mfp-ie7
.mfp-img
{
padding
:
0
;
}
.mfp-ie7
.mfp-bottom-bar
{
width
:
600px
;
left
:
50%
;
margin-left
:
-300px
;
margin-top
:
5px
;
padding-bottom
:
5px
;
}
.mfp-ie7
.mfp-container
{
padding
:
0
;
}
.mfp-ie7
.mfp-content
{
padding-top
:
44px
;
}
.mfp-ie7
.mfp-close
{
top
:
0
;
right
:
0
;
padding-top
:
0
;
}
static/js/base.js
View file @
a42d053c
...
@@ -67,6 +67,15 @@ function move(from, to) {
...
@@ -67,6 +67,15 @@ function move(from, to) {
});
});
}
}
function
move_left
(
from
,
to
)
{
$
(
"#"
+
from
+
" option"
).
each
(
function
()
{
if
(
$
(
this
).
prop
(
"selected"
)
==
true
)
{
$
(
"#"
+
to
).
append
(
this
);
}
$
(
this
).
attr
(
"selected"
,
'true'
);
});
}
function
move_all
(
from
,
to
)
{
function
move_all
(
from
,
to
)
{
$
(
"#"
+
from
).
children
().
each
(
function
()
{
$
(
"#"
+
from
).
children
().
each
(
function
()
{
$
(
"#"
+
to
).
append
(
this
);
$
(
"#"
+
to
).
append
(
this
);
...
...
static/js/layer/extend/layer.ext.js
0 → 100755
View file @
a42d053c
/**
@Name: layer拓展类,依赖于layer
@Date: 2014.08.13
@Author: 贤心
@Versions:1.8.5-ext
@Api:http://sentsin.com/jquery/layer
@Desc: 本拓展会持续更新
*/
layer
.
use
(
"skin/layer.ext.css"
,
function
(){
layer
.
ext
&&
layer
.
ext
()}),
layer
.
prompt
=
function
(
a
,
b
,
c
){
var
d
=
{},
a
=
a
||
{},
e
=
{
area
:[
"auto"
,
"auto"
],
offset
:[
a
.
top
||
""
,
""
],
title
:
a
.
title
||
"信息"
,
dialog
:{
btns
:
2
,
type
:
-
1
,
msg
:
'<input type="'
+
function
(){
return
1
===
a
.
type
?
"password"
:
2
===
a
.
type
?
"file"
:
"text"
}()
+
'" class="xubox_prompt xubox_form" id="xubox_prompt" value="'
+
(
a
.
val
||
""
)
+
'" />'
,
yes
:
function
(
c
){
var
e
=
d
.
prompt
.
val
();
""
===
e
?
d
.
prompt
.
focus
():
e
.
replace
(
/
\s
/g
,
""
).
length
>
(
a
.
length
||
1
e3
)?
layer
.
tips
(
"最多输入"
+
(
a
.
length
||
1
e3
)
+
"个字数"
,
"#xubox_prompt"
,
2
):
b
&&
b
(
e
,
c
,
d
.
prompt
)},
no
:
c
},
success
:
function
(){
d
.
prompt
=
$
(
"#xubox_prompt"
),
d
.
prompt
.
focus
()}};
return
3
===
a
.
type
&&
(
e
.
dialog
.
msg
=
'<textarea class="xubox_prompt xubox_form xubox_formArea" id="xubox_prompt">'
+
(
a
.
val
||
""
)
+
"</textarea>"
),
$
.
layer
(
e
)},
layer
.
tab
=
function
(
a
){
var
a
=
a
||
{},
c
=
a
.
data
||
[],
d
=
{
type
:
1
,
border
:[
0
],
area
:[
"auto"
,
"auto"
],
bgcolor
:
""
,
title
:
!
1
,
shade
:
a
.
shade
,
offset
:
a
.
offset
,
move
:
".xubox_tabmove"
,
closeBtn
:
!
1
,
page
:{
html
:
'<div class="xubox_tab" style="'
+
function
(){
return
a
.
area
=
a
.
area
||
[],
"width:"
+
(
a
.
area
[
0
]
||
"500px"
)
+
"; height:"
+
(
a
.
area
[
1
]
||
"300px"
)
+
'">'
}()
+
'<span class="xubox_tabmove"></span>'
+
'<div class="xubox_tabtit">'
+
function
(){
var
a
=
c
.
length
,
b
=
1
,
d
=
""
;
if
(
a
>
0
)
for
(
d
=
'<span class="xubox_tabnow">'
+
c
[
0
].
title
+
"</span>"
;
a
>
b
;
b
++
)
d
+=
"<span>"
+
c
[
b
].
title
+
"</span>"
;
return
d
}()
+
"</div>"
+
'<ul class="xubox_tab_main">'
+
function
(){
var
a
=
c
.
length
,
b
=
1
,
d
=
""
;
if
(
a
>
0
)
for
(
d
=
'<li class="xubox_tabli xubox_tab_layer">'
+
(
c
[
0
].
content
||
"content未传入"
)
+
"</li>"
;
a
>
b
;
b
++
)
d
+=
'<li class="xubox_tabli">'
+
(
c
[
b
].
content
||
"content未传入"
)
+
"</li>"
;
return
d
}()
+
"</ul>"
+
'<span class="xubox_tabclose" title="关闭">X</span>'
+
"</div>"
},
success
:
function
(
a
){
var
b
=
$
(
".xubox_tabtit"
).
children
(),
c
=
$
(
".xubox_tab_main"
).
children
(),
d
=
$
(
".xubox_tabclose"
);
b
.
on
(
"click"
,
function
(){
var
a
=
$
(
this
),
b
=
a
.
index
();
a
.
addClass
(
"xubox_tabnow"
).
siblings
().
removeClass
(
"xubox_tabnow"
),
c
.
eq
(
b
).
show
().
siblings
().
hide
()}),
d
.
on
(
"click"
,
function
(){
layer
.
close
(
a
.
attr
(
"times"
))})}};
return
$
.
layer
(
d
)},
layer
.
photos
=
function
(
a
){
var
b
,
c
,
d
,
e
,
f
,
g
,
h
,
i
;
if
(
a
=
a
||
{},
b
=
{
imgIndex
:
1
,
end
:
null
,
html
:
$
(
"html"
)},
c
=
$
(
window
),
d
=
a
.
json
,
e
=
a
.
page
,
d
){
if
(
f
=
d
.
data
,
1
!==
d
.
status
)
return
layer
.
msg
(
"未请求到数据"
,
2
,
8
),
void
0
;
if
(
b
.
imgLen
=
f
.
length
,
!
(
f
.
length
>
0
))
return
layer
.
msg
(
"没有任何图片"
,
2
,
8
),
void
0
;
b
.
thissrc
=
f
[
d
.
start
].
src
,
b
.
pid
=
f
[
d
.
start
].
pid
,
b
.
imgsname
=
d
.
title
||
""
,
b
.
name
=
f
[
d
.
start
].
name
,
b
.
imgIndex
=
d
.
start
+
1
}
else
g
=
$
(
e
.
parent
).
find
(
"img"
),
h
=
g
.
eq
(
e
.
start
),
b
.
thissrc
=
h
.
attr
(
"layer-img"
)
||
h
.
attr
(
"src"
),
b
.
pid
=
h
.
attr
(
"pid"
),
b
.
imgLen
=
g
.
length
,
b
.
imgsname
=
e
.
title
||
""
,
b
.
name
=
h
.
attr
(
"alt"
),
b
.
imgIndex
=
e
.
start
+
1
;
return
i
=
{
type
:
1
,
border
:[
0
],
area
:[(
a
.
html
?
915
:
600
)
+
"px"
,
"auto"
],
title
:
!
1
,
shade
:[.
9
,
"#000"
,
!
0
],
shadeClose
:
!
0
,
offset
:[
"25px"
,
""
],
bgcolor
:
""
,
page
:{
html
:
'<div class="xubox_bigimg"><img src="'
+
b
.
thissrc
+
'" alt="'
+
(
b
.
name
||
""
)
+
'" layer-pid="'
+
(
b
.
pid
||
""
)
+
'"><div class="xubox_imgsee">'
+
function
(){
return
b
.
imgLen
>
1
?
'<a href="" class="xubox_iconext xubox_prev"></a><a href="" class="xubox_iconext xubox_next"></a>'
:
""
}()
+
'<div class="xubox_imgbar"><span class="xubox_imgtit"><a href="javascript:;">'
+
b
.
imgsname
+
" </a><em>"
+
b
.
imgIndex
+
"/"
+
b
.
imgLen
+
"</em></span></div></div></div>"
+
function
(){
return
a
.
html
?
'<div class="xubox_intro">'
+
a
.
html
+
"</div>"
:
""
}()},
success
:
function
(
a
){
b
.
bigimg
=
a
.
find
(
".xubox_bigimg"
),
b
.
imgsee
=
b
.
bigimg
.
find
(
".xubox_imgsee"
),
b
.
imgbar
=
b
.
imgsee
.
find
(
".xubox_imgbar"
),
b
.
imgtit
=
b
.
imgbar
.
find
(
".xubox_imgtit"
),
b
.
layero
=
a
;
var
c
=
b
.
imgs
=
b
.
bigimg
.
find
(
"img"
);
clearTimeout
(
b
.
timerr
),
b
.
timerr
=
setTimeout
(
function
(){
$
(
"html"
).
css
(
"overflow"
,
"hidden"
).
attr
(
"layer-full"
,
b
.
index
)},
10
),
c
.
load
(
function
(){
b
.
imgarea
=
[
c
.
outerWidth
(),
c
.
outerHeight
()],
b
.
resize
(
a
)}),
b
.
event
()},
end
:
function
(){
layer
.
closeAll
(),
b
.
end
=!
0
}},
b
.
event
=
function
(){
b
.
bigimg
.
hover
(
function
(){
b
.
imgsee
.
show
()},
function
(){
b
.
imgsee
.
hide
()}),
i
.
imgprev
=
function
(){
b
.
imgIndex
--
,
b
.
imgIndex
<
1
&&
(
b
.
imgIndex
=
b
.
imgLen
),
b
.
tabimg
()},
b
.
bigimg
.
find
(
".xubox_prev"
).
on
(
"click"
,
function
(
a
){
a
.
preventDefault
(),
i
.
imgprev
()}),
i
.
imgnext
=
function
(){
b
.
imgIndex
++
,
b
.
imgIndex
>
b
.
imgLen
&&
(
b
.
imgIndex
=
1
),
b
.
tabimg
()},
b
.
bigimg
.
find
(
".xubox_next"
).
on
(
"click"
,
function
(
a
){
a
.
preventDefault
(),
i
.
imgnext
()}),
$
(
document
).
keyup
(
function
(
a
){
if
(
!
b
.
end
){
var
c
=
a
.
keyCode
;
a
.
preventDefault
(),
37
===
c
?
i
.
imgprev
():
39
===
c
?
i
.
imgnext
():
27
===
c
&&
layer
.
close
(
b
.
index
)}}),
b
.
tabimg
=
function
(){
var
e
,
h
,
i
,
j
,
k
;
b
.
imgs
.
removeAttr
(
"style"
),
d
?(
j
=
f
[
b
.
imgIndex
-
1
],
e
=
j
.
src
,
h
=
j
.
pid
,
i
=
j
.
name
):(
k
=
g
.
eq
(
b
.
imgIndex
-
1
),
e
=
k
.
attr
(
"layer-img"
)
||
k
.
attr
(
"src"
),
h
=
k
.
attr
(
"layer-pid"
)
||
""
,
i
=
k
.
attr
(
"alt"
)
||
""
),
b
.
imgs
.
attr
({
src
:
e
,
"layer-pid"
:
h
,
alt
:
i
}),
b
.
imgtit
.
find
(
"em"
).
text
(
b
.
imgIndex
+
"/"
+
b
.
imgLen
),
b
.
imgsee
.
show
(),
a
.
tab
&&
a
.
tab
({
pid
:
h
,
name
:
i
})}},
b
.
resize
=
function
(
d
){
var
g
,
e
=
{},
f
=
[
c
.
width
(),
c
.
height
()];
e
.
limit
=
f
[
0
]
-
f
[
0
]
/
f
[
1
]
*
(
60
*
f
[
0
]
/
f
[
1
]),
e
.
limit
<
600
&&
(
e
.
limit
=
600
),
g
=
[
e
.
limit
,
f
[
1
]
>
400
?
f
[
1
]
-
50
:
400
],
g
[
0
]
=
a
.
html
?
g
[
0
]:
g
[
0
]
-
300
,
layer
.
area
(
b
.
index
,{
width
:
g
[
0
]
+
(
a
.
html
?
15
:
0
),
height
:
g
[
1
]}),
e
.
flwidth
=
g
[
0
]
-
(
a
.
html
?
300
:
0
),
b
.
imgarea
[
0
]
>
e
.
flwidth
?
b
.
imgs
.
css
({
width
:
e
.
flwidth
}):
b
.
imgs
.
css
({
width
:
b
.
imgarea
[
0
]}),
b
.
imgs
.
outerHeight
()
<
g
[
1
]
&&
b
.
imgs
.
css
({
top
:(
g
[
1
]
-
b
.
imgs
.
outerHeight
())
/
2
}),
b
.
imgs
.
css
({
visibility
:
"visible"
}),
b
.
bigimg
.
css
({
width
:
e
.
flwidth
,
height
:
g
[
1
],
"background-color"
:
a
.
bgcolor
}),
a
.
html
&&
d
.
find
(
".xubox_intro"
).
css
({
height
:
g
[
1
]}),
e
=
null
,
f
=
null
,
g
=
null
},
c
.
on
(
"resize"
,
function
(){
b
.
end
||
(
b
.
timer
&&
clearTimeout
(
b
.
timer
),
b
.
timer
=
setTimeout
(
function
(){
b
.
resize
(
b
.
layero
)},
200
))}),
b
.
index
=
$
.
layer
(
i
),
b
.
index
},
layer
.
photosPage
=
function
(
a
){
var
b
=
{};
b
.
run
=
function
(
b
){
layer
.
photos
({
html
:
a
.
html
,
success
:
a
.
success
,
page
:{
title
:
a
.
title
,
id
:
a
.
id
,
start
:
b
,
parent
:
a
.
parent
}})},
a
=
a
||
{},
$
(
a
.
parent
).
find
(
"img"
).
each
(
function
(
a
){
$
(
this
).
on
(
"click"
,
function
(){
b
.
run
(
a
)})})};
\ No newline at end of file
static/js/layer/layer.min.js
0 → 100755
View file @
a42d053c
/****************************************
@Name:layer v1.8.5 弹层组件压缩版
@Author:贤心
@Date:2014-08-13
@Blog:http://sentsin.com
@Copyright:Sentsin Xu(贤心)
@官网:http://sentsin.com/jquery/layer
*/
;
!
function
(
a
,
b
){
"use strict"
;
var
c
,
d
,
e
=
""
,
//组件存放目录,为空表示自动获取
f
=
{
getPath
:
function
(){
var
a
=
document
.
scripts
,
b
=
a
[
a
.
length
-
1
].
src
;
return
e
?
e
:
b
.
substring
(
0
,
b
.
lastIndexOf
(
"/"
)
+
1
)},
type
:[
"dialog"
,
"page"
,
"iframe"
,
"loading"
,
"tips"
]};
a
.
layer
=
{
v
:
"1.8.5"
,
ie6
:
!!
a
.
ActiveXObject
&&!
a
.
XMLHttpRequest
,
index
:
0
,
path
:
f
.
getPath
(),
use
:
function
(
a
,
b
){
var
d
=
c
(
"head"
)[
0
],
a
=
a
.
replace
(
/
\s
/g
,
""
),
e
=
/
\.
css$/
.
test
(
a
),
f
=
document
.
createElement
(
e
?
"link"
:
"script"
),
g
=
a
.
replace
(
/
\.
|
\/
/g
,
""
);
e
&&
(
f
.
type
=
"text/css"
,
f
.
rel
=
"stylesheet"
),
f
[
e
?
"href"
:
"src"
]
=
/^http:
\/\/
/
.
test
(
a
)?
a
:
layer
.
path
+
a
,
f
.
id
=
g
,
c
(
"#"
+
g
)[
0
]
||
d
.
appendChild
(
f
),
b
&&
(
document
.
all
?
c
(
f
).
ready
(
b
):
c
(
f
).
load
(
b
))},
alert
:
function
(
a
,
b
,
d
,
e
){
var
f
=
"function"
==
typeof
d
,
g
=
{
dialog
:{
msg
:
a
,
type
:
b
,
yes
:
f
?
d
:
e
},
area
:[
"auto"
,
"auto"
]};
return
f
||
(
g
.
title
=
d
),
c
.
layer
(
g
)},
confirm
:
function
(
a
,
b
,
d
,
e
){
var
f
=
"function"
==
typeof
d
,
g
=
{
dialog
:{
msg
:
a
,
type
:
4
,
btns
:
2
,
yes
:
b
,
no
:
f
?
d
:
e
}};
return
f
||
(
g
.
title
=
d
),
c
.
layer
(
g
)},
msg
:
function
(
a
,
d
,
e
,
f
){
var
g
=
{
title
:
!
1
,
closeBtn
:
!
1
,
time
:
d
===
b
?
2
:
d
,
dialog
:{
msg
:
""
===
a
||
a
===
b
?
" "
:
a
},
end
:
f
};
return
"object"
==
typeof
e
?(
g
.
dialog
.
type
=
e
.
type
,
g
.
shade
=
e
.
shade
,
g
.
shift
=
e
.
rate
):
"function"
==
typeof
e
?
g
.
end
=
e
:
g
.
dialog
.
type
=
e
,
c
.
layer
(
g
)},
load
:
function
(
a
,
b
){
return
"string"
==
typeof
a
?
layer
.
msg
(
a
,
b
||
0
,
16
):
c
.
layer
({
time
:
a
,
loading
:{
type
:
b
},
bgcolor
:
b
?
"#fff"
:
""
,
shade
:
b
?[.
1
,
"#000"
]:[
0
],
border
:
3
!==
b
&&
b
?[
6
,.
3
,
"#000"
]:[
0
],
type
:
3
,
title
:[
""
,
!
1
],
closeBtn
:[
0
,
!
1
]})},
tips
:
function
(
a
,
b
,
d
,
e
,
f
,
g
){
var
h
=
{
type
:
4
,
shade
:
!
1
,
success
:
function
(
a
){
this
.
closeBtn
||
a
.
find
(
".xubox_tips"
).
css
({
"padding-right"
:
10
})},
bgcolor
:
""
,
tips
:{
msg
:
a
,
follow
:
b
}};
return
h
.
time
=
"object"
==
typeof
d
?
d
.
time
:
0
|
d
,
d
=
d
||
{},
h
.
closeBtn
=
d
.
closeBtn
||!
1
,
h
.
maxWidth
=
d
.
maxWidth
||
e
,
h
.
tips
.
guide
=
d
.
guide
||
f
,
h
.
tips
.
style
=
d
.
style
||
g
,
h
.
tips
.
more
=
d
.
more
,
c
.
layer
(
h
)}};
var
g
=
[
"xubox_layer"
,
"xubox_iframe"
,
".xubox_title"
,
".xubox_text"
,
".xubox_page"
,
".xubox_main"
],
h
=
function
(
a
){
var
b
=
this
,
d
=
b
.
config
;
layer
.
index
++
,
b
.
index
=
layer
.
index
,
b
.
config
=
c
.
extend
({},
d
,
a
),
b
.
config
.
dialog
=
c
.
extend
({},
d
.
dialog
,
a
.
dialog
),
b
.
config
.
page
=
c
.
extend
({},
d
.
page
,
a
.
page
),
b
.
config
.
iframe
=
c
.
extend
({},
d
.
iframe
,
a
.
iframe
),
b
.
config
.
loading
=
c
.
extend
({},
d
.
loading
,
a
.
loading
),
b
.
config
.
tips
=
c
.
extend
({},
d
.
tips
,
a
.
tips
),
b
.
creat
()};
h
.
pt
=
h
.
prototype
,
h
.
pt
.
config
=
{
type
:
0
,
shade
:[.
3
,
"#000"
],
fix
:
!
0
,
move
:
".xubox_title"
,
title
:
"信息"
,
offset
:[
""
,
"50%"
],
area
:[
"310px"
,
"auto"
],
closeBtn
:[
0
,
!
0
],
time
:
0
,
bgcolor
:
"#fff"
,
border
:[
6
,.
3
,
"#000"
],
zIndex
:
19891014
,
maxWidth
:
400
,
dialog
:{
btns
:
1
,
btn
:[
"确定"
,
"取消"
],
type
:
8
,
msg
:
""
,
yes
:
function
(
a
){
layer
.
close
(
a
)},
no
:
function
(
a
){
layer
.
close
(
a
)}},
page
:{
dom
:
"#xulayer"
,
html
:
""
,
url
:
""
},
iframe
:{
src
:
"http://sentsin.com"
,
scrolling
:
"auto"
},
loading
:{
type
:
0
},
tips
:{
msg
:
""
,
follow
:
""
,
guide
:
0
,
isGuide
:
!
0
,
style
:[
"background-color:#FF9900; color:#fff;"
,
"#FF9900"
]},
success
:
function
(){},
close
:
function
(
a
){
layer
.
close
(
a
)},
end
:
function
(){}},
h
.
pt
.
space
=
function
(
a
){
var
b
=
this
,
a
=
a
||
""
,
c
=
b
.
index
,
d
=
b
.
config
,
e
=
d
.
dialog
,
f
=-
1
===
e
.
type
?
""
:
'<span class="xubox_msg xulayer_png32 xubox_msgico xubox_msgtype'
+
e
.
type
+
'"></span>'
,
h
=
[
'<div class="xubox_dialog">'
+
f
+
'<span class="xubox_msg xubox_text" style="'
+
(
f
?
""
:
"padding-left:20px"
)
+
'">'
+
e
.
msg
+
"</span></div>"
,
'<div class="xubox_page">'
+
a
+
"</div>"
,
'<iframe scrolling="'
+
d
.
iframe
.
scrolling
+
'" allowtransparency="true" id="'
+
g
[
1
]
+
c
+
'" name="'
+
g
[
1
]
+
c
+
'" onload="this.className=
\'
'
+
g
[
1
]
+
'
\'
" class="'
+
g
[
1
]
+
'" frameborder="0" src="'
+
d
.
iframe
.
src
+
'"></iframe>'
,
'<span class="xubox_loading xubox_loading_'
+
d
.
loading
.
type
+
'"></span>'
,
'<div class="xubox_tips" style="'
+
d
.
tips
.
style
[
0
]
+
'"><div class="xubox_tipsMsg">'
+
d
.
tips
.
msg
+
'</div><i class="layerTipsG"></i></div>'
],
i
=
""
,
j
=
""
,
k
=
d
.
zIndex
+
c
,
l
=
"z-index:"
+
k
+
"; background-color:"
+
d
.
shade
[
1
]
+
"; opacity:"
+
d
.
shade
[
0
]
+
"; filter:alpha(opacity="
+
100
*
d
.
shade
[
0
]
+
");"
;
d
.
shade
[
0
]
&&
(
i
=
'<div times="'
+
c
+
'" id="xubox_shade'
+
c
+
'" class="xubox_shade" style="'
+
l
+
'"></div>'
),
d
.
zIndex
=
k
;
var
m
=
""
,
n
=
""
,
o
=
"z-index:"
+
(
k
-
1
)
+
"; background-color: "
+
d
.
border
[
2
]
+
"; opacity:"
+
d
.
border
[
1
]
+
"; filter:alpha(opacity="
+
100
*
d
.
border
[
1
]
+
"); top:-"
+
d
.
border
[
0
]
+
"px; left:-"
+
d
.
border
[
0
]
+
"px;"
;
d
.
border
[
0
]
&&
(
j
=
'<div id="xubox_border'
+
c
+
'" class="xubox_border" style="'
+
o
+
'"></div>'
),
!
d
.
maxmin
||
1
!==
d
.
type
&&
2
!==
d
.
type
||
/^
\d
+%$/
.
test
(
d
.
area
[
0
])
&&
/^
\d
+%$/
.
test
(
d
.
area
[
1
])
||
(
n
=
'<a class="xubox_min" href="javascript:;"><cite></cite></a><a class="xubox_max xulayer_png32" href="javascript:;"></a>'
),
d
.
closeBtn
[
1
]
&&
(
n
+=
'<a class="xubox_close xulayer_png32 xubox_close'
+
d
.
closeBtn
[
0
]
+
'" href="javascript:;" style="'
+
(
4
===
d
.
type
?
"position:absolute; right:-3px; _right:7px; top:-4px;"
:
""
)
+
'"></a>'
);
var
p
=
"object"
==
typeof
d
.
title
;
return
d
.
title
&&
(
m
=
'<div class="xubox_title" style="'
+
(
p
?
d
.
title
[
1
]:
""
)
+
'"><em>'
+
(
p
?
d
.
title
[
0
]:
d
.
title
)
+
"</em></div>"
),[
i
,
'<div times="'
+
c
+
'" showtime="'
+
d
.
time
+
'" style="z-index:'
+
k
+
'" id="'
+
g
[
0
]
+
c
+
'" class="'
+
g
[
0
]
+
'"><div style="background-color:'
+
d
.
bgcolor
+
"; z-index:"
+
k
+
'" class="xubox_main">'
+
h
[
d
.
type
]
+
m
+
'<span class="xubox_setwin">'
+
n
+
'</span><span class="xubox_botton"></span></div>'
+
j
+
"</div>"
]},
h
.
pt
.
creat
=
function
(){
var
a
=
this
,
b
=
""
,
d
=
a
.
config
,
e
=
d
.
dialog
,
f
=
a
.
index
,
h
=
d
.
page
,
i
=
c
(
"body"
),
j
=
function
(
d
){
var
d
=
d
||
""
;
b
=
a
.
space
(
d
),
i
.
append
(
c
(
b
[
0
]))};
switch
(
d
.
type
){
case
0
:
d
.
title
||
(
d
.
area
=
[
"auto"
,
"auto"
]),
c
(
".xubox_dialog"
)[
0
]
&&
layer
.
close
(
c
(
".xubox_dialog"
).
parents
(
"."
+
g
[
0
]).
attr
(
"times"
));
break
;
case
1
:
if
(
""
!==
h
.
html
)
j
(
'<div class="xuboxPageHtml">'
+
h
.
html
+
"</div>"
),
i
.
append
(
c
(
b
[
1
]));
else
if
(
""
!==
h
.
url
)
j
(
'<div class="xuboxPageHtml" id="xuboxPageHtml'
+
f
+
'">'
+
h
.
html
+
"</div>"
),
i
.
append
(
c
(
b
[
1
])),
c
.
get
(
h
.
url
,
function
(
a
){
c
(
"#xuboxPageHtml"
+
f
).
html
(
a
.
toString
()),
h
.
ok
&&
h
.
ok
(
a
)});
else
{
if
(
0
!=
c
(
h
.
dom
).
parents
(
g
[
4
]).
length
)
return
;
j
(),
c
(
h
.
dom
).
show
().
wrap
(
c
(
b
[
1
]))}
break
;
case
3
:
d
.
title
=!
1
,
d
.
area
=
[
"auto"
,
"auto"
],
d
.
closeBtn
=
[
""
,
!
1
],
c
(
".xubox_loading"
)[
0
]
&&
layer
.
closeLoad
();
break
;
case
4
:
d
.
title
=!
1
,
d
.
area
=
[
"auto"
,
"auto"
],
d
.
fix
=!
1
,
d
.
border
=
[
0
],
d
.
tips
.
more
||
layer
.
closeTips
()}
1
!==
d
.
type
&&
(
j
(),
i
.
append
(
c
(
b
[
1
])));
var
k
=
a
.
layerE
=
c
(
"#"
+
g
[
0
]
+
f
);
if
(
k
.
css
({
width
:
d
.
area
[
0
],
height
:
d
.
area
[
1
]}),
d
.
fix
||
k
.
css
({
position
:
"absolute"
}),
d
.
title
&&
(
3
!==
d
.
type
||
4
!==
d
.
type
)){
var
l
=
0
===
d
.
type
?
e
:
d
,
m
=
k
.
find
(
".xubox_botton"
);
switch
(
l
.
btn
=
d
.
btn
||
e
.
btn
,
l
.
btns
){
case
0
:
m
.
html
(
""
).
hide
();
break
;
case
1
:
m
.
html
(
'<a href="javascript:;" class="xubox_yes xubox_botton1">'
+
l
.
btn
[
0
]
+
"</a>"
);
break
;
case
2
:
m
.
html
(
'<a href="javascript:;" class="xubox_yes xubox_botton2">'
+
l
.
btn
[
0
]
+
'</a><a href="javascript:;" class="xubox_no xubox_botton3">'
+
l
.
btn
[
1
]
+
"</a>"
)}}
"auto"
===
k
.
css
(
"left"
)?(
k
.
hide
(),
setTimeout
(
function
(){
k
.
show
(),
a
.
set
(
f
)},
500
)):
a
.
set
(
f
),
d
.
time
<=
0
||
a
.
autoclose
(),
a
.
callback
()},
f
.
fade
=
function
(
a
,
b
,
c
){
a
.
css
({
opacity
:
0
}).
animate
({
opacity
:
c
},
b
)},
h
.
pt
.
offset
=
function
(){
var
a
=
this
,
b
=
a
.
config
,
c
=
a
.
layerE
,
e
=
c
.
outerHeight
();
a
.
offsetTop
=
""
===
b
.
offset
[
0
]
&&
e
<
d
.
height
()?(
d
.
height
()
-
e
-
2
*
b
.
border
[
0
])
/
2
:
-
1
!=
b
.
offset
[
0
].
indexOf
(
"px"
)?
parseFloat
(
b
.
offset
[
0
]):
parseFloat
(
b
.
offset
[
0
]
||
0
)
/
100
*
d
.
height
(),
a
.
offsetTop
=
a
.
offsetTop
+
b
.
border
[
0
]
+
(
b
.
fix
?
0
:
d
.
scrollTop
()),
-
1
!=
b
.
offset
[
1
].
indexOf
(
"px"
)?
a
.
offsetLeft
=
parseFloat
(
b
.
offset
[
1
])
+
b
.
border
[
0
]:(
b
.
offset
[
1
]
=
""
===
b
.
offset
[
1
]?
"50%"
:
b
.
offset
[
1
],
a
.
offsetLeft
=
"50%"
===
b
.
offset
[
1
]?
b
.
offset
[
1
]:
parseFloat
(
b
.
offset
[
1
])
/
100
*
d
.
width
()
+
b
.
border
[
0
])},
h
.
pt
.
set
=
function
(
a
){
var
b
=
this
,
e
=
b
.
config
,
h
=
(
e
.
dialog
,
e
.
page
),
i
=
(
e
.
loading
,
b
.
layerE
),
j
=
i
.
find
(
g
[
2
]);
switch
(
b
.
autoArea
(
a
),
e
.
title
?
0
===
e
.
type
&&
layer
.
ie6
&&
j
.
css
({
width
:
i
.
outerWidth
()}):
4
!==
e
.
type
&&
i
.
find
(
".xubox_close"
).
addClass
(
"xubox_close1"
),
i
.
attr
({
type
:
f
.
type
[
e
.
type
]}),
b
.
offset
(),
4
!==
e
.
type
&&
(
e
.
shift
&&!
layer
.
ie6
?
"object"
==
typeof
e
.
shift
?
b
.
shift
(
e
.
shift
[
0
],
e
.
shift
[
1
]
||
500
,
e
.
shift
[
2
]):
b
.
shift
(
e
.
shift
,
500
):
i
.
css
({
top
:
b
.
offsetTop
,
left
:
b
.
offsetLeft
})),
e
.
type
){
case
0
:
i
.
find
(
g
[
5
]).
css
({
"background-color"
:
"#fff"
}),
e
.
title
?
i
.
find
(
g
[
3
]).
css
({
paddingTop
:
18
+
j
.
outerHeight
()}):(
i
.
find
(
".xubox_msgico"
).
css
({
top
:
8
}),
i
.
find
(
g
[
3
]).
css
({
marginTop
:
11
}));
break
;
case
1
:
i
.
find
(
h
.
dom
).
addClass
(
"layer_pageContent"
),
e
.
shade
[
0
]
&&
i
.
css
({
zIndex
:
e
.
zIndex
+
1
}),
e
.
title
&&
i
.
find
(
g
[
4
]).
css
({
top
:
j
.
outerHeight
()});
break
;
case
2
:
var
k
=
i
.
find
(
"."
+
g
[
1
]),
l
=
i
.
height
();
k
.
addClass
(
"xubox_load"
).
css
({
width
:
i
.
width
()}),
k
.
css
(
e
.
title
?{
top
:
j
.
height
(),
height
:
l
-
j
.
height
()}:{
top
:
0
,
height
:
l
}),
layer
.
ie6
&&
k
.
attr
(
"src"
,
e
.
iframe
.
src
);
break
;
case
4
:
var
m
=
[
0
,
i
.
outerHeight
()],
n
=
c
(
e
.
tips
.
follow
),
o
=
{
width
:
n
.
outerWidth
(),
height
:
n
.
outerHeight
(),
top
:
n
.
offset
().
top
,
left
:
n
.
offset
().
left
},
p
=
i
.
find
(
".layerTipsG"
);
e
.
tips
.
isGuide
||
p
.
remove
(),
i
.
outerWidth
()
>
e
.
maxWidth
&&
i
.
width
(
e
.
maxWidth
),
o
.
tipColor
=
e
.
tips
.
style
[
1
],
m
[
0
]
=
i
.
outerWidth
(),
o
.
autoLeft
=
function
(){
o
.
left
+
m
[
0
]
-
d
.
width
()
>
0
?(
o
.
tipLeft
=
o
.
left
+
o
.
width
-
m
[
0
],
p
.
css
({
right
:
12
,
left
:
"auto"
})):
o
.
tipLeft
=
o
.
left
},
o
.
where
=
[
function
(){
o
.
autoLeft
(),
o
.
tipTop
=
o
.
top
-
m
[
1
]
-
10
,
p
.
removeClass
(
"layerTipsB"
).
addClass
(
"layerTipsT"
).
css
({
"border-right-color"
:
o
.
tipColor
})},
function
(){
o
.
tipLeft
=
o
.
left
+
o
.
width
+
10
,
o
.
tipTop
=
o
.
top
,
p
.
removeClass
(
"layerTipsL"
).
addClass
(
"layerTipsR"
).
css
({
"border-bottom-color"
:
o
.
tipColor
})},
function
(){
o
.
autoLeft
(),
o
.
tipTop
=
o
.
top
+
o
.
height
+
10
,
p
.
removeClass
(
"layerTipsT"
).
addClass
(
"layerTipsB"
).
css
({
"border-right-color"
:
o
.
tipColor
})},
function
(){
o
.
tipLeft
=
o
.
left
-
m
[
0
]
+
10
,
o
.
tipTop
=
o
.
top
,
p
.
removeClass
(
"layerTipsR"
).
addClass
(
"layerTipsL"
).
css
({
"border-bottom-color"
:
o
.
tipColor
})}],
o
.
where
[
e
.
tips
.
guide
](),
0
===
e
.
tips
.
guide
?
o
.
top
-
(
d
.
scrollTop
()
+
m
[
1
]
+
16
)
<
0
&&
o
.
where
[
2
]():
1
===
e
.
tips
.
guide
?
d
.
width
()
-
(
o
.
left
+
o
.
width
+
m
[
0
]
+
16
)
>
0
||
o
.
where
[
3
]():
2
===
e
.
tips
.
guide
?
o
.
top
-
d
.
scrollTop
()
+
o
.
height
+
m
[
1
]
+
16
-
d
.
height
()
>
0
&&
o
.
where
[
0
]():
3
===
e
.
tips
.
guide
?
m
[
0
]
+
16
-
o
.
left
>
0
&&
o
.
where
[
1
]():
4
===
e
.
tips
.
guide
,
i
.
css
({
left
:
o
.
tipLeft
,
top
:
o
.
tipTop
})}
e
.
fadeIn
&&
(
f
.
fade
(
i
,
e
.
fadeIn
,
1
),
f
.
fade
(
c
(
"#xubox_shade"
+
a
),
e
.
fadeIn
,
e
.
shade
[
0
])),
e
.
fix
&&
""
===
e
.
offset
[
0
]
&&!
e
.
shift
&&
d
.
on
(
"resize"
,
function
(){
i
.
css
({
top
:(
d
.
height
()
-
i
.
outerHeight
())
/
2
})}),
b
.
move
()},
h
.
pt
.
shift
=
function
(
a
,
b
,
c
){
var
e
=
this
,
f
=
e
.
config
,
g
=
e
.
layerE
,
h
=
0
,
i
=
d
.
width
(),
j
=
d
.
height
()
+
(
f
.
fix
?
0
:
d
.
scrollTop
());
h
=
"50%"
==
f
.
offset
[
1
]
||
""
==
f
.
offset
[
1
]?
g
.
outerWidth
()
/
2
:
g
.
outerWidth
();
var
k
=
{
t
:{
top
:
e
.
offsetTop
},
b
:{
top
:
j
-
g
.
outerHeight
()
-
f
.
border
[
0
]},
cl
:
h
+
f
.
border
[
0
],
ct
:
-
g
.
outerHeight
(),
cr
:
i
-
h
-
f
.
border
[
0
]};
switch
(
a
){
case
"left-top"
:
g
.
css
({
left
:
k
.
cl
,
top
:
k
.
ct
}).
animate
(
k
.
t
,
b
);
break
;
case
"top"
:
g
.
css
({
top
:
k
.
ct
}).
animate
(
k
.
t
,
b
);
break
;
case
"right-top"
:
g
.
css
({
left
:
k
.
cr
,
top
:
k
.
ct
}).
animate
(
k
.
t
,
b
);
break
;
case
"right-bottom"
:
g
.
css
({
left
:
k
.
cr
,
top
:
j
}).
animate
(
c
?
k
.
t
:
k
.
b
,
b
);
break
;
case
"bottom"
:
g
.
css
({
top
:
j
}).
animate
(
c
?
k
.
t
:
k
.
b
,
b
);
break
;
case
"left-bottom"
:
g
.
css
({
left
:
k
.
cl
,
top
:
j
}).
animate
(
c
?
k
.
t
:
k
.
b
,
b
);
break
;
case
"left"
:
g
.
css
({
left
:
-
g
.
outerWidth
()}).
animate
({
left
:
e
.
offsetLeft
},
b
)}},
h
.
pt
.
autoArea
=
function
(
a
){
var
b
,
d
=
this
,
a
=
a
||
d
.
index
,
e
=
d
.
config
,
f
=
e
.
page
,
h
=
c
(
"#"
+
g
[
0
]
+
a
),
i
=
h
.
find
(
g
[
2
]),
j
=
h
.
find
(
g
[
5
]),
k
=
e
.
title
?
i
.
innerHeight
():
0
,
l
=
0
;
switch
(
"auto"
===
e
.
area
[
0
]
&&
j
.
outerWidth
()
>=
e
.
maxWidth
&&
h
.
css
({
width
:
e
.
maxWidth
}),
e
.
type
){
case
0
:
var
m
=
h
.
find
(
".xubox_botton>a"
);
b
=
h
.
find
(
g
[
3
]).
outerHeight
()
+
20
,
m
.
length
>
0
&&
(
l
=
m
.
outerHeight
()
+
20
);
break
;
case
1
:
var
n
=
h
.
find
(
g
[
4
]);
b
=
c
(
f
.
dom
).
outerHeight
(),
"auto"
===
e
.
area
[
0
]
&&
h
.
css
({
width
:
n
.
outerWidth
()}),(
""
!==
f
.
html
||
""
!==
f
.
url
)
&&
(
b
=
n
.
outerHeight
());
break
;
case
2
:
h
.
find
(
"iframe"
).
css
({
width
:
h
.
outerWidth
(),
height
:
h
.
outerHeight
()
-
(
e
.
title
?
i
.
innerHeight
():
0
)});
break
;
case
3
:
var
o
=
h
.
find
(
".xubox_loading"
);
b
=
o
.
outerHeight
(),
j
.
css
({
width
:
o
.
width
()})}
"auto"
===
e
.
area
[
1
]
&&
j
.
css
({
height
:
k
+
b
+
l
}),
c
(
"#xubox_border"
+
a
).
css
({
width
:
h
.
outerWidth
()
+
2
*
e
.
border
[
0
],
height
:
h
.
outerHeight
()
+
2
*
e
.
border
[
0
]}),
layer
.
ie6
&&
"auto"
!==
e
.
area
[
0
]
&&
j
.
css
({
width
:
h
.
outerWidth
()}),
h
.
css
(
"50%"
!==
e
.
offset
[
1
]
&&
""
!=
e
.
offset
[
1
]
||
4
===
e
.
type
?{
marginLeft
:
0
}:{
marginLeft
:
-
h
.
outerWidth
()
/
2
})},
h
.
pt
.
move
=
function
(){
var
a
=
this
,
b
=
a
.
config
,
e
=
{
setY
:
0
,
moveLayer
:
function
(){
if
(
0
==
parseInt
(
e
.
layerE
.
css
(
"margin-left"
)))
var
a
=
parseInt
(
e
.
move
.
css
(
"left"
));
else
var
a
=
parseInt
(
e
.
move
.
css
(
"left"
))
+-
parseInt
(
e
.
layerE
.
css
(
"margin-left"
));
"fixed"
!==
e
.
layerE
.
css
(
"position"
)
&&
(
a
-=
e
.
layerE
.
parent
().
offset
().
left
,
e
.
setY
=
0
),
e
.
layerE
.
css
({
left
:
a
,
top
:
parseInt
(
e
.
move
.
css
(
"top"
))
-
e
.
setY
})}},
f
=
a
.
layerE
.
find
(
b
.
move
);
b
.
move
&&
f
.
attr
(
"move"
,
"ok"
),
f
.
css
(
b
.
move
?{
cursor
:
"move"
}:{
cursor
:
"auto"
}),
c
(
b
.
move
).
on
(
"mousedown"
,
function
(
a
){
if
(
a
.
preventDefault
(),
"ok"
===
c
(
this
).
attr
(
"move"
)){
e
.
ismove
=!
0
,
e
.
layerE
=
c
(
this
).
parents
(
"."
+
g
[
0
]);
var
f
=
e
.
layerE
.
offset
().
left
,
h
=
e
.
layerE
.
offset
().
top
,
i
=
e
.
layerE
.
width
()
-
6
,
j
=
e
.
layerE
.
height
()
-
6
;
c
(
"#xubox_moves"
)[
0
]
||
c
(
"body"
).
append
(
'<div id="xubox_moves" class="xubox_moves" style="left:'
+
f
+
"px; top:"
+
h
+
"px; width:"
+
i
+
"px; height:"
+
j
+
'px; z-index:2147483584"></div>'
),
e
.
move
=
c
(
"#xubox_moves"
),
b
.
moveType
&&
e
.
move
.
css
({
opacity
:
0
}),
e
.
moveX
=
a
.
pageX
-
e
.
move
.
position
().
left
,
e
.
moveY
=
a
.
pageY
-
e
.
move
.
position
().
top
,
"fixed"
!==
e
.
layerE
.
css
(
"position"
)
||
(
e
.
setY
=
d
.
scrollTop
())}}),
c
(
document
).
mousemove
(
function
(
a
){
if
(
e
.
ismove
){
var
c
=
a
.
pageX
-
e
.
moveX
,
f
=
a
.
pageY
-
e
.
moveY
;
if
(
a
.
preventDefault
(),
!
b
.
moveOut
){
e
.
setY
=
d
.
scrollTop
();
var
g
=
d
.
width
()
-
e
.
move
.
outerWidth
()
-
b
.
border
[
0
],
h
=
b
.
border
[
0
]
+
e
.
setY
;
c
<
b
.
border
[
0
]
&&
(
c
=
b
.
border
[
0
]),
c
>
g
&&
(
c
=
g
),
h
>
f
&&
(
f
=
h
),
f
>
d
.
height
()
-
e
.
move
.
outerHeight
()
-
b
.
border
[
0
]
+
e
.
setY
&&
(
f
=
d
.
height
()
-
e
.
move
.
outerHeight
()
-
b
.
border
[
0
]
+
e
.
setY
)}
e
.
move
.
css
({
left
:
c
,
top
:
f
}),
b
.
moveType
&&
e
.
moveLayer
(),
c
=
null
,
f
=
null
,
g
=
null
,
h
=
null
}}).
mouseup
(
function
(){
try
{
e
.
ismove
&&
(
e
.
moveLayer
(),
e
.
move
.
remove
()),
e
.
ismove
=!
1
}
catch
(
a
){
e
.
ismove
=!
1
}
b
.
moveEnd
&&
b
.
moveEnd
()})},
h
.
pt
.
autoclose
=
function
(){
var
a
=
this
,
b
=
a
.
config
.
time
,
c
=
function
(){
b
--
,
0
===
b
&&
(
layer
.
close
(
a
.
index
),
clearInterval
(
a
.
autotime
))};
a
.
autotime
=
setInterval
(
c
,
1
e3
)},
f
.
config
=
{
end
:{}},
h
.
pt
.
callback
=
function
(){
var
a
=
this
,
b
=
a
.
layerE
,
d
=
a
.
config
,
e
=
d
.
dialog
;
a
.
openLayer
(),
a
.
config
.
success
(
b
),
layer
.
ie6
&&
a
.
IE6
(
b
),
b
.
find
(
".xubox_close"
).
on
(
"click"
,
function
(){
d
.
close
(
a
.
index
),
layer
.
close
(
a
.
index
)}),
b
.
find
(
".xubox_yes"
).
on
(
"click"
,
function
(){
d
.
yes
?
d
.
yes
(
a
.
index
):
e
.
yes
(
a
.
index
)}),
b
.
find
(
".xubox_no"
).
on
(
"click"
,
function
(){
d
.
no
?
d
.
no
(
a
.
index
):
e
.
no
(
a
.
index
),
layer
.
close
(
a
.
index
)}),
a
.
config
.
shadeClose
&&
c
(
"#xubox_shade"
+
a
.
index
).
on
(
"click"
,
function
(){
layer
.
close
(
a
.
index
)}),
b
.
find
(
".xubox_min"
).
on
(
"click"
,
function
(){
layer
.
min
(
a
.
index
,
d
),
d
.
min
&&
d
.
min
(
b
)}),
b
.
find
(
".xubox_max"
).
on
(
"click"
,
function
(){
c
(
this
).
hasClass
(
"xubox_maxmin"
)?(
layer
.
restore
(
a
.
index
),
d
.
restore
&&
d
.
restore
(
b
)):(
layer
.
full
(
a
.
index
,
d
),
d
.
full
&&
d
.
full
(
b
))}),
f
.
config
.
end
[
a
.
index
]
=
d
.
end
},
f
.
reselect
=
function
(){
c
.
each
(
c
(
"select"
),
function
(){
var
a
=
c
(
this
);
a
.
parents
(
"."
+
g
[
0
])[
0
]
||
1
==
a
.
attr
(
"layer"
)
&&
c
(
"."
+
g
[
0
]).
length
<
1
&&
a
.
removeAttr
(
"layer"
).
show
(),
a
=
null
})},
h
.
pt
.
IE6
=
function
(
a
){
var
b
=
this
,
e
=
a
.
offset
().
top
;
if
(
b
.
config
.
fix
)
var
f
=
function
(){
a
.
css
({
top
:
d
.
scrollTop
()
+
e
})};
else
var
f
=
function
(){
a
.
css
({
top
:
e
})};
f
(),
d
.
scroll
(
f
),
c
.
each
(
c
(
"select"
),
function
(){
var
a
=
c
(
this
);
a
.
parents
(
"."
+
g
[
0
])[
0
]
||
"none"
==
a
.
css
(
"display"
)
||
a
.
attr
({
layer
:
"1"
}).
hide
(),
a
=
null
})},
h
.
pt
.
openLayer
=
function
(){{
var
a
=
this
;
a
.
layerE
}
layer
.
autoArea
=
function
(
b
){
return
a
.
autoArea
(
b
)},
layer
.
shift
=
function
(
b
,
c
,
d
){
a
.
shift
(
b
,
c
,
d
)},
layer
.
setMove
=
function
(){
return
a
.
move
()},
layer
.
zIndex
=
a
.
config
.
zIndex
,
layer
.
setTop
=
function
(
a
){
var
b
=
function
(){
layer
.
zIndex
++
,
a
.
css
(
"z-index"
,
layer
.
zIndex
+
1
)};
return
layer
.
zIndex
=
parseInt
(
a
[
0
].
style
.
zIndex
),
a
.
on
(
"mousedown"
,
b
),
layer
.
zIndex
}},
f
.
isauto
=
function
(
a
,
b
,
c
){
"auto"
===
b
.
area
[
0
]
&&
(
b
.
area
[
0
]
=
a
.
outerWidth
()),
"auto"
===
b
.
area
[
1
]
&&
(
b
.
area
[
1
]
=
a
.
outerHeight
()),
a
.
attr
({
area
:
b
.
area
+
","
+
c
}),
a
.
find
(
".xubox_max"
).
addClass
(
"xubox_maxmin"
)},
f
.
rescollbar
=
function
(
a
){
g
.
html
.
attr
(
"layer-full"
)
==
a
&&
(
g
.
html
[
0
].
style
.
removeProperty
?
g
.
html
[
0
].
style
.
removeProperty
(
"overflow"
):
g
.
html
[
0
].
style
.
removeAttribute
(
"overflow"
),
g
.
html
.
removeAttr
(
"layer-full"
))},
layer
.
getIndex
=
function
(
a
){
return
c
(
a
).
parents
(
"."
+
g
[
0
]).
attr
(
"times"
)},
layer
.
getChildFrame
=
function
(
a
,
b
){
return
b
=
b
||
c
(
"."
+
g
[
1
]).
parents
(
"."
+
g
[
0
]).
attr
(
"times"
),
c
(
"#"
+
g
[
0
]
+
b
).
find
(
"."
+
g
[
1
]).
contents
().
find
(
a
)},
layer
.
getFrameIndex
=
function
(
a
){
return
c
(
a
?
"#"
+
a
:
"."
+
g
[
1
]).
parents
(
"."
+
g
[
0
]).
attr
(
"times"
)},
layer
.
iframeAuto
=
function
(
a
){
a
=
a
||
c
(
"."
+
g
[
1
]).
parents
(
"."
+
g
[
0
]).
attr
(
"times"
);
var
b
=
layer
.
getChildFrame
(
"body"
,
a
).
outerHeight
(),
d
=
c
(
"#"
+
g
[
0
]
+
a
),
e
=
d
.
find
(
g
[
2
]),
f
=
0
;
e
&&
(
f
=
e
.
height
()),
d
.
css
({
height
:
b
+
f
});
var
h
=-
parseInt
(
c
(
"#xubox_border"
+
a
).
css
(
"top"
));
c
(
"#xubox_border"
+
a
).
css
({
height
:
b
+
2
*
h
+
f
}),
c
(
"#"
+
g
[
1
]
+
a
).
css
({
height
:
b
})},
layer
.
iframeSrc
=
function
(
a
,
b
){
c
(
"#"
+
g
[
0
]
+
a
).
find
(
"iframe"
).
attr
(
"src"
,
b
)},
layer
.
area
=
function
(
a
,
b
){
var
d
=
[
c
(
"#"
+
g
[
0
]
+
a
),
c
(
"#xubox_border"
+
a
)],
e
=
d
[
0
].
attr
(
"type"
),
h
=
d
[
0
].
find
(
g
[
5
]),
i
=
d
[
0
].
find
(
g
[
2
]);
if
(
e
===
f
.
type
[
1
]
||
e
===
f
.
type
[
2
]){
if
(
d
[
0
].
css
(
b
),
h
.
css
({
width
:
b
.
width
,
height
:
b
.
height
}),
e
===
f
.
type
[
2
]){
var
j
=
d
[
0
].
find
(
"iframe"
);
j
.
css
({
width
:
b
.
width
,
height
:
i
?
b
.
height
-
i
.
innerHeight
():
b
.
height
})}
"0px"
!==
d
[
0
].
css
(
"margin-left"
)
&&
(
b
.
hasOwnProperty
(
"top"
)
&&
d
[
0
].
css
({
top
:
b
.
top
-
(
d
[
1
][
0
]?
parseFloat
(
d
[
1
].
css
(
"top"
)):
0
)}),
b
.
hasOwnProperty
(
"left"
)
&&
d
[
0
].
css
({
left
:
b
.
left
+
d
[
0
].
outerWidth
()
/
2
-
(
d
[
1
][
0
]?
parseFloat
(
d
[
1
].
css
(
"left"
)):
0
)}),
d
[
0
].
css
({
marginLeft
:
-
d
[
0
].
outerWidth
()
/
2
})),
d
[
1
][
0
]
&&
d
[
1
].
css
({
width
:
parseFloat
(
b
.
width
)
-
2
*
parseFloat
(
d
[
1
].
css
(
"left"
)),
height
:
parseFloat
(
b
.
height
)
-
2
*
parseFloat
(
d
[
1
].
css
(
"top"
))})}},
layer
.
min
=
function
(
a
,
b
){
var
d
=
c
(
"#"
+
g
[
0
]
+
a
),
e
=
[
d
.
position
().
top
,
d
.
position
().
left
+
parseFloat
(
d
.
css
(
"margin-left"
))];
f
.
isauto
(
d
,
b
,
e
),
layer
.
area
(
a
,{
width
:
180
,
height
:
35
}),
d
.
find
(
".xubox_min"
).
hide
(),
"page"
===
d
.
attr
(
"type"
)
&&
d
.
find
(
g
[
4
]).
hide
(),
f
.
rescollbar
(
a
)},
layer
.
restore
=
function
(
a
){{
var
b
=
c
(
"#"
+
g
[
0
]
+
a
),
d
=
b
.
attr
(
"area"
).
split
(
","
);
b
.
attr
(
"type"
)}
layer
.
area
(
a
,{
width
:
parseFloat
(
d
[
0
]),
height
:
parseFloat
(
d
[
1
]),
top
:
parseFloat
(
d
[
2
]),
left
:
parseFloat
(
d
[
3
])}),
b
.
find
(
".xubox_max"
).
removeClass
(
"xubox_maxmin"
),
b
.
find
(
".xubox_min"
).
show
(),
"page"
===
b
.
attr
(
"type"
)
&&
b
.
find
(
g
[
4
]).
show
(),
f
.
rescollbar
(
a
)},
layer
.
full
=
function
(
a
,
b
){
var
e
,
h
=
c
(
"#"
+
g
[
0
]
+
a
),
i
=
2
*
b
.
border
[
0
]
||
6
,
j
=
[
h
.
position
().
top
,
h
.
position
().
left
+
parseFloat
(
h
.
css
(
"margin-left"
))];
f
.
isauto
(
h
,
b
,
j
),
g
.
html
.
attr
(
"layer-full"
)
||
g
.
html
.
css
(
"overflow"
,
"hidden"
).
attr
(
"layer-full"
,
a
),
clearTimeout
(
e
),
e
=
setTimeout
(
function
(){
layer
.
area
(
a
,{
top
:
"fixed"
===
h
.
css
(
"position"
)?
0
:
d
.
scrollTop
(),
left
:
"fixed"
===
h
.
css
(
"position"
)?
0
:
d
.
scrollLeft
(),
width
:
d
.
width
()
-
i
,
height
:
d
.
height
()
-
i
})},
100
)},
layer
.
title
=
function
(
a
,
b
){
var
d
=
c
(
"#"
+
g
[
0
]
+
(
b
||
layer
.
index
)).
find
(
".xubox_title>em"
);
d
.
html
(
a
)},
layer
.
close
=
function
(
a
){
var
b
=
c
(
"#"
+
g
[
0
]
+
a
),
d
=
b
.
attr
(
"type"
),
e
=
c
(
"#xubox_moves, #xubox_shade"
+
a
);
if
(
b
[
0
]){
if
(
d
==
f
.
type
[
1
])
if
(
b
.
find
(
".xuboxPageHtml"
)[
0
])
b
[
0
].
innerHTML
=
""
,
b
.
remove
();
else
{
b
.
find
(
".xubox_setwin,.xubox_close,.xubox_botton,.xubox_title,.xubox_border"
).
remove
();
for
(
var
h
=
0
;
3
>
h
;
h
++
)
b
.
find
(
".layer_pageContent"
).
unwrap
().
hide
()}
else
b
[
0
].
innerHTML
=
""
,
b
.
remove
();
e
.
remove
(),
layer
.
ie6
&&
f
.
reselect
(),
f
.
rescollbar
(
a
),
"function"
==
typeof
f
.
config
.
end
[
a
]
&&
f
.
config
.
end
[
a
](),
delete
f
.
config
.
end
[
a
]}},
layer
.
closeLoad
=
function
(){
layer
.
close
(
c
(
".xubox_loading"
).
parents
(
"."
+
g
[
0
]).
attr
(
"times"
))},
layer
.
closeTips
=
function
(){
layer
.
closeAll
(
"tips"
)},
layer
.
closeAll
=
function
(
a
){
c
.
each
(
c
(
"."
+
g
[
0
]),
function
(){
var
b
=
c
(
this
),
d
=
a
?
b
.
attr
(
"type"
)
===
a
:
1
;
d
&&
layer
.
close
(
b
.
attr
(
"times"
)),
d
=
null
})},
f
.
run
=
function
(){
c
=
jQuery
,
d
=
c
(
a
),
g
.
html
=
c
(
"html"
),
layer
.
use
(
"skin/layer.css"
),
c
.
layer
=
function
(
a
){
var
b
=
new
h
(
a
);
return
b
.
index
},(
new
Image
).
src
=
layer
.
path
+
"skin/default/xubox_ico0.png"
},
"function"
==
typeof
define
?
define
(
function
(){
return
f
.
run
(),
layer
}):
f
.
run
()}(
window
);
\ No newline at end of file
static/js/layer/skin/default/icon_ext.png
0 → 100755
View file @
a42d053c
7.5 KB
static/js/layer/skin/default/textbg.png
0 → 100755
View file @
a42d053c
210 Bytes
static/js/layer/skin/default/xubox_ico0.png
0 → 100755
View file @
a42d053c
32.2 KB
static/js/layer/skin/default/xubox_loading0.gif
0 → 100755
View file @
a42d053c
5.66 KB
static/js/layer/skin/default/xubox_loading1.gif
0 → 100755
View file @
a42d053c
701 Bytes
static/js/layer/skin/default/xubox_loading2.gif
0 → 100755
View file @
a42d053c
1.75 KB
static/js/layer/skin/default/xubox_loading3.gif
0 → 100755
View file @
a42d053c
2.31 KB
static/js/layer/skin/default/xubox_title0.png
0 → 100755
View file @
a42d053c
221 Bytes
static/js/layer/skin/layer.css
0 → 100755
View file @
a42d053c
/**
@Name: layer's style
@Date: 2012.09.15
@Author: 贤心
@blog: sentsin.com
**/
*
html
{
background-image
:
url(about:blank)
;
background-attachment
:
fixed
;}
/** common **/
.xubox_shade
,
.xubox_layer
{
position
:
fixed
;
_position
:
absolute
;}
.xubox_shade
{
top
:
0
;
left
:
0
;
width
:
100%
;
height
:
100%
;
_height
:
expression
(
document
.
body
.
offsetHeight
+
"px"
);}
.xubox_layer
{
top
:
150px
;
left
:
50%
;
height
:
auto
;
width
:
310px
;
margin-left
:
-155px
;}
.xubox_border
,
.xubox_title
,
.xubox_title
i
,
.xubox_page
,
.xubox_iframe
,
.xubox_title
em
,
.xubox_close
,
.xubox_msgico
,
.xubox_moves
{
position
:
absolute
;}
.xubox_border
{
border-radius
:
5px
;}
.xubox_title
{
left
:
0
;
top
:
0
;}
.xubox_main
{
position
:
relative
;
height
:
100%
;
_float
:
left
;}
.xubox_page
{
top
:
0
;
left
:
0
;}
.xubox_load
{
background
:
url(default/xubox_loading0.gif)
#fff
center
center
no-repeat
;}
.xubox_loading
{
display
:
block
;
float
:
left
;
text-decoration
:
none
;
color
:
#FFF
;
_float
:
none
;
}
.xulayer_png32
{
background
:
url(default/xubox_ico0.png)
no-repeat
;}
.xubox_moves
{
border
:
3px
solid
#666
;
cursor
:
move
;
background-color
:
rgba
(
255
,
255
,
255
,
.3
);
background-color
:
#fff
\
9
;
filter
:
alpha
(
opacity
=
50
);}
.xubox_msgico
{
width
:
32px
;
height
:
32px
;
top
:
52px
;
left
:
15px
;
background
:
url(default/xubox_ico0.png)
no-repeat
;}
.xubox_text
{
padding-left
:
55px
;
float
:
left
;
line-height
:
25px
;
word-break
:
break-all
;
padding-right
:
20px
;
overflow
:
hidden
;
font-size
:
14px
;}
.xubox_msgtype0
{
background-position
:
-91px
-38px
;}
.xubox_msgtype1
{
background-position
:
-128px
-38px
}
.xubox_msgtype2
{
background-position
:
-163px
-38px
;}
.xubox_msgtype3
{
background-position
:
-91px
-75px
;}
.xubox_msgtype4
{
background-position
:
-163px
-75px
;}
.xubox_msgtype5
{
background-position
:
-163px
-112px
;}
.xubox_msgtype6
{
background-position
:
-163px
-148px
;}
.xubox_msgtype7
{
background-position
:
-128px
-75px
;}
.xubox_msgtype8
{
background-position
:
-91px
-6px
;}
.xubox_msgtype9
{
background-position
:
-129px
-6px
;}
.xubox_msgtype10
{
background-position
:
-163px
-6px
;}
.xubox_msgtype11
{
background-position
:
-206px
-6px
;}
.xubox_msgtype12
{
background-position
:
-206px
-44px
;}
.xubox_msgtype13
{
background-position
:
-206px
-81px
;}
.xubox_msgtype14
{
background-position
:
-206px
-122px
;}
.xubox_msgtype15
{
background-position
:
-206px
-157px
;}
.xubox_loading_0
{
width
:
60px
;
height
:
24px
;
background
:
url(default/xubox_loading0.gif)
no-repeat
;}
.xubox_loading_1
{
width
:
37px
;
height
:
37px
;
background
:
url(default/xubox_loading1.gif)
no-repeat
;}
.xubox_loading_2
,
.xubox_msgtype16
{
width
:
32px
;
height
:
32px
;
background
:
url(default/xubox_loading2.gif)
no-repeat
;}
.xubox_loading_3
{
width
:
126px
;
height
:
22px
;
background
:
url(default/xubox_loading3.gif)
no-repeat
;}
.xubox_setwin
{
position
:
absolute
;
right
:
10px
;
*
right
:
0
;
top
:
10px
;
font-size
:
0
;}
.xubox_setwin
a
{
position
:
relative
;
display
:
inline-block
;
*
display
:
inline
;
*
zoom
:
1
;
vertical-align
:
top
;
width
:
14px
;
height
:
14px
;
margin-left
:
10px
;
font-size
:
12px
;
_overflow
:
hidden
;}
.xubox_setwin
.xubox_min
cite
{
position
:
absolute
;
width
:
14px
;
height
:
2px
;
left
:
0
;
top
:
50%
;
margin-top
:
-1px
;
background-color
:
#919191
;
cursor
:
pointer
;
_overflow
:
hidden
;}
.xubox_setwin
.xubox_min
:hover
cite
{
background-color
:
#2D93CA
;
}
.xubox_setwin
.xubox_max
{
background-position
:
-6px
-189px
;}
.xubox_setwin
.xubox_max
:hover
{
background-position
:
-6px
-206px
;}
.xubox_setwin
.xubox_maxmin
{
background-position
:
-29px
-189px
;}
.xubox_setwin
.xubox_maxmin
:hover
{
background-position
:
-29px
-206px
;}
.xubox_setwin
.xubox_close0
{
width
:
14px
;
height
:
14px
;
background-position
:
-31px
-7px
;
cursor
:
pointer
;}
.xubox_setwin
.xubox_close0
:hover
{
background-position
:
-51px
-7px
;}
.xubox_setwin
.xubox_close1
{
position
:
absolute
;
right
:
-28px
;
top
:
-28px
;
width
:
30px
;
height
:
30px
;
margin-left
:
0
;
background-position
:
-60px
-195px
;
*
right
:
-18px
;
_right
:
-15px
;
_top
:
-23px
;
_width
:
14px
;
_height
:
14px
;
_background-position
:
-31px
-7px
;}
.xubox_setwin
.xubox_close1
:hover
{
background-position
:
-91px
-195px
;
_background-position
:
-51px
-7px
;}
.xubox_title
{
width
:
100%
;
height
:
35px
;
line-height
:
35px
;
border-bottom
:
1px
solid
#D5D5D5
;
background
:
url(default/xubox_title0.png)
#EBEBEB
repeat-x
;
font-size
:
14px
;
color
:
#333
;}
.xubox_title
em
{
height
:
20px
;
line-height
:
20px
;
width
:
60%
;
top
:
7px
;
left
:
10px
;
font-style
:
normal
;
text-overflow
:
ellipsis
;
overflow
:
hidden
;
white-space
:
nowrap
;}
.xubox_botton
a
{
position
:
absolute
;
bottom
:
10px
;
left
:
50%
;
background
:
url(default/xubox_ico0.png)
repeat
;
text-decoration
:
none
;
color
:
#FFF
;
font-size
:
14px
;
text-align
:
center
;
font-weight
:
bold
;
overflow
:
hidden
;
}
.xubox_botton
a
:hover
{
text-decoration
:
none
;
color
:
#FFF
;
}
.xubox_botton
.xubox_botton1
{
width
:
79px
;
height
:
32px
;
line-height
:
32px
;
margin-left
:
-39px
;
background-position
:
-6px
-34px
;}
.xubox_botton1
:hover
{
background-position
:
-6px
-72px
;}
.xubox_botton
.xubox_botton2
{
margin-left
:
-76px
;
width
:
71px
;
height
:
29px
;
line-height
:
29px
;
background-position
:
-5px
-114px
;}
.xubox_botton2
:hover
{
background-position
:
-5px
-146px
;}
.xubox_botton
.xubox_botton3
{
width
:
71px
;
height
:
29px
;
line-height
:
29px
;
margin-left
:
10px
;
background-position
:
-81px
-114px
;}
.xubox_botton3
:hover
{
background-position
:
-81px
-146px
;}
.xubox_tips
{
position
:
relative
;
line-height
:
20px
;
min-width
:
12px
;
padding
:
3px
30px
3px
10px
;
font-size
:
12px
;
_float
:
left
;
border-radius
:
3px
;
box-shadow
:
1px
1px
3px
rgba
(
0
,
0
,
0
,
.3
);}
.xubox_tips
i
.layerTipsG
{
position
:
absolute
;
width
:
0
;
height
:
0
;
border-width
:
8px
;
border-color
:
transparent
;
border-style
:
dashed
;
*
overflow
:
hidden
;}
.xubox_tips
i
.layerTipsT
,
.xubox_tips
i
.layerTipsB
{
left
:
5px
;
border-right-style
:
solid
;}
.xubox_tips
i
.layerTipsT
{
bottom
:
-8px
;}
.xubox_tips
i
.layerTipsB
{
top
:
-8px
;}
.xubox_tips
i
.layerTipsR
,
.xubox_tips
i
.layerTipsL
{
top
:
1px
;
border-bottom-style
:
solid
;}
.xubox_tips
i
.layerTipsR
{
left
:
-8px
;}
.xubox_tips
i
.layerTipsL
{
right
:
-8px
;}
static/js/layer/skin/layer.ext.css
0 → 100755
View file @
a42d053c
/**
@Name: layer拓展样式
@Date: 2012.12.13
@Author: 贤心
@blog: sentsin.com
**/
.xubox_iconext
{
background
:
url(default/icon_ext.png)
no-repeat
;}
/* prompt模式 */
.xubox_layer
.xubox_form
{
width
:
240px
;
height
:
30px
;
line-height
:
30px
;
padding
:
0
5px
;
border
:
1px
solid
#ccc
;
background
:
url(default/textbg.png)
#fff
repeat-x
;
color
:
#333
;}
.xubox_layer
.xubox_formArea
{
width
:
300px
;
height
:
100px
;
line-height
:
20px
;}
/* tab模式 */
.xubox_layer
.xubox_tab
{
position
:
relative
;
background-color
:
#fff
;
box-shadow
:
1px
1px
50px
rgba
(
0
,
0
,
0
,
.4
)}
.xubox_layer
.xubox_tabmove
{
position
:
absolute
;
width
:
600px
;
height
:
30px
;
top
:
0
;
left
:
0
;}
.xubox_layer
.xubox_tabtit
{
display
:
block
;
height
:
34px
;
border-bottom
:
1px
solid
#ccc
;
background-color
:
#eee
;}
.xubox_layer
.xubox_tabtit
span
{
position
:
relative
;
float
:
left
;
width
:
120px
;
height
:
34px
;
line-height
:
34px
;
text-align
:
center
;
cursor
:
default
;}
.xubox_layer
.xubox_tabtit
span
.xubox_tabnow
{
left
:
-1px
;
_top
:
1px
;
height
:
35px
;
border-left
:
1px
solid
#ccc
;
border-right
:
1px
solid
#ccc
;
background-color
:
#fff
;
z-index
:
10
;}
.xubox_layer
.xubox_tab_main
{
line-height
:
24px
;
clear
:
both
;}
.xubox_layer
.xubox_tab_main
.xubox_tabli
{
display
:
none
;}
.xubox_layer
.xubox_tab_main
.xubox_tabli.xubox_tab_layer
{
display
:
block
;}
.xubox_layer
.xubox_tabclose
{
position
:
absolute
;
right
:
10px
;
top
:
5px
;
cursor
:
pointer
;}
/* photo模式 */
.xubox_bigimg
,
.xubox_intro
{
height
:
300px
}
.xubox_bigimg
{
position
:
relative
;
display
:
block
;
width
:
600px
;
text-align
:
center
;
background
:
url(default/xubox_loading1.gif)
center
center
no-repeat
#000
;
overflow
:
hidden
;
}
.xubox_bigimg
img
{
position
:
relative
;
display
:
inline-block
;
visibility
:
hidden
;}
.xubox_intro
{
position
:
absolute
;
right
:
-315px
;
top
:
0
;
width
:
300px
;
background-color
:
#fff
;
overflow-x
:
hidden
;
overflow-y
:
auto
;}
.xubox_imgsee
{
display
:
none
;}
.xubox_prev
,
.xubox_next
{
position
:
absolute
;
top
:
50%
;
width
:
27px
;
_width
:
44px
;
height
:
44px
;
margin-top
:
-22px
;
outline
:
none
;
blr
:
expression
(
this
.
onFocus
=
this
.
blur
());}
.xubox_prev
{
left
:
10px
;
background-position
:
-5px
-5px
;
_background-position
:
-70px
-5px
;}
.xubox_prev
:hover
{
background-position
:
-33px
-5px
;
_background-position
:
-120px
-5px
;}
.xubox_next
{
right
:
10px
;
_right
:
8px
;
background-position
:
-5px
-50px
;
_background-position
:
-70px
-50px
;}
.xubox_next
:hover
{
background-position
:
-33px
-50px
;
_background-position
:
-120px
-50px
;}
.xubox_imgbar
{
position
:
absolute
;
left
:
0
;
bottom
:
0
;
width
:
100%
;
height
:
32px
;
line-height
:
32px
;
background-color
:
rgba
(
0
,
0
,
0
,
.8
);
background-color
:
#000
\
9
;
filter
:
Alpha
(
opacity
=
80
);
color
:
#fff
;
text-overflow
:
ellipsis
;
overflow
:
hidden
;
white-space
:
nowrap
;
font-size
:
0
;}
.xubox_imgtit
{
/*position:absolute; left:20px;*/
}
.xubox_imgtit
*
{
display
:
inline-block
;
*
display
:
inline
;
*
zoom
:
1
;
vertical-align
:
top
;
font-size
:
12px
;}
.xubox_imgtit
a
{
max-width
:
65%
;
text-overflow
:
ellipsis
;
overflow
:
hidden
;
white-space
:
nowrap
;
color
:
#fff
;}
.xubox_imgtit
a
:hover
{
color
:
#fff
;
text-decoration
:
underline
;}
.xubox_imgtit
em
{
padding-left
:
10px
;}
static/js/magnific/jquery.magnific-popup.min.js
0 → 100755
View file @
a42d053c
/*! Magnific Popup - v1.0.0 - 2015-01-03
* http://dimsemenov.com/plugins/magnific-popup/
* Copyright (c) 2015 Dmitry Semenov; */
!
function
(
a
){
"function"
==
typeof
define
&&
define
.
amd
?
define
([
"jquery"
],
a
):
a
(
"object"
==
typeof
exports
?
require
(
"jquery"
):
window
.
jQuery
||
window
.
Zepto
)}(
function
(
a
){
var
b
,
c
,
d
,
e
,
f
,
g
,
h
=
"Close"
,
i
=
"BeforeClose"
,
j
=
"AfterClose"
,
k
=
"BeforeAppend"
,
l
=
"MarkupParse"
,
m
=
"Open"
,
n
=
"Change"
,
o
=
"mfp"
,
p
=
"."
+
o
,
q
=
"mfp-ready"
,
r
=
"mfp-removing"
,
s
=
"mfp-prevent-close"
,
t
=
function
(){},
u
=!!
window
.
jQuery
,
v
=
a
(
window
),
w
=
function
(
a
,
c
){
b
.
ev
.
on
(
o
+
a
+
p
,
c
)},
x
=
function
(
b
,
c
,
d
,
e
){
var
f
=
document
.
createElement
(
"div"
);
return
f
.
className
=
"mfp-"
+
b
,
d
&&
(
f
.
innerHTML
=
d
),
e
?
c
&&
c
.
appendChild
(
f
):(
f
=
a
(
f
),
c
&&
f
.
appendTo
(
c
)),
f
},
y
=
function
(
c
,
d
){
b
.
ev
.
triggerHandler
(
o
+
c
,
d
),
b
.
st
.
callbacks
&&
(
c
=
c
.
charAt
(
0
).
toLowerCase
()
+
c
.
slice
(
1
),
b
.
st
.
callbacks
[
c
]
&&
b
.
st
.
callbacks
[
c
].
apply
(
b
,
a
.
isArray
(
d
)?
d
:[
d
]))},
z
=
function
(
c
){
return
c
===
g
&&
b
.
currTemplate
.
closeBtn
||
(
b
.
currTemplate
.
closeBtn
=
a
(
b
.
st
.
closeMarkup
.
replace
(
"%title%"
,
b
.
st
.
tClose
)),
g
=
c
),
b
.
currTemplate
.
closeBtn
},
A
=
function
(){
a
.
magnificPopup
.
instance
||
(
b
=
new
t
,
b
.
init
(),
a
.
magnificPopup
.
instance
=
b
)},
B
=
function
(){
var
a
=
document
.
createElement
(
"p"
).
style
,
b
=
[
"ms"
,
"O"
,
"Moz"
,
"Webkit"
];
if
(
void
0
!==
a
.
transition
)
return
!
0
;
for
(;
b
.
length
;)
if
(
b
.
pop
()
+
"Transition"
in
a
)
return
!
0
;
return
!
1
};
t
.
prototype
=
{
constructor
:
t
,
init
:
function
(){
var
c
=
navigator
.
appVersion
;
b
.
isIE7
=-
1
!==
c
.
indexOf
(
"MSIE 7."
),
b
.
isIE8
=-
1
!==
c
.
indexOf
(
"MSIE 8."
),
b
.
isLowIE
=
b
.
isIE7
||
b
.
isIE8
,
b
.
isAndroid
=
/android/gi
.
test
(
c
),
b
.
isIOS
=
/iphone|ipad|ipod/gi
.
test
(
c
),
b
.
supportsTransition
=
B
(),
b
.
probablyMobile
=
b
.
isAndroid
||
b
.
isIOS
||
/
(
Opera Mini
)
|Kindle|webOS|BlackBerry|
(
Opera Mobi
)
|
(
Windows Phone
)
|IEMobile/i
.
test
(
navigator
.
userAgent
),
d
=
a
(
document
),
b
.
popupsCache
=
{}},
open
:
function
(
c
){
var
e
;
if
(
c
.
isObj
===!
1
){
b
.
items
=
c
.
items
.
toArray
(),
b
.
index
=
0
;
var
g
,
h
=
c
.
items
;
for
(
e
=
0
;
e
<
h
.
length
;
e
++
)
if
(
g
=
h
[
e
],
g
.
parsed
&&
(
g
=
g
.
el
[
0
]),
g
===
c
.
el
[
0
]){
b
.
index
=
e
;
break
}}
else
b
.
items
=
a
.
isArray
(
c
.
items
)?
c
.
items
:[
c
.
items
],
b
.
index
=
c
.
index
||
0
;
if
(
b
.
isOpen
)
return
void
b
.
updateItemHTML
();
b
.
types
=
[],
f
=
""
,
b
.
ev
=
c
.
mainEl
&&
c
.
mainEl
.
length
?
c
.
mainEl
.
eq
(
0
):
d
,
c
.
key
?(
b
.
popupsCache
[
c
.
key
]
||
(
b
.
popupsCache
[
c
.
key
]
=
{}),
b
.
currTemplate
=
b
.
popupsCache
[
c
.
key
]):
b
.
currTemplate
=
{},
b
.
st
=
a
.
extend
(
!
0
,{},
a
.
magnificPopup
.
defaults
,
c
),
b
.
fixedContentPos
=
"auto"
===
b
.
st
.
fixedContentPos
?
!
b
.
probablyMobile
:
b
.
st
.
fixedContentPos
,
b
.
st
.
modal
&&
(
b
.
st
.
closeOnContentClick
=!
1
,
b
.
st
.
closeOnBgClick
=!
1
,
b
.
st
.
showCloseBtn
=!
1
,
b
.
st
.
enableEscapeKey
=!
1
),
b
.
bgOverlay
||
(
b
.
bgOverlay
=
x
(
"bg"
).
on
(
"click"
+
p
,
function
(){
b
.
close
()}),
b
.
wrap
=
x
(
"wrap"
).
attr
(
"tabindex"
,
-
1
).
on
(
"click"
+
p
,
function
(
a
){
b
.
_checkIfClose
(
a
.
target
)
&&
b
.
close
()}),
b
.
container
=
x
(
"container"
,
b
.
wrap
)),
b
.
contentContainer
=
x
(
"content"
),
b
.
st
.
preloader
&&
(
b
.
preloader
=
x
(
"preloader"
,
b
.
container
,
b
.
st
.
tLoading
));
var
i
=
a
.
magnificPopup
.
modules
;
for
(
e
=
0
;
e
<
i
.
length
;
e
++
){
var
j
=
i
[
e
];
j
=
j
.
charAt
(
0
).
toUpperCase
()
+
j
.
slice
(
1
),
b
[
"init"
+
j
].
call
(
b
)}
y
(
"BeforeOpen"
),
b
.
st
.
showCloseBtn
&&
(
b
.
st
.
closeBtnInside
?(
w
(
l
,
function
(
a
,
b
,
c
,
d
){
c
.
close_replaceWith
=
z
(
d
.
type
)}),
f
+=
" mfp-close-btn-in"
):
b
.
wrap
.
append
(
z
())),
b
.
st
.
alignTop
&&
(
f
+=
" mfp-align-top"
),
b
.
wrap
.
css
(
b
.
fixedContentPos
?{
overflow
:
b
.
st
.
overflowY
,
overflowX
:
"hidden"
,
overflowY
:
b
.
st
.
overflowY
}:{
top
:
v
.
scrollTop
(),
position
:
"absolute"
}),(
b
.
st
.
fixedBgPos
===!
1
||
"auto"
===
b
.
st
.
fixedBgPos
&&!
b
.
fixedContentPos
)
&&
b
.
bgOverlay
.
css
({
height
:
d
.
height
(),
position
:
"absolute"
}),
b
.
st
.
enableEscapeKey
&&
d
.
on
(
"keyup"
+
p
,
function
(
a
){
27
===
a
.
keyCode
&&
b
.
close
()}),
v
.
on
(
"resize"
+
p
,
function
(){
b
.
updateSize
()}),
b
.
st
.
closeOnContentClick
||
(
f
+=
" mfp-auto-cursor"
),
f
&&
b
.
wrap
.
addClass
(
f
);
var
k
=
b
.
wH
=
v
.
height
(),
n
=
{};
if
(
b
.
fixedContentPos
&&
b
.
_hasScrollBar
(
k
)){
var
o
=
b
.
_getScrollbarSize
();
o
&&
(
n
.
marginRight
=
o
)}
b
.
fixedContentPos
&&
(
b
.
isIE7
?
a
(
"body, html"
).
css
(
"overflow"
,
"hidden"
):
n
.
overflow
=
"hidden"
);
var
r
=
b
.
st
.
mainClass
;
return
b
.
isIE7
&&
(
r
+=
" mfp-ie7"
),
r
&&
b
.
_addClassToMFP
(
r
),
b
.
updateItemHTML
(),
y
(
"BuildControls"
),
a
(
"html"
).
css
(
n
),
b
.
bgOverlay
.
add
(
b
.
wrap
).
prependTo
(
b
.
st
.
prependTo
||
a
(
document
.
body
)),
b
.
_lastFocusedEl
=
document
.
activeElement
,
setTimeout
(
function
(){
b
.
content
?(
b
.
_addClassToMFP
(
q
),
b
.
_setFocus
()):
b
.
bgOverlay
.
addClass
(
q
),
d
.
on
(
"focusin"
+
p
,
b
.
_onFocusIn
)},
16
),
b
.
isOpen
=!
0
,
b
.
updateSize
(
k
),
y
(
m
),
c
},
close
:
function
(){
b
.
isOpen
&&
(
y
(
i
),
b
.
isOpen
=!
1
,
b
.
st
.
removalDelay
&&!
b
.
isLowIE
&&
b
.
supportsTransition
?(
b
.
_addClassToMFP
(
r
),
setTimeout
(
function
(){
b
.
_close
()},
b
.
st
.
removalDelay
)):
b
.
_close
())},
_close
:
function
(){
y
(
h
);
var
c
=
r
+
" "
+
q
+
" "
;
if
(
b
.
bgOverlay
.
detach
(),
b
.
wrap
.
detach
(),
b
.
container
.
empty
(),
b
.
st
.
mainClass
&&
(
c
+=
b
.
st
.
mainClass
+
" "
),
b
.
_removeClassFromMFP
(
c
),
b
.
fixedContentPos
){
var
e
=
{
marginRight
:
""
};
b
.
isIE7
?
a
(
"body, html"
).
css
(
"overflow"
,
""
):
e
.
overflow
=
""
,
a
(
"html"
).
css
(
e
)}
d
.
off
(
"keyup"
+
p
+
" focusin"
+
p
),
b
.
ev
.
off
(
p
),
b
.
wrap
.
attr
(
"class"
,
"mfp-wrap"
).
removeAttr
(
"style"
),
b
.
bgOverlay
.
attr
(
"class"
,
"mfp-bg"
),
b
.
container
.
attr
(
"class"
,
"mfp-container"
),
!
b
.
st
.
showCloseBtn
||
b
.
st
.
closeBtnInside
&&
b
.
currTemplate
[
b
.
currItem
.
type
]
!==!
0
||
b
.
currTemplate
.
closeBtn
&&
b
.
currTemplate
.
closeBtn
.
detach
(),
b
.
_lastFocusedEl
&&
a
(
b
.
_lastFocusedEl
).
focus
(),
b
.
currItem
=
null
,
b
.
content
=
null
,
b
.
currTemplate
=
null
,
b
.
prevHeight
=
0
,
y
(
j
)},
updateSize
:
function
(
a
){
if
(
b
.
isIOS
){
var
c
=
document
.
documentElement
.
clientWidth
/
window
.
innerWidth
,
d
=
window
.
innerHeight
*
c
;
b
.
wrap
.
css
(
"height"
,
d
),
b
.
wH
=
d
}
else
b
.
wH
=
a
||
v
.
height
();
b
.
fixedContentPos
||
b
.
wrap
.
css
(
"height"
,
b
.
wH
),
y
(
"Resize"
)},
updateItemHTML
:
function
(){
var
c
=
b
.
items
[
b
.
index
];
b
.
contentContainer
.
detach
(),
b
.
content
&&
b
.
content
.
detach
(),
c
.
parsed
||
(
c
=
b
.
parseEl
(
b
.
index
));
var
d
=
c
.
type
;
if
(
y
(
"BeforeChange"
,[
b
.
currItem
?
b
.
currItem
.
type
:
""
,
d
]),
b
.
currItem
=
c
,
!
b
.
currTemplate
[
d
]){
var
f
=
b
.
st
[
d
]?
b
.
st
[
d
].
markup
:
!
1
;
y
(
"FirstMarkupParse"
,
f
),
b
.
currTemplate
[
d
]
=
f
?
a
(
f
):
!
0
}
e
&&
e
!==
c
.
type
&&
b
.
container
.
removeClass
(
"mfp-"
+
e
+
"-holder"
);
var
g
=
b
[
"get"
+
d
.
charAt
(
0
).
toUpperCase
()
+
d
.
slice
(
1
)](
c
,
b
.
currTemplate
[
d
]);
b
.
appendContent
(
g
,
d
),
c
.
preloaded
=!
0
,
y
(
n
,
c
),
e
=
c
.
type
,
b
.
container
.
prepend
(
b
.
contentContainer
),
y
(
"AfterChange"
)},
appendContent
:
function
(
a
,
c
){
b
.
content
=
a
,
a
?
b
.
st
.
showCloseBtn
&&
b
.
st
.
closeBtnInside
&&
b
.
currTemplate
[
c
]
===!
0
?
b
.
content
.
find
(
".mfp-close"
).
length
||
b
.
content
.
append
(
z
()):
b
.
content
=
a
:
b
.
content
=
""
,
y
(
k
),
b
.
container
.
addClass
(
"mfp-"
+
c
+
"-holder"
),
b
.
contentContainer
.
append
(
b
.
content
)},
parseEl
:
function
(
c
){
var
d
,
e
=
b
.
items
[
c
];
if
(
e
.
tagName
?
e
=
{
el
:
a
(
e
)}:(
d
=
e
.
type
,
e
=
{
data
:
e
,
src
:
e
.
src
}),
e
.
el
){
for
(
var
f
=
b
.
types
,
g
=
0
;
g
<
f
.
length
;
g
++
)
if
(
e
.
el
.
hasClass
(
"mfp-"
+
f
[
g
])){
d
=
f
[
g
];
break
}
e
.
src
=
e
.
el
.
attr
(
"data-mfp-src"
),
e
.
src
||
(
e
.
src
=
e
.
el
.
attr
(
"href"
))}
return
e
.
type
=
d
||
b
.
st
.
type
||
"inline"
,
e
.
index
=
c
,
e
.
parsed
=!
0
,
b
.
items
[
c
]
=
e
,
y
(
"ElementParse"
,
e
),
b
.
items
[
c
]},
addGroup
:
function
(
a
,
c
){
var
d
=
function
(
d
){
d
.
mfpEl
=
this
,
b
.
_openClick
(
d
,
a
,
c
)};
c
||
(
c
=
{});
var
e
=
"click.magnificPopup"
;
c
.
mainEl
=
a
,
c
.
items
?(
c
.
isObj
=!
0
,
a
.
off
(
e
).
on
(
e
,
d
)):(
c
.
isObj
=!
1
,
c
.
delegate
?
a
.
off
(
e
).
on
(
e
,
c
.
delegate
,
d
):(
c
.
items
=
a
,
a
.
off
(
e
).
on
(
e
,
d
)))},
_openClick
:
function
(
c
,
d
,
e
){
var
f
=
void
0
!==
e
.
midClick
?
e
.
midClick
:
a
.
magnificPopup
.
defaults
.
midClick
;
if
(
f
||
2
!==
c
.
which
&&!
c
.
ctrlKey
&&!
c
.
metaKey
){
var
g
=
void
0
!==
e
.
disableOn
?
e
.
disableOn
:
a
.
magnificPopup
.
defaults
.
disableOn
;
if
(
g
)
if
(
a
.
isFunction
(
g
)){
if
(
!
g
.
call
(
b
))
return
!
0
}
else
if
(
v
.
width
()
<
g
)
return
!
0
;
c
.
type
&&
(
c
.
preventDefault
(),
b
.
isOpen
&&
c
.
stopPropagation
()),
e
.
el
=
a
(
c
.
mfpEl
),
e
.
delegate
&&
(
e
.
items
=
d
.
find
(
e
.
delegate
)),
b
.
open
(
e
)}},
updateStatus
:
function
(
a
,
d
){
if
(
b
.
preloader
){
c
!==
a
&&
b
.
container
.
removeClass
(
"mfp-s-"
+
c
),
d
||
"loading"
!==
a
||
(
d
=
b
.
st
.
tLoading
);
var
e
=
{
status
:
a
,
text
:
d
};
y
(
"UpdateStatus"
,
e
),
a
=
e
.
status
,
d
=
e
.
text
,
b
.
preloader
.
html
(
d
),
b
.
preloader
.
find
(
"a"
).
on
(
"click"
,
function
(
a
){
a
.
stopImmediatePropagation
()}),
b
.
container
.
addClass
(
"mfp-s-"
+
a
),
c
=
a
}},
_checkIfClose
:
function
(
c
){
if
(
!
a
(
c
).
hasClass
(
s
)){
var
d
=
b
.
st
.
closeOnContentClick
,
e
=
b
.
st
.
closeOnBgClick
;
if
(
d
&&
e
)
return
!
0
;
if
(
!
b
.
content
||
a
(
c
).
hasClass
(
"mfp-close"
)
||
b
.
preloader
&&
c
===
b
.
preloader
[
0
])
return
!
0
;
if
(
c
===
b
.
content
[
0
]
||
a
.
contains
(
b
.
content
[
0
],
c
)){
if
(
d
)
return
!
0
}
else
if
(
e
&&
a
.
contains
(
document
,
c
))
return
!
0
;
return
!
1
}},
_addClassToMFP
:
function
(
a
){
b
.
bgOverlay
.
addClass
(
a
),
b
.
wrap
.
addClass
(
a
)},
_removeClassFromMFP
:
function
(
a
){
this
.
bgOverlay
.
removeClass
(
a
),
b
.
wrap
.
removeClass
(
a
)},
_hasScrollBar
:
function
(
a
){
return
(
b
.
isIE7
?
d
.
height
():
document
.
body
.
scrollHeight
)
>
(
a
||
v
.
height
())},
_setFocus
:
function
(){(
b
.
st
.
focus
?
b
.
content
.
find
(
b
.
st
.
focus
).
eq
(
0
):
b
.
wrap
).
focus
()},
_onFocusIn
:
function
(
c
){
return
c
.
target
===
b
.
wrap
[
0
]
||
a
.
contains
(
b
.
wrap
[
0
],
c
.
target
)?
void
0
:(
b
.
_setFocus
(),
!
1
)},
_parseMarkup
:
function
(
b
,
c
,
d
){
var
e
;
d
.
data
&&
(
c
=
a
.
extend
(
d
.
data
,
c
)),
y
(
l
,[
b
,
c
,
d
]),
a
.
each
(
c
,
function
(
a
,
c
){
if
(
void
0
===
c
||
c
===!
1
)
return
!
0
;
if
(
e
=
a
.
split
(
"_"
),
e
.
length
>
1
){
var
d
=
b
.
find
(
p
+
"-"
+
e
[
0
]);
if
(
d
.
length
>
0
){
var
f
=
e
[
1
];
"replaceWith"
===
f
?
d
[
0
]
!==
c
[
0
]
&&
d
.
replaceWith
(
c
):
"img"
===
f
?
d
.
is
(
"img"
)?
d
.
attr
(
"src"
,
c
):
d
.
replaceWith
(
'<img src="'
+
c
+
'" class="'
+
d
.
attr
(
"class"
)
+
'" />'
):
d
.
attr
(
e
[
1
],
c
)}}
else
b
.
find
(
p
+
"-"
+
a
).
html
(
c
)})},
_getScrollbarSize
:
function
(){
if
(
void
0
===
b
.
scrollbarSize
){
var
a
=
document
.
createElement
(
"div"
);
a
.
style
.
cssText
=
"width: 99px; height: 99px; overflow: scroll; position: absolute; top: -9999px;"
,
document
.
body
.
appendChild
(
a
),
b
.
scrollbarSize
=
a
.
offsetWidth
-
a
.
clientWidth
,
document
.
body
.
removeChild
(
a
)}
return
b
.
scrollbarSize
}},
a
.
magnificPopup
=
{
instance
:
null
,
proto
:
t
.
prototype
,
modules
:[],
open
:
function
(
b
,
c
){
return
A
(),
b
=
b
?
a
.
extend
(
!
0
,{},
b
):{},
b
.
isObj
=!
0
,
b
.
index
=
c
||
0
,
this
.
instance
.
open
(
b
)},
close
:
function
(){
return
a
.
magnificPopup
.
instance
&&
a
.
magnificPopup
.
instance
.
close
()},
registerModule
:
function
(
b
,
c
){
c
.
options
&&
(
a
.
magnificPopup
.
defaults
[
b
]
=
c
.
options
),
a
.
extend
(
this
.
proto
,
c
.
proto
),
this
.
modules
.
push
(
b
)},
defaults
:{
disableOn
:
0
,
key
:
null
,
midClick
:
!
1
,
mainClass
:
""
,
preloader
:
!
0
,
focus
:
""
,
closeOnContentClick
:
!
1
,
closeOnBgClick
:
!
0
,
closeBtnInside
:
!
0
,
showCloseBtn
:
!
0
,
enableEscapeKey
:
!
0
,
modal
:
!
1
,
alignTop
:
!
1
,
removalDelay
:
0
,
prependTo
:
null
,
fixedContentPos
:
"auto"
,
fixedBgPos
:
"auto"
,
overflowY
:
"auto"
,
closeMarkup
:
'<button title="%title%" type="button" class="mfp-close">×</button>'
,
tClose
:
"Close (Esc)"
,
tLoading
:
"Loading..."
}},
a
.
fn
.
magnificPopup
=
function
(
c
){
A
();
var
d
=
a
(
this
);
if
(
"string"
==
typeof
c
)
if
(
"open"
===
c
){
var
e
,
f
=
u
?
d
.
data
(
"magnificPopup"
):
d
[
0
].
magnificPopup
,
g
=
parseInt
(
arguments
[
1
],
10
)
||
0
;
f
.
items
?
e
=
f
.
items
[
g
]:(
e
=
d
,
f
.
delegate
&&
(
e
=
e
.
find
(
f
.
delegate
)),
e
=
e
.
eq
(
g
)),
b
.
_openClick
({
mfpEl
:
e
},
d
,
f
)}
else
b
.
isOpen
&&
b
[
c
].
apply
(
b
,
Array
.
prototype
.
slice
.
call
(
arguments
,
1
));
else
c
=
a
.
extend
(
!
0
,{},
c
),
u
?
d
.
data
(
"magnificPopup"
,
c
):
d
[
0
].
magnificPopup
=
c
,
b
.
addGroup
(
d
,
c
);
return
d
};
var
C
,
D
,
E
,
F
=
"inline"
,
G
=
function
(){
E
&&
(
D
.
after
(
E
.
addClass
(
C
)).
detach
(),
E
=
null
)};
a
.
magnificPopup
.
registerModule
(
F
,{
options
:{
hiddenClass
:
"hide"
,
markup
:
""
,
tNotFound
:
"Content not found"
},
proto
:{
initInline
:
function
(){
b
.
types
.
push
(
F
),
w
(
h
+
"."
+
F
,
function
(){
G
()})},
getInline
:
function
(
c
,
d
){
if
(
G
(),
c
.
src
){
var
e
=
b
.
st
.
inline
,
f
=
a
(
c
.
src
);
if
(
f
.
length
){
var
g
=
f
[
0
].
parentNode
;
g
&&
g
.
tagName
&&
(
D
||
(
C
=
e
.
hiddenClass
,
D
=
x
(
C
),
C
=
"mfp-"
+
C
),
E
=
f
.
after
(
D
).
detach
().
removeClass
(
C
)),
b
.
updateStatus
(
"ready"
)}
else
b
.
updateStatus
(
"error"
,
e
.
tNotFound
),
f
=
a
(
"<div>"
);
return
c
.
inlineElement
=
f
,
f
}
return
b
.
updateStatus
(
"ready"
),
b
.
_parseMarkup
(
d
,{},
c
),
d
}}});
var
H
,
I
=
"ajax"
,
J
=
function
(){
H
&&
a
(
document
.
body
).
removeClass
(
H
)},
K
=
function
(){
J
(),
b
.
req
&&
b
.
req
.
abort
()};
a
.
magnificPopup
.
registerModule
(
I
,{
options
:{
settings
:
null
,
cursor
:
"mfp-ajax-cur"
,
tError
:
'<a href="%url%">The content</a> could not be loaded.'
},
proto
:{
initAjax
:
function
(){
b
.
types
.
push
(
I
),
H
=
b
.
st
.
ajax
.
cursor
,
w
(
h
+
"."
+
I
,
K
),
w
(
"BeforeChange."
+
I
,
K
)},
getAjax
:
function
(
c
){
H
&&
a
(
document
.
body
).
addClass
(
H
),
b
.
updateStatus
(
"loading"
);
var
d
=
a
.
extend
({
url
:
c
.
src
,
success
:
function
(
d
,
e
,
f
){
var
g
=
{
data
:
d
,
xhr
:
f
};
y
(
"ParseAjax"
,
g
),
b
.
appendContent
(
a
(
g
.
data
),
I
),
c
.
finished
=!
0
,
J
(),
b
.
_setFocus
(),
setTimeout
(
function
(){
b
.
wrap
.
addClass
(
q
)},
16
),
b
.
updateStatus
(
"ready"
),
y
(
"AjaxContentAdded"
)},
error
:
function
(){
J
(),
c
.
finished
=
c
.
loadError
=!
0
,
b
.
updateStatus
(
"error"
,
b
.
st
.
ajax
.
tError
.
replace
(
"%url%"
,
c
.
src
))}},
b
.
st
.
ajax
.
settings
);
return
b
.
req
=
a
.
ajax
(
d
),
""
}}});
var
L
,
M
=
function
(
c
){
if
(
c
.
data
&&
void
0
!==
c
.
data
.
title
)
return
c
.
data
.
title
;
var
d
=
b
.
st
.
image
.
titleSrc
;
if
(
d
){
if
(
a
.
isFunction
(
d
))
return
d
.
call
(
b
,
c
);
if
(
c
.
el
)
return
c
.
el
.
attr
(
d
)
||
""
}
return
""
};
a
.
magnificPopup
.
registerModule
(
"image"
,{
options
:{
markup
:
'<div class="mfp-figure"><div class="mfp-close"></div><figure><div class="mfp-img"></div><figcaption><div class="mfp-bottom-bar"><div class="mfp-title"></div><div class="mfp-counter"></div></div></figcaption></figure></div>'
,
cursor
:
"mfp-zoom-out-cur"
,
titleSrc
:
"title"
,
verticalFit
:
!
0
,
tError
:
'<a href="%url%">The image</a> could not be loaded.'
},
proto
:{
initImage
:
function
(){
var
c
=
b
.
st
.
image
,
d
=
".image"
;
b
.
types
.
push
(
"image"
),
w
(
m
+
d
,
function
(){
"image"
===
b
.
currItem
.
type
&&
c
.
cursor
&&
a
(
document
.
body
).
addClass
(
c
.
cursor
)}),
w
(
h
+
d
,
function
(){
c
.
cursor
&&
a
(
document
.
body
).
removeClass
(
c
.
cursor
),
v
.
off
(
"resize"
+
p
)}),
w
(
"Resize"
+
d
,
b
.
resizeImage
),
b
.
isLowIE
&&
w
(
"AfterChange"
,
b
.
resizeImage
)},
resizeImage
:
function
(){
var
a
=
b
.
currItem
;
if
(
a
&&
a
.
img
&&
b
.
st
.
image
.
verticalFit
){
var
c
=
0
;
b
.
isLowIE
&&
(
c
=
parseInt
(
a
.
img
.
css
(
"padding-top"
),
10
)
+
parseInt
(
a
.
img
.
css
(
"padding-bottom"
),
10
)),
a
.
img
.
css
(
"max-height"
,
b
.
wH
-
c
)}},
_onImageHasSize
:
function
(
a
){
a
.
img
&&
(
a
.
hasSize
=!
0
,
L
&&
clearInterval
(
L
),
a
.
isCheckingImgSize
=!
1
,
y
(
"ImageHasSize"
,
a
),
a
.
imgHidden
&&
(
b
.
content
&&
b
.
content
.
removeClass
(
"mfp-loading"
),
a
.
imgHidden
=!
1
))},
findImageSize
:
function
(
a
){
var
c
=
0
,
d
=
a
.
img
[
0
],
e
=
function
(
f
){
L
&&
clearInterval
(
L
),
L
=
setInterval
(
function
(){
return
d
.
naturalWidth
>
0
?
void
b
.
_onImageHasSize
(
a
):(
c
>
200
&&
clearInterval
(
L
),
c
++
,
void
(
3
===
c
?
e
(
10
):
40
===
c
?
e
(
50
):
100
===
c
&&
e
(
500
)))},
f
)};
e
(
1
)},
getImage
:
function
(
c
,
d
){
var
e
=
0
,
f
=
function
(){
c
&&
(
c
.
img
[
0
].
complete
?(
c
.
img
.
off
(
".mfploader"
),
c
===
b
.
currItem
&&
(
b
.
_onImageHasSize
(
c
),
b
.
updateStatus
(
"ready"
)),
c
.
hasSize
=!
0
,
c
.
loaded
=!
0
,
y
(
"ImageLoadComplete"
)):(
e
++
,
200
>
e
?
setTimeout
(
f
,
100
):
g
()))},
g
=
function
(){
c
&&
(
c
.
img
.
off
(
".mfploader"
),
c
===
b
.
currItem
&&
(
b
.
_onImageHasSize
(
c
),
b
.
updateStatus
(
"error"
,
h
.
tError
.
replace
(
"%url%"
,
c
.
src
))),
c
.
hasSize
=!
0
,
c
.
loaded
=!
0
,
c
.
loadError
=!
0
)},
h
=
b
.
st
.
image
,
i
=
d
.
find
(
".mfp-img"
);
if
(
i
.
length
){
var
j
=
document
.
createElement
(
"img"
);
j
.
className
=
"mfp-img"
,
c
.
el
&&
c
.
el
.
find
(
"img"
).
length
&&
(
j
.
alt
=
c
.
el
.
find
(
"img"
).
attr
(
"alt"
)),
c
.
img
=
a
(
j
).
on
(
"load.mfploader"
,
f
).
on
(
"error.mfploader"
,
g
),
j
.
src
=
c
.
src
,
i
.
is
(
"img"
)
&&
(
c
.
img
=
c
.
img
.
clone
()),
j
=
c
.
img
[
0
],
j
.
naturalWidth
>
0
?
c
.
hasSize
=!
0
:
j
.
width
||
(
c
.
hasSize
=!
1
)}
return
b
.
_parseMarkup
(
d
,{
title
:
M
(
c
),
img_replaceWith
:
c
.
img
},
c
),
b
.
resizeImage
(),
c
.
hasSize
?(
L
&&
clearInterval
(
L
),
c
.
loadError
?(
d
.
addClass
(
"mfp-loading"
),
b
.
updateStatus
(
"error"
,
h
.
tError
.
replace
(
"%url%"
,
c
.
src
))):(
d
.
removeClass
(
"mfp-loading"
),
b
.
updateStatus
(
"ready"
)),
d
):(
b
.
updateStatus
(
"loading"
),
c
.
loading
=!
0
,
c
.
hasSize
||
(
c
.
imgHidden
=!
0
,
d
.
addClass
(
"mfp-loading"
),
b
.
findImageSize
(
c
)),
d
)}}});
var
N
,
O
=
function
(){
return
void
0
===
N
&&
(
N
=
void
0
!==
document
.
createElement
(
"p"
).
style
.
MozTransform
),
N
};
a
.
magnificPopup
.
registerModule
(
"zoom"
,{
options
:{
enabled
:
!
1
,
easing
:
"ease-in-out"
,
duration
:
300
,
opener
:
function
(
a
){
return
a
.
is
(
"img"
)?
a
:
a
.
find
(
"img"
)}},
proto
:{
initZoom
:
function
(){
var
a
,
c
=
b
.
st
.
zoom
,
d
=
".zoom"
;
if
(
c
.
enabled
&&
b
.
supportsTransition
){
var
e
,
f
,
g
=
c
.
duration
,
j
=
function
(
a
){
var
b
=
a
.
clone
().
removeAttr
(
"style"
).
removeAttr
(
"class"
).
addClass
(
"mfp-animated-image"
),
d
=
"all "
+
c
.
duration
/
1
e3
+
"s "
+
c
.
easing
,
e
=
{
position
:
"fixed"
,
zIndex
:
9999
,
left
:
0
,
top
:
0
,
"-webkit-backface-visibility"
:
"hidden"
},
f
=
"transition"
;
return
e
[
"-webkit-"
+
f
]
=
e
[
"-moz-"
+
f
]
=
e
[
"-o-"
+
f
]
=
e
[
f
]
=
d
,
b
.
css
(
e
),
b
},
k
=
function
(){
b
.
content
.
css
(
"visibility"
,
"visible"
)};
w
(
"BuildControls"
+
d
,
function
(){
if
(
b
.
_allowZoom
()){
if
(
clearTimeout
(
e
),
b
.
content
.
css
(
"visibility"
,
"hidden"
),
a
=
b
.
_getItemToZoom
(),
!
a
)
return
void
k
();
f
=
j
(
a
),
f
.
css
(
b
.
_getOffset
()),
b
.
wrap
.
append
(
f
),
e
=
setTimeout
(
function
(){
f
.
css
(
b
.
_getOffset
(
!
0
)),
e
=
setTimeout
(
function
(){
k
(),
setTimeout
(
function
(){
f
.
remove
(),
a
=
f
=
null
,
y
(
"ZoomAnimationEnded"
)},
16
)},
g
)},
16
)}}),
w
(
i
+
d
,
function
(){
if
(
b
.
_allowZoom
()){
if
(
clearTimeout
(
e
),
b
.
st
.
removalDelay
=
g
,
!
a
){
if
(
a
=
b
.
_getItemToZoom
(),
!
a
)
return
;
f
=
j
(
a
)}
f
.
css
(
b
.
_getOffset
(
!
0
)),
b
.
wrap
.
append
(
f
),
b
.
content
.
css
(
"visibility"
,
"hidden"
),
setTimeout
(
function
(){
f
.
css
(
b
.
_getOffset
())},
16
)}}),
w
(
h
+
d
,
function
(){
b
.
_allowZoom
()
&&
(
k
(),
f
&&
f
.
remove
(),
a
=
null
)})}},
_allowZoom
:
function
(){
return
"image"
===
b
.
currItem
.
type
},
_getItemToZoom
:
function
(){
return
b
.
currItem
.
hasSize
?
b
.
currItem
.
img
:
!
1
},
_getOffset
:
function
(
c
){
var
d
;
d
=
c
?
b
.
currItem
.
img
:
b
.
st
.
zoom
.
opener
(
b
.
currItem
.
el
||
b
.
currItem
);
var
e
=
d
.
offset
(),
f
=
parseInt
(
d
.
css
(
"padding-top"
),
10
),
g
=
parseInt
(
d
.
css
(
"padding-bottom"
),
10
);
e
.
top
-=
a
(
window
).
scrollTop
()
-
f
;
var
h
=
{
width
:
d
.
width
(),
height
:(
u
?
d
.
innerHeight
():
d
[
0
].
offsetHeight
)
-
g
-
f
};
return
O
()?
h
[
"-moz-transform"
]
=
h
.
transform
=
"translate("
+
e
.
left
+
"px,"
+
e
.
top
+
"px)"
:(
h
.
left
=
e
.
left
,
h
.
top
=
e
.
top
),
h
}}});
var
P
=
"iframe"
,
Q
=
"//about:blank"
,
R
=
function
(
a
){
if
(
b
.
currTemplate
[
P
]){
var
c
=
b
.
currTemplate
[
P
].
find
(
"iframe"
);
c
.
length
&&
(
a
||
(
c
[
0
].
src
=
Q
),
b
.
isIE8
&&
c
.
css
(
"display"
,
a
?
"block"
:
"none"
))}};
a
.
magnificPopup
.
registerModule
(
P
,{
options
:{
markup
:
'<div class="mfp-iframe-scaler"><div class="mfp-close"></div><iframe class="mfp-iframe" src="//about:blank" frameborder="0" allowfullscreen></iframe></div>'
,
srcAction
:
"iframe_src"
,
patterns
:{
youtube
:{
index
:
"youtube.com"
,
id
:
"v="
,
src
:
"//www.youtube.com/embed/%id%?autoplay=1"
},
vimeo
:{
index
:
"vimeo.com/"
,
id
:
"/"
,
src
:
"//player.vimeo.com/video/%id%?autoplay=1"
},
gmaps
:{
index
:
"//maps.google."
,
src
:
"%id%&output=embed"
}}},
proto
:{
initIframe
:
function
(){
b
.
types
.
push
(
P
),
w
(
"BeforeChange"
,
function
(
a
,
b
,
c
){
b
!==
c
&&
(
b
===
P
?
R
():
c
===
P
&&
R
(
!
0
))}),
w
(
h
+
"."
+
P
,
function
(){
R
()})},
getIframe
:
function
(
c
,
d
){
var
e
=
c
.
src
,
f
=
b
.
st
.
iframe
;
a
.
each
(
f
.
patterns
,
function
(){
return
e
.
indexOf
(
this
.
index
)
>-
1
?(
this
.
id
&&
(
e
=
"string"
==
typeof
this
.
id
?
e
.
substr
(
e
.
lastIndexOf
(
this
.
id
)
+
this
.
id
.
length
,
e
.
length
):
this
.
id
.
call
(
this
,
e
)),
e
=
this
.
src
.
replace
(
"%id%"
,
e
),
!
1
):
void
0
});
var
g
=
{};
return
f
.
srcAction
&&
(
g
[
f
.
srcAction
]
=
e
),
b
.
_parseMarkup
(
d
,
g
,
c
),
b
.
updateStatus
(
"ready"
),
d
}}});
var
S
=
function
(
a
){
var
c
=
b
.
items
.
length
;
return
a
>
c
-
1
?
a
-
c
:
0
>
a
?
c
+
a
:
a
},
T
=
function
(
a
,
b
,
c
){
return
a
.
replace
(
/%curr%/gi
,
b
+
1
).
replace
(
/%total%/gi
,
c
)};
a
.
magnificPopup
.
registerModule
(
"gallery"
,{
options
:{
enabled
:
!
1
,
arrowMarkup
:
'<button title="%title%" type="button" class="mfp-arrow mfp-arrow-%dir%"></button>'
,
preload
:[
0
,
2
],
navigateByImgClick
:
!
0
,
arrows
:
!
0
,
tPrev
:
"Previous (Left arrow key)"
,
tNext
:
"Next (Right arrow key)"
,
tCounter
:
"%curr% of %total%"
},
proto
:{
initGallery
:
function
(){
var
c
=
b
.
st
.
gallery
,
e
=
".mfp-gallery"
,
g
=
Boolean
(
a
.
fn
.
mfpFastClick
);
return
b
.
direction
=!
0
,
c
&&
c
.
enabled
?(
f
+=
" mfp-gallery"
,
w
(
m
+
e
,
function
(){
c
.
navigateByImgClick
&&
b
.
wrap
.
on
(
"click"
+
e
,
".mfp-img"
,
function
(){
return
b
.
items
.
length
>
1
?(
b
.
next
(),
!
1
):
void
0
}),
d
.
on
(
"keydown"
+
e
,
function
(
a
){
37
===
a
.
keyCode
?
b
.
prev
():
39
===
a
.
keyCode
&&
b
.
next
()})}),
w
(
"UpdateStatus"
+
e
,
function
(
a
,
c
){
c
.
text
&&
(
c
.
text
=
T
(
c
.
text
,
b
.
currItem
.
index
,
b
.
items
.
length
))}),
w
(
l
+
e
,
function
(
a
,
d
,
e
,
f
){
var
g
=
b
.
items
.
length
;
e
.
counter
=
g
>
1
?
T
(
c
.
tCounter
,
f
.
index
,
g
):
""
}),
w
(
"BuildControls"
+
e
,
function
(){
if
(
b
.
items
.
length
>
1
&&
c
.
arrows
&&!
b
.
arrowLeft
){
var
d
=
c
.
arrowMarkup
,
e
=
b
.
arrowLeft
=
a
(
d
.
replace
(
/%title%/gi
,
c
.
tPrev
).
replace
(
/%dir%/gi
,
"left"
)).
addClass
(
s
),
f
=
b
.
arrowRight
=
a
(
d
.
replace
(
/%title%/gi
,
c
.
tNext
).
replace
(
/%dir%/gi
,
"right"
)).
addClass
(
s
),
h
=
g
?
"mfpFastClick"
:
"click"
;
e
[
h
](
function
(){
b
.
prev
()}),
f
[
h
](
function
(){
b
.
next
()}),
b
.
isIE7
&&
(
x
(
"b"
,
e
[
0
],
!
1
,
!
0
),
x
(
"a"
,
e
[
0
],
!
1
,
!
0
),
x
(
"b"
,
f
[
0
],
!
1
,
!
0
),
x
(
"a"
,
f
[
0
],
!
1
,
!
0
)),
b
.
container
.
append
(
e
.
add
(
f
))}}),
w
(
n
+
e
,
function
(){
b
.
_preloadTimeout
&&
clearTimeout
(
b
.
_preloadTimeout
),
b
.
_preloadTimeout
=
setTimeout
(
function
(){
b
.
preloadNearbyImages
(),
b
.
_preloadTimeout
=
null
},
16
)}),
void
w
(
h
+
e
,
function
(){
d
.
off
(
e
),
b
.
wrap
.
off
(
"click"
+
e
),
b
.
arrowLeft
&&
g
&&
b
.
arrowLeft
.
add
(
b
.
arrowRight
).
destroyMfpFastClick
(),
b
.
arrowRight
=
b
.
arrowLeft
=
null
})):
!
1
},
next
:
function
(){
b
.
direction
=!
0
,
b
.
index
=
S
(
b
.
index
+
1
),
b
.
updateItemHTML
()},
prev
:
function
(){
b
.
direction
=!
1
,
b
.
index
=
S
(
b
.
index
-
1
),
b
.
updateItemHTML
()},
goTo
:
function
(
a
){
b
.
direction
=
a
>=
b
.
index
,
b
.
index
=
a
,
b
.
updateItemHTML
()},
preloadNearbyImages
:
function
(){
var
a
,
c
=
b
.
st
.
gallery
.
preload
,
d
=
Math
.
min
(
c
[
0
],
b
.
items
.
length
),
e
=
Math
.
min
(
c
[
1
],
b
.
items
.
length
);
for
(
a
=
1
;
a
<=
(
b
.
direction
?
e
:
d
);
a
++
)
b
.
_preloadItem
(
b
.
index
+
a
);
for
(
a
=
1
;
a
<=
(
b
.
direction
?
d
:
e
);
a
++
)
b
.
_preloadItem
(
b
.
index
-
a
)},
_preloadItem
:
function
(
c
){
if
(
c
=
S
(
c
),
!
b
.
items
[
c
].
preloaded
){
var
d
=
b
.
items
[
c
];
d
.
parsed
||
(
d
=
b
.
parseEl
(
c
)),
y
(
"LazyLoad"
,
d
),
"image"
===
d
.
type
&&
(
d
.
img
=
a
(
'<img class="mfp-img" />'
).
on
(
"load.mfploader"
,
function
(){
d
.
hasSize
=!
0
}).
on
(
"error.mfploader"
,
function
(){
d
.
hasSize
=!
0
,
d
.
loadError
=!
0
,
y
(
"LazyLoadError"
,
d
)}).
attr
(
"src"
,
d
.
src
)),
d
.
preloaded
=!
0
}}}});
var
U
=
"retina"
;
a
.
magnificPopup
.
registerModule
(
U
,{
options
:{
replaceSrc
:
function
(
a
){
return
a
.
src
.
replace
(
/
\.\w
+$/
,
function
(
a
){
return
"@2x"
+
a
})},
ratio
:
1
},
proto
:{
initRetina
:
function
(){
if
(
window
.
devicePixelRatio
>
1
){
var
a
=
b
.
st
.
retina
,
c
=
a
.
ratio
;
c
=
isNaN
(
c
)?
c
():
c
,
c
>
1
&&
(
w
(
"ImageHasSize."
+
U
,
function
(
a
,
b
){
b
.
img
.
css
({
"max-width"
:
b
.
img
[
0
].
naturalWidth
/
c
,
width
:
"100%"
})}),
w
(
"ElementParse."
+
U
,
function
(
b
,
d
){
d
.
src
=
a
.
replaceSrc
(
d
,
c
)}))}}}}),
function
(){
var
b
=
1
e3
,
c
=
"ontouchstart"
in
window
,
d
=
function
(){
v
.
off
(
"touchmove"
+
f
+
" touchend"
+
f
)},
e
=
"mfpFastClick"
,
f
=
"."
+
e
;
a
.
fn
.
mfpFastClick
=
function
(
e
){
return
a
(
this
).
each
(
function
(){
var
g
,
h
=
a
(
this
);
if
(
c
){
var
i
,
j
,
k
,
l
,
m
,
n
;
h
.
on
(
"touchstart"
+
f
,
function
(
a
){
l
=!
1
,
n
=
1
,
m
=
a
.
originalEvent
?
a
.
originalEvent
.
touches
[
0
]:
a
.
touches
[
0
],
j
=
m
.
clientX
,
k
=
m
.
clientY
,
v
.
on
(
"touchmove"
+
f
,
function
(
a
){
m
=
a
.
originalEvent
?
a
.
originalEvent
.
touches
:
a
.
touches
,
n
=
m
.
length
,
m
=
m
[
0
],(
Math
.
abs
(
m
.
clientX
-
j
)
>
10
||
Math
.
abs
(
m
.
clientY
-
k
)
>
10
)
&&
(
l
=!
0
,
d
())}).
on
(
"touchend"
+
f
,
function
(
a
){
d
(),
l
||
n
>
1
||
(
g
=!
0
,
a
.
preventDefault
(),
clearTimeout
(
i
),
i
=
setTimeout
(
function
(){
g
=!
1
},
b
),
e
())})})}
h
.
on
(
"click"
+
f
,
function
(){
g
||
e
()})})},
a
.
fn
.
destroyMfpFastClick
=
function
(){
a
(
this
).
off
(
"touchstart"
+
f
+
" click"
+
f
),
c
&&
v
.
off
(
"touchmove"
+
f
+
" touchend"
+
f
)}}(),
A
()});
\ No newline at end of file
templates/foot_script.html
View file @
a42d053c
...
@@ -18,8 +18,7 @@
...
@@ -18,8 +18,7 @@
<script
src=
"/static/js/base.js"
></script>
<script
src=
"/static/js/base.js"
></script>
<!-- pop windows -->
<!-- pop windows layer-->
<script
src=
"/static/js/jquery.colorbox.js"
></script>
<!-- active menu -->
<!-- active menu -->
<script>
<script>
...
@@ -29,8 +28,8 @@
...
@@ -29,8 +28,8 @@
$
(
"#"
+
str1
).
addClass
(
'active'
);
$
(
"#"
+
str1
).
addClass
(
'active'
);
</script>
</script>
<script>
<!--<script>-->
$
(
document
).
ready
(
function
(){
<!--$(document).ready(function(){-->
$
(
".iframe"
).
colorbox
({
iframe
:
true
,
width
:
"70%"
,
height
:
"80%"
});
<!--$(".iframe").colorbox({iframe:true, width:"70%", height:"80%"});-->
});
<!--});-->
</script>
<!--</script>-->
\ No newline at end of file
\ No newline at end of file
templates/head_script.html
View file @
a42d053c
...
@@ -5,3 +5,5 @@
...
@@ -5,3 +5,5 @@
<!-- validator js -->
<!-- validator js -->
<script
src=
"/static/js/validator/jquery.validator.js"
></script>
<script
src=
"/static/js/validator/jquery.validator.js"
></script>
<script
src=
"/static/js/validator/zh_CN.js"
></script>
<script
src=
"/static/js/validator/zh_CN.js"
></script>
<script
src=
"/static/js/layer/layer.min.js"
></script>
templates/jasset/group_add.html
View file @
a42d053c
...
@@ -40,7 +40,7 @@
...
@@ -40,7 +40,7 @@
<div
class=
"col-sm-1"
>
<div
class=
"col-sm-1"
>
<div
class=
"btn-group"
style=
"margin-top: 50px;"
>
<div
class=
"btn-group"
style=
"margin-top: 50px;"
>
<button
type=
"button"
class=
"btn btn-white"
onclick=
"move('groups', 'groups_selected')"
><i
class=
"fa fa-chevron-right"
></i></button>
<button
type=
"button"
class=
"btn btn-white"
onclick=
"move('groups', 'groups_selected')"
><i
class=
"fa fa-chevron-right"
></i></button>
<button
type=
"button"
class=
"btn btn-white"
onclick=
"move('groups_selected', 'groups')"
><i
class=
"fa fa-chevron-left"
></i>
</button>
<button
type=
"button"
class=
"btn btn-white"
onclick=
"move
_left
('groups_selected', 'groups')"
><i
class=
"fa fa-chevron-left"
></i>
</button>
</div>
</div>
</div>
</div>
<div
class=
"col-sm-3"
>
<div
class=
"col-sm-3"
>
...
...
templates/jasset/host_list.html
View file @
a42d053c
...
@@ -73,7 +73,7 @@
...
@@ -73,7 +73,7 @@
<td
class=
"text-center"
>
{{ post.date_added|date:"Y-m-d H:i:s" }}
</td>
<td
class=
"text-center"
>
{{ post.date_added|date:"Y-m-d H:i:s" }}
</td>
<td
class=
"text-center"
name=
"j_comment"
>
{{ post.comment }}
</td>
<td
class=
"text-center"
name=
"j_comment"
>
{{ post.comment }}
</td>
<td
class=
"text-center"
data-editable=
'false'
>
<td
class=
"text-center"
data-editable=
'false'
>
<a
href
=
"/jasset/{{ post.ip }}/"
class=
"iframe btn btn-xs btn-primary"
>
详情
</a>
<a
value
=
"/jasset/{{ post.ip }}/"
class=
"iframe btn btn-xs btn-primary"
>
详情
</a>
<a
href=
"/jasset/host_edit/{{ post.id }}"
class=
"btn btn-xs btn-info"
>
编辑
</a>
<a
href=
"/jasset/host_edit/{{ post.id }}"
class=
"btn btn-xs btn-info"
>
编辑
</a>
<a
href=
"/jasset/host_del/{{ post.id }}"
class=
"btn btn-xs btn-danger"
>
删除
</a>
<a
href=
"/jasset/host_del/{{ post.id }}"
class=
"btn btn-xs btn-danger"
>
删除
</a>
</td>
</td>
...
@@ -117,10 +117,24 @@
...
@@ -117,10 +117,24 @@
<script>
<script>
$
(
document
).
ready
(
function
(){
$
(
document
).
ready
(
function
(){
$
(
".iframe"
).
colorbox
({
iframe
:
true
,
width
:
"70%"
,
height
:
"70%"
});
$
(
'#editable'
).
editableTableWidget
();
$
(
'#editable'
).
editableTableWidget
();
});
});
$
(
".iframe"
).
on
(
'click'
,
function
(){
var
url
=
$
(
this
).
attr
(
"value"
);
$
.
layer
({
type
:
2
,
title
:
'iframe父子操作'
,
maxmin
:
true
,
shift
:
'top'
,
border
:
[
2
,
0.3
,
'#1AB394'
],
shade
:
[
0.5
,
'#000000'
],
shadeClose
:
true
,
area
:
[
'800px'
,
'600px'
],
iframe
:
{
src
:
url
}
});
});
function
alter
(
form
)
{
function
alter
(
form
)
{
selectData
=
GetTableDataBox
();
selectData
=
GetTableDataBox
();
if
(
selectData
[
1
]
!=
0
)
{
if
(
selectData
[
1
]
!=
0
)
{
...
...
templates/link_css.html
View file @
a42d053c
...
@@ -5,3 +5,4 @@
...
@@ -5,3 +5,4 @@
<link
href=
"/static/css/style.css"
rel=
"stylesheet"
>
<link
href=
"/static/css/style.css"
rel=
"stylesheet"
>
<link
href=
"/static/css/colorbox.css"
rel=
"stylesheet"
>
<link
href=
"/static/css/colorbox.css"
rel=
"stylesheet"
>
<link
href=
"/static/css/vaildator/jquery.validator.css"
rel=
"stylesheet"
>
<link
href=
"/static/css/vaildator/jquery.validator.css"
rel=
"stylesheet"
>
<link
href=
"/static/css/magnific/magnific-popup.css"
rel=
"stylesheet"
>
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