/**
 * Productions Vic Pelletier tous droit réservées
 * Fonction utilitaires pour facebook
 * 
 * chargement dynamique de l'api facebook uniquement si nécessaire
 */
RessourcesTextes.add([["facebook.opera_err","Facebook Connect"]]);

window.VisiteurFacebook= new function(){
var me= this;
var loginRequired;
var connected= false;
var state= 0;
var key="";
var afl=[];
this.load= function(){
if(window.opera){
alert(_TR("facebook.opera_err","Facebook Connect n" ));} else{
if(state== 0){
state= 1;
$j.getScript("http://static.ak.connect.facebook.com/js/api_lib/v0.4/FeatureLoader.js.php/"+((Langue.getId()== 1) ?"fr_CA" :"en_CA" ),
function(){
FB.init(key,"/xd_receiver.htm" ,{"ifUserConnected":onConnect,"ifUserNotConnected" :onDisconnect});
state= 2;
FB.ensureInit(function(){
state= 3;
doCalls();})});}}}
function doCalls(){
if(state==3){
$j.each(afl, function(i, n){
n();})
afl=[];}}
function afterLoad(f){
afl[afl.length]= f;
me.load();
doCalls();}
function login(){
if(connected){
$j.post("/plugin.php",{plugin:"visiteur" , action:"FacebookLogin"}, function(r){
if(r.result){
window.location.href= r.url;} else{
alert(r.msg);}},"json" );}}
function afterConnect(){
setTimeout(login, 500);}
me.connect= function(){
afterLoad(function(){
FB.Connect.requireSession(afterConnect);});}
me.logout= function(){
afterLoad(function(){
loginRequired= true;
FB.Connect.logout();});}
function onDisconnect(){
if(connected){
connected= false;
$j.get("/plugin.php",{plugin:"visiteur" , action:"ajaxLogout"}, function(){
if(loginRequired){
window.location.href="/projet-chrono";}});}}
function onConnect(){
connected= true;}
me.init= function(apiKey, lRequired, isConnected){
loginRequired= lRequired;
connected= isConnected;
key= apiKey;
if(connected){
this.load();}
if(window.opera){
$j(".fbConn").add("#facebook-connect").add(".insORfb").hide();}}}