  function base64(chaine){
    ch = $.base64Encode(chaine);
    return ch;
  }

  function url_en_cour64(){
                           
    var url = document.location.toString();
    //var url= '/facebook.php'
    url64 = $.base64Encode(url);
  
    return url64;
  }
  
  
// Thomas V.  18/01/2010


// Facebook Connect & Google Friend Connect
//  http://www.facebook.com/home.php#/developers/
//  http://www.google.com/friendconnect/


function DoLogin_fb_uid(uid,redirection)
{

  d = base64('action=login&uid='+uid);
  jQuery.ajax({
         url: '/static/weblogin_fb.php?DoLogin_fb_uid',
         type: "POST",
         data: 'log&i='+d,
         success: function(data){
         	
         	if(data == 'NOACTIVE')
         	{
         		jAlert('Votre compte n\'est pas activé, merci de cliquer sur le lien que l\'on vous a envoyé par mail...', '', 'Inscription Women365',null);
         		return 0;
         	}
		  if(data != 0)
		  {
	          	$('#votreEspaceContent').html(data);
          		FB.init("6d687fb8347eca7290542d72a21d3ad7", "/xd_receiver.htm",{"ifUserConnected" : auth_using_fb});
		  }
        }
  });  

}


function LoginFinish(){
	location.reload(true);
  //alert('dLogin Finish')
}

function club_lier_fb(infos,email,password){
  d = base64('action=lier&lier='+email+'&password='+password+'&uid='+infos.uid);   
  jQuery.ajax({
         url: '/static/weblogin_fb.php?club_lier_fb',
         type: "POST",
         data: 'i='+d,
         success: function(retour){
            if(retour == 1){
              //console.log('club_lier_fb::DoLogin_fb_uid('+infos.uid+')');
              DoLogin_fb_uid(infos.uid);
            }else
            {
              alert('erreur : '+retour);
            }
         }    
        });  
        
}

function club_nouveau_email(infos){
  var email;
  
  
  //console.log(infos);
  jPrompt('Nous allons procéder à la création de votre compte.<br /><br />Votre adresse email de contact :', '', 'Inscription Women365', function(r) {
      if( r ) { 
  
        datas = base64('count_email='+r);     

        jQuery.ajax({
               url: '/static/weblogin_fb.php?club_nouveau_email',
               type: "POST",
               data: 'i='+datas,
               success: function(retour){
                
                // Email inexistant
                if(retour == 0)
                {
                	  d = base64('action=nouveau&email='+r+'&uid='+infos.uid
			            +'&first_name='+infos.first_name
			            +'&last_name='+infos.last_name
			            +'&dob='+infos.birthday
			            +'&avatar='+infos.pic_big
			            +'&sex='+infos.sex
			            +'&pseudo='+infos.username        
			            );  
                  	document.location.href="/club-women365/creation-de-compte/?d="+d;
                	//club_nouveau_login(infos, r);
                }
                // Email Existant  
                else{
                  club_check_password(infos, r,0)
                }
                
               }    
              });  
              
              
      
      }
  });
}


function club_nouveau_login(infos, email,alreadyExist){

  var email;
  
  	if(alreadyExist)
  		var str = 'Ce pseudo est malheureusement déjà utilisé,<br />Veuillez choisir un autre pseudo :';
	else
		var str = 'Veuillez choisir un pseudo :';
  jPrompt(str, infos.username, 'Inscription Women365', function(login) {
      if( login ) {

        datas = base64('count_pseudo='+login);     

        jQuery.ajax({
               url: '/static/weblogin_fb.php?club_nouveau_login',
               type: "POST",
               data: 'i='+datas,
               success: function(retour){
                
                // Pseudo inexistant
                if(retour == 0)
                {
					jPrompt("Veuillez choisir un mot de passe :", '', 'Inscription Women365', function(pw) {
					      if( pw ) {
					      	club_inscription(infos, email, login ,pw);
					      }});
                }
                
                
                // Pseudo Existant  
                else{
                  club_nouveau_login(infos, email,1);                    
                }
                
               }    
              });  
              
                    
      
      }
  });
}




function club_check_password(infos, email,badPassword){

  
  	if(badPassword)
  		var str = 'Une erreur de mot de passe, veuillez le ressaisir :';
	else
		var str = 'Un compte Women365 correspond à cette adresse mail...<br />Veuillez saisir le mot de passe afin de lier votre compte facebook à celui-çi :';
  jPrompt(str, infos.username, 'Inscription Women365', function(r) {
      if( r ) {

        datas = base64('check_pass='+r+'&email='+email);     

        jQuery.ajax({
               url: '/static/weblogin_fb.php?club_check_password',
               type: "POST",
               data: 'i='+datas,
               success: function(retour){
                
                // Pseudo inexistant
                if(retour == 1)
                  club_lier_fb(infos,email,r)
                
                //club_inscription(infos, email, login ,password)
                
                // Password Erroné
                else{
                  club_check_password(infos, email,1);                    
                }
                
               }    
              });  
              
                    
      
      }
  });
}


function club_inscription(infos, email, login ,password){
  
  d = base64('action=nouveau&email='+email+'&uid='+infos.uid
            +'&first_name='+infos.first_name
            +'&dob='+infos.birthday
            +'&last_name='+infos.last_name
            +'&image='+infos.pic_big
            +'&login='+login
            +'&password='+password           
            );  
  
  jQuery.ajax({
         url: '/static/weblogin_fb.php?club_inscription',
         type: "POST",
         data: 'i='+d,                                  
         success: function(retour){
          
          if(retour == 'OK'){
          	jAlert("Votre compte Women365 est créé, vous recevrez un mail vous permettant de l'activer...", '', 'Inscription Women365',null);
          	//console.log('club_inscription::DoLogin_fb_uid('+infos.uid+')');
            //DoLogin_fb_uid(infos.uid);
          }
          else {
            jAlert('Une erreur est survenu, merci de rééssayer plus tard...', '', 'Inscription Women365',null);
          }
          
         }    
        });  
        
}

function club_verif(infos){
  d = base64('count_fb_uid='+infos.uid);  

  jQuery.ajax({
         url: '/static/weblogin_fb.php?club_verif',
         type: "POST",
         data: 'i='+d,
         success: function(retour){

          // Nouveau au club !
          if(retour == 0)
            club_nouveau_email(infos);
          else
          {
          	//console.log('club_verif::DoLogin_fb_uid('+infos.uid+')');
            DoLogin_fb_uid(infos.uid);
          }
          
          
         }    
        });  


}


function auth_using_fb(uid) {
    //console.log('auth_using_fb('+uid+')');
	// Recuperation des donnees de l'utilisateur depuis FB

	var api = FB.Facebook.apiClient;
                
 //  FB_publier_lien();
 if(!api)
 	return;
	var viewer  = api.fql_query(
    
	  'SELECT  birthday, sex, pic_big_with_logo, pic_big, email_hashes , proxied_email, name, first_name, last_name, username, uid, pic_small, about_me, status, pic_square_with_logo,profile_url FROM user WHERE uid='+api.get_session().uid,


   function(results) {
 		//console.log(results);
      if(uid == 0){    
        club_verif(results[0]);
      }
      else {
      	//alert('auth_using_fb::DoLogin_fb_uid');
      	//console.log('auth_using_fb::DoLogin_fb_uid('+uid+')');
        DoLogin_fb_uid(uid, 1);
        //FB_friends();
        //FB_photos_all();
      }

      /*
	    update_userbox( results[0].name,
	                    results[0].pic_small,
	                    results[0].profile_url,
	                    'FB.Connect.logoutAndRedirect("/?logout&redirect='+url_en_cour64()+'");return false;')
      */
       
       // ADD               
	   // FB_friends();
	   // FB_photos_all();
	  }
	  
	  
	);
	

}


var FB_LISTE_FRIENDS_IN = new Array();
var FB_LISTE_FRIENDS_OUT = new Array();
var FB_LISTE_OK = false;

function FB_friends(){

	var lst_friends_img = '<h3>Liste des amis</h3>';
  var api = FB.Facebook.apiClient;
    	
	var viewer_friends  = api.fql_query(

	  'SELECT uid2 FROM friend WHERE uid1='+api.get_session().uid,


   function(results_friends) {    
  
          sql_where = '';
          for(x in results_friends)
          {
          
            if(sql_where == '')
              sql_where = sql_where + "WHERE uid='"+results_friends[x].uid2+"'";
            else
              sql_where = sql_where + " OR uid='"+results_friends[x].uid2+"'";
                     
            
             
          }
          
          var FriendsIn = new Array();
          var FriendsOut = new Array();
             
        	var viewer2  = api.fql_query(
        
        	  'SELECT is_app_user, name, uid, pic_small, about_me, status, pic_square_with_logo,profile_url FROM user '+sql_where,
        
        
           function(results_info_friends) { 
              pA = 0;
              pB = 0;
              for(n in results_info_friends)
              {
                if(results_info_friends[n].is_app_user) {
                  FriendsIn[pA] = results_info_friends[n];
                  pA++;
                }
                else {
                  FriendsOut[pB] = results_info_friends[n];
                  pB++; 
                }  
                
                

                 
              }
              
              FB_LISTE_FRIENDS_IN = FriendsIn;
              FB_LISTE_FRIENDS_OUT = FriendsOut;
              FB_LISTE_OK = true;

        	  }
        	  
        	  
        	);   
        	

                      
	  }
	  
	  
	);

}






var FB_LISTE_PHOTOS = new Array();

function FB_photos_all(){

  var api = FB.Facebook.apiClient;
    	
	var viewer_photos_all = api.fql_query(

	 'SELECT src_big, src_small , caption, caption FROM photo WHERE pid IN (SELECT pid FROM photo_tag WHERE subject='+api.get_session().uid+')',

   function(results_photos_all) {    
     // console.log(results_photos_all);              

        for(n in results_photos_all)
        {
          FB_LISTE_PHOTOS[n] = results_photos_all[n]
        }      


	  }
	  
	  
	);

}





// 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();
	  
	
	    
	    pseudo = viewer.getDisplayName();
	    user_google_id = viewer.getId();
	    user_google_login = pseudo;
	   // user_google_page = viewer.getField(opensocial.Person.Field.PROFILE_URL);
	    user_google_page = '';
	    user_google_pic = viewer.getField(opensocial.Person.Field.THUMBNAIL_URL);
	    
	    login_google_ajax(pseudo,user_google_id,user_google_login,user_google_page,user_google_pic);
	    
	    
	  	update_userbox( viewer.getDisplayName(),
	  	                viewer.getField(opensocial.Person.Field.THUMBNAIL_URL),
	  	                user_google_page,
	  	                '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( "<a href='"+url+"'>"
	                  + "<img alt='"+name+"' src='"+image+"' />"
	                  + "Connect&eacute; en tant que "
	                  + name + "</a><br />"
	                  + "&raquo;&nbsp;<a href='/?logout&redirect="+url_en_cour64()+"' onclick='" + logout + "'>Deconnexion</a>" ).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);
*/
}


/********/
function update_user_box() { 
    var user_box = document.getElementById("user"); 
    // add in some XFBML. note that we set useyou=false so it doesn't display "you" 
    user_box.innerHTML = 
                          "<span>" 
                        + "<fb:profile-pic uid=loggedinuser facebook-logo=true></fb:profile-pic>" 
                        + "Bienvennue, <fb:name uid=loggedinuser useyou=false></fb:name>."
                        + "Vous &ecirc;tes connect&eacute; avec votre compte Facebook." 
                        + "</span>"; 
                        
    // because this is XFBML, we need to tell Facebook to re-process the document 
    FB.XFBML.Host.parseDomTree(); 
}                   