var commonFacebook = {
	login: function() {
		FB.login(function(response) {
		  if (response.session) {
			if (response.perms) {
				FB.getLoginStatus(function(response) {
				  if (response.session) {
					var returned_uid = response.session.uid;
					var returned_session_key = response.session.session_key;
			
					$.get("/users/facebook_login", { session_key: returned_session_key, uid: returned_uid }, function(data){ 
						if (data.indexOf('new_user') != -1) {
							if ($('#UserTeamId').val()) {
								location.href = '/users/add/page:2/team_id:' + $('#UserTeamId').val();
							} else {
								location.href = '/users/add/page:2';
							}
						} else if (data == 'missing_field') {
							var location_string = '/users/add/page:2';
							if ($('#UserTeamId').val()) {
								location_string += 'page:2/team_id:' + $('#UserTeamId').val() + '/';
							}
							if ($('#UserChallengeId').val()) {
								location_string += 'challenge_id:' + $('#UserChallengeId').val();
							}
							location.href = location_string; 
						} else if ((data == 'existing_user') || (data == 'user_create_failed') || (data == 'refresh')) {
							location.href = '/profile/';
						} else if (data == 'duplicate') {
							location.href = '/users/login/';
						} else if (data == 'complete_registration') {
							location.href = '/users/edit/';
						}
					});	
				  } else {
					// no user session available, someone you dont know
				  }
				});
			} else {
			  // user is logged in, but did not grant any permissions
			}
		  } else {
			// user is not logged in
		  }
		}, {perms:'publish_stream,email'});
		
		return false;
	}
};

