软测单独项目
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

46 lines
221 KiB

/*! jQuery Mobile 1.4.5 | Git HEADhash: 68e55e7 <> 2014-10-31T17:33:30Z | (c) 2010, 2014 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) {
!function (a) { a.mobile = {} }(a), function (a, b) { function d(b, c) { var d, f, g, h = b.nodeName.toLowerCase(); return "area" === h ? (d = b.parentNode, f = d.name, b.href && f && "map" === d.nodeName.toLowerCase() ? (g = a("img[usemap=#" + f + "]")[0], !!g && e(g)) : !1) : (/input|select|textarea|button|object/.test(h) ? !b.disabled : "a" === h ? b.href || c : c) && e(b) } function e(b) { return a.expr.filters.visible(b) && !a(b).parents().addBack().filter(function () { return "hidden" === a.css(this, "visibility") }).length } var f = 0, g = /^ui-id-\d+$/; a.ui = a.ui || {}, a.extend(a.ui, { version: "c0ab71056b936627e8a7821f03c044aec6280a40", keyCode: { BACKSPACE: 8, COMMA: 188, DELETE: 46, DOWN: 40, END: 35, ENTER: 13, ESCAPE: 27, HOME: 36, LEFT: 37, PAGE_DOWN: 34, PAGE_UP: 33, PERIOD: 190, RIGHT: 39, SPACE: 32, TAB: 9, UP: 38 } }), a.fn.extend({ focus: function (b) { return function (c, d) { return "number" == typeof c ? this.each(function () { var b = this; setTimeout(function () { a(b).focus(), d && d.call(b) }, c) }) : b.apply(this, arguments) } }(a.fn.focus), scrollParent: function () { var b; return b = a.ui.ie && /(static|relative)/.test(this.css("position")) || /absolute/.test(this.css("position")) ? this.parents().filter(function () { return /(relative|absolute|fixed)/.test(a.css(this, "position")) && /(auto|scroll)/.test(a.css(this, "overflow") + a.css(this, "overflow-y") + a.css(this, "overflow-x")) }).eq(0) : this.parents().filter(function () { return /(auto|scroll)/.test(a.css(this, "overflow") + a.css(this, "overflow-y") + a.css(this, "overflow-x")) }).eq(0), /fixed/.test(this.css("position")) || !b.length ? a(this[0].ownerDocument || c) : b }, uniqueId: function () { return this.each(function () { this.id || (this.id = "ui-id-" + ++f) }) }, removeUniqueId: function () { return this.each(function () { g.test(this.id) && a(this).removeAttr("id") }) } }), a.extend(a.expr[":"], { data: a.expr.createPseudo ? a.expr.createPseudo(function (b) { return function (c) { return !!a.data(c, b) } }) : function (b, c, d) { return !!a.data(b, d[3]) }, focusable: function (b) { return d(b, !isNaN(a.attr(b, "tabindex"))) }, tabbable: function (b) { var c = a.attr(b, "tabindex"), e = isNaN(c); return (e || c >= 0) && d(b, !e) } }), a("<a>").outerWidth(1).jquery || a.each(["Width", "Height"], function (c, d) { function e(b, c, d, e) { return a.each(f, function () { c -= parseFloat(a.css(b, "padding" + this)) || 0, d && (c -= parseFloat(a.css(b, "border" + this + "Width")) || 0), e && (c -= parseFloat(a.css(b, "margin" + this)) || 0) }), c } var f = "Width" === d ? ["Left", "Right"] : ["Top", "Bottom"], g = d.toLowerCase(), h = { innerWidth: a.fn.innerWidth, innerHeight: a.fn.innerHeight, outerWidth: a.fn.outerWidth, outerHeight: a.fn.outerHeight }; a.fn["inner" + d] = function (c) { return c === b ? h["inner" + d].call(this) : this.each(function () { a(this).css(g, e(this, c) + "px") }) }, a.fn["outer" + d] = function (b, c) { return "number" != typeof b ? h["outer" + d].call(this, b) : this.each(function () { a(this).css(g, e(this, b, !0, c) + "px") }) } }), a.fn.addBack || (a.fn.addBack = function (a) { return this.add(null == a ? this.prevObject : this.prevObject.filter(a)) }), a("<a>").data("a-b", "a").removeData("a-b").data("a-b") && (a.fn.removeData = function (b) { return function (c) { return arguments.length ? b.call(this, a.camelCase(c)) : b.call(this) } }(a.fn.removeData)), a.ui.ie = !!/msie [\w.]+/.exec(navigator.userAgent.toLowerCase()), a.support.selectstart = "onselectstart" in c.createElement("div"), a.fn.extend({ disableSelection: function () { return this.bind((a.support.selectstart ? "selectstart" : "mousedown") + ".ui-disableSelection", function (a) { a.preventDefault() }) }, enableSelection: function () { return this.unbind(".ui-disableSelection") }, zIndex: function (d) { if (d !== b) return this.css("zIndex", d); if (this.length) for (var e, f, g = a(this[0]); g.length && g[0] !== c;) { if (e = g.css("position"), ("absolute" === e || "relative" === e || "fixed" === e) && (f = parseInt(g.css(
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, g; return c = d.parseUrl(a), e = d.parseLocation(), e.pathname + e.search === c.pathname + c.search ? f = c.hash ? c.hash : c.pathname + c.search : d.isPath(a) ? (g = d.parseUrl(b), f = g.pathname + g.search + (d.isPreservableHash(g.hash) ? g.hash.replace("#", "") : "")) : f = a, 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; if (a.event.special.navigate.isPushStateEnabled()) return 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 } })) }, 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) { var d = { animation: {}, transition: {} }, e = c.createElement("a"), f = ["", "webkit-", "moz-", "o-"]; a.each(["animation", "transition"], function (c, g) { var h = 0 === c ? g + "-name" : g; a.each(f, function (c, f) { return e.style[a.camelCase(f + h)] !== b ? (d[g].prefix = f, !1) : void 0 }), d[g].duration = a.camelCase(d[g].prefix + g + "-duration"), d[g].event = a.camelCase(d[g].prefix + g + "-end"), "" === d[g].prefix && (d[g].event = d[g].event.toLowerCase()) }), a.support.cssTransitions = d.transition.prefix !== b, a.support.cssAnimations = d.animation.prefix !== b, a(e).remove(), a.fn.animationComplete = function (e, f, g) { var h, i, j = this, k = function () { clearTimeout(h), e.apply(this, arguments) }, l = f && "animation" !== f ? "transition" : "animation"; return a.support.cssTransitions && "transition" === l || a.support.cssAnimations && "animation" === l ? (g === b && (a(this).context !== c && (i = 3e3 * parseFloat(a(this).css(d[l].duration))), (0 === i || i === b || isNaN(i)) && (i = a.fn.animationComplete.defaultDuration)), h = setTimeout(function () { a(j).off(d[l].event, k), e.apply(j) }, i), a(this).one(d[l].event, k)) : (setTimeout(a.proxy(e, this), 0), a(this)) }, a.fn.animationComplete.defaultDuration = 1e3 }(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 = E), 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 = C.length; n > m; m++)i = C[m], b[i] = k[i]; return b } function g(b) { for (var c, d, e = {}; b;) { c = a.data(b, z); 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, z), d && (!c || d[c])) return b; b = b.parentNode } return null } function i() { M = !1 } function j() { M = !0 } function k() { Q = 0, K.length = 0, L = !1, j() } function l() { i() } function m() { n(), G = setTimeout(function () { G = 0, k() }, a.vmouse.resetTimerDuration) } function n() { G && (clearTimeout(G), G = 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, d = a.data(b.target, A); L || Q && Q === d || (c = o("v" + b.type, b), c && (c.isDefaultPrevented() && b.preventDefault(), c.isPropagationStopped() && b.stopPropagation(), c.isImmediatePropagationStopped() && b.stopImmediatePropagation())) } function q(b) { var c, d, f, h = e(b).touches; h && 1 === h.length && (c = b.target, d = g(c), d.hasVirtualBinding && (Q = P++, a.data(c, A, Q), n(), l(), J = !1, f = e(b).touches[0], H = f.pageX, I = f.pageY, o("vmouseover", b, d), o("vmousedown", b, d))) } function r(a) { M || (J || o("vmousecancel", a, g(a.target)), J = !0, m()) } function s(b) { if (!M) { var c = e(b).touches[0], d = J, f = a.vmouse.moveDistanceThreshold, h = g(b.target); J = J || Math.abs(c.pageX - H) > f || Math.abs(c.pageY - I) > f, J && !d && o("vmousecancel", b, h), o("vmousemove", b, h), m() } } function t(a) { if (!M) { j(); var b, c, d = g(a.target); o("vmouseup", a, d), J || (b = o("vclick", a, d), b && b.isDefaultPrevented() && (c = e(a).changedTouches[0], K.push({ touchID: Q, x: c.clientX, y: c.clientY }), L = !0)), o("vmouseout", a, d), J = !1, m() } } function u(b) { var c, d = a.data(b, z); if (d) for (c in d) if (d[c]) return !0; return
function e(a) { for (; a && ("string" != typeof a.nodeName || "a" !== a.nodeName.toLowerCase());)a = a.parentNode; return a } var f = a.Deferred(), g = a.Deferred(), h = function () { g.resolve(), g = null }, i = a.mobile.path.documentUrl, j = null; a.mobile.loadPage = function (b, c) { var d; return c = c || {}, d = c.pageContainer || a.mobile.pageContainer, c.deferred = a.Deferred(), d.pagecontainer("load", b, c), c.deferred.promise() }, a.mobile.back = function () { var c = b.navigator; this.phonegapNavigationEnabled && c && c.app && c.app.backHistory ? c.app.backHistory() : a.mobile.pageContainer.pagecontainer("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()) }, a.mobile._maybeDegradeTransition = a.mobile._maybeDegradeTransition || function (a) { return a }, a.mobile.changePage = function (b, c) { a.mobile.pageContainer.pagecontainer("change", b, c) }, 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._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 = j && j.attr("formaction") || b.attr("action"), g = (b.attr("method") || "get").toLowerCase(), d || (d = a.mobile.getClosestBaseUrl(b), "get" === g && (d = a.mobile.path.parseUrl(d).hrefNoSearch), d === a.mobile.path.documentBase.hrefNoHash && (d = i.hrefNoSearch)), d = a.mobile.path.makeUrlAbsolute(d, a.mobile.getClosestBaseUrl(b)), a.mobile.path.isExternal(d) && !a.mobile.path.isPermittedCrossDomainRequest(i, d) ? !1 : (c || (e = b.serializeArray(), j && j[0].form === b[0] && (f = j.attr("name"), f && (a.each(e, function (a, b) { return b.name === f ? (f = "", !1) : void 0 }), f && e.push({ name: f, value: j.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; b.isDefaultPrevented() || (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 (j = a(g), a.data(g, "mobile-button")) { if (!c(a(g).closest("form"), !0)) return; g.parentNode && (g = g.parentNode) } else { if (g = e(g), !g || "#" === a.mobile.path.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-state-disabled") && (a.mobile.removeActiveLinkClass(!0), a.mobile.activeClickedLink = d, a.mobile.activeClickedLink.addClass(a.mobile.activeBtnClass)) } }), a.mobile.document.bind("click", function (c) { if (a.mobile.linkBindingEnabled && !c.isDefaultPrevented()) { var f, g, h, j, k, l, m, n = e(c.target), o = a(n), p = function () { b.setTimeout(function () { a.mobile.removeActiveLinkClass(!0) }, 200) }; if (a.mobile.activeClickedLink && a.mobile.activeClickedLink[0] === c.target.parentNode && p(), n && !(c.which > 1) && o.jqmHijackable().length) { if (o.is(":jqmData(rel='back')")) return a.mobile.back(), !1; if (f = a.mobile.getClosestBaseUrl(o), g = a.mobile.path.makeUrlAbsolute(o.attr("href") || "#", f), !a.mobile.ajaxEnabled && !a.mobile.path.isEmbeddedPage(g)) return void p(); if (!(-1 === g.search("#") || a.mobile.path.isExternal(g) && a.mobile.path.isAbsoluteUrl(g))) { if (g = g.replace(/[^#]*#/, ""), !g) return void c.preventDefault(); g = a.mobile.path.isPath(g) ? a.mobile.path.makeUrlAbsolute(g, f) : a.mobile.path.makeUrlAbsolute("#" + g, i.hrefNoHash) } if (h = o.is("[rel='external']") || o.is(":jqmData(ajax='false')") || o.is("[target]"), j = h || a.mobile.path.isExternal(g) && !a.mobile.path.isPermittedCrossDomainRequest(i, g)) return void p(); k = o.jqmData("transition"), l = "reverse" === o.jqmData("direction") || o.jqmData("back"), m = o.attr("data-" + a.mobile.ns + "rel") || d, a.mobile.changePage(g, { transition: k, reverse: l, role: m, link: o }), 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.pageContainer.pagecontainer(), a.mobile.document.bind("pageshow", function () {
g ? g.done(a.mobile.resetActivePageHeight) : a.mobile.resetActivePageHeight()
}), a.mobile.window.bind("throttledresize", a.mobile.resetActivePageHeight)
}, a(function () { f.resolve() }), "complete" === c.readyState ? h() : a.mobile.window.load(h), a.when(f, a.mobile.navreadyDeferred).done(function () { a.mobile._registerInternalEvents() })
}(a), function (a, b) { a.mobile.Transition = function () { this.init.apply(this, arguments) }, a.extend(a.mobile.Transition.prototype, { toPreClass: " ui-page-pre-in", init: function (b, c, d, e) { a.extend(this, { name: b, reverse: c, $to: d, $from: e, deferred: new a.Deferred }) }, cleanFrom: function () { this.$from.removeClass(a.mobile.activePageClass + " out in reverse " + this.name).height("") }, beforeDoneIn: function () { }, beforeDoneOut: function () { }, beforeStartOut: function () { }, doneIn: function () { this.beforeDoneIn(), this.$to.removeClass("out in reverse " + this.name).height(""), this.toggleViewportClass(), a.mobile.window.scrollTop() !== this.toScroll && this.scrollPage(), this.sequential || this.$to.addClass(a.mobile.activePageClass), this.deferred.resolve(this.name, this.reverse, this.$to, this.$from, !0) }, doneOut: function (a, b, c, d) { this.beforeDoneOut(), this.startIn(a, b, c, d) }, hideIn: function (a) { this.$to.css("z-index", -10), a.call(this), this.$to.css("z-index", "") }, scrollPage: function () { a.event.special.scrollstart.enabled = !1, (a.mobile.hideUrlBar || this.toScroll !== a.mobile.defaultHomeScroll) && b.scrollTo(0, this.toScroll), setTimeout(function () { a.event.special.scrollstart.enabled = !0 }, 150) }, startIn: function (b, c, d, e) { this.hideIn(function () { this.$to.addClass(a.mobile.activePageClass + this.toPreClass), e || a.mobile.focusPage(this.$to), this.$to.height(b + this.toScroll), d || this.scrollPage() }), this.$to.removeClass(this.toPreClass).addClass(this.name + " in " + c), d ? this.doneIn() : this.$to.animationComplete(a.proxy(function () { this.doneIn() }, this)) }, startOut: function (b, c, d) { this.beforeStartOut(b, c, d), this.$from.height(b + a.mobile.window.scrollTop()).addClass(this.name + " out" + c) }, toggleViewportClass: function () { a.mobile.pageContainer.toggleClass("ui-mobile-viewport-transitioning viewport-" + this.name) }, transition: function () { var b, c = this.reverse ? " reverse" : "", d = a.mobile.getScreenHeight(), e = a.mobile.maxTransitionWidth !== !1 && a.mobile.window.width() > a.mobile.maxTransitionWidth; return this.toScroll = a.mobile.navigate.history.getActive().lastScroll || a.mobile.defaultHomeScroll, b = !a.support.cssTransitions || !a.support.cssAnimations || e || !this.name || "none" === this.name || Math.max(a.mobile.window.scrollTop(), this.toScroll) > a.mobile.getMaxScrollForTransition(), this.toggleViewportClass(), this.$from && !b ? this.startOut(d, c, b) : this.doneOut(d, c, b, !0), this.deferred.promise() } }) }(a, this), function (a) { a.mobile.SerialTransition = function () { this.init.apply(this, arguments) }, a.extend(a.mobile.SerialTransition.prototype, a.mobile.Transition.prototype, { sequential: !0, beforeDoneOut: function () { this.$from && this.cleanFrom() }, beforeStartOut: function (b, c, d) { this.$from.animationComplete(a.proxy(function () { this.doneOut(b, c, d) }, this)) } }) }(a), function (a) { a.mobile.ConcurrentTransition = function () { this.init.apply(this, arguments) }, a.extend(a.mobile.ConcurrentTransition.prototype, a.mobile.Transition.prototype, { sequential: !1, beforeDoneIn: function () { this.$from && this.cleanFrom() }, beforeStartOut: function (a, b, c) { this.doneOut(a, b, c) } }) }(a), function (a) { var b = function () { return 3 * a.mobile.getScreenHeight() }; a.mobile.transitionHandlers = { sequential: a.mobile.SerialTransition, simultaneous: a.mobile.ConcurrentTransition }, a.mobile.defaultTransitionHandler = a.mobile.transitionHandlers.sequential, 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 || b }(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.transiti
a.widget("mobile.textinput", {
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']", options: { theme: null, corners: !0, mini: !1, preventFocusZoom: /iPhone|iPad|iPod/.test(navigator.platform) && navigator.userAgent.indexOf("AppleWebKit") > -1, wrapperClass: "", enhanced: !1 }, _create: function () { var b = this.options, c = this.element.is("[type='search'], :jqmData(type='search')"), d = "TEXTAREA" === this.element[0].tagName, e = this.element.is("[data-" + (a.mobile.ns || "") + "type='range']"), f = (this.element.is("input") || this.element.is("[data-" + (a.mobile.ns || "") + "type='search']")) && !e; this.element.prop("disabled") && (b.disabled = !0), a.extend(this, { classes: this._classesFromOptions(), isSearch: c, isTextarea: d, isRange: e, inputNeedsWrap: f }), this._autoCorrect(), b.enhanced || this._enhance(), this._on({ focus: "_handleFocus", blur: "_handleBlur" }) }, refresh: function () { this.setOptions({ disabled: this.element.is(":disabled") }) }, _enhance: function () { var a = []; this.isTextarea && a.push("ui-input-text"), (this.isTextarea || this.isRange) && a.push("ui-shadow-inset"), this.inputNeedsWrap ? this.element.wrap(this._wrap()) : a = a.concat(this.classes), this.element.addClass(a.join(" ")) }, widget: function () { return this.inputNeedsWrap ? this.element.parent() : this.element }, _classesFromOptions: function () {
var a = this.options, b = []; return b.push("ui-body-" + (null === a.theme ? "inherit" : a.theme)), a.corners && b.push("ui-corner-all"), a.mini && b.push("ui-mini"), a.disabled && b.push("ui-state-disabled"), a.wrapperClass && b.push(a.wrapperClass), b
}, _wrap: function () { return a("<div class='" + (this.isSearch ? "ui-input-search " : "ui-input-text ") + this.classes.join(" ") + " ui-shadow-inset'></div>") }, _autoCorrect: function () { "undefined" == typeof this.element[0].autocorrect || a.support.touchOverflow || (this.element[0].setAttribute("autocorrect", "off"), this.element[0].setAttribute("autocomplete", "off")) }, _handleBlur: function () { this.widget().removeClass(a.mobile.focusClass), this.options.preventFocusZoom && a.mobile.zoom.enable(!0) }, _handleFocus: function () { this.options.preventFocusZoom && a.mobile.zoom.disable(!0), this.widget().addClass(a.mobile.focusClass) }, _setOptions: function (a) { var c = this.widget(); this._super(a), (a.disabled !== b || a.mini !== b || a.corners !== b || a.theme !== b || a.wrapperClass !== b) && (c.removeClass(this.classes.join(" ")), this.classes = this._classesFromOptions(), c.addClass(this.classes.join(" "))), a.disabled !== b && this.element.prop("disabled", !!a.disabled) }, _destroy: function () { this.options.enhanced || (this.inputNeedsWrap && this.element.unwrap(), this.element.removeClass("ui-input-text " + this.classes.join(" "))) }
})
}(a), function (a, d) { a.widget("mobile.slider", a.extend({ initSelector: "input[type='range'], :jqmData(type='range'), :jqmData(role='slider')", widgetEventPrefix: "slide", options: { theme: null, trackTheme: null, corners: !0, mini: !1, highlight: !1 }, _create: function () { var e, f, g, h, i, j, k, l, m, n, o = this, p = this.element, q = this.options.trackTheme || a.mobile.getAttribute(p[0], "theme"), r = q ? " ui-bar-" + q : " ui-bar-inherit", s = this.options.corners || p.jqmData("corners") ? " ui-corner-all" : "", t = this.options.mini || p.jqmData("mini") ? " ui-mini" : "", u = p[0].nodeName.toLowerCase(), v = "select" === u, w = p.parent().is(":jqmData(role='rangeslider')"), x = v ? "ui-slider-switch" : "", y = p.attr("id"), z = a("[for='" + y + "']"), A = z.attr("id") || y + "-label", B = v ? 0 : parseFloat(p.attr("min")), C = v ? p.find("option").length - 1 : parseFloat(p.attr("max")), D = b.parseFloat(p.attr("step") || 1), E = c.createElement("a"), F = a(E), G = c.createElement("div"), H = a(G), I = this.options.highlight && !v ? function () { var b = c.createElement("div"); return b.className = "ui-slider-bg " + a.mobile.activeBtnClass, a(b).prependTo(H) }() : !1; if (z.attr("id", A), this.isToggleSwitch = v, E.setAttribute("href", "#"), G.setAttribute("role", "application"), G.className = [this.isToggleSwitch ? "ui-slider ui-slider-track ui-shadow-inset " : "ui-slider-track ui-shadow-inset ", x, r, s, t].join(""), E.className = "ui-slider-handle", G.appendChild(E), F.attr({ role: "slider", "aria-valuemin": B, "aria-valuemax": C, "aria-valuenow": this._value(), "aria-valuetext": this._value(), title: this._value(), "aria-labelledby": A }), a.extend(this, { slider: H, handle: F, control: p, type: u, step: D, max: C, min: B, valuebg: I, isRangeslider: w, dragging: !1, beforeStart: null, userModified: !1, mouseMoved: !1 }), v) { for (k = p.attr("tabindex"), k && F.attr("tabindex", k), p.attr("tabindex", "-1").focus(function () { a(this).blur(), F.focus() }), f = c.createElement("div"), f.className = "ui-slider-inneroffset", g = 0, h = G.childNodes.length; h > g; g++)f.appendChild(G.childNodes[g]); for (G.appendChild(f), F.addClass("ui-slider-handle-snapping"), e = p.find("option"), i = 0, j = e.length; j > i; i++)l = i ? "a" : "b", m = i ? " " + a.mobile.activeBtnClass : "", n = c.createElement("span"), n.className = ["ui-slider-label ui-slider-label-", l, m].join(""), n.setAttribute("role", "img"), n.appendChild(c.createTextNode(e[i].innerHTML)), a(n).prependTo(H); o._labels = a(".ui-slider-label", H) } p.addClass(v ? "ui-slider-switch" : "ui-slider-input"), this._on(p, { change: "_controlChange", keyup: "_controlKeyup", blur: "_controlBlur", vmouseup: "_controlVMouseUp" }), H.bind("vmousedown", a.proxy(this._sliderVMouseDown, this)).bind("vclick", !1), this._on(c, { vmousemove: "_preventDocumentDrag" }), this._on(H.add(c), { vmouseup: "_sliderVMouseUp" }), H.insertAfter(p), v || w || (f = this.options.mini ? "<div class='ui-slider ui-mini'>" : "<div class='ui-slider'>", p.add(H).wrapAll(f)), this._on(this.handle, { vmousedown: "_handleVMouseDown", keydown: "_handleKeydown", keyup: "_handleKeyup" }), this.handle.bind("vclick", !1), this._handleFormReset(), this.refresh(d, d, !0) }, _setOptions: function (a) { a.theme !== d && this._setTheme(a.theme), a.trackTheme !== d && this._setTrackTheme(a.trackTheme), a.corners !== d && this._setCorners(a.corners), a.mini !== d && this._setMini(a.mini), a.highlight !== d && this._setHighlight(a.highlight), a.disabled !== d && this._setDisabled(a.disabled), this._super(a) }, _controlChange: function (a) { return this._trigger("controlchange", a) === !1 ? !1 : void (this.mouseMoved || this.refresh(this._value(), !0)) }, _controlKeyup: function () { this.refresh(this._value(), !0, !0) }, _controlBlur: function () { this.refresh(this._value(), !0) }, _controlVMouseUp: function () { this._checkedRefresh() }, _handleVMouseDown: function () { this.handle.focus() }, _handleKeydown: function (b) { var c = this._value(); if (!this.options.disabled) { switch (b.keyCode) { cas
function d(a, b, c, d) { var e = d; return e = b > a ? c + (a - b) / 2 : Math.min(Math.max(c, d - b / 2), c + a - b) } function e(a) { return { x: a.scrollLeft(), y: a.scrollTop(), cx: a[0].innerWidth || a.width(), cy: a[0].innerHeight || a.height() } } a.widget("mobile.popup", {
options: { wrapperClass: null, theme: null, overlayTheme: null, shadow: !0, corners: !0, transition: "none", positionTo: "origin", tolerance: null, closeLinkSelector: "a:jqmData(rel='back')", closeLinkEvents: "click.popup", navigateEvents: "navigate.popup", closeEvents: "navigate.popup pagebeforechange.popup", dismissible: !0, enhanced: !1, history: !a.mobile.browser.oldIE }, _handleDocumentVmousedown: function (b) { this._isOpen && a.contains(this._ui.container[0], b.target) && this._ignoreResizeEvents() }, _create: function () { var b = this.element, c = b.attr("id"), d = this.options; d.history = d.history && a.mobile.ajaxEnabled && a.mobile.hashListeningEnabled, this._on(this.document, { vmousedown: "_handleDocumentVmousedown" }), a.extend(this, { _scrollTop: 0, _page: b.closest(".ui-page"), _ui: null, _fallbackTransition: "", _currentTransition: !1, _prerequisites: null, _isOpen: !1, _tolerance: null, _resizeData: null, _ignoreResizeTo: 0, _orientationchangeInProgress: !1 }), 0 === this._page.length && (this._page = a("body")), d.enhanced ? this._ui = { container: b.parent(), screen: b.parent().prev(), placeholder: a(this.document[0].getElementById(c + "-placeholder")) } : (this._ui = this._enhance(b, c), this._applyTransition(d.transition)), this._setTolerance(d.tolerance)._ui.focusElement = this._ui.container, this._on(this._ui.screen, { vclick: "_eatEventAndClose" }), this._on(this.window, { orientationchange: a.proxy(this, "_handleWindowOrientationchange"), resize: a.proxy(this, "_handleWindowResize"), keyup: a.proxy(this, "_handleWindowKeyUp") }), this._on(this.document, { focusin: "_handleDocumentFocusIn" }) }, _enhance: function (b, c) { var d = this.options, e = d.wrapperClass, f = { screen: a("<div class='ui-screen-hidden ui-popup-screen " + this._themeClassFromOption("ui-overlay-", d.overlayTheme) + "'></div>"), placeholder: a("<div style='display: none;'><!-- placeholder --></div>"), container: a("<div class='ui-popup-container ui-popup-hidden ui-popup-truncate" + (e ? " " + e : "") + "'></div>") }, g = this.document[0].createDocumentFragment(); return g.appendChild(f.screen[0]), g.appendChild(f.container[0]), c && (f.screen.attr("id", c + "-screen"), f.container.attr("id", c + "-popup"), f.placeholder.attr("id", c + "-placeholder").html("<!-- placeholder for " + c + " -->")), this._page[0].appendChild(g), f.placeholder.insertAfter(b), b.detach().addClass("ui-popup " + this._themeClassFromOption("ui-body-", d.theme) + " " + (d.shadow ? "ui-overlay-shadow " : "") + (d.corners ? "ui-corner-all " : "")).appendTo(f.container), f }, _eatEventAndClose: function (a) { return a.preventDefault(), a.stopImmediatePropagation(), this.options.dismissible && this.close(), !1 }, _resizeScreen: function () { var a = this._ui.screen, b = this._ui.container.outerHeight(!0), c = a.removeAttr("style").height(), d = this.document.height() - 1; d > c ? a.height(d) : b > c && a.height(b) }, _handleWindowKeyUp: function (b) { return this._isOpen && b.keyCode === a.mobile.keyCode.ESCAPE ? this._eatEventAndClose(b) : void 0 }, _expectResizeEvent: function () {
var a = e(this.window);
if (this._resizeData) { if (a.x === this._resizeData.windowCoordinates.x && a.y === this._resizeData.windowCoordinates.y && a.cx === this._resizeData.windowCoordinates.cx && a.cy === this._resizeData.windowCoordinates.cy) return !1; clearTimeout(this._resizeData.timeoutId) } return this._resizeData = { timeoutId: this._delay("_resizeTimeout", 200), windowCoordinates: a }, !0
}, _resizeTimeout: function () { this._isOpen ? this._expectResizeEvent() || (this._ui.container.hasClass("ui-popup-hidden") && (this._ui.container.removeClass("ui-popup-hidden ui-popup-truncate"), this.reposition({ positionTo: "window" }), this._ignoreResizeEvents()), this._resizeScreen(), this._resizeData = null, this._orientationchangeInProgress = !1) : (this._resizeData = null, this._orientationchangeInProgress = !1) }, _stopIgnoringResizeEvents: function () { this._ignoreResizeTo = 0 }, _ignoreResizeEvents: function () { this._ignoreResizeTo && clearTimeout(this._ignoreResizeTo), this._ignoreResizeTo = this._delay("_stopIgnoringResizeEvents", 1e3) }, _handleWindowResize: function () { this._isOpen && 0 === this._ignoreResizeTo && (!this._expectResizeEvent() && !this._orientationchangeInProgress || this._ui.container.hasClass("ui-popup-hidden") || this._ui.container.addClass("ui-popup-hidden ui-popup-truncate").removeAttr("style")) }, _handleWindowOrientationchange: function () { !this._orientationchangeInProgress && this._isOpen && 0 === this._ignoreResizeTo && (this._expectResizeEvent(), this._orientationchangeInProgress = !0) }, _handleDocumentFocusIn: function (b) { var c, d = b.target, e = this._ui; if (this._isOpen) { if (d !== e.container[0]) { if (c = a(d), !a.contains(e.container[0], d)) return a(this.document[0].activeElement).one("focus", a.proxy(function () { this._safelyBlur(d) }, this)), e.focusElement.focus(), b.preventDefault(), b.stopImmediatePropagation(), !1; e.focusElement[0] === e.container[0] && (e.focusElement = c) } this._ignoreResizeEvents() } }, _themeClassFromOption: function (a, b) { return b ? "none" === b ? "" : a + b : a + "inherit" }, _applyTransition: function (b) { return b && (this._ui.container.removeClass(this._fallbackTransition), "none" !== b && (this._fallbackTransition = a.mobile._maybeDegradeTransition(b), "none" === this._fallbackTransition && (this._fallbackTransition = ""), this._ui.container.addClass(this._fallbackTransition))), this }, _setOptions: function (a) { var b = this.options, d = this.element, e = this._ui.screen; return a.wrapperClass !== c && this._ui.container.removeClass(b.wrapperClass).addClass(a.wrapperClass), a.theme !== c && d.removeClass(this._themeClassFromOption("ui-body-", b.theme)).addClass(this._themeClassFromOption("ui-body-", a.theme)), a.overlayTheme !== c && (e.removeClass(this._themeClassFromOption("ui-overlay-", b.overlayTheme)).addClass(this._themeClassFromOption("ui-overlay-", a.overlayTheme)), this._isOpen && e.addClass("in")), a.shadow !== c && d.toggleClass("ui-overlay-shadow", a.shadow), a.corners !== c && d.toggleClass("ui-corner-all", a.corners), a.transition !== c && (this._currentTransition || this._applyTransition(a.transition)), a.tolerance !== c && this._setTolerance(a.tolerance), a.disabled !== c && a.disabled && this.close(), this._super(a) }, _setTolerance: function (b) { var d, e = { t: 30, r: 15, b: 30, l: 15 }; if (b !== c) switch (d = String(b).split(","), a.each(d, function (a, b) { d[a] = parseInt(b, 10) }), d.length) { case 1: isNaN(d[0]) || (e.t = e.r = e.b = e.l = d[0]); break; case 2: isNaN(d[0]) || (e.t = e.b = d[0]), isNaN(d[1]) || (e.l = e.r = d[1]); break; case 4: isNaN(d[0]) || (e.t = d[0]), isNaN(d[1]) || (e.r = d[1]), isNaN(d[2]) || (e.b = d[2]), isNaN(d[3]) || (e.l = d[3]) }return this._tolerance = e, this }, _clampPopupWidth: function (a) { var b, c = e(this.window), d = { x: this._tolerance.l, y: c.y + this._tolerance.t, cx: c.cx - this._tolerance.l - this._tolerance.r, cy: c.cy - this._tolerance.t - this._tolerance.b }; return a || this._ui.container.css("max-width", d.cx), b = { cx: this._ui.container.outerWidth(!0), cy: this._ui.container.outerHeight(!0) }, { rc: d, menuSize: b } }, _calculateFinalLocation: function (a, b) { var c, e = b.rc, f = b.menuSize; return c = { left: d(e.cx, f.cx, e.x, a.x), top: d(e.cy, f.cy, e.y, a.y) }, c.top = Math.max(0, c.top), c.top -= Math.min(c.top, Math.max(0, c.top + f.cy - this.document.height())), c }, _placementCoords: function (a) { return this._calcu
}), a.mobile.popup.handleLink = function (b) { var c, d = a.mobile.path, e = a(d.hashToSelector(d.parseUrl(b.attr("href")).hash)).first(); e.length > 0 && e.data("mobile-popup") && (c = b.offset(), e.popup("open", { x: c.left + b.outerWidth() / 2, y: c.top + b.outerHeight() / 2, transition: b.jqmData("transition"), positionTo: b.jqmData("position-to") })), setTimeout(function () { b.removeClass(a.mobile.activeBtnClass) }, 300) }, a.mobile.document.on("pagebeforechange", function (b, c) { "popup" === c.options.role && (a.mobile.popup.handleLink(c.options.link), b.preventDefault()) })
}(a), function (a, b) { var d = ".ui-disabled,.ui-state-disabled,.ui-li-divider,.ui-screen-hidden,:jqmData(role='placeholder')", e = function (a, b, c) { var e = a[c + "All"]().not(d).first(); e.length && (b.blur().attr("tabindex", "-1"), e.find("a").first().focus()) }; a.widget("mobile.selectmenu", a.mobile.selectmenu, { _create: function () { var a = this.options; return a.nativeMenu = a.nativeMenu || this.element.parents(":jqmData(role='popup'),:mobile-popup").length > 0, this._super() }, _handleSelectFocus: function () { this.element.blur(), this.button.focus() }, _handleKeydown: function (a) { this._super(a), this._handleButtonVclickKeydown(a) }, _handleButtonVclickKeydown: function (b) { this.options.disabled || this.isOpen || this.options.nativeMenu || ("vclick" === b.type || b.keyCode && (b.keyCode === a.mobile.keyCode.ENTER || b.keyCode === a.mobile.keyCode.SPACE)) && (this._decideFormat(), "overlay" === this.menuType ? this.button.attr("href", "#" + this.popupId).attr("data-" + (a.mobile.ns || "") + "rel", "popup") : this.button.attr("href", "#" + this.dialogId).attr("data-" + (a.mobile.ns || "") + "rel", "dialog"), this.isOpen = !0) }, _handleListFocus: function (b) { var c = "focusin" === b.type ? { tabindex: "0", event: "vmouseover" } : { tabindex: "-1", event: "vmouseout" }; a(b.target).attr("tabindex", c.tabindex).trigger(c.event) }, _handleListKeydown: function (b) { var c = a(b.target), d = c.closest("li"); switch (b.keyCode) { case 38: return e(d, c, "prev"), !1; case 40: return e(d, c, "next"), !1; case 13: case 32: return c.trigger("click"), !1 } }, _handleMenuPageHide: function () { this._delayedTrigger(), this.thisPage.page("bindRemove") }, _handleHeaderCloseClick: function () { return "overlay" === this.menuType ? (this.close(), !1) : void 0 }, _handleListItemClick: function (b) { var c = a(b.target).closest("li"), d = this.select[0].selectedIndex, e = a.mobile.getAttribute(c, "option-index"), f = this._selectOptions().eq(e)[0]; f.selected = this.isMultiple ? !f.selected : !0, this.isMultiple && c.find("a").toggleClass("ui-checkbox-on", f.selected).toggleClass("ui-checkbox-off", !f.selected), this.isMultiple || d === e || (this._triggerChange = !0), this.isMultiple ? (this.select.trigger("change"), this.list.find("li:not(.ui-li-divider)").eq(e).find("a").first().focus()) : this.close(), b.preventDefault() }, build: function () { var c, d, e, f, g, h, i, j, k, l, m, n, o, p, q, r, s, t, u, v = this.options; return v.nativeMenu ? this._super() : (c = this.selectId, d = c + "-listbox", e = c + "-dialog", f = this.label, g = this.element.closest(".ui-page"), h = this.element[0].multiple, i = c + "-menu", j = v.theme ? " data-" + a.mobile.ns + "theme='" + v.theme + "'" : "", k = v.overlayTheme || v.theme || null, l = k ? " data-" + a.mobile.ns + "overlay-theme='" + k + "'" : "", m = v.dividerTheme && h ? " data-" + a.mobile.ns + "divider-theme='" + v.dividerTheme + "'" : "", n = a("<div data-" + a.mobile.ns + "role='dialog' class='ui-selectmenu' id='" + e + "'" + j + l + "><div data-" + a.mobile.ns + "role='header'><div class='ui-title'></div></div><div data-" + a.mobile.ns + "role='content'></div></div>"), o = a("<div" + j + l + " id='" + d + "' class='ui-selectmenu'></div>").insertAfter(this.select).popup(), p = a("<ul class='ui-selectmenu-list' id='" + i + "' role='listbox' aria-labelledby='" + this.buttonId + "'" + j + m + "></ul>").appendTo(o), q = a("<div class='ui-header ui-bar-" + (v.theme ? v.theme : "inherit") + "'></div>").prependTo(o), r = a("<h1 class='ui-title'></h1>").appendTo(q), this.isMultiple && (u = a("<a>", { role: "button", text: v.closeText, href: "#", "class": "ui-btn ui-corner-all ui-btn-left ui-btn-icon-notext ui-icon-delete" }).appendTo(q)), a.extend(this, { selectId: c, menuId: i, popupId: d, dialogId: e, thisPage: g, menuPage: n, label: f, isMultiple: h, theme: v.theme, listbox: o, list: p, header: q, headerTitle: r, headerClose: u, menuPageContent: s, menuPageClose: t, placeholder: "" }), this.refresh(), this._origTabIndex === b && (this._origTabIndex = null === this.s
a.widget("mobile.toolbar", a.mobile.toolbar, {
options: { position: null, visibleOnPageShow: !0, disablePageZoom: !0, transition: "slide", fullscreen: !1, tapToggle: !0, tapToggleBlacklist: "a, button, input, select, textarea, .ui-header-fixed, .ui-footer-fixed, .ui-flipswitch, .ui-popup, .ui-panel, .ui-panel-dismiss-open", hideDuringFocus: "input, textarea, select", updatePagePadding: !0, trackPersistentToolbars: !0, supportBlacklist: function () { return !a.support.fixedPosition } }, _create: function () { this._super(), this.pagecontainer = a(":mobile-pagecontainer"), "fixed" !== this.options.position || this.options.supportBlacklist() || this._makeFixed() }, _makeFixed: function () { this.element.addClass("ui-" + this.role + "-fixed"), this.updatePagePadding(), this._addTransitionClass(), this._bindPageEvents(), this._bindToggleHandlers() }, _setOptions: function (c) { if ("fixed" === c.position && "fixed" !== this.options.position && this._makeFixed(), "fixed" === this.options.position && !this.options.supportBlacklist()) { var d = this.page ? this.page : a(".ui-page-active").length > 0 ? a(".ui-page-active") : a(".ui-page").eq(0); c.fullscreen !== b && (c.fullscreen ? (this.element.addClass("ui-" + this.role + "-fullscreen"), d.addClass("ui-page-" + this.role + "-fullscreen")) : (this.element.removeClass("ui-" + this.role + "-fullscreen"), d.removeClass("ui-page-" + this.role + "-fullscreen").addClass("ui-page-" + this.role + "-fixed"))) } this._super(c) }, _addTransitionClass: function () { var a = this.options.transition; a && "none" !== a && ("slide" === a && (a = this.element.hasClass("ui-header") ? "slidedown" : "slideup"), this.element.addClass(a)) }, _bindPageEvents: function () { var a = this.page ? this.element.closest(".ui-page") : this.document; this._on(a, { pagebeforeshow: "_handlePageBeforeShow", webkitAnimationStart: "_handleAnimationStart", animationstart: "_handleAnimationStart", updatelayout: "_handleAnimationStart", pageshow: "_handlePageShow", pagebeforehide: "_handlePageBeforeHide" }) }, _handlePageBeforeShow: function () { var b = this.options; b.disablePageZoom && a.mobile.zoom.disable(!0), b.visibleOnPageShow || this.hide(!0) }, _handleAnimationStart: function () { this.options.updatePagePadding && this.updatePagePadding(this.page ? this.page : ".ui-page-active") }, _handlePageShow: function () { this.updatePagePadding(this.page ? this.page : ".ui-page-active"), this.options.updatePagePadding && this._on(this.window, { throttledresize: "updatePagePadding" }) }, _handlePageBeforeHide: function (b, c) { var d, e, f, g, h = this.options; h.disablePageZoom && a.mobile.zoom.enable(!0), h.updatePagePadding && this._off(this.window, "throttledresize"), h.trackPersistentToolbars && (d = a(".ui-footer-fixed:jqmData(id)", this.page), e = a(".ui-header-fixed:jqmData(id)", this.page), f = d.length && c.nextPage && a(".ui-footer-fixed:jqmData(id='" + d.jqmData("id") + "')", c.nextPage) || a(), g = e.length && c.nextPage && a(".ui-header-fixed:jqmData(id='" + e.jqmData("id") + "')", c.nextPage) || a(), (f.length || g.length) && (f.add(g).appendTo(a.mobile.pageContainer), c.nextPage.one("pageshow", function () { g.prependTo(this), f.appendTo(this) }))) }, _visible: !0, updatePagePadding: function (c) { var d = this.element, e = "header" === this.role, f = parseFloat(d.css(e ? "top" : "bottom")); this.options.fullscreen || (c = c && c.type === b && c || this.page || d.closest(".ui-page"), c = this.page ? this.page : ".ui-page-active", a(c).css("padding-" + (e ? "top" : "bottom"), d.outerHeight() + f)) }, _useTransition: function (b) { var c = this.window, d = this.element, e = c.scrollTop(), f = d.height(), g = this.page ? d.closest(".ui-page").height() : a(".ui-page-active").height(), h = a.mobile.getScreenHeight(); return !b && (this.options.transition && "none" !== this.options.transition && ("header" === this.role && !this.options.fullscreen && e > f || "footer" === this.role && !this.options.fullscreen && g - f > e + h) || this.options.fullscreen) }, show: function (a) { var b = "ui-fixed-hidden", c = this.element; this._useTransition(
var b, c, d, e, f, g = this.pagecontainer.pagecontainer("getActivePage"); this._super(), "fixed" === this.options.position && (d = a("body>.ui-" + this.role + "-fixed").add(g.find(".ui-" + this.options.role + "-fixed")).not(this.element).length > 0, f = a("body>.ui-" + this.role + "-fixed").add(g.find(".ui-" + this.options.role + "-fullscreen")).not(this.element).length > 0, c = "ui-header-fixed ui-footer-fixed ui-header-fullscreen in out ui-footer-fullscreen fade slidedown slideup ui-fixed-hidden", this.element.removeClass(c), f || (b = "ui-page-" + this.role + "-fullscreen"), d || (e = "header" === this.role, b += " ui-page-" + this.role + "-fixed", g.css("padding-" + (e ? "top" : "bottom"), "")), g.removeClass(b))
}
})
}(a), function (a) { a.widget("mobile.toolbar", a.mobile.toolbar, { _makeFixed: function () { this._super(), this._workarounds() }, _workarounds: function () { var a = navigator.userAgent, b = navigator.platform, c = a.match(/AppleWebKit\/([0-9]+)/), d = !!c && c[1], e = null, f = this; if (b.indexOf("iPhone") > -1 || b.indexOf("iPad") > -1 || b.indexOf("iPod") > -1) e = "ios"; else { if (!(a.indexOf("Android") > -1)) return; e = "android" } if ("ios" === e) f._bindScrollWorkaround(); else { if (!("android" === e && d && 534 > d)) return; f._bindScrollWorkaround(), f._bindListThumbWorkaround() } }, _viewportOffset: function () { var a = this.element, b = a.hasClass("ui-header"), c = Math.abs(a.offset().top - this.window.scrollTop()); return b || (c = Math.round(c - this.window.height() + a.outerHeight()) - 60), c }, _bindScrollWorkaround: function () { var a = this; this._on(this.window, { scrollstop: function () { var b = a._viewportOffset(); b > 2 && a._visible && a._triggerRedraw() } }) }, _bindListThumbWorkaround: function () { this.element.closest(".ui-page").addClass("ui-android-2x-fixed") }, _triggerRedraw: function () { var b = parseFloat(a(".ui-page-active").css("padding-bottom")); a(".ui-page-active").css("padding-bottom", b + 1 + "px"), setTimeout(function () { a(".ui-page-active").css("padding-bottom", b + "px") }, 0) }, destroy: function () { this._super(), this.element.closest(".ui-page-active").removeClass("ui-android-2x-fix") } }) }(a), function (a, b) { function c() { var a = e.clone(), b = a.eq(0), c = a.eq(1), d = c.children(); return { arEls: c.add(b), gd: b, ct: c, ar: d } } var d = a.mobile.browser.oldIE && a.mobile.browser.oldIE <= 8, e = a("<div class='ui-popup-arrow-guide'></div><div class='ui-popup-arrow-container" + (d ? " ie" : "") + "'><div class='ui-popup-arrow'></div></div>"); a.widget("mobile.popup", a.mobile.popup, { options: { arrow: "" }, _create: function () { var a, b = this._super(); return this.options.arrow && (this._ui.arrow = a = this._addArrow()), b }, _addArrow: function () { var a, b = this.options, d = c(); return a = this._themeClassFromOption("ui-body-", b.theme), d.ar.addClass(a + (b.shadow ? " ui-overlay-shadow" : "")), d.arEls.hide().appendTo(this.element), d }, _unenhance: function () { var a = this._ui.arrow; return a && a.arEls.remove(), this._super() }, _tryAnArrow: function (a, b, c, d, e) { var f, g, h, i = {}, j = {}; return d.arFull[a.dimKey] > d.guideDims[a.dimKey] ? e : (i[a.fst] = c[a.fst] + (d.arHalf[a.oDimKey] + d.menuHalf[a.oDimKey]) * a.offsetFactor - d.contentBox[a.fst] + (d.clampInfo.menuSize[a.oDimKey] - d.contentBox[a.oDimKey]) * a.arrowOffsetFactor, i[a.snd] = c[a.snd], f = d.result || this._calculateFinalLocation(i, d.clampInfo), g = { x: f.left, y: f.top }, j[a.fst] = g[a.fst] + d.contentBox[a.fst] + a.tipOffset, j[a.snd] = Math.max(f[a.prop] + d.guideOffset[a.prop] + d.arHalf[a.dimKey], Math.min(f[a.prop] + d.guideOffset[a.prop] + d.guideDims[a.dimKey] - d.arHalf[a.dimKey], c[a.snd])), h = Math.abs(c.x - j.x) + Math.abs(c.y - j.y), (!e || h < e.diff) && (j[a.snd] -= d.arHalf[a.dimKey] + f[a.prop] + d.contentBox[a.snd], e = { dir: b, diff: h, result: f, posProp: a.prop, posVal: j[a.snd] }), e) }, _getPlacementState: function (a) { var b, c, d = this._ui.arrow, e = { clampInfo: this._clampPopupWidth(!a), arFull: { cx: d.ct.width(), cy: d.ct.height() }, guideDims: { cx: d.gd.width(), cy: d.gd.height() }, guideOffset: d.gd.offset() }; return b = this.element.offset(), d.gd.css({ left: 0, top: 0, right: 0, bottom: 0 }), c = d.gd.offset(), e.contentBox = { x: c.left - b.left, y: c.top - b.top, cx: d.gd.width(), cy: d.gd.height() }, d.gd.removeAttr("style"), e.guideOffset = { left: e.guideOffset.left - b.left, top: e.guideOffset.top - b.top }, e.arHalf = { cx: e.arFull.cx / 2, cy: e.arFull.cy / 2 }, e.menuHalf = { cx: e.clampInfo.menuSize.cx / 2, cy: e.clampInfo.menuSize.cy / 2 }, e }, _placementCoords: function (b) { var c, e, f, g, h, i = this.options.arrow, j = this._ui.arrow; return j ? (j.arEls.show(), h = {}, c = this._getPlacementState(!0), f
function c() { return ++e } function d(a) { return a.hash.length > 1 && decodeURIComponent(a.href.replace(f, "")) === decodeURIComponent(location.href.replace(f, "")) } var e = 0, f = /#.*$/; a.widget("ui.tabs", {
version: "fadf2b312a05040436451c64bbfaf4814bc62c56", delay: 300, options: { active: null, collapsible: !1, event: "click", heightStyle: "content", hide: null, show: null, activate: null, beforeActivate: null, beforeLoad: null, load: null }, _create: function () { var b = this, c = this.options; this.running = !1, this.element.addClass("ui-tabs ui-widget ui-widget-content ui-corner-all").toggleClass("ui-tabs-collapsible", c.collapsible).delegate(".ui-tabs-nav > li", "mousedown" + this.eventNamespace, function (b) { a(this).is(".ui-state-disabled") && b.preventDefault() }).delegate(".ui-tabs-anchor", "focus" + this.eventNamespace, function () { a(this).closest("li").is(".ui-state-disabled") && this.blur() }), this._processTabs(), c.active = this._initialActive(), a.isArray(c.disabled) && (c.disabled = a.unique(c.disabled.concat(a.map(this.tabs.filter(".ui-state-disabled"), function (a) { return b.tabs.index(a) }))).sort()), this.active = this.options.active !== !1 && this.anchors.length ? this._findActive(c.active) : a(), this._refresh(), this.active.length && this.load(c.active) }, _initialActive: function () { var b = this.options.active, c = this.options.collapsible, d = location.hash.substring(1); return null === b && (d && this.tabs.each(function (c, e) { return a(e).attr("aria-controls") === d ? (b = c, !1) : void 0 }), null === b && (b = this.tabs.index(this.tabs.filter(".ui-tabs-active"))), (null === b || -1 === b) && (b = this.tabs.length ? 0 : !1)), b !== !1 && (b = this.tabs.index(this.tabs.eq(b)), -1 === b && (b = c ? !1 : 0)), !c && b === !1 && this.anchors.length && (b = 0), b }, _getCreateEventData: function () { return { tab: this.active, panel: this.active.length ? this._getPanelForTab(this.active) : a() } }, _tabKeydown: function (b) { var c = a(this.document[0].activeElement).closest("li"), d = this.tabs.index(c), e = !0; if (!this._handlePageNav(b)) { switch (b.keyCode) { case a.ui.keyCode.RIGHT: case a.ui.keyCode.DOWN: d++; break; case a.ui.keyCode.UP: case a.ui.keyCode.LEFT: e = !1, d--; break; case a.ui.keyCode.END: d = this.anchors.length - 1; break; case a.ui.keyCode.HOME: d = 0; break; case a.ui.keyCode.SPACE: return b.preventDefault(), clearTimeout(this.activating), void this._activate(d); case a.ui.keyCode.ENTER: return b.preventDefault(), clearTimeout(this.activating), void this._activate(d === this.options.active ? !1 : d); default: return }b.preventDefault(), clearTimeout(this.activating), d = this._focusNextTab(d, e), b.ctrlKey || (c.attr("aria-selected", "false"), this.tabs.eq(d).attr("aria-selected", "true"), this.activating = this._delay(function () { this.option("active", d) }, this.delay)) } }, _panelKeydown: function (b) { this._handlePageNav(b) || b.ctrlKey && b.keyCode === a.ui.keyCode.UP && (b.preventDefault(), this.active.focus()) }, _handlePageNav: function (b) { return b.altKey && b.keyCode === a.ui.keyCode.PAGE_UP ? (this._activate(this._focusNextTab(this.options.active - 1, !1)), !0) : b.altKey && b.keyCode === a.ui.keyCode.PAGE_DOWN ? (this._activate(this._focusNextTab(this.options.active + 1, !0)), !0) : void 0 }, _findNextTab: function (b, c) { function d() { return b > e && (b = 0), 0 > b && (b = e), b } for (var e = this.tabs.length - 1; -1 !== a.inArray(d(), this.options.disabled);)b = c ? b + 1 : b - 1; return b }, _focusNextTab: function (a, b) { return a = this._findNextTab(a, b), this.tabs.eq(a).focus(), a }, _setOption: function (a, b) { return "active" === a ? void this._activate(b) : "disabled" === a ? void this._setupDisabled(b) : (this._super(a, b), "collapsible" === a && (this.element.toggleClass("ui-tabs-collapsible", b), b || this.options.active !== !1 || this._activate(0)), "event" === a && this._setupEvents(b), void ("heightStyle" === a && this._setupHeightStyle(b))) }, _tabId: function (a) { return a.attr("aria-controls") || "ui-tabs-" + c() }, _sanitizeSelector: function (a) { return a ? a.replace(/[!"$%&'()*+,.\/:;<=>?@\[\]\^`{|}~]/g, "\\$&") : "" }, refresh: function () { var b = this.options, c = this.tablist.children(":has(a[href])"); b.di
var c, d = this.element.parent(); "fill" === b ? (c = d.height(), c -= this.element.outerHeight() - this.element.height(), this.element.siblings(":visible").each(function () { var b = a(this), d = b.css("position"); "absolute" !== d && "fixed" !== d && (c -= b.outerHeight(!0)) }), this.element.children().not(this.panels).each(function () {
c -= a(this).outerHeight(!0)
}), this.panels.each(function () { a(this).height(Math.max(0, c - a(this).innerHeight() + a(this).height())) }).css("overflow", "auto")) : "auto" === b && (c = 0, this.panels.each(function () { c = Math.max(c, a(this).height("").height()) }).height(c))
}, _eventHandler: function (b) { var c = this.options, d = this.active, e = a(b.currentTarget), f = e.closest("li"), g = f[0] === d[0], h = g && c.collapsible, i = h ? a() : this._getPanelForTab(f), j = d.length ? this._getPanelForTab(d) : a(), k = { oldTab: d, oldPanel: j, newTab: h ? a() : f, newPanel: i }; b.preventDefault(), f.hasClass("ui-state-disabled") || f.hasClass("ui-tabs-loading") || this.running || g && !c.collapsible || this._trigger("beforeActivate", b, k) === !1 || (c.active = h ? !1 : this.tabs.index(f), this.active = g ? a() : f, this.xhr && this.xhr.abort(), j.length || i.length || a.error("jQuery UI Tabs: Mismatching fragment identifier."), i.length && this.load(this.tabs.index(f), b), this._toggle(b, k)) }, _toggle: function (b, c) { function d() { f.running = !1, f._trigger("activate", b, c) } function e() { c.newTab.closest("li").addClass("ui-tabs-active ui-state-active"), g.length && f.options.show ? f._show(g, f.options.show, d) : (g.show(), d()) } var f = this, g = c.newPanel, h = c.oldPanel; this.running = !0, h.length && this.options.hide ? this._hide(h, this.options.hide, function () { c.oldTab.closest("li").removeClass("ui-tabs-active ui-state-active"), e() }) : (c.oldTab.closest("li").removeClass("ui-tabs-active ui-state-active"), h.hide(), e()), h.attr({ "aria-expanded": "false", "aria-hidden": "true" }), c.oldTab.attr("aria-selected", "false"), g.length && h.length ? c.oldTab.attr("tabIndex", -1) : g.length && this.tabs.filter(function () { return 0 === a(this).attr("tabIndex") }).attr("tabIndex", -1), g.attr({ "aria-expanded": "true", "aria-hidden": "false" }), c.newTab.attr({ "aria-selected": "true", tabIndex: 0 }) }, _activate: function (b) { var c, d = this._findActive(b); d[0] !== this.active[0] && (d.length || (d = this.active), c = d.find(".ui-tabs-anchor")[0], this._eventHandler({ target: c, currentTarget: c, preventDefault: a.noop })) }, _findActive: function (b) { return b === !1 ? a() : this.tabs.eq(b) }, _getIndex: function (a) { return "string" == typeof a && (a = this.anchors.index(this.anchors.filter("[href$='" + a + "']"))), a }, _destroy: function () { this.xhr && this.xhr.abort(), this.element.removeClass("ui-tabs ui-widget ui-widget-content ui-corner-all ui-tabs-collapsible"), this.tablist.removeClass("ui-tabs-nav ui-helper-reset ui-helper-clearfix ui-widget-header ui-corner-all").removeAttr("role"), this.anchors.removeClass("ui-tabs-anchor").removeAttr("role").removeAttr("tabIndex").removeUniqueId(), this.tabs.add(this.panels).each(function () { a.data(this, "ui-tabs-destroy") ? a(this).remove() : a(this).removeClass("ui-state-default ui-state-active ui-state-disabled ui-corner-top ui-corner-bottom ui-widget-content ui-tabs-active ui-tabs-panel").removeAttr("tabIndex").removeAttr("aria-live").removeAttr("aria-busy").removeAttr("aria-selected").removeAttr("aria-labelledby").removeAttr("aria-hidden").removeAttr("aria-expanded").removeAttr("role") }), this.tabs.each(function () { var b = a(this), c = b.data("ui-tabs-aria-controls"); c ? b.attr("aria-controls", c).removeData("ui-tabs-aria-controls") : b.removeAttr("aria-controls") }), this.panels.show(), "content" !== this.options.heightStyle && this.panels.css("height", "") }, enable: function (c) { var d = this.options.disabled; d !== !1 && (c === b ? d = !1 : (c = this._getIndex(c), d = a.isArray(d) ? a.map(d, function (a) { return a !== c ? a : null }) : a.map(this.tabs, function (a, b) { return b !== c ? b : null })), this._setupDisabled(d)) }, disable: function (c) { var d = this.options.disabled; if (d !== !0) { if (c === b) d = !0; else { if (c = this._getIndex(c), -1 !== a.inArray(c, d)) return; d = a.isArray(d) ? a.merge([c], d).sort() : [c] } this._setupDisabled(d) } }, load: function (b, c) { b = this._getIndex(b); var e = this, f = this.tabs.eq(b), g = f.find(".ui-tabs-anchor"), h = this._getPanelForTab(f), i = { tab: f, panel: h }; d(g[0]) || (this.xhr = a.ajax(this._ajaxSettings(g, c, i)), this.xhr && "canceled" !== this.xhr.statusText && (f.addClass("ui-tabs-loading"), h.attr("aria-busy", "true
})
}(a), function () { }(a), function (a, b) { function c(a) { e = a.originalEvent, i = e.accelerationIncludingGravity, f = Math.abs(i.x), g = Math.abs(i.y), h = Math.abs(i.z), !b.orientation && (f > 7 || (h > 6 && 8 > g || 8 > h && g > 6) && f > 5) ? d.enabled && d.disable() : d.enabled || d.enable() } a.mobile.iosorientationfixEnabled = !0; var d, e, f, g, h, i, j = navigator.userAgent; return /iPhone|iPad|iPod/.test(navigator.platform) && /OS [1-5]_[0-9_]* like Mac OS X/i.test(j) && j.indexOf("AppleWebKit") > -1 ? (d = a.mobile.zoom, void a.mobile.document.on("mobileinit", function () { a.mobile.iosorientationfixEnabled && a.mobile.window.bind("orientationchange.iosorientationfix", d.enable).bind("devicemotion.iosorientationfix", c) })) : void (a.mobile.iosorientationfixEnabled = !1) }(a, this), function (a, b, d) { function e() { f.removeClass("ui-mobile-rendering") } var f = a("html"), g = a.mobile.window; a(b.document).trigger("mobileinit"), a.mobile.gradeA() && (a.mobile.ajaxBlacklist && (a.mobile.ajaxEnabled = !1), f.addClass("ui-mobile ui-mobile-rendering"), setTimeout(e, 5e3), a.extend(a.mobile, { initializePage: function () { var b = a.mobile.path, f = a(":jqmData(role='page'), :jqmData(role='dialog')"), h = b.stripHash(b.stripQueryParams(b.parseLocation().hash)), i = a.mobile.path.parseLocation(), j = h ? c.getElementById(h) : d; f.length || (f = a("body").wrapInner("<div data-" + a.mobile.ns + "role='page'></div>").children(0)), f.each(function () { var c = a(this); c[0].getAttribute("data-" + a.mobile.ns + "url") || c.attr("data-" + a.mobile.ns + "url", c.attr("id") || b.convertUrlToDataUrl(i.pathname + i.search)) }), a.mobile.firstPage = f.first(), a.mobile.pageContainer = a.mobile.firstPage.parent().addClass("ui-mobile-viewport").pagecontainer(), a.mobile.navreadyDeferred.resolve(), g.trigger("pagecontainercreate"), a.mobile.loading("show"), e(), a.mobile.hashListeningEnabled && a.mobile.path.isHashValid(location.hash) && (a(j).is(":jqmData(role='page')") || a.mobile.path.isPath(h) || h === a.mobile.dialogHashKey) ? a.event.special.navigate.isPushStateEnabled() ? (a.mobile.navigate.history.stack = [], a.mobile.navigate(a.mobile.path.isPath(location.hash) ? location.hash : location.href)) : g.trigger("hashchange", [!0]) : (a.event.special.navigate.isPushStateEnabled() && a.mobile.navigate.navigator.squash(b.parseLocation().href), a.mobile.changePage(a.mobile.firstPage, { transition: "none", reverse: !0, changeHash: !1, fromHashChange: !0 })) } }), a(function () { a.support.inlineSVG(), a.mobile.hideUrlBar && b.scrollTo(0, 1), a.mobile.defaultHomeScroll = a.support.scrollTop && 1 !== a.mobile.window.scrollTop() ? 1 : 0, a.mobile.autoInitializePage && a.mobile.initializePage(), a.mobile.hideUrlBar && g.load(a.mobile.silentScroll), a.support.cssPointerEvents || a.mobile.document.delegate(".ui-state-disabled,.ui-disabled", "vclick", function (a) { a.preventDefault(), a.stopImmediatePropagation() }) })) }(a, this)
});
//# sourceMappingURL=jquery.mobile-1.4.5.min.map