/* * (c) 2009 Chad Etzel - TweetGrid.com * This file may not be reproduced without the express written permission of the author. */ var picarr=[];var lastID=0;var revealtimer=-1;var searchtimer=-1;var displayed=0;var hovering=0;function jtw_urlencode(str){str=escape(str);str=str.replace(/\+/g,'%2B');str=str.replace(/%20/g,'+');str=str.replace(/\*/g,'%2A');str=str.replace(/\//g,'%2F');str=str.replace(/@/g,'%40');str=str.replace(/#/g,'%23');return str;}function getTwitPics(){var rand=Math.floor(Math.random()*3000000);var url="http://search.twitter.com/search.json?q=twitpic%20http%20"+jtw_urlencode(glb_search)+"&rpp="+glb_rpp.toString()+"&since_id="+lastID+"&rand="+rand+"&callback=?";$.getJSON(url,handleTwitpicTweets);}function handleTwitpicTweets(arr){var re=new RegExp("(http://twitpic.com/)([0-9a-zA-Z]*)");for(var i in arr.results){if(arr.results[i].id<=lastID){continue;}var tweet=arr.results[i].text;var thumb,tplink;var user=arr.results[i].from_user;var userimg=arr.results[i].profile_image_url;var matches;var m=re.exec(tweet);if(!m||m.length==0||m[2]=="photos"||m[2]=="photo"||m[2]=="tag"){continue;}tplink=m[1]+m[2];thumb='http://twitpic.com/show/thumb/'+m[2];var infoobj={};infoobj.thumb=thumb;infoobj.user=user;infoobj.tweet=tweet;infoobj.userimg=userimg;infoobj.tplink=tplink;picarr.push(infoobj);}if(arr.results.length>0){lastID=arr.results[0].id;}}function revealpic(){if(picarr.length>0){var infoobj=picarr.shift();var thumb=infoobj.thumb;var tweet=infoobj.tweet;var user=infoobj.user;var userimg=infoobj.userimg;var tplink=infoobj.tplink;$('#pics').append('
');var obj=$('.picdivwrap:last');obj.html($('#picdivtemplate').html());obj.find('.pic').attr('src',thumb);obj.find('.username').html(''+user+'');obj.find('.username2').text(user);obj.find('.userimg').text(userimg);obj.find('.tweet').text(tweet);obj.find('.tplink').attr('href',tplink);obj.hover(pichoverin,pichoverout);obj.find('.picwrap').fadeIn('slow');if(!hovering){setstatusinfo(obj);}if($('#checkscroll').attr('checked')){if($(window).scrollTop()!=$(document).height()-$(window).height()){$('html, body').animate({scrollTop:$(document).height()},3000);}}displayed++;if(displayed==200){displayend();}if(picarr[0]){var img=new Image();img.src=picarr[0].thumb;var img2=new Image();img2.src=picarr[0].userimg;}if(picarr[1]){var img3=new Image();img3.src=picarr[1].thumb;var img4=new Image();img4.src=picarr[1].userimg;}}}function pichoverin(ev){var obj=$(this);hovering=1;setstatuscss(obj);setstatusinfo(obj);}function setstatuscss(obj){obj.css('color','#000').css('background','#fff');obj.find('.picwrap').css('border-color','#000');obj.find('a').css('color','#000');}function setstatusinfo(obj){var user=obj.find('.username2').text();var userimg=obj.find('.userimg').text();var tweet=obj.find('.tweet').text();$('#imgusr').html(' '+user);$('#status').html(tweet);}function pichoverout(ev){var obj=$(this);hovering=0;obj.css('color','#fff').css('background','#000');obj.find('.picwrap').css('border-color','#fff');obj.find('a').css('color','#fff');}function changesearch(){stoptimers();$('#pics').empty();glb_search=$('#searchbox').val();var re=new RegExp("(.*)(near:([a-z0-9, ]*)[ ]*within:([0-9kmi]*))(.*)");var m=re.exec(glb_search.toLowerCase());if(m&&m[3]&&m[4]){var location=m[3];var radius=m[4];var url="http://pipes.yahoo.com/pipes/pipe.run?RadiusTxt="+radius+"&Zip="+jtw_urlencode(location)+"&_id=27c113188a1f89baab07f2d133bc3557&_render=json&_callback=?";$.getJSON(url,function(data){var newsearch=m[1]+m[5]+" "+data.value.items[0].geostring;glb_search=newsearch;if(glb_search==''){glb_rpp=20;}else{glb_rpp=40;}picarr=[];lastID=0;displayed=0;starttimers();});}else{if(glb_search==''){glb_rpp=20;}else{glb_rpp=40;}picarr=[];lastID=0;displayed=0;starttimers();}}function searchall(){$('#searchbox').val('');changesearch();}function stoptimers(){clearInterval(revealtimer);clearInterval(searchtimer);revealtimer=-1;searchtimer=-1;$('#apause').stop();$('#aresume').stop();$('#apause').fadeOut("slow",function(){$('#aresume').fadeIn("slow");});}function starttimers(){if(revealtimer==-1&&searchtimer==-1){getTwitPics();revealpic();searchtimer=setInterval('getTwitPics();',10000);revealtimer=setInterval("revealpic();",1000);$('#apause').stop();$('#aresume').stop();$('#aresume').fadeOut("slow",function(){$('#apause').fadeIn("slow");});}}function clearpics(){$('#pics').empty();displayed=0;}function displayend(){if($('#checkcontinuous').attr('checked')){clearpics();}else{stoptimers();$('#pics').append('
TwitPicGrid has stopped updating. To resume, Click here.');}}function _(elem){return document.getElementById(elem);}function dotweetnew(){var tweet=_('tdiv_tweet').value;var tag=_('tdiv_hashtag').value;if(tag!=''&&tag!='#'){tweet=tweet+' '+tag;}var user=_('tdiv_user').value;var pass=_('tdiv_pass').value;var tid=_('tdiv_tid').value;_('tweetrc').innerHTML="Tweeting...";var sc=document.createElement('script');var h=document.getElementsByTagName('head')[0];sc.language='javascript';sc.type='text/javascript';sc.src='./js/tweet.js?tweet='+jtw_urlencode(tweet)+'&user='+user+'&pass='+pass+'&tid='+tid+'&callback=tweeted';h.appendChild(sc);pageTracker._trackPageview('/tweet');}function tweeted(val){if(val=="success"){_('tweetrc').innerHTML='Success!';_('tdiv_tweet').value='';_('tdiv_tid').value="0";_('charcount').innerHTML='140';}else if(val=="err:userpass"){_('tweetrc').innerHTML='Wrong Username/Password';}else if(val=="err:generic"){_('tweetrc').innerHTML='Oops! Try again!';}else{_('tweetrc').innerHTML='Oops! Try again!';}}function updatecharsnew(value){if(_('tdiv_hashtag').value!=''&&_('tdiv_hashtag').value!='#'){document.getElementById("charcount").innerHTML=140-value.length-_('tdiv_hashtag').value.length-1;}else{document.getElementById("charcount").innerHTML=140-value.length;}}function tpg_ready(){if(location.hash){$('#searchbox').val(location.hash);}if($('#searchbox').val()){changesearch();}else{starttimers();}}