// $Id$

/**
 * @file flux_user.auto-join.js
 *  Enables auto-join functionality for anonymous user's who show up with
 *  a Flux cookie.
 **/

var flux_auto_join_done = false;
var dashboard_id = '#join_ast';
var dashboard_reg_id = '#join_ast .reg';
var reg_spinner_style = 'text-align:center;padding-left:50px;padding-top:27px;';

$(function () {
  // The dashboard is in a different div on the homepage ...
  if (Drupal.settings.q == 'home') {
    dashboard_id = '.login_bar';
    dashboard_reg_id = '.login_bar .reg';
    reg_spinner_style = 'text-align:center;padding-left:50px;';
  }

  // Initially hide the dashboard info, and add a spinner
  $(dashboard_reg_id).hide();
  $(dashboard_id).append('<div id="reg_spinner" style="' + reg_spinner_style + '"><img src="/sites/all/themes/asttheme/images/dashboard_spinner.gif" /></div>');

  setTimeout('_flux_auto_join_render()', 300);
});

/**
 * Alter the dashboard for the Flux auto-join workflow.
 **/
function _flux_auto_join_render() {
  if (!flux_auto_join_done && window.Flux && Flux.Context) {
    flux_auto_join_done = true;

    if (!Flux.Context._isCommunityMember && Flux.Context._loggedUserUcid) {
      var name  = Flux.Context._currentUserSettings.UserDisplayName;
      var ucid  = Flux.Context._loggedUserUcid;
      var query = '';

      if (Drupal.settings && Drupal.settings.q) {
        query = '?destination=' + Drupal.settings.q;
      }

      $(dashboard_reg_id).html(
        'Hi <em>' + name + '</em>, ' +
        '<a href="/flux/join-community/' + ucid + query + '" title="Join Alli" id="join-flux"><span>Join Alli</span></a>'
      );
    }

    $(dashboard_id + ' #reg_spinner').remove();
    $(dashboard_reg_id).show();
  }

  // Run again, if flux_auto_join isn't complete
  if (!flux_auto_join_done) {
    setTimeout('_flux_auto_join_render()', 300);
  }
}







