(function($){$.fn.hoverFlow=function(type,prop,speed,easing,callback){if($.inArray(type,['mouseover','mouseenter','mouseout','mouseleave'])==-1){return this}var opt=typeof speed==='object'?speed:{complete:callback||!callback&&easing||$.isFunction(speed)&&speed,duration:speed,easing:callback&&easing||easing&&!$.isFunction(easing)&&easing};opt.queue=false;var origCallback=opt.complete;opt.complete=function(){$(this).dequeue();if($.isFunction(origCallback)){origCallback.call(this)}};return this.each(function(){var $this=$(this);if(type=='mouseover'||type=='mouseenter'){$this.data('jQuery.hoverFlow',true)}else{$this.removeData('jQuery.hoverFlow')}$this.queue(function(){var condition=(type=='mouseover'||type=='mouseenter')?$this.data('jQuery.hoverFlow')!==undefined:$this.data('jQuery.hoverFlow')===undefined;if(condition){$this.animate(prop,opt)}else{$this.queue([])}})})}})(jQuery);