Page Menu
Home
Code
Search
Configure Global Search
Log In
Files
F390777
jquery-1.3.2.min.js
No One
Temporary
Actions
View File
Edit File
Delete File
View Transforms
Subscribe
Mute Notifications
Award Token
Flag For Later
Size
55 KB
Subscribers
None
jquery-1.3.2.min.js
View Options
/*
* jQuery JavaScript Library v1.3.2
* http://jquery.com/
*
* Copyright (c) 2009 John Resig
* Dual licensed under the MIT and GPL licenses.
* http://docs.jquery.com/License
*
* Date: 2009-02-19 17:34:21 -0500 (Thu, 19 Feb 2009)
* Revision: 6246
*/
(
function
(){
var
l
=
this
,
g
,
y
=
l
.
jQuery
,
p
=
l
.
$
,
o
=
l
.
jQuery
=
l
.
$
=
function
(
E
,
F
){
return
new
o
.
fn
.
init
(
E
,
F
)},
D
=
/^[^<]*(<(.|\s)+>)[^>]*$|^#([\w-]+)$/
,
f
=
/^.[^:#\[\.,]*$/
;
o
.
fn
=
o
.
prototype
=
{
init
:
function
(
E
,
H
){
E
=
E
||
document
;
if
(
E
.
nodeType
){
this
[
0
]
=
E
;
this
.
length
=
1
;
this
.
context
=
E
;
return
this
}
if
(
typeof
E
===
"string"
){
var
G
=
D
.
exec
(
E
);
if
(
G
&&
(
G
[
1
]
||!
H
)){
if
(
G
[
1
]){
E
=
o
.
clean
([
G
[
1
]],
H
)}
else
{
var
I
=
document
.
getElementById
(
G
[
3
]);
if
(
I
&&
I
.
id
!=
G
[
3
]){
return
o
().
find
(
E
)}
var
F
=
o
(
I
||
[]);
F
.
context
=
document
;
F
.
selector
=
E
;
return
F
}}
else
{
return
o
(
H
).
find
(
E
)}}
else
{
if
(
o
.
isFunction
(
E
)){
return
o
(
document
).
ready
(
E
)}}
if
(
E
.
selector
&&
E
.
context
){
this
.
selector
=
E
.
selector
;
this
.
context
=
E
.
context
}
return
this
.
setArray
(
o
.
isArray
(
E
)
?
E
:
o
.
makeArray
(
E
))},
selector
:
""
,
jquery
:
"1.3.2"
,
size
:
function
(){
return
this
.
length
},
get
:
function
(
E
){
return
E
===
g
?
Array
.
prototype
.
slice
.
call
(
this
)
:
this
[
E
]},
pushStack
:
function
(
F
,
H
,
E
){
var
G
=
o
(
F
);
G
.
prevObject
=
this
;
G
.
context
=
this
.
context
;
if
(
H
===
"find"
){
G
.
selector
=
this
.
selector
+
(
this
.
selector
?
" "
:
""
)
+
E
}
else
{
if
(
H
){
G
.
selector
=
this
.
selector
+
"."
+
H
+
"("
+
E
+
")"
}}
return
G
},
setArray
:
function
(
E
){
this
.
length
=
0
;
Array
.
prototype
.
push
.
apply
(
this
,
E
);
return
this
},
each
:
function
(
F
,
E
){
return
o
.
each
(
this
,
F
,
E
)},
index
:
function
(
E
){
return
o
.
inArray
(
E
&&
E
.
jquery
?
E
[
0
]
:
E
,
this
)},
attr
:
function
(
F
,
H
,
G
){
var
E
=
F
;
if
(
typeof
F
===
"string"
){
if
(
H
===
g
){
return
this
[
0
]
&&
o
[
G
||
"attr"
](
this
[
0
],
F
)}
else
{
E
=
{};
E
[
F
]
=
H
}}
return
this
.
each
(
function
(
I
){
for
(
F
in
E
){
o
.
attr
(
G
?
this
.
style
:
this
,
F
,
o
.
prop
(
this
,
E
[
F
],
G
,
I
,
F
))}})},
css
:
function
(
E
,
F
){
if
((
E
==
"width"
||
E
==
"height"
)
&&
parseFloat
(
F
)
<
0
){
F
=
g
}
return
this
.
attr
(
E
,
F
,
"curCSS"
)},
text
:
function
(
F
){
if
(
typeof
F
!==
"object"
&&
F
!=
null
){
return
this
.
empty
().
append
((
this
[
0
]
&&
this
[
0
].
ownerDocument
||
document
).
createTextNode
(
F
))}
var
E
=
""
;
o
.
each
(
F
||
this
,
function
(){
o
.
each
(
this
.
childNodes
,
function
(){
if
(
this
.
nodeType
!=
8
){
E
+=
this
.
nodeType
!=
1
?
this
.
nodeValue
:
o
.
fn
.
text
([
this
])}})});
return
E
},
wrapAll
:
function
(
E
){
if
(
this
[
0
]){
var
F
=
o
(
E
,
this
[
0
].
ownerDocument
).
clone
();
if
(
this
[
0
].
parentNode
){
F
.
insertBefore
(
this
[
0
])}
F
.
map
(
function
(){
var
G
=
this
;
while
(
G
.
firstChild
){
G
=
G
.
firstChild
}
return
G
}).
append
(
this
)}
return
this
},
wrapInner
:
function
(
E
){
return
this
.
each
(
function
(){
o
(
this
).
contents
().
wrapAll
(
E
)})},
wrap
:
function
(
E
){
return
this
.
each
(
function
(){
o
(
this
).
wrapAll
(
E
)})},
append
:
function
(){
return
this
.
domManip
(
arguments
,
true
,
function
(
E
){
if
(
this
.
nodeType
==
1
){
this
.
appendChild
(
E
)}})},
prepend
:
function
(){
return
this
.
domManip
(
arguments
,
true
,
function
(
E
){
if
(
this
.
nodeType
==
1
){
this
.
insertBefore
(
E
,
this
.
firstChild
)}})},
before
:
function
(){
return
this
.
domManip
(
arguments
,
false
,
function
(
E
){
this
.
parentNode
.
insertBefore
(
E
,
this
)})},
after
:
function
(){
return
this
.
domManip
(
arguments
,
false
,
function
(
E
){
this
.
parentNode
.
insertBefore
(
E
,
this
.
nextSibling
)})},
end
:
function
(){
return
this
.
prevObject
||
o
([])},
push
:
[].
push
,
sort
:
[].
sort
,
splice
:
[].
splice
,
find
:
function
(
E
){
if
(
this
.
length
===
1
){
var
F
=
this
.
pushStack
([],
"find"
,
E
);
F
.
length
=
0
;
o
.
find
(
E
,
this
[
0
],
F
);
return
F
}
else
{
return
this
.
pushStack
(
o
.
unique
(
o
.
map
(
this
,
function
(
G
){
return
o
.
find
(
E
,
G
)})),
"find"
,
E
)}},
clone
:
function
(
G
){
var
E
=
this
.
map
(
function
(){
if
(
!
o
.
support
.
noCloneEvent
&&!
o
.
isXMLDoc
(
this
)){
var
I
=
this
.
outerHTML
;
if
(
!
I
){
var
J
=
this
.
ownerDocument
.
createElement
(
"div"
);
J
.
appendChild
(
this
.
cloneNode
(
true
));
I
=
J
.
innerHTML
}
return
o
.
clean
([
I
.
replace
(
/ jQuery\d+="(?:\d+|null)"/g
,
""
).
replace
(
/^\s*/
,
""
)])[
0
]}
else
{
return
this
.
cloneNode
(
true
)}});
if
(
G
===
true
){
var
H
=
this
.
find
(
"*"
).
andSelf
(),
F
=
0
;
E
.
find
(
"*"
).
andSelf
().
each
(
function
(){
if
(
this
.
nodeName
!==
H
[
F
].
nodeName
){
return
}
var
I
=
o
.
data
(
H
[
F
],
"events"
);
for
(
var
K
in
I
){
for
(
var
J
in
I
[
K
]){
o
.
event
.
add
(
this
,
K
,
I
[
K
][
J
],
I
[
K
][
J
].
data
)}}
F
++
})}
return
E
},
filter
:
function
(
E
){
return
this
.
pushStack
(
o
.
isFunction
(
E
)
&&
o
.
grep
(
this
,
function
(
G
,
F
){
return
E
.
call
(
G
,
F
)})
||
o
.
multiFilter
(
E
,
o
.
grep
(
this
,
function
(
F
){
return
F
.
nodeType
===
1
})),
"filter"
,
E
)},
closest
:
function
(
E
){
var
G
=
o
.
expr
.
match
.
POS
.
test
(
E
)
?
o
(
E
)
:
null
,
F
=
0
;
return
this
.
map
(
function
(){
var
H
=
this
;
while
(
H
&&
H
.
ownerDocument
){
if
(
G
?
G
.
index
(
H
)
>-
1
:
o
(
H
).
is
(
E
)){
o
.
data
(
H
,
"closest"
,
F
);
return
H
}
H
=
H
.
parentNode
;
F
++
}})},
not
:
function
(
E
){
if
(
typeof
E
===
"string"
){
if
(
f
.
test
(
E
)){
return
this
.
pushStack
(
o
.
multiFilter
(
E
,
this
,
true
),
"not"
,
E
)}
else
{
E
=
o
.
multiFilter
(
E
,
this
)}}
var
F
=
E
.
length
&&
E
[
E
.
length
-
1
]
!==
g
&&!
E
.
nodeType
;
return
this
.
filter
(
function
(){
return
F
?
o
.
inArray
(
this
,
E
)
<
0
:
this
!=
E
})},
add
:
function
(
E
){
return
this
.
pushStack
(
o
.
unique
(
o
.
merge
(
this
.
get
(),
typeof
E
===
"string"
?
o
(
E
)
:
o
.
makeArray
(
E
))))},
is
:
function
(
E
){
return
!!
E
&&
o
.
multiFilter
(
E
,
this
).
length
>
0
},
hasClass
:
function
(
E
){
return
!!
E
&&
this
.
is
(
"."
+
E
)},
val
:
function
(
K
){
if
(
K
===
g
){
var
E
=
this
[
0
];
if
(
E
){
if
(
o
.
nodeName
(
E
,
"option"
)){
return
(
E
.
attributes
.
value
||
{}).
specified
?
E
.
value
:
E
.
text
}
if
(
o
.
nodeName
(
E
,
"select"
)){
var
I
=
E
.
selectedIndex
,
L
=
[],
M
=
E
.
options
,
H
=
E
.
type
==
"select-one"
;
if
(
I
<
0
){
return
null
}
for
(
var
F
=
H
?
I
:
0
,
J
=
H
?
I
+
1
:
M
.
length
;
F
<
J
;
F
++
){
var
G
=
M
[
F
];
if
(
G
.
selected
){
K
=
o
(
G
).
val
();
if
(
H
){
return
K
}
L
.
push
(
K
)}}
return
L
}
return
(
E
.
value
||
""
).
replace
(
/\r/g
,
""
)}
return
g
}
if
(
typeof
K
===
"number"
){
K
+=
""
}
return
this
.
each
(
function
(){
if
(
this
.
nodeType
!=
1
){
return
}
if
(
o
.
isArray
(
K
)
&&
/radio|checkbox/
.
test
(
this
.
type
)){
this
.
checked
=
(
o
.
inArray
(
this
.
value
,
K
)
>=
0
||
o
.
inArray
(
this
.
name
,
K
)
>=
0
)}
else
{
if
(
o
.
nodeName
(
this
,
"select"
)){
var
N
=
o
.
makeArray
(
K
);
o
(
"option"
,
this
).
each
(
function
(){
this
.
selected
=
(
o
.
inArray
(
this
.
value
,
N
)
>=
0
||
o
.
inArray
(
this
.
text
,
N
)
>=
0
)});
if
(
!
N
.
length
){
this
.
selectedIndex
=-
1
}}
else
{
this
.
value
=
K
}}})},
html
:
function
(
E
){
return
E
===
g
?
(
this
[
0
]
?
this
[
0
].
innerHTML
.
replace
(
/ jQuery\d+="(?:\d+|null)"/g
,
""
)
:
null
)
:
this
.
empty
().
append
(
E
)},
replaceWith
:
function
(
E
){
return
this
.
after
(
E
).
remove
()},
eq
:
function
(
E
){
return
this
.
slice
(
E
,
+
E
+
1
)},
slice
:
function
(){
return
this
.
pushStack
(
Array
.
prototype
.
slice
.
apply
(
this
,
arguments
),
"slice"
,
Array
.
prototype
.
slice
.
call
(
arguments
).
join
(
","
))},
map
:
function
(
E
){
return
this
.
pushStack
(
o
.
map
(
this
,
function
(
G
,
F
){
return
E
.
call
(
G
,
F
,
G
)}))},
andSelf
:
function
(){
return
this
.
add
(
this
.
prevObject
)},
domManip
:
function
(
J
,
M
,
L
){
if
(
this
[
0
]){
var
I
=
(
this
[
0
].
ownerDocument
||
this
[
0
]).
createDocumentFragment
(),
F
=
o
.
clean
(
J
,(
this
[
0
].
ownerDocument
||
this
[
0
]),
I
),
H
=
I
.
firstChild
;
if
(
H
){
for
(
var
G
=
0
,
E
=
this
.
length
;
G
<
E
;
G
++
){
L
.
call
(
K
(
this
[
G
],
H
),
this
.
length
>
1
||
G
>
0
?
I
.
cloneNode
(
true
)
:
I
)}}
if
(
F
){
o
.
each
(
F
,
z
)}}
return
this
;
function
K
(
N
,
O
){
return
M
&&
o
.
nodeName
(
N
,
"table"
)
&&
o
.
nodeName
(
O
,
"tr"
)
?
(
N
.
getElementsByTagName
(
"tbody"
)[
0
]
||
N
.
appendChild
(
N
.
ownerDocument
.
createElement
(
"tbody"
)))
:
N
}}};
o
.
fn
.
init
.
prototype
=
o
.
fn
;
function
z
(
E
,
F
){
if
(
F
.
src
){
o
.
ajax
({
url
:
F
.
src
,
async
:
false
,
dataType
:
"script"
})}
else
{
o
.
globalEval
(
F
.
text
||
F
.
textContent
||
F
.
innerHTML
||
""
)}
if
(
F
.
parentNode
){
F
.
parentNode
.
removeChild
(
F
)}}
function
e
(){
return
+
new
Date
}
o
.
extend
=
o
.
fn
.
extend
=
function
(){
var
J
=
arguments
[
0
]
||
{},
H
=
1
,
I
=
arguments
.
length
,
E
=
false
,
G
;
if
(
typeof
J
===
"boolean"
){
E
=
J
;
J
=
arguments
[
1
]
||
{};
H
=
2
}
if
(
typeof
J
!==
"object"
&&!
o
.
isFunction
(
J
)){
J
=
{}}
if
(
I
==
H
){
J
=
this
;
--
H
}
for
(;
H
<
I
;
H
++
){
if
((
G
=
arguments
[
H
])
!=
null
){
for
(
var
F
in
G
){
var
K
=
J
[
F
],
L
=
G
[
F
];
if
(
J
===
L
){
continue
}
if
(
E
&&
L
&&
typeof
L
===
"object"
&&!
L
.
nodeType
){
J
[
F
]
=
o
.
extend
(
E
,
K
||
(
L
.
length
!=
null
?
[]
:
{}),
L
)}
else
{
if
(
L
!==
g
){
J
[
F
]
=
L
}}}}}
return
J
};
var
b
=
/z-?index|font-?weight|opacity|zoom|line-?height/i
,
q
=
document
.
defaultView
||
{},
s
=
Object
.
prototype
.
toString
;
o
.
extend
({
noConflict
:
function
(
E
){
l
.
$
=
p
;
if
(
E
){
l
.
jQuery
=
y
}
return
o
},
isFunction
:
function
(
E
){
return
s
.
call
(
E
)
===
"[object Function]"
},
isArray
:
function
(
E
){
return
s
.
call
(
E
)
===
"[object Array]"
},
isXMLDoc
:
function
(
E
){
return
E
.
nodeType
===
9
&&
E
.
documentElement
.
nodeName
!==
"HTML"
||!!
E
.
ownerDocument
&&
o
.
isXMLDoc
(
E
.
ownerDocument
)},
globalEval
:
function
(
G
){
if
(
G
&&
/\S/
.
test
(
G
)){
var
F
=
document
.
getElementsByTagName
(
"head"
)[
0
]
||
document
.
documentElement
,
E
=
document
.
createElement
(
"script"
);
E
.
type
=
"text/javascript"
;
if
(
o
.
support
.
scriptEval
){
E
.
appendChild
(
document
.
createTextNode
(
G
))}
else
{
E
.
text
=
G
}
F
.
insertBefore
(
E
,
F
.
firstChild
);
F
.
removeChild
(
E
)}},
nodeName
:
function
(
F
,
E
){
return
F
.
nodeName
&&
F
.
nodeName
.
toUpperCase
()
==
E
.
toUpperCase
()},
each
:
function
(
G
,
K
,
F
){
var
E
,
H
=
0
,
I
=
G
.
length
;
if
(
F
){
if
(
I
===
g
){
for
(
E
in
G
){
if
(
K
.
apply
(
G
[
E
],
F
)
===
false
){
break
}}}
else
{
for
(;
H
<
I
;){
if
(
K
.
apply
(
G
[
H
++
],
F
)
===
false
){
break
}}}}
else
{
if
(
I
===
g
){
for
(
E
in
G
){
if
(
K
.
call
(
G
[
E
],
E
,
G
[
E
])
===
false
){
break
}}}
else
{
for
(
var
J
=
G
[
0
];
H
<
I
&&
K
.
call
(
J
,
H
,
J
)
!==
false
;
J
=
G
[
++
H
]){}}}
return
G
},
prop
:
function
(
H
,
I
,
G
,
F
,
E
){
if
(
o
.
isFunction
(
I
)){
I
=
I
.
call
(
H
,
F
)}
return
typeof
I
===
"number"
&&
G
==
"curCSS"
&&!
b
.
test
(
E
)
?
I
+
"px"
:
I
},
className
:
{
add
:
function
(
E
,
F
){
o
.
each
((
F
||
""
).
split
(
/\s+/
),
function
(
G
,
H
){
if
(
E
.
nodeType
==
1
&&!
o
.
className
.
has
(
E
.
className
,
H
)){
E
.
className
+=
(
E
.
className
?
" "
:
""
)
+
H
}})},
remove
:
function
(
E
,
F
){
if
(
E
.
nodeType
==
1
){
E
.
className
=
F
!==
g
?
o
.
grep
(
E
.
className
.
split
(
/\s+/
),
function
(
G
){
return
!
o
.
className
.
has
(
F
,
G
)}).
join
(
" "
)
:
""
}},
has
:
function
(
F
,
E
){
return
F
&&
o
.
inArray
(
E
,(
F
.
className
||
F
).
toString
().
split
(
/\s+/
))
>-
1
}},
swap
:
function
(
H
,
G
,
I
){
var
E
=
{};
for
(
var
F
in
G
){
E
[
F
]
=
H
.
style
[
F
];
H
.
style
[
F
]
=
G
[
F
]}
I
.
call
(
H
);
for
(
var
F
in
G
){
H
.
style
[
F
]
=
E
[
F
]}},
css
:
function
(
H
,
F
,
J
,
E
){
if
(
F
==
"width"
||
F
==
"height"
){
var
L
,
G
=
{
position
:
"absolute"
,
visibility
:
"hidden"
,
display
:
"block"
},
K
=
F
==
"width"
?
[
"Left"
,
"Right"
]
:
[
"Top"
,
"Bottom"
];
function
I
(){
L
=
F
==
"width"
?
H
.
offsetWidth
:
H
.
offsetHeight
;
if
(
E
===
"border"
){
return
}
o
.
each
(
K
,
function
(){
if
(
!
E
){
L
-=
parseFloat
(
o
.
curCSS
(
H
,
"padding"
+
this
,
true
))
||
0
}
if
(
E
===
"margin"
){
L
+=
parseFloat
(
o
.
curCSS
(
H
,
"margin"
+
this
,
true
))
||
0
}
else
{
L
-=
parseFloat
(
o
.
curCSS
(
H
,
"border"
+
this
+
"Width"
,
true
))
||
0
}})}
if
(
H
.
offsetWidth
!==
0
){
I
()}
else
{
o
.
swap
(
H
,
G
,
I
)}
return
Math
.
max
(
0
,
Math
.
round
(
L
))}
return
o
.
curCSS
(
H
,
F
,
J
)},
curCSS
:
function
(
I
,
F
,
G
){
var
L
,
E
=
I
.
style
;
if
(
F
==
"opacity"
&&!
o
.
support
.
opacity
){
L
=
o
.
attr
(
E
,
"opacity"
);
return
L
==
""
?
"1"
:
L
}
if
(
F
.
match
(
/float/i
)){
F
=
w
}
if
(
!
G
&&
E
&&
E
[
F
]){
L
=
E
[
F
]}
else
{
if
(
q
.
getComputedStyle
){
if
(
F
.
match
(
/float/i
)){
F
=
"float"
}
F
=
F
.
replace
(
/([A-Z])/g
,
"-$1"
).
toLowerCase
();
var
M
=
q
.
getComputedStyle
(
I
,
null
);
if
(
M
){
L
=
M
.
getPropertyValue
(
F
)}
if
(
F
==
"opacity"
&&
L
==
""
){
L
=
"1"
}}
else
{
if
(
I
.
currentStyle
){
var
J
=
F
.
replace
(
/\-(\w)/g
,
function
(
N
,
O
){
return
O
.
toUpperCase
()});
L
=
I
.
currentStyle
[
F
]
||
I
.
currentStyle
[
J
];
if
(
!
/^\d+(px)?$/i
.
test
(
L
)
&&
/^\d/
.
test
(
L
)){
var
H
=
E
.
left
,
K
=
I
.
runtimeStyle
.
left
;
I
.
runtimeStyle
.
left
=
I
.
currentStyle
.
left
;
E
.
left
=
L
||
0
;
L
=
E
.
pixelLeft
+
"px"
;
E
.
left
=
H
;
I
.
runtimeStyle
.
left
=
K
}}}}
return
L
},
clean
:
function
(
F
,
K
,
I
){
K
=
K
||
document
;
if
(
typeof
K
.
createElement
===
"undefined"
){
K
=
K
.
ownerDocument
||
K
[
0
]
&&
K
[
0
].
ownerDocument
||
document
}
if
(
!
I
&&
F
.
length
===
1
&&
typeof
F
[
0
]
===
"string"
){
var
H
=
/^<(\w+)\s*\/?>$/
.
exec
(
F
[
0
]);
if
(
H
){
return
[
K
.
createElement
(
H
[
1
])]}}
var
G
=
[],
E
=
[],
L
=
K
.
createElement
(
"div"
);
o
.
each
(
F
,
function
(
P
,
S
){
if
(
typeof
S
===
"number"
){
S
+=
""
}
if
(
!
S
){
return
}
if
(
typeof
S
===
"string"
){
S
=
S
.
replace
(
/(<(\w+)[^>]*?)\/>/g
,
function
(
U
,
V
,
T
){
return
T
.
match
(
/^(abbr|br|col|img|input|link|meta|param|hr|area|embed)$/i
)
?
U
:
V
+
"></"
+
T
+
">"
});
var
O
=
S
.
replace
(
/^\s+/
,
""
).
substring
(
0
,
10
).
toLowerCase
();
var
Q
=!
O
.
indexOf
(
"<opt"
)
&&
[
1
,
"<select multiple='multiple'>"
,
"</select>"
]
||!
O
.
indexOf
(
"<leg"
)
&&
[
1
,
"<fieldset>"
,
"</fieldset>"
]
||
O
.
match
(
/^<(thead|tbody|tfoot|colg|cap)/
)
&&
[
1
,
"<table>"
,
"</table>"
]
||!
O
.
indexOf
(
"<tr"
)
&&
[
2
,
"<table><tbody>"
,
"</tbody></table>"
]
||
(
!
O
.
indexOf
(
"<td"
)
||!
O
.
indexOf
(
"<th"
))
&&
[
3
,
"<table><tbody><tr>"
,
"</tr></tbody></table>"
]
||!
O
.
indexOf
(
"<col"
)
&&
[
2
,
"<table><tbody></tbody><colgroup>"
,
"</colgroup></table>"
]
||!
o
.
support
.
htmlSerialize
&&
[
1
,
"div<div>"
,
"</div>"
]
||
[
0
,
""
,
""
];
L
.
innerHTML
=
Q
[
1
]
+
S
+
Q
[
2
];
while
(
Q
[
0
]
--
){
L
=
L
.
lastChild
}
if
(
!
o
.
support
.
tbody
){
var
R
=
/<tbody/i
.
test
(
S
),
N
=!
O
.
indexOf
(
"<table"
)
&&!
R
?
L
.
firstChild
&&
L
.
firstChild
.
childNodes
:
Q
[
1
]
==
"<table>"
&&!
R
?
L
.
childNodes
:
[];
for
(
var
M
=
N
.
length
-
1
;
M
>=
0
;
--
M
){
if
(
o
.
nodeName
(
N
[
M
],
"tbody"
)
&&!
N
[
M
].
childNodes
.
length
){
N
[
M
].
parentNode
.
removeChild
(
N
[
M
])}}}
if
(
!
o
.
support
.
leadingWhitespace
&&
/^\s/
.
test
(
S
)){
L
.
insertBefore
(
K
.
createTextNode
(
S
.
match
(
/^\s*/
)[
0
]),
L
.
firstChild
)}
S
=
o
.
makeArray
(
L
.
childNodes
)}
if
(
S
.
nodeType
){
G
.
push
(
S
)}
else
{
G
=
o
.
merge
(
G
,
S
)}});
if
(
I
){
for
(
var
J
=
0
;
G
[
J
];
J
++
){
if
(
o
.
nodeName
(
G
[
J
],
"script"
)
&&
(
!
G
[
J
].
type
||
G
[
J
].
type
.
toLowerCase
()
===
"text/javascript"
)){
E
.
push
(
G
[
J
].
parentNode
?
G
[
J
].
parentNode
.
removeChild
(
G
[
J
])
:
G
[
J
])}
else
{
if
(
G
[
J
].
nodeType
===
1
){
G
.
splice
.
apply
(
G
,[
J
+
1
,
0
].
concat
(
o
.
makeArray
(
G
[
J
].
getElementsByTagName
(
"script"
))))}
I
.
appendChild
(
G
[
J
])}}
return
E
}
return
G
},
attr
:
function
(
J
,
G
,
K
){
if
(
!
J
||
J
.
nodeType
==
3
||
J
.
nodeType
==
8
){
return
g
}
var
H
=!
o
.
isXMLDoc
(
J
),
L
=
K
!==
g
;
G
=
H
&&
o
.
props
[
G
]
||
G
;
if
(
J
.
tagName
){
var
F
=
/href|src|style/
.
test
(
G
);
if
(
G
==
"selected"
&&
J
.
parentNode
){
J
.
parentNode
.
selectedIndex
}
if
(
G
in
J
&&
H
&&!
F
){
if
(
L
){
if
(
G
==
"type"
&&
o
.
nodeName
(
J
,
"input"
)
&&
J
.
parentNode
){
throw
"type property can't be changed"
}
J
[
G
]
=
K
}
if
(
o
.
nodeName
(
J
,
"form"
)
&&
J
.
getAttributeNode
(
G
)){
return
J
.
getAttributeNode
(
G
).
nodeValue
}
if
(
G
==
"tabIndex"
){
var
I
=
J
.
getAttributeNode
(
"tabIndex"
);
return
I
&&
I
.
specified
?
I
.
value
:
J
.
nodeName
.
match
(
/(button|input|object|select|textarea)/i
)
?
0
:
J
.
nodeName
.
match
(
/^(a|area)$/i
)
&&
J
.
href
?
0
:
g
}
return
J
[
G
]}
if
(
!
o
.
support
.
style
&&
H
&&
G
==
"style"
){
return
o
.
attr
(
J
.
style
,
"cssText"
,
K
)}
if
(
L
){
J
.
setAttribute
(
G
,
""
+
K
)}
var
E
=!
o
.
support
.
hrefNormalized
&&
H
&&
F
?
J
.
getAttribute
(
G
,
2
)
:
J
.
getAttribute
(
G
);
return
E
===
null
?
g
:
E
}
if
(
!
o
.
support
.
opacity
&&
G
==
"opacity"
){
if
(
L
){
J
.
zoom
=
1
;
J
.
filter
=
(
J
.
filter
||
""
).
replace
(
/alpha\([^)]*\)/
,
""
)
+
(
parseInt
(
K
)
+
""
==
"NaN"
?
""
:
"alpha(opacity="
+
K
*
100
+
")"
)}
return
J
.
filter
&&
J
.
filter
.
indexOf
(
"opacity="
)
>=
0
?
(
parseFloat
(
J
.
filter
.
match
(
/opacity=([^)]*)/
)[
1
])
/
100
)
+
""
:
""
}
G
=
G
.
replace
(
/-([a-z])/ig
,
function
(
M
,
N
){
return
N
.
toUpperCase
()});
if
(
L
){
J
[
G
]
=
K
}
return
J
[
G
]},
trim
:
function
(
E
){
return
(
E
||
""
).
replace
(
/^\s+|\s+$/g
,
""
)},
makeArray
:
function
(
G
){
var
E
=
[];
if
(
G
!=
null
){
var
F
=
G
.
length
;
if
(
F
==
null
||
typeof
G
===
"string"
||
o
.
isFunction
(
G
)
||
G
.
setInterval
){
E
[
0
]
=
G
}
else
{
while
(
F
){
E
[
--
F
]
=
G
[
F
]}}}
return
E
},
inArray
:
function
(
G
,
H
){
for
(
var
E
=
0
,
F
=
H
.
length
;
E
<
F
;
E
++
){
if
(
H
[
E
]
===
G
){
return
E
}}
return
-
1
},
merge
:
function
(
H
,
E
){
var
F
=
0
,
G
,
I
=
H
.
length
;
if
(
!
o
.
support
.
getAll
){
while
((
G
=
E
[
F
++
])
!=
null
){
if
(
G
.
nodeType
!=
8
){
H
[
I
++
]
=
G
}}}
else
{
while
((
G
=
E
[
F
++
])
!=
null
){
H
[
I
++
]
=
G
}}
return
H
},
unique
:
function
(
K
){
var
F
=
[],
E
=
{};
try
{
for
(
var
G
=
0
,
H
=
K
.
length
;
G
<
H
;
G
++
){
var
J
=
o
.
data
(
K
[
G
]);
if
(
!
E
[
J
]){
E
[
J
]
=
true
;
F
.
push
(
K
[
G
])}}}
catch
(
I
){
F
=
K
}
return
F
},
grep
:
function
(
F
,
J
,
E
){
var
G
=
[];
for
(
var
H
=
0
,
I
=
F
.
length
;
H
<
I
;
H
++
){
if
(
!
E
!=!
J
(
F
[
H
],
H
)){
G
.
push
(
F
[
H
])}}
return
G
},
map
:
function
(
E
,
J
){
var
F
=
[];
for
(
var
G
=
0
,
H
=
E
.
length
;
G
<
H
;
G
++
){
var
I
=
J
(
E
[
G
],
G
);
if
(
I
!=
null
){
F
[
F
.
length
]
=
I
}}
return
F
.
concat
.
apply
([],
F
)}});
var
C
=
navigator
.
userAgent
.
toLowerCase
();
o
.
browser
=
{
version
:
(
C
.
match
(
/.+(?:rv|it|ra|ie)[\/: ]([\d.]+)/
)
||
[
0
,
"0"
])[
1
],
safari
:
/webkit/
.
test
(
C
),
opera
:
/opera/
.
test
(
C
),
msie
:
/msie/
.
test
(
C
)
&&!
/opera/
.
test
(
C
),
mozilla
:
/mozilla/
.
test
(
C
)
&&!
/(compatible|webkit)/
.
test
(
C
)};
o
.
each
({
parent
:
function
(
E
){
return
E
.
parentNode
},
parents
:
function
(
E
){
return
o
.
dir
(
E
,
"parentNode"
)},
next
:
function
(
E
){
return
o
.
nth
(
E
,
2
,
"nextSibling"
)},
prev
:
function
(
E
){
return
o
.
nth
(
E
,
2
,
"previousSibling"
)},
nextAll
:
function
(
E
){
return
o
.
dir
(
E
,
"nextSibling"
)},
prevAll
:
function
(
E
){
return
o
.
dir
(
E
,
"previousSibling"
)},
siblings
:
function
(
E
){
return
o
.
sibling
(
E
.
parentNode
.
firstChild
,
E
)},
children
:
function
(
E
){
return
o
.
sibling
(
E
.
firstChild
)},
contents
:
function
(
E
){
return
o
.
nodeName
(
E
,
"iframe"
)
?
E
.
contentDocument
||
E
.
contentWindow
.
document
:
o
.
makeArray
(
E
.
childNodes
)}},
function
(
E
,
F
){
o
.
fn
[
E
]
=
function
(
G
){
var
H
=
o
.
map
(
this
,
F
);
if
(
G
&&
typeof
G
==
"string"
){
H
=
o
.
multiFilter
(
G
,
H
)}
return
this
.
pushStack
(
o
.
unique
(
H
),
E
,
G
)}});
o
.
each
({
appendTo
:
"append"
,
prependTo
:
"prepend"
,
insertBefore
:
"before"
,
insertAfter
:
"after"
,
replaceAll
:
"replaceWith"
},
function
(
E
,
F
){
o
.
fn
[
E
]
=
function
(
G
){
var
J
=
[],
L
=
o
(
G
);
for
(
var
K
=
0
,
H
=
L
.
length
;
K
<
H
;
K
++
){
var
I
=
(
K
>
0
?
this
.
clone
(
true
)
:
this
).
get
();
o
.
fn
[
F
].
apply
(
o
(
L
[
K
]),
I
);
J
=
J
.
concat
(
I
)}
return
this
.
pushStack
(
J
,
E
,
G
)}});
o
.
each
({
removeAttr
:
function
(
E
){
o
.
attr
(
this
,
E
,
""
);
if
(
this
.
nodeType
==
1
){
this
.
removeAttribute
(
E
)}},
addClass
:
function
(
E
){
o
.
className
.
add
(
this
,
E
)},
removeClass
:
function
(
E
){
o
.
className
.
remove
(
this
,
E
)},
toggleClass
:
function
(
F
,
E
){
if
(
typeof
E
!==
"boolean"
){
E
=!
o
.
className
.
has
(
this
,
F
)}
o
.
className
[
E
?
"add"
:
"remove"
](
this
,
F
)},
remove
:
function
(
E
){
if
(
!
E
||
o
.
filter
(
E
,[
this
]).
length
){
o
(
"*"
,
this
).
add
([
this
]).
each
(
function
(){
o
.
event
.
remove
(
this
);
o
.
removeData
(
this
)});
if
(
this
.
parentNode
){
this
.
parentNode
.
removeChild
(
this
)}}},
empty
:
function
(){
o
(
this
).
children
().
remove
();
while
(
this
.
firstChild
){
this
.
removeChild
(
this
.
firstChild
)}}},
function
(
E
,
F
){
o
.
fn
[
E
]
=
function
(){
return
this
.
each
(
F
,
arguments
)}});
function
j
(
E
,
F
){
return
E
[
0
]
&&
parseInt
(
o
.
curCSS
(
E
[
0
],
F
,
true
),
10
)
||
0
}
var
h
=
"jQuery"
+
e
(),
v
=
0
,
A
=
{};
o
.
extend
({
cache
:
{},
data
:
function
(
F
,
E
,
G
){
F
=
F
==
l
?
A
:
F
;
var
H
=
F
[
h
];
if
(
!
H
){
H
=
F
[
h
]
=++
v
}
if
(
E
&&!
o
.
cache
[
H
]){
o
.
cache
[
H
]
=
{}}
if
(
G
!==
g
){
o
.
cache
[
H
][
E
]
=
G
}
return
E
?
o
.
cache
[
H
][
E
]
:
H
},
removeData
:
function
(
F
,
E
){
F
=
F
==
l
?
A
:
F
;
var
H
=
F
[
h
];
if
(
E
){
if
(
o
.
cache
[
H
]){
delete
o
.
cache
[
H
][
E
];
E
=
""
;
for
(
E
in
o
.
cache
[
H
]){
break
}
if
(
!
E
){
o
.
removeData
(
F
)}}}
else
{
try
{
delete
F
[
h
]}
catch
(
G
){
if
(
F
.
removeAttribute
){
F
.
removeAttribute
(
h
)}}
delete
o
.
cache
[
H
]}},
queue
:
function
(
F
,
E
,
H
){
if
(
F
){
E
=
(
E
||
"fx"
)
+
"queue"
;
var
G
=
o
.
data
(
F
,
E
);
if
(
!
G
||
o
.
isArray
(
H
)){
G
=
o
.
data
(
F
,
E
,
o
.
makeArray
(
H
))}
else
{
if
(
H
){
G
.
push
(
H
)}}}
return
G
},
dequeue
:
function
(
H
,
G
){
var
E
=
o
.
queue
(
H
,
G
),
F
=
E
.
shift
();
if
(
!
G
||
G
===
"fx"
){
F
=
E
[
0
]}
if
(
F
!==
g
){
F
.
call
(
H
)}}});
o
.
fn
.
extend
({
data
:
function
(
E
,
G
){
var
H
=
E
.
split
(
"."
);
H
[
1
]
=
H
[
1
]
?
"."
+
H
[
1
]
:
""
;
if
(
G
===
g
){
var
F
=
this
.
triggerHandler
(
"getData"
+
H
[
1
]
+
"!"
,[
H
[
0
]]);
if
(
F
===
g
&&
this
.
length
){
F
=
o
.
data
(
this
[
0
],
E
)}
return
F
===
g
&&
H
[
1
]
?
this
.
data
(
H
[
0
])
:
F
}
else
{
return
this
.
trigger
(
"setData"
+
H
[
1
]
+
"!"
,[
H
[
0
],
G
]).
each
(
function
(){
o
.
data
(
this
,
E
,
G
)})}},
removeData
:
function
(
E
){
return
this
.
each
(
function
(){
o
.
removeData
(
this
,
E
)})},
queue
:
function
(
E
,
F
){
if
(
typeof
E
!==
"string"
){
F
=
E
;
E
=
"fx"
}
if
(
F
===
g
){
return
o
.
queue
(
this
[
0
],
E
)}
return
this
.
each
(
function
(){
var
G
=
o
.
queue
(
this
,
E
,
F
);
if
(
E
==
"fx"
&&
G
.
length
==
1
){
G
[
0
].
call
(
this
)}})},
dequeue
:
function
(
E
){
return
this
.
each
(
function
(){
o
.
dequeue
(
this
,
E
)})}});
/*
* Sizzle CSS Selector Engine - v0.9.3
* Copyright 2009, The Dojo Foundation
* Released under the MIT, BSD, and GPL Licenses.
* More information: http://sizzlejs.com/
*/
(
function
(){
var
R
=
/((?:\((?:\([^()]+\)|[^()]+)+\)|\[(?:\[[^[\]]*\]|['"][^'"]*['"]|[^[\]'"]+)+\]|\\.|[^ >+~,(\[\\]+)+|[>+~])(\s*,\s*)?/g
,
L
=
0
,
H
=
Object
.
prototype
.
toString
;
var
F
=
function
(
Y
,
U
,
ab
,
ac
){
ab
=
ab
||
[];
U
=
U
||
document
;
if
(
U
.
nodeType
!==
1
&&
U
.
nodeType
!==
9
){
return
[]}
if
(
!
Y
||
typeof
Y
!==
"string"
){
return
ab
}
var
Z
=
[],
W
,
af
,
ai
,
T
,
ad
,
V
,
X
=
true
;
R
.
lastIndex
=
0
;
while
((
W
=
R
.
exec
(
Y
))
!==
null
){
Z
.
push
(
W
[
1
]);
if
(
W
[
2
]){
V
=
RegExp
.
rightContext
;
break
}}
if
(
Z
.
length
>
1
&&
M
.
exec
(
Y
)){
if
(
Z
.
length
===
2
&&
I
.
relative
[
Z
[
0
]]){
af
=
J
(
Z
[
0
]
+
Z
[
1
],
U
)}
else
{
af
=
I
.
relative
[
Z
[
0
]]
?
[
U
]
:
F
(
Z
.
shift
(),
U
);
while
(
Z
.
length
){
Y
=
Z
.
shift
();
if
(
I
.
relative
[
Y
]){
Y
+=
Z
.
shift
()}
af
=
J
(
Y
,
af
)}}}
else
{
var
ae
=
ac
?
{
expr
:
Z
.
pop
(),
set
:
E
(
ac
)}
:
F
.
find
(
Z
.
pop
(),
Z
.
length
===
1
&&
U
.
parentNode
?
U
.
parentNode
:
U
,
Q
(
U
));
af
=
F
.
filter
(
ae
.
expr
,
ae
.
set
);
if
(
Z
.
length
>
0
){
ai
=
E
(
af
)}
else
{
X
=
false
}
while
(
Z
.
length
){
var
ah
=
Z
.
pop
(),
ag
=
ah
;
if
(
!
I
.
relative
[
ah
]){
ah
=
""
}
else
{
ag
=
Z
.
pop
()}
if
(
ag
==
null
){
ag
=
U
}
I
.
relative
[
ah
](
ai
,
ag
,
Q
(
U
))}}
if
(
!
ai
){
ai
=
af
}
if
(
!
ai
){
throw
"Syntax error, unrecognized expression: "
+
(
ah
||
Y
)}
if
(
H
.
call
(
ai
)
===
"[object Array]"
){
if
(
!
X
){
ab
.
push
.
apply
(
ab
,
ai
)}
else
{
if
(
U
.
nodeType
===
1
){
for
(
var
aa
=
0
;
ai
[
aa
]
!=
null
;
aa
++
){
if
(
ai
[
aa
]
&&
(
ai
[
aa
]
===
true
||
ai
[
aa
].
nodeType
===
1
&&
K
(
U
,
ai
[
aa
]))){
ab
.
push
(
af
[
aa
])}}}
else
{
for
(
var
aa
=
0
;
ai
[
aa
]
!=
null
;
aa
++
){
if
(
ai
[
aa
]
&&
ai
[
aa
].
nodeType
===
1
){
ab
.
push
(
af
[
aa
])}}}}}
else
{
E
(
ai
,
ab
)}
if
(
V
){
F
(
V
,
U
,
ab
,
ac
);
if
(
G
){
hasDuplicate
=
false
;
ab
.
sort
(
G
);
if
(
hasDuplicate
){
for
(
var
aa
=
1
;
aa
<
ab
.
length
;
aa
++
){
if
(
ab
[
aa
]
===
ab
[
aa
-
1
]){
ab
.
splice
(
aa
--
,
1
)}}}}}
return
ab
};
F
.
matches
=
function
(
T
,
U
){
return
F
(
T
,
null
,
null
,
U
)};
F
.
find
=
function
(
aa
,
T
,
ab
){
var
Z
,
X
;
if
(
!
aa
){
return
[]}
for
(
var
W
=
0
,
V
=
I
.
order
.
length
;
W
<
V
;
W
++
){
var
Y
=
I
.
order
[
W
],
X
;
if
((
X
=
I
.
match
[
Y
].
exec
(
aa
))){
var
U
=
RegExp
.
leftContext
;
if
(
U
.
substr
(
U
.
length
-
1
)
!==
"\\"
){
X
[
1
]
=
(
X
[
1
]
||
""
).
replace
(
/\\/g
,
""
);
Z
=
I
.
find
[
Y
](
X
,
T
,
ab
);
if
(
Z
!=
null
){
aa
=
aa
.
replace
(
I
.
match
[
Y
],
""
);
break
}}}}
if
(
!
Z
){
Z
=
T
.
getElementsByTagName
(
"*"
)}
return
{
set
:
Z
,
expr
:
aa
}};
F
.
filter
=
function
(
ad
,
ac
,
ag
,
W
){
var
V
=
ad
,
ai
=
[],
aa
=
ac
,
Y
,
T
,
Z
=
ac
&&
ac
[
0
]
&&
Q
(
ac
[
0
]);
while
(
ad
&&
ac
.
length
){
for
(
var
ab
in
I
.
filter
){
if
((
Y
=
I
.
match
[
ab
].
exec
(
ad
))
!=
null
){
var
U
=
I
.
filter
[
ab
],
ah
,
af
;
T
=
false
;
if
(
aa
==
ai
){
ai
=
[]}
if
(
I
.
preFilter
[
ab
]){
Y
=
I
.
preFilter
[
ab
](
Y
,
aa
,
ag
,
ai
,
W
,
Z
);
if
(
!
Y
){
T
=
ah
=
true
}
else
{
if
(
Y
===
true
){
continue
}}}
if
(
Y
){
for
(
var
X
=
0
;(
af
=
aa
[
X
])
!=
null
;
X
++
){
if
(
af
){
ah
=
U
(
af
,
Y
,
X
,
aa
);
var
ae
=
W
^!!
ah
;
if
(
ag
&&
ah
!=
null
){
if
(
ae
){
T
=
true
}
else
{
aa
[
X
]
=
false
}}
else
{
if
(
ae
){
ai
.
push
(
af
);
T
=
true
}}}}}
if
(
ah
!==
g
){
if
(
!
ag
){
aa
=
ai
}
ad
=
ad
.
replace
(
I
.
match
[
ab
],
""
);
if
(
!
T
){
return
[]}
break
}}}
if
(
ad
==
V
){
if
(
T
==
null
){
throw
"Syntax error, unrecognized expression: "
+
ad
}
else
{
break
}}
V
=
ad
}
return
aa
};
var
I
=
F
.
selectors
=
{
order
:
[
"ID"
,
"NAME"
,
"TAG"
],
match
:
{
ID
:
/#((?:[\w\u00c0-\uFFFF_-]|\\.)+)/
,
CLASS
:
/\.((?:[\w\u00c0-\uFFFF_-]|\\.)+)/
,
NAME
:
/\[name=['"]*((?:[\w\u00c0-\uFFFF_-]|\\.)+)['"]*\]/
,
ATTR
:
/\[\s*((?:[\w\u00c0-\uFFFF_-]|\\.)+)\s*(?:(\S?=)\s*(['"]*)(.*?)\3|)\s*\]/
,
TAG
:
/^((?:[\w\u00c0-\uFFFF\*_-]|\\.)+)/
,
CHILD
:
/:(only|nth|last|first)-child(?:\((even|odd|[\dn+-]*)\))?/
,
POS
:
/:(nth|eq|gt|lt|first|last|even|odd)(?:\((\d*)\))?(?=[^-]|$)/
,
PSEUDO
:
/:((?:[\w\u00c0-\uFFFF_-]|\\.)+)(?:\((['"]*)((?:\([^\)]+\)|[^\2\(\)]*)+)\2\))?/
},
attrMap
:
{
"class"
:
"className"
,
"for"
:
"htmlFor"
},
attrHandle
:
{
href
:
function
(
T
){
return
T
.
getAttribute
(
"href"
)}},
relative
:
{
"+"
:
function
(
aa
,
T
,
Z
){
var
X
=
typeof
T
===
"string"
,
ab
=
X
&&!
/\W/
.
test
(
T
),
Y
=
X
&&!
ab
;
if
(
ab
&&!
Z
){
T
=
T
.
toUpperCase
()}
for
(
var
W
=
0
,
V
=
aa
.
length
,
U
;
W
<
V
;
W
++
){
if
((
U
=
aa
[
W
])){
while
((
U
=
U
.
previousSibling
)
&&
U
.
nodeType
!==
1
){}
aa
[
W
]
=
Y
||
U
&&
U
.
nodeName
===
T
?
U
||
false
:
U
===
T
}}
if
(
Y
){
F
.
filter
(
T
,
aa
,
true
)}},
">"
:
function
(
Z
,
U
,
aa
){
var
X
=
typeof
U
===
"string"
;
if
(
X
&&!
/\W/
.
test
(
U
)){
U
=
aa
?
U
:
U
.
toUpperCase
();
for
(
var
V
=
0
,
T
=
Z
.
length
;
V
<
T
;
V
++
){
var
Y
=
Z
[
V
];
if
(
Y
){
var
W
=
Y
.
parentNode
;
Z
[
V
]
=
W
.
nodeName
===
U
?
W
:
false
}}}
else
{
for
(
var
V
=
0
,
T
=
Z
.
length
;
V
<
T
;
V
++
){
var
Y
=
Z
[
V
];
if
(
Y
){
Z
[
V
]
=
X
?
Y
.
parentNode
:
Y
.
parentNode
===
U
}}
if
(
X
){
F
.
filter
(
U
,
Z
,
true
)}}},
""
:
function
(
W
,
U
,
Y
){
var
V
=
L
++
,
T
=
S
;
if
(
!
U
.
match
(
/\W/
)){
var
X
=
U
=
Y
?
U
:
U
.
toUpperCase
();
T
=
P
}
T
(
"parentNode"
,
U
,
V
,
W
,
X
,
Y
)},
"~"
:
function
(
W
,
U
,
Y
){
var
V
=
L
++
,
T
=
S
;
if
(
typeof
U
===
"string"
&&!
U
.
match
(
/\W/
)){
var
X
=
U
=
Y
?
U
:
U
.
toUpperCase
();
T
=
P
}
T
(
"previousSibling"
,
U
,
V
,
W
,
X
,
Y
)}},
find
:
{
ID
:
function
(
U
,
V
,
W
){
if
(
typeof
V
.
getElementById
!==
"undefined"
&&!
W
){
var
T
=
V
.
getElementById
(
U
[
1
]);
return
T
?
[
T
]
:
[]}},
NAME
:
function
(
V
,
Y
,
Z
){
if
(
typeof
Y
.
getElementsByName
!==
"undefined"
){
var
U
=
[],
X
=
Y
.
getElementsByName
(
V
[
1
]);
for
(
var
W
=
0
,
T
=
X
.
length
;
W
<
T
;
W
++
){
if
(
X
[
W
].
getAttribute
(
"name"
)
===
V
[
1
]){
U
.
push
(
X
[
W
])}}
return
U
.
length
===
0
?
null
:
U
}},
TAG
:
function
(
T
,
U
){
return
U
.
getElementsByTagName
(
T
[
1
])}},
preFilter
:
{
CLASS
:
function
(
W
,
U
,
V
,
T
,
Z
,
aa
){
W
=
" "
+
W
[
1
].
replace
(
/\\/g
,
""
)
+
" "
;
if
(
aa
){
return
W
}
for
(
var
X
=
0
,
Y
;(
Y
=
U
[
X
])
!=
null
;
X
++
){
if
(
Y
){
if
(
Z
^
(
Y
.
className
&&
(
" "
+
Y
.
className
+
" "
).
indexOf
(
W
)
>=
0
)){
if
(
!
V
){
T
.
push
(
Y
)}}
else
{
if
(
V
){
U
[
X
]
=
false
}}}}
return
false
},
ID
:
function
(
T
){
return
T
[
1
].
replace
(
/\\/g
,
""
)},
TAG
:
function
(
U
,
T
){
for
(
var
V
=
0
;
T
[
V
]
===
false
;
V
++
){}
return
T
[
V
]
&&
Q
(
T
[
V
])
?
U
[
1
]
:
U
[
1
].
toUpperCase
()},
CHILD
:
function
(
T
){
if
(
T
[
1
]
==
"nth"
){
var
U
=
/(-?)(\d*)n((?:\+|-)?\d*)/
.
exec
(
T
[
2
]
==
"even"
&&
"2n"
||
T
[
2
]
==
"odd"
&&
"2n+1"
||!
/\D/
.
test
(
T
[
2
])
&&
"0n+"
+
T
[
2
]
||
T
[
2
]);
T
[
2
]
=
(
U
[
1
]
+
(
U
[
2
]
||
1
))
-
0
;
T
[
3
]
=
U
[
3
]
-
0
}
T
[
0
]
=
L
++
;
return
T
},
ATTR
:
function
(
X
,
U
,
V
,
T
,
Y
,
Z
){
var
W
=
X
[
1
].
replace
(
/\\/g
,
""
);
if
(
!
Z
&&
I
.
attrMap
[
W
]){
X
[
1
]
=
I
.
attrMap
[
W
]}
if
(
X
[
2
]
===
"~="
){
X
[
4
]
=
" "
+
X
[
4
]
+
" "
}
return
X
},
PSEUDO
:
function
(
X
,
U
,
V
,
T
,
Y
){
if
(
X
[
1
]
===
"not"
){
if
(
X
[
3
].
match
(
R
).
length
>
1
||
/^\w/
.
test
(
X
[
3
])){
X
[
3
]
=
F
(
X
[
3
],
null
,
null
,
U
)}
else
{
var
W
=
F
.
filter
(
X
[
3
],
U
,
V
,
true
^
Y
);
if
(
!
V
){
T
.
push
.
apply
(
T
,
W
)}
return
false
}}
else
{
if
(
I
.
match
.
POS
.
test
(
X
[
0
])
||
I
.
match
.
CHILD
.
test
(
X
[
0
])){
return
true
}}
return
X
},
POS
:
function
(
T
){
T
.
unshift
(
true
);
return
T
}},
filters
:
{
enabled
:
function
(
T
){
return
T
.
disabled
===
false
&&
T
.
type
!==
"hidden"
},
disabled
:
function
(
T
){
return
T
.
disabled
===
true
},
checked
:
function
(
T
){
return
T
.
checked
===
true
},
selected
:
function
(
T
){
T
.
parentNode
.
selectedIndex
;
return
T
.
selected
===
true
},
parent
:
function
(
T
){
return
!!
T
.
firstChild
},
empty
:
function
(
T
){
return
!
T
.
firstChild
},
has
:
function
(
V
,
U
,
T
){
return
!!
F
(
T
[
3
],
V
).
length
},
header
:
function
(
T
){
return
/h\d/i
.
test
(
T
.
nodeName
)},
text
:
function
(
T
){
return
"text"
===
T
.
type
},
radio
:
function
(
T
){
return
"radio"
===
T
.
type
},
checkbox
:
function
(
T
){
return
"checkbox"
===
T
.
type
},
file
:
function
(
T
){
return
"file"
===
T
.
type
},
password
:
function
(
T
){
return
"password"
===
T
.
type
},
submit
:
function
(
T
){
return
"submit"
===
T
.
type
},
image
:
function
(
T
){
return
"image"
===
T
.
type
},
reset
:
function
(
T
){
return
"reset"
===
T
.
type
},
button
:
function
(
T
){
return
"button"
===
T
.
type
||
T
.
nodeName
.
toUpperCase
()
===
"BUTTON"
},
input
:
function
(
T
){
return
/input|select|textarea|button/i
.
test
(
T
.
nodeName
)}},
setFilters
:
{
first
:
function
(
U
,
T
){
return
T
===
0
},
last
:
function
(
V
,
U
,
T
,
W
){
return
U
===
W
.
length
-
1
},
even
:
function
(
U
,
T
){
return
T
%
2
===
0
},
odd
:
function
(
U
,
T
){
return
T
%
2
===
1
},
lt
:
function
(
V
,
U
,
T
){
return
U
<
T
[
3
]
-
0
},
gt
:
function
(
V
,
U
,
T
){
return
U
>
T
[
3
]
-
0
},
nth
:
function
(
V
,
U
,
T
){
return
T
[
3
]
-
0
==
U
},
eq
:
function
(
V
,
U
,
T
){
return
T
[
3
]
-
0
==
U
}},
filter
:
{
PSEUDO
:
function
(
Z
,
V
,
W
,
aa
){
var
U
=
V
[
1
],
X
=
I
.
filters
[
U
];
if
(
X
){
return
X
(
Z
,
W
,
V
,
aa
)}
else
{
if
(
U
===
"contains"
){
return
(
Z
.
textContent
||
Z
.
innerText
||
""
).
indexOf
(
V
[
3
])
>=
0
}
else
{
if
(
U
===
"not"
){
var
Y
=
V
[
3
];
for
(
var
W
=
0
,
T
=
Y
.
length
;
W
<
T
;
W
++
){
if
(
Y
[
W
]
===
Z
){
return
false
}}
return
true
}}}},
CHILD
:
function
(
T
,
W
){
var
Z
=
W
[
1
],
U
=
T
;
switch
(
Z
){
case
"only"
:
case
"first"
:
while
(
U
=
U
.
previousSibling
){
if
(
U
.
nodeType
===
1
){
return
false
}}
if
(
Z
==
"first"
){
return
true
}
U
=
T
;
case
"last"
:
while
(
U
=
U
.
nextSibling
){
if
(
U
.
nodeType
===
1
){
return
false
}}
return
true
;
case
"nth"
:
var
V
=
W
[
2
],
ac
=
W
[
3
];
if
(
V
==
1
&&
ac
==
0
){
return
true
}
var
Y
=
W
[
0
],
ab
=
T
.
parentNode
;
if
(
ab
&&
(
ab
.
sizcache
!==
Y
||!
T
.
nodeIndex
)){
var
X
=
0
;
for
(
U
=
ab
.
firstChild
;
U
;
U
=
U
.
nextSibling
){
if
(
U
.
nodeType
===
1
){
U
.
nodeIndex
=++
X
}}
ab
.
sizcache
=
Y
}
var
aa
=
T
.
nodeIndex
-
ac
;
if
(
V
==
0
){
return
aa
==
0
}
else
{
return
(
aa
%
V
==
0
&&
aa
/
V
>=
0
)}}},
ID
:
function
(
U
,
T
){
return
U
.
nodeType
===
1
&&
U
.
getAttribute
(
"id"
)
===
T
},
TAG
:
function
(
U
,
T
){
return
(
T
===
"*"
&&
U
.
nodeType
===
1
)
||
U
.
nodeName
===
T
},
CLASS
:
function
(
U
,
T
){
return
(
" "
+
(
U
.
className
||
U
.
getAttribute
(
"class"
))
+
" "
).
indexOf
(
T
)
>-
1
},
ATTR
:
function
(
Y
,
W
){
var
V
=
W
[
1
],
T
=
I
.
attrHandle
[
V
]
?
I
.
attrHandle
[
V
](
Y
)
:
Y
[
V
]
!=
null
?
Y
[
V
]
:
Y
.
getAttribute
(
V
),
Z
=
T
+
""
,
X
=
W
[
2
],
U
=
W
[
4
];
return
T
==
null
?
X
===
"!="
:
X
===
"="
?
Z
===
U
:
X
===
"*="
?
Z
.
indexOf
(
U
)
>=
0
:
X
===
"~="
?
(
" "
+
Z
+
" "
).
indexOf
(
U
)
>=
0
:!
U
?
Z
&&
T
!==
false
:
X
===
"!="
?
Z
!=
U
:
X
===
"^="
?
Z
.
indexOf
(
U
)
===
0
:
X
===
"$="
?
Z
.
substr
(
Z
.
length
-
U
.
length
)
===
U
:
X
===
"|="
?
Z
===
U
||
Z
.
substr
(
0
,
U
.
length
+
1
)
===
U
+
"-"
:
false
},
POS
:
function
(
X
,
U
,
V
,
Y
){
var
T
=
U
[
2
],
W
=
I
.
setFilters
[
T
];
if
(
W
){
return
W
(
X
,
V
,
U
,
Y
)}}}};
var
M
=
I
.
match
.
POS
;
for
(
var
O
in
I
.
match
){
I
.
match
[
O
]
=
RegExp
(
I
.
match
[
O
].
source
+
/(?![^\[]*\])(?![^\(]*\))/
.
source
)}
var
E
=
function
(
U
,
T
){
U
=
Array
.
prototype
.
slice
.
call
(
U
);
if
(
T
){
T
.
push
.
apply
(
T
,
U
);
return
T
}
return
U
};
try
{
Array
.
prototype
.
slice
.
call
(
document
.
documentElement
.
childNodes
)}
catch
(
N
){
E
=
function
(
X
,
W
){
var
U
=
W
||
[];
if
(
H
.
call
(
X
)
===
"[object Array]"
){
Array
.
prototype
.
push
.
apply
(
U
,
X
)}
else
{
if
(
typeof
X
.
length
===
"number"
){
for
(
var
V
=
0
,
T
=
X
.
length
;
V
<
T
;
V
++
){
U
.
push
(
X
[
V
])}}
else
{
for
(
var
V
=
0
;
X
[
V
];
V
++
){
U
.
push
(
X
[
V
])}}}
return
U
}}
var
G
;
if
(
document
.
documentElement
.
compareDocumentPosition
){
G
=
function
(
U
,
T
){
var
V
=
U
.
compareDocumentPosition
(
T
)
&
4
?-
1
:
U
===
T
?
0
:
1
;
if
(
V
===
0
){
hasDuplicate
=
true
}
return
V
}}
else
{
if
(
"sourceIndex"
in
document
.
documentElement
){
G
=
function
(
U
,
T
){
var
V
=
U
.
sourceIndex
-
T
.
sourceIndex
;
if
(
V
===
0
){
hasDuplicate
=
true
}
return
V
}}
else
{
if
(
document
.
createRange
){
G
=
function
(
W
,
U
){
var
V
=
W
.
ownerDocument
.
createRange
(),
T
=
U
.
ownerDocument
.
createRange
();
V
.
selectNode
(
W
);
V
.
collapse
(
true
);
T
.
selectNode
(
U
);
T
.
collapse
(
true
);
var
X
=
V
.
compareBoundaryPoints
(
Range
.
START_TO_END
,
T
);
if
(
X
===
0
){
hasDuplicate
=
true
}
return
X
}}}}(
function
(){
var
U
=
document
.
createElement
(
"form"
),
V
=
"script"
+
(
new
Date
).
getTime
();
U
.
innerHTML
=
"<input name='"
+
V
+
"'/>"
;
var
T
=
document
.
documentElement
;
T
.
insertBefore
(
U
,
T
.
firstChild
);
if
(
!!
document
.
getElementById
(
V
)){
I
.
find
.
ID
=
function
(
X
,
Y
,
Z
){
if
(
typeof
Y
.
getElementById
!==
"undefined"
&&!
Z
){
var
W
=
Y
.
getElementById
(
X
[
1
]);
return
W
?
W
.
id
===
X
[
1
]
||
typeof
W
.
getAttributeNode
!==
"undefined"
&&
W
.
getAttributeNode
(
"id"
).
nodeValue
===
X
[
1
]
?
[
W
]
:
g
:
[]}};
I
.
filter
.
ID
=
function
(
Y
,
W
){
var
X
=
typeof
Y
.
getAttributeNode
!==
"undefined"
&&
Y
.
getAttributeNode
(
"id"
);
return
Y
.
nodeType
===
1
&&
X
&&
X
.
nodeValue
===
W
}}
T
.
removeChild
(
U
)})();(
function
(){
var
T
=
document
.
createElement
(
"div"
);
T
.
appendChild
(
document
.
createComment
(
""
));
if
(
T
.
getElementsByTagName
(
"*"
).
length
>
0
){
I
.
find
.
TAG
=
function
(
U
,
Y
){
var
X
=
Y
.
getElementsByTagName
(
U
[
1
]);
if
(
U
[
1
]
===
"*"
){
var
W
=
[];
for
(
var
V
=
0
;
X
[
V
];
V
++
){
if
(
X
[
V
].
nodeType
===
1
){
W
.
push
(
X
[
V
])}}
X
=
W
}
return
X
}}
T
.
innerHTML
=
"<a href='#'></a>"
;
if
(
T
.
firstChild
&&
typeof
T
.
firstChild
.
getAttribute
!==
"undefined"
&&
T
.
firstChild
.
getAttribute
(
"href"
)
!==
"#"
){
I
.
attrHandle
.
href
=
function
(
U
){
return
U
.
getAttribute
(
"href"
,
2
)}}})();
if
(
document
.
querySelectorAll
){(
function
(){
var
T
=
F
,
U
=
document
.
createElement
(
"div"
);
U
.
innerHTML
=
"<p class='TEST'></p>"
;
if
(
U
.
querySelectorAll
&&
U
.
querySelectorAll
(
".TEST"
).
length
===
0
){
return
}
F
=
function
(
Y
,
X
,
V
,
W
){
X
=
X
||
document
;
if
(
!
W
&&
X
.
nodeType
===
9
&&!
Q
(
X
)){
try
{
return
E
(
X
.
querySelectorAll
(
Y
),
V
)}
catch
(
Z
){}}
return
T
(
Y
,
X
,
V
,
W
)};
F
.
find
=
T
.
find
;
F
.
filter
=
T
.
filter
;
F
.
selectors
=
T
.
selectors
;
F
.
matches
=
T
.
matches
})()}
if
(
document
.
getElementsByClassName
&&
document
.
documentElement
.
getElementsByClassName
){(
function
(){
var
T
=
document
.
createElement
(
"div"
);
T
.
innerHTML
=
"<div class='test e'></div><div class='test'></div>"
;
if
(
T
.
getElementsByClassName
(
"e"
).
length
===
0
){
return
}
T
.
lastChild
.
className
=
"e"
;
if
(
T
.
getElementsByClassName
(
"e"
).
length
===
1
){
return
}
I
.
order
.
splice
(
1
,
0
,
"CLASS"
);
I
.
find
.
CLASS
=
function
(
U
,
V
,
W
){
if
(
typeof
V
.
getElementsByClassName
!==
"undefined"
&&!
W
){
return
V
.
getElementsByClassName
(
U
[
1
])}}})()}
function
P
(
U
,
Z
,
Y
,
ad
,
aa
,
ac
){
var
ab
=
U
==
"previousSibling"
&&!
ac
;
for
(
var
W
=
0
,
V
=
ad
.
length
;
W
<
V
;
W
++
){
var
T
=
ad
[
W
];
if
(
T
){
if
(
ab
&&
T
.
nodeType
===
1
){
T
.
sizcache
=
Y
;
T
.
sizset
=
W
}
T
=
T
[
U
];
var
X
=
false
;
while
(
T
){
if
(
T
.
sizcache
===
Y
){
X
=
ad
[
T
.
sizset
];
break
}
if
(
T
.
nodeType
===
1
&&!
ac
){
T
.
sizcache
=
Y
;
T
.
sizset
=
W
}
if
(
T
.
nodeName
===
Z
){
X
=
T
;
break
}
T
=
T
[
U
]}
ad
[
W
]
=
X
}}}
function
S
(
U
,
Z
,
Y
,
ad
,
aa
,
ac
){
var
ab
=
U
==
"previousSibling"
&&!
ac
;
for
(
var
W
=
0
,
V
=
ad
.
length
;
W
<
V
;
W
++
){
var
T
=
ad
[
W
];
if
(
T
){
if
(
ab
&&
T
.
nodeType
===
1
){
T
.
sizcache
=
Y
;
T
.
sizset
=
W
}
T
=
T
[
U
];
var
X
=
false
;
while
(
T
){
if
(
T
.
sizcache
===
Y
){
X
=
ad
[
T
.
sizset
];
break
}
if
(
T
.
nodeType
===
1
){
if
(
!
ac
){
T
.
sizcache
=
Y
;
T
.
sizset
=
W
}
if
(
typeof
Z
!==
"string"
){
if
(
T
===
Z
){
X
=
true
;
break
}}
else
{
if
(
F
.
filter
(
Z
,[
T
]).
length
>
0
){
X
=
T
;
break
}}}
T
=
T
[
U
]}
ad
[
W
]
=
X
}}}
var
K
=
document
.
compareDocumentPosition
?
function
(
U
,
T
){
return
U
.
compareDocumentPosition
(
T
)
&
16
}
:
function
(
U
,
T
){
return
U
!==
T
&&
(
U
.
contains
?
U
.
contains
(
T
)
:
true
)};
var
Q
=
function
(
T
){
return
T
.
nodeType
===
9
&&
T
.
documentElement
.
nodeName
!==
"HTML"
||!!
T
.
ownerDocument
&&
Q
(
T
.
ownerDocument
)};
var
J
=
function
(
T
,
aa
){
var
W
=
[],
X
=
""
,
Y
,
V
=
aa
.
nodeType
?
[
aa
]
:
aa
;
while
((
Y
=
I
.
match
.
PSEUDO
.
exec
(
T
))){
X
+=
Y
[
0
];
T
=
T
.
replace
(
I
.
match
.
PSEUDO
,
""
)}
T
=
I
.
relative
[
T
]
?
T
+
"*"
:
T
;
for
(
var
Z
=
0
,
U
=
V
.
length
;
Z
<
U
;
Z
++
){
F
(
T
,
V
[
Z
],
W
)}
return
F
.
filter
(
X
,
W
)};
o
.
find
=
F
;
o
.
filter
=
F
.
filter
;
o
.
expr
=
F
.
selectors
;
o
.
expr
[
":"
]
=
o
.
expr
.
filters
;
F
.
selectors
.
filters
.
hidden
=
function
(
T
){
return
T
.
offsetWidth
===
0
||
T
.
offsetHeight
===
0
};
F
.
selectors
.
filters
.
visible
=
function
(
T
){
return
T
.
offsetWidth
>
0
||
T
.
offsetHeight
>
0
};
F
.
selectors
.
filters
.
animated
=
function
(
T
){
return
o
.
grep
(
o
.
timers
,
function
(
U
){
return
T
===
U
.
elem
}).
length
};
o
.
multiFilter
=
function
(
V
,
T
,
U
){
if
(
U
){
V
=
":not("
+
V
+
")"
}
return
F
.
matches
(
V
,
T
)};
o
.
dir
=
function
(
V
,
U
){
var
T
=
[],
W
=
V
[
U
];
while
(
W
&&
W
!=
document
){
if
(
W
.
nodeType
==
1
){
T
.
push
(
W
)}
W
=
W
[
U
]}
return
T
};
o
.
nth
=
function
(
X
,
T
,
V
,
W
){
T
=
T
||
1
;
var
U
=
0
;
for
(;
X
;
X
=
X
[
V
]){
if
(
X
.
nodeType
==
1
&&++
U
==
T
){
break
}}
return
X
};
o
.
sibling
=
function
(
V
,
U
){
var
T
=
[];
for
(;
V
;
V
=
V
.
nextSibling
){
if
(
V
.
nodeType
==
1
&&
V
!=
U
){
T
.
push
(
V
)}}
return
T
};
return
;
l
.
Sizzle
=
F
})();
o
.
event
=
{
add
:
function
(
I
,
F
,
H
,
K
){
if
(
I
.
nodeType
==
3
||
I
.
nodeType
==
8
){
return
}
if
(
I
.
setInterval
&&
I
!=
l
){
I
=
l
}
if
(
!
H
.
guid
){
H
.
guid
=
this
.
guid
++
}
if
(
K
!==
g
){
var
G
=
H
;
H
=
this
.
proxy
(
G
);
H
.
data
=
K
}
var
E
=
o
.
data
(
I
,
"events"
)
||
o
.
data
(
I
,
"events"
,{}),
J
=
o
.
data
(
I
,
"handle"
)
||
o
.
data
(
I
,
"handle"
,
function
(){
return
typeof
o
!==
"undefined"
&&!
o
.
event
.
triggered
?
o
.
event
.
handle
.
apply
(
arguments
.
callee
.
elem
,
arguments
)
:
g
});
J
.
elem
=
I
;
o
.
each
(
F
.
split
(
/\s+/
),
function
(
M
,
N
){
var
O
=
N
.
split
(
"."
);
N
=
O
.
shift
();
H
.
type
=
O
.
slice
().
sort
().
join
(
"."
);
var
L
=
E
[
N
];
if
(
o
.
event
.
specialAll
[
N
]){
o
.
event
.
specialAll
[
N
].
setup
.
call
(
I
,
K
,
O
)}
if
(
!
L
){
L
=
E
[
N
]
=
{};
if
(
!
o
.
event
.
special
[
N
]
||
o
.
event
.
special
[
N
].
setup
.
call
(
I
,
K
,
O
)
===
false
){
if
(
I
.
addEventListener
){
I
.
addEventListener
(
N
,
J
,
false
)}
else
{
if
(
I
.
attachEvent
){
I
.
attachEvent
(
"on"
+
N
,
J
)}}}}
L
[
H
.
guid
]
=
H
;
o
.
event
.
global
[
N
]
=
true
});
I
=
null
},
guid
:
1
,
global
:
{},
remove
:
function
(
K
,
H
,
J
){
if
(
K
.
nodeType
==
3
||
K
.
nodeType
==
8
){
return
}
var
G
=
o
.
data
(
K
,
"events"
),
F
,
E
;
if
(
G
){
if
(
H
===
g
||
(
typeof
H
===
"string"
&&
H
.
charAt
(
0
)
==
"."
)){
for
(
var
I
in
G
){
this
.
remove
(
K
,
I
+
(
H
||
""
))}}
else
{
if
(
H
.
type
){
J
=
H
.
handler
;
H
=
H
.
type
}
o
.
each
(
H
.
split
(
/\s+/
),
function
(
M
,
O
){
var
Q
=
O
.
split
(
"."
);
O
=
Q
.
shift
();
var
N
=
RegExp
(
"(^|\\.)"
+
Q
.
slice
().
sort
().
join
(
".*\\."
)
+
"(\\.|$)"
);
if
(
G
[
O
]){
if
(
J
){
delete
G
[
O
][
J
.
guid
]}
else
{
for
(
var
P
in
G
[
O
]){
if
(
N
.
test
(
G
[
O
][
P
].
type
)){
delete
G
[
O
][
P
]}}}
if
(
o
.
event
.
specialAll
[
O
]){
o
.
event
.
specialAll
[
O
].
teardown
.
call
(
K
,
Q
)}
for
(
F
in
G
[
O
]){
break
}
if
(
!
F
){
if
(
!
o
.
event
.
special
[
O
]
||
o
.
event
.
special
[
O
].
teardown
.
call
(
K
,
Q
)
===
false
){
if
(
K
.
removeEventListener
){
K
.
removeEventListener
(
O
,
o
.
data
(
K
,
"handle"
),
false
)}
else
{
if
(
K
.
detachEvent
){
K
.
detachEvent
(
"on"
+
O
,
o
.
data
(
K
,
"handle"
))}}}
F
=
null
;
delete
G
[
O
]}}})}
for
(
F
in
G
){
break
}
if
(
!
F
){
var
L
=
o
.
data
(
K
,
"handle"
);
if
(
L
){
L
.
elem
=
null
}
o
.
removeData
(
K
,
"events"
);
o
.
removeData
(
K
,
"handle"
)}}},
trigger
:
function
(
I
,
K
,
H
,
E
){
var
G
=
I
.
type
||
I
;
if
(
!
E
){
I
=
typeof
I
===
"object"
?
I
[
h
]
?
I
:
o
.
extend
(
o
.
Event
(
G
),
I
)
:
o
.
Event
(
G
);
if
(
G
.
indexOf
(
"!"
)
>=
0
){
I
.
type
=
G
=
G
.
slice
(
0
,
-
1
);
I
.
exclusive
=
true
}
if
(
!
H
){
I
.
stopPropagation
();
if
(
this
.
global
[
G
]){
o
.
each
(
o
.
cache
,
function
(){
if
(
this
.
events
&&
this
.
events
[
G
]){
o
.
event
.
trigger
(
I
,
K
,
this
.
handle
.
elem
)}})}}
if
(
!
H
||
H
.
nodeType
==
3
||
H
.
nodeType
==
8
){
return
g
}
I
.
result
=
g
;
I
.
target
=
H
;
K
=
o
.
makeArray
(
K
);
K
.
unshift
(
I
)}
I
.
currentTarget
=
H
;
var
J
=
o
.
data
(
H
,
"handle"
);
if
(
J
){
J
.
apply
(
H
,
K
)}
if
((
!
H
[
G
]
||
(
o
.
nodeName
(
H
,
"a"
)
&&
G
==
"click"
))
&&
H
[
"on"
+
G
]
&&
H
[
"on"
+
G
].
apply
(
H
,
K
)
===
false
){
I
.
result
=
false
}
if
(
!
E
&&
H
[
G
]
&&!
I
.
isDefaultPrevented
()
&&!
(
o
.
nodeName
(
H
,
"a"
)
&&
G
==
"click"
)){
this
.
triggered
=
true
;
try
{
H
[
G
]()}
catch
(
L
){}}
this
.
triggered
=
false
;
if
(
!
I
.
isPropagationStopped
()){
var
F
=
H
.
parentNode
||
H
.
ownerDocument
;
if
(
F
){
o
.
event
.
trigger
(
I
,
K
,
F
,
true
)}}},
handle
:
function
(
K
){
var
J
,
E
;
K
=
arguments
[
0
]
=
o
.
event
.
fix
(
K
||
l
.
event
);
K
.
currentTarget
=
this
;
var
L
=
K
.
type
.
split
(
"."
);
K
.
type
=
L
.
shift
();
J
=!
L
.
length
&&!
K
.
exclusive
;
var
I
=
RegExp
(
"(^|\\.)"
+
L
.
slice
().
sort
().
join
(
".*\\."
)
+
"(\\.|$)"
);
E
=
(
o
.
data
(
this
,
"events"
)
||
{})[
K
.
type
];
for
(
var
G
in
E
){
var
H
=
E
[
G
];
if
(
J
||
I
.
test
(
H
.
type
)){
K
.
handler
=
H
;
K
.
data
=
H
.
data
;
var
F
=
H
.
apply
(
this
,
arguments
);
if
(
F
!==
g
){
K
.
result
=
F
;
if
(
F
===
false
){
K
.
preventDefault
();
K
.
stopPropagation
()}}
if
(
K
.
isImmediatePropagationStopped
()){
break
}}}},
props
:
"altKey attrChange attrName bubbles button cancelable charCode clientX clientY ctrlKey currentTarget data detail eventPhase fromElement handler keyCode metaKey newValue originalTarget pageX pageY prevValue relatedNode relatedTarget screenX screenY shiftKey srcElement target toElement view wheelDelta which"
.
split
(
" "
),
fix
:
function
(
H
){
if
(
H
[
h
]){
return
H
}
var
F
=
H
;
H
=
o
.
Event
(
F
);
for
(
var
G
=
this
.
props
.
length
,
J
;
G
;){
J
=
this
.
props
[
--
G
];
H
[
J
]
=
F
[
J
]}
if
(
!
H
.
target
){
H
.
target
=
H
.
srcElement
||
document
}
if
(
H
.
target
.
nodeType
==
3
){
H
.
target
=
H
.
target
.
parentNode
}
if
(
!
H
.
relatedTarget
&&
H
.
fromElement
){
H
.
relatedTarget
=
H
.
fromElement
==
H
.
target
?
H
.
toElement
:
H
.
fromElement
}
if
(
H
.
pageX
==
null
&&
H
.
clientX
!=
null
){
var
I
=
document
.
documentElement
,
E
=
document
.
body
;
H
.
pageX
=
H
.
clientX
+
(
I
&&
I
.
scrollLeft
||
E
&&
E
.
scrollLeft
||
0
)
-
(
I
.
clientLeft
||
0
);
H
.
pageY
=
H
.
clientY
+
(
I
&&
I
.
scrollTop
||
E
&&
E
.
scrollTop
||
0
)
-
(
I
.
clientTop
||
0
)}
if
(
!
H
.
which
&&
((
H
.
charCode
||
H
.
charCode
===
0
)
?
H
.
charCode
:
H
.
keyCode
)){
H
.
which
=
H
.
charCode
||
H
.
keyCode
}
if
(
!
H
.
metaKey
&&
H
.
ctrlKey
){
H
.
metaKey
=
H
.
ctrlKey
}
if
(
!
H
.
which
&&
H
.
button
){
H
.
which
=
(
H
.
button
&
1
?
1
:
(
H
.
button
&
2
?
3
:
(
H
.
button
&
4
?
2
:
0
)))}
return
H
},
proxy
:
function
(
F
,
E
){
E
=
E
||
function
(){
return
F
.
apply
(
this
,
arguments
)};
E
.
guid
=
F
.
guid
=
F
.
guid
||
E
.
guid
||
this
.
guid
++
;
return
E
},
special
:
{
ready
:
{
setup
:
B
,
teardown
:
function
(){}}},
specialAll
:
{
live
:
{
setup
:
function
(
E
,
F
){
o
.
event
.
add
(
this
,
F
[
0
],
c
)},
teardown
:
function
(
G
){
if
(
G
.
length
){
var
E
=
0
,
F
=
RegExp
(
"(^|\\.)"
+
G
[
0
]
+
"(\\.|$)"
);
o
.
each
((
o
.
data
(
this
,
"events"
).
live
||
{}),
function
(){
if
(
F
.
test
(
this
.
type
)){
E
++
}});
if
(
E
<
1
){
o
.
event
.
remove
(
this
,
G
[
0
],
c
)}}}}}};
o
.
Event
=
function
(
E
){
if
(
!
this
.
preventDefault
){
return
new
o
.
Event
(
E
)}
if
(
E
&&
E
.
type
){
this
.
originalEvent
=
E
;
this
.
type
=
E
.
type
}
else
{
this
.
type
=
E
}
this
.
timeStamp
=
e
();
this
[
h
]
=
true
};
function
k
(){
return
false
}
function
u
(){
return
true
}
o
.
Event
.
prototype
=
{
preventDefault
:
function
(){
this
.
isDefaultPrevented
=
u
;
var
E
=
this
.
originalEvent
;
if
(
!
E
){
return
}
if
(
E
.
preventDefault
){
E
.
preventDefault
()}
E
.
returnValue
=
false
},
stopPropagation
:
function
(){
this
.
isPropagationStopped
=
u
;
var
E
=
this
.
originalEvent
;
if
(
!
E
){
return
}
if
(
E
.
stopPropagation
){
E
.
stopPropagation
()}
E
.
cancelBubble
=
true
},
stopImmediatePropagation
:
function
(){
this
.
isImmediatePropagationStopped
=
u
;
this
.
stopPropagation
()},
isDefaultPrevented
:
k
,
isPropagationStopped
:
k
,
isImmediatePropagationStopped
:
k
};
var
a
=
function
(
F
){
var
E
=
F
.
relatedTarget
;
while
(
E
&&
E
!=
this
){
try
{
E
=
E
.
parentNode
}
catch
(
G
){
E
=
this
}}
if
(
E
!=
this
){
F
.
type
=
F
.
data
;
o
.
event
.
handle
.
apply
(
this
,
arguments
)}};
o
.
each
({
mouseover
:
"mouseenter"
,
mouseout
:
"mouseleave"
},
function
(
F
,
E
){
o
.
event
.
special
[
E
]
=
{
setup
:
function
(){
o
.
event
.
add
(
this
,
F
,
a
,
E
)},
teardown
:
function
(){
o
.
event
.
remove
(
this
,
F
,
a
)}}});
o
.
fn
.
extend
({
bind
:
function
(
F
,
G
,
E
){
return
F
==
"unload"
?
this
.
one
(
F
,
G
,
E
)
:
this
.
each
(
function
(){
o
.
event
.
add
(
this
,
F
,
E
||
G
,
E
&&
G
)})},
one
:
function
(
G
,
H
,
F
){
var
E
=
o
.
event
.
proxy
(
F
||
H
,
function
(
I
){
o
(
this
).
unbind
(
I
,
E
);
return
(
F
||
H
).
apply
(
this
,
arguments
)});
return
this
.
each
(
function
(){
o
.
event
.
add
(
this
,
G
,
E
,
F
&&
H
)})},
unbind
:
function
(
F
,
E
){
return
this
.
each
(
function
(){
o
.
event
.
remove
(
this
,
F
,
E
)})},
trigger
:
function
(
E
,
F
){
return
this
.
each
(
function
(){
o
.
event
.
trigger
(
E
,
F
,
this
)})},
triggerHandler
:
function
(
E
,
G
){
if
(
this
[
0
]){
var
F
=
o
.
Event
(
E
);
F
.
preventDefault
();
F
.
stopPropagation
();
o
.
event
.
trigger
(
F
,
G
,
this
[
0
]);
return
F
.
result
}},
toggle
:
function
(
G
){
var
E
=
arguments
,
F
=
1
;
while
(
F
<
E
.
length
){
o
.
event
.
proxy
(
G
,
E
[
F
++
])}
return
this
.
click
(
o
.
event
.
proxy
(
G
,
function
(
H
){
this
.
lastToggle
=
(
this
.
lastToggle
||
0
)
%
F
;
H
.
preventDefault
();
return
E
[
this
.
lastToggle
++
].
apply
(
this
,
arguments
)
||
false
}))},
hover
:
function
(
E
,
F
){
return
this
.
mouseenter
(
E
).
mouseleave
(
F
)},
ready
:
function
(
E
){
B
();
if
(
o
.
isReady
){
E
.
call
(
document
,
o
)}
else
{
o
.
readyList
.
push
(
E
)}
return
this
},
live
:
function
(
G
,
F
){
var
E
=
o
.
event
.
proxy
(
F
);
E
.
guid
+=
this
.
selector
+
G
;
o
(
document
).
bind
(
i
(
G
,
this
.
selector
),
this
.
selector
,
E
);
return
this
},
die
:
function
(
F
,
E
){
o
(
document
).
unbind
(
i
(
F
,
this
.
selector
),
E
?
{
guid
:
E
.
guid
+
this
.
selector
+
F
}
:
null
);
return
this
}});
function
c
(
H
){
var
E
=
RegExp
(
"(^|\\.)"
+
H
.
type
+
"(\\.|$)"
),
G
=
true
,
F
=
[];
o
.
each
(
o
.
data
(
this
,
"events"
).
live
||
[],
function
(
I
,
J
){
if
(
E
.
test
(
J
.
type
)){
var
K
=
o
(
H
.
target
).
closest
(
J
.
data
)[
0
];
if
(
K
){
F
.
push
({
elem
:
K
,
fn
:
J
})}}});
F
.
sort
(
function
(
J
,
I
){
return
o
.
data
(
J
.
elem
,
"closest"
)
-
o
.
data
(
I
.
elem
,
"closest"
)});
o
.
each
(
F
,
function
(){
if
(
this
.
fn
.
call
(
this
.
elem
,
H
,
this
.
fn
.
data
)
===
false
){
return
(
G
=
false
)}});
return
G
}
function
i
(
F
,
E
){
return
[
"live"
,
F
,
E
.
replace
(
/\./g
,
"`"
).
replace
(
/ /g
,
"|"
)].
join
(
"."
)}
o
.
extend
({
isReady
:
false
,
readyList
:
[],
ready
:
function
(){
if
(
!
o
.
isReady
){
o
.
isReady
=
true
;
if
(
o
.
readyList
){
o
.
each
(
o
.
readyList
,
function
(){
this
.
call
(
document
,
o
)});
o
.
readyList
=
null
}
o
(
document
).
triggerHandler
(
"ready"
)}}});
var
x
=
false
;
function
B
(){
if
(
x
){
return
}
x
=
true
;
if
(
document
.
addEventListener
){
document
.
addEventListener
(
"DOMContentLoaded"
,
function
(){
document
.
removeEventListener
(
"DOMContentLoaded"
,
arguments
.
callee
,
false
);
o
.
ready
()},
false
)}
else
{
if
(
document
.
attachEvent
){
document
.
attachEvent
(
"onreadystatechange"
,
function
(){
if
(
document
.
readyState
===
"complete"
){
document
.
detachEvent
(
"onreadystatechange"
,
arguments
.
callee
);
o
.
ready
()}});
if
(
document
.
documentElement
.
doScroll
&&
l
==
l
.
top
){(
function
(){
if
(
o
.
isReady
){
return
}
try
{
document
.
documentElement
.
doScroll
(
"left"
)}
catch
(
E
){
setTimeout
(
arguments
.
callee
,
0
);
return
}
o
.
ready
()})()}}}
o
.
event
.
add
(
l
,
"load"
,
o
.
ready
)}
o
.
each
((
"blur,focus,load,resize,scroll,unload,click,dblclick,mousedown,mouseup,mousemove,mouseover,mouseout,mouseenter,mouseleave,change,select,submit,keydown,keypress,keyup,error"
).
split
(
","
),
function
(
F
,
E
){
o
.
fn
[
E
]
=
function
(
G
){
return
G
?
this
.
bind
(
E
,
G
)
:
this
.
trigger
(
E
)}});
o
(
l
).
bind
(
"unload"
,
function
(){
for
(
var
E
in
o
.
cache
){
if
(
E
!=
1
&&
o
.
cache
[
E
].
handle
){
o
.
event
.
remove
(
o
.
cache
[
E
].
handle
.
elem
)}}});(
function
(){
o
.
support
=
{};
var
F
=
document
.
documentElement
,
G
=
document
.
createElement
(
"script"
),
K
=
document
.
createElement
(
"div"
),
J
=
"script"
+
(
new
Date
).
getTime
();
K
.
style
.
display
=
"none"
;
K
.
innerHTML
=
' <link/><table></table><a href="/a" style="color:red;float:left;opacity:.5;">a</a><select><option>text</option></select><object><param/></object>'
;
var
H
=
K
.
getElementsByTagName
(
"*"
),
E
=
K
.
getElementsByTagName
(
"a"
)[
0
];
if
(
!
H
||!
H
.
length
||!
E
){
return
}
o
.
support
=
{
leadingWhitespace
:
K
.
firstChild
.
nodeType
==
3
,
tbody
:!
K
.
getElementsByTagName
(
"tbody"
).
length
,
objectAll
:!!
K
.
getElementsByTagName
(
"object"
)[
0
].
getElementsByTagName
(
"*"
).
length
,
htmlSerialize
:!!
K
.
getElementsByTagName
(
"link"
).
length
,
style
:
/red/
.
test
(
E
.
getAttribute
(
"style"
)),
hrefNormalized
:
E
.
getAttribute
(
"href"
)
===
"/a"
,
opacity
:
E
.
style
.
opacity
===
"0.5"
,
cssFloat
:!!
E
.
style
.
cssFloat
,
scriptEval
:
false
,
noCloneEvent
:
true
,
boxModel
:
null
};
G
.
type
=
"text/javascript"
;
try
{
G
.
appendChild
(
document
.
createTextNode
(
"window."
+
J
+
"=1;"
))}
catch
(
I
){}
F
.
insertBefore
(
G
,
F
.
firstChild
);
if
(
l
[
J
]){
o
.
support
.
scriptEval
=
true
;
delete
l
[
J
]}
F
.
removeChild
(
G
);
if
(
K
.
attachEvent
&&
K
.
fireEvent
){
K
.
attachEvent
(
"onclick"
,
function
(){
o
.
support
.
noCloneEvent
=
false
;
K
.
detachEvent
(
"onclick"
,
arguments
.
callee
)});
K
.
cloneNode
(
true
).
fireEvent
(
"onclick"
)}
o
(
function
(){
var
L
=
document
.
createElement
(
"div"
);
L
.
style
.
width
=
L
.
style
.
paddingLeft
=
"1px"
;
document
.
body
.
appendChild
(
L
);
o
.
boxModel
=
o
.
support
.
boxModel
=
L
.
offsetWidth
===
2
;
document
.
body
.
removeChild
(
L
).
style
.
display
=
"none"
})})();
var
w
=
o
.
support
.
cssFloat
?
"cssFloat"
:
"styleFloat"
;
o
.
props
=
{
"for"
:
"htmlFor"
,
"class"
:
"className"
,
"float"
:
w
,
cssFloat
:
w
,
styleFloat
:
w
,
readonly
:
"readOnly"
,
maxlength
:
"maxLength"
,
cellspacing
:
"cellSpacing"
,
rowspan
:
"rowSpan"
,
tabindex
:
"tabIndex"
};
o
.
fn
.
extend
({
_load
:
o
.
fn
.
load
,
load
:
function
(
G
,
J
,
K
){
if
(
typeof
G
!==
"string"
){
return
this
.
_load
(
G
)}
var
I
=
G
.
indexOf
(
" "
);
if
(
I
>=
0
){
var
E
=
G
.
slice
(
I
,
G
.
length
);
G
=
G
.
slice
(
0
,
I
)}
var
H
=
"GET"
;
if
(
J
){
if
(
o
.
isFunction
(
J
)){
K
=
J
;
J
=
null
}
else
{
if
(
typeof
J
===
"object"
){
J
=
o
.
param
(
J
);
H
=
"POST"
}}}
var
F
=
this
;
o
.
ajax
({
url
:
G
,
type
:
H
,
dataType
:
"html"
,
data
:
J
,
complete
:
function
(
M
,
L
){
if
(
L
==
"success"
||
L
==
"notmodified"
){
F
.
html
(
E
?
o
(
"<div/>"
).
append
(
M
.
responseText
.
replace
(
/<script(.|\s)*?\/script>/g
,
""
)).
find
(
E
)
:
M
.
responseText
)}
if
(
K
){
F
.
each
(
K
,[
M
.
responseText
,
L
,
M
])}}});
return
this
},
serialize
:
function
(){
return
o
.
param
(
this
.
serializeArray
())},
serializeArray
:
function
(){
return
this
.
map
(
function
(){
return
this
.
elements
?
o
.
makeArray
(
this
.
elements
)
:
this
}).
filter
(
function
(){
return
this
.
name
&&!
this
.
disabled
&&
(
this
.
checked
||
/select|textarea/i
.
test
(
this
.
nodeName
)
||
/text|hidden|password|search/i
.
test
(
this
.
type
))}).
map
(
function
(
E
,
F
){
var
G
=
o
(
this
).
val
();
return
G
==
null
?
null
:
o
.
isArray
(
G
)
?
o
.
map
(
G
,
function
(
I
,
H
){
return
{
name
:
F
.
name
,
value
:
I
}})
:
{
name
:
F
.
name
,
value
:
G
}}).
get
()}});
o
.
each
(
"ajaxStart,ajaxStop,ajaxComplete,ajaxError,ajaxSuccess,ajaxSend"
.
split
(
","
),
function
(
E
,
F
){
o
.
fn
[
F
]
=
function
(
G
){
return
this
.
bind
(
F
,
G
)}});
var
r
=
e
();
o
.
extend
({
get
:
function
(
E
,
G
,
H
,
F
){
if
(
o
.
isFunction
(
G
)){
H
=
G
;
G
=
null
}
return
o
.
ajax
({
type
:
"GET"
,
url
:
E
,
data
:
G
,
success
:
H
,
dataType
:
F
})},
getScript
:
function
(
E
,
F
){
return
o
.
get
(
E
,
null
,
F
,
"script"
)},
getJSON
:
function
(
E
,
F
,
G
){
return
o
.
get
(
E
,
F
,
G
,
"json"
)},
post
:
function
(
E
,
G
,
H
,
F
){
if
(
o
.
isFunction
(
G
)){
H
=
G
;
G
=
{}}
return
o
.
ajax
({
type
:
"POST"
,
url
:
E
,
data
:
G
,
success
:
H
,
dataType
:
F
})},
ajaxSetup
:
function
(
E
){
o
.
extend
(
o
.
ajaxSettings
,
E
)},
ajaxSettings
:
{
url
:
location
.
href
,
global
:
true
,
type
:
"GET"
,
contentType
:
"application/x-www-form-urlencoded"
,
processData
:
true
,
async
:
true
,
xhr
:
function
(){
return
l
.
ActiveXObject
?
new
ActiveXObject
(
"Microsoft.XMLHTTP"
)
:
new
XMLHttpRequest
()},
accepts
:
{
xml
:
"application/xml, text/xml"
,
html
:
"text/html"
,
script
:
"text/javascript, application/javascript"
,
json
:
"application/json, text/javascript"
,
text
:
"text/plain"
,
_default
:
"*/*"
}},
lastModified
:
{},
ajax
:
function
(
M
){
M
=
o
.
extend
(
true
,
M
,
o
.
extend
(
true
,{},
o
.
ajaxSettings
,
M
));
var
W
,
F
=
/=\?(&|$)/g
,
R
,
V
,
G
=
M
.
type
.
toUpperCase
();
if
(
M
.
data
&&
M
.
processData
&&
typeof
M
.
data
!==
"string"
){
M
.
data
=
o
.
param
(
M
.
data
)}
if
(
M
.
dataType
==
"jsonp"
){
if
(
G
==
"GET"
){
if
(
!
M
.
url
.
match
(
F
)){
M
.
url
+=
(
M
.
url
.
match
(
/\?/
)
?
"&"
:
"?"
)
+
(
M
.
jsonp
||
"callback"
)
+
"=?"
}}
else
{
if
(
!
M
.
data
||!
M
.
data
.
match
(
F
)){
M
.
data
=
(
M
.
data
?
M
.
data
+
"&"
:
""
)
+
(
M
.
jsonp
||
"callback"
)
+
"=?"
}}
M
.
dataType
=
"json"
}
if
(
M
.
dataType
==
"json"
&&
(
M
.
data
&&
M
.
data
.
match
(
F
)
||
M
.
url
.
match
(
F
))){
W
=
"jsonp"
+
r
++
;
if
(
M
.
data
){
M
.
data
=
(
M
.
data
+
""
).
replace
(
F
,
"="
+
W
+
"$1"
)}
M
.
url
=
M
.
url
.
replace
(
F
,
"="
+
W
+
"$1"
);
M
.
dataType
=
"script"
;
l
[
W
]
=
function
(
X
){
V
=
X
;
I
();
L
();
l
[
W
]
=
g
;
try
{
delete
l
[
W
]}
catch
(
Y
){}
if
(
H
){
H
.
removeChild
(
T
)}}}
if
(
M
.
dataType
==
"script"
&&
M
.
cache
==
null
){
M
.
cache
=
false
}
if
(
M
.
cache
===
false
&&
G
==
"GET"
){
var
E
=
e
();
var
U
=
M
.
url
.
replace
(
/(\?|&)_=.*?(&|$)/
,
"$1_="
+
E
+
"$2"
);
M
.
url
=
U
+
((
U
==
M
.
url
)
?
(
M
.
url
.
match
(
/\?/
)
?
"&"
:
"?"
)
+
"_="
+
E
:
""
)}
if
(
M
.
data
&&
G
==
"GET"
){
M
.
url
+=
(
M
.
url
.
match
(
/\?/
)
?
"&"
:
"?"
)
+
M
.
data
;
M
.
data
=
null
}
if
(
M
.
global
&&!
o
.
active
++
){
o
.
event
.
trigger
(
"ajaxStart"
)}
var
Q
=
/^(\w+:)?\/\/([^\/?#]+)/
.
exec
(
M
.
url
);
if
(
M
.
dataType
==
"script"
&&
G
==
"GET"
&&
Q
&&
(
Q
[
1
]
&&
Q
[
1
]
!=
location
.
protocol
||
Q
[
2
]
!=
location
.
host
)){
var
H
=
document
.
getElementsByTagName
(
"head"
)[
0
];
var
T
=
document
.
createElement
(
"script"
);
T
.
src
=
M
.
url
;
if
(
M
.
scriptCharset
){
T
.
charset
=
M
.
scriptCharset
}
if
(
!
W
){
var
O
=
false
;
T
.
onload
=
T
.
onreadystatechange
=
function
(){
if
(
!
O
&&
(
!
this
.
readyState
||
this
.
readyState
==
"loaded"
||
this
.
readyState
==
"complete"
)){
O
=
true
;
I
();
L
();
T
.
onload
=
T
.
onreadystatechange
=
null
;
H
.
removeChild
(
T
)}}}
H
.
appendChild
(
T
);
return
g
}
var
K
=
false
;
var
J
=
M
.
xhr
();
if
(
M
.
username
){
J
.
open
(
G
,
M
.
url
,
M
.
async
,
M
.
username
,
M
.
password
)}
else
{
J
.
open
(
G
,
M
.
url
,
M
.
async
)}
try
{
if
(
M
.
data
){
J
.
setRequestHeader
(
"Content-Type"
,
M
.
contentType
)}
if
(
M
.
ifModified
){
J
.
setRequestHeader
(
"If-Modified-Since"
,
o
.
lastModified
[
M
.
url
]
||
"Thu, 01 Jan 1970 00:00:00 GMT"
)}
J
.
setRequestHeader
(
"X-Requested-With"
,
"XMLHttpRequest"
);
J
.
setRequestHeader
(
"Accept"
,
M
.
dataType
&&
M
.
accepts
[
M
.
dataType
]
?
M
.
accepts
[
M
.
dataType
]
+
", */*"
:
M
.
accepts
.
_default
)}
catch
(
S
){}
if
(
M
.
beforeSend
&&
M
.
beforeSend
(
J
,
M
)
===
false
){
if
(
M
.
global
&&!--
o
.
active
){
o
.
event
.
trigger
(
"ajaxStop"
)}
J
.
abort
();
return
false
}
if
(
M
.
global
){
o
.
event
.
trigger
(
"ajaxSend"
,[
J
,
M
])}
var
N
=
function
(
X
){
if
(
J
.
readyState
==
0
){
if
(
P
){
clearInterval
(
P
);
P
=
null
;
if
(
M
.
global
&&!--
o
.
active
){
o
.
event
.
trigger
(
"ajaxStop"
)}}}
else
{
if
(
!
K
&&
J
&&
(
J
.
readyState
==
4
||
X
==
"timeout"
)){
K
=
true
;
if
(
P
){
clearInterval
(
P
);
P
=
null
}
R
=
X
==
"timeout"
?
"timeout"
:!
o
.
httpSuccess
(
J
)
?
"error"
:
M
.
ifModified
&&
o
.
httpNotModified
(
J
,
M
.
url
)
?
"notmodified"
:
"success"
;
if
(
R
==
"success"
){
try
{
V
=
o
.
httpData
(
J
,
M
.
dataType
,
M
)}
catch
(
Z
){
R
=
"parsererror"
}}
if
(
R
==
"success"
){
var
Y
;
try
{
Y
=
J
.
getResponseHeader
(
"Last-Modified"
)}
catch
(
Z
){}
if
(
M
.
ifModified
&&
Y
){
o
.
lastModified
[
M
.
url
]
=
Y
}
if
(
!
W
){
I
()}}
else
{
o
.
handleError
(
M
,
J
,
R
)}
L
();
if
(
X
){
J
.
abort
()}
if
(
M
.
async
){
J
=
null
}}}};
if
(
M
.
async
){
var
P
=
setInterval
(
N
,
13
);
if
(
M
.
timeout
>
0
){
setTimeout
(
function
(){
if
(
J
&&!
K
){
N
(
"timeout"
)}},
M
.
timeout
)}}
try
{
J
.
send
(
M
.
data
)}
catch
(
S
){
o
.
handleError
(
M
,
J
,
null
,
S
)}
if
(
!
M
.
async
){
N
()}
function
I
(){
if
(
M
.
success
){
M
.
success
(
V
,
R
)}
if
(
M
.
global
){
o
.
event
.
trigger
(
"ajaxSuccess"
,[
J
,
M
])}}
function
L
(){
if
(
M
.
complete
){
M
.
complete
(
J
,
R
)}
if
(
M
.
global
){
o
.
event
.
trigger
(
"ajaxComplete"
,[
J
,
M
])}
if
(
M
.
global
&&!--
o
.
active
){
o
.
event
.
trigger
(
"ajaxStop"
)}}
return
J
},
handleError
:
function
(
F
,
H
,
E
,
G
){
if
(
F
.
error
){
F
.
error
(
H
,
E
,
G
)}
if
(
F
.
global
){
o
.
event
.
trigger
(
"ajaxError"
,[
H
,
F
,
G
])}},
active
:
0
,
httpSuccess
:
function
(
F
){
try
{
return
!
F
.
status
&&
location
.
protocol
==
"file:"
||
(
F
.
status
>=
200
&&
F
.
status
<
300
)
||
F
.
status
==
304
||
F
.
status
==
1223
}
catch
(
E
){}
return
false
},
httpNotModified
:
function
(
G
,
E
){
try
{
var
H
=
G
.
getResponseHeader
(
"Last-Modified"
);
return
G
.
status
==
304
||
H
==
o
.
lastModified
[
E
]}
catch
(
F
){}
return
false
},
httpData
:
function
(
J
,
H
,
G
){
var
F
=
J
.
getResponseHeader
(
"content-type"
),
E
=
H
==
"xml"
||!
H
&&
F
&&
F
.
indexOf
(
"xml"
)
>=
0
,
I
=
E
?
J
.
responseXML
:
J
.
responseText
;
if
(
E
&&
I
.
documentElement
.
tagName
==
"parsererror"
){
throw
"parsererror"
}
if
(
G
&&
G
.
dataFilter
){
I
=
G
.
dataFilter
(
I
,
H
)}
if
(
typeof
I
===
"string"
){
if
(
H
==
"script"
){
o
.
globalEval
(
I
)}
if
(
H
==
"json"
){
I
=
l
[
"eval"
](
"("
+
I
+
")"
)}}
return
I
},
param
:
function
(
E
){
var
G
=
[];
function
H
(
I
,
J
){
G
[
G
.
length
]
=
encodeURIComponent
(
I
)
+
"="
+
encodeURIComponent
(
J
)}
if
(
o
.
isArray
(
E
)
||
E
.
jquery
){
o
.
each
(
E
,
function
(){
H
(
this
.
name
,
this
.
value
)})}
else
{
for
(
var
F
in
E
){
if
(
o
.
isArray
(
E
[
F
])){
o
.
each
(
E
[
F
],
function
(){
H
(
F
,
this
)})}
else
{
H
(
F
,
o
.
isFunction
(
E
[
F
])
?
E
[
F
]()
:
E
[
F
])}}}
return
G
.
join
(
"&"
).
replace
(
/%20/g
,
"+"
)}});
var
m
=
{},
n
,
d
=
[[
"height"
,
"marginTop"
,
"marginBottom"
,
"paddingTop"
,
"paddingBottom"
],[
"width"
,
"marginLeft"
,
"marginRight"
,
"paddingLeft"
,
"paddingRight"
],[
"opacity"
]];
function
t
(
F
,
E
){
var
G
=
{};
o
.
each
(
d
.
concat
.
apply
([],
d
.
slice
(
0
,
E
)),
function
(){
G
[
this
]
=
F
});
return
G
}
o
.
fn
.
extend
({
show
:
function
(
J
,
L
){
if
(
J
){
return
this
.
animate
(
t
(
"show"
,
3
),
J
,
L
)}
else
{
for
(
var
H
=
0
,
F
=
this
.
length
;
H
<
F
;
H
++
){
var
E
=
o
.
data
(
this
[
H
],
"olddisplay"
);
this
[
H
].
style
.
display
=
E
||
""
;
if
(
o
.
css
(
this
[
H
],
"display"
)
===
"none"
){
var
G
=
this
[
H
].
tagName
,
K
;
if
(
m
[
G
]){
K
=
m
[
G
]}
else
{
var
I
=
o
(
"<"
+
G
+
" />"
).
appendTo
(
"body"
);
K
=
I
.
css
(
"display"
);
if
(
K
===
"none"
){
K
=
"block"
}
I
.
remove
();
m
[
G
]
=
K
}
o
.
data
(
this
[
H
],
"olddisplay"
,
K
)}}
for
(
var
H
=
0
,
F
=
this
.
length
;
H
<
F
;
H
++
){
this
[
H
].
style
.
display
=
o
.
data
(
this
[
H
],
"olddisplay"
)
||
""
}
return
this
}},
hide
:
function
(
H
,
I
){
if
(
H
){
return
this
.
animate
(
t
(
"hide"
,
3
),
H
,
I
)}
else
{
for
(
var
G
=
0
,
F
=
this
.
length
;
G
<
F
;
G
++
){
var
E
=
o
.
data
(
this
[
G
],
"olddisplay"
);
if
(
!
E
&&
E
!==
"none"
){
o
.
data
(
this
[
G
],
"olddisplay"
,
o
.
css
(
this
[
G
],
"display"
))}}
for
(
var
G
=
0
,
F
=
this
.
length
;
G
<
F
;
G
++
){
this
[
G
].
style
.
display
=
"none"
}
return
this
}},
_toggle
:
o
.
fn
.
toggle
,
toggle
:
function
(
G
,
F
){
var
E
=
typeof
G
===
"boolean"
;
return
o
.
isFunction
(
G
)
&&
o
.
isFunction
(
F
)
?
this
.
_toggle
.
apply
(
this
,
arguments
)
:
G
==
null
||
E
?
this
.
each
(
function
(){
var
H
=
E
?
G
:
o
(
this
).
is
(
":hidden"
);
o
(
this
)[
H
?
"show"
:
"hide"
]()})
:
this
.
animate
(
t
(
"toggle"
,
3
),
G
,
F
)},
fadeTo
:
function
(
E
,
G
,
F
){
return
this
.
animate
({
opacity
:
G
},
E
,
F
)},
animate
:
function
(
I
,
F
,
H
,
G
){
var
E
=
o
.
speed
(
F
,
H
,
G
);
return
this
[
E
.
queue
===
false
?
"each"
:
"queue"
](
function
(){
var
K
=
o
.
extend
({},
E
),
M
,
L
=
this
.
nodeType
==
1
&&
o
(
this
).
is
(
":hidden"
),
J
=
this
;
for
(
M
in
I
){
if
(
I
[
M
]
==
"hide"
&&
L
||
I
[
M
]
==
"show"
&&!
L
){
return
K
.
complete
.
call
(
this
)}
if
((
M
==
"height"
||
M
==
"width"
)
&&
this
.
style
){
K
.
display
=
o
.
css
(
this
,
"display"
);
K
.
overflow
=
this
.
style
.
overflow
}}
if
(
K
.
overflow
!=
null
){
this
.
style
.
overflow
=
"hidden"
}
K
.
curAnim
=
o
.
extend
({},
I
);
o
.
each
(
I
,
function
(
O
,
S
){
var
R
=
new
o
.
fx
(
J
,
K
,
O
);
if
(
/toggle|show|hide/
.
test
(
S
)){
R
[
S
==
"toggle"
?
L
?
"show"
:
"hide"
:
S
](
I
)}
else
{
var
Q
=
S
.
toString
().
match
(
/^([+-]=)?([\d+-.]+)(.*)$/
),
T
=
R
.
cur
(
true
)
||
0
;
if
(
Q
){
var
N
=
parseFloat
(
Q
[
2
]),
P
=
Q
[
3
]
||
"px"
;
if
(
P
!=
"px"
){
J
.
style
[
O
]
=
(
N
||
1
)
+
P
;
T
=
((
N
||
1
)
/
R
.
cur
(
true
))
*
T
;
J
.
style
[
O
]
=
T
+
P
}
if
(
Q
[
1
]){
N
=
((
Q
[
1
]
==
"-="
?-
1
:
1
)
*
N
)
+
T
}
R
.
custom
(
T
,
N
,
P
)}
else
{
R
.
custom
(
T
,
S
,
""
)}}});
return
true
})},
stop
:
function
(
F
,
E
){
var
G
=
o
.
timers
;
if
(
F
){
this
.
queue
([])}
this
.
each
(
function
(){
for
(
var
H
=
G
.
length
-
1
;
H
>=
0
;
H
--
){
if
(
G
[
H
].
elem
==
this
){
if
(
E
){
G
[
H
](
true
)}
G
.
splice
(
H
,
1
)}}});
if
(
!
E
){
this
.
dequeue
()}
return
this
}});
o
.
each
({
slideDown
:
t
(
"show"
,
1
),
slideUp
:
t
(
"hide"
,
1
),
slideToggle
:
t
(
"toggle"
,
1
),
fadeIn
:
{
opacity
:
"show"
},
fadeOut
:
{
opacity
:
"hide"
}},
function
(
E
,
F
){
o
.
fn
[
E
]
=
function
(
G
,
H
){
return
this
.
animate
(
F
,
G
,
H
)}});
o
.
extend
({
speed
:
function
(
G
,
H
,
F
){
var
E
=
typeof
G
===
"object"
?
G
:
{
complete
:
F
||!
F
&&
H
||
o
.
isFunction
(
G
)
&&
G
,
duration
:
G
,
easing
:
F
&&
H
||
H
&&!
o
.
isFunction
(
H
)
&&
H
};
E
.
duration
=
o
.
fx
.
off
?
0
:
typeof
E
.
duration
===
"number"
?
E
.
duration
:
o
.
fx
.
speeds
[
E
.
duration
]
||
o
.
fx
.
speeds
.
_default
;
E
.
old
=
E
.
complete
;
E
.
complete
=
function
(){
if
(
E
.
queue
!==
false
){
o
(
this
).
dequeue
()}
if
(
o
.
isFunction
(
E
.
old
)){
E
.
old
.
call
(
this
)}};
return
E
},
easing
:
{
linear
:
function
(
G
,
H
,
E
,
F
){
return
E
+
F
*
G
},
swing
:
function
(
G
,
H
,
E
,
F
){
return
((
-
Math
.
cos
(
G
*
Math
.
PI
)
/
2
)
+
0.5
)
*
F
+
E
}},
timers
:
[],
fx
:
function
(
F
,
E
,
G
){
this
.
options
=
E
;
this
.
elem
=
F
;
this
.
prop
=
G
;
if
(
!
E
.
orig
){
E
.
orig
=
{}}}});
o
.
fx
.
prototype
=
{
update
:
function
(){
if
(
this
.
options
.
step
){
this
.
options
.
step
.
call
(
this
.
elem
,
this
.
now
,
this
)}(
o
.
fx
.
step
[
this
.
prop
]
||
o
.
fx
.
step
.
_default
)(
this
);
if
((
this
.
prop
==
"height"
||
this
.
prop
==
"width"
)
&&
this
.
elem
.
style
){
this
.
elem
.
style
.
display
=
"block"
}},
cur
:
function
(
F
){
if
(
this
.
elem
[
this
.
prop
]
!=
null
&&
(
!
this
.
elem
.
style
||
this
.
elem
.
style
[
this
.
prop
]
==
null
)){
return
this
.
elem
[
this
.
prop
]}
var
E
=
parseFloat
(
o
.
css
(
this
.
elem
,
this
.
prop
,
F
));
return
E
&&
E
>-
10000
?
E
:
parseFloat
(
o
.
curCSS
(
this
.
elem
,
this
.
prop
))
||
0
},
custom
:
function
(
I
,
H
,
G
){
this
.
startTime
=
e
();
this
.
start
=
I
;
this
.
end
=
H
;
this
.
unit
=
G
||
this
.
unit
||
"px"
;
this
.
now
=
this
.
start
;
this
.
pos
=
this
.
state
=
0
;
var
E
=
this
;
function
F
(
J
){
return
E
.
step
(
J
)}
F
.
elem
=
this
.
elem
;
if
(
F
()
&&
o
.
timers
.
push
(
F
)
&&!
n
){
n
=
setInterval
(
function
(){
var
K
=
o
.
timers
;
for
(
var
J
=
0
;
J
<
K
.
length
;
J
++
){
if
(
!
K
[
J
]()){
K
.
splice
(
J
--
,
1
)}}
if
(
!
K
.
length
){
clearInterval
(
n
);
n
=
g
}},
13
)}},
show
:
function
(){
this
.
options
.
orig
[
this
.
prop
]
=
o
.
attr
(
this
.
elem
.
style
,
this
.
prop
);
this
.
options
.
show
=
true
;
this
.
custom
(
this
.
prop
==
"width"
||
this
.
prop
==
"height"
?
1
:
0
,
this
.
cur
());
o
(
this
.
elem
).
show
()},
hide
:
function
(){
this
.
options
.
orig
[
this
.
prop
]
=
o
.
attr
(
this
.
elem
.
style
,
this
.
prop
);
this
.
options
.
hide
=
true
;
this
.
custom
(
this
.
cur
(),
0
)},
step
:
function
(
H
){
var
G
=
e
();
if
(
H
||
G
>=
this
.
options
.
duration
+
this
.
startTime
){
this
.
now
=
this
.
end
;
this
.
pos
=
this
.
state
=
1
;
this
.
update
();
this
.
options
.
curAnim
[
this
.
prop
]
=
true
;
var
E
=
true
;
for
(
var
F
in
this
.
options
.
curAnim
){
if
(
this
.
options
.
curAnim
[
F
]
!==
true
){
E
=
false
}}
if
(
E
){
if
(
this
.
options
.
display
!=
null
){
this
.
elem
.
style
.
overflow
=
this
.
options
.
overflow
;
this
.
elem
.
style
.
display
=
this
.
options
.
display
;
if
(
o
.
css
(
this
.
elem
,
"display"
)
==
"none"
){
this
.
elem
.
style
.
display
=
"block"
}}
if
(
this
.
options
.
hide
){
o
(
this
.
elem
).
hide
()}
if
(
this
.
options
.
hide
||
this
.
options
.
show
){
for
(
var
I
in
this
.
options
.
curAnim
){
o
.
attr
(
this
.
elem
.
style
,
I
,
this
.
options
.
orig
[
I
])}}
this
.
options
.
complete
.
call
(
this
.
elem
)}
return
false
}
else
{
var
J
=
G
-
this
.
startTime
;
this
.
state
=
J
/
this
.
options
.
duration
;
this
.
pos
=
o
.
easing
[
this
.
options
.
easing
||
(
o
.
easing
.
swing
?
"swing"
:
"linear"
)](
this
.
state
,
J
,
0
,
1
,
this
.
options
.
duration
);
this
.
now
=
this
.
start
+
((
this
.
end
-
this
.
start
)
*
this
.
pos
);
this
.
update
()}
return
true
}};
o
.
extend
(
o
.
fx
,{
speeds
:
{
slow
:
600
,
fast
:
200
,
_default
:
400
},
step
:
{
opacity
:
function
(
E
){
o
.
attr
(
E
.
elem
.
style
,
"opacity"
,
E
.
now
)},
_default
:
function
(
E
){
if
(
E
.
elem
.
style
&&
E
.
elem
.
style
[
E
.
prop
]
!=
null
){
E
.
elem
.
style
[
E
.
prop
]
=
E
.
now
+
E
.
unit
}
else
{
E
.
elem
[
E
.
prop
]
=
E
.
now
}}}});
if
(
document
.
documentElement
.
getBoundingClientRect
){
o
.
fn
.
offset
=
function
(){
if
(
!
this
[
0
]){
return
{
top
:
0
,
left
:
0
}}
if
(
this
[
0
]
===
this
[
0
].
ownerDocument
.
body
){
return
o
.
offset
.
bodyOffset
(
this
[
0
])}
var
G
=
this
[
0
].
getBoundingClientRect
(),
J
=
this
[
0
].
ownerDocument
,
F
=
J
.
body
,
E
=
J
.
documentElement
,
L
=
E
.
clientTop
||
F
.
clientTop
||
0
,
K
=
E
.
clientLeft
||
F
.
clientLeft
||
0
,
I
=
G
.
top
+
(
self
.
pageYOffset
||
o
.
boxModel
&&
E
.
scrollTop
||
F
.
scrollTop
)
-
L
,
H
=
G
.
left
+
(
self
.
pageXOffset
||
o
.
boxModel
&&
E
.
scrollLeft
||
F
.
scrollLeft
)
-
K
;
return
{
top
:
I
,
left
:
H
}}}
else
{
o
.
fn
.
offset
=
function
(){
if
(
!
this
[
0
]){
return
{
top
:
0
,
left
:
0
}}
if
(
this
[
0
]
===
this
[
0
].
ownerDocument
.
body
){
return
o
.
offset
.
bodyOffset
(
this
[
0
])}
o
.
offset
.
initialized
||
o
.
offset
.
initialize
();
var
J
=
this
[
0
],
G
=
J
.
offsetParent
,
F
=
J
,
O
=
J
.
ownerDocument
,
M
,
H
=
O
.
documentElement
,
K
=
O
.
body
,
L
=
O
.
defaultView
,
E
=
L
.
getComputedStyle
(
J
,
null
),
N
=
J
.
offsetTop
,
I
=
J
.
offsetLeft
;
while
((
J
=
J
.
parentNode
)
&&
J
!==
K
&&
J
!==
H
){
M
=
L
.
getComputedStyle
(
J
,
null
);
N
-=
J
.
scrollTop
,
I
-=
J
.
scrollLeft
;
if
(
J
===
G
){
N
+=
J
.
offsetTop
,
I
+=
J
.
offsetLeft
;
if
(
o
.
offset
.
doesNotAddBorder
&&!
(
o
.
offset
.
doesAddBorderForTableAndCells
&&
/^t(able|d|h)$/i
.
test
(
J
.
tagName
))){
N
+=
parseInt
(
M
.
borderTopWidth
,
10
)
||
0
,
I
+=
parseInt
(
M
.
borderLeftWidth
,
10
)
||
0
}
F
=
G
,
G
=
J
.
offsetParent
}
if
(
o
.
offset
.
subtractsBorderForOverflowNotVisible
&&
M
.
overflow
!==
"visible"
){
N
+=
parseInt
(
M
.
borderTopWidth
,
10
)
||
0
,
I
+=
parseInt
(
M
.
borderLeftWidth
,
10
)
||
0
}
E
=
M
}
if
(
E
.
position
===
"relative"
||
E
.
position
===
"static"
){
N
+=
K
.
offsetTop
,
I
+=
K
.
offsetLeft
}
if
(
E
.
position
===
"fixed"
){
N
+=
Math
.
max
(
H
.
scrollTop
,
K
.
scrollTop
),
I
+=
Math
.
max
(
H
.
scrollLeft
,
K
.
scrollLeft
)}
return
{
top
:
N
,
left
:
I
}}}
o
.
offset
=
{
initialize
:
function
(){
if
(
this
.
initialized
){
return
}
var
L
=
document
.
body
,
F
=
document
.
createElement
(
"div"
),
H
,
G
,
N
,
I
,
M
,
E
,
J
=
L
.
style
.
marginTop
,
K
=
'<div style="position:absolute;top:0;left:0;margin:0;border:5px solid #000;padding:0;width:1px;height:1px;"><div></div></div><table style="position:absolute;top:0;left:0;margin:0;border:5px solid #000;padding:0;width:1px;height:1px;" cellpadding="0" cellspacing="0"><tr><td></td></tr></table>'
;
M
=
{
position
:
"absolute"
,
top
:
0
,
left
:
0
,
margin
:
0
,
border
:
0
,
width
:
"1px"
,
height
:
"1px"
,
visibility
:
"hidden"
};
for
(
E
in
M
){
F
.
style
[
E
]
=
M
[
E
]}
F
.
innerHTML
=
K
;
L
.
insertBefore
(
F
,
L
.
firstChild
);
H
=
F
.
firstChild
,
G
=
H
.
firstChild
,
I
=
H
.
nextSibling
.
firstChild
.
firstChild
;
this
.
doesNotAddBorder
=
(
G
.
offsetTop
!==
5
);
this
.
doesAddBorderForTableAndCells
=
(
I
.
offsetTop
===
5
);
H
.
style
.
overflow
=
"hidden"
,
H
.
style
.
position
=
"relative"
;
this
.
subtractsBorderForOverflowNotVisible
=
(
G
.
offsetTop
===-
5
);
L
.
style
.
marginTop
=
"1px"
;
this
.
doesNotIncludeMarginInBodyOffset
=
(
L
.
offsetTop
===
0
);
L
.
style
.
marginTop
=
J
;
L
.
removeChild
(
F
);
this
.
initialized
=
true
},
bodyOffset
:
function
(
E
){
o
.
offset
.
initialized
||
o
.
offset
.
initialize
();
var
G
=
E
.
offsetTop
,
F
=
E
.
offsetLeft
;
if
(
o
.
offset
.
doesNotIncludeMarginInBodyOffset
){
G
+=
parseInt
(
o
.
curCSS
(
E
,
"marginTop"
,
true
),
10
)
||
0
,
F
+=
parseInt
(
o
.
curCSS
(
E
,
"marginLeft"
,
true
),
10
)
||
0
}
return
{
top
:
G
,
left
:
F
}}};
o
.
fn
.
extend
({
position
:
function
(){
var
I
=
0
,
H
=
0
,
F
;
if
(
this
[
0
]){
var
G
=
this
.
offsetParent
(),
J
=
this
.
offset
(),
E
=
/^body|html$/i
.
test
(
G
[
0
].
tagName
)
?
{
top
:
0
,
left
:
0
}
:
G
.
offset
();
J
.
top
-=
j
(
this
,
"marginTop"
);
J
.
left
-=
j
(
this
,
"marginLeft"
);
E
.
top
+=
j
(
G
,
"borderTopWidth"
);
E
.
left
+=
j
(
G
,
"borderLeftWidth"
);
F
=
{
top
:
J
.
top
-
E
.
top
,
left
:
J
.
left
-
E
.
left
}}
return
F
},
offsetParent
:
function
(){
var
E
=
this
[
0
].
offsetParent
||
document
.
body
;
while
(
E
&&
(
!
/^body|html$/i
.
test
(
E
.
tagName
)
&&
o
.
css
(
E
,
"position"
)
==
"static"
)){
E
=
E
.
offsetParent
}
return
o
(
E
)}});
o
.
each
([
"Left"
,
"Top"
],
function
(
F
,
E
){
var
G
=
"scroll"
+
E
;
o
.
fn
[
G
]
=
function
(
H
){
if
(
!
this
[
0
]){
return
null
}
return
H
!==
g
?
this
.
each
(
function
(){
this
==
l
||
this
==
document
?
l
.
scrollTo
(
!
F
?
H
:
o
(
l
).
scrollLeft
(),
F
?
H
:
o
(
l
).
scrollTop
())
:
this
[
G
]
=
H
})
:
this
[
0
]
==
l
||
this
[
0
]
==
document
?
self
[
F
?
"pageYOffset"
:
"pageXOffset"
]
||
o
.
boxModel
&&
document
.
documentElement
[
G
]
||
document
.
body
[
G
]
:
this
[
0
][
G
]}});
o
.
each
([
"Height"
,
"Width"
],
function
(
I
,
G
){
var
E
=
I
?
"Left"
:
"Top"
,
H
=
I
?
"Right"
:
"Bottom"
,
F
=
G
.
toLowerCase
();
o
.
fn
[
"inner"
+
G
]
=
function
(){
return
this
[
0
]
?
o
.
css
(
this
[
0
],
F
,
false
,
"padding"
)
:
null
};
o
.
fn
[
"outer"
+
G
]
=
function
(
K
){
return
this
[
0
]
?
o
.
css
(
this
[
0
],
F
,
false
,
K
?
"margin"
:
"border"
)
:
null
};
var
J
=
G
.
toLowerCase
();
o
.
fn
[
J
]
=
function
(
K
){
return
this
[
0
]
==
l
?
document
.
compatMode
==
"CSS1Compat"
&&
document
.
documentElement
[
"client"
+
G
]
||
document
.
body
[
"client"
+
G
]
:
this
[
0
]
==
document
?
Math
.
max
(
document
.
documentElement
[
"client"
+
G
],
document
.
body
[
"scroll"
+
G
],
document
.
documentElement
[
"scroll"
+
G
],
document
.
body
[
"offset"
+
G
],
document
.
documentElement
[
"offset"
+
G
])
:
K
===
g
?
(
this
.
length
?
o
.
css
(
this
[
0
],
J
)
:
null
)
:
this
.
css
(
J
,
typeof
K
===
"string"
?
K
:
K
+
"px"
)}})})();
File Metadata
Details
Attached
Mime Type
text/plain
Expires
Sat, Feb 22, 15:27 (7 h, 19 m)
Storage Engine
blob
Storage Format
Raw Data
Storage Handle
22009
Default Alt Text
jquery-1.3.2.min.js (55 KB)
Attached To
rZED Zed
Event Timeline
Log In to Comment