﻿(function($) {
    $.fn.blink = function(options) {

        var defaults = {
            highlightClass: 'highlight',
            blinkCount: 3,
            fadeDownSpeed: 'slow',
            fadeUpSpeed: 'fast',
            fadeToOpacity: 0.33
        };
        var options = $.extend(defaults, options);

        return this.each(function() {
            var obj = $(this);
            var blinkCount = 0;

            obj.addClass(options.highlightClass);
            doBlink();

            function doBlink() {
                if (blinkCount < options.blinkCount) {
                    obj.fadeTo(options.fadeDownSpeed, options.fadeToOpacity, function() {
                        obj.fadeTo(options.fadeUpSpeed, 1.0, doBlink);
                    });
                } else {
                    obj.removeClass(options.highlightClass);
                }
                blinkCount++;
            }
        });

    };
})(jQuery);