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