                 var tmpScale:Vector3D;
                 var tmpPosition:Vector3D;
                 var tmpRotation:Vector3D;
+                
+	    	    var tmpOffsetTranslation:Vector3D;
+    	    	var tmpOffsetRotation:Vector3D;
+		        var tmpOffsetScale:Vector3D;
+		        
+		        var currentXFormPositionComputed:Boolean = false;
+
                 if (!isNaN(transitionValues.scaleX) ||
                     !isNaN(transitionValues.scaleY) || 
                     !isNaN(transitionValues.scaleZ))

        ["translationX", "translationY", "translationZ", 
         "rotationX", "rotationY", "rotationZ", 
         "scaleX", "scaleY", "scaleZ",
         "left", "right", "top", "bottom",
         "horizontalCenter", "verticalCenter"];
    

                position.z = transitionValues.translationZ;
                if (isNaN(position.x) || isNaN(position.y) || isNaN(position.z))
                {
                    target.transformPointToParent(xformCenter,
                        xformPosition, postLayoutPosition);
                    currentXFormPositionComputed = true;
                    if (isNaN(position.x))
                        position.x = xformPosition.x;
                    if (isNaN(position.y))
