1window.twttr = window.twttr || {}; 2 3var processSummizeInternal = function (B) { 4 var J = page.trendDescriptions[page.query]; 5 if (J) { 6 $("#trend_info").hide(); 7 $("#trend_description span").text(_("%{trend} is a popular topic on Twitter right now.", { 8 trend: J[0] 9 })); 10 $("#trend").text(_("%{trend}", { 11 trend: J[0] 12 })); 13 $("#trend_description p").html(J[1]); 14 $("#trend_description").show() 15 } else { 16 $("#trend_description").hide(); 17 $("#trend_info").show() 18 }(J && J[1].length > 0) ? $(".trenddesc").show() : $(".trenddesc").hide(); 19 20}; 21 22$.fn.isSearchLink = function (A) { 23 return this.each(function () { 24 var B = $(this); 25 B.click(function (C) { 26 27 $("#trends_list li.active a").removeClass("active") 28 }) 29 }) 30}; 31 32 33function loadTrendDescriptions() { 34 $("#trends a").each(function () { 35 var A = $(this); 36 var C = A.parent().find("em"); 37 if (C.length) { 38 var B = A.text(); 39 var D = C.text().replace(new RegExp(B.replace(/([^\w])/gi, "\\$1"), "gi"), "<strong>" + B + "</strong>"); 40 var E = A.attr("title").length ? A.attr("title") : A.attr("name");page.trendDescriptions[E] = [B, D] 41 } 42 }) 43} 44$(document).ready(function () { 45 46 page.trendDescriptions = {}; 47 loadTrendDescriptions(); 48 49}); 50 51window.twttr.bounds = window.twttr.bounds || {}; 52$.extend(twttr.bounds, { 53 Bounds: function (b, d, c, a) { 54 this.x = b; 55 this.y = d; 56 this.width = c; 57 this.height = a 58 } 59}); 60$.extend(twttr.bounds.Bounds.prototype, { 61 encloses: function (a, b) { 62 return a > this.x && a < this.x + this.width && b > this.y && b < this.y + this.height 63 }, 64 toString: function () { 65 return "(" + this.x + "," + this.y + ") " + this.width + "x" + this.height 66 } 67}); 68(function (a) { 69 a.fn.extend({ 70 bounds: function () { 71 var c = this.eq(0); 72 var b = c.offset(); 73 return new twttr.bounds.Bounds(b.left, b.top, c.outerWidth(), c.outerHeight()) 74 } 75 }) 76})(jQuery); 77 78(function (A) { 79 A.extend(window, { 80 TrendTip: { 81 parseIntDefault: function (B, D) { 82 D = D || 0; 83 var C = parseInt(B); 84 return isNaN(C) ? D : C 85 }, 86 clearBounds: function () { 87 this.data("bounds", []) 88 }, 89 addToBounds: function (B) { 90 if (!this.data("bounds")) { 91 this.data("bounds", []) 92 } 93 this.data("bounds").push(B) 94 }, 95 enclosing: function (B, D) { 96 if (!this.data("bounds")) { 97 this.data("bounds", []) 98 } 99 var C = false; 100 A.each(this.data("bounds"), function (F, E) { 101 if (E.encloses(B, D)) { 102 C = true 103 } 104 }); 105 return C 106 }, 107 clearScrollInterval: function () { 108 clearInterval(this.data("interval")) 109 }, 110 setScrollInterval: function (B) { 111 if (this.data("interval")) { 112 this.clearScrollInterval() 113 } 114 this.data("interval", setInterval(B, 30)) 115 }, 116 duplicateContent: function (B) { 117 var C = 0; 118 B.children().each(function () { 119 C += A(this).outerWidth(true); 120 B.append(A(this).clone()) 121 }); 122 B.css({ 123 zoom: 1, 124 width: (2 * C) + "px" 125 }); 126 return C 127 }, 128 initScroller: function () { 129 var C = this; 130 var E = this.duplicateContent(C); 131 var B = TrendTip.parseIntDefault(C.css("left"), 0); 132 var D = function () { 133 B = (B % E) - 1; 134 C.css({ 135 left: B 136 }) 137 }; 138 C.bind("trendEnter", function () { 139 C.clearScrollInterval() 140 }).bind("trendLeave", function () { 141 C.setScrollInterval(D) 142 }).trigger("trendLeave") 143 } 144 } 145 }); 146 A.extend(A.fn, { 147 trendTip: function () { 148 var B = false;
149 var C = A(this); 150 A.extend(C, TrendTip); 151 C.initScroller(); 152 C.find("li a").each(function () { 153 var D = A(this).closest("li"); 154 var E = { 155 mouseenter: function (G) { 156 var F = A(this); 157 A("#trends .inner").trigger("trendLeave"); 158 if (C.oldCapturedTrend) { 159 C.oldCapturedTrend.trigger("trendLeave") 160 } 161 C.oldCapturedTrend = F; 162 C.addToBounds(F.bounds()); 163 if (C.enclosing(G.pageX, G.pageY)) { 164 A("#trends .inner").trigger("trendEnter"); 165 F.trigger("trendEnter"); 166 var H = function (I) { 167 if (!C.enclosing(I.pageX, I.pageY)) { 168 A("#trends .inner").trigger("trendLeave"); 169 F.trigger("trendLeave") 170 } 171 }; 172 A(document).bind("mousemove", H); 173 F.bind("trendLeave", function (I) { 174 C.clearBounds(); 175 A(document).unbind("mousemove", H) 176 }) 177 } 178 }, 179 trendenter: function () { 180 if (!C.hoveringTrend) { 181 var F = A(".trendtip"); 182 var K = A(this).offset(); 183 var J = Math.round(A(this).outerWidth() / 2); 184 var I = Math.round(F.outerWidth() / 2); 185 var H = D.find("a").text(); 186 var G = D.find("em.description").html(); 187 F.find(".trendtip-trend").html(H); 188 F.find(".trendtip-trend").attr("href", A(this).attr("href")).attr("name", H); 189 if (A.trim(G) != "") { 190 F.find(".trendtip-why").show(); 191 F.find(".trendtip-desc").html(G) 192 } else { 193 F.find(".trendtip-why").hide() 194 } 195 B = setTimeout(function () { 196 clearTimeout(B); 197 D.find("a.search_link").addClass("active"); 198 F.css({ 199 top: K.top + 35, 200 left: K.left + J - I, 201 position: "absolute", 202 zIndex: 10000 203 }); 204 F.fadeIn("fast", function () { 205 C.hoveringTrend = true 206 }); 207 C.addToBounds(F.bounds()) 208 }, 400) 209 } 210 }, 211 trendleave: function (G) { 212 clearTimeout(B); 213 A("#trends a.search_link").removeClass("active"); 214 if (C.hoveringTrend) { 215 var F = A(".trendtip"); 216 F.fadeOut("fast"); 217 C.hoveringTrend = false 218 } 219 } 220 }; 221 A(this).mouseenter(E.mouseenter).bind("trendEnter", E.trendenter).bind("trendLeave", E.trendleave) 222 }); 223 return this 224 } 225 }) 226})(jQuery); 227 228 229function FrontPage() { 230 return $.extend(this, { 231 $trends: $("#trends"), 232 $trendTip: $(".trendtip:eq(0)") 233 234 }) 235} 236 237 238$.extend(FrontPage.prototype, { 239 init: function () { 240 this.initTrendHover(); 241 }, 242 initTrendHover: function () { 243 this.hoveringTrend = false; 244 var A = this; 245 $("#trends ul").trendTip() 246 } 247}); 248(jQuery); 249 250 251
Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.