
/* $Id: class_blog.js 5 2009-01-11 06:01:16Z john $ */

FrumChatAPI.Blog = new Class({
  
  Base: {},
  
  
  options: {
    'ajaxURL' : 'blog_ajax.php'
  },
  
  
  currentConfirmDeleteID: 0,
  
  

  // Delete
  deleteBlog: function(blogEntryID)
  {
    // Display
    currentConfirmDeleteID = blogEntryID;
    TB_show(this.Base.Language.Translate(1500122), '#TB_inline?height=100&width=300&inlineId=confirmblogdelete', '', '../images/trans.gif');
  },
  
  deleteBlogConfirm: function()
  {
    blogEntryID = currentConfirmDeleteID;
    
    // Just refresh teh page instead
    //$('seBlogRow_'+blogEntryID).destroy();
    
    // Ajax
    var bind = this;
    var request = new Request.JSON({
      'method' : 'post',
      'url' : this.options.ajaxURL,
      'data' : {
        'task' : 'deleteblog',
        'blogentry_id' : blogEntryID
      },
      'onComplete':function(responseObject)
      {
        if( $type(responseObject)!="object" || !responseObject.result || responseObject.result=="failure" )
        {
          alert(bind.Base.Language.Translate(1500123));
        }
        
        window.location.reload( false );
      }
    });
    
    request.send();
    
    // Reset
    currentConfirmDeleteID = 0;
  },
  
  
  
  
  
  // Preview
  previewBlog: function()
  {
    var bind = this;
    var previewPane = $('entry_preview');
    var mainPane = $('entry_main');
    var previewElement = $('previewpane');
    var FCKInstance = FCKeditorAPI.GetInstance('blogentry_body');
    
    // Ajax
    var bind = this;
    var request = new Request({
      'method' : 'post',
      'url' : this.options.ajaxURL,
      'data' : {
        'task' : 'previewblog',
        'blogentry_title' : document.blogform.blogentry_title.value,
        'blogentry_body' : FCKInstance.GetHTML(),
        'blogentry_blogentrycat_id' : ( document.blogform.blogentry_blogentrycat_id ? document.blogform.blogentry_blogentrycat_id.value : 0 )
      },
      'onComplete':function(responseText)
      {
        previewElement.empty();
        previewElement.innerHTML = responseText;
        
        var tmpHTML = previewElement.getElement('.seBlogEntry').innerHTML;
        previewElement.innerHTML = tmpHTML + '<br />';
        
        TB_show(bind.Base.Language.Translate(1500067), '#TB_inline?height=400&width=600&inlineId=entry_preview', '', '../images/trans.gif');
      }
    });
    
    request.send();
  },
  
  
  
  
  // Subscriptions
  subscribeBlog: function(blogOwnerID)
  {
    // Ajax
    var bind = this;
    var request = new Request.JSON({
      'method' : 'post',
      'url' : this.options.ajaxURL,
      'data' : {
        'task' : 'subscribeblog',
        'user_id' : blogOwnerID
      },
      'onComplete':function(responseObject)
      {
        if( !responseObject || $type(responseObject)!="object" || responseObject.result=="failure" )
        {
          alert(bind.Base.Language.Translate(1500123));
        }
        else
        {
          // Blog page
          if( $(document).getElement('.seBlogSubscribe') )
          {
            $(document).getElement('.seBlogSubscribe').style.display = 'none';
            $(document).getElement('.seBlogUnsubscribe').style.display = '';
          }
        }
      }
    });
    
    request.send();
  },
  
  unsubscribeBlog: function(blogOwnerID)
  {
    // Ajax
    var bind = this;
    var request = new Request.JSON({
      'method' : 'post',
      'url' : this.options.ajaxURL,
      'data' : {
        'task' : 'unsubscribeblog',
        'user_id' : blogOwnerID
      },
      'onComplete':function(responseObject)
      {
        if( !responseObject || $type(responseObject)!="object" || responseObject.result=="failure" )
        {
          alert(bind.Base.Language.Translate(1500123));
        }
        else
        {
          // User page
          if( $('seBlogSubscriptionRow_'+blogOwnerID) )
          {
            $('seBlogSubscriptionRow_'+blogOwnerID).destroy();
          }
          
          // Blog page
          if( $(document).getElement('.seBlogSubscribe') )
          {
            $(document).getElement('.seBlogSubscribe').style.display = '';
            $(document).getElement('.seBlogUnsubscribe').style.display = 'none';
          }
        }
      }
    });
    
    request.send();
  }

});