(function(aO, I) { function a0() { if (!ah.isReady) { try { M.documentElement.doScroll("left") } catch (c) { setTimeout(a0, 1); return } ah.ready() } } function E(s, c) { c.src ? ah.ajax({ url: c.src, async: false, dataType: "script" }) : ah.globalEval(c.text || c.textContent || c.innerHTML || ""); c.parentNode && c.parentNode.removeChild(c) } function ap(s, c, K, F, G, w) { var A = s.length; if (typeof c === "object") { for (var J in c) { ap(s, J, c[J], F, G, K) } return s } if (K !== I) { F = !w && F && ah.isFunction(K); for (J = 0; J < A; J++) { G(s[J], c, F ? K.call(s[J], J, G(s[J], c)) : K, w) } return s } return A ? G(s[0], c) : I } function aF() { return (new Date).getTime() } function ao() { return false } function am() { return true } function aK(s, c, w) { w[0].type = s; return ah.event.handle.apply(c, w) } function ag(O) { var N, L = [], J = [], K = arguments, F, G, s, A, w, c; G = ah.data(this, "events"); if (!(O.liveFired === this || !G || !G.live || O.button && O.type === "click")) { O.liveFired = this; var P = G.live.slice(0); for (A = 0; A < P.length; A++) { G = P[A]; G.origType.replace(az, "") === O.type ? J.push(G.selector) : P.splice(A--, 1) } F = ah(O.target).closest(J, O.currentTarget); w = 0; for (c = F.length; w < c; w++) { for (A = 0; A < P.length; A++) { G = P[A]; if (F[w].selector === G.selector) { s = F[w].elem; J = null; if (G.preType === "mouseenter" || G.preType === "mouseleave") { J = ah(O.relatedTarget).closest(G.selector)[0] } if (!J || J !== s) { L.push({ elem: s, handleObj: G }) } } } } w = 0; for (c = L.length; w < c; w++) { F = L[w]; O.currentTarget = F.elem; O.data = F.handleObj.data; O.handleObj = F.handleObj; if (F.handleObj.origHandler.apply(F.elem, K) === false) { N = false; break } } return N } } function z(s, c) { return "live." + (s && s !== "*" ? s + "." : "") + c.replace(/\./g, "`").replace(/ /g, "&") } function l(c) { return !c || !c.parentNode || c.parentNode.nodeType === 11 } function bj(s, c) { var w = 0; c.each(function() { if (this.nodeName === (s[w] && s[w].nodeName)) { var G = ah.data(s[w++]), J = ah.data(this, G); if (G = G && G.events) { delete J.handle; J.events = {}; for (var A in G) { for (var F in G[A]) { ah.event.add(this, A, G[A][F], G[A][F].data) } } } } }) } function a3(s, c, G) { var A, F, w; c = c && c[0] ? c[0].ownerDocument || c[0] : M; if (s.length === 1 && typeof s[0] === "string" && s[0].length < 512 && c === M && !aP.test(s[0]) && (ah.support.checkClone || !ak.test(s[0]))) { F = true; if (w = ah.fragments[s[0]]) { if (w !== 1) { A = w } } } if (!A) { A = c.createDocumentFragment(); ah.clean(s, c, A, G) } if (F) { ah.fragments[s[0]] = w ? A : 1 } return { fragment: A, cacheable: F} } function aC(s, c) { var w = {}; ah.each(D.concat.apply([], D.slice(0, c)), function() { w[this] = s }); return w } function o(c) { return "scrollTo" in c && c.document ? c : c.nodeType === 9 ? c.defaultView || c.parentWindow : false } var ah = function(s, c) { return new ah.fn.init(s, c) }, p = aO.jQuery, d = aO.$, M = aO.document, at, a7 = /^[^<]*(<[\w\W]+>)[^>]*$|^#([\w-]+)$/, aT = /^.[^:#\[\.,]*$/, an = /\S/, H = /^(\s|\u00A0)+|(\s|\u00A0)+$/g, q = /^<(\w+)\s*\/?>(?:<\/\1>)?$/, ax = navigator.userAgent, b = false, av = [], aB, a1 = Object.prototype.toString, aV = Object.prototype.hasOwnProperty, ay = Array.prototype.push, au = Array.prototype.slice, a6 = Array.prototype.indexOf; ah.fn = ah.prototype = { init: function(s, c) { var A, w; if (!s) { return this } if (s.nodeType) { this.context = this[0] = s; this.length = 1; return this } if (s === "body" && !c) { this.context = M; this[0] = M.body; this.selector = "body"; this.length = 1; return this } if (typeof s === "string") { if ((A = a7.exec(s)) && (A[1] || !c)) { if (A[1]) { w = c ? c.ownerDocument || c : M; if (s = q.exec(s)) { if (ah.isPlainObject(c)) { s = [M.createElement(s[1])]; ah.fn.attr.call(s, c, true) } else { s = [w.createElement(s[1])] } } else { s = a3([A[1]], [w]); s = (s.cacheable ? s.fragment.cloneNode(true) : s.fragment).childNodes } return ah.merge(this, s) } else { if (c = M.getElementById(A[2])) { if (c.id !== A[2]) { return at.find(s) } this.length = 1; this[0] = c } this.context = M; this.selector = s; return this } } else { if (!c && /^\w+$/.test(s)) { this.selector = s; this.context = M; s = M.getElementsByTagName(s); return ah.merge(this, s) } else { return !c || c.jquery ? (c || at).find(s) : ah(c).find(s) } } } else { if (ah.isFunction(s)) { return at.ready(s) } } if (s.selector !== I) { this.selector = s.selector; this.context = s.context } return ah.makeArray(s, this) }, selector: "", jquery: "1.4.2", length: 0, size: function() { return this.length }, toArray: function() { return au.call(this, 0) }, get: function(c) { return c == null ? this.toArray() : c < 0 ? this.slice(c)[0] : this[c] }, pushStack: function(s, c, A) { var w = ah(); ah.isArray(s) ? ay.apply(w, s) : ah.merge(w, s); w.prevObject = this; w.context = this.context; if (c === "find") { w.selector = this.selector + (this.selector ? " " : "") + A } else { if (c) { w.selector = this.selector + "." + c + "(" + A + ")" } } return w }, each: function(s, c) { return ah.each(this, s, c) }, ready: function(c) { ah.bindReady(); if (ah.isReady) { c.call(M, ah) } else { av && av.push(c) } return this }, eq: function(c) { return c === -1 ? this.slice(c) : this.slice(c, +c + 1) }, first: function() { return this.eq(0) }, last: function() { return this.eq(-1) }, slice: function() { return this.pushStack(au.apply(this, arguments), "slice", au.call(arguments).join(",")) }, map: function(c) { return this.pushStack(ah.map(this, function(s, w) { return c.call(s, w, s) })) }, end: function() { return this.prevObject || ah(null) }, push: ay, sort: [].sort, splice: [].splice }; ah.fn.init.prototype = ah.fn; ah.extend = ah.fn.extend = function() { var s = arguments[0] || {}, c = 1, K = arguments.length, F = false, G, w, A, J; if (typeof s === "boolean") { F = s; s = arguments[1] || {}; c = 2 } if (typeof s !== "object" && !ah.isFunction(s)) { s = {} } if (K === c) { s = this; --c } for (; c < K; c++) { if ((G = arguments[c]) != null) { for (w in G) { A = s[w]; J = G[w]; if (s !== J) { if (F && J && (ah.isPlainObject(J) || ah.isArray(J))) { A = A && (ah.isPlainObject(A) || ah.isArray(A)) ? A : ah.isArray(J) ? [] : {}; s[w] = ah.extend(F, A, J) } else { if (J !== I) { s[w] = J } } } } } } return s }; ah.extend({ noConflict: function(c) { aO.$ = d; if (c) { aO.jQuery = p } return ah }, isReady: false, ready: function() { if (!ah.isReady) { if (!M.body) { return setTimeout(ah.ready, 13) } ah.isReady = true; if (av) { for (var s, c = 0; s = av[c++]; ) { s.call(M, ah) } av = null } ah.fn.triggerHandler && ah(M).triggerHandler("ready") } }, bindReady: function() { if (!b) { b = true; if (M.readyState === "complete") { return ah.ready() } if (M.addEventListener) { M.addEventListener("DOMContentLoaded", aB, false); aO.addEventListener("load", ah.ready, false) } else { if (M.attachEvent) { M.attachEvent("onreadystatechange", aB); aO.attachEvent("onload", ah.ready); var s = false; try { s = aO.frameElement == null } catch (c) { } M.documentElement.doScroll && s && a0() } } } }, isFunction: function(c) { return a1.call(c) === "[object Function]" }, isArray: function(c) { return a1.call(c) === "[object Array]" }, isPlainObject: function(s) { if (!s || a1.call(s) !== "[object Object]" || s.nodeType || s.setInterval) { return false } if (s.constructor && !aV.call(s, "constructor") && !aV.call(s.constructor.prototype, "isPrototypeOf")) { return false } var c; for (c in s) { } return c === I || aV.call(s, c) }, isEmptyObject: function(s) { for (var c in s) { return false } return true }, error: function(c) { throw c }, parseJSON: function(c) { if (typeof c !== "string" || !c) { return null } c = ah.trim(c); if (/^[\],:{}\s]*$/.test(c.replace(/\\(?:["\\\/bfnrt]|u[0-9a-fA-F]{4})/g, "@").replace(/"[^"\\\n\r]*"|true|false|null|-?\d+(?:\.\d*)?(?:[eE][+\-]?\d+)?/g, "]").replace(/(?:^|:|,)(?:\s*\[)+/g, ""))) { return aO.JSON && aO.JSON.parse ? aO.JSON.parse(c) : (new Function("return " + c))() } else { ah.error("Invalid JSON: " + c) } }, noop: function() { }, globalEval: function(s) { if (s && an.test(s)) { var c = M.getElementsByTagName("head")[0] || M.documentElement, w = M.createElement("script"); w.type = "text/javascript"; if (ah.support.scriptEval) { w.appendChild(M.createTextNode(s)) } else { w.text = s } c.insertBefore(w, c.firstChild); c.removeChild(w) } }, nodeName: function(s, c) { return s.nodeName && s.nodeName.toUpperCase() === c.toUpperCase() }, each: function(s, c, J) { var F, G = 0, w = s.length, A = w === I || ah.isFunction(s); if (J) { if (A) { for (F in s) { if (c.apply(s[F], J) === false) { break } } } else { for (; G < w; ) { if (c.apply(s[G++], J) === false) { break } } } } else { if (A) { for (F in s) { if (c.call(s[F], F, s[F]) === false) { break } } } else { for (J = s[0]; G < w && c.call(J, G, J) !== false; J = s[++G]) { } } } return s }, trim: function(c) { return (c || "").replace(H, "") }, makeArray: function(s, c) { c = c || []; if (s != null) { s.length == null || typeof s === "string" || ah.isFunction(s) || typeof s !== "function" && s.setInterval ? ay.call(c, s) : ah.merge(c, s) } return c }, inArray: function(s, c) { if (c.indexOf) { return c.indexOf(s) } for (var A = 0, w = c.length; A < w; A++) { if (c[A] === s) { return A } } return -1 }, merge: function(s, c) { var F = s.length, w = 0; if (typeof c.length === "number") { for (var A = c.length; w < A; w++) { s[F++] = c[w] } } else { for (; c[w] !== I; ) { s[F++] = c[w++] } } s.length = F; return s }, grep: function(s, c, G) { for (var A = [], F = 0, w = s.length; F < w; F++) { !G !== !c(s[F], F) && A.push(s[F]) } return A }, map: function(s, c, J) { for (var F = [], G, w = 0, A = s.length; w < A; w++) { G = c(s[w], w, J); if (G != null) { F[F.length] = G } } return F.concat.apply([], F) }, guid: 1, proxy: function(s, c, w) { if (arguments.length === 2) { if (typeof c === "string") { w = s; s = w[c]; c = I } else { if (c && !ah.isFunction(c)) { w = c; c = I } } } if (!c && s) { c = function() { return s.apply(w || this, arguments) } } if (s) { c.guid = s.guid = s.guid || c.guid || ah.guid++ } return c }, uaMatch: function(c) { c = c.toLowerCase(); c = /(webkit)[ \/]([\w.]+)/.exec(c) || /(opera)(?:.*version)?[ \/]([\w.]+)/.exec(c) || /(msie) ([\w.]+)/.exec(c) || !/compatible/.test(c) && /(mozilla)(?:.*? rv:([\w.]+))?/.exec(c) || []; return { browser: c[1] || "", version: c[2] || "0"} }, browser: {} }); ax = ah.uaMatch(ax); if (ax.browser) { ah.browser[ax.browser] = true; ah.browser.version = ax.version } if (ah.browser.webkit) { ah.browser.safari = true } if (a6) { ah.inArray = function(s, c) { return a6.call(c, s) } } at = ah(M); if (M.addEventListener) { aB = function() { M.removeEventListener("DOMContentLoaded", aB, false); ah.ready() } } else { if (M.attachEvent) { aB = function() { if (M.readyState === "complete") { M.detachEvent("onreadystatechange", aB); ah.ready() } } } } (function() { ah.support = {}; var L = M.documentElement, K = M.createElement("script"), J = M.createElement("div"), F = "script" + aF(); J.style.display = "none"; J.innerHTML = "   <link/><table></table><a href='/a' style='color:red;float:left;opacity:.55;'>a</a><input type='checkbox'/>"; var G = J.getElementsByTagName("*"), w = J.getElementsByTagName("a")[0]; if (!(!G || !G.length || !w)) { ah.support = { leadingWhitespace: J.firstChild.nodeType === 3, tbody: !J.getElementsByTagName("tbody").length, htmlSerialize: !!J.getElementsByTagName("link").length, style: /red/.test(w.getAttribute("style")), hrefNormalized: w.getAttribute("href") === "/a", opacity: /^0.55$/.test(w.style.opacity), cssFloat: !!w.style.cssFloat, checkOn: J.getElementsByTagName("input")[0].value === "on", optSelected: M.createElement("select").appendChild(M.createElement("option")).selected, parentNode: J.removeChild(J.appendChild(M.createElement("div"))).parentNode === null, deleteExpando: true, checkClone: false, scriptEval: false, noCloneEvent: true, boxModel: null }; K.type = "text/javascript"; try { K.appendChild(M.createTextNode("window." + F + "=1;")) } catch (A) { } L.insertBefore(K, L.firstChild); if (aO[F]) { ah.support.scriptEval = true; delete aO[F] } try { delete K.test } catch (c) { ah.support.deleteExpando = false } L.removeChild(K); if (J.attachEvent && J.fireEvent) { J.attachEvent("onclick", function s() { ah.support.noCloneEvent = false; J.detachEvent("onclick", s) }); J.cloneNode(true).fireEvent("onclick") } J = M.createElement("div"); J.innerHTML = "<input type='radio' name='radiotest' checked='checked'/>"; L = M.createDocumentFragment(); L.appendChild(J.firstChild); ah.support.checkClone = L.cloneNode(true).cloneNode(true).lastChild.checked; ah(function() { var N = M.createElement("div"); N.style.width = N.style.paddingLeft = "1px"; M.body.appendChild(N); ah.boxModel = ah.support.boxModel = N.offsetWidth === 2; M.body.removeChild(N).style.display = "none" }); L = function(N) { var P = M.createElement("div"); N = "on" + N; var O = N in P; if (!O) { P.setAttribute(N, "return;"); O = typeof P[N] === "function" } return O }; ah.support.submitBubbles = L("submit"); ah.support.changeBubbles = L("change"); L = K = J = G = w = null } })(); ah.props = { "for": "htmlFor", "class": "className", readonly: "readOnly", maxlength: "maxLength", cellspacing: "cellSpacing", rowspan: "rowSpan", colspan: "colSpan", tabindex: "tabIndex", usemap: "useMap", frameborder: "frameBorder" }; var aH = "jQuery" + aF(), e = 0, aS = {}; ah.extend({ cache: {}, expando: aH, noData: { embed: true, object: true, applet: true }, data: function(s, c, F) { if (!(s.nodeName && ah.noData[s.nodeName.toLowerCase()])) { s = s == aO ? aS : s; var w = s[aH], A = ah.cache; if (!w && typeof c === "string" && F === I) { return null } w || (w = ++e); if (typeof c === "object") { s[aH] = w; A[w] = ah.extend(true, {}, c) } else { if (!A[w]) { s[aH] = w; A[w] = {} } } s = A[w]; if (F !== I) { s[c] = F } return typeof c === "string" ? s[c] : s } }, removeData: function(s, c) { if (!(s.nodeName && ah.noData[s.nodeName.toLowerCase()])) { s = s == aO ? aS : s; var F = s[aH], w = ah.cache, A = w[F]; if (c) { if (A) { delete A[c]; ah.isEmptyObject(A) && ah.removeData(s) } } else { if (ah.support.deleteExpando) { delete s[ah.expando] } else { s.removeAttribute && s.removeAttribute(ah.expando) } delete w[F] } } } }); ah.fn.extend({ data: function(s, c) { if (typeof s === "undefined" && this.length) { return ah.data(this[0]) } else { if (typeof s === "object") { return this.each(function() { ah.data(this, s) }) } } var A = s.split("."); A[1] = A[1] ? "." + A[1] : ""; if (c === I) { var w = this.triggerHandler("getData" + A[1] + "!", [A[0]]); if (w === I && this.length) { w = ah.data(this[0], s) } return w === I && A[1] ? this.data(A[0]) : w } else { return this.trigger("setData" + A[1] + "!", [A[0], c]).each(function() { ah.data(this, s, c) }) } }, removeData: function(c) { return this.each(function() { ah.removeData(this, c) }) } }); ah.extend({ queue: function(s, c, A) { if (s) { c = (c || "fx") + "queue"; var w = ah.data(s, c); if (!A) { return w || [] } if (!w || ah.isArray(A)) { w = ah.data(s, c, ah.makeArray(A)) } else { w.push(A) } return w } }, dequeue: function(s, c) { c = c || "fx"; var A = ah.queue(s, c), w = A.shift(); if (w === "inprogress") { w = A.shift() } if (w) { c === "fx" && A.unshift("inprogress"); w.call(s, function() { ah.dequeue(s, c) }) } } }); ah.fn.extend({ queue: function(s, c) { if (typeof s !== "string") { c = s; s = "fx" } if (c === I) { return ah.queue(this[0], s) } return this.each(function() { var w = ah.queue(this, s, c); s === "fx" && w[0] !== "inprogress" && ah.dequeue(this, s) }) }, dequeue: function(c) { return this.each(function() { ah.dequeue(this, c) }) }, delay: function(s, c) { s = ah.fx ? ah.fx.speeds[s] || s : s; c = c || "fx"; return this.queue(c, function() { var w = this; setTimeout(function() { ah.dequeue(w, c) }, s) }) }, clearQueue: function(c) { return this.queue(c || "fx", []) } }); var be = /[\n\t]/g, U = /\s+/, a8 = /\r/g, aM = /href|src|style/, aU = /(button|input)/i, aw = /(button|input|object|select|textarea)/i, S = /^(a|area)$/i, aY = /radio|checkbox/; ah.fn.extend({ attr: function(s, c) { return ap(this, s, c, true, ah.attr) }, removeAttr: function(c) { return this.each(function() { ah.attr(this, c, ""); this.nodeType === 1 && this.removeAttribute(c) }) }, addClass: function(L) { if (ah.isFunction(L)) { return this.each(function(O) { var N = ah(this); N.addClass(L.call(this, O, N.attr("class"))) }) } if (L && typeof L === "string") { for (var K = (L || "").split(U), J = 0, F = this.length; J < F; J++) { var G = this[J]; if (G.nodeType === 1) { if (G.className) { for (var w = " " + G.className + " ", A = G.className, c = 0, s = K.length; c < s; c++) { if (w.indexOf(" " + K[c] + " ") < 0) { A += " " + K[c] } } G.className = ah.trim(A) } else { G.className = L } } } } return this }, removeClass: function(s) { if (ah.isFunction(s)) { return this.each(function(L) { var N = ah(this); N.removeClass(s.call(this, L, N.attr("class"))) }) } if (s && typeof s === "string" || s === I) { for (var c = (s || "").split(U), K = 0, F = this.length; K < F; K++) { var G = this[K]; if (G.nodeType === 1 && G.className) { if (s) { for (var w = (" " + G.className + " ").replace(be, " "), A = 0, J = c.length; A < J; A++) { w = w.replace(" " + c[A] + " ", " ") } G.className = ah.trim(w) } else { G.className = "" } } } } return this }, toggleClass: function(s, c) { var A = typeof s, w = typeof c === "boolean"; if (ah.isFunction(s)) { return this.each(function(G) { var F = ah(this); F.toggleClass(s.call(this, G, F.attr("class"), c), c) }) } return this.each(function() { if (A === "string") { for (var K, G = 0, J = ah(this), L = c, F = s.split(U); K = F[G++]; ) { L = w ? L : !J.hasClass(K); J[L ? "addClass" : "removeClass"](K) } } else { if (A === "undefined" || A === "boolean") { this.className && ah.data(this, "__className__", this.className); this.className = this.className || s === false ? "" : ah.data(this, "__className__") || "" } } }) }, hasClass: function(s) { s = " " + s + " "; for (var c = 0, w = this.length; c < w; c++) { if ((" " + this[c].className + " ").replace(be, " ").indexOf(s) > -1) { return true } } return false }, val: function(s) { if (s === I) { var c = this[0]; if (c) { if (ah.nodeName(c, "option")) { return (c.attributes.value || {}).specified ? c.value : c.text } if (ah.nodeName(c, "select")) { var K = c.selectedIndex, F = [], G = c.options; c = c.type === "select-one"; if (K < 0) { return null } var w = c ? K : 0; for (K = c ? K + 1 : G.length; w < K; w++) { var A = G[w]; if (A.selected) { s = ah(A).val(); if (c) { return s } F.push(s) } } return F } if (aY.test(c.type) && !ah.support.checkOn) { return c.getAttribute("value") === null ? "on" : c.value } return (c.value || "").replace(a8, "") } return I } var J = ah.isFunction(s); return this.each(function(L) { var P = ah(this), O = s; if (this.nodeType === 1) { if (J) { O = s.call(this, L, P.val()) } if (typeof O === "number") { O += "" } if (ah.isArray(O) && aY.test(this.type)) { this.checked = ah.inArray(P.val(), O) >= 0 } else { if (ah.nodeName(this, "select")) { var N = ah.makeArray(O); ah("option", this).each(function() { this.selected = ah.inArray(ah(this).val(), N) >= 0 }); if (!N.length) { this.selectedIndex = -1 } } else { this.value = O } } } }) } }); ah.extend({ attrFn: { val: true, css: true, html: true, text: true, data: true, width: true, height: true, offset: true }, attr: function(s, c, G, A) { if (!s || s.nodeType === 3 || s.nodeType === 8) { return I } if (A && c in ah.attrFn) { return ah(s)[c](G) } A = s.nodeType !== 1 || !ah.isXMLDoc(s); var F = G !== I; c = A && ah.props[c] || c; if (s.nodeType === 1) { var w = aM.test(c); if (c in s && A && !w) { if (F) { c === "type" && aU.test(s.nodeName) && s.parentNode && ah.error("type property can't be changed"); s[c] = G } if (ah.nodeName(s, "form") && s.getAttributeNode(c)) { return s.getAttributeNode(c).nodeValue } if (c === "tabIndex") { return (c = s.getAttributeNode("tabIndex")) && c.specified ? c.value : aw.test(s.nodeName) || S.test(s.nodeName) && s.href ? 0 : I } return s[c] } if (!ah.support.style && A && c === "style") { if (F) { s.style.cssText = "" + G } return s.style.cssText } F && s.setAttribute(c, "" + G); s = !ah.support.hrefNormalized && A && w ? s.getAttribute(c, 2) : s.getAttribute(c); return s === null ? I : s } return ah.style(s, c, G) } }); var az = /\.(.*)$/, r = function(c) { return c.replace(/[^\w\s\.\|`]/g, function(s) { return "\\" + s }) }; ah.event = { add: function(P, O, L, J) { if (!(P.nodeType === 3 || P.nodeType === 8)) { if (P.setInterval && P !== aO && !P.frameElement) { P = aO } var K, F; if (L.handler) { K = L; L = K.handler } if (!L.guid) { L.guid = ah.guid++ } if (F = ah.data(P)) { var G = F.events = F.events || {}, s = F.handle; if (!s) { F.handle = s = function() { return typeof ah !== "undefined" && !ah.event.triggered ? ah.event.handle.apply(s.elem, arguments) : I } } s.elem = P; O = O.split(" "); for (var A, w = 0, c; A = O[w++]; ) { F = K ? ah.extend({}, K) : { handler: L, data: J }; if (A.indexOf(".") > -1) { c = A.split("."); A = c.shift(); F.namespace = c.slice(0).sort().join(".") } else { c = []; F.namespace = "" } F.type = A; F.guid = L.guid; var Q = G[A], N = ah.event.special[A] || {}; if (!Q) { Q = G[A] = []; if (!N.setup || N.setup.call(P, J, c, s) === false) { if (P.addEventListener) { P.addEventListener(A, s, false) } else { P.attachEvent && P.attachEvent("on" + A, s) } } } if (N.add) { N.add.call(P, F); if (!F.handler.guid) { F.handler.guid = L.guid } } Q.push(F); ah.event.global[A] = true } P = null } } }, global: {}, remove: function(R, Q, O, L) { if (!(R.nodeType === 3 || R.nodeType === 8)) { var N, J = 0, K, A, G, F, c, T, P = ah.data(R), s = P && P.events; if (P && s) { if (Q && Q.type) { O = Q.handler; Q = Q.type } if (!Q || typeof Q === "string" && Q.charAt(0) === ".") { Q = Q || ""; for (N in s) { ah.event.remove(R, N + Q) } } else { for (Q = Q.split(" "); N = Q[J++]; ) { F = N; K = N.indexOf(".") < 0; A = []; if (!K) { A = N.split("."); N = A.shift(); G = new RegExp("(^|\\.)" + ah.map(A.slice(0).sort(), r).join("\\.(?:.*\\.)?") + "(\\.|$)") } if (c = s[N]) { if (O) { F = ah.event.special[N] || {}; for (w = L || 0; w < c.length; w++) { T = c[w]; if (O.guid === T.guid) { if (K || G.test(T.namespace)) { L == null && c.splice(w--, 1); F.remove && F.remove.call(R, T) } if (L != null) { break } } } if (c.length === 0 || L != null && c.length === 1) { if (!F.teardown || F.teardown.call(R, A) === false) { aG(R, N, P.handle) } delete s[N] } } else { for (var w = 0; w < c.length; w++) { T = c[w]; if (K || G.test(T.namespace)) { ah.event.remove(R, F, T.handler, w); c.splice(w--, 1) } } } } } if (ah.isEmptyObject(s)) { if (Q = P.handle) { Q.elem = null } delete P.events; delete P.handle; ah.isEmptyObject(P) && ah.removeData(R) } } } } }, trigger: function(N, L, K, G) { var J = N.type || N; if (!G) { N = typeof N === "object" ? N[aH] ? N : ah.extend(ah.Event(J), N) : ah.Event(J); if (J.indexOf("!") >= 0) { N.type = J = J.slice(0, -1); N.exclusive = true } if (!K) { N.stopPropagation(); ah.event.global[J] && ah.each(ah.cache, function() { this.events && this.events[J] && ah.event.trigger(N, L, this.handle.elem) }) } if (!K || K.nodeType === 3 || K.nodeType === 8) { return I } N.result = I; N.target = K; L = ah.makeArray(L); L.unshift(N) } N.currentTarget = K; (G = ah.data(K, "handle")) && G.apply(K, L); G = K.parentNode || K.ownerDocument; try { if (!(K && K.nodeName && ah.noData[K.nodeName.toLowerCase()])) { if (K["on" + J] && K["on" + J].apply(K, L) === false) { N.result = false } } } catch (A) { } if (!N.isPropagationStopped() && G) { ah.event.trigger(N, L, G, true) } else { if (!N.isDefaultPrevented()) { G = N.target; var F, c = ah.nodeName(G, "a") && J === "click", w = ah.event.special[J] || {}; if ((!w._default || w._default.call(K, N) === false) && !c && !(G && G.nodeName && ah.noData[G.nodeName.toLowerCase()])) { try { if (G[J]) { if (F = G["on" + J]) { G["on" + J] = null } ah.event.triggered = true; G[J]() } } catch (s) { } if (F) { G["on" + J] = F } ah.event.triggered = false } } } }, handle: function(s) { var c, J, F, G; s = arguments[0] = ah.event.fix(s || aO.event); s.currentTarget = this; c = s.type.indexOf(".") < 0 && !s.exclusive; if (!c) { J = s.type.split("."); s.type = J.shift(); F = new RegExp("(^|\\.)" + J.slice(0).sort().join("\\.(?:.*\\.)?") + "(\\.|$)") } G = ah.data(this, "events"); J = G[s.type]; if (G && J) { J = J.slice(0); G = 0; for (var w = J.length; G < w; G++) { var A = J[G]; if (c || F.test(A.namespace)) { s.handler = A.handler; s.data = A.data; s.handleObj = A; A = A.handler.apply(this, arguments); if (A !== I) { s.result = A; if (A === false) { s.preventDefault(); s.stopPropagation() } } if (s.isImmediatePropagationStopped()) { break } } } } return s.result }, props: "altKey attrChange attrName bubbles button cancelable charCode clientX clientY ctrlKey currentTarget data detail eventPhase fromElement handler keyCode layerX layerY metaKey newValue offsetX offsetY originalTarget pageX pageY prevValue relatedNode relatedTarget screenX screenY shiftKey srcElement target toElement view wheelDelta which".split(" "), fix: function(s) { if (s[aH]) { return s } var c = s; s = ah.Event(c); for (var A = this.props.length, w; A; ) { w = this.props[--A]; s[w] = c[w] } if (!s.target) { s.target = s.srcElement || M } if (s.target.nodeType === 3) { s.target = s.target.parentNode } if (!s.relatedTarget && s.fromElement) { s.relatedTarget = s.fromElement === s.target ? s.toElement : s.fromElement } if (s.pageX == null && s.clientX != null) { c = M.documentElement; A = M.body; s.pageX = s.clientX + (c && c.scrollLeft || A && A.scrollLeft || 0) - (c && c.clientLeft || A && A.clientLeft || 0); s.pageY = s.clientY + (c && c.scrollTop || A && A.scrollTop || 0) - (c && c.clientTop || A && A.clientTop || 0) } if (!s.which && (s.charCode || s.charCode === 0 ? s.charCode : s.keyCode)) { s.which = s.charCode || s.keyCode } if (!s.metaKey && s.ctrlKey) { s.metaKey = s.ctrlKey } if (!s.which && s.button !== I) { s.which = s.button & 1 ? 1 : s.button & 2 ? 3 : s.button & 4 ? 2 : 0 } return s }, guid: 100000000, proxy: ah.proxy, special: { ready: { setup: ah.bindReady, teardown: ah.noop }, live: { add: function(c) { ah.event.add(this, c.origType, ah.extend({}, c, { handler: ag })) }, remove: function(s) { var c = true, w = s.origType.replace(az, ""); ah.each(ah.data(this, "events").live || [], function() { if (w === this.origType.replace(az, "")) { return c = false } }); c && ah.event.remove(this, s.origType, ag) } }, beforeunload: { setup: function(s, c, w) { if (this.setInterval) { this.onbeforeunload = w } return false }, teardown: function(s, c) { if (this.onbeforeunload === c) { this.onbeforeunload = null } } }} }; var aG = M.removeEventListener ? function(s, c, w) { s.removeEventListener(c, w, false) } : function(s, c, w) { s.detachEvent("on" + c, w) }; ah.Event = function(c) { if (!this.preventDefault) { return new ah.Event(c) } if (c && c.type) { this.originalEvent = c; this.type = c.type } else { this.type = c } this.timeStamp = aF(); this[aH] = true }; ah.Event.prototype = { preventDefault: function() { this.isDefaultPrevented = am; var c = this.originalEvent; if (c) { c.preventDefault && c.preventDefault(); c.returnValue = false } }, stopPropagation: function() { this.isPropagationStopped = am; var c = this.originalEvent; if (c) { c.stopPropagation && c.stopPropagation(); c.cancelBubble = true } }, stopImmediatePropagation: function() { this.isImmediatePropagationStopped = am; this.stopPropagation() }, isDefaultPrevented: ao, isPropagationStopped: ao, isImmediatePropagationStopped: ao }; var ae = function(s) { var c = s.relatedTarget; try { for (; c && c !== this; ) { c = c.parentNode } if (c !== this) { s.type = s.data; ah.event.handle.apply(this, arguments) } } catch (w) { } }, x = function(c) { c.type = c.data; ah.event.handle.apply(this, arguments) }; ah.each({ mouseenter: "mouseover", mouseleave: "mouseout" }, function(s, c) { ah.event.special[s] = { setup: function(w) { ah.event.add(this, c, w && w.selector ? x : ae, s) }, teardown: function(w) { ah.event.remove(this, c, w && w.selector ? x : ae) } } }); if (!ah.support.submitBubbles) { ah.event.special.submit = { setup: function() { if (this.nodeName.toLowerCase() !== "form") { ah.event.add(this, "click.specialSubmit", function(s) { var c = s.target, w = c.type; if ((w === "submit" || w === "image") && ah(c).closest("form").length) { return aK("submit", this, arguments) } }); ah.event.add(this, "keypress.specialSubmit", function(s) { var c = s.target, w = c.type; if ((w === "text" || w === "password") && ah(c).closest("form").length && s.keyCode === 13) { return aK("submit", this, arguments) } }) } else { return false } }, teardown: function() { ah.event.remove(this, ".specialSubmit") } } } if (!ah.support.changeBubbles) { var t = /textarea|input|select/i, g, j = function(s) { var c = s.type, w = s.value; if (c === "radio" || c === "checkbox") { w = s.checked } else { if (c === "select-multiple") { w = s.selectedIndex > -1 ? ah.map(s.options, function(A) { return A.selected }).join("-") : "" } else { if (s.nodeName.toLowerCase() === "select") { w = s.selectedIndex } } } return w }, bd = function(s, c) { var F = s.target, w, A; if (!(!t.test(F.nodeName) || F.readOnly)) { w = ah.data(F, "_change_data"); A = j(F); if (s.type !== "focusout" || F.type !== "radio") { ah.data(F, "_change_data", A) } if (!(w === I || A === w)) { if (w != null || A) { s.type = "change"; return ah.event.trigger(s, c, F) } } } }; ah.event.special.change = { filters: { focusout: bd, click: function(s) { var c = s.target, w = c.type; if (w === "radio" || w === "checkbox" || c.nodeName.toLowerCase() === "select") { return bd.call(this, s) } }, keydown: function(s) { var c = s.target, w = c.type; if (s.keyCode === 13 && c.nodeName.toLowerCase() !== "textarea" || s.keyCode === 32 && (w === "checkbox" || w === "radio") || w === "select-multiple") { return bd.call(this, s) } }, beforeactivate: function(c) { c = c.target; ah.data(c, "_change_data", j(c)) } }, setup: function() { if (this.type === "file") { return false } for (var c in g) { ah.event.add(this, c + ".specialChange", g[c]) } return t.test(this.nodeName) }, teardown: function() { ah.event.remove(this, ".specialChange"); return t.test(this.nodeName) } }; g = ah.event.special.change.filters } M.addEventListener && ah.each({ focus: "focusin", blur: "focusout" }, function(s, c) { function w(A) { A = ah.event.fix(A); A.type = c; return ah.event.handle.call(this, A) } ah.event.special[c] = { setup: function() { this.addEventListener(s, w, true) }, teardown: function() { this.removeEventListener(s, w, true) } } }); ah.each(["bind", "one"], function(s, c) { ah.fn[c] = function(K, F, G) { if (typeof K === "object") { for (var w in K) { this[c](w, F, K[w], G) } return this } if (ah.isFunction(F)) { G = F; F = I } var A = c === "one" ? ah.proxy(G, function(L) { ah(this).unbind(L, A); return G.apply(this, arguments) }) : G; if (K === "unload" && c !== "one") { this.one(K, F, G) } else { w = 0; for (var J = this.length; w < J; w++) { ah.event.add(this[w], K, A, F) } } return this } }); ah.fn.extend({ unbind: function(s, c) { if (typeof s === "object" && !s.preventDefault) { for (var A in s) { this.unbind(A, s[A]) } } else { A = 0; for (var w = this.length; A < w; A++) { ah.event.remove(this[A], s, c) } } return this }, delegate: function(s, c, A, w) { return this.live(c, A, w, s) }, undelegate: function(s, c, w) { return arguments.length === 0 ? this.unbind("live") : this.die(c, null, w, s) }, trigger: function(s, c) { return this.each(function() { ah.event.trigger(s, c, this) }) }, triggerHandler: function(s, c) { if (this[0]) { s = ah.Event(s); s.preventDefault(); s.stopPropagation(); ah.event.trigger(s, c, this[0]); return s.result } }, toggle: function(s) { for (var c = arguments, w = 1; w < c.length; ) { ah.proxy(s, c[w++]) } return this.click(ah.proxy(s, function(A) { var F = (ah.data(this, "lastToggle" + s.guid) || 0) % w; ah.data(this, "lastToggle" + s.guid, F + 1); A.preventDefault(); return c[F].apply(this, arguments) || false })) }, hover: function(s, c) { return this.mouseenter(s).mouseleave(c || s) } }); var bh = { focus: "focusin", blur: "focusout", mouseenter: "mouseover", mouseleave: "mouseout" }; ah.each(["live", "die"], function(s, c) { ah.fn[c] = function(O, L, N, J) { var K, A = 0, G, F, w = J || this.selector, P = J ? this : ah(this.context); if (ah.isFunction(L)) { N = L; L = I } for (O = (O || "").split(" "); (K = O[A++]) != null; ) { J = az.exec(K); G = ""; if (J) { G = J[0]; K = K.replace(az, "") } if (K === "hover") { O.push("mouseenter" + G, "mouseleave" + G) } else { F = K; if (K === "focus" || K === "blur") { O.push(bh[K] + G); K += G } else { K = (bh[K] || K) + G } c === "live" ? P.each(function() { ah.event.add(this, z(K, w), { data: L, selector: w, handler: N, origType: K, origHandler: N, preType: F }) }) : P.unbind(z(K, w), N) } } return this } }); ah.each("blur focus focusin focusout load resize scroll unload click dblclick mousedown mouseup mousemove mouseover mouseout mouseenter mouseleave change select submit keydown keypress keyup error".split(" "), function(s, c) { ah.fn[c] = function(w) { return w ? this.bind(c, w) : this.trigger(c) }; if (ah.attrFn) { ah.attrFn[c] = true } }); aO.attachEvent && !aO.addEventListener && aO.attachEvent("onunload", function() { for (var s in ah.cache) { if (ah.cache[s].handle) { try { ah.event.remove(ah.cache[s].handle.elem) } catch (c) { } } } }); (function() { function W(ab) { for (var aa = "", Z, Y = 0; ab[Y]; Y++) { Z = ab[Y]; if (Z.nodeType === 3 || Z.nodeType === 4) { aa += Z.nodeValue } else { if (Z.nodeType !== 8) { aa += W(Z.childNodes) } } } return aa } function V(bb, ba, ab, aa, Y, Z) { Y = 0; for (var bm = aa.length; Y < bm; Y++) { var bn = aa[Y]; if (bn) { bn = bn[bb]; for (var bl = false; bn; ) { if (bn.sizcache === ab) { bl = aa[bn.sizset]; break } if (bn.nodeType === 1 && !Z) { bn.sizcache = ab; bn.sizset = Y } if (bn.nodeName.toLowerCase() === ba) { bl = bn; break } bn = bn[bb] } aa[Y] = bl } } } function T(bb, ba, ab, aa, Y, Z) { Y = 0; for (var bm = aa.length; Y < bm; Y++) { var bn = aa[Y]; if (bn) { bn = bn[bb]; for (var bl = false; bn; ) { if (bn.sizcache === ab) { bl = aa[bn.sizset]; break } if (bn.nodeType === 1) { if (!Z) { bn.sizcache = ab; bn.sizset = Y } if (typeof ba !== "string") { if (bn === ba) { bl = true; break } } else { if (N.filter(ba, [bn]).length > 0) { bl = bn; break } } } bn = bn[bb] } aa[Y] = bl } } } var Q = /((?:\((?:\([^()]+\)|[^()]+)+\)|\[(?:\[[^[\]]*\]|['"][^'"]*['"]|[^[\]'"]+)+\]|\\.|[^ >+~,(\[\\]+)+|[>+~])(\s*,\s*)?((?:.|\r|\n)*)/g, R = 0, O = Object.prototype.toString, P = false, K = true; [0, 0].sort(function() { K = false; return 0 }); var N = function(bm, bl, ba, ab) { ba = ba || []; var Z = bl = bl || M; if (bl.nodeType !== 1 && bl.nodeType !== 9) { return [] } if (!bm || typeof bm !== "string") { return ba } for (var aa = [], br, bs, bo, bb, bq = true, bn = s(bl), bp = bm; (Q.exec(""), br = Q.exec(bp)) !== null; ) { bp = br[3]; aa.push(br[1]); if (br[2]) { bb = br[3]; break } } if (aa.length > 1 && G.exec(bm)) { if (aa.length === 2 && L.relative[aa[0]]) { bs = X(aa[0] + aa[1], bl) } else { for (bs = L.relative[aa[0]] ? [bl] : N(aa.shift(), bl); aa.length; ) { bm = aa.shift(); if (L.relative[bm]) { bm += aa.shift() } bs = X(bm, bs) } } } else { if (!ab && aa.length > 1 && bl.nodeType === 9 && !bn && L.match.ID.test(aa[0]) && !L.match.ID.test(aa[aa.length - 1])) { br = N.find(aa.shift(), bl, bn); bl = br.expr ? N.filter(br.expr, br.set)[0] : br.set[0] } if (bl) { br = ab ? { expr: aa.pop(), set: c(ab)} : N.find(aa.pop(), aa.length === 1 && (aa[0] === "~" || aa[0] === "+") && bl.parentNode ? bl.parentNode : bl, bn); bs = br.expr ? N.filter(br.expr, br.set) : br.set; if (aa.length > 0) { bo = c(bs) } else { bq = false } for (; aa.length; ) { var Y = aa.pop(); br = Y; if (L.relative[Y]) { br = aa.pop() } else { Y = "" } if (br == null) { br = bl } L.relative[Y](bo, br, bn) } } else { bo = [] } } bo || (bo = bs); bo || N.error(Y || bm); if (O.call(bo) === "[object Array]") { if (bq) { if (bl && bl.nodeType === 1) { for (bm = 0; bo[bm] != null; bm++) { if (bo[bm] && (bo[bm] === true || bo[bm].nodeType === 1 && A(bl, bo[bm]))) { ba.push(bs[bm]) } } } else { for (bm = 0; bo[bm] != null; bm++) { bo[bm] && bo[bm].nodeType === 1 && ba.push(bs[bm]) } } } else { ba.push.apply(ba, bo) } } else { c(bo, ba) } if (bb) { N(bb, Z, ba, ab); N.uniqueSort(ba) } return ba }; N.uniqueSort = function(Z) { if (J) { P = K; Z.sort(J); if (P) { for (var Y = 1; Y < Z.length; Y++) { Z[Y] === Z[Y - 1] && Z.splice(Y--, 1) } } } return Z }; N.matches = function(Z, Y) { return N(Z, null, null, Y) }; N.find = function(bb, ba, ab) { var aa, Y; if (!bb) { return [] } for (var Z = 0, bm = L.order.length; Z < bm; Z++) { var bn = L.order[Z]; if (Y = L.leftMatch[bn].exec(bb)) { var bl = Y[1]; Y.splice(1, 1); if (bl.substr(bl.length - 1) !== "\\") { Y[1] = (Y[1] || "").replace(/\\/g, ""); aa = L.find[bn](Y, ba, ab); if (aa != null) { bb = bb.replace(L.match[bn], ""); break } } } } aa || (aa = ba.getElementsByTagName("*")); return { set: aa, expr: bb} }; N.filter = function(bn, bm, bb, ab) { for (var Z = bn, aa = [], bt = bm, bu, bq, bl = bm && bm[0] && s(bm[0]); bn && bm.length; ) { for (var bs in L.filter) { if ((bu = L.leftMatch[bs].exec(bn)) != null && bu[2]) { var bo = L.filter[bs], br, Y; Y = bu[1]; bq = false; bu.splice(1, 1); if (Y.substr(Y.length - 1) !== "\\") { if (bt === aa) { aa = [] } if (L.preFilter[bs]) { if (bu = L.preFilter[bs](bu, bt, bb, aa, ab, bl)) { if (bu === true) { continue } } else { bq = br = true } } if (bu) { for (var ba = 0; (Y = bt[ba]) != null; ba++) { if (Y) { br = bo(Y, bu, ba, bt); var bp = ab ^ !!br; if (bb && br != null) { if (bp) { bq = true } else { bt[ba] = false } } else { if (bp) { aa.push(Y); bq = true } } } } } if (br !== I) { bb || (bt = aa); bn = bn.replace(L.match[bs], ""); if (!bq) { return [] } break } } } } if (bn === Z) { if (bq == null) { N.error(bn) } else { break } } Z = bn } return bt }; N.error = function(Y) { throw "Syntax error, unrecognized expression: " + Y }; var L = N.selectors = { order: ["ID", "NAME", "TAG"], match: { ID: /#((?:[\w\u00c0-\uFFFF-]|\\.)+)/, CLASS: /\.((?:[\w\u00c0-\uFFFF-]|\\.)+)/, NAME: /\[name=['"]*((?:[\w\u00c0-\uFFFF-]|\\.)+)['"]*\]/, ATTR: /\[\s*((?:[\w\u00c0-\uFFFF-]|\\.)+)\s*(?:(\S?=)\s*(['"]*)(.*?)\3|)\s*\]/, TAG: /^((?:[\w\u00c0-\uFFFF\*-]|\\.)+)/, CHILD: /:(only|nth|last|first)-child(?:\((even|odd|[\dn+-]*)\))?/, POS: /:(nth|eq|gt|lt|first|last|even|odd)(?:\((\d*)\))?(?=[^-]|$)/, PSEUDO: /:((?:[\w\u00c0-\uFFFF-]|\\.)+)(?:\((['"]?)((?:\([^\)]+\)|[^\(\)]*)+)\2\))?/ }, leftMatch: {}, attrMap: { "class": "className", "for": "htmlFor" }, attrHandle: { href: function(Y) { return Y.getAttribute("href") } }, relative: { "+": function(ab, aa) { var Z = typeof aa === "string", Y = Z && !/\W/.test(aa); Z = Z && !Y; if (Y) { aa = aa.toLowerCase() } Y = 0; for (var ba = ab.length, bb; Y < ba; Y++) { if (bb = ab[Y]) { for (; (bb = bb.previousSibling) && bb.nodeType !== 1; ) { } ab[Y] = Z || bb && bb.nodeName.toLowerCase() === aa ? bb || false : bb === aa } } Z && N.filter(aa, ab, true) }, ">": function(ab, aa) { var Z = typeof aa === "string"; if (Z && !/\W/.test(aa)) { aa = aa.toLowerCase(); for (var Y = 0, ba = ab.length; Y < ba; Y++) { var bb = ab[Y]; if (bb) { Z = bb.parentNode; ab[Y] = Z.nodeName.toLowerCase() === aa ? Z : false } } } else { Y = 0; for (ba = ab.length; Y < ba; Y++) { if (bb = ab[Y]) { ab[Y] = Z ? bb.parentNode : bb.parentNode === aa } } Z && N.filter(aa, ab, true) } }, "": function(ab, aa, Z) { var Y = R++, ba = T; if (typeof aa === "string" && !/\W/.test(aa)) { var bb = aa = aa.toLowerCase(); ba = V } ba("parentNode", aa, Y, ab, bb, Z) }, "~": function(ab, aa, Z) { var Y = R++, ba = T; if (typeof aa === "string" && !/\W/.test(aa)) { var bb = aa = aa.toLowerCase(); ba = V } ba("previousSibling", aa, Y, ab, bb, Z) } }, find: { ID: function(aa, Z, Y) { if (typeof Z.getElementById !== "undefined" && !Y) { return (aa = Z.getElementById(aa[1])) ? [aa] : [] } }, NAME: function(ab, aa) { if (typeof aa.getElementsByName !== "undefined") { var Z = []; aa = aa.getElementsByName(ab[1]); for (var Y = 0, ba = aa.length; Y < ba; Y++) { aa[Y].getAttribute("name") === ab[1] && Z.push(aa[Y]) } return Z.length === 0 ? null : Z } }, TAG: function(Z, Y) { return Y.getElementsByTagName(Z[1]) } }, preFilter: { CLASS: function(ba, ab, Z, Y, bb, bl) { ba = " " + ba[1].replace(/\\/g, "") + " "; if (bl) { return ba } bl = 0; for (var aa; (aa = ab[bl]) != null; bl++) { if (aa) { if (bb ^ (aa.className && (" " + aa.className + " ").replace(/[\t\n]/g, " ").indexOf(ba) >= 0)) { Z || Y.push(aa) } else { if (Z) { ab[bl] = false } } } } return false }, ID: function(Y) { return Y[1].replace(/\\/g, "") }, TAG: function(Y) { return Y[1].toLowerCase() }, CHILD: function(Z) { if (Z[1] === "nth") { var Y = /(-?)(\d*)n((?:\+|-)?\d*)/.exec(Z[2] === "even" && "2n" || Z[2] === "odd" && "2n+1" || !/\D/.test(Z[2]) && "0n+" + Z[2] || Z[2]); Z[2] = Y[1] + (Y[2] || 1) - 0; Z[3] = Y[3] - 0 } Z[0] = R++; return Z }, ATTR: function(ab, aa, Z, Y, ba, bb) { aa = ab[1].replace(/\\/g, ""); if (!bb && L.attrMap[aa]) { ab[1] = L.attrMap[aa] } if (ab[2] === "~=") { ab[4] = " " + ab[4] + " " } return ab }, PSEUDO: function(ab, aa, Z, Y, ba) { if (ab[1] === "not") { if ((Q.exec(ab[3]) || "").length > 1 || /^\w/.test(ab[3])) { ab[3] = N(ab[3], null, null, aa) } else { ab = N.filter(ab[3], aa, Z, true ^ ba); Z || Y.push.apply(Y, ab); return false } } else { if (L.match.POS.test(ab[0]) || L.match.CHILD.test(ab[0])) { return true } } return ab }, POS: function(Y) { Y.unshift(true); return Y } }, filters: { enabled: function(Y) { return Y.disabled === false && Y.type !== "hidden" }, disabled: function(Y) { return Y.disabled === true }, checked: function(Y) { return Y.checked === true }, selected: function(Y) { return Y.selected === true }, parent: function(Y) { return !!Y.firstChild }, empty: function(Y) { return !Y.firstChild }, has: function(aa, Z, Y) { return !!N(Y[3], aa).length }, header: function(Y) { return /h\d/i.test(Y.nodeName) }, text: function(Y) { return "text" === Y.type }, radio: function(Y) { return "radio" === Y.type }, checkbox: function(Y) { return "checkbox" === Y.type }, file: function(Y) { return "file" === Y.type }, password: function(Y) { return "password" === Y.type }, submit: function(Y) { return "submit" === Y.type }, image: function(Y) { return "image" === Y.type }, reset: function(Y) { return "reset" === Y.type }, button: function(Y) { return "button" === Y.type || Y.nodeName.toLowerCase() === "button" }, input: function(Y) { return /input|select|textarea|button/i.test(Y.nodeName) } }, setFilters: { first: function(Z, Y) { return Y === 0 }, last: function(ab, aa, Z, Y) { return aa === Y.length - 1 }, even: function(Z, Y) { return Y % 2 === 0 }, odd: function(Z, Y) { return Y % 2 === 1 }, lt: function(aa, Z, Y) { return Z < Y[3] - 0 }, gt: function(aa, Z, Y) { return Z > Y[3] - 0 }, nth: function(aa, Z, Y) { return Y[3] - 0 === Z }, eq: function(aa, Z, Y) { return Y[3] - 0 === Z } }, filter: { PSEUDO: function(ab, aa, Z, Y) { var ba = aa[1], bb = L.filters[ba]; if (bb) { return bb(ab, Z, aa, Y) } else { if (ba === "contains") { return (ab.textContent || ab.innerText || W([ab]) || "").indexOf(aa[3]) >= 0 } else { if (ba === "not") { aa = aa[3]; Z = 0; for (Y = aa.length; Z < Y; Z++) { if (aa[Z] === ab) { return false } } return true } else { N.error("Syntax error, unrecognized expression: " + ba) } } } }, CHILD: function(ba, ab) { var Z = ab[1], Y = ba; switch (Z) { case "only": case "first": for (; Y = Y.previousSibling; ) { if (Y.nodeType === 1) { return false } } if (Z === "first") { return true } Y = ba; case "last": for (; Y = Y.nextSibling; ) { if (Y.nodeType === 1) { return false } } return true; case "nth": Z = ab[2]; var bb = ab[3]; if (Z === 1 && bb === 0) { return true } ab = ab[0]; var bl = ba.parentNode; if (bl && (bl.sizcache !== ab || !ba.nodeIndex)) { var aa = 0; for (Y = bl.firstChild; Y; Y = Y.nextSibling) { if (Y.nodeType === 1) { Y.nodeIndex = ++aa } } bl.sizcache = ab } ba = ba.nodeIndex - bb; return Z === 0 ? ba === 0 : ba % Z === 0 && ba / Z >= 0 } }, ID: function(Z, Y) { return Z.nodeType === 1 && Z.getAttribute("id") === Y }, TAG: function(Z, Y) { return Y === "*" && Z.nodeType === 1 || Z.nodeName.toLowerCase() === Y }, CLASS: function(Z, Y) { return (" " + (Z.className || Z.getAttribute("class")) + " ").indexOf(Y) > -1 }, ATTR: function(ab, aa) { var Z = aa[1]; ab = L.attrHandle[Z] ? L.attrHandle[Z](ab) : ab[Z] != null ? ab[Z] : ab.getAttribute(Z); Z = ab + ""; var Y = aa[2]; aa = aa[4]; return ab == null ? Y === "!=" : Y === "=" ? Z === aa : Y === "*=" ? Z.indexOf(aa) >= 0 : Y === "~=" ? (" " + Z + " ").indexOf(aa) >= 0 : !aa ? Z && ab !== false : Y === "!=" ? Z !== aa : Y === "^=" ? Z.indexOf(aa) === 0 : Y === "$=" ? Z.substr(Z.length - aa.length) === aa : Y === "|=" ? Z === aa || Z.substr(0, aa.length + 1) === aa + "-" : false }, POS: function(ab, aa, Z, Y) { var ba = L.setFilters[aa[2]]; if (ba) { return ba(ab, Z, aa, Y) } } } }, G = L.match.POS; for (var w in L.match) { L.match[w] = new RegExp(L.match[w].source + /(?![^\[]*\])(?![^\(]*\))/.source); L.leftMatch[w] = new RegExp(/(^(?:.|\r|\n)*?)/.source + L.match[w].source.replace(/\\(\d+)/g, function(Z, Y) { return "\\" + (Y - 0 + 1) })) } var c = function(Z, Y) { Z = Array.prototype.slice.call(Z, 0); if (Y) { Y.push.apply(Y, Z); return Y } return Z }; try { Array.prototype.slice.call(M.documentElement.childNodes, 0) } catch (F) { c = function(ab, aa) { aa = aa || []; if (O.call(ab) === "[object Array]") { Array.prototype.push.apply(aa, ab) } else { if (typeof ab.length === "number") { for (var Z = 0, Y = ab.length; Z < Y; Z++) { aa.push(ab[Z]) } } else { for (Z = 0; ab[Z]; Z++) { aa.push(ab[Z]) } } } return aa } } var J; if (M.documentElement.compareDocumentPosition) { J = function(Z, Y) { if (!Z.compareDocumentPosition || !Y.compareDocumentPosition) { if (Z == Y) { P = true } return Z.compareDocumentPosition ? -1 : 1 } Z = Z.compareDocumentPosition(Y) & 4 ? -1 : Z === Y ? 0 : 1; if (Z === 0) { P = true } return Z } } else { if ("sourceIndex" in M.documentElement) { J = function(Z, Y) { if (!Z.sourceIndex || !Y.sourceIndex) { if (Z == Y) { P = true } return Z.sourceIndex ? -1 : 1 } Z = Z.sourceIndex - Y.sourceIndex; if (Z === 0) { P = true } return Z } } else { if (M.createRange) { J = function(ab, aa) { if (!ab.ownerDocument || !aa.ownerDocument) { if (ab == aa) { P = true } return ab.ownerDocument ? -1 : 1 } var Z = ab.ownerDocument.createRange(), Y = aa.ownerDocument.createRange(); Z.setStart(ab, 0); Z.setEnd(ab, 0); Y.setStart(aa, 0); Y.setEnd(aa, 0); ab = Z.compareBoundaryPoints(Range.START_TO_END, Y); if (ab === 0) { P = true } return ab } } } } (function() { var aa = M.createElement("div"), Z = "script" + (new Date).getTime(); aa.innerHTML = "<a name='" + Z + "'/>"; var Y = M.documentElement; Y.insertBefore(aa, Y.firstChild); if (M.getElementById(Z)) { L.find.ID = function(ab, ba, bb) { if (typeof ba.getElementById !== "undefined" && !bb) { return (ba = ba.getElementById(ab[1])) ? ba.id === ab[1] || typeof ba.getAttributeNode !== "undefined" && ba.getAttributeNode("id").nodeValue === ab[1] ? [ba] : I : [] } }; L.filter.ID = function(ab, ba) { var bb = typeof ab.getAttributeNode !== "undefined" && ab.getAttributeNode("id"); return ab.nodeType === 1 && bb && bb.nodeValue === ba } } Y.removeChild(aa); Y = aa = null })(); (function() { var Y = M.createElement("div"); Y.appendChild(M.createComment("")); if (Y.getElementsByTagName("*").length > 0) { L.find.TAG = function(ab, aa) { aa = aa.getElementsByTagName(ab[1]); if (ab[1] === "*") { ab = []; for (var Z = 0; aa[Z]; Z++) { aa[Z].nodeType === 1 && ab.push(aa[Z]) } aa = ab } return aa } } Y.innerHTML = "<a href='#'></a>"; if (Y.firstChild && typeof Y.firstChild.getAttribute !== "undefined" && Y.firstChild.getAttribute("href") !== "#") { L.attrHandle.href = function(Z) { return Z.getAttribute("href", 2) } } Y = null })(); M.querySelectorAll && function() { var aa = N, Z = M.createElement("div"); Z.innerHTML = "<p class='TEST'></p>"; if (!(Z.querySelectorAll && Z.querySelectorAll(".TEST").length === 0)) { N = function(ab, bl, bm, ba) { bl = bl || M; if (!ba && bl.nodeType === 9 && !s(bl)) { try { return c(bl.querySelectorAll(ab), bm) } catch (bb) { } } return aa(ab, bl, bm, ba) }; for (var Y in aa) { N[Y] = aa[Y] } Z = null } } (); (function() { var Y = M.createElement("div"); Y.innerHTML = "<div class='test e'></div><div class='test'></div>"; if (!(!Y.getElementsByClassName || Y.getElementsByClassName("e").length === 0)) { Y.lastChild.className = "e"; if (Y.getElementsByClassName("e").length !== 1) { L.order.splice(1, 0, "CLASS"); L.find.CLASS = function(ab, aa, Z) { if (typeof aa.getElementsByClassName !== "undefined" && !Z) { return aa.getElementsByClassName(ab[1]) } }; Y = null } } })(); var A = M.compareDocumentPosition ? function(Z, Y) { return !!(Z.compareDocumentPosition(Y) & 16) } : function(Z, Y) { return Z !== Y && (Z.contains ? Z.contains(Y) : true) }, s = function(Y) { return (Y = (Y ? Y.ownerDocument || Y : 0).documentElement) ? Y.nodeName !== "HTML" : false }, X = function(ab, aa) { var Z = [], Y = "", ba; for (aa = aa.nodeType ? [aa] : aa; ba = L.match.PSEUDO.exec(ab); ) { Y += ba[0]; ab = ab.replace(L.match.PSEUDO, "") } ab = L.relative[ab] ? ab + "*" : ab; ba = 0; for (var bb = aa.length; ba < bb; ba++) { N(ab, aa[ba], Z) } return N.filter(Y, Z) }; ah.find = N; ah.expr = N.selectors; ah.expr[":"] = ah.expr.filters; ah.unique = N.uniqueSort; ah.text = W; ah.isXMLDoc = s; ah.contains = A })(); var f = /Until$/, a9 = /^(?:parents|prevUntil|prevAll)/, aW = /,/; au = Array.prototype.slice; var aL = function(s, c, A) { if (ah.isFunction(c)) { return ah.grep(s, function(G, F) { return !!c.call(G, F, G) === A }) } else { if (c.nodeType) { return ah.grep(s, function(F) { return F === c === A }) } else { if (typeof c === "string") { var w = ah.grep(s, function(F) { return F.nodeType === 1 }); if (aT.test(c)) { return ah.filter(c, w, !A) } else { c = ah.filter(c, w) } } } } return ah.grep(s, function(F) { return ah.inArray(F, c) >= 0 === A }) }; ah.fn.extend({ find: function(s) { for (var c = this.pushStack("", "find", s), J = 0, F = 0, G = this.length; F < G; F++) { J = c.length; ah.find(s, this[F], c); if (F > 0) { for (var w = J; w < c.length; w++) { for (var A = 0; A < J; A++) { if (c[A] === c[w]) { c.splice(w--, 1); break } } } } } return c }, has: function(s) { var c = ah(s); return this.filter(function() { for (var A = 0, w = c.length; A < w; A++) { if (ah.contains(this, c[A])) { return true } } }) }, not: function(c) { return this.pushStack(aL(this, c, false), "not", c) }, filter: function(c) { return this.pushStack(aL(this, c, true), "filter", c) }, is: function(c) { return !!c && ah.filter(c, this).length > 0 }, closest: function(L, K) { if (ah.isArray(L)) { var J = [], F = this[0], G, w = {}, A; if (F && L.length) { G = 0; for (var c = L.length; G < c; G++) { A = L[G]; w[A] || (w[A] = ah.expr.match.POS.test(A) ? ah(A, K || this.context) : A) } for (; F && F.ownerDocument && F !== K; ) { for (A in w) { G = w[A]; if (G.jquery ? G.index(F) > -1 : ah(F).is(G)) { J.push({ selector: A, elem: F }); delete w[A] } } F = F.parentNode } } return J } var s = ah.expr.match.POS.test(L) ? ah(L, K || this.context) : null; return this.map(function(O, N) { for (; N && N.ownerDocument && N !== K; ) { if (s ? s.index(N) > -1 : ah(N).is(L)) { return N } N = N.parentNode } return null }) }, index: function(c) { if (!c || typeof c === "string") { return ah.inArray(this[0], c ? ah(c) : this.parent().children()) } return ah.inArray(c.jquery ? c[0] : c, this) }, add: function(s, c) { s = typeof s === "string" ? ah(s, c || this.context) : ah.makeArray(s); c = ah.merge(this.get(), s); return this.pushStack(l(s[0]) || l(c[0]) ? c : ah.unique(c)) }, andSelf: function() { return this.add(this.prevObject) } }); ah.each({ parent: function(c) { return (c = c.parentNode) && c.nodeType !== 11 ? c : null }, parents: function(c) { return ah.dir(c, "parentNode") }, parentsUntil: function(s, c, w) { return ah.dir(s, "parentNode", w) }, next: function(c) { return ah.nth(c, 2, "nextSibling") }, prev: function(c) { return ah.nth(c, 2, "previousSibling") }, nextAll: function(c) { return ah.dir(c, "nextSibling") }, prevAll: function(c) { return ah.dir(c, "previousSibling") }, nextUntil: function(s, c, w) { return ah.dir(s, "nextSibling", w) }, prevUntil: function(s, c, w) { return ah.dir(s, "previousSibling", w) }, siblings: function(c) { return ah.sibling(c.parentNode.firstChild, c) }, children: function(c) { return ah.sibling(c.firstChild) }, contents: function(c) { return ah.nodeName(c, "iframe") ? c.contentDocument || c.contentWindow.document : ah.makeArray(c.childNodes) } }, function(s, c) { ah.fn[s] = function(F, w) { var A = ah.map(this, c, F); f.test(s) || (w = F); if (w && typeof w === "string") { A = ah.filter(w, A) } A = this.length > 1 ? ah.unique(A) : A; if ((this.length > 1 || aW.test(w)) && a9.test(s)) { A = A.reverse() } return this.pushStack(A, s, au.call(arguments).join(",")) } }); ah.extend({ filter: function(s, c, w) { if (w) { s = ":not(" + s + ")" } return ah.find.matches(s, c) }, dir: function(s, c, A) { var w = []; for (s = s[c]; s && s.nodeType !== 9 && (A === I || s.nodeType !== 1 || !ah(s).is(A)); ) { s.nodeType === 1 && w.push(s); s = s[c] } return w }, nth: function(s, c, A) { c = c || 1; for (var w = 0; s; s = s[A]) { if (s.nodeType === 1 && ++w === c) { break } } return s }, sibling: function(s, c) { for (var w = []; s; s = s.nextSibling) { s.nodeType === 1 && s !== c && w.push(s) } return w } }); var ai = / jQuery\d+="(?:\d+|null)"/g, ar = /^\s+/, B = /(<([\w:]+)[^>]*?)\/>/g, aD = /^(?:area|br|col|embed|hr|img|input|link|meta|param)$/i, m = /<([\w:]+)/, ac = /<tbody/i, u = /<|&#?\w+;/, aP = /<script|<object|<embed|<option|<style/i, ak = /checked\s*(?:[^=]|=\s*.checked.)/i, bk = function(s, c, w) { return aD.test(w) ? s : c + "></" + w + ">" }, aJ = { option: [1, "<select multiple='multiple'>", "</select>"], legend: [1, "<fieldset>", "</fieldset>"], thead: [1, "<table>", "</table>"], tr: [2, "<table><tbody>", "</tbody></table>"], td: [3, "<table><tbody><tr>", "</tr></tbody></table>"], col: [2, "<table><tbody></tbody><colgroup>", "</colgroup></table>"], area: [1, "<map>", "</map>"], _default: [0, "", ""] }; aJ.optgroup = aJ.option; aJ.tbody = aJ.tfoot = aJ.colgroup = aJ.caption = aJ.thead; aJ.th = aJ.td; if (!ah.support.htmlSerialize) { aJ._default = [1, "div<div>", "</div>"] } ah.fn.extend({ text: function(c) { if (ah.isFunction(c)) { return this.each(function(s) { var w = ah(this); w.text(c.call(this, s, w.text())) }) } if (typeof c !== "object" && c !== I) { return this.empty().append((this[0] && this[0].ownerDocument || M).createTextNode(c)) } return ah.text(this) }, wrapAll: function(s) { if (ah.isFunction(s)) { return this.each(function(w) { ah(this).wrapAll(s.call(this, w)) }) } if (this[0]) { var c = ah(s, this[0].ownerDocument).eq(0).clone(true); this[0].parentNode && c.insertBefore(this[0]); c.map(function() { for (var w = this; w.firstChild && w.firstChild.nodeType === 1; ) { w = w.firstChild } return w }).append(this) } return this }, wrapInner: function(c) { if (ah.isFunction(c)) { return this.each(function(s) { ah(this).wrapInner(c.call(this, s)) }) } return this.each(function() { var s = ah(this), w = s.contents(); w.length ? w.wrapAll(c) : s.append(c) }) }, wrap: function(c) { return this.each(function() { ah(this).wrapAll(c) }) }, unwrap: function() { return this.parent().each(function() { ah.nodeName(this, "body") || ah(this).replaceWith(this.childNodes) }).end() }, append: function() { return this.domManip(arguments, true, function(c) { this.nodeType === 1 && this.appendChild(c) }) }, prepend: function() { return this.domManip(arguments, true, function(c) { this.nodeType === 1 && this.insertBefore(c, this.firstChild) }) }, before: function() { if (this[0] && this[0].parentNode) { return this.domManip(arguments, false, function(s) { this.parentNode.insertBefore(s, this) }) } else { if (arguments.length) { var c = ah(arguments[0]); c.push.apply(c, this.toArray()); return this.pushStack(c, "before", arguments) } } }, after: function() { if (this[0] && this[0].parentNode) { return this.domManip(arguments, false, function(s) { this.parentNode.insertBefore(s, this.nextSibling) }) } else { if (arguments.length) { var c = this.pushStack(this, "after", arguments); c.push.apply(c, ah(arguments[0]).toArray()); return c } } }, remove: function(s, c) { for (var A = 0, w; (w = this[A]) != null; A++) { if (!s || ah.filter(s, [w]).length) { if (!c && w.nodeType === 1) { ah.cleanData(w.getElementsByTagName("*")); ah.cleanData([w]) } w.parentNode && w.parentNode.removeChild(w) } } return this }, empty: function() { for (var s = 0, c; (c = this[s]) != null; s++) { for (c.nodeType === 1 && ah.cleanData(c.getElementsByTagName("*")); c.firstChild; ) { c.removeChild(c.firstChild) } } return this }, clone: function(s) { var c = this.map(function() { if (!ah.support.noCloneEvent && !ah.isXMLDoc(this)) { var A = this.outerHTML, w = this.ownerDocument; if (!A) { A = w.createElement("div"); A.appendChild(this.cloneNode(true)); A = A.innerHTML } return ah.clean([A.replace(ai, "").replace(/=([^="'>\s]+\/)>/g, '="$1">').replace(ar, "")], w)[0] } else { return this.cloneNode(true) } }); if (s === true) { bj(this, c); bj(this.find("*"), c.find("*")) } return c }, html: function(s) { if (s === I) { return this[0] && this[0].nodeType === 1 ? this[0].innerHTML.replace(ai, "") : null } else { if (typeof s === "string" && !aP.test(s) && (ah.support.leadingWhitespace || !ar.test(s)) && !aJ[(m.exec(s) || ["", ""])[1].toLowerCase()]) { s = s.replace(B, bk); try { for (var c = 0, A = this.length; c < A; c++) { if (this[c].nodeType === 1) { ah.cleanData(this[c].getElementsByTagName("*")); this[c].innerHTML = s } } } catch (w) { this.empty().append(s) } } else { ah.isFunction(s) ? this.each(function(J) { var F = ah(this), G = F.html(); F.empty().append(function() { return s.call(this, J, G) }) }) : this.empty().append(s) } } return this }, replaceWith: function(c) { if (this[0] && this[0].parentNode) { if (ah.isFunction(c)) { return this.each(function(s) { var A = ah(this), w = A.html(); A.replaceWith(c.call(this, s, w)) }) } if (typeof c !== "string") { c = ah(c).detach() } return this.each(function() { var s = this.nextSibling, w = this.parentNode; ah(this).remove(); s ? ah(s).before(c) : ah(w).append(c) }) } else { return this.pushStack(ah(ah.isFunction(c) ? c() : c), "replaceWith", c) } }, detach: function(c) { return this.remove(c, true) }, domManip: function(O, N, L) { function J(P) { return ah.nodeName(P, "table") ? P.getElementsByTagName("tbody")[0] || P.appendChild(P.ownerDocument.createElement("tbody")) : P } var K, F, G = O[0], s = [], A; if (!ah.support.checkClone && arguments.length === 3 && typeof G === "string" && ak.test(G)) { return this.each(function() { ah(this).domManip(O, N, L, true) }) } if (ah.isFunction(G)) { return this.each(function(P) { var Q = ah(this); O[0] = G.call(this, P, N ? Q.html() : I); Q.domManip(O, N, L) }) } if (this[0]) { K = G && G.parentNode; K = ah.support.parentNode && K && K.nodeType === 11 && K.childNodes.length === this.length ? { fragment: K} : a3(O, this, s); A = K.fragment; if (F = A.childNodes.length === 1 ? (A = A.firstChild) : A.firstChild) { N = N && ah.nodeName(F, "tr"); for (var w = 0, c = this.length; w < c; w++) { L.call(N ? J(this[w], F) : this[w], w > 0 || K.cacheable || this.length > 1 ? A.cloneNode(true) : A) } } s.length && ah.each(s, E) } return this } }); ah.fragments = {}; ah.each({ appendTo: "append", prependTo: "prepend", insertBefore: "before", insertAfter: "after", replaceAll: "replaceWith" }, function(s, c) { ah.fn[s] = function(J) { var F = []; J = ah(J); var G = this.length === 1 && this[0].parentNode; if (G && G.nodeType === 11 && G.childNodes.length === 1 && J.length === 1) { J[c](this[0]); return this } else { G = 0; for (var w = J.length; G < w; G++) { var A = (G > 0 ? this.clone(true) : this).get(); ah.fn[c].apply(ah(J[G]), A); F = F.concat(A) } return this.pushStack(F, s, J.selector) } } }); ah.extend({ clean: function(O, N, L, J) { N = N || M; if (typeof N.createElement === "undefined") { N = N.ownerDocument || N[0] && N[0].ownerDocument || M } for (var K = [], F = 0, G; (G = O[F]) != null; F++) { if (typeof G === "number") { G += "" } if (G) { if (typeof G === "string" && !u.test(G)) { G = N.createTextNode(G) } else { if (typeof G === "string") { G = G.replace(B, bk); var s = (m.exec(G) || ["", ""])[1].toLowerCase(), A = aJ[s] || aJ._default, w = A[0], c = N.createElement("div"); for (c.innerHTML = A[1] + G + A[2]; w--; ) { c = c.lastChild } if (!ah.support.tbody) { w = ac.test(G); s = s === "table" && !w ? c.firstChild && c.firstChild.childNodes : A[1] === "<table>" && !w ? c.childNodes : []; for (A = s.length - 1; A >= 0; --A) { ah.nodeName(s[A], "tbody") && !s[A].childNodes.length && s[A].parentNode.removeChild(s[A]) } } !ah.support.leadingWhitespace && ar.test(G) && c.insertBefore(N.createTextNode(ar.exec(G)[0]), c.firstChild); G = c.childNodes } } if (G.nodeType) { K.push(G) } else { K = ah.merge(K, G) } } } if (L) { for (F = 0; K[F]; F++) { if (J && ah.nodeName(K[F], "script") && (!K[F].type || K[F].type.toLowerCase() === "text/javascript")) { J.push(K[F].parentNode ? K[F].parentNode.removeChild(K[F]) : K[F]) } else { K[F].nodeType === 1 && K.splice.apply(K, [F + 1, 0].concat(ah.makeArray(K[F].getElementsByTagName("script")))); L.appendChild(K[F]) } } } return K }, cleanData: function(L) { for (var K, J, F = ah.cache, G = ah.event.special, w = ah.support.deleteExpando, A = 0, c; (c = L[A]) != null; A++) { if (J = c[ah.expando]) { K = F[J]; if (K.events) { for (var s in K.events) { G[s] ? ah.event.remove(c, s) : aG(c, s, K.handle) } } if (w) { delete c[ah.expando] } else { c.removeAttribute && c.removeAttribute(ah.expando) } delete F[J] } } } }); var h = /z-?index|font-?weight|opacity|zoom|line-?height/i, a4 = /alpha\([^)]*\)/, aQ = /opacity=([^)]*)/, aE = /float/i, ad = /-([a-z])/ig, bf = /([A-Z])/g, aZ = /^-?\d+(?:px)?$/i, aI = /^-?\d/, af = { position: "absolute", visibility: "hidden", display: "block" }, y = ["Left", "Right"], k = ["Top", "Bottom"], bi = M.defaultView && M.defaultView.getComputedStyle, al = ah.support.cssFloat ? "cssFloat" : "styleFloat", v = function(s, c) { return c.toUpperCase() }; ah.fn.css = function(s, c) { return ap(this, s, c, true, function(F, w, A) { if (A === I) { return ah.curCSS(F, w) } if (typeof A === "number" && !h.test(w)) { A += "px" } ah.style(F, w, A) }) }; ah.extend({ style: function(s, c, F) { if (!s || s.nodeType === 3 || s.nodeType === 8) { return I } if ((c === "width" || c === "height") && parseFloat(F) < 0) { F = I } var w = s.style || s, A = F !== I; if (!ah.support.opacity && c === "opacity") { if (A) { w.zoom = 1; c = parseInt(F, 10) + "" === "NaN" ? "" : "alpha(opacity=" + F * 100 + ")"; s = w.filter || ah.curCSS(s, "filter") || ""; w.filter = a4.test(s) ? s.replace(a4, c) : c } return w.filter && w.filter.indexOf("opacity=") >= 0 ? parseFloat(aQ.exec(w.filter)[1]) / 100 + "" : "" } if (aE.test(c)) { c = al } c = c.replace(ad, v); if (A) { w[c] = F } return w[c] }, css: function(s, c, J, F) { if (c === "width" || c === "height") { var G, w = c === "width" ? y : k; function A() { G = c === "width" ? s.offsetWidth : s.offsetHeight; F !== "border" && ah.each(w, function() { F || (G -= parseFloat(ah.curCSS(s, "padding" + this, true)) || 0); if (F === "margin") { G += parseFloat(ah.curCSS(s, "margin" + this, true)) || 0 } else { G -= parseFloat(ah.curCSS(s, "border" + this + "Width", true)) || 0 } }) } s.offsetWidth !== 0 ? A() : ah.swap(s, af, A); return Math.max(0, Math.round(G)) } return ah.curCSS(s, c, J) }, curCSS: function(s, c, G) { var A, F = s.style; if (!ah.support.opacity && c === "opacity" && s.currentStyle) { A = aQ.test(s.currentStyle.filter || "") ? parseFloat(RegExp.$1) / 100 + "" : ""; return A === "" ? "1" : A } if (aE.test(c)) { c = al } if (!G && F && F[c]) { A = F[c] } else { if (bi) { if (aE.test(c)) { c = "float" } c = c.replace(bf, "-$1").toLowerCase(); F = s.ownerDocument.defaultView; if (!F) { return null } if (s = F.getComputedStyle(s, null)) { A = s.getPropertyValue(c) } if (c === "opacity" && A === "") { A = "1" } } else { if (s.currentStyle) { G = c.replace(ad, v); A = s.currentStyle[c] || s.currentStyle[G]; if (!aZ.test(A) && aI.test(A)) { c = F.left; var w = s.runtimeStyle.left; s.runtimeStyle.left = s.currentStyle.left; F.left = G === "fontSize" ? "1em" : A || 0; A = F.pixelLeft + "px"; F.left = c; s.runtimeStyle.left = w } } } } return A }, swap: function(s, c, F) { var w = {}; for (var A in c) { w[A] = s.style[A]; s.style[A] = c[A] } F.call(s); for (A in c) { s.style[A] = w[A] } } }); if (ah.expr && ah.expr.filters) { ah.expr.filters.hidden = function(s) { var c = s.offsetWidth, A = s.offsetHeight, w = s.nodeName.toLowerCase() === "tr"; return c === 0 && A === 0 && !w ? true : c > 0 && A > 0 && !w ? false : ah.curCSS(s, "display") === "none" }; ah.expr.filters.visible = function(c) { return !ah.expr.filters.hidden(c) } } var a2 = aF(), aN = /<script(.|\s)*?\/script>/gi, aj = /select|textarea/i, C = /color|date|datetime|email|hidden|month|number|password|range|search|tel|text|time|url|week/i, aA = /=\?(&|$)/, i = /\?/, n = /(\?|&)_=.*?(&|$)/, a = /^(\w+:)?\/\/([^\/?#]+)/, a5 = /%20/g, aR = ah.fn.load; ah.fn.extend({ load: function(s, c, G) { if (typeof s !== "string") { return aR.call(this, s) } else { if (!this.length) { return this } } var A = s.indexOf(" "); if (A >= 0) { var F = s.slice(A, s.length); s = s.slice(0, A) } A = "GET"; if (c) { if (ah.isFunction(c)) { G = c; c = null } else { if (typeof c === "object") { c = ah.param(c, ah.ajaxSettings.traditional); A = "POST" } } } var w = this; ah.ajax({ url: s, type: A, dataType: "html", data: c, complete: function(J, K) { if (K === "success" || K === "notmodified") { w.html(F ? ah("<div />").append(J.responseText.replace(aN, "")).find(F) : J.responseText) } G && w.each(G, [J.responseText, K, J]) } }); return this }, serialize: function() { return ah.param(this.serializeArray()) }, serializeArray: function() { return this.map(function() { return this.elements ? ah.makeArray(this.elements) : this }).filter(function() { return this.name && !this.disabled && (this.checked || aj.test(this.nodeName) || C.test(this.type)) }).map(function(s, c) { s = ah(this).val(); return s == null ? null : ah.isArray(s) ? ah.map(s, function(w) { return { name: c.name, value: w} }) : { name: c.name, value: s} }).get() } }); ah.each("ajaxStart ajaxStop ajaxComplete ajaxError ajaxSuccess ajaxSend".split(" "), function(s, c) { ah.fn[c] = function(w) { return this.bind(c, w) } }); ah.extend({ get: function(s, c, A, w) { if (ah.isFunction(c)) { w = w || A; A = c; c = null } return ah.ajax({ type: "GET", url: s, data: c, success: A, dataType: w }) }, getScript: function(s, c) { return ah.get(s, null, c, "script") }, getJSON: function(s, c, w) { return ah.get(s, c, w, "json") }, post: function(s, c, A, w) { if (ah.isFunction(c)) { w = w || A; A = c; c = {} } return ah.ajax({ type: "POST", url: s, data: c, success: A, dataType: w }) }, ajaxSetup: function(c) { ah.extend(ah.ajaxSettings, c) }, ajaxSettings: { url: location.href, global: true, type: "GET", contentType: "application/x-www-form-urlencoded", processData: true, async: true, xhr: aO.XMLHttpRequest && (aO.location.protocol !== "file:" || !aO.ActiveXObject) ? function() { return new aO.XMLHttpRequest } : function() { try { return new aO.ActiveXObject("Microsoft.XMLHTTP") } catch (c) { } }, accepts: { xml: "application/xml, text/xml", html: "text/html", script: "text/javascript, application/javascript", json: "application/json, text/javascript", text: "text/plain", _default: "*/*"} }, lastModified: {}, etag: {}, ajax: function(aa) { function Z() { X.success && X.success.call(P, K, R, s); X.global && W("ajaxSuccess", [s, X]) } function Y() { X.complete && X.complete.call(P, s, R); X.global && W("ajaxComplete", [s, X]); X.global && ! --ah.active && ah.event.trigger("ajaxStop") } function W(ba, bb) { (X.context ? ah(X.context) : ah.event).trigger(ba, bb) } var X = ah.extend(true, {}, ah.ajaxSettings, aa), Q, R, K, P = aa && aa.context || X, L = X.type.toUpperCase(); if (X.data && X.processData && typeof X.data !== "string") { X.data = ah.param(X.data, X.traditional) } if (X.dataType === "jsonp") { if (L === "GET") { aA.test(X.url) || (X.url += (i.test(X.url) ? "&" : "?") + (X.jsonp || "callback") + "=?") } else { if (!X.data || !aA.test(X.data)) { X.data = (X.data ? X.data + "&" : "") + (X.jsonp || "callback") + "=?" } } X.dataType = "json" } if (X.dataType === "json" && (X.data && aA.test(X.data) || aA.test(X.url))) { Q = X.jsonpCallback || "jsonp" + a2++; if (X.data) { X.data = (X.data + "").replace(aA, "=" + Q + "$1") } X.url = X.url.replace(aA, "=" + Q + "$1"); X.dataType = "script"; aO[Q] = aO[Q] || function(ba) { K = ba; Z(); Y(); aO[Q] = I; try { delete aO[Q] } catch (bb) { } c && c.removeChild(F) } } if (X.dataType === "script" && X.cache === null) { X.cache = false } if (X.cache === false && L === "GET") { var G = aF(), w = X.url.replace(n, "$1_=" + G + "$2"); X.url = w + (w === X.url ? (i.test(X.url) ? "&" : "?") + "_=" + G : "") } if (X.data && L === "GET") { X.url += (i.test(X.url) ? "&" : "?") + X.data } X.global && !ah.active++ && ah.event.trigger("ajaxStart"); G = (G = a.exec(X.url)) && (G[1] && G[1] !== location.protocol || G[2] !== location.host); if (X.dataType === "script" && L === "GET" && G) { var c = M.getElementsByTagName("head")[0] || M.documentElement, F = M.createElement("script"); F.src = X.url; if (X.scriptCharset) { F.charset = X.scriptCharset } if (!Q) { var J = false; F.onload = F.onreadystatechange = function() { if (!J && (!this.readyState || this.readyState === "loaded" || this.readyState === "complete")) { J = true; Z(); Y(); F.onload = F.onreadystatechange = null; c && F.parentNode && c.removeChild(F) } } } c.insertBefore(F, c.firstChild); return I } var A = false, s = X.xhr(); if (s) { X.username ? s.open(L, X.url, X.async, X.username, X.password) : s.open(L, X.url, X.async); try { if (X.data || aa && aa.contentType) { s.setRequestHeader("Content-Type", X.contentType) } if (X.ifModified) { ah.lastModified[X.url] && s.setRequestHeader("If-Modified-Since", ah.lastModified[X.url]); ah.etag[X.url] && s.setRequestHeader("If-None-Match", ah.etag[X.url]) } G || s.setRequestHeader("X-Requested-With", "XMLHttpRequest"); s.setRequestHeader("Accept", X.dataType && X.accepts[X.dataType] ? X.accepts[X.dataType] + ", */*" : X.accepts._default) } catch (ab) { } if (X.beforeSend && X.beforeSend.call(P, s, X) === false) { X.global && ! --ah.active && ah.event.trigger("ajaxStop"); s.abort(); return false } X.global && W("ajaxSend", [s, X]); var V = s.onreadystatechange = function(bb) { if (!s || s.readyState === 0 || bb === "abort") { A || Y(); A = true; if (s) { s.onreadystatechange = ah.noop } } else { if (!A && s && (s.readyState === 4 || bb === "timeout")) { A = true; s.onreadystatechange = ah.noop; R = bb === "timeout" ? "timeout" : !ah.httpSuccess(s) ? "error" : X.ifModified && ah.httpNotModified(s, X.url) ? "notmodified" : "success"; var bl; if (R === "success") { try { K = ah.httpData(s, X.dataType, X) } catch (ba) { R = "parsererror"; bl = ba } } if (R === "success" || R === "notmodified") { Q || Z() } else { ah.handleError(X, s, R, bl) } Y(); bb === "timeout" && s.abort(); if (X.async) { s = null } } } }; try { var T = s.abort; s.abort = function() { s && T.call(s); V("abort") } } catch (O) { } X.async && X.timeout > 0 && setTimeout(function() { s && !A && V("timeout") }, X.timeout); try { s.send(L === "POST" || L === "PUT" || L === "DELETE" ? X.data : null) } catch (N) { ah.handleError(X, s, null, N); Y() } X.async || V(); return s } }, handleError: function(s, c, A, w) { if (s.error) { s.error.call(s.context || s, c, A, w) } if (s.global) { (s.context ? ah(s.context) : ah.event).trigger("ajaxError", [c, s, w]) } }, active: 0, httpSuccess: function(s) { try { return !s.status && location.protocol === "file:" || s.status >= 200 && s.status < 300 || s.status === 304 || s.status === 1223 || s.status === 0 } catch (c) { } return false }, httpNotModified: function(s, c) { var A = s.getResponseHeader("Last-Modified"), w = s.getResponseHeader("Etag"); if (A) { ah.lastModified[c] = A } if (w) { ah.etag[c] = w } return s.status === 304 || s.status === 0 }, httpData: function(s, c, F) { var w = s.getResponseHeader("content-type") || "", A = c === "xml" || !c && w.indexOf("xml") >= 0; s = A ? s.responseXML : s.responseText; A && s.documentElement.nodeName === "parsererror" && ah.error("parsererror"); if (F && F.dataFilter) { s = F.dataFilter(s, c) } if (typeof s === "string") { if (c === "json" || !c && w.indexOf("json") >= 0) { s = ah.parseJSON(s) } else { if (c === "script" || !c && w.indexOf("javascript") >= 0) { ah.globalEval(s) } } } return s }, param: function(s, c) { function G(J, K) { if (ah.isArray(K)) { ah.each(K, function(L, N) { c || /\[\]$/.test(J) ? A(J, N) : G(J + "[" + (typeof N === "object" || ah.isArray(N) ? L : "") + "]", N) }) } else { !c && K != null && typeof K === "object" ? ah.each(K, function(L, N) { G(J + "[" + L + "]", N) }) : A(J, K) } } function A(J, K) { K = ah.isFunction(K) ? K() : K; F[F.length] = encodeURIComponent(J) + "=" + encodeURIComponent(K) } var F = []; if (c === I) { c = ah.ajaxSettings.traditional } if (ah.isArray(s) || s.jquery) { ah.each(s, function() { A(this.name, this.value) }) } else { for (var w in s) { G(w, s[w]) } } return F.join("&").replace(a5, "+") } }); var bg = {}, bc = /toggle|show|hide/, aX = /^([+-]=)?([\d+-.]+)(.*)$/, aq, D = [["height", "marginTop", "marginBottom", "paddingTop", "paddingBottom"], ["width", "marginLeft", "marginRight", "paddingLeft", "paddingRight"], ["opacity"]]; ah.fn.extend({ show: function(s, c) { if (s || s === 0) { return this.animate(aC("show", 3), s, c) } else { s = 0; for (c = this.length; s < c; s++) { var F = ah.data(this[s], "olddisplay"); this[s].style.display = F || ""; if (ah.css(this[s], "display") === "none") { F = this[s].nodeName; var w; if (bg[F]) { w = bg[F] } else { var A = ah("<" + F + " />").appendTo("body"); w = A.css("display"); if (w === "none") { w = "block" } A.remove(); bg[F] = w } ah.data(this[s], "olddisplay", w) } } s = 0; for (c = this.length; s < c; s++) { this[s].style.display = ah.data(this[s], "olddisplay") || "" } return this } }, hide: function(s, c) { if (s || s === 0) { return this.animate(aC("hide", 3), s, c) } else { s = 0; for (c = this.length; s < c; s++) { var w = ah.data(this[s], "olddisplay"); !w && w !== "none" && ah.data(this[s], "olddisplay", ah.css(this[s], "display")) } s = 0; for (c = this.length; s < c; s++) { this[s].style.display = "none" } return this } }, _toggle: ah.fn.toggle, toggle: function(s, c) { var w = typeof s === "boolean"; if (ah.isFunction(s) && ah.isFunction(c)) { this._toggle.apply(this, arguments) } else { s == null || w ? this.each(function() { var A = w ? s : ah(this).is(":hidden"); ah(this)[A ? "show" : "hide"]() }) : this.animate(aC("toggle", 3), s, c) } return this }, fadeTo: function(s, c, w) { return this.filter(":hidden").css("opacity", 0).show().end().animate({ opacity: c }, s, w) }, animate: function(s, c, F, w) { var A = ah.speed(c, F, w); if (ah.isEmptyObject(s)) { return this.each(A.complete) } return this[A.queue === false ? "each" : "queue"](function() { var J = ah.extend({}, A), K, L = this.nodeType === 1 && ah(this).is(":hidden"), G = this; for (K in s) { var N = K.replace(ad, v); if (K !== N) { s[N] = s[K]; delete s[K]; K = N } if (s[K] === "hide" && L || s[K] === "show" && !L) { return J.complete.call(this) } if ((K === "height" || K === "width") && this.style) { J.display = ah.css(this, "display"); J.overflow = this.style.overflow } if (ah.isArray(s[K])) { (J.specialEasing = J.specialEasing || {})[K] = s[K][1]; s[K] = s[K][0] } } if (J.overflow != null) { this.style.overflow = "hidden" } J.curAnim = ah.extend({}, s); ah.each(s, function(P, O) { var T = new ah.fx(G, J, P); if (bc.test(O)) { T[O === "toggle" ? L ? "show" : "hide" : O](s) } else { var R = aX.exec(O), V = T.cur(true) || 0; if (R) { O = parseFloat(R[2]); var Q = R[3] || "px"; if (Q !== "px") { G.style[P] = (O || 1) + Q; V = (O || 1) / T.cur(true) * V; G.style[P] = V + Q } if (R[1]) { O = (R[1] === "-=" ? -1 : 1) * O + V } T.custom(V, O, Q) } else { T.custom(V, O, "") } } }); return true }) }, stop: function(s, c) { var w = ah.timers; s && this.queue([]); this.each(function() { for (var A = w.length - 1; A >= 0; A--) { if (w[A].elem === this) { c && w[A](true); w.splice(A, 1) } } }); c || this.dequeue(); return this } }); ah.each({ slideDown: aC("show", 1), slideUp: aC("hide", 1), slideToggle: aC("toggle", 1), fadeIn: { opacity: "show" }, fadeOut: { opacity: "hide"} }, function(s, c) { ah.fn[s] = function(A, w) { return this.animate(c, A, w) } }); ah.extend({ speed: function(s, c, A) { var w = s && typeof s === "object" ? s : { complete: A || !A && c || ah.isFunction(s) && s, duration: s, easing: A && c || c && !ah.isFunction(c) && c }; w.duration = ah.fx.off ? 0 : typeof w.duration === "number" ? w.duration : ah.fx.speeds[w.duration] || ah.fx.speeds._default; w.old = w.complete; w.complete = function() { w.queue !== false && ah(this).dequeue(); ah.isFunction(w.old) && w.old.call(this) }; return w }, easing: { linear: function(s, c, A, w) { return A + w * s }, swing: function(s, c, A, w) { return (-Math.cos(s * Math.PI) / 2 + 0.5) * w + A } }, timers: [], fx: function(s, c, w) { this.options = c; this.elem = s; this.prop = w; if (!c.orig) { c.orig = {} } } }); ah.fx.prototype = { update: function() { this.options.step && this.options.step.call(this.elem, this.now, this); (ah.fx.step[this.prop] || ah.fx.step._default)(this); if ((this.prop === "height" || this.prop === "width") && this.elem.style) { this.elem.style.display = "block" } }, cur: function(c) { if (this.elem[this.prop] != null && (!this.elem.style || this.elem.style[this.prop] == null)) { return this.elem[this.prop] } return (c = parseFloat(ah.css(this.elem, this.prop, c))) && c > -10000 ? c : parseFloat(ah.curCSS(this.elem, this.prop)) || 0 }, custom: function(s, c, F) { function w(G) { return A.step(G) } this.startTime = aF(); this.start = s; this.end = c; this.unit = F || this.unit || "px"; this.now = this.start; this.pos = this.state = 0; var A = this; w.elem = this.elem; if (w() && ah.timers.push(w) && !aq) { aq = setInterval(ah.fx.tick, 13) } }, show: function() { this.options.orig[this.prop] = ah.style(this.elem, this.prop); this.options.show = true; this.custom(this.prop === "width" || this.prop === "height" ? 1 : 0, this.cur()); ah(this.elem).show() }, hide: function() { this.options.orig[this.prop] = ah.style(this.elem, this.prop); this.options.hide = true; this.custom(this.cur(), 0) }, step: function(s) { var c = aF(), F = true; if (s || c >= this.options.duration + this.startTime) { this.now = this.end; this.pos = this.state = 1; this.update(); this.options.curAnim[this.prop] = true; for (var w in this.options.curAnim) { if (this.options.curAnim[w] !== true) { F = false } } if (F) { if (this.options.display != null) { this.elem.style.overflow = this.options.overflow; s = ah.data(this.elem, "olddisplay"); this.elem.style.display = s ? s : this.options.display; if (ah.css(this.elem, "display") === "none") { this.elem.style.display = "block" } } this.options.hide && ah(this.elem).hide(); if (this.options.hide || this.options.show) { for (var A in this.options.curAnim) { ah.style(this.elem, A, this.options.orig[A]) } } this.options.complete.call(this.elem) } return false } else { A = c - this.startTime; this.state = A / this.options.duration; s = this.options.easing || (ah.easing.swing ? "swing" : "linear"); this.pos = ah.easing[this.options.specialEasing && this.options.specialEasing[this.prop] || s](this.state, A, 0, 1, this.options.duration); this.now = this.start + (this.end - this.start) * this.pos; this.update() } return true } }; ah.extend(ah.fx, { tick: function() { for (var s = ah.timers, c = 0; c < s.length; c++) { s[c]() || s.splice(c--, 1) } s.length || ah.fx.stop() }, stop: function() { clearInterval(aq); aq = null }, speeds: { slow: 600, fast: 200, _default: 400 }, step: { opacity: function(c) { ah.style(c.elem, "opacity", c.now) }, _default: function(c) { if (c.elem.style && c.elem.style[c.prop] != null) { c.elem.style[c.prop] = (c.prop === "width" || c.prop === "height" ? Math.max(0, c.now) : c.now) + c.unit } else { c.elem[c.prop] = c.now } } } }); if (ah.expr && ah.expr.filters) { ah.expr.filters.animated = function(c) { return ah.grep(ah.timers, function(s) { return c === s.elem }).length } } ah.fn.offset = "getBoundingClientRect" in M.documentElement ? function(s) { var c = this[0]; if (s) { return this.each(function(F) { ah.offset.setOffset(this, s, F) }) } if (!c || !c.ownerDocument) { return null } if (c === c.ownerDocument.body) { return ah.offset.bodyOffset(c) } var A = c.getBoundingClientRect(), w = c.ownerDocument; c = w.body; w = w.documentElement; return { top: A.top + (self.pageYOffset || ah.support.boxModel && w.scrollTop || c.scrollTop) - (w.clientTop || c.clientTop || 0), left: A.left + (self.pageXOffset || ah.support.boxModel && w.scrollLeft || c.scrollLeft) - (w.clientLeft || c.clientLeft || 0)} } : function(N) { var L = this[0]; if (N) { return this.each(function(O) { ah.offset.setOffset(this, N, O) }) } if (!L || !L.ownerDocument) { return null } if (L === L.ownerDocument.body) { return ah.offset.bodyOffset(L) } ah.offset.initialize(); var K = L.offsetParent, G = L, J = L.ownerDocument, A, F = J.documentElement, c = J.body; G = (J = J.defaultView) ? J.getComputedStyle(L, null) : L.currentStyle; for (var w = L.offsetTop, s = L.offsetLeft; (L = L.parentNode) && L !== c && L !== F; ) { if (ah.offset.supportsFixedPosition && G.position === "fixed") { break } A = J ? J.getComputedStyle(L, null) : L.currentStyle; w -= L.scrollTop; s -= L.scrollLeft; if (L === K) { w += L.offsetTop; s += L.offsetLeft; if (ah.offset.doesNotAddBorder && !(ah.offset.doesAddBorderForTableAndCells && /^t(able|d|h)$/i.test(L.nodeName))) { w += parseFloat(A.borderTopWidth) || 0; s += parseFloat(A.borderLeftWidth) || 0 } G = K; K = L.offsetParent } if (ah.offset.subtractsBorderForOverflowNotVisible && A.overflow !== "visible") { w += parseFloat(A.borderTopWidth) || 0; s += parseFloat(A.borderLeftWidth) || 0 } G = A } if (G.position === "relative" || G.position === "static") { w += c.offsetTop; s += c.offsetLeft } if (ah.offset.supportsFixedPosition && G.position === "fixed") { w += Math.max(F.scrollTop, c.scrollTop); s += Math.max(F.scrollLeft, c.scrollLeft) } return { top: w, left: s} }; ah.offset = { initialize: function() { var s = M.body, c = M.createElement("div"), G, A, F, w = parseFloat(ah.curCSS(s, "marginTop", true)) || 0; ah.extend(c.style, { position: "absolute", top: 0, left: 0, margin: 0, border: 0, width: "1px", height: "1px", visibility: "hidden" }); c.innerHTML = "<div style='position:absolute;top:0;left:0;margin:0;border:5px solid #000;padding:0;width:1px;height:1px;'><div></div></div><table style='position:absolute;top:0;left:0;margin:0;border:5px solid #000;padding:0;width:1px;height:1px;' cellpadding='0' cellspacing='0'><tr><td></td></tr></table>"; s.insertBefore(c, s.firstChild); G = c.firstChild; A = G.firstChild; F = G.nextSibling.firstChild.firstChild; this.doesNotAddBorder = A.offsetTop !== 5; this.doesAddBorderForTableAndCells = F.offsetTop === 5; A.style.position = "fixed"; A.style.top = "20px"; this.supportsFixedPosition = A.offsetTop === 20 || A.offsetTop === 15; A.style.position = A.style.top = ""; G.style.overflow = "hidden"; G.style.position = "relative"; this.subtractsBorderForOverflowNotVisible = A.offsetTop === -5; this.doesNotIncludeMarginInBodyOffset = s.offsetTop !== w; s.removeChild(c); ah.offset.initialize = ah.noop }, bodyOffset: function(s) { var c = s.offsetTop, w = s.offsetLeft; ah.offset.initialize(); if (ah.offset.doesNotIncludeMarginInBodyOffset) { c += parseFloat(ah.curCSS(s, "marginTop", true)) || 0; w += parseFloat(ah.curCSS(s, "marginLeft", true)) || 0 } return { top: c, left: w} }, setOffset: function(s, c, J) { if (/static/.test(ah.curCSS(s, "position"))) { s.style.position = "relative" } var F = ah(s), G = F.offset(), w = parseInt(ah.curCSS(s, "top", true), 10) || 0, A = parseInt(ah.curCSS(s, "left", true), 10) || 0; if (ah.isFunction(c)) { c = c.call(s, J, G) } J = { top: c.top - G.top + w, left: c.left - G.left + A }; "using" in c ? c.using.call(s, J) : F.css(J) } }; ah.fn.extend({ position: function() { if (!this[0]) { return null } var s = this[0], c = this.offsetParent(), A = this.offset(), w = /^body|html$/i.test(c[0].nodeName) ? { top: 0, left: 0} : c.offset(); A.top -= parseFloat(ah.curCSS(s, "marginTop", true)) || 0; A.left -= parseFloat(ah.curCSS(s, "marginLeft", true)) || 0; w.top += parseFloat(ah.curCSS(c[0], "borderTopWidth", true)) || 0; w.left += parseFloat(ah.curCSS(c[0], "borderLeftWidth", true)) || 0; return { top: A.top - w.top, left: A.left - w.left} }, offsetParent: function() { return this.map(function() { for (var c = this.offsetParent || M.body; c && !/^body|html$/i.test(c.nodeName) && ah.css(c, "position") === "static"; ) { c = c.offsetParent } return c }) } }); ah.each(["Left", "Top"], function(s, c) { var w = "scroll" + c; ah.fn[w] = function(F) { var G = this[0], A; if (!G) { return null } if (F !== I) { return this.each(function() { if (A = o(this)) { A.scrollTo(!s ? F : ah(A).scrollLeft(), s ? F : ah(A).scrollTop()) } else { this[w] = F } }) } else { return (A = o(G)) ? "pageXOffset" in A ? A[s ? "pageYOffset" : "pageXOffset"] : ah.support.boxModel && A.document.documentElement[w] || A.document.body[w] : G[w] } } }); ah.each(["Height", "Width"], function(s, c) { var w = c.toLowerCase(); ah.fn["inner" + c] = function() { return this[0] ? ah.css(this[0], w, false, "padding") : null }; ah.fn["outer" + c] = function(A) { return this[0] ? ah.css(this[0], w, false, A ? "margin" : "border") : null }; ah.fn[w] = function(A) { var F = this[0]; if (!F) { return A == null ? null : this } if (ah.isFunction(A)) { return this.each(function(G) { var J = ah(this); J[w](A.call(this, G, J[w]())) }) } return "scrollTo" in F && F.document ? F.document.compatMode === "CSS1Compat" && F.document.documentElement["client" + c] || F.document.body["client" + c] : F.nodeType === 9 ? Math.max(F.documentElement["client" + c], F.body["scroll" + c], F.documentElement["scroll" + c], F.body["offset" + c], F.documentElement["offset" + c]) : A === I ? ah.css(F, w) : this.css(w, typeof A === "string" ? A : A + "px") } }); aO.jQuery = aO.$ = ah })(window); jQuery.ajaxQueue = function(b) { var a = b.complete; b.complete = function() { if (a) { a.apply(this, arguments) } jQuery.dequeue(jQuery.ajaxQueue, "ajax") }; jQuery([jQuery.ajaxQueue]).queue("ajax", function() { jQuery.ajax(b) }) }; jQuery.ajaxSync = function(c) { var a = jQuery.ajaxSync.fn, b = jQuery.ajaxSync.data, d = a.length; a[d] = { error: c.error, success: c.success, complete: c.complete, done: false }; b[d] = { error: [], success: [], complete: [] }; c.error = function() { b[d].error = arguments }; c.success = function() { b[d].success = arguments }; c.complete = function() { b[d].complete = arguments; a[d].done = true; if (d == 0 || !a[d - 1]) { for (var e = d; e < a.length && a[e].done; e++) { if (a[e].error) { a[e].error.apply(jQuery, b[e].error) } if (a[e].success) { a[e].success.apply(jQuery, b[e].success) } if (a[e].complete) { a[e].complete.apply(jQuery, b[e].complete) } a[e] = null; b[e] = null } } }; return jQuery.ajax(c) }; jQuery.ajaxSync.fn = []; jQuery.ajaxSync.data = []; (function(a, c) { a.ui = a.ui || {}; if (a.ui.version) { return } a.extend(a.ui, { version: "1.8.6", 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} }); a.fn.extend({ _focus: a.fn.focus, focus: function(d, e) { return typeof d === "number" ? this.each(function() { var f = this; setTimeout(function() { a(f).focus(); if (e) { e.call(f) } }, d) }) : this._focus.apply(this, arguments) }, scrollParent: function() { var d; if ((a.browser.msie && (/(static|relative)/).test(this.css("position"))) || (/absolute/).test(this.css("position"))) { d = this.parents().filter(function() { return (/(relative|absolute|fixed)/).test(a.curCSS(this, "position", 1)) && (/(auto|scroll)/).test(a.curCSS(this, "overflow", 1) + a.curCSS(this, "overflow-y", 1) + a.curCSS(this, "overflow-x", 1)) }).eq(0) } else { d = this.parents().filter(function() { return (/(auto|scroll)/).test(a.curCSS(this, "overflow", 1) + a.curCSS(this, "overflow-y", 1) + a.curCSS(this, "overflow-x", 1)) }).eq(0) } return (/fixed/).test(this.css("position")) || !d.length ? a(document) : d }, zIndex: function(g) { if (g !== c) { return this.css("zIndex", g) } if (this.length) { var e = a(this[0]), d, f; while (e.length && e[0] !== document) { d = e.css("position"); if (d === "absolute" || d === "relative" || d === "fixed") { f = parseInt(e.css("zIndex"), 10); if (!isNaN(f) && f !== 0) { return f } } e = e.parent() } } return 0 }, disableSelection: function() { return this.bind((a.support.selectstart ? "selectstart" : "mousedown") + ".ui-disableSelection", function(d) { d.preventDefault() }) }, enableSelection: function() { return this.unbind(".ui-disableSelection") } }); a.each(["Width", "Height"], function(f, d) { var e = d === "Width" ? ["Left", "Right"] : ["Top", "Bottom"], g = d.toLowerCase(), j = { innerWidth: a.fn.innerWidth, innerHeight: a.fn.innerHeight, outerWidth: a.fn.outerWidth, outerHeight: a.fn.outerHeight }; function h(l, k, i, m) { a.each(e, function() { k -= parseFloat(a.curCSS(l, "padding" + this, true)) || 0; if (i) { k -= parseFloat(a.curCSS(l, "border" + this + "Width", true)) || 0 } if (m) { k -= parseFloat(a.curCSS(l, "margin" + this, true)) || 0 } }); return k } a.fn["inner" + d] = function(i) { if (i === c) { return j["inner" + d].call(this) } return this.each(function() { a(this).css(g, h(this, i) + "px") }) }; a.fn["outer" + d] = function(i, k) { if (typeof i !== "number") { return j["outer" + d].call(this, i) } return this.each(function() { a(this).css(g, h(this, i, true, k) + "px") }) } }); function b(d) { return !a(d).parents().andSelf().filter(function() { return a.curCSS(this, "visibility") === "hidden" || a.expr.filters.hidden(this) }).length } a.extend(a.expr[":"], { data: function(f, e, d) { return !!a.data(f, d[3]) }, focusable: function(f) { var i = f.nodeName.toLowerCase(), d = a.attr(f, "tabindex"); if ("area" === i) { var h = f.parentNode, g = h.name, e; if (!f.href || !g || h.nodeName.toLowerCase() !== "map") { return false } e = a("img[usemap=#" + g + "]")[0]; return !!e && b(e) } return (/input|select|textarea|button|object/.test(i) ? !f.disabled : "a" == i ? f.href || !isNaN(d) : !isNaN(d)) && b(f) }, tabbable: function(e) { var d = a.attr(e, "tabindex"); return (isNaN(d) || d >= 0) && a(e).is(":focusable") } }); a(function() { var d = document.body, e = d.appendChild(e = document.createElement("div")); a.extend(e.style, { minHeight: "100px", height: "auto", padding: 0, borderWidth: 0 }); a.support.minHeight = e.offsetHeight === 100; a.support.selectstart = "onselectstart" in e; d.removeChild(e).style.display = "none" }); a.extend(a.ui, { plugin: { add: function(e, f, h) { var g = a.ui[e].prototype; for (var d in h) { g.plugins[d] = g.plugins[d] || []; g.plugins[d].push([f, h[d]]) } }, call: function(d, f, e) { var h = d.plugins[f]; if (!h || !d.element[0].parentNode) { return } for (var g = 0; g < h.length; g++) { if (d.options[h[g][0]]) { h[g][1].apply(d.element, e) } } } }, contains: function(e, d) { return document.compareDocumentPosition ? e.compareDocumentPosition(d) & 16 : e !== d && e.contains(d) }, hasScroll: function(g, e) { if (a(g).css("overflow") === "hidden") { return false } var d = (e && e === "left") ? "scrollLeft" : "scrollTop", f = false; if (g[d] > 0) { return true } g[d] = 1; f = (g[d] > 0); g[d] = 0; return f }, isOverAxis: function(e, d, f) { return (e > d) && (e < (d + f)) }, isOver: function(i, e, h, g, d, f) { return a.ui.isOverAxis(i, h, d) && a.ui.isOverAxis(e, g, f) } }) })(jQuery);
(function(b, d) { if (b.cleanData) { var c = b.cleanData; b.cleanData = function(e) { for (var f = 0, g; (g = e[f]) != null; f++) { b(g).triggerHandler("remove") } c(e) } } else { var a = b.fn.remove; b.fn.remove = function(e, f) { return this.each(function() { if (!f) { if (!e || b.filter(e, [this]).length) { b("*", this).add([this]).each(function() { b(this).triggerHandler("remove") }) } } return a.call(b(this), e, f) }) } } b.widget = function(f, h, e) { var g = f.split(".")[0], j; f = f.split(".")[1]; j = g + "-" + f; if (!e) { e = h; h = b.Widget } b.expr[":"][j] = function(k) { return !!b.data(k, f) }; b[g] = b[g] || {}; b[g][f] = function(k, l) { if (arguments.length) { this._createWidget(k, l) } }; var i = new h(); i.options = b.extend(true, {}, i.options); b[g][f].prototype = b.extend(true, i, { namespace: g, widgetName: f, widgetEventPrefix: b[g][f].prototype.widgetEventPrefix || f, widgetBaseClass: j }, e); b.widget.bridge(f, b[g][f]) }; b.widget.bridge = function(f, e) { b.fn[f] = function(i) { var g = typeof i === "string", h = Array.prototype.slice.call(arguments, 1), j = this; i = !g && h.length ? b.extend.apply(null, [true, i].concat(h)) : i; if (g && i.charAt(0) === "_") { return j } if (g) { this.each(function() { var k = b.data(this, f), l = k && b.isFunction(k[i]) ? k[i].apply(k, h) : k; if (l !== k && l !== d) { j = l; return false } }) } else { this.each(function() { var k = b.data(this, f); if (k) { k.option(i || {})._init() } else { b.data(this, f, new e(i, this)) } }) } return j } }; b.Widget = function(e, f) { if (arguments.length) { this._createWidget(e, f) } }; b.Widget.prototype = { widgetName: "widget", widgetEventPrefix: "", options: { disabled: false }, _createWidget: function(f, g) { b.data(g, this.widgetName, this); this.element = b(g); this.options = b.extend(true, {}, this.options, this._getCreateOptions(), f); var e = this; this.element.bind("remove." + this.widgetName, function() { e.destroy() }); this._create(); this._trigger("create"); this._init() }, _getCreateOptions: function() { return b.metadata && b.metadata.get(this.element[0])[this.widgetName] }, _create: function() { }, _init: function() { }, destroy: function() { this.element.unbind("." + this.widgetName).removeData(this.widgetName); this.widget().unbind("." + this.widgetName).removeAttr("aria-disabled").removeClass(this.widgetBaseClass + "-disabled ui-state-disabled") }, widget: function() { return this.element }, option: function(f, g) { var e = f; if (arguments.length === 0) { return b.extend({}, this.options) } if (typeof f === "string") { if (g === d) { return this.options[f] } e = {}; e[f] = g } this._setOptions(e); return this }, _setOptions: function(f) { var e = this; b.each(f, function(g, h) { e._setOption(g, h) }); return this }, _setOption: function(e, f) { this.options[e] = f; if (e === "disabled") { this.widget()[f ? "addClass" : "removeClass"](this.widgetBaseClass + "-disabled ui-state-disabled").attr("aria-disabled", f) } return this }, enable: function() { return this._setOption("disabled", false) }, disable: function() { return this._setOption("disabled", true) }, _trigger: function(f, g, h) { var k = this.options[f]; g = b.Event(g); g.type = (f === this.widgetEventPrefix ? f : this.widgetEventPrefix + f).toLowerCase(); h = h || {}; if (g.originalEvent) { for (var e = b.event.props.length, j; e; ) { j = b.event.props[--e]; g[j] = g.originalEvent[j] } } this.element.trigger(g, h); return !(b.isFunction(k) && k.call(this.element[0], g, h) === false || g.isDefaultPrevented()) } } })(jQuery);
(function(a, b) { a.widget("ui.mouse", { options: { cancel: ":input,option", distance: 1, delay: 0 }, _mouseInit: function() { var c = this; this.element.bind("mousedown." + this.widgetName, function(d) { return c._mouseDown(d) }).bind("click." + this.widgetName, function(d) { if (c._preventClickEvent) { c._preventClickEvent = false; d.stopImmediatePropagation(); return false } }); this.started = false }, _mouseDestroy: function() { this.element.unbind("." + this.widgetName) }, _mouseDown: function(e) { e.originalEvent = e.originalEvent || {}; if (e.originalEvent.mouseHandled) { return } (this._mouseStarted && this._mouseUp(e)); this._mouseDownEvent = e; var d = this, f = (e.which == 1), c = (typeof this.options.cancel == "string" ? a(e.target).parents().add(e.target).filter(this.options.cancel).length : false); if (!f || c || !this._mouseCapture(e)) { return true } this.mouseDelayMet = !this.options.delay; if (!this.mouseDelayMet) { this._mouseDelayTimer = setTimeout(function() { d.mouseDelayMet = true }, this.options.delay) } if (this._mouseDistanceMet(e) && this._mouseDelayMet(e)) { this._mouseStarted = (this._mouseStart(e) !== false); if (!this._mouseStarted) { e.preventDefault(); return true } } this._mouseMoveDelegate = function(g) { return d._mouseMove(g) }; this._mouseUpDelegate = function(g) { return d._mouseUp(g) }; a(document).bind("mousemove." + this.widgetName, this._mouseMoveDelegate).bind("mouseup." + this.widgetName, this._mouseUpDelegate); e.preventDefault(); e.originalEvent.mouseHandled = true; return true }, _mouseMove: function(c) { if (a.browser.msie && !(document.documentMode >= 9) && !c.button) { return this._mouseUp(c) } if (this._mouseStarted) { this._mouseDrag(c); return c.preventDefault() } if (this._mouseDistanceMet(c) && this._mouseDelayMet(c)) { this._mouseStarted = (this._mouseStart(this._mouseDownEvent, c) !== false); (this._mouseStarted ? this._mouseDrag(c) : this._mouseUp(c)) } return !this._mouseStarted }, _mouseUp: function(c) { a(document).unbind("mousemove." + this.widgetName, this._mouseMoveDelegate).unbind("mouseup." + this.widgetName, this._mouseUpDelegate); if (this._mouseStarted) { this._mouseStarted = false; this._preventClickEvent = (c.target == this._mouseDownEvent.target); this._mouseStop(c) } return false }, _mouseDistanceMet: function(c) { return (Math.max(Math.abs(this._mouseDownEvent.pageX - c.pageX), Math.abs(this._mouseDownEvent.pageY - c.pageY)) >= this.options.distance) }, _mouseDelayMet: function(c) { return this.mouseDelayMet }, _mouseStart: function(c) { }, _mouseDrag: function(c) { }, _mouseStop: function(c) { }, _mouseCapture: function(c) { return true } }) })(jQuery); (function(a, b) { a.widget("ui.draggable", a.ui.mouse, { widgetEventPrefix: "drag", options: { addClasses: true, appendTo: "parent", axis: false, connectToSortable: false, containment: false, cursor: "auto", cursorAt: false, grid: false, handle: false, helper: "original", iframeFix: false, opacity: false, refreshPositions: false, revert: false, revertDuration: 500, scope: "default", scroll: true, scrollSensitivity: 20, scrollSpeed: 20, snap: false, snapMode: "both", snapTolerance: 20, stack: false, zIndex: false }, _create: function() { if (this.options.helper == "original" && !(/^(?:r|a|f)/).test(this.element.css("position"))) { this.element[0].style.position = "relative" } (this.options.addClasses && this.element.addClass("ui-draggable")); (this.options.disabled && this.element.addClass("ui-draggable-disabled")); this._mouseInit() }, destroy: function() { if (!this.element.data("draggable")) { return } this.element.removeData("draggable").unbind(".draggable").removeClass("ui-draggable ui-draggable-dragging ui-draggable-disabled"); this._mouseDestroy(); return this }, _mouseCapture: function(c) { var d = this.options; if (this.helper || d.disabled || a(c.target).is(".ui-resizable-handle")) { return false } this.handle = this._getHandle(c); if (!this.handle) { return false } return true }, _mouseStart: function(c) { var d = this.options; this.helper = this._createHelper(c); this._cacheHelperProportions(); if (a.ui.ddmanager) { a.ui.ddmanager.current = this } this._cacheMargins(); this.cssPosition = this.helper.css("position"); this.scrollParent = this.helper.scrollParent(); this.offset = this.positionAbs = this.element.offset(); this.offset = { top: this.offset.top - this.margins.top, left: this.offset.left - this.margins.left }; a.extend(this.offset, { click: { left: c.pageX - this.offset.left, top: c.pageY - this.offset.top }, parent: this._getParentOffset(), relative: this._getRelativeOffset() }); this.originalPosition = this.position = this._generatePosition(c); this.originalPageX = c.pageX; this.originalPageY = c.pageY; (d.cursorAt && this._adjustOffsetFromHelper(d.cursorAt)); if (d.containment) { this._setContainment() } if (this._trigger("start", c) === false) { this._clear(); return false } this._cacheHelperProportions(); if (a.ui.ddmanager && !d.dropBehaviour) { a.ui.ddmanager.prepareOffsets(this, c) } this.helper.addClass("ui-draggable-dragging"); this._mouseDrag(c, true); return true }, _mouseDrag: function(c, e) { this.position = this._generatePosition(c); this.positionAbs = this._convertPositionTo("absolute"); if (!e) { var d = this._uiHash(); if (this._trigger("drag", c, d) === false) { this._mouseUp({}); return false } this.position = d.position } if (!this.options.axis || this.options.axis != "y") { this.helper[0].style.left = this.position.left + "px" } if (!this.options.axis || this.options.axis != "x") { this.helper[0].style.top = this.position.top + "px" } if (a.ui.ddmanager) { a.ui.ddmanager.drag(this, c) } return false }, _mouseStop: function(d) { var e = false; if (a.ui.ddmanager && !this.options.dropBehaviour) { e = a.ui.ddmanager.drop(this, d) } if (this.dropped) { e = this.dropped; this.dropped = false } if (!this.element[0] || !this.element[0].parentNode) { return false } if ((this.options.revert == "invalid" && !e) || (this.options.revert == "valid" && e) || this.options.revert === true || (a.isFunction(this.options.revert) && this.options.revert.call(this.element, e))) { var c = this; a(this.helper).animate(this.originalPosition, parseInt(this.options.revertDuration, 10), function() { if (c._trigger("stop", d) !== false) { c._clear() } }) } else { if (this._trigger("stop", d) !== false) { this._clear() } } return false }, cancel: function() { if (this.helper.is(".ui-draggable-dragging")) { this._mouseUp({}) } else { this._clear() } return this }, _getHandle: function(c) { var d = !this.options.handle || !a(this.options.handle, this.element).length ? true : false; a(this.options.handle, this.element).find("*").andSelf().each(function() { if (this == c.target) { d = true } }); return d }, _createHelper: function(d) { var e = this.options; var c = a.isFunction(e.helper) ? a(e.helper.apply(this.element[0], [d])) : (e.helper == "clone" ? this.element.clone() : this.element); if (!c.parents("body").length) { c.appendTo((e.appendTo == "parent" ? this.element[0].parentNode : e.appendTo)) } if (c[0] != this.element[0] && !(/(fixed|absolute)/).test(c.css("position"))) { c.css("position", "absolute") } return c }, _adjustOffsetFromHelper: function(c) { if (typeof c == "string") { c = c.split(" ") } if (a.isArray(c)) { c = { left: +c[0], top: +c[1] || 0} } if ("left" in c) { this.offset.click.left = c.left + this.margins.left } if ("right" in c) { this.offset.click.left = this.helperProportions.width - c.right + this.margins.left } if ("top" in c) { this.offset.click.top = c.top + this.margins.top } if ("bottom" in c) { this.offset.click.top = this.helperProportions.height - c.bottom + this.margins.top } }, _getParentOffset: function() { this.offsetParent = this.helper.offsetParent(); var c = this.offsetParent.offset(); if (this.cssPosition == "absolute" && this.scrollParent[0] != document && a.ui.contains(this.scrollParent[0], this.offsetParent[0])) { c.left += this.scrollParent.scrollLeft(); c.top += this.scrollParent.scrollTop() } if ((this.offsetParent[0] == document.body) || (this.offsetParent[0].tagName && this.offsetParent[0].tagName.toLowerCase() == "html" && a.browser.msie)) { c = { top: 0, left: 0} } return { top: c.top + (parseInt(this.offsetParent.css("borderTopWidth"), 10) || 0), left: c.left + (parseInt(this.offsetParent.css("borderLeftWidth"), 10) || 0)} }, _getRelativeOffset: function() { if (this.cssPosition == "relative") { var c = this.element.position(); return { top: c.top - (parseInt(this.helper.css("top"), 10) || 0) + this.scrollParent.scrollTop(), left: c.left - (parseInt(this.helper.css("left"), 10) || 0) + this.scrollParent.scrollLeft()} } else { return { top: 0, left: 0} } }, _cacheMargins: function() { this.margins = { left: (parseInt(this.element.css("marginLeft"), 10) || 0), top: (parseInt(this.element.css("marginTop"), 10) || 0)} }, _cacheHelperProportions: function() { this.helperProportions = { width: this.helper.outerWidth(), height: this.helper.outerHeight()} }, _setContainment: function() { var f = this.options; if (f.containment == "parent") { f.containment = this.helper[0].parentNode } if (f.containment == "document" || f.containment == "window") { this.containment = [0 - this.offset.relative.left - this.offset.parent.left, 0 - this.offset.relative.top - this.offset.parent.top, a(f.containment == "document" ? document : window).width() - this.helperProportions.width - this.margins.left, (a(f.containment == "document" ? document : window).height() || document.body.parentNode.scrollHeight) - this.helperProportions.height - this.margins.top] } if (!(/^(document|window|parent)$/).test(f.containment) && f.containment.constructor != Array) { var d = a(f.containment)[0]; if (!d) { return } var e = a(f.containment).offset(); var c = (a(d).css("overflow") != "hidden"); this.containment = [e.left + (parseInt(a(d).css("borderLeftWidth"), 10) || 0) + (parseInt(a(d).css("paddingLeft"), 10) || 0) - this.margins.left, e.top + (parseInt(a(d).css("borderTopWidth"), 10) || 0) + (parseInt(a(d).css("paddingTop"), 10) || 0) - this.margins.top, e.left + (c ? Math.max(d.scrollWidth, d.offsetWidth) : d.offsetWidth) - (parseInt(a(d).css("borderLeftWidth"), 10) || 0) - (parseInt(a(d).css("paddingRight"), 10) || 0) - this.helperProportions.width - this.margins.left, e.top + (c ? Math.max(d.scrollHeight, d.offsetHeight) : d.offsetHeight) - (parseInt(a(d).css("borderTopWidth"), 10) || 0) - (parseInt(a(d).css("paddingBottom"), 10) || 0) - this.helperProportions.height - this.margins.top] } else { if (f.containment.constructor == Array) { this.containment = f.containment } } }, _convertPositionTo: function(g, i) { if (!i) { i = this.position } var e = g == "absolute" ? 1 : -1; var f = this.options, c = this.cssPosition == "absolute" && !(this.scrollParent[0] != document && a.ui.contains(this.scrollParent[0], this.offsetParent[0])) ? this.offsetParent : this.scrollParent, h = (/(html|body)/i).test(c[0].tagName); return { top: (i.top + this.offset.relative.top * e + this.offset.parent.top * e - (a.browser.safari && a.browser.version < 526 && this.cssPosition == "fixed" ? 0 : (this.cssPosition == "fixed" ? -this.scrollParent.scrollTop() : (h ? 0 : c.scrollTop())) * e)), left: (i.left + this.offset.relative.left * e + this.offset.parent.left * e - (a.browser.safari && a.browser.version < 526 && this.cssPosition == "fixed" ? 0 : (this.cssPosition == "fixed" ? -this.scrollParent.scrollLeft() : h ? 0 : c.scrollLeft()) * e))} }, _generatePosition: function(f) { var i = this.options, c = this.cssPosition == "absolute" && !(this.scrollParent[0] != document && a.ui.contains(this.scrollParent[0], this.offsetParent[0])) ? this.offsetParent : this.scrollParent, j = (/(html|body)/i).test(c[0].tagName); var e = f.pageX; var d = f.pageY; if (this.originalPosition) { if (this.containment) { if (f.pageX - this.offset.click.left < this.containment[0]) { e = this.containment[0] + this.offset.click.left } if (f.pageY - this.offset.click.top < this.containment[1]) { d = this.containment[1] + this.offset.click.top } if (f.pageX - this.offset.click.left > this.containment[2]) { e = this.containment[2] + this.offset.click.left } if (f.pageY - this.offset.click.top > this.containment[3]) { d = this.containment[3] + this.offset.click.top } } if (i.grid) { var h = this.originalPageY + Math.round((d - this.originalPageY) / i.grid[1]) * i.grid[1]; d = this.containment ? (!(h - this.offset.click.top < this.containment[1] || h - this.offset.click.top > this.containment[3]) ? h : (!(h - this.offset.click.top < this.containment[1]) ? h - i.grid[1] : h + i.grid[1])) : h; var g = this.originalPageX + Math.round((e - this.originalPageX) / i.grid[0]) * i.grid[0]; e = this.containment ? (!(g - this.offset.click.left < this.containment[0] || g - this.offset.click.left > this.containment[2]) ? g : (!(g - this.offset.click.left < this.containment[0]) ? g - i.grid[0] : g + i.grid[0])) : g } } return { top: (d - this.offset.click.top - this.offset.relative.top - this.offset.parent.top + (a.browser.safari && a.browser.version < 526 && this.cssPosition == "fixed" ? 0 : (this.cssPosition == "fixed" ? -this.scrollParent.scrollTop() : (j ? 0 : c.scrollTop())))), left: (e - this.offset.click.left - this.offset.relative.left - this.offset.parent.left + (a.browser.safari && a.browser.version < 526 && this.cssPosition == "fixed" ? 0 : (this.cssPosition == "fixed" ? -this.scrollParent.scrollLeft() : j ? 0 : c.scrollLeft())))} }, _clear: function() { this.helper.removeClass("ui-draggable-dragging"); if (this.helper[0] != this.element[0] && !this.cancelHelperRemoval) { this.helper.remove() } this.helper = null; this.cancelHelperRemoval = false }, _trigger: function(c, d, e) { e = e || this._uiHash(); a.ui.plugin.call(this, c, [d, e]); if (c == "drag") { this.positionAbs = this._convertPositionTo("absolute") } return a.Widget.prototype._trigger.call(this, c, d, e) }, plugins: {}, _uiHash: function(c) { return { helper: this.helper, position: this.position, originalPosition: this.originalPosition, offset: this.positionAbs} } }); a.extend(a.ui.draggable, { version: "1.8.6" }); a.ui.plugin.add("draggable", "connectToSortable", { start: function(d, f) { var e = a(this).data("draggable"), g = e.options, c = a.extend({}, f, { item: e.element }); e.sortables = []; a(g.connectToSortable).each(function() { var h = a.data(this, "sortable"); if (h && !h.options.disabled) { e.sortables.push({ instance: h, shouldRevert: h.options.revert }); h._refreshItems(); h._trigger("activate", d, c) } }) }, stop: function(d, f) { var e = a(this).data("draggable"), c = a.extend({}, f, { item: e.element }); a.each(e.sortables, function() { if (this.instance.isOver) { this.instance.isOver = 0; e.cancelHelperRemoval = true; this.instance.cancelHelperRemoval = false; if (this.shouldRevert) { this.instance.options.revert = true } this.instance._mouseStop(d); this.instance.options.helper = this.instance.options._helper; if (e.options.helper == "original") { this.instance.currentItem.css({ top: "auto", left: "auto" }) } } else { this.instance.cancelHelperRemoval = false; this.instance._trigger("deactivate", d, c) } }) }, drag: function(d, g) { var f = a(this).data("draggable"), c = this; var e = function(j) { var p = this.offset.click.top, n = this.offset.click.left; var h = this.positionAbs.top, l = this.positionAbs.left; var k = j.height, m = j.width; var q = j.top, i = j.left; return a.ui.isOver(h + p, l + n, q, i, k, m) }; a.each(f.sortables, function(h) { this.instance.positionAbs = f.positionAbs; this.instance.helperProportions = f.helperProportions; this.instance.offset.click = f.offset.click; if (this.instance._intersectsWith(this.instance.containerCache)) { if (!this.instance.isOver) { this.instance.isOver = 1; this.instance.currentItem = a(c).clone().appendTo(this.instance.element).data("sortable-item", true); this.instance.options._helper = this.instance.options.helper; this.instance.options.helper = function() { return g.helper[0] }; d.target = this.instance.currentItem[0]; this.instance._mouseCapture(d, true); this.instance._mouseStart(d, true, true); this.instance.offset.click.top = f.offset.click.top; this.instance.offset.click.left = f.offset.click.left; this.instance.offset.parent.left -= f.offset.parent.left - this.instance.offset.parent.left; this.instance.offset.parent.top -= f.offset.parent.top - this.instance.offset.parent.top; f._trigger("toSortable", d); f.dropped = this.instance.element; f.currentItem = f.element; this.instance.fromOutside = f } if (this.instance.currentItem) { this.instance._mouseDrag(d) } } else { if (this.instance.isOver) { this.instance.isOver = 0; this.instance.cancelHelperRemoval = true; this.instance.options.revert = false; this.instance._trigger("out", d, this.instance._uiHash(this.instance)); this.instance._mouseStop(d, true); this.instance.options.helper = this.instance.options._helper; this.instance.currentItem.remove(); if (this.instance.placeholder) { this.instance.placeholder.remove() } f._trigger("fromSortable", d); f.dropped = false } } }) } }); a.ui.plugin.add("draggable", "cursor", { start: function(d, e) { var c = a("body"), f = a(this).data("draggable").options; if (c.css("cursor")) { f._cursor = c.css("cursor") } c.css("cursor", f.cursor) }, stop: function(c, d) { var e = a(this).data("draggable").options; if (e._cursor) { a("body").css("cursor", e._cursor) } } }); a.ui.plugin.add("draggable", "iframeFix", { start: function(c, d) { var e = a(this).data("draggable").options; a(e.iframeFix === true ? "iframe" : e.iframeFix).each(function() { a('<div class="ui-draggable-iframeFix" style="background: #fff;"></div>').css({ width: this.offsetWidth + "px", height: this.offsetHeight + "px", position: "absolute", opacity: "0.001", zIndex: 1000 }).css(a(this).offset()).appendTo("body") }) }, stop: function(c, d) { a("div.ui-draggable-iframeFix").each(function() { this.parentNode.removeChild(this) }) } }); a.ui.plugin.add("draggable", "opacity", { start: function(d, e) { var c = a(e.helper), f = a(this).data("draggable").options; if (c.css("opacity")) { f._opacity = c.css("opacity") } c.css("opacity", f.opacity) }, stop: function(c, d) { var e = a(this).data("draggable").options; if (e._opacity) { a(d.helper).css("opacity", e._opacity) } } }); a.ui.plugin.add("draggable", "scroll", { start: function(d, e) { var c = a(this).data("draggable"); if (c.scrollParent[0] != document && c.scrollParent[0].tagName != "HTML") { c.overflowOffset = c.scrollParent.offset() } }, drag: function(e, f) { var d = a(this).data("draggable"), g = d.options, c = false; if (d.scrollParent[0] != document && d.scrollParent[0].tagName != "HTML") { if (!g.axis || g.axis != "x") { if ((d.overflowOffset.top + d.scrollParent[0].offsetHeight) - e.pageY < g.scrollSensitivity) { d.scrollParent[0].scrollTop = c = d.scrollParent[0].scrollTop + g.scrollSpeed } else { if (e.pageY - d.overflowOffset.top < g.scrollSensitivity) { d.scrollParent[0].scrollTop = c = d.scrollParent[0].scrollTop - g.scrollSpeed } } } if (!g.axis || g.axis != "y") { if ((d.overflowOffset.left + d.scrollParent[0].offsetWidth) - e.pageX < g.scrollSensitivity) { d.scrollParent[0].scrollLeft = c = d.scrollParent[0].scrollLeft + g.scrollSpeed } else { if (e.pageX - d.overflowOffset.left < g.scrollSensitivity) { d.scrollParent[0].scrollLeft = c = d.scrollParent[0].scrollLeft - g.scrollSpeed } } } } else { if (!g.axis || g.axis != "x") { if (e.pageY - a(document).scrollTop() < g.scrollSensitivity) { c = a(document).scrollTop(a(document).scrollTop() - g.scrollSpeed) } else { if (a(window).height() - (e.pageY - a(document).scrollTop()) < g.scrollSensitivity) { c = a(document).scrollTop(a(document).scrollTop() + g.scrollSpeed) } } } if (!g.axis || g.axis != "y") { if (e.pageX - a(document).scrollLeft() < g.scrollSensitivity) { c = a(document).scrollLeft(a(document).scrollLeft() - g.scrollSpeed) } else { if (a(window).width() - (e.pageX - a(document).scrollLeft()) < g.scrollSensitivity) { c = a(document).scrollLeft(a(document).scrollLeft() + g.scrollSpeed) } } } } if (c !== false && a.ui.ddmanager && !g.dropBehaviour) { a.ui.ddmanager.prepareOffsets(d, e) } } }); a.ui.plugin.add("draggable", "snap", { start: function(d, e) { var c = a(this).data("draggable"), f = c.options; c.snapElements = []; a(f.snap.constructor != String ? (f.snap.items || ":data(draggable)") : f.snap).each(function() { var h = a(this); var g = h.offset(); if (this != c.element[0]) { c.snapElements.push({ item: this, width: h.outerWidth(), height: h.outerHeight(), top: g.top, left: g.left }) } }) }, drag: function(u, p) { var g = a(this).data("draggable"), q = g.options; var y = q.snapTolerance; var x = p.offset.left, w = x + g.helperProportions.width, f = p.offset.top, e = f + g.helperProportions.height; for (var v = g.snapElements.length - 1; v >= 0; v--) { var s = g.snapElements[v].left, n = s + g.snapElements[v].width, m = g.snapElements[v].top, A = m + g.snapElements[v].height; if (!((s - y < x && x < n + y && m - y < f && f < A + y) || (s - y < x && x < n + y && m - y < e && e < A + y) || (s - y < w && w < n + y && m - y < f && f < A + y) || (s - y < w && w < n + y && m - y < e && e < A + y))) { if (g.snapElements[v].snapping) { (g.options.snap.release && g.options.snap.release.call(g.element, u, a.extend(g._uiHash(), { snapItem: g.snapElements[v].item }))) } g.snapElements[v].snapping = false; continue } if (q.snapMode != "inner") { var c = Math.abs(m - e) <= y; var z = Math.abs(A - f) <= y; var j = Math.abs(s - w) <= y; var k = Math.abs(n - x) <= y; if (c) { p.position.top = g._convertPositionTo("relative", { top: m - g.helperProportions.height, left: 0 }).top - g.margins.top } if (z) { p.position.top = g._convertPositionTo("relative", { top: A, left: 0 }).top - g.margins.top } if (j) { p.position.left = g._convertPositionTo("relative", { top: 0, left: s - g.helperProportions.width }).left - g.margins.left } if (k) { p.position.left = g._convertPositionTo("relative", { top: 0, left: n }).left - g.margins.left } } var h = (c || z || j || k); if (q.snapMode != "outer") { var c = Math.abs(m - f) <= y; var z = Math.abs(A - e) <= y; var j = Math.abs(s - x) <= y; var k = Math.abs(n - w) <= y; if (c) { p.position.top = g._convertPositionTo("relative", { top: m, left: 0 }).top - g.margins.top } if (z) { p.position.top = g._convertPositionTo("relative", { top: A - g.helperProportions.height, left: 0 }).top - g.margins.top } if (j) { p.position.left = g._convertPositionTo("relative", { top: 0, left: s }).left - g.margins.left } if (k) { p.position.left = g._convertPositionTo("relative", { top: 0, left: n - g.helperProportions.width }).left - g.margins.left } } if (!g.snapElements[v].snapping && (c || z || j || k || h)) { (g.options.snap.snap && g.options.snap.snap.call(g.element, u, a.extend(g._uiHash(), { snapItem: g.snapElements[v].item }))) } g.snapElements[v].snapping = (c || z || j || k || h) } } }); a.ui.plugin.add("draggable", "stack", { start: function(d, e) { var g = a(this).data("draggable").options; var f = a.makeArray(a(g.stack)).sort(function(i, h) { return (parseInt(a(i).css("zIndex"), 10) || 0) - (parseInt(a(h).css("zIndex"), 10) || 0) }); if (!f.length) { return } var c = parseInt(f[0].style.zIndex) || 0; a(f).each(function(h) { this.style.zIndex = c + h }); this[0].style.zIndex = c + f.length } }); a.ui.plugin.add("draggable", "zIndex", { start: function(d, e) { var c = a(e.helper), f = a(this).data("draggable").options; if (c.css("zIndex")) { f._zIndex = c.css("zIndex") } c.css("zIndex", f.zIndex) }, stop: function(c, d) { var e = a(this).data("draggable").options; if (e._zIndex) { a(d.helper).css("zIndex", e._zIndex) } } }) })(jQuery);
function MarkerManager(b, c) { var a = this; a.map_ = b; a.mapZoom_ = b.getZoom(); a.projectionHelper_ = new ProjectionHelperOverlay(b); google.maps.event.addListener(a.projectionHelper_, "ready", function() { a.projection_ = this.getProjection(); a.initialize(b, c) }) } MarkerManager.prototype.initialize = function(f, h) { var d = this; h = h || {}; d.tileSize_ = MarkerManager.DEFAULT_TILE_SIZE_; var b = f.mapTypes; var a = 1; for (var g in b) { if (typeof f.mapTypes.get(g) === "object" && typeof f.mapTypes.get(g).maxZoom === "number") { var c = f.mapTypes.get(g).maxZoom; if (c > a) { a = c } } } d.maxZoom_ = h.maxZoom || 19; d.trackMarkers_ = h.trackMarkers; d.show_ = h.show || true; var e; if (typeof h.borderPadding === "number") { e = h.borderPadding } else { e = MarkerManager.DEFAULT_BORDER_PADDING_ } d.swPadding_ = new google.maps.Size(-e, e); d.nePadding_ = new google.maps.Size(e, -e); d.borderPadding_ = e; d.gridWidth_ = {}; d.grid_ = {}; d.grid_[d.maxZoom_] = {}; d.numMarkers_ = {}; d.numMarkers_[d.maxZoom_] = 0; google.maps.event.addListener(f, "dragend", function() { d.onMapMoveEnd_() }); google.maps.event.addListener(f, "zoom_changed", function() { d.onMapMoveEnd_() }); d.removeOverlay_ = function(i) { i.setMap(null); d.shownMarkers_-- }; d.addOverlay_ = function(i) { if (d.show_) { i.setMap(d.map_); d.shownMarkers_++ } }; d.resetManager_(); d.shownMarkers_ = 0; d.shownBounds_ = d.getMapGridBounds_(); google.maps.event.trigger(d, "loaded") }; MarkerManager.DEFAULT_TILE_SIZE_ = 1024; MarkerManager.DEFAULT_BORDER_PADDING_ = 100; MarkerManager.MERCATOR_ZOOM_LEVEL_ZERO_RANGE = 256; MarkerManager.prototype.resetManager_ = function() { var a = MarkerManager.MERCATOR_ZOOM_LEVEL_ZERO_RANGE; for (var b = 0; b <= this.maxZoom_; ++b) { this.grid_[b] = {}; this.numMarkers_[b] = 0; this.gridWidth_[b] = Math.ceil(a / this.tileSize_); a <<= 1 } }; MarkerManager.prototype.clearMarkers = function() { this.processAll_(this.shownBounds_, this.removeOverlay_); this.resetManager_() }; MarkerManager.prototype.getTilePoint_ = function(e, c, d) { var b = this.projectionHelper_.LatLngToPixel(e, c); var a = new google.maps.Point(Math.floor((b.x + d.width) / this.tileSize_), Math.floor((b.y + d.height) / this.tileSize_)); return a }; MarkerManager.prototype.addMarkerBatch_ = function(c, h, b) { var f = this; var g = c.getPosition(); c.MarkerManager_minZoom = h; if (this.trackMarkers_) { google.maps.event.addListener(c, "changed", function(j, i, k) { f.onMarkerMoved_(j, i, k) }) } var d = this.getTilePoint_(g, b, new google.maps.Size(0, 0, 0, 0)); for (var e = b; e >= h; e--) { var a = this.getGridCellCreate_(d.x, d.y, e); a.push(c); d.x = d.x >> 1; d.y = d.y >> 1 } }; MarkerManager.prototype.isGridPointVisible_ = function(b) { var d = this.shownBounds_.minY <= b.y && b.y <= this.shownBounds_.maxY; var a = this.shownBounds_.minX; var c = a <= b.x && b.x <= this.shownBounds_.maxX; if (!c && a < 0) { var e = this.gridWidth_[this.shownBounds_.z]; c = a + e <= b.x && b.x <= e - 1 } return d && c }; MarkerManager.prototype.onMarkerMoved_ = function(c, g, b) { var f = this.maxZoom_; var h = false; var e = this.getTilePoint_(g, f, new google.maps.Size(0, 0, 0, 0)); var d = this.getTilePoint_(b, f, new google.maps.Size(0, 0, 0, 0)); while (f >= 0 && (e.x !== d.x || e.y !== d.y)) { var a = this.getGridCellNoCreate_(e.x, e.y, f); if (a) { if (this.removeFromArray_(a, c)) { this.getGridCellCreate_(d.x, d.y, f).push(c) } } if (f === this.mapZoom_) { if (this.isGridPointVisible_(e)) { if (!this.isGridPointVisible_(d)) { this.removeOverlay_(c); h = true } } else { if (this.isGridPointVisible_(d)) { this.addOverlay_(c); h = true } } } e.x = e.x >> 1; e.y = e.y >> 1; d.x = d.x >> 1; d.y = d.y >> 1; --f } if (h) { this.notifyListeners_() } }; MarkerManager.prototype.removeMarker = function(c) { var e = this.maxZoom_; var f = false; var b = c.getPosition(); var d = this.getTilePoint_(b, e, new google.maps.Size(0, 0, 0, 0)); while (e >= 0) { var a = this.getGridCellNoCreate_(d.x, d.y, e); if (a) { this.removeFromArray_(a, c) } if (e === this.mapZoom_) { if (this.isGridPointVisible_(d)) { this.removeOverlay_(c); f = true } } d.x = d.x >> 1; d.y = d.y >> 1; --e } if (f) { this.notifyListeners_() } this.numMarkers_[c.MarkerManager_minZoom]-- }; MarkerManager.prototype.addMarkers = function(d, e, c) { var a = this.getOptMaxZoom_(c); for (var b = d.length - 1; b >= 0; b--) { this.addMarkerBatch_(d[b], e, a) } this.numMarkers_[e] += d.length }; MarkerManager.prototype.getOptMaxZoom_ = function(a) { return a || this.maxZoom_ }; MarkerManager.prototype.getMarkerCount = function(b) { var a = 0; for (var c = 0; c <= b; c++) { a += this.numMarkers_[c] } return a }; MarkerManager.prototype.getMarker = function(f, c, e) { var g = new google.maps.LatLng(f, c); var b = this.getTilePoint_(g, e, new google.maps.Size(0, 0, 0, 0)); var a = new google.maps.Marker({ position: g }); var h = this.getGridCellNoCreate_(b.x, b.y, e); if (h !== undefined) { for (var d = 0; d < h.length; d++) { if (f === h[d].getLatLng().lat() && c === h[d].getLatLng().lng()) { a = h[d] } } } return a }; MarkerManager.prototype.addMarker = function(b, e, d) { var a = this.getOptMaxZoom_(d); this.addMarkerBatch_(b, e, a); var c = this.getTilePoint_(b.getPosition(), this.mapZoom_, new google.maps.Size(0, 0, 0, 0)); if (this.isGridPointVisible_(c) && e <= this.shownBounds_.z && this.shownBounds_.z <= a) { this.addOverlay_(b); this.notifyListeners_() } this.numMarkers_[e]++ }; function GridBounds(a) { this.minX = Math.min(a[0].x, a[1].x); this.maxX = Math.max(a[0].x, a[1].x); this.minY = Math.min(a[0].y, a[1].y); this.maxY = Math.max(a[0].y, a[1].y) } GridBounds.prototype.equals = function(a) { if (this.maxX === a.maxX && this.maxY === a.maxY && this.minX === a.minX && this.minY === a.minY) { return true } else { return false } }; GridBounds.prototype.containsPoint = function(a) { var b = this; return (b.minX <= a.x && b.maxX >= a.x && b.minY <= a.y && b.maxY >= a.y) }; MarkerManager.prototype.getGridCellCreate_ = function(a, f, e) { var c = this.grid_[e]; if (a < 0) { a += this.gridWidth_[e] } var b = c[a]; if (!b) { b = c[a] = []; return (b[f] = []) } var d = b[f]; if (!d) { return (b[f] = []) } return d }; MarkerManager.prototype.getGridCellNoCreate_ = function(a, e, d) { var c = this.grid_[d]; if (a < 0) { a += this.gridWidth_[d] } var b = c[a]; return b ? b[e] : undefined }; MarkerManager.prototype.getGridBounds_ = function(a, i, h, f) { i = Math.min(i, this.maxZoom_); var b = a.getSouthWest(); var e = a.getNorthEast(); var g = this.getTilePoint_(b, i, h); var d = this.getTilePoint_(e, i, f); var j = this.gridWidth_[i]; if (e.lng() < b.lng() || d.x < g.x) { g.x -= j } if (d.x - g.x + 1 >= j) { g.x = 0; d.x = j - 1 } var c = new GridBounds([g, d]); c.z = i; return c }; MarkerManager.prototype.getMapGridBounds_ = function() { return this.getGridBounds_(this.map_.getBounds(), this.mapZoom_, this.swPadding_, this.nePadding_) }; MarkerManager.prototype.onMapMoveEnd_ = function() { this.objectSetTimeout_(this, this.updateMarkers_, 0) }; MarkerManager.prototype.objectSetTimeout_ = function(b, c, a) { return window.setTimeout(function() { c.call(b) }, a) }; MarkerManager.prototype.visible = function() { return this.show_ ? true : false }; MarkerManager.prototype.isHidden = function() { return !this.show_ }; MarkerManager.prototype.show = function() { this.show_ = true; this.refresh() }; MarkerManager.prototype.hide = function() { this.show_ = false; this.refresh() }; MarkerManager.prototype.toggle = function() { this.show_ = !this.show_; this.refresh() }; MarkerManager.prototype.refresh = function() { if (this.shownMarkers_ > 0) { this.processAll_(this.shownBounds_, this.removeOverlay_) } if (this.show_) { this.processAll_(this.shownBounds_, this.addOverlay_) } this.notifyListeners_() }; MarkerManager.prototype.updateMarkers_ = function() { this.mapZoom_ = this.map_.getZoom(); var a = this.getMapGridBounds_(); if (a.equals(this.shownBounds_) && a.z === this.shownBounds_.z) { return } if (a.z !== this.shownBounds_.z) { this.processAll_(this.shownBounds_, this.removeOverlay_); if (this.show_) { this.processAll_(a, this.addOverlay_) } } else { this.rectangleDiff_(this.shownBounds_, a, this.removeCellMarkers_); if (this.show_) { this.rectangleDiff_(a, this.shownBounds_, this.addCellMarkers_) } } this.shownBounds_ = a; this.notifyListeners_() }; MarkerManager.prototype.notifyListeners_ = function() { google.maps.event.trigger(this, "changed", this.shownBounds_, this.shownMarkers_) }; MarkerManager.prototype.processAll_ = function(b, d) { for (var a = b.minX; a <= b.maxX; a++) { for (var c = b.minY; c <= b.maxY; c++) { this.processCellMarkers_(a, c, b.z, d) } } }; MarkerManager.prototype.processCellMarkers_ = function(b, f, d, e) { var a = this.getGridCellNoCreate_(b, f, d); if (a) { for (var c = a.length - 1; c >= 0; c--) { e(a[c]) } } }; MarkerManager.prototype.removeCellMarkers_ = function(a, c, b) { this.processCellMarkers_(a, c, b, this.removeOverlay_) }; MarkerManager.prototype.addCellMarkers_ = function(a, c, b) { this.processCellMarkers_(a, c, b, this.addOverlay_) }; MarkerManager.prototype.rectangleDiff_ = function(b, a, d) { var c = this; c.rectangleDiffCoords_(b, a, function(e, f) { d.apply(c, [e, f, b.z]) }) }; MarkerManager.prototype.rectangleDiffCoords_ = function(b, a, l) { var f = b.minX; var m = b.minY; var h = b.maxX; var d = b.maxY; var e = a.minX; var k = a.minY; var g = a.maxX; var c = a.maxY; var j, i; for (j = f; j <= h; j++) { for (i = m; i <= d && i < k; i++) { l(j, i) } for (i = Math.max(c + 1, m); i <= d; i++) { l(j, i) } } for (i = Math.max(m, k); i <= Math.min(d, c); i++) { for (j = Math.min(h + 1, e) - 1; j >= f; j--) { l(j, i) } for (j = Math.max(f, g + 1); j <= h; j++) { l(j, i) } } }; MarkerManager.prototype.removeFromArray_ = function(e, c, d) { var a = 0; for (var b = 0; b < e.length; ++b) { if (e[b] === c || (d && e[b] === c)) { e.splice(b--, 1); a++ } } return a }; function ProjectionHelperOverlay(c) { this.setMap(c); var a = 8; var b = 1 << a; var d = 7; this._map = c; this._zoom = -1; this._X0 = this._Y0 = this._X1 = this._Y1 = -1 } ProjectionHelperOverlay.prototype = new google.maps.OverlayView(); ProjectionHelperOverlay.prototype.LngToX_ = function(a) { return (1 + a / 180) }; ProjectionHelperOverlay.prototype.LatToY_ = function(b) { var a = Math.sin(b * Math.PI / 180); return (1 - 0.5 / Math.PI * Math.log((1 + a) / (1 - a))) }; ProjectionHelperOverlay.prototype.LatLngToPixel = function(e, b) { var c = this._map; var d = this.getProjection().fromLatLngToDivPixel(e); var a = { x: ~ ~(0.5 + this.LngToX_(e.lng()) * (2 << (b + 6))), y: ~ ~(0.5 + this.LatToY_(e.lat()) * (2 << (b + 6))) }; return a }; ProjectionHelperOverlay.prototype.draw = function() { if (!this.ready) { this.ready = true; google.maps.event.trigger(this, "ready") } };
