(function ( $ ) 
{

    jQuery.fn.clRssSidebar = function ( options ) {

       if (jQuery.jGFeed == null)
           jQuery.error("The jGFeed jQuery plugin is missing. This plugin is required by clRssSidebar. Please import it.");

        var settings =
        {
           feedURL : null,
           maxItems : 10
        };

        if ( options )
            $.extend( settings, options );

        if (settings.feedURL == null)
            jQuery.error("Parameter for 'feedURL' is missing; this parameter is required by clRssSidebar.");


        // functions used by clRssSidebar
        
        var formatDate = function(dateString)
            {
                var m_names = new Array("January", "February", "March", 
                                        "April", "May", "June", "July", "August", "September", 
                                        "October", "November", "December");
                
                var date = new Date(dateString);
                var monthName = m_names[date.getMonth()];
                var day = date.getDate();
                var fullYear = date.getFullYear();
                var out = monthName+" "+day+", "+fullYear;
                return out;
            };
            
        return this.each(function()
        {   
            var context = $(this);
            var rssLoaded;
            
            $.jGFeed(
                settings.feedURL,
                function(rss) { rssLoaded(rss); },
                settings.maxItems
            );
                
            rssLoaded = function(rss)
            { 
                for (var i = 0; i < rss.entries.length; i++)
                {
                    var currentEntry = rss.entries[i];
                    var title = currentEntry.title;
                    var link = currentEntry.link;
                    var date = currentEntry.publishedDate;

                    var formattedDate = formatDate(date);

                    var li = $("<li></li>");
                                        
                    var linkedTitle = $("<a>"+title+",</a>&nbsp;").attr("href", link);
                    
                    var newsHeadingSpan = $("<span class='news-heading'></span>");
                    
                    var attributionSpan = $("<span class='attribution'>"+formattedDate+"</span>").addClass("attribution");

                    newsHeadingSpan.append(linkedTitle);
                    
                    li.append(newsHeadingSpan).append(attributionSpan);

                    $("ul", context).append(li);
                }
            };
        });
    };


}
)( jQuery );

