﻿   var tweetList = [];
   var tweetCount = -1;
   var tweetCurrentIndex = 0; 
   var currentTweetClosed = false;
   var hasLooped = false;
   var tweetIndex = 0;
   
   
   function tweet_callback( data ) {
	//Loop through the data from twitter
	data.each(function( tweet, i) {
		//Make sure the text isnt undefined
		if(tweet.text != undefined && tweet.created_at != undefined ) {
		//Lets do some regex magic to replace urls, hashtags, and usernames
		var text = tweet.text.toString().replace( /(\b(https?|ftp|file):\/\/[-A-Z0-9+&@#\/%?=~_|!:,.;]*[-A-Z0-9+&@#\/%=~_|])/ig, '<a href="$1">$1</a>' ).replace( /(^|\s)@(\w+)/, '<a href="http://www.twitter.com/$2">@$2</a>' ).replace( /[#]+[A-Za-z0-9-_]+/ig,
		 function(t) { var tag = t.replace("#","%23"); return t.link("http://search.twitter.com/search?q="+tag); } );
		//Lets append each tweet to a ul with the id of tweet_container
        tweetList[i] = [];
        tweetList[i]["text"] = text;
        tweetList[i]["month"] = tweet.created_at.substr(4,3);
        tweetList[i]["date"] = tweet.created_at.substr(8,2);         		
	}});	 
	 
	 tweetCount = tweetList.length;	   
   }
   
   function loadTwitterFeed(onLoaded)
   { 
	    var req = new Request.JSONP({  
		url: 'http://twitter.com/statuses/user_timeline/IQProgress.json', //108409783 // sampleIQ // 
		onComplete: function(data) 
		{   
			data.each(function( tweet, i) {
			    //Make sure the text isnt undefined
				if(tweet.text != undefined && tweet.created_at != undefined ) {
				//Lets do some regex magic to replace urls, hashtags, and usernames
				var text = tweet.text.toString().replace( /(\b(https?|ftp|file):\/\/[-A-Z0-9+&@#\/%?=~_|!:,.;]*[-A-Z0-9+&@#\/%=~_|])/ig, '<a href="$1">$1</a>' ).replace( /(^|\s)@(\w+)/, '<a href="http://www.twitter.com/$2">@$2</a>' ).replace( /[#]+[A-Za-z0-9-_]+/ig,
				 function(t) { var tag = t.replace("#","%23"); return t.link("http://search.twitter.com/search?q="+tag); } );
				//Lets append each tweet to a ul with the id of tweet_container
				tweetList[i] = [];
				tweetList[i]["text"] = text;
				tweetList[i]["month"] = tweet.created_at.substr(4,3);
				tweetList[i]["date"] = tweet.created_at.substr(8,2);
			}});

				
			tweetCount = tweetList.length;
	
			addTweets(tweetCount);
	
			onLoaded();
			
		}}).send();
    }
	
	
	function addTweets(count)
	{
		for(i = 0; i < count; i++)
		{
		  var viewElement = Element('div',{ 'id': 'twitterView' + i, 'class':'twitterView' }); //.inject($('bgdiv'));		  		 
		  var viewContentElement = new Element('div', {'class':'twitterViewContent'});
		  //var viewMiddle = new Element('div', {'class': 'twitterViewMiddle'});
		  var viewPreviousButton = new Element('div', {'id': 'twitterViewPreviousButton' + i, 'class':'twitterViewPreviousButton'});
		  var viewDate = new Element('div', {'id':'twitterViewDate' + i, 'class':'twitterViewDate'});
		  viewDate.set('text', (tweetList[i]["month"]) + "/" + (tweetList[i]["date"]))
		  var viewText = new Element('div', {'id':'twitterViewText' + i, 'class':'twitterViewText'});
		  viewText.set('text', (tweetList[i]["text"]))
		  var viewNextButton = new Element('div', {'id':'twitterViewNextButton' + i, 'class':'twitterViewNextButton'});
		  var viewCenter = new Element('div', {'id':'twitterViewCenter', 'class' : 'twitterViewCenter'});
		  //var viewBottom = new Element('div', {'class' : 'twitterViewBottom'});
		  //var viewCalendar = new Element('div', {'id' : 'twitterViewCalendar' + i , 'class' : 'twitterViewCalendar'});
		  //viewCalendar.set('opacity', 0.0);
		  //var viewMonth = new Element('div', {'id' : 'twitterViewMonth' + i, 'class' : 'twitterViewMonth'});
		  //viewMonth.set('text', (tweetList[i]["month"]))
		  //var viewDate = new Element('div', {'id' : 'twitterViewDate' + i, 'class' : 'twitterViewDate'});
		  viewDate.set('text', (tweetList[i]["month"]).toUpperCase() + " / " + (tweetList[i]["date"]))
		  
		  
		  //viewMonth.inject(viewCalendar);
		  //viewDate.inject(viewCalendar);
		  //viewCalendar.inject(viewBottom);
		  
		  viewPreviousButton.inject(viewContentElement);
		  viewDate.inject(viewCenter);
		  viewText.inject(viewCenter);
		  viewCenter.inject(viewContentElement);
		  viewNextButton.inject(viewContentElement);
		  
		  //viewMiddle.inject(viewContentElement);
		  //viewBottom.inject(viewContentElement);
		  
		  viewContentElement.inject(viewElement);
		  
		  if(i > 0)
		  {
		    viewElement.setStyle('left', -400);
		  }
		  else
		  {
		    viewElement.setStyle('left', -340);
		    viewNextButton.setStyle('opacity', 1.0);
		  }
		  
		  viewElement.inject($('wrapper'));		  
		}
	};
   