Cubic Bezier Timing Function
Author: dev.netzgesta.de - Christian Effenberger
Description: A Cubic Bezier timing function compatible with -webkit-transition-timing-function
Keywords: cubic-bezier, easing, compatible, timing, function, unobtrusive javascript, Mozilla, Safari, Chrome, Gecko, Webkit

Cubic Bezier timing function compatible with `-webkit-transition-timing-function`
In addition to the -webkit-transition-timing-function cubic-bezier(), support for a 100% compatible easing defined by a cubic bezier function as a public domain javascript would be welcome.
1.0 cp2x
cp2y
1.0
0.0
cp1y
cp1x 0.0
0.25, 0.1, 0.25, 1.0

The timing function is specified using a cubic Bezier curve, which is defined by four control points. The first and last control points are always set to (0,0) and (1,1), so you just need to specify the two in-between control points. The points are specified as a percentage of the overall duration (percentage: interpolated as a real number between 0 and 1). The timing function takes as its input the current elapsed percentage of the transition duration and outputs a percentage that determines how close the transition is to its goal state.