You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
AiShopping/AiGouWu\Content\Javascript\...

13 lines
188 KiB

if (typeof YAHOO == "undefined" || !YAHOO) { var YAHOO = {} } YAHOO.namespace = function() { var b = arguments, g = null, e, c, f; for (e = 0; e < b.length; e = e + 1) { f = ("" + b[e]).split("."); g = YAHOO; for (c = (f[0] == "YAHOO") ? 1 : 0; c < f.length; c = c + 1) { g[f[c]] = g[f[c]] || {}; g = g[f[c]] } } return g }; YAHOO.log = function(d, a, c) { var b = YAHOO.widget.Logger; if (b && b.log) { return b.log(d, a, c) } else { return false } }; YAHOO.register = function(a, f, e) { var k = YAHOO.env.modules, c, j, h, g, d; if (!k[a]) { k[a] = { versions: [], builds: []} } c = k[a]; j = e.version; h = e.build; g = YAHOO.env.listeners; c.name = a; c.version = j; c.build = h; c.versions.push(j); c.builds.push(h); c.mainClass = f; for (d = 0; d < g.length; d = d + 1) { g[d](c) } if (f) { f.VERSION = j; f.BUILD = h } else { YAHOO.log("mainClass is undefined for module " + a, "warn") } }; YAHOO.env = YAHOO.env || { modules: [], listeners: [] }; YAHOO.env.getVersion = function(a) { return YAHOO.env.modules[a] || null }; YAHOO.env.ua = function() { var c = { ie: 0, opera: 0, gecko: 0, webkit: 0, mobile: null, air: 0, caja: 0 }, b = navigator.userAgent, a; if ((/KHTML/).test(b)) { c.webkit = 1 } a = b.match(/AppleWebKit\/([^\s]*)/); if (a && a[1]) { c.webkit = parseFloat(a[1]); if (/ Mobile\//.test(b)) { c.mobile = "Apple" } else { a = b.match(/NokiaN[^\/]*/); if (a) { c.mobile = a[0] } } a = b.match(/AdobeAIR\/([^\s]*)/); if (a) { c.air = a[0] } } if (!c.webkit) { a = b.match(/Opera[\s\/]([^\s]*)/); if (a && a[1]) { c.opera = parseFloat(a[1]); a = b.match(/Opera Mini[^;]*/); if (a) { c.mobile = a[0] } } else { a = b.match(/MSIE\s([^;]*)/); if (a && a[1]) { c.ie = parseFloat(a[1]) } else { a = b.match(/Gecko\/([^\s]*)/); if (a) { c.gecko = 1; a = b.match(/rv:([^\s\)]*)/); if (a && a[1]) { c.gecko = parseFloat(a[1]) } } } } } a = b.match(/Caja\/([^\s]*)/); if (a && a[1]) { c.caja = parseFloat(a[1]) } return c } (); (function() { YAHOO.namespace("util", "widget", "example"); if ("undefined" !== typeof YAHOO_config) { var b = YAHOO_config.listener, a = YAHOO.env.listeners, d = true, c; if (b) { for (c = 0; c < a.length; c = c + 1) { if (a[c] == b) { d = false; break } } if (d) { a.push(b) } } } })(); YAHOO.lang = YAHOO.lang || {}; (function() { var b = YAHOO.lang, f = "[object Array]", c = "[object Function]", a = Object.prototype, e = ["toString", "valueOf"], d = { isArray: function(g) { return a.toString.apply(g) === f }, isBoolean: function(g) { return typeof g === "boolean" }, isFunction: function(g) { return a.toString.apply(g) === c }, isNull: function(g) { return g === null }, isNumber: function(g) { return typeof g === "number" && isFinite(g) }, isObject: function(g) { return (g && (typeof g === "object" || b.isFunction(g))) || false }, isString: function(g) { return typeof g === "string" }, isUndefined: function(g) { return typeof g === "undefined" }, _IEEnumFix: (YAHOO.env.ua.ie) ? function(j, h) { var g, l, k; for (g = 0; g < e.length; g = g + 1) { l = e[g]; k = h[l]; if (b.isFunction(k) && k != a[l]) { j[l] = k } } } : function() { }, extend: function(k, l, j) { if (!l || !k) { throw new Error("extend failed, please check that all dependencies are included.") } var h = function() { }, g; h.prototype = l.prototype; k.prototype = new h(); k.prototype.constructor = k; k.superclass = l.prototype; if (l.prototype.constructor == a.constructor) { l.prototype.constructor = l } if (j) { for (g in j) { if (b.hasOwnProperty(j, g)) { k.prototype[g] = j[g] } } b._IEEnumFix(k.prototype, j) } }, augmentObject: function(l, k) { if (!k || !l) { throw new Error("Absorb failed, verify dependencies.") } var g = arguments, j, m, h = g[2]; if (h && h !== true) { for (j = 2; j < g.length; j = j + 1) { l[g[j]] = k[g[j]] } } else { for (m in k) { if (h || !(m in l)) { l[m] = k[m] } } b._IEEnumFix(l, k) } }, augmentProto: function(k, j) { if (!j || !k) { throw new Error("Augment failed, verify dependencies.") } var g = [k.prototype, j.prototype], h; for (h = 2; h < arguments.length; h = h + 1) { g.push(arguments[h]) } b.augmentObject.apply(this, g) }, dump: function(g, m) { var j, l, q = [], r = "{...}", h = "f(){...}", p = ", ", k = " => "; if (!b.isObject(g)) { return g + "" } else { if (g instanceof Date || ("nodeType" in g && "tagName" in g)) { return g } else { if (b.isFunction(g)) { return h } } } m = (b.isNumber(m)) ? m : 3; if (b.isArray(g)) { q.push("["); for (j = 0, l = g.length; j < l; j = j + 1) { if (b.isObject(g[j])) { q.push((m > 0) ? b.dump(g[j], m - 1) : r) } else { q.push(g[j]) } q.push(p) } if (q.length > 1) { q.pop() } q.push("]") } else { q.push("{"); for (j in g) { if (b.hasOwnProperty(g, j)) { q.push(j + k); if (b.isObject(g[j])) { q.push((m > 0) ? b.dump(g[j], m - 1) : r) } else { q.push(g[j]) } q.push(p) } } if (q.length > 1) { q.pop() } q.push("}") } return q.join("") }, substitute: function(C, h, u) { var q, p, m, y, z, B, x = [], l, r = "dump", w = " ", g = "{", A = "}", t; for (; ; ) { q = C.lastIndexOf(g); if (q < 0) { break } p = C.indexOf(A, q); if (q + 1 >= p) { break } l = C.substring(q + 1, p); y = l; B = null; m = y.indexOf(w); if (m > -1) { B = y.substring(m + 1); y = y.substring(0, m) } z = h[y]; if (u) { z = u(y, z, B) } if (b.isObject(z)) { if (b.isArray(z)) { z = b.dump(z, parseInt(B, 10)) } else { B = B || ""; t = B.indexOf(r); if (t > -1) { B = B.substring(4) } if (z.toString === a.toString || t > -1) { z = b.dump(z, parseInt(B, 10)) } else { z = z.toString() } } } else { if (!b.isString(z) && !b.isNumber(z)) { z = "~-" + x.length + "-~"; x[x.length] = l } } C = C.substring(0, q) + z + C.substring(p + 1) } for (q = x.length - 1; q >= 0; q = q - 1) { C = C.replace(new RegExp("~-" + q + "-~"), "{" + x[q] + "}", "g") } return C }, trim: function(g) { try { return g.replace(/^\s+|\s+$/g, "") } catch (h) { return g } }, merge: function() { var k = {}, h = arguments, g = h.length, j; for (j = 0; j < g; j = j + 1) { b.augmentObject(k, h[j], true) } return k }, later: function(q, h, s, j, k) { q = q || 0; h = h || {}; var i = s, p = j, l, g; if (b.isString(s)) { i = h[s] } if (!i) { throw new TypeError("method undefined") } if (!b.isArray(p)) { p = [j] } l = function() { i.apply(h, p) }; g = (k) ? setInterval(l, q) : setTimeout(l, q); return { interval: k, cancel: function() { if (this.interval) { clearInterval(g) } else { clearTimeout(g) } } } }, isValue: function(g) { return (b.isObject(g) || b.isString(g) || b.isNumber(g) || b.isBoolean(g)) } }; b.hasOwnProperty = (a.hasOwnProperty) ? function(g, h) { return g && g.hasOwnProperty(h) } : function(g, h) { return !b.isUndefined(g[h]) && g.constructor.prototype[h] !== g[h] }; d.augmentObject(b, d, true); YAHOO.util.Lang = b; b.augment = b.augmentProto; YAHOO.augment = b.augmentProto; YAHOO.extend = b.extend })(); YAHOO.register("yahoo", YAHOO, { version: "2.7.0", build: "1796" }); (function() { YAHOO.env._id_counter = YAHOO.env._id_counter || 0; var e = YAHOO.util, k = YAHOO.lang, M = YAHOO.env.ua, a = YAHOO.lang.trim, C = {}, H = {}, m = /^t(?:able|d|h)$/i, x = /color$/i, j = window.document, w = j.documentElement, D = "ownerDocument", N = "defaultView", V = "documentElement", T = "compatMode", A = "offsetLeft", p = "offsetTop", U = "offsetParent", y = "parentNode", L = "nodeType", c = "tagName", o = "scrollLeft", I = "scrollTop", q = "getBoundingClientRect", W = "getComputedStyle", z = "currentStyle", l = "CSS1Compat", B = "BackCompat", F = "class", f = "className", i = "", b = " ", S = "(?:^|\\s)", K = "(?= |$)", u = "g", P = "position", E = "fixed", v = "relative", J = "left", O = "top", R = "medium", Q = "borderLeftWidth", r = "borderTopWidth", d = M.opera, h = M.webkit, g = M.gecko, t = M.ie; e.Dom = { CUSTOM_ATTRIBUTES: (!w.hasAttribute) ? { "for": "htmlFor", "class": f} : { htmlFor: "for", className: F }, get: function(Z) { var ab, X, aa, Y, G; if (Z) { if (Z[L] || Z.item) { return Z } if (typeof Z === "string") { ab = Z; Z = j.getElementById(Z); if (Z && Z.id === ab) { return Z } else { if (Z && j.all) { Z = null; X = j.all[ab]; for (Y = 0, G = X.length; Y < G; ++Y) { if (X[Y].id === ab) { return X[Y] } } } } return Z } if (Z.DOM_EVENTS) { Z = Z.get("element") } if ("length" in Z) { aa = []; for (Y = 0, G = Z.length; Y < G; ++Y) { aa[aa.length] = e.Dom.get(Z[Y]) } return aa } return Z } return null }, getComputedStyle: function(G, X) { if (window[W]) { return G[D][N][W](G, null)[X] } else { if (G[z]) { return e.Dom.IE_ComputedStyle.get(G, X) } } }, getStyle: function(G, X) { return e.Dom.batch(G, e.Dom._getStyle, X) }, _getStyle: function() { if (window[W]) { return function(G, Z) { Z = (Z === "float") ? Z = "cssFloat" : e.Dom._toCamel(Z); var Y = G.style[Z], X; if (!Y) { X = G[D][N][W](G, null); if (X) { Y = X[Z] } } return Y } } else { if (w[z]) { return function(G, Z) { var Y; switch (Z) { case "opacity": Y = 100; try { Y = G.filters["DXImageTransform.Microsoft.Alpha"].opacity } catch (aa) { try { Y = G.filters("alpha").opacity } catch (X) { } } return Y / 100; case "float": Z = "styleFloat"; default: Z = e.Dom._toCamel(Z); Y = G[z] ? G[z][Z] : null; return (G.style[Z] || Y) } } } } } (), setStyle: function(G, X, Y) { e.Dom.batch(G, e.Dom._setStyle, { prop: X, val: Y }) }, _setStyle: function() { if (t) { return function(X, G) { var Y = e.Dom._toCamel(G.prop), Z = G.val; if (X) { switch (Y) { case "opacity": if (k.isString(X.style.filter)) { X.style.filter = "alpha(opacity=" + Z * 100 + ")"; if (!X[z] || !X[z].hasLayout) { X.style.zoom = 1 } } break; case "float": Y = "styleFloat"; default: X.style[Y] = Z } } else { } } } else { return function(X, G) { var Y = e.Dom._toCamel(G.prop), Z = G.val; if (X) { if (Y == "float") { Y = "cssFloat" } X.style[Y] = Z } else { } } } } (), getXY: function(G) { return e.Dom.batch(G, e.Dom._getXY) }, _canPosition: function(G) { return (e.Dom._getStyle(G, "display") !== "none" && e.Dom._inDoc(G)) }, _getXY: function() { if (j[V][q]) { return function(Z) { var aa, X, ab, ag, af, ae, ad, G, Y, ac = Math.floor, ah = false; if (e.Dom._canPosition(Z)) { ab = Z[q](); ag = Z[D]; aa = e.Dom.getDocumentScrollLeft(ag); X = e.Dom.getDocumentScrollTop(ag); ah = [ac(ab[J]), ac(ab[O])]; if (t && M.ie < 8) { af = 2; ae = 2; ad = ag[T]; G = s(ag[V], Q); Y = s(ag[V], r); if (M.ie === 6) { if (ad !== B) { af = 0; ae = 0 } } if ((ad == B)) { if (G !== R) { af = parseInt(G, 10) } if (Y !== R) { ae = parseInt(Y, 10) } } ah[0] -= af; ah[1] -= ae } if ((X || aa)) { ah[0] += aa; ah[1] += X } ah[0] = ac(ah[0]); ah[1] = ac(ah[1]) } else { } return ah } } else { return function(Z) { var Y, X, ab, ac, ad, aa = false, G = Z; if (e.Dom._canPosition(Z)) { aa = [Z[A], Z[p]]; Y = e.Dom.getDocumentScrollLeft(Z[D]); X = e.Dom.getDocumentScrollTop(Z[D]); ad = ((g || M.webkit > 519) ? true : false); while ((G = G[U])) { aa[0] += G[A]; aa[1] += G[p]; if (ad) { aa = e.Dom._calcBorders(G, aa) } } if (e.Dom._getStyle(Z, P) !== E) { G = Z; while ((G = G[y]) && G[c]) { ab = G[I]; ac = G[o]; if (g && (e.Dom._getStyle(G, "overflow") !== "visible")) { aa = e.Dom._calcBorders(G, aa) } if (ab || ac) { aa[0] -= ac; aa[1] -= ab } } aa[0] += Y; aa[1] += X } else { if (d) { aa[0] -= Y; aa[1] -= X } else { if (h || g) { aa[0] += Y; aa[1] += X } } } aa[0] = Math.floor(aa[0]); aa[1] = Math.floor(aa[1]) } else { } return aa } } } (), getX: function(G) { var X = function(Y) { return e.Dom.getXY(Y)[0] }; return e.Dom.batch(G, X, e.Dom, true) }, getY: function(G) { var X = function(Y) { return e.Dom.getXY(Y)[1] }; return e.Dom.batch(G, X, e.Dom, true) }, setXY: function(G, Y, X) { e.Dom.batch(G, e.Dom._setXY, { pos: Y, noRetry: X }) }, _setXY: function(G, aa) { var ab = e.Dom._getStyle(G, P), Z = e.Dom.setStyle, ae = aa.pos, X = aa.noRetry, ac = [parseInt(e.Dom.getComputedStyle(G, J), 10), parseInt(e.Dom.getComputedStyle(G, O), 10)], ad, Y; if (ab == "static") { ab = v; Z(G, P, ab) } ad = e.Dom._getXY(G); if (!ae || ad === false) { return false } if (isNaN(ac[0])) { ac[0] = (ab == v) ? 0 : G[A] } if (isNaN(ac[1])) { ac[1] = (ab == v) ? 0 : G[p] } if (ae[0] !== null) { Z(G, J, ae[0] - ad[0] + ac[0] + "px") } if (ae[1] !== null) { Z(G, O, ae[1] - ad[1] + ac[1] + "px") } if (!X) { Y = e.Dom._getXY(G); if ((ae[0] !== null && Y[0] != ae[0]) || (ae[1] !== null && Y[1] != ae[1])) { e.Dom._setXY(G, { pos: ae, noRetry: true }) } } }, setX: function(X, G) { e.Dom.setXY(X, [G, null]) }, setY: function(G, X) { e.Dom.setXY(G, [null, X]) }, getRegion: function(G) { var X = function(Y) { var Z = false; if (e.Dom._canPosition(Y)) { Z = e.Region.getRegion(Y) } else { } return Z }; return e.Dom.batch(G, X, e.Dom, true) }, getClientWidth: function() { return e.Dom.getViewportWidth() }, getClientHeight: function() { return e.Dom.getViewportHeight() }, getElementsByClassName: function(ac, ag, ad, af, Y, ae) { ac = k.trim(ac); ag = ag || "*"; ad = (ad) ? e.Dom.get(ad) : null || j; if (!ad) { return [] } var X = [], G = ad.getElementsByTagName(ag), aa = e.Dom.hasClass; for (var Z = 0, ab = G.length; Z < ab; ++Z) { if (aa(G[Z], ac)) { X[X.length] = G[Z] } } if (af) { e.Dom.batch(X, af, Y, ae) } return X }, hasClass: function(X, G) { return e.Dom.batch(X, e.Dom._hasClass, G) }, _hasClass: function(Y, X) { var G = false, Z; if (Y && X) { Z = e.Dom.getAttribute(Y, f) || i; if (X.exec) { G = X.test(Z) } else { G = X && (b + Z + b).indexOf(b + X + b) > -1 } } else { } return G }, addClass: function(X, G) { return e.Dom.batch(X, e.Dom._addClass, G) }, _addClass: function(Y, X) { var G = false, Z; if (Y && X) { Z = e.Dom.getAttribute(Y, f) || i; if (!e.Dom._hasClass(Y, X)) { e.Dom.setAttribute(Y, f, a(Z + b + X)); G = true } } else { } return G }, removeClass: function(X, G) { return e.Dom.batch(X, e.Dom._removeClass, G) }, _removeClass: function(Z, Y) { var X = false, ab, aa, G; if (Z && Y) { ab = e.Dom.getAttribute(Z, f) || i; e.Dom.setAttribute(Z, f, ab.replace(e.Dom._getClassRegex(Y), i)); aa = e.Dom.getAttribute(Z, f); if (ab !== aa) { e.Dom.setAttribute(Z, f, a(aa)); X = true; if (e.Dom.getAttribute(Z, f) === "") { G = (Z.hasAttribute && Z.hasAttribute(F)) ? F : f; Z.removeAttribute(G) } } } else { } return X }, replaceClass: function(Y, X, G) { return e.Dom.batch(Y, e.Dom._replaceClass, { from: X, to: G }) }, _replaceClass: function(Z, Y) { var X, ac, ab, G = false, aa; if (Z && Y) { ac = Y.from; ab = Y.to; if (!ab) { G = false } else { if (!ac) { G = e.Dom._addClass(Z, Y.to) } else { if (ac !== ab) { aa = e.Dom.getAttribute(Z, f) || i; X = (b + aa.replace(e.Dom._getClassRegex(ac), b + ab)).split(e.Dom._getClassRegex(ab)); X.splice(1, 0, b + ab); e.Dom.setAttribute(Z, f, a(X.join(i))); G = true } } } } else { } return G }, generateId: function(G, Y) { Y = Y || "yui-gen"; var X = function(Z) { if (Z && Z.id) { return Z.id } var aa = Y + YAHOO.env._id_counter++; if (Z) { if (Z[D].getElementById(aa)) { return e.Dom.generateId(Z, aa + Y) } Z.id = aa } return aa }; return e.Dom.batch(G, X, e.Dom, true) || X.apply(e.Dom, arguments) }, isAncestor: function(X, Y) { X = e.Dom.get(X); Y = e.Dom.get(Y); var G = false; if ((X && Y) && (X[L] && Y[L])) { if (X.contains && X !== Y) { G = X.contains(Y) } else { if (X.compareDocumentPosition) { G = !!(X.compareDocumentPosition(Y) & 16) } } } else { } return G }, inDocument: function(G, X) { return e.Dom._inDoc(e.Dom.get(G), X) }, _inDoc: function(X, Y) { var G = false; if (X && X[c]) { Y = Y || X[D]; G = e.Dom.isAncestor(Y[V], X) } else { } return G }, getElementsBy: function(X, ag, ac, ae, Z, ad, af) { ag = ag || "*"; ac = (ac) ? e.Dom.get(ac) : null || j; if (!ac) { return [] } var Y = [], G = ac.getElementsByTagName(ag); for (var aa = 0, ab = G.length; aa < ab; ++aa) { if (X(G[aa])) { if (af) { Y = G[aa]; break } else { Y[Y.length] = G[aa] } } } if (ae) { e.Dom.batch(Y, ae, Z, ad) } return Y }, getElementBy: function(Y, G, X) { return e.Dom.getElementsBy(Y, G, X, null, null, null, true) }, batch: function(Y, ac, ab, aa) { var Z = [], X = (aa) ? ab : window; Y = (Y && (Y[c] || Y.item)) ? Y : e.Dom.get(Y); if (Y && ac) { if (Y[c] || Y.length === undefined) { return ac.call(X, Y, ab) } for (var G = 0; G < Y.length; ++G) { Z[Z.length] = ac.call(X, Y[G], ab) } } else { return false } return Z }, getDocumentHeight: function() { var X = (j[T] != l || h) ? j.body.scrollHeight : w.scrollHeight, G = Math.max(X, e.Dom.getViewportHeight()); return G }, getDocumentWidth: function() { var X = (j[T] != l || h) ? j.body.scrollWidth : w.scrollWidth, G = Math.max(X, e.Dom.getViewportWidth()); return G }, getViewportHeight: function() { var G = self.innerHeight, X = j[T]; if ((X || t) && !d) { G = (X == l) ? w.clientHeight : j.body.clientHeight } return G }, getViewportWidth: function() { var G = self.innerWidth, X = j[T]; if (X || t) { G = (X == l) ? w.clientWidth : j.body.clientWidth } return G }, getAncestorBy: function(G, X) { while ((G = G[y])) { if (e.Dom._testElement(G, X)) { return G } } return null }, getAncestorByClassName: function(X, G) { X = e.Dom.get(X); if (!X) { return null } var Y = function(Z) { return e.Dom.hasClass(Z, G) }; return e.Dom.getAncestorBy(X, Y) }, getAncestorByTagName: function(X, G) { X = e.Dom.get(X); if (!X) { return null } var Y = function(Z) { return Z[c] && Z[c].toUpperCase() == G.toUpperCase() }; return e.Dom.getAncestorBy(X, Y) }, getPreviousSiblingBy: function(G, X) { while (G) { G = G.previousSibling; if (e.Dom._testElement(G, X)) { return G } } return null }, getPreviousSibling: function(G) { G = e.Dom.get(G); if (!G) { return null } return e.Dom.getPreviousSiblingBy(G) }, getNextSiblingBy: function(G, X) { while (G) { G = G.nextSibling; if (e.Dom._testElement(G, X)) { return G } } return null }, getNextSibling: function(G) { G = e.Dom.get(G); if (!G) { return null } return e.Dom.getNextSiblingBy(G) }, getFirstChildBy: function(G, Y) { var X = (e.Dom._testElement(G.firstChild, Y)) ? G.firstChild : null; return X || e.Dom.getNextSiblingBy(G.firstChild, Y) }, getFirstChild: function(G, X) { G = e.Dom.get(G); if (!G) { return null } return e.Dom.getFirstChildBy(G) }, getLastChildBy: function(G, Y) { if (!G) { return null } var X = (e.Dom._testElement(G.lastChild, Y)) ? G.lastChild : null; return X || e.Dom.getPreviousSiblingBy(G.lastChild, Y) }, getLastChild: function(G) { G = e.Dom.get(G); return e.Dom.getLastChildBy(G) }, getChildrenBy: function(X, Z) { var Y = e.Dom.getFirstChildBy(X, Z), G = Y ? [Y] : []; e.Dom.getNextSiblingBy(Y, function(aa) { if (!Z || Z(aa)) { G[G.length] = aa } return false }); return G }, getChildren: function(G) { G = e.Dom.get(G); if (!G) { } return e.Dom.getChildrenBy(G) }, getDocumentScrollLeft: function(G) { G = G || j; return Math.max(G[V].scrollLeft, G.body.scrollLeft) }, getDocumentScrollTop: function(G) { G = G || j; return Math.max(G[V].scrollTop, G.body.scrollTop) }, insertBefore: function(X, G) { X = e.Dom.get(X); G = e.Dom.get(G); if (!X || !G || !G[y]) { return null } return G[y].insertBefore(X, G) }, insertAfter: function(X, G) { X = e.Dom.get(X); G = e.Dom.get(G); if (!X || !G || !G[y]) { return null } if (G.nextSibling) { return G[y].insertBefore(X, G.nextSibling) } else { return G[y].appendChild(X) } }, getClientRegion: function() { var Y = e.Dom.getDocumentScrollTop(), X = e.Dom.getDocumentScrollLeft(), Z = e.Dom.getViewportWidth() + X, G = e.Dom.getViewportHeight() + Y; return new e.Region(Y, Z, G, X) }, setAttribute: function(X, G, Y) { G = e.Dom.CUSTOM_ATTRIBUTES[G] || G; X.setAttribute(G, Y) }, getAttribute: function(X, G) { G = e.Dom.CUSTOM_ATTRIBUTES[G] || G; return X.getAttribute(G) }, _toCamel: function(X) { var Y = C; function G(Z, aa) { return aa.toUpperCase() } return Y[X] || (Y[X] = X.indexOf("-") === -1 ? X : X.replace(/-([a-z])/gi, G)) }, _getClassRegex: function(X) { var G; if (X !== undefined) { if (X.exec) { G = X } else { G = H[X]; if (!G) { X = X.replace(e.Dom._patterns.CLASS_RE_TOKENS, "\\$1"); G = H[X] = new RegExp(S + X + K, u) } } } return G }, _patterns: { ROOT_TAG: /^body|html$/i, CLASS_RE_TOKENS: /([\.\(\)\^\$\*\+\?\|\[\]\{\}])/g }, _testElement: function(G, X) { return G && G[L] == 1 && (!X || X(G)) }, _calcBorders: function(Y, Z) { var X = parseInt(e.Dom[W](Y, r), 10) || 0, G = parseInt(e.Dom[W](Y, Q), 10) || 0; if (g) { if (m.test(Y[c])) { X = 0; G = 0 } } Z[0] += G; Z[1] += X; return Z } }; var s = e.Dom[W]; if (M.opera) { e.Dom[W] = function(X, G) { var Y = s(X, G); if (x.test(G)) { Y = e.Dom.Color.toRGB(Y) } return Y } } if (M.webkit) { e.Dom[W] = function(X, G) { var Y = s(X, G); if (Y === "rgba(0, 0, 0, 0)") { Y = "transparent" } return Y } } })(); YAHOO.util.Region = function(d, e, a, c) { this.top = d; this.y = d; this[1] = d; this.right = e; this.bottom = a; this.left = c; this.x = c; this[0] = c; this.width = this.right - this.left; this.height = this.bottom - this.top }; YAHOO.util.Region.prototype.contains = function(a) { return (a.left >= this.left && a.right <= this.right && a.top >= this.top && a.bottom <= this.bottom) }; YAHOO.util.Region.prototype.getArea = function() { return ((this.bottom - this.top) * (this.right - this.left)) }; YAHOO.util.Region.prototype.intersect = function(f) { var d = Math.max(this.top, f.top), e = Math.min(this.right, f.right), a = Math.min(this.bottom, f.bottom), c = Math.max(this.left, f.left); if (a >= d && e >= c) { return new YAHOO.util.Region(d, e, a, c) } else { return null } }; YAHOO.util.Region.prototype.union = function(f) { var d = Math.min(this.top, f.top), e = Math.max(this.right, f.right), a = Math.max(this.bottom, f.bottom), c = Math.min(this.left, f.left); return new YAHOO.util.Region(d, e, a, c) }; YAHOO.util.Region.prototype.toString = function() { return ("Region {top: " + this.top + ", right: " + this.right + ", bottom: " + this.bottom + ", left: " + this.left + ", height: " + this.height + ", width: " + this.width + "}") }; YAHOO.util.Region.getRegion = function(e) { var g = YAHOO.util.Dom.getXY(e), d = g[1], f = g[0] + e.offsetWidth, a = g[1] + e.offsetHeight, c = g[0]; return new YAHOO.util.Region(d, f, a, c) }; YAHOO.util.Point = function(a, b) { if (YAHOO.lang.isArray(a)) { b = a[1]; a = a[0] } YAHOO.util.Point.superclass.constructor.call(this, b, a, b, a) }; YAHOO.extend(YAHOO.util.Point, YAHOO.util.Region); (function() { var b = YAHOO.util, a = "clientTop", f = "clientLeft", j = "parentNode", k = "right", x = "hasLayout", i = "px", v = "opacity", l = "auto", d = "borderLeftWidth", g = "borderTopWidth", q = "borderRightWidth", w = "borderBottomWidth", t = "visible", r = "transparent", o = "height", e = "width", h = "style", u = "currentStyle", s = /^width|height$/, p = /^(\d[.\d]*)+(em|ex|px|gd|rem|vw|vh|vm|ch|mm|cm|in|pt|pc|deg|rad|ms|s|hz|khz|%){1}?/i, m = { get: function(y, A) { var z = "", B = y[u][A]; if (A === v) { z = b.Dom.getStyle(y, v) } else { if (!B || (B.indexOf && B.indexOf(i) > -1)) { z = B } else { if (b.Dom.IE_COMPUTED[A]) { z = b.Dom.IE_COMPUTED[A](y, A) } else { if (p.test(B)) { z = b.Dom.IE.ComputedStyle.getPixel(y, A) } else { z = B } } } } return z }, getOffset: function(A, F) { var C = A[u][F], y = F.charAt(0).toUpperCase() + F.substr(1), D = "offset" + y, z = "pixel" + y, B = "", E; if (C == l) { E = A[D]; if (E === undefined) { B = 0 } B = E; if (s.test(F)) { A[h][F] = E; if (A[D] > E) { B = E - (A[D] - E) } A[h][F] = l } } else { if (!A[h][z] && !A[h][F]) { A[h][F] = C } B = A[h][z] } return B + i }, getBorderWidth: function(y, A) { var z = null; if (!y[u][x]) { y[h].zoom = 1 } switch (A) { case g: z = y[a]; break; case w: z = y.offsetHeight - y.clientHeight - y[a]; break; case d: z = y[f]; break; case q: z = y.offsetWidth - y.clientWidth - y[f]; break } return z + i }, getPixel: function(z, y) { var B = null, C = z[u][k], A = z[u][y]; z[h][k] = A; B = z[h].pixelRight; z[h][k] = C; return B + i }, getMargin: function(z, y) { var A; if (z[u][y] == l) { A = 0 + i } else { A = b.Dom.IE.ComputedStyle.getPixel(z, y) } return A }, getVisibility: function(z, y) { var A; while ((A = z[u]) && A[y] == "inherit") { z = z[j] } return (A) ? A[y] : t }, getColor: function(z, y) { return b.Dom.Color.toRGB(z[u][y]) || r }, getBorderColor: function(z, y) { var A = z[u], B = A[y] || A.color; return b.Dom.Color.toRGB(b.Dom.Color.toHex(B)) } }, c = {}; c.top = c.right = c.bottom = c.left = c[e] = c[o] = m.getOffset; c.color = m.getColor; c[g] = c[q] = c[w] = c[d] = m.getBorderWidth; c.marginTop = c.marginRight = c.marginBottom = c.marginLeft = m.getMargin; c.visibility = m.getVisibility; c.borderColor = c.borderTopColor = c.borderRightColor = c.borderBottomColor = c.borderLeftColor = m.getBorderColor; b.Dom.IE_COMPUTED = c; b.Dom.IE_ComputedStyle = m })(); (function() { var c = "toString", a = parseInt, b = RegExp, d = YAHOO.util; d.Dom.Color = { KEYWORDS: { black: "000", silver: "c0c0c0", gray: "808080", white: "fff", maroon: "800000", red: "f00", purple: "800080", fuchsia: "f0f", green: "008000", lime: "0f0", olive: "808000", yellow: "ff0", navy: "000080", blue: "00f", teal: "008080", aqua: "0ff" }, re_RGB: /^rgb\(([0-9]+)\s*,\s*([0-9]+)\s*,\s*([0-9]+)\)$/i, re_hex: /^#?([0-9A-F]{2})([0-9A-F]{2})([0-9A-F]{2})$/i, re_hex3: /([0-9A-F])/gi, toRGB: function(e) { if (!d.Dom.Color.re_RGB.test(e)) { e = d.Dom.Color.toHex(e) } if (d.Dom.Color.re_hex.exec(e)) { e = "rgb(" + [a(b.$1, 16), a(b.$2, 16), a(b.$3, 16)].join(", ") + ")" } return e }, toHex: function(i) { i = d.Dom.Color.KEYWORDS[i] || i; if (d.Dom.Color.re_RGB.exec(i)) { var h = (b.$1.length === 1) ? "0" + b.$1 : Number(b.$1), f = (b.$2.length === 1) ? "0" + b.$2 : Number(b.$2), e = (b.$3.length === 1) ? "0" + b.$3 : Number(b.$3); i = [h[c](16), f[c](16), e[c](16)].join("") } if (i.length < 6) { i = i.replace(d.Dom.Color.re_hex3, "$1$1") } if (i !== "transparent" && i.indexOf("#") < 0) { i = "#" + i } return i.toLowerCase() } } } ()); YAHOO.register("dom", YAHOO.util.Dom, { version: "2.7.0", build: "1796" }); YAHOO.util.CustomEvent = function(d, c, b, a) { this.type = d; this.scope = c || window; this.silent = b; this.signature = a || YAHOO.util.CustomEvent.LIST; this.subscribers = []; if (!this.silent) { } var e = "_YUICEOnSubscribe"; if (d !== e) { this.subscribeEvent = new YAHOO.util.CustomEvent(e, this, true) } this.lastError = null }; YAHOO.util.CustomEvent.LIST = 0; YAHOO.util.CustomEvent.FLAT = 1; YAHOO.util.CustomEvent.prototype = { subscribe: function(a, b, c) { if (!a) { throw new Error("Invalid callback for subscriber to '" + this.type + "'") } if (this.subscribeEvent) { this.subscribeEvent.fire(a, b, c) } this.subscribers.push(new YAHOO.util.Subscriber(a, b, c)) }, unsubscribe: function(d, f) { if (!d) { return this.unsubscribeAll() } var e = false; for (var b = 0, a = this.subscribers.length; b < a; ++b) { var c = this.subscribers[b]; if (c && c.contains(d, f)) { this._delete(b); e = true } } return e }, fire: function() { this.lastError = null; var m = [], f = this.subscribers.length; if (!f && this.silent) { return true } var k = [].slice.call(arguments, 0), h = true, d, l = false; if (!this.silent) { } var c = this.subscribers.slice(), a = YAHOO.util.Event.throwErrors; for (d = 0; d < f; ++d) { var p = c[d]; if (!p) { l = true } else { if (!this.silent) { } var o = p.getScope(this.scope); if (this.signature == YAHOO.util.CustomEvent.FLAT) { var b = null; if (k.length > 0) { b = k[0] } try { h = p.fn.call(o, b, p.obj) } catch (g) { this.lastError = g; if (a) { throw g } } } else { try { h = p.fn.call(o, this.type, k, p.obj) } catch (j) { this.lastError = j; if (a) { throw j } } } if (false === h) { if (!this.silent) { } break } } } return (h !== false) }, unsubscribeAll: function() { var a = this.subscribers.length, b; for (b = a - 1; b > -1; b--) { this._delete(b) } this.subscribers = []; return a }, _delete: function(a) { var b = this.subscribers[a]; if (b) { delete b.fn; delete b.obj } this.subscribers.splice(a, 1) }, toString: function() { return "CustomEvent: '" + this.type + "', context: " + this.scope } }; YAHOO.util.Subscriber = function(a, b, c) { this.fn = a; this.obj = YAHOO.lang.isUndefined(b) ? null : b; this.overrideContext = c }; YAHOO.util.Subscriber.prototype.getScope = function(a) { if (this.overrideContext) { if (this.overrideContext === true) { return this.obj } else { return this.overrideContext } } return a }; YAHOO.util.Subscriber.prototype.contains = function(a, b) { if (b) { return (this.fn == a && this.obj == b) } else { return (this.fn == a) } }; YAHOO.util.Subscriber.prototype.toString = function() { return "Subscriber { obj: " + this.obj + ", overrideContext: " + (this.overrideContext || "no") + " }" }; if (!YAHOO.util.Event) {
YAHOO.util.Event = function() { var h = false; var i = []; var j = []; var g = []; var e = []; var c = 0; var f = []; var b = []; var a = 0; var d = { 63232: 38, 63233: 40, 63234: 37, 63235: 39, 63276: 33, 63277: 34, 25: 9 }; var k = YAHOO.env.ua.ie ? "focusin" : "focus"; var l = YAHOO.env.ua.ie ? "focusout" : "blur"; return { POLL_RETRYS: 2000, POLL_INTERVAL: 20, EL: 0, TYPE: 1, FN: 2, WFN: 3, UNLOAD_OBJ: 3, ADJ_SCOPE: 4, OBJ: 5, OVERRIDE: 6, lastError: null, isSafari: YAHOO.env.ua.webkit, webkit: YAHOO.env.ua.webkit, isIE: YAHOO.env.ua.ie, _interval: null, _dri: null, DOMReady: false, throwErrors: false, startInterval: function() { if (!this._interval) { var m = this; var o = function() { m._tryPreloadAttach() }; this._interval = setInterval(o, this.POLL_INTERVAL) } }, onAvailable: function(t, p, r, s, q) { var m = (YAHOO.lang.isString(t)) ? [t] : t; for (var o = 0; o < m.length; o = o + 1) { f.push({ id: m[o], fn: p, obj: r, overrideContext: s, checkReady: q }) } c = this.POLL_RETRYS; this.startInterval() }, onContentReady: function(q, m, o, p) { this.onAvailable(q, m, o, p, true) }, onDOMReady: function(m, o, p) { if (this.DOMReady) { setTimeout(function() { var q = window; if (p) { if (p === true) { q = o } else { q = p } } m.call(q, "DOMReady", [], o) }, 0) } else { this.DOMReadyEvent.subscribe(m, o, p) } }, _addListener: function(p, m, z, t, x, C) { if (!z || !z.call) { return false } if (this._isValidCollection(p)) { var A = true; for (var u = 0, w = p.length; u < w; ++u) { A = this.on(p[u], m, z, t, x) && A } return A } else { if (YAHOO.lang.isString(p)) { var s = this.getEl(p); if (s) { p = s } else { this.onAvailable(p, function() { YAHOO.util.Event.on(p, m, z, t, x) }); return true } } } if (!p) { return false } if ("unload" == m && t !== this) { j[j.length] = [p, m, z, t, x]; return true } var o = p; if (x) { if (x === true) { o = t } else { o = x } } var q = function(D) { return z.call(o, YAHOO.util.Event.getEvent(D, p), t) }; var B = [p, m, z, q, o, t, x]; var v = i.length; i[v] = B; if (this.useLegacyEvent(p, m)) { var r = this.getLegacyIndex(p, m); if (r == -1 || p != g[r][0]) { r = g.length; b[p.id + m] = r; g[r] = [p, m, p["on" + m]]; e[r] = []; p["on" + m] = function(D) { YAHOO.util.Event.fireLegacyEvent(YAHOO.util.Event.getEvent(D), r) } } e[r].push(B) } else { try { this._simpleAdd(p, m, q, C) } catch (y) { this.lastError = y; this.removeListener(p, m, z); return false } } return true }, addListener: function(o, r, m, p, q) { return this._addListener(o, r, m, p, q, false) }, addFocusListener: function(o, m, p, q) { return this._addListener(o, k, m, p, q, true) }, removeFocusListener: function(o, m) { return this.removeListener(o, k, m) }, addBlurListener: function(o, m, p, q) { return this._addListener(o, l, m, p, q, true) }, removeBlurListener: function(o, m) { return this.removeListener(o, l, m) }, fireLegacyEvent: function(s, q) { var u = true, m, w, v, o, t; w = e[q].slice(); for (var p = 0, r = w.length; p < r; ++p) { v = w[p]; if (v && v[this.WFN]) { o = v[this.ADJ_SCOPE]; t = v[this.WFN].call(o, s); u = (u && t) } } m = g[q]; if (m && m[2]) { m[2](s) } return u }, getLegacyIndex: function(o, p) { var m = this.generateId(o) + p; if (typeof b[m] == "undefined") { return -1 } else { return b[m] } }, useLegacyEvent: function(m, o) { return (this.webkit && this.webkit < 419 && ("click" == o || "dblclick" == o)) }, removeListener: function(o, m, w) { var r, u, y; if (typeof o == "string") { o = this.getEl(o) } else { if (this._isValidCollection(o)) { var x = true; for (r = o.length - 1; r > -1; r--) { x = (this.removeListener(o[r], m, w) && x) } return x } } if (!w || !w.call) { return this.purgeElement(o, false, m) } if ("unload" == m) { for (r = j.length - 1; r > -1; r--) { y = j[r]; if (y && y[0] == o && y[1] == m && y[2] == w) { j.splice(r, 1); return true } } return false } var s = null; var t = arguments[3]; if ("undefined" === typeof t) { t = this._getCacheIndex(o, m, w) } if (t >= 0) { s = i[t] } if (!o || !s) { return false } if (this.useLegacyEvent(o, m)) { var q = this.getLegacyIndex(o, m); var p = e[q]; if (p) { for (r = 0, u = p.length; r < u; ++r) { y = p[r]; if (y && y[this.EL] == o && y[this.TYPE] == m && y[this.FN] == w) { p.splice(r, 1); break } } } } else { try { this._simpleRemove(o, m, s[this.WFN], false) } catch (v) { this.lastError = v; return false } } delete i[t][this.WFN]; delete i[t][this.FN]; i.splice(t, 1); return true }, getTarget: function(p, o) { var m = p.target || p.srcElement; return this.resolveTextNode(m) }, resolveTextNode: function(o) { try { if (o && 3 == o.nodeType) { return o.parentNode } } catch (m) { } return o }, getPageX: function(o) { var m = o.pageX; if (!m && 0 !== m) { m = o.clientX || 0; if (this.isIE) { m += this._getScrollLeft() } } return m }, getPageY: function(m) { var o = m.pageY; if (!o && 0 !== o) { o = m.clientY || 0; if (this.isIE) { o += this._getScrollTop() } } return o }, getXY: function(m) { return [this.getPageX(m), this.getPageY(m)] }, getRelatedTarget: function(o) { var m = o.relatedTarget; if (!m) { if (o.type == "mouseout") { m = o.toElement } else { if (o.type == "mouseover") { m = o.fromElement } } } return this.resolveTextNode(m) }, getTime: function(p) { if (!p.time) { var o = new Date().getTime(); try { p.time = o } catch (m) { this.lastError = m; return o } } return p.time }, stopEvent: function(m) { this.stopPropagation(m); this.preventDefault(m) }, stopPropagation: function(m) { if (m.stopPropagation) { m.stopPropagation() } else { m.cancelBubble = true } }, preventDefault: function(m) { if (m.preventDefault) { m.preventDefault() } else { m.returnValue = false } }, getEvent: function(p, m) { var o = p || window.event; if (!o) { var q = this.getEvent.caller; while (q) { o = q.arguments[0]; if (o && Event == o.constructor) { break } q = q.caller } } return o }, getCharCode: function(o) { var m = o.keyCode || o.charCode || 0; if (YAHOO.env.ua.webkit && (m in d)) { m = d[m] } return m }, _getCacheIndex: function(r, s, q) { for (var p = 0, o = i.length; p < o; p = p + 1) { var m = i[p]; if (m && m[this.FN] == q && m[this.EL] == r && m[this.TYPE] == s) { return p } } return -1 }, generateId: function(m) { var o = m.id; if (!o) { o = "yuievtautoid-" + a; ++a; m.id = o } return o }, _isValidCollection: function(p) { try { return (p && typeof p !== "string" && p.length && !p.tagName && !p.alert && typeof p[0] !== "undefined") } catch (m) { return false } }, elCache: {}, getEl: function(m) { return (typeof m === "string") ? document.getElementById(m) : m }, clearCache: function() { }, DOMReadyEvent: new YAHOO.util.CustomEvent("DOMReady", this), _load: function(o) { if (!h) { h = true; var m = YAHOO.util.Event; m._ready(); m._tryPreloadAttach() } }, _ready: function(o) { var m = YAHOO.util.Event; if (!m.DOMReady) { m.DOMReady = true; m.DOMReadyEvent.fire(); m._simpleRemove(document, "DOMContentLoaded", m._ready) } }, _tryPreloadAttach: function() { if (f.length === 0) { c = 0; if (this._interval) { clearInterval(this._interval); this._interval = null } return } if (this.locked) { return } if (this.isIE) { if (!this.DOMReady) { this.startInterval(); return } } this.locked = true; var t = !h; if (!t) { t = (c > 0 && f.length > 0) } var s = []; var u = function(w, x) { var v = w; if (x.overrideContext) { if (x.overrideContext === true) { v = x.obj } else { v = x.overrideContext } } x.fn.call(v, x.obj) }; var o, m, r, q, p = []; for (o = 0, m = f.length; o < m; o = o + 1) { r = f[o]; if (r) { q = this.getEl(r.id); if (q) { if (r.checkReady) { if (h || q.nextSibling || !t) { p.push(r); f[o] = null } } else { u(q, r); f[o] = null } } else { s.push(r) } } } for (o = 0, m = p.length; o < m; o = o + 1) { r = p[o]; u(this.getEl(r.id), r) } c--; if (t) { for (o = f.length - 1; o > -1; o--) { r = f[o]; if (!r || !r.id) { f.splice(o, 1) } } this.startInterval() } else { if (this._interval) { clearInterval(this._interval); this._interval = null } } this.locked = false }, purgeElement: function(r, s, u) { var p = (YAHOO.lang.isString(r)) ? this.getEl(r) : r; var t = this.getListeners(p, u), q, m; if (t) { for (q = t.length - 1; q > -1; q--) { var o = t[q]; this.removeListener(p, o.type, o.fn) } } if (s && p && p.childNodes) { for (q = 0, m = p.childNodes.length; q < m; ++q) { this.purgeElement(p.childNodes[q], s, u) } } }, getListeners: function(p, m) { var s = [], o; if (!m) { o = [i, j] } else { if (m === "unload") { o = [j] } else { o = [i] } } var u = (YAHOO.lang.isString(p)) ? this.getEl(p) : p; for (var r = 0; r < o.length; r = r + 1) { var w = o[r]; if (w) { for (var t = 0, v = w.length; t < v; ++t) { var q = w[t]; if (q && q[this.EL] === u && (!m || m === q[this.TYPE])) { s.push({ type: q[this.TYPE], fn: q[this.FN], obj: q[this.OBJ], adjust: q[this.OVERRIDE], scope: q[this.ADJ_SCOPE], index: t }) } } } } return (s.length) ? s : null }, _unload: function(u) { var o = YAHOO.util.Event, r, q, p, t, s, v = j.slice(), m; for (r = 0, t = j.length; r < t; ++r) { p = v[r]; if (p) { m = window; if (p[o.ADJ_SCOPE]) { if (p[o.ADJ_SCOPE] === true) { m = p[o.UNLOAD_OBJ] } else { m = p[o.ADJ_SCOPE] } } p[o.FN].call(m, o.getEvent(u, p[o.EL]), p[o.UNLOAD_OBJ]); v[r] = null } } p = null; m = null; j = null; if (i) { for (q = i.length - 1; q > -1; q--) { p = i[q]; if (p) { o.removeListener(p[o.EL], p[o.TYPE], p[o.FN], q) } } p = null } g = null; o._simpleRemove(window, "unload", o._unload) }, _getScrollLeft: function() { return this._getScroll()[1] }, _getScrollTop: function() { return this._getScroll()[0] }, _getScroll: function() { var m = document.documentElement, o = document.body; if (m && (m.scrollTop || m.scrollLeft)) { return [m.scrollTop, m.scrollLeft] } else { if (o) { return [o.scrollTop, o.scrollLeft] } else { return [0, 0] } } }, regCE: function() { }, _simpleAdd: function() { if (window.addEventListener) { return function(p, q, o, m) { p.addEventListener(q, o, (m)) } } else { if (window.attachEvent) { return function(p, q, o, m) { p.attachEvent("on" + q, o) } } else { return function() { } } } } (), _simpleRemove: function() { if (window.removeEventListener) { return function(p, q, o, m) { p.removeEventListener(q, o, (m)) } } else { if (window.detachEvent) { return function(o, p, m) { o.detachEvent("on" + p, m) } } else { return function() { } } } } ()} } (); (function() {
var a = YAHOO.util.Event; a.on = a.addListener; a.onFocus = a.addFocusListener; a.onBlur = a.addBlurListener;
/* DOMReady: based on work by: Dean Edwards/John Resig/Matthias Miller */
if (a.isIE) { YAHOO.util.Event.onDOMReady(YAHOO.util.Event._tryPreloadAttach, YAHOO.util.Event, true); var b = document.createElement("p"); a._dri = setInterval(function() { try { b.doScroll("left"); clearInterval(a._dri); a._dri = null; a._ready(); b = null } catch (c) { } }, a.POLL_INTERVAL) } else { if (a.webkit && a.webkit < 525) { a._dri = setInterval(function() { var c = document.readyState; if ("loaded" == c || "complete" == c) { clearInterval(a._dri); a._dri = null; a._ready() } }, a.POLL_INTERVAL) } else { a._simpleAdd(document, "DOMContentLoaded", a._ready) } } a._simpleAdd(window, "load", a._load); a._simpleAdd(window, "unload", a._unload); a._tryPreloadAttach()
})()
} YAHOO.util.EventProvider = function() { }; YAHOO.util.EventProvider.prototype = { __yui_events: null, __yui_subscribers: null, subscribe: function(a, c, f, e) { this.__yui_events = this.__yui_events || {}; var d = this.__yui_events[a]; if (d) { d.subscribe(c, f, e) } else { this.__yui_subscribers = this.__yui_subscribers || {}; var b = this.__yui_subscribers; if (!b[a]) { b[a] = [] } b[a].push({ fn: c, obj: f, overrideContext: e }) } }, unsubscribe: function(c, e, g) { this.__yui_events = this.__yui_events || {}; var a = this.__yui_events; if (c) { var f = a[c]; if (f) { return f.unsubscribe(e, g) } } else { var b = true; for (var d in a) { if (YAHOO.lang.hasOwnProperty(a, d)) { b = b && a[d].unsubscribe(e, g) } } return b } return false }, unsubscribeAll: function(a) { return this.unsubscribe(a) }, createEvent: function(g, d) { this.__yui_events = this.__yui_events || {}; var a = d || {}; var j = this.__yui_events; if (j[g]) { } else { var h = a.scope || this; var e = (a.silent); var b = new YAHOO.util.CustomEvent(g, h, e, YAHOO.util.CustomEvent.FLAT); j[g] = b; if (a.onSubscribeCallback) { b.subscribeEvent.subscribe(a.onSubscribeCallback) } this.__yui_subscribers = this.__yui_subscribers || {}; var f = this.__yui_subscribers[g]; if (f) { for (var c = 0; c < f.length; ++c) { b.subscribe(f[c].fn, f[c].obj, f[c].overrideContext) } } } return j[g] }, fireEvent: function(e, d, a, c) { this.__yui_events = this.__yui_events || {}; var g = this.__yui_events[e]; if (!g) { return null } var b = []; for (var f = 1; f < arguments.length; ++f) { b.push(arguments[f]) } return g.fire.apply(g, b) }, hasEvent: function(a) { if (this.__yui_events) { if (this.__yui_events[a]) { return true } } return false } }; (function() { var a = YAHOO.util.Event, c = YAHOO.lang; YAHOO.util.KeyListener = function(d, i, e, f) { if (!d) { } else { if (!i) { } else { if (!e) { } } } if (!f) { f = YAHOO.util.KeyListener.KEYDOWN } var g = new YAHOO.util.CustomEvent("keyPressed"); this.enabledEvent = new YAHOO.util.CustomEvent("enabled"); this.disabledEvent = new YAHOO.util.CustomEvent("disabled"); if (c.isString(d)) { d = document.getElementById(d) } if (c.isFunction(e)) { g.subscribe(e) } else { g.subscribe(e.fn, e.scope, e.correctScope) } function h(p, o) { if (!i.shift) { i.shift = false } if (!i.alt) { i.alt = false } if (!i.ctrl) { i.ctrl = false } if (p.shiftKey == i.shift && p.altKey == i.alt && p.ctrlKey == i.ctrl) { var j, m = i.keys, l; if (YAHOO.lang.isArray(m)) { for (var k = 0; k < m.length; k++) { j = m[k]; l = a.getCharCode(p); if (j == l) { g.fire(l, p); break } } } else { l = a.getCharCode(p); if (m == l) { g.fire(l, p) } } } } this.enable = function() { if (!this.enabled) { a.on(d, f, h); this.enabledEvent.fire(i) } this.enabled = true }; this.disable = function() { if (this.enabled) { a.removeListener(d, f, h); this.disabledEvent.fire(i) } this.enabled = false }; this.toString = function() { return "KeyListener [" + i.keys + "] " + d.tagName + (d.id ? "[" + d.id + "]" : "") } }; var b = YAHOO.util.KeyListener; b.KEYDOWN = "keydown"; b.KEYUP = "keyup"; b.KEY = { ALT: 18, BACK_SPACE: 8, CAPS_LOCK: 20, CONTROL: 17, DELETE: 46, DOWN: 40, END: 35, ENTER: 13, ESCAPE: 27, HOME: 36, LEFT: 37, META: 224, NUM_LOCK: 144, PAGE_DOWN: 34, PAGE_UP: 33, PAUSE: 19, PRINTSCREEN: 44, RIGHT: 39, SCROLL_LOCK: 145, SHIFT: 16, SPACE: 32, TAB: 9, UP: 38} })(); YAHOO.register("event", YAHOO.util.Event, { version: "2.7.0", build: "1796" }); YAHOO.util.Get = function() { var m = {}, l = 0, s = 0, e = false, o = YAHOO.env.ua, t = YAHOO.lang; var j = function(y, u, z) { var v = z || window, A = v.document, B = A.createElement(y); for (var x in u) { if (u[x] && YAHOO.lang.hasOwnProperty(u, x)) { B.setAttribute(x, u[x]) } } return B }; var i = function(u, v, x) { var w = x || "utf-8"; return j("link", { id: "yui__dyn_" + (s++), type: "text/css", charset: w, rel: "stylesheet", href: u }, v) }; var q = function(u, v, x) { var w = x || "utf-8"; return j("script", { id: "yui__dyn_" + (s++), type: "text/javascript", charset: w, src: u }, v) }; var a = function(u, v) { return { tId: u.tId, win: u.win, data: u.data, nodes: u.nodes, msg: v, purge: function() { d(this.tId) } } }; var b = function(u, x) { var v = m[x], w = (t.isString(u)) ? v.win.document.getElementById(u) : u; if (!w) { r(x, "target node not found: " + u) } return w }; var r = function(x, w) { var u = m[x]; if (u.onFailure) { var v = u.scope || u.win; u.onFailure.call(v, a(u, w)) } }; var c = function(x) { var u = m[x]; u.finished = true; if (u.aborted) { var w = "transaction " + x + " was aborted"; r(x, w); return } if (u.onSuccess) { var v = u.scope || u.win; u.onSuccess.call(v, a(u)) } }; var p = function(w) { var u = m[w]; if (u.onTimeout) { var v = u.scope || u; u.onTimeout.call(v, a(u)) } }; var g = function(x, B) { var v = m[x]; if (v.timer) { v.timer.cancel() } if (v.aborted) { var z = "transaction " + x + " was aborted"; r(x, z); return } if (B) { v.url.shift(); if (v.varName) { v.varName.shift() } } else { v.url = (t.isString(v.url)) ? [v.url] : v.url; if (v.varName) { v.varName = (t.isString(v.varName)) ? [v.varName] : v.varName } } var E = v.win, D = E.document, C = D.getElementsByTagName("head")[0], y; if (v.url.length === 0) { if (v.type === "script" && o.webkit && o.webkit < 420 && !v.finalpass && !v.varName) { var A = q(null, v.win, v.charset); A.innerHTML = 'YAHOO.util.Get._finalize("' + x + '");'; v.nodes.push(A); C.appendChild(A) } else { c(x) } return } var u = v.url[0]; if (!u) { v.url.shift(); return g(x) } if (v.timeout) { v.timer = t.later(v.timeout, v, p, x) } if (v.type === "script") { y = q(u, E, v.charset) } else { y = i(u, E, v.charset) } f(v.type, y, x, u, E, v.url.length); v.nodes.push(y); if (v.insertBefore) { var F = b(v.insertBefore, x); if (F) { F.parentNode.insertBefore(y, F) } } else { C.appendChild(y) } if ((o.webkit || o.gecko) && v.type === "css") { g(x, u) } }; var k = function() { if (e) { return } e = true; for (var u in m) { var v = m[u]; if (v.autopurge && v.finished) { d(v.tId); delete m[u] } } e = false }; var d = function(B) { var y = m[B]; if (y) { var A = y.nodes, u = A.length, z = y.win.document, x = z.getElementsByTagName("head")[0]; if (y.insertBefore) { var w = b(y.insertBefore, B); if (w) { x = w.parentNode } } for (var v = 0; v < u; v = v + 1) { x.removeChild(A[v]) } y.nodes = [] } }; var h = function(v, u, w) { var y = "q" + (l++); w = w || {}; if (l % YAHOO.util.Get.PURGE_THRESH === 0) { k() } m[y] = t.merge(w, { tId: y, type: v, url: u, finished: false, aborted: false, nodes: [] }); var x = m[y]; x.win = x.win || window; x.scope = x.scope || x.win; x.autopurge = ("autopurge" in x) ? x.autopurge : (v === "script") ? true : false; t.later(0, x, g, y); return { tId: y} }; var f = function(D, y, x, v, z, A, C) { var B = C || g; if (o.ie) { y.onreadystatechange = function() { var E = this.readyState; if ("loaded" === E || "complete" === E) { y.onreadystatechange = null; B(x, v) } } } else { if (o.webkit) { if (D === "script") { if (o.webkit >= 420) { y.addEventListener("load", function() { B(x, v) }) } else { var u = m[x]; if (u.varName) { var w = YAHOO.util.Get.POLL_FREQ; u.maxattempts = YAHOO.util.Get.TIMEOUT / w; u.attempts = 0; u._cache = u.varName[0].split("."); u.timer = t.later(w, u, function(J) { var G = this._cache, F = G.length, E = this.win, H; for (H = 0; H < F; H = H + 1) { E = E[G[H]]; if (!E) { this.attempts++; if (this.attempts++ > this.maxattempts) { var I = "Over retry limit, giving up"; u.timer.cancel(); r(x, I) } else { } return } } u.timer.cancel(); B(x, v) }, null, true) } else { t.later(YAHOO.util.Get.POLL_FREQ, null, B, [x, v]) } } } } else { y.onload = function() { B(x, v) } } } }; return { POLL_FREQ: 10, PURGE_THRESH: 20, TIMEOUT: 2000, _finalize: function(u) { t.later(0, null, c, u) }, abort: function(v) { var w = (t.isString(v)) ? v : v.tId; var u = m[w]; if (u) { u.aborted = true } }, script: function(u, v) { return h("script", u, v) }, css: function(u, v) { return h("css", u, v) } } } (); YAHOO.register("get", YAHOO.util.Get, { version: "2.7.0", build: "1796" }); if (typeof YAHOO == "undefined" || !YAHOO) { var YAHOO = {} } YAHOO.namespace = function() { var b = arguments, g = null, e, c, f; for (e = 0; e < b.length; e = e + 1) { f = ("" + b[e]).split("."); g = YAHOO; for (c = (f[0] == "YAHOO") ? 1 : 0; c < f.length; c = c + 1) { g[f[c]] = g[f[c]] || {}; g = g[f[c]] } } return g }; YAHOO.log = function(d, a, c) { var b = YAHOO.widget.Logger; if (b && b.log) { return b.log(d, a, c) } else { return false } }; YAHOO.register = function(a, f, e) { var k = YAHOO.env.modules, c, j, h, g, d; if (!k[a]) { k[a] = { versions: [], builds: []} } c = k[a]; j = e.version; h = e.build; g = YAHOO.env.listeners; c.name = a; c.version = j; c.build = h; c.versions.push(j); c.builds.push(h); c.mainClass = f; for (d = 0; d < g.length; d = d + 1) { g[d](c) } if (f) { f.VERSION = j; f.BUILD = h } else { YAHOO.log("mainClass is undefined for module " + a, "warn") } }; YAHOO.env = YAHOO.env || { modules: [], listeners: [] }; YAHOO.env.getVersion = function(a) { return YAHOO.env.modules[a] || null }; YAHOO.env.ua = function() { var c = { ie: 0, opera: 0, gecko: 0, webkit: 0, mobile: null, air: 0, caja: 0 }, b = navigator.userAgent, a; if ((/KHTML/).test(b)) { c.webkit = 1 } a = b.match(/AppleWebKit\/([^\s]*)/); if (a && a[1]) { c.webkit = parseFloat(a[1]); if (/ Mobile\//.test(b)) { c.mobile = "Apple" } else { a = b.match(/NokiaN[^\/]*/); if (a) { c.mobile = a[0] } } a = b.match(/AdobeAIR\/([^\s]*)/); if (a) { c.air = a[0] } } if (!c.webkit) { a = b.match(/Opera[\s\/]([^\s]*)/); if (a && a[1]) { c.opera = parseFloat(a[1]); a = b.match(/Opera Mini[^;]*/); if (a) { c.mobile = a[0] } } else { a = b.match(/MSIE\s([^;]*)/); if (a && a[1]) { c.ie = parseFloat(a[1]) } else { a = b.match(/Gecko\/([^\s]*)/); if (a) { c.gecko = 1; a = b.match(/rv:([^\s\)]*)/); if (a && a[1]) { c.gecko = parseFloat(a[1]) } } } } } a = b.match(/Caja\/([^\s]*)/); if (a && a[1]) { c.caja = parseFloat(a[1]) } return c } (); (function() { YAHOO.namespace("util", "widget", "example"); if ("undefined" !== typeof YAHOO_config) { var b = YAHOO_config.listener, a = YAHOO.env.listeners, d = true, c; if (b) { for (c = 0; c < a.length; c = c + 1) { if (a[c] == b) { d = false; break } } if (d) { a.push(b) } } } })(); YAHOO.lang = YAHOO.lang || {}; (function() { var b = YAHOO.lang, f = "[object Array]", c = "[object Function]", a = Object.prototype, e = ["toString", "valueOf"], d = { isArray: function(g) { return a.toString.apply(g) === f }, isBoolean: function(g) { return typeof g === "boolean" }, isFunction: function(g) { return a.toString.apply(g) === c }, isNull: function(g) { return g === null }, isNumber: function(g) { return typeof g === "number" && isFinite(g) }, isObject: function(g) { return (g && (typeof g === "object" || b.isFunction(g))) || false }, isString: function(g) { return typeof g === "string" }, isUndefined: function(g) { return typeof g === "undefined" }, _IEEnumFix: (YAHOO.env.ua.ie) ? function(j, h) { var g, l, k; for (g = 0; g < e.length; g = g + 1) { l = e[g]; k = h[l]; if (b.isFunction(k) && k != a[l]) { j[l] = k } } } : function() { }, extend: function(k, l, j) { if (!l || !k) { throw new Error("extend failed, please check that all dependencies are included.") } var h = function() { }, g; h.prototype = l.prototype; k.prototype = new h(); k.prototype.constructor = k; k.superclass = l.prototype; if (l.prototype.constructor == a.constructor) { l.prototype.constructor = l } if (j) { for (g in j) { if (b.hasOwnProperty(j, g)) { k.prototype[g] = j[g] } } b._IEEnumFix(k.prototype, j) } }, augmentObject: function(l, k) { if (!k || !l) { throw new Error("Absorb failed, verify dependencies.") } var g = arguments, j, m, h = g[2]; if (h && h !== true) { for (j = 2; j < g.length; j = j + 1) { l[g[j]] = k[g[j]] } } else { for (m in k) { if (h || !(m in l)) { l[m] = k[m] } } b._IEEnumFix(l, k) } }, augmentProto: function(k, j) { if (!j || !k) { throw new Error("Augment failed, verify dependencies.") } var g = [k.prototype, j.prototype], h; for (h = 2; h < arguments.length; h = h + 1) { g.push(arguments[h]) } b.augmentObject.apply(this, g) }, dump: function(g, m) { var j, l, q = [], r = "{...}", h = "f(){...}", p = ", ", k = " => "; if (!b.isObject(g)) { return g + "" } else { if (g instanceof Date || ("nodeType" in g && "tagName" in g)) { return g } else { if (b.isFunction(g)) { return h } } } m = (b.isNumber(m)) ? m : 3; if (b.isArray(g)) { q.push("["); for (j = 0, l = g.length; j < l; j = j + 1) { if (b.isObject(g[j])) { q.push((m > 0) ? b.dump(g[j], m - 1) : r) } else { q.push(g[j]) } q.push(p) } if (q.length > 1) { q.pop() } q.push("]") } else { q.push("{"); for (j in g) { if (b.hasOwnProperty(g, j)) { q.push(j + k); if (b.isObject(g[j])) { q.push((m > 0) ? b.dump(g[j], m - 1) : r) } else { q.push(g[j]) } q.push(p) } } if (q.length > 1) { q.pop() } q.push("}") } return q.join("") }, substitute: function(C, h, u) { var q, p, m, y, z, B, x = [], l, r = "dump", w = " ", g = "{", A = "}", t; for (; ; ) { q = C.lastIndexOf(g); if (q < 0) { break } p = C.indexOf(A, q); if (q + 1 >= p) { break } l = C.substring(q + 1, p); y = l; B = null; m = y.indexOf(w); if (m > -1) { B = y.substring(m + 1); y = y.substring(0, m) } z = h[y]; if (u) { z = u(y, z, B) } if (b.isObject(z)) { if (b.isArray(z)) { z = b.dump(z, parseInt(B, 10)) } else { B = B || ""; t = B.indexOf(r); if (t > -1) { B = B.substring(4) } if (z.toString === a.toString || t > -1) { z = b.dump(z, parseInt(B, 10)) } else { z = z.toString() } } } else { if (!b.isString(z) && !b.isNumber(z)) { z = "~-" + x.length + "-~"; x[x.length] = l } } C = C.substring(0, q) + z + C.substring(p + 1) } for (q = x.length - 1; q >= 0; q = q - 1) { C = C.replace(new RegExp("~-" + q + "-~"), "{" + x[q] + "}", "g") } return C }, trim: function(g) { try { return g.replace(/^\s+|\s+$/g, "") } catch (h) { return g } }, merge: function() { var k = {}, h = arguments, g = h.length, j; for (j = 0; j < g; j = j + 1) { b.augmentObject(k, h[j], true) } return k }, later: function(q, h, s, j, k) { q = q || 0; h = h || {}; var i = s, p = j, l, g; if (b.isString(s)) { i = h[s] } if (!i) { throw new TypeError("method undefined") } if (!b.isArray(p)) { p = [j] } l = function() { i.apply(h, p) }; g = (k) ? setInterval(l, q) : setTimeout(l, q); return { interval: k, cancel: function() { if (this.interval) { clearInterval(g) } else { clearTimeout(g) } } } }, isValue: function(g) { return (b.isObject(g) || b.isString(g) || b.isNumber(g) || b.isBoolean(g)) } }; b.hasOwnProperty = (a.hasOwnProperty) ? function(g, h) { return g && g.hasOwnProperty(h) } : function(g, h) { return !b.isUndefined(g[h]) && g.constructor.prototype[h] !== g[h] }; d.augmentObject(b, d, true); YAHOO.util.Lang = b; b.augment = b.augmentProto; YAHOO.augment = b.augmentProto; YAHOO.extend = b.extend })(); YAHOO.register("yahoo", YAHOO, { version: "2.7.0", build: "1796" }); YAHOO.util.Get = function() { var m = {}, l = 0, s = 0, e = false, o = YAHOO.env.ua, t = YAHOO.lang; var j = function(y, u, z) { var v = z || window, A = v.document, B = A.createElement(y); for (var x in u) { if (u[x] && YAHOO.lang.hasOwnProperty(u, x)) { B.setAttribute(x, u[x]) } } return B }; var i = function(u, v, x) { var w = x || "utf-8"; return j("link", { id: "yui__dyn_" + (s++), type: "text/css", charset: w, rel: "stylesheet", href: u }, v) }; var q = function(u, v, x) { var w = x || "utf-8"; return j("script", { id: "yui__dyn_" + (s++), type: "text/javascript", charset: w, src: u }, v) }; var a = function(u, v) { return { tId: u.tId, win: u.win, data: u.data, nodes: u.nodes, msg: v, purge: function() { d(this.tId) } } }; var b = function(u, x) { var v = m[x], w = (t.isString(u)) ? v.win.document.getElementById(u) : u; if (!w) { r(x, "target node not found: " + u) } return w }; var r = function(x, w) { var u = m[x]; if (u.onFailure) { var v = u.scope || u.win; u.onFailure.call(v, a(u, w)) } }; var c = function(x) { var u = m[x]; u.finished = true; if (u.aborted) { var w = "transaction " + x + " was aborted"; r(x, w); return } if (u.onSuccess) { var v = u.scope || u.win; u.onSuccess.call(v, a(u)) } }; var p = function(w) { var u = m[w]; if (u.onTimeout) { var v = u.scope || u; u.onTimeout.call(v, a(u)) } }; var g = function(x, B) { var v = m[x]; if (v.timer) { v.timer.cancel() } if (v.aborted) { var z = "transaction " + x + " was aborted"; r(x, z); return } if (B) { v.url.shift(); if (v.varName) { v.varName.shift() } } else { v.url = (t.isString(v.url)) ? [v.url] : v.url; if (v.varName) { v.varName = (t.isString(v.varName)) ? [v.varName] : v.varName } } var E = v.win, D = E.document, C = D.getElementsByTagName("head")[0], y; if (v.url.length === 0) { if (v.type === "script" && o.webkit && o.webkit < 420 && !v.finalpass && !v.varName) { var A = q(null, v.win, v.charset); A.innerHTML = 'YAHOO.util.Get._finalize("' + x + '");'; v.nodes.push(A); C.appendChild(A) } else { c(x) } return } var u = v.url[0]; if (!u) { v.url.shift(); return g(x) } if (v.timeout) { v.timer = t.later(v.timeout, v, p, x) } if (v.type === "script") { y = q(u, E, v.charset) } else { y = i(u, E, v.charset) } f(v.type, y, x, u, E, v.url.length); v.nodes.push(y); if (v.insertBefore) { var F = b(v.insertBefore, x); if (F) { F.parentNode.insertBefore(y, F) } } else { C.appendChild(y) } if ((o.webkit || o.gecko) && v.type === "css") { g(x, u) } }; var k = function() { if (e) { return } e = true; for (var u in m) { var v = m[u]; if (v.autopurge && v.finished) { d(v.tId); delete m[u] } } e = false }; var d = function(B) { var y = m[B]; if (y) { var A = y.nodes, u = A.length, z = y.win.document, x = z.getElementsByTagName("head")[0]; if (y.insertBefore) { var w = b(y.insertBefore, B); if (w) { x = w.parentNode } } for (var v = 0; v < u; v = v + 1) { x.removeChild(A[v]) } y.nodes = [] } }; var h = function(v, u, w) { var y = "q" + (l++); w = w || {}; if (l % YAHOO.util.Get.PURGE_THRESH === 0) { k() } m[y] = t.merge(w, { tId: y, type: v, url: u, finished: false, aborted: false, nodes: [] }); var x = m[y]; x.win = x.win || window; x.scope = x.scope || x.win; x.autopurge = ("autopurge" in x) ? x.autopurge : (v === "script") ? true : false; t.later(0, x, g, y); return { tId: y} }; var f = function(D, y, x, v, z, A, C) { var B = C || g; if (o.ie) { y.onreadystatechange = function() { var E = this.readyState; if ("loaded" === E || "complete" === E) { y.onreadystatechange = null; B(x, v) } } } else { if (o.webkit) { if (D === "script") { if (o.webkit >= 420) { y.addEventListener("load", function() { B(x, v) }) } else { var u = m[x]; if (u.varName) { var w = YAHOO.util.Get.POLL_FREQ; u.maxattempts = YAHOO.util.Get.TIMEOUT / w; u.attempts = 0; u._cache = u.varName[0].split("."); u.timer = t.later(w, u, function(J) { var G = this._cache, F = G.length, E = this.win, H; for (H = 0; H < F; H = H + 1) { E = E[G[H]]; if (!E) { this.attempts++; if (this.attempts++ > this.maxattempts) { var I = "Over retry limit, giving up"; u.timer.cancel(); r(x, I) } else { } return } } u.timer.cancel(); B(x, v) }, null, true) } else { t.later(YAHOO.util.Get.POLL_FREQ, null, B, [x, v]) } } } } else { y.onload = function() { B(x, v) } } } }; return { POLL_FREQ: 10, PURGE_THRESH: 20, TIMEOUT: 2000, _finalize: function(u) { t.later(0, null, c, u) }, abort: function(v) { var w = (t.isString(v)) ? v : v.tId; var u = m[w]; if (u) { u.aborted = true } }, script: function(u, v) { return h("script", u, v) }, css: function(u, v) { return h("css", u, v) } } } (); YAHOO.register("get", YAHOO.util.Get, { version: "2.7.0", build: "1796" }); (function() { var Y = YAHOO, util = Y.util, lang = Y.lang, env = Y.env, PROV = "_provides", SUPER = "_supersedes", REQ = "expanded", AFTER = "_after"; var YUI = { dupsAllowed: { yahoo: true, get: true }, info: { root: "2.7.0/build/", base: "http://yui.yahooapis.com/2.7.0/build/", comboBase: "http://yui.yahooapis.com/combo?", skin: { defaultSkin: "sam", base: "assets/skins/", path: "skin.css", after: ["reset", "fonts", "grids", "base"], rollup: 3 }, dupsAllowed: ["yahoo", "get"], moduleInfo: { animation: { type: "js", path: "animation/animation-min.js", requires: ["dom", "event"] }, autocomplete: { type: "js", path: "autocomplete/autocomplete-min.js", requires: ["dom", "event", "datasource"], optional: ["connection", "animation"], skinnable: true }, base: { type: "css", path: "base/base-min.css", after: ["reset", "fonts", "grids"] }, button: { type: "js", path: "button/button-min.js", requires: ["element"], optional: ["menu"], skinnable: true }, calendar: { type: "js", path: "calendar/calendar-min.js", requires: ["event", "dom"], skinnable: true }, carousel: { type: "js", path: "carousel/carousel-min.js", requires: ["element"], optional: ["animation"], skinnable: true }, charts: { type: "js", path: "charts/charts-min.js", requires: ["element", "json", "datasource"] }, colorpicker: { type: "js", path: "colorpicker/colorpicker-min.js", requires: ["slider", "element"], optional: ["animation"], skinnable: true }, connection: { type: "js", path: "connection/connection-min.js", requires: ["event"] }, container: { type: "js", path: "container/container-min.js", requires: ["dom", "event"], optional: ["dragdrop", "animation", "connection"], supersedes: ["containercore"], skinnable: true }, containercore: { type: "js", path: "container/container_core-min.js", requires: ["dom", "event"], pkg: "container" }, cookie: { type: "js", path: "cookie/cookie-min.js", requires: ["yahoo"] }, datasource: { type: "js", path: "datasource/datasource-min.js", requires: ["event"], optional: ["connection"] }, datatable: { type: "js", path: "datatable/datatable-min.js", requires: ["element", "datasource"], optional: ["calendar", "dragdrop", "paginator"], skinnable: true }, dom: { type: "js", path: "dom/dom-min.js", requires: ["yahoo"] }, dragdrop: { type: "js", path: "dragdrop/dragdrop-min.js", requires: ["dom", "event"] }, editor: { type: "js", path: "editor/editor-min.js", requires: ["menu", "element", "button"], optional: ["animation", "dragdrop"], supersedes: ["simpleeditor"], skinnable: true }, element: { type: "js", path: "element/element-min.js", requires: ["dom", "event"] }, event: { type: "js", path: "event/event-min.js", requires: ["yahoo"] }, fonts: { type: "css", path: "fonts/fonts-min.css" }, get: { type: "js", path: "get/get-min.js", requires: ["yahoo"] }, grids: { type: "css", path: "grids/grids-min.css", requires: ["fonts"], optional: ["reset"] }, history: { type: "js", path: "history/history-min.js", requires: ["event"] }, imagecropper: { type: "js", path: "imagecropper/imagecropper-min.js", requires: ["dom", "event", "dragdrop", "element", "resize"], skinnable: true }, imageloader: { type: "js", path: "imageloader/imageloader-min.js", requires: ["event", "dom"] }, json: { type: "js", path: "json/json-min.js", requires: ["yahoo"] }, layout: { type: "js", path: "layout/layout-min.js", requires: ["dom", "event", "element"], optional: ["animation", "dragdrop", "resize", "selector"], skinnable: true }, logger: { type: "js", path: "logger/logger-min.js", requires: ["event", "dom"], optional: ["dragdrop"], skinnable: true }, menu: { type: "js", path: "menu/menu-min.js", requires: ["containercore"], skinnable: true }, paginator: { type: "js", path: "paginator/paginator-min.js", requires: ["element"], skinnable: true }, profiler: { type: "js", path: "profiler/profiler-min.js", requires: ["yahoo"] }, profilerviewer: { type: "js", path: "profilerviewer/profilerviewer-min.js", requires: ["profiler", "yuiloader", "element"], skinnable: true }, reset: { type: "css", path: "reset/reset-min.css" }, "reset-fonts-grids": { type: "css", path: "reset-fonts-grids/reset-fonts-grids.css", supersedes: ["reset", "fonts", "grids", "reset-fonts"], rollup: 4 }, "reset-fonts": { type: "css", path: "reset-fonts/reset-fonts.css", supersedes: ["reset", "fonts"], rollup: 2 }, resize: { type: "js", path: "resize/resize-min.js", requires: ["dom", "event", "dragdrop", "element"], optional: ["animation"], skinnable: true }, selector: { type: "js", path: "selector/selector-min.js", requires: ["yahoo", "dom"] }, simpleeditor: { type: "js", path: "editor/simpleeditor-min.js", requires: ["element"], optional: ["containercore", "menu", "button", "animation", "dragdrop"], skinnable: true, pkg: "editor" }, slider: { type: "js", path: "slider/slider-min.js", requires: ["dragdrop"], optional: ["animation"], skinnable: true }, stylesheet: { type: "js", path: "stylesheet/stylesheet-min.js", requires: ["yahoo"] }, tabview: { type: "js", path: "tabview/tabview-min.js", requires: ["element"], optional: ["connection"], skinnable: true }, treeview: { type: "js", path: "treeview/treeview-min.js", requires: ["event", "dom"], optional: ["json"], skinnable: true }, uploader: { type: "js", path: "uploader/uploader.js", requires: ["element"] }, utilities: { type: "js", path: "utilities/utilities.js", supersedes: ["yahoo", "event", "dragdrop", "animation", "dom", "connection", "element", "yahoo-dom-event", "get", "yuiloader", "yuiloader-dom-event"], rollup: 8 }, yahoo: { type: "js", path: "yahoo/yahoo-min.js" }, "yahoo-dom-event": { type: "js", path: "yahoo-dom-event/yahoo-dom-event.js", supersedes: ["yahoo", "event", "dom"], rollup: 3 }, yuiloader: { type: "js", path: "yuiloader/yuiloader-min.js", supersedes: ["yahoo", "get"] }, "yuiloader-dom-event": { type: "js", path: "yuiloader-dom-event/yuiloader-dom-event.js", supersedes: ["yahoo", "dom", "event", "get", "yuiloader", "yahoo-dom-event"], rollup: 5 }, yuitest: { type: "js", path: "yuitest/yuitest-min.js", requires: ["logger"], skinnable: true}} }, ObjectUtil: { appendArray: function(o, a) { if (a) { for (var i = 0; i < a.length; i = i + 1) { o[a[i]] = true } } }, keys: function(o, ordered) { var a = [], i; for (i in o) { if (lang.hasOwnProperty(o, i)) { a.push(i) } } return a } }, ArrayUtil: { appendArray: function(a1, a2) { Array.prototype.push.apply(a1, a2) }, indexOf: function(a, val) { for (var i = 0; i < a.length; i = i + 1) { if (a[i] === val) { return i } } return -1 }, toObject: function(a) { var o = {}; for (var i = 0; i < a.length; i = i + 1) { o[a[i]] = true } return o }, uniq: function(a) { return YUI.ObjectUtil.keys(YUI.ArrayUtil.toObject(a)) } } }; YAHOO.util.YUILoader = function(o) { this._internalCallback = null; this._useYahooListener = false; this.onSuccess = null; this.onFailure = Y.log; this.onProgress = null; this.onTimeout = null; this.scope = this; this.data = null; this.insertBefore = null; this.charset = null; this.varName = null; this.base = YUI.info.base; this.comboBase = YUI.info.comboBase; this.combine = false; this.root = YUI.info.root; this.timeout = 0; this.ignore = null; this.force = null; this.allowRollup = true; this.filter = null; this.required = {}; this.moduleInfo = lang.merge(YUI.info.moduleInfo); this.rollups = null; this.loadOptional = false; this.sorted = []; this.loaded = {}; this.dirty = true; this.inserted = {}; var self = this; env.listeners.push(function(m) { if (self._useYahooListener) { self.loadNext(m.name) } }); this.skin = lang.merge(YUI.info.skin); this._config(o) }; Y.util.YUILoader.prototype = { FILTERS: { RAW: { searchExp: "-min\\.js", replaceStr: ".js" }, DEBUG: { searchExp: "-min\\.js", replaceStr: "-debug.js"} }, SKIN_PREFIX: "skin-", _config: function(o) { if (o) { for (var i in o) { if (lang.hasOwnProperty(o, i)) { if (i == "require") { this.require(o[i]) } else { this[i] = o[i] } } } } var f = this.filter; if (lang.isString(f)) { f = f.toUpperCase(); if (f === "DEBUG") { this.require("logger") } if (!Y.widget.LogWriter) { Y.widget.LogWriter = function() { return Y } } this.filter = this.FILTERS[f] } }, addModule: function(o) { if (!o || !o.name || !o.type || (!o.path && !o.fullpath)) { return false } o.ext = ("ext" in o) ? o.ext : true; o.requires = o.requires || []; this.moduleInfo[o.name] = o; this.dirty = true; return true }, require: function(what) { var a = (typeof what === "string") ? arguments : what; this.dirty = true; YUI.ObjectUtil.appendArray(this.required, a) }, _addSkin: function(skin, mod) { var name = this.formatSkin(skin), info = this.moduleInfo, sinf = this.skin, ext = info[mod] && info[mod].ext; if (!info[name]) { this.addModule({ name: name, type: "css", path: sinf.base + skin + "/" + sinf.path, after: sinf.after, rollup: sinf.rollup, ext: ext }) } if (mod) { name = this.formatSkin(skin, mod); if (!info[name]) { var mdef = info[mod], pkg = mdef.pkg || mod; this.addModule({ name: name, type: "css", after: sinf.after, path: pkg + "/" + sinf.base + skin + "/" + mod + ".css", ext: ext }) } } return name }, getRequires: function(mod) { if (!mod) { return [] } if (!this.dirty && mod.expanded) { return mod.expanded } mod.requires = mod.requires || []; var i, d = [], r = mod.requires, o = mod.optional, info = this.moduleInfo, m; for (i = 0; i < r.length; i = i + 1) { d.push(r[i]); m = info[r[i]]; YUI.ArrayUtil.appendArray(d, this.getRequires(m)) } if (o && this.loadOptional) { for (i = 0; i < o.length; i = i + 1) { d.push(o[i]); YUI.ArrayUtil.appendArray(d, this.getRequires(info[o[i]])) } } mod.expanded = YUI.ArrayUtil.uniq(d); return mod.expanded }, getProvides: function(name, notMe) { var addMe = !(notMe), ckey = (addMe) ? PROV : SUPER, m = this.moduleInfo[name], o = {}; if (!m) { return o } if (m[ckey]) { return m[ckey] } var s = m.supersedes, done = {}, me = this; var add = function(mm) { if (!done[mm]) { done[mm] = true; lang.augmentObject(o, me.getProvides(mm)) } }; if (s) { for (var i = 0; i < s.length; i = i + 1) { add(s[i]) } } m[SUPER] = o; m[PROV] = lang.merge(o); m[PROV][name] = true; return m[ckey] }, calculate: function(o) { if (o || this.dirty) { this._config(o); this._setup(); this._explode(); if (this.allowRollup) { this._rollup() } this._reduce(); this._sort(); this.dirty = false } }, _setup: function() { var info = this.moduleInfo, name, i, j; for (name in info) { if (lang.hasOwnProperty(info, name)) { var m = info[name]; if (m && m.skinnable) { var o = this.skin.overrides, smod; if (o && o[name]) { for (i = 0; i < o[name].length; i = i + 1) { smod = this._addSkin(o[name][i], name) } } else { smod = this._addSkin(this.skin.defaultSkin, name) } m.requires.push(smod) } } } var l = lang.merge(this.inserted); if (!this._sandbox) { l = lang.merge(l, env.modules) } if (this.ignore) { YUI.ObjectUtil.appendArray(l, this.ignore) } if (this.force) { for (i = 0; i < this.force.length; i = i + 1) { if (this.force[i] in l) { delete l[this.force[i]] } } } for (j in l) { if (lang.hasOwnProperty(l, j)) { lang.augmentObject(l, this.getProvides(j)) } } this.loaded = l }, _explode: function() { var r = this.required, i, mod; for (i in r) { if (lang.hasOwnProperty(r, i)) { mod = this.moduleInfo[i]; if (mod) { var req = this.getRequires(mod); if (req) { YUI.ObjectUtil.appendArray(r, req) } } } } }, _skin: function() { }, formatSkin: function(skin, mod) { var s = this.SKIN_PREFIX + skin; if (mod) { s = s + "-" + mod } return s }, parseSkin: function(mod) { if (mod.indexOf(this.SKIN_PREFIX) === 0) { var a = mod.split("-"); return { skin: a[1], module: a[2]} } return null }, _rollup: function() { var i, j, m, s, rollups = {}, r = this.required, roll, info = this.moduleInfo; if (this.dirty || !this.rollups) { for (i in info) { if (lang.hasOwnProperty(info, i)) { m = info[i]; if (m && m.rollup) { rollups[i] = m } } } this.rollups = rollups } for (; ; ) { var rolled = false; for (i in rollups) { if (!r[i] && !this.loaded[i]) { m = info[i]; s = m.supersedes; roll = false; if (!m.rollup) { continue } var skin = (m.ext) ? false : this.parseSkin(i), c = 0; if (skin) { for (j in r) { if (lang.hasOwnProperty(r, j)) { if (i !== j && this.parseSkin(j)) { c++; roll = (c >= m.rollup); if (roll) { break } } } } } else { for (j = 0; j < s.length; j = j + 1) { if (this.loaded[s[j]] && (!YUI.dupsAllowed[s[j]])) { roll = false; break } else { if (r[s[j]]) { c++; roll = (c >= m.rollup); if (roll) { break } } } } } if (roll) { r[i] = true; rolled = true; this.getRequires(m) } } } if (!rolled) { break } } }, _reduce: function() { var i, j, s, m, r = this.required; for (i in r) { if (i in this.loaded) { delete r[i] } else { var skinDef = this.parseSkin(i); if (skinDef) { if (!skinDef.module) { var skin_pre = this.SKIN_PREFIX + skinDef.skin; for (j in r) { if (lang.hasOwnProperty(r, j)) { m = this.moduleInfo[j]; var ext = m && m.ext; if (!ext && j !== i && j.indexOf(skin_pre) > -1) { delete r[j] } } } } } else { m = this.moduleInfo[i]; s = m && m.supersedes; if (s) { for (j = 0; j < s.length; j = j + 1) { if (s[j] in r) { delete r[s[j]] } } } } } } }, _onFailure: function(msg) { YAHOO.log("Failure", "info", "loader"); var f = this.onFailure; if (f) { f.call(this.scope, { msg: "failure: " + msg, data: this.data, success: false }) } }, _onTimeout: function() { YAHOO.log("Timeout", "info", "loader"); var f = this.onTimeout; if (f) { f.call(this.scope, { msg: "timeout", data: this.data, success: false }) } }, _sort: function() { var s = [], info = this.moduleInfo, loaded = this.loaded, checkOptional = !this.loadOptional, me = this; var requires = function(aa, bb) { var mm = info[aa]; if (loaded[bb] || !mm) { return false } var ii, rr = mm.expanded, after = mm.after, other = info[bb], optional = mm.optional; if (rr && YUI.ArrayUtil.indexOf(rr, bb) > -1) { return true } if (after && YUI.ArrayUtil.indexOf(after, bb) > -1) { return true } if (checkOptional && optional && YUI.ArrayUtil.indexOf(optional, bb) > -1) { return true } var ss = info[bb] && info[bb].supersedes; if (ss) { for (ii = 0; ii < ss.length; ii = ii + 1) { if (requires(aa, ss[ii])) { return true } } } if (mm.ext && mm.type == "css" && !other.ext && other.type == "css") { return true } return false }; for (var i in this.required) { if (lang.hasOwnProperty(this.required, i)) { s.push(i) } } var p = 0; for (; ; ) { var l = s.length, a, b, j, k, moved = false; for (j = p; j < l; j = j + 1) { a = s[j]; for (k = j + 1; k < l; k = k + 1) { if (requires(a, s[k])) { b = s.splice(k, 1); s.splice(j, 0, b[0]); moved = true; break } } if (moved) { break } else { p = p + 1 } } if (!moved) { break } } this.sorted = s }, toString: function() { var o = { type: "YUILoader", base: this.base, filter: this.filter, required: this.required, loaded: this.loaded, inserted: this.inserted }; lang.dump(o, 1) }, _combine: function() { this._combining = []; var self = this, s = this.sorted, len = s.length, js = this.comboBase, css = this.comboBase, target, startLen = js.length, i, m, type = this.loadType; YAHOO.log("type " + type); for (i = 0; i < len; i = i + 1) { m = this.moduleInfo[s[i]]; if (m && !m.ext && (!type || type === m.type)) { target = this.root + m.path; target += "&"; if (m.type == "js") { js += target } else { css += target } this._combining.push(s[i]) } } if (this._combining.length) { YAHOO.log("Attempting to combine: " + this._combining, "info", "loader"); var callback = function(o) { var c = this._combining, len = c.length, i, m; for (i = 0; i < len; i = i + 1) { this.inserted[c[i]] = true } this.loadNext(o.data) }, loadScript = function() { if (js.length > startLen) { YAHOO.util.Get.script(self._filter(js), { data: self._loading, onSuccess: callback, onFailure: self._onFailure, onTimeout: self._onTimeout, insertBefore: self.insertBefore, charset: self.charset, timeout: self.timeout, scope: self }) } }; if (css.length > startLen) { YAHOO.util.Get.css(this._filter(css), { data: this._loading, onSuccess: loadScript, onFailure: this._onFailure, onTimeout: this._onTimeout, insertBefore: this.insertBefore, charset: this.charset, timeout: this.timeout, scope: self }) } else { loadScript() } return } else { this.loadNext(this._loading) } }, insert: function(o, type) { this.calculate(o); this._loading = true; this.loadType = type; if (this.combine) { return this._combine() } if (!type) { var self = this; this._internalCallback = function() { self._internalCallback = null; self.insert(null, "js") }; this.insert(null, "css"); return } this.loadNext() }, sandbox: function(o, type) { this._config(o); if (!this.onSuccess) { throw new Error("You must supply an onSuccess handler for your sandbox") } this._sandbox = true; var self = this; if (!type || type !== "js") { this._internalCallback = function() { self._internalCallback = null; self.sandbox(null, "js") }; this.insert(null, "css"); return } if (!util.Connect) { var ld = new YAHOO.util.YUILoader(); ld.insert({ base: this.base, filter: this.filter, require: "connection", insertBefore: this.insertBefore, charset: this.charset, onSuccess: function() { this.sandbox(null, "js") }, scope: this }, "js"); return } this._scriptText = []; this._loadCount = 0; this._stopCount = this.sorted.length; this._xhr = []; this.calculate(); var s = this.sorted, l = s.length, i, m, url; for (i = 0; i < l; i = i + 1) { m = this.moduleInfo[s[i]]; if (!m) { this._onFailure("undefined module " + m); for (var j = 0; j < this._xhr.length; j = j + 1) { this._xhr[j].abort() } return } if (m.type !== "js") { this._loadCount++; continue } url = m.fullpath; url = (url) ? this._filter(url) : this._url(m.path); var xhrData = { success: function(o) { var idx = o.argument[0], name = o.argument[2]; this._scriptText[idx] = o.responseText; if (this.onProgress) { this.onProgress.call(this.scope, { name: name, scriptText: o.responseText, xhrResponse: o, data: this.data }) } this._loadCount++; if (this._loadCount >= this._stopCount) { var v = this.varName || "YAHOO"; var t = "(function() {\n"; var b = "\nreturn " + v + ";\n})();"; var ref = eval(t + this._scriptText.join("\n") + b); this._pushEvents(ref); if (ref) { this.onSuccess.call(this.scope, { reference: ref, data: this.data }) } else { this._onFailure.call(this.varName + " reference failure") } } }, failure: function(o) { this.onFailure.call(this.scope, { msg: "XHR failure", xhrResponse: o, data: this.data }) }, scope: this, argument: [i, url, s[i]] }; this._xhr.push(util.Connect.asyncRequest("GET", url, xhrData)) } }, loadNext: function(mname) { if (!this._loading) { return } if (mname) { if (mname !== this._loading) { return } this.inserted[mname] = true; if (this.onProgress) { this.onProgress.call(this.scope, { name: mname, data: this.data }) } } var s = this.sorted, len = s.length, i, m; for (i = 0; i < len; i = i + 1) { if (s[i] in this.inserted) { continue } if (s[i] === this._loading) { return } m = this.moduleInfo[s[i]]; if (!m) { this.onFailure.call(this.scope, { msg: "undefined module " + m, data: this.data }); return } if (!this.loadType || this.loadType === m.type) { this._loading = s[i]; var fn = (m.type === "css") ? util.Get.css : util.Get.script, url = m.fullpath, self = this, c = function(o) { self.loadNext(o.data) }; url = (url) ? this._filter(url) : this._url(m.path); if (env.ua.webkit && env.ua.webkit < 420 && m.type === "js" && !m.varName) { c = null; this._useYahooListener = true } fn(url, { data: s[i], onSuccess: c, onFailure: this._onFailure, onTimeout: this._onTimeout, insertBefore: this.insertBefore, charset: this.charset, timeout: this.timeout, varName: m.varName, scope: self }); return } } this._loading = null; if (this._internalCallback) { var f = this._internalCallback; this._internalCallback = null; f.call(this) } else { if (this.onSuccess) { this._pushEvents(); this.onSuccess.call(this.scope, { data: this.data }) } } }, _pushEvents: function(ref) { var r = ref || YAHOO; if (r.util && r.util.Event) { r.util.Event._load() } }, _filter: function(str) { var f = this.filter; return (f) ? str.replace(new RegExp(f.searchExp, "g"), f.replaceStr) : str }, _url: function(path) { return this._filter((this.base || "") + path) } } })(); YAHOO.register("yuiloader", YAHOO.util.YUILoader, { version: "2.7.0", build: "1796" }); YAHOO.util.Connect = { _msxml_progid: ["Microsoft.XMLHTTP", "MSXML2.XMLHTTP.3.0", "MSXML2.XMLHTTP"], _http_headers: {}, _has_http_headers: false, _use_default_post_header: true, _default_post_header: "application/x-www-form-urlencoded; charset=UTF-8", _default_form_header: "application/x-www-form-urlencoded", _use_default_xhr_header: true, _default_xhr_header: "XMLHttpRequest", _has_default_headers: true, _default_headers: {}, _isFormSubmit: false, _isFileUpload: false, _formNode: null, _sFormData: null, _poll: {}, _timeOut: {}, _polling_interval: 50, _transaction_id: 0, _submitElementValue: null, _hasSubmitListener: (function() { if (YAHOO.util.Event) { YAHOO.util.Event.addListener(document, "click", function(c) { var b = YAHOO.util.Event.getTarget(c), a = b.nodeName.toLowerCase(); if ((a === "input" || a === "button") && (b.type && b.type.toLowerCase() == "submit")) { YAHOO.util.Connect._submitElementValue = encodeURIComponent(b.name) + "=" + encodeURIComponent(b.value) } }); return true } return false })(), startEvent: new YAHOO.util.CustomEvent("start"), completeEvent: new YAHOO.util.CustomEvent("complete"), successEvent: new YAHOO.util.CustomEvent("success"), failureEvent: new YAHOO.util.CustomEvent("failure"), uploadEvent: new YAHOO.util.CustomEvent("upload"), abortEvent: new YAHOO.util.CustomEvent("abort"), _customEvents: { onStart: ["startEvent", "start"], onComplete: ["completeEvent", "complete"], onSuccess: ["successEvent", "success"], onFailure: ["failureEvent", "failure"], onUpload: ["uploadEvent", "upload"], onAbort: ["abortEvent", "abort"] }, setProgId: function(a) { this._msxml_progid.unshift(a) }, setDefaultPostHeader: function(a) { if (typeof a == "string") { this._default_post_header = a } else { if (typeof a == "boolean") { this._use_default_post_header = a } } }, setDefaultXhrHeader: function(a) { if (typeof a == "string") { this._default_xhr_header = a } else { this._use_default_xhr_header = a } }, setPollingInterval: function(a) { if (typeof a == "number" && isFinite(a)) { this._polling_interval = a } }, createXhrObject: function(g) { var f, a; try { a = new XMLHttpRequest(); f = { conn: a, tId: g} } catch (d) { for (var b = 0; b < this._msxml_progid.length; ++b) { try { a = new ActiveXObject(this._msxml_progid[b]); f = { conn: a, tId: g }; break } catch (c) { } } } finally { return f } }, getConnectionObject: function(a) { var c; var d = this._transaction_id; try { if (!a) { c = this.createXhrObject(d) } else { c = {}; c.tId = d; c.isUpload = true } if (c) { this._transaction_id++ } } catch (b) { } finally { return c } }, asyncRequest: function(f, c, e, a) { var d = (this._isFileUpload) ? this.getConnectionObject(true) : this.getConnectionObject(); var b = (e && e.argument) ? e.argument : null; if (!d) { return null } else { if (e && e.customevents) { this.initCustomEvents(d, e) } if (this._isFormSubmit) { if (this._isFileUpload) { this.uploadFile(d, e, c, a); return d } if (f.toUpperCase() == "GET") { if (this._sFormData.length !== 0) { c += ((c.indexOf("?") == -1) ? "?" : "&") + this._sFormData } } else { if (f.toUpperCase() == "POST") { a = a ? this._sFormData + "&" + a : this._sFormData } } } if (f.toUpperCase() == "GET" && (e && e.cache === false)) { c += ((c.indexOf("?") == -1) ? "?" : "&") + "rnd=" + new Date().valueOf().toString() } d.conn.open(f, c, true); if (this._use_default_xhr_header) { if (!this._default_headers["X-Requested-With"]) { this.initHeader("X-Requested-With", this._default_xhr_header, true) } } if ((f.toUpperCase() === "POST" && this._use_default_post_header) && this._isFormSubmit === false) { this.initHeader("Content-Type", this._default_post_header) } if (this._has_default_headers || this._has_http_headers) { this.setHeader(d) } this.handleReadyState(d, e); d.conn.send(a || ""); if (this._isFormSubmit === true) { this.resetFormState() } this.startEvent.fire(d, b); if (d.startEvent) { d.startEvent.fire(d, b) } return d } }, initCustomEvents: function(a, c) { var b; for (b in c.customevents) { if (this._customEvents[b][0]) { a[this._customEvents[b][0]] = new YAHOO.util.CustomEvent(this._customEvents[b][1], (c.scope) ? c.scope : null); a[this._customEvents[b][0]].subscribe(c.customevents[b]) } } }, handleReadyState: function(c, d) { var b = this; var a = (d && d.argument) ? d.argument : null; if (d && d.timeout) { this._timeOut[c.tId] = window.setTimeout(function() { b.abort(c, d, true) }, d.timeout) } this._poll[c.tId] = window.setInterval(function() { if (c.conn && c.conn.readyState === 4) { window.clearInterval(b._poll[c.tId]); delete b._poll[c.tId]; if (d && d.timeout) { window.clearTimeout(b._timeOut[c.tId]); delete b._timeOut[c.tId] } b.completeEvent.fire(c, a); if (c.completeEvent) { c.completeEvent.fire(c, a) } b.handleTransactionResponse(c, d) } }, this._polling_interval) }, handleTransactionResponse: function(g, h, a) { var d, c; var b = (h && h.argument) ? h.argument : null; try { if (g.conn.status !== undefined && g.conn.status !== 0) { d = g.conn.status } else { d = 13030 } } catch (f) { d = 13030 } if (d >= 200 && d < 300 || d === 1223) { c = this.createResponseObject(g, b); if (h && h.success) { if (!h.scope) { h.success(c) } else { h.success.apply(h.scope, [c]) } } this.successEvent.fire(c); if (g.successEvent) { g.successEvent.fire(c) } } else { switch (d) { case 12002: case 12029: case 12030: case 12031: case 12152: case 13030: c = this.createExceptionObject(g.tId, b, (a ? a : false)); if (h && h.failure) { if (!h.scope) { h.failure(c) } else { h.failure.apply(h.scope, [c]) } } break; default: c = this.createResponseObject(g, b); if (h && h.failure) { if (!h.scope) { h.failure(c) } else { h.failure.apply(h.scope, [c]) } } } this.failureEvent.fire(c); if (g.failureEvent) { g.failureEvent.fire(c) } } this.releaseObject(g); c = null }, createResponseObject: function(a, h) { var d = {}; var k = {}; try { var c = a.conn.getAllResponseHeaders(); var g = c.split("\n"); for (var f = 0; f < g.length; f++) { var b = g[f].indexOf(":"); if (b != -1) { k[g[f].substring(0, b)] = g[f].substring(b + 2) } } } catch (j) { } d.tId = a.tId; d.status = (a.conn.status == 1223) ? 204 : a.conn.status; d.statusText = (a.conn.status == 1223) ? "No Content" : a.conn.statusText; d.getResponseHeader = k; d.getAllResponseHeaders = c; d.responseText = a.conn.responseText; d.responseXML = a.conn.responseXML; if (h) { d.argument = h } return d }, createExceptionObject: function(h, d, a) { var f = 0; var g = "communication failure"; var c = -1; var b = "transaction aborted"; var e = {}; e.tId = h; if (a) { e.status = c; e.statusText = b } else { e.status = f; e.statusText = g } if (d) { e.argument = d } return e }, initHeader: function(a, d, c) { var b = (c) ? this._default_headers : this._http_headers; b[a] = d; if (c) { this._has_default_headers = true } else { this._has_http_headers = true } }, setHeader: function(a) { var b; if (this._has_default_headers) { for (b in this._default_headers) { if (YAHOO.lang.hasOwnProperty(this._default_headers, b)) { a.conn.setRequestHeader(b, this._default_headers[b]) } } } if (this._has_http_headers) { for (b in this._http_headers) { if (YAHOO.lang.hasOwnProperty(this._http_headers, b)) { a.conn.setRequestHeader(b, this._http_headers[b]) } } delete this._http_headers; this._http_headers = {}; this._has_http_headers = false } }, resetDefaultHeaders: function() { delete this._default_headers; this._default_headers = {}; this._has_default_headers = false }, setForm: function(p, h, c) { var o, b, m, k, s, l = false, f = [], r = 0, e, g, d, q, a; this.resetFormState(); if (typeof p == "string") { o = (document.getElementById(p) || document.forms[p]) } else { if (typeof p == "object") { o = p } else { return } } if (h) { this.createFrame(c ? c : null); this._isFormSubmit = true; this._isFileUpload = true; this._formNode = o; return } for (e = 0, g = o.elements.length; e < g; ++e) { b = o.elements[e]; s = b.disabled; m = b.name; if (!s && m) { m = encodeURIComponent(m) + "="; k = encodeURIComponent(b.value); switch (b.type) { case "select-one": if (b.selectedIndex > -1) { a = b.options[b.selectedIndex]; f[r++] = m + encodeURIComponent((a.attributes.value && a.attributes.value.specified) ? a.value : a.text) } break; case "select-multiple": if (b.selectedIndex > -1) { for (d = b.selectedIndex, q = b.options.length; d < q; ++d) { a = b.options[d]; if (a.selected) { f[r++] = m + encodeURIComponent((a.attributes.value && a.attributes.value.specified) ? a.value : a.text) } } } break; case "radio": case "checkbox": if (b.checked) { f[r++] = m + k } break; case "file": case undefined: case "reset": case "button": break; case "submit": if (l === false) { if (this._hasSubmitListener && this._submitElementValue) { f[r++] = this._submitElementValue } l = true } break; default: f[r++] = m + k } } } this._isFormSubmit = true; this._sFormData = f.join("&"); this.initHeader("Content-Type", this._default_form_header); return this._sFormData }, resetFormState: function() { this._isFormSubmit = false; this._isFileUpload = false; this._formNode = null; this._sFormData = "" }, createFrame: function(a) { var b = "yuiIO" + this._transaction_id; var c; if (YAHOO.env.ua.ie) { c = document.createElement('<iframe id="' + b + '" name="' + b + '" />'); if (typeof a == "boolean") { c.src = "javascript:false" } } else { c = document.createElement("iframe"); c.id = b; c.name = b } c.style.position = "absolute"; c.style.top = "-1000px"; c.style.left = "-1000px"; document.body.appendChild(c) }, appendPostData: function(a) { var d = [], b = a.split("&"), c, e; for (c = 0; c < b.length; c++) { e = b[c].indexOf("="); if (e != -1) { d[c] = document.createElement("input"); d[c].type = "hidden"; d[c].name = decodeURIComponent(b[c].substring(0, e)); d[c].value = decodeURIComponent(b[c].substring(e + 1)); this._formNode.appendChild(d[c]) } } return d }, uploadFile: function(d, q, e, c) { var j = "yuiIO" + d.tId, k = "multipart/form-data", m = document.getElementById(j), r = this, l = (q && q.argument) ? q.argument : null, p, h, b, g; var a = { action: this._formNode.getAttribute("action"), method: this._formNode.getAttribute("method"), target: this._formNode.getAttribute("target") }; this._formNode.setAttribute("action", e); this._formNode.setAttribute("method", "POST"); this._formNode.setAttribute("target", j); if (YAHOO.env.ua.ie) { this._formNode.setAttribute("encoding", k) } else { this._formNode.setAttribute("enctype", k) } if (c) { p = this.appendPostData(c) } this._formNode.submit(); this.startEvent.fire(d, l); if (d.startEvent) { d.startEvent.fire(d, l) } if (q && q.timeout) { this._timeOut[d.tId] = window.setTimeout(function() { r.abort(d, q, true) }, q.timeout) } if (p && p.length > 0) { for (h = 0; h < p.length; h++) { this._formNode.removeChild(p[h]) } } for (b in a) { if (YAHOO.lang.hasOwnProperty(a, b)) { if (a[b]) { this._formNode.setAttribute(b, a[b]) } else { this._formNode.removeAttribute(b) } } } this.resetFormState(); var f = function() { if (q && q.timeout) { window.clearTimeout(r._timeOut[d.tId]); delete r._timeOut[d.tId] } r.completeEvent.fire(d, l); if (d.completeEvent) { d.completeEvent.fire(d, l) } g = { tId: d.tId, argument: q.argument }; try { g.responseText = m.contentWindow.document.body ? m.contentWindow.document.body.innerHTML : m.contentWindow.document.documentElement.textContent; g.responseXML = m.contentWindow.document.XMLDocument ? m.contentWindow.document.XMLDocument : m.contentWindow.document } catch (i) { } if (q && q.upload) { if (!q.scope) { q.upload(g) } else { q.upload.apply(q.scope, [g]) } } r.uploadEvent.fire(g); if (d.uploadEvent) { d.uploadEvent.fire(g) } YAHOO.util.Event.removeListener(m, "load", f); setTimeout(function() { document.body.removeChild(m); r.releaseObject(d) }, 100) }; YAHOO.util.Event.addListener(m, "load", f) }, abort: function(e, g, a) { var d; var b = (g && g.argument) ? g.argument : null; if (e && e.conn) { if (this.isCallInProgress(e)) { e.conn.abort(); window.clearInterval(this._poll[e.tId]); delete this._poll[e.tId]; if (a) { window.clearTimeout(this._timeOut[e.tId]); delete this._timeOut[e.tId] } d = true } } else { if (e && e.isUpload === true) { var c = "yuiIO" + e.tId; var f = document.getElementById(c); if (f) { YAHOO.util.Event.removeListener(f, "load"); document.body.removeChild(f); if (a) { window.clearTimeout(this._timeOut[e.tId]); delete this._timeOut[e.tId] } d = true } } else { d = false } } if (d === true) { this.abortEvent.fire(e, b); if (e.abortEvent) { e.abortEvent.fire(e, b) } this.handleTransactionResponse(e, g, true) } return d }, isCallInProgress: function(b) { if (b && b.conn) { return b.conn.readyState !== 4 && b.conn.readyState !== 0 } else { if (b && b.isUpload === true) { var a = "yuiIO" + b.tId; return document.getElementById(a) ? true : false } else { return false } } }, releaseObject: function(a) { if (a && a.conn) { a.conn = null; a = null } } }; YAHOO.register("connection", YAHOO.util.Connect, { version: "2.7.0", build: "1796" }); (function() { var b = YAHOO.util; var a = function(d, c, e, f) { if (!d) { } this.init(d, c, e, f) }; a.NAME = "Anim"; a.prototype = { toString: function() { var c = this.getEl() || {}; var d = c.id || c.tagName; return (this.constructor.NAME + ": " + d) }, patterns: { noNegatives: /width|height|opacity|padding/i, offsetAttribute: /^((width|height)|(top|left))$/, defaultUnit: /width|height|top$|bottom$|left$|right$/i, offsetUnit: /\d+(em|%|en|ex|pt|in|cm|mm|pc)$/i }, doMethod: function(c, e, d) { return this.method(this.currentFrame, e, d - e, this.totalFrames) }, setAttribute: function(c, f, e) { var d = this.getEl(); if (this.patterns.noNegatives.test(c)) { f = (f > 0) ? f : 0 } if ("style" in d) { b.Dom.setStyle(d, c, f + e) } else { if (c in d) { d[c] = f } } }, getAttribute: function(c) { var e = this.getEl(); var g = b.Dom.getStyle(e, c); if (g !== "auto" && !this.patterns.offsetUnit.test(g)) { return parseFloat(g) } var d = this.patterns.offsetAttribute.exec(c) || []; var h = !!(d[3]); var f = !!(d[2]); if ("style" in e) { if (f || (b.Dom.getStyle(e, "position") == "absolute" && h)) { g = e["offset" + d[0].charAt(0).toUpperCase() + d[0].substr(1)] } else { g = 0 } } else { if (c in e) { g = e[c] } } return g }, getDefaultUnit: function(c) { if (this.patterns.defaultUnit.test(c)) { return "px" } return "" }, setRuntimeAttribute: function(d) { var j; var e; var f = this.attributes; this.runtimeAttributes[d] = {}; var h = function(i) { return (typeof i !== "undefined") }; if (!h(f[d]["to"]) && !h(f[d]["by"])) { return false } j = (h(f[d]["from"])) ? f[d]["from"] : this.getAttribute(d); if (h(f[d]["to"])) { e = f[d]["to"] } else { if (h(f[d]["by"])) { if (j.constructor == Array) { e = []; for (var g = 0, c = j.length; g < c; ++g) { e[g] = j[g] + f[d]["by"][g] * 1 } } else { e = j + f[d]["by"] * 1 } } } this.runtimeAttributes[d].start = j; this.runtimeAttributes[d].end = e; this.runtimeAttributes[d].unit = (h(f[d].unit)) ? f[d]["unit"] : this.getDefaultUnit(d); return true }, init: function(e, j, i, c) { var d = false; var f = null; var h = 0; e = b.Dom.get(e); this.attributes = j || {}; this.duration = !YAHOO.lang.isUndefined(i) ? i : 1; this.method = c || b.Easing.easeNone; this.useSeconds = true; this.currentFrame = 0; this.totalFrames = b.AnimMgr.fps; this.setEl = function(m) { e = b.Dom.get(m) }; this.getEl = function() { return e }; this.isAnimated = function() { return d }; this.getStartTime = function() { return f }; this.runtimeAttributes = {}; this.animate = function() { if (this.isAnimated()) { return false } this.currentFrame = 0; this.totalFrames = (this.useSeconds) ? Math.ceil(b.AnimMgr.fps * this.duration) : this.duration; if (this.duration === 0 && this.useSeconds) { this.totalFrames = 1 } b.AnimMgr.registerElement(this); return true }; this.stop = function(m) { if (!this.isAnimated()) { return false } if (m) { this.currentFrame = this.totalFrames; this._onTween.fire() } b.AnimMgr.stop(this) }; var l = function() { this.onStart.fire(); this.runtimeAttributes = {}; for (var m in this.attributes) { this.setRuntimeAttribute(m) } d = true; h = 0; f = new Date() }; var k = function() { var p = { duration: new Date() - this.getStartTime(), currentFrame: this.currentFrame }; p.toString = function() { return ("duration: " + p.duration + ", currentFrame: " + p.currentFrame) }; this.onTween.fire(p); var o = this.runtimeAttributes; for (var m in o) { this.setAttribute(m, this.doMethod(m, o[m].start, o[m].end), o[m].unit) } h += 1 }; var g = function() { var m = (new Date() - f) / 1000; var o = { duration: m, frames: h, fps: h / m }; o.toString = function() { return ("duration: " + o.duration + ", frames: " + o.frames + ", fps: " + o.fps) }; d = false; h = 0; this.onComplete.fire(o) }; this._onStart = new b.CustomEvent("_start", this, true); this.onStart = new b.CustomEvent("start", this); this.onTween = new b.CustomEvent("tween", this); this._onTween = new b.CustomEvent("_tween", this, true); this.onComplete = new b.CustomEvent("complete", this); this._onComplete = new b.CustomEvent("_complete", this, true); this._onStart.subscribe(l); this._onTween.subscribe(k); this._onComplete.subscribe(g) } }; b.Anim = a })(); YAHOO.util.AnimMgr = new function() { var c = null; var b = []; var a = 0; this.fps = 1000; this.delay = 1; this.registerElement = function(f) { b[b.length] = f; a += 1; f._onStart.fire(); this.start() }; this.unRegister = function(g, f) { f = f || e(g); if (!g.isAnimated() || f == -1) { return false } g._onComplete.fire(); b.splice(f, 1); a -= 1; if (a <= 0) { this.stop() } return true }; this.start = function() { if (c === null) { c = setInterval(this.run, this.delay) } }; this.stop = function(h) { if (!h) { clearInterval(c); for (var g = 0, f = b.length; g < f; ++g) { this.unRegister(b[0], 0) } b = []; c = null; a = 0 } else { this.unRegister(h) } }; this.run = function() { for (var h = 0, f = b.length; h < f; ++h) { var g = b[h]; if (!g || !g.isAnimated()) { continue } if (g.currentFrame < g.totalFrames || g.totalFrames === null) { g.currentFrame += 1; if (g.useSeconds) { d(g) } g._onTween.fire() } else { YAHOO.util.AnimMgr.stop(g, h) } } }; var e = function(h) { for (var g = 0, f = b.length; g < f; ++g) { if (b[g] == h) { return g } } return -1 }; var d = function(g) { var j = g.totalFrames; var i = g.currentFrame; var h = (g.currentFrame * g.duration * 1000 / g.totalFrames); var f = (new Date() - g.getStartTime()); var k = 0; if (f < g.duration * 1000) { k = Math.round((f / h - 1) * g.currentFrame) } else { k = j - (i + 1) } if (k > 0 && isFinite(k)) { if (g.currentFrame + k >= j) { k = j - (i + 1) } g.currentFrame += k } } }; YAHOO.util.Bezier = new function() { this.getPosition = function(e, d) { var f = e.length; var c = []; for (var b = 0; b < f; ++b) { c[b] = [e[b][0], e[b][1]] } for (var a = 1; a < f; ++a) { for (b = 0; b < f - a; ++b) { c[b][0] = (1 - d) * c[b][0] + d * c[parseInt(b + 1, 10)][0]; c[b][1] = (1 - d) * c[b][1] + d * c[parseInt(b + 1, 10)][1] } } return [c[0][0], c[0][1]] } }; (function() { var a = function(f, e, g, h) { a.superclass.constructor.call(this, f, e, g, h) }; a.NAME = "ColorAnim"; a.DEFAULT_BGCOLOR = "#fff"; var c = YAHOO.util; YAHOO.extend(a, c.Anim); var d = a.superclass; var b = a.prototype; b.patterns.color = /color$/i; b.patterns.rgb = /^rgb\(([0-9]+)\s*,\s*([0-9]+)\s*,\s*([0-9]+)\)$/i; b.patterns.hex = /^#?([0-9A-F]{2})([0-9A-F]{2})([0-9A-F]{2})$/i; b.patterns.hex3 = /^#?([0-9A-F]{1})([0-9A-F]{1})([0-9A-F]{1})$/i; b.patterns.transparent = /^transparent|rgba\(0, 0, 0, 0\)$/; b.parseColor = function(e) { if (e.length == 3) { return e } var f = this.patterns.hex.exec(e); if (f && f.length == 4) { return [parseInt(f[1], 16), parseInt(f[2], 16), parseInt(f[3], 16)] } f = this.patterns.rgb.exec(e); if (f && f.length == 4) { return [parseInt(f[1], 10), parseInt(f[2], 10), parseInt(f[3], 10)] } f = this.patterns.hex3.exec(e); if (f && f.length == 4) { return [parseInt(f[1] + f[1], 16), parseInt(f[2] + f[2], 16), parseInt(f[3] + f[3], 16)] } return null }; b.getAttribute = function(e) { var g = this.getEl(); if (this.patterns.color.test(e)) { var i = YAHOO.util.Dom.getStyle(g, e); var h = this; if (this.patterns.transparent.test(i)) { var f = YAHOO.util.Dom.getAncestorBy(g, function(j) { return !h.patterns.transparent.test(i) }); if (f) { i = c.Dom.getStyle(f, e) } else { i = a.DEFAULT_BGCOLOR } } } else { i = d.getAttribute.call(this, e) } return i }; b.doMethod = function(f, k, g) { var j; if (this.patterns.color.test(f)) { j = []; for (var h = 0, e = k.length; h < e; ++h) { j[h] = d.doMethod.call(this, f, k[h], g[h]) } j = "rgb(" + Math.floor(j[0]) + "," + Math.floor(j[1]) + "," + Math.floor(j[2]) + ")" } else { j = d.doMethod.call(this, f, k, g) } return j }; b.setRuntimeAttribute = function(f) { d.setRuntimeAttribute.call(this, f); if (this.patterns.color.test(f)) { var h = this.attributes; var k = this.parseColor(this.runtimeAttributes[f].start); var g = this.parseColor(this.runtimeAttributes[f].end); if (typeof h[f]["to"] === "undefined" && typeof h[f]["by"] !== "undefined") { g = this.parseColor(h[f].by); for (var j = 0, e = k.length; j < e; ++j) { g[j] = k[j] + g[j] } } this.runtimeAttributes[f].start = k; this.runtimeAttributes[f].end = g } }; c.ColorAnim = a })();
YAHOO.util.Easing = { easeNone: function(e, a, g, f) { return g * e / f + a }, easeIn: function(e, a, g, f) { return g * (e /= f) * e + a }, easeOut: function(e, a, g, f) { return -g * (e /= f) * (e - 2) + a }, easeBoth: function(e, a, g, f) { if ((e /= f / 2) < 1) { return g / 2 * e * e + a } return -g / 2 * ((--e) * (e - 2) - 1) + a }, easeInStrong: function(e, a, g, f) { return g * (e /= f) * e * e * e + a }, easeOutStrong: function(e, a, g, f) { return -g * ((e = e / f - 1) * e * e * e - 1) + a }, easeBothStrong: function(e, a, g, f) { if ((e /= f / 2) < 1) { return g / 2 * e * e * e * e + a } return -g / 2 * ((e -= 2) * e * e * e - 2) + a }, elasticIn: function(g, e, k, j, f, i) { if (g == 0) { return e } if ((g /= j) == 1) { return e + k } if (!i) { i = j * 0.3 } if (!f || f < Math.abs(k)) { f = k; var h = i / 4 } else { var h = i / (2 * Math.PI) * Math.asin(k / f) } return -(f * Math.pow(2, 10 * (g -= 1)) * Math.sin((g * j - h) * (2 * Math.PI) / i)) + e }, elasticOut: function(g, e, k, j, f, i) { if (g == 0) { return e } if ((g /= j) == 1) { return e + k } if (!i) { i = j * 0.3 } if (!f || f < Math.abs(k)) { f = k; var h = i / 4 } else { var h = i / (2 * Math.PI) * Math.asin(k / f) } return f * Math.pow(2, -10 * g) * Math.sin((g * j - h) * (2 * Math.PI) / i) + k + e }, elasticBoth: function(g, e, k, j, f, i) { if (g == 0) { return e } if ((g /= j / 2) == 2) { return e + k } if (!i) { i = j * (0.3 * 1.5) } if (!f || f < Math.abs(k)) { f = k; var h = i / 4 } else { var h = i / (2 * Math.PI) * Math.asin(k / f) } if (g < 1) { return -0.5 * (f * Math.pow(2, 10 * (g -= 1)) * Math.sin((g * j - h) * (2 * Math.PI) / i)) + e } return f * Math.pow(2, -10 * (g -= 1)) * Math.sin((g * j - h) * (2 * Math.PI) / i) * 0.5 + k + e }, backIn: function(e, a, h, g, f) { if (typeof f == "undefined") { f = 1.70158 } return h * (e /= g) * e * ((f + 1) * e - f) + a }, backOut: function(e, a, h, g, f) { if (typeof f == "undefined") { f = 1.70158 } return h * ((e = e / g - 1) * e * ((f + 1) * e + f) + 1) + a }, backBoth: function(e, a, h, g, f) { if (typeof f == "undefined") { f = 1.70158 } if ((e /= g / 2) < 1) { return h / 2 * (e * e * (((f *= (1.525)) + 1) * e - f)) + a } return h / 2 * ((e -= 2) * e * (((f *= (1.525)) + 1) * e + f) + 2) + a }, bounceIn: function(e, a, g, f) { return g - YAHOO.util.Easing.bounceOut(f - e, 0, g, f) + a }, bounceOut: function(e, a, g, f) { if ((e /= f) < (1 / 2.75)) { return g * (7.5625 * e * e) + a } else { if (e < (2 / 2.75)) { return g * (7.5625 * (e -= (1.5 / 2.75)) * e + 0.75) + a } else { if (e < (2.5 / 2.75)) { return g * (7.5625 * (e -= (2.25 / 2.75)) * e + 0.9375) + a } } } return g * (7.5625 * (e -= (2.625 / 2.75)) * e + 0.984375) + a }, bounceBoth: function(e, a, g, f) { if (e < f / 2) { return YAHOO.util.Easing.bounceIn(e * 2, 0, g, f) * 0.5 + a } return YAHOO.util.Easing.bounceOut(e * 2 - f, 0, g, f) * 0.5 + g * 0.5 + a } }; (function() { var a = function(h, g, i, j) { if (h) { a.superclass.constructor.call(this, h, g, i, j) } }; a.NAME = "Motion"; var e = YAHOO.util; YAHOO.extend(a, e.ColorAnim); var f = a.superclass; var c = a.prototype; c.patterns.points = /^points$/i; c.setAttribute = function(g, i, h) { if (this.patterns.points.test(g)) { h = h || "px"; f.setAttribute.call(this, "left", i[0], h); f.setAttribute.call(this, "top", i[1], h) } else { f.setAttribute.call(this, g, i, h) } }; c.getAttribute = function(g) { if (this.patterns.points.test(g)) { var h = [f.getAttribute.call(this, "left"), f.getAttribute.call(this, "top")] } else { h = f.getAttribute.call(this, g) } return h }; c.doMethod = function(g, k, h) { var j = null; if (this.patterns.points.test(g)) { var i = this.method(this.currentFrame, 0, 100, this.totalFrames) / 100; j = e.Bezier.getPosition(this.runtimeAttributes[g], i) } else { j = f.doMethod.call(this, g, k, h) } return j }; c.setRuntimeAttribute = function(r) { if (this.patterns.points.test(r)) { var h = this.getEl(); var k = this.attributes; var g; var m = k.points["control"] || []; var j; var o, q; if (m.length > 0 && !(m[0] instanceof Array)) { m = [m] } else { var l = []; for (o = 0, q = m.length; o < q; ++o) { l[o] = m[o] } m = l } if (e.Dom.getStyle(h, "position") == "static") { e.Dom.setStyle(h, "position", "relative") } if (d(k.points["from"])) { e.Dom.setXY(h, k.points["from"]) } else { e.Dom.setXY(h, e.Dom.getXY(h)) } g = this.getAttribute("points"); if (d(k.points["to"])) { j = b.call(this, k.points["to"], g); var p = e.Dom.getXY(this.getEl()); for (o = 0, q = m.length; o < q; ++o) { m[o] = b.call(this, m[o], g) } } else { if (d(k.points["by"])) { j = [g[0] + k.points["by"][0], g[1] + k.points["by"][1]]; for (o = 0, q = m.length; o < q; ++o) { m[o] = [g[0] + m[o][0], g[1] + m[o][1]] } } } this.runtimeAttributes[r] = [g]; if (m.length > 0) { this.runtimeAttributes[r] = this.runtimeAttributes[r].concat(m) } this.runtimeAttributes[r][this.runtimeAttributes[r].length] = j } else { f.setRuntimeAttribute.call(this, r) } }; var b = function(g, i) { var h = e.Dom.getXY(this.getEl()); g = [g[0] - h[0] + i[0], g[1] - h[1] + i[1]]; return g }; var d = function(g) { return (typeof g !== "undefined") }; e.Motion = a })(); (function() { var d = function(f, e, g, h) { if (f) { d.superclass.constructor.call(this, f, e, g, h) } }; d.NAME = "Scroll"; var b = YAHOO.util; YAHOO.extend(d, b.ColorAnim); var c = d.superclass; var a = d.prototype; a.doMethod = function(e, h, f) { var g = null; if (e == "scroll") { g = [this.method(this.currentFrame, h[0], f[0] - h[0], this.totalFrames), this.method(this.currentFrame, h[1], f[1] - h[1], this.totalFrames)] } else { g = c.doMethod.call(this, e, h, f) } return g }; a.getAttribute = function(e) { var g = null; var f = this.getEl(); if (e == "scroll") { g = [f.scrollLeft, f.scrollTop] } else { g = c.getAttribute.call(this, e) } return g }; a.setAttribute = function(e, h, g) { var f = this.getEl(); if (e == "scroll") { f.scrollLeft = h[0]; f.scrollTop = h[1] } else { c.setAttribute.call(this, e, h, g) } }; b.Scroll = d })(); YAHOO.register("animation", YAHOO.util.Anim, { version: "2.7.0", build: "1796" }); if (!YAHOO.util.DragDropMgr) { YAHOO.util.DragDropMgr = function() { var a = YAHOO.util.Event, b = YAHOO.util.Dom; return { useShim: false, _shimActive: false, _shimState: false, _debugShim: false, _createShim: function() { var c = document.createElement("div"); c.id = "yui-ddm-shim"; if (document.body.firstChild) { document.body.insertBefore(c, document.body.firstChild) } else { document.body.appendChild(c) } c.style.display = "none"; c.style.backgroundColor = "red"; c.style.position = "absolute"; c.style.zIndex = "99999"; b.setStyle(c, "opacity", "0"); this._shim = c; a.on(c, "mouseup", this.handleMouseUp, this, true); a.on(c, "mousemove", this.handleMouseMove, this, true); a.on(window, "scroll", this._sizeShim, this, true) }, _sizeShim: function() { if (this._shimActive) { var c = this._shim; c.style.height = b.getDocumentHeight() + "px"; c.style.width = b.getDocumentWidth() + "px"; c.style.top = "0"; c.style.left = "0" } }, _activateShim: function() { if (this.useShim) { if (!this._shim) { this._createShim() } this._shimActive = true; var c = this._shim, d = "0"; if (this._debugShim) { d = ".5" } b.setStyle(c, "opacity", d); this._sizeShim(); c.style.display = "block" } }, _deactivateShim: function() { this._shim.style.display = "none"; this._shimActive = false }, _shim: null, ids: {}, handleIds: {}, dragCurrent: null, dragOvers: {}, deltaX: 0, deltaY: 0, preventDefault: true, stopPropagation: true, initialized: false, locked: false, interactionInfo: null, init: function() { this.initialized = true }, POINT: 0, INTERSECT: 1, STRICT_INTERSECT: 2, mode: 0, _execOnAll: function(e, d) { for (var f in this.ids) { for (var c in this.ids[f]) { var g = this.ids[f][c]; if (!this.isTypeOfDD(g)) { continue } g[e].apply(g, d) } } }, _onLoad: function() { this.init(); a.on(document, "mouseup", this.handleMouseUp, this, true); a.on(document, "mousemove", this.handleMouseMove, this, true); a.on(window, "unload", this._onUnload, this, true); a.on(window, "resize", this._onResize, this, true) }, _onResize: function(c) { this._execOnAll("resetConstraints", []) }, lock: function() { this.locked = true }, unlock: function() { this.locked = false }, isLocked: function() { return this.locked }, locationCache: {}, useCache: true, clickPixelThresh: 3, clickTimeThresh: 1000, dragThreshMet: false, clickTimeout: null, startX: 0, startY: 0, fromTimeout: false, regDragDrop: function(d, c) { if (!this.initialized) { this.init() } if (!this.ids[c]) { this.ids[c] = {} } this.ids[c][d.id] = d }, removeDDFromGroup: function(e, c) { if (!this.ids[c]) { this.ids[c] = {} } var d = this.ids[c]; if (d && d[e.id]) { delete d[e.id] } }, _remove: function(e) { for (var d in e.groups) { if (d) { var c = this.ids[d]; if (c && c[e.id]) { delete c[e.id] } } } delete this.handleIds[e.id] }, regHandle: function(d, c) { if (!this.handleIds[d]) { this.handleIds[d] = {} } this.handleIds[d][c] = c }, isDragDrop: function(c) { return (this.getDDById(c)) ? true : false }, getRelated: function(h, d) { var g = []; for (var f in h.groups) { for (var e in this.ids[f]) { var c = this.ids[f][e]; if (!this.isTypeOfDD(c)) { continue } if (!d || c.isTarget) { g[g.length] = c } } } return g }, isLegalTarget: function(g, f) { var d = this.getRelated(g, true); for (var e = 0, c = d.length; e < c; ++e) { if (d[e].id == f.id) { return true } } return false }, isTypeOfDD: function(c) { return (c && c.__ygDragDrop) }, isHandle: function(d, c) { return (this.handleIds[d] && this.handleIds[d][c]) }, getDDById: function(d) { for (var c in this.ids) { if (this.ids[c][d]) { return this.ids[c][d] } } return null }, handleMouseDown: function(f, d) { this.currentTarget = YAHOO.util.Event.getTarget(f); this.dragCurrent = d; var c = d.getEl(); this.startX = YAHOO.util.Event.getPageX(f); this.startY = YAHOO.util.Event.getPageY(f); this.deltaX = this.startX - c.offsetLeft; this.deltaY = this.startY - c.offsetTop; this.dragThreshMet = false; this.clickTimeout = setTimeout(function() { var e = YAHOO.util.DDM; e.startDrag(e.startX, e.startY); e.fromTimeout = true }, this.clickTimeThresh) }, startDrag: function(c, e) { if (this.dragCurrent && this.dragCurrent.useShim) { this._shimState = this.useShim; this.useShim = true } this._activateShim(); clearTimeout(this.clickTimeout); var d = this.dragCurrent; if (d && d.events.b4StartDrag) { d.b4StartDrag(c, e); d.fireEvent("b4StartDragEvent", { x: c, y: e }) } if (d && d.events.startDrag) { d.startDrag(c, e); d.fireEvent("startDragEvent", { x: c, y: e }) } this.dragThreshMet = true }, handleMouseUp: function(c) { if (this.dragCurrent) { clearTimeout(this.clickTimeout); if (this.dragThreshMet) { if (this.fromTimeout) { this.fromTimeout = false; this.handleMouseMove(c) } this.fromTimeout = false; this.fireEvents(c, true) } else { } this.stopDrag(c); this.stopEvent(c) } }, stopEvent: function(c) { if (this.stopPropagation) { YAHOO.util.Event.stopPropagation(c) } if (this.preventDefault) { YAHOO.util.Event.preventDefault(c) } }, stopDrag: function(f, d) { var c = this.dragCurrent; if (c && !d) { if (this.dragThreshMet) { if (c.events.b4EndDrag) { c.b4EndDrag(f); c.fireEvent("b4EndDragEvent", { e: f }) } if (c.events.endDrag) { c.endDrag(f); c.fireEvent("endDragEvent", { e: f }) } } if (c.events.mouseUp) { c.onMouseUp(f); c.fireEvent("mouseUpEvent", { e: f }) } } if (this._shimActive) { this._deactivateShim(); if (this.dragCurrent && this.dragCurrent.useShim) { this.useShim = this._shimState; this._shimState = false } } this.dragCurrent = null; this.dragOvers = {} }, handleMouseMove: function(g) { var c = this.dragCurrent; if (c) { if (YAHOO.util.Event.isIE && !g.button) { this.stopEvent(g); return this.handleMouseUp(g) } else { if (g.clientX < 0 || g.clientY < 0) { } } if (!this.dragThreshMet) { var f = Math.abs(this.startX - YAHOO.util.Event.getPageX(g)); var d = Math.abs(this.startY - YAHOO.util.Event.getPageY(g)); if (f > this.clickPixelThresh || d > this.clickPixelThresh) { this.startDrag(this.startX, this.startY) } } if (this.dragThreshMet) { if (c && c.events.b4Drag) { c.b4Drag(g); c.fireEvent("b4DragEvent", { e: g }) } if (c && c.events.drag) { c.onDrag(g); c.fireEvent("dragEvent", { e: g }) } if (c) { this.fireEvents(g, false) } } this.stopEvent(g) } }, fireEvents: function(A, o) { var F = this.dragCurrent; if (!F || F.isLocked() || F.dragOnly) { return } var q = YAHOO.util.Event.getPageX(A), p = YAHOO.util.Event.getPageY(A), s = new YAHOO.util.Point(q, p), m = F.getTargetCoord(s.x, s.y), g = F.getDragEl(), f = ["out", "over", "drop", "enter"], z = new YAHOO.util.Region(m.y, m.x + g.offsetWidth, m.y + g.offsetHeight, m.x), k = [], d = {}, t = [], G = { outEvts: [], overEvts: [], dropEvts: [], enterEvts: [] }; for (var v in this.dragOvers) { var H = this.dragOvers[v]; if (!this.isTypeOfDD(H)) { continue } if (!this.isOverTarget(s, H, this.mode, z)) { G.outEvts.push(H) } k[v] = true; delete this.dragOvers[v] } for (var u in F.groups) { if ("string" != typeof u) { continue } for (v in this.ids[u]) { var h = this.ids[u][v]; if (!this.isTypeOfDD(h)) { continue } if (h.isTarget && !h.isLocked() && h != F) { if (this.isOverTarget(s, h, this.mode, z)) { d[u] = true; if (o) { G.dropEvts.push(h) } else { if (!k[h.id]) { G.enterEvts.push(h) } else { G.overEvts.push(h) } this.dragOvers[h.id] = h } } } } } this.interactionInfo = { out: G.outEvts, enter: G.enterEvts, over: G.overEvts, drop: G.dropEvts, point: s, draggedRegion: z, sourceRegion: this.locationCache[F.id], validDrop: o }; for (var c in d) { t.push(c) } if (o && !G.dropEvts.length) { this.interactionInfo.validDrop = false; if (F.events.invalidDrop) { F.onInvalidDrop(A); F.fireEvent("invalidDropEvent", { e: A }) } } for (v = 0; v < f.length; v++) { var D = null; if (G[f[v] + "Evts"]) { D = G[f[v] + "Evts"] } if (D && D.length) { var j = f[v].charAt(0).toUpperCase() + f[v].substr(1), C = "onDrag" + j, l = "b4Drag" + j, r = "drag" + j + "Event", B = "drag" + j; if (this.mode) { if (F.events[l]) { F[l](A, D, t); F.fireEvent(l + "Event", { event: A, info: D, group: t }) } if (F.events[B]) { F[C](A, D, t); F.fireEvent(r, { event: A, info: D, group: t }) } } else { for (var E = 0, w = D.length; E < w; ++E) { if (F.events[l]) { F[l](A, D[E].id, t[0]); F.fireEvent(l + "Event", { event: A, info: D[E].id, group: t[0] }) } if (F.events[B]) { F[C](A, D[E].id, t[0]); F.fireEvent(r, { event: A, info: D[E].id, group: t[0] }) } } } } } }, getBestMatch: function(e) { var g = null; var d = e.length; if (d == 1) { g = e[0] } else { for (var f = 0; f < d; ++f) { var c = e[f]; if (this.mode == this.INTERSECT && c.cursorIsOver) { g = c; break } else { if (!g || !g.overlap || (c.overlap && g.overlap.getArea() < c.overlap.getArea())) { g = c } } } } return g }, refreshCache: function(d) { var f = d || this.ids; for (var c in f) { if ("string" != typeof c) { continue } for (var e in this.ids[c]) { var h = this.ids[c][e]; if (this.isTypeOfDD(h)) { var j = this.getLocation(h); if (j) { this.locationCache[h.id] = j } else { delete this.locationCache[h.id] } } } } }, verifyEl: function(d) { try { if (d) { var c = d.offsetParent; if (c) { return true } } } catch (f) { } return false }, getLocation: function(i) { if (!this.isTypeOfDD(i)) { return null } var g = i.getEl(), m, f, d, p, o, q, c, k, h; try { m = YAHOO.util.Dom.getXY(g) } catch (j) { } if (!m) { return null } f = m[0]; d = f + g.offsetWidth; p = m[1]; o = p + g.offsetHeight; q = p - i.padding[0]; c = d + i.padding[1]; k = o + i.padding[2]; h = f - i.padding[3]; return new YAHOO.util.Region(q, c, k, h) }, isOverTarget: function(k, c, e, f) { var g = this.locationCache[c.id]; if (!g || !this.useCache) { g = this.getLocation(c); this.locationCache[c.id] = g } if (!g) { return false } c.cursorIsOver = g.contains(k); var j = this.dragCurrent; if (!j || (!e && !j.constrainX && !j.constrainY)) { return c.cursorIsOver } c.overlap = null; if (!f) { var h = j.getTargetCoord(k.x, k.y); var d = j.getDragEl(); f = new YAHOO.util.Region(h.y, h.x + d.offsetWidth, h.y + d.offsetHeight, h.x) } var i = f.intersect(g); if (i) { c.overlap = i; return (e) ? true : c.cursorIsOver } else { return false } }, _onUnload: function(d, c) { this.unregAll() }, unregAll: function() { if (this.dragCurrent) { this.stopDrag(); this.dragCurrent = null } this._execOnAll("unreg", []); this.ids = {} }, elementCache: {}, getElWrapper: function(d) { var c = this.elementCache[d]; if (!c || !c.el) { c = this.elementCache[d] = new this.ElementWrapper(YAHOO.util.Dom.get(d)) } return c }, getElement: function(c) { return YAHOO.util.Dom.get(c) }, getCss: function(d) { var c = YAHOO.util.Dom.get(d); return (c) ? c.style : null }, ElementWrapper: function(c) { this.el = c || null; this.id = this.el && c.id; this.css = this.el && c.style }, getPosX: function(c) { return YAHOO.util.Dom.getX(c) }, getPosY: function(c) { return YAHOO.util.Dom.getY(c) }, swapNode: function(e, c) { if (e.swapNode) { e.swapNode(c) } else { var f = c.parentNode; var d = c.nextSibling; if (d == e) { f.insertBefore(e, c) } else { if (c == e.nextSibling) { f.insertBefore(c, e) } else { e.parentNode.replaceChild(c, e); f.insertBefore(e, d) } } } }, getScroll: function() { var e, c, f = document.documentElement, d = document.body; if (f && (f.scrollTop || f.scrollLeft)) { e = f.scrollTop; c = f.scrollLeft } else { if (d) { e = d.scrollTop; c = d.scrollLeft } else { } } return { top: e, left: c} }, getStyle: function(d, c) { return YAHOO.util.Dom.getStyle(d, c) }, getScrollTop: function() { return this.getScroll().top }, getScrollLeft: function() { return this.getScroll().left }, moveToEl: function(c, e) { var d = YAHOO.util.Dom.getXY(e); YAHOO.util.Dom.setXY(c, d) }, getClientHeight: function() { return YAHOO.util.Dom.getViewportHeight() }, getClientWidth: function() { return YAHOO.util.Dom.getViewportWidth() }, numericSort: function(d, c) { return (d - c) }, _timeoutCount: 0, _addListeners: function() { var c = YAHOO.util.DDM; if (YAHOO.util.Event && document) { c._onLoad() } else { if (c._timeoutCount > 2000) { } else { setTimeout(c._addListeners, 10); if (document && document.body) { c._timeoutCount += 1 } } } }, handleWasClicked: function(c, e) { if (this.isHandle(e, c.id)) { return true } else { var d = c.parentNode; while (d) { if (this.isHandle(e, d.id)) { return true } else { d = d.parentNode } } } return false } } } (); YAHOO.util.DDM = YAHOO.util.DragDropMgr; YAHOO.util.DDM._addListeners() } (function() { var a = YAHOO.util.Event; var b = YAHOO.util.Dom; YAHOO.util.DragDrop = function(e, c, d) { if (e) { this.init(e, c, d) } }; YAHOO.util.DragDrop.prototype = { events: null, on: function() { this.subscribe.apply(this, arguments) }, id: null, config: null, dragElId: null, handleElId: null, invalidHandleTypes: null, invalidHandleIds: null, invalidHandleClasses: null, startPageX: 0, startPageY: 0, groups: null, locked: false, lock: function() { this.locked = true }, unlock: function() { this.locked = false }, isTarget: true, padding: null, dragOnly: false, useShim: false, _domRef: null, __ygDragDrop: true, constrainX: false, constrainY: false, minX: 0, maxX: 0, minY: 0, maxY: 0, deltaX: 0, deltaY: 0, maintainOffset: false, xTicks: null, yTicks: null, primaryButtonOnly: true, available: false, hasOuterHandles: false, cursorIsOver: false, overlap: null, b4StartDrag: function(c, d) { }, startDrag: function(c, d) { }, b4Drag: function(c) { }, onDrag: function(c) { }, onDragEnter: function(c, d) { }, b4DragOver: function(c) { }, onDragOver: function(c, d) { }, b4DragOut: function(c) { }, onDragOut: function(c, d) { }, b4DragDrop: function(c) { }, onDragDrop: function(c, d) { }, onInvalidDrop: function(c) { }, b4EndDrag: function(c) { }, endDrag: function(c) { }, b4MouseDown: function(c) { }, onMouseDown: function(c) { }, onMouseUp: function(c) { }, onAvailable: function() { }, getEl: function() { if (!this._domRef) { this._domRef = b.get(this.id) } return this._domRef }, getDragEl: function() { return b.get(this.dragElId) }, init: function(f, c, d) { this.initTarget(f, c, d); a.on(this._domRef || this.id, "mousedown", this.handleMouseDown, this, true); for (var e in this.events) { this.createEvent(e + "Event") } }, initTarget: function(e, c, d) { this.config = d || {}; this.events = {}; this.DDM = YAHOO.util.DDM; this.groups = {}; if (typeof e !== "string") { this._domRef = e; e = b.generateId(e) } this.id = e; this.addToGroup((c) ? c : "default"); this.handleElId = e; a.onAvailable(e, this.handleOnAvailable, this, true); this.setDragElId(e); this.invalidHandleTypes = { A: "A" }; this.invalidHandleIds = {}; this.invalidHandleClasses = []; this.applyConfig() }, applyConfig: function() { this.events = { mouseDown: true, b4MouseDown: true, mouseUp: true, b4StartDrag: true, startDrag: true, b4EndDrag: true, endDrag: true, drag: true, b4Drag: true, invalidDrop: true, b4DragOut: true, dragOut: true, dragEnter: true, b4DragOver: true, dragOver: true, b4DragDrop: true, dragDrop: true }; if (this.config.events) { for (var c in this.config.events) { if (this.config.events[c] === false) { this.events[c] = false } } } this.padding = this.config.padding || [0, 0, 0, 0]; this.isTarget = (this.config.isTarget !== false); this.maintainOffset = (this.config.maintainOffset); this.primaryButtonOnly = (this.config.primaryButtonOnly !== false); this.dragOnly = ((this.config.dragOnly === true) ? true : false); this.useShim = ((this.config.useShim === true) ? true : false) }, handleOnAvailable: function() { this.available = true; this.resetConstraints(); this.onAvailable() }, setPadding: function(e, c, f, d) { if (!c && 0 !== c) { this.padding = [e, e, e, e] } else { if (!f && 0 !== f) { this.padding = [e, c, e, c] } else { this.padding = [e, c, f, d] } } }, setInitPosition: function(f, e) { var g = this.getEl(); if (!this.DDM.verifyEl(g)) { if (g && g.style && (g.style.display == "none")) { } else { } return } var d = f || 0; var c = e || 0; var h = b.getXY(g); this.initPageX = h[0] - d; this.initPageY = h[1] - c; this.lastPageX = h[0]; this.lastPageY = h[1]; this.setStartPosition(h) }, setStartPosition: function(d) { var c = d || b.getXY(this.getEl()); this.deltaSetXY = null; this.startPageX = c[0]; this.startPageY = c[1] }, addToGroup: function(c) { this.groups[c] = true; this.DDM.regDragDrop(this, c) }, removeFromGroup: function(c) { if (this.groups[c]) { delete this.groups[c] } this.DDM.removeDDFromGroup(this, c) }, setDragElId: function(c) { this.dragElId = c }, setHandleElId: function(c) { if (typeof c !== "string") { c = b.generateId(c) } this.handleElId = c; this.DDM.regHandle(this.id, c) }, setOuterHandleElId: function(c) { if (typeof c !== "string") { c = b.generateId(c) } a.on(c, "mousedown", this.handleMouseDown, this, true); this.setHandleElId(c); this.hasOuterHandles = true }, unreg: function() { a.removeListener(this.id, "mousedown", this.handleMouseDown); this._domRef = null; this.DDM._remove(this) }, isLocked: function() { return (this.DDM.isLocked() || this.locked) }, handleMouseDown: function(k, j) { var d = k.which || k.button; if (this.primaryButtonOnly && d > 1) { return } if (this.isLocked()) { return } var c = this.b4MouseDown(k), g = true; if (this.events.b4MouseDown) { g = this.fireEvent("b4MouseDownEvent", k) } var f = this.onMouseDown(k), i = true; if (this.events.mouseDown) { i = this.fireEvent("mouseDownEvent", k) } if ((c === false) || (f === false) || (g === false) || (i === false)) { return } this.DDM.refreshCache(this.groups); var h = new YAHOO.util.Point(a.getPageX(k), a.getPageY(k)); if (!this.hasOuterHandles && !this.DDM.isOverTarget(h, this)) { } else { if (this.clickValidator(k)) { this.setStartPosition(); this.DDM.handleMouseDown(k, this); this.DDM.stopEvent(k) } else { } } }, clickValidator: function(d) { var c = YAHOO.util.Event.getTarget(d); return (this.isValidHandleChild(c) && (this.id == this.handleElId || this.DDM.handleWasClicked(c, this.id))) }, getTargetCoord: function(e, d) { var c = e - this.deltaX; var f = d - this.deltaY; if (this.constrainX) { if (c < this.minX) { c = this.minX } if (c > this.maxX) { c = this.maxX } } if (this.constrainY) { if (f < this.minY) { f = this.minY } if (f > this.maxY) { f = this.maxY } } c = this.getTick(c, this.xTicks); f = this.getTick(f, this.yTicks); return { x: c, y: f} }, addInvalidHandleType: function(c) { var d = c.toUpperCase(); this.invalidHandleTypes[d] = d }, addInvalidHandleId: function(c) { if (typeof c !== "string") { c = b.generateId(c) } this.invalidHandleIds[c] = c }, addInvalidHandleClass: function(c) { this.invalidHandleClasses.push(c) }, removeInvalidHandleType: function(c) { var d = c.toUpperCase(); delete this.invalidHandleTypes[d] }, removeInvalidHandleId: function(c) { if (typeof c !== "string") { c = b.generateId(c) } delete this.invalidHandleIds[c] }, removeInvalidHandleClass: function(d) { for (var e = 0, c = this.invalidHandleClasses.length; e < c; ++e) { if (this.invalidHandleClasses[e] == d) { delete this.invalidHandleClasses[e] } } }, isValidHandleChild: function(g) { var f = true; var j; try { j = g.nodeName.toUpperCase() } catch (h) { j = g.nodeName } f = f && !this.invalidHandleTypes[j]; f = f && !this.invalidHandleIds[g.id]; for (var d = 0, c = this.invalidHandleClasses.length; f && d < c; ++d) { f = !b.hasClass(g, this.invalidHandleClasses[d]) } return f }, setXTicks: function(f, c) { this.xTicks = []; this.xTickSize = c; var e = {}; for (var d = this.initPageX; d >= this.minX; d = d - c) { if (!e[d]) { this.xTicks[this.xTicks.length] = d; e[d] = true } } for (d = this.initPageX; d <= this.maxX; d = d + c) { if (!e[d]) { this.xTicks[this.xTicks.length] = d; e[d] = true } } this.xTicks.sort(this.DDM.numericSort) }, setYTicks: function(f, c) { this.yTicks = []; this.yTickSize = c; var e = {}; for (var d = this.initPageY; d >= this.minY; d = d - c) { if (!e[d]) { this.yTicks[this.yTicks.length] = d; e[d] = true } } for (d = this.initPageY; d <= this.maxY; d = d + c) { if (!e[d]) { this.yTicks[this.yTicks.length] = d; e[d] = true } } this.yTicks.sort(this.DDM.numericSort) }, setXConstraint: function(e, d, c) { this.leftConstraint = parseInt(e, 10); this.rightConstraint = parseInt(d, 10); this.minX = this.initPageX - this.leftConstraint; this.maxX = this.initPageX + this.rightConstraint; if (c) { this.setXTicks(this.initPageX, c) } this.constrainX = true }, clearConstraints: function() { this.constrainX = false; this.constrainY = false; this.clearTicks() }, clearTicks: function() { this.xTicks = null; this.yTicks = null; this.xTickSize = 0; this.yTickSize = 0 }, setYConstraint: function(c, e, d) { this.topConstraint = parseInt(c, 10); this.bottomConstraint = parseInt(e, 10); this.minY = this.initPageY - this.topConstraint; this.maxY = this.initPageY + this.bottomConstraint; if (d) { this.setYTicks(this.initPageY, d) } this.constrainY = true }, resetConstraints: function() { if (this.initPageX || this.initPageX === 0) { var d = (this.maintainOffset) ? this.lastPageX - this.initPageX : 0; var c = (this.maintainOffset) ? this.lastPageY - this.initPageY : 0; this.setInitPosition(d, c) } else { this.setInitPosition() } if (this.constrainX) { this.setXConstraint(this.leftConstraint, this.rightConstraint, this.xTickSize) } if (this.constrainY) { this.setYConstraint(this.topConstraint, this.bottomConstraint, this.yTickSize) } }, getTick: function(j, f) { if (!f) { return j } else { if (f[0] >= j) { return f[0] } else { for (var d = 0, c = f.length; d < c; ++d) { var e = d + 1; if (f[e] && f[e] >= j) { var h = j - f[d]; var g = f[e] - j; return (g > h) ? f[d] : f[e] } } return f[f.length - 1] } } }, toString: function() { return ("DragDrop " + this.id) } }; YAHOO.augment(YAHOO.util.DragDrop, YAHOO.util.EventProvider) })(); YAHOO.util.DD = function(c, a, b) { if (c) { this.init(c, a, b) } }; YAHOO.extend(YAHOO.util.DD, YAHOO.util.DragDrop, { scroll: true, autoOffset: function(c, b) { var a = c - this.startPageX; var d = b - this.startPageY; this.setDelta(a, d) }, setDelta: function(b, a) { this.deltaX = b; this.deltaY = a }, setDragElPos: function(c, b) { var a = this.getDragEl(); this.alignElWithMouse(a, c, b) }, alignElWithMouse: function(c, g, f) { var e = this.getTargetCoord(g, f); if (!this.deltaSetXY) { var h = [e.x, e.y]; YAHOO.util.Dom.setXY(c, h); var d = parseInt(YAHOO.util.Dom.getStyle(c, "left"), 10); var b = parseInt(YAHOO.util.Dom.getStyle(c, "top"), 10); this.deltaSetXY = [d - e.x, b - e.y] } else { YAHOO.util.Dom.setStyle(c, "left", (e.x + this.deltaSetXY[0]) + "px"); YAHOO.util.Dom.setStyle(c, "top", (e.y + this.deltaSetXY[1]) + "px") } this.cachePosition(e.x, e.y); var a = this; setTimeout(function() { a.autoScroll.call(a, e.x, e.y, c.offsetHeight, c.offsetWidth) }, 0) }, cachePosition: function(b, a) { if (b) { this.lastPageX = b; this.lastPageY = a } else { var c = YAHOO.util.Dom.getXY(this.getEl()); this.lastPageX = c[0]; this.lastPageY = c[1] } }, autoScroll: function(k, j, e, l) { if (this.scroll) { var m = this.DDM.getClientHeight(); var b = this.DDM.getClientWidth(); var p = this.DDM.getScrollTop(); var d = this.DDM.getScrollLeft(); var i = e + j; var o = l + k; var g = (m + p - j - this.deltaY); var f = (b + d - k - this.deltaX); var c = 40; var a = (document.all) ? 80 : 30; if (i > m && g < c) { window.scrollTo(d, p + a) } if (j < p && p > 0 && j - p < c) { window.scrollTo(d, p - a) } if (o > b && f < c) { window.scrollTo(d + a, p) } if (k < d && d > 0 && k - d < c) { window.scrollTo(d - a, p) } } }, applyConfig: function() { YAHOO.util.DD.superclass.applyConfig.call(this); this.scroll = (this.config.scroll !== false) }, b4MouseDown: function(a) { this.setStartPosition(); this.autoOffset(YAHOO.util.Event.getPageX(a), YAHOO.util.Event.getPageY(a)) }, b4Drag: function(a) { this.setDragElPos(YAHOO.util.Event.getPageX(a), YAHOO.util.Event.getPageY(a)) }, toString: function() { return ("DD " + this.id) } }); YAHOO.util.DDProxy = function(c, a, b) { if (c) { this.init(c, a, b); this.initFrame() } }; YAHOO.util.DDProxy.dragElId = "ygddfdiv"; YAHOO.extend(YAHOO.util.DDProxy, YAHOO.util.DD, { resizeFrame: true, centerFrame: false, createFrame: function() { var b = this, a = document.body; if (!a || !a.firstChild) { setTimeout(function() { b.createFrame() }, 50); return } var f = this.getDragEl(), e = YAHOO.util.Dom; if (!f) { f = document.createElement("div"); f.id = this.dragElId; var d = f.style; d.position = "absolute"; d.visibility = "hidden"; d.cursor = "move"; d.border = "2px solid #aaa"; d.zIndex = 999; d.height = "25px"; d.width = "25px"; var c = document.createElement("div"); e.setStyle(c, "height", "100%"); e.setStyle(c, "width", "100%"); e.setStyle(c, "background-color", "#ccc"); e.setStyle(c, "opacity", "0"); f.appendChild(c); a.insertBefore(f, a.firstChild) } }, initFrame: function() { this.createFrame() }, applyConfig: function() { YAHOO.util.DDProxy.superclass.applyConfig.call(this); this.resizeFrame = (this.config.resizeFrame !== false); this.centerFrame = (this.config.centerFrame); this.setDragElId(this.config.dragElId || YAHOO.util.DDProxy.dragElId) }, showFrame: function(e, d) { var c = this.getEl(); var a = this.getDragEl(); var b = a.style; this._resizeProxy(); if (this.centerFrame) { this.setDelta(Math.round(parseInt(b.width, 10) / 2), Math.round(parseInt(b.height, 10) / 2)) } this.setDragElPos(e, d); YAHOO.util.Dom.setStyle(a, "visibility", "visible") }, _resizeProxy: function() { if (this.resizeFrame) { var h = YAHOO.util.Dom; var b = this.getEl(); var c = this.getDragEl(); var g = parseInt(h.getStyle(c, "borderTopWidth"), 10); var i = parseInt(h.getStyle(c, "borderRightWidth"), 10); var f = parseInt(h.getStyle(c, "borderBottomWidth"), 10); var d = parseInt(h.getStyle(c, "borderLeftWidth"), 10); if (isNaN(g)) { g = 0 } if (isNaN(i)) { i = 0 } if (isNaN(f)) { f = 0 } if (isNaN(d)) { d = 0 } var e = Math.max(0, b.offsetWidth - i - d); var a = Math.max(0, b.offsetHeight - g - f); h.setStyle(c, "width", e + "px"); h.setStyle(c, "height", a + "px") } }, b4MouseDown: function(b) { this.setStartPosition(); var a = YAHOO.util.Event.getPageX(b); var c = YAHOO.util.Event.getPageY(b); this.autoOffset(a, c) }, b4StartDrag: function(a, b) { this.showFrame(a, b) }, b4EndDrag: function(a) { YAHOO.util.Dom.setStyle(this.getDragEl(), "visibility", "hidden") }, endDrag: function(d) { var c = YAHOO.util.Dom; var b = this.getEl(); var a = this.getDragEl(); c.setStyle(a, "visibility", ""); c.setStyle(b, "visibility", "hidden"); YAHOO.util.DDM.moveToEl(b, a); c.setStyle(a, "visibility", "hidden"); c.setStyle(b, "visibility", "") }, toString: function() { return ("DDProxy " + this.id) } }); YAHOO.util.DDTarget = function(c, a, b) { if (c) { this.initTarget(c, a, b) } }; YAHOO.extend(YAHOO.util.DDTarget, YAHOO.util.DragDrop, { toString: function() { return ("DDTarget " + this.id) } }); YAHOO.register("dragdrop", YAHOO.util.DragDropMgr, { version: "2.7.0", build: "1796" }); (function() { var a = YAHOO.util; a.Selector = { _foundCache: [], _regexCache: {}, _re: { nth: /^(?:([-]?\d*)(n){1}|(odd|even)$)*([-+]?\d*)$/, attr: /(\[.*\])/g, urls: /^(?:href|src)/ }, document: window.document, attrAliases: {}, shorthand: { "\\#(-?[_a-z]+[-\\w]*)": "[id=$1]", "\\.(-?[_a-z]+[-\\w]*)": "[class~=$1]" }, operators: { "=": function(b, c) { return b === c }, "!=": function(b, c) { return b !== c }, "~=": function(b, d) { var c = " "; return (c + b + c).indexOf((c + d + c)) > -1 }, "|=": function(b, c) { return b === c || b.slice(0, c.length + 1) === c + "-" }, "^=": function(b, c) { return b.indexOf(c) === 0 }, "$=": function(b, c) { return b.slice(-c.length) === c }, "*=": function(b, c) { return b.indexOf(c) > -1 }, "": function(b, c) { return b } }, pseudos: { root: function(b) { return b === b.ownerDocument.documentElement }, "nth-child": function(b, c) { return a.Selector._getNth(b, c) }, "nth-last-child": function(b, c) { return a.Selector._getNth(b, c, null, true) }, "nth-of-type": function(b, c) { return a.Selector._getNth(b, c, b.tagName) }, "nth-last-of-type": function(b, c) { return a.Selector._getNth(b, c, b.tagName, true) }, "first-child": function(b) { return a.Selector._getChildren(b.parentNode)[0] === b }, "last-child": function(c) { var b = a.Selector._getChildren(c.parentNode); return b[b.length - 1] === c }, "first-of-type": function(b, c) { return a.Selector._getChildren(b.parentNode, b.tagName)[0] }, "last-of-type": function(c, d) { var b = a.Selector._getChildren(c.parentNode, c.tagName); return b[b.length - 1] }, "only-child": function(c) { var b = a.Selector._getChildren(c.parentNode); return b.length === 1 && b[0] === c }, "only-of-type": function(b) { return a.Selector._getChildren(b.parentNode, b.tagName).length === 1 }, empty: function(b) { return b.childNodes.length === 0 }, not: function(b, c) { return !a.Selector.test(b, c) }, contains: function(b, d) { var c = b.innerText || b.textContent || ""; return c.indexOf(d) > -1 }, checked: function(b) { return b.checked === true } }, test: function(f, d) { f = a.Selector.document.getElementById(f) || f; if (!f) { return false } var c = d ? d.split(",") : []; if (c.length) { for (var e = 0, b = c.length; e < b; ++e) { if (a.Selector._test(f, c[e])) { return true } } return false } return a.Selector._test(f, d) }, _test: function(d, g, f, e) { f = f || a.Selector._tokenize(g).pop() || {}; if (!d.tagName || (f.tag !== "*" && d.tagName !== f.tag) || (e && d._found)) { return false } if (f.attributes.length) { var b, h, c = a.Selector._re.urls; if (!d.attributes || !d.attributes.length) { return false } for (var j = 0, l; l = f.attributes[j++]; ) { h = (c.test(l[0])) ? 2 : 0; b = d.getAttribute(l[0], h); if (b === null || b === undefined) { return false } if (a.Selector.operators[l[1]] && !a.Selector.operators[l[1]](b, l[2])) { return false } } } if (f.pseudos.length) { for (var j = 0, k = f.pseudos.length; j < k; ++j) { if (a.Selector.pseudos[f.pseudos[j][0]] && !a.Selector.pseudos[f.pseudos[j][0]](d, f.pseudos[j][1])) { return false } } } return (f.previous && f.previous.combinator !== ",") ? a.Selector._combinators[f.previous.combinator](d, f) : true }, filter: function(e, d) { e = e || []; var g, c = [], h = a.Selector._tokenize(d); if (!e.item) { for (var f = 0, b = e.length; f < b; ++f) { if (!e[f].tagName) { g = a.Selector.document.getElementById(e[f]); if (g) { e[f] = g } else { } } } } c = a.Selector._filter(e, a.Selector._tokenize(d)[0]); return c }, _filter: function(e, g, h, d) { var c = h ? null : [], j = a.Selector._foundCache; for (var f = 0, b = e.length; f < b; f++) { if (!a.Selector._test(e[f], "", g, d)) { continue } if (h) { return e[f] } if (d) { if (e[f]._found) { continue } e[f]._found = true; j[j.length] = e[f] } c[c.length] = e[f] } return c }, query: function(c, d, e) { var b = a.Selector._query(c, d, e); return b }, _query: function(h, o, p, f) { var r = (p) ? null : [], e; if (!h) { return r } var d = h.split(","); if (d.length > 1) { var q; for (var j = 0, k = d.length; j < k; ++j) { q = arguments.callee(d[j], o, p, true); r = p ? q : r.concat(q) } a.Selector._clearFoundCache(); return r } if (o && !o.nodeName) { o = a.Selector.document.getElementById(o); if (!o) { return r } } o = o || a.Selector.document; if (o.nodeName !== "#document") { a.Dom.generateId(o); h = o.tagName + "#" + o.id + " " + h; e = o; o = o.ownerDocument } var m = a.Selector._tokenize(h); var l = m[a.Selector._getIdTokenIndex(m)], b = [], c, g = m.pop() || {}; if (l) { c = a.Selector._getId(l.attributes) } if (c) { e = e || a.Selector.document.getElementById(c); if (e && (o.nodeName === "#document" || a.Dom.isAncestor(o, e))) { if (a.Selector._test(e, null, l)) { if (l === g) { b = [e] } else { if (l.combinator === " " || l.combinator === ">") { o = e } } } } else { return r } } if (o && !b.length) { b = o.getElementsByTagName(g.tag) } if (b.length) { r = a.Selector._filter(b, g, p, f) } return r }, _clearFoundCache: function() { var f = a.Selector._foundCache; for (var c = 0, b = f.length; c < b; ++c) { try { delete f[c]._found } catch (d) { f[c].removeAttribute("_found") } } f = [] }, _getRegExp: function(d, b) { var c = a.Selector._regexCache; b = b || ""; if (!c[d + b]) { c[d + b] = new RegExp(d, b) } return c[d + b] }, _getChildren: function() { if (document.documentElement.children) { return function(c, b) { return (b) ? c.children.tags(b) : c.children || [] } } else { return function(f, c) { if (f._children) { return f._children } var e = [], g = f.childNodes; for (var d = 0, b = g.length; d < b; ++d) { if (g[d].tagName) { if (!c || g[d].tagName === c) { e[e.length] = g[d] } } } f._children = e; return e } } } (), _combinators: { " ": function(c, b) { while ((c = c.parentNode)) { if (a.Selector._test(c, "", b.previous)) { return true } } return false }, ">": function(c, b) { return a.Selector._test(c.parentNode, null, b.previous) }, "+": function(d, c) { var b = d.previousSibling; while (b && b.nodeType !== 1) { b = b.previousSibling } if (b && a.Selector._test(b, null, c.previous)) { return true } return false }, "~": function(d, c) { var b = d.previousSibling; while (b) { if (b.nodeType === 1 && a.Selector._test(b, null, c.previous)) { return true } b = b.previousSibling } return false } }, _getNth: function(d, o, q, h) { a.Selector._re.nth.test(o); var m = parseInt(RegExp.$1, 10), c = RegExp.$2, j = RegExp.$3, k = parseInt(RegExp.$4, 10) || 0, p = [], f; var l = a.Selector._getChildren(d.parentNode, q); if (j) { m = 2; f = "+"; c = "n"; k = (j === "odd") ? 1 : 0 } else { if (isNaN(m)) { m = (c) ? 1 : 0 } } if (m === 0) { if (h) { k = l.length - k + 1 } if (l[k - 1] === d) { return true } else { return false } } else { if (m < 0) { h = !!h; m = Math.abs(m) } } if (!h) { for (var e = k - 1, g = l.length; e < g; e += m) { if (e >= 0 && l[e] === d) { return true } } } else { for (var e = l.length - k, g = l.length; e >= 0; e -= m) { if (e < g && l[e] === d) { return true } } } return false }, _getId: function(c) { for (var d = 0, b = c.length; d < b; ++d) { if (c[d][0] == "id" && c[d][1] === "=") { return c[d][2] } } }, _getIdTokenIndex: function(d) { for (var c = 0, b = d.length; c < b; ++c) { if (a.Selector._getId(d[c].attributes)) { return c } } return -1 }, _patterns: { tag: /^((?:-?[_a-z]+[\w-]*)|\*)/i, attributes: /^\[([a-z]+\w*)+([~\|\^\$\*!=]=?)?['"]?([^\]]*?)['"]?\]/i, pseudos: /^:([-\w]+)(?:\(['"]?(.+)['"]?\))*/i, combinator: /^\s*([>+~]|\s)\s*/ }, _tokenize: function(b) { var d = {}, h = [], i, g = false, f = a.Selector._patterns, c; b = a.Selector._replaceShorthand(b); do { g = false; for (var e in f) { if (YAHOO.lang.hasOwnProperty(f, e)) { if (e != "tag" && e != "combinator") { d[e] = d[e] || [] } if ((c = f[e].exec(b))) { g = true; if (e != "tag" && e != "combinator") { if (e === "attributes" && c[1] === "id") { d.id = c[3] } d[e].push(c.slice(1)) } else { d[e] = c[1] } b = b.replace(c[0], ""); if (e === "combinator" || !b.length) { d.attributes = a.Selector._fixAttributes(d.attributes); d.pseudos = d.pseudos || []; d.tag = d.tag ? d.tag.toUpperCase() : "*"; h.push(d); d = { previous: d} } } } } } while (g); return h }, _fixAttributes: function(c) { var d = a.Selector.attrAliases; c = c || []; for (var e = 0, b = c.length; e < b; ++e) { if (d[c[e][0]]) { c[e][0] = d[c[e][0]] } if (!c[e][1]) { c[e][1] = "" } } return c }, _replaceShorthand: function(c) { var d = a.Selector.shorthand; var e = c.match(a.Selector._re.attr); if (e) { c = c.replace(a.Selector._re.attr, "REPLACED_ATTRIBUTE") } for (var g in d) { if (YAHOO.lang.hasOwnProperty(d, g)) { c = c.replace(a.Selector._getRegExp(g, "gi"), d[g]) } } if (e) { for (var f = 0, b = e.length; f < b; ++f) { c = c.replace("REPLACED_ATTRIBUTE", e[f]) } } return c } }; if (YAHOO.env.ua.ie && YAHOO.env.ua.ie < 8) { a.Selector.attrAliases["class"] = "className"; a.Selector.attrAliases["for"] = "htmlFor" } })(); YAHOO.register("selector", YAHOO.util.Selector, { version: "2.7.0", build: "1796" }); YAHOO.lang.JSON = (function() { var l = YAHOO.lang, _UNICODE_EXCEPTIONS = /[\u0000\u00ad\u0600-\u0604\u070f\u17b4\u17b5\u200c-\u200f\u2028-\u202f\u2060-\u206f\ufeff\ufff0-\uffff]/g, _ESCAPES = /\\(?:["\\\/bfnrt]|u[0-9a-fA-F]{4})/g, _VALUES = /"[^"\\\n\r]*"|true|false|null|-?\d+(?:\.\d*)?(?:[eE][+\-]?\d+)?/g, _BRACKETS = /(?:^|:|,)(?:\s*\[)+/g, _INVALID = /^[\],:{}\s]*$/, _SPECIAL_CHARS = /[\\\"\x00-\x1f\x7f-\x9f\u00ad\u0600-\u0604\u070f\u17b4\u17b5\u200c-\u200f\u2028-\u202f\u2060-\u206f\ufeff\ufff0-\uffff]/g, _CHARS = { "\b": "\\b", "\t": "\\t", "\n": "\\n", "\f": "\\f", "\r": "\\r", '"': '\\"', "\\": "\\\\" }; function _revive(data, reviver) { var walk = function(o, key) { var k, v, value = o[key]; if (value && typeof value === "object") { for (k in value) { if (l.hasOwnProperty(value, k)) { v = walk(value, k); if (v === undefined) { delete value[k] } else { value[k] = v } } } } return reviver.call(o, key, value) }; return typeof reviver === "function" ? walk({ "": data }, "") : data } function _char(c) { if (!_CHARS[c]) { _CHARS[c] = "\\u" + ("0000" + (+(c.charCodeAt(0))).toString(16)).slice(-4) } return _CHARS[c] } function _prepare(s) { return s.replace(_UNICODE_EXCEPTIONS, _char) } function _isValid(str) { return l.isString(str) && _INVALID.test(str.replace(_ESCAPES, "@").replace(_VALUES, "]").replace(_BRACKETS, "")) } function _string(s) { return '"' + s.replace(_SPECIAL_CHARS, _char) + '"' } function _stringify(h, key, d, w, pstack) { var o = typeof w === "function" ? w.call(h, key, h[key]) : h[key], i, len, j, k, v, isArray, a; if (o instanceof Date) { o = l.JSON.dateToString(o) } else { if (o instanceof String || o instanceof Boolean || o instanceof Number) { o = o.valueOf() } } switch (typeof o) { case "string": return _string(o); case "number": return isFinite(o) ? String(o) : "null"; case "boolean": return String(o); case "object": if (o === null) { return "null" } for (i = pstack.length - 1; i >= 0; --i) { if (pstack[i] === o) { return "null" } } pstack[pstack.length] = o; a = []; isArray = l.isArray(o); if (d > 0) { if (isArray) { for (i = o.length - 1; i >= 0; --i) { a[i] = _stringify(o, i, d - 1, w, pstack) || "null" } } else { j = 0; if (l.isArray(w)) { for (i = 0, len = w.length; i < len; ++i) { k = w[i]; v = _stringify(o, k, d - 1, w, pstack); if (v) { a[j++] = _string(k) + ":" + v } } } else { for (k in o) { if (typeof k === "string" && l.hasOwnProperty(o, k)) { v = _stringify(o, k, d - 1, w, pstack); if (v) { a[j++] = _string(k) + ":" + v } } } } a.sort() } } pstack.pop(); return isArray ? "[" + a.join(",") + "]" : "{" + a.join(",") + "}" } return undefined } return { isValid: function(s) { return _isValid(_prepare(s)) }, parse: function(s, reviver) { s = _prepare(s); if (_isValid(s)) { return _revive(eval("(" + s + ")"), reviver) } throw new SyntaxError("parseJSON") }, stringify: function(o, w, d) { if (o !== undefined) { if (l.isArray(w)) { w = (function(a) { var uniq = [], map = {}, v, i, j, len; for (i = 0, j = 0, len = a.length; i < len; ++i) { v = a[i]; if (typeof v === "string" && map[v] === undefined) { uniq[(map[v] = j++)] = v } } return uniq })(w) } d = d >= 0 ? d : 1 / 0; return _stringify({ "": o }, "", d, w, []) } return undefined }, dateToString: function(d) { function _zeroPad(v) { return v < 10 ? "0" + v : v } return d.getUTCFullYear() + "-" + _zeroPad(d.getUTCMonth() + 1) + "-" + _zeroPad(d.getUTCDate()) + "T" + _zeroPad(d.getUTCHours()) + ":" + _zeroPad(d.getUTCMinutes()) + ":" + _zeroPad(d.getUTCSeconds()) + "Z" }, stringToDate: function(str) { if (/^(\d{4})-(\d{2})-(\d{2})T(\d{2}):(\d{2}):(\d{2})Z$/.test(str)) { var d = new Date(); d.setUTCFullYear(RegExp.$1, (RegExp.$2 | 0) - 1, RegExp.$3); d.setUTCHours(RegExp.$4, RegExp.$5, RegExp.$6); return d } return str } } })(); YAHOO.register("json", YAHOO.lang.JSON, { version: "2.7.0", build: "1796" }); YAHOO.namespace("util"); YAHOO.util.Cookie = { _createCookieString: function(b, d, c, a) { var f = YAHOO.lang; var e = encodeURIComponent(b) + "=" + (c ? encodeURIComponent(d) : d); if (f.isObject(a)) { if (a.expires instanceof Date) { e += "; expires=" + a.expires.toGMTString() } if (f.isString(a.path) && a.path != "") { e += "; path=" + a.path } if (f.isString(a.domain) && a.domain != "") { e += "; domain=" + a.domain } if (a.secure === true) { e += "; secure" } } return e }, _createCookieHashString: function(b) { var d = YAHOO.lang; if (!d.isObject(b)) { throw new TypeError("Cookie._createCookieHashString(): Argument must be an object.") } var c = new Array(); for (var a in b) { if (d.hasOwnProperty(b, a) && !d.isFunction(b[a]) && !d.isUndefined(b[a])) { c.push(encodeURIComponent(a) + "=" + encodeURIComponent(String(b[a]))) } } return c.join("&") }, _parseCookieHash: function(e) { var d = e.split("&"), f = null, c = new Object(); if (e.length > 0) { for (var b = 0, a = d.length; b < a; b++) { f = d[b].split("="); c[decodeURIComponent(f[0])] = decodeURIComponent(f[1]) } } return c }, _parseCookieString: function(k, a) { var l = new Object(); if (YAHOO.lang.isString(k) && k.length > 0) { var b = (a === false ? function(i) { return i } : decodeURIComponent); if (/[^=]+=[^=;]?(?:; [^=]+=[^=]?)?/.test(k)) { var h = k.split(/;\s/g), j = null, c = null, e = null; for (var d = 0, f = h.length; d < f; d++) { e = h[d].match(/([^=]+)=/i); if (e instanceof Array) { try { j = decodeURIComponent(e[1]); c = b(h[d].substring(e[1].length + 1)) } catch (g) { } } else { j = decodeURIComponent(h[d]); c = j } l[j] = c } } } return l }, get: function(a, b) { var d = YAHOO.lang; var c = this._parseCookieString(document.cookie); if (!d.isString(a) || a === "") { throw new TypeError("Cookie.get(): Cookie name must be a non-empty string.") } if (d.isUndefined(c[a])) { return null } if (!d.isFunction(b)) { return c[a] } else { return b(c[a]) } }, getSub: function(a, c, b) { var e = YAHOO.lang; var d = this.getSubs(a); if (d !== null) { if (!e.isString(c) || c === "") { throw new TypeError("Cookie.getSub(): Subcookie name must be a non-empty string.") } if (e.isUndefined(d[c])) { return null } if (!e.isFunction(b)) { return d[c] } else { return b(d[c]) } } else { return null } }, getSubs: function(a) { if (!YAHOO.lang.isString(a) || a === "") { throw new TypeError("Cookie.getSubs(): Cookie name must be a non-empty string.") } var b = this._parseCookieString(document.cookie, false); if (YAHOO.lang.isString(b[a])) { return this._parseCookieHash(b[a]) } return null }, remove: function(b, a) { if (!YAHOO.lang.isString(b) || b === "") { throw new TypeError("Cookie.remove(): Cookie name must be a non-empty string.") } a = a || {}; a.expires = new Date(0); return this.set(b, "", a) }, removeSub: function(b, d, a) { if (!YAHOO.lang.isString(b) || b === "") { throw new TypeError("Cookie.removeSub(): Cookie name must be a non-empty string.") } if (!YAHOO.lang.isString(d) || d === "") { throw new TypeError("Cookie.removeSub(): Subcookie name must be a non-empty string.") } var c = this.getSubs(b); if (YAHOO.lang.isObject(c) && YAHOO.lang.hasOwnProperty(c, d)) { delete c[d]; return this.setSubs(b, c, a) } else { return "" } }, set: function(b, c, a) { var e = YAHOO.lang; if (!e.isString(b)) { throw new TypeError("Cookie.set(): Cookie name must be a string.") } if (e.isUndefined(c)) { throw new TypeError("Cookie.set(): Value cannot be undefined.") } var d = this._createCookieString(b, c, true, a); document.cookie = d; return d }, setSub: function(b, d, c, a) { var f = YAHOO.lang; if (!f.isString(b) || b === "") { throw new TypeError("Cookie.setSub(): Cookie name must be a non-empty string.") } if (!f.isString(d) || d === "") { throw new TypeError("Cookie.setSub(): Subcookie name must be a non-empty string.") } if (f.isUndefined(c)) { throw new TypeError("Cookie.setSub(): Subcookie value cannot be undefined.") } var e = this.getSubs(b); if (!f.isObject(e)) { e = new Object() } e[d] = c; return this.setSubs(b, e, a) }, setSubs: function(b, c, a) { var e = YAHOO.lang; if (!e.isString(b)) { throw new TypeError("Cookie.setSubs(): Cookie name must be a string.") } if (!e.isObject(c)) { throw new TypeError("Cookie.setSubs(): Cookie value must be an object.") } var d = this._createCookieString(b, this._createCookieHashString(c), false, a); document.cookie = d; return d } }; YAHOO.register("cookie", YAHOO.util.Cookie, { version: "2.7.0", build: "1796" });
if (!Array.prototype.indexOf) { Array.prototype.indexOf = function(c, b) { if (b == null) { b = 0 } else { if (b < 0) { b = Math.max(0, this.length + b) } } for (var a = b; a < this.length; a++) { if (this[a] === c) { return a } } return -1 } } if (!Array.prototype.lastIndexOf) { Array.prototype.lastIndexOf = function(c, b) { if (b == null) { b = this.length - 1 } else { if (b < 0) { b = Math.max(0, this.length + b) } } for (var a = b; a >= 0; a--) { if (this[a] === c) { return a } } return -1 } } if (!Array.prototype.forEach) { Array.prototype.forEach = function(b) { var a = this.length; if (typeof b != "function") { throw new TypeError() } var d = arguments[1]; for (var c = 0; c < a; c++) { if (c in this) { b.call(d, this[c], c, this) } } } } if (!Array.prototype.filter) { Array.prototype.filter = function(b) { var a = this.length; if (typeof b != "function") { throw new TypeError() } var e = []; var d = arguments[1]; for (var c = 0; c < a; c++) { if (c in this) { var f = this[c]; if (b.call(d, f, c, this)) { e.push(f) } } } return e } } if (!Array.prototype.map) { Array.prototype.map = function(b) { var a = this.length; if (typeof b != "function") { throw new TypeError() } var e = new Array(a); var d = arguments[1]; for (var c = 0; c < a; c++) { if (c in this) { e[c] = b.call(d, this[c], c, this) } } return e } } if (!Array.prototype.some) { Array.prototype.some = function(b) { var a = this.length; if (typeof b != "function") { throw new TypeError() } var d = arguments[1]; for (var c = 0; c < a; c++) { if (c in this && b.call(d, this[c], c, this)) { return true } } return false } } if (!Array.prototype.every) { Array.prototype.every = function(b) { var a = this.length; if (typeof b != "function") { throw new TypeError() } var d = arguments[1]; for (var c = 0; c < a; c++) { if (c in this && !b.call(d, this[c], c, this)) { return false } } return true } } Array.prototype.copy = function() { var a = this.length; var c = new Array(a); for (var b = 0; b < a; b++) { c[b] = this[b] } return c }; Array.prototype.remove = function(a) { var b = this.indexOf(a); return (b != -1) ? this.splice(b, 1) : false }; (function() { ["indexOf", "lastIndexOf", "forEach", "filter", "map", "some", "every", "copy"].forEach(function(a) { if (!Array[a]) { Array[a] = function(b) { return Array.prototype[a].apply(b, Array.prototype.slice.call(arguments, 1)) } } }) })(); if (!String.prototype.toQueryParams) { String.prototype.toQueryParams = function() { var f = {}; var g = this.split("&"); var d = /([^=]*)=(.*)/; for (var b = 0; b < g.length; b++) { var a = d.exec(g[b]); if (!a) { continue } var c = decodeURIComponent(a[1]); var e = a[2] ? decodeURIComponent(a[2]) : undefined; if (f[c] !== undefined) { if (f[c].constructor != Array) { f[c] = [f[c]] } if (e) { f[c].push(e) } } else { f[c] = e } } return f } } if (!String.prototype.trim) { String.prototype.trim = function() { var a = /^\s+|\s+$/g; return function() { return this.replace(a, "") } } () } if (!String.prototype.replaceAll) { String.prototype.replaceAll = function(b, a) { return this.replace(new RegExp(b, "gm"), a) } } Math.randomInt = function(a) { return Math.floor(Math.random() * (a + 1)) }; $D = YAHOO.util.Dom; $E = YAHOO.util.Event; $ = $D.get; _prev_TB = window.TB; TB = YAHOO.namespace("TB"); if (_prev_TB) { YAHOO.lang.augmentObject(TB, _prev_TB) } TB.namespace = function() { var a = Array.prototype.slice.call(arguments, 0), b; for (b = 0; b < a.length; ++b) { if (a[b].indexOf("TB") != 0) { a[b] = "TB." + a[b] } } return YAHOO.namespace.apply(null, a) }; TB.namespace("env"); TB.env = { hostname: "taobao.com", debug: false, yuipath: "http://a.tbcdn.cn/yui/2.7.0/", lang: "zh-cn" }; TB.namespace("locale"); TB.locale = { Messages: {}, getMessage: function(a) { return TB.locale.Messages[a] || a }, setMessage: function(a, b) { TB.locale.Messages[a] = b } }; $M = TB.locale.getMessage; TB.trace = function(a) { if (!TB.env.debug) { return } if (window.console) { window.console.debug(a) } else { alert(a) } }; TB.init = function() { this.namespace("widget", "dom", "bom", "util", "form", "anim"); if (location.hostname.indexOf("taobao.com") == -1) { TB.env.hostname = location.hostname; TB.env.debug = true } var a = document.getElementsByTagName("script"); var c = /tbra(?:[\w\.\-]*?)\.js(?:$|\?(.*))/; var e; for (var b = 0; b < a.length; ++b) { if (e = c.exec(a[b].src)) { TB.env.path = a[b].src.substring(0, e.index); if (e[1]) { var d = e[1].toQueryParams(); for (n in d) { if (n == "t" || n == "timestamp") { TB.env.timestamp = parseInt(d[n]); continue } TB.env[n] = d[n] } } } } YAHOO.util.Get.css(TB.env.path + "assets/tbra.css" + (TB.env.timestamp ? "?t=" + TB.env.timestamp + ".css" : "")) }; TB.init(); TB.common = { trim: function(a) { return a.replace(/(^\s*)|(\s*$)/g, "") }, escapeHTML: function(b) { var c = document.createElement("div"); var a = document.createTextNode(b); c.appendChild(a); return c.innerHTML }, unescapeHTML: function(a) { var b = document.createElement("div"); b.innerHTML = a.replace(/<\/?[^>]+>/gi, ""); return b.childNodes[0] ? b.childNodes[0].nodeValue : "" }, stripTags: function(a) { return a.replace(/<\/?[^>]+>/gi, "") }, toArray: function(b, d) { var c = []; for (var a = d || 0; a < b.length; a++) { c[c.length] = b[a] } return c }, applyIf: function(c, a) { if (c && a && typeof a == "object") { for (var b in a) { if (!YAHOO.lang.hasOwnProperty(c, b)) { c[b] = a[b] } } } return c }, apply: function(c, a) { if (c && a && typeof a == "object") { for (var b in a) { c[b] = a[b] } } return c }, formatMessage: function(d, a, b) { var c = /\{([\w-]+)?\}/g; return function(g, e, f) { return g.replace(c, function(h, i) { return f ? f(e[i], i) : e[i] }) } } (), parseUri: (function() { var b = ["source", "prePath", "scheme", "username", "password", "host", "port", "path", "dir", "file", "query", "fragment"]; var a = /^((?:([^:\/?#.]+):)?(?:\/\/)?(?:([^:@]*):?([^:@]*)?@)?([^:\/?#]*)(?::(\d*))?)((\/(?:[^?#](?![^?#\/]*\.[^?#\/.]+(?:[?#]|$)))*\/?)?([^?#\/]*))(?:\?([^#]*))?(?:#(.*))?/; return function(f) { var e = {}; var c = a.exec(f); for (var d = 0; d < c.length; ++d) { e[b[d]] = (c[d] ? c[d] : "") } return e } })() }; TB.applyIf = TB.common.applyIf; TB.apply = TB.common.apply; TB.locale.Messages = { loading: "\u52a0\u8f7d\u4e2d...", pleaseWait: "\u6b63\u5728\u5904\u7406\uff0c\u8bf7\u7a0d\u5019...", ajaxError: "\u5bf9\u4e0d\u8d77\uff0c\u53ef\u80fd\u56e0\u4e3a\u7f51\u7edc\u6545\u969c\u5bfc\u81f4\u7cfb\u7edf\u53d1\u751f\u5f02\u5e38\u9519\u8bef\uff01", prevPageText: "\u4e0a\u4e00\u9875", nextPageText: "\u4e0b\u4e00\u9875", year: "\u5e74", month: "\u6708", day: "\u5929", hour: "\u5c0f\u65f6", minute: "\u5206\u949f", second: "\u79d2", timeoutText: "\u65f6\u95f4\u5230" }; (function() { var e = navigator.userAgent.toLowerCase(); var b = e.indexOf("opera") != -1, g = e.indexOf("safari") != -1, a = !b && !g && e.indexOf("gecko") > -1, c = !b && e.indexOf("msie") != -1, f = !b && e.indexOf("msie 6") != -1, d = !b && e.indexOf("msie 7") != -1; TB.bom = { isOpera: b, isSafari: g, isGecko: a, isIE: c, isIE6: f, isIE7: d, getCookie: function(h) { var i = document.cookie.match("(?:^|;)\\s*" + h + "=([^;]*)"); return i ? unescape(i[1]) : "" }, setCookie: function(j, l, h, k, m) { l = escape(l); l += (k) ? "; domain=" + k : ""; l += (m) ? "; path=" + m : ""; if (h) { var i = new Date(); i.setTime(i.getTime() + (h * 86400000)); l += "; expires=" + i.toGMTString() } document.cookie = j + "=" + l }, removeCookie: function(h) { this.setCookie(h, "", -1) }, pickDocumentDomain: function() { var k = arguments[1] || location.hostname; var j = k.split("."), h = j.length; var i = arguments[0] || (h < 3 ? 0 : 1); if (i >= h || h - i < 2) { i = h - 2 } return j.slice(i).join(".") }, addBookmark: function(i, h) { if (window.sidebar) { window.sidebar.addPanel(i, h, "") } else { if (window.external) { window.external.AddFavorite(h, i) } else { } } } } })(); TB.dom = { insertAfter: function(b, a) { return YAHOO.util.Dom.insertAfter(b, a) }, getAncestorByTagName: function(b, a) { return YAHOO.util.Dom.getAncestorByTagName(b, a) }, getAncestorByClassName: function(b, a) { return YAHOO.util.Dom.getAncestorByClassName(b, a) }, getNextSibling: function(a) { return YAHOO.util.Dom.getNextSibling(a) }, getPreviousSibling: function(a) { return YAHOO.util.Dom.getPreviousSibling(a) }, getFieldLabelHtml: function(e, d) { var b = YAHOO.util.Dom.get(e), f = (d || b.parentNode).getElementsByTagName("label"); for (var c = 0; c < f.length; c++) { var a = f[c].htmlFor || f[c].getAttribute("for"); if (a == b.id) { return f[c].innerHTML } } return null }, getIframeDocument: function(b) { var a = YAHOO.util.Dom.get(b); return a.contentWindow ? a.contentWindow.document : a.contentDocument }, setFormAction: function(e, c) { e = YAHOO.util.Dom.get(e); var b = e.elements.action; var d; if (b) { var a = e.removeChild(b); d = function() { e.appendChild(a) } } e.action = c; if (d) { d() } return true }, addCSS: function(a, c) { c = c || document; var b = c.createElement("style"); b.type = "text/css"; c.getElementsByTagName("head")[0].appendChild(b); if (b.styleSheet) { b.styleSheet.cssText = a } else { b.appendChild(c.createTextNode(a)) } }, getScriptParams: function(c) { var f = /\?(.*?)($|\.js)/; var b; if (YAHOO.lang.isObject(c) && c.tagName && c.tagName.toLowerCase() == "script") { if (c.src && (b = c.src.match(f))) { return b[1].toQueryParams() } } else { if (YAHOO.lang.isString(c)) { c = new RegExp(c, "i") } var a = document.getElementsByTagName("script"); var g, e; for (var d = 0; d < a.length; ++d) { e = a[d].src; if (e && c.test(e) && (b = e.match(f))) { return b[1].toQueryParams() } } } } }; TB.util.Indicator = new function() { var e = YAHOO.util, a = e.Dom, c = e.Lang; var b = { message: "loading", useShim: false, useIFrame: false, centerIndicator: true }; var d = function(g, f) { var i = document.createElement("div"); i.className = "tb-indic-shim"; a.setStyle(i, "display", "none"); g.parentNode.insertBefore(i, g); if (f) { var h = document.createElement("iframe"); h.setAttribute("frameBorder", 0); h.className = "tb-indic-shim-iframe"; g.parentNode.insertBefore(h, g) } return i }; this.attach = function(i, g) { i = a.get(i); g = c.merge(b, g || {}); var f = document.createElement("div"); f.className = "tb-indic"; a.setStyle(f, "display", "none"); a.setStyle(f, "position", "static"); f.innerHTML = "<span>" + $M(g.message) + "</span>"; if (g.useShim) { var j = d(i, g.useIFrame); j.appendChild(f) } else { i.parentNode.insertBefore(f, i) } var h = {}; h.show = function(l) { if (g.useShim) { var k = a.getRegion(i); var o = f.parentNode; a.setStyle(o, "display", "block"); a.setXY(o, [k[0], k[1]]); a.setStyle(o, "width", (k.right - k.left) + "px"); a.setStyle(o, "height", (k.bottom - k.top) + "px"); if (g.useIFrame) { var m = o.nextSibling; a.setStyle(m, "width", (k.right - k.left) + "px"); a.setStyle(m, "height", (k.bottom - k.top) + "px"); a.setStyle(m, "display", "block") } a.setStyle(f, "display", "block"); a.setStyle(f, "position", "absolute"); if (g.centerIndicator) { a.setStyle(f, "top", "50%"); a.setStyle(f, "left", "50%"); f.style.marginTop = -(f.offsetHeight / 2) + "px"; f.style.marginLeft = -(f.offsetWidth / 2) + "px" } } else { a.setStyle(f, "display", ""); if (l) { a.setStyle(f, "position", "absolute"); a.setXY(f, l) } } }; h.hide = function() { if (g.useShim) { var l = f.parentNode; a.setStyle(f, "display", "none"); a.setStyle(l, "display", "none"); if (g.useIFrame) { a.setStyle(f.parentNode.nextSibling, "display", "none") } try { if (g.useIFrame) { l.parentNode.removeChild(l.nextSibling) } l.parentNode.removeChild(l) } catch (k) { } } else { a.setStyle(f, "display", "none"); try { f.parentNode.removeChild(f) } catch (k) { } } }; return h } }; var TB = TB || {}; TB.util = TB.util || {}; TB.util.SecurityUtil = (function() { var b = "0123456789ABCDEF"; function a(f) { var e = b.substr(f & 15, 1); while (f > 15) { f >>= 4; e = b.substr(f & 15, 1) + e } return e } function c(d) { return (d >= 97 && d <= 122) || (d >= 65 && d <= 90) || (d >= 48 && d <= 57) || d == 32 || d == 44 || d == 46 } return { version: "1.2", encodeHTML: function(g) { if (!g) { return g } var e = ""; for (var f = 0, d = g.length; f < d; ++f) { var h = g.charCodeAt(f); if (c(h)) { e += g.charAt(f) } else { e += "&#" + h + ";" } } return e }, encodeJS: function(h) { if (!h) { return h } var e = "", g; for (var f = 0, d = h.length; f < d; ++f) { var j = h.charCodeAt(f); if (c(j)) { e += h.charAt(f) } else { if (j <= 127) { g = a(j); if (g.length < 2) { g = "0" + g } e += "\\x" + g } else { g = a(j); while (g.length < 4) { g = "0" + g } e += "\\u" + g } } } return e }, secureURI: function(e) { var d = e.toLowerCase(); if (d.indexOf("http://") == 0 || d.indexOf("https://") == 0 || d.indexOf("/") == 0 || d.indexOf("./") == 0) { return e } return "./" + e } } })(); TB.widget.SimplePopup = new function() { var b = YAHOO.util, d = b.Dom, j = b.Event, f = b.Lang; var h = { position: "right", align: "top", autoFit: true, eventType: "mouse", delay: 0.1, disableClick: true, width: 200, height: 200 }; var i = function(k) { var l = j.getTarget(k); if (i._target == l) { this.popup.style.display == "block" ? this.hide() : this.show() } else { this.show() } j.preventDefault(k); i._target = l }; var a = function(l) { clearTimeout(this._popupHideTimeId); var k = this; this._popupShowTimeId = setTimeout(function() { k.show() }, this.config.delay * 1000); if (this.config.disableClick && !this.trigger.onclick) { this.trigger.onclick = function(m) { j.preventDefault(j.getEvent(m)) } } }; var g = function(k) { clearTimeout(this._popupShowTimeId); var l = j.getRelatedTarget(k); if (this.popup != l && !d.isAncestor(this.popup, l)) { this.delayHide() } j.preventDefault(k) }; var e = function(m) { var o = this.currentHandle ? this.currentHandle : this; if (this._handles) { for (var l = 0, k = this._handles; l < k.length; ++l) { clearTimeout(k[l]._popupHideTimeId) } } else { clearTimeout(o._popupHideTimeId) } }; var c = function(k) { var l = this.currentHandle ? this.currentHandle : this, m = j.getRelatedTarget(k); if (l.popup != m && !d.isAncestor(l.popup, m)) { l.delayHide() } }; this.decorate = function(m, k, o) { if (f.isArray(m) || (f.isObject(m) && m.length)) { o.shareSinglePopup = true; var q = {}; q._handles = []; for (var p = 0; p < m.length; p++) { var r = this.decorate(m[p], k, o); r._beforeShow = function() { q.currentHandle = this; return true }; q._handles[p] = r } if (o.eventType == "mouse") { j.on(k, "mouseover", e, q, true); j.on(k, "mouseout", c, q, true) } return q } m = d.get(m); k = d.get(k); if (!m || !k) { return } o = f.merge(h, o || {}); var t = {}; t._popupShowTimeId = null; t._popupHideTimeId = null; t._beforeShow = function() { return true }; var l = new b.CustomEvent("onShow", t, false, b.CustomEvent.FLAT); if (o.onShow) { l.subscribe(o.onShow) } var s = new b.CustomEvent("onHide", t, false, b.CustomEvent.FLAT); if (o.onHide) { s.subscribe(o.onHide) } if (o.eventType == "mouse") { j.on(m, "mouseover", a, t, true); j.on(m, "mouseout", g, t, true); if (!o.shareSinglePopup) { j.on(k, "mouseover", e, t, true); j.on(k, "mouseout", c, t, true) } } else { if (o.eventType == "click") { j.on(m, "click", i, t, true) } } f.augmentObject(t, { popup: k, trigger: m, config: o, show: function() { if (!this._beforeShow()) { return } var C = d.getXY(this.trigger); if (f.isArray(this.config.offset)) { C[0] += parseInt(this.config.offset[0]); C[1] += parseInt(this.config.offset[1]) } var z = this.trigger.offsetWidth, v = this.trigger.offsetHeight, D = o.width, A = o.height, u = d.getViewportWidth(), B = d.getViewportHeight(), x = d.getDocumentScrollLeft(), F = d.getDocumentScrollTop(), w = C[0], E = C[1]; if (o.position == "left") { w = C[0] - D; E = (o.align == "center") ? (E - A / 2 + v / 2) : (o.align == "bottom") ? (E + v - A) : E } else { if (o.position == "right") { w = C[0] + z; E = (o.align == "center") ? (E - A / 2 + v / 2) : (o.align == "bottom") ? (E + v - A) : E } else { if (o.position == "bottom") { E = E + v; w = (o.align == "center") ? (w + z / 2 - D / 2) : (o.align == "right") ? (w + z - D) : w } else { if (o.position == "top") { E = E - A; w = (o.align == "center") ? (w + z / 2 - D / 2) : (o.align == "right") ? (w + z - D) : w } } } } if (E < 0) { E = 0 } if (w < 0) { w = 0 } if (this.config.autoFit) { if (E - F + A > B) { E = B - A + F - 2; if (E < 0) { E = 0 } } } this.popup.style.position = "absolute"; this.popup.style.top = E + "px"; this.popup.style.left = w + "px"; if (this.config.effect) { if (this.config.effect == "fade") { d.setStyle(this.popup, "opacity", 0); this.popup.style.display = "block"; var y = new b.Anim(this.popup, { opacity: { to: 1} }, 0.4); y.animate() } } else { this.popup.style.display = "block" } l.fire() }, hide: function() { d.setStyle(this.popup, "display", "none"); s.fire() }, delayHide: function() { var u = this; this._popupHideTimeId = setTimeout(function() { u.hide() }, this.config.delay * 1000) } }, true); d.setStyle(k, "display", "none"); return t } }; var TB = TB || {}; (function() { var h = YAHOO.util, e = h.Dom, b = h.Event, f = YAHOO.lang; var d = document.getElementsByTagName("head")[0]; var g = YAHOO.env.ua.ie, c = (g === 6); var a = { containerClassName: "suggest-container", containerWidth: "auto", keyElClassName: "suggest-key", resultElClassName: "suggest-result", resultFormat: "\u7ea6%result%\u6761\u7ed3\u679c", selectedItemClassName: "selected", bottomClassName: "suggest-bottom", showCloseBtn: false, closeBtnText: "\u5173\u95ed", closeBtnClassName: "suggest-close-btn", useShim: c, shimClassName: "suggest-shim", styleElId: "J_SuggestStyle", timerDelay: 200, autoFocus: false, submitFormOnClickSelect: true }; TB.Suggest = function(j, k, i) { this.textInput = e.get(j); this.dataSource = k; this.JSONDataSource = f.isObject(k) ? k : null; this.returnedData = null; this.config = f.merge(a, i || {}); this.container = null; this.query = ""; this.queryParams = ""; this._timer = null; this._isRunning = false; this.dataScript = null; this._dataCache = {}; this._latestScriptTime = ""; this._scriptDataIsOut = false; this._onKeyboardSelecting = false; this.selectedItem = null; this._init() }; TB.Suggest.prototype = { _init: function() { this._initTextInput(); this._initContainer(); if (this.config.useShim) { this._initShim() } this._initStyle(); this.createEvent("beforeDataRequest"); this.createEvent("onDataReturn"); this.createEvent("beforeShow"); this.createEvent("onItemSelect"); this._initResizeEvent() }, _initTextInput: function() { var i = this; this.textInput.setAttribute("autocomplete", "off"); b.on(this.textInput, "focus", function() { i.start() }); b.on(this.textInput, "blur", function() { i.stop(); i.hide() }); if (this.config.autoFocus) { this.textInput.focus() } var j = 0; b.on(this.textInput, "keydown", function(k) { var l = k.charCode || k.keyCode; switch (l) { case 27: i.hide(); i.textInput.value = i.query; break; case 13: i.textInput.blur(); if (i._onKeyboardSelecting) { if (i.textInput.value == i._getSelectedItemKey()) { i.fireEvent("onItemSelect", i.textInput.value) } } i._submitForm(); break; case 40: case 38: if (j++ == 0) { if (i._isRunning) { i.stop() } i._onKeyboardSelecting = true; i.selectItem(l == 40) } else { if (j == 3) { j = 0 } } break } if (l != 40 && l != 38) { if (!i._isRunning) { i.start() } i._onKeyboardSelecting = false } }); b.on(this.textInput, "keyup", function() { j = 0 }) }, _initContainer: function() { var i = document.createElement("div"); i.className = this.config.containerClassName; i.style.position = "absolute"; i.style.visibility = "hidden"; this.container = i; this._setContainerRegion(); this._initContainerEvent(); document.body.insertBefore(i, document.body.firstChild) }, _setContainerRegion: function() { var k = e.getRegion(this.textInput); var l = k.left, i = k.right - l - 2; i = i > 0 ? i : 0; var j = document.documentMode; if (j === 7 && (g === 7 || g === 8)) { l -= 2 } else { if (YAHOO.env.ua.gecko) { l++ } } this.container.style.left = l + "px"; this.container.style.top = k.bottom + "px"; if (this.config.containerWidth == "auto") { this.container.style.width = i + "px" } else { this.container.style.width = this.config.containerWidth } }, _initContainerEvent: function() { var i = this; b.on(this.container, "mousemove", function(k) { var l = b.getTarget(k); if (l.nodeName != "LI") { l = e.getAncestorByTagName(l, "li") } if (e.isAncestor(i.container, l)) { if (l != i.selectedItem) { i._removeSelectedItem(); i._setSelectedItem(l) } } }); var j = null; this.container.onmousedown = function(k) { k = k || window.event; j = k.target || k.srcElement; i.textInput.onbeforedeactivate = function() { window.event.returnValue = false; i.textInput.onbeforedeactivate = null }; return false }; b.on(this.container, "mouseup", function(k) { if (!i._isInContainer(b.getXY(k))) { return } var l = b.getTarget(k); if (l != j) { return } if (l.className == i.config.closeBtnClassName) { i.hide(); return } if (l.nodeName != "LI") { l = e.getAncestorByTagName(l, "li") } if (e.isAncestor(i.container, l)) { i._updateInputFromSelectItem(l); i.fireEvent("onItemSelect", i.textInput.value); i.textInput.blur(); i._submitForm() } }) }, _submitForm: function() { if (this.config.submitFormOnClickSelect) { var j = this.textInput.form; if (!j) { return } if (document.createEvent) { var i = document.createEvent("MouseEvents"); i.initEvent("submit", true, false); j.dispatchEvent(i) } else { if (document.createEventObject) { j.fireEvent("onsubmit") } } j.submit() } }, _isInContainer: function(j) { var i = e.getRegion(this.container); return j[0] >= i.left && j[0] <= i.right && j[1] >= i.top && j[1] <= i.bottom }, _initShim: function() { var i = document.createElement("iframe"); i.src = "about:blank"; i.className = this.config.shimClassName; i.style.position = "absolute"; i.style.visibility = "hidden"; i.style.border = "none"; this.container.shim = i; this._setShimRegion(); document.body.insertBefore(i, document.body.firstChild) }, _setShimRegion: function() { var i = this.container, j = i.shim; if (j) { j.style.left = (parseInt(i.style.left) - 2) + "px"; j.style.top = i.style.top; j.style.width = (parseInt(i.style.width) + 2) + "px" } }, _initStyle: function() { var j = document.getElementById(this.config.styleElId); if (j) { return } var i = ".suggest-container{background:white;border:1px solid #91A8B4;z-index:100001}"; i += ".suggest-shim{z-index:100000}"; i += ".suggest-container li{color:#404040;padding:1px 0 2px;font-size:12px;line-height:18px;float:left;width:100%}"; i += ".suggest-container li.selected{background-color:#D5E2FF;cursor:default}"; i += ".suggest-key{float:left;text-align:left;padding-left:5px}"; i += ".suggest-result{float:right;text-align:right;padding-right:5px;color:green}"; i += ".suggest-container li.selected span{color:#240055;cursor:default}"; i += ".suggest-container li.selected .suggest-result{color:green}"; i += ".suggest-bottom{padding:0 5px 5px}"; i += ".suggest-close-btn{float:right}"; i += ".suggest-container li,.suggest-bottom{overflow:hidden;zoom:1;clear:both}"; i += ".suggest-container{*margin-left:2px;_margin-left:-2px;_margin-top:-3px}"; j = document.createElement("style"); j.id = this.config.styleElId; j.type = "text/css"; d.appendChild(j); if (j.styleSheet) { j.styleSheet.cssText = i } else { j.appendChild(document.createTextNode(i)) } }, _initResizeEvent: function() { var j = this, i; b.on(window, "resize", function() { if (i) { clearTimeout(i) } i = setTimeout(function() { j._setContainerRegion(); j._setShimRegion() }, 50) }) }, start: function() { TB.Suggest.focusInstance = this; var i = this; i._timer = setTimeout(function() { i.updateData(); i._timer = setTimeout(arguments.callee, i.config.timerDelay) }, i.config.timerDelay); this._isRunning = true }, stop: function() { TB.Suggest.focusInstance = null; clearTimeout(this._timer); this._isRunning = false }, show: function() { if (this.isVisible()) { return } var i = this.container, k = i.shim; i.style.visibility = ""; if (k) { if (!k.style.height) { var j = e.getRegion(i); k.style.height = (j.bottom - j.top - 2) + "px" } k.style.visibility = "" } }, hide: function() { if (!this.isVisible()) { return } var i = this.container, j = i.shim; if (j) { j.style.visibility = "hidden" } i.style.visibility = "hidden" }, isVisible: function() { return this.container.style.visibility != "hidden" }, updateData: function() { if (!this._needUpdate()) { return } this._updateQueryValueFromInput(); var i = this.query; if (!f.trim(i).length) { this._fillContainer(""); this.hide(); return } if (typeof this._dataCache[i] != "undefined") { this.returnedData = "using cache"; this._fillContainer(this._dataCache[i]); this._displayContainer() } else { if (this.JSONDataSource) { this.handleResponse(this.JSONDataSource[i]) } else { this.requestData() } } }, _needUpdate: function() { return this.textInput.value != this.query }, requestData: function() { if (!g) { this.dataScript = null } if (!this.dataScript) { var i = document.createElement("script"); i.type = "text/javascript"; i.charset = "utf-8"; d.insertBefore(i, d.firstChild); this.dataScript = i; if (!g) { var j = new Date().getTime(); this._latestScriptTime = j; i.setAttribute("time", j); b.on(i, "load", function() { this._scriptDataIsOut = i.getAttribute("time") != this._latestScriptTime }, this, true) } } this.queryParams = "q=" + encodeURIComponent(this.query) + "&code=utf-8&callback=TB.Suggest.callback"; this.fireEvent("beforeDataRequest", this.query); this.dataScript.src = this.dataSource + "?" + this.queryParams }, handleResponse: function(q) { if (this._scriptDataIsOut) { return } this.returnedData = q; this.fireEvent("onDataReturn", q); this.returnedData = this.formatData(this.returnedData); var o = ""; var l = this.returnedData.length; if (l > 0) { var p = document.createElement("ol"); for (var m = 0; m < l; ++m) { var k = this.returnedData[m]; var j = this.formatItem(k.key, k.result); j.setAttribute("key", k.key); p.appendChild(j) } o = p } this._fillContainer(o); if (l > 0) { this.appendBottom() } if (f.trim(this.container.innerHTML)) { this.fireEvent("beforeShow", this.container) } this._dataCache[this.query] = this.container.innerHTML; this._displayContainer() }, formatData: function(o) { var k = []; if (!o) { return k } if (f.isArray(o.result)) { o = o.result } var j = o.length; if (!j) { return k } var m; for (var l = 0; l < j; ++l) { m = o[l]; if (f.isString(m)) { k[l] = { key: m} } else { if (f.isArray(m) && m.length == 2) { k[l] = { key: m[0], result: m[1]} } else { k[l] = m } } } return k }, formatItem: function(k, j) { var i = document.createElement("li"); var m = document.createElement("span"); m.className = this.config.keyElClassName; m.appendChild(document.createTextNode(k)); i.appendChild(m); if (typeof j != "undefined") { var l = this.config.resultFormat.replace("%result%", j); if (f.trim(l)) { var o = document.createElement("span"); o.className = this.config.resultElClassName; o.appendChild(document.createTextNode(l)); i.appendChild(o) } } return i }, appendBottom: function() { var i = document.createElement("div"); i.className = this.config.bottomClassName; if (this.config.showCloseBtn) { var j = document.createElement("a"); j.href = "javascript: void(0)"; j.setAttribute("target", "_self"); j.className = this.config.closeBtnClassName; j.appendChild(document.createTextNode(this.config.closeBtnText)); i.appendChild(j) } if (f.trim(i.innerHTML)) { this.container.appendChild(i) } }, _fillContainer: function(i) { if (i.nodeType == 1) { this.container.innerHTML = ""; this.container.appendChild(i) } else { this.container.innerHTML = i } this.selectedItem = null }, _displayContainer: function() { if (f.trim(this.container.innerHTML)) { this.show() } else { this.hide() } }, selectItem: function(k) { var j = this.container.getElementsByTagName("li"); if (j.length == 0) { return } if (!this.isVisible()) { this.show() } var i; if (!this.selectedItem) { i = j[k ? 0 : j.length - 1] } else { i = e[k ? "getNextSibling" : "getPreviousSibling"](this.selectedItem); if (!i) { this.textInput.value = this.query } } this._removeSelectedItem(); if (i) { this._setSelectedItem(i); this._updateInputFromSelectItem() } }, _removeSelectedItem: function() { e.removeClass(this.selectedItem, this.config.selectedItemClassName); this.selectedItem = null }, _setSelectedItem: function(i) { e.addClass((i), this.config.selectedItemClassName); this.selectedItem = (i) }, _getSelectedItemKey: function() { if (!this.selectedItem) { return "" } return this.selectedItem.getAttribute("key") }, _updateQueryValueFromInput: function() { this.query = this.textInput.value }, _updateInputFromSelectItem: function() { this.textInput.value = this._getSelectedItemKey(this.selectedItem) } }; f.augmentProto(TB.Suggest, h.EventProvider); TB.Suggest.focusInstance = null; TB.Suggest.callback = function(i) { if (!TB.Suggest.focusInstance) { return } setTimeout(function() { TB.Suggest.focusInstance.handleResponse(i) }, 0) } })(); TB.widget.SimpleScroll = new function() { var Y = YAHOO.util, Dom = Y.Dom, Event = Y.Event, Lang = Y.Lang; var defConfig = { delay: 2, speed: 20, startDelay: 2, direction: "vertical", disableAutoPlay: false, distance: "auto", scrollItemCount: 1 }; this.decorate = function(container, config) { container = Dom.get(container); config = Lang.merge(defConfig, config || {}); var step = 2; if (config.speed < 20) { step = 5 } if (config.lineHeight) { config.distance = config.lineHeight } var scrollTimeId = null, startTimeId = null, startDelayTimeId = null; var isHorizontal = (config.direction.toLowerCase() == "horizontal") || (config.direction.toLowerCase() == "h"); var handle = {}; handle._distance = 0; handle.scrollable = true; handle.distance = config.distance; handle._distance = 0; handle.suspend = false; handle.paused = false; var _onScrollEvent = new Y.CustomEvent("_onScroll", handle, false, Y.CustomEvent.FLAT); _onScrollEvent.subscribe(function() { var curLi = container.getElementsByTagName("li")[0]; if (!curLi) { this.scrollable = false; return } this.distance = (config.distance == "auto") ? curLi[isHorizontal ? "offsetWidth" : "offsetHeight"] : config.distance; with (container) { if (isHorizontal) { this.scrollable = (scrollWidth - scrollLeft - offsetWidth) >= this.distance } else { this.scrollable = (scrollHeight - scrollTop - offsetHeight) >= this.distance } } }); var onScrollEvent = new Y.CustomEvent("onScroll", handle, false, Y.CustomEvent.FLAT); if (config.onScroll) { onScrollEvent.subscribe(config.onScroll) } else { onScrollEvent.subscribe(function() { for (var i = 0; i < config.scrollItemCount; i++) { container.appendChild(container.getElementsByTagName("li")[0]) } container[isHorizontal ? "scrollLeft" : "scrollTop"] = 0 }) } var scroll = function() { if (handle.suspend) { return } handle._distance += step; var _d; if ((_d = handle._distance % handle.distance) < step) { container[isHorizontal ? "scrollLeft" : "scrollTop"] += (step - _d); clearInterval(scrollTimeId); onScrollEvent.fire(); _onScrollEvent.fire(); startTimeId = null; if (handle.scrollable && !handle.paused) { handle.play() } } else { container[isHorizontal ? "scrollLeft" : "scrollTop"] += step } }; var start = function() { if (handle.paused) { return } handle._distance = 0; scrollTimeId = setInterval(scroll, config.speed) }; Event.on(container, "mouseover", function() { handle.suspend = true }); Event.on(container, "mouseout", function() { handle.suspend = false }); Lang.augmentObject(handle, { subscribeOnScroll: function(func, override) { if (override === true && onScrollEvent.subscribers.length > 0) { onScrollEvent.unsubscribeAll() } onScrollEvent.subscribe(func) }, pause: function() { this.paused = true; clearTimeout(startTimeId); startTimeId = null }, play: function() { this.paused = false; if (startDelayTimeId) { clearTimeout(startDelayTimeId) } if (!startTimeId) { startTimeId = setTimeout(start, config.delay * 1000) } } }); handle.onScroll = handle.subscribeOnScroll; _onScrollEvent.fire(); if (!config.disableAutoPlay) { startDelayTimeId = setTimeout(function() { handle.play() }, config.startDelay * 1000) } return handle } }; (function() { var e = YAHOO.util, c = e.Dom, b = e.Event, d = e.Lang; var a = function(f) { return f.replace(/<\/?[^>]+>/gi, "") }; TB.widget.Slide = function(f, g) { this.init(f, g) }; TB.widget.Slide.defConfig = { slidesClass: "Slides", triggersClass: "SlideTriggers", currentClass: "Current", eventType: "click", autoPlayTimeout: 5, disableAutoPlay: false }; TB.widget.Slide.prototype = { init: function(f, g) { this.container = c.get(f); this.config = d.merge(TB.widget.Slide.defConfig, g || {}); try { this.slidesUL = c.getElementsByClassName(this.config.slidesClass, "ul", this.container)[0]; if (!this.slidesUL) { this.slidesUL = c.getFirstChild(this.container, function(i) { return i.tagName.toLowerCase === "ul" }) } this.slides = c.getChildren(this.slidesUL); if (this.slides.length == 0) { throw new Error() } } catch (h) { throw new Error("can't find slides!") } this.delayTimeId = null; this.autoPlayTimeId = null; this.curSlide = -1; this.sliding = false; this.pause = false; this.onSlide = new e.CustomEvent("onSlide", this, false, e.CustomEvent.FLAT); if (d.isFunction(this.config.onSlide)) { this.onSlide.subscribe(this.config.onSlide, this, true) } this.beforeSlide = new e.CustomEvent("beforeSlide", this, false, e.CustomEvent.FLAT); if (d.isFunction(this.config.beforeSlide)) { this.beforeSlide.subscribe(this.config.beforeSlide, this, true) } c.addClass(this.container, "tb-slide"); c.addClass(this.slidesUL, "tb-slide-list"); c.setStyle(this.slidesUL, "height", (this.config.slideHeight || this.container.offsetHeight) + "px"); this.initSlides(); this.initTriggers(); if (this.slides.length > 0) { this.play(1) } if (!this.config.disableAutoPlay) { this.autoPlay() } if (d.isFunction(this.config.onInit)) { this.config.onInit.call(this) } }, initTriggers: function() { var h = document.createElement("ul"); this.container.appendChild(h); for (var g = 0; g < this.slides.length; g++) { var f = document.createElement("li"); f.innerHTML = g + 1; h.appendChild(f) } c.addClass(h, this.config.triggersClass); this.triggersUL = h; if (this.config.eventType == "mouse") { b.on(this.triggersUL, "mouseover", this.mouseHandler, this, true); b.on(this.triggersUL, "mouseout", function(i) { clearTimeout(this.delayTimeId); this.pause = false }, this, true) } else { b.on(this.triggersUL, "click", this.clickHandler, this, true) } }, initSlides: function() { b.on(this.slides, "mouseover", function() { this.pause = true }, this, true); b.on(this.slides, "mouseout", function() { this.pause = false }, this, true); c.setStyle(this.slides, "display", "none") }, clickHandler: function(h) { var g = b.getTarget(h); var f = parseInt(a(g.innerHTML)); while (g != this.container) { if (g.nodeName.toUpperCase() == "LI") { if (!this.sliding) { this.play(f, true) } break } else { g = g.parentNode } } }, mouseHandler: function(i) { var h = b.getTarget(i); var f = parseInt(a(h.innerHTML)); while (h != this.container) { if (h.nodeName.toUpperCase() == "LI") { var g = this; this.delayTimeId = setTimeout(function() { g.play(f, true); g.pause = true }, (g.sliding ? 0.5 : 0.1) * 1000); break } else { h = h.parentNode } } }, play: function(i, g) { i = i - 1; if (i == this.curSlide) { return } var f = this.curSlide >= 0 ? this.curSlide : 0; if (g && this.autoPlayTimeId) { clearInterval(this.autoPlayTimeId) } var h = this.triggersUL.getElementsByTagName("li"); h[f].className = ""; h[i].className = this.config.currentClass; this.beforeSlide.fire(i); this.slide(i); this.curSlide = i; if (g && !this.config.disableAutoPlay) { this.autoPlay() } }, slide: function(g) { var f = this.curSlide >= 0 ? this.curSlide : 0; this.sliding = true; c.setStyle(this.slides[f], "display", "none"); c.setStyle(this.slides[g], "display", "block"); this.sliding = false; this.onSlide.fire(g) }, autoPlay: function() { var f = this; var g = function() { if (!f.pause && !f.sliding) { var h = (f.curSlide + 1) % f.slides.length + 1; f.play(h, false) } }; this.autoPlayTimeId = setInterval(g, this.config.autoPlayTimeout * 1000) } }; TB.widget.ScrollSlide = function(f, g) { this.init(f, g) }; YAHOO.extend(TB.widget.ScrollSlide, TB.widget.Slide, { initSlides: function() { TB.widget.ScrollSlide.superclass.initSlides.call(this); c.setStyle(this.slides, "display", "") }, slide: function(i) { var f = this.curSlide >= 0 ? this.curSlide : 0; var g = { scroll: { by: [0, this.slidesUL.offsetHeight * (i - f)]} }; var h = new e.Scroll(this.slidesUL, g, 0.5, e.Easing.easeOutStrong); h.onComplete.subscribe(function() { this.sliding = false; this.onSlide.fire(i) }, this, true); h.animate(); this.sliding = true } }); TB.widget.FadeSlide = function(f, g) { this.init(f, g) }; YAHOO.extend(TB.widget.FadeSlide, TB.widget.Slide, { initSlides: function() { TB.widget.FadeSlide.superclass.initSlides.call(this); c.setStyle(this.slides, "position", "absolute"); c.setStyle(this.slides, "top", this.config.slideOffsetY || 0); c.setStyle(this.slides, "left", this.config.slideOffsetX || 0); c.setStyle(this.slides, "z-index", 1) }, slide: function(h) { if (this.curSlide == -1) { c.setStyle(this.slides[h], "display", "block"); this.onSlide.fire(h) } else { var f = this.slides[this.curSlide]; c.setStyle(f, "display", "block"); c.setStyle(f, "z-index", 10); var g = new e.Anim(f, { opacity: { to: 0} }, 0.5, e.Easing.easeNone); g.onComplete.subscribe(function() { c.setStyle(f, "z-index", 1); c.setStyle(f, "display", "none"); c.setStyle(f, "opacity", 1); this.sliding = false; this.onSlide.fire(h) }, this, true); c.setStyle(this.slides[h], "display", "block"); g.animate(); this.sliding = true } } }) })(); TB.widget.SimpleSlide = new function() { this.decorate = function(a, b) { if (!a) { return } b = b || {}; if (b.effect == "scroll") { if (YAHOO.env.ua.gecko) { if (YAHOO.util.Dom.get(a).getElementsByTagName("iframe").length > 0) { return new TB.widget.Slide(a, b) } } return new TB.widget.ScrollSlide(a, b) } else { if (b.effect == "fade") { return new TB.widget.FadeSlide(a, b) } else { return new TB.widget.Slide(a, b) } } } }; TB.widget.SimpleTab = new function() { var e = YAHOO.util, b = e.Dom, a = e.Event, d = e.Lang; var c = { eventType: "click", currentClass: "Current", tabClass: "", tabPanelClass: "", autoSwitchToFirst: true, stopEvent: true, delay: 0.1 }; this.decorate = function(f, i) { f = b.get(f); i = d.merge(c, i || {}); var m = {}, h, o, g, k, q; h = b.getFirstChild(f); g = h.getElementsByTagName("li"); if (i.tabClass) { k = b.getElementsByClassName(i.tabClass, "*", f) } else { k = Array.copy(h.getElementsByTagName("a")) } if (i.tabPanelClass) { o = b.getElementsByClassName(i.tabPanelClass, "*", f) } else { o = b.getChildren(f).slice(1) } var r = new e.CustomEvent("onSwitch", null, false, e.CustomEvent.FLAT); if (i.onSwitch) { r.subscribe(i.onSwitch) } var l = function(t) { if (q) { p() } var s = k.indexOf(this); m.switchTab(s); if (i.stopEvent) { try { a.preventDefault(t) } catch (u) { } } return !i.stopEvent }; var j = function(s) { var t = this; q = setTimeout(function() { l.call(t, s) }, i.delay * 1000); if (i.stopEvent) { a.preventDefault(s) } return !i.stopEvent }; var p = function() { clearTimeout(q) }; if (i.eventType == "mouse") { a.on(k, "focus", l); a.on(k, "mouseover", i.delay ? j : l); a.on(k, "mouseout", p) } a.on(k, "click", l); d.augmentObject(m, { switchTab: function(s) { b.setStyle(o, "display", "none"); b.removeClass(g, i.currentClass); b.addClass(g[s], i.currentClass); b.setStyle(o[s], "display", "block"); r.fire(s) }, subscribeOnSwitch: function(s) { r.subscribe(s) } }, true); m.onSwitch = m.subscribeOnSwitch; b.setStyle(o, "display", "none"); if (i.autoSwitchToFirst) { m.switchTab(0) } return m } }; TB.widget.InputHint = new function() { var g = YAHOO.util, c = g.Dom, a = g.Event, e = g.Lang; var d = { hintMessage: "", hintClass: "tb-input-hint", appearOnce: false }; var h = /^\s*$/; var b = function(i, j) { if (!j.disabled) { j.disappear() } }; var f = function(i, j) { if (!j.disabled) { j.appear() } }; this.decorate = function(i, j) { i = c.get(i); j = e.merge(d, j || {}); var l = j.hintMessage || i.title; var k = {}; k.disabled = false; k.disappear = function() { if (l == i.value) { i.value = ""; c.removeClass(i, j.hintClass) } }; k.appear = function() { if (h.test(i.value) || l == i.value) { c.addClass(i, j.hintClass); i.value = l } }; k.purge = function() { this.disappear(); a.removeListener(i, "focus", b); a.removeListener(i, "drop", b); a.removeListener(i, "blur", f) }; if (!i.title) { i.setAttribute("title", l) } a.on(i, "focus", b, k); a.on(i, "drop", b, k); if (!j.appearOnce) { a.on(i, "blur", f, k) } k.appear(); return k } };