(function(){var C={over:400,out:400,menuOut:1800,dneHide:2000};var D={over:null,out:null};var B=null;var A=null;twttr.klass("twttr.HoverCard",function(E,F){var H=this;this.available=this.registered=true;var G=[];$.each(twttr.HoverCard.requires,function(J,K){var I=K.Templates;if(twttr.is.array(I)){G=G.concat(I)}else{G.push(I)}});twttr.loadTemplates(G,function(){H.init(E,F)})}).method("init",function(E,H){var J=this;var I=H||{};this.isOpen=false;this.selector=E;this._$card=this._renderCard();function L(M){J._over(this)}function G(M){J._out(this)}function F(M){if(M.type=="mouseenter"){L(M)}else{G(M)}}function K(){$(this).hover(L,G)}if(I.disable_live){$(E).each(K)}else{if(twttr.is.def(jQuery.fn.livequery)){$(E).livequery(K)}else{$(E).live("mouseenter mouseleave",F)}}}).augmentProto(twttr.SimplePositioner).method("enable",function(){this.available=true}).method("disable",function(){this.available=false}).method("unregister",function(){this.registered=false}).method("register",function(){this.registered=true}).method("canUse",function(){return this.available&&this.registered}).method("setHovercardContent",function(E){if(!this.canUse()){return }var F=this;this.actionMenu=new twttr.control.ActionMenu(E);this.actionMenu.mention.listen(function(){F.triggerHovercardEvent("hovercard-mention");F.hide()});this.actionMenu.actionTaken.listen(function(G){F.changeControlState(G,E);F.triggerHovercardEvent("hovercard-"+G.type);if(!G.bypassMenu){twttr.HoverCard.toggleActionMenu();twttr.wait(function(){twttr.clearWait(B);A=twttr.wait(function(){F.hide()},C.menuOut)},100)}});this._$card.find(".hovercard-content").html(Mustache.to_html(twttr.templates.hovercard_content,E.data()));this.actionMenu.append(".hovercard");this._$card.find(".follow-controls a").bind("click",function(G){G.preventDefault();twttr.api.follow(E.data("user_id"),{success:function(H){F.actionMenu.actionTaken.trigger({type:"follow",element:F.actionMenu.$content,bypassMenu:true})}})});$(".following-controls span.setting").tipsy();var F=this;this._$card.find("a.load-more").one("click",function(K){K.preventDefault();var J=$(this);J.hide();var G=J.closest(".hovercard").find(".description");if(F._$card.hasClass("position_above")){var H=G.find(".description-inner").height();var I=parseInt(F._$card.css("top"));F._$card.css("top",I-H)}G.removeClass("description-inactive")})}).method("triggerHovercardEvent",function(E){this.$target.trigger("hovercard",E)}).method("changeControlState",function(F,E){switch(F.type){case"follow":$(F.element).addClass("following").removeClass("not-following");$(".hovercard .following-controls").parent().addClass("following").removeClass("not-following");break;case"unfollow":$(F.element).addClass("not-following").removeClass("following");$(".hovercard .following-controls").parent().addClass("not-following").removeClass("following");break;case"block":case"reportForSpam":$(F.element).removeClass("not-blocking").removeClass("following").addClass("blocking").addClass("not-following");$(".hovercard .following-controls").parent().removeClass("following").addClass("blocking").addClass("not-following");break;case"unblock":$(F.element).addClass("not-blocking not-following").removeClass("blocking");$(".hovercard .following-controls").parent().addClass("not-following").removeClass("blocking");break}$(F.element).closest(".hovercard").find("span.setting").each(function(){var G=$(this);if(G.is(".sms-setting")){twttr.HoverCard.toggleStates(G,"sms",E.data("gets_device_updates"))}else{if(G.is(".replies-setting")){twttr.HoverCard.toggleStates(G,"replies",E.data("sees_replies"))}else{if(G.is(".shares-setting")){twttr.HoverCard.toggleStates(G,"shares",E.data("sees_retweets"))}}}})}).method("_renderCard",function(G){var F=Mustache.to_html(twttr.templates.hovercard_inner,{});if(G){this._$card.attr("class","hoverer hovercard").attr("style",null).html(F)}else{var E=$('
'+F+"
");E.hover(twttr.HoverCard.mouseover,twttr.HoverCard.mouseout(this));$("body").append(E);return E}}).method("_extractScreenNameFromClass",function(E){var F=E.get(0).className.match(/u\-([a-zA-Z0-9_]{1,20})/);return F?F[1]:null}).method("show",function(K){var G=$(K);if(this.isOpen||G.data("hovercard-noop")){return }this._renderCard(true);var J=this,I=G.offset();this.$target=G;var H;var L=G.closest("li.status, li.direct_message, li.user");if(G.is("img")){H=this._extractScreenNameFromClass(L)}else{if(G.is(".username")||G.is(".screen-name")){H=this._extractScreenNameFromClass(G);H=H||G.text()}}G.click(function(){twttr.HoverCard.instance().hide();twttr.User.bail()});var M=twttr.User.findByScreenName(H,this,function(O,N){if(!O){this.showUserDoesNotExist(G)}else{this.triggerHovercardEvent("hovercard-show");this.setHovercardContent(O);this.removeLoadingState();this.positionCard(G);this.isOpen=true;this._$card.css({display:"none",visibility:"visible"}).show()}});if(!M){this.positionCard(G);if(this._$card.hasClass("position_inline")){var F=L.find("img.fn");var E=Mustache.to_html(twttr.templates.hovercard_inner,{avatar_src:F.attr("src"),screen_name:H});this._$card.html(E);this._$card.addClass("hovercard-loading-inline");this._$card.find("a.screen_name").click(function(){twttr.HoverCard.instance().hide();twttr.User.bail()})}else{this._$card.addClass("hovercard-loading-above-below")}this.triggerHovercardEvent("hovercard-loading");this.isOpen=true}}).method("showUserDoesNotExist",function(E){var H=this;var F=this._$card.find(".hovercard-inner");var I=this._$card.find(".loading-above-below");var G=I.find(".user-dne");this._$card.addClass("hovercard-user-dne");E.unbind("mouseover").unbind("mouseout");function J(){I.css({width:"",height:"",padding:"5px"});G.animate({opacity:1})}this._$card.find(".loading-msg").hide();I.removeClass("loading-above-below");F.animate({width:"+="+100,height:"+="+22},250,J).css("overflow","visible");twttr.wait(function(){H._$card.animate({opacity:0})},C.dneHide)}).method("removeLoadingState",function(){this._$card.removeClass("hovercard-loading-above-below").removeClass("hovercard-loading-inline")}).method("positionCard",function(E){this._$card.css({visibility:"hidden",display:"block"});var G={};if(E.is("img")){G.inline=true;G.offsets={inline:{top:-14,left:-14}}}else{var F=this._$card.find(".hovercard-divot");var H=-(F.position().left+Math.round(F.width()/2));G.inline=false;G.itemHeight=150;G.offsets={below:{top:10,left:H},above:{top:-23,left:H}}}if(E.is("img.fn, a.screen-name")){this._$card.removeClass("not-inline").addClass("inline")}else{this._$card.removeClass("inline").addClass("not-inline")}this.setPosition(this._$card,E,G);this._$card.css({visibility:"visible",display:"block"})}).method("hide",function(){var E=this;if(!this.isOpen||!this.canUse()){return }this.isOpen=false;if(twttr.User.isRequesting()){twttr.User.bail()}this._$card.hide().removeClass("hovercard-loading-above-below").removeClass("hovercard-loading-inline").removeClass("not-inline").removeClass("position_above").removeClass("position_below").removeClass("position_inline");this._renderCard(true);this.clearPosition()}).method("reposition",function(E){var F=parseInt(this._$card.css("top"));this._$card.css({top:F+E})}).method("_over",function(F){if(!this.canUse()){return }var E=this;twttr.clearWait(D.out);twttr.clearWait(B);this.hide();D.over=twttr.wait(function(){E.show(F)},C.over)}).method("_out",function(E){if(!this.canUse()){return }var F=this;twttr.clearWait(D.over);if(this.isOpen&&this._$card.hasClass("inline")){return }D.out=twttr.wait(function(){F.hide()},C.out)});twttr.HoverCard.mouseover=function(){twttr.clearWait(B);twttr.clearWait(A);twttr.clearWait(D.out)};twttr.HoverCard.mouseout=function(E){return function(F){if(!E.available||$(F.target).hasClass("user-dne")){return }B=twttr.wait(function(){E.hide()},C.out)}};twttr.HoverCard.toggleActionMenu=function(){$(".hovercard ul.action-list").toggle()};twttr.HoverCard.toggleStates=function(E,F,H){var G=F+(H?"-setting-not-off":"-setting-off");E.removeClass(F+"-setting-not-off").removeClass(F+"-setting-off").addClass(G)};twttr.HoverCard.settingToKey={sms:"gets_device_updates",replies:"sees_replies",shares:"sees_retweets"};twttr.HoverCard.instance=function(){return twttr.HOVERCARD};twttr.HoverCard.profilePicClickHandler=function(E){twttr.HoverCard.instance().triggerHovercardEvent("hovercard-profile-pic")};twttr.HoverCard.screenNameClickHandler=function(E){twttr.HoverCard.instance().triggerHovercardEvent("hovercard-screen-name")};twttr.HoverCard.followActionHandler=function(J,H,G){var F=$(J);var E=F.attr("class").match(/(\w+)-setting-([a-z\-]+)/);var I=E[1];var K=E[2]=="not-off"?"off":"on";twttr.User.findByScreenName(G,function(M){var L=function(){twttr.HoverCard.toggleStates(F,I,K=="on")};var N={beforeSend:L,error:L};twttr.HoverCard.instance().triggerHovercardEvent("hovercard-"+I+"-"+K);switch(I){case"sms":twttr.api.setDeviceAlerts(H,K,N);break;case"replies":twttr.api.setMentions(H,K,N);break;case"shares":twttr.api.setRetweetVisibility(H,K,N);break}})};twttr.HoverCard.Templates=["hovercard_inner","hovercard_content"];twttr.HoverCard.requires=[twttr.HoverCard,twttr.control.ActionMenu]})();tter.com/">API
Business
Help
Jobs
Terms
Privacy