jQuery.fn.thumbr = function()
{
	return this.each( function()
	{
		$(this).find('img').each( function()
		{
			var img = this;
			$(img).removeAttr('height');
			$(img).removeAttr('width');
			var div = $(img).wrap('<div></div>').parent();
			$(div).addClass('thumbnail').css({ overflow: 'hidden', position: 'relative' });
			var tm = $(div).width() / $(div).height();
			$(div).css('visibility', 'hidden');
			$(this).load( function()
			{
				$(img).css({ border: '0', margin: '0', padding: '0', position: 'relative' });
				var im = $(img).width() / $(img).height();
				if (im <= tm)
				{
					$(img).width( $(div).width() );
					var top = ( $(img).height() - $(div).height() ) / 2;
					$(img).css('top', -top);
				}
				else
				{
					$(img).height( $(div).height() );
					var left = ( $(img).width() - $(div).width() ) / 2;
					$(img).css('left', -left);
				}
				if ( $(img).hasClass('top') ) $(img).css('top', '0');
				if ( $(img).hasClass('bottom') ) $(img).css('bottom', '0');
				if ( $(img).hasClass('left') ) $(img).css('left', '0');
				if ( $(img).hasClass('right') ) $(img).css('right', '0');
				$(div).css('visibility', 'visible');
			});
			var src = img.src;
			img.src = '';
			img.src = src;
		});
	});
};
