
/* - jquery.dropshadow.js - */
// http://www.impumelelo.org.za/portal_javascripts/jquery.dropshadow.js?original=1
(function(jq){var dropShadowZindex=1;jq.fn.dropShadow=function(options){var opt=jq.extend({left:2,top:3,blur:3,opacity:.5,color:"black",swap:false},options);var jShadows=jq([]);this.not(".dropShadow").each(function(){var jthis=jq(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()))}
jq.data(this,"shadowId",shadowId);jq.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]=jq("<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=jq("<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);jq(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)};jq.fn.redrawShadow=function(){this.removeShadow();return this.each(function(){var shadowOptions=jq.data(this,"shadowOptions");jq(this).dropShadow(shadowOptions)})};jq.fn.removeShadow=function(){return this.each(function(){var shadowId=jq(this).shadowId();jq("div#"+shadowId).remove()})};jq.fn.shadowId=function(){return jq.data(this[0],"shadowId")};jq(function(){var noPrint="<style type='text/css' media='print'>";noPrint+=".dropShadow{visibility:hidden;}</style>";jq("head").append(noPrint)})})(jQuery);

