
(function($){var SEARCH_URL="http://search.twitter.com/search.json";var TRENDS_URL="http://search.twitter.com/trends/";var USER_TIMELINE_URL='http://twitter.com/statuses/user_timeline.json';var PUBLIC_TIMELINE_URL='http://twitter.com/statuses/public_timeline.json';var SPECIFIC_TWEET_URL='http://twitter.com/statuses/show/%id%.json';function TwitterStream(name,callback,data,method){this.name=name;this.searchSpeed=2000;this.paused=false;this.handler=null;this.callback=callback;this.data=data;this.method=method;this.getSinceId=function(str){if(str.indexOf('since_id')>-1)
return str.match(/since_id=(.+)&/)[1];};}
TwitterStream.prototype.stop=function(){clearInterval(this.handler);};TwitterStream.prototype.start=function(){var self=this;this.handler=setInterval(function(){if(self.paused)return;jQuery.twitter[self.method](self.term,self.data,function(resp){var results=resp.results;self.data.since_id=self.getSinceId(resp.refresh_url);if(results.length>0){self.callback.call(self,resp);}});},self.searchSpeed);}
var toggleStream=function(pause){return function(e){var control=jQuery.twitter.streams[e.channel];if(control)
control.paused=pause;return false;};};var toggleAllStreams=function(pause){return function(){jQuery(jQuery.twitter.streams).each(function(){this.paused=pause;});};}
jQuery().bind('twitter:pause_all',toggleAllStreams(true));jQuery().bind('twitter:play_all',toggleAllStreams(false));jQuery().bind('twitter:pause',toggleStream(true));jQuery().bind('twitter:play',toggleStream(false));jQuery().bind('twitter:adjust_speed',function(e){var stream=jQuery.twitter.streams[e.term];if(stream){stream.stop();stream.searchSpeed=e.speed;stream.start();}});$().bind('twitter:change_search',function(e){var stream=jQuery.twitter.streams[e.channel]
stream.stop();stream.term=e.term;stream.start();});try{jQuery.twitter={streams:{},show_status:function(id,callback){var url=SPECIFIC_TWEET_URL.replace('%id%',id)+'?callback=?';$.getJSON(url,callback);},user_timeline:function(user,data,callback){var url=USER_TIMELINE_URL+'?screen_name='+user+'&callback=?';if(jQuery.isFunction(data)){callback=data;}else{for(var k in data){url+='&'+k+'='+data[k];}}
$.getJSON(url,callback);},live_public_timeline:function(callback){jQuery.twitter.streams['public']=new TwitterStream('',callback,{},'public_timeline');jQuery.twitter.streams['public'].start();},public_timeline:function(callback){var reqUrl=PUBLIC_TIMELINE_URL+"?callback=?";$.getJSON(reqUrl,callback);},trends:function(report,date,callabck){var reqUrl=TRENDS_URL+report+'.json?callback=?';if(jQuery.isFunction(date)){callback=date;}else{reqUrl+='&date='+date;}
jQuery.getJSON(reqUrl,callback);},liveSearch:function(term,data,callback){var channel=data.channel_name?data.channel_name:term;jQuery.twitter.streams[channel]=new TwitterStream(channel,callback,data,'search');jQuery.twitter.streams[channel].term=term;jQuery.twitter.streams[channel].start();},search:function(term,data,callback){if(jQuery.isFunction(data)){callback=data;data={};}
jQuery.getJSON(buildSearchUrl(term,data),callback);}};$(['current','daily','weekly']).each(function(){var type=this;jQuery.twitter[type]=function(callback){jQuery.twitter.trends(type,callback);};});}catch(e){throw new Exception('jQuery is not defined!');}
function buildSearchUrl(term,data){var reqUrl=SEARCH_URL+"?q="+term+"&callback=?";for(var key in data){if(key=='geocode'){reqUrl+='&gecode='+data.geocode.lat+'%2C'+data.geocode.lon+'%2C'+data.geocode.radius;}else{reqUrl+="&"+key+"="+data[key];}}
return reqUrl;}})(jQuery);(function($){G4TV.ui.TwitterPost={twitterUid:null,twitterPwd:null,Init:function(){if(typeof(loadUid)!=='undefined'){G4TV.ui.TwitterPost.twitterUid=loadUid;}
if(typeof(loadPwd)!=='undefined'){G4TV.ui.TwitterPost.twitterPwd=loadPwd;}
$('.tw_login #tw_login_submit').click(G4TV.ui.TwitterPost.DoLogin);$('.tw_reply #tw_reply_submit').click(G4TV.ui.TwitterPost.DoPostReply);$('.tw_reply #tw_logout_submit').click(G4TV.ui.TwitterPost.TwitterLogOut);$('.tw_thankyou #tw_thankyou_submit').click(G4TV.ui.TwitterPost.DisplayReplyForm);$('.tw_reply #TwitterReply').text(twitterReplyName+' ');$('.tw_reply #TwitterReply').keydown(function(){G4TV.ui.TwitterPost.TextCounter('TwitterReply','text_counter',140);});$('.tw_reply #TwitterReply').keyup(function(){G4TV.ui.TwitterPost.TextCounter('TwitterReply','text_counter',140);});G4TV.ui.TwitterPost.TextCounter('TwitterReply','text_counter',140);},TwitterLogOut:function(){$('.module.twitter-post-reply .bd .form-area *').fadeTo('fast',0,function(){$('.module.twitter-post-reply .bd .form-area').addClass('loading');});setTimeout(function(){$('.module.twitter-post-reply .bd .form-area').removeClass('loading');$('.module.twitter-post-reply .bd .form-area *').fadeTo('fast',100)
$('.module.twitter-post-reply .bd .form-area').css('display','block');G4TV.Cookie.remove("TwitterPwd");G4TV.Cookie.remove("TwitterUid");G4TV.ui.TwitterPost.twitterUid='';G4TV.ui.TwitterPost.twitterPwd='';loadUid='';loadPwd='';G4TV.ui.TwitterPost.DisplaySignIn();},500);},DisplaySignIn:function(){G4TV.ui.TwitterPost.ClearFields();$('.tw_login').show();},DisplayReplyForm:function(){if(G4TV.ui.TwitterPost.twitterUid!=null&&G4TV.ui.TwitterPost.twitterUid!=''&&G4TV.ui.TwitterPost.twitterPwd!=null&&G4TV.ui.TwitterPost.twitterPwd!=''){G4TV.ui.TwitterPost.ClearFields();$('.tw_reply').show();$('.tw_logout').show();$('.tw_reply .message_text span').text(G4TV.ui.TwitterPost.twitterUid);$('.tw_reply #TwitterReply').text(twitterReplyName+' ');}else{G4TV.ui.TwitterPost.DisplaySignIn();}},DisplayThankYou:function(){G4TV.ui.TwitterPost.ClearFields();$('.tw_thankyou').show();},DoLogin:function(){$('.module.twitter-post-reply .bd .form-area *').fadeTo('fast',0,function(){$('.module.twitter-post-reply .bd .form-area').addClass('loading');});var url='http://g4tv.com/twitter/login/index.html';$.post(url,{ajax:"true",ScreenName:$('.tw_login #TwitterScreenName').val(),Password:$('.tw_login #TwitterPassword').val(),FormKey:twitterFormKey,TweetKey:tweetKey,SaveLogin:$('.tw_login #TwitterSaveLogin').is(':checked')},function(response){setTimeout(function(){$('.module.twitter-post-reply .bd .form-area').removeClass('loading');$('.module.twitter-post-reply .bd .form-area *').fadeTo('fast',100)
$('.module.twitter-post-reply .bd .form-area').css('display','block');if(response=='true'){G4TV.ui.TwitterPost.twitterUid=$('.tw_login #TwitterScreenName').val();G4TV.ui.TwitterPost.twitterPwd=$('.tw_login #TwitterPassword').val();G4TV.ui.TwitterPost.DisplayReplyForm();}
else{$('.tw_login .error').text(response);}},1000);});},DoPostReply:function(){$('.module.twitter-post-reply .bd .form-area *').fadeTo('fast',0,function(){$('.module.twitter-post-reply .bd .form-area').addClass('loading');});var url='http://g4tv.com/twitter/PostReply/index.html';$.post(url,{ajax:"true",ScreenName:G4TV.ui.TwitterPost.twitterUid,Password:G4TV.ui.TwitterPost.twitterPwd,FormKey:twitterFormKey,TweetKey:tweetKey,Reply:$('.tw_reply #TwitterReply').val()},function(response){setTimeout(function(){$('.module.twitter-post-reply .bd .form-area').removeClass('loading');$('.module.twitter-post-reply .bd .form-area *').fadeTo('fast',100)
$('.module.twitter-post-reply .bd .form-area').css('display','block');if(response=='true'){G4TV.ui.TwitterPost.DisplayThankYou();}
else{$('.tw_reply .error').text(response);}},500);});},ClearFields:function(){$('.tw_login').hide();$('.tw_thankyou').hide();$('.tw_reply').hide();$('.tw_logout').hide();$('.tw_login .error').text('');$('.tw_reply .error').text('');$('.tw_reply #TwitterReply').text('');},TextCounter:function(TextareaId,DivId,MaxLimit){txtLength=$('#'+TextareaId).val().length;remaining=MaxLimit-txtLength;$('#'+DivId).html(remaining);if((remaining<11)&&(remaining>=0)){$('#'+DivId).addClass('limit-warning');$('#'+DivId).removeClass('limit-over');}
else if(remaining<0){$('#'+DivId).addClass('limit-over');$('#'+DivId).removeClass('limit-warning');}
else{$('#'+DivId).removeClass('limit-warning');$('#'+DivId).removeClass('limit-over');}}}
G4TV.ui.TwitterFeed={SinceId:null,SearchTerms:null,DivId:null,MaxResults:null,RefreshInterval:null,GatherInterval:null,NewTweets:new Array(),OldTweets:new Array(),bRefresh:false,bGather:false,StartPage:1,Init:function(){var self=this;self.SearchTerms=escape(self.SearchTerms);self.RefreshInterval=self.RefreshInterval*1000;self.GatherInterval=self.GatherInterval*1000;G4TV.ui.TwitterFeed.Gather();setTimeout(function(){self.Refresh();setInterval("G4TV.ui.TwitterFeed.Gather()",self.GatherInterval);setTimeout(function(){setInterval("G4TV.ui.TwitterFeed.Refresh()",self.RefreshInterval);},20000);},5000);},Gather:function(){var self=this;if(self.bRefresh==false){self.bGather=true;$.twitter.search(self.SearchTerms,{rpp:self.MaxResults,since_id:self.SinceId,page:self.StartPage},function(resp){if(resp.results.length>0){$('#'+self.DivId+"_refresh").show();$('#'+self.DivId+"_refresh").html('...loading');$('#'+self.DivId+" .refresh-container").addClass('loading');$('#'+self.DivId+"_refresh").addClass('move');if(resp["max_id"]>0)
self.SinceId=resp["max_id"];$(resp.results).each(function(){var template='<li class=\"content-item \" style=\"display:none;\"><div class=\"li-wrap-1\"><h5><a title=\"{{username}}\" href=\"http://twitter.com/{{username}}/statuses/{{tweetid}}\" target=\"_blank\">{{username}}</a></h5><p>{{body}}</p><cite>{{tweetdate}} via {{source}}</cite></div><div class=\"li-wrap-2\"><div class=\"avatar\"><a title=\"{{username}}\" href=\"http://twitter.com/{{username}}\" target=\"_blank\"><img height=\"46\" width=\"46\" src=\"{{userimageurl}}\" alt=\"{{username}}\"/></a></div></div></li>';template=template.replace(/{{username}}/g,this.from_user);template=template.replace(/{{body}}/g,self.ReplaceURLWithHTMLLinks(self.ReplaceWww(this.text)));template=template.replace(/{{userimageurl}}/g,this.profile_image_url);template=template.replace(/{{tweetid}}/g,this.id);template=template.replace(/{{tweetdate}}/g,self.RelativeTime(this.created_at));template=template.replace(/{{source}}/g,this.source.replace(/&lt;/g,'<').replace(/&gt;/g,'>'));self.NewTweets[self.NewTweets.length]=template;});setTimeout(function(){$('#'+self.DivId+" .refresh-container").removeClass('loading');$('#'+self.DivId+"_refresh").removeClass('move');$('#'+self.DivId+"_refresh").html('');self.StartPage=self.StartPage>1?self.StartPage-1:1;self.bGather=false;},1500);}});}else{self.bGather=false;}},Refresh:function(){var self=this;if(self.NewTweets.length>0&&self.bGather==false){self.bRefresh=true;var currentTweet=self.NewTweets.pop();$('#'+self.DivId).find('#'+self.DivId+'_list').prepend(currentTweet);$('#'+self.DivId).find('#'+self.DivId+'_list li:last').fadeOut('slow',function(){$(this).remove();self.OldTweets.unshift($(this));$('#'+self.DivId).find('#'+self.DivId+'_list li:first').fadeIn('slow');self.bRefresh=false;});}else{self.bRefresh=false;}},RelativeTime:function(time_value){var parsed_date=Date.parse(time_value);var relative_to=(arguments.length>1)?arguments[1]:new Date();var delta=parseInt((relative_to.getTime()-parsed_date)/1000);if(delta<60){return'less than a minute ago';}else if(delta<120){return'about a minute ago';}else if(delta<(45*60)){return(parseInt(delta/60)).toString()+' minutes ago';}else if(delta<(90*60)){return'about an hour ago';}else if(delta<(24*60*60)){return'about '+(parseInt(delta/3600)).toString()+' hours ago';}else if(delta<(48*60*60)){return'1 day ago';}else{return(parseInt(delta/86400)).toString()+' days ago';}},ReplaceWww:function(text){var start=(text.indexOf("www"))-7;var match=text.substr(start,7);if(match!="http://"||match!="ttps://")
{text=text.replace("www","http://www");}
return text;},ReplaceURLWithHTMLLinks:function(text){var exp=/(\b(https?|ftp|file):\/\/[-A-Z0-9+&@#\/%?=~_|!:,.;]*[-A-Z0-9+&@#\/%=~_|])/ig;return text.replace(exp,"<a href='$1' target='_blank'>$1</a>");}}})(jQuery);