/*
Copyright (c) 2007, Yahoo! Inc. All rights reserved.
Code licensed under the BSD License:
http://developer.yahoo.net/yui/license.txt
version: 2.3.1
*/
(function() {
    YAHOO.util.Config = function(D) {
        if (D) {
            this.init(D);
        }
        if (!D) {
        }
    };
    var B = YAHOO.lang,C = YAHOO.util.CustomEvent,A = YAHOO.util.Config;
    A.CONFIG_CHANGED_EVENT = "configChanged";
    A.BOOLEAN_TYPE = "boolean";
    A.prototype =
    {owner:null,queueInProgress:false,config:null,initialConfig:null,eventQueue:null,configChangedEvent:null,init:function(
            D) {
        this.owner = D;
        this.configChangedEvent = this.createEvent(A.CONFIG_CHANGED_EVENT);
        this.configChangedEvent.signature = C.LIST;
        this.queueInProgress = false;
        this.config = {};
        this.initialConfig = {};
        this.eventQueue = [];
    },checkBoolean:function(D) {
        return(typeof D == A.BOOLEAN_TYPE);
    },checkNumber:function(D) {
        return(!isNaN(D));
    },fireEvent:function(D, F) {
        var E = this.config[D];
        if (E && E.event) {
            E.event.fire(F);
        }
    },addProperty:function(E, D) {
        E = E.toLowerCase();
        this.config[E] = D;
        D.event = this.createEvent(E, {scope:this.owner});
        D.event.signature = C.LIST;
        D.key = E;
        if (D.handler) {
            D.event.subscribe(D.handler, this.owner);
        }
        this.setProperty(E, D.value, true);
        if (!D.suppressEvent) {
            this.queueProperty(E, D.value);
        }
    },getConfig:function() {
        var D = {},F,E;
        for (F in this.config) {
            E = this.config[F];
            if (E && E.event) {
                D[F] = E.value;
            }
        }
        return D;
    },getProperty:function(D) {
        var E = this.config[D.toLowerCase()];
        if (E && E.event) {
            return E.value;
        } else {
            return undefined;
        }
    },resetProperty:function(D) {
        D = D.toLowerCase();
        var E = this.config[D];
        if (E && E.event) {
            if (this.initialConfig[D] && !B.isUndefined(this.initialConfig[D])) {
                this.setProperty(D, this.initialConfig[D]);
                return true;
            }
        } else {
            return false;
        }
    },setProperty:function(E, G, D) {
        var F;
        E = E.toLowerCase();
        if (this.queueInProgress && !D) {
            this.queueProperty(E, G);
            return true;
        } else {
            F = this.config[E];
            if (F && F.event) {
                if (F.validator && !F.validator(G)) {
                    return false;
                } else {
                    F.value = G;
                    if (!D) {
                        this.fireEvent(E, G);
                        this.configChangedEvent.fire([E,G]);
                    }
                    return true;
                }
            } else {
                return false;
            }
        }
    },queueProperty:function(S, P) {
        S = S.toLowerCase();
        var R = this.config[S],K = false,J,G,H,I,O,Q,F,M,N,D,L,T,E;
        if (R && R.event) {
            if (!B.isUndefined(P) && R.validator && !R.validator(P)) {
                return false;
            } else {
                if (!B.isUndefined(P)) {
                    R.value = P;
                } else {
                    P = R.value;
                }
                K = false;
                J = this.eventQueue.length;
                for (L = 0; L < J; L++) {
                    G = this.eventQueue[L];
                    if (G) {
                        H = G[0];
                        I = G[1];
                        if (H == S) {
                            this.eventQueue[L] = null;
                            this.eventQueue.push([S,(!B.isUndefined(P) ? P : I)]);
                            K = true;
                            break;
                        }
                    }
                }
                if (!K && !B.isUndefined(P)) {
                    this.eventQueue.push([S,P]);
                }
            }
            if (R.supercedes) {
                O = R.supercedes.length;
                for (T = 0; T < O; T++) {
                    Q = R.supercedes[T];
                    F = this.eventQueue.length;
                    for (E = 0; E < F; E++) {
                        M = this.eventQueue[E];
                        if (M) {
                            N = M[0];
                            D = M[1];
                            if (N == Q.toLowerCase()) {
                                this.eventQueue.push([N,D]);
                                this.eventQueue[E] = null;
                                break;
                            }
                        }
                    }
                }
            }
            return true;
        } else {
            return false;
        }
    },refireEvent:function(D) {
        D = D.toLowerCase();
        var E = this.config[D];
        if (E && E.event && !B.isUndefined(E.value)) {
            if (this.queueInProgress) {
                this.queueProperty(D);
            } else {
                this.fireEvent(D, E.value);
            }
        }
    },applyConfig:function(E, H) {
        var G,D,F;
        if (H) {
            F = {};
            for (G in E) {
                if (B.hasOwnProperty(E, G)) {
                    F[G.toLowerCase()] = E[G];
                }
            }
            this.initialConfig = F;
        }
        for (G in E) {
            if (B.hasOwnProperty(E, G)) {
                this.queueProperty(G, E[G]);
            }
        }
    },refresh:function() {
        var D;
        for (D in this.config) {
            this.refireEvent(D);
        }
    },fireQueue:function() {
        var E,H,D,G,F;
        this.queueInProgress = true;
        for (E = 0; E < this.eventQueue.length; E++) {
            H = this.eventQueue[E];
            if (H) {
                D = H[0];
                G = H[1];
                F = this.config[D];
                F.value = G;
                this.fireEvent(D, G);
            }
        }
        this.queueInProgress = false;
        this.eventQueue = [];
    },subscribeToConfigEvent:function(E, F, H, D) {
        var G = this.config[E.toLowerCase()];
        if (G && G.event) {
            if (!A.alreadySubscribed(G.event, F, H)) {
                G.event.subscribe(F, H, D);
            }
            return true;
        } else {
            return false;
        }
    },unsubscribeFromConfigEvent:function(D, E, G) {
        var F = this.config[D.toLowerCase()];
        if (F && F.event) {
            return F.event.unsubscribe(E, G);
        } else {
            return false;
        }
    },toString:function() {
        var D = "Config";
        if (this.owner) {
            D += " [" + this.owner.toString() + "]";
        }
        return D;
    },outputEventQueue:function() {
        var D = "",G,E,F = this.eventQueue.length;
        for (E = 0; E < F; E++) {
            G = this.eventQueue[E];
            if (G) {
                D += G[0] + "=" + G[1] + ", ";
            }
        }
        return D;
    },destroy:function() {
        var E = this.config,D,F;
        for (D in E) {
            if (B.hasOwnProperty(E, D)) {
                F = E[D];
                F.event.unsubscribeAll();
                F.event = null;
            }
        }
        this.configChangedEvent.unsubscribeAll();
        this.configChangedEvent = null;
        this.owner = null;
        this.config = null;
        this.initialConfig = null;
        this.eventQueue = null;
    }};
    A.alreadySubscribed = function(E, H, I) {
        var F = E.subscribers.length,D,G;
        if (F > 0) {
            G = F - 1;
            do{
                D = E.subscribers[G];
                if (D && D.obj == I && D.fn == H) {
                    return true;
                }
            } while (G--);
        }
        return false;
    };
    YAHOO.lang.augmentProto(A, YAHOO.util.EventProvider);
}());
(function() {
    YAHOO.widget.Module = function(Q, P) {
        if (Q) {
            this.init(Q, P);
        } else {
        }
    };
    var F = YAHOO.util.Dom,D = YAHOO.util.Config,M = YAHOO.util.Event,L = YAHOO.util.CustomEvent,G = YAHOO.widget.Module,H,O,N,E,A = {"BEFORE_INIT":"beforeInit","INIT":"init","APPEND":"append","BEFORE_RENDER":"beforeRender","RENDER":"render","CHANGE_HEADER":"changeHeader","CHANGE_BODY":"changeBody","CHANGE_FOOTER":"changeFooter","CHANGE_CONTENT":"changeContent","DESTORY":"destroy","BEFORE_SHOW":"beforeShow","SHOW":"show","BEFORE_HIDE":"beforeHide","HIDE":"hide"},I = {"VISIBLE":{key:"visible",value:true,validator:YAHOO.lang.isBoolean},"EFFECT":{key:"effect",suppressEvent:true,supercedes:["visible"]},"MONITOR_RESIZE":{key:"monitorresize",value:true},"APPEND_TO_DOCUMENT_BODY":{key:"appendtodocumentbody",value:false}};
    G.IMG_ROOT = null;
    G.IMG_ROOT_SSL = null;
    G.CSS_MODULE = "yui-module";
    G.CSS_HEADER = "hd";
    G.CSS_BODY = "bd";
    G.CSS_FOOTER = "ft";
    G.RESIZE_MONITOR_SECURE_URL = "javascript:false;";
    G.textResizeEvent = new L("textResize");
    function K() {
        if (!H) {
            H = document.createElement("div");
            H.innerHTML = ("<div class=\"" + G.CSS_HEADER + "\"></div><div class=\"" + G.CSS_BODY +
                           "\"></div><div class=\"" + G.CSS_FOOTER + "\"></div>");
            O = H.firstChild;
            N = O.nextSibling;
            E = N.nextSibling;
        }
        return H;
    }
    function J() {
        if (!O) {
            K();
        }
        return(O.cloneNode(false));
    }
    function B() {
        if (!N) {
            K();
        }
        return(N.cloneNode(false));
    }
    function C() {
        if (!E) {
            K();
        }
        return(E.cloneNode(false));
    }
    G.prototype =
    {constructor:G,element:null,header:null,body:null,footer:null,id:null,imageRoot:G.IMG_ROOT,initEvents:function() {
        var P = L.LIST;
        this.beforeInitEvent = this.createEvent(A.BEFORE_INIT);
        this.beforeInitEvent.signature = P;
        this.initEvent = this.createEvent(A.INIT);
        this.initEvent.signature = P;
        this.appendEvent = this.createEvent(A.APPEND);
        this.appendEvent.signature = P;
        this.beforeRenderEvent = this.createEvent(A.BEFORE_RENDER);
        this.beforeRenderEvent.signature = P;
        this.renderEvent = this.createEvent(A.RENDER);
        this.renderEvent.signature = P;
        this.changeHeaderEvent = this.createEvent(A.CHANGE_HEADER);
        this.changeHeaderEvent.signature = P;
        this.changeBodyEvent = this.createEvent(A.CHANGE_BODY);
        this.changeBodyEvent.signature = P;
        this.changeFooterEvent = this.createEvent(A.CHANGE_FOOTER);
        this.changeFooterEvent.signature = P;
        this.changeContentEvent = this.createEvent(A.CHANGE_CONTENT);
        this.changeContentEvent.signature = P;
        this.destroyEvent = this.createEvent(A.DESTORY);
        this.destroyEvent.signature = P;
        this.beforeShowEvent = this.createEvent(A.BEFORE_SHOW);
        this.beforeShowEvent.signature = P;
        this.showEvent = this.createEvent(A.SHOW);
        this.showEvent.signature = P;
        this.beforeHideEvent = this.createEvent(A.BEFORE_HIDE);
        this.beforeHideEvent.signature = P;
        this.hideEvent = this.createEvent(A.HIDE);
        this.hideEvent.signature = P;
    },platform:function() {
        var P = navigator.userAgent.toLowerCase();
        if (P.indexOf("windows") != -1 || P.indexOf("win32") != -1) {
            return"windows";
        } else {
            if (P.indexOf("macintosh") != -1) {
                return"mac";
            } else {
                return false;
            }
        }
    }(),browser:function() {
        var P = navigator.userAgent.toLowerCase();
        if (P.indexOf("opera") != -1) {
            return"opera";
        } else {
            if (P.indexOf("msie 7") != -1) {
                return"ie7";
            } else {
                if (P.indexOf("msie") != -1) {
                    return"ie";
                } else {
                    if (P.indexOf("safari") != -1) {
                        return"safari";
                    } else {
                        if (P.indexOf("gecko") != -1) {
                            return"gecko";
                        } else {
                            return false;
                        }
                    }
                }
            }
        }
    }(),isSecure:function() {
        if (window.location.href.toLowerCase().indexOf("https") === 0) {
            return true;
        } else {
            return false;
        }
    }(),initDefaultConfig:function() {
        this.cfg.addProperty(I.VISIBLE.key, {handler:this.configVisible,value:I.VISIBLE.value,validator:I.VISIBLE.validator});
        this.cfg.addProperty(I.EFFECT.key, {suppressEvent:I.EFFECT.suppressEvent,supercedes:I.EFFECT.supercedes});
        this.cfg.addProperty(I.MONITOR_RESIZE.key, {handler:this.configMonitorResize,value:I.MONITOR_RESIZE.value});
        this.cfg.addProperty(I.APPEND_TO_DOCUMENT_BODY.key, {value:I.APPEND_TO_DOCUMENT_BODY.value});
    },init:function(V, U) {
        var R,T,W;
        this.initEvents();
        this.beforeInitEvent.fire(G);
        this.cfg = new D(this);
        if (this.isSecure) {
            this.imageRoot = G.IMG_ROOT_SSL;
        }
        if (typeof V == "string") {
            R = V;
            V = document.getElementById(V);
            if (!V) {
                V = (K()).cloneNode(false);
                V.id = R;
            }
        }
        this.element = V;
        if (V.id) {
            this.id = V.id;
        }
        W = this.element.firstChild;
        if (W) {
            var Q = false,P = false,S = false;
            do{
                if (1 == W.nodeType) {
                    if (!Q && F.hasClass(W, G.CSS_HEADER)) {
                        this.header = W;
                        Q = true;
                    } else {
                        if (!P && F.hasClass(W, G.CSS_BODY)) {
                            this.body = W;
                            P = true;
                        } else {
                            if (!S && F.hasClass(W, G.CSS_FOOTER)) {
                                this.footer = W;
                                S = true;
                            }
                        }
                    }
                }
            } while ((W = W.nextSibling));
        }
        this.initDefaultConfig();
        F.addClass(this.element, G.CSS_MODULE);
        if (U) {
            this.cfg.applyConfig(U, true);
        }
        if (!D.alreadySubscribed(this.renderEvent, this.cfg.fireQueue, this.cfg)) {
            this.renderEvent.subscribe(this.cfg.fireQueue, this.cfg, true);
        }
        this.initEvent.fire(G);
    },initResizeMonitor:function() {
        var P,Q,S;
        function T() {
            G.textResizeEvent.fire();
        }
        if (!YAHOO.env.ua.opera) {
            Q = F.get("_yuiResizeMonitor");
            if (!Q) {
                Q = document.createElement("iframe");
                if (this.isSecure && G.RESIZE_MONITOR_SECURE_URL && YAHOO.env.ua.ie) {
                    Q.src = G.RESIZE_MONITOR_SECURE_URL;
                }
                if (YAHOO.env.ua.gecko) {
                    S =
                    "<html><head><script type=\"text/javascript\">window.onresize=function(){window.parent.YAHOO.widget.Module.textResizeEvent.fire();};window.parent.YAHOO.widget.Module.textResizeEvent.fire();</script></head><body></body></html>";
                    Q.src = "data:text/html;charset=utf-8," + encodeURIComponent(S);
                }
                Q.id = "_yuiResizeMonitor";
                Q.style.position = "absolute";
                Q.style.visibility = "hidden";
                var R = document.body.firstChild;
                if (R) {
                    document.body.insertBefore(Q, R);
                } else {
                    document.body.appendChild(Q);
                }
                Q.style.width = "10em";
                Q.style.height = "10em";
                Q.style.top = (-1 * Q.offsetHeight) + "px";
                Q.style.left = (-1 * Q.offsetWidth) + "px";
                Q.style.borderWidth = "0";
                Q.style.visibility = "visible";
                if (YAHOO.env.ua.webkit) {
                    P = Q.contentWindow.document;
                    P.open();
                    P.close();
                }
            }
            if (Q && Q.contentWindow) {
                G.textResizeEvent.subscribe(this.onDomResize, this, true);
                if (!G.textResizeInitialized) {
                    if (!M.on(Q.contentWindow, "resize", T)) {
                        M.on(Q, "resize", T);
                    }
                    G.textResizeInitialized = true;
                }
                this.resizeMonitor = Q;
            }
        }
    },onDomResize:function(S, R) {
        var Q = -1 * this.resizeMonitor.offsetWidth,P = -1 * this.resizeMonitor.offsetHeight;
        this.resizeMonitor.style.top = P + "px";
        this.resizeMonitor.style.left = Q + "px";
    },setHeader:function(Q) {
        var P = this.header || (this.header = J());
        if (typeof Q == "string") {
            P.innerHTML = Q;
        } else {
            P.innerHTML = "";
            P.appendChild(Q);
        }
        this.changeHeaderEvent.fire(Q);
        this.changeContentEvent.fire();
    },appendToHeader:function(Q) {
        var P = this.header || (this.header = J());
        P.appendChild(Q);
        this.changeHeaderEvent.fire(Q);
        this.changeContentEvent.fire();
    },setBody:function(Q) {
        var P = this.body || (this.body = B());
        if (typeof Q == "string") {
            P.innerHTML = Q;
        } else {
            P.innerHTML = "";
            P.appendChild(Q);
        }
        this.changeBodyEvent.fire(Q);
        this.changeContentEvent.fire();
    },appendToBody:function(Q) {
        var P = this.body || (this.body = B());
        P.appendChild(Q);
        this.changeBodyEvent.fire(Q);
        this.changeContentEvent.fire();
    },setFooter:function(Q) {
        var P = this.footer || (this.footer = C());
        if (typeof Q == "string") {
            P.innerHTML = Q;
        } else {
            P.innerHTML = "";
            P.appendChild(Q);
        }
        this.changeFooterEvent.fire(Q);
        this.changeContentEvent.fire();
    },appendToFooter:function(Q) {
        var P = this.footer || (this.footer = C());
        P.appendChild(Q);
        this.changeFooterEvent.fire(Q);
        this.changeContentEvent.fire();
    },render:function(R, P) {
        var S = this,T;
        function Q(U) {
            if (typeof U == "string") {
                U = document.getElementById(U);
            }
            if (U) {
                S._addToParent(U, S.element);
                S.appendEvent.fire();
            }
        }
        this.beforeRenderEvent.fire();
        if (!P) {
            P = this.element;
        }
        if (R) {
            Q(R);
        } else {
            if (!F.inDocument(this.element)) {
                return false;
            }
        }
        if (this.header && !F.inDocument(this.header)) {
            T = P.firstChild;
            if (T) {
                P.insertBefore(this.header, T);
            } else {
                P.appendChild(this.header);
            }
        }
        if (this.body && !F.inDocument(this.body)) {
            if (this.footer && F.isAncestor(this.moduleElement, this.footer)) {
                P.insertBefore(this.body, this.footer);
            } else {
                P.appendChild(this.body);
            }
        }
        if (this.footer && !F.inDocument(this.footer)) {
            P.appendChild(this.footer);
        }
        this.renderEvent.fire();
        return true;
    },destroy:function() {
        var P,Q;
        if (this.element) {
            M.purgeElement(this.element, true);
            P = this.element.parentNode;
        }
        if (P) {
            P.removeChild(this.element);
        }
        this.element = null;
        this.header = null;
        this.body = null;
        this.footer = null;
        G.textResizeEvent.unsubscribe(this.onDomResize, this);
        this.cfg.destroy();
        this.cfg = null;
        this.destroyEvent.fire();
        for (Q in this) {
            if (Q instanceof L) {
                Q.unsubscribeAll();
            }
        }
    },show:function() {
        this.cfg.setProperty("visible", true);
    },hide:function() {
        this.cfg.setProperty("visible", false);
    },configVisible:function(Q, P, R) {
        var S = P[0];
        if (S) {
            this.beforeShowEvent.fire();
            F.setStyle(this.element, "display", "block");
            this.showEvent.fire();
        } else {
            this.beforeHideEvent.fire();
            F.setStyle(this.element, "display", "none");
            this.hideEvent.fire();
        }
    },configMonitorResize:function(R, Q, S) {
        var P = Q[0];
        if (P) {
            this.initResizeMonitor();
        } else {
            G.textResizeEvent.unsubscribe(this.onDomResize, this, true);
            this.resizeMonitor = null;
        }
    },_addToParent:function(P, Q) {
        if (!this.cfg.getProperty("appendtodocumentbody") && P === document.body && P.firstChild) {
            P.insertBefore(Q, P.firstChild);
        } else {
            P.appendChild(Q);
        }
    },toString:function() {
        return"Module " + this.id;
    }};
    YAHOO.lang.augmentProto(G, YAHOO.util.EventProvider);
}());
(function() {
    YAHOO.widget.Overlay = function(L, K) {
        YAHOO.widget.Overlay.superclass.constructor.call(this, L, K);
    };
    var F = YAHOO.lang,I = YAHOO.util.CustomEvent,E = YAHOO.widget.Module,J = YAHOO.util.Event,D = YAHOO.util.Dom,C = YAHOO.util.Config,B = YAHOO.widget.Overlay,G,A = {"BEFORE_MOVE":"beforeMove","MOVE":"move"},H = {"X":{key:"x",validator:F.isNumber,suppressEvent:true,supercedes:["iframe"]},"Y":{key:"y",validator:F.isNumber,suppressEvent:true,supercedes:["iframe"]},"XY":{key:"xy",suppressEvent:true,supercedes:["iframe"]},"CONTEXT":{key:"context",suppressEvent:true,supercedes:["iframe"]},"FIXED_CENTER":{key:"fixedcenter",value:false,validator:F.isBoolean,supercedes:["iframe","visible"]},"WIDTH":{key:"width",suppressEvent:true,supercedes:["context","fixedcenter","iframe"]},"HEIGHT":{key:"height",suppressEvent:true,supercedes:["context","fixedcenter","iframe"]},"ZINDEX":{key:"zindex",value:null},"CONSTRAIN_TO_VIEWPORT":{key:"constraintoviewport",value:false,validator:F.isBoolean,supercedes:["iframe","x","y","xy"]},"IFRAME":{key:"iframe",value:(
            YAHOO.env.ua.ie == 6 ? true : false),validator:F.isBoolean,supercedes:["zindex"]}};
    B.IFRAME_SRC = "javascript:false;";
    B.IFRAME_OFFSET = 3;
    B.TOP_LEFT = "tl";
    B.TOP_RIGHT = "tr";
    B.BOTTOM_LEFT = "bl";
    B.BOTTOM_RIGHT = "br";
    B.CSS_OVERLAY = "yui-overlay";
    B.windowScrollEvent = new I("windowScroll");
    B.windowResizeEvent = new I("windowResize");
    B.windowScrollHandler = function(K) {
        if (YAHOO.env.ua.ie) {
            if (!window.scrollEnd) {
                window.scrollEnd = -1;
            }
            clearTimeout(window.scrollEnd);
            window.scrollEnd = setTimeout(function() {
                B.windowScrollEvent.fire();
            }, 1);
        } else {
            B.windowScrollEvent.fire();
        }
    };
    B.windowResizeHandler = function(K) {
        if (YAHOO.env.ua.ie) {
            if (!window.resizeEnd) {
                window.resizeEnd = -1;
            }
            clearTimeout(window.resizeEnd);
            window.resizeEnd = setTimeout(function() {
                B.windowResizeEvent.fire();
            }, 100);
        } else {
            B.windowResizeEvent.fire();
        }
    };
    B._initialized = null;
    if (B._initialized === null) {
        J.on(window, "scroll", B.windowScrollHandler);
        J.on(window, "resize", B.windowResizeHandler);
        B._initialized = true;
    }
    YAHOO.extend(B, E, {init:function(L, K) {
        B.superclass.init.call(this, L);
        this.beforeInitEvent.fire(B);
        D.addClass(this.element, B.CSS_OVERLAY);
        if (K) {
            this.cfg.applyConfig(K, true);
        }
        if (this.platform == "mac" && YAHOO.env.ua.gecko) {
            if (!C.alreadySubscribed(this.showEvent, this.showMacGeckoScrollbars, this)) {
                this.showEvent.subscribe(this.showMacGeckoScrollbars, this, true);
            }
            if (!C.alreadySubscribed(this.hideEvent, this.hideMacGeckoScrollbars, this)) {
                this.hideEvent.subscribe(this.hideMacGeckoScrollbars, this, true);
            }
        }
        this.initEvent.fire(B);
    },initEvents:function() {
        B.superclass.initEvents.call(this);
        var K = I.LIST;
        this.beforeMoveEvent = this.createEvent(A.BEFORE_MOVE);
        this.beforeMoveEvent.signature = K;
        this.moveEvent = this.createEvent(A.MOVE);
        this.moveEvent.signature = K;
    },initDefaultConfig:function() {
        B.superclass.initDefaultConfig.call(this);
        this.cfg.addProperty(H.X.key, {handler:this.configX,validator:H.X.validator,suppressEvent:H.X.suppressEvent,supercedes:H.X.supercedes});
        this.cfg.addProperty(H.Y.key, {handler:this.configY,validator:H.Y.validator,suppressEvent:H.Y.suppressEvent,supercedes:H.Y.supercedes});
        this.cfg.addProperty(H.XY.key, {handler:this.configXY,suppressEvent:H.XY.suppressEvent,supercedes:H.XY.supercedes});
        this.cfg.addProperty(H.CONTEXT.key, {handler:this.configContext,suppressEvent:H.CONTEXT.suppressEvent,supercedes:H.CONTEXT.supercedes});
        this.cfg.addProperty(H.FIXED_CENTER.key, {handler:this.configFixedCenter,value:H.FIXED_CENTER.value,validator:H.FIXED_CENTER.validator,supercedes:H.FIXED_CENTER.supercedes});
        this.cfg.addProperty(H.WIDTH.key, {handler:this.configWidth,suppressEvent:H.WIDTH.suppressEvent,supercedes:H.WIDTH.supercedes});
        this.cfg.addProperty(H.HEIGHT.key, {handler:this.configHeight,suppressEvent:H.HEIGHT.suppressEvent,supercedes:H.HEIGHT.supercedes});
        this.cfg.addProperty(H.ZINDEX.key, {handler:this.configzIndex,value:H.ZINDEX.value});
        this.cfg.addProperty(H.CONSTRAIN_TO_VIEWPORT.key, {handler:this.configConstrainToViewport,value:H.CONSTRAIN_TO_VIEWPORT.value,validator:H.CONSTRAIN_TO_VIEWPORT.validator,supercedes:H.CONSTRAIN_TO_VIEWPORT.supercedes});
        this.cfg.addProperty(H.IFRAME.key, {handler:this.configIframe,value:H.IFRAME.value,validator:H.IFRAME.validator,supercedes:H.IFRAME.supercedes});
    },moveTo:function(K, L) {
        this.cfg.setProperty("xy", [K,L]);
    },hideMacGeckoScrollbars:function() {
        D.removeClass(this.element, "show-scrollbars");
        D.addClass(this.element, "hide-scrollbars");
    },showMacGeckoScrollbars:function() {
        D.removeClass(this.element, "hide-scrollbars");
        D.addClass(this.element, "show-scrollbars");
    },configVisible:function(N, K, T) {
        var M = K[0],O = D.getStyle(this.element, "visibility"),U = this.cfg.getProperty("effect"),R = [],Q = (this.platform ==
                                                                                                               "mac" &&
                                                                                                               YAHOO.env.ua.gecko),b = C.alreadySubscribed,S,L,a,Y,X,W,Z,V,P;
        if (O == "inherit") {
            a = this.element.parentNode;
            while (a.nodeType != 9 && a.nodeType != 11) {
                O = D.getStyle(a, "visibility");
                if (O != "inherit") {
                    break;
                }
                a = a.parentNode;
            }
            if (O == "inherit") {
                O = "visible";
            }
        }
        if (U) {
            if (U instanceof Array) {
                V = U.length;
                for (Y = 0; Y < V; Y++) {
                    S = U[Y];
                    R[R.length] = S.effect(this, S.duration);
                }
            } else {
                R[R.length] = U.effect(this, U.duration);
            }
        }
        if (M) {
            if (Q) {
                this.showMacGeckoScrollbars();
            }
            if (U) {
                if (M) {
                    if (O != "visible" || O === "") {
                        this.beforeShowEvent.fire();
                        P = R.length;
                        for (X = 0; X < P; X++) {
                            L = R[X];
                            if (X === 0 &&
                                !b(L.animateInCompleteEvent, this.showEvent.fire, this.showEvent)) {
                                L.animateInCompleteEvent.subscribe(this.showEvent.fire, this.showEvent, true);
                            }
                            L.animateIn();
                        }
                    }
                }
            } else {
                if (O != "visible" || O === "") {
                    this.beforeShowEvent.fire();
                    D.setStyle(this.element, "visibility", "visible");
                    this.cfg.refireEvent("iframe");
                    this.showEvent.fire();
                }
            }
        } else {
            if (Q) {
                this.hideMacGeckoScrollbars();
            }
            if (U) {
                if (O == "visible") {
                    this.beforeHideEvent.fire();
                    P = R.length;
                    for (W = 0; W < P; W++) {
                        Z = R[W];
                        if (W === 0 &&
                            !b(Z.animateOutCompleteEvent, this.hideEvent.fire, this.hideEvent)) {
                            Z.animateOutCompleteEvent.subscribe(this.hideEvent.fire, this.hideEvent, true);
                        }
                        Z.animateOut();
                    }
                } else {
                    if (O === "") {
                        D.setStyle(this.element, "visibility", "hidden");
                    }
                }
            } else {
                if (O == "visible" || O === "") {
                    this.beforeHideEvent.fire();
                    D.setStyle(this.element, "visibility", "hidden");
                    this.hideEvent.fire();
                }
            }
        }
    },doCenterOnDOMEvent:function() {
        if (this.cfg.getProperty("visible")) {
            this.center();
        }
    },configFixedCenter:function(O, M, P) {
        var Q = M[0],L = C.alreadySubscribed,N = B.windowResizeEvent,K = B.windowScrollEvent;
        if (Q) {
            this.center();
            if (!L(this.beforeShowEvent, this.center, this)) {
                this.beforeShowEvent.subscribe(this.center);
            }
            if (!L(N, this.doCenterOnDOMEvent, this)) {
                N.subscribe(this.doCenterOnDOMEvent, this, true);
            }
            if (!L(K, this.doCenterOnDOMEvent, this)) {
                K.subscribe(this.doCenterOnDOMEvent, this, true);
            }
        } else {
            this.beforeShowEvent.unsubscribe(this.center);
            N.unsubscribe(this.doCenterOnDOMEvent, this);
            K.unsubscribe(this.doCenterOnDOMEvent, this);
        }
    },configHeight:function(N, L, O) {
        var K = L[0],M = this.element;
        D.setStyle(M, "height", K);
        this.cfg.refireEvent("iframe");
    },configWidth:function(N, K, O) {
        var M = K[0],L = this.element;
        D.setStyle(L, "width", M);
        this.cfg.refireEvent("iframe");
    },configzIndex:function(M, K, N) {
        var O = K[0],L = this.element;
        if (!O) {
            O = D.getStyle(L, "zIndex");
            if (!O || isNaN(O)) {
                O = 0;
            }
        }
        if (this.iframe || this.cfg.getProperty("iframe") === true) {
            if (O <= 0) {
                O = 1;
            }
        }
        D.setStyle(L, "zIndex", O);
        this.cfg.setProperty("zIndex", O, true);
        if (this.iframe) {
            this.stackIframe();
        }
    },configXY:function(M, L, N) {
        var P = L[0],K = P[0],O = P[1];
        this.cfg.setProperty("x", K);
        this.cfg.setProperty("y", O);
        this.beforeMoveEvent.fire([K,O]);
        K = this.cfg.getProperty("x");
        O = this.cfg.getProperty("y");
        this.cfg.refireEvent("iframe");
        this.moveEvent.fire([K,O]);
    },configX:function(M, L, N) {
        var K = L[0],O = this.cfg.getProperty("y");
        this.cfg.setProperty("x", K, true);
        this.cfg.setProperty("y", O, true);
        this.beforeMoveEvent.fire([K,O]);
        K = this.cfg.getProperty("x");
        O = this.cfg.getProperty("y");
        D.setX(this.element, K, true);
        this.cfg.setProperty("xy", [K,O], true);
        this.cfg.refireEvent("iframe");
        this.moveEvent.fire([K,O]);
    },configY:function(M, L, N) {
        var K = this.cfg.getProperty("x"),O = L[0];
        this.cfg.setProperty("x", K, true);
        this.cfg.setProperty("y", O, true);
        this.beforeMoveEvent.fire([K,O]);
        K = this.cfg.getProperty("x");
        O = this.cfg.getProperty("y");
        D.setY(this.element, O, true);
        this.cfg.setProperty("xy", [K,O], true);
        this.cfg.refireEvent("iframe");
        this.moveEvent.fire([K,O]);
    },showIframe:function() {
        var L = this.iframe,K;
        if (L) {
            K = this.element.parentNode;
            if (K != L.parentNode) {
                this._addToParent(K, L);
            }
            L.style.display = "block";
        }
    },hideIframe:function() {
        if (this.iframe) {
            this.iframe.style.display = "none";
        }
    },syncIframe:function() {
        var K = this.iframe,M = this.element,O = B.IFRAME_OFFSET,L = (O * 2),N;
        if (K) {
            K.style.width = (M.offsetWidth + L + "px");
            K.style.height = (M.offsetHeight + L + "px");
            N = this.cfg.getProperty("xy");
            if (!F.isArray(N) || (isNaN(N[0]) || isNaN(N[1]))) {
                this.syncPosition();
                N = this.cfg.getProperty("xy");
            }
            D.setXY(K, [(N[0] - O),(N[1] - O)]);
        }
    },stackIframe:function() {
        if (this.iframe) {
            var K = D.getStyle(this.element, "zIndex");
            if (!YAHOO.lang.isUndefined(K) && !isNaN(K)) {
                D.setStyle(this.iframe, "zIndex", (K - 1));
            }
        }
    },configIframe:function(N, M, O) {
        var K = M[0];
        function P() {
            var R = this.iframe,S = this.element,U,T;
            if (!R) {
                if (!G) {
                    G = document.createElement("iframe");
                    if (this.isSecure) {
                        G.src = B.IFRAME_SRC;
                    }
                    if (YAHOO.env.ua.ie) {
                        G.style.filter = "alpha(opacity=0)";
                        G.frameBorder = 0;
                    } else {
                        G.style.opacity = "0";
                    }
                    G.style.position = "absolute";
                    G.style.border = "none";
                    G.style.margin = "0";
                    G.style.padding = "0";
                    G.style.display = "none";
                }
                R = G.cloneNode(false);
                U = S.parentNode;
                var Q = U || document.body;
                this._addToParent(Q, R);
                this.iframe = R;
            }
            this.showIframe();
            this.syncIframe();
            this.stackIframe();
            if (!this._hasIframeEventListeners) {
                this.showEvent.subscribe(this.showIframe);
                this.hideEvent.subscribe(this.hideIframe);
                this.changeContentEvent.subscribe(this.syncIframe);
                this._hasIframeEventListeners = true;
            }
        }
        function L() {
            P.call(this);
            this.beforeShowEvent.unsubscribe(L);
            this._iframeDeferred = false;
        }
        if (K) {
            if (this.cfg.getProperty("visible")) {
                P.call(this);
            } else {
                if (!this._iframeDeferred) {
                    this.beforeShowEvent.subscribe(L);
                    this._iframeDeferred = true;
                }
            }
        } else {
            this.hideIframe();
            if (this._hasIframeEventListeners) {
                this.showEvent.unsubscribe(this.showIframe);
                this.hideEvent.unsubscribe(this.hideIframe);
                this.changeContentEvent.unsubscribe(this.syncIframe);
                this._hasIframeEventListeners = false;
            }
        }
    },configConstrainToViewport:function(L, K, M) {
        var N = K[0];
        if (N) {
            if (!C.alreadySubscribed(this.beforeMoveEvent, this.enforceConstraints, this)) {
                this.beforeMoveEvent.subscribe(this.enforceConstraints, this, true);
            }
        } else {
            this.beforeMoveEvent.unsubscribe(this.enforceConstraints, this);
        }
    },configContext:function(M, L, O) {
        var Q = L[0],N,P,K;
        if (Q) {
            N = Q[0];
            P = Q[1];
            K = Q[2];
            if (N) {
                if (typeof N == "string") {
                    this.cfg.setProperty("context", [document.getElementById(N),P,K], true);
                }
                if (P && K) {
                    this.align(P, K);
                }
            }
        }
    },align:function(L, K) {
        var Q = this.cfg.getProperty("context"),P = this,O,N,R;
        function M(S, T) {
            switch (L) {case B.TOP_LEFT:P.moveTo(T, S);break;case B.TOP_RIGHT:P.moveTo((T -
                                                                                        N.offsetWidth), S);break;case B.BOTTOM_LEFT:P.moveTo(T, (S -
                                                                                                                                                 N.offsetHeight));break;case B.BOTTOM_RIGHT:P.moveTo((T -
                                                                                                                                                                                                      N.offsetWidth), (S -
                                                                                                                                                                                                                       N.offsetHeight));break;}
        }
        if (Q) {
            O = Q[0];
            N = this.element;
            P = this;
            if (!L) {
                L = Q[1];
            }
            if (!K) {
                K = Q[2];
            }
            if (N && O) {
                R = D.getRegion(O);
                switch (K) {case B.TOP_LEFT:M(R.top, R.left);
                    break;case B.TOP_RIGHT:M(R.top, R.right);break;case B.BOTTOM_LEFT:M(R.bottom, R.left);break;case B.BOTTOM_RIGHT:M(R.bottom, R.right);break;}
            }
        }
    },enforceConstraints:function(S, R, O) {
        var U = R[0],W = U[0],V = U[1],L = this.element.offsetHeight,Q = this.element.offsetWidth,T = D.getViewportWidth(),N = D.getViewportHeight(),Z = D.getDocumentScrollLeft(),X = D.getDocumentScrollTop(),M = X +
                                                                                                                                                                                                                    10,P = Z +
                                                                                                                                                                                                                           10,K = X +
                                                                                                                                                                                                                                  N -
                                                                                                                                                                                                                                  L -
                                                                                                                                                                                                                                  10,Y = Z +
                                                                                                                                                                                                                                         T -
                                                                                                                                                                                                                                         Q -
                                                                                                                                                                                                                                         10;
        if (W < P) {
            W = P;
        } else {
            if (W > Y) {
                W = Y;
            }
        }
        if (V < M) {
            V = M;
        } else {
            if (V > K) {
                V = K;
            }
        }
        this.cfg.setProperty("x", W, true);
        this.cfg.setProperty("y", V, true);
        this.cfg.setProperty("xy", [W,V], true);
    },center:function() {
        var Q = D.getDocumentScrollLeft(),O = D.getDocumentScrollTop(),L = D.getClientWidth(),P = D.getClientHeight(),N = this.element.offsetWidth,M = this.element.offsetHeight,K = (L /
                                                                                                                                                                                      2) -
                                                                                                                                                                                     (N /
                                                                                                                                                                                      2) +
                                                                                                                                                                                     Q,R = (P /
                                                                                                                                                                                            2) -
                                                                                                                                                                                           (M /
                                                                                                                                                                                            2) +
                                                                                                                                                                                           O;
        this.cfg.setProperty("xy", [parseInt(K, 10),parseInt(R, 10)]);
        this.cfg.refireEvent("iframe");
    },syncPosition:function() {
        var K = D.getXY(this.element);
        this.cfg.setProperty("x", K[0], true);
        this.cfg.setProperty("y", K[1], true);
        this.cfg.setProperty("xy", K, true);
    },onDomResize:function(M, L) {
        var K = this;
        B.superclass.onDomResize.call(this, M, L);
        setTimeout(function() {
            K.syncPosition();
            K.cfg.refireEvent("iframe");
            K.cfg.refireEvent("context");
        }, 0);
    },bringToTop:function() {
        var N = [],M = this.element;
        function P(T, S) {
            var V = D.getStyle(T, "zIndex"),U = D.getStyle(S, "zIndex"),R = (!V || isNaN(V)) ? 0 :
                                                                            parseInt(V, 10),Q =
                    (!U || isNaN(U)) ? 0 : parseInt(U, 10);
            if (R > Q) {
                return -1;
            } else {
                if (R < Q) {
                    return 1;
                } else {
                    return 0;
                }
            }
        }
        function L(S) {
            var Q = D.hasClass(S, B.CSS_OVERLAY),R = YAHOO.widget.Panel;
            if (Q && !D.isAncestor(M, Q)) {
                if (R && D.hasClass(S, R.CSS_PANEL)) {
                    N[N.length] = S.parentNode;
                } else {
                    N[N.length] = S;
                }
            }
        }
        D.getElementsBy(L, "DIV", document.body);
        N.sort(P);
        var K = N[0],O;
        if (K) {
            O = D.getStyle(K, "zIndex");
            if (!isNaN(O) && K != M) {
                this.cfg.setProperty("zindex", (parseInt(O, 10) + 2));
            }
        }
    },destroy:function() {
        if (this.iframe) {
            this.iframe.parentNode.removeChild(this.iframe);
        }
        this.iframe = null;
        B.windowResizeEvent.unsubscribe(this.doCenterOnDOMEvent, this);
        B.windowScrollEvent.unsubscribe(this.doCenterOnDOMEvent, this);
        B.superclass.destroy.call(this);
    },toString:function() {
        return"Overlay " + this.id;
    }});
}());
(function() {
    YAHOO.widget.OverlayManager = function(G) {
        this.init(G);
    };
    var D = YAHOO.widget.Overlay,C = YAHOO.util.Event,E = YAHOO.util.Dom,B = YAHOO.util.Config,F = YAHOO.util.CustomEvent,A = YAHOO.widget.OverlayManager;
    A.CSS_FOCUSED = "focused";
    A.prototype = {constructor:A,overlays:null,initDefaultConfig:function() {
        this.cfg.addProperty("overlays", {suppressEvent:true});
        this.cfg.addProperty("focusevent", {value:"mousedown"});
    },init:function(I) {
        this.cfg = new B(this);
        this.initDefaultConfig();
        if (I) {
            this.cfg.applyConfig(I, true);
        }
        this.cfg.fireQueue();
        var H = null;
        this.getActive = function() {
            return H;
        };
        this.focus = function(J) {
            var K = this.find(J);
            if (K) {
                if (H != K) {
                    if (H) {
                        H.blur();
                    }
                    this.bringToTop(K);
                    H = K;
                    E.addClass(H.element, A.CSS_FOCUSED);
                    K.focusEvent.fire();
                }
            }
        };
        this.remove = function(K) {
            var M = this.find(K),J;
            if (M) {
                if (H == M) {
                    H = null;
                }
                var L = (M.element === null && M.cfg === null) ? true : false;
                if (!L) {
                    J = E.getStyle(M.element, "zIndex");
                    M.cfg.setProperty("zIndex", -1000, true);
                }
                this.overlays.sort(this.compareZIndexDesc);
                this.overlays = this.overlays.slice(0, (this.overlays.length - 1));
                M.hideEvent.unsubscribe(M.blur);
                M.destroyEvent.unsubscribe(this._onOverlayDestroy, M);
                if (!L) {
                    C.removeListener(M.element, this.cfg.getProperty("focusevent"), this._onOverlayElementFocus);
                    M.cfg.setProperty("zIndex", J, true);
                    M.cfg.setProperty("manager", null);
                }
                M.focusEvent.unsubscribeAll();
                M.blurEvent.unsubscribeAll();
                M.focusEvent = null;
                M.blurEvent = null;
                M.focus = null;
                M.blur = null;
            }
        };
        this.blurAll = function() {
            var K = this.overlays.length,J;
            if (K > 0) {
                J = K - 1;
                do{
                    this.overlays[J].blur();
                } while (J--);
            }
        };
        this._onOverlayBlur = function(K, J) {
            H = null;
        };
        var G = this.cfg.getProperty("overlays");
        if (!this.overlays) {
            this.overlays = [];
        }
        if (G) {
            this.register(G);
            this.overlays.sort(this.compareZIndexDesc);
        }
    },_onOverlayElementFocus:function(I) {
        var G = C.getTarget(I),H = this.close;
        if (H && (G == H || E.isAncestor(H, G))) {
            this.blur();
        } else {
            this.focus();
        }
    },_onOverlayDestroy:function(H, G, I) {
        this.remove(I);
    },register:function(G) {
        var K = this,L,I,H,J;
        if (G instanceof D) {
            G.cfg.addProperty("manager", {value:this});
            G.focusEvent = G.createEvent("focus");
            G.focusEvent.signature = F.LIST;
            G.blurEvent = G.createEvent("blur");
            G.blurEvent.signature = F.LIST;
            G.focus = function() {
                K.focus(this);
            };
            G.blur = function() {
                if (K.getActive() == this) {
                    E.removeClass(this.element, A.CSS_FOCUSED);
                    this.blurEvent.fire();
                }
            };
            G.blurEvent.subscribe(K._onOverlayBlur);
            G.hideEvent.subscribe(G.blur);
            G.destroyEvent.subscribe(this._onOverlayDestroy, G, this);
            C.on(G.element, this.cfg.getProperty("focusevent"), this._onOverlayElementFocus, null, G);
            L = E.getStyle(G.element, "zIndex");
            if (!isNaN(L)) {
                G.cfg.setProperty("zIndex", parseInt(L, 10));
            } else {
                G.cfg.setProperty("zIndex", 0);
            }
            this.overlays.push(G);
            this.bringToTop(G);
            return true;
        } else {
            if (G instanceof Array) {
                I = 0;
                J = G.length;
                for (H = 0; H < J; H++) {
                    if (this.register(G[H])) {
                        I++;
                    }
                }
                if (I > 0) {
                    return true;
                }
            } else {
                return false;
            }
        }
    },bringToTop:function(K) {
        var H = this.find(K),J,G,I;
        if (H) {
            I = this.overlays;
            I.sort(this.compareZIndexDesc);
            G = I[0];
            if (G) {
                J = E.getStyle(G.element, "zIndex");
                if (!isNaN(J) && G != H) {
                    H.cfg.setProperty("zIndex", (parseInt(J, 10) + 2));
                }
                I.sort(this.compareZIndexDesc);
            }
        }
    },find:function(G) {
        var I = this.overlays,J = I.length,H;
        if (J > 0) {
            H = J - 1;
            if (G instanceof D) {
                do{
                    if (I[H] == G) {
                        return I[H];
                    }
                } while (H--);
            } else {
                if (typeof G == "string") {
                    do{
                        if (I[H].id == G) {
                            return I[H];
                        }
                    } while (H--);
                }
            }
            return null;
        }
    },compareZIndexDesc:function(J, I) {
        var H = (J.cfg) ? J.cfg.getProperty("zIndex") : null,G = (I.cfg) ?
                                                                 I.cfg.getProperty("zIndex") : null;
        if (H === null && G === null) {
            return 0;
        } else {
            if (H === null) {
                return 1;
            } else {
                if (G === null) {
                    return -1;
                } else {
                    if (H > G) {
                        return -1;
                    } else {
                        if (H < G) {
                            return 1;
                        } else {
                            return 0;
                        }
                    }
                }
            }
        }
    },showAll:function() {
        var H = this.overlays,I = H.length,G;
        if (I > 0) {
            G = I - 1;
            do{
                H[G].show();
            } while (G--);
        }
    },hideAll:function() {
        var H = this.overlays,I = H.length,G;
        if (I > 0) {
            G = I - 1;
            do{
                H[G].hide();
            } while (G--);
        }
    },toString:function() {
        return"OverlayManager";
    }};
}());
(function() {
    YAHOO.widget.ContainerEffect = function(F, I, H, E, G) {
        if (!G) {
            G = YAHOO.util.Anim;
        }
        this.overlay = F;
        this.attrIn = I;
        this.attrOut = H;
        this.targetElement = E || F.element;
        this.animClass = G;
    };
    var B = YAHOO.util.Dom,D = YAHOO.util.CustomEvent,C = YAHOO.util.Easing,A = YAHOO.widget.ContainerEffect;
    A.FADE = function(E, F) {
        var G = new A(E, {attributes:{opacity:{from:0,to:1}},duration:F,method:C.easeIn}, {attributes:{opacity:{to:0}},duration:F,method:C.easeOut}, E.element);
        G.handleStartAnimateIn = function(I, H, J) {
            B.addClass(J.overlay.element, "hide-select");
            if (!J.overlay.underlay) {
                J.overlay.cfg.refireEvent("underlay");
            }
            if (J.overlay.underlay) {
                J.initialUnderlayOpacity = B.getStyle(J.overlay.underlay, "opacity");
                J.overlay.underlay.style.filter = null;
            }
            B.setStyle(J.overlay.element, "visibility", "visible");
            B.setStyle(J.overlay.element, "opacity", 0);
        };
        G.handleCompleteAnimateIn = function(I, H, J) {
            B.removeClass(J.overlay.element, "hide-select");
            if (J.overlay.element.style.filter) {
                J.overlay.element.style.filter = null;
            }
            if (J.overlay.underlay) {
                B.setStyle(J.overlay.underlay, "opacity", J.initialUnderlayOpacity);
            }
            J.overlay.cfg.refireEvent("iframe");
            J.animateInCompleteEvent.fire();
        };
        G.handleStartAnimateOut = function(I, H, J) {
            B.addClass(J.overlay.element, "hide-select");
            if (J.overlay.underlay) {
                J.overlay.underlay.style.filter = null;
            }
        };
        G.handleCompleteAnimateOut = function(I, H, J) {
            B.removeClass(J.overlay.element, "hide-select");
            if (J.overlay.element.style.filter) {
                J.overlay.element.style.filter = null;
            }
            B.setStyle(J.overlay.element, "visibility", "hidden");
            B.setStyle(J.overlay.element, "opacity", 1);
            J.overlay.cfg.refireEvent("iframe");
            J.animateOutCompleteEvent.fire();
        };
        G.init();
        return G;
    };
    A.SLIDE = function(G, I) {
        var F = G.cfg.getProperty("x") || B.getX(G.element),K = G.cfg.getProperty("y") ||
                                                                B.getY(G.element),J = B.getClientWidth(),H = G.element.offsetWidth,E = new A(G, {attributes:{points:{to:[F,K]}},duration:I,method:C.easeIn}, {attributes:{points:{to:[(J +
                                                                                                                                                                                                                                       25),K]}},duration:I,method:C.easeOut}, G.element, YAHOO.util.Motion);
        E.handleStartAnimateIn = function(M, L, N) {
            N.overlay.element.style.left = ((-25) - H) + "px";
            N.overlay.element.style.top = K + "px";
        };
        E.handleTweenAnimateIn = function(O, N, P) {
            var Q = B.getXY(P.overlay.element),M = Q[0],L = Q[1];
            if (B.getStyle(P.overlay.element, "visibility") == "hidden" && M < F) {
                B.setStyle(P.overlay.element, "visibility", "visible");
            }
            P.overlay.cfg.setProperty("xy", [M,L], true);
            P.overlay.cfg.refireEvent("iframe");
        };
        E.handleCompleteAnimateIn = function(M, L, N) {
            N.overlay.cfg.setProperty("xy", [F,K], true);
            N.startX = F;
            N.startY = K;
            N.overlay.cfg.refireEvent("iframe");
            N.animateInCompleteEvent.fire();
        };
        E.handleStartAnimateOut = function(N, M, Q) {
            var O = B.getViewportWidth(),R = B.getXY(Q.overlay.element),P = R[1],L = Q.animOut.attributes.points.to;
            Q.animOut.attributes.points.to = [(O + 25),P];
        };
        E.handleTweenAnimateOut = function(N, M, O) {
            var Q = B.getXY(O.overlay.element),L = Q[0],P = Q[1];
            O.overlay.cfg.setProperty("xy", [L,P], true);
            O.overlay.cfg.refireEvent("iframe");
        };
        E.handleCompleteAnimateOut = function(M, L, N) {
            B.setStyle(N.overlay.element, "visibility", "hidden");
            N.overlay.cfg.setProperty("xy", [F,K]);
            N.animateOutCompleteEvent.fire();
        };
        E.init();
        return E;
    };
    A.prototype = {init:function() {
        this.beforeAnimateInEvent = this.createEvent("beforeAnimateIn");
        this.beforeAnimateInEvent.signature = D.LIST;
        this.beforeAnimateOutEvent = this.createEvent("beforeAnimateOut");
        this.beforeAnimateOutEvent.signature = D.LIST;
        this.animateInCompleteEvent = this.createEvent("animateInComplete");
        this.animateInCompleteEvent.signature = D.LIST;
        this.animateOutCompleteEvent = this.createEvent("animateOutComplete");
        this.animateOutCompleteEvent.signature = D.LIST;
        this.animIn =
        new this.animClass(this.targetElement, this.attrIn.attributes, this.attrIn.duration, this.attrIn.method);
        this.animIn.onStart.subscribe(this.handleStartAnimateIn, this);
        this.animIn.onTween.subscribe(this.handleTweenAnimateIn, this);
        this.animIn.onComplete.subscribe(this.handleCompleteAnimateIn, this);
        this.animOut =
        new this.animClass(this.targetElement, this.attrOut.attributes, this.attrOut.duration, this.attrOut.method);
        this.animOut.onStart.subscribe(this.handleStartAnimateOut, this);
        this.animOut.onTween.subscribe(this.handleTweenAnimateOut, this);
        this.animOut.onComplete.subscribe(this.handleCompleteAnimateOut, this);
    },animateIn:function() {
        this.beforeAnimateInEvent.fire();
        this.animIn.animate();
    },animateOut:function() {
        this.beforeAnimateOutEvent.fire();
        this.animOut.animate();
    },handleStartAnimateIn:function(F, E, G) {
    },handleTweenAnimateIn:function(F, E, G) {
    },handleCompleteAnimateIn:function(F, E, G) {
    },handleStartAnimateOut:function(F, E, G) {
    },handleTweenAnimateOut:function(F, E, G) {
    },handleCompleteAnimateOut:function(F, E, G) {
    },toString:function() {
        var E = "ContainerEffect";
        if (this.overlay) {
            E += " [" + this.overlay.toString() + "]";
        }
        return E;
    }};
    YAHOO.lang.augmentProto(A, YAHOO.util.EventProvider);
})();
YAHOO.register("container_core", YAHOO.widget.Module, {version:"2.3.1",build:"541"});