(function ($) {
    $.fn.extend({
        vflection: function (options) {
            var defaults = {
                color: "black",
                height: 40,
                darkness: 20,
                opacity: 20,
                parent: "li",
                top: 0
            };
            var options = $.extend(defaults, options);
            return this.each(function (index) {
                var i = $(this);
                
                options.top = parseInt(i.css("font-size"));
                for (var n = 0; n < options.height; n++) {
                    if (k = document.getElementById(index + 'reflection' + n)) document.body.removeChild(k);
                    var c = $(document.createElement('div')).css({
                        
                        "height": '1px',
                        "padding-right": i.css("padding-right"),
                        "padding-left": i.css("padding-left"),
                        "overflow": 'hidden',
                        "opacity": ((options.opacity - n) / (options.opacity * 10)).toPrecision(1)
                        /*"position": 'relative'*/
                    }).addClass(index + '_reflection_' + n);
                    var d = $(document.createElement('div')).css({
                        "color": options.color,
                        "fontFamily": i.css("font-family"),
                        "fontSize": i.css("font-size"),
                        "fontWeight": i.css("font-weight"),
                        "lineHeight": i.css("line-height"),
                        "marginTop": (n - options.top) + 'px'
                    }).addClass("text").text($.trim(i.text()));
                    c[0].appendChild(d[0]);
                    i.parents(options.parent).get(0).appendChild(c[0]);
                }
            });
        }
    });
})(jQuery);
