var Facebook = {
	
	_is_logged: false,
	
	settings: {
		read_stream: false
	},
	
	isLogged: function()
	{
		return this._is_logged;
	},
		
	init:function()
	{
		$fbc		= new Image();
		$fbc.src 	= '/images/fbconnect.gif';
		
		$fbdc		= new Image();
		$fbdc.src 	= '/images/fbdisconnect.gif';
	
		var $img 	= $('#fbconnect > img'); 
		var $button	= $('#fbconnect');
	
		FB.Bootstrap.ensureInit(function(){
			FB.Connect.ifUserConnected(function(){
				$img.attr('src','/images/fbdisconnect.gif');
				$button.attr('rel','disconnect');
				Facebook.initButton();
					
				var session = FB.Facebook.apiClient.get_session();	
				if(!session) return false;
				
				var name	= '';
				var fields	= new Array();
				fields		= ['uid','pic_small_with_logo','name'];
				var user 	= FB.Facebook.apiClient.users_getInfo(session.uid,fields,function(response){
					
					Facebook._is_logged = true;
					
					var i = new Image();
					i.src = response[0].pic_small_with_logo.replace(/&amp;/g,'&');
		
					name = response[0].name;
					
					$('#fb_account > .details > img').attr('src',i.src);
					$('#fbname').html(name);
					$('#fb_account > .details').fadeIn(750);
					
					var data = 'fb_sig_session_key='+encodeURIComponent(session.session_key);
					data +=	'&fb_sig_user='+session.uid;

					$.post('/fb/authorize',data,function(json){
						//alert(json.result)
						
						Engine.refresh('saved');
					},'json');
				});
				
				FB.Facebook.apiClient.users_hasAppPermission('read_stream',function(result){ 
					if(result != 1)
					{
						FB.Connect.showPermissionDialog("read_stream", function(x){
							if(x != false)
							{
								Core.addEngineInit('facebook','Facebook Feed');
							}
						});
					}
					else
					{
						Core.addEngineInit('facebook','Facebook Feed');
					}
				});
					
			},function(){
				$img.attr('src','/images/fbconnect.gif');
				$button.attr('rel','connect');
				Facebook.initButton();
				
				$('#fb_account > .details').hide();
				$('#fbFeedInit').remove();
				Facebook._is_logged = false;
				Engine.remove('facebook');
			});
		});

	},
	
	requestReadStreamPermissions: function()
	{
		
	},
	
	initButton: function()
	{	
		$('#fbconnect').click(function(){
			var $this 	= $(this);
			
			if($this.attr('rel') == 'connect')
			{
				Facebook.login();
			}
			else
			{
				Facebook.logout();
			}
			
			return false;
		});
	},
	
	login: function()
	{	
		FB.Connect.requireSession(function(){
			var $img 	= $('#fbconnect > img'); 
			var $button	= $('#fbconnect');
			
			$img.attr('src','/images/fbdisconnect.gif');
			$button.attr('rel','disconnect');
		}); 
	},
	
	logout: function()
	{
		FB.Connect.logout();
		$.post('/fb/logout','logout=1',function(){
			Engine.refresh('saved');
		});
	}
		
};