$(document).ready(function(){	

	function simpleTweet(twtid, twtname) {
		this.twtid = twtid;
		this.twtname = twtname;
	}

	//TWITTER OBJECTS FOR FUTURE REFERENCE
	var tweetArray = new Array();
	
	//DETERMINES AT WHAT POSITION THE SCROLLER IS
	var stepId = -1;
	
	//OTHER VARIABLES
	var scrollSpeed = 1000;
	var pauseLength = 5000;
	var distance = 50;

	$.ajax({
	  url: 'twitter.php',
	  success: function(data) {
		var public_tweets = JSON.parse(data);
		
		tweetArray.length = public_tweets.length;
		
        for(var x=0; x < public_tweets.length; x++) {
            var twt = public_tweets[x];
			
			//SIMPLIFY TWEETER OBJECT, AND SAVE TO ARRAY
			tweetArray[x] = new simpleTweet(twt.id, twt.name);
			
			//APPEND TWEET DIV TO MESSAGE DIV
            var elm = '<div class="tweet" id="'+twt.id+'"> \
                    <div class="tweet-text">'+twt.text+'</div> \
                </div>';
            $('#twitter_messages').append(elm);
        }
		
		//MEMORY MANAGEMENT
		public_tweets = null;
		
		//OLDEST FIRST
		tweetArray.reverse();
		
		doAnimation(); // ONCE WITHOUT INTERVAL
		startAnimation();
	  }
	});
	
	function startAnimation() {
		setInterval(function() {
			doAnimation();
			}, pauseLength);
	}
	
	function doAnimation() {
	
		//ANIMATE THE TWEET FROM MIDDLE TO BOTTOM
		if(stepId >= 0) {
			$('#' + tweetArray[stepId - 1].twtid).animate({
				opacity: 0.0,
				top: '+=' + distance,
			  }, scrollSpeed, function() {
			  
			  });
		}
		else {
			$('#' + tweetArray[tweetArray.length - 1].twtid).css('top','-'+distance+'px');
		}
		
		if(stepId == -1 || stepId >= tweetArray.length) 
			stepId = 0;
		
		//ANIMATE THE TWEET FROM TOP TO MIDDLE
		$('#' + tweetArray[stepId].twtid).animate({
			opacity: 1.0,
			top: '+=' + distance,
		  }, scrollSpeed, function() {
			
		  });
			  
		if(stepId == tweetArray.length - 1) {
			for(var i = 0; i < tweetArray.length - 1; i++) {
				$('#' + tweetArray[i].twtid).css('top','-'+distance+'px');
			}
		}
		else if(stepId == 1) {
			$('#' + tweetArray[tweetArray.length - 1].twtid).css('top','-'+distance+'px');
			$('#' + tweetArray[tweetArray.length - 2].twtid).css('top','-'+distance+'px');
		}
		
		stepId++;
	}
	
});	
