/**
 * RTLi_Facebook
 * umstellung auf oauth 2.0
 * 
 * @author Jan Thoennessen
 */

/**
 * RTLi_Facebook
 * umstellung auf oauth 2.0
 * 
 * @author Jan Thoennessen
 */
var RTLi_Facebook = 
{
	// sind facebook events registriert
	facebookSubscribeEvents: false,
	
	// url facebook login
	urlFacebookLogin: '/user/facebook/login',
	
	// url facebook in profil
	urlFacebookProfile: '/user/meinprofil/facebook-connect',
		
	/**
	 * login
	 * prueft ob ein facebook user sich schon verbunden hat
	 * vorher logout damit der facebook user sich erneut einloggt
	 */
	login: function()
	{
		// check ob der user eingeloggt ist
		FB.getLoginStatus(function(response) 
		{
			// logged in, force logout
//			if(response.session)
			if(response.status === 'connected') 
			{
				FB.logout(function() {
					RTLi_Facebook.loginEvents();
					RTLi_Facebook.facebookLogin(RTLi_Facebook.urlFacebookLogin);
				});
			} 
			
			// not logged in
			else {
				RTLi_Facebook.loginEvents();
				RTLi_Facebook.facebookLogin(RTLi_Facebook.urlFacebookLogin);
			}
		});
	},
	
	/**
	 * connect erzeugen für schon angemeldete nutzer
	 * vorher logout damit der facebook user sich erneut einloggt
	 */
	loginConnect: function()
	{
		// check ob der user eingeloggt ist
		FB.getLoginStatus(function(response) 
		{
			// logged in, force logout
//			if(response.session)
			if(response.status === 'connected') 
			{
				FB.logout(function() {
					RTLi_Facebook.loginEvents();
					RTLi_Facebook.facebookLogin(RTLi_Facebook.urlFacebookProfile);
				});
			} 
			
			// not logged in
			else {
				RTLi_Facebook.loginEvents();
				RTLi_Facebook.facebookLogin(RTLi_Facebook.urlFacebookProfile);
			}
		});
	},	
	
	/**
	 * facebook login/logout events setzen und fangen
	 */
	loginEvents: function() 
	{
		if(this.facebookSubscribeEvents === false)
		{
		    FB.Event.subscribe('auth.logout', function(response) {});
		    FB.Event.subscribe('auth.login', function(response) {});
		    this.facebookSubscribeEvents = true;
		}
	},
	
	/**
	 * facebook login durchfuehren
	 */
	facebookLogin: function(url)
	{
	    FB.login(function(response) 
	    {
			// user hat die rechte und sich bei facebook eingeloggt
//	        if(response.session) {
	    	if(response.authResponse) {
				document.location.href = url;
	        }
	        
	        // user hat den vorgang abgebrochen
	        else {
				return false;
	        }
	    },
//	    {perms:'email, user_birthday, user_location, publish_stream, offline_access'});
	    {scope:'email, user_birthday, user_location, publish_stream, offline_access'});
	}	
};
