/* configuration
 ------------------------------------------------------- */
var domain = 'discuss';
var debug  = true;

/* onload
 ------------------------------------------------------- */

$(document).ready(function() {
  loginState = new Observable.create();
  loginState.register('drawHeaderRight', drawHeaderRight);
  //loginState.register('ViewSubscription.drawSubscriptionLink', ViewSubscription.drawSubscriptionLink);
  Debug.openDebugDialog();

  $('#discuss iframe').get(0).src = global.uri;

  $('#forum-inlay div.inlay-header a').each(function(){
    $(this).addClass('inline');
    this.setAttribute('href','javascript:;');
    this.onclick = function() {  
      inlaySwitch(this, true);
    }
  });

  if (global.numComments == 0 || !global.accountId)
    inlaySwitch($('#forum-inlay div.inlay-header div a[@name=comment]').get(0), false, true);

  togglePromoteTab();
  loginState.register('togglePromoteTab', togglePromoteTab);


  setUrlParams();
  
  if (readCookie('dol2day') != 1 && typeof global.urlParams.dol2day !== 'undefined') {
    new Modlog.construct(ViewCoop.dol2dayInlay).open();
  }

  // blend out the dblck message
  $('#discussInfo').hover(
    function() {$('#dblck').color('#999');},
    function() {$('#dblck').color('#000');}
  );
  // double click opens url in new window
  $('#cover').dblclick(function(){ 
    window.open(global.uri); 
  });
  
  // click hides/shows discussInfo
  $('#cover').click(function(){ 
    $('#discussInfo').toggle();
  });


/*
  var discussUrl = config.SITE_URL + 'discuss/?uri=' + encodeURIComponent(global.uri);
  $('.tinyurl').load('/tiny/proxy.php?uri=' + encodeURIComponent(discussUrl));
*/
  $('#comments').load('/shared/fetch/forum/comments/comments.php?type=uri&id=' + encodeURIComponent(global.uri) + '&direction=0&p=1' + '&permalink=' + global.urlParams['permalink']);
});

function togglePromoteTab() {
  var promoteTab = $('#forum-inlay .inlay-header a[@name=promote]').parent();
  if (global.accountId) {
    promoteTab.show();
  }
  else {
    if ($('#forum-inlay div.inlay-header div.selected a[@name=promote]').get(0)) {
      inlaySwitch($('#forum-inlay div.inlay-header div a[@name=comment]').get(0), false);
    }
    promoteTab.hide();
  }
}

function inlaySwitch(tabAHref, doFocus, forceOpen) {
  if (!tabAHref) // TODO: should not happen...
    return ;
    
  tabAHref.blur();
  $('#forum-inlay div.inlay-header div').removeClass('selected');
  if ((typeof $('#' + tabAHref.name + '-form').get(0)) === 'undefined') {
    switch (tabAHref.name) {
      case 'comment':
        $('#comment-container').load('/shared/fetch/forum/comment/comment.php', function(){inlayOpen(tabAHref, doFocus, forceOpen);return;});
        break;
      case 'promote':
        $('#promote-container').load('/shared/fetch/forum/promote/promote.html', function(){inlayOpen(tabAHref, false, forceOpen);return;});
        break;
      case 'invite':
        $('#invite-container').load('/shared/fetch/forum/invite/invite.html', function(){inlayOpen(tabAHref, doFocus, forceOpen);return;});
        break;
      case 'tagging':
        $('#tagging-container').load('/shared/fetch/tagging/form/form.html', function(){inlayOpen(tabAHref, doFocus, forceOpen);return;});
        break;
    }
  }
  else {
    inlayOpen(tabAHref, doFocus, forceOpen);
  }
}

function inlayOpen(tabAHref, doFocus, forceOpen) {
  var isOpened = $('#' + tabAHref.name + '-form').is(':visible');
  $('#forum-inlay .inlay-body').find('form').each(function(){
    if (this.id !== tabAHref.name + '-form') {
      $(this).hide();
    }
  });
  if (isOpened && !forceOpen) {
    $('#' + tabAHref.name + '-form').hide();
  }
  else {
    $(tabAHref).parent().addClass('selected');
    if (!isOpened) $('#' + tabAHref.name + '-form').show();
    if (doFocus) {
      $('#' + tabAHref.name + '-form').find('textarea').get(0).focus();
    }
  }
}