(function(b){var i=1;b.fn.dropShadow=function(m){var g=b.extend({left:4,top:4,blur:2,opacity:.5,color:"black",swap:false},m);var l=b([]);this.not(".dropShadow").each(function(){var a=b(this);var f=[];var h=(g.blur<=0)?0:g.blur;var p=(h==0)?g.opacity:g.opacity/(h*8);var q=(g.swap)?i:i+1;var n=(g.swap)?i+1:i;var j;if(this.id){j=this.id+"_dropShadow"}else{j="ds"+(1+Math.floor(9999*Math.random()))}b.data(this,"shadowId",j);b.data(this,"shadowOptions",m);a.attr("shadowId",j).css("zIndex",q);if(a.css("position")!="absolute"){a.css({position:"relative",zoom:1})}bgColor=a.css("backgroundColor");if(bgColor=="rgba(0, 0, 0, 0)")bgColor="transparent";if(bgColor!="transparent"||a.css("backgroundImage")!="none"||this.nodeName=="SELECT"||this.nodeName=="INPUT"||this.nodeName=="TEXTAREA"){f[0]=b("<div></div>").css("background",g.color)}else{f[0]=a.clone().removeAttr("id").removeAttr("name").removeAttr("shadowId").css("color",g.color)}f[0].addClass("dropShadow").css({height:a.outerHeight(),left:h,opacity:p,position:"absolute",top:h,width:a.outerWidth(),zIndex:n});var o=(8*h)+1;for(c=1;c<o;c++){f[c]=f[0].clone()}var c=1;var d=h;while(d>0){f[c].css({left:d*2,top:0});f[c+1].css({left:d*4,top:d*2});f[c+2].css({left:d*2,top:d*4});f[c+3].css({left:0,top:d*2});f[c+4].css({left:d*3,top:d});f[c+5].css({left:d*3,top:d*3});f[c+6].css({left:d,top:d*3});f[c+7].css({left:d,top:d});c+=8;d--}var k=b("<div></div>").attr("id",j).addClass("dropShadow").css({left:a.position().left+g.left-h,marginTop:a.css("marginTop"),marginRight:a.css("marginRight"),marginBottom:a.css("marginBottom"),marginLeft:a.css("marginLeft"),position:"absolute",top:a.position().top+g.top-h,zIndex:n});for(c=0;c<o;c++){k.append(f[c])}a.after(k);l=l.add(k);b(window).resize(function(){try{k.css({left:a.position().left+g.left-h,top:a.position().top+g.top-h})}catch(e){}});i+=2});return this.pushStack(l)};b.fn.redrawShadow=function(){this.removeShadow();return this.each(function(){var a=b.data(this,"shadowOptions");b(this).dropShadow(a)})};b.fn.removeShadow=function(){return this.each(function(){var a=b(this).shadowId();b("div#"+a).remove()})};b.fn.shadowId=function(){return b.data(this[0],"shadowId")};b(function(){var a="<style type='text/css' media='print'>";a+=".dropShadow{visibility:hidden;}</style>";b("head").append(a)})})(jQuery);
