;(function(jQuery) {

	jQuery.fn.imgcaps = function(o) {
		var o = jQuery.extend({
			layer: 'inner',
			position: 'top'
		}, o);
		jQuery(this).each(function() {
			var p = jQuery(this);
			var captxt = p.attr('alt');
			if (captxt != 'null' && captxt != '') {
				p.css('verticalAlign','bottom');
				p.wrap('<span class="imgcaps_wrap"></span>');
				jQuery('.imgcaps_wrap').css({
					position: 'relative',
					display: 'inline',
					display: 'inline-block',
					margin: '0',
					padding: '0',
					verticalAlign: 'top'
				});
				var captionblock = '<span class="imgcaps_caps"></span>';
				var caption = '<span class="imgcaps_caption">'+captxt+'</span>';
				var pw = p.width();
				var ph = p.height();
				var caps_margin_l = 0;
				var caps_margin_r = 0;
				if (p.css('padding-left')) {
					caps_margin_l = p.css('padding-left');
				}
				if (p.css('padding-right')) {
					caps_margin_r = p.css('padding-right');
				}
				/*
				var position = p.position();
				var pl = position.left;
				var pt = position.top;
				var pt = 0;
				var pad = p.css('padding-left');
				var pb = pt+ph-20;
				*/

				switch (o.layer) {
					case 'inner':
						var csssettinginner = {
							display: 'block',
							position: 'absolute',
							width: pw+'px',
							marginLeft: caps_margin_l,
							marginRight: caps_margin_r
						};
						jQuery(captionblock).insertAfter(p).css(csssettinginner).append(caption);
						switch (o.position) {
							case 'bottom':
								jQuery('.imgcaps_caps').css('bottom','0').addClass('b');
								break;
							default:
								jQuery('.imgcaps_caps').css('top','0').addClass('t');
								break;
						}
						break;
					case 'outer':
						var csssettingouter = {
							display: 'block',
							width: pw+'px',
							marginLeft: caps_margin_l,
							marginRight: caps_margin_r
						};
						switch (o.position) {
							case 'bottom':
								jQuery(captionblock).insertAfter(p).css(csssettingouter).append(caption).addClass('b');
								break;
							default:
								jQuery(captionblock).insertBefore(p).css(csssettingouter).append(caption).addClass('t');
								break;
						}
						break;
					default:
						break;
				}

			}
		});
	};

})(jQuery);

