﻿Wipfli.Blog = function()
{
    Ext.onReady(this.Initialize.createDelegate(this));
}

Ext.extend(Wipfli.Blog, Ext.util.Observable,
{
    Initialize : function()
    {
        this.addEvents({"onData": true});    
    },
    
    
    BlogPostCommentCreate : function()
    {
        var blogPostID = document.getElementById('blogPostID').value;
        var un = document.getElementById('username').value;
        var rn = document.getElementById('realname').value;
        var email = document.getElementById('email').value;
        var comp = document.getElementById('company').value;
        var hl = document.getElementById('headline').value;
        var comment = document.getElementById('comment').value;
        
        Wipfli.AjaxAPI.WipfliAjax.BlogPostCommentCreate(blogPostID, un, rn, email, comp, hl, comment, this.BlogPostCommentsRetrieve_Process.createDelegate(this))
    },
    BlogPostCommentsRetrieve: function()
    {     
        var blogPostID = document.getElementById('blogPostID').value;
        Wipfli.AjaxAPI.WipfliAjax.BlogPostCommentsRetrieve(blogPostID, this.BlogPostCommentsRetrieve_Process.createDelegate(this));
    },
    BlogPostCommentsRetrieve_Process : function(response)
    {
        if (response.error)
        {
            alert(response.error.Message);
        }
        else
        {
            var divCommentsMC = Ext.get("divCommentsMC");
            var a = Ext.DomQuery.selectNode('commentsData', response.value);
            divCommentsMC.update(a.firstChild.nodeValue);
            
            var divCCount = Ext.get("divCommentCount");
            var cCount = Ext.DomQuery.selectNode('commentCount', response.value);
            divCCount.update(cCount.firstChild.nodeValue);

        }    
    },
    
    BlogCommentCountsRetrieve:function(BlogID)
    {
        Wipfli.AjaxAPI.WipfliAjax.BlogCommentCountsRetrieve(BlogID, this.BlogCommentCountsRetrieve_Process.createDelegate(this));
    },
    BlogCommentCountsRetrieve_Process:function(res)
    {
        var x = $(res.value);
        
        $(x).find("BlogPost").each(function()
        {
            var bpID = $(this).attr("BlogPostID");
            var cc = $(this).attr("CommentCount");
            $('#BlogPostCC' + bpID).html('<strong>Comments (' + cc + ')</strong>');
        });
    }
});