/*
 * jQuery textShadow plugin
 * Version 1.1 (26/02/2010)
 * @requires jQuery v1.2+
 *
 * Copyright (c) 2008 - 2010 Kilian Valkhof (kilianvalkhof.com)
 * Dual licensed under the MIT and GPL licenses:
 * http://www.opensource.org/licenses/mit-license.php
 * http://www.gnu.org/licenses/gpl.html
 *
 */
(function($){
	$.fn.textShadow = function(useroptions) {
		return this.each(function() {
			var obj = $(this);
			obj.removeTextShadow();
			var shadowarray = obj.css("text-shadow").split(" ");
			var sradi = parseInt(shadowarray[3], 10);
			var text = "<span class='jQshad'>" + obj.html() + "</span>";

			var padding = {
				left:parseInt(obj.css("padding-left"), 10),
				top:parseInt(obj.css("padding-top"), 10)
			};

			var defaults = {
				color: shadowarray[0],
				radius: sradi,
				xoffset: parseInt(shadowarray[1], 10)-1+(padding.left-sradi) + "px",
				yoffset: parseInt(shadowarray[2], 10)-1+(padding.top-sradi) + "px",
				opacity: 50
			};
			var options = $.extend(defaults, useroptions);
			options.color = (options.color.length == 4) ? options.color.replace(/#([0-9A-f])([0-9A-f])([0-9A-f])/i, '#$1$1$2$2$3$3') : options.color;
            var filtertext = "progid:DXImageTransform.Microsoft.Glow(Color="+options.color+",Strength="+(options.radius/6)+") progid:DXImageTransform.Microsoft.Blur(pixelradius="+options.radius+", enabled='true') progid:DXImageTransform.Microsoft.Alpha(opacity="+options.opacity+")";

			if($.browser.msie && options != "") {
				obj.css({"position":"relative","zoom":"1"}).append(text);
				obj.children("span.jQshad").css({
					"position":"absolute",
					"z-index":"-1",
					"zoom":"1",
					"left":options.xoffset,
					"top":options.yoffset,
					"color":options.color,
					"filter":filtertext,
					"-ms-filter":filtertext
				});
			}
		});
	};

	$.fn.removeTextShadow = function() {
		return this.each(function() {
			$(this).children("span.jQshad").remove();
		});
	};
});


