/*
Copyright (c) 2007, Yahoo! Inc. All rights reserved.
Code licensed under the BSD License: http://developer.yahoo.net/yui/license.txt
version: 2.4.1

Note: This file includes yahoo, dom, event, and anim

*/
if (typeof YAHOO == "undefined" || !YAHOO) { var YAHOO = {}; } YAHOO.namespace = function() { var A = arguments, E = null, C, B, D; for (C = 0; C < A.length; C = C + 1) { D = A[C].split("."); E = YAHOO; for (B = (D[0] == "YAHOO") ? 1 : 0; B < D.length; B = B + 1) { E[D[B]] = E[D[B]] || {}; E = E[D[B]]; } } return E; }; 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, E, D) { var I = YAHOO.env.modules; if (!I[A]) { I[A] = { versions: [], builds: [] }; } var B = I[A], H = D.version, G = D.build, F = YAHOO.env.listeners; B.name = A; B.version = H; B.build = G; B.versions.push(H); B.builds.push(G); B.mainClass = E; for (var C = 0; C < F.length; C = C + 1) { F[C](B); } if (E) { E.VERSION = H; E.BUILD = G; } 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 }; var 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]; } } } 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]); } } } } } 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 || { isArray: function(B) { if (B) { var A = YAHOO.lang; return A.isNumber(B.length) && A.isFunction(B.splice); } return false; }, isBoolean: function(A) { return typeof A === "boolean"; }, isFunction: function(A) { return typeof A === "function"; }, isNull: function(A) { return A === null; }, isNumber: function(A) { return typeof A === "number" && isFinite(A); }, isObject: function(A) { return (A && (typeof A === "object" || YAHOO.lang.isFunction(A))) || false; }, isString: function(A) { return typeof A === "string"; }, isUndefined: function(A) { return typeof A === "undefined"; }, hasOwnProperty: function(A, B) { if (Object.prototype.hasOwnProperty) { return A.hasOwnProperty(B); } return !YAHOO.lang.isUndefined(A[B]) && A.constructor.prototype[B] !== A[B]; }, _IEEnumFix: function(C, B) { if (YAHOO.env.ua.ie) { var E = ["toString", "valueOf"], A; for (A = 0; A < E.length; A = A + 1) { var F = E[A], D = B[F]; if (YAHOO.lang.isFunction(D) && D != Object.prototype[F]) { C[F] = D; } } } }, extend: function(D, E, C) { if (!E || !D) { throw new Error("YAHOO.lang.extend failed, please check that all dependencies are included."); } var B = function() { }; B.prototype = E.prototype; D.prototype = new B(); D.prototype.constructor = D; D.superclass = E.prototype; if (E.prototype.constructor == Object.prototype.constructor) { E.prototype.constructor = E; } if (C) { for (var A in C) { D.prototype[A] = C[A]; } YAHOO.lang._IEEnumFix(D.prototype, C); } }, augmentObject: function(E, D) { if (!D || !E) { throw new Error("Absorb failed, verify dependencies."); } var A = arguments, C, F, B = A[2]; if (B && B !== true) { for (C = 2; C < A.length; C = C + 1) { E[A[C]] = D[A[C]]; } } else { for (F in D) { if (B || !E[F]) { E[F] = D[F]; } } YAHOO.lang._IEEnumFix(E, D); } }, augmentProto: function(D, C) { if (!C || !D) { throw new Error("Augment failed, verify dependencies."); } var A = [D.prototype, C.prototype]; for (var B = 2; B < arguments.length; B = B + 1) { A.push(arguments[B]); } YAHOO.lang.augmentObject.apply(this, A); }, dump: function(A, G) { var C = YAHOO.lang, D, F, I = [], J = "{...}", B = "f(){...}", H = ", ", E = " => "; if (!C.isObject(A)) { return A + ""; } else { if (A instanceof Date || ("nodeType" in A && "tagName" in A)) { return A; } else { if (C.isFunction(A)) { return B; } } } G = (C.isNumber(G)) ? G : 3; if (C.isArray(A)) { I.push("["); for (D = 0, F = A.length; D < F; D = D + 1) { if (C.isObject(A[D])) { I.push((G > 0) ? C.dump(A[D], G - 1) : J); } else { I.push(A[D]); } I.push(H); } if (I.length > 1) { I.pop(); } I.push("]"); } else { I.push("{"); for (D in A) { if (C.hasOwnProperty(A, D)) { I.push(D + E); if (C.isObject(A[D])) { I.push((G > 0) ? C.dump(A[D], G - 1) : J); } else { I.push(A[D]); } I.push(H); } } if (I.length > 1) { I.pop(); } I.push("}"); } return I.join(""); }, substitute: function(Q, B, J) { var G, F, E, M, N, P, D = YAHOO.lang, L = [], C, H = "dump", K = " ", A = "{", O = "}"; for (; ; ) { G = Q.lastIndexOf(A); if (G < 0) { break; } F = Q.indexOf(O, G); if (G + 1 >= F) { break; } C = Q.substring(G + 1, F); M = C; P = null; E = M.indexOf(K); if (E > -1) { P = M.substring(E + 1); M = M.substring(0, E); } N = B[M]; if (J) { N = J(M, N, P); } if (D.isObject(N)) { if (D.isArray(N)) { N = D.dump(N, parseInt(P, 10)); } else { P = P || ""; var I = P.indexOf(H); if (I > -1) { P = P.substring(4); } if (N.toString === Object.prototype.toString || I > -1) { N = D.dump(N, parseInt(P, 10)); } else { N = N.toString(); } } } else { if (!D.isString(N) && !D.isNumber(N)) { N = "~-" + L.length + "-~"; L[L.length] = C; } } Q = Q.substring(0, G) + N + Q.substring(F + 1); } for (G = L.length - 1; G >= 0; G = G - 1) { Q = Q.replace(new RegExp("~-" + G + "-~"), "{" + L[G] + "}", "g"); } return Q; }, trim: function(A) { try { return A.replace(/^\s+|\s+$/g, ""); } catch (B) { return A; } }, merge: function() { var D = {}, B = arguments; for (var C = 0, A = B.length; C < A; C = C + 1) { YAHOO.lang.augmentObject(D, B[C], true); } return D; }, later: function(H, B, I, D, E) { H = H || 0; B = B || {}; var C = I, G = D, F, A; if (YAHOO.lang.isString(I)) { C = B[I]; } if (!C) { throw new TypeError("method undefined"); } if (!YAHOO.lang.isArray(G)) { G = [D]; } F = function() { C.apply(B, G); }; A = (E) ? setInterval(F, H) : setTimeout(F, H); return { interval: E, cancel: function() { if (this.interval) { clearInterval(A); } else { clearTimeout(A); } } }; }, isValue: function(B) { var A = YAHOO.lang; return (A.isObject(B) || A.isString(B) || A.isNumber(B) || A.isBoolean(B)); } }; YAHOO.util.Lang = YAHOO.lang; YAHOO.lang.augment = YAHOO.lang.augmentProto; YAHOO.augment = YAHOO.lang.augmentProto; YAHOO.extend = YAHOO.lang.extend; YAHOO.register("yahoo", YAHOO, { version: "2.4.1", build: "742" }); (function() {
    var B = YAHOO.util, L, J, H = 0, K = {}, F = {}, N = window.document; var C = YAHOO.env.ua.opera, M = YAHOO.env.ua.webkit, A = YAHOO.env.ua.gecko, G = YAHOO.env.ua.ie; var E = { HYPHEN: /(-[a-z])/i, ROOT_TAG: /^body|html$/i }; var O = function(Q) { if (!E.HYPHEN.test(Q)) { return Q; } if (K[Q]) { return K[Q]; } var R = Q; while (E.HYPHEN.exec(R)) { R = R.replace(RegExp.$1, RegExp.$1.substr(1).toUpperCase()); } K[Q] = R; return R; }; var P = function(R) { var Q = F[R]; if (!Q) { Q = new RegExp("(?:^|\\s+)" + R + "(?:\\s+|$)"); F[R] = Q; } return Q; }; if (N.defaultView && N.defaultView.getComputedStyle) { L = function(Q, T) { var S = null; if (T == "float") { T = "cssFloat"; } var R = N.defaultView.getComputedStyle(Q, ""); if (R) { S = R[O(T)]; } return Q.style[T] || S; }; } else { if (N.documentElement.currentStyle && G) { L = function(Q, S) { switch (O(S)) { case "opacity": var U = 100; try { U = Q.filters["DXImageTransform.Microsoft.Alpha"].opacity; } catch (T) { try { U = Q.filters("alpha").opacity; } catch (T) { } } return U / 100; case "float": S = "styleFloat"; default: var R = Q.currentStyle ? Q.currentStyle[S] : null; return (Q.style[S] || R); } }; } else { L = function(Q, R) { return Q.style[R]; }; } } if (G) { J = function(Q, R, S) { switch (R) { case "opacity": if (YAHOO.lang.isString(Q.style.filter)) { Q.style.filter = "alpha(opacity=" + S * 100 + ")"; if (!Q.currentStyle || !Q.currentStyle.hasLayout) { Q.style.zoom = 1; } } break; case "float": R = "styleFloat"; default: Q.style[R] = S; } }; } else { J = function(Q, R, S) { if (R == "float") { R = "cssFloat"; } Q.style[R] = S; }; } var D = function(Q, R) { return Q && Q.nodeType == 1 && (!R || R(Q)); }; YAHOO.util.Dom = { get: function(S) { if (S && (S.tagName || S.item)) { return S; } if (YAHOO.lang.isString(S) || !S) { return N.getElementById(S); } if (S.length !== undefined) { var T = []; for (var R = 0, Q = S.length; R < Q; ++R) { T[T.length] = B.Dom.get(S[R]); } return T; } return S; }, getStyle: function(Q, S) { S = O(S); var R = function(T) { return L(T, S); }; return B.Dom.batch(Q, R, B.Dom, true); }, setStyle: function(Q, S, T) { S = O(S); var R = function(U) { J(U, S, T); }; B.Dom.batch(Q, R, B.Dom, true); }, getXY: function(Q) { var R = function(S) { if ((S.parentNode === null || S.offsetParent === null || this.getStyle(S, "display") == "none") && S != S.ownerDocument.body) { return false; } return I(S); }; return B.Dom.batch(Q, R, B.Dom, true); }, getX: function(Q) { var R = function(S) { return B.Dom.getXY(S)[0]; }; return B.Dom.batch(Q, R, B.Dom, true); }, getY: function(Q) { var R = function(S) { return B.Dom.getXY(S)[1]; }; return B.Dom.batch(Q, R, B.Dom, true); }, setXY: function(Q, T, S) { var R = function(W) { var V = this.getStyle(W, "position"); if (V == "static") { this.setStyle(W, "position", "relative"); V = "relative"; } var Y = this.getXY(W); if (Y === false) { return false; } var X = [parseInt(this.getStyle(W, "left"), 10), parseInt(this.getStyle(W, "top"), 10)]; if (isNaN(X[0])) { X[0] = (V == "relative") ? 0 : W.offsetLeft; } if (isNaN(X[1])) { X[1] = (V == "relative") ? 0 : W.offsetTop; } if (T[0] !== null) { W.style.left = T[0] - Y[0] + X[0] + "px"; } if (T[1] !== null) { W.style.top = T[1] - Y[1] + X[1] + "px"; } if (!S) { var U = this.getXY(W); if ((T[0] !== null && U[0] != T[0]) || (T[1] !== null && U[1] != T[1])) { this.setXY(W, T, true); } } }; B.Dom.batch(Q, R, B.Dom, true); }, setX: function(R, Q) { B.Dom.setXY(R, [Q, null]); }, setY: function(Q, R) { B.Dom.setXY(Q, [null, R]); }, getRegion: function(Q) { var R = function(S) { if ((S.parentNode === null || S.offsetParent === null || this.getStyle(S, "display") == "none") && S != N.body) { return false; } var T = B.Region.getRegion(S); return T; }; return B.Dom.batch(Q, R, B.Dom, true); }, getClientWidth: function() { return B.Dom.getViewportWidth(); }, getClientHeight: function() { return B.Dom.getViewportHeight(); }, getElementsByClassName: function(U, Y, V, W) { Y = Y || "*"; V = (V) ? B.Dom.get(V) : null || N; if (!V) { return []; } var R = [], Q = V.getElementsByTagName(Y), X = P(U); for (var S = 0, T = Q.length; S < T; ++S) { if (X.test(Q[S].className)) { R[R.length] = Q[S]; if (W) { W.call(Q[S], Q[S]); } } } return R; }, hasClass: function(S, R) { var Q = P(R); var T = function(U) { return Q.test(U.className); }; return B.Dom.batch(S, T, B.Dom, true); }, addClass: function(R, Q) { var S = function(T) { if (this.hasClass(T, Q)) { return false; } T.className = YAHOO.lang.trim([T.className, Q].join(" ")); return true; }; return B.Dom.batch(R, S, B.Dom, true); }, removeClass: function(S, R) { var Q = P(R); var T = function(U) { if (!this.hasClass(U, R)) { return false; } var V = U.className; U.className = V.replace(Q, " "); if (this.hasClass(U, R)) { this.removeClass(U, R); } U.className = YAHOO.lang.trim(U.className); return true; }; return B.Dom.batch(S, T, B.Dom, true); }, replaceClass: function(T, R, Q) { if (!Q || R === Q) { return false; } var S = P(R); var U = function(V) { if (!this.hasClass(V, R)) { this.addClass(V, Q); return true; } V.className = V.className.replace(S, " " + Q + " "); if (this.hasClass(V, R)) { this.replaceClass(V, R, Q); } V.className = YAHOO.lang.trim(V.className); return true; }; return B.Dom.batch(T, U, B.Dom, true); }, generateId: function(Q, S) { S = S || "yui-gen"; var R = function(T) { if (T && T.id) { return T.id; } var U = S + H++; if (T) { T.id = U; } return U; }; return B.Dom.batch(Q, R, B.Dom, true) || R.apply(B.Dom, arguments); }, isAncestor: function(Q, R) { Q = B.Dom.get(Q); R = B.Dom.get(R); if (!Q || !R) { return false; } if (Q.contains && R.nodeType && !M) { return Q.contains(R); } else { if (Q.compareDocumentPosition && R.nodeType) { return !!(Q.compareDocumentPosition(R) & 16); } else { if (R.nodeType) { return !!this.getAncestorBy(R, function(S) { return S == Q; }); } } } return false; }, inDocument: function(Q) { return this.isAncestor(N.documentElement, Q); }, getElementsBy: function(X, R, S, U) { R = R || "*"; S = (S) ? B.Dom.get(S) : null || N; if (!S) { return []; } var T = [], W = S.getElementsByTagName(R); for (var V = 0, Q = W.length; V < Q; ++V) { if (X(W[V])) { T[T.length] = W[V]; if (U) { U(W[V]); } } } return T; }, batch: function(U, X, W, S) { U = (U && (U.tagName || U.item)) ? U : B.Dom.get(U); if (!U || !X) { return false; } var T = (S) ? W : window; if (U.tagName || U.length === undefined) { return X.call(T, U, W); } var V = []; for (var R = 0, Q = U.length; R < Q; ++R) { V[V.length] = X.call(T, U[R], W); } return V; }, getDocumentHeight: function() { var R = (N.compatMode != "CSS1Compat") ? N.body.scrollHeight : N.documentElement.scrollHeight; var Q = Math.max(R, B.Dom.getViewportHeight()); return Q; }, getDocumentWidth: function() { var R = (N.compatMode != "CSS1Compat") ? N.body.scrollWidth : N.documentElement.scrollWidth; var Q = Math.max(R, B.Dom.getViewportWidth()); return Q; }, getViewportHeight: function() {
        var Q = self.innerHeight; var R = N.compatMode; if ((R || G) && !C) {
            Q = (R == "CSS1Compat") ? N.documentElement.clientHeight : N.body.clientHeight;
        } return Q;
    }, getViewportWidth: function() { var Q = self.innerWidth; var R = N.compatMode; if (R || G) { Q = (R == "CSS1Compat") ? N.documentElement.clientWidth : N.body.clientWidth; } return Q; }, getAncestorBy: function(Q, R) { while (Q = Q.parentNode) { if (D(Q, R)) { return Q; } } return null; }, getAncestorByClassName: function(R, Q) { R = B.Dom.get(R); if (!R) { return null; } var S = function(T) { return B.Dom.hasClass(T, Q); }; return B.Dom.getAncestorBy(R, S); }, getAncestorByTagName: function(R, Q) { R = B.Dom.get(R); if (!R) { return null; } var S = function(T) { return T.tagName && T.tagName.toUpperCase() == Q.toUpperCase(); }; return B.Dom.getAncestorBy(R, S); }, getPreviousSiblingBy: function(Q, R) { while (Q) { Q = Q.previousSibling; if (D(Q, R)) { return Q; } } return null; }, getPreviousSibling: function(Q) { Q = B.Dom.get(Q); if (!Q) { return null; } return B.Dom.getPreviousSiblingBy(Q); }, getNextSiblingBy: function(Q, R) { while (Q) { Q = Q.nextSibling; if (D(Q, R)) { return Q; } } return null; }, getNextSibling: function(Q) { Q = B.Dom.get(Q); if (!Q) { return null; } return B.Dom.getNextSiblingBy(Q); }, getFirstChildBy: function(Q, S) { var R = (D(Q.firstChild, S)) ? Q.firstChild : null; return R || B.Dom.getNextSiblingBy(Q.firstChild, S); }, getFirstChild: function(Q, R) { Q = B.Dom.get(Q); if (!Q) { return null; } return B.Dom.getFirstChildBy(Q); }, getLastChildBy: function(Q, S) { if (!Q) { return null; } var R = (D(Q.lastChild, S)) ? Q.lastChild : null; return R || B.Dom.getPreviousSiblingBy(Q.lastChild, S); }, getLastChild: function(Q) { Q = B.Dom.get(Q); return B.Dom.getLastChildBy(Q); }, getChildrenBy: function(R, T) { var S = B.Dom.getFirstChildBy(R, T); var Q = S ? [S] : []; B.Dom.getNextSiblingBy(S, function(U) { if (!T || T(U)) { Q[Q.length] = U; } return false; }); return Q; }, getChildren: function(Q) { Q = B.Dom.get(Q); if (!Q) { } return B.Dom.getChildrenBy(Q); }, getDocumentScrollLeft: function(Q) { Q = Q || N; return Math.max(Q.documentElement.scrollLeft, Q.body.scrollLeft); }, getDocumentScrollTop: function(Q) { Q = Q || N; return Math.max(Q.documentElement.scrollTop, Q.body.scrollTop); }, insertBefore: function(R, Q) { R = B.Dom.get(R); Q = B.Dom.get(Q); if (!R || !Q || !Q.parentNode) { return null; } return Q.parentNode.insertBefore(R, Q); }, insertAfter: function(R, Q) { R = B.Dom.get(R); Q = B.Dom.get(Q); if (!R || !Q || !Q.parentNode) { return null; } if (Q.nextSibling) { return Q.parentNode.insertBefore(R, Q.nextSibling); } else { return Q.parentNode.appendChild(R); } }, getClientRegion: function() { var S = B.Dom.getDocumentScrollTop(), R = B.Dom.getDocumentScrollLeft(), T = B.Dom.getViewportWidth() + R, Q = B.Dom.getViewportHeight() + S; return new B.Region(S, T, Q, R); } 
    }; var I = function() { if (N.documentElement.getBoundingClientRect) { return function(R) { var S = R.getBoundingClientRect(); var Q = R.ownerDocument; return [S.left + B.Dom.getDocumentScrollLeft(Q), S.top + B.Dom.getDocumentScrollTop(Q)]; }; } else { return function(S) { var T = [S.offsetLeft, S.offsetTop]; var R = S.offsetParent; var Q = (M && B.Dom.getStyle(S, "position") == "absolute" && S.offsetParent == S.ownerDocument.body); if (R != S) { while (R) { T[0] += R.offsetLeft; T[1] += R.offsetTop; if (!Q && M && B.Dom.getStyle(R, "position") == "absolute") { Q = true; } R = R.offsetParent; } } if (Q) { T[0] -= S.ownerDocument.body.offsetLeft; T[1] -= S.ownerDocument.body.offsetTop; } R = S.parentNode; while (R.tagName && !E.ROOT_TAG.test(R.tagName)) { if (B.Dom.getStyle(R, "display").search(/^inline|table-row.*$/i)) { T[0] -= R.scrollLeft; T[1] -= R.scrollTop; } R = R.parentNode; } return T; }; } } ();
})(); YAHOO.util.Region = function(C, D, A, B) { this.top = C; this[1] = C; this.right = D; this.bottom = A; this.left = B; this[0] = B; }; 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(E) { var C = Math.max(this.top, E.top); var D = Math.min(this.right, E.right); var A = Math.min(this.bottom, E.bottom); var B = Math.max(this.left, E.left); if (A >= C && D >= B) { return new YAHOO.util.Region(C, D, A, B); } else { return null; } }; YAHOO.util.Region.prototype.union = function(E) { var C = Math.min(this.top, E.top); var D = Math.max(this.right, E.right); var A = Math.max(this.bottom, E.bottom); var B = Math.min(this.left, E.left); return new YAHOO.util.Region(C, D, A, B); }; YAHOO.util.Region.prototype.toString = function() { return ("Region {top: " + this.top + ", right: " + this.right + ", bottom: " + this.bottom + ", left: " + this.left + "}"); }; YAHOO.util.Region.getRegion = function(D) { var F = YAHOO.util.Dom.getXY(D); var C = F[1]; var E = F[0] + D.offsetWidth; var A = F[1] + D.offsetHeight; var B = F[0]; return new YAHOO.util.Region(C, E, A, B); }; YAHOO.util.Point = function(A, B) { if (YAHOO.lang.isArray(A)) { B = A[1]; A = A[0]; } this.x = this.right = this.left = this[0] = A; this.y = this.top = this.bottom = this[1] = B; }; YAHOO.util.Point.prototype = new YAHOO.util.Region(); YAHOO.register("dom", YAHOO.util.Dom, { version: "2.4.1", build: "742" }); YAHOO.util.CustomEvent = function(D, B, C, A) { this.type = D; this.scope = B || window; this.silent = C; 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(B, C, A) { if (!B) { throw new Error("Invalid callback for subscriber to '" + this.type + "'"); } if (this.subscribeEvent) { this.subscribeEvent.fire(B, C, A); } this.subscribers.push(new YAHOO.util.Subscriber(B, C, A)); }, 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() { var D = this.subscribers.length; if (!D && this.silent) { return true; } var H = [], F = true, C, I = false; for (C = 0; C < arguments.length; ++C) { H.push(arguments[C]); } if (!this.silent) { } for (C = 0; C < D; ++C) { var L = this.subscribers[C]; if (!L) { I = true; } else { if (!this.silent) { } var K = L.getScope(this.scope); if (this.signature == YAHOO.util.CustomEvent.FLAT) { var A = null; if (H.length > 0) { A = H[0]; } try { F = L.fn.call(K, A, L.obj); } catch (E) { this.lastError = E; } } else { try { F = L.fn.call(K, this.type, H, L.obj); } catch (G) { this.lastError = G; } } if (false === F) { if (!this.silent) { } return false; } } } if (I) { var J = [], B = this.subscribers; for (C = 0, D = B.length; C < D; C = C + 1) { J.push(B[C]); } this.subscribers = J; } return true; }, unsubscribeAll: function() { for (var B = 0, A = this.subscribers.length; B < A; ++B) { this._delete(A - 1 - B); } this.subscribers = []; return B; }, _delete: function(A) { var B = this.subscribers[A]; if (B) { delete B.fn; delete B.obj; } this.subscribers[A] = null; }, toString: function() { return "CustomEvent: '" + this.type + "', scope: " + this.scope; } }; YAHOO.util.Subscriber = function(B, C, A) { this.fn = B; this.obj = YAHOO.lang.isUndefined(C) ? null : C; this.override = A; }; YAHOO.util.Subscriber.prototype.getScope = function(A) { if (this.override) { if (this.override === true) { return this.obj; } else { return this.override; } } 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 + ", override: " + (this.override || "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 }; return { POLL_RETRYS: 4000, POLL_INTERVAL: 10, 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, startInterval: function() { if (!this._interval) { var K = this; var L = function() { K._tryPreloadAttach(); }; this._interval = setInterval(L, this.POLL_INTERVAL); } }, onAvailable: function(P, M, Q, O, N) { var K = (YAHOO.lang.isString(P)) ? [P] : P; for (var L = 0; L < K.length; L = L + 1) { F.push({ id: K[L], fn: M, obj: Q, override: O, checkReady: N }); } C = this.POLL_RETRYS; this.startInterval(); }, onContentReady: function(M, K, N, L) { this.onAvailable(M, K, N, L, true); }, onDOMReady: function(K, M, L) { if (this.DOMReady) { setTimeout(function() { var N = window; if (L) { if (L === true) { N = M; } else { N = L; } } K.call(N, "DOMReady", [], M); }, 0); } else { this.DOMReadyEvent.subscribe(K, M, L); } }, addListener: function(M, K, V, Q, L) { if (!V || !V.call) { return false; } if (this._isValidCollection(M)) { var W = true; for (var R = 0, T = M.length; R < T; ++R) { W = this.on(M[R], K, V, Q, L) && W; } return W; } else { if (YAHOO.lang.isString(M)) { var P = this.getEl(M); if (P) { M = P; } else { this.onAvailable(M, function() { YAHOO.util.Event.on(M, K, V, Q, L); }); return true; } } } if (!M) { return false; } if ("unload" == K && Q !== this) { J[J.length] = [M, K, V, Q, L]; return true; } var Y = M; if (L) { if (L === true) { Y = Q; } else { Y = L; } } var N = function(Z) { return V.call(Y, YAHOO.util.Event.getEvent(Z, M), Q); }; var X = [M, K, V, N, Y, Q, L]; var S = I.length; I[S] = X; if (this.useLegacyEvent(M, K)) { var O = this.getLegacyIndex(M, K); if (O == -1 || M != G[O][0]) { O = G.length; B[M.id + K] = O; G[O] = [M, K, M["on" + K]]; E[O] = []; M["on" + K] = function(Z) { YAHOO.util.Event.fireLegacyEvent(YAHOO.util.Event.getEvent(Z), O); }; } E[O].push(X); } else { try { this._simpleAdd(M, K, N, false); } catch (U) { this.lastError = U; this.removeListener(M, K, V); return false; } } return true; }, fireLegacyEvent: function(O, M) { var Q = true, K, S, R, T, P; S = E[M]; for (var L = 0, N = S.length; L < N; ++L) { R = S[L]; if (R && R[this.WFN]) { T = R[this.ADJ_SCOPE]; P = R[this.WFN].call(T, O); Q = (Q && P); } } K = G[M]; if (K && K[2]) { K[2](O); } return Q; }, getLegacyIndex: function(L, M) { var K = this.generateId(L) + M; if (typeof B[K] == "undefined") { return -1; } else { return B[K]; } }, useLegacyEvent: function(L, M) { if (this.webkit && ("click" == M || "dblclick" == M)) { var K = parseInt(this.webkit, 10); if (!isNaN(K) && K < 418) { return true; } } return false; }, removeListener: function(L, K, T) { var O, R, V; if (typeof L == "string") { L = this.getEl(L); } else { if (this._isValidCollection(L)) { var U = true; for (O = 0, R = L.length; O < R; ++O) { U = (this.removeListener(L[O], K, T) && U); } return U; } } if (!T || !T.call) { return this.purgeElement(L, false, K); } if ("unload" == K) { for (O = 0, R = J.length; O < R; O++) { V = J[O]; if (V && V[0] == L && V[1] == K && V[2] == T) { J[O] = null; return true; } } return false; } var P = null; var Q = arguments[3]; if ("undefined" === typeof Q) { Q = this._getCacheIndex(L, K, T); } if (Q >= 0) { P = I[Q]; } if (!L || !P) { return false; } if (this.useLegacyEvent(L, K)) { var N = this.getLegacyIndex(L, K); var M = E[N]; if (M) { for (O = 0, R = M.length; O < R; ++O) { V = M[O]; if (V && V[this.EL] == L && V[this.TYPE] == K && V[this.FN] == T) { M[O] = null; break; } } } } else { try { this._simpleRemove(L, K, P[this.WFN], false); } catch (S) { this.lastError = S; return false; } } delete I[Q][this.WFN]; delete I[Q][this.FN]; I[Q] = null; return true; }, getTarget: function(M, L) { var K = M.target || M.srcElement; return this.resolveTextNode(K); }, resolveTextNode: function(K) { if (K && 3 == K.nodeType) { return K.parentNode; } else { return K; } }, getPageX: function(L) { var K = L.pageX; if (!K && 0 !== K) { K = L.clientX || 0; if (this.isIE) { K += this._getScrollLeft(); } } return K; }, getPageY: function(K) { var L = K.pageY; if (!L && 0 !== L) { L = K.clientY || 0; if (this.isIE) { L += this._getScrollTop(); } } return L; }, getXY: function(K) {
            return [this.getPageX(K), this.getPageY(K)];
        }, getRelatedTarget: function(L) { var K = L.relatedTarget; if (!K) { if (L.type == "mouseout") { K = L.toElement; } else { if (L.type == "mouseover") { K = L.fromElement; } } } return this.resolveTextNode(K); }, getTime: function(M) { if (!M.time) { var L = new Date().getTime(); try { M.time = L; } catch (K) { this.lastError = K; return L; } } return M.time; }, stopEvent: function(K) { this.stopPropagation(K); this.preventDefault(K); }, stopPropagation: function(K) { if (K.stopPropagation) { K.stopPropagation(); } else { K.cancelBubble = true; } }, preventDefault: function(K) { if (K.preventDefault) { K.preventDefault(); } else { K.returnValue = false; } }, getEvent: function(M, K) { var L = M || window.event; if (!L) { var N = this.getEvent.caller; while (N) { L = N.arguments[0]; if (L && Event == L.constructor) { break; } N = N.caller; } } return L; }, getCharCode: function(L) { var K = L.keyCode || L.charCode || 0; if (YAHOO.env.ua.webkit && (K in D)) { K = D[K]; } return K; }, _getCacheIndex: function(O, P, N) { for (var M = 0, L = I.length; M < L; ++M) { var K = I[M]; if (K && K[this.FN] == N && K[this.EL] == O && K[this.TYPE] == P) { return M; } } return -1; }, generateId: function(K) { var L = K.id; if (!L) { L = "yuievtautoid-" + A; ++A; K.id = L; } return L; }, _isValidCollection: function(L) { try { return (L && typeof L !== "string" && L.length && !L.tagName && !L.alert && typeof L[0] !== "undefined"); } catch (K) { return false; } }, elCache: {}, getEl: function(K) { return (typeof K === "string") ? document.getElementById(K) : K; }, clearCache: function() { }, DOMReadyEvent: new YAHOO.util.CustomEvent("DOMReady", this), _load: function(L) { if (!H) { H = true; var K = YAHOO.util.Event; K._ready(); K._tryPreloadAttach(); } }, _ready: function(L) { var K = YAHOO.util.Event; if (!K.DOMReady) { K.DOMReady = true; K.DOMReadyEvent.fire(); K._simpleRemove(document, "DOMContentLoaded", K._ready); } }, _tryPreloadAttach: function() { if (this.locked) { return false; } if (this.isIE) { if (!this.DOMReady) { this.startInterval(); return false; } } this.locked = true; var P = !H; if (!P) { P = (C > 0); } var O = []; var Q = function(S, T) { var R = S; if (T.override) { if (T.override === true) { R = T.obj; } else { R = T.override; } } T.fn.call(R, T.obj); }; var L, K, N, M; for (L = 0, K = F.length; L < K; ++L) { N = F[L]; if (N && !N.checkReady) { M = this.getEl(N.id); if (M) { Q(M, N); F[L] = null; } else { O.push(N); } } } for (L = 0, K = F.length; L < K; ++L) { N = F[L]; if (N && N.checkReady) { M = this.getEl(N.id); if (M) { if (H || M.nextSibling) { Q(M, N); F[L] = null; } } else { O.push(N); } } } C = (O.length === 0) ? 0 : C - 1; if (P) { this.startInterval(); } else { clearInterval(this._interval); this._interval = null; } this.locked = false; return true; }, purgeElement: function(O, P, R) { var M = (YAHOO.lang.isString(O)) ? this.getEl(O) : O; var Q = this.getListeners(M, R), N, K; if (Q) { for (N = 0, K = Q.length; N < K; ++N) { var L = Q[N]; this.removeListener(M, L.type, L.fn, L.index); } } if (P && M && M.childNodes) { for (N = 0, K = M.childNodes.length; N < K; ++N) { this.purgeElement(M.childNodes[N], P, R); } } }, getListeners: function(M, K) { var P = [], L; if (!K) { L = [I, J]; } else { if (K === "unload") { L = [J]; } else { L = [I]; } } var R = (YAHOO.lang.isString(M)) ? this.getEl(M) : M; for (var O = 0; O < L.length; O = O + 1) { var T = L[O]; if (T && T.length > 0) { for (var Q = 0, S = T.length; Q < S; ++Q) { var N = T[Q]; if (N && N[this.EL] === R && (!K || K === N[this.TYPE])) { P.push({ type: N[this.TYPE], fn: N[this.FN], obj: N[this.OBJ], adjust: N[this.OVERRIDE], scope: N[this.ADJ_SCOPE], index: Q }); } } } } return (P.length) ? P : null; }, _unload: function(R) { var Q = YAHOO.util.Event, O, N, L, K, M; for (O = 0, K = J.length; O < K; ++O) { L = J[O]; if (L) { var P = window; if (L[Q.ADJ_SCOPE]) { if (L[Q.ADJ_SCOPE] === true) { P = L[Q.UNLOAD_OBJ]; } else { P = L[Q.ADJ_SCOPE]; } } L[Q.FN].call(P, Q.getEvent(R, L[Q.EL]), L[Q.UNLOAD_OBJ]); J[O] = null; L = null; P = null; } } J = null; if (YAHOO.env.ua.ie && I && I.length > 0) { N = I.length; while (N) { M = N - 1; L = I[M]; if (L) { Q.removeListener(L[Q.EL], L[Q.TYPE], L[Q.FN], M); } N--; } L = null; } G = null; Q._simpleRemove(window, "unload", Q._unload); }, _getScrollLeft: function() { return this._getScroll()[1]; }, _getScrollTop: function() { return this._getScroll()[0]; }, _getScroll: function() { var K = document.documentElement, L = document.body; if (K && (K.scrollTop || K.scrollLeft)) { return [K.scrollTop, K.scrollLeft]; } else { if (L) { return [L.scrollTop, L.scrollLeft]; } else { return [0, 0]; } } }, regCE: function() { }, _simpleAdd: function() { if (window.addEventListener) { return function(M, N, L, K) { M.addEventListener(N, L, (K)); }; } else { if (window.attachEvent) { return function(M, N, L, K) { M.attachEvent("on" + N, L); }; } else { return function() { }; } } } (), _simpleRemove: function() { if (window.removeEventListener) { return function(M, N, L, K) { M.removeEventListener(N, L, (K)); }; } else { if (window.detachEvent) { return function(L, M, K) { L.detachEvent("on" + M, K); }; } else { return function() { }; } } } ()
        };
    } (); (function() { var A = YAHOO.util.Event; A.on = A.addListener; if (A.isIE) { YAHOO.util.Event.onDOMReady(YAHOO.util.Event._tryPreloadAttach, YAHOO.util.Event, true); A._dri = setInterval(function() { var C = document.createElement("p"); try { C.doScroll("left"); clearInterval(A._dri); A._dri = null; A._ready(); C = null; } catch (B) { C = null; } }, A.POLL_INTERVAL); } else { if (A.webkit) { A._dri = setInterval(function() { var B = document.readyState; if ("loaded" == B || "complete" == B) { 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, override: 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 I = this.__yui_events; if (I[G]) { } else {
        var H = A.scope || this; var E = (A.silent); var B = new YAHOO.util.CustomEvent(G, H, E, YAHOO.util.CustomEvent.FLAT); I[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].override); } } 
    } return I[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; } 
}; YAHOO.util.KeyListener = function(A, F, B, C) { if (!A) { } else { if (!F) { } else { if (!B) { } } } if (!C) { C = YAHOO.util.KeyListener.KEYDOWN; } var D = new YAHOO.util.CustomEvent("keyPressed"); this.enabledEvent = new YAHOO.util.CustomEvent("enabled"); this.disabledEvent = new YAHOO.util.CustomEvent("disabled"); if (typeof A == "string") { A = document.getElementById(A); } if (typeof B == "function") { D.subscribe(B); } else { D.subscribe(B.fn, B.scope, B.correctScope); } function E(J, I) { if (!F.shift) { F.shift = false; } if (!F.alt) { F.alt = false; } if (!F.ctrl) { F.ctrl = false; } if (J.shiftKey == F.shift && J.altKey == F.alt && J.ctrlKey == F.ctrl) { var G; if (F.keys instanceof Array) { for (var H = 0; H < F.keys.length; H++) { G = F.keys[H]; if (G == J.charCode) { D.fire(J.charCode, J); break; } else { if (G == J.keyCode) { D.fire(J.keyCode, J); break; } } } } else { G = F.keys; if (G == J.charCode) { D.fire(J.charCode, J); } else { if (G == J.keyCode) { D.fire(J.keyCode, J); } } } } } this.enable = function() { if (!this.enabled) { YAHOO.util.Event.addListener(A, C, E); this.enabledEvent.fire(F); } this.enabled = true; }; this.disable = function() { if (this.enabled) { YAHOO.util.Event.removeListener(A, C, E); this.disabledEvent.fire(F); } this.enabled = false; }; this.toString = function() { return "KeyListener [" + F.keys + "] " + A.tagName + (A.id ? "[" + A.id + "]" : ""); }; }; YAHOO.util.KeyListener.KEYDOWN = "keydown"; YAHOO.util.KeyListener.KEYUP = "keyup"; YAHOO.util.KeyListener.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.4.1", build: "742" }); YAHOO.register("yahoo-dom-event", YAHOO, { version: "2.4.1", build: "742" });
YAHOO.util.Anim = function(B, A, C, D) { if (!B) { } this.init(B, A, C, D); }; YAHOO.util.Anim.prototype = { toString: function() { var A = this.getEl(); var B = A.id || A.tagName || A; return ("Anim " + B); }, 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(A, C, B) { return this.method(this.currentFrame, C, B - C, this.totalFrames); }, setAttribute: function(A, C, B) { if (this.patterns.noNegatives.test(A)) { C = (C > 0) ? C : 0; } YAHOO.util.Dom.setStyle(this.getEl(), A, C + B); }, getAttribute: function(A) { var C = this.getEl(); var E = YAHOO.util.Dom.getStyle(C, A); if (E !== "auto" && !this.patterns.offsetUnit.test(E)) { return parseFloat(E); } var B = this.patterns.offsetAttribute.exec(A) || []; var F = !!(B[3]); var D = !!(B[2]); if (D || (YAHOO.util.Dom.getStyle(C, "position") == "absolute" && F)) { E = C["offset" + B[0].charAt(0).toUpperCase() + B[0].substr(1)]; } else { E = 0; } return E; }, getDefaultUnit: function(A) { if (this.patterns.defaultUnit.test(A)) { return "px"; } return ""; }, setRuntimeAttribute: function(B) { var G; var C; var D = this.attributes; this.runtimeAttributes[B] = {}; var F = function(H) { return (typeof H !== "undefined"); }; if (!F(D[B]["to"]) && !F(D[B]["by"])) { return false; } G = (F(D[B]["from"])) ? D[B]["from"] : this.getAttribute(B); if (F(D[B]["to"])) { C = D[B]["to"]; } else { if (F(D[B]["by"])) { if (G.constructor == Array) { C = []; for (var E = 0, A = G.length; E < A; ++E) { C[E] = G[E] + D[B]["by"][E] * 1; } } else { C = G + D[B]["by"] * 1; } } } this.runtimeAttributes[B].start = G; this.runtimeAttributes[B].end = C; this.runtimeAttributes[B].unit = (F(D[B].unit)) ? D[B]["unit"] : this.getDefaultUnit(B); return true; }, init: function(C, H, G, A) { var B = false; var D = null; var F = 0; C = YAHOO.util.Dom.get(C); this.attributes = H || {}; this.duration = !YAHOO.lang.isUndefined(G) ? G : 1; this.method = A || YAHOO.util.Easing.easeNone; this.useSeconds = true; this.currentFrame = 0; this.totalFrames = YAHOO.util.AnimMgr.fps; this.setEl = function(K) { C = YAHOO.util.Dom.get(K); }; this.getEl = function() { return C; }; this.isAnimated = function() { return B; }; this.getStartTime = function() { return D; }; this.runtimeAttributes = {}; this.animate = function() { if (this.isAnimated()) { return false; } this.currentFrame = 0; this.totalFrames = (this.useSeconds) ? Math.ceil(YAHOO.util.AnimMgr.fps * this.duration) : this.duration; if (this.duration === 0 && this.useSeconds) { this.totalFrames = 1; } YAHOO.util.AnimMgr.registerElement(this); return true; }; this.stop = function(K) { if (!this.isAnimated()) { return false; } if (K) { this.currentFrame = this.totalFrames; this._onTween.fire(); } YAHOO.util.AnimMgr.stop(this); }; var J = function() { this.onStart.fire(); this.runtimeAttributes = {}; for (var K in this.attributes) { this.setRuntimeAttribute(K); } B = true; F = 0; D = new Date(); }; var I = function() { var M = { duration: new Date() - this.getStartTime(), currentFrame: this.currentFrame }; M.toString = function() { return ("duration: " + M.duration + ", currentFrame: " + M.currentFrame); }; this.onTween.fire(M); var L = this.runtimeAttributes; for (var K in L) { this.setAttribute(K, this.doMethod(K, L[K].start, L[K].end), L[K].unit); } F += 1; }; var E = function() { var K = (new Date() - D) / 1000; var L = { duration: K, frames: F, fps: F / K }; L.toString = function() { return ("duration: " + L.duration + ", frames: " + L.frames + ", fps: " + L.fps); }; B = false; F = 0; this.onComplete.fire(L); }; this._onStart = new YAHOO.util.CustomEvent("_start", this, true); this.onStart = new YAHOO.util.CustomEvent("start", this); this.onTween = new YAHOO.util.CustomEvent("tween", this); this._onTween = new YAHOO.util.CustomEvent("_tween", this, true); this.onComplete = new YAHOO.util.CustomEvent("complete", this); this._onComplete = new YAHOO.util.CustomEvent("_complete", this, true); this._onStart.subscribe(J); this._onTween.subscribe(I); this._onComplete.subscribe(E); } }; 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() {
    YAHOO.util.ColorAnim = function(E, D, F, G) { YAHOO.util.ColorAnim.superclass.constructor.call(this, E, D, F, G); }; YAHOO.extend(YAHOO.util.ColorAnim, YAHOO.util.Anim); var B = YAHOO.util; var C = B.ColorAnim.superclass; var A = B.ColorAnim.prototype; A.toString = function() { var D = this.getEl(); var E = D.id || D.tagName; return ("ColorAnim " + E); }; A.patterns.color = /color$/i; A.patterns.rgb = /^rgb\(([0-9]+)\s*,\s*([0-9]+)\s*,\s*([0-9]+)\)$/i; A.patterns.hex = /^#?([0-9A-F]{2})([0-9A-F]{2})([0-9A-F]{2})$/i; A.patterns.hex3 = /^#?([0-9A-F]{1})([0-9A-F]{1})([0-9A-F]{1})$/i; A.patterns.transparent = /^transparent|rgba\(0, 0, 0, 0\)$/; A.parseColor = function(D) {
        if (D.length == 3) { return D; } var E = this.patterns.hex.exec(D); if (E && E.length == 4) { return [parseInt(E[1], 16), parseInt(E[2], 16), parseInt(E[3], 16)]; } E = this.patterns.rgb.exec(D); if (E && E.length == 4) {
            return [parseInt(E[1], 10), parseInt(E[2], 10), parseInt(E[3], 10)];
        } E = this.patterns.hex3.exec(D); if (E && E.length == 4) { return [parseInt(E[1] + E[1], 16), parseInt(E[2] + E[2], 16), parseInt(E[3] + E[3], 16)]; } return null;
    }; A.getAttribute = function(D) { var F = this.getEl(); if (this.patterns.color.test(D)) { var G = YAHOO.util.Dom.getStyle(F, D); if (this.patterns.transparent.test(G)) { var E = F.parentNode; G = B.Dom.getStyle(E, D); while (E && this.patterns.transparent.test(G)) { E = E.parentNode; G = B.Dom.getStyle(E, D); if (E.tagName.toUpperCase() == "HTML") { G = "#fff"; } } } } else { G = C.getAttribute.call(this, D); } return G; }; A.doMethod = function(E, I, F) { var H; if (this.patterns.color.test(E)) { H = []; for (var G = 0, D = I.length; G < D; ++G) { H[G] = C.doMethod.call(this, E, I[G], F[G]); } H = "rgb(" + Math.floor(H[0]) + "," + Math.floor(H[1]) + "," + Math.floor(H[2]) + ")"; } else { H = C.doMethod.call(this, E, I, F); } return H; }; A.setRuntimeAttribute = function(E) { C.setRuntimeAttribute.call(this, E); if (this.patterns.color.test(E)) { var G = this.attributes; var I = this.parseColor(this.runtimeAttributes[E].start); var F = this.parseColor(this.runtimeAttributes[E].end); if (typeof G[E]["to"] === "undefined" && typeof G[E]["by"] !== "undefined") { F = this.parseColor(G[E].by); for (var H = 0, D = I.length; H < D; ++H) { F[H] = I[H] + F[H]; } } this.runtimeAttributes[E].start = I; this.runtimeAttributes[E].end = F; } };
})(); YAHOO.util.Easing = { easeNone: function(B, A, D, C) { return D * B / C + A; }, easeIn: function(B, A, D, C) { return D * (B /= C) * B + A; }, easeOut: function(B, A, D, C) { return -D * (B /= C) * (B - 2) + A; }, easeBoth: function(B, A, D, C) { if ((B /= C / 2) < 1) { return D / 2 * B * B + A; } return -D / 2 * ((--B) * (B - 2) - 1) + A; }, easeInStrong: function(B, A, D, C) { return D * (B /= C) * B * B * B + A; }, easeOutStrong: function(B, A, D, C) { return -D * ((B = B / C - 1) * B * B * B - 1) + A; }, easeBothStrong: function(B, A, D, C) { if ((B /= C / 2) < 1) { return D / 2 * B * B * B * B + A; } return -D / 2 * ((B -= 2) * B * B * B - 2) + A; }, elasticIn: function(C, A, G, F, B, E) { if (C == 0) { return A; } if ((C /= F) == 1) { return A + G; } if (!E) { E = F * 0.3; } if (!B || B < Math.abs(G)) { B = G; var D = E / 4; } else { var D = E / (2 * Math.PI) * Math.asin(G / B); } return -(B * Math.pow(2, 10 * (C -= 1)) * Math.sin((C * F - D) * (2 * Math.PI) / E)) + A; }, elasticOut: function(C, A, G, F, B, E) { if (C == 0) { return A; } if ((C /= F) == 1) { return A + G; } if (!E) { E = F * 0.3; } if (!B || B < Math.abs(G)) { B = G; var D = E / 4; } else { var D = E / (2 * Math.PI) * Math.asin(G / B); } return B * Math.pow(2, -10 * C) * Math.sin((C * F - D) * (2 * Math.PI) / E) + G + A; }, elasticBoth: function(C, A, G, F, B, E) { if (C == 0) { return A; } if ((C /= F / 2) == 2) { return A + G; } if (!E) { E = F * (0.3 * 1.5); } if (!B || B < Math.abs(G)) { B = G; var D = E / 4; } else { var D = E / (2 * Math.PI) * Math.asin(G / B); } if (C < 1) { return -0.5 * (B * Math.pow(2, 10 * (C -= 1)) * Math.sin((C * F - D) * (2 * Math.PI) / E)) + A; } return B * Math.pow(2, -10 * (C -= 1)) * Math.sin((C * F - D) * (2 * Math.PI) / E) * 0.5 + G + A; }, backIn: function(B, A, E, D, C) { if (typeof C == "undefined") { C = 1.70158; } return E * (B /= D) * B * ((C + 1) * B - C) + A; }, backOut: function(B, A, E, D, C) { if (typeof C == "undefined") { C = 1.70158; } return E * ((B = B / D - 1) * B * ((C + 1) * B + C) + 1) + A; }, backBoth: function(B, A, E, D, C) { if (typeof C == "undefined") { C = 1.70158; } if ((B /= D / 2) < 1) { return E / 2 * (B * B * (((C *= (1.525)) + 1) * B - C)) + A; } return E / 2 * ((B -= 2) * B * (((C *= (1.525)) + 1) * B + C) + 2) + A; }, bounceIn: function(B, A, D, C) { return D - YAHOO.util.Easing.bounceOut(C - B, 0, D, C) + A; }, bounceOut: function(B, A, D, C) { if ((B /= C) < (1 / 2.75)) { return D * (7.5625 * B * B) + A; } else { if (B < (2 / 2.75)) { return D * (7.5625 * (B -= (1.5 / 2.75)) * B + 0.75) + A; } else { if (B < (2.5 / 2.75)) { return D * (7.5625 * (B -= (2.25 / 2.75)) * B + 0.9375) + A; } } } return D * (7.5625 * (B -= (2.625 / 2.75)) * B + 0.984375) + A; }, bounceBoth: function(B, A, D, C) { if (B < C / 2) { return YAHOO.util.Easing.bounceIn(B * 2, 0, D, C) * 0.5 + A; } return YAHOO.util.Easing.bounceOut(B * 2 - C, 0, D, C) * 0.5 + D * 0.5 + A; } }; (function() { YAHOO.util.Motion = function(G, F, H, I) { if (G) { YAHOO.util.Motion.superclass.constructor.call(this, G, F, H, I); } }; YAHOO.extend(YAHOO.util.Motion, YAHOO.util.ColorAnim); var D = YAHOO.util; var E = D.Motion.superclass; var B = D.Motion.prototype; B.toString = function() { var F = this.getEl(); var G = F.id || F.tagName; return ("Motion " + G); }; B.patterns.points = /^points$/i; B.setAttribute = function(F, H, G) { if (this.patterns.points.test(F)) { G = G || "px"; E.setAttribute.call(this, "left", H[0], G); E.setAttribute.call(this, "top", H[1], G); } else { E.setAttribute.call(this, F, H, G); } }; B.getAttribute = function(F) { if (this.patterns.points.test(F)) { var G = [E.getAttribute.call(this, "left"), E.getAttribute.call(this, "top")]; } else { G = E.getAttribute.call(this, F); } return G; }; B.doMethod = function(F, J, G) { var I = null; if (this.patterns.points.test(F)) { var H = this.method(this.currentFrame, 0, 100, this.totalFrames) / 100; I = D.Bezier.getPosition(this.runtimeAttributes[F], H); } else { I = E.doMethod.call(this, F, J, G); } return I; }; B.setRuntimeAttribute = function(O) { if (this.patterns.points.test(O)) { var G = this.getEl(); var I = this.attributes; var F; var K = I["points"]["control"] || []; var H; var L, N; if (K.length > 0 && !(K[0] instanceof Array)) { K = [K]; } else { var J = []; for (L = 0, N = K.length; L < N; ++L) { J[L] = K[L]; } K = J; } if (D.Dom.getStyle(G, "position") == "static") { D.Dom.setStyle(G, "position", "relative"); } if (C(I["points"]["from"])) { D.Dom.setXY(G, I["points"]["from"]); } else { D.Dom.setXY(G, D.Dom.getXY(G)); } F = this.getAttribute("points"); if (C(I["points"]["to"])) { H = A.call(this, I["points"]["to"], F); var M = D.Dom.getXY(this.getEl()); for (L = 0, N = K.length; L < N; ++L) { K[L] = A.call(this, K[L], F); } } else { if (C(I["points"]["by"])) { H = [F[0] + I["points"]["by"][0], F[1] + I["points"]["by"][1]]; for (L = 0, N = K.length; L < N; ++L) { K[L] = [F[0] + K[L][0], F[1] + K[L][1]]; } } } this.runtimeAttributes[O] = [F]; if (K.length > 0) { this.runtimeAttributes[O] = this.runtimeAttributes[O].concat(K); } this.runtimeAttributes[O][this.runtimeAttributes[O].length] = H; } else { E.setRuntimeAttribute.call(this, O); } }; var A = function(F, H) { var G = D.Dom.getXY(this.getEl()); F = [F[0] - G[0] + H[0], F[1] - G[1] + H[1]]; return F; }; var C = function(F) { return (typeof F !== "undefined"); }; })(); (function() {
    YAHOO.util.Scroll = function(E, D, F, G) { if (E) { YAHOO.util.Scroll.superclass.constructor.call(this, E, D, F, G); } }; YAHOO.extend(YAHOO.util.Scroll, YAHOO.util.ColorAnim); var B = YAHOO.util; var C = B.Scroll.superclass; var A = B.Scroll.prototype; A.toString = function() { var D = this.getEl(); var E = D.id || D.tagName; return ("Scroll " + E); }; A.doMethod = function(D, G, E) {
        var F = null; if (D == "scroll") {
            F = [this.method(this.currentFrame, G[0], E[0] - G[0], this.totalFrames), this.method(this.currentFrame, G[1], E[1] - G[1], this.totalFrames)];
        } else { F = C.doMethod.call(this, D, G, E); } return F;
    }; A.getAttribute = function(D) { var F = null; var E = this.getEl(); if (D == "scroll") { F = [E.scrollLeft, E.scrollTop]; } else { F = C.getAttribute.call(this, D); } return F; }; A.setAttribute = function(D, G, F) { var E = this.getEl(); if (D == "scroll") { E.scrollLeft = G[0]; E.scrollTop = G[1]; } else { C.setAttribute.call(this, D, G, F); } };
})(); YAHOO.register("animation", YAHOO.util.Anim, { version: "2.4.1", build: "742" });

