jQuery.fn.dropdown = function(options){
  var options = jQuery.extend({
	duration:300, 
	hoverElement:'li',
	dropHolder:'ul',
	hoverClass:'hover'
  },options);

  return this.each(function() {
	var hovElement = jQuery(options.hoverElement+":has("+options.dropHolder+")",this);
	hovElement.each(function(i,element){
		element = jQuery(element);							 
		var dropElement = jQuery(options.dropHolder,element);
		dropElement.css('opacity',0);
		element.hoverEl=false;
		element.hover(function(){
				if(this.timer)clearTimeout(this.timer);
				element.hoverEl=true;
				jQuery(this).addClass(options.hoverClass);
				dropElement.slideDown();
				//dropElement.show();
				dropElement.animate({opacity:1},{queue:false,duration:options.duration});
			},
			function(){
				this.timer=setTimeout(function(){
					element.hoverEl=false;
					//dropElement.slideUp("fast",function(){
					//	if(!element.hoverEl) jQuery(element).removeClass(options.hoverClass);
					//} );
					dropElement.animate({opacity:0},{queue:false,duration:options.duration,complete:function(){
						dropElement.hide();
						if(!element.hoverEl) jQuery(element).removeClass(options.hoverClass);
					}
				},100)
				});
			});
			
	});
  });


}