﻿/*
Copyright (c) 2009, Yahoo! Inc. All rights reserved.
Code licensed under the BSD License:

version: 2.8.0r4
*/
YAHOO.util.CustomEvent = function (D, C, B, A, E) { this.type = D; this.scope = C || window; this.silent = B; this.fireOnce = E; this.fired = false; this.firedWith = null; this.signature = A || YAHOO.util.CustomEvent.LIST; this.subscribers = []; if (!this.silent) { } var F = "_YUICEOnSubscribe"; if (D !== F) { this.subscribeEvent = new YAHOO.util.CustomEvent(F, this, true); } this.lastError = null; }; YAHOO.util.CustomEvent.LIST = 0; YAHOO.util.CustomEvent.FLAT = 1; YAHOO.util.CustomEvent.prototype = { subscribe: function (B, C, D) { if (!B) { throw new Error("Invalid callback for subscriber to '" + this.type + "'"); } if (this.subscribeEvent) { this.subscribeEvent.fire(B, C, D); } var A = new YAHOO.util.Subscriber(B, C, D); if (this.fireOnce && this.fired) { this.notify(A, this.firedWith); } else { this.subscribers.push(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 () { this.lastError = null; var H = [], A = this.subscribers.length; var D = [].slice.call(arguments, 0), C = true, F, B = false; if (this.fireOnce) { if (this.fired) { return true; } else { this.firedWith = D; } } this.fired = true; if (!A && this.silent) { return true; } if (!this.silent) { } var E = this.subscribers.slice(); for (F = 0; F < A; ++F) { var G = E[F]; if (!G) { B = true; } else { C = this.notify(G, D); if (false === C) { if (!this.silent) { } break; } } } return (C !== false); }, notify: function (F, C) { var B, H = null, E = F.getScope(this.scope), A = YAHOO.util.Event.throwErrors; if (!this.silent) { } if (this.signature == YAHOO.util.CustomEvent.FLAT) { if (C.length > 0) { H = C[0]; } try { B = F.fn.call(E, H, F.obj); } catch (G) { this.lastError = G; if (A) { throw G; } } } else { try { B = F.fn.call(E, this.type, C, F.obj); } catch (D) { this.lastError = D; if (A) { throw D; } } } return B; }, 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 G = false, H = [], J = [], A = 0, E = [], B = 0, C = { 63232: 38, 63233: 40, 63234: 37, 63235: 39, 63276: 33, 63277: 34, 25: 9 }, D = YAHOO.env.ua.ie, F = "focusin", I = "focusout"; return { POLL_RETRYS: 500, POLL_INTERVAL: 40, EL: 0, TYPE: 1, FN: 2, WFN: 3, UNLOAD_OBJ: 3, ADJ_SCOPE: 4, OBJ: 5, OVERRIDE: 6, CAPTURE: 7, lastError: null, isSafari: YAHOO.env.ua.webkit, webkit: YAHOO.env.ua.webkit, isIE: D, _interval: null, _dri: null, _specialTypes: { focusin: (D ? "focusin" : "focus"), focusout: (D ? "focusout" : "blur") }, DOMReady: false, throwErrors: false, startInterval: function () { if (!this._interval) { this._interval = YAHOO.lang.later(this.POLL_INTERVAL, this, this._tryPreloadAttach, null, true); } }, onAvailable: function (Q, M, O, P, N) { var K = (YAHOO.lang.isString(Q)) ? [Q] : Q; for (var L = 0; L < K.length; L = L + 1) { E.push({ id: K[L], fn: M, obj: O, overrideContext: P, checkReady: N }); } A = this.POLL_RETRYS; this.startInterval(); }, onContentReady: function (N, K, L, M) { this.onAvailable(N, K, L, M, true); }, onDOMReady: function () { this.DOMReadyEvent.subscribe.apply(this.DOMReadyEvent, arguments); }, _addListener: function (M, K, V, P, T, Y) { if (!V || !V.call) { return false; } if (this._isValidCollection(M)) { var W = true; for (var Q = 0, S = M.length; Q < S; ++Q) { W = this.on(M[Q], K, V, P, T) && W; } return W; } else { if (YAHOO.lang.isString(M)) { var O = this.getEl(M); if (O) { M = O; } else { this.onAvailable(M, function () { YAHOO.util.Event._addListener(M, K, V, P, T, Y); }); return true; } } } if (!M) { return false; } if ("unload" == K && P !== this) { J[J.length] = [M, K, V, P, T]; return true; } var L = M; if (T) { if (T === true) { L = P; } else { L = T; } } var N = function (Z) { return V.call(L, YAHOO.util.Event.getEvent(Z, M), P); }; var X = [M, K, V, N, L, P, T, Y]; var R = H.length; H[R] = X; try { this._simpleAdd(M, K, N, Y); } catch (U) { this.lastError = U; this.removeListener(M, K, V); return false; } return true; }, _getType: function (K) { return this._specialTypes[K] || K; }, addListener: function (M, P, L, N, O) { var K = ((P == F || P == I) && !YAHOO.env.ua.ie) ? true : false; return this._addListener(M, this._getType(P), L, N, O, K); }, addFocusListener: function (L, K, M, N) { return this.on(L, F, K, M, N); }, removeFocusListener: function (L, K) { return this.removeListener(L, F, K); }, addBlurListener: function (L, K, M, N) { return this.on(L, I, K, M, N); }, removeBlurListener: function (L, K) { return this.removeListener(L, I, K); }, removeListener: function (L, K, R) { var M, P, U; K = this._getType(K); if (typeof L == "string") { L = this.getEl(L); } else { if (this._isValidCollection(L)) { var S = true; for (M = L.length - 1; M > -1; M--) { S = (this.removeListener(L[M], K, R) && S); } return S; } } if (!R || !R.call) { return this.purgeElement(L, false, K); } if ("unload" == K) { for (M = J.length - 1; M > -1; M--) { U = J[M]; if (U && U[0] == L && U[1] == K && U[2] == R) { J.splice(M, 1); return true; } } return false; } var N = null; var O = arguments[3]; if ("undefined" === typeof O) { O = this._getCacheIndex(H, L, K, R); } if (O >= 0) { N = H[O]; } if (!L || !N) { return false; } var T = N[this.CAPTURE] === true ? true : false; try { this._simpleRemove(L, K, N[this.WFN], T); } catch (Q) { this.lastError = Q; return false; } delete H[O][this.WFN]; delete H[O][this.FN]; H.splice(O, 1); return true; }, getTarget: function (M, L) { var K = M.target || M.srcElement; return this.resolveTextNode(K); }, resolveTextNode: function (L) { try { if (L && 3 == L.nodeType) { return L.parentNode; } } catch (K) { } return L; }, 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 C)) { K = C[K]; } return K; }, _getCacheIndex: function (M, P, Q, O) { for (var N = 0, L = M.length; N < L; N = N + 1) { var K = M[N]; if (K && K[this.FN] == O && K[this.EL] == P && K[this.TYPE] == Q) { return N; } } return -1; }, generateId: function (K) { var L = K.id; if (!L) { L = "yuievtautoid-" + B; ++B; 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", YAHOO, 0, 0, 1), _load: function (L) { if (!G) { G = 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 (E.length === 0) { A = 0; if (this._interval) { this._interval.cancel(); this._interval = null; } return; } if (this.locked) { return; } if (this.isIE) { if (!this.DOMReady) { this.startInterval(); return; } } this.locked = true; var Q = !G; if (!Q) { Q = (A > 0 && E.length > 0); } var P = []; var R = function (T, U) { var S = T; if (U.overrideContext) { if (U.overrideContext === true) { S = U.obj; } else { S = U.overrideContext; } } U.fn.call(S, U.obj); }; var L, K, O, N, M = []; for (L = 0, K = E.length; L < K; L = L + 1) { O = E[L]; if (O) { N = this.getEl(O.id); if (N) { if (O.checkReady) { if (G || N.nextSibling || !Q) { M.push(O); E[L] = null; } } else { R(N, O); E[L] = null; } } else { P.push(O); } } } for (L = 0, K = M.length; L < K; L = L + 1) { O = M[L]; R(this.getEl(O.id), O); } A--; if (Q) { for (L = E.length - 1; L > -1; L--) { O = E[L]; if (!O || !O.id) { E.splice(L, 1); } } this.startInterval(); } else { if (this._interval) { this._interval.cancel(); this._interval = null; } } this.locked = false; }, 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 = Q.length - 1; N > -1; N--) { var L = Q[N]; this.removeListener(M, L.type, L.fn); } } 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 = [H, J]; } else { if (K === "unload") { L = [J]; } else { K = this._getType(K); L = [H]; } } 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) { 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 L = YAHOO.util.Event, O, N, M, Q, P, S = J.slice(), K; for (O = 0, Q = J.length; O < Q; ++O) { M = S[O]; if (M) { K = window; if (M[L.ADJ_SCOPE]) { if (M[L.ADJ_SCOPE] === true) { K = M[L.UNLOAD_OBJ]; } else { K = M[L.ADJ_SCOPE]; } } M[L.FN].call(K, L.getEvent(R, M[L.EL]), M[L.UNLOAD_OBJ]); S[O] = null; } } M = null; K = null; J = null; if (H) { for (N = H.length - 1; N > -1; N--) { M = H[N]; if (M) { L.removeListener(M[L.EL], M[L.TYPE], M[L.FN], N); } } M = null; } L._simpleRemove(window, "unload", L._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 EU = YAHOO.util.Event; EU.on = EU.addListener; EU.onFocus = EU.addFocusListener; EU.onBlur = EU.addBlurListener;
        /* DOMReady: based on work by: Dean Edwards/John Resig/Matthias Miller/Diego Perini */
        if (EU.isIE) { if (self !== self.top) { document.onreadystatechange = function () { if (document.readyState == "complete") { document.onreadystatechange = null; EU._ready(); } }; } else { YAHOO.util.Event.onDOMReady(YAHOO.util.Event._tryPreloadAttach, YAHOO.util.Event, true); var n = document.createElement("p"); EU._dri = setInterval(function () { try { n.doScroll("left"); clearInterval(EU._dri); EU._dri = null; EU._ready(); n = null; } catch (ex) { } }, EU.POLL_INTERVAL); } } else { if (EU.webkit && EU.webkit < 525) { EU._dri = setInterval(function () { var rs = document.readyState; if ("loaded" == rs || "complete" == rs) { clearInterval(EU._dri); EU._dri = null; EU._ready(); } }, EU.POLL_INTERVAL); } else { EU._simpleAdd(document, "DOMContentLoaded", EU._ready); } } EU._simpleAdd(window, "load", EU._load); EU._simpleAdd(window, "unload", EU._unload); EU._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 (B, G) { this.__yui_events = this.__yui_events || {}; var E = G || {}, D = this.__yui_events, F; if (D[B]) { } else { F = new YAHOO.util.CustomEvent(B, E.scope || this, E.silent, YAHOO.util.CustomEvent.FLAT, E.fireOnce); D[B] = F; if (E.onSubscribeCallback) { F.subscribeEvent.subscribe(E.onSubscribeCallback); } this.__yui_subscribers = this.__yui_subscribers || {}; var A = this.__yui_subscribers[B]; if (A) { for (var C = 0; C < A.length; ++C) { F.subscribe(A[C].fn, A[C].obj, A[C].overrideContext); } } } return D[B]; }, fireEvent: function (B) { this.__yui_events = this.__yui_events || {}; var D = this.__yui_events[B]; if (!D) { return null; } var A = []; for (var C = 1; C < arguments.length; ++C) { A.push(arguments[C]); } return D.fire.apply(D, A); }, 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(O, N) { if (!I.shift) { I.shift = false; } if (!I.alt) { I.alt = false; } if (!I.ctrl) { I.ctrl = false; } if (O.shiftKey == I.shift && O.altKey == I.alt && O.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(O); if (J == L) { G.fire(L, O); break; } } } else { L = A.getCharCode(O); if (M == L) { G.fire(L, O); } } } } 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.8.0r4", build: "2449" });
