jQuery.fn.extend(
{
	captify:function(a)
	{
		var a=$.extend(
			{
				speedOver:"fast",
				speedOut:"normal",
				hideDelay:500,
				animation:"fade",
				prefix:"",
				opacity:"0.35",
				className:"caption-bottom",
				position:"bottom",
				spanWidth:"100%"
			},
		a);
		
		$(this).each(function()
		{
			var b=this;
			$(this).load(function()
			{
				$this=b;
				if(this.hasInit){return false}this.hasInit=true;
				var d=false;
				var m=false;
				var g=$("#"+$(this).attr("rel"));
				var f=!g.length?$(this).attr("alt"):g.html();
				g.remove();
				var h=this.parent&&this.parent.tagName=="a"?this.parent:$(this);
				var c=h.wrap("<div></div>").parent();
				c.css(
				{
					overflow:"hidden",
					padding:0,
					fontSize:0.1
				});
				c.addClass("caption-wrapper");
				c.width($(this).width());
				c.height($(this).height());
				$.map(
					["top",
					"right",
					"bottom",
					"left"],
					function(p)
						{
							c.css("margin-"+p,
							$(b).css("margin-"+p));
							$.map(["style",
							"width",
							"color"],
							function(q)
							{
								var r="border-"+p+"-"+q;
								c.css(r,
									  $(b).css(r))})});
				$(b).css({border:"0 none"});
				var o=$("div:last",
						c.append("<div></div>")).addClass(a.className);
				var l=$("div:last",
						c.append("<div></div>")).addClass(a.className).append(a.prefix).append(f);
				$("*",
				  c).css({margin:0}).show();
				var j=jQuery.browser.msie?"static":"relative";
				o.css({zIndex:1,
					  position:j,
					  opacity:a.animation=="fade"?0:a.opacity,
					  width:a.spanWidth});
				if(a.position=="bottom"){var k=parseInt(o.css("border-top-width").replace("px",""))+parseInt(l.css("padding-top").replace("px",""))-1;
l.css("paddingTop",
k)}l.css({position:j,
zIndex:2,
background:"none",
border:"0 none",
opacity:a.animation=="fade"?0:1,
width:a.spanWidth});
o.width(l.outerWidth());
o.height(l.height());
var n=(a.position=="bottom"&&jQuery.browser.msie)?-4:0;
var i=(a.position=="top")?{hide:-$(b).height()-o.outerHeight()-1,
show:-$(b).height()}:{hide:0,
show:-o.outerHeight()+n};
l.css("marginTop",
-o.outerHeight());
o.css("marginTop",
i[a.animation=="fade"||a.animation=="always-on"?"show":"hide"]);
var e=function(){if(!d&&!m){var p=a.animation=="fade"?{opacity:0}:{marginTop:i.hide};
o.animate(p,
a.speedOut);
if(a.animation=="fade"){l.animate({opacity:0},
a.speedOver)}}};
if(a.animation!="always-on"){$(this).hover(function(){m=true;
if(!d){var p=a.animation=="fade"?{opacity:a.opacity}:{marginTop:i.show};
o.animate(p,
a.speedOver);
if(a.animation=="fade"){l.animate({opacity:1},
a.speedOver/2)}}},
function(){m=false;
window.setTimeout(e,
a.hideDelay)});
$("div",
c).hover(function(){d=true},
function(){d=false;
window.setTimeout(e,
a.hideDelay)})}});
if(this.complete||this.naturalWidth>0){$(b).trigger("load")}})}});
