/**
 * Twitter - http://www.twitter.com
 * Copyright (C) 2009 Twitter
 * Author: Dustin Diaz (dustin@twitter.com)
 *
 * V 2.0.0 Twitter search/profile/faves/list widget
 * http://twitter.com/widgets
 */
if (!"console" in window) {
    window.console = {
        log: function() {}
    }
}
TWTR = window.TWTR || {};
if (!Array.forEach) {
    Array.prototype.forEach = function(D, E) {
        var C = E || window;
        for (var B = 0, A = this.length; B < A;++B) {
            D.call(C, this[B], B, this)
            }
    };
    Array.prototype.filter = function(E, F) {
        var D = F || window;
        var A = [];
        for (var C = 0, B = this.length; C < B;++C) {
            if (!E.call(D, this[C], C, this)) {
                continue
            }
            A.push(this[C])
            }
        return A
    };
    Array.prototype.indexOf = function(B, C) {
        var C = C || 0;
        for (var A = 0; A < this.length;++A) {
            if (this[A] === B) {
                return A
            }
        }
        return - 1
    }
} (function() {
    if (TWTR && TWTR.Widget) {
        return
    }
    function A(B, D, C) {
        this.el = B;
        this.prop = D;
        this.from = C.from;
        this.to = C.to;
        this.time = C.time;
        this.callback = C.callback;
        this.animDiff = this.to - this.from
    }
    A.canTransition = function() {
        var B = document.createElement("twitter");
        B.style.cssText = "-webkit-transition: all .5s linear;";
        return !! B.style.webkitTransitionProperty
    } ();
    A.prototype._setStyle = function(B) {
        switch (this.prop) {
        case "opacity":
            this.el.style[this.prop] = B;
            this.el.style.filter = "alpha(opacity=" + B * 100 + ")";
            break;
        default:
            this.el.style[this.prop] = B + "px";
            break
        }
    };
    A.prototype._animate = function() {
        var B = this;
        this.now = new Date();
        this.diff = this.now - this.startTime;
        if (this.diff > this.time) {
            this._setStyle(this.to);
            if (this.callback) {
                this.callback.call(this)
                }
            clearInterval(this.timer);
            return
        }
        this.percentage = (Math.floor((this.diff / this.time) * 100) / 100);
        this.val = (this.animDiff * this.percentage) + this.from;
        this._setStyle(this.val)
        };
    A.prototype.start = function() {
        var B = this;
        this.startTime = new Date();
        this.timer = setInterval(function() {
            B._animate.call(B)
            }, 15)
        };
    TWTR.Widget = function(B) {
        this.init(B)
        }; (function() {
        var M = {};
        var Y = {};
        var W = function(a) {
            var Z = Y[a];
            if (!Z) {
                Z = new RegExp("(?:^|\\s+)" + a + "(?:\\s+|$)");
                Y[a] = Z;
            }
            return Z
        };
        var C = function(e, j, f, g) {
            var j = j || "*";
            var f = f || document;
            var a = [],
            Z = f.getElementsByTagName(j),
            h = W(e);
            for (var b = 0, d = Z.length; b < d;++b) {
                if (h.test(Z[b].className)) {
                    a[a.length] = Z[b];
                    if (g) {
                        g.call(Z[b], Z[b])
                        }
                }
            }
            return a
        };
        var X = function() {
            var Z = navigator.userAgent;
            return {
                ie: Z.match(/MSIE\s([^;]*)/)
                }
        } ();
        var G = function(Z) {
                   if (typeof Z == "string") {
                return document.getElementById(Z)
                }
            return Z
        };
        var Q = function(Z) {
            return Z.replace(/^\s+|\s+$/g, "")
            };
        var P = function() {
            var Z = self.innerHeight;
            var a = document.compatMode;
            if ((a || X.ie)) {
                Z = (a == "CSS1Compat") ? document.documentElement.clientHeight: document.body.clientHeight
            }
            return Z
        };
        var V = function(b, Z) {
            var a = b.target || b.srcElement;
            return Z(a)
            };
        var N = function(a) {
            try {
                if (a && 3 == a.nodeType) {
                    return a.parentNode
                } else {
                    return a
                }
            } catch(Z) {}
        };
        var O = function(a) {
            var Z = a.relatedTarget;
            if (!Z) {
                if (a.type == "mouseout") {
                    Z = a.toElement
                } else {
                    if (a.type == "mouseover") {
                        Z = a.fromElement
                    }
                }
            }
            return N(Z)
            };
        var S = function(a, Z) {
            Z.parentNode.insertBefore(a, Z.nextSibling)
            };
        var T = function(a) {
            try {
                a.parentNode.removeChild(a)
                } catch(Z) {}
        };
        var R = function(Z) {
            return Z.firstChild
        };
        var B = function(b) {
            var a = O(b);
            while (a && a != this) {
                try {
                    a = a.parentNode
                } catch(Z) {
                    a = this
                }
            }
            if (a != this) {
                return true
            }
            return false
        };
        var F = function() {
            if (document.defaultView && document.defaultView.getComputedStyle) {
                return function(a, d) {
                    var c = null;
                    var b = document.defaultView.getComputedStyle(a, "");
                    if (b) {
                        c = b[d]
                        }
                    var Z = a.style[d] || c;
                    return Z
                }
            } else {
                if (document.documentElement.currentStyle && X.ie) {
                    return function(Z, b) {
                        var a = Z.currentStyle ? Z.currentStyle[b] : null;
                        return (Z.style[b] || a)
                        }
                }
            }
        } ();
        var U = {
            has: function(Z, a) {
                return new RegExp("(^|\\s)" + a + "(\\s|$)").test(G(Z).className)
                },
            add: function(Z, a) {
                if (!this.has(Z, a)) {
                    G(Z).className = Q(G(Z).className) + " " + a
                }
            },
            remove: function(Z, a) {
                if (this.has(Z, a)) {
                    G(Z).className = G(Z).className.replace(new RegExp("(^|\\s)" + a + "(\\s|$)", "g"), "")
                    }
            }
        };
        var D = {
            add: function(b, a, Z) {
                if (b.addEventListener) {
                    b.addEventListener(a, Z, false)
                    } else {
                    b.attachEvent("on" + a, function() {
                        Z.call(b, window.event)
                        })
                    }
            },
            remove: function(b, a, Z) {
                if (b.removeEventListener) {
                    b.removeEventListener(a, Z, false)
                    } else {
                    b.detachEvent("on" + a, Z)
                    }
            }
        };
        var H = {
            bool: function(Z) {
                return typeof Z === "boolean"
            },
            def: function(Z) {
                return ! (typeof Z === "undefined")
                },
            number: function(Z) {
                return typeof Z === "number" && isFinite(Z)
                },
            string: function(Z) {
                return typeof Z === "string"
            },
            fn: function(Z) {
                return typeof Z === "function"
            },
            array: function(Z) {
                if (Z) {
                    return H.number(Z.length) && H.fn(Z.splice)
                    }
                return false
            }
        };
        var J = function(f) {
            var h = new Date();
            var d = new Date(f);
            if (X.ie) {
                d = Date.parse(f.replace(/( \+)/, " UTC$1"))
                }
            var g = h - d;
          
            var a = 1000,
            b = a * 60,
            c = b * 60,
            e = c * 24,
            Z = e * 7;
            if (isNaN(g) || g < 0) {
                return ""
            }
            if (g < a * 7) {
                return "right now"
            }
            if (g < b) {
                return Math.floor(g / a) + " seconds ago"
            }
            if (g < b * 2) {
                return "about 1 minute ago"
            }
            if (g < c) {
                return Math.floor(g / b) + " minutes ago"
            }
            if (g < c * 2) {
                return "about 1 hour ago"
            }
            if (g < e) {
                return Math.floor(g / c) + " hours ago"
            }
            if (g > e && g < e * 2) {
                return "yesterday"
            }
            if (g < e * 365) {
                return Math.floor(g / e) + " days ago"
            } else {
                return "over a year ago"
            }
        };
        var E = {
            link: function(Z) {
                return Z.replace(/\b(((https*\:\/\/)|www\.).+?)(([!?,.\)]+)?(\s|$))/g, function(f, e, c, b, a) {
                    var d = c.match(/w/) ? "http://": "";
                    return '<a class="twtr-hyperlink" target="_blank" href="' + d + e + '">' + ((e.length > 25) ? e.substr(0, 24) + "...": e) + "</a>" + a
                })
                },
            at: function(Z) {
                return Z.replace(/\B\@(\w{1,20})/g, function(a, b) {
                    return '@<a target="_blank" class="twtr-atreply" href="http://twitter.com/' + b + '">' + b + "</a>"
                })
                },
            hash: function(Z) {
                return Z.replace(/\B\#(\w+)/gi, function(a, b) {
                    return '<a target="_blank" class="twtr-hashtag" href="http://twitter.com/search?q=%23' + b + '">#' + b + "</a>"
                })
                },
            clean: function(Z) {
                return this.hash(this.at(this.link(Z)))
                }
        };
        function L(a, b, Z) {
            this.job = a;
            this.decayFn = b;
            this.interval = Z;
            this.decayRate = 1;
            this.decayMultiplier = 1.25;
            this.maxDecayTime = 3 * 60 * 1000
        }
        L.prototype = {
            start: function() {
                this.stop().run();
                return this
            },
            stop: function() {
                if (this.worker) {
                    window.clearTimeout(this.worker)
                    }
                return this
            },
            run: function() {
                var Z = this;
                this.job(function() {
                    Z.decayRate = Z.decayFn() ? Math.max(1, Z.decayRate / Z.decayMultiplier) : Z.decayRate * Z.decayMultiplier;
                    var a = Z.interval * Z.decayRate;
                    a = (a >= Z.maxDecayTime) ? Z.maxDecayTime: a;
                    a = Math.floor(a);
                    Z.worker = window.setTimeout(function() {
                        Z.run.call(Z)
                        }, a)
                    })
                },
            destroy: function() {
                this.stop();
                this.decayRate = 1;
                return this
            }
        };
        function I(a, b, Z, c) {
            this.time = b || 6000;
            this.loop = Z || false;
            this.repeated = 0;
            this.total = a.length;
            this.callback = c;
            this.haystack = a
        }
        I.prototype = {
            start: function(Z) {
                var a = this;
                if (Z) {
                    this.repeated = 0
                }
                this.stop()._job();
                this.timer = window.setInterval(function() {
                    a._job.call(a)
                    }, this.time);
                return this
            },
            stop: function() {
                if (this.timer) {
                    window.clearInterval(this.timer)
                    }
                return this
            },
            _job: function() {
                if (this.repeated === this.total) {
                    if (this.loop) {
                        this.repeated = 0
                    } else {
                        this.stop();
                        return
                    }
                }
                this.callback(this.haystack[this.repeated]);
                this.repeated++;
                return this
            }
        };
        function K(a) {
            var Z = '<div class="twtr-tweet-wrap">         <div class="twtr-avatar">           <div class="twtr-img"><a target="_blank" href="http://twitter.com/' + a.user + '"><img alt="' + a.user + ' profile" src="' + a.avatar + '"></a></div>         </div>         <div class="twtr-tweet-text">           <p>             <a target="_blank" href="http://twitter.com/' + a.user + '" class="twtr-user">' + a.user + "</a> " + a.tweet + '             <i>            <a target="_blank" href="http://twitter.com/' + a.user + "/status/" + a.id + '">' + J(a.created_at) + '</a>             <a target="_blank" class="twtr-reply" href="http://twitter.com/?status=@' + a.user + "%20&in_reply_to_status_id=" + a.id + "&in_reply_to=" + a.user + '">reply</a>             </i>           </p>         </div>       </div>';
            var b = document.createElement("div");
            b.id = "tweet-id-" + ++K._tweetCount;
            b.className = "twtr-tweet";
            b.innerHTML = Z;
            this.element = b
        }
        K._tweetCount = 0;
        M.loadStyleSheet = function(b, a) {
            if (!TWTR.Widget.loadingStyleSheet) {
                TWTR.Widget.loadingStyleSheet = true;
                var Z = document.createElement("link");
                Z.href = b;
                Z.rel = "stylesheet";
                Z.type = "text/css";
                document.getElementsByTagName("head")[0].appendChild(Z);
                var c = setInterval(function() {
                    var d = F(a, "position");
                    if (d == "relative") {
                        clearInterval(c);
                        TWTR.Widget.hasLoadedStyleSheet = true
                    }
                }, 50)
                }
        }; (function() {
            var Z = false;
            M.css = function(c) {
                var b = document.createElement("style");
                b.type = "text/css";
                if (X.ie) {
                    b.styleSheet.cssText = c
                } else {
                    var d = document.createDocumentFragment();
                    d.appendChild(document.createTextNode(c));
                    b.appendChild(d)
                    }
                function a() {
                    document.getElementsByTagName("head")[0].appendChild(b)
                    }
                if (!X.ie || Z) {
                    a()
                    } else {
                    window.attachEvent("onload", function() {
                        Z = true;
                        a()
                        })
                    }
            }
        })();
        TWTR.Widget.isLoaded = false;
        TWTR.Widget.loadingStyleSheet = false;
        TWTR.Widget.hasLoadedStyleSheet = false;
        TWTR.Widget.WIDGET_NUMBER = 0;
        TWTR.Widget.matches = {
            mentions: /^@\w{1,20}\b/,
            any_mentions: /\b@\w{1,20}\b/
        };
        TWTR.Widget.jsonP = function(b, c) {
            var a = document.createElement("script");
            a.type = "text/javascript";
            a.src = b;
            function Z() {
                document.getElementsByTagName("head")[0].appendChild(a);
                c(a)
                }
            Z();
            return a
        };
        TWTR.Widget.prototype = function() {
            var d = "http://search.twitter.com/search.";
            var e = "http://twitter.com/statuses/user_timeline.";
            var b = "http://twitter.com/favorites/";
            var c = "http://twitter.com/";
            var a = 20000000000;
            var Z = "../SiteImages/default.gif";
            return {
                init: function(g) {
                    var f = this;
                    this._widgetNumber = ++TWTR.Widget.WIDGET_NUMBER;
                    TWTR.Widget["receiveCallback_" + this._widgetNumber] = function(h) {
                        f._prePlay.call(f, h)
                        };
                    this._cb = "TWTR.Widget.receiveCallback_" + this._widgetNumber;
                    this.opts = g;
                    this._base = d;
                    this._isRunning = true;//
                    this._hasOfficiallyStarted = false;
                    this._rendered = false;
                    this._profileImage = false;
                    this._isCreator = !!g.creator;
                    this._setWidgetType(g.type);
                    this.timesRequested = 0;
                    this.runOnce = false;
                    this.newResults = false;
                    this.results = [];
                    this.jsonMaxRequestTimeOut = 19000;
                    this.showedResults = [];
                    this.sinceId = 1;
                    this.source = "TWITTERINC_WIDGET";
                    this.id = g.id || "twtr-widget-" + this._widgetNumber;
                    this.tweets = 0;
                    this.setDimensions(g.width, g.height);
                   
                     this.interval = g.interval || 6000;
                 //   this.interval = 2000 || 6000;
                    this.format = "json";
                    this.rpp = g.rpp || 50;
                    this.subject = g.subject || "";
                    this.title = g.title || "";
                    this.setSearch(g.search);
                    this._setUrl();
                    this.theme = g.theme ? g.theme: this._getDefaultTheme();
                    if (!g.id) {
                        document.write('<div class="twtr-widget" id="' + this.id + '"></div>')
                        }
                    this.widgetEl = G(this.id);
                    if (g.id) {
                        U.add(this.widgetEl, "twtr-widget")
                        }
                    if (g.version >= 2 && !TWTR.Widget.hasLoadedStyleSheet) {
                        M.loadStyleSheet("../javascripts/widget.css", this.widgetEl)
                        }
                    this.occasionalJob = new L(function(h) {
                        f.decay = h;
                        f._getResults.call(f)
                        }, function() {
                        return f._decayDecider.call(f)
                        }, a);
                    this._ready = H.fn(g.ready) ? g.ready: function() {};
                    this._tweetFilter = false;
                    this._avatars = true;
                    this._isFullScreen = false;
                    this._isLive = true;
                    this._isScroll = false;
                    this._loop = true;
                    this._behavior = "default";
                    this.setFeatures(this.opts.features);
                    return this
                },
                setDimensions: function(f, g) {
                    this.wh = (f && g) ? [f, g] : [250, 300];
                    if (f == "auto" || f == "100%") {
                        this.wh[0] = "100%"
                    } else {
                        this.wh[0] = ((this.wh[0] < 150) ? 150: this.wh[0]) + "px"
                    }
                    this.wh[1] = ((this.wh[1] < 100) ? 100: this.wh[1]) + "px";
                    return this
                },
                setRpp: function(f) {
                    var f = parseInt(f);
                    this.rpp = (H.number(f) && (f > 0 && f <= 100)) ? f: 30;
                    return this
                },
                _setWidgetType: function(f) {
                    this._isSearchWidget = false,
                    this._isProfileWidget = false,
                    this._isFavsWidget = false,
                    this._isListWidget = false;
                    switch (f) {
                    case "profile":
                        this._isProfileWidget = true;
                        break;
                    case "search":
                        this._isSearchWidget = true,
                        this.search = this.opts.search;
                        break;
                    case "faves":
                    case "favs":
                        this._isFavsWidget = true;
                        break;
                    case "list":
                    case "lists":
                        this._isListWidget = true;
                        break
                    }
                    return this
                },
                setFeatures: function(f) {
                    if (f) {
                        if (H.def(f.filters)) {
                            this._tweetFilter = f.filters
                        }
                        if (H.def(f.fullscreen) && H.bool(f.fullscreen)) {
                            if (f.fullscreen) {
                                this._isFullScreen = true;
                                this.wh[0] = "100%";
                                this.wh[1] = (P() - 90) + "px"
                            }
                        }
                        if (H.def(f.loop) && H.bool(f.loop)) {
                            this._loop = f.loop
                        }
                        if (H.def(f.behavior) && H.string(f.behavior)) {
                            switch (f.behavior) {
                            case "all":
                                this._behavior = "all";
                                break;
                            default:
                                this._behavior = "default";
                                break
                            }
                        }
                        if (H.def(f.avatars) && H.bool(f.avatars)) {
                            if (!f.avatars) {
                                M.css("#" + this.id + " .twtr-avatar, #" + this.id + " .twtr-user { display: none; } #" + this.id + " .twtr-tweet-text { margin-left: 0; }");
                                this._avatars = false
                            } else {
                                var g = (this._isFullScreen) ? "90px": "40px";
                                M.css("#" + this.id + " .twtr-avatar { display: block; } #" + this.id + " .twtr-user { display: inline; } #" + this.id + " .twtr-tweet-text { margin-left: " + g + "; }");
                                this._avatars = true
                            }
                        } else {
                            if (this._isProfileWidget) {
                                this.setFeatures({
                                    avatars: false
                                });
                                this._avatars = false
                            } else {
                                this.setFeatures({
                                    avatars: true
                                });
                                this._avatars = true
                            }
                        }
                        if (H.def(f.hashtags) && H.bool(f.hashtags)) { (!f.hashtags) ? M.css("#" + this.id + " a.twtr-hashtag { display: none; }") : ""
                        }
                        if (H.def(f.timestamp) && H.bool(f.timestamp)) {
                            var h = f.timestamp ? "block": "none";
                            M.css("#" + this.id + " i { display: " + h + "; }")
                            }
                        if (H.def(f.live) && H.bool(f.live)) {
                            this._isLive = f.live
                        }
                        if (H.def(f.scrollbar) && H.bool(f.scrollbar)) {
                            this._isScroll = f.scrollbar
                        }
                    } else {
                        if (this._isProfileWidget) {
                            this.setFeatures({
                                avatars: false
                            });
                            this._avatars = false
                        }
                        if (this._isProfileWidget || this._isFavsWidget) {
                            this.setFeatures({
                                behavior: "all"
                            })
                            }
                    }
                    return this
                },
                setTweetInterval: function(f) {
                    this.interval = f;
                    return this
                },
                setBase: function(f) {
                    this._base = f;
                    return this
                },
                setUser: function(g, f) {
                    this.username = g;
                    this.realname = f || " ";
                    if (this._isFavsWidget) {
                        this.setBase(b + g + ".")
                        } else {
                        if (this._isProfileWidget) {
                            this.setBase(e + this.format + "?screen_name=" + g)
                            }
                    }
                    this.setSearch(" ");
                    return this
                },
                setList: function(g, f) {
                    this.listname = f;
                    this.username = g;
                    this.setBase(c + g + "/lists/" + f + "/statuses.");
                    this.setSearch(" ");
                    return this
                },
                setProfileImage: function(f) {
                    this._profileImage = f;
                    this.byClass("twtr-profile-img", "img").src = f;
                    this.byClass("twtr-profile-img-anchor", "a").href = "http://twitter.com/" + this.username;
                    return this
                },
                setTitle: function(f) {
                    this.title = f;
                    this.widgetEl.getElementsByTagName("h3")[0].innerHTML = this.title;
                    return this
                },
                setCaption: function(f) {
                    this.subject = f;
                    this.widgetEl.getElementsByTagName("h4")[0].innerHTML = this.subject;
                    return this
                },
                setSearch: function(g) {
                    g = g || "";
                    g = g.replace(" ", "+");
                    this.search = escape("-RT " + g);
                    this._setUrl();
                    if (this._rendered) {
                        var f = this.byClass("twtr-join-conv", "a");
                        if (this._isProfileWidget || this._isFavsWidget) {
                            f.href = "http://twitter.com/"
                        } else {
                            if (this._isListWidget) {
                                f.href = "http://twitter.com/" + this._getListUrl()
                                } else {
                                f.href = "http://twitter.com/#search?q=" + this.search
                            }
                        }
                    }
                    return this
                },
                _getListUrl: function() {
                    return this.username + "/lists/" + this.listname
                },
                _setUrl: function() {
                    var f = this;
                    function g() {
                        return (f.sinceId == 1) ? "": "&since_id=" + f.sinceId + "&refresh=true"
                    }
                    if (this._isProfileWidget) {
                        this.url = "../pages/json.aspx?base=" + this._base;//this._base + "&callback=" + this._cb + "&count=" + this.rpp + g() + "&clientsource=" + this.source

                    } else {
                        if (this._isFavsWidget || this._isListWidget) {
                            this.url = this._base + this.format + "?callback=" + this._cb + g() + "&clientsource=" + this.source
                        } else {
                            this.url = this._base + this.format + "?q=" + this.search + "&callback=" + this._cb + "&rpp=" + this.rpp + g() + "&clientsource=" + this.source
                        }
                    }
                    return this
                },
                setTheme: function(k, f) {
                    var i = this;
                    var g = " !important";
                    var j = ((window.location.hostname.match(/twitter\.com/)) && (window.location.pathname.match(/goodies/)));
                    if (f || j) {
                        g = ""
                    }
                    this.theme = {
                        shell: {
                            background: function() {
                                return k.shell.background || i._getDefaultTheme().shell.background
                            } (),
                            color: function() {
                                return k.shell.color || i._getDefaultTheme().shell.color
                            } ()
                            },
                        tweets: {
                            background: function() {
                                return k.tweets.background || i._getDefaultTheme().tweets.background
                            } (),
                            color: function() {
                                return k.tweets.color || i._getDefaultTheme().tweets.color
                            } (),
                            links: function() {
                                return k.tweets.links || i._getDefaultTheme().tweets.links
                            } ()
                            }
                    };
                    var h = "#" + this.id + " .twtr-doc,                      #" + this.id + " .twtr-hd a {            background: " + this.theme.shell.background + g + ";            color: " + this.theme.shell.color + g + ";          }          #" + this.id + " .twtr-tweet a {            color: " + this.theme.tweets.links + g + ";          }          #" + this.id + " .twtr-bd, #" + this.id + " .twtr-timeline i a {            color: " + this.theme.tweets.color + g + ";          }          #" + this.id + " .twtr-new-results,           #" + this.id + " .twtr-results-inner,           #" + this.id + " .twtr-timeline {            background: " + this.theme.tweets.background + g + ";          }";
                    if (X.ie) {
                        h += "#" + this.id + " .twtr-tweet { background: " + this.theme.tweets.background + g + "; }"
                    }
                    M.css(h);
                    return this
                },
                byClass: function(i, f, g) {
                    var h = C(i, f, G(this.id));
                    return (g) ? h: h[0]
                    },
                render: function() {
                    var h = this;
                    if (!TWTR.Widget.hasLoadedStyleSheet) {
                        window.setTimeout(function() {
                            h.render.call(h)
                            }, 50);
                        return this
                    }
                    this.setTheme(this.theme, this._isCreator);
                    if (this._isProfileWidget) {
                        U.add(this.widgetEl, "twtr-widget-profile")
                        }
                    if (this._isScroll) {
                        U.add(this.widgetEl, "twtr-scroll")
                        }
                    if (!this._isLive && !this._isScroll) {
                        this.wh[1] = "auto"
                    }
                    this.widgetEl.innerHTML = this._getWidgetHtml();
                    this.spinner = this.byClass("twtr-spinner", "div");
                    var g = this.byClass("twtr-timeline", "div");
                    if (this._isLive && !this._isFullscreen) {
                        var i = function(j) {
                            if (B.call(this, j)) {
                                h.pause.call(h)
                                }
                        };
                        var f = function(j) {
                            if (B.call(this, j)) {
                                h.resume.call(h)
                                }
                        };
                        this.removeEvents = function() {
                            D.remove(g, "mouseover", i);
                            D.remove(g, "mouseout", f)
                            };
                        D.add(g, "mouseover", i);
                        D.add(g, "mouseout", f)
                        }
                    this._rendered = true;
                    this._ready();
                    return this
                },
                removeEvents: function() {},
                _getDefaultTheme: function() {
                    return {
                        shell: {
                            background: "#8ec1da",
                            color: "#ffffff"
                        },
                        tweets: {
                            background: "#ffffff",
                            color: "#444444",
                            links: "#1985b5"
                        }
                    }
                },
                _getWidgetHtml: function() {
                    var j = this;
                    function f() {
                        if (j._isProfileWidget) {
                            return ""
                        } else {
                            if (j._isFavsWidget) {
                                return j.username
                            } else {
                                if (j._isListWidget) {
                                    return j.username + "/lists/" + j.listname
                                } else {
                                    return "#search?q=" + j.search
                                }
                            }
                        }
                    }
                    function k() {
                        if (j._isProfileWidget) {
                            return '<a target="_blank" href="http://twitter.com/" class="twtr-profile-img-anchor"><img alt="profile" class="twtr-profile-img" src="' + Z + '"></a>                      <h3></h3>                      <h4></h4>'
                        } else {
                            return "<h3>" + j.title + "</h3><h4>" + j.subject + "</h4>"
                        }
                    }
                    function i() {
                        if (!j._isFullScreen) {
                            return ' height="15"'
                        }
                        return ""
                    }
                    function h() {
                        return j._isFullScreen ? " twtr-fullscreen": ""
                    }

                    var g = '<div class="twtr-doc' + h() + '" style="width: ' + this.wh[0] + ';">            <div class="twtr-hd">' + k() + '               <div class="twtr-spinner twtr-inactive"></div>            </div>            <div class="twtr-bd">              <div class="twtr-timeline" style="height: ' + this.wh[1] + ';">                <div class="twtr-tweets">                  <div class="twtr-reference-tweet"></div>                  <!-- tweets show here -->                </div>              </div>            </div>            <div class="twtr-ft">              <div><a target="_blank" href="http://twitter.com"><img alt="" src="../SiteImages/twitter_logo_s.' + (X.ie ? "gif": "png") + '"' + i() + '></a>                <span><a target="_blank" class="twtr-join-conv" style="color:' + this.theme.shell.color + '" href="http://twitter.com/' + f() + '">Join the conversation</a></span>              </div>            </div>          </div>';
					

                    return g
                },
                _appendTweet: function(f) {
                    S(f, this.byClass("twtr-reference-tweet", "div"));
                    return this
                },
                _slide: function(g) {
                    var h = this;
                    var f = R(g).offsetHeight;
                    if (this.runOnce) {
                        new A(g, "height", {
                            from: 0,
                            to: f,
                            time: 500,
                            callback: function() {
                                h._fade.call(h, g)
                                }
                        }).start()
                        }
                    return this
                },
                _fade: function(f) {
                    var g = this;
                    if (A.canTransition) {
                        f.style.webkitTransition = "opacity 0.5s ease-out";
                        f.style.opacity = 1;
                        return this
                    }
                    new A(f, "opacity", {
                        from: 0,
                        to: 1,
                        time: 500
                    }).start();
                    return this
                },
                _chop: function() {
                    if (this._isScroll) {
                        return this
                    }
                    var l = this.byClass("twtr-tweet", "div", true);
                    var m = this.byClass("twtr-new-results", "div", true);
                    if (l.length) {
                        for (var h = l.length - 1; h >= 0; h--) {
                            var k = l[h];
                            var j = parseInt(k.offsetTop);
                            if (j > parseInt(this.wh[1])) {
                                T(k)
                                } else {
                                break
                            }
                        }
                        if (m.length > 0) {
                            var f = m[m.length - 1];
                            var g = parseInt(f.offsetTop);
                        if (g > parseInt(this.wh[1])) {
                                T(f)
                                }
                        }
                    }
                    return this
                },
                _appendSlideFade: function(g) {
                    var f = g || this.tweet.element;
                    this._chop()._appendTweet(f)._slide(f);
                    return this
                },
                _createTweet: function(f) {
                      this.tweet = new K(f);
                    if (this._isLive && this.runOnce) {
                        this.tweet.element.style.opacity = 0;
                        this.tweet.element.style.filter = "alpha(opacity:0)";
                        this.tweet.element.style.height = "0"
                    }
                    return this
                },
                _getResults: function() {
                    var f = this;
                    this.timesRequested++;
                    this.jsonRequestRunning = true;
                    this.jsonRequestTimer = window.setTimeout(function() {
                        if (f.jsonRequestRunning) {
                            clearTimeout(f.jsonRequestTimer);
                            U.add(f.spinner, "twtr-inactive")
                            }
                        f.jsonRequestRunning = false;
                        T(f.scriptElement);
                        f.newResults = false;
                        f.decay()
                        }, this.jsonMaxRequestTimeOut);
                    U.remove(this.spinner, "twtr-inactive");
                    TWTR.Widget.jsonP(f.url, function(g) {
                       f.scriptElement = g
                         
                    })
                    },
                clear: function() {
                    var g = this.byClass("twtr-tweet", "div", true);
                    var f = this.byClass("twtr-new-results", "div", true);
                    g = g.concat(f);
                    g.forEach(function(h) {
                        T(h)
                        });
                    return this
                },
                _sortByLatest: function(f) {
                    this.results = f;
                    this.results = this.results.slice(0, this.rpp);
                    this.results.reverse();
                    return this
                },
                _sortByMagic: function(f) {
                    var f = f;
                    var g = this;
                    if (this._tweetFilter) {
                        if (this._tweetFilter.negatives) {
                            f = f.filter(function(h) {
                                if (!g._tweetFilter.negatives.test(h.text)) {
                                    return h
                                }
                            })
                            }
                        if (this._tweetFilter.positives) {
                            f = f.filter(function(h) {
                                if (g._tweetFilter.positives.test(h.text)) {
                                    return h
                                }
                            })
                            }
                    }
                    switch (this._behavior) {
                    case "all":
                        this._sortByLatest(f);
                        break;
                    default:
                        this._sortByDefault(f);
                        break
                    }
                    return this
                },
                _sortByDefault: function(g) {
                    var h = this;
                    var f = function() {
                        if (X.ie) {
                            return function(i) {
                                return Date.parse(i.replace(/( \+)/, " UTC$1"))
                                }
                        } else {
                            return function(i) {
                                return new Date(i)
                                }
                        }
                    } ();
                    this.results.unshift.apply(this.results, g);
                    this.results.forEach(function(i) {
                        if (!i.views) {
                            i.views = 0
                        }
                    });
                    this.results.sort(function(j, i) {
                        if (f(j.created_at) < f(i.created_at)) {
                            return 1
                        } else {
                            if (f(j.created_at) > f(i.created_at)) {
                                return - 1
                            } else {
                                return 0
                            }
                        }
                    });
                    this.results = this.results.slice(0, this.rpp);
                    if (!this._isLive) {
                        this.results.reverse()
                        }
                    this.results.sort(function(j, i) {
                        if (j.views > i.views) {
                            return 1
                        } else {
                            if (j.views < i.views) {
                                return - 1
                            }
                        }
                        return 0
                    })
                    },
                _prePlay: function(g) {
                    if (this.jsonRequestTimer) {
                        clearTimeout(this.jsonRequestTimer)
                        }
                    if (!X.ie) {
                        T(this.scriptElement)
                        }
                    if (g.error) {
                        this.newResults = false
                    } else {
                        if (g.results && g.results.length > 0) {
                            this.response = g;
                            if (this.intervalJob) {
                                this.intervalJob.stop()
                                }
                            this.newResults = true;
                            this.sinceId = g.max_id;
                            this._sortByMagic(g.results);
                            if (this.isRunning()) {
                                this._play()
                                }
                        } else {
                            if ((this._isProfileWidget || this._isFavsWidget || this._isListWidget) && H.array(g) && g.length > 0) {
                                if (this.intervalJob) {
                                    this.intervalJob.stop()
                                    }
                                this.newResults = true;
                                if (!this._profileImage && this._isProfileWidget) {
                                    var f = g[0].user.screen_name;
                                    this.setProfileImage(g[0].user.profile_image_url);
									//alert(g[0].user.profile_image_url)
                                    this.setTitle(g[0].user.name);
									//alert('setCaption')
                                    this.setCaption('<a target="_blank" href="http://twitter.com/' + f + '">' + f + "</a>")
                                    }
                                this.sinceId = g[0].id;
								//alert('_sortByMagic')
                                this._sortByMagic(g);
								//alert('isRunning')
                                if (this.isRunning()) {
								//alert('_play')
                                    this._play()
                                }
                            } else {
                                this.newResults = false
                            }
                        }
                    }
                    this._setUrl();
                    if (this._isLive) {
                        this.decay()
                        }
                    U.add(this.spinner, "twtr-inactive")
                    },
                _play: function() {
                    var f = this;
                    if (this._avatars) {
                        this._preloadImages(this.results)
                        }
                    if (!this._isLive || this._behavior == "all") {
                        this.results.forEach(function(h) {
                            if (f._isProfileWidget) {
                                h.from_user = f.username;
                                h.profile_image_url = h.user.profile_image_url
                            }
                            if (f._isFavsWidget || f._isListWidget) {
                                h.from_user = h.user.screen_name;
                                h.profile_image_url = h.user.profile_image_url
                            }
                            f._createTweet({
                                id: h.id,
                                user: h.from_user,
                                tweet: E.clean(h.text),
                                avatar: h.profile_image_url,
                                created_at: h.created_at
                            });
                            var g = f.tweet.element; (f._behavior == "all") ? f._appendSlideFade(g) : f._appendTweet(g)
                            });
                        return this
                    }
                    this._insertNewResultsNumber();
                    
                    this.intervalJob = new I(this.results, this.interval, this._loop, function(g) {
                    
                        g.views++;
                        
                        if (f._isProfileWidget) {
                            g.from_user = f.username;
                            g.profile_image_url = g.user.profile_image_url
                        }
                        if (f._isFavsWidget || f._isListWidget) {
                            g.from_user = g.user.screen_name;
                            g.profile_image_url = g.user.profile_image_url
                        }
                        if (f._isFullScreen) {
                            g.profile_image_url = g.profile_image_url.replace(/_normal\./, "_bigger.")
                           
                            }
                        f._createTweet({
                            id: g.id,
                            user: g.from_user,
                            tweet: E.clean(g.text),
                            avatar: g.profile_image_url,
                            created_at: g.created_at
                        })._appendSlideFade()
                        }).start(true);
                       
                    return this
                },
                _insertNewResultsNumber: function() {
                    if (this.runOnce && this._isSearchWidget) {
                        var i = this.response.total > this.rpp ? this.response.total: this.response.results.length;
                        var f = i > 1 ? "s": "";
                        var h = (this.response.warning && this.response.warning.match(/adjusted since_id/)) ? "more than": "";
                        var g = document.createElement("div");
                        U.add(g, "twtr-new-results");
                        g.innerHTML = '<div class="twtr-results-inner"> &nbsp; </div><div class="twtr-results-hr"> &nbsp; </div><span>' + h + " <strong>" + i + "</strong> new tweet" + f + "</span>";
                        S(g, this.byClass("twtr-reference-tweet", "div"))
                        }
                },
                _preloadImages: function(f) {
                    if (this._isProfileWidget || this._isFavsWidget || this._isListWidget) {
                        f.forEach(function(h) {
                            var g = new Image();
                            g.src = h.user.profile_image_url
                        })
                        } else {
                        f.forEach(function(g) { (new Image()).src = g.profile_image_url
                        })
                        }
                },
                _decayDecider: function() {
                    var f = false;
                    if (!this.runOnce) {
                        this.runOnce = true;
                        f = true
                    } else {
                        if (this.newResults) {
                            f = true
                        }
                    }
                    return f
                },
                start: function() {
                    var f = this;
                    if (!this._rendered) {
                        setTimeout(function() {
                            f.start.call(f)
                            }, 50);
                        return this
                    }
                    if (!this._isLive) {
                        this._getResults()
                        } else {
                        this.occasionalJob.start()
                        }
						//alert("_isRunning = true1");
                    this._isRunning = true;
                    this._hasOfficiallyStarted = true;
                    return this
                },
                stop: function() {
                    this.occasionalJob.stop();
                    if (this.intervalJob) {
                        this.intervalJob.stop()
                        }
                    this._isRunning = false;
                    return this
                },
                pause: function() {
                    if (this.isRunning() && this.intervalJob) {
                        this.intervalJob.stop();
                        U.add(this.widgetEl, "twtr-paused");
                        this._isRunning = false
                    }
                    if (this._resumeTimer) {
                        clearTimeout(this._resumeTimer)
                        }
                    return this
                },
                resume: function() {
                    var f = this;
                    if (!this.isRunning() && this._hasOfficiallyStarted && this.intervalJob) {
                        this._resumeTimer = window.setTimeout(function() {
                            f.intervalJob.start();
							//alert("_isRunning = true2");
                            f._isRunning = true;
                            U.remove(f.widgetEl, "twtr-paused")
                            }, 2000)
                        }
                    return this
                },
                isRunning: function() {
				//alert(this._isRunning);
                    return this._isRunning
                },
                destroy: function() {
                    this.stop();
                    this.clear();
                    this.runOnce = false;
                    this._hasOfficiallyStarted = false;
                    this.intervalJob = false;
                    this._profileImage = false;
                    this._isLive = true;
                    this._tweetFilter = false;
                    this._isScroll = false;
                    this.newResults = false;
                    this._isRunning = false;
                    this.sinceId = 1;
                    this.results = [];
                    this.showedResults = [];
                    this.occasionalJob.destroy();
                    if (this.jsonRequestRunning) {
                        clearTimeout(this.jsonRequestTimer);
                        U.add(this.spinner, "twtr-inactive")
                        }
                    U.remove(this.widgetEl, "twtr-scroll");
                    this.removeEvents();
                    return this
                }
            }
        } ()
        })()
    })();