Creator: actions on user input :actions on update

Creator: actions on user input :actions on update

 
I would like to script a
      copy of a record when it is opened on the form.
      Copy of a record when the form is saved
 
Then I would like to compare the two records
If no changes create a new record in table that records userid date time filenumber(keyfield) no change 
If changes are made  a new record in table that records userid date time filenumber(keyfield) the beginning and ending vaules and the field name
(a change or audit log feature would make this a lot easier)
 
Has anyone done anything like this?
 
Thank you,