jQuery.fn.doFade = function(settings) {

    // if no paramaters supplied...
	settings = jQuery.extend({
		fadeColor: "black",
		duration: 200,
		fadeOn: 0.95,
		fadeOff: 0.75
	}, settings);

    var duration = settings.duration;
    var fadeOff = settings.fadeOff;
    var fadeOn = settings.fadeOn;
    var fadeColor = settings.fadeColor;
        
    $(this).hover(function(){
	  $(this)
	      .stop()
	      .data("origColor", $(this).css("background-color"))
	      .animate({
	          opacity: fadeOn,
	          backgroundColor: fadeColor
	      }, duration)
	}, function() {
	  $(this)
	      .stop()
	      .animate({
	          opacity: fadeOff,
	          backgroundColor: $(this).data("origColor")
	      }, duration)
	});

};

$(function(){
   // $("ul#sm, #sm ul, #sm ul ul").css("opacity", "1");
   $("ul#sm").doFade({ fadeColor: "#eeeded" });
   $("ul#sm ul").doFade({ fadeColor: "#dddddd" });
   $("ul#sm ul ul").doFade({ fadeColor: "#cccccc" });
});