Skip to content

Instantly share code, notes, and snippets.

@S-codes14
Last active May 30, 2022 15:09
Show Gist options
  • Save S-codes14/f63dc66b76047ab6501c17788ff16d00 to your computer and use it in GitHub Desktop.
Save S-codes14/f63dc66b76047ab6501c17788ff16d00 to your computer and use it in GitHub Desktop.
TweeterID
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>TweeterID - Twitter ID and username converter</title>
<meta name="title" content ="TweeterID - Twitter ID and username converter" />
<meta name="keywords" content="twitter API, twitter ID, twitter username, get twitter ID, get Twitter username, username from ID, twitter ID lookup, twitter, api, twitter convert, twitter converter, user, find your twitter id, tweet id, tweeter id" />
<meta name="description" content="Convert any Twitter account's username or @handle into its respective Twitter ID, or convert ID to username" />
<meta name="author" content="Jared Feldman and Dillon Hess" />
<meta name="Copyright" content="Copyright TweeterID 2022. All Rights Reserved." />
<meta property="og:title" content="TweeterID - Twitter ID and username converter" />
<meta property="og:type" content="website" />
<meta property="og:url" content="https://tweeterid.com" />
<meta property="og:image" content="/images/logo.png" />
<meta property="og:description" content="Convert any Twitter account's username or @handle into its respective Twitter ID, or convert ID to username" />
<link rel="stylesheet" href="style.css">
<link rel="shortcut icon" href="/images/favicon.ico" />
<script src="//ajax.googleapis.com/ajax/libs/jquery/1.8.2/jquery.min.js"></script>
<script src="//ajax.googleapis.com/ajax/libs/jqueryui/1.9.1/jquery-ui.min.js"></script>
<link href='//fonts.googleapis.com/css?family=Open+Sans:400,700' rel='stylesheet' type='text/css'>
<!-- Mobile Compatibility -->
<meta name="viewport" content="width=device-width, minimum-scale=1.0, maximum-scale=1.0" />
<meta name="apple-mobile-web-app-capable" content="yes" />
</head>
<body>
<div class="top">
<div class="content">
<h1>TweeterID</h1>
<h2>Twitter ID and username converter</h2>
<div class="leftColumn">
<p class="instructions">Type in any Twitter ID or @handle below, and it will be
converted into the respective ID or username <span class="viewportNormal">on the right</span><span class="viewportMobile">below</span>:</p>
<form id="twitterInput" action="javascript:twitterID;">
<input type="text" id="twitter" name="twitter" class="twitter" maxlength="30" />
</form>
<div class="twitterButton" id="twitterButton"><div class="innerborder"><p>Convert</p></div></div>
<div class="blockAd">
<script async src="//pagead2.googlesyndication.com/pagead/js/adsbygoogle.js"></script>
<!-- TweeterID (Block) -->
<ins class="adsbygoogle"
style="display:inline-block;width:300px;height:250px"
data-ad-client="ca-pub-2723092998487179"
data-ad-slot="2765827484"></ins>
<script>
(adsbygoogle = window.adsbygoogle || []).push({});
</script>
</div>
</div><!-- End leftColumn -->
<div class="rightColumn">
<div class="outputSection" id="outputSection">
<div class="output" id="output"></div>
<p class="originalOutputPrompt" id="oop">Enter a Twitter ID or @handle<br /><span class="viewportNormal">on the left</span><span class="viewportMobile">above</span><br />and it will be converted here.</p>
</div>
</div><!-- End rightColumn -->
<div class="spacer"></div>
</div><!-- End Content -->
</div><!-- End Top -->
<div class="bottom">
<div class="content">
<div class="foot1">
<p class="title">What is a Twitter ID?</p>
<p>The Twitter ID is a unique value that every account on Twitter
has. No two people have the same ID. Although an account can
change its @handle, it can never change its Twitter ID.
</p>
</div>
<div class="foot2">
<p class="title">How can you use TweeterID?</p>
<p>TweeterID allows you to easily look up any username (@handle) on
Twitter and find out what their corresponding ID is. Alternatively,
you can also use it to convert an ID into a username.
</p>
</div>
<div class="foot3">
<p class="title">Twitter API with ID?</p>
<p>Using the TweeterID converter enables developers working with the
Twitter API to easily transition between the primary key usage
of the Twitter ID, and the publicly visible
username (or @handle) of an account.
</p>
</div>
<div class="footSpacer"></div>
</div><!-- End content -->
</div><!-- End Bottom -->
<script type="text/javascript" language="javascript" src="script.js"></script>
<!-- Start Google Analytics Tracking -->
<script type="text/javascript">
var _gaq = _gaq || [];
_gaq.push(['_setAccount', 'UA-37123644-1']);
_gaq.push(['_trackPageview']);
(function() {
var ga = document.createElement('script'); ga.type = 'text/javascript'; ga.async = true;
ga.src = ('https:' == document.location.protocol ? 'https://ssl' : 'http://www') + '.google-analytics.com/ga.js';
var s = document.getElementsByTagName('script')[0]; s.parentNode.insertBefore(ga, s);
})();
</script>
<!-- End Google Analytics Tracking -->
</body>
</html>
// Lock to prevent spamming button
var lock = false;
$('#twitterButton').click(function(){
$('#twitterInput').submit();
});
$('#twitterInput').submit(function() {
if (lock == false) {
// Obtain lock
lock = true;
var input = $('#twitter').val().toLowerCase();
// Post to PHP script
$.ajax({
url: 'https://tweeterid.com/ajax.php',
data: {input:input},
type: 'post',
success: function (response) {//response is value returned from php
outputConversion(input, response);
}
});
setTimeout(function() {
lock = false;
}, 3000); // Release lock after time
}
});
var outputCount = 0;
function outputConversion(input, response){
// Handle/Check for Error
if (response == "error"){
response = "<span style='color:red'>Error: Not Found</span>";
}
// Check if it is an id
var isID = IsNumeric(input);
// Add an @ for output if doesn't exist and not an ID
if (input.charAt(0) != "@" && isID == false) {
input = "@" + input;
}
if (outputCount == 0){
$('#oop').fadeOut(500);
$('#output').html("<p style='margin-bottom:8px'>Recent ID Conversions:</p>");
setTimeout(function() {
$('#output').fadeIn(500);
}, 500); // Delay the animation for half a second
}
var outputText = "<p id='"+outputCount+"' style='display:none'>"+ input +" => "+ response +"</p>";
$('#output').html($('#output').html() + outputText);
$('#'+outputCount).fadeIn(800);
$('#outputSection').switchClass("outputSection","outputSectionFlash");
setTimeout(function() {
$('#outputSection').switchClass("outputSectionFlash","outputSection");
}, 500); // Delay the animation for half a second
outputCount++;
}
// Checks if input is ID or not... returns true if it is an ID (if it is numerical)
function IsNumeric(input){
return (input - 0) == input && input.length > 0;
}
/*! jQuery UI - v1.9.1 - 2012-10-25
* http://jqueryui.com
* Includes: jquery.ui.core.js, jquery.ui.widget.js, jquery.ui.mouse.js, jquery.ui.draggable.js, jquery.ui.droppable.js, jquery.ui.resizable.js, jquery.ui.selectable.js, jquery.ui.sortable.js, jquery.ui.effect.js, jquery.ui.accordion.js, jquery.ui.autocomplete.js, jquery.ui.button.js, jquery.ui.datepicker.js, jquery.ui.dialog.js, jquery.ui.effect-blind.js, jquery.ui.effect-bounce.js, jquery.ui.effect-clip.js, jquery.ui.effect-drop.js, jquery.ui.effect-explode.js, jquery.ui.effect-fade.js, jquery.ui.effect-fold.js, jquery.ui.effect-highlight.js, jquery.ui.effect-pulsate.js, jquery.ui.effect-scale.js, jquery.ui.effect-shake.js, jquery.ui.effect-slide.js, jquery.ui.effect-transfer.js, jquery.ui.menu.js, jquery.ui.position.js, jquery.ui.progressbar.js, jquery.ui.slider.js, jquery.ui.spinner.js, jquery.ui.tabs.js, jquery.ui.tooltip.js
* Copyright 2012 jQuery Foundation and other contributors; Licensed MIT */
(function(e, t) {
function i(t, n) {
var r, i, o, u = t.nodeName.toLowerCase();
return "area" === u ? (r = t.parentNode,
i = r.name,
!t.href || !i || r.nodeName.toLowerCase() !== "map" ? !1 : (o = e("img[usemap=#" + i + "]")[0],
!!o && s(o))) : (/input|select|textarea|button|object/.test(u) ? !t.disabled : "a" === u ? t.href || n : n) && s(t)
}
function s(t) {
return e.expr.filters.visible(t) && !e(t).parents().andSelf().filter(function() {
return e.css(this, "visibility") === "hidden"
}).length
}
var n = 0
, r = /^ui-id-\d+$/;
e.ui = e.ui || {};
if (e.ui.version)
return;
e.extend(e.ui, {
version: "1.9.1",
keyCode: {
BACKSPACE: 8,
COMMA: 188,
DELETE: 46,
DOWN: 40,
END: 35,
ENTER: 13,
ESCAPE: 27,
HOME: 36,
LEFT: 37,
NUMPAD_ADD: 107,
NUMPAD_DECIMAL: 110,
NUMPAD_DIVIDE: 111,
NUMPAD_ENTER: 108,
NUMPAD_MULTIPLY: 106,
NUMPAD_SUBTRACT: 109,
PAGE_DOWN: 34,
PAGE_UP: 33,
PERIOD: 190,
RIGHT: 39,
SPACE: 32,
TAB: 9,
UP: 38
}
}),
e.fn.extend({
_focus: e.fn.focus,
focus: function(t, n) {
return typeof t == "number" ? this.each(function() {
var r = this;
setTimeout(function() {
e(r).focus(),
n && n.call(r)
}, t)
}) : this._focus.apply(this, arguments)
},
scrollParent: function() {
var t;
return e.ui.ie && /(static|relative)/.test(this.css("position")) || /absolute/.test(this.css("position")) ? t = this.parents().filter(function() {
return /(relative|absolute|fixed)/.test(e.css(this, "position")) && /(auto|scroll)/.test(e.css(this, "overflow") + e.css(this, "overflow-y") + e.css(this, "overflow-x"))
}).eq(0) : t = this.parents().filter(function() {
return /(auto|scroll)/.test(e.css(this, "overflow") + e.css(this, "overflow-y") + e.css(this, "overflow-x"))
}).eq(0),
/fixed/.test(this.css("position")) || !t.length ? e(document) : t
},
zIndex: function(n) {
if (n !== t)
return this.css("zIndex", n);
if (this.length) {
var r = e(this[0]), i, s;
while (r.length && r[0] !== document) {
i = r.css("position");
if (i === "absolute" || i === "relative" || i === "fixed") {
s = parseInt(r.css("zIndex"), 10);
if (!isNaN(s) && s !== 0)
return s
}
r = r.parent()
}
}
return 0
},
uniqueId: function() {
return this.each(function() {
this.id || (this.id = "ui-id-" + ++n)
})
},
removeUniqueId: function() {
return this.each(function() {
r.test(this.id) && e(this).removeAttr("id")
})
}
}),
e("<a>").outerWidth(1).jquery || e.each(["Width", "Height"], function(n, r) {
function u(t, n, r, s) {
return e.each(i, function() {
n -= parseFloat(e.css(t, "padding" + this)) || 0,
r && (n -= parseFloat(e.css(t, "border" + this + "Width")) || 0),
s && (n -= parseFloat(e.css(t, "margin" + this)) || 0)
}),
n
}
var i = r === "Width" ? ["Left", "Right"] : ["Top", "Bottom"]
, s = r.toLowerCase()
, o = {
innerWidth: e.fn.innerWidth,
innerHeight: e.fn.innerHeight,
outerWidth: e.fn.outerWidth,
outerHeight: e.fn.outerHeight
};
e.fn["inner" + r] = function(n) {
return n === t ? o["inner" + r].call(this) : this.each(function() {
e(this).css(s, u(this, n) + "px")
})
}
,
e.fn["outer" + r] = function(t, n) {
return typeof t != "number" ? o["outer" + r].call(this, t) : this.each(function() {
e(this).css(s, u(this, t, !0, n) + "px")
})
}
}),
e.extend(e.expr[":"], {
data: e.expr.createPseudo ? e.expr.createPseudo(function(t) {
return function(n) {
return !!e.data(n, t)
}
}) : function(t, n, r) {
return !!e.data(t, r[3])
}
,
focusable: function(t) {
return i(t, !isNaN(e.attr(t, "tabindex")))
},
tabbable: function(t) {
var n = e.attr(t, "tabindex")
, r = isNaN(n);
return (r || n >= 0) && i(t, !r)
}
}),
e(function() {
var t = document.body
, n = t.appendChild(n = document.createElement("div"));
n.offsetHeight,
e.extend(n.style, {
minHeight: "100px",
height: "auto",
padding: 0,
borderWidth: 0
}),
e.support.minHeight = n.offsetHeight === 100,
e.support.selectstart = "onselectstart"in n,
t.removeChild(n).style.display = "none"
}),
function() {
var t = /msie ([\w.]+)/.exec(navigator.userAgent.toLowerCase()) || [];
e.ui.ie = t.length ? !0 : !1,
e.ui.ie6 = parseFloat(t[1], 10) === 6
}(),
e.fn.extend({
disableSelection: function() {
return this.bind((e.support.selectstart ? "selectstart" : "mousedown") + ".ui-disableSelection", function(e) {
e.preventDefault()
})
},
enableSelection: function() {
return this.unbind(".ui-disableSelection")
}
}),
e.extend(e.ui, {
plugin: {
add: function(t, n, r) {
var i, s = e.ui[t].prototype;
for (i in r)
s.plugins[i] = s.plugins[i] || [],
s.plugins[i].push([n, r[i]])
},
call: function(e, t, n) {
var r, i = e.plugins[t];
if (!i || !e.element[0].parentNode || e.element[0].parentNode.nodeType === 11)
return;
for (r = 0; r < i.length; r++)
e.options[i[r][0]] && i[r][1].apply(e.element, n)
}
},
contains: e.contains,
hasScroll: function(t, n) {
if (e(t).css("overflow") === "hidden")
return !1;
var r = n && n === "left" ? "scrollLeft" : "scrollTop"
, i = !1;
return t[r] > 0 ? !0 : (t[r] = 1,
i = t[r] > 0,
t[r] = 0,
i)
},
isOverAxis: function(e, t, n) {
return e > t && e < t + n
},
isOver: function(t, n, r, i, s, o) {
return e.ui.isOverAxis(t, r, s) && e.ui.isOverAxis(n, i, o)
}
})
}
)(jQuery),
function(e, t) {
var n = 0
, r = Array.prototype.slice
, i = e.cleanData;
e.cleanData = function(t) {
for (var n = 0, r; (r = t[n]) != null; n++)
try {
e(r).triggerHandler("remove")
} catch (s) {}
i(t)
}
,
e.widget = function(t, n, r) {
var i, s, o, u, a = t.split(".")[0];
t = t.split(".")[1],
i = a + "-" + t,
r || (r = n,
n = e.Widget),
e.expr[":"][i.toLowerCase()] = function(t) {
return !!e.data(t, i)
}
,
e[a] = e[a] || {},
s = e[a][t],
o = e[a][t] = function(e, t) {
if (!this._createWidget)
return new o(e,t);
arguments.length && this._createWidget(e, t)
}
,
e.extend(o, s, {
version: r.version,
_proto: e.extend({}, r),
_childConstructors: []
}),
u = new n,
u.options = e.widget.extend({}, u.options),
e.each(r, function(t, i) {
e.isFunction(i) && (r[t] = function() {
var e = function() {
return n.prototype[t].apply(this, arguments)
}
, r = function(e) {
return n.prototype[t].apply(this, e)
};
return function() {
var t = this._super, n = this._superApply, s;
return this._super = e,
this._superApply = r,
s = i.apply(this, arguments),
this._super = t,
this._superApply = n,
s
}
}())
}),
o.prototype = e.widget.extend(u, {
widgetEventPrefix: u.widgetEventPrefix || t
}, r, {
constructor: o,
namespace: a,
widgetName: t,
widgetBaseClass: i,
widgetFullName: i
}),
s ? (e.each(s._childConstructors, function(t, n) {
var r = n.prototype;
e.widget(r.namespace + "." + r.widgetName, o, n._proto)
}),
delete s._childConstructors) : n._childConstructors.push(o),
e.widget.bridge(t, o)
}
,
e.widget.extend = function(n) {
var i = r.call(arguments, 1), s = 0, o = i.length, u, a;
for (; s < o; s++)
for (u in i[s])
a = i[s][u],
i[s].hasOwnProperty(u) && a !== t && (e.isPlainObject(a) ? n[u] = e.isPlainObject(n[u]) ? e.widget.extend({}, n[u], a) : e.widget.extend({}, a) : n[u] = a);
return n
}
,
e.widget.bridge = function(n, i) {
var s = i.prototype.widgetFullName;
e.fn[n] = function(o) {
var u = typeof o == "string"
, a = r.call(arguments, 1)
, f = this;
return o = !u && a.length ? e.widget.extend.apply(null, [o].concat(a)) : o,
u ? this.each(function() {
var r, i = e.data(this, s);
if (!i)
return e.error("cannot call methods on " + n + " prior to initialization; " + "attempted to call method '" + o + "'");
if (!e.isFunction(i[o]) || o.charAt(0) === "_")
return e.error("no such method '" + o + "' for " + n + " widget instance");
r = i[o].apply(i, a);
if (r !== i && r !== t)
return f = r && r.jquery ? f.pushStack(r.get()) : r,
!1
}) : this.each(function() {
var t = e.data(this, s);
t ? t.option(o || {})._init() : new i(o,this)
}),
f
}
}
,
e.Widget = function() {}
,
e.Widget._childConstructors = [],
e.Widget.prototype = {
widgetName: "widget",
widgetEventPrefix: "",
defaultElement: "<div>",
options: {
disabled: !1,
create: null
},
_createWidget: function(t, r) {
r = e(r || this.defaultElement || this)[0],
this.element = e(r),
this.uuid = n++,
this.eventNamespace = "." + this.widgetName + this.uuid,
this.options = e.widget.extend({}, this.options, this._getCreateOptions(), t),
this.bindings = e(),
this.hoverable = e(),
this.focusable = e(),
r !== this && (e.data(r, this.widgetName, this),
e.data(r, this.widgetFullName, this),
this._on(this.element, {
remove: function(e) {
e.target === r && this.destroy()
}
}),
this.document = e(r.style ? r.ownerDocument : r.document || r),
this.window = e(this.document[0].defaultView || this.document[0].parentWindow)),
this._create(),
this._trigger("create", null, this._getCreateEventData()),
this._init()
},
_getCreateOptions: e.noop,
_getCreateEventData: e.noop,
_create: e.noop,
_init: e.noop,
destroy: function() {
this._destroy(),
this.element.unbind(this.eventNamespace).removeData(this.widgetName).removeData(this.widgetFullName).removeData(e.camelCase(this.widgetFullName)),
this.widget().unbind(this.eventNamespace).removeAttr("aria-disabled").removeClass(this.widgetFullName + "-disabled " + "ui-state-disabled"),
this.bindings.unbind(this.eventNamespace),
this.hoverable.removeClass("ui-state-hover"),
this.focusable.removeClass("ui-state-focus")
},
_destroy: e.noop,
widget: function() {
return this.element
},
option: function(n, r) {
var i = n, s, o, u;
if (arguments.length === 0)
return e.widget.extend({}, this.options);
if (typeof n == "string") {
i = {},
s = n.split("."),
n = s.shift();
if (s.length) {
o = i[n] = e.widget.extend({}, this.options[n]);
for (u = 0; u < s.length - 1; u++)
o[s[u]] = o[s[u]] || {},
o = o[s[u]];
n = s.pop();
if (r === t)
return o[n] === t ? null : o[n];
o[n] = r
} else {
if (r === t)
return this.options[n] === t ? null : this.options[n];
i[n] = r
}
}
return this._setOptions(i),
this
},
_setOptions: function(e) {
var t;
for (t in e)
this._setOption(t, e[t]);
return this
},
_setOption: function(e, t) {
return this.options[e] = t,
e === "disabled" && (this.widget().toggleClass(this.widgetFullName + "-disabled ui-state-disabled", !!t).attr("aria-disabled", t),
this.hoverable.removeClass("ui-state-hover"),
this.focusable.removeClass("ui-state-focus")),
this
},
enable: function() {
return this._setOption("disabled", !1)
},
disable: function() {
return this._setOption("disabled", !0)
},
_on: function(t, n) {
var r, i = this;
n ? (t = r = e(t),
this.bindings = this.bindings.add(t)) : (n = t,
t = this.element,
r = this.widget()),
e.each(n, function(n, s) {
function o() {
if (i.options.disabled === !0 || e(this).hasClass("ui-state-disabled"))
return;
return (typeof s == "string" ? i[s] : s).apply(i, arguments)
}
typeof s != "string" && (o.guid = s.guid = s.guid || o.guid || e.guid++);
var u = n.match(/^(\w+)\s*(.*)$/)
, a = u[1] + i.eventNamespace
, f = u[2];
f ? r.delegate(f, a, o) : t.bind(a, o)
})
},
_off: function(e, t) {
t = (t || "").split(" ").join(this.eventNamespace + " ") + this.eventNamespace,
e.unbind(t).undelegate(t)
},
_delay: function(e, t) {
function n() {
return (typeof e == "string" ? r[e] : e).apply(r, arguments)
}
var r = this;
return setTimeout(n, t || 0)
},
_hoverable: function(t) {
this.hoverable = this.hoverable.add(t),
this._on(t, {
mouseenter: function(t) {
e(t.currentTarget).addClass("ui-state-hover")
},
mouseleave: function(t) {
e(t.currentTarget).removeClass("ui-state-hover")
}
})
},
_focusable: function(t) {
this.focusable = this.focusable.add(t),
this._on(t, {
focusin: function(t) {
e(t.currentTarget).addClass("ui-state-focus")
},
focusout: function(t) {
e(t.currentTarget).removeClass("ui-state-focus")
}
})
},
_trigger: function(t, n, r) {
var i, s, o = this.options[t];
r = r || {},
n = e.Event(n),
n.type = (t === this.widgetEventPrefix ? t : this.widgetEventPrefix + t).toLowerCase(),
n.target = this.element[0],
s = n.originalEvent;
if (s)
for (i in s)
i in n || (n[i] = s[i]);
return this.element.trigger(n, r),
!(e.isFunction(o) && o.apply(this.element[0], [n].concat(r)) === !1 || n.isDefaultPrevented())
}
},
e.each({
show: "fadeIn",
hide: "fadeOut"
}, function(t, n) {
e.Widget.prototype["_" + t] = function(r, i, s) {
typeof i == "string" && (i = {
effect: i
});
var o, u = i ? i === !0 || typeof i == "number" ? n : i.effect || n : t;
i = i || {},
typeof i == "number" && (i = {
duration: i
}),
o = !e.isEmptyObject(i),
i.complete = s,
i.delay && r.delay(i.delay),
o && e.effects && (e.effects.effect[u] || e.uiBackCompat !== !1 && e.effects[u]) ? r[t](i) : u !== t && r[u] ? r[u](i.duration, i.easing, s) : r.queue(function(n) {
e(this)[t](),
s && s.call(r[0]),
n()
})
}
}),
e.uiBackCompat !== !1 && (e.Widget.prototype._getCreateOptions = function() {
return e.metadata && e.metadata.get(this.element[0])[this.widgetName]
}
)
}(jQuery),
function(e, t) {
var n = !1;
e(document).mouseup(function(e) {
n = !1
}),
e.widget("ui.mouse", {
version: "1.9.1",
options: {
cancel: "input,textarea,button,select,option",
distance: 1,
delay: 0
},
_mouseInit: function() {
var t = this;
this.element.bind("mousedown." + this.widgetName, function(e) {
return t._mouseDown(e)
}).bind("click." + this.widgetName, function(n) {
if (!0 === e.data(n.target, t.widgetName + ".preventClickEvent"))
return e.removeData(n.target, t.widgetName + ".preventClickEvent"),
n.stopImmediatePropagation(),
!1
}),
this.started = !1
},
_mouseDestroy: function() {
this.element.unbind("." + this.widgetName),
this._mouseMoveDelegate && e(document).unbind("mousemove." + this.widgetName, this._mouseMoveDelegate).unbind("mouseup." + this.widgetName, this._mouseUpDelegate)
},
_mouseDown: function(t) {
if (n)
return;
this._mouseStarted && this._mouseUp(t),
this._mouseDownEvent = t;
var r = this
, i = t.which === 1
, s = typeof this.options.cancel == "string" && t.target.nodeName ? e(t.target).closest(this.options.cancel).length : !1;
if (!i || s || !this._mouseCapture(t))
return !0;
this.mouseDelayMet = !this.options.delay,
this.mouseDelayMet || (this._mouseDelayTimer = setTimeout(function() {
r.mouseDelayMet = !0
}, this.options.delay));
if (this._mouseDistanceMet(t) && this._mouseDelayMet(t)) {
this._mouseStarted = this._mouseStart(t) !== !1;
if (!this._mouseStarted)
return t.preventDefault(),
!0
}
return !0 === e.data(t.target, this.widgetName + ".preventClickEvent") && e.removeData(t.target, this.widgetName + ".preventClickEvent"),
this._mouseMoveDelegate = function(e) {
return r._mouseMove(e)
}
,
this._mouseUpDelegate = function(e) {
return r._mouseUp(e)
}
,
e(document).bind("mousemove." + this.widgetName, this._mouseMoveDelegate).bind("mouseup." + this.widgetName, this._mouseUpDelegate),
t.preventDefault(),
n = !0,
!0
},
_mouseMove: function(t) {
return !e.ui.ie || document.documentMode >= 9 || !!t.button ? this._mouseStarted ? (this._mouseDrag(t),
t.preventDefault()) : (this._mouseDistanceMet(t) && this._mouseDelayMet(t) && (this._mouseStarted = this._mouseStart(this._mouseDownEvent, t) !== !1,
this._mouseStarted ? this._mouseDrag(t) : this._mouseUp(t)),
!this._mouseStarted) : this._mouseUp(t)
},
_mouseUp: function(t) {
return e(document).unbind("mousemove." + this.widgetName, this._mouseMoveDelegate).unbind("mouseup." + this.widgetName, this._mouseUpDelegate),
this._mouseStarted && (this._mouseStarted = !1,
t.target === this._mouseDownEvent.target && e.data(t.target, this.widgetName + ".preventClickEvent", !0),
this._mouseStop(t)),
!1
},
_mouseDistanceMet: function(e) {
return Math.max(Math.abs(this._mouseDownEvent.pageX - e.pageX), Math.abs(this._mouseDownEvent.pageY - e.pageY)) >= this.options.distance
},
_mouseDelayMet: function(e) {
return this.mouseDelayMet
},
_mouseStart: function(e) {},
_mouseDrag: function(e) {},
_mouseStop: function(e) {},
_mouseCapture: function(e) {
return !0
}
})
}(jQuery),
function(e, t) {
e.widget("ui.draggable", e.ui.mouse, {
version: "1.9.1",
widgetEventPrefix: "drag",
options: {
addClasses: !0,
appendTo: "parent",
axis: !1,
connectToSortable: !1,
containment: !1,
cursor: "auto",
cursorAt: !1,
grid: !1,
handle: !1,
helper: "original",
iframeFix: !1,
opacity: !1,
refreshPositions: !1,
revert: !1,
revertDuration: 500,
scope: "default",
scroll: !0,
scrollSensitivity: 20,
scrollSpeed: 20,
snap: !1,
snapMode: "both",
snapTolerance: 20,
stack: !1,
zIndex: !1
},
_create: function() {
this.options.helper == "original" && !/^(?:r|a|f)/.test(this.element.css("position")) && (this.element[0].style.position = "relative"),
this.options.addClasses && this.element.addClass("ui-draggable"),
this.options.disabled && this.element.addClass("ui-draggable-disabled"),
this._mouseInit()
},
_destroy: function() {
this.element.removeClass("ui-draggable ui-draggable-dragging ui-draggable-disabled"),
this._mouseDestroy()
},
_mouseCapture: function(t) {
var n = this.options;
return this.helper || n.disabled || e(t.target).is(".ui-resizable-handle") ? !1 : (this.handle = this._getHandle(t),
this.handle ? (e(n.iframeFix === !0 ? "iframe" : n.iframeFix).each(function() {
e('<div class="ui-draggable-iframeFix" style="background: #fff;"></div>').css({
width: this.offsetWidth + "px",
height: this.offsetHeight + "px",
position: "absolute",
opacity: "0.001",
zIndex: 1e3
}).css(e(this).offset()).appendTo("body")
}),
!0) : !1)
},
_mouseStart: function(t) {
var n = this.options;
return this.helper = this._createHelper(t),
this.helper.addClass("ui-draggable-dragging"),
this._cacheHelperProportions(),
e.ui.ddmanager && (e.ui.ddmanager.current = this),
this._cacheMargins(),
this.cssPosition = this.helper.css("position"),
this.scrollParent = this.helper.scrollParent(),
this.offset = this.positionAbs = this.element.offset(),
this.offset = {
top: this.offset.top - this.margins.top,
left: this.offset.left - this.margins.left
},
e.extend(this.offset, {
click: {
left: t.pageX - this.offset.left,
top: t.pageY - this.offset.top
},
parent: this._getParentOffset(),
relative: this._getRelativeOffset()
}),
this.originalPosition = this.position = this._generatePosition(t),
this.originalPageX = t.pageX,
this.originalPageY = t.pageY,
n.cursorAt && this._adjustOffsetFromHelper(n.cursorAt),
n.containment && this._setContainment(),
this._trigger("start", t) === !1 ? (this._clear(),
!1) : (this._cacheHelperProportions(),
e.ui.ddmanager && !n.dropBehaviour && e.ui.ddmanager.prepareOffsets(this, t),
this._mouseDrag(t, !0),
e.ui.ddmanager && e.ui.ddmanager.dragStart(this, t),
!0)
},
_mouseDrag: function(t, n) {
this.position = this._generatePosition(t),
this.positionAbs = this._convertPositionTo("absolute");
if (!n) {
var r = this._uiHash();
if (this._trigger("drag", t, r) === !1)
return this._mouseUp({}),
!1;
this.position = r.position
}
if (!this.options.axis || this.options.axis != "y")
this.helper[0].style.left = this.position.left + "px";
if (!this.options.axis || this.options.axis != "x")
this.helper[0].style.top = this.position.top + "px";
return e.ui.ddmanager && e.ui.ddmanager.drag(this, t),
!1
},
_mouseStop: function(t) {
var n = !1;
e.ui.ddmanager && !this.options.dropBehaviour && (n = e.ui.ddmanager.drop(this, t)),
this.dropped && (n = this.dropped,
this.dropped = !1);
var r = this.element[0]
, i = !1;
while (r && (r = r.parentNode))
r == document && (i = !0);
if (!i && this.options.helper === "original")
return !1;
if (this.options.revert == "invalid" && !n || this.options.revert == "valid" && n || this.options.revert === !0 || e.isFunction(this.options.revert) && this.options.revert.call(this.element, n)) {
var s = this;
e(this.helper).animate(this.originalPosition, parseInt(this.options.revertDuration, 10), function() {
s._trigger("stop", t) !== !1 && s._clear()
})
} else
this._trigger("stop", t) !== !1 && this._clear();
return !1
},
_mouseUp: function(t) {
return e("div.ui-draggable-iframeFix").each(function() {
this.parentNode.removeChild(this)
}),
e.ui.ddmanager && e.ui.ddmanager.dragStop(this, t),
e.ui.mouse.prototype._mouseUp.call(this, t)
},
cancel: function() {
return this.helper.is(".ui-draggable-dragging") ? this._mouseUp({}) : this._clear(),
this
},
_getHandle: function(t) {
var n = !this.options.handle || !e(this.options.handle, this.element).length ? !0 : !1;
return e(this.options.handle, this.element).find("*").andSelf().each(function() {
this == t.target && (n = !0)
}),
n
},
_createHelper: function(t) {
var n = this.options
, r = e.isFunction(n.helper) ? e(n.helper.apply(this.element[0], [t])) : n.helper == "clone" ? this.element.clone().removeAttr("id") : this.element;
return r.parents("body").length || r.appendTo(n.appendTo == "parent" ? this.element[0].parentNode : n.appendTo),
r[0] != this.element[0] && !/(fixed|absolute)/.test(r.css("position")) && r.css("position", "absolute"),
r
},
_adjustOffsetFromHelper: function(t) {
typeof t == "string" && (t = t.split(" ")),
e.isArray(t) && (t = {
left: +t[0],
top: +t[1] || 0
}),
"left"in t && (this.offset.click.left = t.left + this.margins.left),
"right"in t && (this.offset.click.left = this.helperProportions.width - t.right + this.margins.left),
"top"in t && (this.offset.click.top = t.top + this.margins.top),
"bottom"in t && (this.offset.click.top = this.helperProportions.height - t.bottom + this.margins.top)
},
_getParentOffset: function() {
this.offsetParent = this.helper.offsetParent();
var t = this.offsetParent.offset();
this.cssPosition == "absolute" && this.scrollParent[0] != document && e.contains(this.scrollParent[0], this.offsetParent[0]) && (t.left += this.scrollParent.scrollLeft(),
t.top += this.scrollParent.scrollTop());
if (this.offsetParent[0] == document.body || this.offsetParent[0].tagName && this.offsetParent[0].tagName.toLowerCase() == "html" && e.ui.ie)
t = {
top: 0,
left: 0
};
return {
top: t.top + (parseInt(this.offsetParent.css("borderTopWidth"), 10) || 0),
left: t.left + (parseInt(this.offsetParent.css("borderLeftWidth"), 10) || 0)
}
},
_getRelativeOffset: function() {
if (this.cssPosition == "relative") {
var e = this.element.position();
return {
top: e.top - (parseInt(this.helper.css("top"), 10) || 0) + this.scrollParent.scrollTop(),
left: e.left - (parseInt(this.helper.css("left"), 10) || 0) + this.scrollParent.scrollLeft()
}
}
return {
top: 0,
left: 0
}
},
_cacheMargins: function() {
this.margins = {
left: parseInt(this.element.css("marginLeft"), 10) || 0,
top: parseInt(this.element.css("marginTop"), 10) || 0,
right: parseInt(this.element.css("marginRight"), 10) || 0,
bottom: parseInt(this.element.css("marginBottom"), 10) || 0
}
},
_cacheHelperProportions: function() {
this.helperProportions = {
width: this.helper.outerWidth(),
height: this.helper.outerHeight()
}
},
_setContainment: function() {
var t = this.options;
t.containment == "parent" && (t.containment = this.helper[0].parentNode);
if (t.containment == "document" || t.containment == "window")
this.containment = [t.containment == "document" ? 0 : e(window).scrollLeft() - this.offset.relative.left - this.offset.parent.left, t.containment == "document" ? 0 : e(window).scrollTop() - this.offset.relative.top - this.offset.parent.top, (t.containment == "document" ? 0 : e(window).scrollLeft()) + e(t.containment == "document" ? document : window).width() - this.helperProportions.width - this.margins.left, (t.containment == "document" ? 0 : e(window).scrollTop()) + (e(t.containment == "document" ? document : window).height() || document.body.parentNode.scrollHeight) - this.helperProportions.height - this.margins.top];
if (!/^(document|window|parent)$/.test(t.containment) && t.containment.constructor != Array) {
var n = e(t.containment)
, r = n[0];
if (!r)
return;
var i = n.offset()
, s = e(r).css("overflow") != "hidden";
this.containment = [(parseInt(e(r).css("borderLeftWidth"), 10) || 0) + (parseInt(e(r).css("paddingLeft"), 10) || 0), (parseInt(e(r).css("borderTopWidth"), 10) || 0) + (parseInt(e(r).css("paddingTop"), 10) || 0), (s ? Math.max(r.scrollWidth, r.offsetWidth) : r.offsetWidth) - (parseInt(e(r).css("borderLeftWidth"), 10) || 0) - (parseInt(e(r).css("paddingRight"), 10) || 0) - this.helperProportions.width - this.margins.left - this.margins.right, (s ? Math.max(r.scrollHeight, r.offsetHeight) : r.offsetHeight) - (parseInt(e(r).css("borderTopWidth"), 10) || 0) - (parseInt(e(r).css("paddingBottom"), 10) || 0) - this.helperProportions.height - this.margins.top - this.margins.bottom],
this.relative_container = n
} else
t.containment.constructor == Array && (this.containment = t.containment)
},
_convertPositionTo: function(t, n) {
n || (n = this.position);
var r = t == "absolute" ? 1 : -1
, i = this.options
, s = this.cssPosition != "absolute" || this.scrollParent[0] != document && !!e.contains(this.scrollParent[0], this.offsetParent[0]) ? this.scrollParent : this.offsetParent
, o = /(html|body)/i.test(s[0].tagName);
return {
top: n.top + this.offset.relative.top * r + this.offset.parent.top * r - (this.cssPosition == "fixed" ? -this.scrollParent.scrollTop() : o ? 0 : s.scrollTop()) * r,
left: n.left + this.offset.relative.left * r + this.offset.parent.left * r - (this.cssPosition == "fixed" ? -this.scrollParent.scrollLeft() : o ? 0 : s.scrollLeft()) * r
}
},
_generatePosition: function(t) {
var n = this.options
, r = this.cssPosition != "absolute" || this.scrollParent[0] != document && !!e.contains(this.scrollParent[0], this.offsetParent[0]) ? this.scrollParent : this.offsetParent
, i = /(html|body)/i.test(r[0].tagName)
, s = t.pageX
, o = t.pageY;
if (this.originalPosition) {
var u;
if (this.containment) {
if (this.relative_container) {
var a = this.relative_container.offset();
u = [this.containment[0] + a.left, this.containment[1] + a.top, this.containment[2] + a.left, this.containment[3] + a.top]
} else
u = this.containment;
t.pageX - this.offset.click.left < u[0] && (s = u[0] + this.offset.click.left),
t.pageY - this.offset.click.top < u[1] && (o = u[1] + this.offset.click.top),
t.pageX - this.offset.click.left > u[2] && (s = u[2] + this.offset.click.left),
t.pageY - this.offset.click.top > u[3] && (o = u[3] + this.offset.click.top)
}
if (n.grid) {
var f = n.grid[1] ? this.originalPageY + Math.round((o - this.originalPageY) / n.grid[1]) * n.grid[1] : this.originalPageY;
o = u ? f - this.offset.click.top < u[1] || f - this.offset.click.top > u[3] ? f - this.offset.click.top < u[1] ? f + n.grid[1] : f - n.grid[1] : f : f;
var l = n.grid[0] ? this.originalPageX + Math.round((s - this.originalPageX) / n.grid[0]) * n.grid[0] : this.originalPageX;
s = u ? l - this.offset.click.left < u[0] || l - this.offset.click.left > u[2] ? l - this.offset.click.left < u[0] ? l + n.grid[0] : l - n.grid[0] : l : l
}
}
return {
top: o - this.offset.click.top - this.offset.relative.top - this.offset.parent.top + (this.cssPosition == "fixed" ? -this.scrollParent.scrollTop() : i ? 0 : r.scrollTop()),
left: s - this.offset.click.left - this.offset.relative.left - this.offset.parent.left + (this.cssPosition == "fixed" ? -this.scrollParent.scrollLeft() : i ? 0 : r.scrollLeft())
}
},
_clear: function() {
this.helper.removeClass("ui-draggable-dragging"),
this.helper[0] != this.element[0] && !this.cancelHelperRemoval && this.helper.remove(),
this.helper = null,
this.cancelHelperRemoval = !1
},
_trigger: function(t, n, r) {
return r = r || this._uiHash(),
e.ui.plugin.call(this, t, [n, r]),
t == "drag" && (this.positionAbs = this._convertPositionTo("absolute")),
e.Widget.prototype._trigger.call(this, t, n, r)
},
plugins: {},
_uiHash: function(e) {
return {
helper: this.helper,
position: this.position,
originalPosition: this.originalPosition,
offset: this.positionAbs
}
}
}),
e.ui.plugin.add("draggable", "connectToSortable", {
start: function(t, n) {
var r = e(this).data("draggable")
, i = r.options
, s = e.extend({}, n, {
item: r.element
});
r.sortables = [],
e(i.connectToSortable).each(function() {
var n = e.data(this, "sortable");
n && !n.options.disabled && (r.sortables.push({
instance: n,
shouldRevert: n.options.revert
}),
n.refreshPositions(),
n._trigger("activate", t, s))
})
},
stop: function(t, n) {
var r = e(this).data("draggable")
, i = e.extend({}, n, {
item: r.element
});
e.each(r.sortables, function() {
this.instance.isOver ? (this.instance.isOver = 0,
r.cancelHelperRemoval = !0,
this.instance.cancelHelperRemoval = !1,
this.shouldRevert && (this.instance.options.revert = !0),
this.instance._mouseStop(t),
this.instance.options.helper = this.instance.options._helper,
r.options.helper == "original" && this.instance.currentItem.css({
top: "auto",
left: "auto"
})) : (this.instance.cancelHelperRemoval = !1,
this.instance._trigger("deactivate", t, i))
})
},
drag: function(t, n) {
var r = e(this).data("draggable")
, i = this
, s = function(t) {
var n = this.offset.click.top
, r = this.offset.click.left
, i = this.positionAbs.top
, s = this.positionAbs.left
, o = t.height
, u = t.width
, a = t.top
, f = t.left;
return e.ui.isOver(i + n, s + r, a, f, o, u)
};
e.each(r.sortables, function(s) {
var o = !1
, u = this;
this.instance.positionAbs = r.positionAbs,
this.instance.helperProportions = r.helperProportions,
this.instance.offset.click = r.offset.click,
this.instance._intersectsWith(this.instance.containerCache) && (o = !0,
e.each(r.sortables, function() {
return this.instance.positionAbs = r.positionAbs,
this.instance.helperProportions = r.helperProportions,
this.instance.offset.click = r.offset.click,
this != u && this.instance._intersectsWith(this.instance.containerCache) && e.ui.contains(u.instance.element[0], this.instance.element[0]) && (o = !1),
o
})),
o ? (this.instance.isOver || (this.instance.isOver = 1,
this.instance.currentItem = e(i).clone().removeAttr("id").appendTo(this.instance.element).data("sortable-item", !0),
this.instance.options._helper = this.instance.options.helper,
this.instance.options.helper = function() {
return n.helper[0]
}
,
t.target = this.instance.currentItem[0],
this.instance._mouseCapture(t, !0),
this.instance._mouseStart(t, !0, !0),
this.instance.offset.click.top = r.offset.click.top,
this.instance.offset.click.left = r.offset.click.left,
this.instance.offset.parent.left -= r.offset.parent.left - this.instance.offset.parent.left,
this.instance.offset.parent.top -= r.offset.parent.top - this.instance.offset.parent.top,
r._trigger("toSortable", t),
r.dropped = this.instance.element,
r.currentItem = r.element,
this.instance.fromOutside = r),
this.instance.currentItem && this.instance._mouseDrag(t)) : this.instance.isOver && (this.instance.isOver = 0,
this.instance.cancelHelperRemoval = !0,
this.instance.options.revert = !1,
this.instance._trigger("out", t, this.instance._uiHash(this.instance)),
this.instance._mouseStop(t, !0),
this.instance.options.helper = this.instance.options._helper,
this.instance.currentItem.remove(),
this.instance.placeholder && this.instance.placeholder.remove(),
r._trigger("fromSortable", t),
r.dropped = !1)
})
}
}),
e.ui.plugin.add("draggable", "cursor", {
start: function(t, n) {
var r = e("body")
, i = e(this).data("draggable").options;
r.css("cursor") && (i._cursor = r.css("cursor")),
r.css("cursor", i.cursor)
},
stop: function(t, n) {
var r = e(this).data("draggable").options;
r._cursor && e("body").css("cursor", r._cursor)
}
}),
e.ui.plugin.add("draggable", "opacity", {
start: function(t, n) {
var r = e(n.helper)
, i = e(this).data("draggable").options;
r.css("opacity") && (i._opacity = r.css("opacity")),
r.css("opacity", i.opacity)
},
stop: function(t, n) {
var r = e(this).data("draggable").options;
r._opacity && e(n.helper).css("opacity", r._opacity)
}
}),
e.ui.plugin.add("draggable", "scroll", {
start: function(t, n) {
var r = e(this).data("draggable");
r.scrollParent[0] != document && r.scrollParent[0].tagName != "HTML" && (r.overflowOffset = r.scrollParent.offset())
},
drag: function(t, n) {
var r = e(this).data("draggable")
, i = r.options
, s = !1;
if (r.scrollParent[0] != document && r.scrollParent[0].tagName != "HTML") {
if (!i.axis || i.axis != "x")
r.overflowOffset.top + r.scrollParent[0].offsetHeight - t.pageY < i.scrollSensitivity ? r.scrollParent[0].scrollTop = s = r.scrollParent[0].scrollTop + i.scrollSpeed : t.pageY - r.overflowOffset.top < i.scrollSensitivity && (r.scrollParent[0].scrollTop = s = r.scrollParent[0].scrollTop - i.scrollSpeed);
if (!i.axis || i.axis != "y")
r.overflowOffset.left + r.scrollParent[0].offsetWidth - t.pageX < i.scrollSensitivity ? r.scrollParent[0].scrollLeft = s = r.scrollParent[0].scrollLeft + i.scrollSpeed : t.pageX - r.overflowOffset.left < i.scrollSensitivity && (r.scrollParent[0].scrollLeft = s = r.scrollParent[0].scrollLeft - i.scrollSpeed)
} else {
if (!i.axis || i.axis != "x")
t.pageY - e(document).scrollTop() < i.scrollSensitivity ? s = e(document).scrollTop(e(document).scrollTop() - i.scrollSpeed) : e(window).height() - (t.pageY - e(document).scrollTop()) < i.scrollSensitivity && (s = e(document).scrollTop(e(document).scrollTop() + i.scrollSpeed));
if (!i.axis || i.axis != "y")
t.pageX - e(document).scrollLeft() < i.scrollSensitivity ? s = e(document).scrollLeft(e(document).scrollLeft() - i.scrollSpeed) : e(window).width() - (t.pageX - e(document).scrollLeft()) < i.scrollSensitivity && (s = e(document).scrollLeft(e(document).scrollLeft() + i.scrollSpeed))
}
s !== !1 && e.ui.ddmanager && !i.dropBehaviour && e.ui.ddmanager.prepareOffsets(r, t)
}
}),
e.ui.plugin.add("draggable", "snap", {
start: function(t, n) {
var r = e(this).data("draggable")
, i = r.options;
r.snapElements = [],
e(i.snap.constructor != String ? i.snap.items || ":data(draggable)" : i.snap).each(function() {
var t = e(this)
, n = t.offset();
this != r.element[0] && r.snapElements.push({
item: this,
width: t.outerWidth(),
height: t.outerHeight(),
top: n.top,
left: n.left
})
})
},
drag: function(t, n) {
var r = e(this).data("draggable")
, i = r.options
, s = i.snapTolerance
, o = n.offset.left
, u = o + r.helperProportions.width
, a = n.offset.top
, f = a + r.helperProportions.height;
for (var l = r.snapElements.length - 1; l >= 0; l--) {
var c = r.snapElements[l].left
, h = c + r.snapElements[l].width
, p = r.snapElements[l].top
, d = p + r.snapElements[l].height;
if (!(c - s < o && o < h + s && p - s < a && a < d + s || c - s < o && o < h + s && p - s < f && f < d + s || c - s < u && u < h + s && p - s < a && a < d + s || c - s < u && u < h + s && p - s < f && f < d + s)) {
r.snapElements[l].snapping && r.options.snap.release && r.options.snap.release.call(r.element, t, e.extend(r._uiHash(), {
snapItem: r.snapElements[l].item
})),
r.snapElements[l].snapping = !1;
continue
}
if (i.snapMode != "inner") {
var v = Math.abs(p - f) <= s
, m = Math.abs(d - a) <= s
, g = Math.abs(c - u) <= s
, y = Math.abs(h - o) <= s;
v && (n.position.top = r._convertPositionTo("relative", {
top: p - r.helperProportions.height,
left: 0
}).top - r.margins.top),
m && (n.position.top = r._convertPositionTo("relative", {
top: d,
left: 0
}).top - r.margins.top),
g && (n.position.left = r._convertPositionTo("relative", {
top: 0,
left: c - r.helperProportions.width
}).left - r.margins.left),
y && (n.position.left = r._convertPositionTo("relative", {
top: 0,
left: h
}).left - r.margins.left)
}
var b = v || m || g || y;
if (i.snapMode != "outer") {
var v = Math.abs(p - a) <= s
, m = Math.abs(d - f) <= s
, g = Math.abs(c - o) <= s
, y = Math.abs(h - u) <= s;
v && (n.position.top = r._convertPositionTo("relative", {
top: p,
left: 0
}).top - r.margins.top),
m && (n.position.top = r._convertPositionTo("relative", {
top: d - r.helperProportions.height,
left: 0
}).top - r.margins.top),
g && (n.position.left = r._convertPositionTo("relative", {
top: 0,
left: c
}).left - r.margins.left),
y && (n.position.left = r._convertPositionTo("relative", {
top: 0,
left: h - r.helperProportions.width
}).left - r.margins.left)
}
!r.snapElements[l].snapping && (v || m || g || y || b) && r.options.snap.snap && r.options.snap.snap.call(r.element, t, e.extend(r._uiHash(), {
snapItem: r.snapElements[l].item
})),
r.snapElements[l].snapping = v || m || g || y || b
}
}
}),
e.ui.plugin.add("draggable", "stack", {
start: function(t, n) {
var r = e(this).data("draggable").options
, i = e.makeArray(e(r.stack)).sort(function(t, n) {
return (parseInt(e(t).css("zIndex"), 10) || 0) - (parseInt(e(n).css("zIndex"), 10) || 0)
});
if (!i.length)
return;
var s = parseInt(i[0].style.zIndex) || 0;
e(i).each(function(e) {
this.style.zIndex = s + e
}),
this[0].style.zIndex = s + i.length
}
}),
e.ui.plugin.add("draggable", "zIndex", {
start: function(t, n) {
var r = e(n.helper)
, i = e(this).data("draggable").options;
r.css("zIndex") && (i._zIndex = r.css("zIndex")),
r.css("zIndex", i.zIndex)
},
stop: function(t, n) {
var r = e(this).data("draggable").options;
r._zIndex && e(n.helper).css("zIndex", r._zIndex)
}
})
}(jQuery),
function(e, t) {
e.widget("ui.droppable", {
version: "1.9.1",
widgetEventPrefix: "drop",
options: {
accept: "*",
activeClass: !1,
addClasses: !0,
greedy: !1,
hoverClass: !1,
scope: "default",
tolerance: "intersect"
},
_create: function() {
var t = this.options
, n = t.accept;
this.isover = 0,
this.isout = 1,
this.accept = e.isFunction(n) ? n : function(e) {
return e.is(n)
}
,
this.proportions = {
width: this.element[0].offsetWidth,
height: this.element[0].offsetHeight
},
e.ui.ddmanager.droppables[t.scope] = e.ui.ddmanager.droppables[t.scope] || [],
e.ui.ddmanager.droppables[t.scope].push(this),
t.addClasses && this.element.addClass("ui-droppable")
},
_destroy: function() {
var t = e.ui.ddmanager.droppables[this.options.scope];
for (var n = 0; n < t.length; n++)
t[n] == this && t.splice(n, 1);
this.element.removeClass("ui-droppable ui-droppable-disabled")
},
_setOption: function(t, n) {
t == "accept" && (this.accept = e.isFunction(n) ? n : function(e) {
return e.is(n)
}
),
e.Widget.prototype._setOption.apply(this, arguments)
},
_activate: function(t) {
var n = e.ui.ddmanager.current;
this.options.activeClass && this.element.addClass(this.options.activeClass),
n && this._trigger("activate", t, this.ui(n))
},
_deactivate: function(t) {
var n = e.ui.ddmanager.current;
this.options.activeClass && this.element.removeClass(this.options.activeClass),
n && this._trigger("deactivate", t, this.ui(n))
},
_over: function(t) {
var n = e.ui.ddmanager.current;
if (!n || (n.currentItem || n.element)[0] == this.element[0])
return;
this.accept.call(this.element[0], n.currentItem || n.element) && (this.options.hoverClass && this.element.addClass(this.options.hoverClass),
this._trigger("over", t, this.ui(n)))
},
_out: function(t) {
var n = e.ui.ddmanager.current;
if (!n || (n.currentItem || n.element)[0] == this.element[0])
return;
this.accept.call(this.element[0], n.currentItem || n.element) && (this.options.hoverClass && this.element.removeClass(this.options.hoverClass),
this._trigger("out", t, this.ui(n)))
},
_drop: function(t, n) {
var r = n || e.ui.ddmanager.current;
if (!r || (r.currentItem || r.element)[0] == this.element[0])
return !1;
var i = !1;
return this.element.find(":data(droppable)").not(".ui-draggable-dragging").each(function() {
var t = e.data(this, "droppable");
if (t.options.greedy && !t.options.disabled && t.options.scope == r.options.scope && t.accept.call(t.element[0], r.currentItem || r.element) && e.ui.intersect(r, e.extend(t, {
offset: t.element.offset()
}), t.options.tolerance))
return i = !0,
!1
}),
i ? !1 : this.accept.call(this.element[0], r.currentItem || r.element) ? (this.options.activeClass && this.element.removeClass(this.options.activeClass),
this.options.hoverClass && this.element.removeClass(this.options.hoverClass),
this._trigger("drop", t, this.ui(r)),
this.element) : !1
},
ui: function(e) {
return {
draggable: e.currentItem || e.element,
helper: e.helper,
position: e.position,
offset: e.positionAbs
}
}
}),
e.ui.intersect = function(t, n, r) {
if (!n.offset)
return !1;
var i = (t.positionAbs || t.position.absolute).left
, s = i + t.helperProportions.width
, o = (t.positionAbs || t.position.absolute).top
, u = o + t.helperProportions.height
, a = n.offset.left
, f = a + n.proportions.width
, l = n.offset.top
, c = l + n.proportions.height;
switch (r) {
case "fit":
return a <= i && s <= f && l <= o && u <= c;
case "intersect":
return a < i + t.helperProportions.width / 2 && s - t.helperProportions.width / 2 < f && l < o + t.helperProportions.height / 2 && u - t.helperProportions.height / 2 < c;
case "pointer":
var h = (t.positionAbs || t.position.absolute).left + (t.clickOffset || t.offset.click).left
, p = (t.positionAbs || t.position.absolute).top + (t.clickOffset || t.offset.click).top
, d = e.ui.isOver(p, h, l, a, n.proportions.height, n.proportions.width);
return d;
case "touch":
return (o >= l && o <= c || u >= l && u <= c || o < l && u > c) && (i >= a && i <= f || s >= a && s <= f || i < a && s > f);
default:
return !1
}
}
,
e.ui.ddmanager = {
current: null,
droppables: {
"default": []
},
prepareOffsets: function(t, n) {
var r = e.ui.ddmanager.droppables[t.options.scope] || []
, i = n ? n.type : null
, s = (t.currentItem || t.element).find(":data(droppable)").andSelf();
e: for (var o = 0; o < r.length; o++) {
if (r[o].options.disabled || t && !r[o].accept.call(r[o].element[0], t.currentItem || t.element))
continue;
for (var u = 0; u < s.length; u++)
if (s[u] == r[o].element[0]) {
r[o].proportions.height = 0;
continue e
}
r[o].visible = r[o].element.css("display") != "none";
if (!r[o].visible)
continue;
i == "mousedown" && r[o]._activate.call(r[o], n),
r[o].offset = r[o].element.offset(),
r[o].proportions = {
width: r[o].element[0].offsetWidth,
height: r[o].element[0].offsetHeight
}
}
},
drop: function(t, n) {
var r = !1;
return e.each(e.ui.ddmanager.droppables[t.options.scope] || [], function() {
if (!this.options)
return;
!this.options.disabled && this.visible && e.ui.intersect(t, this, this.options.tolerance) && (r = this._drop.call(this, n) || r),
!this.options.disabled && this.visible && this.accept.call(this.element[0], t.currentItem || t.element) && (this.isout = 1,
this.isover = 0,
this._deactivate.call(this, n))
}),
r
},
dragStart: function(t, n) {
t.element.parentsUntil("body").bind("scroll.droppable", function() {
t.options.refreshPositions || e.ui.ddmanager.prepareOffsets(t, n)
})
},
drag: function(t, n) {
t.options.refreshPositions && e.ui.ddmanager.prepareOffsets(t, n),
e.each(e.ui.ddmanager.droppables[t.options.scope] || [], function() {
if (this.options.disabled || this.greedyChild || !this.visible)
return;
var r = e.ui.intersect(t, this, this.options.tolerance)
, i = !r && this.isover == 1 ? "isout" : r && this.isover == 0 ? "isover" : null;
if (!i)
return;
var s;
if (this.options.greedy) {
var o = this.options.scope
, u = this.element.parents(":data(droppable)").filter(function() {
return e.data(this, "droppable").options.scope === o
});
u.length && (s = e.data(u[0], "droppable"),
s.greedyChild = i == "isover" ? 1 : 0)
}
s && i == "isover" && (s.isover = 0,
s.isout = 1,
s._out.call(s, n)),
this[i] = 1,
this[i == "isout" ? "isover" : "isout"] = 0,
this[i == "isover" ? "_over" : "_out"].call(this, n),
s && i == "isout" && (s.isout = 0,
s.isover = 1,
s._over.call(s, n))
})
},
dragStop: function(t, n) {
t.element.parentsUntil("body").unbind("scroll.droppable"),
t.options.refreshPositions || e.ui.ddmanager.prepareOffsets(t, n)
}
}
}(jQuery),
function(e, t) {
e.widget("ui.resizable", e.ui.mouse, {
version: "1.9.1",
widgetEventPrefix: "resize",
options: {
alsoResize: !1,
animate: !1,
animateDuration: "slow",
animateEasing: "swing",
aspectRatio: !1,
autoHide: !1,
containment: !1,
ghost: !1,
grid: !1,
handles: "e,s,se",
helper: !1,
maxHeight: null,
maxWidth: null,
minHeight: 10,
minWidth: 10,
zIndex: 1e3
},
_create: function() {
var t = this
, n = this.options;
this.element.addClass("ui-resizable"),
e.extend(this, {
_aspectRatio: !!n.aspectRatio,
aspectRatio: n.aspectRatio,
originalElement: this.element,
_proportionallyResizeElements: [],
_helper: n.helper || n.ghost || n.animate ? n.helper || "ui-resizable-helper" : null
}),
this.element[0].nodeName.match(/canvas|textarea|input|select|button|img/i) && (this.element.wrap(e('<div class="ui-wrapper" style="overflow: hidden;"></div>').css({
position: this.element.css("position"),
width: this.element.outerWidth(),
height: this.element.outerHeight(),
top: this.element.css("top"),
left: this.element.css("left")
})),
this.element = this.element.parent().data("resizable", this.element.data("resizable")),
this.elementIsWrapper = !0,
this.element.css({
marginLeft: this.originalElement.css("marginLeft"),
marginTop: this.originalElement.css("marginTop"),
marginRight: this.originalElement.css("marginRight"),
marginBottom: this.originalElement.css("marginBottom")
}),
this.originalElement.css({
marginLeft: 0,
marginTop: 0,
marginRight: 0,
marginBottom: 0
}),
this.originalResizeStyle = this.originalElement.css("resize"),
this.originalElement.css("resize", "none"),
this._proportionallyResizeElements.push(this.originalElement.css({
position: "static",
zoom: 1,
display: "block"
})),
this.originalElement.css({
margin: this.originalElement.css("margin")
}),
this._proportionallyResize()),
this.handles = n.handles || (e(".ui-resizable-handle", this.element).length ? {
n: ".ui-resizable-n",
e: ".ui-resizable-e",
s: ".ui-resizable-s",
w: ".ui-resizable-w",
se: ".ui-resizable-se",
sw: ".ui-resizable-sw",
ne: ".ui-resizable-ne",
nw: ".ui-resizable-nw"
} : "e,s,se");
if (this.handles.constructor == String) {
this.handles == "all" && (this.handles = "n,e,s,w,se,sw,ne,nw");
var r = this.handles.split(",");
this.handles = {};
for (var i = 0; i < r.length; i++) {
var s = e.trim(r[i])
, o = "ui-resizable-" + s
, u = e('<div class="ui-resizable-handle ' + o + '"></div>');
u.css({
zIndex: n.zIndex
}),
"se" == s && u.addClass("ui-icon ui-icon-gripsmall-diagonal-se"),
this.handles[s] = ".ui-resizable-" + s,
this.element.append(u)
}
}
this._renderAxis = function(t) {
t = t || this.element;
for (var n in this.handles) {
this.handles[n].constructor == String && (this.handles[n] = e(this.handles[n], this.element).show());
if (this.elementIsWrapper && this.originalElement[0].nodeName.match(/textarea|input|select|button/i)) {
var r = e(this.handles[n], this.element)
, i = 0;
i = /sw|ne|nw|se|n|s/.test(n) ? r.outerHeight() : r.outerWidth();
var s = ["padding", /ne|nw|n/.test(n) ? "Top" : /se|sw|s/.test(n) ? "Bottom" : /^e$/.test(n) ? "Right" : "Left"].join("");
t.css(s, i),
this._proportionallyResize()
}
if (!e(this.handles[n]).length)
continue
}
}
,
this._renderAxis(this.element),
this._handles = e(".ui-resizable-handle", this.element).disableSelection(),
this._handles.mouseover(function() {
if (!t.resizing) {
if (this.className)
var e = this.className.match(/ui-resizable-(se|sw|ne|nw|n|e|s|w)/i);
t.axis = e && e[1] ? e[1] : "se"
}
}),
n.autoHide && (this._handles.hide(),
e(this.element).addClass("ui-resizable-autohide").mouseenter(function() {
if (n.disabled)
return;
e(this).removeClass("ui-resizable-autohide"),
t._handles.show()
}).mouseleave(function() {
if (n.disabled)
return;
t.resizing || (e(this).addClass("ui-resizable-autohide"),
t._handles.hide())
})),
this._mouseInit()
},
_destroy: function() {
this._mouseDestroy();
var t = function(t) {
e(t).removeClass("ui-resizable ui-resizable-disabled ui-resizable-resizing").removeData("resizable").removeData("ui-resizable").unbind(".resizable").find(".ui-resizable-handle").remove()
};
if (this.elementIsWrapper) {
t(this.element);
var n = this.element;
this.originalElement.css({
position: n.css("position"),
width: n.outerWidth(),
height: n.outerHeight(),
top: n.css("top"),
left: n.css("left")
}).insertAfter(n),
n.remove()
}
return this.originalElement.css("resize", this.originalResizeStyle),
t(this.originalElement),
this
},
_mouseCapture: function(t) {
var n = !1;
for (var r in this.handles)
e(this.handles[r])[0] == t.target && (n = !0);
return !this.options.disabled && n
},
_mouseStart: function(t) {
var r = this.options
, i = this.element.position()
, s = this.element;
this.resizing = !0,
this.documentScroll = {
top: e(document).scrollTop(),
left: e(document).scrollLeft()
},
(s.is(".ui-draggable") || /absolute/.test(s.css("position"))) && s.css({
position: "absolute",
top: i.top,
left: i.left
}),
this._renderProxy();
var o = n(this.helper.css("left"))
, u = n(this.helper.css("top"));
r.containment && (o += e(r.containment).scrollLeft() || 0,
u += e(r.containment).scrollTop() || 0),
this.offset = this.helper.offset(),
this.position = {
left: o,
top: u
},
this.size = this._helper ? {
width: s.outerWidth(),
height: s.outerHeight()
} : {
width: s.width(),
height: s.height()
},
this.originalSize = this._helper ? {
width: s.outerWidth(),
height: s.outerHeight()
} : {
width: s.width(),
height: s.height()
},
this.originalPosition = {
left: o,
top: u
},
this.sizeDiff = {
width: s.outerWidth() - s.width(),
height: s.outerHeight() - s.height()
},
this.originalMousePosition = {
left: t.pageX,
top: t.pageY
},
this.aspectRatio = typeof r.aspectRatio == "number" ? r.aspectRatio : this.originalSize.width / this.originalSize.height || 1;
var a = e(".ui-resizable-" + this.axis).css("cursor");
return e("body").css("cursor", a == "auto" ? this.axis + "-resize" : a),
s.addClass("ui-resizable-resizing"),
this._propagate("start", t),
!0
},
_mouseDrag: function(e) {
var t = this.helper
, n = this.options
, r = {}
, i = this
, s = this.originalMousePosition
, o = this.axis
, u = e.pageX - s.left || 0
, a = e.pageY - s.top || 0
, f = this._change[o];
if (!f)
return !1;
var l = f.apply(this, [e, u, a]);
this._updateVirtualBoundaries(e.shiftKey);
if (this._aspectRatio || e.shiftKey)
l = this._updateRatio(l, e);
return l = this._respectSize(l, e),
this._propagate("resize", e),
t.css({
top: this.position.top + "px",
left: this.position.left + "px",
width: this.size.width + "px",
height: this.size.height + "px"
}),
!this._helper && this._proportionallyResizeElements.length && this._proportionallyResize(),
this._updateCache(l),
this._trigger("resize", e, this.ui()),
!1
},
_mouseStop: function(t) {
this.resizing = !1;
var n = this.options
, r = this;
if (this._helper) {
var i = this._proportionallyResizeElements
, s = i.length && /textarea/i.test(i[0].nodeName)
, o = s && e.ui.hasScroll(i[0], "left") ? 0 : r.sizeDiff.height
, u = s ? 0 : r.sizeDiff.width
, a = {
width: r.helper.width() - u,
height: r.helper.height() - o
}
, f = parseInt(r.element.css("left"), 10) + (r.position.left - r.originalPosition.left) || null
, l = parseInt(r.element.css("top"), 10) + (r.position.top - r.originalPosition.top) || null;
n.animate || this.element.css(e.extend(a, {
top: l,
left: f
})),
r.helper.height(r.size.height),
r.helper.width(r.size.width),
this._helper && !n.animate && this._proportionallyResize()
}
return e("body").css("cursor", "auto"),
this.element.removeClass("ui-resizable-resizing"),
this._propagate("stop", t),
this._helper && this.helper.remove(),
!1
},
_updateVirtualBoundaries: function(e) {
var t = this.options, n, i, s, o, u;
u = {
minWidth: r(t.minWidth) ? t.minWidth : 0,
maxWidth: r(t.maxWidth) ? t.maxWidth : Infinity,
minHeight: r(t.minHeight) ? t.minHeight : 0,
maxHeight: r(t.maxHeight) ? t.maxHeight : Infinity
};
if (this._aspectRatio || e)
n = u.minHeight * this.aspectRatio,
s = u.minWidth / this.aspectRatio,
i = u.maxHeight * this.aspectRatio,
o = u.maxWidth / this.aspectRatio,
n > u.minWidth && (u.minWidth = n),
s > u.minHeight && (u.minHeight = s),
i < u.maxWidth && (u.maxWidth = i),
o < u.maxHeight && (u.maxHeight = o);
this._vBoundaries = u
},
_updateCache: function(e) {
var t = this.options;
this.offset = this.helper.offset(),
r(e.left) && (this.position.left = e.left),
r(e.top) && (this.position.top = e.top),
r(e.height) && (this.size.height = e.height),
r(e.width) && (this.size.width = e.width)
},
_updateRatio: function(e, t) {
var n = this.options
, i = this.position
, s = this.size
, o = this.axis;
return r(e.height) ? e.width = e.height * this.aspectRatio : r(e.width) && (e.height = e.width / this.aspectRatio),
o == "sw" && (e.left = i.left + (s.width - e.width),
e.top = null),
o == "nw" && (e.top = i.top + (s.height - e.height),
e.left = i.left + (s.width - e.width)),
e
},
_respectSize: function(e, t) {
var n = this.helper
, i = this._vBoundaries
, s = this._aspectRatio || t.shiftKey
, o = this.axis
, u = r(e.width) && i.maxWidth && i.maxWidth < e.width
, a = r(e.height) && i.maxHeight && i.maxHeight < e.height
, f = r(e.width) && i.minWidth && i.minWidth > e.width
, l = r(e.height) && i.minHeight && i.minHeight > e.height;
f && (e.width = i.minWidth),
l && (e.height = i.minHeight),
u && (e.width = i.maxWidth),
a && (e.height = i.maxHeight);
var c = this.originalPosition.left + this.originalSize.width
, h = this.position.top + this.size.height
, p = /sw|nw|w/.test(o)
, d = /nw|ne|n/.test(o);
f && p && (e.left = c - i.minWidth),
u && p && (e.left = c - i.maxWidth),
l && d && (e.top = h - i.minHeight),
a && d && (e.top = h - i.maxHeight);
var v = !e.width && !e.height;
return v && !e.left && e.top ? e.top = null : v && !e.top && e.left && (e.left = null),
e
},
_proportionallyResize: function() {
var t = this.options;
if (!this._proportionallyResizeElements.length)
return;
var n = this.helper || this.element;
for (var r = 0; r < this._proportionallyResizeElements.length; r++) {
var i = this._proportionallyResizeElements[r];
if (!this.borderDif) {
var s = [i.css("borderTopWidth"), i.css("borderRightWidth"), i.css("borderBottomWidth"), i.css("borderLeftWidth")]
, o = [i.css("paddingTop"), i.css("paddingRight"), i.css("paddingBottom"), i.css("paddingLeft")];
this.borderDif = e.map(s, function(e, t) {
var n = parseInt(e, 10) || 0
, r = parseInt(o[t], 10) || 0;
return n + r
})
}
i.css({
height: n.height() - this.borderDif[0] - this.borderDif[2] || 0,
width: n.width() - this.borderDif[1] - this.borderDif[3] || 0
})
}
},
_renderProxy: function() {
var t = this.element
, n = this.options;
this.elementOffset = t.offset();
if (this._helper) {
this.helper = this.helper || e('<div style="overflow:hidden;"></div>');
var r = e.ui.ie6 ? 1 : 0
, i = e.ui.ie6 ? 2 : -1;
this.helper.addClass(this._helper).css({
width: this.element.outerWidth() + i,
height: this.element.outerHeight() + i,
position: "absolute",
left: this.elementOffset.left - r + "px",
top: this.elementOffset.top - r + "px",
zIndex: ++n.zIndex
}),
this.helper.appendTo("body").disableSelection()
} else
this.helper = this.element
},
_change: {
e: function(e, t, n) {
return {
width: this.originalSize.width + t
}
},
w: function(e, t, n) {
var r = this.options
, i = this.originalSize
, s = this.originalPosition;
return {
left: s.left + t,
width: i.width - t
}
},
n: function(e, t, n) {
var r = this.options
, i = this.originalSize
, s = this.originalPosition;
return {
top: s.top + n,
height: i.height - n
}
},
s: function(e, t, n) {
return {
height: this.originalSize.height + n
}
},
se: function(t, n, r) {
return e.extend(this._change.s.apply(this, arguments), this._change.e.apply(this, [t, n, r]))
},
sw: function(t, n, r) {
return e.extend(this._change.s.apply(this, arguments), this._change.w.apply(this, [t, n, r]))
},
ne: function(t, n, r) {
return e.extend(this._change.n.apply(this, arguments), this._change.e.apply(this, [t, n, r]))
},
nw: function(t, n, r) {
return e.extend(this._change.n.apply(this, arguments), this._change.w.apply(this, [t, n, r]))
}
},
_propagate: function(t, n) {
e.ui.plugin.call(this, t, [n, this.ui()]),
t != "resize" && this._trigger(t, n, this.ui())
},
plugins: {},
ui: function() {
return {
originalElement: this.originalElement,
element: this.element,
helper: this.helper,
position: this.position,
size: this.size,
originalSize: this.originalSize,
originalPosition: this.originalPosition
}
}
}),
e.ui.plugin.add("resizable", "alsoResize", {
start: function(t, n) {
var r = e(this).data("resizable")
, i = r.options
, s = function(t) {
e(t).each(function() {
var t = e(this);
t.data("resizable-alsoresize", {
width: parseInt(t.width(), 10),
height: parseInt(t.height(), 10),
left: parseInt(t.css("left"), 10),
top: parseInt(t.css("top"), 10)
})
})
};
typeof i.alsoResize == "object" && !i.alsoResize.parentNode ? i.alsoResize.length ? (i.alsoResize = i.alsoResize[0],
s(i.alsoResize)) : e.each(i.alsoResize, function(e) {
s(e)
}) : s(i.alsoResize)
},
resize: function(t, n) {
var r = e(this).data("resizable")
, i = r.options
, s = r.originalSize
, o = r.originalPosition
, u = {
height: r.size.height - s.height || 0,
width: r.size.width - s.width || 0,
top: r.position.top - o.top || 0,
left: r.position.left - o.left || 0
}
, a = function(t, r) {
e(t).each(function() {
var t = e(this)
, i = e(this).data("resizable-alsoresize")
, s = {}
, o = r && r.length ? r : t.parents(n.originalElement[0]).length ? ["width", "height"] : ["width", "height", "top", "left"];
e.each(o, function(e, t) {
var n = (i[t] || 0) + (u[t] || 0);
n && n >= 0 && (s[t] = n || null)
}),
t.css(s)
})
};
typeof i.alsoResize == "object" && !i.alsoResize.nodeType ? e.each(i.alsoResize, function(e, t) {
a(e, t)
}) : a(i.alsoResize)
},
stop: function(t, n) {
e(this).removeData("resizable-alsoresize")
}
}),
e.ui.plugin.add("resizable", "animate", {
stop: function(t, n) {
var r = e(this).data("resizable")
, i = r.options
, s = r._proportionallyResizeElements
, o = s.length && /textarea/i.test(s[0].nodeName)
, u = o && e.ui.hasScroll(s[0], "left") ? 0 : r.sizeDiff.height
, a = o ? 0 : r.sizeDiff.width
, f = {
width: r.size.width - a,
height: r.size.height - u
}
, l = parseInt(r.element.css("left"), 10) + (r.position.left - r.originalPosition.left) || null
, c = parseInt(r.element.css("top"), 10) + (r.position.top - r.originalPosition.top) || null;
r.element.animate(e.extend(f, c && l ? {
top: c,
left: l
} : {}), {
duration: i.animateDuration,
easing: i.animateEasing,
step: function() {
var n = {
width: parseInt(r.element.css("width"), 10),
height: parseInt(r.element.css("height"), 10),
top: parseInt(r.element.css("top"), 10),
left: parseInt(r.element.css("left"), 10)
};
s && s.length && e(s[0]).css({
width: n.width,
height: n.height
}),
r._updateCache(n),
r._propagate("resize", t)
}
})
}
}),
e.ui.plugin.add("resizable", "containment", {
start: function(t, r) {
var i = e(this).data("resizable")
, s = i.options
, o = i.element
, u = s.containment
, a = u instanceof e ? u.get(0) : /parent/.test(u) ? o.parent().get(0) : u;
if (!a)
return;
i.containerElement = e(a);
if (/document/.test(u) || u == document)
i.containerOffset = {
left: 0,
top: 0
},
i.containerPosition = {
left: 0,
top: 0
},
i.parentData = {
element: e(document),
left: 0,
top: 0,
width: e(document).width(),
height: e(document).height() || document.body.parentNode.scrollHeight
};
else {
var f = e(a)
, l = [];
e(["Top", "Right", "Left", "Bottom"]).each(function(e, t) {
l[e] = n(f.css("padding" + t))
}),
i.containerOffset = f.offset(),
i.containerPosition = f.position(),
i.containerSize = {
height: f.innerHeight() - l[3],
width: f.innerWidth() - l[1]
};
var c = i.containerOffset
, h = i.containerSize.height
, p = i.containerSize.width
, d = e.ui.hasScroll(a, "left") ? a.scrollWidth : p
, v = e.ui.hasScroll(a) ? a.scrollHeight : h;
i.parentData = {
element: a,
left: c.left,
top: c.top,
width: d,
height: v
}
}
},
resize: function(t, n) {
var r = e(this).data("resizable")
, i = r.options
, s = r.containerSize
, o = r.containerOffset
, u = r.size
, a = r.position
, f = r._aspectRatio || t.shiftKey
, l = {
top: 0,
left: 0
}
, c = r.containerElement;
c[0] != document && /static/.test(c.css("position")) && (l = o),
a.left < (r._helper ? o.left : 0) && (r.size.width = r.size.width + (r._helper ? r.position.left - o.left : r.position.left - l.left),
f && (r.size.height = r.size.width / r.aspectRatio),
r.position.left = i.helper ? o.left : 0),
a.top < (r._helper ? o.top : 0) && (r.size.height = r.size.height + (r._helper ? r.position.top - o.top : r.position.top),
f && (r.size.width = r.size.height * r.aspectRatio),
r.position.top = r._helper ? o.top : 0),
r.offset.left = r.parentData.left + r.position.left,
r.offset.top = r.parentData.top + r.position.top;
var h = Math.abs((r._helper ? r.offset.left - l.left : r.offset.left - l.left) + r.sizeDiff.width)
, p = Math.abs((r._helper ? r.offset.top - l.top : r.offset.top - o.top) + r.sizeDiff.height)
, d = r.containerElement.get(0) == r.element.parent().get(0)
, v = /relative|absolute/.test(r.containerElement.css("position"));
d && v && (h -= r.parentData.left),
h + r.size.width >= r.parentData.width && (r.size.width = r.parentData.width - h,
f && (r.size.height = r.size.width / r.aspectRatio)),
p + r.size.height >= r.parentData.height && (r.size.height = r.parentData.height - p,
f && (r.size.width = r.size.height * r.aspectRatio))
},
stop: function(t, n) {
var r = e(this).data("resizable")
, i = r.options
, s = r.position
, o = r.containerOffset
, u = r.containerPosition
, a = r.containerElement
, f = e(r.helper)
, l = f.offset()
, c = f.outerWidth() - r.sizeDiff.width
, h = f.outerHeight() - r.sizeDiff.height;
r._helper && !i.animate && /relative/.test(a.css("position")) && e(this).css({
left: l.left - u.left - o.left,
width: c,
height: h
}),
r._helper && !i.animate && /static/.test(a.css("position")) && e(this).css({
left: l.left - u.left - o.left,
width: c,
height: h
})
}
}),
e.ui.plugin.add("resizable", "ghost", {
start: function(t, n) {
var r = e(this).data("resizable")
, i = r.options
, s = r.size;
r.ghost = r.originalElement.clone(),
r.ghost.css({
opacity: .25,
display: "block",
position: "relative",
height: s.height,
width: s.width,
margin: 0,
left: 0,
top: 0
}).addClass("ui-resizable-ghost").addClass(typeof i.ghost == "string" ? i.ghost : ""),
r.ghost.appendTo(r.helper)
},
resize: function(t, n) {
var r = e(this).data("resizable")
, i = r.options;
r.ghost && r.ghost.css({
position: "relative",
height: r.size.height,
width: r.size.width
})
},
stop: function(t, n) {
var r = e(this).data("resizable")
, i = r.options;
r.ghost && r.helper && r.helper.get(0).removeChild(r.ghost.get(0))
}
}),
e.ui.plugin.add("resizable", "grid", {
resize: function(t, n) {
var r = e(this).data("resizable")
, i = r.options
, s = r.size
, o = r.originalSize
, u = r.originalPosition
, a = r.axis
, f = i._aspectRatio || t.shiftKey;
i.grid = typeof i.grid == "number" ? [i.grid, i.grid] : i.grid;
var l = Math.round((s.width - o.width) / (i.grid[0] || 1)) * (i.grid[0] || 1)
, c = Math.round((s.height - o.height) / (i.grid[1] || 1)) * (i.grid[1] || 1);
/^(se|s|e)$/.test(a) ? (r.size.width = o.width + l,
r.size.height = o.height + c) : /^(ne)$/.test(a) ? (r.size.width = o.width + l,
r.size.height = o.height + c,
r.position.top = u.top - c) : /^(sw)$/.test(a) ? (r.size.width = o.width + l,
r.size.height = o.height + c,
r.position.left = u.left - l) : (r.size.width = o.width + l,
r.size.height = o.height + c,
r.position.top = u.top - c,
r.position.left = u.left - l)
}
});
var n = function(e) {
return parseInt(e, 10) || 0
}
, r = function(e) {
return !isNaN(parseInt(e, 10))
}
}(jQuery),
function(e, t) {
e.widget("ui.selectable", e.ui.mouse, {
version: "1.9.1",
options: {
appendTo: "body",
autoRefresh: !0,
distance: 0,
filter: "*",
tolerance: "touch"
},
_create: function() {
var t = this;
this.element.addClass("ui-selectable"),
this.dragged = !1;
var n;
this.refresh = function() {
n = e(t.options.filter, t.element[0]),
n.addClass("ui-selectee"),
n.each(function() {
var t = e(this)
, n = t.offset();
e.data(this, "selectable-item", {
element: this,
$element: t,
left: n.left,
top: n.top,
right: n.left + t.outerWidth(),
bottom: n.top + t.outerHeight(),
startselected: !1,
selected: t.hasClass("ui-selected"),
selecting: t.hasClass("ui-selecting"),
unselecting: t.hasClass("ui-unselecting")
})
})
}
,
this.refresh(),
this.selectees = n.addClass("ui-selectee"),
this._mouseInit(),
this.helper = e("<div class='ui-selectable-helper'></div>")
},
_destroy: function() {
this.selectees.removeClass("ui-selectee").removeData("selectable-item"),
this.element.removeClass("ui-selectable ui-selectable-disabled"),
this._mouseDestroy()
},
_mouseStart: function(t) {
var n = this;
this.opos = [t.pageX, t.pageY];
if (this.options.disabled)
return;
var r = this.options;
this.selectees = e(r.filter, this.element[0]),
this._trigger("start", t),
e(r.appendTo).append(this.helper),
this.helper.css({
left: t.clientX,
top: t.clientY,
width: 0,
height: 0
}),
r.autoRefresh && this.refresh(),
this.selectees.filter(".ui-selected").each(function() {
var r = e.data(this, "selectable-item");
r.startselected = !0,
!t.metaKey && !t.ctrlKey && (r.$element.removeClass("ui-selected"),
r.selected = !1,
r.$element.addClass("ui-unselecting"),
r.unselecting = !0,
n._trigger("unselecting", t, {
unselecting: r.element
}))
}),
e(t.target).parents().andSelf().each(function() {
var r = e.data(this, "selectable-item");
if (r) {
var i = !t.metaKey && !t.ctrlKey || !r.$element.hasClass("ui-selected");
return r.$element.removeClass(i ? "ui-unselecting" : "ui-selected").addClass(i ? "ui-selecting" : "ui-unselecting"),
r.unselecting = !i,
r.selecting = i,
r.selected = i,
i ? n._trigger("selecting", t, {
selecting: r.element
}) : n._trigger("unselecting", t, {
unselecting: r.element
}),
!1
}
})
},
_mouseDrag: function(t) {
var n = this;
this.dragged = !0;
if (this.options.disabled)
return;
var r = this.options
, i = this.opos[0]
, s = this.opos[1]
, o = t.pageX
, u = t.pageY;
if (i > o) {
var a = o;
o = i,
i = a
}
if (s > u) {
var a = u;
u = s,
s = a
}
return this.helper.css({
left: i,
top: s,
width: o - i,
height: u - s
}),
this.selectees.each(function() {
var a = e.data(this, "selectable-item");
if (!a || a.element == n.element[0])
return;
var f = !1;
r.tolerance == "touch" ? f = !(a.left > o || a.right < i || a.top > u || a.bottom < s) : r.tolerance == "fit" && (f = a.left > i && a.right < o && a.top > s && a.bottom < u),
f ? (a.selected && (a.$element.removeClass("ui-selected"),
a.selected = !1),
a.unselecting && (a.$element.removeClass("ui-unselecting"),
a.unselecting = !1),
a.selecting || (a.$element.addClass("ui-selecting"),
a.selecting = !0,
n._trigger("selecting", t, {
selecting: a.element
}))) : (a.selecting && ((t.metaKey || t.ctrlKey) && a.startselected ? (a.$element.removeClass("ui-selecting"),
a.selecting = !1,
a.$element.addClass("ui-selected"),
a.selected = !0) : (a.$element.removeClass("ui-selecting"),
a.selecting = !1,
a.startselected && (a.$element.addClass("ui-unselecting"),
a.unselecting = !0),
n._trigger("unselecting", t, {
unselecting: a.element
}))),
a.selected && !t.metaKey && !t.ctrlKey && !a.startselected && (a.$element.removeClass("ui-selected"),
a.selected = !1,
a.$element.addClass("ui-unselecting"),
a.unselecting = !0,
n._trigger("unselecting", t, {
unselecting: a.element
})))
}),
!1
},
_mouseStop: function(t) {
var n = this;
this.dragged = !1;
var r = this.options;
return e(".ui-unselecting", this.element[0]).each(function() {
var r = e.data(this, "selectable-item");
r.$element.removeClass("ui-unselecting"),
r.unselecting = !1,
r.startselected = !1,
n._trigger("unselected", t, {
unselected: r.element
})
}),
e(".ui-selecting", this.element[0]).each(function() {
var r = e.data(this, "selectable-item");
r.$element.removeClass("ui-selecting").addClass("ui-selected"),
r.selecting = !1,
r.selected = !0,
r.startselected = !0,
n._trigger("selected", t, {
selected: r.element
})
}),
this._trigger("stop", t),
this.helper.remove(),
!1
}
})
}(jQuery),
function(e, t) {
e.widget("ui.sortable", e.ui.mouse, {
version: "1.9.1",
widgetEventPrefix: "sort",
ready: !1,
options: {
appendTo: "parent",
axis: !1,
connectWith: !1,
containment: !1,
cursor: "auto",
cursorAt: !1,
dropOnEmpty: !0,
forcePlaceholderSize: !1,
forceHelperSize: !1,
grid: !1,
handle: !1,
helper: "original",
items: "> *",
opacity: !1,
placeholder: !1,
revert: !1,
scroll: !0,
scrollSensitivity: 20,
scrollSpeed: 20,
scope: "default",
tolerance: "intersect",
zIndex: 1e3
},
_create: function() {
var e = this.options;
this.containerCache = {},
this.element.addClass("ui-sortable"),
this.refresh(),
this.floating = this.items.length ? e.axis === "x" || /left|right/.test(this.items[0].item.css("float")) || /inline|table-cell/.test(this.items[0].item.css("display")) : !1,
this.offset = this.element.offset(),
this._mouseInit(),
this.ready = !0
},
_destroy: function() {
this.element.removeClass("ui-sortable ui-sortable-disabled"),
this._mouseDestroy();
for (var e = this.items.length - 1; e >= 0; e--)
this.items[e].item.removeData(this.widgetName + "-item");
return this
},
_setOption: function(t, n) {
t === "disabled" ? (this.options[t] = n,
this.widget().toggleClass("ui-sortable-disabled", !!n)) : e.Widget.prototype._setOption.apply(this, arguments)
},
_mouseCapture: function(t, n) {
var r = this;
if (this.reverting)
return !1;
if (this.options.disabled || this.options.type == "static")
return !1;
this._refreshItems(t);
var i = null
, s = e(t.target).parents().each(function() {
if (e.data(this, r.widgetName + "-item") == r)
return i = e(this),
!1
});
e.data(t.target, r.widgetName + "-item") == r && (i = e(t.target));
if (!i)
return !1;
if (this.options.handle && !n) {
var o = !1;
e(this.options.handle, i).find("*").andSelf().each(function() {
this == t.target && (o = !0)
});
if (!o)
return !1
}
return this.currentItem = i,
this._removeCurrentsFromItems(),
!0
},
_mouseStart: function(t, n, r) {
var i = this.options;
this.currentContainer = this,
this.refreshPositions(),
this.helper = this._createHelper(t),
this._cacheHelperProportions(),
this._cacheMargins(),
this.scrollParent = this.helper.scrollParent(),
this.offset = this.currentItem.offset(),
this.offset = {
top: this.offset.top - this.margins.top,
left: this.offset.left - this.margins.left
},
e.extend(this.offset, {
click: {
left: t.pageX - this.offset.left,
top: t.pageY - this.offset.top
},
parent: this._getParentOffset(),
relative: this._getRelativeOffset()
}),
this.helper.css("position", "absolute"),
this.cssPosition = this.helper.css("position"),
this.originalPosition = this._generatePosition(t),
this.originalPageX = t.pageX,
this.originalPageY = t.pageY,
i.cursorAt && this._adjustOffsetFromHelper(i.cursorAt),
this.domPosition = {
prev: this.currentItem.prev()[0],
parent: this.currentItem.parent()[0]
},
this.helper[0] != this.currentItem[0] && this.currentItem.hide(),
this._createPlaceholder(),
i.containment && this._setContainment(),
i.cursor && (e("body").css("cursor") && (this._storedCursor = e("body").css("cursor")),
e("body").css("cursor", i.cursor)),
i.opacity && (this.helper.css("opacity") && (this._storedOpacity = this.helper.css("opacity")),
this.helper.css("opacity", i.opacity)),
i.zIndex && (this.helper.css("zIndex") && (this._storedZIndex = this.helper.css("zIndex")),
this.helper.css("zIndex", i.zIndex)),
this.scrollParent[0] != document && this.scrollParent[0].tagName != "HTML" && (this.overflowOffset = this.scrollParent.offset()),
this._trigger("start", t, this._uiHash()),
this._preserveHelperProportions || this._cacheHelperProportions();
if (!r)
for (var s = this.containers.length - 1; s >= 0; s--)
this.containers[s]._trigger("activate", t, this._uiHash(this));
return e.ui.ddmanager && (e.ui.ddmanager.current = this),
e.ui.ddmanager && !i.dropBehaviour && e.ui.ddmanager.prepareOffsets(this, t),
this.dragging = !0,
this.helper.addClass("ui-sortable-helper"),
this._mouseDrag(t),
!0
},
_mouseDrag: function(t) {
this.position = this._generatePosition(t),
this.positionAbs = this._convertPositionTo("absolute"),
this.lastPositionAbs || (this.lastPositionAbs = this.positionAbs);
if (this.options.scroll) {
var n = this.options
, r = !1;
this.scrollParent[0] != document && this.scrollParent[0].tagName != "HTML" ? (this.overflowOffset.top + this.scrollParent[0].offsetHeight - t.pageY < n.scrollSensitivity ? this.scrollParent[0].scrollTop = r = this.scrollParent[0].scrollTop + n.scrollSpeed : t.pageY - this.overflowOffset.top < n.scrollSensitivity && (this.scrollParent[0].scrollTop = r = this.scrollParent[0].scrollTop - n.scrollSpeed),
this.overflowOffset.left + this.scrollParent[0].offsetWidth - t.pageX < n.scrollSensitivity ? this.scrollParent[0].scrollLeft = r = this.scrollParent[0].scrollLeft + n.scrollSpeed : t.pageX - this.overflowOffset.left < n.scrollSensitivity && (this.scrollParent[0].scrollLeft = r = this.scrollParent[0].scrollLeft - n.scrollSpeed)) : (t.pageY - e(document).scrollTop() < n.scrollSensitivity ? r = e(document).scrollTop(e(document).scrollTop() - n.scrollSpeed) : e(window).height() - (t.pageY - e(document).scrollTop()) < n.scrollSensitivity && (r = e(document).scrollTop(e(document).scrollTop() + n.scrollSpeed)),
t.pageX - e(document).scrollLeft() < n.scrollSensitivity ? r = e(document).scrollLeft(e(document).scrollLeft() - n.scrollSpeed) : e(window).width() - (t.pageX - e(document).scrollLeft()) < n.scrollSensitivity && (r = e(document).scrollLeft(e(document).scrollLeft() + n.scrollSpeed))),
r !== !1 && e.ui.ddmanager && !n.dropBehaviour && e.ui.ddmanager.prepareOffsets(this, t)
}
this.positionAbs = this._convertPositionTo("absolute");
if (!this.options.axis || this.options.axis != "y")
this.helper[0].style.left = this.position.left + "px";
if (!this.options.axis || this.options.axis != "x")
this.helper[0].style.top = this.position.top + "px";
for (var i = this.items.length - 1; i >= 0; i--) {
var s = this.items[i]
, o = s.item[0]
, u = this._intersectsWithPointer(s);
if (!u)
continue;
if (s.instance !== this.currentContainer)
continue;
if (o != this.currentItem[0] && this.placeholder[u == 1 ? "next" : "prev"]()[0] != o && !e.contains(this.placeholder[0], o) && (this.options.type == "semi-dynamic" ? !e.contains(this.element[0], o) : !0)) {
this.direction = u == 1 ? "down" : "up";
if (this.options.tolerance != "pointer" && !this._intersectsWithSides(s))
break;
this._rearrange(t, s),
this._trigger("change", t, this._uiHash());
break
}
}
return this._contactContainers(t),
e.ui.ddmanager && e.ui.ddmanager.drag(this, t),
this._trigger("sort", t, this._uiHash()),
this.lastPositionAbs = this.positionAbs,
!1
},
_mouseStop: function(t, n) {
if (!t)
return;
e.ui.ddmanager && !this.options.dropBehaviour && e.ui.ddmanager.drop(this, t);
if (this.options.revert) {
var r = this
, i = this.placeholder.offset();
this.reverting = !0,
e(this.helper).animate({
left: i.left - this.offset.parent.left - this.margins.left + (this.offsetParent[0] == document.body ? 0 : this.offsetParent[0].scrollLeft),
top: i.top - this.offset.parent.top - this.margins.top + (this.offsetParent[0] == document.body ? 0 : this.offsetParent[0].scrollTop)
}, parseInt(this.options.revert, 10) || 500, function() {
r._clear(t)
})
} else
this._clear(t, n);
return !1
},
cancel: function() {
if (this.dragging) {
this._mouseUp({
target: null
}),
this.options.helper == "original" ? this.currentItem.css(this._storedCSS).removeClass("ui-sortable-helper") : this.currentItem.show();
for (var t = this.containers.length - 1; t >= 0; t--)
this.containers[t]._trigger("deactivate", null, this._uiHash(this)),
this.containers[t].containerCache.over && (this.containers[t]._trigger("out", null, this._uiHash(this)),
this.containers[t].containerCache.over = 0)
}
return this.placeholder && (this.placeholder[0].parentNode && this.placeholder[0].parentNode.removeChild(this.placeholder[0]),
this.options.helper != "original" && this.helper && this.helper[0].parentNode && this.helper.remove(),
e.extend(this, {
helper: null,
dragging: !1,
reverting: !1,
_noFinalSort: null
}),
this.domPosition.prev ? e(this.domPosition.prev).after(this.currentItem) : e(this.domPosition.parent).prepend(this.currentItem)),
this
},
serialize: function(t) {
var n = this._getItemsAsjQuery(t && t.connected)
, r = [];
return t = t || {},
e(n).each(function() {
var n = (e(t.item || this).attr(t.attribute || "id") || "").match(t.expression || /(.+)[-=_](.+)/);
n && r.push((t.key || n[1] + "[]") + "=" + (t.key && t.expression ? n[1] : n[2]))
}),
!r.length && t.key && r.push(t.key + "="),
r.join("&")
},
toArray: function(t) {
var n = this._getItemsAsjQuery(t && t.connected)
, r = [];
return t = t || {},
n.each(function() {
r.push(e(t.item || this).attr(t.attribute || "id") || "")
}),
r
},
_intersectsWith: function(e) {
var t = this.positionAbs.left
, n = t + this.helperProportions.width
, r = this.positionAbs.top
, i = r + this.helperProportions.height
, s = e.left
, o = s + e.width
, u = e.top
, a = u + e.height
, f = this.offset.click.top
, l = this.offset.click.left
, c = r + f > u && r + f < a && t + l > s && t + l < o;
return this.options.tolerance == "pointer" || this.options.forcePointerForContainers || this.options.tolerance != "pointer" && this.helperProportions[this.floating ? "width" : "height"] > e[this.floating ? "width" : "height"] ? c : s < t + this.helperProportions.width / 2 && n - this.helperProportions.width / 2 < o && u < r + this.helperProportions.height / 2 && i - this.helperProportions.height / 2 < a
},
_intersectsWithPointer: function(t) {
var n = this.options.axis === "x" || e.ui.isOverAxis(this.positionAbs.top + this.offset.click.top, t.top, t.height)
, r = this.options.axis === "y" || e.ui.isOverAxis(this.positionAbs.left + this.offset.click.left, t.left, t.width)
, i = n && r
, s = this._getDragVerticalDirection()
, o = this._getDragHorizontalDirection();
return i ? this.floating ? o && o == "right" || s == "down" ? 2 : 1 : s && (s == "down" ? 2 : 1) : !1
},
_intersectsWithSides: function(t) {
var n = e.ui.isOverAxis(this.positionAbs.top + this.offset.click.top, t.top + t.height / 2, t.height)
, r = e.ui.isOverAxis(this.positionAbs.left + this.offset.click.left, t.left + t.width / 2, t.width)
, i = this._getDragVerticalDirection()
, s = this._getDragHorizontalDirection();
return this.floating && s ? s == "right" && r || s == "left" && !r : i && (i == "down" && n || i == "up" && !n)
},
_getDragVerticalDirection: function() {
var e = this.positionAbs.top - this.lastPositionAbs.top;
return e != 0 && (e > 0 ? "down" : "up")
},
_getDragHorizontalDirection: function() {
var e = this.positionAbs.left - this.lastPositionAbs.left;
return e != 0 && (e > 0 ? "right" : "left")
},
refresh: function(e) {
return this._refreshItems(e),
this.refreshPositions(),
this
},
_connectWith: function() {
var e = this.options;
return e.connectWith.constructor == String ? [e.connectWith] : e.connectWith
},
_getItemsAsjQuery: function(t) {
var n = []
, r = []
, i = this._connectWith();
if (i && t)
for (var s = i.length - 1; s >= 0; s--) {
var o = e(i[s]);
for (var u = o.length - 1; u >= 0; u--) {
var a = e.data(o[u], this.widgetName);
a && a != this && !a.options.disabled && r.push([e.isFunction(a.options.items) ? a.options.items.call(a.element) : e(a.options.items, a.element).not(".ui-sortable-helper").not(".ui-sortable-placeholder"), a])
}
}
r.push([e.isFunction(this.options.items) ? this.options.items.call(this.element, null, {
options: this.options,
item: this.currentItem
}) : e(this.options.items, this.element).not(".ui-sortable-helper").not(".ui-sortable-placeholder"), this]);
for (var s = r.length - 1; s >= 0; s--)
r[s][0].each(function() {
n.push(this)
});
return e(n)
},
_removeCurrentsFromItems: function() {
var t = this.currentItem.find(":data(" + this.widgetName + "-item)");
this.items = e.grep(this.items, function(e) {
for (var n = 0; n < t.length; n++)
if (t[n] == e.item[0])
return !1;
return !0
})
},
_refreshItems: function(t) {
this.items = [],
this.containers = [this];
var n = this.items
, r = [[e.isFunction(this.options.items) ? this.options.items.call(this.element[0], t, {
item: this.currentItem
}) : e(this.options.items, this.element), this]]
, i = this._connectWith();
if (i && this.ready)
for (var s = i.length - 1; s >= 0; s--) {
var o = e(i[s]);
for (var u = o.length - 1; u >= 0; u--) {
var a = e.data(o[u], this.widgetName);
a && a != this && !a.options.disabled && (r.push([e.isFunction(a.options.items) ? a.options.items.call(a.element[0], t, {
item: this.currentItem
}) : e(a.options.items, a.element), a]),
this.containers.push(a))
}
}
for (var s = r.length - 1; s >= 0; s--) {
var f = r[s][1]
, l = r[s][0];
for (var u = 0, c = l.length; u < c; u++) {
var h = e(l[u]);
h.data(this.widgetName + "-item", f),
n.push({
item: h,
instance: f,
width: 0,
height: 0,
left: 0,
top: 0
})
}
}
},
refreshPositions: function(t) {
this.offsetParent && this.helper && (this.offset.parent = this._getParentOffset());
for (var n = this.items.length - 1; n >= 0; n--) {
var r = this.items[n];
if (r.instance != this.currentContainer && this.currentContainer && r.item[0] != this.currentItem[0])
continue;
var i = this.options.toleranceElement ? e(this.options.toleranceElement, r.item) : r.item;
t || (r.width = i.outerWidth(),
r.height = i.outerHeight());
var s = i.offset();
r.left = s.left,
r.top = s.top
}
if (this.options.custom && this.options.custom.refreshContainers)
this.options.custom.refreshContainers.call(this);
else
for (var n = this.containers.length - 1; n >= 0; n--) {
var s = this.containers[n].element.offset();
this.containers[n].containerCache.left = s.left,
this.containers[n].containerCache.top = s.top,
this.containers[n].containerCache.width = this.containers[n].element.outerWidth(),
this.containers[n].containerCache.height = this.containers[n].element.outerHeight()
}
return this
},
_createPlaceholder: function(t) {
t = t || this;
var n = t.options;
if (!n.placeholder || n.placeholder.constructor == String) {
var r = n.placeholder;
n.placeholder = {
element: function() {
var n = e(document.createElement(t.currentItem[0].nodeName)).addClass(r || t.currentItem[0].className + " ui-sortable-placeholder").removeClass("ui-sortable-helper")[0];
return r || (n.style.visibility = "hidden"),
n
},
update: function(e, i) {
if (r && !n.forcePlaceholderSize)
return;
i.height() || i.height(t.currentItem.innerHeight() - parseInt(t.currentItem.css("paddingTop") || 0, 10) - parseInt(t.currentItem.css("paddingBottom") || 0, 10)),
i.width() || i.width(t.currentItem.innerWidth() - parseInt(t.currentItem.css("paddingLeft") || 0, 10) - parseInt(t.currentItem.css("paddingRight") || 0, 10))
}
}
}
t.placeholder = e(n.placeholder.element.call(t.element, t.currentItem)),
t.currentItem.after(t.placeholder),
n.placeholder.update(t, t.placeholder)
},
_contactContainers: function(t) {
var n = null
, r = null;
for (var i = this.containers.length - 1; i >= 0; i--) {
if (e.contains(this.currentItem[0], this.containers[i].element[0]))
continue;
if (this._intersectsWith(this.containers[i].containerCache)) {
if (n && e.contains(this.containers[i].element[0], n.element[0]))
continue;
n = this.containers[i],
r = i
} else
this.containers[i].containerCache.over && (this.containers[i]._trigger("out", t, this._uiHash(this)),
this.containers[i].containerCache.over = 0)
}
if (!n)
return;
if (this.containers.length === 1)
this.containers[r]._trigger("over", t, this._uiHash(this)),
this.containers[r].containerCache.over = 1;
else {
var s = 1e4
, o = null
, u = this.containers[r].floating ? "left" : "top"
, a = this.containers[r].floating ? "width" : "height"
, f = this.positionAbs[u] + this.offset.click[u];
for (var l = this.items.length - 1; l >= 0; l--) {
if (!e.contains(this.containers[r].element[0], this.items[l].item[0]))
continue;
if (this.items[l].item[0] == this.currentItem[0])
continue;
var c = this.items[l].item.offset()[u]
, h = !1;
Math.abs(c - f) > Math.abs(c + this.items[l][a] - f) && (h = !0,
c += this.items[l][a]),
Math.abs(c - f) < s && (s = Math.abs(c - f),
o = this.items[l],
this.direction = h ? "up" : "down")
}
if (!o && !this.options.dropOnEmpty)
return;
this.currentContainer = this.containers[r],
o ? this._rearrange(t, o, null, !0) : this._rearrange(t, null, this.containers[r].element, !0),
this._trigger("change", t, this._uiHash()),
this.containers[r]._trigger("change", t, this._uiHash(this)),
this.options.placeholder.update(this.currentContainer, this.placeholder),
this.containers[r]._trigger("over", t, this._uiHash(this)),
this.containers[r].containerCache.over = 1
}
},
_createHelper: function(t) {
var n = this.options
, r = e.isFunction(n.helper) ? e(n.helper.apply(this.element[0], [t, this.currentItem])) : n.helper == "clone" ? this.currentItem.clone() : this.currentItem;
return r.parents("body").length || e(n.appendTo != "parent" ? n.appendTo : this.currentItem[0].parentNode)[0].appendChild(r[0]),
r[0] == this.currentItem[0] && (this._storedCSS = {
width: this.currentItem[0].style.width,
height: this.currentItem[0].style.height,
position: this.currentItem.css("position"),
top: this.currentItem.css("top"),
left: this.currentItem.css("left")
}),
(r[0].style.width == "" || n.forceHelperSize) && r.width(this.currentItem.width()),
(r[0].style.height == "" || n.forceHelperSize) && r.height(this.currentItem.height()),
r
},
_adjustOffsetFromHelper: function(t) {
typeof t == "string" && (t = t.split(" ")),
e.isArray(t) && (t = {
left: +t[0],
top: +t[1] || 0
}),
"left"in t && (this.offset.click.left = t.left + this.margins.left),
"right"in t && (this.offset.click.left = this.helperProportions.width - t.right + this.margins.left),
"top"in t && (this.offset.click.top = t.top + this.margins.top),
"bottom"in t && (this.offset.click.top = this.helperProportions.height - t.bottom + this.margins.top)
},
_getParentOffset: function() {
this.offsetParent = this.helper.offsetParent();
var t = this.offsetParent.offset();
this.cssPosition == "absolute" && this.scrollParent[0] != document && e.contains(this.scrollParent[0], this.offsetParent[0]) && (t.left += this.scrollParent.scrollLeft(),
t.top += this.scrollParent.scrollTop());
if (this.offsetParent[0] == document.body || this.offsetParent[0].tagName && this.offsetParent[0].tagName.toLowerCase() == "html" && e.ui.ie)
t = {
top: 0,
left: 0
};
return {
top: t.top + (parseInt(this.offsetParent.css("borderTopWidth"), 10) || 0),
left: t.left + (parseInt(this.offsetParent.css("borderLeftWidth"), 10) || 0)
}
},
_getRelativeOffset: function() {
if (this.cssPosition == "relative") {
var e = this.currentItem.position();
return {
top: e.top - (parseInt(this.helper.css("top"), 10) || 0) + this.scrollParent.scrollTop(),
left: e.left - (parseInt(this.helper.css("left"), 10) || 0) + this.scrollParent.scrollLeft()
}
}
return {
top: 0,
left: 0
}
},
_cacheMargins: function() {
this.margins = {
left: parseInt(this.currentItem.css("marginLeft"), 10) || 0,
top: parseInt(this.currentItem.css("marginTop"), 10) || 0
}
},
_cacheHelperProportions: function() {
this.helperProportions = {
width: this.helper.outerWidth(),
height: this.helper.outerHeight()
}
},
_setContainment: function() {
var t = this.options;
t.containment == "parent" && (t.containment = this.helper[0].parentNode);
if (t.containment == "document" || t.containment == "window")
this.containment = [0 - this.offset.relative.left - this.offset.parent.left, 0 - this.offset.relative.top - this.offset.parent.top, e(t.containment == "document" ? document : window).width() - this.helperProportions.width - this.margins.left, (e(t.containment == "document" ? document : window).height() || document.body.parentNode.scrollHeight) - this.helperProportions.height - this.margins.top];
if (!/^(document|window|parent)$/.test(t.containment)) {
var n = e(t.containment)[0]
, r = e(t.containment).offset()
, i = e(n).css("overflow") != "hidden";
this.containment = [r.left + (parseInt(e(n).css("borderLeftWidth"), 10) || 0) + (parseInt(e(n).css("paddingLeft"), 10) || 0) - this.margins.left, r.top + (parseInt(e(n).css("borderTopWidth"), 10) || 0) + (parseInt(e(n).css("paddingTop"), 10) || 0) - this.margins.top, r.left + (i ? Math.max(n.scrollWidth, n.offsetWidth) : n.offsetWidth) - (parseInt(e(n).css("borderLeftWidth"), 10) || 0) - (parseInt(e(n).css("paddingRight"), 10) || 0) - this.helperProportions.width - this.margins.left, r.top + (i ? Math.max(n.scrollHeight, n.offsetHeight) : n.offsetHeight) - (parseInt(e(n).css("borderTopWidth"), 10) || 0) - (parseInt(e(n).css("paddingBottom"), 10) || 0) - this.helperProportions.height - this.margins.top]
}
},
_convertPositionTo: function(t, n) {
n || (n = this.position);
var r = t == "absolute" ? 1 : -1
, i = this.options
, s = this.cssPosition != "absolute" || this.scrollParent[0] != document && !!e.contains(this.scrollParent[0], this.offsetParent[0]) ? this.scrollParent : this.offsetParent
, o = /(html|body)/i.test(s[0].tagName);
return {
top: n.top + this.offset.relative.top * r + this.offset.parent.top * r - (this.cssPosition == "fixed" ? -this.scrollParent.scrollTop() : o ? 0 : s.scrollTop()) * r,
left: n.left + this.offset.relative.left * r + this.offset.parent.left * r - (this.cssPosition == "fixed" ? -this.scrollParent.scrollLeft() : o ? 0 : s.scrollLeft()) * r
}
},
_generatePosition: function(t) {
var n = this.options
, r = this.cssPosition != "absolute" || this.scrollParent[0] != document && !!e.contains(this.scrollParent[0], this.offsetParent[0]) ? this.scrollParent : this.offsetParent
, i = /(html|body)/i.test(r[0].tagName);
this.cssPosition == "relative" && (this.scrollParent[0] == document || this.scrollParent[0] == this.offsetParent[0]) && (this.offset.relative = this._getRelativeOffset());
var s = t.pageX
, o = t.pageY;
if (this.originalPosition) {
this.containment && (t.pageX - this.offset.click.left < this.containment[0] && (s = this.containment[0] + this.offset.click.left),
t.pageY - this.offset.click.top < this.containment[1] && (o = this.containment[1] + this.offset.click.top),
t.pageX - this.offset.click.left > this.containment[2] && (s = this.containment[2] + this.offset.click.left),
t.pageY - this.offset.click.top > this.containment[3] && (o = this.containment[3] + this.offset.click.top));
if (n.grid) {
var u = this.originalPageY + Math.round((o - this.originalPageY) / n.grid[1]) * n.grid[1];
o = this.containment ? u - this.offset.click.top < this.containment[1] || u - this.offset.click.top > this.containment[3] ? u - this.offset.click.top < this.containment[1] ? u + n.grid[1] : u - n.grid[1] : u : u;
var a = this.originalPageX + Math.round((s - this.originalPageX) / n.grid[0]) * n.grid[0];
s = this.containment ? a - this.offset.click.left < this.containment[0] || a - this.offset.click.left > this.containment[2] ? a - this.offset.click.left < this.containment[0] ? a + n.grid[0] : a - n.grid[0] : a : a
}
}
return {
top: o - this.offset.click.top - this.offset.relative.top - this.offset.parent.top + (this.cssPosition == "fixed" ? -this.scrollParent.scrollTop() : i ? 0 : r.scrollTop()),
left: s - this.offset.click.left - this.offset.relative.left - this.offset.parent.left + (this.cssPosition == "fixed" ? -this.scrollParent.scrollLeft() : i ? 0 : r.scrollLeft())
}
},
_rearrange: function(e, t, n, r) {
n ? n[0].appendChild(this.placeholder[0]) : t.item[0].parentNode.insertBefore(this.placeholder[0], this.direction == "down" ? t.item[0] : t.item[0].nextSibling),
this.counter = this.counter ? ++this.counter : 1;
var i = this.counter;
this._delay(function() {
i == this.counter && this.refreshPositions(!r)
})
},
_clear: function(t, n) {
this.reverting = !1;
var r = [];
!this._noFinalSort && this.currentItem.parent().length && this.placeholder.before(this.currentItem),
this._noFinalSort = null;
if (this.helper[0] == this.currentItem[0]) {
for (var i in this._storedCSS)
if (this._storedCSS[i] == "auto" || this._storedCSS[i] == "static")
this._storedCSS[i] = "";
this.currentItem.css(this._storedCSS).removeClass("ui-sortable-helper")
} else
this.currentItem.show();
this.fromOutside && !n && r.push(function(e) {
this._trigger("receive", e, this._uiHash(this.fromOutside))
}),
(this.fromOutside || this.domPosition.prev != this.currentItem.prev().not(".ui-sortable-helper")[0] || this.domPosition.parent != this.currentItem.parent()[0]) && !n && r.push(function(e) {
this._trigger("update", e, this._uiHash())
}),
this !== this.currentContainer && (n || (r.push(function(e) {
this._trigger("remove", e, this._uiHash())
}),
r.push(function(e) {
return function(t) {
e._trigger("receive", t, this._uiHash(this))
}
}
.call(this, this.currentContainer)),
r.push(function(e) {
return function(t) {
e._trigger("update", t, this._uiHash(this))
}
}
.call(this, this.currentContainer))));
for (var i = this.containers.length - 1; i >= 0; i--)
n || r.push(function(e) {
return function(t) {
e._trigger("deactivate", t, this._uiHash(this))
}
}
.call(this, this.containers[i])),
this.containers[i].containerCache.over && (r.push(function(e) {
return function(t) {
e._trigger("out", t, this._uiHash(this))
}
}
.call(this, this.containers[i])),
this.containers[i].containerCache.over = 0);
this._storedCursor && e("body").css("cursor", this._storedCursor),
this._storedOpacity && this.helper.css("opacity", this._storedOpacity),
this._storedZIndex && this.helper.css("zIndex", this._storedZIndex == "auto" ? "" : this._storedZIndex),
this.dragging = !1;
if (this.cancelHelperRemoval) {
if (!n) {
this._trigger("beforeStop", t, this._uiHash());
for (var i = 0; i < r.length; i++)
r[i].call(this, t);
this._trigger("stop", t, this._uiHash())
}
return this.fromOutside = !1,
!1
}
n || this._trigger("beforeStop", t, this._uiHash()),
this.placeholder[0].parentNode.removeChild(this.placeholder[0]),
this.helper[0] != this.currentItem[0] && this.helper.remove(),
this.helper = null;
if (!n) {
for (var i = 0; i < r.length; i++)
r[i].call(this, t);
this._trigger("stop", t, this._uiHash())
}
return this.fromOutside = !1,
!0
},
_trigger: function() {
e.Widget.prototype._trigger.apply(this, arguments) === !1 && this.cancel()
},
_uiHash: function(t) {
var n = t || this;
return {
helper: n.helper,
placeholder: n.placeholder || e([]),
position: n.position,
originalPosition: n.originalPosition,
offset: n.positionAbs,
item: n.currentItem,
sender: t ? t.element : null
}
}
})
}(jQuery),
jQuery.effects || function(e, t) {
var n = e.uiBackCompat !== !1
, r = "ui-effects-";
e.effects = {
effect: {}
},
function(t, n) {
function p(e, t, n) {
var r = a[t.type] || {};
return e == null ? n || !t.def ? null : t.def : (e = r.floor ? ~~e : parseFloat(e),
isNaN(e) ? t.def : r.mod ? (e + r.mod) % r.mod : 0 > e ? 0 : r.max < e ? r.max : e)
}
function d(e) {
var n = o()
, r = n._rgba = [];
return e = e.toLowerCase(),
h(s, function(t, i) {
var s, o = i.re.exec(e), a = o && i.parse(o), f = i.space || "rgba";
if (a)
return s = n[f](a),
n[u[f].cache] = s[u[f].cache],
r = n._rgba = s._rgba,
!1
}),
r.length ? (r.join() === "0,0,0,0" && t.extend(r, c.transparent),
n) : c[e]
}
function v(e, t, n) {
return n = (n + 1) % 1,
n * 6 < 1 ? e + (t - e) * n * 6 : n * 2 < 1 ? t : n * 3 < 2 ? e + (t - e) * (2 / 3 - n) * 6 : e
}
var r = "backgroundColor borderBottomColor borderLeftColor borderRightColor borderTopColor color columnRuleColor outlineColor textDecorationColor textEmphasisColor".split(" "), i = /^([\-+])=\s*(\d+\.?\d*)/, s = [{
re: /rgba?\(\s*(\d{1,3})\s*,\s*(\d{1,3})\s*,\s*(\d{1,3})\s*(?:,\s*(\d+(?:\.\d+)?)\s*)?\)/,
parse: function(e) {
return [e[1], e[2], e[3], e[4]]
}
}, {
re: /rgba?\(\s*(\d+(?:\.\d+)?)\%\s*,\s*(\d+(?:\.\d+)?)\%\s*,\s*(\d+(?:\.\d+)?)\%\s*(?:,\s*(\d+(?:\.\d+)?)\s*)?\)/,
parse: function(e) {
return [e[1] * 2.55, e[2] * 2.55, e[3] * 2.55, e[4]]
}
}, {
re: /#([a-f0-9]{2})([a-f0-9]{2})([a-f0-9]{2})/,
parse: function(e) {
return [parseInt(e[1], 16), parseInt(e[2], 16), parseInt(e[3], 16)]
}
}, {
re: /#([a-f0-9])([a-f0-9])([a-f0-9])/,
parse: function(e) {
return [parseInt(e[1] + e[1], 16), parseInt(e[2] + e[2], 16), parseInt(e[3] + e[3], 16)]
}
}, {
re: /hsla?\(\s*(\d+(?:\.\d+)?)\s*,\s*(\d+(?:\.\d+)?)\%\s*,\s*(\d+(?:\.\d+)?)\%\s*(?:,\s*(\d+(?:\.\d+)?)\s*)?\)/,
space: "hsla",
parse: function(e) {
return [e[1], e[2] / 100, e[3] / 100, e[4]]
}
}], o = t.Color = function(e, n, r, i) {
return new t.Color.fn.parse(e,n,r,i)
}
, u = {
rgba: {
props: {
red: {
idx: 0,
type: "byte"
},
green: {
idx: 1,
type: "byte"
},
blue: {
idx: 2,
type: "byte"
}
}
},
hsla: {
props: {
hue: {
idx: 0,
type: "degrees"
},
saturation: {
idx: 1,
type: "percent"
},
lightness: {
idx: 2,
type: "percent"
}
}
}
}, a = {
"byte": {
floor: !0,
max: 255
},
percent: {
max: 1
},
degrees: {
mod: 360,
floor: !0
}
}, f = o.support = {}, l = t("<p>")[0], c, h = t.each;
l.style.cssText = "background-color:rgba(1,1,1,.5)",
f.rgba = l.style.backgroundColor.indexOf("rgba") > -1,
h(u, function(e, t) {
t.cache = "_" + e,
t.props.alpha = {
idx: 3,
type: "percent",
def: 1
}
}),
o.fn = t.extend(o.prototype, {
parse: function(r, i, s, a) {
if (r === n)
return this._rgba = [null, null, null, null],
this;
if (r.jquery || r.nodeType)
r = t(r).css(i),
i = n;
var f = this
, l = t.type(r)
, v = this._rgba = [];
i !== n && (r = [r, i, s, a],
l = "array");
if (l === "string")
return this.parse(d(r) || c._default);
if (l === "array")
return h(u.rgba.props, function(e, t) {
v[t.idx] = p(r[t.idx], t)
}),
this;
if (l === "object")
return r instanceof o ? h(u, function(e, t) {
r[t.cache] && (f[t.cache] = r[t.cache].slice())
}) : h(u, function(t, n) {
var i = n.cache;
h(n.props, function(e, t) {
if (!f[i] && n.to) {
if (e === "alpha" || r[e] == null)
return;
f[i] = n.to(f._rgba)
}
f[i][t.idx] = p(r[e], t, !0)
}),
f[i] && e.inArray(null, f[i].slice(0, 3)) < 0 && (f[i][3] = 1,
n.from && (f._rgba = n.from(f[i])))
}),
this
},
is: function(e) {
var t = o(e)
, n = !0
, r = this;
return h(u, function(e, i) {
var s, o = t[i.cache];
return o && (s = r[i.cache] || i.to && i.to(r._rgba) || [],
h(i.props, function(e, t) {
if (o[t.idx] != null)
return n = o[t.idx] === s[t.idx],
n
})),
n
}),
n
},
_space: function() {
var e = []
, t = this;
return h(u, function(n, r) {
t[r.cache] && e.push(n)
}),
e.pop()
},
transition: function(e, t) {
var n = o(e)
, r = n._space()
, i = u[r]
, s = this.alpha() === 0 ? o("transparent") : this
, f = s[i.cache] || i.to(s._rgba)
, l = f.slice();
return n = n[i.cache],
h(i.props, function(e, r) {
var i = r.idx
, s = f[i]
, o = n[i]
, u = a[r.type] || {};
if (o === null)
return;
s === null ? l[i] = o : (u.mod && (o - s > u.mod / 2 ? s += u.mod : s - o > u.mod / 2 && (s -= u.mod)),
l[i] = p((o - s) * t + s, r))
}),
this[r](l)
},
blend: function(e) {
if (this._rgba[3] === 1)
return this;
var n = this._rgba.slice()
, r = n.pop()
, i = o(e)._rgba;
return o(t.map(n, function(e, t) {
return (1 - r) * i[t] + r * e
}))
},
toRgbaString: function() {
var e = "rgba("
, n = t.map(this._rgba, function(e, t) {
return e == null ? t > 2 ? 1 : 0 : e
});
return n[3] === 1 && (n.pop(),
e = "rgb("),
e + n.join() + ")"
},
toHslaString: function() {
var e = "hsla("
, n = t.map(this.hsla(), function(e, t) {
return e == null && (e = t > 2 ? 1 : 0),
t && t < 3 && (e = Math.round(e * 100) + "%"),
e
});
return n[3] === 1 && (n.pop(),
e = "hsl("),
e + n.join() + ")"
},
toHexString: function(e) {
var n = this._rgba.slice()
, r = n.pop();
return e && n.push(~~(r * 255)),
"#" + t.map(n, function(e) {
return e = (e || 0).toString(16),
e.length === 1 ? "0" + e : e
}).join("")
},
toString: function() {
return this._rgba[3] === 0 ? "transparent" : this.toRgbaString()
}
}),
o.fn.parse.prototype = o.fn,
u.hsla.to = function(e) {
if (e[0] == null || e[1] == null || e[2] == null)
return [null, null, null, e[3]];
var t = e[0] / 255, n = e[1] / 255, r = e[2] / 255, i = e[3], s = Math.max(t, n, r), o = Math.min(t, n, r), u = s - o, a = s + o, f = a * .5, l, c;
return o === s ? l = 0 : t === s ? l = 60 * (n - r) / u + 360 : n === s ? l = 60 * (r - t) / u + 120 : l = 60 * (t - n) / u + 240,
f === 0 || f === 1 ? c = f : f <= .5 ? c = u / a : c = u / (2 - a),
[Math.round(l) % 360, c, f, i == null ? 1 : i]
}
,
u.hsla.from = function(e) {
if (e[0] == null || e[1] == null || e[2] == null)
return [null, null, null, e[3]];
var t = e[0] / 360
, n = e[1]
, r = e[2]
, i = e[3]
, s = r <= .5 ? r * (1 + n) : r + n - r * n
, o = 2 * r - s;
return [Math.round(v(o, s, t + 1 / 3) * 255), Math.round(v(o, s, t) * 255), Math.round(v(o, s, t - 1 / 3) * 255), i]
}
,
h(u, function(e, r) {
var s = r.props
, u = r.cache
, a = r.to
, f = r.from;
o.fn[e] = function(e) {
a && !this[u] && (this[u] = a(this._rgba));
if (e === n)
return this[u].slice();
var r, i = t.type(e), l = i === "array" || i === "object" ? e : arguments, c = this[u].slice();
return h(s, function(e, t) {
var n = l[i === "object" ? e : t.idx];
n == null && (n = c[t.idx]),
c[t.idx] = p(n, t)
}),
f ? (r = o(f(c)),
r[u] = c,
r) : o(c)
}
,
h(s, function(n, r) {
if (o.fn[n])
return;
o.fn[n] = function(s) {
var o = t.type(s), u = n === "alpha" ? this._hsla ? "hsla" : "rgba" : e, a = this[u](), f = a[r.idx], l;
return o === "undefined" ? f : (o === "function" && (s = s.call(this, f),
o = t.type(s)),
s == null && r.empty ? this : (o === "string" && (l = i.exec(s),
l && (s = f + parseFloat(l[2]) * (l[1] === "+" ? 1 : -1))),
a[r.idx] = s,
this[u](a)))
}
})
}),
h(r, function(e, n) {
t.cssHooks[n] = {
set: function(e, r) {
var i, s, u = "";
if (t.type(r) !== "string" || (i = d(r))) {
r = o(i || r);
if (!f.rgba && r._rgba[3] !== 1) {
s = n === "backgroundColor" ? e.parentNode : e;
while ((u === "" || u === "transparent") && s && s.style)
try {
u = t.css(s, "backgroundColor"),
s = s.parentNode
} catch (a) {}
r = r.blend(u && u !== "transparent" ? u : "_default")
}
r = r.toRgbaString()
}
try {
e.style[n] = r
} catch (l) {}
}
},
t.fx.step[n] = function(e) {
e.colorInit || (e.start = o(e.elem, n),
e.end = o(e.end),
e.colorInit = !0),
t.cssHooks[n].set(e.elem, e.start.transition(e.end, e.pos))
}
}),
t.cssHooks.borderColor = {
expand: function(e) {
var t = {};
return h(["Top", "Right", "Bottom", "Left"], function(n, r) {
t["border" + r + "Color"] = e
}),
t
}
},
c = t.Color.names = {
aqua: "#00ffff",
black: "#000000",
blue: "#0000ff",
fuchsia: "#ff00ff",
gray: "#808080",
green: "#008000",
lime: "#00ff00",
maroon: "#800000",
navy: "#000080",
olive: "#808000",
purple: "#800080",
red: "#ff0000",
silver: "#c0c0c0",
teal: "#008080",
white: "#ffffff",
yellow: "#ffff00",
transparent: [null, null, null, 0],
_default: "#ffffff"
}
}(jQuery),
function() {
function i() {
var t = this.ownerDocument.defaultView ? this.ownerDocument.defaultView.getComputedStyle(this, null) : this.currentStyle, n = {}, r, i;
if (t && t.length && t[0] && t[t[0]]) {
i = t.length;
while (i--)
r = t[i],
typeof t[r] == "string" && (n[e.camelCase(r)] = t[r])
} else
for (r in t)
typeof t[r] == "string" && (n[r] = t[r]);
return n
}
function s(t, n) {
var i = {}, s, o;
for (s in n)
o = n[s],
t[s] !== o && !r[s] && (e.fx.step[s] || !isNaN(parseFloat(o))) && (i[s] = o);
return i
}
var n = ["add", "remove", "toggle"]
, r = {
border: 1,
borderBottom: 1,
borderColor: 1,
borderLeft: 1,
borderRight: 1,
borderTop: 1,
borderWidth: 1,
margin: 1,
padding: 1
};
e.each(["borderLeftStyle", "borderRightStyle", "borderBottomStyle", "borderTopStyle"], function(t, n) {
e.fx.step[n] = function(e) {
if (e.end !== "none" && !e.setAttr || e.pos === 1 && !e.setAttr)
jQuery.style(e.elem, n, e.end),
e.setAttr = !0
}
}),
e.effects.animateClass = function(t, r, o, u) {
var a = e.speed(r, o, u);
return this.queue(function() {
var r = e(this), o = r.attr("class") || "", u, f = a.children ? r.find("*").andSelf() : r;
f = f.map(function() {
var t = e(this);
return {
el: t,
start: i.call(this)
}
}),
u = function() {
e.each(n, function(e, n) {
t[n] && r[n + "Class"](t[n])
})
}
,
u(),
f = f.map(function() {
return this.end = i.call(this.el[0]),
this.diff = s(this.start, this.end),
this
}),
r.attr("class", o),
f = f.map(function() {
var t = this
, n = e.Deferred()
, r = jQuery.extend({}, a, {
queue: !1,
complete: function() {
n.resolve(t)
}
});
return this.el.animate(this.diff, r),
n.promise()
}),
e.when.apply(e, f.get()).done(function() {
u(),
e.each(arguments, function() {
var t = this.el;
e.each(this.diff, function(e) {
t.css(e, "")
})
}),
a.complete.call(r[0])
})
})
}
,
e.fn.extend({
_addClass: e.fn.addClass,
addClass: function(t, n, r, i) {
return n ? e.effects.animateClass.call(this, {
add: t
}, n, r, i) : this._addClass(t)
},
_removeClass: e.fn.removeClass,
removeClass: function(t, n, r, i) {
return n ? e.effects.animateClass.call(this, {
remove: t
}, n, r, i) : this._removeClass(t)
},
_toggleClass: e.fn.toggleClass,
toggleClass: function(n, r, i, s, o) {
return typeof r == "boolean" || r === t ? i ? e.effects.animateClass.call(this, r ? {
add: n
} : {
remove: n
}, i, s, o) : this._toggleClass(n, r) : e.effects.animateClass.call(this, {
toggle: n
}, r, i, s)
},
switchClass: function(t, n, r, i, s) {
return e.effects.animateClass.call(this, {
add: n,
remove: t
}, r, i, s)
}
})
}(),
function() {
function i(t, n, r, i) {
e.isPlainObject(t) && (n = t,
t = t.effect),
t = {
effect: t
},
n == null && (n = {}),
e.isFunction(n) && (i = n,
r = null,
n = {});
if (typeof n == "number" || e.fx.speeds[n])
i = r,
r = n,
n = {};
return e.isFunction(r) && (i = r,
r = null),
n && e.extend(t, n),
r = r || n.duration,
t.duration = e.fx.off ? 0 : typeof r == "number" ? r : r in e.fx.speeds ? e.fx.speeds[r] : e.fx.speeds._default,
t.complete = i || n.complete,
t
}
function s(t) {
return !t || typeof t == "number" || e.fx.speeds[t] ? !0 : typeof t == "string" && !e.effects.effect[t] ? n && e.effects[t] ? !1 : !0 : !1
}
e.extend(e.effects, {
version: "1.9.1",
save: function(e, t) {
for (var n = 0; n < t.length; n++)
t[n] !== null && e.data(r + t[n], e[0].style[t[n]])
},
restore: function(e, n) {
var i, s;
for (s = 0; s < n.length; s++)
n[s] !== null && (i = e.data(r + n[s]),
i === t && (i = ""),
e.css(n[s], i))
},
setMode: function(e, t) {
return t === "toggle" && (t = e.is(":hidden") ? "show" : "hide"),
t
},
getBaseline: function(e, t) {
var n, r;
switch (e[0]) {
case "top":
n = 0;
break;
case "middle":
n = .5;
break;
case "bottom":
n = 1;
break;
default:
n = e[0] / t.height
}
switch (e[1]) {
case "left":
r = 0;
break;
case "center":
r = .5;
break;
case "right":
r = 1;
break;
default:
r = e[1] / t.width
}
return {
x: r,
y: n
}
},
createWrapper: function(t) {
if (t.parent().is(".ui-effects-wrapper"))
return t.parent();
var n = {
width: t.outerWidth(!0),
height: t.outerHeight(!0),
"float": t.css("float")
}
, r = e("<div></div>").addClass("ui-effects-wrapper").css({
fontSize: "100%",
background: "transparent",
border: "none",
margin: 0,
padding: 0
})
, i = {
width: t.width(),
height: t.height()
}
, s = document.activeElement;
try {
s.id
} catch (o) {
s = document.body
}
return t.wrap(r),
(t[0] === s || e.contains(t[0], s)) && e(s).focus(),
r = t.parent(),
t.css("position") === "static" ? (r.css({
position: "relative"
}),
t.css({
position: "relative"
})) : (e.extend(n, {
position: t.css("position"),
zIndex: t.css("z-index")
}),
e.each(["top", "left", "bottom", "right"], function(e, r) {
n[r] = t.css(r),
isNaN(parseInt(n[r], 10)) && (n[r] = "auto")
}),
t.css({
position: "relative",
top: 0,
left: 0,
right: "auto",
bottom: "auto"
})),
t.css(i),
r.css(n).show()
},
removeWrapper: function(t) {
var n = document.activeElement;
return t.parent().is(".ui-effects-wrapper") && (t.parent().replaceWith(t),
(t[0] === n || e.contains(t[0], n)) && e(n).focus()),
t
},
setTransition: function(t, n, r, i) {
return i = i || {},
e.each(n, function(e, n) {
var s = t.cssUnit(n);
s[0] > 0 && (i[n] = s[0] * r + s[1])
}),
i
}
}),
e.fn.extend({
effect: function() {
function a(n) {
function u() {
e.isFunction(i) && i.call(r[0]),
e.isFunction(n) && n()
}
var r = e(this)
, i = t.complete
, s = t.mode;
(r.is(":hidden") ? s === "hide" : s === "show") ? u() : o.call(r[0], t, u)
}
var t = i.apply(this, arguments)
, r = t.mode
, s = t.queue
, o = e.effects.effect[t.effect]
, u = !o && n && e.effects[t.effect];
return e.fx.off || !o && !u ? r ? this[r](t.duration, t.complete) : this.each(function() {
t.complete && t.complete.call(this)
}) : o ? s === !1 ? this.each(a) : this.queue(s || "fx", a) : u.call(this, {
options: t,
duration: t.duration,
callback: t.complete,
mode: t.mode
})
},
_show: e.fn.show,
show: function(e) {
if (s(e))
return this._show.apply(this, arguments);
var t = i.apply(this, arguments);
return t.mode = "show",
this.effect.call(this, t)
},
_hide: e.fn.hide,
hide: function(e) {
if (s(e))
return this._hide.apply(this, arguments);
var t = i.apply(this, arguments);
return t.mode = "hide",
this.effect.call(this, t)
},
__toggle: e.fn.toggle,
toggle: function(t) {
if (s(t) || typeof t == "boolean" || e.isFunction(t))
return this.__toggle.apply(this, arguments);
var n = i.apply(this, arguments);
return n.mode = "toggle",
this.effect.call(this, n)
},
cssUnit: function(t) {
var n = this.css(t)
, r = [];
return e.each(["em", "px", "%", "pt"], function(e, t) {
n.indexOf(t) > 0 && (r = [parseFloat(n), t])
}),
r
}
})
}(),
function() {
var t = {};
e.each(["Quad", "Cubic", "Quart", "Quint", "Expo"], function(e, n) {
t[n] = function(t) {
return Math.pow(t, e + 2)
}
}),
e.extend(t, {
Sine: function(e) {
return 1 - Math.cos(e * Math.PI / 2)
},
Circ: function(e) {
return 1 - Math.sqrt(1 - e * e)
},
Elastic: function(e) {
return e === 0 || e === 1 ? e : -Math.pow(2, 8 * (e - 1)) * Math.sin(((e - 1) * 80 - 7.5) * Math.PI / 15)
},
Back: function(e) {
return e * e * (3 * e - 2)
},
Bounce: function(e) {
var t, n = 4;
while (e < ((t = Math.pow(2, --n)) - 1) / 11)
;
return 1 / Math.pow(4, 3 - n) - 7.5625 * Math.pow((t * 3 - 2) / 22 - e, 2)
}
}),
e.each(t, function(t, n) {
e.easing["easeIn" + t] = n,
e.easing["easeOut" + t] = function(e) {
return 1 - n(1 - e)
}
,
e.easing["easeInOut" + t] = function(e) {
return e < .5 ? n(e * 2) / 2 : 1 - n(e * -2 + 2) / 2
}
})
}()
}(jQuery),
function(e, t) {
var n = 0
, r = {}
, i = {};
r.height = r.paddingTop = r.paddingBottom = r.borderTopWidth = r.borderBottomWidth = "hide",
i.height = i.paddingTop = i.paddingBottom = i.borderTopWidth = i.borderBottomWidth = "show",
e.widget("ui.accordion", {
version: "1.9.1",
options: {
active: 0,
animate: {},
collapsible: !1,
event: "click",
header: "> li > :first-child,> :not(li):even",
heightStyle: "auto",
icons: {
activeHeader: "ui-icon-triangle-1-s",
header: "ui-icon-triangle-1-e"
},
activate: null,
beforeActivate: null
},
_create: function() {
var t = this.accordionId = "ui-accordion-" + (this.element.attr("id") || ++n)
, r = this.options;
this.prevShow = this.prevHide = e(),
this.element.addClass("ui-accordion ui-widget ui-helper-reset"),
this.headers = this.element.find(r.header).addClass("ui-accordion-header ui-helper-reset ui-state-default ui-corner-all"),
this._hoverable(this.headers),
this._focusable(this.headers),
this.headers.next().addClass("ui-accordion-content ui-helper-reset ui-widget-content ui-corner-bottom").hide(),
!r.collapsible && (r.active === !1 || r.active == null) && (r.active = 0),
r.active < 0 && (r.active += this.headers.length),
this.active = this._findActive(r.active).addClass("ui-accordion-header-active ui-state-active").toggleClass("ui-corner-all ui-corner-top"),
this.active.next().addClass("ui-accordion-content-active").show(),
this._createIcons(),
this.refresh(),
this.element.attr("role", "tablist"),
this.headers.attr("role", "tab").each(function(n) {
var r = e(this)
, i = r.attr("id")
, s = r.next()
, o = s.attr("id");
i || (i = t + "-header-" + n,
r.attr("id", i)),
o || (o = t + "-panel-" + n,
s.attr("id", o)),
r.attr("aria-controls", o),
s.attr("aria-labelledby", i)
}).next().attr("role", "tabpanel"),
this.headers.not(this.active).attr({
"aria-selected": "false",
tabIndex: -1
}).next().attr({
"aria-expanded": "false",
"aria-hidden": "true"
}).hide(),
this.active.length ? this.active.attr({
"aria-selected": "true",
tabIndex: 0
}).next().attr({
"aria-expanded": "true",
"aria-hidden": "false"
}) : this.headers.eq(0).attr("tabIndex", 0),
this._on(this.headers, {
keydown: "_keydown"
}),
this._on(this.headers.next(), {
keydown: "_panelKeyDown"
}),
this._setupEvents(r.event)
},
_getCreateEventData: function() {
return {
header: this.active,
content: this.active.length ? this.active.next() : e()
}
},
_createIcons: function() {
var t = this.options.icons;
t && (e("<span>").addClass("ui-accordion-header-icon ui-icon " + t.header).prependTo(this.headers),
this.active.children(".ui-accordion-header-icon").removeClass(t.header).addClass(t.activeHeader),
this.headers.addClass("ui-accordion-icons"))
},
_destroyIcons: function() {
this.headers.removeClass("ui-accordion-icons").children(".ui-accordion-header-icon").remove()
},
_destroy: function() {
var e;
this.element.removeClass("ui-accordion ui-widget ui-helper-reset").removeAttr("role"),
this.headers.removeClass("ui-accordion-header ui-accordion-header-active ui-helper-reset ui-state-default ui-corner-all ui-state-active ui-state-disabled ui-corner-top").removeAttr("role").removeAttr("aria-selected").removeAttr("aria-controls").removeAttr("tabIndex").each(function() {
/^ui-accordion/.test(this.id) && this.removeAttribute("id")
}),
this._destroyIcons(),
e = this.headers.next().css("display", "").removeAttr("role").removeAttr("aria-expanded").removeAttr("aria-hidden").removeAttr("aria-labelledby").removeClass("ui-helper-reset ui-widget-content ui-corner-bottom ui-accordion-content ui-accordion-content-active ui-state-disabled").each(function() {
/^ui-accordion/.test(this.id) && this.removeAttribute("id")
}),
this.options.heightStyle !== "content" && e.css("height", "")
},
_setOption: function(e, t) {
if (e === "active") {
this._activate(t);
return
}
e === "event" && (this.options.event && this._off(this.headers, this.options.event),
this._setupEvents(t)),
this._super(e, t),
e === "collapsible" && !t && this.options.active === !1 && this._activate(0),
e === "icons" && (this._destroyIcons(),
t && this._createIcons()),
e === "disabled" && this.headers.add(this.headers.next()).toggleClass("ui-state-disabled", !!t)
},
_keydown: function(t) {
if (t.altKey || t.ctrlKey)
return;
var n = e.ui.keyCode
, r = this.headers.length
, i = this.headers.index(t.target)
, s = !1;
switch (t.keyCode) {
case n.RIGHT:
case n.DOWN:
s = this.headers[(i + 1) % r];
break;
case n.LEFT:
case n.UP:
s = this.headers[(i - 1 + r) % r];
break;
case n.SPACE:
case n.ENTER:
this._eventHandler(t);
break;
case n.HOME:
s = this.headers[0];
break;
case n.END:
s = this.headers[r - 1]
}
s && (e(t.target).attr("tabIndex", -1),
e(s).attr("tabIndex", 0),
s.focus(),
t.preventDefault())
},
_panelKeyDown: function(t) {
t.keyCode === e.ui.keyCode.UP && t.ctrlKey && e(t.currentTarget).prev().focus()
},
refresh: function() {
var t, n, r = this.options.heightStyle, i = this.element.parent();
r === "fill" ? (e.support.minHeight || (n = i.css("overflow"),
i.css("overflow", "hidden")),
t = i.height(),
this.element.siblings(":visible").each(function() {
var n = e(this)
, r = n.css("position");
if (r === "absolute" || r === "fixed")
return;
t -= n.outerHeight(!0)
}),
n && i.css("overflow", n),
this.headers.each(function() {
t -= e(this).outerHeight(!0)
}),
this.headers.next().each(function() {
e(this).height(Math.max(0, t - e(this).innerHeight() + e(this).height()))
}).css("overflow", "auto")) : r === "auto" && (t = 0,
this.headers.next().each(function() {
t = Math.max(t, e(this).height("").height())
}).height(t))
},
_activate: function(t) {
var n = this._findActive(t)[0];
if (n === this.active[0])
return;
n = n || this.active[0],
this._eventHandler({
target: n,
currentTarget: n,
preventDefault: e.noop
})
},
_findActive: function(t) {
return typeof t == "number" ? this.headers.eq(t) : e()
},
_setupEvents: function(t) {
var n = {};
if (!t)
return;
e.each(t.split(" "), function(e, t) {
n[t] = "_eventHandler"
}),
this._on(this.headers, n)
},
_eventHandler: function(t) {
var n = this.options
, r = this.active
, i = e(t.currentTarget)
, s = i[0] === r[0]
, o = s && n.collapsible
, u = o ? e() : i.next()
, a = r.next()
, f = {
oldHeader: r,
oldPanel: a,
newHeader: o ? e() : i,
newPanel: u
};
t.preventDefault();
if (s && !n.collapsible || this._trigger("beforeActivate", t, f) === !1)
return;
n.active = o ? !1 : this.headers.index(i),
this.active = s ? e() : i,
this._toggle(f),
r.removeClass("ui-accordion-header-active ui-state-active"),
n.icons && r.children(".ui-accordion-header-icon").removeClass(n.icons.activeHeader).addClass(n.icons.header),
s || (i.removeClass("ui-corner-all").addClass("ui-accordion-header-active ui-state-active ui-corner-top"),
n.icons && i.children(".ui-accordion-header-icon").removeClass(n.icons.header).addClass(n.icons.activeHeader),
i.next().addClass("ui-accordion-content-active"))
},
_toggle: function(t) {
var n = t.newPanel
, r = this.prevShow.length ? this.prevShow : t.oldPanel;
this.prevShow.add(this.prevHide).stop(!0, !0),
this.prevShow = n,
this.prevHide = r,
this.options.animate ? this._animate(n, r, t) : (r.hide(),
n.show(),
this._toggleComplete(t)),
r.attr({
"aria-expanded": "false",
"aria-hidden": "true"
}),
r.prev().attr("aria-selected", "false"),
n.length && r.length ? r.prev().attr("tabIndex", -1) : n.length && this.headers.filter(function() {
return e(this).attr("tabIndex") === 0
}).attr("tabIndex", -1),
n.attr({
"aria-expanded": "true",
"aria-hidden": "false"
}).prev().attr({
"aria-selected": "true",
tabIndex: 0
})
},
_animate: function(e, t, n) {
var s, o, u, a = this, f = 0, l = e.length && (!t.length || e.index() < t.index()), c = this.options.animate || {}, h = l && c.down || c, p = function() {
a._toggleComplete(n)
};
typeof h == "number" && (u = h),
typeof h == "string" && (o = h),
o = o || h.easing || c.easing,
u = u || h.duration || c.duration;
if (!t.length)
return e.animate(i, u, o, p);
if (!e.length)
return t.animate(r, u, o, p);
s = e.show().outerHeight(),
t.animate(r, {
duration: u,
easing: o,
step: function(e, t) {
t.now = Math.round(e)
}
}),
e.hide().animate(i, {
duration: u,
easing: o,
complete: p,
step: function(e, n) {
n.now = Math.round(e),
n.prop !== "height" ? f += n.now : a.options.heightStyle !== "content" && (n.now = Math.round(s - t.outerHeight() - f),
f = 0)
}
})
},
_toggleComplete: function(e) {
var t = e.oldPanel;
t.removeClass("ui-accordion-content-active").prev().removeClass("ui-corner-top").addClass("ui-corner-all"),
t.length && (t.parent()[0].className = t.parent()[0].className),
this._trigger("activate", null, e)
}
}),
e.uiBackCompat !== !1 && (function(e, t) {
e.extend(t.options, {
navigation: !1,
navigationFilter: function() {
return this.href.toLowerCase() === location.href.toLowerCase()
}
});
var n = t._create;
t._create = function() {
if (this.options.navigation) {
var t = this
, r = this.element.find(this.options.header)
, i = r.next()
, s = r.add(i).find("a").filter(this.options.navigationFilter)[0];
s && r.add(i).each(function(n) {
if (e.contains(this, s))
return t.options.active = Math.floor(n / 2),
!1
})
}
n.call(this)
}
}(jQuery, jQuery.ui.accordion.prototype),
function(e, t) {
e.extend(t.options, {
heightStyle: null,
autoHeight: !0,
clearStyle: !1,
fillSpace: !1
});
var n = t._create
, r = t._setOption;
e.extend(t, {
_create: function() {
this.options.heightStyle = this.options.heightStyle || this._mergeHeightStyle(),
n.call(this)
},
_setOption: function(e) {
if (e === "autoHeight" || e === "clearStyle" || e === "fillSpace")
this.options.heightStyle = this._mergeHeightStyle();
r.apply(this, arguments)
},
_mergeHeightStyle: function() {
var e = this.options;
if (e.fillSpace)
return "fill";
if (e.clearStyle)
return "content";
if (e.autoHeight)
return "auto"
}
})
}(jQuery, jQuery.ui.accordion.prototype),
function(e, t) {
e.extend(t.options.icons, {
activeHeader: null,
headerSelected: "ui-icon-triangle-1-s"
});
var n = t._createIcons;
t._createIcons = function() {
this.options.icons && (this.options.icons.activeHeader = this.options.icons.activeHeader || this.options.icons.headerSelected),
n.call(this)
}
}(jQuery, jQuery.ui.accordion.prototype),
function(e, t) {
t.activate = t._activate;
var n = t._findActive;
t._findActive = function(e) {
return e === -1 && (e = !1),
e && typeof e != "number" && (e = this.headers.index(this.headers.filter(e)),
e === -1 && (e = !1)),
n.call(this, e)
}
}(jQuery, jQuery.ui.accordion.prototype),
jQuery.ui.accordion.prototype.resize = jQuery.ui.accordion.prototype.refresh,
function(e, t) {
e.extend(t.options, {
change: null,
changestart: null
});
var n = t._trigger;
t._trigger = function(e, t, r) {
var i = n.apply(this, arguments);
return i ? (e === "beforeActivate" ? i = n.call(this, "changestart", t, {
oldHeader: r.oldHeader,
oldContent: r.oldPanel,
newHeader: r.newHeader,
newContent: r.newPanel
}) : e === "activate" && (i = n.call(this, "change", t, {
oldHeader: r.oldHeader,
oldContent: r.oldPanel,
newHeader: r.newHeader,
newContent: r.newPanel
})),
i) : !1
}
}(jQuery, jQuery.ui.accordion.prototype),
function(e, t) {
e.extend(t.options, {
animate: null,
animated: "slide"
});
var n = t._create;
t._create = function() {
var e = this.options;
e.animate === null && (e.animated ? e.animated === "slide" ? e.animate = 300 : e.animated === "bounceslide" ? e.animate = {
duration: 200,
down: {
easing: "easeOutBounce",
duration: 1e3
}
} : e.animate = e.animated : e.animate = !1),
n.call(this)
}
}(jQuery, jQuery.ui.accordion.prototype))
}(jQuery),
function(e, t) {
var n = 0;
e.widget("ui.autocomplete", {
version: "1.9.1",
defaultElement: "<input>",
options: {
appendTo: "body",
autoFocus: !1,
delay: 300,
minLength: 1,
position: {
my: "left top",
at: "left bottom",
collision: "none"
},
source: null,
change: null,
close: null,
focus: null,
open: null,
response: null,
search: null,
select: null
},
pending: 0,
_create: function() {
var t, n, r;
this.isMultiLine = this._isMultiLine(),
this.valueMethod = this.element[this.element.is("input,textarea") ? "val" : "text"],
this.isNewMenu = !0,
this.element.addClass("ui-autocomplete-input").attr("autocomplete", "off"),
this._on(this.element, {
keydown: function(i) {
if (this.element.prop("readOnly")) {
t = !0,
r = !0,
n = !0;
return
}
t = !1,
r = !1,
n = !1;
var s = e.ui.keyCode;
switch (i.keyCode) {
case s.PAGE_UP:
t = !0,
this._move("previousPage", i);
break;
case s.PAGE_DOWN:
t = !0,
this._move("nextPage", i);
break;
case s.UP:
t = !0,
this._keyEvent("previous", i);
break;
case s.DOWN:
t = !0,
this._keyEvent("next", i);
break;
case s.ENTER:
case s.NUMPAD_ENTER:
this.menu.active && (t = !0,
i.preventDefault(),
this.menu.select(i));
break;
case s.TAB:
this.menu.active && this.menu.select(i);
break;
case s.ESCAPE:
this.menu.element.is(":visible") && (this._value(this.term),
this.close(i),
i.preventDefault());
break;
default:
n = !0,
this._searchTimeout(i)
}
},
keypress: function(r) {
if (t) {
t = !1,
r.preventDefault();
return
}
if (n)
return;
var i = e.ui.keyCode;
switch (r.keyCode) {
case i.PAGE_UP:
this._move("previousPage", r);
break;
case i.PAGE_DOWN:
this._move("nextPage", r);
break;
case i.UP:
this._keyEvent("previous", r);
break;
case i.DOWN:
this._keyEvent("next", r)
}
},
input: function(e) {
if (r) {
r = !1,
e.preventDefault();
return
}
this._searchTimeout(e)
},
focus: function() {
this.selectedItem = null,
this.previous = this._value()
},
blur: function(e) {
if (this.cancelBlur) {
delete this.cancelBlur;
return
}
clearTimeout(this.searching),
this.close(e),
this._change(e)
}
}),
this._initSource(),
this.menu = e("<ul>").addClass("ui-autocomplete").appendTo(this.document.find(this.options.appendTo || "body")[0]).menu({
input: e(),
role: null
}).zIndex(this.element.zIndex() + 1).hide().data("menu"),
this._on(this.menu.element, {
mousedown: function(t) {
t.preventDefault(),
this.cancelBlur = !0,
this._delay(function() {
delete this.cancelBlur
});
var n = this.menu.element[0];
e(t.target).closest(".ui-menu-item").length || this._delay(function() {
var t = this;
this.document.one("mousedown", function(r) {
r.target !== t.element[0] && r.target !== n && !e.contains(n, r.target) && t.close()
})
})
},
menufocus: function(t, n) {
if (this.isNewMenu) {
this.isNewMenu = !1;
if (t.originalEvent && /^mouse/.test(t.originalEvent.type)) {
this.menu.blur(),
this.document.one("mousemove", function() {
e(t.target).trigger(t.originalEvent)
});
return
}
}
var r = n.item.data("ui-autocomplete-item") || n.item.data("item.autocomplete");
!1 !== this._trigger("focus", t, {
item: r
}) ? t.originalEvent && /^key/.test(t.originalEvent.type) && this._value(r.value) : this.liveRegion.text(r.value)
},
menuselect: function(e, t) {
var n = t.item.data("ui-autocomplete-item") || t.item.data("item.autocomplete")
, r = this.previous;
this.element[0] !== this.document[0].activeElement && (this.element.focus(),
this.previous = r,
this._delay(function() {
this.previous = r,
this.selectedItem = n
})),
!1 !== this._trigger("select", e, {
item: n
}) && this._value(n.value),
this.term = this._value(),
this.close(e),
this.selectedItem = n
}
}),
this.liveRegion = e("<span>", {
role: "status",
"aria-live": "polite"
}).addClass("ui-helper-hidden-accessible").insertAfter(this.element),
e.fn.bgiframe && this.menu.element.bgiframe(),
this._on(this.window, {
beforeunload: function() {
this.element.removeAttr("autocomplete")
}
})
},
_destroy: function() {
clearTimeout(this.searching),
this.element.removeClass("ui-autocomplete-input").removeAttr("autocomplete"),
this.menu.element.remove(),
this.liveRegion.remove()
},
_setOption: function(e, t) {
this._super(e, t),
e === "source" && this._initSource(),
e === "appendTo" && this.menu.element.appendTo(this.document.find(t || "body")[0]),
e === "disabled" && t && this.xhr && this.xhr.abort()
},
_isMultiLine: function() {
return this.element.is("textarea") ? !0 : this.element.is("input") ? !1 : this.element.prop("isContentEditable")
},
_initSource: function() {
var t, n, r = this;
e.isArray(this.options.source) ? (t = this.options.source,
this.source = function(n, r) {
r(e.ui.autocomplete.filter(t, n.term))
}
) : typeof this.options.source == "string" ? (n = this.options.source,
this.source = function(t, i) {
r.xhr && r.xhr.abort(),
r.xhr = e.ajax({
url: n,
data: t,
dataType: "json",
success: function(e) {
i(e)
},
error: function() {
i([])
}
})
}
) : this.source = this.options.source
},
_searchTimeout: function(e) {
clearTimeout(this.searching),
this.searching = this._delay(function() {
this.term !== this._value() && (this.selectedItem = null,
this.search(null, e))
}, this.options.delay)
},
search: function(e, t) {
e = e != null ? e : this._value(),
this.term = this._value();
if (e.length < this.options.minLength)
return this.close(t);
if (this._trigger("search", t) === !1)
return;
return this._search(e)
},
_search: function(e) {
this.pending++,
this.element.addClass("ui-autocomplete-loading"),
this.cancelSearch = !1,
this.source({
term: e
}, this._response())
},
_response: function() {
var e = this
, t = ++n;
return function(r) {
t === n && e.__response(r),
e.pending--,
e.pending || e.element.removeClass("ui-autocomplete-loading")
}
},
__response: function(e) {
e && (e = this._normalize(e)),
this._trigger("response", null, {
content: e
}),
!this.options.disabled && e && e.length && !this.cancelSearch ? (this._suggest(e),
this._trigger("open")) : this._close()
},
close: function(e) {
this.cancelSearch = !0,
this._close(e)
},
_close: function(e) {
this.menu.element.is(":visible") && (this.menu.element.hide(),
this.menu.blur(),
this.isNewMenu = !0,
this._trigger("close", e))
},
_change: function(e) {
this.previous !== this._value() && this._trigger("change", e, {
item: this.selectedItem
})
},
_normalize: function(t) {
return t.length && t[0].label && t[0].value ? t : e.map(t, function(t) {
return typeof t == "string" ? {
label: t,
value: t
} : e.extend({
label: t.label || t.value,
value: t.value || t.label
}, t)
})
},
_suggest: function(t) {
var n = this.menu.element.empty().zIndex(this.element.zIndex() + 1);
this._renderMenu(n, t),
this.menu.refresh(),
n.show(),
this._resizeMenu(),
n.position(e.extend({
of: this.element
}, this.options.position)),
this.options.autoFocus && this.menu.next()
},
_resizeMenu: function() {
var e = this.menu.element;
e.outerWidth(Math.max(e.width("").outerWidth() + 1, this.element.outerWidth()))
},
_renderMenu: function(t, n) {
var r = this;
e.each(n, function(e, n) {
r._renderItemData(t, n)
})
},
_renderItemData: function(e, t) {
return this._renderItem(e, t).data("ui-autocomplete-item", t)
},
_renderItem: function(t, n) {
return e("<li>").append(e("<a>").text(n.label)).appendTo(t)
},
_move: function(e, t) {
if (!this.menu.element.is(":visible")) {
this.search(null, t);
return
}
if (this.menu.isFirstItem() && /^previous/.test(e) || this.menu.isLastItem() && /^next/.test(e)) {
this._value(this.term),
this.menu.blur();
return
}
this.menu[e](t)
},
widget: function() {
return this.menu.element
},
_value: function() {
return this.valueMethod.apply(this.element, arguments)
},
_keyEvent: function(e, t) {
if (!this.isMultiLine || this.menu.element.is(":visible"))
this._move(e, t),
t.preventDefault()
}
}),
e.extend(e.ui.autocomplete, {
escapeRegex: function(e) {
return e.replace(/[\-\[\]{}()*+?.,\\\^$|#\s]/g, "\\$&")
},
filter: function(t, n) {
var r = new RegExp(e.ui.autocomplete.escapeRegex(n),"i");
return e.grep(t, function(e) {
return r.test(e.label || e.value || e)
})
}
}),
e.widget("ui.autocomplete", e.ui.autocomplete, {
options: {
messages: {
noResults: "No search results.",
results: function(e) {
return e + (e > 1 ? " results are" : " result is") + " available, use up and down arrow keys to navigate."
}
}
},
__response: function(e) {
var t;
this._superApply(arguments);
if (this.options.disabled || this.cancelSearch)
return;
e && e.length ? t = this.options.messages.results(e.length) : t = this.options.messages.noResults,
this.liveRegion.text(t)
}
})
}(jQuery),
function(e, t) {
var n, r, i, s, o = "ui-button ui-widget ui-state-default ui-corner-all", u = "ui-state-hover ui-state-active ", a = "ui-button-icons-only ui-button-icon-only ui-button-text-icons ui-button-text-icon-primary ui-button-text-icon-secondary ui-button-text-only", f = function() {
var t = e(this).find(":ui-button");
setTimeout(function() {
t.button("refresh")
}, 1)
}, l = function(t) {
var n = t.name
, r = t.form
, i = e([]);
return n && (r ? i = e(r).find("[name='" + n + "']") : i = e("[name='" + n + "']", t.ownerDocument).filter(function() {
return !this.form
})),
i
};
e.widget("ui.button", {
version: "1.9.1",
defaultElement: "<button>",
options: {
disabled: null,
text: !0,
label: null,
icons: {
primary: null,
secondary: null
}
},
_create: function() {
this.element.closest("form").unbind("reset" + this.eventNamespace).bind("reset" + this.eventNamespace, f),
typeof this.options.disabled != "boolean" ? this.options.disabled = !!this.element.prop("disabled") : this.element.prop("disabled", this.options.disabled),
this._determineButtonType(),
this.hasTitle = !!this.buttonElement.attr("title");
var t = this
, u = this.options
, a = this.type === "checkbox" || this.type === "radio"
, c = "ui-state-hover" + (a ? "" : " ui-state-active")
, h = "ui-state-focus";
u.label === null && (u.label = this.type === "input" ? this.buttonElement.val() : this.buttonElement.html()),
this.buttonElement.addClass(o).attr("role", "button").bind("mouseenter" + this.eventNamespace, function() {
if (u.disabled)
return;
e(this).addClass("ui-state-hover"),
this === n && e(this).addClass("ui-state-active")
}).bind("mouseleave" + this.eventNamespace, function() {
if (u.disabled)
return;
e(this).removeClass(c)
}).bind("click" + this.eventNamespace, function(e) {
u.disabled && (e.preventDefault(),
e.stopImmediatePropagation())
}),
this.element.bind("focus" + this.eventNamespace, function() {
t.buttonElement.addClass(h)
}).bind("blur" + this.eventNamespace, function() {
t.buttonElement.removeClass(h)
}),
a && (this.element.bind("change" + this.eventNamespace, function() {
if (s)
return;
t.refresh()
}),
this.buttonElement.bind("mousedown" + this.eventNamespace, function(e) {
if (u.disabled)
return;
s = !1,
r = e.pageX,
i = e.pageY
}).bind("mouseup" + this.eventNamespace, function(e) {
if (u.disabled)
return;
if (r !== e.pageX || i !== e.pageY)
s = !0
})),
this.type === "checkbox" ? this.buttonElement.bind("click" + this.eventNamespace, function() {
if (u.disabled || s)
return !1;
e(this).toggleClass("ui-state-active"),
t.buttonElement.attr("aria-pressed", t.element[0].checked)
}) : this.type === "radio" ? this.buttonElement.bind("click" + this.eventNamespace, function() {
if (u.disabled || s)
return !1;
e(this).addClass("ui-state-active"),
t.buttonElement.attr("aria-pressed", "true");
var n = t.element[0];
l(n).not(n).map(function() {
return e(this).button("widget")[0]
}).removeClass("ui-state-active").attr("aria-pressed", "false")
}) : (this.buttonElement.bind("mousedown" + this.eventNamespace, function() {
if (u.disabled)
return !1;
e(this).addClass("ui-state-active"),
n = this,
t.document.one("mouseup", function() {
n = null
})
}).bind("mouseup" + this.eventNamespace, function() {
if (u.disabled)
return !1;
e(this).removeClass("ui-state-active")
}).bind("keydown" + this.eventNamespace, function(t) {
if (u.disabled)
return !1;
(t.keyCode === e.ui.keyCode.SPACE || t.keyCode === e.ui.keyCode.ENTER) && e(this).addClass("ui-state-active")
}).bind("keyup" + this.eventNamespace, function() {
e(this).removeClass("ui-state-active")
}),
this.buttonElement.is("a") && this.buttonElement.keyup(function(t) {
t.keyCode === e.ui.keyCode.SPACE && e(this).click()
})),
this._setOption("disabled", u.disabled),
this._resetButton()
},
_determineButtonType: function() {
var e, t, n;
this.element.is("[type=checkbox]") ? this.type = "checkbox" : this.element.is("[type=radio]") ? this.type = "radio" : this.element.is("input") ? this.type = "input" : this.type = "button",
this.type === "checkbox" || this.type === "radio" ? (e = this.element.parents().last(),
t = "label[for='" + this.element.attr("id") + "']",
this.buttonElement = e.find(t),
this.buttonElement.length || (e = e.length ? e.siblings() : this.element.siblings(),
this.buttonElement = e.filter(t),
this.buttonElement.length || (this.buttonElement = e.find(t))),
this.element.addClass("ui-helper-hidden-accessible"),
n = this.element.is(":checked"),
n && this.buttonElement.addClass("ui-state-active"),
this.buttonElement.prop("aria-pressed", n)) : this.buttonElement = this.element
},
widget: function() {
return this.buttonElement
},
_destroy: function() {
this.element.removeClass("ui-helper-hidden-accessible"),
this.buttonElement.removeClass(o + " " + u + " " + a).removeAttr("role").removeAttr("aria-pressed").html(this.buttonElement.find(".ui-button-text").html()),
this.hasTitle || this.buttonElement.removeAttr("title")
},
_setOption: function(e, t) {
this._super(e, t);
if (e === "disabled") {
t ? this.element.prop("disabled", !0) : this.element.prop("disabled", !1);
return
}
this._resetButton()
},
refresh: function() {
var t = this.element.is(":disabled") || this.element.hasClass("ui-button-disabled");
t !== this.options.disabled && this._setOption("disabled", t),
this.type === "radio" ? l(this.element[0]).each(function() {
e(this).is(":checked") ? e(this).button("widget").addClass("ui-state-active").attr("aria-pressed", "true") : e(this).button("widget").removeClass("ui-state-active").attr("aria-pressed", "false")
}) : this.type === "checkbox" && (this.element.is(":checked") ? this.buttonElement.addClass("ui-state-active").attr("aria-pressed", "true") : this.buttonElement.removeClass("ui-state-active").attr("aria-pressed", "false"))
},
_resetButton: function() {
if (this.type === "input") {
this.options.label && this.element.val(this.options.label);
return
}
var t = this.buttonElement.removeClass(a)
, n = e("<span></span>", this.document[0]).addClass("ui-button-text").html(this.options.label).appendTo(t.empty()).text()
, r = this.options.icons
, i = r.primary && r.secondary
, s = [];
r.primary || r.secondary ? (this.options.text && s.push("ui-button-text-icon" + (i ? "s" : r.primary ? "-primary" : "-secondary")),
r.primary && t.prepend("<span class='ui-button-icon-primary ui-icon " + r.primary + "'></span>"),
r.secondary && t.append("<span class='ui-button-icon-secondary ui-icon " + r.secondary + "'></span>"),
this.options.text || (s.push(i ? "ui-button-icons-only" : "ui-button-icon-only"),
this.hasTitle || t.attr("title", e.trim(n)))) : s.push("ui-button-text-only"),
t.addClass(s.join(" "))
}
}),
e.widget("ui.buttonset", {
version: "1.9.1",
options: {
items: "button, input[type=button], input[type=submit], input[type=reset], input[type=checkbox], input[type=radio], a, :data(button)"
},
_create: function() {
this.element.addClass("ui-buttonset")
},
_init: function() {
this.refresh()
},
_setOption: function(e, t) {
e === "disabled" && this.buttons.button("option", e, t),
this._super(e, t)
},
refresh: function() {
var t = this.element.css("direction") === "rtl";
this.buttons = this.element.find(this.options.items).filter(":ui-button").button("refresh").end().not(":ui-button").button().end().map(function() {
return e(this).button("widget")[0]
}).removeClass("ui-corner-all ui-corner-left ui-corner-right").filter(":first").addClass(t ? "ui-corner-right" : "ui-corner-left").end().filter(":last").addClass(t ? "ui-corner-left" : "ui-corner-right").end().end()
},
_destroy: function() {
this.element.removeClass("ui-buttonset"),
this.buttons.map(function() {
return e(this).button("widget")[0]
}).removeClass("ui-corner-left ui-corner-right").end().button("destroy")
}
})
}(jQuery),
function($, undefined) {
function Datepicker() {
this.debug = !1,
this._curInst = null,
this._keyEvent = !1,
this._disabledInputs = [],
this._datepickerShowing = !1,
this._inDialog = !1,
this._mainDivId = "ui-datepicker-div",
this._inlineClass = "ui-datepicker-inline",
this._appendClass = "ui-datepicker-append",
this._triggerClass = "ui-datepicker-trigger",
this._dialogClass = "ui-datepicker-dialog",
this._disableClass = "ui-datepicker-disabled",
this._unselectableClass = "ui-datepicker-unselectable",
this._currentClass = "ui-datepicker-current-day",
this._dayOverClass = "ui-datepicker-days-cell-over",
this.regional = [],
this.regional[""] = {
closeText: "Done",
prevText: "Prev",
nextText: "Next",
currentText: "Today",
monthNames: ["January", "February", "March", "April", "May", "June", "July", "August", "September", "October", "November", "December"],
monthNamesShort: ["Jan", "Feb", "Mar", "Apr", "May", "Jun", "Jul", "Aug", "Sep", "Oct", "Nov", "Dec"],
dayNames: ["Sunday", "Monday", "Tuesday", "Wednesday", "Thursday", "Friday", "Saturday"],
dayNamesShort: ["Sun", "Mon", "Tue", "Wed", "Thu", "Fri", "Sat"],
dayNamesMin: ["Su", "Mo", "Tu", "We", "Th", "Fr", "Sa"],
weekHeader: "Wk",
dateFormat: "mm/dd/yy",
firstDay: 0,
isRTL: !1,
showMonthAfterYear: !1,
yearSuffix: ""
},
this._defaults = {
showOn: "focus",
showAnim: "fadeIn",
showOptions: {},
defaultDate: null,
appendText: "",
buttonText: "...",
buttonImage: "",
buttonImageOnly: !1,
hideIfNoPrevNext: !1,
navigationAsDateFormat: !1,
gotoCurrent: !1,
changeMonth: !1,
changeYear: !1,
yearRange: "c-10:c+10",
showOtherMonths: !1,
selectOtherMonths: !1,
showWeek: !1,
calculateWeek: this.iso8601Week,
shortYearCutoff: "+10",
minDate: null,
maxDate: null,
duration: "fast",
beforeShowDay: null,
beforeShow: null,
onSelect: null,
onChangeMonthYear: null,
onClose: null,
numberOfMonths: 1,
showCurrentAtPos: 0,
stepMonths: 1,
stepBigMonths: 12,
altField: "",
altFormat: "",
constrainInput: !0,
showButtonPanel: !1,
autoSize: !1,
disabled: !1
},
$.extend(this._defaults, this.regional[""]),
this.dpDiv = bindHover($('<div id="' + this._mainDivId + '" class="ui-datepicker ui-widget ui-widget-content ui-helper-clearfix ui-corner-all"></div>'))
}
function bindHover(e) {
var t = "button, .ui-datepicker-prev, .ui-datepicker-next, .ui-datepicker-calendar td a";
return e.delegate(t, "mouseout", function() {
$(this).removeClass("ui-state-hover"),
this.className.indexOf("ui-datepicker-prev") != -1 && $(this).removeClass("ui-datepicker-prev-hover"),
this.className.indexOf("ui-datepicker-next") != -1 && $(this).removeClass("ui-datepicker-next-hover")
}).delegate(t, "mouseover", function() {
$.datepicker._isDisabledDatepicker(instActive.inline ? e.parent()[0] : instActive.input[0]) || ($(this).parents(".ui-datepicker-calendar").find("a").removeClass("ui-state-hover"),
$(this).addClass("ui-state-hover"),
this.className.indexOf("ui-datepicker-prev") != -1 && $(this).addClass("ui-datepicker-prev-hover"),
this.className.indexOf("ui-datepicker-next") != -1 && $(this).addClass("ui-datepicker-next-hover"))
})
}
function extendRemove(e, t) {
$.extend(e, t);
for (var n in t)
if (t[n] == null || t[n] == undefined)
e[n] = t[n];
return e
}
$.extend($.ui, {
datepicker: {
version: "1.9.1"
}
});
var PROP_NAME = "datepicker", dpuuid = (new Date).getTime(), instActive;
$.extend(Datepicker.prototype, {
markerClassName: "hasDatepicker",
maxRows: 4,
log: function() {
this.debug && console.log.apply("", arguments)
},
_widgetDatepicker: function() {
return this.dpDiv
},
setDefaults: function(e) {
return extendRemove(this._defaults, e || {}),
this
},
_attachDatepicker: function(target, settings) {
var inlineSettings = null;
for (var attrName in this._defaults) {
var attrValue = target.getAttribute("date:" + attrName);
if (attrValue) {
inlineSettings = inlineSettings || {};
try {
inlineSettings[attrName] = eval(attrValue)
} catch (err) {
inlineSettings[attrName] = attrValue
}
}
}
var nodeName = target.nodeName.toLowerCase()
, inline = nodeName == "div" || nodeName == "span";
target.id || (this.uuid += 1,
target.id = "dp" + this.uuid);
var inst = this._newInst($(target), inline);
inst.settings = $.extend({}, settings || {}, inlineSettings || {}),
nodeName == "input" ? this._connectDatepicker(target, inst) : inline && this._inlineDatepicker(target, inst)
},
_newInst: function(e, t) {
var n = e[0].id.replace(/([^A-Za-z0-9_-])/g, "\\\\$1");
return {
id: n,
input: e,
selectedDay: 0,
selectedMonth: 0,
selectedYear: 0,
drawMonth: 0,
drawYear: 0,
inline: t,
dpDiv: t ? bindHover($('<div class="' + this._inlineClass + ' ui-datepicker ui-widget ui-widget-content ui-helper-clearfix ui-corner-all"></div>')) : this.dpDiv
}
},
_connectDatepicker: function(e, t) {
var n = $(e);
t.append = $([]),
t.trigger = $([]);
if (n.hasClass(this.markerClassName))
return;
this._attachments(n, t),
n.addClass(this.markerClassName).keydown(this._doKeyDown).keypress(this._doKeyPress).keyup(this._doKeyUp).bind("setData.datepicker", function(e, n, r) {
t.settings[n] = r
}).bind("getData.datepicker", function(e, n) {
return this._get(t, n)
}),
this._autoSize(t),
$.data(e, PROP_NAME, t),
t.settings.disabled && this._disableDatepicker(e)
},
_attachments: function(e, t) {
var n = this._get(t, "appendText")
, r = this._get(t, "isRTL");
t.append && t.append.remove(),
n && (t.append = $('<span class="' + this._appendClass + '">' + n + "</span>"),
e[r ? "before" : "after"](t.append)),
e.unbind("focus", this._showDatepicker),
t.trigger && t.trigger.remove();
var i = this._get(t, "showOn");
(i == "focus" || i == "both") && e.focus(this._showDatepicker);
if (i == "button" || i == "both") {
var s = this._get(t, "buttonText")
, o = this._get(t, "buttonImage");
t.trigger = $(this._get(t, "buttonImageOnly") ? $("<img/>").addClass(this._triggerClass).attr({
src: o,
alt: s,
title: s
}) : $('<button type="button"></button>').addClass(this._triggerClass).html(o == "" ? s : $("<img/>").attr({
src: o,
alt: s,
title: s
}))),
e[r ? "before" : "after"](t.trigger),
t.trigger.click(function() {
return $.datepicker._datepickerShowing && $.datepicker._lastInput == e[0] ? $.datepicker._hideDatepicker() : $.datepicker._datepickerShowing && $.datepicker._lastInput != e[0] ? ($.datepicker._hideDatepicker(),
$.datepicker._showDatepicker(e[0])) : $.datepicker._showDatepicker(e[0]),
!1
})
}
},
_autoSize: function(e) {
if (this._get(e, "autoSize") && !e.inline) {
var t = new Date(2009,11,20)
, n = this._get(e, "dateFormat");
if (n.match(/[DM]/)) {
var r = function(e) {
var t = 0
, n = 0;
for (var r = 0; r < e.length; r++)
e[r].length > t && (t = e[r].length,
n = r);
return n
};
t.setMonth(r(this._get(e, n.match(/MM/) ? "monthNames" : "monthNamesShort"))),
t.setDate(r(this._get(e, n.match(/DD/) ? "dayNames" : "dayNamesShort")) + 20 - t.getDay())
}
e.input.attr("size", this._formatDate(e, t).length)
}
},
_inlineDatepicker: function(e, t) {
var n = $(e);
if (n.hasClass(this.markerClassName))
return;
n.addClass(this.markerClassName).append(t.dpDiv).bind("setData.datepicker", function(e, n, r) {
t.settings[n] = r
}).bind("getData.datepicker", function(e, n) {
return this._get(t, n)
}),
$.data(e, PROP_NAME, t),
this._setDate(t, this._getDefaultDate(t), !0),
this._updateDatepicker(t),
this._updateAlternate(t),
t.settings.disabled && this._disableDatepicker(e),
t.dpDiv.css("display", "block")
},
_dialogDatepicker: function(e, t, n, r, i) {
var s = this._dialogInst;
if (!s) {
this.uuid += 1;
var o = "dp" + this.uuid;
this._dialogInput = $('<input type="text" id="' + o + '" style="position: absolute; top: -100px; width: 0px;"/>'),
this._dialogInput.keydown(this._doKeyDown),
$("body").append(this._dialogInput),
s = this._dialogInst = this._newInst(this._dialogInput, !1),
s.settings = {},
$.data(this._dialogInput[0], PROP_NAME, s)
}
extendRemove(s.settings, r || {}),
t = t && t.constructor == Date ? this._formatDate(s, t) : t,
this._dialogInput.val(t),
this._pos = i ? i.length ? i : [i.pageX, i.pageY] : null;
if (!this._pos) {
var u = document.documentElement.clientWidth
, a = document.documentElement.clientHeight
, f = document.documentElement.scrollLeft || document.body.scrollLeft
, l = document.documentElement.scrollTop || document.body.scrollTop;
this._pos = [u / 2 - 100 + f, a / 2 - 150 + l]
}
return this._dialogInput.css("left", this._pos[0] + 20 + "px").css("top", this._pos[1] + "px"),
s.settings.onSelect = n,
this._inDialog = !0,
this.dpDiv.addClass(this._dialogClass),
this._showDatepicker(this._dialogInput[0]),
$.blockUI && $.blockUI(this.dpDiv),
$.data(this._dialogInput[0], PROP_NAME, s),
this
},
_destroyDatepicker: function(e) {
var t = $(e)
, n = $.data(e, PROP_NAME);
if (!t.hasClass(this.markerClassName))
return;
var r = e.nodeName.toLowerCase();
$.removeData(e, PROP_NAME),
r == "input" ? (n.append.remove(),
n.trigger.remove(),
t.removeClass(this.markerClassName).unbind("focus", this._showDatepicker).unbind("keydown", this._doKeyDown).unbind("keypress", this._doKeyPress).unbind("keyup", this._doKeyUp)) : (r == "div" || r == "span") && t.removeClass(this.markerClassName).empty()
},
_enableDatepicker: function(e) {
var t = $(e)
, n = $.data(e, PROP_NAME);
if (!t.hasClass(this.markerClassName))
return;
var r = e.nodeName.toLowerCase();
if (r == "input")
e.disabled = !1,
n.trigger.filter("button").each(function() {
this.disabled = !1
}).end().filter("img").css({
opacity: "1.0",
cursor: ""
});
else if (r == "div" || r == "span") {
var i = t.children("." + this._inlineClass);
i.children().removeClass("ui-state-disabled"),
i.find("select.ui-datepicker-month, select.ui-datepicker-year").prop("disabled", !1)
}
this._disabledInputs = $.map(this._disabledInputs, function(t) {
return t == e ? null : t
})
},
_disableDatepicker: function(e) {
var t = $(e)
, n = $.data(e, PROP_NAME);
if (!t.hasClass(this.markerClassName))
return;
var r = e.nodeName.toLowerCase();
if (r == "input")
e.disabled = !0,
n.trigger.filter("button").each(function() {
this.disabled = !0
}).end().filter("img").css({
opacity: "0.5",
cursor: "default"
});
else if (r == "div" || r == "span") {
var i = t.children("." + this._inlineClass);
i.children().addClass("ui-state-disabled"),
i.find("select.ui-datepicker-month, select.ui-datepicker-year").prop("disabled", !0)
}
this._disabledInputs = $.map(this._disabledInputs, function(t) {
return t == e ? null : t
}),
this._disabledInputs[this._disabledInputs.length] = e
},
_isDisabledDatepicker: function(e) {
if (!e)
return !1;
for (var t = 0; t < this._disabledInputs.length; t++)
if (this._disabledInputs[t] == e)
return !0;
return !1
},
_getInst: function(e) {
try {
return $.data(e, PROP_NAME)
} catch (t) {
throw "Missing instance data for this datepicker"
}
},
_optionDatepicker: function(e, t, n) {
var r = this._getInst(e);
if (arguments.length == 2 && typeof t == "string")
return t == "defaults" ? $.extend({}, $.datepicker._defaults) : r ? t == "all" ? $.extend({}, r.settings) : this._get(r, t) : null;
var i = t || {};
typeof t == "string" && (i = {},
i[t] = n);
if (r) {
this._curInst == r && this._hideDatepicker();
var s = this._getDateDatepicker(e, !0)
, o = this._getMinMaxDate(r, "min")
, u = this._getMinMaxDate(r, "max");
extendRemove(r.settings, i),
o !== null && i.dateFormat !== undefined && i.minDate === undefined && (r.settings.minDate = this._formatDate(r, o)),
u !== null && i.dateFormat !== undefined && i.maxDate === undefined && (r.settings.maxDate = this._formatDate(r, u)),
this._attachments($(e), r),
this._autoSize(r),
this._setDate(r, s),
this._updateAlternate(r),
this._updateDatepicker(r)
}
},
_changeDatepicker: function(e, t, n) {
this._optionDatepicker(e, t, n)
},
_refreshDatepicker: function(e) {
var t = this._getInst(e);
t && this._updateDatepicker(t)
},
_setDateDatepicker: function(e, t) {
var n = this._getInst(e);
n && (this._setDate(n, t),
this._updateDatepicker(n),
this._updateAlternate(n))
},
_getDateDatepicker: function(e, t) {
var n = this._getInst(e);
return n && !n.inline && this._setDateFromField(n, t),
n ? this._getDate(n) : null
},
_doKeyDown: function(e) {
var t = $.datepicker._getInst(e.target)
, n = !0
, r = t.dpDiv.is(".ui-datepicker-rtl");
t._keyEvent = !0;
if ($.datepicker._datepickerShowing)
switch (e.keyCode) {
case 9:
$.datepicker._hideDatepicker(),
n = !1;
break;
case 13:
var i = $("td." + $.datepicker._dayOverClass + ":not(." + $.datepicker._currentClass + ")", t.dpDiv);
i[0] && $.datepicker._selectDay(e.target, t.selectedMonth, t.selectedYear, i[0]);
var s = $.datepicker._get(t, "onSelect");
if (s) {
var o = $.datepicker._formatDate(t);
s.apply(t.input ? t.input[0] : null, [o, t])
} else
$.datepicker._hideDatepicker();
return !1;
case 27:
$.datepicker._hideDatepicker();
break;
case 33:
$.datepicker._adjustDate(e.target, e.ctrlKey ? -$.datepicker._get(t, "stepBigMonths") : -$.datepicker._get(t, "stepMonths"), "M");
break;
case 34:
$.datepicker._adjustDate(e.target, e.ctrlKey ? +$.datepicker._get(t, "stepBigMonths") : +$.datepicker._get(t, "stepMonths"), "M");
break;
case 35:
(e.ctrlKey || e.metaKey) && $.datepicker._clearDate(e.target),
n = e.ctrlKey || e.metaKey;
break;
case 36:
(e.ctrlKey || e.metaKey) && $.datepicker._gotoToday(e.target),
n = e.ctrlKey || e.metaKey;
break;
case 37:
(e.ctrlKey || e.metaKey) && $.datepicker._adjustDate(e.target, r ? 1 : -1, "D"),
n = e.ctrlKey || e.metaKey,
e.originalEvent.altKey && $.datepicker._adjustDate(e.target, e.ctrlKey ? -$.datepicker._get(t, "stepBigMonths") : -$.datepicker._get(t, "stepMonths"), "M");
break;
case 38:
(e.ctrlKey || e.metaKey) && $.datepicker._adjustDate(e.target, -7, "D"),
n = e.ctrlKey || e.metaKey;
break;
case 39:
(e.ctrlKey || e.metaKey) && $.datepicker._adjustDate(e.target, r ? -1 : 1, "D"),
n = e.ctrlKey || e.metaKey,
e.originalEvent.altKey && $.datepicker._adjustDate(e.target, e.ctrlKey ? +$.datepicker._get(t, "stepBigMonths") : +$.datepicker._get(t, "stepMonths"), "M");
break;
case 40:
(e.ctrlKey || e.metaKey) && $.datepicker._adjustDate(e.target, 7, "D"),
n = e.ctrlKey || e.metaKey;
break;
default:
n = !1
}
else
e.keyCode == 36 && e.ctrlKey ? $.datepicker._showDatepicker(this) : n = !1;
n && (e.preventDefault(),
e.stopPropagation())
},
_doKeyPress: function(e) {
var t = $.datepicker._getInst(e.target);
if ($.datepicker._get(t, "constrainInput")) {
var n = $.datepicker._possibleChars($.datepicker._get(t, "dateFormat"))
, r = String.fromCharCode(e.charCode == undefined ? e.keyCode : e.charCode);
return e.ctrlKey || e.metaKey || r < " " || !n || n.indexOf(r) > -1
}
},
_doKeyUp: function(e) {
var t = $.datepicker._getInst(e.target);
if (t.input.val() != t.lastVal)
try {
var n = $.datepicker.parseDate($.datepicker._get(t, "dateFormat"), t.input ? t.input.val() : null, $.datepicker._getFormatConfig(t));
n && ($.datepicker._setDateFromField(t),
$.datepicker._updateAlternate(t),
$.datepicker._updateDatepicker(t))
} catch (r) {
$.datepicker.log(r)
}
return !0
},
_showDatepicker: function(e) {
e = e.target || e,
e.nodeName.toLowerCase() != "input" && (e = $("input", e.parentNode)[0]);
if ($.datepicker._isDisabledDatepicker(e) || $.datepicker._lastInput == e)
return;
var t = $.datepicker._getInst(e);
$.datepicker._curInst && $.datepicker._curInst != t && ($.datepicker._curInst.dpDiv.stop(!0, !0),
t && $.datepicker._datepickerShowing && $.datepicker._hideDatepicker($.datepicker._curInst.input[0]));
var n = $.datepicker._get(t, "beforeShow")
, r = n ? n.apply(e, [e, t]) : {};
if (r === !1)
return;
extendRemove(t.settings, r),
t.lastVal = null,
$.datepicker._lastInput = e,
$.datepicker._setDateFromField(t),
$.datepicker._inDialog && (e.value = ""),
$.datepicker._pos || ($.datepicker._pos = $.datepicker._findPos(e),
$.datepicker._pos[1] += e.offsetHeight);
var i = !1;
$(e).parents().each(function() {
return i |= $(this).css("position") == "fixed",
!i
});
var s = {
left: $.datepicker._pos[0],
top: $.datepicker._pos[1]
};
$.datepicker._pos = null,
t.dpDiv.empty(),
t.dpDiv.css({
position: "absolute",
display: "block",
top: "-1000px"
}),
$.datepicker._updateDatepicker(t),
s = $.datepicker._checkOffset(t, s, i),
t.dpDiv.css({
position: $.datepicker._inDialog && $.blockUI ? "static" : i ? "fixed" : "absolute",
display: "none",
left: s.left + "px",
top: s.top + "px"
});
if (!t.inline) {
var o = $.datepicker._get(t, "showAnim")
, u = $.datepicker._get(t, "duration")
, a = function() {
var e = t.dpDiv.find("iframe.ui-datepicker-cover");
if (!!e.length) {
var n = $.datepicker._getBorders(t.dpDiv);
e.css({
left: -n[0],
top: -n[1],
width: t.dpDiv.outerWidth(),
height: t.dpDiv.outerHeight()
})
}
};
t.dpDiv.zIndex($(e).zIndex() + 1),
$.datepicker._datepickerShowing = !0,
$.effects && ($.effects.effect[o] || $.effects[o]) ? t.dpDiv.show(o, $.datepicker._get(t, "showOptions"), u, a) : t.dpDiv[o || "show"](o ? u : null, a),
(!o || !u) && a(),
t.input.is(":visible") && !t.input.is(":disabled") && t.input.focus(),
$.datepicker._curInst = t
}
},
_updateDatepicker: function(e) {
this.maxRows = 4;
var t = $.datepicker._getBorders(e.dpDiv);
instActive = e,
e.dpDiv.empty().append(this._generateHTML(e)),
this._attachHandlers(e);
var n = e.dpDiv.find("iframe.ui-datepicker-cover");
!n.length || n.css({
left: -t[0],
top: -t[1],
width: e.dpDiv.outerWidth(),
height: e.dpDiv.outerHeight()
}),
e.dpDiv.find("." + this._dayOverClass + " a").mouseover();
var r = this._getNumberOfMonths(e)
, i = r[1]
, s = 17;
e.dpDiv.removeClass("ui-datepicker-multi-2 ui-datepicker-multi-3 ui-datepicker-multi-4").width(""),
i > 1 && e.dpDiv.addClass("ui-datepicker-multi-" + i).css("width", s * i + "em"),
e.dpDiv[(r[0] != 1 || r[1] != 1 ? "add" : "remove") + "Class"]("ui-datepicker-multi"),
e.dpDiv[(this._get(e, "isRTL") ? "add" : "remove") + "Class"]("ui-datepicker-rtl"),
e == $.datepicker._curInst && $.datepicker._datepickerShowing && e.input && e.input.is(":visible") && !e.input.is(":disabled") && e.input[0] != document.activeElement && e.input.focus();
if (e.yearshtml) {
var o = e.yearshtml;
setTimeout(function() {
o === e.yearshtml && e.yearshtml && e.dpDiv.find("select.ui-datepicker-year:first").replaceWith(e.yearshtml),
o = e.yearshtml = null
}, 0)
}
},
_getBorders: function(e) {
var t = function(e) {
return {
thin: 1,
medium: 2,
thick: 3
}[e] || e
};
return [parseFloat(t(e.css("border-left-width"))), parseFloat(t(e.css("border-top-width")))]
},
_checkOffset: function(e, t, n) {
var r = e.dpDiv.outerWidth()
, i = e.dpDiv.outerHeight()
, s = e.input ? e.input.outerWidth() : 0
, o = e.input ? e.input.outerHeight() : 0
, u = document.documentElement.clientWidth + (n ? 0 : $(document).scrollLeft())
, a = document.documentElement.clientHeight + (n ? 0 : $(document).scrollTop());
return t.left -= this._get(e, "isRTL") ? r - s : 0,
t.left -= n && t.left == e.input.offset().left ? $(document).scrollLeft() : 0,
t.top -= n && t.top == e.input.offset().top + o ? $(document).scrollTop() : 0,
t.left -= Math.min(t.left, t.left + r > u && u > r ? Math.abs(t.left + r - u) : 0),
t.top -= Math.min(t.top, t.top + i > a && a > i ? Math.abs(i + o) : 0),
t
},
_findPos: function(e) {
var t = this._getInst(e)
, n = this._get(t, "isRTL");
while (e && (e.type == "hidden" || e.nodeType != 1 || $.expr.filters.hidden(e)))
e = e[n ? "previousSibling" : "nextSibling"];
var r = $(e).offset();
return [r.left, r.top]
},
_hideDatepicker: function(e) {
var t = this._curInst;
if (!t || e && t != $.data(e, PROP_NAME))
return;
if (this._datepickerShowing) {
var n = this._get(t, "showAnim")
, r = this._get(t, "duration")
, i = function() {
$.datepicker._tidyDialog(t)
};
$.effects && ($.effects.effect[n] || $.effects[n]) ? t.dpDiv.hide(n, $.datepicker._get(t, "showOptions"), r, i) : t.dpDiv[n == "slideDown" ? "slideUp" : n == "fadeIn" ? "fadeOut" : "hide"](n ? r : null, i),
n || i(),
this._datepickerShowing = !1;
var s = this._get(t, "onClose");
s && s.apply(t.input ? t.input[0] : null, [t.input ? t.input.val() : "", t]),
this._lastInput = null,
this._inDialog && (this._dialogInput.css({
position: "absolute",
left: "0",
top: "-100px"
}),
$.blockUI && ($.unblockUI(),
$("body").append(this.dpDiv))),
this._inDialog = !1
}
},
_tidyDialog: function(e) {
e.dpDiv.removeClass(this._dialogClass).unbind(".ui-datepicker-calendar")
},
_checkExternalClick: function(e) {
if (!$.datepicker._curInst)
return;
var t = $(e.target)
, n = $.datepicker._getInst(t[0]);
(t[0].id != $.datepicker._mainDivId && t.parents("#" + $.datepicker._mainDivId).length == 0 && !t.hasClass($.datepicker.markerClassName) && !t.closest("." + $.datepicker._triggerClass).length && $.datepicker._datepickerShowing && (!$.datepicker._inDialog || !$.blockUI) || t.hasClass($.datepicker.markerClassName) && $.datepicker._curInst != n) && $.datepicker._hideDatepicker()
},
_adjustDate: function(e, t, n) {
var r = $(e)
, i = this._getInst(r[0]);
if (this._isDisabledDatepicker(r[0]))
return;
this._adjustInstDate(i, t + (n == "M" ? this._get(i, "showCurrentAtPos") : 0), n),
this._updateDatepicker(i)
},
_gotoToday: function(e) {
var t = $(e)
, n = this._getInst(t[0]);
if (this._get(n, "gotoCurrent") && n.currentDay)
n.selectedDay = n.currentDay,
n.drawMonth = n.selectedMonth = n.currentMonth,
n.drawYear = n.selectedYear = n.currentYear;
else {
var r = new Date;
n.selectedDay = r.getDate(),
n.drawMonth = n.selectedMonth = r.getMonth(),
n.drawYear = n.selectedYear = r.getFullYear()
}
this._notifyChange(n),
this._adjustDate(t)
},
_selectMonthYear: function(e, t, n) {
var r = $(e)
, i = this._getInst(r[0]);
i["selected" + (n == "M" ? "Month" : "Year")] = i["draw" + (n == "M" ? "Month" : "Year")] = parseInt(t.options[t.selectedIndex].value, 10),
this._notifyChange(i),
this._adjustDate(r)
},
_selectDay: function(e, t, n, r) {
var i = $(e);
if ($(r).hasClass(this._unselectableClass) || this._isDisabledDatepicker(i[0]))
return;
var s = this._getInst(i[0]);
s.selectedDay = s.currentDay = $("a", r).html(),
s.selectedMonth = s.currentMonth = t,
s.selectedYear = s.currentYear = n,
this._selectDate(e, this._formatDate(s, s.currentDay, s.currentMonth, s.currentYear))
},
_clearDate: function(e) {
var t = $(e)
, n = this._getInst(t[0]);
this._selectDate(t, "")
},
_selectDate: function(e, t) {
var n = $(e)
, r = this._getInst(n[0]);
t = t != null ? t : this._formatDate(r),
r.input && r.input.val(t),
this._updateAlternate(r);
var i = this._get(r, "onSelect");
i ? i.apply(r.input ? r.input[0] : null, [t, r]) : r.input && r.input.trigger("change"),
r.inline ? this._updateDatepicker(r) : (this._hideDatepicker(),
this._lastInput = r.input[0],
typeof r.input[0] != "object" && r.input.focus(),
this._lastInput = null)
},
_updateAlternate: function(e) {
var t = this._get(e, "altField");
if (t) {
var n = this._get(e, "altFormat") || this._get(e, "dateFormat")
, r = this._getDate(e)
, i = this.formatDate(n, r, this._getFormatConfig(e));
$(t).each(function() {
$(this).val(i)
})
}
},
noWeekends: function(e) {
var t = e.getDay();
return [t > 0 && t < 6, ""]
},
iso8601Week: function(e) {
var t = new Date(e.getTime());
t.setDate(t.getDate() + 4 - (t.getDay() || 7));
var n = t.getTime();
return t.setMonth(0),
t.setDate(1),
Math.floor(Math.round((n - t) / 864e5) / 7) + 1
},
parseDate: function(e, t, n) {
if (e == null || t == null)
throw "Invalid arguments";
t = typeof t == "object" ? t.toString() : t + "";
if (t == "")
return null;
var r = (n ? n.shortYearCutoff : null) || this._defaults.shortYearCutoff;
r = typeof r != "string" ? r : (new Date).getFullYear() % 100 + parseInt(r, 10);
var i = (n ? n.dayNamesShort : null) || this._defaults.dayNamesShort
, s = (n ? n.dayNames : null) || this._defaults.dayNames
, o = (n ? n.monthNamesShort : null) || this._defaults.monthNamesShort
, u = (n ? n.monthNames : null) || this._defaults.monthNames
, a = -1
, f = -1
, l = -1
, c = -1
, h = !1
, p = function(t) {
var n = y + 1 < e.length && e.charAt(y + 1) == t;
return n && y++,
n
}
, d = function(e) {
var n = p(e)
, r = e == "@" ? 14 : e == "!" ? 20 : e == "y" && n ? 4 : e == "o" ? 3 : 2
, i = new RegExp("^\\d{1," + r + "}")
, s = t.substring(g).match(i);
if (!s)
throw "Missing number at position " + g;
return g += s[0].length,
parseInt(s[0], 10)
}
, v = function(e, n, r) {
var i = $.map(p(e) ? r : n, function(e, t) {
return [[t, e]]
}).sort(function(e, t) {
return -(e[1].length - t[1].length)
})
, s = -1;
$.each(i, function(e, n) {
var r = n[1];
if (t.substr(g, r.length).toLowerCase() == r.toLowerCase())
return s = n[0],
g += r.length,
!1
});
if (s != -1)
return s + 1;
throw "Unknown name at position " + g
}
, m = function() {
if (t.charAt(g) != e.charAt(y))
throw "Unexpected literal at position " + g;
g++
}
, g = 0;
for (var y = 0; y < e.length; y++)
if (h)
e.charAt(y) == "'" && !p("'") ? h = !1 : m();
else
switch (e.charAt(y)) {
case "d":
l = d("d");
break;
case "D":
v("D", i, s);
break;
case "o":
c = d("o");
break;
case "m":
f = d("m");
break;
case "M":
f = v("M", o, u);
break;
case "y":
a = d("y");
break;
case "@":
var b = new Date(d("@"));
a = b.getFullYear(),
f = b.getMonth() + 1,
l = b.getDate();
break;
case "!":
var b = new Date((d("!") - this._ticksTo1970) / 1e4);
a = b.getFullYear(),
f = b.getMonth() + 1,
l = b.getDate();
break;
case "'":
p("'") ? m() : h = !0;
break;
default:
m()
}
if (g < t.length) {
var w = t.substr(g);
if (!/^\s+/.test(w))
throw "Extra/unparsed characters found in date: " + w
}
a == -1 ? a = (new Date).getFullYear() : a < 100 && (a += (new Date).getFullYear() - (new Date).getFullYear() % 100 + (a <= r ? 0 : -100));
if (c > -1) {
f = 1,
l = c;
do {
var E = this._getDaysInMonth(a, f - 1);
if (l <= E)
break;
f++,
l -= E
} while (!0)
}
var b = this._daylightSavingAdjust(new Date(a,f - 1,l));
if (b.getFullYear() != a || b.getMonth() + 1 != f || b.getDate() != l)
throw "Invalid date";
return b
},
ATOM: "yy-mm-dd",
COOKIE: "D, dd M yy",
ISO_8601: "yy-mm-dd",
RFC_822: "D, d M y",
RFC_850: "DD, dd-M-y",
RFC_1036: "D, d M y",
RFC_1123: "D, d M yy",
RFC_2822: "D, d M yy",
RSS: "D, d M y",
TICKS: "!",
TIMESTAMP: "@",
W3C: "yy-mm-dd",
_ticksTo1970: (718685 + Math.floor(492.5) - Math.floor(19.7) + Math.floor(4.925)) * 24 * 60 * 60 * 1e7,
formatDate: function(e, t, n) {
if (!t)
return "";
var r = (n ? n.dayNamesShort : null) || this._defaults.dayNamesShort
, i = (n ? n.dayNames : null) || this._defaults.dayNames
, s = (n ? n.monthNamesShort : null) || this._defaults.monthNamesShort
, o = (n ? n.monthNames : null) || this._defaults.monthNames
, u = function(t) {
var n = h + 1 < e.length && e.charAt(h + 1) == t;
return n && h++,
n
}
, a = function(e, t, n) {
var r = "" + t;
if (u(e))
while (r.length < n)
r = "0" + r;
return r
}
, f = function(e, t, n, r) {
return u(e) ? r[t] : n[t]
}
, l = ""
, c = !1;
if (t)
for (var h = 0; h < e.length; h++)
if (c)
e.charAt(h) == "'" && !u("'") ? c = !1 : l += e.charAt(h);
else
switch (e.charAt(h)) {
case "d":
l += a("d", t.getDate(), 2);
break;
case "D":
l += f("D", t.getDay(), r, i);
break;
case "o":
l += a("o", Math.round(((new Date(t.getFullYear(),t.getMonth(),t.getDate())).getTime() - (new Date(t.getFullYear(),0,0)).getTime()) / 864e5), 3);
break;
case "m":
l += a("m", t.getMonth() + 1, 2);
break;
case "M":
l += f("M", t.getMonth(), s, o);
break;
case "y":
l += u("y") ? t.getFullYear() : (t.getYear() % 100 < 10 ? "0" : "") + t.getYear() % 100;
break;
case "@":
l += t.getTime();
break;
case "!":
l += t.getTime() * 1e4 + this._ticksTo1970;
break;
case "'":
u("'") ? l += "'" : c = !0;
break;
default:
l += e.charAt(h)
}
return l
},
_possibleChars: function(e) {
var t = ""
, n = !1
, r = function(t) {
var n = i + 1 < e.length && e.charAt(i + 1) == t;
return n && i++,
n
};
for (var i = 0; i < e.length; i++)
if (n)
e.charAt(i) == "'" && !r("'") ? n = !1 : t += e.charAt(i);
else
switch (e.charAt(i)) {
case "d":
case "m":
case "y":
case "@":
t += "0123456789";
break;
case "D":
case "M":
return null;
case "'":
r("'") ? t += "'" : n = !0;
break;
default:
t += e.charAt(i)
}
return t
},
_get: function(e, t) {
return e.settings[t] !== undefined ? e.settings[t] : this._defaults[t]
},
_setDateFromField: function(e, t) {
if (e.input.val() == e.lastVal)
return;
var n = this._get(e, "dateFormat"), r = e.lastVal = e.input ? e.input.val() : null, i, s;
i = s = this._getDefaultDate(e);
var o = this._getFormatConfig(e);
try {
i = this.parseDate(n, r, o) || s
} catch (u) {
this.log(u),
r = t ? "" : r
}
e.selectedDay = i.getDate(),
e.drawMonth = e.selectedMonth = i.getMonth(),
e.drawYear = e.selectedYear = i.getFullYear(),
e.currentDay = r ? i.getDate() : 0,
e.currentMonth = r ? i.getMonth() : 0,
e.currentYear = r ? i.getFullYear() : 0,
this._adjustInstDate(e)
},
_getDefaultDate: function(e) {
return this._restrictMinMax(e, this._determineDate(e, this._get(e, "defaultDate"), new Date))
},
_determineDate: function(e, t, n) {
var r = function(e) {
var t = new Date;
return t.setDate(t.getDate() + e),
t
}
, i = function(t) {
try {
return $.datepicker.parseDate($.datepicker._get(e, "dateFormat"), t, $.datepicker._getFormatConfig(e))
} catch (n) {}
var r = (t.toLowerCase().match(/^c/) ? $.datepicker._getDate(e) : null) || new Date
, i = r.getFullYear()
, s = r.getMonth()
, o = r.getDate()
, u = /([+-]?[0-9]+)\s*(d|D|w|W|m|M|y|Y)?/g
, a = u.exec(t);
while (a) {
switch (a[2] || "d") {
case "d":
case "D":
o += parseInt(a[1], 10);
break;
case "w":
case "W":
o += parseInt(a[1], 10) * 7;
break;
case "m":
case "M":
s += parseInt(a[1], 10),
o = Math.min(o, $.datepicker._getDaysInMonth(i, s));
break;
case "y":
case "Y":
i += parseInt(a[1], 10),
o = Math.min(o, $.datepicker._getDaysInMonth(i, s))
}
a = u.exec(t)
}
return new Date(i,s,o)
}
, s = t == null || t === "" ? n : typeof t == "string" ? i(t) : typeof t == "number" ? isNaN(t) ? n : r(t) : new Date(t.getTime());
return s = s && s.toString() == "Invalid Date" ? n : s,
s && (s.setHours(0),
s.setMinutes(0),
s.setSeconds(0),
s.setMilliseconds(0)),
this._daylightSavingAdjust(s)
},
_daylightSavingAdjust: function(e) {
return e ? (e.setHours(e.getHours() > 12 ? e.getHours() + 2 : 0),
e) : null
},
_setDate: function(e, t, n) {
var r = !t
, i = e.selectedMonth
, s = e.selectedYear
, o = this._restrictMinMax(e, this._determineDate(e, t, new Date));
e.selectedDay = e.currentDay = o.getDate(),
e.drawMonth = e.selectedMonth = e.currentMonth = o.getMonth(),
e.drawYear = e.selectedYear = e.currentYear = o.getFullYear(),
(i != e.selectedMonth || s != e.selectedYear) && !n && this._notifyChange(e),
this._adjustInstDate(e),
e.input && e.input.val(r ? "" : this._formatDate(e))
},
_getDate: function(e) {
var t = !e.currentYear || e.input && e.input.val() == "" ? null : this._daylightSavingAdjust(new Date(e.currentYear,e.currentMonth,e.currentDay));
return t
},
_attachHandlers: function(e) {
var t = this._get(e, "stepMonths")
, n = "#" + e.id.replace(/\\\\/g, "\\");
e.dpDiv.find("[data-handler]").map(function() {
var e = {
prev: function() {
window["DP_jQuery_" + dpuuid].datepicker._adjustDate(n, -t, "M")
},
next: function() {
window["DP_jQuery_" + dpuuid].datepicker._adjustDate(n, +t, "M")
},
hide: function() {
window["DP_jQuery_" + dpuuid].datepicker._hideDatepicker()
},
today: function() {
window["DP_jQuery_" + dpuuid].datepicker._gotoToday(n)
},
selectDay: function() {
return window["DP_jQuery_" + dpuuid].datepicker._selectDay(n, +this.getAttribute("data-month"), +this.getAttribute("data-year"), this),
!1
},
selectMonth: function() {
return window["DP_jQuery_" + dpuuid].datepicker._selectMonthYear(n, this, "M"),
!1
},
selectYear: function() {
return window["DP_jQuery_" + dpuuid].datepicker._selectMonthYear(n, this, "Y"),
!1
}
};
$(this).bind(this.getAttribute("data-event"), e[this.getAttribute("data-handler")])
})
},
_generateHTML: function(e) {
var t = new Date;
t = this._daylightSavingAdjust(new Date(t.getFullYear(),t.getMonth(),t.getDate()));
var n = this._get(e, "isRTL")
, r = this._get(e, "showButtonPanel")
, i = this._get(e, "hideIfNoPrevNext")
, s = this._get(e, "navigationAsDateFormat")
, o = this._getNumberOfMonths(e)
, u = this._get(e, "showCurrentAtPos")
, a = this._get(e, "stepMonths")
, f = o[0] != 1 || o[1] != 1
, l = this._daylightSavingAdjust(e.currentDay ? new Date(e.currentYear,e.currentMonth,e.currentDay) : new Date(9999,9,9))
, c = this._getMinMaxDate(e, "min")
, h = this._getMinMaxDate(e, "max")
, p = e.drawMonth - u
, d = e.drawYear;
p < 0 && (p += 12,
d--);
if (h) {
var v = this._daylightSavingAdjust(new Date(h.getFullYear(),h.getMonth() - o[0] * o[1] + 1,h.getDate()));
v = c && v < c ? c : v;
while (this._daylightSavingAdjust(new Date(d,p,1)) > v)
p--,
p < 0 && (p = 11,
d--)
}
e.drawMonth = p,
e.drawYear = d;
var m = this._get(e, "prevText");
m = s ? this.formatDate(m, this._daylightSavingAdjust(new Date(d,p - a,1)), this._getFormatConfig(e)) : m;
var g = this._canAdjustMonth(e, -1, d, p) ? '<a class="ui-datepicker-prev ui-corner-all" data-handler="prev" data-event="click" title="' + m + '"><span class="ui-icon ui-icon-circle-triangle-' + (n ? "e" : "w") + '">' + m + "</span></a>" : i ? "" : '<a class="ui-datepicker-prev ui-corner-all ui-state-disabled" title="' + m + '"><span class="ui-icon ui-icon-circle-triangle-' + (n ? "e" : "w") + '">' + m + "</span></a>"
, y = this._get(e, "nextText");
y = s ? this.formatDate(y, this._daylightSavingAdjust(new Date(d,p + a,1)), this._getFormatConfig(e)) : y;
var b = this._canAdjustMonth(e, 1, d, p) ? '<a class="ui-datepicker-next ui-corner-all" data-handler="next" data-event="click" title="' + y + '"><span class="ui-icon ui-icon-circle-triangle-' + (n ? "w" : "e") + '">' + y + "</span></a>" : i ? "" : '<a class="ui-datepicker-next ui-corner-all ui-state-disabled" title="' + y + '"><span class="ui-icon ui-icon-circle-triangle-' + (n ? "w" : "e") + '">' + y + "</span></a>"
, w = this._get(e, "currentText")
, E = this._get(e, "gotoCurrent") && e.currentDay ? l : t;
w = s ? this.formatDate(w, E, this._getFormatConfig(e)) : w;
var S = e.inline ? "" : '<button type="button" class="ui-datepicker-close ui-state-default ui-priority-primary ui-corner-all" data-handler="hide" data-event="click">' + this._get(e, "closeText") + "</button>"
, x = r ? '<div class="ui-datepicker-buttonpane ui-widget-content">' + (n ? S : "") + (this._isInRange(e, E) ? '<button type="button" class="ui-datepicker-current ui-state-default ui-priority-secondary ui-corner-all" data-handler="today" data-event="click">' + w + "</button>" : "") + (n ? "" : S) + "</div>" : ""
, T = parseInt(this._get(e, "firstDay"), 10);
T = isNaN(T) ? 0 : T;
var N = this._get(e, "showWeek")
, C = this._get(e, "dayNames")
, k = this._get(e, "dayNamesShort")
, L = this._get(e, "dayNamesMin")
, A = this._get(e, "monthNames")
, O = this._get(e, "monthNamesShort")
, M = this._get(e, "beforeShowDay")
, _ = this._get(e, "showOtherMonths")
, D = this._get(e, "selectOtherMonths")
, P = this._get(e, "calculateWeek") || this.iso8601Week
, H = this._getDefaultDate(e)
, B = "";
for (var j = 0; j < o[0]; j++) {
var F = "";
this.maxRows = 4;
for (var I = 0; I < o[1]; I++) {
var q = this._daylightSavingAdjust(new Date(d,p,e.selectedDay))
, R = " ui-corner-all"
, U = "";
if (f) {
U += '<div class="ui-datepicker-group';
if (o[1] > 1)
switch (I) {
case 0:
U += " ui-datepicker-group-first",
R = " ui-corner-" + (n ? "right" : "left");
break;
case o[1] - 1:
U += " ui-datepicker-group-last",
R = " ui-corner-" + (n ? "left" : "right");
break;
default:
U += " ui-datepicker-group-middle",
R = ""
}
U += '">'
}
U += '<div class="ui-datepicker-header ui-widget-header ui-helper-clearfix' + R + '">' + (/all|left/.test(R) && j == 0 ? n ? b : g : "") + (/all|right/.test(R) && j == 0 ? n ? g : b : "") + this._generateMonthYearHeader(e, p, d, c, h, j > 0 || I > 0, A, O) + '</div><table class="ui-datepicker-calendar"><thead>' + "<tr>";
var z = N ? '<th class="ui-datepicker-week-col">' + this._get(e, "weekHeader") + "</th>" : "";
for (var W = 0; W < 7; W++) {
var X = (W + T) % 7;
z += "<th" + ((W + T + 6) % 7 >= 5 ? ' class="ui-datepicker-week-end"' : "") + ">" + '<span title="' + C[X] + '">' + L[X] + "</span></th>"
}
U += z + "</tr></thead><tbody>";
var V = this._getDaysInMonth(d, p);
d == e.selectedYear && p == e.selectedMonth && (e.selectedDay = Math.min(e.selectedDay, V));
var J = (this._getFirstDayOfMonth(d, p) - T + 7) % 7
, K = Math.ceil((J + V) / 7)
, Q = f ? this.maxRows > K ? this.maxRows : K : K;
this.maxRows = Q;
var G = this._daylightSavingAdjust(new Date(d,p,1 - J));
for (var Y = 0; Y < Q; Y++) {
U += "<tr>";
var Z = N ? '<td class="ui-datepicker-week-col">' + this._get(e, "calculateWeek")(G) + "</td>" : "";
for (var W = 0; W < 7; W++) {
var et = M ? M.apply(e.input ? e.input[0] : null, [G]) : [!0, ""]
, tt = G.getMonth() != p
, nt = tt && !D || !et[0] || c && G < c || h && G > h;
Z += '<td class="' + ((W + T + 6) % 7 >= 5 ? " ui-datepicker-week-end" : "") + (tt ? " ui-datepicker-other-month" : "") + (G.getTime() == q.getTime() && p == e.selectedMonth && e._keyEvent || H.getTime() == G.getTime() && H.getTime() == q.getTime() ? " " + this._dayOverClass : "") + (nt ? " " + this._unselectableClass + " ui-state-disabled" : "") + (tt && !_ ? "" : " " + et[1] + (G.getTime() == l.getTime() ? " " + this._currentClass : "") + (G.getTime() == t.getTime() ? " ui-datepicker-today" : "")) + '"' + ((!tt || _) && et[2] ? ' title="' + et[2] + '"' : "") + (nt ? "" : ' data-handler="selectDay" data-event="click" data-month="' + G.getMonth() + '" data-year="' + G.getFullYear() + '"') + ">" + (tt && !_ ? "&#xa0;" : nt ? '<span class="ui-state-default">' + G.getDate() + "</span>" : '<a class="ui-state-default' + (G.getTime() == t.getTime() ? " ui-state-highlight" : "") + (G.getTime() == l.getTime() ? " ui-state-active" : "") + (tt ? " ui-priority-secondary" : "") + '" href="#">' + G.getDate() + "</a>") + "</td>",
G.setDate(G.getDate() + 1),
G = this._daylightSavingAdjust(G)
}
U += Z + "</tr>"
}
p++,
p > 11 && (p = 0,
d++),
U += "</tbody></table>" + (f ? "</div>" + (o[0] > 0 && I == o[1] - 1 ? '<div class="ui-datepicker-row-break"></div>' : "") : ""),
F += U
}
B += F
}
return B += x + ($.ui.ie6 && !e.inline ? '<iframe src="javascript:false;" class="ui-datepicker-cover" frameborder="0"></iframe>' : ""),
e._keyEvent = !1,
B
},
_generateMonthYearHeader: function(e, t, n, r, i, s, o, u) {
var a = this._get(e, "changeMonth")
, f = this._get(e, "changeYear")
, l = this._get(e, "showMonthAfterYear")
, c = '<div class="ui-datepicker-title">'
, h = "";
if (s || !a)
h += '<span class="ui-datepicker-month">' + o[t] + "</span>";
else {
var p = r && r.getFullYear() == n
, d = i && i.getFullYear() == n;
h += '<select class="ui-datepicker-month" data-handler="selectMonth" data-event="change">';
for (var v = 0; v < 12; v++)
(!p || v >= r.getMonth()) && (!d || v <= i.getMonth()) && (h += '<option value="' + v + '"' + (v == t ? ' selected="selected"' : "") + ">" + u[v] + "</option>");
h += "</select>"
}
l || (c += h + (s || !a || !f ? "&#xa0;" : ""));
if (!e.yearshtml) {
e.yearshtml = "";
if (s || !f)
c += '<span class="ui-datepicker-year">' + n + "</span>";
else {
var m = this._get(e, "yearRange").split(":")
, g = (new Date).getFullYear()
, y = function(e) {
var t = e.match(/c[+-].*/) ? n + parseInt(e.substring(1), 10) : e.match(/[+-].*/) ? g + parseInt(e, 10) : parseInt(e, 10);
return isNaN(t) ? g : t
}
, b = y(m[0])
, w = Math.max(b, y(m[1] || ""));
b = r ? Math.max(b, r.getFullYear()) : b,
w = i ? Math.min(w, i.getFullYear()) : w,
e.yearshtml += '<select class="ui-datepicker-year" data-handler="selectYear" data-event="change">';
for (; b <= w; b++)
e.yearshtml += '<option value="' + b + '"' + (b == n ? ' selected="selected"' : "") + ">" + b + "</option>";
e.yearshtml += "</select>",
c += e.yearshtml,
e.yearshtml = null
}
}
return c += this._get(e, "yearSuffix"),
l && (c += (s || !a || !f ? "&#xa0;" : "") + h),
c += "</div>",
c
},
_adjustInstDate: function(e, t, n) {
var r = e.drawYear + (n == "Y" ? t : 0)
, i = e.drawMonth + (n == "M" ? t : 0)
, s = Math.min(e.selectedDay, this._getDaysInMonth(r, i)) + (n == "D" ? t : 0)
, o = this._restrictMinMax(e, this._daylightSavingAdjust(new Date(r,i,s)));
e.selectedDay = o.getDate(),
e.drawMonth = e.selectedMonth = o.getMonth(),
e.drawYear = e.selectedYear = o.getFullYear(),
(n == "M" || n == "Y") && this._notifyChange(e)
},
_restrictMinMax: function(e, t) {
var n = this._getMinMaxDate(e, "min")
, r = this._getMinMaxDate(e, "max")
, i = n && t < n ? n : t;
return i = r && i > r ? r : i,
i
},
_notifyChange: function(e) {
var t = this._get(e, "onChangeMonthYear");
t && t.apply(e.input ? e.input[0] : null, [e.selectedYear, e.selectedMonth + 1, e])
},
_getNumberOfMonths: function(e) {
var t = this._get(e, "numberOfMonths");
return t == null ? [1, 1] : typeof t == "number" ? [1, t] : t
},
_getMinMaxDate: function(e, t) {
return this._determineDate(e, this._get(e, t + "Date"), null)
},
_getDaysInMonth: function(e, t) {
return 32 - this._daylightSavingAdjust(new Date(e,t,32)).getDate()
},
_getFirstDayOfMonth: function(e, t) {
return (new Date(e,t,1)).getDay()
},
_canAdjustMonth: function(e, t, n, r) {
var i = this._getNumberOfMonths(e)
, s = this._daylightSavingAdjust(new Date(n,r + (t < 0 ? t : i[0] * i[1]),1));
return t < 0 && s.setDate(this._getDaysInMonth(s.getFullYear(), s.getMonth())),
this._isInRange(e, s)
},
_isInRange: function(e, t) {
var n = this._getMinMaxDate(e, "min")
, r = this._getMinMaxDate(e, "max");
return (!n || t.getTime() >= n.getTime()) && (!r || t.getTime() <= r.getTime())
},
_getFormatConfig: function(e) {
var t = this._get(e, "shortYearCutoff");
return t = typeof t != "string" ? t : (new Date).getFullYear() % 100 + parseInt(t, 10),
{
shortYearCutoff: t,
dayNamesShort: this._get(e, "dayNamesShort"),
dayNames: this._get(e, "dayNames"),
monthNamesShort: this._get(e, "monthNamesShort"),
monthNames: this._get(e, "monthNames")
}
},
_formatDate: function(e, t, n, r) {
t || (e.currentDay = e.selectedDay,
e.currentMonth = e.selectedMonth,
e.currentYear = e.selectedYear);
var i = t ? typeof t == "object" ? t : this._daylightSavingAdjust(new Date(r,n,t)) : this._daylightSavingAdjust(new Date(e.currentYear,e.currentMonth,e.currentDay));
return this.formatDate(this._get(e, "dateFormat"), i, this._getFormatConfig(e))
}
}),
$.fn.datepicker = function(e) {
if (!this.length)
return this;
$.datepicker.initialized || ($(document).mousedown($.datepicker._checkExternalClick).find(document.body).append($.datepicker.dpDiv),
$.datepicker.initialized = !0);
var t = Array.prototype.slice.call(arguments, 1);
return typeof e != "string" || e != "isDisabled" && e != "getDate" && e != "widget" ? e == "option" && arguments.length == 2 && typeof arguments[1] == "string" ? $.datepicker["_" + e + "Datepicker"].apply($.datepicker, [this[0]].concat(t)) : this.each(function() {
typeof e == "string" ? $.datepicker["_" + e + "Datepicker"].apply($.datepicker, [this].concat(t)) : $.datepicker._attachDatepicker(this, e)
}) : $.datepicker["_" + e + "Datepicker"].apply($.datepicker, [this[0]].concat(t))
}
,
$.datepicker = new Datepicker,
$.datepicker.initialized = !1,
$.datepicker.uuid = (new Date).getTime(),
$.datepicker.version = "1.9.1",
window["DP_jQuery_" + dpuuid] = $
}(jQuery),
function(e, t) {
var n = "ui-dialog ui-widget ui-widget-content ui-corner-all "
, r = {
buttons: !0,
height: !0,
maxHeight: !0,
maxWidth: !0,
minHeight: !0,
minWidth: !0,
width: !0
}
, i = {
maxHeight: !0,
maxWidth: !0,
minHeight: !0,
minWidth: !0
};
e.widget("ui.dialog", {
version: "1.9.1",
options: {
autoOpen: !0,
buttons: {},
closeOnEscape: !0,
closeText: "close",
dialogClass: "",
draggable: !0,
hide: null,
height: "auto",
maxHeight: !1,
maxWidth: !1,
minHeight: 150,
minWidth: 150,
modal: !1,
position: {
my: "center",
at: "center",
of: window,
collision: "fit",
using: function(t) {
var n = e(this).css(t).offset().top;
n < 0 && e(this).css("top", t.top - n)
}
},
resizable: !0,
show: null,
stack: !0,
title: "",
width: 300,
zIndex: 1e3
},
_create: function() {
this.originalTitle = this.element.attr("title"),
typeof this.originalTitle != "string" && (this.originalTitle = ""),
this.oldPosition = {
parent: this.element.parent(),
index: this.element.parent().children().index(this.element)
},
this.options.title = this.options.title || this.originalTitle;
var t = this, r = this.options, i = r.title || "&#160;", s, o, u, a, f;
s = (this.uiDialog = e("<div>")).addClass(n + r.dialogClass).css({
display: "none",
outline: 0,
zIndex: r.zIndex
}).attr("tabIndex", -1).keydown(function(n) {
r.closeOnEscape && !n.isDefaultPrevented() && n.keyCode && n.keyCode === e.ui.keyCode.ESCAPE && (t.close(n),
n.preventDefault())
}).mousedown(function(e) {
t.moveToTop(!1, e)
}).appendTo("body"),
this.element.show().removeAttr("title").addClass("ui-dialog-content ui-widget-content").appendTo(s),
o = (this.uiDialogTitlebar = e("<div>")).addClass("ui-dialog-titlebar ui-widget-header ui-corner-all ui-helper-clearfix").bind("mousedown", function() {
s.focus()
}).prependTo(s),
u = e("<a href='#'></a>").addClass("ui-dialog-titlebar-close ui-corner-all").attr("role", "button").click(function(e) {
e.preventDefault(),
t.close(e)
}).appendTo(o),
(this.uiDialogTitlebarCloseText = e("<span>")).addClass("ui-icon ui-icon-closethick").text(r.closeText).appendTo(u),
a = e("<span>").uniqueId().addClass("ui-dialog-title").html(i).prependTo(o),
f = (this.uiDialogButtonPane = e("<div>")).addClass("ui-dialog-buttonpane ui-widget-content ui-helper-clearfix"),
(this.uiButtonSet = e("<div>")).addClass("ui-dialog-buttonset").appendTo(f),
s.attr({
role: "dialog",
"aria-labelledby": a.attr("id")
}),
o.find("*").add(o).disableSelection(),
this._hoverable(u),
this._focusable(u),
r.draggable && e.fn.draggable && this._makeDraggable(),
r.resizable && e.fn.resizable && this._makeResizable(),
this._createButtons(r.buttons),
this._isOpen = !1,
e.fn.bgiframe && s.bgiframe(),
this._on(s, {
keydown: function(t) {
if (!r.modal || t.keyCode !== e.ui.keyCode.TAB)
return;
var n = e(":tabbable", s)
, i = n.filter(":first")
, o = n.filter(":last");
if (t.target === o[0] && !t.shiftKey)
return i.focus(1),
!1;
if (t.target === i[0] && t.shiftKey)
return o.focus(1),
!1
}
})
},
_init: function() {
this.options.autoOpen && this.open()
},
_destroy: function() {
var e, t = this.oldPosition;
this.overlay && this.overlay.destroy(),
this.uiDialog.hide(),
this.element.removeClass("ui-dialog-content ui-widget-content").hide().appendTo("body"),
this.uiDialog.remove(),
this.originalTitle && this.element.attr("title", this.originalTitle),
e = t.parent.children().eq(t.index),
e.length && e[0] !== this.element[0] ? e.before(this.element) : t.parent.append(this.element)
},
widget: function() {
return this.uiDialog
},
close: function(t) {
var n = this, r, i;
if (!this._isOpen)
return;
if (!1 === this._trigger("beforeClose", t))
return;
return this._isOpen = !1,
this.overlay && this.overlay.destroy(),
this.options.hide ? this._hide(this.uiDialog, this.options.hide, function() {
n._trigger("close", t)
}) : (this.uiDialog.hide(),
this._trigger("close", t)),
e.ui.dialog.overlay.resize(),
this.options.modal && (r = 0,
e(".ui-dialog").each(function() {
this !== n.uiDialog[0] && (i = e(this).css("z-index"),
isNaN(i) || (r = Math.max(r, i)))
}),
e.ui.dialog.maxZ = r),
this
},
isOpen: function() {
return this._isOpen
},
moveToTop: function(t, n) {
var r = this.options, i;
return r.modal && !t || !r.stack && !r.modal ? this._trigger("focus", n) : (r.zIndex > e.ui.dialog.maxZ && (e.ui.dialog.maxZ = r.zIndex),
this.overlay && (e.ui.dialog.maxZ += 1,
e.ui.dialog.overlay.maxZ = e.ui.dialog.maxZ,
this.overlay.$el.css("z-index", e.ui.dialog.overlay.maxZ)),
i = {
scrollTop: this.element.scrollTop(),
scrollLeft: this.element.scrollLeft()
},
e.ui.dialog.maxZ += 1,
this.uiDialog.css("z-index", e.ui.dialog.maxZ),
this.element.attr(i),
this._trigger("focus", n),
this)
},
open: function() {
if (this._isOpen)
return;
var t, n = this.options, r = this.uiDialog;
return this._size(),
this._position(n.position),
r.show(n.show),
this.overlay = n.modal ? new e.ui.dialog.overlay(this) : null,
this.moveToTop(!0),
t = this.element.find(":tabbable"),
t.length || (t = this.uiDialogButtonPane.find(":tabbable"),
t.length || (t = r)),
t.eq(0).focus(),
this._isOpen = !0,
this._trigger("open"),
this
},
_createButtons: function(t) {
var n = this
, r = !1;
this.uiDialogButtonPane.remove(),
this.uiButtonSet.empty(),
typeof t == "object" && t !== null && e.each(t, function() {
return !(r = !0)
}),
r ? (e.each(t, function(t, r) {
r = e.isFunction(r) ? {
click: r,
text: t
} : r;
var i = e("<button type='button'></button>").attr(r, !0).unbind("click").click(function() {
r.click.apply(n.element[0], arguments)
}).appendTo(n.uiButtonSet);
e.fn.button && i.button()
}),
this.uiDialog.addClass("ui-dialog-buttons"),
this.uiDialogButtonPane.appendTo(this.uiDialog)) : this.uiDialog.removeClass("ui-dialog-buttons")
},
_makeDraggable: function() {
function r(e) {
return {
position: e.position,
offset: e.offset
}
}
var t = this
, n = this.options;
this.uiDialog.draggable({
cancel: ".ui-dialog-content, .ui-dialog-titlebar-close",
handle: ".ui-dialog-titlebar",
containment: "document",
start: function(n, i) {
e(this).addClass("ui-dialog-dragging"),
t._trigger("dragStart", n, r(i))
},
drag: function(e, n) {
t._trigger("drag", e, r(n))
},
stop: function(i, s) {
n.position = [s.position.left - t.document.scrollLeft(), s.position.top - t.document.scrollTop()],
e(this).removeClass("ui-dialog-dragging"),
t._trigger("dragStop", i, r(s)),
e.ui.dialog.overlay.resize()
}
})
},
_makeResizable: function(n) {
function u(e) {
return {
originalPosition: e.originalPosition,
originalSize: e.originalSize,
position: e.position,
size: e.size
}
}
n = n === t ? this.options.resizable : n;
var r = this
, i = this.options
, s = this.uiDialog.css("position")
, o = typeof n == "string" ? n : "n,e,s,w,se,sw,ne,nw";
this.uiDialog.resizable({
cancel: ".ui-dialog-content",
containment: "document",
alsoResize: this.element,
maxWidth: i.maxWidth,
maxHeight: i.maxHeight,
minWidth: i.minWidth,
minHeight: this._minHeight(),
handles: o,
start: function(t, n) {
e(this).addClass("ui-dialog-resizing"),
r._trigger("resizeStart", t, u(n))
},
resize: function(e, t) {
r._trigger("resize", e, u(t))
},
stop: function(t, n) {
e(this).removeClass("ui-dialog-resizing"),
i.height = e(this).height(),
i.width = e(this).width(),
r._trigger("resizeStop", t, u(n)),
e.ui.dialog.overlay.resize()
}
}).css("position", s).find(".ui-resizable-se").addClass("ui-icon ui-icon-grip-diagonal-se")
},
_minHeight: function() {
var e = this.options;
return e.height === "auto" ? e.minHeight : Math.min(e.minHeight, e.height)
},
_position: function(t) {
var n = [], r = [0, 0], i;
if (t) {
if (typeof t == "string" || typeof t == "object" && "0"in t)
n = t.split ? t.split(" ") : [t[0], t[1]],
n.length === 1 && (n[1] = n[0]),
e.each(["left", "top"], function(e, t) {
+n[e] === n[e] && (r[e] = n[e],
n[e] = t)
}),
t = {
my: n[0] + (r[0] < 0 ? r[0] : "+" + r[0]) + " " + n[1] + (r[1] < 0 ? r[1] : "+" + r[1]),
at: n.join(" ")
};
t = e.extend({}, e.ui.dialog.prototype.options.position, t)
} else
t = e.ui.dialog.prototype.options.position;
i = this.uiDialog.is(":visible"),
i || this.uiDialog.show(),
this.uiDialog.position(t),
i || this.uiDialog.hide()
},
_setOptions: function(t) {
var n = this
, s = {}
, o = !1;
e.each(t, function(e, t) {
n._setOption(e, t),
e in r && (o = !0),
e in i && (s[e] = t)
}),
o && this._size(),
this.uiDialog.is(":data(resizable)") && this.uiDialog.resizable("option", s)
},
_setOption: function(t, r) {
var i, s, o = this.uiDialog;
switch (t) {
case "buttons":
this._createButtons(r);
break;
case "closeText":
this.uiDialogTitlebarCloseText.text("" + r);
break;
case "dialogClass":
o.removeClass(this.options.dialogClass).addClass(n + r);
break;
case "disabled":
r ? o.addClass("ui-dialog-disabled") : o.removeClass("ui-dialog-disabled");
break;
case "draggable":
i = o.is(":data(draggable)"),
i && !r && o.draggable("destroy"),
!i && r && this._makeDraggable();
break;
case "position":
this._position(r);
break;
case "resizable":
s = o.is(":data(resizable)"),
s && !r && o.resizable("destroy"),
s && typeof r == "string" && o.resizable("option", "handles", r),
!s && r !== !1 && this._makeResizable(r);
break;
case "title":
e(".ui-dialog-title", this.uiDialogTitlebar).html("" + (r || "&#160;"))
}
this._super(t, r)
},
_size: function() {
var t, n, r, i = this.options, s = this.uiDialog.is(":visible");
this.element.show().css({
width: "auto",
minHeight: 0,
height: 0
}),
i.minWidth > i.width && (i.width = i.minWidth),
t = this.uiDialog.css({
height: "auto",
width: i.width
}).outerHeight(),
n = Math.max(0, i.minHeight - t),
i.height === "auto" ? e.support.minHeight ? this.element.css({
minHeight: n,
height: "auto"
}) : (this.uiDialog.show(),
r = this.element.css("height", "auto").height(),
s || this.uiDialog.hide(),
this.element.height(Math.max(r, n))) : this.element.height(Math.max(i.height - t, 0)),
this.uiDialog.is(":data(resizable)") && this.uiDialog.resizable("option", "minHeight", this._minHeight())
}
}),
e.extend(e.ui.dialog, {
uuid: 0,
maxZ: 0,
getTitleId: function(e) {
var t = e.attr("id");
return t || (this.uuid += 1,
t = this.uuid),
"ui-dialog-title-" + t
},
overlay: function(t) {
this.$el = e.ui.dialog.overlay.create(t)
}
}),
e.extend(e.ui.dialog.overlay, {
instances: [],
oldInstances: [],
maxZ: 0,
events: e.map("focus,mousedown,mouseup,keydown,keypress,click".split(","), function(e) {
return e + ".dialog-overlay"
}).join(" "),
create: function(t) {
this.instances.length === 0 && (setTimeout(function() {
e.ui.dialog.overlay.instances.length && e(document).bind(e.ui.dialog.overlay.events, function(t) {
if (e(t.target).zIndex() < e.ui.dialog.overlay.maxZ)
return !1
})
}, 1),
e(window).bind("resize.dialog-overlay", e.ui.dialog.overlay.resize));
var n = this.oldInstances.pop() || e("<div>").addClass("ui-widget-overlay");
return e(document).bind("keydown.dialog-overlay", function(r) {
var i = e.ui.dialog.overlay.instances;
i.length !== 0 && i[i.length - 1] === n && t.options.closeOnEscape && !r.isDefaultPrevented() && r.keyCode && r.keyCode === e.ui.keyCode.ESCAPE && (t.close(r),
r.preventDefault())
}),
n.appendTo(document.body).css({
width: this.width(),
height: this.height()
}),
e.fn.bgiframe && n.bgiframe(),
this.instances.push(n),
n
},
destroy: function(t) {
var n = e.inArray(t, this.instances)
, r = 0;
n !== -1 && this.oldInstances.push(this.instances.splice(n, 1)[0]),
this.instances.length === 0 && e([document, window]).unbind(".dialog-overlay"),
t.height(0).width(0).remove(),
e.each(this.instances, function() {
r = Math.max(r, this.css("z-index"))
}),
this.maxZ = r
},
height: function() {
var t, n;
return e.ui.ie ? (t = Math.max(document.documentElement.scrollHeight, document.body.scrollHeight),
n = Math.max(document.documentElement.offsetHeight, document.body.offsetHeight),
t < n ? e(window).height() + "px" : t + "px") : e(document).height() + "px"
},
width: function() {
var t, n;
return e.ui.ie ? (t = Math.max(document.documentElement.scrollWidth, document.body.scrollWidth),
n = Math.max(document.documentElement.offsetWidth, document.body.offsetWidth),
t < n ? e(window).width() + "px" : t + "px") : e(document).width() + "px"
},
resize: function() {
var t = e([]);
e.each(e.ui.dialog.overlay.instances, function() {
t = t.add(this)
}),
t.css({
width: 0,
height: 0
}).css({
width: e.ui.dialog.overlay.width(),
height: e.ui.dialog.overlay.height()
})
}
}),
e.extend(e.ui.dialog.overlay.prototype, {
destroy: function() {
e.ui.dialog.overlay.destroy(this.$el)
}
})
}(jQuery),
function(e, t) {
var n = /up|down|vertical/
, r = /up|left|vertical|horizontal/;
e.effects.effect.blind = function(t, i) {
var s = e(this), o = ["position", "top", "bottom", "left", "right", "height", "width"], u = e.effects.setMode(s, t.mode || "hide"), a = t.direction || "up", f = n.test(a), l = f ? "height" : "width", c = f ? "top" : "left", h = r.test(a), p = {}, d = u === "show", v, m, g;
s.parent().is(".ui-effects-wrapper") ? e.effects.save(s.parent(), o) : e.effects.save(s, o),
s.show(),
v = e.effects.createWrapper(s).css({
overflow: "hidden"
}),
m = v[l](),
g = parseFloat(v.css(c)) || 0,
p[l] = d ? m : 0,
h || (s.css(f ? "bottom" : "right", 0).css(f ? "top" : "left", "auto").css({
position: "absolute"
}),
p[c] = d ? g : m + g),
d && (v.css(l, 0),
h || v.css(c, g + m)),
v.animate(p, {
duration: t.duration,
easing: t.easing,
queue: !1,
complete: function() {
u === "hide" && s.hide(),
e.effects.restore(s, o),
e.effects.removeWrapper(s),
i()
}
})
}
}(jQuery),
function(e, t) {
e.effects.effect.bounce = function(t, n) {
var r = e(this), i = ["position", "top", "bottom", "left", "right", "height", "width"], s = e.effects.setMode(r, t.mode || "effect"), o = s === "hide", u = s === "show", a = t.direction || "up", f = t.distance, l = t.times || 5, c = l * 2 + (u || o ? 1 : 0), h = t.duration / c, p = t.easing, d = a === "up" || a === "down" ? "top" : "left", v = a === "up" || a === "left", m, g, y, b = r.queue(), w = b.length;
(u || o) && i.push("opacity"),
e.effects.save(r, i),
r.show(),
e.effects.createWrapper(r),
f || (f = r[d === "top" ? "outerHeight" : "outerWidth"]() / 3),
u && (y = {
opacity: 1
},
y[d] = 0,
r.css("opacity", 0).css(d, v ? -f * 2 : f * 2).animate(y, h, p)),
o && (f /= Math.pow(2, l - 1)),
y = {},
y[d] = 0;
for (m = 0; m < l; m++)
g = {},
g[d] = (v ? "-=" : "+=") + f,
r.animate(g, h, p).animate(y, h, p),
f = o ? f * 2 : f / 2;
o && (g = {
opacity: 0
},
g[d] = (v ? "-=" : "+=") + f,
r.animate(g, h, p)),
r.queue(function() {
o && r.hide(),
e.effects.restore(r, i),
e.effects.removeWrapper(r),
n()
}),
w > 1 && b.splice.apply(b, [1, 0].concat(b.splice(w, c + 1))),
r.dequeue()
}
}(jQuery),
function(e, t) {
e.effects.effect.clip = function(t, n) {
var r = e(this), i = ["position", "top", "bottom", "left", "right", "height", "width"], s = e.effects.setMode(r, t.mode || "hide"), o = s === "show", u = t.direction || "vertical", a = u === "vertical", f = a ? "height" : "width", l = a ? "top" : "left", c = {}, h, p, d;
e.effects.save(r, i),
r.show(),
h = e.effects.createWrapper(r).css({
overflow: "hidden"
}),
p = r[0].tagName === "IMG" ? h : r,
d = p[f](),
o && (p.css(f, 0),
p.css(l, d / 2)),
c[f] = o ? d : 0,
c[l] = o ? 0 : d / 2,
p.animate(c, {
queue: !1,
duration: t.duration,
easing: t.easing,
complete: function() {
o || r.hide(),
e.effects.restore(r, i),
e.effects.removeWrapper(r),
n()
}
})
}
}(jQuery),
function(e, t) {
e.effects.effect.drop = function(t, n) {
var r = e(this), i = ["position", "top", "bottom", "left", "right", "opacity", "height", "width"], s = e.effects.setMode(r, t.mode || "hide"), o = s === "show", u = t.direction || "left", a = u === "up" || u === "down" ? "top" : "left", f = u === "up" || u === "left" ? "pos" : "neg", l = {
opacity: o ? 1 : 0
}, c;
e.effects.save(r, i),
r.show(),
e.effects.createWrapper(r),
c = t.distance || r[a === "top" ? "outerHeight" : "outerWidth"](!0) / 2,
o && r.css("opacity", 0).css(a, f === "pos" ? -c : c),
l[a] = (o ? f === "pos" ? "+=" : "-=" : f === "pos" ? "-=" : "+=") + c,
r.animate(l, {
queue: !1,
duration: t.duration,
easing: t.easing,
complete: function() {
s === "hide" && r.hide(),
e.effects.restore(r, i),
e.effects.removeWrapper(r),
n()
}
})
}
}(jQuery),
function(e, t) {
e.effects.effect.explode = function(t, n) {
function y() {
c.push(this),
c.length === r * i && b()
}
function b() {
s.css({
visibility: "visible"
}),
e(c).remove(),
u || s.hide(),
n()
}
var r = t.pieces ? Math.round(Math.sqrt(t.pieces)) : 3, i = r, s = e(this), o = e.effects.setMode(s, t.mode || "hide"), u = o === "show", a = s.show().css("visibility", "hidden").offset(), f = Math.ceil(s.outerWidth() / i), l = Math.ceil(s.outerHeight() / r), c = [], h, p, d, v, m, g;
for (h = 0; h < r; h++) {
v = a.top + h * l,
g = h - (r - 1) / 2;
for (p = 0; p < i; p++)
d = a.left + p * f,
m = p - (i - 1) / 2,
s.clone().appendTo("body").wrap("<div></div>").css({
position: "absolute",
visibility: "visible",
left: -p * f,
top: -h * l
}).parent().addClass("ui-effects-explode").css({
position: "absolute",
overflow: "hidden",
width: f,
height: l,
left: d + (u ? m * f : 0),
top: v + (u ? g * l : 0),
opacity: u ? 0 : 1
}).animate({
left: d + (u ? 0 : m * f),
top: v + (u ? 0 : g * l),
opacity: u ? 1 : 0
}, t.duration || 500, t.easing, y)
}
}
}(jQuery),
function(e, t) {
e.effects.effect.fade = function(t, n) {
var r = e(this)
, i = e.effects.setMode(r, t.mode || "toggle");
r.animate({
opacity: i
}, {
queue: !1,
duration: t.duration,
easing: t.easing,
complete: n
})
}
}(jQuery),
function(e, t) {
e.effects.effect.fold = function(t, n) {
var r = e(this), i = ["position", "top", "bottom", "left", "right", "height", "width"], s = e.effects.setMode(r, t.mode || "hide"), o = s === "show", u = s === "hide", a = t.size || 15, f = /([0-9]+)%/.exec(a), l = !!t.horizFirst, c = o !== l, h = c ? ["width", "height"] : ["height", "width"], p = t.duration / 2, d, v, m = {}, g = {};
e.effects.save(r, i),
r.show(),
d = e.effects.createWrapper(r).css({
overflow: "hidden"
}),
v = c ? [d.width(), d.height()] : [d.height(), d.width()],
f && (a = parseInt(f[1], 10) / 100 * v[u ? 0 : 1]),
o && d.css(l ? {
height: 0,
width: a
} : {
height: a,
width: 0
}),
m[h[0]] = o ? v[0] : a,
g[h[1]] = o ? v[1] : 0,
d.animate(m, p, t.easing).animate(g, p, t.easing, function() {
u && r.hide(),
e.effects.restore(r, i),
e.effects.removeWrapper(r),
n()
})
}
}(jQuery),
function(e, t) {
e.effects.effect.highlight = function(t, n) {
var r = e(this)
, i = ["backgroundImage", "backgroundColor", "opacity"]
, s = e.effects.setMode(r, t.mode || "show")
, o = {
backgroundColor: r.css("backgroundColor")
};
s === "hide" && (o.opacity = 0),
e.effects.save(r, i),
r.show().css({
backgroundImage: "none",
backgroundColor: t.color || "#ffff99"
}).animate(o, {
queue: !1,
duration: t.duration,
easing: t.easing,
complete: function() {
s === "hide" && r.hide(),
e.effects.restore(r, i),
n()
}
})
}
}(jQuery),
function(e, t) {
e.effects.effect.pulsate = function(t, n) {
var r = e(this), i = e.effects.setMode(r, t.mode || "show"), s = i === "show", o = i === "hide", u = s || i === "hide", a = (t.times || 5) * 2 + (u ? 1 : 0), f = t.duration / a, l = 0, c = r.queue(), h = c.length, p;
if (s || !r.is(":visible"))
r.css("opacity", 0).show(),
l = 1;
for (p = 1; p < a; p++)
r.animate({
opacity: l
}, f, t.easing),
l = 1 - l;
r.animate({
opacity: l
}, f, t.easing),
r.queue(function() {
o && r.hide(),
n()
}),
h > 1 && c.splice.apply(c, [1, 0].concat(c.splice(h, a + 1))),
r.dequeue()
}
}(jQuery),
function(e, t) {
e.effects.effect.puff = function(t, n) {
var r = e(this)
, i = e.effects.setMode(r, t.mode || "hide")
, s = i === "hide"
, o = parseInt(t.percent, 10) || 150
, u = o / 100
, a = {
height: r.height(),
width: r.width()
};
e.extend(t, {
effect: "scale",
queue: !1,
fade: !0,
mode: i,
complete: n,
percent: s ? o : 100,
from: s ? a : {
height: a.height * u,
width: a.width * u
}
}),
r.effect(t)
}
,
e.effects.effect.scale = function(t, n) {
var r = e(this)
, i = e.extend(!0, {}, t)
, s = e.effects.setMode(r, t.mode || "effect")
, o = parseInt(t.percent, 10) || (parseInt(t.percent, 10) === 0 ? 0 : s === "hide" ? 0 : 100)
, u = t.direction || "both"
, a = t.origin
, f = {
height: r.height(),
width: r.width(),
outerHeight: r.outerHeight(),
outerWidth: r.outerWidth()
}
, l = {
y: u !== "horizontal" ? o / 100 : 1,
x: u !== "vertical" ? o / 100 : 1
};
i.effect = "size",
i.queue = !1,
i.complete = n,
s !== "effect" && (i.origin = a || ["middle", "center"],
i.restore = !0),
i.from = t.from || (s === "show" ? {
height: 0,
width: 0
} : f),
i.to = {
height: f.height * l.y,
width: f.width * l.x,
outerHeight: f.outerHeight * l.y,
outerWidth: f.outerWidth * l.x
},
i.fade && (s === "show" && (i.from.opacity = 0,
i.to.opacity = 1),
s === "hide" && (i.from.opacity = 1,
i.to.opacity = 0)),
r.effect(i)
}
,
e.effects.effect.size = function(t, n) {
var r, i, s, o = e(this), u = ["position", "top", "bottom", "left", "right", "width", "height", "overflow", "opacity"], a = ["position", "top", "bottom", "left", "right", "overflow", "opacity"], f = ["width", "height", "overflow"], l = ["fontSize"], c = ["borderTopWidth", "borderBottomWidth", "paddingTop", "paddingBottom"], h = ["borderLeftWidth", "borderRightWidth", "paddingLeft", "paddingRight"], p = e.effects.setMode(o, t.mode || "effect"), d = t.restore || p !== "effect", v = t.scale || "both", m = t.origin || ["middle", "center"], g = o.css("position"), y = d ? u : a, b = {
height: 0,
width: 0
};
p === "show" && o.show(),
r = {
height: o.height(),
width: o.width(),
outerHeight: o.outerHeight(),
outerWidth: o.outerWidth()
},
t.mode === "toggle" && p === "show" ? (o.from = t.to || b,
o.to = t.from || r) : (o.from = t.from || (p === "show" ? b : r),
o.to = t.to || (p === "hide" ? b : r)),
s = {
from: {
y: o.from.height / r.height,
x: o.from.width / r.width
},
to: {
y: o.to.height / r.height,
x: o.to.width / r.width
}
};
if (v === "box" || v === "both")
s.from.y !== s.to.y && (y = y.concat(c),
o.from = e.effects.setTransition(o, c, s.from.y, o.from),
o.to = e.effects.setTransition(o, c, s.to.y, o.to)),
s.from.x !== s.to.x && (y = y.concat(h),
o.from = e.effects.setTransition(o, h, s.from.x, o.from),
o.to = e.effects.setTransition(o, h, s.to.x, o.to));
(v === "content" || v === "both") && s.from.y !== s.to.y && (y = y.concat(l).concat(f),
o.from = e.effects.setTransition(o, l, s.from.y, o.from),
o.to = e.effects.setTransition(o, l, s.to.y, o.to)),
e.effects.save(o, y),
o.show(),
e.effects.createWrapper(o),
o.css("overflow", "hidden").css(o.from),
m && (i = e.effects.getBaseline(m, r),
o.from.top = (r.outerHeight - o.outerHeight()) * i.y,
o.from.left = (r.outerWidth - o.outerWidth()) * i.x,
o.to.top = (r.outerHeight - o.to.outerHeight) * i.y,
o.to.left = (r.outerWidth - o.to.outerWidth) * i.x),
o.css(o.from);
if (v === "content" || v === "both")
c = c.concat(["marginTop", "marginBottom"]).concat(l),
h = h.concat(["marginLeft", "marginRight"]),
f = u.concat(c).concat(h),
o.find("*[width]").each(function() {
var n = e(this)
, r = {
height: n.height(),
width: n.width()
};
d && e.effects.save(n, f),
n.from = {
height: r.height * s.from.y,
width: r.width * s.from.x
},
n.to = {
height: r.height * s.to.y,
width: r.width * s.to.x
},
s.from.y !== s.to.y && (n.from = e.effects.setTransition(n, c, s.from.y, n.from),
n.to = e.effects.setTransition(n, c, s.to.y, n.to)),
s.from.x !== s.to.x && (n.from = e.effects.setTransition(n, h, s.from.x, n.from),
n.to = e.effects.setTransition(n, h, s.to.x, n.to)),
n.css(n.from),
n.animate(n.to, t.duration, t.easing, function() {
d && e.effects.restore(n, f)
})
});
o.animate(o.to, {
queue: !1,
duration: t.duration,
easing: t.easing,
complete: function() {
o.to.opacity === 0 && o.css("opacity", o.from.opacity),
p === "hide" && o.hide(),
e.effects.restore(o, y),
d || (g === "static" ? o.css({
position: "relative",
top: o.to.top,
left: o.to.left
}) : e.each(["top", "left"], function(e, t) {
o.css(t, function(t, n) {
var r = parseInt(n, 10)
, i = e ? o.to.left : o.to.top;
return n === "auto" ? i + "px" : r + i + "px"
})
})),
e.effects.removeWrapper(o),
n()
}
})
}
}(jQuery),
function(e, t) {
e.effects.effect.shake = function(t, n) {
var r = e(this), i = ["position", "top", "bottom", "left", "right", "height", "width"], s = e.effects.setMode(r, t.mode || "effect"), o = t.direction || "left", u = t.distance || 20, a = t.times || 3, f = a * 2 + 1, l = Math.round(t.duration / f), c = o === "up" || o === "down" ? "top" : "left", h = o === "up" || o === "left", p = {}, d = {}, v = {}, m, g = r.queue(), y = g.length;
e.effects.save(r, i),
r.show(),
e.effects.createWrapper(r),
p[c] = (h ? "-=" : "+=") + u,
d[c] = (h ? "+=" : "-=") + u * 2,
v[c] = (h ? "-=" : "+=") + u * 2,
r.animate(p, l, t.easing);
for (m = 1; m < a; m++)
r.animate(d, l, t.easing).animate(v, l, t.easing);
r.animate(d, l, t.easing).animate(p, l / 2, t.easing).queue(function() {
s === "hide" && r.hide(),
e.effects.restore(r, i),
e.effects.removeWrapper(r),
n()
}),
y > 1 && g.splice.apply(g, [1, 0].concat(g.splice(y, f + 1))),
r.dequeue()
}
}(jQuery),
function(e, t) {
e.effects.effect.slide = function(t, n) {
var r = e(this), i = ["position", "top", "bottom", "left", "right", "width", "height"], s = e.effects.setMode(r, t.mode || "show"), o = s === "show", u = t.direction || "left", a = u === "up" || u === "down" ? "top" : "left", f = u === "up" || u === "left", l, c = {};
e.effects.save(r, i),
r.show(),
l = t.distance || r[a === "top" ? "outerHeight" : "outerWidth"](!0),
e.effects.createWrapper(r).css({
overflow: "hidden"
}),
o && r.css(a, f ? isNaN(l) ? "-" + l : -l : l),
c[a] = (o ? f ? "+=" : "-=" : f ? "-=" : "+=") + l,
r.animate(c, {
queue: !1,
duration: t.duration,
easing: t.easing,
complete: function() {
s === "hide" && r.hide(),
e.effects.restore(r, i),
e.effects.removeWrapper(r),
n()
}
})
}
}(jQuery),
function(e, t) {
e.effects.effect.transfer = function(t, n) {
var r = e(this)
, i = e(t.to)
, s = i.css("position") === "fixed"
, o = e("body")
, u = s ? o.scrollTop() : 0
, a = s ? o.scrollLeft() : 0
, f = i.offset()
, l = {
top: f.top - u,
left: f.left - a,
height: i.innerHeight(),
width: i.innerWidth()
}
, c = r.offset()
, h = e('<div class="ui-effects-transfer"></div>').appendTo(document.body).addClass(t.className).css({
top: c.top - u,
left: c.left - a,
height: r.innerHeight(),
width: r.innerWidth(),
position: s ? "fixed" : "absolute"
}).animate(l, t.duration, t.easing, function() {
h.remove(),
n()
})
}
}(jQuery),
function(e, t) {
var n = !1;
e.widget("ui.menu", {
version: "1.9.1",
defaultElement: "<ul>",
delay: 300,
options: {
icons: {
submenu: "ui-icon-carat-1-e"
},
menus: "ul",
position: {
my: "left top",
at: "right top"
},
role: "menu",
blur: null,
focus: null,
select: null
},
_create: function() {
this.activeMenu = this.element,
this.element.uniqueId().addClass("ui-menu ui-widget ui-widget-content ui-corner-all").toggleClass("ui-menu-icons", !!this.element.find(".ui-icon").length).attr({
role: this.options.role,
tabIndex: 0
}).bind("click" + this.eventNamespace, e.proxy(function(e) {
this.options.disabled && e.preventDefault()
}, this)),
this.options.disabled && this.element.addClass("ui-state-disabled").attr("aria-disabled", "true"),
this._on({
"mousedown .ui-menu-item > a": function(e) {
e.preventDefault()
},
"click .ui-state-disabled > a": function(e) {
e.preventDefault()
},
"click .ui-menu-item:has(a)": function(t) {
var r = e(t.target).closest(".ui-menu-item");
!n && r.not(".ui-state-disabled").length && (n = !0,
this.select(t),
r.has(".ui-menu").length ? this.expand(t) : this.element.is(":focus") || (this.element.trigger("focus", [!0]),
this.active && this.active.parents(".ui-menu").length === 1 && clearTimeout(this.timer)))
},
"mouseenter .ui-menu-item": function(t) {
var n = e(t.currentTarget);
n.siblings().children(".ui-state-active").removeClass("ui-state-active"),
this.focus(t, n)
},
mouseleave: "collapseAll",
"mouseleave .ui-menu": "collapseAll",
focus: function(e, t) {
var n = this.active || this.element.children(".ui-menu-item").eq(0);
t || this.focus(e, n)
},
blur: function(t) {
this._delay(function() {
e.contains(this.element[0], this.document[0].activeElement) || this.collapseAll(t)
})
},
keydown: "_keydown"
}),
this.refresh(),
this._on(this.document, {
click: function(t) {
e(t.target).closest(".ui-menu").length || this.collapseAll(t),
n = !1
}
})
},
_destroy: function() {
this.element.removeAttr("aria-activedescendant").find(".ui-menu").andSelf().removeClass("ui-menu ui-widget ui-widget-content ui-corner-all ui-menu-icons").removeAttr("role").removeAttr("tabIndex").removeAttr("aria-labelledby").removeAttr("aria-expanded").removeAttr("aria-hidden").removeAttr("aria-disabled").removeUniqueId().show(),
this.element.find(".ui-menu-item").removeClass("ui-menu-item").removeAttr("role").removeAttr("aria-disabled").children("a").removeUniqueId().removeClass("ui-corner-all ui-state-hover").removeAttr("tabIndex").removeAttr("role").removeAttr("aria-haspopup").children().each(function() {
var t = e(this);
t.data("ui-menu-submenu-carat") && t.remove()
}),
this.element.find(".ui-menu-divider").removeClass("ui-menu-divider ui-widget-content")
},
_keydown: function(t) {
function a(e) {
return e.replace(/[\-\[\]{}()*+?.,\\\^$|#\s]/g, "\\$&")
}
var n, r, i, s, o, u = !0;
switch (t.keyCode) {
case e.ui.keyCode.PAGE_UP:
this.previousPage(t);
break;
case e.ui.keyCode.PAGE_DOWN:
this.nextPage(t);
break;
case e.ui.keyCode.HOME:
this._move("first", "first", t);
break;
case e.ui.keyCode.END:
this._move("last", "last", t);
break;
case e.ui.keyCode.UP:
this.previous(t);
break;
case e.ui.keyCode.DOWN:
this.next(t);
break;
case e.ui.keyCode.LEFT:
this.collapse(t);
break;
case e.ui.keyCode.RIGHT:
this.active && !this.active.is(".ui-state-disabled") && this.expand(t);
break;
case e.ui.keyCode.ENTER:
case e.ui.keyCode.SPACE:
this._activate(t);
break;
case e.ui.keyCode.ESCAPE:
this.collapse(t);
break;
default:
u = !1,
r = this.previousFilter || "",
i = String.fromCharCode(t.keyCode),
s = !1,
clearTimeout(this.filterTimer),
i === r ? s = !0 : i = r + i,
o = new RegExp("^" + a(i),"i"),
n = this.activeMenu.children(".ui-menu-item").filter(function() {
return o.test(e(this).children("a").text())
}),
n = s && n.index(this.active.next()) !== -1 ? this.active.nextAll(".ui-menu-item") : n,
n.length || (i = String.fromCharCode(t.keyCode),
o = new RegExp("^" + a(i),"i"),
n = this.activeMenu.children(".ui-menu-item").filter(function() {
return o.test(e(this).children("a").text())
})),
n.length ? (this.focus(t, n),
n.length > 1 ? (this.previousFilter = i,
this.filterTimer = this._delay(function() {
delete this.previousFilter
}, 1e3)) : delete this.previousFilter) : delete this.previousFilter
}
u && t.preventDefault()
},
_activate: function(e) {
this.active.is(".ui-state-disabled") || (this.active.children("a[aria-haspopup='true']").length ? this.expand(e) : this.select(e))
},
refresh: function() {
var t, n = this.options.icons.submenu, r = this.element.find(this.options.menus + ":not(.ui-menu)").addClass("ui-menu ui-widget ui-widget-content ui-corner-all").hide().attr({
role: this.options.role,
"aria-hidden": "true",
"aria-expanded": "false"
});
t = r.add(this.element),
t.children(":not(.ui-menu-item):has(a)").addClass("ui-menu-item").attr("role", "presentation").children("a").uniqueId().addClass("ui-corner-all").attr({
tabIndex: -1,
role: this._itemRole()
}),
t.children(":not(.ui-menu-item)").each(function() {
var t = e(this);
/[^\-—–\s]/.test(t.text()) || t.addClass("ui-widget-content ui-menu-divider")
}),
t.children(".ui-state-disabled").attr("aria-disabled", "true"),
r.each(function() {
var t = e(this)
, r = t.prev("a")
, i = e("<span>").addClass("ui-menu-icon ui-icon " + n).data("ui-menu-submenu-carat", !0);
r.attr("aria-haspopup", "true").prepend(i),
t.attr("aria-labelledby", r.attr("id"))
}),
this.active && !e.contains(this.element[0], this.active[0]) && this.blur()
},
_itemRole: function() {
return {
menu: "menuitem",
listbox: "option"
}[this.options.role]
},
focus: function(e, t) {
var n, r;
this.blur(e, e && e.type === "focus"),
this._scrollIntoView(t),
this.active = t.first(),
r = this.active.children("a").addClass("ui-state-focus"),
this.options.role && this.element.attr("aria-activedescendant", r.attr("id")),
this.active.parent().closest(".ui-menu-item").children("a:first").addClass("ui-state-active"),
e && e.type === "keydown" ? this._close() : this.timer = this._delay(function() {
this._close()
}, this.delay),
n = t.children(".ui-menu"),
n.length && /^mouse/.test(e.type) && this._startOpening(n),
this.activeMenu = t.parent(),
this._trigger("focus", e, {
item: t
})
},
_scrollIntoView: function(t) {
var n, r, i, s, o, u;
this._hasScroll() && (n = parseFloat(e.css(this.activeMenu[0], "borderTopWidth")) || 0,
r = parseFloat(e.css(this.activeMenu[0], "paddingTop")) || 0,
i = t.offset().top - this.activeMenu.offset().top - n - r,
s = this.activeMenu.scrollTop(),
o = this.activeMenu.height(),
u = t.height(),
i < 0 ? this.activeMenu.scrollTop(s + i) : i + u > o && this.activeMenu.scrollTop(s + i - o + u))
},
blur: function(e, t) {
t || clearTimeout(this.timer);
if (!this.active)
return;
this.active.children("a").removeClass("ui-state-focus"),
this.active = null,
this._trigger("blur", e, {
item: this.active
})
},
_startOpening: function(e) {
clearTimeout(this.timer);
if (e.attr("aria-hidden") !== "true")
return;
this.timer = this._delay(function() {
this._close(),
this._open(e)
}, this.delay)
},
_open: function(t) {
var n = e.extend({
of: this.active
}, this.options.position);
clearTimeout(this.timer),
this.element.find(".ui-menu").not(t.parents(".ui-menu")).hide().attr("aria-hidden", "true"),
t.show().removeAttr("aria-hidden").attr("aria-expanded", "true").position(n)
},
collapseAll: function(t, n) {
clearTimeout(this.timer),
this.timer = this._delay(function() {
var r = n ? this.element : e(t && t.target).closest(this.element.find(".ui-menu"));
r.length || (r = this.element),
this._close(r),
this.blur(t),
this.activeMenu = r
}, this.delay)
},
_close: function(e) {
e || (e = this.active ? this.active.parent() : this.element),
e.find(".ui-menu").hide().attr("aria-hidden", "true").attr("aria-expanded", "false").end().find("a.ui-state-active").removeClass("ui-state-active")
},
collapse: function(e) {
var t = this.active && this.active.parent().closest(".ui-menu-item", this.element);
t && t.length && (this._close(),
this.focus(e, t))
},
expand: function(e) {
var t = this.active && this.active.children(".ui-menu ").children(".ui-menu-item").first();
t && t.length && (this._open(t.parent()),
this._delay(function() {
this.focus(e, t)
}))
},
next: function(e) {
this._move("next", "first", e)
},
previous: function(e) {
this._move("prev", "last", e)
},
isFirstItem: function() {
return this.active && !this.active.prevAll(".ui-menu-item").length
},
isLastItem: function() {
return this.active && !this.active.nextAll(".ui-menu-item").length
},
_move: function(e, t, n) {
var r;
this.active && (e === "first" || e === "last" ? r = this.active[e === "first" ? "prevAll" : "nextAll"](".ui-menu-item").eq(-1) : r = this.active[e + "All"](".ui-menu-item").eq(0));
if (!r || !r.length || !this.active)
r = this.activeMenu.children(".ui-menu-item")[t]();
this.focus(n, r)
},
nextPage: function(t) {
var n, r, i;
if (!this.active) {
this.next(t);
return
}
if (this.isLastItem())
return;
this._hasScroll() ? (r = this.active.offset().top,
i = this.element.height(),
this.active.nextAll(".ui-menu-item").each(function() {
return n = e(this),
n.offset().top - r - i < 0
}),
this.focus(t, n)) : this.focus(t, this.activeMenu.children(".ui-menu-item")[this.active ? "last" : "first"]())
},
previousPage: function(t) {
var n, r, i;
if (!this.active) {
this.next(t);
return
}
if (this.isFirstItem())
return;
this._hasScroll() ? (r = this.active.offset().top,
i = this.element.height(),
this.active.prevAll(".ui-menu-item").each(function() {
return n = e(this),
n.offset().top - r + i > 0
}),
this.focus(t, n)) : this.focus(t, this.activeMenu.children(".ui-menu-item").first())
},
_hasScroll: function() {
return this.element.outerHeight() < this.element.prop("scrollHeight")
},
select: function(t) {
this.active = this.active || e(t.target).closest(".ui-menu-item");
var n = {
item: this.active
};
this.active.has(".ui-menu").length || this.collapseAll(t, !0),
this._trigger("select", t, n)
}
})
}(jQuery),
function(e, t) {
function h(e, t, n) {
return [parseInt(e[0], 10) * (l.test(e[0]) ? t / 100 : 1), parseInt(e[1], 10) * (l.test(e[1]) ? n / 100 : 1)]
}
function p(t, n) {
return parseInt(e.css(t, n), 10) || 0
}
e.ui = e.ui || {};
var n, r = Math.max, i = Math.abs, s = Math.round, o = /left|center|right/, u = /top|center|bottom/, a = /[\+\-]\d+%?/, f = /^\w+/, l = /%$/, c = e.fn.position;
e.position = {
scrollbarWidth: function() {
if (n !== t)
return n;
var r, i, s = e("<div style='display:block;width:50px;height:50px;overflow:hidden;'><div style='height:100px;width:auto;'></div></div>"), o = s.children()[0];
return e("body").append(s),
r = o.offsetWidth,
s.css("overflow", "scroll"),
i = o.offsetWidth,
r === i && (i = s[0].clientWidth),
s.remove(),
n = r - i
},
getScrollInfo: function(t) {
var n = t.isWindow ? "" : t.element.css("overflow-x")
, r = t.isWindow ? "" : t.element.css("overflow-y")
, i = n === "scroll" || n === "auto" && t.width < t.element[0].scrollWidth
, s = r === "scroll" || r === "auto" && t.height < t.element[0].scrollHeight;
return {
width: i ? e.position.scrollbarWidth() : 0,
height: s ? e.position.scrollbarWidth() : 0
}
},
getWithinInfo: function(t) {
var n = e(t || window)
, r = e.isWindow(n[0]);
return {
element: n,
isWindow: r,
offset: n.offset() || {
left: 0,
top: 0
},
scrollLeft: n.scrollLeft(),
scrollTop: n.scrollTop(),
width: r ? n.width() : n.outerWidth(),
height: r ? n.height() : n.outerHeight()
}
}
},
e.fn.position = function(t) {
if (!t || !t.of)
return c.apply(this, arguments);
t = e.extend({}, t);
var n, l, d, v, m, g = e(t.of), y = e.position.getWithinInfo(t.within), b = e.position.getScrollInfo(y), w = g[0], E = (t.collision || "flip").split(" "), S = {};
return w.nodeType === 9 ? (l = g.width(),
d = g.height(),
v = {
top: 0,
left: 0
}) : e.isWindow(w) ? (l = g.width(),
d = g.height(),
v = {
top: g.scrollTop(),
left: g.scrollLeft()
}) : w.preventDefault ? (t.at = "left top",
l = d = 0,
v = {
top: w.pageY,
left: w.pageX
}) : (l = g.outerWidth(),
d = g.outerHeight(),
v = g.offset()),
m = e.extend({}, v),
e.each(["my", "at"], function() {
var e = (t[this] || "").split(" "), n, r;
e.length === 1 && (e = o.test(e[0]) ? e.concat(["center"]) : u.test(e[0]) ? ["center"].concat(e) : ["center", "center"]),
e[0] = o.test(e[0]) ? e[0] : "center",
e[1] = u.test(e[1]) ? e[1] : "center",
n = a.exec(e[0]),
r = a.exec(e[1]),
S[this] = [n ? n[0] : 0, r ? r[0] : 0],
t[this] = [f.exec(e[0])[0], f.exec(e[1])[0]]
}),
E.length === 1 && (E[1] = E[0]),
t.at[0] === "right" ? m.left += l : t.at[0] === "center" && (m.left += l / 2),
t.at[1] === "bottom" ? m.top += d : t.at[1] === "center" && (m.top += d / 2),
n = h(S.at, l, d),
m.left += n[0],
m.top += n[1],
this.each(function() {
var o, u, a = e(this), f = a.outerWidth(), c = a.outerHeight(), w = p(this, "marginLeft"), x = p(this, "marginTop"), T = f + w + p(this, "marginRight") + b.width, N = c + x + p(this, "marginBottom") + b.height, C = e.extend({}, m), k = h(S.my, a.outerWidth(), a.outerHeight());
t.my[0] === "right" ? C.left -= f : t.my[0] === "center" && (C.left -= f / 2),
t.my[1] === "bottom" ? C.top -= c : t.my[1] === "center" && (C.top -= c / 2),
C.left += k[0],
C.top += k[1],
e.support.offsetFractions || (C.left = s(C.left),
C.top = s(C.top)),
o = {
marginLeft: w,
marginTop: x
},
e.each(["left", "top"], function(r, i) {
e.ui.position[E[r]] && e.ui.position[E[r]][i](C, {
targetWidth: l,
targetHeight: d,
elemWidth: f,
elemHeight: c,
collisionPosition: o,
collisionWidth: T,
collisionHeight: N,
offset: [n[0] + k[0], n[1] + k[1]],
my: t.my,
at: t.at,
within: y,
elem: a
})
}),
e.fn.bgiframe && a.bgiframe(),
t.using && (u = function(e) {
var n = v.left - C.left
, s = n + l - f
, o = v.top - C.top
, u = o + d - c
, h = {
target: {
element: g,
left: v.left,
top: v.top,
width: l,
height: d
},
element: {
element: a,
left: C.left,
top: C.top,
width: f,
height: c
},
horizontal: s < 0 ? "left" : n > 0 ? "right" : "center",
vertical: u < 0 ? "top" : o > 0 ? "bottom" : "middle"
};
l < f && i(n + s) < l && (h.horizontal = "center"),
d < c && i(o + u) < d && (h.vertical = "middle"),
r(i(n), i(s)) > r(i(o), i(u)) ? h.important = "horizontal" : h.important = "vertical",
t.using.call(this, e, h)
}
),
a.offset(e.extend(C, {
using: u
}))
})
}
,
e.ui.position = {
fit: {
left: function(e, t) {
var n = t.within, i = n.isWindow ? n.scrollLeft : n.offset.left, s = n.width, o = e.left - t.collisionPosition.marginLeft, u = i - o, a = o + t.collisionWidth - s - i, f;
t.collisionWidth > s ? u > 0 && a <= 0 ? (f = e.left + u + t.collisionWidth - s - i,
e.left += u - f) : a > 0 && u <= 0 ? e.left = i : u > a ? e.left = i + s - t.collisionWidth : e.left = i : u > 0 ? e.left += u : a > 0 ? e.left -= a : e.left = r(e.left - o, e.left)
},
top: function(e, t) {
var n = t.within, i = n.isWindow ? n.scrollTop : n.offset.top, s = t.within.height, o = e.top - t.collisionPosition.marginTop, u = i - o, a = o + t.collisionHeight - s - i, f;
t.collisionHeight > s ? u > 0 && a <= 0 ? (f = e.top + u + t.collisionHeight - s - i,
e.top += u - f) : a > 0 && u <= 0 ? e.top = i : u > a ? e.top = i + s - t.collisionHeight : e.top = i : u > 0 ? e.top += u : a > 0 ? e.top -= a : e.top = r(e.top - o, e.top)
}
},
flip: {
left: function(e, t) {
var n = t.within, r = n.offset.left + n.scrollLeft, s = n.width, o = n.isWindow ? n.scrollLeft : n.offset.left, u = e.left - t.collisionPosition.marginLeft, a = u - o, f = u + t.collisionWidth - s - o, l = t.my[0] === "left" ? -t.elemWidth : t.my[0] === "right" ? t.elemWidth : 0, c = t.at[0] === "left" ? t.targetWidth : t.at[0] === "right" ? -t.targetWidth : 0, h = -2 * t.offset[0], p, d;
if (a < 0) {
p = e.left + l + c + h + t.collisionWidth - s - r;
if (p < 0 || p < i(a))
e.left += l + c + h
} else if (f > 0) {
d = e.left - t.collisionPosition.marginLeft + l + c + h - o;
if (d > 0 || i(d) < f)
e.left += l + c + h
}
},
top: function(e, t) {
var n = t.within, r = n.offset.top + n.scrollTop, s = n.height, o = n.isWindow ? n.scrollTop : n.offset.top, u = e.top - t.collisionPosition.marginTop, a = u - o, f = u + t.collisionHeight - s - o, l = t.my[1] === "top", c = l ? -t.elemHeight : t.my[1] === "bottom" ? t.elemHeight : 0, h = t.at[1] === "top" ? t.targetHeight : t.at[1] === "bottom" ? -t.targetHeight : 0, p = -2 * t.offset[1], d, v;
a < 0 ? (v = e.top + c + h + p + t.collisionHeight - s - r,
e.top + c + h + p > a && (v < 0 || v < i(a)) && (e.top += c + h + p)) : f > 0 && (d = e.top - t.collisionPosition.marginTop + c + h + p - o,
e.top + c + h + p > f && (d > 0 || i(d) < f) && (e.top += c + h + p))
}
},
flipfit: {
left: function() {
e.ui.position.flip.left.apply(this, arguments),
e.ui.position.fit.left.apply(this, arguments)
},
top: function() {
e.ui.position.flip.top.apply(this, arguments),
e.ui.position.fit.top.apply(this, arguments)
}
}
},
function() {
var t, n, r, i, s, o = document.getElementsByTagName("body")[0], u = document.createElement("div");
t = document.createElement(o ? "div" : "body"),
r = {
visibility: "hidden",
width: 0,
height: 0,
border: 0,
margin: 0,
background: "none"
},
o && e.extend(r, {
position: "absolute",
left: "-1000px",
top: "-1000px"
});
for (s in r)
t.style[s] = r[s];
t.appendChild(u),
n = o || document.documentElement,
n.insertBefore(t, n.firstChild),
u.style.cssText = "position: absolute; left: 10.7432222px;",
i = e(u).offset().left,
e.support.offsetFractions = i > 10 && i < 11,
t.innerHTML = "",
n.removeChild(t)
}(),
e.uiBackCompat !== !1 && function(e) {
var n = e.fn.position;
e.fn.position = function(r) {
if (!r || !r.offset)
return n.call(this, r);
var i = r.offset.split(" ")
, s = r.at.split(" ");
return i.length === 1 && (i[1] = i[0]),
/^\d/.test(i[0]) && (i[0] = "+" + i[0]),
/^\d/.test(i[1]) && (i[1] = "+" + i[1]),
s.length === 1 && (/left|center|right/.test(s[0]) ? s[1] = "center" : (s[1] = s[0],
s[0] = "center")),
n.call(this, e.extend(r, {
at: s[0] + i[0] + " " + s[1] + i[1],
offset: t
}))
}
}(jQuery)
}(jQuery),
function(e, t) {
e.widget("ui.progressbar", {
version: "1.9.1",
options: {
value: 0,
max: 100
},
min: 0,
_create: function() {
this.element.addClass("ui-progressbar ui-widget ui-widget-content ui-corner-all").attr({
role: "progressbar",
"aria-valuemin": this.min,
"aria-valuemax": this.options.max,
"aria-valuenow": this._value()
}),
this.valueDiv = e("<div class='ui-progressbar-value ui-widget-header ui-corner-left'></div>").appendTo(this.element),
this.oldValue = this._value(),
this._refreshValue()
},
_destroy: function() {
this.element.removeClass("ui-progressbar ui-widget ui-widget-content ui-corner-all").removeAttr("role").removeAttr("aria-valuemin").removeAttr("aria-valuemax").removeAttr("aria-valuenow"),
this.valueDiv.remove()
},
value: function(e) {
return e === t ? this._value() : (this._setOption("value", e),
this)
},
_setOption: function(e, t) {
e === "value" && (this.options.value = t,
this._refreshValue(),
this._value() === this.options.max && this._trigger("complete")),
this._super(e, t)
},
_value: function() {
var e = this.options.value;
return typeof e != "number" && (e = 0),
Math.min(this.options.max, Math.max(this.min, e))
},
_percentage: function() {
return 100 * this._value() / this.options.max
},
_refreshValue: function() {
var e = this.value()
, t = this._percentage();
this.oldValue !== e && (this.oldValue = e,
this._trigger("change")),
this.valueDiv.toggle(e > this.min).toggleClass("ui-corner-right", e === this.options.max).width(t.toFixed(0) + "%"),
this.element.attr("aria-valuenow", e)
}
})
}(jQuery),
function(e, t) {
var n = 5;
e.widget("ui.slider", e.ui.mouse, {
version: "1.9.1",
widgetEventPrefix: "slide",
options: {
animate: !1,
distance: 0,
max: 100,
min: 0,
orientation: "horizontal",
range: !1,
step: 1,
value: 0,
values: null
},
_create: function() {
var t, r, i = this.options, s = this.element.find(".ui-slider-handle").addClass("ui-state-default ui-corner-all"), o = "<a class='ui-slider-handle ui-state-default ui-corner-all' href='#'></a>", u = [];
this._keySliding = !1,
this._mouseSliding = !1,
this._animateOff = !0,
this._handleIndex = null,
this._detectOrientation(),
this._mouseInit(),
this.element.addClass("ui-slider ui-slider-" + this.orientation + " ui-widget" + " ui-widget-content" + " ui-corner-all" + (i.disabled ? " ui-slider-disabled ui-disabled" : "")),
this.range = e([]),
i.range && (i.range === !0 && (i.values || (i.values = [this._valueMin(), this._valueMin()]),
i.values.length && i.values.length !== 2 && (i.values = [i.values[0], i.values[0]])),
this.range = e("<div></div>").appendTo(this.element).addClass("ui-slider-range ui-widget-header" + (i.range === "min" || i.range === "max" ? " ui-slider-range-" + i.range : ""))),
r = i.values && i.values.length || 1;
for (t = s.length; t < r; t++)
u.push(o);
this.handles = s.add(e(u.join("")).appendTo(this.element)),
this.handle = this.handles.eq(0),
this.handles.add(this.range).filter("a").click(function(e) {
e.preventDefault()
}).mouseenter(function() {
i.disabled || e(this).addClass("ui-state-hover")
}).mouseleave(function() {
e(this).removeClass("ui-state-hover")
}).focus(function() {
i.disabled ? e(this).blur() : (e(".ui-slider .ui-state-focus").removeClass("ui-state-focus"),
e(this).addClass("ui-state-focus"))
}).blur(function() {
e(this).removeClass("ui-state-focus")
}),
this.handles.each(function(t) {
e(this).data("ui-slider-handle-index", t)
}),
this._on(this.handles, {
keydown: function(t) {
var r, i, s, o, u = e(t.target).data("ui-slider-handle-index");
switch (t.keyCode) {
case e.ui.keyCode.HOME:
case e.ui.keyCode.END:
case e.ui.keyCode.PAGE_UP:
case e.ui.keyCode.PAGE_DOWN:
case e.ui.keyCode.UP:
case e.ui.keyCode.RIGHT:
case e.ui.keyCode.DOWN:
case e.ui.keyCode.LEFT:
t.preventDefault();
if (!this._keySliding) {
this._keySliding = !0,
e(t.target).addClass("ui-state-active"),
r = this._start(t, u);
if (r === !1)
return
}
}
o = this.options.step,
this.options.values && this.options.values.length ? i = s = this.values(u) : i = s = this.value();
switch (t.keyCode) {
case e.ui.keyCode.HOME:
s = this._valueMin();
break;
case e.ui.keyCode.END:
s = this._valueMax();
break;
case e.ui.keyCode.PAGE_UP:
s = this._trimAlignValue(i + (this._valueMax() - this._valueMin()) / n);
break;
case e.ui.keyCode.PAGE_DOWN:
s = this._trimAlignValue(i - (this._valueMax() - this._valueMin()) / n);
break;
case e.ui.keyCode.UP:
case e.ui.keyCode.RIGHT:
if (i === this._valueMax())
return;
s = this._trimAlignValue(i + o);
break;
case e.ui.keyCode.DOWN:
case e.ui.keyCode.LEFT:
if (i === this._valueMin())
return;
s = this._trimAlignValue(i - o)
}
this._slide(t, u, s)
},
keyup: function(t) {
var n = e(t.target).data("ui-slider-handle-index");
this._keySliding && (this._keySliding = !1,
this._stop(t, n),
this._change(t, n),
e(t.target).removeClass("ui-state-active"))
}
}),
this._refreshValue(),
this._animateOff = !1
},
_destroy: function() {
this.handles.remove(),
this.range.remove(),
this.element.removeClass("ui-slider ui-slider-horizontal ui-slider-vertical ui-slider-disabled ui-widget ui-widget-content ui-corner-all"),
this._mouseDestroy()
},
_mouseCapture: function(t) {
var n, r, i, s, o, u, a, f, l = this, c = this.options;
return c.disabled ? !1 : (this.elementSize = {
width: this.element.outerWidth(),
height: this.element.outerHeight()
},
this.elementOffset = this.element.offset(),
n = {
x: t.pageX,
y: t.pageY
},
r = this._normValueFromMouse(n),
i = this._valueMax() - this._valueMin() + 1,
this.handles.each(function(t) {
var n = Math.abs(r - l.values(t));
i > n && (i = n,
s = e(this),
o = t)
}),
c.range === !0 && this.values(1) === c.min && (o += 1,
s = e(this.handles[o])),
u = this._start(t, o),
u === !1 ? !1 : (this._mouseSliding = !0,
this._handleIndex = o,
s.addClass("ui-state-active").focus(),
a = s.offset(),
f = !e(t.target).parents().andSelf().is(".ui-slider-handle"),
this._clickOffset = f ? {
left: 0,
top: 0
} : {
left: t.pageX - a.left - s.width() / 2,
top: t.pageY - a.top - s.height() / 2 - (parseInt(s.css("borderTopWidth"), 10) || 0) - (parseInt(s.css("borderBottomWidth"), 10) || 0) + (parseInt(s.css("marginTop"), 10) || 0)
},
this.handles.hasClass("ui-state-hover") || this._slide(t, o, r),
this._animateOff = !0,
!0))
},
_mouseStart: function() {
return !0
},
_mouseDrag: function(e) {
var t = {
x: e.pageX,
y: e.pageY
}
, n = this._normValueFromMouse(t);
return this._slide(e, this._handleIndex, n),
!1
},
_mouseStop: function(e) {
return this.handles.removeClass("ui-state-active"),
this._mouseSliding = !1,
this._stop(e, this._handleIndex),
this._change(e, this._handleIndex),
this._handleIndex = null,
this._clickOffset = null,
this._animateOff = !1,
!1
},
_detectOrientation: function() {
this.orientation = this.options.orientation === "vertical" ? "vertical" : "horizontal"
},
_normValueFromMouse: function(e) {
var t, n, r, i, s;
return this.orientation === "horizontal" ? (t = this.elementSize.width,
n = e.x - this.elementOffset.left - (this._clickOffset ? this._clickOffset.left : 0)) : (t = this.elementSize.height,
n = e.y - this.elementOffset.top - (this._clickOffset ? this._clickOffset.top : 0)),
r = n / t,
r > 1 && (r = 1),
r < 0 && (r = 0),
this.orientation === "vertical" && (r = 1 - r),
i = this._valueMax() - this._valueMin(),
s = this._valueMin() + r * i,
this._trimAlignValue(s)
},
_start: function(e, t) {
var n = {
handle: this.handles[t],
value: this.value()
};
return this.options.values && this.options.values.length && (n.value = this.values(t),
n.values = this.values()),
this._trigger("start", e, n)
},
_slide: function(e, t, n) {
var r, i, s;
this.options.values && this.options.values.length ? (r = this.values(t ? 0 : 1),
this.options.values.length === 2 && this.options.range === !0 && (t === 0 && n > r || t === 1 && n < r) && (n = r),
n !== this.values(t) && (i = this.values(),
i[t] = n,
s = this._trigger("slide", e, {
handle: this.handles[t],
value: n,
values: i
}),
r = this.values(t ? 0 : 1),
s !== !1 && this.values(t, n, !0))) : n !== this.value() && (s = this._trigger("slide", e, {
handle: this.handles[t],
value: n
}),
s !== !1 && this.value(n))
},
_stop: function(e, t) {
var n = {
handle: this.handles[t],
value: this.value()
};
this.options.values && this.options.values.length && (n.value = this.values(t),
n.values = this.values()),
this._trigger("stop", e, n)
},
_change: function(e, t) {
if (!this._keySliding && !this._mouseSliding) {
var n = {
handle: this.handles[t],
value: this.value()
};
this.options.values && this.options.values.length && (n.value = this.values(t),
n.values = this.values()),
this._trigger("change", e, n)
}
},
value: function(e) {
if (arguments.length) {
this.options.value = this._trimAlignValue(e),
this._refreshValue(),
this._change(null, 0);
return
}
return this._value()
},
values: function(t, n) {
var r, i, s;
if (arguments.length > 1) {
this.options.values[t] = this._trimAlignValue(n),
this._refreshValue(),
this._change(null, t);
return
}
if (!arguments.length)
return this._values();
if (!e.isArray(arguments[0]))
return this.options.values && this.options.values.length ? this._values(t) : this.value();
r = this.options.values,
i = arguments[0];
for (s = 0; s < r.length; s += 1)
r[s] = this._trimAlignValue(i[s]),
this._change(null, s);
this._refreshValue()
},
_setOption: function(t, n) {
var r, i = 0;
e.isArray(this.options.values) && (i = this.options.values.length),
e.Widget.prototype._setOption.apply(this, arguments);
switch (t) {
case "disabled":
n ? (this.handles.filter(".ui-state-focus").blur(),
this.handles.removeClass("ui-state-hover"),
this.handles.prop("disabled", !0),
this.element.addClass("ui-disabled")) : (this.handles.prop("disabled", !1),
this.element.removeClass("ui-disabled"));
break;
case "orientation":
this._detectOrientation(),
this.element.removeClass("ui-slider-horizontal ui-slider-vertical").addClass("ui-slider-" + this.orientation),
this._refreshValue();
break;
case "value":
this._animateOff = !0,
this._refreshValue(),
this._change(null, 0),
this._animateOff = !1;
break;
case "values":
this._animateOff = !0,
this._refreshValue();
for (r = 0; r < i; r += 1)
this._change(null, r);
this._animateOff = !1;
break;
case "min":
case "max":
this._animateOff = !0,
this._refreshValue(),
this._animateOff = !1
}
},
_value: function() {
var e = this.options.value;
return e = this._trimAlignValue(e),
e
},
_values: function(e) {
var t, n, r;
if (arguments.length)
return t = this.options.values[e],
t = this._trimAlignValue(t),
t;
n = this.options.values.slice();
for (r = 0; r < n.length; r += 1)
n[r] = this._trimAlignValue(n[r]);
return n
},
_trimAlignValue: function(e) {
if (e <= this._valueMin())
return this._valueMin();
if (e >= this._valueMax())
return this._valueMax();
var t = this.options.step > 0 ? this.options.step : 1
, n = (e - this._valueMin()) % t
, r = e - n;
return Math.abs(n) * 2 >= t && (r += n > 0 ? t : -t),
parseFloat(r.toFixed(5))
},
_valueMin: function() {
return this.options.min
},
_valueMax: function() {
return this.options.max
},
_refreshValue: function() {
var t, n, r, i, s, o = this.options.range, u = this.options, a = this, f = this._animateOff ? !1 : u.animate, l = {};
this.options.values && this.options.values.length ? this.handles.each(function(r) {
n = (a.values(r) - a._valueMin()) / (a._valueMax() - a._valueMin()) * 100,
l[a.orientation === "horizontal" ? "left" : "bottom"] = n + "%",
e(this).stop(1, 1)[f ? "animate" : "css"](l, u.animate),
a.options.range === !0 && (a.orientation === "horizontal" ? (r === 0 && a.range.stop(1, 1)[f ? "animate" : "css"]({
left: n + "%"
}, u.animate),
r === 1 && a.range[f ? "animate" : "css"]({
width: n - t + "%"
}, {
queue: !1,
duration: u.animate
})) : (r === 0 && a.range.stop(1, 1)[f ? "animate" : "css"]({
bottom: n + "%"
}, u.animate),
r === 1 && a.range[f ? "animate" : "css"]({
height: n - t + "%"
}, {
queue: !1,
duration: u.animate
}))),
t = n
}) : (r = this.value(),
i = this._valueMin(),
s = this._valueMax(),
n = s !== i ? (r - i) / (s - i) * 100 : 0,
l[this.orientation === "horizontal" ? "left" : "bottom"] = n + "%",
this.handle.stop(1, 1)[f ? "animate" : "css"](l, u.animate),
o === "min" && this.orientation === "horizontal" && this.range.stop(1, 1)[f ? "animate" : "css"]({
width: n + "%"
}, u.animate),
o === "max" && this.orientation === "horizontal" && this.range[f ? "animate" : "css"]({
width: 100 - n + "%"
}, {
queue: !1,
duration: u.animate
}),
o === "min" && this.orientation === "vertical" && this.range.stop(1, 1)[f ? "animate" : "css"]({
height: n + "%"
}, u.animate),
o === "max" && this.orientation === "vertical" && this.range[f ? "animate" : "css"]({
height: 100 - n + "%"
}, {
queue: !1,
duration: u.animate
}))
}
})
}(jQuery),
function(e) {
function t(e) {
return function() {
var t = this.element.val();
e.apply(this, arguments),
this._refresh(),
t !== this.element.val() && this._trigger("change")
}
}
e.widget("ui.spinner", {
version: "1.9.1",
defaultElement: "<input>",
widgetEventPrefix: "spin",
options: {
culture: null,
icons: {
down: "ui-icon-triangle-1-s",
up: "ui-icon-triangle-1-n"
},
incremental: !0,
max: null,
min: null,
numberFormat: null,
page: 10,
step: 1,
change: null,
spin: null,
start: null,
stop: null
},
_create: function() {
this._setOption("max", this.options.max),
this._setOption("min", this.options.min),
this._setOption("step", this.options.step),
this._value(this.element.val(), !0),
this._draw(),
this._on(this._events),
this._refresh(),
this._on(this.window, {
beforeunload: function() {
this.element.removeAttr("autocomplete")
}
})
},
_getCreateOptions: function() {
var t = {}
, n = this.element;
return e.each(["min", "max", "step"], function(e, r) {
var i = n.attr(r);
i !== undefined && i.length && (t[r] = i)
}),
t
},
_events: {
keydown: function(e) {
this._start(e) && this._keydown(e) && e.preventDefault()
},
keyup: "_stop",
focus: function() {
this.previous = this.element.val()
},
blur: function(e) {
if (this.cancelBlur) {
delete this.cancelBlur;
return
}
this._refresh(),
this.previous !== this.element.val() && this._trigger("change", e)
},
mousewheel: function(e, t) {
if (!t)
return;
if (!this.spinning && !this._start(e))
return !1;
this._spin((t > 0 ? 1 : -1) * this.options.step, e),
clearTimeout(this.mousewheelTimer),
this.mousewheelTimer = this._delay(function() {
this.spinning && this._stop(e)
}, 100),
e.preventDefault()
},
"mousedown .ui-spinner-button": function(t) {
function r() {
var e = this.element[0] === this.document[0].activeElement;
e || (this.element.focus(),
this.previous = n,
this._delay(function() {
this.previous = n
}))
}
var n;
n = this.element[0] === this.document[0].activeElement ? this.previous : this.element.val(),
t.preventDefault(),
r.call(this),
this.cancelBlur = !0,
this._delay(function() {
delete this.cancelBlur,
r.call(this)
});
if (this._start(t) === !1)
return;
this._repeat(null, e(t.currentTarget).hasClass("ui-spinner-up") ? 1 : -1, t)
},
"mouseup .ui-spinner-button": "_stop",
"mouseenter .ui-spinner-button": function(t) {
if (!e(t.currentTarget).hasClass("ui-state-active"))
return;
if (this._start(t) === !1)
return !1;
this._repeat(null, e(t.currentTarget).hasClass("ui-spinner-up") ? 1 : -1, t)
},
"mouseleave .ui-spinner-button": "_stop"
},
_draw: function() {
var e = this.uiSpinner = this.element.addClass("ui-spinner-input").attr("autocomplete", "off").wrap(this._uiSpinnerHtml()).parent().append(this._buttonHtml());
this.element.attr("role", "spinbutton"),
this.buttons = e.find(".ui-spinner-button").attr("tabIndex", -1).button().removeClass("ui-corner-all"),
this.buttons.height() > Math.ceil(e.height() * .5) && e.height() > 0 && e.height(e.height()),
this.options.disabled && this.disable()
},
_keydown: function(t) {
var n = this.options
, r = e.ui.keyCode;
switch (t.keyCode) {
case r.UP:
return this._repeat(null, 1, t),
!0;
case r.DOWN:
return this._repeat(null, -1, t),
!0;
case r.PAGE_UP:
return this._repeat(null, n.page, t),
!0;
case r.PAGE_DOWN:
return this._repeat(null, -n.page, t),
!0
}
return !1
},
_uiSpinnerHtml: function() {
return "<span class='ui-spinner ui-widget ui-widget-content ui-corner-all'></span>"
},
_buttonHtml: function() {
return "<a class='ui-spinner-button ui-spinner-up ui-corner-tr'><span class='ui-icon " + this.options.icons.up + "'>&#9650;</span>" + "</a>" + "<a class='ui-spinner-button ui-spinner-down ui-corner-br'>" + "<span class='ui-icon " + this.options.icons.down + "'>&#9660;</span>" + "</a>"
},
_start: function(e) {
return !this.spinning && this._trigger("start", e) === !1 ? !1 : (this.counter || (this.counter = 1),
this.spinning = !0,
!0)
},
_repeat: function(e, t, n) {
e = e || 500,
clearTimeout(this.timer),
this.timer = this._delay(function() {
this._repeat(40, t, n)
}, e),
this._spin(t * this.options.step, n)
},
_spin: function(e, t) {
var n = this.value() || 0;
this.counter || (this.counter = 1),
n = this._adjustValue(n + e * this._increment(this.counter));
if (!this.spinning || this._trigger("spin", t, {
value: n
}) !== !1)
this._value(n),
this.counter++
},
_increment: function(t) {
var n = this.options.incremental;
return n ? e.isFunction(n) ? n(t) : Math.floor(t * t * t / 5e4 - t * t / 500 + 17 * t / 200 + 1) : 1
},
_precision: function() {
var e = this._precisionOf(this.options.step);
return this.options.min !== null && (e = Math.max(e, this._precisionOf(this.options.min))),
e
},
_precisionOf: function(e) {
var t = e.toString()
, n = t.indexOf(".");
return n === -1 ? 0 : t.length - n - 1
},
_adjustValue: function(e) {
var t, n, r = this.options;
return t = r.min !== null ? r.min : 0,
n = e - t,
n = Math.round(n / r.step) * r.step,
e = t + n,
e = parseFloat(e.toFixed(this._precision())),
r.max !== null && e > r.max ? r.max : r.min !== null && e < r.min ? r.min : e
},
_stop: function(e) {
if (!this.spinning)
return;
clearTimeout(this.timer),
clearTimeout(this.mousewheelTimer),
this.counter = 0,
this.spinning = !1,
this._trigger("stop", e)
},
_setOption: function(e, t) {
if (e === "culture" || e === "numberFormat") {
var n = this._parse(this.element.val());
this.options[e] = t,
this.element.val(this._format(n));
return
}
(e === "max" || e === "min" || e === "step") && typeof t == "string" && (t = this._parse(t)),
this._super(e, t),
e === "disabled" && (t ? (this.element.prop("disabled", !0),
this.buttons.button("disable")) : (this.element.prop("disabled", !1),
this.buttons.button("enable")))
},
_setOptions: t(function(e) {
this._super(e),
this._value(this.element.val())
}),
_parse: function(e) {
return typeof e == "string" && e !== "" && (e = window.Globalize && this.options.numberFormat ? Globalize.parseFloat(e, 10, this.options.culture) : +e),
e === "" || isNaN(e) ? null : e
},
_format: function(e) {
return e === "" ? "" : window.Globalize && this.options.numberFormat ? Globalize.format(e, this.options.numberFormat, this.options.culture) : e
},
_refresh: function() {
this.element.attr({
"aria-valuemin": this.options.min,
"aria-valuemax": this.options.max,
"aria-valuenow": this._parse(this.element.val())
})
},
_value: function(e, t) {
var n;
e !== "" && (n = this._parse(e),
n !== null && (t || (n = this._adjustValue(n)),
e = this._format(n))),
this.element.val(e),
this._refresh()
},
_destroy: function() {
this.element.removeClass("ui-spinner-input").prop("disabled", !1).removeAttr("autocomplete").removeAttr("role").removeAttr("aria-valuemin").removeAttr("aria-valuemax").removeAttr("aria-valuenow"),
this.uiSpinner.replaceWith(this.element)
},
stepUp: t(function(e) {
this._stepUp(e)
}),
_stepUp: function(e) {
this._spin((e || 1) * this.options.step)
},
stepDown: t(function(e) {
this._stepDown(e)
}),
_stepDown: function(e) {
this._spin((e || 1) * -this.options.step)
},
pageUp: t(function(e) {
this._stepUp((e || 1) * this.options.page)
}),
pageDown: t(function(e) {
this._stepDown((e || 1) * this.options.page)
}),
value: function(e) {
if (!arguments.length)
return this._parse(this.element.val());
t(this._value).call(this, e)
},
widget: function() {
return this.uiSpinner
}
})
}(jQuery),
function(e, t) {
function i() {
return ++n
}
function s(e) {
return e.hash.length > 1 && e.href.replace(r, "") === location.href.replace(r, "")
}
var n = 0
, r = /#.*$/;
e.widget("ui.tabs", {
version: "1.9.1",
delay: 300,
options: {
active: null,
collapsible: !1,
event: "click",
heightStyle: "content",
hide: null,
show: null,
activate: null,
beforeActivate: null,
beforeLoad: null,
load: null
},
_create: function() {
var t = this
, n = this.options
, r = n.active
, i = location.hash.substring(1);
this.running = !1,
this.element.addClass("ui-tabs ui-widget ui-widget-content ui-corner-all").toggleClass("ui-tabs-collapsible", n.collapsible).delegate(".ui-tabs-nav > li", "mousedown" + this.eventNamespace, function(t) {
e(this).is(".ui-state-disabled") && t.preventDefault()
}).delegate(".ui-tabs-anchor", "focus" + this.eventNamespace, function() {
e(this).closest("li").is(".ui-state-disabled") && this.blur()
}),
this._processTabs();
if (r === null) {
i && this.tabs.each(function(t, n) {
if (e(n).attr("aria-controls") === i)
return r = t,
!1
}),
r === null && (r = this.tabs.index(this.tabs.filter(".ui-tabs-active")));
if (r === null || r === -1)
r = this.tabs.length ? 0 : !1
}
r !== !1 && (r = this.tabs.index(this.tabs.eq(r)),
r === -1 && (r = n.collapsible ? !1 : 0)),
n.active = r,
!n.collapsible && n.active === !1 && this.anchors.length && (n.active = 0),
e.isArray(n.disabled) && (n.disabled = e.unique(n.disabled.concat(e.map(this.tabs.filter(".ui-state-disabled"), function(e) {
return t.tabs.index(e)
}))).sort()),
this.options.active !== !1 && this.anchors.length ? this.active = this._findActive(this.options.active) : this.active = e(),
this._refresh(),
this.active.length && this.load(n.active)
},
_getCreateEventData: function() {
return {
tab: this.active,
panel: this.active.length ? this._getPanelForTab(this.active) : e()
}
},
_tabKeydown: function(t) {
var n = e(this.document[0].activeElement).closest("li")
, r = this.tabs.index(n)
, i = !0;
if (this._handlePageNav(t))
return;
switch (t.keyCode) {
case e.ui.keyCode.RIGHT:
case e.ui.keyCode.DOWN:
r++;
break;
case e.ui.keyCode.UP:
case e.ui.keyCode.LEFT:
i = !1,
r--;
break;
case e.ui.keyCode.END:
r = this.anchors.length - 1;
break;
case e.ui.keyCode.HOME:
r = 0;
break;
case e.ui.keyCode.SPACE:
t.preventDefault(),
clearTimeout(this.activating),
this._activate(r);
return;
case e.ui.keyCode.ENTER:
t.preventDefault(),
clearTimeout(this.activating),
this._activate(r === this.options.active ? !1 : r);
return;
default:
return
}
t.preventDefault(),
clearTimeout(this.activating),
r = this._focusNextTab(r, i),
t.ctrlKey || (n.attr("aria-selected", "false"),
this.tabs.eq(r).attr("aria-selected", "true"),
this.activating = this._delay(function() {
this.option("active", r)
}, this.delay))
},
_panelKeydown: function(t) {
if (this._handlePageNav(t))
return;
t.ctrlKey && t.keyCode === e.ui.keyCode.UP && (t.preventDefault(),
this.active.focus())
},
_handlePageNav: function(t) {
if (t.altKey && t.keyCode === e.ui.keyCode.PAGE_UP)
return this._activate(this._focusNextTab(this.options.active - 1, !1)),
!0;
if (t.altKey && t.keyCode === e.ui.keyCode.PAGE_DOWN)
return this._activate(this._focusNextTab(this.options.active + 1, !0)),
!0
},
_findNextTab: function(t, n) {
function i() {
return t > r && (t = 0),
t < 0 && (t = r),
t
}
var r = this.tabs.length - 1;
while (e.inArray(i(), this.options.disabled) !== -1)
t = n ? t + 1 : t - 1;
return t
},
_focusNextTab: function(e, t) {
return e = this._findNextTab(e, t),
this.tabs.eq(e).focus(),
e
},
_setOption: function(e, t) {
if (e === "active") {
this._activate(t);
return
}
if (e === "disabled") {
this._setupDisabled(t);
return
}
this._super(e, t),
e === "collapsible" && (this.element.toggleClass("ui-tabs-collapsible", t),
!t && this.options.active === !1 && this._activate(0)),
e === "event" && this._setupEvents(t),
e === "heightStyle" && this._setupHeightStyle(t)
},
_tabId: function(e) {
return e.attr("aria-controls") || "ui-tabs-" + i()
},
_sanitizeSelector: function(e) {
return e ? e.replace(/[!"$%&'()*+,.\/:;<=>?@\[\]\^`{|}~]/g, "\\$&") : ""
},
refresh: function() {
var t = this.options
, n = this.tablist.children(":has(a[href])");
t.disabled = e.map(n.filter(".ui-state-disabled"), function(e) {
return n.index(e)
}),
this._processTabs(),
t.active === !1 || !this.anchors.length ? (t.active = !1,
this.active = e()) : this.active.length && !e.contains(this.tablist[0], this.active[0]) ? this.tabs.length === t.disabled.length ? (t.active = !1,
this.active = e()) : this._activate(this._findNextTab(Math.max(0, t.active - 1), !1)) : t.active = this.tabs.index(this.active),
this._refresh()
},
_refresh: function() {
this._setupDisabled(this.options.disabled),
this._setupEvents(this.options.event),
this._setupHeightStyle(this.options.heightStyle),
this.tabs.not(this.active).attr({
"aria-selected": "false",
tabIndex: -1
}),
this.panels.not(this._getPanelForTab(this.active)).hide().attr({
"aria-expanded": "false",
"aria-hidden": "true"
}),
this.active.length ? (this.active.addClass("ui-tabs-active ui-state-active").attr({
"aria-selected": "true",
tabIndex: 0
}),
this._getPanelForTab(this.active).show().attr({
"aria-expanded": "true",
"aria-hidden": "false"
})) : this.tabs.eq(0).attr("tabIndex", 0)
},
_processTabs: function() {
var t = this;
this.tablist = this._getList().addClass("ui-tabs-nav ui-helper-reset ui-helper-clearfix ui-widget-header ui-corner-all").attr("role", "tablist"),
this.tabs = this.tablist.find("> li:has(a[href])").addClass("ui-state-default ui-corner-top").attr({
role: "tab",
tabIndex: -1
}),
this.anchors = this.tabs.map(function() {
return e("a", this)[0]
}).addClass("ui-tabs-anchor").attr({
role: "presentation",
tabIndex: -1
}),
this.panels = e(),
this.anchors.each(function(n, r) {
var i, o, u, a = e(r).uniqueId().attr("id"), f = e(r).closest("li"), l = f.attr("aria-controls");
s(r) ? (i = r.hash,
o = t.element.find(t._sanitizeSelector(i))) : (u = t._tabId(f),
i = "#" + u,
o = t.element.find(i),
o.length || (o = t._createPanel(u),
o.insertAfter(t.panels[n - 1] || t.tablist)),
o.attr("aria-live", "polite")),
o.length && (t.panels = t.panels.add(o)),
l && f.data("ui-tabs-aria-controls", l),
f.attr({
"aria-controls": i.substring(1),
"aria-labelledby": a
}),
o.attr("aria-labelledby", a)
}),
this.panels.addClass("ui-tabs-panel ui-widget-content ui-corner-bottom").attr("role", "tabpanel")
},
_getList: function() {
return this.element.find("ol,ul").eq(0)
},
_createPanel: function(t) {
return e("<div>").attr("id", t).addClass("ui-tabs-panel ui-widget-content ui-corner-bottom").data("ui-tabs-destroy", !0)
},
_setupDisabled: function(t) {
e.isArray(t) && (t.length ? t.length === this.anchors.length && (t = !0) : t = !1);
for (var n = 0, r; r = this.tabs[n]; n++)
t === !0 || e.inArray(n, t) !== -1 ? e(r).addClass("ui-state-disabled").attr("aria-disabled", "true") : e(r).removeClass("ui-state-disabled").removeAttr("aria-disabled");
this.options.disabled = t
},
_setupEvents: function(t) {
var n = {
click: function(e) {
e.preventDefault()
}
};
t && e.each(t.split(" "), function(e, t) {
n[t] = "_eventHandler"
}),
this._off(this.anchors.add(this.tabs).add(this.panels)),
this._on(this.anchors, n),
this._on(this.tabs, {
keydown: "_tabKeydown"
}),
this._on(this.panels, {
keydown: "_panelKeydown"
}),
this._focusable(this.tabs),
this._hoverable(this.tabs)
},
_setupHeightStyle: function(t) {
var n, r, i = this.element.parent();
t === "fill" ? (e.support.minHeight || (r = i.css("overflow"),
i.css("overflow", "hidden")),
n = i.height(),
this.element.siblings(":visible").each(function() {
var t = e(this)
, r = t.css("position");
if (r === "absolute" || r === "fixed")
return;
n -= t.outerHeight(!0)
}),
r && i.css("overflow", r),
this.element.children().not(this.panels).each(function() {
n -= e(this).outerHeight(!0)
}),
this.panels.each(function() {
e(this).height(Math.max(0, n - e(this).innerHeight() + e(this).height()))
}).css("overflow", "auto")) : t === "auto" && (n = 0,
this.panels.each(function() {
n = Math.max(n, e(this).height("").height())
}).height(n))
},
_eventHandler: function(t) {
var n = this.options
, r = this.active
, i = e(t.currentTarget)
, s = i.closest("li")
, o = s[0] === r[0]
, u = o && n.collapsible
, a = u ? e() : this._getPanelForTab(s)
, f = r.length ? this._getPanelForTab(r) : e()
, l = {
oldTab: r,
oldPanel: f,
newTab: u ? e() : s,
newPanel: a
};
t.preventDefault();
if (s.hasClass("ui-state-disabled") || s.hasClass("ui-tabs-loading") || this.running || o && !n.collapsible || this._trigger("beforeActivate", t, l) === !1)
return;
n.active = u ? !1 : this.tabs.index(s),
this.active = o ? e() : s,
this.xhr && this.xhr.abort(),
!f.length && !a.length && e.error("jQuery UI Tabs: Mismatching fragment identifier."),
a.length && this.load(this.tabs.index(s), t),
this._toggle(t, l)
},
_toggle: function(t, n) {
function o() {
r.running = !1,
r._trigger("activate", t, n)
}
function u() {
n.newTab.closest("li").addClass("ui-tabs-active ui-state-active"),
i.length && r.options.show ? r._show(i, r.options.show, o) : (i.show(),
o())
}
var r = this
, i = n.newPanel
, s = n.oldPanel;
this.running = !0,
s.length && this.options.hide ? this._hide(s, this.options.hide, function() {
n.oldTab.closest("li").removeClass("ui-tabs-active ui-state-active"),
u()
}) : (n.oldTab.closest("li").removeClass("ui-tabs-active ui-state-active"),
s.hide(),
u()),
s.attr({
"aria-expanded": "false",
"aria-hidden": "true"
}),
n.oldTab.attr("aria-selected", "false"),
i.length && s.length ? n.oldTab.attr("tabIndex", -1) : i.length && this.tabs.filter(function() {
return e(this).attr("tabIndex") === 0
}).attr("tabIndex", -1),
i.attr({
"aria-expanded": "true",
"aria-hidden": "false"
}),
n.newTab.attr({
"aria-selected": "true",
tabIndex: 0
})
},
_activate: function(t) {
var n, r = this._findActive(t);
if (r[0] === this.active[0])
return;
r.length || (r = this.active),
n = r.find(".ui-tabs-anchor")[0],
this._eventHandler({
target: n,
currentTarget: n,
preventDefault: e.noop
})
},
_findActive: function(t) {
return t === !1 ? e() : this.tabs.eq(t)
},
_getIndex: function(e) {
return typeof e == "string" && (e = this.anchors.index(this.anchors.filter("[href$='" + e + "']"))),
e
},
_destroy: function() {
this.xhr && this.xhr.abort(),
this.element.removeClass("ui-tabs ui-widget ui-widget-content ui-corner-all ui-tabs-collapsible"),
this.tablist.removeClass("ui-tabs-nav ui-helper-reset ui-helper-clearfix ui-widget-header ui-corner-all").removeAttr("role"),
this.anchors.removeClass("ui-tabs-anchor").removeAttr("role").removeAttr("tabIndex").removeData("href.tabs").removeData("load.tabs").removeUniqueId(),
this.tabs.add(this.panels).each(function() {
e.data(this, "ui-tabs-destroy") ? e(this).remove() : e(this).removeClass("ui-state-default ui-state-active ui-state-disabled ui-corner-top ui-corner-bottom ui-widget-content ui-tabs-active ui-tabs-panel").removeAttr("tabIndex").removeAttr("aria-live").removeAttr("aria-busy").removeAttr("aria-selected").removeAttr("aria-labelledby").removeAttr("aria-hidden").removeAttr("aria-expanded").removeAttr("role")
}),
this.tabs.each(function() {
var t = e(this)
, n = t.data("ui-tabs-aria-controls");
n ? t.attr("aria-controls", n) : t.removeAttr("aria-controls")
}),
this.options.heightStyle !== "content" && this.panels.css("height", "")
},
enable: function(n) {
var r = this.options.disabled;
if (r === !1)
return;
n === t ? r = !1 : (n = this._getIndex(n),
e.isArray(r) ? r = e.map(r, function(e) {
return e !== n ? e : null
}) : r = e.map(this.tabs, function(e, t) {
return t !== n ? t : null
})),
this._setupDisabled(r)
},
disable: function(n) {
var r = this.options.disabled;
if (r === !0)
return;
if (n === t)
r = !0;
else {
n = this._getIndex(n);
if (e.inArray(n, r) !== -1)
return;
e.isArray(r) ? r = e.merge([n], r).sort() : r = [n]
}
this._setupDisabled(r)
},
load: function(t, n) {
t = this._getIndex(t);
var r = this
, i = this.tabs.eq(t)
, o = i.find(".ui-tabs-anchor")
, u = this._getPanelForTab(i)
, a = {
tab: i,
panel: u
};
if (s(o[0]))
return;
this.xhr = e.ajax(this._ajaxSettings(o, n, a)),
this.xhr && this.xhr.statusText !== "canceled" && (i.addClass("ui-tabs-loading"),
u.attr("aria-busy", "true"),
this.xhr.success(function(e) {
setTimeout(function() {
u.html(e),
r._trigger("load", n, a)
}, 1)
}).complete(function(e, t) {
setTimeout(function() {
t === "abort" && r.panels.stop(!1, !0),
i.removeClass("ui-tabs-loading"),
u.removeAttr("aria-busy"),
e === r.xhr && delete r.xhr
}, 1)
}))
},
_ajaxSettings: function(t, n, r) {
var i = this;
return {
url: t.attr("href"),
beforeSend: function(t, s) {
return i._trigger("beforeLoad", n, e.extend({
jqXHR: t,
ajaxSettings: s
}, r))
}
}
},
_getPanelForTab: function(t) {
var n = e(t).attr("aria-controls");
return this.element.find(this._sanitizeSelector("#" + n))
}
}),
e.uiBackCompat !== !1 && (e.ui.tabs.prototype._ui = function(e, t) {
return {
tab: e,
panel: t,
index: this.anchors.index(e)
}
}
,
e.widget("ui.tabs", e.ui.tabs, {
url: function(e, t) {
this.anchors.eq(e).attr("href", t)
}
}),
e.widget("ui.tabs", e.ui.tabs, {
options: {
ajaxOptions: null,
cache: !1
},
_create: function() {
this._super();
var t = this;
this._on({
tabsbeforeload: function(n, r) {
if (e.data(r.tab[0], "cache.tabs")) {
n.preventDefault();
return
}
r.jqXHR.success(function() {
t.options.cache && e.data(r.tab[0], "cache.tabs", !0)
})
}
})
},
_ajaxSettings: function(t, n, r) {
var i = this.options.ajaxOptions;
return e.extend({}, i, {
error: function(e, t) {
try {
i.error(e, t, r.tab.closest("li").index(), r.tab[0])
} catch (n) {}
}
}, this._superApply(arguments))
},
_setOption: function(e, t) {
e === "cache" && t === !1 && this.anchors.removeData("cache.tabs"),
this._super(e, t)
},
_destroy: function() {
this.anchors.removeData("cache.tabs"),
this._super()
},
url: function(e) {
this.anchors.eq(e).removeData("cache.tabs"),
this._superApply(arguments)
}
}),
e.widget("ui.tabs", e.ui.tabs, {
abort: function() {
this.xhr && this.xhr.abort()
}
}),
e.widget("ui.tabs", e.ui.tabs, {
options: {
spinner: "<em>Loading&#8230;</em>"
},
_create: function() {
this._super(),
this._on({
tabsbeforeload: function(e, t) {
if (e.target !== this.element[0] || !this.options.spinner)
return;
var n = t.tab.find("span")
, r = n.html();
n.html(this.options.spinner),
t.jqXHR.complete(function() {
n.html(r)
})
}
})
}
}),
e.widget("ui.tabs", e.ui.tabs, {
options: {
enable: null,
disable: null
},
enable: function(t) {
var n = this.options, r;
if (t && n.disabled === !0 || e.isArray(n.disabled) && e.inArray(t, n.disabled) !== -1)
r = !0;
this._superApply(arguments),
r && this._trigger("enable", null, this._ui(this.anchors[t], this.panels[t]))
},
disable: function(t) {
var n = this.options, r;
if (t && n.disabled === !1 || e.isArray(n.disabled) && e.inArray(t, n.disabled) === -1)
r = !0;
this._superApply(arguments),
r && this._trigger("disable", null, this._ui(this.anchors[t], this.panels[t]))
}
}),
e.widget("ui.tabs", e.ui.tabs, {
options: {
add: null,
remove: null,
tabTemplate: "<li><a href='#{href}'><span>#{label}</span></a></li>"
},
add: function(n, r, i) {
i === t && (i = this.anchors.length);
var s, o, u = this.options, a = e(u.tabTemplate.replace(/#\{href\}/g, n).replace(/#\{label\}/g, r)), f = n.indexOf("#") ? this._tabId(a) : n.replace("#", "");
return a.addClass("ui-state-default ui-corner-top").data("ui-tabs-destroy", !0),
a.attr("aria-controls", f),
s = i >= this.tabs.length,
o = this.element.find("#" + f),
o.length || (o = this._createPanel(f),
s ? i > 0 ? o.insertAfter(this.panels.eq(-1)) : o.appendTo(this.element) : o.insertBefore(this.panels[i])),
o.addClass("ui-tabs-panel ui-widget-content ui-corner-bottom").hide(),
s ? a.appendTo(this.tablist) : a.insertBefore(this.tabs[i]),
u.disabled = e.map(u.disabled, function(e) {
return e >= i ? ++e : e
}),
this.refresh(),
this.tabs.length === 1 && u.active === !1 && this.option("active", 0),
this._trigger("add", null, this._ui(this.anchors[i], this.panels[i])),
this
},
remove: function(t) {
t = this._getIndex(t);
var n = this.options
, r = this.tabs.eq(t).remove()
, i = this._getPanelForTab(r).remove();
return r.hasClass("ui-tabs-active") && this.anchors.length > 2 && this._activate(t + (t + 1 < this.anchors.length ? 1 : -1)),
n.disabled = e.map(e.grep(n.disabled, function(e) {
return e !== t
}), function(e) {
return e >= t ? --e : e
}),
this.refresh(),
this._trigger("remove", null, this._ui(r.find("a")[0], i[0])),
this
}
}),
e.widget("ui.tabs", e.ui.tabs, {
length: function() {
return this.anchors.length
}
}),
e.widget("ui.tabs", e.ui.tabs, {
options: {
idPrefix: "ui-tabs-"
},
_tabId: function(t) {
var n = t.is("li") ? t.find("a[href]") : t;
return n = n[0],
e(n).closest("li").attr("aria-controls") || n.title && n.title.replace(/\s/g, "_").replace(/[^\w\u00c0-\uFFFF\-]/g, "") || this.options.idPrefix + i()
}
}),
e.widget("ui.tabs", e.ui.tabs, {
options: {
panelTemplate: "<div></div>"
},
_createPanel: function(t) {
return e(this.options.panelTemplate).attr("id", t).addClass("ui-tabs-panel ui-widget-content ui-corner-bottom").data("ui-tabs-destroy", !0)
}
}),
e.widget("ui.tabs", e.ui.tabs, {
_create: function() {
var e = this.options;
e.active === null && e.selected !== t && (e.active = e.selected === -1 ? !1 : e.selected),
this._super(),
e.selected = e.active,
e.selected === !1 && (e.selected = -1)
},
_setOption: function(e, t) {
if (e !== "selected")
return this._super(e, t);
var n = this.options;
this._super("active", t === -1 ? !1 : t),
n.selected = n.active,
n.selected === !1 && (n.selected = -1)
},
_eventHandler: function() {
this._superApply(arguments),
this.options.selected = this.options.active,
this.options.selected === !1 && (this.options.selected = -1)
}
}),
e.widget("ui.tabs", e.ui.tabs, {
options: {
show: null,
select: null
},
_create: function() {
this._super(),
this.options.active !== !1 && this._trigger("show", null, this._ui(this.active.find(".ui-tabs-anchor")[0], this._getPanelForTab(this.active)[0]))
},
_trigger: function(e, t, n) {
var r = this._superApply(arguments);
return r ? (e === "beforeActivate" && n.newTab.length ? r = this._super("select", t, {
tab: n.newTab.find(".ui-tabs-anchor")[0],
panel: n.newPanel[0],
index: n.newTab.closest("li").index()
}) : e === "activate" && n.newTab.length && (r = this._super("show", t, {
tab: n.newTab.find(".ui-tabs-anchor")[0],
panel: n.newPanel[0],
index: n.newTab.closest("li").index()
})),
r) : !1
}
}),
e.widget("ui.tabs", e.ui.tabs, {
select: function(e) {
e = this._getIndex(e);
if (e === -1) {
if (!this.options.collapsible || this.options.selected === -1)
return;
e = this.options.selected
}
this.anchors.eq(e).trigger(this.options.event + this.eventNamespace)
}
}),
function() {
var t = 0;
e.widget("ui.tabs", e.ui.tabs, {
options: {
cookie: null
},
_create: function() {
var e = this.options, t;
e.active == null && e.cookie && (t = parseInt(this._cookie(), 10),
t === -1 && (t = !1),
e.active = t),
this._super()
},
_cookie: function(n) {
var r = [this.cookie || (this.cookie = this.options.cookie.name || "ui-tabs-" + ++t)];
return arguments.length && (r.push(n === !1 ? -1 : n),
r.push(this.options.cookie)),
e.cookie.apply(null, r)
},
_refresh: function() {
this._super(),
this.options.cookie && this._cookie(this.options.active, this.options.cookie)
},
_eventHandler: function() {
this._superApply(arguments),
this.options.cookie && this._cookie(this.options.active, this.options.cookie)
},
_destroy: function() {
this._super(),
this.options.cookie && this._cookie(null, this.options.cookie)
}
})
}(),
e.widget("ui.tabs", e.ui.tabs, {
_trigger: function(t, n, r) {
var i = e.extend({}, r);
return t === "load" && (i.panel = i.panel[0],
i.tab = i.tab.find(".ui-tabs-anchor")[0]),
this._super(t, n, i)
}
}),
e.widget("ui.tabs", e.ui.tabs, {
options: {
fx: null
},
_getFx: function() {
var t, n, r = this.options.fx;
return r && (e.isArray(r) ? (t = r[0],
n = r[1]) : t = n = r),
r ? {
show: n,
hide: t
} : null
},
_toggle: function(e, t) {
function o() {
n.running = !1,
n._trigger("activate", e, t)
}
function u() {
t.newTab.closest("li").addClass("ui-tabs-active ui-state-active"),
r.length && s.show ? r.animate(s.show, s.show.duration, function() {
o()
}) : (r.show(),
o())
}
var n = this
, r = t.newPanel
, i = t.oldPanel
, s = this._getFx();
if (!s)
return this._super(e, t);
n.running = !0,
i.length && s.hide ? i.animate(s.hide, s.hide.duration, function() {
t.oldTab.closest("li").removeClass("ui-tabs-active ui-state-active"),
u()
}) : (t.oldTab.closest("li").removeClass("ui-tabs-active ui-state-active"),
i.hide(),
u())
}
}))
}(jQuery),
function(e) {
function n(t, n) {
var r = (t.attr("aria-describedby") || "").split(/\s+/);
r.push(n),
t.data("ui-tooltip-id", n).attr("aria-describedby", e.trim(r.join(" ")))
}
function r(t) {
var n = t.data("ui-tooltip-id")
, r = (t.attr("aria-describedby") || "").split(/\s+/)
, i = e.inArray(n, r);
i !== -1 && r.splice(i, 1),
t.removeData("ui-tooltip-id"),
r = e.trim(r.join(" ")),
r ? t.attr("aria-describedby", r) : t.removeAttr("aria-describedby")
}
var t = 0;
e.widget("ui.tooltip", {
version: "1.9.1",
options: {
content: function() {
return e(this).attr("title")
},
hide: !0,
items: "[title]:not([disabled])",
position: {
my: "left top+15",
at: "left bottom",
collision: "flipfit flipfit"
},
show: !0,
tooltipClass: null,
track: !1,
close: null,
open: null
},
_create: function() {
this._on({
mouseover: "open",
focusin: "open"
}),
this.tooltips = {},
this.parents = {},
this.options.disabled && this._disable()
},
_setOption: function(t, n) {
var r = this;
if (t === "disabled") {
this[n ? "_disable" : "_enable"](),
this.options[t] = n;
return
}
this._super(t, n),
t === "content" && e.each(this.tooltips, function(e, t) {
r._updateContent(t)
})
},
_disable: function() {
var t = this;
e.each(this.tooltips, function(n, r) {
var i = e.Event("blur");
i.target = i.currentTarget = r[0],
t.close(i, !0)
}),
this.element.find(this.options.items).andSelf().each(function() {
var t = e(this);
t.is("[title]") && t.data("ui-tooltip-title", t.attr("title")).attr("title", "")
})
},
_enable: function() {
this.element.find(this.options.items).andSelf().each(function() {
var t = e(this);
t.data("ui-tooltip-title") && t.attr("title", t.data("ui-tooltip-title"))
})
},
open: function(t) {
var n = this
, r = e(t ? t.target : this.element).closest(this.options.items);
if (!r.length)
return;
if (this.options.track && r.data("ui-tooltip-id")) {
this._find(r).position(e.extend({
of: r
}, this.options.position)),
this._off(this.document, "mousemove");
return
}
r.attr("title") && r.data("ui-tooltip-title", r.attr("title")),
r.data("tooltip-open", !0),
t && t.type === "mouseover" && r.parents().each(function() {
var t;
e(this).data("tooltip-open") && (t = e.Event("blur"),
t.target = t.currentTarget = this,
n.close(t, !0)),
this.title && (e(this).uniqueId(),
n.parents[this.id] = {
element: this,
title: this.title
},
this.title = "")
}),
this._updateContent(r, t)
},
_updateContent: function(e, t) {
var n, r = this.options.content, i = this;
if (typeof r == "string")
return this._open(t, e, r);
n = r.call(e[0], function(n) {
if (!e.data("tooltip-open"))
return;
i._delay(function() {
this._open(t, e, n)
})
}),
n && this._open(t, e, n)
},
_open: function(t, r, i) {
function f(e) {
a.of = e;
if (s.is(":hidden"))
return;
s.position(a)
}
var s, o, u, a = e.extend({}, this.options.position);
if (!i)
return;
s = this._find(r);
if (s.length) {
s.find(".ui-tooltip-content").html(i);
return
}
r.is("[title]") && (t && t.type === "mouseover" ? r.attr("title", "") : r.removeAttr("title")),
s = this._tooltip(r),
n(r, s.attr("id")),
s.find(".ui-tooltip-content").html(i),
this.options.track && t && /^mouse/.test(t.originalEvent.type) ? (this._on(this.document, {
mousemove: f
}),
f(t)) : s.position(e.extend({
of: r
}, this.options.position)),
s.hide(),
this._show(s, this.options.show),
this.options.show && this.options.show.delay && (u = setInterval(function() {
s.is(":visible") && (f(a.of),
clearInterval(u))
}, e.fx.interval)),
this._trigger("open", t, {
tooltip: s
}),
o = {
keyup: function(t) {
if (t.keyCode === e.ui.keyCode.ESCAPE) {
var n = e.Event(t);
n.currentTarget = r[0],
this.close(n, !0)
}
},
remove: function() {
this._removeTooltip(s)
}
};
if (!t || t.type === "mouseover")
o.mouseleave = "close";
if (!t || t.type === "focusin")
o.focusout = "close";
this._on(r, o)
},
close: function(t) {
var n = this
, i = e(t ? t.currentTarget : this.element)
, s = this._find(i);
if (this.closing)
return;
i.data("ui-tooltip-title") && i.attr("title", i.data("ui-tooltip-title")),
r(i),
s.stop(!0),
this._hide(s, this.options.hide, function() {
n._removeTooltip(e(this))
}),
i.removeData("tooltip-open"),
this._off(i, "mouseleave focusout keyup"),
i[0] !== this.element[0] && this._off(i, "remove"),
this._off(this.document, "mousemove"),
t && t.type === "mouseleave" && e.each(this.parents, function(e, t) {
t.element.title = t.title,
delete n.parents[e]
}),
this.closing = !0,
this._trigger("close", t, {
tooltip: s
}),
this.closing = !1
},
_tooltip: function(n) {
var r = "ui-tooltip-" + t++
, i = e("<div>").attr({
id: r,
role: "tooltip"
}).addClass("ui-tooltip ui-widget ui-corner-all ui-widget-content " + (this.options.tooltipClass || ""));
return e("<div>").addClass("ui-tooltip-content").appendTo(i),
i.appendTo(this.document[0].body),
e.fn.bgiframe && i.bgiframe(),
this.tooltips[r] = n,
i
},
_find: function(t) {
var n = t.data("ui-tooltip-id");
return n ? e("#" + n) : e()
},
_removeTooltip: function(e) {
e.remove(),
delete this.tooltips[e.attr("id")]
},
_destroy: function() {
var t = this;
e.each(this.tooltips, function(n, r) {
var i = e.Event("blur");
i.target = i.currentTarget = r[0],
t.close(i, !0),
e("#" + n).remove(),
r.data("ui-tooltip-title") && (r.attr("title", r.data("ui-tooltip-title")),
r.removeData("ui-tooltip-title"))
})
}
})
}(jQuery);
/*! jQuery v1.8.2 jquery.com | jquery.org/license */
(function(a, b) {
function G(a) {
var b = F[a] = {};
return p.each(a.split(s), function(a, c) {
b[c] = !0
}),
b
}
function J(a, c, d) {
if (d === b && a.nodeType === 1) {
var e = "data-" + c.replace(I, "-$1").toLowerCase();
d = a.getAttribute(e);
if (typeof d == "string") {
try {
d = d === "true" ? !0 : d === "false" ? !1 : d === "null" ? null : +d + "" === d ? +d : H.test(d) ? p.parseJSON(d) : d
} catch (f) {}
p.data(a, c, d)
} else
d = b
}
return d
}
function K(a) {
var b;
for (b in a) {
if (b === "data" && p.isEmptyObject(a[b]))
continue;
if (b !== "toJSON")
return !1
}
return !0
}
function ba() {
return !1
}
function bb() {
return !0
}
function bh(a) {
return !a || !a.parentNode || a.parentNode.nodeType === 11
}
function bi(a, b) {
do
a = a[b];
while (a && a.nodeType !== 1);
return a
}
function bj(a, b, c) {
b = b || 0;
if (p.isFunction(b))
return p.grep(a, function(a, d) {
var e = !!b.call(a, d, a);
return e === c
});
if (b.nodeType)
return p.grep(a, function(a, d) {
return a === b === c
});
if (typeof b == "string") {
var d = p.grep(a, function(a) {
return a.nodeType === 1
});
if (be.test(b))
return p.filter(b, d, !c);
b = p.filter(b, d)
}
return p.grep(a, function(a, d) {
return p.inArray(a, b) >= 0 === c
})
}
function bk(a) {
var b = bl.split("|")
, c = a.createDocumentFragment();
if (c.createElement)
while (b.length)
c.createElement(b.pop());
return c
}
function bC(a, b) {
return a.getElementsByTagName(b)[0] || a.appendChild(a.ownerDocument.createElement(b))
}
function bD(a, b) {
if (b.nodeType !== 1 || !p.hasData(a))
return;
var c, d, e, f = p._data(a), g = p._data(b, f), h = f.events;
if (h) {
delete g.handle,
g.events = {};
for (c in h)
for (d = 0,
e = h[c].length; d < e; d++)
p.event.add(b, c, h[c][d])
}
g.data && (g.data = p.extend({}, g.data))
}
function bE(a, b) {
var c;
if (b.nodeType !== 1)
return;
b.clearAttributes && b.clearAttributes(),
b.mergeAttributes && b.mergeAttributes(a),
c = b.nodeName.toLowerCase(),
c === "object" ? (b.parentNode && (b.outerHTML = a.outerHTML),
p.support.html5Clone && a.innerHTML && !p.trim(b.innerHTML) && (b.innerHTML = a.innerHTML)) : c === "input" && bv.test(a.type) ? (b.defaultChecked = b.checked = a.checked,
b.value !== a.value && (b.value = a.value)) : c === "option" ? b.selected = a.defaultSelected : c === "input" || c === "textarea" ? b.defaultValue = a.defaultValue : c === "script" && b.text !== a.text && (b.text = a.text),
b.removeAttribute(p.expando)
}
function bF(a) {
return typeof a.getElementsByTagName != "undefined" ? a.getElementsByTagName("*") : typeof a.querySelectorAll != "undefined" ? a.querySelectorAll("*") : []
}
function bG(a) {
bv.test(a.type) && (a.defaultChecked = a.checked)
}
function bY(a, b) {
if (b in a)
return b;
var c = b.charAt(0).toUpperCase() + b.slice(1)
, d = b
, e = bW.length;
while (e--) {
b = bW[e] + c;
if (b in a)
return b
}
return d
}
function bZ(a, b) {
return a = b || a,
p.css(a, "display") === "none" || !p.contains(a.ownerDocument, a)
}
function b$(a, b) {
var c, d, e = [], f = 0, g = a.length;
for (; f < g; f++) {
c = a[f];
if (!c.style)
continue;
e[f] = p._data(c, "olddisplay"),
b ? (!e[f] && c.style.display === "none" && (c.style.display = ""),
c.style.display === "" && bZ(c) && (e[f] = p._data(c, "olddisplay", cc(c.nodeName)))) : (d = bH(c, "display"),
!e[f] && d !== "none" && p._data(c, "olddisplay", d))
}
for (f = 0; f < g; f++) {
c = a[f];
if (!c.style)
continue;
if (!b || c.style.display === "none" || c.style.display === "")
c.style.display = b ? e[f] || "" : "none"
}
return a
}
function b_(a, b, c) {
var d = bP.exec(b);
return d ? Math.max(0, d[1] - (c || 0)) + (d[2] || "px") : b
}
function ca(a, b, c, d) {
var e = c === (d ? "border" : "content") ? 4 : b === "width" ? 1 : 0
, f = 0;
for (; e < 4; e += 2)
c === "margin" && (f += p.css(a, c + bV[e], !0)),
d ? (c === "content" && (f -= parseFloat(bH(a, "padding" + bV[e])) || 0),
c !== "margin" && (f -= parseFloat(bH(a, "border" + bV[e] + "Width")) || 0)) : (f += parseFloat(bH(a, "padding" + bV[e])) || 0,
c !== "padding" && (f += parseFloat(bH(a, "border" + bV[e] + "Width")) || 0));
return f
}
function cb(a, b, c) {
var d = b === "width" ? a.offsetWidth : a.offsetHeight
, e = !0
, f = p.support.boxSizing && p.css(a, "boxSizing") === "border-box";
if (d <= 0 || d == null) {
d = bH(a, b);
if (d < 0 || d == null)
d = a.style[b];
if (bQ.test(d))
return d;
e = f && (p.support.boxSizingReliable || d === a.style[b]),
d = parseFloat(d) || 0
}
return d + ca(a, b, c || (f ? "border" : "content"), e) + "px"
}
function cc(a) {
if (bS[a])
return bS[a];
var b = p("<" + a + ">").appendTo(e.body)
, c = b.css("display");
b.remove();
if (c === "none" || c === "") {
bI = e.body.appendChild(bI || p.extend(e.createElement("iframe"), {
frameBorder: 0,
width: 0,
height: 0
}));
if (!bJ || !bI.createElement)
bJ = (bI.contentWindow || bI.contentDocument).document,
bJ.write("<!doctype html><html><body>"),
bJ.close();
b = bJ.body.appendChild(bJ.createElement(a)),
c = bH(b, "display"),
e.body.removeChild(bI)
}
return bS[a] = c,
c
}
function ci(a, b, c, d) {
var e;
if (p.isArray(b))
p.each(b, function(b, e) {
c || ce.test(a) ? d(a, e) : ci(a + "[" + (typeof e == "object" ? b : "") + "]", e, c, d)
});
else if (!c && p.type(b) === "object")
for (e in b)
ci(a + "[" + e + "]", b[e], c, d);
else
d(a, b)
}
function cz(a) {
return function(b, c) {
typeof b != "string" && (c = b,
b = "*");
var d, e, f, g = b.toLowerCase().split(s), h = 0, i = g.length;
if (p.isFunction(c))
for (; h < i; h++)
d = g[h],
f = /^\+/.test(d),
f && (d = d.substr(1) || "*"),
e = a[d] = a[d] || [],
e[f ? "unshift" : "push"](c)
}
}
function cA(a, c, d, e, f, g) {
f = f || c.dataTypes[0],
g = g || {},
g[f] = !0;
var h, i = a[f], j = 0, k = i ? i.length : 0, l = a === cv;
for (; j < k && (l || !h); j++)
h = i[j](c, d, e),
typeof h == "string" && (!l || g[h] ? h = b : (c.dataTypes.unshift(h),
h = cA(a, c, d, e, h, g)));
return (l || !h) && !g["*"] && (h = cA(a, c, d, e, "*", g)),
h
}
function cB(a, c) {
var d, e, f = p.ajaxSettings.flatOptions || {};
for (d in c)
c[d] !== b && ((f[d] ? a : e || (e = {}))[d] = c[d]);
e && p.extend(!0, a, e)
}
function cC(a, c, d) {
var e, f, g, h, i = a.contents, j = a.dataTypes, k = a.responseFields;
for (f in k)
f in d && (c[k[f]] = d[f]);
while (j[0] === "*")
j.shift(),
e === b && (e = a.mimeType || c.getResponseHeader("content-type"));
if (e)
for (f in i)
if (i[f] && i[f].test(e)) {
j.unshift(f);
break
}
if (j[0]in d)
g = j[0];
else {
for (f in d) {
if (!j[0] || a.converters[f + " " + j[0]]) {
g = f;
break
}
h || (h = f)
}
g = g || h
}
if (g)
return g !== j[0] && j.unshift(g),
d[g]
}
function cD(a, b) {
var c, d, e, f, g = a.dataTypes.slice(), h = g[0], i = {}, j = 0;
a.dataFilter && (b = a.dataFilter(b, a.dataType));
if (g[1])
for (c in a.converters)
i[c.toLowerCase()] = a.converters[c];
for (; e = g[++j]; )
if (e !== "*") {
if (h !== "*" && h !== e) {
c = i[h + " " + e] || i["* " + e];
if (!c)
for (d in i) {
f = d.split(" ");
if (f[1] === e) {
c = i[h + " " + f[0]] || i["* " + f[0]];
if (c) {
c === !0 ? c = i[d] : i[d] !== !0 && (e = f[0],
g.splice(j--, 0, e));
break
}
}
}
if (c !== !0)
if (c && a["throws"])
b = c(b);
else
try {
b = c(b)
} catch (k) {
return {
state: "parsererror",
error: c ? k : "No conversion from " + h + " to " + e
}
}
}
h = e
}
return {
state: "success",
data: b
}
}
function cL() {
try {
return new a.XMLHttpRequest
} catch (b) {}
}
function cM() {
try {
return new a.ActiveXObject("Microsoft.XMLHTTP")
} catch (b) {}
}
function cU() {
return setTimeout(function() {
cN = b
}, 0),
cN = p.now()
}
function cV(a, b) {
p.each(b, function(b, c) {
var d = (cT[b] || []).concat(cT["*"])
, e = 0
, f = d.length;
for (; e < f; e++)
if (d[e].call(a, b, c))
return
})
}
function cW(a, b, c) {
var d, e = 0, f = 0, g = cS.length, h = p.Deferred().always(function() {
delete i.elem
}), i = function() {
var b = cN || cU()
, c = Math.max(0, j.startTime + j.duration - b)
, d = 1 - (c / j.duration || 0)
, e = 0
, f = j.tweens.length;
for (; e < f; e++)
j.tweens[e].run(d);
return h.notifyWith(a, [j, d, c]),
d < 1 && f ? c : (h.resolveWith(a, [j]),
!1)
}, j = h.promise({
elem: a,
props: p.extend({}, b),
opts: p.extend(!0, {
specialEasing: {}
}, c),
originalProperties: b,
originalOptions: c,
startTime: cN || cU(),
duration: c.duration,
tweens: [],
createTween: function(b, c, d) {
var e = p.Tween(a, j.opts, b, c, j.opts.specialEasing[b] || j.opts.easing);
return j.tweens.push(e),
e
},
stop: function(b) {
var c = 0
, d = b ? j.tweens.length : 0;
for (; c < d; c++)
j.tweens[c].run(1);
return b ? h.resolveWith(a, [j, b]) : h.rejectWith(a, [j, b]),
this
}
}), k = j.props;
cX(k, j.opts.specialEasing);
for (; e < g; e++) {
d = cS[e].call(j, a, k, j.opts);
if (d)
return d
}
return cV(j, k),
p.isFunction(j.opts.start) && j.opts.start.call(a, j),
p.fx.timer(p.extend(i, {
anim: j,
queue: j.opts.queue,
elem: a
})),
j.progress(j.opts.progress).done(j.opts.done, j.opts.complete).fail(j.opts.fail).always(j.opts.always)
}
function cX(a, b) {
var c, d, e, f, g;
for (c in a) {
d = p.camelCase(c),
e = b[d],
f = a[c],
p.isArray(f) && (e = f[1],
f = a[c] = f[0]),
c !== d && (a[d] = f,
delete a[c]),
g = p.cssHooks[d];
if (g && "expand"in g) {
f = g.expand(f),
delete a[d];
for (c in f)
c in a || (a[c] = f[c],
b[c] = e)
} else
b[d] = e
}
}
function cY(a, b, c) {
var d, e, f, g, h, i, j, k, l = this, m = a.style, n = {}, o = [], q = a.nodeType && bZ(a);
c.queue || (j = p._queueHooks(a, "fx"),
j.unqueued == null && (j.unqueued = 0,
k = j.empty.fire,
j.empty.fire = function() {
j.unqueued || k()
}
),
j.unqueued++,
l.always(function() {
l.always(function() {
j.unqueued--,
p.queue(a, "fx").length || j.empty.fire()
})
})),
a.nodeType === 1 && ("height"in b || "width"in b) && (c.overflow = [m.overflow, m.overflowX, m.overflowY],
p.css(a, "display") === "inline" && p.css(a, "float") === "none" && (!p.support.inlineBlockNeedsLayout || cc(a.nodeName) === "inline" ? m.display = "inline-block" : m.zoom = 1)),
c.overflow && (m.overflow = "hidden",
p.support.shrinkWrapBlocks || l.done(function() {
m.overflow = c.overflow[0],
m.overflowX = c.overflow[1],
m.overflowY = c.overflow[2]
}));
for (d in b) {
f = b[d];
if (cP.exec(f)) {
delete b[d];
if (f === (q ? "hide" : "show"))
continue;
o.push(d)
}
}
g = o.length;
if (g) {
h = p._data(a, "fxshow") || p._data(a, "fxshow", {}),
q ? p(a).show() : l.done(function() {
p(a).hide()
}),
l.done(function() {
var b;
p.removeData(a, "fxshow", !0);
for (b in n)
p.style(a, b, n[b])
});
for (d = 0; d < g; d++)
e = o[d],
i = l.createTween(e, q ? h[e] : 0),
n[e] = h[e] || p.style(a, e),
e in h || (h[e] = i.start,
q && (i.end = i.start,
i.start = e === "width" || e === "height" ? 1 : 0))
}
}
function cZ(a, b, c, d, e) {
return new cZ.prototype.init(a,b,c,d,e)
}
function c$(a, b) {
var c, d = {
height: a
}, e = 0;
b = b ? 1 : 0;
for (; e < 4; e += 2 - b)
c = bV[e],
d["margin" + c] = d["padding" + c] = a;
return b && (d.opacity = d.width = a),
d
}
function da(a) {
return p.isWindow(a) ? a : a.nodeType === 9 ? a.defaultView || a.parentWindow : !1
}
var c, d, e = a.document, f = a.location, g = a.navigator, h = a.jQuery, i = a.$, j = Array.prototype.push, k = Array.prototype.slice, l = Array.prototype.indexOf, m = Object.prototype.toString, n = Object.prototype.hasOwnProperty, o = String.prototype.trim, p = function(a, b) {
return new p.fn.init(a,b,c)
}, q = /[\-+]?(?:\d*\.|)\d+(?:[eE][\-+]?\d+|)/.source, r = /\S/, s = /\s+/, t = /^[\s\uFEFF\xA0]+|[\s\uFEFF\xA0]+$/g, u = /^(?:[^#<]*(<[\w\W]+>)[^>]*$|#([\w\-]*)$)/, v = /^<(\w+)\s*\/?>(?:<\/\1>|)$/, w = /^[\],:{}\s]*$/, x = /(?:^|:|,)(?:\s*\[)+/g, y = /\\(?:["\\\/bfnrt]|u[\da-fA-F]{4})/g, z = /"[^"\\\r\n]*"|true|false|null|-?(?:\d\d*\.|)\d+(?:[eE][\-+]?\d+|)/g, A = /^-ms-/, B = /-([\da-z])/gi, C = function(a, b) {
return (b + "").toUpperCase()
}, D = function() {
e.addEventListener ? (e.removeEventListener("DOMContentLoaded", D, !1),
p.ready()) : e.readyState === "complete" && (e.detachEvent("onreadystatechange", D),
p.ready())
}, E = {};
p.fn = p.prototype = {
constructor: p,
init: function(a, c, d) {
var f, g, h, i;
if (!a)
return this;
if (a.nodeType)
return this.context = this[0] = a,
this.length = 1,
this;
if (typeof a == "string") {
a.charAt(0) === "<" && a.charAt(a.length - 1) === ">" && a.length >= 3 ? f = [null, a, null] : f = u.exec(a);
if (f && (f[1] || !c)) {
if (f[1])
return c = c instanceof p ? c[0] : c,
i = c && c.nodeType ? c.ownerDocument || c : e,
a = p.parseHTML(f[1], i, !0),
v.test(f[1]) && p.isPlainObject(c) && this.attr.call(a, c, !0),
p.merge(this, a);
g = e.getElementById(f[2]);
if (g && g.parentNode) {
if (g.id !== f[2])
return d.find(a);
this.length = 1,
this[0] = g
}
return this.context = e,
this.selector = a,
this
}
return !c || c.jquery ? (c || d).find(a) : this.constructor(c).find(a)
}
return p.isFunction(a) ? d.ready(a) : (a.selector !== b && (this.selector = a.selector,
this.context = a.context),
p.makeArray(a, this))
},
selector: "",
jquery: "1.8.2",
length: 0,
size: function() {
return this.length
},
toArray: function() {
return k.call(this)
},
get: function(a) {
return a == null ? this.toArray() : a < 0 ? this[this.length + a] : this[a]
},
pushStack: function(a, b, c) {
var d = p.merge(this.constructor(), a);
return d.prevObject = this,
d.context = this.context,
b === "find" ? d.selector = this.selector + (this.selector ? " " : "") + c : b && (d.selector = this.selector + "." + b + "(" + c + ")"),
d
},
each: function(a, b) {
return p.each(this, a, b)
},
ready: function(a) {
return p.ready.promise().done(a),
this
},
eq: function(a) {
return a = +a,
a === -1 ? this.slice(a) : this.slice(a, a + 1)
},
first: function() {
return this.eq(0)
},
last: function() {
return this.eq(-1)
},
slice: function() {
return this.pushStack(k.apply(this, arguments), "slice", k.call(arguments).join(","))
},
map: function(a) {
return this.pushStack(p.map(this, function(b, c) {
return a.call(b, c, b)
}))
},
end: function() {
return this.prevObject || this.constructor(null)
},
push: j,
sort: [].sort,
splice: [].splice
},
p.fn.init.prototype = p.fn,
p.extend = p.fn.extend = function() {
var a, c, d, e, f, g, h = arguments[0] || {}, i = 1, j = arguments.length, k = !1;
typeof h == "boolean" && (k = h,
h = arguments[1] || {},
i = 2),
typeof h != "object" && !p.isFunction(h) && (h = {}),
j === i && (h = this,
--i);
for (; i < j; i++)
if ((a = arguments[i]) != null)
for (c in a) {
d = h[c],
e = a[c];
if (h === e)
continue;
k && e && (p.isPlainObject(e) || (f = p.isArray(e))) ? (f ? (f = !1,
g = d && p.isArray(d) ? d : []) : g = d && p.isPlainObject(d) ? d : {},
h[c] = p.extend(k, g, e)) : e !== b && (h[c] = e)
}
return h
}
,
p.extend({
noConflict: function(b) {
return a.$ === p && (a.$ = i),
b && a.jQuery === p && (a.jQuery = h),
p
},
isReady: !1,
readyWait: 1,
holdReady: function(a) {
a ? p.readyWait++ : p.ready(!0)
},
ready: function(a) {
if (a === !0 ? --p.readyWait : p.isReady)
return;
if (!e.body)
return setTimeout(p.ready, 1);
p.isReady = !0;
if (a !== !0 && --p.readyWait > 0)
return;
d.resolveWith(e, [p]),
p.fn.trigger && p(e).trigger("ready").off("ready")
},
isFunction: function(a) {
return p.type(a) === "function"
},
isArray: Array.isArray || function(a) {
return p.type(a) === "array"
}
,
isWindow: function(a) {
return a != null && a == a.window
},
isNumeric: function(a) {
return !isNaN(parseFloat(a)) && isFinite(a)
},
type: function(a) {
return a == null ? String(a) : E[m.call(a)] || "object"
},
isPlainObject: function(a) {
if (!a || p.type(a) !== "object" || a.nodeType || p.isWindow(a))
return !1;
try {
if (a.constructor && !n.call(a, "constructor") && !n.call(a.constructor.prototype, "isPrototypeOf"))
return !1
} catch (c) {
return !1
}
var d;
for (d in a)
;
return d === b || n.call(a, d)
},
isEmptyObject: function(a) {
var b;
for (b in a)
return !1;
return !0
},
error: function(a) {
throw new Error(a)
},
parseHTML: function(a, b, c) {
var d;
return !a || typeof a != "string" ? null : (typeof b == "boolean" && (c = b,
b = 0),
b = b || e,
(d = v.exec(a)) ? [b.createElement(d[1])] : (d = p.buildFragment([a], b, c ? null : []),
p.merge([], (d.cacheable ? p.clone(d.fragment) : d.fragment).childNodes)))
},
parseJSON: function(b) {
if (!b || typeof b != "string")
return null;
b = p.trim(b);
if (a.JSON && a.JSON.parse)
return a.JSON.parse(b);
if (w.test(b.replace(y, "@").replace(z, "]").replace(x, "")))
return (new Function("return " + b))();
p.error("Invalid JSON: " + b)
},
parseXML: function(c) {
var d, e;
if (!c || typeof c != "string")
return null;
try {
a.DOMParser ? (e = new DOMParser,
d = e.parseFromString(c, "text/xml")) : (d = new ActiveXObject("Microsoft.XMLDOM"),
d.async = "false",
d.loadXML(c))
} catch (f) {
d = b
}
return (!d || !d.documentElement || d.getElementsByTagName("parsererror").length) && p.error("Invalid XML: " + c),
d
},
noop: function() {},
globalEval: function(b) {
b && r.test(b) && (a.execScript || function(b) {
a.eval.call(a, b)
}
)(b)
},
camelCase: function(a) {
return a.replace(A, "ms-").replace(B, C)
},
nodeName: function(a, b) {
return a.nodeName && a.nodeName.toLowerCase() === b.toLowerCase()
},
each: function(a, c, d) {
var e, f = 0, g = a.length, h = g === b || p.isFunction(a);
if (d) {
if (h) {
for (e in a)
if (c.apply(a[e], d) === !1)
break
} else
for (; f < g; )
if (c.apply(a[f++], d) === !1)
break
} else if (h) {
for (e in a)
if (c.call(a[e], e, a[e]) === !1)
break
} else
for (; f < g; )
if (c.call(a[f], f, a[f++]) === !1)
break;
return a
},
trim: o && !o.call(" ") ? function(a) {
return a == null ? "" : o.call(a)
}
: function(a) {
return a == null ? "" : (a + "").replace(t, "")
}
,
makeArray: function(a, b) {
var c, d = b || [];
return a != null && (c = p.type(a),
a.length == null || c === "string" || c === "function" || c === "regexp" || p.isWindow(a) ? j.call(d, a) : p.merge(d, a)),
d
},
inArray: function(a, b, c) {
var d;
if (b) {
if (l)
return l.call(b, a, c);
d = b.length,
c = c ? c < 0 ? Math.max(0, d + c) : c : 0;
for (; c < d; c++)
if (c in b && b[c] === a)
return c
}
return -1
},
merge: function(a, c) {
var d = c.length
, e = a.length
, f = 0;
if (typeof d == "number")
for (; f < d; f++)
a[e++] = c[f];
else
while (c[f] !== b)
a[e++] = c[f++];
return a.length = e,
a
},
grep: function(a, b, c) {
var d, e = [], f = 0, g = a.length;
c = !!c;
for (; f < g; f++)
d = !!b(a[f], f),
c !== d && e.push(a[f]);
return e
},
map: function(a, c, d) {
var e, f, g = [], h = 0, i = a.length, j = a instanceof p || i !== b && typeof i == "number" && (i > 0 && a[0] && a[i - 1] || i === 0 || p.isArray(a));
if (j)
for (; h < i; h++)
e = c(a[h], h, d),
e != null && (g[g.length] = e);
else
for (f in a)
e = c(a[f], f, d),
e != null && (g[g.length] = e);
return g.concat.apply([], g)
},
guid: 1,
proxy: function(a, c) {
var d, e, f;
return typeof c == "string" && (d = a[c],
c = a,
a = d),
p.isFunction(a) ? (e = k.call(arguments, 2),
f = function() {
return a.apply(c, e.concat(k.call(arguments)))
}
,
f.guid = a.guid = a.guid || p.guid++,
f) : b
},
access: function(a, c, d, e, f, g, h) {
var i, j = d == null, k = 0, l = a.length;
if (d && typeof d == "object") {
for (k in d)
p.access(a, c, k, d[k], 1, g, e);
f = 1
} else if (e !== b) {
i = h === b && p.isFunction(e),
j && (i ? (i = c,
c = function(a, b, c) {
return i.call(p(a), c)
}
) : (c.call(a, e),
c = null));
if (c)
for (; k < l; k++)
c(a[k], d, i ? e.call(a[k], k, c(a[k], d)) : e, h);
f = 1
}
return f ? a : j ? c.call(a) : l ? c(a[0], d) : g
},
now: function() {
return (new Date).getTime()
}
}),
p.ready.promise = function(b) {
if (!d) {
d = p.Deferred();
if (e.readyState === "complete")
setTimeout(p.ready, 1);
else if (e.addEventListener)
e.addEventListener("DOMContentLoaded", D, !1),
a.addEventListener("load", p.ready, !1);
else {
e.attachEvent("onreadystatechange", D),
a.attachEvent("onload", p.ready);
var c = !1;
try {
c = a.frameElement == null && e.documentElement
} catch (f) {}
c && c.doScroll && function g() {
if (!p.isReady) {
try {
c.doScroll("left")
} catch (a) {
return setTimeout(g, 50)
}
p.ready()
}
}()
}
}
return d.promise(b)
}
,
p.each("Boolean Number String Function Array Date RegExp Object".split(" "), function(a, b) {
E["[object " + b + "]"] = b.toLowerCase()
}),
c = p(e);
var F = {};
p.Callbacks = function(a) {
a = typeof a == "string" ? F[a] || G(a) : p.extend({}, a);
var c, d, e, f, g, h, i = [], j = !a.once && [], k = function(b) {
c = a.memory && b,
d = !0,
h = f || 0,
f = 0,
g = i.length,
e = !0;
for (; i && h < g; h++)
if (i[h].apply(b[0], b[1]) === !1 && a.stopOnFalse) {
c = !1;
break
}
e = !1,
i && (j ? j.length && k(j.shift()) : c ? i = [] : l.disable())
}, l = {
add: function() {
if (i) {
var b = i.length;
(function d(b) {
p.each(b, function(b, c) {
var e = p.type(c);
e === "function" && (!a.unique || !l.has(c)) ? i.push(c) : c && c.length && e !== "string" && d(c)
})
}
)(arguments),
e ? g = i.length : c && (f = b,
k(c))
}
return this
},
remove: function() {
return i && p.each(arguments, function(a, b) {
var c;
while ((c = p.inArray(b, i, c)) > -1)
i.splice(c, 1),
e && (c <= g && g--,
c <= h && h--)
}),
this
},
has: function(a) {
return p.inArray(a, i) > -1
},
empty: function() {
return i = [],
this
},
disable: function() {
return i = j = c = b,
this
},
disabled: function() {
return !i
},
lock: function() {
return j = b,
c || l.disable(),
this
},
locked: function() {
return !j
},
fireWith: function(a, b) {
return b = b || [],
b = [a, b.slice ? b.slice() : b],
i && (!d || j) && (e ? j.push(b) : k(b)),
this
},
fire: function() {
return l.fireWith(this, arguments),
this
},
fired: function() {
return !!d
}
};
return l
}
,
p.extend({
Deferred: function(a) {
var b = [["resolve", "done", p.Callbacks("once memory"), "resolved"], ["reject", "fail", p.Callbacks("once memory"), "rejected"], ["notify", "progress", p.Callbacks("memory")]]
, c = "pending"
, d = {
state: function() {
return c
},
always: function() {
return e.done(arguments).fail(arguments),
this
},
then: function() {
var a = arguments;
return p.Deferred(function(c) {
p.each(b, function(b, d) {
var f = d[0]
, g = a[b];
e[d[1]](p.isFunction(g) ? function() {
var a = g.apply(this, arguments);
a && p.isFunction(a.promise) ? a.promise().done(c.resolve).fail(c.reject).progress(c.notify) : c[f + "With"](this === e ? c : this, [a])
}
: c[f])
}),
a = null
}).promise()
},
promise: function(a) {
return a != null ? p.extend(a, d) : d
}
}
, e = {};
return d.pipe = d.then,
p.each(b, function(a, f) {
var g = f[2]
, h = f[3];
d[f[1]] = g.add,
h && g.add(function() {
c = h
}, b[a ^ 1][2].disable, b[2][2].lock),
e[f[0]] = g.fire,
e[f[0] + "With"] = g.fireWith
}),
d.promise(e),
a && a.call(e, e),
e
},
when: function(a) {
var b = 0, c = k.call(arguments), d = c.length, e = d !== 1 || a && p.isFunction(a.promise) ? d : 0, f = e === 1 ? a : p.Deferred(), g = function(a, b, c) {
return function(d) {
b[a] = this,
c[a] = arguments.length > 1 ? k.call(arguments) : d,
c === h ? f.notifyWith(b, c) : --e || f.resolveWith(b, c)
}
}, h, i, j;
if (d > 1) {
h = new Array(d),
i = new Array(d),
j = new Array(d);
for (; b < d; b++)
c[b] && p.isFunction(c[b].promise) ? c[b].promise().done(g(b, j, c)).fail(f.reject).progress(g(b, i, h)) : --e
}
return e || f.resolveWith(j, c),
f.promise()
}
}),
p.support = function() {
var b, c, d, f, g, h, i, j, k, l, m, n = e.createElement("div");
n.setAttribute("className", "t"),
n.innerHTML = " <link/><table></table><a href='/a'>a</a><input type='checkbox'/>",
c = n.getElementsByTagName("*"),
d = n.getElementsByTagName("a")[0],
d.style.cssText = "top:1px;float:left;opacity:.5";
if (!c || !c.length)
return {};
f = e.createElement("select"),
g = f.appendChild(e.createElement("option")),
h = n.getElementsByTagName("input")[0],
b = {
leadingWhitespace: n.firstChild.nodeType === 3,
tbody: !n.getElementsByTagName("tbody").length,
htmlSerialize: !!n.getElementsByTagName("link").length,
style: /top/.test(d.getAttribute("style")),
hrefNormalized: d.getAttribute("href") === "/a",
opacity: /^0.5/.test(d.style.opacity),
cssFloat: !!d.style.cssFloat,
checkOn: h.value === "on",
optSelected: g.selected,
getSetAttribute: n.className !== "t",
enctype: !!e.createElement("form").enctype,
html5Clone: e.createElement("nav").cloneNode(!0).outerHTML !== "<:nav></:nav>",
boxModel: e.compatMode === "CSS1Compat",
submitBubbles: !0,
changeBubbles: !0,
focusinBubbles: !1,
deleteExpando: !0,
noCloneEvent: !0,
inlineBlockNeedsLayout: !1,
shrinkWrapBlocks: !1,
reliableMarginRight: !0,
boxSizingReliable: !0,
pixelPosition: !1
},
h.checked = !0,
b.noCloneChecked = h.cloneNode(!0).checked,
f.disabled = !0,
b.optDisabled = !g.disabled;
try {
delete n.test
} catch (o) {
b.deleteExpando = !1
}
!n.addEventListener && n.attachEvent && n.fireEvent && (n.attachEvent("onclick", m = function() {
b.noCloneEvent = !1
}
),
n.cloneNode(!0).fireEvent("onclick"),
n.detachEvent("onclick", m)),
h = e.createElement("input"),
h.value = "t",
h.setAttribute("type", "radio"),
b.radioValue = h.value === "t",
h.setAttribute("checked", "checked"),
h.setAttribute("name", "t"),
n.appendChild(h),
i = e.createDocumentFragment(),
i.appendChild(n.lastChild),
b.checkClone = i.cloneNode(!0).cloneNode(!0).lastChild.checked,
b.appendChecked = h.checked,
i.removeChild(h),
i.appendChild(n);
if (n.attachEvent)
for (k in {
submit: !0,
change: !0,
focusin: !0
})
j = "on" + k,
l = j in n,
l || (n.setAttribute(j, "return;"),
l = typeof n[j] == "function"),
b[k + "Bubbles"] = l;
return p(function() {
var c, d, f, g, h = "padding:0;margin:0;border:0;display:block;overflow:hidden;", i = e.getElementsByTagName("body")[0];
if (!i)
return;
c = e.createElement("div"),
c.style.cssText = "visibility:hidden;border:0;width:0;height:0;position:static;top:0;margin-top:1px",
i.insertBefore(c, i.firstChild),
d = e.createElement("div"),
c.appendChild(d),
d.innerHTML = "<table><tr><td></td><td>t</td></tr></table>",
f = d.getElementsByTagName("td"),
f[0].style.cssText = "padding:0;margin:0;border:0;display:none",
l = f[0].offsetHeight === 0,
f[0].style.display = "",
f[1].style.display = "none",
b.reliableHiddenOffsets = l && f[0].offsetHeight === 0,
d.innerHTML = "",
d.style.cssText = "box-sizing:border-box;-moz-box-sizing:border-box;-webkit-box-sizing:border-box;padding:1px;border:1px;display:block;width:4px;margin-top:1%;position:absolute;top:1%;",
b.boxSizing = d.offsetWidth === 4,
b.doesNotIncludeMarginInBodyOffset = i.offsetTop !== 1,
a.getComputedStyle && (b.pixelPosition = (a.getComputedStyle(d, null) || {}).top !== "1%",
b.boxSizingReliable = (a.getComputedStyle(d, null) || {
width: "4px"
}).width === "4px",
g = e.createElement("div"),
g.style.cssText = d.style.cssText = h,
g.style.marginRight = g.style.width = "0",
d.style.width = "1px",
d.appendChild(g),
b.reliableMarginRight = !parseFloat((a.getComputedStyle(g, null) || {}).marginRight)),
typeof d.style.zoom != "undefined" && (d.innerHTML = "",
d.style.cssText = h + "width:1px;padding:1px;display:inline;zoom:1",
b.inlineBlockNeedsLayout = d.offsetWidth === 3,
d.style.display = "block",
d.style.overflow = "visible",
d.innerHTML = "<div></div>",
d.firstChild.style.width = "5px",
b.shrinkWrapBlocks = d.offsetWidth !== 3,
c.style.zoom = 1),
i.removeChild(c),
c = d = f = g = null
}),
i.removeChild(n),
c = d = f = g = h = i = n = null,
b
}();
var H = /(?:\{[\s\S]*\}|\[[\s\S]*\])$/
, I = /([A-Z])/g;
p.extend({
cache: {},
deletedIds: [],
uuid: 0,
expando: "jQuery" + (p.fn.jquery + Math.random()).replace(/\D/g, ""),
noData: {
embed: !0,
object: "clsid:D27CDB6E-AE6D-11cf-96B8-444553540000",
applet: !0
},
hasData: function(a) {
return a = a.nodeType ? p.cache[a[p.expando]] : a[p.expando],
!!a && !K(a)
},
data: function(a, c, d, e) {
if (!p.acceptData(a))
return;
var f, g, h = p.expando, i = typeof c == "string", j = a.nodeType, k = j ? p.cache : a, l = j ? a[h] : a[h] && h;
if ((!l || !k[l] || !e && !k[l].data) && i && d === b)
return;
l || (j ? a[h] = l = p.deletedIds.pop() || p.guid++ : l = h),
k[l] || (k[l] = {},
j || (k[l].toJSON = p.noop));
if (typeof c == "object" || typeof c == "function")
e ? k[l] = p.extend(k[l], c) : k[l].data = p.extend(k[l].data, c);
return f = k[l],
e || (f.data || (f.data = {}),
f = f.data),
d !== b && (f[p.camelCase(c)] = d),
i ? (g = f[c],
g == null && (g = f[p.camelCase(c)])) : g = f,
g
},
removeData: function(a, b, c) {
if (!p.acceptData(a))
return;
var d, e, f, g = a.nodeType, h = g ? p.cache : a, i = g ? a[p.expando] : p.expando;
if (!h[i])
return;
if (b) {
d = c ? h[i] : h[i].data;
if (d) {
p.isArray(b) || (b in d ? b = [b] : (b = p.camelCase(b),
b in d ? b = [b] : b = b.split(" ")));
for (e = 0,
f = b.length; e < f; e++)
delete d[b[e]];
if (!(c ? K : p.isEmptyObject)(d))
return
}
}
if (!c) {
delete h[i].data;
if (!K(h[i]))
return
}
g ? p.cleanData([a], !0) : p.support.deleteExpando || h != h.window ? delete h[i] : h[i] = null
},
_data: function(a, b, c) {
return p.data(a, b, c, !0)
},
acceptData: function(a) {
var b = a.nodeName && p.noData[a.nodeName.toLowerCase()];
return !b || b !== !0 && a.getAttribute("classid") === b
}
}),
p.fn.extend({
data: function(a, c) {
var d, e, f, g, h, i = this[0], j = 0, k = null;
if (a === b) {
if (this.length) {
k = p.data(i);
if (i.nodeType === 1 && !p._data(i, "parsedAttrs")) {
f = i.attributes;
for (h = f.length; j < h; j++)
g = f[j].name,
g.indexOf("data-") || (g = p.camelCase(g.substring(5)),
J(i, g, k[g]));
p._data(i, "parsedAttrs", !0)
}
}
return k
}
return typeof a == "object" ? this.each(function() {
p.data(this, a)
}) : (d = a.split(".", 2),
d[1] = d[1] ? "." + d[1] : "",
e = d[1] + "!",
p.access(this, function(c) {
if (c === b)
return k = this.triggerHandler("getData" + e, [d[0]]),
k === b && i && (k = p.data(i, a),
k = J(i, a, k)),
k === b && d[1] ? this.data(d[0]) : k;
d[1] = c,
this.each(function() {
var b = p(this);
b.triggerHandler("setData" + e, d),
p.data(this, a, c),
b.triggerHandler("changeData" + e, d)
})
}, null, c, arguments.length > 1, null, !1))
},
removeData: function(a) {
return this.each(function() {
p.removeData(this, a)
})
}
}),
p.extend({
queue: function(a, b, c) {
var d;
if (a)
return b = (b || "fx") + "queue",
d = p._data(a, b),
c && (!d || p.isArray(c) ? d = p._data(a, b, p.makeArray(c)) : d.push(c)),
d || []
},
dequeue: function(a, b) {
b = b || "fx";
var c = p.queue(a, b)
, d = c.length
, e = c.shift()
, f = p._queueHooks(a, b)
, g = function() {
p.dequeue(a, b)
};
e === "inprogress" && (e = c.shift(),
d--),
e && (b === "fx" && c.unshift("inprogress"),
delete f.stop,
e.call(a, g, f)),
!d && f && f.empty.fire()
},
_queueHooks: function(a, b) {
var c = b + "queueHooks";
return p._data(a, c) || p._data(a, c, {
empty: p.Callbacks("once memory").add(function() {
p.removeData(a, b + "queue", !0),
p.removeData(a, c, !0)
})
})
}
}),
p.fn.extend({
queue: function(a, c) {
var d = 2;
return typeof a != "string" && (c = a,
a = "fx",
d--),
arguments.length < d ? p.queue(this[0], a) : c === b ? this : this.each(function() {
var b = p.queue(this, a, c);
p._queueHooks(this, a),
a === "fx" && b[0] !== "inprogress" && p.dequeue(this, a)
})
},
dequeue: function(a) {
return this.each(function() {
p.dequeue(this, a)
})
},
delay: function(a, b) {
return a = p.fx ? p.fx.speeds[a] || a : a,
b = b || "fx",
this.queue(b, function(b, c) {
var d = setTimeout(b, a);
c.stop = function() {
clearTimeout(d)
}
})
},
clearQueue: function(a) {
return this.queue(a || "fx", [])
},
promise: function(a, c) {
var d, e = 1, f = p.Deferred(), g = this, h = this.length, i = function() {
--e || f.resolveWith(g, [g])
};
typeof a != "string" && (c = a,
a = b),
a = a || "fx";
while (h--)
d = p._data(g[h], a + "queueHooks"),
d && d.empty && (e++,
d.empty.add(i));
return i(),
f.promise(c)
}
});
var L, M, N, O = /[\t\r\n]/g, P = /\r/g, Q = /^(?:button|input)$/i, R = /^(?:button|input|object|select|textarea)$/i, S = /^a(?:rea|)$/i, T = /^(?:autofocus|autoplay|async|checked|controls|defer|disabled|hidden|loop|multiple|open|readonly|required|scoped|selected)$/i, U = p.support.getSetAttribute;
p.fn.extend({
attr: function(a, b) {
return p.access(this, p.attr, a, b, arguments.length > 1)
},
removeAttr: function(a) {
return this.each(function() {
p.removeAttr(this, a)
})
},
prop: function(a, b) {
return p.access(this, p.prop, a, b, arguments.length > 1)
},
removeProp: function(a) {
return a = p.propFix[a] || a,
this.each(function() {
try {
this[a] = b,
delete this[a]
} catch (c) {}
})
},
addClass: function(a) {
var b, c, d, e, f, g, h;
if (p.isFunction(a))
return this.each(function(b) {
p(this).addClass(a.call(this, b, this.className))
});
if (a && typeof a == "string") {
b = a.split(s);
for (c = 0,
d = this.length; c < d; c++) {
e = this[c];
if (e.nodeType === 1)
if (!e.className && b.length === 1)
e.className = a;
else {
f = " " + e.className + " ";
for (g = 0,
h = b.length; g < h; g++)
f.indexOf(" " + b[g] + " ") < 0 && (f += b[g] + " ");
e.className = p.trim(f)
}
}
}
return this
},
removeClass: function(a) {
var c, d, e, f, g, h, i;
if (p.isFunction(a))
return this.each(function(b) {
p(this).removeClass(a.call(this, b, this.className))
});
if (a && typeof a == "string" || a === b) {
c = (a || "").split(s);
for (h = 0,
i = this.length; h < i; h++) {
e = this[h];
if (e.nodeType === 1 && e.className) {
d = (" " + e.className + " ").replace(O, " ");
for (f = 0,
g = c.length; f < g; f++)
while (d.indexOf(" " + c[f] + " ") >= 0)
d = d.replace(" " + c[f] + " ", " ");
e.className = a ? p.trim(d) : ""
}
}
}
return this
},
toggleClass: function(a, b) {
var c = typeof a
, d = typeof b == "boolean";
return p.isFunction(a) ? this.each(function(c) {
p(this).toggleClass(a.call(this, c, this.className, b), b)
}) : this.each(function() {
if (c === "string") {
var e, f = 0, g = p(this), h = b, i = a.split(s);
while (e = i[f++])
h = d ? h : !g.hasClass(e),
g[h ? "addClass" : "removeClass"](e)
} else if (c === "undefined" || c === "boolean")
this.className && p._data(this, "__className__", this.className),
this.className = this.className || a === !1 ? "" : p._data(this, "__className__") || ""
})
},
hasClass: function(a) {
var b = " " + a + " "
, c = 0
, d = this.length;
for (; c < d; c++)
if (this[c].nodeType === 1 && (" " + this[c].className + " ").replace(O, " ").indexOf(b) >= 0)
return !0;
return !1
},
val: function(a) {
var c, d, e, f = this[0];
if (!arguments.length) {
if (f)
return c = p.valHooks[f.type] || p.valHooks[f.nodeName.toLowerCase()],
c && "get"in c && (d = c.get(f, "value")) !== b ? d : (d = f.value,
typeof d == "string" ? d.replace(P, "") : d == null ? "" : d);
return
}
return e = p.isFunction(a),
this.each(function(d) {
var f, g = p(this);
if (this.nodeType !== 1)
return;
e ? f = a.call(this, d, g.val()) : f = a,
f == null ? f = "" : typeof f == "number" ? f += "" : p.isArray(f) && (f = p.map(f, function(a) {
return a == null ? "" : a + ""
})),
c = p.valHooks[this.type] || p.valHooks[this.nodeName.toLowerCase()];
if (!c || !("set"in c) || c.set(this, f, "value") === b)
this.value = f
})
}
}),
p.extend({
valHooks: {
option: {
get: function(a) {
var b = a.attributes.value;
return !b || b.specified ? a.value : a.text
}
},
select: {
get: function(a) {
var b, c, d, e, f = a.selectedIndex, g = [], h = a.options, i = a.type === "select-one";
if (f < 0)
return null;
c = i ? f : 0,
d = i ? f + 1 : h.length;
for (; c < d; c++) {
e = h[c];
if (e.selected && (p.support.optDisabled ? !e.disabled : e.getAttribute("disabled") === null) && (!e.parentNode.disabled || !p.nodeName(e.parentNode, "optgroup"))) {
b = p(e).val();
if (i)
return b;
g.push(b)
}
}
return i && !g.length && h.length ? p(h[f]).val() : g
},
set: function(a, b) {
var c = p.makeArray(b);
return p(a).find("option").each(function() {
this.selected = p.inArray(p(this).val(), c) >= 0
}),
c.length || (a.selectedIndex = -1),
c
}
}
},
attrFn: {},
attr: function(a, c, d, e) {
var f, g, h, i = a.nodeType;
if (!a || i === 3 || i === 8 || i === 2)
return;
if (e && p.isFunction(p.fn[c]))
return p(a)[c](d);
if (typeof a.getAttribute == "undefined")
return p.prop(a, c, d);
h = i !== 1 || !p.isXMLDoc(a),
h && (c = c.toLowerCase(),
g = p.attrHooks[c] || (T.test(c) ? M : L));
if (d !== b) {
if (d === null) {
p.removeAttr(a, c);
return
}
return g && "set"in g && h && (f = g.set(a, d, c)) !== b ? f : (a.setAttribute(c, d + ""),
d)
}
return g && "get"in g && h && (f = g.get(a, c)) !== null ? f : (f = a.getAttribute(c),
f === null ? b : f)
},
removeAttr: function(a, b) {
var c, d, e, f, g = 0;
if (b && a.nodeType === 1) {
d = b.split(s);
for (; g < d.length; g++)
e = d[g],
e && (c = p.propFix[e] || e,
f = T.test(e),
f || p.attr(a, e, ""),
a.removeAttribute(U ? e : c),
f && c in a && (a[c] = !1))
}
},
attrHooks: {
type: {
set: function(a, b) {
if (Q.test(a.nodeName) && a.parentNode)
p.error("type property can't be changed");
else if (!p.support.radioValue && b === "radio" && p.nodeName(a, "input")) {
var c = a.value;
return a.setAttribute("type", b),
c && (a.value = c),
b
}
}
},
value: {
get: function(a, b) {
return L && p.nodeName(a, "button") ? L.get(a, b) : b in a ? a.value : null
},
set: function(a, b, c) {
if (L && p.nodeName(a, "button"))
return L.set(a, b, c);
a.value = b
}
}
},
propFix: {
tabindex: "tabIndex",
readonly: "readOnly",
"for": "htmlFor",
"class": "className",
maxlength: "maxLength",
cellspacing: "cellSpacing",
cellpadding: "cellPadding",
rowspan: "rowSpan",
colspan: "colSpan",
usemap: "useMap",
frameborder: "frameBorder",
contenteditable: "contentEditable"
},
prop: function(a, c, d) {
var e, f, g, h = a.nodeType;
if (!a || h === 3 || h === 8 || h === 2)
return;
return g = h !== 1 || !p.isXMLDoc(a),
g && (c = p.propFix[c] || c,
f = p.propHooks[c]),
d !== b ? f && "set"in f && (e = f.set(a, d, c)) !== b ? e : a[c] = d : f && "get"in f && (e = f.get(a, c)) !== null ? e : a[c]
},
propHooks: {
tabIndex: {
get: function(a) {
var c = a.getAttributeNode("tabindex");
return c && c.specified ? parseInt(c.value, 10) : R.test(a.nodeName) || S.test(a.nodeName) && a.href ? 0 : b
}
}
}
}),
M = {
get: function(a, c) {
var d, e = p.prop(a, c);
return e === !0 || typeof e != "boolean" && (d = a.getAttributeNode(c)) && d.nodeValue !== !1 ? c.toLowerCase() : b
},
set: function(a, b, c) {
var d;
return b === !1 ? p.removeAttr(a, c) : (d = p.propFix[c] || c,
d in a && (a[d] = !0),
a.setAttribute(c, c.toLowerCase())),
c
}
},
U || (N = {
name: !0,
id: !0,
coords: !0
},
L = p.valHooks.button = {
get: function(a, c) {
var d;
return d = a.getAttributeNode(c),
d && (N[c] ? d.value !== "" : d.specified) ? d.value : b
},
set: function(a, b, c) {
var d = a.getAttributeNode(c);
return d || (d = e.createAttribute(c),
a.setAttributeNode(d)),
d.value = b + ""
}
},
p.each(["width", "height"], function(a, b) {
p.attrHooks[b] = p.extend(p.attrHooks[b], {
set: function(a, c) {
if (c === "")
return a.setAttribute(b, "auto"),
c
}
})
}),
p.attrHooks.contenteditable = {
get: L.get,
set: function(a, b, c) {
b === "" && (b = "false"),
L.set(a, b, c)
}
}),
p.support.hrefNormalized || p.each(["href", "src", "width", "height"], function(a, c) {
p.attrHooks[c] = p.extend(p.attrHooks[c], {
get: function(a) {
var d = a.getAttribute(c, 2);
return d === null ? b : d
}
})
}),
p.support.style || (p.attrHooks.style = {
get: function(a) {
return a.style.cssText.toLowerCase() || b
},
set: function(a, b) {
return a.style.cssText = b + ""
}
}),
p.support.optSelected || (p.propHooks.selected = p.extend(p.propHooks.selected, {
get: function(a) {
var b = a.parentNode;
return b && (b.selectedIndex,
b.parentNode && b.parentNode.selectedIndex),
null
}
})),
p.support.enctype || (p.propFix.enctype = "encoding"),
p.support.checkOn || p.each(["radio", "checkbox"], function() {
p.valHooks[this] = {
get: function(a) {
return a.getAttribute("value") === null ? "on" : a.value
}
}
}),
p.each(["radio", "checkbox"], function() {
p.valHooks[this] = p.extend(p.valHooks[this], {
set: function(a, b) {
if (p.isArray(b))
return a.checked = p.inArray(p(a).val(), b) >= 0
}
})
});
var V = /^(?:textarea|input|select)$/i
, W = /^([^\.]*|)(?:\.(.+)|)$/
, X = /(?:^|\s)hover(\.\S+|)\b/
, Y = /^key/
, Z = /^(?:mouse|contextmenu)|click/
, $ = /^(?:focusinfocus|focusoutblur)$/
, _ = function(a) {
return p.event.special.hover ? a : a.replace(X, "mouseenter$1 mouseleave$1")
};
p.event = {
add: function(a, c, d, e, f) {
var g, h, i, j, k, l, m, n, o, q, r;
if (a.nodeType === 3 || a.nodeType === 8 || !c || !d || !(g = p._data(a)))
return;
d.handler && (o = d,
d = o.handler,
f = o.selector),
d.guid || (d.guid = p.guid++),
i = g.events,
i || (g.events = i = {}),
h = g.handle,
h || (g.handle = h = function(a) {
return typeof p != "undefined" && (!a || p.event.triggered !== a.type) ? p.event.dispatch.apply(h.elem, arguments) : b
}
,
h.elem = a),
c = p.trim(_(c)).split(" ");
for (j = 0; j < c.length; j++) {
k = W.exec(c[j]) || [],
l = k[1],
m = (k[2] || "").split(".").sort(),
r = p.event.special[l] || {},
l = (f ? r.delegateType : r.bindType) || l,
r = p.event.special[l] || {},
n = p.extend({
type: l,
origType: k[1],
data: e,
handler: d,
guid: d.guid,
selector: f,
needsContext: f && p.expr.match.needsContext.test(f),
namespace: m.join(".")
}, o),
q = i[l];
if (!q) {
q = i[l] = [],
q.delegateCount = 0;
if (!r.setup || r.setup.call(a, e, m, h) === !1)
a.addEventListener ? a.addEventListener(l, h, !1) : a.attachEvent && a.attachEvent("on" + l, h)
}
r.add && (r.add.call(a, n),
n.handler.guid || (n.handler.guid = d.guid)),
f ? q.splice(q.delegateCount++, 0, n) : q.push(n),
p.event.global[l] = !0
}
a = null
},
global: {},
remove: function(a, b, c, d, e) {
var f, g, h, i, j, k, l, m, n, o, q, r = p.hasData(a) && p._data(a);
if (!r || !(m = r.events))
return;
b = p.trim(_(b || "")).split(" ");
for (f = 0; f < b.length; f++) {
g = W.exec(b[f]) || [],
h = i = g[1],
j = g[2];
if (!h) {
for (h in m)
p.event.remove(a, h + b[f], c, d, !0);
continue
}
n = p.event.special[h] || {},
h = (d ? n.delegateType : n.bindType) || h,
o = m[h] || [],
k = o.length,
j = j ? new RegExp("(^|\\.)" + j.split(".").sort().join("\\.(?:.*\\.|)") + "(\\.|$)") : null;
for (l = 0; l < o.length; l++)
q = o[l],
(e || i === q.origType) && (!c || c.guid === q.guid) && (!j || j.test(q.namespace)) && (!d || d === q.selector || d === "**" && q.selector) && (o.splice(l--, 1),
q.selector && o.delegateCount--,
n.remove && n.remove.call(a, q));
o.length === 0 && k !== o.length && ((!n.teardown || n.teardown.call(a, j, r.handle) === !1) && p.removeEvent(a, h, r.handle),
delete m[h])
}
p.isEmptyObject(m) && (delete r.handle,
p.removeData(a, "events", !0))
},
customEvent: {
getData: !0,
setData: !0,
changeData: !0
},
trigger: function(c, d, f, g) {
if (!f || f.nodeType !== 3 && f.nodeType !== 8) {
var h, i, j, k, l, m, n, o, q, r, s = c.type || c, t = [];
if ($.test(s + p.event.triggered))
return;
s.indexOf("!") >= 0 && (s = s.slice(0, -1),
i = !0),
s.indexOf(".") >= 0 && (t = s.split("."),
s = t.shift(),
t.sort());
if ((!f || p.event.customEvent[s]) && !p.event.global[s])
return;
c = typeof c == "object" ? c[p.expando] ? c : new p.Event(s,c) : new p.Event(s),
c.type = s,
c.isTrigger = !0,
c.exclusive = i,
c.namespace = t.join("."),
c.namespace_re = c.namespace ? new RegExp("(^|\\.)" + t.join("\\.(?:.*\\.|)") + "(\\.|$)") : null,
m = s.indexOf(":") < 0 ? "on" + s : "";
if (!f) {
h = p.cache;
for (j in h)
h[j].events && h[j].events[s] && p.event.trigger(c, d, h[j].handle.elem, !0);
return
}
c.result = b,
c.target || (c.target = f),
d = d != null ? p.makeArray(d) : [],
d.unshift(c),
n = p.event.special[s] || {};
if (n.trigger && n.trigger.apply(f, d) === !1)
return;
q = [[f, n.bindType || s]];
if (!g && !n.noBubble && !p.isWindow(f)) {
r = n.delegateType || s,
k = $.test(r + s) ? f : f.parentNode;
for (l = f; k; k = k.parentNode)
q.push([k, r]),
l = k;
l === (f.ownerDocument || e) && q.push([l.defaultView || l.parentWindow || a, r])
}
for (j = 0; j < q.length && !c.isPropagationStopped(); j++)
k = q[j][0],
c.type = q[j][1],
o = (p._data(k, "events") || {})[c.type] && p._data(k, "handle"),
o && o.apply(k, d),
o = m && k[m],
o && p.acceptData(k) && o.apply && o.apply(k, d) === !1 && c.preventDefault();
return c.type = s,
!g && !c.isDefaultPrevented() && (!n._default || n._default.apply(f.ownerDocument, d) === !1) && (s !== "click" || !p.nodeName(f, "a")) && p.acceptData(f) && m && f[s] && (s !== "focus" && s !== "blur" || c.target.offsetWidth !== 0) && !p.isWindow(f) && (l = f[m],
l && (f[m] = null),
p.event.triggered = s,
f[s](),
p.event.triggered = b,
l && (f[m] = l)),
c.result
}
return
},
dispatch: function(c) {
c = p.event.fix(c || a.event);
var d, e, f, g, h, i, j, l, m, n, o = (p._data(this, "events") || {})[c.type] || [], q = o.delegateCount, r = k.call(arguments), s = !c.exclusive && !c.namespace, t = p.event.special[c.type] || {}, u = [];
r[0] = c,
c.delegateTarget = this;
if (t.preDispatch && t.preDispatch.call(this, c) === !1)
return;
if (q && (!c.button || c.type !== "click"))
for (f = c.target; f != this; f = f.parentNode || this)
if (f.disabled !== !0 || c.type !== "click") {
h = {},
j = [];
for (d = 0; d < q; d++)
l = o[d],
m = l.selector,
h[m] === b && (h[m] = l.needsContext ? p(m, this).index(f) >= 0 : p.find(m, this, null, [f]).length),
h[m] && j.push(l);
j.length && u.push({
elem: f,
matches: j
})
}
o.length > q && u.push({
elem: this,
matches: o.slice(q)
});
for (d = 0; d < u.length && !c.isPropagationStopped(); d++) {
i = u[d],
c.currentTarget = i.elem;
for (e = 0; e < i.matches.length && !c.isImmediatePropagationStopped(); e++) {
l = i.matches[e];
if (s || !c.namespace && !l.namespace || c.namespace_re && c.namespace_re.test(l.namespace))
c.data = l.data,
c.handleObj = l,
g = ((p.event.special[l.origType] || {}).handle || l.handler).apply(i.elem, r),
g !== b && (c.result = g,
g === !1 && (c.preventDefault(),
c.stopPropagation()))
}
}
return t.postDispatch && t.postDispatch.call(this, c),
c.result
},
props: "attrChange attrName relatedNode srcElement altKey bubbles cancelable ctrlKey currentTarget eventPhase metaKey relatedTarget shiftKey target timeStamp view which".split(" "),
fixHooks: {},
keyHooks: {
props: "char charCode key keyCode".split(" "),
filter: function(a, b) {
return a.which == null && (a.which = b.charCode != null ? b.charCode : b.keyCode),
a
}
},
mouseHooks: {
props: "button buttons clientX clientY fromElement offsetX offsetY pageX pageY screenX screenY toElement".split(" "),
filter: function(a, c) {
var d, f, g, h = c.button, i = c.fromElement;
return a.pageX == null && c.clientX != null && (d = a.target.ownerDocument || e,
f = d.documentElement,
g = d.body,
a.pageX = c.clientX + (f && f.scrollLeft || g && g.scrollLeft || 0) - (f && f.clientLeft || g && g.clientLeft || 0),
a.pageY = c.clientY + (f && f.scrollTop || g && g.scrollTop || 0) - (f && f.clientTop || g && g.clientTop || 0)),
!a.relatedTarget && i && (a.relatedTarget = i === a.target ? c.toElement : i),
!a.which && h !== b && (a.which = h & 1 ? 1 : h & 2 ? 3 : h & 4 ? 2 : 0),
a
}
},
fix: function(a) {
if (a[p.expando])
return a;
var b, c, d = a, f = p.event.fixHooks[a.type] || {}, g = f.props ? this.props.concat(f.props) : this.props;
a = p.Event(d);
for (b = g.length; b; )
c = g[--b],
a[c] = d[c];
return a.target || (a.target = d.srcElement || e),
a.target.nodeType === 3 && (a.target = a.target.parentNode),
a.metaKey = !!a.metaKey,
f.filter ? f.filter(a, d) : a
},
special: {
load: {
noBubble: !0
},
focus: {
delegateType: "focusin"
},
blur: {
delegateType: "focusout"
},
beforeunload: {
setup: function(a, b, c) {
p.isWindow(this) && (this.onbeforeunload = c)
},
teardown: function(a, b) {
this.onbeforeunload === b && (this.onbeforeunload = null)
}
}
},
simulate: function(a, b, c, d) {
var e = p.extend(new p.Event, c, {
type: a,
isSimulated: !0,
originalEvent: {}
});
d ? p.event.trigger(e, null, b) : p.event.dispatch.call(b, e),
e.isDefaultPrevented() && c.preventDefault()
}
},
p.event.handle = p.event.dispatch,
p.removeEvent = e.removeEventListener ? function(a, b, c) {
a.removeEventListener && a.removeEventListener(b, c, !1)
}
: function(a, b, c) {
var d = "on" + b;
a.detachEvent && (typeof a[d] == "undefined" && (a[d] = null),
a.detachEvent(d, c))
}
,
p.Event = function(a, b) {
if (this instanceof p.Event)
a && a.type ? (this.originalEvent = a,
this.type = a.type,
this.isDefaultPrevented = a.defaultPrevented || a.returnValue === !1 || a.getPreventDefault && a.getPreventDefault() ? bb : ba) : this.type = a,
b && p.extend(this, b),
this.timeStamp = a && a.timeStamp || p.now(),
this[p.expando] = !0;
else
return new p.Event(a,b)
}
,
p.Event.prototype = {
preventDefault: function() {
this.isDefaultPrevented = bb;
var a = this.originalEvent;
if (!a)
return;
a.preventDefault ? a.preventDefault() : a.returnValue = !1
},
stopPropagation: function() {
this.isPropagationStopped = bb;
var a = this.originalEvent;
if (!a)
return;
a.stopPropagation && a.stopPropagation(),
a.cancelBubble = !0
},
stopImmediatePropagation: function() {
this.isImmediatePropagationStopped = bb,
this.stopPropagation()
},
isDefaultPrevented: ba,
isPropagationStopped: ba,
isImmediatePropagationStopped: ba
},
p.each({
mouseenter: "mouseover",
mouseleave: "mouseout"
}, function(a, b) {
p.event.special[a] = {
delegateType: b,
bindType: b,
handle: function(a) {
var c, d = this, e = a.relatedTarget, f = a.handleObj, g = f.selector;
if (!e || e !== d && !p.contains(d, e))
a.type = f.origType,
c = f.handler.apply(this, arguments),
a.type = b;
return c
}
}
}),
p.support.submitBubbles || (p.event.special.submit = {
setup: function() {
if (p.nodeName(this, "form"))
return !1;
p.event.add(this, "click._submit keypress._submit", function(a) {
var c = a.target
, d = p.nodeName(c, "input") || p.nodeName(c, "button") ? c.form : b;
d && !p._data(d, "_submit_attached") && (p.event.add(d, "submit._submit", function(a) {
a._submit_bubble = !0
}),
p._data(d, "_submit_attached", !0))
})
},
postDispatch: function(a) {
a._submit_bubble && (delete a._submit_bubble,
this.parentNode && !a.isTrigger && p.event.simulate("submit", this.parentNode, a, !0))
},
teardown: function() {
if (p.nodeName(this, "form"))
return !1;
p.event.remove(this, "._submit")
}
}),
p.support.changeBubbles || (p.event.special.change = {
setup: function() {
if (V.test(this.nodeName)) {
if (this.type === "checkbox" || this.type === "radio")
p.event.add(this, "propertychange._change", function(a) {
a.originalEvent.propertyName === "checked" && (this._just_changed = !0)
}),
p.event.add(this, "click._change", function(a) {
this._just_changed && !a.isTrigger && (this._just_changed = !1),
p.event.simulate("change", this, a, !0)
});
return !1
}
p.event.add(this, "beforeactivate._change", function(a) {
var b = a.target;
V.test(b.nodeName) && !p._data(b, "_change_attached") && (p.event.add(b, "change._change", function(a) {
this.parentNode && !a.isSimulated && !a.isTrigger && p.event.simulate("change", this.parentNode, a, !0)
}),
p._data(b, "_change_attached", !0))
})
},
handle: function(a) {
var b = a.target;
if (this !== b || a.isSimulated || a.isTrigger || b.type !== "radio" && b.type !== "checkbox")
return a.handleObj.handler.apply(this, arguments)
},
teardown: function() {
return p.event.remove(this, "._change"),
!V.test(this.nodeName)
}
}),
p.support.focusinBubbles || p.each({
focus: "focusin",
blur: "focusout"
}, function(a, b) {
var c = 0
, d = function(a) {
p.event.simulate(b, a.target, p.event.fix(a), !0)
};
p.event.special[b] = {
setup: function() {
c++ === 0 && e.addEventListener(a, d, !0)
},
teardown: function() {
--c === 0 && e.removeEventListener(a, d, !0)
}
}
}),
p.fn.extend({
on: function(a, c, d, e, f) {
var g, h;
if (typeof a == "object") {
typeof c != "string" && (d = d || c,
c = b);
for (h in a)
this.on(h, c, d, a[h], f);
return this
}
d == null && e == null ? (e = c,
d = c = b) : e == null && (typeof c == "string" ? (e = d,
d = b) : (e = d,
d = c,
c = b));
if (e === !1)
e = ba;
else if (!e)
return this;
return f === 1 && (g = e,
e = function(a) {
return p().off(a),
g.apply(this, arguments)
}
,
e.guid = g.guid || (g.guid = p.guid++)),
this.each(function() {
p.event.add(this, a, e, d, c)
})
},
one: function(a, b, c, d) {
return this.on(a, b, c, d, 1)
},
off: function(a, c, d) {
var e, f;
if (a && a.preventDefault && a.handleObj)
return e = a.handleObj,
p(a.delegateTarget).off(e.namespace ? e.origType + "." + e.namespace : e.origType, e.selector, e.handler),
this;
if (typeof a == "object") {
for (f in a)
this.off(f, c, a[f]);
return this
}
if (c === !1 || typeof c == "function")
d = c,
c = b;
return d === !1 && (d = ba),
this.each(function() {
p.event.remove(this, a, d, c)
})
},
bind: function(a, b, c) {
return this.on(a, null, b, c)
},
unbind: function(a, b) {
return this.off(a, null, b)
},
live: function(a, b, c) {
return p(this.context).on(a, this.selector, b, c),
this
},
die: function(a, b) {
return p(this.context).off(a, this.selector || "**", b),
this
},
delegate: function(a, b, c, d) {
return this.on(b, a, c, d)
},
undelegate: function(a, b, c) {
return arguments.length === 1 ? this.off(a, "**") : this.off(b, a || "**", c)
},
trigger: function(a, b) {
return this.each(function() {
p.event.trigger(a, b, this)
})
},
triggerHandler: function(a, b) {
if (this[0])
return p.event.trigger(a, b, this[0], !0)
},
toggle: function(a) {
var b = arguments
, c = a.guid || p.guid++
, d = 0
, e = function(c) {
var e = (p._data(this, "lastToggle" + a.guid) || 0) % d;
return p._data(this, "lastToggle" + a.guid, e + 1),
c.preventDefault(),
b[e].apply(this, arguments) || !1
};
e.guid = c;
while (d < b.length)
b[d++].guid = c;
return this.click(e)
},
hover: function(a, b) {
return this.mouseenter(a).mouseleave(b || a)
}
}),
p.each("blur focus focusin focusout load resize scroll unload click dblclick mousedown mouseup mousemove mouseover mouseout mouseenter mouseleave change select submit keydown keypress keyup error contextmenu".split(" "), function(a, b) {
p.fn[b] = function(a, c) {
return c == null && (c = a,
a = null),
arguments.length > 0 ? this.on(b, null, a, c) : this.trigger(b)
}
,
Y.test(b) && (p.event.fixHooks[b] = p.event.keyHooks),
Z.test(b) && (p.event.fixHooks[b] = p.event.mouseHooks)
}),
function(a, b) {
function bc(a, b, c, d) {
c = c || [],
b = b || r;
var e, f, i, j, k = b.nodeType;
if (!a || typeof a != "string")
return c;
if (k !== 1 && k !== 9)
return [];
i = g(b);
if (!i && !d)
if (e = P.exec(a))
if (j = e[1]) {
if (k === 9) {
f = b.getElementById(j);
if (!f || !f.parentNode)
return c;
if (f.id === j)
return c.push(f),
c
} else if (b.ownerDocument && (f = b.ownerDocument.getElementById(j)) && h(b, f) && f.id === j)
return c.push(f),
c
} else {
if (e[2])
return w.apply(c, x.call(b.getElementsByTagName(a), 0)),
c;
if ((j = e[3]) && _ && b.getElementsByClassName)
return w.apply(c, x.call(b.getElementsByClassName(j), 0)),
c
}
return bp(a.replace(L, "$1"), b, c, d, i)
}
function bd(a) {
return function(b) {
var c = b.nodeName.toLowerCase();
return c === "input" && b.type === a
}
}
function be(a) {
return function(b) {
var c = b.nodeName.toLowerCase();
return (c === "input" || c === "button") && b.type === a
}
}
function bf(a) {
return z(function(b) {
return b = +b,
z(function(c, d) {
var e, f = a([], c.length, b), g = f.length;
while (g--)
c[e = f[g]] && (c[e] = !(d[e] = c[e]))
})
})
}
function bg(a, b, c) {
if (a === b)
return c;
var d = a.nextSibling;
while (d) {
if (d === b)
return -1;
d = d.nextSibling
}
return 1
}
function bh(a, b) {
var c, d, f, g, h, i, j, k = C[o][a];
if (k)
return b ? 0 : k.slice(0);
h = a,
i = [],
j = e.preFilter;
while (h) {
if (!c || (d = M.exec(h)))
d && (h = h.slice(d[0].length)),
i.push(f = []);
c = !1;
if (d = N.exec(h))
f.push(c = new q(d.shift())),
h = h.slice(c.length),
c.type = d[0].replace(L, " ");
for (g in e.filter)
(d = W[g].exec(h)) && (!j[g] || (d = j[g](d, r, !0))) && (f.push(c = new q(d.shift())),
h = h.slice(c.length),
c.type = g,
c.matches = d);
if (!c)
break
}
return b ? h.length : h ? bc.error(a) : C(a, i).slice(0)
}
function bi(a, b, d) {
var e = b.dir
, f = d && b.dir === "parentNode"
, g = u++;
return b.first ? function(b, c, d) {
while (b = b[e])
if (f || b.nodeType === 1)
return a(b, c, d)
}
: function(b, d, h) {
if (!h) {
var i, j = t + " " + g + " ", k = j + c;
while (b = b[e])
if (f || b.nodeType === 1) {
if ((i = b[o]) === k)
return b.sizset;
if (typeof i == "string" && i.indexOf(j) === 0) {
if (b.sizset)
return b
} else {
b[o] = k;
if (a(b, d, h))
return b.sizset = !0,
b;
b.sizset = !1
}
}
} else
while (b = b[e])
if (f || b.nodeType === 1)
if (a(b, d, h))
return b
}
}
function bj(a) {
return a.length > 1 ? function(b, c, d) {
var e = a.length;
while (e--)
if (!a[e](b, c, d))
return !1;
return !0
}
: a[0]
}
function bk(a, b, c, d, e) {
var f, g = [], h = 0, i = a.length, j = b != null;
for (; h < i; h++)
if (f = a[h])
if (!c || c(f, d, e))
g.push(f),
j && b.push(h);
return g
}
function bl(a, b, c, d, e, f) {
return d && !d[o] && (d = bl(d)),
e && !e[o] && (e = bl(e, f)),
z(function(f, g, h, i) {
if (f && e)
return;
var j, k, l, m = [], n = [], o = g.length, p = f || bo(b || "*", h.nodeType ? [h] : h, [], f), q = a && (f || !b) ? bk(p, m, a, h, i) : p, r = c ? e || (f ? a : o || d) ? [] : g : q;
c && c(q, r, h, i);
if (d) {
l = bk(r, n),
d(l, [], h, i),
j = l.length;
while (j--)
if (k = l[j])
r[n[j]] = !(q[n[j]] = k)
}
if (f) {
j = a && r.length;
while (j--)
if (k = r[j])
f[m[j]] = !(g[m[j]] = k)
} else
r = bk(r === g ? r.splice(o, r.length) : r),
e ? e(null, g, r, i) : w.apply(g, r)
})
}
function bm(a) {
var b, c, d, f = a.length, g = e.relative[a[0].type], h = g || e.relative[" "], i = g ? 1 : 0, j = bi(function(a) {
return a === b
}, h, !0), k = bi(function(a) {
return y.call(b, a) > -1
}, h, !0), m = [function(a, c, d) {
return !g && (d || c !== l) || ((b = c).nodeType ? j(a, c, d) : k(a, c, d))
}
];
for (; i < f; i++)
if (c = e.relative[a[i].type])
m = [bi(bj(m), c)];
else {
c = e.filter[a[i].type].apply(null, a[i].matches);
if (c[o]) {
d = ++i;
for (; d < f; d++)
if (e.relative[a[d].type])
break;
return bl(i > 1 && bj(m), i > 1 && a.slice(0, i - 1).join("").replace(L, "$1"), c, i < d && bm(a.slice(i, d)), d < f && bm(a = a.slice(d)), d < f && a.join(""))
}
m.push(c)
}
return bj(m)
}
function bn(a, b) {
var d = b.length > 0
, f = a.length > 0
, g = function(h, i, j, k, m) {
var n, o, p, q = [], s = 0, u = "0", x = h && [], y = m != null, z = l, A = h || f && e.find.TAG("*", m && i.parentNode || i), B = t += z == null ? 1 : Math.E;
y && (l = i !== r && i,
c = g.el);
for (; (n = A[u]) != null; u++) {
if (f && n) {
for (o = 0; p = a[o]; o++)
if (p(n, i, j)) {
k.push(n);
break
}
y && (t = B,
c = ++g.el)
}
d && ((n = !p && n) && s--,
h && x.push(n))
}
s += u;
if (d && u !== s) {
for (o = 0; p = b[o]; o++)
p(x, q, i, j);
if (h) {
if (s > 0)
while (u--)
!x[u] && !q[u] && (q[u] = v.call(k));
q = bk(q)
}
w.apply(k, q),
y && !h && q.length > 0 && s + b.length > 1 && bc.uniqueSort(k)
}
return y && (t = B,
l = z),
x
};
return g.el = 0,
d ? z(g) : g
}
function bo(a, b, c, d) {
var e = 0
, f = b.length;
for (; e < f; e++)
bc(a, b[e], c, d);
return c
}
function bp(a, b, c, d, f) {
var g, h, j, k, l, m = bh(a), n = m.length;
if (!d && m.length === 1) {
h = m[0] = m[0].slice(0);
if (h.length > 2 && (j = h[0]).type === "ID" && b.nodeType === 9 && !f && e.relative[h[1].type]) {
b = e.find.ID(j.matches[0].replace(V, ""), b, f)[0];
if (!b)
return c;
a = a.slice(h.shift().length)
}
for (g = W.POS.test(a) ? -1 : h.length - 1; g >= 0; g--) {
j = h[g];
if (e.relative[k = j.type])
break;
if (l = e.find[k])
if (d = l(j.matches[0].replace(V, ""), R.test(h[0].type) && b.parentNode || b, f)) {
h.splice(g, 1),
a = d.length && h.join("");
if (!a)
return w.apply(c, x.call(d, 0)),
c;
break
}
}
}
return i(a, m)(d, b, f, c, R.test(a)),
c
}
function bq() {}
var c, d, e, f, g, h, i, j, k, l, m = !0, n = "undefined", o = ("sizcache" + Math.random()).replace(".", ""), q = String, r = a.document, s = r.documentElement, t = 0, u = 0, v = [].pop, w = [].push, x = [].slice, y = [].indexOf || function(a) {
var b = 0
, c = this.length;
for (; b < c; b++)
if (this[b] === a)
return b;
return -1
}
, z = function(a, b) {
return a[o] = b == null || b,
a
}, A = function() {
var a = {}
, b = [];
return z(function(c, d) {
return b.push(c) > e.cacheLength && delete a[b.shift()],
a[c] = d
}, a)
}, B = A(), C = A(), D = A(), E = "[\\x20\\t\\r\\n\\f]", F = "(?:\\\\.|[-\\w]|[^\\x00-\\xa0])+", G = F.replace("w", "w#"), H = "([*^$|!~]?=)", I = "\\[" + E + "*(" + F + ")" + E + "*(?:" + H + E + "*(?:(['\"])((?:\\\\.|[^\\\\])*?)\\3|(" + G + ")|)|)" + E + "*\\]", J = ":(" + F + ")(?:\\((?:(['\"])((?:\\\\.|[^\\\\])*?)\\2|([^()[\\]]*|(?:(?:" + I + ")|[^:]|\\\\.)*|.*))\\)|)", K = ":(even|odd|eq|gt|lt|nth|first|last)(?:\\(" + E + "*((?:-\\d)?\\d*)" + E + "*\\)|)(?=[^-]|$)", L = new RegExp("^" + E + "+|((?:^|[^\\\\])(?:\\\\.)*)" + E + "+$","g"), M = new RegExp("^" + E + "*," + E + "*"), N = new RegExp("^" + E + "*([\\x20\\t\\r\\n\\f>+~])" + E + "*"), O = new RegExp(J), P = /^(?:#([\w\-]+)|(\w+)|\.([\w\-]+))$/, Q = /^:not/, R = /[\x20\t\r\n\f]*[+~]/, S = /:not\($/, T = /h\d/i, U = /input|select|textarea|button/i, V = /\\(?!\\)/g, W = {
ID: new RegExp("^#(" + F + ")"),
CLASS: new RegExp("^\\.(" + F + ")"),
NAME: new RegExp("^\\[name=['\"]?(" + F + ")['\"]?\\]"),
TAG: new RegExp("^(" + F.replace("w", "w*") + ")"),
ATTR: new RegExp("^" + I),
PSEUDO: new RegExp("^" + J),
POS: new RegExp(K,"i"),
CHILD: new RegExp("^:(only|nth|first|last)-child(?:\\(" + E + "*(even|odd|(([+-]|)(\\d*)n|)" + E + "*(?:([+-]|)" + E + "*(\\d+)|))" + E + "*\\)|)","i"),
needsContext: new RegExp("^" + E + "*[>+~]|" + K,"i")
}, X = function(a) {
var b = r.createElement("div");
try {
return a(b)
} catch (c) {
return !1
} finally {
b = null
}
}, Y = X(function(a) {
return a.appendChild(r.createComment("")),
!a.getElementsByTagName("*").length
}), Z = X(function(a) {
return a.innerHTML = "<a href='#'></a>",
a.firstChild && typeof a.firstChild.getAttribute !== n && a.firstChild.getAttribute("href") === "#"
}), $ = X(function(a) {
a.innerHTML = "<select></select>";
var b = typeof a.lastChild.getAttribute("multiple");
return b !== "boolean" && b !== "string"
}), _ = X(function(a) {
return a.innerHTML = "<div class='hidden e'></div><div class='hidden'></div>",
!a.getElementsByClassName || !a.getElementsByClassName("e").length ? !1 : (a.lastChild.className = "e",
a.getElementsByClassName("e").length === 2)
}), ba = X(function(a) {
a.id = o + 0,
a.innerHTML = "<a name='" + o + "'></a><div name='" + o + "'></div>",
s.insertBefore(a, s.firstChild);
var b = r.getElementsByName && r.getElementsByName(o).length === 2 + r.getElementsByName(o + 0).length;
return d = !r.getElementById(o),
s.removeChild(a),
b
});
try {
x.call(s.childNodes, 0)[0].nodeType
} catch (bb) {
x = function(a) {
var b, c = [];
for (; b = this[a]; a++)
c.push(b);
return c
}
}
bc.matches = function(a, b) {
return bc(a, null, null, b)
}
,
bc.matchesSelector = function(a, b) {
return bc(b, null, null, [a]).length > 0
}
,
f = bc.getText = function(a) {
var b, c = "", d = 0, e = a.nodeType;
if (e) {
if (e === 1 || e === 9 || e === 11) {
if (typeof a.textContent == "string")
return a.textContent;
for (a = a.firstChild; a; a = a.nextSibling)
c += f(a)
} else if (e === 3 || e === 4)
return a.nodeValue
} else
for (; b = a[d]; d++)
c += f(b);
return c
}
,
g = bc.isXML = function(a) {
var b = a && (a.ownerDocument || a).documentElement;
return b ? b.nodeName !== "HTML" : !1
}
,
h = bc.contains = s.contains ? function(a, b) {
var c = a.nodeType === 9 ? a.documentElement : a
, d = b && b.parentNode;
return a === d || !!(d && d.nodeType === 1 && c.contains && c.contains(d))
}
: s.compareDocumentPosition ? function(a, b) {
return b && !!(a.compareDocumentPosition(b) & 16)
}
: function(a, b) {
while (b = b.parentNode)
if (b === a)
return !0;
return !1
}
,
bc.attr = function(a, b) {
var c, d = g(a);
return d || (b = b.toLowerCase()),
(c = e.attrHandle[b]) ? c(a) : d || $ ? a.getAttribute(b) : (c = a.getAttributeNode(b),
c ? typeof a[b] == "boolean" ? a[b] ? b : null : c.specified ? c.value : null : null)
}
,
e = bc.selectors = {
cacheLength: 50,
createPseudo: z,
match: W,
attrHandle: Z ? {} : {
href: function(a) {
return a.getAttribute("href", 2)
},
type: function(a) {
return a.getAttribute("type")
}
},
find: {
ID: d ? function(a, b, c) {
if (typeof b.getElementById !== n && !c) {
var d = b.getElementById(a);
return d && d.parentNode ? [d] : []
}
}
: function(a, c, d) {
if (typeof c.getElementById !== n && !d) {
var e = c.getElementById(a);
return e ? e.id === a || typeof e.getAttributeNode !== n && e.getAttributeNode("id").value === a ? [e] : b : []
}
}
,
TAG: Y ? function(a, b) {
if (typeof b.getElementsByTagName !== n)
return b.getElementsByTagName(a)
}
: function(a, b) {
var c = b.getElementsByTagName(a);
if (a === "*") {
var d, e = [], f = 0;
for (; d = c[f]; f++)
d.nodeType === 1 && e.push(d);
return e
}
return c
}
,
NAME: ba && function(a, b) {
if (typeof b.getElementsByName !== n)
return b.getElementsByName(name)
}
,
CLASS: _ && function(a, b, c) {
if (typeof b.getElementsByClassName !== n && !c)
return b.getElementsByClassName(a)
}
},
relative: {
">": {
dir: "parentNode",
first: !0
},
" ": {
dir: "parentNode"
},
"+": {
dir: "previousSibling",
first: !0
},
"~": {
dir: "previousSibling"
}
},
preFilter: {
ATTR: function(a) {
return a[1] = a[1].replace(V, ""),
a[3] = (a[4] || a[5] || "").replace(V, ""),
a[2] === "~=" && (a[3] = " " + a[3] + " "),
a.slice(0, 4)
},
CHILD: function(a) {
return a[1] = a[1].toLowerCase(),
a[1] === "nth" ? (a[2] || bc.error(a[0]),
a[3] = +(a[3] ? a[4] + (a[5] || 1) : 2 * (a[2] === "even" || a[2] === "odd")),
a[4] = +(a[6] + a[7] || a[2] === "odd")) : a[2] && bc.error(a[0]),
a
},
PSEUDO: function(a) {
var b, c;
if (W.CHILD.test(a[0]))
return null;
if (a[3])
a[2] = a[3];
else if (b = a[4])
O.test(b) && (c = bh(b, !0)) && (c = b.indexOf(")", b.length - c) - b.length) && (b = b.slice(0, c),
a[0] = a[0].slice(0, c)),
a[2] = b;
return a.slice(0, 3)
}
},
filter: {
ID: d ? function(a) {
return a = a.replace(V, ""),
function(b) {
return b.getAttribute("id") === a
}
}
: function(a) {
return a = a.replace(V, ""),
function(b) {
var c = typeof b.getAttributeNode !== n && b.getAttributeNode("id");
return c && c.value === a
}
}
,
TAG: function(a) {
return a === "*" ? function() {
return !0
}
: (a = a.replace(V, "").toLowerCase(),
function(b) {
return b.nodeName && b.nodeName.toLowerCase() === a
}
)
},
CLASS: function(a) {
var b = B[o][a];
return b || (b = B(a, new RegExp("(^|" + E + ")" + a + "(" + E + "|$)"))),
function(a) {
return b.test(a.className || typeof a.getAttribute !== n && a.getAttribute("class") || "")
}
},
ATTR: function(a, b, c) {
return function(d, e) {
var f = bc.attr(d, a);
return f == null ? b === "!=" : b ? (f += "",
b === "=" ? f === c : b === "!=" ? f !== c : b === "^=" ? c && f.indexOf(c) === 0 : b === "*=" ? c && f.indexOf(c) > -1 : b === "$=" ? c && f.substr(f.length - c.length) === c : b === "~=" ? (" " + f + " ").indexOf(c) > -1 : b === "|=" ? f === c || f.substr(0, c.length + 1) === c + "-" : !1) : !0
}
},
CHILD: function(a, b, c, d) {
return a === "nth" ? function(a) {
var b, e, f = a.parentNode;
if (c === 1 && d === 0)
return !0;
if (f) {
e = 0;
for (b = f.firstChild; b; b = b.nextSibling)
if (b.nodeType === 1) {
e++;
if (a === b)
break
}
}
return e -= d,
e === c || e % c === 0 && e / c >= 0
}
: function(b) {
var c = b;
switch (a) {
case "only":
case "first":
while (c = c.previousSibling)
if (c.nodeType === 1)
return !1;
if (a === "first")
return !0;
c = b;
case "last":
while (c = c.nextSibling)
if (c.nodeType === 1)
return !1;
return !0
}
}
},
PSEUDO: function(a, b) {
var c, d = e.pseudos[a] || e.setFilters[a.toLowerCase()] || bc.error("unsupported pseudo: " + a);
return d[o] ? d(b) : d.length > 1 ? (c = [a, a, "", b],
e.setFilters.hasOwnProperty(a.toLowerCase()) ? z(function(a, c) {
var e, f = d(a, b), g = f.length;
while (g--)
e = y.call(a, f[g]),
a[e] = !(c[e] = f[g])
}) : function(a) {
return d(a, 0, c)
}
) : d
}
},
pseudos: {
not: z(function(a) {
var b = []
, c = []
, d = i(a.replace(L, "$1"));
return d[o] ? z(function(a, b, c, e) {
var f, g = d(a, null, e, []), h = a.length;
while (h--)
if (f = g[h])
a[h] = !(b[h] = f)
}) : function(a, e, f) {
return b[0] = a,
d(b, null, f, c),
!c.pop()
}
}),
has: z(function(a) {
return function(b) {
return bc(a, b).length > 0
}
}),
contains: z(function(a) {
return function(b) {
return (b.textContent || b.innerText || f(b)).indexOf(a) > -1
}
}),
enabled: function(a) {
return a.disabled === !1
},
disabled: function(a) {
return a.disabled === !0
},
checked: function(a) {
var b = a.nodeName.toLowerCase();
return b === "input" && !!a.checked || b === "option" && !!a.selected
},
selected: function(a) {
return a.parentNode && a.parentNode.selectedIndex,
a.selected === !0
},
parent: function(a) {
return !e.pseudos.empty(a)
},
empty: function(a) {
var b;
a = a.firstChild;
while (a) {
if (a.nodeName > "@" || (b = a.nodeType) === 3 || b === 4)
return !1;
a = a.nextSibling
}
return !0
},
header: function(a) {
return T.test(a.nodeName)
},
text: function(a) {
var b, c;
return a.nodeName.toLowerCase() === "input" && (b = a.type) === "text" && ((c = a.getAttribute("type")) == null || c.toLowerCase() === b)
},
radio: bd("radio"),
checkbox: bd("checkbox"),
file: bd("file"),
password: bd("password"),
image: bd("image"),
submit: be("submit"),
reset: be("reset"),
button: function(a) {
var b = a.nodeName.toLowerCase();
return b === "input" && a.type === "button" || b === "button"
},
input: function(a) {
return U.test(a.nodeName)
},
focus: function(a) {
var b = a.ownerDocument;
return a === b.activeElement && (!b.hasFocus || b.hasFocus()) && (!!a.type || !!a.href)
},
active: function(a) {
return a === a.ownerDocument.activeElement
},
first: bf(function(a, b, c) {
return [0]
}),
last: bf(function(a, b, c) {
return [b - 1]
}),
eq: bf(function(a, b, c) {
return [c < 0 ? c + b : c]
}),
even: bf(function(a, b, c) {
for (var d = 0; d < b; d += 2)
a.push(d);
return a
}),
odd: bf(function(a, b, c) {
for (var d = 1; d < b; d += 2)
a.push(d);
return a
}),
lt: bf(function(a, b, c) {
for (var d = c < 0 ? c + b : c; --d >= 0; )
a.push(d);
return a
}),
gt: bf(function(a, b, c) {
for (var d = c < 0 ? c + b : c; ++d < b; )
a.push(d);
return a
})
}
},
j = s.compareDocumentPosition ? function(a, b) {
return a === b ? (k = !0,
0) : (!a.compareDocumentPosition || !b.compareDocumentPosition ? a.compareDocumentPosition : a.compareDocumentPosition(b) & 4) ? -1 : 1
}
: function(a, b) {
if (a === b)
return k = !0,
0;
if (a.sourceIndex && b.sourceIndex)
return a.sourceIndex - b.sourceIndex;
var c, d, e = [], f = [], g = a.parentNode, h = b.parentNode, i = g;
if (g === h)
return bg(a, b);
if (!g)
return -1;
if (!h)
return 1;
while (i)
e.unshift(i),
i = i.parentNode;
i = h;
while (i)
f.unshift(i),
i = i.parentNode;
c = e.length,
d = f.length;
for (var j = 0; j < c && j < d; j++)
if (e[j] !== f[j])
return bg(e[j], f[j]);
return j === c ? bg(a, f[j], -1) : bg(e[j], b, 1)
}
,
[0, 0].sort(j),
m = !k,
bc.uniqueSort = function(a) {
var b, c = 1;
k = m,
a.sort(j);
if (k)
for (; b = a[c]; c++)
b === a[c - 1] && a.splice(c--, 1);
return a
}
,
bc.error = function(a) {
throw new Error("Syntax error, unrecognized expression: " + a)
}
,
i = bc.compile = function(a, b) {
var c, d = [], e = [], f = D[o][a];
if (!f) {
b || (b = bh(a)),
c = b.length;
while (c--)
f = bm(b[c]),
f[o] ? d.push(f) : e.push(f);
f = D(a, bn(e, d))
}
return f
}
,
r.querySelectorAll && function() {
var a, b = bp, c = /'|\\/g, d = /\=[\x20\t\r\n\f]*([^'"\]]*)[\x20\t\r\n\f]*\]/g, e = [":focus"], f = [":active", ":focus"], h = s.matchesSelector || s.mozMatchesSelector || s.webkitMatchesSelector || s.oMatchesSelector || s.msMatchesSelector;
X(function(a) {
a.innerHTML = "<select><option selected=''></option></select>",
a.querySelectorAll("[selected]").length || e.push("\\[" + E + "*(?:checked|disabled|ismap|multiple|readonly|selected|value)"),
a.querySelectorAll(":checked").length || e.push(":checked")
}),
X(function(a) {
a.innerHTML = "<p test=''></p>",
a.querySelectorAll("[test^='']").length && e.push("[*^$]=" + E + "*(?:\"\"|'')"),
a.innerHTML = "<input type='hidden'/>",
a.querySelectorAll(":enabled").length || e.push(":enabled", ":disabled")
}),
e = new RegExp(e.join("|")),
bp = function(a, d, f, g, h) {
if (!g && !h && (!e || !e.test(a))) {
var i, j, k = !0, l = o, m = d, n = d.nodeType === 9 && a;
if (d.nodeType === 1 && d.nodeName.toLowerCase() !== "object") {
i = bh(a),
(k = d.getAttribute("id")) ? l = k.replace(c, "\\$&") : d.setAttribute("id", l),
l = "[id='" + l + "'] ",
j = i.length;
while (j--)
i[j] = l + i[j].join("");
m = R.test(a) && d.parentNode || d,
n = i.join(",")
}
if (n)
try {
return w.apply(f, x.call(m.querySelectorAll(n), 0)),
f
} catch (p) {} finally {
k || d.removeAttribute("id")
}
}
return b(a, d, f, g, h)
}
,
h && (X(function(b) {
a = h.call(b, "div");
try {
h.call(b, "[test!='']:sizzle"),
f.push("!=", J)
} catch (c) {}
}),
f = new RegExp(f.join("|")),
bc.matchesSelector = function(b, c) {
c = c.replace(d, "='$1']");
if (!g(b) && !f.test(c) && (!e || !e.test(c)))
try {
var i = h.call(b, c);
if (i || a || b.document && b.document.nodeType !== 11)
return i
} catch (j) {}
return bc(c, null, null, [b]).length > 0
}
)
}(),
e.pseudos.nth = e.pseudos.eq,
e.filters = bq.prototype = e.pseudos,
e.setFilters = new bq,
bc.attr = p.attr,
p.find = bc,
p.expr = bc.selectors,
p.expr[":"] = p.expr.pseudos,
p.unique = bc.uniqueSort,
p.text = bc.getText,
p.isXMLDoc = bc.isXML,
p.contains = bc.contains
}(a);
var bc = /Until$/
, bd = /^(?:parents|prev(?:Until|All))/
, be = /^.[^:#\[\.,]*$/
, bf = p.expr.match.needsContext
, bg = {
children: !0,
contents: !0,
next: !0,
prev: !0
};
p.fn.extend({
find: function(a) {
var b, c, d, e, f, g, h = this;
if (typeof a != "string")
return p(a).filter(function() {
for (b = 0,
c = h.length; b < c; b++)
if (p.contains(h[b], this))
return !0
});
g = this.pushStack("", "find", a);
for (b = 0,
c = this.length; b < c; b++) {
d = g.length,
p.find(a, this[b], g);
if (b > 0)
for (e = d; e < g.length; e++)
for (f = 0; f < d; f++)
if (g[f] === g[e]) {
g.splice(e--, 1);
break
}
}
return g
},
has: function(a) {
var b, c = p(a, this), d = c.length;
return this.filter(function() {
for (b = 0; b < d; b++)
if (p.contains(this, c[b]))
return !0
})
},
not: function(a) {
return this.pushStack(bj(this, a, !1), "not", a)
},
filter: function(a) {
return this.pushStack(bj(this, a, !0), "filter", a)
},
is: function(a) {
return !!a && (typeof a == "string" ? bf.test(a) ? p(a, this.context).index(this[0]) >= 0 : p.filter(a, this).length > 0 : this.filter(a).length > 0)
},
closest: function(a, b) {
var c, d = 0, e = this.length, f = [], g = bf.test(a) || typeof a != "string" ? p(a, b || this.context) : 0;
for (; d < e; d++) {
c = this[d];
while (c && c.ownerDocument && c !== b && c.nodeType !== 11) {
if (g ? g.index(c) > -1 : p.find.matchesSelector(c, a)) {
f.push(c);
break
}
c = c.parentNode
}
}
return f = f.length > 1 ? p.unique(f) : f,
this.pushStack(f, "closest", a)
},
index: function(a) {
return a ? typeof a == "string" ? p.inArray(this[0], p(a)) : p.inArray(a.jquery ? a[0] : a, this) : this[0] && this[0].parentNode ? this.prevAll().length : -1
},
add: function(a, b) {
var c = typeof a == "string" ? p(a, b) : p.makeArray(a && a.nodeType ? [a] : a)
, d = p.merge(this.get(), c);
return this.pushStack(bh(c[0]) || bh(d[0]) ? d : p.unique(d))
},
addBack: function(a) {
return this.add(a == null ? this.prevObject : this.prevObject.filter(a))
}
}),
p.fn.andSelf = p.fn.addBack,
p.each({
parent: function(a) {
var b = a.parentNode;
return b && b.nodeType !== 11 ? b : null
},
parents: function(a) {
return p.dir(a, "parentNode")
},
parentsUntil: function(a, b, c) {
return p.dir(a, "parentNode", c)
},
next: function(a) {
return bi(a, "nextSibling")
},
prev: function(a) {
return bi(a, "previousSibling")
},
nextAll: function(a) {
return p.dir(a, "nextSibling")
},
prevAll: function(a) {
return p.dir(a, "previousSibling")
},
nextUntil: function(a, b, c) {
return p.dir(a, "nextSibling", c)
},
prevUntil: function(a, b, c) {
return p.dir(a, "previousSibling", c)
},
siblings: function(a) {
return p.sibling((a.parentNode || {}).firstChild, a)
},
children: function(a) {
return p.sibling(a.firstChild)
},
contents: function(a) {
return p.nodeName(a, "iframe") ? a.contentDocument || a.contentWindow.document : p.merge([], a.childNodes)
}
}, function(a, b) {
p.fn[a] = function(c, d) {
var e = p.map(this, b, c);
return bc.test(a) || (d = c),
d && typeof d == "string" && (e = p.filter(d, e)),
e = this.length > 1 && !bg[a] ? p.unique(e) : e,
this.length > 1 && bd.test(a) && (e = e.reverse()),
this.pushStack(e, a, k.call(arguments).join(","))
}
}),
p.extend({
filter: function(a, b, c) {
return c && (a = ":not(" + a + ")"),
b.length === 1 ? p.find.matchesSelector(b[0], a) ? [b[0]] : [] : p.find.matches(a, b)
},
dir: function(a, c, d) {
var e = []
, f = a[c];
while (f && f.nodeType !== 9 && (d === b || f.nodeType !== 1 || !p(f).is(d)))
f.nodeType === 1 && e.push(f),
f = f[c];
return e
},
sibling: function(a, b) {
var c = [];
for (; a; a = a.nextSibling)
a.nodeType === 1 && a !== b && c.push(a);
return c
}
});
var bl = "abbr|article|aside|audio|bdi|canvas|data|datalist|details|figcaption|figure|footer|header|hgroup|mark|meter|nav|output|progress|section|summary|time|video"
, bm = / jQuery\d+="(?:null|\d+)"/g
, bn = /^\s+/
, bo = /<(?!area|br|col|embed|hr|img|input|link|meta|param)(([\w:]+)[^>]*)\/>/gi
, bp = /<([\w:]+)/
, bq = /<tbody/i
, br = /<|&#?\w+;/
, bs = /<(?:script|style|link)/i
, bt = /<(?:script|object|embed|option|style)/i
, bu = new RegExp("<(?:" + bl + ")[\\s/>]","i")
, bv = /^(?:checkbox|radio)$/
, bw = /checked\s*(?:[^=]|=\s*.checked.)/i
, bx = /\/(java|ecma)script/i
, by = /^\s*<!(?:\[CDATA\[|\-\-)|[\]\-]{2}>\s*$/g
, bz = {
option: [1, "<select multiple='multiple'>", "</select>"],
legend: [1, "<fieldset>", "</fieldset>"],
thead: [1, "<table>", "</table>"],
tr: [2, "<table><tbody>", "</tbody></table>"],
td: [3, "<table><tbody><tr>", "</tr></tbody></table>"],
col: [2, "<table><tbody></tbody><colgroup>", "</colgroup></table>"],
area: [1, "<map>", "</map>"],
_default: [0, "", ""]
}
, bA = bk(e)
, bB = bA.appendChild(e.createElement("div"));
bz.optgroup = bz.option,
bz.tbody = bz.tfoot = bz.colgroup = bz.caption = bz.thead,
bz.th = bz.td,
p.support.htmlSerialize || (bz._default = [1, "X<div>", "</div>"]),
p.fn.extend({
text: function(a) {
return p.access(this, function(a) {
return a === b ? p.text(this) : this.empty().append((this[0] && this[0].ownerDocument || e).createTextNode(a))
}, null, a, arguments.length)
},
wrapAll: function(a) {
if (p.isFunction(a))
return this.each(function(b) {
p(this).wrapAll(a.call(this, b))
});
if (this[0]) {
var b = p(a, this[0].ownerDocument).eq(0).clone(!0);
this[0].parentNode && b.insertBefore(this[0]),
b.map(function() {
var a = this;
while (a.firstChild && a.firstChild.nodeType === 1)
a = a.firstChild;
return a
}).append(this)
}
return this
},
wrapInner: function(a) {
return p.isFunction(a) ? this.each(function(b) {
p(this).wrapInner(a.call(this, b))
}) : this.each(function() {
var b = p(this)
, c = b.contents();
c.length ? c.wrapAll(a) : b.append(a)
})
},
wrap: function(a) {
var b = p.isFunction(a);
return this.each(function(c) {
p(this).wrapAll(b ? a.call(this, c) : a)
})
},
unwrap: function() {
return this.parent().each(function() {
p.nodeName(this, "body") || p(this).replaceWith(this.childNodes)
}).end()
},
append: function() {
return this.domManip(arguments, !0, function(a) {
(this.nodeType === 1 || this.nodeType === 11) && this.appendChild(a)
})
},
prepend: function() {
return this.domManip(arguments, !0, function(a) {
(this.nodeType === 1 || this.nodeType === 11) && this.insertBefore(a, this.firstChild)
})
},
before: function() {
if (!bh(this[0]))
return this.domManip(arguments, !1, function(a) {
this.parentNode.insertBefore(a, this)
});
if (arguments.length) {
var a = p.clean(arguments);
return this.pushStack(p.merge(a, this), "before", this.selector)
}
},
after: function() {
if (!bh(this[0]))
return this.domManip(arguments, !1, function(a) {
this.parentNode.insertBefore(a, this.nextSibling)
});
if (arguments.length) {
var a = p.clean(arguments);
return this.pushStack(p.merge(this, a), "after", this.selector)
}
},
remove: function(a, b) {
var c, d = 0;
for (; (c = this[d]) != null; d++)
if (!a || p.filter(a, [c]).length)
!b && c.nodeType === 1 && (p.cleanData(c.getElementsByTagName("*")),
p.cleanData([c])),
c.parentNode && c.parentNode.removeChild(c);
return this
},
empty: function() {
var a, b = 0;
for (; (a = this[b]) != null; b++) {
a.nodeType === 1 && p.cleanData(a.getElementsByTagName("*"));
while (a.firstChild)
a.removeChild(a.firstChild)
}
return this
},
clone: function(a, b) {
return a = a == null ? !1 : a,
b = b == null ? a : b,
this.map(function() {
return p.clone(this, a, b)
})
},
html: function(a) {
return p.access(this, function(a) {
var c = this[0] || {}
, d = 0
, e = this.length;
if (a === b)
return c.nodeType === 1 ? c.innerHTML.replace(bm, "") : b;
if (typeof a == "string" && !bs.test(a) && (p.support.htmlSerialize || !bu.test(a)) && (p.support.leadingWhitespace || !bn.test(a)) && !bz[(bp.exec(a) || ["", ""])[1].toLowerCase()]) {
a = a.replace(bo, "<$1></$2>");
try {
for (; d < e; d++)
c = this[d] || {},
c.nodeType === 1 && (p.cleanData(c.getElementsByTagName("*")),
c.innerHTML = a);
c = 0
} catch (f) {}
}
c && this.empty().append(a)
}, null, a, arguments.length)
},
replaceWith: function(a) {
return bh(this[0]) ? this.length ? this.pushStack(p(p.isFunction(a) ? a() : a), "replaceWith", a) : this : p.isFunction(a) ? this.each(function(b) {
var c = p(this)
, d = c.html();
c.replaceWith(a.call(this, b, d))
}) : (typeof a != "string" && (a = p(a).detach()),
this.each(function() {
var b = this.nextSibling
, c = this.parentNode;
p(this).remove(),
b ? p(b).before(a) : p(c).append(a)
}))
},
detach: function(a) {
return this.remove(a, !0)
},
domManip: function(a, c, d) {
a = [].concat.apply([], a);
var e, f, g, h, i = 0, j = a[0], k = [], l = this.length;
if (!p.support.checkClone && l > 1 && typeof j == "string" && bw.test(j))
return this.each(function() {
p(this).domManip(a, c, d)
});
if (p.isFunction(j))
return this.each(function(e) {
var f = p(this);
a[0] = j.call(this, e, c ? f.html() : b),
f.domManip(a, c, d)
});
if (this[0]) {
e = p.buildFragment(a, this, k),
g = e.fragment,
f = g.firstChild,
g.childNodes.length === 1 && (g = f);
if (f) {
c = c && p.nodeName(f, "tr");
for (h = e.cacheable || l - 1; i < l; i++)
d.call(c && p.nodeName(this[i], "table") ? bC(this[i], "tbody") : this[i], i === h ? g : p.clone(g, !0, !0))
}
g = f = null,
k.length && p.each(k, function(a, b) {
b.src ? p.ajax ? p.ajax({
url: b.src,
type: "GET",
dataType: "script",
async: !1,
global: !1,
"throws": !0
}) : p.error("no ajax") : p.globalEval((b.text || b.textContent || b.innerHTML || "").replace(by, "")),
b.parentNode && b.parentNode.removeChild(b)
})
}
return this
}
}),
p.buildFragment = function(a, c, d) {
var f, g, h, i = a[0];
return c = c || e,
c = !c.nodeType && c[0] || c,
c = c.ownerDocument || c,
a.length === 1 && typeof i == "string" && i.length < 512 && c === e && i.charAt(0) === "<" && !bt.test(i) && (p.support.checkClone || !bw.test(i)) && (p.support.html5Clone || !bu.test(i)) && (g = !0,
f = p.fragments[i],
h = f !== b),
f || (f = c.createDocumentFragment(),
p.clean(a, c, f, d),
g && (p.fragments[i] = h && f)),
{
fragment: f,
cacheable: g
}
}
,
p.fragments = {},
p.each({
appendTo: "append",
prependTo: "prepend",
insertBefore: "before",
insertAfter: "after",
replaceAll: "replaceWith"
}, function(a, b) {
p.fn[a] = function(c) {
var d, e = 0, f = [], g = p(c), h = g.length, i = this.length === 1 && this[0].parentNode;
if ((i == null || i && i.nodeType === 11 && i.childNodes.length === 1) && h === 1)
return g[b](this[0]),
this;
for (; e < h; e++)
d = (e > 0 ? this.clone(!0) : this).get(),
p(g[e])[b](d),
f = f.concat(d);
return this.pushStack(f, a, g.selector)
}
}),
p.extend({
clone: function(a, b, c) {
var d, e, f, g;
p.support.html5Clone || p.isXMLDoc(a) || !bu.test("<" + a.nodeName + ">") ? g = a.cloneNode(!0) : (bB.innerHTML = a.outerHTML,
bB.removeChild(g = bB.firstChild));
if ((!p.support.noCloneEvent || !p.support.noCloneChecked) && (a.nodeType === 1 || a.nodeType === 11) && !p.isXMLDoc(a)) {
bE(a, g),
d = bF(a),
e = bF(g);
for (f = 0; d[f]; ++f)
e[f] && bE(d[f], e[f])
}
if (b) {
bD(a, g);
if (c) {
d = bF(a),
e = bF(g);
for (f = 0; d[f]; ++f)
bD(d[f], e[f])
}
}
return d = e = null,
g
},
clean: function(a, b, c, d) {
var f, g, h, i, j, k, l, m, n, o, q, r, s = b === e && bA, t = [];
if (!b || typeof b.createDocumentFragment == "undefined")
b = e;
for (f = 0; (h = a[f]) != null; f++) {
typeof h == "number" && (h += "");
if (!h)
continue;
if (typeof h == "string")
if (!br.test(h))
h = b.createTextNode(h);
else {
s = s || bk(b),
l = b.createElement("div"),
s.appendChild(l),
h = h.replace(bo, "<$1></$2>"),
i = (bp.exec(h) || ["", ""])[1].toLowerCase(),
j = bz[i] || bz._default,
k = j[0],
l.innerHTML = j[1] + h + j[2];
while (k--)
l = l.lastChild;
if (!p.support.tbody) {
m = bq.test(h),
n = i === "table" && !m ? l.firstChild && l.firstChild.childNodes : j[1] === "<table>" && !m ? l.childNodes : [];
for (g = n.length - 1; g >= 0; --g)
p.nodeName(n[g], "tbody") && !n[g].childNodes.length && n[g].parentNode.removeChild(n[g])
}
!p.support.leadingWhitespace && bn.test(h) && l.insertBefore(b.createTextNode(bn.exec(h)[0]), l.firstChild),
h = l.childNodes,
l.parentNode.removeChild(l)
}
h.nodeType ? t.push(h) : p.merge(t, h)
}
l && (h = l = s = null);
if (!p.support.appendChecked)
for (f = 0; (h = t[f]) != null; f++)
p.nodeName(h, "input") ? bG(h) : typeof h.getElementsByTagName != "undefined" && p.grep(h.getElementsByTagName("input"), bG);
if (c) {
q = function(a) {
if (!a.type || bx.test(a.type))
return d ? d.push(a.parentNode ? a.parentNode.removeChild(a) : a) : c.appendChild(a)
}
;
for (f = 0; (h = t[f]) != null; f++)
if (!p.nodeName(h, "script") || !q(h))
c.appendChild(h),
typeof h.getElementsByTagName != "undefined" && (r = p.grep(p.merge([], h.getElementsByTagName("script")), q),
t.splice.apply(t, [f + 1, 0].concat(r)),
f += r.length)
}
return t
},
cleanData: function(a, b) {
var c, d, e, f, g = 0, h = p.expando, i = p.cache, j = p.support.deleteExpando, k = p.event.special;
for (; (e = a[g]) != null; g++)
if (b || p.acceptData(e)) {
d = e[h],
c = d && i[d];
if (c) {
if (c.events)
for (f in c.events)
k[f] ? p.event.remove(e, f) : p.removeEvent(e, f, c.handle);
i[d] && (delete i[d],
j ? delete e[h] : e.removeAttribute ? e.removeAttribute(h) : e[h] = null,
p.deletedIds.push(d))
}
}
}
}),
function() {
var a, b;
p.uaMatch = function(a) {
a = a.toLowerCase();
var b = /(chrome)[ \/]([\w.]+)/.exec(a) || /(webkit)[ \/]([\w.]+)/.exec(a) || /(opera)(?:.*version|)[ \/]([\w.]+)/.exec(a) || /(msie) ([\w.]+)/.exec(a) || a.indexOf("compatible") < 0 && /(mozilla)(?:.*? rv:([\w.]+)|)/.exec(a) || [];
return {
browser: b[1] || "",
version: b[2] || "0"
}
}
,
a = p.uaMatch(g.userAgent),
b = {},
a.browser && (b[a.browser] = !0,
b.version = a.version),
b.chrome ? b.webkit = !0 : b.webkit && (b.safari = !0),
p.browser = b,
p.sub = function() {
function a(b, c) {
return new a.fn.init(b,c)
}
p.extend(!0, a, this),
a.superclass = this,
a.fn = a.prototype = this(),
a.fn.constructor = a,
a.sub = this.sub,
a.fn.init = function c(c, d) {
return d && d instanceof p && !(d instanceof a) && (d = a(d)),
p.fn.init.call(this, c, d, b)
}
,
a.fn.init.prototype = a.fn;
var b = a(e);
return a
}
}();
var bH, bI, bJ, bK = /alpha\([^)]*\)/i, bL = /opacity=([^)]*)/, bM = /^(top|right|bottom|left)$/, bN = /^(none|table(?!-c[ea]).+)/, bO = /^margin/, bP = new RegExp("^(" + q + ")(.*)$","i"), bQ = new RegExp("^(" + q + ")(?!px)[a-z%]+$","i"), bR = new RegExp("^([-+])=(" + q + ")","i"), bS = {}, bT = {
position: "absolute",
visibility: "hidden",
display: "block"
}, bU = {
letterSpacing: 0,
fontWeight: 400
}, bV = ["Top", "Right", "Bottom", "Left"], bW = ["Webkit", "O", "Moz", "ms"], bX = p.fn.toggle;
p.fn.extend({
css: function(a, c) {
return p.access(this, function(a, c, d) {
return d !== b ? p.style(a, c, d) : p.css(a, c)
}, a, c, arguments.length > 1)
},
show: function() {
return b$(this, !0)
},
hide: function() {
return b$(this)
},
toggle: function(a, b) {
var c = typeof a == "boolean";
return p.isFunction(a) && p.isFunction(b) ? bX.apply(this, arguments) : this.each(function() {
(c ? a : bZ(this)) ? p(this).show() : p(this).hide()
})
}
}),
p.extend({
cssHooks: {
opacity: {
get: function(a, b) {
if (b) {
var c = bH(a, "opacity");
return c === "" ? "1" : c
}
}
}
},
cssNumber: {
fillOpacity: !0,
fontWeight: !0,
lineHeight: !0,
opacity: !0,
orphans: !0,
widows: !0,
zIndex: !0,
zoom: !0
},
cssProps: {
"float": p.support.cssFloat ? "cssFloat" : "styleFloat"
},
style: function(a, c, d, e) {
if (!a || a.nodeType === 3 || a.nodeType === 8 || !a.style)
return;
var f, g, h, i = p.camelCase(c), j = a.style;
c = p.cssProps[i] || (p.cssProps[i] = bY(j, i)),
h = p.cssHooks[c] || p.cssHooks[i];
if (d === b)
return h && "get"in h && (f = h.get(a, !1, e)) !== b ? f : j[c];
g = typeof d,
g === "string" && (f = bR.exec(d)) && (d = (f[1] + 1) * f[2] + parseFloat(p.css(a, c)),
g = "number");
if (d == null || g === "number" && isNaN(d))
return;
g === "number" && !p.cssNumber[i] && (d += "px");
if (!h || !("set"in h) || (d = h.set(a, d, e)) !== b)
try {
j[c] = d
} catch (k) {}
},
css: function(a, c, d, e) {
var f, g, h, i = p.camelCase(c);
return c = p.cssProps[i] || (p.cssProps[i] = bY(a.style, i)),
h = p.cssHooks[c] || p.cssHooks[i],
h && "get"in h && (f = h.get(a, !0, e)),
f === b && (f = bH(a, c)),
f === "normal" && c in bU && (f = bU[c]),
d || e !== b ? (g = parseFloat(f),
d || p.isNumeric(g) ? g || 0 : f) : f
},
swap: function(a, b, c) {
var d, e, f = {};
for (e in b)
f[e] = a.style[e],
a.style[e] = b[e];
d = c.call(a);
for (e in b)
a.style[e] = f[e];
return d
}
}),
a.getComputedStyle ? bH = function(b, c) {
var d, e, f, g, h = a.getComputedStyle(b, null), i = b.style;
return h && (d = h[c],
d === "" && !p.contains(b.ownerDocument, b) && (d = p.style(b, c)),
bQ.test(d) && bO.test(c) && (e = i.width,
f = i.minWidth,
g = i.maxWidth,
i.minWidth = i.maxWidth = i.width = d,
d = h.width,
i.width = e,
i.minWidth = f,
i.maxWidth = g)),
d
}
: e.documentElement.currentStyle && (bH = function(a, b) {
var c, d, e = a.currentStyle && a.currentStyle[b], f = a.style;
return e == null && f && f[b] && (e = f[b]),
bQ.test(e) && !bM.test(b) && (c = f.left,
d = a.runtimeStyle && a.runtimeStyle.left,
d && (a.runtimeStyle.left = a.currentStyle.left),
f.left = b === "fontSize" ? "1em" : e,
e = f.pixelLeft + "px",
f.left = c,
d && (a.runtimeStyle.left = d)),
e === "" ? "auto" : e
}
),
p.each(["height", "width"], function(a, b) {
p.cssHooks[b] = {
get: function(a, c, d) {
if (c)
return a.offsetWidth === 0 && bN.test(bH(a, "display")) ? p.swap(a, bT, function() {
return cb(a, b, d)
}) : cb(a, b, d)
},
set: function(a, c, d) {
return b_(a, c, d ? ca(a, b, d, p.support.boxSizing && p.css(a, "boxSizing") === "border-box") : 0)
}
}
}),
p.support.opacity || (p.cssHooks.opacity = {
get: function(a, b) {
return bL.test((b && a.currentStyle ? a.currentStyle.filter : a.style.filter) || "") ? .01 * parseFloat(RegExp.$1) + "" : b ? "1" : ""
},
set: function(a, b) {
var c = a.style
, d = a.currentStyle
, e = p.isNumeric(b) ? "alpha(opacity=" + b * 100 + ")" : ""
, f = d && d.filter || c.filter || "";
c.zoom = 1;
if (b >= 1 && p.trim(f.replace(bK, "")) === "" && c.removeAttribute) {
c.removeAttribute("filter");
if (d && !d.filter)
return
}
c.filter = bK.test(f) ? f.replace(bK, e) : f + " " + e
}
}),
p(function() {
p.support.reliableMarginRight || (p.cssHooks.marginRight = {
get: function(a, b) {
return p.swap(a, {
display: "inline-block"
}, function() {
if (b)
return bH(a, "marginRight")
})
}
}),
!p.support.pixelPosition && p.fn.position && p.each(["top", "left"], function(a, b) {
p.cssHooks[b] = {
get: function(a, c) {
if (c) {
var d = bH(a, b);
return bQ.test(d) ? p(a).position()[b] + "px" : d
}
}
}
})
}),
p.expr && p.expr.filters && (p.expr.filters.hidden = function(a) {
return a.offsetWidth === 0 && a.offsetHeight === 0 || !p.support.reliableHiddenOffsets && (a.style && a.style.display || bH(a, "display")) === "none"
}
,
p.expr.filters.visible = function(a) {
return !p.expr.filters.hidden(a)
}
),
p.each({
margin: "",
padding: "",
border: "Width"
}, function(a, b) {
p.cssHooks[a + b] = {
expand: function(c) {
var d, e = typeof c == "string" ? c.split(" ") : [c], f = {};
for (d = 0; d < 4; d++)
f[a + bV[d] + b] = e[d] || e[d - 2] || e[0];
return f
}
},
bO.test(a) || (p.cssHooks[a + b].set = b_)
});
var cd = /%20/g
, ce = /\[\]$/
, cf = /\r?\n/g
, cg = /^(?:color|date|datetime|datetime-local|email|hidden|month|number|password|range|search|tel|text|time|url|week)$/i
, ch = /^(?:select|textarea)/i;
p.fn.extend({
serialize: function() {
return p.param(this.serializeArray())
},
serializeArray: function() {
return this.map(function() {
return this.elements ? p.makeArray(this.elements) : this
}).filter(function() {
return this.name && !this.disabled && (this.checked || ch.test(this.nodeName) || cg.test(this.type))
}).map(function(a, b) {
var c = p(this).val();
return c == null ? null : p.isArray(c) ? p.map(c, function(a, c) {
return {
name: b.name,
value: a.replace(cf, "\r\n")
}
}) : {
name: b.name,
value: c.replace(cf, "\r\n")
}
}).get()
}
}),
p.param = function(a, c) {
var d, e = [], f = function(a, b) {
b = p.isFunction(b) ? b() : b == null ? "" : b,
e[e.length] = encodeURIComponent(a) + "=" + encodeURIComponent(b)
};
c === b && (c = p.ajaxSettings && p.ajaxSettings.traditional);
if (p.isArray(a) || a.jquery && !p.isPlainObject(a))
p.each(a, function() {
f(this.name, this.value)
});
else
for (d in a)
ci(d, a[d], c, f);
return e.join("&").replace(cd, "+")
}
;
var cj, ck, cl = /#.*$/, cm = /^(.*?):[ \t]*([^\r\n]*)\r?$/mg, cn = /^(?:about|app|app\-storage|.+\-extension|file|res|widget):$/, co = /^(?:GET|HEAD)$/, cp = /^\/\//, cq = /\?/, cr = /<script\b[^<]*(?:(?!<\/script>)<[^<]*)*<\/script>/gi, cs = /([?&])_=[^&]*/, ct = /^([\w\+\.\-]+:)(?:\/\/([^\/?#:]*)(?::(\d+)|)|)/, cu = p.fn.load, cv = {}, cw = {}, cx = ["*/"] + ["*"];
try {
ck = f.href
} catch (cy) {
ck = e.createElement("a"),
ck.href = "",
ck = ck.href
}
cj = ct.exec(ck.toLowerCase()) || [],
p.fn.load = function(a, c, d) {
if (typeof a != "string" && cu)
return cu.apply(this, arguments);
if (!this.length)
return this;
var e, f, g, h = this, i = a.indexOf(" ");
return i >= 0 && (e = a.slice(i, a.length),
a = a.slice(0, i)),
p.isFunction(c) ? (d = c,
c = b) : c && typeof c == "object" && (f = "POST"),
p.ajax({
url: a,
type: f,
dataType: "html",
data: c,
complete: function(a, b) {
d && h.each(d, g || [a.responseText, b, a])
}
}).done(function(a) {
g = arguments,
h.html(e ? p("<div>").append(a.replace(cr, "")).find(e) : a)
}),
this
}
,
p.each("ajaxStart ajaxStop ajaxComplete ajaxError ajaxSuccess ajaxSend".split(" "), function(a, b) {
p.fn[b] = function(a) {
return this.on(b, a)
}
}),
p.each(["get", "post"], function(a, c) {
p[c] = function(a, d, e, f) {
return p.isFunction(d) && (f = f || e,
e = d,
d = b),
p.ajax({
type: c,
url: a,
data: d,
success: e,
dataType: f
})
}
}),
p.extend({
getScript: function(a, c) {
return p.get(a, b, c, "script")
},
getJSON: function(a, b, c) {
return p.get(a, b, c, "json")
},
ajaxSetup: function(a, b) {
return b ? cB(a, p.ajaxSettings) : (b = a,
a = p.ajaxSettings),
cB(a, b),
a
},
ajaxSettings: {
url: ck,
isLocal: cn.test(cj[1]),
global: !0,
type: "GET",
contentType: "application/x-www-form-urlencoded; charset=UTF-8",
processData: !0,
async: !0,
accepts: {
xml: "application/xml, text/xml",
html: "text/html",
text: "text/plain",
json: "application/json, text/javascript",
"*": cx
},
contents: {
xml: /xml/,
html: /html/,
json: /json/
},
responseFields: {
xml: "responseXML",
text: "responseText"
},
converters: {
"* text": a.String,
"text html": !0,
"text json": p.parseJSON,
"text xml": p.parseXML
},
flatOptions: {
context: !0,
url: !0
}
},
ajaxPrefilter: cz(cv),
ajaxTransport: cz(cw),
ajax: function(a, c) {
function y(a, c, f, i) {
var k, s, t, u, w, y = c;
if (v === 2)
return;
v = 2,
h && clearTimeout(h),
g = b,
e = i || "",
x.readyState = a > 0 ? 4 : 0,
f && (u = cC(l, x, f));
if (a >= 200 && a < 300 || a === 304)
l.ifModified && (w = x.getResponseHeader("Last-Modified"),
w && (p.lastModified[d] = w),
w = x.getResponseHeader("Etag"),
w && (p.etag[d] = w)),
a === 304 ? (y = "notmodified",
k = !0) : (k = cD(l, u),
y = k.state,
s = k.data,
t = k.error,
k = !t);
else {
t = y;
if (!y || a)
y = "error",
a < 0 && (a = 0)
}
x.status = a,
x.statusText = (c || y) + "",
k ? o.resolveWith(m, [s, y, x]) : o.rejectWith(m, [x, y, t]),
x.statusCode(r),
r = b,
j && n.trigger("ajax" + (k ? "Success" : "Error"), [x, l, k ? s : t]),
q.fireWith(m, [x, y]),
j && (n.trigger("ajaxComplete", [x, l]),
--p.active || p.event.trigger("ajaxStop"))
}
typeof a == "object" && (c = a,
a = b),
c = c || {};
var d, e, f, g, h, i, j, k, l = p.ajaxSetup({}, c), m = l.context || l, n = m !== l && (m.nodeType || m instanceof p) ? p(m) : p.event, o = p.Deferred(), q = p.Callbacks("once memory"), r = l.statusCode || {}, t = {}, u = {}, v = 0, w = "canceled", x = {
readyState: 0,
setRequestHeader: function(a, b) {
if (!v) {
var c = a.toLowerCase();
a = u[c] = u[c] || a,
t[a] = b
}
return this
},
getAllResponseHeaders: function() {
return v === 2 ? e : null
},
getResponseHeader: function(a) {
var c;
if (v === 2) {
if (!f) {
f = {};
while (c = cm.exec(e))
f[c[1].toLowerCase()] = c[2]
}
c = f[a.toLowerCase()]
}
return c === b ? null : c
},
overrideMimeType: function(a) {
return v || (l.mimeType = a),
this
},
abort: function(a) {
return a = a || w,
g && g.abort(a),
y(0, a),
this
}
};
o.promise(x),
x.success = x.done,
x.error = x.fail,
x.complete = q.add,
x.statusCode = function(a) {
if (a) {
var b;
if (v < 2)
for (b in a)
r[b] = [r[b], a[b]];
else
b = a[x.status],
x.always(b)
}
return this
}
,
l.url = ((a || l.url) + "").replace(cl, "").replace(cp, cj[1] + "//"),
l.dataTypes = p.trim(l.dataType || "*").toLowerCase().split(s),
l.crossDomain == null && (i = ct.exec(l.url.toLowerCase()) || !1,
l.crossDomain = i && i.join(":") + (i[3] ? "" : i[1] === "http:" ? 80 : 443) !== cj.join(":") + (cj[3] ? "" : cj[1] === "http:" ? 80 : 443)),
l.data && l.processData && typeof l.data != "string" && (l.data = p.param(l.data, l.traditional)),
cA(cv, l, c, x);
if (v === 2)
return x;
j = l.global,
l.type = l.type.toUpperCase(),
l.hasContent = !co.test(l.type),
j && p.active++ === 0 && p.event.trigger("ajaxStart");
if (!l.hasContent) {
l.data && (l.url += (cq.test(l.url) ? "&" : "?") + l.data,
delete l.data),
d = l.url;
if (l.cache === !1) {
var z = p.now()
, A = l.url.replace(cs, "$1_=" + z);
l.url = A + (A === l.url ? (cq.test(l.url) ? "&" : "?") + "_=" + z : "")
}
}
(l.data && l.hasContent && l.contentType !== !1 || c.contentType) && x.setRequestHeader("Content-Type", l.contentType),
l.ifModified && (d = d || l.url,
p.lastModified[d] && x.setRequestHeader("If-Modified-Since", p.lastModified[d]),
p.etag[d] && x.setRequestHeader("If-None-Match", p.etag[d])),
x.setRequestHeader("Accept", l.dataTypes[0] && l.accepts[l.dataTypes[0]] ? l.accepts[l.dataTypes[0]] + (l.dataTypes[0] !== "*" ? ", " + cx + "; q=0.01" : "") : l.accepts["*"]);
for (k in l.headers)
x.setRequestHeader(k, l.headers[k]);
if (!l.beforeSend || l.beforeSend.call(m, x, l) !== !1 && v !== 2) {
w = "abort";
for (k in {
success: 1,
error: 1,
complete: 1
})
x[k](l[k]);
g = cA(cw, l, c, x);
if (!g)
y(-1, "No Transport");
else {
x.readyState = 1,
j && n.trigger("ajaxSend", [x, l]),
l.async && l.timeout > 0 && (h = setTimeout(function() {
x.abort("timeout")
}, l.timeout));
try {
v = 1,
g.send(t, y)
} catch (B) {
if (v < 2)
y(-1, B);
else
throw B
}
}
return x
}
return x.abort()
},
active: 0,
lastModified: {},
etag: {}
});
var cE = []
, cF = /\?/
, cG = /(=)\?(?=&|$)|\?\?/
, cH = p.now();
p.ajaxSetup({
jsonp: "callback",
jsonpCallback: function() {
var a = cE.pop() || p.expando + "_" + cH++;
return this[a] = !0,
a
}
}),
p.ajaxPrefilter("json jsonp", function(c, d, e) {
var f, g, h, i = c.data, j = c.url, k = c.jsonp !== !1, l = k && cG.test(j), m = k && !l && typeof i == "string" && !(c.contentType || "").indexOf("application/x-www-form-urlencoded") && cG.test(i);
if (c.dataTypes[0] === "jsonp" || l || m)
return f = c.jsonpCallback = p.isFunction(c.jsonpCallback) ? c.jsonpCallback() : c.jsonpCallback,
g = a[f],
l ? c.url = j.replace(cG, "$1" + f) : m ? c.data = i.replace(cG, "$1" + f) : k && (c.url += (cF.test(j) ? "&" : "?") + c.jsonp + "=" + f),
c.converters["script json"] = function() {
return h || p.error(f + " was not called"),
h[0]
}
,
c.dataTypes[0] = "json",
a[f] = function() {
h = arguments
}
,
e.always(function() {
a[f] = g,
c[f] && (c.jsonpCallback = d.jsonpCallback,
cE.push(f)),
h && p.isFunction(g) && g(h[0]),
h = g = b
}),
"script"
}),
p.ajaxSetup({
accepts: {
script: "text/javascript, application/javascript, application/ecmascript, application/x-ecmascript"
},
contents: {
script: /javascript|ecmascript/
},
converters: {
"text script": function(a) {
return p.globalEval(a),
a
}
}
}),
p.ajaxPrefilter("script", function(a) {
a.cache === b && (a.cache = !1),
a.crossDomain && (a.type = "GET",
a.global = !1)
}),
p.ajaxTransport("script", function(a) {
if (a.crossDomain) {
var c, d = e.head || e.getElementsByTagName("head")[0] || e.documentElement;
return {
send: function(f, g) {
c = e.createElement("script"),
c.async = "async",
a.scriptCharset && (c.charset = a.scriptCharset),
c.src = a.url,
c.onload = c.onreadystatechange = function(a, e) {
if (e || !c.readyState || /loaded|complete/.test(c.readyState))
c.onload = c.onreadystatechange = null,
d && c.parentNode && d.removeChild(c),
c = b,
e || g(200, "success")
}
,
d.insertBefore(c, d.firstChild)
},
abort: function() {
c && c.onload(0, 1)
}
}
}
});
var cI, cJ = a.ActiveXObject ? function() {
for (var a in cI)
cI[a](0, 1)
}
: !1, cK = 0;
p.ajaxSettings.xhr = a.ActiveXObject ? function() {
return !this.isLocal && cL() || cM()
}
: cL,
function(a) {
p.extend(p.support, {
ajax: !!a,
cors: !!a && "withCredentials"in a
})
}(p.ajaxSettings.xhr()),
p.support.ajax && p.ajaxTransport(function(c) {
if (!c.crossDomain || p.support.cors) {
var d;
return {
send: function(e, f) {
var g, h, i = c.xhr();
c.username ? i.open(c.type, c.url, c.async, c.username, c.password) : i.open(c.type, c.url, c.async);
if (c.xhrFields)
for (h in c.xhrFields)
i[h] = c.xhrFields[h];
c.mimeType && i.overrideMimeType && i.overrideMimeType(c.mimeType),
!c.crossDomain && !e["X-Requested-With"] && (e["X-Requested-With"] = "XMLHttpRequest");
try {
for (h in e)
i.setRequestHeader(h, e[h])
} catch (j) {}
i.send(c.hasContent && c.data || null),
d = function(a, e) {
var h, j, k, l, m;
try {
if (d && (e || i.readyState === 4)) {
d = b,
g && (i.onreadystatechange = p.noop,
cJ && delete cI[g]);
if (e)
i.readyState !== 4 && i.abort();
else {
h = i.status,
k = i.getAllResponseHeaders(),
l = {},
m = i.responseXML,
m && m.documentElement && (l.xml = m);
try {
l.text = i.responseText
} catch (a) {}
try {
j = i.statusText
} catch (n) {
j = ""
}
!h && c.isLocal && !c.crossDomain ? h = l.text ? 200 : 404 : h === 1223 && (h = 204)
}
}
} catch (o) {
e || f(-1, o)
}
l && f(h, j, l, k)
}
,
c.async ? i.readyState === 4 ? setTimeout(d, 0) : (g = ++cK,
cJ && (cI || (cI = {},
p(a).unload(cJ)),
cI[g] = d),
i.onreadystatechange = d) : d()
},
abort: function() {
d && d(0, 1)
}
}
}
});
var cN, cO, cP = /^(?:toggle|show|hide)$/, cQ = new RegExp("^(?:([-+])=|)(" + q + ")([a-z%]*)$","i"), cR = /queueHooks$/, cS = [cY], cT = {
"*": [function(a, b) {
var c, d, e = this.createTween(a, b), f = cQ.exec(b), g = e.cur(), h = +g || 0, i = 1, j = 20;
if (f) {
c = +f[2],
d = f[3] || (p.cssNumber[a] ? "" : "px");
if (d !== "px" && h) {
h = p.css(e.elem, a, !0) || c || 1;
do
i = i || ".5",
h = h / i,
p.style(e.elem, a, h + d);
while (i !== (i = e.cur() / g) && i !== 1 && --j)
}
e.unit = d,
e.start = h,
e.end = f[1] ? h + (f[1] + 1) * c : c
}
return e
}
]
};
p.Animation = p.extend(cW, {
tweener: function(a, b) {
p.isFunction(a) ? (b = a,
a = ["*"]) : a = a.split(" ");
var c, d = 0, e = a.length;
for (; d < e; d++)
c = a[d],
cT[c] = cT[c] || [],
cT[c].unshift(b)
},
prefilter: function(a, b) {
b ? cS.unshift(a) : cS.push(a)
}
}),
p.Tween = cZ,
cZ.prototype = {
constructor: cZ,
init: function(a, b, c, d, e, f) {
this.elem = a,
this.prop = c,
this.easing = e || "swing",
this.options = b,
this.start = this.now = this.cur(),
this.end = d,
this.unit = f || (p.cssNumber[c] ? "" : "px")
},
cur: function() {
var a = cZ.propHooks[this.prop];
return a && a.get ? a.get(this) : cZ.propHooks._default.get(this)
},
run: function(a) {
var b, c = cZ.propHooks[this.prop];
return this.options.duration ? this.pos = b = p.easing[this.easing](a, this.options.duration * a, 0, 1, this.options.duration) : this.pos = b = a,
this.now = (this.end - this.start) * b + this.start,
this.options.step && this.options.step.call(this.elem, this.now, this),
c && c.set ? c.set(this) : cZ.propHooks._default.set(this),
this
}
},
cZ.prototype.init.prototype = cZ.prototype,
cZ.propHooks = {
_default: {
get: function(a) {
var b;
return a.elem[a.prop] == null || !!a.elem.style && a.elem.style[a.prop] != null ? (b = p.css(a.elem, a.prop, !1, ""),
!b || b === "auto" ? 0 : b) : a.elem[a.prop]
},
set: function(a) {
p.fx.step[a.prop] ? p.fx.step[a.prop](a) : a.elem.style && (a.elem.style[p.cssProps[a.prop]] != null || p.cssHooks[a.prop]) ? p.style(a.elem, a.prop, a.now + a.unit) : a.elem[a.prop] = a.now
}
}
},
cZ.propHooks.scrollTop = cZ.propHooks.scrollLeft = {
set: function(a) {
a.elem.nodeType && a.elem.parentNode && (a.elem[a.prop] = a.now)
}
},
p.each(["toggle", "show", "hide"], function(a, b) {
var c = p.fn[b];
p.fn[b] = function(d, e, f) {
return d == null || typeof d == "boolean" || !a && p.isFunction(d) && p.isFunction(e) ? c.apply(this, arguments) : this.animate(c$(b, !0), d, e, f)
}
}),
p.fn.extend({
fadeTo: function(a, b, c, d) {
return this.filter(bZ).css("opacity", 0).show().end().animate({
opacity: b
}, a, c, d)
},
animate: function(a, b, c, d) {
var e = p.isEmptyObject(a)
, f = p.speed(b, c, d)
, g = function() {
var b = cW(this, p.extend({}, a), f);
e && b.stop(!0)
};
return e || f.queue === !1 ? this.each(g) : this.queue(f.queue, g)
},
stop: function(a, c, d) {
var e = function(a) {
var b = a.stop;
delete a.stop,
b(d)
};
return typeof a != "string" && (d = c,
c = a,
a = b),
c && a !== !1 && this.queue(a || "fx", []),
this.each(function() {
var b = !0
, c = a != null && a + "queueHooks"
, f = p.timers
, g = p._data(this);
if (c)
g[c] && g[c].stop && e(g[c]);
else
for (c in g)
g[c] && g[c].stop && cR.test(c) && e(g[c]);
for (c = f.length; c--; )
f[c].elem === this && (a == null || f[c].queue === a) && (f[c].anim.stop(d),
b = !1,
f.splice(c, 1));
(b || !d) && p.dequeue(this, a)
})
}
}),
p.each({
slideDown: c$("show"),
slideUp: c$("hide"),
slideToggle: c$("toggle"),
fadeIn: {
opacity: "show"
},
fadeOut: {
opacity: "hide"
},
fadeToggle: {
opacity: "toggle"
}
}, function(a, b) {
p.fn[a] = function(a, c, d) {
return this.animate(b, a, c, d)
}
}),
p.speed = function(a, b, c) {
var d = a && typeof a == "object" ? p.extend({}, a) : {
complete: c || !c && b || p.isFunction(a) && a,
duration: a,
easing: c && b || b && !p.isFunction(b) && b
};
d.duration = p.fx.off ? 0 : typeof d.duration == "number" ? d.duration : d.duration in p.fx.speeds ? p.fx.speeds[d.duration] : p.fx.speeds._default;
if (d.queue == null || d.queue === !0)
d.queue = "fx";
return d.old = d.complete,
d.complete = function() {
p.isFunction(d.old) && d.old.call(this),
d.queue && p.dequeue(this, d.queue)
}
,
d
}
,
p.easing = {
linear: function(a) {
return a
},
swing: function(a) {
return .5 - Math.cos(a * Math.PI) / 2
}
},
p.timers = [],
p.fx = cZ.prototype.init,
p.fx.tick = function() {
var a, b = p.timers, c = 0;
for (; c < b.length; c++)
a = b[c],
!a() && b[c] === a && b.splice(c--, 1);
b.length || p.fx.stop()
}
,
p.fx.timer = function(a) {
a() && p.timers.push(a) && !cO && (cO = setInterval(p.fx.tick, p.fx.interval))
}
,
p.fx.interval = 13,
p.fx.stop = function() {
clearInterval(cO),
cO = null
}
,
p.fx.speeds = {
slow: 600,
fast: 200,
_default: 400
},
p.fx.step = {},
p.expr && p.expr.filters && (p.expr.filters.animated = function(a) {
return p.grep(p.timers, function(b) {
return a === b.elem
}).length
}
);
var c_ = /^(?:body|html)$/i;
p.fn.offset = function(a) {
if (arguments.length)
return a === b ? this : this.each(function(b) {
p.offset.setOffset(this, a, b)
});
var c, d, e, f, g, h, i, j = {
top: 0,
left: 0
}, k = this[0], l = k && k.ownerDocument;
if (!l)
return;
return (d = l.body) === k ? p.offset.bodyOffset(k) : (c = l.documentElement,
p.contains(c, k) ? (typeof k.getBoundingClientRect != "undefined" && (j = k.getBoundingClientRect()),
e = da(l),
f = c.clientTop || d.clientTop || 0,
g = c.clientLeft || d.clientLeft || 0,
h = e.pageYOffset || c.scrollTop,
i = e.pageXOffset || c.scrollLeft,
{
top: j.top + h - f,
left: j.left + i - g
}) : j)
}
,
p.offset = {
bodyOffset: function(a) {
var b = a.offsetTop
, c = a.offsetLeft;
return p.support.doesNotIncludeMarginInBodyOffset && (b += parseFloat(p.css(a, "marginTop")) || 0,
c += parseFloat(p.css(a, "marginLeft")) || 0),
{
top: b,
left: c
}
},
setOffset: function(a, b, c) {
var d = p.css(a, "position");
d === "static" && (a.style.position = "relative");
var e = p(a), f = e.offset(), g = p.css(a, "top"), h = p.css(a, "left"), i = (d === "absolute" || d === "fixed") && p.inArray("auto", [g, h]) > -1, j = {}, k = {}, l, m;
i ? (k = e.position(),
l = k.top,
m = k.left) : (l = parseFloat(g) || 0,
m = parseFloat(h) || 0),
p.isFunction(b) && (b = b.call(a, c, f)),
b.top != null && (j.top = b.top - f.top + l),
b.left != null && (j.left = b.left - f.left + m),
"using"in b ? b.using.call(a, j) : e.css(j)
}
},
p.fn.extend({
position: function() {
if (!this[0])
return;
var a = this[0]
, b = this.offsetParent()
, c = this.offset()
, d = c_.test(b[0].nodeName) ? {
top: 0,
left: 0
} : b.offset();
return c.top -= parseFloat(p.css(a, "marginTop")) || 0,
c.left -= parseFloat(p.css(a, "marginLeft")) || 0,
d.top += parseFloat(p.css(b[0], "borderTopWidth")) || 0,
d.left += parseFloat(p.css(b[0], "borderLeftWidth")) || 0,
{
top: c.top - d.top,
left: c.left - d.left
}
},
offsetParent: function() {
return this.map(function() {
var a = this.offsetParent || e.body;
while (a && !c_.test(a.nodeName) && p.css(a, "position") === "static")
a = a.offsetParent;
return a || e.body
})
}
}),
p.each({
scrollLeft: "pageXOffset",
scrollTop: "pageYOffset"
}, function(a, c) {
var d = /Y/.test(c);
p.fn[a] = function(e) {
return p.access(this, function(a, e, f) {
var g = da(a);
if (f === b)
return g ? c in g ? g[c] : g.document.documentElement[e] : a[e];
g ? g.scrollTo(d ? p(g).scrollLeft() : f, d ? f : p(g).scrollTop()) : a[e] = f
}, a, e, arguments.length, null)
}
}),
p.each({
Height: "height",
Width: "width"
}, function(a, c) {
p.each({
padding: "inner" + a,
content: c,
"": "outer" + a
}, function(d, e) {
p.fn[e] = function(e, f) {
var g = arguments.length && (d || typeof e != "boolean")
, h = d || (e === !0 || f === !0 ? "margin" : "border");
return p.access(this, function(c, d, e) {
var f;
return p.isWindow(c) ? c.document.documentElement["client" + a] : c.nodeType === 9 ? (f = c.documentElement,
Math.max(c.body["scroll" + a], f["scroll" + a], c.body["offset" + a], f["offset" + a], f["client" + a])) : e === b ? p.css(c, d, e, h) : p.style(c, d, e, h)
}, c, g ? e : b, g, null)
}
})
}),
a.jQuery = a.$ = p,
typeof define == "function" && define.amd && define.amd.jQuery && define("jquery", [], function() {
return p
})
}
)(window);
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment