If you just want to save the old value, just an Update trigger is required:
CREATE TRIGGER trg_iu_TableName ON TableName
 INSTEAD OF UPDATE
 AS
 BEGIN
    SET NOCOUNT ON
    Update t
    set t.Foocolumn1 = i.Foocolumn1
    set t.Foocolumn2 = t.Foocolumn1
    from TableName t
    inner join inserted i
    on t.idfoo=i.idfoo
 END
..or if you want to set Foocolumn2 to the same as Foocolumn1 on Insert:
CREATE TRIGGER trg_iu_TableName ON TableName
 INSTEAD OF UPDATE, INSERT
 AS
 BEGIN
    SET NOCOUNT ON
    if (select count(*) from deleted) = 0
        Insert into Tablename (Foocolumn1, Foocolumn2)
            select Foocolumn1, Foocolumn1 from inserted 
    else
        Update t
        set t.Foocolumn1 = i.Foocolumn1
        set t.Foocolumn2 = t.Foocolumn1
        from TableName t
        inner join inserted i
        on t.idfoo=i.idfoo
 END