jQuery.fn.vibrate = function(){

	this.each(function( intI )
	{
		var jNode = $( this );
		var blnVibrate = false;
		var intLeft = parseInt( jNode.css( "width" ) ); 
		var durration = 100;
		var easing = "easeOutCubic";
		
		var fnUpdatePosition = function()
		{
			var intCurrentLeft = parseInt( jNode.css( "width" ) );

			if (blnVibrate)
			{

				if (intCurrentLeft > intLeft)
				{
					intCurrentLeft = (intLeft - 1);
				}
				else
				{
					intCurrentLeft = (intLeft + 1);
				}

				jNode.animate(
				{
				"width": (intCurrentLeft + "px")}, durration, easing, function()
				{
					fnUpdatePosition();
				}
			);

			}
			else
			{
					intCurrentLeft = intLeft;

				jNode.animate(
				{
					"width": (intCurrentLeft + "px")}, durration, easing
				);
			}
		}

			jNode.mouseover( function()
			{
			blnVibrate = true;
			fnUpdatePosition();
		});

		jNode.mouseout( function()
		{
			blnVibrate = false;
		});

	});

	return this;
}

