

	function dropShadow(shadow,shade,offset,type){

		var color = [getStyle(shadow,"background-color"),getStyle(shadow,"color"),shade];
		var container = (type=="box") ? document.createElement("div") : document.createElement("span");
		var els = [container,shadow];
		var content = shadow.childNodes;

		switch(type){
			case "box":
				container.appendChild(shadow.cloneNode(true));
				for(x=0;content.length>x;x++){
					shadow.removeChild(shadow.childNodes[x]);
				}	
				for(x=0;els.length>x;x++){
					els[x].style.color = color[1];
					els[x].style.position = "relative";
					if(x==0){
						els[x].style.width = getStyle(shadow,"width");
						els[x].style.backgroundColor = color[0];
					} else {	
						els[x].style.margin = offset[0]+"px "+offset[1]+"px";
						els[x].style.backgroundColor = color[2];
					}
				}
				break;
			case "text":	
				for(x=0;content.length>x;x++){
					deep = (content[x].childNodes) ? true : false;
					container.appendChild(content[x].cloneNode(deep));
				}				
				for(x=0;els.length>x;x++){
					els[x].style.position = (x==0) ? "absolute" : "relative";
					els[x].style.color = color[x+1];						
				}
				break;
		}

		for(x=0;els.length>x;x++){
			els[x].style.top = (x==0) ? (offset[0]*-1)+"px" : offset[0]+"px";
			els[x].style.left = (x==0) ? (offset[1]*-1)+"px" : offset[1]+"px";
		}
		shadow.appendChild(container);


		function getStyle(obj,style){
			if(obj.currentStyle){
				return obj.currentStyle[style];
			} else if(window.getComputedStyle) {
				return document.defaultView.getComputedStyle(obj,null).getPropertyValue(style);
			}	
		}

	}