/*! jQuery Mobile v1.2.0 jquerymobile.com | jquery.org/license */ (function (e, d, f) { typeof define == "function" && define.amd ? define(["jquery"], function (a) { return f(a, e, d), a.mobile }) : f(e.jQuery, e, d) })(this, document, function (f, e, h, g) { (function (i, c) { var j = {touch: "ontouchend" in h}; i.mobile = i.mobile || {}, i.mobile.support = i.mobile.support || {}, i.extend(i.support, j), i.extend(i.mobile.support, j) })(f), function (aI, aH, aG, aF) { function ak(b) { while (b && typeof b.originalEvent != "undefined") { b = b.originalEvent } return b } function aj(y, x) { var w = y.type, v, u, t, s, r, q, j, d, a; y = aI.Event(y), y.type = x, v = y.originalEvent, u = aI.event.props, w.search(/^(mouse|click)/) > -1 && (u = az); if (v) { for (j = u.length, s; j;) { s = u[--j], y[s] = v[s] } } w.search(/mouse(down|up)|click/) > -1 && !y.which && (y.which = 1); if (w.search(/^touch/) !== -1) { t = ak(v), w = t.touches, r = t.changedTouches, q = w && w.length ? w[0] : r && r.length ? r[0] : aF; if (q) { for (d = 0, a = aB.length; d < a; d++) { s = aB[d], y[s] = q[s] } } } return y } function ai(a) { var k = {}, j, i; while (a) { j = aI.data(a, aE); for (i in j) { j[i] && (k[i] = k.hasVirtualBinding = !0) } a = a.parentNode } return k } function ah(a, j) { var i; while (a) { i = aI.data(a, aE); if (i && (!j || i[j])) { return a } a = a.parentNode } return null } function ag() { aq = !1 } function af() { aq = !0 } function ae() { am = 0, at.length = 0, ar = !1, af() } function ad() { ag() } function ac() { ab(), ax = setTimeout(function () { ax = 0, ae() }, aI.vmouse.resetTimerDuration) } function ab() { ax && (clearTimeout(ax), ax = 0) } function aa(a, k, j) { var i; if (j && j[a] || !j && ah(k.target, a)) { i = aj(k, a), aI(k.target).trigger(i) } return i } function Z(a) { var j = aI.data(a.target, aD); if (!ar && (!am || am !== j)) { var i = aa("v" + a.type, a); i && (i.isDefaultPrevented() && a.preventDefault(), i.isPropagationStopped() && a.stopPropagation(), i.isImmediatePropagationStopped() && a.stopImmediatePropagation()) } } function Y(a) { var l = ak(a).touches, k, j; if (l && l.length === 1) { k = a.target, j = ai(k); if (j.hasVirtualBinding) { am = an++, aI.data(k, aD, am), ab(), ad(), au = !1; var i = ak(a).touches[0]; aw = i.pageX, av = i.pageY, aa("vmouseover", a, j), aa("vmousedown", a, j) } } } function X(b) { if (aq) { return } au || aa("vmousecancel", b, ai(b.target)), au = !0, ac() } function W(a) { if (aq) { return } var l = ak(a).touches[0], k = au, j = aI.vmouse.moveDistanceThreshold, i = ai(a.target); au = au || Math.abs(l.pageX - aw) > j || Math.abs(l.pageY - av) > j, au && !k && aa("vmousecancel", a, i), aa("vmousemove", a, i), ac() } function V(j) { if (aq) { return } af(); var i = ai(j.target), l; aa("vmouseup", j, i); if (!au) { var k = aa("vclick", j, i); k && k.isDefaultPrevented() && (l = ak(j).changedTouches[0], at.push({touchID: am, x: l.clientX, y: l.clientY}), ar = !0) } aa("vmouseout", j, i), au = !1, ac() } function U(a) { var j = aI.data(a, aE), i; if (j) { for (i in j) { if (j[i]) { return !0 } } } return !1 } function T() { } function S(a) { var d = a.substr(1); return{setup: function (i, c) { U(this) || aI.data(this, aE, {}); var b = aI.data(this, aE); b[a] = !0, ay[a] = (ay[a] || 0) + 1, ay[a] === 1 && ao.bind(d, Z), aI(this).bind(d, T), ap && (ay.touchstart = (ay.touchstart || 0) + 1, ay.touchstart === 1 && ao.bind("touchstart", Y).bind("touchend", V).bind("touchmove", W).bind("scroll", X)) }, teardown: function (j, i) { --ay[a], ay[a] || ao.unbind(d, Z), ap && (--ay.touchstart, ay.touchstart || ao.unbind("touchstart", Y).unbind("touchmove", W).unbind("touchend", V).unbind("scroll", X)); var c = aI(this), b = aI.data(this, aE); b && (b[a] = !1), c.unbind(d, T), U(this) || c.removeData(aE) }} } var aE = "virtualMouseBindings", aD = "virtualTouchID", aC = "vmouseover vmousedown vmousemove vmouseup vclick vmouseout vmousecancel".split(" "), aB = "clientX clientY pageX pageY screenX screenY".split(" "), aA = aI.event.mouseHooks ? aI.event.mouseHooks.props : [], az = aI.event.props.concat(aA), ay = {}, ax = 0, aw = 0, av = 0, au = !1, at = [], ar = !1, aq = !1, ap = "addEventListener" in aG, ao = aI(aG), an = 1, am = 0, al; aI.vmouse = {moveDistanceThreshold: 10, clickDistanceThreshold: 10, resetTimerDuration: 1500}; for (var R = 0; R < aC.length; R++) { aI.event.special[aC[R]] = S(aC[R]) } ap && aG.addEventListener("click", function (s) { var r = at.length, q = s.target, p, o, n, m, l, a; if (r) { p = s.clientX, o = s.clientY, al = aI.vmouse.clickDistanceThreshold, n = q; while (n) { for (m = 0; m < r; m++) { l = at[m], a = 0; if (n === q && Math.abs(l.x - p) < al && Math.abs(l.y - o) < al || aI.data(n, aD) === l.touchID) { s.preventDefault(), s.stopPropagation(); return } } n = n.parentNode } } }, !0) }(f, e, h), function (r, q, p) { function c(a, s, j) { var i = j.type; j.type = s, r.event.handle.call(a, j), j.type = i } r.each("touchstart touchmove touchend tap taphold swipe swipeleft swiperight scrollstart scrollstop".split(" "), function (a, d) { r.fn[d] = function (b) { return b ? this.bind(d, b) : this.trigger(d) }, r.attrFn && (r.attrFn[d] = !0) }); var o = r.mobile.support.touch, n = "touchmove scroll", m = o ? "touchstart" : "mousedown", l = o ? "touchend" : "mouseup", k = o ? "touchmove" : "mousemove"; r.event.special.scrollstart = {enabled: !0, setup: function () { function i(b, d) { s = d, c(a, s ? "scrollstart" : "scrollstop", b) } var a = this, t = r(a), s, j; t.bind(n, function (d) { if (!r.event.special.scrollstart.enabled) { return } s || i(d, !0), clearTimeout(j), j = setTimeout(function () { i(d, !1) }, 50) }) }}, r.event.special.tap = {tapholdThreshold: 750, setup: function () { var a = this, i = r(a); i.bind("vmousedown", function (v) { function j() { clearTimeout(s) } function d() { j(), i.unbind("vclick", b).unbind("vmouseup", j), r(h).unbind("vmousecancel", d) } function b(w) { d(), u === w.target && c(a, "tap", w) } if (v.which && v.which !== 1) { return !1 } var u = v.target, t = v.originalEvent, s; i.bind("vmouseup", j).bind("vclick", b), r(h).bind("vmousecancel", d), s = setTimeout(function () { c(a, "taphold", r.Event("taphold", {target: u})) }, r.event.special.tap.tapholdThreshold) }) }}, r.event.special.swipe = {scrollSupressionThreshold: 30, durationThreshold: 1000, horizontalDistanceThreshold: 30, verticalDistanceThreshold: 75, setup: function () { var a = this, d = r(a); d.bind(m, function (i) { function s(j) { if (!u) { return } var w = j.originalEvent.touches ? j.originalEvent.touches[0] : j; t = {time: (new Date).getTime(), coords: [w.pageX, w.pageY]}, Math.abs(u.coords[0] - t.coords[0]) > r.event.special.swipe.scrollSupressionThreshold && j.preventDefault() } var v = i.originalEvent.touches ? i.originalEvent.touches[0] : i, u = {time: (new Date).getTime(), coords: [v.pageX, v.pageY], origin: r(i.target)}, t; d.bind(k, s).one(l, function (j) { d.unbind(k, s), u && t && t.time - u.time < r.event.special.swipe.durationThreshold && Math.abs(u.coords[0] - t.coords[0]) > r.event.special.swipe.horizontalDistanceThreshold && Math.abs(u.coords[1] - t.coords[1]) < r.event.special.swipe.verticalDistanceThreshold && u.origin.trigger("swipe").trigger(u.coords[0] > t.coords[0] ? "swipeleft" : "swiperight"), u = t = p }) }) }}, r.each({scrollstop: "scrollstart", taphold: "tap", swipeleft: "swipe", swiperight: "swipe"}, function (a, d) { r.event.special[a] = {setup: function () { r(this).bind(d, r.noop) }} }) }(f, this) });