var statuses = [];

function twitterCallback(arrStatus) {
	$(document).ready(function() {
		for (var i=0;i<arrStatus.length;i++) {
			
			var $li = $('<li/>');
			$li.addClass('twitter');
			$li.attr('id','twitter_'+i);

			var $metas = $('<div/>');
			$metas.addClass('meta');

			var $from = $('<span/>');
			$from.addClass('from');
			var $linkOriginal = $('<a/>');
			$linkOriginal.attr('href','http://twitter.com/veke87/status/'+arrStatus[i].id_str),
			$linkOriginal.text(relativeTime(new Date(arrStatus[i].created_at))+' from Twittter');
			$from.append($linkOriginal);
			$metas.append($linkOriginal);

			var $retwits = $('<span/>');
			$retwits.addClass('retwits');
			$retwits.addClass('numeric');
			$retwits.text(arrStatus[i].retweet_count+" retwits");
			$metas.append($retwits);

			var $source = $('<span/>');
			$source.addClass('source');
			$source.addClass('text');
			
			$source.html("Source: "+arrStatus[i].source);
			$metas.append($source);

			var $title = $('<h3/>');
			var text = arrStatus[i].text;
			
			var re = new RegExp("(https?://([-\\w\\.]+)+(:\\d+)?(/([\\w/_\\.]*(\\?\\S+)?)?)?)", "g");
			text = text.replace(re,'<a href="$1" target="_blank">$1</a>');
			text = text.replace(/@([a-z0-9]+?)\b/ig, '@<a href="http://twitter.com/$1" target="_blank">$1</a>');
			$title.html(text);

			$li.append($title);
			$li.append($metas);
			if (! /manageflitter.com/.test(arrStatus[i].source)) {
				statuses.push({date:new Date(arrStatus[i].created_at), html:$li});
			}
			

		}
		buildList();
	});

}
function gplusResponse(data) {

	$(document).ready(function() {
		if (typeof(data.items) != undefined) {
			var nItems = data.items.length;
			var re = /([0-9]{4})-([0-9]{2})-([0-9]{2}).([0-9]{2}):([0-9]{2}):([0-9]{2}).*/;


			for (var i=0;i<nItems;i++) {
				var normalizedTime = data.items[i].published.replace(re,"$2 $3 $1 $4:$5:$6 GMT");
				var $li = $('<li/>');
				$li.addClass('plusOne');

				$li.attr('id','plusOne_'+i);

				var $title = $('<h3/>');
				$title.html(data.items[i].object.content);


				var $metas = $('<div/>');
				$metas.addClass('meta');

				var $from = $('<span/>');
				$from.addClass('from');
				var $linkOriginal = $('<a/>');
				$linkOriginal.attr('href',data.items[i].url);
				$linkOriginal.text(relativeTime(new Date(normalizedTime))+' from Google+');
				$from.append($linkOriginal);
				$metas.append($linkOriginal);

				var $plusone = $('<span/>');
				$plusone.addClass('plusones');
				$plusone.addClass('numeric');
				$plusone.text("+"+data.items[i].object.plusoners.totalItems);
				$metas.append($plusone);
				
				var $replies = $('<span/>');
				$replies.addClass('replies');
				$replies.addClass('numeric');
				$replies.text(data.items[i].object.replies.totalItems+" replies");
				$metas.append($replies);

				var $reshares= $('<span/>');
				$reshares.addClass('reshares');
				$reshares.addClass('numeric');
				$reshares.text(data.items[i].object.resharers.totalItems+" reshares");
				$metas.append($reshares);


				$li.append($title);


				if (typeof(data.items[i].object.attachments) !== 'undefined' &&  data.items[i].object.attachments.length>0) {
					var $attachments = $('<div/>');
					$attachments.addClass('attachments');
					for (var j=0; j<data.items[i].object.attachments.length; j++) {
						attachment = data.items[i].object.attachments[j];
						$attContainer = $('<span/>');
						$attContainer.addClass(attachment.objectType);
						if (attachment.objectType == 'photo') {
							var $aContainer = $('<a/>');
							$aContainer.attr('href', attachment.fullImage.url)
							$aContainer.addClass('fancybox');
							var $img = $('<img/>');
							$img.attr('src',attachment.image.url);
							$img.attr('width','150');
							$aContainer.append($img);
							$attContainer.append($aContainer);
						} else if (attachment.objectType == 'article') {

							var $content = $('<span/>');
							$content.html(attachment.content);
							var $a = $('<a/>');
							$a.attr('href',attachment.url);
							$a.html(attachment.displayName);
							var $aContainer = $('<div/>');
							$aContainer.append($a);
							$aContainer.addClass('link-attachment');
							$attContainer.append($aContainer);
							$attContainer.append($content);
						} else if (attachment.objectType == 'video')  {
							var $a = $('<a/>');
							$a.attr('href',attachment.url);
							$a.html(attachment.displayName);
							var $img = $('<img/>');
							$img.attr('src',attachment.image.url);
							$img.data('attachmentObj',attachment);
							$img.css('cursor','pointer');
							$img.bind('click',function() {
								var attachmentObj = $(this).data('attachmentObj');
								var $iframe = $('<iframe/>');
								$iframe.attr('src',attachmentObj.url);
								$iframe.css('height','256px');
								$iframe.css('width','402px');
								$iframe.css('visibility','hidden');
								$(this).after($iframe);
								$(this).fadeOut('fast',function(){

									$(this).next().css('visibility','visible');
								});

							});
							var $aContainer = $('<div/>');
							$aContainer.append($a);
							$aContainer.addClass('link-attachment');
							$attContainer.append($aContainer);
							$attContainer.append($img);

						}
						$attachments.append($attContainer);
					}
					$li.append($attachments);


				}
				$li.append($metas);

				
				statuses.push({date:new Date(normalizedTime), html: $li});

			}

		}
		buildList();
	});

}

function sortFunction(a,b) {
	return b.date-a.date;
}
function buildList() {

	statuses.sort(sortFunction);
	var $streamList = $('#stream ol').eq(0);

	for (var i=0;i<statuses.length;i++){

		$streamList.append(statuses[i].html);
	}

	$('a.fancybox').fancybox();

}
function openContact() {
	$.fancybox('<iframe src="https://docs.google.com/spreadsheet/embeddedform?formkey=dFByX1k0MWFFNHRZRXlxNzNIM2pLM3c6MQ" width="500" height="638" frameborder="0" marginheight="0" marginwidth="0">Loading...</iframe>');
}
function relativeTime(A) {
	
	var D = (arguments.length > 1) ? arguments[1] : new Date();
	var E = parseInt((D.getTime() - A) / 1000);
	E = E + (D.getTimezoneOffset() * 60);
	if (E < 60) {
		return "less than a minute ago";
	} else {
		if (E < 120) {
			return "1 minute ago";
		} else {
			if (E < (60 * 60)) {
				return (parseInt(E / 60)).toString() + " minutes ago";
			} else {
				if (E < (120 * 60)) {
					return "about 1 hour ago";
				} else {
					if (E < (24 * 60 * 60)) {
						return "about " + (parseInt(E / 3600)).toString() + " hours ago";
					} else {
						if (E < (48 * 60 * 60)) {
							return "1 day ago";
						} else {
							return (parseInt(E / 86400)).toString() + " days ago";
						}
					}
				}
			}
		}
	}
};

$(document).ready(function() {
	
	$('#cvLink').attr('href','#');
	
	$('#cvLink').hover(function() {
		if (! $('#cvList').is(':visible')) {
			$('#cvList').fadeIn('fast');
			setTimeout('$("#cvList").fadeOut("slow")',3000);
		}
		
	});
	
});
/* "2011-10-13T21:12:46.000Z"
$(document).ready(function() {
	var widthAbout = $('#aboutme').outerWidth();
	var widthStream = $('#stream').outerWidth();
	var widthSidebar = $('#sidebar').outerWidth();
	var leftSidebar = (widthAbout+widthStream)+"px";
	var leftStream = widthAbout+"px";
	$('#stream').css({
		'position':'absolute',
		'left':leftStream
	});
	$('#sidebar').css({
		'position':'fixed',
		'left':leftSidebar
	});
	$('#aboutme').css('position','fixed');
	
	
});
*/
