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