(function($){
	$.fn.ezdrop = function(conf){
		$(this).each(function(){
			if(typeof conf == "string")
			{
				if(conf == "remove")
				{
					$(this).unbind("mouseover");
					$(this).unbind("mouseout");
					if(this.conf && this.conf.target)
					{
						$(this.conf.target).unbind("mouseover");
						$(this.conf.target).unbind("mouseout");
						if($(this.conf.target).data("timer"))
						{
							clearTimeout($(this.conf.target).data("timer"));
							$(this.conf.target).data("timer");
							this.conf = "";
						}
					}
				}
			}
			else
			{
				var e = this;
				this.conf = conf;
				$(e).hover(function(){
					if($(e).data("timer"))
					{
						clearTimeout($(e).data("timer"));
						$(e).data("timer","");
					}
					var pos = $(e).position();
					var left = parseInt(pos.left,10) - 10;
					var top = parseInt(pos.top,10) + parseInt($(e).height(),10) + 3;
					$(conf.target).css({top:top,left:left,position:"absolute"}).fadeIn('normal',function(){
						$(this).css("opacity",1);
						});
					if(conf && conf.style)
					{
						$(conf.target).css(conf.style);
					}
					//$(e + "icon_wrap").animate({borderColor:'#000',backgroundColor:'#fff'});
					},function(){
					if(!$(e).data("timer"))
					{
						$(e).data("timer",setTimeout(function(){
							$(conf.target).fadeOut();
							$(e).data("timer","");
							//$(conf.target).animate({borderColor:'#8D8C88',backgroundColor:'#8D8C88'});
							},400));
					}
				});
				$(conf.target).hover(function(){
					if($(e).data("timer"))
					{
						clearTimeout($(e).data("timer"));
						$(e).data("timer","");
					}
					$(this).stop(true);
					//$("#" + $(this).attr('id') + "icon_wrap").stop(true);
					$(this).fadeIn('normal',function(){
						$(this).css("opacity",1);
						});
					},function(){
						if(!$(e).data("timer"))
						{
							$(e).data("timer",setTimeout(function(){
								$(conf.target).fadeOut().data("timer","");
								//$("#" + $(e).attr('id') + "icon_wrap").animate({borderColor:'#8D8C88',backgroundColor:'#8D8C88'});
								},400));
							
						}
				});
			}
		});
		return this;
	}
})(jQuery);
