// Facebook Connect

function auth_using_fb() {

	// Recuperation des donnees de l'utilisateur depuis FB

	var viewer  = FB.Facebook.apiClient.fql_query(



	  'SELECT name, pic_square_with_logo,profile_url FROM user WHERE uid='+FB.Facebook.apiClient.get_session().uid,

	  

	  function(results) {

	    update_userbox( results[0].name,

	                    results[0].pic_square_with_logo,

	                    results[0].profile_url,

	                    'FB.Connect.logoutAndRedirect("./index.php");return false;')

	  }

	);

}



// Google Friend Connect

function auth_using_gfc() {

	// Requete vers GFC pour envoyer des donnees de profil

	var params = {};

	    params[opensocial.DataRequest.PeopleRequestFields.PROFILE_DETAILS] =

	    [opensocial.Person.Field.URLS];

	    



	// Creation d'une requete pour recuperer l'utilisateur courant

	var req = opensocial.newDataRequest();

	req.add(req.newFetchPersonRequest('VIEWER', params), 'viewer_data');

	// Envoi de la requete

	req.send(function(data) {



	  // Si view_data a une erreur, alors l'utilisateur n'est pas connecte

	  if (!data.get('viewer_data').hadError()) {

	  	// Recuperation des donnes de l'utilisateur depuis GFC

	  	var viewer = data.get('viewer_data').getData();

	  

	  	update_userbox( viewer.getDisplayName(),

	  	                viewer.getField(opensocial.Person.Field.THUMBNAIL_URL),

	  	                viewer.getField(opensocial.Person.Field.URLS)[0].getField('address'),

	  	                'google.friendconnect.requestSignOut()' );

	  }



	});

}



// Le fonction generique met a jour #userbox avec les informations recuperees depuis les services

function update_userbox(name, image, url, logout) {



	// Remplissage des champs dans #userbox et affichage de ces derniers

	$('#userbox').html( "<form method='post'>"
          + "<table width='280' border='0' align='right' >"
          + "<tr>"
          + "<td width='206'>"
		  + "<p>"
		  + "<a href='"+url+"'>" + name + "</a> "
		  + " <a href='index.php' onclick='" + logout + "'>Deconnexion</a></p></td>"
          + "</tr>"
          + "<tr>"
          + "<td>"
		  + "<p>"
          + "<textarea name='message'></textarea>"
          + "</p></td>"
          + "</tr>"
          + "<tr>"
          + "<td><input name='submit' type='submit' value='Envoyer' /></td>"
          + "</tr>"
          + "</table>"
          + "<table border='0'>"
          + "<tr>"
          + "<td><a href='"+url+"'><img alt='"+name+"' src='"+image+"' border='0'/></a></td>"
          + "</tr>"
          + "<tr>"
          + "<td><span class='specifications'>Message</span> :</td>"
          + "</tr>"
          + "</table>"
          + "<p>&nbsp;</p>"
          + "<p>&nbsp;</p>"
      	  + "</form>").show();



	// On cache le champ Nom et les boutons de login des services

	$('#userinfo').hide();



	// Remplissage des champs en utilisant les donnees des services

	$('#name').val(name);

	$('#url').val(url);

	$('#image').val(image);

}