(function($) {
        var timeout;
        $.fn.bar = function(options) {
          var opts = $.extend({}, $.fn.bar.defaults, options);
          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') ;

            _wrap_bar.addClass(o.response_style);
            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();});
            }
            try {
              _wrap_bar.append(_message_span);
              if (_remove_cross !== undefined) {
                _wrap_bar.append(_remove_cross);
              }
              _wrap_bar.hide();
              _wrap_bar.insertBefore($('.hd'));
              _wrap_bar.fadeIn('slow');
            } catch(e) {
              window.alert(e);
            }
          }
        };
        $.fn.bar.removebar  = function(txt) {
          if ($('.jbar').length) {
            clearTimeout(timeout);
            $('.jbar').fadeOut('slow', function() {
              $(this).remove();
            });
          }
        };
        $.fn.bar.defaults = {
          response_style      : 'jbar-success',
          position            : 'top',
          removebutton        : true,
          message             : 'default message',
          time                : 5000
        };
      })(jQuery);
