_jsversion='1.115';
var __templates={};function __loadTemplate(a){return $("#TMPL_"+a).val()}function renderTemplate(c,d){var b=__templates[d];if(!b){b=__loadTemplate(d)}for(var a in c){b=b.split("${"+a+"}").join(c[a])}return b}function notify(a){var b=$("#notification");b.html(a);b.slideDown(function(){var d=$(this);var c=function(e){return function(){e.fadeOut()}};setTimeout(c(d),2000)})}function debug(a){$("#debug").append("<div style='border-bottom:1px solid red;'>"+a+"</div>")}function createCookie(c,d,e){if(e){var b=new Date();b.setTime(b.getTime()+(e*24*60*60*1000));var a="; expires="+b.toGMTString()}else{var a=""}document.cookie=c+"="+d+a+"; path=/"}function parseUri(e){var d=parseUri.options,a=d.parser[d.strictMode?"strict":"loose"].exec(e),c={},b=14;while(b--){c[d.key[b]]=a[b]||""}c[d.q.name]={};c[d.key[12]].replace(d.q.parser,function(g,f,h){if(f){c[d.q.name][f]=h}});return c}parseUri.options={strictMode:false,key:["source","protocol","authority","userInfo","user","password","host","port","relative","path","directory","file","query","anchor"],q:{name:"queryKey",parser:/(?:^|&)([^&=]*)=?([^&]*)/g},parser:{strict:/^(?:([^:\/?#]+):)?(?:\/\/((?:(([^:@]*):?([^:@]*))?@)?([^:\/?#]*)(?::(\d*))?))?((((?:[^?#\/]*\/)*)([^?#]*))(?:\?([^#]*))?(?:#(.*))?)/,loose:/^(?:(?![^:@]+:[^:@\/]*@)([^:\/?#.]+):)?(?:\/\/)?((?:(([^:@]*):?([^:@]*))?@)?([^:\/?#]*)(?::(\d*))?)(((\/(?:[^?#](?![^?#\/]*\.[^?#\/.]+(?:[?#]|$)))*\/?)?([^?#\/]*))(?:\?([^#]*))?(?:#(.*))?)/}};
function SigninWidget(a){this.selector=a;this.container=$(a);this.listeners=[];this.addListener=function(c){this.listeners.push(c)};this.fireUserSignedIn=function(){for(var c=0;c<this.listeners.length;c++){var d=this.listeners[c].userSignedIn;if(typeof(d)!="undefined"){this.listeners[c].userSignedIn(this)}}};this.fireUserSignedOut=function(){for(var c=0;c<this.listeners.length;c++){var d=this.listeners[c].userSignedOut;if(typeof(d)!="undefined"){this.listeners[c].userSignedOut(this)}}};this.signIn=function(){var c=$("#login").val();var d=$("#password").val();if(c&&d){this.callSignIn(c,d)}else{}};this.cancelSignIn=function(){this.container.hide()};this.toggleSignIn=function(){this.container.toggle();$("#login").focus()};this.callSignIn=function(d,e){var c=this;$("#signInButton").attr("disabled","true");$("#signInButton").addClass("disabled");$.post("/signin",{login:d,password:e},function(f){c.handleSignInReply(f)},"json")};this.handleSignInReply=function(c){if(c.status){if(c.status=="OK"){this.setSignedInUser(c.user);this.fireUserSignedIn()}else{this.reportError(c.status,c.error);this.fireUserSignedOut()}}};this.setSignedInUser=function(c){USER.profile=c;this.updateUserControls();this.container.hide()};this.reportError=function(c,d){notify(USER.msgBundle.signin_error);$("#signInButton").attr("disabled",null);$("#signInButton").removeClass("disabled");$("#login").focus()};this.updateUserControls=function(){if(USER.profile){this.showSignedInControls()}else{this.showSignedOutControls()}};this.showSignedOutControls=function(){var c=$("#twuserControls");c.html('| <a href="#" class="showSignInButton">'+USER.msgBundle.signin_button_label+"</a>");$(".showSignInButton").click(function(){b.toggleSignIn();return false})};this.showSignedInControls=function(){var c=$("#twuserControls");c.html(" | "+USER.msgBundle.signed_in_as+' <b><a href="http://twitter.com/'+USER.profile["screen_name"]+'" target="_blank" title="go to your twitter page">'+USER.profile["screen_name"]+"</a></b>");c.append(' | <a href="/signout">'+USER.msgBundle.signout_button_label+"</a>")};var b=this;$("#signInForm").submit(function(){b.signIn();return false});$("#signInButton").click(function(){if(!$(this).hasClass("disabled")){$("#signInForm").submit()}return false});$("#cancelSignInButton").click(function(){b.cancelSignIn();return false});$("#signOutButton").click(function(){b.signOut();return false});this.updateUserControls()};
eval(function(h,b,i,d,g,f){g=function(a){return(a<b?"":g(parseInt(a/b)))+((a=a%b)>35?String.fromCharCode(a+29):a.toString(36))};if(!"".replace(/^/,String)){while(i--){f[g(i)]=d[i]||g(i)}d=[function(a){return f[a]}];g=function(){return"\\w+"};i=1}while(i--){if(d[i]){h=h.replace(new RegExp("\\b"+g(i)+"\\b","g"),d[i])}}return h}("(5($){$.19={P:'1.2'};$.u(['j','w'],5(i,d){$.q['O'+d]=5(){p(!3[0])6;g a=d=='j'?'s':'m',e=d=='j'?'D':'C';6 3.B(':y')?3[0]['L'+d]:4(3,d.x())+4(3,'n'+a)+4(3,'n'+e)};$.q['I'+d]=5(b){p(!3[0])6;g c=d=='j'?'s':'m',e=d=='j'?'D':'C';b=$.F({t:Z},b||{});g a=3.B(':y')?3[0]['8'+d]:4(3,d.x())+4(3,'E'+c+'w')+4(3,'E'+e+'w')+4(3,'n'+c)+4(3,'n'+e);6 a+(b.t?(4(3,'t'+c)+4(3,'t'+e)):0)}});$.u(['m','s'],5(i,b){$.q['l'+b]=5(a){p(!3[0])6;6 a!=W?3.u(5(){3==h||3==r?h.V(b=='m'?a:$(h)['U'](),b=='s'?a:$(h)['T']()):3['l'+b]=a}):3[0]==h||3[0]==r?S[(b=='m'?'R':'Q')]||$.N&&r.M['l'+b]||r.A['l'+b]:3[0]['l'+b]}});$.q.F({z:5(){g a=0,f=0,o=3[0],8,9,7,v;p(o){7=3.7();8=3.8();9=7.8();8.f-=4(o,'K');8.k-=4(o,'J');9.f+=4(7,'H');9.k+=4(7,'Y');v={f:8.f-9.f,k:8.k-9.k}}6 v},7:5(){g a=3[0].7;G(a&&(!/^A|10$/i.16(a.15)&&$.14(a,'z')=='13'))a=a.7;6 $(a)}});5 4(a,b){6 12($.11(a.17?a[0]:a,b,18))||0}})(X);",62,72,"|||this|num|function|return|offsetParent|offset|parentOffset|||||borr|top|var|window||Height|left|scroll|Left|padding|elem|if|fn|document|Top|margin|each|results|Width|toLowerCase|visible|position|body|is|Right|Bottom|border|extend|while|borderTopWidth|outer|marginLeft|marginTop|client|documentElement|boxModel|inner|version|pageYOffset|pageXOffset|self|scrollTop|scrollLeft|scrollTo|undefined|jQuery|borderLeftWidth|false|html|curCSS|parseInt|static|css|tagName|test|jquery|true|dimensions".split("|"),0,{}));
jQuery.easing.jswing=jQuery.easing.swing;jQuery.extend(jQuery.easing,{def:"easeOutQuad",swing:function(e,f,a,h,g){return jQuery.easing[jQuery.easing.def](e,f,a,h,g)},easeInQuad:function(e,f,a,h,g){return h*(f/=g)*f+a},easeOutQuad:function(e,f,a,h,g){return-h*(f/=g)*(f-2)+a},easeInOutQuad:function(e,f,a,h,g){if((f/=g/2)<1){return h/2*f*f+a}return-h/2*((--f)*(f-2)-1)+a},easeInCubic:function(e,f,a,h,g){return h*(f/=g)*f*f+a},easeOutCubic:function(e,f,a,h,g){return h*((f=f/g-1)*f*f+1)+a},easeInOutCubic:function(e,f,a,h,g){if((f/=g/2)<1){return h/2*f*f*f+a}return h/2*((f-=2)*f*f+2)+a},easeInQuart:function(e,f,a,h,g){return h*(f/=g)*f*f*f+a},easeOutQuart:function(e,f,a,h,g){return-h*((f=f/g-1)*f*f*f-1)+a},easeInOutQuart:function(e,f,a,h,g){if((f/=g/2)<1){return h/2*f*f*f*f+a}return-h/2*((f-=2)*f*f*f-2)+a},easeInQuint:function(e,f,a,h,g){return h*(f/=g)*f*f*f*f+a},easeOutQuint:function(e,f,a,h,g){return h*((f=f/g-1)*f*f*f*f+1)+a},easeInOutQuint:function(e,f,a,h,g){if((f/=g/2)<1){return h/2*f*f*f*f*f+a}return h/2*((f-=2)*f*f*f*f+2)+a},easeInSine:function(e,f,a,h,g){return-h*Math.cos(f/g*(Math.PI/2))+h+a},easeOutSine:function(e,f,a,h,g){return h*Math.sin(f/g*(Math.PI/2))+a},easeInOutSine:function(e,f,a,h,g){return-h/2*(Math.cos(Math.PI*f/g)-1)+a},easeInExpo:function(e,f,a,h,g){return(f==0)?a:h*Math.pow(2,10*(f/g-1))+a},easeOutExpo:function(e,f,a,h,g){return(f==g)?a+h:h*(-Math.pow(2,-10*f/g)+1)+a},easeInOutExpo:function(e,f,a,h,g){if(f==0){return a}if(f==g){return a+h}if((f/=g/2)<1){return h/2*Math.pow(2,10*(f-1))+a}return h/2*(-Math.pow(2,-10*--f)+2)+a},easeInCirc:function(e,f,a,h,g){return-h*(Math.sqrt(1-(f/=g)*f)-1)+a},easeOutCirc:function(e,f,a,h,g){return h*Math.sqrt(1-(f=f/g-1)*f)+a},easeInOutCirc:function(e,f,a,h,g){if((f/=g/2)<1){return-h/2*(Math.sqrt(1-f*f)-1)+a}return h/2*(Math.sqrt(1-(f-=2)*f)+1)+a},easeInElastic:function(f,h,e,l,k){var i=1.70158;var j=0;var g=l;if(h==0){return e}if((h/=k)==1){return e+l}if(!j){j=k*0.3}if(g<Math.abs(l)){g=l;var i=j/4}else{var i=j/(2*Math.PI)*Math.asin(l/g)}return-(g*Math.pow(2,10*(h-=1))*Math.sin((h*k-i)*(2*Math.PI)/j))+e},easeOutElastic:function(f,h,e,l,k){var i=1.70158;var j=0;var g=l;if(h==0){return e}if((h/=k)==1){return e+l}if(!j){j=k*0.3}if(g<Math.abs(l)){g=l;var i=j/4}else{var i=j/(2*Math.PI)*Math.asin(l/g)}return g*Math.pow(2,-10*h)*Math.sin((h*k-i)*(2*Math.PI)/j)+l+e},easeInOutElastic:function(f,h,e,l,k){var i=1.70158;var j=0;var g=l;if(h==0){return e}if((h/=k/2)==2){return e+l}if(!j){j=k*(0.3*1.5)}if(g<Math.abs(l)){g=l;var i=j/4}else{var i=j/(2*Math.PI)*Math.asin(l/g)}if(h<1){return-0.5*(g*Math.pow(2,10*(h-=1))*Math.sin((h*k-i)*(2*Math.PI)/j))+e}return g*Math.pow(2,-10*(h-=1))*Math.sin((h*k-i)*(2*Math.PI)/j)*0.5+l+e},easeInBack:function(e,f,a,i,h,g){if(g==undefined){g=1.70158}return i*(f/=h)*f*((g+1)*f-g)+a},easeOutBack:function(e,f,a,i,h,g){if(g==undefined){g=1.70158}return i*((f=f/h-1)*f*((g+1)*f+g)+1)+a},easeInOutBack:function(e,f,a,i,h,g){if(g==undefined){g=1.70158}if((f/=h/2)<1){return i/2*(f*f*(((g*=(1.525))+1)*f-g))+a}return i/2*((f-=2)*f*(((g*=(1.525))+1)*f+g)+2)+a},easeInBounce:function(e,f,a,h,g){return h-jQuery.easing.easeOutBounce(e,g-f,0,h,g)+a},easeOutBounce:function(e,f,a,h,g){if((f/=g)<(1/2.75)){return h*(7.5625*f*f)+a}else{if(f<(2/2.75)){return h*(7.5625*(f-=(1.5/2.75))*f+0.75)+a}else{if(f<(2.5/2.75)){return h*(7.5625*(f-=(2.25/2.75))*f+0.9375)+a}else{return h*(7.5625*(f-=(2.625/2.75))*f+0.984375)+a}}}},easeInOutBounce:function(e,f,a,h,g){if(f<g/2){return jQuery.easing.easeInBounce(e,f*2,0,h,g)*0.5+a}return jQuery.easing.easeOutBounce(e,f*2-g,0,h,g)*0.5+h*0.5+a}});
(function(d){var c="intercept",b="."+c,a=d[c]=function(f,e,g){d("html").intercept(f,e,g)};d.fn.intercept=function(g,m,l){var k,j,i;if(l){k={};k[m]=l;m=k}return this.each(function(){j=this;d.each(g.split(" "),function(f,e){i=d.data(j,e+b);if(!i){d.data(j,e+b,d.extend({},m));d.event.add(j,e,a.handle)}else{d.extend(i,m)}})})};a.absolute=/[\s>+~]/;a.handle=function(j){var h=d.data(this,j.type+b),g=j.target,l=d(g),k,i;if(!h){return}for(k in h){if(k=="self"&&g==this||a.absolute.test(k)?d(k).index(g)!=-1:l.is(k)){i=h[k].apply(g,arguments)!==false&&i}}return i}})(jQuery);
function jsonPCall(e,b,d){var a=$("#jsonPCall_"+e);var c=a.attr("src")?true:false;if(!c){$("head").append("<script src='"+b+(d?"&callback="+d:"")+"' id='jsonPCall_"+e+"' type='text/javascript'><\/script>")}else{a.attr("src",b+(d?"&callback="+d:""))}}function callTwitpicSearch(b,a,c){jsonPCall("searchTwitpic","http://search.twitter.com/search.json?q=&lang=all&ands="+encodeURIComponent(b+" twitpic")+"&rpp="+a,c)}function twitterSearchCallbackFun(h,f,c,e,g,b,a){var d=function(i){b.push(i.results);if((i.results.length==100)&&(h<=c)){var k=$("#preferedLang").val();var j="#googleio OR #io2009 OR #android OR #appengine OR #gae OR #gwt OR #opensocial OR #chrome "+e;$.getJSON("http://search.twitter.com/search.json?q="+encodeURIComponent(j)+"&lang="+k+"&page="+h+"&rpp="+f+(a?"&since_id="+a:"")+"&callback=?",twitterSearchCallbackFun(h+1,f,c,e,g,b,a))}else{g(b)}};return d}function callTwitterSearch2(f,e,c,h,a){if(c>15){c=15}var b=[];var d="#googleio OR #io2009 OR #android OR #appengine OR #gae OR #gwt OR #opensocial OR #chrome "+f;var g=$("#preferedLang").val();$.getJSON("http://search.twitter.com/search.json?q="+encodeURIComponent(d)+"&lang="+g+"&rpp="+e+(a?"&since_id="+a:"")+"&callback=?",twitterSearchCallbackFun(2,e,c,f,h,b,a))}function callTwitterSearch(b,a,c){jsonPCall("search","http://search.twitter.com/search.json?q=&ands="+encodeURIComponent(b)+"&rpp="+a,c)}function callTwitterUserInfo(a,b){jsonPCall("user_"+a,"http://twitter.com/users/show/"+a+".json?callback="+b,false)}function callTwitterTrends(a){jsonPCall("trends","http://search.twitter.com/trends.json?",a)}function getTrends(){getTwazzupTrends()}function getTwazzupTrends(){$.get("/trends.json",{},function(c){var b=[];for(var a=0;a<c.length&&a<10;a++){b.push('<li><a href="/search?q='+c[a].q+'" class="tag">'+c[a].name+"</a></li> ")}$("#trends").html(b.join(""))},"json")}function doGetTrends(a){var d=a.trends;var c=[];for(var b=0;b<d.length;b++){c.push('<li><a href="'+d[b].url.substring(25)+'" class="tag">'+d[b].name+"</a></li> ")}$("#trends").html(c.join(""))}function tweetThis(){var a=$("#searchBox").val();if(!a||a==""){a="Come check out Google I/O on twazzup! http://googleio.twazzup.com "}else{a="Come check out Google I/O "+a+" on twazzup! "+document.location+" "}$("#rtmessage").val(a);$("#in_reply_to").val("");$("#in_reply_to_status_id").val("");$("#rtform").submit();return false}function tweet4twazzup(){msg="Check out http://twazzup.com - the best way to search twitter!";$("#rtmessage").val(msg);$("#in_reply_to").val("");$("#in_reply_to_status_id").val("");$("#rtform").submit();return false}function tweetEvent(){msg="Check out @oprah and @aplusk live on twazzup http://twazzup.com/oprah";$("#rtmessage").val(msg);$("#in_reply_to").val("");$("#in_reply_to_status_id").val("");$("#rtform").submit();return false};
function renderTweet(h,d,i){var a=$.extend({inlineTwitpic:true,pinnable:true,actionable:true,userBubble:true,highlight:false},i);if(!d){d=[]}var f=null;for(var b=0;b<h.links.length;b++){var e=h.links[b];var g=null;if(e.indexOf("http://twitpic.com/")==0){f={th:"http://twitpic.com/show/thumb/"+e.substring("http://twitpic.com/".length),lnk:e};break}}d.push("<div class='tweet "+(a.pinnable?"pinnable":"")+" "+(a.actionable?"actionable":"")+"' from='"+h.from+"' tweetid='"+h.id+"'>");d.push("<div style='display:none;visibility:hidden' class='sourcetext'>"+h.text+"</div>");d.push("<div class='picture'><img class='userInfos "+(a.userBubble?"userBubble":"")+" "+(a.highlight?"highlight":"")+"' src='"+h.from_picture+"' userid='"+h.from+"'></div>");d.push("<div class='from'><a class='"+(a.userBubble?"userBubble":"")+"' href='http://www.twitter.com/"+h.from+"' target='_blank' userid='"+h.from+"'>"+h.from+"</a>");for(var c=0;c<h.rts.length;c++){d.push(" <span style='color:#808080;margin-left:2px'>RT</span> <a class='"+(a.userBubble?"userBubble":"")+"' href='http://www.twitter.com/"+h.rts[c]+"' target='_blank' userid='"+h.rts[c]+"'>"+h.rts[c]+"</a>")}d.push("</div>");if(f&&a.inlineTwitpic){d.push("<a class='inlinedPic' target='_blank' href='"+f.lnk+"' ><img src='"+f.th+"' style='width:48px;border:0'></a><div class='text tagsoup' style='padding-right:70px'>"+h.enrichedText+"</div>")}else{d.push("<div class='text tagsoup'>"+h.enrichedText+"</div>")}d.push("<div class='meta'><span class='date' date='"+h.created_at+"'>"+relative_time(h.created_at)+" </span>");if(a.actionable){d.push("<span class='tweetAction'>&middot; <a href='#' class='tweetReplyAction'>Reply</a>  &middot; <a href='#' class='tweetRetweetAction'>Retweet</a>  &middot; <a href='http://twitter.com/"+h.from+"/statuses/"+h.id+"' target='_blank' class='tweetViewAction'>View tweet</a></span></div>")}else{d.push("</div>")}d.push("<div class='conversations' style=''></div>");d.push("</div>");return d.join("")}function activateTweetsBehaviors(a){a.find(".tweet").each(function(){activateTweetElementBehaviors($(this))})}function activateTweetElementBehaviors(a){if(a.hasClass("actionable")){activateActionableBehavior(a)}}function activateActionableBehavior(a){a.find("a.tweetRetweetAction").click(function(){var b=$(this).parents(".tweet");var d=b.attr("from");var c=b.find(".sourcetext").text();$("#rtmessage").val("RT @"+d+": "+c+" (via @twazzup)");$("#in_reply_to").val("");$("#in_reply_to_status_id").val("");$("#rtform").submit();return false});a.find("a.tweetReplyAction").click(function(){var b=$(this).parents(".tweet");var d=b.attr("from");var c=b.attr("tweetid");$("#rtmessage").val("@"+d+" ");$("#in_reply_to").val(d);$("#in_reply_to_status_id").val(c);$("#rtform").submit();return false});a.bind("mouseenter",function(){$(this).find(".tweetAction").show()});a.bind("mouseleave",function(){$(this).find(".tweetAction").hide()})};
function FeaturedWidget(a,c,b){this.selector=a;this.container=$(a);this.featured=c;this.bubble=null;this.mode=b;this.setupBubble=function(){var d=this;this.bubble=new BubbleWidget("moreFeaturedTooltip",{leftAlignment:"#twLCol",leftAlignmentOffset:0,topOffset:4,trigger:{event:"mouseover",eventDelay:250,selector:"#showMoreFeature"},beforeShow:function(k,o){if(k){if(d.featured.directory.length>0){var s=o.bubble;var u=k.offset();var v=u.top+4+k.outerHeight();var h=u.left;if(o.options.leftAlignment){h=$(o.options.leftAlignment).offset().left}if(o.options.leftAlignmentOffset){h+=o.options.leftAlignmentOffset}if(o.options.topOffset){v=v+o.options.topOffset}s.css({top:v,left:h,zIndex:999997});o.getBubbleContent().html("");var p=[];var r=d.featured.directory;for(var n=0;n<r.length;n++){var g=r[n];var f=g.name;p.push("<div><b>"+f+"</b></div>");for(var m=0;m<g.topics.length;m++){var w=g.topics[m];var e=w.q;if(this.mode=="tv"){e=e+"&m="+this.mode}var f=w.name;var l=w.color;p.push('<a href="/search?q='+e+'" class="tag feature" style="background-color:'+l+'">'+f+"</a>&nbsp;")}}o.getBubbleContent().html(p.join(""))}}}});this.bubble.init()};this.render=function(){var l=this.featured["default"];var j=[];for(var h=0;h<l.length;h++){var g=l[h];var k=g.q;if(this.mode=="tv"){k=k+"&m="+this.mode}var f=g.name;var e=g.color;j.push('<a href="/search?q='+k+'" class="tag feature" style="background-color:'+e+'">'+f+"</a>&nbsp;")}var d=this.featured.directory;if(d.length){j.push('<a class="tag feature" id="showMoreFeature" href="#">More...</a></li>')}this.container.html(j.join(""))};this.setupBubble();this.render()};
function SavedQueriesWidget(a,b,c){this.selector=a;this.container=$(a);this.savedSearchesSelector=b;this.savedSearchesContainer=$(b);this.savedSearchFormContainer=$("#savedSearchForm");this.savedQueries=null;this.signinWidget=c;this.signinWidget.addListener(this);this.bubble=null;this.setupBubble=function(){var d=this;this.bubble=new BubbleWidget("savedQueriesTooltip",{topOffset:4,trigger:{event:"mouseover",eventDelay:250,selector:"#toggleSavedQueriesPopup"},beforeShow:function(f,g){if(f){var e=g.bubble;var j=f.offset();var i=j.top+4+f.outerHeight();var h=j.left;if(g.options.leftAlignment){h=$(g.options.leftAlignment).offset().left}if(g.options.leftAlignmentOffset){h+=g.options.leftAlignmentOffset}if(g.options.topOffset){i=i+g.options.topOffset}e.css({top:i,left:h-10,zIndex:999997});if(d.savedQueries.length>0){g.getBubbleContent().html("");d.renderIn(g.getBubbleContent())}else{g.getBubbleContent().html('<div style="padding:2px;font-size:11pt">'+USER.msgBundle.noSavedSearches+"</div>")}}}});this.bubble.init()};this.userSignedIn=function(){$("#saveSearchButton").show();this.setupDropDown()};this.userSignedOut=function(){$("#saveSearchButton").hide();this.setupDropDown()};this.deleteSavedQuery=function(f,e){this.savedSearchFormContainer.hide();var d=this;$.post("/q/"+f,{},function(g){if(g.has_error){alert("Not possible to remove this saved search")}else{notify(USER.msgBundle.search_removed_notification);d.remove(f);if(!e){e=$("#saveQueryButton")}if(e.attr("queryid")==f){e.attr("queryid","");e.removeClass("on");e.addClass("off")}}},"json")};this.editSavedQuery=function(k,g){var d=this;if(!this.isDisplayed){var d=this;var j=null;for(var f=0;f<this.savedQueries.length;f++){var h=this.savedQueries[f];if(h.id==k){j=h;break}}if(j!=null){var e=[];e.push("<div style='margin:2px;'>");e.push("Delete this search : <input type='button' id='btnDeleteQuery' value='Delete'><hr>");e.push("<dl class='editform'>");e.push("<dt>"+j.q+"</dt>");e.push("<dt><label for='name'>"+USER.msgBundle.savedQuery_name_label+"</label></dt><dd><input type='text' name='name' value='"+j.name+"'></dd>");e.push("<dt><label for='description'>"+USER.msgBundle.savedQuery_description_label+"</label></dt><dd><input type='text' name='description'></dd>");e.push("</dl><input type='button' id='btnUpdateQuery' value='"+USER.msgBundle.savedQuery_save_button_label+"'>");e.push("</div>");this.savedSearchFormContainer.html(e.join(""));this.savedSearchFormContainer.find("#btnUpdateQuery").click(function(){alert("update the query "+k)});this.savedSearchFormContainer.find("#btnDeleteQuery").click(function(){d.deleteSavedQuery(k,null)});this.savedSearchFormContainer.slideDown();this.isDisplayed=true}}else{this.savedSearchFormContainer.html("");this.savedSearchFormContainer.slideUp();this.isDisplayed=false}};this.hideSaveSearchForm=function(){this.isDisplayed=true;this.savedSearchFormContainer.hide()};this.showSaveSearchForm=function(){if(USER.profile){var d=this;var g=$("#searchBox").val();var h=USER.lang;var e=g;if(g!=null){var f=[];f.push("<input type='hidden' name='saveSearchQuery' id='saveSearchQuery' value='"+g+"'>");f.push("<label for='name'>"+USER.msgBundle.savedQuery_name_label+"</label> : <input type='text' id='saveSearchName' name='name' value='"+g+"'> ");f.push("<input type='button' id='btnUpdateQuery' value='"+USER.msgBundle.savedQuery_save_button_label+"'>");f.push("<input type='button' id='btnCancelUpdateQuery' value='"+USER.msgBundle.savedQuery_cancel_button_label+"'>");this.savedSearchFormContainer.html(f.join(""));this.savedSearchFormContainer.find("#btnUpdateQuery").click(function(){d.saveSearch()});this.savedSearchFormContainer.find("#btnCancelUpdateQuery").click(function(){d.hideSaveSearchForm()});this.savedSearchFormContainer.slideDown();this.isDisplayed=true}}};this.quickSaveSearch=function(){if(USER.profile){var d=this;var f=$("#searchBox").val();var g=USER.lang;var e=f;if(e){$.post("/q/",{q:f,lang:g,name:e},function(h){if(h.has_error){alert("No possible to save this search")}else{notify(USER.msgBundle.search_saved_notification);d.add(h.query)}},"json")}}};this.saveSearch=function(){this.savedSearchFormContainer.hide();if(USER.profile){var d=this;var f=$("#saveSearchQuery").val();var g=USER.lang;var e=$("#saveSearchName").val();this.savedSearchFormContainer.html("");if(e){$.post("/q/",{q:f,lang:g,name:e},function(h){if(h.has_error){alert("No possible to save this search")}else{notify(USER.msgBundle.search_saved_notification);d.add(h.query)}},"json")}}};this.add=function(e){var d=this;$.get("/u/"+USER.profile["screen_name"]+"/queries.json",{},function(f){d.savedQueries=f;d.render()},"json")};this.remove=function(g){if(this.savedQueries!=null){var f=[];for(var d=0;d<this.savedQueries.length;d++){var e=this.savedQueries[d];if(e.id!=g){f.push(e)}}this.savedQueries=f;this.render()}};this.render=function(){var g=["<span id='savedSearches'>"+USER.msgBundle.savedSearches_label+(this.savedQueries.length>0?":":"")+"</span>"];for(var f=this.savedQueries.length-1;f>=0&&f>=this.savedQueries.length-2;f--){var h=this.savedQueries[f];var e=h.name;if(e.length>12){e=e.substring(0,9)+"..."}g.push("<a href='?"+h.query+"' title='"+h.q+"' class='tag' style='"+h.color+"'>"+e+"</a> ")}g.push("<a href='#' id='toggleSavedQueriesPopup'><img border='0' src='/images/dropd14.png'/></a> ");this.savedSearchesContainer.html(g.join(""));var d=this;this.renderDropDown()};this.renderIn=function(h){var k=false;if(!USER.profile){this.element.html("");this.element.hide();this.savedSearchesContainer.html("");this.savedSearchesContainer.hide()}else{if(this.savedQueries.length>0){var g=[];g.push("<table width='100%' cellspacing='0' cellpadding='0'>");for(var f=0;f<this.savedQueries.length;f++){var j=this.savedQueries[f];if((j.q==$("#searchBox").val())&&(j.lang==USER.lang)){k=true}var e=j.name;g.push('<tr class="savedSearch" href="?'+j.query+'"><td width="100%"><a href="?'+j.query+'" class="savedquery">'+e+"</a></td>");g.push('<td width="24" height="24"><a href="#" query_id="'+j.id+'" class="btnDeleteSavedQuery"></a></td>');g.push("</tr>")}g.push("</table>");h.html(g.join(""));var d=this;h.find(".btnDeleteSavedQuery").click(function(){var i=$(this);var n=i.attr("query_id");var m=i.parents("tr.savedSearch");var l=function(o,p){return function(){o.deleteSavedQuery(p,null)}};m.slideUp(l(d,n))});this.savedSearchesContainer.show()}else{h.html("");h.hide()}}if(k){$("#saveQueryButton").addClass("on");$("#saveQueryButton").removeClass("off")}else{$("#saveQueryButton").addClass("off");$("#saveQueryButton").removeClass("on")}};this.renderDropDown=function(){this.renderIn(this.container)};this.setupControls=function(){this.setupBubble();var d=this;$("#saveSearchButton").click(function(){if(USER.profile){var e=$(this);d.quickSaveSearch()}else{d.signinWidget.toggleSignIn()}return false})};this.setupDropDown=function(){var d=this;if(USER.profile){$.get("/u/"+USER.profile["screen_name"]+"/queries.json",{},function(e){d.savedQueries=e;d.render()},"json")}};this.isDisplayed=false;this.setupControls();this.setupDropDown();USER.savedQueriesWidget=this};
function TrendsWidget(a){this.selector=a;this.container=$(a);this.trends=[];this.moreTrends=[];this.bubble=null;this.setupBubble=function(){var b=this;this.bubble=new BubbleWidget("moreTrendsTooltip",{topOffset:4,trigger:{event:"mouseover",eventDelay:500,selector:"#showMoreTrends"},beforeShow:function(e,g){if(e){if(b.moreTrends.length>0){var j=g.bubble;var k=e.offset();var l=k.top+4+e.outerHeight();var d=k.left;if(g.options.leftAlignment){d=$(g.options.leftAlignment).offset().left}if(g.options.leftAlignmentOffset){d+=g.options.leftAlignmentOffset}if(g.options.topOffset){l=l+g.options.topOffset}j.css({top:l,left:d-10,zIndex:999997});g.getBubbleContent().html("");var h=[];h.push("<ul>");for(var f=0;f<b.moreTrends.length;f++){var m=b.moreTrends[f];var c=m.q;h.push('<li><a href="/search?q='+c+'" class="tag">'+m.name+"</a></li> ")}h.push("</ul>");g.getBubbleContent().html(h.join(""))}}}});this.bubble.init()};this.start=function(){if(!this.bubble){this.setupBubble()}this.refresh()};this.refresh=function(){var b=this;$.get("/trends.json",{},function(d){b.trends=[];b.moreTrends=[];for(var c=0;c<d.length&&c<3;c++){b.trends.push(d[c])}for(var c=3;c<d.length;c++){b.moreTrends.push(d[c])}b.render();setTimeout(function(){b.refresh()},60000)},"json")};this.render=function(g){var f=[];for(var e=0;e<this.trends.length;e++){var d=this.trends[e];var c=d.q;var b=d.name;if(b.length>12){b=b.substring(0,9)+"..."}f.push('<a href="/search?q='+c+'" class="tag">'+b+"</a> ")}if(this.moreTrends.length>0){f.push('<a id="showMoreTrends" href="#"><img src="/images/dropd14.png" border="0"></a>')}this.container.html(f.join(""))};this.isCrossPost=function(e){var f=0;for(var d=0;d<this.trends.length;d++){var b=this.trends[d];if(contains(e.hashtags,b.name.toLowerCase())){f++}}if(f>1){return true}for(var d=0;d<this.moreTrends.length;d++){var b=this.moreTrends[d];if(contains(e.hashtags,b.name.toLowerCase())){f++}}return false}};
var TAG=1;var URL=2;var TXT=0;function parse(n){var b=[];var d=[];var w=[];var e=[];var r=[];var o=[];var m=null;var q;var j=function(c){if(c==null){return true}if(c.type){return(!c.v||c.v=="")}};for(var s=0;s<n.length;s++){var u=n.charAt(s);if(m){if(m.type==URL){if(" \n\r".indexOf(u)>=0){b.push(m);m=null}else{m.url+=u;m.v+=u}}else{if(m.type==TAG){if(!("abcdefghijklmnopqrstuvwxyz0123456789_".indexOf(u.toLowerCase())>=0)){if("@#$".indexOf(u)>=0){b.push(m);m={type:TAG,tagtype:u,v:""}}else{if(m.v==""){m={type:TXT,v:m.tagtype+u}}else{b.push(m);m={type:TXT,v:u}}}}else{m.v+=u}}else{var k=n.substring(s);if(k.indexOf("http://")==0){b.push(m);m={type:URL,scheme:"http://",url:"",v:""};s+=6}else{if(k.indexOf("https://")==0){b.push(m);m={type:URL,scheme:"https://",url:"",v:""};s+=7}else{if("@#$".indexOf(u)>=0){b.push(m);m={type:TAG,tagtype:u,v:""}}else{m.v+=u}}}}}}else{var k=n.substring(s);if(k.indexOf("http://")==0){m={type:URL,scheme:"http://",url:"",v:""};s+=6}else{if(k.indexOf("https://")==0){m={type:URL,scheme:"https://",url:"",v:""};s+=7}else{if("@#$".indexOf(u)>=0){m={type:TAG,tagtype:u,v:""}}else{m={type:TXT,v:u}}}}}}b.push(m);for(var s=0;s<b.length;s++){var a=b[s];if(a.type==TAG&&a.tagtype=="@"){if(s>0){var f=b[s-1];if(f.type==TXT){var l=trim(f.v);if(l.match(/(rt|retweet|via)[:]?$/i)){a.rt=true}}}}else{if(a.type==URL){var t=a.url.replace(/([\|,;.:\?!\)\]]+)$/g,"_-_-_-$1").split("_-_-_-");a.url=t[0];var p="";if(t.length>1){p=t[1]}var g=a.url;if(g.match(/^([a-z0-9_\-\.]+)\/?$/i)){a.domain=true;a.url=a.url.replace(/[\/]+/i,"");a.v=a.url}else{if(s>0){var f=b[s-1];var h=trimGarbage(f.v);if(f.type==TXT&&(h!="")){if(!h.match(/[\(\[]+/g)){p=""}a.v=trimGarbage(f.v)+p;b[s-1]=null}}}}else{if(a.type==TXT){if(s>0){var f=b[s-1];if(f.type==TXT){a.v=f.v+a.v;b[s-1]=null}}}}}}cleaned=[];for(var s=0;s<b.length;s++){var a=b[s];if(a){switch(a.type){case TAG:if(a.v==""){a.type=TXT;a.v=a.tagtype}else{switch(a.tagtype){case"@":w.push(a.v.toLowerCase());if(a.rt){e.push(a.v.toLowerCase())}break;case"$":o.push("$"+a.v);break;case"#":r.push("#"+a.v.toLowerCase());break}}break;case URL:d.push(a.scheme+a.url);break}cleaned.push(a)}}return{tweet:cleaned,links:d,htags:r,attags:w,rts:e,tickers:o}}function renderAsTextAndHtml(d){var b=[];var c=[];for(var a=0;a<d.length;a++){var e=d[a];switch(e.type){case(TAG):if(e.tagtype=="@"){b.push("<a class='userBubble' style='color:#333333' href='http://www.twitter.com/"+e.v+"' target='_blank' userid='"+e.v+"'>@"+e.v+"</a> ")}else{b.push("<a class='inlinetag' href='?q="+encodeURIComponent(e.tagtype+e.v)+"' title='Search for "+e.tagtype+e.v+" on twazzup'>"+e.tagtype+e.v+"</a> ")}break;case(URL):if(e.domain){b.push("<a href='"+e.scheme+e.url+"' target='_blank' title='"+e.scheme+e.url+"'>"+e.scheme+e.v+"</a> ")}else{b.push("<a href='"+e.scheme+e.url+"' target='_blank' title='"+e.scheme+e.url+"'>"+e.v+"</a> ")}if(e.domain||e.v!=e.url){c.push(e.scheme+e.v+" ")}break;case(TXT):b.push(e.v+" ");c.push(e.v+" ");break}}return{html:b.join(""),text:c.join("")}}function trimGarbage(a){return a.replace(/^[:\)\s\.-]+/g,"").replace(/[:\s\.\(-]+$/g,"")}function trim(a){return a.replace(/^[\s]+/g,"").replace(/[\s]+$/g,"")}function trimAll(a){return trim(trimGarbage(trim(a)))};
jQuery.fn.outer=function(){return $($("<div></div>").html(this.clone())).html()};jQuery.fn.center=function(){var a=$(window);this.css("position","absolute");this.css("top",((a.height()-this.height())/2+a.scrollTop())+"px");this.css("left",((a.width()-this.width())/2+a.scrollLeft())+"px");return this};String.prototype.countChar=function(b){var d=0;for(var a=0;a<=this.length;a=a+1){if(b==this.charAt(a)){d=d+1}}return d};String.prototype.normalizedUrl=function(){if(this.match(/^(http:\/\/|https:\/\/)?([a-z0-9_\-\.]+)\/?$/i)){if(this.charAt(this.length-1)=="/"){return this.substring(0,this.length-1)}}return this};String.prototype.endsWith=function(a,b){var c;if(b){c=new RegExp(a+"$","i")}else{c=new RegExp(a+"$")}return this.match(c)!=null};function containsTweet(a,c){for(var b=0;b<a.length;b++){if(a[b].id==c){return true}}return false}var _ArraysHaveIndexOf=([].indexOf);function containsIgnoreCase(a,d){var b=a.length;var c=d.toLowerCase();while(b--){if(a[b].toLowerCase()==c){return true}}}this.contains=(_ArraysHaveIndexOf)?function(a,b){return a.indexOf(b)>=0}:function(a,c){var b=a.length;while(b--){if(a[b]==c){return true}}return false};function intersects(a,c){var b=a.length;for(var d=0;d<b;d++){if(contains(c,a[d])){return true}}return false}var _45min=45*60;var _2h=2*60*60;var _1day=12*_2h;var _2days=2*_1day;function _relative_time(a){var c=(arguments.length>1)?arguments[1]:new Date();var d=parseInt((c.getTime()-a)/1000);var b="";if(d<60){b=d+" sec ago"}else{if(d<120){b="1 min ago"}else{if(d<(_45min)){b=(parseInt(d/60)).toString()+" min ago"}else{if(d<(_2h)){b="1 hr ago"}else{if(d<(_1day)){b=(parseInt(d/3600)).toString()+" hr ago"}else{if(d<(_2days)){b="1 day ago"}else{b=(parseInt(d/86400)).toString()+" days ago"}}}}}}return b}function relative_time(b){var a=Date.parse(b);return _relative_time(a)}function relative_timestruct(b){var a=Date.parse(b);var d=(arguments.length>1)?arguments[1]:new Date();var e=parseInt((d.getTime()-a)/1000);var c={};if(e<60){c={unit:"min",val:0}}else{if(e<120){c={unit:"min",val:1}}else{if(e<(_45min)){c={unit:"hour",val:0}}else{if(e<(_2h)){c={unit:"hour",val:1}}else{if(e<(_1day)){c={unit:"day",val:0}}else{if(e<(7*24*60*60)){c={unit:"week",val:0}}else{c={unit:"month",val:0}}}}}}}return c}jQuery.fn.highlight=function(b){function a(e,j){var l=0;if(e.nodeType==3){var k=e.data.toUpperCase().indexOf(j);if(k>=0){var h=document.createElement("span");h.className="highlight";var f=e.splitText(k);var c=f.splitText(j.length);var d=f.cloneNode(true);h.appendChild(d);f.parentNode.replaceChild(h,f);l=1}}else{if(e.nodeType==1&&e.childNodes&&!/(script|style)/i.test(e.tagName)){for(var g=0;g<e.childNodes.length;++g){g+=a(e.childNodes[g],j)}}}return l}return this.each(function(){a(this,b.toUpperCase())})};jQuery.fn.removeHighlight=function(){return this.find("span.highlight").each(function(){this.parentNode.firstChild.nodeName;with(this.parentNode){replaceChild(this.firstChild,this);normalize()}}).end()};function TweetDB(){this.query=null;this.queryLowerCase=null;this.setQuery=function(b){this.query=b;this.queryLowerCase=b.toLowerCase()};this.tweets=[];this.tweetPos={};this.tweetsCount=0;this.maxSpamweight=2;this.locationMetaDatas={};this.urlLocations={};this.mainTimeframeDurationH=null;this.setMainTimeframeDurationH=function(b){this.mainTimeframeDurationH=b};this.getLinksCount=function(){var e=0;for(var c in this.locationMetaDatas){e++}var b=0;for(var d in this.urlLocations){b++}return{ln:e,un:b}};this.load=function(c){if(c.id){var b=this.get(c.id);if(!b){b=new Tweet();b.parseTwitterJSON(c);if(trendsWidget.isCrossPost(b)){return null}this.store(b)}return b}return null};this.getUrlMetaDatas=function(b){var c=this.locationMetaDatas[b];if(c){return c}return this.locationMetaDatas[this.urlLocations[b]]};this.setLocationMetaDatas=function(h){var j=[];var b=h.url;var e=h.locationFragmentFree;var l=h.meta.title;if(e&&b){if(!this.urlLocations[b]){j=j.concat(this.findTweetsIdxAboutUrl(b))}this.urlLocations[b]=e;if(l){var c=this.locationMetaDatas[e];if(!c){c=h;var g=e.split(/[\/]+/,3);if(g.length>=2){c.domain=g[1]}this.locationMetaDatas[e]=c;c.urls=[]}if(!contains(c.urls,b)){c.urls.push(b)}}}var f=new Date();for(var d=0;d<j.length;d++){var k=this.tweets[j[d]];this.computeSpamweight(k,j[d],f)}};this.getLocationDatas=function(){var k=[];for(var b in this.locationMetaDatas){if((b.indexOf("/waitfewsec.blogspot.com/")<0)&&(b.indexOf("/free.eonlinetask.com/")<0)){var g=this.locationMetaDatas[b];var j=this.findTweetsAboutLocation(b);var c=[];var f=j.length;for(var e=0;e<f;e++){var h=j[e].from;if(!contains(c,h)){c.push(h)}}k.push({location:b,tweets:j,authors:c,metadatas:g})}else{}}return k};this.getTopLocations=function(b){return this.getLocationDatas().sort(b)};this.findTweetsIdxAboutUrl=function(c){r=[];var b=this.tweets.length;for(var e=0;e<b;e++){var d=this.tweets[e];if(d.hasLinks()){if(contains(d.links,c)){r.push(e)}}}return r};this.findTweetsAboutLocation=function(c){r=[];var d=[];var g=this.locationMetaDatas[c];if(g){urls=this.locationMetaDatas[c].urls;var b=this.tweets.length-1;for(var f=b;f>=0;f--){var e=this.tweets[f];if(!contains(d,e.from)){if(e.hasLinks()){if(intersects(e.links,urls)){d.push(e.from);r.push(e)}}}}}return r};this.bannedSpammers={};this.computeSpamweight=function(f,k,m,h){if(this.queryLowerCase.indexOf(f.from.toLowerCase())>=0){return false}if(!h){h=new Date()}var g=false;var b=[];for(var d=k-1;d>=0;d--){var e=this.tweets[d];var l=e.id;if(e.isDuplicate(f)){e.spamweightTS=h;b.push(d)}}if(b.length>0){var j=b.length;for(var d=0;d<b.length;d++){var c=b[d];this.tweets[c].spamweight=j}f.spamweight=j;f.spamweightTS=h;if(j>=this.maxSpamweight){if(!this.bannedSpammers[f.from]){g=true}this.bannedSpammers[f.from]=true}}return g};this.get=function(c){var b=this.tweetPos[c];return this.tweets[b]};this.getList=function(e){var f=[];var b=e.length;for(var d=0;d<b;d++){var c=this.get(e[d]);if(c){f.push(c)}}return f};this.computeSpamweightTimeout=-1;this.store=function(c){clearTimeout(this.computeSpamweightTimeout);this.tweetPos[c.id]=this.tweetsCount++;this.tweets.push(c);var b=this;this.computeSpamweightTimeout=setTimeout(function(){b.computeSpamweight(c,b.tweetsCount-1,false)},300)};this.garbage=function(){var b=this.tweets.length;if(b>(400)){this.tweetsCount=400;this.tweets=this.tweets.slice(b-400);this.tweetPos={};for(var e=0;e<400;e++){this.tweetPos[this.tweets[e].id]=e}b=400}var h=[];for(var e=0;e<b;e++){var d=this.tweets[e];if(d.hasLinks()){h=h.concat(d.links)}}for(var b in this.locationMetaDatas){var g=this.locationMetaDatas[b].urls;var f=false;for(var e=0;e<g.length;e++){var c=g[e];if(contains(h,c)){f=true;break}}if(!f){for(var e=0;e<g.length;e++){delete this.urlLocations[g[e]]}delete this.locationMetaDatas[b]}}};this.isBannedSpammer=function(b){return this.bannedSpammers[b]};this.listeners=[];this.addListener=function(b){this.listeners.push(b)};this.fireNewSpammersFound=function(){for(var b=0;b<this.listeners.length;b++){var c=this.listeners[b].newSpammersFound;if(typeof(c)!="undefined"){this.listeners[b].newSpammersFound(this)}}};this.isInMainTimeFrameFilter=function(){if(this.mainTimeframeDurationH){var c=-1;if(this.mainTimeframeDurationH<=0.2){c=1}else{if(this.mainTimeframeDurationH<=24){c=24}else{if(this.mainTimeframeDurationH<=24*7){c=24*7}}}if(c>0){var b=new Date();var c=b-c*3600000;return function(d){return Date.parse(d.created_at)>=c}}else{return function(d){return true}}}return function(d){return false}};this.getRetweetedUsers=function(d){var h={};var g=function(l,m,k){if(l.isRT){for(var i=0;i<l.rts.length;i++){var n=l.rts[i];if(!(k[n])){if(m[n]){m[n]=1+m[n]}else{m[n]=1}}}}};if(d){var c=this.isInMainTimeFrameFilter();g=function(l,m,k){if(l.isRT&&c(l)){for(var i=0;i<l.rts.length;i++){var n=l.rts[i];if(!(k[n])){if(m[n]){m[n]=1+m[n]}else{m[n]=1}}}}}}for(var f=0;f<this.tweets.length;f++){var e=this.tweets[f];g(e,h,this.bannedSpammers)}var b=[];for(var j in h){b.push({from:j,c:h[j]})}return b};this.getTopRetweetedUsers=function(d,c){var b=this.getRetweetedUsers(c).sort(function(f,e){return f.c<e.c?1:(f.c==e.c?0:-1)}).slice(0,d);return b};this.findRetweetedTweetsFromUser=function(B,o){var q=function(i,j){return(i.from!=B&&i.isRT&&contains(i.rts,j))};var d=function(i,j){return(i.from==j&&!i.isRT)};if(o){var f=this.isInMainTimeFrameFilter();q=function(i,j){return(f(i)&&i.from!=B&&i.isRT&&contains(i.rts,j))};d=function(i,j){return(f(i)&&i.from==j&&!i.isRT)}}var y=[];var z=[];if(this.bannedSpammers[B]){return[]}var s=this.tweets.length;for(var x=0;x<s;x++){var n=this.tweets[x];if(q(n,B)){y.push(n)}else{if(d(n,B)){z.push(n)}}}var e=[];var h={};for(var x=0;x<z.length;x++){var n={t:z[x],rtweets:[]};if(!contains(e,n.t.id)){for(var w=0;w<y.length;w++){var g=y[w];if(g.created_at_date>n.t.created_at_date){if(g.hasLinks()&&n.t.hasLinks()){for(var v=0;v<n.t.links.length;v++){if(contains(g.links,n.t.links[v])){n.rtweets.push(g);break}}}else{if(n.t.hasLinks()){}else{var A=n.t.text.substring(0,Math.min(40,n.t.text.length)).toLowerCase();if(g.text.toLowerCase().indexOf(A)){n.rtweets.push(g)}}}}}if(n.rtweets.length>0){var c=h[n.t.from];if(!c){h[n.t.from]=[n]}else{h[n.t.from].push(n)}}e.push(n.t.id)}}var p=[];for(var m in h){var c=h[m];var b=c.sort(function(j,i){(j.rtweets.length==i.rtweets.length)?0:((j.rtweets.length>i.rtweets.length)?-1:1)})[0];p.push(b)}return p};this.getUsers=function(){var f={};for(var e=0;e<this.tweets.length;e++){var d=this.tweets[e];var c=f[d.from];if(!c){f[d.from]={a:1,rt:0,r:0,pic:d.from_picture,dt:d.created_at_date}}else{f[d.from].a=c.a+1;f[d.from].pic=d.from_picture;if(f[d.from].dt<d.created_at_date){f[d.from].dt=d.created_at_date}}f[d.from].spammer=this.bannedSpammers[d.from];for(var b=0;b<d.rts.length;b++){var g=d.rts[b];var c=f[g];if(!c){f[g]={a:0,rt:1,r:0,pic:null,dt:null}}else{f[g].rt=c.rt+1}f[g].spammer=this.bannedSpammers[g]}}return f};var a=function(){TDB.garbage()};setInterval(a,20000)}var TDB=new TweetDB();function Tweet(){this.id=null;this.created_at=null;this.created_at_date=null;this.from=null;this.from_picture=null;this.to=null;this.attags=[];this.hashtags=[];this.links=[];this.locations={};this.text=null;this.enrichedText=null;this.isRT=false;this.rts=[];this.originalTweetId=null;this.retweets=[];this.spamweight=0;this.spamweightTS=null;this.iso_language_code="";this.location=null;this.isDuplicate=function(a){if(a.from!=this.from){return false}if(a.hasLinks()){if(!this.hasLinks()){return false}url0=this.links[0];loc0=TDB.urlLocations[url0];loc0=""+(loc0?loc0:url0);url1=a.links[0];loc1=TDB.urlLocations[url1];loc1=""+(loc1?loc1:url1);return(url0===url1)||(loc0===loc1)||(url0===loc1)||(url1===loc0)}return(a.textWithoutLinks==this.textWithoutLinks)};this.isReplyTo=function(){return this.to};this.parseTwitterAPIJSON=function(b){this.id=b.id;this.created_at=b.created_at;this.created_at_date=Date.parse(this.created_at);this.from=b.user.screen_name.toLowerCase();this.to=b.in_reply_to_screen_name?b.in_reply_to_screen_name.toLowerCase():"";this.from_picture=b.user.profile_image_url;this.text=b.text;this.iso_language_code="";this.enrichedText=b.text;this.textWithoutLinks=b.text;this.rts=[];var a=parse(this.text);var c=renderAsTextAndHtml(a.tweet);this.attags=a.attags;this.hashtags=a.htags;this.enrichedText=c.html;this.textWithoutLinks=c.text;this.links=a.links;this.rts=a.rts;this.isRT=this.rts.length>0};this.parseTwitterJSON=function(b){this.id=b.id;this.created_at=b.created_at;this.created_at_date=Date.parse(this.created_at);this.from=b.from_user?b.from_user.toLowerCase():"__nobody__";this.to=b.to_user?b.to_user.toLowerCase():"";this.from_picture=b.profile_image_url;this.text=b.text;this.iso_language_code=b.iso_language_code;this.enrichedText=b.text;this.textWithoutLinks=b.text;this.rts=[];var a=parse(this.text);var c=renderAsTextAndHtml(a.tweet);this.attags=a.attags;this.hashtags=a.htags;this.enrichedText=c.html;this.textWithoutLinks=c.text;this.links=a.links;this.rts=a.rts;this.isRT=this.rts.length>0};this.hasLinks=function(){return this.links.length>0};this.hasLink=function(a){return contains(this.links,a)};this.getFirstLink=function(){if(this.links.length>0){return this.links[0]}else{return null}};this.hasHashtags=function(){return this.hashtags.length>0};this.hasAttags=function(){return this.attags.length>0};this.getFirstAttag=function(){if(this.attags.length>0){return this.attags[0].toLowerCase()}else{return null}};this.addRetweet=function(a){if(a.isRT){a.originalTweetId=this.id;this.retweets.push(a)}}}function TagOccurences(){this.occurences={};this.stats={dates:{latest:null,oldest:null}};this.addOccurence=function(e,a,b,d){if((this.stats.dates.latest==null)||(this.stats.dates.latest<b)){this.stats.dates.latest=b}if((this.stats.dates.oldest==null)||(this.stats.dates.oldest>b)){this.stats.dates.oldest=b}var c=this.get(a);if(!c||!c.dates||!c.dates.length){this.occurences[a]={spamweight:e,dates:[b],metadatas:[d]}}else{c.dates.push(b);c.metadatas.push(d)}};this.get=function(a){return this.occurences[a]};this.top=function(a,h,b){var g=[];var d=function(i){var c=true;if(!h&&!b){return true}if(h){c=c&&(i<=h)}if(b){c=c&&(i>=b)}return c};for(var l in this.occurences){var j=0;var e=this.occurences[l].dates;var k=this.occurences[l].spamweight;for(var f=0;f<e.length;f++){if(d(e[f])){j+=1-k}}if(j>0){g.push({tag:l,n:j})}}return g.sort(function(i,c){if(i.n==c.n){return i.tag<c.tag?-1:(i.tag==c.tag?0:1)}else{return i.n<c.n?1:-1}}).slice(0,a)};this.distribution=function(a){var h=[];var c=0;var b=this.stats.dates.latest-this.stats.dates.oldest;var g=this.stats.dates.latest;for(var e=0;e<a.length;e++){var d=a[e];var f=this.stats.dates.latest-d*b;var j=this.top(10,g,f);h.push(j);g=f}return h};this.render=function(b,k){var j=$(b);var g=[];var o=j.width();var f=j.height();var m=o/(this.stats.dates.latest-this.stats.dates.oldest);var a=-1;for(var p in this.occurences){var d=this.occurences[p].dates;if(d.length>=k){a++;for(var e=0;e<d.length;e++){var l=(this.stats.dates.latest-d[e])*m;g.push("<div style='position:absolute;left:"+Math.floor(l)+"px;top:"+(a*10)+"px;font-size:8px'>"+p+"</div>")}}}j.html(g.join(""))}}var stopwords=["a","about","above","accordingly","after","again","against","ah","all","also","although","always","am","among","amongst","an","and","any","anymore","anyone","are","as","at","away","be","been","begin","beginning","beginnings","begins","begone","begun","being","below","between","but","by","ca","can","cannot","come","could","did","do","doing","during","each","either","else","end","et","etc","even","ever","far","ff","following","for","from","further","furthermore","get","go","goes","going","got","had","has","have","he","her","hers","herself","him","himself","his","how","i","if","in","into","is","it","its","itself","last","lastly","less","many","may","me","might","more","must","my","myself","near","nearly","never","new","next","no","not","now","o","of","off","often","oh","on","only","or","other","otherwise","our","ourselves","out","over","perhaps","put","puts","quite","s","said","saw","say","see","seen","shall","she","should","since","so","some","such","t","than","that","the","their","them","themselves","then","there","therefore","these","they","this","those","though","throughout","thus","to","too","toward","unless","until","up","upon","us","ve","very","was","we","were","what","whatever","when","where","which","while","who","whom","whomever","whose","why","with","within","without","would","yes","your","yours","yourself","yourselves"];function extractTags(c,h,f,d){var b=h.replace(/[^@A-Z\xC4\xD6\xDCa-z\xE4\xF6\xFC\xDF0-9_]/g," ").replace(stopwords," ").split(" ");var a=/^[@a-z\xE4\xF6\xFC]*[A-Z\xC4\xD6\xDC]([A-Z\xC4\xD6\xDC\xDF]+|[a-z\xE4\xF6\xFC\xDF]{3,})/;for(var g=0;g<b.length;g++){var e=b[g];if(e.indexOf("@")!=0&&e!="RT"){if(a.test(e)){var j=e.toLowerCase();if(!(f.indexOf(j)>=0)){c.addOccurence(0,j,d)}}}}}function extractAttags(g,c,b,f){var a=c.match(/@[a-z0-9_]+/gi);if(a){for(var e=0;e<a.length;e++){var d=a[e].toLowerCase();if(!(b.indexOf(d)>=0)){if(d!="@jason_pollock"){g.addOccurence(0,d,f,{text:c})}}}}}function extractTickers(f,b,a,e){var g=b.match(/(\$[A-Z]{1,4}(\.[A-Z]{1,2})?)/g);if(g){for(var d=0;d<g.length;d++){var c=g[d];if(!(a.indexOf(c)>=0)){f.addOccurence(0,c,e)}}}}function extractTwitpics(f,b,g,e){var a=b.match(/http:\/\/twitpic\.com\/[a-z0-9]+/gi);if(a){for(var d=0;d<a.length;d++){var c=a[d];f.addOccurence(g,c,e)}}}function extractTagsFromTweets(e,a){var d=new TagOccurences();for(var c=0;c<e.length;c++){var b=e[c];if(b.spamweight<=1){extractTags(d,b.textWithoutLinks,a.toLowerCase(),Date.parse(b.created_at))}}return d}function extractHashtagsFromTweets(f,c){var a=new TagOccurences();var h={};var g=c.toLowerCase();for(var e=0;e<f.length;e++){var l=f[e];var b=Date.parse(l.created_at);if(l.spamweight<=1){for(var d=0;d<l.hashtags.length;d++){var k=l.hashtags[d].toLowerCase();if(!(g.indexOf(k)>=0)){if(!h[l.from]||!h[l.from][k]){a.addOccurence(l.spamweight,k,b);if(!h[l.from]){h[l.from]={}}h[l.from][k]=true}}}}}return a}function extractAttagsFromTweets(e,a){var d=new TagOccurences();for(var c=0;c<e.length;c++){var b=e[c];extractAttags(d,b.text,a.toLowerCase(),Date.parse(b.created_at))}return d}function extractTickersFromTweets(e,a){var d=new TagOccurences();for(var c=0;c<e.length;c++){var b=e[c];extractTickers(d,b.text,a.toLowerCase(),Date.parse(b.created_at))}return d}function extractAuthorsFromTweets(e,a){var d=new TagOccurences();for(var c=0;c<e.length;c++){var b=e[c];d.addOccurence(0,b.from.toLowerCase(),b.created_at_date)}return d}function extractTwitpicsFromTweets(d){var c=new TagOccurences();for(var b=0;b<d.length;b++){var a=d[b];if(a.spamweight<=1){extractTwitpics(c,a.text,a.spamweight,Date.parse(a.created_at))}}return c}function TwitterPipe(e,d,b,a,c){this.size=d;this.maxsize=b;this.query=e;this.fifo=[];this.tweets=[];this.autoRefresh=false;this.speed=-1;this.midspeed=-1;this.dates=null;this.stats=null;this.listeners=[];this.feedingPipe=a;this.pluggedToFeedingPipe=false;this.from_twazzup=c;this.addListener=function(f){this.listeners.push(f)};this.fireNoResultsFound=function(){for(var f=0;f<this.listeners.length;f++){var g=this.listeners[f].noResultsFound;if(typeof(g)!="undefined"){this.listeners[f].noResultsFound(this)}}};this.firePipeStarted=function(){for(var f=0;f<this.listeners.length;f++){var g=this.listeners[f].pipeStarted;if(typeof(g)!="undefined"){this.listeners[f].pipeStarted(this)}}};this.firePipeStoped=function(){for(var f=0;f<this.listeners.length;f++){var g=this.listeners[f].pipeStoped;if(typeof(g)!="undefined"){this.listeners[f].pipeStoped(this)}}};this.fireNewTweetsAvailable=function(f){for(var g=0;g<this.listeners.length;g++){var h=this.listeners[g].newTweetsAvailable;if(typeof(h)!="undefined"){this.listeners[g].newTweetsAvailable(f,this)}}};this.fireTwitterSearchLaunched=function(){for(var f=0;f<this.listeners.length;f++){var g=this.listeners[f].twitterSearchLaunched;if(typeof(g)!="undefined"){this.listeners[f].twitterSearchLaunched(this)}}};this.fireTwitterSearchDone=function(){for(var f=0;f<this.listeners.length;f++){var g=this.listeners[f].twitterSearchDone;if(typeof(g)!="undefined"){this.listeners[f].twitterSearchDone(this)}}};this.getLatestTweets=function(q,f){if(!f){return this.fifo.slice(0,q)}else{if(!this.feedingPipe){return this.fifo.slice(0,q)}var o=-1;var m=this.feedingPipe.dates.durationh;if(m<=24){o=24}else{if(m<=24*7){o=24*7}}if(o<0){return this.fifo.slice(0,q)}var g=new Date().getTime();var n=o*3600000-g;var k=[];var h=this.fifo.length;for(var j=0;j<h;j++){var p=this.fifo[j];if(-Date.parse(p.created_at)<=n){k.push(p)}else{break}}return k}};this.getLatestRichTweets=function(q,f){if(!f){return this.tweets.slice(0,q)}else{if(!this.feedingPipe||!this.feedingPipe.dates||!this.feedingPipe.dates.durationh){return this.tweets.slice(0,q)}var o=-1;var m=this.feedingPipe.dates.durationh;if(m<=24){o=24}else{if(m<=24*7){o=24*7}}if(o<0){return this.tweets.slice(0,q)}var g=new Date().getTime();var n=o*3600000-g;var k=[];var h=this.tweets.length;for(var j=0;j<h;j++){var p=this.getRichTweetAt(j);if(-Date.parse(p.created_at)<=n){k.push(p)}else{break}}return k}};this.hasTweetsBefore=function(j){var h=false;var g=0;while(!h&&(this.tweets.length>g)){var f=this.getRichTweetAt(g);g++;if(f.id==j){h=true;break}}if(h){return this.tweets.length>g}else{return false}};this.getRichTweetsPage=function(k,f){var j=false;var h=0;while(!j&&(this.tweets.length>h)){var g=this.getRichTweetAt(h);h++;if(g.id==k){j=true;break}}if(j){return this.tweets.slice(h,Math.min(this.tweets.length,f+h))}else{return[]}};this.find=function(j){var h=[];var k=false;if(j.maxdt){k=j.maxdt}for(var g=0;g<this.tweets.length;g++){var f=this.getRichTweetAt(g);if(!k||k>=f.created_at_date){if(j.retweeted){if(containsIgnoreCase(f.rts,j.retweeted)){h.push(f)}}else{if(j.attag){if(containsIgnoreCase(f.attags,j.attag)){h.push(f)}}else{if(j.from){if(f.from==j.from){h.push(f)}}else{if(j.link_filter_fn){if(j.link_filter_fn(f.links)){h.push(f)}}else{if(j.text_filter_fn){if(j.text_filter_fn(f.text)){h.push(f)}}}}}}}}return h};this.start=function(f){this.autoRefresh=f;this.refresh(this);this.firePipeStarted()};this.stop=function(){clearTimeout(this.refreshTimeout);this.autoRefresh=false;this.firePipeStoped()};this.refreshTimeout=false;this.refresh=function(h){this.fireTwitterSearchLaunched();var f=false;if(h.tweets.length>0){f=h.tweets[0].id}var g=this.fifo.length==0?this.size:1;if(!this.from_twazzup){callTwitterSearch2(this.query,100,g,analysisCallbackBuilder(function(i){h.fireTwitterSearchDone();h.append(i.results);if(h.autoRefresh){this.refreshTimeout=setTimeout(function(){h.refresh(h)},30000)}}),f)}else{$.get("/timeline/"+this.query+".json?ts="+(new Date().getTime()),{},function(j){h.fireTwitterSearchDone();var m=[];for(var l=0;l<j.results.length;l++){var k=j.results[l];if(f){if(k.id>f){m.push(k)}}else{m.push(k)}}h.append(m);if(h.autoRefresh){this.refreshTimeout=setTimeout(function(){h.refresh(h)},17000)}},"json")}};this.appendTweets=function(g){if(g.length>0){var h=[];for(var f=0;f<g.length;f++){h.push({id:g[f].id,created_at:g[f].created_at})}this.fifo=h.concat(this.fifo);this.tweets=g.concat(this.tweets);this.garbage();this.computeStats();this.fireNewTweetsAvailable(g.length)}else{if(this.fifo.length==0){this.fireNoResultsFound()}}};this.append=function(j){if(j.length>0){var m=[];var k=[];var f=j.length;for(var h=0;h<f;h++){var n=j[h];if(!(TDB.isBannedSpammer(n.from))){var g=TDB.load(n);if(g!=null){m.push(g);k.push({id:n.id,created_at:n.created_at})}}}this.fifo=k.concat(this.fifo);this.tweets=m.concat(this.tweets);this.garbage();this.computeStats();this.fireNewTweetsAvailable(m.length)}else{if(this.fifo.length==0){this.fireNoResultsFound()}}if(this.feedingPipe&&!this.pluggedToFeedingPipe){this.pluggedToFeedingPipe=true;this.feedingPipe.addListener(this)}};this.garbage=function(){if(this.fifo.length>(100*this.maxsize)){this.fifo=this.fifo.slice(0,100*this.maxsize);this.tweets=this.tweets.slice(0,100*this.maxsize)}};this.computeStats=function(){if(this.fifo.length>1){this.dates={now:new Date(),latest:Date.parse(this.fifo[0].created_at),oldest:Date.parse(this.fifo[this.fifo.length-1].created_at),mid:Date.parse(this.fifo[Math.floor(this.fifo.length/2)].created_at),durationh:((new Date().getTime())-Date.parse(this.fifo[this.fifo.length-1].created_at))/3600000};if(!this.feedingPipe){TDB.setMainTimeframeDurationH(this.dates.durationh)}}else{this.dates=null}if(this.dates){this.stats={speeds:{avg:this.fifo.length/(this.dates.now-this.dates.oldest)*1000,mid:(this.fifo.length/2)/(this.dates.now-this.dates.mid)*1000},duration:{global:this.dates.now-this.dates.oldest,medium:this.dates.now-this.dates.mid}}}};this.getRichTweetAt=function(f){return this.tweets[f]}};
function Player(){this.frame=null;this.title=null;this.content=null;this.play=function(c,b){debug("Calling play()");this.title.text(c);this.content.html(unescape(b));this.frame.center();this.frame.show()};this.close=function(){this.frame.hide();this.title.text("");this.content.html("")};$("body").append("<div id='player'><div style='float:right;margin-top:-4px;margin-right:-4px;'><a href='#' id='btnClosePlayer'><img style='border:0' src='/images/videoCloseButton.png'></a></div><div id='playerInnerFrame'><div id='playerTitle'></div><div id='playerContent'></div></div></div>");this.frame=$("#player");this.title=$("#playerTitle");this.content=$("#playerContent");var a=this;this.frame.find("#btnClosePlayer").click(function(){a.close();return false})};
function TagsWidget(b,d,a,c){this.selector=b;this.container=$(b);this.timeSegmentGetter=a;this.extractorFn=d;this.options=$.extend({},{fixedSize:true,minSize:0.75,maxSize:1,maxTagsCount:5,addPipeQuery:false},c);this.plugPipe=function(e){e.addListener(this)};this.bubble=null;this.setupBubble=function(f){var e=this;this.bubble=new BubbleWidget("tagsInfosTooltip_"+this.options.tooltipoverlay,{topOffset:4,trigger:{event:"mouseover",eventDelay:250,selector:".tag_"+this.options.tooltipoverlay},beforeShow:function(h,m){if(h){var q=h.text();if(q){var n=m.bubble;var o=h.offset();var p=o.top+4+h.outerHeight();var g=o.left;if(m.options.leftAlignment){g=$(m.options.leftAlignment).offset().left}if(m.options.leftAlignmentOffset){g+=m.options.leftAlignmentOffset}if(m.options.topOffset){p=p+m.options.topOffset}n.css({top:p,left:g,zIndex:999997});m.getBubbleContent().html("");var l=f.find({text_filter_fn:function(i){if(i){if(i.toLowerCase().indexOf(q.toLowerCase())>=0){return true}}return false}});var k=[];for(var j=0;j<l.length;j++){renderTweet(l[j],k,{inlineTwitpic:true,userBubble:false})}m.getBubbleContent().html(k.join(""));m.getBubbleContent().highlight(q);activateTweetsBehaviors(m.getBubbleContent())}}}});this.bubble.init()};this.newTweetsAvailable=function(f,i){if(this.options.tooltipoverlay&&!this.bubble){this.setupBubble(i)}var j=false;var h=false;var e=null;if(this.timeSegmentGetter){j=this.timeSegmentGetter.getMaxDate();h=this.timeSegmentGetter.getMinDate();e=this.extractorFn(i.getLatestRichTweets(i.fifo.length),i.query).top(10,j,h)}var g=this.extractorFn(i.getLatestRichTweets(i.fifo.length),i.query).top(10);this.render(g,e,i)};this.getMinMax=function(f){var e={min:null,max:null};for(var h=0;h<f.length;h++){var g=f[h];if(e.min==null){e.min=g.n}else{e.min=Math.min(e.min,g.n)}if(e.max==null){e.max=g.n}else{e.max=Math.max(e.max,g.n)}}return e};this.getTagSize=function(j,f){var h=parseFloat(this.options.maxSize-this.options.minSize);var g=parseFloat(this.options.maxSize+this.options.minSize)/2;var e=parseFloat(f.max-f.min);if(this.options.fixedSize||e==0){return g}else{var i=j-parseFloat(f.max+f.min)/2;return g+(h*i)/e}};this.render=function(h,m,g){var j=this.getMinMax(h);var l=[];var f="";var n=0;for(var k=0;k<h.length&&k<this.options.maxTagsCount;k++){var o=h[k];f="font-size:"+this.getTagSize(o.n,j)+"em;";var e=o.tag;if(this.options.addPipeQuery){e=g.query+" "+e}if(o.n>1){l.push('<a href="?q='+encodeURIComponent(e)+'" style="'+f+'" class="tag_'+this.options.tooltipoverlay+'">'+o.tag+"</a> ");n++}}if(m){l.push("<hr/>Relevant to time constraint : ");f="";for(var k=0;k<m.length&&k<this.options.maxTagsCount;k++){var o=m[k];var e=o.tag;if(this.options.addPipeQuery){e=g.query+" "+e}if(o.n<=1){f="color:#a0a0a0"}l.push("<a href='?q="+encodeURIComponent(e)+"' title='"+o.n+"' style='"+f+"' class='tag_"+this.options.tooltipoverlay+"'>"+o.tag+"</a> ");n++}}this.container.html(l.join(""));if(n==0){this.container.hide()}else{this.container.show()}}};
function LinksWidget(a,c,b){this.player=b;this.selector=a;this.parentSelector=c;this.container=$(a);this.parentContainer=$(c);this.bubble=null;this.pipe=null;this.plugPipe=function(d){this.pipe=d;d.addListener(this)};this.renderTimeout=-1;this.setupBubble=function(){var d=this;this.bubble=new BubbleWidget("linkInfosTooltip",{rightAlignmentOffset:-10,hideBubbled:true,topOffset:-5,trigger:{event:"mouseover",eventDelay:250,selector:"a.elinkLink"},beforeShow:function(f,m){if(f){var o=f.attr("location");if(o){var p=m.bubble;var q=f.offset();var r=q.top;var e=q.left-p.outerWidth();if(m.options.rightAlignment){e=$(m.options.rightAlignment).offset().left-p.outerWidth()}if(m.options.rightAlignmentOffset){e+=m.options.rightAlignmentOffset}if(m.options.topOffset){r=r+m.options.topOffset}p.css({top:r,left:e,zIndex:999997});m.getBubbleContent().html("");var l=TDB.findTweetsAboutLocation(o).sort(function(j,i){return(j.created_at_date==i.created_at_date)?0:(j.created_at_date<i.created_at_date?1:-1)});var k=[];for(var h=0;h<l.length;h++){renderTweet(l[h],k,{userBubble:false});for(var g=0;g<l[h].retweets.length;g++){renderTweet(l[h].retweets[g],k,{userBubble:false})}}m.getBubbleContent().html(k.join(""));activateTweetsBehaviors(m.getBubbleContent())}}}});this.bubble.init()};this.newTweetsAvailable=function(u,e){if(!this.bubble){this.setupBubble()}var d=e.getLatestRichTweets(u,true);var m=[];for(var g=0;g<d.length;g++){var s=d[g];if(s&&s.spamweight<=1){if(s.links&&s.links.length>0){m.push(s)}}}var h={};for(var g=0;g<m.length;g++){var k=m[g].links;for(var f=0;f<k.length;f++){var p=h[k[f]];if(!p){h[k[f]]=1}else{h[k[f]]=p+1}}}var o=[];for(var l in h){var p=h[l];o.push({l:l,c:p})}o=o.sort(function(j,i){return(j.c==i.c)?0:((j.c<i.c?1:-1))});var r=0;for(var g=0;g<o.length;g++){var q=o[g].l;r+=this.processLink(q,null);if(r>15){break}}};this.currentlyResolving={};this.processLink=function(e,f){if(e.indexOf("http://twitpic.com/")<0){var d=TDB.getUrlMetaDatas(e);if(!d){this.resolveLink(e,f);return 1}else{this.notifyLinkOccurence(d,f);return 0}}return 0};this.notifyLinkOccurence=function(e,f){clearTimeout(this.renderTimeout);var d=this;this.renderTimeout=setTimeout(function(){d.render()},750)};this.expanded=false;this.render=function(){var m=[];m=TDB.getTopLocations(function(o,i){return(o.authors.length==i.authors.length)?0:((o.authors.length<i.authors.length?1:-1))});if(m.length>0){this.parentContainer.show()}else{this.parentContainer.hide()}var k=[];n=0;for(var h=0;h<20&&h<m.length;h++){var d=m[h].metadatas;if(n==0){k.push("<div class='sectionTitle'>");k.push("<a href='#' id='linksTitle' class='expend "+(!this.expanded?"folded":"")+"'>"+USER.msgBundle.links_title+"</a></div>")}if(d){if(d.meta){k.push('<table class="elink">');k.push('<tr><td class="elinkRank" align="center" valign="top" style="background-color:#E7E7D9;color:#3F3C34;padding-top:6px;font-size:13px;font-weight:bold"><div>'+(h+1)+"</div></td>");var f=(d.meta.desc.length>100)?(d.meta.desc.substring(0,100)+"..."):d.meta.desc;k.push('<td valign="top" width="100%">');var g=d.domain;k.push('<div class="title"><div style="float:right"><img style="width:14px;vertical-align:middle" alt="" src="http://www.google.com/s2/favicons?domain='+g+'" title="source: '+g+'"/></div> <a class="elinkLink" target="_blank" href="'+d.url+'" title="'+m[h].authors.length+'" location="'+m[h].location+'">'+d.meta.title+"</a></div>");k.push('<div class="desc">'+f+"</div>");k.push('<div class="url" location="'+m[h].location+'" style="cursor:pointer;">source: '+g+"</div>");if(d.meta.video){k.push('</td><td valign="top" style="padding:2px;">');var e=d.meta.thumbs[0].src;if(d.domain=="blip.fm"){e="/images/thumbs/blipfm.png"}k.push('<div class="_linkMedia" style="position:relative;"><a href="#" class="thickbox"  style="position:absolute;top:10px;left:5px;"><img src="/images/playOverlay.png"></a><img src="'+e+'" style="width:100px;margin-top:5px"></div>');if(d.meta.video.embed){k.push('<div id="emb_'+h+'" class="embeded_src" style="display:none;text-align:center" >'+escape(d.meta.video.embed)+"</div>")}else{k.push('<div id="emb_'+h+'" class="embeded_src" style="display:none;text-align:center">'+escape('<embed  type="application/x-shockwave-flash" src="'+d.meta.video.src+'"  width="500" height="300"></embed>')+"</div>")}}else{if(d.domain=="song.ly"){k.push('</td><td valign="top" style="padding:2px;">');var e=d.meta.thumbs[0].src;k.push('<div class="_linkMedia" style="position:relative;"><a href="#" class="thickbox"  style="position:absolute;top:10px;left:5px;"><img src="/images/playOverlay.png"></a><img src="'+e+'" style="width:100px;margin-top:5px"></div>');k.push('<div id="emb_'+h+'" class="embeded_src" style="display:none;text-align:center" >');k.push(escape('<object type="application/x-shockwave-flash" data="/flash/player_mp3.swf" width="200" height="20">'));k.push(escape('<param name="movie" value="/flash/player_mp3.swf" />'));k.push(escape('<param name="FlashVars" value="mp3='+encodeURIComponent(m[h].location)+'" />'));k.push(escape("</object>")+"</div>")}}k.push("</td>");k.push("</table>");n++;if(n==6){k.push("<div class='hiddenLinks' style='"+(!this.expanded?"display:none":"")+"'>")}}}}if(n>=6){k.push("</div>")}this.container.html(k.join(""));var l=this.player;$(".embeded_src",this.container).each(function(){var o=$(this);var i=o.html();var q=o.parents("table.elink").find("a.elinkLink").text();var p=o.parents("table.elink").find("a.thickbox");p.click(function(){l.play(q,i);return false})});var j=this;$("#linksTitle").click(function(){$(this).toggleClass("folded");j.expanded=!j.expanded;if(j.expanded){$(".hiddenLinks").slideDown()}else{$(".hiddenLinks").hide()}return false})};this.resolveLink=function(d,f){if(!this.currentlyResolving[d]){this.currentlyResolving[d]=true;var e=this;$.getJSON("http://meta.twazzup.com/_gr.json?url="+encodeURIComponent(d)+"&callback=?",function(g){if(g&&g.meta&&!g.error){TDB.setLocationMetaDatas(g);e.notifyLinkOccurence(g,f);delete e.currentlyResolving[d]}})}else{}}};
function UsersWidget(a){this.selector=a;this.container=$(a);this.pipe=null;this.plugPipe=function(b){this.pipe=b;b.addListener(this)};this.newTweetsAvailable=function(b,c){var d=TDB.getUsers();this.render(d)};this.sorts={rt:{lbl:"by retweets",attr:"rt"},a:{lbl:"by tweets",attr:"a"},u:{lbl:"by name",attr:"u",desc:true},dt:{lbl:"by date",attr:"dt"}};this.sort="rt";this.render=function(f){if(!f){f=TDB.getUsers()}var c=[];for(var h in f){c.push({u:h,pic:f[h].pic,rt:f[h].rt,a:f[h].a,dt:f[h].dt,r:f[h].r})}var g=function(l,m){var i=m[l].attr;var n=m[l].desc?-1:1;return function(p,o){return n*(p[i]==o[i]?0:(p[i]>o[i]?-1:1))}};c=c.sort(g(this.sort,this.sorts));var e=["<div style='border-bottom:1px solid #d0d0d0;margin-bottom:4px;'>"];for(var k in this.sorts){e.push("<a href='#' class='usersSort "+(k==this.sort?"selected":"")+"' sort='"+k+"'>"+this.sorts[k].lbl+"</a> ")}e.push("</div>");for(var b=0;b<c.length;b++){var d=c[b];if(d.pic){if((this.sort!="rt")||(d.rt>0)){e.push("<img src='"+d.pic+"' title='"+d.u+" : "+d.a+" tweets, Retweeted "+d.rt+" times' class='userInfos tmFace userBubble "+(d.spammer?"spammer":"")+"' userid='"+d.u+"' width='32' height='32' style='width:32px;height:32px' >")}}}this.container.html(e.join(""));var j=this;$("a.usersSort").click(function(){var i=$(this).attr("sort");$("a.usersSort").removeClass("selected");$(this).addClass("selected");j.sort=i;j.render();return false})}};
function GaugeWidget(a,c,b){this.selector=a;this.container=$(a);this.title=c;this.pipe=null;this.gauge=null;this.gaugeOptions=b;this.gaugeData=null;this.plugPipe=function(d){d.addListener(this);this.pipe=d};this.twitterSearchLaunched=function(d){};this.twitterSearchDone=function(d){};this.pipeStarted=function(d){this.init()};this.pipeStoped=function(d){};this.newTweetsAvailable=function(d,e){if(!this.gauge){this.init()}this.gaugeData.setValue(0,0,parseFloat((e.stats.speeds.avg*60*60).toFixed(2)));this.gauge.draw(this.gaugeData,this.gaugeOptions)};this.init=function(){this.gaugeData=new google.visualization.DataTable();this.gaugeData.addColumn("number",this.title);this.gaugeData.addRows(1);this.gaugeData.setCell(0,0,0);this.gauge=new google.visualization.Gauge(this.container.get(0));this.gauge.draw(this.gaugeData,this.gaugeOptions)}};
function TimelineWidget(a,c,b){this.selector=a;this.container=$(a);this.title=c;this.realtimepipe=null;this.rtpipe=null;this.twitpicpipe=null;this.linkpipe=null;this.chart=null;this.chartOptions=b;this.data=null;this.plugPipes=function(g,f,e,d){g.addListener(this);this.realtimepipe=g;this.rtpipe=f;this.twitpicpipe=e;this.linkpipe=d};this.twitterSearchLaunched=function(d){};this.twitterSearchDone=function(d){};this.pipeStarted=function(d){this.init()};this.pipeStoped=function(d){};this.speed=function(f,g,h){var e=g[f].created_at_date;var d=g[f+h].created_at_date;return parseFloat(h)/(e-d)*3600000};this.newTweetsAvailable=function(d,g){if(!this.chart){this.init()}var j=g.richTweets;this.data=new google.visualization.DataTable();this.data.addColumn("datetime","Date");this.data.addColumn("number",this.title);this.data.addRows(j.length);for(var f=0;f<j.length-10;f+=2){var e=j[f];var h=new Date();h.setTime(e.created_at_date);this.data.setValue(f,0,h);this.data.setValue(f,1,this.speed(f,j,10))}this.chart.draw(this.data,this.chartOptions)};this.init=function(){this.data=new google.visualization.DataTable();this.data.addColumn("date","Date");this.data.addColumn("number",this.title);this.data.addRows(2);this.data.setValue(0,0,new Date(2008,1,1));this.data.setValue(0,1,0);this.data.setValue(1,0,new Date(2008,2,1));this.data.setValue(1,1,0);this.chart=new google.visualization.AnnotatedTimeLine(this.container.get(0));this.chart.draw(this.data,this.chartOption)}};
function PipeControllerWidget(a){this.selector=a;this.container=$(a);this.pipe=null;this.plugPipe=function(b){b.addListener(this);this.pipe=b};this.twitterSearchLaunched=function(b){$(".twitterActivity",this.container).html("<center><img src='/images/loadingAnimation.gif'></center>")};this.twitterSearchDone=function(b){$(".twitterActivity",this.container).html("")};this.pipeStarted=function(b){var c=this;this.container.html("<!--a href='#' class='btnStop'>Stop</a--><div class='speedStat'></div><span class='twitterActivity'></span>");$("a.btnStop",this.container).click(function(){c.stop();return false})};this.pipeStoped=function(b){var c=this;this.container.html("<!--a href='#' class='btnStart'>Start</a--><div class='speedStat'></div><span class='twitterActivity'></span>");$("a.btnStart",this.container).click(function(){c.start();return false})};this.newTweetsAvailable=function(b,c){if(c.stats){$(".speedStat",this.container).text((c.stats.speeds.avg*60*60)+" TPH between "+_relative_time(c.dates.latest)+" and "+_relative_time(c.dates.oldest))}else{$(".speedStat",this.container).text("No statistic available right now")}};this.stop=function(){this.pipe.stop()};this.start=function(){this.pipe.start(true)}};
function RealtimeWidget(a){this.selector=a;this.container=$(a);this.firstDisplay=true;this.paused=false;this.pagesize=20;this.pipe=null;this.plugPipe=function(c){c.addListener(this);this.pipe=c};this.noResultsFound=function(c){$("#noresults").show()};this.pipeStarted=function(c){};this.pipeStoped=function(c){};this.newTweetsAvailable=function(c,e,d){$("#realtimeBox").show();this.displayPendingTweetsMessage(c,e);if(!this.paused||this.firstDisplay){this.render(c,e);this.firstDisplay=false}if(d){this.pause()}};this.pendingTweetsCount=0;this.displayPendingTweetsMessage=function(c){if(c){this.pendingTweetsCount+=c}var h=this;if(h.paused){$("#realtimeCtrl").html("<a href='#'><img src='/images/play.png' border='0' title='"+USER.msgBundle.realtime_btn_resume_title+"'></a>");var e=function(i){return function(){i.resume(i.pendingTweetsCount,i.pipe);return false}};var d=function(i){return function(){i.refresh(i.pendingTweetsCount,i.pipe);return false}};$("#realtimeCtrl a").click(e(this));if(this.firstDisplay){$("#pendingTweetsMessage").html("").hide()}else{if(!this.pendingTweetsCount){$("#pendingTweetsMessage").html(USER.msgBundle.realtime_pendingTweetsMessage_0)}else{if(this.pendingTweetsCount==1){$("#pendingTweetsMessage").html(USER.msgBundle.realtime_pendingTweetsMessage_1)}else{if(this.pendingTweetsCount>1){$("#pendingTweetsMessage").html("<b>"+this.pendingTweetsCount+USER.msgBundle.realtime_pendingTweetsMessage_2)}}}}$("a.btnRtRefresh").click(d(this));$("a.btnRtResume").click(e(this));$("#pendingTweetsMessage").slideDown()}else{$("#pendingTweetsMessage").html("").hide();$("#realtimeCtrl").html("<div id='speed'></div><a href='#'><img src='/images/pause.png' border='0' title='"+USER.msgBundle.realtime_btn_pause_title+"'></a>");var g=function(i){return function(){i.pause();return false}};$("#realtimeCtrl a").click(g(this));if(this.pipe.stats){var f=parseFloat((this.pipe.stats.speeds.avg*60*60).toFixed(0));if(f>0){$("#speed").html("<a title='"+USER.msgBundle.realtime_speed_title_H+"'>"+f+" TPH</a>")}else{$("#speed").html("")}}else{$("#speed").html("")}}};this.refresh=function(c,d){this.paused=false;this.newTweetsAvailable(c,d,true)};this.resume=function(c,d){this.paused=false;this.newTweetsAvailable(c,d,false)};this.pause=function(){this.paused=true;this.displayPendingTweetsMessage()};this.nextPage=function(){this.pause();var f=this.pipe.getRichTweetsPage(this.firstRenderedId,20);if(f.length>0){this.pagesize+=20;var h=$("#innertweetbloc_"+this.lastRenderedId);var e=[];for(var d=0;d<f.length;d++){var c=f[d];renderTweet(c,e)}h.append(e.join(""));var g=this;for(var d=0;d<f.length;d++){var c=f[d];this.container.find(".tweet[tweetid="+c.id+"]").mouseenter(function(){g.pinTweet($(this),$("#tweetbloc_"+g.lastRenderedId))})}this.firstRenderedId=f[f.length-1].id}else{$("#moreResultsBtn").hide()}};this.lastRenderedId=false;this.render=function(e,p,d){this.pendingTweetsCount=0;var m=[];var q=Math.min(this.pagesize,e);if(q>0){var l=p.getLatestRichTweets(q);var f=this.lastRenderedId;for(var g=0;g<q;g++){var o=l[g];if(g==0){this.lastRenderedId=o.id;m.push("<div id='tweetbloc_"+this.lastRenderedId+"' style='height:0px;position:relative;overflow:hidden'>");m.push("<div id='innertweetbloc_"+this.lastRenderedId+"' style='width:100%;position:absolute;bottom:0px;display:inline-block'>")}renderTweet(o,m)}if(q>0){m.push("</div>");m.push("</div>")}this.container.prepend(m.join(""));var k=$("#innertweetbloc_"+this.lastRenderedId).height();var n=e;var c=this.pagesize-e;var j=this;$("#tweetbloc_"+this.lastRenderedId).animate({height:k},1000,"swing",function(){$(this).css("height",null);var h=$("#innertweetbloc_"+j.lastRenderedId);$("#tweetbloc_"+f+" .tweet").each(function(){if(c>0){var i=$(this).outer();h.append(i)}c--});$("#tweetbloc_"+f).remove();h.css({position:"relative"});activateTweetsBehaviors($(this));$(this).find(".tweet").mouseenter(function(){j.pinTweet($(this),$("#tweetbloc_"+j.lastRenderedId))});j.firstRenderedId=$(this).find(".tweet:last").attr("tweetid");if(j.pipe.hasTweetsBefore(j.firstRenderedId)){$("#moreResultsBtn").show()}else{$("#moreResultsBtn").hide()}})}};this.pinTweet=function(d,e){var j=$("#pinnedTweet");var g=e.position();var i=d.offset();j.css({top:i.top-2,left:i.left-2});j.css("width",d.width());j.css("height",d.height());var h=d.attr("from");var f=d.attr("tweetid");j.html("<div class='tweet actionable' from='"+h+"' tweetid='"+f+"' style='border:2px solid #d2dada;background-color:#F7F7F7;width:"+d.width()+"px;height:"+d.height()+"' >"+d.html()+"</div>");activateTweetsBehaviors(j);j.show()};$("body").append("<div id='pinnedTweet' style='position:absolute; display:none;'></div>");$("#pinnedTweet").mouseleave(function(){$(this).hide()});this.container.before("<div id='pendingTweetsMessage'></div>");this.container.after("<div><a href='#' id='moreResultsBtn' style='display:none'>"+USER.msgBundle.more_results+"</a></div>");var b=this;$("#moreResultsBtn").click(function(){b.nextPage();return false})};
function SpeakersWidget(a,b,c){this.selector=a;this.parentSelector=c;this.container=jQuery(a);this.parentContainer=$(c);this.speakers=b;this.plugPipe=function(d){d.addListener(this)};this.newSpammersFound=function(d){};this.newTweetsAvailable=function(e,g){var d=[];var h={};for(var f=0;f<this.speakers.length;f++){var j=g.find({from:this.speakers[f].id});if(!h[this.speakers[f].id]){if(j.length>0){d.push(j[0]);h[this.speakers[f].id]=true}}}this.render(d)};this.expanded=false;this.render=function(f){var h=f.sort(function(n,i){return n.created_at_date==i.created_at_date?0:(n.created_at_date>i.created_at_date?-1:1)});var d=0;var j=[];for(var e=0;e<h.length;e++){var m=h[e];if(d==0){j.push("<div class='sectionTitle'>");j.push("<a href='#' id='tmTitle' class='expend "+(!this.expanded?"folded":"")+"'>"+USER.msgBundle.highlights_title+"</a></div>");renderTweet(m,j,{highlight:true});j.push("<div class='hiddenTweets' style='"+(!this.expanded?"display:none":"")+"'>")}else{var l=m.from;var k=m.from_picture;renderTweet(m,j,{highlight:true})}d++}j.push("</div>");if(h.length>1){j.push("<div id='trendmakers'><div class='sectionTitle'>");for(var e=0;e<h.length;e++){var m=h[e];j.push('<img class="userInfos tmFace userBubble" userid="'+m.from+'" width="32" height="32" src="'+m.from_picture+'" index="0" >')}j.push("</div></div>")}this.container.html(j.join(""));activateTweetsBehaviors(this.container);if(d>0){this.parentContainer.show()}var g=this;$("#tmTitle").click(function(){$(this).toggleClass("folded");$(".hiddenTweets").slideToggle();g.expanded=!g.expanded;return false})};TDB.addListener(this)};
function HighlightsWidget(a,b,d,c){this.selector=a;this.parentSelector=c;this.container=jQuery(a);this.parentContainer=$(c);this.realTimePipe=b;this.plugPipe=function(e){e.addListener(this)};this.trendMakersWidget=d;this.retweetedTweets=[];this.ignoredUsers={};this.droppedUsers={};this.newSpammersFound=function(e){};this.newTweetsAvailable=function(e,f){this.refresh()};this.refresh=function(){var m=TDB.getTopRetweetedUsers(5);this.retweetedTweets=[];if(m&&m.length>0){var l=[];for(var h=0;h<m.length;h++){var g=m[h].from;var f=TDB.findRetweetedTweetsFromUser(g,true);if(f.length>0){this.retweetedTweets=this.retweetedTweets.concat(f)}else{if(!this.ignoredUsers[g]){l.push(g)}}}for(var h=0;h<l.length;h++){var e=l[h];if(!TDB.isBannedSpammer(e)){var k=this;var j=function(i){return function(n){k.handlePotentialHighlights(i,n)}};callTwitterSearch2("-RT from:"+e+" "+this.realTimePipe.query,20,1,j(e))}}}this.render()};this.handlePotentialHighlights=function(e,k){var j=k[0];if(!TDB.isBannedSpammer(e)&&j){for(var h=0;h<j.length;h++){var g=TDB.load(j[h])}var f=TDB.findRetweetedTweetsFromUser(e,true);if(f.length>0){this.retweetedTweets=this.retweetedTweets.concat(f)}else{this.ignoredUsers[e]=true}}this.render()};this.expanded=false;this.render=function(){var l=this.retweetedTweets.sort(function(n,i){return n.t.created_at_date==i.t.created_at_date?0:(n.t.created_at_date>i.t.created_at_date?-1:1)});if(this.trendMakersWidget){this.trendMakersWidget.setTweets(l)}var m=0;var h=[];for(var g=0;g<l.length;g++){var f=l[g].t;if(!TDB.isBannedSpammer(f.from)){if(m==0){h.push("<div class='sectionTitle'>");h.push("<a href='#' id='tmTitle' class='expend "+(!this.expanded?"folded":"")+"'>"+USER.msgBundle.highlights_title+"</a></div>");renderTweet(f,h,{highlight:true});h.push("<div class='hiddenTweets' style='"+(!this.expanded?"display:none":"")+"'>")}else{var j=f.from;var e=f.from_picture;renderTweet(f,h,{highlight:true})}m++}}h.push("</div>");this.container.html(h.join(""));activateTweetsBehaviors(this.container);if(m>0){this.parentContainer.show()}var k=this;$("#tmTitle").click(function(){$(this).toggleClass("folded");$(".hiddenTweets").slideToggle();k.expanded=!k.expanded;return false})};TDB.addListener(this)};
function UserGalleryWidget(a){this.selector=a;this.container=$(a);this.setTweets=function(h){var g={};for(var e=0;e<h.length;e++){var d=h[e].t;if(!TDB.isBannedSpammer(d.from)){var b=g[d.from];if(!b){b={id:d.from,pic:d.from_picture,tweets:[]}}b.tweets.push(d);g[d.from]=b}}var c=[];var j=0;for(var b in g){if(j==0){c.push('<div class="sectionTitle">'+USER.msgBundle.trendmakers_title+'</div><div class="sideBoxContent">')}j++;var f=g[b];c.push('<img class="userInfos tmFace userBubble" userid="'+b+'" width="32" height="32" src="'+f.pic+'" index="0" >')}if(j>0){c.push("</div>")}this.container.html(c.join(""))}};
function PicGalleryWidget(a,b){this.selector=a;this.parentSelector=b;this.container=jQuery(a);this.parentContainer=$(b);this.plugPipe=function(c){c.addListener(this)};this.bubble=null;this.setupBubble=function(c){var d=this;this.bubble=new BubbleWidget("twitpicInfosTooltip",{leftAlignment:"#twLCol",leftAlignmentOffset:0,topOffset:4,trigger:{event:"mouseover",eventDelay:500,selector:".twitpic"},beforeShow:function(g,l){if(g){var e=g.attr("url");if(e){var m=l.bubble;var n=g.offset();var o=n.top+4+g.outerHeight();var f=n.left;if(l.options.leftAlignment){f=$(l.options.leftAlignment).offset().left}if(l.options.leftAlignmentOffset){f+=l.options.leftAlignmentOffset}if(l.options.topOffset){o=o+l.options.topOffset}m.css({top:o,left:f,zIndex:999997});l.getBubbleContent().html("");var k=c.find({link_filter_fn:function(i){if(i){if(contains(i,e)){return true}}return false}});var j=[];for(var h=0;h<k.length;h++){if(k[h].spamweight<=1){renderTweet(k[h],j,{inlineTwitpic:false,userBubble:false})}}l.getBubbleContent().html(j.join(""));activateTweetsBehaviors(l.getBubbleContent())}}}});this.bubble.init()};this.getTweetsForUrl=function(c){return this.pipe.find({link_filter_fn:function(d){if(d){if(contains(d,c)){return true}}return false}})};this.twitPicOccurences=null;this.newTweetsAvailable=function(c,d){if(!this.bubble){this.setupBubble(d)}this.twitPicOccurences=extractTwitpicsFromTweets(d.getLatestRichTweets(c,true));this.render()};this.images={};this.renderGrid=function(f){var d=[];d.push("<div class='sectionTitle'>");d.push("<a href='#' id='tpicsTitle' class='expend "+(!this.expanded?"folded":"")+"'>"+USER.msgBundle.gallery_title+"</a></div><div class='sideBoxContent'>");for(var c=0;c<f;c++){d.push("<div class='image image_"+c+"' style='position:relative;float:left;margin: 0 4px 4px 0;'><a class='picLink_"+c+"' target='_blank'  href='#'><img url='#' class='twitpic img_"+c+"' src='#' border='0' style='padding:3px;border:1px solid #d2dada;' ></a>");d.push("</div>");if(c==2){d.push("<div class='hiddenPics' style='"+(!this.expanded?"display:none":"")+";clear:both'>")}}d.push("</div>");d.push("<div style='clear:both'></div></div>");this.container.html(d.join(" "));var e=this;$("#tpicsTitle").click(function(){$(this).toggleClass("folded");e.expanded=!e.expanded;if(e.expanded){$(".hiddenPics").slideDown()}else{$(".hiddenPics").hide()}return false})};this.expanded=false;this.render=function(){var m=this.twitPicOccurences.top(30);var f=0;for(var h=0;h<m.length;h++){var d=null;var e=m[h].tag;var k=m[h].n;var g=$("a.picLink_"+f);var j=$("img.img_"+f);var l=$("div.image_"+f);if(e.indexOf("http://twitpic.com/")==0){d="http://twitpic.com/show/thumb/"+e.substring("http://twitpic.com/".length)}if(d){j.attr("src",d);j.attr("url",e);g.attr("href",e);g.attr("title",k);l.show();f++}}for(h=f;h<30;h++){$("div.image_"+h).hide()}if(f>0){this.parentContainer.show()}else{this.parentContainer.hide()}$(".imginfos",this.container).hide()};this.renderGrid(30)};
function BubbleWidget(b,a){this.id=b;this.bubble=null;this.bubbled=null;this.options=$.extend({},{cssClass:"bubble",trigger:{event:"click",eventDelay:0,selector:".bubbleTrigger"},beforeShow:function(c,d){},afterShow:function(c,d){},beforeHide:function(c){},afterHide:function(c){}},a);this.highlighBubbled=function(d){if(!this.options.hideBubbled){var e=d.offset();var c=this.bubble.offset();this.bubbled.css({top:c.top-6,left:e.left-8+d.outerWidth()/2,zIndex:999999});this.bubbled.show()}else{this.bubbled.hide()}};this.isVisible=false;this.show=function(c){this.isVisible=true;this.options.beforeShow(c,this);this.bubble.show();this.options.afterShow(c,this);this.highlighBubbled(c)};this.hide=function(){this.options.beforeHide(this);this.bubble.fadeOut();this.bubbled.fadeOut();this.options.afterHide(this);this.isVisible=false};this.getBubbleContent=function(){return $("#"+this.id+"Content .innerContent")};this.delayTimeout=null;this.hideDelayTimeout=null;this.init=function(){$("body").append("<div id='bubbled_"+this.id+"' style='position:absolute;display:none;'><img src='/images/bubble_arrow.png'></div>");$("body").append("<div id='"+this.id+"' class='"+this.options.cssClass+"'><div id='"+this.id+"Content'><div class='innerContent'></div></div><div id='"+this.id+"Bottom'></div></div>");this.bubble=$("#"+this.id);this.bubbled=$("#bubbled_"+this.id);if(this.options.trigger.eventDelay>0){var d=this;$(this.options.trigger.selector).live(this.options.trigger.event+"Delayed",function(){d.show($(this))});var c=function(e){return function(){e.trigger(d.options.trigger.event+"Delayed")}};$(this.options.trigger.selector).live("mouseout",function(){if(!$(this).hasClass("bubbled")){clearTimeout(d.delayTimeout);d.hideDelayTimeout=setTimeout(function(){d.hide()},500)}});$(this.options.trigger.selector).live(this.options.trigger.event,function(){if(!$(this).hasClass("bubbled")){d.delayTimeout=setTimeout(c($(this)),d.options.trigger.eventDelay)}})}else{$(this.options.trigger.selector).live(this.options.trigger.event,function(){if(!$(this).hasClass("bubbled")){if(!d.isVisible){d.show($(this))}else{d.hide()}}})}$(this.options.trigger.selector).live("mouseover",function(){if(!$(this).hasClass("bubbled")){clearTimeout(d.hideDelayTimeout)}});var d=this;this.bubbled.mouseenter(function(){clearTimeout(d.hideDelayTimeout)});this.bubbled.mouseleave(function(){d.hideDelayTimeout=setTimeout(function(){d.hide()},500)});this.bubble.mouseenter(function(){clearTimeout(d.hideDelayTimeout)});this.bubble.mouseleave(function(){d.hideDelayTimeout=setTimeout(function(){d.hide()},500)})}};
function StageWidget(a,f,d,c,e,b){this.selector=a;this.parentSelector=f;this.container=jQuery(a);this.parentContainer=$(f);this.stageid=d;this.stagetitle=c;this.showcount=e;this.maxcount=b;this.plugPipe=function(g){g.addListener(this)};this.newTweetsAvailable=function(g,h){this.render(h.getLatestRichTweets(b))};this.expanded=false;this.render=function(l){var j=[];for(var h=0;h<l.length&&h<this.maxcount;h++){var g=l[h];if(h==0){j.push("<div class='sectionTitle'>");j.push("<a href='#' id='"+this.stageid+"Title' class='expend folded'>"+this.stagetitle+" <span style='font-size:9pt;font-weight:normal'>(expand)</span></a></div>");renderTweet(g,j,{highlight:true})}else{if(h<this.showcount){renderTweet(g,j,{highlight:true})}else{if(h==this.showcount){renderTweet(g,j,{highlight:true});j.push("<div class='"+this.stageid+"hiddenTweets' style='"+(!this.expanded?"display:none":"")+"'>")}else{renderTweet(g,j,{highlight:true})}}}}j.push("</div>");this.container.html(j.join(""));activateTweetsBehaviors(this.container);if(l.length>0){this.parentContainer.show()}var k=this;$("#"+this.stageid+"Title").click(function(){$(this).toggleClass("folded");$("."+k.stageid+"hiddenTweets").slideToggle();k.expanded=!k.expanded;return false})}};
function analysisCallbackBuilder(a){return function(e){var d={results:[]};for(var c=0;c<e.length;c++){for(var b=0;b<e[c].length;b++){d.results.push(e[c][b])}}a(d)}}var linksWidget=null;var pipe=null;var linkpipe=null;var trendsWidget=null;function analyseRTs(n,d){TDB.setQuery(n);trendsWidget=new TrendsWidget("#trends");trendsWidget.start();var o=new Player();var t=new BubbleWidget("userInfosTooltip",{userInfos:{},fillPopup:function(A,C,y){var B=A.options.userInfos[C];if(B){var w=A.getBubbleContent();var x=[];x.push('<div class="userPic"><img width="73" height="73" src="'+B.profile_image_url+'"/>');x.push('<a href="http://twitter.com/'+C+'" target="_blank" id="userFollow">Follow</a></div>');x.push('<div class="userInfo">');x.push("<div>");if(B.name&&B.name.toLowerCase()!=C.toLowerCase()){x.push('<span class="userName">'+B.name+"</span> - ")}x.push('<b><a href="http://twitter.com/'+C+'" target="_blank" class="userScreenName" title="@'+C+' on twitter">'+C+"</a></b></div>");x.push('<div class="userCount"><b>'+B.followers_count+'</b> followers / <span id="friendsCount"><b>'+B.friends_count+"</b> friends</span></div>");if(B.location){x.push('<div class="userLocation"><b>Location</b> '+B.location+"</div>")}if(B.url){var v=B.url;if(v.length>30){v=v.substr(0,27)+"..."}x.push('<div class="userUrl"><b>Web</b> <a href="'+B.url+'" target="_blank">'+v+"</a></div>")}if(B.description){x.push("<div class='userDesc'><b>Bio</b> "+B.description+"</div>")}x.push("</div>");x.push('<div id="latestTweetsTitle" style="display:none;font-size:.8em;clear:both;background-color:#f5f5f5;font-weight:bold;padding:4px 8px;margin-top:5px"></div>');x.push("<div id='latestTweets' style='position:relative;font-size:.8em;max-height:200px;overflow:hidden;overflow-x:auto;overflow-y:auto;background-color:#fff;border:1px solid #f5f5f5;clear:both'>");x.push("<center>Getting latest tweets for "+$("#searchBox").val()+"<br><img src='/images/loadingAnimation.gif'></center>");x.push("</div>");if(B.status){}w.html(x.join(""));var z=analysisCallbackBuilder(A.options.displayUserTweets);if(!y){A.options.searchTweetsTimeout=setTimeout(function(){callTwitterSearch2($("#searchBox").val()+" from:"+C,30,2,z)},500)}else{A.options.searchTweetsTimeout=setTimeout(function(){callTwitterSearch2("from:"+C+" to:"+y+" OR from:"+y+" to:"+C,30,2,z)},500)}}},searchTweetsTimeout:-1,displayUserTweets:function(z){var A=z.results;if(A.length==0){$("#latestTweets").hide()}else{var v=[];var y=[];for(var x=0;x<A.length;x++){var w=A[x];twt=new Tweet();twt.parseTwitterJSON(w);renderTweet(twt,y,{inlineTwitpic:true,pinnable:false,actionable:true,userBubble:false,highlight:false})}$("#latestTweets").html(y.join(""));$("#latestTweetsTitle").html(((A.length>29)?"More than ":"")+A.length+" tweet"+((A.length>1)?"s":"")+" on this topic").show();activateTweetsBehaviors($("#latestTweets"));$("#latestTweets .userBubble").removeClass("userBubble")}},trigger:{event:"mouseover",eventDelay:500,selector:".userBubble"},beforeHide:function(v){clearTimeout(v.options.searchTweetsTimeout)},afterShow:function(y,z){clearTimeout(z.options.searchTweetsTimeout);if(y){var x=y.attr("userid");if(x){var v=z.bubble;var A=y.offset();v.css({top:A.top+4+y.outerHeight(),left:A.left,zIndex:999998});z.getBubbleContent().html("<center>Getting user infos for "+x+" ...<br><img src='/images/loadingAnimation.gif'></center>");var w=false;if(y.hasClass("inReplyTo")){w=y.attr("userid2")}if(z.options.userInfos[x]){z.options.fillPopup(z,x,w)}else{$.getJSON("http://twitter.com/users/show/"+x+".json?callback=?",{},function(B){z.options.userInfos[x]=B;z.options.fillPopup(z,x,w)})}}}}});t.init();if(d.stages){var u=new TwitterPipe("onstage",1,2,null,true);var r=new StageWidget("#onstageWidget","#onstageWidgetContainer","onstage","On-Stage <b>@oprah @aplusk @ev</b>",2,100);r.plugPipe(u);var j=new TwitterPipe("backstage",1,2,null,true);var a=new StageWidget("#backstageWidget","#backstageWidgetContainer","backstage","Backstage",1,20);a.plugPipe(j);u.start(true);j.start(true)}pipe=new TwitterPipe(n,1,2,null,false);var h=new PipeControllerWidget("#topicSpeed");h.plugPipe(pipe);var b=new RealtimeWidget("#realtime");b.plugPipe(pipe);var g=new TagsWidget("#hashtags",extractHashtagsFromTweets,null,{fixedSize:false,tooltipoverlay:"htags"});g.plugPipe(pipe);var q=new TagsWidget("#tagCloud",extractTagsFromTweets,null,{fixedSize:false,tooltipoverlay:"tags",addPipeQuery:true});q.plugPipe(pipe);var l=new UsersWidget("#users");l.plugPipe(pipe);var m=new TagsWidget("#tickers",extractTickersFromTweets,null,{fixedSize:false,tooltipoverlay:"tickers"});m.plugPipe(pipe);var p=new SpeakersWidget("#speakers",[{id:"googleio",pic:"",site:"http://code.google.com/events/io/"},{id:"cdibona",pic:"",site:"http://dibona.com"},{id:"kevinmarks",pic:"",site:"http://epeus.blogspot.com/"},{id:"chanezon",pic:"",site:"http://wordpress.chanezon.com/"},{id:"dalmaer",pic:"",site:"http://almaer.com/blog"},{id:"morrildl",pic:"",site:"http://developer.android.com/"},{id:"dewitt",pic:"",site:"http://blog.unto.net/"},{id:"chabotc",pic:"",site:"http://chabotc.com/"},{id:"gvanrossum",pic:"",site:"http://python.org/~guido/"},{id:"jsmarr",pic:"",site:"http://josephsmarr.com/"},{id:"manomarks",pic:"",site:"http://randommarkers.blogspot.com/"},{id:"pamelafox",pic:"",site:"http://imagine-it.org/"},{id:"mattcutts",pic:"",site:"http://mattcutts.com/blog/"},{id:"vicgundotra",pic:"",site:""},{id:"googlemaps",pic:"",site:""},{id:"app_engine",pic:"",site:""},{id:"romannurik",pic:"",site:""},{id:"tvraman",pic:"",site:""},{id:"glaforge",pic:"",site:""},{id:"therealfitz",pic:"",site:""},{id:"dhanji",pic:"",site:""},{id:"jsharkey",pic:"",site:""},{id:"tstocky",pic:"",site:""},{id:"alexmoffat",pic:"",site:""},{id:"sussman",pic:"",site:""},{id:"brady",pic:"",site:""},{id:"cody",pic:"",site:""},{id:"dlpeters",pic:"",site:""},{id:"gcapiel",pic:"",site:""},{id:"jsharkey",pic:"",site:""},{id:"iamamused",pic:"",site:""},{id:"jesse_lorenz",pic:"",site:""},{id:"jonkragh",pic:"",site:""},{id:"wanderingken",pic:"",site:""},{id:"khrisloux",pic:"",site:""},{id:"mcamelo",pic:"",site:""},{id:"martinfowler",pic:"",site:""},{id:"mdrcode",pic:"",site:""},{id:"monsur",pic:"",site:""},{id:"olabini",pic:"",site:""},{id:"ondrej421",pic:"",site:""},{id:"rmanalan",pic:"",site:""},{id:"vnehess",pic:"",site:""},{id:"ryguyrg",pic:"",site:""},{id:"tgrall",pic:"",site:""},{id:"googlewaveteam",pic:"",site:""}],"#speakersContainer");p.plugPipe(pipe);pipe.start(true);if(!d.nolinks){linkpipe=new TwitterPipe("http "+n,1,1,pipe);linksWidget=new LinksWidget("#links","#linksContainer",o);linksWidget.plugPipe(linkpipe);linkpipe.newTweetsAvailable=function(v,A){var w=[];var x=A.getLatestRichTweets(v,true);for(var z=0;z<x.length;z++){var y=x[z];if(y.hasLinks()&&!(y.text.indexOf("http://twitpic.com/")>=0)){w.push(y)}}if(w.length==0){this.fireNewTweetsAvailable(0)}else{this.appendTweets(w)}};linkpipe.start(false)}if(!d.nogallery){var e=new TwitterPipe("twitpic "+n,1,1,pipe);var k=new PicGalleryWidget("#gallery","#galleryContainer");k.plugPipe(e);e.newTweetsAvailable=function(v,z){var w=[];var A=z.getLatestRichTweets(v,true);for(var y=0;y<A.length;y++){var x=A[y];if(x.text.indexOf("http://twitpic.com/")>=0){w.push(x)}}if(w.length==0){this.fireNewTweetsAvailable(0)}else{this.appendTweets(w)}};e.start(false)}if(!d.nohighlights){var f=new TwitterPipe("RT "+n,1,1,pipe);var s=new UserGalleryWidget("#trendmakers");var i=new HighlightsWidget("#highlights",pipe,s,"#highlightsContainer");i.plugPipe(f);f.newTweetsAvailable=function(v,z){var w=[];var A=z.getLatestRichTweets(v,true);for(var y=0;y<A.length;y++){var x=A[y];if(x.isRT){w.push(x)}}if(w.length==0){this.fireNewTweetsAvailable(0)}else{this.appendTweets(w)}};f.start(false)}var c=function(){$(".date").each(function(){var v=$(this).attr("date");if(v){$(this).text(relative_time(v))}});setTimeout(c,60000)};setTimeout(c,60000)};
