$(document).ready(function(){
	
	// Get tweet
	var username='znegl';
	var format='json';
	var twitterUrl='http://api.twitter.com/1/statuses/user_timeline/'+username+'.'+format+'?callback=?';

	$.getJSON(twitterUrl,function(tweet){
		tweet = convertLinks(tweet[0].text);
		$("#latestTweet").css({'display':'none'}).html(tweet).fadeIn();
	});
	
	// Fade social links
	$('#findMe a').mouseenter(function(e) {
		$(e.target).css({'opacity':1}).animate({'opacity':.4}, {'duration':180, 'queue':false});
	});
	$('#findMe a').mouseleave(function(e) {
		$(e.target).animate({'opacity':1}, {'duration':250, 'queue':false});
	});
	
	// Fade out on external link
	$('a[href^="http://"]').live('click', function(e){
		if (e.target.href.indexOf('znegl.dk') < 0) {
			$('#location').text(e.target.href);
			$('#bye').fadeIn();
			$('#wrapper').animate({'opacity':0}, {'duration':300, 'complete':function(){location.href = e.target.href;}});
			return false;
		}
	});
	// Remove the fade-out, so that users can come back
	$(window).unload(function(){
		$('#bye').fadeOut();
	});
});

function convertLinks(string) {
	urlb = 'http://'; // URL begin
	urlt = '@'; // Twitter user
	urle = ' '; // URL end
	if (string.indexOf(urlb) > -1 || string.indexOf(urlt) > -1) {
		if (string.indexOf(urlb) > -1 && (string.indexOf(urlb) < string.indexOf(urlt) || string.indexOf(urlt) == -1)) {
			start = string.indexOf(urlb);
			link = string.slice(start);
			if (link.indexOf(urle) > -1) {
				link = link.slice(0, link.indexOf(urle));
			}
			end = start + link.length;
			link = '<a href="'+link+'">'+link+'</a>';
			newEnd = start + link.length;
			string = string.slice(0, start)+link+convertLinks(string.slice(end));
		} else if (string.indexOf(urlt) > -1) {
			start = string.indexOf(urlt);
			link = string.slice(start+1);
			if (link.indexOf(urle) > -1) {
				link = link.slice(0, link.indexOf(urle));
			}
			end = start + link.length+1;
			link = '<a href="http://twitter.com/'+link+'">@'+link+'</a>';
			newEnd = start + link.length;
			string = string.slice(0, start)+link+convertLinks(string.slice(end));
		}
	}
	return string;
}
