Effect.Transitions.Elastic = function(pos) {return -1*Math.pow(4,-8*pos) * Math.sin((pos*6-1)*(2*Math.PI)/2) + 1;};Effect.Transitions.SwingFromTo = function(pos) {var s = 1.70158;if ((pos/=0.5) < 1) return 0.5*(pos*pos*(((s*=(1.525))+1)*pos - s));return 0.5*((pos-=2)*pos*(((s*=(1.525))+1)*pos + s) + 2);};Effect.Transitions.SwingFrom = function(pos) {var s = 1.70158;return pos*pos*((s+1)*pos - s);};Effect.Transitions.SwingTo = function(pos) {var s = 1.70158;return (pos-=1)*pos*((s+1)*pos + s) + 1;};Effect.Transitions.Bounce = function(pos) {if (pos < (1/2.75)) {return (7.5625*pos*pos);} else if (pos < (2/2.75)) {return (7.5625*(pos-=(1.5/2.75))*pos + .75);} else if (pos < (2.5/2.75)) {return (7.5625*(pos-=(2.25/2.75))*pos + .9375);} else {return (7.5625*(pos-=(2.625/2.75))*pos + .984375);}};Effect.Transitions.BouncePast = function(pos) {if (pos < (1/2.75)) {return (7.5625*pos*pos);} else if (pos < (2/2.75)) {return 2 - (7.5625*(pos-=(1.5/2.75))*pos + .75);} else if (pos < (2.5/2.75)) {return 2 - (7.5625*(pos-=(2.25/2.75))*pos + .9375);} else {return 2 - (7.5625*(pos-=(2.625/2.75))*pos + .984375);}};Effect.Transitions.EaseFromTo = function(pos) {if ((pos/=0.5) < 1) return 0.5*Math.pow(pos,4);return -0.5 * ((pos-=2)*Math.pow(pos,3) - 2);    };Effect.Transitions.EaseFrom = function(pos) {return Math.pow(pos,4);};Effect.Transitions.EaseTo = function(pos) {return Math.pow(pos,0.25);};Effect.Transitions.exponential = function(pos) {return 1-Math.pow(1-pos,2);}