			String.prototype.linkify = function() {
				return this.replace(/[A-Za-z]+:\/\/[A-Za-z0-9-_]+\.[A-Za-z0-9-_:%&\?\/.=]+/gi, function(m) {
					prettylink = m.replace(/(ftp|http|https|file):\/\//gi,'').split('/');
					if (prettylink.length > 1) {
						prettylink = prettylink[0]+"...";
					}
					else {
						prettylink = prettylink[0];
					}
					return '<a href="'+m+'" class="extlink" target="_blank">'+prettylink+'</a>';
				});
			};
		
			function relativeTime(time_value) {
				var values = time_value.split(" ");
				time_value = values[1] + " " + values[2] + ", " + values[5] + " " + values[3];
				var parsed_date = Date.parse(time_value);
				var relative_to = (arguments.length > 1) ? arguments[1] : new Date();
				var delta = parseInt((relative_to.getTime() - parsed_date) / 1000);
				delta = delta + (relative_to.getTimezoneOffset() * 60);
				
				var r = '';
				if (delta < 60) {
					r = 'a minute ago';
				} else if(delta < 120) {
					r = 'couple of minutes ago';
				} else if(delta < (45*60)) {
					r = (parseInt(delta / 60)).toString() + ' minutes ago';
				} else if(delta < (90*60)) {
					r = 'an hour ago';
				} else if(delta < (24*60*60)) {
					r = '' + (parseInt(delta / 3600)).toString() + ' hours ago';
				} else if(delta < (48*60*60)) {
					r = '1 day ago';
				} else {
					r = (parseInt(delta / 86400)).toString() + ' days ago';
				}
				
				return r;
			}
			
			function filterText(text) {
					var badwords = /fuck|fuk|shit|bastard|arse|minge|fanny|twat|clit|cunt|nigger|paki|wank/gi;
					if (text.search(badwords) < 1) {
						return text;
					}
			}
			
			var checked = 0;
			
			function checkAllIn() {		
				$("#media li").remove();
				items.sort(function() { return Math.round(Math.random()*8) - 4;});
				items.sort(function() { return Math.round(Math.random()*8) - 4;});
				items.sort(function() { return Math.round(Math.random()*8) - 4;});
				var count = 0;
				$.each(items, function(i,val) {
					count++
					if (count <= 56) {
						$("#media").append('<li>'
							+ '<div class="socialitem" style="background-image: url(\'' + val.thumb + '\');">'
							+ '<a target="_blank" title="[' + val.type.toUpperCase() + '] ' + val.title + '" href="' + val.url + '">' + '<img src="http://www.odinsglow.co.uk/themes/odinsglow/img/i_' + val.type + '.png" alt="' + val.type + '">' + '</a>'
							+ '</div></li>'
						);
					}
				});
			}
			
			var results = 25;
			var items = new Array();
			
			google.setOnLoadCallback(function() {		
			// flickr		
				$.getJSON("http://api.flickr.com/services/rest/?method=flickr.photos.search&api_key=908f1083ca93e6890753c3f2459c2f9a&text=newcastle+university&safe_search=1&content_type=1&per_page=" + results + "&format=json&sort=relevance&jsoncallback=?", function(data) {
					var results = data.photos.photo;
					$.each(results, function(i,val) {
						items.push({
							"type": "photo",
							"url": 'http://www.flickr.com/photos/' + val.owner + '/' + val.id,
							"title": val.title,
							"thumb": 'http://farm' + val.farm + '.static.flickr.com/' + val.server + '/' + val.id + '_' + val.secret + '_s.jpg'
						});
					});
					checkAllIn();
				});
				
				// youtube
				$.getJSON("http://gdata.youtube.com/feeds/api/videos?q=%22newcastle+university%22&orderby=relevance&max-results=" + results + "&safeSearch=strict&v=2&alt=json-in-script&format=5&callback=?", function(data) {
					var results = data.feed.entry;
					$.each(results, function(i,val) {
						items.push({
							"type": "video",
							"url": val.media$group.media$player.url,
							"title": val.title.$t,
							"thumb": val.media$group.media$thumbnail[0].url
						});
					});
					checkAllIn();
				});
				
				// twitter
				$.getJSON("http://search.twitter.com/search.json?q=newcastle+university&rpp=" + results + "&callback=?", function(data) {
					var results = data.results;
					$.each(results, function(i,val) {
						if (filterText(val.text)) {
							items.push({
								"type": "tweet",
								"url": 'http://twitter.com/' + val.from_user + '/status/' + val.id,
								"title": val.from_user,
								"text": val.text,
								"thumb": val.profile_image_url
							});
						}
					});
					checkAllIn();
				});
			});