// JavaScript Document
jQuery.fn.suckerfish = function() {
 return this.each(function() {
  jQuery(this).hoverClass('sfhover').hoverFade().find('ul').fadeOut();
 });
} 
jQuery.fn.hoverClass = function(c) {
 return this.each(function(){
  jQuery(this).hover( 
   function(){ clearTimeout(jQuery(this).attr('outTimeout')); jQuery(this).addClass(c); },
   function(){ var self = this; jQuery(this).attr('outTimeout', setTimeout(function(){ jQuery(self).removeClass(c); }, 500)); }
  );
 });
}
jQuery.fn.hoverFade = function() {
 return this.each(function(){
  $(this).hover( 
   function(){ clearTimeout(jQuery(this).attr('slideTimeout')); jQuery('ul:hidden', this).fadeIn('slow'); },
   function(){ var self = this; jQuery(this).attr('slideTimeout', setTimeout(function(){ jQuery('ul:visible', self).fadeOut('fast'); }, 250)); }
  );
 });
}