$.fn.nudge=function(params){params=$.extend({amount:20,duration:300,property:'padding',direction:'left',toCallback:function(){},fromCallback:function(){}},params);this.each(function(){var $t=$(this);var $p=params;var dir=$p.direction;var prop=$p.property+dir.substring(0,1).toUpperCase()+dir.substring(1,dir.length);var initialValue=$t.css(prop);var go={};go[prop]=parseInt($p.amount)+parseInt(initialValue);var bk={};bk[prop]=initialValue;$t.hover(function(){$t.stop().animate(go,$p.duration,'',$p.toCallback)},function(){$t.stop().animate(bk,$p.duration,'',$p.fromCallback)})});return this};