﻿////////////////////////////////////////////////////////////////////////////////////////////////////
// (c)2009 Noesis Innovation Inc. All rights reserved.
////////////////////////////////////////////////////////////////////////////////////////////////////


////////////////////////////////////////////////////////////////////////////////////////////////////
// Translate
////////////////////////////////////////////////////////////////////////////////////////////////////
function Translate(iElement, iMove, iLength, iTrend)
{
    var This = this;
    
    // Implements
    Implements(This, Effect, iElement, iLength, null, iTrend);

    // Data members
    This.Begin = null;
    This.End   = null;

    // Methods
    This.Update = function(iProgress)
    {
        var x   = iProgress * This.End.x + (1-iProgress) * This.Begin.x;
        var y   = iProgress * This.End.y + (1-iProgress) * This.Begin.y;
        This.Element.Style.left = x + 'px';
        This.Element.Style.top  = y + 'px';
    }
    
    // Initialize
    {
        This.Begin   =  This.Element.GetPosition();
        This.End     =  {x:This.Begin.x + iMove.x,
                         y:This.Begin.y + iMove.y};   
    }
}

////////////////////////////////////////////////////////////////////////////////////////////////////
