jquery.fn.extend({captify:function(n){var a=$.extend({speedover:"fast",speedout:"normal",hidedelay:500,animation:"slide",prefix:"",opacity:"0.45",classname:"caption-bottom",position:"bottom",spanwidth:"100%"},n);$(this).each(function(){var c=this;$(this).load(function(){if(c.hasinit)return false;c.hasinit=true;var i=false,k=false,e=$("#"+$(this).attr("rel")),g=!e.length?$(this).attr("alt"):e.html();e.remove();e=this.parent&&this.parent.tagname=="a"?this.parent:$(this);var h=e.wrap("
").parent().css({overflow:"hidden", padding:0,fontsize:0.1}).addclass("caption-wrapper").width($(this).width()).height($(this).height());$.map(["top","right","bottom","left"],function(f){h.css("margin-"+f,$(c).css("margin-"+f));$.map(["style","width","color"],function(j){j="border-"+f+"-"+j;h.css(j,$(c).css(j))})});$(c).css({border:"0 none"});var b=$("div:last",h.append("
")).addclass(a.classname),d=$("div:last",h.append("
")).addclass(a.classname).append(a.prefix).append(g);$("*",h).css({margin:0}).show();g=jquery.browser.msie? "static":"relative";b.css({zindex:1,position:g,opacity:a.animation=="fade"?0:a.opacity,width:a.spanwidth});if(a.position=="bottom"){e=parseint(b.css("border-top-width").replace("px",""))+parseint(d.css("padding-top").replace("px",""))-1;d.css("paddingtop",e)}d.css({position:g,zindex:2,background:"none",border:"0 none",opacity:a.animation=="fade"?0:1,width:a.spanwidth});b.width(d.outerwidth());b.height(d.height());g=a.position=="bottom"&&jquery.browser.msie?-4:0;var l=a.position=="top"?{hide:-$(c).height()- b.outerheight()-1,show:-$(c).height()}:{hide:0,show:-b.outerheight()+g};d.css("margintop",-b.outerheight());b.css("margintop",l[a.animation=="fade"||a.animation=="always-on"?"show":"hide"]);var m=function(){if(!i&&!k){var f=a.animation=="fade"?{opacity:0}:{margintop:l.hide};b.animate(f,a.speedout);a.animation=="fade"&&d.animate({opacity:0},a.speedover)}};if(a.animation!="always-on"){$(this).hover(function(){k=true;if(!i){var f=a.animation=="fade"?{opacity:a.opacity}:{margintop:l.show};b.animate(f, a.speedover);a.animation=="fade"&&d.animate({opacity:1},a.speedover/2)}},function(){k=false;window.settimeout(m,a.hidedelay)});$("div",h).hover(function(){i=true},function(){i=false;window.settimeout(m,a.hidedelay)})}});if(this.complete||this.naturalwidth>0)$(c).trigger("load")})}});