(function($) {
	$.fn.annotate = function(options) {
	  var o = $.extend({}, $.fn.annotate.options, options);
	
	  return this.each(function() {
		  el = $(this);
			t = el.attr(o['targetAttr']);
		  if (t != null && t != "") {
				a = $('<span/>') // annotation
					.text(t)
					.addClass(o['annotationClass']);
	      dA = el.attr('data-annotation');
				if (dA != "") a.addClass(dA);

				w = $('<div/>') // wrapper
				  .addClass(o['wrapperClass'])
				  .css('float', el.css('float'));

				el.css('float', 'none')
					.wrap(w);
				if (o['targetAttr'] == 'title') el.attr(o['targetAttr'], null);

				el.parent().append(a);
			}
	  });
	};
	
	$.fn.annotate.options = {
		annotationClass: 'annotation',
		wrapperClass: 'annotation-wrapper',
		targetAttr: 'title'
	};
}) (jQuery);
