Someone else can probably help with the VF page, but to meet your minimum requirement we can avoid javascript all together and just use a custom button like below:

`/{!Opportunity.Id}/e?clone=1&retURL=%2F{!Opportunity.Id} ` and add `&customField.Id=Value` for each field you want pre-populated.

[![enter image description here][1]][1]


  [1]: https://i.sstatic.net/RnxX5.png