twttr.klass("twttr.control.ActionMenu",function(A){this.user=A;this.actionTaken=new twttr.Observer();this.beforeAction=new twttr.Observer();this.mention=new twttr.Observer();this.template=twttr.templates[twttr.control.ActionMenu.Templates]}).method("init",function(){this.$content=$(Mustache.to_html(this.template,this.user.data()));this.attachUserActionEvents(this.$content);$(this.selector)[this.methodHandle](this.$content)}).method("render",function(A,B){this.methodHandle=B;this.selector=A;this.init()}).method("after",function(A){this.render(A,"after")}).method("before",function(A){this.render(A,"before")}).method("append",function(A){this.render(A,"append")}).method("prepend",function(A){this.render(A,"prepend")}).method("attachUserActionEvents",function(A){var B=this;A.bind("click",function(C){B.actionMenuHandler(C,this)})}).method("detachUserActionEvents",function(){this.$content.unbind("click",this.actionMenuHandler)}).method("actionMenuHandler",function(H,F){H.preventDefault();H.stopPropagation();var G=this;var D=$(H.target);if(D.is("a,span")){if(D.is("span")){D=D.closest("a")}var A=D.attr("href");var E=D.parent().attr("class").toCamel();var C=this.user.screen_name;this.beforeAction.trigger({type:E});switch(E){case"mention":this.mention.trigger();var I=$("#status");if(I.length>0){var B="@"+C+" "+I.val();I.val(B).focus();return }location.href=A;break;case"directMessage":location.href=A;break;default:twttr.api[E](this.user.data("user_id"),{success:function(J){G.actionTaken.trigger({type:E,element:F})}});break}}});twttr.control.ActionMenu.Templates="action_menu";
