(function($){
	$.fn.jwonder = function(options) {
		options = $.extend({ 
			color: "#000000",
			shadow: "#000000",
			aChannel: "0.8"
		}, options);   
		return this.each(function () {
			var self = $(this);
			self.title = self.attr("title");
			self.image = self.children("img:eq(0)");
			self.way = self.image.attr("src");
			self.link = function () {
				var link = self.attr("href");
				if (link.substring(0,8) == "https://") {
					return link.substring(8);
				} else if (link.substring(0,7) == "http://") {
					
					return link.substring(7);
				} else if (link.substring(0,1) == "/") {
					return location.href.split("/")[2]+link;
				} else {
					return location.href+link;
				}
			};
			self.width = function () {
				self.image.css({
					"width":"auto",
					"height":"auto",
					"max-width":"100%",
					"max-height":"100%",
					"min-width":"0",
					"min-height":"0"
				});
				return self.image.width()+12;
			};
			self.bg = function (elem) {
				var background = "background-color: "+elem+";";
				    background += " background-color: rgba("+self.convertRGB(elem)+", "+options.aChannel+");";
				    background += "$background-color: "+elem+";";
				return background;
			};
			self.shadow = function (elem) {
				var shadow = "-webkit-box-shadow: 0 0 8px "+options.shadow+";";
				    shadow += "-moz-box-shadow: 0 0 8px "+options.shadow+";";
				    shadow += "box-shadow: 0 0 8px "+options.shadow+";";
					shadow += "filter: progid:DXImageTransform.Microsoft.Shadow(color='"+options.shadow+"', Direction=0, Strength=6), progid:DXImageTransform.Microsoft.Shadow(color='"+options.shadow+"', Direction=180, Strength=6), progid:DXImageTransform.Microsoft.Shadow(color='"+options.shadow+"', Direction=90, Strength=6), progid:DXImageTransform.Microsoft.Shadow(color='"+options.shadow+"', Direction=-90, Strength=6);";
				return shadow;
			};
			self.convertRGB = function (elem) {
				if (elem.charAt(0)=="#") 
					return self.convertRGB(elem.substring(1,7));
			
				colorRGB = parseInt(elem.substring(0,2),16)+", ";
				colorRGB += parseInt(elem.substring(2,4),16)+", ";
				colorRGB += parseInt(elem.substring(4,6),16);
				return colorRGB;
			}
			browser = '<div class="browser" style="max-width:'+self.width()+'px;'+self.bg(options.color)+self.shadow()+'"><div class="top"><div class="l"></div><div class="r"></div><div class="inner-bg"></div><span class="site">'+self.title+'</span><a class="adr" href="http://'+self.link()+'"><span>http://</span>'+self.link()+'</a></div><div class="inner"><div class="lb"><div><div></div></div></div><div class="rb"><div><div></div></div></div><a href="http://'+self.link()+'"><img title="'+self.title+'" alt="'+self.title+'" src="'+self.way+'" /></a></div><div class="bottom"><div class="l"></div><div class="r"></div><div class="inner-bg"></div></div></div>';
			self.after(browser).remove();
		});
	};
})(jQuery);

