Skip to content
GitLab
Menu
Projects
Groups
Snippets
Help
Help
Support
Community forum
Keyboard shortcuts
?
Submit feedback
Contribute to GitLab
Sign in / Register
Toggle navigation
Menu
Open sidebar
jinli gu
JSH ERP
Commits
195e5223
Commit
195e5223
authored
Feb 20, 2020
by
季圣华
Browse files
更新jsherp.js
parent
6b68f70f
Changes
1
Show whitespace changes
Inline
Side-by-side
erp_web/js/common/jsherp.js
View file @
195e5223
...
...
@@ -60,7 +60,6 @@ if (typeof jQuery === "undefined") {
})
}
$
(
"
#inputForm input[type=text]:not([readonly]):not([disabled]):not(.nofocus):eq(0)
"
).
focus
();
$
(
"
textarea.autoHeight
"
).
textareaAutoHieght
();
$
(
document
).
on
(
"
click
"
,
"
.addTabPage
"
,
function
(
e
)
{
var
$this
=
$
(
this
)
,
href
=
$this
.
data
(
"
href
"
)
||
$this
.
attr
(
"
href
"
)
...
...
@@ -1094,247 +1093,67 @@ if (typeof jQuery === "undefined") {
window
.
text
=
js
.
text
}
)(
window
.
jQuery
,
window
);
+
function
(
d
)
{
var
b
=
"
lte.boxwidget
"
;
var
g
=
{
animationSpeed
:
500
,
collapseTrigger
:
'
[data-widget="collapse"]
'
,
removeTrigger
:
'
[data-widget="remove"]
'
,
collapseIcon
:
"
fa-minus
"
,
expandIcon
:
"
fa-plus
"
,
removeIcon
:
"
fa-times
"
};
var
a
=
{
data
:
"
.box
"
,
collapsed
:
"
.collapsed-box
"
,
body
:
"
.box-body
"
,
footer
:
"
.box-footer
"
,
tools
:
"
.box-tools
"
};
var
i
=
{
collapsed
:
"
collapsed-box
"
};
var
j
=
{
collapsed
:
"
collapsed.boxwidget
"
,
expanded
:
"
expanded.boxwidget
"
,
removed
:
"
removed.boxwidget
"
};
var
f
=
function
(
l
,
k
)
{
this
.
element
=
l
;
this
.
options
=
k
;
this
.
_setUpListeners
()
};
f
.
prototype
.
toggle
=
function
()
{
var
k
=
!
d
(
this
.
element
).
is
(
a
.
collapsed
);
if
(
k
)
{
this
.
collapse
()
}
else
{
this
.
expand
()
}
}
;
f
.
prototype
.
expand
=
function
()
{
var
m
=
d
.
Event
(
j
.
expanded
);
var
l
=
this
.
options
.
collapseIcon
;
var
k
=
this
.
options
.
expandIcon
;
d
(
this
.
element
).
removeClass
(
i
.
collapsed
);
d
(
this
.
element
).
find
(
a
.
tools
).
find
(
"
.
"
+
k
).
removeClass
(
k
).
addClass
(
l
);
d
(
this
.
element
).
find
(
a
.
body
+
"
,
"
+
a
.
footer
).
slideDown
(
this
.
options
.
animationSpeed
,
function
()
{
d
(
this
.
element
).
trigger
(
m
)
}
.
bind
(
this
))
}
;
f
.
prototype
.
collapse
=
function
()
{
var
l
=
d
.
Event
(
j
.
collapsed
);
var
m
=
this
.
options
.
collapseIcon
;
var
k
=
this
.
options
.
expandIcon
;
d
(
this
.
element
).
find
(
a
.
tools
).
find
(
"
.
"
+
m
).
removeClass
(
m
).
addClass
(
k
);
d
(
this
.
element
).
find
(
a
.
body
+
"
,
"
+
a
.
footer
).
slideUp
(
this
.
options
.
animationSpeed
,
function
()
{
d
(
this
.
element
).
addClass
(
i
.
collapsed
);
d
(
this
.
element
).
trigger
(
l
)
}
.
bind
(
this
))
}
;
f
.
prototype
.
remove
=
function
()
{
var
k
=
d
.
Event
(
j
.
removed
);
d
(
this
.
element
).
slideUp
(
this
.
options
.
animationSpeed
,
function
()
{
d
(
this
.
element
).
trigger
(
k
);
d
(
this
.
element
).
remove
()
}
.
bind
(
this
))
}
;
f
.
prototype
.
_setUpListeners
=
function
()
{
var
k
=
this
;
d
(
this
.
element
).
on
(
"
click
"
,
this
.
options
.
collapseTrigger
,
function
(
l
)
{
if
(
l
)
{
l
.
preventDefault
()
}
k
.
toggle
()
});
d
(
this
.
element
).
on
(
"
click
"
,
this
.
options
.
removeTrigger
,
function
(
l
)
{
if
(
l
)
{
l
.
preventDefault
()
}
k
.
remove
()
});
d
(
this
.
options
.
collapseTrigger
).
css
({
cursor
:
"
pointer
"
});
d
(
this
.
options
.
removeTrigger
).
css
({
cursor
:
"
pointer
"
})
}
;
function
h
(
k
)
{
return
this
.
each
(
function
()
{
var
n
=
d
(
this
);
var
m
=
n
.
data
(
b
);
if
(
!
m
)
{
var
l
=
d
.
extend
({},
g
,
n
.
data
(),
typeof
k
==
"
object
"
&&
k
);
n
.
data
(
b
,
(
m
=
new
f
(
n
,
l
)))
}
if
(
typeof
k
==
"
string
"
)
{
if
(
typeof
m
[
k
]
==
"
undefined
"
)
{
throw
new
Error
(
"
No method named
"
+
k
)
}
m
[
k
]()
}
})
}
var
c
=
d
.
fn
.
boxWidget
;
d
.
fn
.
boxWidget
=
h
;
d
.
fn
.
boxWidget
.
Constructor
=
f
;
d
.
fn
.
boxWidget
.
noConflict
=
function
()
{
d
.
fn
.
boxWidget
=
c
;
return
this
}
;
d
(
function
()
{
d
(
a
.
data
).
each
(
function
()
{
h
.
call
(
d
(
this
))
});
d
(
"
.box-child
"
).
boxWidget
({
collapseTrigger
:
'
[data-widget="collapse-child"]
'
,
removeTrigger
:
'
[data-widget="remove-child"]
'
})
})
}(
jQuery
);
!
(
function
(
a
)
{
a
.
fn
.
extend
({
placeholder
:
function
(
b
)
{
b
=
a
.
extend
({
placeholderColor
:
"
#ACA899
"
,
isUseSpan
:
true
,
onInput
:
true
,
noFixClass
:
"
placeholder-no-fix
"
},
b
);
a
(
this
).
each
(
function
()
{
var
h
=
this
;
var
c
=
"
placeholder
"
in
document
.
createElement
(
"
input
"
);
if
(
!
c
)
{
if
(
a
(
h
).
hasClass
(
b
.
noFixClass
))
{
return
}
var
i
=
a
(
h
).
attr
(
"
placeholder
"
);
var
d
=
a
(
h
).
css
(
"
color
"
);
if
(
b
.
isUseSpan
==
false
)
{
a
(
h
).
focus
(
function
()
{
var
n
=
new
RegExp
(
"
^
"
+
i
+
"
$|^$
"
);
n
.
test
(
a
(
h
).
val
())
&&
a
(
h
).
val
(
""
).
css
(
"
color
"
,
d
)
}).
blur
(
function
()
{
if
(
a
(
h
).
val
()
==
i
)
{
a
(
h
).
css
(
"
color
"
,
d
)
}
else
{
if
(
a
(
h
).
val
().
length
==
0
)
{
a
(
h
).
val
(
i
).
css
(
"
color
"
,
b
.
placeholderColor
)
}
!
function
(
a
,
c
)
{
var
b
=
a
();
a
.
fn
.
dropdownHover
=
function
(
d
)
{
return
"
ontouchstart
"
in
document
?
this
:
(
b
=
b
.
add
(
this
.
parent
()),
this
.
each
(
function
()
{
function
f
()
{
m
.
parents
(
"
.navbar
"
).
find
(
"
.navbar-toggle
"
).
is
(
"
:visible
"
)
||
(
c
.
clearTimeout
(
o
),
c
.
clearTimeout
(
j
),
j
=
c
.
setTimeout
(
function
()
{
b
.
find
(
"
:focus
"
).
blur
(),
p
.
instantlyCloseOthers
===
!
0
&&
b
.
removeClass
(
"
open
"
),
c
.
clearTimeout
(
j
),
m
.
attr
(
"
aria-expanded
"
,
"
true
"
),
t
.
addClass
(
"
open
"
),
m
.
trigger
(
k
)
},
p
.
hoverDelay
))
}
}).
trigger
(
"
blur
"
)
}
else
{
var
f
=
""
;
if
(
a
(
h
).
parent
().
hasClass
(
"
input-group
"
))
{
f
=
"
left:
"
+
a
(
h
).
position
().
left
+
"
px;
"
}
var
k
=
a
(
h
).
width
()
==
0
?
150
:
a
(
h
).
width
();
var
l
=
a
(
h
).
hasClass
(
"
input-sm
"
)
?
a
(
h
).
height
()
:
a
(
h
).
outerHeight
();
var
m
=
a
(
'
<span class="wrap-placeholder" style="position:absolute;display:inline-block;overflow:hidden;z-index:1000;color:
'
+
b
.
placeholderColor
+
"
; width:
"
+
k
+
"
px; height:
"
+
l
+
"
px;
"
+
f
+
'
">
'
+
i
+
"
</span>
"
);
m
.
css
({
"
margin-left
"
:
a
(
h
).
css
(
"
margin-left
"
),
"
margin-top
"
:
a
(
h
).
css
(
"
margin-top
"
),
"
font-size
"
:
a
(
h
).
css
(
"
font-size
"
),
"
font-family
"
:
a
(
h
).
css
(
"
font-family
"
),
"
font-weight
"
:
a
(
h
).
css
(
"
font-weight
"
),
"
line-height
"
:
h
.
nodeName
.
toLowerCase
()
==
"
textarea
"
?
a
(
h
).
css
(
"
line-weight
"
)
:
l
+
"
px
"
,
"
padding-left
"
:
parseInt
(
a
(
h
).
css
(
"
padding-left
"
))
+
2
+
"
px
"
,
"
padding-top
"
:
h
.
nodeName
.
toLowerCase
()
==
"
textarea
"
?
parseInt
(
a
(
h
).
css
(
"
padding-top
"
))
+
2
:
0
});
var
g
=
a
(
h
).
prev
();
if
(
g
.
hasClass
(
"
wrap-placeholder
"
))
{
g
.
remove
()
}
a
(
h
).
before
(
m
.
click
(
function
()
{
a
(
h
).
trigger
(
"
focus
"
)
}));
a
(
h
).
val
().
length
!=
0
&&
m
.
hide
();
if
(
b
.
onInput
)
{
var
j
=
typeof
(
h
.
oninput
)
==
"
object
"
?
"
input
"
:
"
propertychange
"
;
a
(
h
).
bind
(
j
,
function
()
{
m
[
0
].
style
.
display
=
a
(
h
).
val
().
length
!=
0
?
"
none
"
:
"
inline-block
"
})
}
else
{
a
(
h
).
focus
(
function
()
{
m
.
hide
()
}).
blur
(
function
()
{
/^
$
/
.
test
(
a
(
h
).
val
())
&&
m
.
show
()
var
o
,
j
,
m
=
a
(
this
),
t
=
m
.
parent
(),
q
=
{
delay
:
500
,
hoverDelay
:
0
,
instantlyCloseOthers
:
!
0
},
g
=
{
delay
:
a
(
this
).
data
(
"
delay
"
),
hoverDelay
:
a
(
this
).
data
(
"
hover-delay
"
),
instantlyCloseOthers
:
a
(
this
).
data
(
"
close-others
"
)
},
k
=
"
show.bs.dropdown
"
,
n
=
"
hide.bs.dropdown
"
,
p
=
a
.
extend
(
!
0
,
{},
q
,
d
,
g
);
t
.
hover
(
function
(
h
)
{
return
t
.
hasClass
(
"
open
"
)
||
m
.
is
(
h
.
target
)
?
void
f
(
h
)
:
!
0
},
function
()
{
c
.
clearTimeout
(
j
),
o
=
c
.
setTimeout
(
function
()
{
m
.
attr
(
"
aria-expanded
"
,
"
false
"
),
t
.
removeClass
(
"
open
"
),
m
.
trigger
(
n
)
},
p
.
delay
)
}),
m
.
hover
(
function
(
h
)
{
return
t
.
hasClass
(
"
open
"
)
||
t
.
is
(
h
.
target
)
?
void
f
(
h
)
:
!
0
}),
t
.
find
(
"
.dropdown-submenu
"
).
each
(
function
()
{
var
i
,
h
=
a
(
this
);
h
.
hover
(
function
()
{
c
.
clearTimeout
(
i
),
h
.
children
(
"
.dropdown-menu
"
).
show
(),
h
.
siblings
().
children
(
"
.dropdown-menu
"
).
hide
()
},
function
()
{
var
l
=
h
.
children
(
"
.dropdown-menu
"
);
i
=
c
.
setTimeout
(
function
()
{
l
.
hide
()
},
p
.
delay
)
})
}
}
}
});
return
this
}
})
}
)(
jQuery
);
(
function
(
a
)
{
a
.
fn
.
textareaAutoHieght
=
function
(
b
)
{
var
d
=
{
maxHeight
:
null
,
minHeight
:
a
(
this
).
attr
(
"
rows
"
)
*
18
};
var
c
=
a
.
extend
({},
d
,
b
);
return
a
(
this
).
each
(
function
()
{
a
(
this
).
bind
(
"
paste cut keydown keyup focus blur
"
,
function
()
{
var
f
,
g
=
this
.
style
;
this
.
style
.
height
=
c
.
minHeight
+
"
px
"
;
if
(
this
.
scrollHeight
>
c
.
minHeight
)
{
if
(
c
.
maxHeight
&&
this
.
scrollHeight
>
c
.
maxHeight
)
{
f
=
c
.
maxHeight
;
g
.
overflowY
=
"
scroll
"
}
else
{
f
=
this
.
scrollHeight
;
g
.
overflowY
=
"
hidden
"
}
g
.
height
=
f
+
"
px
"
}))
}
}).
trigger
(
"
blur
"
)
,
a
(
document
).
ready
(
function
()
{
a
(
'
[data-hover="dropdown"]
'
).
dropdownHover
()
})
}
}
)(
jQuery
);
(
function
(
a
)
{
a
.
fn
.
iframeWindow
=
function
()
{
var
b
=
a
(
this
).
find
(
"
iframe
"
);
if
(
b
.
length
>
0
)
{
return
b
[
0
].
contentWindow
}
return
null
}
}
)(
jQuery
);
}(
jQuery
,
window
);
(
function
(
W
)
{
function
B
(
k
,
h
,
n
)
{
var
p
=
k
[
0
]
...
...
@@ -1611,1367 +1430,5 @@ if (typeof jQuery === "undefined") {
})
})
}
}
)(
window
.
jQuery
||
window
.
Zepto
);
(
function
(
f
,
d
,
a
)
{
var
b
,
g
,
c
;
c
=
"
resizeEnd
"
;
g
=
{
delay
:
150
};
b
=
function
(
i
,
h
,
j
)
{
if
(
typeof
h
===
"
function
"
)
{
j
=
h
;
h
=
{}
}
j
=
j
||
null
;
this
.
element
=
i
;
this
.
settings
=
f
.
extend
({},
g
,
h
);
this
.
_defaults
=
g
;
this
.
_name
=
c
;
this
.
_timeout
=
false
;
this
.
_callback
=
j
;
return
this
.
init
()
}
;
b
.
prototype
=
{
init
:
function
()
{
var
h
,
i
;
i
=
this
;
h
=
f
(
this
.
element
);
return
h
.
on
(
"
resize
"
,
function
()
{
return
i
.
initResize
()
})
},
getUTCDate
:
function
(
i
)
{
var
h
;
i
=
i
||
new
Date
();
h
=
Date
.
UTC
(
i
.
getUTCFullYear
(),
i
.
getUTCMonth
(),
i
.
getUTCDate
(),
i
.
getUTCHours
(),
i
.
getUTCMinutes
(),
i
.
getUTCSeconds
(),
i
.
getUTCMilliseconds
());
return
h
},
initResize
:
function
()
{
var
h
;
h
=
this
;
h
.
controlTime
=
h
.
getUTCDate
();
if
(
h
.
_timeout
===
false
)
{
h
.
_timeout
=
true
;
return
setTimeout
(
function
()
{
return
h
.
runCallback
(
h
)
},
h
.
settings
.
delay
)
}
},
runCallback
:
function
(
i
)
{
var
h
;
h
=
i
.
getUTCDate
();
if
(
h
-
i
.
controlTime
<
i
.
settings
.
delay
)
{
return
setTimeout
(
function
()
{
return
i
.
runCallback
(
i
)
},
i
.
settings
.
delay
)
}
else
{
i
.
_timeout
=
false
;
return
i
.
_callback
()
}
}
};
return
f
.
fn
[
c
]
=
function
(
h
,
i
)
{
return
this
.
each
(
function
()
{
if
(
!
f
.
data
(
this
,
"
plugin_
"
+
c
))
{
return
f
.
data
(
this
,
"
plugin_
"
+
c
,
new
b
(
this
,
h
,
i
))
}
})
}
}
)(
jQuery
,
window
,
document
);
!
function
(
a
)
{
"
function
"
==
typeof
define
&&
define
.
amd
?
define
([
"
jquery
"
],
a
)
:
a
(
"
undefined
"
!=
typeof
jQuery
?
jQuery
:
window
.
Zepto
)
}(
function
(
e
)
{
function
t
(
t
)
{
var
r
=
t
.
data
;
t
.
isDefaultPrevented
()
||
(
t
.
preventDefault
(),
e
(
t
.
target
).
ajaxSubmit
(
r
))
}
function
r
(
t
)
{
var
r
=
t
.
target
,
a
=
e
(
r
);
if
(
!
a
.
is
(
"
[type=submit],[type=image]
"
))
{
var
n
=
a
.
closest
(
"
[type=submit]
"
);
if
(
0
===
n
.
length
)
{
return
}
r
=
n
[
0
]
}
var
i
=
this
;
if
(
i
.
clk
=
r
,
"
image
"
==
r
.
type
)
{
if
(
void
0
!==
t
.
offsetX
)
{
i
.
clk_x
=
t
.
offsetX
,
i
.
clk_y
=
t
.
offsetY
}
else
{
if
(
"
function
"
==
typeof
e
.
fn
.
offset
)
{
var
o
=
a
.
offset
();
i
.
clk_x
=
t
.
pageX
-
o
.
left
,
i
.
clk_y
=
t
.
pageY
-
o
.
top
}
else
{
i
.
clk_x
=
t
.
pageX
-
r
.
offsetLeft
,
i
.
clk_y
=
t
.
pageY
-
r
.
offsetTop
}
}
}
setTimeout
(
function
()
{
i
.
clk
=
i
.
clk_x
=
i
.
clk_y
=
null
},
100
)
}
function
a
()
{
if
(
e
.
fn
.
ajaxSubmit
.
debug
)
{
var
t
=
"
[jquery.form]
"
+
Array
.
prototype
.
join
.
call
(
arguments
,
""
);
window
.
console
&&
window
.
console
.
log
?
window
.
console
.
log
(
t
)
:
window
.
opera
&&
window
.
opera
.
postError
&&
window
.
opera
.
postError
(
t
)
}
}
var
n
=
{};
n
.
fileapi
=
void
0
!==
e
(
"
<input type='file'/>
"
).
get
(
0
).
files
,
n
.
formdata
=
void
0
!==
window
.
FormData
;
var
i
=
!!
e
.
fn
.
prop
;
e
.
fn
.
attr2
=
function
()
{
if
(
!
i
)
{
return
this
.
attr
.
apply
(
this
,
arguments
)
}
var
e
=
this
.
prop
.
apply
(
this
,
arguments
);
return
e
&&
e
.
jquery
||
"
string
"
==
typeof
e
?
e
:
this
.
attr
.
apply
(
this
,
arguments
)
}
,
e
.
fn
.
ajaxSubmit
=
function
(
t
)
{
function
r
(
r
)
{
var
a
,
n
,
i
=
e
.
param
(
r
,
t
.
traditional
).
split
(
"
&
"
),
o
=
i
.
length
,
s
=
[];
for
(
a
=
0
;
o
>
a
;
a
++
)
{
i
[
a
]
=
i
[
a
].
replace
(
/
\+
/g
,
"
"
),
n
=
i
[
a
].
split
(
"
=
"
),
s
.
push
([
decodeURIComponent
(
n
[
0
]),
decodeURIComponent
(
n
[
1
])])
}
return
s
}
function
o
(
a
)
{
for
(
var
n
=
new
FormData
,
i
=
0
;
i
<
a
.
length
;
i
++
)
{
n
.
append
(
a
[
i
].
name
,
a
[
i
].
value
)
}
if
(
t
.
extraData
)
{
var
o
=
r
(
t
.
extraData
);
for
(
i
=
0
;
i
<
o
.
length
;
i
++
)
{
o
[
i
]
&&
n
.
append
(
o
[
i
][
0
],
o
[
i
][
1
])
}
}
t
.
data
=
null
;
var
s
=
e
.
extend
(
!
0
,
{},
e
.
ajaxSettings
,
t
,
{
contentType
:
!
1
,
processData
:
!
1
,
cache
:
!
1
,
type
:
u
||
"
POST
"
});
t
.
uploadProgress
&&
(
s
.
xhr
=
function
()
{
var
r
=
e
.
ajaxSettings
.
xhr
();
return
r
.
upload
&&
r
.
upload
.
addEventListener
(
"
progress
"
,
function
(
e
)
{
var
r
=
0
,
a
=
e
.
loaded
||
e
.
position
,
n
=
e
.
total
;
e
.
lengthComputable
&&
(
r
=
Math
.
ceil
(
a
/
n
*
100
)),
t
.
uploadProgress
(
e
,
a
,
n
,
r
)
},
!
1
),
r
}
),
s
.
data
=
null
;
var
c
=
s
.
beforeSend
;
return
s
.
beforeSend
=
function
(
e
,
r
)
{
r
.
data
=
t
.
formData
?
t
.
formData
:
n
,
c
&&
c
.
call
(
this
,
e
,
r
)
}
,
e
.
ajax
(
s
)
}
function
s
(
r
)
{
function
n
(
e
)
{
var
t
=
null
;
try
{
e
.
contentWindow
&&
(
t
=
e
.
contentWindow
.
document
)
}
catch
(
r
)
{
a
(
"
cannot get iframe.contentWindow document:
"
+
r
)
}
if
(
t
)
{
return
t
}
try
{
t
=
e
.
contentDocument
?
e
.
contentDocument
:
e
.
document
}
catch
(
r
)
{
a
(
"
cannot get iframe.contentDocument:
"
+
r
),
t
=
e
.
document
}
return
t
}
function
o
()
{
function
t
()
{
try
{
var
e
=
n
(
g
).
readyState
;
a
(
"
state =
"
+
e
),
e
&&
"
uninitialized
"
==
e
.
toLowerCase
()
&&
setTimeout
(
t
,
50
)
}
catch
(
r
)
{
a
(
"
Server abort:
"
,
r
,
"
(
"
,
r
.
name
,
"
)
"
),
s
(
k
),
j
&&
clearTimeout
(
j
),
j
=
void
0
}
}
var
r
=
f
.
attr2
(
"
target
"
)
,
i
=
f
.
attr2
(
"
action
"
)
,
o
=
"
multipart/form-data
"
,
c
=
f
.
attr
(
"
enctype
"
)
||
f
.
attr
(
"
encoding
"
)
||
o
;
w
.
setAttribute
(
"
target
"
,
p
),
(
!
u
||
/post/i
.
test
(
u
))
&&
w
.
setAttribute
(
"
method
"
,
"
POST
"
),
i
!=
m
.
url
&&
w
.
setAttribute
(
"
action
"
,
m
.
url
),
m
.
skipEncodingOverride
||
u
&&
!
/post/i
.
test
(
u
)
||
f
.
attr
({
encoding
:
"
multipart/form-data
"
,
enctype
:
"
multipart/form-data
"
}),
m
.
timeout
&&
(
j
=
setTimeout
(
function
()
{
T
=
!
0
,
s
(
D
)
},
m
.
timeout
));
var
l
=
[];
try
{
if
(
m
.
extraData
)
{
for
(
var
d
in
m
.
extraData
)
{
m
.
extraData
.
hasOwnProperty
(
d
)
&&
l
.
push
(
e
.
isPlainObject
(
m
.
extraData
[
d
])
&&
m
.
extraData
[
d
].
hasOwnProperty
(
"
name
"
)
&&
m
.
extraData
[
d
].
hasOwnProperty
(
"
value
"
)
?
e
(
'
<input type="hidden" name="
'
+
m
.
extraData
[
d
].
name
+
'
">
'
).
val
(
m
.
extraData
[
d
].
value
).
appendTo
(
w
)[
0
]
:
e
(
'
<input type="hidden" name="
'
+
d
+
'
">
'
).
val
(
m
.
extraData
[
d
]).
appendTo
(
w
)[
0
])
}
}
m
.
iframeTarget
||
v
.
appendTo
(
"
body
"
),
g
.
attachEvent
?
g
.
attachEvent
(
"
onload
"
,
s
)
:
g
.
addEventListener
(
"
load
"
,
s
,
!
1
),
setTimeout
(
t
,
15
);
try
{
w
.
submit
()
}
catch
(
h
)
{
var
x
=
document
.
createElement
(
"
form
"
).
submit
;
x
.
apply
(
w
)
}
}
finally
{
w
.
setAttribute
(
"
action
"
,
i
),
w
.
setAttribute
(
"
enctype
"
,
c
),
r
?
w
.
setAttribute
(
"
target
"
,
r
)
:
f
.
removeAttr
(
"
target
"
),
e
(
l
).
remove
()
}
}
function
s
(
t
)
{
if
(
!
x
.
aborted
&&
!
F
)
{
if
(
M
=
n
(
g
),
M
||
(
a
(
"
cannot access response document
"
),
t
=
k
),
t
===
D
&&
x
)
{
return
x
.
abort
(
"
timeout
"
),
void
S
.
reject
(
x
,
"
timeout
"
)
}
if
(
t
==
k
&&
x
)
{
return
x
.
abort
(
"
server abort
"
),
void
S
.
reject
(
x
,
"
error
"
,
"
server abort
"
)
}
if
(
M
&&
M
.
location
.
href
!=
m
.
iframeSrc
||
T
)
{
g
.
detachEvent
?
g
.
detachEvent
(
"
onload
"
,
s
)
:
g
.
removeEventListener
(
"
load
"
,
s
,
!
1
);
var
r
,
i
=
"
success
"
;
try
{
if
(
T
)
{
throw
"
timeout
"
}
var
o
=
"
xml
"
==
m
.
dataType
||
M
.
XMLDocument
||
e
.
isXMLDoc
(
M
);
if
(
a
(
"
isXml=
"
+
o
),
!
o
&&
window
.
opera
&&
(
null
===
M
.
body
||
!
M
.
body
.
innerHTML
)
&&
--
O
)
{
return
a
(
"
requeing onLoad callback, DOM not available
"
),
void
setTimeout
(
s
,
250
)
}
var
u
=
M
.
body
?
M
.
body
:
M
.
documentElement
;
x
.
responseText
=
u
?
u
.
innerHTML
:
null
,
x
.
responseXML
=
M
.
XMLDocument
?
M
.
XMLDocument
:
M
,
o
&&
(
m
.
dataType
=
"
xml
"
),
x
.
getResponseHeader
=
function
(
e
)
{
var
t
=
{
"
content-type
"
:
m
.
dataType
};
return
t
[
e
.
toLowerCase
()]
}
,
u
&&
(
x
.
status
=
Number
(
u
.
getAttribute
(
"
status
"
))
||
x
.
status
,
x
.
statusText
=
u
.
getAttribute
(
"
statusText
"
)
||
x
.
statusText
);
var
c
=
(
m
.
dataType
||
""
).
toLowerCase
()
,
l
=
/
(
json|script|text
)
/
.
test
(
c
);
if
(
l
||
m
.
textarea
)
{
var
f
=
M
.
getElementsByTagName
(
"
textarea
"
)[
0
];
if
(
f
)
{
x
.
responseText
=
f
.
value
,
x
.
status
=
Number
(
f
.
getAttribute
(
"
status
"
))
||
x
.
status
,
x
.
statusText
=
f
.
getAttribute
(
"
statusText
"
)
||
x
.
statusText
}
else
{
if
(
l
)
{
var
p
=
M
.
getElementsByTagName
(
"
pre
"
)[
0
]
,
h
=
M
.
getElementsByTagName
(
"
body
"
)[
0
];
p
?
x
.
responseText
=
p
.
textContent
?
p
.
textContent
:
p
.
innerText
:
h
&&
(
x
.
responseText
=
h
.
textContent
?
h
.
textContent
:
h
.
innerText
)
}
}
}
else
{
"
xml
"
==
c
&&
!
x
.
responseXML
&&
x
.
responseText
&&
(
x
.
responseXML
=
X
(
x
.
responseText
))
}
try
{
E
=
_
(
x
,
c
,
m
)
}
catch
(
y
)
{
i
=
"
parsererror
"
,
x
.
error
=
r
=
y
||
i
}
}
catch
(
y
)
{
a
(
"
error caught:
"
,
y
),
i
=
"
error
"
,
x
.
error
=
r
=
y
||
i
}
x
.
aborted
&&
(
a
(
"
upload aborted
"
),
i
=
null
),
x
.
status
&&
(
i
=
x
.
status
>=
200
&&
x
.
status
<
300
||
304
===
x
.
status
?
"
success
"
:
"
error
"
),
"
success
"
===
i
?
(
m
.
success
&&
m
.
success
.
call
(
m
.
context
,
E
,
"
success
"
,
x
),
S
.
resolve
(
x
.
responseText
,
"
success
"
,
x
),
d
&&
e
.
event
.
trigger
(
"
ajaxSuccess
"
,
[
x
,
m
]))
:
i
&&
(
void
0
===
r
&&
(
r
=
x
.
statusText
),
m
.
error
&&
m
.
error
.
call
(
m
.
context
,
x
,
i
,
r
),
S
.
reject
(
x
,
"
error
"
,
r
),
d
&&
e
.
event
.
trigger
(
"
ajaxError
"
,
[
x
,
m
,
r
])),
d
&&
e
.
event
.
trigger
(
"
ajaxComplete
"
,
[
x
,
m
]),
d
&&
!--
e
.
active
&&
e
.
event
.
trigger
(
"
ajaxStop
"
),
m
.
complete
&&
m
.
complete
.
call
(
m
.
context
,
x
,
i
),
F
=
!
0
,
m
.
timeout
&&
clearTimeout
(
j
),
setTimeout
(
function
()
{
m
.
iframeTarget
?
v
.
attr
(
"
src
"
,
m
.
iframeSrc
)
:
v
.
remove
(),
x
.
responseXML
=
null
},
100
)
}
}
}
var
c
,
l
,
m
,
d
,
p
,
v
,
g
,
x
,
y
,
b
,
T
,
j
,
w
=
f
[
0
],
S
=
e
.
Deferred
();
if
(
S
.
abort
=
function
(
e
)
{
x
.
abort
(
e
)
}
,
r
)
{
for
(
l
=
0
;
l
<
h
.
length
;
l
++
)
{
c
=
e
(
h
[
l
]),
i
?
c
.
prop
(
"
disabled
"
,
!
1
)
:
c
.
removeAttr
(
"
disabled
"
)
}
}
if
(
m
=
e
.
extend
(
!
0
,
{},
e
.
ajaxSettings
,
t
),
m
.
context
=
m
.
context
||
m
,
p
=
"
jqFormIO
"
+
(
new
Date
).
getTime
(),
m
.
iframeTarget
?
(
v
=
e
(
m
.
iframeTarget
),
b
=
v
.
attr2
(
"
name
"
),
b
?
p
=
b
:
v
.
attr2
(
"
name
"
,
p
))
:
(
v
=
e
(
'
<iframe name="
'
+
p
+
'
" src="
'
+
m
.
iframeSrc
+
'
" />
'
),
v
.
css
({
position
:
"
absolute
"
,
top
:
"
-1000px
"
,
left
:
"
-1000px
"
})),
g
=
v
[
0
],
x
=
{
aborted
:
0
,
responseText
:
null
,
responseXML
:
null
,
status
:
0
,
statusText
:
"
n/a
"
,
getAllResponseHeaders
:
function
()
{},
getResponseHeader
:
function
()
{},
setRequestHeader
:
function
()
{},
abort
:
function
(
t
)
{
var
r
=
"
timeout
"
===
t
?
"
timeout
"
:
"
aborted
"
;
a
(
"
aborting upload...
"
+
r
),
this
.
aborted
=
1
;
try
{
g
.
contentWindow
.
document
.
execCommand
&&
g
.
contentWindow
.
document
.
execCommand
(
"
Stop
"
)
}
catch
(
n
)
{}
v
.
attr
(
"
src
"
,
m
.
iframeSrc
),
x
.
error
=
r
,
m
.
error
&&
m
.
error
.
call
(
m
.
context
,
x
,
r
,
t
),
d
&&
e
.
event
.
trigger
(
"
ajaxError
"
,
[
x
,
m
,
r
]),
m
.
complete
&&
m
.
complete
.
call
(
m
.
context
,
x
,
r
)
}
},
d
=
m
.
global
,
d
&&
0
===
e
.
active
++
&&
e
.
event
.
trigger
(
"
ajaxStart
"
),
d
&&
e
.
event
.
trigger
(
"
ajaxSend
"
,
[
x
,
m
]),
m
.
beforeSend
&&
m
.
beforeSend
.
call
(
m
.
context
,
x
,
m
)
===
!
1
)
{
return
m
.
global
&&
e
.
active
--
,
S
.
reject
(),
S
}
if
(
x
.
aborted
)
{
return
S
.
reject
(),
S
}
y
=
w
.
clk
,
y
&&
(
b
=
y
.
name
,
b
&&
!
y
.
disabled
&&
(
m
.
extraData
=
m
.
extraData
||
{},
m
.
extraData
[
b
]
=
y
.
value
,
"
image
"
==
y
.
type
&&
(
m
.
extraData
[
b
+
"
.x
"
]
=
w
.
clk_x
,
m
.
extraData
[
b
+
"
.y
"
]
=
w
.
clk_y
)));
var
D
=
1
,
k
=
2
,
A
=
e
(
"
meta[name=csrf-token]
"
).
attr
(
"
content
"
)
,
L
=
e
(
"
meta[name=csrf-param]
"
).
attr
(
"
content
"
);
L
&&
A
&&
(
m
.
extraData
=
m
.
extraData
||
{},
m
.
extraData
[
L
]
=
A
),
m
.
forceSync
?
o
()
:
setTimeout
(
o
,
10
);
var
E
,
M
,
F
,
O
=
50
,
X
=
e
.
parseXML
||
function
(
e
,
t
)
{
return
window
.
ActiveXObject
?
(
t
=
new
ActiveXObject
(
"
Microsoft.XMLDOM
"
),
t
.
async
=
"
false
"
,
t
.
loadXML
(
e
))
:
t
=
(
new
DOMParser
).
parseFromString
(
e
,
"
text/xml
"
),
t
&&
t
.
documentElement
&&
"
parsererror
"
!=
t
.
documentElement
.
nodeName
?
t
:
null
}
,
C
=
e
.
parseJSON
||
function
(
e
)
{
return
window
.
eval
(
"
(
"
+
e
+
"
)
"
)
}
,
_
=
function
(
t
,
r
,
a
)
{
var
n
=
t
.
getResponseHeader
(
"
content-type
"
)
||
""
,
i
=
"
xml
"
===
r
||
!
r
&&
n
.
indexOf
(
"
xml
"
)
>=
0
,
o
=
i
?
t
.
responseXML
:
t
.
responseText
;
return
i
&&
"
parsererror
"
===
o
.
documentElement
.
nodeName
&&
e
.
error
&&
e
.
error
(
"
parsererror
"
),
a
&&
a
.
dataFilter
&&
(
o
=
a
.
dataFilter
(
o
,
r
)),
"
string
"
==
typeof
o
&&
(
"
json
"
===
r
||
!
r
&&
n
.
indexOf
(
"
json
"
)
>=
0
?
o
=
C
(
o
)
:
(
"
script
"
===
r
||
!
r
&&
n
.
indexOf
(
"
javascript
"
)
>=
0
)
&&
e
.
globalEval
(
o
)),
o
};
return
S
}
if
(
!
this
.
length
)
{
return
a
(
"
ajaxSubmit: skipping submit process - no element selected
"
),
this
}
var
u
,
c
,
l
,
f
=
this
;
"
function
"
==
typeof
t
?
t
=
{
success
:
t
}
:
void
0
===
t
&&
(
t
=
{}),
u
=
t
.
type
||
this
.
attr2
(
"
method
"
),
c
=
t
.
url
||
this
.
attr2
(
"
action
"
),
l
=
"
string
"
==
typeof
c
?
e
.
trim
(
c
)
:
""
,
l
=
l
||
window
.
location
.
href
||
""
,
l
&&
(
l
=
(
l
.
match
(
/^
([^
#
]
+
)
/
)
||
[])[
1
]),
t
=
e
.
extend
(
!
0
,
{
url
:
l
,
success
:
e
.
ajaxSettings
.
success
,
type
:
u
||
e
.
ajaxSettings
.
type
,
iframeSrc
:
/^https/i
.
test
(
window
.
location
.
href
||
""
)
?
"
javascript:false
"
:
"
about:blank
"
},
t
);
var
m
=
{};
if
(
this
.
trigger
(
"
form-pre-serialize
"
,
[
this
,
t
,
m
]),
m
.
veto
)
{
return
a
(
"
ajaxSubmit: submit vetoed via form-pre-serialize trigger
"
),
this
}
if
(
t
.
beforeSerialize
&&
t
.
beforeSerialize
(
this
,
t
)
===
!
1
)
{
return
a
(
"
ajaxSubmit: submit aborted via beforeSerialize callback
"
),
this
}
var
d
=
t
.
traditional
;
void
0
===
d
&&
(
d
=
e
.
ajaxSettings
.
traditional
);
var
p
,
h
=
[],
v
=
this
.
formToArray
(
t
.
semantic
,
h
);
if
(
t
.
data
&&
(
t
.
extraData
=
t
.
data
,
p
=
e
.
param
(
t
.
data
,
d
)),
t
.
beforeSubmit
&&
t
.
beforeSubmit
(
v
,
this
,
t
)
===
!
1
)
{
return
a
(
"
ajaxSubmit: submit aborted via beforeSubmit callback
"
),
this
}
if
(
this
.
trigger
(
"
form-submit-validate
"
,
[
v
,
this
,
t
,
m
]),
m
.
veto
)
{
return
a
(
"
ajaxSubmit: submit vetoed via form-submit-validate trigger
"
),
this
}
var
g
=
e
.
param
(
v
,
d
);
p
&&
(
g
=
g
?
g
+
"
&
"
+
p
:
p
),
"
GET
"
==
t
.
type
.
toUpperCase
()
?
(
t
.
url
+=
(
t
.
url
.
indexOf
(
"
?
"
)
>=
0
?
"
&
"
:
"
?
"
)
+
g
,
t
.
data
=
null
)
:
t
.
data
=
g
;
var
x
=
[];
if
(
t
.
resetForm
&&
x
.
push
(
function
()
{
f
.
resetForm
()
}),
t
.
clearForm
&&
x
.
push
(
function
()
{
f
.
clearForm
(
t
.
includeHidden
)
}),
!
t
.
dataType
&&
t
.
target
)
{
var
y
=
t
.
success
||
function
()
{}
;
x
.
push
(
function
(
r
)
{
var
a
=
t
.
replaceTarget
?
"
replaceWith
"
:
"
html
"
;
e
(
t
.
target
)[
a
](
r
).
each
(
y
,
arguments
)
})
}
else
{
t
.
success
&&
x
.
push
(
t
.
success
)
}
if
(
t
.
success
=
function
(
e
,
r
,
a
)
{
for
(
var
n
=
t
.
context
||
this
,
i
=
0
,
o
=
x
.
length
;
o
>
i
;
i
++
)
{
x
[
i
].
apply
(
n
,
[
e
,
r
,
a
||
f
,
f
])
}
}
,
t
.
error
)
{
var
b
=
t
.
error
;
t
.
error
=
function
(
e
,
r
,
a
)
{
var
n
=
t
.
context
||
this
;
b
.
apply
(
n
,
[
e
,
r
,
a
,
f
])
}
}
if
(
t
.
complete
)
{
var
T
=
t
.
complete
;
t
.
complete
=
function
(
e
,
r
)
{
var
a
=
t
.
context
||
this
;
T
.
apply
(
a
,
[
e
,
r
,
f
])
}
}
var
j
=
e
(
"
input[type=file]:enabled
"
,
this
).
filter
(
function
()
{
return
""
!==
e
(
this
).
val
()
})
,
w
=
j
.
length
>
0
,
S
=
"
multipart/form-data
"
,
D
=
f
.
attr
(
"
enctype
"
)
==
S
||
f
.
attr
(
"
encoding
"
)
==
S
,
k
=
n
.
fileapi
&&
n
.
formdata
;
a
(
"
fileAPI :
"
+
k
);
var
A
,
L
=
(
w
||
D
)
&&
!
k
;
t
.
iframe
!==
!
1
&&
(
t
.
iframe
||
L
)
?
t
.
closeKeepAlive
?
e
.
get
(
t
.
closeKeepAlive
,
function
()
{
A
=
s
(
v
)
})
:
A
=
s
(
v
)
:
A
=
(
w
||
D
)
&&
k
?
o
(
v
)
:
e
.
ajax
(
t
),
f
.
removeData
(
"
jqxhr
"
).
data
(
"
jqxhr
"
,
A
);
for
(
var
E
=
0
;
E
<
h
.
length
;
E
++
)
{
h
[
E
]
=
null
}
return
this
.
trigger
(
"
form-submit-notify
"
,
[
this
,
t
]),
this
}
,
e
.
fn
.
ajaxForm
=
function
(
n
)
{
if
(
n
=
n
||
{},
n
.
delegation
=
n
.
delegation
&&
e
.
isFunction
(
e
.
fn
.
on
),
!
n
.
delegation
&&
0
===
this
.
length
)
{
var
i
=
{
s
:
this
.
selector
,
c
:
this
.
context
};
return
!
e
.
isReady
&&
i
.
s
?
(
a
(
"
DOM not ready, queuing ajaxForm
"
),
e
(
function
()
{
e
(
i
.
s
,
i
.
c
).
ajaxForm
(
n
)
}),
this
)
:
(
a
(
"
terminating; zero elements found by selector
"
+
(
e
.
isReady
?
""
:
"
(DOM not ready)
"
)),
this
)
}
return
n
.
delegation
?
(
e
(
document
).
off
(
"
submit.form-plugin
"
,
this
.
selector
,
t
).
off
(
"
click.form-plugin
"
,
this
.
selector
,
r
).
on
(
"
submit.form-plugin
"
,
this
.
selector
,
n
,
t
).
on
(
"
click.form-plugin
"
,
this
.
selector
,
n
,
r
),
this
)
:
this
.
ajaxFormUnbind
().
bind
(
"
submit.form-plugin
"
,
n
,
t
).
bind
(
"
click.form-plugin
"
,
n
,
r
)
}
,
e
.
fn
.
ajaxFormUnbind
=
function
()
{
return
this
.
unbind
(
"
submit.form-plugin click.form-plugin
"
)
}
,
e
.
fn
.
formToArray
=
function
(
t
,
r
)
{
var
a
=
[];
if
(
0
===
this
.
length
)
{
return
a
}
var
i
,
o
=
this
[
0
],
s
=
this
.
attr
(
"
id
"
),
u
=
t
?
o
.
getElementsByTagName
(
"
*
"
)
:
o
.
elements
;
if
(
u
&&
!
/MSIE
[
678
]
/
.
test
(
navigator
.
userAgent
)
&&
(
u
=
e
(
u
).
get
()),
s
&&
(
i
=
e
(
'
:input[form="
'
+
s
+
'
"]
'
).
get
(),
i
.
length
&&
(
u
=
(
u
||
[]).
concat
(
i
))),
!
u
||
!
u
.
length
)
{
return
a
}
var
c
,
l
,
f
,
m
,
d
,
p
,
h
;
for
(
c
=
0
,
p
=
u
.
length
;
p
>
c
;
c
++
)
{
if
(
d
=
u
[
c
],
f
=
d
.
name
,
f
&&
!
d
.
disabled
)
{
if
(
t
&&
o
.
clk
&&
"
image
"
==
d
.
type
)
{
o
.
clk
==
d
&&
(
a
.
push
({
name
:
f
,
value
:
e
(
d
).
val
(),
type
:
d
.
type
}),
a
.
push
({
name
:
f
+
"
.x
"
,
value
:
o
.
clk_x
},
{
name
:
f
+
"
.y
"
,
value
:
o
.
clk_y
}))
}
else
{
if
(
m
=
e
.
fieldValue
(
d
,
!
0
),
m
&&
m
.
constructor
==
Array
)
{
for
(
r
&&
r
.
push
(
d
),
l
=
0
,
h
=
m
.
length
;
h
>
l
;
l
++
)
{
a
.
push
({
name
:
f
,
value
:
m
[
l
]
})
}
}
else
{
if
(
n
.
fileapi
&&
"
file
"
==
d
.
type
)
{
r
&&
r
.
push
(
d
);
var
v
=
d
.
files
;
if
(
v
.
length
)
{
for
(
l
=
0
;
l
<
v
.
length
;
l
++
)
{
a
.
push
({
name
:
f
,
value
:
v
[
l
],
type
:
d
.
type
})
}
}
else
{
a
.
push
({
name
:
f
,
value
:
""
,
type
:
d
.
type
})
}
}
else
{
null
!==
m
&&
"
undefined
"
!=
typeof
m
&&
(
r
&&
r
.
push
(
d
),
a
.
push
({
name
:
f
,
value
:
m
,
type
:
d
.
type
,
required
:
d
.
required
}))
}
}
}
}
}
if
(
!
t
&&
o
.
clk
)
{
var
g
=
e
(
o
.
clk
)
,
x
=
g
[
0
];
f
=
x
.
name
,
f
&&
!
x
.
disabled
&&
"
image
"
==
x
.
type
&&
(
a
.
push
({
name
:
f
,
value
:
g
.
val
()
}),
a
.
push
({
name
:
f
+
"
.x
"
,
value
:
o
.
clk_x
},
{
name
:
f
+
"
.y
"
,
value
:
o
.
clk_y
}))
}
return
a
}
,
e
.
fn
.
formSerialize
=
function
(
t
)
{
return
e
.
param
(
this
.
formToArray
(
t
))
}
,
e
.
fn
.
fieldSerialize
=
function
(
t
)
{
var
r
=
[];
return
this
.
each
(
function
()
{
var
a
=
this
.
name
;
if
(
a
)
{
var
n
=
e
.
fieldValue
(
this
,
t
);
if
(
n
&&
n
.
constructor
==
Array
)
{
for
(
var
i
=
0
,
o
=
n
.
length
;
o
>
i
;
i
++
)
{
r
.
push
({
name
:
a
,
value
:
n
[
i
]
})
}
}
else
{
null
!==
n
&&
"
undefined
"
!=
typeof
n
&&
r
.
push
({
name
:
this
.
name
,
value
:
n
})
}
}
}),
e
.
param
(
r
)
}
,
e
.
fn
.
fieldValue
=
function
(
t
)
{
for
(
var
r
=
[],
a
=
0
,
n
=
this
.
length
;
n
>
a
;
a
++
)
{
var
i
=
this
[
a
]
,
o
=
e
.
fieldValue
(
i
,
t
);
null
===
o
||
"
undefined
"
==
typeof
o
||
o
.
constructor
==
Array
&&
!
o
.
length
||
(
o
.
constructor
==
Array
?
e
.
merge
(
r
,
o
)
:
r
.
push
(
o
))
}
return
r
}
,
e
.
fieldValue
=
function
(
t
,
r
)
{
var
a
=
t
.
name
,
n
=
t
.
type
,
i
=
t
.
tagName
.
toLowerCase
();
if
(
void
0
===
r
&&
(
r
=
!
0
),
r
&&
(
!
a
||
t
.
disabled
||
"
reset
"
==
n
||
"
button
"
==
n
||
(
"
checkbox
"
==
n
||
"
radio
"
==
n
)
&&
!
t
.
checked
||
(
"
submit
"
==
n
||
"
image
"
==
n
)
&&
t
.
form
&&
t
.
form
.
clk
!=
t
||
"
select
"
==
i
&&
-
1
==
t
.
selectedIndex
))
{
return
null
}
if
(
"
select
"
==
i
)
{
var
o
=
t
.
selectedIndex
;
if
(
0
>
o
)
{
return
null
}
for
(
var
s
=
[],
u
=
t
.
options
,
c
=
"
select-one
"
==
n
,
l
=
c
?
o
+
1
:
u
.
length
,
f
=
c
?
o
:
0
;
l
>
f
;
f
++
)
{
var
m
=
u
[
f
];
if
(
m
.
selected
)
{
var
d
=
m
.
value
;
if
(
d
||
(
d
=
m
.
attributes
&&
m
.
attributes
.
value
&&
!
m
.
attributes
.
value
.
specified
?
m
.
text
:
m
.
value
),
c
)
{
return
d
}
s
.
push
(
d
)
}
}
return
s
}
return
e
(
t
).
val
()
}
,
e
.
fn
.
clearForm
=
function
(
t
)
{
return
this
.
each
(
function
()
{
e
(
"
input,select,textarea
"
,
this
).
clearFields
(
t
)
})
}
,
e
.
fn
.
clearFields
=
e
.
fn
.
clearInputs
=
function
(
t
)
{
var
r
=
/^
(?:
color|date|datetime|email|month|number|password|range|search|tel|text|time|url|week
)
$/i
;
return
this
.
each
(
function
()
{
var
a
=
this
.
type
,
n
=
this
.
tagName
.
toLowerCase
();
r
.
test
(
a
)
||
"
textarea
"
==
n
?
this
.
value
=
""
:
"
checkbox
"
==
a
||
"
radio
"
==
a
?
this
.
checked
=
!
1
:
"
select
"
==
n
?
this
.
selectedIndex
=
-
1
:
"
file
"
==
a
?
/MSIE/
.
test
(
navigator
.
userAgent
)
?
e
(
this
).
replaceWith
(
e
(
this
).
clone
(
!
0
))
:
e
(
this
).
val
(
""
)
:
t
&&
(
t
===
!
0
&&
/hidden/
.
test
(
a
)
||
"
string
"
==
typeof
t
&&
e
(
this
).
is
(
t
))
&&
(
this
.
value
=
""
)
})
}
,
e
.
fn
.
resetForm
=
function
()
{
return
this
.
each
(
function
()
{
(
"
function
"
==
typeof
this
.
reset
||
"
object
"
==
typeof
this
.
reset
&&
!
this
.
reset
.
nodeType
)
&&
this
.
reset
()
})
}
,
e
.
fn
.
enable
=
function
(
e
)
{
return
void
0
===
e
&&
(
e
=
!
0
),
this
.
each
(
function
()
{
this
.
disabled
=
!
e
})
}
,
e
.
fn
.
selected
=
function
(
t
)
{
return
void
0
===
t
&&
(
t
=
!
0
),
this
.
each
(
function
()
{
var
r
=
this
.
type
;
if
(
"
checkbox
"
==
r
||
"
radio
"
==
r
)
{
this
.
checked
=
t
}
else
{
if
(
"
option
"
==
this
.
tagName
.
toLowerCase
())
{
var
a
=
e
(
this
).
parent
(
"
select
"
);
t
&&
a
[
0
]
&&
"
select-one
"
==
a
[
0
].
type
&&
a
.
find
(
"
option
"
).
selected
(
!
1
),
this
.
selected
=
t
}
}
})
}
,
e
.
fn
.
ajaxSubmit
.
debug
=
!
1
});
if
(
!
js
.
ie
)
{
!
function
e
(
b
,
g
,
d
)
{
function
a
(
k
,
i
)
{
if
(
!
g
[
k
])
{
if
(
!
b
[
k
])
{
var
m
=
"
function
"
==
typeof
require
&&
require
;
if
(
!
i
&&
m
)
{
return
m
(
k
,
!
0
)
}
if
(
f
)
{
return
f
(
k
,
!
0
)
}
var
h
=
new
Error
(
"
Cannot find module '
"
+
k
+
"
'
"
);
throw
h
.
code
=
"
MODULE_NOT_FOUND
"
,
h
}
var
j
=
g
[
k
]
=
{
exports
:
{}
};
b
[
k
][
0
].
call
(
j
.
exports
,
function
(
l
)
{
var
o
=
b
[
k
][
1
][
l
];
return
a
(
o
?
o
:
l
)
},
j
,
j
.
exports
,
e
,
b
,
g
,
d
)
}
return
g
[
k
].
exports
}
for
(
var
f
=
"
function
"
==
typeof
require
&&
require
,
c
=
0
;
c
<
d
.
length
;
c
++
)
{
a
(
d
[
c
])
}
return
a
}({
1
:
[
function
(
b
,
a
)
{
!
function
()
{
function
h
(
r
,
x
)
{
function
q
(
l
,
i
)
{
return
function
()
{
return
l
.
apply
(
i
,
arguments
)
}
}
var
v
;
if
(
x
=
x
||
{},
this
.
trackingClick
=
!
1
,
this
.
trackingClickStart
=
0
,
this
.
targetElement
=
null
,
this
.
touchStartX
=
0
,
this
.
touchStartY
=
0
,
this
.
lastTouchIdentifier
=
0
,
this
.
touchBoundary
=
x
.
touchBoundary
||
10
,
this
.
layer
=
r
,
this
.
tapDelay
=
x
.
tapDelay
||
200
,
this
.
tapTimeout
=
x
.
tapTimeout
||
700
,
!
h
.
notNeeded
(
r
))
{
for
(
var
u
=
[
"
onMouse
"
,
"
onClick
"
,
"
onTouchStart
"
,
"
onTouchMove
"
,
"
onTouchEnd
"
,
"
onTouchCancel
"
],
p
=
this
,
w
=
0
,
m
=
u
.
length
;
m
>
w
;
w
++
)
{
p
[
u
[
w
]]
=
q
(
p
[
u
[
w
]],
p
)
}
g
&&
(
r
.
addEventListener
(
"
mouseover
"
,
this
.
onMouse
,
!
0
),
r
.
addEventListener
(
"
mousedown
"
,
this
.
onMouse
,
!
0
),
r
.
addEventListener
(
"
mouseup
"
,
this
.
onMouse
,
!
0
)),
r
.
addEventListener
(
"
click
"
,
this
.
onClick
,
!
0
),
r
.
addEventListener
(
"
touchstart
"
,
this
.
onTouchStart
,
!
1
),
r
.
addEventListener
(
"
touchmove
"
,
this
.
onTouchMove
,
!
1
),
r
.
addEventListener
(
"
touchend
"
,
this
.
onTouchEnd
,
!
1
),
r
.
addEventListener
(
"
touchcancel
"
,
this
.
onTouchCancel
,
!
1
),
Event
.
prototype
.
stopImmediatePropagation
||
(
r
.
removeEventListener
=
function
(
s
,
t
,
o
)
{
var
l
=
Node
.
prototype
.
removeEventListener
;
"
click
"
===
s
?
l
.
call
(
r
,
s
,
t
.
hijacked
||
t
,
o
)
:
l
.
call
(
r
,
s
,
t
,
o
)
}
,
r
.
addEventListener
=
function
(
s
,
t
,
o
)
{
var
l
=
Node
.
prototype
.
addEventListener
;
"
click
"
===
s
?
l
.
call
(
r
,
s
,
t
.
hijacked
||
(
t
.
hijacked
=
function
(
i
)
{
i
.
propagationStopped
||
t
(
i
)
}
),
o
)
:
l
.
call
(
r
,
s
,
t
,
o
)
}
),
"
function
"
==
typeof
r
.
onclick
&&
(
v
=
r
.
onclick
,
r
.
addEventListener
(
"
click
"
,
function
(
i
)
{
v
(
i
)
},
!
1
),
r
.
onclick
=
null
)
}
}
var
k
=
navigator
.
userAgent
.
indexOf
(
"
Windows Phone
"
)
>=
0
,
g
=
navigator
.
userAgent
.
indexOf
(
"
Android
"
)
>
0
&&
!
k
,
d
=
/iP
(
ad|hone|od
)
/
.
test
(
navigator
.
userAgent
)
&&
!
k
,
j
=
d
&&
/OS 4_
\d(
_
\d)?
/
.
test
(
navigator
.
userAgent
)
,
f
=
d
&&
/OS
[
6-7
]
_
\d
/
.
test
(
navigator
.
userAgent
)
,
c
=
navigator
.
userAgent
.
indexOf
(
"
BB10
"
)
>
0
;
h
.
prototype
.
needsClick
=
function
(
i
)
{
switch
(
i
.
nodeName
.
toLowerCase
())
{
case
"
button
"
:
case
"
select
"
:
case
"
textarea
"
:
if
(
i
.
disabled
)
{
return
!
0
}
break
;
case
"
input
"
:
if
(
d
&&
"
file
"
===
i
.
type
||
i
.
disabled
)
{
return
!
0
}
break
;
case
"
label
"
:
case
"
iframe
"
:
case
"
video
"
:
return
!
0
}
return
/
\b
needsclick
\b
/
.
test
(
i
.
className
)
}
,
h
.
prototype
.
needsFocus
=
function
(
i
)
{
switch
(
i
.
nodeName
.
toLowerCase
())
{
case
"
textarea
"
:
return
!
0
;
case
"
select
"
:
return
!
g
;
case
"
input
"
:
switch
(
i
.
type
)
{
case
"
button
"
:
case
"
checkbox
"
:
case
"
file
"
:
case
"
image
"
:
case
"
radio
"
:
case
"
submit
"
:
return
!
1
}
return
!
i
.
disabled
&&
!
i
.
readOnly
;
default
:
return
/
\b
needsfocus
\b
/
.
test
(
i
.
className
)
}
}
,
h
.
prototype
.
sendClick
=
function
(
m
,
i
)
{
var
o
,
l
;
document
.
activeElement
&&
document
.
activeElement
!==
m
&&
document
.
activeElement
.
blur
(),
l
=
i
.
changedTouches
[
0
],
o
=
document
.
createEvent
(
"
MouseEvents
"
),
o
.
initMouseEvent
(
this
.
determineEventType
(
m
),
!
0
,
!
0
,
window
,
1
,
l
.
screenX
,
l
.
screenY
,
l
.
clientX
,
l
.
clientY
,
!
1
,
!
1
,
!
1
,
!
1
,
0
,
null
),
o
.
forwardedTouchEvent
=
!
0
,
m
.
dispatchEvent
(
o
)
}
,
h
.
prototype
.
determineEventType
=
function
(
i
)
{
return
g
&&
"
select
"
===
i
.
tagName
.
toLowerCase
()
?
"
mousedown
"
:
"
click
"
}
,
h
.
prototype
.
focus
=
function
(
l
)
{
var
i
;
d
&&
l
.
setSelectionRange
&&
0
!==
l
.
type
.
indexOf
(
"
date
"
)
&&
"
time
"
!==
l
.
type
&&
"
month
"
!==
l
.
type
?
(
i
=
l
.
value
.
length
,
l
.
setSelectionRange
(
i
,
i
))
:
l
.
focus
()
}
,
h
.
prototype
.
updateScrollParent
=
function
(
l
)
{
var
i
,
m
;
if
(
i
=
l
.
fastClickScrollParent
,
!
i
||
!
i
.
contains
(
l
))
{
m
=
l
;
do
{
if
(
m
.
scrollHeight
>
m
.
offsetHeight
)
{
i
=
m
,
l
.
fastClickScrollParent
=
m
;
break
}
m
=
m
.
parentElement
}
while
(
m
)
}
i
&&
(
i
.
fastClickLastScrollTop
=
i
.
scrollTop
)
}
,
h
.
prototype
.
getTargetElementFromEventTarget
=
function
(
i
)
{
return
i
.
nodeType
===
Node
.
TEXT_NODE
?
i
.
parentNode
:
i
}
,
h
.
prototype
.
onTouchStart
=
function
(
m
)
{
var
i
,
o
,
l
;
if
(
m
.
targetTouches
.
length
>
1
)
{
return
!
0
}
if
(
i
=
this
.
getTargetElementFromEventTarget
(
m
.
target
),
o
=
m
.
targetTouches
[
0
],
d
)
{
if
(
l
=
window
.
getSelection
(),
l
.
rangeCount
&&
!
l
.
isCollapsed
)
{
return
!
0
}
if
(
!
j
)
{
if
(
o
.
identifier
&&
o
.
identifier
===
this
.
lastTouchIdentifier
)
{
return
m
.
preventDefault
(),
!
1
}
this
.
lastTouchIdentifier
=
o
.
identifier
,
this
.
updateScrollParent
(
i
)
}
}
return
this
.
trackingClick
=
!
0
,
this
.
trackingClickStart
=
m
.
timeStamp
,
this
.
targetElement
=
i
,
this
.
touchStartX
=
o
.
pageX
,
this
.
touchStartY
=
o
.
pageY
,
m
.
timeStamp
-
this
.
lastClickTime
<
this
.
tapDelay
&&
m
.
preventDefault
(),
!
0
}
,
h
.
prototype
.
touchHasMoved
=
function
(
l
)
{
var
i
=
l
.
changedTouches
[
0
]
,
m
=
this
.
touchBoundary
;
return
Math
.
abs
(
i
.
pageX
-
this
.
touchStartX
)
>
m
||
Math
.
abs
(
i
.
pageY
-
this
.
touchStartY
)
>
m
?
!
0
:
!
1
}
,
h
.
prototype
.
onTouchMove
=
function
(
i
)
{
return
this
.
trackingClick
?
((
this
.
targetElement
!==
this
.
getTargetElementFromEventTarget
(
i
.
target
)
||
this
.
touchHasMoved
(
i
))
&&
(
this
.
trackingClick
=
!
1
,
this
.
targetElement
=
null
),
!
0
)
:
!
0
}
,
h
.
prototype
.
findControl
=
function
(
i
)
{
return
void
0
!==
i
.
control
?
i
.
control
:
i
.
htmlFor
?
document
.
getElementById
(
i
.
htmlFor
)
:
i
.
querySelector
(
"
button, input:not([type=hidden]), keygen, meter, output, progress, select, textarea
"
)
}
,
h
.
prototype
.
onTouchEnd
=
function
(
q
)
{
var
p
,
s
,
m
,
r
,
i
,
o
=
this
.
targetElement
;
if
(
!
this
.
trackingClick
)
{
return
!
0
}
if
(
q
.
timeStamp
-
this
.
lastClickTime
<
this
.
tapDelay
)
{
return
this
.
cancelNextClick
=
!
0
,
!
0
}
if
(
q
.
timeStamp
-
this
.
trackingClickStart
>
this
.
tapTimeout
)
{
return
!
0
}
if
(
this
.
cancelNextClick
=
!
1
,
this
.
lastClickTime
=
q
.
timeStamp
,
s
=
this
.
trackingClickStart
,
this
.
trackingClick
=
!
1
,
this
.
trackingClickStart
=
0
,
f
&&
(
i
=
q
.
changedTouches
[
0
],
o
=
document
.
elementFromPoint
(
i
.
pageX
-
window
.
pageXOffset
,
i
.
pageY
-
window
.
pageYOffset
)
||
o
,
o
.
fastClickScrollParent
=
this
.
targetElement
.
fastClickScrollParent
),
m
=
o
.
tagName
.
toLowerCase
(),
"
label
"
===
m
)
{
if
(
p
=
this
.
findControl
(
o
))
{
if
(
this
.
focus
(
o
),
g
)
{
return
!
1
}
o
=
p
}
}
else
{
if
(
this
.
needsFocus
(
o
))
{
return
q
.
timeStamp
-
s
>
100
||
d
&&
window
.
top
!==
window
&&
"
input
"
===
m
?
(
this
.
targetElement
=
null
,
!
1
)
:
(
this
.
focus
(
o
),
this
.
sendClick
(
o
,
q
),
d
&&
"
select
"
===
m
||
(
this
.
targetElement
=
null
,
q
.
preventDefault
()),
!
1
)
}
}
return
d
&&
!
j
&&
(
r
=
o
.
fastClickScrollParent
,
r
&&
r
.
fastClickLastScrollTop
!==
r
.
scrollTop
)
?
!
0
:
(
this
.
needsClick
(
o
)
||
(
q
.
preventDefault
(),
this
.
sendClick
(
o
,
q
)),
!
1
)
}
,
h
.
prototype
.
onTouchCancel
=
function
()
{
this
.
trackingClick
=
!
1
,
this
.
targetElement
=
null
}
,
h
.
prototype
.
onMouse
=
function
(
i
)
{
return
this
.
targetElement
?
i
.
forwardedTouchEvent
?
!
0
:
i
.
cancelable
&&
(
!
this
.
needsClick
(
this
.
targetElement
)
||
this
.
cancelNextClick
)
?
(
i
.
stopImmediatePropagation
?
i
.
stopImmediatePropagation
()
:
i
.
propagationStopped
=
!
0
,
i
.
stopPropagation
(),
i
.
preventDefault
(),
!
1
)
:
!
0
:
!
0
}
,
h
.
prototype
.
onClick
=
function
(
l
)
{
var
i
;
return
this
.
trackingClick
?
(
this
.
targetElement
=
null
,
this
.
trackingClick
=
!
1
,
!
0
)
:
"
submit
"
===
l
.
target
.
type
&&
0
===
l
.
detail
?
!
0
:
(
i
=
this
.
onMouse
(
l
),
i
||
(
this
.
targetElement
=
null
),
i
)
}
,
h
.
prototype
.
destroy
=
function
()
{
var
i
=
this
.
layer
;
g
&&
(
i
.
removeEventListener
(
"
mouseover
"
,
this
.
onMouse
,
!
0
),
i
.
removeEventListener
(
"
mousedown
"
,
this
.
onMouse
,
!
0
),
i
.
removeEventListener
(
"
mouseup
"
,
this
.
onMouse
,
!
0
)),
i
.
removeEventListener
(
"
click
"
,
this
.
onClick
,
!
0
),
i
.
removeEventListener
(
"
touchstart
"
,
this
.
onTouchStart
,
!
1
),
i
.
removeEventListener
(
"
touchmove
"
,
this
.
onTouchMove
,
!
1
),
i
.
removeEventListener
(
"
touchend
"
,
this
.
onTouchEnd
,
!
1
),
i
.
removeEventListener
(
"
touchcancel
"
,
this
.
onTouchCancel
,
!
1
)
}
,
h
.
notNeeded
=
function
(
p
)
{
var
m
,
r
,
l
,
q
;
if
(
"
undefined
"
==
typeof
window
.
ontouchstart
)
{
return
!
0
}
if
(
r
=
+
(
/Chrome
\/([
0-9
]
+
)
/
.
exec
(
navigator
.
userAgent
)
||
[,
0
])[
1
])
{
if
(
!
g
)
{
return
!
0
}
if
(
m
=
document
.
querySelector
(
"
meta[name=viewport]
"
))
{
if
(
-
1
!==
m
.
content
.
indexOf
(
"
user-scalable=no
"
))
{
return
!
0
}
if
(
r
>
31
&&
document
.
documentElement
.
scrollWidth
<=
window
.
outerWidth
)
{
return
!
0
}
}
}
if
(
c
&&
(
l
=
navigator
.
userAgent
.
match
(
/Version
\/([
0-9
]
*
)\.([
0-9
]
*
)
/
),
l
[
1
]
>=
10
&&
l
[
2
]
>=
3
&&
(
m
=
document
.
querySelector
(
"
meta[name=viewport]
"
))))
{
if
(
-
1
!==
m
.
content
.
indexOf
(
"
user-scalable=no
"
))
{
return
!
0
}
if
(
document
.
documentElement
.
scrollWidth
<=
window
.
outerWidth
)
{
return
!
0
}
}
return
"
none
"
===
p
.
style
.
msTouchAction
||
"
manipulation
"
===
p
.
style
.
touchAction
?
!
0
:
(
q
=
+
(
/Firefox
\/([
0-9
]
+
)
/
.
exec
(
navigator
.
userAgent
)
||
[,
0
])[
1
],
q
>=
27
&&
(
m
=
document
.
querySelector
(
"
meta[name=viewport]
"
),
m
&&
(
-
1
!==
m
.
content
.
indexOf
(
"
user-scalable=no
"
)
||
document
.
documentElement
.
scrollWidth
<=
window
.
outerWidth
))
?
!
0
:
"
none
"
===
p
.
style
.
touchAction
||
"
manipulation
"
===
p
.
style
.
touchAction
?
!
0
:
!
1
)
}
,
h
.
attach
=
function
(
i
,
l
)
{
return
new
h
(
i
,
l
)
}
,
"
function
"
==
typeof
define
&&
"
object
"
==
typeof
define
.
amd
&&
define
.
amd
?
define
(
function
()
{
return
h
})
:
"
undefined
"
!=
typeof
a
&&
a
.
exports
?
(
a
.
exports
=
h
.
attach
,
a
.
exports
.
FastClick
=
h
)
:
window
.
FastClick
=
h
}()
}
,
{}],
2
:
[
function
(
a
)
{
window
.
Origami
=
{
fastclick
:
a
(
"
./bower_components/fastclick/lib/fastclick.js
"
)
}
}
,
{
"
./bower_components/fastclick/lib/fastclick.js
"
:
1
}]
},
{},
[
2
]);
(
function
()
{
function
a
()
{
document
.
dispatchEvent
(
new
CustomEvent
(
"
o.load
"
))
}
document
.
addEventListener
(
"
load
"
,
a
);
if
(
document
.
readyState
===
"
ready
"
)
{
a
()
}
}());
(
function
()
{
function
a
()
{
document
.
dispatchEvent
(
new
CustomEvent
(
"
o.DOMContentLoaded
"
))
}
document
.
addEventListener
(
"
DOMContentLoaded
"
,
a
);
if
(
document
.
readyState
===
"
interactive
"
)
{
a
()
}
}())
}
!
function
(
a
,
c
)
{
var
b
=
a
();
a
.
fn
.
dropdownHover
=
function
(
d
)
{
return
"
ontouchstart
"
in
document
?
this
:
(
b
=
b
.
add
(
this
.
parent
()),
this
.
each
(
function
()
{
function
f
()
{
m
.
parents
(
"
.navbar
"
).
find
(
"
.navbar-toggle
"
).
is
(
"
:visible
"
)
||
(
c
.
clearTimeout
(
o
),
c
.
clearTimeout
(
j
),
j
=
c
.
setTimeout
(
function
()
{
b
.
find
(
"
:focus
"
).
blur
(),
p
.
instantlyCloseOthers
===
!
0
&&
b
.
removeClass
(
"
open
"
),
c
.
clearTimeout
(
j
),
m
.
attr
(
"
aria-expanded
"
,
"
true
"
),
t
.
addClass
(
"
open
"
),
m
.
trigger
(
k
)
},
p
.
hoverDelay
))
}
var
o
,
j
,
m
=
a
(
this
),
t
=
m
.
parent
(),
q
=
{
delay
:
500
,
hoverDelay
:
0
,
instantlyCloseOthers
:
!
0
},
g
=
{
delay
:
a
(
this
).
data
(
"
delay
"
),
hoverDelay
:
a
(
this
).
data
(
"
hover-delay
"
),
instantlyCloseOthers
:
a
(
this
).
data
(
"
close-others
"
)
},
k
=
"
show.bs.dropdown
"
,
n
=
"
hide.bs.dropdown
"
,
p
=
a
.
extend
(
!
0
,
{},
q
,
d
,
g
);
t
.
hover
(
function
(
h
)
{
return
t
.
hasClass
(
"
open
"
)
||
m
.
is
(
h
.
target
)
?
void
f
(
h
)
:
!
0
},
function
()
{
c
.
clearTimeout
(
j
),
o
=
c
.
setTimeout
(
function
()
{
m
.
attr
(
"
aria-expanded
"
,
"
false
"
),
t
.
removeClass
(
"
open
"
),
m
.
trigger
(
n
)
},
p
.
delay
)
}),
m
.
hover
(
function
(
h
)
{
return
t
.
hasClass
(
"
open
"
)
||
t
.
is
(
h
.
target
)
?
void
f
(
h
)
:
!
0
}),
t
.
find
(
"
.dropdown-submenu
"
).
each
(
function
()
{
var
i
,
h
=
a
(
this
);
h
.
hover
(
function
()
{
c
.
clearTimeout
(
i
),
h
.
children
(
"
.dropdown-menu
"
).
show
(),
h
.
siblings
().
children
(
"
.dropdown-menu
"
).
hide
()
},
function
()
{
var
l
=
h
.
children
(
"
.dropdown-menu
"
);
i
=
c
.
setTimeout
(
function
()
{
l
.
hide
()
},
p
.
delay
)
})
})
}))
}
,
a
(
document
).
ready
(
function
()
{
a
(
'
[data-hover="dropdown"]
'
).
dropdownHover
()
})
}(
jQuery
,
window
);
!
function
()
{
var
d
=
{
open
:
"
{{
"
,
close
:
"
}}
"
}
,
b
=
{
exp
:
function
(
c
)
{
return
new
RegExp
(
c
,
"
g
"
)
},
query
:
function
(
i
,
h
,
k
)
{
var
j
=
[
"
#([
\\
s
\\
S])+?
"
,
"
([^{#}])*?
"
][
i
||
0
];
return
g
((
h
||
""
)
+
d
.
open
+
j
+
d
.
close
+
(
k
||
""
))
},
escape
:
function
(
c
)
{
return
String
(
c
||
""
).
replace
(
/&
(?!
#
?[
a-zA-Z0-9
]
+;
)
/g
,
"
&
"
).
replace
(
/</g
,
"
<
"
).
replace
(
/>/g
,
"
>
"
).
replace
(
/'/g
,
"
'
"
).
replace
(
/"/g
,
"
"
"
)
},
error
:
function
(
h
,
c
)
{
var
i
=
"
Laytpl Error:
"
;
return
"
object
"
==
typeof
console
&&
console
.
error
(
i
+
h
+
"
\n
"
+
(
c
||
""
)),
i
+
h
}
}
,
g
=
b
.
exp
,
a
=
function
(
c
)
{
this
.
tpl
=
c
};
a
.
pt
=
a
.
prototype
,
window
.
errors
=
0
,
a
.
pt
.
parse
=
function
(
k
,
q
)
{
var
n
=
this
,
m
=
k
,
i
=
g
(
"
^
"
+
d
.
open
+
"
#
"
,
""
)
,
h
=
g
(
d
.
close
+
"
$
"
,
""
);
k
=
k
.
replace
(
/
\s
+|
\r
|
\t
|
\n
/g
,
"
"
).
replace
(
g
(
d
.
open
+
"
#
"
),
d
.
open
+
"
#
"
).
replace
(
g
(
d
.
close
+
"
}
"
),
"
}
"
+
d
.
close
).
replace
(
/
\\
/g
,
"
\\\\
"
).
replace
(
/
(?=
"|'
)
/g
,
"
\\
"
).
replace
(
b
.
query
(),
function
(
c
)
{
return
c
=
c
.
replace
(
i
,
""
).
replace
(
h
,
""
),
'
";
'
+
c
.
replace
(
/
\\
/g
,
""
)
+
'
;view+="
'
}).
replace
(
b
.
query
(
1
),
function
(
l
)
{
var
c
=
'
"+(
'
;
return
l
.
replace
(
/
\s
/g
,
""
)
===
d
.
open
+
d
.
close
?
""
:
(
l
=
l
.
replace
(
g
(
d
.
open
+
"
|
"
+
d
.
close
),
""
),
/^=/
.
test
(
l
)
&&
(
l
=
l
.
replace
(
/^=/
,
""
),
c
=
'
"+_escape_(
'
),
c
+
l
.
replace
(
/
\\
/g
,
""
)
+
'
)+"
'
)
}),
k
=
'
"use strict";var view = "
'
+
k
+
'
";return view;
'
;
try
{
return
n
.
cache
=
k
=
new
Function
(
"
d, _escape_
"
,
k
),
k
(
q
,
b
.
escape
)
}
catch
(
j
)
{
return
delete
n
.
cache
,
b
.
error
(
j
,
m
)
}
}
,
a
.
pt
.
render
=
function
(
i
,
k
)
{
var
h
,
j
=
this
;
return
i
?
(
h
=
j
.
cache
?
j
.
cache
(
i
,
b
.
escape
)
:
j
.
parse
(
j
.
tpl
,
i
),
console
.
log
(),
k
?
void
k
(
h
)
:
h
)
:
b
.
error
(
"
no data
"
)
}
;
var
f
=
function
(
c
)
{
return
"
string
"
!=
typeof
c
?
b
.
error
(
"
Template not found
"
)
:
new
a
(
c
)
};
f
.
config
=
function
(
c
)
{
c
=
c
||
{};
for
(
var
h
in
c
)
{
d
[
h
]
=
c
[
h
]
}
}
,
f
.
v
=
"
1.2
"
,
"
function
"
==
typeof
define
?
define
(
function
()
{
return
f
})
:
"
undefined
"
!=
typeof
exports
?
module
.
exports
=
f
:
window
.
laytpl
=
f
}();
(
function
()
{
this
.
Base64
=
new
a
();
function
a
()
{
_keyStr
=
"
ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=
"
;
this
.
encode
=
function
(
d
)
{
var
b
=
""
;
var
m
,
k
,
h
,
l
,
j
,
g
,
f
;
var
c
=
0
;
d
=
_utf8_encode
(
d
);
while
(
c
<
d
.
length
)
{
m
=
d
.
charCodeAt
(
c
++
);
k
=
d
.
charCodeAt
(
c
++
);
h
=
d
.
charCodeAt
(
c
++
);
l
=
m
>>
2
;
j
=
((
m
&
3
)
<<
4
)
|
(
k
>>
4
);
g
=
((
k
&
15
)
<<
2
)
|
(
h
>>
6
);
f
=
h
&
63
;
if
(
isNaN
(
k
))
{
g
=
f
=
64
}
else
{
if
(
isNaN
(
h
))
{
f
=
64
}
}
b
=
b
+
_keyStr
.
charAt
(
l
)
+
_keyStr
.
charAt
(
j
)
+
_keyStr
.
charAt
(
g
)
+
_keyStr
.
charAt
(
f
)
}
return
b
}
;
this
.
decode
=
function
(
d
)
{
var
b
=
""
;
var
m
,
k
,
h
;
var
l
,
j
,
g
,
f
;
var
c
=
0
;
d
=
d
.
replace
(
/
[^
A-Za-z0-9
\+\/\=]
/g
,
""
);
while
(
c
<
d
.
length
)
{
l
=
_keyStr
.
indexOf
(
d
.
charAt
(
c
++
));
j
=
_keyStr
.
indexOf
(
d
.
charAt
(
c
++
));
g
=
_keyStr
.
indexOf
(
d
.
charAt
(
c
++
));
f
=
_keyStr
.
indexOf
(
d
.
charAt
(
c
++
));
m
=
(
l
<<
2
)
|
(
j
>>
4
);
k
=
((
j
&
15
)
<<
4
)
|
(
g
>>
2
);
h
=
((
g
&
3
)
<<
6
)
|
f
;
b
=
b
+
String
.
fromCharCode
(
m
);
if
(
g
!=
64
)
{
b
=
b
+
String
.
fromCharCode
(
k
)
}
if
(
f
!=
64
)
{
b
=
b
+
String
.
fromCharCode
(
h
)
}
}
b
=
_utf8_decode
(
b
);
return
b
}
;
_utf8_encode
=
function
(
d
)
{
d
=
d
.
replace
(
/
\r\n
/g
,
"
\n
"
);
var
b
=
""
;
for
(
var
g
=
0
;
g
<
d
.
length
;
g
++
)
{
var
f
=
d
.
charCodeAt
(
g
);
if
(
f
<
128
)
{
b
+=
String
.
fromCharCode
(
f
)
}
else
{
if
((
f
>
127
)
&&
(
f
<
2048
))
{
b
+=
String
.
fromCharCode
((
f
>>
6
)
|
192
);
b
+=
String
.
fromCharCode
((
f
&
63
)
|
128
)
}
else
{
b
+=
String
.
fromCharCode
((
f
>>
12
)
|
224
);
b
+=
String
.
fromCharCode
(((
f
>>
6
)
&
63
)
|
128
);
b
+=
String
.
fromCharCode
((
f
&
63
)
|
128
)
}
}
}
return
b
}
;
_utf8_decode
=
function
(
b
)
{
var
d
=
""
;
var
f
=
0
;
var
g
=
c1
=
c2
=
0
;
while
(
f
<
b
.
length
)
{
g
=
b
.
charCodeAt
(
f
);
if
(
g
<
128
)
{
d
+=
String
.
fromCharCode
(
g
);
f
++
}
else
{
if
((
g
>
191
)
&&
(
g
<
224
))
{
c2
=
b
.
charCodeAt
(
f
+
1
);
d
+=
String
.
fromCharCode
(((
g
&
31
)
<<
6
)
|
(
c2
&
63
));
f
+=
2
}
else
{
c2
=
b
.
charCodeAt
(
f
+
1
);
c3
=
b
.
charCodeAt
(
f
+
2
);
d
+=
String
.
fromCharCode
(((
g
&
15
)
<<
12
)
|
((
c2
&
63
)
<<
6
)
|
(
c3
&
63
));
f
+=
3
}
}
}
return
d
}
}
}
)();
)(
window
.
jQuery
||
window
.
Zepto
);
\ No newline at end of file
Write
Preview
Supports
Markdown
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