").append(ib.parseHTML(a)).find(e) : a)
}).complete(d && function(a, b) {
h.each(d, f || [a.responseText, b, a])
}), this
}, ib.each(["ajaxStart", "ajaxStop", "ajaxComplete", "ajaxError", "ajaxSuccess", "ajaxSend"], function(a, b) {
ib.fn[b] = function(a) {
return this.on(b, a)
}
}), ib.each(["get", "post"], function(a, c) {
ib[c] = function(a, d, e, f) {
return ib.isFunction(d) && (f = f || e, e = d, d = b), ib.ajax({
url: a,
type: c,
dataType: f,
data: d,
success: e
})
}
}), ib.extend({
active: 0,
lastModified: {},
etag: {},
ajaxSettings: {
url: Fc,
type: "GET",
isLocal: Lc.test(Ec[1]),
global: !0,
processData: !0,
async: !0,
contentType: "application/x-www-form-urlencoded; charset=UTF-8",
accepts: {
"*": Sc,
text: "text/plain",
html: "text/html",
xml: "application/xml, text/xml",
json: "application/json, text/javascript"
},
contents: {
xml: /xml/,
html: /html/,
json: /json/
},
responseFields: {
xml: "responseXML",
text: "responseText"
},
converters: {
"* text": a.String,
"text html": !0,
"text json": ib.parseJSON,
"text xml": ib.parseXML
},
flatOptions: {
url: !0,
context: !0
}
},
ajaxSetup: function(a, b) {
return b ? G(G(a, ib.ajaxSettings), b) : G(ib.ajaxSettings, a)
},
ajaxPrefilter: E(Qc),
ajaxTransport: E(Rc),
ajax: function(a, c) {
function d(a, c, d, e) {
var f, l, s, t, v, x = c;
2 !== u && (u = 2, i && clearTimeout(i), k = b, h = e || "", w.readyState = a > 0 ? 4 : 0, d && (t = H(m, w, d)), a >= 200 && 300 > a || 304 === a ? (m.ifModified && (v = w.getResponseHeader("Last-Modified"), v && (ib.lastModified[g] = v), v = w.getResponseHeader("etag"), v && (ib.etag[g] = v)), 204 === a ? (f = !0, x = "nocontent") : 304 === a ? (f = !0, x = "notmodified") : (f = I(m, t), x = f.state, l = f.data, s = f.error, f = !s)) : (s = x, (a || !x) && (x = "error", 0 > a && (a = 0))), w.status = a, w.statusText = (c || x) + "", f ? p.resolveWith(n, [l, x, w]) : p.rejectWith(n, [w, x, s]), w.statusCode(r), r = b, j && o.trigger(f ? "ajaxSuccess" : "ajaxError", [w, m, f ? l : s]), q.fireWith(n, [w, x]), j && (o.trigger("ajaxComplete", [w, m]), --ib.active || ib.event.trigger("ajaxStop")))
}
"object" == typeof a && (c = a, a = b), c = c || {};
var e, f, g, h, i, j, k, l, m = ib.ajaxSetup({}, c),
n = m.context || m,
o = m.context && (n.nodeType || n.jquery) ? ib(n) : ib.event,
p = ib.Deferred(),
q = ib.Callbacks("once memory"),
r = m.statusCode || {},
s = {},
t = {},
u = 0,
v = "canceled",
w = {
readyState: 0,
getResponseHeader: function(a) {
var b;
if (2 === u) {
if (!l)
for (l = {}; b = Kc.exec(h);) l[b[1].toLowerCase()] = b[2];
b = l[a.toLowerCase()]
}
return null == b ? null : b
},
getAllResponseHeaders: function() {
return 2 === u ? h : null
},
setRequestHeader: function(a, b) {
var c = a.toLowerCase();
return u || (a = t[c] = t[c] || a, s[a] = b), this
},
overrideMimeType: function(a) {
return u || (m.mimeType = a), this
},
statusCode: function(a) {
var b;
if (a)
if (2 > u)
for (b in a) r[b] = [r[b], a[b]];
else w.always(a[w.status]);
return this
},
abort: function(a) {
var b = a || v;
return k && k.abort(b), d(0, b), this
}
};
if (p.promise(w).complete = q.add, w.success = w.done, w.error = w.fail, m.url = ((a || m.url || Fc) + "").replace(Ic, "").replace(Nc, Ec[1] + "//"), m.type = c.method || c.type || m.method || m.type, m.dataTypes = ib.trim(m.dataType || "*").toLowerCase().match(kb) || [""], null == m.crossDomain && (e = Oc.exec(m.url.toLowerCase()), m.crossDomain = !(!e || e[1] === Ec[1] && e[2] === Ec[2] && (e[3] || ("http:" === e[1] ? 80 : 443)) == (Ec[3] || ("http:" === Ec[1] ? 80 : 443)))), m.data && m.processData && "string" != typeof m.data && (m.data = ib.param(m.data, m.traditional)), F(Qc, m, c, w), 2 === u) return w;
j = m.global, j && 0 === ib.active++ && ib.event.trigger("ajaxStart"), m.type = m.type.toUpperCase(), m.hasContent = !Mc.test(m.type), g = m.url, m.hasContent || (m.data && (g = m.url += (Hc.test(g) ? "&" : "?") + m.data, delete m.data), m.cache === !1 && (m.url = Jc.test(g) ? g.replace(Jc, "$1_=" + Gc++) : g + (Hc.test(g) ? "&" : "?") + "_=" + Gc++)), m.ifModified && (ib.lastModified[g] && w.setRequestHeader("If-Modified-Since", ib.lastModified[g]), ib.etag[g] && w.setRequestHeader("If-None-Match", ib.etag[g])), (m.data && m.hasContent && m.contentType !== !1 || c.contentType) && w.setRequestHeader("Content-Type", m.contentType), w.setRequestHeader("Accept", m.dataTypes[0] && m.accepts[m.dataTypes[0]] ? m.accepts[m.dataTypes[0]] + ("*" !== m.dataTypes[0] ? ", " + Sc + "; q=0.01" : "") : m.accepts["*"]);
for (f in m.headers) w.setRequestHeader(f, m.headers[f]);
if (m.beforeSend && (m.beforeSend.call(n, w, m) === !1 || 2 === u)) return w.abort();
v = "abort";
for (f in {
success: 1,
error: 1,
complete: 1
}) w[f](m[f]);
if (k = F(Rc, m, c, w)) {
w.readyState = 1, j && o.trigger("ajaxSend", [w, m]), m.async && m.timeout > 0 && (i = setTimeout(function() {
w.abort("timeout")
}, m.timeout));
try {
u = 1, k.send(s, d)
} catch (x) {
if (!(2 > u)) throw x;
d(-1, x)
}
} else d(-1, "No Transport");
return w
},
getScript: function(a, c) {
return ib.get(a, b, c, "script")
},
getJSON: function(a, b, c) {
return ib.get(a, b, c, "json")
}
}), ib.ajaxSetup({
accepts: {
script: "text/javascript, application/javascript, application/ecmascript, application/x-ecmascript"
},
contents: {
script: /(?:java|ecma)script/
},
converters: {
"text script": function(a) {
return ib.globalEval(a), a
}
}
}), ib.ajaxPrefilter("script", function(a) {
a.cache === b && (a.cache = !1), a.crossDomain && (a.type = "GET", a.global = !1)
}), ib.ajaxTransport("script", function(a) {
if (a.crossDomain) {
var c, d = W.head || ib("head")[0] || W.documentElement;
return {
send: function(b, e) {
c = W.createElement("script"), c.async = !0, a.scriptCharset && (c.charset = a.scriptCharset), c.src = a.url, c.onload = c.onreadystatechange = function(a, b) {
(b || !c.readyState || /loaded|complete/.test(c.readyState)) && (c.onload = c.onreadystatechange = null, c.parentNode && c.parentNode.removeChild(c), c = null, b || e(200, "success"))
}, d.insertBefore(c, d.firstChild)
},
abort: function() {
c && c.onload(b, !0)
}
}
}
});
var Uc = [],
Vc = /(=)\?(?=&|$)|\?\?/;
ib.ajaxSetup({
jsonp: "callback",
jsonpCallback: function() {
var a = Uc.pop() || ib.expando + "_" + Gc++;
return this[a] = !0, a
}
}), ib.ajaxPrefilter("json jsonp", function(c, d, e) {
var f, g, h, i = c.jsonp !== !1 && (Vc.test(c.url) ? "url" : "string" == typeof c.data && !(c.contentType || "").indexOf("application/x-www-form-urlencoded") && Vc.test(c.data) && "data");
return i || "jsonp" === c.dataTypes[0] ? (f = c.jsonpCallback = ib.isFunction(c.jsonpCallback) ? c.jsonpCallback() : c.jsonpCallback, i ? c[i] = c[i].replace(Vc, "$1" + f) : c.jsonp !== !1 && (c.url += (Hc.test(c.url) ? "&" : "?") + c.jsonp + "=" + f), c.converters["script json"] = function() {
return h || ib.error(f + " was not called"), h[0]
}, c.dataTypes[0] = "json", g = a[f], a[f] = function() {
h = arguments
}, e.always(function() {
a[f] = g, c[f] && (c.jsonpCallback = d.jsonpCallback, Uc.push(f)), h && ib.isFunction(g) && g(h[0]), h = g = b
}), "script") : b
});
var Wc, Xc, Yc = 0,
Zc = a.ActiveXObject && function() {
var a;
for (a in Wc) Wc[a](b, !0)
};
ib.ajaxSettings.xhr = a.ActiveXObject ? function() {
return !this.isLocal && J() || K()
} : J, Xc = ib.ajaxSettings.xhr(), ib.support.cors = !!Xc && "withCredentials" in Xc, Xc = ib.support.ajax = !!Xc, Xc && ib.ajaxTransport(function(c) {
if (!c.crossDomain || ib.support.cors) {
var d;
return {
send: function(e, f) {
var g, h, i = c.xhr();
if (c.username ? i.open(c.type, c.url, c.async, c.username, c.password) : i.open(c.type, c.url, c.async), 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;
try {
if (d && (e || 4 === i.readyState))
if (d = b, g && (i.onreadystatechange = ib.noop, Zc && delete Wc[g]), e) 4 !== i.readyState && i.abort();
else {
l = {}, h = i.status, j = i.getAllResponseHeaders(), "string" == typeof i.responseText && (l.text = i.responseText);
try {
k = i.statusText
} catch (m) {
k = ""
}
h || !c.isLocal || c.crossDomain ? 1223 === h && (h = 204) : h = l.text ? 200 : 404
}
} catch (n) {
e || f(-1, n)
}
l && f(h, k, l, j)
}, c.async ? 4 === i.readyState ? setTimeout(d) : (g = ++Yc, Zc && (Wc || (Wc = {}, ib(a).unload(Zc)), Wc[g] = d), i.onreadystatechange = d) : d()
},
abort: function() {
d && d(b, !0)
}
}
}
});
var $c, _c, ad = /^(?:toggle|show|hide)$/,
bd = RegExp("^(?:([+-])=|)(" + jb + ")([a-z%]*)$", "i"),
cd = /queueHooks$/,
dd = [P],
ed = {
"*": [function(a, b) {
var c, d, e = this.createTween(a, b),
f = bd.exec(b),
g = e.cur(),
h = +g || 0,
i = 1,
j = 20;
if (f) {
if (c = +f[2], d = f[3] || (ib.cssNumber[a] ? "" : "px"), "px" !== d && h) {
h = ib.css(e.elem, a, !0) || c || 1;
do i = i || ".5", h /= i, ib.style(e.elem, a, h + d); while (i !== (i = e.cur() / g) && 1 !== i && --j)
}
e.unit = d, e.start = h, e.end = f[1] ? h + (f[1] + 1) * c : c
}
return e
}]
};
ib.Animation = ib.extend(N, {
tweener: function(a, b) {
ib.isFunction(a) ? (b = a, a = ["*"]) : a = a.split(" ");
for (var c, d = 0, e = a.length; e > d; d++) c = a[d], ed[c] = ed[c] || [], ed[c].unshift(b)
},
prefilter: function(a, b) {
b ? dd.unshift(a) : dd.push(a)
}
}), ib.Tween = Q, Q.prototype = {
constructor: Q,
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 || (ib.cssNumber[c] ? "" : "px")
},
cur: function() {
var a = Q.propHooks[this.prop];
return a && a.get ? a.get(this) : Q.propHooks._default.get(this)
},
run: function(a) {
var b, c = Q.propHooks[this.prop];
return this.pos = b = this.options.duration ? ib.easing[this.easing](a, this.options.duration * a, 0, 1, this.options.duration) : 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) : Q.propHooks._default.set(this), this
}
}, Q.prototype.init.prototype = Q.prototype, Q.propHooks = {
_default: {
get: function(a) {
var b;
return null == a.elem[a.prop] || a.elem.style && null != a.elem.style[a.prop] ? (b = ib.css(a.elem, a.prop, ""), b && "auto" !== b ? b : 0) : a.elem[a.prop]
},
set: function(a) {
ib.fx.step[a.prop] ? ib.fx.step[a.prop](a) : a.elem.style && (null != a.elem.style[ib.cssProps[a.prop]] || ib.cssHooks[a.prop]) ? ib.style(a.elem, a.prop, a.now + a.unit) : a.elem[a.prop] = a.now
}
}
}, Q.propHooks.scrollTop = Q.propHooks.scrollLeft = {
set: function(a) {
a.elem.nodeType && a.elem.parentNode && (a.elem[a.prop] = a.now)
}
}, ib.each(["toggle", "show", "hide"], function(a, b) {
var c = ib.fn[b];
ib.fn[b] = function(a, d, e) {
return null == a || "boolean" == typeof a ? c.apply(this, arguments) : this.animate(R(b, !0), a, d, e)
}
}), ib.fn.extend({
fadeTo: function(a, b, c, d) {
return this.filter(w).css("opacity", 0).show().end().animate({
opacity: b
}, a, c, d)
},
animate: function(a, b, c, d) {
var e = ib.isEmptyObject(a),
f = ib.speed(b, c, d),
g = function() {
var b = N(this, ib.extend({}, a), f);
g.finish = function() {
b.stop(!0)
}, (e || ib._data(this, "finish")) && b.stop(!0)
};
return g.finish = g, 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 "string" != typeof a && (d = c, c = a, a = b), c && a !== !1 && this.queue(a || "fx", []), this.each(function() {
var b = !0,
c = null != a && a + "queueHooks",
f = ib.timers,
g = ib._data(this);
if (c) g[c] && g[c].stop && e(g[c]);
else
for (c in g) g[c] && g[c].stop && cd.test(c) && e(g[c]);
for (c = f.length; c--;) f[c].elem !== this || null != a && f[c].queue !== a || (f[c].anim.stop(d), b = !1, f.splice(c, 1));
(b || !d) && ib.dequeue(this, a)
})
},
finish: function(a) {
return a !== !1 && (a = a || "fx"), this.each(function() {
var b, c = ib._data(this),
d = c[a + "queue"],
e = c[a + "queueHooks"],
f = ib.timers,
g = d ? d.length : 0;
for (c.finish = !0, ib.queue(this, a, []), e && e.cur && e.cur.finish && e.cur.finish.call(this), b = f.length; b--;) f[b].elem === this && f[b].queue === a && (f[b].anim.stop(!0), f.splice(b, 1));
for (b = 0; g > b; b++) d[b] && d[b].finish && d[b].finish.call(this);
delete c.finish
})
}
}), ib.each({
slideDown: R("show"),
slideUp: R("hide"),
slideToggle: R("toggle"),
fadeIn: {
opacity: "show"
},
fadeOut: {
opacity: "hide"
},
fadeToggle: {
opacity: "toggle"
}
}, function(a, b) {
ib.fn[a] = function(a, c, d) {
return this.animate(b, a, c, d)
}
}), ib.speed = function(a, b, c) {
var d = a && "object" == typeof a ? ib.extend({}, a) : {
complete: c || !c && b || ib.isFunction(a) && a,
duration: a,
easing: c && b || b && !ib.isFunction(b) && b
};
return d.duration = ib.fx.off ? 0 : "number" == typeof d.duration ? d.duration : d.duration in ib.fx.speeds ? ib.fx.speeds[d.duration] : ib.fx.speeds._default, (null == d.queue || d.queue === !0) && (d.queue = "fx"), d.old = d.complete, d.complete = function() {
ib.isFunction(d.old) && d.old.call(this), d.queue && ib.dequeue(this, d.queue)
}, d
}, ib.easing = {
linear: function(a) {
return a
},
swing: function(a) {
return .5 - Math.cos(a * Math.PI) / 2
}
}, ib.timers = [], ib.fx = Q.prototype.init, ib.fx.tick = function() {
var a, c = ib.timers,
d = 0;
for ($c = ib.now(); c.length > d; d++) a = c[d], a() || c[d] !== a || c.splice(d--, 1);
c.length || ib.fx.stop(), $c = b
}, ib.fx.timer = function(a) {
a() && ib.timers.push(a) && ib.fx.start()
}, ib.fx.interval = 13, ib.fx.start = function() {
_c || (_c = setInterval(ib.fx.tick, ib.fx.interval))
}, ib.fx.stop = function() {
clearInterval(_c), _c = null
}, ib.fx.speeds = {
slow: 600,
fast: 200,
_default: 400
}, ib.fx.step = {}, ib.expr && ib.expr.filters && (ib.expr.filters.animated = function(a) {
return ib.grep(ib.timers, function(b) {
return a === b.elem
}).length
}), ib.fn.offset = function(a) {
if (arguments.length) return a === b ? this : this.each(function(b) {
ib.offset.setOffset(this, a, b)
});
var c, d, e = {
top: 0,
left: 0
},
f = this[0],
g = f && f.ownerDocument;
return g ? (c = g.documentElement, ib.contains(c, f) ? (typeof f.getBoundingClientRect !== V && (e = f.getBoundingClientRect()), d = S(g), {
top: e.top + (d.pageYOffset || c.scrollTop) - (c.clientTop || 0),
left: e.left + (d.pageXOffset || c.scrollLeft) - (c.clientLeft || 0)
}) : e) : void 0
}, ib.offset = {
setOffset: function(a, b, c) {
var d = ib.css(a, "position");
"static" === d && (a.style.position = "relative");
var e, f, g = ib(a),
h = g.offset(),
i = ib.css(a, "top"),
j = ib.css(a, "left"),
k = ("absolute" === d || "fixed" === d) && ib.inArray("auto", [i, j]) > -1,
l = {},
m = {};
k ? (m = g.position(), e = m.top, f = m.left) : (e = parseFloat(i) || 0, f = parseFloat(j) || 0), ib.isFunction(b) && (b = b.call(a, c, h)), null != b.top && (l.top = b.top - h.top + e), null != b.left && (l.left = b.left - h.left + f), "using" in b ? b.using.call(a, l) : g.css(l)
}
}, ib.fn.extend({
position: function() {
if (this[0]) {
var a, b, c = {
top: 0,
left: 0
},
d = this[0];
return "fixed" === ib.css(d, "position") ? b = d.getBoundingClientRect() : (a = this.offsetParent(), b = this.offset(), ib.nodeName(a[0], "html") || (c = a.offset()), c.top += ib.css(a[0], "borderTopWidth", !0), c.left += ib.css(a[0], "borderLeftWidth", !0)), {
top: b.top - c.top - ib.css(d, "marginTop", !0),
left: b.left - c.left - ib.css(d, "marginLeft", !0)
}
}
},
offsetParent: function() {
return this.map(function() {
for (var a = this.offsetParent || W.documentElement; a && !ib.nodeName(a, "html") && "static" === ib.css(a, "position");) a = a.offsetParent;
return a || W.documentElement
})
}
}), ib.each({
scrollLeft: "pageXOffset",
scrollTop: "pageYOffset"
}, function(a, c) {
var d = /Y/.test(c);
ib.fn[a] = function(e) {
return ib.access(this, function(a, e, f) {
var g = S(a);
return f === b ? g ? c in g ? g[c] : g.document.documentElement[e] : a[e] : (g ? g.scrollTo(d ? ib(g).scrollLeft() : f, d ? f : ib(g).scrollTop()) : a[e] = f, b)
}, a, e, arguments.length, null)
}
}), ib.each({
Height: "height",
Width: "width"
}, function(a, c) {
ib.each({
padding: "inner" + a,
content: c,
"": "outer" + a
}, function(d, e) {
ib.fn[e] = function(e, f) {
var g = arguments.length && (d || "boolean" != typeof e),
h = d || (e === !0 || f === !0 ? "margin" : "border");
return ib.access(this, function(c, d, e) {
var f;
return ib.isWindow(c) ? c.document.documentElement["client" + a] : 9 === c.nodeType ? (f = c.documentElement, Math.max(c.body["scroll" + a], f["scroll" + a], c.body["offset" + a], f["offset" + a], f["client" + a])) : e === b ? ib.css(c, d, h) : ib.style(c, d, e, h)
}, c, g ? e : b, g, null)
}
})
}), a.jQuery = a.$ = ib, "function" == typeof define && define.amd && define.amd.jQuery && define("jquery", [], function() {
return ib
})
}(window);
/*! chrysler-mobile - v0.1.0 - 2014-07-16, 8:34 PM EDT */
$(document).on("mobileinit", function() {
$.mobile.defaultPageTransition = "fade", $.mobile.defaultDialogTransition = "fade"
});
/*! chrysler-mobile - v0.1.0 - 2014-02-03, 3:04 PM EST */
/*! jQuery Mobile 1.3.2 | Git HEAD hash: 528cf0e <> 2013-07-19T22:17:57Z | (c) 2010, 2013 jQuery Foundation, Inc. | jquery.org/license */
! function(a, b, c) {
"function" == typeof define && define.amd ? define(["jquery"], function(d) {
return c(d, a, b), d.mobile
}) : c(a.jQuery, a, b)
}(this, document, function(a, b, c, d) {
! function(a) {
a.mobile = {}
}(a),
function(a, b, d) {
var e = {};
a.mobile = a.extend(a.mobile, {
version: "1.3.2",
ns: "",
subPageUrlKey: "ui-page",
activePageClass: "ui-page-active",
activeBtnClass: "ui-btn-active",
focusClass: "ui-focus",
ajaxEnabled: !0,
hashListeningEnabled: !0,
linkBindingEnabled: !0,
defaultPageTransition: "fade",
maxTransitionWidth: !1,
minScrollBack: 250,
touchOverflowEnabled: !1,
defaultDialogTransition: "pop",
pageLoadErrorMessage: "Error Loading Page",
pageLoadErrorMessageTheme: "e",
phonegapNavigationEnabled: !1,
autoInitializePage: !0,
pushStateEnabled: !0,
ignoreContentEnabled: !1,
orientationChangeEnabled: !0,
buttonMarkup: {
hoverDelay: 200
},
window: a(b),
document: a(c),
keyCode: {
ALT: 18,
BACKSPACE: 8,
CAPS_LOCK: 20,
COMMA: 188,
COMMAND: 91,
COMMAND_LEFT: 91,
COMMAND_RIGHT: 93,
CONTROL: 17,
DELETE: 46,
DOWN: 40,
END: 35,
ENTER: 13,
ESCAPE: 27,
HOME: 36,
INSERT: 45,
LEFT: 37,
MENU: 93,
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,
SHIFT: 16,
SPACE: 32,
TAB: 9,
UP: 38,
WINDOWS: 91
},
behaviors: {},
silentScroll: function(c) {
"number" !== a.type(c) && (c = a.mobile.defaultHomeScroll), a.event.special.scrollstart.enabled = !1, setTimeout(function() {
b.scrollTo(0, c), a.mobile.document.trigger("silentscroll", {
x: 0,
y: c
})
}, 20), setTimeout(function() {
a.event.special.scrollstart.enabled = !0
}, 150)
},
nsNormalizeDict: e,
nsNormalize: function(b) {
return b ? e[b] || (e[b] = a.camelCase(a.mobile.ns + b)) : void 0
},
getInheritedTheme: function(a, b) {
for (var c, d, e = a[0], f = "", g = /ui-(bar|body|overlay)-([a-z])\b/; e && (c = e.className || "", !(c && (d = g.exec(c)) && (f = d[2])));) e = e.parentNode;
return f || b || "a"
},
closestPageData: function(a) {
return a.closest(':jqmData(role="page"), :jqmData(role="dialog")').data("mobile-page")
},
enhanceable: function(a) {
return this.haveParents(a, "enhance")
},
hijackable: function(a) {
return this.haveParents(a, "ajax")
},
haveParents: function(b, c) {
if (!a.mobile.ignoreContentEnabled) return b;
for (var d, e, f, g = b.length, h = a(), i = 0; g > i; i++) {
for (e = b.eq(i), f = !1, d = b[i]; d;) {
var j = d.getAttribute ? d.getAttribute("data-" + a.mobile.ns + c) : "";
if ("false" === j) {
f = !0;
break
}
d = d.parentNode
}
f || (h = h.add(e))
}
return h
},
getScreenHeight: function() {
return b.innerHeight || a.mobile.window.height()
}
}, a.mobile), a.fn.jqmData = function(b, c) {
var e;
return "undefined" != typeof b && (b && (b = a.mobile.nsNormalize(b)), e = arguments.length < 2 || c === d ? this.data(b) : this.data(b, c)), e
}, a.jqmData = function(b, c, d) {
var e;
return "undefined" != typeof c && (e = a.data(b, c ? a.mobile.nsNormalize(c) : c, d)), e
}, a.fn.jqmRemoveData = function(b) {
return this.removeData(a.mobile.nsNormalize(b))
}, a.jqmRemoveData = function(b, c) {
return a.removeData(b, a.mobile.nsNormalize(c))
}, a.fn.removeWithDependents = function() {
a.removeWithDependents(this)
}, a.removeWithDependents = function(b) {
var c = a(b);
(c.jqmData("dependents") || a()).remove(), c.remove()
}, a.fn.addDependents = function(b) {
a.addDependents(a(this), b)
}, a.addDependents = function(b, c) {
var d = a(b).jqmData("dependents") || a();
a(b).jqmData("dependents", a.merge(d, c))
}, a.fn.getEncodedText = function() {
return a("
").text(a(this).text()).html()
}, a.fn.jqmEnhanceable = function() {
return a.mobile.enhanceable(this)
}, a.fn.jqmHijackable = function() {
return a.mobile.hijackable(this)
};
var f = a.find,
g = /:jqmData\(([^)]*)\)/g;
a.find = function(b, c, d, e) {
return b = b.replace(g, "[data-" + (a.mobile.ns || "") + "$1]"), f.call(this, b, c, d, e)
}, a.extend(a.find, f), a.find.matches = function(b, c) {
return a.find(b, null, null, c)
}, a.find.matchesSelector = function(b, c) {
return a.find(c, null, null, [b]).length > 0
}
}(a, this),
function(a, b) {
var c = 0,
d = Array.prototype.slice,
e = a.cleanData;
a.cleanData = function(b) {
for (var c, d = 0; null != (c = b[d]); d++) try {
a(c).triggerHandler("remove")
} catch (f) {}
e(b)
}, a.widget = function(b, c, d) {
var e, f, g, h, i = b.split(".")[0];
b = b.split(".")[1], e = i + "-" + b, d || (d = c, c = a.Widget), a.expr[":"][e.toLowerCase()] = function(b) {
return !!a.data(b, e)
}, a[i] = a[i] || {}, f = a[i][b], g = a[i][b] = function(a, b) {
return this._createWidget ? void(arguments.length && this._createWidget(a, b)) : new g(a, b)
}, a.extend(g, f, {
version: d.version,
_proto: a.extend({}, d),
_childConstructors: []
}), h = new c, h.options = a.widget.extend({}, h.options), a.each(d, function(b, e) {
a.isFunction(e) && (d[b] = function() {
var a = function() {
return c.prototype[b].apply(this, arguments)
},
d = function(a) {
return c.prototype[b].apply(this, a)
};
return function() {
var b, c = this._super,
f = this._superApply;
return this._super = a, this._superApply = d, b = e.apply(this, arguments), this._super = c, this._superApply = f, b
}
}())
}), g.prototype = a.widget.extend(h, {
widgetEventPrefix: f ? h.widgetEventPrefix : b
}, d, {
constructor: g,
namespace: i,
widgetName: b,
widgetFullName: e
}), f ? (a.each(f._childConstructors, function(b, c) {
var d = c.prototype;
a.widget(d.namespace + "." + d.widgetName, g, c._proto)
}), delete f._childConstructors) : c._childConstructors.push(g), a.widget.bridge(b, g)
}, a.widget.extend = function(c) {
for (var e, f, g = d.call(arguments, 1), h = 0, i = g.length; i > h; h++)
for (e in g[h]) f = g[h][e], g[h].hasOwnProperty(e) && f !== b && (c[e] = a.isPlainObject(f) ? a.isPlainObject(c[e]) ? a.widget.extend({}, c[e], f) : a.widget.extend({}, f) : f);
return c
}, a.widget.bridge = function(c, e) {
var f = e.prototype.widgetFullName || c;
a.fn[c] = function(g) {
var h = "string" == typeof g,
i = d.call(arguments, 1),
j = this;
return g = !h && i.length ? a.widget.extend.apply(null, [g].concat(i)) : g, this.each(h ? function() {
var d, e = a.data(this, f);
return e ? a.isFunction(e[g]) && "_" !== g.charAt(0) ? (d = e[g].apply(e, i), d !== e && d !== b ? (j = d && d.jquery ? j.pushStack(d.get()) : d, !1) : void 0) : a.error("no such method '" + g + "' for " + c + " widget instance") : a.error("cannot call methods on " + c + " prior to initialization; attempted to call method '" + g + "'")
} : function() {
var b = a.data(this, f);
b ? b.option(g || {})._init() : a.data(this, f, new e(g, this))
}), j
}
}, a.Widget = function() {}, a.Widget._childConstructors = [], a.Widget.prototype = {
widgetName: "widget",
widgetEventPrefix: "",
defaultElement: "
",
options: {
disabled: !1,
create: null
},
_createWidget: function(b, d) {
d = a(d || this.defaultElement || this)[0], this.element = a(d), this.uuid = c++, this.eventNamespace = "." + this.widgetName + this.uuid, this.options = a.widget.extend({}, this.options, this._getCreateOptions(), b), this.bindings = a(), this.hoverable = a(), this.focusable = a(), d !== this && (a.data(d, this.widgetFullName, this), this._on(!0, this.element, {
remove: function(a) {
a.target === d && this.destroy()
}
}), this.document = a(d.style ? d.ownerDocument : d.document || d), this.window = a(this.document[0].defaultView || this.document[0].parentWindow)), this._create(), this._trigger("create", null, this._getCreateEventData()), this._init()
},
_getCreateOptions: a.noop,
_getCreateEventData: a.noop,
_create: a.noop,
_init: a.noop,
destroy: function() {
this._destroy(), this.element.unbind(this.eventNamespace).removeData(this.widgetName).removeData(this.widgetFullName).removeData(a.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: a.noop,
widget: function() {
return this.element
},
option: function(c, d) {
var e, f, g, h = c;
if (0 === arguments.length) return a.widget.extend({}, this.options);
if ("string" == typeof c)
if (h = {}, e = c.split("."), c = e.shift(), e.length) {
for (f = h[c] = a.widget.extend({}, this.options[c]), g = 0; g < e.length - 1; g++) f[e[g]] = f[e[g]] || {}, f = f[e[g]];
if (c = e.pop(), d === b) return f[c] === b ? null : f[c];
f[c] = d
} else {
if (d === b) return this.options[c] === b ? null : this.options[c];
h[c] = d
}
return this._setOptions(h), this
},
_setOptions: function(a) {
var b;
for (b in a) this._setOption(b, a[b]);
return this
},
_setOption: function(a, b) {
return this.options[a] = b, "disabled" === a && (this.widget().toggleClass(this.widgetFullName + "-disabled ui-state-disabled", !!b).attr("aria-disabled", b), 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(b, c, d) {
var e, f = this;
"boolean" != typeof b && (d = c, c = b, b = !1), d ? (c = e = a(c), this.bindings = this.bindings.add(c)) : (d = c, c = this.element, e = this.widget()), a.each(d, function(d, g) {
function h() {
return b || f.options.disabled !== !0 && !a(this).hasClass("ui-state-disabled") ? ("string" == typeof g ? f[g] : g).apply(f, arguments) : void 0
}
"string" != typeof g && (h.guid = g.guid = g.guid || h.guid || a.guid++);
var i = d.match(/^(\w+)\s*(.*)$/),
j = i[1] + f.eventNamespace,
k = i[2];
k ? e.delegate(k, j, h) : c.bind(j, h)
})
},
_off: function(a, b) {
b = (b || "").split(" ").join(this.eventNamespace + " ") + this.eventNamespace, a.unbind(b).undelegate(b)
},
_delay: function(a, b) {
function c() {
return ("string" == typeof a ? d[a] : a).apply(d, arguments)
}
var d = this;
return setTimeout(c, b || 0)
},
_hoverable: function(b) {
this.hoverable = this.hoverable.add(b), this._on(b, {
mouseenter: function(b) {
a(b.currentTarget).addClass("ui-state-hover")
},
mouseleave: function(b) {
a(b.currentTarget).removeClass("ui-state-hover")
}
})
},
_focusable: function(b) {
this.focusable = this.focusable.add(b), this._on(b, {
focusin: function(b) {
a(b.currentTarget).addClass("ui-state-focus")
},
focusout: function(b) {
a(b.currentTarget).removeClass("ui-state-focus")
}
})
},
_trigger: function(b, c, d) {
var e, f, g = this.options[b];
if (d = d || {}, c = a.Event(c), c.type = (b === this.widgetEventPrefix ? b : this.widgetEventPrefix + b).toLowerCase(), c.target = this.element[0], f = c.originalEvent)
for (e in f) e in c || (c[e] = f[e]);
return this.element.trigger(c, d), !(a.isFunction(g) && g.apply(this.element[0], [c].concat(d)) === !1 || c.isDefaultPrevented())
}
}, a.each({
show: "fadeIn",
hide: "fadeOut"
}, function(b, c) {
a.Widget.prototype["_" + b] = function(d, e, f) {
"string" == typeof e && (e = {
effect: e
});
var g, h = e ? e === !0 || "number" == typeof e ? c : e.effect || c : b;
e = e || {}, "number" == typeof e && (e = {
duration: e
}), g = !a.isEmptyObject(e), e.complete = f, e.delay && d.delay(e.delay), g && a.effects && a.effects.effect[h] ? d[b](e) : h !== b && d[h] ? d[h](e.duration, e.easing, f) : d.queue(function(c) {
a(this)[b](), f && f.call(d[0]), c()
})
}
})
}(a),
function(a, b) {
a.widget("mobile.widget", {
_createWidget: function() {
a.Widget.prototype._createWidget.apply(this, arguments), this._trigger("init")
},
_getCreateOptions: function() {
var c = this.element,
d = {};
return a.each(this.options, function(a) {
var e = c.jqmData(a.replace(/[A-Z]/g, function(a) {
return "-" + a.toLowerCase()
}));
e !== b && (d[a] = e)
}), d
},
enhanceWithin: function(b, c) {
this.enhance(a(this.options.initSelector, a(b)), c)
},
enhance: function(b, c) {
var d, e, f = a(b);
f = a.mobile.enhanceable(f), c && f.length && (d = a.mobile.closestPageData(f), e = d && d.keepNativeSelector() || "", f = f.not(e)), f[this.widgetName]()
},
raise: function(a) {
throw "Widget [" + this.widgetName + "]: " + a
}
})
}(a),
function(a) {
a.extend(a.mobile, {
loadingMessageTextVisible: d,
loadingMessageTheme: d,
loadingMessage: d,
showPageLoadingMsg: function(b, c, d) {
a.mobile.loading("show", b, c, d)
},
hidePageLoadingMsg: function() {
a.mobile.loading("hide")
},
loading: function() {
this.loaderWidget.loader.apply(this.loaderWidget, arguments)
}
});
var b = "ui-loader",
c = a("html"),
e = a.mobile.window;
a.widget("mobile.loader", {
options: {
theme: "a",
textVisible: !1,
html: "",
text: "loading"
},
defaultHtml: "
",
fakeFixLoader: function() {
var b = a("." + a.mobile.activeBtnClass).first();
this.element.css({
top: a.support.scrollTop && e.scrollTop() + e.height() / 2 || b.length && b.offset().top || 100
})
},
checkLoaderPosition: function() {
var b = this.element.offset(),
c = e.scrollTop(),
d = a.mobile.getScreenHeight();
(b.top < c || b.top - c > d) && (this.element.addClass("ui-loader-fakefix"), this.fakeFixLoader(), e.unbind("scroll", this.checkLoaderPosition).bind("scroll", a.proxy(this.fakeFixLoader, this)))
},
resetHtml: function() {
this.element.html(a(this.defaultHtml).html())
},
show: function(f, g, h) {
var i, j, k;
this.resetHtml(), "object" === a.type(f) ? (k = a.extend({}, this.options, f), f = k.theme || a.mobile.loadingMessageTheme) : (k = this.options, f = f || a.mobile.loadingMessageTheme || k.theme), j = g || a.mobile.loadingMessage || k.text, c.addClass("ui-loading"), (a.mobile.loadingMessage !== !1 || k.html) && (i = a.mobile.loadingMessageTextVisible !== d ? a.mobile.loadingMessageTextVisible : k.textVisible, this.element.attr("class", b + " ui-corner-all ui-body-" + f + " ui-loader-" + (i || g || f.text ? "verbose" : "default") + (k.textonly || h ? " ui-loader-textonly" : "")), k.html ? this.element.html(k.html) : this.element.find("h1").text(j), this.element.appendTo(a.mobile.pageContainer), this.checkLoaderPosition(), e.bind("scroll", a.proxy(this.checkLoaderPosition, this)))
},
hide: function() {
c.removeClass("ui-loading"), a.mobile.loadingMessage && this.element.removeClass("ui-loader-fakefix"), a.mobile.window.unbind("scroll", this.fakeFixLoader), a.mobile.window.unbind("scroll", this.checkLoaderPosition)
}
}), e.bind("pagecontainercreate", function() {
a.mobile.loaderWidget = a.mobile.loaderWidget || a(a.mobile.loader.prototype.defaultHtml).loader()
})
}(a, this),
function(a, b, d) {
function e(a) {
return a = a || location.href, "#" + a.replace(/^[^#]*#?(.*)$/, "$1")
}
var f, g = "hashchange",
h = c,
i = a.event.special,
j = h.documentMode,
k = "on" + g in b && (j === d || j > 7);
a.fn[g] = function(a) {
return a ? this.bind(g, a) : this.trigger(g)
}, a.fn[g].delay = 50, i[g] = a.extend(i[g], {
setup: function() {
return k ? !1 : void a(f.start)
},
teardown: function() {
return k ? !1 : void a(f.stop)
}
}), f = function() {
function c() {
var d = e(),
h = n(j);
d !== j ? (m(j = d, h), a(b).trigger(g)) : h !== j && (location.href = location.href.replace(/#.*/, "") + h), f = setTimeout(c, a.fn[g].delay)
}
var f, i = {},
j = e(),
l = function(a) {
return a
},
m = l,
n = l;
return i.start = function() {
f || c()
}, i.stop = function() {
f && clearTimeout(f), f = d
}, b.attachEvent && !b.addEventListener && !k && function() {
var b, d;
i.start = function() {
b || (d = a.fn[g].src, d = d && d + e(), b = a('
').hide().one("load", function() {
d || m(e()), c()
}).attr("src", d || "javascript:0").insertAfter("body")[0].contentWindow, h.onpropertychange = function() {
try {
"title" === event.propertyName && (b.document.title = h.title)
} catch (a) {}
})
}, i.stop = l, n = function() {
return e(b.location.href)
}, m = function(c, d) {
var e = b.document,
f = a.fn[g].domain;
c !== d && (e.title = h.title, e.open(), f && e.write(''), e.close(), b.location.hash = c)
}
}(), i
}()
}(a, this),
function(a) {
b.matchMedia = b.matchMedia || function(a) {
var b, c = a.documentElement,
d = c.firstElementChild || c.firstChild,
e = a.createElement("body"),
f = a.createElement("div");
return f.id = "mq-test-1", f.style.cssText = "position:absolute;top:-100em", e.style.background = "none", e.appendChild(f),
function(a) {
return f.innerHTML = '', c.insertBefore(e, d), b = 42 === f.offsetWidth, c.removeChild(e), {
matches: b,
media: a
}
}
}(c), a.mobile.media = function(a) {
return b.matchMedia(a).matches
}
}(a),
function(a) {
var b = {
touch: "ontouchend" in c
};
a.mobile.support = a.mobile.support || {}, a.extend(a.support, b), a.extend(a.mobile.support, b)
}(a),
function(a) {
a.extend(a.support, {
orientation: "orientation" in b && "onorientationchange" in b
})
}(a),
function(a, d) {
function e(a) {
var b = a.charAt(0).toUpperCase() + a.substr(1),
c = (a + " " + n.join(b + " ") + b).split(" ");
for (var e in c)
if (m[c[e]] !== d) return !0
}
function f(a, b, d) {
for (var e, f = c.createElement("div"), g = function(a) {
return a.charAt(0).toUpperCase() + a.substr(1)
}, h = function(a) {
return "" === a ? "" : "-" + a.charAt(0).toLowerCase() + a.substr(1) + "-"
}, i = function(c) {
var d = h(c) + a + ": " + b + ";",
i = g(c),
j = i + ("" === i ? a : g(a));
f.setAttribute("style", d), f.style[j] && (e = !0)
}, j = d ? d : n, k = 0; k < j.length; k++) i(j[k]);
return !!e
}
function g() {
var e = "transform-3d",
f = a.mobile.media("(-" + n.join("-" + e + "),(-") + "-" + e + "),(" + e + ")");
if (f) return !!f;
var g = c.createElement("div"),
h = {
MozTransform: "-moz-transform",
transform: "transform"
};
l.append(g);
for (var i in h) g.style[i] !== d && (g.style[i] = "translate3d( 100px, 1px, 1px )", f = b.getComputedStyle(g).getPropertyValue(h[i]));
return !!f && "none" !== f
}
function h() {
var b, c, d = location.protocol + "//" + location.host + location.pathname + "ui-dir/",
e = a("head base"),
f = null,
g = "";
return e.length ? g = e.attr("href") : e = f = a("
", {
href: d
}).appendTo("head"), b = a("
").prependTo(l), c = b[0].href, e[0].href = g || location.pathname, f && f.remove(), 0 === c.indexOf(d)
}
function i() {
var a, d = c.createElement("x"),
e = c.documentElement,
f = b.getComputedStyle;
return "pointerEvents" in d.style ? (d.style.pointerEvents = "auto", d.style.pointerEvents = "x", e.appendChild(d), a = f && "auto" === f(d, "").pointerEvents, e.removeChild(d), !!a) : !1
}
function j() {
var a = c.createElement("div");
return "undefined" != typeof a.getBoundingClientRect
}
function k() {
var a = b,
c = navigator.userAgent,
d = navigator.platform,
e = c.match(/AppleWebKit\/([0-9]+)/),
f = !!e && e[1],
g = c.match(/Fennec\/([0-9]+)/),
h = !!g && g[1],
i = c.match(/Opera Mobi\/([0-9]+)/),
j = !!i && i[1];
return (d.indexOf("iPhone") > -1 || d.indexOf("iPad") > -1 || d.indexOf("iPod") > -1) && f && 534 > f || a.operamini && "[object OperaMini]" === {}.toString.call(a.operamini) || i && 7458 > j || c.indexOf("Android") > -1 && f && 533 > f || h && 6 > h || "palmGetResource" in b && f && 534 > f || c.indexOf("MeeGo") > -1 && c.indexOf("NokiaBrowser/8.5.0") > -1 ? !1 : !0
}
var l = a("").prependTo("html"),
m = l[0].style,
n = ["Webkit", "Moz", "O"],
o = "palmGetResource" in b,
p = b.opera,
q = b.operamini && "[object OperaMini]" === {}.toString.call(b.operamini),
r = b.blackberry && !e("-webkit-transform");
a.extend(a.mobile, {
browser: {}
}), a.mobile.browser.oldIE = function() {
var a = 3,
b = c.createElement("div"),
d = b.all || [];
do b.innerHTML = ""; while (d[0]);
return a > 4 ? a : !a
}(), a.extend(a.support, {
cssTransitions: "WebKitTransitionEvent" in b || f("transition", "height 100ms linear", ["Webkit", "Moz", ""]) && !a.mobile.browser.oldIE && !p,
pushState: "pushState" in history && "replaceState" in history && !(b.navigator.userAgent.indexOf("Firefox") >= 0 && b.top !== b) && -1 === b.navigator.userAgent.search(/CriOS/),
mediaquery: a.mobile.media("only all"),
cssPseudoElement: !!e("content"),
touchOverflow: !!e("overflowScrolling"),
cssTransform3d: g(),
boxShadow: !!e("boxShadow") && !r,
fixedPosition: k(),
scrollTop: ("pageXOffset" in b || "scrollTop" in c.documentElement || "scrollTop" in l[0]) && !o && !q,
dynamicBaseTag: h(),
cssPointerEvents: i(),
boundingRect: j()
}), l.remove();
var s = function() {
var a = b.navigator.userAgent;
return a.indexOf("Nokia") > -1 && (a.indexOf("Symbian/3") > -1 || a.indexOf("Series60/5") > -1) && a.indexOf("AppleWebKit") > -1 && a.match(/(BrowserNG|NokiaBrowser)\/7\.[0-3]/)
}();
a.mobile.gradeA = function() {
return (a.support.mediaquery || a.mobile.browser.oldIE && a.mobile.browser.oldIE >= 7) && (a.support.boundingRect || null !== a.fn.jquery.match(/1\.[0-7+]\.[0-9+]?/))
}, a.mobile.ajaxBlacklist = b.blackberry && !b.WebKitPoint || q || s, s && a(function() {
a("head link[rel='stylesheet']").attr("rel", "alternate stylesheet").attr("rel", "stylesheet")
}), a.support.boxShadow || a("html").addClass("ui-mobile-nosupport-boxshadow")
}(a),
function(a, b) {
var c, d = a.mobile.window;
a.event.special.navigate = c = {
bound: !1,
pushStateEnabled: !0,
originalEventName: b,
isPushStateEnabled: function() {
return a.support.pushState && a.mobile.pushStateEnabled === !0 && this.isHashChangeEnabled()
},
isHashChangeEnabled: function() {
return a.mobile.hashListeningEnabled === !0
},
popstate: function(b) {
var c = new a.Event("navigate"),
e = new a.Event("beforenavigate"),
f = b.originalEvent.state || {};
location.href, d.trigger(e), e.isDefaultPrevented() || (b.historyState && a.extend(f, b.historyState), c.originalEvent = b, setTimeout(function() {
d.trigger(c, {
state: f
})
}, 0))
},
hashchange: function(b) {
var c = new a.Event("navigate"),
e = new a.Event("beforenavigate");
d.trigger(e), e.isDefaultPrevented() || (c.originalEvent = b, d.trigger(c, {
state: b.hashchangeState || {}
}))
},
setup: function() {
c.bound || (c.bound = !0, c.isPushStateEnabled() ? (c.originalEventName = "popstate", d.bind("popstate.navigate", c.popstate)) : c.isHashChangeEnabled() && (c.originalEventName = "hashchange", d.bind("hashchange.navigate", c.hashchange)))
}
}
}(a),
function(a, c) {
var d, e, f = "&ui-state=dialog";
a.mobile.path = d = {
uiStateKey: "&ui-state",
urlParseRE: /^\s*(((([^:\/#\?]+:)?(?:(\/\/)((?:(([^:@\/#\?]+)(?:\:([^:@\/#\?]+))?)@)?(([^:\/#\?\]\[]+|\[[^\/\]@#?]+\])(?:\:([0-9]+))?))?)?)?((\/?(?:[^\/\?#]+\/+)*)([^\?#]*)))?(\?[^#]+)?)(#.*)?/,
getLocation: function(a) {
var b = a ? this.parseUrl(a) : location,
c = this.parseUrl(a || location.href).hash;
return c = "#" === c ? "" : c, b.protocol + "//" + b.host + b.pathname + b.search + c
},
parseLocation: function() {
return this.parseUrl(this.getLocation())
},
parseUrl: function(b) {
if ("object" === a.type(b)) return b;
var c = d.urlParseRE.exec(b || "") || [];
return {
href: c[0] || "",
hrefNoHash: c[1] || "",
hrefNoSearch: c[2] || "",
domain: c[3] || "",
protocol: c[4] || "",
doubleSlash: c[5] || "",
authority: c[6] || "",
username: c[8] || "",
password: c[9] || "",
host: c[10] || "",
hostname: c[11] || "",
port: c[12] || "",
pathname: c[13] || "",
directory: c[14] || "",
filename: c[15] || "",
search: c[16] || "",
hash: c[17] || ""
}
},
makePathAbsolute: function(a, b) {
if (a && "/" === a.charAt(0)) return a;
a = a || "", b = b ? b.replace(/^\/|(\/[^\/]*|[^\/]+)$/g, "") : "";
for (var c = b ? b.split("/") : [], d = a.split("/"), e = 0; e < d.length; e++) {
var f = d[e];
switch (f) {
case ".":
break;
case "..":
c.length && c.pop();
break;
default:
c.push(f)
}
}
return "/" + c.join("/")
},
isSameDomain: function(a, b) {
return d.parseUrl(a).domain === d.parseUrl(b).domain
},
isRelativeUrl: function(a) {
return "" === d.parseUrl(a).protocol
},
isAbsoluteUrl: function(a) {
return "" !== d.parseUrl(a).protocol
},
makeUrlAbsolute: function(a, b) {
if (!d.isRelativeUrl(a)) return a;
b === c && (b = this.documentBase);
var e = d.parseUrl(a),
f = d.parseUrl(b),
g = e.protocol || f.protocol,
h = e.protocol ? e.doubleSlash : e.doubleSlash || f.doubleSlash,
i = e.authority || f.authority,
j = "" !== e.pathname,
k = d.makePathAbsolute(e.pathname || f.filename, f.pathname),
l = e.search || !j && f.search || "",
m = e.hash;
return g + h + i + k + l + m
},
addSearchParams: function(b, c) {
var e = d.parseUrl(b),
f = "object" == typeof c ? a.param(c) : c,
g = e.search || "?";
return e.hrefNoSearch + g + ("?" !== g.charAt(g.length - 1) ? "&" : "") + f + (e.hash || "")
},
convertUrlToDataUrl: function(a) {
var c = d.parseUrl(a);
return d.isEmbeddedPage(c) ? c.hash.split(f)[0].replace(/^#/, "").replace(/\?.*$/, "") : d.isSameDomain(c, this.documentBase) ? c.hrefNoHash.replace(this.documentBase.domain, "").split(f)[0] : b.decodeURIComponent(a)
},
get: function(a) {
return a === c && (a = d.parseLocation().hash), d.stripHash(a).replace(/[^\/]*\.[^\/*]+$/, "")
},
set: function(a) {
location.hash = a
},
isPath: function(a) {
return /\//.test(a)
},
clean: function(a) {
return a.replace(this.documentBase.domain, "")
},
stripHash: function(a) {
return a.replace(/^#/, "")
},
stripQueryParams: function(a) {
return a.replace(/\?.*$/, "")
},
cleanHash: function(a) {
return d.stripHash(a.replace(/\?.*$/, "").replace(f, ""))
},
isHashValid: function(a) {
return /^#[^#]+$/.test(a)
},
isExternal: function(a) {
var b = d.parseUrl(a);
return b.protocol && b.domain !== this.documentUrl.domain ? !0 : !1
},
hasProtocol: function(a) {
return /^(:?\w+:)/.test(a)
},
isEmbeddedPage: function(a) {
var b = d.parseUrl(a);
return "" !== b.protocol ? !this.isPath(b.hash) && b.hash && (b.hrefNoHash === this.documentUrl.hrefNoHash || this.documentBaseDiffers && b.hrefNoHash === this.documentBase.hrefNoHash) : /^#/.test(b.href)
},
squash: function(a, b) {
var c, e, f, g, h = this.isPath(a),
i = this.parseUrl(a),
j = i.hash,
k = "";
return b = b || (d.isPath(a) ? d.getLocation() : d.getDocumentUrl()), e = h ? d.stripHash(a) : a, e = d.isPath(i.hash) ? d.stripHash(i.hash) : e, g = e.indexOf(this.uiStateKey), g > -1 && (k = e.slice(g), e = e.slice(0, g)), c = d.makeUrlAbsolute(e, b), f = this.parseUrl(c).search, h ? ((d.isPath(j) || 0 === j.replace("#", "").indexOf(this.uiStateKey)) && (j = ""), k && -1 === j.indexOf(this.uiStateKey) && (j += k), -1 === j.indexOf("#") && "" !== j && (j = "#" + j), c = d.parseUrl(c), c = c.protocol + "//" + c.host + c.pathname + f + j) : c += c.indexOf("#") > -1 ? k : "#" + k, c
},
isPreservableHash: function(a) {
return 0 === a.replace("#", "").indexOf(this.uiStateKey)
}
}, d.documentUrl = d.parseLocation(), e = a("head").find("base"), d.documentBase = e.length ? d.parseUrl(d.makeUrlAbsolute(e.attr("href"), d.documentUrl.href)) : d.documentUrl, d.documentBaseDiffers = d.documentUrl.hrefNoHash !== d.documentBase.hrefNoHash, d.getDocumentUrl = function(b) {
return b ? a.extend({}, d.documentUrl) : d.documentUrl.href
}, d.getDocumentBase = function(b) {
return b ? a.extend({}, d.documentBase) : d.documentBase.href
}
}(a),
function(a, b) {
a.mobile.path, a.mobile.History = function(a, b) {
this.stack = a || [], this.activeIndex = b || 0
}, a.extend(a.mobile.History.prototype, {
getActive: function() {
return this.stack[this.activeIndex]
},
getLast: function() {
return this.stack[this.previousIndex]
},
getNext: function() {
return this.stack[this.activeIndex + 1]
},
getPrev: function() {
return this.stack[this.activeIndex - 1]
},
add: function(a, b) {
b = b || {}, this.getNext() && this.clearForward(), b.hash && -1 === b.hash.indexOf("#") && (b.hash = "#" + b.hash), b.url = a, this.stack.push(b), this.activeIndex = this.stack.length - 1
},
clearForward: function() {
this.stack = this.stack.slice(0, this.activeIndex + 1)
},
find: function(a, b, c) {
b = b || this.stack;
var d, e, f, g = b.length;
for (e = 0; g > e; e++)
if (d = b[e], (decodeURIComponent(a) === decodeURIComponent(d.url) || decodeURIComponent(a) === decodeURIComponent(d.hash)) && (f = e, c)) return f;
return f
},
closest: function(a) {
var c, d = this.activeIndex;
return c = this.find(a, this.stack.slice(0, d)), c === b && (c = this.find(a, this.stack.slice(d), !0), c = c === b ? c : c + d), c
},
direct: function(c) {
var d = this.closest(c.url),
e = this.activeIndex;
d !== b && (this.activeIndex = d, this.previousIndex = e), e > d ? (c.present || c.back || a.noop)(this.getActive(), "back") : d > e ? (c.present || c.forward || a.noop)(this.getActive(), "forward") : d === b && c.missing && c.missing(this.getActive())
}
})
}(a),
function(a) {
var d = a.mobile.path,
e = location.href;
a.mobile.Navigator = function(b) {
this.history = b, this.ignoreInitialHashChange = !0, a.mobile.window.bind({
"popstate.history": a.proxy(this.popstate, this),
"hashchange.history": a.proxy(this.hashchange, this)
})
}, a.extend(a.mobile.Navigator.prototype, {
squash: function(e, f) {
var g, h, i = d.isPath(e) ? d.stripHash(e) : e;
return h = d.squash(e), g = a.extend({
hash: i,
url: h
}, f), b.history.replaceState(g, g.title || c.title, h), g
},
hash: function(a, b) {
var c, e, f;
if (c = d.parseUrl(a), e = d.parseLocation(), e.pathname + e.search === c.pathname + c.search) f = c.hash ? c.hash : c.pathname + c.search;
else if (d.isPath(a)) {
var g = d.parseUrl(b);
f = g.pathname + g.search + (d.isPreservableHash(g.hash) ? g.hash.replace("#", "") : "")
} else f = a;
return f
},
go: function(e, f, g) {
var h, i, j, k, l = a.event.special.navigate.isPushStateEnabled();
i = d.squash(e), j = this.hash(e, i), g && j !== d.stripHash(d.parseLocation().hash) && (this.preventNextHashChange = g), this.preventHashAssignPopState = !0, b.location.hash = j, this.preventHashAssignPopState = !1, h = a.extend({
url: i,
hash: j,
title: c.title
}, f), l && (k = new a.Event("popstate"), k.originalEvent = {
type: "popstate",
state: null
}, this.squash(e, h), g || (this.ignorePopState = !0, a.mobile.window.trigger(k))), this.history.add(h.url, h)
},
popstate: function(b) {
var c, f;
return a.event.special.navigate.isPushStateEnabled() ? this.preventHashAssignPopState ? (this.preventHashAssignPopState = !1, void b.stopImmediatePropagation()) : this.ignorePopState ? void(this.ignorePopState = !1) : !b.originalEvent.state && 1 === this.history.stack.length && this.ignoreInitialHashChange && (this.ignoreInitialHashChange = !1, location.href === e) ? void b.preventDefault() : (c = d.parseLocation().hash, !b.originalEvent.state && c ? (f = this.squash(c), this.history.add(f.url, f), void(b.historyState = f)) : void this.history.direct({
url: (b.originalEvent.state || {}).url || c,
present: function(c, d) {
b.historyState = a.extend({}, c), b.historyState.direction = d
}
})) : void 0
},
hashchange: function(b) {
var e, f;
if (a.event.special.navigate.isHashChangeEnabled() && !a.event.special.navigate.isPushStateEnabled()) {
if (this.preventNextHashChange) return this.preventNextHashChange = !1, void b.stopImmediatePropagation();
e = this.history, f = d.parseLocation().hash, this.history.direct({
url: f,
present: function(c, d) {
b.hashchangeState = a.extend({}, c), b.hashchangeState.direction = d
},
missing: function() {
e.add(f, {
hash: f,
title: c.title
})
}
})
}
}
})
}(a),
function(a) {
a.mobile.navigate = function(b, c, d) {
a.mobile.navigate.navigator.go(b, c, d)
}, a.mobile.navigate.history = new a.mobile.History, a.mobile.navigate.navigator = new a.mobile.Navigator(a.mobile.navigate.history);
var b = a.mobile.path.parseLocation();
a.mobile.navigate.history.add(b.href, {
hash: b.hash
})
}(a),
function(a, b, c, d) {
function e(a) {
for (; a && "undefined" != typeof a.originalEvent;) a = a.originalEvent;
return a
}
function f(b, c) {
var f, g, h, i, j, k, l, m, n, o = b.type;
if (b = a.Event(b), b.type = c, f = b.originalEvent, g = a.event.props, o.search(/^(mouse|click)/) > -1 && (g = D), f)
for (l = g.length, i; l;) i = g[--l], b[i] = f[i];
if (o.search(/mouse(down|up)|click/) > -1 && !b.which && (b.which = 1), -1 !== o.search(/^touch/) && (h = e(f), o = h.touches, j = h.changedTouches, k = o && o.length ? o[0] : j && j.length ? j[0] : d))
for (m = 0, n = B.length; n > m; m++) i = B[m], b[i] = k[i];
return b
}
function g(b) {
for (var c, d, e = {}; b;) {
c = a.data(b, y);
for (d in c) c[d] && (e[d] = e.hasVirtualBinding = !0);
b = b.parentNode
}
return e
}
function h(b, c) {
for (var d; b;) {
if (d = a.data(b, y), d && (!c || d[c])) return b;
b = b.parentNode
}
return null
}
function i() {
L = !1
}
function j() {
L = !0
}
function k() {
P = 0, J.length = 0, K = !1, j()
}
function l() {
i()
}
function m() {
n(), F = setTimeout(function() {
F = 0, k()
}, a.vmouse.resetTimerDuration)
}
function n() {
F && (clearTimeout(F), F = 0)
}
function o(b, c, d) {
var e;
return (d && d[b] || !d && h(c.target, b)) && (e = f(c, b), a(c.target).trigger(e)), e
}
function p(b) {
var c = a.data(b.target, z);
if (!(K || P && P === c)) {
var d = o("v" + b.type, b);
d && (d.isDefaultPrevented() && b.preventDefault(), d.isPropagationStopped() && b.stopPropagation(), d.isImmediatePropagationStopped() && b.stopImmediatePropagation())
}
}
function q(b) {
var c, d, f = e(b).touches;
if (f && 1 === f.length && (c = b.target, d = g(c), d.hasVirtualBinding)) {
P = O++, a.data(c, z, P), n(), l(), I = !1;
var h = e(b).touches[0];
G = h.pageX, H = h.pageY, o("vmouseover", b, d), o("vmousedown", b, d)
}
}
function r(a) {
L || (I || o("vmousecancel", a, g(a.target)), I = !0, m())
}
function s(b) {
if (!L) {
var c = e(b).touches[0],
d = I,
f = a.vmouse.moveDistanceThreshold,
h = g(b.target);
I = I || Math.abs(c.pageX - G) > f || Math.abs(c.pageY - H) > f, I && !d && o("vmousecancel", b, h), o("vmousemove", b, h), m()
}
}
function t(a) {
if (!L) {
j();
var b, c = g(a.target);
if (o("vmouseup", a, c), !I) {
var d = o("vclick", a, c);
d && d.isDefaultPrevented() && (b = e(a).changedTouches[0], J.push({
touchID: P,
x: b.clientX,
y: b.clientY
}), K = !0)
}
o("vmouseout", a, c), I = !1, m()
}
}
function u(b) {
var c, d = a.data(b, y);
if (d)
for (c in d)
if (d[c]) return !0;
return !1
}
function v() {}
function w(b) {
var c = b.substr(1);
return {
setup: function() {
u(this) || a.data(this, y, {});
var d = a.data(this, y);
d[b] = !0, E[b] = (E[b] || 0) + 1, 1 === E[b] && N.bind(c, p), a(this).bind(c, v), M && (E.touchstart = (E.touchstart || 0) + 1, 1 === E.touchstart && N.bind("touchstart", q).bind("touchend", t).bind("touchmove", s).bind("scroll", r))
},
teardown: function() {
--E[b], E[b] || N.unbind(c, p), M && (--E.touchstart, E.touchstart || N.unbind("touchstart", q).unbind("touchmove", s).unbind("touchend", t).unbind("scroll", r));
var d = a(this),
e = a.data(this, y);
e && (e[b] = !1), d.unbind(c, v), u(this) || d.removeData(y)
}
}
}
var x, y = "virtualMouseBindings",
z = "virtualTouchID",
A = "vmouseover vmousedown vmousemove vmouseup vclick vmouseout vmousecancel".split(" "),
B = "clientX clientY pageX pageY screenX screenY".split(" "),
C = a.event.mouseHooks ? a.event.mouseHooks.props : [],
D = a.event.props.concat(C),
E = {},
F = 0,
G = 0,
H = 0,
I = !1,
J = [],
K = !1,
L = !1,
M = "addEventListener" in c,
N = a(c),
O = 1,
P = 0;
a.vmouse = {
moveDistanceThreshold: 10,
clickDistanceThreshold: 10,
resetTimerDuration: 1500
};
for (var Q = 0; Q < A.length; Q++) a.event.special[A[Q]] = w(A[Q]);
M && c.addEventListener("click", function(b) {
var c, d, e, f, g, h, i = J.length,
j = b.target;
if (i)
for (c = b.clientX, d = b.clientY, x = a.vmouse.clickDistanceThreshold, e = j; e;) {
for (f = 0; i > f; f++)
if (g = J[f], h = 0, e === j && Math.abs(g.x - c) < x && Math.abs(g.y - d) < x || a.data(e, z) === g.touchID) return b.preventDefault(), void b.stopPropagation();
e = e.parentNode
}
}, !0)
}(a, b, c),
function(a, b, d) {
function e(b, c, d) {
var e = d.type;
d.type = c, a.event.dispatch.call(b, d), d.type = e
}
var f = a(c);
a.each("touchstart touchmove touchend tap taphold swipe swipeleft swiperight scrollstart scrollstop".split(" "), function(b, c) {
a.fn[c] = function(a) {
return a ? this.bind(c, a) : this.trigger(c)
}, a.attrFn && (a.attrFn[c] = !0)
});
var g = a.mobile.support.touch,
h = "touchmove scroll",
i = g ? "touchstart" : "mousedown",
j = g ? "touchend" : "mouseup",
k = g ? "touchmove" : "mousemove";
a.event.special.scrollstart = {
enabled: !0,
setup: function() {
function b(a, b) {
c = b, e(f, c ? "scrollstart" : "scrollstop", a)
}
var c, d, f = this,
g = a(f);
g.bind(h, function(e) {
a.event.special.scrollstart.enabled && (c || b(e, !0), clearTimeout(d), d = setTimeout(function() {
b(e, !1)
}, 50))
})
}
}, a.event.special.tap = {
tapholdThreshold: 750,
setup: function() {
var b = this,
c = a(b);
c.bind("vmousedown", function(d) {
function g() {
clearTimeout(j)
}
function h() {
g(), c.unbind("vclick", i).unbind("vmouseup", g), f.unbind("vmousecancel", h)
}
function i(a) {
h(), k === a.target && e(b, "tap", a)
}
if (d.which && 1 !== d.which) return !1;
var j, k = d.target;
d.originalEvent, c.bind("vmouseup", g).bind("vclick", i), f.bind("vmousecancel", h), j = setTimeout(function() {
e(b, "taphold", a.Event("taphold", {
target: k
}))
}, a.event.special.tap.tapholdThreshold)
})
}
}, a.event.special.swipe = {
scrollSupressionThreshold: 30,
durationThreshold: 1e3,
horizontalDistanceThreshold: 30,
verticalDistanceThreshold: 75,
start: function(b) {
var c = b.originalEvent.touches ? b.originalEvent.touches[0] : b;
return {
time: (new Date).getTime(),
coords: [c.pageX, c.pageY],
origin: a(b.target)
}
},
stop: function(a) {
var b = a.originalEvent.touches ? a.originalEvent.touches[0] : a;
return {
time: (new Date).getTime(),
coords: [b.pageX, b.pageY]
}
},
handleSwipe: function(b, c) {
c.time - b.time < a.event.special.swipe.durationThreshold && Math.abs(b.coords[0] - c.coords[0]) > a.event.special.swipe.horizontalDistanceThreshold && Math.abs(b.coords[1] - c.coords[1]) < a.event.special.swipe.verticalDistanceThreshold && b.origin.trigger("swipe").trigger(b.coords[0] > c.coords[0] ? "swipeleft" : "swiperight")
},
setup: function() {
var b = this,
c = a(b);
c.bind(i, function(b) {
function e(b) {
g && (f = a.event.special.swipe.stop(b), Math.abs(g.coords[0] - f.coords[0]) > a.event.special.swipe.scrollSupressionThreshold && b.preventDefault())
}
var f, g = a.event.special.swipe.start(b);
c.bind(k, e).one(j, function() {
c.unbind(k, e), g && f && a.event.special.swipe.handleSwipe(g, f), g = f = d
})
})
}
}, a.each({
scrollstop: "scrollstart",
taphold: "tap",
swipeleft: "swipe",
swiperight: "swipe"
}, function(b, c) {
a.event.special[b] = {
setup: function() {
a(this).bind(c, a.noop)
}
}
})
}(a, this),
function(a) {
a.event.special.throttledresize = {
setup: function() {
a(this).bind("resize", f)
},
teardown: function() {
a(this).unbind("resize", f)
}
};
var b, c, d, e = 250,
f = function() {
c = (new Date).getTime(), d = c - g, d >= e ? (g = c, a(this).trigger("throttledresize")) : (b && clearTimeout(b), b = setTimeout(f, e - d))
},
g = 0
}(a),
function(a, b) {
function d() {
var a = e();
a !== f && (f = a, i.trigger(j))
}
var e, f, g, h, i = a(b),
j = "orientationchange",
k = {
0: !0,
180: !0
};
if (a.support.orientation) {
var l = b.innerWidth || i.width(),
m = b.innerHeight || i.height(),
n = 50;
g = l > m && l - m > n, h = k[b.orientation], (g && h || !g && !h) && (k = {
"-90": !0,
90: !0
})
}
a.event.special.orientationchange = a.extend({}, a.event.special.orientationchange, {
setup: function() {
return a.support.orientation && !a.event.special.orientationchange.disabled ? !1 : (f = e(), void i.bind("throttledresize", d))
},
teardown: function() {
return a.support.orientation && !a.event.special.orientationchange.disabled ? !1 : void i.unbind("throttledresize", d)
},
add: function(a) {
var b = a.handler;
a.handler = function(a) {
return a.orientation = e(), b.apply(this, arguments)
}
}
}), a.event.special.orientationchange.orientation = e = function() {
var d = !0,
e = c.documentElement;
return d = a.support.orientation ? k[b.orientation] : e && e.clientWidth / e.clientHeight < 1.1, d ? "portrait" : "landscape"
}, a.fn[j] = function(a) {
return a ? this.bind(j, a) : this.trigger(j)
}, a.attrFn && (a.attrFn[j] = !0)
}(a, this),
function(a) {
a.widget("mobile.page", a.mobile.widget, {
options: {
theme: "c",
domCache: !1,
keepNativeDefault: ":jqmData(role='none'), :jqmData(role='nojs')"
},
_create: function() {
return this._trigger("beforecreate") === !1 ? !1 : (this.element.attr("tabindex", "0").addClass("ui-page ui-body-" + this.options.theme), void this._on(this.element, {
pagebeforehide: "removeContainerBackground",
pagebeforeshow: "_handlePageBeforeShow"
}))
},
_handlePageBeforeShow: function() {
this.setContainerBackground()
},
removeContainerBackground: function() {
a.mobile.pageContainer.removeClass("ui-overlay-" + a.mobile.getInheritedTheme(this.element.parent()))
},
setContainerBackground: function(b) {
this.options.theme && a.mobile.pageContainer.addClass("ui-overlay-" + (b || this.options.theme))
},
keepNativeSelector: function() {
var b = this.options,
c = b.keepNative && a.trim(b.keepNative);
return c && b.keepNative !== b.keepNativeDefault ? [b.keepNative, b.keepNativeDefault].join(", ") : b.keepNativeDefault
}
})
}(a),
function(a, b, c) {
var d = function(d) {
return d === c && (d = !0),
function(c, e, f, g) {
var h = new a.Deferred,
i = e ? " reverse" : "",
j = a.mobile.urlHistory.getActive(),
k = j.lastScroll || a.mobile.defaultHomeScroll,
l = a.mobile.getScreenHeight(),
m = a.mobile.maxTransitionWidth !== !1 && a.mobile.window.width() > a.mobile.maxTransitionWidth,
n = !a.support.cssTransitions || m || !c || "none" === c || Math.max(a.mobile.window.scrollTop(), k) > a.mobile.getMaxScrollForTransition(),
o = " ui-page-pre-in",
p = function() {
a.mobile.pageContainer.toggleClass("ui-mobile-viewport-transitioning viewport-" + c)
},
q = function() {
a.event.special.scrollstart.enabled = !1, b.scrollTo(0, k), setTimeout(function() {
a.event.special.scrollstart.enabled = !0
}, 150)
},
r = function() {
g.removeClass(a.mobile.activePageClass + " out in reverse " + c).height("")
},
s = function() {
d ? g.animationComplete(t) : t(), g.height(l + a.mobile.window.scrollTop()).addClass(c + " out" + i)
},
t = function() {
g && d && r(), u()
},
u = function() {
f.css("z-index", -10), f.addClass(a.mobile.activePageClass + o), a.mobile.focusPage(f), f.height(l + k), q(), f.css("z-index", ""), n || f.animationComplete(v), f.removeClass(o).addClass(c + " in" + i), n && v()
},
v = function() {
d || g && r(), f.removeClass("out in reverse " + c).height(""), p(), a.mobile.window.scrollTop() !== k && q(), h.resolve(c, e, f, g, !0)
};
return p(), g && !n ? s() : t(), h.promise()
}
},
e = d(),
f = d(!1),
g = function() {
return 3 * a.mobile.getScreenHeight()
};
a.mobile.defaultTransitionHandler = e, a.mobile.transitionHandlers = {
"default": a.mobile.defaultTransitionHandler,
sequential: e,
simultaneous: f
}, a.mobile.transitionFallbacks = {}, a.mobile._maybeDegradeTransition = function(b) {
return b && !a.support.cssTransform3d && a.mobile.transitionFallbacks[b] && (b = a.mobile.transitionFallbacks[b]), b
}, a.mobile.getMaxScrollForTransition = a.mobile.getMaxScrollForTransition || g
}(a, this),
function(a, d) {
function e(b) {
!p || p.closest("." + a.mobile.activePageClass).length && !b || p.removeClass(a.mobile.activeBtnClass), p = null
}
function f() {
t = !1, s.length > 0 && a.mobile.changePage.apply(null, s.pop())
}
function g(b, c, d, e) {
c && c.data("mobile-page")._trigger("beforehide", null, {
nextPage: b
}), b.data("mobile-page")._trigger("beforeshow", null, {
prevPage: c || a("")
}), a.mobile.hidePageLoadingMsg(), d = a.mobile._maybeDegradeTransition(d);
var f = a.mobile.transitionHandlers[d || "default"] || a.mobile.defaultTransitionHandler,
g = f(d, e, b, c);
return g.done(function() {
c && c.data("mobile-page")._trigger("hide", null, {
nextPage: b
}), b.data("mobile-page")._trigger("show", null, {
prevPage: c || a("")
})
}), g
}
function h(b, c) {
c && b.attr("data-" + a.mobile.ns + "role", c), b.page()
}
function i() {
var b = a.mobile.activePage && k(a.mobile.activePage);
return b || x.hrefNoHash
}
function j(a) {
for (; a && ("string" != typeof a.nodeName || "a" !== a.nodeName.toLowerCase());) a = a.parentNode;
return a
}
function k(b) {
var c = a(b).closest(".ui-page").jqmData("url"),
d = x.hrefNoHash;
return c && n.isPath(c) || (c = d), n.makeUrlAbsolute(c, d)
}
var l = a.mobile.window,
m = (a("html"), a("head")),
n = a.extend(a.mobile.path, {
getFilePath: function(b) {
var c = "&" + a.mobile.subPageUrlKey;
return b && b.split(c)[0].split(u)[0]
},
isFirstPageUrl: function(b) {
var c = n.parseUrl(n.makeUrlAbsolute(b, this.documentBase)),
e = c.hrefNoHash === this.documentUrl.hrefNoHash || this.documentBaseDiffers && c.hrefNoHash === this.documentBase.hrefNoHash,
f = a.mobile.firstPage,
g = f && f[0] ? f[0].id : d;
return e && (!c.hash || "#" === c.hash || g && c.hash.replace(/^#/, "") === g)
},
isPermittedCrossDomainRequest: function(b, c) {
return a.mobile.allowCrossDomainPages && "file:" === b.protocol && -1 !== c.search(/^https?:/)
}
}),
o = null,
p = null,
q = a.Deferred(),
r = a.mobile.navigate.history,
s = [],
t = !1,
u = "&ui-state=dialog",
v = m.children("base"),
w = n.documentUrl,
x = n.documentBase,
y = (n.documentBaseDiffers, a.mobile.getScreenHeight),
z = a.support.dynamicBaseTag ? {
element: v.length ? v : a("
", {
href: x.hrefNoHash
}).prependTo(m),
set: function(a) {
a = n.parseUrl(a).hrefNoHash, z.element.attr("href", n.makeUrlAbsolute(a, x))
},
reset: function() {
z.element.attr("href", x.hrefNoSearch)
}
} : d;
a.mobile.getDocumentUrl = n.getDocumentUrl, a.mobile.getDocumentBase = n.getDocumentBase, a.mobile.back = function() {
var a = b.navigator;
this.phonegapNavigationEnabled && a && a.app && a.app.backHistory ? a.app.backHistory() : b.history.back()
}, a.mobile.focusPage = function(a) {
var b = a.find("[autofocus]"),
c = a.find(".ui-title:eq(0)");
return b.length ? void b.focus() : void(c.length ? c.focus() : a.focus())
};
var A, B, C = !0;
A = function() {
if (C) {
var b = a.mobile.urlHistory.getActive();
if (b) {
var c = l.scrollTop();
b.lastScroll = c < a.mobile.minScrollBack ? a.mobile.defaultHomeScroll : c
}
}
}, B = function() {
setTimeout(A, 100)
}, l.bind(a.support.pushState ? "popstate" : "hashchange", function() {
C = !1
}), l.one(a.support.pushState ? "popstate" : "hashchange", function() {
C = !0
}), l.one("pagecontainercreate", function() {
a.mobile.pageContainer.bind("pagechange", function() {
C = !0, l.unbind("scrollstop", B), l.bind("scrollstop", B)
})
}), l.bind("scrollstop", B), a.mobile._maybeDegradeTransition = a.mobile._maybeDegradeTransition || function(a) {
return a
}, a.mobile.resetActivePageHeight = function(b) {
var c = a("." + a.mobile.activePageClass),
d = parseFloat(c.css("padding-top")),
e = parseFloat(c.css("padding-bottom")),
f = parseFloat(c.css("border-top-width")),
g = parseFloat(c.css("border-bottom-width"));
b = "number" == typeof b ? b : y(), c.css("min-height", b - d - e - f - g)
}, a.fn.animationComplete = function(b) {
return a.support.cssTransitions ? a(this).one("webkitAnimationEnd animationend", b) : (setTimeout(b, 0), a(this))
}, a.mobile.path = n, a.mobile.base = z, a.mobile.urlHistory = r, a.mobile.dialogHashKey = u, a.mobile.allowCrossDomainPages = !1, a.mobile._bindPageRemove = function() {
var b = a(this);
!b.data("mobile-page").options.domCache && b.is(":jqmData(external-page='true')") && b.bind("pagehide.remove", function() {
var b = a(this),
c = new a.Event("pageremove");
b.trigger(c), c.isDefaultPrevented() || b.removeWithDependents()
})
}, a.mobile.loadPage = function(b, c) {
var e = a.Deferred(),
f = a.extend({}, a.mobile.loadPage.defaults, c),
g = null,
j = null,
k = n.makeUrlAbsolute(b, i());
f.data && "get" === f.type && (k = n.addSearchParams(k, f.data), f.data = d), f.data && "post" === f.type && (f.reloadPage = !0);
var l = n.getFilePath(k),
m = n.convertUrlToDataUrl(k);
if (f.pageContainer = f.pageContainer || a.mobile.pageContainer, g = f.pageContainer.children("[data-" + a.mobile.ns + "url='" + m + "']"), 0 === g.length && m && !n.isPath(m) && (g = f.pageContainer.children("#" + m).attr("data-" + a.mobile.ns + "url", m).jqmData("url", m)), 0 === g.length)
if (a.mobile.firstPage && n.isFirstPageUrl(l)) a.mobile.firstPage.parent().length && (g = a(a.mobile.firstPage));
else if (n.isEmbeddedPage(l)) return e.reject(k, c), e.promise();
if (g.length) {
if (!f.reloadPage) return h(g, f.role), e.resolve(k, c, g), z && !c.prefetch && z.set(b), e.promise();
j = g
}
var o = f.pageContainer,
p = new a.Event("pagebeforeload"),
q = {
url: b,
absUrl: k,
dataUrl: m,
deferred: e,
options: f
};
if (o.trigger(p, q), p.isDefaultPrevented()) return e.promise();
if (f.showLoadMsg) var r = setTimeout(function() {
a.mobile.showPageLoadingMsg()
}, f.loadMsgDelay),
s = function() {
clearTimeout(r), a.mobile.hidePageLoadingMsg()
};
return !z || "undefined" != typeof c && "undefined" != typeof c.prefetch || z.reset(), a.mobile.allowCrossDomainPages || n.isSameDomain(w, k) ? a.ajax({
url: l,
type: f.type,
data: f.data,
contentType: f.contentType,
dataType: "html",
success: function(d, i, o) {
var p = a("
"),
r = d.match(/
]*>([^<]*)/) && RegExp.$1,
t = new RegExp("(<[^>]+\\bdata-" + a.mobile.ns + "role=[\"']?page[\"']?[^>]*>)"),
u = new RegExp("\\bdata-" + a.mobile.ns + "url=[\"']?([^\"'>]*)[\"']?");
if (t.test(d) && RegExp.$1 && u.test(RegExp.$1) && RegExp.$1 && (b = l = n.getFilePath(a("" + RegExp.$1 + "
").text())), !z || "undefined" != typeof c && "undefined" != typeof c.prefetch || z.set(l), p.get(0).innerHTML = d, g = p.find(":jqmData(role='page'), :jqmData(role='dialog')").first(), g.length || (g = a("" + (d.split(/<\/?body[^>]*>/gim)[1] || "") + "
")), r && !g.jqmData("title") && (~r.indexOf("&") && (r = a("" + r + "
").text()), g.jqmData("title", r)), !a.support.dynamicBaseTag) {
var v = n.get(l);
g.find("[src], link[href], a[rel='external'], :jqmData(ajax='false'), a[target]").each(function() {
var b = a(this).is("[href]") ? "href" : a(this).is("[src]") ? "src" : "action",
c = a(this).attr(b);
c = c.replace(location.protocol + "//" + location.host + location.pathname, ""), /^(\w+:|#|\/)/.test(c) || a(this).attr(b, v + c)
})
}
g.attr("data-" + a.mobile.ns + "url", n.convertUrlToDataUrl(l)).attr("data-" + a.mobile.ns + "external-page", !0).appendTo(f.pageContainer), g.one("pagecreate", a.mobile._bindPageRemove), h(g, f.role), k.indexOf("&" + a.mobile.subPageUrlKey) > -1 && (g = f.pageContainer.children("[data-" + a.mobile.ns + "url='" + m + "']")), f.showLoadMsg && s(), q.xhr = o, q.textStatus = i, q.page = g, f.pageContainer.trigger("pageload", q), e.resolve(k, c, g, j)
},
error: function(b, d, g) {
z && z.set(n.get()), q.xhr = b, q.textStatus = d, q.errorThrown = g;
var h = new a.Event("pageloadfailed");
f.pageContainer.trigger(h, q), h.isDefaultPrevented() || (f.showLoadMsg && (s(), a.mobile.showPageLoadingMsg(a.mobile.pageLoadErrorMessageTheme, a.mobile.pageLoadErrorMessage, !0), setTimeout(a.mobile.hidePageLoadingMsg, 1500)), e.reject(k, c))
}
}) : e.reject(k, c), e.promise()
}, a.mobile.loadPage.defaults = {
type: "get",
data: d,
reloadPage: !1,
role: d,
showLoadMsg: !1,
pageContainer: d,
loadMsgDelay: 50
}, a.mobile.changePage = function(b, j) {
if (t) return void s.unshift(arguments);
var k, l = a.extend({}, a.mobile.changePage.defaults, j);
l.pageContainer = l.pageContainer || a.mobile.pageContainer, l.fromPage = l.fromPage || a.mobile.activePage, k = "string" == typeof b;
var m = l.pageContainer,
o = new a.Event("pagebeforechange"),
p = {
toPage: b,
options: l
};
if (p.absUrl = k ? n.makeUrlAbsolute(b, i()) : b.data("absUrl"), m.trigger(o, p), !o.isDefaultPrevented()) {
if (b = p.toPage, k = "string" == typeof b, t = !0, k) return l.target = b, void a.mobile.loadPage(b, l).done(function(b, c, d, e) {
t = !1, c.duplicateCachedPage = e, d.data("absUrl", p.absUrl), a.mobile.changePage(d, c)
}).fail(function() {
e(!0), f(), l.pageContainer.trigger("pagechangefailed", p)
});
b[0] !== a.mobile.firstPage[0] || l.dataUrl || (l.dataUrl = w.hrefNoHash);
var q = l.fromPage,
v = l.dataUrl && n.convertUrlToDataUrl(l.dataUrl) || b.jqmData("url"),
x = v,
y = (n.getFilePath(v), r.getActive()),
z = 0 === r.activeIndex,
A = 0,
B = c.title,
C = "dialog" === l.role || "dialog" === b.jqmData("role");
if (q && q[0] === b[0] && !l.allowSamePageTransition) return t = !1, m.trigger("pagechange", p), void(l.fromHashChange && r.direct({
url: v
}));
h(b, l.role), l.fromHashChange && (A = "back" === j.direction ? -1 : 1);
try {
c.activeElement && "body" !== c.activeElement.nodeName.toLowerCase() ? a(c.activeElement).blur() : a("input:focus, textarea:focus, select:focus").blur()
} catch (D) {}
var E = !1;
C && y && (y.url && y.url.indexOf(u) > -1 && a.mobile.activePage && !a.mobile.activePage.is(".ui-dialog") && r.activeIndex > 0 && (l.changeHash = !1, E = !0), v = y.url || "", v += !E && v.indexOf("#") > -1 ? u : "#" + u, 0 === r.activeIndex && v === r.initialDst && (v += u));
var F = y ? b.jqmData("title") || b.children(":jqmData(role='header')").find(".ui-title").text() : B;
if (F && B === c.title && (B = F), b.jqmData("title") || b.jqmData("title", B), l.transition = l.transition || (A && !z ? y.transition : d) || (C ? a.mobile.defaultDialogTransition : a.mobile.defaultPageTransition), !A && E && (r.getActive().pageUrl = x), v && !l.fromHashChange) {
var G;
!n.isPath(v) && v.indexOf("#") < 0 && (v = "#" + v), G = {
transition: l.transition,
title: B,
pageUrl: x,
role: l.role
}, l.changeHash !== !1 && a.mobile.hashListeningEnabled ? a.mobile.navigate(v, G, !0) : b[0] !== a.mobile.firstPage[0] && a.mobile.navigate.history.add(v, G)
}
c.title = B, a.mobile.activePage = b, l.reverse = l.reverse || 0 > A, g(b, q, l.transition, l.reverse).done(function(c, d, g, h, i) {
e(), l.duplicateCachedPage && l.duplicateCachedPage.remove(), i || a.mobile.focusPage(b), f(), m.trigger("pagechange", p)
})
}
}, a.mobile.changePage.defaults = {
transition: d,
reverse: !1,
changeHash: !0,
fromHashChange: !1,
role: d,
duplicateCachedPage: d,
pageContainer: d,
showLoadMsg: !0,
dataUrl: d,
fromPage: d,
allowSamePageTransition: !1
}, a.mobile.navreadyDeferred = a.Deferred(), a.mobile._registerInternalEvents = function() {
var c = function(b, c) {
var d, e, f, g, h = !0;
return !a.mobile.ajaxEnabled || b.is(":jqmData(ajax='false')") || !b.jqmHijackable().length || b.attr("target") ? !1 : (d = b.attr("action"), g = (b.attr("method") || "get").toLowerCase(), d || (d = k(b), "get" === g && (d = n.parseUrl(d).hrefNoSearch), d === x.hrefNoHash && (d = w.hrefNoSearch)), d = n.makeUrlAbsolute(d, k(b)), n.isExternal(d) && !n.isPermittedCrossDomainRequest(w, d) ? !1 : (c || (e = b.serializeArray(), o && o[0].form === b[0] && (f = o.attr("name"), f && (a.each(e, function(a, b) {
return b.name === f ? (f = "", !1) : void 0
}), f && e.push({
name: f,
value: o.attr("value")
}))), h = {
url: d,
options: {
type: g,
data: a.param(e),
transition: b.jqmData("transition"),
reverse: "reverse" === b.jqmData("direction"),
reloadPage: !0
}
}), h))
};
a.mobile.document.delegate("form", "submit", function(b) {
var d = c(a(this));
d && (a.mobile.changePage(d.url, d.options), b.preventDefault())
}), a.mobile.document.bind("vclick", function(b) {
var d, f, g = b.target,
h = !1;
if (!(b.which > 1) && a.mobile.linkBindingEnabled) {
if (o = a(g), a.data(g, "mobile-button")) {
if (!c(a(g).closest("form"), !0)) return;
g.parentNode && (g = g.parentNode)
} else {
if (g = j(g), !g || "#" === n.parseUrl(g.getAttribute("href") || "#").hash) return;
if (!a(g).jqmHijackable().length) return
}~g.className.indexOf("ui-link-inherit") ? g.parentNode && (f = a.data(g.parentNode, "buttonElements")) : f = a.data(g, "buttonElements"), f ? g = f.outer : h = !0, d = a(g), h && (d = d.closest(".ui-btn")), d.length > 0 && !d.hasClass("ui-disabled") && (e(!0), p = d, p.addClass(a.mobile.activeBtnClass))
}
}), a.mobile.document.bind("click", function(c) {
if (a.mobile.linkBindingEnabled && !c.isDefaultPrevented()) {
var f, g = j(c.target),
h = a(g);
if (g && !(c.which > 1) && h.jqmHijackable().length) {
if (f = function() {
b.setTimeout(function() {
e(!0)
}, 200)
}, h.is(":jqmData(rel='back')")) return a.mobile.back(), !1;
var i = k(h),
l = n.makeUrlAbsolute(h.attr("href") || "#", i);
if (!a.mobile.ajaxEnabled && !n.isEmbeddedPage(l)) return void f();
if (-1 !== l.search("#")) {
if (l = l.replace(/[^#]*#/, ""), !l) return void c.preventDefault();
l = n.isPath(l) ? n.makeUrlAbsolute(l, i) : n.makeUrlAbsolute("#" + l, w.hrefNoHash)
}
var m = h.is("[rel='external']") || h.is(":jqmData(ajax='false')") || h.is("[target]"),
o = m || n.isExternal(l) && !n.isPermittedCrossDomainRequest(w, l);
if (o) return void f();
var p = h.jqmData("transition"),
q = "reverse" === h.jqmData("direction") || h.jqmData("back"),
r = h.attr("data-" + a.mobile.ns + "rel") || d;
a.mobile.changePage(l, {
transition: p,
reverse: q,
role: r,
link: h
}), c.preventDefault()
}
}
}), a.mobile.document.delegate(".ui-page", "pageshow.prefetch", function() {
var b = [];
a(this).find("a:jqmData(prefetch)").each(function() {
var c = a(this),
d = c.attr("href");
d && -1 === a.inArray(d, b) && (b.push(d), a.mobile.loadPage(d, {
role: c.attr("data-" + a.mobile.ns + "rel"),
prefetch: !0
}))
})
}), a.mobile._handleHashChange = function(c, e) {
var f = n.stripHash(c),
g = 0 === a.mobile.urlHistory.stack.length ? "none" : d,
h = {
changeHash: !1,
fromHashChange: !0,
reverse: "back" === e.direction
};
if (a.extend(h, e, {
transition: (r.getLast() || {}).transition || g
}), r.activeIndex > 0 && f.indexOf(u) > -1 && r.initialDst !== f) {
if (a.mobile.activePage && !a.mobile.activePage.is(".ui-dialog")) return void("back" === e.direction ? a.mobile.back() : b.history.forward());
f = e.pageUrl;
var i = a.mobile.urlHistory.getActive();
a.extend(h, {
role: i.role,
transition: i.transition,
reverse: "back" === e.direction
})
}
f ? (f = n.isPath(f) ? f : n.makeUrlAbsolute("#" + f, x), f === n.makeUrlAbsolute("#" + r.initialDst, x) && r.stack.length && r.stack[0].url !== r.initialDst.replace(u, "") && (f = a.mobile.firstPage), a.mobile.changePage(f, h)) : a.mobile.changePage(a.mobile.firstPage, h)
}, l.bind("navigate", function(b, c) {
var d;
b.originalEvent && b.originalEvent.isDefaultPrevented() || (d = a.event.special.navigate.originalEventName.indexOf("hashchange") > -1 ? c.state.hash : c.state.url, d || (d = a.mobile.path.parseLocation().hash), d && "#" !== d && 0 !== d.indexOf("#" + a.mobile.path.uiStateKey) || (d = location.href), a.mobile._handleHashChange(d, c.state))
}), a.mobile.document.bind("pageshow", a.mobile.resetActivePageHeight), a.mobile.window.bind("throttledresize", a.mobile.resetActivePageHeight)
}, a(function() {
q.resolve()
}), a.when(q, a.mobile.navreadyDeferred).done(function() {
a.mobile._registerInternalEvents()
})
}(a),
function(a) {
a.mobile.transitionFallbacks.flip = "fade"
}(a, this),
function(a) {
a.mobile.transitionFallbacks.flow = "fade"
}(a, this),
function(a) {
a.mobile.transitionFallbacks.pop = "fade"
}(a, this),
function(a) {
a.mobile.transitionHandlers.slide = a.mobile.transitionHandlers.simultaneous, a.mobile.transitionFallbacks.slide = "fade"
}(a, this),
function(a) {
a.mobile.transitionFallbacks.slidedown = "fade"
}(a, this),
function(a) {
a.mobile.transitionFallbacks.slidefade = "fade"
}(a, this),
function(a) {
a.mobile.transitionFallbacks.slideup = "fade"
}(a, this),
function(a) {
a.mobile.transitionFallbacks.turn = "fade"
}(a, this),
function(a) {
a.mobile.page.prototype.options.degradeInputs = {
color: !1,
date: !1,
datetime: !1,
"datetime-local": !1,
email: !1,
month: !1,
number: !1,
range: "number",
search: "text",
tel: !1,
time: !1,
url: !1,
week: !1
}, a.mobile.document.bind("pagecreate create", function(b) {
var c, d = a.mobile.closestPageData(a(b.target));
d && (c = d.options, a(b.target).find("input").not(d.keepNativeSelector()).each(function() {
var b = a(this),
d = this.getAttribute("type"),
e = c.degradeInputs[d] || "text";
if (c.degradeInputs[d]) {
var f = a("").html(b.clone()).html(),
g = f.indexOf(" type=") > -1,
h = g ? /\s+type=["']?\w+['"]?/ : /\/?>/,
i = ' type="' + e + '" data-' + a.mobile.ns + 'type="' + d + '"' + (g ? "" : ">");
b.replaceWith(f.replace(h, i))
}
}))
})
}(a),
function(a) {
a.widget("mobile.dialog", a.mobile.widget, {
options: {
closeBtn: "left",
closeBtnText: "Close",
overlayTheme: "a",
corners: !0,
initSelector: ":jqmData(role='dialog')"
},
_handlePageBeforeShow: function() {
this._isCloseable = !0, this.options.overlayTheme && this.element.page("removeContainerBackground").page("setContainerBackground", this.options.overlayTheme)
},
_handlePageBeforeHide: function() {
this._isCloseable = !1
},
_create: function() {
var b = this.element,
c = this.options.corners ? " ui-corner-all" : "",
d = a("
", {
role: "dialog",
"class": "ui-dialog-contain ui-overlay-shadow" + c
});
b.addClass("ui-dialog ui-overlay-" + this.options.overlayTheme), b.wrapInner(d), b.bind("vclick submit", function(b) {
var c, d = a(b.target).closest("vclick" === b.type ? "a" : "form");
d.length && !d.jqmData("transition") && (c = a.mobile.urlHistory.getActive() || {}, d.attr("data-" + a.mobile.ns + "transition", c.transition || a.mobile.defaultDialogTransition).attr("data-" + a.mobile.ns + "direction", "reverse"))
}), this._on(b, {
pagebeforeshow: "_handlePageBeforeShow",
pagebeforehide: "_handlePageBeforeHide"
}), a.extend(this, {
_createComplete: !1
}), this._setCloseBtn(this.options.closeBtn)
},
_setCloseBtn: function(b) {
var c, d, e = this;
this._headerCloseButton && (this._headerCloseButton.remove(), this._headerCloseButton = null), "none" !== b && (d = "left" === b ? "left" : "right", c = a("
" + this.options.closeBtnText + ""), this.element.children().find(":jqmData(role='header')").first().prepend(c), this._createComplete && a.fn.buttonMarkup && c.buttonMarkup(), this._createComplete = !0, c.bind("click", function() {
e.close()
}), this._headerCloseButton = c)
},
_setOption: function(a, b) {
"closeBtn" === a && this._setCloseBtn(b), this._super(a, b)
},
close: function() {
var b, c, d = a.mobile.navigate.history;
this._isCloseable && (this._isCloseable = !1, a.mobile.hashListeningEnabled && d.activeIndex > 0 ? a.mobile.back() : (b = Math.max(0, d.activeIndex - 1), c = d.stack[b].pageUrl || d.stack[b].url, d.previousIndex = d.activeIndex, d.activeIndex = b, a.mobile.path.isPath(c) || (c = a.mobile.path.makeUrlAbsolute("#" + c)), a.mobile.changePage(c, {
direction: "back",
changeHash: !1,
fromHashChange: !0
})))
}
}), a.mobile.document.delegate(a.mobile.dialog.prototype.options.initSelector, "pagecreate", function() {
a.mobile.dialog.prototype.enhance(this)
})
}(a, this),
function(a) {
a.mobile.page.prototype.options.backBtnText = "Back", a.mobile.page.prototype.options.addBackBtn = !1, a.mobile.page.prototype.options.backBtnTheme = null, a.mobile.page.prototype.options.headerTheme = "a", a.mobile.page.prototype.options.footerTheme = "a", a.mobile.page.prototype.options.contentTheme = null, a.mobile.document.bind("pagecreate", function(b) {
var c = a(b.target),
d = c.data("mobile-page").options,
e = c.jqmData("role"),
f = d.theme;
a(":jqmData(role='header'), :jqmData(role='footer'), :jqmData(role='content')", c).jqmEnhanceable().each(function() {
var b, g, h, i, j = a(this),
k = j.jqmData("role"),
l = j.jqmData("theme"),
m = l || d.contentTheme || "dialog" === e && f;
if (j.addClass("ui-" + k), "header" === k || "footer" === k) {
var n = l || ("header" === k ? d.headerTheme : d.footerTheme) || f;
j.addClass("ui-bar-" + n).attr("role", "header" === k ? "banner" : "contentinfo"), "header" === k && (b = j.children("a, button"), g = b.hasClass("ui-btn-left"), h = b.hasClass("ui-btn-right"), g = g || b.eq(0).not(".ui-btn-right").addClass("ui-btn-left").length, h = h || b.eq(1).addClass("ui-btn-right").length), d.addBackBtn && "header" === k && a(".ui-page").length > 1 && c.jqmData("url") !== a.mobile.path.stripHash(location.hash) && !g && (i = a("
" + d.backBtnText + "").attr("data-" + a.mobile.ns + "theme", d.backBtnTheme || n).prependTo(j)), j.children("h1, h2, h3, h4, h5, h6").addClass("ui-title").attr({
role: "heading",
"aria-level": "1"
})
} else "content" === k && (m && j.addClass("ui-body-" + m), j.attr("role", "main"))
})
})
}(a),
function(a, b) {
function d(a) {
for (var b; a && (b = "string" == typeof a.className && a.className + " ", !(b && b.indexOf("ui-btn ") > -1 && b.indexOf("ui-disabled ") < 0));) a = a.parentNode;
return a
}
function e(d, e, f, g, h) {
var i = a.data(d[0], "buttonElements");
d.removeClass(e).addClass(f), i && (i.bcls = a(c.createElement("div")).addClass(i.bcls + " " + f).removeClass(e).attr("class"), g !== b && (i.hover = g), i.state = h)
}
var f = function(a, c) {
var d = a.getAttribute(c);
return "true" === d ? !0 : "false" === d ? !1 : null === d ? b : d
};
a.fn.buttonMarkup = function(d) {
var e, h = this,
i = "data-" + a.mobile.ns;
d = d && "object" === a.type(d) ? d : {};
for (var j = 0; j < h.length; j++) {
var k, l, m, n, o, p, q = h.eq(j),
r = q[0],
s = a.extend({}, a.fn.buttonMarkup.defaults, {
icon: d.icon !== b ? d.icon : f(r, i + "icon"),
iconpos: d.iconpos !== b ? d.iconpos : f(r, i + "iconpos"),
theme: d.theme !== b ? d.theme : f(r, i + "theme") || a.mobile.getInheritedTheme(q, "c"),
inline: d.inline !== b ? d.inline : f(r, i + "inline"),
shadow: d.shadow !== b ? d.shadow : f(r, i + "shadow"),
corners: d.corners !== b ? d.corners : f(r, i + "corners"),
iconshadow: d.iconshadow !== b ? d.iconshadow : f(r, i + "iconshadow"),
mini: d.mini !== b ? d.mini : f(r, i + "mini")
}, d),
t = "ui-btn-inner",
u = "ui-btn-text",
v = !1,
w = "up";
for (e in s) s[e] === b || null === s[e] ? q.removeAttr(i + e) : r.setAttribute(i + e, s[e]);
for (p = a.data("INPUT" === r.tagName || "BUTTON" === r.tagName ? r.parentNode : r, "buttonElements"), p ? (r = p.outer, q = a(r), m = p.inner, n = p.text, a(p.icon).remove(), p.icon = null, v = p.hover, w = p.state) : (m = c.createElement(s.wrapperEls), n = c.createElement(s.wrapperEls)), o = s.icon ? c.createElement("span") : null, g && !p && g(), s.theme || (s.theme = a.mobile.getInheritedTheme(q, "c")), k = "ui-btn ", k += v ? "ui-btn-hover-" + s.theme : "", k += w ? " ui-btn-" + w + "-" + s.theme : "", k += s.shadow ? " ui-shadow" : "", k += s.corners ? " ui-btn-corner-all" : "", s.mini !== b && (k += s.mini === !0 ? " ui-mini" : " ui-fullsize"), s.inline !== b && (k += s.inline === !0 ? " ui-btn-inline" : " ui-btn-block"), s.icon && (s.icon = "ui-icon-" + s.icon, s.iconpos = s.iconpos || "left", l = "ui-icon " + s.icon, s.iconshadow && (l += " ui-icon-shadow")), s.iconpos && (k += " ui-btn-icon-" + s.iconpos, "notext" !== s.iconpos || q.attr("title") || q.attr("title", q.getEncodedText())), p && q.removeClass(p.bcls || ""), q.removeClass("ui-link").addClass(k), m.className = t, n.className = u, p || m.appendChild(n), o && (o.className = l, p && p.icon || (o.innerHTML = " ", m.appendChild(o))); r.firstChild && !p;) n.appendChild(r.firstChild);
p || r.appendChild(m), p = {
hover: v,
state: w,
bcls: k,
outer: r,
inner: m,
text: n,
icon: o
}, a.data(r, "buttonElements", p), a.data(m, "buttonElements", p), a.data(n, "buttonElements", p), o && a.data(o, "buttonElements", p)
}
return this
}, a.fn.buttonMarkup.defaults = {
corners: !0,
shadow: !0,
iconshadow: !0,
wrapperEls: "span"
};
var g = function() {
var c, f, h = a.mobile.buttonMarkup.hoverDelay;
a.mobile.document.bind({
"vmousedown vmousecancel vmouseup vmouseover vmouseout focus blur scrollstart": function(g) {
var i, j = a(d(g.target)),
k = g.originalEvent && /^touch/.test(g.originalEvent.type),
l = g.type;
j.length && (i = j.attr("data-" + a.mobile.ns + "theme"), "vmousedown" === l ? k ? c = setTimeout(function() {
e(j, "ui-btn-up-" + i, "ui-btn-down-" + i, b, "down")
}, h) : e(j, "ui-btn-up-" + i, "ui-btn-down-" + i, b, "down") : "vmousecancel" === l || "vmouseup" === l ? e(j, "ui-btn-down-" + i, "ui-btn-up-" + i, b, "up") : "vmouseover" === l || "focus" === l ? k ? f = setTimeout(function() {
e(j, "ui-btn-up-" + i, "ui-btn-hover-" + i, !0, "")
}, h) : e(j, "ui-btn-up-" + i, "ui-btn-hover-" + i, !0, "") : ("vmouseout" === l || "blur" === l || "scrollstart" === l) && (e(j, "ui-btn-hover-" + i + " ui-btn-down-" + i, "ui-btn-up-" + i, !1, "up"), c && clearTimeout(c), f && clearTimeout(f)))
},
"focusin focus": function(b) {
a(d(b.target)).addClass(a.mobile.focusClass)
},
"focusout blur": function(b) {
a(d(b.target)).removeClass(a.mobile.focusClass)
}
}), g = null
};
a.mobile.document.bind("pagecreate create", function(b) {
a(":jqmData(role='button'), .ui-bar > a, .ui-header > a, .ui-footer > a, .ui-bar > :jqmData(role='controlgroup') > a", b.target).jqmEnhanceable().not("button, input, .ui-btn, :jqmData(role='none'), :jqmData(role='nojs')").buttonMarkup()
})
}(a),
function(a, b) {
a.widget("mobile.collapsible", a.mobile.widget, {
options: {
expandCueText: " click to expand contents",
collapseCueText: " click to collapse contents",
collapsed: !0,
heading: "h1,h2,h3,h4,h5,h6,legend",
collapsedIcon: "plus",
expandedIcon: "minus",
iconpos: "left",
theme: null,
contentTheme: null,
inset: !0,
corners: !0,
mini: !1,
initSelector: ":jqmData(role='collapsible')"
},
_create: function() {
var c = this.element,
d = this.options,
e = c.addClass("ui-collapsible"),
f = c.children(d.heading).first(),
g = e.wrapInner("
").children(".ui-collapsible-content"),
h = c.closest(":jqmData(role='collapsible-set')").addClass("ui-collapsible-set"),
i = "";
f.is("legend") && (f = a("
" + f.html() + "
").insertBefore(f), f.next().remove()), h.length ? (d.theme || (d.theme = h.jqmData("theme") || a.mobile.getInheritedTheme(h, "c")), d.contentTheme || (d.contentTheme = h.jqmData("content-theme")), d.collapsedIcon = c.jqmData("collapsed-icon") || h.jqmData("collapsed-icon") || d.collapsedIcon, d.expandedIcon = c.jqmData("expanded-icon") || h.jqmData("expanded-icon") || d.expandedIcon, d.iconpos = c.jqmData("iconpos") || h.jqmData("iconpos") || d.iconpos, d.inset = h.jqmData("inset") !== b ? h.jqmData("inset") : !0, d.corners = !1, d.mini || (d.mini = h.jqmData("mini"))) : d.theme || (d.theme = a.mobile.getInheritedTheme(c, "c")), d.inset && (i += " ui-collapsible-inset", d.corners && (i += " ui-corner-all")), d.contentTheme && (i += " ui-collapsible-themed-content", g.addClass("ui-body-" + d.contentTheme)), "" !== i && e.addClass(i), f.insertBefore(g).addClass("ui-collapsible-heading").append("
").wrapInner("
").find("a").first().buttonMarkup({
shadow: !1,
corners: !1,
iconpos: d.iconpos,
icon: d.collapsedIcon,
mini: d.mini,
theme: d.theme
}), e.bind("expand collapse", function(b) {
if (!b.isDefaultPrevented()) {
var c = a(this),
e = "collapse" === b.type;
b.preventDefault(), f.toggleClass("ui-collapsible-heading-collapsed", e).find(".ui-collapsible-heading-status").text(e ? d.expandCueText : d.collapseCueText).end().find(".ui-icon").toggleClass("ui-icon-" + d.expandedIcon, !e).toggleClass("ui-icon-" + d.collapsedIcon, e || d.expandedIcon === d.collapsedIcon).end().find("a").first().removeClass(a.mobile.activeBtnClass), c.toggleClass("ui-collapsible-collapsed", e), g.toggleClass("ui-collapsible-content-collapsed", e).attr("aria-hidden", e), g.trigger("updatelayout")
}
}).trigger(d.collapsed ? "collapse" : "expand"), f.bind("tap", function() {
f.find("a").first().addClass(a.mobile.activeBtnClass)
}).bind("click", function(a) {
var b = f.is(".ui-collapsible-heading-collapsed") ? "expand" : "collapse";
e.trigger(b), a.preventDefault(), a.stopPropagation()
})
}
}), a.mobile.document.bind("pagecreate create", function(b) {
a.mobile.collapsible.prototype.enhanceWithin(b.target)
})
}(a),
function(a) {
a.mobile.behaviors.addFirstLastClasses = {
_getVisibles: function(a, b) {
var c;
return b ? c = a.not(".ui-screen-hidden") : (c = a.filter(":visible"), 0 === c.length && (c = a.not(".ui-screen-hidden"))), c
},
_addFirstLastClasses: function(a, b, c) {
a.removeClass("ui-first-child ui-last-child"), b.eq(0).addClass("ui-first-child").end().last().addClass("ui-last-child"), c || this.element.trigger("updatelayout")
}
}
}(a),
function(a, b) {
a.widget("mobile.collapsibleset", a.mobile.widget, a.extend({
options: {
initSelector: ":jqmData(role='collapsible-set')"
},
_create: function() {
var c = this.element.addClass("ui-collapsible-set"),
d = this.options;
d.theme || (d.theme = a.mobile.getInheritedTheme(c, "c")), d.contentTheme || (d.contentTheme = c.jqmData("content-theme")), d.corners || (d.corners = c.jqmData("corners")), c.jqmData("inset") !== b && (d.inset = c.jqmData("inset")), d.inset = d.inset !== b ? d.inset : !0, d.corners = d.corners !== b ? d.corners : !0, d.corners && d.inset && c.addClass("ui-corner-all"), c.jqmData("collapsiblebound") || c.jqmData("collapsiblebound", !0).bind("expand", function(b) {
var c = a(b.target).closest(".ui-collapsible");
c.parent().is(":jqmData(role='collapsible-set')") && c.siblings(".ui-collapsible").trigger("collapse")
})
},
_init: function() {
var a = this.element,
b = a.children(":jqmData(role='collapsible')"),
c = b.filter(":jqmData(collapsed='false')");
this._refresh("true"), c.trigger("expand")
},
_refresh: function(b) {
var c = this.element.children(":jqmData(role='collapsible')");
a.mobile.collapsible.prototype.enhance(c.not(".ui-collapsible")), this._addFirstLastClasses(c, this._getVisibles(c, b), b)
},
refresh: function() {
this._refresh(!1)
}
}, a.mobile.behaviors.addFirstLastClasses)), a.mobile.document.bind("pagecreate create", function(b) {
a.mobile.collapsibleset.prototype.enhanceWithin(b.target)
})
}(a),
function(a) {
a.fn.fieldcontain = function() {
return this.addClass("ui-field-contain ui-body ui-br").contents().filter(function() {
return 3 === this.nodeType && !/\S/.test(this.nodeValue)
}).remove()
}, a(c).bind("pagecreate create", function(b) {
a(":jqmData(role='fieldcontain')", b.target).jqmEnhanceable().fieldcontain()
})
}(a),
function(a) {
a.fn.grid = function(b) {
return this.each(function() {
var c, d = a(this),
e = a.extend({
grid: null
}, b),
f = d.children(),
g = {
solo: 1,
a: 2,
b: 3,
c: 4,
d: 5
},
h = e.grid;
if (!h)
if (f.length <= 5)
for (var i in g) g[i] === f.length && (h = i);
else h = "a", d.addClass("ui-grid-duo");
c = g[h], d.addClass("ui-grid-" + h), f.filter(":nth-child(" + c + "n+1)").addClass("ui-block-a"), c > 1 && f.filter(":nth-child(" + c + "n+2)").addClass("ui-block-b"), c > 2 && f.filter(":nth-child(" + c + "n+3)").addClass("ui-block-c"), c > 3 && f.filter(":nth-child(" + c + "n+4)").addClass("ui-block-d"), c > 4 && f.filter(":nth-child(" + c + "n+5)").addClass("ui-block-e")
})
}
}(a),
function(a, b) {
a.widget("mobile.navbar", a.mobile.widget, {
options: {
iconpos: "top",
grid: null,
initSelector: ":jqmData(role='navbar')"
},
_create: function() {
var d = this.element,
e = d.find("a"),
f = e.filter(":jqmData(icon)").length ? this.options.iconpos : b;
d.addClass("ui-navbar ui-mini").attr("role", "navigation").find("ul").jqmEnhanceable().grid({
grid: this.options.grid
}), e.buttonMarkup({
corners: !1,
shadow: !1,
inline: !0,
iconpos: f
}), d.delegate("a", "vclick", function(b) {
var d = a(b.target).is("a") ? a(this) : a(this).parent("a");
if (!d.is(".ui-disabled, .ui-btn-active")) {
e.removeClass(a.mobile.activeBtnClass), a(this).addClass(a.mobile.activeBtnClass);
var f = a(this);
a(c).one("pagehide", function() {
f.removeClass(a.mobile.activeBtnClass)
})
}
}), d.closest(".ui-page").bind("pagebeforeshow", function() {
e.filter(".ui-state-persist").addClass(a.mobile.activeBtnClass)
})
}
}), a.mobile.document.bind("pagecreate create", function(b) {
a.mobile.navbar.prototype.enhanceWithin(b.target)
})
}(a),
function(a) {
var b = {};
a.widget("mobile.listview", a.mobile.widget, a.extend({
options: {
theme: null,
countTheme: "c",
headerTheme: "b",
dividerTheme: "b",
icon: "arrow-r",
splitIcon: "arrow-r",
splitTheme: "b",
corners: !0,
shadow: !0,
inset: !1,
initSelector: ":jqmData(role='listview')"
},
_create: function() {
var a = this,
b = "";
b += a.options.inset ? " ui-listview-inset" : "", a.options.inset && (b += a.options.corners ? " ui-corner-all" : "", b += a.options.shadow ? " ui-shadow" : ""), a.element.addClass(function(a, c) {
return c + " ui-listview" + b
}), a.refresh(!0)
},
_findFirstElementByTagName: function(a, b, c, d) {
var e = {};
for (e[c] = e[d] = !0; a;) {
if (e[a.nodeName]) return a;
a = a[b]
}
return null
},
_getChildrenByTagName: function(b, c, d) {
var e = [],
f = {};
for (f[c] = f[d] = !0, b = b.firstChild; b;) f[b.nodeName] && e.push(b), b = b.nextSibling;
return a(e)
},
_addThumbClasses: function(b) {
var c, d, e = b.length;
for (c = 0; e > c; c++) d = a(this._findFirstElementByTagName(b[c].firstChild, "nextSibling", "img", "IMG")), d.length && (d.addClass("ui-li-thumb"), a(this._findFirstElementByTagName(d[0].parentNode, "parentNode", "li", "LI")).addClass(d.is(".ui-li-icon") ? "ui-li-has-icon" : "ui-li-has-thumb"))
},
refresh: function(b) {
this.parentPage = this.element.closest(".ui-page"), this._createSubPages();
var d, e, f, g, h, i, j, k, l, m, n, o, p = this.options,
q = this.element,
r = q.jqmData("dividertheme") || p.dividerTheme,
s = q.jqmData("splittheme"),
t = q.jqmData("spliticon"),
u = q.jqmData("icon"),
v = this._getChildrenByTagName(q[0], "li", "LI"),
w = !!a.nodeName(q[0], "ol"),
x = !a.support.cssPseudoElement,
y = q.attr("start"),
z = {};
w && x && q.find(".ui-li-dec").remove(), w && (y || 0 === y ? x ? j = parseInt(y, 10) : (k = parseInt(y, 10) - 1, q.css("counter-reset", "listnumbering " + k)) : x && (j = 1)), p.theme || (p.theme = a.mobile.getInheritedTheme(this.element, "c"));
for (var A = 0, B = v.length; B > A; A++) {
if (d = v.eq(A), e = "ui-li", b || !d.hasClass("ui-li")) {
f = d.jqmData("theme") || p.theme, g = this._getChildrenByTagName(d[0], "a", "A");
var C = "list-divider" === d.jqmData("role");
g.length && !C ? (n = d.jqmData("icon"), d.buttonMarkup({
wrapperEls: "div",
shadow: !1,
corners: !1,
iconpos: "right",
icon: g.length > 1 || n === !1 ? !1 : n || u || p.icon,
theme: f
}), n !== !1 && 1 === g.length && d.addClass("ui-li-has-arrow"), g.first().removeClass("ui-link").addClass("ui-link-inherit"), g.length > 1 && (e += " ui-li-has-alt", h = g.last(), i = s || h.jqmData("theme") || p.splitTheme, o = h.jqmData("icon"), h.appendTo(d).attr("title", a.trim(h.getEncodedText())).addClass("ui-li-link-alt").empty().buttonMarkup({
shadow: !1,
corners: !1,
theme: f,
icon: !1,
iconpos: "notext"
}).find(".ui-btn-inner").append(a(c.createElement("span")).buttonMarkup({
shadow: !0,
corners: !0,
theme: i,
iconpos: "notext",
icon: o || n || t || p.splitIcon
})))) : C ? (e += " ui-li-divider ui-bar-" + (d.jqmData("theme") || r), d.attr("role", "heading"), w && (y || 0 === y ? x ? j = parseInt(y, 10) : (l = parseInt(y, 10) - 1, d.css("counter-reset", "listnumbering " + l)) : x && (j = 1))) : e += " ui-li-static ui-btn-up-" + f
}
w && x && e.indexOf("ui-li-divider") < 0 && (m = e.indexOf("ui-li-static") > 0 ? d : d.find(".ui-link-inherit"), m.addClass("ui-li-jsnumbering").prepend("
" + j++ + ". ")), z[e] || (z[e] = []), z[e].push(d[0])
}
for (e in z) a(z[e]).addClass(e).children(".ui-btn-inner").addClass(e);
q.find("h1, h2, h3, h4, h5, h6").addClass("ui-li-heading").end().find("p, dl").addClass("ui-li-desc").end().find(".ui-li-aside").each(function() {
var b = a(this);
b.prependTo(b.parent())
}).end().find(".ui-li-count").each(function() {
a(this).closest("li").addClass("ui-li-has-count")
}).addClass("ui-btn-up-" + (q.jqmData("counttheme") || this.options.countTheme) + " ui-btn-corner-all"), this._addThumbClasses(v), this._addThumbClasses(q.find(".ui-link-inherit")), this._addFirstLastClasses(v, this._getVisibles(v, b), b), this._trigger("afterrefresh")
},
_idStringEscape: function(a) {
return a.replace(/[^a-zA-Z0-9]/g, "-")
},
_createSubPages: function() {
var c, d = this.element,
e = d.closest(".ui-page"),
f = e.jqmData("url"),
g = f || e[0][a.expando],
h = d.attr("id"),
i = this.options,
j = "data-" + a.mobile.ns,
k = this,
l = e.find(":jqmData(role='footer')").jqmData("id");
if ("undefined" == typeof b[g] && (b[g] = -1), h = h || ++b[g], a(d.find("li>ul, li>ol").toArray().reverse()).each(function(b) {
var e, g, k = a(this),
m = k.attr("id") || h + "-" + b,
n = k.parent(),
o = a(k.prevAll().toArray().reverse()),
p = o.length ? o : a("
" + a.trim(n.contents()[0].nodeValue) + ""),
q = p.first().getEncodedText(),
r = (f || "") + "&" + a.mobile.subPageUrlKey + "=" + m,
s = k.jqmData("theme") || i.theme,
t = k.jqmData("counttheme") || d.jqmData("counttheme") || i.countTheme;
c = !0, e = k.detach().wrap("
").parent().before("
").after(l ? a("
") : "").parent().appendTo(a.mobile.pageContainer), e.page(), g = n.find("a:first"), g.length || (g = a("
").html(p || q).prependTo(n.empty())), g.attr("href", "#" + r)
}).listview(), c && e.is(":jqmData(external-page='true')") && e.data("mobile-page").options.domCache === !1) {
var m = function(b, c) {
var d, g = c.nextPage,
h = new a.Event("pageremove");
c.nextPage && (d = g.jqmData("url"), 0 !== d.indexOf(f + "&" + a.mobile.subPageUrlKey) && (k.childPages().remove(), e.trigger(h), h.isDefaultPrevented() || e.removeWithDependents()))
};
e.unbind("pagehide.remove").bind("pagehide.remove", m)
}
},
childPages: function() {
var b = this.parentPage.jqmData("url");
return a(":jqmData(url^='" + b + "&" + a.mobile.subPageUrlKey + "')")
}
}, a.mobile.behaviors.addFirstLastClasses)), a.mobile.document.bind("pagecreate create", function(b) {
a.mobile.listview.prototype.enhanceWithin(b.target)
})
}(a),
function(a) {
var b = a("meta[name=viewport]"),
c = b.attr("content"),
d = c + ",maximum-scale=1, user-scalable=no",
e = c + ",maximum-scale=10, user-scalable=yes",
f = /(user-scalable[\s]*=[\s]*no)|(maximum-scale[\s]*=[\s]*1)[$,\s]/.test(c);
a.mobile.zoom = a.extend({}, {
enabled: !f,
locked: !1,
disable: function(c) {
f || a.mobile.zoom.locked || (b.attr("content", d), a.mobile.zoom.enabled = !1, a.mobile.zoom.locked = c || !1)
},
enable: function(c) {
f || a.mobile.zoom.locked && c !== !0 || (b.attr("content", e), a.mobile.zoom.enabled = !0, a.mobile.zoom.locked = !1)
},
restore: function() {
f || (b.attr("content", c), a.mobile.zoom.enabled = !0)
}
})
}(a),
function(a) {
a.widget("mobile.textinput", a.mobile.widget, {
options: {
theme: null,
mini: !1,
preventFocusZoom: /iPhone|iPad|iPod/.test(navigator.platform) && navigator.userAgent.indexOf("AppleWebKit") > -1,
initSelector: "input[type='text'], input[type='search'], :jqmData(type='search'), input[type='number'], :jqmData(type='number'), input[type='password'], input[type='email'], input[type='url'], input[type='tel'], textarea, input[type='time'], input[type='date'], input[type='month'], input[type='week'], input[type='datetime'], input[type='datetime-local'], input[type='color'], input:not([type]), input[type='file']",
clearBtn: !1,
clearSearchButtonText: null,
clearBtnText: "clear text",
disabled: !1
},
_create: function() {
function b() {
setTimeout(function() {
d.toggleClass("ui-input-clear-hidden", !f.val())
}, 0)
}
var c, d, e = this,
f = this.element,
g = this.options,
h = g.theme || a.mobile.getInheritedTheme(this.element, "c"),
i = " ui-body-" + h,
j = g.mini ? " ui-mini" : "",
k = f.is("[type='search'], :jqmData(type='search')"),
l = g.clearSearchButtonText || g.clearBtnText,
m = f.is("textarea, :jqmData(type='range')"),
n = !!g.clearBtn && !m,
o = f.is("input") && !f.is(":jqmData(type='range')");
if (a("label[for='" + f.attr("id") + "']").addClass("ui-input-text"), c = f.addClass("ui-input-text ui-body-" + h), "undefined" == typeof f[0].autocorrect || a.support.touchOverflow || (f[0].setAttribute("autocorrect", "off"), f[0].setAttribute("autocomplete", "off")), k ? c = f.wrap("
").parent() : o && (c = f.wrap("
").parent()), n || k ? (d = a("
" + l + "").bind("click", function(a) {
f.val("").focus().trigger("change"), d.addClass("ui-input-clear-hidden"), a.preventDefault()
}).appendTo(c).buttonMarkup({
icon: "delete",
iconpos: "notext",
corners: !0,
shadow: !0,
mini: g.mini
}), k || c.addClass("ui-input-has-clear"), b(), f.bind("paste cut keyup input focus change blur", b)) : o || k || f.addClass("ui-corner-all ui-shadow-inset" + i + j), f.focus(function() {
g.preventFocusZoom && a.mobile.zoom.disable(!0), c.addClass(a.mobile.focusClass)
}).blur(function() {
c.removeClass(a.mobile.focusClass), g.preventFocusZoom && a.mobile.zoom.enable(!0)
}), f.is("textarea")) {
var p, q = 15,
r = 100;
this._keyup = function() {
var a = f[0].scrollHeight,
b = f[0].clientHeight;
if (a > b) {
var c = parseFloat(f.css("padding-top")),
d = parseFloat(f.css("padding-bottom")),
e = c + d;
f.height(a - e + q)
}
}, f.on("keyup change input paste", function() {
clearTimeout(p), p = setTimeout(e._keyup, r)
}), this._on(!0, a.mobile.document, {
pagechange: "_keyup"
}), a.trim(f.val()) && this._on(!0, a.mobile.window, {
load: "_keyup"
})
}
f.attr("disabled") && this.disable()
},
disable: function() {
var a, b = this.element.is("[type='search'], :jqmData(type='search')"),
c = this.element.is("input") && !this.element.is(":jqmData(type='range')"),
d = this.element.attr("disabled", !0) && (c || b);
return a = d ? this.element.parent() : this.element, a.addClass("ui-disabled"), this._setOption("disabled", !0)
},
enable: function() {
var a, b = this.element.is("[type='search'], :jqmData(type='search')"),
c = this.element.is("input") && !this.element.is(":jqmData(type='range')"),
d = this.element.attr("disabled", !1) && (c || b);
return a = d ? this.element.parent() : this.element, a.removeClass("ui-disabled"), this._setOption("disabled", !1)
}
}), a.mobile.document.bind("pagecreate create", function(b) {
a.mobile.textinput.prototype.enhanceWithin(b.target, !0)
})
}(a),
function(a) {
a.mobile.listview.prototype.options.filter = !1, a.mobile.listview.prototype.options.filterPlaceholder = "Filter items...", a.mobile.listview.prototype.options.filterTheme = "c", a.mobile.listview.prototype.options.filterReveal = !1;
var b = function(a, b) {
return -1 === a.toString().toLowerCase().indexOf(b)
};
a.mobile.listview.prototype.options.filterCallback = b, a.mobile.document.delegate("ul, ol", "listviewcreate", function() {
var c = a(this),
d = c.data("mobile-listview");
if (d && d.options.filter) {
d.options.filterReveal && c.children().addClass("ui-screen-hidden");
var e = a("