var twitter_username = 'ablyler';
var lastfm_username = 'ablyler';
var flickr_id = '47497875@N00';
var refresh_interval = 2; // 2 minutes

$(document).ready(function(){

	// twitter
	if ($("#twitter").length) {
		$("#twitter").tweet({
			username: twitter_username,
			join_text: "",
			count: 15,
			loading_text: "loading...",
			refresh_interval: refresh_interval * 60,
			link_user: false
		});
		$('#twitter').bind('loaded', function() {
			twttr.anywhere(onAnywhereLoad);
			function onAnywhereLoad(twitter) { twitter.hovercards(); };
		});
	} else {
		twttr.anywhere(onAnywhereLoad);
		function onAnywhereLoad(twitter) { twitter.hovercards(); };
	}

	// blog
	function blog_feed_update() {
		$.getFeed({
			url: '/feeds/blog.rss.php',
			success: function(feed) {
				var old_ul = $("#blog ul");
				var new_ul = $("<ul/>").appendTo('#blog');

				for(var i = 0; i < feed.items.length && i < 20; ++i) {
	                var item = feed.items[i];
					$("<li/>").appendTo(new_ul).html('<a href="' + item.link + '">' + item.title + '</a>')
						.append('<span class="timestamp">' + jQuery.timeago(item.updated) + '</span>');
	            }

				old_ul.remove();
	        }
	    });

		window.setTimeout(blog_feed_update, refresh_interval * 60000);
	}
	blog_feed_update();

	// sky scheduler
	function skyscheduler_feed_update() {
		$.getJSON("/feeds/skyscheduler.json.php", function(data){
			var old_ul = $("#skyscheduler ul");
			var new_ul = $("<ul/>").appendTo('#skyscheduler');

			$.each(data, function(i,item) {
				$("<li/>").appendTo(new_ul).html( item.remarks )
					.append('<span class="timestamp">' + jQuery.timeago(item.date) + '</span>');
			});

			old_ul.remove();
		});

		window.setTimeout(skyscheduler_feed_update, refresh_interval * 60000);
	}
	skyscheduler_feed_update();

	// foursquare
	function foursqure_feed_update() {
		$.getFeed({
	        url: '/feeds/foursquare.rss.php',
	        success: function(feed) {
				var old_ul = $("#foursquare ul");
				var new_ul = $("<ul/>").delay(20000).appendTo('#foursquare');

				for(var i = 0; i < feed.items.length && i < 20; ++i) {
	                var item = feed.items[i];
					$("<li/>").appendTo(new_ul).html('<a href="' + item.link + '">' + item.description + '</a>')
						.append('<span class="timestamp">' + jQuery.timeago(item.updated) + '</span>');
	            }

				old_ul.remove();
	        }
	    });

		window.setTimeout(foursqure_feed_update, refresh_interval * 60000);
	}
	foursqure_feed_update();

	// flickr
	function flickr_feed_update() {
		$.getJSON("http://api.flickr.com/services/feeds/photos_public.gne?id=" + flickr_id + "&lang=en-us&format=json&jsoncallback=?", function(data){

		// mark existing images as old
		$("#flickr a:has(img)").attr("data-old", "true");

		// add the new images
		$.each(data.items, function(i,item){
			$("<img/>").attr("src", (item.media.m).replace("_m.jpg", "_s.jpg")).appendTo("#flickr")
				.wrap("<a href='" + item.link + "' title='" + item.title + "'></a>");
			});
		});

		// remove old images
		$('#flickr a[data-old="true"]').remove();

		window.setTimeout(flickr_feed_update, refresh_interval * 60000);
	}
	flickr_feed_update();
	
	// last.fm
	lastFmRecords.init({
		username: lastfm_username,
		placeholder: 'lastfm-feed',
		defaultthumb: '/images/cover_85px.gif',
		period: '3month', // which period/type of data do you want to show? you can choose from
						// recenttracks, 7day, 3month, 6month, 12month, overall, 
						// topalbums and lovedtracks
		count: 12,
		refresh: refresh_interval,
		offset: -5
	});
});

