// GRAB TWEETS USING OFFICIAL API

var userName = 'ywcavic';
	var count = 10;
	$(document).ready(function() {
		getTweets(userName, count);
	});
	
	function getTweets(userName, count) {
		$.getJSON(
				'http://api.twitter.com/1/statuses/user_timeline.json?screen_name=' + userName + '&count='+ count +'&callback=?&include_rts=true',
				{},
				showTweets,
				'jsonp'
		);
	}
	
	function parseDate(str) {
		var v = str.split(' ');
		return new Date(Date.parse(v[1]+" "+v[2]+", "+v[5]+" "+v[3]+" UTC"));
	}
	
	function showTweets(tweets) {
		var months = ['January', 'February', 'March', 'April', 'May', 'June', 'July', 'August', 'September', 'October', 'November', 'December'];
		var str = '<ul>';
		var i = 0;
		$.each(tweets, function(index,value)
		{
				if(i == count)  return;
				var dt = parseDate(value.created_at);
				str+= '<li><p>';
				str+= linkify(value.text);
				str+= '</p>';
				str+='<span>';
				str+= months[dt.getMonth()] + ' ' + dt.getDate() + ', ' + dt.getFullYear();
				str+= '</span></li>';
				i++;
		});
		str+= '</ul>';
		$('#tweets').html(str);
		$("#tweets ul li").css({"display":"none"});
		$("#tweets").find("ul li:first").css({"display":"block"}).addClass("active first");
		$("#tweets").find("ul li:last").addClass("last");
	}

	function linkify(string) {
	 string = string.replace(
	 /((https?\:\/\/)|(www\.))(\S+)(\w{2,4})(:[0-9]+)?(\/|\/([\w#!:.?+=&%@!\-\/]))?/gi,
	 function(url) {
				var full_url = url;
				if (!full_url.match('^https?:\/\/')) {
				full_url = 'http://' + full_url;
	 }
	 return '<a href="' + full_url + '" target="_blank">' + url + '</a>';
	 }
);
return string;
}


// SLIDE TWEETS

	var twitterSliderPause = 7000;
	var tweetTimer;
	var tweetSpeed = 1000;
	var tweetItemActive, tweetItemNext;
	var tweetHeight = 85;
	
$(document).ready(function() {

	tweetSlider();

	$("div#navigator a.prev").click(function(ev){
		tweetPrev();
		ev.preventDefault();
	});
	
	$("div#navigator a.next").click(function(ev){
		tweetNext();
		ev.preventDefault();
	});
		
});

function tweetSlider() {
	tweetSliderTimeReset()
}

function tweetSliderTimeReset() {
	clearTimeout(tweetTimer);
	tweetTimer = setTimeout(function() {
		tweetNext()
	},twitterSliderPause);
}

function tweetNext() {
	if ($("div#tweets ul li:animated").length == 0 && $("div#tweets ul li").length > 1) {
		
		tweetItemActive = $("div#tweets ul li.active");
		if (tweetItemActive.hasClass("last")) {
			tweetItemNext = $("div#tweets ul li:first");
		} else {
			tweetItemNext = tweetItemActive.next();
		}
		
		tweetItemActive
			.css({"top":0,"zIndex":1})
			.animate({"top":-tweetHeight,opacity:0},tweetSpeed,function(){ tweetItemActive.css({ "display":"none" }); })
			.removeClass("active");
		tweetItemNext
			.css({"top":tweetHeight,"display":"block","zIndex":9})
			.animate({"top":0,opacity:1},tweetSpeed,function(){ 
				tweetSliderTimeReset();
				tweetItemNext.addClass("active")} 
			);
			
	}
}

function tweetPrev() {
	if ($("div#tweets ul li:animated").length == 0 && $("div#tweets ul li").length > 1) {
		
		tweetItemActive = $("div#tweets ul li.active");
		if (tweetItemActive.hasClass("first")) {
			tweetItemNext = $("div#tweets ul li:last");
		} else {
			tweetItemNext = tweetItemActive.prev();
		}
		
		tweetItemActive
			.css({"top":0,"zIndex":1})
			.animate({"top":tweetHeight,opacity:0},tweetSpeed,function(){ tweetItemActive.css({ "display":"none" }); })
			.removeClass("active");
		tweetItemNext
			.css({"top":-tweetHeight,"display":"block","zIndex":9})
			.animate({"top":0,opacity:1},tweetSpeed,function(){
				tweetSliderTimeReset();
				tweetItemNext.addClass("active")}
			);
			
	}
}
