﻿/**
* jquery.readmore - Substring long paragraphs and make expandable with "more" link
* @date 23 June 2010
* @author Jake Trent  http://www.jtsnake.com/
* @version 1.0
*/
(function ($) {
    $.fn.readmore = function (settings) {

        if (settings) $.extend($.fn.readmore.defaults, settings);

        this.each(function () {
            if ($(this).html().length > $.fn.readmore.defaults.substr_len) {
                abridge($(this));
                linkage($(this));
            }
        });

        function linkage(elem) {
            elem.append($.fn.readmore.defaults.more_link);
            elem.children(".more").click(function () {
                $(this).hide();
                $(this).siblings("span:not(.hidden)").hide().siblings("span.hidden").animate({ 'opacity': 'toggle' }, 1000);
            });
        }

        function abridge(elem) {
            var txt = elem.html();
            var len = $.fn.readmore.defaults.substr_len;
            var dots = "<span>" + $.fn.readmore.defaults.ellipses + "</span>";
            var shown = txt.substring(0, len) + dots;
            var hidden = '<span class="hidden">' + txt.substring(len, txt.length) + '</span>';
            elem.html(shown + hidden);
        }

        return this;
    };

    $.fn.readmore.defaults = {
        substr_len: 500,
        ellipses: '&#8230;',
        more_link: '<a class="more">Read&nbsp;More</a>'
    };

})(jQuery);

