var TG={namespace:function(ns){if(!this[ns]){this[ns]={};}}};TG.namespace('util');TG.util.build={retweet:function(listItem,cx){var username=$(listItem).attr('tg:username');var tweet=$(listItem).attr('tg:tweet');var url=$(listItem).attr('tg:href');$('.r_msg_id',cx).val('');$('.reply_twitter_msg_id',cx).val('');$('.tweet_text',cx).val('RT @'+jQuery.trim(username)+': '+jQuery.trim(tweet)+' '+jQuery.trim(url)+' ').focus().trigger('keyup');},reply:function(listItem,cx){var username=$(listItem).attr('tg:username');var tweet=$(listItem).attr('tg:tweet');var rmsgid=$(listItem).attr('tg:msg_id');var rtweetid=$(listItem).attr('tg:twitter_id');var url=$(listItem).attr('tg:href');$('.r_msg_id',cx).val(rmsgid);$('.twitter_in_reply_to_status_id',cx).val(rtweetid);$('.tweet_text',cx).val('@'+jQuery.trim(username)+' ').focus().trigger('keyup');}};TG.util.oauth={win:null,timer:null,loginUpdate:function(){$.getJSON('/-login/check?format=json',TG.util.oauth.loginCallback);},loginCallback:function(data){if(data&&data.loggedin){TG.util.login.update(data);}},winCheck:function(){if(!TG.util.oauth.win||TG.util.oauth.win.closed){window.clearInterval(TG.util.oauth.timer);return TG.util.oauth.loginUpdate();}},loginClick:function(){TG.util.oauth.win=window.open('/-oauth-twitter/request?gotoafter=1&gotor=oauthtwitter&gotop=action%3Dwindowend','OAuthTwitterRequest','width=800,height=450,modal=yes,alwaysRaised=yes');if(!TG.util.oauth.win)return true;TG.util.oauth.timer=window.setInterval(TG.util.oauth.winCheck,300);return false;}};TG.util.login={updatefnlist:[],update:function(data){$(TG.util.login.updatefnlist).each(function(){this(data);});},updateGlobal:function(data){if(data.loggedin){$('body').removeClass('loggedout').addClass('loggedin');TG.util.msg.clear();TG.util.msg.add('success','You are now logged in as '+data.username);}else{$('body').removeClass('loggedin').addClass('loggedout');TG.util.msg.clear();TG.util.msg.add('success','You are now logged out');}},updateHeader:function(data){if(data.loggedin){$('li.mygoo a').attr('href','/u/'+data.username).attr('title','Logged in as '+data.username);$('li.logout a').attr('title','Logged in as '+data.username);}else{$('li.mygoo a').attr('href','').attr('title','');$('li.logout a').attr('title','');}},submitForm:function(f){TG.util.msg.add('success','Now uploading your message...');$(f).submit();}};TG.util.login.updatefnlist=[TG.util.login.updateGlobal,TG.util.login.updateHeader];TG.util.msg={clear:function(){var hold=$('div#messages div.hidden').clone();$('div#messages div.message').slideUp('fast').remove();$(hold).appendTo('div#messages');},add:function(type,message){var tpl=$('div#messages div.hidden').clone();$(tpl).addClass(type).find('span').html(message);$(tpl).appendTo('div#messages');$(tpl).slideDown('fast');}};TG.util.follow={submit:function(f){var followMeAction=$(f).attr('action');var followMeButton=$(f).find('button');var beforeText=followMeButton.html();followMeButton.html('Updating...').blur().attr('disabled','disabled');var params=$(f).serialize()+'&ar=1';$.post(followMeAction,params,function(data){if(data.response.status=='ok'){followMeButton.hide();$(f).next().find('button').show();}
followMeButton.html(beforeText).removeAttr('disabled');},"json");}}
$(document).ready(function(){$("button").hover(function(){$(this).addClass("hover");},function(){$(this).removeClass("hover");});$("ul.tweet li").hover(function(){$(this).addClass("hover");},function(){$(this).removeClass("hover");});$('.tweet_text').focus(function(){$(this).parent("div.tweetBox").addClass("focus");}).blur(function(){$(this).parent("div.tweetBox").removeClass("focus");});$('a.toggle-url').click(function(){$(this).closest('p').hide().next().show();return false;});$('a.cancel-upload-url').click(function(){$(this).closest('p').hide().prev().show();return false;});var default_input_upload_url='Enter Image URL';var elt_upload_url=$('input.upload_url');elt_upload_url.each(function(){if($(this).val()=='')$(this).val(default_input_upload_url);});elt_upload_url.focus(function(){if($(this).val()==default_input_upload_url)$(this).val('');}).blur(function(){if($(this).val()=='')$(this).val(default_input_upload_url);}).closest('form').submit(function(){var elt=$('input.upload_url',this);if(elt.val()==default_input_upload_url)elt.val('');});var default_input_username='Twitter Username';var elt_username=$('input.username');elt_username.each(function(){if($(this).val()=='')$(this).val(default_input_username);});elt_username.focus(function(){if($(this).val()==default_input_username)$(this).val('');}).blur(function(){if($(this).val()=='')$(this).val(default_input_username);}).closest('form').submit(function(){var elt=$('input.username',this);if(elt.val()==default_input_username)elt.val('');});$('input.password').hide().blur(function(){if($(this).val()==''){$(this).toggle();$(this).next().toggle();}});$('input.password-dummy').show().focus(function(){$(this).toggle();$(this).prev().toggle().focus();});$('#search_form').submit(function(){window.location="/s/"+$('#q').val();return false;});var default_input_q='Search Now';var elt_q=$('input#q');if(elt_q.val()=='')elt_q.val(default_input_q);elt_q.focus(function(){$(this).val('');}).blur(function(){if($(this).val()=='')$(this).val(default_input_q);}).closest('form').submit(function(){var elt=$('input#q',this);if(elt.val()==default_input_q)elt.val('');});$('input.uploadfile').change(function(){twimageURL=30;$(this).closest('fieldset').find('textarea.tweet_text').keyup();});$('input.upload_url').keyup(function(){twimageURL=($(this).val().length>0)?(30):(0);$(this).closest('fieldset').find('textarea.tweet_text').keyup();});var maxTweetLength=140;var twimageURL=0;$('textarea.tweet_text').keyup(function(){var span=$(this).closest('form').find('span.chars-remaining');var button=$(this).closest('form').find('button');var tweetLength=$(this).val().length;var charsLeft=maxTweetLength-tweetLength-twimageURL;if(charsLeft<0){button.attr('disabled','disabled').addClass('disabled');}else if(charsLeft>=0){button.removeAttr('disabled').removeClass('disabled');}
if(charsLeft<=10){span.html(charsLeft).removeClass('coming-close').addClass('maxed-out');}else if(charsLeft<=20){span.html(charsLeft).addClass('coming-close').removeClass('maxed-out');}else if(charsLeft>20){span.html(charsLeft).removeClass('coming-close').removeClass('maxed-out');}}).trigger('keyup');$('form.tweet').submit(function(e){$('form.tweet button').attr('disabled','disabled').addClass('disabled');if(!$('body').hasClass('loggedin')){TG.util.login.updatefnlist[TG.util.login.updatefnlist.length]=function(data){if(data.loggedin){TG.util.login.submitForm(e.target);}}
TG.util.oauth.loginClick();return false;}});$('form.followForm').submit(function(e){$(this).find('button').attr('disabled','disabled').addClass('disabled');if(!$('body').hasClass('loggedin')){TG.util.login.updatefnlist[TG.util.login.updatefnlist.length]=function(data){if(data.loggedin){TG.util.follow.submit(e.target);}}
TG.util.oauth.loginClick();return false;}else{TG.util.follow.submit(e.target);return false;}});$('ol.tweet dd.rt a').click(function(){TG.util.build.retweet($(this).parents('li'));return false;});$('ol.tweet dd.reply a').click(function(){TG.util.build.reply($(this).parents('li'));return false;});$('div.message a.close').live('click',function(){$(this).parent('div.message').slideUp('fast');return false;});$('.oauthrequest a').click(TG.util.oauth.loginClick);});


