jQuery.fn.extend({captify:function(a){var a=$.extend({speedOver:"fast",speedOut:"normal",hideDelay:500,animation:"fade",prefix:"",className:"caption"},a);$(this).each(function(){var b=this;$(this).load(function(){$this=b;if(this.hasInit){return false}this.hasInit=true;var d=false;var k=false;var g=$("#"+$(this).attr("rel"));var z=!g.length?$(this).attr("title"):g.html();var f=!z.length?$(this).attr("alt"):z;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(m){$.map(["style","width","color"],function(n){var o="border-"+m+"-"+n;c.css(o,$(b).css(o))})});$(b).css({border:"0 none"});$.map(["top","right","bottom","left"],function(n){var m="margin-"+n;c.css(m,$(b).css(m))});var l=$("div:last",c.append("<div></div>")).addClass(a.className);var j=$("div:last",c.append("<div></div>")).addClass(a.className).append(a.prefix).append(f);$("*",c).css({margin:0}).show();var i=jQuery.browser.msie?"static":"relative";l.css({zIndex:1,position:i});j.css({position:i,zIndex:2,background:"none",border:"0 none",opacity:1});l.width(j.outerWidth());l.height(j.outerHeight());j.css({marginTop:-l.outerHeight()});var e=function(){if(!d&&!k){l.animate({marginTop:0},a.speedOut)}};$(this).hover(function(){k=true;if(!d){l.animate({marginTop:-l.height()},a.speedOver)}},function(){k=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")}})}});