I've put the code into my form as follows:
<fieldset>
<legend>Your Details</legend>
<div class="formrow">
<label for="title">Title<span class="req">*</span></label>
<select name="title" id="title" onchange="showother(this.id,'othertitlefields');">
<option value="">Please choose</option>
<option value="Mr">Mr</option>
<option value="Mrs">Mrs</option>
<option value="Miss">Miss</option>
<option value="Ms">Ms</option>
<option value="Other">Other</option>
</select>
</div>
<div class="formrow" id="othertitlefields" style="display:none;">
<label for="othertitle">Other Title<span class="req">*</span></label>
<input type="text" name="othertitle" value="<?php echo JRequest::getVar("othertitle",null,"POST","STRING",JREQUEST_NOTRIM); ?>" />
</div>
<div class="formrow half">
<label for="firstname">First Name<span class="req">*</span></label>
<input type="text" name="firstname"
value="<?php echo JRequest::getVar("firstname",null,"POST","STRING",JREQUEST_NOTRIM); ?>" />
</div>
<div class="formrow half">
<label for="surname">Surname<span class="req">*</span></label>
<input type="text" name="surname"
value="<?php echo JRequest::getVar("surname",null,"POST","STRING",JREQUEST_NOTRIM); ?>" />
</div>
<div class="formrow">
<label for="address1">Address<span class="req">*</span></label>
<input type="text" name="address1"
value="<?php echo JRequest::getVar("address1",null,"POST","STRING",JREQUEST_NOTRIM); ?>" />
</div>
<div class="formrow">
<label for="city">Town/City<span class="req">*</span></label>
<input type="text" name="city"
value="<?php echo JRequest::getVar("city",null,"POST","STRING",JREQUEST_NOTRIM); ?>" />
</div>
<div class="formrow">
<label for="county">County<span class="req">*</span></label>
<input type="text" name="county"
value="<?php echo JRequest::getVar("county",null,"POST","STRING",JREQUEST_NOTRIM); ?>" />
</div>
<div class="formrow half">
<label for="postcode">Postcode<span class="req">*</span></label>
<input type="text" name="postcode"
value="<?php echo JRequest::getVar("postcode",null,"POST","STRING",JREQUEST_NOTRIM); ?>" />
</div>
<div class="formrow">
<label for="tel">Telephone No.<span class="req">*</span></label>
<input type="text" name="tel"
value="<?php echo JRequest::getVar("tel",null,"POST","STRING",JREQUEST_NOTRIM); ?>" />
</div>
<div class="formrow">
<label for="email">Email<span class="req">*</span></label>
<input type="text" name="email"
value="<?php echo JRequest::getVar("email",null,"POST","STRING",JREQUEST_NOTRIM); ?>" />
</div>
<div class="formrow">
<label for="previousnumber">Previous Membership Number</label>
<input type="text" name="previousnumber"
value="<?php echo JRequest::getVar("previousnumber",null,"POST","STRING",JREQUEST_NOTRIM); ?>" />
</div>
</fieldset>
<hr />
<fieldset>
<legend>Your Gardening Needs</legend>
<p>Please help us to get a better understanding of
your gardening needs by answering the following:</p>
<p>How often do you shop at your Garden Centre?</p>
<div class="formrow radio">
<label for="weekly">Weekly</label>
<input type="radio" name="howoften" value="weekly" />
<label for="fortnightly">Fortnightly</label>
<input type="radio" name="howoften" value="fortnightly" />
<label for="monthly">Monthly</label>
<input type="radio" name="howoften" value="monthly" />
<label for="lessfrequently">Less Frequently</label>
<input type="radio" name="howoften" value="lessfrequently" />
</div>
<div class="formrow widelabel">
<label for="wheredoyoushop">Where do you most often shop
for gardening products?</label>
<select name="wheredoyoushop" id="wheredoyoushop"
onchange="showother(this.id,'othershopfields');">
<option value="">Please choose</option>
<option value="Wyevale">Wyevale</option>
<option value="DIYCentre">DIY Centre</option>
<option value="Other">Other</option>
</select>
</div>
<div class="formrow" id="othershopfields" style="display:none;">
<label for="othershop">Other</label>
<input type="text" name="othershop"
value="<?php echo JRequest::getVar("othershop",null,"POST","STRING",JREQUEST_NOTRIM); ?>" />
</div>
<div class="formrow widelabel">
<label for="addditionalserviceswanted">Which additional
products, services or facilities would you like to see here?</label>
<input id="additional" type="text" name="addditionalserviceswanted"
value="<?php echo JRequest::getVar("previousnumber",null,"POST","STRING",JREQUEST_NOTRIM); ?>" />
</div>
<div class="formrow widelabel small">
<input type="checkbox" name="joinmailinglist" value="Yes" id="terms" />
<label for="joinmailinglist">From time to time we would
like to provide you with details of special offers or events
from Wyevale or other carefully selected organisations.
Please tick the box if you do not wish to be added to our mailing list.</label>
</div>
</fieldset>
<hr />
<fieldset>
<div class="formrow">
<span>To help us increase security, please enter the security code below.</span>
</div>
<div class="formrow">
<label for="chrono_verification">Enter Code:</label>
{imageverification}
</div>
<div class="formrow submit">
<input name="submit" value="Proceed to Payment" type="image"
src="images/proceedtopayment.gif" class="submit" />
</div>
<input type="hidden" name="merchant" value="####" />
<input type="hidden" name="trans_id" value="<?php echo $return_id; ?>" />
<input type="hidden" name="amount" value="10.00" />
<input type="hidden" name="callback" value="http://localhost:81/wyevalecompetitions/" />
<input type="hidden" name="options" value="cb_post=false,dups=true,test_status=true" />
</fieldset>
The form redirects to secpay but looks like it doesn't have any form fields. Do I need to repopulate the POST array? If so, how?