var fb_ready = false;
var already_told_login = false;
var api_key = 'a2bd67a31de36905ca4e2d4e7ed013a2';
var page_ID = '208647113333';
var userID = '';


function flash_isFan(){
  check_is_fan();
}

function flash_askFan(){
  set_wmode(true);
  fof = new FrameOverHtml("fb_fan.php", true);
  fof.closeCallBack = on_fof_close;
  fof.open();
}

function on_fof_close(){
  check_is_fan();
  set_wmode(false);
}

function check_is_fan(){
  FB.Facebook.apiClient.pages_isFan(page_ID, userID, on_isfan_answer);
}

function on_isfan_answer(result){
  movie().answer_fan(result);
}

function flash_askShare(id, name){
  set_wmode(true);
  fb_publish_wall(id, name);
}

function flash_askLogin(){
  set_wmode(true);
  fb_login();
}

function set_wmode(transparent){
  if(transparent){
    flashData.params.wmode = "transparent";
    
  }else{
    flashData.params.wmode = "opaque";
  }
}

function movie() {
    if (navigator.appName.indexOf("Microsoft") != -1) {
  return window[flashData.attributes.id]
    }
    else {
  return document[flashData.attributes.id]
    }
}

function tell_flash_loggedin(result, userID){
  if(result){
    if(!already_told_login){
      movie().answer_login(userID);
      already_told_login = true;
    }
  
  }else{
    movie().answer_login_cancel();
  }
}

function tell_flash_share_result(result){
  movie().answer_share(result);
}




function init_FB(callback) {
  if(fb_ready){
    callback();
    
  }else{
    FB_RequireFeatures(["XFBML", "CanvasUtil", "Connect", "Api"], function() {
      FB.Facebook.init(api_key, "/xd_receiver.htm");
      fb_ready = true;
      callback();
    });
  }
}

function on_publish_complete(post_id, exception){
  if(post_id != "null" && post_id != null){
    tell_flash_share_result(true);
    
  }else{
    tell_flash_share_result(false);
  }
  set_wmode(false);
}

function fb_publish_wall(metierID, metierName){
  if(fb_ready){    
    var urlMetier = 'http://www.sauvedesvies.com/#/fiche-metier/'+metierID+'/';
    
    var attachment = {
      'caption':'{*actor*} partage sa passion pour le métier ' + metierName + ".",
      'description':'Partagé depuis sauvedesvies.com',
      'properties':{"Information":{'text':urlMetier, 'href':urlMetier}},
      'media': [
        {
          'type':'image',
          'src':'http://www.sauvedesvies.com/medias/noflash/logo_sauvedesvies.gif',
          'href':'http://www.sauvedesvies.com'
        }
      ]
    };
    FB.Connect.streamPublish('', attachment, null, null, null, on_publish_complete);
  }
}

function fb_login() {
  already_told_login = false;
  init_FB(function() {
    FB.Connect.requireSession(on_session_is_ready, on_session_cancel);
  });
}

/*function on_logout() {
  loggedOut();
}

function fb_logout() {
  if(fb_ready){
    FB.Connect.logout(on_logout);
	}
}*/

function on_session_cancel() {
  set_wmode(false);
  tell_flash_loggedin(false);
}

function on_session_is_ready() {
	userID = FB.Facebook.apiClient.get_session() ? FB.Facebook.apiClient.get_session().uid : null;
  
  if (!userID) {
    on_session_cancel();
    return;
  }
  
  tell_flash_loggedin(true, userID);
  set_wmode(false);
}