/***
	Recent Tweets Widget JavaScript
	Copyright, (c)2008-09 by CMD Software
	Portions of this product are copyright, (c)2008 by SurfForge
	
	http://www.cmdsoftware.com
	http://www.surfforge.co.uk
	
	Requirements
		twproxy.php		PHP Twitter Proxy Gateway
***/
	

if( !tweetLoad ) var tweetLoad = function(y,t,u,c){
	var tv=function(a,c){var td=function(x){return x.replace(/\&quot;/gi,'"').replace(/&lt;/gi,'<').replace(/&gt;/gi,'>').replace(/&amp;/gi,'&');},
	tu=function(h){var s=0,e,o='';while((e=h.indexOf("http://",s))>-1){o+=h.substring(s,e);if((s=h.indexOf(" ",e))==-1)s=h.length;o+='<a href="'+
	h.substring(e,s)+'">'+h.substring(e,s)+"</a>";}return o+h.substring(s);};var t,h='',p=[];for(i in a){t=a[i];h+='<li><div class="twbody"><a name="'+t[0]+
	'"></a>';h+=(t[8]!='')?('@<a href="http://www.twitter.com/'+t[8]+'">'+t[8]+'</a>'+tu(td(t[2].substring(t[8].length+1)))):tu(td(t[2]));
	h+='</div><div class="tw_info">'+t[1].replace(" +0000","")+', via '+td(t[3])+'</div></li>';p[p.length]=t.join('\t');if(i==c)break;}return [h,p];}
	var e=document.getElementById(t);e.innerHTML="Loading tweets...";c--;var d=document.cookie+";",i=d.indexOf("_tweets=");if((i>-1)&&((
	d=unescape(d.substring(i+8,d.indexOf(';',i))))!='')){var i,a = d.split( "\r" );for(i in a){a[i]=a[i].split("\t");}p=tv(a,c);e.innerHTML=p[0];}else{
	if(!httpRequest(y+"twproxy.php?user="+u,"",function(q,o,b){var p,h;if(o){a=tweetParseXML(b);p=tv(a,c);h=p[0]}else{h="Unable to read tweets";
	}var q=new Date();q.setTime(q.getTime()+60000);document.cookie="_tweets="+escape(p[1].join('\r'))+"; expires="+q.toGMTString()+"; path=/";
	e.innerHTML = h;})){e.innerHTML="Unable to read tweets";}}
}

if( !tweetParseXML ) var tweetParseXML = function(x) {
	var e=0,r=[],a=[],n='';var f,i,j=0;while((s=x.indexOf('<',e))>-1){if((i=(f=x.substring(e,s)).indexOf('>'))>-1){t=f.substring(0,i++).toLowerCase();
	for(var e=f.length;(f.charCodeAt(i)<33)&&(i<e);i++);for(e--;(f.charCodeAt(e)<33)&&(e>=0);e--);v=f.substring(i,e+1);switch(n){case '':switch(t)
	{case 'status':n='status';break;}break;case 'status':switch(t){case 'id':a[0]=v;break;case 'created_at':a[1]=v;break;case 'text': a[2]=v;break;
	case 'source': a[3]=v;break;case 'truncated': a[4]=v;break;case 'in_reply_to_status_id':a[5]=v;break;case 'in_reply_to_user_id':a[6]=v;break;
	case 'favorited':a[7]=v;break;case 'in_reply_to_screen_name':a[8]=v;break;case 'user':n='status.user';break;case '/status':n='';break;}break;
	case 'status.user':switch(t){case 'id':a[9]=v;break;case 'name':a[10]=v;break;case 'screen_name':a[11]=v;break;case 'location': a[12]=v;break;
	case 'description': a[13]=v;break;case 'profile_image_url':a[14]=v;break;case 'url':a[15] =v;break;case 'protected':a[16]=v;break;
	case 'followers_count':a[17]=v;break;case '/user': n = 'status';r[j++]=a;a=[];break;}break;}}e=s+1;}return r;
}

if( !httpRequest ) var httpRequest = function( u, d, h ) {
	var req;try{req=new XMLHttpRequest();}catch(e){try{req=new ActiveXObject("Msxml2.XMLHTTP");
	}catch(e2){try{req=new ActiveXObject("Msxml3.XMLHTTP")}catch(e3){try{req=new ActiveXObject("Microsoft.XMLHTTP")}catch(e4){
	return false;}}}}req.open('POST',u,true);req.setRequestHeader('Generator', 'SurfForge XMLReq 1.0');
	req.setRequestHeader('User-Agent','XMLHTTPREQ-SF10/1.1');req.setRequestHeader('Content-type', 'application/x-www-form-urlencoded');
	req.onreadystatechange=function(){if(req.readyState==4){h(req,(req.status==200),req.responseText);}}
	if(req.readyState==1){req.send(d);return true;}else{return false;}
}
