(function ($) {

    var current = null;

    $.fn.rssfeed = function (url, options) {

        var defaults = {
            limit: 10,
            header: true,
            titletag: 'h4',
            date: true,
            content: true,
            snippet: true,
            showerror: true,
            errormsg: '',
            key: null
        };
        var options = $.extend(defaults, options);

        return this.each(function (i, e) {
            var $e = $(e);

            if (!$e.hasClass('rssFeed')) $e.addClass('rssFeed');

            if (url == null) return false;

            var api = "http://ajax.googleapis.com/ajax/services/feed/load?v=1.0&callback=?&q=" + url;
            if (options.limit != null) api += "&num=" + options.limit;
            if (options.key != null) api += "&key=" + options.key;

            $.getJSON(api, function (data) {

                if (data.responseStatus == 200) {
                    _callback(e, data.responseData.feed, options);
                } else {
                    if (options.showerror)
                        if (options.errormsg != '') {
                            var msg = options.errormsg;
                        } else {
                            var msg = data.responseDetails;
                        };
                    $(e).html('<div class="rssError"><p>' + msg + '</p></div>');
                };
            });
        });
    };

    var _callback = function (e, feeds, options) {
        if (!feeds) {
            return false;
        }
        var html = '';

        for (var i = 0; i < feeds.entries.length; i++) {
            var entry = feeds.entries[i];

            // Format published date
            var entryDate = new Date(entry.publishedDate);
            var month = (entryDate.getMonth() + 1) + '';
            var day = entryDate.getDate() + '';
            var pubDate =
                (month.length == 1 ? '0' + month : month) + '.' +
                (day.length == 1 ? '0' + day : day) + '.' + entryDate.getFullYear();

            html += '<div class="showProducts_rightColumnItem">' +
                                '<table cellpadding="0" cellspacing="0">' +
                                    '<tr>' +
                                        '<td style="width: 68px">' +
                                            pubDate +
                                        '</td>' +
                                        '<td>' +
                                            '<a href="' + entry.link + '">' + entry.title + '</a>' +
                                        '</td>' +
                                    '</tr>' +
                                '</table>' +
                            '</div>';
        }

        $(e).html(html);
    };
})(jQuery);
