var tweets;
var tR = '<?xml version="1.0" encoding="UTF-8"?>\n<twitterResponse>';
var getTweets = function(userName,numTweets) {
			if(tweets){
				tR += tweets;
				tR += '\n</twitterResponse>';
				return tR;
			}else{
				//$.getScript("http://twitter.com/statuses/user_timeline/"+userName+".json?callback=twitterCallbackFlash&count="+numTweets, function(){
				//});
				return '<?xml version="1.0" encoding="UTF-8"?>\n<twitterResponse>\n<status><message>Hourly feed limit reached. Please try back later</message><time>00:00:00</time></status>\n</twitterResponse>';
			}
	}

var twitterCallbackFlash = function(twitters) {
		tweets = '';
		var displayname = twitters[0].user.name;
		var profileImage = twitters[0].user.profile_image_url;
		var followers = twitters[0].user.followers_count;
		
		tweets += '<userInfo><name><![CDATA['+displayname+']]></name><pic><![CDATA['+profileImage+']]></pic><followers><![CDATA['+followers+']]></followers></userInfo>'
	  for (var i=0; i<twitters.length; i++){
	    var username = twitters[i].user.screen_name;
	    var status = twitters[i].text.replace(/((https?|s?ftp|ssh)\:\/\/[^"\s\<\>]*[^.,;'">\:\s\<\>\)\]\!])/g, function(url) {
	      return '<a href="'+url+'" target="_blank">'+url+'</a>';
	    }).replace(/\B@([_a-z0-9]+)/ig, function(reply) {
	      return  reply.charAt(0)+reply.substring(1);
	    });
	    tweets += '\n\t<status>\n\t\t<message><![CDATA['+status+']]></message>\n\t\t<time><![CDATA[<a href="http://twitter.com/'+username+'/statuses/'+twitters[i].id+'" target="_blank">'+relative_time(twitters[i].created_at)+'</a>]]></time>\n\t</status>';
	    
	  }
	}

				
var relative_time = function(time_value) {
	  var values = time_value.split(" ");
	  time_value = values[1] + " " + values[2] + ", " + values[5] + " " + values[3];
	  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);
	  delta = delta + (relative_to.getTimezoneOffset() * 60);
	
	  if (delta < 60) {
	    return 'less than a minute ago';
	  } else if(delta < 120) {
	    return 'about a minute ago';
	  } else if(delta < (60*60)) {
	    return (parseInt(delta / 60)).toString() + ' minutes ago';
	  } else if(delta < (120*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';
	  }
	}
