// RESET

var tweets			= false;
var tweets_count	= false;

var arr 			= new Array();
var vis				= 0;

var next			= false;
var prev 			= false;

var delay_out		= 500;
var delay_in		= 3500;
var delay_auto		= 6000;

var timer			= false;

// GET TWEETS

$(document).ready(	

	function () {
		getTweets();
	}

);

function strReplace(search,replace,subject) {
	if (subject) {
    	return subject.split(search).join(replace);
	}
}

function getTweets() {

	// VARS

	tweets 		 = $('.txt');		// all tweets
	tweets_count = tweets.length	// total number of tweets	
	
	// GET TWEETS
	
	for (i=0;i<tweets_count;i++) {
		
		// get id
		var id = $(tweets[i]).attr('id');
		
		// get visibility
		if ($(tweets[i]).attr('class') == 'txt yes') {
			var status = 1;
		} else {
			var status = 0;
			$('#' + id).css('left','300px');	
		}
		
		// save tweet information in array
		arr[i]			 = new Object();
		arr[i]['id'] 	 = id;		
		arr[i]['status'] = status;
		
		if (status == 1) {
			vis = i;
		}
		
	}
	
	timer = setTimeout("autoTweet()",delay_auto);		
	
}

function resetTweets() {

	for (i=0;i<tweets_count;i++) {	
		arr[i]['status'] = 0;		
	}			
	
}

function nextTweet(clear) {
	
	if (clear == 1) {
		clearTimeout(timer);
	}
	
	resetTweets();
	
	if ((vis+1) > (tweets_count-1)) {
		next = 0;			
	} else {	
		next = vis+1;
	}

	arr[next]['status'] = 1;
	$('#' + next).css('left','300px');

	// if click on next button (clear =1)
	// no fade out effect

	if (clear) {
		$('#' + arr[vis]['id']).css('color','#231f20');
		$('#' + arr[vis]['id'] + ' .tweetlink').css('color','#231f20');
		hideTweet(vis,next);	
	} else {
		hideTweet(vis,next);
	}

	vis = next;

}

function prevTweet(clear) {

	if (clear == 1) {
		clearTimeout(timer);
	}

	resetTweets();

	if ((vis-1) < 0) {
		prev = tweets_count-1;			
	} else {	
		prev = vis-1;
	}
	
	arr[prev]['status'] = 1;
	$('#' + prev).css('left','-107px');	
	
	if (clear) {
		$('#' + arr[vis]['id']).css('color','#231f20');
		$('#' + arr[vis]['id'] + ' .tweetlink').css('color','#231f20');
		hideTweet(vis,prev,'left');
	} else {
		hideTweet(vis,prev,'left');
	}
	
	vis = prev;
	
}

function stopTweet() {

	clearTimeout(timer);
	
}

function resumeTweet() {

	clearTimeout(timer);
	timer = setTimeout("autoTweet()",delay_auto);	
	
} 

function hideTweet(key_out,key_in,dir) {
	
	var hide_id = arr[key_out]['id'];
	
	// HIDE TWEET
	
	$('#' + hide_id).addClass('not');
	$('#' + hide_id).removeClass('yes');	
	
	// ANIMATION (BASED ON DIRECTION)
	
	if (dir == 'left') {
		$('#' + hide_id).animate({"left": "300px"}, "600");
	} else {
		$('#' + hide_id).animate({"left": "-107px"}, "600");
	}
	
	showTweet(key_in,dir);
	
}

function showTweet(key_in,dir) {

	var show_id = arr[key_in]['id'];
	
	// CORRECT POSITION OF HIDDEN TWEET
	
	if (dir == 'left') {
		$('#' + show_id).css('left','-107px');		
	} else {
		$('#' + show_id).css('left','300px');	
	}
	
	// CORRECT COLOR
	
	$('#' + show_id).css('color','white');
	$('#' + show_id + ' .tweetlink').css('color','white');		
	
	// CHANGE RETWEET
	
	var hidden_id = strReplace('tweet_','',show_id);
	var hidden_rt = $('#retweet_' + hidden_id).html();
	$('#retweet').attr('href',hidden_rt);	
	
	// SHOW TWEET
	
	$('#' + show_id).addClass('yes');	
	$('#' + show_id).removeClass('not');
	$('#' + show_id).removeClass('hidden');	
	
	// ANIMATION
	
	$('#' + show_id).animate({"left": "107px"}, "600");	
	
	// RESTART TIMER
	
	timer = setTimeout("autoTweet()",delay_auto);	
	
}

function autoTweet() {
	
	nextTweet(0);
	
}
