 		public var easing : Function;
 		
 		public var currentValue : CSSProperty;
-		public var currentRatio : Number;
+		public var currentRatio : Number = 0;
 		public var startTime : int;
 		
 		public var hasCompleted : Boolean;

					timeOffset += 5;
					ratio = easing(timeOffset, 0, 1, durationValue);
				}
				this.startTime -= timeOffset;
			}
			else
			{
				//let the transition start from the current value without adjusting time
				this.startValue = oldCurrent;
			}
		}
		
		public function setValueForTimeInContext(time : int, context : Object) : void
		{
			var durationValue : int = duration.valueOf() as int;
			var currentTime : int = time - startTime;
			if (durationValue <= currentTime)
			{
				hasCompleted = true;


package reprise.css.transitions
{
	import flash.utils.getTimer;
	
	import reprise.css.CSSProperty;
	
	public class CSSPropertyTransition
