function fb_login(redirect) {
	FB.login(function(res){
		if(res.status == 'connected')
			window.location.search = '?action=facebook:login' + (redirect ? '&redirect='+escape(redirect) : '');
	}, {
		scope: 'email,user_about_me,user_activities,user_birthday,user_education_history,user_hometown,' +
			'user_interests,user_likes,user_location,user_photos,user_videos,user_website,' +
			'user_relationships,user_status,user_work_history,read_friendlists,publish_stream'
	});
	
	return false;
}

function fb_like_cb(url) {
	$.get(url + (url.match(/\?/) ? '&' : '?') + 'facebook=like');
}

$(function(){
	$('body').append('<div id="fb-root"></div>');
	if(window.FB) {
		FB.init({
			appId: fb_app_id,
			status: true,
			cookie: true,
			xfbml: true,
			oauth: true
		});
		
		FB.Event.subscribe('edge.create', fb_like_cb);
		
		FB.XFBML.parse();
		
		$('a[rel=fb_action]').click(function() {
			var link = this;
			FB.getLoginStatus(function(response) {
				if(response.session) {
					location.href = link.href;
				} else {
					fb_login(link.href);
				}
			});
			return false;
		});
	}
});

