(function ($) {
    $.fn.bar = function (options) {
        var opts = $.extend({}, $.fn.bar.defaults, options);
        return this.each(function () {
            $this = $(this);
            var o = $.meta ? $.extend({}, opts, $this.data()) : opts;

            if (!$('.jbar').length) {
                timeout = setTimeout('$.fn.bar.removebar()', o.time);
                var _message_span = $(document.createElement('span')).addClass('jbar-content').html(o.message);
                var _wrap_bar;
                (o.position == 'bottom') ?
                    _wrap_bar = $(document.createElement('div')).addClass('jbar jbar-bottom') :
                    _wrap_bar = $(document.createElement('div')).addClass('jbar jbar-top');
                if (o.removebutton) {
                    var _remove_cross = $(document.createElement('a')).addClass('jbar-cross');
                    _remove_cross.click(function (e) { $.fn.bar.removebar(); })
                }
                else {
                    _wrap_bar.css({ "cursor": "pointer" });
                    _wrap_bar.click(function (e) { $.fn.bar.removebar(); })
                }
                var _table = $(document.createElement('table'));
                var _row = $(document.createElement('tr'));
                var _col1 = $(document.createElement('td'));
                var _col2 = $(document.createElement('td'));
                _col2.addClass('jbar-cross-col');
                _col1.append(_message_span);
                _col2.append(_remove_cross);
                _row.append(_col1);
                _row.append(_col2);
                _table.append(_row);
                _table.css({ "width" : "100%" });
                _wrap_bar.append(_table).hide().insertBefore($('.content')).delay(500).slideDown(200);
            }
        });
    };
    var timeout;
    $.fn.bar.removebar = function (txt) {
        if ($('.jbar').length) {
            clearTimeout(timeout);
            $('.jbar').slideUp(200, function () {
                $(this).remove();
            });
        }
    };
    $.fn.bar.defaults = {
        background_color: '#FFFFFF',
        color: '#000',
        position: 'top',
        removebutton: true,
        time: 5000
    };
})(jQuery);
