function twitterReplace(str) {
	return str.replace(/(ftp|http|https|file):\/\/[\S]+(\b|$)/gim,'<a href="$&">$&</a>').replace(/@([a-zA-Z0-9_]*)/,'<a href="http://twitter.com/$1">@$1</a>');
	
}

function createCookie(name,value,days) {
	if (days) {
		var date = new Date();
		date.setTime(date.getTime()+(days*24*60*60*1000));
		var expires = "; expires="+date.toGMTString();
	}
	else var expires = "";
	document.cookie = name+"="+value+expires+"; path=/";
}

function readCookie(name) {
	var nameEQ = name + "=";
	var ca = document.cookie.split(';');
	for(var i=0;i < ca.length;i++) {
		var c = ca[i];
		while (c.charAt(0)==' ') c = c.substring(1,c.length);
		if (c.indexOf(nameEQ) == 0) return c.substring(nameEQ.length,c.length);
	}
	return null;
}

function eraseCookie(name) {
	createCookie(name,"",-1);
}

function hideSidebarItem(n) {
	$('aside h3').eq(n).addClass('closed');
	$('aside h3').eq(n).next().hide();
}

function updateCookie() {
	var str = "";
	$('aside h3').each(function() {
		if ($(this).hasClass('closed')) {
			str += "closed|";
		}
		else {
			str += "open|";
		}
	});
	str = str.substr(0, str.length-1);
	createCookie("vinch",str,7);
}

$(document).ready(function() {
	
	var cookie_str = readCookie("vinch");
	
	if (cookie_str) {
		var cookie_arr = cookie_str.split('|');
		for (var i=0; i<cookie_arr.length; i++) {
			if (cookie_arr[i] == "closed") {
				hideSidebarItem(i)
			}
		}
	}
	else {
		hideSidebarItem(0);
		hideSidebarItem(1);
		updateCookie();
	}
	
	$.get("/blog/ajax/mybloglog.php", function(data) {
		$('#fans').html(data);
		if (!$('#fans').is(':hidden')) {
			$('#fans').hide();
			$('#fans').slideDown(250);
		}
	});
	
	$.getJSON("/blog/ajax/flickr.php", function(data) {
		$('#photos').html('');
		jQuery.each(data, function() {
			$('#photos').append('<a href="'+this.link+'"><img src="'+this.mini+'" alt="'+this.title+'"/></a>');
		})
	});
	
	$.getJSON("/blog/ajax/friendfeed.php", function(data) {
		var i = 0;
		$('footer blockquote span').html('');
		$('#lifestream ul').html('');
		jQuery.each(data.entries, function() {
			if (i == 0) {
				$('footer blockquote span').append(twitterReplace(this.title));
				$('footer blockquote p').append(' <a href="'+this.link+'">#</a>');
			}
			if (i > 0 && i < 5) {
				$('#lifestream ul').append('<li><img src="'+this.service.iconUrl+'" alt="'+this.service.id+'" /><span>'+twitterReplace(this.title)+' <a href="'+this.link+'">#</a></span></li>');
			}
			i++;
		});
	});
	
	var val = $('#search input').val();
	$('#search input').focus(function() {
		if ($('#search input').val() == val) {
			$(this).val('');
		}
	});
	$('#search input').blur(function() {
		if ($('#search input').val() == '') {
			$(this).val(val);
		}
	});
	$('#clear').click(function() {
		$('#search input').val('');
	});
	
	$('aside h3').click(function() {
		$(this).toggleClass('closed');
		$(this).next().slideToggle(250);
		updateCookie();
	});
	
});