/**
 * JavaScript facebook.js
 * @version 1.0
 * @Created: 2011-01-10
 * @Author: Oscar Engström, http://www.engstream.se/
 *
 * Comment to this document:
 * Handles Facebook-related actions
 */

var performerFacebook = {
  init: function(){
    //When clicking on a Facebook-share link
    $("a.facebookShare").live('click', function(ev){
      ev.preventDefault();
      /*if($(this).attr('href').length > 0){
        var message = 'Läs den här artikeln från Världen idag (' + $(this).attr('href') + ')';
      } else {
        var message = 'Jag rekommenderar er till att surfa in på Världen idag (http://www.varldenidag.se).';
      }
      FB.ui({ method: 'feed', message: message});
      */
      //Shadowbox.open( {player:'iframe', content: $(this).attr('href'), height: 350, width: 500, options: { enableKeys: false } } );
      void(window.open($(this).attr('href'),'',''));
      return false;
    });
  },

  /**
   * Run this when initialize (or re-initialize Facebook-functionalities)
   * For example for the login-button
   */
  initFacebookScript: function(){
    FB.init({appId: '139226149480890', status: true, cookie: true, xfbml: true});
    FB.Event.subscribe('auth.sessionChange', function(response) {
      if (response.session) {
        // A user has logged in, and a new cookie has been saved
      } else {
        // The user has logged out, and the cookie has been cleared
      }
    });
  },

  /**
   * At this moment not in use, instead use performerFacebook.isLoggedIn()
   */
  getLoggedIn: function(){
    var data = new Object();
        data.action = 'isLoggedIn';

        var dataString = $.toJSON(data);

        $.post('ajax/facebook.php', {data: dataString}, function(res){
            var obj = $.evalJSON(res);
            if(obj.success == 1){
              if(obj.isLoggedIn == 1){
                //Visitor is logged in through Facebook
                return true;
              } else {
                //Visitor isn't logged in through Facebook
                return false;
              }
            } else {
              //Could not get state of visitors Facebook-login/session
            }
        });
  },

  isLoggedIn: function(){
    var data = new Object();
        data.action = 'isLoggedIn';

    var isLoggedIn = false;
        $.ajax({
          url: 'ajax/facebook.php',
          type: 'GET',
          async: false,
          cache: false,
          timeout: 30000,
          data: data,
          error: function(){
              return false;
          },
          success: function(res){
            var obj = $.evalJSON(res);
            if(obj.success == 1){
              if(obj.isLoggedIn == 1){
                //Visitor is logged in through Facebook
                isLoggedIn = true;
              } else {
                //Visitor isn't logged in through Facebook
                isLoggedIn = false;
              }
            } else {
              //Could not get state of visitors Facebook-login/session
              isLoggedIn = false;
            }
          }
        });
    //Return answer from serverside
    return isLoggedIn;
  },

  getConnectTemplate: function(){
    var data = new Object();
        data.action = 'getConnectTemplate';

        var dataString = $.toJSON(data);

        $.post('ajax/facebook.php', {data: dataString}, function(res){
            var obj = $.evalJSON(res);
            if(obj.success == 1){
              //$("#sbTester").html('<h2 class="render">WorkRoom Labs session</h2><p><a href="http://viddev.engstream.com/images/test.jpg" rel="shadowbox[test]">Klicka för test</a></p><p class="box">Wohaa!<br /><input type="text" id="sbTesterInput" value="abc" /></p>');
              Shadowbox.open( {player:'html', content: obj.tpl, height: 275, width: 650, options: { onFinish: function(){performerFacebook.initFacebookScript(); render();} } } );
            } else {
              //Could not get state of visitors Facebook-login/session
            }
        });
  }
}
